Saltar al contenido
ecdsa.com

JWE (JSON Web Encryption)

El formato JOSE del RFC 7516 para contenido cifrado, cuya forma compacta tiene cinco partes —encabezado, clave cifrada, IV, texto cifrado y etiqueta— y que separa la gestión de claves (alg) del cifrado del contenido (enc).
También se escribeJSON Web EncryptionRFC 7516encrypted JWT

Una clave de cifrado de contenido (CEK) aleatoria cifra la carga útil con un AEAD como A256GCM o A128CBC-HS256 (enc); la CEK llega al destinatario mediante el algoritmo de gestión de claves (alg): RSA-OAEP-256, ECDH-ES (acuerdo directo, con la parte de clave cifrada vacía) o ECDH-ES+A256KW, A256KW con una clave compartida, o dir para una CEK precompartida. El encabezado protegido son los datos asociados del AEAD, así que no se puede alterar.

Un JWE garantiza la confidencialidad frente a todos salvo su destinatario, pero con ECDH-ES o RSA-OAEP no autentica al remitente: cualquiera que tenga la clave pública puede crear uno. Los JWT anidados firman primero y después cifran el JWT firmado, con cty establecido en JWT. Los riesgos conocidos son los puntos de curva no válida en ECDH-ES (valida epk), PBES2 con un número enorme de iteraciones como vector de denegación de servicio y el oráculo de relleno de RSA1_5; el RFC 8725 enumera las mitigaciones.

La mayoría de las API nunca necesitan JWE porque TLS ya protege el canal; resulta útil para tokens que pasan por intermediarios que no son de confianza o que guardan los clientes. El inspector de JWE muestra el encabezado y la estructura sin descifrar.

Estándares y referencias

Todos los términos