api*_*gov 3 encryption cryptography rsa public-key
想象一下,服务器正在向其合作伙伴提供用户的公钥,以实现加密通信.但是,服务器无权访问私钥.
无论如何 - 假设服务器被黑客攻击并且它不发送所请求的公钥:
Alice请求Bob的公钥
Server发送Eve的公钥Bob请求Alice的公钥
服务器发送Eve的公钥Alice向Bob
Server解压缩消息发送消息,读取并重新打包 - >发送给Bob ...Bob向Alice
Server 发送消息解压缩消息,读取并重新打包 - >发送给Alice ...
我的问题是 - 如何防止这种滥用?Alice如何确定她正在使用Bob的公钥,反之亦然?
根据你刚才提出的计划,你不能.这里的关键(没有双关语意思)是,如果用于验证密钥有效性的方法受到损害,那么您将失败.
SSL试图通过创建一个签名链来避免这种情况 - 一些(非常谨慎地保护,并通过其他方法验证)钥匙标志另一个钥匙,签署另一个钥匙,签署爱丽丝的钥匙.通过验证链中的每个步骤,您(原则上)可以知道链是有效的 - 但如果链中任何步骤的私钥被泄露,您就会丢失.
PGP(又名GPG)尝试以不同但类似的方式解决问题 - 密钥可以由任意数量的其他密钥签名,形成图形(称为信任网).您可以选择一些已确认有效的密钥,例如,亲自验证它们,并将它们标记为可信任.然后,任何可通过少于N个步骤(和/或来自不同受信任根的M个不同路径)可到达的密钥也被认为是有效的.
如果你真的是偏执狂,你当然可以将钥匙交给另一个人.当然,他们必须确定这不是伪装成你的人......
也就是说,验证密钥有效性的唯一真正万无一失的方法就是自己生成...除非你的硬件/操作系统/编译器/大脑也受到了损害:)
| 归档时间: |
|
| 查看次数: |
3915 次 |
| 最近记录: |