基本上你要求太多。如果您正確使用公鑰,公鑰是安全的。如果你做了一個聽起來不安全的「公共私人密鑰交換」。私鑰永遠不會離開它們生成的主機。
公鑰是公共的,只是字節。這是一對數字!沒有其他信息。所以在這裏你需要選擇:
- 有一個值得信賴第三方與公鑰與身份相關聯的共享服務器。這就是所謂的CA :)
- 以其他安全方式交換公鑰。示例:在自己的Facebook個人資料上發帖(使用HTTPS瀏覽它!),與其他人會面等。
您可能想了解PGP和Web of Trust的工作原理。通過WOT,您可以通過社交網絡進行非常好的安全P2P聊天。基本上,您仍然可以永遠不會通過輸入IP地址首次加入P2P聊天,但是在完成初始工作後,您可以獲得一個好的結果。
首先,獲取某人的公鑰:遇見他/她。那時,你可以認證那個派對,他可以認證你而不會受到攻擊。
階段2在於建立信任鏈。我將以社交網絡的形式解釋這一點。你是派對A,你遇見派對B,你彼此認識。B知道C,D,E,後來遇到F不知道的F。
問B誰是他的朋友(並獲得他們的公鑰),你知道C,D和E,你可以聯繫他們到那時。告訴B你知道F,他可以聯繫他們。
您可能想告訴F關於您通過A知道的C,D和E。這非常敏感,因爲如果不加區別地重複該過程,壞人可以輕鬆地進入網絡。如果您將信任限制在「朋友的朋友」或某種程度的間接知識上,則可以平衡安全性。
我建議你這樣,因爲你告訴你這樣做是爲了好玩,而你並不處於業務場景!
爲什麼你不能在https上使用自簽名證書? – thatidiotguy 2012-07-27 17:36:32
我可以也不會成爲一個問題......但這會如何幫助我? – Zeveso 2012-07-27 17:39:20
哦,我看到,B/C,那麼你將不得不包括證書與程序,允許有人下載證書。 – thatidiotguy 2012-07-27 18:12:32