2017-03-19 34 views
2

私はREST APIのHTTPセキュリティを調べていましたが、Double Submit Cookieパターンを使用することでより安全にしたいと考えていましたが、私は実際にはすでに似たようなことをしていると確信しています。XSRFとダブルクッキーJWTを提出する - この実装は安全ですか?

これは私の流れです:

  1. クライアントは、ユーザー名とパスワードを使用してサーバにPOST要求を行います。
  2. サーバーはJWTトークンで応答します。
  3. クライアントは、トークンをクッキーに保存します。
  4. その後のリクエストでは、クライアントはトークンCookieを読み取り、トークンをAuthorizationヘッダーに入れます(この手順はダブルクッキーの送信テクニックと同等です)。
  5. サーバーは、承認ヘッダー内の有効なトークンに基づいてユーザーを認証します。

ここでは、サーバーがCookieとHTTPヘッダーが一致しているかどうかをチェックしていないため、これは100%ではありません(これは必要な場合に追加するのが簡単です)。

これまでにXSRF攻撃をブロックするのに十分なものか、XSRF-TOKENクッキーを追加する必要がありますか?

+0

この実装は、ダブルサブミットクッキーと同等であり、CSRF攻撃を防ぐのに安全だと思います。また、JWTトークンを使用すると、非常にクリーンな解決策になります。しかし、@mevdscheeが述べたように、JWTトークンのコンテンツはHttpOnlyであってはならないので、攻撃者に公開されています。 – shaochuancs

答えて

1

私はあなたがXSRF攻撃に対して安全であるかもしれないと思いますが、それが聞こえるように、あなたはXSS攻撃に対して安全ではありません。 XSS攻撃からの保護のために、秘密をHttpOnlyクッキーに保存する必要もあります。

関連する問題