Understanding and Designing a Public Key Infrastructure

An Introduction to the Public Key Infrastructure (PKI)

It has grown more important to ensure the confidentiality and integrity for data communication where an organization's network contains intranets, extranets, and Internet Web sites. Because of the connectivity of networks today, an organization's network is exposed to unauthorized users who could possibly attempt to access and manipulate mission critical data or the confidential data of its clients. The need to authenticate the identities of users, computers and even other organizations, has led to the development of the public key infrastructure (PKI).

A public key infrastructure (PKI) can be defined as a set of technologies which control the distribution and utilization of unique identifiers, called public and private keys, through the utilization of digital certificates. The set of technologies that constitute the PKI is a collection of components, standards and operational policies. The PKI process is based on the use of public and private keys to provide confidentiality and integrity of an organization's data as it is transmitted over the network. When users partake in the PKI, messages are encoded using encryption, and digital signatures are created which authenticate their identities. The recipient of the message would then decrypt the encoded message. For a PKI implementation to operate, each computer in the communication process must have a public key and private key. The public key and private key pair is used to encrypt and decrypt data, to ensure data confidentiality. When two parties use a PKI, each one obtains a public key and a private key, with the private kept only being known by the owner of that particular key. The public key on the other hand is available to the public.

Before delving into the components and operations of the PKI, let's first look at what a properly designed and implemented PKI achieves:

Understanding Cryptography and Encryption

To ensure that data is securely transmitted over the Internet, intranet, and extranet; cryptography is used. With PKI, you can define cryptography as being the science used to protect data. A type of cryptography, called encryption, uses mathematical algorithms to change data to a format that cannot be read, to protect the data. Encryption basically ensures that the content of a data message is hidden from unauthorized parties intercepting the message. A mathematical algorithm contains the method used to scramble the original message into ciphertext. A cryptographic key is utilized to either change plaintext (original message) to ciphertext (scrambled message) or to change ciphertext (scrambled message) to plaintext (original message). It is the ciphertext that is transmitted over the network. The message is decrypted into a readable format once it has reached the intended recipient.

As mentioned earlier, encryption is the type of cryptography that changes the original message to ciphertext. Encryption utilizes keys to encrypt and decrypt data. Longer complicated keys mean that data is more protected from interpretation by another person.

In Windows Server 2003, the cryptographic services utilize following encryption means:

In Windows Server 2003, support is included for the following encryption methods:

While there are many encryption methods which can be used to encrypt data, an encryption method is regarded as being one of the following types:

Understanding Hashing Algorithms

The PKI utilizes hashing algorithms to provide data authentication and non-repudiation. A hashing algorithm is a complex mathematical algorithm, called a hash function, which is applied to a segment of the original message. This results in a fixed length output, called a hash value, which is unique to the original message. If the data is modified while being transmitted, the recipient is able to determine this because a single bit change results in many changes to the fixed length output of the hash. Digital signatures use the hashing technology to authenticate the identity of the sender. While a bigger hash means a more secure algorithm, performance is negatively impacted because these hashes take longer to create.

The hashing algorithms supported in Windows Server 2003 are outlined below:

The Components of Public Key Infrastructure (PKI)

The main functions that can be performed within a PKI are listed below:

To enable all of the above listed functions, the PKI consists of numerous policies, software and components that manage public and private keys, and certificates that authenticate users and verify data. Each component included in the PKI is discussed in the following section of this Article.

Digital Certificates

A digital certificate associates a public key with an owner. The certificate verifies the identity of the owner. A certificate cannot be forged because the authority that issued the certificate digitally signs the certificate. Certificates are issued for functions such as the encryption of data, code signing, Web user and Web server authentication, and for securing e-mail. Certificates in Windows XP and Windows Server 2003 are managed by the Data Protection API. When certificates are issued to a client, it is stored in the Registry and in Active Directory. You can also store certificates on smart cards. The information included in a certificate is determined by the type of certificate being used.

Certificates can contain all of the information listed below, or only some of the information listed below:

X.509 Standard

The X.509 standard, derived from the X.500 directory standard, defines digital certificates. It describes a certificate as the means by which the distinguished name of the user can be associated with the public key of the user. The distinguished name of the user is defined by a naming authority. The distinguished name is used by the issuing Certificate Authority (CA) as the unique name of the user.

The information included in an X.509 certificate is listed below:

Certificate Authorities (CA)

A certificate authority (CA) is the trusted entity that issues digital certificates to users, computers or a service. An organization can have multiple CAs, which are arranged in a logical manner. A CA can be a trusted third party entity such as VeriSign or Thawte, or it can be an internal entity of the organization. An example of an internal CA entity is Windows Server 2003 Certificate Services. Windows Server 2003 Certificate Services can be used to create certificates for users and computers in Active Directory domains.

The tasks performed by a CA are listed below:

The process by which a user, computer, or service identifies itself to the CA is called registration. Registration can be automatically performed during the certificate enrollment process, or it can be performed by another trusted entity. An example of a trusted entity would be a smart card enrollment station. Certificate enrollment is the terminology used to refer to the process by which a user requests a certificate from a CA.

There are basically two type of CAs. The CA types are distinguished by the location in which they store their certificates:

CAs can be categorized into different trust models:

A certificate trust list (CTL) is a list that documents the trusted certificates of the enterprise. It is a list of root CAs which is trusted within the enterprise. Windows Server 2003 includes a predefined CTL which you can add CAs to, or remove CAs from. The benefit of using the Windows Server 2003 CTL is that you can automatically check certificates to this list. The Windows CTL is managed through Group Policy Objects (GPOs).

The Certificate Revocation List (CRL)

When a certificate is issued, the time for which the certificate remains valid is defined. There is however occasions when the CA can end the validity of the certificate through a procedure referred to as certificate revocation. A certificate is typically revoked when information included in the certificate has become invalid or untrusted. When the private key associated with the public key in the certificate is no longer secure or trusted, the certificate should be revoked without delay. The certificate revocation process is performed by the CA issuing the certificate revocation list (CRL), and it includes the serial numbers of those certificates which have been revoked.

CRLs can be categorized into the following types

The Online Certificate Status Protocol (OCSP) is also a means which can be used to determine whether a certificate is considered valid, and trusted. The OCSP process starts when a CA obtains a query, questioning the validity of a single certificate. The OCSP responder sends the response to the party that sent the request.

The information included in the response is listed below:

PKI Standards and Protocols

Standards and protocols is the set of integral components in the PKI which ensures that data is protected. The Public Key Cryptography Standards (PKCS) are listed below:

Certificate Policies

A certificate policy can be defined as the rule(s) which govern the manner in which a certificate can be used. In addition to the certificate policy describing how the certificate can be used, it also defines the relationship between the certificates and resources. A certificate practice statement (CPS) details the manner in which the CA intends to manage the certificates which it issues. It is recommended to use CAs that has CPSs. A certificate can also be issued under multiple certificate policies. In this case, a set of polices would define the processes and standards used to create and mange the certificates, another set of policies would be technical rules, and other policies would define security requirements.

Microsoft Windows PKI Components

In addition to the components just discussed, Windows includes four essential PKI components. Like the former components, these components each has a purpose, and performs a particular function within a PKI implementation. The Windows PKI components are outlined below.

New PKI Features in Windows Server 2003

Before delving into the planning and design phase of implementing a Windows Server 2003 PKI, lets first look at the new PKI features introduced with Windows Server 2003. The Windows Server 2003 improvements on the cryptography mechanisms included in Windows 2000 are listed below:

Planning and Designing a Windows Server 2003 Public Key Infrastructure (PKI)

Typical to any network design, the initial step is the planning phase. With a PKI implementation, the planning phase should deal with the following aspects:

With a PKI implementation using computers running Windows Server 2003, the computers can create certificates which support the following (remember this list in your planning):

The structure of the organization can possibly impact the PKI implementation strategy that you would use. These factors are noted below:

The process recommended for planning and designing a PKI implementation is discussed next.

1. Determine the certificate requirements

You have to define the certificate requirements for the network before you implement any PKI within your environment. This step typically involves identifying the different levels of security needed within the organization in relation to the location of users. It is recommended that you start a certificate practice statement (CPS). This is basically a running document used during the planning and implementation of a PKI that describes how a certificate policy is to be implemented. The implementation strategy should, needless to say, be suited to the architecture and operating processes of the organization.

A certificate practice statement (CPS) should minimally include the following:

When designing security for your CA servers, bear in mind that the best approach to use to secure the root CA, is to actually disconnect it from the network. This prevents an unauthorized person from accessing the root CA when the network is under attack. The methods that can be used to make CA servers offline are listed below:

Your certificate policy statements, should minimally, include the information listed below:

2. Create a certification authority infrastructure

The next step in designing a PKI implementation is to plan the certification authority infrastructure that would ultimately provide certificates to your users, computers, applications, and services. This stage involves the clarification of the following aspects:

When considering how many CAs to implement within your organization, consider the elements which affect the CA performance, listed below:

3. Configure certificates

During the planning of the certificate configurations which you are going to use, consider the following:

The factors that you should consider when defining certificate and key lifetimes are noted below:

4. Define a certificate management strategy

The factors that should be addressed when you define the certificate management strategy for your PKI implementation are listed below:

When planning for, and designing a PKI implementation for your organization, apply the PKI best practices listed below:



Top 5 Free Networking Tools

Bookmark Understanding and Designing a Public Key Infrastructure

Latest Blog Posts


English English GermanGerman SpanishSpanish FrenchFrench ItalianItalian PortuguesePortuguese RussianRussian DutchDutch
GreekGreek HindiHindi JapaneseJapanese KoreanKorean ChineseChinese Chinese (Simplified)Chinese (Simplified) ArabicArabic

Copyright 2009 Tech-FAQ. All rights reserved. Privacy Policy.