ECDHE 握手过程
2022-04-14 12:46:02 0 举报
ECDHE的详细握手过程
作者其他创作
大纲/内容
客户端
服务器
Server_key生成随机数, 私钥(这是椭圆曲线的私钥)基点G
save Client_key_pub
生成随机数,私钥Client_key(这是椭圆曲线的私钥)
save. client random
client helloTLS 版本号 支持的密码套件、随机数 (client random)
ECDHE握手过程
先发送 server hello确认 TLS版本号选择的密码套件随机数 (server random)再发送 Certificate消息携带CA证书再发送 Server Key Exchange选择椭圆曲线(eg. 名为 named_curve 的椭圆曲线生成随机数作为服务器端 椭圆曲线 的私钥,保存Server_key根据基点G和私钥算出服务端的椭圆曲线公钥Server_key_pub, 并用RSA算法签名最后发送 Server Hello Done
save server random向CA服务器校验CA证书save Server_key_pub
现在客户端拥有:client_randomserver_randomx(ECDHE算法的共享密钥)
先发送 Client Key Exchange生成随机数作为客户端的椭圆曲线私钥Client_key根据服务端选择的椭圆曲线, 生成公钥Client_key_pub算好会话密钥后再发送 Change Cipher Spec告诉服务端后续该用对称算法加密通信最后发送 Encrypted Handshake Message将之前消息做一个摘要,用椭圆曲线对称密钥加密,让服务器试着解密
现在后端拥有:client_randomserver_randomx(ECDHE算法的共享密钥)
发「Change Cipher Spec」发「Encrypted Handshake Message」让客户端也尝试解密解密成功则握手完成

收藏

收藏
0 条评论
下一页