5. Cryptographic Algorithms for Content Encryption (コンテンツ暗号化の暗号アルゴリズム)
5.1 "enc" Header Parameter Values for JWE (JWE の "enc" パラメータ値)
JWE がサポートするコンテンツ暗号化アルゴリズム:
| "enc" パラメータ値 | コンテンツ暗号化アルゴリズム | 実装要件 |
|---|---|---|
| A128CBC-HS256 | AES_128_CBC_HMAC_SHA_256 | Required (必須) |
| A192CBC-HS384 | AES_192_CBC_HMAC_SHA_384 | Optional (任意) |
| A256CBC-HS512 | AES_256_CBC_HMAC_SHA_512 | Required (必須) |
| A128GCM | AES GCM using 128-bit key (128 ビット鍵を使用した AES GCM) | Recommended (推奨) |
| A192GCM | AES GCM using 192-bit key (192 ビット鍵を使用した AES GCM) | Optional (任意) |
| A256GCM | AES 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 は幅広い互換性を提供します
- セキュリティ要件に基づいて適切な鍵長を選択してください