rfc9151.original | rfc9151.txt | |||
---|---|---|---|---|
Network Working Group D. Cooley | Independent Submission D. Cooley | |||
Internet-Draft NSA | Request for Comments: 9151 NSA | |||
Intended status: Informational January 20, 2021 | Category: Informational August 2021 | |||
Expires: July 24, 2021 | ISSN: 2070-1721 | |||
Commercial National Security Algorithm (CNSA) Suite Profile for TLS and | Commercial National Security Algorithm (CNSA) Suite Profile for TLS and | |||
DTLS 1.2 and 1.3 | DTLS 1.2 and 1.3 | |||
draft-cooley-cnsa-dtls-tls-profile-07 | ||||
Abstract | Abstract | |||
This document defines a base profile for TLS protocol versions 1.2 | This document defines a base profile for TLS protocol versions 1.2 | |||
and 1.3, as well as DTLS protocol versions 1.2 and 1.3 for use with | and 1.3 as well as DTLS protocol versions 1.2 and 1.3 for use with | |||
the United States Commercial National Security Algorithm (CNSA) | the US Commercial National Security Algorithm (CNSA) Suite. | |||
Suite. | ||||
The profile applies to the capabilities, configuration, and operation | The profile applies to the capabilities, configuration, and operation | |||
of all components of US National Security Systems that use TLS or | of all components of US National Security Systems that use TLS or | |||
DTLS. It is also appropriate for all other US Government systems | DTLS. It is also appropriate for all other US Government systems | |||
that process high-value information. | that process high-value information. | |||
The profile is made publicly available here for use by developers and | The profile is made publicly available here for use by developers and | |||
operators of these and any other system deployments. | operators of these and any other system deployments. | |||
Status of This Memo | Status of This Memo | |||
This Internet-Draft is submitted in full conformance with the | This document is not an Internet Standards Track specification; it is | |||
provisions of BCP 78 and BCP 79. | published for informational purposes. | |||
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 https://datatracker.ietf.org/drafts/current/. | ||||
Internet-Drafts are draft documents valid for a maximum of six months | This is a contribution to the RFC Series, independently of any other | |||
and may be updated, replaced, or obsoleted by other documents at any | RFC stream. The RFC Editor has chosen to publish this document at | |||
time. It is inappropriate to use Internet-Drafts as reference | its discretion and makes no statement about its value for | |||
material or to cite them other than as "work in progress." | 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. | ||||
This Internet-Draft will expire on July 24, 2021. | 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/rfc9151. | ||||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2021 IETF Trust and the persons identified as the | Copyright (c) 2021 IETF Trust and the persons identified as the | |||
document authors. All rights reserved. | document authors. All rights reserved. | |||
This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
(https://trustee.ietf.org/license-info) in effect on the date of | (https://trustee.ietf.org/license-info) in effect on the date of | |||
publication of this document. Please review these documents | publication of this document. Please review these documents | |||
carefully, as they describe your rights and restrictions with respect | carefully, as they describe your rights and restrictions with respect | |||
to this document. Code Components extracted from this document must | to this document. | |||
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 | Table of Contents | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Introduction | |||
2. The Commercial National Security Algorithm Suite . . . . . . 3 | 2. CNSA | |||
3. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4 | 3. Terminology | |||
4. CNSA Suite . . . . . . . . . . . . . . . . . . . . . . . . . 4 | 4. CNSA Suites | |||
4.1. CNSA (D)TLS Key Establishment Algorithms . . . . . . . . 5 | 4.1. CNSA (D)TLS Key Establishment Algorithms | |||
4.2. CNSA TLS Authentication . . . . . . . . . . . . . . . . . 6 | 4.2. CNSA TLS Authentication | |||
5. CNSA Compliance and Interoperability Requirements . . . . . . 6 | 5. CNSA Compliance and Interoperability Requirements | |||
5.1. Acceptable ECC Curves . . . . . . . . . . . . . . . . . . 6 | 5.1. Acceptable Elliptic Curve Cryptography (ECC) Curves | |||
5.2. Acceptable RSA Schemes, Parameters and Checks . . . . . . 6 | 5.2. Acceptable RSA Schemes, Parameters, and Checks | |||
5.3. Acceptable Finite Field Groups . . . . . . . . . . . . . 7 | 5.3. Acceptable Finite Field Groups | |||
5.4. Certificates . . . . . . . . . . . . . . . . . . . . . . 8 | 5.4. Certificates | |||
6. (D)TLS 1.2 Requirements . . . . . . . . . . . . . . . . . . . 8 | 6. (D)TLS 1.2 Requirements | |||
6.1. The extended_master_secret Extension . . . . . . . . . . 8 | 6.1. The "extended_master_secret" Extension | |||
6.2. The signature_algorithms Extension . . . . . . . . . . . 9 | 6.2. The "signature_algorithms" Extension | |||
6.3. The signature_algorithms_cert Extension . . . . . . . . . 9 | 6.3. The "signature_algorithms_cert" Extension | |||
6.4. The CertificateRequest Message . . . . . . . . . . . . . 10 | 6.4. The CertificateRequest Message | |||
6.5. The CertificateVerify Message . . . . . . . . . . . . . . 10 | 6.5. The CertificateVerify Message | |||
6.6. The Signature in the ServerKeyExchange Message . . . . . 10 | 6.6. The Signature in the ServerKeyExchange Message | |||
6.7. Certificate Status . . . . . . . . . . . . . . . . . . . 10 | 6.7. Certificate Status | |||
7. (D)TLS 1.3 Requirements . . . . . . . . . . . . . . . . . . . 10 | 7. (D)TLS 1.3 Requirements | |||
7.1. The "signature_algorithms" Extension . . . . . . . . . . 11 | 7.1. The "signature_algorithms" Extension | |||
7.2. The "signature_algorithms_cert" Extension . . . . . . . . 11 | 7.2. The "signature_algorithms_cert" Extension | |||
7.3. The "early_data" Extension . . . . . . . . . . . . . . . 12 | 7.3. The "early_data" Extension | |||
7.4. Resumption . . . . . . . . . . . . . . . . . . . . . . . 12 | 7.4. Resumption | |||
7.5. Certificate Status . . . . . . . . . . . . . . . . . . . 12 | 7.5. Certificate Status | |||
8. Security Considerations . . . . . . . . . . . . . . . . . . . 12 | 8. Security Considerations | |||
9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 13 | 9. IANA Considerations | |||
10. References . . . . . . . . . . . . . . . . . . . . . . . . . 13 | 10. References | |||
10.1. Normative References . . . . . . . . . . . . . . . . . . 13 | 10.1. Normative References | |||
10.2. Informative References . . . . . . . . . . . . . . . . . 15 | 10.2. Informative References | |||
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 16 | Author's Address | |||
1. Introduction | 1. Introduction | |||
This document specifies a profile of TLS version 1.2 [RFC5246] and | This document specifies a profile of TLS version 1.2 [RFC5246] and | |||
TLS version 1.3 [RFC8446], as well as DTLS version 1.2 [RFC6347] and | TLS version 1.3 [RFC8446] as well as DTLS version 1.2 [RFC6347] and | |||
DTLS version 1.3 [ID.dtls13] for use by applications that support the | DTLS version 1.3 [RFC9147] for use by applications that support the | |||
National Security Agency's (NSA) Commercial National Security | National Security Agency's (NSA) Commercial National Security | |||
Algorithm (CNSA) Suite [CNSA]. The profile applies to the | Algorithm (CNSA) Suite [CNSA]. The profile applies to the | |||
capabilities, configuration, and operation of all components of US | capabilities, configuration, and operation of all components of US | |||
National Security Systems [SP80059]. It is also appropriate for all | National Security Systems [SP80059]. It is also appropriate for all | |||
other US Government systems that process high-value information. It | other US Government systems that process high-value information. It | |||
is made publicly available for use by developers and operators of | is made publicly available for use by developers and operators of | |||
these and any other system deployments. | these and any other system deployments. | |||
This document does not define any new cipher suites; instead, it | This document does not define any new cipher suites; instead, it | |||
defines a CNSA compliant profile of TLS and DTLS, and the cipher | defines a CNSA-compliant profile of TLS and DTLS, and the cipher | |||
suites defined in [RFC5288], [RFC5289], and [RFC8446]. This profile | suites defined in [RFC5288], [RFC5289], and [RFC8446]. This profile | |||
uses only algorithms in the CNSA Suite. | uses only algorithms in the CNSA Suite. | |||
The reader is assumed to have familiarity with the TLS 1.2 and 1.3 as | The reader is assumed to have familiarity with the TLS 1.2 and 1.3 as | |||
well as the DTLS 1.2 and 1.3 protocol specifications: [RFC5246], | well as the DTLS 1.2 and 1.3 protocol specifications: [RFC5246], | |||
[RFC6347], [RFC8446], and [ID.dtls13]. All MUST-level requirements | [RFC8446], [RFC6347], and [RFC9147], respectively. All MUST-level | |||
from the protocol documents apply throughout this profile; they are | requirements from the protocol documents apply throughout this | |||
generally not repeated. This profile contains changes that elevate | profile; they are generally not repeated. This profile contains | |||
some SHOULD-level options to MUST-level; this profile also contains | changes that elevate some SHOULD-level options to MUST-level; this | |||
changes that elevate some MAY-level options to SHOULD-level or MUST- | profile also contains changes that elevate some MAY-level options to | |||
level. All options that are not mentioned in this profile remain at | SHOULD-level or MUST-level. All options that are not mentioned in | |||
their original requirement level. | this profile remain at their original requirement level. | |||
2. The Commercial National Security Algorithm Suite | 2. CNSA | |||
The National Security Agency (NSA) profiles commercial cryptographic | The National Security Agency (NSA) profiles commercial cryptographic | |||
algorithms and protocols as part of its mission to support secure, | algorithms and protocols as part of its mission to support secure, | |||
interoperable communications for US Government National Security | interoperable communications for US National Security Systems. To | |||
Systems. To this end, it publishes guidance both to assist with the | this end, it publishes guidance both to assist with the US Government | |||
US Government transition to new algorithms, and to provide vendors - | transition to new algorithms and to provide vendors -- and the | |||
and the Internet community in general - with information concerning | Internet community in general -- with information concerning their | |||
their proper use and configuration. | proper use and configuration. | |||
Recently, cryptographic transition plans have become overshadowed by | Recently, cryptographic transition plans have become overshadowed by | |||
the prospect of the development of a cryptographically-relevant | the prospect of the development of a cryptographically relevant | |||
quantum computer. NSA has established the CNSA Suite to provide | quantum computer. The NSA has established the CNSA Suite to provide | |||
vendors and IT users near-term flexibility in meeting their | vendors and IT users near-term flexibility in meeting their | |||
Information Assurance (IA) interoperability requirements. The | Information Assurance (IA) interoperability requirements. The | |||
purpose behind this flexibility is to avoid having vendors and | purpose behind this flexibility is to avoid having vendors and | |||
customers make two major transitions in a relatively short timeframe, | customers make two major transitions in a relatively short timeframe, | |||
as we anticipate a need to shift to quantum-resistant cryptography in | as we anticipate a need to shift to quantum-resistant cryptography in | |||
the near future. | the near future. | |||
NSA is authoring a set of RFCs, including this one, to provide | The NSA is authoring a set of RFCs, including this one, to provide | |||
updated guidance concerning the use of certain commonly available | updated guidance concerning the use of certain commonly available | |||
commercial algorithms in IETF protocols. These RFCs can be used in | commercial algorithms in IETF protocols. These RFCs can be used in | |||
conjunction with other RFCs and cryptographic guidance (e.g., NIST | conjunction with other RFCs and cryptographic guidance (e.g., NIST | |||
Special Publications) to properly protect Internet traffic and data- | Special Publications) to properly protect Internet traffic and data- | |||
at-rest for US Government National Security Systems. | at-rest for US National Security Systems. | |||
3. Terminology | 3. Terminology | |||
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | |||
"OPTIONAL" in this document are to be interpreted as described in BCP | "OPTIONAL" in this document are to be interpreted as described in | |||
14 [RFC2119] [RFC8174] when, and only when, they appear in all | BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all | |||
capitals, as shown here. | capitals, as shown here. | |||
"ECDSA" and "ECDH" refer to the use of the Elliptic Curve Digital | "ECDSA" and "ECDH" refer to the use of the Elliptic Curve Digital | |||
Signature Algorithm (ECDSA) and Elliptic Curve Diffie Hellman (ECDH), | Signature Algorithm (ECDSA) and Elliptic Curve Diffie Hellman (ECDH), | |||
respectively. ECDSA and ECDH are used with the NIST P-384 curve | respectively. ECDSA and ECDH are used with the NIST P-384 curve | |||
(which is based on a 384-bit prime modulus) and the SHA-384 hash | (which is based on a 384-bit prime modulus) and the SHA-384 hash | |||
function. Similarly, "RSA" and "DH" refer to Rivest-Shamir-Adleman | function. Similarly, "RSA" and "DH" refer to Rivest-Shamir-Adleman | |||
(RSA) and Finite Field Diffie-Hellman (DH), respectively. RSA and DH | (RSA) and Finite Field Diffie-Hellman (DH), respectively. RSA and DH | |||
are used with a 3072-bit or 4096-bit modulus. When RSA is used for | are used with a 3072-bit or 4096-bit modulus. When RSA is used for | |||
digital signature, it is used with the SHA-384 hash function. | digital signature, it is used with the SHA-384 hash function. | |||
Henceforth, this document refers to TLS versions 1.2 and 1.3 and DTLS | Henceforth, this document refers to TLS versions 1.2 and 1.3 and DTLS | |||
versions 1.2 and 1.3 collectively as (D)TLS. | versions 1.2 and 1.3 collectively as "(D)TLS". | |||
4. CNSA Suite | 4. CNSA Suites | |||
[CNSA] approves the use of both finite field and elliptic curve | [CNSA] approves the use of both Finite Field and elliptic curve | |||
versions of the DH key agreement algorithm, as well as RSA-based key | versions of the DH key agreement algorithm as well as RSA-based key | |||
establishment. [CNSA] also approves certain versions of the RSA and | establishment. [CNSA] also approves certain versions of the RSA and | |||
elliptic curve digital signature algorithms. The approved encryption | elliptic curve digital signature algorithms. The approved encryption | |||
techniques include the Advanced Encryption Standard (AES) used with a | techniques include the Advanced Encryption Standard (AES) used with a | |||
256-bit key in an Authenticated Encryption with Associated Data | 256-bit key in an Authenticated Encryption with Associated Data | |||
(AEAD) mode. | (AEAD) mode. | |||
In particular, CNSA includes the following: | In particular, CNSA includes the following: | |||
Encryption: | Encryption: | |||
AES [AES] (with key size 256 bits), operating in Galois/Counter | ||||
AES [AES] (with key size 256 bits), operating in Galois/Counter | Mode (GCM) [GCM] | |||
Mode (GCM) [GCM] | ||||
Digital Signature: | ||||
ECDSA [DSS] (using the NIST P-384 elliptic curve) | Digital Signature: | |||
RSA [DSS] (with a modulus of 3072 bits or 4096 bits) | ECDSA [DSS] (using the NIST P-384 elliptic curve) | |||
Key Establishment (includes key agreement and key transport): | RSA [DSS] (with a modulus of 3072 bits or 4096 bits) | |||
ECDH [PWKE-A] (using the NIST P-384 elliptic curve) | Key Establishment (includes key agreement and key transport): | |||
ECDH [PWKE-A] (using the NIST P-384 elliptic curve) | ||||
DH [PWKE-A] (with a prime modulus of 3072 or 4096 bits) | DH [PWKE-A] (with a prime modulus of 3072 or 4096 bits) | |||
RSA [PWKE-B] (with a modulus of 3072 or 4096 bits, but only in | RSA [PWKE-B] (with a modulus of 3072 or 4096 bits, but only in | |||
(D)TLS 1.2) | (D)TLS 1.2) | |||
[CNSA] also approves the use of SHA-384 [SHS] for the hash algorithm | [CNSA] also approves the use of SHA-384 [SHS] as the hash algorithm | |||
for mask generation, signature generation, Pseudo Random Function | for mask generation, signature generation, Pseudorandom Function | |||
(PRF) in TLS 1.2 and HMAC-based key derivation function (HKDF) in TLS | (PRF) in TLS 1.2 and HMAC-based Key Derivation Function (HKDF) in TLS | |||
1.3. | 1.3. | |||
4.1. CNSA (D)TLS Key Establishment Algorithms | 4.1. CNSA (D)TLS Key Establishment Algorithms | |||
The following combination of algorithms and key sizes are used in | The following combination of algorithms and key sizes are used in | |||
CNSA (D)TLS: | CNSA (D)TLS: | |||
AES with 256-bit key, operating in GCM mode | AES with 256-bit key, operating in GCM mode | |||
ECDH [PWKE-A] using the Ephemeral Unified Model Scheme with | ECDH [PWKE-A] using the Ephemeral Unified Model Scheme with | |||
skipping to change at page 5, line 50 ¶ | skipping to change at line 225 ¶ | |||
Or | Or | |||
AES with 256-bit key, operating in GCM mode | AES with 256-bit key, operating in GCM mode | |||
DH using dhEphem with domain parameters specified below in | DH using dhEphem with domain parameters specified below in | |||
Section 5.3 (see Section 6.1.2.1 in [PWKE-A]) | Section 5.3 (see Section 6.1.2.1 in [PWKE-A]) | |||
TLS PRF/HKDF with SHA-384 [SHS] | TLS PRF/HKDF with SHA-384 [SHS] | |||
The specific CNSA compliant cipher suites are listed in Section 5. | The specific CNSA-compliant cipher suites are listed in Section 5. | |||
4.2. CNSA TLS Authentication | 4.2. CNSA TLS Authentication | |||
For server and/or client authentication, CNSA (D)TLS MUST generate | For server and/or client authentication, CNSA (D)TLS MUST generate | |||
and verify either ECDSA signatures or RSA signatures. | and verify either ECDSA signatures or RSA signatures. | |||
In all cases, the client MUST authenticate the server. The server | In all cases, the client MUST authenticate the server. The server | |||
MAY also authenticate the client, as needed by the specific | MAY also authenticate the client, as needed by the specific | |||
application. | application. | |||
The public keys used to verify these signatures MUST be contained in | The public keys used to verify these signatures MUST be contained in | |||
a certificate, see Section 5.4 for more information. | a certificate (see Section 5.4 for more information). | |||
5. CNSA Compliance and Interoperability Requirements | 5. CNSA Compliance and Interoperability Requirements | |||
CNSA (D)TLS MUST NOT use TLS versions prior to (D)TLS 1.2 in a CNSA | CNSA (D)TLS MUST NOT use TLS versions prior to (D)TLS 1.2 in a CNSA- | |||
compliant system. CNSA (D)TLS servers and clients MUST implement and | compliant system. CNSA (D)TLS servers and clients MUST implement and | |||
use either (D)TLS version 1.2 [RFC5246][RFC6347] or (D)TLS version | use either (D)TLS version 1.2 [RFC5246] [RFC6347] or (D)TLS version | |||
1.3 [RFC8446][ID.dtls13]. | 1.3 [RFC8446] [RFC9147]. | |||
5.1. Acceptable ECC Curves | 5.1. Acceptable Elliptic Curve Cryptography (ECC) Curves | |||
The elliptic curves used in the CNSA Suite appear in the literature | The elliptic curves used in the CNSA Suite appear in the literature | |||
under two different names [DSS] [SECG]. For the sake of clarity, | under two different names [DSS] [SECG]. For the sake of clarity, | |||
both names are listed below: | both names are listed below: | |||
Curve NIST name SECG name | +=======+===========+===========+ | |||
-------------------------------- | | Curve | NIST name | SECG name | | |||
P-384 nistp384 secp384r1 | +=======+===========+===========+ | |||
| P-384 | nistp384 | secp384r1 | | ||||
+-------+-----------+-----------+ | ||||
Table 1: Elliptic Curves in | ||||
CNSA Suite | ||||
[RFC8422] defines a variety of elliptic curves. CNSA (D)TLS | [RFC8422] defines a variety of elliptic curves. CNSA (D)TLS | |||
connections MUST use secp384r1 (also called nistp384) and the | connections MUST use secp384r1 (also called nistp384), and the | |||
uncompressed form MUST be used, as required by [RFC8422] and | uncompressed form MUST be used, as required by [RFC8422] and | |||
[RFC8446]. | [RFC8446]. | |||
Key pairs MUST be generated following Section 5.6.1.2 of [PWKE-A]. | Key pairs MUST be generated following Section 5.6.1.2 of [PWKE-A]. | |||
5.2. Acceptable RSA Schemes, Parameters and Checks | 5.2. Acceptable RSA Schemes, Parameters, and Checks | |||
[CNSA] specifies a minimum modulus size of 3072 bits; however, only | [CNSA] specifies a minimum modulus size of 3072 bits; however, only | |||
two modulus sizes (3072 bits and 4096 bits) are supported by this | two modulus sizes (3072 bits and 4096 bits) are supported by this | |||
profile. | profile. | |||
For (D)TLS 1.2: | For (D)TLS 1.2: | |||
For certificate signatures, RSASSA-PKCS1-v1_5 [RFC8017] MUST be | ||||
For certificate signature, RSASSA-PKCS1-v1.5 [RFC8017] MUST be | supported, and RSASSA-PSS [DSS] SHOULD be supported. | |||
supported, and RSASSA-PSS [DSS] SHOULD be supported. | ||||
For signatures in TLS handshake messages RSASSA-PKCS1-v1.5 | ||||
[RFC8017] MUST be supported, and RSASSA-PSS [DSS] SHOULD be | ||||
supported. | ||||
For key transport, RSAES-PKCS1-v1.5 [RFC8017] MUST be | ||||
supported. | ||||
For (D)TLS 1.3: | For signatures in TLS handshake messages, RSASSA-PKCS1-v1_5 | |||
[RFC8017] MUST be supported, and RSASSA-PSS [DSS] SHOULD be | ||||
supported. | ||||
For certificate signature, RSASSA-PKCS1-v1.5 [RFC8017] MUST be | For key transport, RSAES-PKCS1-v1_5 [RFC8017] MUST be supported. | |||
supported, and RSASSA-PSS [DSS] SHOULD be supported. | ||||
For signatures in TLS handshake messages RSASSA-PSS [DSS] MUST | For (D)TLS 1.3: | |||
be supported. | For certificate signatures, RSASSA-PKCS1-v1_5 [RFC8017] MUST be | |||
supported, and RSASSA-PSS [DSS] SHOULD be supported. | ||||
For key transport, TLS 1.3 does not support RSA key transport. | For signatures in TLS handshake messages, RSASSA-PSS [DSS] MUST be | |||
supported. | ||||
For all versions of (D)TLS: | For key transport, TLS 1.3 does not support RSA key transport. | |||
RSA exponent e MUST satisfy 2^16<e<2^256 and be odd per [DSS]. | For all versions of (D)TLS: | |||
RSA exponent e MUST satisfy 2^16<e<2^256 and be odd per [DSS]. | ||||
If RSASSA-PSS is supported (using rsa_pss_rsae_sha384 for | If RSASSA-PSS is supported (using rsa_pss_rsae_sha384 for | |||
example), then the implementation MUST assert rsaEncryption as | example), then the implementation MUST assert rsaEncryption as the | |||
the public key algorithm, the hash algorithm (used for both | public key algorithm, the hash algorithm (used for both mask | |||
mask generation and signature generation) MUST be SHA-384, the | generation and signature generation) MUST be SHA-384, the mask | |||
mask generation function 1 (MGF1) from [RFC8017] MUST be used, | generation function 1 (MGF1) from [RFC8017] MUST be used, and the | |||
and the salt length MUST be 48 octets. | salt length MUST be 48 octets. | |||
5.3. Acceptable Finite Field Groups | 5.3. Acceptable Finite Field Groups | |||
[CNSA] specifies a minimum modulus size of 3072 bits; however, only | [CNSA] specifies a minimum modulus size of 3072 bits; however, only | |||
two modulus sizes (3072 bits and 4096 bits) are supported by this | two modulus sizes (3072 bits and 4096 bits) are supported by this | |||
profile. | profile. | |||
Ephemeral key pairs MUST be generated following Section 5.6.1.1.1 of | Ephemeral key pairs MUST be generated following Section 5.6.1.1.1 of | |||
[PWKE-A] using the approved safe prime groups specified in [RFC7919] | [PWKE-A] using the approved safe prime groups specified in [RFC7919] | |||
for DH ephemeral key agreement. The named groups are: | for DH ephemeral key agreement. The named groups are: | |||
ffdhe3072 (ID=257) | ffdhe3072 (ID=257) | |||
ffdhe4096 (ID=258) | ffdhe4096 (ID=258) | |||
5.4. Certificates | 5.4. Certificates | |||
Certificates used to establish a CNSA (D)TLS connection MUST be | Certificates used to establish a CNSA (D)TLS connection MUST be | |||
signed with ECDSA or RSA and MUST be compliant with the "CNSA | signed with ECDSA or RSA and MUST be compliant with the CNSA Suite | |||
Certificate and Certificate Revocation List (CRL) Profile" [RFC8603]. | Certificate and Certificate Revocation List (CRL) Profile [RFC8603]. | |||
6. (D)TLS 1.2 Requirements | 6. (D)TLS 1.2 Requirements | |||
Although TLS 1.2 has technically been obsoleted by the IETF in favor | Although TLS 1.2 has technically been obsoleted by the IETF in favor | |||
of TLS 1.3, many implementations and deployments of TLS 1.2 will | of TLS 1.3, many implementations and deployments of TLS 1.2 will | |||
continue to exist. For the cases where TLS 1.2 continues to be used, | continue to exist. For the cases where TLS 1.2 continues to be used, | |||
implementations MUST use [RFC5246] and SHOULD implement the updates | implementations MUST use [RFC5246] and SHOULD implement the updates | |||
specified in [RFC8446] (outlined in Section 1.3). | specified in [RFC8446] (outlined in Section 1.3 of that document). | |||
The CNSA (D)TLS 1.2 client MUST offer at least one of these | The CNSA (D)TLS 1.2 client MUST offer at least one of these cipher | |||
ciphersuites: | suites: | |||
TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 [RFC5289] [RFC8422] | TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 [RFC5289] [RFC8422] | |||
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 [RFC5289] [RFC8422] | TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 [RFC5289] [RFC8422] | |||
TLS_RSA_WITH_AES_256_GCM_SHA384 [RFC5288] | TLS_RSA_WITH_AES_256_GCM_SHA384 [RFC5288] | |||
TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 [RFC5288] [RFC7919] | TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 [RFC5288] [RFC7919] | |||
The CNSA cipher suites listed above MUST be the first (most | The CNSA cipher suites listed above MUST be the first (most | |||
preferred) cipher suites in the ClientHello message. | preferred) cipher suites in the ClientHello message. | |||
A CNSA (D)TLS client that offers interoperability with servers that | A CNSA (D)TLS client that offers interoperability with servers that | |||
are not CNSA compliant MAY offer additional cipher suites, but any | are not CNSA compliant MAY offer additional cipher suites, but any | |||
additional cipher suites MUST appear after the CNSA cipher suites in | additional cipher suites MUST appear after the CNSA cipher suites in | |||
the ClientHello message. | the ClientHello message. | |||
A CNSA (D)TLS server MUST accept one of the CNSA suites above if they | A CNSA (D)TLS server MUST accept one of the CNSA Suites above if they | |||
are offered in the ClientHello message before accepting a non-CNSA | are offered in the ClientHello message before accepting a non-CNSA- | |||
compliant suite. | compliant suite. | |||
If interoperability is not desired with non-CNSA compliant clients or | If interoperability is not desired with non-CNSA-compliant clients or | |||
servers, then the session MUST fail if no CNSA suites are offered or | servers, then the session MUST fail if no CNSA Suites are offered or | |||
accepted. | accepted. | |||
6.1. The extended_master_secret Extension | 6.1. The "extended_master_secret" Extension | |||
A CNSA (D)TLS client SHOULD include and a CNSA (D)TLS server SHOULD | A CNSA (D)TLS client SHOULD include and a CNSA (D)TLS server SHOULD | |||
accept the "extended_master_secret" extension as specified in | accept the "extended_master_secret" extension as specified in | |||
[RFC7627]. See Section 1 of [RFC7627] for security concerns when | [RFC7627]. See Section 1 of [RFC7627] for security concerns when | |||
this extension is not used. | this extension is not used. | |||
6.2. The signature_algorithms Extension | 6.2. The "signature_algorithms" Extension | |||
A CNSA (D)TLS client MUST include and a CNSA (D)TLS server MUST also | A CNSA (D)TLS client MUST include and a CNSA (D)TLS server MUST also | |||
accept the "signature_algorithms" extension. The CNSA (D)TLS client | accept the "signature_algorithms" extension. The CNSA (D)TLS client | |||
MUST offer and the CNSA (D)TLS server MUST also accept at least one | MUST offer and the CNSA (D)TLS server MUST also accept at least one | |||
of the following values in the "signature_algorithms" extensions as | of the following values in the "signature_algorithms" extensions as | |||
specified in [RFC8446]: | specified in [RFC8446]: | |||
ecdsa_secp384r1_sha384 | ecdsa_secp384r1_sha384 | |||
rsa_pkcs1_sha384 | rsa_pkcs1_sha384 | |||
skipping to change at page 9, line 33 ¶ | skipping to change at line 393 ¶ | |||
Following the guidance in [RFC8603], CNSA (D)TLS servers MUST only | Following the guidance in [RFC8603], CNSA (D)TLS servers MUST only | |||
accept ECDSA or RSA for signatures on ServerKeyExchange messages and | accept ECDSA or RSA for signatures on ServerKeyExchange messages and | |||
for certification path validation. | for certification path validation. | |||
Other client offerings MAY be included to indicate the acceptable | Other client offerings MAY be included to indicate the acceptable | |||
signature algorithms in cipher suites that are offered for | signature algorithms in cipher suites that are offered for | |||
interoperability with servers not compliant with CNSA and to indicate | interoperability with servers not compliant with CNSA and to indicate | |||
the signature algorithms that are acceptable for ServerKeyExchange | the signature algorithms that are acceptable for ServerKeyExchange | |||
messages and for certification path validation in non-compliant CNSA | messages and for certification path validation in non-compliant CNSA | |||
(D)TLS connections. These offerings MUST NOT be accepted by a CNSA | (D)TLS connections. These offerings MUST NOT be accepted by a CNSA- | |||
compliant (D)TLS server. | compliant (D)TLS server. | |||
6.3. The signature_algorithms_cert Extension | 6.3. The "signature_algorithms_cert" Extension | |||
A CNSA (D)TLS client MAY include the "signature_algorithms_cert" | A CNSA (D)TLS client MAY include the "signature_algorithms_cert" | |||
extension. CNSA (D)TLS servers MUST process the | extension. CNSA (D)TLS servers MUST process the | |||
"signature_algorithms_cert" extension if it is offered per | "signature_algorithms_cert" extension if it is offered per | |||
Section 4.2.3 of [RFC8446]. | Section 4.2.3 of [RFC8446]. | |||
Both CNSA (D)TLS clients and servers MUST use one of the following | Both CNSA (D)TLS clients and servers MUST use one of the following | |||
values for certificate path validation: | values for certificate path validation: | |||
ecdsa_secp384r1_sha384 | ecdsa_secp384r1_sha384 | |||
skipping to change at page 10, line 4 ¶ | skipping to change at line 413 ¶ | |||
Both CNSA (D)TLS clients and servers MUST use one of the following | Both CNSA (D)TLS clients and servers MUST use one of the following | |||
values for certificate path validation: | values for certificate path validation: | |||
ecdsa_secp384r1_sha384 | ecdsa_secp384r1_sha384 | |||
rsa_pkcs1_sha384 | rsa_pkcs1_sha384 | |||
And, if supported, SHOULD offer/accept: | And, if supported, SHOULD offer/accept: | |||
rsa_pss_pss_sha384 | rsa_pss_pss_sha384 | |||
rsa_pss_rsae_sha384 | rsa_pss_rsae_sha384 | |||
6.4. The CertificateRequest Message | 6.4. The CertificateRequest Message | |||
When a CNSA (D)TLS server is configured to authenticate the client, | When a CNSA (D)TLS server is configured to authenticate the client, | |||
the server MUST include in its | the server MUST include the following values in its | |||
CertificateRequest.supported_signature_algorithms [RFC5246] offer: | CertificateRequest.supported_signature_algorithms [RFC5246] offer: | |||
ecdsa_secp384r1_sha384 | ecdsa_secp384r1_sha384 | |||
rsa_pkcs1_sha384 | rsa_pkcs1_sha384 | |||
And, if supported as specified in [RFC8446], SHOULD offer/accept: | And, if supported as specified in [RFC8446], SHOULD offer/accept: | |||
rsa_pss_pss_sha384 | rsa_pss_pss_sha384 | |||
rsa_pss_rsae_sha384 | rsa_pss_rsae_sha384 | |||
6.5. The CertificateVerify Message | 6.5. The CertificateVerify Message | |||
A CNSA (D)TLS client MUST use ECDSA or RSA when sending the | A CNSA (D)TLS client MUST use ECDSA or RSA when sending the | |||
CertificateVerify message. CNSA (D)TLS Servers MUST only accept | CertificateVerify message. CNSA (D)TLS servers MUST only accept | |||
ECDSA or RSA in the CertificateVerify message. | ECDSA or RSA in the CertificateVerify message. | |||
6.6. The Signature in the ServerKeyExchange Message | 6.6. The Signature in the ServerKeyExchange Message | |||
A CNSA (D)TLS server MUST sign the ServerKeyExchange message using | A CNSA (D)TLS server MUST sign the ServerKeyExchange message using | |||
ECDSA or RSA. | ECDSA or RSA. | |||
6.7. Certificate Status | 6.7. Certificate Status | |||
Certificate Authorities providing certificates to a CNSA (D)TLS | Certificate Authorities (CAs) providing certificates to a CNSA (D)TLS | |||
server or client MUST provide certificate revocation status | server or client MUST provide certificate revocation status | |||
information via a Certificate Revocation List (CRL) distribution | information via a Certificate Revocation List (CRL) distribution | |||
point or using the Online Certificate Status Protocol (OCSP). A CNSA | point or using the Online Certificate Status Protocol (OCSP). A CNSA | |||
client SHOULD request it according to [RFC8446] Section 4.4.2.1. If | client SHOULD request it according to Section 4.4.2.1 of [RFC8446]. | |||
OCSP is supported, the (D)TLS server SHOULD provide OCSP responses in | If OCSP is supported, the (D)TLS server SHOULD provide OCSP responses | |||
the "CertificateStatus" message. | in the CertificateStatus message. | |||
7. (D)TLS 1.3 Requirements | 7. (D)TLS 1.3 Requirements | |||
The CNSA (D)TLS client MUST offer the following CipherSuite in the | The CNSA (D)TLS client MUST offer the following cipher suite in the | |||
ClientHello: | ClientHello: | |||
TLS_AES_256_GCM_SHA384 | TLS_AES_256_GCM_SHA384 | |||
The CNSA (D)TLS client MUST include at least one of the following | The CNSA (D)TLS client MUST include at least one of the following | |||
values in "supported_groups": | values in the "supported_groups" extension: | |||
ECDHE: secp384r1 | ECDHE: secp384r1 | |||
DHE: ffdhe3072 | DHE: ffdhe3072 | |||
DHE: ffdhe4096 | DHE: ffdhe4096 | |||
The CNSA cipher suite MUST be the first (most preferred) cipher | The CNSA cipher suite MUST be the first (most preferred) cipher suite | |||
suites in the ClientHello message and in the extensions. | in the ClientHello message and in the extensions. | |||
A CNSA (D)TLS client that offers interoperability with servers that | A CNSA (D)TLS client that offers interoperability with servers that | |||
are not CNSA compliant MAY offer additional cipher suites, but any | are not CNSA compliant MAY offer additional cipher suites, but any | |||
additional cipher suites MUST appear after the CNSA compliant cipher | additional cipher suites MUST appear after the CNSA-compliant cipher | |||
suites in the ClientHello message. | suites in the ClientHello message. | |||
A CNSA (D)TLS server MUST accept one of the CNSA algorithms listed | A CNSA (D)TLS server MUST accept one of the CNSA algorithms listed | |||
above if they are offered in the ClientHello message. | above if they are offered in the ClientHello message. | |||
If interoperability is not desired with non-CNSA compliant clients or | If interoperability is not desired with non-CNSA-compliant clients or | |||
servers, then the session MUST fail if no CNSA suites are offered or | servers, then the session MUST fail if no CNSA Suites are offered or | |||
accepted. | accepted. | |||
7.1. The "signature_algorithms" Extension | 7.1. The "signature_algorithms" Extension | |||
A CNSA (D)TLS client MUST include the "signature_algorithms" | A CNSA (D)TLS client MUST include the "signature_algorithms" | |||
extension. The CNSA (D)TLS client MUST offer at least one of the | extension. The CNSA (D)TLS client MUST offer at least one of the | |||
following values in the "signature_algorithms" extension: | following values in the "signature_algorithms" extension: | |||
ecdsa_secp384r1_sha384 | ecdsa_secp384r1_sha384 | |||
rsa_pss_pss_sha384 | rsa_pss_pss_sha384 | |||
rsa_pss_rsae_sha384 | rsa_pss_rsae_sha384 | |||
Clients that allow negotiating TLS 1.2 MAY offer rsa_pkcs1_sha384 for | Clients that allow negotiating TLS 1.2 MAY offer rsa_pkcs1_sha384 for | |||
use with TLS 1.2. Other offerings MAY be included to indicate the | use with TLS 1.2. Other offerings MAY be included to indicate the | |||
acceptable signature algorithms in cipher suites that are offered for | acceptable signature algorithms in cipher suites that are offered for | |||
interoperability with servers not compliant with CNSA in non- | interoperability with servers not compliant with CNSA in non- | |||
compliant CNSA (D)TLS connections. These offerings MUST NOT be | compliant CNSA (D)TLS connections. These offerings MUST NOT be | |||
accepted by a CNSA compliant (D)TLS server. | accepted by a CNSA-compliant (D)TLS server. | |||
7.2. The "signature_algorithms_cert" Extension | 7.2. The "signature_algorithms_cert" Extension | |||
A CNSA (D)TLS client SHOULD include the "signature_algorithms_cert" | A CNSA (D)TLS client SHOULD include the "signature_algorithms_cert" | |||
extension. And if offered, the CNSA (D)TLS client MUST offer at | extension. And, if offered, the CNSA (D)TLS client MUST offer at | |||
least one of the following values in the "signature_algorithms_cert" | least one of the following values in the "signature_algorithms_cert" | |||
extension: | extension: | |||
ecdsa_secp384r1_sha384 | ecdsa_secp384r1_sha384 | |||
rsa_pkcs1_sha384 | rsa_pkcs1_sha384 | |||
And, if supported, SHOULD offer: | And, if supported, SHOULD offer: | |||
rsa_pss_pss_sha384 | rsa_pss_pss_sha384 | |||
rsa_pss_rsae_sha384 | rsa_pss_rsae_sha384 | |||
Following the guidance in [RFC8603], CNSA (D)TLS servers MUST only | Following the guidance in [RFC8603], CNSA (D)TLS servers MUST only | |||
accept ECDSA or RSA for certificate path validation. | accept ECDSA or RSA for certificate path validation. | |||
skipping to change at page 12, line 18 ¶ | skipping to change at line 526 ¶ | |||
rsa_pss_pss_sha384 | rsa_pss_pss_sha384 | |||
rsa_pss_rsae_sha384 | rsa_pss_rsae_sha384 | |||
Following the guidance in [RFC8603], CNSA (D)TLS servers MUST only | Following the guidance in [RFC8603], CNSA (D)TLS servers MUST only | |||
accept ECDSA or RSA for certificate path validation. | accept ECDSA or RSA for certificate path validation. | |||
Other offerings MAY be included to indicate the signature algorithms | Other offerings MAY be included to indicate the signature algorithms | |||
that are acceptable for certification path validation in non- | that are acceptable for certification path validation in non- | |||
compliant CNSA (D)TLS connections. These offerings MUST NOT be | compliant CNSA (D)TLS connections. These offerings MUST NOT be | |||
accepted by a CNSA compliant (D)TLS server. | accepted by a CNSA-compliant (D)TLS server. | |||
7.3. The "early_data" Extension | 7.3. The "early_data" Extension | |||
A CNSA (D)TLS client or server MUST NOT include the "early_data" | A CNSA (D)TLS client or server MUST NOT include the "early_data" | |||
extension. See Section 2.3 [RFC8446] for security concerns. | extension. See Section 2.3 of [RFC8446] for security concerns. | |||
7.4. Resumption | 7.4. Resumption | |||
A CNSA (D)TLS server MAY send a CNSA (D)TLS client a NewSessionTicket | A CNSA (D)TLS server MAY send a CNSA (D)TLS client a NewSessionTicket | |||
message to enable resumption. A CNSA (D)TLS client MUST request | message to enable resumption. A CNSA (D)TLS client MUST request | |||
"psk_dhe_ke" via the psk_key_exchange_modes ClientHello extension to | "psk_dhe_ke" via the "psk_key_exchange_modes" ClientHello extension | |||
resume a session. A CNSA (D)TLS client MUST offer ECDHE with SHA-384 | to resume a session. A CNSA (D)TLS client MUST offer Ephemeral | |||
and/or DHE with SHA-384 in the "supported_groups" and/or "key_share" | Elliptic Curve Diffie-Hellman (ECDHE) with SHA-384 and/or Ephemeral | |||
extensions. | Diffie-Hellman (DHE) with SHA-384 in the "supported_groups" and/or | |||
"key_share" extensions. | ||||
7.5. Certificate Status | 7.5. Certificate Status | |||
Certificate Authorities providing certificates to a CNSA (D)TLS | Certificate Authorities (CAs) providing certificates to a CNSA (D)TLS | |||
server or client MUST provide certificate revocation status | server or client MUST provide certificate revocation status | |||
information via a Certificate Revocation List (CRL) distribution | information via a Certificate Revocation List (CRL) distribution | |||
point or using the Online Certificate Status Protocol (OCSP). A CNSA | point or using the Online Certificate Status Protocol (OCSP). A CNSA | |||
client SHOULD request it according to [RFC8446] Section 4.4.2.1. If | client SHOULD request it according to Section 4.4.2.1 of [RFC8446]. | |||
OCSP is supported, the (D)TLS server SHOULD provide OCSP responses in | If OCSP is supported, the (D)TLS server SHOULD provide OCSP responses | |||
the "CertificateEntry". | in the "CertificateEntry". | |||
8. Security Considerations | 8. Security Considerations | |||
Most of the security considerations for this document are described | Most of the security considerations for this document are described | |||
in [RFC5246], [RFC8446], [RFC6347], and [ID.dtls13]. In addition, | in [RFC5246], [RFC8446], [RFC6347], and [RFC9147]. In addition, the | |||
the security consideration for ECC related to TLS are described in | security considerations for Elliptic Curve Cryptography (ECC) related | |||
[RFC8422], [RFC5288] and [RFC5289]. Readers should consult those | to TLS are described in [RFC8422], [RFC5288], and [RFC5289]. Readers | |||
documents. | should consult those documents. | |||
In order to meet the goal of a consistent security level for the | In order to meet the goal of a consistent security level for the | |||
entire cipher suite, CNSA (D)TLS implementations MUST only use the | entire cipher suite, CNSA (D)TLS implementations MUST only use the | |||
Elliptic Curves, RSA schemes and Finite Fields defined in | elliptic curves, RSA schemes, and Finite Fields defined in | |||
Section 5.1, Section 5.2, and Section 5.3 respectively. If this is | Section 5.1, Section 5.2, and Section 5.3, respectively. If this is | |||
not the case, then security may be weaker than is required. | not the case, then security may be weaker than is required. | |||
As noted in TLS version 1.3 [RFC8446], TLS does not provide inherent | As noted in TLS version 1.3 [RFC8446], TLS does not provide inherent | |||
replay protections for early data. For this reason, this profile | replay protections for early data. For this reason, this profile | |||
forbids the use of early data. | forbids the use of early data. | |||
9. IANA Considerations | 9. IANA Considerations | |||
This document has no IANA actions. | This document has no IANA actions. | |||
10. References | 10. References | |||
10.1. Normative References | 10.1. Normative References | |||
[AES] National Institute of Standards and Technology, | [AES] National Institute of Standards and Technology, | |||
"Specification for the Advanced Encryption Standard | "Announcing the ADVANCED ENCRYPTION STANDARD (AES)", | |||
(AES)", FIPS 197, November 2001, | FIPS 197, DOI 10.6028/NIST.FIPS.197, November 2001, | |||
<https://nvlpubs.nist.gov/nistpubs/fips/ | <https://nvlpubs.nist.gov/nistpubs/fips/ | |||
NIST.FIPS.197.pdf>. | NIST.FIPS.197.pdf>. | |||
[CNSA] Committee for National Security Systems, "Use of Public | [CNSA] Committee for National Security Systems, "Use of Public | |||
Standards for Secure Information Sharing", CNSSP 15, | Standards for Secure Information Sharing", CNSSP 15, | |||
October 2016, | October 2016, | |||
<https://www.cnss.gov/CNSS/issuances/Policies.cfm>. | <https://www.cnss.gov/CNSS/issuances/Policies.cfm>. | |||
[DSS] National Institute of Standards and Technology, "Digital | [DSS] National Institute of Standards and Technology, "Digital | |||
Signature Standard (DSS)", NIST Federal Information | Signature Standard (DSS)", FIPS PUB 186-4, | |||
Processing Standard 186-4, July 2013, | DOI 10.6028/NIST.FIPS.186-4, July 2013, | |||
<http://nvlpubs.nist.gov/nistpubs/FIPS/ | <https://nvlpubs.nist.gov/nistpubs/FIPS/ | |||
NIST.FIPS.186-4.pdf>. | NIST.FIPS.186-4.pdf>. | |||
[GCM] National Institute of Standards and Technology, | [GCM] Dworkin, M., "Recommendation for Block Cipher Modes of | |||
"Recommendation for Block Cipher Modes of Operation: | Operation: Galois/Counter Mode (GCM) and GMAC", NIST | |||
Galois/Counter Mode (GCM) and GMAC", NIST Special | Special Publication 800-38D, DOI 10.6028/NIST.SP.800-38D, | |||
Publication 800-38D, November 2007, | November 2007, | |||
<https://nvlpubs.nist.gov/nistpubs/Legacy/SP/ | <https://nvlpubs.nist.gov/nistpubs/Legacy/SP/ | |||
nistspecialpublication800-38d.pdf>. | nistspecialpublication800-38d.pdf>. | |||
[ID.dtls13] | [PWKE-A] Barker, E., Chen, L., Roginsky, A., Vassilev, A., and R. | |||
Rescorla, E., Tschofenig, H., and N. Modadugu, "The | Davis, "Recommendation for Pair-Wise Key Establishment | |||
Datagram Transport Layer Security (DTLS) Protocol Version | Schemes Using Discrete Logarithm Cryptography", NIST | |||
1.3", May 2020, | Special Publication 800-56A Revision 3, | |||
<https://datatracker.ietf.org/doc/draft-ietf-tls-dtls13/>. | DOI 10.6028/NIST.SP.800-56Ar3, April 2018, | |||
Work in progress. | ||||
[PWKE-A] National Institute of Standards and Technology, | ||||
"Recommendation for Pair-Wise Key Establishment Schemes | ||||
Using Discrete Logarithm Cryptography", NIST Special | ||||
Publication 800-56A, Revision 3, April 2018, | ||||
<https://nvlpubs.nist.gov/nistpubs/SpecialPublications/ | <https://nvlpubs.nist.gov/nistpubs/SpecialPublications/ | |||
NIST.SP.800-56Ar3.pdf>. | NIST.SP.800-56Ar3.pdf>. | |||
[PWKE-B] National Institute of Standards and Technology, | [PWKE-B] Barker, E., Chen, L., Roginsky, A., Vassilev, A., Davis, | |||
"Recommendation for Pair-Wise Key Establishment Schemes | R., and S. Simon, "Recommendation for Pair-Wise Key | |||
Using Integer Factorization Cryptography", NIST Special | Establishment Schemes Using Integer Factorization | |||
Publication 800-56B, Revision 2, March 2019, | Cryptography", NIST Special Publication 800-56B Revision | |||
2, DOI 10.6028/NIST.SP.800-56Br2, March 2019, | ||||
<https://nvlpubs.nist.gov/nistpubs/SpecialPublications/ | <https://nvlpubs.nist.gov/nistpubs/SpecialPublications/ | |||
NIST.SP.800-56Br2.pdf>. | NIST.SP.800-56Br2.pdf>. | |||
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
Requirement Levels", BCP 14, RFC 2119, | Requirement Levels", BCP 14, RFC 2119, | |||
DOI 10.17487/RFC2119, March 1997, | DOI 10.17487/RFC2119, March 1997, | |||
<https://www.rfc-editor.org/info/rfc2119>. | <https://www.rfc-editor.org/info/rfc2119>. | |||
[RFC5246] Dierks, T. and E. Rescorla, "The Transport Layer Security | [RFC5246] Dierks, T. and E. Rescorla, "The Transport Layer Security | |||
(TLS) Protocol Version 1.2", RFC 5246, | (TLS) Protocol Version 1.2", RFC 5246, | |||
skipping to change at page 15, line 35 ¶ | skipping to change at line 679 ¶ | |||
[RFC8446] Rescorla, E., "The Transport Layer Security (TLS) Protocol | [RFC8446] Rescorla, E., "The Transport Layer Security (TLS) Protocol | |||
Version 1.3", RFC 8446, DOI 10.17487/RFC8446, August 2018, | Version 1.3", RFC 8446, DOI 10.17487/RFC8446, August 2018, | |||
<https://www.rfc-editor.org/info/rfc8446>. | <https://www.rfc-editor.org/info/rfc8446>. | |||
[RFC8603] Jenkins, M. and L. Zieglar, "Commercial National Security | [RFC8603] Jenkins, M. and L. Zieglar, "Commercial National Security | |||
Algorithm (CNSA) Suite Certificate and Certificate | Algorithm (CNSA) Suite Certificate and Certificate | |||
Revocation List (CRL) Profile", RFC 8603, | Revocation List (CRL) Profile", RFC 8603, | |||
DOI 10.17487/RFC8603, May 2019, | DOI 10.17487/RFC8603, May 2019, | |||
<https://www.rfc-editor.org/info/rfc8603>. | <https://www.rfc-editor.org/info/rfc8603>. | |||
[SHS] National Institute of Standards and Technology, "Secure | [RFC9147] Rescorla, E., Tschofenig, H., and N. Modadugu, "The | |||
Hash Standard (SHS)", NIST Federal Information Processing | Datagram Transport Layer Security (DTLS) Protocol Version | |||
Standard 180-4, August 2015, | 1.3", RFC 9147, DOI 10.17487/RFC9147, August 2021, | |||
<https://www.rfc-editor.org/rfc/rfc9147>. | ||||
[SHS] National Institute of Standards and Technology (NIST), | ||||
"Secure Hash Standard (SHS)", DOI 10.6028/NIST.FIPS.180-4, | ||||
FIPS PUB 180-4, August 2015, | ||||
<https://nvlpubs.nist.gov/nistpubs/FIPS/ | <https://nvlpubs.nist.gov/nistpubs/FIPS/ | |||
NIST.FIPS.180-4.pdf>. | NIST.FIPS.180-4.pdf>. | |||
10.2. Informative References | 10.2. Informative References | |||
[SECG] Brown, D., "SEC 2: Recommended Elliptic Curve Domain | [SECG] Brown, D., "SEC 2: Recommended Elliptic Curve Domain | |||
Parameters", February 2010, | Parameters", Version 2.0, February 2010, | |||
<http://www.secg.org/download/aid-784/sec2-v2.pdf>. | <https://www.secg.org/sec2-v2.pdf>. | |||
[SP80059] National Institute of Standards and Technology, "Guideline | [SP80059] Barker, W., "Guideline for Identifying an Information | |||
for Identifying an Information System as a National | System as a National Security System", | |||
Security System", Special Publication 800 59, August 2003, | DOI 10.6028/NIST.SP.800-59, NIST Special | |||
Publication 800-59, August 2003, | ||||
<https://nvlpubs.nist.gov/nistpubs/Legacy/SP/ | <https://nvlpubs.nist.gov/nistpubs/Legacy/SP/ | |||
nistspecialpublication800-59.pdf>. | nistspecialpublication800-59.pdf>. | |||
Author's Address | Author's Address | |||
Dorothy Cooley | Dorothy Cooley | |||
National Security Agency | National Security Agency | |||
Email: decoole@nsa.gov | Email: decoole@nsa.gov | |||
End of changes. 80 change blocks. | ||||
210 lines changed or deleted | 206 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |