web-dev-qa-db-ja.com

WebSocket接続に依存することは安全ですか?

securewebsocket を介したクライアント/サーバー通信シナリオでは、クライアントは安全に承認され、そこから、2つの選択肢があります。

  1. 一意のランダムID(セッション)を割り当て、後続の通信でそれを確認します。
  2. ソケット接続に依存し、ソケットオブジェクトへのハンドルを保持します(内部で独自のセッションを使用します)。

正しく実装されていれば、最初の選択肢は確かに安全です。私の質問は、2つ目が安全かどうかです。誰かが websocket 接続を傍受して、接続がドロップされないようにすることができる場合、この選択は安全であるとは見なされません。心配する必要がありますか?

2
Xaqron

WebSocket接続がSSL/TLSを使用している場合、接続後に「傍受」または「ハイジャック」することはできません。これは、SSL/TLSの基本的な保護の1つです。

そのような接続を確立することの一部は、エンドポイントが安全に暗号化キー(公開キー/秘密キー技術を介して作成される)になり、接続を傍受するもの(いわゆる中間者攻撃)が適切な暗号化キー。したがって、送信されているデータを読み取ることも、接続にデータを挿入することもできません。彼らが持っていないキーでデータが暗号化されているので、彼らは読むことができません。着信セキュリティテストに合格するデータを暗号化するための適切なキーがないため、データを送信できません。

2
jfriend00