2010-12-07 15 views
2

私はCocoaで社内で暗号化されたピアツーピアチャットアプリを作ることに興味がありますが、どこから始めたらいいのか分かりません。Cocoaで暗号化ピアツーピアチャットを実装するにはどうすればよいですか?

正しい方向に向けることができますか?どのような本や書類などをお勧めしますか?ピアツーピアと暗号化について学ぶ必要があります。

私はObjective-CとCocoaを知っていますが、私はピアツーピアと暗号化に関して完全に無知です。

+0

単なる考えです。なぜあなた自身をロールバックする必要がありますか? iChatはMS CommunicatorやSkype(と他の多くの国)と同様に暗号化が可能です。なぜ、あなたが棚から離れたときよりも、dev時間でもっと多くの時間を費やすのかどうか不思議です。 –

+0

良い質問です。多分私は妄想です。 Skypeが暗号化されていることは事実です。しかし、そのようなものはまだサーバを通過するため、メッセージが自分のサーバにあるときにSkypeが傍受する可能性があります。 – Enchilada

+0

第2の理由は、多分それは私のための良い学習機会であることです:) – Enchilada

答えて

3

私は数年前、Javaで書かれていたにもかかわらず、非常に似通った設計目標を持つプロジェクトに取り組みました。Spaghetti Nodesと呼ばれました。それはファイル共有アプリとしてもっと重視されましたが、チャットコンポーネントも含まれていました。プロジェクトはその後停止していますが、参考になるかもしれないwikiのメモがいくつかあります。私はまた経験についての死後のblog postを書きました。

この質問

はかなり広範であるが、ここではいくつかのポインタを始めるために:
  • が可能な場合は、ピア・ツー・ピア接続のためのBonjourを使用することを検討してください。 (ピアツーピアはローカルネットワーク上でしか動作せず、サブネット間でうまく動作しないため、可能性はありません)
  • おそらくSSHのような方法を暗号化。つまり、ユーザーはプライベート/公開キーのペアを持ち、公開キーを配布します。キーペアを使用してセッションを開始し、1回限りの暗号化キーをネゴシエートして、残りのセッションでより高速な対称キー暗号化を使用できます。
  • 対称暗号化にTwofishアルゴリズムを使用しました。
1

提案として、P2P /暗号化よりもはるかに一般的ですが、いずれも良い出発点として、おそらくBonjour Overview文書になります。そのようなサービスは、誰が現在のチャットシステム上で

NSNetService class referenceドキュメントに関連するサンプルコードもあります。このサンプルコードは、非常に便利で、少なくとも次に見える場所についての良い情報を提供します。

関連する問題