draft-ietf-sidr-res-certs-13.txt   draft-ietf-sidr-res-certs-14.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: March 23, 2009 APNIC Expires: April 29, 2009 APNIC
September 19, 2008 October 26, 2008
A Profile for X.509 PKIX Resource Certificates A Profile for X.509 PKIX Resource Certificates
draft-ietf-sidr-res-certs-13 draft-ietf-sidr-res-certs-14
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 March 23, 2009. This Internet-Draft will expire on April 29, 2009.
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-of-use" the purposes of supporting validation of assertions of "right-of-use"
of an Internet Number Resource (IP Addresses and Autonomous System of an Internet Number Resource (IP Addresses and Autonomous System
Numbers). This profile is used to convey the issuer's authorization Numbers). This profile is used to convey the issuer's authorization
of the subject to be regarded as the current holder of a "right-of- of the subject to be regarded as the current holder of a "right-of-
use" of the IP addresses and AS numbers that are described in the use" of the IP addresses and AS numbers that are described in the
issued certificate. issued certificate.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 5 1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 5
2. Describing Resources in Certificates . . . . . . . . . . . . . 5 2. Describing Resources in Certificates . . . . . . . . . . . . . 5
3. Resource Certificate Fields . . . . . . . . . . . . . . . . . 6 3. Resource Certificate Fields . . . . . . . . . . . . . . . . . 6
3.1. Version . . . . . . . . . . . . . . . . . . . . . . . . . 6 3.1. Version . . . . . . . . . . . . . . . . . . . . . . . . . 6
3.2. Serial number . . . . . . . . . . . . . . . . . . . . . . 6 3.2. Serial number . . . . . . . . . . . . . . . . . . . . . . 6
3.3. Signature Algorithm . . . . . . . . . . . . . . . . . . . 6 3.3. Signature Algorithm . . . . . . . . . . . . . . . . . . . 7
3.4. Issuer . . . . . . . . . . . . . . . . . . . . . . . . . . 7 3.4. Issuer . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.5. Subject . . . . . . . . . . . . . . . . . . . . . . . . . 7 3.5. Subject . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.6. Valid From . . . . . . . . . . . . . . . . . . . . . . . . 7 3.6. Valid From . . . . . . . . . . . . . . . . . . . . . . . . 7
3.7. Valid To . . . . . . . . . . . . . . . . . . . . . . . . . 8 3.7. Valid To . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.8. Subject Public Key Info . . . . . . . . . . . . . . . . . 8 3.8. Subject Public Key Info . . . . . . . . . . . . . . . . . 8
3.9. Resource Certificate Version 3 Extension Fields . . . . . 8 3.9. Resource Certificate Version 3 Extension Fields . . . . . 8
3.9.1. Basic Constraints . . . . . . . . . . . . . . . . . . 9 3.9.1. Basic Constraints . . . . . . . . . . . . . . . . . . 9
3.9.2. Subject Key Identifier . . . . . . . . . . . . . . . . 9 3.9.2. Subject Key Identifier . . . . . . . . . . . . . . . . 9
3.9.3. Authority Key Identifier . . . . . . . . . . . . . . . 9 3.9.3. Authority Key Identifier . . . . . . . . . . . . . . . 9
3.9.4. Key Usage . . . . . . . . . . . . . . . . . . . . . . 10 3.9.4. Key Usage . . . . . . . . . . . . . . . . . . . . . . 10
skipping to change at page 3, line 6 skipping to change at page 3, line 6
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. Resource Extension Validation . . . . . . . . . . . . . . 22 6.1. Resource Extension Validation . . . . . . . . . . . . . . 22
6.2. Resource Certification Path Validation . . . . . . . . . . 23 6.2. Resource Certification Path Validation . . . . . . . . . . 23
6.3. Trust Anchors for Resource Certificates . . . . . . . . . 24 6.3. Trust Anchors for Resource Certificates . . . . . . . . . 24
6.3.1. Distribution Format of Nominated Trust Anchor 6.3.1. Distribution Format of Default Trust Anchor
Material . . . . . . . . . . . . . . . . . . . . . . . 25 Material . . . . . . . . . . . . . . . . . . . . . . . 25
7. Design Notes . . . . . . . . . . . . . . . . . . . . . . . . . 28 7. Design Notes . . . . . . . . . . . . . . . . . . . . . . . . . 28
8. Security Considerations . . . . . . . . . . . . . . . . . . . 31 8. Security Considerations . . . . . . . . . . . . . . . . . . . 31
9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 32 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 31
10. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 32 10. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 31
11. References . . . . . . . . . . . . . . . . . . . . . . . . . . 32 11. References . . . . . . . . . . . . . . . . . . . . . . . . . . 32
11.1. Normative References . . . . . . . . . . . . . . . . . . . 32 11.1. Normative References . . . . . . . . . . . . . . . . . . . 32
11.2. Informative References . . . . . . . . . . . . . . . . . . 33 11.2. Informative References . . . . . . . . . . . . . . . . . . 32
Appendix A. Example Resource Certificate . . . . . . . . . . . . 33 Appendix A. Example Resource Certificate . . . . . . . . . . . . 33
Appendix B. Example Certificate Revocation List . . . . . . . . . 35 Appendix B. Example Certificate Revocation List . . . . . . . . . 35
Appendix C. Cryptographic Message Syntax Profile for RPKI Appendix C. Cryptographic Message Syntax Profile for RPKI
Trust Anchor Material . . . . . . . . . . . . . . . . 37 Trust Anchor Material . . . . . . . . . . . . . . . . 37
C.1. Signed-Data ContentType . . . . . . . . . . . . . . . . . 37 C.1. Signed-Data ContentType . . . . . . . . . . . . . . . . . 37
C.1.1. encapContentInfo . . . . . . . . . . . . . . . . . . . 38 C.1.1. encapContentInfo . . . . . . . . . . . . . . . . . . . 38
C.1.2. signerInfos . . . . . . . . . . . . . . . . . . . . . 39 C.1.2. signerInfos . . . . . . . . . . . . . . . . . . . . . 39
C.2. RTA Validation . . . . . . . . . . . . . . . . . . . . . . 41 C.2. RTA Validation . . . . . . . . . . . . . . . . . . . . . . 41
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 42 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 42
Intellectual Property and Copyright Statements . . . . . . . . . . 44 Intellectual Property and Copyright Statements . . . . . . . . . . 44
skipping to change at page 4, line 30 skipping to change at page 4, line 30
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.
In the context of the public Internet, and the use of public number In the context of the public Internet, and the use of public number
resources within this context, it is intended that Resource resources within this context, it is intended that Resource
Certificates are used in a manner that is explicitly aligned to the Certificates are used in a manner that is explicitly aligned to the
public number resource distribution function. Specifically, when a public number resource distribution function. Specifically, when a
number resource is allocated or assigned by a number registry to an number resource is allocated or assigned by a number registry to an
entity, this allocation is described by an associated Resource entity, this allocation is described by an associated Resource
Certificate. This certificate is issued by the number registry, and Certificate. This certificate is issued by the number registry, and
the subject's public key that is being certified by the issuer the subject public key that is certified by the issuer corresponds to
corresponds to the public key part of a public / private key pair the public part of a key pair for which the private key is associated
that was generated by the same entity who is the recipient of the with the entity who is the recipient of the number assignment or
number assignment or allocation. A critical extension to the allocation. A critical extension to the certificate enumerates the
certificate enumerates the IP Resources that were allocated or IP Resources that were allocated or assigned by the issuer to the
assigned by the issuer to the entity. In the context of the public entity. In the context of the public number distribution function,
number distribution function, this corresponds to a hierarchical PKI this corresponds to a hierarchical PKI structure, where Resource
structure, where Resource Certificates are only issued in one Certificates are issued in only one 'direction' and there is a unique
'direction' and there is a single unique path of certificates from a path of certificates from a certification authority operating at the
certification authority operating at the apex of a resource apex of a resource distribution hierarchy to a valid certificate.
distribution hierarchy to a valid certificate.
Validation of a Resource Certificate in such a hierarchical PKI can Validation of a Resource Certificate in such a hierarchical PKI can
be undertaken by establishing a valid issuer-subject certificate be undertaken by establishing a valid issuer-subject certificate
chain from a certificate issued by a trust anchor certification chain from a certificate issued by a trust anchor certification
authority to the certificate [RFC4158], with the additional authority to the certificate [RFC4158], with the additional
constraint of ensuring that each subject's listed resources are fully constraint of ensuring that each subject's listed resources are fully
encompassed by those of the issuer at each step in the issuer-subject encompassed by those of the issuer at each step in the issuer-subject
certificate chain. certificate chain. Validation therefore logically corresponds to
validation of an associated set of assignment or allocation actions
of IP number resources.
While this profile describes the structure of a default Trust Anchor
for this PKI, Relying Parties (RPs) in this PKI are free to select
the trust anchors upon which they rely, and thus the PKI as viewed by
RPs need not match the public resource allocation hierarchy as
described here.
Resource Certificates may be used in the context of the operation of Resource Certificates may be used in the context of the operation of
secure inter-domain routing protocols to convey a right-of-use of an secure inter-domain routing protocols to convey a right-of-use of an
IP number resource that is being passed within the routing protocol, IP number resource that is being passed within the routing protocol,
allowing relying parties to verify legitimacy and correctness of allowing relying parties to verify legitimacy and correctness of
routing information. Related use contexts include validation of routing information. Related use contexts include validation of
Internet Routing Registry objects, validation of routing requests, Internet Routing Registry objects, validation of routing requests,
and detection of potential unauthorised use of IP addresses. and detection of potential unauthorized use of IP addresses.
This profile defines those fields that are used in a Resource This profile defines those fields that are used in a Resource
Certificate that MUST be present for the certificate to be valid. Certificate that MUST be present for the certificate to be valid.
Relying Parties SHOULD check that a Resource Certificate conforms to Relying Parties SHOULD check that a Resource Certificate conforms to
this profile as a requisite for validation of a Resource Certificate. this profile as a requisite for validation of a Resource Certificate.
1.1. Terminology 1.1. Terminology
It is assumed that the reader is familiar with the terms and concepts It is assumed that the reader is familiar with the terms and concepts
described in "Internet X.509 Public Key Infrastructure Certificate described in "Internet X.509 Public Key Infrastructure Certificate
skipping to change at page 6, line 7 skipping to change at page 6, line 13
be marked as CRITICAL. be marked as CRITICAL.
2. RFC 3779 defines a sorted canonical form of describing a 2. RFC 3779 defines a sorted canonical form of describing a
resource set, with maximal spanning ranges and maximal resource set, with maximal spanning ranges and maximal
spanning prefix masks as appropriate. All valid certificates spanning prefix masks as appropriate. All valid certificates
in this profile MUST use this sorted canonical form of in this profile MUST use this sorted canonical form of
resource description in the resource extension field. resource description in the resource extension field.
3. A test of the resource extension in the context of certificate 3. A test of the resource extension in the context of certificate
validity includes the condition that the resources described validity includes the condition that the resources described
in the immediate superior certificate in the PKI hierarchy in the immediate parent CA certificate in the PKI (the
(the certificate where this certificate's issuer is the certificate where this certificate's issuer is the subject)
subject) has a resource set (called here the "issuer's has a resource set (called here the "issuer's resource set")
resource set") that MUST encompass the resource set of the that MUST encompass the resource set of the issued
issued certificate. In this context "encompass" allows for certificate. In this context "encompass" allows for the
the issuer's resource set to be the same as, or a strict issuer's resource set to be the same as, or a strict superset
superset of, any subject's resource set. of, any subject's resource set.
A test of certificate validity entails the identification of a Certificate validation entails the construction of a sequence of
sequence of valid certificates in an issuer-subject chain (where the valid certificates in an issuer-subject chain (where the subject
subject field of one certificate appears as the issuer in the next field of one certificate appears as the issuer in the next
certificate in the sequence) from a trust anchor certification certificate in the sequence) from a trust anchor to the certificate
authority to the certificate being validated, and that the resource being validated. Moreover, the resource extensions in this
extensions in this certificate sequence from the trust anchor's certificate sequence from the first CA under the trust anchor to the
issued certificate to the certificate being validated form a sequence certificate being validated form a sequence of encompassing
of encompassing relationships in terms of the resources described in relationships in terms of the resources described in the resource
the resource extension. 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 [RFC5280], 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.
skipping to change at page 6, line 49 skipping to change at page 7, line 8
field is 2). field is 2).
3.2. Serial number 3.2. Serial number
The serial number value is a positive integer that is unique per The serial number value is a positive integer that is unique per
Issuer. Issuer.
3.3. Signature Algorithm 3.3. Signature Algorithm
This field describes the algorithm used to compute the signature on This field describes the algorithm used to compute the signature on
this certificate. This profile specifies a minimum of SHA-256 with this certificate. This profile specifies a default 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].
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.
Conventions are imposed on Issuer names used in resource
certificates, as described in [ID.sidr-arch].
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
issuer name MUST correspond to the subject name as contained in the issuer name MUST correspond to the subject name as contained in the
immediate superior certificate. immediate superior certificate.
This field MUST be non-empty.
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 a valid X.501 name. allocated / assigned. The value of this field is a valid X.501 name.
As noted above, conventions are imposed on Subject names used in
resource certificates, as described in [ID.sidr-arch].
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 subordinate CA and EE certified by the issuer MUST be each distinct subordinate CA and EE certified by the issuer MUST be
identified using a subject name that is unique per issuer. identified using a subject name that is unique per issuer.
In this context "distinct" is defined as an entity and a given key In this context "distinct" is defined as an entity and a given public
pair. An issuer SHOULD use a a different subject name if the subject key. An issuer SHOULD use a different subject name if the subject
entity or the subject entity's key pair has changed. entity or the subject entity's key pair has changed.
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 [RFC5280], 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 [RFC5280]. 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. Relying Parties should not attempt to infer from this
that a certificate was, or will be, valid at any particular time time information a certificate was valid at a time in the past, or
other than the current time. will be valid at a time in the future, as the validity of a
certificate refers to validity at 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 [RFC5280], 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 [RFC5280]. are defined in [RFC5280].
In this profile, it is valid for a certificate to have a value for As noted above, 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. The same caveats apply to Relying Party's assumptions
that a certificate was, or will be, valid at any particular time relating to the certificate's validity at any time other than the
other than the current time. current time,
CAs are typically advised against issuing a certificate with a While a CA is 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, in
However, in the context of this profile, it is anticipated that a CA the context of this profile, it is anticipated that a CA may have
may have valid grounds to issue a certificate with a validity valid grounds to issue a certificate with a validity interval that
interval that exceeds the validity interval of the CA's certificate. exceeds the validity interval of its certificate.
3.8. Subject Public Key Info 3.8. Subject Public Key Info
This field specifies the subject's public key and the algorithm with This field specifies the subject's public key and the algorithm with
which the key is used. The public key algorithm MUST be RSA, and, which the key is used. The public key algorithm MUST be RSA, and,
accordingly, the OID for the public key algorithm is accordingly, the OID for the public key algorithm is
1.2.840.113549.1.1.1. The key size MUST be a minimum size of 2048 1.2.840.113549.1.1.1. The key size MUST be a minimum size of 2048
bits. 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 noted above.
3.9. Resource Certificate Version 3 Extension Fields 3.9. Resource Certificate Version 3 Extension Fields
As noted in Section 4.2 of [RFC5280], 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 recognize; however, a non-critical extension
MAY be ignored if it is not recognised [RFC5280]. MAY be ignored if it is not recognized [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.
The issuer determines whether the "cA" boolean is set. If this bit The issuer determines whether the "cA" boolean is set. 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 (i.e. the resources certificates within this overall framework (i.e. the
subject is permitted be a CA). subject is 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 when the subject is Resource Certificate profile, and MUST be present when the subject is
a CA, and MUST NOT be present otherwise. a CA, and MUST NOT be present otherwise.
3.9.2. Subject Key Identifier 3.9.2. Subject Key Identifier
The subject key identifier extension provides a means of identifying The subject key identifier extension provides a means of identifying
certificates that contain a particular public key. To facilitate certificates that contain a particular public key. To facilitate
certification path construction, this extension MUST appear in all certification path construction, this extension MUST appear in all
Resource Certificates. This extension is non-critical. Resource Certificates. This extension is non-critical.
The value of the subject key identifier MUST be the value placed in The value of the subject key identifier MUST be the value placed in
the key identifier field of the Authority Key Identifier extension of the key identifier field of the Authority Key Identifier extension of
immediate subordinate certificates (all certificates issued by the all certificates issued by this subject.
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 [RFC5280]. described in Section 4.2.1.2 of [RFC5280].
3.9.3. Authority Key Identifier 3.9.3. Authority Key Identifier
The authority key identifier extension provides a means of The authority key identifier extension provides a means of
identifying certificates that are signed by the issuer's private key, identifying certificates that are signed by the issuer's private key,
by 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 MUST be present in all Resource
Resource Certificates, with the exception of a CA who issues a "self- Certificates, with the exception of a CA who issues a "self-signed"
signed" certificate. The authorityCertIssuer and certificate. The authorityCertIssuer and authorityCertSerialNumber
authorityCertSerialNumber sub fields MUST NOT be present. This 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 [RFC5280]. 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 Certificate Authorities only the In certificates issued to Certification Authorities only the
keyCertSign and CRLSign bits are set to TRUE and MUST be the only keyCertSign and CRLSign bits are set to TRUE and these MUST be the
bits set to TRUE. only bits set to TRUE.
In end-entity certificates the digitalSignature bit MUST be set and In end-entity certificates the digitalSignature bit MUST be set to
MUST be the only bit set to TRUE. TRUE and MUST be the only bit set to TRUE.
3.9.5. CRL Distribution Points 3.9.5. CRL Distribution Points
This field (CRLDP) identifies the location(s) of the CRL(s) This field (CRLDP) identifies the location(s) of the CRL(s)
associated with certificates issued by this Issuer. This profile associated with certificates issued by this Issuer. This profile
uses the URI form of object identification. The preferred URI access uses the URI form of object identification. The preferred URI access
mechanism is a single RSYNC URI ("rsync://") [rsync] that references mechanism is a single RSYNC URI ("rsync://") [rsync] that references
a single inclusive CRL for each issuer. a single inclusive CRL for each issuer.
In this profile the certificate issuer is also the CRL issuer, In this profile the certificate issuer is also the CRL issuer,
implying at the CRLIssuer sub field MUST be omitted, and the implying at the CRLIssuer field MUST be omitted, and the
distributionPoint sub-field MUST be present. The Reasons sub-field distributionPoint field MUST be present. The Reasons field MUST be
MUST be omitted. omitted.
The distributionPoint MUST contain general names, and MUST NOT The distributionPoint MUST contain general names, and MUST NOT
contain a nameRelativeToCRLIssuer. The type of the general name MUST contain a nameRelativeToCRLIssuer. The type of the general name MUST
be of type URI. be of type URI.
In this profile, the scope of the CRL is specified to be all In this profile, the scope of the CRL is specified to be all
certificates issued by this CA issuer. certificates issued by this CA issuer.
The sequence of distributionPoint values MUST contain only a single The sequence of distributionPoint values MUST contain only a single
DistributionPointName set. The DistributionPointName set MAY contain DistributionPointName set. The DistributionPointName set MAY contain
skipping to change at page 11, line 7 skipping to change at page 11, line 7
DistributionPointName set, and reference the most recent instance of DistributionPointName set, and reference the most recent instance of
this issuer's certificate revocation list. Other access form URIs this issuer's certificate revocation list. Other access form URIs
MAY be used in addition to the RSYNC URI. MAY be used in addition to the RSYNC URI.
This extension MUST be present and it is non-critical. There is one This extension MUST be present and it is non-critical. There is one
exception, namely where a CA distributes its public key in the form exception, namely where a CA distributes its public key in the form
of a "self-signed" certificate, the CRLDP MUST be omitted. of a "self-signed" certificate, the CRLDP MUST be omitted.
3.9.6. Authority Information Access 3.9.6. Authority Information Access
This field (AIA) identifies the point of publication of the This extension (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, in which case the AIA field SHOULD be omitted. certificate, in which case 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
skipping to change at page 11, line 42 skipping to change at page 11, line 42
subordinate certificates can maintain a constant AIA field value and subordinate certificates can maintain a constant AIA field value and
need not be re-issued due solely to a re-issue of the superior need not be re-issued due solely to a re-issue of the superior
certificate. The issuers' policy with respect to the persistence of certificate. The issuers' policy with respect to the persistence of
name objects of issued certificates MUST be specified in the Issuer's name objects of issued certificates MUST be specified in the Issuer's
Certification Practice Statement. Certification Practice Statement.
This extension is non-critical. This extension is non-critical.
3.9.7. Subject Information Access 3.9.7. Subject Information Access
This field (SIA) identifies the location of information and services This extension (SIA) identifies the location of information and
relating to the subject of the certificate in which the SIA extension services relating to the subject of the certificate in which the SIA
appears. Where the Subject is a CA in this profile, this information extension appears. Where the Subject is a CA in this profile, this
and service collection will include all current valid certificates information and service collection will include all current valid
that have been issued by this subject that are signed with the certificates that have been issued by this subject that are signed
subject's corresponding private key. with the subject's corresponding private key.
This profile uses a URI form of location identification. The This profile uses a URI form of location identification. The
preferred URI access mechanism is "rsync", and an RSYNC URI MUST be preferred URI access mechanism is "rsync", and an RSYNC URI MUST be
specified, with an access method value of id-ad-caRepository when the specified, with an access method value of id-ad-caRepository when the
subject of the certificate is a CA. The RSYNC URI MUST reference an subject of the certificate is a CA. The RSYNC URI MUST reference an
object collection rather than an individual object and MUST use a object collection rather than an individual object and MUST use a
trailing '/' in the URI. trailing '/' in the URI.
Other access method URIs that reference the same location MAY also be Other access method URIs that reference the same location MAY also be
included in the value sequence of this extension. The ordering of included in the value sequence of this extension. The ordering of
URIs in this sequence reflect the subject's relative preferences for URIs in this sequence reflect the subject's relative preferences for
access methods, with the first method in the sequence being the most access methods, with the first method in the sequence being the most
preferred. preferred.
This field MUST be present when the subject is a CA, and is non- This extension MUST be present when the subject is a CA, and is non-
critical. critical.
For End Entity (EE) certificates, where the subject is not a CA, this For End Entity (EE) certificates, where the subject is not a CA, this
field MAY be present, and is non-critical. If present, it either extension MAY be present, and is non-critical. If present, it either
references the location where objects signed by the key pair references the location where objects signed by the private key
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 private key.
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 associated 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 }
skipping to change at page 13, line 13 skipping to change at page 13, line 13
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 published object, the When an EE certificate is used to verify a single published object,
EE certificate MUST include in the SIA an access method OID of id-ad- the EE certificate MUST include in the SIA an access method OID of
signedObject, where the associated access location refers to the id-ad-signedObject, where the associated access location refers to
publication point of the single object that is verified using this EE the publication point of the single object that is verified using
certificate. In this case, the SIA MUST NOT include the access this EE certificate. In this case, the SIA MUST NOT include the
method OID of id-ad-rpkiManifest. 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. No PolicyQualifiers are defined for use with this policy and thus
none must be included in this extension.
This extension MUST be present and it is critical. This extension MUST be present and it is critical.
3.9.9. IP Resources 3.9.9. IP Resources
This field contains the list of IP address resources as per This extension contains the list of IP address resources as per
[RFC3779]. The value may specify the "inherit" element for a [RFC3779]. The value may specify the "inherit" element for a
particular AFI value. In the context of resource certificates particular AFI value. In the context of resource certificates
describing public number resources for use in the public Internet, describing public number resources for use in the public Internet,
the SAFI value MUST NOT be used. All Resource Certificates MUST the SAFI value 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.
3.9.10. AS Resources 3.9.10. AS Resources
This field contains the list of AS number resources as per [RFC3779], This extension contains the list of AS number resources as per
or may specify the "inherit" element. RDI values are NOT supported [RFC3779], or may specify the "inherit" element. RDI values are NOT
in this profile and MUST NOT be used. All Resource Certificates MUST supported in this profile and MUST NOT be used. All Resource
include an IP Resources extension, an AS Resources extension, or both Certificates MUST include an IP Resources extension, an AS Resources
extensions. extension, or both 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 [RFC5280]. 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, as required in [RFC5280].
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".
The contents of the CRL are a list of all non-expired certificates The contents of the CRL are a list of all non-expired certificates
that have been revoked by the CA. that have been revoked by the CA.
No CRL fields other than those listed here are permitted in CRLs No CRL fields other than those listed here are permitted in CRLs
issued under this profile. Unless otherwise indicated, these fields issued under this profile. Unless otherwise indicated, these fields
MUST be present in the CRL. Where two or more CRLs issued by a MUST be present in the CRL. Where two or more CRLs issued by a
skipping to change at page 15, line 8 skipping to change at page 15, line 9
4.4. Next Update 4.4. Next Update
This is the date and time by which the next CRL SHOULD be issued. This is the date and time by which the next CRL SHOULD be issued.
The value of this field MUST be encoded as UTCTime for dates through The value of this field MUST be encoded as UTCTime for dates through
the year 2049, and MUST be encoded as GeneralizedTime for dates in the year 2049, and MUST be encoded as GeneralizedTime for dates in
the year 2050 or later. the year 2050 or later.
4.5. Signature 4.5. Signature
This field contains the algorithm used to sign this CRL. This This field contains the algorithm used to sign this CRL. This
profile specifies a minimum of SHA-256 with RSA profile specifies a default of SHA-256 with RSA
(sha256WithRSAEncryption), and allows for the use of SHA-384 or SHA- (sha256WithRSAEncryption), and allows for the use of SHA-384 or SHA-
512. This field MUST be present. 512.
It is noted that larger key sizes are computationally expensive for It is noted that larger key sizes are computationally expensive for
both the CRL Issuer and relying parties, indicating that care should both the CRL Issuer and relying parties, indicating that care should
be taken when deciding to use larger than the minimum key size. be taken when deciding to use larger than the default key size.
4.6. Revoked Certificate List 4.6. Revoked Certificate List
When there are no revoked certificates, then the revoked certificate When there are no revoked certificates, then the revoked certificate
list MUST be absent. list MUST be absent.
For each revoked resource certificate only the following fields MUST For each revoked resource certificate only the following fields MUST
be present. No CRL entry extensions are supported in this profile, be present. No CRL entry extensions are supported in this profile,
and CRL entry extensions MUST NOT be present in a CRL. and CRL entry extensions MUST NOT be present in a CRL.
4.6.1. Serial Number 4.6.1. Serial Number
The issuer's serial number of the revoked certificate. The serial number of the revoked certificate.
4.6.2. Revocation Date 4.6.2. Revocation Date
The time the certificate was revoked. This time MUST NOT be a future The time the certificate was revoked. This time MUST NOT be a future
date. The value of this field MUST be encoded as UTCTime for dates date (i.e., a date later than ThisUpdate). The value of this field
through the year 2049, and MUST be encoded as GeneralizedTime for MUST be encoded as UTCTime for dates through the year 2049, and MUST
dates in the year 2050 or later. be encoded as GeneralizedTime 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, 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
skipping to change at page 17, line 4 skipping to change at page 17, line 4
Version Version
This field is mandatory and MUST have the value 0. This field is mandatory and MUST have the value 0.
Subject Subject
This field is optional. If present, the value of this field This field is optional. If present, the value of this field
SHOULD be empty, in which case the issuer MUST generate a SHOULD be empty, in which case the issuer MUST generate a
subject name that is unique in the context of certificates subject name that is unique in the context of certificates
issued by this issuer. If the value of this field is non- issued by this issuer. If the value of this field is non-
empty, then the CA MAY consider the value of this field as the empty, then the CA MAY consider the value of this field as the
subject's suggested subject name, but the CA is NOT bound to subject's suggested subject name, but the CA is NOT bound to
honour this suggestion, as the subject name MUST be unique per honor this suggestion, as the subject name MUST be unique per
subordinate CA and EE in certificates issued by this issuer. subordinate CA and EE in certificates issued by this issuer.
SubjectPublicKeyInfo SubjectPublicKeyInfo
This field specifies the subject's public key and the algorithm This field specifies the subject's public key and the algorithm
with which the key is used. The public key algorithm MUST be with which the key is used. The public key algorithm MUST be
RSA, and the OID for the algorithm is 1.2.840.113549.1.1.1. RSA, and the OID for the algorithm is 1.2.840.113549.1.1.1.
This field also includes a bit-string representation of the This field also includes a bit-string representation of the
entity's public key. For the RSA public-key algorithm the bit entity's public key. For the RSA public-key algorithm the bit
string contains the DER encoding of a value of PKCS #1 type string contains the DER encoding of a value of PKCS #1 type
RSAPublicKey. RSAPublicKey.
skipping to change at page 17, line 29 skipping to change at page 17, line 29
The only attribute used in this profile is the ExtensionRequest The only attribute used in this profile is the ExtensionRequest
attribute as defined in [RFC2985]. This attribute contains attribute as defined in [RFC2985]. This attribute contains
X509v3 Certificate Extensions. The profile for extensions in X509v3 Certificate Extensions. The profile for extensions in
certificate requests is specified in Section 5.3. certificate requests is specified in Section 5.3.
This profile applies the following additional constraints to fields This profile applies the following additional constraints to fields
that MAY appear in a CertificationRequest Object: that MAY appear in a CertificationRequest Object:
signatureAlgorithm signatureAlgorithm
This profile specifies a minimum of SHA-256 with RSA This profile specifies a default of SHA-256 with RSA
(sha256WithRSAEncryption), and allows for the use of SHA-384 or (sha256WithRSAEncryption), and allows for the use of SHA-384 or
SHA-512. Accordingly, the value for this field MUST be one of 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 } the OID values { pkcs-1 11 }, { pkcs-1 12 } or { pkcs-1 13 }
[RFC4055]. [RFC4055].
It is noted that larger key sizes are computationally expensive It is noted that larger key sizes are computationally expensive
for both the CA and relying parties, indicating that care for both the CA and relying parties, indicating that care
should be taken when deciding to use larger than the minimum should be taken when deciding to use larger than the default
key size. key size.
5.2. CRMF Profile 5.2. CRMF Profile
This profile refines the Certificate Request Message Format (CRMF) This profile refines the Certificate Request Message Format (CRMF)
specification in [RFC4211], as it relates to Resource Certificates. specification in [RFC4211], as it relates to Resource Certificates.
A Certificate Request Message object, formatted according to the A Certificate Request Message object, formatted according to the
CRMF, is passed to a CA as the initial step in issuing a certificate. CRMF, is passed to a CA as the initial step in issuing a certificate.
This request MAY be conveyed to the CA via a Registration Authority This request MAY be conveyed to the CA via a Registration Authority
skipping to change at page 18, line 41 skipping to change at page 18, line 41
specified, then the CA MAY override the requested values with specified, then the CA MAY override the requested values with
dates as determined by the CA. dates as determined by the CA.
Subject Subject
This field is optional. If present, the value of this field This field is optional. If present, the value of this field
SHOULD be empty, in which case the issuer MUST generate a SHOULD be empty, in which case the issuer MUST generate a
subject name that is unique in the context of certificates subject name that is unique in the context of certificates
issued by this issuer. If the value of this field is non- issued by this issuer. If the value of this field is non-
empty, then the CA MAY consider the value of this field as the empty, then the CA MAY consider the value of this field as the
subject's suggested subject name, but the CA is NOT bound to subject's suggested subject name, but the CA is NOT bound to
honour this suggestion, as the subject name MUST be unique per honor this suggestion, as the subject name MUST be unique per
issuer in certificates issued by this issuer. issuer in certificates issued by this issuer.
PublicKey PublicKey
This field MUST be present. This field MUST be present.
extensions extensions
This attribute contains X509v3 Certificate Extensions. The This attribute contains X509v3 Certificate Extensions. The
profile for extensions in certificate requests is specified in profile for extensions in certificate requests is specified in
Section 5.3. Section 5.3.
skipping to change at page 19, line 35 skipping to change at page 19, line 35
BasicConstraints BasicConstraints
If this is omitted then the CA will issue an end entity If this is omitted then the CA will issue an end entity
certificate with the BasicConstraints extension not present in certificate with the BasicConstraints extension not present in
the issued certificate. the issued certificate.
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 The CA MAY honor the SubjectType CA bit set to on. If this bit
bit is set, then it indicates that the Subject is allowed to is set, then it indicates that the Subject is allowed to issue
issue resource certificates within this overall framework. resource certificates within this overall framework.
The CA MUST honour the SubjectType CA bit set to off (End The CA MUST honor the SubjectType CA bit set to off (End Entity
Entity certificate request), in which case the corresponding certificate request), in which case the corresponding end
end entity certificate will not contain a BasicConstraints entity certificate will not contain a BasicConstraints
extension. extension.
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 keyCertSign and cRLSign The CA MAY honor KeyUsage extensions of keyCertSign and cRLSign
if present, as long as this is consistent with the if present, as long as this is consistent with the
BasicConstraints SubjectType sub field, when specified. BasicConstraints SubjectType sub field, when specified.
SubjectInformationAccess SubjectInformationAccess
This field MUST be present when the subject is a CA, and the This field MUST be present when the subject is a CA, and the
field value SHOULD be honoured by the CA. If the CA is not field value SHOULD be honored by the CA. If the CA is not able
able to honor the requested field value, then the CA MUST to honor the requested field value, then the CA MUST reject the
reject the Certificate Request. Certificate Request.
This field (SIA) identifies the location of information and This field (SIA) identifies the location of information and
services relating to the subject of the certificate in which services relating to the subject of the certificate in which
the SIA extension appears. the SIA extension appears.
Where the subject is a CA in this profile, this information and Where the subject is a CA in this profile, this information and
service collection will include all current valid certificates service collection will include all current valid certificates
that have been issued by this subject that are signed with the that have been issued by this subject that are signed with the
subject's corresponding private key. subject's corresponding private key.
skipping to change at page 20, line 47 skipping to change at page 20, line 47
relative preferences for access methods, with the first method relative preferences for access methods, with the first method
in the sequence being the most preferred by the Subject. in the sequence being the most preferred by the Subject.
A request for a CA certificate MUST include in the SIA of the A request for a CA certificate MUST include in the SIA of the
request the id-ad-caRepository access method, and also MUST request the id-ad-caRepository access method, and also MUST
include in the SIA of the request the accessMethod OID of id- include in the SIA of the request the accessMethod OID of id-
ad-rpkiManifest, where the associated accessLocation refers to ad-rpkiManifest, where the associated accessLocation refers to
the subject's published manifest object as an object URL. the subject's published manifest object as an object URL.
This field MAY be present when the subject is a EE. If it is This field MAY be present when the subject is a EE. If it is
present the field value SHOULD be honoured by the CA. If the present the field value SHOULD be honored by the CA. If the CA
CA is not able to honor the requested field value, then the CA is not able to honor the requested field value, then the CA
MUST reject the Certificate Request. If it is not present the MUST reject the Certificate Request. If it is not present the
CA SHOULD honor this request and omit the SIA from the issued CA SHOULD honor this request and omit the SIA from the issued
certificate. If the CA is not able to honor the request to certificate. If the CA is not able to honor the request to
omit the SIA, then the CA MUST reject the Certificate Request. omit the SIA, then the CA MUST reject the Certificate Request.
When an EE certificate is intended for use in verifying When an EE certificate is intended for use in verifying
multiple objects, the certificate request for the EE multiple objects, the certificate request for the EE
certificate MUST include in the SIA of the request an access certificate MUST include in the SIA of the request an access
method OID of id-ad-signedObjectRepository, and also MUST method OID of id-ad-signedObjectRepository, and also MUST
include in the SIA of the request an access method OID of id- include in the SIA of the request an access method OID of id-
skipping to change at page 22, line 9 skipping to change at page 22, line 9
This refines the generic procedure described in section 6 of This refines the generic procedure described in section 6 of
[RFC5280]. [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 1. for all x in {1, ..., n-1}, the subject of certificate x is
the issuer of certificate x+1; the issuer of certificate x+1;
2. certificate 1 is issued by a trust anchor; 2. certificate 1 is issued by a trust anchor (Note that a trust
anchor is NOT a resource certificate in this context and thus
does not contain RFC 3779 extensions.);
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 is valid. 4. for all x in {1, ..., n}, the certificate is valid.
6.1. Resource Extension Validation 6.1. 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
skipping to change at page 24, line 6 skipping to change at page 24, line 9
7. The Certification Path originates with a certificate issued by 7. The Certification Path originates with a certificate issued by
a trust anchor, and there exists a signing chain across the a trust anchor, and there exists a signing chain across the
Certification Path where the Subject of Certificate x in the Certification Path where the Subject of Certificate x in the
Certification Path matches the Issuer in Certificate x+1 in Certification Path matches the Issuer in Certificate x+1 in
the Certification Path. the Certification Path.
A certificate validation algorithm may perform these tests in any A certificate validation algorithm may perform these tests in any
chosen order. chosen order.
Certificates and CRLs used in this process may be found in a locally Certificates and CRLs used in this process may be found in a locally
maintained cache, maintained by a regular top-down synchronization maintained cache, maintained by a regular synchronization across the
pass, seeded with the CAs who operate at the apex of the resource distributed publication repository structure.
distribution hierarchy, via reference to issued certificates and
their SIA fields as forward pointers, plus the CRLDP. Alternatively,
validation may be performed using a bottom-up process with on-line
certificate access using the certificate's AIA and CRLDP pointers to
guide the certificate retrieval process for each certificate's
immediate superior CA certificate.
There exists the possibility of encountering certificate paths that There exists the possibility of encountering certificate paths that
are arbitrarily long, or attempting to generate paths with loops as are arbitrarily long, or attempting to generate paths with loops as
means of creating a potential DOS attack on a certificate validator. means of creating a potential DOS attack on a relying party. Some
Some further heuristics may be required to halt the certification further heuristics may be required to halt the certification path
path validation process in order to avoid some of the issues validation process in order to avoid some of the issues associated
associated with attempts to validate such structures. It is with attempts to validate such structures. It is suggested that
suggested that implementations of Resource Certificate validation MAY implementations of Resource Certificate validation MAY halt with a
halt with a validation failure if the certification path length validation failure if the certification path length exceeds a pre-
exceeds a pre-determined configuration parameter. determined configuration parameter.
6.3. Trust Anchors for Resource Certificates 6.3. Trust Anchors for Resource Certificates
The trust model that may be used in the resource certificate The default trust model for the resource certificate PKI maps to the
framework in the context of validation of assertions of public number extant public resource allocation system, comprised of IANA, RIRs,
resources in public-use contexts is one that readily maps to a top- NIRs (in some regions) and LIRs. This is a strict hierarchy, in that
down delegated CA model that mirrors the delegation of resources from any number resource and a corresponding recipient entity has only one
a registry distribution point to the entities that are the direct 'parent' issuing registry for that resource. Moreover, the issuing
recipients of these resources. Within this trust model these registry is not a direct or indirect subordinate recipient entity of
recipient entities may, in turn, operate a registry and perform the recipient entity in question (i.e., there are no loops in the
further allocations or assignments. This is a strict hierarchy, in model).
that any number resource and a corresponding recipient entity has
only one 'parent' issuing registry for that number resource (i.e.
there is always a unique parent entity for any resource and
corresponding entity), and that the issuing registry is not a direct
or indirect subordinate recipient entity of the recipient entity in
question (i.e. no loops in the model).
The more general consideration is that selection of one or more trust Nonetheless, as in any PKI, selection of one or more entities as
anchor CAs is a task undertaken by relying parties. The structure of trust anchor is a task undertaken by each relying party. The
the resource certificate profile admits potentially the same variety structure of the resource certificate profile admits the same variety
of trust models as the PKIX profile. There is only one additional of trust models as PKIX (and X.509) standards. There is only one
caveat on the general applicability of trust models and PKIX additional caveat on the general applicability of trust models,
frameworks, namely that in forming a validation path to a trust namely that in forming a validation path to a CA immediately below a
anchor CA, the sequence of certificates MUST preserve the resource trust anchor, the sequence of certificates MUST preserve the resource
extension validation property, as described in Section 6.1, and the extension validation property, as described in Section 6.1.
validation of the first certificate in the validation path not only Section 6.1.
involves the verification that the certificate was issued by a trust
anchor CA, but also that the resource set described in the
certificate MUST be encompassed by the trust anchor CA's resource
set, as described in Section 6.1.
The trust anchor information, describing a CA that serves as a trust The trust anchor information, describing a CA that serves as a trust
anchor, includes the following: anchor, includes the following:
1. the trusted issuer name, 1. the trust anchor name,
2. the trusted public key algorithm,
3. the trusted public key,
4. optionally, the trusted public key parameters associated with 2. the public key algorithm,
the public key, and 3. the trust anchor's public key, and
5. a resource set, consisting of a set of IPv4 resources, IPv6 4. optionally, parameters associated with the public key.
resources and AS number resources.
The trust anchor information may be provided to the path processing The trust anchor information may be provided to the path processing
procedure in the form of a self-signed certificate. procedure in the form of a self-signed certificate.
6.3.1. Distribution Format of Nominated Trust Anchor Material 6.3.1. Distribution Format of Default Trust Anchor Material
In the RPKI the hierarchical certificate framework corresponds to the In the RPKI, the certificate framework corresponds to the hierarchies
hierarchies of the resource distribution function. In consideration of the resource distribution function. In consideration of this, it
of this, it is reasonable to nominate to relying parties a default is reasonable to nominate to relying parties a default set of trust
set of trust anchors for the RPKI that correspond to the entities who anchors for the RPKI that correspond to the entities who operate at
operate at the upper levels of the associated resource allocation the upper levels of the associated resource allocation hierarchy.
hierarchy. The corresponding nominated trust anchor CA(s) should The corresponding nominated trust anchor CA(s) should therefore map,
therefore map, in some fashion, to apex point(s) of the hierarchical in some fashion, to apex point(s) of the hierarchical resource
resource distribution structure. distribution structure.
The characteristics of a trust anchor framework for the RPKI includes The characteristics of a trust anchor framework for the RPKI includes
the following considerations: the following considerations:
* The entity or entities that issue proposed trust anchor * The entity or entities that issue proposed trust anchor
material for the RPKI should be as close as possible to the material for the RPKI should be as close as possible to the
apex of the associated resource distribution hierarchy. apex of the associated resource distribution hierarchy.
* Such trust anchor material SHOULD be long-lived. As it can be * Such trust anchor material SHOULD be long-lived. As it can be
reasonably anticipated that default nominated trust anchor reasonably anticipated that default trust anchor material would
material would be distributed with relying party validation be distributed with relying party validation software, the
software, the implication is that the distributed default implication is that the distributed default trust anchor
nominated trust anchor material SHOULD remain constant for material SHOULD remain constant for extended time intervals.
extended time intervals.
* It is a poor trust model when any entity that issues putative * It is a poor trust model when any entity that issues putative
trust anchor material is forced to be authoritative over trust anchor material claims to be authoritative for
information or actions of which the entity has no direct information or actions of which the entity has no direct
knowledge, nor is in possession of a current definitive record knowledge, nor is in possession of a current definitive record
of such actions. Entities who propose themselves in a role of of such actions. Entities who propose themselves in a role of
a trust anchor issuer SHOULD be able to point to corroborative a trust anchor issuer SHOULD be able to point to corroborative
material supporting the assertion that they are legitimate material supporting the assertion that they are legitimate
authorities for the information where they are representing authorities for the information for which they are representing
themselves as a potential trust anchor for relying parties. themselves as a trust anchor for relying parties.
An entity offering itself as a putative RPKI trust anchor for a part An entity offering itself as a putative trust anchor for a part of
of the RPKI is required to regularly publish a RPKI CA certificate at the RPKI is required to regularly publish an RPKI CA certificate at a
a stable URL, and to publish a packaged form of this URL as stable URL, and to publish this URL as distributed trust anchor
distributed trust anchor material, as follows: material, as follows:
* The entity issues a RPKI self-signed "root" CA certificate that * The entity issues an RPKI self-signed "root" CA certificate
is used as the apex of a RPKI certificate issuance hierarchy. that is used as the apex of an RPKI certificate validation
This certificate MUST have the keyCertSign sign bit set in the tree. This certificate MUST meet all of the criteria
key usage extension, and the CA flag set in the basic established in Section 3 of this document for a self-signed
constraints extension, no AIA value and no CRLDP value. This RPKI certificate. This certificate MUST be reissued
certificate MUST be reissued at regular intervals prior to periodically, prior to its expiration, and MUST be reissued
expiration of the current RPKI self-signed certificate, and upon any change in the resource set that has been allocated to
MUST be reissued upon any change in the resource set that has the entity operating this CA. The validity interval of this
been allocated to the entity who is operating this CA. The certificate SHOULD reflect the anticipated period of changes to
validity interval of this certificate SHOULD reflect the the entity's resource set .
anticipated period of the regular RPKI certificate re-issuance.
* The entity maintains a "trust anchor material" key pair. * The entity maintains a trust anchor key pair that is distinct
from the key pair represented in the self-signed RPKI CA noted
above.
* The entity issues a PKI self-signed CA certificate [RFC5280] * The entity issues a self-signed CA certificate [RFC5280] (that
using the trust anchor material key pair, where the subject contains no RFC 3779 extension) where the subject public key in
public key in the certificate is the public key of the trust the certificate is the public key of the trust anchor and the
anchor material key pair and the certificate is signed by the certificate is signed using the corresponding private key of
corresponding private key of trust anchor material key pair. trust anchor key pair. This is called the TA CA certificate.
This certificate MUST have the keyCertSign sign bit set in the This certificate MUST have the keyCertSign sign bit set in the
key usage extension, and the CA flag set in the basic key usage extension, and the CA flag set in the basic
constraints extension, no AIA value and no CRLDP value. The constraints extension, no AIA value and no CRLDP value. The
validity period of this certificate shold be very long-lived, validity period of this certificate should be very long, as is
with the period to be defined by the entity. The SIA of this the norm for trust anchor material. The SIA of this
certificate references a publication point where the CRL and certificate references a publication point where the CRL and
the subordinate product of this certificate are published. the CMS structure defined below are published.
* The PKI CA issues a subordinate PKI EE certificate with a * The trust anchor (TA) issues an EE certificate (a TA EE
validity period identical to the validity period of the RPKI certificate) with a validity period identical to the validity
self-signed "root" CA certificate. This PKI EE certificate period of its RPKI self-signed "root" CA certificate. This EE
MUST have the digitalSignature bit set, and this MUST be the certificate MUST have the digitalSignature bit set, and this
only bit set to TRUE. The CA flag set MUST be cleared in the MUST be the only bit set to TRUE. There is no BasicConstraints
basic constraints extension. The validity period of this extension in this certificate. The validity period of this TA
certificate SHOULD be aligned to the validity period of the EE certificate SHOULD be aligned to the validity period of the
RPKI self-signed "root" CA certificate. RPKI self-signed "root" CA certificate.
* The PKI CA regularly issues a CRL. The CRL issuance cycle * The TA CA regularly issues a CRL. The CRL issuance cycle
SHOULD be shorter than the validity period for the RPKI self- SHOULD be shorter than the validity period for the RPKI self-
signed "root" certificate. signed "root" certificate.
* Each time the RPKI self-signed "root" certificate is re-issued, * Each time the RPKI self-signed "root" certificate is re-issued,
or prior to the expiration of the PKI EE certificate, the PKI or prior to the expiration of the TA EE certificate, the TA
CA generates a Cryptographic Message Syntax (CMS) [RFC3852] generates a Cryptographic Message Syntax (CMS) [RFC3852]
signed-data object, where the payload is the RPKI self-signed signed-data object, the payload of which is an RPKI self-signed
"root" certificate. The object is CMS-signed with the private "root" certificate. The object is CMS-signed with the private
key of the PKI EE certificate. The PKI EE certificate is key of the TA EE certificate. The TA EE certificate is
included as a CMS signed attribute in the CMS object. The PKI included as a CMS signed attribute in the CMS object. The TA
self-signed CA certificate and the asociated CRL are not to be CA certificate and the associated CRL are not to be included in
included in the CMS object. The format of the CMS object is the CMS object. The format of the CMS object is specified in
specified in Appendix C. The CMS object is published at the Appendix C. The CMS object is published at the location
location referenced in the SIA of the PKI self-signed CA referenced in the SIA of the TA CA certificate.
certificate.
* The entity publically distributes the PKI self-signed CA
certificate as its proposed trust anchor material.
* The entity publishes the modulus and exponent of the "trust * The entity publicly distributes the TA CA certificate as its
anchor material" public key using a trusted form of publication trust anchor material, in an out-of-band fashion, e.g., as part
that allows the entity's identity to be validated and the of widely distributed relying party software.
retrieval of the published information to be secured.
Relying Parties can assemble the default trust anchor collection by Relying Parties can assemble the default trust anchor collection by
using the distributed PKI self-signed CA certificate for each using the TA CA certificate for each nominated trust anchor:
nominated trust anchor:
* The public key in the self-signed CA PKI certificate can be
validated using the modulus and exponent values as retrieved
from the entity's publication point using a secured retrieval
operation.
* The PKI CA's CRL and CMS objects can be retrieved from the * The TA CA's CRL and CMS objects can be retrieved from the
publication point referenced by the SIA in the PKI CA publication point referenced by the SIA in the TA CA
certificate. certificate.
* The CRL can be verified against the PKI CA certificate. * The CRL can be verified against the TA CA certificate.
* The CMS signature can be verified using the included PKI EE * The CMS signature can be verified using the included TA EE
certificate together with the retrieved CRL and the self-signed certificate together with the retrieved CRL and the self-signed
PKI CA certificate. TA CA certificate.
* The relying party can then load the enclosed RPKI self-signed * The relying party can then load the enclosed RPKI self-signed
CA certificate as a trust anchor for RPKI validation for those CA certificate as a trust anchor for RPKI validation for those
resources described in the resource extension of this RPKI resources described in the IP Resource extensions [RFC3779] of
certificate. this RPKI certificate.
Relying Parties SHOULD perform this retrieval and validation Relying Parties SHOULD perform this retrieval and validation
operation at intervals no less frequent than the nextUpdate time of operation at intervals no less frequent than the nextUpdate time of
the published CRL, and SHOULD perform the retrieval operation prior the published TA CA CRL, and SHOULD perform the retrieval operation
to the expiration of the PKI EE certificate, or upon revocation of prior to the expiration of the TA EE certificate, or upon revocation
the PKI EE certificate that was used to sign the CMS object that held of the TA EE certificate that is used to verify the CMS object that
the relying party's current RPKI self-signed CA certificate. holds the trust anchor's current RPKI self-signed CA certificate.
If a trust anchor CA wishes to perform an issuance of the RPKI self- If a trust anchor chooses to reissue its RPKI self- signed CA
signed CA certificate outside the established update cycle time, it certificate before the expiration of that certificate, it MUST
can notify relying parties of this by revising the nextUpdate time of perform the follow actions: revise the nextUpdate time of the TA CA's
the PKI CA's CRL to a shorter interval, issuing a new PKI CA CRL to reflect the issue date for the new TA EE certificate, issue a
certificate and a new CMS object with the new RPKI self-signed CA new TA EE certificate and a new CMS object with the new RPKI self-
certificate, and revoking the old PKI EE certificate at the signed CA certificate, and revoke the old TA EE certificate at the
nextUpdate time in the next issued CRL. This revocation will provide nextUpdate time in the next issued CRL. This revocation will provide
an indication to relying parties to perform the retrieval operation an indication to relying parties to perform the retrieval operation
ofthe RPKI self-signed CA certificate at a time earlier than the ofthe RPKI self-signed CA certificate at a time earlier than the
normal update cycle time. normal update cycle time. .
7. Design Notes 7. Design Notes
The following notes provide some additional commentary on the The following notes provide some additional commentary on the
considerations that lie behind some of the design choices that were considerations that lie behind some of the design choices that were
made in the design of this certificate profile. These notes do not made in the design of this certificate profile. These notes do not
constitute a formal part of the profile specification, and the constitute a formal part of the profile specification, and the
interpretation of key words as defined in RFC2119 are not applicable interpretation of key words as defined in RFC2119 are not applicable
in this section of the document. in this section of the document.
Certificate Extensions: Certificate Extensions:
This profile does not not permit the use of any other critical This profile does not permit the use of any other critical or
or non-critical extensions. The rationale for this restriction non-critical extensions. The rationale for this restriction is
is that the resource certificate profile is intended for a that the resource certificate profile is intended for a
specific use, and in this context it is not seen as being specific use, and in this context it is not seen as being
appropriate to be in the position of having certificates with appropriate to be in the position of having certificates with
additional non-critical extensions that relying parties may see additional non-critical extensions that relying parties may see
as valid certificates without understanding the extensions, but as valid certificates without understanding the extensions, but
were the relying party in a position to understand the were the relying party in a position to understand the
extensions, would contradict or qualify in some way this extensions, would contradict or qualify in some way this
original judgement of validity. This profile takes the original judgment of validity. This profile takes the position
position of minimialism over extensibility. The specific goal of minimalism over extensibility. The specific goal for the
for the associated Resource Public Key Infrastructure to associated Resource Public Key Infrastructure to precisely
precisely match the IP number resource allocation structure match the IP number resource allocation structure through an
through an aligned certificate structure that describes the aligned certificate structure that describes the allocation and
allocation and its context within the number resource its context within the number resource distribution hierarchy.
distribution hierarchy. The profile defines a resource The profile defines a resource certificate that is structured
certificate that is structured to meet these requirements. to meet these requirements.
Certification Authorities and Key Values: Certification Authorities and Key Values:
This profile uses a definition of an instance of a CA as a This profile uses a definition of an instance of a CA as a
combination of a certified entity and a key pair. Within this combination of a named entity and a key pair. Within this
definition a CA instance cannot rollover a key pair. However, definition a CA instance cannot rollover a key pair. However,
the entity can generate a new instance of a CA with a new key the entity can generate a new instance of a CA with a new key
pair and roll over all the signed subordinate products to the pair and roll over all the signed subordinate products to the
new CA. new CA.
This has a number of implications in terms of subject name This has a number of implications in terms of subject name
management, CRL Scope and repository publication point management, CRL Scope and repository publication point
management. management.
Subject Name: Subject Name:
For Subject Names the issuer should ensure that when an For Subject Names the issuer should ensure that when an
entity requests a certificate with a new key pair it entity requests a certificate with a new key pair, the CA
issues a certificate with a new subject name. One way to issues a certificate with a new subject name. One way to
achieve this is for the issuer to use a mapping of the achieve this is for the issuer to use a mapping of the
hash of the subject public key value into a suitable hash of the subject public key value into a character
distinguished name to use as the Subject Name. string for a CommonName that becomes the CA Subject Name.
CRL Scope: CRL Scope:
For CRL Scope this profile specifies that a CA issues a For CRL Scope this profile specifies that a CA issues a
single CRL sequence, and the scope of the CRL is all single CRL sequence, and the scope of the CRL is all
products issued by this CA. Becuase the CA instance is certificates issued by this CA. Because the CA instance
bound to a single key pair this implies that the CA's key is bound to a single key pair this implies that the CA's
value, the key value that signs the CA's CRL and the key public key, the key used to validate the CA's CRL, and
value that signed the revoked products of the CA are all the key used to validate the certificates revoked by that
the same key value. CRL are all the same.
Repository Publication Point: Repository Publication Point:
The definition of a CA affects the design of the The definition of a CA affects the design of the
repository publication system. In order to minimise the repository publication system. In order to minimize the
amount of forced re-certification on key rollover events, amount of forced re-certification on key rollover events,
a repository publication regime that uses the same a repository publication regime that uses the same
repository publication point for all CA instances that repository publication point for all CA instances that
refers to the same entity, but with different key values refers to the same entity, but with different key values
will minimise the extent of re-generation of certificate will minimize the extent of re-generation of certificates
products to immediate subordinate certificates. to only immediate subordinate certificates.
In order for two or more CA instances to share a single In order for two or more CA instances to share a single
repository publication point there needs to be a regime repository publication point there needs to be a regime
of key management into OLD, CURRENT and FUTURE keys and a of key management into OLD, CURRENT and FUTURE keys and a
similar regine of OLD, CURRENT and FUTURE CAs. An OLD CA similar regime of OLD, CURRENT and FUTURE CAs. An OLD CA
should regularly publish its CRL for as long as the OLD should regularly publish its CRL for as long as the OLD
CA instance is still valid, and issue EE certificates as CA instance is still valid, and issue EE certificates as
necessary to maintain a regularly issued signed manifest necessary to maintain a current manifest of all OLD CA
of all OLD CA published products, but should not sign any published products, but it should not sign any other
other products. The CURRENT CA should publish its CRL, products. The CURRENT CA should publish its CRL, and
and should publish all subordinate products, as well as should publish all subordinate products, as well as
issuing EE certificates as necessary to maintain a issuing EE certificates as necessary to maintain a
regularly issued signed manifest of all CURRENT CA current manifest of all CURRENT CA published products.
published products. FUTURE CAs should publish no FUTURE CAs should publish no products at all in the
products at all in the repository publication point. It repository publication point. It would be consistent
would be consistent with this repository object name with this repository object name framework for the CRL
framework for the CRL and manifest to be published using and manifest to be published using object names derived
object names derived from the hash of the public key from the hash of the public key value of the CA instance.
value of the CA instance.
Key Rollover: Key Rollover:
As a CA instance is associated with a single key pair, then As a CA instance is associated with a single key pair, there
there are some considerations regarding the procedure that are some considerations regarding the procedure that should be
should be followed by an entity performing a key rollover followed by an entity performing a key rollover function. The
function. The entity will need to create a new CA instance and entity will need to create a new CA instance and then use this
then use this new CA instance to re-issue all subordinate new CA instance to re-issue all subordinate products with the
products with the new CA instance. new CA instance.
To perform a key rollover operation the entity will need to: To perform a key rollover operation the entity will need to:
1. Generate a NEW key pair. 1. Generate a NEW key pair.
2. Generate a certificate request with the NEW key 2. Generate a certificate request with the NEW key
pair and pass the request to the entity's issuer. pair and pass the request to the entity's issuer.
3. The entity's issuer to generate and publish a NEW 3. Request the entity's issuer to generate and publish
CA certificate, with an issuer-selected subject a NEW CA certificate, with an issuer-selected
name that is distinct from the subject name used in subject name that is distinct from the subject name
conjunction with the previous subject name value used in conjunction with the previous subject name
for this entity. value for this entity.
4. Mark the CURRENT CA as OLD and the NEW CA as 4. Mark the CURRENT CA as OLD and the NEW CA as
CURRENT. CURRENT.
5. The CURRENT CA to generate subordinate certificates 5. The CURRENT CA will generate new certificates for
for all existing subordinate CA and EE products, all existing subordinate CA and EE certificates,
and publish those products in the same repository and publish those products in the same repository
publication point and with the same repository publication point and with the same repository
publication point name as the previous OLD publication point name as the previous OLD
subordinate CA and EE products. subordinate CA and EE certificates. The keys in
these reissued certificates MUST not change.
6. The new subordinate EE certificates will need to 6. Where the signing structure uses a packaging format
re-sign the objects signed by the OLD EE that includes the EE certificate within the signed
certificate, and publish these objects in the same data, signed objects that included OLD EE
repository publication point and the same certificates in their signed data will need to be
repository publication point name as the previous re-signed using an EE certificate issued by the
OLD signed objects. CURRENT CA. In the case where the OLD EE
certificate is a "single use" EE certificate and
the associate private key has been destroyed this
will entail the generate of a new key pair, the
issuing of an EE certificate by the CURRENT CA. In
the case of a "multi-use" EE certificate, the EE
certificate should issued using the CURRENT CA.
The object, together with the issued EE
certificate, should be signed with the associated
private key, and published in the same repository
publication point, using the same repository
publication point name, as the previously signed
object that it replaces (i.e. overwrite the old
signed object).
7. Generate a certificate revocation request for the 7. Generate a certificate revocation request for the
OLD CA certificate and pass it to the entity's OLD CA certificate and pass it to the entity's
issuer. issuer.
8. Remove all published OLD CA products and destroy 8. Remove all published OLD CA products and destroy
the OLD keypair. the OLD private key.
Name Uniqueness: Name Uniqueness:
This profile specifies that subject names must be unique per This profile specifies that subject names must be unique per
issuer, and does not specify that subject names must be issuer, and does not specify that subject names must be
globally unique. globally unique.
Given that the Resource Certificate PKI is a distributed PKI, Given that the Resource Certificate PKI is a distributed PKI,
there is no inherent ability for Cartification authorities to there is no inherent ability for Certification authorities to
coordinate PKI-wide unique subject names. Hierarchically coordinate PKI-wide unique subject names. IANA and the RIRs
structured subject names probably should not incorporate the SHOULD use multi-attribute, structured Subject names in their
use superior CA issuer names due to the issue of forced RPKI certificates. All other entities (NIRs, LIRs, etc.) MUST
reissuance of subordinate products in the event of a re-keying be issued certificates in which the Subject name contains a
of a superior CA, as the practical implementation of a re-key single relative distinguished name, consisting of a CommonName
operation is a change of CA. However, as the publication attribute. This restriction is motivated by the need to change
repository is distributed, and distinct entities use distinct the names of these CAs when key rollover occurs, and to
repository publication points any potential ambiguity is minimize liability for issuers in the RPKI. Also, as the
resolved by the distinct publication point. publication repository is distributed, and distinct entities
use distinct repository publication points any potential
ambiguity is resolved by the distinct publication point.
8. Security Considerations 8. Security Considerations
The Security Considerations of [RFC5280] 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
skipping to change at page 33, line 11 skipping to change at page 32, line 48
[RFC5280] Cooper, D., Santesson, S., Farrell, S., Boeyen, S., [RFC5280] Cooper, D., Santesson, S., Farrell, S., Boeyen, S.,
Housley, R., and W. Polk, "Internet X.509 Public Key Housley, R., and W. Polk, "Internet X.509 Public Key
Infrastructure Certificate and Certificate Revocation List Infrastructure Certificate and Certificate Revocation List
(CRL) Profile", RFC 5280, May 2008. (CRL) Profile", RFC 5280, May 2008.
[X.509] ITU-T, "Recommendation X.509: The Directory - [X.509] ITU-T, "Recommendation X.509: The Directory -
Authentication Framework", 2000. Authentication Framework", 2000.
11.2. Informative References 11.2. Informative References
[ID.SIDR-MANIFESTS] [ID.sidr-arch]
Lepinski, M. and S. Kent, "An Infrastructure to Support
Secure Internet Routing", Work in progress: Internet
Drafts draft-ietf-sidr-arch-03.txt, February 2008.
[ID.sidr-manifests]
Austein, R., Huston, G., Kent, S., and M. Lepinski, Austein, R., Huston, G., Kent, S., and M. Lepinski,
"Manifests for the Resource Public Key Infrastructure", "Manifests for the Resource Public Key Infrastructure",
Work in progress: Internet Work in progress: Internet
Drafts draft-ietf-sidr-rpki-manifests-00.txt, Drafts draft-ietf-sidr-rpki-manifests-00.txt,
January 2008. 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.
skipping to change at page 41, line 9 skipping to change at page 41, line 9
SigningTime ::= Time SigningTime ::= Time
Time ::= CHOICE { Time ::= CHOICE {
utcTime UTCTime, utcTime UTCTime,
generalizedTime GeneralizedTime } generalizedTime GeneralizedTime }
The Time element specifies the time, based on The Time element specifies the time, based on
the local system clock, at which the digital the local system clock, at which the digital
signature was applied to the content. signature was applied to the content.
BinarySigningTime Attribute BinarySigningTime Attribute
The The BinarySigningTime attribute MAY be The BinarySigningTime attribute MAY be present.
present. If it is present it MUST be ignored by If it is present it MUST be ignored by the
the relying party. The presence of absence of relying party. The presence of absence of the
the BinarySigningTime attribute in no way BinarySigningTime attribute in no way affects
affects the validation of the RTA. The attrType the validation of the RTA. The attrType OID for
OID for the SigningTime attribute is the SigningTime attribute is
1.2.840.113549.1.9.16.2.46. 1.2.840.113549.1.9.16.2.46.
The attrValues for the SigningTime attribute is The attrValues for the SigningTime attribute is
defined as: defined as:
BinarySigningTime ::= BinaryTime BinarySigningTime ::= BinaryTime
BinaryTime ::= INTEGER (0..MAX) BinaryTime ::= INTEGER (0..MAX)
The BinaryTime element specifies the time, based The BinaryTime element specifies the time, based
skipping to change at page 42, line 14 skipping to change at page 42, line 14
a. The contentType of the CMS object is SignedData (OID a. The contentType of the CMS object is SignedData (OID
1.2.840.113549.1.7.2). 1.2.840.113549.1.7.2).
b. The version of the SignedData object is 3. b. The version of the SignedData object is 3.
c. The digestAlgorithm in the SignedData object is SHA-256 c. The digestAlgorithm in the SignedData object is SHA-256
(OID 2.16.840.1.101.3.4.2.1). (OID 2.16.840.1.101.3.4.2.1).
d. The certificates field in the SignedData object is present d. The certificates field in the SignedData object is present
and contains an EE certificate whose Subject Key and contains a single EE certificate whose Subject Key
Identifier (SKI) matches the sid field of the SignerInfo Identifier (SKI) matches the sid field of the SignerInfo
object. object.
e. The crls field in the SignedData object is omitted. e. The crls field in the SignedData object is omitted.
f. The eContentType in the EncapsulatedContentInfo is id-ct- f. The eContentType in the EncapsulatedContentInfo is id-ct-
RPKITrustAnchor (OID 1.2.840.113549.1.9.16.1.[TBD]) RPKITrustAnchor (OID 1.2.840.113549.1.9.16.1.[TBD])
g. The version of the SignerInfo is 3. g. The version of the SignerInfo is 3.
 End of changes. 109 change blocks. 
341 lines changed or deleted 338 lines changed or added

This html diff was produced by rfcdiff 1.35. The latest version is available from http://tools.ietf.org/tools/rfcdiff/