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.
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
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.
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).
© Arturo Quirantes
2005. Correo electrónico: aquiran arroba
ugr.es
Vuelta a la sección Informes del Taller de Criptografía