Generated by GPT-5-mini| JSON Web Key | |
|---|---|
| Name | JSON Web Key |
| Abbreviation | JWK |
| Developer | IETF |
| Initial release | 2015 |
| Latest release | RFC 7517 |
| Format | JSON |
| Related | JSON Web Signature (JWS), JSON Web Encryption (JWE), JSON Web Token (JWT) |
JSON Web Key JSON Web Key is a JSON-based data structure for representing cryptographic keys and key metadata designed to interoperate across web systems, standardized by the Internet Engineering Task Force and used in protocols and projects from OAuth to OpenID Connect. Major implementations and deployments include identity platforms, cloud services, browser engines, and federated systems where keys are exchanged, verified, and rotated in automated workflows.
JSON Web Key was defined to enable machine-readable exchange of cryptographic key material between entities such as authorization servers, resource servers, and clients in ecosystems exemplified by OAuth 2.0, OpenID Connect, and SAML 2.0. The format was driven by working groups within the Internet Engineering Task Force and aligns with related efforts like JSON Web Signature and JSON Web Encryption to support signing and encryption in projects such as Apache Software Foundation servers, Microsoft Azure services, and Google identity stacks. Design goals reflect interoperability, minimalism, and suitability for automated key discovery used in federations like EduGAIN, Shibboleth, and large deployments at Twitter and GitHub.
The normative specification for the JSON Web Key format appears in an RFC published by the Internet Engineering Task Force and references cryptographic primitives from standards bodies such as the National Institute of Standards and Technology and the National Institute of Standards and Technology's Suite B recommendations. The document defines members, parameter names, encoding rules, and algorithms that map to constructs in RFC 7515 and RFC 7516 and interacts with algorithm registries maintained by the IANA. The specification influenced implementations in projects from the OpenID Foundation to the Apache Software Foundation and was debated in working groups including those associated with W3C communities.
The format specifies key types including public-key algorithms adopted from standards like RSA (cryptosystem), Elliptic-curve cryptography families such as those deployed in NIST P-256 and algorithms aligned with Elliptic Curve Digital Signature Algorithm usage. Parameters encode modulus and exponent for RSA keys, curve and coordinate values for elliptic-curve keys, and symmetric key material for HMAC-based keys used in systems like OAuth 2.0 token signing and JWT issuance. Metadata fields include identifiers and usage hints that interoperate with discovery mechanisms developed by projects like OpenID Connect, WS-Federation, and enterprise systems at Amazon Web Services and Microsoft Azure.
Collections of keys are represented as JWK Sets to support bulk publishing and discovery; these sets are commonly exposed via endpoints in federations modeled after OpenID Connect discovery and consumed by clients in ecosystems such as Kubernetes controllers, Istio service mesh components, and cloud identity platforms like Okta. Serialization follows JSON encoding rules aligned with RFC 8259, with compact forms used in constrained environments such as embedded devices from ARM Holdings or browsers like Mozilla Firefox and Google Chrome. JWK Set endpoints are often integrated with content distribution and certificate management systems from HashiCorp and Let's Encrypt for automated rotation.
Security guidance draws on threat models studied by bodies like the National Institute of Standards and Technology and lessons from incidents involving key compromise at organizations such as Equifax and high-profile disclosures affecting platforms like Facebook. Recommendations include minimizing key exposure, adopting short lifetimes as practiced by Amazon Web Services and Google Cloud Platform, using secure transport stacks standardized by IETF and W3C, and applying audience and scope controls analogous to techniques in OAuth 2.0 and OpenID Connect. Attack mitigations reference practices from the OWASP community and operational playbooks maintained by vendors such as Microsoft and Cisco.
JSON Web Keys are used by identity providers, authorization servers, API gateways, and client libraries across ecosystems exemplified by Auth0, Okta, Keycloak, Kong, and NGINX. Open-source libraries implementing JWK handling appear in languages from Python (programming language) packages and Node.js modules to Java (programming language) frameworks such as Spring Framework and Jakarta EE. Cloud vendors integrate JWK endpoints with services like Azure Active Directory, Google Identity Platform, and AWS Identity and Access Management to enable automated verification of JSON Web Tokens in microservice architectures like those used by Netflix and Spotify.
JWK interoperates with a suite of standards including JSON Web Token, JSON Web Signature, JSON Web Encryption, and discovery protocols from the OpenID Foundation and IETF workstreams; implementations also interact with certificate and key management protocols such as ACME and Automated Certificate Management Environment processes used by Let's Encrypt. Related specifications include registry entries maintained by IANA and profiles developed in communities such as W3C and the OpenID Foundation to ensure cross-vendor compatibility among projects like Kong, Keycloak, Auth0, and enterprise platforms from Oracle and IBM.
Category:Internet standards