HTTPS加密过程解析

在学习本篇文章之前,我默认你已经熟悉掌握:HTTP协议解析

在HTTP通信过程中,当我们使用Fiddler进行抓包,会发现我们在网页上输入的数据直接就是明文,我们的密码或者任何隐私的东西,都是"裸奔"在互联网中的,很明显这样是不安全的,那如何去保证安全呢?HTTPS

HTTP和HTTPS的网络分层模型对比:
在这里插入图片描述
HTTPS在应用层和传输层之间,加上了一个SSL层,该层就是用来保证安全的加密层。

既然明文传输是不安全的,那我们就使用加密算法进行加密,加密算法都有哪些?怎么划分?

对称加密

对称加密就是加密和解密使用同一个密钥,也叫做共享密钥加密,共享密钥加密的方式效率会比较高。客户端和服务端要约定共享密钥是什么,这就会使共享密钥以明文在互联网中传输,一旦攻击者拿到了共享密钥,那么后续所有使用共享密钥加密过的消息内容安全性也就不存在了。
在这里插入图片描述

非对称加密

非对称加密有两把密钥,公钥加密后的内容只能由私钥进行解密,私钥加密的内容只能由公钥进行解密。公钥通过服务器发送到客户端,然后私钥就留在服务器,这样进行加密通信也是不安全的,为什么呢?因为公钥在发送的过程中可能被攻击者拦截,然后攻击者会给客户端发送一个假的公钥,客户端拿到假的公钥后给攻击者发送加密后的消息,攻击者使用假的私钥解密,这样是不安全的,通过下图了解一下:
在这里插入图片描述
到这里,就会引入一个第三方的机构,既然无法确定双方的身份,就和支付宝一样,用户和商家无法对货款和货物做出判断,那么就交由第三方进行监督。这里也是一样的,CA机构就是做这件事情的,在进行交换消息之前,服务器会向CA机构申请一个证书,CA证书,CA证书使用数字签名的方式加密,这里了解即可,CA机构会在审核服务器的身份后,才会颁发给服务端,CA证书具有权威性,中间的攻击者是很难伪造的,在颁发的同时还会有公钥和私钥,这时公钥就具有了权威性,中间人无法伪造,客户端在接收到公钥和证书后会首先对CA证书进行验证,如果验证通过才会继续后面的通信。

此时可以看到非对称加密已经达到了安全的目的,但是非对称加密效率会比对称加密要慢一些,HTTPS就打出了一套"组合拳",对称加密密钥是明文的,那就通过非对称加密对共享加密(对称加密)的密钥进行加密,在约定好了密钥后,然后后续的消息传递使用对称加密,这样算下来效率会提高很多。

讲到这里,HTTPS加密的大体框架已经出来了,但是在实现细节上还有一点差距,差距就在Hash算法上,Hash算法也是一种加密方式,该算法可以将任意长度的信息转换为固定长度的值,这里了解即可。

在了解完这些后,最后揭开HTTPS的神秘面纱,下图便是HTTPS的整个过程:
在这里插入图片描述
文章参考:《图解HTTP》

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值