idnits 2.17.00 (12 Aug 2021) /tmp/idnits47111/draft-ietf-sidr-bgpsec-algs-12.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 : ---------------------------------------------------------------------------- -- The draft header indicates that this document updates RFC6485bis, but the abstract doesn't seem to mention this, which it should. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (November 3, 2015) is 2390 days in the past. Is this intentional? Checking references for intended status: Best Current Practice ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) ** Downref: Normative reference to an Informational RFC: RFC 2986 ** Obsolete normative reference: RFC 5226 (Obsoleted by RFC 8126) ** Downref: Normative reference to an Informational RFC: RFC 6090 -- Possible downref: Non-RFC (?) normative reference: ref. 'SHS' == Outdated reference: draft-ietf-sidr-rfc6485bis has been published as RFC 7935 == Outdated reference: draft-ietf-sidr-bgpsec-protocol has been published as RFC 8205 == Outdated reference: draft-ietf-sidr-bgpsec-pki-profiles has been published as RFC 8209 Summary: 3 errors (**), 0 flaws (~~), 4 warnings (==), 3 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Secure Inter-Domain Routing Working Group S. Turner 3 Internet-Draft IECA, Inc. 4 Updates: 6485bis (if approved) November 3, 2015 5 Intended status: BCP 6 Expires: May 6, 2016 8 BGPsec Algorithms, Key Formats, & Signature Formats 9 draft-ietf-sidr-bgpsec-algs-12 11 Abstract 13 This document specifies the algorithms, algorithms' parameters, 14 asymmetric key formats, asymmetric key size and signature format used 15 in BGPsec (Border Gateway Protocol Security). This document updates 16 the Profile for Algorithms and Key Sizes for use in the Resource 17 Public Key Infrastructure (draft-ietf-sidr-rfc6485bis). 19 Status of this Memo 21 This Internet-Draft is submitted in full conformance with the 22 provisions of BCP 78 and BCP 79. 24 Internet-Drafts are working documents of the Internet Engineering 25 Task Force (IETF). Note that other groups may also distribute 26 working documents as Internet-Drafts. The list of current Internet- 27 Drafts is at http://datatracker.ietf.org/drafts/current/. 29 Internet-Drafts are draft documents valid for a maximum of six months 30 and may be updated, replaced, or obsoleted by other documents at any 31 time. It is inappropriate to use Internet-Drafts as reference 32 material or to cite them other than as "work in progress." 34 Copyright Notice 36 Copyright (c) 2015 IETF Trust and the persons identified as the 37 document authors. All rights reserved. 39 This document is subject to BCP 78 and the IETF Trust's Legal 40 Provisions Relating to IETF Documents 41 (http://trustee.ietf.org/license-info) in effect on the date of 42 publication of this document. Please review these documents 43 carefully, as they describe your rights and restrictions with respect 44 to this document. Code Components extracted from this document must 45 include Simplified BSD License text as described in Section 4.e of 46 the Trust Legal Provisions and are provided without warranty as 47 described in the Simplified BSD License. 49 Table of Contents 51 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 2 52 1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3 53 2. Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . 3 54 3. Asymmetric Key Format . . . . . . . . . . . . . . . . . . . . 4 55 3.1. Public Key Format . . . . . . . . . . . . . . . . . . . . 4 56 3.2. Private Key Format . . . . . . . . . . . . . . . . . . . . 4 57 4. Signature Format . . . . . . . . . . . . . . . . . . . . . . . 4 58 5. Additional Requirements . . . . . . . . . . . . . . . . . . . 4 59 6. Security Considerations . . . . . . . . . . . . . . . . . . . 5 60 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 5 61 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 6 62 9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 6 63 9.1. Normative References . . . . . . . . . . . . . . . . . . . 6 64 9.2. Informative References . . . . . . . . . . . . . . . . . . 7 65 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 7 67 1. Introduction 69 This document specifies: 70 o the digital signature algorithm and parameters; 71 o the hash algorithm and parameters; 72 o the public and private key formats; and, 73 o the signature format 74 used by Resource Public Key Infrastructure (RPKI) Certification 75 Authorities (CA), and BGPsec (Border Gateway Protocol Security) 76 speakers (i.e., routers). CAs use these algorithms when issuing 77 BGPsec Router Certificates [ID.sidr-bgpsec-pki-profiles] and CRLs 78 [RFC6487]. BGPsec routers use these when requesting BGPsec 79 certificates [ID.sidr-bgpsec-pki-profiles], generating BGPsec Update 80 messages [ID.sidr-bgpsec-protocol], and verifying BGPsec Update 81 messages [ID.sidr-bgpsec-protocol]. 83 This document is referenced by the BGPsec specification [ID.sidr- 84 bgpsec-protocol] and the profile for BGPsec Router Certificates and 85 Certification Requests [ID.sidr-bgpsec-pki-profiles]. Familiarity 86 with these documents is assumed. Implementers are reminded, however, 87 that, as noted in Section 2 of [ID.sidr-bgpsec-pki-profiles], the 88 algorithms used to sign CA Certificates, BGPsec Router Certificates, 89 and CRLs are found in [ID.sidr-rfc6485bis]. 91 This document updates [ID.sidr-rfc6485bis] to add support for a) a 92 different algorithm for BGPsec certificate requests, which are only 93 issued by BGPsec speakers; b) a different Subject Public Key Info 94 format for BGPsec certificates, which is needed for the specified 95 BGPsec signature algorithm; and, c) a different signature format for 96 BGPsec signatures, which is needed for the specified BGPsec signature 97 algorithm. The BGPsec certificate are differentiated from other RPKI 98 certificates by the use of the BGPsec Extended Key Usage defined in 99 [ID.sidr-bgpsec-pki-profiles]. 101 1.1. Terminology 103 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 104 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 105 "OPTIONAL" in this document are to be interpreted as described in 106 [RFC2119]. 108 2. Algorithms 110 Four cryptographic algorithms are used to support BGPsec: 112 o The signature algorithm used when issuing BGPsec certificates and 113 CRLs, which would revoke BGPsec certificates, MUST be as 114 specified in [ID.sidr-rfc6485bis]. 116 o The signature algorithm used in certification requests and BGPsec 117 Update messages MUST be Elliptic Curve Digital Signature 118 Algorithm (ECDSA) [RFC6090]. 120 o The hashing algorithm used when issuing certificates and CRLs 121 MUST be as specified in [ID.sidr-rfc6485bis]. 123 o The hashing algorithm used when generating certification requests 124 and BGPsec Update messages MUST be SHA-256 [SHS]. Hash 125 algorithms are not identified by themselves in certificates, or 126 BGPsec Update messages instead they are combined with the digital 127 signature algorithm (see below). 129 NOTE: The exception to the above hashing algorithm is the use of 130 SHA-1 [SHS] when CAs generate authority and subject key 131 identifiers [RFC6487]. 133 To support BGPsec, the algorithms are identified as follows: 135 o In certificates and CRLs, an Object Identifier (OID) is used. 136 The value and locations are as specified in section 2 of 137 [ID.sidr-rfc6485bis]. 139 o In certification request, an OID is used. The ecdsa-with-SHA256 140 OID [RFC5480] MUST appear in the PKCS #10 signatureAlgorithm 141 field [RFC2986] or in Certificate Request Message Format (CRMF) 142 POPOSigningKey algorithm field [RFC4211]. 144 o In BGPsec Update messages, the ECDSA with SHA-256 Algorithm Suite 145 Identifier from Section 7 is included in the Signature-Block 146 List's Algorithm Suite Identifier field. 148 3. Asymmetric Key Format 150 The RSA key pairs used to compute signatures on CA certificates, 151 BGPsec Router Certificates, and CRLs are as specified in Section 3 of 152 [ID.sidr-rfc6485bis]. The remainder of this section addresses key 153 formats found in the BGPsec router certificate requests and in BGPsec 154 Router Certificates. 156 The ECDSA key pairs used to compute signatures for certificate 157 requests and BGPsec Update messages MUST come from the P-256 curve 158 [RFC5480]. The public key pair MUST use the uncompressed form. 160 3.1. Public Key Format 162 The Subject's public key is included in subjectPublicKeyInfo 163 [RFC5280]. It has two sub-fields: algorithm and subjectPublicKey. 164 The values for the structures and their sub-structures follow: 166 o algorithm (which is an AlgorithmIdentifier type): The id- 167 ecPublicKey OID MUST be used in the algorithm field, as specified 168 in Section 2.1.1 of [RFC5480]. The value for the associated 169 parameters MUST be secp256r1, as specified in Section 2.1.1.1 of 170 [RFC5480]. 172 o subjectPublicKey: ECPoint MUST be used to encode the 173 certificate's subjectPublicKey field, as specified in Section 2.2 174 of [RFC5480]. 176 3.2. Private Key Format 178 Local Policy determines private key format. 180 4. Signature Format 182 The structure for the certificate's and CRL's signature field MUST be 183 as specified in Section 4 of [ID.sidr-rfc6485bis]. The structure for 184 the certification request's and BGPsec Update message's signature 185 field MUST be as specified in Section 2.2.3 of [RFC3279]. 187 5. Additional Requirements 189 It is anticipated that BGPsec will require the adoption of updated 190 key sizes and a different set of signature and hash algorithms over 191 time, in order to maintain an acceptable level of cryptographic 192 security to protect the integrity of BGPsec. This profile should be 193 updated to specify such future requirements, when appropriate. 195 CAs and RPs SHOULD be capable of supporting a transition to allow for 196 the phased introduction of additional encryption algorithms and key 197 specifications, and also accommodate the orderly deprecation of 198 previously specified algorithms and keys. Accordingly, CAs and RPs 199 SHOULD be capable of supporting multiple RPKI algorithm and key 200 profiles simultaneously within the scope of such anticipated 201 transitions. The recommended procedures to implement such a 202 transition of key sizes and algorithms are not specified in this 203 document, see Section 6 in [ID.sidr-bgpsec-protocol] for more 204 information. 206 6. Security Considerations 208 The Security Considerations of [RFC3279], [RFC5480], [RFC6090], 209 [ID.sidr-rfc6485bis], and [ID.sidr-bgpsec-pki-profiles] apply to 210 certificates. The security considerations of [RFC3279], [RFC6090], 211 [ID.sidr-rfc6485bis], [ID.sidr-bgpsec-pki-profiles] apply to 212 certification requests. The security considerations of [RFC3279], 213 [ID.sidr-bgpsec-protocol], and [RFC6090] apply to BGPsec Update 214 messages. No new security considerations are introduced as a result 215 of this specification. 217 7. IANA Considerations 219 The Internet Assigned Numbers Authority (IANA) is requested to define 220 the "BGPsec Algorithm Suite Registry" described below. 222 An algorithm suite consists of a digest algorithm and a signature 223 algorithm. This specification creates an IANA registry of one-octet 224 BGPsec algorithm suite identifiers. Additionally, this document 225 registers a single algorithm suite which uses the digest algorithm 226 SHA-256 and the signature algorithm ECDSA on the P-256 curve 227 [RFC5480]. 229 BGPsec Algorithm Suites Registry 231 Digest Signature Algorithm Specification 232 Algorithm Algorithm Suite Pointer 233 Identifier 235 +-------------------------------------------------------+ 236 | Reserved | Reserved | 0x0 | This draft | 237 +-------------------------------------------------------+ 238 | SHA-256 | ECDSA P-256 | TBD | RFC 5480 | 239 +-------------------------------------------------------+ 240 | Unassigned | Unassigned | TBD..0xF | This draft | 241 +-------------------------------------------------------+ 242 | Reserved | Reserved | 0xF | This draft | 243 +-------------------------------------------------------+ 245 Future assignments are to be made using either the Standards Action 246 process defined in [RFC5226], or the Early IANA Allocation process 247 defined in [RFC7120]. Assignments consist of a digest algorithm 248 name, signature algorithm name, and the algorithm suite identifier 249 value. 251 8. Acknowledgements 253 The author wishes to thank Geoff Huston for producing [ID.sidr- 254 rfc6485bis], which this document is heavily based on. I'd also like 255 to thank Roque Gagliano, David Mandelberg, and Sam Weiller for their 256 review and comments. 258 9. References 260 9.1. Normative References 262 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 263 Requirement Levels", BCP 14, RFC 2119, March 1997. 265 [RFC2986] Nystrom, M. and B. Kaliski, "PKCS #10: Certification 266 Request Syntax Specification Version 1.7", RFC 2986, 267 November 2000. 269 [RFC3279] Bassham, L., Polk, W., and R. Housley, "Algorithms and 270 Identifiers for the Internet X.509 Public Key 271 Infrastructure Certificate and Certificate Revocation List 272 (CRL) Profile", RFC 3279, April 2002. 274 [RFC4211] Schaad, J., "Internet X.509 Public Key Infrastructure 275 Certificate Request Message Format (CRMF)", RFC 4211, 276 September 2005. 278 [RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an 279 IANA Considerations Section in RFCs", BCP 26, RFC 5226, May 280 2008. 282 [RFC5280] Cooper, D., Santesson, S., Farrell, S., Boeyen, S., 283 Housley, R., and W. Polk, "Internet X.509 Public Key 284 Infrastructure Certificate and Certificate Revocation List 285 (CRL) Profile", RFC 5280, May 2008. 287 [RFC5480] Turner, S., Brown, D., Yiu, K., Housley, R., and T. Polk, 288 "Elliptic Curve Cryptography Subject Public Key 289 Information", RFC 5480, March 2009. 291 [RFC6090] McGrew, D., Igoe, K., and M. Salter, "Fundamental Elliptic 292 Curve Cryptography Algorithms", RFC 6090, February 2011. 294 [RFC6487] Huston, G., Michaelson, G., and R. Loomans, "A Profile for 295 X.509 PKIX Resource Certificates", RFC 6487, February 2012. 297 [RFC7120] Cotton, M., "Early IANA Allocation of Standards Track Code 298 Points", BCP 100, RFC 7120, January 2014. 300 [SHS] National Institute of Standards and Technology (NIST), "FIPS 301 Publication 180-3: Secure Hash Standard", FIPS Publication 302 180-3, October 2008. 304 [ID.sidr-rfc6485bis] Huston, G., and G. Michaelson, "The Profile for 305 Algorithms and Key Sizes for use in the Resource Public Key 306 Infrastructure", draft-ietf-sidr-rfc6485bis, work-in- 307 progress. 309 [ID.sidr-bgpsec-protocol] Lepinski, M., "BGPsec Protocol 310 Specification", draft-ietf-sidr-bgpsec-protocol, work-in- 311 progress. 313 [ID.sidr-bgpsec-pki-profiles] Reynolds, M. and S. Turner, "A Profile 314 for BGPSEC Router Certificates, Certificate Revocation 315 Lists, and Certification Requests", draft-ietf-sidr-bgpsec- 316 pki-profiles, work-in-progress. 318 9.2. Informative References 320 None. 322 Authors' Addresses 324 Sean Turner 325 IECA, Inc. 326 3057 Nutley Street, Suite 106 327 Fairfax, VA 22031 328 USA 330 EMail: turners@ieca.com