JWT
定義
JWT(JSON Web Token)はJSONデータをBase64URLエンコードしデジタル署名した軽量なトークン形式(RFC 7519)で、認証・認可・情報交換に広く使われます。ヘッダー(署名アルゴリズム)・ペイロード(クレーム:sub・iss・aud・exp等)・署名の3部をドット(.)で区切った形式で表現されます。OAuth 2.0のアクセストークンやOpenID ConnectのIDトークンとして標準的に採用されています。セキュリティ上の注意点として、アルゴリズムをnoneに書き換える攻撃(署名検証をスキップさせる)・HS256の弱い共有秘密鍵への辞書攻撃・JWTの失効管理の困難さ(有効期限切れ前の無効化にはブラックリストが必要)があります。ペイロードはBase64デコードするだけで読めるため機密情報を含めてはならず、短い有効期限(アクセストークンは15分〜1時間が目安)の設定が重要です。
関連用語
JWTが登場する記事・比較
よくある質問
JWTとは?
JSONをBase64URLエンコードしデジタル署名した認証トークン。ヘッダー・ペイロード・署名の3部構成。署名アルゴリズムをnoneに変更する攻撃や、秘密鍵の弱さによる偽造に注意が必要。
同じカテゴリの用語(プロトコル・技術)
APIやリソースへアクセスするために提示する短命なトークン。漏えい時は有効期限、権限範囲、失効可否を確認する。…
現在最も広く使われる対称暗号アルゴリズム。128・192・256ビットの鍵長をサポート。ECB・CBC・GCMなど複数の…
API利用者やアプリケーションを識別し、操作権限を与えるための秘密値。漏えい時は失効と再発行が必要になる。…
メール転送やメーリングリストを経由した後でも、元の認証結果を一定程度検証できるようにする仕組み。…
DMARCなどの認証を満たしたメールにブランドロゴを表示し、正当な送信者であることを示しやすくする仕組み。…
どの認証局が自社ドメインのTLS証明書を発行できるかをDNSで指定するレコード。…