HTTPS加密过程详解

目录

一、HTTPS是什么

1.1 运营商劫持

1.2 加密是什么

二、HTTPS的工作过程

2.1 对称加密

2.2 非对称加密

2.3 引入证书


一、HTTPS是什么

HTTPS 也是一个应用层协议。是在 HTTP 协议的基础上引入了一个加密层。
HTTP 协议内容都是按照文本的方式明文传输的。这就导致在传输过程中出现一些被篡改的情况。

1.1 运营商劫持

为什么会引入HTTPS协议,这就要从运营商劫持说起了。由于HTTP是使用明文传输的,所以在向服务器发送数据的时候就会被中间人“运营商”将发送的请求进行劫持,进而给客服端响应“运营商”自己的数据。

例如:在网页浏览器下载某个软件的时候就会出现明明没有下载其他的东西,但是下载好的东西就不是你想要的,这就是典型的“运营商劫持”。当下载一个天天动听软件,未被劫持的时候是天天动听的链接

如果被劫持了,点击下载就会弹出其他应用的下载链接,这里就是qq浏览器的下载链接了!

这其中的缘由就是我们通过网络传输任何数据的时候都会经过运营商的网络设备(路由器,交换机),那么运营商就会解析传输的数据,并且进行篡改。

点击“下载按钮”其实就是向服务器发送一个http请求,服务器返回的响应就是包含了该软件的的下载链接。但是被运营商劫持后,他们就会把请求数据进行解析,当他们发现要下载“天天动听的”软件时,这时候就会将这个链接篡改成“qq浏览器”的下载地址了。

其实这里不只是运营商可以劫持请求数据,其他的黑客也可以用类似的手段进行劫持,从而获取用户的隐私信息(如果获取的是银行卡的账号以及密码,那后果是不是很严重呢!!!)。所以网络上的明文传输是一件比较危险的事情!!!

HTTPS就是在HTTP的基础上进行了加密处理,进一步来保证用户的信息安全!

1.2 加密是什么

加密就是把 明文 (要传输的信息)进行一系列变换,生成 密文 。解密就是把 密文 再进行一系列变换,还原成 明文 。在这个加密和解密的过程中,往往需要一个或者多个中间的数据,辅助进行这个过程, 这样的数据称为 密钥 。

二、HTTPS的工作过程

既然要保证数据的安全,那就需要对数据进行“加密”。网络传输中已经不在直接传输明文了,而是加密后的“密文”。加密的过程有很多种,但是整体的可以分为两类:“对称加密”和“非对称加密

2.1 对称加密

对称加密其实就是引入一个密钥 key,通过这个 key 将 明文 加密成 密文,并且还能使用这个 key 密文 解密成 明文。以下是一个正常的对称加密流程:

但是在这个过程中key的传输是通过网络传输的,所以这里的key就会被黑客获取到,从而利用key对传输的数据进行解密获取。以下就是黑客获取数据的全过程:

为了防止这种情况的发生,引入了非对称加密将对称加密中的key进行加密(因为在数据传输的过程中也是需要考虑效率的,所以不能引用非对称加密及进行数据传输,但是可以加密对称加密中的key,然后再利用对称加密来加密数据)

2.2 非对称加密

换而言之,非对症加密 就是对 对称加密 再加密的过程,需要将 对称加密的中的 key 安全的告诉服务器。下面是一组 非对称加密 的安全加密过程(之所以这么说是因为只有非对称加密也是不安全的)

虽然这个过程黑客无法直接获取到key了,但是他可以通过其他的手段拿到key,接下来就是黑客通过自己的 pub key pri key 拿到客户端的 密钥key

为了解决上述问题,HTTPS的解决方案就是引入证书,有了证书之后,就能够很好的解决上述的问题了。

2.3 引入证书

引入证书过程相对复杂,这里就不过多的介绍,大概了解就行了。在客户端和服务器刚一建立连接的时候,服务器给客户端返回一个 证书。这个证书包含了刚才的公钥,也包含了网站的身份信息

这个证书就好比人的身份证,作为这个网站的身份标识。搭建一个 HTTPS 网站要在CA机构先申请一个证书。(类似于去公安局办个身份证)

当客户端获取到这个证书之后,会对证书进行校验(防止证书是伪造的)。

  • 判定证书的有效期是否过期
  • 判定证书的发布机构是否受信任(操作系统中已内置的受信任的证书发布机构)。
  • 验证证书是否被篡改:从系统中拿到该证书发布机构的公钥,对签名解密,得到一个 hash 值(称为数据摘要),设为 hash1。然后计算整个证书的 hash 值,设为 hash2。对比 hash1 和 hash2 是否相等。如果相等,则说明证书是没有被篡改过的。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值