带你读《2022技术人的百宝黑皮书》——HTTPS的原理浅析与本地开发实践(6)https://developer.aliyun.com/article/1340624?groupCode=taobaotech
第三次握手
【S端 -> C端】
第一步:发送证书 —— Certificate:服务器向客户端验证身份;
第二步:完成证书验证后,开始基于ECDHE做秘钥协商:公开椭圆曲线 Curve25519—— 蒙哥马利曲线
( )和曲线基点G(值为9)、S端随机产生私钥d1(存在本地)、通过私钥d1和基点G生成 公钥Q1(Pubkey)。携带签名算法防止篡改公钥。
常见的三种秘钥协商过程简析:
基于RSA的秘钥协商(依靠非对称加密算法) —— SSLv2的协商机制
客户端连上服务端;
服务端发送 CA 证书给客户端; 客户端验证该证书的合法性;
客户端从 CA 证书中取出公钥P;
客户端生成一个随机密钥 K,并用这个公钥加密得到 K'; 客户端把K' 发送给服务端;
服务端收到 K’ 后用自己的私钥S解密得到 K; 此时双方都得到了密钥 K,协商完成;
双方开始使用秘钥K进行加密通信;
RSA的协商方式存在的问题是,加密数据在C和S端传输,如果S端的私钥泄密,则会导致加密传输的数据都会被破解,是否有更好的方式,能让对称加密的秘钥不在网络间传输,而是由双方通过统一的规则来在各自的环境内计算得到?这就是需要用到下面的DH算法来优化当前这个传输的过程。
带你读《2022技术人的百宝黑皮书》——HTTPS的原理浅析与本地开发实践(8)https://developer.aliyun.com/article/1340622?groupCode=taobaotech