Ataque adaptativo de texto cifrado elegido


Un ataque adaptativo de texto cifrado elegido (abreviado como CCA2 ) es una forma interactiva de ataque de texto cifrado elegido en el que un atacante primero envía una cantidad de textos cifrados para descifrarlos elegidos de forma adaptativa y luego usa los resultados para distinguir un texto cifrado de destino sin consultar el oráculo. en el texto cifrado del desafío. En un ataque adaptativo, al atacante también se le permite realizar consultas adaptativas después de que se revela el objetivo (pero la consulta objetivo no está permitida). Está extendiendo el ataque de texto cifrado elegido indiferente (no adaptativo) (CCA1) donde la segunda etapa de consultas adaptativas no está permitida. charles rackoffy Dan Simon definieron CCA2 y sugirieron un sistema basado en la definición CCA1 no adaptativa y el sistema de Moni Naor y Moti Yung (que fue el primer tratamiento de la inmunidad a ataques de texto cifrado elegido de sistemas de clave pública).

En ciertos entornos prácticos, el objetivo de este ataque es revelar gradualmente información sobre un mensaje cifrado o sobre la clave de descifrado en sí. Para los sistemas de clave pública , los textos cifrados elegidos adaptativos generalmente son aplicables solo cuando tienen la propiedad de maleabilidad del texto cifrado , es decir, un texto cifrado se puede modificar de maneras específicas que tendrán un efecto predecible en el descifrado de ese mensaje.

Los ataques de texto cifrado elegido adaptativo tal vez se consideraron una preocupación teórica, pero no se manifestaron en la práctica, hasta 1998, cuando Daniel Bleichenbacher (entonces de Bell Laboratories ) demostró un ataque práctico contra sistemas que usaban cifrado RSA en conjunto con el Función de codificación PKCS#1 v1 , incluida una versión del protocolo Secure Sockets Layer (SSL) utilizado por miles de servidores web en ese momento. [1]

Los ataques de Bleichenbacher, también conocidos como el ataque del millón de mensajes, aprovecharon las fallas dentro de la función PKCS #1 para revelar gradualmente el contenido de un mensaje encriptado RSA. Hacer esto requiere enviar varios millones de textos cifrados de prueba al dispositivo de descifrado (por ejemplo, un servidor web equipado con SSL). En términos prácticos, esto significa que una clave de sesión SSL puede exponerse en un período de tiempo razonable, tal vez un día o menos.

Con ligeras variaciones, esta vulnerabilidad aún existe en muchos servidores modernos, bajo el nuevo nombre "Return Of Bleichenbacher's Oracle Threat" (ROBOT). [2]

Para evitar ataques de texto cifrado elegido adaptativo, es necesario utilizar un esquema de cifrado o codificación que limite la maleabilidad del texto cifrado y una prueba de seguridad del sistema. Después del desarrollo teórico y básico de los sistemas seguros CCA, se han propuesto varios sistemas en el modelo Random Oracle: el estándar más común para el cifrado RSA es el relleno de cifrado asimétrico óptimo (OAEP). A diferencia de los esquemas improvisados, como el relleno utilizado en las primeras versiones de PKCS#1, se ha demostrado que OAEP es seguro en el modelo de oráculo aleatorio , [3] OAEP se incorporó a PKCS#1 a partir de la versión 2.0 publicada en 1998 como el esquema de codificación recomendado ahora, y el esquema anterior aún se admite pero no se recomienda para nuevas aplicaciones. [4] Sin embargo, el estándar de oro para la seguridad es mostrar que el sistema es seguro sin depender de la idealización de Random Oracle. [5]