代码之家  ›  专栏  ›  技术社区  ›  hdjur_jcv

如何告诉什么SSL/TLS协议版本可以建立使用特定的密码套件

  •  0
  • hdjur_jcv  · 技术社区  · 7 年前

    反之亦然,如何找出哪些密码套件可用于特定版本的SSL/TLS协议?这两个问题都意味着存在限制,即任何密码套件都不适用于任何协议版本。特别是,我想在TLS1.2适用密码的详尽列表中指出,如果有的话。

    这个问题可以重新表述为密码套件和协议版本之间的兼容性。

    1 回复  |  直到 7 年前
        1
  •  1
  •   Patrick Mevzek James Dean    7 年前

    这是一种与编程无关的话题。但是为什么要担心1.2或1.3以外的其他版本呢?

    TLS 1.3 有一个非常小的密码列表,与以前的密码列表不同:

    本规范定义了以下用于

              +------------------------------+-------------+
              | Description                  | Value       |
              +------------------------------+-------------+
              | TLS_AES_128_GCM_SHA256       | {0x13,0x01} |
              |                              |             |
              | TLS_AES_256_GCM_SHA384       | {0x13,0x02} |
              |                              |             |
              | TLS_CHACHA20_POLY1305_SHA256 | {0x13,0x03} |
              |                              |             |
              | TLS_AES_128_CCM_SHA256       | {0x13,0x04} |
              |                              |             |
              | TLS_AES_128_CCM_8_SHA256     | {0x13,0x05} |
              +------------------------------+-------------+
    

    对于其他版本,像 https://github.com/mozilla/cipherscan

    或者只是用 openssl ciphers -s 参数,然后 -tls1 -tls1_1 -tls1_2 .

    如果你看了它的手册,你也有列表,看看下面的 https://www.openssl.org/docs/manmaster/man1/ciphers.html

    很多 TLSv1.2中可能使用的密码,但不是所有的都是一个好主意。有些人试图维护好参数的列表,例如 https://wiki.mozilla.org/Security/Server_Side_TLS#Recommended_configurations https://weakdh.org/sysadmin.html

    我还建议您考虑一下定义“长期支持”TLSv1.2的工作,它是当前TLS版本1.2之上的一个规范,适用于那些不会超过1.3的人,它试图通过删除TLS v1.2中发现不是好主意的所有内容来提高安全性,同时仍然100%符合TLS v1.2。

    https://datatracker.ietf.org/doc/draft-gutmann-tls-lts/?include_text=1

    本文档指定了TLS 1.2的更新,以便长期支持 具有多年甚至十年更新周期的系统, 一个尽可能将已经部署好的

    关于密码,它是这样说的:

    TLS-LTS或多或少地限制了TLS 1.2的无限制性

    补充算法、参数和参数格式的动物园,
    只有两个,一个是传统的DHE+AES-CBC+HMAC-SHA-256+
    RSA-SHA-256/PSK和一个ECC一个带ECDHE-P256+AES-GCM+HMAC-
    SHA-256+ECDSA-P256-SHA-256/PSK,带未压缩点:

    TLS\U DHE\U RSA\U带AES\U 128\U CBC\U SHA256, 有AES 128 CBC SHA256, TLS\u ECDHE\u ECDSA\u带\u AES\u 128\u GCM\u SHA256和 带AES 128 GCM SHA256的TLS\ ECDHE\ PSK\ U。对于这些套房,SHA-256 在协议中使用哈希函数的所有位置中使用 需要,特别是在PRF和每包MAC计算中 和服务器签名

       [Note: TLS_ECDHE_PSK_WITH_AES_128_GCM_SHA256 is based on
        draft-ietf-tls-ecdhe-psk-aead, currently still
        progressing as an IETF draft, the reference will be
        updated to the full RFC once it's published].