draft-ietf-sidr-res-certs-00.txt   draft-ietf-sidr-res-certs-01.txt 
Individual Submission G. Huston SIDR G. Huston
Internet-Draft R. Loomans Internet-Draft R. Loomans
Intended status: Best Current G. Michaelson Intended status: Best Current G. Michaelson
Practice APNIC Practice APNIC
Expires: December 11, 2006 June 9, 2006 Expires: December 21, 2006 June 19, 2006
A Profile for X.509 PKIX Resource Certificates A Profile for X.509 PKIX Resource Certificates
draft-ietf-sidr-res-certs-00.txt draft-ietf-sidr-res-certs-01.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 11, 2006. This Internet-Draft will expire on December 21, 2006.
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 profile for X.509 certificates for the
purposes of supporting validation of assertions of "right-to- use" of purposes of supporting validation of assertions of "right-to- use" of
an Internet Number Resource (IP Addresses and Autonomous System an Internet Number Resource (IP Addresses and Autonomous System
skipping to change at page 2, line 16 skipping to change at page 2, line 16
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 4 1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 4
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 . . . . . . . . . . . . . . . . . . . . . . . . . 6
3.6. Valid From . . . . . . . . . . . . . . . . . . . . . . . . 7 3.6. Valid From . . . . . . . . . . . . . . . . . . . . . . . . 6
3.7. Valid To . . . . . . . . . . . . . . . . . . . . . . . . . 7 3.7. Valid To . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.8. Subject Public Key Info . . . . . . . . . . . . . . . . . 7 3.8. Subject Public Key Info . . . . . . . . . . . . . . . . . 7
3.9. Resource Certificate Version 3 Extension Fields . . . . . 7 3.9. Resource Certificate Version 3 Extension Fields . . . . . 7
3.9.1. Basic Constraints . . . . . . . . . . . . . . . . . . 7 3.9.1. Basic Constraints . . . . . . . . . . . . . . . . . . 7
3.9.2. Subject Key Identifier . . . . . . . . . . . . . . . . 8 3.9.2. Subject Key Identifier . . . . . . . . . . . . . . . . 8
3.9.3. Authority Key Identifier . . . . . . . . . . . . . . . 8 3.9.3. Authority Key Identifier . . . . . . . . . . . . . . . 8
3.9.4. Key Usage . . . . . . . . . . . . . . . . . . . . . . 8 3.9.4. Key Usage . . . . . . . . . . . . . . . . . . . . . . 8
3.9.5. CRL Distribution Points . . . . . . . . . . . . . . . 8 3.9.5. CRL Distribution Points . . . . . . . . . . . . . . . 9
3.9.6. Authority Information Access . . . . . . . . . . . . . 9 3.9.6. Authority Information Access . . . . . . . . . . . . . 9
3.9.7. Subject Information Access . . . . . . . . . . . . . . 9 3.9.7. Subject Information Access . . . . . . . . . . . . . . 10
3.9.8. Certificate Policies . . . . . . . . . . . . . . . . . 9 3.9.8. Certificate Policies . . . . . . . . . . . . . . . . . 11
3.9.9. Subject Alternate Name . . . . . . . . . . . . . . . . 9 3.9.9. Subject Alternate Name . . . . . . . . . . . . . . . . 11
3.9.10. IP Resources . . . . . . . . . . . . . . . . . . . . . 9 3.9.10. IP Resources . . . . . . . . . . . . . . . . . . . . . 11
3.9.11. AS Resources . . . . . . . . . . . . . . . . . . . . . 10 3.9.11. AS Resources . . . . . . . . . . . . . . . . . . . . . 11
4. Resource Certificate Revocation List Profile . . . . . . . . . 10 4. Resource Certificate Revocation List Profile . . . . . . . . . 11
4.1. Version . . . . . . . . . . . . . . . . . . . . . . . . . 10 4.1. Version . . . . . . . . . . . . . . . . . . . . . . . . . 12
4.2. Issuer Name . . . . . . . . . . . . . . . . . . . . . . . 10 4.2. Issuer Name . . . . . . . . . . . . . . . . . . . . . . . 12
4.3. This Update . . . . . . . . . . . . . . . . . . . . . . . 10 4.3. This Update . . . . . . . . . . . . . . . . . . . . . . . 12
4.4. Next Update . . . . . . . . . . . . . . . . . . . . . . . 11 4.4. Next Update . . . . . . . . . . . . . . . . . . . . . . . 12
4.5. Signature . . . . . . . . . . . . . . . . . . . . . . . . 11 4.5. Signature . . . . . . . . . . . . . . . . . . . . . . . . 12
4.6. Revoked Certificate List . . . . . . . . . . . . . . . . . 11 4.6. Revoked Certificate List . . . . . . . . . . . . . . . . . 13
4.6.1. Serial Number . . . . . . . . . . . . . . . . . . . . 11 4.6.1. Serial Number . . . . . . . . . . . . . . . . . . . . 13
4.6.2. Revocation Date . . . . . . . . . . . . . . . . . . . 11 4.6.2. Revocation Date . . . . . . . . . . . . . . . . . . . 13
4.7. CRL Extensions . . . . . . . . . . . . . . . . . . . . . . 11 4.7. CRL Extensions . . . . . . . . . . . . . . . . . . . . . . 13
4.7.1. Authority Key Identifier . . . . . . . . . . . . . . . 11 4.7.1. Authority Key Identifier . . . . . . . . . . . . . . . 13
4.7.2. CRL Number . . . . . . . . . . . . . . . . . . . . . . 12 4.7.2. CRL Number . . . . . . . . . . . . . . . . . . . . . . 13
5. Resource Certificate Request Profile . . . . . . . . . . . . . 12 5. Resource Certificate Request Profile . . . . . . . . . . . . . 14
5.1. Resource Certificate Request Template Fields . . . . . . . 12 5.1. Resource Certificate Request Template Fields . . . . . . . 14
5.2. Resource Certificate Request Control Fields . . . . . . . 15 5.2. Resource Certificate Request Control Fields . . . . . . . 17
6. Resource Certificate Validation . . . . . . . . . . . . . . . 16 6. Resource Certificate Validation . . . . . . . . . . . . . . . 18
6.1. Trust Anchors for Resource Certificates . . . . . . . . . 16 6.1. Trust Anchors for Resource Certificates . . . . . . . . . 19
6.2. Resource Extension Validation . . . . . . . . . . . . . . 17 6.2. Resource Extension Validation . . . . . . . . . . . . . . 20
6.3. Resource Certificate Path Validation . . . . . . . . . . . 17 6.3. Resource Certificate Path Validation . . . . . . . . . . . 20
7. Security Considerations . . . . . . . . . . . . . . . . . . . 19 7. Security Considerations . . . . . . . . . . . . . . . . . . . 22
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 19 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 22
9. Normative References . . . . . . . . . . . . . . . . . . . . . 19 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 22
Appendix A. Example Resource Certificate . . . . . . . . . . . . 20 10. Normative References . . . . . . . . . . . . . . . . . . . . . 22
Appendix B. Example Certificate Revocation List . . . . . . . . . 21 Appendix A. Example Resource Certificate . . . . . . . . . . . . 23
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 22 Appendix B. Example Certificate Revocation List . . . . . . . . . 24
Intellectual Property and Copyright Statements . . . . . . . . . . 23 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 25
Intellectual Property and Copyright Statements . . . . . . . . . . 26
1. Introduction 1. Introduction
This document defines a profile for X.509 certificates for use in the This document defines a profile for X.509 certificates for use in the
context of Resources Certificates. Resource Certificates are X.509 context of Resources Certificates. Resource Certificates are X.509
certificates that conform to this profile that convey the authority certificates that conform to the PKIX profile [RFC3280] and to this
of a subject to be the entity that has the "right-to-use" a listed additional profile, and attest that the subject has the "right-to-
set of IP addresses and Autonomous Numbers. use" a listed set of IP addresses and Autonomous Numbers.
A Resource Certificate describes an action by an Issuer that binds a A Resource Certificate describes an action by an Issuer that binds a
list of IP address blocks and AS numbers to the Subject of a list of IP address blocks and AS numbers to the Subject of a
certificate, identified by the unique association of the Subject's certificate, identified by the unique association of the Subject's
private key with the public key contained in the Resource private key with the public key contained in the Resource
Certificate. Certificate.
In the context of the public Internet it is intended that Resource In the context of the public Internet it is intended that Resource
Certificates are used in a manner that is aligned to the public Certificates are used in a manner that is aligned to the public
number resource distribution function, such that when a number number resource distribution function, Specifically, when a number
resource is allocated or assigned by a Registry to a receiving resource is allocated or assigned by a Registry to an entity, this
entity, then this allocation is described by a Resource Certificate allocation is described by a Resource Certificate issued by the
issued by the Registry with a subject corresponding to the entity Registry with a subject corresponding to the entity that is the
that is the recipient of this assignment or allocation. Validation recipient of this assignment or allocation. This corresponds to a
of a certificate can be undertaken by creating a valid issuer - hierarchical PKI structure, where Resource Certificates are only
subject chain from the trust anchor allocation authorities to the issued in one 'direction' and there is a single unique path from a
certificate. "Root CA" to any valid certificate.
Validation of a certificate in such a hierarchical PKI can be
undertaken by creating a valid issuer - subject chain from the trust
anchor allocation authorities to the certificate [RFC4158].
Resource Certificates may be used in the context of secure inter- Resource Certificates may be used in the context of secure inter-
domain routing protocols to convey a right-to-use of an IP number domain routing protocols to convey a right-to-use of an IP number
resource that is being passed within the routing protocol, to verify resource that is being passed within the routing protocol, to verify
legitimacy and correctness of routing information. Related use legitimacy and correctness of routing information. Related use
contexts include validation of access to Internet Routing Registries contexts include validation of access to Internet Routing Registries
for nominated routing objects, validation of routing requests, and for nominated routing objects, validation of routing requests, and
detection of potential unauthorized used of IP addresses. detection of potential unauthorized used of IP addresses.
This document defines the fields that are used in a valid Resource This profile defines those fields that are used in a Resource
Certificate that MUST be followed. Relying Parties SHOULD check that Certificate that MUST be present for the certificate to be valid.
a Resource Certificate conforms to this profile as a necessary Relying Parties SHOULD check that a Resource Certificate conforms to
condition of 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
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 keywords "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The keywords "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.
2. Describing Resources in Certificates 2. Describing Resources in Certificates
This 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]. It is noted that the RFC's control is described in [RFC3779].
description of this extension as a "right to use" is consistent with
the assertion that the resources are "under the subject's current
control."
There are three aspects of this extension that are noted here: There are three aspects of this resource extension that are noted in
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 defines 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 canonical form of describing a resource set, 2. RFC 3779 defines a sorted canonical form of describing a resource
with maximal spanning ranges and maximal spanning prefix masks as set, with maximal spanning ranges and maximal spanning prefix
appropriate. All valid certificates in this certificate resource masks as appropriate. All valid certificates in this profile
framework MUST use this 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 unique value token within the context of certificates issued by
the 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. Certificate strict superset of, any subject's resource set. Certificate
validity also includes a second condition that no two or more validity in the context of this profile also includes a second
certificates issued by a single Issuer to two or more different condition that no two (or more) certificates issued by a single
Subjects have a non-null intersection of resources. In other Issuer to two (or more) different subjects have a non-null
words an Issuer can certify at most one unique Subject as the intersection of resources. In other words an Issuer can certify
unique current controller of any particular resource. at most one unique subject as the unique holder of a right-to-use
for any particular resource.
This implies that a test of certificate validity implies that there This implies that a test of certificate validity implies that there
exists a set of valid certificates in an issuer-subject chain from exists a set of valid certificates in an issuer-subject chain from
one, and only one, trust anchor to the certificate in question, and one, and only one, trust anchor to the certificate in question, and
that the resource extensions from the trust anchor to the certificate that the resource extensions 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 valid X.509 / PKIX Resource Certificate contains the fields listed A Resource Certificate is a valid X.509 v3 public key certificate,
in the following sections. Unless specifically noted as being consistent with the PKIX profile [RFC3280], containing the fields
OPTIONAL, all the fields listed here MUST be present, and any other listed in this section. Unless specifically noted as being OPTIONAL,
field MUST NOT appear in a conforming Resource Certificate. Where a all the fields listed here MUST be present, and any other field MUST
field value is specified here this value MUST be used in conforming NOT appear in a conforming Resource Certificate. Where a field value
Resource Certificates. is specified here this value MUST be used in conforming Resource
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 (value is 2). MUST be present, and the Version MUST be 3 (i.e. the value of this
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. This field MUST be present in Resource Certificates. 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 field this certificate. This profile uses SHA-256 with RSA
MUST be present and MUST use this value. (sha256WithRSAEncryption), and the value for this field 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.500 name. For a Root certificate. The value of this field is an X.501 name.
Trust Anchor this name is a self-selected name using only the Common
Name (CN) X.500 name field. For a subordinate certificate this name
MUST be the same name as the Subject name field on the 'parent'
certificate. This field MUST be present.
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. allocated / assigned. The value of this field is an X.500 name. In
this profile the subject name is determined by the Issuer.
In this profile the subject name is defined by the Issuer. All
immediate subordinate certificates issued by this Subject MUST use an
Issuer name that is identical to this Subject name.
This field MUST be present. 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 no later than the time of profile the "Valid From" time is to be no earlier than the time of
certificate generation. As per Section 4.1.2.5 of RFC 3280, CAs certificate generation. As per Section 4.1.2.5 of [RFC3280],
conforming to this profile MUST always encode the certificate's Certificate Authorities (CAs) conforming to this profile MUST always
"Valid From" date through the year 2049 as UTCTime, and dates in 2050 encode the certificate's "Valid From" date through the year 2049 as
or later MUST be encoded as GeneralizedTime. These two time formats UTCTime, and dates in 2050 or later MUST be encoded as
are defined in [RFC3280]. This field MUST be present. GeneralizedTime. These two time formats are defined in [RFC3280].
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 RFC 3280, 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]. This field MUST be present. are defined in [RFC3280].
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 the which the key is used. The public key algorithm MUST be RSA, and
Modulus must be no less than 1024 bits in length. This field MUST be thus the OID for the algorithm is 1.2.840.113549.1.1.1. A minimum
present. key size of 1024 bits is mandated in this profile. Regional Registry
CAs MUST use a key size of 2048 bits.
[Note - not for publication. One alternative option is to specify
"no less than 2048 bits" and allow for longer key sizes. On the
other hand it may be preferable to move to EC-DSA instead of RSA, in
which case allowing for the option of longer RSA key sizes may be
considered inappropriate.]
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 SubjectType CA bit is set. If this The Issuer determines whether the cA boolean is set. If this bit is
bit is set, then it indicates that the Subject is allowed to issue set, then it indicates that the Subject is allowed to issue resources
resources certificates within this overall framework. certificates within this overall framework (i.e. the subject is
permitted be a CA).
The Path Length Constraint is not specified in this profile and MUST 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. 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. certificates issued by the subject of this certificate.
The Subject Key Identifier is composed of the 160-bit SHA-1 hash of The Key Identifier used here is the 160-bit SHA-1 hash of the value
the value of the ASN.1 bit string of the subject public key (exponent of the DER-encoded ASN.1 bit string of the subject public key, as
and modulus), excluding the tag, length, and number of unused bits). described in Section 4.2.1.2 of[RFC3280].
3.9.3. Authority Key Identifier 3.9.3. Authority Key Identifier
This field contains a hash of the Issuer's public key. The hash The subject key identifier extension provides a means of identifying
algorithm is SHA-1 (160) applied to the ASN.1 bit string of the certificates that are signed by a particular issuer's private key, by
Issuer public key (exponent and modulus), excluding the tag, length providing a hash value of the corresponding Issuer's public key. To
and number of unused bits) ([RFC3280], Section 4.2.1.2). This field facilitate path construction, this extension MUST appear in all
MUST be present. Resource Certificates. The keyIdentifier subfield MUST be present.
The authorityCertIssuer and authorityCertSerialNumber subfields MAY
be present. This extension is non-critical.
The Key Identifier used here is the 160-bit SHA-1 hash of the value
of the DER-encoded ASN.1 bit string of the issuer's public key, as
described in Section 4.2.1.1 of [RFC3280].
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 the field MUST be present. extension, and it MUST be present.
The permissions permitted in this profile are Certificate signing and In certificates issued to CAs only the keyCertSign and CRLSign bits
CRL signing if the Issuer permits the Subject to issue subordinate are set to TRUE. In end-entity certificates the digitialSignature
certificates. 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 a 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" URL that references a single inclusive
CRL for each issuer. CRL for each issuer.
This field MUST be present. In this profile the certificate issuer is also the CRL issuer,
implying at the CRLIssuer subfield MUST be omitted, and the
distributionPoint subfield MUST be present. The Reasons subfield
MUST be omitted.
The distributionPoint MUST contain general names, and MUST NOT
contain a nameRelativeToCRLIssuer. The type of the general name MUST
be of type URI. Furthermore, as the scope of the CRL is all
certificates issued by this issuer, the sequence of distributionPoint
values MUST contain only a single DistributionPointName set. The
DistributionPointName set MAY contain more than one URI value. An
rsync URI MUST be present in the DistributionPointName set.
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 location of all certificates that are
issued by this Issuer. This profile uses a URI form of object issued by this Issuer that are signed with the Issuer's private key
identification. The preferred URI access mechanisms is "rsync". that signed this certificate. 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. Other access method URIs MAY also be included in the
value sequence of this extension.
This field MUST be present. This field MUST be present, and is non-critical.
[Note - not for publication rfc3280 defines only two OIDs for the
access method, id-ad-caIssuers and id-ad-ocsp. It would appear that
id-ad-ocsp is not relevant here in that OCSP is not included as part
of the resource certificate profile - which leaves id-ad-caIssuers.
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. Where the Subject is a CA for Resource Certificates this appears that relate to the subject public key that is certified in
information and service collection will include all current valid this certificate. Where the Subject is a CA for Resource
certificates that have been issued by this subject. This profile Certificates this information and service collection will include all
uses a URI form of location identification. The preferred URI access current valid certificates that have been issued by this subject that
mechanism is "rsync". are signed with the subject's corresponding private key. This
profile uses a URI form of location identification. The preferred
URI access mechanism is "rsync", and an rsync URI SHOULD be
specified, with an access method value of id-ad-caRepository when the
subject of the certificate is a CA. Other access method URIs MAY
also be included in the value sequence of this extension.
This field MUST be present. 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
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 field MUST reference the Resource Certificate Policy, using the This extension MUST reference the Resource Certificate Policy, using
OID Policy Identifier value of "1.3.6.1.5.5.7.14.2". This field MUST the OID Policy Identifier value of "1.3.6.1.5.5.7.14.2". This field
be present and MUST contain only this value for Resource MUST be present and MUST contain only this value for Resource
Certificates. Certificates.
The Resource Certificate Policy referenced by this OID MAY be PolicyQualifiers MUST NOT be used in this profile.
referenced by a CPS Pointer qualifier.
This field MUST be present. 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 field, and may contain a Common Name as supplied This is an optional extension, and MAY contain an X.501 Name as
by the subject in the Certificate Request. The Subject Alternative supplied by the subject in the Certificate Request or as assigned by
Name Field has no significance in terms of use of the certificate to the Issuer CA.
validate assertions made by the Subject on in validation assertions
made by subordinate entities that rely on a trust chain that includes
the subject.
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]. Either IP Resources or AS Resources fields, or both, MUST [RFC3779]. The value may specify the "inherit" element for a
be present in all Resource Certificates. particular AFI value and an optional SAFI value. All Resource
Certificates MUST include an IP Resources extension, an AS Resources
extension, or both extensions.
This is a CRITICAL field. 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],
Either IP Resources or AS Resources fields, or both, MUST be present or may specify the "inherit" element. All Resource Certificates MUST
in all Resource Certificates. include an IP Resources extension, an AS Resources extension, or both
extensions. RDI values are NOT supported in this profile and MUST
NOT be used.
This is a CRITICAL field. This extension, if present, MUST be marked critical.
4. Resource Certificate Revocation List Profile 4. Resource Certificate Revocation List Profile
Resource Certificate Authorities (CA) MUST issue a Certificate Each Resource CA MUST issue a version 2Certificate Revocation List
Revocation List (CRL). The CRL issuer is the CA, and no indirect (CRL), consistent with [RFC3280]. The CRL issuer is the CA, and no
CRLs are supported in the scope of this profile. The scope of the indirect CRLs are supported in this profile. The scope of the CRL
CRL in this profile MUST be "all certificates issued by this CA". MUST be "all certificates issued by this CA". The contents of the
The contents of the CRL are a list of all unexpired certificates CRL are a list of all unexpired certificates issued by the CA that
issued by the CA that have been revoked by the CA. have been revoked by the CA.
This profile does not encompass the issuing of Delta CRLs, nor does An entry MUST NOT be removed from the CRL until it appears on one
the profile encompass the issuance of multiple CRLs by a single CA. regularly scheduled CRL issued beyond the revoked certificate's
validity period.
The following fields are REQUIRED in a conforming CRL.No other CRL This profile does not allow issuance of Delta CRLs.
fields are supported in this profile. Where two or more CRLs issued
by a single CA are present in a certificate repository the CRL with The profile does not allow the issuance of multiple current CRLs with
the highest value of the "CRL Number" field supercedes all other different scope by a single CA.
extant CRLs issued by this CA..
No CRL fields other than those listed below are allowed in CRLs
issued under this profile. Unless otherwise indicated, these fields
MUST be present in the CRL. Where two or more CRLs issued by a
single CA are present in a certificate repository, the CRL with the
highest value of the "CRL Number" field supersedes all other extant
CRLs 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). This field MUST be present. integer value of this field is 1).
4.2. Issuer Name 4.2. Issuer Name
The value of this field is the X.500 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. This field MUST be present. the Resource Certificates.
4.3. This Update 4.3. This Update
This is the date and time that this CRL was issued. The value of This is the date and time that this CRL was issued. The value of
this field MUST be encoded as UTCTime for dates through the year 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. This field MUST be present. 2050 or later.
4.4. Next Update 4.4. Next Update
This is the date and time by which the next CRL will be issued. The 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. This field MUST be present. year 2050 or later.
4.5. Signature 4.5. Signature
This fields 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 the following fields are used For each revoked resource certificate ONLY the following fields MUST
in this profile. No CRL extensions are supported in this profile. be present. No CRL entry extensions are supported in this profile.
4.6.1. Serial Number 4.6.1. Serial Number
The Issuer's serial number of the revoked certificate. This field The serial number of the revoked certificate.
MUST be present.
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. This field MUST be present. for dates in the year 2050 or later.
4.7. CRL Extensions 4.7. CRL Extensions
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. following extensions are supported in this profile, and MUST be
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. The syntax for this CRL extension is defined in section sign a CRL. Conforming CRL issuers MUST use the key identifier
method. The syntax for this CRL extension is defined in section
4.2.1.1 of [RFC3280]. 4.2.1.1 of [RFC3280].
Conforming CRL issuers MUST use the key identifier method (defined in This extension is non-critical.
section 5.2.1 of [RFC3280], and MUST include this extension in all
CRLs issued.
4.7.2. CRL Number 4.7.2. CRL Number
The CRL number is a non-critical CRL extension which conveys a The CRL Number extension conveys a monotonically increasing sequence
monotonically increasing sequence number for a given CRL scope and number for a given CA. This extension allows users to easily
CRL issuer. This extension allows users to easily determine when a determine when a particular CRL supersedes another CRL. The higher
particular CRL supersedes another CRL. The higher CRL Number value CRL Number value supersedes all other CRLs issued by the CA within
supercedes all other CRLs issued by the CA within the scope of this the scope of this profile.
profile. CRL issuers conforming to this profile MUST include this
extension in all CRLs. 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 This profile refines the specification in [RFC4211], as it relates to
Resource Certificates. A Certificate Request Message object, Resource Certificates. A Certificate Request Message object,
formatted according to the Certificate Request Message Format (CRMF), formatted according to the Certificate Request Message Format (CRMF),
is passed to a Certificate Authority as the initial step in issuing a is passed to a Certificate Authority as the initial step in issuing a
certificate. certificate.
[Note - not for publication. RFC2986 references PKCS #10:
Certification Request Syntax Specification, Version 1.7. Given the
relative wide support of CMC, the extension of PKCS#10 that is
roughly equivalent to CMP, then it would appear that a CMC profile
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.
[There are no profile-based qualifications are noted regarding Proof- [Note - not for publication: There are no profile-based
of-Possession. This may be refined in subsequent iterations of this qualifications regarding Proof-of-Possession. This may be refined in
draft.] subsequent iterations of this draft.]
5.1. Resource Certificate Request Template Fields 5.1. 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
[RFC4211] indicates that this MUST be 2, if supplied. As Resource This field MAY be absent, or MAY specify the request of a Version
Certificates are Version 3 certificates, this field MUST be 3 Certificate.
omitted in this profile.
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
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.
Validity Validity
This field MAY be omitted. If omitted, the CA will assign a This field MAY be omitted. If omitted, the CA will issue a
ValidityFrom date based on the certificate issue date and a Certificate with Validity dates as determined by the CA. If
ValidityTo date based on the CA's business rule. If this field is specified, then the CA MAY override the requested values with
not omitted then at least one of notBefore and notAfter MUST be dates as determined by the CA.
specified.
notBefore
This field will be mapped to the ValidityFrom certificate
field. If this field is later than the CA's business rule for
certificate issuance, then the request MAY NOT be honored.
notAfter
This field will be mapped to the ValidityTo certificate field.
Values of notAfter prior to the current time MUST be considered
as an invalid Certificate Request. If this field is later than
the CA's business rule for certificate issuance then issued
certificate MAY use a ValidityTo date as determined by the CA's
business rule for certificate issuance.
Subject Subject As the subject name is assigned by the CA, this field MAY be
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 This profile applies the following additional constraints to X509 v3
extension fields that may appear in a Certificate Request: Certificate extension fields that may appear in a 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. resources 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 CRLDistributionPoints
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 URI of the form of a single If specified, this field contains a sequence of URIs that
"rsync" URL that references a single inclusive CRL that will be references a CRL that will be published by the subject for
published by the subject for subordinate certificates, and MUST be subordinate certificates. This sequence MUST include a rsync URI.
honoured by the CA. This field MAY be honoured by the CA if present.
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 within the then the CA MUST generate a CRLDistributionPoint URL based on out-
repository hierarchy administered by the CA. of-band information that has been passed between the CA and the
requester.
[Note - not for publication. The issue of where and how to
specify where the subject will publish the CRL if the CA bit is
set and honored by the issuer is described here as information
that is either provided in this field in the certificate request
or provided via an "out-of-band" exchange. An alternative is to
say that this field MUST be provided if the CA bit is set in the
request.]
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.
If specified, this field contains a URI of the form of a single If specified, this field contains a URI of the form of a single
"rsync" URL that references a single publication point that will rsync URL that references a single publication point that will be
be used by the subject for all certificates that published by the used by the subject for all certificates that published by the
subject for subordinate certificates, and MUST be honoured by the subject for subordinate certificates, and MUST be honoured by the
CA. 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 an SIA URL within the repository then the CA MUST generate a SIA URL based on out-of-band
hierarchy administered by the CA. information that has been passed between the CA and the requester.
[Note not for publication - the same considerations with respect
to the CRL DistributionPoints apply to this field as well. i.e. if
this field is missing than it is also an option for the Issuer to
deny the request and not issue a certificate if the issued
certificate was to have the CA bit set.]
Certificate Policies Certificate Policies
This field is assigned by the CA and MUST be omitted in this This field is assigned by the CA and MUST be omitted in this
profile. profile.
SubjectAlternateName SubjectAlternateName
This field MAY be present, and the CA SHOULD use this as the This field MAY be present, and the CA MAY use this as the
SubjectAltName in the issued Certificate. SubjectAltName in the issued Certificate.
IPResources IPResources
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.
skipping to change at page 15, line 37 skipping to change at page 18, line 5
5.2. Resource Certificate Request Control Fields 5.2. Resource Certificate Request Control Fields
The following control fields are supported in this profile: The following control fields are supported in this profile:
Authenticator Control Authenticator Control
It is noted that the intended model of authentication of the It is noted that the intended model of authentication of the
subject in a long term one, and the advice as offered in [RFC4211] subject in a long term one, and the advice as offered in [RFC4211]
is that the Authenticator Control field be used. is that the Authenticator Control field be used.
[The method of generation and authentication of this field is to [Note - not for publication: The method of generation and
be specified. The desirable properties include the ability to authentication of this field is to be specified. The desirable
validate the subject and the authenticity of the provided public properties include the ability to validate the subject and the
key.] authenticity of the provided public key.]
Resource Class Resource Class
The profile defines an additional control for Resource Certificate The profile defines an additional control for Resource Certificate
Requests, namely a Resource Class control. Requests, namely a Resource Class control.
The Subject MUST specify a Resource Class value as specified by The Subject MUST specify a Resource Class value as specified by
the CA to which the request refers. The CA will issue a the CA to which the request refers. The CA will issue a
certificate with the IPAddress andASNumber resources that match certificate with the IPAddress andASNumber resources that match
the subject's right-of-use of these resources with the class of the subject's right-of-use of these resources with the class of
resources specified by the Resource Class control value. 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 model. 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 the 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 used in the resource certificate framework in the
context of validation of assertions of public number resources in context of validation of assertions of public number resources in
skipping to change at page 16, line 47 skipping to change at page 19, line 28
not a direct or indirect subordinate recipient entity of the not a direct or indirect subordinate recipient entity of the
recipient entity in question (i.e. no loops in the hierarchy). The recipient entity in question (i.e. no loops in the hierarchy). The
only exception to the "no loop" condition are the nominated trust only exception to the "no loop" condition are the nominated trust
anchors, where a self-signed certificate is issued. anchors, where a self-signed certificate is issued.
At the time of preparing this draft there are proposed to be multiple At the time of preparing this draft there are proposed to be multiple
roots of this public number resource hierarchy, corresponding to roots of this public number resource hierarchy, corresponding to
multiple trust anchors. These trust anchors are the self-signed multiple trust anchors. These trust anchors are the self-signed
certificates that are issued by the Regional Internet Registries. certificates that are issued by the Regional Internet Registries.
Each self-signed certificate issued by a RIR contains a resource set Each self-signed certificate issued by a RIR contains a resource set
that describes the resources where the RIR is administratively that describes those resources where the RIR is administratively
responsible. There MUST NOT be overlap of resources in the IP responsible. There MUST NOT be overlap of resources in the IP
resource extensions across the collection of RIR self-signed resource extensions across the collection of RIR self-signed
certificates. This implies that a validation path for a valid certificates. This implies that a validation path for any valid
certificate will terminate in a single trust anchor. 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 Cross-certification of these trust anchors, where one trust anchor
entity issues a certificate with a subject of another trust anchor is entity issues a certificate with a subject of another trust anchor is
not seen as providing any further substance to the integrity or ease not seen as providing any further substance to the integrity or ease
of validation in this trust model, so cross-certification is not used of validation in this trust model, so cross-certification is not used
in the trust anchor structure for this Resource Certificate in the trust anchor structure for this Resource Certificate
Framework. framework.
The adoption of a single trust anchor as a unique distinguished root The adoption of a single trust anchor as a unique distinguished root
of this certificate hierarchy is a potential future option here, and of this certificate hierarchy is a potential future option here, and
within the proposed framework some care has been taken not to within the proposed framework some care has been taken not to
preclude the potential for a single distinguished root for this preclude the potential for a single distinguished root for this
certificate framework that could issue a certificate to each RIR with certificate framework that could issue a certificate to each RIR with
a resource extension that matches the resource sets that fall under a resource extension that matches the resource sets that fall under
the administrative responsibility of each RIR. the administrative responsibility of each RIR.
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 resource extension. Valid Resource Certificates MUST have a valid IP address and/or AS
In order to validate a Resource Certificate the resource extension number resource extension. In order to validate a Resource
must also be validated. This validation process relies on Certificate the resource extension must also be validated. This
definitions of comparison of resource sets: validation process relies on definitions of comparison of resource
sets:
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
"equality" comparison.
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, ..., n}, each of the contiguous ordered certification path of {1,2, ... , n} where '1'is a trust
resource sets of IP addresses and AS Numbers described in certificate anchor and 'n' is the target certificate, implies that each of the
x are more specific or equal to the resources described in contiguous resource sets of IP addresses and AS Numbers described in
certificate x+1. certificate x, for 'x' is greater than , are more specific or equal
to 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
the signature algorithm the signature algorithm
2. The current time lies within the certificate's Validity From and 2. The current time lies within the certificate's Validity From and
TO values. To values.
3. The certificate contains all fields that MUST be present and 3. The certificate contains all fields that MUST be present and
contains field values as specified in this profile for all field contains field values as specified in this profile for all field
values that MUST be present. values that MUST be present.
4. No field value that MUST NOT be present is present in the 4. No field value that MUST NOT be present is present in the
certificate. certificate.
5. The Issuer has not revoked the certificate by placing the 5. The Issuer has not revoked the certificate by placing the
certificate's serial number on the Issuer's current Certificate certificate's serial number on the Issuer's current Certificate
skipping to change at page 19, line 34 skipping to change at page 22, line 22
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 [An OID for a resource class option in a certificate request may need
to be defined.] to be defined.]
9. Normative References 9. Acknowledgements
The authors would like to acknowledge the valued contributions from
Stephen Kent, Robert Kisteleki, Randy Bush, Russ Housley, Ricardo
Patara and Rob Austein in the preparation and subsequent review of
this document.
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.
[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
Algorithms and Identifiers for RSA Cryptography for use in
the Internet X.509 Public Key Infrastructure Certificate
and Certificate Revocation List (CRL) Profile", RFC 4055,
June 2005.
[RFC4158] Cooper, M., Dzambasow, Y., Hesse, P., Joseph, S., and R.
Nicholas, "Internet X.509 Public Key Infrastructure:
Certification Path Building", RFC 4158, September 2005.
[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.
Appendix A. Example Resource Certificate Appendix A. Example Resource Certificate
The following is an example Resource Certificate. The following is an example Resource Certificate.
skipping to change at page 21, line 15 skipping to change at page 24, line 24
CRL Distribution Points: CRL Distribution Points:
URI:rsync://rsync.apnic.net/repository/ URI:rsync://rsync.apnic.net/repository/
pvpjvwUeQix2e54X8fGbhmdYMo0/ pvpjvwUeQix2e54X8fGbhmdYMo0/
GVTN8oHGTjEJbToV5og5MCGmVnM/ GVTN8oHGTjEJbToV5og5MCGmVnM/
GVTN8oHGTjEJbToV5og5MCGmVnM.crl GVTN8oHGTjEJbToV5og5MCGmVnM.crl
Authority Information Access: Authority Information Access:
CA Issuers - URI:rsync://rsync.apnic.net/repository/ CA Issuers - URI:rsync://rsync.apnic.net/repository/
pvpjvwUeQix2e54X8fGbhmdYMo0/ pvpjvwUeQix2e54X8fGbhmdYMo0/
GVTN8oHGTjEJbToV5og5MCGmVnM GVTN8oHGTjEJbToV5og5MCGmVnM
Subject Information Access: Subject Information Access:
CA Issuers - URI:rsync://rsync.apnic.net/repository/ CA Repository - URI:rsync://rsync.apnic.net/repository/
pvpjvwUeQix2e54X8fGbhmdYMo0/ pvpjvwUeQix2e54X8fGbhmdYMo0/
GVTN8oHGTjEJbToV5og5MCGmVnM/ GVTN8oHGTjEJbToV5og5MCGmVnM/
UDkyh1nUjIjk5_WpdkZMh3KuvYo UDkyh1nUjIjk5_WpdkZMh3KuvYo
Certificate Policies: critical Certificate Policies: critical
Policy: 1.3.6.1.5.5.7.14.2 Policy: 1.3.6.1.5.5.7.14.2
ipAddrBlock: critical ipAddrBlock: critical
192.0.0.0/24 192.0.0.0/24
autonomousSysNum: critical autonomousSysNum: critical
64512 64512
Subject Alternative Name: Subject Alternative Name:
 End of changes. 91 change blocks. 
243 lines changed or deleted 385 lines changed or added

This html diff was produced by rfcdiff 1.32. The latest version is available from http://www.levkowetz.com/ietf/tools/rfcdiff/