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
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
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