Las tarjetas SIM (acrónimo en inglés de Subscriber Identity Module, o, en español, módulo de identificación de abonado) son elementos familiares en el mundo de la telefonía móvil. A pesar de ser fácilmente intercambiables o reemplazables, no surgieron al mismo tiempo que los teléfonos móviles. Los primeros móviles soportaban únicamente estándares de comunicación “integrados”: los parámetros de suscripción estaban configurados en la memoria del terminal móvil.
Los estándares analógicos más antiguos como NMT-450 no contaban con ningún tipo de seguridad: los datos de suscripción podían copiarse en otro dispositivo y ser clonados, posibilitando la opción de hacer y aceptar llamadas en nombre del legítimo propietario, de forma gratuita.
La primera medida de seguridad, que se inventó algo más tarde, fue el llamado código SIS (Subscriber Identity Security code, en inglés), una cifra de 18 dígitos única para cada dispositivo y codificada en un procesador de aplicaciones. Los códigos SIS igualmente se distribuían a los proveedores, con lo que dos dispositivos no podían tener el mismo código SIS. El procesador también almacenaba un código RID de 7 dígitos que se transmitía a una estación base cuando un suscriptor se registraba en una red celular.
Weak Link: How to lose everything having lost your #SIM-card https://t.co/wha5ECQP6A #security pic.twitter.com/ykU4j1mbvI
— Kaspersky (@kaspersky) November 18, 2014
La estación base generaba un número aleatorio, que, ligado a una única respuesta SIS, el procesador SIS la usaba para generar la clave de autorización.
Ambas claves y cifras eran relativamente cortas, pero eran adecuadas para 1994, aunque eran bastante predecibles y, más tarde, el sistema fue crackeado, solo tres años antes de que surgiera el estándar del sistema global para las comunicaciones móviles o GSM (Global System for Mobile Communications, en inglés). Se trataba de un sistema más seguro por su diseño, ya que utilizaba un sistema de autorización similar, aunque más resistente en su cifrado. Por lo tanto, el estándar se “separó”.
Tecnología #5G: ¿por qué la necesitamos? https://t.co/Cp9NqW9EfC #conectividad pic.twitter.com/zwojmOqxvS
— Kaspersky España (@KasperskyES) June 1, 2015
Esto llevó a que la autorización se tuviera que realizar por completo desde un procesador externo integrado en una tarjeta inteligente. La solución resultante fue la llamada tarjeta SIM. Con la introducción de estas tarjetas, la subscripción ya no dependía del dispositivo, por lo que los usuarios podían cambiar de dispositivo con tanta frecuencia como quisieran, pudiendo preservar su identidad móvil.
Una tarjeta SIM es básicamente una tarjeta inteligente ISO 7816 estándar, y no presenta diferencias significativas con respecto a las tarjetas basadas en IC, como las tarjetas de crédito o las tarjetas telefónicas. Las primeras tarjetas SIM tenían la misma medida que una tarjeta de crédito, pero la tendencia general a reducir dimensiones ha hecho que tengan cada vez una forma más compacta.
La tarjeta SIM tradicional de tamaño completo (1FF, factor de forma primera o 1st Form Factor, en inglés) ya no cabría en el teléfono, por lo que la industria inventó una sencilla solución de compatibilidad: se colocó una SIM más pequeña (mini-SIM o 2FF, 2nd Form Factor, en inglés), que es común para los usuarios modernos, en un soporte de plástico del tamaño de la 1FF, por lo que la nueva forma limita la disposición y el contacto del chip en un hueco más pequeño, además de poder sacarse fácilmente.
Aunque esta tendencia a reducir las tarjetas SIM continuó con la micro-SIM (3FF) y más tarde con la nano-SIM (4FF), la forma y la disposición del contacto, además de las características de los chips integrados, siguen siendo las mismas desde hace casi 25 años. Aún hoy en día se fabrican las grandes piezas de plástico para poder satisfacer las necesidades de los usuarios que siguen prefiriendo los teléfonos antiguos.
Dicho esto, muchos dispositivos ahora anticuados no admiten las tarjetas SIM actuales, aunque sean de tamaño completo. Todo se reduce al hecho de que el voltaje con el que operaban las tarjetas SIM antiguas era de 5 V, mientras que las tarjetas actuales requieren de 3 V. Muchos fabricantes de tarjetas SIM eligen el coste en detrimento de la compatibilidad, por lo que la mayoría de las SIM actuales no soportan dos voltajes. Por eso, un antiguo teléfono de 5 V compatible con 3 V la tarjeta SIM no funcionaría debido a la protección del voltaje de su procesador.
How do you make a completely anonymous phone call? It's harder than you think – http://t.co/KZbvNxx7wz pic.twitter.com/oocb9LHjlp
— Kaspersky (@kaspersky) April 7, 2015
En la cadena de producción, cierta información se escribe en la memoria de la tarjeta SIM: la IMSI (International Mobile Subscriber Identity o Identidad Internacional del Abonado a un Móvil) de acuerdo a la compañía que ordenó el lote, y una clave de 128 bits llamada KI (Key Identification o clave de identificación). En pocas palabras, la IMSI y la KI son, el usuario y contraseña del suscriptor respectivamente, cifrados en el chip de la tarjeta SIM.
La correspondencia entre la IMSI del suscriptor y el número de teléfono está almacenada en una base de datos especial llamada HLR (Home Location Register o registro de ubicación base). Estos datos se copian en otra base de datos, la VLR (Visitor Location Register o registro de ubicación de visitante) en cada segmento de la red, basada en el registro temporal del suscriptor a otra estación base.
Allegations emerged the #NSA hacked @Gemlto, stealing crypto keys for millions of SIM cards https://t.co/MFHK0jBrbF pic.twitter.com/a55WJyQEpg
— Kaspersky (@kaspersky) February 27, 2015
El proceso de autorización es bastante sencillo. Cuando el suscriptor se registra a la base de datos temporal, la VLR envía un número aleatorio de 128-bit (RAND) al número de teléfono. El procesador de la tarjeta SIM utiliza el algoritmo A3 para enviar una respuesta de 32-bit (SRES) a la VLR, basada en el número RAND y KI. Si la VLR consigue una respuesta coincidente, el suscriptor estará registrado en la red.
La SIM también genera otra clave temporal llamada Kc. Su valor se calcula en base a los ya mencionados RAND y KI con la ayuda del algoritmo A8. Esta clave, a su vez, se utiliza para cifrar los datos transmitidos mediante el algoritmo A5.
Parece algo complicado por el uso una gran cantidad de acrónimos y cosas por el estilo. Pero la idea principal es muy sencilla: en primer lugar, tienes un nombre de usuario y contraseña cifrado en la tarjeta SIM, en segundo lugar, creas claves de verificación y cifrado mediante par de trucos matemáticos, y eso es todo, ya estás conectado.
El cifrado está siempre activado por defecto, sin embargo, en determinadas circunstancias (por ejemplo, dando una orden) se apaga, por lo que una agencia de inteligencia podría interceptar las conversaciones telefónicas. En ese caso, un teléfono antiguo estaría abierto, mientras que, en el caso de los teléfonos modernos (excepto Blackberry) no sería así.
¿Con qué facilidad se #hackea una #RedCelular? Te sorprenderá la respuesta https://t.co/ymOXao8TmC #Seguridad pic.twitter.com/FIeujkKDkp
— Kaspersky España (@KasperskyES) December 1, 2015
Existe un ataque especialmente diseñado para interceptar conversaciones telefónicas: para poder realizar este ataque, el malhechor necesita un dispositivo llamado IMSI Catcher. Este emula a una estación base y registra a los teléfonos conectados, reenviando luego todas las señales a una estación base real.
En este caso, todo el proceso de autorización fluye de forma normal (no es necesario descifrar las claves de cifrado), pero la falsa estación base insta al teléfono a transmitir en texto simple, por lo que un malhechor puede interceptar señales sin que los sepa el portador o suscriptor.
Aunque parezca raro, esta “vulnerabilidad” no es una vulnerabilidad; de hecho, esta característica se diseñó así desde un principio, para que los servicios de inteligencia pudieran realizar ataques Man- in-the-Middle cuando sea necesario.