Digital certificates, similar to identification cards, are electronic credentials that are used to certify the online identities of individuals, organizations, and computers. Certificates are issued and certified by CAs. PKIX-compliant public key infrastructures support industry standard X.509 version 3 certificates.
Functions Like a Traditional Identification Card
Digital certificates function similarly to identification cards such as passports and drivers' licenses. Identification cards are issued by recognized government authorities. When someone requests an identification card, a government authority verifies the identity of the requester, certifies that the requester meets all requirements to receive the card, and then issues the card. When an identification card such as a driver's license is presented to others, they can verify the identify of its owner because the card provides the following security benefits:
It contains personal information to help identify and trace the owner.
It contains the photograph and the signature of the rightful owner to enable positive identification.
It contains the information that is required to identify and contact the issuing authority.
It is designed to be tamper resistant and difficult to counterfeit.
It is issued by an authority that can revoke the identification card at any time (for example, if the card is misused or stolen).
It can be checked for revocation by contacting the issuing authority.
Issued by Certification Authorities
Like a driver's license, digital certificates are issued by CAs to provide proof for verifying the identity of online entities. However, instead of containing a photograph and the signature of the certificate's owner, a certificate binds the owner's public key to the owner's private key.
A certificate contains information that identifies the certificate's owner (called the subject) as an entity on the network. A certificate also contains the owner's public key. Furthermore, a certificate identifies the CA (called the issuer) that issued the certificate. A CA uses its private key to digitally sign each certificate it issues. To create the digital signature, the CA generates a message digest from the certificate, encrypts the digest with its private key, and includes the digital signature as part of the certificate. Anyone can use the message digest function and the CA's public key to verify the certificate's integrity. If a certificate becomes corrupted or someone tampers with it, the message digest for the altered certificate does not match the digest in the CA's digital signature. Figure 14.8 shows how a certificate is signed by the issuing CA.
Figure 14.8 Digital Signature for a Certificate
A certificate is public information that is available to anyone. Certificates are commonly distributed by means of directories, public folders, e-mail, and Web pages. Because the certificate owner's public key is contained in a certificate, distributing a certificate also distributes the public key. Others can choose to trust a certificate owner's private key based on the reputation of the CA that issued the certificate and based on confidence in the certificate issuing practices of the CA.
Contents of X.509 Version 3 Certificates
PKIX-compliant public key infrastructures, including the public key infrastructure in Windows 2000, support X.509 version 3 certificates. Figure 14.9 shows the contents of X.509 version 3 certificates.
Figure 14.9 X.509 Version 3 Certificate
The contents of X.509 version 3 certificates are described in Table 14.1.
Table 14.1 Description of X.509 Version 3 Certificate Contents
Version of the certificate format; for example, version 3.
Certificate Serial Number
The unique serial number that is assigned by the issuing CA. The CA maintains an audit history for each certificate so that certificates can be traced by their serial numbers. Revoked certificates also can be traced by their serial numbers.
Certificate Algorithm Identifier
The public key cryptography and message digest algorithms that are used by the issuing CA to digitally sign the certificate.
The name of the issuing CA. The name can be listed in one or more of the following formats: X.500 directory name, Internet e-mail address, fully qualified domain name (FQDN), X.400 e-mail address, and URL.
The certificate's start and expiration dates. These define the interval during which the certificate is valid, although the certificate can be revoked before the designated expiration date.
The name of the subject (owner) of the certificate. The name can be listed in one or more of the following formats: X.500 directory name, Internet e-mail address, fully qualified domain name (FQDN), X.400 e-mail address, and URL.
Subject Public-Key Information
The public key and a list of the public key cryptography algorithms. The algorithms are for the tasks for which the public key set can be used, such as digital signing, secret key encryption, and authentication.
Issuer Unique Identifier
Optional information for uniquely identifying the issuer, when necessary.
Subject Unique Identifier
Optional information for uniquely identifying the subject, when necessary.
Additional information that can be specified for optional use by public key infrastructures. Common extensions include a list of specific uses for certificates (for example, S/MIME secure mail or IPSec authentication), CA trust relationship and hierarchy information, a list of publication points for revocation lists, and a list of additional attributes for the issuer and subject.
Certification Authority's Digital Signature
The CA's digital signature, which is created as the last step in generating the certificate.
Uses of the Public Key and Private Key Set
X.509 version 3 certificates contain information in the Subject Public-Key Information field that specifies the cryptography operations for which the public key and private key set can be used. Public key security systems commonly support the following basic cryptography operations:
Digital signing of electronic data to verify data origin and the integrity of data.
Authentication of entities that are communicating over networks.
Secret key encryption to protect symmetric secret encryption transmitted and shared over networks.
The public key and private key set can be used to provide a variety of specific security functions for information security technologies. These specific functions of certificates are listed in the Extensions field. Common specific security functions for public key technology include the following:
Secure mail to provide authentication, confidentiality, integrity, and nonrepudiation for e-mail communications.
Secure Web communications to provide authentication, integrity, and confidentiality between Web clients and servers.
Code signing to provide integrity and nonrepudiation for executable code to be distributed on the Internet or intranets.
Local network logon or remote access logon to authenticate users of network resources.
IPSec authentication to authenticate clients that do not use Kerberos authentication or shared secret passwords for IPSec communications.