idnits 2.17.1 draft-turner-sidr-bgpsec-pki-profiles-02.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (August 2, 2011) is 4648 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) -- Possible downref: Normative reference to a draft: ref. 'ID.turner-sidr-bgpsec-algs' Summary: 0 errors (**), 0 flaws (~~), 1 warning (==), 2 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group M. Reynolds 3 Internet-Draft BBN 4 Updates: [ID.sidr-res-cert-profile] S. Turner 5 Intended Status: Standards Track IECA 6 Expires: February 3, 2012 August 2, 2011 8 A Profile for BGPSEC Router Certificates, 9 Certificate Revocation Lists, and Certification Requests 10 draft-turner-sidr-bgpsec-pki-profiles-02 12 Abstract 14 This document defines a standard profile for X.509 certificates for 15 the purposes of supporting validation of Autonomous System (AS) paths 16 in the Border Gateway Protocol (BGP), as part of an extension to that 17 protocol known as BGPSEC. BGP is a critical component for the proper 18 operation of the Internet as a whole. The BGPSEC protocol is under 19 development as a component to address the requirement to provide 20 security for the BGP protocol. The goal of BGPSEC is to design a 21 protocol for full AS path validation based on the use of strong 22 cryptographic primitives. The end-entity (EE) certificates specified 23 by this profile are issued under Resource Public Key Infrastructure 24 (RPKI) Certification Authority (CA) certificates, containing the AS 25 number extension, to routers within the Autonomous System (AS). The 26 certificate asserts that the router(s) holding the private key are 27 authorized to send out secure route advertisements on behalf of the 28 specified AS. This document also profiles the Certificate Revocation 29 List (CRL), profiles the format of certification requests, and 30 specifies Relying Party certificate path validation procedures. The 31 document extends the RPKI; therefore, this documents updates the RPKI 32 Resource Certificates Profile (draft-ietf-sidr-res-cert-profile). 34 Status of this Memo 36 This Internet-Draft is submitted in full conformance with the 37 provisions of BCP 78 and BCP 79. 39 Internet-Drafts are working documents of the Internet Engineering 40 Task Force (IETF). Note that other groups may also distribute 41 working documents as Internet-Drafts. The list of current Internet- 42 Drafts is at http://datatracker.ietf.org/drafts/current/. 44 Internet-Drafts are draft documents valid for a maximum of six months 45 and may be updated, replaced, or obsoleted by other documents at any 46 time. It is inappropriate to use Internet-Drafts as reference 47 material or to cite them other than as "work in progress." 49 This Internet-Draft will expire on February 3, 2012. 51 Copyright Notice 53 Copyright (c) 2011 IETF Trust and the persons identified as the 54 document authors. All rights reserved. 56 This document is subject to BCP 78 and the IETF Trust's Legal 57 Provisions Relating to IETF Documents 58 (http://trustee.ietf.org/license-info) in effect on the date of 59 publication of this document. Please review these documents 60 carefully, as they describe your rights and restrictions with respect 61 to this document. Code Components extracted from this document must 62 include Simplified BSD License text as described in Section 4.e of 63 the Trust Legal Provisions and are provided without warranty as 64 described in the Simplified BSD License. 66 1. Introduction 68 This document defines a profile for X.509 end-entity (EE) 69 certificates [RFC5280] for use in the context of certification of 70 Autonomous System (AS) paths in the Border Gateway Protocol Security 71 (BGPSEC) protocol. Such certificates are termed "BGPSEC Router 72 Certificates". The holder of the private key associated with a 73 BGPSEC Router Certificate is authorized to send secure route 74 advertisements (BGPSEC UPDATEs) on behalf of the AS named in the 75 certificate. That is, a router holding the private key may send to 76 its BGP peers, route advertisements that contain the specified AS 77 number as the last item in the AS PATH attribute. A key property 78 that BGPSEC will provide is that every AS along the AS PATH can 79 verify that the other ASes along the path have authorized the 80 advertisement of the given route (to the next AS along the AS PATH). 82 This document is a profile of [ID.sidr-res-cert-profile], which is a 83 profile of [RFC5280], and it updates [ID.sidr-res-cert-profile]. It 84 establishes requirements imposed on a Resource Certificate that is 85 used as a BGPSEC Router Certificate, i.e., it defines constraints for 86 certificate fields and extensions for the certificate to be valid in 87 this context. This document also profiles the Certificate Revocation 88 List (CRL) and certification requests. Finally, this document 89 specifies the Relying Party (RP) certificate path validation 90 procedures. 92 1.1. Terminology 94 It is assumed that the reader is familiar with the terms and concepts 95 described in "A Profile for X.509 PKIX Resource Certificates" 96 [ID.sidr-res-cert-profile], "BGPSEC Protocol Specification" [ID.sidr- 97 bgpsec-protocol], "A Border Gateway Protocol 4 (BGP-4)" [RFC4271], 98 "BGP Security Vulnerabilities Analysis" [RFC4272], "Considerations in 99 Validating the Path in BGP" [RFC5123], and "Capability Advertisement 100 with BGP-4" [RFC5492]. 102 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 103 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 104 "OPTIONAL" in this document are to be interpreted as described in 105 [RFC2119]. 107 2. Describing Resources in Certificates 109 Figure 1 depicts some of the entities in the RPKI and some of the 110 products generated by RPKI entities. IANA issues a Certification 111 Authority (CA) to a Regional Internet Registries (RIR). The RIR, in 112 turn, issues a CA certificate to an Internet Service Providers (ISP). 113 The ISP in turn issues End-Entity (EE) Certificates to itself as 114 well as CRLs. These certificates are referred to as "Resource 115 Certificates", and are profiled in [ID.sidr-res-cert-profile]. The 116 [ID.sidr-arch] envisioned using Resource Certificates to generate 117 Manifests [ID.sidr-rpki-manifests] and Route Origin Authorizations 118 (ROAs) [ID.sidr-rpki-roa-format]. ROAs and Manifests also include 119 the Resource Certificates used to sign them. 121 +---------+ +------+ 122 | CA Cert |---| IANA | 123 +---------+ +------+ 124 \ 125 +---------+ +-----+ 126 | CA Cert |---| RIR | 127 +---------+ +-----+ 128 \ 129 +---------+ +-----+ 130 | CA Cert |---| ISP | 131 +---------+ +-----+ 132 / | | | 133 +-----+ / | | | +-----+ 134 | CRL |--+ | | +---| ROA | 135 +-----+ | | +-----+ 136 | | +----------+ 137 +----+ | +---| Manifest | 138 +-| EE |---+ +----------+ 139 | +----+ 140 +-----+ 141 Figure 1 143 This document defines another type of Resource Certificate, which is 144 referred to as a "BGPSEC Router Certificate". The purpose of this 145 certificate is explained in Section 1 and falls within the scope of 146 appropriate uses defined within [ID.sidr-cp]. The issuance of BGPSEC 147 Router Certificates has minimal impact on RPKI CAs because the RPKI 148 CA certificate and CRL profile remain unchanged (i.e., they are as 149 specified in [ID.sidr-res-cert-profile]). Further, the algorithms 150 used to generate RPKI CA certificates that issue the BGPSEC Router 151 Certificates and the CRLs necessary to check the validity of the 152 BGPSEC Router Certificates remain unchanged (i.e., they are as 153 specified in [ID.sidr-rpki-algs]). The only impact is that the RPKI 154 CAs will need to be able to process a profiled certificate request 155 (see Section 5) signed with algorithms found in [ID.turner-sidr- 156 bgpsec-algs]. The use of BGPSEC Router Certificates in no way 157 affects RPKI RPs that process Manifests and ROAs because the public 158 key found in the BGPSEC Router Certificate is only ever used to 159 verify the signature on the BGPSEC certificate request (only CAs 160 process these), another BGPSEC Router Certificate (only BGPSEC 161 routers process these), and the signature on a BGPSEC Update Message 162 [ID.sidr-bgpsec-protocol] (only BGPSEC routers process these). 164 Only the differences between this profile and the profile in 165 [ID.sidr-res-cert-profile] are listed. Note that BGPSEC Router 166 Certificates are EE certificates and as such there is no impact on 167 process described in [ID.sidr-algorithm-agility]. 169 3. Updates to [ID.sidr-res-cert-profile] 171 3.1 BGPSEC Router Certificate Fields 173 A BGPSEC Router Certificate is a valid X.509 public key certificate, 174 consistent with the PKIX profile [RFC5280] and [ID.sidr-res-cert- 175 profile], containing the fields listed in this section. Only the 176 differences between this profile and the profile in [ID.sidr-res- 177 cert-profile] are listed. 179 3.1.1.1 Subject 181 This field identifies the router to which the certificate has been 182 issued. Consistent with [ID.sidr-res-cert-profile], only two 183 attributes are allowed in the Subject field: common name and serial 184 number. Moreover, the only common name encoding options that are 185 supported are printableString and UTF8String. For BGPSEC Router 186 Certificates, it is RECOMMENDED that the common name attribute 187 contain the literal string "ROUTER-" followed by the 32-bit AS Number 188 [RFC3779] encoded as eight hexadecimal digits and that the serial 189 number attribute contain the 32-bit BGP Identifier [RFC4271] (i.e., 190 the router ID) encoded as eight hexadecimal digits. If the same 191 certificate is issued to more than one router (hence the private key 192 is shared among these routers), the choice of the router ID used in 193 this name is at the discretion of the Issuer. Note that router IDs 194 are not guaranteed to be unique across the Internet, and thus the 195 Subject name in a BGPSEC Router Certificate issued using this 196 convention also is not guaranteed to be unique across different 197 issuers. However, each certificate issued by an individual CA MUST 198 contain a Subject name that is unique within that context. 200 3.1.2. Subject Public Key Info 202 Refer to section 3.1 of [ID.turner-sidr-bgpsec-algs]. 204 3.1.3. BGPSEC Router Certificate Version 3 Extension Fields 206 The following X.509 V3 extensions MUST be present (or MUST be absent, 207 if so stated) in a conforming BGPSEC Router Certificate, except where 208 explicitly noted otherwise. No other extensions are allowed in a 209 conforming BGPSEC Router Certificate. 211 3.1.3.1. Extended Key Usage 213 BGPSEC Router Certificates MUST include the Extended Key Usage (EKU) 214 extension. As specified, in [ID.sidr-res-cert-profile] this 215 extension MUST be marked as non-critical. This document defines one 216 EKU for BGPSEC Router Certificates: 218 id-kp OBJECT IDENTIFIER ::= 219 { iso(1) identified-organization(3) dod(6) internet(1) 220 security(5) mechanisms(5) pkix(7) TBD } 222 id-kp-bgpsec-router OBJECT IDENTIFIER ::= { id-kp TBD } 224 Relying Parties MUST require the extended key usage extension to be 225 present in a BGPSEC Router Certificate. If multiple KeyPurposeId 226 values are included, the relying parties need not recognize all of 227 them, as long as the required KeyPurposeId value is present. BGPSEC 228 RPs MUST reject certificates that do not contain the BGPSEC Router 229 EKU even if they include the anyExtendedKeyUsage OID defined in 230 [RFC5280]. 232 3.1.3.2. Subject Information Access 234 This extension is not used in BGPSEC Router Certificates. It MUST be 235 omitted. 237 3.1.3.3. IP Resources 239 This extension is not used in BGPSEC Router Certificates. It MUSt be 240 omitted. 242 3.1.3.4. AS Resources 244 Each BGPSEC Router Certificate MUST include the AS Resource 245 extension, as specified in section 4.8.11 of [ID.sidr-res-cert- 246 profile]. The AS Resource extension MUST include exactly one AS 247 number, and the "inherit" element MUST NOT be specified. 249 3.2. BGPSEC Router Certificate Request Profile 251 Refer to section 6 of [ID.sidr-res-cert-profile]. The only 252 differences between this profile and the profile in [ID.sidr-res- 253 cert-profile] are: 255 o The ExtendedKeyUsage extension request MUST be included and the CA 256 MUST honor the request; 258 o The SubjectPublicKeyInfo and PublicKey fields are specified in 259 [ID.turner-sidr-bgpsec-algs]; and, 261 o The request is signed with the algorithms specified in [ID.turner- 262 sidr-bgpsec-algs]. 264 3.3. BGPSEC Router Certificate Validation 266 The validation procedure used for BGPSEC Router Certificates is 267 identical to the validation procedure described in Section 7 of 268 [ID.sidr-res-cert-profile] except that where "this specification" 269 refers to [ID.sidr-res-cert-profile] in that profile in this profile 270 "this specification" is this document. 272 The differences are as follows: 274 o BGPSEC Router Certificates MUST include the BGPSEC EKU defined in 275 Section 3.9.5. 277 o BGPSEC Router Certificates MUST NOT include the SIA extension. 279 o BGPSEC Router Certificates MUST NOT include the IP Resource 280 extension. 282 o BGPSEC Router Certificates MUST include the AS Resource extension. 284 4. Design Notes 286 The BGPSEC Router Certificate profile is based on the Resource 287 Certificate profile as specified in [ID.sidr-res-cert-profile]. 288 As a result, many of the design choices herein are a reflection of 289 the design choices that were taken in that prior work. The reader 290 is referred to [ID.sidr-res-cert-profile] for a fuller discussion 291 of those choices. 293 5. Security Considerations 295 The Security Considerations of [ID.sidr-res-cert-profile] apply. 297 A bgpsec certificate will fail RPKI validation, as defined in 298 [ID.sidr-res-cert-profile], because the algorithm suite is 299 different. Consequently, a RP needs to identify the EKU before 300 applying the correspondent validation. 302 A BGPSEC Router Certificate is an extension of the RPKI [ID.sidr- 303 arch] to encompass routers. It is a building block of the larger 304 BGPSEC security protocol used to validate signatures on BGPSEC 305 Signature-Segment origination of Signed-Path segments [ID.sidr- 306 bgpsec-protocol]. Thus its essential security function is the 307 secure binding of an AS number to a public key, consistent with 308 the RPKI allocation/assignment hierarchy. 310 6. IANA Considerations 312 None. 314 7. Acknowledgements 316 We would like to thanks Geoff Huston, George Michaelson, and 317 Robert Loomans for their work on [ID.sidr-res-cert-profile], which 318 this work is based on. In addition, the efforts of Steve Kent and 319 Matt Lepinski were instrumental in preparing this work. 320 Additionally, we'd like to thank Roque Gagliano for his helpful 321 suggestion about including an EKU and the validation security 322 consideration section. We'd like to thank Sandra Murphy and Geoff 323 Huston for their reviews. 325 8. Normative References 327 8.1. Normative References 329 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 330 Requirement Levels", BCP 14, RFC 2119, March 1997. 332 [RFC3779] Lynn, C., Kent, S., and K. Seo, "X.509 Extensions for IP 333 Addresses and AS Identifiers", RFC 3779, June 2004. 335 [RFC4271] Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A Border 336 Gateway Protocol 4 (BGP-4)", RFC 4271, January 2006. 338 [RFC5280] Cooper, D., Santesson, S., Farrell, S., Boeyen, S., 339 Housley, R., and W. Polk, "Internet X.509 Public Key 340 Infrastructure Certificate and Certificate Revocation List 341 (CRL) Profile", RFC 5280, May 2008. 343 [ID.sidr-res-cert-profile] Huston, G., Michaelson, G., and R. 344 Loomans, "A Profile for X.509 PKIX Resource Certificates", 345 draft-ietf-sidr-res-certs, work-in-progress. 347 [ID.sidr-rpki-algs] Huston, G., "The Profile for Algorithms and Key 348 Sizes for use in the Resource Public Key Infrastructure", 349 draft-ietf-sidr-rpki-algs, work-in-progress. 351 [ID.turner-sidr-bgpsec-algs] Reynolds, M. and S. Turner, "BGP 352 Algorithms, Key Formats, & Signature Formats", draft- 353 turner-sidr-bgpsec-algs, work-in-progress. 355 8.2. Informative References 357 [RFC4272] Murphy, S., "BGP Security Vulnerabilities Analysis", 358 RFC 4272, January 2006. 360 [RFC5123] White, R. and B. Akyol, "Considerations in Validating the 361 Path in BGP", RFC 5123, February 2008. 363 [RFC5492] Scudder, J. and R. Chandra, "Capabilities Advertisement 364 with BGP-4", RFC 5492, February 2009. 366 [ID.sidr-cp] Kent, S., Kong, D., Seo, K., and R., Watro, 367 "Certificate Policy (CP) for the Resource PKI (RPKI)", 368 draft-ietf-sidr-cp, work-in-progress. 370 [ID.sidr-arch] Lepinski, M. and S. Kent, "An Infrastructure to 371 Support Secure Internet Routing", draft-ietf-sidr-arch, 372 work-in-progress. 374 [ID.sidr-rpki-roa-format] Lepinski, M., Kent, S., and D. Kong, "A 375 Profile for Route Origin Authorizations (ROAs)", draft- 376 ietf-sidr-roa-format, work-in-progress 378 [ID.sidr-rpki-manifests] Austein, R., Huston, G., Kent, S., and M. 379 Lepinski, "Manifests for the Resource Public Key 380 Infrastructure", draft-ietf-sidr-rpki-manifests, work-in- 381 progress. 383 [ID.sidr-algorithm-agility] Gagliano, R., Kent, S., and S. Turner, 384 "Algorithm Agility Procedure for RPKI", draft-ietf-sidr- 385 algorithm-agility, work-in-progress. 387 [ID.sidr-bgpsec-protocol] Lepinksi, M., "BGPSEC Protocol 388 Specification", draft-ietf-sidr-bgpsec-protocol, work-in- 389 progress. 391 Appendix A. Example BGPSEC Router Certificate 393 Appendix B. Example BGPSEC Router Certificate Request 395 Authors' Addresses 397 Mark Reynolds 398 Raytheon BBN Technologies Corp. 399 10 Moulton St. 400 Cambridge, MA 02138 402 Email: mreynold@bbn.com 404 Sean Turner 405 IECA, Inc. 406 3057 Nutley Street, Suite 106 407 Fairfax, VA 22031 408 USA 410 EMail: turners@ieca.com