Criptoanálisis del GSM para móviles

Hoy todos tenemos en el bolsillo una máquina capaz de comunicarse con todo el mundo, acceder a la información de forma fácil e inmediata, y permanecer continuamente conectado con el mundo, el trabajo y la familia. Todo ésto es algo muy deseable, pero qué precio estamos pagando por ello. ¿Cuando vemos el extracto bancario, alguien más también lo ve? ¿Cuándo damos un presupuesto, la competencia puede conocerlo? ¿Cuándo hablamos íntimamente con nuestra pareja, hay fisgones que pueden oírnos?. Y la respuesta es que sí que pueden oír todas nuestras comunicaciones.

El GSM o sistema global para las comunicaciones móviles del inglés Global System for Mobile communications, y originariamente del francés Groupe Spécial Mobile, es un sistema estándar para la comunicación de la telefonía móvil digital. Se podría decir que este sistema es un 2G por simetría con la nomenclatura de los sistemas más moderno y usados actualmente los denominados 3G, de tercera generación y el novedoso 4G, de cuarta generación, incluso ya se empiezan a dar los primeros pasos para el 5G.

GSMUn usuario que tenga un teléfono con tecnología GSM, que hoy en día todos los teléfonos móviles disponen de esta tecnología y usan esta señal cuando no hay cobertura 4G ni 3G, puede conectarse a través de su teléfono para realizar llamadas con tecnología digital y no analógica como sucedía con el anterior sistema, el sistema 1G, mejorando la señal y la calidad de la comunicación, también puede enviar y recibir mensajes, tanto SMS como MMS, revisar su buzón de correo electrónico, enviar y recibir faxes, navegar por Internet, acceder a la red informática de una compañía, red local/Intranet, así como utilizar otras funciones digitales de transmisión de datos. Todo este abanico de posibilidades es algo extraordinario teniendo en cuenta que con el sistema anterior, el 1G, a parte de ser muy caro sólo se podían realizar llamadas de voz analógicas de mala calidad, con ruido de fondo.

La tecnología GSM se considera un estándar de segunda generación, 2G. Los sistemas móviles de segunda generación (2G), combinados con la tecnología GPRS reciben a menudo el nombre de 2.5G, o de segunda generación y media. Esta nomenclatura se refiere al hecho de que es una tecnología intermedia entre la segunda (2G) y tercera (3G) generación de telefonía móvil. Su extensión a 3G se denomina UMTS y difiere en su mayor velocidad de transmisión, que puede llegar hasta los 7,2 Mbit/s, el uso de una arquitectura de red ligeramente distinta y sobre todo en el empleo de diferentes protocolos de radio como el W-CDMA. Hoy en día se está implantando la tecnología 4G que tiene una mayor velocidad de transmisión, una velocidad que puede superar los 40 Mbit/s. Nos ocuparemos de estas tecnologías en otros artículos. Ahora nos centraremos en la tecnología GSM.

Todo el abanico de posibilidades de comunicación que ofrece el sistema GSM se vería comprometido si no se hubiera desarrollado un sistema de cifrado para esas comunicaciones, la posibilidad de conectar desde cualquier lugar con los datos privados de una empresa, banco u organización incluso un gobierno es algo muy deseable para el usuario final, pero también lo es para el fisgón que quiere saber lo que se cuece en esa empresa, organización o gobierno. Por tanto, los desarrolladores idearon un sistema de cifrado para estas comunicaciones que las protegía de oídos externos, o por lo menos eso nos han contado que era su intención. Y digo ésto pues hay investigadores que afirman que estos protocolos son intencionadamente débiles debido a la influencia de la agencia de seguridad norteamericana, la NSA, que exigió la debilidad de esto protocolos para poder escuchar todas las conversaciones de forma fácil.

Esquema GSMCon 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 uno de los teléfonos que se quiere intervenir. Pero si usamos un teléfono móvil, el tramo final de la conversación, entre el nodo y el móvil, tiene lugar en el aire mediante microondas. Estas pueden ser captadas con un receptor adecuado y si están en claro, se pueden escuchar y por tanto saber que se está diciendo o haciendo.

Los teléfonos móviles de primera generación, como era el sistema de Moviline, carecían de protección contra escuchas ilegales. Ejemplo de esta debilidad del sistema fueron las escuchas a Txiqui Benegas del PSOE y su posterior publicación en los medios de comunicación.

La segunda generación de telefonía móvil, la 2G o GSM usaba tecnología digital más segura, porque al usar envío de datos digitales las señales se pueden cifrar a conveniencia. También por esa fecha se perfeccionan los sistemas de autenticación, de manera que nadie podía clonar un móvil y hacerse pasar por otro.

Recordemos que ello no significa que este encriptado se cifre durante todo el recorrido de la llamada, lo que se conoce por un cifrado punto a punto, sino solamente entre la estación base, la antena nodo a la que se conecta el móvil, y el teléfono del usuario; el resto del camino, la señal va sin cifrar, es decir, las autoridades aún pueden pinchar los teléfonos como antaño en la central telefónica.

El sistema GSM 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 Europa, los norteamericanos libraban sus propias guerras entre protección y los deseos de no protección de la NSA. 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. Identifica al móvil y con la base de datos de la operadora se puede asociar al usuario propietario. 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 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. En la actualidad hay otra versión la A5/3 o KASUMI, que se usa en la tecnología 3G.
  • A8 Es el algoritmo que genera claves tanto para autenticación, el A3, como para encriptación, el A5. Básicamente, se trata de una función undireccional parecida a las funciones hash, del 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” del A3 y A8. COMP128 es uno de ellos. No es el único posible, pero sí uno de los más usados.

Protocolo GSM
 

Cada vez que un usuario de la tecnología GSM realiza una llamada, sucede lo siguiente: Inserta su número PIN y después marca el número al que quiere llamar, mientras tanto en su móvil se llevan a cabo los siguientes pasos:

  • Su teléfono toma de la tarjeta SIM una clave que está 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, en inglés 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 operadora, con su base de datos y este Ki, autentifica 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 operadora) y realiza la comprobación del propietario y los servicios contratados por éste.
  • 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 otra 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.

Hay que decir que cada vez que se usa el A3 y el A5 interviene el A8 que es el algoritmo que genera resúmenes. 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, etc. Pero los algoritmos han cumplido su función. Si quiere saber más sobre el sistema GSM y su funcionamiento puede ir a http://www.qso.cl/Archivos_Publicos/articulos/seg27.htm .

Nos centramos ahora en el sistema de cifrado del sistema GSM. Vemos cómo la autenticación de la llamada recae sobre el algoritmo A3, en tanto que la confidencialidad de ésta es tarea de el algoritmo A5. Ambos algoritmos requieren de una clave, generada mediante el algoritmo A8. De hecho, los algoritmos A3 y A8 suelen tratarse prácticamente como si fuesen uno solo.

Resulta que el algoritmo COMP128 que usan los algoritmo A3 y A8 era un ejemplo, se pueden usar otros algoritmos para el A3 y A8, pero la gran mayoría de las empresas de telecomunicaciones se limitaron a implementar COMP128, que era el algoritmo de prueba presente en las especificaciones técnicas de estos dos algoritmos. Es decir, usaron el algoritmo que venia como ejemplo en esas especificaciones. El problema es que a últimos del 2009 este algoritmo COMP128 fue roto y dejó al descubierto todas las comunicaciones GSM que usan este algoritmo.

Un ingeniero alemán, que por el año 2009 contaba con 28 años de edad, anunció que había logrado romper el sistema de seguridad utilizado para cifrar las comunicaciones de los teléfonos móviles que operan bajo el sistema GSM. Karsten Nohl, de la Universidad de Virginia, hizo el anuncio en el Chaos Communication Congress, una reunión de hackers que periódicamente se realizará en Berlín, y puso los pelos de punto a las empresas prestadoras de comunicaciones móviles con tecnología GSM, que por esa época eran cerca del 80% de todo el mundo, y también enervo los nervios de algunas autoridades y usuarios más delicados.

Por aquel tiempo la tecnología GSM tenía unos 20 años, lo que quiere decir que ya estaba anticuada y por otra parte este ataque a su seguridad, fueron las causas que animaron a las empresas de telecomunicaciones y a las autoridades a desarrollar nuevos sistemas de comunicación móvil.

Criptoanalisis del GSM
Para este ataque, Nohl y sus colaboradores crearon un fichero de unos dos TeraBytes conteniendo todas las claves válidas, con el que cualquier persona con buenos conocimiento de informática puede violar el sistema GSM sin necesidad de tener que utilizar ningún sistema de fuerza bruta que pruebe con todas las combinaciones posibles. Si bien el hacker se negó a proporcionar el enlace que permita descargar dicho fichero, se sabe que el codiciado archivo ya circulaba por el año 2010 por las redes P2P, en emule, amule y BitTorrent. Además de esta tabla, para interceptar una comunicación GSM se necesita un receptor de radio que opere en la misma frecuencia que los teléfonos móviles y un software especial para el procesamiento de las señales capturadas.

Como ya he mencionado, en el 2010 el criptoanálisis de la comunicación móvil se extendió considerablemente, ya que el libro de códigos para desencriptar llamadas GSM fue publicado en Internet por un grupo de hackers, quienes además hicieron demostraciones públicas de equipos de interceptación que se encuentran disponibles en la Red por poco dinero. Otros los copiaron y el oír conversaciones ajenas se convirtió casi en un pasatiempos.

También por ese año, Karsten Nohl y su compañero Sylvain Munaut con una una pila de viejos teléfonos Motorola realizaron una demostración a la BBC de algo que uno creería que solo la infraestructura de las grandes agencias de seguridad permite llevar acabo. Desde su ordenador localizaron un móvil específico, siguieron sus movimientos desde una distancia superior a 500 metros y guardaron copia de las conversaciones hechas desde él. Demostraron con ello que el ataque al sistema GSM es una realidad y no una teoría como afirmaban los diseñadores del mismo y las operadoras.

Sus herramientas de trabajo son una computadora portátil y un modelo específico de teléfonos Motorola cuyo sistema operativo base, su firmware, había sido desentrañado y sus detalles publicados en Internet. Los programadores utilizaron esa información para crear un programa propio que les permite obtener información técnica oculta de las torres de telefonía celular. Algo que muchos pueden conseguir sin mucho esfuerzo y romper la seguridad de las comunicaciones.

Pero las debilidades de este sistema GSM no empezaron aquí, ya a últimos del siglo XX se realizaron ataques 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 empresas de telecomunicaciones 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. 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 la autenticación y la identificación del cliente final.

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 con los ordenadores de la época. Este ataque requería acceso físico al móvil. Es decir, habría que obtener el teléfono, interactuar con él y devolverlo sin que su dueño se percatase. 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 no clonaron un móvil en el aire, no porque no fuese técnicamente posible, sino porque es ilegal, es decir, ni siquiera lo intentaron para no meterse en problemas. 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 pues sería ilegal, bajo las leyes de EEUU y otros paises, 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.”

Analisis GSMEs decir, que podríamos montar una estación falsa que se dedicase a interrogar a todo móvil que permaneciese unas cuantas horas en su radio de acción.

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.

Pero no solo el algoritmo A3 fue atacado también lo fue el A5. 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 esa llamada unicamente, 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 un 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 es una cantidad grande. Está teóricamente al alcance de atacantes bien organizados y con mucho presupuesto, pero sólo mediante esfuerzos enormes tanto en material como en recursos económicos. Demasiado trabajo para pinchar una simple llamada.

Analisis GSMSin 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. 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.

Cuenta Bruce Schneier en su Applied Cryptography que:

Una compañía telefónica británica dio toda la documentación sobre el 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.”

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.

El A5 tiene dos versiones: la versión A5/1 (para uso doméstico) y la A5/2 (para la exportación). Ya hemos mencionado que la versión exportable estará lo bastante debilitada como para que cualquier agencia de espionaje electrónico medianamente competente pueda romperla en tiempo real.

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 este algoritmo de privacidad de voz.”

Nodo GSM

Nota: Este es un nodo de telefonia movil, que se ha realizado con muy pocos recursos y ha sido instalado en el interior de una furgoneta.

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. 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. Sin grandes equipos informáticos ni presupuestos multimillonarios. Esto es lo que necesita el fisgón para husmear donde no le llaman: un ordenador personal con 128 Mb de RAM, una capacidad de almacenamiento equivalente a entre 150 y 300 Gb y un escáner digital para capturar la señal.

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, repito un segundo que se puede decir que es en tiempo real.

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. Si se aprovechase este hecho el tiempo de criptoanálisis se reduciría considerablemente.

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 200 Gb no es lo que denominaríamos ridículo.

A 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. Pero lo cierto es que no está tan seguro como nos gustaría estarlo.

Deja un comentario

Tu e-mail no será publicado. Los campos requeridos están marcados con *