Las construcciones Key Wrap son una clase de algoritmos de cifrado simétrico diseñados para encapsular (cifrar) material de claves criptográficas. [1] Los algoritmos Key Wrap están diseñados para aplicaciones como la protección de claves mientras se encuentran en un almacenamiento que no es de confianza o la transmisión de claves a través de redes de comunicaciones que no son de confianza. Las construcciones se construyen típicamente a partir de primitivas estándar, como cifrados en bloque y funciones hash criptográficas .
Key Wrap puede considerarse como una forma de algoritmo de encapsulación de claves , aunque no debe confundirse con los algoritmos de encapsulación de claves asimétricos (clave pública) más comúnmente conocidos (por ejemplo, PSEC-KEM ). Los algoritmos Key Wrap se pueden utilizar en una aplicación similar: para transportar de forma segura una clave de sesión cifrándola con una clave de cifrado a largo plazo.
Fondo
A finales de la década de 1990, el Instituto Nacional de Estándares y Tecnología (NIST) planteó el problema de "Key Wrap": desarrollar algoritmos de cifrado de claves seguros y eficientes basados en cifrado. Los algoritmos resultantes serían evaluados formalmente por NIST y finalmente aprobados para su uso en módulos criptográficos certificados por NIST. NIST no definió con precisión los objetivos de seguridad del algoritmo resultante y dejó un mayor refinamiento a los desarrolladores del algoritmo. Según los algoritmos resultantes, los requisitos de diseño parecen ser (1) confidencialidad, (2) protección de la integridad (autenticación), (3) eficiencia, (4) uso de primitivas subyacentes estándar (aprobadas) como el Estándar de cifrado avanzado (AES). ) y el algoritmo de hash seguro ( SHA-1 ), y (5) consideración de circunstancias adicionales (por ejemplo, resistencia al error del operador, generadores de números aleatorios de baja calidad). Los objetivos (3) y (5) son particularmente importantes, dado que muchos algoritmos de cifrado autenticados ampliamente implementados (por ejemplo, AES-CCM) ya son suficientes para lograr los objetivos restantes.
Se han propuesto varias construcciones. Éstas incluyen:
- Especificación AES Key Wrap (noviembre de 2001, RFC 3394 )
- Implementado por la API sutil de WebCrypto. [2]
- Comité de Estándares Americanos ANSX9.102 , que define cuatro algoritmos:
- AESKW (una variante de la especificación AES Key Wrap )
- TDKW (similar a AESKW, construido a partir de Triple DES en lugar de AES).
- AKW1 (TDES, dos rondas de CBC)
- AKW2 (TDES, CBC luego CBC-MAC)
Cada uno de los algoritmos propuestos puede considerarse como una forma de algoritmo de cifrado autenticado que proporciona confidencialidad para mensajes altamente entrópicos , como claves criptográficas. La especificación AES Key Wrap Specification, AESKW, TDKW y AKW1 están destinadas a mantener la confidencialidad bajo ataques de texto cifrado elegido adaptativo , mientras que el algoritmo AKW2 está diseñado para ser seguro solo bajo ataques de texto plano conocido (o más débil). (El objetivo declarado de AKW2 es su uso en sistemas heredados y dispositivos computacionalmente limitados donde el uso de los otros algoritmos no sería práctico). AESKW, TDKW y AKW2 también brindan la capacidad de autenticar el "encabezado" de texto sin cifrar, un bloque de datos asociado que es sin encriptar.
Rogaway y Shrimpton evaluaron el diseño de los algoritmos ANSX9.102 con respecto a los objetivos de seguridad establecidos. Entre sus hallazgos generales, señalaron la falta de objetivos de diseño claramente establecidos para los algoritmos y la ausencia de pruebas de seguridad para todas las construcciones.
En su artículo, Rogaway y Shrimpton propusieron un algoritmo comprobable de envoltura de claves (SIV, el modo de vector de inicialización sintético) que autentica y encripta una cadena arbitraria y autentica, pero no encripta, datos adicionales que se pueden vincular en la clave envuelta. Esto se ha estandarizado como un nuevo modo AES en RFC 5297 .
Ver también
Referencias
- ^ "Algoritmo de ajuste de clave" . Consultado el 26 de mayo de 2016 .
- ^ "API de criptografía web" . www.w3.org . Consultado el 16 de octubre de 2019 .
- P. Rogaway, T. Shrimpton. Un tratamiento de seguridad demostrable del problema de la envoltura de claves .
- NIST, AES Key Wrap Specification (noviembre de 2001)
- Publicación especial 800-38F del NIST, Recomendación para modos de operación de cifrado en bloque: métodos para el ajuste de claves (diciembre de 2012)
- Comité de Estándares Estadounidenses, Solicitud de revisión de algoritmos de envoltura de claves
- Dan Harkins (octubre de 2008). "RFC 5297: cifrado autenticado por vector de inicialización sintética (SIV) mediante el estándar de cifrado avanzado (AES)" . IETF.