Karsten Nohl y Sascha Krißler, ingenieros de sotware expertos en criptografía, han destapado la caja de los vientos en el Chaos Communication Congress, un congreso organizado por Chaos Computer Club. En su presentación, han expuesto cómo han logrado reventar el código primario de cifrado utilizado por la red GSM, gracias a multitud de colaboradores que han ofrecido la potencia de cálculo de ordenadores y consolas de forma distribuida.
Comienzo con una pequeña aclaración. El algoritmo de cifrado ya se conocía, pese a ser secreto, gracias a la ingeniería inversa. Lo que se ha logrado es un mecanismo para obtener rápidamente la clave de cifrado, anulando la protección que ofrece dicho algoritmo.
¿Hasta qué punto esto representa un problema? ¿Se está exagerando la noticia? ¿Hace falta cambiar el sistema de cifrado de la red GSM? ¿Tiramos nuestros móviles?
Esto no es un problema nuevo. Muchos han estado denunciado las debilidades del sistema de cifrado de esta red, y que la GSM Association no ha tomado las medidas necesarias para paliarlas. Hay que tener en cuenta que los algoritmos utilizados tienen más de veinte años, una barbaridad. Tecnologías más nuevas, como UMTS, no utilizan el sistema de cifrado comprometido, por lo que las redes 3G no se ven afectadas por lo expuesto por el equipo de Nohl.
Algoritmos de cifrado de GSM: buena idea, pero anticuada
GSM utiliza varios algoritmos diferentes de cifrado, para la identificación del usuario, su autenticación, y la transmisión de datos y voz de forma cifrada. Estos algoritmos están distribuidos entre el operador de la red GSM, el teléfono móvil y la propia SIM. De algunos de estos algoritmos hay diferentes versiones.
El suscriptor se identifica únicamente un código único, llamado IMSI (International Mobile Subscriber Identity), guardado en la SIM. Junto a ella están la clave única de usuario (Ki), el algoritmo de generación de claves de cifrado (A8), el algoritmo de autenticación (A3) y el PIN. En el móvil GSM está el algoritmo de cifrado (A5). Lo primero es autenticar al usuario en la red. Se comprueba que el IMSI y el PIN de la SIM son correctos, y los algoritmos de cifrado tanto de la SIM como del móvil están en orden.
Una vez autenticado, pasamos a lo que nos interesa debido a la noticia: el algoritmo A5, que se utiliza para transmitir datos por la red. Por seguridad, la clave única del usuario, almacenada en la SIM, no se envía a través de la red. El operador guarda una copia de esta clave, y para que el usuario pueda transmitir de forma cifrada, le envía un paquete aleatorio. Con el algoritmo A8 se genera una clave de sesión (Kc). En el receptor, mediante el algoritmo A5, se genera una respuesta a partir de la clave de sesión Kc única del usuario y el paquete aleatorio enviado por el operador de red. El operador de red realiza el mismo cálculo por su parte y compara los resultados.

Si el cálculo del lado del usuario y el del lado del operador coinciden, es que está todo en orden. Entonces, la voz digitalizada y los datos se van dividiendo en paquetes, se cifran con la clave única, y se transmiten en ambos sentidos. Para poder descifrarlos, necesitaríamos conocer esa clave Kc única. Para descubrir esa clave única, sólo tenemos la secuencia aleatoria enviada por el operador de red y la respuesta que manda el usuario.
El problema es que la operación matemática que aplica A5 no tiene inversa. Es decir, conociendo el resultado, no hay ninguna operación matemática que pueda calcular cuál era la clave única de usuario que ha utilizado el algoritmo para obtener ese resultado.
Existen tres variantes del A5, denominados A5/1, A5/2 y A5/3. El A5/1, como el resto de especificaciones, era secreto pero se obtuvo por ingeniería inversa, y por el momento es el más utilizado. Oficialmente, utiliza claves de 64 bits, lo que a día de hoy es pobre. Pero para colmo, esas claves de 64 bits contienen siempre 10 ceros fijos, por lo que en realidad es de 54 bits (aunque las SIMS actuales ya vienen usando los 64 bits).
El A5/2 apenas se usa, ya que se trata de una versión más débil y barata del A5/1 y lo reventaron al poco tiempo.
El A5/3 es más reciente y robusto, de 128 bits, pero su uso es muy limitado. Ya que implica actualizar hardware, pocos operadores de red se han gastado lo necesario para actualizar sus equipos para que lo soporten.
El algoritmo A5/1 reventado: implicaciones
El grupo 'The Hackers Choice' creó un proyecto en 2008 para desarrollar un ataque práctico sobre A5/1 (en el sentido de que fuera posible ponerlo en práctica, y no sólo a nivel teórico). Para ello hacía falta construir una tabla de búsqueda de unos 3 terabytes, que permitiera que dada cualquier combinación de secuencia aleatoria y resultado del cálculo con A5/1, cuál es la clave de usuario que daría ese resultado a partir de esa secuencia.
Sumado a un proyecto de escaneo de redes GSM, sería posible grabar cualquier llamada o SMS de la red GSM, cifrados con A5/1, y en unos minutos disponer de la clave de cifrado y así poder conocer el contenido con un mínimo retraso. Esa tabla se generaría aplicando A5/1 sobre todas las secuencias aleatorias que puede enviar el operador con cada una de las posibles claves de sesión usuario, y calculando el resultado.
Una vez que tengamos la clave, escuchamos la conversación entre el usuario y el operador de red. El operador manda la secuencia aleatoria, y el usuario responde con una cadena generada a partir de su clave de sesión única. Cruzamos esos dos datos en la tabla y al momento tenemos cuál es la clave Kc única que daría ese resultado sobre esa secuencia aleatoria. Listo, ya conocemos la clave de cifrado de las comunicaciones de ese usuario.
La clave Kc varía cada cierto tiempo, pero al tener disponible la tabla, es fácil descubrir la nueva clave.
Pero... ¿cómo se construye una tabla así? Pues de la misma forma que SETI@Home: con una red distribuida. En apenas unos meses, desde septiembre, la potencia de 80 nodos CUDA aportados por colaboradores de todas partes han conseguido generar la tabla, que está disponible por torrents.
Desde la GSM Association se ha emitido un comunicado diciendo que esto no es tan sencillo como lo están pintando, y que el equipamiento necesario para utilizar esta técnica de forma efectiva no está al alcance de cualquiera. También indican que los operadores tan sólo tienen que modificar el algoritmo existente para evitar el problema. Claro, pueden pasarse a A5/3, o implementar otro algoritmo más seguro, pero bastante se han gastado ya en UMTS como para ahora actualizar los equipos de la red GSM.
Pero el propio Nohl durante su presentación dijo que tanto el hardware como el software están disponibles de forma libre, y con unos pocos miles de dólares puedes tener tu estación de escucha. Esto lo sitúa lejos del usuario medio, pero lo deja al alcance de aquellas organizaciones con recursos e intereses suficientes como para ignorar las consecuencias de infringir leyes sobre el secreto de las comunicaciones.
¿Debo dejar de usar mi móvil?
No, no hay que ser tan extremista. Tan sólo ten en cuenta que si te siguen la pista porque pretendes defraudar a hacienda, recalificar unos terrenitos con la ayuda de tu amigo de urbanismo, o poner música del eMule en tu boda, no tengas conversaciones delicadas por tu móvil. Pero no sólo porque ahora esté roto, sino porque un juez podía solicitar escuchas, así que poco cambia la cosa.
El objetivo de todo esto es dejar claro que la tecnología de cifrado usada por GSM está muy anticuada y no es lo suficientemente segura. Hace falta que los operadores den el paso y sellen los agujeros de seguridad que se conocen desde hace tiempo, pero que ahora ya pueden ser explotados.
Gracias a userooo1 por las correcciones al artículo.
Más información | Chaos Comunication Congress Más información | GSM Association Más información | Algoritmo A5/1, Algoritmo A5/2, Algoritmo A5/3 En XatakaMovil | Descifran y publican el código de encriptación primario utilizado en las redes GSM
Ver 18 comentarios
18 comentarios
pacharan
#Telamon
creo que la irresponsabilidad es mas bien de las grandes compañias telefonicas, ya que no me cabe duda de que son perfectamente conscientes de estos fallos pero como es algo que no suele llegar al publico en general hacen caso omiso del problema. creo que la publicacion de este tipo de articulos mas bien ayuda a solucionar los "fallos" puesto que el hacerlo de dominio publico es la unica forma de presionar a las grandes compañias para dar soluciones.
es como si tu vecino ve que tienes la ventana abierta y no te avisa, van y se te cuelan los ladrones. ¿no crees que tu vecino debe avisarte? o ¿es un irresponsable por hacerlo?
pp1713
@Telamon Me parece que estas equivocado. A mi me parece correcto que estos Sres hayan publicado sus descubrimientos. Vamos, que el algoritmo tiene mas de 20 años. Y nos siguen diciendo que es seguro. Si estos sres, no hubieran hecho publicas sus investigaciones, capaz y hasta lo seguiamos creyendo.
Alkar
#1: Bueno, a la Caja de Pandora también la llamaban "la caja de los vientos", por eso abrí así el artículo ;)
#9: No he dicho que el PIN se mande por la red. Como bien dices, el PIN sirve para comprobar que el usuario está autorizado a hacer uso de la información mantenida en la SIM. Cierto que para autenticar se utilizan A3 y A8, y también cierto que me he colado en lo de Kc/Ki. Gracias por el toque, corregiré el artículo.
daniel
Buen artículo, gracias :D
David Carrero Fernandez-Baillo
En resumen si antes ya nos podían espiar los gobiernos y las operadoras, ahora lo puede hacer cualquiera, madre mia.
Saludos
http://carrero.es
jmmarqueta
Supongo que has querido decir "la caja de los truenos" en vez de "la caja de los vientos" no?
Gramatica aparte, me perece gravisimo este suceso y totalmente irresponsable por parte de estos individuos el haber hecho publico el codigo que afecta a las comunicaciones de mas de medio mundo. Creo que merecen un castigo ejemplar, teneiendo en cuenta las consecuencias que puede tener a nivel delictivo por parte de mafias y demas organizaciones de dudosa reputacion, esta claro que los servicios de inteligencia esto lo tienen mas que superado, pero a los que usamos el movil a diario con la confianza que nuestras comunicaciones son confidenciales y unicamente las fuerzas de seguridad a traves de un mandamiento judicial pueden intervenirlas, supone una indefension de una magnitud incalculable. Es como si hubieramos vuelto a la epoca de los mobiles analogicos, que se podian escuchas con un "Scaner" que podias comprar en el bazar de turno...
davidrv87
La mejor frase la de "con unos pocos miles de dólares".
davidrv87
Estoy de acuerdo contigo Telamon, pero lo que muy posiblemente sucederá con esa gente es que serán contratados por sus conocimientos, como suele pasar con la mayoría de los hackers. Aunque no creo que haya que alarmarse en gran medida (aún...)
Nacho Vegas
Es una gran noticia y me temo que no se va a reparar por una sola cosa. No está comprometida la identificación del usuario, eso que permitiría llamadas gratuitas y que pondría en entredicho las facturas telefónicas.
En cuanto al peligro de ser escuchado es un tema menor hoy en día. Con inventos como SITEL que funcionan sin una regulación, la ruptura del GSM se queda en nada. Hay que recordar que ya se ha publicado alguna conversación privada entre políticos en El País, antes de la ruptura del GSM.
jmmarqueta
Nacho, antes de quitarle importancia al tema, como si fuera una gamberrada de instituto, deberias saber qel significado de SITEL (Sistema Integral de Interceptación Legal de las Telecomunicaciones), LEGAL es la palabra clave en el nombre de este sistema, supuestamente se usa solo por medio de mandamiento judicial, otra cosa es las filtraciones que haya despues de las investigaciones que se realizan, pero eso es otro problema...
userooo1
Me temo que el artículo tiene errores de concepto. El PIN no se comprueba por la red. El PIN se utiliza para tener acceso al uso de la SIM. Una vez puedes acceder a ella, se usa la semilla RAND y la clave interna Ki con los algoritmos A3 y A8 (NUNCA CON EL A5!!! Tenéis mal el dibujo y la explicación…). El algoritmo A3 genera una respuesta SRES que se envía junto con la IMSI de la SIM, que son comprobadas por la red. El algoritmo A8 genera la clave de sesión Kc. Esta clave de sesión Kc (temporal) SÍ que es la que se utiliza con el algoritmo A5, junto con un contador de 22bits llamado Frame Number que es conocido por todos los usuarios de la red.
Por otro lado, lo que “se revienta” no es la clave única/interna (Ki), es la clave de sesión Kc, con lo cual, cada vez que la red envíe una nueva RAND al usuario, se generará una nueva clave de sesión Kc y la anterior no te servirá de nada. En España hace algunos años eran bastante perezosos en generar nuevas claves Kc, incluso te la mantenían por varios días. Ahora ya se han puesto un poco más las pilas y, dependiendo la compañía, te la cambian cada poco tiempo. Lo de de la debilitación de claves con 10 bits a cero es cierto, pero solo para SIMs antiguas. Las nuevas SIMs (de unos 7-8 años hacia aquí), ya llevan claves de sesión de 64 bits (comprobado, como todo el resto de cosas que he escrito).
Con respecto al ataque, este en concreto (time-memory tradeoff) existe desde el año 2000, tan solo faltaba que alguien con ganas y ciertos conocimientos lo implementara. De forma pública, claro…
Palangui
@userooo1
Menos mal que habla alguien con conocimiento de causa.
Esta debilidad es conocida de hace mucho y los equipos no LEGALES que permitían hacer escuchas también hace mucho que existen. Lo que económicamente no están al alcance de los mortales.
En lo referente a SITEL no tiene nada que ver, SITEL funciona dentro de la red, no captando tramas que corren en el aire.
El merito de estos chicos es crear las tablas para poder reventar el Kc en menos tiempo.
Como alguien decía esta vulnerabilidad no pone en peligro la identidad del usuario, así que seria imposible hacer una escucha “on demand”. Tan solo serviría para poder descifrar algunas de las comunicaciones que pillases al aire.
En cuanto al problema, las operadoras tendrían que haber migrado al A5/3 hace tiempo... de momento esta vulnerabilidad tiene los días contados. El 3g/LTE/Wimax terminara haciendo desaparecer las celdas GSM convencionales
armand0087
Gracias por el artículo
Nacho Vegas
Telamon, SITEL tiene muchas lagunas, más incluso que el GSM. En la Asociación de Internautas y Kriptopolis se ha hablado mucho del tema y la orden judicial no es imprescindible para su uso, otra cosa es para su uso en un tribunal que es necesario una orden previa. Incluso esas grabaciones provenientes de SITEL carecen de un sistema de firma digital que asegure la no manipulación. SITEL es una herramienta policial muy importante, pero carente totalmente de seguridad en su protocolo de uso. Como tú has dicho su uso "supuestamente se usa solo por medio de mandamiento judicial", pero no hay una garantía legal de ello.
Aunque bueno, este es otro asunto que no tiene nada que ver con el agujero de seguridad del GSM.
Un saludo.
Nemigo
si el sistema (la ruptura del mismo) no permite hacer llamadas gratis a los operadores les traerá al pairo. Mientras no les vaya al bolsillo...
farico
CDMA? que? xD
Erick mayen
bravo por el articulo, se puede decir que cierran el año con broche de oro.. deverian de publicar mas articulos de igual calibre!
Saludos.