Boletín ENIGMA - nº 30

1 Febrero 2005

 


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


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


EDITORIAL

CRIPTOGRAFÍA HISTÓRICA - Criptoturismo

CRIPTOGRAFÍA IMPRESENTABLE - Multiswap, un algoritmo debilucho

DISPARATES LEGISLATIVOS - A vueltas con la LSSI ... !otra vez!

LIBERTAD VIGILADA - La colonia británica de Gibraltar
                           


 

EDITORIAL

 

Saludos a todos una vez más. Este mes tenemos bastantes novedades. Como habréis visto en los últimos meses, el Boletín ENIGMA ha ido derivando hacia los temas de criptografía histórica, en detrimento de la criptología moderna y de los temas sobre ciberderechos y libertades digitales. Este mes daremos un toque de timón en dirección opuesta. Analizaremos las vulnerabilidades de un algoritmo intitulado Multiswap, usado hacia 2001 por Microsoft dentro de su esquema sobre administración digital de derechos (DRM). No sé si seguirá siendo usado, pero constituye un buen ejemplo para diseccionarlo y aplicarle técnicas criptoanalíticas, por lo que lo considero un buen ejemplo de libro. Después resucitaremos a la dormida LSSI, explicando la última vuelta de tuerca en tan espinosa ley. Parece que vuelven los buenos tiempos.

Incluimos hoy una propuesta sobre cripto-turismo, una alternativa a los típicos destinos de playa o montaña. Y, por supuesto, el capítulo del sabroso "Libertad Vigilada", que no falte. Como contrapartida, me he visto en la obligación de posponer el siguiente artículo de la serie "Enigma y la conexión polaca". Pero que nadie tema, que la serie continúa. ¿Cómo lo vamos a dejar ahora que está tan interesante?

El propio Taller de Criptografía ha sufrido una remodelación. Para empezar, desaparecen un par de secciones. El enlace de "Libertad Vigilada" de la portada ha sido elminado. El motivo es que la dirección www.libertadvigilada.com ha dejado de funcionar. Asimismo, he eliminado la sección "Guerra al Spam" por falta de continuidad. No es que me haya desentendido del asunto, pero mi proveedor ha instalado un sistema de filtros muy eficaz y mis propios filtros de correo necesitan poca actualización. Eso sí, al enemigo ni agua. El único spam bueno es el que compramos en lata, y que en España denominamos "chopped" ... y aún así no es nada del otro mundo. En tercer lugar, y también por falta de continuidad, he eliminado "Expedientes Ñ" como sección independiente. Pero sus contenidos no han desaparecido. Se han transferido a la sección Informes, que ahora se llama "Informes y Expedientes" (los enlaces de la sección Expedientes y la dirección web de la sección Informes permanecen igual que antes).

Ha habido cambios de los que denominaremos cosméticos. La mayoría de los textos del Taller (Informes, Tribuna Digital, etc) tienen ahora un tipo de letra por defecto más grande, lo que los hace más cómodos de leer. Parecerá una tontería, pero !la de tiempo que requiere eso! Pero el mayor cambio está en el Boletín ENIGMA. He completado una antigua aspiración mía y de muchos de vosotros: el Boletín ENIGMA en formato html. A partir de ahora, podréis leer y descargar vuestros boletines favoritos en formato txt (firmado digitalmente) o en formato html. Estoy seguro de que os resultará un cambio agradable. Por supuesto, sigue la regla de que el último ejemplar no aparece en la página web correspondiente, y tampoco cambiará su formato. Considero que para envíos masivos por correo electrónico, el formato de texto gana por su simplicidad. Tal vez no os resulte tan bonito de ver, pero también reduce mi carga de trabajo, y la verdad, los e-mail en html que recibo me marean más de lo que me informan. Por no hablar de que muchos virus y troyanos usan los e-mail en formato html para introducirse en los ordenadores, lo que representan un obvio fallo de seguridad.

Un aviso importante en relación con el boletín. En ocasiones, los mensajes de alta y de baja son aprovechados para añadir mensajes personales, peticiones, felicitaciones, broncas (pocas, afortunadamente, pero haberlas haylas), etc. No lo hagáis. Esos mensajes son procesados automáticamente, y la mayoría de esos mensajes se pierden. Si queréis darme la tabarra estáis cordialmente invitados a ello, pero usad mensajes aparte. De otro modo, puede que no recibáis respuesta por el sencillo motivo de que yo no los recibo.

Para terminar, un último cambio, y no poco importante. El Museo Camazón fue creado para introducir al internauta a documentos, fotografías y otro material interesante de la criptohistoria de España (los suscriptores de Iberoamérica estáis también invitados a colaborar, por supuesto), ya que el material en español está en franca desventaja numérica frente al inglés. Pero al mismo tiempo quise incluir una sección en inglés con el objeto de seguir derribando las barreras del idioma. Está muy bien hablar de la Cifra General de Felipe II o de la clave del Mar Cantábrico entre nosotros, !pero dejemos que el resto del mundo se entere! Así que el Museo Camazón ha aprendido idiomas y ha ocupado un anexo que, a falta de un nombre mejor (se admiten sugerencias) he denominado "la cripto-zona española" (Spanish Cryptozone). Allí se incluyen traducciones al inglés de algunos de los textos del Museo. Y también algunas joyas internacionales. De momento, tenemos dos. Por un lado, varios capítulos del famoso "Libro del Profe" de Alan Turing; por otro, una lista de las principales características técnicas de todos los rotores de Enigma conocidos, compilada por mí y en rigurosa exclusiva mundial y planetaria (!y no tengo abuela, señores!).

Próximamente explicaré en qué consisten los datos de los rotores. Y atentos, porque el "Libro del Profe" está en proceso de traducción al español. Dentro de poco podremos leer el Tratado sobre Enigma del más insigne criptoanalista de Bletchley Park. Y digo bien, "podremos leer", porque entenderle es otra historia. Que si en algo destacaba el profe no era precisamente en explicarse.

!Ah, casi se me olvida! En el boletín pasado os incluí un reto: cifrar un texto con la cifra de Garbo (ver "Los códigos de Garbo, agente doble (II)", Boletín ENIGMA 29). Parece que el agente doble es demasiado para vosotros, porque ni uno ha conseguido cifralo. ¿Qué pasa, chicos, no os atrevéis?. !Que esto es el Boletín ENIGMA, la academia Top Gun de la criptografía!. Como se entere el almirante Canaris, no os admite en
el Abwehr ni como porteros. Teufel!

 


 

CRIPTOGRAFÍA HISTÓRICA - Criptoturismo

 

En 1945, Bletchley Park era un activo centro de descifrado e interpretación, gracias al cual se obtenía el orden de batalla de los ejércitos de Hitler. Pocos años después, "BP" se convertía en un lugar desierto, abandonado y casi olvidado. Felizmente fue rescatado de la demolición, y hoy día prospera -con dificultades- pero prospera- como un museo vivo y activo. Miles de personas lo visitan cada año, y aprenden lo que BP fue. Para los lectores interesados, me refiero al artículo "De vuelta a Bletchley Park, primera parte" (Boletín ENIGMA nº 7). Por cierto, que nunca escribí la segunda parte. Bueno, un año de estos.

Bletchley Park es un referente de lo que podríamos llamar "criptoturismo". Es decir, forma parte de un conjunto de lugares en el mundo que guardan interés desde el punto de vista criptográfico. No resulta raro imaginarnos al ávido lector de algunos de los libros que hemos comentado en este mismo boletín, preguntándose "¿y adónde habrá ido a parar todo esto?" ... y abriendo los ojos como platos cuando se entere de que BP está aún entero y puede ser visitado. Allí se encuentran en exhibición todo tipo de máquinas de cifra, desde Enigma y la Lorenz SZ 42 hasta una reconstrucción de Colossus, el primer ordenador del mundo. En el londinense Imperial War Museum, esa enorme colección de artefactos de guerra, también pueden admirarse diversos aparatos de cifra. El Polish Institute and Sikorski Museum guarda un ejemplar de Enigma "clónico" creado por los criptoanalistas polacos. Los norteamericanos tienen su Museo Criptológico Nacional (ver Boletín ENIGMA nº 24). Y, por supuesto, están los archivos nacionales británico y norteamericano, que guardan toneladas de documentos recientemente desclasificados.

La proliferación de lugares de criptoturismo goza, en los países anglosajones, de la bendición -cuando no de la colaboración activa- de los propios gobiernos. En una era en la que la inteligencia de señales está en horas bajas (Osama bin Laden dejó su teléfono móvil hace ya tiempo), y bajo crecientes críticas por los sistemas de escucha electrónica a gran escala tipo Echelon, reavivar las hazañas del pasado es una buena publicidad. Del mismo modo que la Royal Air Force disfruta desde hace medio siglo de un aura gloriosa como última línea de defensa (ya saben, eso del "nunca tanto debieron tanto a tan pocos" y demás), desclasificar documentos y montar exposiciones históricas es una forma de justificar la actuación de los fisgones de hoy día. En las páginas de la NSA o del GCHQ (www.nsa.gov), www.gchq.gov.uk) pueden incluso verse juegos para niños, en busca de los futuros rompecódigos.

Por contra, en España esto de la criptología y la ruptura de códigos sigue pareciendo cosa de brujas. O al menos lo parece, a la vista del velo de secreto que rodea todo ese mundo. Sí, el nuevo Centro Nacional de Inteligencia (www.cni.es) tiene ya hasta página web, gabinete de prensa y todo eso. Pero pregúnteles algo sobre sucesos de hace décadas, y de inmediato saltarán las alarmas. Ni pensarlo, seguridad nacional, clasificado secreto, no podemos hablar de eso, materia reservada. Somos así, qué le vamos a hacer.

Con todo, incluso los servicios de inteligencia han de darse cuenta de la ventaja que supone abrirse un poco al exterior. En el boletín pasado, les conté cómo una Enigma apareció recientemente en el Museo del Ejército; en un rinconcillo y apenas iluminada, pero algo es algo. Un pajarito me cuenta que habrá más movidas de este tipo en el futuro. Genial, porque hasta ahora el panorama criptoturístico en España está bastante desierto.

Os propongo que cambiemos esto. He aceptado participar en un proyecto sobre "turismo criptográfico". Se trata de una iniciativa sin ánimo de lucro para crear una guía con los lugares más interesantes del mundo desde el punto de vista criptográfico. Museos, antiguos centros de interceptación, estaciones de descifrado ... todo vale. Desde estas páginas ... bueno, desde estos bits, os lanzo este reto. A ver cuántos lugares de interés encontramos. Dadle al coco y pensad dónde enviaríais a un criptoturista. Y no sólo me refiero a España. Hay muchos lectores de otros países que seguro que tienen algún lugar criptográficamente interesante. Con todas las respuestas que me enviéis, el Taller de Criptografía abrirá una nueva sección sobre Cripto-turismo. Así que ya sabéis, a echarle imaginación. Y si el criptoturismo se pone de moda, ya buscaremos una agencia de viaje que nos organice viajes guapos. !Con descuento para mis suscriptores, por supuesto!

 


 

CRIPTOGRAFÍA IMPRESENTABLE - Multiswap, un algoritmo debilucho

 

En Octubre de 2001, alguien bajo el seudónimo de "Beale Screamer" publicó en Internet un estudio que hizo mediante ingeniería inversa, y que explica cómo funcionan diversos elementos del sistema de Administración de Derechos Digitales (Digital Rights Management) de Microsoft, conocido como MS-DRM versión 2. Se supone que ese sistema decide cuándo y en qué condiciones se pueden reproducir obras digitales, se impiden accesos no autorizados y todo eso. No sé si me aplicarán la legislación vigente, porque el nuevo Código Penal no ve con buenos ojos eso de que les cuente cómo funcionan este tipo de elementos, pero espero que alguno de ustedes me envíe una lima a la celda. Bromas aparte, todo lo que les contaré ha sido diseminado por la red, lo que pueden ustedes comprobar en http://cryptome.org/multiswap.htm y cryptome.org/ms-drm.htm

El sistema estaba compuesto por diversos elementos. No les aburriré (ni a ustedes ni a mí) describiendo todo el proceso, así que nos limitaremos a la parte puramente criptográfica. Para la función resumen (hash) se empleaba el robusto SHA-1, lo que contrasta con el venerable DES de 56 bits que se usaba como cifra en bloque. Para cifrar mediante flujo se escogió el RC4, que también tiene sus fallos. También se echaba mano a la Criptografía de Curva Elíptica.

Para crear un MAC (Código de Autenticación de Mensajes) se utilizó un algoritmo que Beale Screamer, a falta de nombre, bautizó como Multiswap. Este algoritmo toma un bloque de 64 bits, formado por dos sub-bloques de 32 bits, y lo cifra por medio de una clave de nada menos que 374 bits. En principio, por tanto, un atacante tendría que probar con 2^374 bits para dar con la clave correcta. Ya me imagino la publicidad: si todos los ordenadores del mundo trabajasen conjuntamente durante un trillón de veces la edad del Universo, bla, bla.

Pero, como veremos, el sistema es mucho más endeble. Vamos a analizar el Multiswap. Usaremos términos matemáticos, pero sin complicarnos la vida con demostraciones farragosas; que de lo que se trata es de entender las cosas.

Comenzaremos por describir el algoritmo que denominaremos Multiswap. Las variables que entran en juego son de tres tipos:

- El "texto llano": un bloque de 64 bits formado por dos sub-bloques de 32 bits a los que llamaremos x0 y x1; a veces denotaremos el bloque como (x0,x1)
- Un "vector de inicialización" (s0,s1), donde también s0 y s1 son de 32 bits. En ocasiones valdrá cero. Por lo general, Multiswap se utiliza en cadena una y otra vez, de forma que el resultado (output) de una ejecución de Multiswap se utiliza como entrada (input) de la siguiente.
- La clave, formada por doce bloques (k0, k1, k2 ... k11) de 32 bits cada uno. La clave total tendría, por tanto 32*12 = 384 bits. Sin embargo, para que Multiswap sea invertible (de forma que, metiendo el texto cifrado volvamos a obtener el texto llano) todas las claves, menos la k5 y k11, han de ser impar, lo que las reduce en la práctica a claves de 31 bits. De forma que tenemos una cifra de 10*31+2*32 = 374 bits.

Las operaciones matemáticas que se van a utilizar son la suma y el producto, módulo 2^32. Es decir, la suma se hará sin acarreo, de forma que, por ejemplo, 10 + 11 = 01 (en notación binaria); el producto es algo similar. También utilizaremos una operación que consiste en intercambiar las dos partes de un sub-bloque de 32 bits. Es decir, se teníamos un bloque de datos (a,b), el resultado es (b,a). En inglés, se usa la palabra "swap", intercambio (de ahí el nombre de Multiswap). Denotaremos esa operación con la letra S.

Muy bien, pues vamos allá. Sea x=(x0,x1) el texto que vamos a cifrar, s=(s0,s1) el vector de inicialización, y sean ko, k1 .. k11 las doce partes de las claves. El flujo de datos de Multiswap sería así:

s0 -> + -> * -> S -> * -> S -> * -> S -> * -> S -> * -> S -> + -> s0'
      ^    ^         ^         ^         ^         ^         ^
      !    !         !         !         !         !         !
     x0    k0        k1        k2        k3        k4        k5


s1 --------------------------------------------------------- + -> s1'
                                                             ^
                                                             !
                                                             s0'

O, dicho paso a paso:

- Cogemos s0 y le sumamos x0
- Multiplicamos el resultado por k0
- Intercambiamos las dos partes del bloque
- Multiplicamos el resultado por k1
- Intercambiamos
- Multiplicamos el resultado por k2
- Intercambiamos
- Multiplicamos el resultado por k3
- Intercambiamos
- Multiplicamos el resultado por k4
- Intercambiamos
- Sumamos k5 al resultado
- Obtenemos s0'
- Sumamos s1 a s0' y obtenemos s1'

Es decir, se trata de una suma inicial y después un conjunto de operaciones de multiplicación, intercambio, multiplicación, intercambio ... así hasta llegar a s0' . Luego sumamos s1 y nos da s1'. !Y todavía no hemos terminado. Ahora usamos s0' y s1' para volver a hacer todo lo anterior, pero introduciendo el sub-bloque de texto llano x1. Es decir:

s0' -> + -> * -> S -> * -> S -> * -> S -> * -> S -> * -> S -> + -> c0
       ^    ^         ^         ^         ^         ^         ^
       !    !         !         !         !         !         !
       x1   k6        k7        k8        k9        k10       k11


s1' --------------------------------------------------------- + -> c1
                                                              ^
                                                              !
                                                              c0

Y por fin hemos terminado. El bloque (x0,x1) de texto llano queda convertido en el bloque (c0,c1) de texto cifrado. Si el algoritmo multiswap está en modo encadenado (es decir, si lo usamos una y otra vez), s0 y s1 son las entradas del previo bloque. Es decir, ahora tomamos los valores anteriores de (x0,x1) como nuestros nuevos (s0,s1), cogemos otro bloque de texto llano, y vuelta al asunto.

Ahora vamos a ver cómo le metemos mano al tocho este. Vamos a suponer que podemos escoger la entrada del algoritmo, esto es, podemos elegir el valor de (x0,x1). Lo primero que vamos a hacer es meter en el algoritmo el bloque (0,x1), y fijaremos los valores iniciales de s0 y s1 como cero: (s0,s1)=(0,0) . Al metere eso en la primera parte de Multiswap, lo primero que hacemos es sumar s0 + x0. Como ambos los hemos fijado igual a cero, la suma es obviamente cero. Luego multiplicamos por k0, y de nuevo obtenemos k0*0=0. Como está en notación binaria, k0*0 sería una ristra de 32 ceros; intercambiar sus dos mitades nos vuelve a dar cero. Es decir, cada vez que intercambiamos los 32 bits del número cero, o multiplicamos por cualquier cosa, nos da cero. Así hasta llegar al último intercambio de la primera parte. Sumamos k5 y ¿qué obtenemos? Pues 0+k5 = k5. Es decir, s0' = k5; y, por tanto, s1' = s0' + s1 = s0' = k5 (recordad que hicimos s1=0).

En la segunda mitad, la cosa se complica un pelín, ya que la suma de s0' y x1 no es cero ni nada parecido. De hecho, si nos ponemos a multiplicar e intercambiar, el resultado que sale es bastante farragoso. Pero fijaos que después hacemos la suma s1' + c0 para obtener c1. Esto quiere decir que el resultado final (c1,c2) es de tal forma que se cumple que c2=c1+s1' Y el valor de s1' lo conocemos, es igual a k5.

Dicho en otras palabras, Multiswap cifra el bloque (0,x1) como (c1,c1+k5). !Primera tarjeta para Multiswap! Se supone que un algoritmo de cifra no debe filtrar información sobre la clave usada. Pero resulta que yo tengo (0,x1) como entrada, obtengo algo del tipo (A,B) como salida, y sólo tengo que restar para obtener la clave k5, ya que B-A = k5. Pues muy mal. Ahora resulta que conozco k5 sin gran esfuerzo. Todavía quedan las otras sub-claves, vale. Pero si a un fuerte muro le sacamos un ladrillo, es que no es tan fuerte. Peor aún, el agujero que hacemos facilita la labor de sacar otros ladrillos.

De modo que sigamos sacando ladrillos. Volvamos a escoger los valores s0=0, s1=0, y sea el texto llano (x0,x1) = (0,-k5). Como vimos antes, la primera parte de Multiswap nos daba que s0'=s1'=k5, con independencia de lo que valiese x1. Pero en la segunda parte comenzábamos sumando s0'+x1, y como hemos escogido x1=-k5, tenemos que s0'+x1 = 0. A partir de aquí tenemos 0*k6 = 0; S(0)= 0 ... es decir, exactamente lo mismo que sucedió cuando queríamos recuperar k5, sólo que ahora sucede en la segunda parte de Multiswap. Justo al final hacemos la suma c0 = 0 + k11 = k11; c1= s1' + c0 = k5. De modo que, metiendo le bloque de texto llano (0,-k5) obtenemos el bloque cifrado (k11, k5+k11), con lo cual obtenemos k11.

Es decir, que de las doce subclaves k0, k1 .. k11 que usa Multiswap, nosotros hemos averiguado dos de ellas (k5 y k11). Es decir, el algoritmo, supuestamente de 374 bits, es tan fuerte como uno de 310 bits. Por supuesto, un sistema de cifra con clave de 310 bits sigue siendo seguro en la práctica, pero el hecho de haber hecho el problema 2^64 veces más fácil sin despeinarnos siquiera es una verguenza para los creadores de Multiswap. Es como enfrentar al Real Madrid contra el Villacabras Regional. Que el Madrid gane 13-1 le da la victoria igual que si hubiese ganado 13-0, pero ese gol en contra deja mal sabor.

Pero el caso es que ahora nos vamos a atrever a golear al equipo galáctico y meternos en la Champions por la puerta grande. Multiswap no está seguro, ni mucho menos. El problema es que obtener las demás sub-claves no es tarea fácil. Para ello hemos de echar mano a herramientas criptoanalíticas sofisticadas.

Comenzaremos por atacar esta parte de Multiswap:

    w -> * -> S -> * -> S -> * -> S -> * -> S -> * -> v
         ^         ^         ^         ^         ^
         !         !         !         !         !
         k6        k7        k8        k9        k10

donde v, w, representan la entrada y la salida de esta parte de la cadena. Lo primero que hay que tener en cuenta es que podemos escoger w,v como queramos. El lector puede ver fácilmente que w = s0' + x1, o bien w = k5 + x1, de modo que podemos fijar el valor de w sin más que hacer x1 = w - k5. Por otro lado, c0 = S(v) + k11, de forma que si tomamos co podemos hacer S(v) = c0 - k11, luego intercambiamos y obtenemos S(S(v)) = v

Bien, ahora viene lo duro, pero estamos listos para lo que sea ¿verdad? Vamos a usar una técnica llamada análisis diferencial. Consiste, esencialmente, en meter dos "inputs" o entradas, w, w' , y observar los "outputs" o salidas" v, v'; relacionando las diferencias entre v y v' con las diferencias entre w y w', podemos montar un ataque probabilístico. En nuestro caso, las "diferencias" serán multiplicativas.

En este caso, supongamos que meto w y obtengo v; luego meto w´ y obtengo v'. Vamos a hacer w=2w y preguntémonos, ¿cuándo obtendremos un valor de v' = 2v? Veámoslo paso a paso. Lo primero que hacemos es multiplicar por k6. Si w' = 2w, también tenemos que (w'*k6) = 2(w*k6). El problema viene al intercambiar las dos mitades. ¿En qué condiciones un intercambio mantiene la diferencia multiplicativa? O dicho de otro modo: ¿qué tiene que cumplir un número z para que 2*S(z) = S(2*z)?

La respuesta, según Beale Screamer, es la siguiente: para que eso ocurra, si z tiene 32 bits, la condición necesaria es que los bits 15 y 31 sean cero. Los habilidosos en matemáticas lo entenderán de forma inmediata, en tanto que los demás se quedarán con cara de "¿mande lo qué?" No se preocupe si no lo ve claro: confieso -ahora que no nos oye nadie- que yo mismo me lío en esto. No nos preocupemos, bástenos saber que eso es cierto. Y sigamos adelante.

Se supone que w*k6 es más o menos aleatorio (para empezar, k6 no tiene ningún valor predeterminado, ya que lo escogemos al azar); eso quiere decir que la probabilidad de que w*k6 tenga el bit 15 igual a cero es de 1/2; igualmente, la probabilidad de que su bit 31 sea cero es también de 1/2. Eso significa que la condición S(w'*k6) = 2*S(w*k6) es algo que se da, en promedio, una de cada cuatro veces.

Esto nos sirve para poder probar diversas combinaciones de k6 hasta obtener la correcta. La idea es la siguiente. Tomemos un valor de k6 cualquiera, escogido al azar. Probemos con diversos valores de v y w hasta que se cumpla que, metiendo 2*v, obtenemos 2*w; es decir, que el par de entradas (w,2*w) nos da un par de salidas (v,2*v). Para que eso suceda, es condición necesaria que S(w'*k6) = 2*S(w*k6), cosa que como hemos visto sucede una vez de cada cuatro. O dicho de otra forma: tres de cada cuatro valores de k6 NO nos da un par de salidas (v,2*v) para un par de entradas (w,2*w). Esto significa que, de los 2^30 posibles valores de k6, solamente (2^32)/4 = 2^30 pasan esta prueba.

Bien, pues hemos partido de 2^32 posibles claves k6, y hemos descartado el 75% de ellas, pero aún nos quedan con 2^30 de ellas. Una de ellas, y solamente una, es la correcta, pero ¿cuál? No lo sabemos. Pero podemos hacer el mismo razonamiento de antes otra vez. Ahora tomemos OTRO valor de w, y llamémosle w1; la salida (output) será ahora v1. Al igual que antes, impondremos a w1 la condición de que, si metemos 2*w1, obtengamos 2*v1. Es decir, que al par de entradas (w1,2*w1) le correspondan un par de salidas (v1,2*v1). Siguiendo el mismo razonamiento de antes, habrá de cumplirse que S(w'*k6) = 2*S(w*k6). Pero ahora w'=2*w1 (antes era w'=2*w) de forma que es una condición diferente. Y las 2^28 claves k6 que tenemos habrán de pasar por este nuevo filtro. ¿Cuántas de ellas cumplirán esta nueva condición? Pues la cuarta parte de ellas. O dicho de otra forma: las condiciones:

            2*w -> 2*v si w -> v         y         2*w1 -> 2*v1 si w1 -> v1

es algo que cumple solamente una clave de cada 4*4 = 16. De modo que, de las 2^32 posible claves k6, solamente (2^32)/16 = 2^28 pasan ambas pruebas.

Es como si todas las claves k6 fuesen personas que desean entrar en la discoteca de moda. En la puerta se encuentran con diversos porteros que les imponen condiciones estrictas para pasar. Si tienes el pelo largo, no entras; si llevas zapatillas deportivas, no entras; si eres feo, no entras; si hablas con acento extranjero, no entras. De esa forma, solamente los deseados logran acceder al recinto. Como podréis imaginaros, cuantos más porteros exijan condiciones para entrar, tantos menos personas entrarán. En el caso extremo, habrá solamente UNA persona que logre el honor de acceder al recinto de baile: no tiene en pelo largo, ni zapatillas deportivas, ni es feo, ni habla con acento extranjero, ni tiene caspa, ni le huelen los pies, ni es míope, ni .....

Por supuesto, se supone que en una discoteca ha de haber más de una persona bailando (de otro modo, ¿por qué querríamos entrar?). Pero en nuestra "discoteca Multiswap", solamente queremos que "entre" una clave. De forma que seguimos con el mismo juego una y otra vez. Cada vez que imponemos una nueva condición (del tipo "si w3 me da v3, 2*w3 me ha de dar v3"), el número de posibles claves k6 se divide por dos. Eso significa que, si imponemos dieciséis tests, la probabilidad de que k6 sea la clave correcta es de una entre 2^32. Es decir: si pasamos todas las claves k6 posibles (y son 2^32) por los 16 "porteros de discoteca", solamente pasará una en promedio. Esto es como en la película "los inmortales": solamente puede quedar uno.

Con todo eso, ¿qué hemos conseguido? Pues comprobar todas las sub-claves k6, y deducir cuál es la única posible. ¿Qué esfuerzo hemos tenido que hacer? Pues meter 16 valores conocidos de w. Fijaos que lo que hemos comentado es independiente de los valores de las demás sub-claves, de forma que hemos conseguido separar el problema en partes. Antes hallamos k5 y k11 directamente; ahora hemos deducido el único valor posible de k6; y todo ello valgan lo que valgan k0, k1, k2, etc.

Pero lo mejor viene ahora. La condición de que el par de entrada (w,2*w) nos de (v,2*v) impone una restricción sobre el primer intercambio, pero también sobre los siguientes. Es decir, podemos aplicar un razonamiento parecido para "filtrar" los posibles valores de k7, k8, k9 y 10. Todas las operaciones del tipo "multiplico por una sub-clave y luego intercambio" restringe el número de posibles sub-claves. Esto quiere decir que, una vez determinado k6, podemos imponer esas mismas condiciones para obtener el único valor posible de k7 (sólo en raros casos se precisan condiciones adicionales); otro tanto para k8, luego para k9 y finalmente para k10.

Por supuesto, obtener un valor de w y uno de v tales que el par (w,2*w) nos de (v,2*v) no es inmediato. Vean que el proceso que lleva de w a v involucra cuatro intercambios S. En cada uno de ellos, la diferencia entre entrada y salida se preservará solamente una vez de cada cuatro. Esto significa que la probabilidad de que (w,2*w) nos de (v,2*v), es de una entre (1/4)^4 = 1/256. O dicho de otro modo, para obtener cada condición del tipo 2*w -> 2*v si w -> v antes tenemos que prubar 256 posibles valores de w. Bueno, tampoco es tan malo. Si necesitamos unas 16 condiciones, solamente tendremos que probar un número de valores de w igual a 16*256 = 4096. O dicho de otro modo: con 4096 = (2^12) entradas de w obtendremos suficientes condiciones restrictivas para obtener un valor único de k6, k7, k8, k9 y k10. Si hacemos todo este esquema de nuevo en la primera parte del algoritmo Multiswap, nos saldrá algo muy parecido: obtendremos k0, k1, k2, k3 y k4 imponiendo otras 16 condiciones restrictivas, lo que nos exigirá probar otros 4096 valores de texto llano.

Resumiendo: solamente necesitamos probar 8096 (=2^13) valores de texto llano conocido para deducir todas las claves de Multiswap. ¿Cuántas operaciones matemáticas son precisas para ello? Muy pocas. Analizando el algoritmo se puede concluir que el factor de trabajo es de 2^25. Es decir, se precisan 2^25 operaciones aritméticas básicas para lograrlo. Considerando el esquema de Multiswap (que precisa de 10 multiplicaciones, 10 intercambios y 6 sumas), es lo mismo que si cifrásemos 2^22 mensajes.

Esto sí que es grande. Ocho mil y pico pruebas de texto llano, apenas unos millones de operaciones matemáticas (fracciones de segundo para un ordenador cualquiera), !y ya hemos obtenido la clave de 374 bits! Ya me imagino la cantinela entre el creador de Multiswap y el criptoanalista:

- Creador: Mi nuevo algoritmo tiene clave de 374 bits. Es fácil darse cuenta de que es invulnerable, ya que ni todos los ordenadores del mundo trabajando al unísono durante...

- Criptoanalista: Perdona que te interrumpa, pero mientras hablabas he descifrado el mensaje. Mira, con mi PC necesito tres microsegundos para obtener tu clave de 374 bits. Claro que con un poco más de esfuerzo podría ... oye, ¿dónde vas con esa sierra mecánica? Mira que no es un juguetea ... !aaaarghhh!

Beale Screamer incluso modificó su ataque, de forma que en lugar de escoger el texto llano ("chosen-plaintext attack") se limitase a conocer dicho texto ("known-plaintext attack"). En tal caso, se requiere un total de 2^22.5 textos, un número mayor que antes, si bien ahora no tenemos que molestarnos en escogerlo nosotros: nos limitamos a meterle al algoritmo lo que sea, nos sentamos y esperamos. De forma que el pobre creador de Multiswap, en lugar de la motosierra, debería tomar la sección de demandas de empleos del periódico, porque su futuro en la Microsoft no parece muy brillante.

Espero que no hayan sufrido mucho, amables lectores, con el engorro matemático de hoy. El motivo de hacerlo es mostrar cómo son los ataques criptoanalíticos modernos. Es preciso estar al tanto de las matemáticas, y jugar con las probabilidades. Pero, como verán, también está presente el factor inspiración. Es extraordinariamente difícil diseñar un sistema de cifra que no filtre nada de información sobre el texto cifrado, o sobre la clave utilizada. Era cierto en tiempos de César, en los de Enigma, y sigue siendo una verdad como un piano en el siglo XXI. La eterna batalla criptográfica entre atacantes y defensores sigue en vigor.

 


 

DISPARATES LEGISLATIVOS - A vueltas con la LSSI ... !otra vez!

 

Mis asiduos lectores recordarán haberme leído una y otra vez sobre la Ley de Servicios de la Sociedad de la Información (LSSI). Después, el silencio. No sólo fui yo. Muchos de los que peleamos en esa guerra dejamos las armas y nos dedicamos a otros menesteres. O al menos, eso es lo que parece. Algunos lo han achacado a motivaciones políticas: "claro, contra los otros protestaban, pero cuando mandan los suyos ahora todo les parece bien". Cada cual tiene motivos para justificar sus propios actos, por supuesto. Mirándome al espejo, puedo pensar en tres motivos que expliquen esta inactividad, y seguro que a los demás podrá aplicárseles el cuento también.

En primer lugar, la falta de noticias. Tras su aprobación, y después de haber intentado infructuosamente declararla inconstitucional, la LSSI entró en una especie de letargo. Falta de un reglamento, nadie sabía bien cómo se iba a aplicar. Algunos casos fueron a juicio, y los resultados fueron poco concluyentes: o bien aparecían tecnicismos legales (como eso de la "comunicación fehaciente"), o los casos se pactaban antes de llegar ante el juez, o éste aplicaba el Código Penal sin necesidad de echar mano de la LSSI.

En segundo lugar estaba la esperanza de que el nuevo gobierno, como prometía por sus niños, acabaría con la LSSI en dos bofetadas en cuanto llegase al poder. Por supuesto, no somos tan ingenuos como para creérnoslo, pero en un mundo de Borjas Adsuaras y Annas Biruleses, cualquier cambio parecía para mejor. No ha sido el caso, y todavía estamos intentando averiguar cómo reaccionar.

En tercer lugar está el cansancio puro y duro. No sé los demás, pero yo me encuentro agotado. Durante años he estado enfocado en luchas como la de la LSSI, descuidando otros proyectos. De verdad que a veces se hacía realmente cuesta arriba terminar mi Boletín ENIGMA entre la última campaña contra el tráfico de datos y la penúltima contra la LSSI. Llevo desde 1999 clamando contra las resoluciones Enfopol, y contra el Tratado de Asistencia Mutua Penal que se firmó después, en la que se permiten barrabasadas como la legalización de las escuchas indiscriminadas. He colaborado en artículos y libros, he dado conferencias sobre Echelon, me he partido el pecho en los premios Big Brother Awards. Y todo, ¿para qué? Para que luego llegue el FBI y ordene confiscar los servidores de Indymedia, o que entre en la lista anti-lssi un webmaster que acaba de enterarse de esos detallitos sobre la retención de datos, la obligación de dar sus propios datos o el régimen de multas que le puede caer encima. En ese momento oyes los cánticos de Casandra de los recién llegados: "pero ¿esto cómo puede ser?", "habrá que hacer algo", "pues yo acabo de enterarme", "hay que movilizarse".

Y a un servidor, que lleva avisando desde hace años, se le cae el alma al suelo. Es como en el cine, cuando el prota avisa a los demás de que no hagan algo, y por supuesto ni caso: se meten en el ascensor, éste se desploma ... y al prota se le queda la cara de angustia por no haber podido salvarlos. A mí no se me pone esa cara, porque mis sentimientos varían entre el fatalista "a buenas horas, mangas verdes" y el resentido "!pues ahora que os den!"

Todo esto viene a cuento de que hace unos días la Ministra de Educación, tras reunirse con representantes de la Sociedad General de Autores y Editores (SGAE) y demás gentes de mal vivir, ha decidido que los prestadores de servicios de Internet han de hacerse responsables de los contenidos que albergan sus clientes. El propósito declarado es el de aumentar la eficacia en la lucha contra la piratería, y en concreto
el de acabar con las redes de intercambio P2P. Desde un punto de vista más extenso, el gobierno tendría una herramienta eficaz para acallar todo tipo de críticas: obligar a los ISP a "apatrullar la Interné", buscando todo tipo de contenidos que el gobernante de turno considere ilícitos, perniciosos, inmorales o sencillamente molestos.

No voy a molestarme en analizar las consecuencias de esta propuesta de reforma, porque sois inteligentes y tenéis dos dedos de frente. Tampoco se os escapará que hacer responsable a los ISP de los contenidos de sus clientes es como responsabilizar a Telefónica Móviles de los atentados del 11-M porque los terroristas usaron teléfonos móviles para detonar las bombas y la teleco no se dio cuenta; o como condenar a una concesionaria de autopistas de complicidad en el tráfico de drogas porque los narcos usan la autopista para llevar sus alijos; o porque ________ (inserte su ejemplo aquí). Y, por supuesto, está el detalle de que eso violaría la Directiva comunitaria que sirvió como excusa para crear la LSSI en primer lugar.

El hecho es que nos encontramos con una nueva amenaza a nuestra libertad en Internet. Así será de grave, que incluso la Asociación de Internautas, que defendió tanto al Ministerio de Ciencia y Tecnología en su momento, ahora se posiciona en contra de la LSSI y exigiendo dimisiones. Bueno, no es raro desdecirse de lo dicho, es el pan nuestro de cada día. Mírenme a mí, si no. Me prometí no volver a meterme en líos en una buena temporada, y aquí esto de nuevo, como en los viejos tiempos.

Si hay algo que le alegra, dentro de lo malo, es que ahora contamos con aliados inesperados. O mejor dicho, con otrora adversarios con los que ahora compartimos intereses. No sé si se habrán dado cuenta, pero esta reforma no les hace mucho bien a los proveedores de Internet. Si esto sale adelante, tendrán que establecer procedimientos para apatrullar sus redes, cerrar contenidos y, en suma, pasar a convertirse en vigilantes jurados. Y, por supuesto, cualquier jurata sabe que vigilar activamente un aparcamiento no es ni con mucho lo mismo que limitarse a ponerse en la puerta para entregar los tiques. A partir de ahora, las telecos tendrán que mojarse activamente, y esto les va a costar esfuerzos, dinero, y el cabreo de muchos clientes.

Así que de vuelta a la guerra. Pero ahora que sean las grandes empresas del ramo las que se batan el cobre. No quisieron hacerlo en su momento, y así les luce. Pues ahora, guapos, a mover el culo. Nosotros os echaremos una mano, pero con vosotros como ariete. A fin de cuentas, si el gobierno gana y las telecos tragan, tiempo habrá de crear redes alternativas a las actuales P2P. Es sencillo: un ordenador, una línea telefónica y listo.

No necesitamos "prestadores de servicios" para nada. A lo mejor es incluso deseable comenzar a prescindir de ellos, porque la actual Internet está demasiado centralizada. Antes cualquier hijo de vecino se montaba su propio proveedor de Internet; ahora media docena de ISP controlan la parte del león de todo el tráfico. Que le pregunten al Pentágono si eso de trocear al enemigo en un millón de piezas es una buena idea. Volvamos a los orígenes. O detengamos en seco esta Ley Sin Sentido Internauta de una vez por todas.

 


 

LIBERTAD VIGILADA - La colonia británica de Gibraltar

 

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

Segunda parte, capítulo 2:

Por su situación geográfica, en la Península Ibérica se dan unas condiciones excepcionales para llevar a cabo operaciones de espionaje de las comunicaciones. Como hemos visto, uno de los enclaves más importantes es el estrecho de Gibraltar, puerta de entrada al Mediterráneo para todo tipo de buques y mercancías y paso obligado de los cables submarinos de telecomunicaciones que unen a los países costeros del Mediterráneo entre sí y con el resto del mundo. Con más de tres siglos de antigüedad, la base naval del peñón de Gibraltar fue un punto estratégico para la expansión colonial del Reino Unido, pero en los primeros años del siglo XX se aprovechó su ubicación para construir una estación de espionaje de señales. En 2001, España y el Reino Unido abrieron una ronda de conversaciones diplomáticas a fin de lograr un acuerdo para compartir la soberanía de la colonia, pero el Ministerio de Defensa británico se manifestó abiertamente en contra. En mayo de 2002, el ministro británico de Defensa, Geoff Hoon, envió una carta a su compañero de gabinete y ministro de Exteriores, Jack Straw, en la que le advertía de que estaba poniendo en peligro los intereses estratégicos de Gran Bretaña al negociar con España. La carta se filtró a la prensa británica y, pocos días después, el diario La Razón publicaba la réplica citando a fuentes de la Armada española. Afirmaba que "Londres dispone en Gibraltar de un gran centro de espionaje electrónico para el sur de Europa". La información detallaba que la base del Peñón forma parte de la red "Echelon" y decía que "el espionaje electrónico desde Gibraltar no es sólo militar", sino que "también presta especial atención a la cercana Costa del Sol", donde "se concentra la mayor parte del crimen organizado británico". [1]

Una semana más tarde, el mismo diario publicaba otra información sobre la estación de espionaje ubicada en Gibraltar. Aportaba datos nuevos como, por ejemplo, que el Reino Unido cuenta con "un sistema para intervenir los cables telefónicos submarinos que atraviesan el Estrecho" y citaba a "fuentes cercanas a los servicios de inteligencia" como origen de tal información. Sin embargo, hasta ahora nadie ha conseguido demostrar que el Reino Unido cuente con tecnología propia para intervenir los cables telefónicos submarinos, pues, en principio, sólo Estados Unidos tendría esa capacidad. No obstante, cabe al menos sospechar, como veremos a continuación, que quizá los británicos sí hayan "pinchado" los abundantes cables submarinos del Estrecho, aunque para ello habrían contado con la ayuda de los norteamericanos, que al fin y al cabo son sus principales aliados en el pacto UKUSA. [2]

En Gibraltar hay dos estaciones que se dedican a la inteligencia de señales: una está situada al norte de la Roca y la otra al sur. La primera cuenta con una antena parabólica cubierta por una cúpula que podría dedicarse a la vigilancia del espacio aéreo, pues a la entrada de la colonia británica hay un aeropuerto de uso civil y militar. La antena está en el punto más alto del Peñón y se aprecia a simple vista. Parece un globo aerostático anclado en la cúspide de la Roca. Se encuentra en el interior de una "Estación de Señales", si nos atenemos al cartel indicador de la carretera que conduce hasta allí. Pero en esta base hay una antena mucho más importante. Se trata de un conjunto de torretas unidas entre sí por cables de acero que sirven para interceptar comunicaciones de radio de alta frecuencia. Encajada en el bosque que corona el Peñón esta antena puede confundirse con una instalación eléctrica y es necesario subir a un mirador para verla con cierta
claridad. En el mismo puesto también hay otras antenas menores que podrían dedicarse a la interceptación de las comunicaciones. El propio cartel indicador de la carretera que conduce a la "Estación de Señales" así lo demuestra.

La segunda instalación militar presuntamente dedicada al espionaje de señales está al sur del Peñón, pero no es visible desde el faro de Punta Europa -ubicado en el área más meridional de la colonia británica-, sino que hace falta ascender por la Roca para poder verla. Como publicaba La Razón, esta base "está camuflada bajo la apariencia de un centro de comunicaciones civil". En efecto, un cartel cercano a la entrada de la misma afirma que se trata de la "Estación Terrestre de Satélites y Centro de Operaciones" de una empresa promovida por el Gobierno de Gibraltar que se llama "Afro-Asian Satellite Communications Ltd". Sin embargo, las antenas parabólicas de la instalación están dentro de un recinto militar fortificado al que sólo se puede acceder por el llamado "Túnel del Demonio" (Devil´s Belows). A su entrada, un panel rojo del Ministerio de Defensa británico advierte al visitante en inglés, español y árabe: "Este lugar es una zona restringida por la Ley de Secretos Oficiales (1911-1989). Cualquier persona ajena que entre sin autorización podrá ser arrestada y procesada", dice.

Pero pese a la prohibición, el interior de la base militar es perfectamente visible desde un pequeño polígono industrial ubicado a su espalda y pegado a la falda del Peñón. Desde allí pueden observarse dos grandes antenas parabólicas de más de 20 metros de dimaétro, una de las cuales está cubierta por una cúpula. Cabría suponer que las antenas están orientadas a los satélites de comunicaciones cuyas huellas no llegan a Europa, sino que sólo cubren el norte de África, ya que Gibraltar está a unos 15 kilómetros de la costa de Marruecos, aunque sólo se trata de una conjetura. A juicio del investigador Duncan Campbell, podría tratarse simplemente de un enlace militar, ya que el Reino Unido tiene sus propios satélites militares de telecomunicaciones. En todo caso, lo que sí se puede confirmar sobre el terreno es que no existe la supuesta estación civil de satélites a la que se refiere el cartel del Gobierno gibraltareño, pues las dos parabólicas se encuentran dentro del recinto militar, lo que implicaría que el Ejecutivo de la colonia ha tratado de crear una tapadera creíble para aquella estación. Así pues, cabe deducir que las actividades que se llevan a cabo en su interior pueden no ser totalmente lícitas y quizá sea verdad que, como decía La Razón, el Reino Unido intercepte la señal de los cables submarinos que pasan por el Estrecho y envíe la señal, procesada o no, a sus bases en Inglaterra a través de sus conexiones vía satélite. Pero ésta, como es obvio, no es más que una sospecha. [3]

En cuanto al hecho en sí de la presencia de unidades de inteligencia en el Peñón, el capítulo anterior lo demuestra bien a las claras, pero también lo reconoce abiertamente el Ejército británico en su página oficial en Internet. En concreto, el área dedicada al "estilo de vida" de los reclutas de los Cuerpos de Inteligencia trata de atraer al visitante a integrarse en estas unidades militares de espionaje y, para ello, dice que el trabajo "es muy variado" y "te moverás de localización cada pocos años". Ofrece la posibilidad de viajar a muchas bases: "Hay unidades en Gibraltar, Chipre, Alemania y las islas Falkland (Malvinas), además de algunas otras donde los Cuerpos de Inteligencia tienen presencia continua." Asimismo, afirma que "también hay oportunidad de participar en programas de intercambio con Estados Unidos, Australia y Nueva Zelanda", tres de los países firmantes del tratado UKUSA junto a Canadá y el propio Reino Unido. En caso de que el internauta decida integrarse en los Cuerpos de Inteligencia, la propia página de Internet del Ejército informa de que se celebran habitualmente visitas guiadas y reuniones informativas en la base de Chicksands, uno de los puestos de la red "Echelon". [4]


[1]. Enrique Montánchez, "Londres dispone en Gibraltar de un gran centro de espionaje electrónico para el sur de Europa". La Razón, 13 de mayo de 2002.

[2]. Pedro Arnuero, "El Reino Unido lleva 17 años espiando a Europa desde Gibraltar a través de la red 'Echelon' ". La Razón, 20 de mayo de 2002.

[3]. Véase Anexo fotográfico [al libro]. Imagen 6 (la Estación de Señales situada al sur del Peñón).

[4]. Información disponible en Internet: http://www.army. mod.uk/intelligencecorps/join.htm

 


 

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