认证协议逻辑深度剖析
1. 认证协议攻击示例与重放技术
1.1 攻击流程
假设有主体 A 试图与主体 B 进行通信,攻击者 E 实施了如下攻击:
1. 初始消息发送与拦截 :A 生成随机数 (n_A) 并发送消息 (A, n_A) 给 E 伪装的 B(记为 EB),此消息被 E 拦截。
2. 消息篡改与重放 :E 将消息的发起者改为 B 后重放给 A,A 以为是 B 发起的新会话,生成新随机数 (n’ A) 并发送消息 (A, n’_A, {B, n_A} {k_{AS}}) 给服务器 S。E 途中将 (n’ A) 替换为 (n_A) 后转发给 S。
3. 服务器响应与消息再重放 :服务器 S 生成消息 (n_A, {A, k {AB}, n_A} {k {BS}}, {B, k_{AB}, n_A} {k {AS}}) 发送给 E。E 用自己的随机数 (n_E) 替换最外层的 (n_A) 后重放给 A。
4. A 的响应 :A 按协议要求回复消息 ({A, k_{AB}, n_A} {k {BS}}, {n_E} {k {AB}})。
1.2 重放技术
攻击者 E 使用了三种重放技术:
- 反射重放 :从步骤 1 到步骤 I,将随机数 (n_A) 反射回 A。
-