HTTPS RSA 握手解析
HTTPS 的 RSA 握手过程是建立安全通信通道的核心机制之一。虽然在现代互联网中为了提供前向安全性Forward Secrecy基于 Diffie-Hellman如 ECDHE的密钥交换算法已逐渐成为主流但理解经典的RSA 密钥交换仍然是掌握 TLS/SSL 原理的基础。核心概念预备在开始之前需要明确几个关键点非对称加密用于身份验证和交换“预主密钥”。公钥加密私钥解密。对称加密用于后续实际数据传输效率高。密钥由双方协商生成。数字证书服务器身份的证明包含服务器的公钥由受信任的 CA证书颁发机构签名。前向安全性缺失在纯 RSA 握手中如果服务器的私钥在未来被泄露攻击者可以解密过去所有被截获的通信记录因为预主密钥是用公钥加密传输的。这是它逐渐被 ECDHE 取代的主要原因。HTTPS RSA 握手详细步骤解析假设客户端浏览器访问服务器网站整个过程通常包含以下 7-8 个主要步骤第 1 步Client Hello客户端问候客户端发起连接向服务器发送一个Client Hello消息。内容包括支持的 TLS 版本如 TLS 1.2。客户端生成的随机数Client Random用于后续生成密钥。支持的加密套件列表Cipher Suites例如TLS_RSA_WITH_AES_128_CBC_SHA。注意这里必须包含RSA关键字。支持的压缩方法。可选SNIServer Name Indication指明要访问的具体域名。第 2 步Server Hello服务器问候服务器收到请求后选择一个双方都支持的配置回复Server Hello。内容包括选定的 TLS 版本。服务器生成的随机数Server Random。选定的加密套件必须是客户端列表中的且为 RSA 密钥交换类型。会话 IDSession ID用于会话复用。第 3 步Certificate服务器发送证书服务器将自己的数字证书发送给客户端。关键点证书中包含了服务器的公钥Public Key。客户端会验证证书的有效性是否过期、是否由可信 CA 签发、域名是否匹配等。如果验证失败浏览器会报错拦截。第 4 步Server Key Exchange可选RSA 握手中通常跳过注意在标准的RSA 密钥交换模式中这一步通常是不需要的。因为服务器的公钥已经包含在证书中了。如果是 DHE 或 ECDHE 模式服务器会在这一步发送临时的公钥参数。但在纯 RSA 模式下直接跳到下一步。第 5 步Server Hello Done服务器问候结束服务器发送Server Hello Done消息表示初始握手信息已发送完毕等待客户端响应。第 6 步Client Key Exchange客户端密钥交换——最关键的一步客户端验证证书无误后进行以下操作生成一个预主密钥Pre-Master Secret。这是一个随机数。使用服务器证书中的公钥对这个预主密钥进行RSA 加密。将加密后的数据发送给服务器。安全原理只有拥有对应 私钥 的服务器才能解密这段数据拿到预主密钥。即使中间人截获了数据包由于没有私钥也无法解密出预主密钥。第 7 步生成会话密钥双方本地计算此时客户端和服务器都拥有了三个随机数Client RandomServer RandomPre-Master Secret预主密钥双方使用相同的算法利用这三个随机数独立计算出相同的主密钥Master Secret进而衍生出用于实际数据加密的会话密钥Session Keys包括加密密钥和 MAC 密钥。注意会话密钥本身从未在网络上传输过。第 8 步Change Cipher Spec Finished切换加密与完成为了确认密钥生成成功且握手过程未被篡改双方进行最后的确认Client Change Cipher Spec客户端通知服务器“接下来的消息我将用刚才协商好的会话密钥进行加密”。Client Finished客户端发送一条加密消息包含之前所有握手消息的摘要Hash。服务器解密并验证如果一致说明握手过程完整且密钥正确。Server Change Cipher Spec服务器通知客户端“我也开始使用会话密钥加密了”。Server Finished服务器发送加密的验证消息。客户端解密验证。一旦这两次Finished验证通过握手正式结束。后续通信握手完成后客户端和服务器之间所有的 HTTP 请求和响应数据都将使用协商好的 对称加密算法如 AES和 会话密钥 进行加密传输。对称加密速度快适合大量数据传输。总结与现状分析特性RSA 握手ECDHE 握手 (现代主流)密钥交换方式客户端生成预主密钥用服务器公钥加密传输双方通过椭圆曲线算法协商生成预主密钥不直接传输前向安全性无。若服务器私钥泄露历史通信可被解密有。即使私钥泄露无法推导之前的会话密钥性能客户端计算量小服务器解密消耗较大计算稍复杂但现代硬件优化良好TLS 1.3 支持不支持 (已被移除)强制要求 (主要支持模式)当前地位逐渐淘汰仅用于兼容旧系统或特定内网场景互联网标准配置
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2446962.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!