SIDR                                                           G. Huston
Internet-Draft                                             G. Michaelson
Intended status: Standards Track                              R. Loomans
Expires: August 30, 2009                                           APNIC
                                                       February 26, 2009


             A Profile for X.509 PKIX Resource Certificates
                      draft-ietf-sidr-res-certs-16

Status of this Memo

   This Internet-Draft is submitted to IETF in full conformance with the
   provisions of BCP 78 and BCP 79.

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

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

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

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

   This Internet-Draft will expire on August 30, 2009.

Copyright Notice

   Copyright (c) 2009 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (http://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.

Abstract

   This document defines a standard profile for X.509 certificates for



Huston, et al.           Expires August 30, 2009                [Page 1]


Internet-Draft        Resource Certificate Profile         February 2009


   the purposes of supporting validation of assertions of "right-of-use"
   of an Internet Number Resource (IP Addresses and Autonomous System
   Numbers).  This profile is used to convey the issuer's authorization
   of the subject to be regarded as the current holder of a "right-of-
   use" of the IP addresses and AS numbers that are described in the
   issued certificate.


Table of Contents

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  4
     1.1.  Terminology  . . . . . . . . . . . . . . . . . . . . . . .  5
   2.  Describing Resources in Certificates . . . . . . . . . . . . .  5
   3.  Resource Certificate Fields  . . . . . . . . . . . . . . . . .  6
     3.1.  Version  . . . . . . . . . . . . . . . . . . . . . . . . .  6
     3.2.  Serial number  . . . . . . . . . . . . . . . . . . . . . .  6
     3.3.  Signature Algorithm  . . . . . . . . . . . . . . . . . . .  6
     3.4.  Issuer . . . . . . . . . . . . . . . . . . . . . . . . . .  7
     3.5.  Subject  . . . . . . . . . . . . . . . . . . . . . . . . .  7
     3.6.  Valid From . . . . . . . . . . . . . . . . . . . . . . . .  7
     3.7.  Valid To . . . . . . . . . . . . . . . . . . . . . . . . .  8
     3.8.  Subject Public Key Info  . . . . . . . . . . . . . . . . .  8
     3.9.  Resource Certificate Version 3 Extension Fields  . . . . .  8
       3.9.1.  Basic Constraints  . . . . . . . . . . . . . . . . . .  9
       3.9.2.  Subject Key Identifier . . . . . . . . . . . . . . . .  9
       3.9.3.  Authority Key Identifier . . . . . . . . . . . . . . .  9
       3.9.4.  Key Usage  . . . . . . . . . . . . . . . . . . . . . . 10
       3.9.5.  Extended Key Usage . . . . . . . . . . . . . . . . . . 10
       3.9.6.  CRL Distribution Points  . . . . . . . . . . . . . . . 10
       3.9.7.  Authority Information Access . . . . . . . . . . . . . 11
       3.9.8.  Subject Information Access . . . . . . . . . . . . . . 12
       3.9.9.  Certificate Policies . . . . . . . . . . . . . . . . . 13
       3.9.10. IP Resources . . . . . . . . . . . . . . . . . . . . . 13
       3.9.11. AS Resources . . . . . . . . . . . . . . . . . . . . . 14
   4.  Resource Certificate Revocation List Profile . . . . . . . . . 14
     4.1.  Version  . . . . . . . . . . . . . . . . . . . . . . . . . 14
     4.2.  Issuer Name  . . . . . . . . . . . . . . . . . . . . . . . 15
     4.3.  This Update  . . . . . . . . . . . . . . . . . . . . . . . 15
     4.4.  Next Update  . . . . . . . . . . . . . . . . . . . . . . . 15
     4.5.  Signature  . . . . . . . . . . . . . . . . . . . . . . . . 15
     4.6.  Revoked Certificate List . . . . . . . . . . . . . . . . . 15
       4.6.1.  Serial Number  . . . . . . . . . . . . . . . . . . . . 15
       4.6.2.  Revocation Date  . . . . . . . . . . . . . . . . . . . 15
     4.7.  CRL Extensions . . . . . . . . . . . . . . . . . . . . . . 16
       4.7.1.  Authority Key Identifier . . . . . . . . . . . . . . . 16
       4.7.2.  CRL Number . . . . . . . . . . . . . . . . . . . . . . 16
   5.  Resource Certificate Request Profile . . . . . . . . . . . . . 16
     5.1.  PCKS#10 Profile  . . . . . . . . . . . . . . . . . . . . . 16



Huston, et al.           Expires August 30, 2009                [Page 2]


Internet-Draft        Resource Certificate Profile         February 2009


       5.1.1.  PKCS#10 Resource Certificate Request Template
               Fields . . . . . . . . . . . . . . . . . . . . . . . . 17
     5.2.  CRMF Profile . . . . . . . . . . . . . . . . . . . . . . . 18
       5.2.1.  CRMF Resource Certificate Request Template Fields  . . 18
       5.2.2.  Resource Certificate Request Control Fields  . . . . . 19
     5.3.  Certificate Extension Attributes in Certificate
           Requests . . . . . . . . . . . . . . . . . . . . . . . . . 19
   6.  Resource Certificate Validation  . . . . . . . . . . . . . . . 22
     6.1.  Resource Extension Validation  . . . . . . . . . . . . . . 22
     6.2.  Resource Certification Path Validation . . . . . . . . . . 23
   7.  Design Notes . . . . . . . . . . . . . . . . . . . . . . . . . 25
   8.  Security Considerations  . . . . . . . . . . . . . . . . . . . 28
   9.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 29
   10. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 29
   11. References . . . . . . . . . . . . . . . . . . . . . . . . . . 29
     11.1. Normative References . . . . . . . . . . . . . . . . . . . 29
     11.2. Informative References . . . . . . . . . . . . . . . . . . 30
   Appendix A.  Example Resource Certificate  . . . . . . . . . . . . 30
   Appendix B.  Example Certificate Revocation List . . . . . . . . . 32
   Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 34































Huston, et al.           Expires August 30, 2009                [Page 3]


Internet-Draft        Resource Certificate Profile         February 2009


1.  Introduction

   This document defines a standard profile for X.509 certificates
   [X.509] for use in the context of certification of IP Addresses and
   AS Numbers.  Such certificates are termed here "Resource
   Certificates."  Resource Certificates are X.509 certificates that
   conform to the PKIX profile [RFC5280], and also conform to the
   constraints specified in this profile.  Resource Certificates attest
   that the issuer has granted the subject a "right-of-use" for a listed
   set of IP addresses and Autonomous System numbers.

   A Resource Certificate describes an action by a certificate issuer
   that binds a list of IP Address blocks and AS Numbers to the subject
   of the issued certificate.  The binding is identified by the
   association of the subject's private key with the subject's public
   key contained in the Resource Certificate, as signed by the private
   key of the certificate's issuer.

   In the context of the public Internet, and the use of public number
   resources within this context, it is intended that Resource
   Certificates are used in a manner that is explicitly aligned to the
   public number resource distribution function.  Specifically, when a
   number resource is allocated or assigned by a number registry to an
   entity, this allocation is described by an associated Resource
   Certificate.  This certificate is issued by the number registry, and
   the subject public key that is certified by the issuer corresponds to
   the public part of a key pair for which the private key is associated
   with the entity who is the recipient of the number assignment or
   allocation.  A critical extension to the certificate enumerates the
   IP Resources that were allocated or assigned by the issuer to the
   entity.  In the context of the public number distribution function,
   this corresponds to a hierarchical PKI structure, where Resource
   Certificates are issued in only one 'direction' and there is a unique
   path of certificates from a certification authority operating at the
   apex of a resource distribution hierarchy to a valid certificate.

   Validation of a Resource Certificate in such a hierarchical PKI can
   be undertaken by establishing a valid issuer-subject certificate
   chain from a certificate issued by a trust anchor certification
   authority to the certificate [RFC4158], with the additional
   constraint of ensuring that each subject's listed resources are fully
   encompassed by those of the issuer at each step in the issuer-subject
   certificate chain.  Validation therefore logically corresponds to
   validation of an associated set of assignment or allocation actions
   of IP number resources.

   Resource Certificates may be used in the context of the operation of
   secure inter-domain routing protocols to convey a right-of-use of an



Huston, et al.           Expires August 30, 2009                [Page 4]


Internet-Draft        Resource Certificate Profile         February 2009


   IP number resource that is being passed within the routing protocol,
   allowing relying parties to verify legitimacy and correctness of
   routing information.  Related use contexts include validation of
   Internet Routing Registry objects, validation of routing requests,
   and detection of potential unauthorized use of IP addresses.

   This profile defines those fields that are used in a Resource
   Certificate that MUST be present for the certificate to be valid.
   Relying Parties SHOULD check that a Resource Certificate conforms to
   this profile as a requisite for validation of a Resource Certificate.

1.1.  Terminology

   It is assumed that the reader is familiar with the terms and concepts
   described in "Internet X.509 Public Key Infrastructure Certificate
   and Certificate Revocation List (CRL) Profile" [RFC5280], "X.509
   Extensions for IP Addresses and AS Identifiers" [RFC3779], "Internet
   Protocol" [RFC0791], "Internet Protocol Version 6 (IPv6) Addressing
   Architecture" [RFC4291], "Internet Registry IP Allocation Guidelines"
   [RFC2050], and related regional Internet registry address management
   policy documents.

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in RFC 2119.


2.  Describing Resources in Certificates

   The framework for describing an association between the subject of a
   certificate and the resources currently under the subject's control
   is described in [RFC3779].

   There are three aspects of this resource extension that are noted in
   this profile:


      1.  RFC 3779 notes that a resource extension SHOULD be a CRITICAL
          extension to the X.509 Certificate.  This Resource Certificate
          profile further specifies that the use of this certificate
          extension MUST be used in all Resource Certificates and MUST
          be marked as CRITICAL.

      2.  RFC 3779 defines a sorted canonical form of describing a
          resource set, with maximal spanning ranges and maximal
          spanning prefix masks as appropriate.  All valid certificates
          in this profile MUST use this sorted canonical form of
          resource description in the resource extension field.



Huston, et al.           Expires August 30, 2009                [Page 5]


Internet-Draft        Resource Certificate Profile         February 2009


      3.  A test of the resource extension in the context of certificate
          validity includes the condition that the resources described
          in the immediate parent CA certificate in the PKI (the
          certificate where this certificate's issuer is the subject)
          has a resource set (called here the "issuer's resource set")
          that MUST encompass the resource set of the issued
          certificate.  In this context "encompass" allows for the
          issuer's resource set to be the same as, or a strict superset
          of, any subject's resource set.

   Certificate validation entails the construction of a sequence of
   valid certificates in an issuer-subject chain (where the subject
   field of one certificate appears as the issuer in the next
   certificate in the sequence) from a trust anchor to the certificate
   being validated.  Moreover, the resource extensions in this
   certificate sequence from the first CA under the trust anchor to the
   certificate being validated form a sequence of encompassing
   relationships in terms of the resources described in the resource
   extension.


3.  Resource Certificate Fields

   A Resource Certificate is a valid X.509 v3 public key certificate,
   consistent with the PKIX profile [RFC5280], containing the fields
   listed in this section.  Unless specifically noted as being OPTIONAL,
   all the fields listed here MUST be present, and any other field MUST
   NOT appear in a conforming Resource Certificate.  Where a field value
   is specified here this value MUST be used in conforming Resource
   Certificates.

3.1.  Version

   Resource Certificates are X.509 Version 3 certificates.  This field
   MUST be present, and the Version MUST be 3 (i.e. the value of this
   field is 2).

3.2.  Serial number

   The serial number value is a positive integer that is unique per
   Issuer.

3.3.  Signature Algorithm

   This field describes the algorithm used to compute the signature on
   this certificate.  This profile specifies a default of SHA-256 with
   RSA (sha256WithRSAEncryption), and allows for the use of SHA-384 or
   SHA-512.  Accordingly, the value for this field MUST be one of the



Huston, et al.           Expires August 30, 2009                [Page 6]


Internet-Draft        Resource Certificate Profile         February 2009


   OID values { pkcs-1 11 }, { pkcs-1 12 } or { pkcs-1 13 } [RFC4055].

3.4.  Issuer

   This field identifies the entity that has signed and issued the
   certificate.  The value of this field is a valid X.501 distinguished
   name.  Conventions are imposed on Issuer names used in resource
   certificates, as described in [ID.sidr-arch].

   If the certificate is a subordinate certificate issued by virtue of
   the "cA" bit set in the immediate superior certificate, then the
   issuer name MUST correspond to the subject name as contained in the
   immediate superior certificate.

3.5.  Subject

   This field identifies the entity to whom the resource has been
   allocated / assigned.  The value of this field is a valid X.501
   distinguished name.  As noted above, conventions are imposed on
   Subject names used in resource certificates, as described in
   [ID.sidr-arch].

   In this profile the subject name is determined by the issuer, and
   each distinct subordinate CA and EE certified by the issuer MUST be
   identified using a subject name that is unique per issuer.

   In this context "distinct" is defined as an entity and a given public
   key.  An issuer SHOULD use a different subject name if the subject
   entity or the subject entity's key pair has changed.

3.6.  Valid From

   The starting time at which point the certificate is valid.  In this
   profile the "Valid From" time SHOULD be no earlier than the time of
   certificate generation.  As per Section 4.1.2.5 of [RFC5280],
   Certification Authorities (CAs) conforming to this profile MUST
   always encode the certificate's "Valid From" date through the year
   2049 as UTCTime, and dates in 2050 or later MUST be encoded as
   GeneralizedTime.  These two time formats are defined in [RFC5280].

   In this profile, it is valid for a certificate to have a value for
   this field that pre-dates the same field value in any superior
   certificate.  Relying Parties should not attempt to infer from this
   time information a certificate was valid at a time in the past, or
   will be valid at a time in the future, as the scope of a relying
   party's test of validity of a certificate refers specifically to
   validity at the current time.




Huston, et al.           Expires August 30, 2009                [Page 7]


Internet-Draft        Resource Certificate Profile         February 2009


3.7.  Valid To

   The Valid To time is the date and time at which point in time the
   certificate's validity ends.  It represents the anticipated lifetime
   of the resource allocation / assignment arrangement between the
   issuer and the subject.  As per Section 4.1.2.5 of [RFC5280], CAs
   conforming to this profile MUST always encode the certificate's
   "Valid To" date through the year 2049 as UTCTime, and dates in 2050
   or later MUST be encoded as GeneralizedTime.  These two time formats
   are defined in [RFC5280].

   As noted above, it is valid for a certificate to have a value for
   this field that post-dates the same field value in any superior
   certificate.  The same caveats apply to Relying Party's assumptions
   relating to the certificate's validity at any time other than the
   current time,

   While a CA is typically advised against issuing a certificate with a
   validity interval that exceeds the validity interval of the CA's
   certificate that will be used to validate the issued certificate, in
   the context of this profile, it is anticipated that a CA may have
   valid grounds to issue a certificate with a validity interval that
   exceeds the validity interval of its certificate.

3.8.  Subject Public Key Info

   This field specifies the subject's public key and the algorithm with
   which the key is used.  The public key algorithm MUST be RSA, and,
   accordingly, the OID for the public key algorithm is
   1.2.840.113549.1.1.1.  The key size MUST be a minimum size of 2048
   bits.

   It is noted that larger key sizes are computationally expensive for
   both the CA and relying parties, indicating that care should be taken
   when deciding to use larger than the minimum key size noted above.

3.9.  Resource Certificate Version 3 Extension Fields

   As noted in Section 4.2 of [RFC5280], each extension in a certificate
   is designated as either critical or non-critical.  A certificate-
   using system MUST reject the certificate if it encounters a critical
   extension it does not recognize; however, a non-critical extension
   MAY be ignored if it is not recognized [RFC5280].

   The following X.509 V3 extensions MUST be present in a conforming
   Resource Certificate, except where explicitly noted otherwise.





Huston, et al.           Expires August 30, 2009                [Page 8]


Internet-Draft        Resource Certificate Profile         February 2009


3.9.1.  Basic Constraints

   The basic constraints extension identifies whether the subject of the
   certificate is a CA and the maximum depth of valid certification
   paths that include this certificate.

   The issuer determines whether the "cA" boolean is set.  If this bit
   is set, then it indicates that the subject is allowed to issue
   resources certificates within this overall framework (i.e. the
   subject is a CA).

   The Path Length Constraint is not specified in this profile and MUST
   NOT be present.

   The Basic Constraints extension field is a critical extension in the
   Resource Certificate profile, and MUST be present when the subject is
   a CA, and MUST NOT be present otherwise.

3.9.2.  Subject Key Identifier

   The subject key identifier extension provides a means of identifying
   certificates that contain a particular public key.  To facilitate
   certification path construction, this extension MUST appear in all
   Resource Certificates.  This extension is non-critical.

   The value of the subject key identifier MUST be the value placed in
   the key identifier field of the Authority Key Identifier extension of
   all certificates issued by this subject.

   The Key Identifier used here is the 160-bit SHA-1 hash of the value
   of the DER-encoded ASN.1 bit string of the subject public key, as
   described in Section 4.2.1.2 of [RFC5280].

3.9.3.  Authority Key Identifier

   The authority key identifier extension provides a means of
   identifying certificates that are signed by the issuer's private key,
   by providing a hash value of the issuer's public key.  To facilitate
   path construction, this extension MUST appear in all Resource
   Certificates.  The keyIdentifier MUST be present in all Resource
   Certificates, with the exception of a CA who issues a "self-signed"
   certificate.  The authorityCertIssuer and authorityCertSerialNumber
   fields MUST NOT be present.  This extension is non-critical.

   The Key Identifier used here is the 160-bit SHA-1 hash of the value
   of the DER-encoded ASN.1 bit string of the issuer's public key, as
   described in Section 4.2.1.1 of [RFC5280].




Huston, et al.           Expires August 30, 2009                [Page 9]


Internet-Draft        Resource Certificate Profile         February 2009


3.9.4.  Key Usage

   This describes the purpose of the certificate.  This is a critical
   extension, and it MUST be present.

   In certificates issued to Certification Authorities only the
   keyCertSign and CRLSign bits are set to TRUE and these MUST be the
   only bits set to TRUE.

   In end-entity certificates the digitalSignature bit MUST be set to
   TRUE and MUST be the only bit set to TRUE.

3.9.5.  Extended Key Usage

   The Extended Key Usage Extension indicates one or more purposes for
   which the public key in a certificate may be used.  The uses are
   specified via a SEQUENCE of one or more object identifiers (OIDs).
   The EKU extension MUST NOT appear in any Certification Authority
   certificate in the RPKI.  This extension also MUST NOT appear in end
   entity certificates used to verify RPKI objects such as ROAs or
   manifests.

   The EKU extension MAY appear in end entity certificates issued to
   routers or other devices.  The extension MUST NOT be marked critical.
   Permitted values for the EKU OIDs will be specified in Standards
   Track RFCs issued by other IETF working groups that adopt the RPKI
   profile and that identify application-specific requirements that
   motivate the use of such EKUs.

3.9.6.  CRL Distribution Points

   This field (CRLDP) identifies the location(s) of the CRL(s)
   associated with certificates issued by this Issuer.  This profile
   uses the URI form of object identification.  The preferred URI access
   mechanism is a single RSYNC URI ("rsync://") [rsync] that references
   a single inclusive CRL for each issuer.

   In this profile the certificate issuer is also the CRL issuer,
   implying at the CRLIssuer field MUST be omitted, and the
   distributionPoint field MUST be present.  The Reasons field MUST be
   omitted.

   The distributionPoint MUST contain GeneralNames, and MUST NOT contain
   a nameRelativeToCRLIssuer.  The form of the generalName MUST be of
   type URI.

   In this profile, the scope of the CRL is specified to be all
   certificates issued by this CA issuer.



Huston, et al.           Expires August 30, 2009               [Page 10]


Internet-Draft        Resource Certificate Profile         February 2009


   The sequence of distributionPoint values MUST contain only a single
   DistributionPointName set.  The DistributionPointName set MAY contain
   more than one URI value.  An RSYNC URI MUST be present in the
   DistributionPointName set, and reference the most recent instance of
   this issuer's certificate revocation list.  Other access form URIs
   MAY be used in addition to the RSYNC URI.

   This extension MUST be present and it is non-critical.  There is one
   exception, namely where a CA distributes its public key in the form
   of a "self-signed" certificate, the CRLDP MUST be omitted.

3.9.7.  Authority Information Access

   This extension (AIA) identifies the point of publication of the
   certificate that is issued by the issuer's immediate superior CA,
   where this certificate's issuer is the subject.  In this profile a
   single reference object to publication location of the immediate
   superior certificate MUST be used, except in the case where a CA
   distributes its public key in the form of a "self-signed"
   certificate, in which case the AIA field SHOULD be omitted.

   This profile uses a URI form of object identification.  The preferred
   URI access mechanisms is "rsync", and an RSYNC URI MUST be specified
   with an accessMethod value of id-ad-caIssuers.  The URI MUST
   reference the point of publication of the certificate where this
   issuer is the subject (the issuer's immediate superior certificate).
   Other accessMethod URIs referencing the same object MAY also be
   included in the value sequence of this extension.

   When an Issuer re-issues a CA certificate, the subordinate
   certificates need to reference this new certificate via the AIA
   field.  In order to avoid the situation where a certificate re-
   issuance necessarily implies a requirement to re-issue all
   subordinate certificates, CA Certificate issuers SHOULD use a
   persistent URL name scheme for issued certificates.  This implies
   that re-issued certificates overwrite previously issued certificates
   to the same subject in the publication repository, and use the same
   publication name as previously issued certificates.  In this way
   subordinate certificates can maintain a constant AIA field value and
   need not be re-issued due solely to a re-issue of the superior
   certificate.  The issuers' policy with respect to the persistence of
   name objects of issued certificates MUST be specified in the Issuer's
   Certification Practice Statement.

   This extension is non-critical.






Huston, et al.           Expires August 30, 2009               [Page 11]


Internet-Draft        Resource Certificate Profile         February 2009


3.9.8.  Subject Information Access

   This extension (SIA) identifies the location of information and
   services relating to the subject of the certificate in which the SIA
   extension appears.  Where the Subject is a CA in this profile, this
   information and service collection will include all current valid
   certificates that have been issued by this subject that are signed
   with the subject's corresponding private key.

   This profile uses a URI form of location identification.  The
   preferred URI access mechanism is "rsync", and an RSYNC URI MUST be
   specified, with an accessMethod value of id-ad-caRepository when the
   subject of the certificate is a CA.  The RSYNC URI MUST reference an
   object collection rather than an individual object and MUST use a
   trailing '/' in the URI.

   Other accessMethod URIs that reference the same location MAY also be
   included in the value sequence of this extension.  The ordering of
   URIs in this sequence reflect the subject's relative preferences for
   access methods to be used by parties for retrieval of objects from
   the associated repository publication point, with the first method in
   the accessMethod sequence being the most preferred.

   This extension MUST be present when the subject is a CA, and is non-
   critical.

   For End Entity (EE) certificates, where the subject is not a CA, this
   extension MAY be present, and is non-critical.  If present, it either
   references the location where objects signed by the private key
   associated with the EE certificate can be accessed, or, in the case
   of single-use EE certificates it references the location of the
   single object that has been signed by the corresponding private key.

   When the subject is an End Entity, and it publishes objects signed
   with the matching private key in a repository, the directory where
   these signed objects is published is referenced the id-ad-
   signedObjectRepository OID.

          id-ad OBJECT IDENTIFIER ::= { id-pkix 48 }

          id-ad-signedObjectRepository OBJECT IDENTIFIER ::= { id-ad 9 }

   When the subject is an End Entity, and it publishes a single object
   signed with the matching private key, the location where this signed
   object is published is referenced the id-ad-signedObject OID.

          id-ad-signedObject OBJECT IDENTIFIER ::= { id-ad 11 }




Huston, et al.           Expires August 30, 2009               [Page 12]


Internet-Draft        Resource Certificate Profile         February 2009


   This profile requires the use of repository publication manifests
   [ID.sidr-manifests] to list all signed objects that are deposited in
   the repository publication point associated with a CA or an EE.  The
   publication point of the manifest for a CA or EE is placed in the SIA
   extension of the CA or EE certificate.  This profile uses a URI form
   of manifest identification for the accessLocation.  The preferred URI
   access mechanisms is "rsync", and an RSYNC URI MUST be specified.
   Other accessDescription fields may exist for the id-ad-rpkiManifest
   accessMethod, where the accessLocation value indicates alternate URI
   access mechanisms for the same manifest object.

          id-ad-rpkiManifest  OBJECT IDENTIFIER ::= { id-ad 10 }

   CA certificates MUST include in the SIA an accessMethod OID of id-ad-
   rpkiManifest, where the associated accessLocation refers to the
   subject's published manifest object as an object URL.

   When an EE certificate is intended for use in verifying multiple
   objects, EE certificate MUST include in the SIA an accessMethod OID
   of id-ad-rpkiManifest, where the associated accessLocation refers to
   the EE's published manifest object as an object URL.

   When an EE certificate is used to verify a single published object,
   the EE certificate MUST include in the SIA an accessMethod OID of id-
   ad-signedObject, where the associated accessLocation refers to the
   publication point of the single object that is verified using this EE
   certificate.  In this case, the SIA MUST NOT include the accessMethod
   OID of id-ad-rpkiManifest.

3.9.9.  Certificate Policies

   This extension MUST reference the Resource Certificate Policy, using
   the OID Policy Identifier value of "1.3.6.1.5.5.7.14.2".  This field
   MUST be present and MUST contain only this value for Resource
   Certificates.

   No PolicyQualifiers are defined for use with this policy and thus
   none must be included in this extension.

   This extension MUST be present and it is critical.

3.9.10.  IP Resources

   This extension contains the list of IP address resources as per
   [RFC3779].  The value may specify the "inherit" element for a
   particular AFI value.  In the context of resource certificates
   describing public number resources for use in the public Internet,
   the SAFI value MUST NOT be used.  All Resource Certificates MUST



Huston, et al.           Expires August 30, 2009               [Page 13]


Internet-Draft        Resource Certificate Profile         February 2009


   include an IP Resources extension, an AS Resources extension, or both
   extensions.

   This extension, if present, MUST be marked critical.

   Either the IP Resources extension, or the AS Resources extension, or
   both, MUST be present in all RPKI certificates.

3.9.11.  AS Resources

   This extension contains the list of AS number resources as per
   [RFC3779], or may specify the "inherit" element.  RDI values are NOT
   supported in this profile and MUST NOT be used.  All Resource
   Certificates MUST include an IP Resources extension, an AS Resources
   extension, or both extensions.

   This extension, if present, MUST be marked critical.

   Either the IP Resources extension, or the AS Resources extension, or
   both, MUST be present in all RPKI certificates.


4.  Resource Certificate Revocation List Profile

   Each CA MUST issue a version 2 Certificate Revocation List (CRL),
   consistent with [RFC5280].  The CRL issuer is the CA, and no indirect
   CRLs are supported in this profile.

   An entry MUST NOT be removed from the CRL until it appears on one
   regularly scheduled CRL issued beyond the revoked certificate's
   validity period, as required in [RFC5280].

   This profile does not allow issuance of Delta CRLs.

   The scope of the CRL MUST be "all certificates issued by this CA".
   The contents of the CRL are a list of all non-expired certificates
   that have been revoked by the CA.

   No CRL fields other than those listed here are permitted in CRLs
   issued under this profile.  Unless otherwise indicated, these fields
   MUST be present in the CRL.  Where two or more CRLs issued by a
   single CA with the same scope, the CRL with the highest value of the
   "CRL Number" field supersedes all other CRLs issued by this CA.

4.1.  Version

   Resource Certificate Revocation Lists are Version 2 certificates (the
   integer value of this field is 1).



Huston, et al.           Expires August 30, 2009               [Page 14]


Internet-Draft        Resource Certificate Profile         February 2009


4.2.  Issuer Name

   The value of this field is the X.501 name of the issuing CA who is
   also the signer of the CRL, and is identical to the Issuer name in
   the Resource Certificates that are issued by this issuer.

4.3.  This Update

   This field contains the date and time that this CRL was issued.  The
   value of this field MUST be encoded as UTCTime for dates through the
   year 2049, and MUST be encoded as GeneralizedTime for dates in the
   year 2050 or later.

4.4.  Next Update

   This is the date and time by which the next CRL SHOULD be issued.
   The value of this field MUST be encoded as UTCTime for dates through
   the year 2049, and MUST be encoded as GeneralizedTime for dates in
   the year 2050 or later.

4.5.  Signature

   This field contains the algorithm used to sign this CRL.  This
   profile specifies a default of SHA-256 with RSA
   (sha256WithRSAEncryption), and allows for the use of SHA-384 or SHA-
   512.

   It is noted that larger key sizes are computationally expensive for
   both the CRL Issuer and relying parties, indicating that care should
   be taken when deciding to use larger than the default key size.

4.6.  Revoked Certificate List

   When there are no revoked certificates, then the revoked certificate
   list MUST be absent.

   For each revoked resource certificate only the following fields MUST
   be present.  No CRL entry extensions are supported in this profile,
   and CRL entry extensions MUST NOT be present in a CRL.

4.6.1.  Serial Number

   The serial number of the revoked certificate.

4.6.2.  Revocation Date

   The time the certificate was revoked.  This time MUST NOT be a future
   date (i.e., a date later than ThisUpdate).  The value of this field



Huston, et al.           Expires August 30, 2009               [Page 15]


Internet-Draft        Resource Certificate Profile         February 2009


   MUST be encoded as UTCTime for dates through the year 2049, and MUST
   be encoded as GeneralizedTime for dates in the year 2050 or later.

4.7.  CRL Extensions

   The X.509 v2 CRL format allows extensions to be placed in a CRL.  The
   following extensions are supported in this profile, and MUST be
   present in a CRL.

4.7.1.  Authority Key Identifier

   The authority key identifier extension provides a means of
   identifying the public key corresponding to the private key used to
   sign a CRL.  Conforming CRL issuers MUST use the key identifier
   method.  The syntax for this CRL extension is defined in section
   4.2.1.1 of [RFC5280].

   This extension is non-critical.

4.7.2.  CRL Number

   The CRL Number extension conveys a monotonically increasing sequence
   number of positive integers for a given CA and scope.  This extension
   allows users to easily determine when a particular CRL supersedes
   another CRL.  The highest CRL Number value supersedes all other CRLs
   issued by the CA with the same scope.

   This extension is non-critical.


5.  Resource Certificate Request Profile

   A resource certificate request MAY use either of PKCS#10 or
   Certificate Request Message Format (CRMF).  A CA Issuer MUST support
   PKCS#10 and a CA Issuer may, with mutual consent of the subject,
   support CRMF.

5.1.  PCKS#10 Profile

   This profile refines the specification in [RFC2986], as it relates to
   Resource Certificates.  A Certificate Request Message object,
   formatted according to PKCS#10, is passed to a CA as the initial step
   in issuing a certificate.

   This request may be conveyed to the CA via a Registration Authority
   (RA), acting under the direction of a Subject.

   With the exception of the public key related fields, the CA is



Huston, et al.           Expires August 30, 2009               [Page 16]


Internet-Draft        Resource Certificate Profile         February 2009


   permitted to alter any requested field when issuing a corresponding
   certificate.

5.1.1.  PKCS#10 Resource Certificate Request Template Fields

   This profile applies the following additional constraints to fields
   that may appear in a CertificationRequestInfo:


      Version
         This field is mandatory and MUST have the value 0.

      Subject
         This field is optional.  If present, the value of this field
         SHOULD be empty, in which case the issuer MUST generate a
         subject name that is unique in the context of certificates
         issued by this issuer.  If the value of this field is non-
         empty, then the CA MAY consider the value of this field as the
         subject's suggested subject name, but the CA is NOT bound to
         honor this suggestion, as the subject name MUST be unique per
         subordinate CA and EE in certificates issued by this issuer.

      SubjectPublicKeyInfo
         This field specifies the subject's public key and the algorithm
         with which the key is used.  The public key algorithm MUST be
         RSA, and the OID for the algorithm is 1.2.840.113549.1.1.1.
         This field also includes a bit-string representation of the
         entity's public key.  For the RSA public-key algorithm the bit
         string contains the DER encoding of a value of PKCS #1 type
         RSAPublicKey.

      Attributes
         [RFC2986] defines the attributes field as key-value pairs where
         the key is an OID and the value's structure depends on the key.

         The only attribute used in this profile is the ExtensionRequest
         attribute as defined in [RFC2985].  This attribute contains
         X509v3 Certificate Extensions.  The profile for extensions in
         certificate requests is specified in Section 5.3.

   This profile applies the following additional constraints to fields
   that MAY appear in a CertificationRequest Object:









Huston, et al.           Expires August 30, 2009               [Page 17]


Internet-Draft        Resource Certificate Profile         February 2009


      signatureAlgorithm
         This profile specifies a default of SHA-256 with RSA
         (sha256WithRSAEncryption), and allows for the use of SHA-384 or
         SHA-512.  Accordingly, the value for this field MUST be one of
         the OID values { pkcs-1 11 }, { pkcs-1 12 } or { pkcs-1 13 }
         [RFC4055].

         It is noted that larger key sizes are computationally expensive
         for both the CA and relying parties, indicating that care
         should be taken when deciding to use larger than the default
         key size.

5.2.  CRMF Profile

   This profile refines the Certificate Request Message Format (CRMF)
   specification in [RFC4211], as it relates to Resource Certificates.
   A Certificate Request Message object, formatted according to the
   CRMF, is passed to a CA as the initial step in issuing a certificate.

   This request MAY be conveyed to the CA via a Registration Authority
   (RA), acting under the direction of a subject.

   With the exception of the public key related fields, the CA is
   permitted to alter any requested field when issuing a corresponding
   certificate.

5.2.1.  CRMF Resource Certificate Request Template Fields

   This profile applies the following additional constraints to fields
   that may appear in a Certificate Request Template:


      Version
         This field MAY be absent, or MAY specify the request of a
         Version 3 Certificate.  It SHOULD be omitted.

      SerialNumber
         As per [RFC4211], this field is assigned by the CA and MUST be
         omitted in this profile.

      SigningAlgorithm
         As per [RFC4211], this field is assigned by the CA and MUST be
         omitted in this profile.








Huston, et al.           Expires August 30, 2009               [Page 18]


Internet-Draft        Resource Certificate Profile         February 2009


      Issuer
         This field is assigned by the CA and MUST be omitted in this
         profile.

      Validity
         This field MAY be omitted.  If omitted, the CA will issue a
         Certificate with Validity dates as determined by the CA.  If
         specified, then the CA MAY override the requested values with
         dates as determined by the CA.

      Subject
         This field is optional.  If present, the value of this field
         SHOULD be empty, in which case the issuer MUST generate a
         subject name that is unique in the context of certificates
         issued by this issuer.  If the value of this field is non-
         empty, then the CA MAY consider the value of this field as the
         subject's suggested subject name, but the CA is NOT bound to
         honor this suggestion, as the subject name MUST be unique per
         issuer in certificates issued by this issuer.

      PublicKey
         This field MUST be present.

      extensions
         This attribute contains X509v3 Certificate Extensions.  The
         profile for extensions in certificate requests is specified in
         Section 5.3.

5.2.2.  Resource Certificate Request Control Fields

   The following control fields are supported in this profile:


      Authenticator Control
         It is noted that the intended model of authentication of the
         subject is a "long term" model, and the advice as offered in
         [RFC4211] is that the Authenticator Control field be used.


5.3.  Certificate Extension Attributes in Certificate Requests

   The following extensions MAY appear in a PKCS#10 or CRMF Certificate
   Request.  Any other extensions MUST NOT appear in a Certificate
   Request.  This profile places the following additional constraints on
   these extensions.:






Huston, et al.           Expires August 30, 2009               [Page 19]


Internet-Draft        Resource Certificate Profile         February 2009



      BasicConstraints
         If this is omitted then the CA will issue an end entity
         certificate with the BasicConstraints extension not present in
         the issued certificate.

         The Path Length Constraint is not supported in this Resource
         Certificate Profile, and this field MUST be omitted in this
         profile.

         The CA MAY honor the SubjectType CA bit set to on.  If this bit
         is set, then it indicates that the Subject is allowed to issue
         resource certificates within this overall framework.

         The CA MUST honor the SubjectType CA bit set to off (End Entity
         certificate request), in which case the corresponding end
         entity certificate will not contain a BasicConstraints
         extension.

      SubjectKeyIdentifier
         This field is assigned by the CA and MUST be omitted in this
         profile.

      AuthorityKeyIdentifier
         This field is assigned by the CA and MUST be omitted in this
         profile.

      KeyUsage
         The CA MAY honor KeyUsage extensions of keyCertSign and cRLSign
         if present, as long as this is consistent with the
         BasicConstraints SubjectType sub field, when specified.

      ExtendedKeyUsage
         The CA MAY honor ExtendedKeyUsage extensions of keyCertSign and
         cRLSign if present, as long as this is consistent with the
         BasicConstraints SubjectType sub field, when specified.

       SubjectInformationAccess
         This field MUST be present when the subject is a CA, and the
         field value SHOULD be honored by the CA.  If the CA is not able
         to honor the requested field value, then the CA MUST reject the
         Certificate Request.

         This field (SIA) identifies the location of information and
         services relating to the subject of the certificate in which
         the SIA extension appears.





Huston, et al.           Expires August 30, 2009               [Page 20]


Internet-Draft        Resource Certificate Profile         February 2009


         Where the subject is a CA in this profile, this information and
         service collection will include all current valid certificates
         that have been issued by this subject that are signed with the
         subject's corresponding private key.

         This profile uses a URI form of location identification.  An
         RSYNC URI MUST be specified, with an accessMethod value of id-
         ad-caRepository when the subject of the certificate is a CA.
         The RSYNC URI MUST reference an object collection rather than
         an individual object and MUST use a trailing '/' in the URI.
         Other accessMethod URIs that reference the same location MAY
         also be included in the value sequence of this extension.  The
         ordering of URIs in this sequence reflect the subject's
         relative preferences for access methods, with the first method
         in the sequence being the most preferred by the Subject.

         A request for a CA certificate MUST include in the SIA of the
         request the id-ad-caRepository accessMethod, and also MUST
         include in the SIA of the request the accessMethod OID of id-
         ad-rpkiManifest, where the associated accessLocation refers to
         the subject's published manifest object as an object URL.

         This field MAY be present when the subject is a EE.  If it is
         present the field value SHOULD be honored by the CA.  If the CA
         is not able to honor the requested field value, then the CA
         MUST reject the Certificate Request.  If it is not present the
         CA SHOULD honor this request and omit the SIA from the issued
         certificate.  If the CA is not able to honor the request to
         omit the SIA, then the CA MUST reject the Certificate Request.

         When an EE certificate is intended for use in verifying
         multiple objects, the certificate request for the EE
         certificate MUST include in the SIA of the request an
         accessMethod OID of id-ad-signedObjectRepository, and also MUST
         include in the SIA of the request an accessMethod OID of id-ad-
         rpkiManifest, where the associated access location refers to
         the publication point of the manifest object describing all
         objects that are verified using this EE certificate.

         When an EE certificate is used to sign a single published
         object, the certificate request for the EE certificate MUST
         include in the SIA of the request an accessMethod OID of id-ad-
         signedObject, where the associated accessLocation refers to the
         publication point of the single object that is verified using
         this EE certificate, and MUST NOT include an id-ad-rpkiManifest
         accessMethod OID in the SIA of the request.





Huston, et al.           Expires August 30, 2009               [Page 21]


Internet-Draft        Resource Certificate Profile         February 2009


         In the case when the EE certificate is to be used exclusively
         to sign one or more unpublished objects, such that the all
         signed objects will not be published in any RPKI repository,
         then the SIA SHOULD be omitted from the request.

      CRLDistributionPoints
         This field is assigned by the CA and MUST be omitted in this
         profile.

      AuthorityInformationAccess
         This field is assigned by the CA and MUST be omitted in this
         profile.

      CertificatePolicies
         This field is assigned by the CA and MUST be omitted in this
         profile.


   With the exceptions of the publicKey field and the
   SubjectInformationAccess field, the CA is permitted to alter any
   requested field.


6.  Resource Certificate Validation

   This section describes the Resource Certificate validation procedure.
   This refines the generic procedure described in section 6 of
   [RFC5280].

   To meet this goal, the path validation process verifies, among other
   things, that a prospective certification path (a sequence of n
   certificates) satisfies the following conditions:


      1.  for all 'x' in {1, ..., n-1}, the subject of certificate 'x'
          is the issuer of certificate ('x' + 1);

      2.  certificate '1' is issued by a trust anchor ;

      3.  certificate 'n' is the certificate to be validated; and

      4.  for all 'x' in {1, ..., n}, certificate 'x' is valid.

6.1.  Resource Extension Validation

   The IP Resources and AS Resources extensions definitions [RFC3779]
   defines critical extensions for Internet number resources.  These are
   ASN.1 encoded representations of the IPv4 and IPv6 address range



Huston, et al.           Expires August 30, 2009               [Page 22]


Internet-Draft        Resource Certificate Profile         February 2009


   (either as a prefix/length, or start-end pair) and an AS number set.

   Valid Resource Certificates MUST have a valid IP address and/or AS
   number resource extension.  In order to validate a Resource
   Certificate the resource extension MUST also be validated.  This
   validation process relies on definitions of comparison of resource
   sets:


      more specific
         Given two IP address or AS number contiguous ranges, A and B, A
         is "more specific" than B if range B includes all IP addresses
         or AS numbers described by range A, and if range B is larger
         than range A.

      equal
         Given two IP address or AS number contiguous ranges, A and B, A
         is "equal" to B if range A describes precisely the same
         collection of IP addresses or AS numbers as described by range
         B. The definition of "inheritance" in [RFC3779] is equivalent
         to this "equality" comparison.

      encompass
         Given two IP address and AS number sets X and Y, X
         "encompasses" Y if, for every contiguous range of IP addresses
         or AS numbers elements in set Y, the range element is either
         more specific than or equal to a contiguous range element
         within the set X.

   Validation of a certificate's resource extension in the context of an
   ordered certificate sequence of {1,2, ... , n} where certificate '1'
   is issued by a trust anchor and certificate 'n' is the target
   certificate, and where the subject of certificate 'x' is the issuer
   of certificate ('x' + 1), includes verification that that the
   resources described in certificate 'x' "encompass" the resources
   described in certificate ('x' + 1), and the resources described in
   the trust anchor information "encompass" the resources described in
   certificate '1'.

6.2.  Resource Certification Path Validation

   Validation of signed resource data using a target resource
   certificate consists of assembling an ordered sequence (or
   'Certification Path') of certificates ({1,2,...n} where '1' is a
   certificate that has been issued by a trust anchor, and 'n' is the
   target certificate) verifying that all of the following conditions
   hold:




Huston, et al.           Expires August 30, 2009               [Page 23]


Internet-Draft        Resource Certificate Profile         February 2009



      1.  The certificate can be verified using the Issuer's public key
          and the signature algorithm

      2.  The current time lies within the certificate's Validity From
          and To values.

      3.  The certificate contains all fields that MUST be present and
          contains field values as specified in this profile for all
          field values that MUST be present.

      4.  No field value that MUST NOT be present in this profile is
          present in the certificate.

      5.  The Issuer has not revoked the certificate by placing the
          certificate's serial number on the Issuer's current
          Certificate Revocation List, and the Certificate Revocation
          List is itself valid.

      6.  That the resource extension data is "encompassed" by the
          resource extension data contained in a valid certificate where
          this Issuer is the Subject (the previous certificate in the
          ordered sequence)

      7.  The Certification Path originates with a certificate issued by
          a trust anchor, and there exists a signing chain across the
          Certification Path where the Subject of Certificate 'x' in the
          Certification Path matches the Issuer in Certificate ('x' + 1)
          in the Certification Path.

   A certificate validation algorithm may perform these tests in any
   chosen order.

   Certificates and CRLs used in this process may be found in a locally
   maintained cache, maintained by a regular synchronization across the
   distributed publication repository structure.

   There exists the possibility of encountering certificate paths that
   are arbitrarily long, or attempting to generate paths with loops as
   means of creating a potential DOS attack on a relying party.  Some
   further heuristics may be required to halt the certification path
   validation process in order to avoid some of the issues associated
   with attempts to validate such structures.  It is suggested that
   implementations of Resource Certificate validation MAY halt with a
   validation failure if the certification path length exceeds a locally
   defined configuration parameter.





Huston, et al.           Expires August 30, 2009               [Page 24]


Internet-Draft        Resource Certificate Profile         February 2009


7.  Design Notes

   The following notes provide some additional commentary on the
   considerations that lie behind some of the design choices that were
   made in the design of this certificate profile.  These notes do not
   constitute a formal part of the profile specification, and the
   interpretation of key words as defined in RFC2119 are not applicable
   in this section of the document.

   Certificate Extensions:
         This profile does not permit the use of any other critical or
         non-critical extensions.  The rationale for this restriction is
         that the resource certificate profile is intended for a
         specific use, and in this context it is not seen as being
         appropriate to be in the position of having certificates with
         additional non-critical extensions that relying parties may see
         as valid certificates without understanding the extensions, but
         were the relying party in a position to understand the
         extensions, would contradict or qualify in some way this
         original judgment of validity.  This profile takes the position
         of minimalism over extensibility.  The specific goal for the
         associated Resource Public Key Infrastructure to precisely
         match the IP number resource allocation structure through an
         aligned certificate structure that describes the allocation and
         its context within the number resource distribution hierarchy.
         The profile defines a resource certificate that is structured
         to meet these requirements.

   Certification Authorities and Key Values:
         This profile uses a definition of an instance of a CA as a
         combination of a named entity and a key pair.  Within this
         definition a CA instance cannot rollover a key pair.  However,
         the entity can generate a new instance of a CA with a new key
         pair and roll over all the signed subordinate products to the
         new CA.

         This has a number of implications in terms of subject name
         management, CRL Scope and repository publication point
         management.

         Subject Name:
               For Subject Names the issuer should ensure that when an
               entity requests a certificate with a new key pair, the CA
               issues a certificate with a new subject name.  One way to
               achieve this is to use a CommonName value that is unique
               per subordinate entity, using an algorithm of the CA's
               devising to ensure this uniqueness, and for the CA to
               include the serial number field of the X.501



Huston, et al.           Expires August 30, 2009               [Page 25]


Internet-Draft        Resource Certificate Profile         February 2009


               distinguished name structure, with a serial number value
               that is derived from the hash of the subject public key
               value.  It should also be noted that conventions are
               imposed on Subject names used in resource certificates,
               as described in [ID.sidr-arch], and that any name scheme
               should comply with these conventions.

         CRL Scope:
               For CRL Scope this profile specifies that a CA issues a
               single CRL sequence, and the scope of the CRL is all
               certificates issued by this CA.  Because the CA instance
               is bound to a single key pair this implies that the CA's
               public key, the key used to validate the CA's CRL, and
               the key used to validate the certificates revoked by that
               CRL are all the same.

         Repository Publication Point:
               The definition of a CA affects the design of the
               repository publication system.  In order to minimize the
               amount of forced re-certification on key rollover events,
               a repository publication regime that uses the same
               repository publication point for all CA instances that
               refers to the same entity, but with different key values
               will minimize the extent of re-generation of certificates
               to only immediate subordinate certificates.

               In order for two or more CA instances to share a single
               repository publication point there needs to be a regime
               of key management into OLD, CURRENT and FUTURE keys and a
               similar regime of OLD, CURRENT and FUTURE CAs.  An OLD CA
               should regularly publish its CRL for as long as the OLD
               CA instance is still valid, and issue EE certificates as
               necessary to maintain a current manifest of all OLD CA
               published products, but it should not sign any other
               products.  The CURRENT CA should publish its CRL, and
               should publish all subordinate products, as well as
               issuing EE certificates as necessary to maintain a
               current manifest of all CURRENT CA published products.
               FUTURE CAs should publish no products at all in the
               repository publication point.  It would be consistent
               with this repository object name framework for the CRL
               and manifest to be published using object names derived
               from the hash of the public key value of the CA instance.








Huston, et al.           Expires August 30, 2009               [Page 26]


Internet-Draft        Resource Certificate Profile         February 2009


   Key Rollover:
         As a CA instance is associated with a single key pair, there
         are some considerations regarding the procedure that should be
         followed by an entity performing a key rollover function.  The
         entity will need to create a new CA instance and then use this
         new CA instance to re-issue all subordinate products with the
         new CA instance.

         To perform a key rollover operation the entity will need to:


               1.    Generate a NEW key pair.

               2.    Generate a certificate request with the NEW key
                     pair and pass the request to the entity's issuer.

               3.    Request the entity's issuer to generate and publish
                     a NEW CA certificate, with an issuer-selected
                     subject name that is distinct from the subject name
                     used in conjunction with the previous subject name
                     value for this entity.

               4.    Mark the CURRENT CA as OLD and the NEW CA as
                     CURRENT.

               5.    The CURRENT CA will generate new certificates for
                     all existing subordinate CA and EE certificates,
                     and publish those products in the same repository
                     publication point and with the same repository
                     publication point name as the previous OLD
                     subordinate CA and EE certificates.  The keys in
                     these reissued certificates must not change.

               6.    Where the signing structure uses a packaging format
                     that includes the EE certificate within the signed
                     data, signed objects that included OLD EE
                     certificates in their signed data will need to be
                     re-signed using an EE certificate issued by the
                     CURRENT CA.  In the case where the OLD EE
                     certificate is a "single use" EE certificate and
                     the associate private key has been destroyed this
                     will entail the generate of a new key pair, the
                     issuing of an EE certificate by the CURRENT CA.  In
                     the case of a "multi-use" EE certificate, the EE
                     certificate should issued using the CURRENT CA.
                     The object, together with the issued EE
                     certificate, should be signed with the associated
                     private key, and published in the same repository



Huston, et al.           Expires August 30, 2009               [Page 27]


Internet-Draft        Resource Certificate Profile         February 2009


                     publication point, using the same repository
                     publication point name, as the previously signed
                     object that it replaces (i.e. overwrite the old
                     signed object).

               7.    Generate a certificate revocation request for the
                     OLD CA certificate and pass it to the entity's
                     issuer.

               8.    Remove all published OLD CA products and destroy
                     the OLD private key.

   Name Uniqueness:
         This profile specifies that subject names must be unique per
         issuer, and does not specify that subject names must be
         globally unique.

         Given that the Resource Certificate PKI is a distributed PKI,
         there is no inherent ability for Certification authorities to
         coordinate PKI-wide unique subject names.  CA's should use
         multi-attribute, structured Subject names in their RPKI
         certificates.  This advice is motivated by a desire to include
         within this specification a CA's subject naming practice that
         uses a distinguished name component that is constant for any
         given entity that is the subject of CA-issued certificates (the
         CommonName component of the Distinguished Name), yet still
         ensure that the structures Subject name changes whenever
         subject key rollover occurs (the serial number component of the
         Distinguished Name).  Also, as the publication repository is
         distributed, and distinct entities use distinct repository
         publication points any potential ambiguity is resolved by the
         distinct publication point.



8.  Security Considerations

   The Security Considerations of [RFC5280] and [RFC3779]apply to
   Resource Certificates as defined by this profile, and their use.

   A Resource Certificate PKI cannot in and of itself resolve any forms
   of ambiguity relating to uniqueness of assertions of rights of use in
   the event that two or more valid certificates encompass the same
   resource.  If the issuance of resource certificates is aligned to the
   status of resource allocations and assignments then the information
   conveyed in a certificate is no better than the information in the
   allocation and assignment databases.




Huston, et al.           Expires August 30, 2009               [Page 28]


Internet-Draft        Resource Certificate Profile         February 2009


9.  IANA Considerations

   [Note to IANA, to be removed prior to publication: there are no IANA
   considerations stated in this document.]


10.  Acknowledgements

   The authors would like to particularly acknowledge the valued
   contribution from Stephen Kent in reviewing this document and
   proposing numerous sections of text that have been incorporated into
   the text.  The authors also acknowledge the contributions of Sandy
   Murphy, Robert Kisteleki, Randy Bush, Russ Housley, Ricardo Patara
   and Rob Austein in the preparation and subsequent review of this
   document.  The document also reflects review comments received from
   Roque Gagliano, Sean Turner and David Cooper.


11.  References

11.1.  Normative References

   [RFC0791]  Postel, J., "Internet Protocol", STD 5, RFC 791,
              September 1981.

   [RFC2050]  Hubbard, K., Kosters, M., Conrad, D., Karrenberg, D., and
              J. Postel, "INTERNET REGISTRY IP ALLOCATION GUIDELINES",
              BCP 12, RFC 2050, November 1996.

   [RFC3779]  Lynn, C., Kent, S., and K. Seo, "X.509 Extensions for IP
              Addresses and AS Identifiers", RFC 3779, June 2004.

   [RFC4055]  Schaad, J., Kaliski, B., and R. Housley, "Additional
              Algorithms and Identifiers for RSA Cryptography for use in
              the Internet X.509 Public Key Infrastructure Certificate
              and Certificate Revocation List (CRL) Profile", RFC 4055,
              June 2005.

   [RFC4211]  Schaad, J., "Internet X.509 Public Key Infrastructure
              Certificate Request Message Format (CRMF)", RFC 4211,
              September 2005.

   [RFC4291]  Hinden, R. and S. Deering, "IP Version 6 Addressing
              Architecture", RFC 4291, February 2006.

   [RFC5280]  Cooper, D., Santesson, S., Farrell, S., Boeyen, S.,
              Housley, R., and W. Polk, "Internet X.509 Public Key
              Infrastructure Certificate and Certificate Revocation List



Huston, et al.           Expires August 30, 2009               [Page 29]


Internet-Draft        Resource Certificate Profile         February 2009


              (CRL) Profile", RFC 5280, May 2008.

   [X.509]    ITU-T, "Recommendation X.509: The Directory -
              Authentication Framework", 2000.

11.2.  Informative References

   [ID.sidr-arch]
              Lepinski, M. and S. Kent, "An Infrastructure to Support
              Secure Internet Routing", Work in progress: Internet
              Drafts draft-ietf-sidr-arch-04.txt, November 2008.

   [ID.sidr-manifests]
              Austein, R., Huston, G., Kent, S., and M. Lepinski,
              "Manifests for the Resource Public Key Infrastructure",
              Work in progress: Internet
              Drafts draft-ietf-sidr-rpki-manifests-04.txt,
              October 2008.

   [RFC2985]  Nystrom, M. and B. Kaliski, "PKCS #9: Selected Object
              Classes and Attribute Types Version 2.0", RFC 2985,
              November 2000.

   [RFC2986]  Nystrom, M. and B. Kaliski, "PKCS #10: Certification
              Request Syntax Specification Version 1.7", RFC 2986,
              November 2000.

   [RFC4158]  Cooper, M., Dzambasow, Y., Hesse, P., Joseph, S., and R.
              Nicholas, "Internet X.509 Public Key Infrastructure:
              Certification Path Building", RFC 4158, September 2005.

   [rsync]    Tridgell, A., "rsync", April 2006,
              <http://samba.anu.edu.au/rsync/>.


Appendix A.  Example Resource Certificate

   The following is an example Resource Certificate.

   Certificate Name: 9JfgAEcq7Q-47IwMC5CJIJr6EJs.cer

   Data:
     Version: 3 (0x2(
     Serial: 1500 (0x5dc)
     Signature Algorithm: SHA256WithRSAEncryption
     Issuer: CN=APNIC Production-CVPQSgUkLy7pOXdNeVWGvnFX_0s
     Validity
      Not Before: Oct 25 12:50:00 2008 GMT



Huston, et al.           Expires August 30, 2009               [Page 30]


Internet-Draft        Resource Certificate Profile         February 2009


       Not After : Jan 31 00:00:00 2010 GMT
     Subject: CN=A91872ED
     Subject Public Key Info:
       Public Key Algorithm: rsaEncryption
       RSA Public Key: (2048 bit)
       Modulus (2048 bit):
         00:bb:fb:4a:af:a4:b9:dc:d0:fa:6f:67:cc:27:39:
         34:d1:80:40:37:de:88:d1:64:a2:f1:b3:fa:c6:7f:
         bb:51:df:e1:c7:13:92:c3:c8:a2:aa:8c:d1:11:b3:
         aa:99:c0:ac:54:d3:65:83:c6:13:bf:0d:9f:33:2d:
         39:9f:ab:5f:cd:a3:e9:a1:fb:80:7d:1d:d0:2b:48:
         a5:55:e6:24:1f:06:41:35:1d:00:da:1f:99:85:13:
         26:39:24:c5:9a:81:15:98:fb:5f:f9:84:38:e5:d6:
         70:ce:5a:02:ca:dd:61:85:b3:43:2d:0b:35:d5:91:
         98:9d:da:1e:0f:c2:f6:97:b7:97:3e:e6:fc:c1:c4:
         3f:30:c4:81:03:25:99:09:4c:e2:4a:85:e7:46:4b:
         60:63:02:43:46:51:4d:ed:fd:a1:06:84:f1:4e:98:
         32:da:27:ee:80:82:d4:6b:cf:31:ea:21:af:6f:bd:
         70:34:e9:3f:d7:e4:24:cd:b8:e0:0f:8e:80:eb:11:
         1f:bc:c5:7e:05:8e:5c:7b:96:26:f8:2c:17:30:7d:
         08:9e:a4:72:66:f5:ca:23:2b:f2:ce:54:ec:4d:d9:
         d9:81:72:80:19:95:57:da:91:00:d9:b1:e8:8c:33:
         4a:9d:3c:4a:94:bf:74:4c:30:72:9b:1e:f5:8b:00:
         4d:e3
       Exponent: 65537 (0x10001)
     X509v3 extensions:
       X509v3 Subject Key Identifier:
         F4:97:E0:00:47:2A:ED:0F:B8:EC:8C:0C:0B:90:89:
         20:9A:FA:10:9B

       X509v3 Authority Key Identifier:
         keyid:09:53:D0:4A:05:24:2F:2E:E9:39:77:4D:79:
         55:86:BE:71:57:FF:4B

       X509v3 Key Usage: critical
         Certificate Sign, CRL Sign

       X509v3 Basic Constraints: critical
         CA:TRUE

       X509v3 CRL Distribution Points:
         URI:rsync://rpki.apnic.net/repository/A3C38A24
             D60311DCAB08F31979BDBE39/CVPQSgUkLy7pOXdNe
             VWGvnFX_0s.crl

       Authority Information Access:
          CA Issuers - URI:rsync://rpki.apnic.net/repos
             itory/8BDFC7DED5FD11DCB14CF4B1A703F9B7/CVP



Huston, et al.           Expires August 30, 2009               [Page 31]


Internet-Draft        Resource Certificate Profile         February 2009


             QSgUkLy7pOXdNeVWGvnFX_0s.cer

       X509v3 Certificate Policies: critical
          Policy: 1.3.6.1.5.5.7.14.2

       Subject Information Access:
          CA Repository - URI:rsync://rpki.apnic.net/mem
              ber_repository/A91872ED/06A83982887911DD81
              3F432B2086D636/
          Manifest - URI:rsync://rpki.apnic.net/member_r
              epository/A91872ED/06A83982887911DD813F432
              B2086D636/9JfgAEcq7Q-47IwMC5CJIJr6EJs.mft

        sbgp-autonomousSysNum: critical
          Autonomous System Numbers:
            24021
            38610
            131072
            131074

        sbgp-ipAddrBlock: critical
          IPv4:
            203.133.248.0/22
            203.147.108.0/23

     Signature Algorithm: sha256WithRSAEncryption
       51:4c:77:e4:21:64:80:e9:35:30:20:9f:d8:4b:88:60:b8:1f:
       73:24:9d:b5:17:60:65:6a:28:cc:43:4b:68:97:ca:76:07:eb:
       dc:bd:a2:08:3c:8c:56:38:c6:0a:1e:a8:af:f5:b9:42:02:6b:
       77:e0:b1:1c:4a:88:e6:6f:b6:17:d3:59:41:d7:a0:62:86:59:
       29:79:26:76:34:d1:16:2d:75:05:cb:b2:99:bf:ca:c6:68:1b:
       b6:a9:b0:f4:43:2e:df:e3:7f:3c:b3:72:1a:99:fa:5d:94:a1:
       eb:57:9c:9a:2c:87:d6:40:32:c9:ff:a6:54:b8:91:87:fd:90:
       55:ef:12:3e:1e:2e:cf:c5:ea:c3:4c:09:62:4f:88:00:a0:7f:
       cd:67:83:bc:27:e1:74:2c:18:4e:3f:12:1d:ef:29:0f:e3:27:
       00:ce:14:eb:f0:01:f0:36:25:a2:33:a8:c6:2f:31:18:22:30:
       cf:ca:97:43:ed:84:75:53:ab:b7:6c:75:f7:2f:55:5c:2e:82:
       0a:be:91:59:bf:c9:06:ef:bb:b4:a2:71:9e:03:b1:25:8e:29:
       7a:30:88:66:b4:f2:16:6e:df:ad:78:ff:d3:b2:9c:29:48:e3:
       be:87:5c:fc:20:2b:df:da:ca:30:58:c3:04:c9:63:72:48:8c:
       0a:5f:97:71


Appendix B.  Example Certificate Revocation List

   The following is an example Certificate Revocation List.





Huston, et al.           Expires August 30, 2009               [Page 32]


Internet-Draft        Resource Certificate Profile         February 2009


   CRL Name: q66IrWSGuBE7jqx8PAUHAlHCqRw.crl

   Data:
     Version: 2
     Signature Algorithm:
       Hash: SHA256, Encryption: RSA
     Issuer: CN=Demo Production APNIC CA - Not for real use,
       E=ca@apnic.net
     This Update: Thu Jul 27 06:30:34 2006 GMT
     Next Update: Fri Jul 28 06:30:34 2006 GMT
     Authority Key Identifier: Key Identifier:
       ab:ae:88:ad:64:86:b8:11:3b:8e:ac:7c:3c:05:
       07:02:51:c2:a9:1c
     Authority Key Identifier: Key Identifier g(AKI):
       q66IrWSGuBE7jqx8PAUHAlHCqRw
     CRLNumber: 4
     Revoked Certificates: 1
       Serial Number: 1
       Revocation Date: Mon Jul 17 05:10:19 2006 GMT
       Serial Number: 2
       Revocation Date: Mon Jul 17 05:12:25 2006 GMT
       Serial Number: 4
       Revocation Date: Mon Jul 17 05:40:39 2006 GMT
     Signature:
       b2:5a:e8:7c:bd:a8:00:0f:03:1a:17:fd:40:2c:46:
       0e:d5:64:87:e7:e7:bc:10:7d:b6:3e:39:21:a9:12:
       f4:5a:d8:b8:d4:bd:57:1a:7d:2f:7c:0d:c6:4f:27:
       17:c8:0e:ae:8c:89:ff:00:f7:81:97:c3:a1:6a:0a:
       f7:d2:46:06:9a:d1:d5:4d:78:e1:b7:b0:58:4d:09:
       d6:7c:1e:a0:40:af:86:5d:8c:c9:48:f6:e6:20:2e:
       b9:b6:81:03:0b:51:ac:23:db:9f:c1:8e:d6:94:54:
       66:a5:68:52:ee:dd:0f:10:5d:21:b8:b8:19:ff:29:
       6f:51:2e:c8:74:5c:2a:d2:c5:fa:99:eb:c5:c2:a2:
       d0:96:fc:54:b3:ba:80:4b:92:7f:85:54:76:c9:12:
       cb:32:ea:1d:12:7b:f8:f9:a2:5c:a1:b1:06:8e:d8:
       c5:42:61:00:8c:f6:33:11:29:df:6e:b2:cc:c3:7c:
       d3:f3:0c:8d:5c:49:a5:fb:49:fd:e7:c4:73:68:0a:
       09:0e:6d:68:a9:06:52:3a:36:4f:19:47:83:59:da:
       02:5b:2a:d0:8a:7a:33:0a:d5:ce:be:b5:a2:7d:8d:
       59:a1:9d:ee:60:ce:77:3d:e1:86:9a:84:93:90:9f:
       34:a7:02:40:59:3a:a5:d1:18:fb:6f:fc:af:d4:02:
       d9









Huston, et al.           Expires August 30, 2009               [Page 33]


Internet-Draft        Resource Certificate Profile         February 2009


Authors' Addresses

   Geoff Huston
   Asia Pacific Network Information Centre

   Email: gih@apnic.net
   URI:   http://www.apnic.net


   George Michaelson
   Asia Pacific Network Information Centre

   Email: ggm@apnic.net
   URI:   http://www.apnic.net


   Robert Loomans
   Asia Pacific Network Information Centre

   Email: robertl@apnic.net
   URI:   http://www.apnic.net






























Huston, et al.           Expires August 30, 2009               [Page 34]