回答:相互 SSL 認証を使用しています。今は何の問題もありません:)
私はサーバープロジェクトに取り組んでいます。XOR 暗号化/復号化方式でクライアントを認証しようとしましたが、これは十分に安全ではありません。ソケットで SSL を使用することにしましたが、使用できません。System.Net.Sockets.Socket ベースの接続があります。つまり、これが必要です: Tcp 接続が着信している場合、クライアントのソケット接続を認証します。(すべてのソケットは、ポートからサーバー ソケットに接続できません)。誰かが私に出発点やいくつかの例を教えてもらえますか? (ここが私のサーバーのデッドポイントです。出来なかったらキャンセルします!)
EDIT1:私のシステムは現在そのように動作しています:
クライアントがサーバーに接続されました。
サーバーは 16 バイト長のランダム キーを作成し、それを serverKey (XOR) で暗号化し、クライアントに送信しました
クライアントはserverKeyでデータを復号化し、clientKeyで暗号化して送り返しました
サーバーの復号化されたデータとチェックされたデータは同じです
(クライアントが接続すると、認証タイムアウトのタイマーが開始されます)
EDIT2:今、私は他の暗号を使用しています。クライアントが接続すると、それが送信され、クライアントはそれを復号化して送り返します。暗号化は次のように機能します。
byte[] を特別な方法 (プロではない) で暗号化します。その後、byte[]のハッシュコードを取得します。このハッシュ アルゴリズムは私が作成したものであり、それを知らない人は、暗号化された byte[] を決して理解しないでください。(すでにハッシュ出力は戻ってきません)。そして最後に、ハッシュと暗号化を組み合わせます (XOR のような特別な方法)。
この方法では、誰もデータを復号化/クラックすることはありません。それ以外の場合は、非対称の暗号化/復号化方法があります ( http://en.wikipedia.org/wiki/Diffie%E2%80%93Hellman_key_exchange )。後で (ハード) 非対称暗号化を使用して認証システムをアップグレードできます (それが十分でない場合)。