【网络协议】【http】【https】TLS解决了HTTP存在的问题-加密通信+摘要,数字签名+CA证书

【网络协议】【http】【https】TLS解决了HTTP存在的问题-加密通信+摘要数字签名+CA证书

ps:TLS前期发送的密码套件里面主要就是约定:密钥交换算法,签名算法,对称加密算法,摘要算法

1加密通信

一般选择非对称加密交换密钥 对称加密进行后续通信 解决了信息泄露问题

1.1 密钥交换算法 (非对称加密)

RAS,ECDHE 公钥加密 私钥解密的方式

RAS

通过三个随机数(客户端随机数+服务端随机数+客户端随机数)生成对称加密密钥

不具有前向保密性 一旦服务端私钥泄露 之前被抓包的所有连接的数据全部都会被解密、

(RSA密钥交换方案需要客户端先拿到服务器的公钥证书 ,使用服务器公钥来加密要发送的预备共享密钥(客户端随机数),所以RSA密钥交换需要在第二个网络往返中交换共享密钥)

ECDHE

通过三个随机数(客户端随机数+服务端随机数+ECDHE计算出的共享密钥X)生成对称加密密钥(AES,DES...)

ECDHE计算出的共享密钥:

客户端:根据对方公钥Q1 自己公钥Q2 自己私钥d2 椭圆曲线基点G 四个数据生成X1

服务端:根据对方公钥Q2 自己公钥Q1 自己私钥d1 椭圆曲线基点G 四个数据生成X2

由于ECDHE算法计算出的X1=X2

并且客户端,服务端,的公钥私钥每次都是随机生成的 具有前向保密性,一旦服务端私钥泄露 只会泄露此次链接的数据,之前被抓包的所有连接的数据不会被解密

(TLS1.3默认 支持ECDHE密钥交换算法,由于tls1.2ECDHE四次握手建立连接时,第三次客户端发送数据后无需等待服务端回复 这也是1-RTT和0-RTT来源,后续会写一下)

1.2 对称加密加密算法

AES,DES...

2 摘要(hash)+数字签名(非对称加密)

解决了数据完整性 问题,数据来源可靠性问题

摘要

是对数据进行哈希运算

数字签名(非对称加密

使用私钥对摘要后的哈希值进行加密 并使用公钥解密

如何验证数据完整性:

1 服务器端:对源数据 进行哈希 运算数字签名(非对称加密 )并使用私钥对摘要后的哈希值进行加密 得到a1,将源数据和a1一起发送给客户端

2客户端:使用服务器端公钥 进行解密得到a1 ,根据摘要算法 对发来的源数据 进行计算(hash)得到a2 比较a1,a2(两个hash之后的值)相等则认为数据完整

3 CA证书

验证服务器端身份,可分辨公钥是否被伪造的, 防止中间人攻击

摘要+数字签名只能确保信息完整 不能确保信息一定是服务器发来的 因为服务器的公钥可能会被篡改 此时客户端无法识别

CA就是第三方权威机构 他将服务器的信息(包含公钥 )给CA机构,CA使用自己的私钥进行数字签名 并生成数字证书 (CA自己的公钥每台计算机出厂时会内置)

数字证书:数据 (公钥 公钥持有者信息 CA信息 CA使用的数字签名+算法 证书有效期 等等)+签名

验证时 同上方式 验证成功后 信任服务器端后 从数字证书中取出公钥 ,此时公钥一定是服务器端 的,可进行数据完整性验证

相关推荐
孙同学_24 分钟前
一文带你了解:从浏览器发起HTTP请求到得到网页的整个过程
网络·网络协议·http
想唱rap4 小时前
应用层HTTPS协议
服务器·网络·c++·网络协议·http·https
想唱rap4 小时前
传输层协议之UDP
java·linux·网络·c++·网络协议·mysql·udp
wangl_925 小时前
Modbus RTU 与 Modbus TCP 深入指南-目录
网络·网络协议·tcp/ip·tcp·modbus·rtu
05候补工程师6 小时前
【408 应用层通关】DNS 域名解析负载博弈、HTTP 延迟计算与邮件协议全家桶详解
网络·经验分享·笔记·网络协议·计算机网络·http
wangl_927 小时前
Modbus RTU 与 Modbus TCP 深入指南-总览对比
网络·网络协议·tcp/ip·tcp·modbus·rtu
wangl_927 小时前
Modbus RTU 与 Modbus TCP 深入指南-CRC校验完全解析
网络·网络协议·tcp/ip·tcp·modbus·rtu
郝学胜-神的一滴9 小时前
Python 鸭子类型:优雅的多态哲学,让代码更自由
linux·服务器·开发语言·python·网络协议
qq_5895681017 小时前
springbootweb案例,出现访问 http://localhost:8080/list 一直处于浏览器运转阶段
java·网络协议·http·list·springboot
凯瑟琳.奥古斯特1 天前
DNS解析全流程详解
网络·网络协议