RFC 7517

JWK

仕様書

構文

[35] application/jwe+json では RFC 3629 UTF-8 符号化するべきとされます。 >>34

[36] なぜか必須ではなく、他の文字符号化の余地が残されています。

[37] 暗号化JWKでは RFC 3629 UTF-8 と定義されていて、他の選択肢は提供されていません。

データモデル

[22] JSON Web Key (JWK) は、 暗号鍵を表現するJSONオブジェクトです。 >>16, >>23

[24] JSONオブジェクトのメンバーが鍵の特性を表します。 >>16, >>23

[25] JWK 本体仕様 RFC 7517 は、 算法固有ではなく多くの鍵に共通の鍵引数を定義しています。 鍵型 (kty) に応じて他の引数も指定できます。 JWA は各算法用の鍵引数を定義しています。 (別の鍵型で同じ鍵引数の名前を共用することもあります。) >>23

[27] JWK にはその他のメンバーがあるかもしれません。 実装は理解しないメンバーを無視しなければなりません。 >>23

[28] JWK のメンバーの名前は、 IANA登録簿に登録された値か、 耐衝突名を含む値であるべき (should) です。 >>23

[26] メンバーの名前は、JWK 内で固有でなければなりません。 JWK 構文解析器は、 JWK がメンバー名の重複を含む時、 これを拒絶するか、 または重複するメンバー名について字句的に最後のもののみ採用する JavaScript JSON.parse と同じ挙動の JSON 構文解析器を使うかしなければなりません。 >>23

[30] これはJOSEヘッダーやJWK集合と同等の規定です。
[29] JWK 鍵引数

処理

[31] JWK集合においては、JWK集合中の JWK を無視するべき状況 (エラー処理) がいくつか指定されています。

アルゴリズム値

[3] JWK 用アルゴリズム値

[4] いずれも JOSE での利用が禁止されています >>20。

[19] IANA登録簿 >>20 があります。 >>18

[21] enc や alg の登録簿と共通になっていますが、 種別で区別されており、 現時点で複数の場面で使えるものはありません。

MIME型

[32] MIME型
MIME型
application/jwk+json
説明
JWK
CTE
8bit

[33] cty では省略されて jwk+json と書かれます。

応用

[17] JWK の応用

ヘッダー引数 jwk (JOSE ヘッダー)

[6] JWS のヘッダー引数 jwk (JSON Web Key) は、 JWS を RFC 4949 デジタル署名するため用いた鍵に対応する公開鍵を表します。 >>5

[10] JWE のヘッダー引数 jwk は、 それに対して JWE が暗号化された公開鍵を表します。 JWE を解読するため必要な秘密鍵を決定するため使えます。 >>9

[7] 公開鍵は、 JWK で表します。 >>1

[8] jwk ヘッダー引数の利用は任意です。 >>1

[11] JOSE鍵識別参照。

関連

[38] JWS や JWE とは違って簡潔直列化がなく、 JSON としてしか表せません。

歴史

[13] 、 RFC Editor は標準化過程RFC RFC 7517 を提案標準として出版しました。 >>15

メモ