JWKとは?
じぇいだぶりゅーけー
JWKとは、公開鍵・秘密鍵の暗号鍵情報をJSON形式で表現するための標準フォーマット(JSON Web Key)のことです。
JWK(JSON Web Key)は、RFC 7517で定義された仕様で、暗号鍵をJSONオブジェクトとして表現する標準フォーマットです。複数のJWKをまとめた「JWK Set(JWKS)」形式もあり、認証基盤での公開鍵配布に広く使われます。
JWKオブジェクトには鍵の種類や用途を示す以下のようなメンバーが含まれます。
- kty(鍵の種類:RSA、EC、octなど)
- use(用途:sig=署名、enc=暗号化)
- kid(鍵の識別子)
- alg(使用するアルゴリズム)
- n、e(RSA公開鍵の場合の係数と指数)
OpenID Connect(OIDC)では、認可サーバーが公開鍵をJWKS形式でエンドポイント(通常は /.well-known/jwks.json など)に公開します。クライアントやリソースサーバーはこのエンドポイントから公開鍵を取得し、JWTの署名検証に使います。
JWKの標準化により、異なるシステム間での鍵交換・配布が容易になり、鍵のローテーション(定期的な更新)も仕組みとして組み込みやすくなっています。現代の認証・認可基盤においてJWTとセットで不可欠な要素です。
使い方・例文
GoogleのOAuth 2.0/OIDCを利用するアプリは、Googleが公開するJWKSエンドポイントから定期的に公開鍵を取得し、受け取ったIDトークン(JWT)の署名を検証してその正当性を確認します。
この用語をシェア
最終更新: