メインコンテンツまでスキップ

5. Cryptographic Algorithms for Content Encryption (コンテンツ暗号化の暗号アルゴリズム)

5.1 "enc" Header Parameter Values for JWE (JWE の "enc" パラメータ値)

JWE がサポートするコンテンツ暗号化アルゴリズム:

"enc" パラメータ値コンテンツ暗号化アルゴリズム実装要件
A128CBC-HS256AES_128_CBC_HMAC_SHA_256Required (必須)
A192CBC-HS384AES_192_CBC_HMAC_SHA_384Optional (任意)
A256CBC-HS512AES_256_CBC_HMAC_SHA_512Required (必須)
A128GCMAES GCM using 128-bit key (128 ビット鍵を使用した AES GCM)Recommended (推奨)
A192GCMAES GCM using 192-bit key (192 ビット鍵を使用した AES GCM)Optional (任意)
A256GCMAES GCM using 256-bit key (256 ビット鍵を使用した AES GCM)Recommended (推奨)

5.2 AES_CBC_HMAC_SHA2 アルゴリズム

これは、以下を組み合わせた複合暗号化および認証アルゴリズムです:

  • 暗号化のための AES CBC モード
  • 認証のための HMAC SHA-2

主要な特徴:

  • Authenticated Encryption (認証付き暗号化) を提供します
  • CEK は暗号化と MAC 計算の両方に使用されます
  • 3 つの鍵サイズ構成をサポートします

アルゴリズムのバリエーション:

  • A128CBC-HS256: AES-128-CBC + HMAC-SHA-256 (256 ビット CEK)
  • A192CBC-HS384: AES-192-CBC + HMAC-SHA-384 (384 ビット CEK)
  • A256CBC-HS512: AES-256-CBC + HMAC-SHA-512 (512 ビット CEK)

5.3 AES GCM コンテンツ暗号化

AES Galois/Counter Mode (GCM) は認証付き暗号化アルゴリズムです:

  • 機密性と完全性の保護を提供します
  • 効率的なハードウェア実装
  • Additional Authenticated Data (AAD) (追加認証データ) をサポートします

アルゴリズムのバリエーション:

  • A128GCM: 128 ビット鍵を使用
  • A192GCM: 192 ビット鍵を使用
  • A256GCM: 256 ビット鍵を使用

GCM パラメータ:

  • Initialization Vector (初期化ベクトル): 96 ビットのランダム値
  • Authentication Tag (認証タグ): 128 ビットの認証タグ

選択の推奨事項:

  • AES-GCM アルゴリズムの使用を優先してください (より効率的)
  • AES_CBC_HMAC_SHA2 は幅広い互換性を提供します
  • セキュリティ要件に基づいて適切な鍵長を選択してください