1

我知道可以存储在内存中的 MASTER_SECRET 用于会话恢复,而 KEY 用于每个连接。RFC 5246说,一旦计算了 master_secret,就应该从内存中删除 PRE_MASTER_SECRET。但为什么?

4

2 回答 2

0

因为它不再需要但可以用来计算master_secret。因此,以任何方式从内存中获取它都可以解密所有流量。

于 2013-06-16T14:12:55.057 回答
0

假设它使用 PMS 而不是 MS 作为会话密钥。

  1. 所有会话的PMS可能相同(因为它是一个随机数)。

  2. 我们必须将所有会话密钥存储在内存中以恢复会话。

  3. 内存中的会话密钥可能被泄露,那么所有使用相同密钥的会话都会被破解。

PMS -> KEYvs PMS -> MS -> KEY(具有不可逆哈希)

为了确保损害仅限于一个会话,我们又采取了一步。创建并存储 MS 作为会话密钥,然后立即删除 PMS。

于 2013-07-18T10:04:28.020 回答