HTTPS 协议中,为什么需要第一步交换随机数

最近在学习HTTPS

https://user-gold-cdn.xitu.io/2018/5/21/1638197d98cf3281?imageslim

按照流程:双方交换 random1 和 random2

客户端生成 random3 作为 pre master secret,并通过被签名的可靠公钥加密后传给 server,

这样双方都拿 random1 random2 random3 通过算法各自生成 master secret

在这里,只有 random3 是能够保证不被第三人知道的,为什么公开的 random1 和 random2 有存在的必要?为什么不直接生成 master secret 发过去?

查了查资料,这里是因为前向安全性。加入随机参数,使得:即使现在所有密钥都泄露了,历史消息也不会被破解。

https://www.zhihu.com/question/45203206

Ruosen

Be a Geek, Do the right thing;