密码协议安全设计与分析
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. 步骤2 *:B收到消息1′后,用自己的私钥$K_B^{-1}$解密${A, N_A}_{K_I}$,由于无法识别身份名称A,B会终止该协议运行。
由此可见,攻击者I甚至无法对Needham - Schroeder公钥1 - *协议发起拒绝服务攻击。
下面是该攻击过程的mermaid流程图:
graph LR
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
A([A]):::process -->|1. 选$N_A$,加密签名| I([I]):::process
I -->|2. 转发消息| B([B]):::process
B -->
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



