| < draft-ietf-sidr-res-certs-10.txt | draft-ietf-sidr-res-certs-11.txt > | |||
|---|---|---|---|---|
| SIDR G. Huston | SIDR G. Huston | |||
| Internet-Draft G. Michaelson | Internet-Draft G. Michaelson | |||
| Intended status: Standards Track R. Loomans | Intended status: Standards Track R. Loomans | |||
| Expires: December 19, 2008 APNIC | Expires: February 2, 2009 APNIC | |||
| June 17, 2008 | August 1, 2008 | |||
| A Profile for X.509 PKIX Resource Certificates | A Profile for X.509 PKIX Resource Certificates | |||
| draft-ietf-sidr-res-certs-10.txt | draft-ietf-sidr-res-certs-11.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 19, 2008. | This Internet-Draft will expire on February 2, 2009. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (C) The IETF Trust (2008). | Copyright (C) The IETF Trust (2008). | |||
| Abstract | Abstract | |||
| This document defines a standard profile for X.509 certificates for | This document defines a standard profile for X.509 certificates for | |||
| the purposes of supporting validation of assertions of "right-to-use" | the purposes of supporting validation of assertions of "right-to-use" | |||
| of an Internet Number Resource (IP Addresses and Autonomous System | of an Internet Number Resource (IP Addresses and Autonomous System | |||
| skipping to change at page 2, line 40 ¶ | skipping to change at page 2, line 40 ¶ | |||
| 4. Resource Certificate Revocation List Profile . . . . . . . . . 14 | 4. Resource Certificate Revocation List Profile . . . . . . . . . 14 | |||
| 4.1. Version . . . . . . . . . . . . . . . . . . . . . . . . . 14 | 4.1. Version . . . . . . . . . . . . . . . . . . . . . . . . . 14 | |||
| 4.2. Issuer Name . . . . . . . . . . . . . . . . . . . . . . . 14 | 4.2. Issuer Name . . . . . . . . . . . . . . . . . . . . . . . 14 | |||
| 4.3. This Update . . . . . . . . . . . . . . . . . . . . . . . 14 | 4.3. This Update . . . . . . . . . . . . . . . . . . . . . . . 14 | |||
| 4.4. Next Update . . . . . . . . . . . . . . . . . . . . . . . 15 | 4.4. Next Update . . . . . . . . . . . . . . . . . . . . . . . 15 | |||
| 4.5. Signature . . . . . . . . . . . . . . . . . . . . . . . . 15 | 4.5. Signature . . . . . . . . . . . . . . . . . . . . . . . . 15 | |||
| 4.6. Revoked Certificate List . . . . . . . . . . . . . . . . . 15 | 4.6. Revoked Certificate List . . . . . . . . . . . . . . . . . 15 | |||
| 4.6.1. Serial Number . . . . . . . . . . . . . . . . . . . . 15 | 4.6.1. Serial Number . . . . . . . . . . . . . . . . . . . . 15 | |||
| 4.6.2. Revocation Date . . . . . . . . . . . . . . . . . . . 15 | 4.6.2. Revocation Date . . . . . . . . . . . . . . . . . . . 15 | |||
| 4.7. CRL Extensions . . . . . . . . . . . . . . . . . . . . . . 15 | 4.7. CRL Extensions . . . . . . . . . . . . . . . . . . . . . . 15 | |||
| 4.7.1. Authority Key Identifier . . . . . . . . . . . . . . . 15 | 4.7.1. Authority Key Identifier . . . . . . . . . . . . . . . 16 | |||
| 4.7.2. CRL Number . . . . . . . . . . . . . . . . . . . . . . 16 | 4.7.2. CRL Number . . . . . . . . . . . . . . . . . . . . . . 16 | |||
| 5. Resource Certificate Request Profile . . . . . . . . . . . . . 16 | 5. Resource Certificate Request Profile . . . . . . . . . . . . . 16 | |||
| 5.1. PCKS#10 Profile . . . . . . . . . . . . . . . . . . . . . 16 | 5.1. PCKS#10 Profile . . . . . . . . . . . . . . . . . . . . . 16 | |||
| 5.1.1. PKCS#10 Resource Certificate Request Template | 5.1.1. PKCS#10 Resource Certificate Request Template | |||
| Fields . . . . . . . . . . . . . . . . . . . . . . . . 16 | Fields . . . . . . . . . . . . . . . . . . . . . . . . 16 | |||
| 5.2. CRMF Profile . . . . . . . . . . . . . . . . . . . . . . . 17 | 5.2. CRMF Profile . . . . . . . . . . . . . . . . . . . . . . . 17 | |||
| 5.2.1. CRMF Resource Certificate Request Template Fields . . 18 | 5.2.1. CRMF Resource Certificate Request Template Fields . . 18 | |||
| 5.2.2. Resource Certificate Request Control Fields . . . . . 19 | 5.2.2. Resource Certificate Request Control Fields . . . . . 19 | |||
| 5.3. Certificate Extension Attributes in Certificate | 5.3. Certificate Extension Attributes in Certificate | |||
| Requests . . . . . . . . . . . . . . . . . . . . . . . . . 19 | Requests . . . . . . . . . . . . . . . . . . . . . . . . . 19 | |||
| 6. Resource Certificate Validation . . . . . . . . . . . . . . . 21 | 6. Resource Certificate Validation . . . . . . . . . . . . . . . 21 | |||
| 6.1. Trust Anchors for Resource Certificates . . . . . . . . . 21 | 6.1. Trust Anchors for Resource Certificates . . . . . . . . . 22 | |||
| 6.2. Resource Extension Validation . . . . . . . . . . . . . . 22 | 6.2. Resource Extension Validation . . . . . . . . . . . . . . 22 | |||
| 6.3. Resource Certificate Path Validation . . . . . . . . . . . 23 | 6.3. Resource Certificate Path Validation . . . . . . . . . . . 23 | |||
| 7. Security Considerations . . . . . . . . . . . . . . . . . . . 24 | 7. Security Considerations . . . . . . . . . . . . . . . . . . . 25 | |||
| 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 25 | 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 25 | |||
| 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 25 | 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 25 | |||
| 10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 25 | 10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 25 | |||
| 10.1. Normative References . . . . . . . . . . . . . . . . . . . 25 | 10.1. Normative References . . . . . . . . . . . . . . . . . . . 25 | |||
| 10.2. Informative References . . . . . . . . . . . . . . . . . . 26 | 10.2. Informative References . . . . . . . . . . . . . . . . . . 26 | |||
| Appendix A. Example Resource Certificate . . . . . . . . . . . . 26 | Appendix A. Example Resource Certificate . . . . . . . . . . . . 26 | |||
| Appendix B. Example Certificate Revocation List . . . . . . . . . 28 | Appendix B. Example Certificate Revocation List . . . . . . . . . 28 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 29 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 29 | |||
| Intellectual Property and Copyright Statements . . . . . . . . . . 31 | Intellectual Property and Copyright Statements . . . . . . . . . . 31 | |||
| 1. Introduction | 1. Introduction | |||
| This document defines a standard profile for X.509 certificates for | This document defines a standard profile for X.509 certificates for | |||
| use in the context of certification of IP Addresses and AS Numbers. | use in the context of certification of IP Addresses and AS Numbers. | |||
| Such certificates are termed here "Resource Certificates." Resource | Such certificates are termed here "Resource Certificates." Resource | |||
| Certificates are X.509 certificates that conform to the PKIX profile | Certificates are X.509 certificates that conform to the PKIX profile | |||
| [RFC3280], and also conform to the constraints specified in this | [RFC5280], and also conform to the constraints specified in this | |||
| profile. Resource Certificates attest that the issuer has granted | profile. Resource Certificates attest that the issuer has granted | |||
| the subject a "right-to-use" for a listed set of IP addresses and | the subject a "right-to-use" for a listed set of IP addresses and | |||
| Autonomous System numbers. | Autonomous System numbers. | |||
| A Resource Certificate describes an action by a certificate issuer | A Resource Certificate describes an action by a certificate issuer | |||
| that binds a list of IP Address blocks and AS Numbers to the subject | that binds a list of IP Address blocks and AS Numbers to the subject | |||
| of the issued certificate. The binding is identified by the | of the issued certificate. The binding is identified by the | |||
| association of the subject's private key with the subject's public | association of the subject's private key with the subject's public | |||
| key contained in the Resource Certificate, as signed by the private | key contained in the Resource Certificate, as signed by the private | |||
| key of the certificate's issuer. | key of the certificate's issuer. | |||
| skipping to change at page 5, line 18 ¶ | skipping to change at page 5, line 18 ¶ | |||
| 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" [RFC5280], "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 | |||
| Architecture" [RFC4291], "Internet Registry IP Allocation Guidelines" | Architecture" [RFC4291], "Internet Registry IP Allocation Guidelines" | |||
| [RFC2050], and related regional Internet registry address management | [RFC2050], and related regional Internet registry address management | |||
| policy documents. | policy documents. | |||
| The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
| "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | |||
| document are to be interpreted as described in RFC 2119. | document are to be interpreted as described in RFC 2119. | |||
| skipping to change at page 6, line 27 ¶ | skipping to change at page 6, line 27 ¶ | |||
| certificate in the sequence) from a trust anchor certificate | certificate in the sequence) from a trust anchor certificate | |||
| authority to the certificate being validated, and that the resource | authority to the certificate being validated, and that the resource | |||
| extensions in this certificate sequence from the trust anchor's | extensions in this certificate sequence from the trust anchor's | |||
| issued certificate to the certificate being validated form a sequence | issued certificate to the certificate being validated form a sequence | |||
| of encompassing relationships in terms of the resources described in | of encompassing relationships in terms of the resources described in | |||
| the resource extension. | the resource extension. | |||
| 3. Resource Certificate Fields | 3. Resource Certificate Fields | |||
| A Resource Certificate is a valid X.509 v3 public key certificate, | A Resource Certificate is a valid X.509 v3 public key certificate, | |||
| consistent with the PKIX profile [RFC3280], containing the fields | consistent with the PKIX profile [RFC5280], containing the fields | |||
| listed in this section. Unless specifically noted as being OPTIONAL, | listed in this section. Unless specifically noted as being OPTIONAL, | |||
| all the fields listed here MUST be present, and any other field MUST | all the fields listed here MUST be present, and any other field MUST | |||
| NOT appear in a conforming Resource Certificate. Where a field value | NOT appear in a conforming Resource Certificate. Where a field value | |||
| is specified here this value MUST be used in conforming Resource | is specified here this value MUST be used in conforming Resource | |||
| Certificates. | Certificates. | |||
| 3.1. Version | 3.1. Version | |||
| Resource Certificates are X.509 Version 3 certificates. This field | Resource Certificates are X.509 Version 3 certificates. This field | |||
| MUST be present, and the Version MUST be 3 (i.e. the value of this | MUST be present, and the Version MUST be 3 (i.e. the value of this | |||
| skipping to change at page 7, line 6 ¶ | skipping to change at page 7, line 6 ¶ | |||
| 3.3. Signature Algorithm | 3.3. Signature Algorithm | |||
| This field describes the algorithm used to compute the signature on | This field describes the algorithm used to compute the signature on | |||
| this certificate. This profile specifies a minimum of SHA-256 with | this certificate. This profile specifies a minimum of SHA-256 with | |||
| RSA (sha256WithRSAEncryption), and allows for the use of SHA-384 or | RSA (sha256WithRSAEncryption), and allows for the use of SHA-384 or | |||
| SHA-512. Accordingly, the value for this field MUST be one of the | SHA-512. Accordingly, the value for this field MUST be one of the | |||
| OID values { pkcs-1 11 }, { pkcs-1 12 } or { pkcs-1 13 } [RFC4055]. | OID values { pkcs-1 11 }, { pkcs-1 12 } or { pkcs-1 13 } [RFC4055]. | |||
| It is noted that larger key sizes are computationally expensive for | It is noted that larger key sizes are computationally expensive for | |||
| both the Certiciate Authority and relying parties, indicating that | both the Certificate Authority and relying parties, indicating that | |||
| care should be taken when deciding to use larger than the minimum key | care should be taken when deciding to use larger than the minimum key | |||
| size. | size. | |||
| 3.4. Issuer | 3.4. Issuer | |||
| This field identifies the entity that has signed and issued the | This field identifies the entity that has signed and issued the | |||
| certificate. The value of this field is a valid X.501 name. | certificate. The value of this field is a valid X.501 name. | |||
| If the certificate is a subordinate certificate issued by virtue of | If the certificate is a subordinate certificate issued by virtue of | |||
| the "cA" bit set in the immediate superior certificate, then the | the "cA" bit set in the immediate superior certificate, then the | |||
| skipping to change at page 7, line 37 ¶ | skipping to change at page 7, line 37 ¶ | |||
| In this profile the subject name is determined by the issuer, and | In this profile the subject name is determined by the issuer, and | |||
| each distinct entity certified by the issuer MUST be identified using | each distinct entity certified by the issuer MUST be identified using | |||
| a subject name that is unique per issuer. | 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 SHOULD 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 [RFC5280], | |||
| Certification Authorities (CAs) conforming to this profile MUST | Certification Authorities (CAs) conforming to this profile MUST | |||
| always encode the certificate's "Valid From" date through the year | always encode the certificate's "Valid From" date through the year | |||
| 2049 as UTCTime, and dates in 2050 or later MUST be encoded as | 2049 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 [RFC5280]. | |||
| In this profile, it is valid for a certificate to have a value for | 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 | this field that pre-dates the same field value in any superior | |||
| certificate. However, it is not valid to infer from this information | certificate. However, it is not valid to infer from this information | |||
| that a certificate was, or will be, valid at any particular time | that a certificate was, or will be, valid at any particular time | |||
| other than the current 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 [RFC5280], 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 [RFC5280]. | |||
| In this profile, it is valid for a certificate to have a value for | 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 | this field that post-dates the same field value in any superior | |||
| certificate. However, it is not valid to infer from this information | certificate. However, it is not valid to infer from this information | |||
| that a certificate was, or will be, valid at any particular time | that a certificate was, or will be, valid at any particular time | |||
| other than the current time. | other than the current time. | |||
| CAs are typically advised against issuing a certificate with a | CAs are typically advised against issuing a certificate with a | |||
| validity interval that exceeds the validity interval of the CA's | validity interval that exceeds the validity interval of the CA's | |||
| certificate that will be used to validate the issued certificate. | certificate that will be used to validate the issued certificate. | |||
| skipping to change at page 8, line 50 ¶ | skipping to change at page 8, line 50 ¶ | |||
| issued certificates, and that their immediate subordinate certificate | issued certificates, and that their immediate subordinate certificate | |||
| authorities also use a key size of 2048 bits. All other subordinate | authorities also use a key size of 2048 bits. All other subordinate | |||
| certificates MAY use a key size of 1024 bits. | certificates MAY use a key size of 1024 bits. | |||
| It is noted that larger key sizes are computationally expensive for | It is noted that larger key sizes are computationally expensive for | |||
| both the CA and relying parties, indicating that care should be taken | both the CA and relying parties, indicating that care should be taken | |||
| when deciding to use larger than the minimum key size. | when deciding to use larger than the minimum key size. | |||
| 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 [RFC5280], 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 recognise; however, a non-critical extension | extension it does not recognise; however, a non-critical extension | |||
| MAY be ignored if it is not recognised [RFC3280]. | MAY be ignored if it is not recognised [RFC5280]. | |||
| 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, except where explicitly noted otherwise. | Resource Certificate, except where explicitly noted otherwise. | |||
| 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. | |||
| skipping to change at page 9, line 43 ¶ | skipping to change at page 9, line 43 ¶ | |||
| 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 | |||
| immediate subordinate certificates (all certificates issued by the | immediate subordinate certificates (all certificates issued by the | |||
| subject of this certificate). | 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 [RFC5280]. | |||
| 3.9.3. Authority Key Identifier | 3.9.3. Authority Key Identifier | |||
| The subject key identifier extension provides a means of identifying | The authority key identifier extension provides a means of | |||
| certificates that are signed by the issuer's private key, by | identifying certificates that are signed by the issuer's private key, | |||
| providing a hash value of the issuer's public key. To facilitate | by providing a hash value of the issuer's public key. To facilitate | |||
| path construction, this extension MUST appear in all Resource | path construction, this extension MUST appear in all Resource | |||
| Certificates. The keyIdentifier sub field MUST be present in all | Certificates. The keyIdentifier sub field MUST be present in all | |||
| Resource Certificates, with the exception of a CA who issues a "self- | Resource Certificates, with the exception of a CA who issues a "self- | |||
| signed" certificate. The authorityCertIssuer and | signed" certificate. The authorityCertIssuer and | |||
| authorityCertSerialNumber sub fields MUST NOT be present. This | authorityCertSerialNumber sub fields MUST NOT be present. This | |||
| extension is non-critical. | extension is non-critical. | |||
| The Key Identifier used here is the 160-bit SHA-1 hash of the value | The Key Identifier used here is the 160-bit SHA-1 hash of the value | |||
| of the DER-encoded ASN.1 bit string of the issuer's public key, as | of the DER-encoded ASN.1 bit string of the issuer's public key, as | |||
| described in Section 4.2.1.1 of [RFC3280]. | described in Section 4.2.1.1 of [RFC5280]. | |||
| 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 Certicate Authorities only the keyCertSign | In certificates issued to Certificate Authorities only the | |||
| and CRLSign bits are set to TRUE and MUST be the only bits set to | keyCertSign and CRLSign bits are set to TRUE and MUST be the only | |||
| TRUE. | bits set to TRUE. | |||
| In end-entity certificates the digitialSignature bit MUST be set and | In end-entity certificates the digitalSignature bit MUST be set and | |||
| MUST be the only bit set to TRUE. | 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 URI ("rsync://") [rsync] that references | mechanism is a single RSYNC URI ("rsync://") [rsync] that references | |||
| a single inclusive CRL for each issuer. | a single inclusive CRL for each issuer. | |||
| skipping to change at page 11, line 17 ¶ | skipping to change at page 11, line 17 ¶ | |||
| "self-signed" certificate, the CRLDP MUST be omitted. | "self-signed" certificate, the CRLDP MUST be omitted. | |||
| 3.9.6. Authority Information Access | 3.9.6. Authority Information Access | |||
| This field (AIA) identifies the point of publication of the | This field (AIA) identifies the point of publication of the | |||
| certificate that is issued by the issuer's immediate superior CA, | certificate that is issued by the issuer's immediate superior CA, | |||
| where this certificate's issuer is the subject. In this profile a | where this certificate's issuer is the subject. In this profile a | |||
| single reference object to publication location of the immediate | single reference object to publication location of the immediate | |||
| superior certificate MUST be used, except in the case where a CA | superior certificate MUST be used, except in the case where a CA | |||
| distributes its public key in the form of a "self-signed" | distributes its public key in the form of a "self-signed" | |||
| certificate, the authority key identifier SHOULD be omitted. | certificate, the AIA field SHOULD be omitted. | |||
| This profile uses a URI form of object identification. The preferred | This profile uses a URI form of object identification. The preferred | |||
| URI access mechanisms is "rsync", and an RSYNC URI MUST be specified | URI access mechanisms is "rsync", and an RSYNC URI MUST be specified | |||
| with an accessMethod value of id-ad-caIssuers. The URI MUST | with an accessMethod value of id-ad-caIssuers. The URI MUST | |||
| reference the point of publication of the certificate where this | reference the point of publication of the certificate where this | |||
| issuer is the subject (the issuer's immediate superior certificate). | issuer is the subject (the issuer's immediate superior certificate). | |||
| Other access method URIs referencing the same object MAY also be | Other access method URIs referencing the same object MAY also be | |||
| included in the value sequence of this extension. | included in the value sequence of this extension. | |||
| When an Issuer re-issues a CA certificate, the subordinate | When an Issuer re-issues a CA certificate, the subordinate | |||
| skipping to change at page 12, line 33 ¶ | skipping to change at page 12, line 33 ¶ | |||
| references the location where objects signed by the key pair | references the location where objects signed by the key pair | |||
| associated with the EE certificate can be accessed, or, in the case | associated with the EE certificate can be accessed, or, in the case | |||
| of single-use EE certificates it references the location of the | of single-use EE certificates it references the location of the | |||
| single object that has been signed by the corresponding key pair. | single object that has been signed by the corresponding key pair. | |||
| When the subject is an End Entity, and it publishes objects signed | When the subject is an End Entity, and it publishes objects signed | |||
| with the matching private key in a repository, the directory where | with the matching private key in a repository, the directory where | |||
| these signed objects is published is referenced the id-ad- | these signed objects is published is referenced the id-ad- | |||
| signedObjectRepository OID. | signedObjectRepository OID. | |||
| id-ad OBJECT IDENTIFIER ::= { id-pkix 48 } | id-ad OBJECT IDENTIFIER ::= { id-pkix 48 } | |||
| id-ad-signedObjectRepository OBJECT IDENTIFIER ::= { id-ad 9 } | id-ad-signedObjectRepository OBJECT IDENTIFIER ::= { id-ad 9 } | |||
| When the subject is an End Entity, and it publishes a single object | When the subject is an End Entity, and it publishes a single object | |||
| signed with the matching private key, the location where this signed | signed with the matching private key, the location where this signed | |||
| object is published is referenced the id-ad-signedObject OID. | object is published is referenced the id-ad-signedObject OID. | |||
| id-ad-signedObject OBJECT IDENTIFIER ::= { id-ad 11 } | id-ad-signedObject OBJECT IDENTIFIER ::= { id-ad 11 } | |||
| This profile requires the use of repository publication manifests | This profile requires the use of repository publication manifests | |||
| [ID.SIDR-MANIFESTS] to list all signed objects that are deposited in | [ID.SIDR-MANIFESTS] to list all signed objects that are deposited in | |||
| the repository publication point assocaited with a CA or an EE. The | the repository publication point associated with a CA or an EE. The | |||
| publication point of the manifest for a CA or EE is placed in the SIA | publication point of the manifest for a CA or EE is placed in the SIA | |||
| extension of the CA or EE certificate. This profile uses a URI form | extension of the CA or EE certificate. This profile uses a URI form | |||
| of manifest identification for the accessLocation. The preferred URI | of manifest identification for the accessLocation. The preferred URI | |||
| access mechanisms is "rsync", and an RSYNC URI MUST be specified. | access mechanisms is "rsync", and an RSYNC URI MUST be specified. | |||
| Other accessDescription fields may exist with this id-ad-Manifest | Other accessDescription fields may exist with this id-ad-Manifest | |||
| accessMethod, where the accessLocation value indicates alternate URI | accessMethod, where the accessLocation value indicates alternate URI | |||
| access mechanisms for the same manifest object. | access mechanisms for the same manifest object. | |||
| id-ad-rpkiManifest OBJECT IDENTIFIER ::= { id-ad 10 } | id-ad-rpkiManifest OBJECT IDENTIFIER ::= { id-ad 10 } | |||
| CA certificates MUST include in the SIA an accessMethod OID of id-ad- | CA certificates MUST include in the SIA an accessMethod OID of id-ad- | |||
| rpkiManifest, where the associated accessLocation refers to the | rpkiManifest, where the associated accessLocation refers to the | |||
| subject's published manifest object as an object URL. | subject's published manifest object as an object URL. | |||
| When an EE certificate is intended for use in verifying multiple | When an EE certificate is intended for use in verifying multiple | |||
| objects, EE certificate MUST include in the SIA an access method OID | objects, EE certificate MUST include in the SIA an access method OID | |||
| of id-ad-rpkiManifest, where the associated access location refers to | of id-ad-rpkiManifest, where the associated access location refers to | |||
| the publication point of the objects that are verified using this EE | the publication point of the objects that are verified using this EE | |||
| certificate. | certificate. | |||
| When an EE certificate is used to sign a single object, the EE | When an EE certificate is used to sign a single object, the EE | |||
| certificate MUST include in the SIA an access method OID of id-ad- | certificate MUST include in the SIA an access method OID of id-ad- | |||
| signedObject, where the associated access location refers to the | signedObject, where the associated access location refers to the | |||
| publication point of the single object that is verified using this EE | publication point of the single object that is verified using this EE | |||
| certificate. | certificate. In this case, the SIA MUST NOT include the access | |||
| method OID of id-ad-rpkiManifest. | ||||
| 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. | |||
| skipping to change at page 14, line 10 ¶ | skipping to change at page 14, line 11 ¶ | |||
| or may specify the "inherit" element. RDI values are NOT supported | or may specify the "inherit" element. RDI values are NOT supported | |||
| in this profile and MUST NOT be used. All Resource Certificates MUST | 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. | extensions. | |||
| This extension, if present, MUST be marked critical. | This extension, if present, MUST be marked critical. | |||
| 4. Resource Certificate Revocation List Profile | 4. Resource Certificate Revocation List Profile | |||
| Each CA MUST issue a version 2 Certificate Revocation List (CRL), | Each CA MUST issue a version 2 Certificate Revocation List (CRL), | |||
| consistent with [RFC3280]. The CRL issuer is the CA, and no indirect | consistent with [RFC5280]. The CRL issuer is the CA, and no indirect | |||
| CRLs are supported in this profile. | CRLs are supported in this profile. | |||
| 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 scope of the CRL MUST be "all certificates issued by this CA | The scope of the CRL MUST be "all certificates issued by this CA | |||
| using a given key pair". The contents of the CRL are a list of all | using a given key pair". The contents of the CRL are a list of all | |||
| skipping to change at page 16, line 6 ¶ | skipping to change at page 16, line 11 ¶ | |||
| The X.509 v2 CRL format allows extensions to be placed in a CRL. The | The X.509 v2 CRL format allows extensions to be placed in a CRL. The | |||
| following extensions are supported in this profile, and MUST be | following extensions are supported in this profile, and MUST be | |||
| present in a CRL. | present in a CRL. | |||
| 4.7.1. Authority Key Identifier | 4.7.1. Authority Key Identifier | |||
| The authority key identifier extension provides a means of | The authority key identifier extension provides a means of | |||
| identifying the public key corresponding to the private key used to | identifying the public key corresponding to the private key used to | |||
| sign a CRL. Conforming CRL issuers MUST use the key identifier | sign a CRL. Conforming CRL issuers MUST use the key identifier | |||
| method. The syntax for this CRL extension is defined in section | method. The syntax for this CRL extension is defined in section | |||
| 4.2.1.1 of [RFC3280]. | 4.2.1.1 of [RFC5280]. | |||
| This extension is non-critical. | This extension is non-critical. | |||
| 4.7.2. CRL Number | 4.7.2. CRL Number | |||
| The CRL Number extension conveys a monotonically increasing sequence | The CRL Number extension conveys a monotonically increasing sequence | |||
| number of positive integers for a given CA and scope. This extension | number of positive integers for a given CA and scope. This extension | |||
| allows users to easily determine when a particular CRL supersedes | allows users to easily determine when a particular CRL supersedes | |||
| another CRL. The highest CRL Number value supersedes all other CRLs | another CRL. The highest CRL Number value supersedes all other CRLs | |||
| issued by the CA with the same scope. | issued by the CA with the same scope. | |||
| skipping to change at page 20, line 48 ¶ | skipping to change at page 21, line 4 ¶ | |||
| include in the SIA of the request the accessMethod OID of id-ad- | include in the SIA of the request the accessMethod OID of id-ad- | |||
| rpkiManifest, where the associated accessLocation refers to the | rpkiManifest, where the associated accessLocation refers to the | |||
| subject's published manifest object as an object URL. | subject's published manifest object as an object URL. | |||
| When an EE certificate is intended for use in verifying multiple | When an EE certificate is intended for use in verifying multiple | |||
| objects, the certificate request for the EE certificate MUST | objects, the certificate request for the EE certificate MUST | |||
| include in the SIA of the request an access method OID of id-ad- | include in the SIA of the request an access method OID of id-ad- | |||
| signedObjectRepository, and also MUST include in the SIA of the | signedObjectRepository, and also MUST include in the SIA of the | |||
| request an access method OID of id-ad-rpkiManifest, where the | request an access method OID of id-ad-rpkiManifest, where the | |||
| associated access location refers to the publication point of the | associated access location refers to the publication point of the | |||
| objects that are verified using this EE certificate. | objects that are verified using this EE certificate. | |||
| When an EE certificate is used to sign a single object, the | When an EE certificate is used to sign a single object, the | |||
| certificate request for the EE certificate MUST include in the SIA | certificate request for the EE certificate MUST include in the SIA | |||
| of the request an access method OID of id-ad-signedObject, where | of the request an access method OID of id-ad-signedObject, where | |||
| the associated access location refers to the publication point of | the associated access location refers to the publication point of | |||
| the single object that is verified using this EE certificate, and | the single object that is verified using this EE certificate, and | |||
| MUST NOT include an id-ad-rpkiManifest access method OID in the | MUST NOT include an id-ad-rpkiManifest access method OID in the | |||
| SIA of the request. | SIA of the request. | |||
| CRLDistributionPoints | CRLDistributionPoints | |||
| This field is assigned by the CA and MUST be omitted in this | This field is assigned by the CA and MUST be omitted in this | |||
| profile. | profile. | |||
| AuthorityInformationAccess | AuthorityInformationAccess | |||
| This field is assigned by the CA and MUST be omitted in this | This field is assigned by the CA and MUST be omitted in this | |||
| profile. | profile. | |||
| CertificatePolicies | CertificatePolicies | |||
| This field is assigned by the CA and MUST be omitted in this | This field is assigned by the CA and MUST be omitted in this | |||
| profile. | profile. | |||
| With the exceptions of the publicKey field and the | With the exceptions of the publicKey field and the | |||
| SubjectInformationAccess field, the CA is permitted to alter any | SubjectInformationAccess field, the CA is permitted to alter any | |||
| requested field. | requested field. | |||
| 6. Resource Certificate Validation | 6. Resource Certificate Validation | |||
| This section describes the Resource Certificate validation procedure. | This section describes the Resource Certificate validation procedure. | |||
| This refines the generic procedure described in section 6 of | This refines the generic procedure described in section 6 of | |||
| [RFC3280]: | [RFC5280]: | |||
| To meet this goal, the path validation process verifies, among other | To meet this goal, the path validation process verifies, among other | |||
| things, that a prospective certification path (a sequence of n | things, that a prospective certification path (a sequence of n | |||
| certificates) satisfies the following conditions: | certificates) satisfies the following conditions: | |||
| 1. for all x in {1, ..., n-1}, the subject of certificate x is the | 1. for all x in {1, ..., n-1}, the subject of certificate x is the | |||
| issuer of certificate x+1; | issuer of certificate x+1; | |||
| 2. certificate 1 is issued by a trust anchor; | 2. certificate 1 is issued by a trust anchor; | |||
| skipping to change at page 24, line 44 ¶ | skipping to change at page 25, line 7 ¶ | |||
| means of creating a potential DOS attack on a certificate validator. | means of creating a potential DOS attack on a certificate validator. | |||
| Some further heuristics may be required to halt the certificate path | Some further heuristics may be required to halt the certificate path | |||
| validation process in order to avoid some of the issues associated | validation process in order to avoid some of the issues associated | |||
| with attempts to validate such structures. It is suggested that | with attempts to validate such structures. It is suggested that | |||
| implementations of Resource Certificate validation MAY halt with a | implementations of Resource Certificate validation MAY halt with a | |||
| validation failure if the certificate path length exceeds a pre- | validation failure if the certificate path length exceeds a pre- | |||
| determined configuration parameter. | determined configuration parameter. | |||
| 7. Security Considerations | 7. Security Considerations | |||
| The Security Considerations of [RFC3280] and [RFC3779]apply to | The Security Considerations of [RFC5280] and [RFC3779]apply to | |||
| Resource Certificates as defined by this profile, and their use. | Resource Certificates as defined by this profile, and their use. | |||
| A Resource Certificate PKI cannot in and of itself resolve any forms | A Resource Certificate PKI cannot in and of itself resolve any forms | |||
| of ambiguity relating to uniqueness of assertions of rights of use in | of ambiguity relating to uniqueness of assertions of rights of use in | |||
| the event that two or more valid certificates encompass the same | the event that two or more valid certificates encompass the same | |||
| resource. If the issuance of resource certificates is aligned to the | resource. If the issuance of resource certificates is aligned to the | |||
| status of resource allocations and assignments then the information | status of resource allocations and assignments then the information | |||
| conveyed in a certificate is no better than the information in the | conveyed in a certificate is no better than the information in the | |||
| allocation and assignment databases. | allocation and assignment databases. | |||
| skipping to change at page 25, line 24 ¶ | skipping to change at page 25, line 35 ¶ | |||
| 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. The document also reflects review comments received | this document. The document also reflects review comments received | |||
| from Sean Turner. | from Sean Turner. | |||
| 10. References | 10. References | |||
| 10.1. Normative References | 10.1. Normative References | |||
| [ID.SIDR-MANIFESTS] | ||||
| Austein, R., Huston, G., Kent, S., and M. Lepinski, | ||||
| "Manifests for the Resource Public Key Infrastructure", | ||||
| Work in progress: Internet | ||||
| Drafts draft-ietf-sidr-rpki-manifests-00.txt, | ||||
| January 2008. | ||||
| [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. | |||
| [RFC3280] Housley, R., Polk, W., Ford, W., and D. Solo, "Internet | ||||
| X.509 Public Key Infrastructure Certificate and | ||||
| Certificate Revocation List (CRL) Profile", RFC 3280, | ||||
| 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 | |||
| the Internet X.509 Public Key Infrastructure Certificate | the Internet X.509 Public Key Infrastructure Certificate | |||
| and Certificate Revocation List (CRL) Profile", RFC 4055, | and Certificate Revocation List (CRL) Profile", RFC 4055, | |||
| June 2005. | June 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. | |||
| [RFC5280] Cooper, D., Santesson, S., Farrell, S., Boeyen, S., | ||||
| Housley, R., and W. Polk, "Internet X.509 Public Key | ||||
| Infrastructure Certificate and Certificate Revocation List | ||||
| (CRL) Profile", RFC 5280, May 2008. | ||||
| 10.2. Informative References | 10.2. Informative References | |||
| [ID.SIDR-MANIFESTS] | ||||
| Austein, R., Huston, G., Kent, S., and M. Lepinski, | ||||
| "Manifests for the Resource Public Key Infrastructure", | ||||
| Work in progress: Internet | ||||
| Drafts draft-ietf-sidr-rpki-manifests-00.txt, | ||||
| January 2008. | ||||
| [RFC2985] Nystrom, M. and B. Kaliski, "PKCS #9: Selected Object | [RFC2985] Nystrom, M. and B. Kaliski, "PKCS #9: Selected Object | |||
| Classes and Attribute Types Version 2.0", RFC 2985, | Classes and Attribute Types Version 2.0", RFC 2985, | |||
| November 2000. | November 2000. | |||
| [RFC2986] Nystrom, M. and B. Kaliski, "PKCS #10: Certification | [RFC2986] Nystrom, M. and B. Kaliski, "PKCS #10: Certification | |||
| Request Syntax Specification Version 1.7", RFC 2986, | Request Syntax Specification Version 1.7", RFC 2986, | |||
| November 2000. | November 2000. | |||
| [RFC4158] Cooper, M., Dzambasow, Y., Hesse, P., Joseph, S., and R. | [RFC4158] Cooper, M., Dzambasow, Y., Hesse, P., Joseph, S., and R. | |||
| Nicholas, "Internet X.509 Public Key Infrastructure: | Nicholas, "Internet X.509 Public Key Infrastructure: | |||
| End of changes. 38 change blocks. | ||||
| 49 lines changed or deleted | 52 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/ | ||||