IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> HTTPS与HTTP区别,SSL/TLS认证过程 -> 正文阅读

[网络协议]HTTPS与HTTP区别,SSL/TLS认证过程

1.http是超文本传输协议,信息是明文传输,存在安全风险的问题。Https则解决HTTP不安全的缺陷,在TCP和HTTP网络层之间加入了SSLTLS安全协议,使得报文能够加密传输。

2. HTTP连接建立相对简单,TCP 三次握手之后便可进行HTTP的报文传输。而HTTPS在TCP三次握手之后,还需进行SSLTLS的握手过程,才可进入加密报文传输。

3. HTTP的端口号是80, HTTPS的端口号是443。

4. HTTPS协议需要向CA (证书权威机构)申请数字证书,来保证服务器的身份是可信的。

https解决了的哪些问题?

HTTP由于是明文传输,所以安全上存在以下三个风险: .

●窃听风险,比如通信链路上可以获取通信内容,用户号容易没。

●篡改风险,比如强制植入垃圾广告,视觉污染,用户眼容易瞎。

●冒充风险,比如冒充淘宝网站,用户钱容易没。

HTTPS是如何解决上面的三个风险的?

●混合加密的方式实现信息的机密性,解决了窃听的风险。

●摘要算法的方式来实现完整性,它能够为数据生成独一无二的「指纹」,指纹用于校验数据的完整性,解决了篡改的风险。

●将服务器公钥放入到数字证书中,解决了冒充的风险。

HTTPS中SSL/TLS认证过程

主要有四个过程

1. ClientHello 由客户端向服务器发起加密通信请求

在这一步,客户端主要向服务器发送以下信息:

(1) 客户端支持的SSLTLS协议版本,如TLS 1.2版本。

(2)客户端生产的随机数( Client Random ),后面用于生产「会话秘钥」。

(3)客户端支持的密码套件列表,如RSA加密算法。

2. SeverHello 向客户端发出响应,也就是SeverHello 。

服务器回应的内容有如下内容:

(1)确认SSL\TLS协议版本,如果浏览器不支持,则关闭加密通信。

(2)服务器生产的随机数( Server Random ),后面用于生产「会话秘钥」。

(3)确认的密码套件列表,如RSA加密算法。

(4)服务器的数字证书。

3.客户端回应. 首先通过浏览器或者操作系统中的CA公钥,确认服务器的数字证书的真实性。

如果证书没有问题,客户端会从数字证书中取出服务器的公钥,然后使用它加密报文,向服务器发送如下信息:

(1) 一个随机数( pre-master key )。该随机数会被服务器公钥加密。

(2)加密通信算法改变通知,表示随后的信息都将用「会话秘钥」加密通信。

(3) 客户端握手结束通知,表示客户端的握手阶段已经结束。这-项同时把之前所有内容的发生的数据做个摘要,用来供服务端校验。

上面第一项的随机数是整个握手阶段的第三个随机数,这样服务器和客户端就同时有三个随机数,接着就用双方协商的加密算法,各自生成本次通信的「会话秘钥」。

4.服务器的最后回应.

服务器收到客户端的第三个随机数( pre-master key )之后,通过协商的加密算法,计算出本次通信的「会话秘钥」。然后,向客户端发生最后的信息:

(1)加密通信算法改变通知,表示随后的信息都将用「会话秘钥」加密通信。

(2)服务器握手结束通知,表示服务器的握手阶段已经结束。这-项同时把之前所有内容的发生的数据做个摘要,用来供客户端校验。

至此,整个SSLTLS的握手阶段全部结束。接下来,客户端与服务器进入加密通信,就完全是使用普通的HTTP协议,只不过用「会话秘钥」加密内容。

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-07-17 12:17:20  更:2021-07-17 12:18:06 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 17:50:14-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码