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. 黑客是不可以构建三方机构的,因为申请一个证书还有域名,此时域名不能和网站的域名相同,因为审核过不了
相关推荐
老蒋新思维2 小时前
创客匠人启示录:AI 时代知识变现的底层逻辑重构 —— 从峰会实践看创始人 IP 的破局之路
网络·人工智能·网络协议·tcp/ip·数据挖掘·创始人ip·创客匠人
码农爱学习2 小时前
使用wpa工具配网、udhcpc分配IP的过程分析
网络·网络协议·tcp/ip
北京耐用通信3 小时前
协议转换的‘魔法转换器’!耐达讯自动化Ethernet/IP转Devicenet如何让工业机器人‘听懂’不同咒语?”
网络·人工智能·科技·网络协议·机器人·自动化·信息与通信
CAir25 小时前
一问读懂并了解HTTP代理的基本原理
网络·网络协议·http·代理
北京耐用通信5 小时前
阀岛的“超级大脑”:耐达讯自动化网关让EtherNet/IP转DeviceNet“说同一种语言”
人工智能·物联网·网络协议·网络安全·自动化·信息与通信
卓码软件测评5 小时前
具有CMA和CNAS双重资质的软件测试机构【Gatling脚本开发资源请求处理:html、css、js自动下载配置】
websocket·网络协议·测试工具·单元测试·测试用例
喜欢流萤吖~7 小时前
POST 与 GET:HTTP 请求方法的本质区别
网络·网络协议·http
宋拾壹7 小时前
物理服务器映射端口
网络协议·ssl
Tandy12356_8 小时前
手写TCP/IP协议栈——ARP输入处理
c语言·网络协议·tcp/ip·计算机网络
涡轮蒸鸭猫喵8 小时前
-------------------UDP协议+TCP协议-------------------------
java·网络·笔记·网络协议·tcp/ip·udp