SIDR                                                           G. Huston
Internet-Draft                                             G. Michaelson
Intended status: Standards Track                              R. Loomans
Expires: November 20, 2010 April 17, 2011                                            APNIC
                                                            May 19,
                                                        October 14, 2010

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

Abstract

   This document defines a standard profile for X.509 certificates for
   the purposes of supporting validation of assertions of "right-of-use"
   of an Internet Number Resource (IP Addresses and Autonomous System
   Numbers).  This Resources (INRs).  The certificates issued under this profile is are
   used to convey the Issuer's authorisation of the Subject to be
   regarded as the current holder of a "right-of-
   use" "right-of-use" of the IP addresses and AS numbers INRs that
   are described in the
   issued certificate.  This document contains the
   normative specification of Certificate and Certificate Revocation
   List (CRL) syntax in the Resource Public Key Infrastructure (RPKI).
   The document also specifies profiles for the format of certificate
   requests.  The document also specifies the Relying Party RPKI
   certificate path validation procedure.

Status of this Memo

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

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at http://datatracker.ietf.org/drafts/current/.

   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."

   This Internet-Draft will expire on November 20, 2010. April 17, 2011.

Copyright Notice

   Copyright (c) 2010 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.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

Table of Contents

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  4
     1.1.  Terminology  . . . . . . . . . . . . . . . . . . . . . . .  5
   2.  Describing Resources in Certificates . . . . . . . . . . . . .  5
   3.  End-Entity (EE) Certificates and Signing Functions in the
       RPKI . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  6  5
     3.1.  Single-Use EE Certificates . . . . . . . . . . . . . . . .  6
     3.2.  Multi-Use EE Certificates  . . . . . . . . . . . . . . . .  7  6
   4.  Resource Certificate Fields Certificates  . . . . . . . . . . . . . . . . .  7 . . .  6
     4.1.  Version  . . . . . . . . . . . . . . . . . . . . . . . . .  7  6
     4.2.  Serial number  . . . . . . . . . . . . . . . . . . . . . .  7  6
     4.3.  Signature Algorithm  . . . . . . . . . . . . . . . . . . .  7
     4.4.  Issuer . . . . . . . . . . . . . . . . . . . . . . . . . .  8  7
     4.5.  Subject  . . . . . . . . . . . . . . . . . . . . . . . . .  8  7
     4.6.  Valid From . . . . . . . . . . . . . . . . . . . . . . . .  8  7
     4.7.  Valid To . . . . . . . . . . . . . . . . . . . . . . . . .  9  8
     4.8.  Subject Public Key Info  . . . . . . . . . . . . . . . . .  9  8
     4.9.  Resource Certificate Version 3 Extension Fields Extensions  . . . . .  9 . . . . . . . .  8
       4.9.1.  Basic Constraints  . . . . . . . . . . . . . . . . . .  9  8
       4.9.2.  Subject Key Identifier . . . . . . . . . . . . . . . . 10  9
       4.9.3.  Authority Key Identifier . . . . . . . . . . . . . . . 10  9
       4.9.4.  Key Usage  . . . . . . . . . . . . . . . . . . . . . . 10  9
       4.9.5.  Extended Key Usage . . . . . . . . . . . . . . . . . . 11  9
       4.9.6.  CRL Distribution Points  . . . . . . . . . . . . . . . 11  9
       4.9.7.  Authority Information Access . . . . . . . . . . . . . 12 10
       4.9.8.  Subject Information Access . . . . . . . . . . . . . . 12 11
       4.9.9.  Certificate Policies . . . . . . . . . . . . . . . . . 14 12
       4.9.10. IP Resources . . . . . . . . . . . . . . . . . . . . . 14 12
       4.9.11. AS Resources . . . . . . . . . . . . . . . . . . . . . 15 13
   5.  Resource Certificate Revocation List Profile Lists  . . . . . . . . . 15
     5.1.  Version . . . 13
   6.  Resource Certificate Requests  . . . . . . . . . . . . . . . . 14
     6.1.  PCKS#10 Profile  . . . . . . 15
     5.2.  Issuer Name . . . . . . . . . . . . . . . 14
       6.1.1.  PKCS#10 Resource Certificate Request Template
               Fields . . . . . . . . 15
     5.3.  This Update . . . . . . . . . . . . . . . . 14
     6.2.  CRMF Profile . . . . . . . 16
     5.4.  Next Update . . . . . . . . . . . . . . . . 15
       6.2.1.  CRMF Resource Certificate Request Template Fields  . . 15
       6.2.2.  Resource Certificate Request Control Fields  . . . . . 16
     5.5.  Signature
     6.3.  Certificate Extension Attributes in Certificate
           Requests . . . . . . . . . . . . . . . . . . . . . . . . . 16
     5.6.  Revoked
   7.  Resource Certificate List . Validation  . . . . . . . . . . . . . . . 17
     7.1.  Resource Extension Validation  . 16
       5.6.1.  Serial Number . . . . . . . . . . . . . 17
     7.2.  Resource Certification Path Validation . . . . . . . 16
       5.6.2.  Revocation Date . . . 18
   8.  Design Notes . . . . . . . . . . . . . . . . 16
     5.7.  CRL Extensions . . . . . . . . . 20
   9.  Security Considerations  . . . . . . . . . . . . . 16
       5.7.1.  Authority Key Identifier . . . . . . 22
   10. IANA Considerations  . . . . . . . . . 17
       5.7.2.  CRL Number . . . . . . . . . . . . 23
   11. Acknowledgements . . . . . . . . . . 17
   6.  Resource Certificate Request Profile . . . . . . . . . . . . . 17
     6.1.  PCKS#10 Profile 23
   12. References . . . . . . . . . . . . . . . . . . . . . 17
       6.1.1.  PKCS#10 Resource Certificate Request Template
               Fields . . . . . . . . . . . . 23
     12.1. Normative References . . . . . . . . . . . . 17
     6.2.  CRMF Profile . . . . . . . 23
     12.2. Informative References . . . . . . . . . . . . . . . . 18
       6.2.1.  CRMF Resource Certificate Request Template Fields . . 19
       6.2.2. 24
   Appendix A.  Example Resource Certificate Request Control Fields  . . . . . 20
     6.3.  Certificate Extension Attributes in Certificate
           Requests . . . . . . . 25
   Appendix B.  Example Certificate Revocation List . . . . . . . . . 27
   Authors' Addresses . . . . . . . . . 20
   7.  Resource Certificate Validation . . . . . . . . . . . . . . . 23
     7.1. 28

1.  Introduction

   This document defines a standard profile for X.509 certificates
   [X.509] for use in the context of certification of Internet Number
   Resources (INRs), i.e., IP Addresses and Autonomous System (AS)
   Numbers.  Such certificates are termed "Resource Certificates".  A
   Resource Extension Validation  . . . . . . . . . . . . . . 23
     7.2. Certificate is a certificate that conforms to the PKIX
   profile [RFC5280], and that conforms to the constraints specified in
   this profile.  A Resource Certification Path Validation . . . . . . . . . . 24
   8.  Design Notes . . . . . . . . . . . . . . . . . . . . . . . . . 25
   9.  Security Considerations  . . . . . . . . . . . . . . . . . . . 29
   10. IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 29
   11. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 29
   12. References . . . . . . . . . . . . . . . . . . . . . . . . . . 30
     12.1. Normative References . . . . . . . . . . . . . . . . . . . 30
     12.2. Informative References . . . . . . . . . . . . . . . . . . 30
   Appendix A.  Example Resource Certificate  . . . . . . . . . . . . 31
   Appendix B.  Example Certificate Revocation List . . . . . . . . . 33
   Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 35

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 attests that the Issuer has
   granted the Subject a "right-of-use" for a listed set of IP addresses and
   and/or Autonomous System numbers.

   A Resource Certificate describes an action

   This document is referenced by a certificate Issuer
   that binds a list Section 7 of IP Address blocks and AS Numbers to the Subject
   of Certificate Policy
   (CP) for the issued certificate.  The binding Resource Public Key Infrastructure (RPKI) [ID.sidr-cp].
   It is identified by the
   association an integral part of that policy and the Subject's private key with the Subject's public
   key contained normative specification
   for certificate and Certificate Revocation List (CRL) syntax used in
   the Resource Certificate, as signed by RPKI.  The document also specifies profiles for the private
   key of the certificate's Issuer.

   In the context format of the public Internet,
   certificate requests, and the use of public number
   resources within this context, it is intended that Relying Party (RP) RPKI certificate
   path validation procedure.

   Resource Certificates are to be used in a manner that is explicitly consistent
   with the RPKI Certificate Policy [ID.sidr-cp].  They are issued by
   entities that assign and/or allocate public INRs, and thus the RPKI
   is aligned to with the public number resource INR distribution function.  Specifically, when a
   number resource  When an INR is
   allocated or assigned by a number registry to an entity, this
   allocation is can be described by an associated Resource Certificate.
   This certificate is issued by the number registry, and it binds the Subject Public Key that is certified by the Issuer corresponds to
   the public part of a key pair for which the private
   certificate subject's key is associated
   with the entity who is to the recipient of INRs enumerated in the number assignment certificate.
   One or
   allocation.  A two critical extension to the certificate enumerates extensions, the IP Resources Address Delegation or AS
   Identifier Delegation Extensions [RFC3779], enumerate the INRs that
   were allocated or assigned by the Issuer to the
   entity.  In the context Subject.

   RP validation of the public number distribution function,
   this corresponds to a hierarchical PKI structure, where Resource
   Certificates are issued in only one 'direction' and there Certificate is a unique
   path of certificates from a certification authority operating at performed in the
   apex of a resource distribution hierarchy to a valid certificate. manner
   specified in Section 7.1.  This PKI structure validation procedure differs from
   that described in section 6 of [RFC5280], such that:
   o  additional validation processing imposed by the INR extensions is termed here
      required,
   o  a "Resource PKI" (RPKI).

   Validation conformation of a public key match between the CRL issuer and
      the Resource Certificate issuer is required, and
   o  the Resource Certificate is required to conform to this profile.

   This profile defines those fields that are used in such a hierarchical PKI can Resource
   Certificate that MUST be undertaken by establishing a valid Issuer-Subject certificate
   chain from a certificate issued by a trust anchor certification
   authority to present for the certificate [RFC4158], with to be valid.
   Any extensions not explicitly mentioned MUST be absent.  The same
   applies to 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 CRLs used in the context of the operation of
   secure inter-domain routing protocols to convey a right-of-use of an
   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 unauthorised use of IP addresses.

   This profile defines those fields RPKI, that are used also profiled in a Resource
   Certificate that MUST be present for the certificate to be valid.
   Relying Parties SHOULD check that a Resource Certificate conforms this
   document.  A CA conforming to the RPKI CP MUST issue certificates and
   CRLs consistent with this profile as a requisite for validation of a Resource Certificate. profile.

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], and "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. [RFC3779].

   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 INRs 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 requires that:

   o  Every Resource Certificates and Certificate MUST contain either the IP Address
      Delegation or the Autonomous System Identifier Delegation
      extension, or both.

   o  These extensions MUST be marked as CRITICAL.

      2.  RFC 3779 defines a

   o  The sorted canonical form of format describing a
          resource set, INRs, with maximal spanning
      ranges and maximal spanning prefix masks masks, as appropriate.  All valid certificates defined in this profile [RFC3779],
      MUST use this sorted canonical form of
          resource description in be used for the resource extension field.

      3.  A test of field, except where the resource extension
      "inherit" construct is used instead.

   When validating a Resource Certificate, a RP MUST verify that the
   INRs described 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 Issuer's Resource Certificate encompass the resource set
   INRs of the issued
          certificate. Resource Certificate being validated.  In this context
   "encompass" allows for the Issuer's resource set INRs 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. Subject's INRs.

3.  End-Entity (EE) Certificates and Signing Functions in the RPKI

   As noted in [ID.sidr-arch], the primary function of End-Entity (EE)
   certificates in the RPKI is the verification of signed objects that
   relate to the usage of the resources INRs described in the certificate, e.g., ROAs
   Route Origin Authorizations (ROAs) and manifests.  There are type two
   types of EE certificates defined within the RPKI framework, described in the following
   sections. framework: single-
   use and multi-use.

3.1.  Single-Use EE Certificates

   A signing party can exercise control over the validity of the signed
   object through control of the validity of the

   The private key associated with a "single-use" EE certificate as long as there is used
   to sign a 1:1 relationship between the single RPKI signed
   object and the EE certificate, or, in other words, assuming the
   private key of the key pair whose public key is the Subject Public
   Key of object, i.e., the single-use EE
   certificate is used to sign exactly validate only one object, and
   each such object object.  The certificate is
   embedded in the object as part of a Cryptographic Message Syntax
   (CMS) signed with only one private key.  This property
   allows for data structure [ID.sidr-signed-object].Because of the RPKI itself to be used to control
   one-to-one relationship between the single-use EE certificate and the validity of
   these
   signed objects, rather than creating a novel object-specific
   validation control mechanism.  Upon object, revocation of the certificate effectively revokes the
   corresponding signed object.

3.2.  Multi-Use EE certificate, Certificates

   If the signature on that object will be considered
   invalid, and any attestations made in the context of the signed
   object can no longer be considered valid, assuming that a RP's
   assessment of validity of a signed object is based upon a verifiable
   signature.

   EE certificates that are used to control the validity of a single
   signed object in this manner are termed "single-use" EE certificates
   in this specification.

3.2.  Multi-Use EE Certificates

   It is not a requirement that all EE certificates in the RPKI be used
   in the context of "single-use" as described in the previous section.
   The private key of a key pair whose public key is the Subject Public
   Key of associated with an EE certificate may is intended to
   be used to sign multiple objects, either
   simultaneously or serially.  In such a context the validity of the validate more than one RPKI signed object may need to be specified by an alternate mechanism,
   unless it is the explicit intent of the signer that the validity of object, then the collection of all objects signed with a particular private key
   certificate is
   controlled by the validity of the associated termed a "multi-use" EE certificate.

   When keys are used in a manner  All objects that allows for the signing of
   multiple objects, the associated
   can be verified under a multi-use EE certificates certificate are termed "muti-
   use" EE certificates in this specification. revoked when the
   certificate is revoked.

4.  Resource Certificate Fields Certificates

   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.  Only the differences from [RFC5280] are
   noted below.

   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
   here, this value MUST be used in conforming Resource Certificates.

4.1.  Version

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

   RPs need not process version 1 or version 2 certificates (in contrast
   to [RFC5280]).

4.2.  Serial number

   The serial number value is a positive integer that is unique for each
   certificate issued by a given CA.

4.3.  Signature Algorithm

   This field describes the algorithm used to compute the signature on
   this certificate.

   The algorithm used in this profile is specified in
   [ID.sidr-rpki-algs].

4.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.

   If the certificate is a subordinate certificate issued by virtue

   An Issuer name MUST contain one instance of the "cA" bit set in the immediate superior certificate, then Common Name attribute
   and MAY contain one instance of the
   Issuer name Serial Number attribute.  If both
   attributes are present, it is RECOMMENDED that they appear as a set.
   The Common Name attribute MUST correspond be encoded as a printable string.
   Issuer names are not intended to be descriptive of the Subject name as contained identity of
   Issuer.

   The RPKI does not rely on Issuer names being globally unique, for
   reasons of security.  However, it is RECOMMENDED that Issuer names be
   generated in a fashion that minimizes the
   immediate superior certificate. likelihood of collisions.
   See Section 8 for (non-normative) suggested name generation
   mechanisms that fulfil this recommendation.

4.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, and is
   subject to the same constraints as the Issuer name.

   In this profile the RPKI the Subject name is determined by the Issuer, and
   each not
   proposed by the subject [ID.sidr-repos-struct].  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 Subject's key pair has changed.

   As noted in [ID.sidr-arch], RPKI certificates do not attest to
   changed (i.e., when the
   identity CA issues a certificate as part of rekeying
   the Subject, inferring that the Subject.)  Subject names used in
   certificates are not intended to be descriptive of
   the identity of Subject.

4.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, the RPKI 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 SHOULD NOT attempt to infer from this
   time information that 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.

4.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 current
   resource allocation / or assignment arrangement between the Issuer and
   the Subject.  As per Section 4.1.2.5 of [RFC5280], CAs
   conforming

   It is valid for a certificate to have a value for 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 field that
   post-dates the same field value in any superior certificate.  The
   same caveats apply to Relying Party's RP'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 MAY have valid grounds to issue a
   certificate with a validity interval that exceeds the validity
   interval of its certificate.

4.8.  Subject Public Key Info

   This field specifies the Subject's public key and the algorithm with
   which the key is used.

   The algorithm used in this profile is specified in
   [ID.sidr-rpki-algs].

4.9.  Resource Certificate Version 3 Extension Fields

   As noted Extensions

   The following X.509 V3 extensions MUST be present in Section 4.2 of [RFC5280], each a conforming
   Resource Certificate, except where explicitly noted otherwise.  Each
   extension in a resource certificate is designated as either critical
   or non-critical.  A certificate-
   using certificate-using system MUST reject the
   certificate if it encounters a critical extension it does not
   recognise; however, a non-critical extension MAY be ignored if it is
   not recognised [RFC5280].

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

4.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.

4.9.2.  Subject Key Identifier

   The Issuer determines whether the "cA" boolean is set.

   The Path Length Constraint is not specified for RPKI certificates,
   and MUST NOT be present.

4.9.2.  Subject Key Identifier extension provides a means of identifying
   certificates that contain a particular public key.  To facilitate
   certification path construction, this

   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 for resource certificates 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].

4.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

   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 for resource certificates 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].

4.9.4.  Key Usage

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

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

   In EE certificates the digitalSignature bit MUST be set to TRUE and
   MUST be the only bit set to TRUE.

4.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 (EKU) extension MUST NOT appear in any Certification Authority CA
   certificate in the RPKI.  This extension also MUST NOT appear in EE
   certificates used to verify RPKI objects such as (e.g., ROAs or manifests.
   The extension MUST NOT be marked critical.

   The EKU extension MAY appear in EE 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.

4.9.6.  CRL Distribution Points

   This field extension MUST be present, except in "self-signed" certificates,
   and it is non-critical.  In a self-signed certificate this extension
   MUST be omitted.

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

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

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

   The distributionPoint MUST contain GeneralNames, the fullName field, 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.

   The sequence of distributionPoint values MUST contain only a single
   DistributionPointName set.
   DistributionPoint.  The DistributionPointName set DistributionPoint MAY contain more than one
   URI value.  An RSYNC URI [RFC5781]MUST [RFC5781] MUST be present in the DistributionPointName set,
   DistributionPoint, and reference the most recent instance of this
   Issuer's certificate revocation list. CRL.  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. URI, representing alternate access mechanisms for this CRL.

4.9.7.  Authority Information Access

   This

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

   This profile uses a URI form of object identification.  The preferred
   URI access mechanisms is "rsync", and an RSYNC URI [RFC5781] 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,

   A CA Certificate Issuers SHOULD MUST use a persistent URL name scheme for issued certificates. CA certificates that
   it issues [ID.sidr-repos-struct].  This implies that a re-issued certificates overwrite
   certificate overwrites a previously issued certificates
   to certificate (to the same Subject
   Subject) in the publication repository, and use the same
   publication name as previously issued certificates. repository.  In this way
   subordinate certificates
   subordinate to the re-issued (CA) certificate can maintain a constant AIA field value
   Authority Information Access (AIA) extension pointer and thus 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 when the Issuer's
   Certification Practice Statement.

   This extension parent certificate is non-critical. re-issued.

4.9.8.  Subject Information Access

   This

   In the context of the RPKI, this extension (SIA) identifies the location
   publication point of information and
   services relating to products signed by the Subject of the certificate in which the
   certificate.

4.9.8.1.  SIA for CAs

   This extension appears.  Where the Subject MUST be present, and is non-critical.

   This extension MUST have an instance of an accessMethod of id-ad-
   caRepository, with an accessLocation form of a CA in this profile, URI that MUST specify
   an RSYNC URI [RFC5781].  This URI points to the directory containing
   all material issued by this
   information and service collection will include CA. i.e., all current valid CA certificates,
   multi-use EE certificates, the current CRL, manifest and signed
   objects signed by single-use EE 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 [RFC5781]
   MUST be specified, CA [ID.sidr-repos-struct].  Other accessDescription elements
   with an accessMethod value of id-ad-caRepository
   when the Subject of MAY be present.  In such
   cases, the certificate is a CA.  The RSYNC accessLocation values describe alternate supported URI MUST
   reference an object collection rather than an individual object and
   MUST use a trailing '/' in the URI.

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

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

   For 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 have an instance 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 AccessDescription with the matching private key in a repository publication point, the
   URI of the directory where these signed objects are published is used
   as the value an
   accessMethod of the id-ad-signedObjectRepository element. id-ad-rpkiManifest,

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

          id-ad-signedObjectRepository

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

   When the Subject is an End-Entity, and it publishes a single object
   signed

   with the matching private key, the an RSYNC URI [RFC5781] form of accessLocation.  The URI points
   to the location where
   this signed object is CA's manifest of published is used objects [ID.sidr-rpki-manifests] as
   an object URL.  Other accessDescription elements MAY exist for the
   id-ad-rpkiManifest accessMethod, where the accessLocation value of
   indicates alternate access mechanisms for the id-ad-
   signedObject element.

          id-ad-signedObject same manifest object.

4.9.8.2.  SIA for Multi-use EEs

   This extension MUST be present, and is non-critical.

   This extension MUST have an instance of an accessMethod of id-ad-
   signedObjectRepository,
         id-ad-signedObjectRepository OBJECT IDENTIFIER ::= { id-ad 11 9 }

   This profile requires the use

   with an accessLocation form of repository publication manifests
   [ID.sidr-manifests] a URI that MUST specify an RSYNC URI
   [RFC5781].  This URI points to list the directory containing all signed
   objects that are deposited verified using this EE certificate
   [ID.sidr-repos-struct].  Other accessDescription elements MAY exist
   for the id-ad-signedObjectRepository accessMethod, where the
   accessLocation value indicates alternate supported access mechanisms
   for the same directory, ordered in terms of the repository publication point associated EE's relative
   preference for supported access mechanisms.

   This extension MUST have an instance of an AccessDescription with a CA or an EE.  The
   publication point
   accessMethod of id-ad-rpkiManifest, with the manifest for a CA or EE is placed in same specification as
   the CA's manifest.

4.9.8.3.  SIA for Single-use EEs

   This extension of the CA or EE certificate. MUST be present, and is non-critical.

   This profile uses a URI extension MUST have an instance of an accessMethod of id-ad-
   signedObject,

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

   with an accessLocation form of manifest identification for the accessLocation.  The preferred a URI
   access mechanisms is "rsync", and an that MUST include a RSYNC URI [RFC5781] MUST be
   specified.
   [RFC5781].  This URI points to the signed object that is verified
   using this EE certificate [ID.sidr-repos-struct].  Other
   accessDescription fields elements may exist for the id-ad-
   rpkiManifest id-ad-signedObject
   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 object, ordered in the SIA an accessMethod OID terms 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 EE's
   relative preference for use in verifying multiple
   objects, EE certificate supported access mechanisms.

   Other AccessMethods 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 NOT be used to verify for 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. single-use EE's SIA.

4.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, present, and MUST
   NOT be included marked critical.  It MUST
   include exactly one policy, as specified in this extension.

   This extension the RPKI CP [ID.sidr-cp]

4.9.10.  IP Resources

   Either the IP Resources extension, or the AS Resources extension, or
   both, MUST be present in all RPKI certificates, and it is if present, MUST
   be marked critical.

4.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

   This extension MUST
   include an either specify a non-empty set IP Resources extension, an address
   records, or use the "inherit" setting to indicate that the IP address
   resource set of this certificate is inherited from that of the
   certificate's issuer.

4.9.11.  AS Resources extension, or both
   extensions.

   This extension, if present, MUST be marked critical.

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

4.9.11.  AS Resources certificates, and if present, MUST
   be marked critical.

   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

   This extension MUST include an IP Resources extension, an either specify a non-empty set AS Resources
   extension, number records,
   or both extensions.

   This extension, if present, MUST be marked critical.

   Either use the IP Resources extension, or "inherit" setting to indicate that the AS Resources extension, or
   both, MUST be present in all RPKI certificates. number resource
   set of this certificate is inherited from that of the certificate's
   issuer.

5.  Resource Certificate Revocation List Profile Lists

   Each CA MUST issue a version 2 Certificate Revocation List (CRL),
   consistent with [RFC5280].  RPs are NOT required to process version 1
   CRLs (in contrast to [RFC5280]).  The CRL Issuer is the CA, and no indirect CA.  CRLs are supported in
   conforming to this profile.

   An entry profile 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 include Indirect or Delta CRLs.
   The scope of the each CRL MUST be "all 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

   The Issuer name is as in the CRL. Section 4.4 above.

   Where two or more CRLs issued by a
   single CA with the same scope, CA, the CRL with the
   highest value of the "CRL Number" field supersedes all other CRLs
   issued by this CA.

5.1.  Version

   Resource Certificate Revocation Lists are Version 2 certificates (the
   integer value of

   The algorithm used in CRLs issued under this field profile is 1).

5.2.  Issuer Name specified in
   [ID.sidr-rpki-algs].

   The value contents of this field is the X.501 name CRL are a list of all non-expired certificates
   that have been revoked by the issuing CA.

   An RPKI CA who is
   also the signer of MUST include the CRL, two extensions Authority Key Identifier
   and is identical to the Issuer name CRL Number in
   the Resource Certificates every CRL that it issues.  RPs MUST be prepared to
   process CRLs with these extensions.  No other CRL extensions are issued by this Issuer.

5.3.  This Update

   This field contains
   allowed.

   For each revoked resource certificate only the date two fields Serial
   Number and time that this CRL was issued.  The
   value of this field Revocation Date 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.

5.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, present, and MUST be encoded as GeneralizedTime for dates in
   the year 2050 or later.

5.5.  Signature

   This field contains the algorithm used to sign this CRL.  The
   algorithm used in this profile is specified in [ID.sidr-rpki-algs].

5.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 all other fields MUST
   NOT be present.  No CRL entry extensions are supported in this
   profile, and CRL entry extensions MUST NOT be present in a CRL.

5.6.1.  Serial Number

   The serial number of the revoked certificate.

5.6.2.  Revocation Date

   The time the

6.  Resource Certificate Requests

   A resource certificate was revoked.  This time MUST NOT be a future
   date (i.e., a date later than ThisUpdate).  The value request MAY use either 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 PKCS#10 or later.

5.7.  CRL Extensions

   The X.509 v2 CRL format allows extensions to be placed
   Certificate Request Message Format (CRMF).  A CA MUST support
   certificate issuance in PKCS#10 and a CRL.  The
   following extensions are supported CA MAY support CRMF requests.

   Note that there is no certificate response defined in this profile, profile.
   For CA certificate and MUST be
   present in a CRL.

5.7.1.  Authority Key Identifier

   The authority key identifier extension provides a means of
   identifying multi-use EE certificate requests, the public key corresponding to CA
   places the private key used to
   sign a CRL.  Conforming CRL Issuers MUST use Resource Certificate in the key identifier
   method.  The syntax for this CRL extension repository, as per
   [ID.sidr-cp].  No response is defined in section
   4.2.1.1 of [RFC5280].

   This extension is non-critical.

5.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.

6.  Resource Certificate Request Profile

   A resource certificate request MAY use either of PKCS#10 or single-use EE 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.
   requests.

6.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, SubjectPublicKeyinfo and the SIA extension
   request, the CA is permitted to alter any requested field in the request when
   issuing a corresponding certificate.

6.1.1.  PKCS#10 Resource Certificate Request Template Fields

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

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

      Subject
         This field is optional. MAY be omitted.  If present, the value of this field
         SHOULD be empty, empty (i.e., NULL), in which case the Issuer CA 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 CA.  This field as the
         Subject's suggested Subject name, but the CA is NOT bound allowed to
         honour this suggestion, as the Subject name MUST be unique per
         subordinate CA
         non-empty only for a rekey/reissuance request, and EE only if the
         CA has adopted a policy (in its Certificate Practice Statement
         (CPS)) that permits name reuse in certificates issued by this Issuer. these circumstances.

      SubjectPublicKeyInfo
         This field specifies the Subject's public key and the algorithm
         with which the key is used.  The algorithm used in this profile
         is specified in [ID.sidr-rpki-algs].

      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
         certificate Extensions.  The profile for extensions in
         certificate requests is specified in Section 6.3.

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

      signatureAlgorithm
         The algorithm used in this profile signatureAlgorithm value is specified in
         [ID.sidr-rpki-algs].

6.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. certificate issuance.

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

6.2.1.  CRMF Resource Certificate Request Template Fields

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

      Version

      version
         This field MAY SHOULD be absent, or MAY omitted.  If present, it MUST specify the a
         request of for a Version 3 Certificate.  It SHOULD

      serialNumber
         This field MUST be omitted.

      SerialNumber
         As per [RFC4211], this

      signingAlgorithm
         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.

      Issuer omitted.

      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. MAY be omitted.  If present, the value of this field
         SHOULD be empty, empty (i.e., NULL), in which case the Issuer CA 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 CA.  This field as the
         subject's suggested subject name, but the CA is NOT bound allowed to
         honour this suggestion, as be
         non-empty only for a rekey/reissuance request, and only if the subject
         CA has adopted a policy (in its CPS) that permits name MUST be unique per
         Issuer reuse in certificates issued by this Issuer.
         these circumstances.

      PublicKey
         This field MUST be present.

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

6.2.2.  Resource Certificate Request Control Fields

   The following control fields are supported in this profile:

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

6.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:

      BasicConstraints
         If this is omitted then the CA will issue an EE certificate
         with the
         (hence no BasicConstraints extension not present in the issued
         certificate. will be included).

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

         The CA MAY honour the SubjectType CA bit cA boolean if set to on. true (CA certificate
         request).  If this bit is set, then it indicates that the
         Subject is allowed to
         issue resource certificates within this overall framework. requesting a CA certificate.

         The CA MUST honour the SubjectType CA cA bit if set to off false (EE certificate
         request), in which case the corresponding end
         entity EE certificate will
         not contain a BasicConstraints Basic Constraints 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 honour 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 honour 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, present, and the field value SHOULD be
         honoured by the CA. CA if it conforms to the requirements set forth
         in Section 4.9.8.  If the CA is not
         able unable to honour the requested field value,
         value for this field, then the CA MUST reject the Certificate
         Request.

7.  Resource Certificate Validation

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

         Where Resource Certificate validation procedure.
   This refines the Subject is a CA generic procedure described in this profile, this information and
         service collection will include all current valid certificates
         that have been issued by this Subject that section 6 of
   [RFC5280].

7.1.  Resource Extension Validation

   The IP Resources and AS Resources extensions definitions [RFC3779]
   define critical extensions for INRs.  These are signed with ASN.1 encoded
   representations of the
         Subject's corresponding private key.

         This profile uses IPv4 and IPv6 address range and an AS number
   set.

   Valid Resource Certificates MUST have a URI form of location identification.  An
         RSYNC URI [RFC5781] valid IP address and/or AS
   number resource extension.  In order to validate a Resource
   Certificate the resource extension MUST also be specified, with an accessMethod
         value validated.  This
   validation process relies on definitions of id-ad-caRepository when the Subject comparison of the certificate resource
   sets:

      more specific
         Given two IP address or AS number contiguous ranges, A and B, A
         is a CA.  The RSYNC URI MUST reference an object collection
         rather "more specific" than an individual object B if range B includes all IP addresses
         or AS numbers described by range A, and MUST use a trailing '/' in
         the URI.  Other accessMethod URIs that reference 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
         location MAY also be included in the value sequence
         collection of this
         extension. IP addresses or AS numbers as described by range
         B. The ordering definition of URIs "inheritance" in [RFC3779] is equivalent
         to this sequence reflect the
         Subject's relative preferences "equality" comparison.

      encompass
         Given two IP address and AS number sets X and Y, X
         "encompasses" Y if, 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 honoured by the CA.  If the
         CA is not able to honour the requested field value, then the CA
         MUST reject the Certificate Request.  If it is not present the
         CA SHOULD honour this request and omit the SIA from the issued
         certificate.  If the CA is not able to honour 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.

         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.

7.  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.

7.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
   (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 numbered {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 every contiguous range 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 IP addresses
         or AS numbers elements in set Y, the trust anchor information "encompass" the resources described in
   certificate '1'.

7.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' range element is either
         "more specific" than or "equal" to a
   certificate that has been issued by a trust anchor, and 'n' is the
   target certificate) verifying that all of the following conditions
   hold:

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

      2.  The current time lies contiguous range element
         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 set X.

   Validation of Certificate 'x' a certificate's resource extension in the context of a
   Certification Path matches the Issuer (see Section 7.2 entails that for every adjacent
   pair of certificates in Certificate ('x' the certification path (certificates 'x' and
   'x + 1)
          in 1'), the Certification Path.

   A number resources described in certificate validation algorithm may perform these tests 'x'
   "encompass" the number resources described in any
   chosen order.

   Certificates certificate 'x + 1',
   and CRLs used the resources described in this process may be found the trust anchor information
   "encompass" the resources described in a locally
   maintained cache, maintained by a regular synchronisation across the
   distributed publication repository structure.

   There exists first certificate in the possibility
   certification path.

7.2.  Resource Certification Path Validation

   Validation of encountering signed resource data using a target resource
   certificate paths that
   are arbitrarily long, or attempting to generate paths with loops as
   means consists of creating a potential DOS attack on a relying party.  Some
   further heuristics may be required to halt verifying that the certification path
   validation process in order to avoid some digital signature of the issues associated
   with attempts to validate such structures.  It
   signed resource data 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.

8.  Design Notes

   The following notes provide some additional commentary on valid, using the
   considerations that lie behind some public key of the design choices that were
   made in target
   resource certificate, and also validating the design of this resource certificate profile.  These notes do not
   constitute a formal part in
   the context of the profile specification, and RPKI, using the
   interpretation of key words as defined in RFC2119 are not applicable
   in this section path validation process.  This
   path validation process verifies, among other things, that a
   prospective certification path (a sequence of n certificates)
   satisfies the document.

   Certificate Extensions:
         This profile does not permit following conditions:

      1.  for all 'x' in {1, ..., n-1}, the use Subject of any other critical or
         non-critical extensions.  The rationale for this restriction certificate 'x'
          is
         that the resource Issuer of certificate profile ('x' + 1);

      2.  certificate '1' is intended for issued by a
         specific use, and in this context it trust anchor;

      3.  certificate 'n' is not seen as being
         appropriate the certificate to be validated; and

      4.  for all 'x' in the position of having certificates with
         additional non-critical extensions {1, ..., n}, certificate 'x' is valid.

   Certificate validation entails verifying that relying parties may see
         as valid certificates without understanding the extensions, but
         were all of the relying party following
   conditions hold, in a position addition to understand the
         extensions, would contradict or qualify Certification Path Validation
   criteria specified in some way this
         original judgment of validity.  This profile takes the position Section 6 of minimalism over extensibility. [RFC5280]:

      1.  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 can be verified using the allocation Issuer's public key
          and
         its context the signature algorithm

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

      3.  The profile certificate contains all fields that MUST be present, as
          defined by this specification, and contains values for
          selected fields that are defined as allowable values by this
          specification.

      4.  No field, or field value, that this specification defines a resource as
          MUST NOT be present is used in the certificate.

      5.  The Issuer has not revoked the certificate.  A revoked
          certificate that is structured
         to meet these requirements.

   Certification Authorities and Key Values:
         This profile uses a definition of an instance of a CA identified by the certificate's serial number
          being listed on the Issuer's current CRL, as a
         combination of a named entity and a key pair.  Within this
         definition a CA instance cannot rollover a key pair.  However, identified by the entity can generate a new instance
          CRLDP of a CA with a new key
         pair the certificate, the CRL is itself valid, and roll over all the signed subordinate products
          public key used to verify the signature on 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 is the Issuer should ensure that when an
               entity requests a certificate with a new same
          public key pair, used to verify the CA
               issues a certificate with a new Subject name.  One way to
               achieve this itself.

      6.  That the resource extension data is to use "encompassed" by the
          resource extension data contained in a commonName field value that valid certificate where
          this Issuer is
               unique per subordinate entity, using an algorithm the Subject (the previous certificate in the
          context of the
               CA's devising to ensure this uniqueness, ordered sequence defined by the Certification
          Path).

      7.  The Certification Path originates with a certificate issued by
          a trust anchor, and for there exists a signing chain across the CA
               to include
          Certification Path where the serialNumber field value Subject of Certificate 'x' in the X.501
               distinguished name structure, with a serial number value
               that is derived from
          Certification Path matches the Issuer in Certificate 'x + 1'
          in the hash of Certification Path, and the subject public key
               value.  Using an informal description of an ASN.1 data
               structure, a Subject name in Certificate
          'x' can be constructed verify the signature value in this
               manner as a Subject consisting of a SET whose elements
               are a SEQUENCE of a single serialNumber Certificate 'x+1'.

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

   Certificates and a SEQUENCE of
               a single commonName.

               It should also be noted that conventions are imposed on
               Subject names CRLs 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 process MAY be found in a CA issues locally
   maintained cache, maintained by a
               single CRL sequence, and the scope of regular synchronisation across the CRL is all
               certificates issued by this CA.  Because
   distributed publication repository structure [ID.sidr-repos-struct].

   There exists the CA instance
               is bound possibility of encountering certificate paths that
   are arbitrarily long, or attempting to generate paths with loops as
   means of creating a single key pair potential DOS attack on a RP.  A RP executing
   this implies that procedure MAY apply further heuristics to guide halting the CA's
               public key,
   certification path validation process in order to avoid some of the key used
   issues associated with attempts to validate such malformed
   certification path structures.  Implementations of Resource
   Certificate validation MAY halt with a validation failure if the CA's CRL, and
   certification path length exceeds a locally defined configuration
   parameter.

8.  Design Notes

   The following notes provide some additional commentary on the key used to validate
   considerations that lie behind some of the certificates revoked by design choices that
               CRL are all were
   made in the same.

         Repository Publication Point:
               The definition design of this certificate profile.  These notes are non-
   normative, i.e. this section of a CA affects the design document does not constitute a
   formal part of the
               repository publication system.  In order to minimize profile specification, and the
               amount interpretation 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 words as defined in RFC2119 are not applicable in this section of
   the same entity, but with different key values
               will minimize document.

   Certificate Extensions:
         This profile does not permit the extent of re-generation use of certificates
               to only immediate subordinate certificates.

               In order for two any other critical 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
         non-critical extensions.  The rationale for as long as this restriction is
         that the OLD
               CA instance resource certificate profile is still valid, and issue EE certificates as
               necessary to maintain intended for a current manifest of all OLD CA
               published products, but
         specific define use.  In this context it should is not sign any other
               products.  The CURRENT CA should publish its CRL, and
               should publish all subordinate products, as well as
               issuing EE certificates seen as necessary being
         appropriate to maintain a
               current manifest be in the position of all CURRENT CA published products.
               FUTURE CAs should publish no products at all having certificates with
         additional non-critical extensions that RPs may see as valid
         certificates without understanding the extensions, but were the
         RP in a position to understand the
               repository publication point.  It extensions, would be consistent
               with contradict
         or qualify in some way this repository object name framework original judgment of validity.
         This profile takes the position of minimalism over
         extensibility.  The specific goal for the CRL
               and manifest associated RPKI is to be published using object names derived
               from
         precisely match the hash of INR allocation structure through an aligned
         certificate structure that describes the public key value of allocation and its
         context within the CA instance.

   Key Rollover:
         As INR distribution hierarchy.  The profile
         defines a CA instance resource certificate that is associated with structured to meet these
         requirements.

   Certification Authorities and Key Values:
         This profile uses a single key pair, there
         are some considerations regarding the procedure that should be
         followed by definition of an entity performing a key rollover function.  The
         entity will need to create instance of a new CA instance as a
         combination of a named entity and then use a key pair.  Within this
         new
         definition a CA instance to re-issue all subordinate products with the
         new CA instance.

         To perform cannot rollover a key rollover operation pair.  However,
         the entity will need to:

               1.    Generate can generate a NEW key pair.

               2.    Generate new instance of a certificate request CA with the NEW a new key
         pair and pass roll over all the request signed subordinate products to the entity's immediate
                     superior
         new CA as the certificate Issuer.

               3.    Request the entity's Issuer to generate and publish [ID.sidr-keyroll].

         This has a NEW CA certificate, with an issuer-selected
                     Subject name that is distinct from the Subject name
                     used number of implications in conjunction with the previous terms of 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,
         management, CRL Scope and publish those products in the same repository publication point
         management.

   CRL Scope and with the same repository
                     publication point name as the previous OLD
                     subordinate Key Values:
         For CRL Scope this profile specifies that a CA and EE certificates.  The keys in
                     these reissued certificates must not change.

               6.    Where the signing structure uses issues a packaging format
                     that includes single
         CRL at a time, and the EE certificate within scope of the signed
                     data, signed objects that included OLD EE CRL is all certificates in their signed data will need to be
                     re-signed using an EE certificate
         issued by the
                     CURRENT this CA.  In the case where  Because the OLD EE
                     certificate CA instance is bound to a "single use" EE certificate
         single key pair this implies that the CA's public key, the key
         used to validate the CA's CRL, and the associate private key has been destroyed this
                     will entail used to validate the generate
         certificates revoked by that CRL are all the same key value.

   Repository Publication Point:
         The definition of a new key pair, CA affects the
                     issuing design of an EE certificate by the CURRENT CA. repository
         publication system.  In order to minimize the case amount of forced
         re-certification on key rollover events, a "multi-use" EE certificate, the EE
                     certificate should be 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
         publication point, using regime that uses 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 all CA certificate and pass it instances that refers to the entity's
                     Issuer.

               8.    Remove all published OLD CA products and destroy same entity, but
         with different key values will minimize the OLD private key.

   Name Uniqueness: extent of re-
         generation of certificates to only immediate subordinate
         certificates.  This is described in [ID.sidr-keyroll].

   Subject Name:
         This profile specifies that Subject names must be unique per
         Issuer, and does not specify that Subject names must be
         globally unique.

         Given that unique (in terms of assured uniqueness).  This is due
         to the nature of the RPKI is as a distributed PKI, implying that
         there is no inherent ready ability for Certification authorities to
         coordinate PKI-wide a simple RPKI-wide unique Subject names.  CA's should name space without
         resorting to additional critical external dependencies.  CAs
         are advised to use multi-attribute,
         structured Subject names in their RPKI certificates.  This
         advice name generation procedures that
         minimize the potential for name clashes.

         One way to achieve this is motivated by for a desire CA to include within this
         specification use a CA's Subject naming name
         practice that uses a
         distinguished name the CommonName component that is of the
         Distinguished Name as a constant value for any given entity
         that is the Subject of CA-issued certificates (the
         CommonName certificates, and set the
         serialNumber component of the Distinguished Name), yet still
         ensure Name to a value
         that is derived from the structures Subject name changes whenever
         Subject hash of the subject public key rollover occurs (the serial number value.

         If the CA elects not to use the serialNumber component of the
         Distinguished Name).  Also,
         DistinguishedName, then it is considered beneficial that a CA
         generates CommonNames that have themselves a random component
         that includes significantly more than 40 bits of entropy in the
         name.  Some non-normative recommendations to achieve this
         include:

         1)    Hash of the subject public key (encoded as ASCII HEX).
               example: cn="999d99d564de366a29cd8468c45ede1848e2cc14"

         2)    A Universally Unique IDentifier (UUID) [RFC4122]
               example: cn="6437d442-6fb5-49ba-bbdb-19c260652098"

         3)    A randomly generated ASCII HEX encoded string of length
               20 or greater:
               example: cn="0f8fcc28e3be4869bc5f8fa114db05e1">
               (A string of 20 ASCII HEX digits would have 80-bits of
               entropy)

         4)    An internal database key or subscriber ID combined with
               one of the publication repository is
         distributed, above
               example: cn="<DBkey1> (6437d442-6fb5-49ba-bbdb-
               19c2606520980)"
               (The issuing CA may wish to be able to extract the
               database key or subscriber ID from the commonName.  Since
               only the issuing CA would need to be able to parse the
               commonName, the database key and distinct entities use distinct repository
         publication points the source of entropy
               (e.g., a UUID) could be separated in any potential ambiguity is resolved by way that the
         distinct publication point. CA
               wanted, as long as it conformed to the rules for
               PrintableString.  The separator could be a space
               character, parenthesis, hyphen, slash, question mark,
               etc.

9.  Security Considerations

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

   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 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.

   This profile requires that the key used to sign an issued certificate
   is the same key used to sign the CRL that can revoke the certificate,
   implying that the certificate path used to validate a signature on a
   certificates is the same
   resource.  If the issuance of resource certificates is aligned as that used to validate a signatures the
   status
   CRL that revokes the certificate.  It is noted that this is a higher
   constraint than required in X.509 PKIs, and there may be a risk in
   using a path validation implementation that is capable of resource allocations using
   separate validation paths for a certificate and assignments then the information
   conveyed corresponding
   CRL.  If there are subject name collisions in the RPKI as a certificate result of
   CAs not following the guidelines provided here relating to ensuring
   sufficient entropy in constructing subject names, and this is no better than
   combined with the information situation that an RP uses an implementation of
   validation path construction that is not in conformance with this
   RPKI profile, then it is possible that the
   allocation and assignment databases. subject name collisions
   can cause an RP to conclude that an otherwise valid certificate has
   been revoked.

10.  IANA Considerations

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

11.  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< 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.

12.  References

12.1.  Normative References

   [ID.sidr-cp]
              Kent, S., Kong, D., Seo, K., and R. Watro, "Certificate
              Policy (CP) for the Resource PKI (RPKI)", Work in
              progress: Internet Drafts draft-ietf-sidr-c-13.txt,
              September 2010.

   [ID.sidr-rpki-algs]
              Huston, G., "A Profile for Algorithms and Key Sizes for
              use in the Resource Public Key Infrastructure", Work in
              progress: Internet
              Drafts draft-ietf-sidr-rpki-algs-00.txt, August 2009.

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

   [RFC2050]  Hubbard, K., Kosters, M., Conrad, D., Karrenberg, D.,

   [RFC2986]  Nystrom, M. and
              J. Postel, "INTERNET REGISTRY IP ALLOCATION GUIDELINES",
              BCP 12, B. Kaliski, "PKCS #10: Certification
              Request Syntax Specification Version 1.7", RFC 2050, 2986,
              November 1996. 2000.

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

   [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
              (CRL) Profile", RFC 5280, May 2008.

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

12.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]

   [ID.sidr-keyroll]
              Huston, G., Michaelson, G., and S. Kent, "CA Key Rollover
              in the RPKI", draft-ietf-sidr-keyroll-02.txt (work in
              progress), October 2010.

   [ID.sidr-repos-struct]
              Huston, G., Loomans, R., and G. Michaleson, "A Profile for
              Resource Certificate Repository Structure",
              draft-ietf-sidr-repos-struct-04.txt (work in progress),
              May 2010.

   [ID.sidr-rpki-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.

   [ID.sidr-signed-object]
              Lepinski, M., Chi, A., and S. Kent, "Signed Object
              Template for the Resource Public Key Infrastructure",
              draft-ietf-sidr-signed-object-01.txt (work in progress),
              October 2010.

   [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,

   [RFC4122]  Leach, P., Joseph, S., Mealling, M., and R.
              Nicholas, "Internet X.509 Public Key Infrastructure:
              Certification Path Building", Salz, "A Universally
              Unique IDentifier (UUID) URN Namespace", RFC 4158, September 4122,
              July 2005.

   [RFC5781]  Weiler, S., Ward, D., and R. Housley, "The rsync URI
              Scheme", RFC 5781, February 2010.

Appendix A.  Example Resource Certificate

   The following is an example Resource Certificate.

   Certificate Name: 9JfgAEcq7Q-47IwMC5CJIJr6EJs.cer

   Data:
     Version: 3 (0x2( (0x2)
     Serial: 1500 (0x5dc)
     Signature Algorithm: SHA256WithRSAEncryption
     Issuer: CN=APNIC Production-CVPQSgUkLy7pOXdNeVWGvnFX_0s
     Validity
      Not Before: Oct 25 12:50:00 2008 GMT
       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
             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.

   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

Authors' Addresses

   Geoff Huston
   Asia Pacific Network Information Centre
   APNIC

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

   George Michaelson
   Asia Pacific Network Information Centre
   APNIC

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

   Robert Loomans
   Asia Pacific Network Information Centre
   APNIC

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