0

私はnodejsプロジェクト用にJWTトークンを実装しましたが、トークンの取り消し要求により、トークンライフタイムを完全に制御できるようにリファレンスベアラトークンに切り替えることができました。私のプロジェクト要件によると:リファレンストークン生成のベストプラクティス

  1. トークンは自己記述的なJWTトークンよりもかなり短くなければなりません。
  2. トークンがサーバーによって発行されるようにするには、(JWTのhs256検証のように)何らかの方法が必要ですが、参照トークンにペイロードセクションがないため、状況はより複雑になります。

安全で実現不可能な推測参照トークンを実装するベストプラクティスは何ですか?

答えて

0

不透明なトークンは、サーバで認証されたユーザ名にマップされる単なるラムダム文字列です。このようなトークンは、限り、攻撃者は、無視できない確率で有効なトークンを作成することはできませんなどのセキュリティには十分である「有効なトークンは」「のデータベースにあるトークンいるhttps://security.stackexchange.com/questions/19676/token-based-authentication-securing-the-token

を見てみましょう放出されたトークン "と呼ぶ。トークンの値が長さ、少なくとも16バイトを持っていると、トークンは、ユーザー名と発行日を含むことができ、サーバのストレージ要件を削減するために、暗号強いPRNG

で生産されている、として暗号化されていればよく、 HMAC秘密鍵を使用して、サーバが真正性を検証できるようにします。

最後の解決策はJWTに非常に近いです。 JWTでは、ブラックリストを使用して無効なトークンをマークすることもできます。有効期限までストアし、すべてのリクエストでチェックします。 (ブラックリストは州を維持する必要があるため、JWTの無国籍国を破る)

関連する問題