Boletín ENIGMA - nº 42

1 Abril 2006

 


Boletín del Taller de Criptografía de Arturo Quirantes Sierra


Dirección original: http://www.cripto.es/enigma/boletin_enigma_42.htm


EDITORIAL

TEMAS DE ACTUALIDAD - Tarjetas de débito: un fraude masivo

CRIPTOGRAFÍA HISTÓRICA - Rompiendo códigos Enigma ... hoy

LIBERTAD VIGILADA - Los "ojos y oídos" de Norteamérica

 


 

 EDITORIAL

 

Con la excepción de la telefonía móvil, la industria de tarjetas bancarias (débito y crédito) constituye la aplicación a más grande escala de la criptografía en el ámbito personal. Hoy día "tiramos de tarjeta" para pagar desde la gasolina del coche hasta las lechugas del supermercado. En la trastienda, un entramado de protocolos criptográficos garantizan la seguridad de las transacciones. Al menos, claro, en teoría.

Estamos más o menos al tanto de los riesgos asociados a un hurto o mal uso de una tarjeta, y por eso tomamos nuestras precauciones: no las perdemos de vista, memorizamos el PIN en lugar de escribirlo, no sacamos dinero si hay alguien obsevando detrás de nosotros, etc. Pero ¿qué pasa si los atacantes escogen los propios entresijos del sistema para hacer de las suyas? De repente, las tarjetas amenazadas pueden contarse por millones. Este mes hemos visto un ejemplo, con la novedad añadida de que no se trataba de tarjetas de crédito, sino de débito. Pasen y asústense.

En otro orden de cosas, nuestra máquina de cifra favorita sigue dando que hablar. Recientemente ha sido noticia un ataque contra mensajes cifrados con Enigma. Un ataque "legal", claro, que involucra miles de ordenadores en modo de computación distribuida. El interés que se ha despertado sobrepasa con mucho el "valor" de la información descifrada, y ha sido reseñada en todo tipo de medios de comunicación, desde Kriptópolis y The Register hasta "La Aventura de la Historia" (acabo de leerlo en el ejemplar de abril). Aquí podrá ver cómo incluso en nuestros días descifrar un mensaje de Enigma implica una tarea ardua.

!Ah!, y un aviso de última hora. Hace unos días una máquina Enigma ha salido a la venta en eBay. Puede optar a la puja, o sencillamente echar un vistazo a algunas fotos, en la dirección
http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&item=6265092168. Se trata del modelo clásico militar, de tres rotores con tablero de conexión. Dése prisa, porque la puja ese cierra próximo lunes 3 de Abril a las 21:00, hora española (19:00 horas GMT). En el momento de cerrar esta edición, el mejor postor ofrece 27.050 euros (unos 32.800 dólares USA). Si algún lector tiene ganas de verla lucir en su escritorio, todavía está a tiempo. Le deseo suerte.

 


 

  TEMAS DE ACTUALIDAD - Tarjetas de débito: un fraude masivo

 

Se supone que nuestras tarjetas bancarias están protegidas mediante un número secreto (PIN). Se supone que nadie que nos robe la tarjeta podrá usarla sin nuestro PIN. Sin embargo, se siguen robando tarjetas y los ladrones siguen usándolas para comprar a nuestra cuenta. Las empresas que emiten dichas tarjetas no nos dicen cómo, pero al menos nos protegen contra dichos hurtos por encima de cierta cantidad. Pero ¿qué pasa si los ladrones atacan las tarjetas de débito?

En el Boletín ENIGMA nº 12 ("El PIN y el ataque de decimalización") aparecen algunos detalles, pero vamos a ampliar los primeros pasos. Vamos a ver. Tenemos una tarjeta con una banda magnética, que en principio nos permite sacar dinero del cajero. La banda debe tener información sobre nuestro número de cuenta y PIN, pero este último no debe estar "en claro". Evidentemente, habrá que cifrarlo. Pero ¿cómo se hace esto de forma segura?

Existen diversas variantes, pero el mecanismo básico es el siguiente. El cajero automático guarda en sus tripas una clave secreta, que denominaremos K. Cuando metemos nuestra tarjeta, el cajero cifra nuestro número de cuenta (NC) con el algoritmo DES, usando K como la clave. Es decir: hacemos DES(NC,K). El resultado es una cadena de 64 bits que pasamos a formato hexadecimal, digamos: A2CE126C69AEC82D. A continuación, pasamos el resultado a formato decimal mediante el proceso de "decimalización" que consiste en sustituir los dígitos A,B,C,D,E,F por 0,1,2,3,4,5 respectivamente, y dejar intactos los demás. Tomamos los cuatro primeros dígitos, y ya tenemos nuestro PIN. El proceso sería:

        Nº cuenta:        8807012345691715
        Clave K:          1E8A963BD167845A
        Resultado:        A2CE126C69AEC82D
        Paso a decimal    0224126269042823
        PIN:              0224

El resultado (0224) es el PIN que nos envía el banco cuando nos da la tarjeta. Por supuesto, siempre nos dicen que es mejor cambiarlo, y hemos de tener la posibilidad de cambiarlo siempre que queramos. En realidad, lo que hacemos es añadir un número de cuatro dígitos ("offset"), de forma que PIN original + offset = PIN del cliente. Si yo quiero, digamos, tener un PIN igual a 8002, el offset será 7778. De modo que yo si quiero sacar pasta del cajero, le tengo que introducir la tarjeta y un PIN igual a 8002; de otro modo, no hay un duro.

Existen muchas formas de llevar a cabo un fraude. Una de las más usadas en la actualidad consiste en "trucar" el cajero. Los defraudadores instalan un lector especial de tarjetas que copia los datos de la tarjeta magnética; al mismo tiempo, una minicámara oculta graba los dedos del usuario al teclear el PIN. El cajero "avisa" de que no hay conexión, el usuario se va ... y los amigos de lo ajeno ya tienen copia de la banda magnética y del PIN. En cierta ocasión, el proceso de copiado lo hacía un ordenador portátil instalado en el cajero por un empleado de mantenimiento. En cierto banco, el cajero estaba configurado de tal forma que, cuando se introducía una tarjeta telefónica, creía que se trataba de la tarjeta de débito introducida anteriormente. Así que el ladrón se pone en cola, mira por encima del hombro del señor que tiene delante en la cola (para obtener su PIN), luego inserta una tarjeta de teléfonos, y a ponerse las botas se ha dicho. En otras ocasiones, el PIN se obtiene así y el número de cuanta se saca del recibo que imprime el cajero, recibo que mucha gente se limita a tirar a la papelera más cercana.

Uno de los ataques más divertidos que he leído se basaba en un sistema de prueba del propio cajero: cuando se introducía una secuencia de catorce dígitos, el cajero escupía diez billetes. El problema es que un banco no tuvo mejor ocurrencia que imprimir dicha secuencia en un manual de uso para empleados, de modo que se fue corriendo la voz. Ya pueden ustedes imaginarse el resultado. Hay ladrones que llegaron a montar un cajero automático falso en un centro comercial: copiaba las bandas magnéticas y el PIN, largaba a los clientes con el "no hay fondos, lo sentimos", y al final del día llegaban los pillos y se llevaban el botín en forma de información.

Algunas veces, la propia torpeza de los bancos creaba agujeros de seguridad. El usar un PIN de cuatro cifras permitía que la probabilidad de conseguir acceder al sistema de forma no autorizada fuese de una entre 10.000. Cierto banco emitía números PIN del tipo ABCD, pero con la condición de que A+D=B+C, lo que reducía la cantidad de números PIN posibles. Otro banco recomendó a sus clientes "recifrar" su PIN de una forma curiosa. Supongamos que el PIN es 2256. Escoja una palabra de cuatro letras ("azul"), y ponga dichas letras en una tarjeta de papel o cartón que forme una rejilla, de forma que estén en la columna indicada por los números del PIN. Es decir, ponemos "a" en la columna segunda, "z" en la misma columna, "u" en la columna 5ª y "l" en la sexta, tal que así:

           
1 2 3 4 5 6 7 8 9 0
       a
       z
             u
               l


A continuación, llenamos los demás espacios con letras al azar. Sólo el usuario legítimo, que conoce la palabra clave, puede reconstruir el PIN; si un ladrón nos roba la tarjetita en la que la hemos escrito, sólo encontrará un batiburrillo ininteligible. Ingenioso, ¿no? El problema es ... que no hay tantas palabras de cuatro letras. Un ladrón ingeniso podría probar a construir palabras con letras tomadas de las cuatro filas, como si estuviese jugando al Master Mind, e ir probando posibles claves.

Podríamos seguir poniendo ejemplos, pero no estamos aquí para eso. Estos son casos de errores humanos, ataques invididuales y cosas así. Lo importante aquí es que la seguridad criptográfica subyace en el hecho de que el cajero cifra nuestro número de cuenta con la clave K, usando el algoritmo DES. Mantener el PIN secreto por nuestro lado es tan importante como mantener secreto K por el otro.

La forma en que la clave K se genera y distribuye a un cajero particular es bastante compleja. Depende del banco, del cajero, de la zona geográfica, y de varias variables más. En un caso sencillo, el responsable central del banco envía una "clave de sesión" a una sucursal bancaria, en forma impresa y dividida en dos partes, que se confían a dos mensajeros distintos. En la sucursal, los mensajeros reconstruyen la clave. El banco central envía entonces la clave K del cajero, cifrada con la clave de sesión; la sucursal descifra el mensaje y consigue K.

Esto parece fácil, pero imaginen la cantidad de mensajeros que habría que enviar por todo el país (!o el mundo, si el banco es internacional!), con el objeto de ir actualizando las claves K de cada cajero. Una solución es hacer que diversas sucursales bancarias compartan una clave de sesión (que denominaremos "clave de zona"). Crear claves de zona disminuye la presión sobre los sistemas de intercambio de claves, pero aumenta el valor potencial de una ruptura. Si un ladrón obtuviese una copia de la clave del cajero K, podría en principio obtener toda la información de las tarjetas introducidas en dicho cajero (números de cuenta y PIN), al menos hasta que dicha clave K sea cambiada. Pero obtener la clave de zona nos daría acceso potencial a la información de todas las tarjetas introducidas en TODOS LOS CAJEROS DE LA ZONA.

Es decir, el valor de la clave de zona es muy superior al de la clave K del cajero, del mismo modo que una llave maestra del edificio es mucho más útil que la llave del trastero del 5º C. Y para empeorar las cosas, la red incluirá no solamente bancos (que se supone saben de seguridad) ubicados en sucursales bancarias, sino también comercios que acepten tarjetas de débito con introducción de PIN.

(El lector interesado en ampliar información puede leer el artículo de Ross Anderson "Why cryptosystems fail", en el que me he basado: http://www.cl.cam.ac.uk/ftp/users/rja14/wcf.pdf)

Y ahora, el motivo por el que estamos hablando de las tarjetas de débito. Hasta ahora, la preocupación estaba en el fraude en tarjetas de crédito. La motivación era que los daños potenciales eran mayores, ya que pueden gastar lo que tenemos y lo que no. Por ese motivo, los bancos han invertido mucho esfuerzo en limitar la cantidad del fraude, de forma que un cliente no se quede entrampado por algo que no ha comprado. En caso de fraude, el banco prefiere aceptar las pérdidas a perder credibilidad y clientes. Esto presupune, claro, que el fraude se hace tarjeta a tarjeta. Pero ¿y si los defraudadores consiguiesen atacar tarjetas en grandes números, en lugar de una a una?

A lo largo de Marzo de 2006 ha habido un fraude masivo en tarjetas de débito. Y al decir "masivo" me refiero a centenares de miles de tarjetas, tal vez millones. Un grupo de ladrones ha logrado irrumpir en el sistema, y usando la información para retirar fondos en cualquier lugar del mundo. A menudo, la primera indicación que tiene el usuario legítimo de que algo va mal es un extracto bancario en el que aparecen retiradas de fondos en países que ni siquiera sabía dónde están.

Según parece -la cosa no está aún muy clara-, los ladrones obtuvieron la información de las cuentas corrientes por medio de una "tercera empresa", esto es, alguien que recibe dicha información. Puede ser una empresa que externaliza tareas del banco (como hacer agregación o "minería" de datos, buzoneo masivo, campañas de publicidad, promociones nuevas, etc). También puede ser una de esas empresas a las que el banco cede nuestros datos por diversos motivos, si nosotros no hemos dicho que no. Tomen su contrato bancario, o de tarjeta, y vean a cuánta gente le pueden ceder sus datos. De hecho, párese a pensar cuánta gente conoce su número de cuenta, desde Telefónica a el Corte Inglés, su operador de ADSL, el club Repsol, la tarjeta de Alcampo, la domiciliación de impuestos municipales ... la lista es casi infinita. En algunos casos, las empresas ceden (vamos, que venden al mejor postor) dicha información, pero en otros casos ha habido robos o pérdidas masivas de datos en diversas empresas. Al menos, se conocen varios casos en EEUU; en nuestro país, o no sucede, o no nos lo dicen.

Las noticias que se conocen de momento, como digo, son confusas. Se barajan cifras de al menos 200.000 tarjetas afectadas por esta brecha en la seguridad, y eso sólo contando clientes del Bank of America. Otros bancos afectados incluyen Washington Mutual y Wells Fargo (sí, la de las diligencias que siempre asaltan en las películas del Oeste). Se ha informado de transacciones fraudulentas realizadas en Inglaterra, Francia, Rusia, China ... y sí, España. Si hay algún lector de este Boletín afectado por dicho fraude, o si conoce de algún caso (especialmente en España), me gustaría conocer más detalles, de forma anónima por supuesto.


Citibank también fue afectado, y de forma tan grave que se vio obligado a bloquear temporalmente todas las transacciones basadas en PIN de clientes en Canadá, Rusia y el Reino Unido. Varias personas han sido detenidas en EEUU con relación a este fraude. Respecto al origen de la fuga, se sospecha que el robo de información se cometió en la empresa de suministros de material de oficina OfficeMax (ellos, de momento, lo niegan). Pero el problema fundamental es: aún cuando los ladrones hayan conseguido echar mano a un listado de números de cuenta, ¿cómo han conseguido todos esos cientos de miles de números PIN? ¿Han accedido a alguna clave de zona, robando así PINes a montones?

Aún no se sabe, pero parece que la respuesta es no. Aunque las hipótesis que circulan de momento no son nada alentadoras. Se cree que los datos de PIN fueron robados en masa junto con la información de números de cuenta. Al parecer, muchas tiendas que usan el sistema de tarjeta con PIN para cobros guardan una copia del PIN. Se supone que no debería quedar rastro del PIN una vez la transacción ha finalizado, pero no siempre es así. En ocasiones, el vendedor guarda dichos PIN cifrados en bloque, es decir, formando un archivo único y cifrado. La clave para cifrar dicho bloque suele guardarse en la misma red, de modo que un asaltante electrónico no tiene más que tomar el bloque de números PIN, la clave para descifrarlos y ya está. Y lo peor es que lo mismo el propio vendedor ignora lo que está sucediendo en el sistema.

Resulta irónico que la introducción del PIN en el tarjetero de un restaurante, lejos de ser un elemento de seguridad, pueda estar contribuyendo a aumentar la vulnerabilidad del sistema. Por de pronto, sugiero no pagar con tarjeta en situaciones en las que hay que teclear el PIN. Respecto a los cajeros, los bancos han ido aprendiendo sobre la marcha y resultan mucho más seguros, pero sigue siendo prudente usar la sensatez: mirar atentamente en busca de cámaras oculta cerca del teclado, o de alteraciones en el lector de tarjetas, no teclear el PIN si hay alguien cerca mirando, no dejarse el recibo del cajero, etc.

Y, por supuesto, prepararse para lo que viene. Tarde o temprano, los amigos de lo ajeno aprenderán cómo interceptar las claves K de los cajeros, o aún mejor, las claves de zona. O diseñarán "DES-crackers" para obtener la clave correcta mediante fuerza bruta. Mientras tanto, las redes bancarias siguen usando DES de forma masiva, y se toman su tiempo para fortalecer la seguridad de las tarjetas. Recuerdo haber asistido como ponente en una conferencia sobre seguridad informática en junio de 2002. Allí, el director de I+D de un gran banco español (no diré cuál) nos explicó con todo lujo de detalles la implantación de nuevas tarjetas con chip incorporado, mecanismos de seguridad novedosos y sistemas biométricos de autenticación, incluso algunos basados en el reconocimiento de voz. Fue lo bastante honrado para reconocer que no los fabricaban de forma masiva por motivos económicos, pero que en un par de años irán sustituyendo las tarjetas actuales. Cuatro años después, sigo esperando ver las nuevas tarjetas.

Mala forma de proteger su dinero. Corrijo. Nuestro dinero.

 


 

 CRIPTOGRAFÍA HISTÓRICA - Rompiendo códigos Enigma ... hoy

 

Todos los lectores del Boletín ENIGMA sabrán de los esfuerzos aliados por reventar los códigos Enigma alemanes. Hemos descrito la máquina, algunos de los ataques contra ellas y unos pocos ejemplos de lo que significó en el campo de batalla. Por supuesto, tras la Segunda Guerra Mundial el uso de la máquina Enigma se limitó a algunos países del Tercer Mundo (incluida, ejem, España en aquella época). La lógica nos haría suponer que todos los mensajes Enigma fueron ya descifrados hace décadas.

!Pues resulta que no! Hay mensajes Enigma que, incluso hoy, permanecen sin descifrar. Y los potentes medios informáticos modernos se las ven y se las desean contra ellos. ¿Cómo es eso posible?

Para explicar esto, hemos de razonar un poco. En primer lugar, aunque parezca de perogrullo, es evidente que los mensajes de la Enigma alemana dejaron de tener interés al acabar la guerra. Algunos mensajes relativos a temas estratégicos (alianzas, solución final de los judíos, despliegues de tropas o naves) podrían todavía tener un cierto interés, y seguro que esos ya fueron descifrados hace tiempo.

De hecho, buena parte de los archivos alemanes fue destruido durante la guerra, bien por los aliados, bien por las propias autoridades germanas, lo que hace difícil obtener las claves de los mensajes. Pero si se tiene acceso al resto de los mensajes, no tiene mucho interés descifrar transmisiones. No podemos menos que imaginarnos la cantidad de documentación que los aliados capturaron tras el término de la guerra. De modo que, si tenemos el cuaderno de bitácora del capitán del submarino, o el diario de operaciones de la división ¿a qué preocuparse de lo que dijera este o aquél mensaje cifrado? Una vez acabada la guerra , también se acabó la urgencia por descifrar mensajes.

De forma que, si luego aparecen más mensajes Enigma por descifrar, tendrán un interés histórico más que militar o político. Es ahí donde entran los historiadores y los aficionados al tema. Yo mismo tengo mensajes de hace cuatro siglos, algunos de ellos cifrados. La mayoría son legibles, bien porque se tenga a mano una copia del mismo texto en claro, bien porque las cifras hayan sobrevivido. En algunos casos me encuentro con un mensaje cifrado ilegible; pero estoy seguro que un criptoanalista competente se lo comería con patatas en pocos minutos.

Sin embargo, la Enigma es una patata muy dura. La versión militar disponía de un tablero de conexiones que dificultaba enormemente los esfuerzos de los atacantes. En el caso de la Enigma naval, la situación era aún peor. A pesar de todo, los aliados pudieron con casi todas ellas, usando máquinas muy inferiores al ordenador con el que estoy escribiendo estas palabras. Pero los aliados se aprovechaban de "chuletas", es decir, suponían una cierta forma para el texto llano y, a partir de ahí, iban probando. Para conocer, o al menos intuir, dichas chuletas, contaban con el conocimiento de meses o años escudriñando al enemigo. Un operador que descifrase las claves de la misma unidad alemana durante años podría llegar a "olerse" el tipo de mensaje, la clave usada, los fallos del cifrador, etc.

Todo eso ha desaparecido hoy. No existen "bombas" capaces de procesar mensajes Enigma a partir de una suposición y lograr una solución (bueno, sí hay algunas bombas todavía, !pero están en museos!). La gente que las usaba están muertos o en jubilación. Las décadas que nos separan de ellos nos han privado de los medios que usaron para hacer su trabajo.

De acuerdo, entonces probemos con la fuerza bruta. Tenemos ordenadores de potencia inusitada, así que simulemos una Enigma y probemos todas las posibilidades. Por supuesto, nuestros ordenadores modernos son incomparablemente más rápidos y potentes que los cachivaches de los años 40, así que no deberíamos tener problemas. Claro que, antes, sería mejor hacer algunos números.

Para ello, imaginen que estamos tratando la Enigma del ejército. En principio, podríamos probar todas las posibles combinaciones de rotores, sus diferentes orientaciones y las de los anillos. Podemos escoger tres rotores de entre cinco, lo que nos da 60 posibilidades diferentes. Para cada una de ellas, habría que probar cada una de las 26 formas diferentes de ajustar cada rotor y cada anillo (que recubre el rotor y nos indica cuándo va a girar). Es decir: 60 elecciones de los rotores, multiplicado por 26*26*26 orientaciones de los rotores y por otras 26*26*26 orientaciones de los anillos. Eso nos da un número enorme de combinaciones: 18.534.946.560

Y aún nos faltan los conectores del tablero (usados para intercambiar letras a pares justo antes y después de pasar por los rotores). Si conectamos diez pares de letras entre sí, el número de posibilidades es de 150.738.274.937.250 (ver "Criptoanálisis de Enigma II", en el Boletín ENIGMA nº 9).

Multipliquemos ambas cifras, y he aquí el total de combinaciones que hemos de probar:

2.793.925.870.508.516.103.360.000

Esto es como romper una clave simétrica de 81 bits, o por decirlo de otro modo !es 40.000.000 veces más difícil que reventar una clave DES!

¿Se nos va pasando ya la arrogancia?

En efecto, incluso en nuestros días, resolver un mensaje cifrado con la máquina Enigma es todo un reto. Y, por supuesto, los de la Enigma naval son mucho más difíciles. Sin embargo, como en los buenos tiempos de Bletchley Park, el camino hacia la victoria es una combinación de potencia de cálculo e ingenio. Mente y máquina. Bien, vamos a ponernos manos a la obra.

El procedimiento a seguir consiste en ir probando diversas combinaciones de posición y orientación de rotores, orientación de anillos y conectores, pero no hacerlo a lo loco. Sería algo así como buscar una montaña sin dejar de mirar el suelo. El procedimiento de "fuerza bruta" consistiría en ir probando todos los puntos de la región, medir su altura y ver en qué punto estamos más alto. Por contra, un mecanismo más eficaz sería ir moviéndose en la dirección en que el nivel del suelo suba; si en un camino determinado vemos que bajamos, entonces damos la vuelta y probamos por otro lado. Es decir, las diversas disposiciones ("settings") de la máquina la vamos escogiendo en función de un parámetro que nos indique hasta qué punto nos vamos acercando al objetivo.

El objetivo, por supuesto, es conseguir un texto llano en alemán. Y el parámetro que nos indicará si vamos bien o mal es el denominado Índice de Coincidencia (IC). Para explicarlo sin extendernos demasiado, el IC nos indica si un texto está formado por caracteres aleatorios o si, por el contrario, está estructurado de alguna forma. Cualquier lenguaje tiene estructura y unas reglas que seguir (p ej: en español la Q es seguida siempre por la U, y después viene una vocal; hay más sílabas ES que EN; la E es más frecuente que la I, etc).

Para cuantificarlo se hace lo siguiente: sea f(A) el número de veces que aparece la letra A en un texto (llano, cifrado o del tipo que sea); f(B) el número de veces que aparece la letra B, y así sucesivamente; y sea N el número de letras. Se define el IC como:

        IC = [f(A)*(f(A)-1) + f(B)*(f(B)-1) ... - f(Z)*(f(Z)-1)]/[N*(N-1)]

Recomiendo el Boletín ENIGMA nº 32 para los lectores que deseen más información acerca del IC. El IC tiene un valor de 0.0775 para el idioma español (0.0762 para el alemán), en tanto que un texto aleatorio tiene un IC de 0.0385 (para un alfabeto de 26 letras).

Uno de los trabajos pioneros en la aplicación del IC al desciframiento de mensajes Enigma es el artículo "Ciphertext-only cryptanalysis of Enigma", de James Gillogly, publicado en la revista Cryptologia (Octubre 1995). Su propósito era probar que, en determinadas circunstancias, un mensaje Enigma podía ser reventado sin probar todas las posibilidades de anillos, rotores y conectores. Su procedimiento sigue los siguientes pasos:

1) Con el tablero de conexiones desactivado (es decir, sin conectores) y con los anillos de los rotores en la posición 1 1 1, probaba cada uno de los 60 modos distintos de disponer los rotores (Gillogly consideró los cinco posibles rotores de la Enigma militar). Para cada modo, había 26*26*26 posibles orientaciones de los rotores, lo que le daba 60*26*26*26 = 1.054.560 disposiciones de los anillos. Ese es un número elevado, pero factible para un PC actual. Para cada una de esas combinaciones, calculaba el IC del mensaje descifrado, y escogía la combinación que le diera el IC más elevado. En el ejemplo publicado, la mejor combinación fue la siguiente: orden de rotores II, I, III; orientación de los rotores 2, 11, 6; IC=0.0461.

Como ven, el IC obtenido dista bastante del que esperaríamos para el alemán, lo que significa que aún no hemos llegado al resultado correcto; de hecho, hay otras combinaciones de rotores que dan IC levemente inferiores pero asimismo correctas. Con todo, vamos en la dirección correcta

2) Con los datos anteriores, búsquese ahora la orientación de los anillos. Dependiendo de dicha orientación, los rotores girarán en una u otra posición, así que son un dato importante. En realidad, ni siquiera consideró el rotor izquierdo (el más lento), ya que su movimiento no va a afectar el giro de otros rotores. De modo que se cambia la orientación del rotor derecho (el más rápido), y se escoge el que nos da un mensaje descifrado con el IC más alto. Una vez hecho se fija esa posición del anillo para el rotor rápido, y se va moviendo el anillo del rotor intermedio hasta que obtengamos el IC más alto.

3) Para obtener la disposición de los conectores se usa un procedimiento similar. Con los datos conseguidos en los pasos 1 y 2, se escoge un par de letras, se intercambian y se comprueba el resultado. Se escoge el mejor resultado, se eligen otras dos letras a intercambiar, y así sucesivamente. Hay aquí una diferencia importante: en vez de usar el IC, en esta fase se usa una tabla de frecuencias de trigrafos. Es decir, se examinan los grupos de tres letras y a partir de ahí se comprueba si dichos grupos coinciden en frecuencia con lo que cabría esperar para un texto real.

Es decir, primero seleccionamos el orden y orientación de los rotores, después el del rotor derecho y después el del rotor intermedio, usando en cada caso el IC para irnos guiando en nuestra búsqueda. Para los conectores usamos algo diferente al IC, pero la idea es la misma: imitar el lenguaje. Lo importante es que lo hacemos a pasos: si hubiésemos probado todas las combinaciones de orden de rotor y orientación de rotor y anillos, el número de tales combinaciones hubiera sido inmenso. El truco es ir "troceando" y comprobando a cada paso.

Esto equivale a decir que la Enigma tiene una vulnerabilidad, ya que se supone que no se puede hacer eso. Es decir, o probamos todas las posibles combinaciones de la máquina, o nada. Claro que los aliados no usaron el IC para atacar los mensajes Enigma. Deavours y Kruh en un tratado clásico sobre máquinas de cifra, afirman que un ataque así fue considerado pero no puesto en práctica. En primer lugar, la potencia de cálculo precisa no habría estado al alcance de los criptoanalistas de Bletchley Park, quienes ni siquiera estaban al tanto de las particularidades del IC (aunque los propios alemanes diseñaron un ordenador en 1941, el llamado Z3, que podría haberlo conseguido). En segundo lugar, el ataque de Gillogly depende crucialmente de la longitud del texto cifrado.

Y aquí está el talón de aquiles del método de Gillogly. Tras una serie de pruebas con diversos mensajes (no auténticos, sino creados y cifrados por él mismo), pudo comprobar que el éxito en este tipo de ataques dependía de dos factores: la longitud del texto y el número de conectores en el tablero. Textos más largos y con pocos conectores daban probabilidades de éxito mayores. De hecho, podemos comprobar el acierto de los alemanes en a) dotar a la Enigma de un tablero de conexión para complicar el trabajo de los criptoanalistas, b) aumentar el número de conectores durante la guerra y c) obligar a los operadores de radio a transmitir mensajes cortos. De hecho, los mensajes de la Enigma militar se mantenían en una longitud inferior a 300 letras, lo que hubiera posibilitado a Gillogly obtener una solución el 80% por ciento de las veces ... si no hubiera ningún conector enchufado en el tablero. Con diez conectores, incluso un mensaje desusadamente largo (casi 1.500 letras) sólo hubiera sido descifrado el 5% de las veces.

Sin embargo, el método de Gillogly es bueno y puede incluso mejorarse. Eso es lo que hicieron dos expertos en Enigma llamados Geoff Sullivan y Frode Weierud. En un artículo titulado "Breaking German Army Ciphers" (publicado en Cryptologia en Junio de 2005), Sullivan y Weierud exploran y perfeccionan el método de Gillogly. Su artículo resulta especialmente interesante porque los mensajes a atacar no son simulaciones, sino mensajes auténticos de la Segunda Guerra Mundial. Se trataba de un paquete de más de 500 mensajes guardados tras la guerra por el Teniente Coronel Waldemar Werther. Tras su muerte, a finales de los años 90, los mensajes acabaron en manos de ambos autores. No se sabe cómo Werther (oficial de la Luftwaffe) consiguió dichos mensajes, que al descifrarlos se comprobó que provenían de las SS o las Waffen-SS.

Sea como fuese, el caso es que medio millar de mensajes, fechados en 1941 y 1945, esperaban su descifrado. Su longitud, del orden de 250 letras, hacía inviable un ataque como el diseñado por Gillogly, así que Sullivan y Weierud se dispusieron a mejorarlo. El método que idaron lo denominan "algoritmo de escalar la colina" (hill climbing technique). Se divide en dos partes: por un lado, escoger la combinación de rotores y anillos, todo junto; por otro, ir probando conectores.

El algoritmo de la colina está bastante bien explicado por
Weierud en http://frode.home.cern.ch/frode/crypto/HillClimbEnigma.pdf. Yo voy a resumírselo aquí. Para empezar, vamos a suponer que conocemos todas las combinaciones posibles de anillos y rotores. Por supuesto, no las conocemos, así que el algoritmo que vamos a describir aquí hay que probarlo para todas esas combinaciones. Son muchas, pero luego calcularemos cuántas.

En lo que respecta a los conectores, la idea es que aunque no conozcamos qué letras hay sido intercambiadas, sí podemos irnos aproximando. Se trata de ensayo y error. Usemos, por ejemplo, el ejemplo que dan Sullivan y Weierud. Supongamos que hemos acertado con los rotores y anillos, pero que no hemos conectado ninguna letra en el tablero de conexiones. El resultado, junto con su Índice de Coincidencia IC, es:

EJWNZ YHJWH MAZHJ JNDSK ESQMJ IRJFO HJMNZ UQLVY AHRSN OTRCX (IC=0.0385)

A continuación, intercambiemos las letras A y B en el tablero de conexiones. Esto NO significa que podamos limitarnos a intercambiarlas en el texto cifrado (esto es, no obtenemos un mensaje del tipo BJWNZ...), porque el tablero de conexiones intercambia las letras ANTES de entrar en el sistema de rotores y DESPUÉS de salir de los rotores. Es decir, el tablero de conexiones no es un mero de sistema de sustitución monoalfabética (creo que en algún boletín anterior, hace tiempo, dije que sí lo era, en cuyo caso pido disculpas por el error). El resultado de descifrar el mensaje original, en este caso con las letras A-B intercambiadas en el tablero de conexiones, es:

EJWNZ YHJWH MBZHJ JNMSK LRQWJ IRJFO HJMNZ UQLVY BHRSN OTRCX (IC=0.0385)

Como vemos, el IC no se ha movido, por lo que podemos concluir que el intercambio A-B en el tablero de conexiones es incorrecto. Ahora probemos intercambiado A-C, a ver qué pasa. Obtendremos un texto con un
IC de 0.038, lo que nos indica que seguimos sin ir bien. El mejor resultado lo tenemos con el par de letras A-E, con un IC de 0.0407. Vamos mejorando.

A continuación, iremos probando con la siguiente letra, es decir, probemos a intercambiar B con otra letra. El mejor resultado nos da un IC de 0.0502. Pero para probar otra letra, en lugar de guiarnos por el IC, hacemos una comprobación de trigramas. Como en el método de Gilligly, se trata de ver qué trigramas salen en el texto descifrado y comprobar si coinciden con algunos de los trigramas más habituales en el idioma alemán. Una vez hecho esto, se siguen comprobando letras mediante una combinación de IC y trigramas para irnos guiando en el proceso. Con paciencia y una caña, conseguiremos obtener las conexiones correctas en el tablero con tan sólo unos pocos miles de pruebas, en lugar de probar todas y cada una de las posibles conexiones en un método de "fuerza bruta".

Por supuesto, esto es válido si sabemos cómo estan orientados los anillos y rotores. Así que, como no lo sabemos, habría que probar todas las combinaciones de posición de rotores, orientación de rotores y orientación de anillos. Como vimos al comienzo de este artículo, el número de posibilidades es muy alto: 18.534.946.560. Podemos reducir este número pensando en dos pequeños detalles. En primer lugar, no es preciso probar todas las combinaciones del anillo del rotor izquierdo (el lento), ya que eso no afecta al movimiento de ningún otro rotor, como dijimos antes. De hecho, podemos incluso olvidarnos del anillo del rotor intermedio. El motivo es que, aunque controla el acarreo del rotor izquierdo, dicho acarreo solamente ocurre en una letra de cada 676, y nuestros mensajes no tienen esa longitud. Así que vamos a suponer una orientación cualquiera para el anillo del rotor intermedio. Si dicho anillo provoca un acarreo del rotor izquierdo mientras se está cifrando el mensaje, pues mala suerte; pero esperamos que eso sucederá raramente.

Es decir, vamos a considerar 60 modos posibles de ordenar los rotores; 26*26*26 orientaciones de los rotores; y 26 orientaciones del anillo del rotor derecho. El número que nos da es de 27.418.560. Hay que probar esos 27 y pico millones de posibilidades, y en cada una de ellas ir ensayando varios millares de posibles conexiones del tablero, tal y como lo hemos explicado aquí. El número de posibilidades sigue siendo muy alto, pero está al alcance de un buen ordenador. Por lo menos, no tenemos que enfrentarnos a decenas de miles de millones de posibles disposiciones en el sistema de rotores, o a un número astronómico de posibles conexiones en el tablero.

El éxito del algoritmo de la colina es, según parece, digno de Bletchley Park. Por supuesto, hubo mensajes más difíciles de romper que otros (por ejemplo, por fallos en la recepción, algunos mensajes cifrados tienen letras incorrectas o que faltan), pero a pesar de ello se consiguió descifrar casi todos los mensajes; no solo esto, sino que se pudo profundizar en puntos tales como hasta qué punto los operadores alemanes seguían el procedimiento correcto, o si la máquina Enigma usada para cifrar los textos tenía algún fallo de funcionamiento. Recomiendo al lector interesado que se descargue el artículo original (disponible en http://www.tandf.co.uk/journals/journal.asp?issn=0161-1194&linktype=offers) porque resulta muy ilustrativo.

El "gran total" de Sullivan y Weierud: de 789 mensajes (o partes de mensajes) procesados, solamente doce quedaron sin descifrar. Puede que la lista de mensajes cabezotas se haya reducido aún más: véalo usted mismo en http://frode.home.cern.ch/frode/crypto/bgac/index.html, que es la página donde Weierud muestra todo lo relacionado con este esfuerzo. Aparte del interés como curiosidad criptoanalítica, el descifrado de mensajes Enigma ha permitido a los autores arrojar luz sobre un suceso oscuro de la Segunda Guerra Mundial: la muerte del general Rabenau. No les contaré los detalles, sino que les dejaré descubrirlos por su cuenta: http://cryptocellar.org/. También encontraron información sobre los últimos días de los campos de exterminio, particularmente el de Flossenbürg , en uno de los cuales encontraron la muerte diversas figuras de la resistencia antinazi.

Pero si el descifrado de señales de la Enigma militar es, en pleno siglo XXI, tarea ardua, imaginen ustedes atacar mensajes cifrados con la Enigma Naval. Dicha máquina era más compleja (tenía más rotores, entre otras cosas), de forma que utilizar las tácticas aquí descritas sería una tarea muchísimo más extensa. Tanto, que solamente es posible utilizando gran cantidad de ordenadores. !Y así está sucediendo! El aficionado a la criptología Stefan Krah, ha establecido un proyecto de computación distribuida para descifrar tres mensajes cifrados con la Enigma naval. Puesto que las necesidades informáticas exceden la capacidad de un ordenador de mesa, Krah ha lanzado el proyecto M4 para que voluntarios de todo el mundo cedan parte de su tiempo de ordenador no utilizado (al estilo de otros proyectos como Seti@home).

Los mensajes, presentados por el historiador Ralph Erskine como reto a la comunidad, fueron interceptadas en el Atlántico Norte hacia 1942, y hasta donde se sabe nunca han sido descifrados

Hasta ahora, el resultado es alentador. Desde el inicio del proyecto M-4, el día 9 de enero, dos de los tres mensajes han caído ya, el primero el 20 de febrero y el segundo el 7 de marzo. Pero el tercer mensaje ... todavía se resiste. Si quiere usted unirse a este proyecto de computación distribuida, está a tiempo, tiene toda la información y los ejecutables en la página del proyecto, junto con instrucciones, lista de distribución, etc, en: http://www.bytereef.org/m4_project.html.

A ver si uno de nuestros lectores da con la tecla y nos coronamos. Agradecería que los lectores que se decidan a participar en este proyecto me enviasen una nota indicándomelo, así podríamos saber con cuánta fuerza nos estamos metiendo en este proyecto. !Ah! Y no se preocupen si alguien nos gana por la mano. Ralph Erskine puede prometer y promete que tiene más mensajes de Enigma naval listos para descifrar. Así que, si no saben qué hacer con sus ciclos de CPU inactivos, esta es una perfecta oportunidad para utilizarlos.

 


 

 LIBERTAD VIGILADA - Los "ojos y oídos" de Norteamérica

 

[Extraído del libro "Libertad Vigilada", de Nacho García Mostazo, con permiso del autor]

Segunda parte, capítulo 5:

Además de la información interceptada gracias a la antena AN/FLR-13 instalada en Rota, el NAVSECGRU también dirige las operaciones del Escuadrón de Vigilancia Aérea de la Marina. Como mencionamos en capítulos anteriores, la Marina norteamericana vigilaba el espacio aéreo de Gibraltar desde 1946, cuando estableció su cuartel en la base de Port Lyautey, en lo que entonces era el Marruecos francés. Este departamento fue asignado a la base de Rota en 1960, desde donde sigue operando hoy en día, y pasó a denominarse oficialmente Segundo Escuadrón de Vigilancia Aérea de la Flota (Fleet Air Reconnaissance Squadron Two), aunque también se le denomina VQ-2 para abreviar. [1]

La Marina norteamericana tiene dos escuadrones de este tipo. El primero está en la base de Whidbey Island, en el Estado de Washington, y también cuenta con aviones en la base de Misawa, en Japón. Se formó en junio de 1955 y opera en el área del Pacífico bajo el nombre de VQ-1. En 1997 contaba al menos con cuatro aeronaves de espionaje EP-3E ARIES II, un modelo modificado en los años 90 sobre la base del P-3C fabricado por Lockheed Martin. Los aviones fueron adaptados por Raytheon para el espionaje, y es esta última compañía la que se ocupa del mantenimiento de los mismos en sus hangares de Jacksonville, en Florida. Como hemos mencionado, tanto Lockheed como la corporación Raytheon son empresas permanentemente relacionadas con el operativo Sigint norteamericano.

El Segundo Escuadrón de Vigilancia Aérea tiene su centro de operaciones en la base aeronaval de Rota, aunque también cuenta con la ayuda operativa de la estación de Souda Bay, en Creta, para sus operaciones de vigilancia en el Mediterráneo oriental. Oficialmente, el VQ-2 se fundó en diciembre de 1955, aunque pasó a Rota cinco años después. En 1997, contaba al menos con tres aviones EP-3E ARIES II. Estos aparatos sobrevuelan casi permanentemente el Mediterráneo y sus países limítrofes, llegando a internarse en Oriente Próximo e incluso hasta en China, donde uno de ellos fue capturado el 4 de enero de 2001, causando un grave incidente diplomático que se resolvió tres meses después con la devolución del avión por piezas, ya que las autoridades chinas lo desmontaron para revisarlo detalladamente. [2]

A bordo de los aviones de espionaje de la Marina norteamericana vuelan unas veinte personas, de las que cinco son tripulantes y el resto manejan las antenas, radares, cámaras, micrófonos y ordenadores embarcados. Cuenta con diferentes puestos para los operadores, entre los que destacan los dedicados a la recolección de señales electrónicas y emisiones que se producen en le países objetivo de la vigilancia. Incluso hay al menos dos consolas que se ocupan del espionaje de las comunicaciones y de su análisis inmediato para transmitirlo, en directo y fuertemente cifrado, a las bases en tierra, desde donde los analistas del Grupo de Seguridad Naval dan un seguimiento permanente a cada misión. [3]

Igual que la base de Rota o el Grupo de Seguridad Naval, el VQ-2 también tiene su propia página oficial en Internet, donde explica detalladamente su misión, historia y galardones. Al inicio, una nota similar a la del NAVSECGRU informa al usuario de que ha entrado en el área "desclasificada" del "sistema informático del Gobierno de Estados Unidos", y se le aconseja leer la "política de privacidad", donde también se le advierte de que será vigilado meintras esté navegando por la misma. La definición que el VQ-2 de Rota hace de su propia misión es un eufemismo, como en el caso del NAVSECGRU, pero es mucho más patriótica: "Nuestros hombres y mujeres son los ojos y los oídos de la nación. Facilitamos información de vital importancia para el combate a nuestras fuerzas: !En todo lugar, en todo momento!" [4]

Decenas de menciones honoríficas y medallas jalonan el resumen histórico que el propio VQ-2 publica en Internet. Obtuvo muchos premios por su trabajo en conflictos donde estaba implicado directamente Estados Unidos, aunque también hay varias menciones a crisis y acontecimientos que nada tienen que ver con la intervención militar norteamericana, salvo para obtener inteligencia. Entre otras, destacan las medallas obtenidas en la guerra contra Irak en 1990 y 1991, así como las menciones a su labor entre 1992 y 1994, cuando el Escuadrón sumó 11.000 horas de vuelo sobre los Balcanes al servicio de la OTAN durante la guerra de la antigua Yugoslavia llevando a cabo misiones de "reconocimiento" y de "inteligencia". Con respecto a conflictos y crisis donde Estados Unidos no se implicó activamente, el VQ-2 menciona el galardón recibido en 1970 por su trabajo durante la "crisis jordana", o el de 1973 por sus "meritorios servicios" en la guerra árabe-israelí. En marzo de 1997, el Escuadrón también hizo operaciones de "reconocimiento electrónico sobre Albania durante la evacuación del personal no militar (norteamericano)" a causa de la crisis social provocada por la quiebra de un sistema piramidal fraudulento que garantizaba elevados intereses a los ahorradores.

A cada nuevo militar que se incorpora a sus filas, el oficial al mando le entrega una carpeta con las normas internas del cuerpo, pero en Internet hay al menos un resumen de las mismas donde, por ejemplo, se exige un entrenamiento permanente a todos los miembros del Escuadrón, ya que "debemos estar siempre preparados para el combate". Asimismo, se afirma que "en el VQ-2 todos somos el mismo equipo. Aunque trabajes en Administración, Operaciones, Mantenimiento, Inteligencia, Entrenamiento, Guerra Electrónica o Seguridad, es imprescindible recordar que operamos como el mismo equipo. No se tolerará la mentalidad del 'nosotros contra ellos'", porque "no existe el nosotros, sino el equipo", afirma. En el mismo documento, el oficial al mando en 2002, A. W. Eddowes, dice sentirse "honrado de tener la oportunidad de ser tu oficial" y recuerda que "no toleraré ningún tipo de discriminación", ni el uso de drogas o alcohol, aspecto sobre el cual dice tener "tolerancia cero", lo mismo que en casos de "acoso sexual" a otros integrantes del Escuadrón. Por último, el oficial Eddowes prohíbe a los miembros del VQ-2 que establezcan relaciones de carácter personal, familiar o fraternal y afirma que, "como en el caso del acoso sexual, la confraternización destruye nuestra moral, nuestra efectividad y, por último, nuestro equipo".

La tensión que se desprende de las palabras del oficial al mando del VQ-2 sólo se podría explicar al comprobar la elevada cifra de bajas del Escuadrón durante la Guerra Fría. En 1958 murieron ocho tripulantes en una operación de espionaje y otros 17 fallecieron derribados en Armenia. Un año después, 16 perecieron en Turquía. En mayo de 1962, 26 hombre murieron en un accidente en Alemania. Una misión en 1966 se cobróla vida de otros seis miembros del VQ-2. Doce analistas y tripulantes fallecieron en acto de servicio durante los años 70, y otros siete hombres murieron en 1987 durante una operación de vigilancia. Según un código no escrito, cuando un militar muere durante un conflicto armado recibe todos los honores, pero no ocurre igual en otro tipo de operaciones, y más aún cuando son misiones de inteligencia. No obstante, los honores acaban llegando también para los espías. En 1997 se celebró un homenaje en la sede central de la NSA para recordar a los 17 miembros del VQ-2 derribados en Armenia casi cuatro décadas atrás, en 1958. Una placa en Fort George Meade rinde honemaje a su memoria, aunque para nosotros también se convierte en una nueva prueba que demuestra la vinculación total entre la Agencia de Seguridad Nacional, responsable del espionaje de las comunicaciones en todo el mundo, y el VQ-2 y el NAVSECGRU de Rota, subordinados a esta misión. [5]


[1]. Página de Internet de los Veteranos del Grupo de Seguridad Naval. Op. cit.

[2]. Agencia Efe. "CHINA-EE.UU. / Incursión de avión espía causó grave crisis entre China y EE.UU." Teletipo. Pekín, 3 de diciembre de 2001.

[3]. Información obtenida en la publicación electrónica Jane´s Information Group, una de las mejores fuentes informativas en Intgernet sobre asuntos de Defensa. Disponible en: http://www.janes.co.uk

[4]. Página en Internet del VQ-2 de Rota. Disponible en: http://www.rota.navy.mil/vq2/

[5]. David Colley y Richard Kolb, "Facing Down the Soviets. Cold War on NATO´s Southern Flank". Op. cit.

 


 

El boletín ENIGMA es una publicación gratuita del Taller de Criptografía, y se rige por las normas de la licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual. Se permite su libre copia, distribución y comunicación para fines no lucrativos, citando nombre y referencia.

Para más información, véase la licencia Creative Commons en sus formas reducida y completa:
http://www.cripto.es/licencia/deed.es.htm
http://creativecommons.org/licenses/by-nc-sa/2.5/es/legalcode.es

PARA DARSE DE ALTA: envíe un mensaje a la dirección alta arroba cripto.es añadiendo las palabras alta_enigma en el asunto (subject).

PARA DARSE DE BAJA, envíe un mensaje a la dirección baja arroba cripto.es añadiendo las palabras baja_enigma en el asunto (subject)

Para comentarios a este boletín (dudas, preguntas, consultas, críticas, noticias, colaboraciones, etc.), estoy a su disposición en la dirección noticias arroba cripto.es

Página del Boletín Enigma (incluyendo números atrasados): http://www.cripto.es/enigma.htm

(c) Arturo Quirantes 2007

 


Vuelta a la Página principal del Boletín ENIGMA