TOC 
Network Working GroupM. Shimaoka, Ed.
Internet-DraftSECOM
Expires: June 5, 2008N. Hastings
 NIST
 R. Nielsen
 Booz Allen Hamilton
 December 03, 2007


Memorandum for multi-domain Public Key Infrastructure Interoperability
draft-shimaoka-multidomain-pki-11

Status of this Memo

By submitting this Internet-Draft, each author represents that any applicable patent or other IPR claims of which he or she is aware have been or will be disclosed, and any of which he or she becomes aware will be disclosed, in accordance with Section 6 of BCP 79.

Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet-Drafts.

Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as “work in progress.”

The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt.

The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html.

This Internet-Draft will expire on June 5, 2008.

Abstract

The objective of this document is to establish a standard terminology for interoperability of multi-domain Public Key Infrastructure (PKI), where each PKI Domain is operated under a distinct policy. This document describes the relationships between Certification Authorities (CAs), provides the definition and requirements for PKI Domains, and discusses typical models of multi-domain PKI.



Table of Contents

1.  Introduction
    1.1.  Objective
    1.2.  Document Outline
    1.3.  Requirements Terminology
2.  Public Key Infrastructure (PKI) Basics
    2.1.  Basic Terms
    2.2.  Relationships Between Certification Authorities
        2.2.1.  Hierarchical CA Relationships
        2.2.2.  Peer-to-peer CA Relationships
    2.3.  Public Key Infrastructure (PKI) Architectures
        2.3.1.  Single CA Architecture
        2.3.2.  Multiple CA Architectures
    2.4.  Relationships between PKIs and Relying Parties
3.  PKI Domain
    3.1.  PKI Domain Properties
    3.2.  Requirements for Establishing and Participating in PKI Domains
        3.2.1.  PKI Requirements
        3.2.2.  PKI Domain Documentation
        3.2.3.  PKI Domain Membership Notification
        3.2.4.  Considerations for PKIs and PKI Domains with Multiple Policies
    3.3.  PKI Domain Models
        3.3.1.  Unifying Trust Point (Unifying Domain) Model
        3.3.2.  Independent Trust Point Models
    3.4.  Operational Considerations
4.  Trust Models External to PKI Relationships
    4.1.  Trust List Models
        4.1.1.  Local Trust List Model
        4.1.2.  Trust Authority Model
    4.2.  Trust List Considerations
        4.2.1.  Considerations for a PKI
        4.2.2.  Considerations for Relying Parties and Trust Authorities
        4.2.3.  Additional Considerations for Trust Authorities
5.  Abbreviations
6.  Security Considerations
    6.1.  PKI Domain Models
    6.2.  Trust List Models
7.  IANA Considerations
8.  References
    8.1.  Normative References
    8.2.  Informative References
§  Authors' Addresses
§  Intellectual Property and Copyright Statements




 TOC 

1.  Introduction



 TOC 

1.1.  Objective

The objective of this document is to establish a standard terminology that can be used by different Public Key Infrastructure (PKI) authorities who are considering establishing trust relationships with each other. The document defines different types of possible trust relationships, identifies design and implementation considerations that PKIs should implement to facilitate trust relationships across PKIs, and identifies issues that should be considered when implementing trust relationships.



 TOC 

1.2.  Document Outline

Section 2 introduces the PKI basics which are necessary before talking about multi-domain PKI. Section 3 describes the definitions and requirements of 'PKI domain', and also describes the typical models of multi-domain PKI. Section 4 considers the Trust List models depending on relying party-CA relationships, not CA-CA trust relationships, although it is not focus of this document. Section 5 identifies abbreviations used in the document.



 TOC 

1.3.  Requirements Terminology

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 (Bradner, S., “Key words for use in RFCs to Indicate Requirement Levels,” March 1997.) [RFC2119].



 TOC 

2.  Public Key Infrastructure (PKI) Basics



 TOC 

2.1.  Basic Terms

The following terms are used throughout this document. Where possible, definitions found in RFC 4949 (Shirey, R., “Internet Security Glossary, Version 2,” August 2007.) [RFC4949] have been used.

Certificate:
A digitally-signed data structure that attests to the binding of a system entity's identity to a public key value. (based on definition of public-key certificate in RFC 4949 (Shirey, R., “Internet Security Glossary, Version 2,” August 2007.) [RFC4949])
Certificate Policy:
A named set of rules that indicates the applicability of a certificate to a particular community and/or class of application with common security requirements. (X.509 (International International Telephone and Telegraph Consultative Committee, “Information Technology - Open Systems Interconnection - The Directory: Authentication Framework,” March 2000.) [CCITT.X509.2000]) Note that to avoid confusion, this document uses the terminology "Certificate Policy Document" to refer to the document that defines the rules, and "Policy Object Identifier" to specify a particular rule set.
Certificate Policy Document:
A document that defines the rules for the issuance and management of certificates and identifies Policy OID(s) for these rules. A Certificate Policy Document may define more than one Policy OID.
Policy Object Identifier (Policy OID):
An identifier applied to a set of rules governing the issuance and management of certificates. Policy OIDs are defined in Certificate Policy Documents.
Certification Authority (CA):
An entity that issues certificates (especially X.509 certificates) and vouches for the binding between the data items in a certificate. (RFC 4949 (Shirey, R., “Internet Security Glossary, Version 2,” August 2007.) [RFC4949])
End Entity (EE):
A system entity that is the subject of a certificate and that is using, or is permitted and able to use, the matching private key only for a purpose or purposes other than signing a certificate; i.e., an entity that is not a CA. (RFC 4949 (Shirey, R., “Internet Security Glossary, Version 2,” August 2007.) [RFC4949])
Relying Party:
A system entity that depends on the validity of information (such as another entity's public key value) provided by a certificate. (from RFC 4949 (Shirey, R., “Internet Security Glossary, Version 2,” August 2007.) [RFC4949] definition of certificate user)
Trust Anchor:
A CA that is the subject of a trust anchor certificate that is used to provide the first public key in a certification path. [modified from RFC 4949 (Shirey, R., “Internet Security Glossary, Version 2,” August 2007.) [RFC4949] definition of "trust anchor CA" and "trust anchor certificate"]


 TOC 

2.2.  Relationships Between Certification Authorities

CAs establish trust relationships by issuing certificates to other CAs. CA relationships are divided into 'certification hierarchy' (Shirey, R., “Internet Security Glossary, Version 2,” August 2007.) [RFC4949] and 'cross-certification' (Shirey, R., “Internet Security Glossary, Version 2,” August 2007.) [RFC4949].

In a certification hierarchy, there are two type of CAs, superior CA and 'subordinate CA' (Shirey, R., “Internet Security Glossary, Version 2,” August 2007.) [RFC4949]. A CA which issued a public-key certificate to another (subordinate) CA.

Superior CA:
A CA which is a issuer of a subordinate CA certificate.

A cross-certification can be either unilateral or bilateral.

Unilateral cross-certification:
Cross-certification of one CA (CA1) by another CA (CA2) but no cross-certification of CA2 by CA1.
Bilateral cross-certification:
Cross-certification of one CA (CA1) by another CA (CA2) and cross-certification of CA2 by CA1.



 TOC 

2.2.1.  Hierarchical CA Relationships

In a hierarchical relationship, as shown in Figure 1 (Hierarchical CA Relationship), one CA assumes a parent relationship to the other CA.



+----+
| CA |
+----+
  |
  v
+----+
| CA |
+----+
 Figure 1: Hierarchical CA Relationship 

There are two types of hierarchical relationships, depending on whether a subordinate CA certificate or a unilateral cross-certificate is used. In the case where one (superior) CA issues a subordinate CA certificate to another, the CA at the top of the hierarchy, which must itself have a self-signed certificate, is called a Root CA. In the case where one CA issues unilateral cross-certificates to other CAs, the CA issuing unilateral cross-certificates is called a Unifying CA. Unifying CAs only use unilateral cross-certificates.

NOTE: In this document, the definition of Root CA is according to second definition (context for hierarchical PKI) of 'root CA' in RFC 4949 (Shirey, R., “Internet Security Glossary, Version 2,” August 2007.) [RFC4949]. First definition (context for PKI) is specifically used to 'Trust Anchor' in this document.

Root CA:
A CA that is at the top of a hierarchy, and itself SHOULD not issue certificates to end entities (except those required for its own operation) but issues subordinate CA certificates to one or more CAs.
Subordinate CA:
A CA whose public-key certificate is issued by another superior CA, and itself MUST NOT be used as a Trust Anchor.
Unifying CA:
A CA that is at the top of a hierarchy, and itself SHOULD not issue certificates to end entities (except those required for its own operation) but establishes unilateral cross-certification with other CAs. A Unifying CA MUST permit CAs to which it issues cross-certificates to have self-signed certificates.


 TOC 

2.2.2.  Peer-to-peer CA Relationships

In a peer relationship, no parent child relationship is created. To establish peer relationships, only cross-certificates are used. Peer relationships can be either unilateral or bilateral, as shown in Figure 2 (Peer-to-peer CA Relationships).



                              Bilateral
    Unilateral           Cross-Certification
Cross-Certification      +----+      +----+
+----+      +----+       |    | ---> |    |
| CA | ---> | CA |       | CA |      | CA |
+----+      +----+       |    | <--- |    |
                         +----+      +----+
 Figure 2: Peer-to-peer CA Relationships 

In the case where a CA exists only to manage cross-certificates, that CA is called a Bridge CA. CAs can establish unilateral or bilateral cross-certification with a Bridge CA, as shown in Figure 3 (Bridge CA).

Bridge CA:
A CA that itself does not issue certificates to end entities (except those required for its own operation) but establishes unilateral or bilateral cross-certification with other CAs.


                Bilateral
           Cross-Certification
+----+ ----------+    +--------- +----+
| CA |           |    |          | CA |
+----+ <-------+ |    | +------> +----+
               | v    v |
             +-----------+
             | Bridge CA |
             +-----------+
+----+         |       |         +----+
| CA | <-------+       +-------> | CA |
+----+         Unilateral        +----+
          Cross-Certification
 Figure 3: Bridge CA 



 TOC 

2.3.  Public Key Infrastructure (PKI) Architectures

A system of CAs that perform some set of certificate management, archive management, key management, and token management functions for a community of users in an application of asymmetric cryptography and share trust relationships, operate under a single Certificate Policy Document which defines a shared set of Policy OIDs, and are either operated by a single organization or under the direction of a single organization.

Public Key Infrastructure (PKI):
A system of CAs that perform some set of certificate management, archive management, key management, and token management functions for a community of users in an application of asymmetric cryptography and share trust relationships, operate under the same Certificate Policy Document specifying a shared set of policy OID(s), and are either operated by a single organization or under the direction of a single organization.

In addition, a PKI that intends to enter into trust relationships with other PKIs MUST designate a Principal CA that will manage all trust relationships. This Principal CA SHOULD also be the trust anchor for relying parties of that PKI.

Principal CA (PCA):
A CA which SHOULD have a self-signed certificate, is designated as the CA that will issue cross-certificates to Principal CAs in other PKIs, and MAY be the subject of cross-certificates issued by Principal CAs in other PKIs.

In discussing different possible architectures for PKI, the concept of a certification path is necessary. A certification path is built based on trust relationships between CAs.

Certification Path:
An ordered sequence of certificates where the subject of each certificate in the path is the issuer of the next certificate in the path. A certification path begins with a trust anchor certificate and ends with an end entity certificate.


 TOC 

2.3.1.  Single CA Architecture

Definition:
A simple PKI consists of a single CA with a self-signed certificate which issues certificates to EEs, as shown in Figure 4 (Simple PKI Architecture).


       +----+
       | CA |
       +----+
          |
   +------+-----+
   v      v     v
+----+ +----+ +----+
| EE | | EE | | EE |
+----+ +----+ +----+
 Figure 4: Simple PKI Architecture 

Trust Anchor:
The trust anchor MUST be the self-signed certificate of the CA.
Principal CA:
The Principal CA MUST be the CA.


 TOC 

2.3.2.  Multiple CA Architectures



 TOC 

2.3.2.1.  Hierarchical PKI Architecture

Definition:
A hierarchical PKI consists of a single root CA and one or more subordinate CAs that issue certificates to EEs. A hierarchical PKI may have intermediate CAs, which are Subordinate CAs that themselves have Subordinate CAs. The root CAs MUST distribute trust anchor (public key and associated data), but the format and protocol are irrelevant for this specification. And all subordinate CAs MUST have subordinate CA certificates, as shown in Figure 5 (Hierarchical PKI Architecture).
Trust Anchor:
The trust anchor MUST be the root CA.
Principal CA:
The Principal CA MUST be the root CA.


                 +---------+
                 | Root CA |
                 +---------+
                      |
         +------------+------------+
         v                         v
       +----+                    +----+
       | CA |                    | CA |
       +----+                    +----+
         |                         |
  +------+------+         +--------+-------+
  v      v      v         v                v
+----+ +----+ +----+    +----+           +----+
| EE | | EE | | EE |    | CA |           | CA |
+----+ +----+ +----+    +----+           +----+
                          |                |
                      +---+--+      +------+------+
                      v      v      v      v      v
                    +----+ +----+ +----+ +----+ +----+
                    | EE | | EE | | EE | | EE | | EE |
                    +----+ +----+ +----+ +----+ +----+
 Figure 5: Hierarchical PKI Architecture 



 TOC 

2.3.2.2.  Mesh PKI Architectures

Definition:
A mesh PKI consists of multiple CAs with self-signed certificates that issue certificates to EEs and issue cross-certificates to each other. A mesh PKI MAY be a full mesh, where all CAs issue cross-certificates to all other CAs, as shown in Figure 6 (Full Mesh PKI Architecture). A mesh PKI MAY be a partial mesh, where all CAs do not issue cross-certificates to all other CAs. In a partial mesh PKI, certification paths may not exist from all CAs to all other CAs, as shown in Figure 7 (Partial Mesh PKI Architecture).


     +--------- +-----+ <--------+
     |          | CA1 |          |
     | +------> +-----+ -------+ |
     | |           |           | |
     | |       +---+--+        | |
     | |       v      v        | |
     | |     +----+ +----+     | |
     | |     | EE | | EE |     | |
     | |     +----+ +----+     | |
     v |                       v |
   +-----+ ----------------> +-----+
   | CA2 |                   | CA3 |
   +-----+ <---------------- +-----+
      |                         |
  +---+--+               +------+------+
  v      v               v      v      v
+----+ +----+          +----+ +----+ +----+
| EE | | EE |          | EE | | EE | | EE |
+----+ +----+          +----+ +----+ +----+
 Figure 6: Full Mesh PKI Architecture 



     +--------- +-----+
     |          | CA1 | --------+
     | +------> +-----+         |
     | |           |            |
     | |       +---+--+         |
     | |       v      v         |
     | |     +----+ +----+      |
     | |     | EE | | EE |      |
     | |     +----+ +----+      |
     v |                        v
   +-----+                   +-----+
   | CA2 | ----------------> | CA3 |
   +-----+                   +-----+
      |                         |
  +---+--+               +------+------+
  v      v               v      v      v
+----+ +----+          +----+ +----+ +----+
| EE | | EE |          | EE | | EE | | EE |
+----+ +----+          +----+ +----+ +----+
 Figure 7: Partial Mesh PKI Architecture 

Trust Anchor:
The trust anchor for an end entity is usually the CA that issued its certificate. The trust anchor for an end entity who is not issued a certificate from the mesh PKI MAY be any CA in the PKI. In a partial mesh, selection of the trust anchor may result in no certification path from the trust anchor to one or more CAs in the mesh. For example, Figure 7 (Partial Mesh PKI Architecture) above, selection of CA1 or CA2 as the trust anchor will result in paths from all end entities in the figure. However, selection of CA3 as the trust anchor will result in certification paths only for those EEs whose certificates were issued by CA3. No certification path exists to CA1 or CA2.
Principal CA:
The Principal CA MAY be any CA within the mesh PKI. However, the mesh PKI MUST have only one Principal CA, and a certification path SHOULD exist from the Principal CA to all other CAs within the mesh PKI.
Considerations:
This model SHOULD be used sparingly, especially the partial mesh model, because of the complexity of determining trust anchors and building certification paths. A full mesh PKI MAY be useful for certification path building, because paths of length one exist from all CAs to all other CAs in the mesh.


 TOC 

2.3.2.3.  Hybrid PKI Architectures

Definition:
A hybrid PKI is a PKI which uses combination of both the pure hierarchical model using subordinate CA certificates and the pure mesh model using cross-certificates.


    +-----+ <----- +-----+
    | CA2 |        | CA1 |
    +-----+ -----> +-----+
       |              |
   +---+--+       +---+--+-------+
   v      v       v      v       v
+----+ +----+   +----+ +----+ +-----+
| EE | | EE |   | EE | | EE | | CA3 |
+----+ +----+   +----+ +----+ +-----+
                                 |
                          +------+------+
                          v      v      v
                        +----+ +----+ +----+
                        | EE | | EE | | EE |
                        +----+ +----+ +----+
 Figure 8: Hybrid PKI Architecture 

Trust Anchor:
The trust anchor for a hybrid PKI MAY be any CA with self-issued certificates in the hybrid PKI. However, because of the potential complexity of a hybrid PKI, the PKI SHOULD provide guidance regarding the selection of the trust anchor to relying parties because a relying party may fail to build an appropriate certification path to a subscriber if he/she chooses inappropriate trust anchor.
Principal CA:
The Principal CA MAY be any CA within the hybrid PKI and SHOULD have a self-signed certificate for cross-certification with other PKI domain. However, the hybrid PKI MUST have only one Principal CA, and a certification path MUST exist from the Principal CA to every CA within the PKI.
Considerations:
This model SHOULD be used sparingly because of the complexity of determining trust anchors and building certification paths. However, hybrid PKIs may occur as a result of the evolution of a PKI over time, such as CAs within an organization joining together to become a single PKI.


 TOC 

2.4.  Relationships between PKIs and Relying Parties

Relying Parties establish trust relationship by Trust Anchor to a PKI. Relying Parties may use Trust List for establishing trust relationships to one or more PKIs. Trust List is a set of one or more Trust Anchor for trusting one or more PKIs.

There are two types of maintenance models of Trust List, Relying Party Trust List Model and Trust Authority Model. Detail information of each model is described in section 4.1 (Trust List Models).



 TOC 

3.  PKI Domain

Two or more PKIs may choose to enter into trust relationships with each other. For these relationships, each PKI retains its own set of Certificate Policy OID(s) and its own Principal CA. Prior to establishing the trust relationship, each PKI determines the level of trust of each external PKI by reviewing external PKI Certificate Policy Document(s) and any other PKI governance documentation through a process known as policy mapping. Trust relationships are technically formalized through the issuance of cross-certificates. Such a collection of two or more PKIs is known as a PKI Domain.

PKI Domain:
A set of two or more PKIs that have chosen to enter into trust relationships with each other through the use of cross-certificates. Each PKI that has entered into the PKI Domain is considered a member of that PKI Domain. NOTE: This definition specifies how domain consists, besides "CA domain" defined in RFC 4949 (Shirey, R., “Internet Security Glossary, Version 2,” August 2007.) [RFC4949].
Domain Policy Object Identifier:
A domain Policy Object Identifier (OID) is a policy OID which is shared across a PKI Domain. Each CA in the PKI Domain MUST be operated under the domain policy OID. Each CA MAY also have its own policy OID(s) in addition to the domain policy OID. In such a case, the CA MUST comply with both policies. The domain policy OID is used to identify the PKI Domain.
Policy Mapping:
A process by which members of a PKI Domain evaluate the CPs and other governance documentation of other potential PKI Domain members to determine the level of trust that each PKI in the PKI Domain places on certificates issued by each other PKI in the PKI Domain.


 TOC 

3.1.  PKI Domain Properties



 TOC 

3.2.  Requirements for Establishing and Participating in PKI Domains

The establishment of trust relationships has a direct impact on the trust model of relying parties. As a result, consideration must be taken in the creation and maintenance of PKI Domains to prevent inadvertent trust.



 TOC 

3.2.1.  PKI Requirements

In order for a PKI to participate in one or more PKI Domains, that PKI MUST have the following:

PKI Domains MAY also impose additional technical, documentation, or policy requirements for membership in the PKI Domain.



 TOC 

3.2.2.  PKI Domain Documentation

PKI Domains MUST be formally defined and documented. This documentation may vary greatly depending on the of PKI Domain, it MUST address the following:

Examples of governance documents that PKI Domains MAY choose to use are:



 TOC 

3.2.3.  PKI Domain Membership Notification

A cross-certificate from the Principal CA of one PKI to the Principal CA of another PKI indicates a mapping between one or more policies of the first PKI and one or more policies of the second PKI. When a relying party is determining if a certificate can be validated, it builds a certification path from the certificate being presented to a Trust Anchor. To prevent inadvertent trust across PKI Domains when a single PKI is a member of two or more disparate PKI Domains, each PKI Domain must be cognizant of what PKI Domains its member PKIs participate in. Figure 9 (Participation in Multiple PKI Domains) illustrates this concept.



               +-----------------------------+
               |                PKI Domain 2 |
+----------------------------+               |
|              |             |               |
| +------+ <------ +------+ <------ +------+ |
| | PKI1 |     |   | PKI2 |  |      | PKI3 | |
| +------+ ------> +------+ ------> +------+ |
|              |             |               |
|              +-----------------------------+
| PKI Domain 1               |
+----------------------------+
 Figure 9: Participation in Multiple PKI Domains 

As shown in Figure 9 (Participation in Multiple PKI Domains), PKI2 is a member of both PKI Domain 1 and PKI Domain 2. Since a certification path exists from PKI1 to PKI2, and from PKI2 to PKI3, a certification path also exists from PKI1 to PKI3. However, PKI1 does not share domain membership with PKI3, so the certification path validation from PKI1 to PKI3 with a validation policy for PKI Domain 1 must not succeed. To ensure correct certification path validation and policy mapping, the cross certificates issued by both PKI1 and PKI3 to PKI2 must contain constraints such as policy mapping or name constraints disallowing the validation of certification paths outside their respective domains.

To fully prevent inadvertent trust, any PKI that is a member of one or more PKI Domains MUST inform all PKI Domains of its membership in all other PKI Domains. In addition, that PKI MUST inform all PKI Domains that it is a member of any time its membership status changes with regards to any other PKI Domain. If a PKI Domain is informed of the change in status of one of its member PKIs with regards to other PKI Domains, that PKI Domain MUST review the constraints in any cross-certificate issued to that PKI. If the change in membership would result in a change to the allowed or disallowed certification paths, the PKI Domain MUST ensure that all such cross-certificates are revoked and re-issued with correct constraints.



 TOC 

3.2.4.  Considerations for PKIs and PKI Domains with Multiple Policies

In some cases, a single PKI MAY issue certificates at more than one assurance level. If so, the Certificate Policy Document MUST define separate policy OIDs for each assurance level, and MUST define the differences between certificates of different assurance levels.

A PKI Domain MAY also support more than one assurance level. If so, the PKI Domain MUST also define separate policy OIDs for each assurance level, and MUST define the differences in requirements for each level.

When PKIs and PKI Domains choose to establish trust relationships, these trust relationships MAY exist for only one defined assurance level, MAY have a one-to-one relationship between PKI assurance levels and PKI Domain assurance levels, or MAY have many-to-one or one-to-many relationships between assurance levels. These relationships MUST be defined in cross-certificates issued between PKIs in the PKI Domain.



 TOC 

3.3.  PKI Domain Models

Two or more PKI Domains may choose to enter into trust relationships with each other. In that case, they may form a larger PKI Domain by establishing a new Unifying or Bridge CA or by issuing cross certificates between their Principal CAs.



 TOC 

3.3.1.  Unifying Trust Point (Unifying Domain) Model

In the Unifying Trust Point Model, a PKI Domain is created by establishing a joint superior CA that issues unilateral cross-certificates to each PKI Domain, as shown in Figure 10 (Unifying Trust Point (Unifying Domain) Model). Such a joint superior CA is defined as Unifying CA, and the Principal CAs in each PKI Domain have the hierarchical CA relationship with that Unifying CA. In this model, any relying party from any of the PKI Domains MUST specify the Unifying CA as its trust anchor in order to validate a subscriber in the other PKI Domains. If the relying party does not desire to validate subscribers in other PKI Domains, the relying party MAY continue to use the Principal CA from the old PKI Domain as its trust anchor.

This model may be used for merging multiple PKI Domains into a single PKI Domain with less change to existing PKI Domains, or MAY be used to combine multiple PKI Domains into one PKI Domain for relying parties. The unilateral cross-certificate issued by the Unifying CA to the Principal CAs in each PKI Domain may include any policy mapping.



      Cross-certified                   Cross-certified
       Unifying CA                       Unifing CA
      to PKI Domain 1 +--------------+  to PKI Domain 3
            +---------|  Unifying CA |---+
            |         +--------------+   |
            |                 |          |
            |  Cross-certified|          |
            |   Unifying CA   |          |
            |  to PKI Domain 2|          |
+-----------|---+ +-----------|---+ +----|-----------------+
|    PKI    |   | |    PKI    |   | |    |    PKI          |
|  domain 1 |   | |  domain 2 |   | |    |  domain 3       |
|           v   | |           v   | |    v                 |
|       +-----+ | |       +-----+ | | +-----+ ----+        |
|   +---| PCA | | |       | PCA | | | | PCA |     |        |
|   |   +-----+ | |       +-----+ | | +-----+ <-+ |        |
|   |      |    | |          |    | |   | ^     | v        |
|   |      |    | |          |    | |   | |   +----+       |
|   |      |    | |          |    | |   | |   | CA |---+   |
|   |      |    | |          |    | |   | |   +----+   |   |
|   |      |    | |          v    | |   v |    ^ |     |   |
|   |      |    | |       +----+  | | +----+   | |     |   |
|   |      |    | |   +---| CA |  | | | CA |---+ |     |   |
|   |      |    | |   |   +----+  | | +----+     |     |   |
|   |      |    | |   |      |    | |   |        |     |   |
|   v      v    | |   v      v    | |   v        v     v   |
| +----+ +----+ | | +----+ +----+ | | +----+ +----+ +----+ |
| | EE | | EE | | | | EE | | EE | | | | EE | | EE | | EE | |
| +----+ +----+ | | +----+ +----+ | | +----+ +----+ +----+ |
+---------------+ +---------------+ +----------------------+
 Figure 10: Unifying Trust Point (Unifying Domain) Model 



 TOC 

3.3.2.  Independent Trust Point Models

In Independent Trust Point Models, relying parties continue to use only the trust anchor of their PKI Domain. A relying party in the individual trust point model can continue to use the trust anchor of its PKI Domain.



 TOC 

3.3.2.1.  Direct Cross-Certification Model

The model in which each PKI Domain trusts each other by issuing cross-certificate directly between each Principal CA, as shown in Figure 11 (Direct Cross-Certification Model). This model may be used for shortening a certification path, or establishing a trust relationship expeditiously.

Considerations:
A PKI Domain in this model SHOULD consider that the other PKI Domain may cross-certify with any more PKI Domains. If a PKI Domain wants to restrict a certification path, the PKI Domain SHOULD NOT rely on the validation policy of the relying party, but SHOULD include the constraints in the cross-certificate explicitly. A PKI Domain that relies on the validation policy of the relying party about such constraints cannot guarantee the constraints will be recognized and followed.


+---------------+                 +------------------------+
|    PKI        | cross-certified |         PKI            |
|  domain 1     |    each other   |       domain 2         |
|      +-----+ --------------------> +-----+ ----+         |
|      | PCA |  |                 |  | PCA |     |         |
|      +-----+ <-------------------- +-----+ <-+ |         |
|         |     |                 |     ^      | v         |
|         |     |                 |     |    +----+        |
|         |     |                 |     |    | CA |---+    |
|         |     |                 |     |    +----+   |    |
|         v     |                 |     v     ^ |     |    |
|       +----+  |                 |   +----+  | |     |    |
|   +---| CA |  |                 |   | CA |--+ |     |    |
|   |   +----+  |                 |   +----+    |     |    |
|   |      |    |                 |     |       |     |    |
|   v      v    |                 |     v       v     v    |
| +----+ +----+ |                 |   +----+ +----+ +----+ |
| | EE | | EE | |                 |   | EE | | EE | | EE | |
| +----+ +----+ |                 |   +----+ +----+ +----+ |
+---------------+                 +------------------------+
 Figure 11: Direct Cross-Certification Model 



 TOC 

3.3.2.2.  Bridge Model

The model in which every PKI Domain trusts each other through a Bridge CA by Cross-Certification, as shown in Figure 12 (Bridge Model). In this model, the trust relationship is not established between a subscriber domain and a relying party domain directly, but established from the Principal CA of relying party's PKI Domain via Bridge CA. This model is useful in reducing the number of cross-certifications required for a PKI Domain to interoperate with other PKI Domains.

Requirements for Bridge model:

Considerations:
The Bridge CA SHOULD be operated by an independent third party agreed upon by the PKI Domains or a consortium consisting of representation from the PKI Domain members. The Bridge CA SHOULD do policy mapping in a well documented and agreed upon manner with all PKI Domains. For using the name constraints, the Bridge CA SHOULD pay attention to preventing a conflict of each name space of the cross-certified PKI Domains. The PKI Domains that perform cross-certification with the Bridge CA SHOULD confirm the following:
  • Does the Bridge CA perform the policy mapping via its own domain policy OID?
  • Does the Bridge CA clarify the method of policy mapping in the cross-certification?
  • Is the Bridge CA able to accept the domain policy that the PKI Domain desires?
    • If the domain policy is mapped to one with a lower security level, the PKI Domain SHOULD NOT accept it. Otherwise, the PKI Domain MUST carefully consider the risks involved with accepting certificates with a lower security level.



  cross-certified                      cross-certified
PKI Domain 1 with BCA               PKI Domain 3 with BCA
          +---------> +-----------+ -----+
          |           | Bridge CA |      |
          | +-------- +-----------+ <--+ |
          | |                 ^ |      | |
          | | cross-certified | |      | |
          | |   PKI Domain 2  | |      | |
          | |     with BCA    | |      | |
+---------|-|---+ +-----------|-|-+ +--|-|-----------------+
|  PKI    | |   | |   PKI     | | | |  | |    PKI          |
|domain 1 | v   | | domain 2  | v | |  | v  domain 3       |
|       +-----+ | |       +-----+ | | +-----+ ----+        |
|   +---| PCA | | |       | PCA | | | | PCA |     |        |
|   |   +-----+ | |       +-----+ | | +-----+ <-+ |        |
|   |      |    | |          |    | |   | ^     | v        |
|   |      |    | |          |    | |   | |   +----+       |
|   |      |    | |          |    | |   | |   | CA |---+   |
|   |      |    | |          |    | |   | |   +----+   |   |
|   |      |    | |          v    | |   v |    ^ |     |   |
|   |      |    | |       +----+  | | +----+   | |     |   |
|   |      |    | |   +---| CA |  | | | CA |---+ |     |   |
|   |      |    | |   |   +----+  | | +----+     |     |   |
|   |      |    | |   |      |    | |   |        |     |   |
|   v      v    | |   v      v    | |   v        v     v   |
| +----+ +----+ | | +----+ +----+ | | +----+ +----+ +----+ |
| | EE | | EE | | | | EE | | EE | | | | EE | | EE | | EE | |
| +----+ +----+ | | +----+ +----+ | | +----+ +----+ +----+ |
+---------------+ +---------------+ +----------------------+
 Figure 12: Bridge Model 



 TOC 

3.4.  Operational Considerations

Each PKI Domain MAY use policy mapping for crossing different PKI Domains. If a PKI Domain wants to restrict a certification path, the PKI Domain SHOULD NOT rely on the validation policy of the relying party, but SHOULD include the constraints in the cross-certificate explicitly.

For example, when each PKI Domain wants to affect the constraints to a certification path, it SHOULD set the requireExplicitPolicy to zero in the policyConstraints extension of any cross-certificates. A PKI Domain that relies on the validation policy of the relying party about such constraints cannot guarantee the constraints will be recognized and followed.



 TOC 

4.  Trust Models External to PKI Relationships

As opposed to PKI Doman trust relationships entered into by PKIs themselves, trust across multiple PKIs can be created by entities external to the PKIs through locally configured lists of trust anchors.

Trust List:
A set of one or more Trust Anchors used by a relying party to explicitly trust one or more PKIs.

Note that Trust Lists are often created without the knowledge of the PKIs that are included in the list.



 TOC 

4.1.  Trust List Models



 TOC 

4.1.1.  Local Trust List Model

A Trust List can be created and maintained by a single relying party for its own use.

Local Trust List:
A Trust List installed and maintained by a single relying party for its own use. NOTE: This definition likes "trust-file PKI" defined in RFC 4949 (Shirey, R., “Internet Security Glossary, Version 2,” August 2007.) [RFC4949]. However, this document prefer the word "Local Trust List" against "Trust Authority" after mentioned.

Figure 13 (Relying Party Local Trust List Model) illustrates a Local Trust List.



+-------------------------------------------------------------+
|  Relying Party                                              |
| +---------------------------------------------------------+ |
| | Trust List                                              | |
| | +--------------+  +--------------+     +--------------+ | |
| | | PKI 1        |  | PKI 2        | ... | PKI n        | | |
| | | Trust Anchor |  | Trust Anchor |     | Trust Anchor | | |
| | +--------------+  +--------------+     +--------------+ | |
| +---------------------------------------------------------+ |
+-------------------------------------------------------------+
 Figure 13: Relying Party Local Trust List Model 

Creating a Local Trust List is the simplest method for relying parties to trust EE certificates. Using Local Trust Lists does not require cross-certification between the PKI that issued the relying party’s own certificate and the PKI that issued the EE’s certificate. Nor does it require implementing mechanisms for processing complex certification paths, as all CAs in a path can be included in the Local Trust List. As a result, Local Trust Lists are the most common model in use today. However, because Local Trust Lists are created and managed independently by each Relying Party, the use of Local Trust Lists can be difficult for an enterprise to manage.



 TOC 

4.1.2.  Trust Authority Model

Alternatively, a Trust List can be created and maintained for use by multiple relying parties. In this case, the entity responsible for the Trust List is known as a Trust Authority.

Trust Authority:
An entity that manages a Trust List for use by one or more relying parties.

Figure 14 (Trust Authority Model) illustrates a Trust Authority and how it is used by Relying Parties. Note that the Trust Authority replaces the PKI Trust Anchor(s) in the Local Trust List for each participating Relying Party.



+-------------------------------------------------------------+
|  Trust Authority                                            |
| +---------------------------------------------------------+ |
| | Trust List                                              | |
| | +--------------+  +--------------+     +--------------+ | |
| | | PKI 1        |  | PKI 2        | ... | PKI n        | | |
| | | Trust Anchor |  | Trust Anchor |     | Trust Anchor | | |
| | +--------------+  +--------------+     +--------------+ | |
| +---------------------------------------------------------+ |
+-------------------------------------------------------------+

     +---------------------+  +---------------------+
     |   Relying Party 1   |  |   Relying Party 2   |
     | +-----------------+ |  | +-----------------+ | ...
     | | Trust Authority | |  | | Trust Authority | |
     | +-----------------+ |  | +-----------------+ |
     +---------------------+  +---------------------+
 Figure 14: Trust Authority Model 

A Trust Authority may be operated by a PKI, a collection of relying parties that share a common set of users, an enterprise on behalf of all of its relying parties, or an independent entity. Although PKIs generally establish trust relationships through cross-certificates, a PKI may choose to provide a Trust Authority to support relying parties that do not support processing of certification paths. A collection of relying parties that share a common set of users may choose to maintain a single Trust Authority to simplify the management of Trust Lists. An enterprise may choose to provide a Trust Authority to implement enterprise policies and direct all Relying Parties within the enterprise to use its Trust Authority. Finally, an independent entity may choose to operate a Trust Authority as a managed service.



 TOC 

4.2.  Trust List Considerations



 TOC 

4.2.1.  Considerations for a PKI

A PKI SHOULD publish its Certificate Policy Document so that Relying Parties and Trust Authorities can determine what, if any, warranties are provided by the PKI regarding reliance on EE certificates.

A PKI SHOULD broadly publicize information regarding revocation or compromise of a Trust Anchor or Principal CA certificate through notice on a web page, press release, and/or other appropriate mechanisms so that Relying Parties and Trust Authorities can determine if a Trust Anchor or Principal CA certificate installed in a Trust List should be removed.

A PKI SHOULD publish CRLs or other information regarding the revocation status of EE certificates to a repository that can be accessed by any party that desires to rely on the EE certificates.



 TOC 

4.2.2.  Considerations for Relying Parties and Trust Authorities

Relying Parties and Trust Authorities are responsible for the following prior to including a PKI in the Trust List:

A PKI can choose to join or leave PKI Domains in accordance with its Certificate Policy Document. If the Relying Party or Trust Authority does not wish to inherit trust in other members of these PKI Domains, it is the responsibility of the Relying Party or Trust Authority to inhibit policy mapping.



 TOC 

4.2.3.  Additional Considerations for Trust Authorities

A Trust Authority SHOULD establish a Trust Authority Policy that identifies the following:



 TOC 

5.  Abbreviations

CA:
Certification Authority
EE:
End Entity
OID:
Object Identifier
PCA:
Principal Certification Authority
PKI:
Public Key Infrastructure


 TOC 

6.  Security Considerations

This section highlights security considerations related to establishing PKI Domains.

Because this RFC defines terminology and not protocols or technology for implementing the terminology, technology-specific security considerations are not applicable. However, a high level discussion of applicable security considerations is warranted.



 TOC 

6.1.  PKI Domain Models

For all PKI Domain models that described in section 3.3 created through the issuance of cross certificates, standard threats including message insertion, modification, and man-in-the-middle are not applicable because all information created by CAs, including policy mapping and constraints, is digitally signed by the CA generating the cross-certificate.

Verifying that a given certificate was issued by a member of a PKI Domain may be a time critical determination. If cross certificates and revocation status information cannot be obtained in a timely manner, a denial of service may be experienced by the end entity. In situations where such verification is critical, caching of cross certificates and revocation status information may be warranted.

An additional security consideration for PKI Domains is inadvertent trust, which can occur if a single PKI is a member of multiple PKI Domains. See Section 3.2.3 for a discussion of inadvertent trust and mechanisms to prevent it.

Finally, members of PKI Domains MUST participate in domain governance, or at a minimum, be informed anytime a PKI joins or leaves the domain, so that domain members can make appropriate decisions for maintaining their own membership in the domain or choosing to restrict or deny trust in the new member PKI.



 TOC 

6.2.  Trust List Models

In these models also, many standard attacks are not applicable since certificates are digitally signed. Additional security considerations apply when trust is created through trust list.

A variation of the modification attack is possible in trust list models. If an attacker is able to add or remove CAs from the relying party or trust authority trust list, the attacker can affect which certificates will or will not be accepted. To prevent this attack, access to trust lists MUST be adequately protected against unauthorized modification. This protection is especially important for trust anchors that are used by multiple applications, as it is a key vulnerability of this model. This attack may result in unauthorized usage if a CA is added to a trust list, or denial of service if a CA is removed from a trust list.

For trust authority models, a denial of service attack is also possible if the application cannot obtain timely information from the trust anchor. Applications SHOULD specify service level agreements with trust authority. In addition, applications MAY choose to locally cache the list of CAs maintained by the trust authority as a backup in the event that the trust anchor's repository (e.g., LDAP directory) is not available.



 TOC 

7.  IANA Considerations

This document has no actions for IANA.



 TOC 

8.  References



 TOC 

8.1. Normative References

[RFC3280] Housley, R., Polk, W., Ford, W., and D. Solo, “Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile,” RFC 3280, April 2002 (TXT).
[RFC2119] Bradner, S., “Key words for use in RFCs to Indicate Requirement Levels,” BCP 14, RFC 2119, March 1997 (TXT, HTML, XML).


 TOC 

8.2. Informative References

[CCITT.X509.2000] International International Telephone and Telegraph Consultative Committee, “Information Technology - Open Systems Interconnection - The Directory: Authentication Framework,” CCITT Recommendation X.509, March 2000.
[RFC3647] Chokhani, S., Ford, W., Sabett, R., Merrill, C., and S. Wu, “Internet X.509 Public Key Infrastructure Certificate Policy and Certification Practices Framework,” RFC 3647, November 2003 (TXT).
[RFC4949] Shirey, R., “Internet Security Glossary, Version 2,” RFC 4949, August 2007 (TXT).
[PlanningPKI] Housley, R. and W. Polk, “Planning for PKI,” August 2001.
[Framework] Lloyd, S., Ed. and PKI Forum, “PKI Interoperability Framework,” March 2001.
[CA-CA] Lloyd, S., Ed. and PKI Forum, “CA-CA Interoperability,” March 2001.
[Issues] Shimaoka, M., NPO Japan Network Security Association, and ISEC, Information Technology Promotion Agency, Japan, “Interoperability Issues for multi PKI domain,” July 2002.
[ImplementationProblems] NPO Japan Network Security Association and ISEC, Information Technology Promotion Agency, Japan, “Implementation Problems on PKI,” Feb 2003.
[PKI-Interop2003] Japan PKI Forum, Korea PKI Forum, PKI Forum Singapore, and Chinese Taipei PKI Forum, “Achieving PKI Interoperability 2003,” July 2003.
[PKI-Interop] Japan PKI Forum, Korea PKI Forum, and PKI Forum Singapore, “Achieving PKI Interoperability,” April 2002.
[RFC4158] Cooper, M., Dzambasow, Y., Hesse, P., Joseph, S., and R. Nicholas, “Internet X.509 Public Key Infrastructure: Certification Path Building,” RFC 4158, September 2005 (TXT).
[FPKIMETHOD] US Government PKI Cross-Certification Criteria and Methodology,” January 2006.


 TOC 

Authors' Addresses

  Masaki Shimaoka (editor)
  SECOM Co., Ltd. Intelligent System Laboratory
  SECOM SC Center, 8-10-16 Shimorenjaku
  Mitaka, Tokyo 181-8528
  JP
Email:  m-shimaoka@secom.co.jp
  
  Nelson Hastings
  National Institute of Standard and Technology
  100 Bureau Drive, Stop 8930
  Gaithersburg, MD 20899-8930
  US
Email:  nelson.hastings@nist.gov
  
  Rebecca Nielsen
  Booz Allen Hamilton
  8283 Greensboro Drive
  McLean, VA 22102
  US
Email:  nielsen_rebecca@bah.com


 TOC 

Full Copyright Statement

Intellectual Property