JWK(JSON Web Key)
JWKとは、暗号の鍵をJSONの形で表すための形式のことです。複数の鍵をまとめて表す形(JWK Set)も、あわせて定められています。
別表記:JWK/JWK Set/JWKS/JSON Web Key
何が書かれるのか
鍵の値のほか、鍵がどの方式の系統に属するか(kty)を示す項目を必ず書きます。用途(use)、使う計算方式(alg)、鍵を見分けるための名前(kid)などを書く項目もありますが、これらは任意です。2015年5月に、IETFの標準の文書(RFC)として発行されました。
鍵の名前は何に使われるのか
鍵を見分けるための名前は、複数の鍵の中から特定の鍵を選ぶのに使います。たとえば、鍵を入れ替える時期(鍵のロールオーバー)に、まとめた鍵の中から選ぶ場合です。署名付きの入れ物の先頭(ヘッダ)に同じ名前が書かれていれば、それと照らし合わせて、どの鍵で確かめるかの手がかりにします。
よくある誤解:鍵の置き場所は標準で決まっているのか
鍵のまとまりの置き場所をURLで示す項目(jku)は、署名の先頭(ヘッダ)に書くもので、署名の側の仕様(JWS)で定められています。ただし、鍵を表すこの仕様にも署名の仕様にも、決まった置き場所は定められていません。また、鍵で守られたデータは、その鍵をどうやって手に入れたかと、鍵との結び付きを主張する相手の信頼性以上には信頼できません。
