| < draft-ietf-sidr-res-certs-05.txt | draft-ietf-sidr-res-certs-06.txt > | |||
|---|---|---|---|---|
| SIDR G. Huston | SIDR G. Huston | |||
| Internet-Draft G. Michaelson | Internet-Draft G. Michaelson | |||
| Intended status: Standards Track R. Loomans | Intended status: Standards Track R. Loomans | |||
| Expires: August 28, 2007 APNIC | Expires: October 12, 2007 APNIC | |||
| February 24, 2007 | April 10, 2007 | |||
| A Profile for X.509 PKIX Resource Certificates | A Profile for X.509 PKIX Resource Certificates | |||
| draft-ietf-sidr-res-certs-05.txt | draft-ietf-sidr-res-certs-06.txt | |||
| Status of this Memo | Status of this Memo | |||
| By submitting this Internet-Draft, each author represents that any | By submitting this Internet-Draft, each author represents that any | |||
| applicable patent or other IPR claims of which he or she is aware | 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 | 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. | aware will be disclosed, in accordance with Section 6 of BCP 79. | |||
| Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
| Task Force (IETF), its areas, and its working groups. Note that | Task Force (IETF), its areas, and its working groups. Note that | |||
| skipping to change at page 1, line 35 ¶ | skipping to change at page 1, line 35 ¶ | |||
| and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
| time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
| material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
| The list of current Internet-Drafts can be accessed at | The list of current Internet-Drafts can be accessed at | |||
| http://www.ietf.org/ietf/1id-abstracts.txt. | http://www.ietf.org/ietf/1id-abstracts.txt. | |||
| The list of Internet-Draft Shadow Directories can be accessed at | The list of Internet-Draft Shadow Directories can be accessed at | |||
| http://www.ietf.org/shadow.html. | http://www.ietf.org/shadow.html. | |||
| This Internet-Draft will expire on August 28, 2007. | This Internet-Draft will expire on October 12, 2007. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (C) The IETF Trust (2007). | Copyright (C) The IETF Trust (2007). | |||
| Abstract | Abstract | |||
| This document defines a standard profile for X.509 certificates for | This document defines a standard profile for X.509 certificates for | |||
| the purposes of supporting validation of assertions of "right-to-use" | the purposes of supporting validation of assertions of "right-to-use" | |||
| of an Internet Number Resource (IP Addresses and Autonomous System | of an Internet Number Resource (IP Addresses and Autonomous System | |||
| skipping to change at page 2, line 25 ¶ | skipping to change at page 2, line 25 ¶ | |||
| 3.5. Subject . . . . . . . . . . . . . . . . . . . . . . . . . 7 | 3.5. Subject . . . . . . . . . . . . . . . . . . . . . . . . . 7 | |||
| 3.6. Valid From . . . . . . . . . . . . . . . . . . . . . . . . 7 | 3.6. Valid From . . . . . . . . . . . . . . . . . . . . . . . . 7 | |||
| 3.7. Valid To . . . . . . . . . . . . . . . . . . . . . . . . . 7 | 3.7. Valid To . . . . . . . . . . . . . . . . . . . . . . . . . 7 | |||
| 3.8. Subject Public Key Info . . . . . . . . . . . . . . . . . 8 | 3.8. Subject Public Key Info . . . . . . . . . . . . . . . . . 8 | |||
| 3.9. Resource Certificate Version 3 Extension Fields . . . . . 8 | 3.9. Resource Certificate Version 3 Extension Fields . . . . . 8 | |||
| 3.9.1. Basic Constraints . . . . . . . . . . . . . . . . . . 9 | 3.9.1. Basic Constraints . . . . . . . . . . . . . . . . . . 9 | |||
| 3.9.2. Subject Key Identifier . . . . . . . . . . . . . . . . 9 | 3.9.2. Subject Key Identifier . . . . . . . . . . . . . . . . 9 | |||
| 3.9.3. Authority Key Identifier . . . . . . . . . . . . . . . 9 | 3.9.3. Authority Key Identifier . . . . . . . . . . . . . . . 9 | |||
| 3.9.4. Key Usage . . . . . . . . . . . . . . . . . . . . . . 10 | 3.9.4. Key Usage . . . . . . . . . . . . . . . . . . . . . . 10 | |||
| 3.9.5. CRL Distribution Points . . . . . . . . . . . . . . . 10 | 3.9.5. CRL Distribution Points . . . . . . . . . . . . . . . 10 | |||
| 3.9.6. Authority Information Access . . . . . . . . . . . . . 10 | 3.9.6. Authority Information Access . . . . . . . . . . . . . 11 | |||
| 3.9.7. Subject Information Access . . . . . . . . . . . . . . 11 | 3.9.7. Subject Information Access . . . . . . . . . . . . . . 11 | |||
| 3.9.8. Certificate Policies . . . . . . . . . . . . . . . . . 12 | 3.9.8. Certificate Policies . . . . . . . . . . . . . . . . . 12 | |||
| 3.9.9. Subject Alternate Name . . . . . . . . . . . . . . . . 12 | 3.9.9. Subject Alternate Name . . . . . . . . . . . . . . . . 12 | |||
| 3.9.10. IP Resources . . . . . . . . . . . . . . . . . . . . . 12 | 3.9.10. IP Resources . . . . . . . . . . . . . . . . . . . . . 13 | |||
| 3.9.11. AS Resources . . . . . . . . . . . . . . . . . . . . . 13 | 3.9.11. AS Resources . . . . . . . . . . . . . . . . . . . . . 13 | |||
| 4. Resource Certificate Revocation List Profile . . . . . . . . . 13 | 4. Resource Certificate Revocation List Profile . . . . . . . . . 13 | |||
| 4.1. Version . . . . . . . . . . . . . . . . . . . . . . . . . 13 | 4.1. Version . . . . . . . . . . . . . . . . . . . . . . . . . 14 | |||
| 4.2. Issuer Name . . . . . . . . . . . . . . . . . . . . . . . 13 | 4.2. Issuer Name . . . . . . . . . . . . . . . . . . . . . . . 14 | |||
| 4.3. This Update . . . . . . . . . . . . . . . . . . . . . . . 14 | 4.3. This Update . . . . . . . . . . . . . . . . . . . . . . . 14 | |||
| 4.4. Next Update . . . . . . . . . . . . . . . . . . . . . . . 14 | 4.4. Next Update . . . . . . . . . . . . . . . . . . . . . . . 14 | |||
| 4.5. Signature . . . . . . . . . . . . . . . . . . . . . . . . 14 | 4.5. Signature . . . . . . . . . . . . . . . . . . . . . . . . 14 | |||
| 4.6. Revoked Certificate List . . . . . . . . . . . . . . . . . 14 | 4.6. Revoked Certificate List . . . . . . . . . . . . . . . . . 14 | |||
| 4.6.1. Serial Number . . . . . . . . . . . . . . . . . . . . 14 | 4.6.1. Serial Number . . . . . . . . . . . . . . . . . . . . 15 | |||
| 4.6.2. Revocation Date . . . . . . . . . . . . . . . . . . . 14 | 4.6.2. Revocation Date . . . . . . . . . . . . . . . . . . . 15 | |||
| 4.7. CRL Extensions . . . . . . . . . . . . . . . . . . . . . . 14 | 4.7. CRL Extensions . . . . . . . . . . . . . . . . . . . . . . 15 | |||
| 4.7.1. Authority Key Identifier . . . . . . . . . . . . . . . 15 | 4.7.1. Authority Key Identifier . . . . . . . . . . . . . . . 15 | |||
| 4.7.2. CRL Number . . . . . . . . . . . . . . . . . . . . . . 15 | 4.7.2. CRL Number . . . . . . . . . . . . . . . . . . . . . . 15 | |||
| 5. Resource Certificate Request Profile . . . . . . . . . . . . . 15 | 5. Resource Certificate Request Profile . . . . . . . . . . . . . 15 | |||
| 5.1. PCKS#10 Profile . . . . . . . . . . . . . . . . . . . . . 15 | 5.1. PCKS#10 Profile . . . . . . . . . . . . . . . . . . . . . 16 | |||
| 5.1.1. PKCS#10 Resource Certificate Request Template | 5.1.1. PKCS#10 Resource Certificate Request Template | |||
| Fields . . . . . . . . . . . . . . . . . . . . . . . . 15 | Fields . . . . . . . . . . . . . . . . . . . . . . . . 16 | |||
| 5.2. CRMF Profile . . . . . . . . . . . . . . . . . . . . . . . 16 | 5.2. CRMF Profile . . . . . . . . . . . . . . . . . . . . . . . 17 | |||
| 5.2.1. CRMF Resource Certificate Request Template Fields . . 17 | 5.2.1. CRMF Resource Certificate Request Template Fields . . 17 | |||
| 5.2.2. Resource Certificate Request Control Fields . . . . . 17 | 5.2.2. Resource Certificate Request Control Fields . . . . . 18 | |||
| 5.3. Certificate Extension Attributes in Certificate | 5.3. Certificate Extension Attributes in Certificate | |||
| Requests . . . . . . . . . . . . . . . . . . . . . . . . . 18 | Requests . . . . . . . . . . . . . . . . . . . . . . . . . 18 | |||
| 6. Resource Certificate Validation . . . . . . . . . . . . . . . 21 | 6. Resource Certificate Validation . . . . . . . . . . . . . . . 20 | |||
| 6.1. Trust Anchors for Resource Certificates . . . . . . . . . 21 | 6.1. Trust Anchors for Resource Certificates . . . . . . . . . 21 | |||
| 6.2. Resource Extension Validation . . . . . . . . . . . . . . 22 | 6.2. Resource Extension Validation . . . . . . . . . . . . . . 22 | |||
| 6.3. Resource Certificate Path Validation . . . . . . . . . . . 23 | 6.3. Resource Certificate Path Validation . . . . . . . . . . . 23 | |||
| 7. Example Use Cases . . . . . . . . . . . . . . . . . . . . . . 24 | 7. Security Considerations . . . . . . . . . . . . . . . . . . . 24 | |||
| 8. Security Considerations . . . . . . . . . . . . . . . . . . . 24 | 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 24 | |||
| 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 24 | 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 24 | |||
| 10. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 24 | 10. Normative References . . . . . . . . . . . . . . . . . . . . . 24 | |||
| 11. Normative References . . . . . . . . . . . . . . . . . . . . . 24 | ||||
| Appendix A. Example Resource Certificate . . . . . . . . . . . . 25 | Appendix A. Example Resource Certificate . . . . . . . . . . . . 25 | |||
| Appendix B. Example Certificate Revocation List . . . . . . . . . 27 | Appendix B. Example Certificate Revocation List . . . . . . . . . 27 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 28 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 28 | |||
| Intellectual Property and Copyright Statements . . . . . . . . . . 30 | Intellectual Property and Copyright Statements . . . . . . . . . . 30 | |||
| 1. Introduction | 1. Introduction | |||
| This document defines a standard profile for X.509 certificates for | This document defines a standard profile for X.509 certificates for | |||
| use in the context of certification of IP Addresses and AS Numbers. | use in the context of certification of IP Addresses and AS Numbers. | |||
| These Resource Certificates are X.509 certificates that conform to | These Resource Certificates are X.509 certificates that conform to | |||
| skipping to change at page 4, line 28 ¶ | skipping to change at page 4, line 28 ¶ | |||
| the subject's private key with the subject's public key contained in | the subject's private key with the subject's public key contained in | |||
| the Resource Certificate, signed by the private key of the | the Resource Certificate, signed by the private key of the | |||
| certificate's issuer. | certificate's issuer. | |||
| In the context of the public Internet, and the use of public number | In the context of the public Internet, and the use of public number | |||
| resources within this context, it is intended that Resource | resources within this context, it is intended that Resource | |||
| Certificates are used in a manner that is explicitly aligned to the | Certificates are used in a manner that is explicitly aligned to the | |||
| public number resource distribution function. Specifically, when a | public number resource distribution function. Specifically, when a | |||
| number resource is allocated or assigned by a number registry to an | number resource is allocated or assigned by a number registry to an | |||
| entity, this allocation is described by an associated Resource | entity, this allocation is described by an associated Resource | |||
| Certificate. This Certificate is issued by the number registry, and | Certificate. This certificate is issued by the number registry, and | |||
| the subject's public key that is being certified by the Issuer | the subject's public key that is being certified by the Issuer | |||
| corresponds to the public key part of a public / private key pair | 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 | that was generated by the same entity who is the recipient of the | |||
| number assignment or allocation. A critical extension to the | number assignment or allocation. A critical extension to the | |||
| certificate enumerates the IP Resources that were allocated or | certificate enumerates the IP Resources that were allocated or | |||
| assigned by the issuer to the entity. In the context of the public | assigned by the issuer to the entity. In the context of the public | |||
| number distribution function, this corresponds to a hierarchical PKI | number distribution function, this corresponds to a hierarchical PKI | |||
| structure, where Resource Certificates are only issued in one | structure, where Resource Certificates are only issued in one | |||
| 'direction' and there is a single unique path of certificated from a | 'direction' and there is a single unique path of certificates from a | |||
| "Root" Certificate Authority to a valid certificate. | 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 | Validation of a Resource Certificate in such a hierarchical PKI can | |||
| be undertaken by establishing a valid issuer - subject certificate | be undertaken by establishing a valid issuer - subject certificate | |||
| chain from a trust anchor certificate authority to the certificate | chain from a certificate issued by a trust anchor Certificate | |||
| [RFC4158], with the additional constraint of ensuring that each | Authority to the certificate [RFC4158], with the additional | |||
| subject's listed resources are fully encompassed by those of the | constraint of ensuring that each subject's listed resources are fully | |||
| issuer at each step in the issuer-subject chain. | 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 | 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 | secure inter-domain routing protocols to convey a right-to-use of an | |||
| IP number resource that is being passed within the routing protocol, | IP number resource that is being passed within the routing protocol, | |||
| to verify legitimacy and correctness of routing information. Related | to verify legitimacy and correctness of routing information. Related | |||
| use contexts include validation of Internet Routing Registry objects, | use contexts include validation of Internet Routing Registry objects, | |||
| validation of routing requests, and detection of potential | validation of routing requests, and detection of potential | |||
| unauthorised used of IP addresses. | unauthorised used of IP addresses. | |||
| This profile defines those fields that are used in a Resource | This profile defines those fields that are used in a Resource | |||
| skipping to change at page 6, line 12 ¶ | skipping to change at page 6, line 17 ¶ | |||
| the immediate superior certificate in the PKI hierarchy (the | the immediate superior certificate in the PKI hierarchy (the | |||
| certificate where this certificate's issuer is the subject) has a | certificate where this certificate's issuer is the subject) has a | |||
| resource set (called here the "Issuer's resource set") that must | resource set (called here the "Issuer's resource set") that must | |||
| encompass the resource set of the issued certificate. In this | encompass the resource set of the issued certificate. In this | |||
| context "encompass" allows for the issuer's resource set to be | context "encompass" allows for the issuer's resource set to be | |||
| the same as, or a strict superset of, any subject's resource set. | the same as, or a strict superset of, any subject's resource set. | |||
| A test of certificate validity entails the identification of a | A test of certificate validity entails the identification of a | |||
| sequence of valid certificates in an issuer-subject chain (where the | sequence of valid certificates in an issuer-subject chain (where the | |||
| subject field of one certificate appears as the issuer in the next | subject field of one certificate appears as the issuer in the next | |||
| certificate in the sequence) from one, and only one, trust anchor to | certificate in the sequence) from a trust anchor certificate | |||
| the certificate being validated, and that the resource extensions in | authority to the certificate being validated, and that the resource | |||
| this certificate sequence from the trust anchor to the certificate | extensions in this certificate sequence from the trust anchor's | |||
| form a sequence of encompassing relationships. | issued certificate to the certificate being validated form a sequence | |||
| of encompassing relationships in terms of the resources described in | ||||
| the resource extension. | ||||
| 3. Resource Certificate Fields | 3. Resource Certificate Fields | |||
| A Resource Certificate is a valid X.509 v3 public key certificate, | A Resource Certificate is a valid X.509 v3 public key certificate, | |||
| consistent with the PKIX profile [RFC3280], containing the fields | consistent with the PKIX profile [RFC3280], containing the fields | |||
| listed in this section. Unless specifically noted as being OPTIONAL, | listed in this section. Unless specifically noted as being OPTIONAL, | |||
| all the fields listed here MUST be present, and any other field MUST | all the fields listed here MUST be present, and any other field MUST | |||
| NOT appear in a conforming Resource Certificate. Where a field value | NOT appear in a conforming Resource Certificate. Where a field value | |||
| is specified here this value MUST be used in conforming Resource | is specified here this value MUST be used in conforming Resource | |||
| Certificates. | Certificates. | |||
| skipping to change at page 6, line 44 ¶ | skipping to change at page 6, line 51 ¶ | |||
| The serial number value is a positive integer that is unique per | The serial number value is a positive integer that is unique per | |||
| Issuer. | Issuer. | |||
| 3.3. Signature Algorithm | 3.3. Signature Algorithm | |||
| This field describes the algorithm used to compute the signature on | This field describes the algorithm used to compute the signature on | |||
| this certificate. This profile specifies a minimum of SHA-256 with | this certificate. This profile specifies a minimum of SHA-256 with | |||
| RSA (sha256WithRSAEncryption), and allows for the use of SHA-384 or | RSA (sha256WithRSAEncryption), and allows for the use of SHA-384 or | |||
| SHA-512. Accordingly, the value for this field MUST be one of the | SHA-512. Accordingly, the value for this field MUST be one of the | |||
| OID values { pkcs-1 11 }, { pkcs-1 11 } or { pkcs-1 13 } [RFC4055]. | OID values { pkcs-1 11 }, { pkcs-1 12 } or { pkcs-1 13 } [RFC4055]. | |||
| It is noted that larger key sizes are computationally expensive for | It is noted that larger key sizes are computationally expensive for | |||
| both the CA and replying parties, indicating that care should be | both the CA and replying parties, indicating that care should be | |||
| taken when deciding to use larger than the minimum key size. | taken when deciding to use larger than the minimum key size. | |||
| 3.4. Issuer | 3.4. Issuer | |||
| This field identifies the entity that has signed and issued the | This field identifies the entity that has signed and issued the | |||
| certificate. The value of this field is a valid X.501 name. | certificate. The value of this field is a valid X.501 name. | |||
| skipping to change at page 8, line 27 ¶ | skipping to change at page 8, line 31 ¶ | |||
| with a validity interval that exceeds the validity interval of the | with a validity interval that exceeds the validity interval of the | |||
| CA's certificate. | CA's certificate. | |||
| 3.8. Subject Public Key Info | 3.8. Subject Public Key Info | |||
| This field specifies the subject's public key and the algorithm with | 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, | which the key is used. The public key algorithm MUST be RSA, and, | |||
| accordingly, the OID for the public key algorithm is | 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 | 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 | bits. In the context of certifying resources it is recommended that | |||
| certificates that are intended to be used as root certificates, and | the key size of keys that are intended to be used at the apex of a | |||
| their immediate subordinates SHOULD use a minimum key size of 2048 | certificate issuance hierarchy, and their immediate subordinates, | |||
| bits. Immediate subordinates of these certificates, when used in the | SHOULD use a minimum key size of 2048 bits. Immediate subordinates | |||
| context of continued level of high trust, SHOULD use a minimum key | of these certificates, when used in the context of continued levels | |||
| size of 2048 bits. | of high trust, SHOULD use a minimum key size of 2048 bits. | |||
| In the application of this profile to certification of public number | In the application of this profile to certification of public number | |||
| resources, it would be consistent with this recommendation that the | resources, it would be consistent with this recommendation that the | |||
| Regional Internet Registries use a key size of 2048 bits, and that | Regional Internet Registries use a key size of 2048 bits, and that | |||
| their immediate subordinate certificate authorities also use a key | their immediate subordinate certificate authorities also use a key | |||
| size of 2048 bits. All other subordinate certificates MAY use a key | size of 2048 bits. All other subordinate certificates MAY use a key | |||
| size of 1024 bits. | size of 1024 bits. | |||
| It is noted that larger key sizes are computationally expensive for | It is noted that larger key sizes are computationally expensive for | |||
| both the CA and replying parties, indicating that care should be | both the CA and replying parties, indicating that care should be | |||
| skipping to change at page 9, line 47 ¶ | skipping to change at page 9, line 50 ¶ | |||
| The Key Identifier used here is the 160-bit SHA-1 hash of the value | 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 | of the DER-encoded ASN.1 bit string of the subject public key, as | |||
| described in Section 4.2.1.2 of [RFC3280]. | described in Section 4.2.1.2 of [RFC3280]. | |||
| 3.9.3. Authority Key Identifier | 3.9.3. Authority Key Identifier | |||
| The subject key identifier extension provides a means of identifying | The subject key identifier extension provides a means of identifying | |||
| certificates that are signed by the issuer's private key, by | certificates that are signed by the issuer's private key, by | |||
| providing a hash value of the issuer's public key. To facilitate | providing a hash value of the issuer's public key. To facilitate | |||
| path construction, this extension MUST appear in all Resource | path construction, this extension MUST appear in all Resource | |||
| Certificates. The keyIdentifier subfield MUST be present in all | Certificates. The keyIdentifier sub field MUST be present in all | |||
| Resource Certificates, with the exception of a CA who issues a "self- | Resource Certificates, with the exception of a CA who issues a "self- | |||
| signed" certificate. The authorityCertIssuer and | signed" certificate. The authorityCertIssuer and | |||
| authorityCertSerialNumber subfields MUST NOT be present. This | authorityCertSerialNumber sub fields MUST NOT be present. This | |||
| extension is non-critical. | extension is non-critical. | |||
| The Key Identifier used here is the 160-bit SHA-1 hash of the value | 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 | of the DER-encoded ASN.1 bit string of the issuer's public key, as | |||
| described in Section 4.2.1.1 of [RFC3280]. | described in Section 4.2.1.1 of [RFC3280]. | |||
| 3.9.4. Key Usage | 3.9.4. Key Usage | |||
| This describes the purpose of the certificate. This is a critical | This describes the purpose of the certificate. This is a critical | |||
| extension, and it MUST be present. | extension, and it MUST be present. | |||
| skipping to change at page 10, line 29 ¶ | skipping to change at page 10, line 32 ¶ | |||
| 3.9.5. CRL Distribution Points | 3.9.5. CRL Distribution Points | |||
| This field (CRLDP) identifies the location(s) of the CRL(s) | This field (CRLDP) identifies the location(s) of the CRL(s) | |||
| associated with certificates issued by this Issuer. This profile | associated with certificates issued by this Issuer. This profile | |||
| uses the URI form of object identification. The preferred URI access | uses the URI form of object identification. The preferred URI access | |||
| mechanism is a single RSYNC URI ("rsync://") [rsync] that references | mechanism is a single RSYNC URI ("rsync://") [rsync] that references | |||
| a single inclusive CRL for each issuer. | a single inclusive CRL for each issuer. | |||
| In this profile the certificate issuer is also the CRL issuer, | In this profile the certificate issuer is also the CRL issuer, | |||
| implying at the CRLIssuer subfield MUST be omitted, and the | implying at the CRLIssuer sub field MUST be omitted, and the | |||
| distributionPoint subfield MUST be present. The Reasons subfield | distributionPoint sub field MUST be present. The Reasons sub field | |||
| MUST be omitted. | MUST be omitted. | |||
| The distributionPoint MUST contain general names, and MUST NOT | The distributionPoint MUST contain general names, and MUST NOT | |||
| contain a nameRelativeToCRLIssuer. The type of the general name MUST | contain a nameRelativeToCRLIssuer. The type of the general name MUST | |||
| be of type URI. In this profile, the scope of the CRL is specified | be of type URI. In this profile, the scope of the CRL is specified | |||
| to be all certificates issued by this issuer. The sequence of | to be all certificates issued by this CA issuer using a given key | |||
| distributionPoint values MUST contain only a single | pair. The sequence of distributionPoint values MUST contain only a | |||
| DistributionPointName set. The DistributionPointName set MAY contain | single DistributionPointName set. The DistributionPointName set MAY | |||
| more than one URI value. An RSYNC URI MUST be present in the | contain more than one URI value. An RSYNC URI MUST be present in the | |||
| DistributionPointName set, and reference the most recent instance of | DistributionPointName set, and reference the most recent instance of | |||
| this issuer's certificate revocation list. Other access form URIs | this issuer's certificate revocation list. Other access form URIs | |||
| MAY be used in addition to the RSYNC URI. | MAY be used in addition to the RSYNC URI. | |||
| This extension MUST be present and it is non-critical. | 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. | ||||
| 3.9.6. Authority Information Access | 3.9.6. Authority Information Access | |||
| This field (AIA) identifies the point of publication of the | This field (AIA) identifies the point of publication of the | |||
| certificate that is issued by the issuer's immediate superior CA, | certificate that is issued by the issuer's immediate superior CA, | |||
| where this certificate's issuer is the subject. In this profile a | where this certificate's issuer is the subject. In this profile a | |||
| single reference object to publication location of the immediate | single reference object to publication location of the immediate | |||
| superior certificate MUST be used. | 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 | This profile uses a URI form of object identification. The preferred | |||
| URI access mechanisms is "rsync", and an RSYNC URI MUST be specified | URI access mechanisms is "rsync", and an RSYNC URI MUST be specified | |||
| with an accessMethod value of id-ad-caIssuers. The URI MUST | with an accessMethod value of id-ad-caIssuers. The URI MUST | |||
| reference the point of publication of the certificate where this | reference the point of publication of the certificate where this | |||
| issuer is the subject (the issuer's immediate superior certificate). | issuer is the subject (the issuer's immediate superior certificate). | |||
| Other access method URIs referencing the same object MAY also be | Other access method URIs referencing the same object MAY also be | |||
| included in the value sequence of this extension. | included in the value sequence of this extension. | |||
| When an Issuer re-issues a CA certificate,the subordinate | When an Issuer re-issues a CA certificate, the subordinate | |||
| certificates need to reference this new certificate via the AIA | certificates need to reference this new certificate via the AIA | |||
| field. In order to avoid the situation where a certificate re- | field. In order to avoid the situation where a certificate re- | |||
| issuance in and of itself implies a requirement to re-issue all | issuance in and of itself implies a requirement to re-issue all | |||
| subordinate certificates, CA Certificate issuers SHOULD use a | subordinate certificates, CA Certificate issuers SHOULD use a | |||
| persistent URL name scheme for issued certificates. This implies | persistent URL name scheme for issued certificates. This implies | |||
| that re-issued certificates overwrite prevously issued certificates | that re-issued certificates overwrite previously issued certificates | |||
| to the same subject, and use the same publication name as previously | to the same subject, and use the same publication name as previously | |||
| issued certificates. In this way subordinate certificates can | issued certificates. In this way subordinate certificates can | |||
| maintain a constant AIA field value and need not be re-issued due | maintain a constant AIA field value and need not be re-issued due | |||
| solely to a re-issue of the superior certificate. The issuers' | solely to a re-issue of the superior certificate. The issuers' | |||
| policy with respect to the persistence of name objects of issued | policy with respect to the persistence of name objects of issued | |||
| certificates MUST be specified in the Issuer's Certificate Practice | certificates MUST be specified in the Issuer's Certificate Practice | |||
| Statement. | Statement. | |||
| Alternatively, if the certificate issuer does not maintain a | Alternatively, if the certificate issuer does not maintain a | |||
| persistent URL for the must recent issued certificate for each | persistent URL for the must recent issued certificate for each | |||
| subject, then the entity who is subject of a certificate MAY keep the | subject, then the entity who is subject of a certificate MAY keep the | |||
| most recent copy of the superior's issued certificate in the | most recent copy of the superior's issued certificate in the | |||
| subject's publication space, and set the AIA to reference this | subject's publication space, and set the AIA to reference this | |||
| subject-maintained copy of the immediate superior certificate. | subject-maintained copy of the immediate superior certificate. | |||
| In the case of self-signed certificates that undertake the role of a | This extension is non-critical. | |||
| "root" trust anchor within a certificate hierarchy the AIA extension | ||||
| field SHOULD be omitted. In all other cases this field MUST be | ||||
| present, and is non-critical. | ||||
| 3.9.7. Subject Information Access | 3.9.7. Subject Information Access | |||
| This field (SIA) identifies the location of information and services | This field (SIA) identifies the location of information and services | |||
| relating to the subject of the certificate in which the SIA extension | relating to the subject of the certificate in which the SIA extension | |||
| appears. Where the Subject is a CA in this profile, this information | appears. Where the Subject is a CA in this profile, this information | |||
| and service collection will include all current valid certificates | and service collection will include all current valid certificates | |||
| that have been issued by this subject that are signed with the | that have been issued by this subject that are signed with the | |||
| subject's corresponding private key. | subject's corresponding private key. | |||
| This profile uses a URI form of location identification. The | This profile uses a URI form of location identification. The | |||
| preferred URI access mechanism is "rsync", and an RSYNC URI MUST be | preferred URI access mechanism is "rsync", and an RSYNC URI MUST be | |||
| specified, with an access method value of id-ad-caRepository when the | 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 | subject of the certificate is a CA. The RSYNC URI must reference an | |||
| object collection rather than an individual object and MUST use a | object collection rather than an individual object and MUST use a | |||
| trailing '/' in the URI. Other access method URIs that reference the | trailing '/' in the URI. Other access method URIs that reference the | |||
| same location MAY also be included in the value sequence of this | same location MAY also be included in the value sequence of this | |||
| extension. | 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- | This field MUST be present when the subject is a CA, and is non- | |||
| critical. | critical. | |||
| For End Entity certificates, where the subject is not a CA, this | For End Entity certificates, where the subject is not a CA, this | |||
| field MAY be present, and is non-critical. If present, it references | field MAY be present, and is non-critical. If present, it references | |||
| the location where objects signed by the key pair associated with the | the location where objects signed by the key pair associated with the | |||
| End Entity certificate can be accessed. The id-ad- | End Entity certificate can be accessed. The id-ad- | |||
| signedObjectRepository OID is used when the subject is an End Entity | signedObjectRepository OID is used when the subject is an End Entity | |||
| and it publishes objects signed with the matching private key in a | and it publishes objects signed with the matching private key in a | |||
| skipping to change at page 13, line 20 ¶ | skipping to change at page 13, line 32 ¶ | |||
| include an IP Resources extension, an AS Resources extension, or both | include an IP Resources extension, an AS Resources extension, or both | |||
| extensions. | extensions. | |||
| This extension, if present, MUST be marked critical. | This extension, if present, MUST be marked critical. | |||
| 4. Resource Certificate Revocation List Profile | 4. Resource Certificate Revocation List Profile | |||
| Each CA MUST issue a version 2 Certificate Revocation List (CRL), | Each CA MUST issue a version 2 Certificate Revocation List (CRL), | |||
| consistent with [RFC3280]. The CRL issuer is the CA, and no indirect | consistent with [RFC3280]. The CRL issuer is the CA, and no indirect | |||
| CRLs are supported in this profile. The scope of the CRL MUST be | CRLs are supported in this profile. The scope of the CRL MUST be | |||
| "all certificates issued by this CA". The contents of the CRL are a | "all certificates issued by this CA using a given key pair". The | |||
| list of all non-expired certificates issued by the CA that have been | contents of the CRL are a list of all non-expired certificates issued | |||
| revoked by the CA. | 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 | An entry MUST NOT be removed from the CRL until it appears on one | |||
| regularly scheduled CRL issued beyond the revoked certificate's | regularly scheduled CRL issued beyond the revoked certificate's | |||
| validity period. | validity period. | |||
| This profile does not allow issuance of Delta CRLs. | This profile does not allow issuance of Delta CRLs. | |||
| The profile does not allow the issuance of multiple current CRLs with | The profile allows the issuance of multiple current CRLs with | |||
| different scope by a single CA. | 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 | No CRL fields other than those listed below are allowed in CRLs | |||
| issued under this profile. Unless otherwise indicated, these fields | issued under this profile. Unless otherwise indicated, these fields | |||
| MUST be present in the CRL. Where two or more CRLs issued by a | MUST be present in the CRL. Where two or more CRLs issued by a | |||
| single CA are present in a certificate repository, the CRL with the | single CA with the same scope, the CRL with the highest value of the | |||
| highest value of the "CRL Number" field supersedes all other CRLs | "CRL Number" field supersedes all other CRLs issued by this CA. | |||
| issued by this CA. | ||||
| 4.1. Version | 4.1. Version | |||
| Resource Certificate Revocation Lists are Version 2 certificates (the | Resource Certificate Revocation Lists are Version 2 certificates (the | |||
| integer value of this field is 1). | integer value of this field is 1). | |||
| 4.2. Issuer Name | 4.2. Issuer Name | |||
| The value of this field is the X.501 name of the issuing CA who is | 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 | also the signer of the CRL, and is identical to the Issuer name in | |||
| skipping to change at page 14, line 21 ¶ | skipping to change at page 14, line 32 ¶ | |||
| 4.4. Next Update | 4.4. Next Update | |||
| This is the date and time by which the next CRL SHOULD be issued. | 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 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 2049, and MUST be encoded as GeneralizedTime for dates in | |||
| the year 2050 or later. | the year 2050 or later. | |||
| 4.5. Signature | 4.5. Signature | |||
| This field contains the algorithm used to sign this CRL. The | This field contains the algorithm used to sign this CRL. This | |||
| signature algorithm MUST be SHA-256 with RSA. This field MUST be | profile specifies a minimum of SHA-256 with RSA | |||
| present. | (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. | ||||
| 4.6. Revoked Certificate List | 4.6. Revoked Certificate List | |||
| When there are no revoked certificates, then the revoked certificate | When there are no revoked certificates, then the revoked certificate | |||
| list MUST be absent. | list MUST be absent. | |||
| For each revoked resource certificate only the following fields MUST | For each revoked resource certificate only the following fields MUST | |||
| be present. No CRL entry extensions are supported in this profile, | be present. No CRL entry extensions are supported in this profile, | |||
| and CRL entry extensions MUST NOT be present in a CRL. | and CRL entry extensions MUST NOT be present in a CRL. | |||
| skipping to change at page 15, line 18 ¶ | skipping to change at page 15, line 35 ¶ | |||
| identifying the public key corresponding to the private key used to | identifying the public key corresponding to the private key used to | |||
| sign a CRL. Conforming CRL issuers MUST use the key identifier | sign a CRL. Conforming CRL issuers MUST use the key identifier | |||
| method. The syntax for this CRL extension is defined in section | method. The syntax for this CRL extension is defined in section | |||
| 4.2.1.1 of [RFC3280]. | 4.2.1.1 of [RFC3280]. | |||
| This extension is non-critical. | This extension is non-critical. | |||
| 4.7.2. CRL Number | 4.7.2. CRL Number | |||
| The CRL Number extension conveys a monotonically increasing sequence | The CRL Number extension conveys a monotonically increasing sequence | |||
| number of positive integers for a given CA. This extension allows | number of positive integers for a given CA and scope. This extension | |||
| users to easily determine when a particular CRL supersedes another | allows users to easily determine when a particular CRL supersedes | |||
| CRL. The highest CRL Number value supersedes all other CRLs issued | another CRL. The highest CRL Number value supersedes all other CRLs | |||
| by the CA within the scope of this profile. | issued by the CA with the same scope. | |||
| This extension is non-critical. | This extension is non-critical. | |||
| 5. Resource Certificate Request Profile | 5. Resource Certificate Request Profile | |||
| 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. | ||||
| 5.1. PCKS#10 Profile | 5.1. PCKS#10 Profile | |||
| This profile refines the specification in [RFC2986], as it relates to | This profile refines the specification in [RFC2986], as it relates to | |||
| Resource Certificates. A Certificate Request Message object, | Resource Certificates. A Certificate Request Message object, | |||
| formatted according to PKCS#10, is passed to a Certificate Authority | formatted according to PKCS#10, is passed to a Certificate Authority | |||
| as the initial step in issuing a certificate. | as the initial step in issuing a certificate. | |||
| This request may be conveyed to the CA via a Registration Authority | This request may be conveyed to the CA via a Registration Authority | |||
| (RA), acting under the direction of a Subject. | (RA), acting under the direction of a Subject. | |||
| skipping to change at page 16, line 34 ¶ | skipping to change at page 17, line 7 ¶ | |||
| The only attribute used in this profile is the ExtensionRequest | The only attribute used in this profile is the ExtensionRequest | |||
| attribute as defined in [RFC2985]. This attribute contains X509v3 | attribute as defined in [RFC2985]. This attribute contains X509v3 | |||
| Certificate Extensions. The profile for extensions in certificate | Certificate Extensions. The profile for extensions in certificate | |||
| requests is specified in Section 5.3. | requests is specified in Section 5.3. | |||
| This profile applies the following additional constraints to fields | This profile applies the following additional constraints to fields | |||
| that MAY appear in a CertificationRequest Object: | that MAY appear in a CertificationRequest Object: | |||
| signatureAlgorithm | signatureAlgorithm | |||
| Must be SHA-256 with RSA encryption (sha256WithRSAEncryption). | This profile specifies a minimum of SHA-256 with RSA | |||
| Accordingly, the value for this field MUST be the OID value | (sha256WithRSAEncryption), and allows for the use of SHA-384 or | |||
| 1.2.840.113549.1.1.11 | SHA-512. Accordingly, the value for this field MUST be one of the | |||
| OID values { pkcs-1 11 }, { pkcs-1 12 } or { pkcs-1 13 } | ||||
| [RFC4055]. | ||||
| It is noted that larger key sizes are computationally expensive | ||||
| for both the CA and replying parties, indicating that care should | ||||
| be taken when deciding to use larger than the minimum key size. | ||||
| 5.2. CRMF Profile | 5.2. CRMF Profile | |||
| This profile refines the Certificate Request Message Format (CRMF) | This profile refines the Certificate Request Message Format (CRMF) | |||
| specification in [RFC4211], as it relates to Resource Certificates. | specification in [RFC4211], as it relates to Resource Certificates. | |||
| A Certificate Request Message object, formatted according to the | A Certificate Request Message object, formatted according to the | |||
| CRMF, is passed to a Certificate Authority as the initial step in | CRMF, is passed to a Certificate Authority as the initial step in | |||
| issuing a certificate. | issuing a certificate. | |||
| This request may be conveyed to the CA via a Registration Authority | This request may be conveyed to the CA via a Registration Authority | |||
| skipping to change at page 18, line 16 ¶ | skipping to change at page 18, line 43 ¶ | |||
| It is noted that the intended model of authentication of the | It is noted that the intended model of authentication of the | |||
| subject is a long term one, and the advice as offered in [RFC4211] | subject is a long term one, and the advice as offered in [RFC4211] | |||
| is that the Authenticator Control field be used. | is that the Authenticator Control field be used. | |||
| [Note - not for publication: The method of generation and | [Note - not for publication: The method of generation and | |||
| authentication of this field is not specified in this document. | authentication of this field is not specified in this document. | |||
| It is assumed that the Certificate Issuer and subject have | It is assumed that the Certificate Issuer and subject have | |||
| securely exchanged credentials using some other mechanism and the | securely exchanged credentials using some other mechanism and the | |||
| Authenticator Control shall reference these credentials. The | Authenticator Control shall reference these credentials. The | |||
| desirable properties include the ability to validate the subject | desirable properties include the ability to validate the subject | |||
| and the authenticity of the provided public key.] | and the authenticity of the provided public key. An alternative | |||
| is to remove this control field from this profile and defer | ||||
| Resource Class | authentication of the request to some unspecified external | |||
| The profile defines an additional control for Resource Certificate | mechanism.] | |||
| Requests, namely a Resource Class control. | ||||
| The Subject MUST specify a Resource Class value as specified by | ||||
| the CA to which the request refers. The CA will issue a | ||||
| certificate with the IP Address and AS Number resources that match | ||||
| the subject's right-of-use of these resources within the class of | ||||
| resources specified by the Resource Class control value. | ||||
| [Note - not for publication: This specification of the resource | ||||
| class is related the various forms of resource allocation which | ||||
| imply that an entity may be the holder of resources with differing | ||||
| validation dates and differing validation paths, even when the | ||||
| entity is the recipient of resources allocated from a single | ||||
| 'upstream' issuing registry. Due to this consideration it may not | ||||
| be possible to issue a single certificate with an all-encompassing | ||||
| resource set. Alternatively it is possible to define a structure | ||||
| where there is no Resource Class specified and the issuer issues a | ||||
| set of spanning certificates for all resources held by the subject | ||||
| (i.e. all resources that fall under the subject's "right-of-use")] | ||||
| 5.3. Certificate Extension Attributes in Certificate Requests | 5.3. Certificate Extension Attributes in Certificate Requests | |||
| This profile allows the following extensions to appear in a PKCS#10 | The following extensions may appear in a PKCS#10 or CRMF Certificate | |||
| and CRMF Certificate Request: | Request. This profile places the following additional constraints on | |||
| these extensions.: | ||||
| BasicConstraints | BasicConstraints | |||
| If this is omitted then this field is assigned by the CA. | If this is omitted then this field is assigned by the CA. | |||
| The Path Length Constraint is not supported in this Resource | The Path Length Constraint is not supported in this Resource | |||
| Certificate Profile, and this field MUST be omitted in this | Certificate Profile, and this field MUST be omitted in this | |||
| profile. | profile. | |||
| The CA MAY honour the SubjectType CA bit set to on. If this bit | 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 | is set, then it indicates that the Subject is allowed to issue | |||
| skipping to change at page 19, line 23 ¶ | skipping to change at page 19, line 30 ¶ | |||
| This field is assigned by the CA and MUST be omitted in this | This field is assigned by the CA and MUST be omitted in this | |||
| profile. | profile. | |||
| AuthorityKeyIdentifier | AuthorityKeyIdentifier | |||
| This field is assigned by the CA and MUST be omitted in this | This field is assigned by the CA and MUST be omitted in this | |||
| profile. | profile. | |||
| KeyUsage | KeyUsage | |||
| The CA MAY honor KeyUsage extensions of CertificateSigning and | The CA MAY honor KeyUsage extensions of CertificateSigning and | |||
| CRLSigning if present, as long as this is consistent with the | CRLSigning if present, as long as this is consistent with the | |||
| BasicConstraints SubjectType subfield, when specified. | BasicConstraints SubjectType sub field, when specified. | |||
| SubjectInformationAccess | SubjectInformationAccess | |||
| This field MAY be honoured by the CA on the condition that the CA | This field MUST be present when the subject is a CA, and the field | |||
| issues a certificate with the BasicConstraints SubjectType CA bit | value SHOULD be honoured by the CA. If the CA is not able to | |||
| set and the KeyUsage set to CertificateSigning and CRLSigning. | honor the requested field value, then the CA MUST reject the | |||
| Certificate Request. | ||||
| If specified, this field contains a URI of the form of a single | ||||
| RSYNC URI that references a single publication point that will be | ||||
| used by the subject for all certificates that published by the | ||||
| subject for subordinate certificates, and MUST be honoured by the | ||||
| CA. | ||||
| If this field is omitted and KeyUsage is set to CertificateSigning | This field (SIA) identifies the location of information and | |||
| then the CA MUST generate a URI value for the | services relating to the subject of the certificate in which the | |||
| SubjectInformationAccess field based on out-of-band information | SIA extension appears. Where the Subject is a CA in this profile, | |||
| that has been passed between the CA and the requester. | 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. | ||||
| [Note not for publication - if this field is missing than it is | This profile uses a URI form of location identification. The | |||
| also an option for the Issuer to deny the request and not issue a | preferred URI access mechanism is "rsync", and an RSYNC URI MUST | |||
| certificate if the issued certificate was to have the CA bit set.] | 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 | SubjectAlternateName | |||
| This field MAY be present, and the CA MAY use this as the | This field MAY be present, and the CA MAY use this as the | |||
| SubjectAltName in the issued Certificate. | SubjectAltName in the issued Certificate. | |||
| CRLDistributionPoints | CRLDistributionPoints | |||
| This field is assigned by the CA and MUST be omitted in this | This field is assigned by the CA and MUST be omitted in this | |||
| profile. | profile. | |||
| AuthorityInformationAccess | AuthorityInformationAccess | |||
| This field is assigned by the CA and MAY be omitted in this | 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 | profile. If specified the CA MAY choose to use this value as the | |||
| AIA field. | AIA field. | |||
| SubjectInformationAccess | ||||
| This field MAY be honoured by the CA on the condition that the CA | ||||
| issues a certificate with the BasicConstraints SubjectType CA bit | ||||
| set and the KeyUsage set to CertificateSigning and CRLSigning. | ||||
| If specified, this field contains a URI of the form of a single | ||||
| rsync URL that references a single publication point that will be | ||||
| used by the subject for all certificates that published by the | ||||
| subject for subordinate certificates, and MUST be honoured by the | ||||
| CA. | ||||
| If this field is omitted and KeyUsage is set to CertificateSigning | ||||
| then the CA MUST generate a SIA URL based on out-of-band | ||||
| information that has been passed between the CA and the requester. | ||||
| [Note not for publication - the same considerations with respect | ||||
| to the CRL DistributionPoints apply to this field as well. i.e. if | ||||
| this field is missing than it is also an option for the Issuer to | ||||
| deny the request and not issue a certificate if the issued | ||||
| certificate was to have the CA bit set.] | ||||
| CertificatePolicies | CertificatePolicies | |||
| This field is assigned by the CA and MUST be omitted in this | This field is assigned by the CA and MUST be omitted in this | |||
| profile. | profile. | |||
| SubjectAlternateName | ||||
| This field MAY be present, and the CA MAY use this as the | ||||
| SubjectAltName in the issued Certificate. | ||||
| IPResources | IPResources | |||
| This field is assigned by the CA if omitted by the requestor, and | This field is assigned by the CA if omitted by the requestor, and | |||
| shall be intereted as a request to certify all IP Resources | shall be interpreted as a request to certify all IP Resources | |||
| assigned to the requestor within the context of this CA. If | assigned to the requestor within the context of this CA. If | |||
| present, this is to be interepreted as the maximal set of IP | 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 | Resources to be certified by the CA, and the CA may reduce this to | |||
| the the certified IP Resource set based on the IP Resources | the certified IP Resource set based on the IP Resources assigned | |||
| assigned to the request under this CA. | to the requestor under this CA. | |||
| ASResources | ASResources | |||
| This field is assigned by the CA if omitted by the requestor, and | This field is assigned by the CA if omitted by the requestor, and | |||
| shall be intereted as a request to certify all AS Resources | shall be interpreted as a request to certify all AS Resources | |||
| assigned to the requestor within the context of this CA. If | assigned to the requestor within the context of this CA. If | |||
| present, this is to be interepreted as the maximal set of AS | 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 | Resources to be certified by the CA, and the CA may reduce this to | |||
| the the certified IP Resource set based on the AS Resources | the certified AS Resource set based on the AS Resources assigned | |||
| assigned to the request under this CA. | to the requestor under this CA. | |||
| With the exception of the publicKey field, the CA is permitted to | With the exceptions of the publicKey field and the | |||
| alter any requested field. | SubjectInformationAccess field, the CA is permitted to alter any | |||
| requested field. | ||||
| 6. Resource Certificate Validation | 6. Resource Certificate Validation | |||
| This section describes the Resource Certificate validation procedure. | This section describes the Resource Certificate validation procedure. | |||
| This refines the generic procedure described insection 6 of | This refines the generic procedure described in section 6 of | |||
| [RFC3280]: | [RFC3280]: | |||
| To meet this goal, the path validation process verifies, among other | To meet this goal, the path validation process verifies, among other | |||
| things, that a prospective certification path (a sequence of n | things, that a prospective certification path (a sequence of n | |||
| certificates) satisfies the following conditions: | certificates) satisfies the following conditions: | |||
| 1. for all x in {1, ..., n-1}, the subject of certificate x is the | 1. for all x in {1, ..., n-1}, the subject of certificate x is the | |||
| issuer of certificate x+1; | issuer of certificate x+1; | |||
| 2. certificate 1 is issued by a trust anchor; | 2. certificate 1 is issued by a trust anchor; | |||
| skipping to change at page 21, line 51 ¶ | skipping to change at page 21, line 35 ¶ | |||
| down delegated CA model that mirrors the delegation of resources from | down delegated CA model that mirrors the delegation of resources from | |||
| a registry distribution point to the entities that are the direct | a registry distribution point to the entities that are the direct | |||
| recipients of these resources. Within this trust model these | recipients of these resources. Within this trust model these | |||
| recipient entities may, in turn, operate a registry and perform | recipient entities may, in turn, operate a registry and perform | |||
| further allocations or assignments. This is a strict hierarchy, in | further allocations or assignments. This is a strict hierarchy, in | |||
| that any number resource and a corresponding recipient entity has | that any number resource and a corresponding recipient entity has | |||
| only one 'parent' issuing registry for that number resource (i.e. | only one 'parent' issuing registry for that number resource (i.e. | |||
| there is always a unique parent entity for any resource and | there is always a unique parent entity for any resource and | |||
| corresponding entity), and that the issuing registry is not a direct | corresponding entity), and that the issuing registry is not a direct | |||
| or indirect subordinate recipient entity of the recipient entity in | or indirect subordinate recipient entity of the recipient entity in | |||
| question (i.e. no loops in the hierarchy). The only exception to the | question (i.e. no loops in the model). | |||
| "no loop" condition would be where a putative trust anchor may issue | ||||
| a self-signed root certificate. | ||||
| The more general consideration is that selection of a trust anchor is | The more general consideration is that selection of a trust anchor CA | |||
| a task undertaken by relying parties. The structure of the resource | is a task undertaken by relying parties. The structure of the | |||
| certificate profile admits potentially the same variety of trust | resource certificate profile admits potentially the same variety of | |||
| models as the PKIX profile. There is only one additional caveat on | trust models as the PKIX profile. There is only one additional | |||
| the general applicability of trust models and PKIX frameworks, namely | caveat on the general applicability of trust models and PKIX | |||
| that in forming a validation path to a trust anchor, the sequence of | frameworks, namely that in forming a validation path to a trust | |||
| certificates MUST preserve the resource extension validation | anchor CA, the sequence of certificates MUST preserve the resource | |||
| property, as described in Section 6.2. | extension validation property, as described in Section 6.2, 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. | ||||
| The trust anchor information, describing a CA that serves as a trust | ||||
| anchor, includes the following: | ||||
| 1. the trusted issuer name, | ||||
| 2. the trusted public key algorithm, | ||||
| 3. the trusted public key, | ||||
| 4. optionally, the trusted public key parameters associated with the | ||||
| public key, and | ||||
| 5. a resource set, consisting of a set of IPv4 resources, IPv6 | ||||
| resources and AS number resources. | ||||
| The trust anchor information may be provided to the path processing | ||||
| procedure in the form of a self-signed certificate. | ||||
| 6.2. Resource Extension Validation | 6.2. Resource Extension Validation | |||
| The IP resource extension definition [RFC3779] defines a critical | The IP resource extension definition [RFC3779] defines a critical | |||
| extensions for Internet number resources. These are ASN.1 encoded | extensions for Internet number resources. These are ASN.1 encoded | |||
| representations of the IPv4 and IPv6 address range (either as a | representations of the IPv4 and IPv6 address range (either as a | |||
| prefix/length, or start-end pair) and the AS number set. | prefix/length, or start-end pair) and the AS number set. | |||
| Valid Resource Certificates MUST have a valid IP address and/or AS | Valid Resource Certificates MUST have a valid IP address and/or AS | |||
| number resource extension. In order to validate a Resource | number resource extension. In order to validate a Resource | |||
| Certificate the resource extension must also be validated. This | Certificate the resource extension must also be validated. This | |||
| validation process relies on definitions of comparison of resource | validation process relies on definitions of comparison of resource | |||
| sets: | sets: | |||
| more specific Given two IP address or AS number contiguous ranges, A | more specific: Given two IP address or AS number contiguous ranges, | |||
| and B, A is "more specific" than B if range B includes all IP | 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 | addresses or AS numbers described by range A, and if range B is | |||
| larger than range A. | larger than range A. | |||
| equal Given two IP address or AS number contiguous ranges, A and B, | 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 | A is "equal" to B if range A describes precisely the same | |||
| collection of IP addresses or AS numbers as described by range B. | collection of IP addresses or AS numbers as described by range B. | |||
| The definition of "inheritance" in [RFC3779]is equivalent to this | The definition of "inheritance" in [RFC3779]is equivalent to this | |||
| "equality" comparison. | "equality" comparison. | |||
| encompass Given two IP address and AS number sets X and Y, X | encompass: Given two IP address and AS number sets X and Y, X | |||
| "encompasses" Y if, for every contiguous range of IP addresses or | "encompasses" Y if, for every contiguous range of IP addresses or | |||
| AS numbers elements in set Y, the range element is either more | AS numbers elements in set Y, the range element is either more | |||
| specific than or equal to a contiguous range element within the | specific than or equal to a contiguous range element within the | |||
| set X. | set X. | |||
| Validation of a certificate's resource extension in the context of an | Validation of a certificate's resource extension in the context of an | |||
| ordered certificate sequence of {1,2, ... , n} where '1'is a trust | ordered certificate sequence of {1,2, ... , n} where '1'is issued by | |||
| anchor and 'n' is the target certificate, and where the subject of | a trust anchor and 'n' is the target certificate, and where the | |||
| certificate 'x' is the issuer of certificate 'x' + 1, implies that | subject of certificate 'x' is the issuer of certificate 'x' + 1, | |||
| the resources described in certificate 'x', for 'x' is greater than | implies that the resources described in certificate 'x' "encompass" | |||
| 1, "encompass" the resources described in certificate 'x' + 1. | the resources described in certificate 'x' + 1, and the resources | |||
| described in the trust anchor information "encompass" the resources | ||||
| described in certificate 1. | ||||
| 6.3. Resource Certificate Path Validation | 6.3. Resource Certificate Path Validation | |||
| Validation of signed resource data using a target resource | Validation of signed resource data using a target resource | |||
| certificate consists of assembling an ordered sequence (or | certificate consists of assembling an ordered sequence (or | |||
| 'Certificate Path') of certificates ({1,2,...n} where '1' is a trust | 'Certificate Path') of certificates ({1,2,...n} where '1' is a | |||
| anchor, and 'n' is the target certificate) verifying that all of the | certificate that has been issued by a trust anchor, and 'n' is the | |||
| following conditions hold: | target certificate) verifying that all of the following conditions | |||
| hold: | ||||
| 1. The certificate can be verified using the Issuer's public key and | 1. The certificate can be verified using the Issuer's public key and | |||
| the signature algorithm | the signature algorithm | |||
| 2. The current time lies within the certificate's Validity From and | 2. The current time lies within the certificate's Validity From and | |||
| To values. | To values. | |||
| 3. The certificate contains all fields that MUST be present and | 3. The certificate contains all fields that MUST be present and | |||
| contains field values as specified in this profile for all field | contains field values as specified in this profile for all field | |||
| values that MUST be present. | values that MUST be present. | |||
| 4. No field value that MUST NOT be present is present in the | 4. No field value that MUST NOT be present is present in the | |||
| certificate. | certificate. | |||
| 5. The Issuer has not revoked the certificate by placing the | 5. The Issuer has not revoked the certificate by placing the | |||
| certificate's serial number on the Issuer's current Certificate | certificate's serial number on the Issuer's current Certificate | |||
| Revocation List, and the CRL is itself valid. | Revocation List, and the Certificate Revocation List is itself | |||
| valid. | ||||
| 6. That the resource extension data is "encompassed" by the resource | 6. That the resource extension data is "encompassed" by the resource | |||
| extension data contained in a valid certificate where this Issuer | extension data contained in a valid certificate where this Issuer | |||
| is the Subject (the previous certificate in the ordered sequence) | is the Subject (the previous certificate in the ordered sequence) | |||
| 7. The Certificate Path originates at a trust anchor, and there | 7. The Certificate Path originates with a certificate issued by a | |||
| exists a signing chain across the Certificate Path where the | trust anchor, and there exists a signing chain across the | |||
| Subject of Certificate x in the Certificate Path matches the | Certificate Path where the Subject of Certificate x in the | |||
| Issuer in Certificate x+1 in the Certificate Path. | Certificate Path matches the Issuer in Certificate x+1 in the | |||
| Certificate Path. | ||||
| A certificate validation algorithm may perform these tests in any | A certificate validation algorithm may perform these tests in any | |||
| chosen order. | chosen order. | |||
| Certificates and CRLs used in this process may be found in a locally | Certificates and CRLs used in this process may be found in a locally | |||
| maintained repository, maintained by a regular top-down | maintained cache, maintained by a regular top-down synchronization | |||
| synchronization pass from the Root Trust Anchors via reference to | pass, seeded with the CAs who operate at the apex of the resource | |||
| Issuer certificates and their SIA fields as forward pointers, plus | distribution hierarchy, via reference to Issued certificates and | |||
| the CRLDP. Alternatively, validation may be performed using a | their SIA fields as forward pointers, plus the CRLDP. Alternatively, | |||
| bottom-up process with on-line certificate access using the AIA and | validation may be performed using a bottom-up process with on-line | |||
| CRLDP pointers to guide the certificate retrieval process. | certificate access using the AIA and CRLDP pointers to guide the | |||
| certificate retrieval process. | ||||
| There exists the possibility of encountering certificate paths that | There exists the possibility of encountering certificate paths that | |||
| are arbitrarily long, or attempting to generate paths with loops as | are arbitrarily long, or attempting to generate paths with loops as | |||
| means of creating a potential DOS attack on a certificate validator. | means of creating a potential DOS attack on a certificate validator. | |||
| Some further heuristics may be required to halt the validation | Some further heuristics may be required to halt the validation | |||
| process in order to avoid some of the issues associated with attempts | process in order to avoid some of the issues associated with attempts | |||
| to validate such structures. It is suggested that implementations of | to validate such structures. It is suggested that implementations of | |||
| Resource Certificate validation MAY halt with a validation failure if | Resource Certificate validation MAY halt with a validation failure if | |||
| the certificate path length exceeds a pre-determined configuration | the certificate path length exceeds a pre-determined configuration | |||
| parameter. | parameter. | |||
| 7. Example Use Cases | 7. Security Considerations | |||
| [1 - signing a Route Registry Object] [2 - signing a Route | ||||
| Origination Authority - note validity time] [3 - performing a | ||||
| resource (sub) allocation - An example of this in situations where | ||||
| there are contractual period differences between the entity and its | ||||
| resource supplier, and the entity and its resource allocation | ||||
| subjects.] | ||||
| 8. Security Considerations | The Security Considerations of [RFC3280] and [RFC3779]apply to | |||
| Resource Certificates as defined by this profile, and their use. | ||||
| [To be completed] | 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. | ||||
| 9. IANA Considerations | 8. IANA Considerations | |||
| [Note to IANA, to be removed prior to publication: there are no IANA | [Note to IANA, to be removed prior to publication: there are no IANA | |||
| considerations stated in this version of the document.] | considerations stated in this version of the document.] | |||
| 10. Acknowledgements | 9. Acknowledgements | |||
| The authors would like to acknowledge the valued contributions from | The authors would like to acknowledge the valued contributions from | |||
| Stephen Kent, Robert Kisteleki, Randy Bush, Russ Housley, Ricardo | Stephen Kent, Robert Kisteleki, Randy Bush, Russ Housley, Ricardo | |||
| Patara and Rob Austein in the preparation and subsequent review of | Patara and Rob Austein in the preparation and subsequent review of | |||
| this document. | this document. | |||
| 11. Normative References | 10. Normative References | |||
| [RFC0791] Postel, J., "Internet Protocol", STD 5, RFC 791, | [RFC0791] Postel, J., "Internet Protocol", STD 5, RFC 791, | |||
| September 1981. | September 1981. | |||
| [RFC2050] Hubbard, K., Kosters, M., Conrad, D., Karrenberg, D., and | [RFC2050] Hubbard, K., Kosters, M., Conrad, D., Karrenberg, D., and | |||
| J. Postel, "INTERNET REGISTRY IP ALLOCATION GUIDELINES", | J. Postel, "INTERNET REGISTRY IP ALLOCATION GUIDELINES", | |||
| BCP 12, RFC 2050, November 1996. | BCP 12, RFC 2050, November 1996. | |||
| [RFC2985] Nystrom, M. and B. Kaliski, "PKCS #9: Selected Object | [RFC2985] Nystrom, M. and B. Kaliski, "PKCS #9: Selected Object | |||
| Classes and Attribute Types Version 2.0", RFC 2985, | Classes and Attribute Types Version 2.0", RFC 2985, | |||
| skipping to change at page 26, line 38 ¶ | skipping to change at page 26, line 39 ¶ | |||
| 92:1f:64:2f:b5:3d:69:2e:69:83:c2:10:c6:aa:8e:03: | 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: | 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: | 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 | 03:ce:f0:03:2e:59:ce:05:a7:41:3f:2f:64:50:dd:e7 | |||
| RSA Public Key: Exponent: 65537 | RSA Public Key: Exponent: 65537 | |||
| Basic Constraints: CA: TRUE | Basic Constraints: CA: TRUE | |||
| Subject Info Access: | Subject Info Access: | |||
| caRepository - rsync://repository.apnic.net/APNIC/ | caRepository - rsync://repository.apnic.net/APNIC/ | |||
| pvpjvwUeQix2e54X8fGbhmdYMo0/ | pvpjvwUeQix2e54X8fGbhmdYMo0/ | |||
| q66IrWSGuBE7jqx8PAUHAlHCqRw/ | q66IrWSGuBE7jqx8PAUHAlHCqRw/ | |||
| hu9fdDBq60mrk7cPRuX2DYuXSRQ | hu9fdDBq60mrk7cPRuX2DYuXSRQ/ | |||
| Key Usage: keyCertSign, cRLSign | Key Usage: keyCertSign, cRLSign | |||
| CRL Distribution Points: | CRL Distribution Points: | |||
| rsync://repository.apnic.net/APNIC/ | rsync://repository.apnic.net/APNIC/ | |||
| pvpjvwUeQix2e54X8fGbhmdYMo0/ | pvpjvwUeQix2e54X8fGbhmdYMo0/ | |||
| q66IrWSGuBE7jqx8PAUHAlHCqRw/ | q66IrWSGuBE7jqx8PAUHAlHCqRw/ | |||
| q66IrWSGuBE7jqx8PAUHAlHCqRw.crl | q66IrWSGuBE7jqx8PAUHAlHCqRw.crl | |||
| Authority Info Access: caIssuers - | Authority Info Access: caIssuers - | |||
| rsync://repository.apnic.net/APNIC/ | rsync://repository.apnic.net/APNIC/ | |||
| pvpjvwUeQix2e54X8fGbhmdYMo0/ | pvpjvwUeQix2e54X8fGbhmdYMo0/ | |||
| q66IrWSGuBE7jqx8PAUHAlHCqRw | q66IrWSGuBE7jqx8PAUHAlHCqRw.cer | |||
| Authority Key Identifier: Key Identifier: | Authority Key Identifier: Key Identifier: | |||
| ab:ae:88:ad:64:86:b8:11:3b:8e:ac:7c:3c:05:07:02: | ab:ae:88:ad:64:86:b8:11:3b:8e:ac:7c:3c:05:07:02: | |||
| 51:c2:a9:1c | 51:c2:a9:1c | |||
| Authority Key Identifier: Key Identifier g(AKI): | Authority Key Identifier: Key Identifier g(AKI): | |||
| q66IrWSGuBE7jqx8PAUHAlHCqRw | q66IrWSGuBE7jqx8PAUHAlHCqRw | |||
| Certificate Policies: 1.3.6.1.5.5.7.14.2 | 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, | IPv4: 202.12.27.0-202.12.29.255, 202.12.31.0/24, | |||
| 203.119.0.0/24, 203.119.42.0/23 | 203.119.0.0/24, 203.119.42.0/23 | |||
| IPv6: 2001:dc0::/32 | IPv6: 2001:dc0::/32 | |||
| ASNum: 4608, 4777, 9545, 18366-18370 | ASNum: 4608, 4777, 9545, 18366-18370 | |||
| Signature: | Signature: | |||
| c5:e7:b2:f3:62:cb:e3:bc:50:1e:6b:90:13:19:f4:5b: | 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: | 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: | 0f:85:f2:06:a6:ae:22:e6:d0:99:fe:cb:eb:1d:6a:e2: | |||
| End of changes. 72 change blocks. | ||||
| 202 lines changed or deleted | 209 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||