经典密码协议攻击分析
在密码协议的安全领域中,存在着多种经典的攻击方式,这些攻击对协议的安全性构成了严重威胁。下面将详细介绍反射攻击、交织攻击和类型缺陷攻击这三种经典攻击方式及其相关案例。
1. 反射攻击(Reflection attack)
反射攻击是一种重放攻击,在这种攻击中,传输的数据会被发送回其发起者。在基本的认证方案中,发起者和目标(或可信服务器)都知道一个秘密,这使得他们能够进行身份验证,并且可以在不通过网络以明文形式发送该秘密的情况下验证这个共享秘密。
发起者向目标发起连接,目标通过向发起者发送一个挑战来尝试对其进行身份验证,然后发起者利用共享秘密处理这个随机选择的挑战以证明自己的身份。反射攻击的核心思想是诱使目标为自己的挑战提供答案。也就是说,双方使用相同的挑战 - 响应协议来相互验证身份,这就给攻击者留下了建立完全认证的通道连接的机会。
例如,在一个基本认证场景中,发起者A和目标B共享一个秘密。A向B发起连接,B发送一个挑战给A,A使用共享秘密处理挑战并返回响应。攻击者可以截获B发送给A的挑战,并将其反射回B,诱使B为自己的挑战提供答案。
为了修复这类攻击,可以在响应中发送响应者的身份。如果发起者收到的响应中包含自己的身份,那么发起者将拒绝该响应;如果发起者收到的响应中包含对手的身份,并且随机数与发起者在挑战中发送的随机数相同,那么发起者将接受该消息。
以固定版的Woo - Lam协议为例,该协议受到了Clark和Jacob发现的反射攻击。攻击者进行了两次反射攻击:消息3是消息2的反射,消息5是消息4的反射。B在消息3中收到的随机块实际上是B在消息2中发出的随机数,B在消息5中收到的密文块实际上是他自己