Professional Documents
Culture Documents
infrastructure
by M. Benantar
Long before the advent of electronic systems, the Internet public key certification, the reasons it
different methods of information scrambling is needed, and its defining components.
were used. Early attempts at data security in
electronic computers employed some of the
same transformations. Modern secret key Overview of secret key cryptography
cryptography brought much greater security, but
eventually proved vulnerable to brute-force By “data confidentiality” we mean an attempt to con-
attacks. Public key cryptography has now fine knowledge of the represented information within
emerged as the core technology for modern
computing security systems. By associating a a particular set of entities, either human or program-
public key with a private key, many of the key mable. Secrecy is achieved by scrambling the plain-
distribution problems of earlier systems are text form of the data into a representation that per-
avoided. The Internet public key infrastructure haps has no syntax, and certainly should have no
provides the secure digital certification required
to establish a network of trust for public semantics.
commerce. This paper explores the details of the
infrastructure. Long before the advent of electronic systems, dif-
ferent methods of data-scrambling transformations,
known in contemporary terms as the science of cryp-
tography, have been used. A cryptographic transfor-
mation of data is a deterministic procedure by which
648 BENANTAR 0018-8670/01/$5.00 © 2001 IBM IBM SYSTEMS JOURNAL, VOL 40, NO 3, 2001
position, also referred to as a permutation, replaces Figure 1 A simple substitution cipher
a character from the input stream by another char-
acter of that same input and thus results in shuffling
character positions and preserving all characters of
the plaintext in the final ciphertext. An example of
a substitution is the famous “Caesar cipher,” which Plain Message: RETURN TO BASE
is said to have been used by Julius Caesar to com- Enciphered Message: UHWXUQ WR EDVH
municate with his army. This cipher replaces each
character of the input text by the third character to
its right in the alphabet. Formally, this transforma-
tion consists of adding 3 to the position of the input
character (modulo 26) to yield the substituting char-
acter. Figure 1 shows how this simple transforma-
tion is applied.
Figure 2 A character transposition
A transposition cipher, generally, consists of break- enciphering/deciphering example
ing the plaintext into separate blocks; a determin-
istic procedure is then applied to shuffle characters
across the different blocks. Figure 2 illustrates a char-
Line 1: R E T U R N space
acter transposition example in which the secret mes-
sage “RETURN TO BASE” is first split into two blocks
consisting of “RETURN” and “TO BASE,” then Line 2: T O space B A S E
characters are shuffled across the two blocks in a
cyclic fashion to result in the ciphertext Enciphered Message: ROTBRS TE UANE
“ROTBRS TE UANE.”
A B C
The secret key distribution and management group is represented by a node of a graph, with the
problem edge adjacency in the graph representing two-way
communication links among the members. Assum-
Assume that a group of n people decides to estab- ing that each pair of users maintains a distinct se-
lish a cryptographic communications channel among cret key, the total number of key distributions in each
its members based on a symmetric cipher. Different scenario will be equal to the number of edges of the
scenarios for secret key distribution may arise within corresponding graph. Therefore, in (A) 7 key dis-
the group. In the first, all the group members decide tributions are required; in (B), where users are par-
to share a single secret key and use it to encrypt and titioned along a bipartite graph, 12 key distributions
decrypt any exchanged messages. In this basic sce- are required; and in the case of complete graph (C),
nario the shared secret key requires n distributions, in which each user needs to communicate with the
and each user needs to manage a single key. A breach rest of the group, a total of 21 key distributions are
in secrecy of the key results in all communications needed.
among the group members being compromised.
These scenarios point out the fact that the number
In a second scenario, each group member decides of secret key distributions among a population of
to maintain a separate secret key and therefore needs users is increasingly proportionate to the number of
to communicate it to each of the other members of communication links among the group. Upon re-
the group. Here n(n ⫺ 1) key distributions are re- newal of a secret key, the key distribution process
quired, and n keys need to be stored and managed takes place all over again. Naturally, the more often
by each user. Compromising one key results in ex- a secret key is distributed, the more likely it is to be-
posing all the communications destined to that key come compromised. A compromise can occur when
owner. the key is in transmission or while it is on a storage
medium. Distribution of long-term secret keys goes
In the second scenario, the secret key of each user against the core premise of symmetric key cryptog-
is divulged to the rest of the group members. One raphy, for which the strength lies in the secrecy of
user might masquerade under another user’s iden- the key.
tity—a potential security threat. To resolve this prob-
lem, each pair of users may resort to a separate key Advances in software systems have mitigated the
for their communications. In a scenario where ev- problem posed by secret key distribution and man-
ery two members of the community require a com- agement by adopting a central repository of keys,
munications channel, the group must distribute managed by a single server, the key distribution cen-
n(n ⫺ 1)/ 2, whereas each member must manage ter (KDC). Each of the communicating entities di-
n ⫺ 1 keys. Figure 3 illustrates three variations in vulges its secret key to the KDC only, resulting in n
the communication patterns that can take place key distributions where n is the size of the commu-
within a group of seven users. Each member of the nity involved. The mere presence of a KDC, however,
PRIVATE KEY
HASH ENCRYPT
DOCUMENT DOCUMENT DOCUMENT
TO SIGN DIGEST SIGNATURE
PUBLIC KEY
DECRYPT
DOCUMENT DOCUMENT
SIGNATURE DIGEST
COMPARE
HASH
DOCUMENT DOCUMENT
TO VERIFY DIGEST
p⬘ such that H( p) ⫽ H( p⬘) (known as collision- idating a signature using a public key cryptographic
resistance). algorithm.
The goal of using a one-way hash function is to com- By definition, verifying a digital signature automat-
pute a unique “fingerprint” that then represents the ically proves the authenticity of the signer. With its
document over which it is computed. Widely used inherent support for data origin authentication and
one-way hash functions include MD5 13 and SHA-1, 14 nonrepudiation, public key cryptography has taken
which digest an input onto 128 and 160 bits, respec- computer security to a new level. However, there is
tively. still a weak point in binding the publicly available
key to the legitimate owner of the associated private
To digitally sign a document using a public key cryp- key. In the next section we provide further details.
tographic algorithm, a hashing function is applied
to the document, then the hash is encrypted using Trusting a public key
the private key of a public key pair. The premise is
that the signature can only be verified using the pub- From the outset, public key cryptography elegantly
lic key corresponding to the private key used during solved the key distribution and management prob-
signing. Thus, with the assumption that the private lem introduced by secret key cryptography. Anyone
key remains confined to the secrecy of the owner, can use the public key to encrypt data, but only the
and furthermore by preventing users from obtain- owner of the private key can decrypt it. The com-
ing direct access to their own private keys, a digital munity of users in our earlier example can now adopt
signature prevents a user from denying the signing a public key cryptographic system for securing its
of a document. This property is referred to as non- communications, dispelling concerns over key dis-
repudiation of the signing action. Preventing direct tribution and simply sharing a repository that main-
access to the private key precludes someone from tains the public keys of its members. Consider a sce-
intentionally disclosing his or her own private key nario in which Elyes and Aicha, two members of this
and later denying the signing process. Commonly community, wish to communicate with each other.
used digital signature algorithms are RSA and DSA. 15 Elyes looks up the public key of Aicha from the re-
Figure 5 illustrates the process of computing and val- pository of keys, then uses it to encrypt and send a
AICHA: XXXXXXX
2
1
3 4
ELYES ALICE AICHA
message to Aicha. A third person, Alice, wants to public keys place their trust in a single entity, known
listen in on this communication channel, mounting as the certificate authority (CA). Before a user’s pub-
the attack illustrated in Figure 6. Before any com- lic key is disseminated to a public repository, the un-
munication takes place, in step 1, Alice replaces the derlying high-assurance CA uses its own private key
public key of Aicha in the key repository with her to digitally sign it. A reliant party securely installs
own public key. In step 2, while Elyes thinks he re- the public key of the trusted CA and uses it to verify
trieved the public key of Aicha, he in fact now has the signature of each user’s public key. Only upon
the public key of Alice. In step 3, Elyes uses the key a successful verification of the signature does a re-
he retrieved in step 2, encrypts a message, and sends liant party initiate a communications channel. This
it to Aicha. In step 4, Alice intercepts the message, simple method of certification thwarts an attacker
uses her private key to successfully decrypt it, reads who does not have a public key signed by the same
the message, then re-encrypts it using the public key CA as that of the two communicating parties, but fails
of Aicha, and forwards the message. Finally, Aicha to do so when the attacker is also in possession of
receives the message and decrypts it using her pri- a key signed by the same CA.
vate key, unaware of the eavesdropping.
This illustrates the weakness in using a public key In order to provide reliable assurance, a comprehen-
without securely verifying that it indeed belongs to sive public key certification process requires more
the designated party. It raises the fundamental ques- security elements than simply a signed encryption
tion of how a secure binding can be achieved between key. These elements are embedded in the data con-
a publicly available key and its holder so that a user struct to be certified. For the Internet, this construct
of a public key, referred to as a reliant party, can se- is an X.509 version 3 certificate, and the secure infra-
curely verify the binding prior to using the key. structure that provides it is the public key infrastruc-
ture for X.509 (PKIX); the repository in which certif-
One promising answer lies in the certification pro- icates are kept is based on the standard Lightweight
cess that a public key infrastructure (PKI) can provide. Directory Access Protocol (LDAP) service. We fo-
At the heart of a PKI is the digital signature tech- cus on the details of this infrastructure throughout
nology that we introduced earlier. Parties reliant on the remainder of the paper.
CERTIFICATE PUBLISHING
CERTIFICATE
REGISTRATION REQUEST A CERTIFICATE AUTHORITY
X.500 AUTHORITY
CRL PUBLISHING
DIRECTORY
REVOKE A CERTIFICATE
ICL REPOSITORY
HIGH-ASSURANCE ENVIRONMENT
END ENTITY
A CRL shares five data types with a certificate: a ver- The CRL distribution points extension is an X.509 v3
sion number, a signature algorithm identifier, the is- certificate extension that indicates the location of the
suing CA name, zero or more extensions, and a sig- revocation information. Distribution points, there-
nature value. The signature is computed over the fore, represent a bridge between the certificate and
flattened DER encoding of the CRL content. Each re- its controlling CRL. CRL distribution points also ad-
voked certificate is identified by its serial number. dress the issue of scale that might be introduced in
Since certificate serial numbers are unique with re- an enterprise that could revoke large numbers of cer-
spect to the issuing CA, a reliable PKIX revokes cer- tificates. By distributing CRLs across multiple loca-
tificates through the same CA entity that issued them. tions, applications are able to off-load smaller por-
The first time stamp encountered in a CRL indicates tions of CRLs while performing validation. The format
its date of issuance; the second one is the date for of a CRL distribution point name is generalized
the next CRL update. The most notable component enough to allow a variety of CRL hosting services,
of the extensions field is the issuing distribution point for example, an X.500 directory name, a remote uni-
name, a standard extension that indicates the loca- form resource identifier (URI) such as an LDAP URL
C =US
O=IBM
OU= SecureWay
(uniform resource locator), or some other server the need to maintain the benefits of PKI-based se-
based on the Internet HTTP protocol. curity in applications that support interactions across
enterprises. The basic issue is to join independently
CRL distribution points also allow redundant CRL lo- deployed public key infrastructures with minimal dis-
cations, so that certificate validation is not affected ruption and the greatest transparency possible, al-
by a CRL hosting server that becomes unavailable. lowing each certification authority to remain the sole
CRLs can be stored in an LDAP server as attributes authority for its own domain of operations.
of the issuing CA. Figure 10 illustrates three CRLs lo-
cated at three distribution points in the form of a
PKIX provides two methods for achieving cross-do-
directory name: CN ⫽ CRL DP0, OU ⫽ SecureWay,
main certification. The first is through hierarchical
O ⫽ IBM, C ⫽ US, CN ⫽ CRL DP1, OU ⫽ SecureWay,
certification authorities; the second is through a peer-
O ⫽ IBM, C ⫽ US, and CN ⫽ CRL DP2, OU ⫽ Secure-
to-peer relationship in which a CA from one domain
Way, O ⫽ IBM, C ⫽ US.
is cross certified with a CA of another domain. Fig-
All CRLs located at these points are issued by a CA ure 11A illustrates a hierarchical relationship be-
with name CN ⫽ SecureWay CA, OU ⫽ SecureWay, tween two domains served by CA1 and CA2. The
O ⫽ IBM, C ⫽ US. In this example the CRLs are phys- hierarchy implies that CA1 and CA2 are not in pos-
ically stored at their respective directory names as session of self-signed certificates (one in which the
indicated by the distribution points under the at- issuer and the subject names are the same). Instead,
tribute certificateRevocationList, defined by the stan- both of these certificates are issued by the root CA
dard PKIX LDAP schema. 25 bridging the two domains. (Note that the depth of
a hierarchy is not limited to a single level as shown
in the figure.) Validating a user certificate in the do-
Cross-domain certification
main served by CA1 or CA2 is a recursive process that
The proliferation of public key infrastructures ulti- applies to the chain of certificates extending from
mately leads to their extension across the boundaries the root CA to the user. Additionally, a certificate
of certification domains. Such domains may consist issued within the domain of CA1 can be validated by
of multiple organizations, or departments within a an application running within the domain of CA2 by
single enterprise, or multiple independent enter- similarly finding a validation path starting at the high-
prises. Bridging multiple domains can be driven by assurance root CA.
ROOT CA
A B
ROOT CA
Cross certification is a peer-to-peer joining of two In the hierarchical case, each of the subordinate cer-
disparate infrastructures. As illustrated in Figure tificate authorities maintains a certificate issued by
11B, CA1 issues a cross certificate for CA2 to indicate a higher CA. This certificate validation path spans
that user certificates issued by CA2 for its popula- an entire branch of the tree starting from the root
tion are now trusted for use within the domain served down to the leaf user entity. This process is applied
by CA1, provided of course that they pass the stan- each time a certificate is used. In the cross-certifi-
dard test of validity. A cross certificate is simply an cation scenario, however, validating a certificate from
X.509 CA certificate that is signed by another author- an application running in the same domain does not
ity. A reliant party in the domain of CA1—such as require use of any CA cross certificates.
an application server—that receives a service request
with a certificate attached to it from a client in the The hierarchical scheme establishes the cross-do-
domain of CA2 will perform the following steps: main trust via a single third-party certification au-
thority. A higher assurance in the infrastructure can,
● Determine that CA2, the issuer of the requester’s therefore, be maintained by strongly securing one
certificate, is cross certified by CA1. This could be entity, the root certificate authority. Prior knowledge
done by looking up the crossCertificatePair attribute of the legitimate validation path by an application
in the CA2 entry of the requester’s directory server. leads to the detection of any compromise of a sub-
● Validate the requester’s certificate using the pub- ordinate authority. In the cross-certification case, the
lic key of CA2 same high level of assurance is required in all of the
● Validate the cross certificate using the public key certificate authorities in order to avoid a compro-
of CA1 and hence establish trust in the client cer- mise. Leaving any of the certification authorities ex-
tificate posed may lead to the compromise in using certif-
icates across domains.
Similarly, CA2 can also cross certify CA1, and thus cer-
tificates issued by both certification authorities can Note that a hybrid method that combines hierarchies
be interchangeably consumed by applications across and horizontal cross certification can also be used
the two domains. Essentially, the two domains then to join disparate infrastructures. Figure 11C illus-
become fully bridged. Note that each of the certi- trates a hybrid cross-domain topology that includes
fication authorities remains the root CA for its own four certification authorities in which CA1 and CA2
domain and each is still known through its self-signed are subordinate to a common root, while CA2 and
certificate. CA3 participate in a horizontal cross-certification re-
CDSA consists of a framework that supports dynamic Each of the Jonah servers is controlled via its graph-
loading of pluggable low-level services that provide ical user interface (GUI) layer that starts and con-
cryptographic functions, known as the Cryptographic figures the server in its intended role. Jonah CMP im-
Service Providers (CSPs), data storage and retrieval plementation is over direct TCP. An abstraction layer
of security constructs such as cryptographic keys and is created around the socket interface to easily al-
OBJECT STORE
low for additional transports defined for CMP, such nature of CMP, along with the possibility of PKIX serv-
as HTTP and SMTP (Simple Mail Transport Proto- ers going off line, led to Jonah’s architecture around
col). As we discuss in the next section, the separa- a nonvolatile object store as a medium for represent-
tion of the CA from the RA and the adoption of a ing and maintaining all the PKIX transactions (Fig-
transactional model that is based on an object store ure 14). Processing threads are spawned in response
prevent the loss of PKIX transactions and allow the to events detected by monitoring state changes in
CA to run in off-line mode. The core functionality the object store entities. For instance, an end entity
of the Jonah RA and CA servers was subsequently may construct a certificate request by creating an ob-
integrated into the IBM/Tivoli PKI Trust Authority 29 ject representing the request, storing it in the object
product offering. IBM Trust Authority provides a ro- store, then submitting the request to the RA and
bust and reliable registration and approval frame- marking the underlying object as a surrogate in the
work of PKIX client entities as well as a rich set of object store indicating that it is active in another
certificate life-cycle management functions that can server, the RA in this case. When a polling response
be initiated through a browser-based or a native is returned, the request object is updated with poll-
graphical interface. Two Jonah developments are ing information that will subsequently drive a series
worth noting here: the adoption of a computational of polling requests until a complete response is re-
model centered on an object store and the devel- ceived, at which time the object is marked complete.
opment of a well-structured native ASN.1 library. Similarly, when the RA server first receives the re-
quest it parses it in order to determine its type. It
The Jonah object store. Naturally, certificate enroll- then creates an object in its object store represent-
ment transactions may require some intervention for ing the request, marking it active. An event is then
human approval of a request. Such intervention may triggered to dispatch a thread that processes the re-
incur prolonged service time. Instead of blocking the quest. To aid the performance of Jonah servers, the
initiator, CMP was designed as a polling protocol that object store on disk is backed by a run-time cache
guarantees a synchronous response to a request. If that maintains a subset of the objects representing re-
a service response cannot be completed, it sends back cently active transactions. Jonah transactional messages
a polling response that tells the initiator to period- are immediately mapped into entries in the object store.
ically poll until the request is serviced. The polling As long as they are captured in the object store, Jonah
PKIX transactions are prevented from loss even when a trusted root authority, a simple method, such as
a participating Jonah server goes off line. a verifiable digital signature, leads to proof of pos-
sessing the underlying identity, otherwise known as
Jonah processing: Computing over ASN.1 objects. authentication. Secure identification is the key pre-
All of the PKIX constructs, including protocol for- condition for granting access to controllable re-
mats, are described in terms of ASN.1 data types. The sources. A resource manager will attempt to enforce
Jonah developers have designed and implemented an access control policy only after a successful au-
an ASN.1 class library for parsing ASN.1 encodings and thentication.
building run-time ASN.1 C⫹⫹ objects. The library di-
rectly implements the ASN.1 primitive types, such as The X.509attribute certificate 30 (AC), of which an
character string and integer, and provides a well-struc- X.509 certificate is a fundamental part, seeks to cer-
tured class hierarchy for building up constructed tify or securely bind a set of authorization capabil-
ASN.1 types such as sequences and sets. High-level ities to a subject, in the same way that an X.509 PKC
PKIX objects (e.g., a certificate or a CRL) are easily binds a public key to its subject. The distinction be-
defined. Functions needed for the manipulation of tween these two types of certificates is dictated by
a newly defined high-level object become immedi- the dynamic nature of authorization roles that a par-
ately available through the generic methods defined ticular entity can assume over time, while possess-
by the class hierarchy. The use of C⫹⫹ polymorphism ing the same public key certificate. Figure 15 shows
allows Jonah ASN.1 objects, where applicable, to be how a trust path is established in an AC by tracing
manipulated through common interfaces that in turn back the holder to the associated X.509 PKC.
behave differently based upon the type of the ob-
ject. The computational model in Jonah presents a It is worth noting that the authority issuing an AC
uniform and consistent aspect for transforming and uses the public key certified by its PKC in order to
manipulating first-class ASN.1 C⫹⫹ objects, includ- sign it. Thus, the validation path of an AC ultimately
ing object store processing. requires the presence of the holder’s PKC and the
PKC of the issuer of the AC, as well as a valid trust
Attribute certificates: The next evolution of chain to the root signing authority for each of the
PKIX public key certificates. The set of authorization priv-
ileges that an AC certifies are defined by an ASN.1
A Public Key Certificate (PKC) serves as the basis Attribute type, which is a sequence of (key, value)
for the authentication of the subject it identifies. Pro- pairs identifying access right types and their asso-
vided a user’s certificate is validated with respect to ciated values; for example, a clearance is identified