PKI4IPSEC Working Group
      Internet Draft                                       Chris Bonatti, IECA
      draft-ietf-pki4ipsec-mgmt-profile-rqts-02.txt          Sean Turner, IECA
      December 12, 2004                            Gregory Lebovitz, Netscreen
      Expires June 12, 2005
      
      
              Requirements for an IPsec Certificate Management Profile
      
      
      Status of this Memo
      
         By submitting this Internet-Draft, I certify that any applicable
         patent or other IPR claims of which I am aware have been disclosed,
         or will be disclosed, and any of which I become aware will be
         disclosed, in accordance with RFC 3668.
      
         This document is an Internet-Draft and is in full conformance with
         all provisions of Section 10 of [STDPROCESS].
      
         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.
      
      
      Abstract
      
         This informational document describes and identifies the requirements
         for a profile of a certificate management protocol to handle Public
         Key Certificate (PKC) lifecycle interactions between Internet
         Protocol Secuity (IPsec) Virtual Private Network (VPN) Systems using
         IKE (versions 1 and 2) and Public Key Infrastructure (PKI) Systems.
         These requirements are designed so that they meet the needs of
         enterprise scale IPsec VPN deployments. It is intended that a
         standards track profile will be created that fulfills these
         requirements.
      
      
         STATUS OF THIS MEMO................................................1
         ABSTRACT...........................................................1
      
      
      Bonatti, Turner, Lebovitz                                            1
      
      Internet-Draft            Requirements for an           December 2004
                        IPsec Certificate Management Profile
      
         1 INTRODUCTION.....................................................3
         1.1 SCOPE..........................................................4
         1.2 NON-GOALS......................................................5
         1.3 DEFINITIONS....................................................5
         1.4 REQUIREMENTS TERMINOLOGY.......................................7
         2. ARCHITECTURE....................................................8
         2.1 VPN SYSTEM.....................................................8
         2.1.1 IPSEC PEER(S)................................................8
         2.1.2 VPN ADMINISTRATION FUNCTION (ADMIN)..........................9
         2.2 PKI SYSTEM....................................................10
         2.3 VPN-PKI INTERACTION...........................................11
         2.3.1 NEW PKC.....................................................12
         2.3.2 RENEWAL PKC.................................................14
         2.3.3 REVOCATION..................................................16
         3 REQUIREMENTS....................................................17
         3.1 GENERAL REQUIREMENTS..........................................17
         3.1.1 ONE PROTOCOL................................................17
         3.1.2 SECURE TRANSACTIONS.........................................17
         3.1.3 PKI AVAILABILITY............................................17
         3.1.4 END-USER TRANSPARENCY.......................................18
         3.1.5 ERROR HANDLING..............................................18
         3.2 AUTHORIZATION TRANSACTIONS....................................18
         3.2.1 BULK AUTHORIZATION..........................................18
         3.2.2 PROTOCOL PREFERENCES FOR AUTHORIZATION......................18
         3.2.3 ADMIN AUTHORIZATION REQUESTS TO PKI.........................19
         3.2.3.1 SPECIFYING FIELDS WITHIN THE PKC..........................19
         3.2.3.2 AUTHORIZATIONS FOR RENEWAL AND UPDATE.....................20
         3.2.3.3 OTHER AUTHORIZATION ELEMENTS..............................21
         3.2.4 CANCEL CAPABILITY...........................................21
         3.2.5 PKI RESPONSE TO ADMIN.......................................22
         3.2.6 ERROR HANDLING FOR AUTHORIZATION TRANSACTIONS...............22
         3.3 KEY GENERATION AND PKC REQUEST CONSTRUCTION...................22
         3.3.1 KEY GENERATION SCENARIOS....................................23
         3.3.1.1 IPSEC PEER GENERATES KEY PAIR AND CONSTRUCTS REQUEST......23
         3.3.1.2 IPSEC PEER GENERATES KEY PAIR, ADMIN CONSTRUCTS REQUEST...24
         3.3.1.3 ADMIN GENERATES KEY PAIR AND CONSTRUCTS REQUEST...........26
         3.3.1.4 PKI GENERATES KEY PAIR AND PASSES TO PEER VIA ADMIN.......27
         3.3.1.5 PEER GENERATES KEY PAIR WITHOUT PRIOR AUTHORIZATION.......28
         3.3.2 ERROR HANDLING FOR KEY GENERATION AND PKC REQUEST CONSTRUCTION
         ..................................................................29
         3.4 ENROLLMENT (SENDING REQUEST AND PKC RETRIEVAL)................30
         3.4.1 ONE PROTOCOL................................................30
         3.4.2 ON-LINE PROTOCOL............................................30
         3.4.3 SINGLE CONNECTION WITH IMMEDIATE RESPONSE...................30
         3.4.4 MANUAL APPROVAL OPTION......................................30
         3.4.5 ENROLLMENT METHOD 1: PEER ENROLLS TO PKI DIRECTLY...........30
         3.4.6 ENROLLMENT METHOD 2: IPSEC PEER ENROLLS TO PKI THROUGH ADMIN31
         3.4.7 ENROLLMENT METHOD 3: ADMIN ENROLLS TO THE PKI DIRECTLY......33
         3.4.8 ENROLLMENT TYPE FIELD.......................................35
      
      Bonatti, Turner, Lebovitz                                            2
      
      Internet-Draft            Requirements for an           December 2004
                        IPsec Certificate Management Profile
      
         3.4.9 CONFIRMATION HANDSHAKE......................................35
         3.4.10 FAILURE CASES..............................................36
         3.5 PKC PROFILE FOR PKI INTERACTION...............................37
         3.5.1 IDENTITY USAGE..............................................37
         3.5.2 PATH VALIDATION.............................................38
         3.5.3 KEYUSAGE....................................................38
         3.5.4 EXTENDED KEY USAGE..........................................38
         3.5.5 POINTER TO REVOCATION CHECKING..............................39
         3.6 PKC RENEWALS AND UPDATES......................................39
         3.6.1 RENEW REQUEST FOR A NEW PKC (BEFORE EXPIRY).................41
         3.6.2 UPDATE REQUEST FOR A NEW PKC................................41
         3.6.3 ERROR HANDLING FOR RENEWAL AND CHANGE.......................42
         3.7 FINDING PKCS IN REPOSITORIES..................................42
         3.7.1 ERROR HANDLING FOR REPOSITORY LOOKUPS.......................43
         3.8 REVOCATION ACTION.............................................43
         3.9 REVOCATION CHECKING AND STATUS INFORMATION....................44
         3.9.1 ERROR HANDLING IN REVOCATION CHECKING.......................45
         3.10 TRUST ANCHOR PKC ACQUISITION.................................45
         4. SECURITY CONSIDERATIONS........................................45
         A REFERENCES......................................................46
         A.1 NORMATIVE REFERENCES..........................................46
         A.2 NON-NORMATIVE REFERENCES......................................46
         B. ACKNOWLEDGEMENTS...............................................47
         C. EDITORÆS ADDRESS...............................................47
         D. SUMMARY OF REQUIREMENTS........................................47
         E. SYSTEM OPERATOR CHOICES........................................48
         F. CHANGE HISTORY.................................................48
      
      
      1 Introduction
      
         This document enumerates requirements for Public Key Certificate
         (PKC) management interaction among different IPsec VPN products and
         PKI products in order to better enable large scale, PKI-supported
         IPsec VPN deployments. Requirements for both the IPsec and the PKI
         products are discussed. The goal is to create a set of requirements
         from which a profile document will be derived. The specification will
         clarify the transactions necessary between the VPN System and the PKI
         System that enable the deployment of easily manageable, easily
         scalable VPNs. When implemented, the specification will enable
         improved interoperability between IPsec and PKI products. The
         requirements are carefully designed to achieve security without
         compromising ease of management and deployment, even where the
         deployment involves tens of thousands of IPsec users and devices.
      
         Within IPsec VPNs, the PKI supports authentication of IPSec Peers
         through digital signatures during security association establishment
         using IKE. The protocol and PKI operational usages are considered in
         order to define a common, single set of methods (which forces
      
      Bonatti, Turner, Lebovitz                                            3
      
      Internet-Draft            Requirements for an           December 2004
                        IPsec Certificate Management Profile
      
         interoperability) between PKI Systems and VPN Systems for large-scale
         deployments. The requirements address the entire lifecycle for PKI
         usage within IPsec transactions: pre-authorization of PKC issuance,
         enrollment process (PKC request and retrieval), PKC renewals, updates
         and rekeys, revocation, validation and repository lookups. They
         enable a VPN Operator to:
      
           - Authorize individual or batches of PKC issuances based on locally
             defined criteria, and do so from the VPN Administration point.
      
           - Provision PKI-based user or machine identity to IPsec Peers, on a
             large scale. Provision means the IPsec Peer ends up with a valid
             public and private key pair and PKC based on the IETF Public Key
             Infrastructure X.509 (PKIX) PKC profile from [CERTPROFILE] and
             the specific requirements of IPsec PKCs [IKECERTPROFILE]. These
             are used in the IKE negotiation for tunnel setup.
      
           - Set the corresponding gateway or client authorization policy for
             remote access and site-to-site connections.
      
           - Establish automatic renewal for PKCs, updates, or rekey.
      
           - Ensure timely revocation information is available for PKCs used
             in IKE exchanges.
      
         The desired outcome is that both IPSec and PKI vendors create
         interoperable products to enable such scalable deployments, and do so
         as quickly as possible. For example, a VPN Operator should be able to
         use any conforming IPsec implementation of the certificate management
         profile with any conforming PKI vendorÆs implementation to perform
         the VPN rollout and management as described below.
      
         The certificate management profile will also clarify and constrain
         existing PKIX and IPsec standards and protocols for easier
         understanding and the limiting of complexity in deployment. Some new
         elements are identified that may require either a new protocol, or
         changes or extensions to an existing protocol, especially in the area
         of bulk authorization for PKC issuance. The document introduces the
         idea of a VPN Administration function (Admin) within the VPN System.
         This VPN Administration function bears great responsibility for the
         task of managing pre-authorization for PKC issuance and of
         distributing the results between the VPN System and the PKI System.
      
      
      1.1 Scope
      
         The solution described in this document focuses on the requirements
         for the interaction between the VPN Systems and the PKI Systems.  The
         internals of the operation of these systems are beyond scope.
      
      Bonatti, Turner, Lebovitz                                            4
      
      Internet-Draft            Requirements for an           December 2004
                        IPsec Certificate Management Profile
      
      
         The solution focuses on the needs of large-scale rollouts, i.e. VPNs
         including hundreds or thousands of managed VPN gateways or VPN remote
         access clients. The needs of small deployments are a stated non-goal,
         however service providers employing the scoped solution and applying
         it to many smaller deployments in aggregate may address them.
      
         Gateway-to-gateway access and end-user remote access (to a gateway)
         are both covered. End-to-end communications are not necessarily
         excluded but are intentionally not a focus.
      
         There is no intention to discuss all or other PKI issues here. The
         scope is limited to requirements for easing and enabling scalable
         IPsec with PKI deployments.
      
         The requirements strive to meet eighty percent of the market needs
         for large-scale deployments. Environments will understandably exist
         in which large-scale deployment tools are desired, but local security
         policy stringency will not allow for the use of such commercial
         tools. The solution will possibly miss the needs of the highest ten
         percent of stringency and lowest ten percent of convenience
         requirements. Use cases will be considered or rejected based upon
         this eighty percent rule.
      
      
      1.2 Non-Goals
      
         The scenario for PKC cross-certification will not be addressed.
      
         The specification for the communication method and transactions
         between VPN Administration function and IPSec Peers is up to vendor
         implementation and therefore is not expected to be included in the
         certificate management profile. Such a protocol may be standardized
         at a later date to enable interoperability between VPN Administration
         function stations and IPsec Peers from different vendors, but is far
         beyond the scope of this current effort, and will be considered
         opaque by the certificate management profile.
      
      
      1.3 Definitions
      
         VPN System
         The VPN System is comprised of the VPN Administration function
         (defined below), the IPsec Peers, and the communication mechanism
         between the VPN Administration and the IPsec Peers. VPN System is
         defined in more detail in section 2.1.
      
         PKI System
      
      
      
      Bonatti, Turner, Lebovitz                                            5
      
      Internet-Draft            Requirements for an           December 2004
                        IPsec Certificate Management Profile
      
         The PKI System, or simply PKI, is the set of functions needed to
         authorize and issue PKCs and provide revocation information about
         those PKCs. PKI System is defined in more detail in section 2.2.
      
         (VPN) Operator
         The Operator is the person or group of people that define security
         policy and configure the VPN System to enforce that policy.
      
         IPsec Peer (Gateway or Client)
         For the purposes of this document, an IPsec Peer, or simply "Peer",
         is any IPsec System that communicates IKE and IPsec to another Peer
         in order to create a secure tunnel for communications. It can be
         either a traditional security gateway (with two network interfaces,
         one for the protected network and one for the unprotected network),
         or it can be an IPsec client (with a single network interface). In
         both cases, the IPsec System can pass traffic with no IPsec
         protection, and can add IPsec protection to chosen traffic streams.
      
         (VPN) Admin
         The function of the VPN System that manages and distributes policy to
         Peers and who interacts with the PKI System to define policy for PKC
         provisioning for the VPN connections. See Section 2.1.1 below for
         more details.
      
         End Entity
         An end entity is the entity or subject that a PKC exists to
         authenticate. The end entity is the one entity that will finally use
         a private key associated with a PKC to sign data. In this document,
         an IPsec Peer is certainly an end entity, but the VPN Admin may also
         constitute an end entity.  Note that end entities may have different
         PKCs for different purposes (e.g., signature vs. key exchange).
      
         Community Realm
         A community realm is the set of IPsec Peers and VPN Administration
         function that operate under a common policy, and PKI authorizations.
      
         PKC Renewal
         The acquisition of a new PKC with the same public key due to the
         expiration of an existing PKC. Renewal occurs prior to the expiration
         of the existing PKC to avoid any connection outages.
      
         PKC Update
         A special case of a renewal-like occurrence where a PKC needs to be
         changed prior to expiration due to some change in its subjectÆs
         information. Examples might include change in the address, telephone
         number, or name change due to marriage of the end entity.
      
         PKC Rekey
      
      
      
      Bonatti, Turner, Lebovitz                                            6
      
      Internet-Draft            Requirements for an           December 2004
                        IPsec Certificate Management Profile
      
         The routine procedure for replacement of a PKC with a new PKC with a
         new public key for the same subject name.  A rekey process may rely
         on the existing key pair to bootstrap authentication for the new
         enrollment.
      
         Registration Authority (RA)
         An optional entity in a PKI System given responsibility for
         performing some of the administrative tasks necessary in the
         registration of end entities, such as confirming the subjectÆs
         identity and verifying that the subject has possession of the private
         key associated with the public key requested for a PKC.
      
         Certificate Authority (CA)
         An authority in a PKI System trusted by one or more users to create
         and assign PKCs. It is important to note that the CA is responsible
         for the PKCs during their whole lifetime, not just for issuing them.
      
         Repository
         An Internet-accessible server in a PKI System that stores and makes
         available for retrieval PKCs and Certificate Revocation Lists (CRLs).
      
         Root CA/Trust Anchor
         A CA that is directly trusted by an end entity; that is, securely
         acquiring the value of a Root CA public key requires some out-of-band
         step(s). This term is not meant to imply that a Root CA is
         necessarily at the top of any hierarchy, simply that the CA in
         question is trusted directly.
      
         Certificate Revocation List (CRL)
         A CRL is a time stamped list identifying revoked PKCs that is signed
         by a CA and made freely available in a public repository. Peers
         retrieve the CRL to verify that a PKC being presented to them as
         identity in an IKE transaction has not been revoked.
      
         CRL Distribution Point (CDP)
         The CDP extension in a PKC identifies the location from which end
         entities should retrieve CRLs to perform local validity checking.
      
         Authority Info Access (AIA)
         The AIA extension in a PKC indicates how to access CA information and
         services for the issuer of the PKC in which the extension appears.
         Information and services may include on-line validation services and
         Certificate Policy (CP) data.
      
      
      1.4 Requirements Terminology
      
         Though this document is not an Internet Draft, we use the convention
         that the key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL
      
      Bonatti, Turner, Lebovitz                                            7
      
      Internet-Draft            Requirements for an           December 2004
                        IPsec Certificate Management Profile
      
         NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in
         this document are to be interpreted as described in [MUSTSHOULD].
      
      
      2. Architecture
      
         This section describes the overall architecture for a PKI-supported
         IPsec VPN deployment. First, an explanation of the VPN System is
         presented. Second, key points about the PKI System are stated. Third,
         the architecture picture is presented. Last, the process of the
         interaction between the two Systems for large-scale deployment is
         described.
      
      
      2.1 VPN System
      
         The VPN System consists of the IPsec Peers and the VPN Administration
         function, as depicted in Figure 1.
      
                  +---------------------------------------------------+
                  |                                                   |
                  |                      +----------+                 |
                  |                      |   VPN    |                 |
                  |          +---------->|  Admin   |<-------+        |
                  |          |           | Function |        |        |
                  |          |           +----------+        |        |
                  |          v                               v        |
                  |  +---------+                         +---------+  |
                  |  |  IPsec  |                         |  IPsec  |  |
                  |  |  Peer 1 |<=======================>|  Peer 2 |  |
                  |  +---------+                         +---------+  |
                  |                                                   |
                  |                     VPN System                    |
                  +---------------------------------------------------+
      
                                   Figure 1: VPN System
      
      
      2.1.1 IPsec Peer(s)
      
         The Peers are two entities between which the Operator requires an
         IPsec tunnel establishment. Two Peers are shown in Figure 1, but
         implementations MAY support an actual number in the hundreds or
         thousands. The Peers could be either gateway-to-gateway, remote-
         access-host-to-gateway, or a mix of both. The Peers authenticate
         themselves in the IKE negotiation using digital signatures through a
         PKI System.
      
      
      
      Bonatti, Turner, Lebovitz                                            8
      
      Internet-Draft            Requirements for an           December 2004
                        IPsec Certificate Management Profile
      
      2.1.2 VPN Administration Function (Admin)
      
         This document defines the notion of a VPN Administration function,
         hereafter referred to as Admin, and gives the Admin great
         responsibility within the solution. The Admin is a centralized
         function. It defines the VPN System policy and informs the PKI and
         Peers how it wants each to enforce that policy. One main role defined
         here is that Admin specifies to the PKI the contents and use
         parameters of the credentials the PKI will issue, or at least
         references a template or policy-set for a Peer or set of Peers. In
         this way, the Admin MAY perform many RA-like functions, for example
         authorization of PKC issuance and revocation.
      
         It is important to note that, within this document, Admin is neither
         a device nor a person, rather it is a function. Every large-scale VPN
         deployment will contain the Admin function. The function MAY be
         performed on a stand-alone workstation, on a gateway, on an
         administration software component. The Admin function MAY also be one
         in the same as the gateway or client device or software. They are
         represented in the architectural diagram below as different
         functions, but they need not be different physical entities. As such,
         the AdminÆs architecture and the means by which it interacts with the
         participating IPsec Peers will vary widely from implementation to
         implementation. However, some basic functions of the Admin are
         assumed.
      
           - It will define the Certificate Policy (CP) [FRAME] for use in the
             VPN, not the PKI. In VPN Systems the Operator chooses to
             strengthen the VPN by using PKI; PKI is a bolt-on to the VPN
             System. The PKC characteristics and contents are a function of
             the local security policy the VPN serves to enforce. Therefore,
             the Operator will configure policy and contents for PKCs in the
             Admin, and apply those templates to groups of IPsec Peers.
      
           - It will interact directly with the PKI System to initiate
             authorization for end entity PKCs by sending the parameters and
             contents for those PKCs, or by referring to a template or
             policy-set on the PKI. (Such templates would likely have been
             created in conjunction with the Operator.) It will receive back
             from the PKI unique authorization identifiers and one time
             tokens to be used in the PKC requests for each of the pre-
             authorized PKCs.
      
           - It will deliver instructions to the IPsec Peers, and the Peers
             will carry out those instructions. An example of such an
             instruction is an IKE policy configuration. Therefore, the
             communication mechanism between the Admin and the IPsec Peers
             MUST be private, authenticated, employ integrity checks, and
             support non-repudiation. The contents of some such instructions
      
      Bonatti, Turner, Lebovitz                                            9
      
      Internet-Draft            Requirements for an           December 2004
                        IPsec Certificate Management Profile
      
             will be defined below. However, the communication mechanism will
             be handled completely within the VPN System and is out of the
             scope of this document (see Scope, Section 1.1 above).
      
         The Admin MUST be reachable by the Peers. Most implementations will
         meet this requirement by ensuring the Peer can connect to the Admin
         from anywhere on the network or Internet. However, communication
         between the Admin and Peer may not necessarily be "on-line". It MAY,
         in some environments, be "moving media," i.e. the configuration or
         data MAY be loaded on to a floppy disk or other media and physically
         moved to the IPsec Peer. Likewise, it MAY be entered directly on the
         IPsec Peer via a User Interface (UI). In this case, the Admin
         function is co-located on the Peer device itself. This reality SHOULD
         be considered when requirements are defined, and when supporting
         networks are architected.
      
      
      2.2 PKI System
      
         The PKI System, as depicted in Figure 2, MAY be set up and operated
         by the Operator (in-house), MAY be provided by third party PKI
         providers to which connectivity is available at the time of
         provisioning (managed PKI service), or MAY be integrated with the VPN
         product.
      
                     +---------------------------------------------+
                     |        +-------------------------+          |
                     |        v                         |          |
                     |   +--------------+               v          |
                     |   |  Repository  |    +----+   +----+       |
                     |   | Certs & CRLs |<-> | CA |<->| RA |       |
                     |   +--------------+    +----+   +----+       |
                     |                                             |
                     +---------------------------------------------+
      
                                    Figure 2: PKI System
      
         This framework assumes that all components of the VPN MUST obtain
         PKCs from a single PKI community. An IPsec Peer MAY accept a PKC from
         a Peer that is from a CA outside of the PKI community, but the auto
         provision and life cycle management for such a PKC or its trust
         anchor PKC fall out of scope.
      
         The PKI System MUST contain a mechanism for handling AdminÆs
         authorization requests and PKC enrollments. These mechanisms are
         referred to as the RA. The PKI System MUST contain a Repository for
         Peers to look up each otherÆs PKCs and revocation information. Last,
         the PKI System contains the core function of a CA that uses a public
         and private key pair and signs PKCs.
      
      Bonatti, Turner, Lebovitz                                           10
      
      Internet-Draft            Requirements for an           December 2004
                        IPsec Certificate Management Profile
      
      
         The PKI System SHOULD be built so that lookups resolve directly and
         completely at the URL indicated in a CDP or AIA. The PKI SHOULD be
         built such that URL contents do not contain referrals to other hosts
         or URLs, as such referral lookups will increase the time to complete
         the IKE negotiation, and can cause implementations to timeout.
      
      
      2.3 VPN-PKI Interaction
      
         The interaction between the VPN System and the PKI System is the key
         focus of this requirements document, as shown in Figure 3. It is
         therefore sensible to consider the steps necessary to set up, use and
         manage PKCs for one Peer to establish an association with another
         Peer. Figure 4 (below) illustrates the information flow associated
         with the initial PKC generation steps relative to the architecture
         diagram. Figure 5 (below) illustrates the information flow associated
         with the PKC renewal steps relative to the architecture diagram.
         Figure 6 (below) illustrates the information flow associated with the
         PKC revocation steps relative to the architecture diagram. For
         simplicity, only the steps associated with IPsec Peer 1 are shown.
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      Bonatti, Turner, Lebovitz                                           11
      
      Internet-Draft            Requirements for an           December 2004
                        IPsec Certificate Management Profile
      
                     +---------------------------------------------+
                     |                  PKI System                 |
                     |                                             |
                     |   +--------------+                          |
                     |   |  Repository  |    +----+   +----+       |
                     |   | Certs & CRLs |    | CA |   | RA |       |
                     |   +--------------+    +----+   +----+       |
                     |                                             |
                     +---------------------------------------------+
                           ^                  ^                ^
                           |                  |                |
                           |[E]               |[A]             |[E]
                           |[M]               |[E]             |[M]
                           |[R]               |[R]             |[R]
                           |                  |                |
                  +--------+------------------+----------------+------+
                  |        |                  v                |      |
                  |        |             +----------+          |      |
                  |        |      [G]    |   VPN    |  [G]     |      |
                  |        | +---------->|  Admin   |<-------+ |      |
                  |        | |           | Function |        | |      |
                  |        | |           +----------+        | |      |
                  |        v v                               v v      |
                  |  +---------+                         +---------+  |
                  |  |  IPsec  |           [I]           |  IPsec  |  |
                  |  |  Peer 1 |<=======================>|  Peer 2 |  |
                  |  +---------+                         +---------+  |
                  |                                                   |
                  |                     VPN System                    |
                  +---------------------------------------------------+
      
          [A] = Authorization of PKC issuance and revocation
          [G] = Generation of public and private key pair, PKC request
          [E] = Enrollment (request and retrieval)
          [I] = IKE and IPsec communication
          [M] = Maintenance: validation, revocation, and repository lookups
          [R] = Renewal (also update and rekey)
      
                Figure 3.  Architectural Framework for VPN-PKI Interaction
      
      2.3.1 New PKC
      
         The steps of the VPN-PKI interaction are summarized here for
         generating a new PKC. The letters refer to Figure 3. The numbers
         refer to Figure 4. The detailed requirements are described below in
         Section 3. Note that there are a number of architectural options
         available and that the most common architecture is depicted in Figure
         4; IPsec Peer generated Keys and IPsec Peer generated PKC Request.
         Other architectural options are discussed in Section 3.
      
      Bonatti, Turner, Lebovitz                                           12
      
      Internet-Draft            Requirements for an           December 2004
                        IPsec Certificate Management Profile
      
      
             +--------------+  7  +-----------------------+
             |  Repository  |<----| Certificate Authority |
             +--------------+     +-----------------------+
                         ^           ^        ^
                         | 8    4, 6 |        | 1
                         |           |      2 |
                         |           |        v
                         |           |     +-------+
                         |           |  +- | Admin |
                         |           |  |  +-------+
                         |           |  |
                         | 9       5 |  | 3
                         v           v  v
                      +--------------------+          +--------+
                      |       IPsec        |    10    | IPsec  |
                      |      Peer 1        |<========>| Peer 2 |
                      +--------------------+          +--------+
      
                        Figure 4.  VPN-PKI Interaction Steps:
                      IPsec Peer Generates Keys and PKC Request,
                               Enrolls Directly with PKI
      
      
         1) Authorization [A]. Admin sends a list of IDs and PKC contents for
         the PKI System to authorize enrollment. The PKI returns a list of
         unique authorization identifiers and one-time tokens to be used for
         the enrollment of each PKC. Other PKC usage policy is also set at
         this time, for example parameters for renewals, updates or rekeys,
         key lengths, etc. The amount of information that the Admin
         communicates to the PKI about how it wants the PKCs built could be
         very small, perhaps just a reference to a template already existing
         in the PKI System. Likewise, it could be very large, with several
         fields being specified along with their contents.
      
         2) Authorization Response [A]. The PKI System acknowledges the
         authorizations provided in (1). Response may indicate success or
         failure for any particular authorization.
      
         3) Generate Keys and PKC Request [G]. The Admin communicates with the
         Peer to give the Peer information so that it can generate a public
         and private key pair and PKC request and send the request directly to
         the PKI.
      
         4) Enrollment [E]. The IPsec Peer requests a PKC from the PKI,
         providing the generated public key.  The IPsec Peer generates the key
         pair and PKC request.
      
      
      
      
      Bonatti, Turner, Lebovitz                                           13
      
      Internet-Draft            Requirements for an           December 2004
                        IPsec Certificate Management Profile
      
         5) Enrollment Response [E]. The PKI responds to the enrollment
         request sent in (4), providing either the new PKC that was generated
         or a suitable error indication.
      
         6) Enrollment Confirmation. Peer positively acknowledges receipt of
         new PKC.
      
         7) PKC Posting. The newly-generated PKC for IPsec Peer 1 is posted to
         the repository.
      
         8) Maintenance [M]. The IPsec Peer accesses the PKI to support look-
         up of PKCs for other IPsec Peers, certification path validation, and
         revocation checking. This step consists of sending requests for
         specific PKCs or CRLs, or requests for the PKI System to perform
         validation checks.
      
         9) Maintenance Response [M]. The PKI responds to the maintenance
         request sent in (7), providing either the requested PKC or CRL,
         indicating the validity status of a PKC, or indicating an error
         condition.
      
         10) IKE/IPsec Communication [I]. The Peers communicate authenticated
         by the PKCs they received from the PKI.
      
      
      2.3.2 Renewal PKC
      
         The steps of the VPN-PKI interaction are summarized here for renewal
         of PKCs. The letters refer to Figure 3. The numbers refer to Figure
         5. The detailed requirements are described below in Section 3. Note
         that there are a number of architectural options available and that
         the most common architecture is depicted in Figure 5; IPsec Peer
         generated Keys and IPsec Peer generated PKC Request. Other
         architectural options are discussed in Section 3.
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      Bonatti, Turner, Lebovitz                                           14
      
      Internet-Draft            Requirements for an           December 2004
                        IPsec Certificate Management Profile
      
             +--------------+  5  +-----------------------+
             |  Repository  |<----| Certificate Authority |
             +--------------+     +-----------------------+
                         ^           ^
                         | 6         | 2, 4
                         |           |
                         |           |
                         |           |     +-------+
                         |           |  +- | Admin |
                         |           |  |  +-------+
                         |           |  |
                         | 7       3 |  | 1
                         v           v  v
                      +--------------------+          +--------+
                      |       IPsec        |    8     | IPsec  |
                      |      Peer 1        |<========>| Peer 2 |
                      +--------------------+          +--------+
      
           Figure 5.  VPN-PKI Interaction Steps: Renewal by IPsec Peer 1
      
      
         1) Rekey or Renewal Initiation. The Admin communicates renewal,
         update or rekey instructions to the Peers. Renewal may also be
         signaled to the PKI (not shown), particularly if authorization
         changes are necessary. Initiation of this process by the Admin
         enables IPsec Peers to automatically generate renewal, update or
         rekey requests as needed with minimal user burden, and for those
         requests to be immediately granted by the PKI System. Local security
         policy will determine whether Admin allows EE renewal without
         authorization from Admin. Additionally, local policy will determine
         whether EEs must renew or be reissued PKCs.
      
         2) Renewals and Updates [R]. The IPsec Peer requests renewal or
         update of an existing PKC. Rekey MAY also occur depending upon policy
         constraints. The renewal or change request will either be provided in
         (10) above, or will be generated by the IPsec Peer.
      
         3) Renewal/Update Response [R]. The PKI responds to the renewal or
         update request sent in (11), providing either the new PKC that was
         generated or a suitable error indication.
      
         4) Enrollment Confirmation. Peer positively acknowledges receipt of
         new PKC.
      
         5) PKC Posting. The newly-generated PKC for IPsec Peer 1 is posted to
         the repository.
      
         6) Maintenance [M]. The IPsec Peer accesses the PKI to support look-
         up of PKCs for other IPsec Peers, certification path validation, and
      
      Bonatti, Turner, Lebovitz                                           15
      
      Internet-Draft            Requirements for an           December 2004
                        IPsec Certificate Management Profile
      
         revocation checking. This step consists of sending requests for
         specific PKCs or CRLs, or requests for the PKI System to perform
         validation checks.
      
         7) Maintenance Response [M]. The PKI responds to the maintenance
         request sent in (7), providing either the requested PKC or CRL,
         indicating the validity status of a PKC, or indicating an error
         condition.
      
         8) IKE/IPsec Communication [I]. The Peers communicate authenticated
         by the PKCs they received from the PKI.
      
      
      2.3.3 Revocation
      
      
         The steps of the VPN-PKI interaction are summarized here for
         generating a new PKC. The letters refer to Figure 3. The numbers
         refer to Figure 6. The detailed requirements are described below in
         Section 3.
      
             +--------------+  2  +-----------------------+
             |  Repository  |<----| Certificate Authority |
             +--------------+     +-----------------------+
                         ^           ^         ^
                         | 3         | 1       | 1, 1ÆÆ
                         |           |         |
                         |           |         |
                         |           |  1Æ +-------+
                         |           |  +> | Admin |
                         |           |  |  +-------+
                         |           |  |
                         | 4         |  |
                         v           |  |
                      +--------------------+
                      |       IPsec        |
                      |      Peer 1        |
                      +--------------------+
      
             Figure 6.  VPN-PKI Interaction Steps: Revocation
      
      
         1) Revocation. The IPsec Peer or Admin requests revocation of IPsec
         Peer 1Æs PKC directly from the PKI.
      
         1Æ) Revocation. The IPsec Peer requests revocation of their PKC
         through admin.
      
      
      
      
      Bonatti, Turner, Lebovitz                                           16
      
      Internet-Draft            Requirements for an           December 2004
                        IPsec Certificate Management Profile
      
         1ÆÆ) Revocation. The Admin forwards IPsec Peer 1Æs PKC revocation
         request to PKI.
      
         2) CRL Posting. The newly-generated CRL revoking IPsec Peer 1Æs PKC
         is posted to the repository.
      
         3) Maintenance [M]. The IPsec Peer accesses the PKI to support look-
         up of CRL.
      
         4) Maintenance Response [M]. The PKI responds to the maintenance
         request sent in (3), providing either the requested CRL, indicating
         the validity status of a PKC, or indicating an error condition.
      
      
      3 Requirements
      
      3.1 General Requirements
      
      3.1.1 One Protocol
      
         The target profile, to be based on this requirements document, MUST
         call for ONE PROTOCOL or ONE USE PROFILE for each main element of the
         requirements. It is a specific goal to avoid multiple competing
         protocols or profiles to solve the same requirement whenever possible
         so as to reduce complexity and improve interoperability.
      
         Meeting some of the requirements MAY necessitate the creation of a
         new protocol or new extension for an existing protocol; however, the
         late is much preferred.
      
      
      3.1.2 Secure Transactions
      
         The target profile MUST specify the transactions for certificate
         management between VPN and PKI Systems and their components, to ease
         large-scale VPN deployment and management. Specifically, Admin and
         PKI MUST transmit between themselves policy details, identities, and
         keys. As such, the method of communication for these transactions
         MUST be secured in a manner that ensures privacy, authentication,
         message data integrity and non-repudiation. This communication method
         MUST require that mutual trust be established between the PKI and the
         Admin.
      
      
      3.1.3 PKI Availability
      
         Central availability is REQUIRED initially for authorization
         transactions between the PKI and Admin. Further availability MAY be
         required in most cases, but is a decision point for the Operator.
      
      Bonatti, Turner, Lebovitz                                           17
      
      Internet-Draft            Requirements for an           December 2004
                        IPsec Certificate Management Profile
      
         Most requirements and scenarios below assume on-line availability of
         the PKI and Admin for the life of the VPN.
      
         Off-line interaction between the VPN and PKI Systems (i.e., where
         physical media is used as the transport method) is beyond the scope
         of this document.
      
      
      3.1.4 End-User Transparency
      
         PKI interactions are to be transparent to the user. Users SHOULD NOT
         even be aware that PKI is in use. First time connections SHOULD
         consist of no more than a prompt for some identification and pass
         phrase, and a status bar notifying the user that setup is in
         progress.
      
      
      3.1.5 Error Handling
      
         The PKC transaction protocol for the PKI and VPN System transactions
         MUST specify error handling for each transaction. Thorough error
         condition descriptions and handling instructions will greatly aid
         interoperability efforts between the PKI and IPsec products.
      
      
      3.2 Authorization Transactions
      
         This section refers to the [A] elements labeled in Figure 3.
      
      3.2.1 Bulk Authorization
      
         Bulk authorization MUST be supported by the target profile. Bulk
         authorization occurs when the Admin requests of the PKI that
         authorization be established for several different subjects with
         almost the same contents. A minimum of one value (more is also
         acceptable) MUST differ per subject. Because the authorization may
         occur before any keys have been generated, the only way to determine
         one authorization from another for the purpose of issuing unique
         authorization identifiers is by having at least one value differ.
      
         The authorization MAY occur prior to the event of a PKC enrollment
         request (in which case it is a "pre-authorization"), or within the
         same connection.
      
      
      3.2.2 Protocol Preferences for Authorization
      
         The setup for all subjects in an authorization batch SHOULD occur in
         one single connection to the RA/CA, with the number of subjects being
      
      Bonatti, Turner, Lebovitz                                           18
      
      Internet-Draft            Requirements for an           December 2004
                        IPsec Certificate Management Profile
      
         one or greater. Implementations SHOULD be able to handle one thousand
         at a time.
      
         ONE protocol MUST be specified for these Admin to RA/CA interaction.
      
         The PKI responds to the Admin station with Authorization identifiers
         (maybe serial numbers or such) and a corresponding authorization key
         (not to be confused with the public and private key pair) for each
         identifier.
      
         The transport used to carry the pre-authorization SHOULD be reliable
         (TCP).
      
         The protocol SHOULD be as lightweight as possible.
      
         A method for securing the communication between the Admin and the PKI
         MUST be defined, including privacy, authorization, authentication,
         integrity, and non-repudiation. PKCs for authorization of the Admin
         MAY need to be initialized by physical rather than on-line means.
      
      
      3.2.3 Admin Authorization Requests to PKI
      
      3.2.3.1 Specifying Fields within the PKC
      
         The Admin MAY send the PKI System the set of PKC contents that make
         up a PKC template that it wants the PKI to use. In other words, it
         tells the PKI System, "if you see a PKC request that looks like this,
         from this person, process it and issue the PKC." Likewise, such a
         template MAY have already been defined on the PKI System, and the
         Admin may simply reference it.
      
         In the former case, the elements that the Admin MAY send to the PKI
         to authorize the eventual creation of PKCs include:
      
           - DN fields with CN, C, O, OU naming attributes
      
           - Any number of locally defined CNs with their contents
      
           - Validity Period of the PKC
      
           - Renewal parameters (i.e., renewal not permitted, N% of validity
             period, or the UTC time after which renewal is permitted)
      
           - Key type
      
           - Key length
      
           - Extension fields:
      
      Bonatti, Turner, Lebovitz                                           19
      
      Internet-Draft            Requirements for an           December 2004
                        IPsec Certificate Management Profile
      
      
             - KeyUsage set digitalSignature, nonRepudiation, or both bits.
      
             - SubjAltName fields: FQDN, User_FDQN, IPv4_ADDR, and IPv6_ADDR.
      
             - Require a CDP be filled in by the PKI in issuance. The profile,
                based on these requirements, SHOULD define who will handle the
                CDP contents.
      
      
      3.2.3.2 Authorizations for Renewal and Update
      
         When the Admin sends its authorization request information it MUST
         also send information to the PKI about the local policy regarding PKC
         renewal and PKC update. These are:
      
           - Admin MUST specify if automatic renewals are allowed, that is,
             the Admin is presently authorizing the PKI to process a future
             renewal for the specified end entity PKC.
      
           - Admin MUST specify if PKC update is allowed, that is, the Admin
             is presently authorizing the PKI to accept a future request for
             a new PKC creation with changes to non-key-related fields.
      
         If a PKC renewal is authorized, the Admin MUST further specify:
      
           - Who can renew, that is, can only the admin send a renewal request
             or can the end entity Peer send a request directly to the PKI,
             or either.
      
           - Specify at how long before the PKC expiration date the PKI will
             accept and process a renewal (i.e., N% of validity period, or
             the UTC time after which renewal is permitted).
      
         If PKC update is authorized, the Admin MUST further specify:
      
           - The aspects of non-key-related fields that are changeable.
      
           - The entity that can send the PKC Update request, that is, only
             the Admin, only the end entity, or either.
      
         - Specify at how long before the PKC expiration date the PKI will
                accept and process an update (i.e., N% of validity period, or
             the UTC time after which update is permitted).
      
         A new authorization by the Admin is REQUIRED for PKC rekey.  No
         parameters of prior authorizations need be considered.
      
      
      
      Bonatti, Turner, Lebovitz                                           20
      
      Internet-Draft            Requirements for an           December 2004
                        IPsec Certificate Management Profile
      
      3.2.3.3 Other Authorization Elements
      
         CDP MUST be flagged as required in the authorization request. The
         method MUST also be specified; HTTP is the MUST method, LDAP is MAY.
      
         There MUST be an option to specify a Validation Period for the
         authorization ID and its authorization key. If such a Validation
         Period is set, any PKC requests using this authorization id and key
         that arrive at the PKI outside of the validation period MUST be
         dropped and the event logged.
      
         The Admin MUST have the ability to communicate the Community Realm
         for the PKC to the PKI. Community Realm is an important component in
         provisioning that allows the Admin to specify for the Peer various
         elements of the PKCÆs contents that the PKI will fill in, and are not
         defined by the Admin. It may be used to specify various local policy
         definitions. It also will be used to label different groups to have
         different CRLs (for example small CRLs with only gateways in the
         listing for use by Remote Access Peers, or large CRLs with all Remote
         Access Peers and gateways to be used by the Gateways). There will be
         a need for an import and export for easily synchronizing the
         Community Realm lists between the Admin and PKI System.
      
         The Protocol SHOULD consider what happens when Admin requested
         information conflicts with PKI settings such that the Admin request
         cannot be issued as requested (e.g., Admin requests Validation Period
         = 3 weeks and CA is configured to only allow Validation Periods = 1
         week). Proper conflict handling MUST be specified.
      
      
      3.2.4 Cancel Capability
      
         Either the Admin or the Peer can send a cancel authorization message
         to PKI. The canceling entity MUST provide the authorization ID and
         one-time-token in order to cancel the Authorization. At that point,
         the authorization will be erased from the PKI, and a log entry of the
         event written.
      
         After the cancellation has been verified (a Cancel, Cancel ACK, ACK
         type of a process is REQUIRED to cover a lost connections scenario),
         the PKI will accept a new Authorization request with the exact same
         contents as the canceled one, except that the identifier MUST be new.
         The PKI MUST NOT process duplicate authorization requests.
      
         Note that if the PKI has already issued a PKC associated with an
         authorization, then cancellation of the authorization is not
         possible and SHOULD be refused by the PKI.  Once a PKC has been
         issued it MUST be revoked in accordance with clause 3.8.
      
      
      Bonatti, Turner, Lebovitz                                           21
      
      Internet-Draft            Requirements for an           December 2004
                        IPsec Certificate Management Profile
      
      
      3.2.5 PKI response to Admin
      
         If the authorization is acceptable, the PKI will respond to the Admin
         with a unique identifier per subject authorization requested and a
         one-time authorization key per authorization ID. The one-time
         authorization key SHOULD be unique per authorization ID. The more
         randomness that can be achieved in the relationship between an
         identifier and its key the better. The key MUST be in ASCII format to
         avoid incompatibilities that may occur due to international
         characters.
      
         The PKI MAY alter parameters of the authorization request submitted
         by the Admin.  In that event, the PKI MUST return all the contents of
         the authorization template (as modified) to the Admin with the
         confirmation of authorization success. This will allow the Admin to
         perform an "operational test" to verify that the issued PKCs will
         meet its requirements. If the Admin determines that the modified
         parameters are unacceptable, then the authorization should be
         cancelled in accordance with clause 3.2.4.
      
         After receiving a bulk authorization request from the Admin, the PKI
         MUST be able to reply YES to those individual PKC authorizations that
         it can satisfy and NO or FAILED for those requests that cannot be
         satisfied, along with sufficient reason or error codes.
      
         A method is required to identify if there is a change in PKI setting
         between the time the authorization is granted and PKC request occurs,
         and what to do about the discrepancy.
      
      
      3.2.6 Error Handling for Authorization Transactions
      
         Thorough error condition descriptions and handling instructions MUST
         be provided for each transaction in the authorization process.
         Providing such error codes will greatly aid interoperability efforts
         between the PKI and IPsec products.
      
      
      3.3 Key Generation and PKC Request Construction
      
         Once the PKI System has responded with authorization identifiers and
         keys, and this information is received at the Admin, the next step is
         to generate public and private key pairs and to construct PKC
         requests using those key pairs. The key generations MAY occur at one
         of three places, depending on local requirements: at the IPsec Peer,
         at the Admin, or at the PKI. The PKC constructions MAY occur at
         either the IPsec Peer or a combination of the Peer and the Admin.
      
      
      Bonatti, Turner, Lebovitz                                           22
      
      Internet-Draft            Requirements for an           December 2004
                        IPsec Certificate Management Profile
      
      
      3.3.1 Key Generation Scenarios
      
      3.3.1.1 IPsec Peer Generates Key Pair and Constructs Request
      
         This case will be used most often in the field. This is the most
         secure method for keying, as the keys are generated on the end entity
         and never leave the end entity.
      
         The Admin will send the authorization identifier and authorization
         key to the end entity, the IPsec Peer. The Admin will also send any
         other parameters needed by the Peer to generate the PKC request,
         including key type and size. Recall that the mechanism for how this
         information is communicated from the Admin to the Peer is opaque.
      
         Receiving the command and the necessary information from the Admin,
         the Peer will proceed to generate the key pair and construct the PKC
         request.  Figure 7 illustrates this scenario.
      
                          +---------------------------+
                          |   Certificate Authority   |
                          +---------------------------+
                                ^  |         ^  |
                                |  |         |  |
                                |  | 5     1 |  | 2
                                |  |         |  |
                                |  |         |  v
                                |  |     +-----------+
                                |  |     |   Admin   |
                              4 |  |     +-----------+
                                |  |           |
                                |  |           | 3
                                |  |           |
                                |  v           v
                             +--------------------+
                             |        IPsec       |
                             |        Peer        |
                             +--------------------+
      
                        Figure 7.  Key Generation and Enrollment
                            Request Construction by IPsec Peer
      
         1) Authorization
      
         2) Authorization Response
      
         3) PKC Request Information
      
              - PKC Request Unique Identifier
      
      Bonatti, Turner, Lebovitz                                           23
      
      Internet-Draft            Requirements for an           December 2004
                        IPsec Certificate Management Profile
      
      
              - One-time Authorization Key
      
         4) Enrollment Request
      
              - Completed PKC field assertions
      
              - PKC Request Unique Identifier
      
              - One-time Authorization Key
      
              - Public Key
      
              - Proof of Possession of Associated Private Key
      
         5) Enrollment Response
      
              - Distribute PKC
      
      
      3.3.1.2 IPsec Peer Generates Key Pair, Admin Constructs Request
      
         In this case, the Admin sends a command to the Peer to generate the
         key pair. The Admin then constructs the PKC request on behalf of the
         Peer, except for the signing. It sends the construction to the Peer
         for signing, and the Peer returns the signed request construction
         back to the Admin. The Admin then proceeds to enroll on behalf of the
         client.  Figure 8 illustrates this scenario.
      
         The advantage of this solution is that the private key never leaves
         the IPsec Peer, but limits the amount the Peer must know and do
         regarding PKC generation.
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      Bonatti, Turner, Lebovitz                                           24
      
      Internet-Draft            Requirements for an           December 2004
                        IPsec Certificate Management Profile
      
                          +---------------------------+
                          |   Certificate Authority   |
                          +---------------------------+
                                ^  |         ^  |
                                |  |         |  |
                                |  | 5     1 |  | 2
                                |  |         |  |
                                |  |         |  v
                                |  |     +-----------+
                                |  |     |   Admin   |
                              4 |  |     +-----------+
                                |  |           |
                                |  |           | 3
                                |  |           |
                                |  v           v
                             +--------------------+
                             |        IPsec       |
                             |        Peer        |
                             +--------------------+
      
                        Figure 8.  Key Generation By IPsec Peer with
                           Admin Construction of Enrollment Request
      
         1) Authorization
      
         2) Authorization Response
      
         3) PKC Request Template
      
              - Pre-authorized PKC fields
      
              - PKC Request Unique Identifier
      
              - One-time Authorization Key
      
         4) Enrollment Request
      
              - PKC Request Template
      
              - Public Key
      
              - Proof of Possession of Associated Private Key
      
         5) Enrollment Response
      
              - Distribute PKC
      
      
      
      
      
      Bonatti, Turner, Lebovitz                                           25
      
      Internet-Draft            Requirements for an           December 2004
                        IPsec Certificate Management Profile
      
      3.3.1.3 Admin Generates Key Pair and Constructs Request
      
         The use case exists for deployments where end entities cannot
         generate their own key pairs. Figure 9 illustrates the steps
         entailed. Some examples are for PDAs and handsets where to generate
         an RSA key would be operationally impossible due to processing and
         battery constraints. Another case covers key recovery requirements,
         where the same PKCs are used for other functions in addition to
         IPsec, and key recovery is required (e.g. local data encryption),
         therefore key escrow is needed off the end entity station. If key
         escrow is performed then the exact requirements and procedures for it
         are beyond the scope of this document.
      
         The Admin will generate the key pair, construct the PKC request, and
         enroll on behalf of the Peer. Once the PKC has been retrieved, the
         keys and PKC will be sent to the Peer using a secure method.  The
         nature of this secure method is beyond the scope of this document.
      
         Performing a separate pre-authorization step is still of value even
         though the Admin is the also performing the key generation. The
         Community Realm, Subject fields, SubjectAlt fields and more are part
         of the request, and must be communicated in some way from the Admin
         to the PKI. Instead of creating a new mechanism, we simply use the
         pre-authorize schema again. This also allows for the feature of role-
         based administration, where Operator 1 is the only one allowed to
         have the Admin function pre-authorize PKCs, but Operator 2 is the one
         doing batch enrollments and VPN device configurations.
      
                          +---------------------------+
                          |   Certificate Authority   |
                          +---------------------------+
                                ^  |         ^  |
                                |  |         |  |
                                |  | 5     1 |  | 2
                                |  |         |  |
                                |  |         |  v
                                |  |     +-----------+
                                |  |     |   Admin   |
                              4 |  |     +-----------+
                                |  |           |
                                |  |           | 3
                                |  |           |
                                |  v           v
                             +--------------------+
                             |        IPsec       |
                             |        Peer        |
                             +--------------------+
      
                        Figure 9.  Key and Enrollment Request
      
      Bonatti, Turner, Lebovitz                                           26
      
      Internet-Draft            Requirements for an           December 2004
                        IPsec Certificate Management Profile
      
                               Generation By VPN Admin
      
         1) Authorization
      
         2) Authorization Response
      
         3) PKC Request Template
      
              - Pre-authorized PKC fields
      
              - PKC Request Unique Identifier
      
              - One-time Authorization Key
      
              - Public Key
      
              - Private Key
      
              - Proof of Possession of Associated Private Key
      
         4) Enrollment Request
      
              - PKC Request Template
      
         5) Enrollment Response
      
              - Distributed PKC
      
      
      3.3.1.4 PKI Generates Key Pair and Passes to Peer via Admin
      
         This use case allows the PKI to generate the key pair and the PKC
         after which it simply hands the PKC down to the Admin for
         installation into the Peer. This is, in all likelihood, the easiest
         way to deploy PKCs, though it sacrifices some security since both the
         CA and the Admin have access to the private key. However, in cases
         where key escrow is required, this may be acceptable.  Figure 10
         illustrates this scenario.  The Admin effectively acts as a proxy for
         the Peer in the PKC enrollment process.
      
      
      
      
      
      
      
      
      
      
      
      
      Bonatti, Turner, Lebovitz                                           27
      
      Internet-Draft            Requirements for an           December 2004
                        IPsec Certificate Management Profile
      
                          +---------------------------+
                          |   Certificate Authority   |
                          +---------------------------+
                                     ^  |
                                     |  |
                                   1 |  | 2
                                     |  |
                                     |  v
                                 +-----------+
                                 |   Admin   |
                                 +-----------+
                                       |
                                       | 3
                                       |
                                       v
                             +--------------------+
                             |        IPsec       |
                             |        Peer        |
                             +--------------------+
      
                        Figure 10.  Key Generation By PKI with
                            Proxy Enrollment via VPN Admin
      
         1) Authorization & PKC Enrollment Request
      
              - PKC field assertions
      
              - Public Key
      
              - Proof of Possession of Associated Private Key
      
         2) Enrollment Response
      
              - Distributed PKC
      
              - Associated private key
      
         3) Peer Provisioning
      
              - Distributed PKC
      
              - Associated private key
      
      
      3.3.1.5 Peer Generates Key Pair Without Prior Authorization
      
         In many situations, a use case in which the VPN Peer makes sole
         contact with the PKI can simplify the enrollment process.  This
         would allow individuals or small organizations to obtain PKCs for
      
      Bonatti, Turner, Lebovitz                                           28
      
      Internet-Draft            Requirements for an           December 2004
                        IPsec Certificate Management Profile
      
         VPNs without a significant administrative footprint.  Figure 11
         illustrates this scenario.
      
         This scenario uses essentially the same enrollment steps as prior
         scenarios, but has the additional facet that some proof of identity
         mechanism, proof of payment, or other mechanisms may be required by
         the PKI as a precondition of PKC issuance.
      
                          +---------------------------+
                          |   Certificate Authority   |
                          +---------------------------+
                                       ^  |
                                       |  |
                                     1 |  | 2
                                       |  |
                                       |  v
                             +--------------------+
                             |        IPsec       |
                             |        Peer        |
                             +--------------------+
      
                        Figure 11.  Key Generation By IPsec Peer
                              Without Prior Authorization
      
         1) Enrollment Request
      
              - PKC field assertions
      
              - Proof of Identity, Payment, etc.
      
              - Public Key
      
              - Proof of Possession of Associated Private Key
      
         2) Enrollment Response
      
              - Distributed PKC
      
      
      3.3.2 Error Handling for Key Generation and PKC Request Construction
      
         Thorough error condition descriptions and handling instructions MUST
         be provided for each transaction in the key generation and PKC
         request construction process. Providing such error codes will greatly
         aid interoperability efforts between the PKI and IPsec products.
      
      
      
      
      
      
      Bonatti, Turner, Lebovitz                                           29
      
      Internet-Draft            Requirements for an           December 2004
                        IPsec Certificate Management Profile
      
      3.4 Enrollment (Sending Request and PKC Retrieval)
      
         Regardless of where the keys were generated and the PKC request
         constructed, an enrollment process will need to occur to request a
         PKC creation from the PKI and to retrieve that PKC.
      
         The protocol MUST be exactly the same regardless of whether the
         enrollment occurs from the Peer to the PKI or from the Admin to the
         PKI (as seen below in sections 3.4.5 through 3.4.7).
      
      
      3.4.1 One protocol
      
         One protocol MUST be specified for both enrollment requests and
         responses.
      
      
      3.4.2 On-line protocol
      
         The protocol MUST supports enrollment that occurs over the Internet
         and without the need for manual intervention.
      
      3.4.3 Single Connection with Immediate Response
      
         Enrollment requests and responses MUST be able to occur in one on-
         line connection between the Admin on behalf of the Peer or the Peer
         itself and the PKI (RA/CA).
      
      
      3.4.4 Manual Approval Option
      
         The optional capability to queue and manually approve PKC requests
         MUST exist within the protocol for those organizations that will not
         permit automation of credential issuing as described above. Likewise,
         polling to determine if request has been satisfied and to try to
         retrieve the PKC MUST exist within the protocol for those
         organizations that will not permit automation of credential issuing
         as described above.
      
         The Admin and the PKI must disclose and agree upon which mode they
         will support (automated approval or manual approval) within the
         protocol.
      
      
      3.4.5 Enrollment Method 1: Peer Enrolls to PKI Directly
      
         In this case, the Admin can instruct the IPsec Peer to execute an
         enrollment, telling it where to enroll, and providing any necessary
         parameters.
      
      Bonatti, Turner, Lebovitz                                           30
      
      Internet-Draft            Requirements for an           December 2004
                        IPsec Certificate Management Profile
      
      
         In this case, the IPsec Peer only communicates with the PKI after
         being commanded to do so by the Admin.  Note that this enrollment
         mode is depicted in Figure 4.
      
      
      3.4.6 Enrollment Method 2: IPsec Peer Enrolls to PKI through Admin
      
         In this case, the IPsec Peer has generated the key pair and the PKC
         request, but does not enroll directly to the PKI System. Instead, it
         automatically sends its request to the Admin, and the Admin
         automatically performs the enrollment to the PKI System. The PKI
         System does not care where the enrollment comes from, as long as it
         is a valid enrollment. Once the Admin retrieves the PKC, it then
         automatically forwards it to the IPsec Peer, and the Peer can begin
         using it in security policy.
      
         The communication of the request, retrieval, renewal, update or
         rekey, can go directly from the end entity to the PKI, or be passed
         from end entity through the Admin to the PKI. In the latter case, the
         end entity need not know how to do all the direct communication with
         the PKI; the function becomes focused in the Admin station. In either
         case, the format of messages should be identical regardless of who is
         sending the request.
      
         Most IPsec Systems have enough CPU power to generate a public and
         private key pair of sufficient strength for secure IPsec. In this
         case, the end entity needs to prove to the Admin that they have such
         a key pair; this is normally done by the Admin sending the end entity
         a nonce, which the end entity signs and returns to the Admin along
         with the end entityÆs public key.
      
         The steps of the VPN-PKI interaction are summarized here for the
         IPSec Peer enrolling through the Admin. The letters refer to Figure
         3. The numbers refer to Figure 12.
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      Bonatti, Turner, Lebovitz                                           31
      
      Internet-Draft            Requirements for an           December 2004
                        IPsec Certificate Management Profile
      
             +--------------+  10 +-----------------------+
             |  Repository  |<----| Certificate Authority |
             +--------------+     +-----------------------+
                         ^                    ^
                         | 11                 | 1, 5, 9
                         |               2, 6 |
                         |                    v
                         |                 +-------+
                         |              +> | Admin |
                         |         4, 8 |  +-------+
                         |              |
                         | 12           | 3,7
                         v              v
                      +--------------------+          +--------+
                      |       IPsec        |    13    | IPsec  |
                      |      Peer 1        |<========>| Peer 2 |
                      +--------------------+          +--------+
      
                        Figure 12.  VPN-PKI Interaction Steps:
                      IPsec Peer Generates Keys and PKC Request,
                               Enrolls Through Admin
      
         1) Authorization [A]. Admin sends a list of IDs and PKC contents for
         the PKI System to authorize enrollment. The PKI returns a list of
         unique identifiers and one-time tokens to be used for the enrollment
         of each PKC. Other PKC usage policy is also set at this time, for
         example parameters for renewals, updates or rekey, key lengths, etc.
         The amount of information that the Admin communicates to the PKI
         about how it wants the PKCs built could be very small, perhaps just a
         reference to a template already existing in the PKI System. Likewise
         it could be very large, with several fields being specified along
         with their contents.
      
         2) Authorization Response [A]. The PKI System acknowledges the
         authorizations provided in (1). Response may indicate success or
         failure for any particular authorization.
      
         3) Generate Keys and PKC Request [G]. The Admin communicates with the
         Peer to give it information so that it can generate a public and
         private key pair and PKC request and send the request back to the
         Admin.
      
         4) Enrollment [E]. The IPsec Peer requests a PKC from the Admin,
         providing the generated public key.
      
         5) Enrollment [E]. The Admin forwards the enrollment request to the
         PKI.
      
      
      
      
      Bonatti, Turner, Lebovitz                                           32
      
      Internet-Draft            Requirements for an           December 2004
                        IPsec Certificate Management Profile
      
         6) Enrollment Response [E]. The PKI responds to the enrollment
         request sent in (5), providing either the new PKC that was generated
         or a suitable error indication.
      
         7) Enrollment Response [E]. The Admin forwards the enrollment
         response back to the IPsec Peer.
      
         8) Enrollment Confirmation. Peer must positively acknowledge receipt
         of new PKC back to the Admin.
      
         9) Enrollment Confirmation. Admin forwards enrollment confirmation
         back to the PKI.
      
         10) PKC Posting. The newly-generated PKC for IPsec Peer 1 is posted
         to the repository.
      
         11) Maintenance [M]. The IPsec Peer accesses the PKI to support look-
         up of PKCs for other IPsec Peers, certification path validation, and
         revocation checking. This step consists of sending requests for
         specific PKCs or CRLs, or requests for the PKI System to perform
         validation checks.
      
         12) Maintenance Response [M]. The PKI responds to the maintenance
         request sent in (11), providing either the requested PKC or CRL,
         indicating the validity status of a PKC, or indicating an error
         condition.
      
         13) IKE/IPsec Communication [I]. The Peers communicate authenticated
         by the PKCs they received from the PKI.
      
      
      3.4.7 Enrollment Method 3: Admin Enrolls to the PKI Directly
      
         In this instance, the Admin is performing a function similar to that
         of a Registration Authority (RA), as defined in [CERTPROFILE]. The
         Admin will have likely generated the key pair and constructed the
         request on behalf of the IPsec Peer. It proceeds to handle the entire
         enrollment directly with the PKI, and returns to the IPsec Peer the
         final product of a key pair and PKC. Again, the mechanism for the
         Peer to Admin communication is opaque.
      
         The steps of the VPN-PKI interaction are summarized here for the
         Admin enrolling directly to the PKI. The letters refer to Figure 3.
         The numbers refer to Figure 13.
      
      
      
      
      
      
      
      Bonatti, Turner, Lebovitz                                           33
      
      Internet-Draft            Requirements for an           December 2004
                        IPsec Certificate Management Profile
      
             +--------------+  7  +-----------------------+
             |  Repository  |<----| Certificate Authority |
             +--------------+     +-----------------------+
                         ^                    ^
                         | 8                  | 1, 4, 6
                         |               2, 5 |
                         |                    v
                         |              9  +-------+
                         +--------------+> | Admin | 3
                                        |  +-------+
                                        |
                                     10 |
                                        v
                      +--------------------+          +--------+
                      |       IPsec        |    11    | IPsec  |
                      |      Peer 1        |<========>| Peer 2 |
                      +--------------------+          +--------+
      
                        Figure 13.  VPN-PKI Interaction Steps:
                        Admin Generates Keys and PKC Request,
                             Admin Performs Enrollment
      
      
         1) Authorization [A]. Admin sends a list of IDs and PKC contents for
         the PKI System to authorize enrollment. The PKI returns a list of
         unique identifiers and one-time tokens to be used for the enrollment
         of each PKC. Other PKC usage policy is also set at this time, for
         example parameters for renewals, updates or rekey, key lengths, etc.
         The amount of information that the Admin communicates to the PKI
         about how it wants the PKCs built could be very small, perhaps just a
         reference to a template already existing in the PKI System. Likewise
         it could be very large, with several fields being specified along
         with their contents.
      
         2) Authorization Response [A]. The PKI System acknowledges the
         authorizations provided in (1). Response may indicate success or
         failure for any particular authorization.
      
         3) Generate Keys and PKC Request [G]. The Admin generates the public
         private key pair and PKC request.
      
         4) Enrollment [E]. The Admin requests a PKC from the PKI providing
         the generated public key.
      
         5) Enrollment Response [E]. The PKI responds to the enrollment
         request sent in (4), providing either the new PKC that was generated
         or a suitable error indication.
      
      
      
      
      Bonatti, Turner, Lebovitz                                           34
      
      Internet-Draft            Requirements for an           December 2004
                        IPsec Certificate Management Profile
      
         6) Enrollment Confirmation. Admin must positively acknowledge receipt
         of new PKC back to the PKI.
      
         7) PKC Posting. The newly-generated PKC for IPsec Peer 1 is posted to
         the repository.
      
         8) Maintenance [M]. The Admin accesses the PKI to retrieve the new
         PKC.
      
         9) Maintenance Response [M]. The PKI responds to the maintenance
         request sent in (8), providing the requested PKC, or indicating an
         error condition.
      
         10) Admin sends newly generated PKC and private key to IPsec Peer.
      
         11) IKE/IPsec Communication [I]. The Peers communicate authenticated
         by the PKCs they received from the PKI.
      
      
      3.4.8 Enrollment Type Field
      
         A field MUST exist in the enrollment request to specify the TYPE of
         request being made. Request types include new request, renew request,
         update request, and rekey request (renewals, updates and rekeys are
         discussed in detail in section 3.6). The type field is required for
         monitoring, logging and auditing purposes. They will help the
         Operator to know exactly what type of request was made so that
         suspicious activities, even if the request is denied, can be
         identified.
      
      3.4.9 Confirmation Handshake
      
         Any time a new PKC is issued by the PKI, a confirmation of PKC
         receipt MUST be sent back to the PKI by the Peer or the Admin
         (forwarding the PeerÆs confirmation). This is true for first time
         issuances, renewals, updates and rekeys alike.
      
         Operationally, the Peer MUST send a confirmation to the PKI verifying
         that it has received the PKC, loaded it, and can use it effectively
         in an IKE exchange. This requirement exists so that:
      
           - The PKI does not publish the new PKC in the repository for others
             until that PKC is able to be used effectively by the Peer, and;
      
           - A revocation may be invoked if the PKC is not received and
             operational within an allowable window of time.
      
         To assert such proof the Peer MUST sign a portion of data with the
         new key. The result MUST be sent to the PKI. The entity that actually
      
      Bonatti, Turner, Lebovitz                                           35
      
      Internet-Draft            Requirements for an           December 2004
                        IPsec Certificate Management Profile
      
         sends the result to the PKI MAY be either the Peer (sending it
         directly to the PKI) or Admin (the Peer would send it to Admin, and
         Admin can in turn send it to the PKI).
      
         The Admin MUST acknowledge the successful receipt of the
         confirmation, thus signaling to the Peer that it may proceed using
         this PKC in IKE connections. The PKI MUST complete all processing
         necessary to enable the PeerÆs operational use of the new PKC (for
         example, writing the PKC to the repository) before sending the
         confirmation acknowledgement. The PKI MUST also issue a revocation on
         the original PKC before sending the confirmation ACK (see section
         4.X). The Peer MUST NOT begin using the PKC until the PKIÆs
         confirmation acknowledgement has been received.
      
      
      3.4.10 Failure Cases
      
         Thorough error condition descriptions and handling instructions are
         REQUIRED for each transaction in the enrollment process. Providing
         such error codes will greatly aid interoperability efforts between
         the PKI and IPsec products.
      
         The profile will clarify what happens if the request and retrieval
         fails for some reason. The following cases MUST be covered:
      
           - Admin or Peer cannot send the request.
      
           - Admin or Peer sent the request but the PKI did not receive the
             request.
      
           - PKI received the request but could not read it effectively.
      
           - PKI received and read the request, but some contents of the
             request violated the PKIÆs configured policy such that the PKI
             was unable to generate the PKC.
      
           - The PKI System generated the PKC, but could not send it.
      
           - The PKI sent the PKC, but the requestor (Admin or Peer) did not
             receive it.
      
           - The Requestor (Admin or Peer) received the PKC, but could not
             process it due to incorrect contents, or other PKC-construction-
             related problem.
      
           - The Requestor failed trying to generate the confirmation.
      
           - The Requestor failed trying to send the confirmation.
      
      
      Bonatti, Turner, Lebovitz                                           36
      
      Internet-Draft            Requirements for an           December 2004
                        IPsec Certificate Management Profile
      
           - The Requestor sent the confirmation, but the PKI did not receive
             it.
      
           - The PKI received the confirmation but could not process.
      
         In each case the following questions MUST be addressed:
      
           - What does Peer do?
           - What does Admin do?
           - What does PKI do?
           - Is Authorization used?
      
         If a failure occurs after the PKI sends the PKC and before the Peer
         receives it, then the Peer MUST re-request with the same
         Authorization ID and one-time-key, and the PKI, seeing the ID and
         key, MUST send the PKC again.
      
      
      3.5 PKC Profile for PKI Interaction
      
         A PKC used for identity in IKE transactions MUST include all the
         [CERTPROFILE] mandatory fields. It MUST also contain the minimal
         contents necessary for path validation and chaining (these items will
         be enumerated in the profile).
      
         It is preferable that the PKC profiles for IPsec and certificate
         management were the same so that one PKC could be used for both
         protocols. If the profiles are inconsistent then different PKCs (and
         perhaps different processing requirements) MAY be required for
         certificate management transactions vs. IKE transactions. However,
         failure to achieve this requirement in the profile MUST NOT hold up
         the standardization effort.
      
      
      3.5.1 Identity Usage
      
         The IPsec Peer SHALL perform identity verification based on the
         fields of the PKC and parameters applicable to the VPN tunnel. The
         fields of the PKC used for verification MAY include either the X.500
         Distinguished Name (DN) within the Subject Name, or a specific field
         within the Extension SubjectAltName (per [DOI] 4.6.2.1 Identification
         Type Values). Usage descriptions for each follow.
      
         The PKC field(s) that will be used for identity verification MUST be
         included in the PKC request by the Admin or the Peer. The following
         identity-related values MAY be included in the SubjectAltName:
      
           - Fully-Qualified Domain Name (FQDN)
           - RFC 822 (also called USER FQDN)
      
      Bonatti, Turner, Lebovitz                                           37
      
      Internet-Draft            Requirements for an           December 2004
                        IPsec Certificate Management Profile
      
           - IPv4 Address
           - IPv6 Address
      
         While substrings of these identity values MAY also be present in
         elements of the DN, they will not be looked for in the DN, only in
         SubjectAltName.
      
      
      3.5.2 Path Validation
      
         The Peers MUST validate the certification path. The contents
         necessary in the PKC to allow this will be enumerated in the profile
         document.
      
         The Peer MAY have the ability to construct the certification path
         itself, however Admin MUST be able to supply Peers with the trust
         anchor and any chaining PKCs necessary. The Admin MAY include the AIA
         extension in PKCs as a means of facilitating path validation.
      
         DNS SHOULD be supported by the Peers in order to do certification
         path lookups, as well as those for revocation.
      
      
      3.5.3 KeyUsage
      
         The PKCÆs KeyUsage digitalSignature bit as specified [CERTPROFILE]
         MUST be flagged on.  The KeyUsage extension SHOULD be marked critical
         IAW [CERTPROFILE].
      
      
      3.5.4 Extended Key Usage
      
         Extended Key Usage (EKU) indications are not required. The presence
         or lack of an EKU MUST NOT cause an implementation to fail an IKE
         connection.
      
         Default behavior is to not check EKU. However, local security policy
         MAY check EKU, and if so the implementation SHOULD allow the
         acceptance or rejection based on the presence of each EKU. Those EKUs
         are defined as:
      
           - serverAuth,
           - clientAuth,
      
         or an IKE specific EKU which are defined as one of the four currently
         issued IANA EKUÆs:
      
           - IPsec user,
           - IPsec computer,
      
      Bonatti, Turner, Lebovitz                                           38
      
      Internet-Draft            Requirements for an           December 2004
                        IPsec Certificate Management Profile
      
           - IPsec intermediate,
           - IKE IPsec intermediate.
      
      
      3.5.5 Pointer to Revocation Checking
      
         The PKC contents MUST be constructed in a manner such that any Peer
         who holds the PKC locally will know exactly where to go and how to
         request the CRL.
      
         The location and method for either a CDP or an AIA [CERTPROFILE] MUST
         be included in the PKC. Including such contents avoids the need to
         send the CRL to the Peer, and allows the receiving Peer to look up
         the CRL on their own.
      
         PKCs MUST contain the full name of the CDP and AIA. Issuer-relative
         names are not considered sufficient.
      
      
      3.6 PKC Renewals and Updates
      
         In order to allow for continued PKC usage, a new PKC will need to be
         issued for an end entity before the end entityÆs currently held PKC
         expires. A renewal is defined as a new PKC issuance with the same
         SubjectName and SubjectAlternativeName contents as an existing PKC
         for the same end entity before expiration of the end entityÆs current
         PKC.
      
         A PKC Update is defined as a new PKC issuance with an altered
         SubjectName or SubjectAlternativeName for the same end entity before
         expiration of the end entityÆs current PKC. Renewals, updates and
         rekeys are variants of a PKC request scenario with unique operational
         and management requirements.
      
         Once the PKI has issued a PKC for the end entity Peer, the Peer MUST
         be able to either contact the PKI directly or through the Admin for
         any subsequent renewals, updates or rekeys. The PKI MUST support
         either case.
      
         It is desired that a renew, update or rekey request contain an
         element that identifies the request as either type=renewal,
         type=update, or type=rekey. This element MUST be specified in the
         profile. This will allow for better management, logging and auditing
         of certificate management.
      
         When sending a renew, update or rekey request, the entire contents of
         the PKC request needs to be sent to the PKI, just as in the case of
         the original enrollment. Keeping the request format as similar as
         possible between new, renewal, update and rekey cases will make for
      
      Bonatti, Turner, Lebovitz                                           39
      
      Internet-Draft            Requirements for an           December 2004
                        IPsec Certificate Management Profile
      
         easier implementations; e.g. the format of the request is identical
         except for a type=[renew | update | rekey] instead of type=new.
      
         The renew, update and rekey requests MUST be signed by the private
         key of the old PKC. This will allow the PKI to verify the identity of
         the requestor, and ensure that an attacker does not submit a request
         and receive a PKC with another end entityÆs identity.
      
         Whether or not a new key is used for the new PKC in a renew or update
         scenario is a matter of local security policy, and MUST be specified
         by the Admin to the PKI in the original authorization request. Re-
         using the same key is permitted, but not encouraged. If a new key is
         used, the update or renew request must be signed by both the old key
         -- to prove the right to make the request -- and the new key -- to
         use for the new PKC.
      
         The new PKC resulting from a renew, update or rekey will be retrieved
         in-band, using the same mechanism as a new PKC request.
      
         For the duration of time after a renew, update or rekey has been
         processed and before PKI has received confirmation of the PeerÆs
         successful receipt of the new PKC (as described above in section
         3.4.9), both PKCs--the old and the new--for the end entity will be
         valid. This will allow the Peer to continue with uninterrupted IKE
         connections with the previous PKC while the renewal process occurs.
      
         In the case where new keys were generated for a renew, update or
         rekey request, once the end entity Peer receives the confirmation
         acknowledgement from the PKI, it is good practice for the old key
         pair be destroyed as soon as possible. Deletion of the keys and the
         PKC can occur once all connections that used the old PKC have
         expired.
      
         After the renewal, update or rekey occurs, the question now exists
         for the PKI of what to do about the old PKC. If the old PKC is to be
         made unusable, the PKI will need to add it to the revocation list and
         removed from the repository. The decision about if the old PKC should
         be made unusable is a decision of local policy. Either the PKI or the
         Admin will need to specify this parameter during the authorization
         phase. In this case the specifying party --either the Admin or the
         PKI-- MUST also specify during authorization the length of time after
         the PKI receives the end entity PeerÆs confirmation (of receipt of
         the PKC) that will pass before the old PKC is made unusable.
      
         If a PKC has been revoked, it MUST NOT be allowed a renewal, update
         or rekey.
      
         Should the PKC expire without renewal, update or rekey, an entirely
         new request MUST be made.
      
      Bonatti, Turner, Lebovitz                                           40
      
      Internet-Draft            Requirements for an           December 2004
                        IPsec Certificate Management Profile
      
      
      
      3.6.1 Renew Request for a New PKC (before expiry)
      
         Operators can choose to force renewals for several reasons:
      
           - To enforce an automated "clean up" of unused PKCs that have not
             been specifically revoked
      
           - To force re-keys
      
           - To have manual review control over re-issuance.
      
         In the latter case, automated renewals will likely not be used. In
         the former two cases automated renewal is a very attractive option.
      
         At the time of authorization, certain details about renewal
         acceptance will be conveyed by the Admin to the PKI, as stated in
         section 3.2.3.2 above. The renewal request MUST match the conditions
         that were specified in the original authorization for:
      
           - Keys: new or existing or either
           - Requestor: End entity Peer, Admin, either
           - Renewal Period
           - Length of time before making the old PKC unusable
      
         If any of these conditions are not met, the PKI must reject the
         renewal and log the event.
      
      
      3.6.2 Update Request for a New PKC
      
         An update to the contents of a PKC will be necessary when details
         about an end entity PeerÆs identity change, but the Operator does not
         want to generate a new PKC from scratch, requiring a whole new
         authorization. For example, a gateway device may be moved from one
         site to another. Its IPv4 Address will change in the SubjectAltName
         extension, but all other information could stay the same. Another
         example is an end user who gets married and changes the last name or
         moves from one department to another. In either case, only one field
         (the Surname or OU in the DN) need change.
      
         An Update differs from a Renew in a few ways:
      
           - A re-key is not necessary (though MAY be specified)
      
           - The timing of the Update event is not predictable, as is the case
             with a scheduled Renewal or Rekey
      
      
      Bonatti, Turner, Lebovitz                                           41
      
      Internet-Draft            Requirements for an           December 2004
                        IPsec Certificate Management Profile
      
           - The Update request may occur at any time during a PKCÆs period of
             validity
      
           - Once the Update is completed, and the new PKC is confirmed, the
             old PKC should cease to be usable, as its contents no longer
             accurately describe the subject
      
           - The existence of a "update" type allows for better logging and
             tracking of why the new issuance occurred, and why the old PKC
             was made unusable.
      
         At the time of authorization, certain details about update acceptance
         MAY be conveyed by the Admin to the PKI, as stated in section 3.2.3.2
         above. The update request MUST match the conditions that were
         specified in the original authorization for:
      
           - Keys: new or existing or either
           - Requestor: End entity Peer, Admin, either
           - The fields in the Subject and SubjectAltName that are changeable
           - Length of time before making the old PKC unusable
      
         If any of these conditions are not met, the PKI must reject the
         update and log the event.
      
         If an Update authorization was not made at the time of original
         authorization, one may be made from Admin to the PKI at any time
         during the PKCÆs valid life. When such an Update is desired, Admin
         must notify the PKI System that an update is authorized for the end
         entity, and to expect it coming, and specify the new contents. Admin
         then initiates the Update request with the given contents in whatever
         mechanism the VPN System employs (direct from end entity to PKI, from
         end entity through Admin, or directly from Admin).
      
      
      3.6.3 Error Handling for Renewal and Change
      
         Thorough error condition descriptions and handling instructions are
         required for each transaction in the renewal, update or rekey
         process. Providing such error codes will greatly aid interoperability
         efforts between the PKI and IPsec products.
      
      
      3.7 Finding PKCs in repositories
      
         The complete hierarchical validation chain (except the trust point)
         MUST be able to be searched in their respective repositories. The
         information to accomplish these searches MUST be adequately
         communicated in the PKCs sent during the IKE transaction.
      
      
      Bonatti, Turner, Lebovitz                                           42
      
      Internet-Draft            Requirements for an           December 2004
                        IPsec Certificate Management Profile
      
         All PKCs must be retrievable through a single protocol. The final
         specification will identify one protocol as a "MUST", others MAY be
         listed as "OPTIONAL".
      
         The general requirements for the retrieval protocol include:
      
           - The protocol can be easily Firewalled (including NAT or PAT);
      
           - The protocol can easily perform some query against a remote
             repository on a specific ID element that was given to it in a
             standard PKC field.
      
         Other considerations include:
      
           -relative speed
           -relative ease of administration
           -scalability
      
         Intermediate PKCs will be needed for the case of re-keying of the CA,
         or a PKI System where multiple CAs exist.
      
         PKCs MAY have extendedKeyusage to help identify the proper PKC for
         IPsec, though the default behavior is to not use them. See the above
         section on extendedKeyUsage.
      
         IPsec Peers MUST be able to resolve Internet domain names and support
         the mandatory repository access protocol at the time of starting up
         so they can perform the PKC lookups.
      
         IPsec Peers should cache PKCs to reduce latency in setting up Phase
         1. Note that this is an operational issue, not an interoperability
         issue.
      
         The use case for accomplishing lookups when PKCs are not sent in IKE
         is a stated non-goal of the profile at this time.
      
      
      3.7.1 Error Handling for Repository Lookups
      
         Thorough error condition descriptions and handling instructions are
         required for each transaction in the repository lookup process.
         Providing such error codes will greatly aid interoperability efforts
         between the PKI and IPsec products.
      
      
      3.8 Revocation Action
      
         The Peer MUST be able to initiate revocation for its own PKC. In this
         case the revocation request MUST be signed by the PeerÆs current key
      
      Bonatti, Turner, Lebovitz                                           43
      
      Internet-Draft            Requirements for an           December 2004
                        IPsec Certificate Management Profile
      
         pair for the PKC it wishes to revoke. Whether the actual revocation
         request transaction occurs directly with the PKI or is first sent to
         Admin who proxies or forwards the request to the PKI is a matter of
         implementation.
      
         The Admin MUST be able to initiate revocation for any PKC for which
         it authorized the creation. The Admin will identify itself to the PKI
         by use of its own PKC; it MUST sign any revocation request to the PKI
         with the private key from its own PKC. The PKI MUST have the ability
         to configure Admin(s) with revocation authority, as identified by its
         PKC. Any PKC authorizations must specify if said PKC may be revoked
         by the Admin (see section 3.2.3.2 for more details).
      
         The profile MUST identify the one protocol or transaction within a
         protocol to be used for both Peer and Admin initiated revocations.
      
         The profile MUST identify the size of CRL the client will be prepared
         to support.
      
         Below are guidelines for revocation in specific transactions:
      
           - AFTER RENEW, BEFORE EXPIRATION: The PKI MUST be responsible for
             the PKC revocation during a renew transaction. PKI MUST revoke
             the PKC after receiving the confirm notification from the Peer,
             and before sending the confirm-ack to the Peer. The Peer MUST
             NOT revoke its own PKC in this case.
      
           - AFTER UPDATE, BEFORE EXPIRATION: The PKI MUST be responsible for
             the PKC revocation during an update transaction. PKI MUST revoke
             the PKC after receiving the confirm notification from the Peer,
             and before sending the confirm-ack to the Peer. The Peer MUST
             NOT revoke its own PKC in this case.
      
      
      3.9 Revocation Checking and Status Information
      
         The PKI System MUST provide a mechanism whereby Peers can check the
         revocation status of PKCs that are presented to it for IKE identity.
         The mechanism should allow for access to extremely fresh revocation
         information. CRLs have been chosen as the mechanism for communicating
         this information. Operators are RECOMMENDED to refresh CRLs as often
         as logistically possible.
      
         A single mandatory protocol mechanism for performing CRL lookups MUST
         be specified by the final specification.
      
         All PKCs used in IKE MUST have cRLDistributionPoint and
         authorityInfoAccess fields populated with valid URLs. This will allow
         all recipients of the PKC to know immediately how revocation is to be
      
      Bonatti, Turner, Lebovitz                                           44
      
      Internet-Draft            Requirements for an           December 2004
                        IPsec Certificate Management Profile
      
         accomplished, and where to find the revocation information. The AIA
         is needed in an environment where multiple layers of CAs exist and
         for the case of a CA key roll-over.
      
         IPsec Systems have an OPTION to turn off revocation checking. Such
         may be desired when the two Peers are communicating over a network
         without access to the CRL service, such as at a trade show, in a lab,
         or in a demo environment. If revocation checking is OFF, the
         implementation MUST proceed to use the PKC as valid identity in the
         exchange and need not perform any check.
      
         If the revocation of a PKC is used as the only means of deactivation
         of access authorization for the Peer (or user), then the speed of
         deactivation will be as rapid as the refresh rate of the CRL issued
         and published by the PKI. If more immediate deactivation of access is
         required than the CRL refreshing can provide, then another mechanism
         for authorization that provides more immediate access deactivation
         should be layered into the VPN deployment. Such a second mechanism is
         out of the scope of this profile. (Examples are Xauth, L2TPÆs
         authentication, etc.).
      
      
      3.9.1 Error Handling in Revocation Checking
      
         Thorough error condition descriptions and handling instructions are
         required for each transaction in the revocation checking process.
         Providing such error codes will greatly aid interoperability efforts
         between the PKI and IPsec products.
      
      
      3.10 Trust Anchor PKC Acquisition
      
         The root PKC MUST arrive on the Peer via one of two methods:
      
         (a) Peer can get the root PKC via its secure communication with
         Admin. This requires the Peer to know less about interaction with the
         PKI.
      
         (b) Admin can command Peer to retrieve the root cert directly from
         the PKI. How retrieval of the root cert takes place is beyond scope,
         but is assumed to occur via an unauthenticated but confidential
         enrollment protocol.
      
      
      4. Security Considerations
      
         This requirements document does not specify an concrete solution,
         and as such has no system-related security considerations per se.
         However, the PKI4IPSEC model requires profiling and use of concrete
      
      Bonatti, Turner, Lebovitz                                           45
      
      Internet-Draft            Requirements for an           December 2004
                        IPsec Certificate Management Profile
      
         protocols for certificate management (e.g., CMC, CMS, CRMF).  The
         individual security considerations of these protocols should be
         carefully considered in the profiling effort.
      
         In addition, this document allows significant flexibility in the
         allocation of functions between the roles of IPsec Peer and VPN
         Admin.  This functional allocation is crucial both to achieving
         successful deployment, and to maintaining the integrity of the PKI
         enrollment and management processes. However, much of the
         responsibility for this allocation necessarily falls to product
         implementers and system operators through the selection of
         applicable use cases and development of security policy constraints.
         These factors must be carefully considered to ensure the security of
         PKI4IPSEC certificate management.  Appendix E catalogs some key
         system operator choices that are not constrained by this document,
         and frames their possible impacts.
      
      
      A References
      
      A.1 Normative References
      
         None
      
      A.2 Non-Normative References
      
         [STDPROCESS] Bradner, S., "The Internet Standards Process ¡ Revision
         3", BCP 9, RFC 2026, October 1996.
      
         [MUSTSHOULD] Bradner, S., "Key words for use in RFCs to Indicate
         Requirement Levels", BCP 14, RFC 2119, March 1997.
      
         [CERTPROFILE] Housley, R., et. al. "Internet X.509 Public Key
         Infrastructure Certificate and Certificate Revocation List (CRL)
         Profile", RFC 3280, April 2002.
      
         [DOI] Piper, D., "Internet IP Security Domain of Interpretation for
         ISAKMP", RFC 2407, November 1998.
      
      
      
      
      
      
      
      
      
      
      
      
      
      Bonatti, Turner, Lebovitz                                           46
      
      Internet-Draft            Requirements for an           December 2004
                        IPsec Certificate Management Profile
      
         [FRAME] Chokhani, S., Ford, W., Sabett, R., Merrill, C., Wu. S.,
         "Internet X.509 Public Key Infrastructure: Certificate Policy and
         Certificate Practices Framework", RFC 3647, November 2003.
      
         [GLOSSARY] Shirey, R., "Internet Security Glossary", RFC 2828, May
         2000.
      
         [IKECERTPROFILE] Korver, B., "The Internet IP Security PKI Profile
         of IKEv1/ISAKMP, IKEv2, and PKIX",draft-ietf-pki4ipsec-ikecert-
         profile-03, 30 September 2004.
      
      
      B. Acknowledgements
      
         This draft is substantially based on a prior draft draft-dploy-
         requirements-00 developed by Project Dploy. The principle editor of
         that draft was Gregory M. Lebovitz (NetScreen Technologies).
         Contributing authors included Lebovitz, Paul Hoffman (VPN
         Consortium), Hank Mauldin (Cisco Systems), and Jussi Kukkonen (SSH
         Communications Security). Substantial editorial contributions were
         made by Leo Pluswick (ICSA), Tim Polk (NIST), Chris Wells (SafeNet),
         Thomas Hardjono(VeriSign), Carlisle Adams (Entrust), and Michael
         Shieh (NetScreen).
      
         Once brought to pki4ipsec, the following people made substantial
         contributions: [TBD] ...
      
      
      C. EditorÆs Address
      
         Chris Bonatti
         IECA, Inc.
         15309 Turkey Foot Road
         Darnestown, MD  20878-3640  USA
         bonattic@ieca.com
      
         Sean Turner
         IECA, Inc.
         1421 T Street NW #8
         Washington, DC  20009  USA
         turners@ieca.com
      
         Gregory M. Lebovitz
         NetScreen Technologies, Inc.
         gregory@netscreen.com
      
      
      D. Summary of Requirements
      
      
      Bonatti, Turner, Lebovitz                                           47
      
      Internet-Draft            Requirements for an           December 2004
                        IPsec Certificate Management Profile
      
         TBD - EDITORÆS NOTE: Plan to add a summary table similar to those in
         RFCs 1122, 1123, and 2975. Table will briefly describe requirement,
         state the requirement level (i.e., "MAY", "SHOULD", "MUST", etc.),
         and cite the applicable paragraph in this draft.
      
      
      E. System Operator Choices
      
         This appendix catalogs some key choices that must be made by product
         implementers and system operators. These choices are not constrained
         by this document, but can have profound impacts on PKI4IPSEC
         certificate management operation and overall security.  Where
         possible we attempt to frames the specific security and operational
         impacts associated with these choices.
      
         1.  Whether or not PKCs are allowed to be renewed or whether new
             PKCs need to be issued.
      
         2.  Certificate renewal initiated by the VPN Peer or the VPN Admin
      
      
      F. Change History
      
         2004-December    Draft-ietf-pki4ipsec-mgmt-profile-rqts-02
      
         This issue of the document attempts to close out all non-contentious
         issues as perceived after IETF #61.  Numerous clarifications to
         technical content were introduced, as well as revision to language
         for purposes of internal consistency and consistency with the
         [IKECERTPROFILE].  The following changes were introduced:
      
           - Description of PKC "renewal" was clarified IAW [GLOSSARY].
      
           - Replaced term "change" with "update" IAW [GLOSSARY].
      
           - Added description of PKC "rekey" to complete the terminology set
             employed in [GLOSSARY].
      
           - Added [GLOSSARY] to the set of Non-Normative References.
      
           - Updated use of the terminology throughout the document to align
             with the above.
      
           - Scrubbed instances of ambiguous requirements terminology in favor
             of statements compliant with [MUSTSHOULD].
      
           - Added reference to [IKECERTPROFILE] in several introductory text.
      
      
      
      
      Bonatti, Turner, Lebovitz                                           48
      
      Internet-Draft            Requirements for an           December 2004
                        IPsec Certificate Management Profile
      
           - Resolved editorÆs note concerning renewal parameters in 3.2.3.1
             and related text in 3.2.3.2.
      
           - Clarified that any non-key-related field might be changed in a
             PKC update operation.
      
           - Resolved editorÆs note concerning canceling authorizations in
             3.2.4 so that either the Admin or the Peer may issue a
             cancellation.
      
           - Resolved editorÆs note concerning replay attacks in 3.2.4 so
             duplicate authorization request MUST have a new identifier.
      
           - Clarified the scenario in 3.2.5 for the PKI modifying the
             requested PKC template submitted by the Admin.
      
           - Renumbered previous clauses 3.3.1 through 3.3.4 as subsections of
             a new 3.3.1 entitled "Key Generation Scenarios".
      
           - Moved and renumbered the existing clause 3.3.5 as a new clause
             3.10 since the topic of trust anchor acquisition applies
             generically, and is not specifically subject to key generation
             or PKC request construction.
      
           - Added new key generation scenario as 3.3.1.5 in which the Peer
             initiates a PKC request without a prior authorization exchange
             between the Admin and the PKI.
      
           - Added new Figures 7 through 11 to clauses 3.3.1.1 through 3.3.1.5
             respectively to illustrate the steps of the different key
             generation scenarios.
      
           - Clarified in several places that the delivery of the requested
             PKC is expected to occur directly as an in-band response, not
             via lookup in the certificate repository.
      
           - Resolved editorÆs note in 3.5.3 concerning key usage so that only
             the "digialSignature" bit will be required to be set based on
             the understanding that this does not preclude a system from
             using digital signatures as a part of a non-repudiation service.
      
           - Added new text to section 4 on Security Considerations.
      
           - Corrected paragraph numbering on Non-Normative Reference section.
      
           - Incorporated a new Appendix E to summarize choices that must be
             made by VPN implementers and VPN system operators, and describe
             some of the potential impact of these decisions.
      
      
      Bonatti, Turner, Lebovitz                                           49
      
      Internet-Draft            Requirements for an           December 2004
                        IPsec Certificate Management Profile
      
           - Applied numerous minor editorial corrections throughout the
             document.
      
      
         2004-October     Draft-ietf-pki4ipsec-mgmt-profile-rqts-01
      
         This issue of the document addresses comments identified at IETF #60.
         The bulk of the changes were editorial, but some residual technical
         impact may have resulted.  The following changes were introduced:
      
           - Acronym fixes
      
           - Clarification of PKC Change definition
      
           - Rearranged and consolidated references
      
           - Clarified what "off-line" communication (out of band) entails.
      
      
         2004-August      Draft-ietf-pki4ipsec-mgmt-profile-rqts-00
      
         This issue of the document was merely a reposting of draft-bonatti-
         pki4ipsec-profile-reqts-01 to bring the document under the WG
         auspices after the I-D repository opened.  No significant changes
         were introduced.
      
      
         2004-July        Draft-bonatti-pki4ipsec-profile-reqts-01
      
         This document was submitted as an individual draft in order to meet a
         publication deadline though it has been accepted in to the working
         group.  The following salient changes were introduced:
      
           - A new Figure 1 was added in section 2.1 to depict just the VPN
             System.
      
           - A new Figure 2 was added to depict 2.2 to depict just the PKI
             System.
      
           - The old Figure 1 was moved to section 2.3.
      
           - Section 2.3 was split in to three sections to depict the New PKC,
             Renewal, and Revocation.  Also the text was modified to indicate
             that the pictures are only for IPsec Peers generating key pairs
             and requesting PKCs.
      
           - Text and a Figure was added to Section 3.4.6 to show the
             architectural difference for IPsec Peers enrolling through an
             Admin.
      
      Bonatti, Turner, Lebovitz                                           50
      
      Internet-Draft            Requirements for an           December 2004
                        IPsec Certificate Management Profile
      
      
           - Text and a Figure was added to Section 3.4.7 to show the
             architectural difference for Admins performing the entire
             enrollment.
      
      
         2004-January     Draft-bonatti-pki4ipsec-profile-reqts-00
      
         This is a revised requirements document based on the existing Project
         Dploy requirements draft. It adapts the revisions to adapt the Dploy
         requirements to the scope of the proposed charter for an IETF
         PKI4IPSEC WG.  It is submitted as an individual draft in anticipation
         of formation of the WG.  The following salient changes were
         introduced:
      
           - Rewrote the abstract to focus on the document rather than the
             project.
      
           - Rewrote and trimmed introduction to fit proposed scope of
             deliverable (2) from IETF PKI4IPSEC charter.
      
           - Rewrote sentences throughout to genericize the document for the
             IETF and remove references to Project Dploy objectives.
      
           - Removed reference to the Dploy Business Case.
      
           - Removed the "Audience" subsection of the introduction because it
             was redundant with other aspects of the introduction, and
             unnecessary with the context of the proposed PKI4IPSEC WG.
      
           - Added definition of Community Realm (used in 3.2.3.3) to the
             "Definitions" subsection.
      
           - Added definition of CRL Distribution Points (CDP) and Authority
             Info Access (AIA) to the "Definitions" subsection.
      
           - Restructured the "Architecture" section to bring the presentation
             of Figure 1 to the front to go along with the overview of the
             section, and to add a new step diagram to the "VPN-PKI
             Interaction" subsection.
      
           - Added a new subsection 2.1.2 to describe the VPN peer. Text of
             the new subsection will be supplied in a subsequent draft.
      
           - Added an editorÆs note to subsection 3.1.2 noting that further
             elaboration on the nature of "policy details" may be required.
      
      
      
      
      
      Bonatti, Turner, Lebovitz                                           51
      
      Internet-Draft            Requirements for an           December 2004
                        IPsec Certificate Management Profile
      
           - Subsection 3.2 was deleted to maintain the focus on generic
             requirements agreed in Minneapolis. Selection of specific
             protocols will be done in the deliverable (3) profile.
      
           - Delete the requirement from 3.2.3.1 to include the maximum CRL
             size in the certificate template.  This may need to be specified
             in the profile, but not be in the certificate itself.
      
           - Revised 3.3.3 to clarify that key escrow requirements and any key
             transport between the VPN admin and the peer are beyond scope.
      
           - Adopted consistent spelling "enrollment" vs. "enrolment"
             throughout.
      
           - Replaced instances of "and/or" and other slashed terminology with
             less ambiguous statements to clarify the requirements.
      
           - Revised the text of 3.5.1 to clarify the proposed requirement in
             terms of SHALL and MAY terms.
      
           - Re-titled 3.5.2 as "Path Validation" instead of "Chaining".
      
           - Added AIA extension as a MAY requirement in 3.5.2.
      
           - Added an editorÆs note to subsection 3.5.3 to question whether
             additional keyUsage bits should be set in the certificate.
      
           - Removed the requirement for HTTP support in favor of a
             requirement for a single mandatory protocol to be specified in
             the profile.
      
           - Removed subsection on "Intra-IKE Considerations" as these should
             be dealt with in the existing deliverable (1) PKI profiles.
      
           - Deleted existing sections 5 and 6 dealing with the participating
             vendors in Project Dploy.
      
           - Added new section 4 on "Security Considerations". Text of the new
             subsection will be supplied in a subsequent draft.
      
           - Revised the "Acknowledgements" section to reflect this revision,
             and provide appropriate credit to Project DPloy.
      
           - Normalized "References" section with the ID-Nits promulgated by
             the IESG.
      
           - Added a stub for a proposed new Annex D to provide a requirements
             summary table. Content of the annex will be supplied in a
             subsequent draft.
      
      Bonatti, Turner, Lebovitz                                           52
      
      Internet-Draft            Requirements for an           December 2004
                        IPsec Certificate Management Profile
      
      
      
         2002-March       Draft-dploy-requirements-00
      
           - First public draft of the document released.
      
      
      
      
         Copyright (C) The Internet Society 2004.  This document is subject
         to the rights, licenses and restrictions contained in BCP 78, and
         except as set forth therein, the authors retain all their rights."
      
         "This document and the information contained herein are provided on
         an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE
         REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE
         INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR
         IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF
         THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
         WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE."
      
      
         Expires June 2005
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      Bonatti, Turner, Lebovitz                                           53