Internet-Draft | Deprecating RSA and FFDH(E) | June 2024 |
Bartle & Aviram | Expires 26 December 2024 | [Page] |
This document deprecates the use of RSA key exchange and Diffie Hellman over a finite field in TLS 1.2, and discourages the use of static elliptic curve Diffie Hellman cipher suites.¶
Note that these prescriptions apply only to TLS 1.2 since TLS 1.0 and 1.1 are deprecated by [RFC8996] and TLS 1.3 either does not use the affected algorithm or does not share the relevant configuration options.¶
This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.¶
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 and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."¶
This Internet-Draft will expire on 26 December 2024.¶
Copyright (c) 2024 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. Code Components extracted from this document must include Revised BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Revised BSD License.¶
TLS 1.2 supports a variety of key exchange algorithms, including RSA, Diffie Hellman over a finite field, and elliptic curve Diffie Hellman (ECDH).¶
Diffie Hellman key exchange, over any group, comes in ephemeral and non-ephemeral varieties. Non-ephemeral DH algorithms use static DH public keys included in the authenticating peer's certificate; see [RFC4492] for discussion. In contrast, ephemeral DH algorithms use ephemeral DH public keys sent in the handshake and authenticated by the peer's certificate. Ephemeral and non-ephemeral finite field DH algorithms are called DHE and DH (or FFDHE and FFDH), respectively, and ephemeral and non-ephemeral elliptic curve DH algorithms are called ECDHE and ECDH, respectively [RFC4492].¶
In general, non-ephemeral cipher suites are not recommended due to their lack of forward secrecy. Moreover, as demonstrated by the [Raccoon] attack on finite-field DH, public key reuse, either via non-ephemeral cipher suites or reused keys with ephemeral cipher suites, can lead to timing side channels that may leak connection secrets. For elliptic curve DH, invalid curve attacks similarly exploit secret reuse in order to break security [ICA], further demonstrating the risk of reusing public keys. While both side channels can be avoided in implementations, experience shows that in practice, implementations may fail to thwart such attacks due to the complexity and number of the required mitigations.¶
Additionally, RSA key exchange suffers from security problems that are independent of implementation choices as well as problems that stem purely from the difficulty of implementing security countermeasures correctly.¶
At a rough glance, the problems affecting FFDHE in TLS 1.2 are as follows:¶
FFDHE suffers from interoperability problems because there is no mechanism for negotiating the group, and some implementations only support small group sizes (see [RFC7919], Section 1).¶
FFDHE groups may have small subgroups, which enables several attacks [subgroups]. When presented with a custom, non-standardized FFDHE group, a handshaking client cannot practically verify that the group chosen by the server does not suffer from this problem. There is also no mechanism for such handshakes to fall back to other key exchange parameters that are acceptable to the client. Custom FFDHE groups are widespread (as a result of advice based on [weak-dh]). Therefore, clients cannot simply reject handshakes that present custom, and thus potentially dangerous, groups.¶
In practice, some operators use 1024-bit FFDHE groups since this is the maximum size that ensures wide support (see [RFC7919], Section 1). This size leaves only a small security margin vs. the current discrete log record, which stands at 795 bits [DLOG795].¶
Expanding on the previous point, just a handful of very large computations allow an attacker to cheaply decrypt a relatively large fraction of FFDHE traffic (namely, traffic encrypted using particular standardized groups) [weak-dh].¶
When secrets are not fully ephemeral, FFDHE suffers from the [Raccoon] side channel attack. (Note that FFDH is inherently vulnerable to the Raccoon attack unless constant-time mitigations are employed.)¶
The problems affecting RSA key exchange in TLS 1.2 are as follows:¶
RSA key exchange offers no forward secrecy, by construction.¶
RSA key exchange may be vulnerable to Bleichenbacher's attack [BLEI]. Experience shows that variants of this attack arise every few years because implementing the relevant countermeasure correctly is difficult (see [ROBOT], [NEW-BLEI], [DROWN]).¶
In addition to the above point, there is no convenient mechanism in TLS 1.2 for the domain separation of keys. Therefore, a single endpoint that is vulnerable to Bleichenbacher's attack would affect all endpoints sharing the same RSA key (see [XPROT], [DROWN]).¶
Given these problems, this document updates [RFC9325], [RFC4346], [RFC5246], [RFC4162], [RFC6347], [RFC5932], [RFC5288], [RFC6209], [RFC6367], [RFC8422], [RFC5289], and [RFC5469] to remediate the above problems.¶
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.¶
Clients MUST NOT offer and servers MUST NOT select non-ephemeral FFDH cipher suites in TLS 1.2 connections. (Note that TLS 1.0 and 1.1 are deprecated by [RFC8996] and TLS 1.3 does not support FFDH [RFC8446].) This includes all cipher suites listed in the table in Appendix A.¶
Clients SHOULD NOT offer and servers SHOULD NOT select non-ephemeral ECDH cipher suites in TLS 1.2 connections. (This requirement is already present in [RFC9325]. Note that TLS 1.0 and 1.1 are deprecated by [RFC8996] and TLS 1.3 does not support ECDH [RFC8446].) This includes all cipher suites listed in the table in Appendix B.¶
In addition, to avoid the use of non-ephemeral Diffie Hellman, clients SHOULD NOT use use and server SHOULD NOT accept certificates with fixed DH parameters. These certificate types are rsa_fixed_dh, dss_fixed_dh, rsa_fixed_ecdh and ecdsa_fixed_ecdh. These values only apply to TLS versions of 1.2 and below.¶
Clients MUST NOT offer and servers MUST NOT select FFDHE cipher suites in TLS 1.2 connections. This includes all cipher suites listed in the table in Appendix C. (Note that TLS 1.0 and 1.1 are deprecated by [RFC8996].) FFDHE cipher suites in TLS 1.3 do not suffer from the problems presented in Section 1; see [RFC8446]. Therefore, clients and servers MAY offer FFDHE cipher suites in TLS 1.3 connections.¶
Clients MUST NOT offer and servers MUST NOT select RSA cipher suites in TLS 1.2 connections. (Note that TLS 1.0 and 1.1 are deprecated by [RFC8996], and TLS 1.3 does not support static RSA [RFC8446].) This includes all cipher suites listed in the table in Appendix D. Note that these cipher suites are already marked as not recommended in the "TLS Cipher Suites" registry.¶
This document requests IANA to mark the cipher suites listed in Appendix C as not recommended in the "TLS Cipher Suites" registry. Note that all cipher suites listed in Appendix A and in Appendix D are already marked as not recommended in the registry.¶
This document also requests IANA to populate a "D" in the recommended column of the TLS ClientCertificateType Identifiers for the following certificate types:¶
Non-ephemeral finite field DH cipher suites (TLS_DH_*), as well as ephemeral key reuse for finite field DH cipher suites, are prohibited due to the [Raccoon] attack. Both are already considered bad practice since they do not provide forward secrecy. However, Raccoon revealed that timing side channels in processing TLS premaster secrets may be exploited to reveal the encrypted premaster secret.¶
As for non-ephemeral elliptic curve DH cipher suites, forgoing forward secrecy not only allows retroactive decryption in the event of key compromise but may also enable a broad category of attacks where the attacker exploits key reuse to repeatedly query a cryptographic secret.¶
This category includes, but is not necessarily limited to, the following examples:¶
Invalid curve attacks, where the attacker exploits key reuse to repeatedly query and eventually learn the key itself. These attacks have been shown to be practical against real-world TLS implementations [ICA].¶
Side channel attacks, where the attacker exploits key reuse and an additional side channel to learn a cryptographic secret. As one example of such attacks, refer to [MAY4].¶
Fault attacks, where the attacker exploits key reuse and incorrect calculations to learn a cryptographic secret. As one example of such attacks, see [PARIS256].¶
Such attacks are often implementation-dependent, including the above examples. However, these examples demonstrate that building a system that reuses keys and avoids this category of attacks is difficult in practice. In contrast, avoiding key reuse not only prevents decryption in the event of key compromise, but also precludes this category of attacks altogether. Therefore, this document discourages the reuse of elliptic curve DH public keys.¶
As for ephemeral finite field Diffie-Hellman in TLS 1.2, as explained above, clients have no practical way to support these cipher suites while ensuring they only negotiate security parameters that are acceptable to them. In TLS 1.2, the server chooses the Diffie-Hellman group, and custom groups are prevalent. Therefore, once the client includes these cipher suites in its handshake and the server presents a custom group, the client cannot complete the handshake while ensuring security. Verifying the group structure is prohibitively expensive for the client. Using a safelist of known-good groups is also impractical, since server operators were encouraged to generate their own custom group. Further, there is no mechanism for the handshake to fall back to other parameters, that are acceptable to both the client and server.¶
This document was inspired by discussions on the TLS WG mailing list and a suggestion by Filippo Valsorda following the release of the [Raccoon] attack. Thanks to Christopher A. Wood for writing up the initial draft of this document. Thanks also to Thomas Fossati, John Preuß Mattsson and Manuel Pégourié-Gonnard for comments and suggestions.¶
Ciphersuite | Reference |
---|---|
TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA | [RFC4346] |
TLS_DH_DSS_WITH_DES_CBC_SHA | [RFC5469] |
TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA | [RFC5246] |
TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA | [RFC4346] |
TLS_DH_RSA_WITH_DES_CBC_SHA | [RFC5469] |
TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA | [RFC5246] |
TLS_DH_anon_EXPORT_WITH_RC4_40_MD5 | [RFC4346][RFC6347] |
TLS_DH_anon_WITH_RC4_128_MD5 | [RFC5246][RFC6347] |
TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA | [RFC4346] |
TLS_DH_anon_WITH_DES_CBC_SHA | [RFC5469] |
TLS_DH_anon_WITH_3DES_EDE_CBC_SHA | [RFC5246] |
TLS_DH_DSS_WITH_AES_128_CBC_SHA | [RFC5246] |
TLS_DH_RSA_WITH_AES_128_CBC_SHA | [RFC5246] |
TLS_DH_anon_WITH_AES_128_CBC_SHA | [RFC5246] |
TLS_DH_DSS_WITH_AES_256_CBC_SHA | [RFC5246] |
TLS_DH_RSA_WITH_AES_256_CBC_SHA | [RFC5246] |
TLS_DH_anon_WITH_AES_256_CBC_SHA | [RFC5246] |
TLS_DH_DSS_WITH_AES_128_CBC_SHA256 | [RFC5246] |
TLS_DH_RSA_WITH_AES_128_CBC_SHA256 | [RFC5246] |
TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA | [RFC5932] |
TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA | [RFC5932] |
TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA | [RFC5932] |
TLS_DH_DSS_WITH_AES_256_CBC_SHA256 | [RFC5246] |
TLS_DH_RSA_WITH_AES_256_CBC_SHA256 | [RFC5246] |
TLS_DH_anon_WITH_AES_128_CBC_SHA256 | [RFC5246] |
TLS_DH_anon_WITH_AES_256_CBC_SHA256 | [RFC5246] |
TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA | [RFC5932] |
TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA | [RFC5932] |
TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA | [RFC5932] |
TLS_DH_DSS_WITH_SEED_CBC_SHA | [RFC4162] |
TLS_DH_RSA_WITH_SEED_CBC_SHA | [RFC4162] |
TLS_DH_anon_WITH_SEED_CBC_SHA | [RFC4162] |
TLS_DH_RSA_WITH_AES_128_GCM_SHA256 | [RFC5288] |
TLS_DH_RSA_WITH_AES_256_GCM_SHA384 | [RFC5288] |
TLS_DH_DSS_WITH_AES_128_GCM_SHA256 | [RFC5288] |
TLS_DH_DSS_WITH_AES_256_GCM_SHA384 | [RFC5288] |
TLS_DH_anon_WITH_AES_128_GCM_SHA256 | [RFC5288] |
TLS_DH_anon_WITH_AES_256_GCM_SHA384 | [RFC5288] |
TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA256 | [RFC5932] |
TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA256 | [RFC5932] |
TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA256 | [RFC5932] |
TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA256 | [RFC5932] |
TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA256 | [RFC5932] |
TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA256 | [RFC5932] |
TLS_DH_DSS_WITH_ARIA_128_CBC_SHA256 | [RFC6209] |
TLS_DH_DSS_WITH_ARIA_256_CBC_SHA384 | [RFC6209] |
TLS_DH_RSA_WITH_ARIA_128_CBC_SHA256 | [RFC6209] |
TLS_DH_RSA_WITH_ARIA_256_CBC_SHA384 | [RFC6209] |
TLS_DH_anon_WITH_ARIA_128_CBC_SHA256 | [RFC6209] |
TLS_DH_anon_WITH_ARIA_256_CBC_SHA384 | [RFC6209] |
TLS_DH_RSA_WITH_ARIA_128_GCM_SHA256 | [RFC6209] |
TLS_DH_RSA_WITH_ARIA_256_GCM_SHA384 | [RFC6209] |
TLS_DH_DSS_WITH_ARIA_128_GCM_SHA256 | [RFC6209] |
TLS_DH_DSS_WITH_ARIA_256_GCM_SHA384 | [RFC6209] |
TLS_DH_anon_WITH_ARIA_128_GCM_SHA256 | [RFC6209] |
TLS_DH_anon_WITH_ARIA_256_GCM_SHA384 | [RFC6209] |
TLS_DH_RSA_WITH_CAMELLIA_128_GCM_SHA256 | [RFC6367] |
TLS_DH_RSA_WITH_CAMELLIA_256_GCM_SHA384 | [RFC6367] |
TLS_DH_DSS_WITH_CAMELLIA_128_GCM_SHA256 | [RFC6367] |
TLS_DH_DSS_WITH_CAMELLIA_256_GCM_SHA384 | [RFC6367] |
TLS_DH_anon_WITH_CAMELLIA_128_GCM_SHA256 | [RFC6367] |
TLS_DH_anon_WITH_CAMELLIA_256_GCM_SHA384 | [RFC6367] |
Ciphersuite | Reference |
---|---|
TLS_ECDH_ECDSA_WITH_NULL_SHA | [RFC8422] |
TLS_ECDH_ECDSA_WITH_RC4_128_SHA | [RFC8422][RFC6347] |
TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA | [RFC8422] |
TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA | [RFC8422] |
TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA | [RFC8422] |
TLS_ECDH_RSA_WITH_NULL_SHA | [RFC8422] |
TLS_ECDH_RSA_WITH_RC4_128_SHA | [RFC8422][RFC6347] |
TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA | [RFC8422] |
TLS_ECDH_RSA_WITH_AES_128_CBC_SHA | [RFC8422] |
TLS_ECDH_RSA_WITH_AES_256_CBC_SHA | [RFC8422] |
TLS_ECDH_anon_WITH_NULL_SHA | [RFC8422] |
TLS_ECDH_anon_WITH_RC4_128_SHA | [RFC8422][RFC6347] |
TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA | [RFC8422] |
TLS_ECDH_anon_WITH_AES_128_CBC_SHA | [RFC8422] |
TLS_ECDH_anon_WITH_AES_256_CBC_SHA | [RFC8422] |
TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256 | [RFC5289] |
TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384 | [RFC5289] |
TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256 | [RFC5289] |
TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384 | [RFC5289] |
TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256 | [RFC5289] |
TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384 | [RFC5289] |
TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256 | [RFC5289] |
TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384 | [RFC5289] |
TLS_ECDH_ECDSA_WITH_ARIA_128_CBC_SHA256 | [RFC6209] |
TLS_ECDH_ECDSA_WITH_ARIA_256_CBC_SHA384 | [RFC6209] |
TLS_ECDH_RSA_WITH_ARIA_128_CBC_SHA256 | [RFC6209] |
TLS_ECDH_RSA_WITH_ARIA_256_CBC_SHA384 | [RFC6209] |
TLS_ECDH_ECDSA_WITH_ARIA_128_GCM_SHA256 | [RFC6209] |
TLS_ECDH_ECDSA_WITH_ARIA_256_GCM_SHA384 | [RFC6209] |
TLS_ECDH_RSA_WITH_ARIA_128_GCM_SHA256 | [RFC6209] |
TLS_ECDH_RSA_WITH_ARIA_256_GCM_SHA384 | [RFC6209] |
TLS_ECDH_ECDSA_WITH_CAMELLIA_128_CBC_SHA256 | [RFC6367] |
TLS_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384 | [RFC6367] |
TLS_ECDH_RSA_WITH_CAMELLIA_128_CBC_SHA256 | [RFC6367] |
TLS_ECDH_RSA_WITH_CAMELLIA_256_CBC_SHA384 | [RFC6367] |
TLS_ECDH_ECDSA_WITH_CAMELLIA_128_GCM_SHA256 | [RFC6367] |
TLS_ECDH_ECDSA_WITH_CAMELLIA_256_GCM_SHA384 | [RFC6367] |
TLS_ECDH_RSA_WITH_CAMELLIA_128_GCM_SHA256 | [RFC6367] |
TLS_ECDH_RSA_WITH_CAMELLIA_256_GCM_SHA384 | [RFC6367] |
Ciphersuite | Reference |
---|---|
TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA | [RFC4346] |
TLS_DHE_DSS_WITH_DES_CBC_SHA | [RFC5469][SC-tls-des-idea-ciphers-to-historic] |
TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA | [RFC5246] |
TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA | [RFC4346] |
TLS_DHE_RSA_WITH_DES_CBC_SHA | [RFC5469][SC-tls-des-idea-ciphers-to-historic] |
TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA | [RFC5246] |
TLS_DHE_PSK_WITH_NULL_SHA | [RFC4785] |
TLS_DHE_DSS_WITH_AES_128_CBC_SHA | [RFC5246] |
TLS_DHE_RSA_WITH_AES_128_CBC_SHA | [RFC5246] |
TLS_DHE_DSS_WITH_AES_256_CBC_SHA | [RFC5246] |
TLS_DHE_RSA_WITH_AES_256_CBC_SHA | [RFC5246] |
TLS_DHE_DSS_WITH_AES_128_CBC_SHA256 | [RFC5246] |
TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA | [RFC5932] |
TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA | [RFC5932] |
TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 | [RFC5246] |
TLS_DHE_DSS_WITH_AES_256_CBC_SHA256 | [RFC5246] |
TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 | [RFC5246] |
TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA | [RFC5932] |
TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA | [RFC5932] |
TLS_DHE_PSK_WITH_RC4_128_SHA | [RFC4279][RFC6347] |
TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA | [RFC4279] |
TLS_DHE_PSK_WITH_AES_128_CBC_SHA | [RFC4279] |
TLS_DHE_PSK_WITH_AES_256_CBC_SHA | [RFC4279] |
TLS_DHE_DSS_WITH_SEED_CBC_SHA | [RFC4162] |
TLS_DHE_RSA_WITH_SEED_CBC_SHA | [RFC4162] |
TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 | [RFC5288] |
TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 | [RFC5288] |
TLS_DHE_DSS_WITH_AES_128_GCM_SHA256 | [RFC5288] |
TLS_DHE_DSS_WITH_AES_256_GCM_SHA384 | [RFC5288] |
TLS_DHE_PSK_WITH_AES_128_GCM_SHA256 | [RFC5487] |
TLS_DHE_PSK_WITH_AES_256_GCM_SHA384 | [RFC5487] |
TLS_DHE_PSK_WITH_AES_128_CBC_SHA256 | [RFC5487] |
TLS_DHE_PSK_WITH_AES_256_CBC_SHA384 | [RFC5487] |
TLS_DHE_PSK_WITH_NULL_SHA256 | [RFC5487] |
TLS_DHE_PSK_WITH_NULL_SHA384 | [RFC5487] |
TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA256 | [RFC5932] |
TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256 | [RFC5932] |
TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA256 | [RFC5932] |
TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256 | [RFC5932] |
TLS_DHE_DSS_WITH_ARIA_128_CBC_SHA256 | [RFC6209] |
TLS_DHE_DSS_WITH_ARIA_256_CBC_SHA384 | [RFC6209] |
TLS_DHE_RSA_WITH_ARIA_128_CBC_SHA256 | [RFC6209] |
TLS_DHE_RSA_WITH_ARIA_256_CBC_SHA384 | [RFC6209] |
TLS_DHE_RSA_WITH_ARIA_128_GCM_SHA256 | [RFC6209] |
TLS_DHE_RSA_WITH_ARIA_256_GCM_SHA384 | [RFC6209] |
TLS_DHE_DSS_WITH_ARIA_128_GCM_SHA256 | [RFC6209] |
TLS_DHE_DSS_WITH_ARIA_256_GCM_SHA384 | [RFC6209] |
TLS_DHE_PSK_WITH_ARIA_128_CBC_SHA256 | [RFC6209] |
TLS_DHE_PSK_WITH_ARIA_256_CBC_SHA384 | [RFC6209] |
TLS_DHE_PSK_WITH_ARIA_128_GCM_SHA256 | [RFC6209] |
TLS_DHE_PSK_WITH_ARIA_256_GCM_SHA384 | [RFC6209] |
TLS_DHE_RSA_WITH_CAMELLIA_128_GCM_SHA256 | [RFC6367] |
TLS_DHE_RSA_WITH_CAMELLIA_256_GCM_SHA384 | [RFC6367] |
TLS_DHE_DSS_WITH_CAMELLIA_128_GCM_SHA256 | [RFC6367] |
TLS_DHE_DSS_WITH_CAMELLIA_256_GCM_SHA384 | [RFC6367] |
TLS_DHE_PSK_WITH_CAMELLIA_128_GCM_SHA256 | [RFC6367] |
TLS_DHE_PSK_WITH_CAMELLIA_256_GCM_SHA384 | [RFC6367] |
TLS_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256 | [RFC6367] |
TLS_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384 | [RFC6367] |
TLS_DHE_RSA_WITH_AES_128_CCM | [RFC6655] |
TLS_DHE_RSA_WITH_AES_256_CCM | [RFC6655] |
TLS_DHE_RSA_WITH_AES_128_CCM_8 | [RFC6655] |
TLS_DHE_RSA_WITH_AES_256_CCM_8 | [RFC6655] |
TLS_DHE_PSK_WITH_AES_128_CCM | [RFC6655] |
TLS_DHE_PSK_WITH_AES_256_CCM | [RFC6655] |
TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256 | [RFC7905] |
TLS_DHE_PSK_WITH_CHACHA20_POLY1305_SHA256 | [RFC7905] |
TLS_PSK_DHE_WITH_AES_128_CCM_8 | [RFC6655] |
TLS_PSK_DHE_WITH_AES_256_CCM_8 | [RFC6655] |
Ciphersuite | Reference |
---|---|
TLS_RSA_WITH_NULL_MD5 | [RFC5246] |
TLS_RSA_WITH_NULL_SHA | [RFC5246] |
TLS_RSA_EXPORT_WITH_RC4_40_MD5 | [RFC4346][RFC6347] |
TLS_RSA_WITH_RC4_128_MD5 | [RFC5246][RFC6347] |
TLS_RSA_WITH_RC4_128_SHA | [RFC5246][RFC6347] |
TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5 | [RFC4346] |
TLS_RSA_WITH_IDEA_CBC_SHA | [RFC5469][SC-tls-des-idea-ciphers-to-historic] |
TLS_RSA_EXPORT_WITH_DES40_CBC_SHA | [RFC4346] |
TLS_RSA_WITH_DES_CBC_SHA | [RFC5469][SC-tls-des-idea-ciphers-to-historic] |
TLS_RSA_WITH_3DES_EDE_CBC_SHA | [RFC5246] |
TLS_RSA_PSK_WITH_NULL_SHA | [RFC4785] |
TLS_RSA_WITH_AES_128_CBC_SHA | [RFC5246] |
TLS_RSA_WITH_AES_256_CBC_SHA | [RFC5246] |
TLS_RSA_WITH_NULL_SHA256 | [RFC5246] |
TLS_RSA_WITH_AES_128_CBC_SHA256 | [RFC5246] |
TLS_RSA_WITH_AES_256_CBC_SHA256 | [RFC5246] |
TLS_RSA_WITH_CAMELLIA_128_CBC_SHA | [RFC5932] |
TLS_RSA_WITH_CAMELLIA_256_CBC_SHA | [RFC5932] |
TLS_RSA_PSK_WITH_RC4_128_SHA | [RFC4279][RFC6347] |
TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA | [RFC4279] |
TLS_RSA_PSK_WITH_AES_128_CBC_SHA | [RFC4279] |
TLS_RSA_PSK_WITH_AES_256_CBC_SHA | [RFC4279] |
TLS_RSA_WITH_SEED_CBC_SHA | [RFC4162] |
TLS_RSA_WITH_AES_128_GCM_SHA256 | [RFC5288] |
TLS_RSA_WITH_AES_256_GCM_SHA384 | [RFC5288] |
TLS_RSA_PSK_WITH_AES_128_GCM_SHA256 | [RFC5487] |
TLS_RSA_PSK_WITH_AES_256_GCM_SHA384 | [RFC5487] |
TLS_RSA_PSK_WITH_AES_128_CBC_SHA256 | [RFC5487] |
TLS_RSA_PSK_WITH_AES_256_CBC_SHA384 | [RFC5487] |
TLS_RSA_PSK_WITH_NULL_SHA256 | [RFC5487] |
TLS_RSA_PSK_WITH_NULL_SHA384 | [RFC5487] |
TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256 | [RFC5932] |
TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256 | [RFC5932] |
TLS_RSA_WITH_ARIA_128_CBC_SHA256 | [RFC6209] |
TLS_RSA_WITH_ARIA_256_CBC_SHA384 | [RFC6209] |
TLS_RSA_WITH_ARIA_128_GCM_SHA256 | [RFC6209] |
TLS_RSA_WITH_ARIA_256_GCM_SHA384 | [RFC6209] |
TLS_RSA_PSK_WITH_ARIA_128_CBC_SHA256 | [RFC6209] |
TLS_RSA_PSK_WITH_ARIA_256_CBC_SHA384 | [RFC6209] |
TLS_RSA_PSK_WITH_ARIA_128_GCM_SHA256 | [RFC6209] |
TLS_RSA_PSK_WITH_ARIA_256_GCM_SHA384 | [RFC6209] |
TLS_RSA_WITH_CAMELLIA_128_GCM_SHA256 | [RFC6367] |
TLS_RSA_WITH_CAMELLIA_256_GCM_SHA384 | [RFC6367] |
TLS_RSA_PSK_WITH_CAMELLIA_128_GCM_SHA256 | [RFC6367] |
TLS_RSA_PSK_WITH_CAMELLIA_256_GCM_SHA384 | [RFC6367] |
TLS_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256 | [RFC6367] |
TLS_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384 | [RFC6367] |
TLS_RSA_WITH_AES_128_CCM | [RFC6655] |
TLS_RSA_WITH_AES_256_CCM | [RFC6655] |
TLS_RSA_WITH_AES_128_CCM_8 | [RFC6655] |
TLS_RSA_WITH_AES_256_CCM_8 | [RFC6655] |
TLS_RSA_PSK_WITH_CHACHA20_POLY1305_SHA256 | [RFC7905] |