https的实质

https使用的是对称加密和非对称加密结合的方式来进行的,步骤如下:
1、首先是ssl握手阶段,客户端发送一个携带ssl版本等信息的数据到服务端,
2、服务端收到改信息,根据对应的ssl版本,发送非对称加密的公钥给客户端,自己保留私钥
3、客户端拿到公钥后,首先验证公钥的真实性,通过ca证书
4、验证通过,或者手动忽略,那么客户端就会使用该公钥加密另一个密钥——对称加密的密钥(客户端随机生成的字符长,位了提高效率,也为保障安全)
5、服务端收到该数据,首先用私钥解密,获取到对称加密的密钥。后续所有的数据,都只是用该对称密钥进行加密传输。

针对以上流程,在好长一段时间不能理解公钥是如何保障数据的真实性的,因为既然是公钥,那么每个人都能获得,那第三方岂不是可以破解从服务端发送来的用私钥加密的信息了吗,然后第三方用公钥加密自己的数据,与服务器进行交互,那还有啥意义?
后来突然想通了,因为https中 非对称加密只是加密对称密钥,也就是我在上述步骤3中,获取到公钥后(每个人都能获取到),客户端用这个公钥加密随机生成的对称密钥,然后传递给服务端。那么这个用公钥加密的对称密钥,也只能是由拥有服务端的私钥才能解开,从而获取到真正用来传输数据的对称密钥,即使第三方获取到公钥,也是无法解析出用来实际传输数据的对称密钥的,后续所有的数据,都会以此对称密钥来进行。所以归根结底,就是保障对称密钥不被破解获取。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值