| TOC |
|
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 October 12, 2007.
Copyright © The IETF Trust (2007).
This document defines a standard profile for X.509 certificates for the purposes of supporting validation of assertions of "right-to-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 associated Resource Certificate.
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.
Subject Alternate Name
3.9.10.
IP Resources
3.9.11.
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.
Trust Anchors for Resource Certificates
6.2.
Resource Extension Validation
6.3.
Resource Certificate Path Validation
7.
Security Considerations
8.
IANA Considerations
9.
Acknowledgements
10.
Normative References
Appendix A.
Example Resource Certificate
Appendix B.
Example Certificate Revocation List
§
Authors' Addresses
§
Intellectual Property and Copyright Statements
| TOC |
This document defines a standard profile for X.509 certificates for use in the context of certification of IP Addresses and AS Numbers. These Resource Certificates are X.509 certificates that conform to the PKIX profile [RFC3280] (Housley, R., Polk, W., Ford, W., and D. Solo, “Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile,” April 2002.) and also conform to the constraints specified in this profile. Resource Certificates attest that the issuer has granted the subject a "right-to-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 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, 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's public key that is being certified by the Issuer corresponds to the public key part of a public / private key pair that was generated by the same 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 only issued in one 'direction' and there is a single unique path of certificates from a Certificate 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 Certificate 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 chain.
Resource Certificates may be used in the context of the operation of secure inter-domain routing protocols to convey a right-to-use of an IP number resource that is being passed within the routing protocol, 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 unauthorised used 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 |
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" [RFC3280] (Housley, R., Polk, W., Ford, W., and D. Solo, “Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile,” April 2002.), "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 keywords "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 |
The framework for describing an association between the subject of a certificate and the resources currently under the subject's current 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:
A test of certificate validity entails the identification 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 certificate authority to the certificate being validated, and that the resource extensions in this certificate sequence from the trust anchor's issued certificate to the certificate being validated form a sequence of encompassing relationships in terms of the resources described in the resource extension.
| TOC |
A Resource Certificate is a valid X.509 v3 public key certificate, consistent with the PKIX profile [RFC3280] (Housley, R., Polk, W., Ford, W., and D. Solo, “Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile,” April 2002.), 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 |
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 |
The serial number value is a positive integer that is unique per Issuer.
| TOC |
This field describes the algorithm used to compute the signature on this certificate. This profile specifies a minimum 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 replying parties, indicating that care should be taken when deciding to use larger than the minimum key size.
| TOC |
This field identifies the entity that has signed and issued the certificate. The value of this field is a valid X.501 name.
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.
This field MUST be non-empty.
| TOC |
This field identifies the entity to whom the resource has been allocated / assigned. The value of this field is a valid X.501 name.
In this profile the subject name is determined by the issuer, and each distinct entity certified by the issuer MUST be identified using a subject name that is unique per issuer.
This field MUST be non-empty.
| TOC |
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 [RFC3280] (Housley, R., Polk, W., Ford, W., and D. Solo, “Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile,” April 2002.), Certificate 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 [RFC3280] (Housley, R., Polk, W., Ford, W., and D. Solo, “Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile,” April 2002.).
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. However, it is not valid to infer from this information that a certificate was, or will be, valid at any particular time other than the current time.
| TOC |
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 [RFC3280] (Housley, R., Polk, W., Ford, W., and D. Solo, “Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile,” April 2002.), 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 [RFC3280] (Housley, R., Polk, W., Ford, W., and D. Solo, “Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile,” April 2002.).
In this profile, it is valid for a certificate to have a value for this field that post-dates the same field value in any superior certificate. However, it is not valid to infer from this information that a certificate was, or will be, valid at any particular time other than the current time.
Certificate Authorities typically are advised against issuing a certificate with a validity interval that exceeds the validity interval of the CA certificate that will be used to validate the issued certificate. However, in the context of this profile, it is anticipated that a CA may have good reason to issue a certificate with a validity interval that exceeds the validity interval of the CA's certificate.
| TOC |
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 1024 bits. In the context of certifying resources it is recommended that the key size of keys that are intended to be used at the apex of a certificate issuance hierarchy, and their immediate subordinates, SHOULD use a minimum key size of 2048 bits. Immediate subordinates of these certificates, when used in the context of continued levels of high trust, SHOULD use a minimum key size of 2048 bits.
In the application of this profile to certification of public number resources, it would be consistent with this recommendation that the Regional Internet Registries use a key size of 2048 bits, and that their immediate subordinate certificate authorities also use a key size of 2048 bits. All other subordinate certificates MAY use a key size of 1024 bits.
It is noted that larger key sizes are computationally expensive for both the CA and replying parties, indicating that care should be taken when deciding to use larger than the minimum key size.
| TOC |
As noted in Section 4.2 of [RFC3280] (Housley, R., Polk, W., Ford, W., and D. Solo, “Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile,” April 2002.), 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 recognise; however, a non-critical extension MAY be ignored if it is not recognised [RFC3280] (Housley, R., Polk, W., Ford, W., and D. Solo, “Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile,” April 2002.).
The following X.509 V3 extensions MUST be present in a conforming Resource Certificate.
| TOC |
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 permitted be 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.
| TOC |
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 immediate subordinate certificates (all certificates issued by the subject of this certificate).
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 [RFC3280] (Housley, R., Polk, W., Ford, W., and D. Solo, “Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile,” April 2002.).
| TOC |
The subject 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 sub field MUST be present in all Resource Certificates, with the exception of a CA who issues a "self-signed" certificate. The authorityCertIssuer and authorityCertSerialNumber sub 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 [RFC3280] (Housley, R., Polk, W., Ford, W., and D. Solo, “Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile,” April 2002.).
| TOC |
This describes the purpose of the certificate. This is a critical extension, and it MUST be present.
In certificates issued to CAs only the keyCertSign and CRLSign bits are set to TRUE and MUST be the only bits set to TRUE.
In end-entity certificates the digitialSignature bit MUST be set and MUST be the only bit set to TRUE.
| TOC |
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 sub field MUST be omitted, and the distributionPoint sub field MUST be present. The Reasons sub field MUST be omitted.
The distributionPoint MUST contain general names, and MUST NOT contain a nameRelativeToCRLIssuer. The type of the general name MUST be of type URI. In this profile, the scope of the CRL is specified to be all certificates issued by this CA issuer using a given key pair. 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; where a CA distributes its public key in the form of a "self-signed" certificate, the CRLDP MUST be omitted.
| TOC |
This field (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, the authority key identifier 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 access method 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 in and of itself 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, 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 Certificate Practice Statement.
Alternatively, if the certificate issuer does not maintain a persistent URL for the must recent issued certificate for each subject, then the entity who is subject of a certificate MAY keep the most recent copy of the superior's issued certificate in the subject's publication space, and set the AIA to reference this subject-maintained copy of the immediate superior certificate.
This extension is non-critical.
| TOC |
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. The preferred URI access mechanism is "rsync", and an RSYNC URI MUST be specified, with an access method 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 access method 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.
This field MUST be present when the subject is a CA, and is non-critical.
For End Entity certificates, where the subject is not a CA, this field MAY be present, and is non-critical. If present, it references the location where objects signed by the key pair associated with the End Entity certificate can be accessed. The id-ad-signedObjectRepository OID is used when the subject is an End Entity and it publishes objects signed with the matching private key in a repository.
id-ad OBJECT IDENTIFIER ::= { id-pkix 48 }
id-ad-signedObjectRepository OBJECT IDENTIFIER ::= { id-ad 9 }
| TOC |
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.
PolicyQualifiers MUST NOT be used in this profile.
This extension MUST be present and it is critical.
| TOC |
This is an optional extension, and MAY contain an X.501 Name as supplied by the subject in the Certificate Request, or as assigned by the issuer.
| TOC |
This field 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 |
This field 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 |
Each CA MUST issue a version 2 Certificate Revocation List (CRL), consistent with [RFC3280] (Housley, R., Polk, W., Ford, W., and D. Solo, “Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile,” April 2002.). The CRL issuer is the CA, and no indirect CRLs are supported in this profile. The scope of the CRL MUST be "all certificates issued by this CA using a given key pair". The contents of the CRL are a list of all non-expired certificates issued by the CA using a given key pair that have been revoked by the CA.
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.
This profile does not allow issuance of Delta CRLs.
The profile allows the issuance of multiple current CRLs with different scope by a single CA, with the scope being defined by the key pair used by the CA.
No CRL fields other than those listed below are allowed 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 |
Resource Certificate Revocation Lists are Version 2 certificates (the integer value of this field is 1).
| TOC |
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 |
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 |
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 |
This field contains the algorithm used to sign this CRL. This profile specifies a minimum of SHA-256 with RSA (sha256WithRSAEncryption), and allows for the use of SHA-384 or SHA-512. This field MUST be present.
It is noted that larger key sizes are computationally expensive for both the CRL Issuer and replying parties, indicating that care should be taken when deciding to use larger than the minimum key size.
| TOC |
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 |
The issuer's serial number of the revoked certificate.
| TOC |
The time the certificate was revoked. This time SHOULD NOT be a future date. 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 |
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 |
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 [RFC3280] (Housley, R., Polk, W., Ford, W., and D. Solo, “Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile,” April 2002.).
This extension is non-critical.
| TOC |
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 |
A resource certificate request MAY use either of PKCS#10 or Certificate Request Message Format (CRMF). There is no requirement for a CA Issuer to support both request formats, and the choice of formats is a matter for the Issuer and Subject to resolve.
| TOC |
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 Certificate Authority 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 |
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
- The CA SHOULD consider this name as the subject's suggestion, but the CA is NOT bound to honour this suggestion, as the subject name MUST be unique per issuer in certificates issued by this issuer. This field MAY be empty, in which case the issuer MUST generate a subject name that is unique in the context of 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 minimum 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 replying parties, indicating that care should be taken when deciding to use larger than the minimum key size.
| TOC |
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 Certificate Authority 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 |
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
- As the subject name is assigned by the CA, this field MAY be omitted, in which case the subject name will be generated by the CA. If specified, the CA SHOULD consider this as the subject's suggestion, but the CA is NOT bound to honour this suggestion.
- 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 |
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.
- [Note - not for publication: The method of generation and authentication of this field is not specified in this document. It is assumed that the Certificate Issuer and subject have securely exchanged credentials using some other mechanism and the Authenticator Control shall reference these credentials. The desirable properties include the ability to validate the subject and the authenticity of the provided public key. An alternative is to remove this control field from this profile and defer authentication of the request to some unspecified external mechanism.]
| TOC |
The following extensions may appear in a PKCS#10 or CRMF Certificate Request. This profile places the following additional constraints on these extensions.:
- BasicConstraints
- If this is omitted then this field is assigned by the CA.
- The Path Length Constraint is not supported in this Resource Certificate Profile, and this field MUST be omitted in this profile.
- The CA MAY honour 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 MAY honour the SubjectType CA bit set of off (End Entity certificate request).
- 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 CertificateSigning and CRLSigning 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 honoured 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. The preferred URI access mechanism is "rsync", and an RSYNC URI MUST be specified, with an access method 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 access method 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.
- SubjectAlternateName
- This field MAY be present, and the CA MAY use this as the SubjectAltName in the issued Certificate.
- CRLDistributionPoints
- This field is assigned by the CA and MUST be omitted in this profile.
- AuthorityInformationAccess
- This field is assigned by the CA and MAY be omitted in this profile. If specified the CA MAY choose to use this value as the AIA field.
- CertificatePolicies
- This field is assigned by the CA and MUST be omitted in this profile.
- IPResources
- This field is assigned by the CA if omitted by the requestor, and shall be interpreted as a request to certify all IP Resources assigned to the requestor within the context of this CA. If present, this is to be interpreted as the maximal span of IP Resources to be certified by the CA, and the CA may reduce this to the certified IP Resource set based on the IP Resources assigned to the requestor under this CA.
- ASResources
- This field is assigned by the CA if omitted by the requestor, and shall be interpreted as a request to certify all AS Resources assigned to the requestor within the context of this CA. If present, this is to be interpreted as the maximal span of AS Resources to be certified by the CA, and the CA may reduce this to the certified AS Resource set based on the AS Resources assigned to the requestor under this CA.
With the exceptions of the publicKey field and the SubjectInformationAccess field, the CA is permitted to alter any requested field.
| TOC |
This section describes the Resource Certificate validation procedure. This refines the generic procedure described in section 6 of [RFC3280] (Housley, R., Polk, W., Ford, W., and D. Solo, “Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile,” April 2002.):
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:
| TOC |
The trust model that may be used in the resource certificate framework in the context of validation of assertions of public number resources in public-use contexts is one that readily maps to a top-down delegated CA model that mirrors the delegation of resources from a registry distribution point to the entities that are the direct recipients of these resources. Within this trust model these recipient entities may, in turn, operate a registry and perform further allocations or assignments. This is a strict hierarchy, in that any number resource and a corresponding recipient entity has only one 'parent' issuing registry for that number resource (i.e. there is always a unique parent entity for any resource and corresponding entity), and that the issuing registry is not a direct or indirect subordinate recipient entity of the recipient entity in question (i.e. no loops in the model).
The more general consideration is that selection of a trust anchor CA is a task undertaken by relying parties. The structure of the resource certificate profile admits potentially the same variety of trust models as the PKIX profile. There is only one additional caveat on the general applicability of trust models and PKIX frameworks, namely that in forming a validation path to a trust anchor CA, the sequence of certificates MUST preserve the resource extension validation property, as described in Section 6.2 (Resource Extension Validation), and the validation of the first certificate in the validation path not only involves the verification that the certificate was issued by a trust anchor CA, but also that the resource set described in the certificate MUST be encompassed by the trust anchor CA's resource set, as described in Section 6.2 (Resource Extension Validation).
The trust anchor information, describing a CA that serves as a trust anchor, includes the following:
The trust anchor information may be provided to the path processing procedure in the form of a self-signed certificate.
| TOC |
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 |
Validation of signed resource data using a target resource
certificate consists of assembling an ordered sequence (or
'Certificate 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:
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 top-down synchronization pass, seeded with the CAs who operate at the apex of the resource distribution hierarchy, via reference to Issued certificates and their SIA fields as forward pointers, plus the CRLDP. Alternatively, validation may be performed using a bottom-up process with on-line certificate access using the AIA and CRLDP pointers to guide the certificate retrieval process.
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 certificate validator. Some further heuristics may be required to halt the 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 certificate path length exceeds a pre-determined configuration parameter.
| TOC |
The Security Considerations of [RFC3280] (Housley, R., Polk, W., Ford, W., and D. Solo, “Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile,” April 2002.) 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 |
[Note to IANA, to be removed prior to publication: there are no IANA considerations stated in this version of the document.]
| TOC |
The authors would like to acknowledge the valued contributions from Stephen Kent, Robert Kisteleki, Randy Bush, Russ Housley, Ricardo Patara and Rob Austein in the preparation and subsequent review of this document.
| TOC |
| TOC |
The following is an example Resource Certificate.
Certificate Name: hu9fdDBq60mrk7cPRuX2DYuXSRQ-3.cer
Data:
Version: 3
Serial: 3
Signature Algorithm: Hash: SHA256, Encryption: RSA
Issuer: CN=Demo Production APNIC CA - Not for real use,
E=ca@apnic.net
Validity:
Not Before: Thu Jul 27 06:34:04 2006 GMT
Not After: Fri Jul 27 06:34:04 2007 GMT
Subject: CN=APNIC own-use network resources
Subject Key Identifier:
86:ef:5f:74:30:6a:eb:49:ab:93:b7:0f:46:e5:f6:0d:
8b:97:49:14
Subject Key Identifier g(SKI):
hu9fdDBq60mrk7cPRuX2DYuXSRQ
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
RSA Public Key: Modulus:
c1:25:a1:b0:db:89:83:a0:fc:f1:c0:e4:7b:93:76:c1:
59:b7:0d:ac:25:25:ed:88:ce:00:03:ea:99:1a:9a:2a:
0e:10:2e:5f:c0:45:87:47:81:7b:1d:4d:44:aa:65:a3:
f8:07:84:32:ea:04:70:27:05:2b:79:26:e6:e6:3a:cb:
b2:9a:65:6c:c1:4e:d7:35:fb:f6:41:1e:8b:1c:b8:e4:
5a:3a:d6:d0:7b:82:9a:23:03:f8:05:4c:68:42:67:fe:
e7:45:d9:2c:a6:d1:b3:da:cf:ad:77:c5:80:d2:e3:1e:
4d:e8:bf:a2:f2:44:10:b2:2f:61:bc:f4:89:31:54:7c:
56:47:d5:b1:c3:48:26:95:93:c9:6f:70:14:4d:ac:a5:
c2:8e:3d:1f:6d:f8:d4:93:9d:14:c7:15:c7:34:8e:ba:
dd:70:b3:c2:2b:08:78:59:97:dd:e4:34:c7:d8:de:5c:
f7:94:6f:95:59:ba:29:65:f5:98:15:8f:8e:57:59:5d:
92:1f:64:2f:b5:3d:69:2e:69:83:c2:10:c6:aa:8e:03:
d5:69:11:bd:0d:b5:d8:27:6c:74:2f:60:47:dd:2e:87:
24:c2:36:68:2b:3c:fd:bd:22:57:a9:4d:e8:86:3c:27:
03:ce:f0:03:2e:59:ce:05:a7:41:3f:2f:64:50:dd:e7
RSA Public Key: Exponent: 65537
Basic Constraints: CA: TRUE
Subject Info Access:
caRepository - rsync://repository.apnic.net/APNIC/
pvpjvwUeQix2e54X8fGbhmdYMo0/
q66IrWSGuBE7jqx8PAUHAlHCqRw/
hu9fdDBq60mrk7cPRuX2DYuXSRQ/
Key Usage: keyCertSign, cRLSign
CRL Distribution Points:
rsync://repository.apnic.net/APNIC/
pvpjvwUeQix2e54X8fGbhmdYMo0/
q66IrWSGuBE7jqx8PAUHAlHCqRw/
q66IrWSGuBE7jqx8PAUHAlHCqRw.crl
Authority Info Access: caIssuers -
rsync://repository.apnic.net/APNIC/
pvpjvwUeQix2e54X8fGbhmdYMo0/
q66IrWSGuBE7jqx8PAUHAlHCqRw.cer
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
Certificate Policies: 1.3.6.1.5.5.7.14.2
IPv4: 202.12.27.0-202.12.29.255, 202.12.31.0/24,
203.119.0.0/24, 203.119.42.0/23
IPv6: 2001:dc0::/32
ASNum: 4608, 4777, 9545, 18366-18370
Signature:
c5:e7:b2:f3:62:cb:e3:bc:50:1e:6b:90:13:19:f4:5b:
4a:1c:1c:ab:b5:de:b1:a4:22:e0:28:f5:3b:d0:8c:59:
0f:85:f2:06:a6:ae:22:e6:d0:99:fe:cb:eb:1d:6a:e2:
a3:f1:a2:25:95:ec:a7:7d:96:35:dc:16:a7:2f:f5:b7:
11:ba:97:05:57:5f:5d:07:5a:c8:19:c8:27:d3:f7:a3:
92:66:cb:98:2d:e1:7f:a8:25:96:ab:af:ed:87:02:28:
f5:ae:b6:e3:0c:f7:18:82:70:82:f4:76:54:06:b9:9f:
e1:a5:f7:ae:72:dd:ee:f0:d4:d2:78:bb:61:73:cf:51:
26:9f:ea:e8:20:49:06:ba:0c:ac:1d:f6:07:b8:63:a0:
4d:3d:8e:12:84:3a:d0:ec:94:7e:02:db:d4:85:cf:12:
5c:7b:12:1a:52:ab:3c:ba:00:f2:71:e7:f0:fd:b3:f4:
81:e8:a7:cb:07:ca:3a:a4:24:fe:dc:bb:51:16:6a:28:
33:40:a4:64:60:75:0e:c8:06:c8:5f:e5:98:be:16:a3:
bc:19:e7:b3:4f:00:0a:8e:81:33:dd:4c:a0:fb:f5:1c:
1f:1d:3f:b5:90:8b:ec:98:67:76:95:56:8a:94:45:54:
52:3d:1c:69:4c:6f:8a:9f:09:ec:ef:b0:a9:bc:cf:9d
| TOC |
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 |
| 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 |
Copyright © The IETF Trust (2007).
This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the authors retain all their rights.
This document and the information contained herein are provided on an “AS IS” basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
The IETF takes no position regarding the validity or scope of any Intellectual Property Rights or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; nor does it represent that it has made any independent effort to identify any such rights. Information on the procedures with respect to rights in RFC documents can be found in BCP 78 and BCP 79.
Copies of IPR disclosures made to the IETF Secretariat and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification can be obtained from the IETF on-line IPR repository at http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to implement this standard. Please address the information to the IETF at ietf-ipr@ietf.org.
Funding for the RFC Editor function is provided by the IETF Administrative Support Activity (IASA).