HTTPS 能防止重放攻击吗?为什么?

一颗小胡椒2022-12-29 10:22:10

SSL1.0安全隐患

SSLv1.0是Netscape公司发明的Secure Socket Layer 1.0版本,也是第一个版本,用于安全加密保护http,http主要用于包装电子购物。

但是由于SSLv1.0发送方不对发出的message个数计数,接收方也不对接收到的message计数。换句话说,通信双方message数量没有记忆,这样就给第三方可乘之机。第三方可以将截获的message再次发出,这样接收方校验成功,于是提交给应用程序。应用程序会再次执行code,如果这个执行code是转账付款,那问题就大了。

这个安全漏洞很快就被SSLv2.0修复,修复方法很简单,发送方对发出的message个数计数,接收方也对接收到的message计数。然后将message的序号,作为HMAC输入的一个参数,加密发送到对方。

接收方接收到之后,和发送方执行同样的校验方法(HMAC),由于双方的输入参数是一模一样的,而且message的序号也是一样的,所以校验通过,提交给应用程序。如果被第三方replay,就无法通过安全校验,从而被丢弃,对应用程序的影响=0。

假设发送方老王发送的message的序号 =3, 且这个message被接收方老李成功接收。

第三方老黑将序号=3的message 重新发一次,那么老李收到message的时候,序号就不是3了,因为序号3已经收到了,至于序号是4、5、6还是什么不重要,重要的是序号≠3,那么安全校验一定会以失败而告终。

聪明的读者可能会说,为何老黑不将message的序号3修改成4、5、6或者别的,那还是有可能成功的,对吗?

很遗憾,你无法做到,因为message序号是隐含的(implicit)

什么是隐含序列号?

隐含是什么意思呢?

也许读者会很意外,message报文本身是没有序号的,这个序号只有发送方知道。老王你连自己发送了多少个message都不知道吗?每发一个包裹(message)先后次序都不知道?

老王说,俺当然知道。

老李我问你,你从老王收多少个包裹知道吗,每个包裹先后次序知道吗?

老李幽幽地说,俺收到多少个包裹是知道的,先后次序(序号)也是知道的,本来俺无法确定包裹来自老王,但是好在有HMAC安全校验码的帮助,包裹确实都来自于老王。因为除了俺之外,只有老王知道HMAC的密钥。

为何SSL/TLS要跑在TCP上,而不是UDP上?

答案也很简单,因为UDP无法确保message的到达顺序,会造成双方message的序号不一致而通信失败。而TCP可以确保message的到达顺序,可以确保双方序号一致,从而确保HMAC校验成功。

hmac重放攻击
本作品采用《CC 协议》,转载必须注明作者和本文链接
01结论SSLv1.0 无法防止(Replay)攻击。SSLv2.0 以及升级版SSL3.0、TLS1.
Android 平台的普及这导致开发商投入资源以维持需求的上升。较早版本的App可能会受到逆向工程和其他攻击。在从现实世界收集的1500个主流应用,DroidSkynet显示攻击使用早期版本的应用的成功率为34%。
时间线2022 年 5 月 25 日:向 AWS 安全部门报告了该漏洞。EKS 团队开始将更新版本部署到所有地区。AWS IAM Authenticator 是位于 Kubernetes 集群控制平面内的组件,可使用用户和角色等 AWS IAM 身份进行身份验证。该项目目前由 Amazon EKS Engineers 维护。
VPN:IPSec VPN工作原理
2021-09-30 12:56:16
IPSec体系架构AH和ESP是IPSec的两种安全协议,用于实现IPSec在身份认证和数据加密方面的安全机制。具体来说,AH协议提供数据源认证、数据完整性校验和报文功能。AH的工作原理是在原始数据包添加一个身份认证报文头,为数据提供完整性保护。同时,作为可选项,在ESP认证数据部分,还可选择MD5、SHA-1、SM3算法保证报文的完整性和真实性。
在安全性要求较高的特种领域,需要采取认证加密手段处理感知层的用户终端采集和传输的信息,确保应用信息的安全。业界也对SM9 用户私钥在线分发技术进行了相关研究 ,提出了一些相关用户密钥在线分发方案,但存在用户身份被假冒以及数据传输保护不完善等问题。此外,该种用户私钥分发方式不利于用户密钥后续的更换工作。而信息在交互过程,面临着身份假冒、信息被窃听、信息被篡改和等安全威胁。
密码技术是保护网络与信息系统安全的核心技术,广泛地应用到金融、交通、通信等各行各业,为国家安全和经济民生发展发挥着重要作用。然而,现在仍有大量的系统在使用MD5、SHA1、RC4 和 DES 这些不安全的算法。
S7 PLCs漏洞分析
2022-12-01 10:57:34
近期关注了文章“Vulnerability analysis of S7 PLCs:Manipulating the security mechanism”,文章对Siemens PLC环境进行了深入分析。
kerberos协议从0到1
2021-10-12 14:26:38
krbtgt用户,是系统在创建域时自动生成的一个帐号,其作用是密钥分发中心的服务账号,其密码是系统随机生成的,无法登录主机
规范要求1、对用户提交的数据在保存和展示前对特殊字符进行转义,防止XML注入攻击。此类问题均容易导致密码的泄露。规范要求1、配置文件涉及到需要用户验证的密码字段采用加密后保存,禁止明文或使用弱加密算法对密码进行加密。规范要求建议采用不可逆的加密方式对密码进行加密如MD5。
一颗小胡椒
暂无描述