图解HTTPS加密过程

HTTP

http在我之前的博客中已经有所讲解。敬请移步
Linux:了解HTTP协议

HTTPS概念即组成

HTTPS (全称:Hyper Text Transfer Protocol over SecureSocket Layer),是以安全为目标的 HTTP 通道,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性。

HTTPS 在HTTP 的基础下加入SSL/TLS(Secure Sockets Layer 安全套接字协议;Transport Layer Security 传输层安全),TLS与SSL在传输层与应用层之间对网络连接进行加密。

HTTPS 存在不同于 HTTP 的默认端口及一个加密/身份验证层(在 HTTP与 TCP 之间)。

SSL/TLS概念

SSL(Secure Socket Layer 安全套接层)是基于HTTPS下的一个协议加密层,最初是由网景公司(Netscape)研发,后被IETF(The Internet Engineering Task Force - 互联网工程任务组)标准化后更名为TSL。

TSL/SSL对用户最重要的意义是加密以及解密

我们知道,在OSI参考模型中,将网络通信的工作分为七层物理层,数据链路层,网络层,传输层,会话层,表示层和应用层。通常将上三层统称为应用层,下两层称为网络接口层。

应用层的代表性协议有HTTP和HTTPS,而HTTPS拥有特殊的一层处于应用层与传输层中间。
SSL/TSL处于应用层与传输层中间
SSL/TSL处于应用层与传输层中间。

SSL/TLS的运作流程

TLS/SSL对用户最重要的意义是加密以及解密。接下来详谈加密以及解密的工作流程。

在了解加密解密的工作流程前,还需要明确几组概念

对称加密 / 非对称加密

对称加密:对称加密指的就是加密和解密使用同一个秘钥,所以叫做对称加密。对称加密只有一个秘钥,作为私钥。

非对称加密:加密和解密使用不同的秘钥,一把作为公开的公钥,另一把作为私钥。公钥加密的信息,只有私钥才能解密。私钥加密的信息,只有公钥才能解密。 私钥只能由一方安全保管,不能外泄,而公钥则可以发给任何请求它的人。非对称加密使用这对密钥中的一个进行加密,而解密则需要另一个密钥。

了解这样一组概念之后,进入正题,第一个重要的概念为

HTTPS密钥协商

该过程使用对称加密与非对称加密两种方法结合,从而保证数据的安全。

服务器端(server)与客户端(client)各拥有一个对称密钥进行加密解密,同时server端拥有一个非对称私钥,server端会把非对称公钥发送给client端,client使用这个非对称公钥对对称密钥进行加密,之后将加密后的对称密钥发送给server端,server端使用非对称私钥对其进行解密

HTTPS密钥协商过程
在这里插入图片描述
Q:既然非对称加密很安全,为何不直接使用非对称加密?
A:非对称加密算法一般比较复杂,对称加密算法简单;如果使用非对称加密对所有数据加密解密,会消耗远远超出组合使用来加密解密的时间。
一个字:快!!!

HTTPS中间人攻击劫持问题

通俗地讲,就是一个黑客通过私自搭建的服务器攻击用户的电脑。

本来client直接向server请求数据;而现在多了一个中间服务器,黑客可以将client从server获取的非对称公钥替换成黑客公钥,再获得client的端口,之后client发送数据就会经过中间服务器,中间服务器便可轻易获得client端的数据。
在这里插入图片描述
当然,我们要保证客户端的安全客户端,因此需要对远端服务器进行身份认证;以及防止中间信息被篡改问题

远端服务器身份认证问题

在合法服务器进行建站时,官方公正部门会颁发证书(我国叫做ca证书),包含server公钥,权威信息(以数据签名方式呈现)等;client绕过中间人内置证书信息;在client发起请求时会先请求ca证书,然后对其进行解密,与内置证书信息进行对比;若相同则服务器身份认证成功,否则失败。

远端服务器身份认证
在这里插入图片描述

中间信息被篡改问题

哈希算法中的开散列方法,将文本转为定长的字符序列;称为数据摘要。这种方法可以保证微小区别的文本所形成的数据摘要是不同的。

client向server端发送数据时(加密后的对称密钥等),会对数据形成数据摘要,同时会将数据摘要进行密钥加密,加密的数据摘要叫做数据签名(指纹)。数据签名时不能轻易被破解的。
server端拿到数据之后,也会对数据生成数据摘要再生成数据签名,然后与client端发送来的数据签名进行对比,如果不同,就说明数据是被篡改过的,便不做处理。

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值