Network Working Group M. Reynolds Internet-Draft BBN Updates: [ID.sidr-res-certs] S. Turner Intended Status: Standards Track IECA Expires: January 26, 2012 July 26, 2011 A Profile for BGPSEC Router Certificates, Certificate Revocation Lists, and Certification Requests draft-turner-sidr-bgpsec-pki-profiles-00 Abstract This document defines a standard profile for X.509 certificates for the purposes of supporting validation of Autonomous System (AS) paths in the Border Gateway Protocol (BGP), as part of an extension to that protocol known as BGPSEC. BGP is a critical component for the proper operation of the Internet as a whole. The BGPSEC protocol is under development as a component to address the requirement to provide security for the BGP protocol. The goal of BGPSEC is to design a protocol for full AS path validation based on the use of strong cryptographic primitives. The end-entity (EE) certificates specified by this profile are issued under Resource Public Key Infrastructure (RPKI) Certification Authority (CA) certificates, containing the AS number extension, to routers within the Autonomous System (AS). The certificate asserts that the router(s) holding the private key are authorized to send out secure route advertisements on behalf of the specified AS. This document also profiles the Certificate Revocation List (CRL), profiles the format of certification requests, and specifies Relying Party certificate path validation procedures. The document extends the RPKI; therefore, this documents updates the RPKI Resource Certificates Profile (draft-ietf-sidr-res-certs). Status of this Memo This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at http://datatracker.ietf.org/drafts/current/. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." Reynolds & Turner Expires January 26, 2012 [Page 1] Internet-Draft BGPSEC Router Certificate Profile July 26, 2011 This Internet-Draft will expire on January 26, 2012. Copyright Notice Copyright (c) 2011 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. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3 2. Describing Resources in Certificates . . . . . . . . . . . . . 4 3. BGPSEC Router Certificate Fields . . . . . . . . . . . . . . . 5 3.1. Version . . . . . . . . . . . . . . . . . . . . . . . . . 5 3.2. Serial Number . . . . . . . . . . . . . . . . . . . . . . 5 3.3. Signature Algorithm . . . . . . . . . . . . . . . . . . . 5 3.4. Issuer . . . . . . . . . . . . . . . . . . . . . . . . . . 5 3.5. Subject . . . . . . . . . . . . . . . . . . . . . . . . . 5 3.6. Validity . . . . . . . . . . . . . . . . . . . . . . . . . 6 3.7. Subject Public Key Info . . . . . . . . . . . . . . . . . 6 3.8. BGPSEC Router Certificate Version 3 Extension Fields . . . 6 3.8.1. Basic Constraints . . . . . . . . . . . . . . . . . . 6 3.8.2. Subject Key Identifier . . . . . . . . . . . . . . . . 6 3.8.3. Authority Key Identifier . . . . . . . . . . . . . . . 6 3.8.4. Key Usage . . . . . . . . . . . . . . . . . . . . . . 6 3.8.5. Extended Key Usage . . . . . . . . . . . . . . . . . . 7 3.8.6. CRL Distribution Points . . . . . . . . . . . . . . . 7 3.8.7. Authority Information Access . . . . . . . . . . . . . 7 3.8.8. Subject Information Access . . . . . . . . . . . . . . 7 3.8.9. Certificate Policies . . . . . . . . . . . . . . . . . 7 3.8.10. IP Resources . . . . . . . . . . . . . . . . . . . . 7 3.8.11. AS Resources . . . . . . . . . . . . . . . . . . . . 7 4. BGPSEC Router Certificate Revocation List Profile . . . . . . 8 5. BGPSEC Router Certificate Request Profile . . . . . . . . . . 8 6. BGPSEC Router Certificate Validation . . . . . . . . . . . . . 8 7. Design Notes . . . . . . . . . . . . . . . . . . . . . . . . . 9 8. Security Considerations . . . . . . . . . . . . . . . . . . . 9 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9 Reynolds & Turner Expires January 26, 2012 [Page 2] Internet-Draft BGPSEC Router Certificate Profile July 26, 2011 10. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 9 11. Normative References . . . . . . . . . . . . . . . . . . . . 9 11.1. Normative References . . . . . . . . . . . . . . . . . . 10 11.2. Informative References . . . . . . . . . . . . . . . . . 10 Appendix A. Example BGPSEC Router Certificate . . . . . . . . . . 11 Appendix B. Example Certificate Revocation Lis . . . . . . . . . 11 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 11 1. Introduction This document defines a profile for X.509 end-entity (EE) certificates [RFC5280] for use in the context of certification of Autonomous System (AS) paths in the Border Gateway Protocol Security (BGPSEC) protocol. Such certificates are termed "BGPSEC Router Certificates". The holder of the private key associated with a BGPSEC Router Certificate is authorized to send secure route advertisements (BGPSEC UPDATEs) on behalf of the AS named in the certificate. That is, a router holding the private key may send to its BGP peers, route advertisements that contain the specified AS number as the last item in the AS PATH attribute. A key property that BGPSEC will provide is that every AS along the AS PATH can verify that the other ASes along the path have authorized the advertisement of the given route (to the next AS along the AS PATH). This document is a profile of [ID.sidr-res-cert-profile], which is a profile of [RFC5280], and it updates [ID.sidr-res-cert-profile]. It establishes requirements imposed on a Resource Certificate that is used as a BGPSEC Router Certificate, i.e., it defines constraints for certificate fields and extensions for the certificate to be valid in this context. This document also profiles the Certificate Revocation List (CRL) and certification requests. Finally, this document specifies the Relying Party (RP) certificate path validation procedures. 1.1. Terminology It is assumed that the reader is familiar with the terms and concepts described in "A Profile for X.509 PKIX Resource Certificates" [ID.sidr-res-cert-profile], "BGPSEC Protocol Specification" [ID.sidr- bgpsec-protocol], "A Border Gateway Protocol 4 (BGP-4)" [RFC4271], "BGP Security Vulnerabilities Analysis" [RFC4272], "Considerations in Validating the Path in BGP" [RFC5123], and "Capability Advertisement with BGP-4" [RFC5492]. The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", Reynolds & Turner Expires January 26, 2012 [Page 3] Internet-Draft BGPSEC Router Certificate Profile July 26, 2011 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119]. 2. Describing Resources in Certificates Figure 1 depicts some of the entities in the RPKI and some of the products generated by RPKI entities. IANA issues a Certification Authority (CA) to a Regional Internet Registries (RIR). The RIR, in turn, issues a CA certificate to an Internet Service Providers (ISP). The ISP in turn issues End-Entity (EE) Certificates to itself as well as CRLs. The EE Certificates are referred to as "Resource Certificates", and are profiled in [ID.sidr-res-cert-profile]. The [ID.sidr-arch] envisioned using Resource Certificates to generate Manifests [ID.sidr-rpki-manifests] and Route Origin Authorizations (ROAs) [ID.sidr-rpki-roa-format]. ROAs and Manifests also include the Resource Certificates used to sign them. +---------+ +------+ | CA Cert |---| IANA | +---------+ +------+ \ +---------+ +-----+ | CA Cert |---| RIR | +---------+ +-----+ \ +---------+ +-----+ | CA Cert |---| ISP | +---------+ +-----+ / | | | +-----+ / | | | +-----+ | CRL |--+ | | +---| ROA | +-----+ | | +-----+ | | +----------+ +----+ | +---| Manifest | +-| EE |---+ +----------+ | +----+ +-----+ Figure 1 This document defines another type of Resource Certificate, which is referred to as a "BGPSEC Router Certificate". The purpose of this certificate is explained in Section 1 and falls within the scope of appropriate uses defined within [ID.sidr-cp]. The issuance of BGPSEC Router Certificates has minimal impact on RPKI CAs because the RPKI CA certificate and CRL profile remain unchanged (i.e., they are as specified in [ID.sidr-res-cert-profile]). Further, the algorithms Reynolds & Turner Expires January 26, 2012 [Page 4] Internet-Draft BGPSEC Router Certificate Profile July 26, 2011 used to generate RPKI CA certificates that issue the BGPSEC Router Certificates and the CRLs necessary to check the validity of the BGPSEC Router Certificates remain unchanged (i.e., they are as specified in [ID.sidr-rpki-algs]). The only impact is that the RPKI CAs will need to be able to process a profiled certificate request (see Section 5) signed with algorithms found in [ID.sidr-bgpsec- algs]. The use of BGPSEC Router Certificates in no way affects RPKI RPs that process Manifests and ROAs because the public key found in the BGPSEC Router Certificate is only ever used to verify the signature on the BGPSEC certificate request (only CAs process these), another BGPSEC Router Certificate (only BGPSEC routers process these), and the signature on a BGPSEC Update Message [ID.sidr-bgpsec- protocol] (only BGPSEC routers process these). 3. BGPSEC Router Certificate Fields A BGPSEC Router Certificate is a valid X.509 public key certificate, consistent with the PKIX profile [RFC5280] and [ID.sidr-res-cert- profile], containing the fields listed in this section. Unless specifically noted as being OPTIONAL, all the fields listed here MUST be present, and any other field MUST NOT appear in a conforming BGPSEC Router Certificate. If a field value is specified here, this value MUST be used in conforming BGPSEC Router Certificates. For any BGPSEC Router Certificate field that is the same as in the [ID.sidr- res-cert-profile] profile, this document will cite the corresponding section in that document. 3.1. Version Refer to section 4.1 of [ID.sidr-res-cert-profile]. 3.2. Serial Number Refer to section 4.2 of [ID.sidr-res-cert-profile]. 3.3. Signature Algorithm Refer to section 4.3 of [ID.sidr-res-cert-profile]. 3.4. Issuer Refer to section 4.4 of [ID.sidr-res-cert-profile]. 3.5. Subject This field identifies the router to which the certificate has been issued. Consistent with [ID.sidr-res-cert-profile], only two attributes are allowed in the Subject field: common name and serial Reynolds & Turner Expires January 26, 2012 [Page 5] Internet-Draft BGPSEC Router Certificate Profile July 26, 2011 number. Moreover, the only common name encoding options that are supported are printableString and UTF8String. For BGPSEC Router Certificates, it is RECOMMENDED that the common name attribute contain the literal string "ROUTER-" followed by the 32-bit AS Number [RFC3779] encoded as eight hexadecimal digits and that the serial number attribute contain the 32-bit BGP Identifier [RFC4271] (i.e., the router ID) encoded as eight hexadecimal digits. If the same certificate is issued to more than one router (hence the private key is shared among these routers), the choice of the router ID used in this name is at the discretion of the Issuer. Note that router IDs are not guaranteed to be unique across the Internet, and thus the Subject name in a BGPSEC Router Certificate issued using this convention also is not guaranteed to be unique across different issuers. However, each certificate issued by an individual CA MUST contain a Subject name that is unique within that context. 3.6. Validity Refer to section 4.6 of [ID.sidr-res-cert-profile]. 3.7. Subject Public Key Info Refer to section 3.1 of [ID.sidr-bgpsec-algs]. 3.8. BGPSEC Router Certificate Version 3 Extension Fields The following X.509 V3 extensions MUST be present (or MUST be absent, if so stated) in a conforming BGPSEC Router Certificate, except where explicitly noted otherwise. No other extensions are allowed in a conforming BGPSEC Router Certificate. 3.8.1. Basic Constraints BGPSEC Routers are EEs; therefore, the basic constraints extension MUST NOT be present, as per section 4.8.1 of [ID.sidr-res-cert- profile]. 3.8.2. Subject Key Identifier Refer to section 4.8.2 of [ID.sidr-res-cert-profile]. 3.8.3. Authority Key Identifier Refer to section 4.8.3 of [ID.sidr-res-cert-profile]. 3.8.4. Key Usage BGPSEC Routers are EEs; therefore, the digitalSignature bit MUST be Reynolds & Turner Expires January 26, 2012 [Page 6] Internet-Draft BGPSEC Router Certificate Profile July 26, 2011 set to TRUE, and it MUST be the only bit set to TRUE, as per 4.8.4 of [ID.sidr-res-cert-profile]. 3.8.5. Extended Key Usage BGPSEC Router Certificates MUST include the Extended Key Usage (EKU) extension. As specified, in [ID.sidr-res-cert-profile] this extension MUST be marked as non-critical. This document defines one EKU for BGPSEC Router Certificates: id-kp OBJECT IDENTIFIER ::= { iso(1) identified-organization(3) dod(6) internet(1) security(5) mechanisms(5) pkix(7) TBD } id-kp-bgpsec-router OBJECT IDENTIFIER ::= { id-kp TBD } Relying Parties MUST require the extended key usage extension to be present in a BGPSEC Router Certificate. If multiple KeyPurposeId values are included, the relying parties need not recognize all of them, as long as the required KeyPurposeId value is present. BGPSEC RPs MUST reject certificates that do not contain the BGPSEC Router Certificate even if they include the anyExtendedKeyUsage OID defined in [RFC5280]. 3.8.6. CRL Distribution Points Refer to section 4.8.6 of [ID.sidr-res-cert-profile]. 3.8.7. Authority Information Access Refer to section 4.8.7 of [ID.sidr-res-cert-profile]. 3.8.8. Subject Information Access This extension is not used in BGPSEC Router Certificates. It MUST be omitted. 3.8.9. Certificate Policies Refer to section 4.8.9 of [ID.sidr-res-cert-profile]. 3.8.10. IP Resources This extension is not used in BGPSEC Router Certificates. It MUST be omitted. 3.8.11. AS Resources Reynolds & Turner Expires January 26, 2012 [Page 7] Internet-Draft BGPSEC Router Certificate Profile July 26, 2011 BGPSEC Router Certificates MUST include the AS Resource extension, refer to section 4.8.11 of [ID.sidr-res-cert-profile]. The only differences between this profile and [ID.sidr-res-cert-profile] are: o The AS Resource extension MUST include exactly one AS number; and, o The "inherit" element MUST NOT be specified. 4. BGPSEC Router Certificate Revocation List Profile BGPSEC Router Certificates are just another type of EE certificate issued by an RPKI CA. Therefore, there are no distinguishing features for the CRLs on which they appear. Refer to section 5 of [ID.sidr- res-cert-profile] for a complete description of the profile for these CRLs. NOTE: The RPKI CA uses the algorithms from [ID.sidr-rpki-algs] to sign CRLs. This signature algorithm is currently different that the signature algorithm found in [ID.sidr-bgpsec-algs]. This may change in the future. 5. BGPSEC Router Certificate Request Profile Refer to section 6 of [ID.sidr-res-cert-profile]. The only differences between this profile as that in [ID.sidr-res-cert- profile] are: o The ExtendedKeyUsage extension request MUST be included and the CA MUST honor the request; o The SubjectPublicKeyInfo and PublicKey fields are specified in [ID.sidr-bgpsec-algs]; and, o The request is signed with the algorithms specified in [ID.sidr- bgpsec-algs]. 6. BGPSEC Router Certificate Validation The validation procedure used for BGPSEC Router Certificates is identical to the validation procedure described in Section 7 of [ID.sidr-res-cert-profile] except that where "this specification" refers to [ID.sidr-res-cert-profile] in that profile in this profile "this specification" is this document. NOTE: The differences between the EE profiles are as follows: o BGPSEC Router Certificates always include the BGPSEC EKU defined in Section 3.9.5. Reynolds & Turner Expires January 26, 2012 [Page 8] Internet-Draft BGPSEC Router Certificate Profile July 26, 2011 o BGPSEC Router Certificates never include the SIA extension. o BGPSEC Router Certificates never include the IP Resource extension. o BGPSEC Router Certificates always include the AS Resource extension. An additional requirement is that the sole AS number resource in the BGPSEC Router Certificate MUST match the last AS number in the AS path information of each BGP UPDATE message. While this restriction is not part of BGPSEC Router Certificate validation per se, it is part of the operational validation of UPDATEs performed by the router [ID.sidr-bgpsec-protocol]. 7. Design Notes The BGPSEC Router Certificate profile is based on the Resource Certificate profile as specified in [ID.sidr-res-cert-profile]. As a result, many of the design choices herein are a reflection of the design choices that were taken in that prior work. The reader is referred to [ID.sidr-res-cert-profile] for a fuller discussion of those choices. 8. Security Considerations The Security Considerations of [ID.sidr-res-cert-profile] apply. A BGPSEC Router Certificate is an extension of the RPKI [ID.sidr- arch] to encompass routers. It is a building block of the larger BGPSEC security protocol used to validate signatures on BGPSEC Signature-Segment origination of Signed-Path segments [ID.sidr- bgpsec-protocol]. Thus its essential security function is the secure binding of an AS number to a public key, consistent with the RPKI allocation/assignment hierarchy. 9. IANA Considerations None. 10. Acknowledgements The efforts of Steve Kent and Matt Lepinski were instrumental in preparing this work. Additionally, we'd like to thank Roque Gagliano for his helpful suggestion about including an EKU. 11. Normative References Reynolds & Turner Expires January 26, 2012 [Page 9] Internet-Draft BGPSEC Router Certificate Profile July 26, 2011 11.1. Normative References [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [RFC3779] Lynn, C., Kent, S., and K. Seo, "X.509 Extensions for IP Addresses and AS Identifiers", RFC 3779, June 2004. [RFC4271] Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A Border Gateway Protocol 4 (BGP-4)", RFC 4271, January 2006. [RFC5280] Cooper, D., Santesson, S., Farrell, S., Boeyen, S., Housley, R., and W. Polk, "Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile", RFC 5280, May 2008. [ID.sidr-res-cert-profile] Huston, G., Michaelson, G., and R. Loomans, "A Profile for X.509 PKIX Resource Certificates", draft-ietf-sidr-res-certs, work-in-progress. [ID.sidr-rpki-algs] Huston, G., "The Profile for Algorithms and Key Sizes for use in the Resource Public Key Infrastructure", draft-ietf-sidr-rpki-algs, work-in-progress. [ID.sidr-bgpsec-algs] Reynolds, M. and S. Turner, "BGP Algorithms, Key Formats, & Signature Formats", draft-turner-sidr- bgpsec-algs, work-in-progress. 11.2. Informative References [RFC4272] Murphy, S., "BGP Security Vulnerabilities Analysis", RFC 4272, January 2006. [RFC5123] White, R. and B. Akyol, "Considerations in Validating the Path in BGP", RFC 5123, February 2008. [RFC5492] Scudder, J. and R. Chandra, "Capabilities Advertisement with BGP-4", RFC 5492, February 2009. [ID.sidr-cp] Kent, S., Kong, D., Seo, K., and R., Watro, "Certificate Policy (CP) for the Resource PKI (RPKI)", draft-ietf-sidr-cp, work-in-progress. [ID.sidr-arch] Lepinski, M. and S. Kent, "An Infrastructure to Support Secure Internet Routing", draft-ietf-sidr-arch, work-in-progress. [ID.sidr-rpki-roa-format] Lepinski, M., Kent, S., and D. Kong, "A Reynolds & Turner Expires January 26, 2012 [Page 10] Internet-Draft BGPSEC Router Certificate Profile July 26, 2011 Profile for Route Origin Authorizations (ROAs)", draft- ietf-sidr-roa-format, work-in-progress [ID.sidr-rpki-manifests] Austein, R., Huston, G., Kent, S., and M. Lepinski, "Manifests for the Resource Public Key Infrastructure", draft-ietf-sidr-rpki-manifests, work-in- progress. [ID.sidr-bgpsec-protocol] Lepinksi, M., "BGPSEC Protocol Specification", draft-ietf-sidr-bgpsec-protocol, work-in- progress. Appendix A. Example BGPSEC Router Certificate Appendix B. Example Certificate Revocation Lis Authors' Addresses Mark Reynolds Raytheon BBN Technologies Corp. 10 Moulton St. Cambridge, MA 02138 Email: mreynold@bbn.com Sean Turner IECA, Inc. 3057 Nutley Street, Suite 106 Fairfax, VA 22031 USA EMail: turners@ieca.com Reynolds & Turner Expires January 26, 2012 [Page 11]