栗子現場直播 千篇一栗
有很多簡單的道理,若不是被遺忘,不是察覺不到,就是知易行難。

2010年12月5日 星期日

P2P社交網絡與簽章

  以下是對人體有害的編程話題。

  年半前,我提及過一個叫「天空」的構思。這個構思到現在已經發展為「P2P的社交網絡」,不過到現在還是在空談的狀態。
  而作為社交網絡,重點除了內容分享,還有社交連結。而社交連結和 P2P 的混合,產生了大量的問題和可能性。以下是部份我對系統協定的要求。
  • 加密傳輸
  • 資訊發布者簽章
  • 資訊 forward
  • pm不能被公開
  其中比較大的問題是簽章和 pm 不能被公開的部份。在現實生活中,如果 A 君口頭上對 B 君說 t 訊息,即使 A 叫 B 保守秘密,B 君也能用其他方法把 t 洩露出去,這是不論現實世界還是網絡世界都不能防止的事。然而 B 洩密是一回事,其他人信不信「A 說 t」是另一回事。但是,如果 t 上有 A 的簽章,大家就會相信「A 說 t」這個事實。

  而為了解決這個問題,我想到的草案,是增加簽章的數量。以下是其系統:
  • Ap 是 A 對外專用 key
  • Ab 是 A 對 B 專用 key,B 知道 Ab=A
  • Ac 是 A 對 C 專用 key,C 知道 Ac=A
  • Ab 証明 Ap=Ab
  • Ac 証明 Ap=Ac
  • Ap 沒有証明 Ab?=Ap 和 Ac?=Ap
  • Ab 和 Ac 都沒有証明 Ab?=Ac
  會造成這個效果:
  • B 認為 A=Ab=Ap
  • C 認為 A=Ac=Ap
  • A 以 Ap 的身份說 t1,B 和 C 會知道「A 說 t1」。
  • A 以 Ab 的身份向 B 說 t2,B 會知道「A 說 t2」。但即使 B 把 t2 公開,甚至把「Ab 証明 Ap=Ab」公開,C 也不能因此肯定「A 說 t2」,因為 C 不能從 Ac 証明 Ab=A。如果 B 要 C 相信 Ab=A ,B 只能用系統以外的方法說服 C 相信 Ab=A 或 Ab=Ap。即使 C 相信,也不能當成系統的錯。
  現在正在思考這個方法有沒有問題。老實說,我相當懷疑這個認証系統早已有人在用。

  本來想用一般人的語言來描述以上的意思,但太煩,不寫了。

1 則留言:

Ben Lau 提到...

RetroMessenger

http://retromessenger.sourceforge.net

有個這樣的IM,可以避免你的訊息被監聽到,可是不知為何很沒人氣..

然後有人用這個engine做了個secure的P2P file storage叫offload的,同樣地不知為何沒什麼人氣。