基本上你要求太多了。如果您正确使用它们,公钥是安全的。如果您进行听起来不安全的“公钥交换”。私钥永远不会离开生成它们的主机。
公钥是公开的,只是字节。是一对数字!!没有其他信息。所以这里需要选择:
- 让受信任的第三方拥有将公钥与身份相关联的共享服务器。这就是所谓的 CA :)
- 以其他安全方式交换公钥。示例:在一个人的 Facebook 个人资料上发帖(使用 HTTPS 浏览它!),与其他人会面等。
您可能想了解 PGP 和 Web Of Trust 的工作原理。使用 WOT,您可以以社交网络方式进行非常安全的 P2P 聊天。基本上,您仍然永远无法通过键入 IP 地址第一次加入 P2P 聊天,但在您进行初步工作后,您可以获得良好的结果。
首先,获取某人的公钥:遇见他/她。届时,您可以验证该方,他可以验证您,而不会受到攻击。
第二阶段包括建立信任链。我将用社交网络术语解释这一点。你是甲方,你遇到了乙方。你们彼此认识。B认识C、D、E,然后你遇到了B不认识的F。
问 B 谁是他的朋友(并得到他们的公钥),你会了解 C、D 和 E,然后你就可以联系他们了。告诉 B 你知道 F,他可以联系他们。
你可能想告诉 F 你通过 A 知道的 C、D 和 E。这是非常敏感的,因为如果这个过程不分青红皂白地重复,坏人很容易进入网络。如果您将信任限制在“朋友的朋友”或达到一定程度的间接知识,您可以平衡安全性。
我以这种方式向您提出建议,因为您告诉您这样做是为了好玩,而不是在商业场景中!