浅析HTTPS的通信机制

简介: HTTPS 是在HTTP(Hyper Text Transfer Protocol)的基础上加入SSL(Secure Sockets Layer),在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性 。依此避免HTTP的明文传输容易被窃听、不验证身份容易被伪装、无法验证报文完整性容易被篡改等问题。除了被广泛用于互联网上安全敏感的通讯,大部分网站也正在广泛采用 。

什么是HTTPS?

HTTPS 是在HTTP(Hyper Text Transfer Protocol)的基础上加入SSL(Secure Sockets Layer),在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性 。依此避免HTTP的明文传输容易被窃听、不验证身份容易被伪装、无法验证报文完整性容易被篡改等问题。除了被广泛用于互联网上安全敏感的通讯,大部分网站也正在广泛采用 。

HTTPS的通信机制

HTTPS不仅仅是把http://换成https://看上去那么简单,HTTPS的通信机制要比HTTP的复杂一些。

第一步,客户端向服务端发送Client Hello报文。在报文中描述了客户端支持的SSL版本,还有客户端支持的加密算法及密钥长度。

第二步,服务端向客户端发送Server Hello报文作为应答。在报文中描述了服务端和客户端可以共同使用的SSL版本、加密算法及密钥长度,以此作为后续报文传输的加密方式。

第三步,服务端向客户端发送Certificate报文。在报文中包含由数字证书认证机构(Certificate Authority,CA)和其相关机构颁发的公共密钥证书。

第四步,服务端向客户端发送Server Hello Done报文,通知客户端SSL握手协商部分结束。

第五步,当客户端收到服务端SSL握手结束的报文后,客户端首先验证证书的合法性和可靠性,然后向服务端发送Client Key Exchange报文。在报文中包含了使用证书中公开密钥加密的随机密钥。

第六步,客户端向服务端发送Change Cipher Spec报文。这个报文是为了提示服务端之后的通信都使用那个随机密钥进行对称加密。

第七步,客户端向服务端发送Finished报文。这个报文包含从开始连接到现在全部报文的整体校验值。服务端,握手协商成功。

第八步,当服务端能够正确解密并验证客户端的校验值时,同样向客户端发送Change Cipher Spec报文。

第九步,服务端向客户端同样发送Finished报文。

第十步,服务端和客户端的Finished报文交换完毕之后,SSL连接就建立完成了。当通信会受到 SSL 的保护后,开始发送 HTTP 请求和相应。

尾声

目前越来越多的核心技术被“卡脖子”,之前也传出一些开源软件禁止我国的使用。我有一个担心,万一CA也别被“卡脖子”,甚至被“征用”,那么我国的网络安全会受到极大的威胁。


竟然已经看到这里了,你我定是有缘人,留下你的 点赞关注,他日必成大器。
相关文章
|
13天前
|
安全 网络协议 算法
【计算机网络】http协议的原理与应用,https是如何保证安全传输的
【计算机网络】http协议的原理与应用,https是如何保证安全传输的
|
24天前
|
安全 网络安全 数据安全/隐私保护
HTTPS协议
HTTPS协议
22 0
|
1月前
|
安全 网络安全 数据安全/隐私保护
HTTPS协议详解
HTTPS协议详解
16 1
|
5月前
|
算法 安全 Linux
Linux网络-HTTPS协议
Linux网络-HTTPS协议
|
6月前
|
存储 安全 算法
|
11月前
|
存储 SQL 安全
HTTP vs HTTPS: 网络通信的加密之争!你真的知道它们的区别吗?
HTTP和HTTPS是两种不同的协议,它们之间有着显著的区别。HTTPS相较于HTTP来说,更加安全、更具可靠性,但是HTTPS在性能、使用方式、资源消耗等方面都有一定的不足。
HTTP vs HTTPS: 网络通信的加密之争!你真的知道它们的区别吗?
|
存储 算法 安全
HTTPS协议实现的原理
HTTPS协议,相关的概念包括SSL、非对称加密、CA证书 先说一下什么是对称加密和非对称加密。 双方加密解密都用相同密钥的算法,称为对称加密算法。 使用对称加密的缺点,使用对称加密双方都知道密钥和算法。加密解密用的是一个密钥,加密是正向的过程,解密是逆向过程。
70 0
|
网络协议 网络安全 数据安全/隐私保护
HTTPS通信原理
大家好,我是阿萨。昨天学习了Header 常见字段学习。今天我们开始学习下HTTPs 客户端和服务器端通信原理。
116 0
HTTPS通信原理
|
算法 网络协议 数据安全/隐私保护
https协议概念
https协议概念
95 0
|
缓存 运维 安全
[ 网络协议篇 ] 一篇文章让你掌握什么是 HTTPS ?(下)
HTTP 和 HTTPS 是老生常谈的问题,无论是在校学习还是找工作,老师和面试官几乎都会问道HTTP 是什么?HTTPS 是什么?他们有什么区别 ? 其实学好 HTTP 和 HTTPS 是很重要的,有利于我们后续的学习和参加工作。相信平时上网的时候也很少有人关注这个问题,只是知道计算机网络里 HTTP 的概念。 其实这一块的知识延伸很广,还需要了解加密算法和 SSL 协议。 未来几篇文章我们就来聊一聊这几个问题,相信仔细看完,会有很大收获。
97 0
[ 网络协议篇 ] 一篇文章让你掌握什么是 HTTPS ?(下)