2

I recently had a conversation with a teacher who argued that in a digital certificate (x509), the public key is used to verify the name of the certificate holder.

From my understanding, there are actually 2 public keys at work in this scheme:

1) There's the public key contained in the certificate, which belongs to the certificate owner, and can be used by others to encrypt things that only the certificate owner can decrypt, or be used to check the signature of things encrypted by the owner (i.e the usual public-private key verification).

2) The public key of the trusted certificate authority which signed that certificate, which is not contained in the certificate itself but can be obtained through other means (i.e local certificate stores) to verify if that certificate is indeed OK (by checking the signature of the certificate).

The first key can in no way be used to verify the name of the certificate holder, because it would be equal to me claiming I am named Bob and having no proof to it.

The second key may be used indirectly to verify the name of the holder, but by verifying the integrity and authenticity of the certificate as a whole (i.e someone else objectively testifying that my name is Bob). But this key is not part of the certificate itself. Through logical assumptions, the only public key in the certificate, which is the first key, cannot be used to verify names.

Am I correct in my assumptions in that there is no way of using the public key in the certificate to verify the name of the holder? Or is the teacher right and I am missing some crucial detail?

1

You are mostly correct.

The public key of a certificate is not used to proof any information in the certificate itself. The public key of the issuer CA instead can be used to verify the certificate signature which encompasses both the certificates public key, subject, expiration, usage, extensions etc.

But even with the issuers key the name of the certificate holder cannot be verified. It can only be verified that the issuer CA has signed the certificate. Only if one believes that the issuer has properly verified that the name in the certificate actually belongs to the entity who submitted the certificate request one can assume that this is the name of the certificate holder. In other words: issuer key is not enough, but issuer key combined with trust in issuer is needed.

1

the public key is used to verify the name of the certificate holder

Your teacher is not absolutely wrong. I would say not is used, but can be used.

The whole idea of certificates is to establish trusted connection between a public key and some identity like host name, organization name or a person name. Correspondingly there are different types of certificates. When a certificate is intended to validate company name and address, the CA does really validate these data. A certificate can also validate person firs and last name. In such cases CA also does validate it.

If your teacher means a certificate that validates person name, then he/she has right. If the certificate owner has signed a PDF or an Email using such certificate (actually using the private key), then anyone can use the public key from the certificate and check if it fits the signature. If it fits, then this confirms that the signer is the person named in the certificate.

Thus, your teacher is not quite wrong saying that public key can identify person.

But we should keep in mind, that there can many persons with the same first and last name. The certificate does not distinguish them. The same "name clash" may happen, if two companies with the same name are registered in the different states.

Besides, it depends on how much you trust the particular CA. Some persons or companies may present CA invalid or faked documents and it depends on the CA how thoroughly the verify that: some may use multiple ways of verification, the others may trust what they see per video chat.

Again to your question: Your teacher is not quite wrong.

  • 1
    A digital signature validates the signer’s identity, not their name. An identity is not a name; the signer may be consistently using a pseudonym and have established this identity under that name. – Mike Scott Jun 8 '20 at 17:33
  • @MikeScott: Explain where you see the difference. What is in your opinion the identity of organization, identity of a person? – mentallurg Jun 8 '20 at 17:40
  • 1
    For example, Stephen King wrote some books as Richard Bachman. He had a different name but the same identity, since he was in fact the same person. – Mike Scott Jun 8 '20 at 18:52
  • @MikeScott: From your point of view, what first and last name would contain a certificate issued to Stephen King? – mentallurg Jun 8 '20 at 20:36
  • 1
    From my point of view, Stephen King would have two certificates, one in the name of Stephen King and one in the name of Richard Bachman. Both certificates would be for the same identity, but would have different names. – Mike Scott Jun 9 '20 at 4:56

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.