密码协议安全设计与分析:原理、挑战与方法
1. 对Needham - Schroeder公钥1 - *协议的攻击分析
对Needham - Schroeder公钥1 - 协议的攻击过程如下:
1. 步骤1 :主体A打算与对手I发起一个会话。A随机选择一个临时值$N_A$,用对手I的公钥$K_I$对其加密,然后用A的私钥$K_A^{-1}$对${A, {N_A} {K_I}}$进行签名,并将签名后的消息发送给I。A的签名为${A, {N_A} {K_I}}$提供了数据完整性保护。
2. 步骤1′ :I将消息转发给B,并试图通过假冒A与B建立一个虚假会话。
3. B的响应 *:B收到消息1′后,用B的私钥$K_B^{-1}$解密${A, N_A}_{K_I}$,但B无法识别身份名称A,因此B将中止该协议运行。
从这个攻击过程可以看出,I甚至无法对Needham - Schroeder公钥1 - *协议发起拒绝服务攻击。
2. 可证明安全性
在密码协议设计中,使用形式化方法证明协议的安全性是明智的,但协议设计者需要清楚所使用形式化方法的约束条件。如果能在弱化假设的基础上推导出安全性证明,那么就应该使用这些弱化假设。
形式化分析在密码协议设计中非常重要,类似于软件工程中的软件测试。它有助于设计者确定密码协议达到的安全强度,并发现协议中的漏洞。以下是形式化分析的一些要点:
- 优点 :形式化分析,特别是数学上的可证明安