Public Key Infrastructure
Public Key Infrastructure
Public Key Infrastructure
Seminar Report
On
Abstract
2.4. Hashing
(4). After the reception, the message is separated from the digital
signature
(5) which is decrypted using the receiver's private key
(6). The message is hashed into a "temporary" digital fingerprint
(7) which is used to validate the received fingerprint
(8). If the message has not been modified during the transfer
process, it's authenticated.
(2). this encrypted random key will be combined with the digital
signature and the encrypted message
(4). after the reception, the encrypted message and random key are
separated from the digital signature.
(5). the random key is decrypted using the receiver's private key.
(6). the message is decrypted using the random key.
(7) And after hashed into a "temporary" digital fingerprint which is
used to validate the received fingerprint.
(8). If the message has not been modified during the transfer
process, it's authenticated.
2.7. Summary
3. PKI
CA - Certification Authority
RA - Registration Authority
Subscriber
Also called a certificate user (or simply subject, later in this text), a
subscriber is the entity who has been issued with a certificate, and
whose name appears in its subject field.
Relying Party
3.2. Certification
Certification is the fundamental function of all PKIs. The certificates
provide a secure way of publishing public keys, so that their validity
can be trusted.
3.2.2. Certificates
A certificate contains (at least) the basic information needed to
provide a third party entity with the subject's public key:
• Subject Identification information
• Subject public Key
• CA Identification Information
• Validity (e.g. time)
The certificates may be used to identify an entity - the identity
certificates – or non-entities, such as permissions or credentials - the
credential certificates. A true certificate is trusted to identify the
subject and its public key or credentials and may then be used by
other subjects.
Not all the entities will trust the same CA to hold their certificates.
Cross certification is used to create the certificate between two CAs.
If both CAs trust each other, a cross certificate pair is established. In
other cases, only one certificate would be created, and not a pair.
General Hierarchy
Each CA certifies its parent and children, and some extra cross
certificates may additionally link the CAs, as shown in the figure
below:
In this example, let's suppose that the subject "B" needs to certify a
message from the subject "D".
It will need to go through the certification path composed by
CA5-CA2-CA1-CA3-CA6. But if several subjects from CA5 must
certify messages coming from subjects from CA6, a cross-certificate
may be established (represented by the dashed line) and then the
path is reduced to CA5-CA6.
Top-down Hierarchy
In this example, let's suppose that the subject "B" needs to certify a
message from the subject "D". It will need to go through the
certification path composed by CA1-CA3-CA6, which is shorter than
the previous example. As all users must fully trust the top-level CA
for all purposes, this type of hierarchy may be impractical for a
worldwide PKI.
Web of Trust
Some PKIs have no structure at all, depending exclusively on the
cross-path certificates between the CAs. This structure may be
called a "Web of Trust" - because each CA must base its trust on the
certificates of other CAs - and is used by the PGP program
(explained later on chapter 4.5). The users exchange keys and sign
each others keys to establish a trust relationship.
3.3. Validation
This is the process that ensures that the certificate information is
still valid, as it can change over time. Either the user can ask the CA
directly about the validity - every time it's used - or the CA may
include a validity period in the certificate. This second alternative is
also known as offline validation.
3.4. Revocation
Closely related to the validation method, this is the process of
informing the users when the information in a certificate is not valid
(either because the information has been corrupted or stolen, or
simply because some basic user information has changed). This is
especially interesting in the absence of online validation
approaches, and the most common revocation methods consist in
publishing Certification Revocation Lists (CRL). A CRL is a "black" list
of revoked certificates that is signed and periodically issued by a
CA. In the initial PKI implementations, there were several problems
related to the "time-granularity" problem (wrong information may
be given during the time between the certificate has been revoked
and has appeared in the CRL) and the size of the CRL.
The risk of exposure by the first issue has been reduced by
using "Delta-CRL", which is simply a list of changes occurred since
the last full CRL has been published. The second issue has been
addressed by partitioning the CRL into different lists (for example,
one containing the CRL for the end-user subjects, another with the
certified CAs).
3.5. Authentication
As explained in the chapter 2.1 In order for the subject to gain
access to its private key, it has to possess something (like a smart
card or an encrypted key file) and know something (PIN or
password) or be something (e.g. a particular fingerprint).
3.6. Keys
3.6.1. Key Pair Models
To increase the security level, different key pairs might exist for
different functions, which may be divided into the following
categories:
• Non-repudiatable message signing (e.g. e-mail) - Once the
message is signed, the subject cannot refuse to be its author.
• Encryption/Decryption functions.
• Authentication only (e.g. LOG ON functions) - Used in cases where
a user is not aware of the actual contents of the message that is
digitally signed at logon time pairs:
These are the main steps performed in a PKI structure to handle the
key pairs:
Key Generation
There are (at least) two different ways of generating the keys
(Centralized and Basic authenticated), but the common steps to be
performed are:
• Subject identification
• CA sends secret information (normally off-line) to the subject.
• The key pair generation is performed (by the CA or by the
subject).
• A connection is established between the subject and the CA (using
the secret information to ensure privacy) and either the public key is
sent to the CA, either the private key is sent to the subject.
• The disadvantage of sending private keys is the loss of the no
repudiation function.
• Sometimes the CA sends the certificate to the user, asking for an
acknowledge message.
Key Update
As the certificates only have a limited lifetime (typically a year),
there's a need for an easy process to update the subject's key
pair(s) and issue new certificates periodically. This is far from being
an issue and may be fully automated, as the user is already trusted
(by a certificate), so he can send a signed message asking for a new
certificate.
However the update for a root CA key is operationally more difficult,
as during the transition (also known as rollover) some users will
trust the new key and others still use the old key. This implies that
some certificates will be signed by the old CA root key, others with
the new CA root key. The solution is to create and publish 3
temporary certificates:
• Old CA root Certificate - signed by the new CA root and with a
validity period from date of creation of old certificate to date of
expiry of old certificate.
• New CA root Certificate - signed by the old CA root and with a
validity period from date of creation of old certificate to date of
expiry of old certificate (or until rollover is finished).
• New CA root Certificate - signed by the new CA root. This is the
"permanent" one and will be valid until the following update
operation is needed.
Backup / Recovery
These functions allow encrypted data to be recovered if a subject
loses its private decryption key. The backup is performed by a
trusted internal third party (e.g. CA), who keeps a secure copy of
the subject's private key.
The subject who needs a recovery simply retrieves its private
key from this third party (either off-line, using a floppy disk or CD-
ROM, either on-line). The backup is sometimes regarded as a bad
thing because it may allow a dubious third party to act as the
subject, but corporate environments are accepting it as a good
policy to avoid loss of information (for example by using keys for
people who already left the company). The organization owns the
information, even if the non-repudiation function is not fully
guaranteed.
Escrow / Recovery
Technically these functions act similarly to the Backup/Restore, but
as this may imply several privacy issues, they are often regarded as
a bad thing. The trusted third party in this case is a company related
to the government or law enforcement agencies, which allow the
key recovery to be done by an external organization (such as the
police) to retrieve the subject's private key without its (the subject)
knowledge or authorization.
4. Related technologies
4.2. SSL
The SSL protocol runs above TCP/IP and below higher-level protocols
such as HTTP or IMAP. It allows a server to authenticate itself to a
client, allows the client to authenticate itself to the server, and
allows both machines to establish an encrypted connection.
Originally developed by Netscape, SSL has been universally
accepted on the World Wide Web for authenticated and encrypted
communication between clients and servers.
The SSL protocol includes two sub-protocols: the SSL record
protocol and the SSL handshake protocol. The SSL record protocol
defines the format used to transmit data. The SSL handshake
protocol involves using the SSL record protocol to exchange a series
of messages between an SSL-enabled server and an SSL-enabled
client when they first establish an SSL connection. This exchange of
messages is designed to facilitate the following actions:
• Authenticate the server to the client.
• Allow the client and server to select the cryptographic algorithms,
or ciphers, that they both support.
• Optionally authenticate the client to the server.
• Use public-key encryption techniques to generate shared secrets.
• Establish an encrypted SSL connection.
4.4. VPN
A virtual private network (VPN) is a private data network that makes
use of the public telecommunication infrastructure - instead of
owned or leased lines - maintaining privacy through the use of a
tunneling protocol and security procedures. The idea of VPN is to
give a company the same capabilities at much lower cost by using
the shared public infrastructure rather than a private one.
VPNs are an important part of an e-business strategy. Some
companies are using VPNs to network remote employees, driving
down response times and improving access to business information.
Other companies are using VPNs to tie their customers, partners
and suppliers into their network as part of an overall e-business
strategy.
VPNs require a PKI to authenticate their connection points
and, as a result organizations using VPNs are starting to evaluate
their overall PKI architectures, because VPN eliminates hard-to-
manage modem banks.
4.5. PGP
Pretty Good Privacy is a product family that enables people to
securely exchange messages, and to secure files, disk volumes and
network connections with both privacy and strong authentication.
PGP is a freely available encryption program that protects the
privacy of files and electronic mail, using powerful public key
cryptography and working on virtually every platform.
It has become a de facto standard for e-mail security. In an
organization using a PKI with X.509 certificates, it is the job of the
CA to issue certificates to users; In an organization using PGP
certificates without a PKI, it is the job of the CA to check the
authenticity of all PGP certificates and then sign the good ones.
PGP defines its own PKI built on a "web of trust" (as explained on
chapter3.2.5).
5. Glossary
Ciphertext : (φ ) Ciphertext is encrypted text. Plaintext is what you
have before encryption, and ciphertext is the encrypted result. The
term cipher is sometimes used as a synonym for ciphertext, but it
more properly means the method of encryption rather than the
result.
Sniffer :
Sniffer (α) A sniffer is a program that monitors and analyses network
traffic, detecting bottlenecks and problems. Using this information,
a network manager can keep traffic flowing efficiently. A sniffer can
also be used legitimately or illegitimately to capture data being
transmitted on a network. A network router reads every packet of
data passed to it, determining whether it is intended for a
destination within the router's own network or whether it should be
passed further along the Internet. A router with a sniffer, however,
may be able to read the data in the packet as well as the source and
destination addresses.
TCP/IP: (α)
TCP/IP (Transmission Control Protocol/Internet Protocol) is the basic
communication language or protocol of the Internet. It can also be
used as a communications protocol in a private network (either an
intranet or an extranet). When you are set up with direct access to
the Internet, your computer is provided with a copy of the TCP/IP
program just as every other computer that you may send messages
to or get information from also has a copy of TCP/IP.
X.500 :(α )
X.500 Directory Service is a standard way to develop an electronic
directory of people in an organization so that it can be part of a
global directory available to anyone in the world with Internet
access. Such a directory is sometimes called a global White Pages
directory. The idea is to be able to look up people in a user-friendly
way by name, department, or organization.
Many enterprises and institutions have created an X.500
directory. Because these directories are organized as part of a
single global directory, you can search for hundreds of thousands of
people from a single place on the World Wide Web.
The X.500 directory is organized under a common "root"
directory in a "tree" hierarchy of: country, organization,
organizational unit, and person. An entry at each of these levels
must have certain attributes; some can have optional ones
established locally. Each organization can implement a directory in
its own way as long as it adheres to the basic schema or plan. The
distributed global directory works through a registration process and
one or more central places that manage many directories.
In X.500, each local directory is called a Directory System
Agent (DSA). A DSA can represent one organization or a group of
organizations. The DSAs are interconnected from the Directory
Information Tree (DIT). The user interface program for access to one
or more DSAs is a Directory User Agent (DUA). DUAs include whois,
finger, and programs that offer a graphical user interface.
X.500 is implemented as part of the Distributed Computing
Environment (DCE) in its Global Directory Service (GDS). The
University of Michigan is one of a number of universities that use
X.500 as a way to route e-mail as well as to provide name lookup,
using the Lightweight Directory Access Protocol (LDAP).
6. Bibliography
6.1. Books
1. Technology appraisals
3-days course: "Establishing a Public Key Infrastructure"
6-8 November 2000, by David Chadwick, Andrew Young and Stephen McGibbon
2. Cryptography and Network Security
William Stalling
1. http://www.networkcomputing.com/1201/1201f1c1.html
DoS: Internet Weapons of Mass Destruction
2. http://home.xcert.com/~marcnarc/PKI/thesis/
By Marc Branchaud, March, 1997
A Survey of Public-Key Infrastructures
3. http://www.ecommercetimes.com/perl/story/16008.html
By Mark W. Vigoroso, E-Commerce Times, January 25, 2002
Online Security: Job One for E-Commerce
4.http://searchebusiness.techtarget.com/bestWebLinks/0,289521,sid19_tax28292
6,00.html
SearchEBusiness.com - Best Web Links - Securing your e-business