HTTPS的加密流程

HTTPS加密流程

  • [1. 什么是HTTPS?](#1. 什么是HTTPS?)
  • [2. HTTPS的工作流程](#2. HTTPS的工作流程)
    • [2.1 对称加密](#2.1 对称加密)
    • [2.2 非对称加密](#2.2 非对称加密)
    • [2.3 引入证书](#2.3 引入证书)

1. 什么是HTTPS?

HTTPS也是一个应用层协议,在HTTP协议的基础上引入了一个加密操作.只不过HTTP协议是按照文本的方式明文(要传输信息)传输,就会导致传输过程中数据会被篡改和泄露的情况.

通过HTTPS在HTTP的基础上进行加密,就能进一步保证数据的信息安全.

加密其实就是把明文经过一系列的转换,生成密文.解密就是把密文在进行一系列的转换,还原成密文.

在经过加密和解密的过程中,需要有一个或者多个中间数据的辅助来完成,此时我们便称为"密钥".

2. HTTPS的工作流程

2.1 对称加密

对称加密使用同一个"密钥",把明文加密成密文,也能把密文解密成明文.

此时黑客是不知道密钥是什么,也就无法获取数据,但是服务器会给很多客户端提供给服务,此时服务器就需要维护每一个客户端和每一个密钥之间的对应的关系.

如果把密钥进行明文传输,很容易就会被黑客给截获到,就不能够保证数据的安全性.所以,我们需要采用非对称加密的方式解决.

2.2 非对称加密

非对称加密会有两个"密钥",一个"公钥",一个"私钥".公钥和私钥是配对的,但是缺点就是运算速度慢.引入私钥和公钥就可以解决数据安全性.

  • 通过私钥对明文进行加密,变成密文.
  • 通过公钥对密文进行解密,变成明文.
  • 通过私钥对明文进行加密,变成密文
  • 通过公钥对密文进行解密,变成明文

    客户端在本地生成对称密钥,通过公钥加密,发送给服务器,即使黑客截获了公钥加密的数据,也无法查看原文.此时服务器再通过私钥解密,就可以获取客户端的对称密钥,并且对这个确认密钥进行加密,返回给客户端.后续客户端再和服务器通信的时候只用对称加密即可,因为密钥只有客户端和服务器知道,其他客户不知道.

但是上述还存你在一个严重的问题!就是中间人攻击,黑客可以使用中间人攻击的方式,拿到对称密钥.

为了解决中间人攻击,我们使用第三方认证的"公正机构".

2.3 引入证书

在客户端和服务器刚建立连接的时候,服务器给客户端返回一个证书,证书包含了公钥,也包含了网站的身份信息.

第三方公证机构的公钥会分发给其他的各种设备不是通过网络传输的,而是系统内置的.也可以是通过其他额外安装的公正机构的公钥.因此黑客没办法对这个环节进行中间人攻击.

当客户端拿到证书之后,也就是拿到了证书中的公钥.

此时客户端需要验证公钥是否是服务器的公钥.就需要进行校验.

进行校验的方法就需要使用到核心机制:"数字签名"=>被加密后的校验和,公正机构在生成证书的时候,会先针对证书中的其他属性,生成校验和,会使用第三方认证的私钥,针对校验和进行加密,此时别人就无法重新生成这个校验和.

  1. 如果黑客把证书的数据给修改了,把公钥替换成自己的公钥,此时客户端在进行证书校验的时候,就会很容发现被修改.
  2. 黑客如果对数字签名进行替换也是不行的,因为数字签名是先计算校验和,再使用认证机构的私钥进行加密,黑客不知道认证机构的私钥是什么
  3. 黑客是不可以构建三方机构的,因为申请一个证书还有域名,此时域名不能和网站的域名相同,因为审核过不了
相关推荐
KAI丶18 小时前
【Https】Received fatal alert: internal_error
https·1024程序员节
jfqqqqq19 小时前
使用pem和key文件给springboot开启https服务
网络协议·http·https
Tony Bai21 小时前
【Go 网络编程全解】13 从 HTTP/1.1 到 gRPC:Web API 与微服务的演进
开发语言·网络·http·微服务·golang
易ლ拉罐1 天前
【计算机网络】HTTP协议(二)——超文本传输协议
网络·计算机网络·http·1024程序员节
LCMICRO-133108477461 天前
长芯微LDUM3160完全P2P替代ADUM3160,LDUM3160是一款采用ADI公司iCoupler® 技术的USB端口隔离器
网络·stm32·单片机·嵌入式硬件·网络协议·fpga开发·硬件工程
Fms_Sa1 天前
UDP实现客服与客户的咨询对话
网络·网络协议·udp
BIBI20491 天前
HTTP 请求方法指南:GET, POST, PUT, PATCH, DELETE 区别
网络·网络协议·http
代码不停1 天前
网络 UDP 和 TCP / IP详细介绍
网络·网络协议·tcp/ip·udp·1024程序员节
fenglllle1 天前
http trailer 与 http2
http·wireshark·1024程序员节
2501_915918411 天前
iOS 26 查看电池容量与健康状态 多工具组合的工程实践
android·ios·小程序·https·uni-app·iphone·webview