1

I would like to understand how certificate-based signature works, I understand the standard asymmetric key signature where one party signs using their private key, and anyone else can validate this is authentic by checking against the public key.

How can we use a CA trust-chain instead of keeping everyone's else public key saved for verification?

Eg: One CA to validate all signed messages of an organization.

2 Answers 2

4

Eg: One CA to validate all signed messages of an organization.

This is not how it works. CA's do not validate signatures on messages. Instead:

  1. The sender composes a message and signs the message using his/her private key, and sends the signed message to the recipient

  2. The recipient fetches the sender's certificate

  3. The recipient verifies that the certificate is signed by a CA that he/she trusts

  4. The recipient extracts the sender's public key from the certificate

  5. The recipient verifies the sender's signature on the message, using the sender's public key

In more detail:

Consider a case where Alice wants to send Bob a message. However, Malory is positioned between Alice and Bob (a MITM), and has been known to tamper with messages. So, Alice wants Bob to be able to verify that it was really she that sent the message, and that the message was not tampered with while in transit, so Alice signs the message using her private key.

Bob can then verify the signature on message using Alice's public key. But, Alice and Bob have never met before, so Bob has no way getting Alice's true and correct public key. If Alice sends her public key to Bob through the network, Malory can simply tamper with the public key the same way that she can tamper with messages. If Malory replaces Alice's public key with her own, unbeknownst to Bob, and dupes Bob into believing that this bogus public key belongs to Alice - then Malory can create fake messages purporting to be from Alice, and sign them with the private key corresponding with the bogus public key. When Bob verifies the signatures using the bogus public key, he will believe that these messages are signed by Alice.

This is why we have certificate authorities. Alice can create an S/MIME certificate containing her public key, then send the certificate to a certificate authority (CA) for them to sign. The CA requires Alice to verify that she is really who she says she is, and that the public key in the certificate is really hers, and that she is in possession of the corresponding private key - and only then does the CA sign the certificate. When Bob receives Alice's certificate, he can then verify the CA's signature on the certificate, and be confident that the certificate actually contains Alice's (and not Malory's) true and correct public key. Then, he can trust that this public key is Alice's true and correct public key, and use this public key to verify messages signed by Alice.

2
  • Thanks for the detailed explanation, does it means that for every signed message, Alice certificate plus her signature has to be included in the message ?
    – felartu
    May 21 at 17:13
  • You're welcome. For every signed message, the signature must be sent with the message. As for the certificate - the sender can send the certificate along with the message as well, or the recipient can store the certificate for later use when needed.
    – mti2935
    May 21 at 17:31
1

How can we use a CA trust-chain instead of keeping everyone's else public key saved for verification?

This would weaken the value of signature.

First, may be this is the reason of the question: The receivers don't need "public key saved for verification". When a document or an email is signed, a certificate is usually automatically attached. So that the receiver obtains the certificate (which contains public key of the signer) automatically. The receiver needs just certificates of the CA who issued this certificate, and further CA certificates up to the root (in the most cases certificates have 2 CAs in the certificate chain).

Technically it is of course possible, to issue a certificate for the whole organization and the organization can allow all employees to use it. But this would make the signature almost useless. The receiver will not know if the CEO has signed particular document, or some manager, or some student doing internship. Also within the organization it will be impossible to determine, who exactly has signed particular document.

When an employee quits, it would be hard to make sure that this employee does not use the company certificate for signatures any more. The organization would need to revoke a certificate and issue a new one. In big companies this would happen every few days.

The signature has value namely then, when it means, that only a particular person could create it and nobody else.

9
  • You didn't understand the question. The OP isn't suggesting that everybody in the organization should use the same key pair. What they're asking is how a PKI works and why you can trust CA-issued certificates instead of having to manually manage the public keys of all members in the organization. mti2935 already explained this. Your answer seems to be largely off-topic.
    – Ja1024
    May 21 at 23:35
  • @Ja1024: I'd recommend you to read the question first. The author says: "I understand the standard asymmetric key signature". May be you don't understand what it means? You seem to be deeply unhappy about my comments about one of your answers. 😉
    – mentallurg
    May 22 at 0:38
  • I'm here to help people asking questions. Maybe you should focus on that, too. The OP understands the basics on signatures, but they do not understand PKIs. Those are two different things. If you know roughly how propulsion works, that doesn't make you a jet pilot. mti2935 already gave a proper answer, your remarks are off-topic or even misleading. None of what the OP says "would weaken the value of the signature". You're just not understanding the question.
    – Ja1024
    May 22 at 1:14
  • @Ja1024: But as we know you could not help sometimes. 😉 Word "Misleading" shows that your comment is very emotional. Please stick to the facts. Either name them, or don't use such wording if you cannot confirm it. And the author found the answer helpful and voted it up. 😉
    – mentallurg
    May 22 at 4:26
  • I just explained the facts. I'm not sure if there's a language barrier, but it's rather difficult to get across to you. I'm simply pointing out that your statement “This would weaken the value of signature.” is false, because what the OP talks about is a PKI with one CA which issues certificates for members of an organization. You somehow read that as “All members share the same key pair”. Nobody said that. You're arguing against a suggestion that wasn't even made.
    – Ja1024
    May 22 at 4:49

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .