📋 Header(ヘッダー)
📦 Payload(ペイロード)
🔐 署名(Base64URL)
⚠️ Lint(セキュリティチェック)
🔒 署名検証とは?
JWTの署名検証は、トークンが改ざんされていないか、正当な発行者によって作られたかを確認する重要なセキュリティ機能です。
- HS256: 発行者と検証者が同じ秘密鍵を共有する方式
- RS256: 発行者が秘密鍵で署名し、検証者が公開鍵で検証する方式
📋 クイック検証
事前に用意されたJWTとキーで簡単に署名検証を体験できます
1
下のボタンを押すと、サンプルJWTと対応する鍵が自動入力されます
2
署名の検証処理が実行され、結果が表示されます
3
✅(成功)または❌(失敗)で署名の正当性が分かります
🔧 手動検証
独自のJWTと鍵で検証を行います
手順:
- デコードタブでJWTを入力・デコードしてください
- 下でアルゴリズム(HS256またはRS256)を選択
- 対応する鍵を入力して「署名検証実行」ボタンを押す
未検証
🚨 JWTのセキュリティ上の注意点
⛔ alg=none は絶対禁止
署名なしのトークンを許可すると、攻撃者が自由にトークンを偽造できます。
🔑 HS256の鍵の強度
共有鍵が短い・推測可能だと総当たり攻撃のリスクがあります。十分に長くランダムな鍵を使用してください。
🏢 RS256の鍵管理
公開鍵を適切に配布・管理し、PEM/SPKI形式で正しく設定してください。
⏰ 有効期限の重要性
exp(有効期限)とnbf(有効開始時刻)を必ず検証し、クライアント時刻のズレも考慮してください。
🆔 kidヘッダーの悪用
kidでのキー選択時、ディレクトリトラバーサル等の攻撃に注意が必要です(サーバー側実装)。
📝 注意: 本ツールは教育・学習目的です。実運用ではセキュリティライブラリやフレームワークのベストプラクティスに従ってください。