破坏基于预共享对称密钥的身份验证协议


13

考虑以下协议,该协议旨在将(爱丽丝)认证为(鲍勃),反之亦然。AB

AB:“I'm Alice”,RABA:E(RA,K)AB:E(RA+1,PA,K)
  • R是随机随机数。
  • K是预共享的对称密钥。
  • P是一些有效载荷。
  • m KE(m,K)表示用加密的。mK
  • 1 2m1,m2表示将与组合在一起,可以进行明确的解码。m1m2
  • 我们假设加密算法是安全的并且正确实现。

攻击者(Trudy)想要说服Bob接受她的有效载荷来自Alice(代替)。Trudy可以假冒Alice吗?怎么样?P PTPA

Mark Stamp的“信息安全:原则与实践”中的练习9.6略有修改。在书籍版本中,没有,最后一条消息仅为,并且要求Trudy“说服Bob她是爱丽丝”。马克·斯坦普(Mark Stamp)要求我们找到两次攻击,而我发现的两次攻击允许Trudy伪造而不是。 PAE(RA+1,K)E(R+1,K)E(R,PT,K)


请参阅meta中
Ran G.

Answers:


5

由于Bob发送的事实,因此该协议似乎不安全。Trudy可以使用它来“生成”加密,该加密以后将用于完成身份验证协议。E(RA,K)E(RA+1,PT,K)

具体来说,请考虑以下攻击:

Trudy选择随机并以以下方式与Bob一起运行协议: ,然后Trudy在中间剪切协议(因为她不知道该如何回复)。我们假设Trudy和Bob都中止了。R1

TB:“I'm Alice”,R1+1,PTBT:E(R1+1,PT,K)

现在Trudy启动该协议的另一个实例: Trudy这次是如何在不知道情况下完成协议的?这简单!鲍勃实际上是在一开始为她执行加密的。

TB:“I'm Alice”,R1BT:E(R1,K)TB:E(R1+1,PT,K)
K

经验教训:在密码协议中,每个消息或可分离的片段最好包含一个唯一的标签,以防止其像协议中的其他消息一样重复使用,这是有益的。如果Bob的答复是,而第三条消息是,则此攻击将无法进行。ë 2 - [R + 1 P E(1,RA)E(2,RA+1,P)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.