gpt4 book ai didi

encryption - 如果服务器受到攻击,如何防止中间人攻击?

转载 作者:行者123 更新时间:2023-12-01 04:35:09 25 4
gpt4 key购买 nike

想象一下,服务器将用户的公钥提供给他们的合作伙伴,以使加密通信成为可能。但是,服务器无权访问私钥..

无论如何 - 想象一下服务器被黑了,它不发送请求的公钥:

Alice requests Bob's public key
Server sends Eve's public key

Bob requests Alice's public key
Server sends Eve's public key

Alice sends a message to Bob
Server unpacks message, reads it and repacks it -> sends to Bob...

Bob sends a message to Alice
Server unpacks message, reads it and repacks it -> sends to Alice...



我的问题是 - 如何防止这种滥用? Alice 如何确定她正在使用 Bob 的公钥,反之亦然?

最佳答案

根据你刚才提出的方案,你不能。这里的关键(没有双关语)是,如果用于验证 key 有效性的方法被破坏,你就输了。

SSL 试图通过创建签名链来避免这种情况 - 一些(非常小心地保护并通过其他方法验证) key 签署另一个 key ,签署另一个 key ,签署 Alice 的 key 。通过验证链中的每一步,您(原则上)可以知道链是有效的——但是如果链中任何一步的私钥被泄露,您就会失败。

PGP(又名 GPG)尝试以不同但相似的方式解决问题 - key 可以由任意数量的其他 key 签名,形成一个图(称为 web of trust )。您选择一些您已确认有效的 key ,例如,亲自验证它们,并将它们标记为受信任。然后,通过少于 N 步(和/或来自来自不同可信根的 M 个不同路径)可到达的任何 key 也被认为是有效的。

如果你真的很偏执,你当然可以把 key 交给对方。当然,他们必须确定不是有人伪装成你……

也就是说,验证 key 有效性的唯一真正万无一失的方法是自己生成它……除非您的硬件/操作系统/编译器/大脑也受到了损害:)

关于encryption - 如果服务器受到攻击,如何防止中间人攻击?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3591342/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com