TLS握手过程

本文详细介绍了TLS握手过程,包括RSA和DHE_RSA两种方式。RSA握手存在前向安全性问题,一旦服务器私钥泄露,历史通信内容可能被解密。而DHE_RSA利用迪菲-赫尔曼密钥交换实现前向安全性,即使私钥泄露,已加密通信内容仍安全。实际应用中,TLS更常采用DHE_RSA或ECDHE_RSA。
摘要由CSDN通过智能技术生成

TLS握手过程

客户端与服务器商议通信密钥的过程称为TLS握手,在握手阶段,通信内容虽然都是明文,但要保证最终商量的密钥只有客户端和服务器知道,其他中间节点无从得知。

RSA握手过程

RSA握手过程说明:

  • “Client Hello”,客户端向服务器发送一个随机数R1
  • “Server Hello”,服务器给客户端回复一个随机数R2与包含公钥的证书
  • “Client Key Exchange”,客户端用公钥加密一个随机数(premaster secret)发送给服务器
// 生成master secret、以及从master secret中得到session key
masterSecret = generateMasterSecret(R1, R2, premasterSecret);
sessionKey = sessionKeyFrom(masterSecret);

第3步,premaster secret由客户端使用公钥加密后发送,拥有私钥的服务器才能解密,所以最终只有客户端与服务端能生成一致的master secret。图中最后的session key是从master serect中派生出来用做对称加密算法的密钥,握手阶段结束后,通信内容开始使用密钥加密并签名,确保有同样知道密钥的人才能解密内容,从而避免被窃听和篡改的风险。

安全问题

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值