2010-12-27

Public key infrastructure

In cryptography, a public key infrastructure (PKI) is an arrangement that binds public keys with respective user identities by means of a certificate authority (CA). The user identity must be unique for each CA. The binding is established through the registration and issuance process, which, depending on the level of assurance the binding has, may be carried out by software at a CA, or under human supervision. The PKI role that assures this binding is called the Registration Authority (RA) . For each user, the user identity, the public key, their binding, validity conditions and other attributes are made unforgeable in public key certificates issued by the CA.

The term trusted third party (TTP) may also be used for certificate authority (CA). The term PKI is sometimes erroneously used to denote public key algorithms which, however, do not require the use of a CA.

Purpose and functions

PKI arrangements enable computer users without prior contact to be authenticated to each other, and to use the public key information in their public key certificates to encrypt messages to each other. In general, a PKI consists of client software, server software, hardware (e.g., smart cards), legal contracts and assurances, and operational procedures. A signer's public key certificate may also be used by a third-party to verify the digital signature of a message, which was made using the signer's private key. In general, a PKI enables the parties in a dialogue to establish confidentiality, message integrity and user authentication without having to exchange any secret information in advance, or even any prior contact. The validity of a PKI between the communicating parties is, however, limited by practical problems such as uncertain certificate revocation, CA conditions for certificate issuance and reliance, variability of regulations and evidentiary laws by jurisdiction, and trust. These problems, which are significant for the initial contact, tend to be less important as the communication progresses in time (including the use of other communication channels) and the parties have opportunities to develop trust on their identities and keys

Typical use

Most enterprise-scale PKI systems rely on certificate chains to establish a party's identity, as a certificate may have been issued by a certificate authority computer whose 'legitimacy' is established for such purposes by a certificate issued by a higher-level certificate authority, and so on. This produces a certificate hierarchy composed of, at a minimum, several computers, often more than one organization, and often assorted interoperating software packages from several sources. Standards are critical to PKI operation, and public standards are critical to PKIs intended for extensive operation. Much of the standardization in this area is done by the IETF PKIX working group.
Enterprise PKI systems are often closely tied to an enterprise's directory scheme, in which each employee's public key is often stored (embedded in a certificate), together with other personal details (phone number, email address, location, department, ...). 

PKI software

When deploying a PKI, the most important part is an appropriate CA software. There are several solutions on the market:
*  Microsoft: Windows 2000 Server and Server 2003 both contain CA software, which is integrated into the Active Directory and doesn't require additional license fees. This is currently the most popular solution on the market.
*  OpenTrust: Offers a product called OpenTrust-PKI.
*  CoSign - A built-in CA, leveraging existing user directory management systems (e.g. Active Directory, Novell eDirectory and LDAP). The solution automatically generates digital certificates for users on the user directory, eliminating the common overhead found with other traditional PKI solutions.
*  Linux: Linux supports OpenSSL and OpenCA, which are two open source CA solutions. It also supports EJBCA.
*  NEWPKI: Free software which generates and controls users' public keys.
*  Novell: Offers the Novell Certificate Server, which is integrated into the eDirectory. Alternatively, the eDirectory add-on product cv act PKIntegrated (provided by a third party vendor at additional costs) can be used.
*  GlobalSign: Offers TrustedRoot" a PKI CA Rootstore chaining program (Root Sign) which allows you to get immediate trust for your SSL, S/MIME and code signing certificates by chaining your Microsoft CA or Inhouse CA Root Certificate to the pre-trusted GlobalSign root certificate.
*  Entrust: The product Entrust Authority is the most popular among the not-for-free CA solutions. Entrust offers PKI software and a managed service options mainly in the .gov space.
*  CyberTrust: Offers a product calledTrustedCA.
*  RSA Security: Offers a product called Keon.
*  Cryptomathic: Offers a product called CCA.
*  openWebPKI: open source PKI Web GUI project.
*  Red Hat Certificate System: Formerly the Netscape Certificate Server.
*  ChosenSecurity: Offers a managed PKI for the enterprise using TC TrustCenter technology.
*  IdenTrust: Offers a managed PKI for the banking community.
*  Operational Research Consultants, Inc.: Offers Federally compliant managed PKI services for Government-to-Government, Business-to-Government, and Citizen-to-Government trusted transactions.

Usage examples

PKIs of one type or another, and from any of several vendors, have many uses, including providing public keys and bindings to user identities which are used for:
*  Encryption and/or sender authentication of e-mail messages (e.g., using OpenPGP or S/MIME).
*  Encryption and/or authentication of documents (e.g., the XML Signature [1] or XML Encryption [2] standards if documents are encoded as XML).
*  Authentication of users to applications (e.g., smart card logon, client authentication with SSL).
*  Bootstrapping secure communication protocols, such as Internet key exchange (IKE) and SSL. In both of these, initial set-up of a secure channel (a "security association") uses asymmetric key (a.k.a. public key) methods, whereas actual communication uses faster secret key (a.k.a. symmetric key) methods.

No comments:

Post a Comment