通俗理解HTTPS加密认证流程


假设现在有客户端 A,服务器 B,和黑客 X,X会通过网络抓包的方式获取A和B之间发的所有信息,也可以伪造A向B或者B向A发送信息

HTTP存在的问题

由于HTTP使用明文传输,X可以截取A与B互相发送的任何信息,然后伪造其中一方向另一方发送别有用心的查询请求,因此及其不安全。

HTTPS

HTTPS = HTTP+SSL(Secure Socket Layer)
SSL/TSL协议的解决方案
SSL通常是指SLL和TSL,TSL是在SSL上进行了包装,本质上他们是一样的,通常HTTPS 是HTTP+SSL 或者HTTP+TSL;

都知道HTTPS采用了结合对称加密和非对称加密的混合加密机制,接下来会一一讲解为什么采用混合形式才能够实现安全通信

毫无安全措施

AB之间进行通信没有任何安全措施,X即可主动成为代理人获取信息并伪造
在这里插入图片描述

使用对称加密机制

若AB使用将数据对称加密进行通信,那双方只要拥有相同密钥的就可以对数据进行安全的加密传输,解密读取了,那要拥有相同的密钥势必会在通信初期将其中一方将密钥先传输给另一方,那么黑客X仍然可以获取到密钥进行数据解密和伪造。
在这里插入图片描述
其实到这里问题就已经解决了一半,是不是只要想办法解决第一次传输密钥被盗取的问题就好了。
因此引入了非对称加密

结合非对称加密

非对称加密是使用一个密钥对(一个公钥,一个私钥),公钥加密只能由私钥解密,私钥加密只能由公钥解密。

我们假定此时B作为服务端,A作为客户端,A向B发起连接请求,B会将公钥发给A,然后A用B的公钥将一个对称加密密钥进行加密,返回给B,B使用发给A配对的私钥解密,便拿到了对称加密密钥进行安全的加密通信。
在这里插入图片描述

乍看之下很完美,但仍然存在一个问题,黑客X可以监听截取任何请求,那么在刚才的流程中,如果X截取了B发给A公钥的请求,然后把自己的公钥发给A,那对称加密密钥是不是仍然会被黑客所截取?
在这里插入图片描述

因此引入了最后的措施:数字证书

数字证书

到目前这一步只需要让A确保收到B发来的公钥确实是B的就OK了。
因为不管是谁来向我们的服务器B请求消息,他发给对方的公钥都是同一个。
那么我们可以建立一个拥有足够可信度的第三方来管理B的公钥
当A收到B的公钥后,A可以向这个第三方来确定我收到的公钥确实来自于B。
在这里插入图片描述

便可以建立安全通信黑客无处下手

具体流程为:

  • 服务器B首先向一个大家都信任的****第三方机构(CA)**申请一个身份证书。
  • 客户端A向服务器B建立通信之前首先向服务器请求获得B的证书。证书中包含公钥。
  • 服务器B收到请求后把数字证书发送给客户端A。
  • 客户端A获得服务器B的证书之后,然后与可信任的第三方机构证书进行验证,验证通过后则进行正常的内容通信。

结束语

以上便是基本的HTTPS加密认证流程,实际情况可能还会有双向认证,密钥合成算法等,后面的博客再来介绍

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值