Amazon AWS KMS - Concepto de firma en general y con JWT

0

Buscando en Amazon AWS KMS (Sistema de gestión de claves).

Se confundió, ya que los métodos expuestos a través de la API de Amazon AWS son solo para cifrar y descifrar ( enlace ). Sin embargo, quiero firmar datos (JWT en particular).

Mis preguntas:

1) ¿Se está firmando apenas el cifrado del hash del contenido?

2) En el caso de JWT, si hago un hash del contenido de JWT y lo cifro y lo coloco en el campo de firma, ¿será la firma correcta?

Gracias,

    
pregunta android_dev 27.06.2018 - 08:58
fuente

1 respuesta

1

KMS + JWT es confuso y fácilmente mal utilizado. Esta pregunta es acerca de la pragmática, por lo que las respuestas resumidas a continuación están felices de ampliarlas pero los detalles son complejos.

1) Is signing barely encryption of the hash of the content?

No lo es.

2) In JWT case, if I hash the content of JWT and encrypt it and 
   put it in signature field, will it be correct signing?

No lo hará.

Si está utilizando JWT para tokens de autorización, aquí está la versión corta de lo que probablemente quiera hacer:

  • Use KMS para generar una clave de datos de 256 bits, tanto en forma cifrada como de texto simple: enlace
  • Guarde la forma encriptada de la clave de datos, junto con la ID-clave CMK bajo la cual fue acuñada, en su base de datos o con la configuración de la aplicación
  • Use la clave de datos de texto simple de 256 bits como "secreto" con la biblioteca JWT preferida de su plataforma de idioma para firmar y validar JWT.
  • Cuando la aplicación se reinicie, obtenga la clave de datos cifrada de la base de datos, llame a KMS Decrypt para obtener la versión de texto simple de la clave de datos, y use como se indicó anteriormente para la firma y validación de JWT

Espero que ayude.

    
respondido por el Jonah Benton 27.06.2018 - 17:55
fuente

Lea otras preguntas en las etiquetas