TOC 
SIDRG. Huston
Internet-DraftG. Michaelson
Intended status: Standards TrackR. Loomans
Expires: May 21, 2009APNIC
 November 17, 2008


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

Status of this Memo

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

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

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

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

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

This Internet-Draft will expire on May 21, 2009.

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 profile is used to convey the issuer's authorization of the subject to be regarded as the current holder of a "right-of-use" of the IP addresses and AS numbers that are described in the issued certificate.



Table of Contents

1.  Introduction
    1.1.  Terminology
2.  Describing Resources in Certificates
3.  Resource Certificate Fields
    3.1.  Version
    3.2.  Serial number
    3.3.  Signature Algorithm
    3.4.  Issuer
    3.5.  Subject
    3.6.  Valid From
    3.7.  Valid To
    3.8.  Subject Public Key Info
    3.9.  Resource Certificate Version 3 Extension Fields
        3.9.1.  Basic Constraints
        3.9.2.  Subject Key Identifier
        3.9.3.  Authority Key Identifier
        3.9.4.  Key Usage
        3.9.5.  CRL Distribution Points
        3.9.6.  Authority Information Access
        3.9.7.  Subject Information Access
        3.9.8.  Certificate Policies
        3.9.9.  IP Resources
        3.9.10.  AS Resources
4.  Resource Certificate Revocation List Profile
    4.1.  Version
    4.2.  Issuer Name
    4.3.  This Update
    4.4.  Next Update
    4.5.  Signature
    4.6.  Revoked Certificate List
        4.6.1.  Serial Number
        4.6.2.  Revocation Date
    4.7.  CRL Extensions
        4.7.1.  Authority Key Identifier
        4.7.2.  CRL Number
5.  Resource Certificate Request Profile
    5.1.  PCKS#10 Profile
        5.1.1.  PKCS#10 Resource Certificate Request Template Fields
    5.2.  CRMF Profile
        5.2.1.  CRMF Resource Certificate Request Template Fields
        5.2.2.  Resource Certificate Request Control Fields
    5.3.  Certificate Extension Attributes in Certificate Requests
6.  Resource Certificate Validation
    6.1.  Resource Extension Validation
    6.2.  Resource Certification Path Validation
    6.3.  Trust Anchors for Resource Certificates
        6.3.1.  Distribution Format of Default Trust Anchor Material
7.  Design Notes
8.  Security Considerations
9.  IANA Considerations
10.  Acknowledgements
11.  References
    11.1.  Normative References
    11.2.  Informative References
Appendix A.  Example Resource Certificate
Appendix B.  Example Certificate Revocation List
Appendix C.  Cryptographic Message Syntax Profile for RPKI Trust Anchor Material
    C.1.  Signed-Data ContentType
        C.1.1.  encapContentInfo
        C.1.2.  signerInfos
    C.2.  RTA Validation
§  Authors' Addresses
§  Intellectual Property and Copyright Statements




 TOC 

1.  Introduction

This document defines a standard profile for X.509 certificates [X.509] (ITU-T, “Recommendation X.509: The Directory - Authentication Framework,” 2000.) 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] (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,” May 2008.), and also conform to the constraints specified in this profile. Resource Certificates attest that the issuer has granted the subject a "right-of-use" for a listed set of IP addresses and Autonomous System numbers.

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

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

Validation of a Resource Certificate in such a hierarchical PKI can be undertaken by establishing a valid issuer-subject certificate chain from a certificate issued by a trust anchor certification authority to the certificate [RFC4158] (Cooper, M., Dzambasow, Y., Hesse, P., Joseph, S., and R. Nicholas, “Internet X.509 Public Key Infrastructure: Certification Path Building,” September 2005.), with the additional constraint of ensuring that each subject's listed resources are fully encompassed by those of the issuer at each step in the issuer-subject certificate chain. Validation therefore logically corresponds to validation of an associated set of assignment or allocation actions of IP number resources.

While this profile describes the structure of a default Trust Anchor for this PKI, Relying Parties (RPs) in this PKI are free to select the trust anchors upon which they rely, and thus the PKI as viewed by RPs need not match the public resource allocation hierarchy as described here.

Resource Certificates may be used in the context of the operation of secure inter-domain routing protocols to convey a right-of-use of an IP number resource that is being passed within the routing protocol, allowing relying parties to verify legitimacy and correctness of routing information. Related use contexts include validation of Internet Routing Registry objects, validation of routing requests, and detection of potential unauthorized use of IP addresses.

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



 TOC 

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] (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,” May 2008.), "X.509 Extensions for IP Addresses and AS Identifiers" [RFC3779] (Lynn, C., Kent, S., and K. Seo, “X.509 Extensions for IP Addresses and AS Identifiers,” June 2004.), "Internet Protocol" [RFC0791] (Postel, J., “Internet Protocol,” September 1981.), "Internet Protocol Version 6 (IPv6) Addressing Architecture" [RFC4291] (Hinden, R. and S. Deering, “IP Version 6 Addressing Architecture,” February 2006.), "Internet Registry IP Allocation Guidelines" [RFC2050] (Hubbard, K., Kosters, M., Conrad, D., Karrenberg, D., and J. Postel, “INTERNET REGISTRY IP ALLOCATION GUIDELINES,” November 1996.), and related regional Internet registry address management policy documents.

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



 TOC 

2.  Describing Resources in Certificates

The framework for describing an association between the subject of a certificate and the resources currently under the subject's control is described in [RFC3779] (Lynn, C., Kent, S., and K. Seo, “X.509 Extensions for IP Addresses and AS Identifiers,” June 2004.).

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

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

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

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

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



 TOC 

3.  Resource Certificate Fields

A Resource Certificate is a valid X.509 v3 public key certificate, consistent with the PKIX profile [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,” May 2008.), containing the fields listed in this section. Unless specifically noted as being OPTIONAL, all the fields listed here MUST be present, and any other field MUST NOT appear in a conforming Resource Certificate. Where a field value is specified here this value MUST be used in conforming Resource Certificates.



 TOC 

3.1.  Version

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



 TOC 

3.2.  Serial number

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



 TOC 

3.3.  Signature Algorithm

This field describes the algorithm used to compute the signature on this certificate. This profile specifies a default of SHA-256 with RSA (sha256WithRSAEncryption), and allows for the use of SHA-384 or SHA-512. Accordingly, the value for this field MUST be one of the OID values { pkcs-1 11 }, { pkcs-1 12 } or { pkcs-1 13 } [RFC4055] (Schaad, J., Kaliski, B., and R. Housley, “Additional Algorithms and Identifiers for RSA Cryptography for use in the Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile,” June 2005.).



 TOC 

3.4.  Issuer

This field identifies the entity that has signed and issued the certificate. The value of this field is a valid X.501 name. Conventions are imposed on Issuer names used in resource certificates, as described in [ID.sidr‑arch] (Lepinski, M. and S. Kent, “An Infrastructure to Support Secure Internet Routing,” February 2008.).

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



 TOC 

3.5.  Subject

This field identifies the entity to whom the resource has been allocated / assigned. The value of this field is a valid X.501 name. As noted above, conventions are imposed on Subject names used in resource certificates, as described in [ID.sidr‑arch] (Lepinski, M. and S. Kent, “An Infrastructure to Support Secure Internet Routing,” February 2008.).

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

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



 TOC 

3.6.  Valid From

The starting time at which point the certificate is valid. In this profile the "Valid From" time SHOULD be no earlier than the time of certificate generation. As per Section 4.1.2.5 of [RFC5280] (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,” May 2008.), 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] (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,” May 2008.).

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



 TOC 

3.7.  Valid To

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

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

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



 TOC 

3.8.  Subject Public Key Info

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

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



 TOC 

3.9.  Resource Certificate Version 3 Extension Fields

As noted in Section 4.2 of [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,” May 2008.), each extension in a certificate is designated as either critical or non-critical. A certificate-using system MUST reject the certificate if it encounters a critical extension it does not recognize; however, a non-critical extension MAY be ignored if it is not recognized [RFC5280] (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,” May 2008.).

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



 TOC 

3.9.1.  Basic Constraints

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

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

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

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



 TOC 

3.9.2.  Subject Key Identifier

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

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

The Key Identifier used here is the 160-bit SHA-1 hash of the value of the DER-encoded ASN.1 bit string of the subject public key, as described in Section 4.2.1.2 of [RFC5280] (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,” May 2008.).



 TOC 

3.9.3.  Authority Key Identifier

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

The Key Identifier used here is the 160-bit SHA-1 hash of the value of the DER-encoded ASN.1 bit string of the issuer's public key, as described in Section 4.2.1.1 of [RFC5280] (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,” May 2008.).



 TOC 

3.9.4.  Key Usage

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

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

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



 TOC 

3.9.5.  CRL Distribution Points

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

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

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

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

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

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



 TOC 

3.9.6.  Authority Information Access

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

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

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

This extension is non-critical.



 TOC 

3.9.7.  Subject Information Access

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

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

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

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

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

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

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

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

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

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

This profile requires the use of repository publication manifests [ID.sidr‑manifests] (Austein, R., Huston, G., Kent, S., and M. Lepinski, “Manifests for the Resource Public Key Infrastructure,” January 2008.) to list all signed objects that are deposited in the repository publication point associated with a CA or an EE. The publication point of the manifest for a CA or EE is placed in the SIA extension of the CA or EE certificate. This profile uses a URI form of manifest identification for the accessLocation. The preferred URI access mechanisms is "rsync", and an RSYNC URI MUST be specified. Other accessDescription fields may exist for the id-ad-rpkiManifest accessMethod, where the accessLocation value indicates alternate URI access mechanisms for the same manifest object.

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

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

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

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



 TOC 

3.9.8.  Certificate Policies

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

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

This extension MUST be present and it is critical.



 TOC 

3.9.9.  IP Resources

This extension contains the list of IP address resources as per [RFC3779] (Lynn, C., Kent, S., and K. Seo, “X.509 Extensions for IP Addresses and AS Identifiers,” June 2004.). The value may specify the "inherit" element for a particular AFI value. In the context of resource certificates describing public number resources for use in the public Internet, the SAFI value MUST NOT be used. All Resource Certificates MUST include an IP Resources extension, an AS Resources extension, or both extensions.

This extension, if present, MUST be marked critical.



 TOC 

3.9.10.  AS Resources

This extension contains the list of AS number resources as per [RFC3779] (Lynn, C., Kent, S., and K. Seo, “X.509 Extensions for IP Addresses and AS Identifiers,” June 2004.), or may specify the "inherit" element. RDI values are NOT supported in this profile and MUST NOT be used. All Resource Certificates MUST include an IP Resources extension, an AS Resources extension, or both extensions.

This extension, if present, MUST be marked critical.



 TOC 

4.  Resource Certificate Revocation List Profile

Each CA MUST issue a version 2 Certificate Revocation List (CRL), consistent with [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,” May 2008.). The CRL issuer is the CA, and no indirect CRLs are supported in this profile.

An entry MUST NOT be removed from the CRL until it appears on one regularly scheduled CRL issued beyond the revoked certificate's validity period, as required in [RFC5280] (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,” May 2008.).

This profile does not allow issuance of Delta CRLs.

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

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



 TOC 

4.1.  Version

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



 TOC 

4.2.  Issuer Name

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



 TOC 

4.3.  This Update

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



 TOC 

4.4.  Next Update

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



 TOC 

4.5.  Signature

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

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



 TOC 

4.6.  Revoked Certificate List

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

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



 TOC 

4.6.1.  Serial Number

The serial number of the revoked certificate.



 TOC 

4.6.2.  Revocation Date

The time the certificate was revoked. This time MUST NOT be a future date (i.e., a date later than ThisUpdate). The value of this field 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.



 TOC 

4.7.  CRL Extensions

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



 TOC 

4.7.1.  Authority Key Identifier

The authority key identifier extension provides a means of identifying the public key corresponding to the private key used to sign a CRL. Conforming CRL issuers MUST use the key identifier method. The syntax for this CRL extension is defined in section 4.2.1.1 of [RFC5280] (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,” May 2008.).

This extension is non-critical.



 TOC 

4.7.2.  CRL Number

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

This extension is non-critical.



 TOC 

5.  Resource Certificate Request Profile

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



 TOC 

5.1.  PCKS#10 Profile

This profile refines the specification in [RFC2986] (Nystrom, M. and B. Kaliski, “PKCS #10: Certification Request Syntax Specification Version 1.7,” November 2000.), as it relates to Resource Certificates. A Certificate Request Message object, formatted according to PKCS#10, is passed to a CA as the initial step in issuing a certificate.

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

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



 TOC 

5.1.1.  PKCS#10 Resource Certificate Request Template Fields

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

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

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

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

Attributes
[RFC2986] (Nystrom, M. and B. Kaliski, “PKCS #10: Certification Request Syntax Specification Version 1.7,” November 2000.) 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] (Nystrom, M. and B. Kaliski, “PKCS #9: Selected Object Classes and Attribute Types Version 2.0,” November 2000.). This attribute contains X509v3 Certificate Extensions. The profile for extensions in certificate requests is specified in Section 5.3 (Certificate Extension Attributes in Certificate Requests).

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

signatureAlgorithm
This profile specifies a default of SHA-256 with RSA (sha256WithRSAEncryption), and allows for the use of SHA-384 or SHA-512. Accordingly, the value for this field MUST be one of the OID values { pkcs-1 11 }, { pkcs-1 12 } or { pkcs-1 13 } [RFC4055] (Schaad, J., Kaliski, B., and R. Housley, “Additional Algorithms and Identifiers for RSA Cryptography for use in the Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile,” June 2005.).

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


 TOC 

5.2.  CRMF Profile

This profile refines the Certificate Request Message Format (CRMF) specification in [RFC4211] (Schaad, J., “Internet X.509 Public Key Infrastructure Certificate Request Message Format (CRMF),” September 2005.), as it relates to Resource Certificates. A Certificate Request Message object, formatted according to the CRMF, is passed to a CA as the initial step in issuing a certificate.

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

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



 TOC 

5.2.1.  CRMF Resource Certificate Request Template Fields

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

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

SerialNumber
As per [RFC4211] (Schaad, J., “Internet X.509 Public Key Infrastructure Certificate Request Message Format (CRMF),” September 2005.), this field is assigned by the CA and MUST be omitted in this profile.

SigningAlgorithm
As per [RFC4211] (Schaad, J., “Internet X.509 Public Key Infrastructure Certificate Request Message Format (CRMF),” September 2005.), this field is assigned by the CA and MUST be omitted in this profile.

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

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

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

PublicKey
This field MUST be present.

extensions
This attribute contains X509v3 Certificate Extensions. The profile for extensions in certificate requests is specified in Section 5.3 (Certificate Extension Attributes in Certificate Requests).


 TOC 

5.2.2.  Resource Certificate Request Control Fields

The following control fields are supported in this profile:

Authenticator Control
It is noted that the intended model of authentication of the subject is a long term one, and the advice as offered in [RFC4211] (Schaad, J., “Internet X.509 Public Key Infrastructure Certificate Request Message Format (CRMF),” September 2005.) is that the Authenticator Control field be used.



 TOC 

5.3.  Certificate Extension Attributes in Certificate Requests

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

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

The Path Length Constraint is not supported in this Resource Certificate Profile, and this field MUST be omitted in this profile.
The CA MAY honor the SubjectType CA bit set to on. If this bit is set, then it indicates that the Subject is allowed to issue resource certificates within this overall framework.
The CA MUST honor the SubjectType CA bit set to off (End Entity certificate request), in which case the corresponding end entity certificate will not contain a BasicConstraints extension.
SubjectKeyIdentifier
This field is assigned by the CA and MUST be omitted in this profile.

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

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

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

This field (SIA) identifies the location of information and services relating to the subject of the certificate in which the SIA extension appears.
Where the subject is a CA in this profile, this information and service collection will include all current valid certificates that have been issued by this subject that are signed with the subject's corresponding private key.
This profile uses a URI form of location identification. An RSYNC URI MUST be specified, with an accessMethod value of id-ad-caRepository when the subject of the certificate is a CA. The RSYNC URI MUST reference an object collection rather than an individual object and MUST use a trailing '/' in the URI. Other accessMethod URIs that reference the same location MAY also be included in the value sequence of this extension. The ordering of URIs in this sequence reflect the subject's relative preferences for access methods, with the first method in the sequence being the most preferred by the Subject.
A request for a CA certificate MUST include in the SIA of the request the id-ad-caRepository accessMethod, and also MUST include in the SIA of the request the accessMethod OID of id-ad-rpkiManifest, where the associated accessLocation refers to the subject's published manifest object as an object URL.
This field MAY be present when the subject is a EE. If it is present the field value SHOULD be honored by the CA. If the CA is not able to honor the requested field value, then the CA MUST reject the Certificate Request. If it is not present the CA SHOULD honor this request and omit the SIA from the issued certificate. If the CA is not able to honor the request to omit the SIA, then the CA MUST reject the Certificate Request.
When an EE certificate is intended for use in verifying multiple objects, the certificate request for the EE certificate MUST include in the SIA of the request an accessMethod OID of id-ad-signedObjectRepository, and also MUST include in the SIA of the request an accessMethod OID of id-ad-rpkiManifest, where the associated access location refers to the publication point of the manifest object describing all objects that are verified using this EE certificate.
When an EE certificate is used to sign a single published object, the certificate request for the EE certificate MUST include in the SIA of the request an accessMethod OID of id-ad-signedObject, where the associated accessLocation refers to the publication point of the single object that is verified using this EE certificate, and MUST NOT include an id-ad-rpkiManifest accessMethod OID in the SIA of the request.
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.



 TOC 

6.  Resource Certificate Validation

This section describes the Resource Certificate validation procedure. This refines the generic procedure described in section 6 of [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,” May 2008.).

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 (Note that a trust anchor is NOT a resource certificate in this context and thus does not contain RFC 3779 extensions.);

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

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


 TOC 

6.1.  Resource Extension Validation

The IP resource extension definition [RFC3779] (Lynn, C., Kent, S., and K. Seo, “X.509 Extensions for IP Addresses and AS Identifiers,” June 2004.) defines a 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 the 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] (Lynn, C., Kent, S., and K. Seo, “X.509 Extensions for IP Addresses and AS Identifiers,” June 2004.) is equivalent to this "equality" comparison.

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

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



 TOC 

6.2.  Resource Certification Path Validation

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

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

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

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

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

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

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

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

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

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

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



 TOC 

6.3.  Trust Anchors for Resource Certificates

The default trust model for the resource certificate PKI maps to the extant public resource allocation system, comprised of IANA, RIRs, NIRs (in some regions) and LIRs. This is a strict hierarchy, in that any number resource and a corresponding recipient entity has only one 'parent' issuing registry for that resource. Moreover, the issuing registry is not a direct or indirect subordinate recipient entity of the recipient entity in question (i.e., there are no loops in the model).

Nonetheless, as in any PKI, selection of one or more entities as trust anchor is a task undertaken by each relying party. The structure of the resource certificate profile admits the same variety of trust models as PKIX (and X.509) standards. There is only one additional caveat on the general applicability of trust models, namely that in forming a validation path to a CA, the sequence of resource certificates MUST preserve the resource extension validation property, as described in Section 6.1 (Resource Extension Validation). [RFC3779] (Lynn, C., Kent, S., and K. Seo, “X.509 Extensions for IP Addresses and AS Identifiers,” June 2004.) establishes this requirement for certificate path validation when the extensions defined therein are employed. This poses a problem in the RPKI, as explained below.

Based on experience, a top level resource certificate held by a registry will change several times a year, in response to receipt of additional resource allocations. This makes such certificates poor candidates as trust anchors, since one usually views a trust anchor as a long-lived set of data. Yet [RFC3779] (Lynn, C., Kent, S., and K. Seo, “X.509 Extensions for IP Addresses and AS Identifiers,” June 2004.) requires that the trust anchor used for validation of certificates contains resource extensions MUST itself contain such extensions, and the extensions must be a superset of extensions contained in subordinate certificates in the path.

This observation motivates a two-tier trust anchor model for the RPKI. The top tier trust anchor for each RIR (and IANA) will be a self-signed certificate that contains no resource extensions. It is a resource certificate as defined in this document, except for that one omission. This certificate will be referred to as a "registry root certificate" (RRC) or registry TA certificate. (Note that the term "registry" here is not intended to preclude use of this mechanism by other than the RIRs and the IANA.) Under this certificate one EE certificate is issued; that certificate also contains no resource extensions. The EE certificate is used to validate a CMS signed object that contains a self-signed certificate that itself contains resource extensions, and this self-signed certificate acts as a TA for resource certificate path validation. This latter certificate will be referred to as an RPKI TA (certificate).

Both the registry TA and the RPKI TA will be represented as self-signed certificates, consistent with the wide-spread convention that is allowed (thought not mandated) by [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,” May 2008.). Following this convention makes it easier to reuse existing PKI software (e.g., OpenSSL) to process this trust anchor material.



 TOC 

6.3.1.  Distribution Format of Default Trust Anchor Material

In the RPKI, the certificate framework corresponds to the hierarchies of the resource distribution function. In consideration of this, it is reasonable to nominate to relying parties a default set of trust anchor pairs (registry TA and RPKI TA) for the RPKI that correspond to the entities who operate at the upper levels of the associated resource allocation hierarchy. The corresponding nominated trust anchor CA(s) should therefore map, in some fashion, to apex point(s) of the hierarchical resource distribution structure.

The characteristics of a trust anchor framework for the RPKI includes the following considerations:

An entity offering itself as a putative trust anchor for a part of the RPKI is required to regularly publish an RPKI CA certificate at a stable URL, and to publish at this URL trust anchor material, as follows:

Relying Parties can assemble the default trust anchor collection by using the registry TA certificate for each nominated trust anchor:

Relying Parties SHOULD perform this retrieval and validation operation at intervals no less frequent than the nextUpdate time of the published TA CA CRL, and SHOULD perform the retrieval operation prior to the expiration of the registry TA EE certificate, or upon revocation of the registry TA EE certificate that is used to verify the CMS object that holds the trust anchor’s current RPKI TA CA certificate.

If a trust anchor chooses to reissue its RPKI TA CA certificate before the expiration of that certificate, it MUST perform the follow actions: revise the nextUpdate time of the registry TA's CRL to reflect the issue date for the new registry TA EE certificate, issue a new registry TA EE certificate and a new CMS object with the new RPKI TA CA certificate, and revoke the old TA EE certificate at the nextUpdate time in the next issued CRL. This revocation will provide an indication to relying parties to perform the retrieval operation of the RPKI TA CA certificate at a time earlier than the normal update cycle time.



 TOC 

7.  Design Notes

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

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

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

This has a number of implications in terms of subject name management, CRL Scope and repository publication point management.
Subject Name:
For Subject Names the issuer should ensure that when an entity requests a certificate with a new key pair, the CA issues a certificate with a new subject name. One way to achieve this is for the issuer to use a mapping of the hash of the subject public key value into a character string for a CommonName that becomes the CA Subject Name.

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

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

In order for two or more CA instances to share a single repository publication point there needs to be a regime of key management into OLD, CURRENT and FUTURE keys and a similar regime of OLD, CURRENT and FUTURE CAs. An OLD CA should regularly publish its CRL for as long as the OLD CA instance is still valid, and issue EE certificates as necessary to maintain a current manifest of all OLD CA published products, but it should not sign any other products. The CURRENT CA should publish its CRL, and should publish all subordinate products, as well as issuing EE certificates as necessary to maintain a current manifest of all CURRENT CA published products. FUTURE CAs should publish no products at all in the repository publication point. It would be consistent with this repository object name framework for the CRL and manifest to be published using object names derived from the hash of the public key value of the CA instance.
Key Rollover:
As a CA instance is associated with a single key pair, there are some considerations regarding the procedure that should be followed by an entity performing a key rollover function. The entity will need to create a new CA instance and then use this new CA instance to re-issue all subordinate products with the new CA instance.

To perform a key rollover operation the entity will need to:
  1. Generate a NEW key pair.

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

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

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

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

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

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

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

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

Given that the Resource Certificate PKI is a distributed PKI, there is no inherent ability for Certification authorities to coordinate PKI-wide unique subject names. IANA and the RIRs SHOULD use multi-attribute, structured Subject names in their RPKI certificates. All other entities (NIRs, LIRs, etc.) MUST be issued certificates in which the Subject name contains a single relative distinguished name, consisting of a CommonName attribute. This restriction is motivated by the need to change the names of these CAs when key rollover occurs, and to minimize liability for issuers in the RPKI. Also, as the publication repository is distributed, and distinct entities use distinct repository publication points any potential ambiguity is resolved by the distinct publication point.


 TOC 

8.  Security Considerations

The Security Considerations of [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,” May 2008.) and [RFC3779] (Lynn, C., Kent, S., and K. Seo, “X.509 Extensions for IP Addresses and AS Identifiers,” June 2004.)apply to Resource Certificates as defined by this profile, and their use.

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



 TOC 

9.  IANA Considerations

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



 TOC 

10.  Acknowledgements

The authors would like to particularly acknowledge the valued contribution from Stephen Kent in reviewing this document and proposing numerous sections of text that have been incorporated into the text. The authors also acknowledge the contributions of 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 Sean Turner and David Cooper.



 TOC 

11.  References



 TOC 

11.1. Normative References

[RFC0791] Postel, J., “Internet Protocol,” STD 5, RFC 791, September 1981 (TXT).
[RFC2050] Hubbard, K., Kosters, M., Conrad, D., Karrenberg, D., and J. Postel, “INTERNET REGISTRY IP ALLOCATION GUIDELINES,” BCP 12, RFC 2050, November 1996 (TXT, HTML, XML).
[RFC3779] Lynn, C., Kent, S., and K. Seo, “X.509 Extensions for IP Addresses and AS Identifiers,” RFC 3779, June 2004 (TXT).
[RFC3852] Housley, R., “Cryptographic Message Syntax (CMS),” RFC 3852, July 2004 (TXT).
[RFC4055] Schaad, J., Kaliski, B., and R. Housley, “Additional Algorithms and Identifiers for RSA Cryptography for use in the Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile,” RFC 4055, June 2005 (TXT).
[RFC4211] Schaad, J., “Internet X.509 Public Key Infrastructure Certificate Request Message Format (CRMF),” RFC 4211, September 2005 (TXT).
[RFC4291] Hinden, R. and S. Deering, “IP Version 6 Addressing Architecture,” RFC 4291, February 2006 (TXT).
[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 (TXT).
[X.509] ITU-T, “Recommendation X.509: The Directory - Authentication Framework,” 2000.


 TOC 

11.2. Informative References

[ID.sidr-arch] Lepinski, M. and S. Kent, “An Infrastructure to Support Secure Internet Routing,” Work in progress: Internet Drafts draft-ietf-sidr-arch-03.txt, February 2008.
[ID.sidr-manifests] Austein, R., Huston, G., Kent, S., and M. Lepinski, “Manifests for the Resource Public Key Infrastructure,” Work in progress: Internet Drafts draft-ietf-sidr-rpki-manifests-00.txt, January 2008.
[RFC2985] Nystrom, M. and B. Kaliski, “PKCS #9: Selected Object Classes and Attribute Types Version 2.0,” RFC 2985, November 2000 (TXT).
[RFC2986] Nystrom, M. and B. Kaliski, “PKCS #10: Certification Request Syntax Specification Version 1.7,” RFC 2986, November 2000 (TXT).
[RFC4158] Cooper, M., Dzambasow, Y., Hesse, P., Joseph, S., and R. Nicholas, “Internet X.509 Public Key Infrastructure: Certification Path Building,” RFC 4158, September 2005 (TXT).
[rsync] Tridgell, A., “rsync,” April 2006.


 TOC 

Appendix A.  Example Resource Certificate

The following is an example Resource Certificate.

Certificate Name: 9JfgAEcq7Q-47IwMC5CJIJr6EJs.cer

Data:
  Version: 3 (0x2(
  Serial: 1500 (0x5dc)
  Signature Algorithm: SHA256WithRSEEncryption
  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


 TOC 

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





 TOC 

Appendix C.  Cryptographic Message Syntax Profile for RPKI Trust Anchor Material

Using the Cryptographic Message Syntax (CMS) [RFC3852] (Housley, R., “Cryptographic Message Syntax (CMS),” July 2004.), a RPKI Trust Anchor Object (RTA) is a type of signed-data object. The general format of a CMS object is:

      ContentInfo ::= SEQUENCE {
        contentType ContentType,
        content [0] EXPLICIT ANY DEFINED BY contentType }

      ContentType ::= OBJECT IDENTIFIER

As a RTA is a signed-data object, it uses the corresponding OID, 1.2.840.113549.1.7.2. [RFC3852] (Housley, R., “Cryptographic Message Syntax (CMS),” July 2004.).



 TOC 

C.1.  Signed-Data ContentType

According to the CMS specification, the signed-data content type shall have ASN.1 type SignedData:

      SignedData ::= SEQUENCE {
        version CMSVersion,
        digestAlgorithms DigestAlgorithmIdentifiers,
        encapContentInfo EncapsulatedContentInfo,
        certificates [0] IMPLICIT CertificateSet OPTIONAL,
        crls [1] IMPLICIT RevocationInfoChoices OPTIONAL,
        signerInfos SignerInfos }

      DigestAlgorithmIdentifiers ::= SET OF DigestAlgorithmIdentifier

      SignerInfos ::= SET OF SignerInfo

The elements of the signed-data content type are as follows:

version
The version is the syntax version number. It MUST be 3, corresponding to the signerInfo structure having version number 3.

digestAlgorithms
The digestAlgorithms set MUST include only SHA-256, the OID for which is 2.16.840.1.101.3.4.2.1. [RFC4055] (Schaad, J., Kaliski, B., and R. Housley, “Additional Algorithms and Identifiers for RSA Cryptography for use in the Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile,” June 2005.). It MUST NOT contain any other algorithms.

encapContentInfo
This element is defined in Appendix C.1.1 (encapContentInfo).

certificates
The certificates element MUST be included and MUST contain only the single PKI EE certificate needed to validate this CMS Object. The CertificateSet type is defined in section 10 of [RFC3852] (Housley, R., “Cryptographic Message Syntax (CMS),” July 2004.)

crls
The crls element MUST be omitted.

signerInfos
This element is defined in Appendix C.1.2 (signerInfos).


 TOC 

C.1.1.  encapContentInfo

encapContentInfo is the signed content, consisting of a content type identifier and the content itself.

      EncapsulatedContentInfo ::= SEQUENCE {
        eContentType ContentType,
        eContent [0] EXPLICIT OCTET STRING OPTIONAL }

      ContentType ::= OBJECT IDENTIFIER

The elements of this signed content type are as follows:

eContentType
The ContentType for an RTA is defined as id-ct-RPKITrustAnchor and has the numerical value of 1.2.840.113549.1.9.16.1.33.
            id-smime OBJECT IDENTIFIER ::= { iso(1) member-body(2)
                        us(840) rsadsi(113549) pkcs(1) pkcs9(9) 16 }

            id-ct OBJECT IDENTIFIER ::= { id-smime 1 }

            id-ct-RPKITrustAnchor OBJECT IDENTIFIER ::= { id-ct 33 }
eContent
The content of an RTA is an RPKI self-signed CA certificate. It is formally defined as:
            id-ct-RPKITrustAnchor ::= Certificate
The definition of Certificate is taken from [X.509] (ITU-T, “Recommendation X.509: The Directory - Authentication Framework,” 2000.).


 TOC 

C.1.2.  signerInfos

SignerInfo is defined under CMS as:

      SignerInfo ::= SEQUENCE {
        version CMSVersion,
        sid SignerIdentifier,
        digestAlgorithm DigestAlgorithmIdentifier,
        signedAttrs [0] IMPLICIT SignedAttributes OPTIONAL,
        signatureAlgorithm SignatureAlgorithmIdentifier,
        signature SignatureValue,
        unsignedAttrs [1] IMPLICIT UnsignedAttributes OPTIONAL }

The content of the SignerInfo element are as follows:

version
The version number MUST be 3, corresponding with the choice of SubjectKeyIdentifier for the sid.

sid
The sid is defined as:
             SignerIdentifier ::= CHOICE {
                 issuerAndSerialNumber IssuerAndSerialNumber,
                 subjectKeyIdentifier [0] SubjectKeyIdentifier }
For a RTA, the sid MUST be a SubjectKeyIdentifier.

digestAlgorithm
The digestAlgorithm MUST be SHA-256, the OID for which is 2.16.840.1.101.3.4.2.1. [RFC4055] (Schaad, J., Kaliski, B., and R. Housley, “Additional Algorithms and Identifiers for RSA Cryptography for use in the Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile,” June 2005.)

signedAttrs
The signedAttrs element is defined as:
           SignedAttributes ::= SET SIZE (1..MAX) OF Attribute

           Attribute ::= SEQUENCE {
             attrType OBJECT IDENTIFIER,
             attrValues SET OF AttributeValue }

           AttributeValue ::= ANY
The signedAttr element MUST be present and MUST include the content-type and message-digest attributes. The signer MAY also include the signing-time signed attribute, the binary-signing-time signed attribute, or both signed attributes. Other signed attributes that are deemed appropriate MAY also be included. The intent is to allow additional signed attributes to be included if a future need is identified. This does not cause an interoperability concern because unrecognized signed attributes are ignored by the relying party.

The signedAttr MUST include only a single instance of any particular attribute. Additionally, even though the syntax allows for a SET OF AttributeValue, in a RTA the attrValues must consist of only a single AttributeValue.
ContentType Attribute
The ContentType attribute MUST be present. The attrType OID for the ContentType attribute is 1.2.840.113549.1.9.3.

The attrValues for the ContentType attribute in a RTA MUST be 1.2.840.113549.1.9.16.1.24 (matching the eContentType in the EncapsulatedContentInfo).
MessageDigest Attribute
The MessageDigest attribute MUST be present. The attrType OID for the MessageDigest Attribute is 1.2.840.113549.1.9.4.

The attrValues for the MessageDigest attribute contains the output of the digest algorithm applied to the content being signed, as specified in Section 11.1 of [RFC3852] (Housley, R., “Cryptographic Message Syntax (CMS),” July 2004.).
SigningTime Attribute
The SigningTime attribute MAY be present. If it is present it MUST be ignored by the relying party. The presence of absence of the SigningTime attribute in no way affects the validation of the RTA. The attrType OID for the SigningTime attribute is 1.2.840.113549.1.9.5.

The attrValues for the SigningTime attribute is defined as:
                        SigningTime ::= Time

                        Time ::= CHOICE {
                           utcTime UTCTime,
                           generalizedTime GeneralizedTime }
The Time element specifies the time, based on the local system clock, at which the digital signature was applied to the content.
BinarySigningTime Attribute
The BinarySigningTime attribute MAY be present. If it is present it MUST be ignored by the relying party. The presence of absence of the BinarySigningTime attribute in no way affects the validation of the RTA. The attrType OID for the SigningTime attribute is 1.2.840.113549.1.9.16.2.46.

The attrValues for the SigningTime attribute is defined as:
                      BinarySigningTime ::= BinaryTime

                      BinaryTime ::= INTEGER (0..MAX)
The BinaryTime element specifies the time, based on the local system clock, at which the digital signature was applied to the content.
signatureAlgorithm
The signatureAlgorithm MUST be RSA (rsaEncryption), the OID for which is 1.2.840.113549.1.1.1.q

signature
The signature value is defined as:
            SignatureValue ::= OCTET STRING
The signature characteristics are defined by the digest and signature algorithms.

unsignedAttrs
unsignedAttrs MUST be omitted.


 TOC 

C.2.  RTA Validation

Before a relying party can use an RTA, the relying party must first validate the RTA by performing the following steps.

  1. Verify that the RTA syntax complies with this specification. In particular, verify the following:

    a.
    The contentType of the CMS object is SignedData (OID 1.2.840.113549.1.7.2).
    b.
    The version of the SignedData object is 3.
    c.
    The digestAlgorithm in the SignedData object is SHA-256 (OID 2.16.840.1.101.3.4.2.1).
    d.
    The certificates field in the SignedData object is present and contains a single EE certificate whose Subject Key Identifier (SKI) matches the sid field of the SignerInfo object.
    e.
    The crls field in the SignedData object is omitted.
    f.
    The eContentType in the EncapsulatedContentInfo is id-ct-RPKITrustAnchor (OID 1.2.840.113549.1.9.16.1.[TBD])
    g.
    The version of the SignerInfo is 3.
    h.
    The digestAlgorithm in the SignerInfo object is SHA-256 (OID 2.16.840.1.101.3.4.2.1).
    i.
    The signatureAlgorithm in the SignerInfo object is RSA (OID 1.2.840.113549.1.1.1).
    j.
    The signedAttrs field in the SignerInfo object is present and contains both the ContentType attribute (OID 1.2.840.113549.1.9.3) and the MessageDigest attribute (OID 1.2.840.113549.1.9.4).
    k.
    The unsignedAttrs field in the SignerInfo object is omitted.
  2. Use the public key in the EE certificate to verify the signature on the RTA.

  3. Verify that the EE certificate is a valid end-entity certificate in the Trust Anchor PKI by validating that the PKI CA certificate issued this EE certificate, and the PKI CA's CRL has not revoked the EE certificate, and that the PKI CA's CRL is valid.


 TOC 

Authors' Addresses

  Geoff Huston
  Asia Pacific Network Information Centre
Email:  gih@apnic.net
URI:  http://www.apnic.net
  
  George Michaelson
  Asia Pacific Network Information Centre
Email:  ggm@apnic.net
URI:  http://www.apnic.net
  
  Robert Loomans
  Asia Pacific Network Information Centre
Email:  robertl@apnic.net
URI:  http://www.apnic.net


 TOC 

Full Copyright Statement

Intellectual Property