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 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> TLS详解 -> 正文阅读

[网络协议]TLS详解

TLS全称是Transport Layer Security,是用来替代SSL的,是一种密码协议,用来提供计算机之间交互的安全通信。主要用于https通信,也用于email,即使通信等。

TLS握手

TLS握手通常分为2种方式,一种是基本的握手(具体可参照下图),另一种是客户端服务端握手(因为这种用的少,就不细讲)
在这里插入图片描述
通过上图可知,我们这里说的TLS握手主要讲的是最基本的TLS握手,即只使用服务器的证书来进行加密,具体步骤如下:
1.客户端与服务器之间通过3次握手建立连接
2.协商阶段
a. client发送一个ClientHello消息给server,这个消息包含了client支持的最高的TLS协议版本,一个随机数,当前client支持的密码组列表和建议的压缩算法
b.server发送一个ServerHello消息给client,这个消息包含了TLS协议版本,一个服务器随机数,根据客户端支持的密码组列表最终选择的密码和最终选择的压缩算法。
c.server发送Certificate(证书)消息
d.server发送ServerKeyExchange消息
e.server发送ServerHelloDone消息,表明握手协商已经完成
f.client发送ClientKeyExchange消息,这个消息包含了PreMasterSecret(这个值是根据server发送的Certificate里面的public key通过加密生成的)和 public key。(注意在发送消息之前,client会对server发送的Certificate进行验证–可参考下面的数字证书,如果验证失败,则握手失败)
g.client和server根据client的随机数,server端的随机数和PreMasterSecret计算出一个共同的密码,这个共同的密码叫做master secret)

3.client发送ChangeCipherSpec记录,告诉server我后面发送的所有消息都会是加密的了
a.client发送一个已验证并且加密的Finished消息。包含了对之前消息的hash和mac
b.server对接收的Finished消息进行解密并验证hash和mac,如果验证失败,则握手失败

4.server发送ChangeCipherSpec消息,告诉client我后面发送的所有消息都会是加密的了
a.server发送一个已验证并且加密的Finished消息。包含了对之前消息的hash和mac
b.client 对接收的Finished消息进行解密并验证hash和mac,如果验证失败,则握手失败

5.应用阶段:此阶段说明TLS握手已经完成,后面所有发送的消息都会是加密的

数字证书

数字证书提供的subjectName(主题名称)设置当前证书的所有权,将当前访问的地址与证书所有权的地址进行对比,如果一样,则证书有效,如果不一样,则证书无效。同时也会对证书及其父类证书已知道根证书有效期进行对比,如果不在有效期内,则证书无效。
在这里插入图片描述

参考文档
https://en.wikipedia.org/wiki/Transport_Layer_Security
https://en.wikipedia.org/wiki/Certificate_authority

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-04-04 12:47:24  更:2022-04-04 12:48:59 
 
开发: 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/26 4:39:24-

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