El cifrado autenticado ( AE ) y el cifrado autenticado con datos asociados ( AEAD ) son formas de cifrado que aseguran simultáneamente la confidencialidad y autenticidad de los datos.
Garantías de seguridad
Además de proteger la integridad y la confidencialidad de los mensajes, el cifrado autenticado puede proporcionar seguridad contra el ataque de texto cifrado elegido . En estos ataques, un adversario intenta obtener una ventaja contra un criptosistema (por ejemplo, información sobre la clave secreta de descifrado) enviando textos cifrados cuidadosamente seleccionados a algún "oráculo de descifrado" y analizando los resultados descifrados. Los esquemas de cifrado autenticados pueden reconocer textos cifrados construidos incorrectamente y negarse a descifrarlos. Esto, a su vez, evita que el atacante solicite el descifrado de cualquier texto cifrado a menos que se haya generado correctamente utilizando el algoritmo de cifrado, lo que implica que el texto sin formato ya es conocido. Implementado correctamente, el cifrado autenticado elimina la utilidad del oráculo de descifrado, al evitar que un atacante obtenga información útil que el atacante aún no posee.
Se han desarrollado muchos modos de cifrado autenticados especializados para su uso con cifrados de bloques simétricos . Sin embargo, el cifrado autenticado se puede construir de forma genérica combinando un esquema de cifrado y un código de autenticación de mensajes (MAC), siempre que:
- El esquema de cifrado es semánticamente seguro bajo un ataque de texto plano elegido .
- La función MAC es infalsificable bajo un mensaje de ataque elegido .
Interfaz de programación
Una interfaz de programación típica para una implementación AE proporciona las siguientes funciones:
- Cifrado
- Entrada: texto sin formato , clave y, opcionalmente, un encabezado en texto sin formato que no se cifrará, pero estará cubierto por la protección de autenticidad.
- Salida: texto cifrado y etiqueta de autenticación ( código de autenticación del mensaje ).
- Descifrado
- Entrada: texto cifrado , clave , etiqueta de autenticación y, opcionalmente, un encabezado (si se usa durante el cifrado).
- Salida: texto sin formato o un error si la etiqueta de autenticación no coincide con el texto cifrado o el encabezado proporcionado .
La parte del encabezado está destinada a proporcionar protección de autenticidad e integridad para metadatos de almacenamiento o redes para los que la confidencialidad es innecesaria, pero se desea autenticidad.
Historia
La necesidad de un cifrado autenticado surgió de la observación de que la combinación segura de modos de operación de cifrado de bloques de autenticación y confidencialidad separados podría ser propensa a errores y difícil. [1] [2] Esto fue confirmado por una serie de ataques prácticos introducidos en protocolos de producción y aplicaciones por implementación incorrecta o falta de autenticación (incluido SSL / TLS ). [3]
Alrededor del año 2000, una serie de esfuerzos se desarrollaron en torno a la noción de modos de estandarización que aseguraron una implementación correcta. En particular, el gran interés en los modos posiblemente seguros fue provocado por la publicación del CBC con conciencia de integridad de Charanjit Jutla y los modos IAPM, paralelizables con conciencia de integridad [4] en 2000 (ver OCB y cronología [5] ). Seis modos de cifrado autenticados diferentes (a saber, modo de libro de códigos compensado 2.0 , OCB 2.0; Ajuste de clave ; contador con CBC-MAC , CCM; cifrar, luego autenticar y luego traducir , EAX; cifrar-luego-MAC , EtM; y modo Galois / contador , GCM) han sido estandarizados en ISO / IEC 19772: 2009. [6] Se desarrollaron métodos de cifrado más autenticados en respuesta a la solicitud del NIST . [7] Las funciones de esponja se pueden utilizar en modo dúplex para proporcionar cifrado autenticado. [8]
Bellare y Namprempre (2000) analizaron tres composiciones de cifrado y primitivas MAC, y demostraron que cifrar un mensaje y posteriormente aplicar una MAC al texto cifrado (el enfoque Cifrar y luego MAC ) implica seguridad contra un ataque de texto cifrado elegido adaptativo , siempre que ambos las funciones cumplen con las propiedades mínimas requeridas. Katz y Yung investigaron la noción bajo el nombre de "cifrado infalsificable" y demostraron que implica seguridad contra ataques de texto cifrado seleccionados. [9]
En 2013, se anunció un concurso para fomentar el diseño de modos de cifrado autenticados. [10]
Cifrado autenticado con datos asociados (AEAD)
AEAD es una variante de AE que permite al destinatario verificar la integridad de la información encriptada y no encriptada en un mensaje. [11] AEAD vincula los datos asociados (AD) al texto cifrado y al contexto donde se supone que debe aparecer, de modo que los intentos de "cortar y pegar" un texto cifrado válido en un contexto diferente se detectan y rechazan.
Es requerido, por ejemplo, por paquetes de red o tramas donde el encabezado necesita visibilidad, la carga útil necesita confidencialidad y ambos necesitan integridad y autenticidad .
Enfoques para el cifrado autenticado
Encriptar y luego MAC (EtM)
El texto sin formato se cifra primero, luego se produce un MAC basado en el texto cifrado resultante. El texto cifrado y su MAC se envían juntos. Se utiliza, por ejemplo, en IPsec . [12] El método estándar según ISO / IEC 19772: 2009. [6] Este es el único método que puede alcanzar la máxima definición de seguridad en AE, pero esto solo se puede lograr cuando el MAC utilizado es "fuertemente infalsificable". [13] En noviembre de 2014, la extensión TLS y DTLS para EtM se publicó como RFC 7366 . También existen varios conjuntos de cifrado EtM para SSHv2 (p. Ej.,[email protected]).
Tenga en cuenta que la separación de claves es obligatoria (se deben usar claves distintas para el cifrado y para el hash con clave); de lo contrario, es potencialmente inseguro según el método de cifrado específico y la función hash utilizada. [14]
Cifrar y MAC (E&M)
Se produce un MAC basado en el texto sin formato y el texto sin formato se cifra sin el MAC. El MAC del texto sin formato y el texto cifrado se envían juntos. Se utiliza, por ejemplo, en SSH . [15] A pesar de que no se ha demostrado que el enfoque de E&M sea totalmente infalsificable en sí mismo, [13] es posible aplicar algunas modificaciones menores a SSH para hacerlo totalmente infalsificable a pesar del enfoque. [ cita requerida ]
MAC-luego-Cifrar (MtE)
Se produce un MAC basado en el texto sin formato, luego el texto sin formato y el MAC se cifran juntos para producir un texto cifrado basado en ambos. Se envía el texto cifrado (que contiene una MAC cifrada). Se utiliza, por ejemplo, en SSL / TLS . [16] A pesar de que el enfoque MtE no se ha demostrado ser muy infalsificable en sí mismo, [13] el SSL / TLS aplicación ha demostrado ser fuertemente infalsificable por Krawczyk, que mostró que SSL / TLS era, de hecho, conseguir debido la codificación utilizada junto con el mecanismo MtE. [17] [ dudoso ] A pesar de la seguridad teórica, un análisis más profundo de SSL / TLS modeló la protección como MAC-then-pad-then-encrypt, es decir, el texto plano se rellena primero con el tamaño de bloque de la función de cifrado. Los errores de relleno a menudo resultan en errores detectables por parte del destinatario, que a su vez conducen a ataques de oráculo de relleno , como Lucky Thirteen .
Ver también
- Modo de operación de cifrado en bloque
- Modo CCM
- Modo CWC
- Modo OCB
- Modo EAX
- Poli1305
- GCM
- GCM-SIV
- SGCM
- Signcryption
Referencias
- ^ M. Bellare; P. Rogaway; D. Wagner. "Un modo de cifrado autenticado convencional" (PDF) . NIST . Consultado el 12 de marzo de 2013 .
a la gente le había ido bastante mal cuando intentaron unir un esquema de cifrado tradicional (solo de privacidad) y un código de autenticación de mensajes (MAC)
- ^ T. Kohno; J. Viega y D. Whiting. "El modo de cifrado autenticado CWC (datos asociados)" (PDF) . NIST . Consultado el 12 de marzo de 2013 .
Es muy fácil combinar accidentalmente esquemas de encriptación seguros con MAC seguros y aún así obtener esquemas de encriptación autenticados inseguros
- ^ "Fallos de la criptografía de clave secreta" (PDF) . Daniel J. Bernstein. Archivado desde el original (PDF) el 18 de abril de 2013 . Consultado el 12 de marzo de 2013 .
- ^ Jutl, Charanjit S. (1 de agosto de 2000). "Modos de cifrado con integridad de mensaje casi libre" . Archivo de Cryptology ePrint: Informe 2000/039 . Actas IACR EUROCRYPT 2001. IACR . Consultado el 16 de marzo de 2013 .
- ^ T. Krovetz; P. Rogaway (1 de marzo de 2011). "El rendimiento del software de los modos de cifrado autenticado" (PDF) . Cifrado de software rápido 2011 (FSE 2011) . IACR .
- ^ a b "Tecnología de la información - Técnicas de seguridad - Cifrado autenticado" . 19772: 2009 . ISO / IEC . Consultado el 12 de marzo de 2013 .
- ^ "Desarrollo de modos de cifrado" . NIST . Consultado el 17 de abril de 2013 .
- ^ El equipo de Keccak. "Duplicar la esponja" (PDF) .
- ^ Katz, J .; Yung, M. (2001). B. Schneier (ed.). Cifrado infalsificable y modos de operación seguros de texto cifrado elegido . Cifrado de software rápido (FSE): Actas de 2000 . Apuntes de conferencias en informática. 1978 . págs. 284-299. doi : 10.1007 / 3-540-44706-7_20 . ISBN 978-3-540-41728-6.
- ^ "CAESAR: Competencia por cifrado autenticado: seguridad, aplicabilidad y robustez" . Consultado el 12 de marzo de 2013 .
- ^ "NIST emite la primera convocatoria de 'criptografía ligera' para proteger pequeños dispositivos electrónicos" . 2018-04-18 . Consultado el 4 de septiembre de 2019 .
- ^ "Algoritmos separados de confidencialidad e integridad" . RFC 4303 . Grupo de trabajo de ingeniería de Internet (IETF) . Consultado el 12 de septiembre de 2018 .
- ^ a b c "Cifrado autenticado: relaciones entre nociones y análisis del paradigma de composición genérica" . M. Bellare y C. Namprempre . Consultado el 13 de abril de 2013 .
- ^ Menezes, A .; van Oorschot, P .; Vanstone, S. (1996). Manual de criptografía aplicada (Capítulo 9, Ejemplo 9.88) . ISBN 0-8493-8523-7.
- ^ "Integridad de los datos" . RFC 4253 . Grupo de trabajo de ingeniería de Internet (IETF) . Consultado el 12 de septiembre de 2018 .
- ^ "Registro de protección de carga útil" . RFC 5246 . Grupo de trabajo de ingeniería de Internet (IETF) . Consultado el 12 de septiembre de 2018 .
- ^ "El orden de cifrado y autenticación para proteger las comunicaciones (o: ¿Qué tan seguro es SSL?)" (PDF) . H. Krawczyk . Consultado el 13 de abril de 2013 .
- General
- Bellare, M .; Namprempre, C. (2000), T. Okamoto (ed.), "Cifrado autenticado: Relaciones entre nociones y análisis del paradigma de composición genérico" , Resumen extendido en Advances in Cryptology: Actas de Asiacrypt 2000 , Lecture Notes in Computer Science, Springer -Verlag, 1976 : 531, doi : 10.1007 / 3-540-44448-3_41 , ISBN 978-3-540-41404-9
enlaces externos
- NIST: Desarrollo de modos
- Cómo elegir un modo de cifrado autenticado