我只是对TLS1.3感到好奇,Cloudflare是负责实施的公司之一。然后我访问了blog.cloudflare.com,打开了我的Wireshark。我并不100%清楚TLS1.3的所有技术细节,但我特别感兴趣的新特性之一是加密-SNI,它的目的是隐藏访问域名。
我检查了pcap,看到了Client Hello和Server Hello,如下所示:

我惊讶地看到TLS1.2被包装在TLS1.3包中,而TLS1.2的SNI部分仍然存在,暴露了服务器名。

所以我想知道这是实现错误还是我被降级了,还是我遗漏了什么?请注意,我已经将我的Firefox浏览器配置为只强制TLS1.3,因此这不是您在supported_versions扩展中看到的浏览器的问题。
发布于 2019-01-18 02:17:36
您关于TLS 1.3 ClientHello中版本号的问题--请注意,记录版本为1.0 (电线0301),消息版本为1.2 (电线0303),正如您注意到的,只有supported_versions扩展名为1.3 (0304) --这是对https://serverfault.com/questions/907347/tls-1-3-client-server-hello-version-1-2的交叉欺骗,而现在RFC8446是正式的在此解释。
看起来你真正关心的可能是你的连接尝试--实际上是1.3 --没有使用ESNI。如果是这样的话,显而易见的答案是,域blog.cloudflare.com不支持ESNI,至少按照草案的定义;具体来说,它没有按要求在_esni.blog.cloudflare.com上发布任何TXT (S)。我只知道cloudflare已经宣布支持ESNI的唯一领域是encryptedsni.com,而_esni.encrypted.com确实有包含ESNIKeys的TXT,尽管我没有费心每晚安装火狐来测试它是否真的工作。你可以试试。
https://security.stackexchange.com/questions/201695
复制相似问题