Página siguiente Página anterior Índice general

2.6 Seguridad de los sistemas criptográficos

La seguridad de un sistema criptográfico depende generalmente de que al menos una de las claves empleadas sea secreta, más que de que el algoritmo de encriptación sea secreto.

El publicar los algoritmos empleados por un sistema criptográfico para que sean revisados públicamente es una buena práctica que permite que se mejoren algoritmos no totalmente seguros o se considere que un algoritmo no tiene debilidades.

Los algoritmos criptográficos tienen distintos grados de seguridad:

  1. Seguro computacionalmente. Con suficiente poder de cálculo y almacenamiento el sistema puede ser roto, pero a un coste tan elevado que no es práctico. De cualquier modo, el coste computacional para considerar que un algoritmo es seguro ha ido cambiando con el paso del tiempo; algoritmos antes considerados seguros, como el DES, han sido rotos en meses con sistemas distribuidos y en días con sistemas diseñados específicamente para la tarea, como se describe en [EFF98].
  2. Seguro incondicionalmente. Son aquellos en los que aun disponiendo de recursos y gran cantidad de texto cifrado no es posible romper el algoritmo. Los únicos sistemas incondicionalmente seguros son los One Time Pads.

Un sistema criptográfico puede ser roto en varios niveles:

  1. Deducción de información. Se obtiene parte de información de la clave o del texto en claro.
  2. Deducción de una instancia. Se obtiene el texto en claro a partir de un texto cifrado.
  3. Deducción global. A partir de la deducción de una instancia se obtiene un algoritmo que obtiene los mismos resultados que el algoritmo original.
  4. Rotura total. Se recupera la clave y se puede descifrar cualquier mensaje encriptado con la misma clave.

Para romper un algoritmo se pueden emplear distintos tipos de ataque criptoanalítico:

  1. Ataque de sólo texto cifrado. El analista dispone de un texto cifrado y quiere obtener el texto en claro o la clave. Se pueden usar métodos de fuerza bruta (probando todas las claves posibles hasta que obtenemos un mensaje con sentido) o basados en diccionario (probando únicamente con un subconjunto de las claves posibles, por ejemplo si las claves son palabras). Es importante disponer de suficiente texto en clave para que sea fácil identificar cual es el texto en claro correcto.
  2. Ataque de texto en claro conocido. El analista dispone de un texto en claro y su correspondiente texto cifrado, lo que permite reducir el espacio de búsqueda de claves u obtener estadísticas que pueden usarse para hacer deducciones en otros textos cifrados.
  3. Ataque de texto en claro conocido adaptativo. Es igual que el anterior pero el analista puede elegir nuevos textos dinámicamente y alterar sus elecciones en función de los resultados que va obteniendo.
  4. Ataque de texto en claro elegido. El analista puede elegir el texto en claro y obtener el texto cifrado correspondiente. Este tipo de ataque puede evitar duplicados y centrarse más en las debilidades del algoritmo.
  5. Ataque de texto en claro elegido adaptativo. Es la versión adaptativa del ataque anterior.

Para que un sistema criptográfico sea considerado como fuerte debe tener las siguientes características:


Página siguiente Página anterior Índice general