JWE
JSON Web Encryption
RFC7516 JSON Web Encryption (JWE)
alg
enc
jwk
公開鍵に関する情報
これを使って復号に必要な秘密鍵を特定できる
JSONシリアライゼーション
protected, encrypted_key, iv, ciphertext, tag の値は必ずbase64urlエンコードしなければならない。
code:JWE JSONシリアライゼーションの例.json
{
"protected": "Base64URLエンコードされた保護ヘッダー",
"unprotected": {
"ヘッダーパラメータ名": "値"
},
"encrypted_key": "Base64URLエンコードされた暗号化キー",
"iv": "Base64URLエンコードされた初期化ベクトル",
"ciphertext": "Base64URLエンコードされた暗号文",
"tag": "Base64URLエンコードされた認証タグ"
}
protected
値はJSONオブジェクトをbase64urlでエンコードした文字列
そのJSONオブジェクトにはalgプロパティとencプロパティが必須
algプロパティの値は encrypted_key を復号するために必要
encrypted_key を復号すると CEK が得られる
algをdirにした場合は encrypted_key の値を空文字列にする
encプロパティの値は ciphertext を復号するために必要。
encrypted_key
暗号化されたCEKをbase64urlでエンコードした文字列
つまりbase64urlでデコードするとバイナリが出てくる
それを alg で与えられたアルゴリズムで復号すると CEK が得られる。
algをdirにした場合は空文字列にする
参考文献
関連するページ
#JOSE
#JWT
#JWK
#JWS