JSON Web Signature

JSON Web Signature (abreviado JWS) es un estándar propuesto por IETF para la firma de JSON arbitrario.[1]​ Se utiliza como base para una variedad de tecnologías basadas en la web, incluyendo JSON Web Token.

Propósito

JWS es una forma de autenticar (pero no necesariamente cifrar) información en un formato altamente serializable y legible por máquina. Esto significa que es información, junto con la prueba de que la información no ha cambiado desde que se firmó. Se puede usar para enviar información de un sitio web a otro y está especialmente dirigido a las comunicaciones en la web. Incluso contiene una forma compacta optimizada para aplicaciones como parámetros de consulta de URI.[2]

Ejemplos

Comercio web

JWS puede ser usado 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, digamos que un usuario llamado Bob está buscando precios de widgets en un sitio web (widgets.com), y desea obtener una cotización en uno de ellos. Entonces, widgets.com podría proporcionarle a Bob un objeto JWS que contenga toda la información relevante sobre el widget, incluyendo el precio, y luego firmarlo usando su clave privada. Entonces Bob tendría una cotización de precio no-repudiable para el producto.

Acceso a recursos de terceros

Quizás Widgets.com y WidgetStorage.com tienen una acuerdo en el que WidgetStorage.com aceptará cupones de Widgets.com a cambio de tráfico. Widgets.com podría emitir JWS otorgándole a Bob un 10% de descuento en el sitio WidgetStorage.com. Nuevamente, debido a que los datos están firmados, WidgetStorage puede saber que Widgets.com lo autorizó. Si los datos no estuvieran firmados, Bob podría cambiar su descuento al 50% y nadie podría saberlo simplemente mirando los datos.

Limitaciones

JWS no incluye cifrado, pero está diseñado para trabajar con cifrado.[3]

A partir de 2015, JWS fue un estándar propuesto y es parte de otros borradores de normas de IETF,[4]​ y hay un código disponible en la web para implementar el borrador del estándar.[5][6]

Referencias

  1. «JSON Web Signature (JWS)». 
  2. «JWS Compact Serialization Overview». 
  3. «draft-ietf-jose-json-web-encryption-40 - JSON Web Encryption (JWE)». ietf.org. Consultado el 13 de mayo de 2015. 
  4. «draft-barnes-acme-01 - Automatic Certificate Management Environment (ACME)». ietf.org. Consultado el 13 de mayo de 2015. 
  5. «google/google-oauth-java-client». GitHub. Consultado el 13 de mayo de 2015. 
  6. «JSON Web Tokens - jwt.io». jwt.io. Archivado desde el original el 4 de marzo de 2016. Consultado el 13 de mayo de 2015.