21.03.2013 Views

Problem - Kevin Tafuro

Problem - Kevin Tafuro

Problem - Kevin Tafuro

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Private CAs<br />

Usually, private CAs are internal to a corporation or other organization, and they<br />

issue certificates internally. It is expected that people outside the organization<br />

won’t be using the CA and therefore won’t trust the certificates it issues.<br />

Public CAs commonly issue certificates for public web sites requiring encryption and<br />

authentication, often for e-commerce. For such operations, it is important that the<br />

customer transmits her information to the site that is supposed to be receiving it,<br />

without worrying that someone else is obtaining the information. This is why server<br />

certificates generally store the domain name of the server: if you think you’re buying<br />

a book from Amazon.com, it’s important to see a certificate presented that includes<br />

Amazon’s domain name. If you check only the CA’s signature and don’t check that<br />

the domain name is correct, you have no way to tell that you are using the right public<br />

key. Instead, you could have checked the signature on a valid certificate issued to<br />

Fred from Fred’s Mattress Warehouse.<br />

For a private CA, verifying the identity of a subject is often simple because the identity<br />

of employees can generally be established quite easily. The human resources<br />

department at a company generally has proof of identity and right to work for each<br />

of its employees.<br />

In such a scenario, the human resources department is said to be acting as a registration<br />

authority (RA), which is the organization that actually does background validation.<br />

Sometimes, this is the same organization as the CA, and sometimes the CA will<br />

farm out the work to other people. For example, VeriSign uses a set of companies as<br />

RAs.<br />

For a public CA (or its designated RA), verifying the identity of a subject is considerably<br />

more difficult than it is for a private CA. The information required from the subject<br />

to prove its identity to the CA depends on the type of certificate being issued,<br />

and on whether the subject is an individual or a business. For example, if you get an<br />

email digital certificate, a CA may only care that you can respond to email at the<br />

given address. On the other hand, for a server-side certificate, individuals should<br />

need to provide proof of identity, and businesses should need to provide various<br />

pieces of corporate paperwork.<br />

Because most CAs are out to make money first and serve the public second, checks<br />

on identities are often not as thorough as they could be. In addition, CAs do not<br />

assume any liability for when they are wrong; in other words, they provide no concrete<br />

guarantees.<br />

Running a private CA is quite appealing for applications that expect to see limited<br />

deployment that is explicitly controlled by the software vendor. OpenSSLcan be<br />

used to run a CA, but doing so is outside the scope of this book (it’s really a system<br />

administration task, not a programming task). Note, however, that the topic of running<br />

a small CA is covered in the book Network Security with OpenSSL (O’Reilly &<br />

Associates).<br />

506 | Chapter 10: Public Key Infrastructure<br />

This is the Title of the Book, eMatter Edition<br />

Copyright © 2007 O’Reilly & Associates, Inc. All rights reserved.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!