首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TLS 1.3 server_handshake_traffic_secret计算

TLS 1.3 server_handshake_traffic_secret计算
EN

Security用户
提问于 2018-04-27 11:55:32
回答 2查看 2.7K关注 0票数 2

我目前正在阅读传输层安全(TLS)协议1.3版

在4.3.1节(加密扩展)中,它说

在所有握手中,服务器必须在EncryptedExtensions消息之后立即发送ServerHello消息。这是在从server_handshake_traffic_secret派生的密钥下加密的第一条消息。

server_handshake_traffic_secret究竟是如何计算出来的?它是从哪里来的?

我试图找出服务器中的所有应用程序--数据(例如证书)--hello是如何加密的。

它应该与香港发展基金-提取函数有关。在client-hello中有一个随机字节字符串和一个填充的密钥交换扩展。我假设在服务器-hello期间(第一次)使用HKDF必须建立在此基础上。但到底是怎么回事?

EN

回答 2

Security用户

发布于 2018-11-10 07:47:43

也许这个pdf格式会帮你。客户端和服务器将使用DH结果作为PMS,就像TLS1.2使用DH结果作为预masterkey一样,这样中间人就无法知道加密密钥。

票数 1
EN

Security用户

发布于 2019-10-15 12:47:28

server_handshake_traffic_secret作为RFC的第7.1节生成。这稍后用于生成已完成消息的验证数据。

参见RFC的第72页,哪个状态?

代码语言:javascript
复制
 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中,服务器生成以下内容。

  • 握手秘密:稍后用于生成应用程序密钥。
  • 客户端握手流量秘密:用于完成消息,如上文所述。
  • 服务器握手流量秘密:用于完成消息,如上文所述。下面是用来加密扩展的。
  • 客户握手键:
  • 服务器握手键:
  • 客户握手IV:
  • 服务器握手IV:
票数 1
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/184739

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档