#HTTPS
有几个疑惑想看看有没有大佬能帮忙解答一下:
1、HTTPS的SSL握手过程中为什么要使用随机数?为什么需要三个随机数?
2、HTTPS前两个随机数为什么不用加密但第三个要加密?





有几个疑惑想看看有没有大佬能帮忙解答一下:
1、HTTPS的SSL握手过程中为什么要使用随机数?为什么需要三个随机数?
2、HTTPS前两个随机数为什么不用加密但第三个要加密?
全部评论
其实不是随机数,而是加密用的密钥。
因为我们将CA证书(公钥私钥对)部署在服务器,因此客户端第一次产生的key1,没办法加密,服务端收到之后,也会产生一个 key2,并将自己的公钥发送给客户端,之后客户端在生成一个 key3,这个key3用公钥加密(公钥加密之后,只有服务器的私钥才能解密)。因此key1没办法加密,key2如果用公钥加密了,客户端没办法解密key2,因此key2也不能加密。之后客户端自己生成一个key3,用公钥加密之后,发送给服务端,服务端用私钥才能解密
在服务端和客户端都有三个随机数之后,会使用握手过程中协商的算法,使用三个随机数生成用于对称加密的密钥,握手完成后的数据,使用这个密钥来进行对称加密。(因为非对称加密比对称加密会消耗更多资源)
使用三个随机数的原因是,计算机的生成的随机数都是伪随机数,使用一个随机数不够安全。可以认为由两台计算机生成三个伪随机数无限接近随机数,生成的密钥是安全的。
随机数是用来保证这一次连接的有效性的
可以看看dh算法
😃谢谢
相关推荐
07-03 14:11
广西大学 渠道销售 点赞 评论 收藏
分享
编程界菜鸡:都一个月,就算是实习也会觉得不稳定
点赞 评论 收藏
分享

点赞 评论 收藏
分享