Represents a system designed to manage public-key encryption and digital certiﬁcates.
PKI is emerging as the foundation for secure electronic commerce and Internet security by providing the cornerstones of security:
Together, these elements combine to provide a secure, non-breakable environment for deploying e-commerce and a reliable environment for building virtually any type of electronic transactions, from corporate intranets to Internet-based eBusiness applications.
Other important factors which enable the deployment of PKI include: secure storage of certificates and keys; management tools to request certificates, access wallets and administer users; and a directory service acting as a centralized repository for certificates.
The PKI approach to security does not take the place of all other security technologies; rather, it is an alternative means of achieving security. The following advantages of PKI have led to its emergence as an industry standard for securing Internet and e-commerce applications.
PKI is a standards-based technology.
It allows the choice of trust provider.
Although PKI is not notably a single sign-on service, it can be implemented in such a way as to enable single sign-on.
It is highly scaleable. Users maintain their own certificates, and certificate authentication involves exchange of data between client and server only. This means that no third party authentication server needs to be online. There is thus no limit to the number of users who can be supported using PKI.
PKI allows delegated trust. That is, a user who has obtained a certificate from a recognized and trusted certificate authority can authenticate himself to a server the very first time he connects to that server, without having previously been registered with the system.
Public-key cryptography requires that entities which want to communicate in a secure manner, possess certain security credentials. This collection of security credentials is stored in a wallet. Security credentials consist of a public/private key pair, a “user” certificate, a certificate chain, and “trusted” certificates.
The secrecy of encrypted data generally depends on the existence of a secret key shared between the communicating parties. Providing and distributing such secret keys is one aspect of key management. In a multiuser environment, secure key distribution may be difficult; public key cryptography was invented to solve this problem.
Public key cryptography is based on a secure secret key pair. Each key (one half of the pair) can only decrypt information encrypted by its corresponding key (the other half of the pair).
A key pair includes:
known only to its owner
distributed widely, but still associated with its owner
Use of the cryptographic key pair to set up a secure, encrypted channel ensures the privacy of a message and validates the authenticity of the sender of the message. It also provides an important benefit: the ability to widely distribute the public key on a server, or in a central directory, without jeopardizing the integrity of the private key component of the key pair. This eliminates the need to transmit the public key to every correspondent in the system.
Each entity that participates in a public key system must have a public/private key pair. The public key for an entity is published by a certificate authority (CA) in a user certificate. Then, other entities that want to send it secure information can encrypt the information with the recipient entity’s public key. Another use for a public key is for an entity that receives a communication to validate the sender’s organizational affiliation.
Establishing user identity is of primary concern in distributed environments; otherwise, there can be little confidence in limiting privileges by user. Passwords are the most common authentication method in use, but for particularly sensitive data, you need to employ stronger authentication services. This section describes:
Many organizations manage users and authorizations separately in an LDAP-compliant directory. Now they can also store credentials securely in the directory, enhancing their ability to manage users.
With PKI, secure credentials such as digital certificates can be stored in containers called “wallets”. A wallet is a transparent database used to manage authentication data such as keys, certificates, and trusted certificates needed by SSL. Wallets can be stored in an LDAP-compliant directory. This implementation enables you to centrally manage users.
Security administrators use a tool such as Oracle Wallet Manager to manage security credentials on the server. Wallet owners use it to manage security credentials on clients.
Public Key Certificate Standard #12 (PKCS#12) is the standard for secure credential storage.
Single sign-on enables users to access multiple accounts and applications with a single password. This feature eliminates the need for multiple passwords for users and simplifies management of user accounts and passwords for system administrators. Single sign-on enhances ease-of-use for users, and provides centralized management to security administrators.
Because all clients, application servers, and data servers can authenticate themselves to one another, PKI provides an important security infrastructure to a network.
In addition to centralized network authentication, a PKI implementation can provide encryption of network traffic as well as integrity checking. The Secure Sockets Layer provides strong, standards-based encryption and data integrity algorithms.