JWA
RFC 7518 JSON Web Algorithms (JWA) 他の規格と独立させることでJWAのみの更新でアルゴリズムの追加や廃止が可能
署名
table:JWSのalg
"alg" 識別子 アルゴリズム
HS384 HMAC using SHA-384 オプション
HS512 HMAC using SHA-512 オプション
RS256 RSASSA-PKCS1-v1_5 using SHA-256 推奨 RS384 RSASSA-PKCS1-v1_5 using SHA-384 オプション
RS512 RSASSA-PKCS1-v1_5 using SHA-512 オプション
ES256 ECDSA using P-256 and SHA-256 推奨+ ES384 ECDSA using P-384 and SHA-384 オプション
ES512 ECDSA using P-521 and SHA-512 オプション
PS256 RSASSA-PSS using SHA-256 and MGF1 with SHA-256 オプション PS384 RSASSA-PSS using SHA-384 and MGF1 with SHA-384 オプション
PS512 RSASSA-PSS using SHA-512 and MGF1 with SHA-512 オプション
none デジタル署名なしまたはMAC performed オプション
暗号
4.1. "alg"
基本的にcekを暗号化する手法
鍵は公開鍵だったり楕円だったり別のAESの鍵だったりパスワードだったり
table:JWEの鍵管理
"alg" 識別子 アルゴリズム 付加ヘッダ 鍵 要求度
RSA1_5 RSAES-PKCS1-v1_5 RSA2048 推奨- RSA-OAEP RSAES-OAEP デフォルトパラメータ使用 RSA2048 推奨+ RSA-OAEP-256 RSAES-OAEP using SHA-256 and MGF1 with SHA-256 RSA2048 オプション
A128KW AES Key Wrap with default initial value using 128-bit key AES鍵 推奨 A192KW AES Key Wrap with default initial value using 192-bit key AES鍵 オプション
A256KW AES Key Wrap with default initial value using 256-bit key AES鍵 推奨
dir CEK 共通鍵の直接使用 推奨
ECDH-ES Elliptic Curve Diffie-Hellman Ephemeral Static key agreement using Concat KDF "epk","apu","apv" EC 推奨+
ECDH-ES+A128KW ECDH-ES using Concat KDF and CEK wrapped with "A128KW" "epk","apu","apv" EC 推奨
ECDH-ES+A192KW ECDH-ES using Concat KDF and CEK wrapped with "A192KW" "epk","apu","apv" EC オプション
ECDH-ES+A256KW ECDH-ES using Concat KDF and CEK wrapped with "A256KW" "epk","apu","apv" EC 推奨
A128GCMKW key wrapping with AES GCM using 128-bit key "iv","tag" AES鍵 オプション
A192GCMKW key wrapping with AES GCM using 192-bit key "iv","tag" AES鍵 オプション
A256GCMKW key wrapping with AES GCM using 256-bit key "iv","tag" AES鍵 オプション
PBES2-HS256+A128KW PBES2 with HMAC SHA-256 and "A128KW" wrapping "p2s","p2c" password オプション
PBES2-HS384+A192KW PBES2 with HMAC SHA-384 and "A192KW" wrapping "p2s","p2c" password オプション
PBES2-HS512+A256KW PBES2 with HMAC SHA-512 and "A256KW" wrapping "p2s","p2c" password オプション
AxxxGCMKW は cekをAES-GCMで暗号化するだけ iv, tag はJWE本体とは別
PBES2-HSxxx+AxxxKW はその中で使われるPBKDF2にAxxxKWを重ねる形、 JWE自体がPBES2相当
cek が encrypted key に変換される前提のつくりなので、鍵生成系のアルゴリズム(ECDH-ES, PBES2)はAES Key Wrap をくぐらせてcekを暗号化する形に変換している
table:JWEの本文認証付き暗号
A128CBC-HS256 AES_128_CBC_HMAC_SHA_256 認証付き暗号 algorithm, as defined in Section 5.2.3 必須
A192CBC-HS384 オプション
A256CBC-HS512 必須
A128GCM 推奨
A192GCM オプション
A256GCM 推奨
追加?
RFC 8812 4.3. ES256K