key_ops

key_ops 鍵引数

[2] JWK鍵引数 key_ops (key operation (鍵操作) ) は、 を使う操作の想定を表します。 >>1

仕様書

引数値

[12] 引数値は、鍵操作を表す値の配列です。 >>1

[16] 値に重複があってはなりません>>1

[15] 値は大文字・小文字区別します。 >>1

[3] RFC 7515 では次の値が定義されています。 >>1

[13] Web Cryptography APIKeyUsage と一致するよう決められたとされます。 >>1

[14] 他の値を使って構いません>>1

[23] IANA登録簿 >>29 に登録できます。 >>1

[30] 令和4年時点で登録されているのは RFC 7515 のものだけです。 >>29

[24] 拡張の値の登録については use と同様とされます。 >>1

[27] 同様というのがどこからどこまでか、仕様書の記述上十分に明白ではありませんが、 開放型環境では登録するべきであり、閉鎖環境ではしなくてもよい、 ということと思われます。 use (JWK)

[18] 1つのに複数の関係ない鍵操作を指定するべきではありません。 同じを複数の算法で使うことによる脆弱性のおそれがあるからです。 >>1

[19] 次の操作の組み合わせは認められます。 >>1

文脈

[17] 応用で要求される場合を除き、 key_ops は指定してもしなくても構いません>>1

[25] usekey_ops は同時に使うべきではありません。 併用する場合は一貫していなければなりません応用はどちらかを使うなら、どちらを指定するかを規定するべき (should) です。 >>1

[26] ということは両者が矛盾する場合にどちらを採用するかは応用が決めろ、 JWK としては知らない、ということのようです。 応用を超えた相互運用性は無いと思っておくのが良さそうです。

メモ

[28] usekey_ops は粒度が違いますがよく似ています。 併用を禁止するくらいなら、なぜ1つにまとめなかったのでしょうね。