JSON Web Signature

Short description: Proposed standard for signing arbitrary data

JWSJSON Web Signature

Status| Proposed Standard
Organization| IETF
Committee| IEGS
Authors|

* Michael B. Jones
* Microsoft
* John Bradley
* Ping Identity
* Nat Sakimura
* NRI

Base standards| JSON
Related standards|

* HMAC-based one-time password
* JSON Web Algorithms (JWA)
* JSON Web Encryption (JWE)
* JSON Web Token (JWT)
* JSON Web Key (JWK)
* Secure Hash Algorithm 2 (SHA-2)

Domain| Data exchange
Abbreviation| JWS
Website| datatracker.ietf.org/doc/html/rfc7515

A JSON Web Signature (abbreviated JWS) is an IETF-proposed standard (RFC 7515) for signing arbitrary data.[1] This is used as the basis for a variety of web-based technologies including JSON Web Token.

## Contents

* 1 Purpose
* 1.1 Examples
* 1.1.1 Web commerce
* 1.1.2 Access to third-party resources
* 2 Limitations
* 3 References

## Purpose

JWS is a way to ensure integrity of information in a highly serializable, machine-readable format. That means that it is information, along with proof that the information hasn't changed since being signed. It can be used for sending information from one web site to another, and is especially aimed at communications on the web. It even contains a compact form optimized for applications like URI query parameters.[2]

### Examples

#### Web commerce

JWS can be used for applications in which digitally signed information must be sent in a machine-readable format, such as e-commerce. For example, say a user named Bob is browsing widget prices on a web site (widgets.com), and wishes to get a quote on one of them. Then widgets.com could provide Bob with a JWS object containing all relevant information about the widget, including the price, then sign it using their private key. Then Bob would have a non-repudiable price quote for the product.

#### Access to third-party resources

Maybe Widgets.com and WidgetStorage.com have a deal in which WidgetStorage.com will accept coupons from Widgets.com in exchange for traffic. Widgets.com could issue JWS giving Bob a 10% discount on the WidgetStorage.com site. Again, because the data is signed, WidgetStorage can know that Widgets.com emitted this. If the data was not signed, then Bob could change his discount to 50% and no one would know just from looking at the data.

## Limitations

JWS is one of the standards in the JOSE series[3] and is meant to be used in combination with them. For example, for encryption JSON Web Encryption (JWE)[4] is supposed to be used in conjunction.

As of 2015, JWS was a proposed standard, and was part of several other IETF proposed standards,[5] and there was code available on the web to implement the proposed standard.[6][7]

## References

1. ↑ Jones, Michael B.; Bradley, John; Sakimura, Nat (May 2015). "JSON Web Signature (JWS) [RFC7515"]. https://tools.ietf.org/html/rfc7515.
2. ↑ Jones, Michael B.; Bradley, John; Sakimura, Nat (May 2015). "JWS Compact Serialization Overview". https://tools.ietf.org/html/rfc7515#section-3.1.
3. ↑ "JSON Object Signing and Encryption (JOSE)". 2015-01-23. https://www.iana.org/assignments/jose/jose.xhtml.
4. ↑ Jones, Michael B.; Hildebrand, Joe (May 2015). JSON Web Encryption (JWE) [RFC7516]. https://tools.ietf.org/html/rfc7516. Retrieved 13 May 2015.
5. ↑ Jones, Michael B. (May 2015). JSON Web Key (JWK) [RFC7517]. https://tools.ietf.org/html/rfc7517. Retrieved 13 May 2015.
6. ↑ "google/google-oauth-java-client". GitHub. https://code.google.com/p/google-oauth-java-client/source/browse/google-oauth-client/src/main/java/com/google/api/client/auth/jsontoken/JsonWebSignature.java?r=c31891da772f2479cf47c2141c137f6c47a36685. Retrieved 13 May 2015.
7. ↑ "JSON Web Tokens - jwt.io". jwt.io. http://jwt.io/. Retrieved 13 May 2015.

Template:Data exchange

0.00

(0 votes)

Original source: https://en.wikipedia.org/wiki/JSON Web Signature. Read more

|

Retrieved from "https://handwiki.org/wiki/index.php?title=JSON_Web_Signature&oldid=3980805"