Data Encryption Standard DES
DES fue el primer algoritmo desarrollado comercialmente y surgió como resultado de la petición del Departamento de Defensa de EE.UU. a IBM.
Es un cifrador en bloque que utiliza una clave de 64 bits de longitud (de los cuales 8 son de paridad) para encriptar bloques de 64 bits de datos. Se basa en permutaciones, sustituciones y sumas módulo 2 (EXOR) y consigue que la modificación de un bit del texto en claro produzca aproximadamente el cambio de los bits del criptograma con una probabilidad del 50%.
El mecanismo de ataque más práctico es el de fuerza bruta, el cual consiste en intentar desencriptar el texto cifrado con todas las claves posibles (256 7 · 1016 valores) y comparar el resultado con el texto en claro original. Debido al actual desarrollo tecnológico, la seguridad proporcionada por una clave de sólo 56 bits de longitud está siendo cuestionada, lo que ha llevado a la búsqueda de otros sistemas simétricos alternativos (Triple-DES, IDEA, RC2, …).
Métodos asimétricos o de clave pública (Utilizado por la Firma Digital)
La criptografía asimétrica usa dos claves, una para encriptar y otra para desencriptar, relacionadas matemáticamente de tal forma que los datos encriptados por una de las dos sólo pueden ser desencriptados por la otra. Cada usuario tiene dos claves, la pública y la privada, y distribuye la primera.
Estos algoritmos se pueden utilizar de dos formas, dependiendo de si la clave pública se emplea como clave de encriptación o de desencriptación.
En el primer caso (figura 3), cuando un usuario, A, quiere enviar información a otro usuario, B, utiliza la clave pública de B, KpuB, para encriptar los datos. El usuario B utilizará su clave privada (que sólo él conoce), KprB, para obtener el texto en claro a partir de la información (encriptada) recibida. Si otro usuario, C, quiere enviar información al usuario B, también empleará la clave pública KpuB. Este modo se puede emplear para proporcionar el servicio de confidencialidad, pues sólo el usuario B es capaz de descifrar los mensajes que los usuarios A y C le han enviado.
En el otro modo de operación (figura 4), es el usuario B quien encripta la información utilizando su clave privada, KprB, de forma que cualquiera que conozca KpuB podrá descifrar la información transmitida. Este modo se puede emplear para proporcionar el servicio de autenticación, ya que la obtención del texto en claro a partir del texto cifrado es una garantía de que el emisor del mensaje es el propietario de KpuB (lógicamente, para saber que el mensaje obtenido de la desencriptación del texto cifrado es el texto en claro original, éste se ha de obtener por otros medios para realizar la comparación). Esto es la base de las firmas digitales.
Desde el punto de vista de la confidencialidad, los algoritmos simétricos proporcionan una mayor seguridad que los simétricos a costa de una mayor carga computacional. Es por esta razón por lo que generalmente se emplea una combinación de ambos.
RSA (Rivest, Shamir y Adleman)
Este algoritmo RSA78 fue inventado por R. Rivest, A. Shamir y L. Adleman (de sus iniciales proviene el nombre del algoritmo) en el Massachusetts Institute of Technology (MIT).
RSA emplea las ventajas proporcionadas por las propiedades de los números primos cuando se aplican sobre ellos operaciones matemáticas basadas en la función módulo. En concreto, emplea la función exponencial discreta para cifrar y descifrar, y cuya inversa, el logaritmo discreto, el muy difícil de calcular.
Los cálculos matemáticos de este algoritmo emplean un número denominado el módulo público, n, que forma parte de la clave pública y que se obtiene a partir de la multiplicación de dos números primos, p y q, diferentes y grandes (del orden de 512 bits) y que forman parte de la clave privada. La gran propiedad de RSA es que, mientras que n es público, los valores de p y q se pueden mantener en secreto debido a la dificultad que entraña la factorización de un número grande.
La robustez del algoritmo se basa en la facilidad para encontrar dos números primos grandes frente a la enorme dificultad que presenta la factorización de su producto. Aunque el avance tecnológico hace que cada vez sea más rápido un posible ataque por fuerza bruta, el simple hecho de aumentar la longitud de las claves empleadas supone un incremento en la carga computacional lo suficientemente grande para que este tipo de ataque sea inviable. Sin embargo, se ha de notar que, aunque el hecho de aumentar la longitud de las claves RSA no supone ninguna dificultad tecnológica, las leyes de exportación de criptografía de EE.UU. imponen un límite a dicha longitud.
Posibles riesgos
Se han de asegurar los requisitos fundamentales (confidencialidad y autenticación) tanto en la transmisión de datos como en el almacenamiento de éstos.
Los peligros que se pueden presentar pueden ser debidos tanto a la actuación de atacantes como a fallos o mal uso de los sistemas telemáticos.
Los ataques se pueden dividir en dos categorías:
- Pasivos: el atacante o fisgón (eavesdropper) observa o escucha la información, pero no la manipula. En estos casos, no existen problemas de autenticidad.
- Activos: el atacante realiza algún tipo de modificación sobre la información transmitida. Estos ataques pueden ser de tres tipos básicos:
- Suplantación de identidad.
- Manipulación de la información.
- Reactuación: la grabación de una comunicación con el objetivo de repetirla posteriormente (a esto hace referencia el requisito de idempotencia).
En lo que hace referencia al almacenamiento de datos, los riesgos más destacables son:
- Búsqueda de información confidencial por parte de los usuarios que tienen acceso al sistema pero no poseen la autorización necesaria para observar dicha información.
- Manipulación (tampering) de la información.
- Suplantación (masquerading): un usuario se hace pasar por otro para obtener privilegios adicionales.
Gabriel Pineda
Página anterior | Volver al principio del trabajo | Página siguiente |