我知道可以存储在内存中的 MASTER_SECRET 用于会话恢复,而 KEY 用于每个连接。RFC 5246说,一旦计算了 master_secret,就应该从内存中删除 PRE_MASTER_SECRET。但为什么?
问问题
179 次
2 回答
0
因为它不再需要但可以用来计算master_secret。因此,以任何方式从内存中获取它都可以解密所有流量。
于 2013-06-16T14:12:55.057 回答
0
假设它使用 PMS 而不是 MS 作为会话密钥。
所有会话的PMS可能相同(因为它是一个随机数)。
我们必须将所有会话密钥存储在内存中以恢复会话。
内存中的会话密钥可能被泄露,那么所有使用相同密钥的会话都会被破解。
PMS -> KEY
vs PMS -> MS -> KEY
(具有不可逆哈希)
为了确保损害仅限于一个会话,我们又采取了一步。创建并存储 MS 作为会话密钥,然后立即删除 PMS。
于 2013-07-18T10:04:28.020 回答