miércoles, 26 de septiembre de 2012

EL CÉLEBRE CÓDIGO ENIGMA


Aunque existieron al menos 2 dispositivos alemanes para codificación en clave durante la Segunda Guerra Mundial además de la Enigma, la enorme popularidad de esta máquina la han vuelto tema recurrente en los libros de historia en los que, en algunas ocasiones, se han distorsionado sus alcances y usos. Este es un intento por narrar, de la forma más objetiva posible, el funcionamiento y las características de la máquina codificadora más famosa de la Segunda Guerra Mundial.

Introducción

Los ingredientes principales para que Alemania se adueñara de Europa a fines de los 1930s estaban todos en su sitio: un ejército numeroso, bien motivado y bien entrenado; un ambicioso líder y un excelente plan de ataque.

Pero todo ejército requiere tener sistemas seguros de comunicación para que el enemigo no se entere de sus planes y estrategias, y los alemanes no podían ser la excepción. Para asegurar que sus mensajes interceptados no fueran descifrados, la milicia germana hizo uso de tres dispositivos distintos durante la Segunda Guerra Mundial:

·         La Fuerza Aérea y la Marina usaban una máquina llamada Enigma, fabricada por la compañía Heimsoeth & Rinke; además usaron la Geheimschreiber SFM T52, fabricada por las empresas Siemens y Halske [1].

·         El Ejército utilizaba, además de la T52, el denominado Schlüssel Zusätz (SZ), el cual se conectaba a sus máquinas de teletipo [1].

La Enigma se usaba para cifrar en clave el código Morse que se transmitía por radio y se aplicaba normalmente a los mensajes cotidianos del ejército. El SZ se usaba para enviar mensajes mediante teletipo a los diferentes cuarteles del ejército. La Geheimschreiber, por su parte, estaba reservada para los mensajes del alto mando, los cuales se transmitían normalmente por líneas especiales, lo que hacía más difícil su intersección.

En esta ocasión, hablaremos únicamente de la Enigma que, aunque era la más simple de las 3 máquinas criptográficas antes mencionadas, ha sido la más documentada y mitificada de todas en la literatura popular y especializada.

La Enigma

Resulta irónico que la máquina codificadora más famosa de la Alemania nazi haya sido inventada (en 1919) por un holandés: Hugo Alejandro Koch [2]. Koch vendió después su patente al ingeniero alemán Arthur Scherbius, quien, tras algunos cambios, intentó comercializarla en 1923, esperando que fuera utilizada por las empresas (por ejemplo, los bancos) para ocultar sus mensajes de la competencia. Sin embargo, hubo poco interés en el invento y Scherbius decidió entonces acudir al único lugar donde pensó que su máquina sería apreciada: el ejército alemán.

Aunque al principio el ejército no mostró mucho interés en la Enigma, tras una serie de mejoras efectuadas por Scherbius y el mismo personal de inteligencia alemana, acabaron por adoptarla en 1928.

La versión militar de la Enigma constaba de 5 componentes variables:

1. Un tablero de conexiones que podía contener de 0 a 13 cables duales (es decir, de 2 conectores).

2. Tres rotores secuenciales, ordenados de izquierda a derecha, que conectaban 26 puntos de entrada a 26 puntos de salida, colocados en caras opuestas de un disco.

3. Veintiséis incisiones en la periferia de los rotores, las cuales permitían al operador especificar su posición inicial.

4. Un anillo movible en cada uno de los rotores, el cual asociaba un número (del anillo) con una letra del rotor que tenía a su izquierda.

5. Un semirotor reflector (que realmente no se movía), que servía para asegurar que las entradas y salidas quedaran sobre los puntos de contacto adecuados.

El funcionamiento básico de la Enigma era realmente muy simple. Los rotores se encargaban de reemplazar una letra del mensaje por otra. Cada vez que se escribía una letra, el primer rotor giraba 1/26 de una revolución, de manera que la letra pudiera ser sustituida por otra, dependiendo de la posición inicial de la máquina y la forma en que los rotores estuvieran conectados. El segundo rotor sólo se movía cuando el primero hubiese rotado 26 veces y el tercero hacía lo propio cuando el segundo hubiese girado igual número de posiciones. Esto implicaba que la Enigma usaba un sistema polialfabético, porque la misma letra podía ser sustituida por varias letras distintas a lo largo de un mensaje. Por ejemplo, una 'A' podía ser codificada como una 'M' al principio de un mensaje y más adelante (en el mismo mensaje) ser codificada como una 'T'. De lo anterior, es fácilmente deducible que el ciclo de los rotores de la Enigma era de 26×26 ×26 = 17,576 posiciones [4].

Este número no era tan impresionante y resultaba relativamente fácil enumerar todos los alfabetos posibles que podía producir la máquina en un libro no muy grueso. Además, había ciertas características de la Enigma que facilitaban un poco la tarea de decodificación. Por ejemplo, las sustituciones que se realizaban eran tales que una letra nunca podía ser codificada consigo misma. Es decir, una 'A', nunca podía aparecer como 'A' en el mensaje en clave.

Dado que la forma de descifrar un mensaje era colocando los rotores y conectores en la misma posición inicial que había usado el que lo puso en clave, para decodificar un mensaje del que no se sabía esta información debía procederse por ensayo y error, desechando aquellas combinaciones que resultaran absurdas (esto es suponiendo obviamente que se contaba con una máquina similar a la que se usó para codificar el mensaje).

Claro que los alemanes sabían de las debilidades de la Enigma, y fue por eso que la complicaron más para usarla con fines militares. Primero, hicieron que los rotores no fueran fijos, sino que pudieran ser reemplazables. Hasta fines de 1938 sólo habían tres rotores extra, así que habían seis arreglos posibles que podían lograrse, con lo que las sustituciones posibles se elevaban a 6× 17,576 = 105,456 [4].

Los anillos movibles alrededor de los rotores también incrementaban la complejidad de la máquina. Su objetivo era asignar un número a cada posición del rotor (la cual a su vez correspondía a una letra), de manera que aunque se supiera cuál era la posición inicial de los rotores, el mensaje no podría descifrarse si no se conocía la posición física de los anillos. Claro que sí se podían deducir las posiciones relativas entre dos letras, lo cual resultaba de ayuda, pero este aditamento indudablemente hacía la tarea de decodificación más difícil.

Pero lo que realmente distinguía a la Enigma usada por el ejército de la versión comercial era el tablero de conexiones usado por la primera. Este tablero permitía realizar un par más de intercambios automáticos de letras, antes de introducir un carácter a los rotores, y después de su salida. Esto se lograba usando cables que se conectaban en los dos extremos de la máquina (a la entrada y salida de los rotores). Hasta fines de 1938, los alemanes conectaban normalmente sólo unos seis o siete pares de letras de esta manera, pero eso era suficiente para que hubieran 1,305,093,289,500 maneras distintas de conectar estos cables en el tablero, por cada uno de los 105,456 estados de los rotores .

Los alemanes confiaban en que la Enigma era suficientemente segura para enviar sus mensajes cotidianos que se transmitían por radio, usando código Morse. Estaban equivocados.

En julio de 1939 los servicios de inteligencia de Inglaterra y Francia fueron invitados por su símil de Polonia a una reunión ultra-secreta. Ahí los ingleses descubrieron con asombro que un grupo de criptógrafos polacos, encabezado por el matemático Marian Rejewski, había estado decodificando desde 1932 los mensajes secretos que los alemanes transmitían con la Enigma, cuya codificación en clave había resultado impenetrable para los ingleses.

Cuando los alemanes complicaron más el código de la Enigma en 1938, los polacos construyeron unas máquinas de relevadores llamadas "bombas", las cuales simulaban el movimiento de los rotores de la Enigma. En la reunión antes mencionada, los polacos decidieron compartir la información que tenían con Francia e Inglaterra, ante el inminente estallido de la guerra.

El equipo de criptógrafos británicos que trabajara en Bletchley Park pronto adoptó la máquina polaca, pero ante las posteriores complicaciones que los alemanes introdujeron a la Enigma en 1939, fue necesario perfeccionarla.

lunes, 24 de septiembre de 2012

SEGURIDAD INFORMÁTICA – TIPOS DE ATAQUES


Durante los últimos años han aparecido vulnerabilidades que de alguna u otra forma atacan o afectan a la red por lo cual hoy en día es muy importante garantizar la seguridad de la información pues no hay que olvidar que estas emplean para su correcto funcionamiento direcciones IP y direcciones MAC, éstas últimas se decía que nunca cambiaban pero ahora que hemos estado trabajando un poco más con ellas y  llevando a la práctica algunas de sus funcionalidades, nos damos cuenta que en realidad solo se trataba de un mito.

Dentro de las vulnerabilidades de las cuales ahora tengo un poco mas de conocimiento, destacan DNS (Redirección falsa), ARP (Dirección MAC), Ataques Hombres en Medio y Ataques por sustitución o engaño. Aunque realmente no terminamos de realizar prácticas con todas ellas, la que hasta ahora me ha llamado más la atención es Ataques Hombres en Medio pues lo que este hace es escuchar y grabar llamadas IP en redes mal configuradas, por lo que es importante tener mucho cuidado al introducir datos a una computadora que no nos pertenece ya que la mayoría de las veces no sabemos si este tipo de ataques nos lleguen sorpresivamente y sin darnos cuenta revelamos contraseñas a la maquina que posteriormente pueden ser utilizadas por otra persona.

La seguridad es un aspecto crítico a la hora de integrar servicios en una red IP, por ello debemos disponer de recursos y esfuerzo en garantizar, no sólo calidad de servicio, sino disponibilidad, confidencialidad e integridad de la información, ya que han quedado patentes las numerosas vulnerabilidades existentes en la actualidad en estos entornos.

Otro de los ataques que también me parece bastante interesante es el llamado DNS (Redirección falsa) pues se encarga de traducir los nombres (nombres de dominio) por su dirección IP correspondiente para luego establecer comunicación con el servidor original y de esta forma tener acceso a ciertas paginas o incluso leer documentos.

Considero que es muy importante conocer acerca de todas estas vulnerabilidades o ataques que se llevan a cabo en la capa 2 y 3 pues de esta manera estaremos preparados para cualquier contingencia o amenaza al presentarse alguno de estos ataques y seremos partícipes  y protagonistas al llevar soluciones a la práctica  que ayudaran a proteger mucho más la información principalmente, además de que nuestros equipos estarán mas protegidos y seguros.