Criptografía
La evolución de técnicas criptográficas permite, el hombre que haga más seguro las transacciones electrónicas, siendo la solución más indicada, hacer los problemas de garantizar la privacidad y protección de información, inclusive a través de autenticación de mensajes de la asignatura digital.
El estudio de Criptografía comienza por el método de sustitución simples que Julio César usaba para enviar mensajes a sus generales. Este método o alfabeto é dislocado de número posiciones da clave. Asimismo, para un mensaje ser "linda" Un sistema de César cuya clave sea, por ejemplo, 3 (tres), basta hacer el siguiente substitución:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
X Y Z A B C D E F G H I J K L M N O P Q R S T U V W
Que sea, una palabra simple como
"atacar ahora" seria codificada como "xqxzxo xdlox". Este sistema y otros de permutación, en que las letras son "embarulladas", llegan a ser que los infantes mas por mucho tiempo entendieran perfectamente un objetivo de "esconder" un mensaje.
SISTEMAS DE SUBSTITUCION POLI ALFABÉTICA
Por ejemplo, una clave poli alfabética de período tres va ha modificar las posiciones cero, tres, seis, etc de mensajes de acuerdo con el primer código, las posiciones en, cuatro, siete, etc, con un segundo código y las posiciones dos, cinco, ocho, etc con un tercero. Tómese una clave K={3,17,8}, tenemos:
K-1 (sistema de César 3):
K-2 (sistema de César 17):
K-3 (sistema de César 8):
En un mensaje que tenga un texto:
"invadir a media noche" será codificado como: "fwnxmao j ebrs kxaqn"E-mail :
ulucana@terra.com.pehttp://www.visto.com/j.html?g=16978319.KzNmTk1t&p=visto
TIPOS DE CRIPTOGRAFIA
1.1.- CRIPTOGRAFÍA SIMÉTRICA (CLAVE SECRETA)
Es el sistema de cifrado más antiguo y consiste en que tanto el emisor como el receptor encriptan y desencriptan la información con una misma clave k (clave secreta) que ambos comparten. El funcionamiento es muy sencillo: el emisor cifra el mensaje con la clave k y se lo envía al receptor. Este último, que conoce dicha clave, la utiliza para desencriptar la información.
Es importante considerar que para que el sistema sea razonablemente robusto contra ataques de tipo criptoanálisis, esta clave k ha de ser mayor de 40 bits, lo cual choca con las restricciones de exportación de tecnología criptográfica del gobierno americano, que marca los 40 bits como límite de clave para programas que utilicen este tipo de tecnología.
Algoritmos típicos que utilizan cifrado simétrico son DES, IDEA, RC5, etc, El criptosistema de clave secreta más utilizado es el Data Encryption Standard (DES) desarrollado por IBM y adoptado por las oficinas gubernamentales estadounidenses para protección de datos desde 1977.
Este sistema de cifrado tiene la ventaja de que es altamente eficiente, dado que los algoritmos utilizados son muy rápidos al poder implementarse tanto en hardware como en software de una forma fácil.
El mayor inconveniente de la criptografía simétrica es que esta clave k, al ser compartida, ha de ser comunicada de forma segura entre las dos partes de la comunicación (por teléfono, correo certificado, etc.), previamente a ésta. Si este secreto fuese enviado por un canal inseguro, como por ejemplo Internet, la seguridad del sistema sería bastante pobre, dado que cualquiera podría interceptarla y comprometer todo el sistema. También hay que tener en cuenta la frecuencia con la que esta clave debe ser renovada para evitar que sea desvelada.
Otro gran problema a tener en cuenta es el manejo de estas claves, ya que en una red de n usuarios, cada pareja necesita tener su clave secreta particular, lo que hace un total de n(n-1)/2 claves para esa red (es decir, combinaciones de n usuarios tomadas de 2 en 2); Esto supone unas cinco mil claves en una red de sólo cien usuarios, medio millón en una de mil, y varios billones en una red tan grande como el sistema de telefonía convencional de cualquier país desarrollado. Es económicamente inaceptable el que se puedan distribuir todas estas claves por anticipado, e indeseable el tener que posponer las comunicaciones seguras mientras las claves están siendo trasladadas de una a otra parte.
Veremos a continuación que ambos problemas son resueltos con la llegada de los criptosistemas de
clave pública o asimétrica.http://www.visto.com/j.html?g=16978319.KzNmTk1t&p=visto
1.2.- CRIPTOGRAFÍA ASIMÉTRICA (CLAVE PÚBLICA)
En 1976 Diffie y Hellman describieron el primer criptosistema de clave pública conocido como el cambio de clave Diffie-Hellman. Estos criptosistemas están basados en propiedades matemáticas de los números primos, que permite que cada interlocutor tenga una pareja de claves propias. De esta pareja de claves, una se denomina privada o secreta y la otra, pública. La clave privada no se transmite nunca y se mantiene secreta. La clave pública, por el contrario, se puede y se debe poner a disposición de cualquiera, dado que es imposible deducir la clave privada a partir de la pública.
La propiedad fundamental de esta pareja de claves es que lo que se cifra con una de estas claves, se descifra con la otra. Esta potente característica asimétrica es la que permite a esta tecnología servir de base el diseño de sistemas de comunicación segura.
Para que este sistema sea lo suficientemente robusto contra ataques de criptoanálisis, las claves han de ser de una longitud mínima de 1024 bits, siendo recomendable, en los casos que sea posible, utilizar claves de 2048 bits. De nuevo nos encontramos con el límite de 512 bits impuestos por la legislación americana para la exportación de software criptográfico.
El más extendido de los sistemas de clave pública fue desarrollado por Rivest, Shamir y Adleman en el MIT en 1977 y se conoce como criptosistema RSA. Este algortimo es reversible, es decir, además de permitir cifrar con la clave pública y descifrar con la privada, permite cifrar con la clave privada y descifrar con la pública. Este modo de cifrado no proporciona confidencialidad ya que cualquiera puede descifrar un mensaje cifrado con una clave secreta al poder obtener siempre la componente pública de su interlocutor, sin embargo el hecho de cifrar un mensaje con la clave secreta de un usuario implica una identificación del usuario al igual que lo hace una firma, por lo que este proceso se conoce con el nombre de firma digital.
La principal ventaja de este tipo de criptosistemas es que la clave secreta ya no tiene que transmitirse entre los interlocutores y tampoco es necesario tener claves diferentes para cada pareja de interlocutores, es suficiente con que cada usuario tenga su clave doble con componente pública y privada. Por lo tanto el número total de claves asimértricas en una red se reduce a 2n, esto supone ahora sólo 200 claves en una red de cien usuarios, 2000 en una de mil, y varios miles en una red tan grande como el sistema de telefonía convencional de cualquier país desarrollado.
Cualquier intruso que intercepte la transmisión de un mensaje encriptado con la clave pública no podrá descifrar el contenido de la misma al no poseer la clave privada del receptor, por lo que no supone ningún peligro el enviar dicha clave por un canal inseguro (aunque esto no es del todo cierto, ya que como veremos más tarde el
ataque "man-in-the-middle" atenta contra la integridad de la clave pública)Una funcionalidad que se basa en este tipo de cifrado es la posibilidad de incluir una firma digital en los mensajes, como vimos anteriormente con el RSA.
Estos algoritmos tienen la desventaja de que no son tan eficientes a nivel de velocidad como pueden ser los basados en criptografía simétrica (y resultan inviables en transmisiones de cantidades de datos considerables), aunque el mayor inconveniete que tienen se refiere a la autenticidad de las claves públicas, es decir, ¿quién nos garantiza que la clave pública de un interlocutor, que se obtiene libremente en la red, es realmente de él?. ¿Qué ocurriría si alguien nos envía su clave pública afirmando ser alguien que realmente no es? . Este último problema es resuelto mediante las Autoridades de Certificación (CA "Certification Authority"), que emiten certificados de las claves públicas de los usuarios firmando con su clave secreta un documento, válido por un período determinado de tiempo, que asocia el nombre distintivo de un usuario con su clave-pública.
1.3.- ATAQUE MAN-IN-THE-MIDDLE
Este tipo de ataques lo llevan a cabo atacantes activos (Mallory en nuestro ejemplo) contra los criptosistemas de clave pública. Un atacante activo es aquel que intenta alterar el protocolo para su beneficio (en oposición del atacante pasivo, cuyo ataque no afecta al protocolo): puede suplantar a otra persona, incluir nuevos mensajes, borrar mensajes, sustituir un mensaje por otro, interrumpir el canal de comunicaciones o incluso alterar información almacenada en un computador.
Por estar ante un sistema de
clave pública, la clave pública de cada individuo es conocida por cualquier persona ya que cualquiera tiene acceso a la misma. Por lo tanto en principio no parece que entrañe ningún peligro el enviar por un canal inseguro dicha clave a la persona con la que nos queremos comunicar. Pero existe un gran problema si alguien intercepta esta clave pública y la sustituye por la suya, y es esta la filosofía de este ataque. Veamos cómo funciona el mismo:1) Supongamos que Alice y Bob quieren comunicarse de una forma segura, por lo que han de conocer las claves públicas del otro: para ello Alice manda a Bob su clave pública por un canal inseguro. Mallory, que es un atacante activo y por lo tanto intenta alterar el protocolo para su beneficio, intercepta esta clave y la sustituye por su propia clave pública.
2) Bob recibe la supuesta clave pública de Alice (que realmente es la de Mallory, pero el no lo sabe) y ahora envía la suya a ésta. Mallory de nuevo vuelve a interceptar esta clave y la vuelve a sustituir por la suya propia.
3) Cuando Alice quiere enviar a Bob un mensaje (en nuestro caso sería la clave de sesión), ésta usa la clave pública de este para encriptarlo (aunque realmente dicha clave no sea la auténtica). Ahora envía el mensaje y Mallory lo intercepta. Como este mensaje está realmente encriptado con su propia clave pública(la de Mallory), lo desencripta con su clave privada, lo reencripta con la clave pública de Bob y se lo envía.
4) Cuando Bob quiere enviar a Alice un mensaje, éste usa la clave pública de esta para encriptarlo (aunque realmente dicha clave no sea la auténtica). Ahora envía el mensaje y Mallory lo intercepta. Como este mensaje está realmente encriptado con su propia clave pública(la de Mallory), lo desencripta con su clave privada, lo reencripta con la clave pública de Alice y se lo envía.
5) El resultado es que tanto Bob como Alice piensan que su transmisión es segura y no sospechan que Mallory es capaz de leer todos los mensajes que se están enviando.
Este ejemplo puede verse cómo el de dos personas que se envían cartas certificadas entre ellos y existe un intruso (el cartero en este caso) el cual las abre, las lee y las vuelve a enviar a su destinatario mediante el mismo certificado (ya que él tiene acceso a los mismos).
Hemos supuesto que Bob envía a Alice su clave pública y viceversa, aunque también es frecuente acceder a una base de datos en donde esten dichas claves públicas. Aún cuando las claves públicas de Alice y Bob estén almacenadas en una base de datos este ataque funcionará, ya que Mallory puede interceptar la base de datos de Alice y sustituir su propia clave pública por la de Bob. Puede hacer lo mismo con Bob y sustituir su clave pública (la de Mallory) por la de Alice. O incluso puede sustituir su clave tanto por la de Alice como por la de Bob. Con ello sólo tiene que esperar a que Alice y Bob se comuniquen entre ellos, ya que sólo ha de interceptar el mensaje y entonces podrá leerlo.
Este ataque funciona porque Alice y Bob no tienen forma de verificar que están hablando entre ellos y no se dan cuenta de que Mallory está interceptando su supuesta comunicación secreta (para ello suponemos que la interceptación de los mensajes por parte de Mallory no supone ningún retraso en la recepción de los mensajes, ya que si así fuera se podría "sospechar" algo).
Para evitar este tipo de ataques podemos usar técnicas como la firma digital o el
protocolo Interlock. Como del primero ya lo ha explicado otro grupo, nos centraremos en el segundo.
1.7.- PROTOCOLO INTERLOCK
Este protocolo fue inventado por Ron Rivest y Adi Shamir y evita el ataque man-in-the-middle. Su funcionamiento es muy simple ya que se basa fundamentalmente en no enviar el mensaje completo, sino fraccionado. Veamos su cómo funciona:
1) Alice envía a Bob su clave pública.
2) Bob envía a Alice su clave pública también. Ahora ambos poseen la clave pública de cada uno y pueden comenzar a comunicarse mediante algún criptosistema de clave pública.
3) Alice quiere enviar un mensaje a Bob y para ello encripta el mismo usando la clave pública de este. Hasta aquí es el funcionamiento normal de un criptosistema de clave pública. Lo novedoso viene ahora ya que Alice no envía a Bob la totalidad del mensaje encriptado sino la mitad del mismo.
4) Ahora Bob encripta su mensaje usando la clave pública de Alice (suponemos que la comunicación es hacia ambos lados). Del mismo modo que antes, sólo envía la mitad del mensaje a Alice
5) Alice envía a Bob la otra parte de su mensaje encriptado.
6) Bob tiene ahora las dos partes del mensaje de Alice juntas, con lo que puede desencriptarlo con su clave privada. Ahora envía la otra mitad de su mensaje encriptado a Alice.
Lo importante aquí es que una mitad del mensaje es inservible si no se tiene la otra, ya que de esta forma no puede ser desencriptado. Bob no puede leer el mensaje de Alice hasta el paso 6, y Alice no puede leer el mensaje de Bob hasta el paso (7). Pero ¿y si Mallory vuelve a sustituir las claves privadas de Bob y Alice en los pasos (1) y (2) usando un ataque Man-in-the-middle? Veamos qué ocurre: Supongamos que Mallory logra sustituir su clave pública (de la forma vista en el punto anterior) por la de Alice y Bob en los pasos (1) y (2). Pero ahora, cuando intercepte la mitad del mensaje de Alice en el paso (3), no podrá desencriptarlo con su clave privada y volver a encriptarlo (reencriptarlo) con la clave pública de Bob. Debe inventarse un mensaje totalmente nuevo y enviarle la mitad del mismo a Bob. Cuando intercepte la mitad del mensaje que Bob envía a Alice en el paso (4) se encontrará con el mismo problema: No puede desencriptarlo con su clave privada y reencriptarlo con la clave pública de Alice. Cuando intercepte las segundas partes de los mensajes en los pasos (5) y (6), será muy tarde para cambiar el mensaje que se inventó.
Aún así Mallory puede pasar desapercibido al realizar este ataque si conoce lo suficientemente bien a Alice y Bob como para imitar ambas partes de la conversación entre ellos, pero esto es ya mucho suponer.
Como hemos visto este protocolo evita el
ataque man-in-the-middle, con lo que fácilmente puede ser usado para el intercambio de las claves de sesión, es decir, siguiendo el esquema anterior el mensaje que se envíe será la clave de sesión.
ALGORITMO DE CIFRA DE BLOQUE - DE DATAINCRIPTACION
-UNIVERSIDAD ANDINA NESTOR CACERES VEL
ÁSQUEZ - JULIACA - PERU.Departamento de Soporte Inform
ático. Telf. 054 - 630321.lucana@correoweb.com
Por:
Ulises Lucana Mamani.INGENIERIA DE SISTEMAS