From 4bfd864f10b68b71482b35c818559068ef8d5797 Mon Sep 17 00:00:00 2001 From: Thomas Voss Date: Wed, 27 Nov 2024 20:54:24 +0100 Subject: doc: Add RFC documents --- doc/rfc/rfc8603.txt | 731 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 731 insertions(+) create mode 100644 doc/rfc/rfc8603.txt (limited to 'doc/rfc/rfc8603.txt') diff --git a/doc/rfc/rfc8603.txt b/doc/rfc/rfc8603.txt new file mode 100644 index 0000000..30a3b62 --- /dev/null +++ b/doc/rfc/rfc8603.txt @@ -0,0 +1,731 @@ + + + + + + +Independent Submission M. Jenkins +Request for Comments: 8603 L. Zieglar +Category: Informational NSA +ISSN: 2070-1721 May 2019 + + + Commercial National Security Algorithm (CNSA) Suite Certificate and + Certificate Revocation List (CRL) Profile + +Abstract + + This document specifies a base profile for X.509 v3 Certificates and + X.509 v2 Certificate Revocation Lists (CRLs) for use with the United + States National Security Agency's Commercial National Security + Algorithm (CNSA) Suite. The profile applies to the capabilities, + configuration, and operation of all components of US National + Security Systems that employ such X.509 certificates. US National + Security Systems are described in NIST Special Publication 800-59. + It is also appropriate for all other US Government systems that + process high-value information. It is made publicly available for + use by developers and operators of these and any other system + deployments. + +Status of This Memo + + This document is not an Internet Standards Track specification; it is + published for informational purposes. + + This is a contribution to the RFC Series, independently of any other + RFC stream. The RFC Editor has chosen to publish this document at + its discretion and makes no statement about its value for + implementation or deployment. Documents approved for publication by + the RFC Editor are not candidates for any level of Internet Standard; + see Section 2 of RFC 7841. + + Information about the current status of this document, any errata, + and how to provide feedback on it may be obtained at + https://www.rfc-editor.org/info/rfc8603. + + + + + + + + + + + + + +Jenkins & Zieglar Informational [Page 1] + +RFC 8603 CNSA Suite Certificate and CRL Profile May 2019 + + +Copyright Notice + + Copyright (c) 2019 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 + (https://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. + +Table of Contents + + 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 + 2. The Commercial National Security Algorithm Suite . . . . . . 4 + 3. Conventions . . . . . . . . . . . . . . . . . . . . . . . . . 4 + 4. General Requirements and Assumptions . . . . . . . . . . . . 4 + 4.1. Implementing the CNSA Suite . . . . . . . . . . . . . . . 5 + 4.2. CNSA Suite Object Identifiers . . . . . . . . . . . . . . 6 + 5. CNSA Suite Base Certificate Required Values . . . . . . . . . 7 + 5.1. signatureAlgorithm . . . . . . . . . . . . . . . . . . . 7 + 5.2. signatureValue . . . . . . . . . . . . . . . . . . . . . 7 + 5.3. Version . . . . . . . . . . . . . . . . . . . . . . . . . 8 + 5.4. SubjectPublicKeyInfo . . . . . . . . . . . . . . . . . . 8 + 6. Certificate Extensions for Particular Types of Certificates . 9 + 6.1. CNSA Suite Self-Signed CA Certificates . . . . . . . . . 9 + 6.2. CNSA Suite Non-Self-Signed CA Certificates . . . . . . . 9 + 6.3. CNSA Suite End-Entity Signature and Key Establishment + Certificates . . . . . . . . . . . . . . . . . . . . . . 10 + 7. CNSA Suite CRL Requirements . . . . . . . . . . . . . . . . . 10 + 8. Security Considerations . . . . . . . . . . . . . . . . . . . 10 + 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 11 + 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 11 + 10.1. Normative References . . . . . . . . . . . . . . . . . . 11 + 10.2. Informative References . . . . . . . . . . . . . . . . . 12 + Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 13 + + + + + + + + + + + + + + +Jenkins & Zieglar Informational [Page 2] + +RFC 8603 CNSA Suite Certificate and CRL Profile May 2019 + + +1. Introduction + + This document specifies a base profile for X.509 v3 Certificates and + X.509 v2 Certificate Revocation Lists (CRLs) for use by applications + that support the United States National Security Agency's Commercial + National Security Algorithm (CNSA) Suite [CNSA]. The profile applies + to the capabilities, configuration, and operation of all components + of US National Security Systems that employ such X.509 certificates. + US National Security Systems are described in NIST Special + Publication 800-59 [SP80059]. It is also appropriate for all other + US Government systems that process high-value information. It is + made publicly available for use by developers and operators of these + and any other system deployments. + + This document does not define any new cryptographic algorithm suite; + instead, it defines a CNSA-compliant profile of "Internet X.509 + Public Key Infrastructure Certificate and Certificate Revocation List + (CRL) Profile" [RFC5280]. It applies to all CNSA Suite solutions + that make use of X.509 v3 Certificates or X.509 v2 CRLs. The reader + is assumed to have familiarity with RFC 5280. All MUST-level + requirements of RFC 5280 apply throughout this profile and are + generally not repeated here. In cases where a MUST-level requirement + is repeated for emphasis, the text notes the requirement is "in + adherence with RFC 5280". This profile contains changes that elevate + some SHOULD-level options in RFC 5280 to MUST-level and also contains + changes that elevate some MAY-level options in RFC 5280 to SHOULD- + level or MUST-level. All options from RFC 5280 that are not listed + in this profile remain at the requirement level of RFC 5280. + + The reader is also assumed to have familiarity with these documents: + + o [RFC5480] for the syntax and semantics for the Subject Public Key + Information field in certificates that support Elliptic Curve + Cryptography, + + o [RFC5758] for the algorithm identifiers for Elliptic Curve Digital + Signature Algorithm (ECDSA), + + o [RFC3279] for the syntax and semantics for the Subject Public Key + Information field in certificates that support RSA Cryptography, + and + + o [RFC4055] for the algorithm identifiers for RSA Cryptography with + the SHA-384 hash function. + + + + + + + +Jenkins & Zieglar Informational [Page 3] + +RFC 8603 CNSA Suite Certificate and CRL Profile May 2019 + + +2. The Commercial National Security Algorithm Suite + + The National Security Agency (NSA) profiles commercial cryptographic + algorithms and protocols as part of its mission to support secure, + interoperable communications for US Government National Security + Systems. To this end, it publishes guidance both to assist with + transitioning the United States Government to new algorithms and to + provide vendors, and the Internet community in general, with + information concerning their proper use and configuration. + + Recently, cryptographic transition plans have become overshadowed by + the prospect of the development of a cryptographically relevant + quantum computer. The NSA has established the Commercial National + Security Algorithm (CNSA) Suite to provide vendors and IT users near- + term flexibility in meeting their cybersecurity interoperability + requirements. The purpose behind this flexibility is to avoid + vendors and customers making two major transitions in a relatively + short time frame, as we anticipate a need to shift to quantum- + resistant cryptography in the near future. + + The NSA is authoring a set of RFCs, including this one, to provide + updated guidance concerning the use of certain commonly available + commercial algorithms in IETF protocols. These RFCs can be used in + conjunction with other RFCs and cryptographic guidance (e.g., NIST + Special Publications) to properly protect Internet traffic and data- + at-rest for US Government National Security Systems. + +3. Conventions + + The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", + "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and + "OPTIONAL" in this document are to be interpreted as described in + BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all + capitals, as shown here. + +4. General Requirements and Assumptions + + The goal of this document is to define a base set of requirements for + certificates and CRLs to support interoperability among CNSA Suite + solutions. Specific communities, such as those associated with US + National Security Systems, may define community profiles that further + restrict certificate and CRL contents by mandating the presence of + extensions that are optional in this base profile, defining new + optional or critical extension types, or restricting the values and/ + or presence of fields within existing extensions. However, + communications between distinct communities MUST conform with the + requirements specified in this document when interoperability is + + + + +Jenkins & Zieglar Informational [Page 4] + +RFC 8603 CNSA Suite Certificate and CRL Profile May 2019 + + + desired. Applications may add requirements for additional + non-critical extensions, but they MUST NOT assume that a remote peer + will be able to process them. + +4.1. Implementing the CNSA Suite + + Every CNSA Suite certificate MUST use the X.509 v3 format and contain + one of the following: + + o An ECDSA-capable signature verification key using curve P-384, or + + o An ECDH-capable (Elliptic Curve Diffie-Hellman) key establishment + key using curve P-384, or + + o An RSA-capable signature verification key using RSA-3072 or + RSA-4096, or + + o An RSA-capable key transport key using RSA-3072 or RSA-4096. + + The signature applied to all CNSA Suite certificates and CRLs MUST be + made with a signing key that is either generated on the curve P-384, + or is an RSA-3072 or RSA-4096 key. The SHA-384 hashing algorithm + MUST be used for all certificate and CRL signatures irrespective of + the type of key used. + + The RSA exponent "e" MUST satisfy 2^16. + + [FIPS186] National Institute of Standards and Technology (NIST), + "Digital Signature Standard (DSS)", FIPS PUB 186-4, + DOI 10.6028/NIST.FIPS.186-4, July 2013, + . + + [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate + Requirement Levels", BCP 14, RFC 2119, + DOI 10.17487/RFC2119, March 1997, + . + + [RFC3279] Bassham, L., Polk, W., and R. Housley, "Algorithms and + Identifiers for the Internet X.509 Public Key + Infrastructure Certificate and Certificate Revocation List + (CRL) Profile", RFC 3279, DOI 10.17487/RFC3279, April + 2002, . + + [RFC4055] Schaad, J., Kaliski, B., and R. Housley, "Additional + Algorithms and Identifiers for RSA Cryptography for use in + the Internet X.509 Public Key Infrastructure Certificate + and Certificate Revocation List (CRL) Profile", RFC 4055, + DOI 10.17487/RFC4055, June 2005, + . + + [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, DOI 10.17487/RFC5280, May 2008, + . + + [RFC5480] Turner, S., Brown, D., Yiu, K., Housley, R., and T. Polk, + "Elliptic Curve Cryptography Subject Public Key + Information", RFC 5480, DOI 10.17487/RFC5480, March 2009, + . + + + + +Jenkins & Zieglar Informational [Page 11] + +RFC 8603 CNSA Suite Certificate and CRL Profile May 2019 + + + [RFC5758] Dang, Q., Santesson, S., Moriarty, K., Brown, D., and T. + Polk, "Internet X.509 Public Key Infrastructure: + Additional Algorithms and Identifiers for DSA and ECDSA", + RFC 5758, DOI 10.17487/RFC5758, January 2010, + . + + [RFC8017] Moriarty, K., Ed., Kaliski, B., Jonsson, J., and A. Rusch, + "PKCS #1: RSA Cryptography Specifications Version 2.2", + RFC 8017, DOI 10.17487/RFC8017, November 2016, + . + + [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC + 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, + May 2017, . + + [SEC1] Standards for Efficient Cryptography Group, "SEC1: + Elliptic Curve Cryptography", May 2009, + . + +10.2. Informative References + + [SEC2] Standards for Efficient Cryptography Group, "SEC 2: + Recommended Elliptic Curve Domain Parameters", January + 2010, . + + [SP80057] National Institute of Standards and Technology, + "Recommendation for Key Management - Part 1: General", + NIST Special Publication 800-57 Revision 4, + DOI 10.6028/NIST.SP.800-57pt1r4, January 2016, + . + + [SP80059] National Institute of Standards and Technology, "Guideline + for Identifying an Information System as a National + Security System", NIST Special Publication 800-59, + DOI 10.6028/NIST.SP.800-59, August 2003, + . + + [X962] American National Standards Institute, "Public Key + Cryptography for the Financial Services Industry; The + Elliptic Curve Digital Signature Algorithm (ECDSA)", ANSI + X9.62, November 2005. + + + + + + + + +Jenkins & Zieglar Informational [Page 12] + +RFC 8603 CNSA Suite Certificate and CRL Profile May 2019 + + +Authors' Addresses + + Michael Jenkins + National Security Agency + + Email: mjjenki@nsa.gov + + + Lydia Zieglar + National Security Agency + + Email: llziegl@tycho.ncsc.mil + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Jenkins & Zieglar Informational [Page 13] + -- cgit v1.2.3