Una firma web JSON (abreviado JWS ) es un estándar propuesto por IETF ( RFC 7515 ) para firmar datos arbitrarios. [1] Esto se utiliza como base para una variedad de tecnologías basadas en web, incluido JSON Web Token .
JWS es una forma de garantizar la integridad de la información en un formato legible por máquina y altamente serializable . Eso significa que es información, junto con la prueba de que la información no ha cambiado desde que se firmó. Puede utilizarse para enviar información de un sitio web a otro, y está especialmente dirigido a comunicaciones en la web. Incluso contiene un formulario compacto optimizado para aplicaciones como parámetros de consulta URI . [2]
JWS se puede utilizar para aplicaciones en las que la información firmada digitalmente debe enviarse en un formato legible por máquina, como el comercio electrónico . Por ejemplo, supongamos que un usuario llamado Bob está examinando los precios de los widgets en un sitio web (widgets.com) y desea obtener una cotización de uno de ellos. Luego, widgets.com podría proporcionarle a Bob un objeto JWS que contenga toda la información relevante sobre el widget, incluido el precio, y luego firmarlo con su clave privada. Entonces Bob tendría una cotización de precio no repudiable para el producto.
Quizás Widgets.com y WidgetStorage.com tienen un trato en el que WidgetStorage.com aceptará cupones de Widgets.com a cambio de tráfico. Widgets.com podría emitir JWS dándole a Bob un descuento del 10% en el sitio WidgetStorage.com. Nuevamente, debido a que los datos están firmados, WidgetStorage puede saber que Widgets.com emitió esto. Si los datos no estaban firmados, Bob podría cambiar su descuento al 50% y nadie podría saberlo con solo mirar los datos.
JWS es uno de los estándares de la serie JOSE [3] y está destinado a ser utilizado en combinación con ellos. Por ejemplo, para el cifrado, se supone que JSON Web Encryption (JWE) [4] se utiliza en conjunto.
A partir de 2015, JWS era un estándar propuesto y era parte de varios otros borradores de estándares del IETF, [5] y había un código disponible en la web para implementar el borrador del estándar. [6] [7]