https加密

http协议

没有对数据进行加密,直接明文传输,这就是http协议;
这种通信协议的弊端就是攻击者容易截取消息,造成信息的窃听和篡改,基于此,产生了https协议;

https协议

对称加密

在每次发送真实数据之前,服务器先生成一串密钥,先把密钥传输给客户端。之后服务器给客户端发送真实数据的时候,会用这把密钥对数据进行加密,客户端接收到数据之后,用之前的密钥进行解密。同理,客户端给服务器发送数据,也是采用这把密钥来加密。
在这里插入图片描述
弊端:密钥的传输成问题,假设密钥通过网络传输,如果攻击者通过网络截取了密钥,那么在后面的通信中,攻击者通过这个密钥也可以获取明文,造成信息泄露;故,通过对称加密消息的话,密钥的传输就是一个问题。

非对称加密

让客户端和服务器端都拥有两把钥匙,一把钥匙是公开的,全世界都可以知道,称为公钥;另外一把钥匙则是保密的,只有自己知道,称为私钥,而且,用公钥加密的数据,只有对应的私钥才能解密;用私钥加密的数据,只有对应的公钥才能解密。
这样,服务器在给客户端传输数据的过程中,可以用客户端的公钥进行加密,客户端收到密文后,再用自己的私钥进行解密。同理,客户端给服务器发送消息用服务器的公钥加密,服务器用自己的私钥解密,这样就能保持数据的安全传输了。
在这里插入图片描述
弊端:非对称加密的加解密速度特别慢,比对称加密慢上百倍,造成信息加解密速度慢。
分析:对称加密的弊端是密钥无法保密传输,非对称加密的弊端是加解密速度慢,这样我们可以结合使用两种加密方式:

对称加密+非对称加密

用非对称加密的方式来传输对称加密过程中的密钥,之后我们就可以采取对称加密的方式来传输数据,具体如下:服务器用明文的方式给客户端发送自己的公钥,客户端收到公钥之后,对生成一把密钥(对称加密用),然后用服务器的公钥对密钥进行加密,再传输给服务器,服务器收到加密的密钥之后,用自己的私钥解密,这样服务器就安全的得到这把密钥了,客户端也有这样一把密钥,就可以进行对称加密。
弊端:服务器以明文的方式给客户端传送公钥时,中间人截取了这把属于服务器的公钥,并且把中间人自己的公钥冒充服务器的公钥传输给客户端。之后客户端就会用中间人的公钥来加密自己生成的密钥,然后把加密的密钥传输给服务器,此时中间人又把密钥截取,中间人用自己的私钥进行解密,这样中间人就获得这把密钥了。最后中间人再对这把密钥用服务器的公钥进行加密,发送给服务器。在这个过程中,中间人获取了对称加密的密钥,之后服务器和客户端的对称加密传输中,这些数据对中间人来说和明文没区别。
在这里插入图片描述
弊端:这种消息传输方式没有达到有效传输的原因是客户端不知道这把公钥是不是属于服务器的。这样就引出了数字证书。

数字证书

非对称加密不安全的原因是客户端不知道这把公钥是否是服务器的,因此,我们需要找到一种策略来证明这把公钥就是服务器,而非冒充。解决这个问题需要使用数字证书,具体如下:
我们需要找到一个拥有公信力、大家都认可的认证中心(CA)。
服务器在给客户端传输公钥的时候,会把公钥以及服务器的个人信息通过Hash算法生成信息摘要,如图
在这里插入图片描述
为防止信息摘要被调换,服务器还会用CA提供的私钥对信息摘要进行加密来形成数字签名,如图
在这里插入图片描述
并且,最后还会将原来没Hash之前的服务器信息和公钥和数字签名合并在一起,形成数字证书
在这里插入图片描述
当客户端拿到这份数字证书之后,就会用CA提供的公钥来对数字证书里面的数字签名进行解密获得信息摘要,然后对数字证书里服务器的公钥和个人信息进行Hash运算得到新的信息摘要,两份摘要进行对比,若一样,则证明它就是目标服务器,否则不是,
在这里插入图片描述
这样就可以保证服务器的公钥安全交给客户端了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值