JWTとは
JWT(JSON Web Token)は、クレームをJSONオブジェクトとして伝えるコンパクトな表現です。一般的な署名付きJWTは、Base64urlで表したHeader・Payload・Signatureの3区切りです。暗号化されたJWE Compactは5区切りです。
このツールが確認する内容
Base64urlの文字種・長さ・正規表現、UTF-8、JSONオブジェクトを厳密に確認します。3区切りではHeaderとPayload、Signatureのバイト数を表示します。5区切りではProtected HeaderだけをJSONとして読み、Encrypted Key・IV・Ciphertext・Authentication Tagはサイズだけを表示します。
署名検証とデコードの違い
デコードは文字列を読みやすい形へ戻す処理です。署名検証には信頼できる鍵、許可するアルゴリズム、発行者や対象者などの検証条件が必要です。本ツールはそれらを受け取らないため、結果をセキュリティ判断に使用できません。
登録済みクレームとNumericDate
issは発行者、subは主体、audは対象者、jtiは識別子です。exp・nbf・iatは1970-01-01T00:00:00Zからの秒数で表すNumericDateです。本ツールは端末の現在時刻と直接比較し、許容誤差は加えません。
セキュリティ上の注意
alg、kid、jku、x5uなどは表示するだけで信用せず、URLにもアクセスしません。cty: JWTでも入れ子を自動デコードしません。アクセストークンには個人情報や権限情報が含まれることがあるため、公開端末や第三者への共有を避けてください。
仕様:RFC 7519 (JWT)、RFC 7515 (JWS)、RFC 7516 (JWE)、RFC 4648 (Base64url)
よくある質問
alg noneは安全ですか?
署名なしを示します。本ツールでは警告を表示し、完全性を保証しません。