Boletín ENIGMA - nº 56
1 de Diciembre de 2007
Boletín del Taller de Criptografía
de Arturo Quirantes Sierra
Dirección original: http://www.cripto.es/enigma/boletin_enigma_56.htm
TEMAS DE ACTUALIDAD - Funciones hash: el nuevo concurso
TEMAS DE ACTUALIDAD - Miscelánea criptográfica
CRIPTOGRAFÍA HISTÓRICA - Colossus, el proyecto redivivo
LIBERTAD VIGILADA - Las conclusiones de la Comisión Echelon
Escribir un boletín es algo así como hacer de broker de bolsa. No solamente
tienes que estar pendiente de la cotización, sino que hay veces que la bolsa
está muy tranquila y otras veces en que no se puede parar ni para comer. Pues
aquí lo mismo. Pensaba que este mes sería de lo más tranquilo cuando zas, de
repente empiezan a aparecer noticias interesantes. Por eso, la mayoría de ellas
las he incluido en un cajón de sastre, bajo el título de "miscelánea
criptográfica".
Tenía asimismo pensado seguir con el artículo de Shannon del mes pasado, pero le
ha aparecido competencia. Este mes hemos descubierto que Colossus, el que quizá
pueda ser considerado primer ordenador de la historia, ha sido "resucitado" por
un grupo de entusiastas. Y puesto que la tarea de Colossus era descifrar
códigos, ¿cómo podíamos mantener la noticia al margen? Pues nada, crónica al
canto, y ya de paso hablamos del papel que tuvo durante el descifrado de códigos
durante la Segunda Guerra Mundial. Esperemos que un día de estos pueda salir
también algo sobre el criptoanálisis que efectuaba, aunque eso es para sentarse
y pensarse bien qué escribir.
Estoy seguro que este mes encontraréis bastante ameno este vuestro Boletín. Y
esperemos que el mes que viene siga igual. Queremos despedir bien este año que
se nos acaba. Pero todavía no. Feliz lectura a todos.
TEMAS DE ACTUALIDAD - Funciones hash: el nuevo concurso
Como sabrán nuestros lectores, las funciones hash que se utilizan actualmente en
aplicaciones diversas adolecen de diversos problemas. Para quien no lo recuerde,
una función hash toma un mensaje o texto, y lo comprime en una ristra de pocos
bits. De ese modo, el mensaje queda representado por dicha ristra (hash) para,
por ejemplo, poder efectuar firmas digitales o poder comprobar si el mensaje ha
sido alterado de alguna forma.
Sin embargo, no todo es llegar y besar el santo. Se supone que las funciones
hash son unidireccionales: a partir del mensaje podemos calcular el hash, pero
no al revés. Por eso, en muchas aplicaciones en las que se requiere una
contraseña de acceso, se usan el hash. Es decir, yo escribo la contraseña, ésta
se transforma mediante la función hash, y es el hash el que se transmite al
sistema. Así nadie puede obtener la contraseña husmeando el tráfico o hackeando
los archivos del sistema.
El problema es que las funciones hash actuales están siendo cada vez más
cuestionadas. Un problema tiene que ver con el tamaño. MD5, un algoritmo muy
usado, genera un hash de 128 bits, con lo que obtener la contraseña a partir del
hash resultaría muy difícil. Una opción sería generar múltiples contraseñas y
computar su función hash, con el fin de obtener una gran tabla de
correspondencias. Hay tablas de ese tipo por Internet (no completas, por
supuesto). Hace pocos días alguien encontró una forma de acelerar el proceso:
!usar Google! Por lo visto, el programa Wordpress guarda el hash MD5 de las
contraseñas, así que ¿por qué un googlear un poco? Dicho y hecho: pueden leer
los detalles en
http://www.schneier.com/blog/archives/2007/11/using_google_to.html y enlaces
allí contenidos. Por supuesto, hay una forma de evitar este fallo, y se conoce
desde los años 70, pero cuando no se presta atención al pasado, a veces pasa lo
que pasa.
Incluso en las aplicaciones mejor codificadas, tenemos la limitación de que las
funciones más habituales, como MD5 o SHA-1, tienen fallos criptoanalíticos. De
SHA-1, por ejemplo, hemos hablado aquí en diversas ocasiones, así que no me
repetiré. Baste indicar que las funciones hash están pasando por una crisis
similar a la del algoritmo de cifrado simétrido DES: cada vez están siendo más
cuestionadas, y aunque aún aguantan ya va siendo hora de planificar para el
futuro.
Dicho y hecho. A finales de los años 90, el NIST (instituto de patrones
norteamericano) lanzó un concurso para reemplazar al venerable algoritmo de
cifra simétrica DES, dando como resultado el que ahora conocemos como AES (Advanced
Encryption Standard). De forma similar, han llegado a la conclusión de que los
actuales estándares de hash, denominados SHA-1 y SHA-2 (este último, en
realidad, es una familia de funciones basadas en SHA-1 pero con hashes de mayor
longitud), y la lanzado un concurso de ideas al que ha denominado Cryptographic
Hash Project:
http://csrc.nist.gov/groups/ST/hash/index.html. Según el NIST, los pasos
iniciales se dieron en 2005, tras el descubrimiento de una vulnerabilidad en SHA-1
(ver "SHA-1 y las colisiones de cumpleaños", en el Boletín ENIGMA nº 31), y se
espera completar el proyecto antes del final de 2012.
En efecto, las cosas de palacio van despacio, pero en estos temas, apresurarse
puede ser fatal, y si queremos que salga algo bien hecho hemos de dejar pasar su
tiempo (el proceso de selección del AES llevó cerca de cuatro años). De hecho,
la competición ya ha comenzado. El pasado día 2 de noviembre, el Federal
Register (equivalente usamericano del Boletín Oficial del Estado) publicó el
"Anuncio de Peticiones de Candidaturas para una Nueva Familia de Algoritmos Hash
Cryptográficos (SHA-3)". La noticia, que puede consultarse online en
http://csrc.nist.gov/groups/ST/hash/documents/FR_Notice_Nov07.pdf, nos
incluye los requisitos que se exigirán a la nueva función, como el
establecimiento de un parámetro variable para poder "ajustar" la fortaleza del
algoritmo (con lo que tendremos toda una familia de funciones), evaluaciones de
seguridad, eficiencia computacional, etc. Además, todos los candidatos serán
subidos a la dirección oficial del proyecto (http://www.nist.gov/hash-competition),
lo que personalmente considero un magnífico ejercicio de transparencia.
La presentación de candidaturas se cerrará el 31 de Octubre de 2008. Es decir,
quienes queráis presentar un candidato, tenéis un año entero para pensároslo. Os
incluyo las palabras de Bruce Schneier en el artículo que escribió al respecto
en su blog el pasado mes de Febrero: (http://www.schneier.com/blog/archives/2007/02/a_new_secure_ha.html)
"La competición sobre AES fue de lo más divertido que he tenido que ver en
criptografía. Piense en ello como si fuera un gigantesco derby de demolición
criptográfica: un puñado de nosotros ponemos lo mejor que hemos hecho en el ring,
y luego nos liamos los unos contra los otros hasta que solamente quede uno. Es
mucho más académico y estructurado que eso, pero el proceso estimuló un montón
de investigación en diseño y criptoanálisis de funciones de cifrado en bloque.
Personalmente, yo aprendí un montón sobre estos temas en la competición AES, y
como comunidad nos hemos beneficiado enormemente"
TEMAS DE ACTUALIDAD - Miscelánea criptográfica
En
el Boletín ENIGMA 52, de Mayo de 2007, incluí un artículo sobre la inseguridad
del algoritmo WEP que protege muchas comunicaciones inalámbricas. Unos días
después se hizo público uno de los mayores robos de datos privados de la
historia: la compañía TJX reconoció que unos desconocidos habían irrumpido en
sus sistema de comunicaciones y robado información sobre al menos 45 millones de
tarjetas de crédito y débito. Para ello, pincharon las comunicaciones
inalámbricas por la que se transmitía la información. Hace un par de meses se
hizo pública una investigación al respecto por parte del Comisionado para
Información y Privacidad de Canadá. Su conclusión es que el pinchado de los
ladrones fue posible por ¿adivinan qué? !Exacto! La empresa usaba WEP para
proteger sus comunicaciones.
Representantes de TJX afirman que no está probado que el pinchazo se efectuase
por vía inalámbrica, en un esfuerzo de "niego la mayor" que imagino estará
dirigido a protegerse contra responsabilidades legales. A pesar de ello, aceptan
las recomendaciones para aumentar la seguridad, y aseguran que querían pasarse
al más seguro WPA pero no pudieron hacerlo a tiempo porque sus sistemas no eran
compatibles. Evidentemente, cuando las cosas parecen ir bien no parece que
gastarse dinero en mejorar la seguridad se vea como una necesidad. Y después del
robo, a buenas horas, mangas verdes.
A estas alturas, no se sabe quiénes son los hackers, y sólo podemos imaginar los
daños económicos. Pero no echemos la culpa tan sólo al sistema de cifrado. En
palabras del comisionado de Canadá: "La empresa recogió demasiada información
personal, la guardó durante demasiado tiempo y confió en un cifrado débil para
protegerla ... poniendo en peligro la privacidad de millones de sus clientes"
Cierto, y lo que es peor, parece formar parte de una tendencia a tomar cada vez
más datos y atesorarlos como si valieran su peso en oro (lo que, en parte, es
cierto). A ver si este caso ayuda a luchar contra casos similares en el futuro,
porque eso de tomar la información de una tarjeta y usarla para pagos
fraudulentos está resultando cada vez más fácil. De hecho, no creo que sea
casualidad, pero el hecho es que las grandes empresas de tarjetas están forzando
al establecimiento de medidas de seguridad más rígidas, como pueden ustedes leer
en este artículo de Mercé Molist:
http://ww2.grn.es/merce/2007/tarjetas.html. Ha hecho falta una debacle tipo
TJX para que se pongan las pilas, pero algo es mejor que nada.
De una noticia, saltamos a otra. Desde el pasado mes de octubre, la policía
británica puede exigir que una persona entregue sus claves de cifrado. Negarse a
ello puede ser castigado con hasta cinco años de cárcel. Por supuesto, la
justificación para dicha norma es la de siempre: o lo hacemos, o Al-Qaeda
volverá a atentar de forma masiva y no podremos impedirlo. Por supuesto, una vez
hecha la ley se podrá aplicara a casos de terrorismo, delitos graves, o en
general en cualquier caso que la policía estime oportuno.
No ha pasado un mes, y ya la están aplicando en un caso que no tiene nada que
ver con el terrorismo. Hace pocos días, una treintena de activistas pro derechos
de los animales fueron obligados a ceder las contraseñas que activan sus
ordenadores. Algunos de ellos afirman no tener nada cifrado en su ordenador,
pero a pesar de ello se enfrentan a un grave dilema: cinco años de cárcel, o la
posibilidad de perder toda su intimidad. Todo en nombre de una ley
antiterrorista. Más en:
http://www.theregister.co.uk/2007/11/14/ripa_encryption_key_notice/
http://www.indymedia.org.uk/en/2007/11/385589.html
http://www.schneier.com/blog/archives/2007/11/animal_rights_a.html
http://www.filmica.com/arturo_quirantes/archivos/006507.html
Resulta irónico, por otro lado, conocer justo este mes que el gobierno británico
ha perdido la información confidencial de más de 25 millones de sus ciudadanos.
En un ejemplo de pifia de seguridad que deja pequeño incluso al caso TJX, dos
discos con información sobre millones de personas cuyos hijos recibían ayudas
del Estado desaparecieron. ¿Saben qué sistema de transmisión se usaba? !Envío
por mensajero! Los discos ni siquiera estaban cifrados. Las autoridades
británicas ya han "tranquilizado" a la población, afirmando que no hay indicios
de que los datos hayan caído en malas manos. Lo que, en parte es cierto, ya que
no hay indicios de absolutamente nada al respecto. Por si acaso, ya han pedido a
los afectados que cambien las contraseñas de las cuentas corrientes, ya que
seguramente más de uno usaba como clave el nombre de su hijo. No puedo por menos
que imaginarme el castigo que, proporcionalmente, le hubiera debido corresponder
al responsable. Si por no ceder una clave de cifrado la pena es de cinco años,
¿qué le tocaría al que pierde datos sin cifrar de millones de personas?
Volviendo al asunto del "la clave o a la cárcel", en España hubo un intento
parecido hace algún tiempo. En marzo de 2003, el gobierno español intentó
cambiar la Ley General de Telecomunicaciones para obligar a todos los usuarios
de sistemas criptográficos a "facilitar, bien a un órgano de la Administración
General del Estado o a un organismo público, las claves, los algoritmos o
cualquier procedimiento de cifrado utilizado, incluida la información técnica
relativa a los sistemas empleados en aquél." Una rápida protesta permitió
eliminar esta propuesta (ver Boletín Enigma nos. 12 y 13). La verdad es que nos
libramos por los pelos, ¿pero hasta cuándo?
La siguiente noticia nos lleva a dos agujeros de seguridad detectados en dos
instrumentos criptográficos generadores de números aleatorios. Uno de los
problemas más difíciles en criptografía consiste en generar números aleatorios,
es decir, que no puedan predecirse ni sigan patrón alguno. Sus aplicaciones
pasan, por ejemplo, por la generación de claves aleatorias de sesión para cifrar
comunicaciones. El problema es que es realmente difícil hallar un generador de
datos aleatorios, y si usamos ordenadores el problema se magnifica, ya que un
ordenador no es más que un sistema que ejecuta operaciones matemáticas de forma
bien definida.
El NIST norteamericano ha sugerido diversas normas para generar números
aleatorios (o cuasialeatorios) en un ordenador, basándose en funciones hash,
sistemas de cifra en bloque y curvas elípticas. Este último sistema produce un
generador de números aleatorios, llamado Dual_EC_DRBG, que ha resultado ser un
bicho raro. Es incómodo de usar, muy lento, y parece ser que se convirtió en un
estándar porque así lo quiso la Agencia de Seguridad Nacional norteamericana (NSA).
Ya en 2006 se detectó un pequeño fallo como resultado del cual los números que
genera no son exactamente aleatorios. El problema no era muy grave, y tenía
solución.
Pero hace poco, en la conferencia CRYPTO2007, alguien se atrevió a afirmar que
Dual_EC_DRBG contiene una debilidad que sólo puede describirse como una puerta
trasera (backdoor). Según se afirma, la función contiene un conjunto de
constantes que definen la curva elíptica usada para generar los números
aleatorios. Dichos números son bien conocidos (forman parte del estándar), si
bien nadie sabe por qué son esos y no otros. Pero los investigadores Dan Shumow
y Niels Ferguson afirman que dichos números están relacionados con un segundo
conjunto de números que sí son secretos, aunque nadie parece saber cuáles son.
Conociendo dichos números secretos, uno puede llegar a predecir los números
aleatorios que se generarán. Esta es una acusación muy grave, y hasta cierto
punto muy embrollada. Pero es que todo el tema de Dual_EC_DRBG está muy liado.
Nadie sabe por qué la NSA se empeñó en introducir un estándar lento, incómodo de
usar, con una puerta trasera que se puede hallar (ya que el estándar es
público).
No es la NSA la única que hace tonterías. Hace poco se hizo público un trabajo
de tres investigadores israelíes que analizaron el generador de números
aleatorios usado en Windows 2000. En un principio, el "curriculum" de dicho
generador parece impresionante, ya que usa SHA-1 dentro de su estructura. Por
desgracia, también incorpora la función de cifrado RC-4, cuyas vulnerabilidades
lo dejaron en la cuneta hace años. El resultado viene a decirnos que, si
conocemos el estado del generador en un momento dato, podremos conocer los
próximos 128 KBytes que el generador proporcionará en el futuro. Es decir, todo
lo contrario que deber ser un generador aleatorio. Y lo peor es que este
generador se utiliza también en otros sistemas operativos, aunque no sabemos
cuáles. Es muy posible que los de Windows XP y Vista estén "pringados", de forma
que cualquier sistema que confíe en ellos para generar números aleatorios es
vulnerable. Por contra, creo recordar que PGP tiene sus propias fuentes de azar.
Para terminar, vamos a presentar un ocurrente sistema de comprobación de sumas (checksum).
En algunos países como Estados Unidos, dar una propina en un restaurante es un
hecho tan normal que incluso puede hacerse en la propia factura, en un epígrafe
aparte. Así, una factura puede venir desglosado como "Subtotal, 31.00; propina,
3.00; total: 34.00." El problema viene cuando algún camarero descontento y pillo
decide aumentar su propina. Podría retocar con bolígrafo sus tres euros de
propina, aumentarlos hasta ocho, y elevar el total a pagar hasta 39 euros. Si se
hace bien, y el cliente no se fija demasiado, puede colar, y a ver quién se
acuerda un mes después (viendo el extracto del banco) cuánta propina dejó en el
restaurante.
He aquí un sencillo sistema para comprobar la validez del pago. Supongamos que
tenemos una cuenta por 47.16 euros, y queremos añadir una propina del 10%, lo
que representaría unos 4.71 euros. La suma nos daría 47.16 + 4.71 = 51.87. Si el
camarero decide usar el bolígrafo de forma creativa (por ejemplo, cambiando la
factura por: 47.16 + 14.71 = 61.87, estamos listos).
El truco consiste en manipular la cifra final (céntimos) de la propina para que
nos de una cantidad final cuya última cifra sea, sencillamente, igual a la suma
de los dígitos a la izquierda de la cifra decimal. Es decir, si la cuenta final
va a ser de "cincuenta y un euros ochenta y pico", hacer que el pico sea igual a
la suma 5+1. De esa forma, el "pico" serían seis céntimos y la cuenta quedaría
así: 47.16 + 4.70 = 51.86. En otro ejemplo, digamos que la cifra final, propina
incluida, es de 93.26. En este caso 9+3=12, así que podemos quitarle el uno
inicial, con lo que nuestro "checksum" nos daría 2. No tenemos más que restar
cuatro céntimos a la propina para obtener la cifra final de 93.22. Un banquete
de 293.84 también estará bien pagado, ya que 2+9+3=14, que pasamos a 4 y nos da
de nuevo el último dígito correcto.
La ventaja de este método es la sencillez con la que se pueden comprobar los
números. Cogemos el extracto bancario, vemos la anotación "pizzería buencomer" y
leemos la cifra 22.94. Como las dos cifras iniciales suman lo mismo que la
cantidad de céntimo (2+2=4), la cuenta está bien. Sin embargo una cuenta del
"restaurante muchotimo" con un cargo de 61.29 nos llama la atención de
inmediato, puesto que 6+1=7, no 9. Seguro que no recordamos ni lo que hemos
comido o cuánto valía cada ración, pero la alarma salta enseguida: es hora de
llamar al restaurante y montar el pollo.
Otros usuarios han diseñado tácticas similares. Uno, por ejemplo, se limita a
usar números capicúa, esto es, 56.65 o 28.82. Es un sistema fácil de averiguar,
pero también fácil de comprobar. Otro caso que he visto usaba los céntimos como
una especie de código recordatorio para sí mismo: usaba la cantidad en céntimos
para codificar información en base 2. Un restaurante estupendo se llevaba un 0;
uno bueno, 32; uno regular, 64. A continuación, sumaba 16 si las bebidas eran
buenas; 8 si tenía comida vegetariana; 4 si había conexión wifi; y un número
entre 0 y 3 según la cantidad de personas que habían pagado (una, dos, tres o
más de tres personas). Y si el lugar era malo para no volver, se limitaba a
escribir el número 96. Así, un restaurante bueno (32) con comida vegetariana
(8), sin conexión wifi y en el que se ha compartido el pago con otra persona (1)
recibía un total de 32+8+1=41. Así que la cuenta debería acabar con 41 céntimos.
Sistemas "checksum" como el mencionado aquí son tan efectivos como sencillos, y
se usan en más aplicaciones de las que nos imaginamos. Seguro que usted le
encuentra otra aplicación. ¿Por qué no nos la cuenta?
CRIPTOGRAFÍA HISTÓRICA - Colossus, el proyecto redivivo
Se
dice incorrectamente que el primer ordenador del mundo fue creado en Bletchley
Park para descifrar mensajes Enigma. Es cierto que los genios británicos
diseñaron una máquina muy similar en función a los ordenadores actuales. Pero no
fue diseñada para vencer la máquina Enigma, sino otro tipo de máquinas
cifradoras alemanas aún más peliagudas. Si creen que Enigma les daba dolor de
cabeza, prepárense a conocer a lo mejor de lo mejor en el campo de la
criptología alemana: los "pescaditos".
Aunque la máquina Enigma transportaba mensajes vitales para el esfuerzo de
guerra alemán, su uso era de tipo táctico, comunicando unidades militares entre
sí. Pero la información estratégica más vital, la que realmente decidiría el
curso de la guerra, viajaba protegida por un sistema de tráfico de teleimpresión.
La información era codificada en paquetes de 5 bits (el llamado código Baudot),
lo que permitía representar letras, números y algunos signos. La letra A, por
ejemplo, podía ser igual a la cadena de símbolos ++---, donde + representa un
impulso y - un espacio. Es en esencia idéntico a nuestra codificación binaria
actual, con la diferencia de que nosotros usamos ristras de 8 bits (lo que
permite un total de 256 posible símbolos).
El tráfico de teleimpresión iba cifrado por medio de dos máquinas
fundamentalmente: la Lorenz SZ 40/42, apodada "Tunny" (Atún), y la Siemens &
Haslke T52 o "Sturgeon" (Esturión). El lector interesado puede ver fotografías
de ambas máquinas en el Museo Camazón del Taller de Criptografía:
http://www.cripto.es/museo.htm
(visitas del National Cryptologic Museum y Bletchley Park).
El funcionamiento de estas máquinas era sencillo. En esencia, lo que hacían era
"sumar" el texto llano a una ristra aleatoria de bits. Esta suma es del mismo
tipo que la de dígitos binarios actuales: 0x0=0, 1x0=0x1=1, 1x1=0. Sustituyan 0
y 1 por - y +, y listo. Por ejemplo, el símbolo de cinco bits ++--- (la letra A)
se puede sumar con el símbolo aleatorio -++-+ (que me acabo de inventar) para
dar -+-+- (que resulta ser el símbolo para la letra Y). Para descifrar, sumo el
símbolo cifrado - -+-+- con la clave aleatoria -++-+ y vuelvo a obtener ++---
Es algo parecido al método conocido como Libreta de Uso Único (OTP). El problema
es que no podemos hacer que dos máquinas generen los mismos números aleatorios
como clave. En su lugar, los técnicos alemanes diseñaron un sistema de
generación de bits pseudoaleatorios. Es decir, no son realmente aleatorios, pero
casi como si lo fuesen. El conjunto de bits de clave se formaba mediante un
sistema de ruedas con agujas que podían ser ajustadas a voluntad. La máquina
Lorenz ("Tunny"), en particular, usaba dos flujos pseudoaleatorios, llamados chi
y psi. El funcionamiento, pues de las máquinas Tunny eran muy diferentes a las
de las Enigma, pero tenían algo en común: era preciso "ajustarlas" con el mismo
estado (los "settings") para que pudieran trabajar al unísono.
En el caso de Tunny, había que determinar cuántas de las agujas de sus ruedas
estaban en qué posición. Puesto que Tunny tenía doce ruedas, y cada una de ellas
tenía un número variable de agujas (entre 23 y 61), el número de "settings" o
ajustes iniciales que un criptoanalista tendría que probar era enorme, del orden
de 160 trillones.
El descubrimiento de cómo operaba Tunny, y más importante, de cómo podía
vencerse a la máquina es una hazaña que no tiene nada que envidiar a las de los
equipos de Enigma. Pero dejaremos el criptoanálisis para otra ocasión. Baste
decir que se unieron similares circunstancias: brillantes cerebros por parte
inglesa y diversos errores por parte alemana. En una ocasión, se interceptaron
dos mensajes casi idénticos que habían sido cifrado de la misma forma. Eso les
dio a los ingleses el conocimiento de casi 4.000 "letras" de clave. A partir de
ahí, algunas de las mejores mentes inglesas (incluido el propio Turing)
consiguieron averiguar el funcionamiento de Tunny.
Pero había un problema. Para llevar sus métodos a la práctica, necesitaban
codificar el flujo pseudoaleatorio y efectuar múltiples correlaciones, lo que
llevaba demasiado tiempo. Eso les obligó a diseñar una máquina computadora
programable a base de cinta perforada y válvulas electrónicas. Nació así una
máquina a la que llamaron Colossus. En enero de 1944, tras múltiples pruebas,
fue puesta en funcionamiento en Bletchley Park.
Colossus proporcionó a los aliados información vital sobre las intenciones
alemanas. Ayudó a conocer hasta qué punto Hitler se había creído el "farol"
aliado sobre la invasión del continente. El resultado: los aliados desembarcaban
en Normandía mientras el ejército alemán les esperaba en Calais. Durante el
resto de la guerra, diez Colosos consiguieron descifrar 63 millones de
caracteres de comunicaciones alemanas del más alto nivel. Información que valía
su peso en oro.
Sin embargo, con el final de la guerra en Europa los Colosos desaparecieron del
mapa. Casi todos ellos fueron desmantelados por órdenes de Churchill, quien no
quería que el secreto se hiciese público. Sólo uno o dos Colosos sobrevivieron:
fueron trasladados al GCHQ (la NSA británica), donde estuvieron en
funcionamiento hasta los años 60, fundamentalmente en tareas de entrenamiento.
Los diseños, planos y gráficos fueron destruidos, y los técnicos fueron
advertidos en los términos más estrictos de lo que sucedería si decían una sola
palabra. De ese modo, Gran Bretaña dejó pasar (!una vez más!) la ocasión de
convertirse en una potencia tecnológica, y la primacía de los ordenadores pasó a
sus primos norteamericanos.
Sin embargo, el recuerdo de Colossus sobrevivió. En los años 70 y 80, algunos de
sus creadores recibieron finalmente permiso para hablar. Algunas viejas
fotografías reaparecieron. Y un hombre se dedicó a la tarea de resucitar al
viejo coloso. Este hombre es Tony Sale. Su web sobre códigos y máquinas de
cifrado de la Segunda Guerra Mundial (http://www.codesandciphers.co.uk)
es una referencia imprescindible para todos los aficionados al tema.
En 1989, Tony Sale fundó un grupo llamado Computer Conservation Society con el
fin de preservar la información conocida sobre ordenadores y máquinas
computadoras antiguas. Dos años más tarde, en 1991, se puso en contacto con el
mundo de Bletchley Park. En aquellos tiempos, BP estaba a punto de ser demolido
para dar paso a una urbanización y un supermercado (el cual, según sus palabras,
era tan necesario como "un agujero en la cabeza"). Tony fue uno de los que
tomaron la salvación de BP como una cruzada, y entre otras cosas se le ocurrió
que podía intentar reconstruir a Colossus. Así que en 1993 recopiló toda la
información disponible (no mucha, por desgracia) y se puso manos a la obra.
Su labor le llevó a entrevistar a algunos integrantes del equipo original de
Colossus (mentes con ya ochenta años de existencia), incluyendo a Tommy Flowers,
el padre de la criatura. Según sus propias palabras: "ambos [mi esposa y yo]
sentíamos que, si no se llevaba a cabo un esfuerzo inmediato, no quedaría nadie
vivo para ayudarnos con recuerdos de Colossus". Uno de los entrevistados, Allen
Coombs, había tenido un ataque al corazón y estaba terriblemente enfermo, pero
cuando Tony Sale fue a visitarle no podía pensar en otra cosa que en ayudarle.
Al final de la charla, Coombs le entregó un tesoro: diagramas, documentos y
notas que había ocultado a sus superiores de forma totalmente ilegal. Gracias a
esta violación de las leyes, el proyecto de econstrucción de Colossus pudo
seguir adelante.
El proyecto unipersonal de Tony siguió adelante por su propia iniciativa, sin
más apoyo financiera que el de su propio bolsillo. La ayuda oficial brillaba por
su ausencia. La respuesta oficial del GCHQ al proyecto fue un "!ni lo sueñe!"
Contó, eso sí, con un apoyo institucional en la persona del Duque de Kent, primo
de la Reina Isabel. En Julio de 1994, el Duque inauguró oficialmente el Proyecto
de Reconstrucción Colossus, y en junio de 1996 volvió a Bletchley Park para
poner en funcionamiento el primer prototipo, incompleto aún pero que ya
funcionaba. Era una fecha simbólica, porque los norteamericanos estaban
celebrando el 50º aniversario de ENIAC, que era considerado el primer ordenador
del mundo.
Resulta irónico que precisamente Estados Unidos haya proporcionado gran parte de
la información precisa para construir de nuevo al Coloso. En 1996 el gobierno
norteamericano desclasificó una montaña de documentos sobre criptografía y
criptoanálisis (yo tuve la ocasión de bucear en dichos documentos durante una
visita en 2003, y fue toda una gozada). Entre la información que se hizo pública
figuraba un informe sobre los trabajos británicos contra Fish y otros documentos
que resultaron de gran importancia para el proyecto.
En los años siguientes, Tony se dedicó a solventar mil y un problemas técnicos.
El reto era pasar del primer modelo de Colossus (el Mk 1) al modelo "final" o Mk
2, que fue el utilizado en Bletchley Park hasta el fin de la guerra. El lector
podrá ver algunas fotos del Coloso en ciernes en
http://www.cripto.es/museo/bp2002/bp.htm.
Y, por fin, Colossus ha vuelto a la vida. Es una de las joyas del recientemente
inaugurado Museo Nacional de la Computación (National Museum of Computing,
http://www.tnmoc.org.uk) que ocupa en
Bloque H de Bletchley Park, el mismo lugar donde se guardaba la máquina
original.
¿Y qué mejor forma de demostrar su buen funcionamiento que descifrando mensajes?
Dicho y hecho. El 15 de noviembre, el Museo anunció el Desafío (Cipher Challenge
Event). Ese día y el siguiente, desde Paderborn (Alemania) se enviarían por
radio un total de tres mensajes cifrados con la máquina Tunny. En Bletchley Park,
una estación de interceptación ("Y station") similar a las usadas durante la
Segunda Guerra Mundial captaría la transmisión. Dos grupos de rompecódigos
esperaban allí. Uno de ellos intentaría descifrar los mensajes usando el
reconstruido Colossus; el otro emplearía un PC moderno. En paralelo a ello, un
emulador de Tunny serviría para descifrar el mensaje (no se pudo emplear una
Tunny real). Y, por supuesto, cualquier radioaficionado podría captar la
transmisión e intentarlo por su cuenta.
Para ayudar en la tarea, se facilitaron datos sobre algunos de los "settings"
necesarios para ajustar el cifrador Tunny. El segundo mensaje daba menos datos
que el primero, y el tercero menos aún. De ese modo, cada mensaje era más
difícil de descifrar que el anterior. Y se esperaba una competición reñida, ya
que las primeras estimaciones indicaban que Colossus sería por lo menos tan
rápido como un PC moderno a la hora de destripar los mensajes.
Pero resultó mucho más difícil de lo que parecía. Incluso antes de comenzar, el
Desafío presentó problemas. Los receptores de Bletchley Park tenía problemas de
estabilidad. La máquina Tunny que desde Paderborn debía cifrar los mensajes tuvo
un fallo el día antes, y sólo una reparación de urgencia pudo salvar el honor de
los ingenieros alemanes. El jueves 15 primer día del desafío, las antenas de
Bletchley Park apenas podían captar las señales de Paderborn, y sólo llegó uno
de los tres mensajes cifrados. Para entonces, un criptógrafo aficionado había
logrado captar el mensaje más difícil de los tres y decifrarlo.
El nuevo Colossus había sido derrotado. Y, para mayor humillación, !el ganador
era alemán! Su nombre es Joachim Schüth, de Bonn, y utilizó un programa en
lenguaje Ada corriendo en un portátil con 1.4 GHz de CPU con sistema operativo
NetBSD. El equipo Colossus de BP consiguió descifrar correctamente el mensaje el
día siguiente, viernes 16, a las 1:15 de la tarde, con un tiempo de ejecución de
3 horas y 35 minutos (más 45 minutos extra por una válvula estropeada).
El trabajo de Schüth fue impecable, ya que consiguió obtener los "settings" en
tan sólo 46 segundos (aunque el tiempo total que invirtió, incluyendo captación
y transcripción, fue de dos horas). Él mismo reconoce lo injusto del desafío: "Colossus
fue un invento ingenioso y un hito en la historia de la computación. Pero la
tecnología ha evolucionado mucho desde entonces" No sólo eso, sino que pone a
disposición de todos el software que escribió para vencer a Tunny. No hay más
que pasarse por la página web
http://www.schlaupelz.de/SZ42/SZ42_software.html
La historia no se repite, y han sido los alemanes quienes han mojado la oreja
(criptográficamente hablando) a los ingleses. Pero el esfuerzo que representa
Colossus, tanto el original de los años 40 como su reconstrucción actual, puede
quedar como una de las grandes hazañas de la ruptura de códigos. Lo que sí es
cierto es que el desafío Colossus ha servido para dar una gran publicidad a la
idea de un museo sobre ordenadores. Según afirma el diario inglés The Guardian,
esto debería ser no un final, sino un principio: "existe ahora la oportunidad de
hacer a Colossus el centro de un memorial permanente a los pioneros de la
industria de la computación"
LIBERTAD VIGILADA - Las conclusiones de la Comisión Echelon
[NOTA: El artículo del boletín pasado, "El Parlamento Europeo, alarmado" fue
citado como "Segunda parte, capítulo 22"; la cita correcta es "Primera parte,
capítulo 21"]
[Extraído del libro "Libertad Vigilada", de Nacho García Mostazo, con permiso
del autor]
Segunda parte, capítulo 22:
El 13 de julio de 2001, la "comisión temporal" del Parlamento Europeo aprobó el
informe definitivo de Gerhard Schmid por 27 votos a favor, 5 en contra y 2
abstenciones. Su aprobación en el Pleno de la Eurocámara se retrasó hasta el 5
de septiembre, cuando se iniciaron nuevamente las sesiones tras las vacaciones
de verano, y recibió 367 votos a favor, 159 en contra y 34 abstenciones. El
documento, de casi doscientas páginas, cumplía todos los objetivos marcados por
la Mesa del Parlamento un año antes, cuando ordenó la creación de la "comisión
temporal" de investigación sobre "Echelon". Pero también matizaba algunos
aspectos, como la capacidad de la red de espionaje, a la que atribuía una
capacidad limitada. Este aspecto provocó intensos debates políticos en el seno
de la propia comisión, ya que los diputados del grupo Verde y los de Izquierda
Unitaria acusaban al resto de acotar deliberadamente sus argumentos cumpliendo
las órdenes de sus respectivos gobiernos. [1]
Así, el informe definitivo de la comisión reconocía que "no hay ninguna razón
para seguir dudando de su existencia (la de "Echelon") a nivel mundial", pero
subrayaba que "ni mucho menos" tiene las dimensiones que se presuponían. Como se
ha mencionado en capítulos anteriores, el término "Echelon" sólo se refiere a la
red de interceptación de comunicaciones vía satélite compartida por los países
del tratado UKUSA. En efecto, su capacidad es menor si se valora al margen del
resto de programas norteamericanos de espionaje, que incluyen la interceptación
de comunicaciones por radio, cables transoceánicos, tráfico de Internet, etc.,
pero también es cierto que Estados Unidos no comparte estos otros sistemas de
espionaje con sus socios del pacto UKUSA. En este sentido, el ponente del
informe se limitó a respetar escrupulosamente el mandato a la comisión temporal
y centró sus explicaciones sólo en la red "Echelon", lo que motivó el voto en
contra o la abstención de algunos eurodiputados. [2]
Pese a las quejas sobre la carencia del informe, su aprobación en el Pleno del
Parlamento Europeo supuso un importante respaldo a quienes llevaban años
denunciando la existencia de "Echelon". Además, la Eurocámara también votó a
favor de una Resolución que instaba a las instituciones comunitarias y a los
Estados miembros a tomar decisiones concretas para proteger la intimidad de los
ciudadanos europeos. En concreto, mencionaba el artículo 12 de la Declaración
Universal de Derechos Humanos, que dice que "nadie será objeto de injerencias
arbitrarias en su vida privada, su familia, su domicilio o su correspondencia,
ni de ataques a su honra o a su reputación. Toda persona tiene derecho a la
protección de la ley contra tales injerencias o ataques". Este precepto está
redactado de forma muy similar en el Convenio Europeo para la Protección de los
Derechos Humanos y de las Libertades Fundamentales, así como en la Constitución
de cada país miembro de la Unión Europea.
Precisamente para defender estos derechos, la Eurocámara pedía a los Estados
"que proporcionen a todos los ciudadanos europeos las mismas garantías jurídicas
relativas a la protección de la vida privada y de la inviolabilidad de las
comunicaciones". Gracias al informe de la "comisión temporal", el Parlamento
Europeo también era consciente de que muchos países miembros no tenían ni
siquiera organismos de control para vigilar las actuaciones de sus propias
agencias de inteligencia, por lo que les pedía "que garanticen un control
parlamentario y jurisdiccional adecuado de sus servicios secretos". Con respecto
a Estados Unidos, la Eurocámara creía necesario firmar "un convenio entre la
Unión Europea y EE.UU. por el que se establezca que cada una de las partes
respeta [...] las disposiciones de protección de la vida privada de los
ciudadanos y de la confidencialidad de las comunicaciones de las empresas que se
aplican a sus propios nacionales y empresas".
La Resolución hacía una referencia concreta a Alemania por la presencia en su
territorio de una base "Echelon" norteamericana, pero también al Reino Unido por
ser miembro del pacto UKUSA y de la Unión Europea a la vez. A ambos países les
pedía que "en el futuro sólo autoricen la interceptación de las comunicaciones
por parte de los servicios de inteligencia de Estados Unidos en su territorio si
en esta actividad se respeta el Convenio Europeo para la Protección de los
Derechos Humanos y de las Libertades Fundamentales, es decir, si se respeta el
principio de proporcionalidad, si su fundamento jurídico es accesible y si sus
repercusiones sobre los individuos son previsibles, y que establezcan un control
eficaz en este sentido, ya que son responsables de que las actividades de
obtención de información desarrolladas por los servicios de inteligencia en su
territorio, independientemente de que estén autorizadas o únicamente toleradas,
están en conformidad con el imperativo del respeto de los derechos humanos".
Desde el punto de vista económico, la Resolución parlamentaria también
mencionaba implícitamente al Reino Unido al afirmar que, "si el sistema se
utilizase de manera abusiva para espiar a la competencia, sería incompatible con
el principio de cooperación leal que deben respetar los Estados miembros", de
manera que "la participación de un Estado miembro en un sistema de estas
características sería incompatible con el Derecho comunitario". Para proteger a
las compañías europeas del "espionaje industrial" llevado a cabo por "Echelon",
el Parlamento Europeo pedía a las empresas "que colaboren más estrechamente con
los servicios de contraespionaje y que, en particular, les comuniquen los
ataques procedentes del exterior con fines de espionaje industrial, para
aumentar el grado de eficacia de estos servicios". Asimismo, también solicitaba
a los Estados miembros que pudieran resultar perjudicados por el uso indebido
del espionaje que "informen de ello a las autoridades y órganos de control del
Estado" para tratar de averiguar desde dónde "se desarrollan tales actividades"
de "distorsión de la competencia" a fin de "poner fin a las mismas".
Estados Unidos y el Reino Unido habían justificado algunos actos de espionaje
económico afirmando que su objetivo era luchar contra la corrupción. Tales
excusas no convencieron a la Comisión Echelon y tampoco al Parlamento Europeo,
que en su Resolución denunciaba que "los servicios de inteligencia de Estados
Unidos no sólo informan sobre la situación económica general, sino que además
escuchan detalladamente las comunicaciones de las empresas precisamente cuando
se trata de la concesión de contratos". Así, "existe el peligro de que la
información no se utilicen para luchar contra la corrupción, sino para espiar a
la competencia, por mucho que Estados Unidos y el Reino Unido declaren que no lo
hacen". Asimismo, la Eurocámara subrayaba que "sigue sin estar claro el papel
que desempeña el 'Centro de Interlocución' (Advocacy Center) del Departamento de
Comercio de Estados Unidos".
La Resolución parlamentaria también se hacía eco de la polémica provocada por la
declaración del funcionario europeo Desmond Perkins ante la "comisión temporal".
Instaba a la comisión "a que ponga al día su sistema de encriptación, ya que es
urgentemente necesario modernizarlo" y le pedía que "garantice la protección de
los datos en su propio sistema de tratamiento de datos" y "que intensifique la
protección de los documentos que no sean públicos". También instaba a las
instituciones comunitarias y a las Administraciones Públicas de los Estados
miembros a que "encripten sistemáticamente sus mensajes electrónicos para que, a
la larga, esta práctica se convierta en norma habitual" y solicitaba que
promovieran "cursos de formación" para los funcionarios.
En cuanto a las medidas concretas para impulsar la "autoprotección" de los
ciudadanos, el Parlamento Europeo instaba "a la comisión y a los Estados
miembros a que informen a sus ciudadanos y empresas sobre la posibilidad de que
sus comunicaciones internacionales puedan ser interceptadas en determinadas
circunstancias" e insistía "en que esta información vaya acompañada de una
asistencia práctica para el diseño y la puesta en práctica de medidas globales
de protección, incluida la seguridad de la tecnología de la información". Para
ello, pedía a la comisión y a los Estados miembros que apoyaran proyectos cuyo
objeto sea "el desarrollo de programas de encriptación fáciles de usar y cuyo
código fuente sea público".
El "código fuente" es la programación que hay detrás de cualquier aplicación
informática y el Parlamento Europeo pedía precisamente que se fomentara el uso
de este software público porque los elaborados en Estados Unidos (como el
sistema operativo Windows y los programas Netscape Navigator y Lotus Notes) no
desvelan su programación y pueden tener "puertas traseras", como reveló Duncan
Campbell en su informe a la Eurocámara cuando mencionó la "reducción del factor
trabajo" en los navegadores de Internet y programas de correo electrónico
fabricados en Norteamérica para su exportación. De hecho, la Eurocámara se
mostró especialmente sensible al instar "a la comisión y a los Estados miembros
a que fomenten los proyectos de programas informáticos de código fuente abierto,
ya que éste es el único modo de garantizar que no ofrezcan 'puertas traseras'
que puedan hacerlos vulnerables". El Parlamento Europeo también pedía a la
comisión que "determine la calificación del nivel de seguridad de los programas
informáticos destinados al intercambio de correspondencia electrónica,
clasificando aquellos cuyo código fuente no sea público en la categoría menos
fiable".
[1]. Agencia Efe. "UE-ESPIONAJE / PE demuestra existencia red mundial espionaje
de comunicaciones." Teletipo. Estrasburgo, 5 de septiembre de 2001.
[2]. "Resolución del Parlamento Europeo sobre la existencia de un sistema
mundial de interceptación de comunicaciones privadas y comerciales (sistema de
interceptación 'ECHELON')." 5 de septiembre de 2001. Doc. 2001/2098 (INI).
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 2008
Vuelta a la Página principal del Boletín ENIGMA