【问题标题】:What is this protocl version sent in the TLS supported_versions extension在 TLS supported_versions 扩展中发送的此协议版本是什么
【发布时间】:2020-11-29 17:17:18
【问题描述】:

我正在使用 Chrome 版本 85.0.4183.83(官方版本)(64 位)检查 TLS 客户端 hello 的简单连接。 有一个带有奇怪代码编号的意外版本标记为“未知”。我知道 TLS 版本,标准中注明了它们的编号。我看着奇怪的版本号,无法弄清楚。 谁能帮我确定这个未知的版本号是什么? Chrome 是否出于任何目的这样做?

这是版本:

Supported Version: Unknown (0x3a3a)

看这个截图: https://i.imgur.com/NT70mRg.png

【问题讨论】:

    标签: google-chrome ssl tls1.2 handshake tls1.3


    【解决方案1】:

    这是 TLS “Grease”的一部分,其中 TLS 客户端发送不存在的密码套件、支持的版本、TLS 扩展等,以确保 TLS 堆栈的实现不会过多依赖于他们所见过的特定实现在电线上。

    过去的实施通常并未真正实施标准,而是根据现实世界中使用的内容做出假设。这导致这些实现在更新的 TLS 版本、新密码等方面失败。这使得有必要通过诸如 TLS 降级等导致其自身问题的事情来解决此类损坏的 TLS 堆栈。

    为了清理这些混乱并在 TLS 堆栈中强制执行更健壮的行为,一些 TLS 实现(如 Chrome 中的 BoringSSL)添加了 RFC 8701 中定义的随机内容。

    【讨论】:

    • 谢谢。我只知道 Chrome 在密码套件中的这个技巧。但从未在 TLS 版本中阅读过任何有关它的内容。
    • @seq:其实我直到现在才意识到这一点。但由于它看起来与我刚刚查看 RFC 并发现supported_version 的机制相同。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-09-27
    • 2014-02-02
    • 2021-05-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多