Certificates generally associate a public key with a name, but few people talk about how useful that association is. Imagine that you receive the certificate of John Robinson. You may know only one John Robinson personally, but how many does the CA know? How do you find out if the particular John Robinson certificate you received is your friend's certificate? You could have received his public key in person or verified it in person (PGP allows this), but more likely you received a certificate in e-mail and are simply trusting that it is the correct John Robinson. The certificate's Common Name will probably be extended with some other information, in order to make it
unique among names issued by that one CA.
Do you know that other information about your friend? Do you know what CA his certificate should come from?
When Diffie and Hellman introduced public-key cryptography, they proposed a modified telephone directory in which you could find public
keys. Instead of name, address, and phone number, it would have name, address, and public key. If you wanted to find John Robinson's public key you would look him up in the directory, get his public key and send him a message for his eyes only using that public key. This might have worked with the Stanford Computer Science Department phone directory in 1976, but how many John Robinsons are in the New York
City phone book, much less in a hypothetical phone book for the global Internet?
We grow up in small families where names work as identifiers. By the time we're 5 years old, we know that lesson. Names work. That is false in the bigger world, but things we learn as toddlers we never forget. In this case, we need to think carefully about names and not blindly accept their value by the 5-year-old's lessons locked into our memories.