Criptografía de la A-Z
volver
Criptoanálisis y Ataques a Criptosistemas
El criptoanálisis es el arte de descifrar comunicaciones encriptadas sin conocer las llaves correctas. Existen muchas técnicas criptoanalíticas. Algunas de las más importantes se describen a continuación.
- Ataques a textos cifrados (Ciphertext-only attack)
Esta es la situación en la cual el atacante no conoce nada sobre el contenido del mensaje, y debe trabajar solo desde el texto cifrado. En la práctica es muy probable hacer tantas conjeturas acerca del texto plano, como cantidad de tipos de mensajes tengan un encabezado similar.
Incluso las cartas y los documentos ordinarios comienzan de una manera muy previsible. Por ejemplo, muchos ataques clásicos utilizan "análisis frecuencial" del texto cifrado, sin embargo, no funciona bien contra los cifrados modernos.
Los criptosistemas modernos no son débiles contra ataques de "texto cifrado", aunque algunas veces son considerados con el agregado de que el mensaje contiene "tendencia" estática.
- Ataques de texto plano conocidos
El atacante conoce o puede adivinar el texto de alguna parte del texto cifrado. La tarea es desencriptar el resto del bloque cifrado utilizando esta información. Esto puede ser hecho determinando la clave utilizada para encriptar la información, o a través de algún atajo.
Uno de los mejores ataques modernos de texto plano conocido es el "criptoanálisis lineal"
contra cifradores de bloques.
- Ataques de texto plano seleccionado
El atacante puede tener cualquier texto encriptado con una llave desconocida. La tarea es determinar la llave utilizada para encritar.
Un buen ejemplo de este ataque es el "criptoanálisis diferencial" que puede ser aplicado a cifradores de bloques y, en algunos casos, a funciones Hash.
Algunos criptosistemas, particularmente el RSA, son vulnerables a estos ataques. Cuando tales algoritmos son utilizados, se debe tener cuidado en el diseño de la aplicación (o protocolo) de forma tal que un atacante no pueda obtener el texto encriptado.
- Ataque de hombre en medio
Este ataque es relevante para las comunicaciones criptográficas y los protocolos de intercambio de llaves. La idea es que cuando dos partes, A y B, están intercambiando llaves por comunicaciones seguras (por ejemplo utilizando Diffie-Hellman), un adversario (intruso) se posiciona entre A y B en la línea de comunicación. El intruso intercepta las señales que A y B se envían, y ejecuta un intercambio de llaves entre A y B. A y B terminaran utilizando llaves diferentes, cada una de las cuales es conocida por el intruso. El intruso puede luego desencriptar cualquier comunicación de A con la llave que comparte con A, y luego reenviarla a B encriptándola nuevamente con la llave que comparte con B. Ambos A y B pensarán que se están comunicando en forma segura pero de hecho el intruso está escuchando todo.
La forma habitual de prevenir este ataque es utilizar un sistema de clave pública capaz de proveer firmas digitales. Por configuración, las partes deben conocer de antemano la clave pública de cada una de ellas. Después de que han sido generadas, las partes se envían firmas digitales. El hombre de por medio falla en el ataque a causa de que no es capaz de falsificar las firmas sin conocer las llaves privadas utilizadas para generar las firmas.
Esta solución es suficiente si existe también una manera segura de distribuir claves públicas. Una forma es la jerarquía de certificados como X.509. Es utilizado por ejemplo en IPSec.
- La correlación entre la clave secreta y la salida del criptosistema es la fuente principal de información para el criptoanálisis. En el caso más simple, la información sobre la llave secreta es filtrada por el criptosistema. Casos mas complicados requieren estudios sobre la correlación (básicamente, cualquier relación que no sería esperada) entre la información observada(o tomada) de los criptosistemas y la información de la llave adivinada.
Por ejemplo, en ataques lineales contra bloques cifrados el criptoanálisis estudia el texto plano conocido y el observado. Adivinando algunos bits del criptosistema el analista determina, por correlación entre el texto plano y el cifrado, si el "adivinó bien". Esto se puede repetir y tiene muchas variantes.
El criptoanálisis diferencial introducido por Eli Biham y Adi Shamir en los '80 fue el primer ataque que utilizó completamente esta idea contra los bloques cifrados (especialmente contra el DES). Más tarde Eli Biham y Adi Shamir introducen el criptoanálisis lineal que fue aún más efectivo contra el DES. Más recientemente, se han desarrollado nuevos ataques que utilizan ideas similares.
La idea correlacional es fundamental para la criptografía y muchas investigaciones han tratado de construir criptosistemas que sean seguros contra tales ataques. Por ejemplo, Knudsen y Nyberg han estudiado esta seguridad contra el criptoanálisis diferencial.
Tal vez la mejor introducción a este tema es la introducida en los '90 por EuroCrypt y Crypto. Aquí se pueden encontrar discusiones sobre criptoanálisis lineal del DES de Mitsuru Matsui, y la idea de truncar diferencias por Lars Knudsen (por ejemplo, criptoanálisis IDEA). El libro de Eli Biham y de Adi Shamir sobre el criptoanálisis diferencial del DES es un clásico en este tema.
La idea de la correlación es fundamental para la criptografía y varias investigaciones han tratado de construir criptosistemas que han demostrado ser seguros contra tales ataques. Por ejemplo, Knudsen y Nyberg han estudiado esta seguridad comprobable contra criptosistemas diferenciales.
- Ataques contra el hardware o utilizando el hardware base
Así como en los últimos años mas y mas dispositivos pequeños de criptografía han sido ampliamente utilizados, una nueva categoría de ataques se ha hecho relevante la cual apunta directamente a las implementaciones de hardware de los criptosistemas.
Los ataques utilizan datos muy buenos obtenidos del dispositivo criptográfico, supongamos, información de la encriptación y de la llave de estas medidas. Las ideas básicas están estrechamente relacionadas con aquellos en otros ataques correlacionados. Por ejemplo, el atacante adivina algunos bit de la clave y trata de verificar la exactitud de lo adivinado estudiando la correlación contra lo que el adivinó.
Se han propuesto varios ataques como la utilización cuidadosa del cronometraje del dispositivo, medidas del consumo de energía, y patrones de radiación. Estas mediciones pueden ser utilizadas para obtener la llave secreta u otro tipo de información almacenada en el dispositivo.
Estos ataques son independientes de los algoritmos criptográficos utilizados y pueden ser aplicados a cualquier dispositivo que no este explícitamente protegido.
Más información sobre análisis diferencial de la energía se encuentra disponible en http://www.cryptography.com.
- Las Fallas en los Criptosistemas: pueden conducir al criptoanálisis y aún al descubrimiento en de la llave secreta. El interés en dispositivos criptográficos conduce al descubrimiento de que algunos algoritmos se comportan muy mal con la introducción de una pequeña falla en el cálculo interno.
Por ejemplo, la implementación usual de una operación de llave privada RSA es susceptible a los ataques de fallas. Se ha sido demostrado que causando un bit de error en un punto adecuado puede revelar la factorización del módulo (revela la llave privada).
Se han aplicado ideas similares a una gran variedad de algoritmos y dispositivos. Es así necesario que los dispositivos criptográficos sean diseñados para ser altamente resistentes a fallas (y contra introducciones maliciosas de fallas por criptoanálisis).
Informática (o cálculo) Cuántico: escritos de Peter Shor sobre factoreo polinómico del tiempo y algoritmos logarítmicos discretos con informática cuántica han causado el creciente interés en la informática cuántica. La informática cuántica es un campo reciente de investigación que utiliza mecanismos cuánticos para construir computadoras que son, en teoría, más potentes que las modernas computadoras seriales. El poder es derivado del paralelismo inherente de los mecanismos cuánticos. Así que en lugar de hacer una tarea a la vez, como lo hacen los mecanismos seriales, las computadoras cúanticas pueden ejecutarlas todas al mismo tiempo. De esa manera se espera que con las computadoras cuánticas podamos resolver problemas que no son resueltos por los seriales.
Los resultados de Shor implican o sugieren que si las computadoras cuánticas pueden ser implementadas eficientemente entonces muchas de las llaves públicas criptográficas serán historia. Sin embargo, son mucho menos efectivas contra llaves criptográficas secretas.
El estado de arte actual de las computadoras cuánticas no aparenta ser alarmante, ya que solo se han implementado máquinas muy pequeñas. La teoría de la informática cuántica brinda más promesas en cuanto al rendimiento que las computadoras seriales, sin embargo, que se realice en la práctica es una cuestión pendiente.
- Mecanismos Cuánticos
Son también un recurso para una nueva forma de ocultamiento de datos y comunicaciones seguras con el potencial de brindar una seguridad inquebrantable, este es el campo de la criptografía cuántica. A diferencia de la informática cuántica, se han logrado muchas implementaciones experimentales exitosas de la criptografía cuántica. Aún así, la criptografía cuántica está de alguna manera lejos de ser implementada en aplicaciones comerciales.
- Criptografía DNA
Leonard Adleman (uno de los inventores del RSA) trajo a colación la idea de utilizar DNA como computadoras. Las moléculas de DNA pueden ser vistas como una gran computadora capaz de realizar ejecuciones en paralelo. Esta naturaleza concurrente podría brindar a las computadoras DNA incrementos exponenciales de velocidad contra las computadoras seriales modernas.
Desafortunadamente hay problemas con las computadoras DNA, el crecimiento exponencial de la velocidad implica también la necesidad de crecimiento del volumen de material requerido. De esa manera las computadoras DNA tienen limitaciones de rendimiento en la práctica. Además, no es muy fácil construir una.
Hay muchas otras técnicas y ataques criptográficos. Sin embargo, estas son las más importantes para el diseño de aplicaciones. Cualquiera que contemple el diseño de un nuevo criptosistema debería tener un conocimiento o comprensión mucho mas profunda del tema. Un buen lugar para comenzar a buscar información son los excelentes libros "Handbook of Applied Cryptography" de Menezes, Van Oorschot, y Vanstone y "Applied Cryptography" de Schneier.
volver