我目前正在阅读传输层安全(TLS)协议1.3版。
在4.3.1节(加密扩展)中,它说
在所有握手中,服务器必须在EncryptedExtensions消息之后立即发送ServerHello消息。这是在从server_handshake_traffic_secret派生的密钥下加密的第一条消息。
server_handshake_traffic_secret究竟是如何计算出来的?它是从哪里来的?
我试图找出服务器中的所有应用程序--数据(例如证书)--hello是如何加密的。
它应该与香港发展基金-提取函数有关。在client-hello中有一个随机字节字符串和一个填充的密钥交换扩展。我假设在服务器-hello期间(第一次)使用HKDF必须建立在此基础上。但到底是怎么回事?
发布于 2018-11-10 07:47:43
也许这个pdf格式会帮你。客户端和服务器将使用DH结果作为PMS,就像TLS1.2使用DH结果作为预masterkey一样,这样中间人就无法知道加密密钥。

发布于 2019-10-15 12:47:28
server_handshake_traffic_secret作为RFC的第7.1节生成。这稍后用于生成已完成消息的验证数据。
参见RFC的第72页,哪个状态?
The key used to compute the Finished message is computed from the
Base Key defined in Section 4.4 using HKDF (see Section 7.1).
Specifically:
finished_key =
HKDF-Expand-Label(BaseKey, "finished", "", Hash.length)这里,Base不过是server_handshake_traffic_secret。
在TLS 1.3中,服务器生成以下内容。
https://security.stackexchange.com/questions/184739
复制相似问题