SSL协议通俗易懂版

1、http是明文传输的,被中间人抓包就被看光光了

2、那怎么办?

加个密呗

3、用什么加密?秘钥怎么传输?

直接对称加密,服务端直接发送对称加密秘钥给客户端:传输的秘钥被中间人拦截了,还是被看光光

非对称加密,服务端直接发送非对称加密公钥给客户端:服务器将公钥发给客户端时被中间人拦截了,中间人自己生成公私钥,把自己生成的公钥发给客户端,客户端加密后发送数据被中间人拦截,然后被中间人的私钥解密,还是被看光光。

4、那怎么办?怎么才能不让中间人改服务端传过来的公钥呢?

已知私钥加签后数据不能被修改(不了解的话先去搜下加签解签)

但是服务器的公钥怎么给到客户端呢?直接发送给客户端又被中间人修改了咋办?

既然不能服务器直接发送公钥给客户端,那能不能不发送就有啊?可以啊,装机就自带呗。

也就是说,你的浏览器,我的浏览器,大家的浏览器都自带一个解签的公钥,那加签的私钥放哪里的?约定给一个权威部门呗(CA机构)。

这个时候,服务器生成一对公私钥,将服务端的公钥给权威部门的私钥加签,然后发送给客户端,客户端用自带的公钥解签就可以拿到服务端的公钥了。

这个时候你可能就要问了

a、如果中间人拦截了数据怎么办?拦截了没用啊,中间人最多就是拿大家都有的公钥去解签,获取到服务端的公钥,拿到公钥没啥用啊。

b、那这个时候中间人自己生成一对公私钥行不行?中间人生成的数据客户端解签不了啊。

c、那直接拦截客户端的数据行不行,客户端的数据是服务端的公钥加密过的,中间人也解密不了。

5、以上的操作是让加密安全了,但是非对称加密可是很慢的,那怎么办呢?用对称加密呗

用上面提到的非对称加密传输对称加密的秘钥不就行了嘛,这个时候的对称加密秘钥不就只有客户端和服务端知道了,嘿嘿

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值