2
私はREST APIのHTTPセキュリティを調べていましたが、Double Submit Cookieパターンを使用することでより安全にしたいと考えていましたが、私は実際にはすでに似たようなことをしていると確信しています。XSRFとダブルクッキーJWTを提出する - この実装は安全ですか?
これは私の流れです:
- クライアントは、ユーザー名とパスワードを使用してサーバにPOST要求を行います。
- サーバーはJWTトークンで応答します。
- クライアントは、トークンをクッキーに保存します。
- その後のリクエストでは、クライアントはトークンCookieを読み取り、トークンをAuthorizationヘッダーに入れます(この手順はダブルクッキーの送信テクニックと同等です)。
- サーバーは、承認ヘッダー内の有効なトークンに基づいてユーザーを認証します。
ここでは、サーバーがCookieとHTTPヘッダーが一致しているかどうかをチェックしていないため、これは100%ではありません(これは必要な場合に追加するのが簡単です)。
これまでにXSRF攻撃をブロックするのに十分なものか、XSRF-TOKEN
クッキーを追加する必要がありますか?
この実装は、ダブルサブミットクッキーと同等であり、CSRF攻撃を防ぐのに安全だと思います。また、JWTトークンを使用すると、非常にクリーンな解決策になります。しかし、@mevdscheeが述べたように、JWTトークンのコンテンツはHttpOnlyであってはならないので、攻撃者に公開されています。 – shaochuancs