Está en la página 1de 10

Protocolos de Autenticación y Canales Anónimos en

GSM

Alberto Peinado

Dept. Ingeniería de Comunicaciones, E.T.S.I. Telecomunicación,


Universidad de Málaga
Campus de Teatinos, E-29071 Málaga, Spain
apeinado@ic.uma.es

Abstract. En este artículo se presenta un protocolo eficiente de autenticación


para canales anónimos usando los algoritmos A3/A8/A5. Este protocolo se deri-
va de la propuesta realizada recientemente por Lee, Hwang y Yang en [4] para
la autenticación en GSM, en combinación con el protocolo para canales anóni-
mos presentado por Lin y Jan en [5].

1 Introducción

El sistema de comunicaciones móviles GSM es un sistema ampliamente utilizado que


representa el estándar europeo de comunicaciones móviles de segunda generación.
Aunque el enorme incremento en el número de usuarios de comunicaciones móviles
ha venido de la mano de este sistema, todavía existe cierta preocupación por dos as-
pectos fundamentales; esto es, la privacidad y la autenticación, que como es bien sabi-
do, son la pieza fundamental en la seguridad de las comunicaciones, pero que en el
caso de GSM se ha demostrado poco robusta. A pesar de ello, la considerable mejora
en la calidad del servicio ofrecido a los usuarios y el abaratamiento de los costes de los
terminales no ha impedido la masiva utilización del sistema, que ya se encuentra en
fase de adaptación al nuevo sistema de tercera generación UMTS.

La arquitectura del sistema GSM [8] se compone de las estaciones móviles (MS) que
se comunican a través de enlaces radioeléctricos con las estaciones base (BS), las
cuales se encuentran conectadas a centros de conmutación móviles (MSC). Estos
MSC, que están interconectados, son los encargados de facilitar la conexión entre los
enlaces radioeléctricos y la red fija. Por otra parte, el sistema dispone de una base de
datos denominada HLR que contiene el registro de todos los usuarios del sistema junto
con su localización, y de otra base de datos VLR ubicada en cada MSC que contiene
información de los usuarios visitantes en su área de localización. El AUC es el centro
de autenticación de usuarios que contiene las claves individuales Ki de cada usuario, y
es en consecuencia parte fundamental del proceso de autenticación.
Si bien es cierto que UMTS ha redefinido sus funciones y servicios relacionados con
la privacidad y la autenticación con el fin de solucionar los problemas que presentaba
GSM, también lo es el hecho de que GSM no va a desaparecer de inmediato. Es por
esto, que todavía continúan apareciendo nuevas propuestas para mejorar la autentica-
ción en GSM, definida en la recomendación 02.09 [10] cuyos problemas se pueden
resumir en los siguientes cuatro puntos:

a) GSM no proporciona al usuario la posibilidad de autenticar las estaciones base a


las que se conecta.
b) GSM genera un excesivo consumo de ancho de banda entre las bases de datos
HLR y VLR, debido al tipo de autenticación utilizado.
c) El mecanismo de autenticación obliga a los VLR a disponer de un gran espacio de
almacenamiento a los VLR
d) La autenticación de los usuarios sobrecarga en exceso al HLR

A consecuencia de esto han venido apareciendo diversas propuestas que han intentado
solucionar total o parcialmente los mencionados problemas, al tiempo que proporcio-
naban algún servicio adicional como el no-repudio o la utilización de canales anóni-
mos. Por ejemplo, en 1998 Al-Tawil et al [1] propusieron un nuevo método de auten-
ticación con menor tasa de tráfico de señalización y menor tiempo de establecimiento
de llamada, aunque no conseguía resolver los problemas del protocolo original. Por
otro lado, Lo y Chen, en 1999 [6,7] propusieron un nuevo sistema de comunicaciones
seguras para GSM basado en criptografía de clave pública. El gran inconveniente de
esta propuesta es que propone una arquitectura completamente distinta a la original.
En cualquier caso, y aunque los problemas exclusivos de la autenticación quedaban
resueltos, los derivados del aumento del tráfico entre VLR y HLR, el espacio de alma-
cenamiento en los VLR , y la sobrecarga del HLR seguían estando presentes. Parale-
lamente, Stach [9] presentó una modificación que proporcionaba no repudio de servi-
cio gracias a la utilización de una función unidireccional adicional.

La primera propuesta que consigue eliminar parcialmente los problemas del protocolo
original sin alterar la arquitectura original de GSM se debe a Lee et al [3], que resuel-
ve los problemas b)-d). Recientemente, Lee et al [4] han propuesto una extensión del
protocolo de autenticación GSM que resuelve a)-d), consiguiendo la autenticación
mutua entre MS y BS, la reducción del consumo de ancho de banda entre VLR y
HLR, la reducción del tamaño de almacenamiento necesario en los VLR, y la descarga
del HLR permitiendo la autenticación del MS por parte del VLR, sin necesidad de
acudir en todo momento al HLR.

Este último protocolo [4] sirve de punto de partida para la propuesta que se presenta
en este artículo con el objetivo de proporcionar, además, autenticación sobre canales
anónimos en GSM. Por otra parte, el protocolo de Lin y Jan [5] para autenticación
sobre canales anónimos permite desarrollar en combinación con [4] un protocolo efi-
ciente de autenticación sobre canal anónimo en GSM que satisfaga los requisitos men-
cionados. Es importante mencionar que sólo es utilizable la estructura general de [5],
puesto que se ha demostrado en [2] la vulnerabilidad del principio de autenticación,
consiguiendo acceder ilegalmente al sistema mediante la generación de tickets falsos.

Las siguientes secciones describen el protocolo original de autenticación definido para


GSM, el protocolo de Lee et al [4] y el protocolo de autenticación de canales anóni-
mos de Lin y Jan [5] cuya estructura general sirve de inspiración a la propuesta de este
artículo. Finalmente, la sección 5 presenta el protocolo propuesto para autenticación
sobre canales anónimos.

2 Protocolo original de autenticación GSM

La seguridad del sistema GSM está basada en los algoritmos A3, A5 y A8, de tal mo-
do que A5 es el responsable de cifrar las comunicaciones entre MS y BS mediante una
clave de sesión Kc, que se establece previamente entre MS y BS, una vez que el MS ha
sido autenticado. Para ello, el MS debe calcular y devolver al sistema una respuesta
SRESm a partir de un desafío RAND que debe cifrar con el algoritmo A3 utilizando su
clave Ki que comparte con el HLR/AUC del sistema. Ese mismo desafío RAND sirve
para calcular la clave de sesión Kc mediante el algoritmo A8 y la clave Ki.

El proceso de autenticación comienza cuando el MS cambia de localización y envía al


VLR una petición de autenticación que contiene su identificación temporal TMSI y el
del área de localización LAI. Este nuevo VLR a partir del TMSI y a través del antiguo
VLR obtiene la identificación IMSI del MS, para indicar al HLR del sistema que
usuario es el que está solicitando la autenticación. Cuando el HLR recibe la petición
genera n tríos (RANDi, SRESi, Kci) que envía al nuevo VLR.

El VLR debe almacenar esos tríos de parámetros con el fin de utilizarlos en sucesivas
autenticaciones de este mismo MS. En cada una de estas autenticaciones el VLR envía
al MS el desafío RANDi. El MS calcula SRESm = A3(Ki, RANDi) y lo devuelve al VLR,
que lo compara con el SRESi del correspondiente trío que ha sido generado por HLR,
y calcula también la clave de sesión Kc = A8(Ki, RANDi) que utilizará para cifrar las
posteriores comunicaciones.

Por último, cuando el VLR recibe SRESm debe comprobar si su valor coincide con
SRESi. En tal caso, el MS queda autenticado.

Como se puede comprobar, este procedimiento no proporciona autenticación mutua,


puesto que solo es autenticado el MS, pero no el VLR. Es decir, el sistema controla a
los usuarios que intentan acceder, pero los usuarios no pueden controlar la autentici-
dad de las estaciones base a las que se conectan. Esta situación es la que ha permitido
la obtención de la clave de usuario Ki por parte de terceras personas, y por tanto, la
clonación de tarjetas SIM, mediante el envío sistemático de desafíos al MS.
3 Protocolo LHY de autenticación para GSM

A continuación se describe el protocolo de Lee et al [4] (LHY) que permite resolver


los principales problemas a)-d), incluyendo la autenticación mutua, sin modificar la
arquitectura del sistema. Esto quiere decir, que los algoritmos de cifrado y funciones
unidireccionales que se utilizan son las mismas que se definen en el protocolo original,
esto es, A3, A5 y A8. Del mismo modo, cada usuario MS dispone de su clave indivi-
dual Ki, que solo conoce el propio usuario a través de su SIM y el HLR.

Este protocolo está basado en la generación de una clave secreta temporal TKi que
genera el HLR y permite al VLR autenticar al MS sin necesidad de conectarse poste-
riormente con el HLR, y sin necesidad de que el VLR conozca la clave Ki.

El procedimiento de autenticación LHY puede describirse del siguiente modo:

a) El proceso comienza de un modo similar al de autenticación GSM original. Esto


es, El MS envía al VLR un mensaje de petición de autenticación que contiene el
TMSI y el LAI, y al que añade un sello de tiempo T, para evitar ataques por repe-
tición.

b) Del mismo modo que en el GSM original, el nuevo VLR obtiene el IMSI del MS
y lo envía al HLR junto con su identidad VLR_ID y el sello de tiempo T, utilizan-
do un canal seguro.

Es importante recordar que GSM no establece ningún tipo de seguridad específica


en la parte fija del sistema.

c) Cuando el HLR recibe la petición comprueba que la identidad VLR_ID es válida


y que el sello de tiempo es actual. En caso afirmativo, el HLR genera el certifica-
do de la identidad de VLR, esto es, Auth_VLRh = A3(Ki, T), y la clave temporal
que utilizarán MS y VLR, esto es, TKi = A3(Ki, RAND). A continuación, utilizan-
do un canal seguro, HLR le envía al VLR los parámetros Auth_VLRh, TKi, y
RAND.

d) Cuando el VLR recibe el mensaje, calcula SRES = A5(TKi, RAND1), siendo


RAND1 un número aleatorio elegido por el propio VLR, para autenticar a MS en
esta llamada. La siguiente vez que el VLR tenga que autenticar al mismo MS, ge-
nerará un RANDj y a partir de él el correspondiente SRESj. De este modo se libera
al HLR de gran parte de la sobrecarga debida al proceso de autenticación.
A continuación el VLR envía al MS un mensaje con los parámetros RAND,
RAND1, Auth_VLRh, y T.

e) Cuando el MS recibe el mensaje comprueba que el certificado Auth_VLRh de la


indentidad de VLR es correcto, pues conoce Ki y T. Asimismo, calcula la clave
secreta temporal TKi, a partir de Ki y de RAND, utilizando el algoritmo A3. Por
último, calcula SRESm = A5(TKi, RAND1) y se lo devuelve al VLR.
f) Finalmente, el VLR compara el parámetros SRESm recibido con SRES. Si coinci-
de, entonces el MS se considera autenticado.

Nótese que este protocolo se basa en los algoritmos A3 y A5, y por tanto, la seguridad
del protocolo también depende de la seguridad de estos algoritmos. No hay que con-
fundir en ningún caso los algoritmos genéricos A3, A5 con sus implementaciones
particulares que han sido en varias ocasiones criptoanalizadas. Lo que este protocolo
permite es una implementación sencilla y eficiente, puesto que podrá utilizar los algo-
ritmos que el sistema GSM defina para su funcionamiento, evitando una sobrecarga de
las aplicaciones que puede ejecutar la SIM del usuario.

4 Protocolo LJ de autenticación sobre canales anónimos

En [5], Lin y Jan presentan un protocolo (LJ) de autenticación sobre canales anónimos
para redes inalámbricas que puede ser aplicado a GSM. Este protocolo fue diseñado
suponiendo que existe o que se puede implementar una infraestructura de clave públi-
ca en el sistema, y se basa en la generación de tickets de prepago que permitan su
posterior utilización de forma anónima. El procedimiento de autenticación se divide en
dos fases: la fase de generación del ticket, y la fase de autenticación o utilización del
ticket.

En esta sección no se describe con detalle el protocolo LJ, puesto que ya se ha demos-
trado en [2] que el sistema es inseguro y pueden generarse tickets falsos para engañar
al sistema y acceder sin nigún problema. En cambio, su estructura general sí que re-
sulta útil al ser combinada con el protocolo LHY. De un modo más preciso, el proto-
colo LJ supone que MS y HLR comparten una clave secreta Ki, y que todos los usua-
rios MS conocen (y tienen almacenada en su SIM) la clave pública eh del HLR, para
poder enviarle mensajes cifrados.

4.1 Fase de generación del ticket

En esta fase se describe el proceso de generación del ticket de prepago que solicita un
MS para utilizarlo posteriormente de forma anónima. Esta fase incluye la autentica-
ción del MS por parte del HLR y la posterior autenticación del HLR por parte del MS
a través del ticket generado.

{ }
a) MS 9/5 +' , 1 1 , ,' , 7 , 7      , &HUW  

donde N1 es un numero aleatorio, T y Texpire son sellos de tiempo, y Certi es la informa-


ción de autenticación que utilizará el HLR
&HUW = (,' , 7 , 7
 )  (1)

En este paso, MS envía a VLR información para que sea transferida al HLR, de for-
ma que VLR no tenga acceso a ella. La única información que VLR debe conocer es
la identidad HD de HLR

b) VLR {
+/5 1 1 , ,' , 7 , 7      , &HUW    }
c) HLR (
9/5 1 1 , & , ' , 7       )
siendo (C,D,Texpire) el ticket generado por HLR. Los detalles de generación de C y D
son omitidos por simplicidad. Basta considerar que existe una relación matemática
entre ellos (que ha sido criptoanalizada en [2]) y que dependen de un parámetro o
clave secreta que solo HLR conoce.

d) VLR ( )
06 1 1 , & , ' , 7      
En este caso, VLR envía un mensaje de broadcast a todos los usuarios, de modo que el
destinatario real lo pueda identificar a través del valor de N1.

e) MS comprueba que el ticket es válido. Para ello comprueba las relaciones mate-
máticas que existen entre ellos y la clave secreta de HLR, a través de la clave pública
que todos conocen.

Si la autenticación es afirmativa, el MS considera que el ticket (C, D, Texpire) es válido,


es decir, que lo ha emitido el HLR de su sistema. Como se puede observar, esta fase
del protocolo implementa autenticación mutua entre MS y HLR.

4.2 Fase de utilización del ticket

Cuando el MS quiere utilizar un canal anónimo debe utilizar el ticket generado pre-
viamente por el HLR. Para ello, debe generar un identificador distinto en cada ocasión
(y por tanto anónimo) NewID.

a) MS → VLR: NewID, T, Texpire

donde NewID = yh||B||E, esto es, la concatenación de yh, B y E, donde B y E se generan


a partir de valores aleatorios combinados con el parámetro C del ticket.

b) VLR 06 r
siendo r un número aleatorio.

c) MS 9/5 K,L

donde K y L se generan a partir de valores aleatorios combinados con el parámetro D


del ticket y el desafío r recibido.

d) VLR comprueba la validez del ticket a través de las relaciones que deben cumplir
los parámetros L, K, B, E, y la clave pública del HLR

Como se puede observar, en la fase de autenticación no es necesaria la participación


del HLR. Por otra parte este protocolo no indica nada respecto de las claves de sesión
a utilizar una vez conseguida la autenticación anónima.

5 Protocolo de autenticación para canales anónimos en GSM

A continuación se presenta un nuevo protocolo de autenticación sobre canales anóni-


mos basado en la generación de claves temporales TKi para los VLR que utiliza el
protocolo LHY, y en la generación tickets de prepago con caducidad temporal que
utiliza el protocolo LJ, estableciendo, por tanto, dos fases: la de generación del ticket y
la de utilización o autenticación anónima.

El objetivo es proporcionar la posibilidad de utilizar los recursos del sistema de forma


anónima pero impidiendo que usuarios no autorizados accedan a la red. Todo ello
debe implementarse con el menor impacto sobre la arquitectura original de GSM, y
sobrecargando lo menos posible la actividad de la SIM de los usuarios. Además, el
protocolo pretende mantener las soluciones y mejoras que incorpora el LHY sobre el
protocolo original de autenticación de GSM.

5.1 Fase de generación del ticket.

Al igual que el protocolo LJ, consideramos la existencia de una mínima infraestructura


de clave pública, de modo que el HLR disponga de un par de claves (pública y priva-
da) a utilizar con algún criptosistema asimétrico. Por tanto, los usuarios MS deben
conocer la clave pública del HLR de sus sistema.

En esta fase se describe el proceso de generación del ticket de prepago que solicita un
MS para utilizarlo posteriormente de forma anónima. Esta fase incluye la autentica-
ción del MS por parte del HLR y la posterior autenticación del HLR por parte del MS
a través del ticket generado.
{
a) MS 9/5 +' , 1 1 , ,' , 7 , 7   !  , &HUW    }
donde N1 es un numero aleatorio, T y Texpire son sellos de tiempo, y Certi es la informa-
ción de autenticación que utilizará el HLR

&HUW ' = (,' ' , 7 , 7$ % & ' ( $ )# " (2)

En este paso, MS envía a VLR información para que sea transferida al HLR, de for-
ma que VLR no tenga acceso a ella. La única información que VLR debe conocer es
la identidad HD de HLR. Certi se puede obtener cifrando con A3 y usando como clave
Ki. De este modo no es necesario implementar otro algoritmo de cifrado en la SIM del
MS.

b) VLR { }
+/5 1 1 , ,'+ , 7 , 7* , - + . * , &HUW + * )

c) HLR 9/5N1, Auth_VLRh, T, TKi, Texpire.

siendo (Auth_VLRh, TKi, Texpire) el ticket generado por HLR, donde Auth_VLRh = A3(Ki,
T) y TKi = A3(Ki, Texpire).

Es importante resaltar que este mensaje debe ser enviado por una canal seguro entre
HLR y VLR.

d) VLR 06N1, Auth_VLRh, T, Texpire

En este caso, VLR envía un mensaje de broadcast a todos los usuarios, de modo que el
destinatario real lo pueda identificar a través del valor de N1.

e) MS comprueba que el ticket es válido. Para ello comprueba que donde Auth_VLRh
= A3(Ki, T) y obtiene la clave temporal TKi = A3(Ki, Texpire)

De este modo se consigue una autenticación mutua, puesto que MS es autenticado por
HLR a traves de Certi, y tanto VLR como HLR son autenticados por MS a través de
Auth_VLRh. Si la autenticación es afirmativa, el MS considera que el ticket
(Auth_VLRh, TKi, Texpire) es válido, es decir, que lo ha emitido el HLR de su sistema.

5.2 Fase de utilización del ticket

Cuando el MS quiere utilizar un canal anónimo debe utilizar el ticket generado pre-
viamente por el HLR.
a) MS → VLR: Auth_VLRh, Texpire.

b) VLR 06 RANDi

siendo RANDi un número aleatorio.

c) MS 9/5 SRESm

donde SRESm = A5(TKi, RANDi).

d) VLR comprueba que SRESm = A5(TKi, RANDi).

Como se puede observar, en la fase de autenticación no es necesaria la participación


del HLR. En cuanto a la clave de sesión Kc a utilizar para cifrar posteriormente los
datos se puede continuar aplicando el mismo procedimiento que en GSM, estos es, Kc
= A8(TKi, RANDi).

Por otro lado, el sistema solo tendrá que acudir al HLR cuando caduque el Texpire. El
procedimiento de autenticación es el mismo que en GSM, esto es, está basdo en un
sistema desafío/respuesta, pero de tal forma que el VLR no conoce, ni puede conocer
la verdadera identidad de MS.

Conclusiones

Se ha presentado un extensión o adaptación del protocolo LHY propuesto por Lee et al


[4] para que soporte la utilización de canales anónimos, de tal modo que los VLR
puedan autenticar usuarios sin saber realmente quienes son. La adaptación del proto-
colo LHY se ha realizado aplicando algunos de los principios de funcionamiento del
protocolo LJ que Lin y Jan [5] propusieron para autenticar canales anónimos en redes
inalámbricas, pero que fue posteriormente criptoanalizado en [2].

Agradecimientos

Este trabajo ha sido financiado por el proyecto TIC2001-0586 “Gestión del acceso
seguro a redes abiertas de recursos distribuidos”.
References

1. AL-TAWIL, K., AKRAMI, A., YOUSSEF, H., “A new authentication protocol for GSM
rd
networks”, Proc. IEEE 23 Annual Conference on Local Computer Networks (LCN’98),
1998, pp. 21-30.
2. BARBANCHO, A.M., PEINADO, A., “Cryptanalysis of anonymous channel protocol for
large-scale area in wireless communications”, Computer Networks (2003) (In Press, avail-
able on line http://www.sciencedirect.com)
3. LEE, C.H., HWANG, M.S., YANG, W.P., “Enhanced privacy and authentication for the
global system for mobile communications”, Wireless Networks, 5 (1999), pp. 231-243.
4. LEE, C.H., HWANG, M.S., YANG, W.P., “Extension of authentication protocol for
GSM”, IEE Proc.-Commun., 150 (2003), pp. 91-95.
5. LIN, W.D., JAN, J.K., “A Wireless-based Authentication and Anonymous Channels for
Large Scale Area”, Proc. Sixth IEEE Symposium on Computers and Communications
(ISCC’01), 3-5 July, Tunisia, (2001), pp. 36-41.
6. LO, C.C., CHEN, Y.J., “ A secure communication architecture for GSM networks” , Proc.
IEEE Pacific Rim Conference on Communications, computers and signal processing,
1999, pp.221-224.
7. LO, C.C., CHEN, Y.J., “ Secure communication mechanisms for GSM networks” , IEEE
Transactions on Consumer Electronics, 45 (4), 1999, pp. 1074-1080.
8. MEHROTRA, A., GSM System Engineering, Artech House Publishers, 1997.
9. STACH, J.F., PARK, E.K., MAAKI, K., “ Performance of an enhanced GSM protocol
supporting non-repudiation of service” , Computer Communications, 22 (1999), pp. 675-
680.
10. ETSI, “ Recommendation GSM 02.09; Security related network functions” , Tech. Rep,
European telecommunications Standard Institute, ETSI, June 1993.

También podría gustarte