Fecha: 16 Marzo 2001
Con la excepción del venerable (y ya próximo a la jubilación) DES, los
algoritmos de cifrado usados por los teléfonos móviles son los más usados en el
mundo. Cada vez que un usuario echa mano de su móvil, un sofisticado sistema de
protocolos criptográficos se pone en marcha. El objetivo es hacer la
conversación impenetrable a fisgones indeseables, al menos en el tramo de la
conversación comprendido entre el teléfono y la estación base que recibe la
llamada. ¿Cómo son esos algoritmos? ¿De qué tipo? ¿Son seguros?
En este Taller de Criptografía no podíamos menos que involucrarnos en el
asunto. Casualmente, pocas horas antes de escribir estas palabra, el Chapucero
Jefe escuchaba atentamente un noticia en Informativos Telecinco sobre la
seguridad de los teléfonos móviles. El caso es que recientes descubrimientos han
puesto en tela de juicio la seguridad de las comunicaciones móviles. Veamos qué
hay de cierto, y qué de leyenda urbana. No voy a desvelar el final de la
película, así que a ponerse cómodo y a aprender se ha dicho.
Antecedentes y precedentes
Hasta el advenimiento de la telefonía móvil, y con raras excepciones, las
conversaciones telefónicas no han incluido una protección mediante cifrado. Los
motivos son diversos. Aparte las motivaciones conspirativas del tipo "el
gobierno no quiere que cifremos para poder oír todas nuestras llamadas" (que de
todo hay en esta viña), el hecho es que antes de la invención de la telefonía
digital era muy difícil cifrar llamadas. Los sistemas de encriptación actuales
-basados en algoritmos y códigos ejecutados en sistemas informáticos- son
inaplicables en telefonía analógica, ya sea fija o móvil. Sería como intentar
usar Word o Excel en una máquina de escribir.
Existían, eso sí, dispositivos "mezcladores" [scrambler] que permitían
embarullar la conversación de forma que no pudiese ser oida por terceros. Esto
resulta más difícil de lo que parece, puesto que el ser humano tiene una
asombrosa capacidad para "corregir errores" y entender voces incluso fuertemente
alteradas. Los mezcladores existentes estaban destinados a proteger llamadas en
entornos de alto secreto (redes diplomáticas o militares), y ciertamente no
estaban al alcance de ciudadanos de a pie.
Incluso en la década de los noventa, los teléfonos seguros estaban fuera de
límites. Bruce Schneier, en su Applied Cryptography (2ª Edición, 1996)
menciona un teléfono diseñado por la NSA (Agencia de Seguridad Nacional) llamado
STU, que utilizaba sistemas criptográficos de clave pública, y que sería usado
por el Departamento de Defensa de EEUU y sus contratistas. Existe una versión
comercial, pero tiene sus sistemas de cifrado muy debilitados, y una versión
para la exportación, más insegura todavía.
Posteriormente, la NSA volvió a la carga con el Surity 3.600, modelo
fabricado (al igual que el STU) por la AT&T. Su seguridad vendría de la mano del
chip Clipper, que usaba un algoritmo llamado Skipjack. Con su clave de 80 bits,
hubiese sido una buena opción... de no ser por la insistencia por parte del
gobierno de quedarse con una copia de la clave usada por cada teléfono. Aunque
se intentó persuadir a las empresas para que lo usasen como estándar, al final
no fue usado ni por el propio gobierno norteamericano.
Resulta digno de mención el proyecto PGPfone. Fue un intento por parte de
Philip Zimmermann de dotar a las conversaciones de voz transmitidas por Internet
de la misma seguridad que otorga a los mensajes de correo electrónico el
programa PGP. Desafortunadamente, parece que nunca tuvo éxito comercial, y a
pesar de los esfuerzos de Will Price y del propio Zimmermann, no pasó de la
versión 2.1 y no llegó a ser comercializado.
Digital y
móvil
Con el advenimiento de la telefonía móvil, el cifrado se convirtió en una
necesidad. Para "pinchar" un teléfono fijo, antiguamente había que introducirse
físicamente en el sistema, sea en la central telefónica, en los cables de
transmisión o en el propio teléfono. ¿Quién no ha visto en una película al
agente federal de turno insertar un micro o pinchar unos cables con clips de
cocodrilo?. Pero si usamos un teléfono móvil, el tramo final de la conversación
(entre la estación base y el teléfono) tiene lugar en el aire mediante
microondas. Estas, a fin de cuentas, no son sino un tipo de ondas de radio, y
pueden ser captadas con un receptor adecuado. La situación no es muy diferente,
en ese sentido, de las conversaciones entre radioaficionados de onda corta.
Así pues, los teléfonos móviles de primera generación (los analógicos)
carecían de protección contra escuchas ilegales. En España, hasta donde yo sé,
solamente Moviline comercializó este tipo de sistemas. Y aunque eran inseguros,
no hubo mucha gente que cayera en ese detalle. A fin de cuentas, eso de
liberarnos del cable y caminar por la calle con el teléfono en la mano y aires
de superioridad era ya novedad suficiente para los usuarios de la nueva
telefonía.
Pero como contrapartida, se emitían al éter conversaciones confidenciales de
personas que creían hablar por un teléfono más seguro que los de tipo fijo. En
un caso que se hizo famoso, el dirigente del PSOE Txiqui Benegas sufrió el
pinchazo de su móvil por parte de un grupo de avispados periodistas. El grado de
desconocimiento sobre los problemas de la telefonía móvil analógica era tal que
el propio Benegas se negó a creer que le habían interceptado las llamadas,
replicando que "iba a más de 200 km/h, y es imposible que me hayan pinchado el
móvil." Dejando aparte el riesgo de accidente inherente a una carrera a tales
velocidades por las calles de Madrid, creo que alguien debiera haber informado
al señor Benegas sobre la velocidad de las ondas electromagnéticas...
En cualquier caso, la segunda generación de telefonía móvil aparecía en el
horizonte. Al contrario que su hermana, ésta usaba tecnología digital. Como
consecuencia de ello, el usuario tenía un canal de comunicación más claro y
libre de interferencias. Y más seguro, porque las señales digitales se pueden
cifrar a conveniencia. Recordemos que ello no significa un cifrado durante todo
el recorrido de la llamada, sino solamente entre la estación base y el teléfono
receptor; el resto del camino, la señal va sin cifrar. Pero por fin se pudo
cerrar la "ventana de vulnerabilidad" base-receptor. Al mismo tiempo, se
perfeccionan los sistemas de autenticación, de manera que nadie puede "clonar"
un móvil y hacerse pasar por otro. A cada uno, su móvil ... y su factura.
Pero si hay algo que los fieles lectores de estos Informes habrán aprendido
a estas alturas, es que en el mundo de la criptografía suele haber un buen
trecho entre teoría y práctica. ¿Cómo han respondido los móviles a las pruebas
del mundo real?
El debilucho
primo americano
Las siglas GSM son para los europeos sinónimas de móvil digital, pero no
sucede así en Estados Unidos. En 1992, su Asociación de Industrias de
Telecomunicaciones (TIA) desarrolló un conjunto de estándares para la
integración de las tecnologías de cifrado en sus sistemas de telefonía celular
avanzada. Se eligieron los mejores sistemas diseñador por sus mejores técnicos.
Sin embargo, el proceso se llevó a cabo en un ambiente cerrado, sin escrutinio
público y sin revisión por parte de expertos externos. Y, como en muchos otros
casos de "seguridad mediante oscuridad", esto resultó ser una mala idea.
Ya en 1992 se pudo comprobar que el algoritmo usado para el cifrado de voz
era inseguro (esto no significa necesariamente que sea inútil, pero sí que es
cuando mínimo mucho menos fuerte de lo que se suponía que debería ser).
Posteriormente fue atacado el algoritmo usado para cifrar servicios de datos. Y
en 1997, se anunció que su algoritmo CMEA era asimismo inseguro. Para no
extendernos en explicaciones, baste decir que CMEA protegía los números que se
pulsaban en el teclado del móvil, incluyendo los del código de identificación (PIN).
La historia de la ruptura de CMEA y sus repercusiones no tiene desperdicio.
Para empezar, CMEA es un código de cifrado con clave de 64 bits. Eso significa
que, de haber estado bien diseñado, un atacante habría tenido que probar 2^64
claves distintas. O dicho en lenguaje técnico, tendría un "factor de trabajo" de
64 bits. Sin embargo, David Wagner, Bruce Schneier y John Kelsey mostraron que
el factor de trabajo real estaba entre 24 y 32 bits. Es decir: a todos los
efectos, es como si el algoritmo tuviese solamente entre 24 y 32 bits. Puede
hallarse el artículo que muestra dicho ataque en la página de
Counterpane.
Pongamos el consabido ejemplo del maletín con cerradura de combinación. Una
combinación de tres digitos que varían entre 0 y 9 nos da un total de 1.000
posibles combinaciones. Así, un ladrón que no conozca la combinación tendría que
probar los 1.000 posibles números. Ahora bien, supongamos que haya un error de
diseño, gracias al cual un ladrón inteligente solamente tuviese que probar las
combinaciones que fuesen múltiplos de tres. Esto significa que solamente habría
que probar 333 números. De repente, la tarea del ladrón se ha hecho tres veces
más fácil. En el caso de CMEA, el trabajo del atacante se ha hecho hasta un
billón de veces más sencillo. Conclusión: las escuchas, que antes eran poco
menos que imposibles, se hacen factibles.
Las reacciones al ataque WSK (Wagner, Schneier, Kelsey) son dignas de pasar
a la historia del disparate. En un comunicado, la CTIA (Asociación de Industrias
de Telecomunicaciones Celulares) se defiende afirmando que:
el algoritmo de cifrado de voz no fue atacado en esta ocasión. Cierto. Pero ese algoritmo ya fue atacado en 1992. De hecho, estaba basado en el cifrado Vigenère, que fue reventado !durante la década de 1.850!
el ataque requiere "conocimientos criptográficos muy sofisticados" Por lo que yo he visto, cualquier criptógrafo medianamente competente podría entender y aplicar dichos conocimientos.
cualquier tecnología desarrollada por una persona puede ser reventada por otra con la aplicación de la suficiente tecnología. Cierto. Pero me pregunto: si me venden una puerta acorazada y un atacante consigue abrirla con un abrelatas, ¿sirve esa explicación como consuelo?
es irrelevante para los usuarios de telefonía analógica. Claro que los teléfonos analógicos no sufren ataques criptoanalíticos: !no tienen sistemas de cifrado en absoluto!
un teléfono con algoritmos de cifrado seguro sería inviable por su coste y exigencias técnicas. Aunque como afirma Schneier, "se requiere más procesamiento computacional para digitalizar la voz que para encriptarla."
El lector interesado
puede leer por sí mismo el
comunicado de la CTIA y la
respuesta de Bruce Schneier.
Resulta asimismo muy instructivo leer los comunicados de prensa de algunas
de las empresas fabricantes de teléfonos analógicos.
Qualcomm, sin reconocer ni negar la veracidad del ataque WSK, se ratifica en
la necesidad de aumentar la seguridad y privacidad para los usuarios.
Pacific Bell Mobile Services afirma tajante que las escuchas telefónicas son
actividades ilegales, si bien tanto esta empresa como
Omnipoint y Powertel
afirman ser inmunes a este ataque. El motivo es que no usan CMEA ni ningún otro
algoritmo de la TIA. En su lugar, han preferido apostar por una tecnología de
allende los mares, denominada GSM. "Nuestra tecnología pone una sólida barrera
contra intentos de intrusión electrónica", llega a afirmar Omnipoint
Pero como dijo Pedro Navaja, sorpresas te da la vida.
Entra el GSM
Por qué son los protocolos criptográficos de los teléfonos móviles
norteamericanos es un tema de debate. Algunos ven tras ello la mano de la
poderosa NSA, que durante décadas se ha esforzado en restringir el uso de
criptografía fuerte. Otros lo explican en términos de simple incompetencia,
sazonada con algo de arrogancia. Probablamente habrá de todo un poco. En
cualquier caso, los ataques anteriormente descritos elevaron la cotización de la
telefonía GSM.
El sistema GSM (Global System for Mobile communications, o Grupe Speciál
Mobile, que en esto no hay unanimidad) fue desarrollado por el Instituto Europeo
de Estándares en Telecomunicaciones ETSI para
proporcionar un estándar común a los sistemas de telefonía móvil en el viejo
continente. Al igual que en el caso norteamericano, se incluyeron un conjunto de
protocolos criptográficos para proporcionar tanto confidencialidad como
autenticación. Son los siguientes:
A3 Es el algoritmo de autenticación. Es el que hace que cada teléfono móvil sea único. Permite, entre otras cosas, saber a quién hay que cobrar la llamada.
A5 Es el algoritmo de cifrado de voz. Gracias a él, la conversación va encriptada. Se trata de un algoritmo de flujo [stream cipher] con una clave de 64 bits. Hay dos versiones, denominadas A5/1 y A5/2; esta última es la versión autorizada para la exportación, y en consecuencia resulta más fácil de atacar.
A8 Es el algoritmo que genera claves tanto para autenticación (A3) como para encriptación (A5). Básicamente, se trata de una función undireccional parecida a las funciones "hash" (tipo MD5 o SHA-1) que permiten la firma digital en los documentos electrónicos.
COMP128 Es un algoritmo que permite funcionar a los A3 y A8. Las especificaciones GSM permiten el uso de varios tipos de algoritmos como "corazón" de A3 y A8. COMP128 es uno de ellos. No es el único posible, pero sí uno de los más usados.
Y ahora, agárrense,
porque para entender los ataques contra los algoritmos GSM hemos de explicar
cómo funcionan. No se preocupen, que no vamos a sacar código fuente ni funciones
matemáticas. Simplemente, vamos a explicar los rasgos básicos de su
funcionamiento. Apuesto a que lo hallará bastante instructivo.
Supongamos que usted va tan tranquilo por la calle cuando decide llamar a su
suegra. Inserta su número PIN (si es que no lo hizo con anterioridad), y
mientras usted se pega el auricular a la oreja, en las tripas electrónicas de su
móvil se llevan a cabo los siguientes pasos:
Su teléfono toma de la tarjeta (SIM) una clave que estaba almacenada en su interior. Llamaremos Ki a dicha clave.
A continuación, el teléfono toma ciertos datos aleatorios que se intercambian entre éste y la estación base más cercana. A este paquete de datos se le suele llamar "semilla aleatoria" [random seed].
El conjunto clave+semilla son transformados mediante el algoritmo de autenticación A3. El resultado de dicha transformación es enviada a la estación base.
La estación base autentica la identidad del llamante. Es decir, toma los datos de semilla aleatoria y la clave del teléfono Ki (que están almacenados a disposición de dicha estación) y realiza la comprobación.
Si la estación base ha quedado satisfecha con los resultados de la comprobación, da vía libre a la comunicación. Toma la clave del teléfono Ki y una semilla aleatoria para crear una clave de sesión Kc, de 64 bits de longitud. Esa clave es usada para encriptar la comunicación, gracias al algoritmo A5.
Y eso es todo. El
resto son detalles triviales: que el teléfono receptor tenga cobertura, que no
se quede usted sin batería, que no salte el contestador ... pecata minuta. Los
algoritmos han cumplido su función.
Véase, por lo tanto, cómo la autenticación de la llamada recae sobre el
algoritmo A3, en tanto que la confidencialidad de ésta es tarea de A5. Ambos
algoritmos requieren de una clave, generada mediante A8. De hecho, los
algoritmos A3 y A8 suelen tratarse prácticamente como si fuesen uno solo.
¿Y qué pinta el COMP128? Como he dicho, es una de las posibles variantes que
se pueden usar en A3 y A8. Digamos que, si A3 y A8 fuesen un modelo de
automóvil, COMP128 sería uno de los motores que pueden llevar en su interior (TDi,
gasolina, inyección directa, GTi...). Se supone que cada empresa de
telecomunicación puede usar su propio algoritmo. Pero en la práctica, la gran
mayoría de ellas se limitaron a implementar COMP128, que es el algoritmo de
prueba presente en las especificaciones técnicas (Vodaphone, según Marc Briceno,
es una de las compañías que NO utiliza COMP128).
Y ya basta de tecnicismos. Pasemos al ataque
Ataque al A3
Puesto que A3 es el algoritmo de autenticación, su ruptura permitiría
"clonar" teléfonos, es decir, hacer que un tercero utilizase el mismo número de
teléfono que otro ... y le cargase a éste las facturas. Ni que decir tiene que
las telecos se guardarían mucho de permitir que eso ocurriese.
En Abril de 1998, se publicó la noticia de que Ian Goldberg y David Wagner
(del grupo ISAAC de la Universidad de Berkeley), junto con Marc Briceno (de la
Smartcard Developer Association) consiguieron "clonar" un móvil que usaba
COMP128 como algoritmo de A3 y A8. Lo que hicieron se denomina ataque mediante
texto escogido [chosen-challenge attack]. Básicamente, "interrogaban" al
teléfono de forma controlada. Cotejando los datos emitidos por el móvil, los
investigadores consiguieron obtener la clave Ki, que como vimos
anteriormente se utilizaba para autenticación.
El proceso requería acceso físico al teléfono, cierto equipo informático y
un proceso de interacción con el teléfono de unas 8 horas de duración. No es tan
rápido como hacer fotocopias, pero el hecho de que se pudiese extraer la clave
Ki del SIM con poco más de 150.000 interacciones hacía quedar mal tanto al
algoritmo como a sus dueños.
La GSM Alliance contraatacó
vigorosamente, intentando cuando menos minimizar los daños (recomiendo leer la
interesante lista de puntualizaciones redactada por
Jesús Cea Avión al respecto). En primer lugar, negaron que el ataque
permitiese clonar teléfonos, ya que no se pueden usar dos teléfonos con el mismo
número al mismo tiempo. Esto es discutible, cuando menos, ya que las redes de
telefonía móvil se diseñaron pensando que eso no sucedería, y muchas simplemente
no pueden adaptarse a la nueva situación.
A continuación, se cuidaron de recordar que el ataque requería acceso
físico. Es decir, habría que obtener el teléfono, interactuar con él y
devolverlo sin que su dueño se percatase (ya que llamar para desactivarlo es
cuestión de segundos). Sin embargo, hay que tener un hecho bien claro: un ataque
"en el aire" (interactuando desde el aire, sin acceso físico) no es imposible.
De hecho, los investigadores fueron incapaces de clonar un móvil "en el aire",
no porque no fuese técnicamente posible, sino porque es ilegal. De hecho,
David Wagner afirma
que:
Extensas conversaciones con ingenieros de GSM nos hacen concluir que los ataques "por el aire" deben ser considerados posible en la práctica para un atacante sofisticado. No hemos intentado aún construir una demostración de laboratorio (parece que sería ilegal, bajo las leyes de EEUU, hacer este tipo de investigación), pero los expertos de GSM con los que hemos hablado han confirmado que sería posible en teoría y en la práctica. Han informado de que diversos aspectos de los protocolos GSM se combinan para permitir montar el ataque matemático de entrada escogida sobre COMP128, si se pudiese construir una estación base falsa. Tal estación base no necesita soportar todo el protocolo GSM, y podría ser construida por unos 10.000 dólares
Es decir, que con un
par de millones de pesetas podríamos montar una estación "de pega" que se
dedicase a interrogar a todo móvil que permaneciese unas cuantas horas en su
radio de acción, 24 horas al día.
En algunos puntos las empresas usuarias de GSM tienen razón. Copiar
teléfonos mediante la técnica de interrogación electrónica mediante contacto
físico sería técnicamente difícil, y de resultados limitados, ya que el teléfono
clonado no puede en teoría usarse simultáneamente con el legítimo y no podría,
por tanto, usarse para espiar conversaciones. Pero sin duda tiene muchas
aplicaciones. Por ejemplo, es una buena herramienta para las agencias de
espionaje electrónico, grupos del crimen organizado y, en general, entidades con
recursos económicos y técnicos que tengan necesidad y ganas de complicarse la
vida si la recompensa lo requiriese.
Cualesquiera que fuesen sus resultados en la práctica, el hecho es que el
que se creía invulnerable algoritmo A3 resulta de calidad mediocre; o, para ser
más exacto, el algoritmo COMP128 usado por A3 resulta vulnerable. Resulta
especialmente llamativo el hecho de que COMP128 era un algoritmo secreto. Sin
embargo, los investigadores consiguieron recomponerlo mediante técnicas de
ingeniería inversa y diversos documentos (algunos públicos, otros filtrados de
una u otra forma). Esto no es sino otro recordatorio de que la técnica de
seguridad mediante oscuridad, simplemente, no funciona.
Y si tres científicos norteamericanos pudieron atacarlo, otros podrían
copiar dicho ataque. De hecho, a finales de Abril, el grupo alemán Chaos
Computer Club anunció que había puesto en práctica el ataque a A3 con éxito en
una de las redes alemanas GSM, llamadas D2. Incluso afirmaron que consiguieron
conectar a la red ambos teléfonos (el legítimo y el clonado) simultáneamente.
Como vemos, el esquema de "seguridad mediante oscuridad" simplemente no
funciona. Ya en 1997, dentro de la conferencia Global Communications Interactive
´97,
Ilhana Nurkic afirmaba que una de las debilidades en el diseño del sistema
GSM era la ausencia de la resistencia de los algoritmos usados. Y añadía:
"Parece que no es posible un cambio dramático positivo en el clima actual, donde
se mantiene el ´mito´ de la GSM segura... parece que los intereses comerciales y
políticos (de cortas miras) quieren explorar la infraestructura proporcionada
por GSM, así como las soluciones de seguridad fragmentadas y convencionales de
tipo GSM (que también permite la interceptación por motivos de ´interés último´)".
Como mínimo, los telecos no podrán decir que no estaban avisados.
Ataque al A5... en varios asaltos
Como hemos visto, el conocimiento de la clave Ki permite "clonar"
teléfonos. En principio, también permitirían descifrar la conversación, es
decir, poder escuchar lo que dos interlocutores hablan. Esto es posible porque
la clave de sesión Kc (usada para cifrar la llamada) se obtiene mediante
la clave Ki y una semilla aleatoria. Pero habría que obtener esa semilla
para cada conversación, y hay que recordar que el ataque anteriormente descrito
requiera horas o días. Y recordemos que solamente son vulnerables los sistemas
que utilicen el algoritmo COMP128 para autenticación y generación de claves. Por
ello, ni los propios autores estimaron que su método fuese útil en la práctica
para interceptar y descifrar la llamada. Pero se las arreglaron para darnos otro
susto.
Como ya se ha dicho, la clave de sesión Kc -usada por el algoritmo A5
para cifrar las llamadas- tiene una longitud de 64 bits. Esto significa que, si
el algoritmo estuviese bien diseñado, un atacante tendría que probar las 2^64
combinaciones posibles de claves para descifrar el mensaje. Y 2^64 son casi
veinte trillones, una cantidad grande. Está teóricamente al alcance de atacantes
bien organizados, pero sólo mediante esfuerzos enormes tanto en material como en
recursos económicos (véase los Informes 22 y
23). Demasiado trabajo para pinchar una simple llamada.
Sin embargo, Goldberg, Wagner y Briceno hicieron un inquietante
descubrimiento adicional. Su análisis de los algoritmos del sistema GSM
mostraron inequívocamente que, de los 64 bits de la clave de sesión Kc,
!diez de ellos son siempre iguales a cero! Este debilitamiento, aparentemente
deliberado, de la clave, pone las cosas 2^10 = 1.024 veces más fáciles a un
atacante interesado ... como, por ejemplo, una agencia de inteligencia con gran
presupuesto. Por supuesto, la industria no reconoce que sea ése el motivo. En
una vuelta de tortilla, afirmaron que los 10 bits proporcionan una "flexibilidad
adicional en respuesta a amenazas de fraudes y de seguridad." Este
debilitamiento se vio en todos las implementaciones del algoritmo generador de
claves A8, incluso las que no usaban COMP128. Es decir, parece ser una
característica global a toda la infraestructura GSM.
Segundo asalto: nótese que hace dos párrafos aparece el condicional "si el
algoritmo estuviese bien diseñado." Al igual que su primo autenticador, A5 fue
desarrollado de puertas para adentro, en la creencia de que mantener el
algoritmo secreto evitaría que se le pudiese atacar. Parece que nadie les ha
explicado todavía que existe algo llamado ingeniería inversa. Marc Briceno
afirma haber reconstruido el algoritmo A5 en sus ratos libres, a lo largo de
unos pocos meses, bajo un presupuesto de menos de cien dólares.
Podría haberse ahorrado el trabajo. Cuenta Bruce Schneier en su Applied
Cryptography que:
una compañía telefónica británica dio toda la documentación [sobre A5] a la Universidad de Bradford sin recordarles que debían firmar un acuerdo de no revelación. Se filtró aquí y allí, y eventualmente acabó en Internet. Un artículo describiendo A5 fue [presentado en el congreso CHINACRYPT´94] ...
Añade Schneier que
hubo muchas cosas raras alrededor de A5. Según ciertos rumores, hubo diversas
peleas entre agencias de inteligencias europeas: los alemanes querían cifrado
más fuerte, pero los otros países ignoraron sus peticiones y acabaron
imponiéndose las tesis francesas. Rumores aparte, hay un ataque criptoanalítico
que requiere un total de 2^40 cifrados, y entre 2^40 y 2^45 operaciones
informáticas, bien al alcance de los ordenadores actuales de alta velocidad, o
bien de chips construidos a tal efecto. Ya en 1994, el criptógrafo Ross Anderson
abogaba porque A5 se considerase un algoritmo exportable, ya que parecía ser
equivalente en fortaleza a sistemas como RC2 o RC4 con clave de 40 bits.
A5 tiene dos "sabores": la versión A5/1 (para uso doméstico) y la A5/2 (para
la exportación). No hay que ser un genio para suponer que la versión exportable
estará lo bastante debilitada como para que cualquier agencia de espionaje
electrónico medianamente competente pueda comérsela con patatas.
No he hallado datos sobre la fortaleza teórica de A5/2, salvo un documento
titulado Informe sobre la especificación y evaluación del algoritmo de
cifrado GSM A5/2 redactado en 1996 por el Grupo de Expertos sobre Seguridad
de Algoritmos [Security Algorithms Group of Experts, SAGE] del Instituto Europeo
de Estándares de Telecomunicación [ETSI]. Dicho documento (código ETR 278) se
prodiga poco en datos técnicos, pero afirma que:
los resultados de los análisis matemáticos no identificaron características del algoritmo que pudieran ser explotadas para un ataque de interceptación práctico en el tramo radio de GSM
Una de dos: o el
grupo de expertos SAGE es una banda de chapuceros o, por el contrario, hicieron
un excelente trabajo de evaluación ante un algoritmo deliberadamente debilitado.
Un ataque diseñado por Wagner, Goldberg y Briceno en agosto de 1999 mostró que
solamente tenía una resistencia equivalente a la de un algoritmo de 16 bits. Es
decir, solamente hay que hacer un esfuerzo computacional equivalente a probar
66.000 claves, y ya está. En palabras de Goldberg, "puede ser reventado en
tiempo real ... lo mismo daría que los GSM no llevasen esta algoritmo de
privacidad de voz." Efectivamente, un mensaje que pueda ser descifrado en
milisegundos tanto daría que no fuese cifrado.
Un miembro de otro equipo de criptógrafos que criptoanalizó la variante A5/2
con éxito afirmó "nuestro ataque solamente funciona porque diversas propiedades
del sistema de cifrado son justo las correctas. ¿Casualidad? Muchos lo dudan.
Solamente podemos esperar y ver si las mismas ´coincidencias afortunadas´
funcionan también en un ataque contra A5/1." Ese era el estado de cosas a
finales de 1999, mientras el mundo estaba preocupado por el cambio de milenio (o
no).
Efecto 2000, versión israelí
En Diciembre de 1999, los investigadores israelíes Alex Biryukov y Adi
Shamir (la S en RSA) lanzaron un ataque criptoanalítico sobre A5/1 aprovechando
ciertos "fallos sutiles." Con el título de
Criptoanálisis de A5/1 en tiempo real con un PC, el artículo de Biryukov y
Shamir sorprendió a los entendidos por la relativa facilidad con la que se
pueden descifrar conversaciones cifradas mediante A5/1. ¿Los medios? Nada de
grandes equipos informáticos ni presupuestos multimillonarios. Esto es lo que
necesita el malo de la película para husmear donde no le llaman: un ordenador
personal con 128 Mb de RAM (el artículo menciona los PC, pero no creo que le
hagan ascos a los Mac :-), una capacidad de almacenamiento equivalente a entre
dos y cuatro discos duros de 73 Gb cada uno y un escáner digital (esto último no
se menciona en el artículo, pero sería necesario para un ataque real).
El ataque precisa de una etapa de cálculo previo consistente en unos 2^48
pasos, que solamente ha de llevarse a cabo una vez. Una vez hecho, el atacante
puede elegir entre diversos tipos de ataque. En uno de ellos se precisa el
equivalente a un par de segundos de conversación (cifrada), y el ataque requiere
unos minutos. En otro, es preciso obtener dos minutos de conversación, pero el
tiempo del ataque se reduce a apenas un segundo.
No cabe duda que estos datos pueden mejorarse, tal y como sugieren los
propios autores. Una de las cosas que llaman la atención es que NO se aprovechan
del hecho de que 10 de los 64 bits de la clave de cifrado son cero. Es decir, el
ataque valdría hasta para claves que incorporasen lo que la industria denominaba
"flexibilidad adicional" ¿Podría obtenerse un resultado más rápidamente para una
clave de 54 bits efectivos? Hagan sus apuestas.
Como puede uno imaginarse, un ataque criptoanalítico prácticamente en tiempo
real, al alcance de cualquiera que sepa leer inglés, programar y disponga de un
ordenador de sobremesa y unos 150 Gb no es lo que denominaríamos trivial. Pero
no parece que la industria de telecomunicaciones pierda el sueño por ello. En un
artículo del New York Times de 7 de Diciembre, un portavoz de Ominpoint (la que
presumía de ser inmunes a los ataques contra el algoritmo CMEA, ¿recuerdan?)
calificó los resultados como "ridículos... lo que describen es un ejercicio
académico que nunca funcionaría en el mundo real."
El lector interesado puede leer los comentarios de Gregorio Álvarez Marañón
(Boletín
del Criptonomicón, nº 62 y Bruce Schneier (Crypto-Gram
15 Diciembre 1999; existe traducción en Kriptópolis:
Cripto-Grama nº 20)
Al día de hoy, centenares de millones de teléfonos GSM siguen funcionando
por todo el mundo. Puede que usted sea usuarios de este tipo de tecnología.
Puede que, antes de leer este informe, se creyese a salvo de oídos indiscretos
gracias a tanto código de bloqueo y desbloqueo, PIN, PUK y similares. Le pido
disculpas por haberle robado su tranquilidad. Pero eso es lo que hay. ¿Y qué
quiere que le diga? Se supone que los expertos sabían hacer su trabajo.
¿Lo saben todavía?
3G: la nueva generación
La tecnología analógica constituyó la "primera generación" de telefonía
móvil. La telefonía digital (GSM) fue la segunda. Ahora se está preparando la
tercera generación (llamada UMTS o 3G), que nos promete acceso móvil a Internet,
videoconferencia y un sinnúmero de maravillas. A la vista de la historia
reciente, cabe preguntarse si veremos cometerse los mismos errores.
En un principio, también los algoritmos de la telefonía de tercera
generación (llamémosla 3G) fueron mantenidos en secreto. Pero en Septiembre de
2000, la ETSI publicó un
comunicado en el que anunciaba la distribución de los algoritmos de
confidencialidad f8 e integridad f9 que protegerán el tramo aéreo
en las futuras comunicaciones 3G. También se han hecho públicos los detalles de
funcionamiento del conjunto de algoritmos para autenticación y generación de
claves (f1, f1*, f2, f3, f4, f5 y f5*). En realidad, la estructura 3G es
bastante más compleja que la GSM a efectos de confidencialidad y autenticación,
así que pido disculpas si cometo algún error. Vamos allá.
La seguridad en 3G será tal que no será necesario que todos los operadores
usen los mismos algoritmos para autenticación o intercambio de claves. El
problema es que lo mismo sucedión en el caso de GSM, y los operadores se
limitaron en su mayoría a adoptar el algoritmo proporcionado como ejemplo. No
obstante, a la vista de los documentos que he leído, parece que esta vez se
toman más en serio la posibilidad de elegir algoritmos "a la carta."
En el caso de 3G, el conjunto de algoritmos de autenticación y generación de
claves sugerido como ejemplo se denomina MILENAGE. Este es un conjunto
construido alrededor del cifrado en bloque conocido como Rijndael. Existían
buenos motivos para elegir Rijndael: tiene clave de 128 bits, ha sido bien
estudiado, es de dominio público (es decir, carece de patentes que puedan
limitar su uso), es eficiente tanto en funcionando en hardware como en software,
y en el momento de ser propuesto era uno de los finalistas para ser elegido como
Estándar de Cifrado Avanzado (AES), el sucesor del ya caduco DES. Esto último
significa que Rijndael ya sido extensamente atacado por la comunicad
criptográfica, y que por tanto Milenage no se convertiría en otro algoritmo
desarrollado en secreto.
Aunque el grupo SAGE no lo sabía en ese momento, estaban dando en el clavo.
Rijndael fue finalmente escogido por el NIST (Instituto Nacional de Estándares y
Tecnología) norteamericano como algoritmo AES. Esto significa que el núcleo de
la seguridad 3G es el mismo algoritmo que será difundido para todo tipo de
aplicaciones de cifrado, y por lo tanto será uno de los más ampliamente
estudiados de la historia.
Como contrapartida, la confidencialidad e integridad en el intervalo aéreo
(entre el móvil y la estació base) es tarea reservada al algoritmo KASUMI.
Traducible como "niebla", Kasumi parece ser un algoritmo en bloque de 128 bits
que tiene ciertos derechos intelectuales. La ausencia de ataques conocidos hasta
ahora contra Kasumi significa una de dos cosas: o bien yo soy un manta buscando
información :-(, o bien no existen hasta la fecha.
A falta de más datos, quiero pensar que este algoritmo ha sido bien
diseñado. Personalmente, hubiese preferido un algoritmo más conocido y usado
(por ejemplo, el mismo Rijndael), pero reconozco que me baso en los prejuicios.
En cualquier caso, es bueno que el algoritmo Kasumi haya sido hecho público, de
forma que la "seguridad mediante oscuridad" sea sustituida por la alternativa
"luz y taquígrafos" que tan buenos resultados ha dado hasta ahora para separar
el trigo de la paja.
Y ahora, querido lector (o mejor: después de leer este Informe) puede usted
echarle un vistazo a los algoritmos. Janows Csirij, de la AT&T Labs Research,
mantiene una introducción a la seguridad en 3G, junto con enlaces a Milenage y
Kasumi, en
http://www.research.att.com/~janos/3gpp.htm. La ETSI, entidad co-custodia de
los algoritmos f8 y f9, los tiene en un enlace en
http://www.etsi.org/dvbandca. Y puede leer un artículo sobre la resistencia
de Kasumi a los ataques de criptoanálisis, escrito por Johan Wallén de la
Universidad Tecnológica de Helsinki, enhttp://www.niksula.cs.hut.fi/~jwallen/kasumi/kasumi.html.
Pasen y pónganse cómodos.
Palabras finales
(por ahora)
Debemos ahora bajarnos del limbo de las abstracciones criptográficas y poner
los pies en el suelo. Incluso si Kasumi, Rijndael y toda su cohorte de
algoritmos funcionan perfectamente, y aún si el esquema de seguridad para la
telefonía 3G soporta los embates del mundo real debemos tener presentes que la
conversación solamente es segura en el trayecto que va de la estación base al
móvil. Durante el resto del trayecto (de la estación base de un interlocutor a
la del otro), la conversación viaja sin cifrar. Esto significa que cualquier
persona o entidad con acceso a la red telefónica podrá pinchar las llamadas.
Nuestra privacidad sigue sin estar garantizada más que a trozos.
Y un aviso final. No crean que tanta autenticación y cifrado sirve para
mantener sus comunicaciones a salvo de los oídos del Estado. Todos los sistemas
de comunicación actuales incluyen sistemas para el llamado "acceso legal", de
forma que una autoridad policial pueda espiar en la conversación haya o no
cifrado de por medio. En el caso de la telefonía 3G, los requisitos sobre
"interceptación legal" han sido plasmados en los documentos TR33.106 y TR33.107.
Por cierto, una de las referencias contenidas en dichos documentos se denomina
Resolución del Consejo de la Unión Europea sobre la Interceptación Legal de las
Telecomunicaciones de 17 Enero de 1995. Esta Resolución fue ampliada en 1999
y se hizo muy conocida bajo el nombre de resolución Enfopol. Tal vez hayan oído
hablar de ella.
© Arturo Quirantes
2005. Correo electrónico: aquiran arroba
ugr.es
Vuelta a la sección Informes del Taller de Criptografía