SSL/TLS 握手中的客户端随机数(Client Random)用处是什么?

已知 client random 和 server random 都是通过明文传输。pre-master secret 每次会话都是随机的。server random 能阻止重放攻击,那 client random 用处是什么?

我听到一些声音是关于两方的随机数能用于前向保密(Forward Secrecy),但pre-masters secret是每次随机的,因此什么前向保密显然是不必要的。我也看了stack exchange 的讨论 https://security.stackexchang...
也是看不明白,在pre-master secret 每次会话随机的情况下,重放服务端到客户端的信息是不可能的。

所以,client random 仅仅是为了增加生成最终的master key的不确定性吗?

阅读 4.5k
1 个回答

猜测可能是pre-master secret 的 生成方式是可以选择的吧,不一定确定都是每次随机的。也有可能现在 一些固定的加密方式生成预主密钥,如果是这种的话,就可能遭到服务器的重放攻击,虽然说即使随机,服务器也能探查到,并且依然能重放,不过概率大大降低,而且能通过手段来阻止。而且就算是每次随机,也能增加主密钥的强壮性,其核心应该是确定的依赖两方来参与主密钥的生成,而不是依赖加密方式来随机。当然,以上这些都是我猜的。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进