4

暗号化を使用してピアツーピア チャットをプログラムする最良の方法は何ですか。クライアントはベリサインによって署名された証明書を持たないため、SSL は p2p に役立ちますか? クライアントにチャット相手のIPを伝えるマスターサーバーなしで、そのようなチャットをプログラムすることは可能ですか?

私は本当にそのようなチャット プログラムをプログラムしたいと思っています。なぜなら、これらのプライバシーの問題がすべて発生したときに、本当に信頼できるプログラムが必要だからです。ネットワークプログラミングの経験はありますが、クライアント<->サーバーのみです。

コードは必要ありません。ピアツーピア チャット (スカイプなど) の理論的な部分だけです。

ありがとう。

4

1 に答える 1

2

まず、両端で自己署名証明書を使用することを強制するか、認証に証明書の代わりに「事前共有キー」を使用することもできます。事前共有鍵は、関係者全員が事前に知っているはずです。

第二に、SSL は暗号化メカニズムであるため、クライアント/サーバー対 p2p などの通信モデルの設計には関係ありません。

最後に、両方の p2p ノードにパブリック IP またはライブ IP があり、それぞれが互いの IP を認識している場合、中央サーバーは必要ありません。ここでの本当の問題は、実際には、ほとんどのマシンが NAT とプライベート IP を使用するファイアウォールの背後にあることです。したがって、宛先マシンに正常に到達するためには、NAT を通過し、パブリック IP とポートを決定する何らかのメカニズムが必要です。

次のSOの質問を見てください。それは私が書いた答えです。スカイプ (Skype はプロプライエタリであるため、スカイプのプロトコルに関する知識は限られています)、gtalk、およびその他の XMPP ベースのチャット アプリケーションなどの一般的な p2p アプリケーションで使用されるいくつかの手法について言及しています。

于 2012-11-29T06:02:20.127 に答える