idnits 2.17.1 draft-jenkins-cnsa-cert-crl-profile-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 (April 10, 2018) is 2198 days in the past. Is this intentional? Checking references for intended status: Informational ---------------------------------------------------------------------------- No issues found here. Summary: 0 errors (**), 0 flaws (~~), 1 warning (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Internet Engineering Task Force M. Jenkins 3 Internet-Draft L. Zieglar 4 Intended status: Informational NSA 5 Expires: October 12, 2018 April 10, 2018 7 Commercial National Security Algorithm (CNSA) Suite Certificate and 8 Certificate Revocation List (CRL) Profile 9 draft-jenkins-cnsa-cert-crl-profile-02 11 Abstract 13 This document specifies a base profile for X.509 v3 Certificates and 14 X.509 v2 Certificate Revocation Lists (CRLs) for use with the United 15 States National Security Agency's Commercial National Security 16 Algorithm (CNSA) Suite. The reader is assumed to have familiarity 17 with RFC 5280, "Internet X.509 Public Key Infrastructure Certificate 18 and Certificate Revocation List (CRL) Profile". 20 Status of This Memo 22 This Internet-Draft is submitted in full conformance with the 23 provisions of BCP 78 and BCP 79. 25 Internet-Drafts are working documents of the Internet Engineering 26 Task Force (IETF). Note that other groups may also distribute 27 working documents as Internet-Drafts. The list of current Internet- 28 Drafts is at https://datatracker.ietf.org/drafts/current/. 30 Internet-Drafts are draft documents valid for a maximum of six months 31 and may be updated, replaced, or obsoleted by other documents at any 32 time. It is inappropriate to use Internet-Drafts as reference 33 material or to cite them other than as "work in progress." 35 This Internet-Draft will expire on October 12, 2018. 37 Copyright Notice 39 Copyright (c) 2018 IETF Trust and the persons identified as the 40 document authors. All rights reserved. 42 This document is subject to BCP 78 and the IETF Trust's Legal 43 Provisions Relating to IETF Documents 44 (https://trustee.ietf.org/license-info) in effect on the date of 45 publication of this document. Please review these documents 46 carefully, as they describe your rights and restrictions with respect 47 to this document. Code Components extracted from this document must 48 include Simplified BSD License text as described in Section 4.e of 49 the Trust Legal Provisions and are provided without warranty as 50 described in the Simplified BSD License. 52 Table of Contents 54 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 55 2. Conventions . . . . . . . . . . . . . . . . . . . . . . . . . 3 56 3. General Requirements and Assumptions . . . . . . . . . . . . 3 57 3.1. Implementing the CNSA Suite . . . . . . . . . . . . . . . 3 58 3.2. CNSA Suite Object Identifiers . . . . . . . . . . . . . . 4 59 4. CNSA Suite Base Certificate Required Values . . . . . . . . . 5 60 4.1. signatureAlgorithm . . . . . . . . . . . . . . . . . . . 6 61 4.2. signatureValue . . . . . . . . . . . . . . . . . . . . . 6 62 4.3. Version . . . . . . . . . . . . . . . . . . . . . . . . . 7 63 4.4. SubjectPublicKeyInfo . . . . . . . . . . . . . . . . . . 7 64 5. Certificate Extensions for Particular Types of Certificates . 8 65 5.1. CNSA Suite Self-Signed CA Certificates . . . . . . . . . 8 66 5.2. CNSA Suite Non-Self-Signed CA Certificates . . . . . . . 8 67 5.3. CNSA Suite End Entity Signature and Key Establishment 68 Certificates . . . . . . . . . . . . . . . . . . . . . . 9 69 6. CNSA Suite CRL Requirements . . . . . . . . . . . . . . . . . 9 70 7. Security Considerations . . . . . . . . . . . . . . . . . . . 9 71 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10 72 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 10 73 9.1. Normative References . . . . . . . . . . . . . . . . . . 10 74 9.2. Informative References . . . . . . . . . . . . . . . . . 11 75 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 11 77 1. Introduction 79 This document specifies a base profile for X.509 v3 Certificates and 80 X.509 v2 Certificate Revocation Lists (CRLs) for use by applications 81 that support the United States National Security Agency's Commercial 82 National Security Algorithm (CNSA) Suite [CNSA]. 84 This profile of [RFC5280] applies to all CNSA Suite solutions that 85 make use of X.509 v3 Certificates or X.509 v2 CRLs. The reader is 86 assumed to have familiarity with RFC 5280. All MUST-level 87 requirements of RFC 5280 apply throughout this profile and are 88 generally not repeated here. In cases where a MUST-level requirement 89 is repeated for emphasis, the text notes the requirement is "in 90 adherence with RFC 5280". This profile contains changes that elevate 91 some SHOULD-level options in RFC 5280 to MUST-level for this profile; 92 this profile also contains changes that elevate some MAY-level 93 options in RFC 5280 to SHOULD-level or MUST-level in this profile. 94 All options from RFC 5280 that are not listed in this profile remain 95 at the requirement level of RFC 5280. 97 The reader is also assumed to have familiarity with these documents: 99 o [RFC5480] for the syntax and semantics for the Subject Public Key 100 Information field in certificates that support Elliptic Curve 101 Cryptography; 103 o [RFC5758] for the algorithm identifiers for Elliptic Curve Digital 104 Signature Algorithm (ECDSA); 106 o [RFC3279] for the syntax and semantics for the Subject Public Key 107 Information field in certificates that support RSA Cryptography; 108 and 110 o [RFC4055] for the algorithm identifiers for RSA Cryptography with 111 the SHA-384 hash function. 113 2. Conventions 115 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 116 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 117 "OPTIONAL" in this document are to be interpreted as described in BCP 118 14 [RFC2119] [RFC8174] when, and only when, they appear in all 119 capitals, as shown here. 121 3. General Requirements and Assumptions 123 The goal of this document is to define a base set of requirements for 124 certificates and CRLs to support interoperability among CNSA Suite 125 solutions. Specific communities, such as the US National Security 126 Systems, may define community profiles that further restrict 127 certificate and CRL contents by mandating the presence of extensions 128 that are optional in this base profile, defining new optional or 129 critical extension types, or restricting the values and/or presence 130 of fields within existing extensions. However, communications 131 between distinct communities MUST conform to the requirements 132 specified in this document when interoperability is desired. 133 Applications may add requirements for additional non-critical 134 extensions but they MUST NOT assume that a remote peer will be able 135 to process them. 137 3.1. Implementing the CNSA Suite 139 Every CNSA Suite certificate MUST use the X.509 v3 format, and 140 contain either: 142 o An ECDSA-capable signature verification key using curve P-384; or 143 o An ECDH-capable (Elliptic Curve Diffie-Hellman) key establishment 144 key using curve P-384; or 146 o An RSA-capable signature verification key using RSA-3072 or RSA- 147 4096; or 149 o An RSA-capable key transport key using RSA-3072 or RSA-4096. 151 The signature algorithm applied to all CNSA Suite certificates and 152 CRLs MUST use the SHA-384 hashing algorithm. The signing 153 Certification Authority's (CA) key MUST conform to the following: 155 o for certificates containing key generated on the curve P-384, or 156 CRLs citing such certificates, the CA's certificate signing key 157 MUST also have been generated on the curve P-384. 159 o for certificates containing an RSA-3072 key, or CRLs citing such 160 certificates, the CA's certificate signing key MUST be either an 161 RSA-3072 key or RSA-4096 key. 163 o for certificates containing an RSA-4096 key, or CRLs citing such 164 certificates, the CA's certificate signing key MUST also be an 165 RSA-4096 key. 167 As a result, a community that uses both ECC and RSA cryptographic key 168 primatives will need a separate trust points for each. 170 RSA exponents e MUST satisfy 2^16. 419 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 420 Requirement Levels", BCP 14, RFC 2119, 421 DOI 10.17487/RFC2119, March 1997, 422 . 424 [RFC3279] Bassham, L., Polk, W., and R. Housley, "Algorithms and 425 Identifiers for the Internet X.509 Public Key 426 Infrastructure Certificate and Certificate Revocation List 427 (CRL) Profile", RFC 3279, DOI 10.17487/RFC3279, April 428 2002, . 430 [RFC4055] Schaad, J., Kaliski, B., and R. Housley, "Additional 431 Algorithms and Identifiers for RSA Cryptography for use in 432 the Internet X.509 Public Key Infrastructure Certificate 433 and Certificate Revocation List (CRL) Profile", RFC 4055, 434 DOI 10.17487/RFC4055, June 2005, 435 . 437 [RFC5280] Cooper, D., Santesson, S., Farrell, S., Boeyen, S., 438 Housley, R., and W. Polk, "Internet X.509 Public Key 439 Infrastructure Certificate and Certificate Revocation List 440 (CRL) Profile", RFC 5280, DOI 10.17487/RFC5280, May 2008, 441 . 443 [RFC5480] Turner, S., Brown, D., Yiu, K., Housley, R., and T. Polk, 444 "Elliptic Curve Cryptography Subject Public Key 445 Information", RFC 5480, DOI 10.17487/RFC5480, March 2009, 446 . 448 [RFC5758] Dang, Q., Santesson, S., Moriarty, K., Brown, D., and T. 449 Polk, "Internet X.509 Public Key Infrastructure: 450 Additional Algorithms and Identifiers for DSA and ECDSA", 451 RFC 5758, DOI 10.17487/RFC5758, January 2010, 452 . 454 [RFC8017] Moriarty, K., Ed., Kaliski, B., Jonsson, J., and A. Rusch, 455 "PKCS #1: RSA Cryptography Specifications Version 2.2", 456 RFC 8017, DOI 10.17487/RFC8017, November 2016, 457 . 459 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 460 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 461 May 2017, . 463 9.2. Informative References 465 [CNSA] Committee for National Security Systems, "Commercial 466 National Security Algorithm (CNSA) Suite", 2015, 467 . 470 [SEC1] Standards for Efficient Cryptography Group, "SEC1: 471 Elliptic Curve Cryptography", September 2000. 473 [SEC2] Standards for Efficient Cryptography Group, "SEC 2: 474 Recommended Elliptic Curve Domain Parameters", September 475 2000. 477 [SP-800-57] 478 Barker, E., "Recommendation for Key Management-Part 1 479 Revision 4: General", Special Publication 800-57, January 480 2016, 481 . 484 [X9.62] American National Standards Institute, "Public Key 485 Cryptography for the Financial Services Industry; The 486 Elliptic Curve Digital Signature Algorithm (ECDSA)", 487 ANS X9.62, December 2005. 489 [X9.63] American National Standards Institute, "Public Key 490 Cryptography for the Financial Services Industry; Key 491 Agreement and Key Transport Using Elliptic Curve 492 Cryptography", ANS X9.63, December 2001. 494 Authors' Addresses 496 Michael Jenkins 497 National Security Agency 499 Email: mjjenki@tycho.ncsc.mil 500 Lydia Zieglar 501 National Security Agency 503 Email: llziegl@nsa.gov