JWK
¿Qué es JWK?
JWKJSON Web Key (RFC 7517) es un objeto JSON que representa una clave criptografica publica o privada para uso en JOSE y en la familia de protocolos OAuth.
Un JWK (RFC 7517) representa una clave criptografica como objeto JSON con parametros que dependen del tipo de clave (kty): las claves RSA contienen n, e y opcionalmente d/p/q; las claves EC contienen crv, x, y y opcionalmente d; las claves OKP (RFC 8037) contienen crv y x para Ed25519/X25519; las claves oct contienen la clave simetrica k. Los metadatos incluyen kid (identificador de clave), alg, use (sig o enc) y key_ops. Un JWK Set (jwks) agrupa varias claves y suele exponerse en /.well-known/jwks.json para que los relying parties validen tokens de acceso OAuth 2.0 o ID tokens OpenID Connect. JWK es el formato canonico que consumen IdPs como Auth0, Okta, Keycloak o Cognito y librerias como jose, node-jose y python-jwt.
● Ejemplos
- 01
Un proveedor OpenID Connect publica sus claves de firma como JWK Set en https://issuer.example.com/.well-known/jwks.json.
- 02
Un relying party WebAuthn guarda las claves publicas de los usuarios como JWK con kty:EC y crv:P-256.
● Preguntas frecuentes
¿Qué es JWK?
JSON Web Key (RFC 7517) es un objeto JSON que representa una clave criptografica publica o privada para uso en JOSE y en la familia de protocolos OAuth. Pertenece a la categoría de Criptografía en ciberseguridad.
¿Qué significa JWK?
JSON Web Key (RFC 7517) es un objeto JSON que representa una clave criptografica publica o privada para uso en JOSE y en la familia de protocolos OAuth.
¿Cómo funciona JWK?
Un JWK (RFC 7517) representa una clave criptografica como objeto JSON con parametros que dependen del tipo de clave (kty): las claves RSA contienen n, e y opcionalmente d/p/q; las claves EC contienen crv, x, y y opcionalmente d; las claves OKP (RFC 8037) contienen crv y x para Ed25519/X25519; las claves oct contienen la clave simetrica k. Los metadatos incluyen kid (identificador de clave), alg, use (sig o enc) y key_ops. Un JWK Set (jwks) agrupa varias claves y suele exponerse en /.well-known/jwks.json para que los relying parties validen tokens de acceso OAuth 2.0 o ID tokens OpenID Connect. JWK es el formato canonico que consumen IdPs como Auth0, Okta, Keycloak o Cognito y librerias como jose, node-jose y python-jwt.
¿Cómo defenderse de JWK?
Las defensas contra JWK combinan habitualmente controles técnicos y prácticas operativas, como se detalla en la definición.
¿Cuáles son otros nombres para JWK?
Nombres alternativos comunes: JSON Web Key, jwks.
● Términos relacionados
- cryptography№ 565
JOSE
JavaScript Object Signing and Encryption: familia de estandares del IETF (RFC 7515-7520 y 8037) para representar datos firmados y cifrados mediante JSON.
- cryptography№ 573
JWS
JSON Web Signature (RFC 7515) es un formato JOSE que protege la integridad y el origen de un contenido mediante una firma digital o un MAC sobre la cabecera y la carga codificadas en Base64URL.
- cryptography№ 571
JWE
JSON Web Encryption (RFC 7516) es un formato JOSE que encapsula una carga de forma confidencial mediante cifrado autenticado y un esquema de wrapping o acuerdo de claves.
- identity-access№ 574
JWT (JSON Web Token)
Formato compacto y seguro para URL (RFC 7519) que lleva claims JSON firmadas; muy usado como token de acceso, ID token y contenedor de sesion.
- identity-access№ 760
OpenID Connect (OIDC)
Capa de identidad construida sobre OAuth 2.0 que permite a los clientes verificar la identidad de un usuario y obtener información de perfil mediante tokens ID firmados.