【发布时间】:2020-02-25 14:35:15
【问题描述】:
我使用wireshark 捕获了在都支持TLSv1.3 的客户端和服务器之间建立的TLSv1.3 握手。我知道证书是以加密形式发送的,但我找不到任何表明我们在这里找到加密证书的字段。有什么帮助吗?
【问题讨论】:
标签: certificate handshake tls1.3
我使用wireshark 捕获了在都支持TLSv1.3 的客户端和服务器之间建立的TLSv1.3 握手。我知道证书是以加密形式发送的,但我找不到任何表明我们在这里找到加密证书的字段。有什么帮助吗?
【问题讨论】:
标签: certificate handshake tls1.3
在 TLS 1.3 中,服务器发送他们的证书加密。
在 TLS 1.3 中,客户端和服务器一开始就交换密钥:客户端在 ClientHello 中发送其选择,服务器在 ServerHello 中发送其key_share。 ServerHello 之后的所有内容都是加密的。
它与 TLS 1.3 之前的 SSL/TLS 截然不同,后者在身份验证之后进行密钥交换。在 SSL 和 TLS 1-1.2 中,证书以纯文本形式发送。
如果你打开RFC 8446 on Page 11,你会看到消息交换图。请查找服务器端{Certificate*} 消息。符号{*} 表示:
{}表示使用派生自 [sender]_handshake_traffic_secret 的密钥保护的消息
更正式的RFC 8446 section 4.4 specifies:
如第 2 节所述,TLS 通常使用一组通用的 用于身份验证、密钥确认和握手的消息 完整性:Certificate、CertificateVerify 和 Finished。 ... 这些消息在派生的密钥下加密 [发件人]_handshake_traffic_secret。
【讨论】: