Devil's Night

中间人攻击 — 身份认证的重要性

作者 FOX 于 11:50下午, 归类 密码学

既然Diffie-Hellman密钥交换这么优秀,那是不是表示只要Alice和Bob选择的质数p足够大, 他们的会话就绝对安全呢? 回忆Alice 和 Bob 实现 Diffie-Hellman密钥交换的步骤. 很明显,Eve在整个过程中扮演的角色只是一名监听者. 如果Eve打算在Alice和Bob之间实施一些干扰, 结果会怎样呢?

回忆Alice和Bob建立加密会话的过程

  1. Alice 和 Bob 共同选择一个质数 p, 以及{1,2,3, … p-1}的生成数 g.
  2. Alice 暗地里选择一个值a, 然后计算出 A = ga mod p, 将 A 发送给 Bob
  3. Bob 暗地里选取一个值 b, 然后计算出 B = gb mod p, 将 B 发送给 Alice
  4. Alice 收到 B, 并且计算 A’ = Ba mod p
  5. Bob 收到 A, 并且计算 B’ = Ab mop p

Eve决定实现如下方案

  1. Alice 和 Bob 共同选择一个质数 p, 以及{1,2,3, … p-1}的生成数 g.
    • Eve 监听到了 p 和 g 的值,她自己选择一个b’ 并计算 B” = gb’mod p, 然后将 B” 发送给 Alice 并声称这是Bob发送过来的.然后再选择一个值a’ 并计算 A” = ab’mod p, 然后将 A 发送给 Bob 并声称这是Alice发送过来的
  2. Alice 暗地里选择一个值a, 然后计算出 A = ga mod p, 将 A 发送给 Bob
    • 这个真正的A会被Bob忽略, 因为他之前已经收到了Eve伪造的A”
  3. Bob 暗地里选取一个值 b, 然后计算出 B = gb mod p, 将 B 发送给 Alice
    • 这个真正的B会被Alice忽略, 因为之前她也收到了Eve伪造的B”
  4. Alice 收到了 B”,她误认为这是来自Bob 然后她计算出 A’ = B”a mod p
  5. Bob 收到了 A”, 他误认为这是来自Alice 他随之也计算出 B’ = A”b mop p

这是我们统计下他们三人分别知道哪些值

Alice: p, g, a, A’, B”

Bob: p, g, b, B’, A”

Eve: p, g, A, B, A’, B’, A”, B”, a’, b’

这时 A’ 和 B’的值已经不相等了, 但Alice和Bob仍然认为它们是相等的

现在

Alice想向Bob发送信息 m, 她使用A’作为密钥, 将加密过的信息 C 发送给Bob

Eve 和 Bob 收到了 C, Bob 会认为C是噪音 因为他没有Alice的密钥 无法解密C, 但Eve却可以使用A‘轻松的解密C 得到m. 当然 如果Eve选择放长线钓大鱼的话, 她可以把m用B’再加密一遍, 将加密过的信息C’发送出去

Bob 和 Alice收到了 C’, 同Bob刚才一样, Alice也会误认为C‘是噪音, 但Bob知道B‘的值, 他可以用B’解密C‘的到m

这样Eve成功地渗透了Alice和Bob之间的会话

:,

留下评论

没有找到你想要的?

使用下面的搜索框搜索整个博客:

仍然没有找到你想要的? 请在文中留下评论或者联系我 或许我可以帮你

访问我的朋友

一些高度推荐的朋友...

归档

所有的文章 以时间的名义...