Public Key Infrastructure

advertisement
Public Key Infrastructure
What is public key cryptography?
Cryptography is the process of converting plain (readable) text into a form of cyber text, which
is not readable. It does this by using mathematical algorithms to convert this plain text into
cyber text.
Within cryptography there are many cryptographic applications. These include the following: 


Data encryption for confidentiality
Digital signatures/ Verifying data integrity
Certificates for authenticating people, applications, applications and services and for
access control (authorisation)
(What is public key cryptography - RSA Data Security, 1999)
Shared secret and public key cryptography
Within shared secret cryptography there is a sender and a receiver, who use the same key for
their encryption and decryption. Within this method network based key distribution would not
be a secure option because anyone could gain access to the key.
One other method is public key cryptography. This is quite different to shared key
cryptography as it uses a pair of keys, one key being the public key and one being the private
key. The public key can be distributed across a network, enabling anyone to view it, hence the
name. However the private key must be kept a secret and only known by one person and the
application or service that owns the keys. When using public key cryptography, the distribution
key factor is greatly simplified because of the ability to transmit the key over insecure
networks.
“The sender’s key may be used to produce a digital signature, an encrypted block of data which
when decrypted by the recipient, verifies the sender’s identity as well as the integrity of the
data. Public key cryptography can also be used for secure distribution of shared secret keys
across insecure networks” (Shared secret and public key cryptography- RSA Data Security,
1999)
PKI Components and Functions
Search Security defines PKI (Public key infrastructure) as: “A PKI enables users of basically
insecure public networks such as the internet to securely and privately exchange data and
money through the use of public and a private cryptographic key pair that is obtained and
shared through a trusted authority.”
Within PKI there are three main and widely used components; these include:


The Certificate Authority
The repository for keys, Certificates and Certificate Revocation Lists
1

Management console.
(PKI Components - RSA Data Security, 1999)
The Certificate Authority issues certificates. A trusted party, for example VeriSign or GTE
can provide the CA function.
One other component of PKI is the repository for keys, certificates and certificate
revocation lists. This generally based around a light-weight Directory Access Protocol
enabled directory service.
Another main function is a management function. This is implemented by a management
console.
As well as this management console there may be a separate registration authority
associated with the functions. This registration authority is committed to user registration
and accepting certificate requests from users. The first stage of the process is to collect user
information and verify the user’s identity. This can then be used to register a particular user
according to a policy. This process is separate to signing certificates and issuing them.
Figure 1 (below) shows the main server components of Public Key Infrastructure. These are the
Certificate server, the repository, the key recovery server and a management console.
PKI enabled Applications
Secure E-mail
Client
PKI Servers
Secure E-mail
Client
VPN Router
Remote Access
Client
Web
Server
Secure E-mail
Client
Secure E-mail
Client
Management
Console
(Figure 1 - PKI Server components - RSA Data Security, 1999)
2
The RA function can be managed by the human recourses department, whilst at the same time
the Information Technology department of a company can manage the Certificate Authority.
Having, a different department manage the Registration Authority means that it will be harder
for another department to challenge the security system of one organisation. The organisation
itself can decide whether or not to have a separate RA function to be included within the CA
function. An advantage of both the CA and RA functions is that they can be run on both
hardware and software. For example the CA and RA function can be implemented on different
servers whilst having software to manage them. When both the RA and CA function are run on
a system together it is called a Certificate and Registration server.
Table one (below) shows the main Public Key Infrastructure functions which are used in
modern day organisations
Function
Registering users
Issuing Certificates
Revoking certificates
Sorting and retrieving
certificates and certificate
Revocation lists
Policy-based certificate path
validation
Description
Collect user information and
verify identify
Create certificates in response
to a user or administrator
request
Create and Publish Certificate
Revocation lists
Make certificates and CRL’s
conveniently available to
authorised users
Implementation
Function of the CA
Function of the CA
Administrative software
associated with the CA
The repository for certificates
and CRL’s is usually a secure,
replicated directory service
accessible via LDAP
Function of the CA
Impose policy based
constraints on the certificate
chain, and validate if all
constraints are met
Time-Stamping
Put a time-stamp on each
Function of the CA or a
certificate
Dedicated Time Server (TS)
Key lifecycle management
Update, archive and restore
Automated in software or
keys
performed manually
(Figure 2 – Main Public Key Infrastructure functions - RSA Data Security, 1999)
3
PKI FUNCTIONS
The main PKI functions are as follows:







Issuing certificates
Revoking certificates
Creating and publishing CRL’s
Retrieving certificates and CRL’s
Key lifecycle management
Time-stamping
Policy-based certificate validation
Issuing Certificates:
Modern organisations need to accept and reject the certificates from the certificate authority.
This can be accomplished through hierarchical path processing or direct cross-certification.
certification path processing :
The best known hierarchical certification path processing architectures are those maintained by
PKI service organisations such as VeriSign. Typically in such hierarchy:
1. There is a single root at the top
2. The root certifies public primary certification authorities, which issue, suspend, and
revoke certificates for all CA’s within the hierarchy.
3. Public primary certification authorities certify CA’s. PCA’s might also cross-certify
with PCA like entities in other vendors PKI’s
4. At the bottom of the hierarchy there can Local Registration Authorities that evaluate
certificate applications on behalf of the root, PCA or CA that issues the certificate.
The user searches up through this hierarchy if the user does not already trust the CA that signed
a certificate. The user searches through the hierarchy for a trusted CA that has certified the
public key of the CA. (RSA Data Security, 1999)
Cross Certification:
One CA can issue another CA, a certificate that allows the other CA to issue certificates which
will be recognised by the first CA. Cross Certification works directly without a third party.
88828282828(RSA Data Security, 1999)2828282882
Hierarchical and Cross-Certification can be combined:
Both hierarchical and cross-certification can be implemented together within a single security
domain. These can be used for different purposes and different times. An example of this is a
hierarchical system based on a trusted party, maybe necessary when expanding a PKI. However
the bulk of this implementation is accomplished via cross-certification
4
Time-Stamping:
One main extension to content and authenticity of a transaction is knowing the exact time of
when it was transacted. For example the transaction in question might have to be submitted by
a certain time and therefore to be a valid transaction. To overcome this problem we can use
Digital signatures with time-stamps.
Key Lifecycle Management:
PKI performs many different functions, for example issuing a certificate and listing certificates
on a CRL. On the other hand key lifecycle management such as updating, backing up and
achieving keys are performed as a mater of routine.
Each individual user of keys usually have keys that require lifecycle management. An example
of this will be users that have at least one key pair for each secure application e.g. e-mail,
desktop file encryption and VPN. Many applications nowadays use pairs of keys for different
purposes such as digital signatures, bulk encryption and authentication.
Updating Keys:
To reduce key exposure; keys that have been compromised, new keys are introduced regularly.
Backing up keys:
Many users of private keys can forget passwords that protect their private keys. Companies
should be able to restore the keys to the users.
Automated key lifecycle management: A critical PKI function:
Managing keys manually can limit the effectiveness of the PKI. A large PKI has an automated
key management attached with it. This is therefore critical.
How applications work with PKI:
Digital certificates are managed by the PKI and there are used to execute cryptography within
applications. These applications include e-mail and messaging, Web browsers and web servers,
Electronic data exchange. Also in applications that establish secure network transactions,
Communication sessions over the web and VPN’s. Web and VPN’s use protocols such as
S/MILE, SSL and IPSEC. The following describe some of these applications in more detail.
E-mail and messaging:
One application that uses key pairs for encryption of messages and files is secure e-mail.
Examples of this include Microsoft Exchange and IBM’s Notes mail. Programs like these are
allowing more and more users to encrypt their sensitive information.
5
Web Access:
Encryption is used in authentication and confidentiality within browsers and web servers.
Applications like online banking and shopping use authentication and confidentiality within
their applications. Servers can authenticate to clients by using secure socket layer. SSL can also
encrypt web traffic.
Digital Signed Code and Files:
Growing trust on downloading programs and files gives issue to many security concerns; these
mainly being viruses and how to deal with them. Microsoft’s Authenticate uses RSA digital
signatures to verify where it has come from and also the integrity of it. A PKI is implemented
to scale this approach to huge numbers of people using these services.
PKI Standards:
Standards within the PKI area have two groups: The first one being those that specifically
define the PKI and the second one being those of user-level standards that rely on the PKI, but
don’t define it.
Figure 2, below shows the relationship between applications and PKI infrastructure and their
standards.
Digitally
Signed
Code and
Files
E-mail
Online Banking
Groupware
Online Shopping
VPN
SSL
TLS
IPSEC
PPTP
EDI
S/MIME
X.509
PKIX
PKCS
(Figure 2 - Relationship between applications and PKI - RSA Data Security, 1999)
6
The PKI standards permit the use of multiple PKI’s. Multiple applications interfaces within a
single consolidated PKI.
Standards are necessary for the following:






Enrolment procedures
Certificate formats
CRL formats
Formats for certificate enrolment messages (client requests certificate, server issues
certificate)
Digital signature formats
Challenge/response protocols
PKI Standards are based around the working group – Internet Engineering Task Force. The
group is known as the PKIX group (“PKI for X.509 certificates”)
The four central components in the PKIX model are: the user (or “end entity”), CA, RA and
repository. (PKI standards- RSA Data Security, 1999)
Table 2 shows the main components of the PKIX model
Component
User
Part of PKI?
No
Description
User of PKI certificates
and/or not end user system
that is subject of a certificate
Certification Authority
Yes
Issues, stores and revokes
certificates
Registration Authority
Yes
An optional system to which
the CA delegates certain
management functions such
as registering users
Repository
Yes
A system or collection of
distributed systems that store
and allow end entities to
access certificates and CRL’s
(Table 2 - The main components of the PKIX model - RSA Data Security, 1999)
7
PKIX Component Standards
Two other specifications are X.509 from the International Telecommunications union and the
public Key Cryptography Standards from RSA Data Security. The purpose was to authenticate
services for X.500 directory services.
X.509:
One of the most used and supported PKI standard is the ITU’s X.509. Its main purpose is to
define a standard digital certificate format.
Standards that rely on PKI
Nowadays many standards work with a PKI. These include the following:





Secure Socket layer
Transport layer security
Secure Multipurpose Internet Main Extensions
Secure Electronic transactions
IP Security (IPSEC)
All the above allow the use of PKI within their systems
S/MILE:
S/MILE is the standard for secure messaging. Within S/MILE, PKI is used for digital signing
and to support the encryption of messages and attachments. This is done without a shared
secret.
Many people nowadays consider email as being the most popular Internet application. In sight
of this, S/MILE is the top contender when implementing and extending PKI standards. The
S/MILE committee have taken advantage of some of the PKIX standards and added any new
ones that when they felt necessary.
Some of the main standards created by S/MILE committee are “Cryptographic Message
Syntax, Message specification, Certificate handling and the final one Certificate Request
Syntax.
8
SSL and TLS:
One of the most important IETF standards for providing secure access to web servers is SSL
and TLS. TLS being based on SSL. As well as there being the need to secure web servers,
there is also the need to secure non web-based applications. These both rely heavily on PKI for
certificate issuance for clients and servers.
Secure Electronic Transaction:
SET uses keys for authentication, confidentiality and data integrity to secure electronic bank
card payments; PKI is therefore essential for authentication between the bank card user and the
bank.
Deploying a PKI
The following questions are considered when deploying/implementing a PKI


What is the organisation’s PKI Strategy?
Are applications PKI ready?
Consolidating PKI functions for multiple applications:
Many organisations nowadays are consolidating their PKI infrastructure if they have
applications which are PKI enabled. This boasts management efficiency within a particular
company and also saves money. Organisations can if they wish decide to implement their PKI
first then the applications at a later stage. The down side of this approach is that I would be
very complex and their might have to be extra planning involved when dealing with application
drawbacks.
Are Applications PKI ready?
Organisations have to options to become PKI ready:
1. Encourage software vendors to enable their applications. For user organisations, this is
easy and requires no up-front investment. It typically also yields PKI capabilities that
are smoothly integrated with applications. However, the timescale for delivery of PKI
features is out of the user organisation’s control, and PKI features may not ideally fit
the user organisation’s requirements.
2. Use of in-house programming staff or contract programming to PKI enabled
applications. This should yield results that precisely suit the organisation’s needs. It also
allows very smooth integration of PKI functions with in-house applications. In this case
commercial off-the-shelf (COTS) software, the organisation is dependent on API’s
exposed by the developer. These may vary in their suitability to PKI integrations, and to
the user organisation’s particular needs. Organisations planning to customise
applications may wish to evaluate RSA’s enabling tools and PKI servers, which may
reduce the time and cost of the project. (Are Applications PKI ready? - RSA Data
Security, 1999)
9
Download