0

我检查了类似的帖子,但我认为这里的问题可能略有不同。

问题是在两个对等点(例如,A 和 B)之间提供安全通信,这两个对等点之前可能没有,怎么说呢,“强耦合”(比如 A 将其公钥保存在 B 上,诸如此类)。

信任基于执行初始身份验证的公共信令服务器(例如,XMPP)。假设 A 和 B 都登录到该服务器。他们将如何进行安全和直接的通信?我猜想相关的关键字,使用 XMPP 示例,将是 XMPP secure socks5(到目前为止,该主题在 doc 中未发现)。感谢您对我如何开始实施的建议,最好使用工作量较少的可用库。

4

1 回答 1

0

要查看的一种协议是Off the Record,它已在很多项目中与 XMPP 一起使用。您将面临的挑战是用户如何相互验证,以抵抗中间人攻击。OTR 使用 Diffie-Hellman 交换 AES 密钥以进行批量加密和 SHA256-HMAC。然后,用户可以使用共享密钥(如密码)相互验证,或在带外比较公钥指纹。

我不知道它是否算作“强耦合”,但另一种方法是使用由受信任的第 3 方签名的证书。如果 A 有一个你签名的证书,B 有一个你签名的证书,那么 A 和 B 可以安全地通信,而不需要先验的彼此密钥。

于 2013-01-02T21:11:29.080 回答