| < draft-ietf-sidr-res-certs-01.txt | draft-ietf-sidr-res-certs-02.txt > | |||
|---|---|---|---|---|
| SIDR G. Huston | SIDR G. Huston | |||
| Internet-Draft R. Loomans | Internet-Draft G. Michaelson | |||
| Intended status: Best Current G. Michaelson | Intended status: Standards Track R. Loomans | |||
| Practice APNIC | Expires: January 29, 2007 APNIC | |||
| Expires: December 21, 2006 June 19, 2006 | July 28, 2006 | |||
| A Profile for X.509 PKIX Resource Certificates | A Profile for X.509 PKIX Resource Certificates | |||
| draft-ietf-sidr-res-certs-01.txt | draft-ietf-sidr-res-certs-02.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 December 21, 2006. | This Internet-Draft will expire on January 29, 2007. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (C) The Internet Society (2006). | Copyright (C) The Internet Society (2006). | |||
| Abstract | Abstract | |||
| This document defines a profile for X.509 certificates for the | This document defines a standard profile for X.509 certificates for | |||
| purposes of supporting validation of assertions of "right-to- use" of | the purposes of supporting validation of assertions of "right-to-use" | |||
| an Internet Number Resource (IP Addresses and Autonomous System | of an Internet Number Resource (IP Addresses and Autonomous System | |||
| Numbers). This profile is used to convey the authorization of the | Numbers). This profile is used to convey the issuer's authorization | |||
| subject to be regarded as the current unique controlled of the IP | of the subject to be regarded as the current holder of a "right-of- | |||
| addresses and AS numbers that are described in a Resource | use" of the IP addresses and AS numbers that are described in the | |||
| Certificate. | associated Resource Certificate. | |||
| Table of Contents | Table of Contents | |||
| 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4 | |||
| 1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 4 | 1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 5 | |||
| 2. Describing Resources in Certificates . . . . . . . . . . . . . 5 | 2. Describing Resources in Certificates . . . . . . . . . . . . . 5 | |||
| 3. Resource Certificate Fields . . . . . . . . . . . . . . . . . 6 | 3. Resource Certificate Fields . . . . . . . . . . . . . . . . . 6 | |||
| 3.1. Version . . . . . . . . . . . . . . . . . . . . . . . . . 6 | 3.1. Version . . . . . . . . . . . . . . . . . . . . . . . . . 6 | |||
| 3.2. Serial number . . . . . . . . . . . . . . . . . . . . . . 6 | 3.2. Serial number . . . . . . . . . . . . . . . . . . . . . . 6 | |||
| 3.3. Signature Algorithm . . . . . . . . . . . . . . . . . . . 6 | 3.3. Signature Algorithm . . . . . . . . . . . . . . . . . . . 6 | |||
| 3.4. Issuer . . . . . . . . . . . . . . . . . . . . . . . . . . 6 | 3.4. Issuer . . . . . . . . . . . . . . . . . . . . . . . . . . 6 | |||
| 3.5. Subject . . . . . . . . . . . . . . . . . . . . . . . . . 6 | 3.5. Subject . . . . . . . . . . . . . . . . . . . . . . . . . 7 | |||
| 3.6. Valid From . . . . . . . . . . . . . . . . . . . . . . . . 6 | 3.6. Valid From . . . . . . . . . . . . . . . . . . . . . . . . 7 | |||
| 3.7. Valid To . . . . . . . . . . . . . . . . . . . . . . . . . 7 | 3.7. Valid To . . . . . . . . . . . . . . . . . . . . . . . . . 7 | |||
| 3.8. Subject Public Key Info . . . . . . . . . . . . . . . . . 7 | 3.8. Subject Public Key Info . . . . . . . . . . . . . . . . . 8 | |||
| 3.9. Resource Certificate Version 3 Extension Fields . . . . . 7 | 3.9. Resource Certificate Version 3 Extension Fields . . . . . 8 | |||
| 3.9.1. Basic Constraints . . . . . . . . . . . . . . . . . . 7 | 3.9.1. Basic Constraints . . . . . . . . . . . . . . . . . . 8 | |||
| 3.9.2. Subject Key Identifier . . . . . . . . . . . . . . . . 8 | 3.9.2. Subject Key Identifier . . . . . . . . . . . . . . . . 9 | |||
| 3.9.3. Authority Key Identifier . . . . . . . . . . . . . . . 8 | 3.9.3. Authority Key Identifier . . . . . . . . . . . . . . . 9 | |||
| 3.9.4. Key Usage . . . . . . . . . . . . . . . . . . . . . . 8 | 3.9.4. Key Usage . . . . . . . . . . . . . . . . . . . . . . 9 | |||
| 3.9.5. CRL Distribution Points . . . . . . . . . . . . . . . 9 | 3.9.5. CRL Distribution Points . . . . . . . . . . . . . . . 10 | |||
| 3.9.6. Authority Information Access . . . . . . . . . . . . . 9 | 3.9.6. Authority Information Access . . . . . . . . . . . . . 10 | |||
| 3.9.7. Subject Information Access . . . . . . . . . . . . . . 10 | 3.9.7. Subject Information Access . . . . . . . . . . . . . . 11 | |||
| 3.9.8. Certificate Policies . . . . . . . . . . . . . . . . . 11 | 3.9.8. Certificate Policies . . . . . . . . . . . . . . . . . 11 | |||
| 3.9.9. Subject Alternate Name . . . . . . . . . . . . . . . . 11 | 3.9.9. Subject Alternate Name . . . . . . . . . . . . . . . . 11 | |||
| 3.9.10. IP Resources . . . . . . . . . . . . . . . . . . . . . 11 | 3.9.10. IP Resources . . . . . . . . . . . . . . . . . . . . . 11 | |||
| 3.9.11. AS Resources . . . . . . . . . . . . . . . . . . . . . 11 | 3.9.11. AS Resources . . . . . . . . . . . . . . . . . . . . . 12 | |||
| 4. Resource Certificate Revocation List Profile . . . . . . . . . 11 | 4. Resource Certificate Revocation List Profile . . . . . . . . . 12 | |||
| 4.1. Version . . . . . . . . . . . . . . . . . . . . . . . . . 12 | 4.1. Version . . . . . . . . . . . . . . . . . . . . . . . . . 12 | |||
| 4.2. Issuer Name . . . . . . . . . . . . . . . . . . . . . . . 12 | 4.2. Issuer Name . . . . . . . . . . . . . . . . . . . . . . . 12 | |||
| 4.3. This Update . . . . . . . . . . . . . . . . . . . . . . . 12 | 4.3. This Update . . . . . . . . . . . . . . . . . . . . . . . 13 | |||
| 4.4. Next Update . . . . . . . . . . . . . . . . . . . . . . . 12 | 4.4. Next Update . . . . . . . . . . . . . . . . . . . . . . . 13 | |||
| 4.5. Signature . . . . . . . . . . . . . . . . . . . . . . . . 12 | 4.5. Signature . . . . . . . . . . . . . . . . . . . . . . . . 13 | |||
| 4.6. Revoked Certificate List . . . . . . . . . . . . . . . . . 13 | 4.6. Revoked Certificate List . . . . . . . . . . . . . . . . . 13 | |||
| 4.6.1. Serial Number . . . . . . . . . . . . . . . . . . . . 13 | 4.6.1. Serial Number . . . . . . . . . . . . . . . . . . . . 13 | |||
| 4.6.2. Revocation Date . . . . . . . . . . . . . . . . . . . 13 | 4.6.2. Revocation Date . . . . . . . . . . . . . . . . . . . 13 | |||
| 4.7. CRL Extensions . . . . . . . . . . . . . . . . . . . . . . 13 | 4.7. CRL Extensions . . . . . . . . . . . . . . . . . . . . . . 13 | |||
| 4.7.1. Authority Key Identifier . . . . . . . . . . . . . . . 13 | 4.7.1. Authority Key Identifier . . . . . . . . . . . . . . . 14 | |||
| 4.7.2. CRL Number . . . . . . . . . . . . . . . . . . . . . . 13 | 4.7.2. CRL Number . . . . . . . . . . . . . . . . . . . . . . 14 | |||
| 5. Resource Certificate Request Profile . . . . . . . . . . . . . 14 | 5. Resource Certificate Request Profile . . . . . . . . . . . . . 14 | |||
| 5.1. Resource Certificate Request Template Fields . . . . . . . 14 | 5.1. PCKS#10 Profile . . . . . . . . . . . . . . . . . . . . . 14 | |||
| 5.2. Resource Certificate Request Control Fields . . . . . . . 17 | 5.1.1. PKCS#10 Resource Certificate Request Template | |||
| 6. Resource Certificate Validation . . . . . . . . . . . . . . . 18 | Fields . . . . . . . . . . . . . . . . . . . . . . . . 14 | |||
| 6.1. Trust Anchors for Resource Certificates . . . . . . . . . 19 | 5.2. CRMF Profile . . . . . . . . . . . . . . . . . . . . . . . 15 | |||
| 5.2.1. CRMF Resource Certificate Request Template Fields . . 16 | ||||
| 5.2.2. Resource Certificate Request Control Fields . . . . . 16 | ||||
| 5.3. Certificate Extension Attributes in Certificate | ||||
| Requests . . . . . . . . . . . . . . . . . . . . . . . . . 17 | ||||
| 6. Resource Certificate Validation . . . . . . . . . . . . . . . 19 | ||||
| 6.1. Trust Anchors for Resource Certificates . . . . . . . . . 20 | ||||
| 6.2. Resource Extension Validation . . . . . . . . . . . . . . 20 | 6.2. Resource Extension Validation . . . . . . . . . . . . . . 20 | |||
| 6.3. Resource Certificate Path Validation . . . . . . . . . . . 20 | 6.3. Resource Certificate Path Validation . . . . . . . . . . . 21 | |||
| 7. Security Considerations . . . . . . . . . . . . . . . . . . . 22 | 7. Security Considerations . . . . . . . . . . . . . . . . . . . 23 | |||
| 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 22 | 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 23 | |||
| 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 22 | 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 23 | |||
| 10. Normative References . . . . . . . . . . . . . . . . . . . . . 22 | 10. Normative References . . . . . . . . . . . . . . . . . . . . . 23 | |||
| Appendix A. Example Resource Certificate . . . . . . . . . . . . 23 | Appendix A. Example Resource Certificate . . . . . . . . . . . . 24 | |||
| Appendix B. Example Certificate Revocation List . . . . . . . . . 24 | Appendix B. Example Certificate Revocation List . . . . . . . . . 26 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 25 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 27 | |||
| Intellectual Property and Copyright Statements . . . . . . . . . . 26 | Intellectual Property and Copyright Statements . . . . . . . . . . 29 | |||
| 1. Introduction | 1. Introduction | |||
| This document defines a profile for X.509 certificates for use in the | This document defines a standard profile for X.509 certificates for | |||
| context of Resources Certificates. Resource Certificates are X.509 | use in the context of certification of IP Addresses and AS Numbers. | |||
| certificates that conform to the PKIX profile [RFC3280] and to this | These Resource Certificates are X.509 certificates that conform to | |||
| additional profile, and attest that the subject has the "right-to- | the PKIX profile [RFC3280] and also conform to the constraints | |||
| use" a listed set of IP addresses and Autonomous Numbers. | specified in this profile. Resource Certificates attest that the | |||
| issuer has granted the subject a "right-to-use" a listed set of IP | ||||
| addresses and Autonomous System numbers. | ||||
| A Resource Certificate describes an action by an Issuer that binds a | A Resource Certificate describes an action by the certificate issuer | |||
| list of IP address blocks and AS numbers to the Subject of a | that binds a list of IP Address blocks and AS Numbers to the subject | |||
| certificate, identified by the unique association of the Subject's | of the certificate. The binding is identified by the association of | |||
| private key with the public key contained in the Resource | the subject's private key with the subject's public key contained in | |||
| Certificate. | the Resource Certificate, signed by the private key of the | |||
| certificate's issuer. | ||||
| In the context of the public Internet it is intended that Resource | In the context of the public Internet, and use of public number | |||
| Certificates are used in a manner that is aligned to the public | resources in this context, it is intended that Resource Certificates | |||
| number resource distribution function, Specifically, when a number | are used in a manner that is aligned to the public number resource | |||
| resource is allocated or assigned by a Registry to an entity, this | distribution function. Specifically, when a number resource is | |||
| allocation is described by a Resource Certificate issued by the | allocated or assigned by a number registry to an entity, this | |||
| Registry with a subject corresponding to the entity that is the | allocation can be described by a Resource Certificate that is issued | |||
| recipient of this assignment or allocation. This corresponds to a | by the registry with a subject corresponding to the entity that is | |||
| hierarchical PKI structure, where Resource Certificates are only | the recipient of this number assignment or allocation. 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 from a | issued in one 'direction' and there is a single unique path from a | |||
| "Root CA" to any valid certificate. | "Root" Certificate Authority to a valid certificate. | |||
| Validation of a certificate in such a hierarchical PKI can be | Validation of a Resource Certificate in such a hierarchical PKI can | |||
| undertaken by creating a valid issuer - subject chain from the trust | be undertaken by establishing a valid issuer - subject chain from a | |||
| anchor allocation authorities to the certificate [RFC4158]. | trust anchor certificate authority to the certificate [RFC4158], with | |||
| the additional constraint of ensuring that each subject's listed | ||||
| resources are fully encompassed by those of the issuer at each step | ||||
| in the issuer-subject chain. | ||||
| Resource Certificates may be used in the context of secure inter- | Resource Certificates may be used in the context of the operation of | |||
| domain routing protocols to convey a right-to-use of an IP number | secure inter-domain routing protocols to convey a right-to-use of an | |||
| resource that is being passed within the routing protocol, to verify | IP number resource that is being passed within the routing protocol, | |||
| legitimacy and correctness of routing information. Related use | to verify legitimacy and correctness of routing information. Related | |||
| contexts include validation of access to Internet Routing Registries | use contexts include validation of access to Internet Routing | |||
| for nominated routing objects, validation of routing requests, and | Registries for nominated routing objects, validation of routing | |||
| detection of potential unauthorized used of IP addresses. | requests, and detection of potential unauthorized 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 | |||
| Certificate that MUST be present for the certificate to be valid. | Certificate that MUST be present for the certificate to be valid. | |||
| Relying Parties SHOULD check that a Resource Certificate conforms to | Relying Parties SHOULD check that a Resource Certificate conforms to | |||
| this profile as a requisite for validation of a Resource Certificate. | this profile as a requisite for validation of a Resource Certificate. | |||
| 1.1. Terminology | 1.1. Terminology | |||
| It is assumed that the reader is familiar with the terms and concepts | It is assumed that the reader is familiar with the terms and concepts | |||
| described in "Internet X.509 Public Key Infrastructure Certificate | described in "Internet X.509 Public Key Infrastructure Certificate | |||
| and Certificate Revocation List (CRL) Profile" [RFC3280], "X.509 | and Certificate Revocation List (CRL) Profile" [RFC3280], "X.509 | |||
| Extensions for IP Addresses and AS Identifiers" [RFC3779], "Internet | Extensions for IP Addresses and AS Identifiers" [RFC3779], "Internet | |||
| Protocol" [RFC0791], "Internet Protocol Version 6 (IPv6) Addressing | Protocol" [RFC0791], "Internet Protocol Version 6 (IPv6) Addressing | |||
| skipping to change at page 5, line 24 ¶ | skipping to change at page 5, line 34 ¶ | |||
| The framework for describing an association between the subject of a | The framework for describing an association between the subject of a | |||
| certificate and the resources currently under the subject's current | certificate and the resources currently under the subject's current | |||
| control is described in [RFC3779]. | control is described in [RFC3779]. | |||
| There are three aspects of this resource extension that are noted in | There are three aspects of this resource extension that are noted in | |||
| this profile: | this profile: | |||
| 1. RFC 3779 notes that this resource extension SHOULD be a CRITICAL | 1. RFC 3779 notes that this resource extension SHOULD be a CRITICAL | |||
| extension to the X.509 Certificate. This Resource Certificate | extension to the X.509 Certificate. This Resource Certificate | |||
| profile further defines that the use of this certificate | profile further specifies that the use of this certificate | |||
| extension MUST be used and MUST be marked as CRITICAL. | extension MUST be used and MUST be marked as CRITICAL. | |||
| 2. RFC 3779 defines a sorted canonical form of describing a resource | 2. RFC 3779 defines a sorted canonical form of describing a resource | |||
| set, with maximal spanning ranges and maximal spanning prefix | set, with maximal spanning ranges and maximal spanning prefix | |||
| masks as appropriate. All valid certificates in this profile | masks as appropriate. All valid certificates in this profile | |||
| MUST use this sorted canonical form of resource description | MUST use this sorted canonical form of resource description | |||
| 3. A test of the resource extension in the context of certificate | 3. A test of the resource extension in the context of certificate | |||
| unique value token within the context of certificates issued by | validity includes the first condition that the resources | |||
| the validity includes the first condition that the resources | described in the issuer's resource extension must encompass those | |||
| described in the Issuer's resource extension must encompass those | of the subject's resource extension. In this context "encompass" | |||
| of the Subject's resource extension. In this context "encompass" | allows for the issuer's resource set to be the same as, or a | |||
| allows for the Issuer's resource set to be the same as, or a | strict superset of, any subject's resource set. Appropriate | |||
| strict superset of, any subject's resource set. Certificate | Resource Certificate management in the context of this profile | |||
| validity in the context of this profile also includes a second | also includes the constraint that no two (or more) certificates | |||
| condition that no two (or more) certificates issued by a single | issued by a single issuer to two (or more) different subjects | |||
| Issuer to two (or more) different subjects have a non-null | have a non-null intersection of resources. In other words an | |||
| intersection of resources. In other words an Issuer can certify | issuer can certify at most one unique entity as the unique holder | |||
| at most one unique subject as the unique holder of a right-to-use | of a right-to-use for any particular resource. | |||
| for any particular resource. | ||||
| This implies that a test of certificate validity implies that there | A test of certificate validity entails the identification of a | |||
| exists a set of valid certificates in an issuer-subject chain from | sequence of valid certificates in an issuer-subject chain (where the | |||
| one, and only one, trust anchor to the certificate in question, and | subject field of one certificate appears as the issuer in the next | |||
| that the resource extensions from the trust anchor to the certificate | certificate in the sequence) from one, and only one, trust anchor to | |||
| the certificate being validated, and that the resource extensions in | ||||
| this certificate sequence from the trust anchor to the certificate | ||||
| form a sequence of encompassing relationships. | form a sequence of encompassing relationships. | |||
| 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 | |||
| skipping to change at page 6, line 29 ¶ | skipping to change at page 6, line 39 ¶ | |||
| field is 2). | field is 2). | |||
| 3.2. Serial number | 3.2. Serial number | |||
| 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 uses SHA-256 with RSA | this certificate. This profile specifies SHA-256 with RSA | |||
| (sha256WithRSAEncryption), and the value for this field MUST be the | (sha256WithRSAEncryption), and, accordingly, the value for this field | |||
| OID value 1.2.840.113549.1.1.11 [RFC4055]. | MUST be the OID value 1.2.840.113549.1.1.11 [RFC4055]. | |||
| 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 an X.501 name. | 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. | ||||
| 3.5. Subject | 3.5. Subject | |||
| This field identifies the entity to whom the resource has been | This field identifies the entity to whom the resource has been | |||
| allocated / assigned. The value of this field is an X.500 name. In | allocated / assigned. The value of this field is a valid X.501 name. | |||
| this profile the subject name is determined by the Issuer. | ||||
| 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. | This field MUST be non-empty. | |||
| 3.6. Valid From | 3.6. Valid From | |||
| The starting time at which point the certificate is valid. In this | The starting time at which point the certificate is valid. In this | |||
| profile the "Valid From" time is to be no earlier than the time of | profile the "Valid From" time SHOULD be no earlier than the time of | |||
| certificate generation. As per Section 4.1.2.5 of [RFC3280], | certificate generation. As per Section 4.1.2.5 of [RFC3280], | |||
| Certificate Authorities (CAs) conforming to this profile MUST always | Certificate Authorities (CAs) conforming to this profile MUST always | |||
| encode the certificate's "Valid From" date through the year 2049 as | encode the certificate's "Valid From" date through the year 2049 as | |||
| UTCTime, and dates in 2050 or later MUST be encoded as | UTCTime, and dates in 2050 or later MUST be encoded as | |||
| GeneralizedTime. These two time formats are defined in [RFC3280]. | GeneralizedTime. These two time formats are defined in [RFC3280]. | |||
| 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. | ||||
| 3.7. Valid To | 3.7. Valid To | |||
| The Valid To time is the date and time at which point in time the | The Valid To time is the date and time at which point in time the | |||
| certificate's validity ends. It represents the anticipated lifetime | certificate's validity ends. It represents the anticipated lifetime | |||
| of the resource allocation / assignment arrangement between the | of the resource allocation / assignment arrangement between the | |||
| Issuer and the Subject. As per Section 4.1.2.5 of [RFC3280], CAs | issuer and the subject. As per Section 4.1.2.5 of [RFC3280], CAs | |||
| conforming to this profile MUST always encode the certificate's | conforming to this profile MUST always encode the certificate's | |||
| "Valid To" date through the year 2049 as UTCTime, and dates in 2050 | "Valid To" date through the year 2049 as UTCTime, and dates in 2050 | |||
| or later MUST be encoded as GeneralizedTime. These two time formats | or later MUST be encoded as GeneralizedTime. These two time formats | |||
| are defined in [RFC3280]. | are defined in [RFC3280]. | |||
| 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. | ||||
| 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, | |||
| thus the OID for the algorithm is 1.2.840.113549.1.1.1. A minimum | accordingly, the OID for the algorithm is 1.2.840.113549.1.1.1. A | |||
| key size of 1024 bits is mandated in this profile. Regional Registry | minimum key size of 1024 bits is mandated in this profile. In the | |||
| CAs MUST use a key size of 2048 bits. | context of certifying resources it is recommended that certificates | |||
| that are intended to be used as root certificates, and their | ||||
| immediate subordinates SHOULD use a key size of 2048 bits. | ||||
| Subordinates of these subordinate certificates, in the context of | ||||
| continued level of high trust, SHOULD use a key size of 2048 bits. | ||||
| [Note - not for publication. One alternative option is to specify | In the application of this profile to certification of public number | |||
| "no less than 2048 bits" and allow for longer key sizes. On the | resources, it would be consistent with this recommendation that the | |||
| other hand it may be preferable to move to EC-DSA instead of RSA, in | Regional Internet Registries used a key size of 2048 bits, and that | |||
| which case allowing for the option of longer RSA key sizes may be | their immediate subordinate certificate authorities also use a key | |||
| considered inappropriate.] | size of 2048 bits. All other subordinate certificates MAY use a key | |||
| size of 1024 bits. | ||||
| 3.9. Resource Certificate Version 3 Extension Fields | 3.9. Resource Certificate Version 3 Extension Fields | |||
| As noted in Section 4.2 of [RFC3280], each extension in a certificate | As noted in Section 4.2 of [RFC3280], each extension in a certificate | |||
| is designated as either critical or non-critical. A certificate | is designated as either critical or non-critical. A certificate- | |||
| using system MUST reject the certificate if it encounters a critical | using system MUST reject the certificate if it encounters a critical | |||
| extension it does not recognize; however, a non-critical extension | extension it does not recognize; however, a non-critical extension | |||
| MAY be ignored if it is not recognized [RFC3280]. | MAY be ignored if it is not recognized [RFC3280]. | |||
| The following X.509 V3 extensions MUST be present in a conforming | The following X.509 V3 extensions MUST be present in a conforming | |||
| Resource Certificate. | Resource Certificate. | |||
| 3.9.1. Basic Constraints | 3.9.1. Basic Constraints | |||
| The basic constraints extension identifies whether the subject of the | The basic constraints extension identifies whether the subject of the | |||
| certificate is a CA and the maximum depth of valid certification | certificate is a CA and the maximum depth of valid certification | |||
| paths that include this certificate. | paths that include this certificate. | |||
| The Issuer determines whether the cA boolean is set. If this bit is | 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 | set, then it indicates that the subject is allowed to issue resources | |||
| certificates within this overall framework (i.e. the subject is | certificates within this overall framework (i.e. the subject is | |||
| permitted be a CA). | permitted be a CA). | |||
| The Path Length Constraint is not specified in this profile and MUST | The Path Length Constraint is not specified in this profile and MUST | |||
| NOT be present. | NOT be present. | |||
| The Basic Constraints extension field is a critical extension in the | The Basic Constraints extension field is a critical extension in the | |||
| Resource Certificate profile, and MUST be present. | Resource Certificate profile, and MUST be present. | |||
| [note - not for publication. It is unclear whether the CA bit should | ||||
| be set on in all cases. | ||||
| 3.9.2. Subject Key Identifier | 3.9.2. Subject Key Identifier | |||
| The subject key identifier extension provides a means of identifying | The subject key identifier extension provides a means of identifying | |||
| certificates that contain a particular public key. To facilitate | certificates that contain a particular public key. To facilitate | |||
| certification path construction, this extension MUST appear in all | certification path construction, this extension MUST appear in all | |||
| Resource Certificates. This extension is non-critical. | Resource Certificates. This extension is non-critical. | |||
| The value of the subject key identifier MUST be the value placed in | The value of the subject key identifier MUST be the value placed in | |||
| the key identifier field of the Authority Key Identifier extension of | the key identifier field of the Authority Key Identifier extension of | |||
| certificates issued by the subject of this certificate. | 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 | 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 a particular issuer's private key, by | certificates that are signed by the issuer's private key, by | |||
| providing a hash value of the corresponding Issuer's public key. To | providing a hash value of the issuer's public key. To facilitate | |||
| facilitate path construction, this extension MUST appear in all | path construction, this extension MUST appear in all Resource | |||
| Resource Certificates. The keyIdentifier subfield MUST be present. | Certificates. The keyIdentifier subfield MUST be present in all | |||
| The authorityCertIssuer and authorityCertSerialNumber subfields MAY | Resource Certificates, with the exception of a CA who issues a "self- | |||
| be present. This extension is non-critical. | signed" certificate. The authorityCertIssuer and | |||
| authorityCertSerialNumber subfields MUST NOT be present. This | ||||
| 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. | |||
| In certificates issued to CAs only the keyCertSign and CRLSign bits | In certificates issued to CAs only the keyCertSign and CRLSign bits | |||
| are set to TRUE. In end-entity certificates the digitialSignature | are set to TRUE and must be the only bits set to TRUE. In end-entity | |||
| bit MUST be set and MUST be the only bit set to TRUE. | certificates the digitialSignature bit MUST be set and MUST be the | |||
| only bit set to TRUE. | ||||
| 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" URL that references a single inclusive | mechanism is a single RSYNC URI ("rsync://") [rsync] that references | |||
| 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 subfield MUST be omitted, and the | |||
| distributionPoint subfield MUST be present. The Reasons subfield | distributionPoint subfield MUST be present. The Reasons subfield | |||
| 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. Furthermore, as the scope of the CRL is all | be of type URI. In this profile, the scope of the CRL is specified | |||
| certificates issued by this issuer, the sequence of distributionPoint | to be all certificates issued by this issuer. The sequence of | |||
| values MUST contain only a single DistributionPointName set. The | distributionPoint values MUST contain only a single | |||
| DistributionPointName set MAY contain more than one URI value. An | DistributionPointName set. The DistributionPointName set MAY contain | |||
| rsync URI MUST be present in the DistributionPointName set. | more than one URI value. An RSYNC URI MUST be present in the | |||
| DistributionPointName set. | ||||
| This extension MUST be present and it is non-critical. | This extension MUST be present and it is non-critical. | |||
| [NOTE - not for publication. The reason for the specification of an | ||||
| RSYNC URI as a MUST in this profile is to ensure that relying parties | ||||
| who wish to maintain a local copy of a synchronized repository are | ||||
| not forced to maintain a retrieval capability using a potentially | ||||
| unbounded set of URI types. The profile is attempting to ensure that | ||||
| rsync should be all that is required to perform a repository | ||||
| synchronization operation. A more restrictive potential condition | ||||
| here (and also in the SIA and AIA extensions) is that one and only | ||||
| one RSYNC URI is permitted. This would reduce some of the potential | ||||
| variations in certificates and also stress that certificate access | ||||
| and use by relying parties is critically dependent on RSYNC access, | ||||
| and that other forms of access are not necessarily available to | ||||
| relying parties.] | ||||
| 3.9.6. Authority Information Access | 3.9.6. Authority Information Access | |||
| This field (AIA) identifies the location of all certificates that are | This field (AIA) identifies the point of publication of all | |||
| issued by this Issuer that are signed with the Issuer's private key | certificates that are issued by the issuer's immediate superior CA. | |||
| that signed this certificate. This profile uses a URI form of object | This is specified in RFC3280 as a sequence of reference objects. In | |||
| identification. The preferred URI access mechanisms is "rsync", and | this profile a single reference object to the immediate superior's | |||
| an rsync URI MUST be specified with an accessMethod value of id-ad- | publication location MUST be used. | |||
| caIssuers. Other access method URIs MAY also be included in the | ||||
| value sequence of this extension. | ||||
| This field MUST be present, and is non-critical. | 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 all objects published by the | ||||
| issuer's immediate superior issuer. Other access method URIs | ||||
| referencing the same publication point MAY also be included in the | ||||
| value sequence of this extension. | ||||
| [Note - not for publication rfc3280 defines only two OIDs for the | In the case of self-signed certificates that undertake the role of a | |||
| access method, id-ad-caIssuers and id-ad-ocsp. It would appear that | "root" trust anchor within a certificate hierarchy the AIA extension | |||
| id-ad-ocsp is not relevant here in that OCSP is not included as part | field SHOULD be omitted. In all other cases this field MUST be | |||
| of the resource certificate profile - which leaves id-ad-caIssuers. | present, and is non-critical. | |||
| The text in 4.2.2.1 of RFC3280 notes that: "the id-ad-caIssuers OID | ||||
| is used when the additional information lists CAs that have issued | ||||
| certificates superior to the CA that issued the certificate | ||||
| containing this extension. The referenced CA issuers description is | ||||
| intended to aid certificate users in the selection of a certification | ||||
| path that terminates at a point trusted by the certificate user" | ||||
| However there is no intention to require that such a list be included | ||||
| in this subfield in this profile. The question is: What accessMethod | ||||
| OID should be used here in the Access Description?] | ||||
| 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 that relate to the subject public key that is certified in | appears. Where the Subject is a CA in this profile, this information | |||
| this certificate. Where the Subject is a CA for Resource | and service collection will include all current valid certificates | |||
| Certificates this information and service collection will include all | that have been issued by this subject that are signed with the | |||
| current valid certificates that have been issued by this subject that | subject's corresponding private key. | |||
| are signed with the subject's corresponding private key. This | ||||
| profile uses a URI form of location identification. The preferred | This profile uses a URI form of location identification. The | |||
| URI access mechanism is "rsync", and an rsync URI SHOULD 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. Other access method URIs MAY | subject of the certificate is a CA. Other access method URIs that | |||
| also be included in the value sequence of this extension. | reference the same location MAY also be included in the value | |||
| sequence of this extension. | ||||
| 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. Where the subject is not a CA this field MUST NOT be | critical. Where the subject is not a CA this field MUST NOT be | |||
| present. | present. | |||
| [Note - not for publication. RFC3280 defines only two OIDs for the | ||||
| access method, id-ad-caRepository and id-ad-timeStamping, with the | ||||
| difference being whether the subject is a CA or not. The access | ||||
| method id-ad-caRepository appears to be appropriate where the subject | ||||
| is a CA. Where the subject is NOT a CA would it be useful to have | ||||
| the SIA extension point to where the subject stores digital objects | ||||
| that have been signed by the subject? If this were considered to be | ||||
| desirable, then the id-ad-timeStamping appears to be inappropriate in | ||||
| this context. The general question is: What accessMethod OID should | ||||
| be used here in the Access Description? The approach currently used | ||||
| in this draft is that SIA should only be present for CAs and must be | ||||
| absent in the case of End Entity certificates.] | ||||
| 3.9.8. Certificate Policies | 3.9.8. Certificate Policies | |||
| This extension MUST reference the Resource Certificate Policy, using | 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 | 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 | MUST be present and MUST contain only this value for Resource | |||
| Certificates. | Certificates. | |||
| PolicyQualifiers MUST NOT be used in this profile. | PolicyQualifiers MUST NOT be used in this profile. | |||
| This extension MUST be present and it is critical. | This extension MUST be present and it is critical. | |||
| 3.9.9. Subject Alternate Name | 3.9.9. Subject Alternate Name | |||
| This is an optional extension, and MAY contain an X.501 Name as | 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 | supplied by the subject in the Certificate Request, or as assigned by | |||
| the Issuer CA. | the issuer. | |||
| 3.9.10. IP Resources | 3.9.10. IP Resources | |||
| This field contains the list of IP address resources as per | This field contains the list of IP address resources as per | |||
| [RFC3779]. The value may specify the "inherit" element for a | [RFC3779]. The value may specify the "inherit" element for a | |||
| particular AFI value and an optional SAFI value. All Resource | particular AFI value. In the context of resource certificates | |||
| Certificates MUST include an IP Resources extension, an AS Resources | describing public number resources for use in the public Internet, | |||
| extension, or both extensions. | 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. | This extension, if present, MUST be marked critical. | |||
| 3.9.11. AS Resources | 3.9.11. AS Resources | |||
| This field contains the list of AS number resources as per [RFC3779], | This field contains the list of AS number resources as per [RFC3779], | |||
| or may specify the "inherit" element. All Resource Certificates MUST | 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 | include an IP Resources extension, an AS Resources extension, or both | |||
| extensions. RDI values are NOT supported in this profile and MUST | extensions. | |||
| NOT be used. | ||||
| 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 Resource CA MUST issue a version 2Certificate Revocation List | Each CA MUST issue a version 2 Certificate Revocation List (CRL), | |||
| (CRL), consistent with [RFC3280]. The CRL issuer is the CA, and no | consistent with [RFC3280]. The CRL issuer is the CA, and no indirect | |||
| indirect CRLs are supported in this profile. The scope of the CRL | CRLs are supported in this profile. The scope of the CRL MUST be | |||
| MUST be "all certificates issued by this CA". The contents of the | "all certificates issued by this CA". The contents of the CRL are a | |||
| CRL are a list of all unexpired certificates issued by the CA that | list of all unexpired certificates issued by the CA that have been | |||
| have been revoked by the CA. | 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 does not allow the issuance of multiple current CRLs with | |||
| different scope by a single CA. | different scope by a single 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 are present in a certificate repository, the CRL with the | |||
| highest value of the "CRL Number" field supersedes all other extant | highest value of the "CRL Number" field supersedes all other CRLs | |||
| 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 | |||
| the Resource Certificates. | the Resource Certificates that are issued by this issuer. | |||
| 4.3. This Update | 4.3. This Update | |||
| This is the date and time that this CRL was issued. The value of | This field contains the date and time that this CRL was issued. The | |||
| this field MUST be encoded as UTCTime for dates through the year | ||||
| 2049, and MUST be encoded as GeneralizedTime for dates in the year | ||||
| 2050 or later. | ||||
| 4.4. Next Update | ||||
| This is the date and time by which the next CRL will 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. | year 2050 or later. | |||
| 4.4. Next Update | ||||
| This is the date and time by which the next CRL SHOULD be issued. | ||||
| The value of this field MUST be encoded as UTCTime for dates through | ||||
| the year 2049, and MUST be encoded as GeneralizedTime for dates in | ||||
| the year 2050 or later. | ||||
| 4.5. Signature | 4.5. Signature | |||
| This field contains the algorithm used to sign this CRL. The | This field contains the algorithm used to sign this CRL. The | |||
| signature algorithm MUST be SHA-256 with RSA. This field MUST be | signature algorithm MUST be SHA-256 with RSA. This field MUST be | |||
| present. | present. | |||
| 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. | ||||
| 4.6.1. Serial Number | 4.6.1. Serial Number | |||
| The serial number of the revoked certificate. | The issuer's serial number of the revoked certificate. | |||
| 4.6.2. Revocation Date | 4.6.2. Revocation Date | |||
| The time the certificate was revoked. This time SHOULD NOT be a | 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 | future date. The value of this field MUST be encoded as UTCTime for | |||
| dates through the year 2049, and MUST be encoded as GeneralizedTime | dates through the year 2049, and MUST be encoded as GeneralizedTime | |||
| for dates in the year 2050 or later. | for dates in the year 2050 or later. | |||
| 4.7. CRL Extensions | 4.7. CRL Extensions | |||
| skipping to change at page 13, line 44 ¶ | skipping to change at page 14, line 19 ¶ | |||
| 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 for a given CA. This extension allows users to easily | number for a given CA. This extension allows users to easily | |||
| determine when a particular CRL supersedes another CRL. The higher | determine when a particular CRL supersedes another CRL. The highest | |||
| CRL Number value supersedes all other CRLs issued by the CA within | CRL Number value supersedes all other CRLs issued by the CA within | |||
| the scope of this profile. | the scope of this profile. | |||
| This extension is non-critical. | This extension is non-critical. | |||
| 5. Resource Certificate Request Profile | 5. Resource Certificate Request Profile | |||
| This profile refines the specification in [RFC4211], as it relates to | 5.1. PCKS#10 Profile | |||
| Resource Certificates. A Certificate Request Message object, | ||||
| formatted according to the Certificate Request Message Format (CRMF), | ||||
| is passed to a Certificate Authority as the initial step in issuing a | ||||
| certificate. | ||||
| [Note - not for publication. RFC2986 references PKCS #10: | This profile refines the specification in [RFC2986], as it relates to | |||
| Certification Request Syntax Specification, Version 1.7. Given the | Resource Certificates. A Certificate Request Message object, | |||
| relative wide support of CMC, the extension of PKCS#10 that is | formatted according to PKCS#10, is passed to a Certificate Authority | |||
| roughly equivalent to CMP, then it would appear that a CMC profile | as the initial step in issuing a certificate. | |||
| should also be included here. It is unclear at this point whether a | ||||
| PCKS#10 profile is also necessary in this profile.] | ||||
| 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. | |||
| [Note - not for publication: There are no profile-based | With the exception of the public key related fields, the CA is | |||
| qualifications regarding Proof-of-Possession. This may be refined in | permitted to alter any requested field. | |||
| subsequent iterations of this draft.] | ||||
| 5.1. Resource Certificate Request Template Fields | 5.1.1. PKCS#10 Resource Certificate Request Template Fields | |||
| This profile applies the following additional constraints to fields | ||||
| that may appear in a CertificationRequestInfo: | ||||
| Version | ||||
| This field is mandatory and MUST have the value 0. | ||||
| Subject | ||||
| 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. This field MAY be empty, in which case | ||||
| the issuer MUST generate a subject name that is unique in the | ||||
| context of the issuer. | ||||
| SubjectPublicKeyInfo | ||||
| This field specifies the subject's public key and the algorithm | ||||
| with which the key is used. The public key algorithm MUST be RSA, | ||||
| and the OID for the algorithm is 1.2.840.113549.1.1.1. This field | ||||
| also includes a bit-string representation of the entity's public | ||||
| key. For the RSA public-key algorithm the bit string contains the | ||||
| DER encoding of a value of PKCS #1 type RSAPublicKey. | ||||
| Attributes | ||||
| [RFC2986] defines the attributes field as key-value pairs where | ||||
| the key is an OID and the value's structure depends on the key. | ||||
| The only attribute used in this profile is the ExtensionRequest | ||||
| attribute as defined in [RFC2985]. This attribute contains X509v3 | ||||
| Certificate Extensions. The profile for extensions in certificate | ||||
| requests is specified in Section 5.3. | ||||
| This profile applies the following additional constraints to fields | ||||
| that may appear in a CertificationRequest Object: | ||||
| signatureAlgorithm | ||||
| Must be SHA-256 with RSA encryption (sha256WithRSAEncryption). | ||||
| Accordingly, the value for this field MUST be the OID value | ||||
| 1.2.840.113549.1.1.11 | ||||
| 5.2. CRMF Profile | ||||
| This profile refines the Certificate Request Message Format (CRMF) | ||||
| specification in [RFC4211], as it relates to Resource Certificates. | ||||
| A Certificate Request Message object, formatted according to the | ||||
| CRMF, is passed to a 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. | ||||
| 5.2.1. CRMF Resource Certificate Request Template Fields | ||||
| This profile applies the following additional constraints to fields | This profile applies the following additional constraints to fields | |||
| that may appear in a Certificate Request Template: | that may appear in a Certificate Request Template: | |||
| Version | Version | |||
| This field MAY be absent, or MAY specify the request of a Version | This field MAY be absent, or MAY specify the request of a Version | |||
| 3 Certificate. | 3 Certificate. It SHOULD be omitted. | |||
| SerialNumber | SerialNumber | |||
| As per [RFC4211], this field is assigned by the CA and MUST be | As per [RFC4211], this field is assigned by the CA and MUST be | |||
| omitted in this profile. | omitted in this profile. | |||
| SigningAlgorithm | SigningAlgorithm | |||
| As per [RFC4211], this field is assigned by the CA and MUST be | As per [RFC4211], this field is assigned by the CA and MUST be | |||
| omitted in this profile. | omitted in this profile. | |||
| Issuer | Issuer | |||
| skipping to change at page 15, line 19 ¶ | skipping to change at page 16, line 40 ¶ | |||
| dates as determined by the CA. | dates as determined by the CA. | |||
| Subject As the subject name is assigned by the CA, this field MAY be | 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 | omitted, in which case the subject name will be generated by the | |||
| CA. If specified, the CA SHOULD consider this as the subject's | CA. If specified, the CA SHOULD consider this as the subject's | |||
| suggestion, but the CA is NOT bound to honour this suggestion. | suggestion, but the CA is NOT bound to honour this suggestion. | |||
| PublicKey | PublicKey | |||
| This field MUST be present. | This field MUST be present. | |||
| This profile applies the following additional constraints to X509 v3 | extensions | |||
| Certificate extension fields that may appear in a Certificate | This attribute contains X509v3 Certificate Extensions. The | |||
| Request: | profile for extensions in certificate requests is specified in | |||
| Section 5.3. | ||||
| 5.2.2. Resource Certificate Request Control Fields | ||||
| The following control fields are supported in this profile: | ||||
| Authenticator Control | ||||
| It is noted that the intended model of authentication of the | ||||
| subject in a long term one, and the advice as offered in [RFC4211] | ||||
| is that the Authenticator Control field be used. | ||||
| [Note - not for publication: The method of generation and | ||||
| authentication of this field is to be specified. The desirable | ||||
| properties include the ability to validate the subject and the | ||||
| authenticity of the provided public key.] | ||||
| Resource Class | ||||
| The profile defines an additional control for Resource Certificate | ||||
| 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 with 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 | ||||
| This profile allows the following extensions to appear in a PKCS#10 | ||||
| and CRMF Certificate Request: | ||||
| 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 | |||
| resources certificates within this overall framework. | resource certificates within this overall framework. | |||
| The CA MAY honour the SubjectType CA bit set of off (End Entity | The CA MAY honour the SubjectType CA bit set of off (End Entity | |||
| certificate request). | certificate request). | |||
| [Note - not for publication. There are some potential variants on | ||||
| this model, where the CA bit may be considered as being set in all | ||||
| circumstances. For example, if the generation of signed resource | ||||
| objects, such as routing origination authorities requires the | ||||
| generation of special purpose resource certificates whose validity | ||||
| dates are implicitly the validity dates of the associated | ||||
| authority, then the subject needs to be able to issue certificates | ||||
| - i.e. there is a CA requirement. In this version of the draft | ||||
| this is left as a subject suggestion in the request that the CA | ||||
| may, or may not, honor in the issued certificate. In this model | ||||
| all the entities are CAs, except for the users of ROA signing | ||||
| shadow certs. In both cases, the CA knows the intended purpose | ||||
| (i.e. issue to others: CA, issue shadow to yourself: non-CA). ] | ||||
| SubjectKeyIdentifier | SubjectKeyIdentifier | |||
| 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 subfield, when specified. | |||
| CRLDistributionPoints | SubjectInformationAccess | |||
| This field MAY be honoured by the CA on the condition that the CA | This field MAY be honoured by the CA on the condition that the CA | |||
| issues a certificate with the BasicConstraints SubjectType CA bit | issues a certificate with the BasicConstraints SubjectType CA bit | |||
| set and the KeyUsage set to CertificateSigning and CRLSigning. | set and the KeyUsage set to CertificateSigning and CRLSigning. | |||
| If specified, this field contains a sequence of URIs that | If specified, this field contains a URI of the form of a single | |||
| references a CRL that will be published by the subject for | RSYNC URI that references a single publication point that will be | |||
| subordinate certificates. This sequence MUST include a rsync URI. | used by the subject for all certificates that published by the | |||
| This field MAY be honoured by the CA if present. | subject for subordinate certificates, and MUST be honoured by the | |||
| CA. | ||||
| If this field is omitted and KeyUsage is set to CertificateSigning | If this field is omitted and KeyUsage is set to CertificateSigning | |||
| then the CA MUST generate a CRLDistributionPoint URL based on out- | then the CA MUST generate a URI value for the | |||
| of-band information that has been passed between the CA and the | SubjectInformationAccess field based on out-of-band information | |||
| requester. | that has been passed between the CA and the requester. | |||
| [Note - not for publication. The issue of where and how to | [Note not for publication - if this field is missing than it is | |||
| specify where the subject will publish the CRL if the CA bit is | also an option for the Issuer to deny the request and not issue a | |||
| set and honored by the issuer is described here as information | certificate if the issued certificate was to have the CA bit set.] | |||
| that is either provided in this field in the certificate request | ||||
| or provided via an "out-of-band" exchange. An alternative is to | SubjectAlternateName | |||
| say that this field MUST be provided if the CA bit is set in the | This field MAY be present, and the CA MAY use this as the | |||
| request.] | SubjectAltName in the issued Certificate. | |||
| CRLDistributionPoints | ||||
| This field is assigned by the CA and MUST be omitted in this | ||||
| profile. | ||||
| AuthorityInformationAccess | AuthorityInformationAccess | |||
| 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. | |||
| SubjectInformationAccess | SubjectInformationAccess | |||
| This field MAY be honoured by the CA on the condition that the CA | This field MAY be honoured by the CA on the condition that the CA | |||
| issues a certificate with the BasicConstraints SubjectType CA bit | issues a certificate with the BasicConstraints SubjectType CA bit | |||
| set and the KeyUsage set to CertificateSigning and CRLSigning. | set and the KeyUsage set to CertificateSigning and CRLSigning. | |||
| skipping to change at page 17, line 40 ¶ | skipping to change at page 19, line 49 ¶ | |||
| 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. | |||
| ASResources | ASResources | |||
| 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. | |||
| With the exception of the publicKey field, the CA is permitted to | With the exception of the publicKey field, the CA is permitted to | |||
| alter any requested field. | alter any requested field. | |||
| 5.2. Resource Certificate Request Control Fields | ||||
| The following control fields are supported in this profile: | ||||
| Authenticator Control | ||||
| It is noted that the intended model of authentication of the | ||||
| subject in a long term one, and the advice as offered in [RFC4211] | ||||
| is that the Authenticator Control field be used. | ||||
| [Note - not for publication: The method of generation and | ||||
| authentication of this field is to be specified. The desirable | ||||
| properties include the ability to validate the subject and the | ||||
| authenticity of the provided public key.] | ||||
| Resource Class | ||||
| The profile defines an additional control for Resource Certificate | ||||
| 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 IPAddress and AS Number resources that match | ||||
| the subject's right-of-use of these resources with 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")] | ||||
| 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 in [RFC3280]: | This refines the generic procedure described in [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; | |||
| 3. certificate n is the certificate to be validated; and | 3. certificate n is the certificate to be validated; and | |||
| 4. for all x in {1, ..., n}, the certificate was valid at the time | 4. for all x in {1, ..., n}, the certificate was valid at the time | |||
| in question. | in question. | |||
| 6.1. Trust Anchors for Resource Certificates | 6.1. Trust Anchors for Resource Certificates | |||
| The trust model used in the resource certificate framework in the | The trust model that may be used in the resource certificate | |||
| context of validation of assertions of public number resources in | framework in the context of validation of assertions of public number | |||
| public-use contexts is a top-down delegated CA model that mirrors the | resources in public-use contexts is one that readily maps to a top- | |||
| delegation of resources from a registry distribution point to the | down delegated CA model that mirrors the delegation of resources from | |||
| entities that are the direct recipients of these resources. Within | a registry distribution point to the entities that are the direct | |||
| the trust model these recipient entities may, in turn, operate a | recipients of these resources. Within this trust model these | |||
| registry and perform further allocations or assignments. This is a | recipient entities may, in turn, operate a registry and perform | |||
| strict hierarchy, in that any number resource and a corresponding | further allocations or assignments. This is a strict hierarchy, in | |||
| recipient entity has only one 'parent' issuing registry for that | that any number resource and a corresponding recipient entity has | |||
| number resource (i.e. there is always a unique parent entity for any | only one 'parent' issuing registry for that number resource (i.e. | |||
| resource and corresponding entity), and that the issuing registry is | there is always a unique parent entity for any resource and | |||
| not a direct or indirect subordinate recipient entity of the | corresponding entity), and that the issuing registry is not a direct | |||
| recipient entity in question (i.e. no loops in the hierarchy). The | or indirect subordinate recipient entity of the recipient entity in | |||
| only exception to the "no loop" condition are the nominated trust | question (i.e. no loops in the hierarchy). The only exception to the | |||
| anchors, where a self-signed certificate is issued. | "no loop" condition would be where a putative trust anchor may issue | |||
| a self-signed root certificate. | ||||
| At the time of preparing this draft there are proposed to be multiple | ||||
| roots of this public number resource hierarchy, corresponding to | ||||
| multiple trust anchors. These trust anchors are the self-signed | ||||
| certificates that are issued by the Regional Internet Registries. | ||||
| Each self-signed certificate issued by a RIR contains a resource set | ||||
| that describes those resources where the RIR is administratively | ||||
| responsible. There MUST NOT be overlap of resources in the IP | ||||
| resource extensions across the collection of RIR self-signed | ||||
| certificates. This implies that a validation path for any valid | ||||
| certificate is unique, in the sense that the path will terminate with | ||||
| a single trust anchor. | ||||
| Cross-certification of these trust anchors, where one trust anchor | ||||
| entity issues a certificate with a subject of another trust anchor is | ||||
| not seen as providing any further substance to the integrity or ease | ||||
| of validation in this trust model, so cross-certification is not used | ||||
| in the trust anchor structure for this Resource Certificate | ||||
| framework. | ||||
| The adoption of a single trust anchor as a unique distinguished root | The more general consideration is that selection of a trust anchor is | |||
| of this certificate hierarchy is a potential future option here, and | a role undertaken by relying parties, and the structure of the | |||
| within the proposed framework some care has been taken not to | resource certificate profile admits the same variety of trust models | |||
| preclude the potential for a single distinguished root for this | as the PKIX profile. There is only one additional caveat on the | |||
| certificate framework that could issue a certificate to each RIR with | general applicability of trust models and PKIX frameworks, namely | |||
| a resource extension that matches the resource sets that fall under | that in forming a validation path to a trust anchor, the sequence of | |||
| the administrative responsibility of each RIR. | certificates MUST preserve the resource extension validation | |||
| property, as described in Section 6.2. | ||||
| 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 | |||
| skipping to change at page 20, line 28 ¶ | skipping to change at page 21, line 23 ¶ | |||
| more specific Given two IP address or AS number contiguous ranges, A | 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 | 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 | ||||
| "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 | Validation of a certificate's resource extension in the context of an | |||
| ordered certification path of {1,2, ... , n} where '1'is a trust | ordered certificate sequence of {1,2, ... , n} where '1'is a trust | |||
| anchor and 'n' is the target certificate, implies that each of the | anchor and 'n' is the target certificate, and where the subject of | |||
| contiguous resource sets of IP addresses and AS Numbers described in | certificate 'x' is the issuer of certificate 'x' + 1, implies that | |||
| certificate x, for 'x' is greater than , are more specific or equal | the resources described in certificate 'x', for 'x' is greater than | |||
| to the resources described in certificate x-1. | 1, "encompass" the resources described in certificate 'x' + 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 trust | |||
| anchor, and 'n' is the target certificate) verifying that all of the | anchor, and 'n' is the target certificate) verifying that all of the | |||
| following conditions hold: | 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 | |||
| skipping to change at page 21, line 12 ¶ | skipping to change at page 22, line 16 ¶ | |||
| 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 CRL is itself valid. | |||
| 6. That the resource extension data is equal to or more specific | 6. That the resource extension data is "encompassed" by the resource | |||
| than the resource extension data contained in a valid certificate | extension data contained in a valid certificate where this Issuer | |||
| where this Issuer is the Subject (the previous certificate in the | is the Subject (the previous certificate in the ordered sequence) | |||
| ordered sequence) | ||||
| 7. The Certificate Path originates at a trust anchor, and there | 7. The Certificate Path originates at a trust anchor, and there | |||
| exists a signing chain across the Certificate Path where the | exists a signing chain across the Certificate Path where the | |||
| Subject of Certificate x in the Certificate Path matches the | Subject of Certificate x in the Certificate Path matches the | |||
| Issuer in Certificate x+1 in the Certificate Path. | Issuer in Certificate x+1 in the Certificate Path. | |||
| Validation of a certificate may perform these tests in any chosen | A certificate validation algorithm may perform these tests in any | |||
| order. | chosen order. | |||
| A Resource Certificate may have a number of potential parent | A Resource Certificate may have a number of potential parent | |||
| certificates, where a potential parent certificate is one where the | certificates, where a potential parent certificate is one where the | |||
| subject name matches the issuer name of the resource certificate. A | subject name matches the issuer name of the resource certificate. A | |||
| candidate parent certificate is any member of the parent certificate | candidate parent certificate is any member of the parent certificate | |||
| set where the resource extension validity constraint is satisfied, | set where the resource extension validity constraint of | |||
| and a valid candidate parent certificate is any candidate parent | "encompassing" is satisfied, and a valid candidate parent certificate | |||
| certificate that also matches validity conditions 1 through 6. A | is any candidate parent certificate that also matches validity | |||
| valid parent certificate is a valid candidate parent certificate that | conditions 1 through 6. A valid parent certificate is a valid | |||
| also matches validity condition 7. | candidate parent certificate that also matches validity condition 7. | |||
| Certificates and CRLs used in this process may be found on a single | Certificates and CRLs used in this process may be found on a single | |||
| repository, maintained by a regular top-down walk from the Root Trust | repository, maintained by a regular top-down walk from the Root Trust | |||
| Anchors via Issuer certificates and their SIA fields as forward | Anchors via Issuer certificates and their SIA fields as forward | |||
| pointers, plus the CRLDP. Alternatively, validation may be performed | pointers, plus the CRLDP. Alternatively, validation may be performed | |||
| using a bottom-up process with on-line certificate access using the | using a bottom-up process with on-line certificate access using the | |||
| AIA and CRLDP pointers to guide the certificate retrieval process. | 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 | |||
| skipping to change at page 22, line 7 ¶ | skipping to change at page 23, line 10 ¶ | |||
| 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. | |||
| In the context of Resource Certificates that are generated in respect | In the context of Resource Certificates that are generated in respect | |||
| of public resources and with the framework of the associated resource | of public resources and with the framework of the associated resource | |||
| distribution process, it is suggested that this configuration | distribution process, it is suggested that this configuration | |||
| parameter of maximum certificate path length be set to a value of | parameter of maximum certificate path length be set to a value of | |||
| 100. (There is no particular reason for suggesting this value other | 100. | |||
| than the observation that it appears to be comfortably longer than | ||||
| any real distribution chain for public number resources, without | [Note - not for publication: There is no particular reason for | |||
| being too long so as to pose potential DOS concerns for relying | suggesting this value other than the observation that it appears to | |||
| parties performing a validation operation.) | be comfortably longer than any real distribution chain for public | |||
| number resources, without being too long so as to pose potential DOS | ||||
| concerns for relying parties performing a validation operation.] | ||||
| 7. Security Considerations | 7. Security Considerations | |||
| [to be completed] | [to be completed] | |||
| 8. IANA Considerations | 8. IANA Considerations | |||
| [An OID for a resource class option in a certificate request may need | [There are no IANA considerations stated in this version of the | |||
| to be defined.] | document.] | |||
| 9. 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. | |||
| 10. 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 | ||||
| Classes and Attribute Types Version 2.0", RFC 2985, | ||||
| November 2000. | ||||
| [RFC2986] Nystrom, M. and B. Kaliski, "PKCS #10: Certification | ||||
| Request Syntax Specification Version 1.7", RFC 2986, | ||||
| November 2000. | ||||
| [RFC3280] Housley, R., Polk, W., Ford, W., and D. Solo, "Internet | [RFC3280] Housley, R., Polk, W., Ford, W., and D. Solo, "Internet | |||
| X.509 Public Key Infrastructure Certificate and | X.509 Public Key Infrastructure Certificate and | |||
| Certificate Revocation List (CRL) Profile", RFC 3280, | Certificate Revocation List (CRL) Profile", RFC 3280, | |||
| April 2002. | April 2002. | |||
| [RFC3779] Lynn, C., Kent, S., and K. Seo, "X.509 Extensions for IP | [RFC3779] Lynn, C., Kent, S., and K. Seo, "X.509 Extensions for IP | |||
| Addresses and AS Identifiers", RFC 3779, June 2004. | Addresses and AS Identifiers", RFC 3779, June 2004. | |||
| [RFC4055] Schaad, J., Kaliski, B., and R. Housley, "Additional | [RFC4055] Schaad, J., Kaliski, B., and R. Housley, "Additional | |||
| Algorithms and Identifiers for RSA Cryptography for use in | Algorithms and Identifiers for RSA Cryptography for use in | |||
| skipping to change at page 23, line 19 ¶ | skipping to change at page 24, line 32 ¶ | |||
| Nicholas, "Internet X.509 Public Key Infrastructure: | Nicholas, "Internet X.509 Public Key Infrastructure: | |||
| Certification Path Building", RFC 4158, September 2005. | Certification Path Building", RFC 4158, September 2005. | |||
| [RFC4211] Schaad, J., "Internet X.509 Public Key Infrastructure | [RFC4211] Schaad, J., "Internet X.509 Public Key Infrastructure | |||
| Certificate Request Message Format (CRMF)", RFC 4211, | Certificate Request Message Format (CRMF)", RFC 4211, | |||
| September 2005. | September 2005. | |||
| [RFC4291] Hinden, R. and S. Deering, "IP Version 6 Addressing | [RFC4291] Hinden, R. and S. Deering, "IP Version 6 Addressing | |||
| Architecture", RFC 4291, February 2006. | Architecture", RFC 4291, February 2006. | |||
| [rsync] Tridgell, A., "rsync", April 2006, | ||||
| <http://samba.anu.edu.au/rsync/>. | ||||
| Appendix A. Example Resource Certificate | Appendix A. Example Resource Certificate | |||
| The following is an example Resource Certificate. | The following is an example Resource Certificate. | |||
| Certificate Name: UDkyh1nUjIjk5_WpdkZMh3KuvYo-25f7.crt | Certificate Name: hu9fdDBq60mrk7cPRuX2DYuXSRQ-3.cer | |||
| Data: | Data: | |||
| Version: 3 | Version: 3 | |||
| Serial: 9719 (0x25f7) | Serial: 3 | |||
| Signature Algorithm: | Signature Algorithm: Hash: SHA256, Encryption: RSA | |||
| Hash: SHA256, Encryption: RSA | Issuer: CN=Demo Production APNIC CA - Not for real use, | |||
| Issuer: CN=APNIC-AP-IANA | E=ca@apnic.net | |||
| Validity: | Validity: | |||
| Not Before: Fri May 12 05:37:43 2006 GMT | Not Before: Thu Jul 27 06:34:04 2006 GMT | |||
| Not After: Thu Aug 10 05:37:43 2006 GMT | Not After: Fri Jul 27 06:34:04 2007 GMT | |||
| Subject: CN=FC9B85ADDF5B | 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: | Subject Public Key Info: | |||
| Public Key Algorithm: rsaEncryption | Public Key Algorithm: rsaEncryption | |||
| RSA Public Key: (1024 bit) | RSA Public Key: Modulus: | |||
| Modulus (1024 bit): | c1:25:a1:b0:db:89:83:a0:fc:f1:c0:e4:7b:93:76:c1: | |||
| 00:f2:e5:63:d6:e3:89:45:47:02:13:90:b7:e5:39: | 59:b7:0d:ac:25:25:ed:88:ce:00:03:ea:99:1a:9a:2a: | |||
| a3:f0:8c:3b:27:0d:d1:90:92:46:9b:45:d0:52:34: | 0e:10:2e:5f:c0:45:87:47:81:7b:1d:4d:44:aa:65:a3: | |||
| f1:7c:c7:34:9f:be:d0:41:18:ab:35:43:62:89:2e: | f8:07:84:32:ea:04:70:27:05:2b:79:26:e6:e6:3a:cb: | |||
| 3e:32:ab:01:e2:86:76:2a:44:83:49:4c:83:02:b4: | b2:9a:65:6c:c1:4e:d7:35:fb:f6:41:1e:8b:1c:b8:e4: | |||
| 0c:2a:b0:b2:82:c6:35:24:7b:16:7a:35:42:36:15: | 5a:3a:d6:d0:7b:82:9a:23:03:f8:05:4c:68:42:67:fe: | |||
| 18:50:fe:8b:7f:c9:04:18:69:6b:ed:59:0d:61:ea: | e7:45:d9:2c:a6:d1:b3:da:cf:ad:77:c5:80:d2:e3:1e: | |||
| 20:ef:cd:19:30:9f:ce:b8:4a:f5:fb:ad:81:42:ab: | 4d:e8:bf:a2:f2:44:10:b2:2f:61:bc:f4:89:31:54:7c: | |||
| 57:72:0c:47:b0:d8:30:c0:0c:5b:52:dc:aa:94:95: | 56:47:d5:b1:c3:48:26:95:93:c9:6f:70:14:4d:ac:a5: | |||
| 3e:fe:44:ac:d5:b0:f4:d5:cb | c2:8e:3d:1f:6d:f8:d4:93:9d:14:c7:15:c7:34:8e:ba: | |||
| Exponent: 65537 (0x10001) | dd:70:b3:c2:2b:08:78:59:97:dd:e4:34:c7:d8:de:5c: | |||
| X509v3 extensions: | f7:94:6f:95:59:ba:29:65:f5:98:15:8f:8e:57:59:5d: | |||
| Basic Constraints: | 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: | ||||
| CA:TRUE | 24:c2:36:68:2b:3c:fd:bd:22:57:a9:4d:e8:86:3c:27: | |||
| Subject Key Identifier: | 03:ce:f0:03:2e:59:ce:05:a7:41:3f:2f:64:50:dd:e7 | |||
| keyid: 50:39:32:87:59:D4:8C:88:E4:E7:F5:A9: | RSA Public Key: Exponent: 65537 | |||
| 76:46:4C:87:72:AE:BD:8A | Basic Constraints: CA: TRUE | |||
| Authority Key Identifier: | Subject Info Access: | |||
| keyid: 19:54:CD:F2:81:C6:4E:31:09:6D:3A:15: | caRepository - rsync://repository.apnic.net/APNIC/ | |||
| E6:88:39:30:21:A6:56:73 | pvpjvwUeQix2e54X8fGbhmdYMo0/ | |||
| Key Usage: critical | q66IrWSGuBE7jqx8PAUHAlHCqRw/ | |||
| Certificate Sign, CRL Sign | hu9fdDBq60mrk7cPRuX2DYuXSRQ | |||
| CRL Distribution Points: | Key Usage: keyCertSign, cRLSign | |||
| URI:rsync://rsync.apnic.net/repository/ | CRL Distribution Points: | |||
| pvpjvwUeQix2e54X8fGbhmdYMo0/ | rsync://repository.apnic.net/APNIC/ | |||
| GVTN8oHGTjEJbToV5og5MCGmVnM/ | pvpjvwUeQix2e54X8fGbhmdYMo0/ | |||
| GVTN8oHGTjEJbToV5og5MCGmVnM.crl | q66IrWSGuBE7jqx8PAUHAlHCqRw/ | |||
| Authority Information Access: | q66IrWSGuBE7jqx8PAUHAlHCqRw.crl | |||
| CA Issuers - URI:rsync://rsync.apnic.net/repository/ | Authority Info Access: caIssuers - | |||
| pvpjvwUeQix2e54X8fGbhmdYMo0/ | rsync://repository.apnic.net/APNIC/ | |||
| GVTN8oHGTjEJbToV5og5MCGmVnM | pvpjvwUeQix2e54X8fGbhmdYMo0/ | |||
| Subject Information Access: | q66IrWSGuBE7jqx8PAUHAlHCqRw | |||
| CA Repository - URI:rsync://rsync.apnic.net/repository/ | Authority Key Identifier: Key Identifier: | |||
| pvpjvwUeQix2e54X8fGbhmdYMo0/ | ab:ae:88:ad:64:86:b8:11:3b:8e:ac:7c:3c:05:07:02: | |||
| GVTN8oHGTjEJbToV5og5MCGmVnM/ | 51:c2:a9:1c | |||
| UDkyh1nUjIjk5_WpdkZMh3KuvYo | Authority Key Identifier: Key Identifier g(AKI): | |||
| Certificate Policies: critical | q66IrWSGuBE7jqx8PAUHAlHCqRw | |||
| Policy: 1.3.6.1.5.5.7.14.2 | Certificate Policies: 1.3.6.1.5.5.7.14.2 | |||
| ipAddrBlock: critical | IPv4: 202.12.27.0-202.12.29.255, 202.12.31.0/24, | |||
| 192.0.0.0/24 | 203.119.0.0/24, 203.119.42.0/23 | |||
| autonomousSysNum: critical | IPv6: 2001:dc0::/32 | |||
| 64512 | ASNum: 4608, 4777, 9545, 18366-18370 | |||
| Subject Alternative Name: | ||||
| DirName:/CN=<subject_supplied_string> | ||||
| Signature: | Signature: | |||
| 72:27:9c:bc:a8:7f:c0:f0:27:62:a1:1f:55:b3:c7:b1:31:c9:fc: | c5:e7:b2:f3:62:cb:e3:bc:50:1e:6b:90:13:19:f4:5b: | |||
| 42:84:71:30:3b:0d:c0:d6:ad:79:b1:f6:1d:14:e8:f3:0f:f3:dd: | 4a:1c:1c:ab:b5:de:b1:a4:22:e0:28:f5:3b:d0:8c:59: | |||
| 40:3d:ae:28:a6:33:96:b6:d3:7d:d2:f3:ac:d3:8e:d4:2e:ad:ab: | 0f:85:f2:06:a6:ae:22:e6:d0:99:fe:cb:eb:1d:6a:e2: | |||
| 71:4d:05:74:20:ed:bc:e3:bd:85:7f:af:8b:70:3e:b8:90:b6:2d: | a3:f1:a2:25:95:ec:a7:7d:96:35:dc:16:a7:2f:f5:b7: | |||
| a5:e3:9d:2a:c8:a9:9b:73:3c:03:43:d2:b8:d2:4e:68:34:eb:db: | 11:ba:97:05:57:5f:5d:07:5a:c8:19:c8:27:d3:f7:a3: | |||
| 3c:44:eb:eb:1e:3b:03:d9:3b:e0:64:a6:31:90:9b:2c:4a:26:8e: | 92:66:cb:98:2d:e1:7f:a8:25:96:ab:af:ed:87:02:28: | |||
| 0e:36:4c:ee:c8:e9:29:6b:78:61:87:05:e2:f9 | 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 | ||||
| Appendix B. Example Certificate Revocation List | Appendix B. Example Certificate Revocation List | |||
| The following is an example Certificate Revocation List. | The following is an example Certificate Revocation List. | |||
| Certificate Name: GVTN8oHGTjEJbToV5og5MCGmVnM.crl | CRL Name: q66IrWSGuBE7jqx8PAUHAlHCqRw.crl | |||
| Data: | Data: | |||
| Version: 2 | Version: 2 | |||
| Issuer: CN=APNIC-AP-IANA | Signature Algorithm: | |||
| Effective Date: Fri May 12 05:37:43 2006 GMT | Hash: SHA256, Encryption: RSA | |||
| Next Update: Fri May 26 05:37:43 2006 GMT | Issuer: CN=Demo Production APNIC CA - Not for real use, | |||
| Signature algorithn | E=ca@apnic.net | |||
| Hash: SHA256, Encryption: RSA | This Update: Thu Jul 27 06:30:34 2006 GMT | |||
| CRL V2 Extensions: | Next Update: Fri Jul 28 06:30:34 2006 GMT | |||
| Authority Key Identifier: | Authority Key Identifier: Key Identifier: | |||
| Keyid: 19:54:cd:f2:81:c6:4e:31:09:6d:3a:15: | ab:ae:88:ad:64:86:b8:11:3b:8e:ac:7c:3c:05: | |||
| e6:88:39:30:21:a6:56:73 | 07:02:51:c2:a9:1c | |||
| Certificate Issuer: | Authority Key Identifier: Key Identifier g(AKI): | |||
| CN=APNIC-AP-IANA | q66IrWSGuBE7jqx8PAUHAlHCqRw | |||
| Certificate Serial Number: 1b | CRLNumber: 4 | |||
| CRL Number: 1097 | Revoked Certificates: 1 | |||
| Revocation List: | Serial Number: 1 | |||
| Revoked Certificates | Revocation Date: Mon Jul 17 05:10:19 2006 GMT | |||
| Serial Number: 0b | Serial Number: 2 | |||
| Revocation Date: Mon May 8 05:10:19 2006 GMT | Revocation Date: Mon Jul 17 05:12:25 2006 GMT | |||
| Serial Number: 0c | Serial Number: 4 | |||
| Revocation Date: Mon May 8 05:10:19 2006 GMT | Revocation Date: Mon Jul 17 05:40:39 2006 GMT | |||
| Signature: | ||||
| b2:5a:e8:7c:bd:a8:00:0f:03:1a:17:fd:40:2c:46: | ||||
| 0e:d5:64:87:e7:e7:bc:10:7d:b6:3e:39:21:a9:12: | ||||
| f4:5a:d8:b8:d4:bd:57:1a:7d:2f:7c:0d:c6:4f:27: | ||||
| 17:c8:0e:ae:8c:89:ff:00:f7:81:97:c3:a1:6a:0a: | ||||
| f7:d2:46:06:9a:d1:d5:4d:78:e1:b7:b0:58:4d:09: | ||||
| d6:7c:1e:a0:40:af:86:5d:8c:c9:48:f6:e6:20:2e: | ||||
| b9:b6:81:03:0b:51:ac:23:db:9f:c1:8e:d6:94:54: | ||||
| 66:a5:68:52:ee:dd:0f:10:5d:21:b8:b8:19:ff:29: | ||||
| 6f:51:2e:c8:74:5c:2a:d2:c5:fa:99:eb:c5:c2:a2: | ||||
| d0:96:fc:54:b3:ba:80:4b:92:7f:85:54:76:c9:12: | ||||
| cb:32:ea:1d:12:7b:f8:f9:a2:5c:a1:b1:06:8e:d8: | ||||
| c5:42:61:00:8c:f6:33:11:29:df:6e:b2:cc:c3:7c: | ||||
| d3:f3:0c:8d:5c:49:a5:fb:49:fd:e7:c4:73:68:0a: | ||||
| 09:0e:6d:68:a9:06:52:3a:36:4f:19:47:83:59:da: | ||||
| 02:5b:2a:d0:8a:7a:33:0a:d5:ce:be:b5:a2:7d:8d: | ||||
| 59:a1:9d:ee:60:ce:77:3d:e1:86:9a:84:93:90:9f: | ||||
| 34:a7:02:40:59:3a:a5:d1:18:fb:6f:fc:af:d4:02: | ||||
| d9 | ||||
| Authors' Addresses | Authors' Addresses | |||
| Geoff Huston | Geoff Huston | |||
| Asia Pacific Network Information Centre | Asia Pacific Network Information Centre | |||
| Email: gih@apnic.net | Email: gih@apnic.net | |||
| URI: http://www.apnic.net | URI: http://www.apnic.net | |||
| Robert Loomans | George Michaelson | |||
| Asia Pacific Network Information Centre | Asia Pacific Network Information Centre | |||
| Email: robertl@apnic.net | Email: ggm@apnic.net | |||
| URI: http://www.apnic.net | URI: http://www.apnic.net | |||
| George Michaelson | Robert Loomans | |||
| Asia Pacific Network Information Centre | Asia Pacific Network Information Centre | |||
| Email: ggm@apnic.net | Email: robertl@apnic.net | |||
| URI: http://www.apnic.net | URI: http://www.apnic.net | |||
| Full Copyright Statement | Full Copyright Statement | |||
| Copyright (C) The Internet Society (2006). | Copyright (C) The Internet Society (2006). | |||
| This document is subject to the rights, licenses and restrictions | This document is subject to the rights, licenses and restrictions | |||
| contained in BCP 78, and except as set forth therein, the authors | contained in BCP 78, and except as set forth therein, the authors | |||
| retain all their rights. | retain all their rights. | |||
| End of changes. 94 change blocks. | ||||
| 451 lines changed or deleted | 550 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/ | ||||