网络编程篇: HTTPS协议

一.前置知识

早期很多公司刚起步的时候,使用的应用层协议都是HTTP,而HTTP无论是用GET方法还是POST方法传参,都是没有经过任何加密的,因此早期很多的信息都是可以通过抓包工具抓到的。 为了解决这个问题,于是出现了HTTPS协议,HTTPS实际就是在应用层和传输层协议之间加了一层ssl加密解密层,这层加密层本身也是属于应用层的,它会对要进行网络通信的数据加密。HTTPS在交付数据时先把数据交给加密层,由加密层对数据加密后再交给传输层。 当然,通信双方使用的应用层协议必须是一样的,因此对端的应用层也必须使用HTTPS,当对端的传输层收到数据后,会先将数据交给加密解密层,由加密解密层对数据进行解密后再将数据交给应用层。

二. 对称加密和非对称加密

明文是什么?密文是什么?密钥又是什么?

明文是为经加密层加密过的数据,密文是经加密解密层用密钥加密过的数据,密钥就是用于加密和解密数据的东西。密钥可以是一串数字、字母或符号的组合,也可以是一个数学函数或算法。 举个例子:主机A想给主机B发送 7 这个数字,双方约定对要发送的数据 ^ 5, 7^5=2,2就是密文,^5就是密钥。

对称加密:加密和解密用的都是同一个密钥。 特点:对称加密因为密钥是公开的,所以不安全但是正因为只有一个密钥(公钥)所以计算速度快。 非对称加密:加密和解密是用的不同的密钥。特点:相较于对称加密更加的安全,加密用公钥,解密用私钥。只有私钥才能解密经对应的公钥加密过的数据。

三. HTTPS的工作流程及其周边概念

什么是数据指针(数据摘要)?

将正文数据经hash函数进行运算,生成一串固定长度的数字就是数据摘要,常见的加密算法MD5,生成的固定长度数字具有唯一性,如果修改了正文数据,则这串数字会重新生成。HTTP的Session生成的ID就是使用这种方法。

数据指纹(数据摘要)的应用场景?

秒传,在上传数据在百度网盘时,有几率会发生秒传的例子,数据直接上传好了,这是因为在数据要上传到百度网盘时,百度网盘服务端会对上传到数据进行生成数据摘要,然后去自己的库中看看有没有数据摘要是一致的数据,如果有就不用上传了,创建一个软链接就可以了。

CA证书

CA 证书,也叫数字证书,是由权威的证书颁发机构签发的电子文档,用于在网络通信中验证身份并建立加密连接。

  1. 公钥:用于加密数据或验证数字签名,CA 的公钥。
  2. 持有者信息:包括证书所有者的名称、组织单位等信息。
  3. 证书颁发机构的信息:包括 CA 的名称、数字签名等。
  4. 有效期:证书的有效期,包括开始日期和结束日期。
  5. 证书序列号:证书的唯一标识符。
  6. 数字签名:由 CA 对证书内容进行的数字签名,用于确保证书的完整性和真实性。

数据签名

将用户提交的数据经hash算法形成数据指纹,再用CA机构的私钥加密就生成了数据签名。

经多年发展,HTTPS最终选用了非对称加密+对称加密+CA证书认证的工作方式。

上图很清晰的说明了HTTPS的验证过程: 1.服务端要先向CA机构申请CA证书,要填写申请人,域名,公钥等信息后,会生成一个.csr文件,这个文件内的内容最终会加到CA证书上。将scr文将提交给CA机构。 2. CA机构根据发来的csr文件生成对应的CA证书,会生成两个东西,一个是CA证书,一个私钥。生成的私钥是属于证书颁发机构(CA)自身的私钥。这个私钥用于对由该 CA 签发的数字证书进行生成数字签名。 3.CA机构颁发CA证书给服务端。 4.服务端在握手的开始阶段,会向客户端发送自己的数字证书,其中包含了服务端的公钥。 5.客户端收到服务端的证书后,会验证证书的有效性。这包括检查证书链是否有效,是否由受信任的 CA 签发等。如果证书验证通过,客户端生成一个随机的对称密钥,用于加密和解密后续通信的数据。客户端使用服务端证书中的公钥,对生成的对称密钥进行加密,并将加密后的密钥发送给服务端。 6.服务端收到客户端发送的加密的对称密钥后,使用自己的私钥进行解密,从而获取客户端生成的对称密钥。至此,客户端和服务端都具有相同的对称密钥。这个对称密钥将用于加密和解密后续的通信数据。

客户端怎么验证CA证书是否有效?

CA证书上由数据签名,用服务端的公钥对数据签名进行解密就能得到一个数据指纹(数据摘要),用hash算法对CA证书正文内容作计算,得到一个数据指纹(数据摘要),两个数据摘要做对比,如果一致就说明CA证书有效。

相关推荐
刘马想放假3 小时前
Modbus 全栈技术解析:TCP、RTU、ASCII、RTU over TCP
数据结构·网络协议
王二端茶倒水1 天前
一套可落地的无线运营方案,不能只管 AP,还要管用户、计费和运维
网络协议
162723816081 天前
EtherCAT 分布式时钟(DC)原理与配置实战:把多轴真正"对齐到同一时刻"
网络协议
王二端茶倒水2 天前
宽带无线项目,怎么从一次性交付变成长期运营收入?
网络协议
Avan_菜菜3 天前
FRP 内网穿透完整实战:从 HTTP 映射到 HTTPS 自签代理
运维·nginx·https
用户2530171996273 天前
第6篇:从技术到产品 — Ghost Proxifier 的设计哲学
网络协议
用户2530171996273 天前
第3篇:注入的艺术 — Ghost Proxifier 核心架构拆解
网络协议
王二端茶倒水4 天前
商业 WiFi 不是免费上网,而是门店数字化的入口
网络协议
网络研究院9 天前
2026年网络安全
网络·安全·法律·法规·趋势·发展