domingo, 26 de diciembre de 1999

Cifrado GSM. ¿Desarrollo cerrado o desarrollo intencionado?

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)
http://cryptome.org/a51-bs.htm
http://cryptome.org/a5.ps

Desarrolladores israelíes descodifican
las señales de los teléfonos móviles GSM
http://beta.ibrujula.com/news/noticia.php3?id=138
Boletín del Criptonomicón
Año II, nº 62
15 de diciembre de 1999
http://www.iec.csic.es/criptonomicon/boletines/boletin62.txt
Hispasec: una-al-día
14-12-1999 - La seguridad de GSM se tambalea
http://www.hispasec.com/unaaldia.asp?id=413
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
http://wired.lycos.com/news/politics/0,1283,32900,00.html
http://wired.lycos.com/news/politics/0,1283,32900-2,00.html
Clone for the Holidays
GSM Alliance Clarifies False & Misleading Reports of Digital Phone
Cloning
http://jya.com/gsm042098.txt
Crack A5
A5/1 Pedagogical Implementation
Smartcard Developer Association
GSM World



Jesús Cea Avión
jcea@hispasec.com