¿Es el GSM seguro para realizar operaciones de pago?
Están apareciendo sistemas de pago alternativos a las tarjetas de crédito, que basadas en la cinta magnética y el PIN de cuatro cifras, no ofrecen un nivel de seguridad adecuado. Uno de estos métodos de pago alternativos, se basa en el uso de teléfonos GSM, pero ¿podemos confiar en algo que no es libre?. Como veremos, no...
Lo que nos ofrece un teléfono GSM
Ante el aumento del fraude en el uso de las tarjetas de crédito tradicionales y hasta que se generalice el uso de las tarjetas basadas en chip inteligente que sean verdaderamente seguras, el teléfono GSM se está convirtiendo en un firme candidato a cubrir este nicho del mercado. No entraremos en detalles técnicos del funcionamiento del sistema GSM, pero hablaremos un poco de sus características de seguridad.
En primer lugar, el usuario está identificado en la red a través de su tarjeta SIM (Subscriber Identity Module), la cual, en teoría, es personal e intransferible. Cada tarjeta dispone, de un código interno o clave, a la que se le asocia un número de teléfono usando el sistema de gestión de la red. Por ello, el usuario siempre está identificado en la red por su código SIM, que teóricamente es secreto y no se puede extraer de la tarjeta, impidiendo así, la posibilidad de clonar la tarjeta y hacerse pasar por el usuario. Opcionalmente, se puede proteger la tarjeta SIM, utilizando un código de cuatro cifras, que solamente le será solicitado, cuando se active el teléfono.
En segundo lugar, las comunicaciones entre la base y el teléfono móvil GSM, están codificadas mediante un algoritmo, propietario y secreto, denominado A5/1, que en teoría, impide interceptar las comunicaciones de voz o de datos, pero recuerde y esto es importante, dicha codificación se realiza solamente en el tramo vía radio. Lo que pase cuando la comunicación entre en la red del operador, dependerá de cada red y no hay mucha información respecto a ello.
En tercer lugar, cada teléfono dispone de un número, denominado IMEI, que permite identificar un teléfono en la red GSM, aunque se le cambie el SIM. Para evitar el posible uso del teléfono con otro SIM (si lo pierde, o se lo roban), puede activar una opción de seguridad, que solicitará un código de 5 cifras cuando se cambie de tarjeta SIM.
Además de todo lo anterior, a los usuarios de servicios de pago a través de GSM, se les proporciona un sistema adicional de autenticación, basado normalmente en un código secreto, que deberá utilizar para poder realizar las operaciones de pago y que podrá cambiar en cualquier momento.
Como se puede ver, el sistema GSM identifica al usuario en la red y protege las comunicaciones, por lo que no debería haber ningún problema para poder utilizar estas características y realizar pagos a través de Internet, o sustituir las inseguras tarjetas de crédito, pero hay algunos problemas en el aire.
Las raíces del problema
No entraremos en el análisis de la operativa concreta de los distintos servicios de pago a través de GSM, algunos de los cuales, están en fase de diseño y se sabe poco de ellos. Seguramente, las patentes alianzas entre empresas implicadas, serán lo que definan estos servicios, lo que también implicará, desgraciadamente, que unos serán más seguros que otros. Por el momento y hasta saber más de ellos, nos limitaremos a repasar los fallos de seguridad del sistema GSM. Fallos descubiertos por personas de reconocido prestigio internacional y que analizaremos, sobre la base de la implantación de un sistema de pago. A pesar de estos fallos, no se descarta que existan sistemas de pago GSM, que teniendo en cuenta estos fallos y las limitaciones actuales del sistema GSM, permitan trabajar con total seguridad ahora y en el futuro, pero eso lo deben demostrar las operadoras.
El sistema GSM utiliza cuatro algoritmos A3, A5/1, A5/2 y A8. El A3 realiza la autentificación del usuario y evita la clonación de teléfonos. El A5/1 se encarga del cifrado fuerte de la comunicación. El A5/2 es similar al anterior, pero se usa para la exportación a ciertos países y es mucho más débil. El A8 se utiliza para la generación de la clave que utilizará posteriormente el A5/1 o A5/2. Todos estos algoritmos, que se desarrollaron en secreto y nunca fueron publicados, se reconstruyeron mediante ingeniería inversa por Marc Briceno, en colaboración con la Smartcard Developer Association y posteriormente, se analizaron por Ian. Goldberg, David. Wagner. El fruto de este trabajo conjunto se llamó "A pedagogical implementation of A5/1" y se publicó en mayo de 1.999. Aunque esta revelación no supuso una brecha en la seguridad del GSM, sirvió para descubrir muchos fallos del diseño y fue un ejemplo de que el oscurantismo no garantiza la seguridad en criptografía. Ya en el año 1.994 el investigador Ross Anderson, había dado la voz de alarma, pero nadie le hizo caso en aquel momento.
La mayoría de los proveedores GSM utilizan un mismo algoritmo, denominado COMP128, para el cifrado A3 y A8. Este algoritmo es criptográficamente débil y no es difícil romperlo con la finalidad de clonar los teléfonos GSM. El ataque requiere enviar 2^18 retos al teléfono, lo que se puede hacer en aproximadamente 8 horas y se puede realizar con acceso físico a la tarjeta SIM (opción barata) o sin acceso físico, vía radio (opción cara).
El grupo de Berkeley publicó el análisis de este algoritmo en abril de 1.998 y demostró que se su seguridad no era demasiado buena, por haber sido debilitado deliberadamente. De los 64 bits que componen la clave, solamente se utilizan 54, lo que equivale a reducir la efectividad 1.024 veces. Si tuviera un ordenador que tardase un año en comprobar todas las claves de 64 bits posibles, la reducción a 54 bits, supone que usando el mismo sistema informático, tardaría entre cuatro y ocho horas y media en descubrir la clave correcta. Seguramente, esta reducción en el tamaño de la clave fue motivada por el deseo de poder acceder a la escucha de las conversaciones GSM con una relativa facilidad. Incluso hay una versión del algoritmo, mucho más débil denominada A5/2, que tenía como objetivo la exportación a determinados países y en su diseño intervino la NSA americana. Esta versión fue analizada en agosto de 1.999 por este mismo grupo de Berkeley, descubriendo que se podía romper en tiempo real, con solamente 2^16 operaciones. Esta misma asociación, en mayo de 1.999 ya había publicado el la implementación del algoritmo A5/1.
Copia de tarjetas las SIM y el IMEI del teléfono
El 13 de abril de 1998, la Smartcard Developer Association y el grupo de investigadores de la Universidad de Berkeley, los mismos que descubrieron el fallo de seguridad en el SSL de las primeras versiones Netscape, anunciaron que era posible clonar un teléfono GSM. El primer teléfono móvil GSM que se logró clonar pertenecía a la Pacific Bell, pero más tarde, el CCC (Chaos Computer Club) en Alemania, también publicó que había clonado un teléfono GSM del operador D2. La North American GSM Alliance lo negó todo desde el primer momento, pero la empresa Omnipoint reconociendo el fallo, decidió cambiar los algoritmos. En la actualidad, parece la mayoría de las operadoras lo ignoran y no hay estadísticas fiables de fraude telefónico en las redes GSM, pero es algo que se debe tener en cuenta si piensa utilizar el móvil GSM para algo más que hablar con la familia. De hecho en España se ha legislado y penalizado recientemente, la manipulación fraudulenta de los teléfonos móviles, por lo que no debe ser tan seguro como nos cuentan algunos.
Todo es relativamente simple, si se tiene acceso a la tarjeta SIM durante las seis u ocho horas que dura el proceso. El sistema de autentificación de los teléfonos GSM se basa en enviar unos retos a la tarjeta SIM, que devuelve convenientemente cifrados. Recordemos que la clave utilizada para cifrar/descifrar los retos, solamente es conocida por la tarjeta SIM y por la red en la que está trabajando. El proceso comienza por la inserción de la tarjeta en un adaptador especial, con un coste de unas seis mil pesetas y mediante un programa específico, se le envían una serie de retos cuidadosamente seleccionados, haciendo creer a la tarjeta que está contestando a la red en un proceso que dura entre seis y ocho horas. Las contestaciones a los retos se almacenan en un archivo y posteriormente, utilizando otro programa, se analizan con el objeto de calcular el código secreto oculto en la tarjeta SIM, que como hemos dicho, no se puede obtener directamente y se logra con una fiabilidad del 75%. Posteriormente, con una tarjeta virgen y un programador de tarjetas "smartcard" adecuado, se genera una réplica de la tarjeta SIM usando el código que se ha obtenido en el proceso anterior y todo ello, sin necesidad de conocer el código PIN del usuario. La tarjeta SIM creada, no es una copia, es una simulación de tarjeta real, por lo que tiene algunas limitaciones. Por ejemplo, solamente funcionará en ciertas redes o modelos de teléfono y no permitirá acceder a determinados servicios. Para crear un clon exacto de un teléfono GSM, también es necesario modificar el IMEI, lo que es mucho más sencillo. Con un cable y un programa que se puede obtener de Internet, se puede editar el contenido de la memoria EEPROM/FLASH de algunos teléfonos y con ello, su IMEI.
Como hemos dicho, esta opción barata necesita tener acceso físico a la tarjeta a duplicar, pero desde 1.999 se sabe que se puede realizar enviando los retos vía radio, incluso a varios teléfonos al mismo tiempo, pero es más laborioso y se necesita equipo caro. Para poder obtener la clave secreta de una tarjeta SIM, es necesario disponer de la contestación a unos 175.000 retos, aunque esta cantidad se puede reducir aumentando el tiempo de proceso con el ordenador. Debe tener en cuenta, que una tarjeta puede contestar a unos 6 retos por segundo, lo que implicaría unas 8 horas de interrogaciones vía radio. Para que el usuario no note el ataque, los periodos de interrogación se deberán limitar en el tiempo, evitando así un consumo anormal de la batería.
Otro tema es el comportamiento de las redes con los teléfonos clonados. Por el momento, no hay datos fiables de lo que pasaría en las redes de los operadores españoles y todo son especulaciones. En las basadas en la tecnología de Motorola, la red detecta que hay dos teléfonos iguales y desactiva los dos. En otros casos, cuando se recibe una llamada, suena uno de los teléfonos de forma aleatoria, pero las llamadas se pueden originar desde cualquiera de los dos. Desgraciadamente, pensando en que era algo improbable, muchas redes no disponen de tecnología anti-fraude y aunque la tuviera la que está utilizando, ¿qué impide que el fraude se realice haciendo roaming sobre una red que no la tiene?. En todo caso, ninguna red será capaz de detectar un teléfono clonado, cuando el teléfono original está apagado, o fuera de cobertura. Una posibilidad sería la utilización de sistemas expertos que detecten ciertas anomalías en la red, como los cambios "imposibles" en la ubicación teléfono, o cambios en las pautas de utilización de los sistemas de pago.
Dadas las circunstancias, si usted utiliza su teléfono móvil para realizar pagos y lo pierde o se lo roban, lo mejor que puede hacer es anular el servicio y avisar, lo antes posible, a la empresa de pagos a través del móvil con la que opere. Si lo recupera, antes de darlo de alta de nuevo, cambie de tarjeta SIM, lo que no le costará mucho dinero, ni le implicará cambiar el número de teléfono.
Escucha de teléfonos GSM
El primer ataque al algoritmo A5/1 fue realizado por Jovan Golic y necesitó 2^40 operaciones, lo que significaba que solamente se podía romper en tiempo real utilizando hardware especializado. Más tarde, el 10 de abril de 2000, Alex Biryukov, Adi Shamir (uno de los padres de la criptografía actual y coautor del sistema de cifrado RSA) y David Wagner, presentaron en Nueva York, durante la Fast Software Encryption Workshop, el documento titulado "Real Time Cryptanalysis of A5/1 on a PC". En este documento se explicaba, de forma detallada, la forma de descifrar una comunicación codificada mediante el algoritmo A5/1. Se trataba de la versión más segura del algoritmo de cifrado, utilizado por más de 130 millones de usuarios GSM en toda Europa, para proteger las comunicaciones de datos o voz. Los fallos en el algoritmo A5/1 no son muy evidentes, al contrario que el A8, que proporciona las claves para el A5/1 A5/2 y que se había debilitado premeditadamente. El ataque se basa en fallos en el diseño del algoritmo, más concretamente, en la estructura de registros, en su mecanismo de temporización y en las frecuentes inicializaciones que se producen durante su funcionamiento normal. Para poder realizar este ataque, es necesario preparar unas tablas de descodificación, que pueden ocupar entre dos y cuatro discos de 73 Gb cada uno, dependiendo del tipo de ataque elegido. Afortunadamente, estas tablas solamente se tienen que calcular una vez y se pueden crear utilizando una red de ordenadores en paralelo.
Una vez obtenidas las tablas, las comunicaciones GSM se pueden descifrar en tiempo real, utilizando un simple PC con 128 Mb de RAM, dos discos de 80 Gb y un receptor adecuado al tipo de comunicaciones. De este ataque hay dos versiones. La primera requiere la salida del algoritmo A5/1 durante los dos primeros dos minutos de conversación y calcula la clave en un segundo. La segunda, necesita la salida del algoritmo A5/1, durante dos segundos de conversación y calcula la clave en varios minutos. Ambas versiones serían válidas para capturar el código de acceso de un usuario que realiza un pago usando el GSM ya que incluso, no es necesario que la descodificación se realice en tiempo real y las comunicaciones duran más de dos segundos. Actualmente, por una cantidad entre 10.000 y 60.000 euros, se puede adquirir un equipo de monitorización GSM, a través de conocidos proveedores de material de Defensa. Cantidad que está fuera del alcance de la mayoría de los mortales, pero que bien puede ser pagada por redes de delincuentes tecnológicos sin escrúpulos cuando el botín sea lo suficientemente suculento.
Pero ¿es realmente necesario recurrir a tanta complicación tecnológica para obtener el código del usuario?, probablemente no. En primer lugar, el cifrado en las redes GSM se establece solamente para las comunicaciones entre el terminal y la estación, por lo que no podemos hacer presunciones sobre el factor humano, o de las medidas seguridad impuestos por las operadoras en los tramos no cifrados, problemas que incluso puede heredar el UMTS, si no se tienen en cuenta al diseñar las redes. En segundo lugar, seguramente sea más sencillo y barato, recurrir a la ingeniería social, o a una simple cámara de vídeo, convenientemente situada, para conocer el código de acceso de un usuario. Por ello, si lo utiliza el móvil para pagar, también es recomendable que cambie su número clave con frecuencia y que no lo anote en ningún sitio.
Un fallo que tiene carácter temporal
Los fallos en la seguridad que hemos visto, se deben a errores en el diseño GSM, que como están bien reconocidos por los técnicos en la materia, se están intentando eliminar en los nuevos sistemas de telefonía móvil, como es el caso del UMTS. De hecho, el sistema de cifrado UMTS es mucho más robusto y se ha sometido públicamente a la comunidad internacional, para su escrutinio y comprobación. Una solución a corto plazo para el GSM, sería cambiar las tarjetas SIM de los usuarios y los sistemas de gestión de la red, por otros que utilicen un cifrado más seguro, pero es difícil que las operadoras estén por la labor. Pensemos en la fuerte inversión y el problema logístico que ello supone, sobre todo, si tenemos en cuenta que la tecnología UMTS, con sus inversiones multimillonarias, parece solucionar este problema y puede estar a la vuelta de la esquina.
Las últimas noticias del Ministerio de Ciencia y Tecnología, indican que el GSM va a durar algo más de lo esperado, retrasando la entrada de la tecnología UMTS en beneficio de las operadoras, lo que amplía la ventana de riesgo para los usuarios de los sistemas de pago por móvil. Tampoco hay que perder de vista, que dependiendo de la aceptación del UMTS por los usuarios, convivirán las dos tecnologías durante algún tiempo. La convivencia se materializará como GSM, o en forma de tecnologías derivadas como el GPRS, que aunque utiliza algoritmos nuevos, su seguridad no es comparable con la de los sistemas UMTS. Además, por la ampliación de la vida del GSM y aprovechando su gran número de usuarios, los sistemas de pago a través de móvil, nacerán y se mantendrán sobre el GSM, antes de pasar al UMTS durante mucho tiempo.
Pero aunque el UMTS sea la meta y se considere seguro, este es un mundo muy cambiante con dos únicas verdades; primero, no hay nada completamente seguro y segundo, lo que hoy nos parece o se comporta como seguro, es posible que mañana no lo haga. Por ello, las empresas que pongan en servicio medios de pago basados en la tecnología, deben estar atentas a los posibles fallos en la seguridad, corrigiendo o adaptando sus operativas y sistemas, en el momento que se detecten dichos fallos para corregirlos y si la tecnología empleada no lo permitiera, incluso dejando de operar hasta disponer de medios más seguros.
El usuario frente a servicios de alta tecnología
A pesar de lo dicho hasta el momento, no hay que dramatizar demasiado. Es completamente cierto que el sistema GSM es el sistema de comunicaciones inalámbricas de los más seguros que hay en la actualidad en servicio. También es cierto, que al día de la fecha, aún con los fallos descritos en el presente artículo, los pagos a través de móvil GSM son, con mucha diferencia, más seguros que los que pueda realizar cualquier usuario utilizando una tarjeta de crédito tradicional. Pero como habrá podido comprobar, no se debe vender como imposible, lo que por el momento, es solamente improbable. Pero la situación puede cambiar a peor, cuando el volumen de negocio a través del GSM valga la pena para los delincuentes tecnológicos y de hecho, los fallos están al alcance de cualquiera que los desee explotar. Recordemos que hay equipos en el mercado de la alta tecnología, capaces de interceptar las comunicaciones GSM.
Para que los usuarios puedan aceptar estas tecnologías sin reservas, es necesario que los contratos y operativas sean realistas y tengan en cuenta las limitaciones de seguridad de la tecnología utilizada. Desgraciadamente, si se revisa la evolución histórica de las tarjetas de crédito, con el dinero que mueven, el fraude que registran históricamente y el comportamiento de algunas entidades de crédito cuando aparece los fraudes, no es para tener mucha fe, pero todo podría cambiar. Por si alguien no lo ha pensado, es precisamente esa falta de fe de los usuarios, lo que está provocando su tímida respuesta a las nuevas tecnologías del comercio electrónico. Como último recurso, con las inseguras tarjetas de crédito de banda magnética, se podría recurrir a un calígrafo, para demostrar que no se firmó un determinado recibo en unos grandes almacenes, posibilidad que ahora no se tiene por usar una clave de 4 u 8 cifras.
Como cliente, antes de lanzarse a la aventura tecnológica, revise cuidadosamente la operativa y la letra pequeña del contrato que le ofrecen y piense en las dificultades que puede tener a la hora de demostrar un posible fraude si es víctima de ello.
El contrato que firme, si no tiene en cuenta los fallos del sistema, puede hacerle responsable de cualquier operación fraudulenta, invalidando casi cualquier cláusula de responsabilidad limitada que pueda imaginar. Sobre el papel, la única persona que puede cumplir con todo lo necesario para realizar un pago con un GSM es usted y además, solamente es posible usando su teléfono, por lo que poca defensa puede tener. Por ello, a la vista de los problemas tecnológicos del GSM, debería asegurarse de que existe un sistema que permita detectar y rechazar las operaciones fraudulentas. De otro modo, tiene la posibilidad, aunque muy remota por el momento, de pagar una cuenta que no es suya, y se niega, ya sabe lo que le espera... listas de morosos, servicios de reclamaciones que no saben nada del tema, implacables servicios jurídicos sin una visión realista de su problema, lentitud de la justicia, minutas de abogados y lo que es peor, pocas posibilidades de encontrar un perito que le pueda ayudar a demostrar lo que aquí se dice, sobre todo, cuando todo el mundo cree y mantiene que esto es completamente seguro para todos.
"Copyleft 2005 Fernando Acero Martín. Verbatim copying, translation
and distribution of this entire article is permitted in any digital
medium, provided this notice is preserved".
-------------------------------------------------------------------------
Bibliografía
R. Anderson, M. Roe, A5, 1994.
S. Babbage, A Space/Time Tradeoff in Exhaustive Search Attacks on Stream Ciphers, European Convention on Security and Detection, IEE Conference publication, No. 408, May 1995.
M. Briceno, I. Goldberg, D. Wagner, A pedagogical implementation of A5/1, May 1999.
J. Golic, Cryptanalysis of Alleged A5 Stream Cipher, proceedings of EUROCRYPT'97, LNCS 1233,pp.239-255, Springer-Verlag 1997.
M. E. Hellman, A Cryptanalytic Time-Memory Trade-Off, IEEE Transactions on Information Theory, Vol. IT-26, N 4, pp.401-406, July 1980
David Margrave, George Mason University GSM Security and Encryption
Alex Biryukov, Adi Shamir, David Wagner Real Cryptanalysis of A5/1 on a PC, Apr 2000.
Bruce Schneier, Crypto-Gram "European Cellular Encryption Algoritms" Dec 1999