This document summarizes the findings of the Department of Energy (DOE)'s 2nd Joint ER/DP Security Research Workshop, held in Albuquerque in December 1996. This workshop built on the results of the first Joint Workshop, held in Chicago in November 1995, which reviewed security requirements represented in a range of mission-critical DP and ER applications, discussed commonalties and differences in ER/DP requirements and approaches, and identified an integrated common set of security research priorities. (See http://www-itg.lbl.gov/DOE_Security_Research for a summary of the first workshop's findings.) One significant conclusion of the first workshop was that progress in a broad spectrum of DOE-relevant security problems and applications could best be addressed through public-key cryptography based systems, and therefore depended upon the existence of a robust, broadly deployed public-key infrastructure. Hence, public-key infrastructure ("PKI") was adopted as a primary focus for the second meeting. The two and a half day Second Joint Workshop brought together 35 security researchers and practitioners from Defense Programs (DP) and Energy Research (ER) laboratories. The workshop comprised a mixture of presentations and discussion. Presentations covered a range of DOE security research and deployment efforts, as well as summaries of the state of the art in various areas relating to public-key technologies. Workshop participants were charged with: The principal findings of the workshop are contained in this report, and can be summarized as follows: In addition, as in the First Joint Workshop, there was a general feeling that the meeting provided an invaluable opportunity for ER and DP researchers and practitioners to discuss common interests, and hence should be continued on an annual basis to ensure an integrated ER and DP infrastructure and supportive security research. The ER MICS Division support for these workshops has proven invaluable in ensuring their success. The rest of this report is divided into four sections. Section 1 provides background material on public-key technology. Section 2 summarizes DOE-specific challenges in the area of public-key infrastructure, as identified in the workshop. Section 3 lists "testbeds" proposed at the workshop. Finally, three appendices provide the workshop program, participant list, and a PKI technology introduction. Executive Summary
Goals:
Findings:
Contents
Multiple DOE-critical applications must protect against unauthorized access and/or assure privacy of proprietary, confidential, or otherwise restricted data. For example:
In each of these applications, authentication and access control mechanisms are required, and indeed are essential to safe and secure operations. Awkward, intrusive, and/or expensive security mechanisms will delay the wide-spread use of these applications in open environments. Hence, we require security techniques, tools, and architectures that are flexible and effective (to provide require capabilities in a manageable, cost effective, and usable manner) and that are easily deployed, administered, and used. Furthermore, these architectures must automate all aspects of the security process once certificates are defined, to provide for generalized and transparent access control. (We use the term certificate in this report to refer to "documents" used for authentication and authorization, and whose integrity is assured through cryptographic techniques. These documents are also known as "public-key certificates," "digitally signed certificates," or just "signed certificates.")
The overall goals of security architectures, then, are to encode, distribute, protect, and then act on, information that is needed to provide for the routine, secure availability of remote resources in a widely distributed environment, where the users, resources and stake-holders may all be in different places at different times.
This statement of the general problem encompasses many DOE applications, and some of these are described below.
The emerging approach to address the distributed environment problem described above makes use of the scalable and distributed characteristics of public-key certificate infrastructure ("PKI"), which obtains its name from the underlying technology of public-key cryptography.
Public-key cryptography has unique characteristics that make it invaluable as a basis for security functions in widely distributed environments. Briefly, this form of cryptography uses a pair of asymmetric keys with the property that what one encrypts with one key of the key-pair can only be decrypted with the other key of the key-pair, and visa versa. A user ("A") generates or is issued this key-pair, and one key is designated the "private-key" - and must be kept secret by the user - and the other is the "public-key." The public-key is widely and openly distributed (some commercial organizations publish their public-keys in the New York Times). For example, anyone may send user A a confidential message by encrypting plain text using A's public key and then sending the encrypted message to user A. Only user A can decrypt this message since only she has the private key (of the key pair) necessary to properly decrypt the message.
The private-key is also used for authentication of user-A. A message that can be decrypted with a given public-key could only have been encrypted with the corresponding private-key. If that private-key has been kept secret by A, then only A could have sent the encrypted message. One important use of this characteristic is the digital or cryptographic "signing" of documents or messages. The purpose of the signing is to prove both that the message originated with A, and is un-altered from its original version. This is accomplished by producing a hash code (a short and unique code based on a mathematical transformation of the message) and then encrypting this hash with the private-key. This message digest is appended to the message (or sent separately). The receiver decrypts the hash with user-A's public-key, recomputes the hash of the message, and compares the two hash codes. If they match, then the received message must be identical (bit-for-bit) with the one that user-A generated originally. A variation of this procedure is used in authentication exchanges for functions such as remote login and remote shell.
Public-key identity certificates associate a public-key with a (typically user or system) name. A public-key identify certificate is a document that contains a name, say of A, together with A's public-key. This document is then cryptographically "signed" by a "trusted" third-party. The purpose of the third-party is usually to attest to a relationship between the name in the certificate (e.g., that it belongs to a "real" person of the "same" name). This function is called a "certificate authority." There are different forms of certificates, including those supporting the authorization to do something, delegation of authority, etc. (See "Appendix 3: Public-key Certificates - Background" for more introduction on PKI technology.)
Hence, the term Public-key Infrastructure refers to the combination of four components: (a) public-key cryptography, (b) digitally signed documents, (c) trusted third-parties that provide some guarantee about the relationship between names, public-keys, and "real" entities, and (d) the mechanisms for publishing and using the certificates.
The PKI approach as just described has emerged from a concurrent evolution of the information systems being protected and the security mechanisms protecting them. This evolution continues, and in fact PKI is now being extended beyond the classical notions of "security" and is being acknowledged as a critical component of distributed enterprises of all types ([GASD96] [John96a]). In general, we can say that PKI concerns not just security, but also addresses the more general problem of handling distributed information in ways that enable new capabilities (e.g., brokering resources for construction of distributed systems). From this perspective, it is perhaps not surprising that the concerns of the financial services industry are remarkably similar to those of DOE: technologies that are components of a security architecture for distributed environments (especially as related to contracts and conduct of business) are also essential components of electronic commerce and globally distributed enterprise. Table 1 (abstracted from [GASD96]) summarizes the view of the financial community..
In reasoning about security it is useful to decompose the situation into several level of abstraction: security model, architecture, infrastructure, and operations.
The security model addresses what is being protected, and how. A brief example of such a model is the following (taken from [John96a]):
Our general model addresses access control and data confidentiality for computer mediated resources. The resources have use-conditions specified by the responsible parties that are expressed as cryptographically signed documents. Potential users have matching attributes that are also attested to in cryptographically signed documents. Access control is then based on, first: producing a set of credentials that verify that the use-conditions have been satisfied; second, at the point and time of access to a resource, validating the credential presenter and performing any required real-time ("check-immediate") actions (such as revalidating certificates, payment-like exchanges, etc.).
From an abstract point of view, this model is taken directly from how human organizations deal with similar sorts of resources today.
The security model drives the design of the architecture.
A security architecture specifies how various components fit together to form a system. These components may include key management, certificate management, security context establishment, user authentication, message authentication/confidentiality, application communications libraries, etc. These components must interoperate to provide the capabilities needed to protect the resources in question.
Significant aspects of architectures are also driven by operational requirements: who generates authorization certificates and access control lists, how computing systems administrative domains and application security domains interact (they are likely to have different policy concerns), etc. Architectures are also driven by the availability of components, current directions in the commercial and standards communities, etc.
A fairly general architecture that appears to meet the needs of scientific computing applications is the IETF Generic Security Service [GSS]. This architecture provides authenticated and confidential messaging between components of distributed systems, together with the collection of functions needed to establish security contexts: various certificate and private-key management, certificate generation, storage, location, and use techniques, tools, and APIs, as well as other tools needed to build a useful and deployable security system.
The infrastructure supports the architecture by providing basic functionality, e.g., public-key certificates, certificate location and distribution mechanisms, private-key management, certification authorities, etc. From a practical point of view, characteristics of the available and emerging infrastructure also drive the architecture.
Public-key certificates provide mechanisms for establishing identity and for distributing the cryptographic information needed to use that identity for user and message authentication. Additional mechanisms are then required for locating and certifying these certificates. The computing community is in the process of defining and deploying these infrastructure components. While there is agreement on some of the basics (e.g., X.509 certificates for identity), many aspects of this infrastructure remain without common agreement or implementation. For example, it is not obvious whether the Web will be used to store, locate, and retrieve various types of public-key certificates, or whether LDAP and/or X.500 will be the common certificate distribution mechanism, or whether and how all of these mechanisms will be used.
Practical operational mechanisms that minimize the intrusive and administrative impact of the security environment are needed for certificate definition and issuance, integration with computing system administration, etc.
The Public-Key Infrastructure Working Group of the IETF Security Area ([pkix]) has produced a comprehensive description of the various sub-functions and components of a general and open PKI ([APKI]) and are working on specification of detailed interface and data format specifications for all of the components and subcomponents. Implementation of this architecture and its open interfaces would go a long way toward promoting a uniform approach to security in a wide range of applications. However, it is not clear at this point that vendors will implement this architecture and its open and interoperable interfaces8 unless pressured to do so.
The "Architecture for Public-Key Infrastructure" [APKI] document groups PKI components into the broad functional categories and relationships indicated below
.
A brief description of the major PKI components, as defined by the APKI Working Group follows:
The architecture's cryptographic primitives may be provided by hardware (e.g., smartcards or cryptographic modules) or by software.
Candidate interfaces for access to cryptographic primitives include The RSA BSafe library, The X/Open GCS-API and, The Microsoft CryptoAPI 1.0.
Two examples of DOE applications that are inherently distributed - in system architecture, use, and administration - and that therefore require a scalable security architecture, are remote collaboratories (distributed collaboration and remotely controlled instruments) and metacomputing (distributed supercomputing).
Security architectures supporting these applications require interoperating mechanisms for secure remote user access to system components (for administration) and for secure interprocess communication (IPC). In the future, these applications will also require use and resource-owner certificate definition and management functions, as remotely defined authorization and attribute certificates replace access control lists as the user validation mechanism.
The secure IPC can be provided by several different mechanisms, all of which can use PKI for user authentication.
The GSS-API is a secure messaging standard that is used for data communication in distributed programs. (See [GSS] and [SPKM].) Programs that use GSS-API directly are "mildly security aware", in that they must specify a few simple parameters that specify whether, for example, messages are authenticated or encrypted. The application may, or may not, get involved with the establishment of the GSS security context (GSS initialization). GSS is intended to provide application security services independent of the underlying security architecture, and the SPKM version of GSS uses PKI.
GSS is used by the LBNL distributed storage systems [DPSS]) to provide independent security contexts for enforcing the relationship among the storage system components and resources (e.g. which servers and how much disk may be used by a particular instance of DPSS) as well as providing enforcement of data-owner imposed file access restrictions.
CORBA is an IPC mechanism used by remote instrument control systems.
CORBA provides a high level "RPC" mechanism with function call-like semantics (as opposed to GSS, which is a low-level two-way messaging system). The CORBA Security Services draft standard [CORBASEC] defines a way of using GSS-API (and therefore PKI) to add authentication and authorization to the existing CORBA RPC mechanism. The GSS security functionality can be added to some CORBA implementations (depending on the modularity of the implementation - see, e.g. [Desai]).
The scale and performance requirements of distributed supercomputing applications can place heavy demands on IPC mechanisms. These applications can span hundreds or even thousands of processors, located at multiple sites. They can require low latencies and high bandwidths, and often have little tolerance for overhead. Hence, specialized techniques can be required both for security context establishment and for secure IPC. Zipper [Zipper] is a secure communications library that provides these functions. Security context is performed by using authentication mechanisms provided by Globus [Globus]; high-performance transport is provided via security-enhanced versions of the Nexus and MPI communications libraries, based on multimethod communication mechanisms provided by Nexus. These libraries allow security mechanisms to be enabled selectively, and used over multiple low-level communication protocols and substrates.
Zipper does some of its own security context establishment, and also uses GSS.
Secure access to remote systems can be provided by utilities such as SSH [SSH] or by PAM-aware applications (see below). Both of these mechanisms provide secure remote log-in, copy, etc.; SSH provides in addition secure X-windows sessions (and a general secure port proxy mechanism). Both of these systems have security context establishment mechanisms that can (potentially) use PKI.
Commercial organizations are developing public-key infrastructure products, and these products can be expected, in the future, to meet many DOE requirements. Indeed, there are significant areas of DOE interest (such as financial transactions) in which there is no reason to expect that commercial developments will not provide all required functionality.
At the same time, it would be a mistake to conclude that DOE can afford to wait for commercial vendors to meet all DOE needs. As emphasized at the First Joint Workshop, DOE applications in areas such as
In the rest of this section, we list PKI issues identified by workshop participants as particularly challenging, missing but potentially useful or necessary, or present in theory but not in practice. This list is certainly not complete, nor is it the case that only DOE will address these issues. However, each of these issues is currently an obstacle to DOE use of PKI and an obstacle to some classes of DOE applications. We conclude the section with a discussion of open interfaces and interoperability.
The Workshop discussions identified a range of required functionality, some of which may be expected to show up in commercial products as they are currently evolving, some of which will show up in commercial products if the vendors are "pushed" in the "right" directions (e.g. with RFP requirements), and some of which we do not expect to show up in commercial products. The main topics are:
These are discussed below.
Background:
Rationale:
Issue:
Background:
Rationale:
The same archive can provide some protection against compromised private (signing) keys if the archive itself is secure and un-modifiable. (If the time of the compromise can be identified, then a secure backup prior to that time will be known to contain valid signatures.)
Recovering previously encrypted data may also be a concern, so it may be necessary to archive encryption keys that have been used to encrypt data for storage.
Issue:
Background:
Rationale:
Issue:
Background:
Rationale:
Issue:
Background:
In this certificate-rich model (as in the financial services industry work described in [X9.45]) certificates will be used to encode securely a wide array of conditions, delegations, and characteristics, that are handled in a variety of ways in the enterprise today. For example: cost of services; limits on disk and CPU utilization in distributed systems; identification of corporate functions (e.g., person A is a purchasing agent); record-level data access rights (e.g., access to disciplinary records in the personnel database require signatures of two people with HR function); delegation of contract authorizations from CEO Head of the Purchasing Dept.; or "a level of safety training is required for access to this instrument."
The motivation of both the scientific and the financial communities to use such conditions and authorizations encoded in certificates is to automate the process of maintaining control and proper functioning of all aspects of the enterprise in a widely distributed environment where people increasingly do not necessarily experience face-to-face contact with colleagues and supervisors while doing their work. A similar motivation exists for control over information streams in the global network environment, as typified by the Web.
Rationale:
Issue:
Background:
Rationale:
Automatic generation of trust relationships based on analysis of "chains" of certificates is an important part of application security architectures. The fixed set of rules in the approach of X.509 is difficult and inflexible. The view of X.509 as a once-and-for-all standard of trust expression represents a weakness. Although it is not required to be implemented this way, the typical implementation of bit-field meanings and interpretation of X.509 fields is hardwired into the client software, libraries, and so on. This makes it expensive (in terms of the upgrade burden on clients) to introduce changes to the X.509 standards.
The Policymaker approach [BFL96] of a trust-expression language, or the general idea of a "policy engine" (that takes "any piece of signed code" that evaluates trust conditions) allows for an evolving trust model, and thus provides a much more flexible security condition rule evaluator, and this is also being integrated in SPKI.
Issue:
Background:
Rationale:
Issues:
Background:
SPKI and SDSI could be considered alternatives to X.509 proposed for this very reason although the audience is programmers not users. SSH could be considered a response to the initial costs of establishing a Kerberos/DCE-like environment when all that is needed is secure login to a remote system. (e.g.
SSH:
Kerberos:
Other pieces such as policy modules, and application specific authorization need to be custom developed, but will need to fit into and be able to extend the off-the-shelf software.
Rationale:
The interfaces between application software and services could restrict the components which can interoperate, and thus reduce the general applicability of PKI. These interfaces should therefore be widely accepted and practiced, i.e. not vendor specific. Moreover, these interface definitions should be easily obtainable: no document fees, use fees, disclosure agreements, licensing, etc.
Issues:
Background:
Proxies (application-specific activity filters that operate in conjunction with firewalls) work, but they are high cost in terms of development, hardware, administration, etc.
Rationale:
Issues:
Background:
Issues:
Background:
These names may already be present in a database elsewhere, e.g. personnel, DNS, organizational charts. It is necessary to maintain "database integrity", such as when a person is removed from the personnel database, identity certificates must be revoked. Or when an employee switches roles, authorizations are transferred over to someone else.
Rationale:
The certificate authority issuing/revoking operations are a low-level means of maintaining data.
A higher-level means would be to tie in the certificate authority function to existing data-management tools, e.g. databases with rule systems. Higher level operations, such as "Give user Y exclusive access to resource X for N amount of time" or "Assign user X the rights associated with role Y with default override.", may translate to issuance of (multiple) certificates with particular attributes and lifetimes and perhaps even establishment of rules to enforce exclusivity.
This heavyweight management may not be required for most applications - such as that of a single person managing a small set of certificates of limited scope. The CA should be designed with this possibility in mind.
Issues:
Some of the identified issues are in the realm of research and development, and basic work will have to be done before ideas and implementations are ready for testbeds.
Background:
The situation is similar with multicast groups, though the loser association presents a somewhat different problem.
Rationale:
Key-sharing is really trust-sharing, so if a large group of hosts (such as a group of data servers) trust each-other (because the software and hardware are owned by the same entity), then they can all use the same key for communication. Likewise, if a client trusts a group of hosts equally (that the software on each of them is operating), then it can share one key with the group of hosts.
Server load balancing and fault tolerance through request redirection or response "stand-in" doesn't require encryption/decryption with different keys since the keys shared between the servers and client are the same.
(Claim:) N-way security contexts explicitly allow for failure tolerance while 2-way security protocols do not -- if one party of a two party context goes away, the context has been torn down. If one party of an N-way security context goes away, it doesn't necessarily mean the security context is no longer valid.
Issues:
(conference in Finland has good 5-page overview documents on some topics:
Background:
Rationale:
Issues:
OS services, daemon processes running with particular credentials need to be started back up with those credentials. The OS needs to support this. Unix supports the notion of setuid which is one form of associating credentials with a newly started process. Credentials in a public-key environment may be much richer.
The workshop participants agreed that PKI "testbeds" are important in order to provide environments in which researchers and users can conduct experiments with security technologies by involving DOE-relevant applications on a meaningful scale. The term "testbed" is used here to denote, typically, a collection of systems and sites, generally connected over an existing network such as ESnet, that are applying security techniques to a common problem. Alternatively, "testbeds" could be defined in terms of the scope of interoperating PKI components, in which several applications, as well as the interoperation of the PKI components, are the subject of the testbed. That is, the testbed is an experiment in interoperable PKI components, and the applications motivate the various ways in which the components are used (e.g., all aspects of certificate management in a "certificate-rich" application environment).
As discussed above, some of the proposed testbeds are focused on aspects and components of PKI for which it seems likely that commercial developments will not provide required advances: for example, the dynamic use of certificates for real-time authorization of remote instruments, or certificate management in distributed, high-performance computing environments. In contrast, commercial developments are highly likely to provide required advances in areas such as electronic commerce, long-term retention of signed documents, and PKI interoperability; in these areas, testbeds might focus on establishing and refining operational procedures. In all cases, DOE should attempt to be a market and technical force to drive the commercial vendors toward open system solutions with interoperable components.
We expect to highlight and demonstrate two principal PKI scenarios in the testbeds. First, the groups that are designing and testing general scientific application security architectures require an open PKI architecture that permits heterogeneous implementations to access many different functions (as indicated in [APKI]). Such functions include private-key operations, small (individual) as well as institutional scale certificate servers that have different types of certificate organization and search strategies, etc. On the other hand, the second scenario involves groups interested primarily in the "traditional" PKI service functions (e.g., for electronic commerce), will be more concerned with operational and procedural aspects of the problem. For example, a testbed investigating the issues exposed in the AM-NII [AM-NII] work may use a single PKI product - as they do now with Entrust - but focus on issues relating to long-term archiving of signed documents, encrypted documents, keys, etc.
We envision both kinds of PKI testbeds being implemented, with one of the goals being interoperation of these two environments.
We can use testbeds to investigate, especially in widely distributed environments, the general issues involved with:
Independent of the particular application considered, each testbed will also provide a framework in which DOE researchers can develop an understanding of how to deploy and manage a variety of PKI technologies, including security architectures designed to protect whole classes of applications.
Testbeds should be driven by applications that require the use of a common security infrastructure in a distributed environment. The following applications appear particularly promising.
Background:
On the one hand, there is a great potential for highly distributed computing to benefit science:
The fusion of computers and electronic communications has the potential to dramatically enhance the output and productivity of U. S. researchers. A major step toward realizing that potential can come from combining the interests of the scientific community at large with those of the computer science and engineering community to create integrated, tool-oriented computing and communication systems to support scientific collaboration. Such systems can be called "collaboratories."
"National Collaboratories - Applying Information Technology for Scientific Research," Committee on a National Collaboratory, National Research Council. National Academy Press, Washington, D. C., 1993.
On the other hand, this will not happen in an open network environment until we put into place a strong and flexible security architecture and infrastructure:
"The access to a remote collaborative environment, whether it is for monitoring or for control of experiments, requires that security and access limitation mechanisms be in place, so that safeguards against unauthorized access and privacy of proprietary data exist.
The advent of collaboratories brings a new class of user to the ALS. These users are likely to be much more occasional and less experienced with the equipment than has been the case in the past. Collaboratories will provide network based access to very expensive equipment and must be designed to avoid several potential security and safety problems. They must also be designed to have automated equipment failure modes with sanity checks on all incoming data and be resistant to network-based tampering. With respect to remote users, one significant issue is to ensure that use-conditions of the remote resource have been met."
(From "Spectro-Microscopy Collaboratory at the Advanced Light Source Project Summary", http://www-itg.lbl.gov/~deba/ALS.DCEE)
Remote operation of instruments and other equipment in distributed collaboratories, and cross-organizational distributed systems, are examples of the scientific community's movement toward distributed enterprise. The financial information and services industry's move toward global operation - especially in the areas of contracts and delegated authority - presents similar issues, and architectures similar to the one being described here are being designed to support global distributed commerce. [GASD96]
Issues:
Access to remote instrumentation resources via open networks, whether for monitoring, control of experiments, or collection and manipulation of data, requires that authentication and access control mechanisms be in place in order to provide safeguards against unauthorized access, and to assure privacy of proprietary, confidential, or otherwise restricted data. Therefore, awkward, intrusive, and expensive security will delay wide-spread use of remote instrument resources in open environments.
In addition, we would like the security architecture and supporting infrastructure to be general enough to enable enforcement of resource owner specified use-conditions that can also be used for operations like automatic brokering of computing and storage resources. This latter capability should support a scenario where resource owners (either as a mainline business, or as a barter-based use of excess capacity) advertise the resources, and the user agents collect and assemble these resources into useful systems based on satisfying the owner use-conditions. (This could be a very useful service in the world of scientific experiment control, when significant computing resources may be required only for well-defined periods of time, and are idle otherwise.) It is our hypothesis that this capability can be built on the same use-condition based security architecture that is described here.
In order to provide the required capabilities in a manageable, cost effective, and usable manner, the security architecture must be flexible and effective, and easily deployed, administered, and used. In order to realize its potential not only for transparent access control, but also as the basis of an automated resource brokering system, all aspects of the security process after certificates are obtained must be able to be automated.
Background:
Issues:
Background:
Issues:
An area that was recognized as important, but was not discussed directly at the Workshop.
Background:
Issues:
An area that was recognized as important, but was not discussed directly at the Workshop.
An area that was recognized as important, but was not discussed directly at the Workshop.
An area that was recognized as important, but was not discussed directly at the Workshop.
The workshop identified a collection of specific issues that need to be addressed in testbeds.
Background:
Issues:
An area that was recognized as important, but was not discussed directly at the Workshop.
Background:
Issues:
Secure DNS - with it ability to provide public-keys for IP platforms - should be an integral part of the testbeds.
A recognized issue for records management, where the records have been involved in, or generated in a PKI environment.
(Maybe ESNet could provide this until the commercial sector decides to do so. USPS may provide this service, though nothing has happened in the two years since they first indicated that they were going to start the service.)
Ada96
AM-NII
APKI
BFL96
CORBASEC
Desai
DPSS
GASD96
Globus
GSS
John96a
John96b
Lar96
PAM
Pessi
Chapter 1. Practical Cryptosystems and their Strength
Chapter 2. The IP Security Architecture
Chapter 3. Secure Multicast
Chapter 4. Introduction to and comparison of formalisms
Chapter 5. A Logic of Authentication by Burrows, Abadi and Needham
Chapter 6. Zero Knowledge Protocols and Small Systems
Chapter 7. Invisible communication
Chapter 8. Secure Electronic Mail
Chapter 9. Models of Electronic Commerce
Chapter 10. Mechanisms of Electronic Money
Chapter 11. Legal and Ethical Issues Related to Cryptography and Information Security
Chapter 12. Controlling and Securing Personal Privacy and Anonymity in the Information Society
pkix
Current Internet-Drafts:
"Internet Public Key Infrastructure Part I: X.509 Certificate and CRL Profile"
"Internet Public Key Infrastructure Part III: Certificate Management Protocols"
"Architecture for Public-Key Infrastructure"
See http://www.ietf.org/html.charters/pkix-charter.html
SDSI
SPKI
SPKM
SSH
X9.45
Zipper
This section gives a brief overview of the relevant security technologies and how they fit into our model and architecture. (See [RSA96] and [For95] for additional background information.)
The enabling underlying technology for many aspects of our approach is the ability for one person ("A") to encrypt a piece of information with a private-key, and another person to decrypt that information in a remote location by using only a widely distributed public-key. Only the public-key corresponding to the private-key can decrypt the original message, thereby ensuring a unique and identifiable origin. Operating in the reverse manner, anyone can encrypt a message with A's public-key, and only A can decrypt that message.
Digitally signing a document ensures it authenticity without the physical possession issues of a holographic signature. The signing process typically involves encrypting a "hash code" of the document with the author's private-key9. A hash is a much smaller, but unique, code derived by a mathematical transformation of the document. The uniqueness "guarantees" that the document itself cannot be changed without this hash code changing. Encrypting the hash with the author's private-key thus assures that only the author could have created (or altered) the contents of the document. The purpose of such signing, then, is to guarantee that any attempt to modify the contents of the document from what was signed by the author can easily be detected10. This process of integrity assurance is commonly called a "digital signature." Such digital signatures do not provide confidentially of the contents of the document. One of the characteristics of digital signatures is that they do not change the document contents. Like a holographic signature, the digital signature is usually appended to the clear text of the document. (If confidentiality is desired as well, that is handled separately.)
Certificates are a special case of general documents in that their function is typically to participate in the authentication and authorization phase of a security system.
In general, certificates are small documents, some of which may have a standardized format (e.g., X.509) and some of which do not. Public-key certificates can encode information about a principal, or information expressed by a principal, or a relationship between principals, in a secure and verifiable way. Certificates that provide some policy based assurances of the identity of the principal we call identity certificates. Certificates that encode organizational / group affiliation, creditworthiness, level and scope of training, etc., we call attribute certificates. Certificates that encode authority delegation (and restriction) are called authorization certificates Certificates that encode use-conditions, e.g., cost, required role attributes (personal identity, group membership, organizational function), required personal characteristics (training, credit worthiness) etc., we call use-condition certificates. Certificates that encode a relationship of a principle to a policy (e.g., that one certification authority operates under the policy of another) we call trust certificates.
All of these certificates are cryptographically signed documents. The certificate is signed using the private-key of the certificate issuer. The issuer's identity may, in turn, be verified by obtaining the issuer's public-key from a "trusted" source and then using that public-key to "decode" the document signature, an operation that can only succeed if the private-key and the public-key were originally generated as a pair. The job of a certification authority (see below) is to assign that key pair to a person of verified identity. The trusted source of the public-key is typically a publicly accessible database maintained by the CA.
TIn order to enable automated processing there must be a machine-comprehensible encoding for the representation and automatic manipulation of use-conditions and attributes. While our first implementation will use ad-hoc representations, we are also looking at the approach taken by the DCE "Authorization for Distributed Applications and Groups" (ADAGE) project (see [HMSZ96]), the generalized certificates being discussed in the IETF SKPI working group [SPK], and systems like Policymaker [BFL96] and maybe PICS [Wor96] because they are addressing the problem of how to express many different trust relationships at the same time. There is also work being done in the commercial sector on general encodings for authorization certificates (e.g., X9.45 - see [Ank]).
CAs serve a dual role in our model. On the one hand they "certify" that the holder of a private-public-key pair is associated with a particular identity. The association is made by the CA digitally signing a certificate that contains some personal identification (legal name, e-mail handle, CPU id, MAC address, etc.) and the public-key of that individual / system. The strength of this association (e.g., what documentation or other "conventional" / societal proof of identity - driving license, birth certificate, etc. - were required, and how were they checked before an identity certificate was signed by the CA) is a matter of (published) policy for the CA. There may be, as is common for commercially operated CAs, different "levels" of certificate depending on the strength of the identity verification.)
The other task that we relegate to CAs is to represent the root of organizational authority and to sign certificates that delegate parts of that authority throughout the organization. This function is different from the identity CA, and will be discussed more later. (We should perhaps call the certification root "CR" to avoid confusion with the conventional CA.
There must also be a mechanism to establish and represent trust relationships (policy and procedure agreements) among authorizing or verifying entities. The common ways of doing this are represented in a continuum from a centralized root, hierarchical structure of certification authorities that operate under some set of common policies at one end of the spectrum (see [Ken93]), through "webs" of organization-scope CAs, to the completely decentralized approach of PGP (where individuals attest to each other's attributes) at the other end. All of these approaches are in use, and we have focused on the middle ground of independent organization-level CAs that attest to specific facts (such as identity) and establish inter-organizational trust on a pair-wise basis.
"Trust relationships" between CAs (domains) can be represented by an exchange of trusted public-keys. If there is a previously established common point of trust - e.g., a single CA that signs key in both domains - then these public-keys (belonging to, e.g., departments at two different hospitals that need to exchange patient information) can be exchanged in certificates whose origin can be verified by the common relationship with the CA. In the absence of a common point of trust (e.g., a top level CA, a la RFC-1422) then a "pair-wise" trust relationship can be established among CAs by a secure, out-of-band exchange of CA public-keys that are then offered to the local CA community under the signature of the "home" CA. The availability of a trusted public-key from a different domain / organization can then be used to verify certificates passed between parties in the two organizations, thus permitting cross-organization secure transactions. What is "trusted" between the CAs is a matter of policy, but the implied minimum trust is the identity verification process (and operating procedures) of the other CA.
There must be widely and reliably available mechanisms for making certificates locatable based on content. There are several current approaches to this. X.500 directory servers provide, in principle, a standard way of searching for and distributing X.509 identity and attribute certificates. There are already WWW sites and ftp sites that provide PGP certificates. Other distributed information mechanisms (e.g., whois++) are possible. Another approach is to use Web-based searching of textual representations of certificates. In this approach we can use the very fast Web search engines for text searching, and thus search the distributed environment over a large space of textual data sets. The results of a search would be URLs of the certificates that match the search criteria. If the certificates are binary objects, then this approach is essentially the same as an image library capability for indexing large data-objects. (See [TJ96] and [JA95].)
Our current approach is focused on the Web search method mentioned above for all sorts of certificates, and we may also use the "Lightweight Directory Access Protocol" [LDA96] to communicate with X.500 servers when they contain X.509 identity certificates.
[Ada96] Carlisle Adams. IDUP and SPKM: Developing public-key-based APIs and mechanisms for communication security services. In Proceedings of the Symposium on Network and Distributed Systems Security (SNDSS'96). ISOC, 1996. Available at http://bilbo.isu.edu/sndss/adams.ps. See also http://bilbo.isu.edu/sndss/sndss96.html.
[Ank] Richard Ankney. Introduction to cryptographic standards. Technical report, IEEE. Available at http://www.itd.nrl.navy.mil/ITD/5540/ieee/cipher/cipher-crypto-stds.html.
[BFL96] Matt Blaze, Joan Feigenbaum, and Jack Lacy. Decentralized trust management. In Proceedings of the Symposium on Research in Security and Privacy. IEEE, 1996. Available at ftp://research.att.com/dist/mab/policymaker.ps.
[ECM89] ECMA. ECMA-138: Security in open systems - data elements and service definitions, 1st edition. Technical report, European Computer Manufacturers, Dec 1989. Available at http://www.ecma.ch/ecma-138.HTM.
[ECM94] ECMA. ECMA-219: Authentication and privilege attribute security application with related key distribution functions, 1st edition. Technical report, European Computer Manufacturers, Dec 1994. Available at http://www.ecma.ch/ecma-219.HTM.
[Ell96] Carl M. Ellison. Generalized certificates, 1996. Available at http://www.clark.net/pub/cme/html/cert.html.
[Ent] Entrust home page. Available at http://www.nortel.com/entprods/entrust/main.html.
[For95] Warwick Ford. Principles, Standards, Protocols, and Techniques. Prentice-Hall, Englewood Cliffs, New Jersey, 07632, 1995.
[GASD96] D. Gary, J. M. Anderson, F. Sudia, and K. Daguio. Information security - transforming the global marketplace (a panel discussion). In Proceedings of the National Information Systems Security Conference. NIST, Oct 1996. Available at http://csrc.nist.gov/nissc/1996. The panelists included security and technology officers of major information industry firms, including Booz-Allen & Hamilton (international management and technology consulting), Anderson, Morgan Stanley (brokerage and financial services), F. Sudia, CertCo / Bankers Trust (global financial services) and the American Bankers Association. Their basic points were that technology has progressed to the point where we are moving from technology driven solutions to solution driven technology, and that security based on PKI, and authorization and attribute certificates, will provide the foundation of electronic commerce - not just protection: electronic contracts, financial instruments, electronic notary, and authority delegation (e.g. setting the scope of business activity of an on-line trader in the global marketplace).
[GMD] Secude home page. Available at http://www.darmstadt.gmd.de/secude/.
[HMSZ96] Marty Hurley, Nimsha Meta, Rich Simon, and Mary Ellen Zurko. Authorization for distributed applications and groups. Technical report, OSF, 1996. Available at http://www.osf.org/www/adage/index.html.
[JA95] William Johnston and Deb Agarwal. The virtual laboratory: Using networks to enable widely distributed collaboratory science, 1995. Available at http://www-itg.lbl/gov/~johnston/Virtual.Labs.html. A NSF Workshop Virtual Laboratory whitepaper.
[JM96] Don B. Johnson and Stephen M. Matyas. Asymmetric encryption: Evolution and enhancements. CryptoBytes, 2(1):1-6, 1996. Available at http://www.rsa.com/PUBS/cryp_s~1.pdf.
[Ken93] Steve Kent. RFC-1422: Privacy enhancement for internet electronic mail: Part II: Certificate-based key management, Feb 1993. Available at http://ds.internic.net/rfc/rfc1422.txt.
[KLP95] Kaiser, LBNL, and Philips. The Kaiser - LBNL - Philips CalREN project, 1995. Available at http://www-itg.lbl.gov/Kaiser/LKP/homepage.html.
[LBN96] LBNL. The Distributed-Parallel Storage System (DPSS) home page, 1996. Available at http://www-itg.lbl.gov/DPSS.
[LDA96] Lightweight Directory Access Protocol, 1996. Available at http://www.umich.edu/~rsug/ldap/ldap.html.
[Lin93] John Linn. Generic security service application program interface, Sep 1993. Available at http://ds.internic.net/rfc/rfc1508.txt. Also see more recent and related drafts at the IETF Common Authentication Technology home page (http://www.ietf.cnri.reston.va.us/html.charters/cat-charter.html) and at http://www.ietf.cnri.reston.va.us/ids.by.wg/cat.html.
[Lin96] John Linn. The Kerberos version 5 GSS-API mechanism, June 1996. Available at ftp://ds.internic.net/rfc/rfc1964.txt.
[MH95] Mendez and Huitema. A new approach to the x.509 framework: Allowing a global authentication infrastructure without a global trust model. In Proceedings of the Symposium on Network and Distributed System Security. IEEE, Feb 1995.
[RSA93] RSA. PKCS #10, 1993. Available at ftp://ftp.rsa.com/pub/pkcs/ascii/pkcs-10.asc. This describes a syntax for public-key certification requests.
[RSA96] RSA. RSA labs' Frequently Asked Questions about todays' cryptography v3.0, 1996. Available at http://www.rsa.com/rsalabs/newfaq/.
[SES] SESAME - a Secure European System for Applications in a Multi-vendor Environment. Available at http://www.esat.kuleuven.ac.be/cosic/sesame3.html. SESAME (a Secure European Sys