draft-ietf-sidr-res-certs-15.txt   draft-ietf-sidr-res-certs-16.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: May 21, 2009 APNIC Expires: August 30, 2009 APNIC
November 17, 2008 February 26, 2009
A Profile for X.509 PKIX Resource Certificates A Profile for X.509 PKIX Resource Certificates
draft-ietf-sidr-res-certs-15 draft-ietf-sidr-res-certs-16
Status of this Memo Status of this Memo
By submitting this Internet-Draft, each author represents that any This Internet-Draft is submitted to IETF in full conformance with the
applicable patent or other IPR claims of which he or she is aware provisions of BCP 78 and BCP 79.
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.
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
other groups may also distribute working documents as Internet- other groups may also distribute working documents as Internet-
Drafts. Drafts.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
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 May 21, 2009. This Internet-Draft will expire on August 30, 2009.
Copyright Notice
Copyright (c) 2009 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document.
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 . . . . . . . . . . . . . . . . . . . 7 3.3. Signature Algorithm . . . . . . . . . . . . . . . . . . . 6
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
3.9.5. CRL Distribution Points . . . . . . . . . . . . . . . 10 3.9.5. Extended Key Usage . . . . . . . . . . . . . . . . . . 10
3.9.6. Authority Information Access . . . . . . . . . . . . . 11 3.9.6. CRL Distribution Points . . . . . . . . . . . . . . . 10
3.9.7. Subject Information Access . . . . . . . . . . . . . . 11 3.9.7. Authority Information Access . . . . . . . . . . . . . 11
3.9.8. Certificate Policies . . . . . . . . . . . . . . . . . 13 3.9.8. Subject Information Access . . . . . . . . . . . . . . 12
3.9.9. IP Resources . . . . . . . . . . . . . . . . . . . . . 13 3.9.9. Certificate Policies . . . . . . . . . . . . . . . . . 13
3.9.10. AS Resources . . . . . . . . . . . . . . . . . . . . . 13 3.9.10. IP Resources . . . . . . . . . . . . . . . . . . . . . 13
3.9.11. AS Resources . . . . . . . . . . . . . . . . . . . . . 14
4. Resource Certificate Revocation List Profile . . . . . . . . . 14 4. Resource Certificate Revocation List Profile . . . . . . . . . 14
4.1. Version . . . . . . . . . . . . . . . . . . . . . . . . . 14 4.1. Version . . . . . . . . . . . . . . . . . . . . . . . . . 14
4.2. Issuer Name . . . . . . . . . . . . . . . . . . . . . . . 14 4.2. Issuer Name . . . . . . . . . . . . . . . . . . . . . . . 15
4.3. This Update . . . . . . . . . . . . . . . . . . . . . . . 14 4.3. This Update . . . . . . . . . . . . . . . . . . . . . . . 15
4.4. Next Update . . . . . . . . . . . . . . . . . . . . . . . 14 4.4. Next Update . . . . . . . . . . . . . . . . . . . . . . . 15
4.5. Signature . . . . . . . . . . . . . . . . . . . . . . . . 15 4.5. Signature . . . . . . . . . . . . . . . . . . . . . . . . 15
4.6. Revoked Certificate List . . . . . . . . . . . . . . . . . 15 4.6. Revoked Certificate List . . . . . . . . . . . . . . . . . 15
4.6.1. Serial Number . . . . . . . . . . . . . . . . . . . . 15 4.6.1. Serial Number . . . . . . . . . . . . . . . . . . . . 15
4.6.2. Revocation Date . . . . . . . . . . . . . . . . . . . 15 4.6.2. Revocation Date . . . . . . . . . . . . . . . . . . . 15
4.7. CRL Extensions . . . . . . . . . . . . . . . . . . . . . . 15 4.7. CRL Extensions . . . . . . . . . . . . . . . . . . . . . . 16
4.7.1. Authority Key Identifier . . . . . . . . . . . . . . . 15 4.7.1. Authority Key Identifier . . . . . . . . . . . . . . . 16
4.7.2. CRL Number . . . . . . . . . . . . . . . . . . . . . . 16 4.7.2. CRL Number . . . . . . . . . . . . . . . . . . . . . . 16
5. Resource Certificate Request Profile . . . . . . . . . . . . . 16 5. Resource Certificate Request Profile . . . . . . . . . . . . . 16
5.1. PCKS#10 Profile . . . . . . . . . . . . . . . . . . . . . 16 5.1. PCKS#10 Profile . . . . . . . . . . . . . . . . . . . . . 16
5.1.1. PKCS#10 Resource Certificate Request Template 5.1.1. PKCS#10 Resource Certificate Request Template
Fields . . . . . . . . . . . . . . . . . . . . . . . . 16 Fields . . . . . . . . . . . . . . . . . . . . . . . . 17
5.2. CRMF Profile . . . . . . . . . . . . . . . . . . . . . . . 17 5.2. CRMF Profile . . . . . . . . . . . . . . . . . . . . . . . 18
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 . . . . . . . . . . . . . . . 22
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 7. Design Notes . . . . . . . . . . . . . . . . . . . . . . . . . 25
6.3.1. Distribution Format of Default Trust Anchor 8. Security Considerations . . . . . . . . . . . . . . . . . . . 28
Material . . . . . . . . . . . . . . . . . . . . . . . 25 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 29
7. Design Notes . . . . . . . . . . . . . . . . . . . . . . . . . 28 10. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 29
8. Security Considerations . . . . . . . . . . . . . . . . . . . 31 11. References . . . . . . . . . . . . . . . . . . . . . . . . . . 29
9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 32 11.1. Normative References . . . . . . . . . . . . . . . . . . . 29
10. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 32 11.2. Informative References . . . . . . . . . . . . . . . . . . 30
11. References . . . . . . . . . . . . . . . . . . . . . . . . . . 32 Appendix A. Example Resource Certificate . . . . . . . . . . . . 30
11.1. Normative References . . . . . . . . . . . . . . . . . . . 32 Appendix B. Example Certificate Revocation List . . . . . . . . . 32
11.2. Informative References . . . . . . . . . . . . . . . . . . 33 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 34
Appendix A. Example Resource Certificate . . . . . . . . . . . . 33
Appendix B. Example Certificate Revocation List . . . . . . . . . 36
Appendix C. Cryptographic Message Syntax Profile for RPKI
Trust Anchor Material . . . . . . . . . . . . . . . . 37
C.1. Signed-Data ContentType . . . . . . . . . . . . . . . . . 37
C.1.1. encapContentInfo . . . . . . . . . . . . . . . . . . . 38
C.1.2. signerInfos . . . . . . . . . . . . . . . . . . . . . 39
C.2. RTA Validation . . . . . . . . . . . . . . . . . . . . . . 41
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 42
Intellectual Property and Copyright Statements . . . . . . . . . . 44
1. Introduction 1. Introduction
This document defines a standard profile for X.509 certificates This document defines a standard profile for X.509 certificates
[X.509] for use in the context of certification of IP Addresses and [X.509] for use in the context of certification of IP Addresses and
AS Numbers. Such certificates are termed here "Resource AS Numbers. Such certificates are termed here "Resource
Certificates." Resource Certificates are X.509 certificates that Certificates." Resource Certificates are X.509 certificates that
conform to the PKIX profile [RFC5280], and also conform to the conform to the PKIX profile [RFC5280], and also conform to the
constraints specified in this profile. Resource Certificates attest constraints specified in this profile. Resource Certificates attest
that the issuer has granted the subject a "right-of-use" for a listed that the issuer has granted the subject a "right-of-use" for a listed
skipping to change at page 4, line 51 skipping to change at page 4, line 51
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. Validation therefore logically corresponds to certificate chain. Validation therefore logically corresponds to
validation of an associated set of assignment or allocation actions validation of an associated set of assignment or allocation actions
of IP number resources. 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 unauthorized 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.
skipping to change at page 7, line 16 skipping to change at page 7, line 9
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 default 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 distinguished
Conventions are imposed on Issuer names used in resource name. Conventions are imposed on Issuer names used in resource
certificates, as described in [ID.sidr-arch]. 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.
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
As noted above, conventions are imposed on Subject names used in distinguished name. As noted above, conventions are imposed on
resource certificates, as described in [ID.sidr-arch]. 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 public In this context "distinct" is defined as an entity and a given public
key. An issuer SHOULD use 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.
3.6. Valid From 3.6. Valid From
skipping to change at page 8, line 5 skipping to change at page 7, line 48
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. Relying Parties should not attempt to infer from this certificate. Relying Parties should not attempt to infer from this
time information a certificate was valid at a time in the past, or time information a certificate was valid at a time in the past, or
will be valid at a time in the future, as the validity of a will be valid at a time in the future, as the scope of a relying
certificate refers to validity at the current time. party's test of validity of a certificate refers specifically 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
skipping to change at page 10, line 19 skipping to change at page 10, line 17
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 Certification Authorities only the In certificates issued to Certification Authorities only the
keyCertSign and CRLSign bits are set to TRUE and these MUST be the keyCertSign and CRLSign bits are set to TRUE and these MUST be the
only bits set to TRUE. only bits set to TRUE.
In end-entity certificates the digitalSignature bit MUST be set to In end-entity certificates the digitalSignature bit MUST be set to
TRUE and 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. Extended Key Usage
The Extended Key Usage Extension indicates one or more purposes for
which the public key in a certificate may be used. The uses are
specified via a SEQUENCE of one or more object identifiers (OIDs).
The EKU extension MUST NOT appear in any Certification Authority
certificate in the RPKI. This extension also MUST NOT appear in end
entity certificates used to verify RPKI objects such as ROAs or
manifests.
The EKU extension MAY appear in end entity certificates issued to
routers or other devices. The extension MUST NOT be marked critical.
Permitted values for the EKU OIDs will be specified in Standards
Track RFCs issued by other IETF working groups that adopt the RPKI
profile and that identify application-specific requirements that
motivate the use of such EKUs.
3.9.6. 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 field MUST be omitted, and the implying at the CRLIssuer field MUST be omitted, and the
distributionPoint field MUST be present. The Reasons field MUST be distributionPoint field MUST be present. The Reasons field MUST be
skipping to change at page 11, line 5 skipping to change at page 11, line 16
DistributionPointName set. The DistributionPointName set MAY contain DistributionPointName set. The DistributionPointName set MAY contain
more than one URI value. An RSYNC URI MUST be present in the more than one URI value. An RSYNC URI MUST be present in the
DistributionPointName set, and reference the most recent instance of DistributionPointName set, and reference the most recent instance of
this issuer's certificate revocation list. Other access form URIs this issuer's certificate revocation list. Other access form URIs
MAY be used in addition to the RSYNC URI. MAY be used in addition to the RSYNC URI.
This extension MUST be present and it is non-critical. 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.7. Authority Information Access
This extension (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
skipping to change at page 11, line 40 skipping to change at page 12, line 5
to the same subject in the publication repository, and use the same to the same subject in the publication repository, and use the same
publication name as previously issued certificates. In this way publication name as previously issued certificates. In this way
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.8. Subject Information Access
This extension (SIA) identifies the location of information and This extension (SIA) identifies the location of information and
services relating to the subject of the certificate in which the SIA services relating to the subject of the certificate in which the SIA
extension appears. Where the Subject is a CA in this profile, this extension appears. Where the Subject is a CA in this profile, this
information and service collection will include all current valid information and service collection will include all current valid
certificates that have been issued by this subject that are signed certificates that have been issued by this subject that are signed
with the 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
skipping to change at page 13, line 20 skipping to change at page 13, line 33
of id-ad-rpkiManifest, where the associated accessLocation refers to of id-ad-rpkiManifest, where the associated accessLocation refers to
the EE's published manifest object as an object URL. the EE's published manifest object as an object URL.
When an EE certificate is used to verify a single published object, When an EE certificate is used to verify a single published object,
the EE certificate MUST include in the SIA an accessMethod OID of id- the EE certificate MUST include in the SIA an accessMethod OID of id-
ad-signedObject, where the associated accessLocation refers to the ad-signedObject, where the associated accessLocation refers to the
publication point of the single object that is verified using this EE publication point of the single object that is verified using this EE
certificate. In this case, the SIA MUST NOT include the accessMethod certificate. In this case, the SIA MUST NOT include the accessMethod
OID of id-ad-rpkiManifest. OID of id-ad-rpkiManifest.
3.9.8. Certificate Policies 3.9.9. 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.
No PolicyQualifiers are defined for use with this policy and thus No PolicyQualifiers are defined for use with this policy and thus
none must be included in this extension. 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.10. IP Resources
This extension 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 Either the IP Resources extension, or the AS Resources extension, or
both, MUST be present in all RPKI certificates.
3.9.11. AS Resources
This extension contains the list of AS number resources as per This extension contains the list of AS number resources as per
[RFC3779], or may specify the "inherit" element. RDI values are NOT [RFC3779], or may specify the "inherit" element. RDI values are NOT
supported in this profile and MUST NOT be used. All Resource supported in this profile and MUST NOT be used. All Resource
Certificates MUST include an IP Resources extension, an AS Resources Certificates MUST include an IP Resources extension, an AS Resources
extension, or both extensions. extension, or both extensions.
This extension, if present, MUST be marked critical. This extension, if present, MUST be marked critical.
Either the IP Resources extension, or the AS Resources extension, or
both, MUST be present in all RPKI certificates.
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, as required in [RFC5280]. validity period, as required in [RFC5280].
skipping to change at page 19, line 16 skipping to change at page 19, line 39
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.
5.2.2. Resource Certificate Request Control Fields 5.2.2. Resource Certificate Request Control Fields
The following control fields are supported in this profile: The following control fields are supported in this profile:
Authenticator Control Authenticator Control
It is noted that the intended model of authentication of the It is noted that the intended model of authentication of the
subject is a long term one, and the advice as offered in subject is a "long term" model, and the advice as offered in
[RFC4211] is that the Authenticator Control field be used. [RFC4211] is that the Authenticator Control field be used.
5.3. Certificate Extension Attributes in Certificate Requests 5.3. Certificate Extension Attributes in Certificate Requests
The following extensions MAY appear in a PKCS#10 or CRMF Certificate The following extensions MAY appear in a PKCS#10 or CRMF Certificate
Request. Any other extensions MUST NOT appear in a Certificate Request. Any other extensions MUST NOT appear in a Certificate
Request. This profile places the following additional constraints on Request. This profile places the following additional constraints on
these extensions.: these extensions.:
BasicConstraints BasicConstraints
skipping to change at page 20, line 14 skipping to change at page 20, line 36
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.
ExtendedKeyUsage
The CA MAY honor ExtendedKeyUsage extensions of keyCertSign and
cRLSign if present, as long as this is consistent with the
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 honored by the CA. If the CA is not able field value SHOULD be honored by the CA. If the CA is not able
to honor the requested field value, then the CA MUST reject the to honor the requested field value, then the CA MUST 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.
skipping to change at page 22, line 6 skipping to change at page 22, line 36
6. Resource Certificate Validation 6. Resource Certificate Validation
This section describes the Resource Certificate validation procedure. This section describes the Resource Certificate validation procedure.
This refines the generic procedure described in section 6 of This refines the generic procedure described in section 6 of
[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'
the issuer of certificate x+1; is the issuer of certificate ('x' + 1);
2. certificate 1 is issued by a trust anchor (Note that a trust 2. certificate '1' is issued by a trust anchor ;
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}, certificate 'x' is valid.
6.1. Resource Extension Validation 6.1. Resource Extension Validation
The IP resource extension definition [RFC3779] defines a critical The IP Resources and AS Resources extensions definitions [RFC3779]
extensions for Internet number resources. These are ASN.1 encoded defines critical extensions for Internet number resources. These are
representations of the IPv4 and IPv6 address range (either as a ASN.1 encoded representations of the IPv4 and IPv6 address range
prefix/length, or start-end pair) and the AS number set. (either as a prefix/length, or start-end pair) and an AS number set.
Valid Resource Certificates MUST have a valid IP address and/or AS Valid Resource Certificates MUST have a valid IP address and/or AS
number resource extension. In order to validate a Resource number resource extension. In order to validate a Resource
Certificate the resource extension MUST also be validated. This Certificate the resource extension MUST also be validated. This
validation process relies on definitions of comparison of resource validation process relies on definitions of comparison of resource
sets: sets:
more specific more specific
Given two IP address or AS number contiguous ranges, A and B, A Given two IP address or AS number contiguous ranges, A and B, A
is "more specific" than B if range B includes all IP addresses is "more specific" than B if range B includes all IP addresses
skipping to change at page 23, line 6 skipping to change at page 23, line 33
to this "equality" comparison. to this "equality" comparison.
encompass encompass
Given two IP address and AS number sets X and Y, X Given two IP address and AS number sets X and Y, X
"encompasses" Y if, for every contiguous range of IP addresses "encompasses" Y if, for every contiguous range of IP addresses
or AS numbers elements in set Y, the range element is either or AS numbers elements in set Y, the range element is either
more specific than or equal to a contiguous range element more specific than or equal to a contiguous range element
within the set X. within the set X.
Validation of a certificate's resource extension in the context of an Validation of a certificate's resource extension in the context of an
ordered certificate sequence of {1,2, ... , n} where '1' is issued by ordered certificate sequence of {1,2, ... , n} where certificate '1'
a trust anchor and 'n' is the target certificate, and where the is issued by a trust anchor and certificate 'n' is the target
subject of certificate 'x' is the issuer of certificate 'x' + 1, certificate, and where the subject of certificate 'x' is the issuer
implies that the resources described in certificate 'x' "encompass" of certificate ('x' + 1), includes verification that that the
the resources described in certificate 'x' + 1, and the resources resources described in certificate 'x' "encompass" the resources
described in the trust anchor information "encompass" the resources described in certificate ('x' + 1), and the resources described in
described in certificate 1. the trust anchor information "encompass" the resources described in
certificate '1'.
6.2. Resource Certification Path Validation 6.2. Resource Certification Path Validation
Validation of signed resource data using a target resource Validation of signed resource data using a target resource
certificate consists of assembling an ordered sequence (or certificate consists of assembling an ordered sequence (or
'Certification Path') of certificates ({1,2,...n} where '1' is a 'Certification Path') of certificates ({1,2,...n} where '1' is a
certificate that has been issued by a trust anchor, and 'n' is the certificate that has been issued by a trust anchor, and 'n' is the
target certificate) verifying that all of the following conditions target certificate) verifying that all of the following conditions
hold: hold:
skipping to change at page 23, line 48 skipping to change at page 24, line 30
Certificate Revocation List, and the Certificate Revocation Certificate Revocation List, and the Certificate Revocation
List is itself valid. List is itself valid.
6. That the resource extension data is "encompassed" by the 6. That the resource extension data is "encompassed" by the
resource extension data contained in a valid certificate where resource extension data contained in a valid certificate where
this Issuer is the Subject (the previous certificate in the this Issuer is the Subject (the previous certificate in the
ordered sequence) ordered sequence)
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)
the Certification Path. in 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 synchronization across the maintained cache, maintained by a regular synchronization across the
distributed publication repository structure. distributed publication repository structure.
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 relying party. Some means of creating a potential DOS attack on a relying party. Some
further heuristics may be required to halt the certification path further heuristics may be required to halt the certification path
validation process in order to avoid some of the issues associated validation process in order to avoid some of the issues associated
with attempts to validate such structures. It is suggested that with attempts to validate such structures. It is suggested that
implementations of Resource Certificate validation MAY halt with a implementations of Resource Certificate validation MAY halt with a
validation failure if the certification path length exceeds a locally validation failure if the certification path length exceeds a locally
defined configuration parameter. defined configuration parameter.
6.3. Trust Anchors for Resource Certificates
The default trust model for the resource certificate PKI maps to the
extant public resource allocation system, comprised of IANA, RIRs,
NIRs (in some regions) and LIRs. This is a strict hierarchy, in that
any number resource and a corresponding recipient entity has only one
'parent' issuing registry for that resource. Moreover, the issuing
registry is not a direct or indirect subordinate recipient entity of
the recipient entity in question (i.e., there are no loops in the
model).
Nonetheless, as in any PKI, selection of one or more entities as
trust anchor is a task undertaken by each relying party. The
structure of the resource certificate profile admits the same variety
of trust models as PKIX (and X.509) standards. There is only one
additional caveat on the general applicability of trust models,
namely that in forming a validation path to a CA, the sequence of
resource certificates MUST preserve the resource extension validation
property, as described in Section 6.1. [RFC3779] establishes this
requirement for certificate path validation when the extensions
defined therein are employed. This poses a problem in the RPKI, as
explained below.
Based on experience, a top level resource certificate held by a
registry will change several times a year, in response to receipt of
additional resource allocations. This makes such certificates poor
candidates as trust anchors, since one usually views a trust anchor
as a long-lived set of data. Yet [RFC3779] requires that the trust
anchor used for validation of certificates contains resource
extensions MUST itself contain such extensions, and the extensions
must be a superset of extensions contained in subordinate
certificates in the path.
This observation motivates a two-tier trust anchor model for the
RPKI. The top tier trust anchor for each RIR (and IANA) will be a
self-signed certificate that contains no resource extensions. It is
a resource certificate as defined in this document, except for that
one omission. This certificate will be referred to as a "registry
root certificate" (RRC) or registry TA certificate. (Note that the
term "registry" here is not intended to preclude use of this
mechanism by other than the RIRs and the IANA.) Under this
certificate one EE certificate is issued; that certificate also
contains no resource extensions. The EE certificate is used to
validate a CMS signed object that contains a self-signed certificate
that itself contains resource extensions, and this self-signed
certificate acts as a TA for resource certificate path validation.
This latter certificate will be referred to as an RPKI TA
(certificate).
Both the registry TA and the RPKI TA will be represented as self-
signed certificates, consistent with the wide-spread convention that
is allowed (thought not mandated) by [RFC5280]. Following this
convention makes it easier to reuse existing PKI software (e.g.,
OpenSSL) to process this trust anchor material.
6.3.1. Distribution Format of Default Trust Anchor Material
In the RPKI, the certificate framework corresponds to the hierarchies
of the resource distribution function. In consideration of this, it
is reasonable to nominate to relying parties a default set of trust
anchor pairs (registry TA and RPKI TA) for the RPKI that correspond
to the entities who operate at the upper levels of the associated
resource allocation hierarchy. The corresponding nominated trust
anchor CA(s) should therefore map, in some fashion, to apex point(s)
of the hierarchical resource distribution structure.
The characteristics of a trust anchor framework for the RPKI includes
the following considerations:
* The entity or entities that issue proposed trust anchor
material for the RPKI should be as close as possible to the
apex of the associated resource distribution hierarchy.
* Such trust anchor material SHOULD be long-lived. As it can be
reasonably anticipated that default trust anchor material would
be distributed with relying party validation software, the
implication is that the distributed default trust anchor
material SHOULD remain constant for extended time intervals.
* It is a poor trust model when any entity that issues putative
trust anchor material claims to be authoritative for
information or actions of which the entity has no direct
knowledge, nor is in possession of a current definitive record
of such actions. Entities who propose themselves in a role of
a trust anchor issuer SHOULD be able to point to corroborative
material supporting the assertion that they are legitimate
authorities for the information for which they are representing
themselves as a trust anchor for relying parties.
An entity offering itself as a putative trust anchor for a part of
the RPKI is required to regularly publish an RPKI CA certificate at a
stable URL, and to publish at this URL trust anchor material, as
follows:
* The entity issues a registry root certificate (self-signed).
This certificate is used to bootstrap validation of an RPKI TA
(self-signed) certificate, as described below. The RPKI TA
certificate MUST meet all of the criteria established in
Section 3 of this document for a self-signed RPKI certificate.
This certificate MUST be reissued periodically, prior to its
expiration, and MUST be reissued upon any change in the
resource set that has been allocated to the entity operating
this CA. The validity interval of this certificate SHOULD
reflect the anticipated period of changes to the entity's
resource set .
* The entity maintains a trust anchor key pair that is distinct
from the key pair represented in the RPKI TA certificate noted
above.
* The entity issues a (self-signed) CA certificate that contains
no RFC 3779 extension. This is called the RPKI TA certificate.
This certificate MUST have the keyCertSign sign bit set in the
key usage extension, and the CA flag set in the basic
constraints extension, no AIA value and no CRLDP value. The
validity period of this certificate should be very long, as is
the norm for trust anchor material. The SIA of this
certificate references a publication point where the CRL and
the CMS structure defined below are published.
* The registry trust anchor issues an EE certificate (a registry
TA EE certificate) with a validity period identical to the
validity period of its RPKI TA certificate. This EE
certificate MUST have the digitalSignature bit set, and this
MUST be the only bit set to TRUE in the key usage extension.
There is no BasicConstraints extension in this certificate.
The validity period of this registry TA EE certificate SHOULD
be aligned to the validity period of the registry TA
certificate.
* The registry TA regularly issues a CRL. The CRL issuance cycle
SHOULD be shorter than the validity period for the RPKI TA
certificate.
* Each time an RPKI TA certificate is re-issued, or prior to the
expiration of the registry TA EE certificate, the registry
generates a Cryptographic Message Syntax (CMS) [RFC3852]
signed-data object, the payload of which is an RPKI TA
certificate. The object is CMS-signed with the private key
corresponding to the registry TA EE certificate. The registry
TA EE certificate is included as a CMS signed attribute in the
CMS object. The registry TA certificate and the associated CRL
are not to be included in the CMS object. The format of the
CMS object is specified in Appendix C. The CMS object is
published at the location referenced in the SIA of the TA CA
certificate.
* The entity publicly distributes the registry TA certificate as
its trust anchor material, in an out-of-band fashion, e.g., as
part of widely-distributed relying party software.
Relying Parties can assemble the default trust anchor collection by
using the registry TA certificate for each nominated trust anchor:
* The TA's CRL and CMS objects can be retrieved from the
publication point referenced by the SIA in the registry TA
certificate.
* The CRL can be verified against the registry TA certificate.
* The CMS signature can be verified using the included registry
TA EE certificate together with the retrieved CRL and the
(self-signed) TA certificate.
* The relying party can then load the enclosed RPKI TA CA
certificate as a trust anchor for validation fof those
resources described in the IP Resource extensions [RFC3779] of
this RPKI certificate.
Relying Parties SHOULD perform this retrieval and validation
operation at intervals no less frequent than the nextUpdate time of
the published TA CA CRL, and SHOULD perform the retrieval operation
prior to the expiration of the registry TA EE certificate, or upon
revocation of the registry TA EE certificate that is used to verify
the CMS object that holds the trust anchor's current RPKI TA CA
certificate.
If a trust anchor chooses to reissue its RPKI TA CA certificate
before the expiration of that certificate, it MUST perform the follow
actions: revise the nextUpdate time of the registry TA's CRL to
reflect the issue date for the new registry TA EE certificate, issue
a new registry TA EE certificate and a new CMS object with the new
RPKI TA CA certificate, and revoke the old TA EE certificate at the
nextUpdate time in the next issued CRL. This revocation will provide
an indication to relying parties to perform the retrieval operation
of the RPKI TA CA certificate at a time earlier than the 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:
skipping to change at page 29, line 15 skipping to change at page 25, line 49
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, the CA 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 to use a CommonName value that is unique
hash of the subject public key value into a character per subordinate entity, using an algorithm of the CA's
string for a CommonName that becomes the CA Subject Name. devising to ensure this uniqueness, and for the CA to
include the serial number field of the X.501
distinguished name structure, with a serial number value
that is derived from the hash of the subject public key
value. It should also be noted that conventions are
imposed on Subject names used in resource certificates,
as described in [ID.sidr-arch], and that any name scheme
should comply with these conventions.
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
certificates issued by this CA. Because the CA instance certificates issued by this CA. Because the CA instance
is bound to a single key pair this implies that the CA's is bound to a single key pair this implies that the CA's
public key, the key used to validate the CA's CRL, and public key, the key used to validate the CA's CRL, and
the key used to validate the certificates revoked by that the key used to validate the certificates revoked by that
CRL are all the same. CRL are all the same.
skipping to change at page 30, line 38 skipping to change at page 27, line 35
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 will generate new certificates for 5. The CURRENT CA will generate new certificates for
all existing subordinate CA and EE certificates, 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 certificates. The keys in subordinate CA and EE certificates. The keys in
these reissued certificates MUST not change. these reissued certificates must not change.
6. Where the signing structure uses a packaging format 6. Where the signing structure uses a packaging format
that includes the EE certificate within the signed that includes the EE certificate within the signed
data, signed objects that included OLD EE data, signed objects that included OLD EE
certificates in their signed data will need to be certificates in their signed data will need to be
re-signed using an EE certificate issued by the re-signed using an EE certificate issued by the
CURRENT CA. In the case where the OLD EE CURRENT CA. In the case where the OLD EE
certificate is a "single use" EE certificate and certificate is a "single use" EE certificate and
the associate private key has been destroyed this the associate private key has been destroyed this
will entail the generate of a new key pair, the will entail the generate of a new key pair, the
skipping to change at page 31, line 27 skipping to change at page 28, line 23
8. Remove all published OLD CA products and destroy 8. Remove all published OLD CA products and destroy
the OLD private key. 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 Certification authorities to there is no inherent ability for Certification authorities to
coordinate PKI-wide unique subject names. IANA and the RIRs coordinate PKI-wide unique subject names. CA's should use
SHOULD use multi-attribute, structured Subject names in their multi-attribute, structured Subject names in their RPKI
RPKI certificates. All other entities (NIRs, LIRs, etc.) MUST certificates. This advice is motivated by a desire to include
be issued certificates in which the Subject name contains a within this specification a CA's subject naming practice that
single relative distinguished name, consisting of a CommonName uses a distinguished name component that is constant for any
attribute. This restriction is motivated by the need to change given entity that is the subject of CA-issued certificates (the
the names of these CAs when key rollover occurs, and to CommonName component of the Distinguished Name), yet still
minimize liability for issuers in the RPKI. Also, as the ensure that the structures Subject name changes whenever
publication repository is distributed, and distinct entities subject key rollover occurs (the serial number component of the
use distinct repository publication points any potential Distinguished Name). Also, as the publication repository is
ambiguity is resolved by the distinct publication point. 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 32, line 16 skipping to change at page 29, line 15
9. IANA Considerations 9. IANA Considerations
[Note to IANA, to be removed prior to publication: there are no IANA [Note to IANA, to be removed prior to publication: there are no IANA
considerations stated in this document.] considerations stated in this document.]
10. Acknowledgements 10. Acknowledgements
The authors would like to particularly acknowledge the valued The authors would like to particularly acknowledge the valued
contribution from Stephen Kent in reviewing this document and contribution from Stephen Kent in reviewing this document and
proposing numerous sections of text that have been incorporated into proposing numerous sections of text that have been incorporated into
the text. The authors also acknowledge the contributions of Robert the text. The authors also acknowledge the contributions of Sandy
Kisteleki, Randy Bush, Russ Housley, Ricardo Patara and Rob Austein Murphy, Robert Kisteleki, Randy Bush, Russ Housley, Ricardo Patara
in the preparation and subsequent review of this document. The and Rob Austein in the preparation and subsequent review of this
document also reflects review comments received from Sean Turner and document. The document also reflects review comments received from
David Cooper. Roque Gagliano, Sean Turner and David Cooper.
11. References 11. References
11.1. Normative References 11.1. Normative References
[RFC0791] Postel, J., "Internet Protocol", STD 5, RFC 791, [RFC0791] Postel, J., "Internet Protocol", STD 5, RFC 791,
September 1981. September 1981.
[RFC2050] Hubbard, K., Kosters, M., Conrad, D., Karrenberg, D., and [RFC2050] Hubbard, K., Kosters, M., Conrad, D., Karrenberg, D., and
J. Postel, "INTERNET REGISTRY IP ALLOCATION GUIDELINES", J. Postel, "INTERNET REGISTRY IP ALLOCATION GUIDELINES",
BCP 12, RFC 2050, November 1996. BCP 12, RFC 2050, November 1996.
[RFC3779] Lynn, C., Kent, S., and K. Seo, "X.509 Extensions for IP [RFC3779] Lynn, C., Kent, S., and K. Seo, "X.509 Extensions for IP
Addresses and AS Identifiers", RFC 3779, June 2004. Addresses and AS Identifiers", RFC 3779, June 2004.
[RFC3852] Housley, R., "Cryptographic Message Syntax (CMS)",
RFC 3852, July 2004.
[RFC4055] Schaad, J., Kaliski, B., and R. Housley, "Additional [RFC4055] Schaad, J., Kaliski, B., and R. Housley, "Additional
Algorithms and Identifiers for RSA Cryptography for use in Algorithms and Identifiers for RSA Cryptography for use in
the Internet X.509 Public Key Infrastructure Certificate the Internet X.509 Public Key Infrastructure Certificate
and Certificate Revocation List (CRL) Profile", RFC 4055, and Certificate Revocation List (CRL) Profile", RFC 4055,
June 2005. June 2005.
[RFC4211] Schaad, J., "Internet X.509 Public Key Infrastructure [RFC4211] Schaad, J., "Internet X.509 Public Key Infrastructure
Certificate Request Message Format (CRMF)", RFC 4211, Certificate Request Message Format (CRMF)", RFC 4211,
September 2005. September 2005.
skipping to change at page 33, line 21 skipping to change at page 30, line 14
(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-arch] [ID.sidr-arch]
Lepinski, M. and S. Kent, "An Infrastructure to Support Lepinski, M. and S. Kent, "An Infrastructure to Support
Secure Internet Routing", Work in progress: Internet Secure Internet Routing", Work in progress: Internet
Drafts draft-ietf-sidr-arch-03.txt, February 2008. Drafts draft-ietf-sidr-arch-04.txt, November 2008.
[ID.sidr-manifests] [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-04.txt,
January 2008. October 2008.
[RFC2985] Nystrom, M. and B. Kaliski, "PKCS #9: Selected Object [RFC2985] Nystrom, M. and B. Kaliski, "PKCS #9: Selected Object
Classes and Attribute Types Version 2.0", RFC 2985, Classes and Attribute Types Version 2.0", RFC 2985,
November 2000. November 2000.
[RFC2986] Nystrom, M. and B. Kaliski, "PKCS #10: Certification [RFC2986] Nystrom, M. and B. Kaliski, "PKCS #10: Certification
Request Syntax Specification Version 1.7", RFC 2986, Request Syntax Specification Version 1.7", RFC 2986,
November 2000. November 2000.
[RFC4158] Cooper, M., Dzambasow, Y., Hesse, P., Joseph, S., and R. [RFC4158] Cooper, M., Dzambasow, Y., Hesse, P., Joseph, S., and R.
skipping to change at page 34, line 4 skipping to change at page 30, line 45
[rsync] Tridgell, A., "rsync", April 2006, [rsync] Tridgell, A., "rsync", April 2006,
<http://samba.anu.edu.au/rsync/>. <http://samba.anu.edu.au/rsync/>.
Appendix A. Example Resource Certificate Appendix A. Example Resource Certificate
The following is an example Resource Certificate. The following is an example Resource Certificate.
Certificate Name: 9JfgAEcq7Q-47IwMC5CJIJr6EJs.cer Certificate Name: 9JfgAEcq7Q-47IwMC5CJIJr6EJs.cer
Data: Data:
Version: 3 (0x2(
Version: 3 (0x2)
Serial: 1500 (0x5dc) Serial: 1500 (0x5dc)
Signature Algorithm: SHA256WithRSEEncryption Signature Algorithm: SHA256WithRSAEncryption
Issuer: CN=APNIC Production-CVPQSgUkLy7pOXdNeVWGvnFX_0s Issuer: CN=APNIC Production-CVPQSgUkLy7pOXdNeVWGvnFX_0s
Validity Validity
Not Before: Oct 25 12:50:00 2008 GMT Not Before: Oct 25 12:50:00 2008 GMT
Not After : Jan 31 00:00:00 2010 GMT Not After : Jan 31 00:00:00 2010 GMT
Subject: CN=A91872ED Subject: CN=A91872ED
Subject Public Key Info: Subject Public Key Info:
Public Key Algorithm: rsaEncryption Public Key Algorithm: rsaEncryption
RSA Public Key: (2048 bit) RSA Public Key: (2048 bit)
Modulus (2048 bit): Modulus (2048 bit):
00:bb:fb:4a:af:a4:b9:dc:d0:fa:6f:67:cc:27:39: 00:bb:fb:4a:af:a4:b9:dc:d0:fa:6f:67:cc:27:39:
skipping to change at page 35, line 23 skipping to change at page 32, line 17
Policy: 1.3.6.1.5.5.7.14.2 Policy: 1.3.6.1.5.5.7.14.2
Subject Information Access: Subject Information Access:
CA Repository - URI:rsync://rpki.apnic.net/mem CA Repository - URI:rsync://rpki.apnic.net/mem
ber_repository/A91872ED/06A83982887911DD81 ber_repository/A91872ED/06A83982887911DD81
3F432B2086D636/ 3F432B2086D636/
Manifest - URI:rsync://rpki.apnic.net/member_r Manifest - URI:rsync://rpki.apnic.net/member_r
epository/A91872ED/06A83982887911DD813F432 epository/A91872ED/06A83982887911DD813F432
B2086D636/9JfgAEcq7Q-47IwMC5CJIJr6EJs.mft B2086D636/9JfgAEcq7Q-47IwMC5CJIJr6EJs.mft
AutonomousSysNum: critical sbgp-autonomousSysNum: critical
Autonomous System Numbers: Autonomous System Numbers:
24021 24021
38610 38610
131072 131072
131074 131074
IPAddrBlock: critical sbgp-ipAddrBlock: critical
IPv4: IPv4:
203.133.248.0/22 203.133.248.0/22
203.147.108.0/23 203.147.108.0/23
Signature Algorithm: sha256WithRSAEncryption Signature Algorithm: sha256WithRSAEncryption
51:4c:77:e4:21:64:80:e9:35:30:20:9f:d8:4b:88:60:b8:1f: 51:4c:77:e4:21:64:80:e9:35:30:20:9f:d8:4b:88:60:b8:1f:
73:24:9d:b5:17:60:65:6a:28:cc:43:4b:68:97:ca:76:07:eb: 73:24:9d:b5:17:60:65:6a:28:cc:43:4b:68:97:ca:76:07:eb:
dc:bd:a2:08:3c:8c:56:38:c6:0a:1e:a8:af:f5:b9:42:02:6b: dc:bd:a2:08:3c:8c:56:38:c6:0a:1e:a8:af:f5:b9:42:02:6b:
77:e0:b1:1c:4a:88:e6:6f:b6:17:d3:59:41:d7:a0:62:86:59: 77:e0:b1:1c:4a:88:e6:6f:b6:17:d3:59:41:d7:a0:62:86:59:
29:79:26:76:34:d1:16:2d:75:05:cb:b2:99:bf:ca:c6:68:1b: 29:79:26:76:34:d1:16:2d:75:05:cb:b2:99:bf:ca:c6:68:1b:
skipping to change at page 37, line 5 skipping to change at page 34, line 5
d0:96:fc:54:b3:ba:80:4b:92:7f:85:54:76:c9:12: d0:96:fc:54:b3:ba:80:4b:92:7f:85:54:76:c9:12:
cb:32:ea:1d:12:7b:f8:f9:a2:5c:a1:b1:06:8e:d8: cb:32:ea:1d:12:7b:f8:f9:a2:5c:a1:b1:06:8e:d8:
c5:42:61:00:8c:f6:33:11:29:df:6e:b2:cc:c3:7c: c5:42:61:00:8c:f6:33:11:29:df:6e:b2:cc:c3:7c:
d3:f3:0c:8d:5c:49:a5:fb:49:fd:e7:c4:73:68:0a: d3:f3:0c:8d:5c:49:a5:fb:49:fd:e7:c4:73:68:0a:
09:0e:6d:68:a9:06:52:3a:36:4f:19:47:83:59:da: 09:0e:6d:68:a9:06:52:3a:36:4f:19:47:83:59:da:
02:5b:2a:d0:8a:7a:33:0a:d5:ce:be:b5:a2:7d:8d: 02:5b:2a:d0:8a:7a:33:0a:d5:ce:be:b5:a2:7d:8d:
59:a1:9d:ee:60:ce:77:3d:e1:86:9a:84:93:90:9f: 59:a1:9d:ee:60:ce:77:3d:e1:86:9a:84:93:90:9f:
34:a7:02:40:59:3a:a5:d1:18:fb:6f:fc:af:d4:02: 34:a7:02:40:59:3a:a5:d1:18:fb:6f:fc:af:d4:02:
d9 d9
Appendix C. Cryptographic Message Syntax Profile for RPKI Trust Anchor
Material
Using the Cryptographic Message Syntax (CMS) [RFC3852], a RPKI Trust
Anchor Object (RTA) is a type of signed-data object. The general
format of a CMS object is:
ContentInfo ::= SEQUENCE {
contentType ContentType,
content [0] EXPLICIT ANY DEFINED BY contentType }
ContentType ::= OBJECT IDENTIFIER
As a RTA is a signed-data object, it uses the corresponding OID,
1.2.840.113549.1.7.2. [RFC3852].
C.1. Signed-Data ContentType
According to the CMS specification, the signed-data content type
shall have ASN.1 type SignedData:
SignedData ::= SEQUENCE {
version CMSVersion,
digestAlgorithms DigestAlgorithmIdentifiers,
encapContentInfo EncapsulatedContentInfo,
certificates [0] IMPLICIT CertificateSet OPTIONAL,
crls [1] IMPLICIT RevocationInfoChoices OPTIONAL,
signerInfos SignerInfos }
DigestAlgorithmIdentifiers ::= SET OF DigestAlgorithmIdentifier
SignerInfos ::= SET OF SignerInfo
The elements of the signed-data content type are as follows:
version
The version is the syntax version number. It MUST be 3,
corresponding to the signerInfo structure having version
number 3.
digestAlgorithms
The digestAlgorithms set MUST include only SHA-256, the OID
for which is 2.16.840.1.101.3.4.2.1. [RFC4055]. It MUST
NOT contain any other algorithms.
encapContentInfo
This element is defined in Appendix C.1.1.
certificates
The certificates element MUST be included and MUST contain
only the single PKI EE certificate needed to validate this
CMS Object. The CertificateSet type is defined in section
10 of [RFC3852]
crls
The crls element MUST be omitted.
signerInfos
This element is defined in Appendix C.1.2.
C.1.1. encapContentInfo
encapContentInfo is the signed content, consisting of a content type
identifier and the content itself.
EncapsulatedContentInfo ::= SEQUENCE {
eContentType ContentType,
eContent [0] EXPLICIT OCTET STRING OPTIONAL }
ContentType ::= OBJECT IDENTIFIER
The elements of this signed content type are as follows:
eContentType
The ContentType for an RTA is defined as id-ct-
RPKITrustAnchor and has the numerical value of
1.2.840.113549.1.9.16.1.33.
id-smime OBJECT IDENTIFIER ::= { iso(1) member-body(2)
us(840) rsadsi(113549) pkcs(1) pkcs9(9) 16 }
id-ct OBJECT IDENTIFIER ::= { id-smime 1 }
id-ct-RPKITrustAnchor OBJECT IDENTIFIER ::= { id-ct 33 }
eContent
The content of an RTA is an RPKI self-signed CA certificate.
It is formally defined as:
id-ct-RPKITrustAnchor ::= Certificate
The definition of Certificate is taken from [X.509].
C.1.2. signerInfos
SignerInfo is defined under CMS as:
SignerInfo ::= SEQUENCE {
version CMSVersion,
sid SignerIdentifier,
digestAlgorithm DigestAlgorithmIdentifier,
signedAttrs [0] IMPLICIT SignedAttributes OPTIONAL,
signatureAlgorithm SignatureAlgorithmIdentifier,
signature SignatureValue,
unsignedAttrs [1] IMPLICIT UnsignedAttributes OPTIONAL }
The content of the SignerInfo element are as follows:
version
The version number MUST be 3, corresponding with the choice
of SubjectKeyIdentifier for the sid.
sid
The sid is defined as:
SignerIdentifier ::= CHOICE {
issuerAndSerialNumber IssuerAndSerialNumber,
subjectKeyIdentifier [0] SubjectKeyIdentifier }
For a RTA, the sid MUST be a SubjectKeyIdentifier.
digestAlgorithm
The digestAlgorithm MUST be SHA-256, the OID for which is
2.16.840.1.101.3.4.2.1. [RFC4055]
signedAttrs
The signedAttrs element is defined as:
SignedAttributes ::= SET SIZE (1..MAX) OF Attribute
Attribute ::= SEQUENCE {
attrType OBJECT IDENTIFIER,
attrValues SET OF AttributeValue }
AttributeValue ::= ANY
The signedAttr element MUST be present and MUST include the
content-type and message-digest attributes. The signer MAY
also include the signing-time signed attribute, the binary-
signing-time signed attribute, or both signed attributes.
Other signed attributes that are deemed appropriate MAY also
be included. The intent is to allow additional signed
attributes to be included if a future need is identified.
This does not cause an interoperability concern because
unrecognized signed attributes are ignored by the relying
party.
The signedAttr MUST include only a single instance of any
particular attribute. Additionally, even though the syntax
allows for a SET OF AttributeValue, in a RTA the attrValues
must consist of only a single AttributeValue.
ContentType Attribute
The ContentType attribute MUST be present. The
attrType OID for the ContentType attribute is
1.2.840.113549.1.9.3.
The attrValues for the ContentType attribute in
a RTA MUST be 1.2.840.113549.1.9.16.1.24
(matching the eContentType in the
EncapsulatedContentInfo).
MessageDigest Attribute
The MessageDigest attribute MUST be present.
The attrType OID for the MessageDigest Attribute
is 1.2.840.113549.1.9.4.
The attrValues for the MessageDigest attribute
contains the output of the digest algorithm
applied to the content being signed, as
specified in Section 11.1 of [RFC3852].
SigningTime Attribute
The SigningTime attribute MAY be present. If it
is present it MUST be ignored by the relying
party. The presence of absence of the
SigningTime attribute in no way affects the
validation of the RTA. The attrType OID for the
SigningTime attribute is 1.2.840.113549.1.9.5.
The attrValues for the SigningTime attribute is
defined as:
SigningTime ::= Time
Time ::= CHOICE {
utcTime UTCTime,
generalizedTime GeneralizedTime }
The Time element specifies the time, based on
the local system clock, at which the digital
signature was applied to the content.
BinarySigningTime Attribute
The BinarySigningTime attribute MAY be present.
If it is present it MUST be ignored by the
relying party. The presence of absence of the
BinarySigningTime attribute in no way affects
the validation of the RTA. The attrType OID for
the SigningTime attribute is
1.2.840.113549.1.9.16.2.46.
The attrValues for the SigningTime attribute is
defined as:
BinarySigningTime ::= BinaryTime
BinaryTime ::= INTEGER (0..MAX)
The BinaryTime element specifies the time, based
on the local system clock, at which the digital
signature was applied to the content.
signatureAlgorithm
The signatureAlgorithm MUST be RSA (rsaEncryption), the OID
for which is 1.2.840.113549.1.1.1.q
signature
The signature value is defined as:
SignatureValue ::= OCTET STRING
The signature characteristics are defined by the digest and
signature algorithms.
unsignedAttrs
unsignedAttrs MUST be omitted.
C.2. RTA Validation
Before a relying party can use an RTA, the relying party must first
validate the RTA by performing the following steps.
1. Verify that the RTA syntax complies with this specification.
In particular, verify the following:
a. The contentType of the CMS object is SignedData (OID
1.2.840.113549.1.7.2).
b. The version of the SignedData object is 3.
c. The digestAlgorithm in the SignedData object is SHA-256
(OID 2.16.840.1.101.3.4.2.1).
d. The certificates field in the SignedData object is present
and contains a single EE certificate whose Subject Key
Identifier (SKI) matches the sid field of the SignerInfo
object.
e. The crls field in the SignedData object is omitted.
f. The eContentType in the EncapsulatedContentInfo is id-ct-
RPKITrustAnchor (OID 1.2.840.113549.1.9.16.1.[TBD])
g. The version of the SignerInfo is 3.
h. The digestAlgorithm in the SignerInfo object is SHA-256
(OID 2.16.840.1.101.3.4.2.1).
i. The signatureAlgorithm in the SignerInfo object is RSA
(OID 1.2.840.113549.1.1.1).
j. The signedAttrs field in the SignerInfo object is present
and contains both the ContentType attribute (OID
1.2.840.113549.1.9.3) and the MessageDigest attribute (OID
1.2.840.113549.1.9.4).
k. The unsignedAttrs field in the SignerInfo object is
omitted.
2. Use the public key in the EE certificate to verify the
signature on the RTA.
3. Verify that the EE certificate is a valid end-entity
certificate in the Trust Anchor PKI by validating that the PKI
CA certificate issued this EE certificate, and the PKI CA's
CRL has not revoked the EE certificate, and that the PKI CA's
CRL is valid.
Authors' Addresses Authors' Addresses
Geoff Huston Geoff Huston
Asia Pacific Network Information Centre Asia Pacific Network Information Centre
Email: gih@apnic.net Email: gih@apnic.net
URI: http://www.apnic.net URI: http://www.apnic.net
George Michaelson George Michaelson
Asia Pacific Network Information Centre Asia Pacific Network Information Centre
Email: ggm@apnic.net Email: ggm@apnic.net
URI: http://www.apnic.net URI: http://www.apnic.net
Robert Loomans Robert Loomans
Asia Pacific Network Information Centre Asia Pacific Network Information Centre
Email: robertl@apnic.net Email: robertl@apnic.net
URI: http://www.apnic.net URI: http://www.apnic.net
Full Copyright Statement
Copyright (C) The IETF Trust (2008).
This document is subject to the rights, licenses and restrictions
contained in BCP 78, and except as set forth therein, the authors
retain all their rights.
This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND
THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF
THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Intellectual Property
The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights
might or might not be available; nor does it represent that it has
made any independent effort to identify any such rights. Information
on the procedures with respect to rights in RFC documents can be
found in BCP 78 and BCP 79.
Copies of IPR disclosures made to the IETF Secretariat and any
assurances of licenses to be made available, or the result of an
attempt made to obtain a general license or permission for the use of
such proprietary rights by implementers or users of this
specification can be obtained from the IETF on-line IPR repository at
http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights that may cover technology that may be required to implement
this standard. Please address the information to the IETF at
ietf-ipr@ietf.org.
 End of changes. 45 change blocks. 
582 lines changed or deleted 144 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/