首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >关键交换和人在中间的问题。安全解决方案

关键交换和人在中间的问题。安全解决方案
EN

Cryptography用户
提问于 2013-09-04 07:56:46
回答 1查看 1K关注 0票数 3

我正在尝试设计MiTM保护密钥交换算法。例如,我使用RSA非对称密钥。

艾丽斯和鲍勃分别有各自的钥匙。他们应该可以交换公钥。在实际的实现中,将有一个中继第三方,它应该只允许Alice和Bob在没有直接连接的情况下交换消息。然而,这个接力派对可能会被伊芙破坏,她会有自己的钥匙,在交换的时候接受Alice和Bobs的公钥,然后把她的钥匙发出去。因此,所有加密的消息将被解密、读取、再次加密,并由Eve进一步发送,危及整个密钥交换过程。

显然,Trent可以在密钥发送给收件人之前对其进行签名,而在收到密钥后,可以对签名进行验证。但是,我觉得这个模式也有一个缺陷,因为Eve可以以某种方式获得由Trent签名的公钥。

是否有办法确保如果Trent没有被破坏(意味着它不是伪装成Trent的人),我们可以确保密钥被安全地交换?

想到的是,任何一方都可以使用Trent (证书、公钥或类似信息)来确保与Trent通信,而Trent则会向他们收到密钥的每一方确认。这个模式有缺陷或我没有注意到的问题吗?

EN

回答 1

Cryptography用户

回答已采纳

发布于 2013-09-04 08:10:31

您是正确的,如果会话公钥不是由所有各方都知道的长期私钥签名的,则可以替换它们。

你想做的只是让Trent做一个中继,然后你需要使用新的随机密钥对在双方之间进行一个标准的密钥交换过程。然后,一旦所有各方都拥有两个公钥,它们就可以生成密钥对的身份验证散列,以及质数/指数和任何其他公共数据。在密钥交换完成并生成会话密钥之后,您将需要一些方法来比较它们,即使它是一个不安全的通道,只要不能修改该比较。

有几个程序使用这种方法或一个类似的方法。我在IRC上使用一个,IRC服务器代替Trent。显而易见的替代方案是已知的长期密钥,这些密钥仅用于对会话公钥进行签名。

票数 1
EN
页面原文内容由Cryptography提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://crypto.stackexchange.com/questions/10167

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档