【发布时间】:2013-12-25 06:31:44
【问题描述】:
在 TLS hanshake 消息中,客户端向服务器发送预主密钥。
双方都会生成一个主密钥并使用它来派生 TLS 的会话密钥。 我的问题是为什么他们不只是主密钥作为加密通信的对称密钥?为什么他们需要从中派生主密钥?
谢谢,
【问题讨论】:
-
这个问题似乎是题外话,因为它是关于安全性而不是编程。更适合security.stackexchange.com
在 TLS hanshake 消息中,客户端向服务器发送预主密钥。
双方都会生成一个主密钥并使用它来派生 TLS 的会话密钥。 我的问题是为什么他们不只是主密钥作为加密通信的对称密钥?为什么他们需要从中派生主密钥?
谢谢,
【问题讨论】:
1) 主密钥具有固定大小(48 字节),通常小于对称密钥所需的密钥材料量。例如,密码套件 TLS_RSA_WITH_AES_256_CBC_SHA 需要两个长度为 32 字节的对称密钥、两个长度为 16 字节的初始化向量和两个长度为 20 字节的 MAC 密钥,总共需要 136 个字节。
2) TLS 协议允许在其会话中进行多个连接。因此,即使主密钥足够长,可以为单个连接提供所有密钥材料,也不足以提供所有可能的连接。
3) 从主密钥生成对称密钥的 TLS 过程使用单向哈希来保护主密钥免受知道某些对称密钥的攻击者的攻击。如果主密钥和对称密钥相同(或易于相互计算),则无法实现这种安全保证。
【讨论】: