Member of The Internet Defense League Últimos cambios
Últimos Cambios
Blog personal: El hilo del laberinto Geocaching

Cifrado GSM. ¿Desarrollo cerrado o desarrollo intencionado?

Última Actualización: 15 de Febreto de 2.000 - Martes

Artículo publicado en el boletín Una-Al-Día de Hispasec, el 26 de Diciembre de 1.999.
Reproducido también de forma parcial en ibrujula.com.

Hace apenas unos días HispaSec (y el resto del mundo civilizado) se hizo eco de una noticia aparentemente espeluznante: cualquier atacante con un mínimo de recursos (recursos al alcance de cualquier aficionado a la informática) puede descifrar cualquier conversación efectuada a través de un teléfono GSM, en menos de un segundo.

No vamos a abundar de nuevo en lo que ya se ha dicho aquí y en otros muchos foros sobre las inapreciables ventajas de desarrollar criptosistemas de forma abierta y sujetos al escrutinio y el análisis público por parte de toda la comunidad especializada. Este boletín pretende adoptar una postura más técnica y completar así el análisis de la vulnerabilidad.

El GSM utiliza 3 algoritmos de cifrado diferentes:

  • A3: Autentificación de la tarjeta SIM ante la red GSM

  • A5/1 y A5/2: Algoritmos de cifrado de voz entre el teléfono y la estación base GSM.

  • A8: Algoritmo de generación de clave para los algoritmos A5.

En realidad estos algoritmos "no existen". En el estándar GSM esos nombres se emplean como "receptáculos" a la hora de definir posibles algoritmos a emplear. No obstante, en aras de la portabilidad y para permitir el "roaming" de los teléfonos entre diferentes redes GSM, la mayoría de las redes digitales han desplegado los mismos algoritmos.

Para A3 y A8 se suele emplear el algoritmo COMP128, tristemente conocido por su bajo nivel de seguridad y por permitir, por ello, la clonación relativamente simple de tarjetas SIM (puede verse más información sobre este tema en particular en http://www.argo.es/~jcea/artic/gsm.htm). Por si sus debilidades implícitas no fueran suficientes, se ha probado que 10 de los 64 bits de la clave son siempre cero, probablemente para facilitar el ataque por parte de agencias gubernamentales, cuerpos de seguridad, espionaje, etc. Una puerta trasera institucional en toda regla.

Dado que COMP128 se usa en casi todas (no conocemos ninguna que no lo haga, a decir verdad) las implementaciones de A8, y que A8 se emplea para generar las claves de cifrado para A5, es obvio que si un atacante puede clonar un SIM, puede no solo hacerse pasar por un usuario GSM legítimo ante la red, sino que también podrá escuchar sus conversaciones.

La novedad de estos días, no obstante, consiste en que es sencillo y factible atacar directamente al algoritmo A5/1, sin necesidad de atacar A3/A8 previamente. Es más, el ataque puede llevarse a cabo en tiempo real. Para ello, Alex Biryukov y Adi Shamir (la 'S' de RSA) emplean un ordenador personal con 128Mbytes de RAM y dos discos duros de 73 GB (IBM fabrica discos duros de esta capacidad, por ejemplo).

Para ello, se escucha una conversación telefónica GSM, intentando buscar una serie de patrones en el cifrado. La probabilidad de que aparezcan dichos patrones crece a medida que recibimos la conversación, y al cabo de apenas un par de minutos la probabilidad de encontrarlos es casi una certeza. Por eso en muchos medios se dice que es necesario escuchar la conversación dos minutos; los patrones pueden aparecer en cualquier momento, pero tras dos minutos es casi seguro que habrán aparecido ya.

Una vez encontrado el patrón, se realiza una exploración de medio segundo en los discos duros, y se obtiene la clave de cifrado de la conversación. Una vez localizada esa clave, se puede descifrar la conversación de forma trivial, incluyendo lo que se haya dicho durante el tiempo de "búsqueda".

El algoritmo cuyo ataque se ha descrito aquí es el A5/1, la versión europea. Existe otro algoritmo, A5/2, empleado en la versión GSM para Asia y Oceanía, bastante más sencillo de atacar (sólo requiere realizar unas 2^16 operaciones, perfectamente realizables en tiempo real). Los detalles del ataque fueron publicados el pasado Agosto.

Resulta muy interesante leer el borrador original del ataque, y comprobar que éste es posible debido a sutilezas en la estructura del criptosistema A5/1. Para ello sólo existen dos explicaciones:

La primera de ellas es que, al haber sido un algoritmo desarrollado de forma privada, no se vio beneficiado del estudio masivo que hubiera tenido si hubiera sido puesto a disposición del colectivo universitario e investigador mundial. Colectivo que hubiera encontrado deficiencias, como acaba de hacer, antes de que el sistema se hubiese desplegado comercialmente. Pero esa aparente negligencia contrasta con el hecho de que ligeras variaciones en el algoritmo producen sistemas mucho más fáciles de atacar, lo que da a entender que los desarrolladores originales conocían muy bien su trabajo y diseñaron A5/1 y A5/2 a conciencia. Esta tesis está abonada también por el hecho de que 10 de los 64 bits de la clave A5 se fijen siempre a cero de forma intencional, como una medida de debilidad extra.

Una vez que está clara la intención de crear algoritmos "atacables", queda por explicar la razón para ello. Dado que el cifrado sólo se emplea entre el teléfono y la estación base, es evidente que las fuerzas de seguridad pueden interceptar cualquier comunicación sencillamente empleando una orden judicial que les dé acceso a la estación base, donde la conversación es accesible en "claro", es decir, descifrada. ¿Para qué se requiere, entonces, acceso a la conversación "en el aire"?. La respuesta es obvia: para poder realizar escuchas ilegales. Y no sólo la policía, sino también los servicios de espionaje y quien sabe qué otros colectivos con dudosas intenciones.

La respuesta del grupo GSM no se ha hecho esperar. Según ellos, no se puede capturar una conversación en el aire debido a que la transmisión va saltando de frecuencia. Se hace así para evitar interferencias y problemas con la multipropagación. Pero dado que un teléfono GSM puede realizar los saltos de frecuencia de forma perfectamente sincronizada (sino, el sistema no funcionaría), es obvio que pueden construirse sistemas electrónicos que realicen esa misma función.

De hecho, he aprovechado el regreso a casa para festejar las navidades y he estado repasando mis apuntes universitarios sobre la tecnología GSM. Entre otras cosas me he encontrado un artículo titulado "The GSM Radio Interface", escrito por M.R.L. Hodges y publicado en la revista "Br Telecom Technol Journal", volumen 8, número 1, de Enero de 1.990.

A pesar de lo que diga el grupo GSM, como Ingeniero de Telecomunicación puedo decir que con ese artículo y los documentos publicados de forma abierta por la ETSI, cualquiera con recursos puede construirse un "seguidor de conversaciones" GSM. Y con ese equipo y el artículo de Alex Biryukov y Adi Shamir, escuchar conversaciones GSM es un juego de niños.

Más información:

Real Time Cryptanalysis of the Alleged A5/1 on a PC (preliminary draft)
Versión en PostScript

Desarrolladores israelíes descodifican las señales de los teléfonos móviles GSM

Boletín del Criptonomicón
Año II, número 62
15 de diciembre de 1999

Hispasec: una-al-día
14-12-1999 - La seguridad de GSM se tambalea

Los teléfonos móviles, a prueba

Researchers claim GSM cell phones insecure

Two say they cracked A5/1 encryption code

Researchers Claim to Have Broken Privacy Code for Wireless Phones

¡¡¡EL GSM Cae!!!

Cell Phone Crypto Penetrated
Parte 2.

Clone for the Holidays

GSM Alliance Clarifies False & Misleading Reports of Digital Phone Cloning

Crack A5

A5/1 Pedagogical Implementation

Smartcard Developer Association

GSM World



Python Zope ©2000 jcea@jcea.es

Más información sobre los OpenBadges

Donación BitCoin: 19niBN42ac2pqDQFx6GJZxry2JQSFvwAfS