浏览器关闭https校验_HTTPS如何防止重放攻击?

本文详细解析了HTTPS协议中TLS握手过程如何防止重放攻击。通过客户端和服务器端的非对称密钥交换及随机数生成,确保即使消息被截获,攻击者也无法复用密钥进行有效解密。同时,介绍了TLS如何通过校验序号防止数据传输阶段的重放攻击。TLS1.3虽然引入0RTT通信提高效率,但也对重要操作限制0RTT访问,以降低重放攻击风险。
摘要由CSDN通过智能技术生成
ec88e879cd414a9e919bec334fc027cd.png

关注后你就是我的人了

HTTPS是否实现了Diffie–Hellman秘钥交互算法来防重放攻击?

看了很多回答HTTPS原理的文章,都说HTTPS主要是通过RSA+AES来加密数据的,而这个AES秘钥是浏览器端随机生成的,是否是真的这样,如果是如何防止重复攻击?还是通过Diffie–Hellman来交换秘钥的?

942f4d7fb3915513829df05a255db9d8.png

这个问题描述让人无法看懂,让我来帮助提问者理理思路。

TLS握手协商阶段

  1. 浏览器发送Client Hello消息,包含明文的Client Nonce。
  2. 服务器将自己的RSA公钥、随机产生的Server Nonce一同推送给浏览器。
  3. 浏览器用服务器的RSA公钥,加密一个48字节的随机字符串(Secret),发给服务器。
  4. 服务器用RSA私钥解密,得到Secret。
cced81368f54bc364af54c53b99fe17b.png

成功交换以上两次消息,双方共同拥有三个参数:

  • Secret
  • Client Nonce
  • Server Nonce

双方使用相同的推导函数,会得到相同的数据加密密钥、校验密钥,就可以快乐而私密的聊天了。

现在轮到小黑登场了,小黑捕获过上文的消息1、3,小黑要假冒浏览器。

  1. 小黑将消息1原封不动发出去(Replay)。
  2. 服务器不以为诈,当做正常握手包处理,回复消息2,但是要注意,Server Nonce变了,假设为Server Nonce 2。
  3. 小黑将消息3原封不动发出去(Replay)。
  4. 服务器用RSA私钥解密,得到Secret。

很显然,三个参数有一个已经改变了,最后推导出的密钥信息也会响应变化。

此外,小黑无法得到明文的Secret,所以小黑无法成功推导密钥信息。

使用DH交换密钥,同样可以克服重放攻击威胁。

ee4943bafa26e3d055c70a056345ff31.png

数据传输阶段

小黑铩羽而归,闷闷不乐,既然无法攻击TLS的握手阶段,那就重放攻击数据发送阶段。小黑将刚捕获的加密报文M,发送给服务器。

小黑复制报文到达服务器之前,原始的报文M已经到达服务器,编号为N,处理完成。

当服务器将再次收到报文M时,编号为N + 1。服务器需要先进行校验,最终校验失败。

为何会校验失败?

浏览器发出校验码的时候,是以序号N计算的,而服务器是以序号N + 1计算的,怎么可能校验通过?

TLS历经了1.0、1.1、1.2、1.3版本的升级,始终把重放攻击当做一个重大的威胁,但是为了减少握手阶段的延迟,通常会做出一些妥协。TLS 1.3允许在第一个消息里携带Data,这样就意味着0 RTT极速通信。通常使用0 RTT通信的场景,是重复使用历史加密参数(类似Session ID),意味着服务器可以立马解密报文,并将Data提交给应用程序。

b265361c91b6ad6e891a4dddd7df29cd.png

应用程序可能还会响应,小黑能不能接到、小黑能不能解密响应报文都不重要,重要的是,小黑已经成功让服务器做出了动作,这是一次成功的重放攻击。

TLS1.3如何应对?

TLS 1.3建议,凡是一些重要的写、修改操作,不允许0RTT访问。服务器还可以将0RTT通信彻底关闭,以杜绝重放攻击的威胁。

8a6f324840e8b9a16f377fe788cc6675.png

以上就是小编为大家分享的所有内容,有想了解更多资讯或相关知识,可以关注公众号;程序员大咖(CodePush)

技术文章原创,最新视频分享等等,一大批干货正在路上,想看的朋友记得点关注哦!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值