| < draft-ietf-sidr-ta-06.txt | draft-ietf-sidr-ta-07.txt > | |||
|---|---|---|---|---|
| SIDR G. Huston | SIDR G. Huston | |||
| Internet-Draft APNIC | Internet-Draft APNIC | |||
| Intended status: Standards Track S. Weiler | Intended status: Standards Track S. Weiler | |||
| Expires: May 12, 2011 SPARTA, Inc. | Expires: October 15, 2011 SPARTA, Inc. | |||
| G. Michaelson | G. Michaelson | |||
| APNIC | APNIC | |||
| S. Kent | S. Kent | |||
| BBN | BBN | |||
| November 8, 2010 | April 13, 2011 | |||
| Resource Certificate PKI (RPKI) Trust Anchor Locator | Resource Certificate PKI (RPKI) Trust Anchor Locator | |||
| draft-ietf-sidr-ta-06 | draft-ietf-sidr-ta-07 | |||
| Abstract | Abstract | |||
| This document defines a Trust Anchor Locator (TAL) for the Resource | This document defines a Trust Anchor Locator (TAL) for the Resource | |||
| Certificate Public Key Infrastructure (RPKI). | Certificate Public Key Infrastructure (RPKI). | |||
| Status of this Memo | Status of this Memo | |||
| This Internet-Draft is submitted in full conformance with the | This Internet-Draft is submitted in full conformance with the | |||
| provisions of BCP 78 and BCP 79. | provisions of BCP 78 and BCP 79. | |||
| skipping to change at page 1, line 36 ¶ | skipping to change at page 1, line 36 ¶ | |||
| Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
| Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
| working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
| Drafts is at http://datatracker.ietf.org/drafts/current/. | Drafts is at http://datatracker.ietf.org/drafts/current/. | |||
| 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." | |||
| This Internet-Draft will expire on May 11, 2011. | This Internet-Draft will expire on October 15, 2011. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2010 IETF Trust and the persons identified as the | Copyright (c) 2011 IETF Trust and the persons identified as the | |||
| document authors. All rights reserved. | document authors. All rights reserved. | |||
| This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
| Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
| (http://trustee.ietf.org/license-info) in effect on the date of | (http://trustee.ietf.org/license-info) in effect on the date of | |||
| publication of this document. Please review these documents | publication of this document. Please review these documents | |||
| carefully, as they describe your rights and restrictions with respect | carefully, as they describe your rights and restrictions with respect | |||
| to this document. Code Components extracted from this document must | to this document. Code Components extracted from this document must | |||
| include Simplified BSD License text as described in Section 4.e of | include Simplified BSD License text as described in Section 4.e of | |||
| the Trust Legal Provisions and are provided without warranty as | the Trust Legal Provisions and are provided without warranty as | |||
| skipping to change at page 2, line 19 ¶ | skipping to change at page 2, line 19 ¶ | |||
| 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 2. Trust Anchor Locator . . . . . . . . . . . . . . . . . . . . . 3 | 2. Trust Anchor Locator . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 2.1. Trust Anchor Locator Format . . . . . . . . . . . . . . . . 3 | 2.1. Trust Anchor Locator Format . . . . . . . . . . . . . . . . 3 | |||
| 2.2. TAL and Trust Anchor Certificate Considerations . . . . . . 4 | 2.2. TAL and Trust Anchor Certificate Considerations . . . . . . 4 | |||
| 2.3. Example . . . . . . . . . . . . . . . . . . . . . . . . . . 5 | 2.3. Example . . . . . . . . . . . . . . . . . . . . . . . . . . 5 | |||
| 3. Relying Party Use . . . . . . . . . . . . . . . . . . . . . . . 5 | 3. Relying Party Use . . . . . . . . . . . . . . . . . . . . . . . 5 | |||
| 4. Security Considerations . . . . . . . . . . . . . . . . . . . . 6 | 4. Security Considerations . . . . . . . . . . . . . . . . . . . . 6 | |||
| 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 6 | 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 6 | |||
| 6. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . 6 | 6. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . 6 | |||
| 7. References . . . . . . . . . . . . . . . . . . . . . . . . . . 6 | 7. References . . . . . . . . . . . . . . . . . . . . . . . . . . 7 | |||
| 7.1. Normative References . . . . . . . . . . . . . . . . . . . 6 | 7.1. Normative References . . . . . . . . . . . . . . . . . . . 7 | |||
| 7.2. Informative References . . . . . . . . . . . . . . . . . . 7 | 7.2. Informative References . . . . . . . . . . . . . . . . . . 7 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 7 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 8 | |||
| 1. Introduction | 1. Introduction | |||
| This document defines a Trust Anchor Locator (TAL) for the Resource | This document defines a Trust Anchor Locator (TAL) for the Resource | |||
| Certificate Public Key Infrastructure (RPKI) [ID.sidr-arch]. This | Certificate Public Key Infrastructure (RPKI) [ID.sidr-arch]. This | |||
| format may be used to distribute trust anchor material using a mix of | format may be used to distribute trust anchor material using a mix of | |||
| out-of-band and online means. Procedures used by relying parties | out-of-band and online means. Procedures used by relying parties | |||
| (RPs) to verify RPKI signed objects SHOULD support this format to | (RPs) to verify RPKI signed objects SHOULD support this format to | |||
| facilitate interoperability between creators of Trust Anchor (TA) | facilitate interoperability between creators of Trust Anchor (TA) | |||
| material and RPs. | material and RPs. | |||
| skipping to change at page 3, line 26 ¶ | skipping to change at page 3, line 26 ¶ | |||
| The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
| "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | |||
| document are to be interpreted as described in RFC 2119. | document are to be interpreted as described in RFC 2119. | |||
| 2. Trust Anchor Locator | 2. Trust Anchor Locator | |||
| 2.1. Trust Anchor Locator Format | 2.1. Trust Anchor Locator Format | |||
| This document does not propose a new format for TA material. A TA in | This document does not propose a new format for TA material. A TA in | |||
| the RPKI TA is represented by a self-signed X.509 CA certificate, a | the RPKI is represented by a self-signed X.509 CA certificate, a | |||
| format commonly used in PKIs and widely supported by RP software. | format commonly used in PKIs and widely supported by RP software. | |||
| This document specifies a format for data used to retrieve and verify | This document specifies a format for data used to retrieve and verify | |||
| the authenticity of a TA, in a very simple fashion. That data is | the authenticity of a TA, in a very simple fashion. That data is | |||
| referred to as "Trust Anchor Locator" (TAL). | referred to as "Trust Anchor Locator" (TAL). | |||
| The motivation for defining the TAL is to enable selected data in the | The motivation for defining the TAL is to enable selected data in the | |||
| trust anchor to change, without needing to effect re-distribution of | trust anchor to change, without needing to effect re-distribution of | |||
| the trust anchor per se. In the RPKI, certificates contain | the trust anchor per se. In the RPKI, certificates contain | |||
| extensions that represent Internet Number Resources (INRs) [RFC3779]. | extensions that represent Internet Number Resources (INRs) [RFC3779]. | |||
| The set of INRs associated with an entity likely will change over | The set of INRs associated with an entity likely will change over | |||
| skipping to change at page 4, line 7 ¶ | skipping to change at page 4, line 7 ¶ | |||
| a PKIX standard [RFC5914]. That standard could be used to represent | a PKIX standard [RFC5914]. That standard could be used to represent | |||
| the TAL, if one defined an rsync URI extension for that data | the TAL, if one defined an rsync URI extension for that data | |||
| structure. However, the TAL format was adopted by RPKI implementors | structure. However, the TAL format was adopted by RPKI implementors | |||
| prior to the PKIX TA work, and the RPKI implementer community has | prior to the PKIX TA work, and the RPKI implementer community has | |||
| elected to utilize the TAL format, rather than define the requisite | elected to utilize the TAL format, rather than define the requisite | |||
| extension. The community also prefers the simplicity of the ASCII | extension. The community also prefers the simplicity of the ASCII | |||
| encoding of the TAL, vs. the binary (ASN.1) encoding for | encoding of the TAL, vs. the binary (ASN.1) encoding for | |||
| TrustAnchorInfo. | TrustAnchorInfo. | |||
| The TAL is an ordered sequence of a rsync URI [RFC5781], and a base | The TAL is an ordered sequence of a rsync URI [RFC5781], and a base | |||
| 64-encoded, DER-encoded X.509 [X.509] subjectPublicKeyInfo [RFC5280]. | 64-encoding with URL and filename safe alphabet [RFC4648], DER- | |||
| The sequence separator is an ASCII line break sequence, namely the CR | encoded X.509 [X.509] subjectPublicKeyInfo [RFC5280]. The sequence | |||
| LF character pair. The CR character is OPTIONAL. | separator is an ASCII line break sequence, namely the CR LF character | |||
| pair. The CR character is OPTIONAL. | ||||
| 2.2. TAL and Trust Anchor Certificate Considerations | 2.2. TAL and Trust Anchor Certificate Considerations | |||
| The rsync URI in the TAL MUST reference a single object. It MUST NOT | The rsync URI in the TAL MUST reference a single object. It MUST NOT | |||
| reference a directory or any other form of collection of objects. | reference a directory or any other form of collection of objects. | |||
| The referenced object MUST be a self-signed CA certificate that | The referenced object MUST be a self-signed CA certificate that | |||
| conforms to the RPKI certificate profile [ID.sidr-res-certs]. This | conforms to the RPKI certificate profile [ID.sidr-res-certs]. This | |||
| certificate is the trust anchor in certification path discovery | certificate is the trust anchor in certification path discovery | |||
| [RFC4158] and validation [RFC5280][RFC3779]. | [RFC4158] and validation [RFC5280][RFC3779]. | |||
| skipping to change at page 4, line 42 ¶ | skipping to change at page 4, line 43 ¶ | |||
| The public key used to verify the trust anchor MUST be the same as | The public key used to verify the trust anchor MUST be the same as | |||
| the subjectPublicKeyInfo in the CA certificate and in the TAL. | the subjectPublicKeyInfo in the CA certificate and in the TAL. | |||
| The trust anchor MUST contain a stable key. This key MUST NOT change | The trust anchor MUST contain a stable key. This key MUST NOT change | |||
| when the certificate is reissued due to changes in the INR | when the certificate is reissued due to changes in the INR | |||
| extension(s), when the certificate is renewed prior to expiration or | extension(s), when the certificate is renewed prior to expiration or | |||
| for any reason other than a key change. | for any reason other than a key change. | |||
| Because the public key in the TAL and the trust anchor MUST be | Because the public key in the TAL and the trust anchor MUST be | |||
| stable, this motivates operation of that CA in an off-line mode. | stable, this motivates operation of that CA in an off-line mode. | |||
| Thusthe entity that issues the trust anchor SHOULD issue a | Thus the entity that issues the trust anchor SHOULD issue a | |||
| subordinate CA certificate that contains the same INRs (via the use | subordinate CA certificate that contains the same INRs (via the use | |||
| of the "inherit" option in the INR extensions of the subordinate | of the "inherit" option in the INR extensions of the subordinate | |||
| certificate). This allows the entity that issues the trust anchor to | certificate). This allows the entity that issues the trust anchor to | |||
| keep the corresponding private key of this certificate off-line, | keep the corresponding private key of this certificate off-line, | |||
| while issuing all relevant child certificates under the immediate | while issuing all relevant child certificates under the immediate | |||
| subordinate CA. This measure also allows the CRL issued by that | subordinate CA. This measure also allows the CRL issued by that | |||
| entity to be used revoke the subordinate (CA) certificate in the | entity to be used to revoke the subordinate (CA) certificate in the | |||
| event of suspected key compromise of this potentially more vulnerable | event of suspected key compromise of this potentially more vulnerable | |||
| online operational key pair. | online operational key pair. | |||
| The trust anchor MUST be published at a stable URI. When the trust | The trust anchor MUST be published at a stable URI. When the trust | |||
| anchor is re-issued for any reason, the replacement CA certificate | anchor is re-issued for any reason, the replacement CA certificate | |||
| MUST be accessible using the same URI. | MUST be accessible using the same URI. | |||
| Becuase the trust anchor is a self-signed certificate, there is no | Becuase the trust anchor is a self-signed certificate, there is no | |||
| corresponding Certificate Revocation List that can be used to revoke | corresponding Certificate Revocation List that can be used to revoke | |||
| it, nor is there a manifest [ID.sidr-rpki-manifests] that lists this | it, nor is there a manifest [ID.sidr-rpki-manifests] that lists this | |||
| skipping to change at page 5, line 44 ¶ | skipping to change at page 5, line 45 ¶ | |||
| 1. Retrieve the object referenced by the URI contained in the TAL. | 1. Retrieve the object referenced by the URI contained in the TAL. | |||
| 2. Confirm that the retrieved object is a current, self-signed RPKI | 2. Confirm that the retrieved object is a current, self-signed RPKI | |||
| CA certificate that conforms to the profile as specified in | CA certificate that conforms to the profile as specified in | |||
| [ID.sidr-res-certs]. | [ID.sidr-res-certs]. | |||
| 3. Confirm that the public key in the TAL matches the public key in | 3. Confirm that the public key in the TAL matches the public key in | |||
| the retrieved object. | the retrieved object. | |||
| 4. Perform other checks, as deem appropriate (locally), to ensure | 4. Perform other checks, as deemed appropriate (locally), to ensure | |||
| that the RP is willing to accept the entity publishing this self- | that the RP is willing to accept the entity publishing this self- | |||
| signed CA certificate to be a trust anchor, relating to the | signed CA certificate to be a trust anchor, relating to the | |||
| validity oof attestations made in the context of the RPKI | validity of attestations made in the context of the RPKI | |||
| (relating to all resources described in the INR extension of this | (relating to all resources described in the INR extension of this | |||
| certificate). | certificate). | |||
| An RP SHOULD perform these functions for each instance of TAL that it | An RP SHOULD perform these functions for each instance of TAL that it | |||
| is holding for this purpose every time the RP performs a re- | is holding for this purpose every time the RP performs a re- | |||
| synchronization across the local repository cache. In any case, an | synchronization across the local repository cache. In any case, an | |||
| RP also SHOULD perform these functions prior to the expiration of the | RP also SHOULD perform these functions prior to the expiration of the | |||
| locally cached copy of the retrieved trust anchor referenced by the | locally cached copy of the retrieved trust anchor referenced by the | |||
| TAL. | TAL. | |||
| skipping to change at page 6, line 43 ¶ | skipping to change at page 7, line 4 ¶ | |||
| 6. Acknowledgments | 6. Acknowledgments | |||
| This approach to TA material was originally described by Robert | This approach to TA material was originally described by Robert | |||
| Kisteleki. | Kisteleki. | |||
| The authors acknowledge the contributions of Rob Austein and Randy | The authors acknowledge the contributions of Rob Austein and Randy | |||
| Bush, who assisted with earlier versions of this document and with | Bush, who assisted with earlier versions of this document and with | |||
| helpful review comments. | helpful review comments. | |||
| 7. References | 7. References | |||
| 7.1. Normative References | 7.1. Normative References | |||
| [ID.sidr-res-certs] | [ID.sidr-res-certs] | |||
| Huston, G., Michaelson, G., and R. Loomans, "A Profile for | Huston, G., Michaelson, G., and R. Loomans, "A Profile for | |||
| X.509 PKIX Resource Certificates", Work in progress: | X.509 PKIX Resource Certificates", Work in progress: | |||
| Internet Drafts draft-ietf-sidr-res-certs-17.txt, | Internet Drafts draft-ietf-sidr-res-certs-17.txt, | |||
| September 2009. | September 2009. | |||
| [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. | |||
| [RFC4648] Josefsson, S., "The Base16, Base32, and Base64 Data | ||||
| Encodings", RFC 4648, October 2006. | ||||
| [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. | |||
| [RFC5781] Weiler, S., Ward, D., and R. Housley, "The rsync URI | [RFC5781] Weiler, S., Ward, D., and R. Housley, "The rsync URI | |||
| Scheme", RFC 5781, February 2010. | Scheme", RFC 5781, February 2010. | |||
| [X.509] ITU-T, "Recommendation X.509: The Directory - | [X.509] ITU-T, "Recommendation X.509: The Directory - | |||
| Authentication Framework", 2000. | Authentication Framework", 2000. | |||
| End of changes. 15 change blocks. | ||||
| 17 lines changed or deleted | 20 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||