TLS握手
- 握手目的:为对称加密安全交换秘钥
- RSA经典握手
- ECHDE握手:ECHDE算法参数交换,抢跑
- TLS1.3握手:必须采用ECHDE算法,压缩为1RTT
1.握手目的
为了实现HTTPS通信的机密性,在通信刚开始的时候使用非对称算法,比如RSA、ECDHE,首先解决密钥交换的问题。然后用随机数产生对称算法使用的会话密钥再用公钥加密(session key)。对方拿到密文后用私钥解密,取出会话密钥。这样,双方就实现了对称密钥的安全交换,后续就不再使用非对称加密,全部使用对称加密。
RSA握手过程
RSA可能是加密算法中最著名的一个,几乎可以说是非对称加密的代名词,它的安全性基于整数分解的数学难题,使用两个超大素数的乘积座位生成密钥的材料,想要从公钥推算出私钥是非常困难的。
大体上分为三个阶段:明文共享阶段、CA认证阶段、生成主秘钥阶段。
第一阶段:明文共享阶段
1.在TCP建立连接后,浏览器会首先发一个“Client Hello”消息,里面有客户端的版本号、支持的密码套件,还有一个随机数(Client Random ),用于后续