tls协议的四次握手,非对称加密和对称加密
RSA密码套件的内容
- 「密钥交换算法 + 签名算法 + 对称加密算法 + 摘要算法」
- 在我们第二次握手就会从客户端提供的密码套件列表选择一个密码套件来进行,(密码套件有很多种不只是RSA,具体的加密过程也不太相同)
- (举例:)TLS_RSA_WITH_AES_128_GCM_SHA256”:
-
一般 WITH 单词前面有两个单词,第一个单词是约定密钥交换的算法,第二个单词是约定证书的验证算法。比如刚才的密码套件的意思就是: -
由于 WITH 单词只有一个 RSA,则说明握手时密钥交换算法和签名算法都是使用 RSA; -
握手后的通信使用 AES 对称算法,密钥长度 128 位,分组模式是 GCM; -
摘要算法 SHA256 用于消息认证和产生随机数;
RSA秘钥协商的缺点
- RSA秘钥的缺点就是不支持前向保密,一旦服务器的私钥被暴露,前面被保存的密文的三个随机数也会暴露,会话秘钥也会暴露,全部信息暴露。
数字证书的签名,验证的过程
数字证书下的信任链问题
数据加密:非对称加密+对称加密
- RSA加密协商算法 :
- ECDHE加密协商算法(椭圆曲线+离散对数的方式保证:公钥反推私钥对于现在的计算机破解几乎不可能,保证私钥的安全;而且每次连接都会随机产生,保证前向保密性):椭圆曲线,椭圆曲线基点G,客户端随机数私钥(私有的),客户端椭圆曲线公钥(私钥椭圆曲线基点),服务端随机数私钥(私有的),服务端椭圆曲线公钥(私钥椭圆曲线基点),三个握手过程产生的随机数。
- 对称加密算法:采用AES对称加密算法(可以在硬件层面进行,进行指令级的优化)
数据校验:
身份验证:证书的签发, 证书验证
- 可以采用的RSA加密算法:来负责证书的签发和验证
https的优化
- 硬件的优化
- 软件的优化
- 版本升级
- 协议优化
- 加密协商算法的优化
- tls协议的升级
|