実用ガイド
JWE と JWT の違い:5つの部分を持つトークンとは
署名付き JWT は3部分なので、多くの開発者はトークンも3部分だと考えがちです。しかし暗号化された JWE compact token は通常5部分で、ペイロードは簡単には読めません。
無料ツールを開く手順
- ドットで区切られたセクション数を数えます。
- 3部分なら署名付き JWT または JWS compact token の可能性があります。
- 5部分なら JWE compact token の可能性があります。
- 3部分の読み取り可能なトークンには JWT デコーダーを使います。
- 5部分のトークンには JWE パーサーを使い protected header を確認します。
- 正しい鍵なしに JWE のペイロードを読めるとは考えないでください。
重要なポイント
- JWT はクレーム形式、JWS は署名、JWE は暗号化です。
- JWE protected header では alg、enc、kid、zip を確認できますが、暗号化されたクレームは読めません。
- アプリが JWT を期待して JWE を受け取る場合は、ID プロバイダーの暗号化設定を確認します。
- 見づらいからといって検証を無効化しないでください。
よくある質問
なぜトークンが5部分なのですか?
compact JWE の可能性があります。protected header、encrypted key、IV、ciphertext、authentication tag の5部分です。
JWE は JWT のようにデコードできますか?
protected header は確認できますが、ペイロードは暗号化されており正しい鍵が必要です。
JWE は JWT より安全ですか?
目的が異なります。JWE は内容を隠し、JWS は完全性を証明します。要件に応じて使い分けます。