JWK
JWK とは何ですか?
JWKRFC 7517 で定義された JSON Web Key。JOSE や OAuth 系プロトコルで利用される公開鍵・秘密鍵を表現する JSON オブジェクト。
JWK(RFC 7517)は暗号鍵を JSON オブジェクトとして表現し、その項目は鍵種別(kty)によって異なります。RSA 鍵は n、e と任意の d/p/q を持ち、EC 鍵は crv、x、y と任意の d を、OKP 鍵(RFC 8037)は Ed25519/X25519 用に crv と x を、oct 鍵は対称鍵 k を持ちます。メタデータには kid(鍵識別子)、alg、use(sig/enc)、key_ops が含まれます。JWK Set(jwks)は複数の鍵をまとめ、一般に /.well-known/jwks.json で公開され、Relying Party が OAuth 2.0 アクセストークンや OpenID Connect の ID トークンを検証する際に利用されます。JWK は Auth0、Okta、Keycloak、Cognito などの IdP や、jose、node-jose、python-jwt といったライブラリが扱う標準的な形式です。
● 例
- 01
OpenID Connect プロバイダが https://issuer.example.com/.well-known/jwks.json に署名鍵を JWK Set として公開する。
- 02
WebAuthn の Relying Party が、利用者の公開鍵を kty:EC、crv:P-256 の JWK として保存する。
● よくある質問
JWK とは何ですか?
RFC 7517 で定義された JSON Web Key。JOSE や OAuth 系プロトコルで利用される公開鍵・秘密鍵を表現する JSON オブジェクト。 サイバーセキュリティの 暗号 カテゴリに属します。
JWK とはどういう意味ですか?
RFC 7517 で定義された JSON Web Key。JOSE や OAuth 系プロトコルで利用される公開鍵・秘密鍵を表現する JSON オブジェクト。
JWK はどのように機能しますか?
JWK(RFC 7517)は暗号鍵を JSON オブジェクトとして表現し、その項目は鍵種別(kty)によって異なります。RSA 鍵は n、e と任意の d/p/q を持ち、EC 鍵は crv、x、y と任意の d を、OKP 鍵(RFC 8037)は Ed25519/X25519 用に crv と x を、oct 鍵は対称鍵 k を持ちます。メタデータには kid(鍵識別子)、alg、use(sig/enc)、key_ops が含まれます。JWK Set(jwks)は複数の鍵をまとめ、一般に /.well-known/jwks.json で公開され、Relying Party が OAuth 2.0 アクセストークンや OpenID Connect の ID トークンを検証する際に利用されます。JWK は Auth0、Okta、Keycloak、Cognito などの IdP や、jose、node-jose、python-jwt といったライブラリが扱う標準的な形式です。
JWK からどのように防御しますか?
JWK に対する防御は通常、上記の定義で述べたとおり、技術的統制と運用上の実践を組み合わせます。
JWK の別名は何ですか?
一般的な別名: JSON Web Key, jwks。
● 関連用語
- cryptography№ 565
JOSE
JavaScript Object Signing and Encryption。署名済み・暗号化済みのデータを JSON で表現する IETF 規格群(RFC 7515-7520、8037)の総称。
- cryptography№ 573
JWS
JSON Web Signature(RFC 7515)。Base64URL で符号化したヘッダとペイロードに対する署名や MAC によって、任意コンテンツの完全性と発信元を保護する JOSE 形式。
- cryptography№ 571
JWE
JSON Web Encryption(RFC 7516)。認証付き暗号と鍵ラップ・鍵共有を組み合わせ、ペイロードを機密に包む JOSE 形式。
- identity-access№ 574
JWT(JSON Web Token)
署名付き JSON クレームを運ぶ、コンパクトで URL セーフなトークン形式(RFC 7519)。アクセストークン、ID トークン、セッションコンテナとして広く使われる。
- identity-access№ 760
OpenID Connect (OIDC)
OAuth 2.0 上に構築された ID レイヤーで、クライアントが署名付き ID トークンを通じて利用者の身元を検証し、基本プロフィールを取得できるようにする。