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利用者やアプリケーションを識別・認可するために発行される秘密文字列。漏えい時は不正利用される可能性がある。…
APIのエンドポイント、入力、出力、型、認証、エラー形式などを機械可読に表した仕様情報。…
API利用者やアプリケーションを識別し、操作権限を与えるための秘密値。漏えい時は失効と再発行が必要になる。…
IdPやSaaSにアプリケーションを登録し、リダイレクトURI、権限、資格情報、同意範囲を管理する設定単位。…