密码协议的非形式化分析与攻击案例
在当今数字化时代,密码协议的安全性至关重要。然而,许多密码协议存在各种安全漏洞,这些漏洞可能被攻击者利用,从而导致信息泄露、身份伪造等安全问题。本文将介绍一些经典密码协议的安全分析以及可能存在的攻击方式。
1. 对Neuman - Stubblebine认证协议的攻击
攻击者可以通过伪装身份来破坏Neuman - Stubblebine认证协议的安全性。具体过程如下:
1. 消息1 :攻击者伪装成A,随机选择一个临时值$N_A$,发起一个新的协议运行。
2. 消息2 :B按照原始Neuman - Stubblebine认证协议进行操作。
3. 消息3 :攻击者拦截消息2,获取$N_B$,然后使用随机选择的$N_A$对$N_B$进行加密,将${N_B} {N_A}$发送给B,通过混淆$N_A$和$k {AB}$来展示A对$k_{AB}$的知晓。
4. 消息4 :攻击者伪装成A,将${A, N_A, T_B} {K {BS}}$和${N_B}_{N_A}$发送给B。
协议运行结束后,B会认为与A成功完成了协议运行,并且$N_A$是A和B的新会话密钥,但A对这个密钥建立过程一无所知。
2. 名称省略导致的攻击
在认证协议中,为了使协议简洁,设计者可能会省略参与者的身份信息,这可能导致名称省略漏洞。以Denning和Sacco提出的公钥协议为例: