web-dev-qa-db-ja.com

WebSocket認証セキュリティ

登録されたメンバー領域のセキュアWebSocketサーバー(wss)に対してクライアントを認証しようとしています。

メンバーがWebサーバーに接続されると、Webソケットサーバーへの接続を開始するページの非表示フィールドに表示された(メンバーに関連付けられた)一意のトークンをデータベースに記録します。

次に、トークンは、トークンを使用してアカウントを認証するWebSocketサーバーに送信されます。

私は実際にはセキュリティの専門家ではありません。私の認証のセキュリティについて、あなたの意見を聞きたかったのです。

リスクはありますか(Cookieハイジャックを除く)? WebSocketがWebSocketハンドシェイク中にクライアントを認証できる特定の方法をWebSocketが規定していないことを考慮して続行するより良い方法はありますか?.

私はラチェットWebSocketを使用しています。

はい、1つのオプションはCookie(およびCookieのハイジャックを回避するためのTLS)を使用することです。

「プレーンな古いHTMLフォームベース」のログイン後にCookieを設定し、CookieをWebSocketサーバーに送信し、Cookieを使用してWebSocketを認証します。

これが 完全な例Mozilla Personaベースの認証とWebSocketです。

あなたはラチェットについて尋ねました。この例はラチェットではありませんが、いくつかの手掛かりを与える可能性があります-これが私が指摘してもいいと思う理由です。

7
oberstet