devtools-hub

JWT Builder

Header / Payload / Secret を入力してJWTをブラウザで即生成

JWT認証セキュリティ開発ツール

HS256 / HS384 / HS512 アルゴリズムに対応したJWT生成ツール。Header・Payload をJSON形式で入力し、Secret を指定するだけでトークンをリアルタイム生成。3パートの色分け表示付き。既存のJWT Decoderと対になるツール。

広告

JWT Builder

Algorithm
Header
Payload
Secret
Generated JWT

// Header・Payload・Secret を入力するとJWTが生成されます

HeaderPayloadSignature

Features

  • HS256 / HS384 / HS512 の3アルゴリズム対応
  • Header / Payload を JSON で編集
  • Secret キーを入力して HMAC 署名を生成
  • Header(赤)/ Payload(紫)/ Signature(緑)の3色表示
  • 無効なJSON入力時にリアルタイムエラー表示


JWTの仕組みと安全な使い方

JWT(JSON Web Token)はWeb APIの認証で広く使われるトークン形式です。Header・Payload・Signatureの3パートで構成され、署名によって改ざん検知が可能です。仕組みを正しく理解することで、セキュリティ上の落とし穴を避けられます。

JWTの構造

JWTはBase64URL形式の3パートをドット(.)で繋いだ文字列です。Headerにはアルゴリズムとトークンタイプ、PayloadにはClaimsと呼ばれる任意のデータ、SignatureにはHeader+PayloadをSecretで署名した値が入ります。重要なのはPayloadは単に Base64URL エンコードされているだけで暗号化はされていないこと。機密情報をPayloadに入れてはいけません。

HS256 / RS256 / ES256 の違い

HS256(HMAC-SHA256)は共有秘密鍵で署名する対称アルゴリズムです。シンプルですが署名鍵と検証鍵が同じため、検証する全サービスが秘密鍵を持つ必要があります。RS256(RSA-SHA256)は秘密鍵で署名し公開鍵で検証する非対称方式で、マイクロサービス間の検証に適しています。ES256(ECDSA-SHA256)はRS256より鍵長が短くパフォーマンスに優れます。

標準クレーム(Registered Claims)

RFC 7519で定義された標準クレームがあります。iss(発行者)、sub(主体)、aud(対象者)、exp(有効期限・Unix timestamp)、nbf(有効開始時刻)、iat(発行時刻)、jti(JWT ID・ユニーク識別子)。特にexpの検証は必須です。検証なしでトークンを信頼すると期限切れトークンが悪用されます。

JWTのセキュリティ注意点

よくある脆弱性として「algをnoneに変更した攻撃」があります。古い実装ではalg:noneのJWTを署名なしで受け入れてしまう場合があります。対策としてサーバー側でアルゴリズムを固定します。またJWTはステートレスのため失効(Revoke)が難しく、有効期限を短く(15分〜1時間)設定しリフレッシュトークンと組み合わせる設計が推奨されます。

広告

Related Tools

JWT Decoder

JWT トークンを即デコード & 検証

開発者向けセキュリティ認証

使ってみる →

BOOTH

Hash Studio

MD5 / SHA ハッシュ生成 & 検証

開発者向けセキュリティハッシュ

使ってみる →

BOOTH

パスワードジェネレーター

文字種・長さを指定して安全なパスワードを即生成

開発者向けユーティリティセキュリティ

使ってみる →

BOOTH

このツールを共有する