ES2777930T3 - Método y sistema de criptoanálisis GSM - Google Patents

Método y sistema de criptoanálisis GSM Download PDF

Info

Publication number
ES2777930T3
ES2777930T3 ES13169371T ES13169371T ES2777930T3 ES 2777930 T3 ES2777930 T3 ES 2777930T3 ES 13169371 T ES13169371 T ES 13169371T ES 13169371 T ES13169371 T ES 13169371T ES 2777930 T3 ES2777930 T3 ES 2777930T3
Authority
ES
Spain
Prior art keywords
ciphertext
attack
gsm
network
encryption
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
ES13169371T
Other languages
English (en)
Inventor
Elad Barkan
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=33397642&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=ES2777930(T3) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Individual filed Critical Individual
Application granted granted Critical
Publication of ES2777930T3 publication Critical patent/ES2777930T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0457Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply dynamic encryption, e.g. stream encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/002Countermeasures against attacks on cryptographic mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/30Network architectures or network communication protocols for network security for supporting lawful interception, monitoring or retaining of communications or communication related information
    • H04L63/306Network architectures or network communication protocols for network security for supporting lawful interception, monitoring or retaining of communications or communication related information intercepting packet switched data communications, e.g. Web, Internet or IMS communications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/302Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the integer factorization problem, e.g. RSA or quadratic sieve [QS] schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/304Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy based on error correction codes, e.g. McEliece
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/02Protecting privacy or anonymity, e.g. protecting personally identifiable information [PII]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/03Protecting confidentiality, e.g. by encryption
    • H04W12/033Protecting confidentiality, e.g. by encryption of the user plane, e.g. user's traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • H04W12/041Key generation or derivation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • H04W12/065Continuous authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/12Detection or prevention of fraud
    • H04W12/121Wireless intrusion detection systems [WIDS]; Wireless intrusion prevention systems [WIPS]
    • H04W12/122Counter-measures against attacks; Protection against rogue devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/12Detection or prevention of fraud
    • H04W12/126Anti-theft arrangements, e.g. protection against subscriber identity module [SIM] cloning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/24Key scheduling, i.e. generating round keys or sub-keys for block encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/80Wireless
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/12Messaging; Mailboxes; Announcements
    • H04W4/14Short messaging services, e.g. short message services [SMS] or unstructured supplementary service data [USSD]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/02Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
    • H04W84/04Large scale networks; Deep hierarchical networks
    • H04W84/042Public Land Mobile systems, e.g. cellular systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Technology Law (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)
  • Measuring And Recording Apparatus For Diagnosis (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

Un dispositivo para recuperar una clave de cifrado procesando una comunicación digital cifrada que comprende: un receptor configurado para recibir un primer texto cifrado que es cifrado de acuerdo con A5/1, red a móvil o móvil a red, o con un A5/2, red a móvil o móvil a red, esquema de cifrado en el que el primer texto cifrado es un cifrado de un primer mensaje tras el cual se empleó un esquema de código de corrección de errores GSM antes del cifrado; y un circuito de procesamiento adaptado para recuperar una clave de cifrado utilizada en el cifrado del primer texto cifrado realizando un criptoanálisis solamente de texto cifrado del primer texto cifrado, caracterizado por que realizar un criptoanálisis solamente de texto cifrado del primer texto cifrado implica bits de XOR basados en una matriz G asociada con el esquema de codificación de corrección de errores GSM.

Description

DESCRIPCIÓN
Método y sistema de criptoanálisis GSM
Campo técnico
La presente invención se refiere a dispositivos y métodos de criptoanálisis, y más particularmente a criptoanálisis solamente de texto cifrado de comunicaciones encriptadas GSM recibidas fuera del aire.
Antecedentes de la invención
Esta sección detalla la necesidad de la presente invención, los métodos de criptoanálisis de la técnica anterior y el método de cifrado utilizado ahora en GSM.
GSM es el método más ampliamente extendido de comunicaciones celulares. Incluye una medida de protección de datos mediante cifrado, que a veces puede ser deseable descifrar.
Por ejemplo, las agencias de aplicación de la ley, tales como la policía, pueden desear escuchar las comunicaciones celulares, sin una conexión física a la infraestructura celular. Este proceso a menudo requiere permiso del tribunal, y a veces es denominado interceptación legal.
Los clientes tienen una sensación de seguridad cuando utilizan el teléfono móvil, lo que a veces no está justificado. Los espías pueden escuchar una conversación, jaquear una llamada o hacer llamadas telefónicas a expensas del usuario. Puede ser deseable probar el nivel de seguridad del sistema realizando intentos de atacar el sistema. Así se puede evaluar el nivel real de seguridad de la red. Tales pruebas pueden ser realizadas por el proveedor de la red celular, por entidades locales de apoyo o agencias de protección al cliente.
Lo anterior, así como otras aplicaciones, requieren la realización de criptoanálisis en tiempo real, en un período de tiempo corto y utilizando una cantidad razonable de memoria digital, tal como no se ha conseguido en la técnica anterior.
GSM es la tecnología celular más ampliamente utilizada. Para diciembre de 2002, más de 787,5 millones de clientes GSM en más de 191 países formaban aproximadamente el 71% del total del mercado inalámbrico digital. GSM incorpora mecanismos de seguridad. Los operadores de red y sus clientes confían en estos mecanismos para la privacidad de sus llamadas y para la integridad de la red celular. Los mecanismos de seguridad protegen la red autenticando a los clientes en la red, y proporcionan privacidad a los clientes cifrando las conversaciones mientras son transmitidas por el aire.
GSM utiliza el cifrado para proteger las señales transmitidas. Hay dos métodos básicos en uso ahora, A5/1 y A5/2, el primero es utilizado principalmente en el Medio Oriente y el segundo generalmente para el resto del mundo. El A5/1 es más difícil de descifrar sin un conocimiento previo de la clave que ha sido utilizada.
Por lo tanto, para escuchar transmisiones GSM, es necesario descifrar los mensajes. El salto de frecuencia en GSM hace que el problema sea aún más difícil.
Hay tres tipos principales de algoritmos criptográficos utilizados en GSM: A5 es un algoritmo de cifrado de secuencia utilizado para el cifrado, A3 es un algoritmo de autenticación y A8 es el algoritmo de acuerdo clave. El diseño de A3 y A8 no se ha especificado en las especificaciones de GSM, solo se ha especificado la interfaz externa de estos algoritmos. El diseño exacto del algoritmo puede ser seleccionado por los operadores de forma independiente. Sin embargo, muchos operadores utilizaron el ejemplo, llamado COMP128, que figura en el memorando de entendimiento GSM (MoU).
Los métodos de criptoanálisis de la técnica anterior plantean demandas poco realistas, tales como unos pocos minutos de conversación conocida sobre los bits, véase la lista de referencias a continuación.
Briceno, Goldberg, y Wagner han realizado un criptoanálisis del COMP128 encontrado, que permite encontrar la clave (maestra) compartida del móvil y la red, permitiendo así la clonación. La descripción del algoritmo A5 es parte de las especificaciones de GSM, pero nunca se hizo pública. Hay dos versiones utilizadas actualmente de A5: A5/1 y A5/2. A5/1 es la versión "fuerte" de exportación limitada. A5/2 es la versión que no tiene limitaciones de exportación, sin embargo, es considerada la versión "débil".
El diseño exacto tanto de A5/1 como de A5/2 fue diseñado por ingeniería inversa por Briceno a partir de un teléfono GSM real en 1999 y se verificó contra los vectores de prueba conocidos. Una nueva versión adicional, que está estandarizada pero que no se ha utilizado aún en redes GSM es A5/3. Fue elegida recientemente y está basada en el cifrado de bloque KASUMI.
GPRS (Servicio General de Paquetes por Radio) es un nuevo servicio para las redes GSM que ofrece servicios de datos basados en paquetes y contenido basado en Internet, de mayor capacidad, 'siempre encendidos', habilita servicios tales como navegación en color por Internet, correo electrónico en movimiento, potentes comunicaciones visuales, mensajes multimedia y servicios basados en la ubicación. GPRS utiliza su propio cifrado, sin embargo, la clave para el cifrado GPRS es creada por el mismo algoritmo A3A8 en la tarjeta SIM del abonado, utilizando el mismo Ki que es utilizado para crear claves de cifrado para A5/1, A5/2 y A5/3. Utilizaremos este hecho para atacarlo más tarde. A5/1 fue inicialmente criptoanalizado por Golic, y luego por: Biryukov, Shamir y Wagner, Biham y Dunkelman, y recientemente por Ekdahl y Johansson.
Después de que el A5/2 fue diseñado por ingeniería inversa, fue criptoanalizado inmediatamente por Goldberg, Wagner y Green. Su ataque es un ataque de texto sin formato conocido que requiere la diferencia en el texto sin formato de dos tramas GSM, que están separadas exactamente por 211 tramas (con una separación de aproximadamente 6 segundos). La complejidad temporal media de este ataque es de aproximadamente 216 productos de punto de vectores de 114 bits. Aparentemente, este ataque no es aplicable (o falla) en aproximadamente la mitad de los casos, ya que en la primera trama necesita que el 11° bit de R4 sea cero después de la inicialización del cifrado. Un trabajo posterior de Petrovic y Fúster-Sabater sugiere tratar el estado interno inicial del cifrado como variables, escribir cada bit de salida del algoritmo A5/2 como una función cuadrática de estas variables, y linealizar los términos cuadráticos. Mostraron que la salida de A5/2 puede ser predicha con una probabilidad extremadamente alta después de unos pocos cientos de bits de salida conocidos. Sin embargo, este ataque no descubre la clave de sesión de A5/2 (Kc).
Por lo tanto, no es posible utilizar este ataque como un bloque de construcción para ataques más avanzados, como los que presentaremos más adelante. La complejidad temporal de este resultado posterior es proporcional a 217 eliminaciones de Gauss de matrices de tamaño (estimado) de aproximadamente 400 x 719.
Goldberg, Wagner y Green presentaron el primer ataque contra A5/2. La complejidad temporal de este ataque es muy baja. Sin embargo, requiere el conocimiento de XOR de los textos sin formato en dos tramas que están separadas por 211 tramas. Su ataque muestra que el cifrado es bastante débil, aunque podría resultar difícil implementar tal ataque en la práctica. El problema es conocer la XOR exacta de los textos sin formato en dos tramas que están separadas por 6 segundos.
Otro aspecto es el tiempo transcurrido desde el comienzo del ataque hasta su finalización. Su ataque lleva al menos 6 segundos, porque lleva 6 segundos completar la recepción de los datos. El nuevo método descrito en la presente solicitud mejora en gran medida la velocidad del ataque.
El ataque de texto sin formato conocido de Petrovic y Fúster-Sabater tiene requisitos de datos similares a los de nuestro ataque, sin embargo, no recupera la clave de sesión (Kc) y, por lo tanto, puede no ser adecuado para los ataques activos que describimos más adelante.
El estado de la técnica anterior puede ser revisado en las siguientes referencias:
1. Una implementación pedagógica (en lenguaje de programación C) de A5/1 y A5/2:
Marc Briceno, lan Goldberg, David Wagner, A pedagogical implementation of the GSM A5/1 y A5/2 "voice privacy encryption algorithms,http://cryptome.org/gsm-a512.htm (Originalmente en www.scard.org), 1999.
2. Descripción y criptoanálisis de COMP128, utilizado por muchos operadores GSM como A3A8:
Marc Briceno, lan Goldberg, David Wagner, An implementation of the GSM A3A8 algorithm, http://www.iol.ie/kooltek/a3a8.txt, 1998.
Marc Briceno, lan Goldberg, David Wagner, GSMCloning, http://www.isaac.cs.berkeley.edu/isaac/gsm-faq.html, 1998.
3. Criptoanálisis de Texto Sin Formato Conocido de A5/1:
Eli Biham, Orr Dunkelman, Cryptoanalysis of the A5/1 GSM Stream Ciipher, Progress in Cryptology, proceedings of lndocrypt'00, Lecture Notes in Computer Science 1977, Springer-Verlag, págs. 43-51,2000.
Alex Biryukov, Adi Shamir, Cryptanalytic Time/Memory/Data Tradeoffs for Stream Ciphers, Advances in Cryptology, proceedings of Asiacrypt'00, Lecture Notes in Computer Science 1976, Springer-Verlag, págs. 1-13, 2000.
Alex Biryukov, Adi Shamir, David Wagner, Real Time Cryptanalysis of A5/1 on a PC, Advances in Cryptology, proceedings of Fast Software Encryption'00, Lecture Notes in Computer Science 1978, Springer-Verlag, págs. 1-18, 2001.
Patrik Ekdahl, Thomas Johansson, Another Attack on A5/1, que será publicado en IEEE Transactions on Information Theory, http://www.it.lth.se/patrik/publications.html, 2002.
Jovan Golic, Cryptanalysis of Alleged A5 Stream Cipher, Advances in Cryptology, proceedings of Eurocrypt'97, LNCS 1233, págs. 239-255, Springer-Verlag, 1997.
4. Información relacionada con A5/2:
lan Goldberg, David Wagner, Lucky Green, The (Real-Time) Cryptanalysis of A5/2, presentado en la Rump Session de Crypto'99, 1999.
Grupo de Expertos en Algoritmos de Seguridad (SAGE), Report on the specification and evaluation of the GSM cipher algrithm A5/2, http://cryptome.org/espy/ETR278e01p.pdf, 1996.
Slobodan Petrovic, Amparo Fúster-Sabater, Cryptanalysis of the A5/2 Algorithm, Cryptology ePrint Archive, Report 2000/052, Disponible en línea en http://eprint.iacr.org, 2000.
Descripción de los Antecedentes de Seguridad A5/2 y GSM
En esta sección describimos la estructura interna de A5/2 y la forma en que es utilizada, véase la Figura 4. A5/2 consta de 4 LFSR de longitud máxima: R1, R2, R3, y R4. Estos registros tienen una longitud de 19 bits, 22 bits, 23 bits, y 17 bits, respectivamente. Cada registro tiene varios “tap” (“punto de acceso terminal”) y una función de retroalimentación. Sus polinomios irreducibles son: x19®x5©x2®x®1, x2265x651, x23®x15®x2®x®1 y x176?x5®1, respectivamente.
Téngase en cuenta que damos los bits en los registros en orden inverso, es decir, en nuestro esquema de numeración, x1 corresponde a un tap en el índice len-i-1, donde len es la longitud absoluta del registro. Por ejemplo, cuando R4 está sincronizado, se calcula el XOR de R4 [17-0-1 = 16] y R4 [17-5-1 = 11]. Luego, el registro es desplazado un lugar hacia la derecha, y el valor del XOR es colocado en R4[0].
En cada operación de A5/2 los registros R1, R2 y R3 están sincronizados de acuerdo con un mecanismo de sincronización que se ha descrito más adelante. Luego, el registro R4 está sincronizado. Después de realizar la sincronización, un bit de salida está listo en la salida de A5/2. El bit de salida es una función no lineal del estado interno de R1, R2, y R3.
Después de la inicialización, 99 bits de salida son descartados, y los siguientes 228 bits de salida son utilizados como secuencia de claves de salida. Algunas referencias indican que A5/2 descarta 100 bits de salida, y que la salida es utilizada con un retraso de un bit. Esto es equivalente a afirmar que descarta 99 bits de salida, y que la salida es utilizada sin demora.
Señalar Kc[i] como el i-ésimo bit de la clave de sesión de 64 bits Kc, Rj[i] el i-ésimo bit de registro j, y /[i] el i-ésimo bit del número de trama públicamente conocido de 22 bits.
La generación de secuencia de claves es como sigue:
1. Inicializar con Kc y número de trama.
2. Forzar los bits R1[15], R2[16], R3[18], R4[10] para que sean 1.
3. Ejecutar A5/2 para 99 relojes e ignorar la salida.
4. Ejecutar A5/2 para 228 relojes y utilizar la salida como secuencia de claves.
El primer bit de salida es definido como el bit que está en la salida después de que se realizó la primera sincronización. La inicialización es realizada de la siguiente manera:
• Establecer todos los LFSR en 0 (R1 = R2 = R3 = R4 = 0).
• Para i: = 0 a 63 do
1. Sincronizar los 4 LFSR.
2. R1 [0] <— R1 [0]<£Kc[¡]
3. R2[0] ^ R2[0]á’Kc[¡]
4. R3[0] ^ R3[0]«Kc[¡]
5. R4[0] ^ R4[0]«KC[¡]
• Para i: = 0 a 21 do
1. Sincronizar los 4 LFSR.
2. R1 [0] <— R1[0]6?f[¡]
3. R2[0] ^ R2[0]«f[¡]
4. R3[0] ^ R3[0]«f[¡]
5. R4[0] ^ R4[0]«f[¡]
En la Figura 4 se ha mostrado la estructura interna del algoritmo A5/2.
El mecanismo de sincronización funciona como sigue: el registro R4 controla la sincronización de los registros R1, R2 y R3. Cuando se va a realizar la sincronización de R1, R2 y R3, los bits R4[3], R4[7], y R4[10] son la entrada de la unidad de sincronización. La unidad de sincronización realiza una función mayoritaria en los bits. R1 está sincronizado si y solo si R4[10] está de acuerdo con la mayoría. R2 está sincronizado si y solo si R4[3] está de acuerdo con la mayoría. r3 está sincronizado si y solo si R4[7] está de acuerdo con la mayoría. Después de estas sincronizaciones, R4 está sincronizado.
Una vez que se realizó la sincronización, un bit de salida está listo. El bit de salida es calculado como sigue:
salida = R1[18]«maj(R1[12],R1[14]®1,R1[15])«R2[21]®maj(R2[9],R2[13] R2[16]®1)®R3[22]®maj (R3[13]®1,R3[16], R3[18]), donde maj (■,■,■) es la función de mayoría, es decir, fuera de cada registro, hay 3 bits cuya mayoría es cifrada en XOR para formar la salida (cuando un bit de cada triplete es invertido), además del último bit de cada registro. Téngase en cuenta que la función mayoritaria es cuadrática en su entrada: maj(a,b,c) = a b®b-c®c a.
A5/2 se basa en una infraestructura algo similar a A5/1. Las funciones de retroalimentación de R1, R2 y R3 son las mismas que las funciones de retroalimentación de A5/1. El proceso de inicialización de A5/2 también es algo similar al de A5/1. La diferencia es que A5/2 también inicializa R4, y que después de la inicialización, un bit en cada registro es forzado para que sea 1. Entonces A5/2 descarta 99 bits de salida mientras que A5/1 descarta 100 bits de salida. El mecanismo de sincronización es el mismo, pero los bits de entrada al mecanismo de sincronización son de R4 en el caso de A5/2, mientras que en A5/1 son de R1, R2, y R3. Los diseñadores tenían la intención de usar bloques de construcción similares para ahorrar hardware en el móvil.
Este algoritmo genera 228 bits de secuencia de claves. El primer bloque de 114 bits es utilizado como una secuencia de claves para cifrar el enlace de la red al cliente, y el segundo bloque de 114 bits es utilizado para cifrar el enlace del cliente a la red. El cifrado es realizado como un XOR simple del mensaje con la secuencia de claves.
Aunque A5 es un cifrado de secuencia, es utilizado para cifrar "bloques" de 114 bits. Cada uno de tales bloques es la carga útil de una ráfaga GSM, que es una unidad de datos de interfaz de aire GSM. Téngase en cuenta que cada trama está construida con 8 ráfagas consecutivas, que atienden a 8 clientes en paralelo. A cada cliente le es asignado un índice de ráfaga. Todas las ráfagas en este índice están designadas para ese cliente. Las tramas están numeradas secuencialmente, y cada trama tiene asociado un número de trama conocido públicamente de 22 bits con ella. Este número de trama es utilizado al inicializar A5. Dado que el enfoque está siempre en un solo cliente, utilizamos los términos "ráfaga" y "trama" indistintamente.
Uno podría preguntarse por qué GSM utiliza un cifrado de secuencia y no un cifrado de bloque de tamaño de bloque de 114 bits. Una explicación posible es que GSM realiza la corrección de errores y luego el cifrado. Supóngase que un bit en un bloque es dado la vuelta debido a un error. Descifrar ese bloque con un cifrado de bloque daría como resultado un bloque que parecería aleatorio, y que los códigos de corrección de errores no tienen posibilidad de corrección. Sin embargo, cuando se utiliza un cifrado de secuencia, un bit dado la vuelta causa exactamente un bit dado la vuelta después del descifrado.
Antecedentes de seguridad GSM
La siguiente es una descripción más detallada sobre la utilización y la especificación de los algoritmos A3 y A8.
A3 proporciona autenticación del móvil a la red, y A8 es utilizado para el acuerdo de clave de sesión. La seguridad de estos algoritmos está basada en una clave secreta específica del usuario Ki que es común para el móvil y la red. Las especificaciones GSM no especifican la longitud de Ki, por lo tanto, es dejada a elección del operador, pero habitualmente es una clave de 128 bits. La autenticación de los clientes a la red es realizada utilizando el algoritmo de autenticación A3 como sigue: La red desafía al cliente con un valor elegido aleatoriamente de 128 bits RAND. El cliente calcula una respuesta de 32 bits de longitud SRES = A3 (Ki, RAND) y envía SRES a la red, que luego puede verificar su validez.
La clave de sesión Kc es obtenida mediante el algoritmo A8 como sigue: Kc = A8 (Ki, RAND). Téngase en cuenta que A8 y A3 siempre son invocados juntos y con los mismos parámetros. En la mayoría de las implementaciones, hay un algoritmo con dos salidas, SRES y Kc. Por lo tanto, son denominados habitualmente como A3A8.
La descripción anterior del cifrado de la técnica anterior en GSM es transmitida en la descripción detallada de la invención a continuación.
En esta invención, el término criptoanálisis es utilizado para describir el proceso de ser capaz de cifrar/descifrar la comunicación sin el conocimiento previo de la clave de sesión utilizada. En algunos casos, el criptoanálisis puede recuperar la clave de sesión que es utilizada. En otros casos, la clave de sesión no es recuperada, sin embargo, aún podría ser posible descifrar o cifrar mensajes de la misma manera que hubiera sido si se hubiera utilizado el cifrado relevante que utiliza la clave de sesión. A veces, en esta invención, el término descifrado también es utilizado en el significado de criptoanálisis.
El texto sin formato conocido significa que el atacante tiene acceso a los mensajes cifrados, así como a los mensajes que fueron cifrados.
El texto cifrado solo significa que el atacante solo tiene acceso a los mensajes cifrados, y no tiene acceso a los mensajes antes de que fueran cifrados.
En esta invención, el término teléfono debería entenderse en el sentido más amplio de un dispositivo celular que utiliza la red GSM.
Sumario de la invención
De acuerdo con la presente invención, se ha proporcionado un método y un sistema para realizar un criptoanálisis efectivo de comunicaciones cifradas GSM. El método utiliza criptoanálisis solamente de texto cifrado. El sistema no necesita estar conectado por cable a la infraestructura celular, sino que puede recibir mensajes transmitidos por el aire. Se han descrito nuevos métodos para atacar el cifrado GSM y los protocolos de seguridad. Estos métodos son mucho más fáciles de aplicar y mucho más rápidos.
Básicamente, para A5/2 GSM, un sistema atacante móvil recibe los mensajes cifrados, realiza un criptoanálisis eficiente y permite escuchar los mensajes GSM y/o revisar la información relacionada. Cuando se realiza en un ordenador personal, el proceso puede tomar menos de un segundo.
En principio, se puede aplicar un método similar al GSM A5/1, sin embargo, en este caso, el cifrado es más complejo y puede requerir unos 5 minutos de mensajes de comunicación para descifrar. Es posible que se requiera un sistema complejo, que puede ser difícil de implementar, ya que debe realizar un seguimiento del salto de frecuencia en GSM. De acuerdo con otro aspecto de la presente invención, para GSM A5/1, el sistema atacante crea una pequeña célula alrededor de sí mismo, cuya célula incluye el teléfono GSM objetivo. El sistema suplanta la red celular para el teléfono objetivo, y el teléfono objetivo para la infraestructura GSM. Esto requiere una capacidad de transmisión en el sistema atacante, sin embargo, el descifrado es simplificado en gran medida y es mucho más rápido.
Además, se han presentado nuevas mejoras en las redes GSM. Estas incluyen mejoras en los algoritmos y protocolos criptográficos. Tales mejoras pueden ser realizadas, por ejemplo, por operadores GSM.
Incluso las redes GSM que utilizan el nuevo A5/3 sucumben a nuestro ataque, en la forma en que A5/3 está integrado en GSM. La presente divulgación incluye cambios en la forma en que A5/3 es integrado para proteger las redes de tales ataques.
Realizando tales pruebas o ataques en la red celular, se puede conseguir y mantener un mayor nivel de seguridad. Se pueden detectar puntos débiles presentes y futuros y se pueden tomar acciones correctivas. La estructura de la red GSM en sí misma se puede así ser mejorada para aumentar su seguridad.
La presente invención podría no estar limitada a la red celular GSM: por ejemplo, una versión similar de A5/3 también es utilizada en redes celulares de tercera generación.
Otros objetos, ventajas y otras características de la presente invención serán evidentes para los expertos en la técnica al leer la descripción expuesta a continuación.
Breve descripción de los dibujos
La Figura 1 ilustra una célula GSM con una estación base, un abonado y un sistema atacante.
La Figura 2 detalla un diagrama de bloques del sistema atacante.
La Figura 3 detalla un diagrama de bloques de otra realización del sistema atacante.
La Figura 4 detalla el diseño interno A5/2 (técnica anterior).
La Figura 5 detalla un método para el ataque solamente de texto cifrado.
La Figura 6 detalla un Ataque de Texto Sin Formato Conocido en el método A5/2.
Descripción detallada de la invención
Se describirá ahora una realización preferida de la presente invención a modo de ejemplo y con referencia a los dibujos adjuntos.
La Figura 1 ilustra una célula GSM 11 con una estación base 12, un abonado 13 y un sistema atacante 14. Hay enlaces inalámbricos 21,22, 23 entre estas unidades.
La Figura 2 detalla un diagrama de bloques del sistema atacante. El sistema puede ser utilizado para implementar los métodos detallados en la presente descripción. El sistema atacante comprende un primer transceptor 31 con una antena 32, que se comunica con un conjunto de abonado objetivo, y un segundo transceptor 33 con una antena 34, que se comunica con una estación base. El sistema también incluye un ordenador/controlador 36, que controla el funcionamiento del sistema, es controlado por el operador y muestra los resultados del descifrado. El ordenador 36 también permite al operador escuchar las comunicaciones del teléfono objetivo.
La Figura 3 detalla un diagrama de bloques de otra realización del sistema atacante. Incluye un primer transceptor 31 que está en una ubicación diferente que el transceptor 33 - el primero está ubicado cerca de un abonado objetivo, el último - cerca de la estación base.
El sistema incluye además un medio 38 de interfaz, que permite colocar el primer transceptor 31 en una ubicación remota.
Alternativamente, el sistema puede utilizar antenas direccionales dirigidas cada una hacia un abonado o hacia la estación base, respectivamente.
Aunque los ejemplos aquí se refieren en su mayoría a GSM A5/2, A5/1, A5/3 y GPRS, pueden estar adaptados también a otras redes, utilizando la presente invención.
Los ejemplos en la presente descripción detallan un criptoanálisis solamente de texto cifrado de comunicación cifrada GSM. Los ataques funcionan en redes GSM que emplean, por ejemplo, A5/1 o A5/2 e incluso el recién elegido A5/3.
El ataque a A5/2 requiere aproximadamente 40 milisegundos de conversación celular cifrada fuera del aire y encuentra la clave correcta en menos de un segundo en un ordenador personal. Se ha mostrado cómo aprovechar fácilmente nuestro ataque contra A5/2 para ataques activos contra redes que utilizan A5/1 o A5/3. Los ataques anteriores a GSM requerían información irreal, como largos períodos de texto sin formato conocidos. Nuestros ataques son los primeros ataques prácticos en redes GSM y no requieren conocimiento acerca del contenido de la conversación.
Estos ataques permiten a los atacantes aprovechar cualquier conversación y descifrarla o bien en tiempo real o bien en cualquier momento posterior. También mostramos cómo montar ataques activos, como el jaqueo de llamadas, la alteración de mensajes de datos y el robo de llamadas. Incluso cuando tales ataques activos son aplicados, no pueden ser identificados por el operador de red utilizando métodos y sistemas de la técnica anterior.
El A5/3 también es utilizado en redes celulares de tercera generación, por lo tanto, la presente invención no está limitada a GSM, sino que también puede ser utilizada con otros sistemas celulares.
La presente descripción ilustra un método para montar un ataque solamente de texto cifrado en A5/2. En las pruebas que realizamos, nuestro ataque encontró la clave en menos de un segundo en un ordenador personal. Se ha mostrado que el ataque que proponemos en A5/2 puede ser aprovechado para montar un ataque activo incluso en redes GSM que utilizan A5/1 y A5/3, realizando así un ataque activo en tiempo real en redes GSM, sin ningún conocimiento previo requerido.
Método para atacar solamente texto cifrado
El nuevo método de ataque completo comprende, véase por ejemplo la Figura 5:
1. Un ataque de texto sin formato conocido eficiente en A5/2 que recupera la clave de sesión. Este primer ataque es de naturaleza algebraica. Aprovecha el bajo orden algebraico de la función de salida A5/2. Representamos la salida de A5/2 como una función multivariante cuadrática en el estado inicial de los registros. Luego, construimos un sistema sobredefinido de ecuaciones cuadráticas que expresa el proceso de generación de secuencia de claves y resolvemos las ecuaciones.
2. Mejorar el ataque de texto sin formato conocido a un ataque solamente de texto cifrado en A5/2. Observamos que GSM emplea códigos de Corrección de Errores antes del cifrado. Mostramos cómo adaptar el ataque a un ataque solamente de texto cifrado en A5/2 utilizando esta observación.
3. Aprovechamiento de un ataque en A5/2 a un ataque activo en redes GSM A5/1 y A5/3, y también a GPRS. El presente inventor ha encontrado que, debido al diseño de la interfaz de los módulos de seguridad GSM, la clave que es utilizada en A5/2 es la misma clave que en A5/1 y A5/3. Y el mismo mecanismo que establece la clave en el cifrado A5, es decir, A3A8 es utilizada para establecer la clave para GPRS. Se ha mostrado cómo montar un ataque activo en cualquier red GSM.
Fin del método.
Nota: Véase la descripción de los Antecedentes de Seguridad de A5/2 y de GSM en la sección de Antecedentes de la presente descripción.
Ataque de Texto Sin Formato Conocido en los Métodos A5/2
En esta sección presentamos un nuevo ataque de texto sin formato conocido (ataque de secuencia de claves conocido) en A5/2. Dando una secuencia de claves, dividida en tramas, y los números de trama respectivos, el ataque recupera la clave de sesión.
En comparación con los ataques de la técnica anterior, el nuevo método de ataque podría parecer que requiere más información, sin embargo, funciona dentro de solo unos pocos milisegundos de datos. Luego, mejoramos nuestro ataque a un ataque solamente de texto cifrado que requiere solo aproximadamente 40 milisegundos de datos cifrados, desconocidos. Por lo tanto, nuestro ataque es muy fácil de implementar en la práctica. Hemos simulado nuestro ataque de texto sin formato conocido en un ordenador personal y verificado los resultados. Esta simulación recupera la clave en menos de un segundo.
El tiempo de cálculo y la complejidad de la memoria de este ataque son similares al ataque de Goldberg, Wagner y Green.
Por lo tanto, el método comprende, véase la Figura 6:
1. Conocer el estado interno inicial de los registros R1, R2, R3 y R4, y el número de trama inicial, la clave de sesión puede ser recuperada utilizando operaciones algebraicas simples. Esto se debe principalmente a que el proceso de inicialización es lineal en la clave de sesión y el número de trama inicial. Por lo tanto, en el ataque nos enfocamos en revelar el estado interno inicial de los registros.
2. Dejar que k0, k1, k2, ... sean la salida del algoritmo A5/2 dividido en tramas. Téngase en cuenta que cada kj es la secuencia de claves de salida para una trama completa, es decir, cada kj tiene 114 bits de longitud. Dejar que f, f + 1, f + 2. ... sean los números de trama asociados con estas tramas, donde f es el número de trama inicial. Indicamos como j ] el bit i-ésimo de la secuencia de claves en la trama j. El estado interno inicial del registro Ri en la trama j es indicado como Rij. Este es el estado interno después de la inicialización pero antes de las 99 sincronizaciones. Téngase en cuenta que esta indicación es algo imprecisa, ya que la salida es en realidad 228 bits, cuando la primera parte es utilizada para cifrar el enlace de red a móvil, y la segunda parte de 114 bits es el enlace de móvil a red.
3. Suponer que se conoce el estado inicial R40 del registro R4 en la primera trama. Una observación importante es que R4 controla las sincronizaciones de los otros registros, y dado que se conoce R4, también se conoce el número exacto de veces que cada registro ha sido sincronizado desde su estado inicial. Cada registro tiene una retroalimentación lineal, por lo tanto, una vez dado el número de veces que un registro es sincronizado, cada bit de su estado interno puede ser expresado como una combinación lineal de bits del estado interno original.
4. La salida del algoritmo A5/2 es un XOR de los últimos bits de los registros R1, R2, y R3, y tres funciones de mayoría de bits de R1, R2 y R3 (véase la Figura 4 para los detalles exactos). Por lo tanto, la función resultante es cuadrática, cuando las variables son los bits en el estado inicial de estos registros. Aprovechamos este bajo grado algebraico de la salida. El objetivo en los siguientes párrafos es expresar cada bit de la salida completa del cifrado (constituido por varias tramas) como una función multivariada cuadrática en el estado inicial. Luego, construimos un sistema sobredefinido de ecuaciones cuadráticas que expresa el proceso de generación de secuencia de claves y lo resuelve.
5. Dando un número de trama f, hay una descripción algebraica de cada bit de salida. Realizamos la linealización a los términos cuadráticos en esta descripción algebraica. Observamos que cada función de mayoría opera en bits de un único registro. Por lo tanto, tenemos términos cuadráticos que consisten en variables solamente del mismo registro. Teniendo en cuenta que un bit en cada registro es establecido en 1: R1 aporta 18 variables lineales más todos sus (17-18)/2 = 153 productos. Del mismo modo, R2 aporta 22+ (2221)/2 = 22 231 variables y R3 contribuye 22+ (2221)/2 = 22+231 variables. Hasta ahora hay 18+153+ 21+210+22 231 = 655 variables después de la linealización. También se necesita una variable que tome el valor constante de 1. En total tenemos un conjunto de 656 variables. Indicamos el conjunto de estas 656 variables por V0. De estas variables, 18+21+22 = 61 variables describen directamente el estado inicial completo de R1, R2, y R3.
6. Cada bit de salida que tenemos, añade una ecuación en variables de V0. Una trama consta de 114 bits. Por lo tanto, obtenemos 114 ecuaciones de cada trama. La solución del sistema de ecuaciones revela el valor de las variables en V0, y entre ellas las variables lineales que describen directamente el estado interno inicial de R1, R2, y R3. Sin embargo, no hay suficientes ecuaciones en esta etapa para resolver eficientemente el sistema.
La observación principal es que, dadas las variables en V0 definidas en la trama f, los bits de cualquier otra trama pueden ser descritos en términos lineales de las variables en el conjunto V0. Cuando se mueve a la siguiente trama, el número de trama es incrementado en 1 y el estado interno es reiniciado. Suponemos que se conoce el valor del registro R40. Debido al método de inicialización, donde el número de trama es cifrado en XOR bit por bit en los registros (véase la descripción de A5/2), conocemos el valor de R41. Dado que los valores R10, R20 y R30 no se conocen, no conocemos el valor de los registros R11, R21 y R31 tampoco, pero conocemos la diferencia XOR entre R10, R20, R30 y R11, R21, R31 respectivamente.
7. Definimos el conjunto de variables que describen su estado y la linealización de estas variables como V 1, de la misma manera que lo hicimos con la primera trama para crear el conjunto V0. Debido al método de inicialización, para cada registro i sabemos la diferencia entre Ri1 y Ri0. Conociendo la diferencia, podemos describir las variables en el conjunto Vi en términos lineales de las variables en el conjunto V0. Es decir, incluyendo los términos cuadráticos! Para ver esto, se supone que avbi es un término cuadrático en Vi, naturalmente ao-bo es un término cuadrático en Vo, y se conoce la diferencia da y do, de tal manera que: ai = ao®da y bi = bô db.
8. Por lo tanto, avbi = (ao®da)-(bo®db) = ao-bo®ao-db®bo-da®da-db. Dado que se conocen db y da, esta ecuación es lineal en las variables en V0. Este hecho permite utilizar los bits de salida en la segunda trama para obtener ecuaciones lineales adicionales en las variables de V0. Lo mismo sigue para cualquier otra trama.
Está claro que una vez que se han obtenido 656 ecuaciones linealmente independientes, el sistema puede ser resuelto fácilmente utilizando la eliminación de Gauss. Sin embargo, es prácticamente muy difícil recopilar 656 ecuaciones linealmente independientes. Esto es un efecto de los reinicios frecuentes, y del bajo orden de la función de mayoría. En realidad no es necesario resolver todas las variables, es decir, es suficiente para resolver las variables lineales del sistema, ya que las otras variables son definidas como sus productos. Hemos probado experimentalmente y encontramos que después de obtener aproximadamente 450 ecuaciones de forma secuencial, las variables lineales originales en V 0 pueden ser resueltas utilizando la eliminación de Gauss.
Fin del método
Este ataque puede ser resumido como sigue: se prueban todos los valores posibles para R40, y para cada uno de tales valores se ha resuelto el sistema linealizado de ecuaciones que describe la salida. La solución de las ecuaciones da el estado interno de R1, R2 y R3. Junto con R4, se conoce el estado interno completo que da una sugerencia para la clave. La complejidad temporal del ataque es como sigue: hay 216 posibles conjeturas del valor de R40. Esta cifra debería ser multiplicada por el tiempo que lleva resolver un sistema binario lineal de 656 variables para una suposición específica, es decir, aproximadamente 6563 ~ 228 XOR, o aproximadamente 244 XOR en total.
Resultado: hemos implementado con éxito este algoritmo, tarda unos 40 minutos en nuestro ordenador personal Linux 800MHz PIII. El requisito de memoria es insignificante: mantener el sistema linealizado en la memoria requiere 6562 bits ~ 54 KB. Cuando se implementa el algoritmo en un ordenador personal, aprovechamos el hecho de que una máquina de PC puede realizar el x Or de 32 bits con otros 32 bits en una operación.
Optimización del Ataque de Texto Sin Formato Conocido en el Método A5/2
Una posible optimización es filtrar valores incorrectos de R40, y resolver el sistema de ecuaciones solo para el valor correcto de R40. El filtrado está basado en la observación de que el sistema de ecuaciones para cada sugerencia de R40 contiene líneas linealmente dependientes. Este filtrado ahorra una cantidad considerable de tiempo, ahorrando la resolución relativamente costosa de los sistemas de ecuaciones.
1. Hay un sistema diferente de ecuaciones para cada valor diferente de R40. Nuestra técnica de etapa de filtrado requiere una etapa de cálculo previo que resuelva los 216 sistemas posibles de antemano. Dando la matriz S que describe el sistema, y para cualquier salida k, es decir, S- V0 = k, calculamos una "matriz de resolución" Tdel sistema.
2. La matriz T es calculada tomando la matriz de unidad que tiene el mismo número de filas que la matriz S, y aplicando la misma serie de operaciones elementales que son realizadas durante una eliminación de Gauss de S. Multiplicación por T a la izquierda de S tiene el impacto de aplicar la eliminación de Gauss a S:
Figure imgf000009_0001
donde Vs es una matriz cuyas líneas son linealmente independientes, y las filas debajo de la matriz Vs son todas líneas cero. Las líneas cero son el resultado del sistema de ecuaciones que contiene líneas linealmente dependientes. Lo que nos interesa es aprovechar las líneas linealmente dependientes de S.
3. Aprovechamos esta ventaja utilizando bits linealmente dependientes de la salida de A5/2:
Figure imgf000009_0002
4. Nos gusta verificar la suposición del valor de R40, es decir, filtra las suposiciones erróneas de R40. Se pueden utilizar las líneas de T que una vez multiplicadas por la salida k dan como resultado el valor cero. En una suposición correcta, todas estas líneas dan como resultado un cero después de la multiplicación anterior. En una suposición errónea, cada línea tiene una probabilidad de aproximadamente la mitad de ser cero una vez multiplicada por k. Por lo tanto, en promedio, se deben calcular aproximadamente dos líneas (productos de punto) para cada suposición errónea de R40. Durante el cálculo previo, mantenemos para cada valor posible de R40 solo aproximadamente 16 de las líneas de T que obtienen el valor 0 una vez multiplicado por k. Cuando se realiza el ataque, las suposiciones incorrectas de R40 son filtradas multiplicando las líneas guardadas por k.
5. Cuando el resultado de todas las multiplicaciones para un R40 supuesto son cero, tenemos un sistema de ecuaciones candidato, que es en realidad un candidato para un valor para R40. Dando la sugerencia para R40, resolvemos el sistema de ecuaciones sugerido y calculamos el estado interno inicial de R1, R2, y R3. Junto con la suposición de R40, se puede determinar fácilmente Kc. La etapa de filtrado está diseñada de modo que la suposición correcta de R40 sobreviva. Téngase en cuenta que el número de valores de R40 que sobrevive a la etapa de filtrado es aproximadamente uno, es decir, el valor correcto para R40.
Fin del método
Resultado: la complejidad de memoria es de aproximadamente 2278 bytes (menos de 250 MB) necesarios para almacenar los vectores de fila anteriores.
El resultado anterior se aplica cuando se utiliza texto sin formato conocido del enlace inalámbrico que se origina desde la red hacia el teléfono móvil. Cuando se utiliza el texto sin formato conocido del enlace que se origina desde el teléfono móvil hacia la red, se necesitan unas pocas ecuaciones más para alcanzar un estado en el que existen líneas linealmente dependientes. Esto es porque en el enlace del teléfono hacia la red, se ha utilizado el segundo bloque de 114 bits de los 228 bits de la salida de A5/2. Estos bits se ven menos afectados por los reinicios frecuentes y, por lo tanto, un poco menos dependiente linealmente.
Téngase en cuenta que cuando se utiliza esta optimización se necesita algún compromiso.
Dado que se requieren cuatro tramas de texto sin formato conocidas, el XOR entre el número de trama f y cada uno de f+1, f+2, y f+3 debe ser conocido de antemano, antes de conocer el valor exacto de f. Esta diferencia XOR es requerida con el fin de expresar los bits de secuencia de claves de las tramas como términos lineales sobre el conjunto Vo, y para calcular el sistema de ecuaciones. En otras palabras, el sistema de ecuaciones depende no solo de R4ü sino también de la diferencia XOR.
El problema aquí es la operación de suma, por ejemplo, f+1 puede resultar en una carga que se propagaría a través de f, no permitiendo así el cálculo de la diferencia XOR de antemano. Para facilitar el cálculo, requerimos que f tenga un bit específico establecido en 0. Este requisito impide que una carga se propague más allá del bit específico. Tenemos en cuenta que necesitamos calcular la diferencia XOR para una suma del número 3 al número de trama f, por lo tanto, necesitamos que el valor del tercer bit menos significativo de f sea cero, y también necesitamos requerir que los dos últimos bits en f tengan un valor constante ya que cualquier combinación de estos bits da como resultado una diferencia XOR diferente después de la suma.
Estos requisitos son suficientes para permitir calcular de antemano las diferencias anteriores. Para permitir cualquier valor constante de los dos bits inferiores de f, se realiza el cálculo previo para cada valor posible. Hay cuatro valores posibles. Este hecho multiplica la complejidad de la memoria por un factor de cuatro, y la complejidad del tiempo de cálculo previo también por un factor de cuatro. La complejidad de la memoria anterior ya incluye este factor. Podemos eliminar el requisito de que el tercer bit sea 0, en el caso de que los dos bits inferiores sean cero, debido al hecho de que en este caso suma de hasta tres no puede provocar una carga fuera de los primeros dos bits.
Por lo tanto, fuera de los ocho valores posibles para los tres bits inferiores de f, permitimos cinco. Hacemos hincapié en que esta limitación sobre los posibles valores de f no tiene implicaciones prácticas serias, ya que es necesario esperar como máximo 3 tramas para obtener un número de trama que cumpla con los requisitos. El ataque instantáneo solamente de Texto Cifrado que describimos está basado en este ataque y necesita funcionar en 4 bloques de tramas. Téngase en cuenta que en este caso, si el primero del número de trama, fuera de cuatro tramas consecutivas no cumple con los requisitos. Si eso sucede, se asegura que el primer número de trama en el siguiente bloque de 4 tramas cumple con los requisitos.
Analizamos la complejidad temporal de este ataque optimizado como sigue: dando un valor del número de trama f, por cada suposición errónea de R4o necesitamos probar dos productos de punto en promedio. Una vez que tenemos el valor R4o correcto, el tiempo necesario para resolver el sistema de ecuaciones para el valor correcto es de aproximadamente 228, lo cual es insignificante. Por lo tanto, la complejidad temporal media de este ataque optimizado es de aproximadamente 216 productos de punto.
Analizamos la complejidad temporal del cálculo previo como sigue: en la etapa de cálculo previo calculamos el sistema de ecuaciones S y su matriz T para cada valor R4o, de los 216 valores posibles y para cada diferencia XOR permitida de f. Para cada uno de tales sistemas, solo conservamos aproximadamente 16 de las líneas de T que obtienen el valor 0 una vez multiplicado por k. Para calcular T, realizamos la eliminación de Gauss sobre S. La complejidad temporal para la eliminación de Gauss es de aproximadamente 228 XOR. Cuando se multiplican las cifras anteriores, obtenemos 244. Dado que repetimos el proceso para cada una de las cuatro diferencias XOR requeridas de f, multiplicamos esta cifra por cuatro. Por lo tanto, la complejidad temporal de procesamiento previo es de 246 XOR.
Hemos implementado este ataque optimizado en nuestro ordenador personal, y nos lleva menos de un segundo recuperar Kc. El cálculo previo de una sola vez tarda aproximadamente 160 minutos.
Un Ataque Instantáneo Solamente de Texto Cifrado en el Método A5/2
En esta sección mostramos un ataque en A5/2. Un factor importante que nos facilita convertir el ataque de "Ataque de Texto Sin Formato Conocido en A5/2" en un ataque solamente de texto cifrado contra A5/2 es que en GSM se han empleado códigos de corrección de errores antes del cifrado. Por lo tanto, el texto sin formato del cifrado tiene una redundancia altamente estructurada.
Existen varios tipos de métodos de corrección de errores que son utilizados en GSM, y son utilizados diferentes esquemas de corrección de errores para diferentes canales de datos. Por simplicidad, nos centramos en los canales de control, y específicamente en los códigos de corrección de errores del Canal de Control Asociado Lento (SACCH). Téngase en cuenta que este código de corrección de errores es el único código que es utilizado en el inicio de una conversación. Por lo tanto, es suficiente concentrarse en este código. Utilizando este código de corrección de errores, montamos un ataque solamente de texto cifrado que recupera la clave. Sin embargo, el nuevo método de ataque también se puede aplicar a otros códigos de corrección de errores.
En el SACCH, el mensaje que ha de ser codificado con códigos de corrección de errores tiene un tamaño fijo de 184 bits. El resultado es de 456 bits de largo. Este mensaje de 456 bits es intercalado en 4 ráfagas.
La operación de codificación y la operación de intercalado pueden ser modeladas juntas como una matriz de 456 x 184 sobre GF(2), que indicamos mediante G. El mensaje que ha de ser codificado es considerado como un vector binario de 184 bits, P. El resultado de la operación de codificación-entrelazado es: M = G-P. El vector resultante M es dividido en 4 ráfagas. En el proceso de cifrado cada ráfaga es cifrada con XOR con la salida de A5/2 para la ráfaga respectiva.
Dado que la matriz G es una matriz binaria de 456 x 184, existen 456-184 = 272 ecuaciones que describen el núcleo de la transformación inversa. En otras palabras, dando el vector M = G P, hay 272 ecuaciones linealmente independientes en sus elementos. Dejar que KG sea una matriz que describe estas ecuaciones lineales, es decir, Kg M = 0 para cualquiera de tales M.
Indicamos los bits de secuencia de salida de A5/2 para una duración de 4 tramas mediante k = kjllkj+illkj+2Ílkj+3, donde II es el operador de concatenación. El texto cifrado Ces calculado por C = M'SK. Utilizamos las mismas 272 ecuaciones en C, concretamente:
Kg-{MSk) = KG MGKa k= 0 $ Ko k= Kg-k.
Dado que se conoce el texto cifrado C, en realidad obtenemos ecuaciones lineales sobre los elementos de k.
Téngase en cuenta que las ecuaciones que obtenemos son independientes de P -- solo dependen de k. Sustituimos cada bit en k con su descripción como términos lineales sobre V0 (véase nuestra descripción del ataque instantáneo de texto sin formato conocido), y así obtenemos ecuaciones en variables de V0. Cada bloque de codificación de 456 bits, proporciona 272 ecuaciones. El resto de los detalles del ataque y su complejidad temporal son similares al caso optimizado en la sección anterior, cuando sustituimos k por Kg-F
Mientras que en el ataque de texto sin formato conocido, cuatro tramas de datos son suficientes para lanzar el ataque, en el ataque solamente de solo texto cifrado necesitamos ocho tramas, dado que de cada trama cifrada, obtenemos solo la mitad de la información en comparación con el ataque de texto sin formato conocido. Cuando se analiza el tiempo y la complejidad de memoria de este ataque solamente de texto cifrado, tenemos en cuenta que restringimos los cuatro bits inferiores del número de trama f. Solo permitimos 9 fuera de los 16 valores posibles para estos cuatro bits. Esta restricción duplica la complejidad de la memoria en comparación con el ataque optimizado de texto sin formato conocido, y también duplica la complejidad del cálculo previo.
Fin del método
Resumimos la complejidad del ataque solamente de texto cifrado como sigue: la complejidad temporal media de este ataque solamente de texto cifrado es de aproximadamente 216 productos de punto. La complejidad de la memoria es de aproximadamente 2288 bytes (menos de 500 MB), la complejidad del tiempo de cálculo previo es de aproximadamente 247 XORS. Nuestra implementación en un ordenador personal recupera Kc en menos de un segundo, y se tarda aproximadamente 320 minutos en completar el cálculo previo.
También hemos mejorado con éxito el ataque de Goldberg, Wagner, y Green y el ataque de Petrovic y Fúster-Sabater a un ataque solamente de texto cifrado utilizando nuestros métodos. Cuando se da la descripción actual, la mejora mencionada anteriormente debería ser obvia para los expertos en la técnica.
Ataque Directo contra el Método A5/1
El siguiente es un ejemplo de tal ataque directo: Dando un bloque de varias tramas que están cifradas, utilizamos los métodos de las secciones anteriores, para calcular Kg-F Estos bits que obtenemos solo dependen de la salida de A5/1 en varias tramas. Llamamos a estos bits de salida la secuencia codificada. Supongamos que se sabe que el número de trama de la primera trama de estas tramas ha de ser dividido entre cuatro sin resto. Todo el proceso puede ser visto como una función desde el estado interno de A5/1 hasta la secuencia codificada. Dejar que f() sea esa función, cuando solo se consideran 64 bits de salida, por lo tanto, f() asigna 64 bits a 64 bits.
Entonces f() es una función que toma un estado interno de A5/1 después de la inicialización, y emite la secuencia codificada. Invertir f() revelará el estado interno, y romperá el cifrado. Téngase en cuenta que debemos hacer una suposición con respecto al número de trama, de lo contrario, f() depende del número de trama. Podemos aplicar una de las compensaciones de datos de memoria de tiempo conocidas en la técnica, por ejemplo, las que se han descrito por Biryukov y Shamir en su documento "Cryptanalytic Tem/Memory/Data Tradeoffs for Stream Ciphers”, Advances in Cryptology, proceedings of Asiacrypt'00, Lecture Notes in Computer Science 1976, Springer-Verlag, págs. 1-13, 2000.
Utilizamos sus anotaciones para la compensación, es decir, N es el espacio de estados internos, T es el número de evaluaciones de f(), D es el número de puntos de datos disponibles, M es el número de líneas de memoria. En este caso, N = 264, y cada línea de memoria tiene 16 bytes de longitud. Por ejemplo, en la curva de compensación N2 = DPMPT, T>D2, y N = 264, un punto es D = 28, que es aproximadamente 8 segundos de datos fuera del aire, M = 239, que es aproximadamente 8,8 Tera-Bytes (Puede ser almacenado en 44 discos duros de 200 GB). Si tomamos una codificación similar a las secciones anteriores, eso significa que tenemos que multiplicar los datos por 4 para compensar los diferentes números de trama. Por lo tanto, se necesitan 176 discos duros de 200 GB.
El tiempo que lleva un ataque real es por lo tanto, T = 234 valoraciones de f(). Suponiendo que f() puede ser calculado 220 veces en un segundo en un solo ordenador personal, el cálculo requiere 214 segundos. En una red con 1000 ordenadores, tarda aproximadamente 16 segundos. El resultado será aproximadamente 217 accesos aleatorios al disco, se puede acceder aleatoriamente a cada disco aproximadamente 200 veces por segundo, por lo tanto, el tiempo de acceso es de aproximadamente 655 segundos, pero hay 176 discos duros, por lo tanto, el tiempo total de acceso es 3,76 segundos, que son realizados en segundo plano cuando se realizan los otros cálculos.
El cálculo previo tarda N/D, que son 250 evaluaciones de f(), que tarda 236 segundos en un ordenador personal. Necesitamos calcularlo cuatro veces. En total, en una red de 10.000 ordenadores, esta tarea debería ser completada en aproximadamente 10 meses. En un trabajo distribuido, esa red requiere un ancho de banda de aproximadamente 1,35 Mbyte/Segundo. Este es un cálculo factible a través de Internet, por ejemplo.
Téngase en cuenta que aumentar los datos disponibles disminuye los otros requisitos dramáticamente. Si tuviéramos 5 minutos de tales datos, que son 37,5 veces más que 8 segundos, entonces D = 213, solo se deben utilizar aproximadamente 44 discos duros de 200 MB en total, es decir M = 237, y el tiempo sería T = 228, que tarda aproximadamente 5 minutos para calcular en un solo PC. Esto significa que el ataque se lleva a cabo en tiempo real, pero solo uno de los pocos miles de tramas es una trama que permite que el ataque tenga éxito. Cuando se encuentra una trama, el ataque encuentra casi instantáneamente si esta trama es, de verdad, "la correcta" o no.
El ataque requiere 214 accesos aleatorios al disco, que tardan aproximadamente 81 segundos, pero son realizados en 44 discos duros en paralelo, lo que lleva en total aproximadamente 1,86 segundos, que son gastados en el antecedente del cálculo. El cálculo previo es reducido a N/D = 251 evaluaciones de f(), lo que lleva aproximadamente 231 segundos, o aproximadamente 3 meses en una red de 1000 ordenadores personales.
Si se permite 1 hora de tales datos, solo se necesitan aproximadamente 270 GB de memoria, que pueden ser almacenados en uno o dos discos duros. El tiempo de ataque real dura aproximadamente una hora en un ordenador personal, lo que significa que en realidad es en tiempo real, el tiempo de acceso al disco duro es de aproximadamente 5 minutos, lo cual es insignificante. El cálculo previo puede ser completado en una red de 40 PC en aproximadamente 10 meses.
Incluso si A5/2 ya no es utilizado en redes GSM, pero A5/1 permanece, este ataque directo en A5/1 puede ser utilizado para aprovechar un ataque en GPRS, utilizando el hecho de que su clave es creada con el mismo mecanismo (es decir, A3A8), y por lo tanto, cuando se le da la misma entrada (es decir, RAND y Ki) la salida, que es la clave resultante, es la misma. Este es un ejemplo, que puede ocurrir en otros cifrados, siempre que dos cifrados compartan el mismo acuerdo de clave, y un ataque activo puede ser montado más fácilmente en uno de estos cifrados.
Briceno descubrió que muchas redes GSM utilizan solo 54 bits fuera de los 64 bits de clave, estableciendo 10 bits de clave en 0. La técnica anterior no aprovechó este hecho cuando empleó criptoanálisis. Observamos que cuando los bits son establecidos en un valor constante, el ataque directo A5/1 puede ser mejorado dramáticamente. Cuando N disminuyó de 264 a 254. Solo 54 bits de salida deben ser considerados fuera de f(). Por lo tanto, cada línea de memoria ahora tiene solo 54 veces 2 bits de longitud = 13,5 bytes, supongamos 14 bytes.
En la curva de compensación, N2 = D2M2T, T>D2 y N = 254, considera el ejemplo que mostramos anteriormente, donde D = 28, que es aproximadamente 8 segundos de datos fuera del aire, pero ahora M = 233, que es aproximadamente 500 GB, puede ser almacenado en tres discos duros de 200 GB. T = 226, esto tarda solo aproximadamente de un minuto de cálculo en un SOLO PC! Este cálculo puede ser realizado en paralelo en algunas computadoras que alcanzan un ataque directo en tiempo real en A5/1. El cálculo previo de una sola vez tarda N/D = 246, que son aproximadamente 3100 días de ordenador en total, que pueden ser calculados en una red de 10 PC en aproximadamente 10 meses.
Aprovechar el Ataque a redes que requieren A5/1 o A5/3 pero aceptan menos
Algunas redes pueden preferir que el teléfono móvil funcione con A5/1, pero si no es posible funcionar con A5/2. Cuando un teléfono móvil accede a la red, le dice a la red cuáles son sus capacidades, incluyendo qué algoritmo de cifrado puede utilizar. Un ataque simple de marca de clase sería cambiar la información que obtiene la red, por lo que cree que el teléfono puede funcionar bien en A5/2 o bien en A5/0. Si la red acepta el cifrado con A5/2, entonces se pueden encontrar las claves de cifrado utilizando el método detallado anterior. Un ataque de marca de clase similar podría ser montado cuando la red prefiere A5/3 pero acepta menos (o bien A5/1 o bien A5/2).
Aprovechar los ataques a Cualquier Método de Red GSM
El ataque mostrado en "Un Ataque Instantáneo Solamente de Texto Cifrado en el Método A5/2" supone que el algoritmo de cifrado es A5/2. Utilizando ese ataque, es fácil recuperar K en tiempo real a partir de unas pocas decenas de milisegundos de texto cifrado.
Hacemos la pregunta, qué sucede cuando el algoritmo de cifrado no es A5/2, sino que es A5/1 o el recientemente elegido A5/3 o incluso GPRS. La sorprendente respuesta es que se aplica casi el mismo ataque. Todo lo que se necesita para que el nuevo ataque tenga éxito es que el teléfono móvil sea compatible con A5/2, pero este es en realidad un requisito obligatorio de GSM para permitir la itinerancia a las redes que utilizan A5/2.
El siguiente ataque recupera la clave de cifrado que utiliza la red cuando se emplea A5/1 o A5/3. La clave es descubierta por un hombre en mitad del ataque al cliente víctima. En este ataque, el atacante desempeña dos funciones. Suplanta la red, hasta donde ve el cliente, y suplanta al cliente, hasta donde ve la red. Téngase en cuenta que este tipo de ataque es relativamente fácil de montar en un entorno celular.
Durante la inicialización de una conversación, la red puede enviar la solicitud de autenticación al atacante, el atacante la envía a la víctima. La víctima calcula SRES y lo devuelve al atacante, que lo envía de vuelta a la red. Ahora el atacante está "autenticado" en la red. A continuación, la red le pide al cliente que inicie el cifrado con A5/1.
En nuestro ataque, dado que el atacante suplanta al cliente, la red le pedirá realmente al atacante que inicie el cifrado con A5/1. El atacante aún no tiene la clave y, por lo tanto, no es capaz de iniciar el cifrado. El atacante necesita la clave antes de que le pida que la utilice. Para conseguirlo, el atacante le pide a la víctima que cifre con A5/2 justo después de que la víctima haya devuelto los SRES, y antes de que el atacante devuelva la información de autenticación a la red.
Esta solicitud considera a la víctima como una solicitud legítima, dado que la víctima ve al atacante como la red. Luego, el atacante emplea el criptoanálisis para recuperar la clave de cifrado del A5/2 que es utilizado por la víctima. Solo entonces, el atacante envía la información de autenticación a la red. La clave solo depende de RAND, eso significa que la clave recuperada a través del ataque A5/2 es la misma clave que ha de ser utilizada cuando se ha utilizado A5/1 o incluso cuando se ha utilizado A5/3 de 64 bits! Ahora el atacante puede cifrar/descifrar con A5/1 o A5/3 utilizando esta clave.
Uno puede sospechar que la red puede identificar este ataque, identificando un pequeño retraso en el tiempo que lleva a completar el procedimiento de autenticación. Sin embargo, el estándar GSM permite 12 segundos para que el móvil complete sus cálculos de autenticación y devuelva una respuesta. El retraso incurrido por este ataque es menos de un segundo. También, los mensajes de señalización GSM pueden tardar normalmente un tiempo en desplazarse entre la red y el móvil, debido al retraso de protocolo de capa 2. En total, hay un retraso pero es insignificante.
Muchas redes rara vez inician el procedimiento de autenticación, y utilizan la clave creada en la última autenticación que es guardada en la SIM del cliente. Esta clave está numerada por la red con un número en el intervalo de cero a seis. Un atacante puede descubrir estas claves almacenadas suplantando la red para el móvil de la víctima. Luego, el atacante inicia una sesión de radio con la víctima, y le pide al móvil de la víctima que inicie el cifrado utilizando el algoritmo A5/2 y el número clave correspondiente. El atacante emplea entonces el ataque y recupera la clave y luego termina la sesión de radio. El propietario del móvil y la red no tendrán indicación del ataque.
Uno puede preguntarse si el operador de red puede descubrir el ataque porque el ataque transmite, y la interfaz puede ser causada. Aunque esto es generalmente cierto, ambos ataques requieren menos transmisión de la que se podría esperar a primera vista. En el primero, puede parecer que el atacante necesita transmitir durante todo el tiempo de conversación. Sin embargo, después del primer segundo de comunicación, el atacante ya tiene la clave de cifrado y realmente no necesita continuar con el hombre activo en mitad del ataque.
Un atacante podría querer detener el ataque activo, dejar que la red y la víctima continúen comunicándose, y aprovechar la conversación encriptada utilizando la clave que había descubierto. El primer paso para hacerlo, es cambiar el cifrado que la víctima utiliza para satisfacer los requisitos de la red. El atacante debería pedirle a la víctima que cambie el cifrado a ningún cifrado, y luego que cambie al cifrado que es utilizado por la red, es decir, A5/1. Un atacante podría hacer que la red ordene un traspaso de la conversación a otra frecuencia. Al mismo tiempo, el atacante solicita al móvil de la víctima que realice un traspaso a la misma frecuencia.
Téngase en cuenta que GSM realmente no transmite en una sola frecuencia. En su lugar, GSM emplea un esquema de salto de frecuencia. Por simplicidad, relacionamos con una cierta secuencia de salto como una sola frecuencia. Esto no tiene implicaciones en los ataques que presentamos. En la mayoría de las conversaciones GSM, un traspaso es iniciado por la red poco después del comienzo de la conversación. Dado que sucede de todos modos, le ahorra al atacante la necesidad de "hacer" que la red solicite un traspaso. De esta manera, el atacante puede detener su transmisión, mientras que aún es capaz de escuchar a escondidas la conversación. En el segundo escenario, el atacante ataca en el momento que elija, y todo el ataque puede ser completado en unos segundos como máximo. Cuando estas claves son utilizadas posteriormente, el atacante no necesita realizar ninguna transmisión.
En los escenarios que se han descrito a continuación, se ha mostrado un ataque en el que el atacante puede aprovechar cualquier conversación, mientras transmite solo por un corto período de tiempo en un momento posterior a su elección, posiblemente después de que se haya completado la llamada.
El aprovechamiento del ataque se basa en el hecho de que la misma clave es cargada en A5/2 y A5/1 e incluso en A5/3 de 64 bits (en el escenario donde A5/3 es utilizado en GSM, de acuerdo con los estándares GSM). Por lo tanto, descubrir la clave para A5/2 revela la clave para A5/1 y A5/3 de 64 bits.
Este ataque también se aplica a GPRS, debido a razones similares. Cuando la red desafía al móvil por una nueva clave GPRS, utilizando un valor aleatorio RAND de 128 bits, el atacante puede utilizar "hombre-en-el-medio" e iniciar sesión de radio con la víctima, iniciar solicitud de autenticación utilizando el mismo valor RAND, y luego pedirle que cifre con A5/2. Entonces encuentra la clave utilizando el ataque solamente de texto cifrado que presentamos. La clave que es recuperada será la misma que la clave GPRS, esto se debe al hecho de que ambos son creados utilizando el mismo algoritmo A3A8 y la misma Ki; por lo tanto, cuando se da el mismo RAND, se produce la misma clave de sesión.
El atacante puede abstenerse de un ataque "hombre-en-el-medio", y grabar la comunicación GPRS y más tarde descifrarla utilizando un ataque similar, en el que le pide a la víctima que su autenticación con la misma RAND que se utilizó en la sesión, y luego pedirle a la víctima que cifre con A5/2 y recupere la clave. Incluso si GPRS cambia la clave varias veces utilizando una nueva RAND, cada vez que el atacante registra las comunicaciones y la RAND puede repetir este proceso más tarde en el ataque contra la víctima, encontrar la clave y descifrar las comunicaciones. Estos ataques pueden ser utilizados para suplantación, de manera similar. Téngase en cuenta que, aunque A5/3 puede ser utilizado con longitudes de clave de 64-128 bits, el estándar GSM permite la utilización de solo A5/3 de 64 bits.
Escenarios de Consecuencias Desafortunadas para GSM
Los ataques presentados pueden ser utilizados para emular ataques de la vida real en varios escenarios. En esta sección se han presentado cuatro. Estos ataques funcionan para varios algoritmos de cifrado pueden ser utilizados, por ejemplo: A5/1, A5/2 o A5/3, e incluso GPRS.
Ataque de Escuchas Telefónicas
Un escenario simple que uno podría anticipar es escuchar conversaciones a escondidas. Las comunicaciones que están cifradas utilizando GSM pueden ser descifradas y escuchadas a escondidas por un atacante, una vez que el atacante tiene la clave de cifrado. Tanto las conversaciones de voz como los datos, por ejemplo mensajes SMS, pueden ser interceptados.
Otro posible ataque de escuchas telefónicas es que el atacante graba la conversación cifrada. El atacante debe asegurarse de conocer el valor RAND que creó la clave que está en uso. En un momento posterior, cuando sea conveniente para el atacante, el atacante suplanta la red a la víctima. Luego, el atacante inicia una sesión de radio, pide a la víctima que realice la autenticación con el RAND anterior, y recupera la clave de sesión que se utilizó en la conversación grabada. Una vez que el atacante tiene la clave, simplemente descifra la conversación y puede escuchar su contenido.
Téngase en cuenta que un atacante puede grabar muchas conversaciones y, con ataques posteriores, recuperar todas las claves. Este ataque tiene la ventaja de transmitir solo en el tiempo que sea conveniente para el atacante. Posiblemente incluso años después de la grabación de la conversación, o cuando la víctima está en otro país, o en un lugar conveniente para el atacante.
Otro ataque es encontrar la clave antes de la conversación encontrando la clave almacenada como describimos. Encontrar la clave antes de la conversación es efectivo, si la red no le pide al abonado que realice la autenticación con una RAND diferente al comienzo de la conversación.
Ataque de Jaqueo de llamadas
Aunque una red GSM puede realizar la autenticación al inicio de la llamada, el cifrado es el medio de GSM para impedir la suplantación en etapas posteriores de la conversación. La suposición subyacente es que un impostor no tendría Kc, y por lo tanto, no sería capaz de realizar comunicaciones cifradas. Se ha mostrado cómo obtener claves de cifrado. Una vez que un atacante tiene las claves de cifrado, puede cortar la conversación de la víctima, y suplantar a la víctima para la otra parte. Por lo tanto, es posible jaquear la conversación después de la autenticación.
Algunas personas pueden afirmar que sería difícil aplicar este ataque en la práctica, debido a la dificultad de transmitir los datos requeridos en el aire. Se ha enfatizado que la suplantación es un ataque que es relativamente fácil de montar en un entorno celular. La transmisión GSM es llevada a cabo por radiofrecuencia, lo que hace que este tipo de ataque muy fácil de realizar y difícil de detectar. Por ejemplo, un atacante podría asegurarse de que su señal es recibida en la antena de la célula con una potencia mucho mayor que la señal de la víctima. El atacante también puede causar molestias asegurándose de que una señal de ruido es recibida en alta potencia en la antena de la víctima.
El jaqueo puede ocurrir durante la configuración temprana de la llamada, incluso antes de que el teléfono de la víctima comience a sonar. El operador difícilmente puede sospechar que hay un ataque. La única pista de un ataque es un momento de interfaz electromagnética algo aumentada.
Otra forma de jaquear las llamadas entrantes, es montar una especie de ataque de "hombre en el medio", pero en lugar de reenviar la llamada a la víctima, el atacante recibe la llamada.
Ataque de Alteración de Mensajes de Datos (SMS)
Una vez que se ha jaqueado una llamada, el atacante decide el contenido. El atacante puede escuchar el contenido de un mensaje que está siendo enviado por la víctima y enviar su propia versión. El atacante puede detener el mensaje, o enviar su propio mensaje SMS. Esto compromete la integridad del tráfico GSM.
Ataque de Robo de Llamada
GSM se creía que era seguro contra el robo de llamadas, debido a los procedimientos de autenticación de A3A8.
Sin embargo, debido a las debilidades mencionadas, un atacante puede hacer llamadas salientes a expensas de la víctima. Cuando la red solicita autenticación, entonces un hombre en el medio del ataque, similar al que describimos al aprovechar el ataque para cualquier red GSM, tendría éxito. El atacante inicia en paralelo una llamada saliente a la red celular, y una sesión de radio a una víctima. Cuando la red le solicita autenticación al atacante, el atacante le pide autenticación a la víctima, y retransmite la autenticación resultante de vuelta a la red.
El atacante también puede recuperar Kc como se ha descrito en la presente descripción. Ahora el atacante puede cerrar la sesión de radio con la víctima, y continuar la llamada saliente de forma regular. Este ataque es difícilmente detectable por la red, ya que lo ve como un acceso normal. El teléfono de la víctima no sonará, y la víctima no tendrá indicios de que él/ella es una víctima. Al menos hasta que llegue su factura mensual.
Otras realizaciones diferentes de métodos de ataque se les ocurrirán a personas expertas en la técnica tras la lectura de la presente descripción. Los métodos detallados anteriormente pueden ser ampliados adicionalmente, por ejemplo: 1. Un método de criptoanálisis que comprende
A. Solicitar un teléfono para cifrar con A5/2;
B. Utilizar los resultados para descifrar las comunicaciones que están cifradas con A5/2, A5/1, A5/3 o GPRS.
Por lo tanto, un atacante afecta la decisión con respecto al método de cifrado que ha de ser utilizado, en este caso de una manera que facilite su descifrado posterior.
2. Un método de ataque de marca de clase de criptoanálisis que comprende:
A. el atacante hace que la red decida que el teléfono no es capaz de cifrar con A5/1 sino solo con A5/2;
B. esto permite al atacante utilizar el ataque y descifrar las comunicaciones
3. Un método de criptoanálisis que comprende:
A. Realizar un criptoanálisis directo solamente de texto cifrado de A5/1;
B. Utilizar los resultados de la Operación (A) para facilitar el descifrado y/o cifrado de comunicaciones adicionales que sean consistentes con el cifrado que utiliza la clave de sesión y/o descifrado que utiliza la clave de sesión.
En el método anterior, el criptoanálisis puede considerar que parte de los bits de la clave de sesión tienen un valor fijo conocido.
Además, el criptoanálisis también puede encontrar la clave de sesión.
4. Un método de criptoanálisis que comprende:
A. realizar un criptoanálisis directo solamente de texto cifrado de A5/2;
B. Utilizar los resultados de la Operación (A) para facilitar el descifrado y/o cifrado de comunicaciones adicionales que sean consistentes con el cifrado que utiliza la clave de sesión y/o el descifrado que utiliza la clave de sesión.
En el método de criptoanálisis anterior, el criptoanálisis puede considerar que parte de los bits de la clave de sesión tienen un valor fijo conocido.
Además, el método de criptoanálisis también puede encontrar la clave de sesión.
5. Un método para proteger las comunicaciones GSM que comprende realizar autenticación GSM repetidamente durante una sesión en curso.
En el método anterior para proteger las comunicaciones GSM, la clave de cifrado también puede ser cambiada como resultado de aplicar el procedimiento de autenticación GSM.
Además, un atacante puede emitir transmisiones de radiofrecuencia.
Los métodos de criptoanálisis activo GSM anteriores también pueden incluir:
A. la transmisión del atacante hace que la red decida que la marca de clase del teléfono es tal que el teléfono no es capaz de cifrar con A5/1 sino solo con A5/2;
B. esto hace que la red solicite cifrado solo con A5/2, permitiendo al atacante utilizar el ataque y descifrar las comunicaciones.
Los métodos de criptoanálisis activo GSM anteriores también pueden incluir:
A. la transmisión del atacante hace que la red decida que la marca de clase del teléfono es tal que el teléfono no es capaz de cifrar con A5/3 sino solo con A5/2 o A5/1;
B. esto hace que la red solicite cifrado solo con A5/1, permitiendo al atacante utilizar el ataque y descifrar las comunicaciones.
Los métodos de criptoanálisis activo GSM anteriores también pueden incluir:
A. La transmisión del atacante hace que el teléfono decida que la transmisión se ha originado desde la red, y solicita que el teléfono cifre con A5/2;
B. El teléfono responde con datos que están cifrados con A5/2;
C. Utilizar la clave de sesión que resulta del criptoanálisis para descifrar y/o cifrar comunicaciones en el enlace inalámbrico entre el atacante y el teléfono, y/o descifrar y/o cifrar comunicaciones en el enlace inalámbrico entre el atacante y la red, que está cifrada con A5/2, A5/1, A5/3 o GPRS, y/o descifra y/o cifra las comunicaciones en el enlace inalámbrico entre el teléfono y la red, que está cifrada con A5/2, A5/1, A5/3 o GPRS.
Los métodos de criptoanálisis activo GSM anteriores también pueden incluir:
A. La transmisión del atacante hace que el teléfono decida que la transmisión se ha originado desde la red, y solicita que el teléfono cifre con A5/1;
B. El teléfono responde con datos que están cifrados con A5/1;
C. Utilizar la clave de sesión que resulta del criptoanálisis para descifrar y/o cifrar comunicaciones en el enlace inalámbrico entre el atacante y el teléfono, y/o descifrar y/o cifrar comunicaciones en el enlace inalámbrico entre el atacante y la red, que está encriptada con A5/2, A5/1, A5/3 o GPRS, y/o descifrar y/o cifrar las comunicaciones en el enlace inalámbrico entre el teléfono y la red, que está cifrada con A5/2, A5/1, A5/3 o GPRS.
En el método de criptoanálisis anterior, el criptoanálisis solamente de texto cifrado puede comprender:
A. Realizar un ataque eficiente de texto sin formato conocido en A5/1 que recupera la clave de sesión;
B. Mejorar el ataque de texto sin formato conocido a un ataque solamente de texto cifrado en A5/1.
Mejoras en el método y sistema de red GSM
Varias mejoras en los sistemas celulares se les ocurrirán a las personas expertas en la técnica tras la lectura de los posibles nuevos métodos de ataque detallados en la presente descripción.
Los ejemplos relacionados con GSM incluyen:
1. Los operadores GSM debería reemplazar los algoritmos y protocolos criptográficos que se utilizan ahora lo antes posible, para proteger la privacidad de sus clientes.
2. incluso las redes GSM que utilizan el nuevo A5/3 sucumben al ataque presentado aquí, en la forma en que A5/3 está actualmente integrado en GSM. Por consiguiente, se sugiere realizar cambios en la forma en que está integrado A5/3 para proteger las redes de tales ataques. Una posible corrección es hacer que las claves utilizadas en A5/1 y A5/2 no estén relacionadas con las claves que son utilizadas en A5/3. Este cambio también debería hacerse en GPRS. En general, es preferible crear claves no relacionadas para diferentes cifrados, de modo que una debilidad en una de ellas sería capaz de infligir en las otras.
3. Incluso si GSM implementa tamaños de clave más grandes para A5/3, la forma trivial para que GSM lo implemente, es utilizar los mismos primeros bits de la clave para A5/1 y A5/2, y tener algunos bits de clave adicionales añadidos. Dicha implementación hará que nuestro ataque descubra fácilmente 64 bits clave de la clave que es utilizada en A5/3, reduciendo así la seguridad considerablemente.
4. El presente ataque solamente de texto cifrado es facilitado por el hecho de que los códigos de corrección de errores son empleados ahora antes del cifrado. En el caso de GSM, la adición de tal redundancia estructurada antes de que se realice el cifrado, reduce fatalmente la seguridad del sistema. Se ha propuesto un método y una estructura para corregir este defecto.
5. Modificar el estándar GSM, para permitir la utilización de más de 64 bits A5/3, ofrecería una mayor seguridad, y limitaría la efectividad del ataque.
6. Realizar la autenticación más a menudo, incluso durante una sesión en curso, puede probar que es una buena protección. Probaría que el abonado "real" sigue siendo el que está al otro lado del canal. También, la autenticación en GSM cambia la clave, lo que obligaría a un espía a realizar el ataque desde el principio. Incluso si la clave no es cambiada durante la conversación, se asegurará de que no haya suplantación.
7. Detener la utilización de A5/2, especialmente en teléfonos. Detener la utilización de A5/2, dejaría el ataque directo en A5/1, que es más costoso y difícil de realizar. El ataque contra A5/1 aún podría ser aprovechado contra GPRS (como el ataque A5/2), pero el coste sería mucho más alto de realizar. La desventaja de este cambio, es que obligaría a actualizar la infraestructura en las redes que emplean A5/2. Otra opción es crear una serie de teléfonos que no sean compatibles con A5/2. No tendrán cifrado cuando estén en itinerancia a redes A5/2 (pero como mostramos, A5/2 no es seguro de todos modos), pero aumentarán la seguridad en las redes A5/1 o A5/3, dado que el ataque A5/2 no funcionaría. Por lo tanto, el A5/1 directo tendría que ser empleado, y este ataque es mucho más costoso y difícil de realizar.
8. Utilizar más bits disponibles para el cifrado, es decir, utilizar los 64 bits completos de clave disponibles. En el futuro, cuantos más bits disponibles estén disponibles - más bits pueden ser utilizados.
Se reconocerá que lo anterior no es más que un ejemplo de un aparato y método dentro del alcance de la presente invención y que a los expertos en la materia se les ocurrirán diferentes modificaciones tras la lectura de la descripción expuesta anteriormente.

Claims (5)

REIVINDICACIONES
1. Un dispositivo para recuperar una clave de cifrado procesando una comunicación digital cifrada que comprende:
un receptor configurado para recibir un primer texto cifrado que es cifrado de acuerdo con A5/1, red a móvil o móvil a red, o con un A5/2, red a móvil o móvil a red, esquema de cifrado en el que el primer texto cifrado es un cifrado de un primer mensaje tras el cual se empleó un esquema de código de corrección de errores GSM antes del cifrado;
y un circuito de procesamiento adaptado para recuperar una clave de cifrado utilizada en el cifrado del primer texto cifrado realizando un criptoanálisis solamente de texto cifrado del primer texto cifrado,
caracterizado por que realizar un criptoanálisis solamente de texto cifrado del primer texto cifrado implica bits de XOR basados en una matriz G asociada con el esquema de codificación de corrección de errores GSM.
2. El dispositivo según la reivindicación 1, en el que realizar un criptoanálisis solamente de texto cifrado del primer texto cifrado implicada además generar ecuaciones independientes del primer mensaje.
3. El dispositivo según la reivindicación 1 o 2, en donde dicho circuito de procesamiento está adaptado además para cambiar la información de la red o del teléfono móvil incluyendo qué esquema de cifrado GSM puede o debería ser utilizado, así la red o el móvil aceptan uno de los cifrados A5/1 y A5/2, y para realizar el criptoanálisis solamente de texto cifrado en el primer texto cifrado que es cifrado de acuerdo con uno de dichos cifrados A5/1 y A5/2.
4. Un método para recuperar una clave de cifrado procesando una comunicación digital cifrada que comprende:
recibir un primer texto cifrado que es cifrado de acuerdo con un esquema de cifrado en el que el primer texto cifrado es un cifrado de un primer mensaje tras el cual se empleó un esquema de codificación de corrección de errores antes del cifrado;
y recuperar la clave de cifrado utilizada en el cifrado del primer texto cifrado realizando un criptoanálisis solamente de texto cifrado del primer texto cifrado,
caracterizado por que realizar un criptoanálisis solamente de texto cifrado del primer texto cifrado implica bits de XOR basados en una matriz G asociada con el esquema de codificación de corrección de errores GSM.
5. El método según la reivindicación 4, en donde realizar un criptoanálisis solamente de texto cifrado del primer texto cifrado implica generar ecuaciones independientes del primer mensaje.
ES13169371T 2003-04-30 2004-04-30 Método y sistema de criptoanálisis GSM Expired - Lifetime ES2777930T3 (es)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
IL15567103A IL155671A (en) 2003-04-30 2003-04-30 Method and system of encryption decryption

Publications (1)

Publication Number Publication Date
ES2777930T3 true ES2777930T3 (es) 2020-08-06

Family

ID=33397642

Family Applications (1)

Application Number Title Priority Date Filing Date
ES13169371T Expired - Lifetime ES2777930T3 (es) 2003-04-30 2004-04-30 Método y sistema de criptoanálisis GSM

Country Status (10)

Country Link
US (8) US8009826B2 (es)
EP (2) EP2663019B1 (es)
CY (2) CY1114390T1 (es)
DK (1) DK2663019T3 (es)
ES (1) ES2777930T3 (es)
HU (1) HUE048094T2 (es)
IL (1) IL155671A (es)
PL (2) PL1623529T3 (es)
SI (1) SI2663019T1 (es)
WO (1) WO2004098112A2 (es)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110243322A1 (en) * 2008-01-17 2011-10-06 Vodafone Group Plc Security in telecommunications systems
CN101252785B (zh) * 2008-03-21 2012-05-23 华为技术有限公司 无线通信的方法、系统及基站
EP2337387A1 (en) * 2009-12-18 2011-06-22 NetHawk Oyj Interception and control of ongoing radio connections through interposition and impersonation of a mobile device and cellular radio system
FR2960366A1 (fr) * 2010-05-20 2011-11-25 Ingenico Sa Procede d’obtention de cles de chiffrement, terminal, serveur, et produits programmes d’ordinateurs correspondants
US9356785B2 (en) * 2011-02-15 2016-05-31 Blackberry Limited Method and system for security enhancement for mobile communications
US8165618B1 (en) 2011-02-24 2012-04-24 Research In Motion Limited Methods and systems for slow associated control channel signaling
US9262639B2 (en) * 2013-01-09 2016-02-16 Cisco Technology Inc. Plaintext injection attack protection
WO2016047111A1 (ja) * 2014-09-25 2016-03-31 日本電気株式会社 解析システム、解析装置、解析方法、及び、解析プログラムが記録された記憶媒体
WO2017096599A1 (zh) * 2015-12-10 2017-06-15 深圳市大疆创新科技有限公司 安全通信系统、方法及装置
US11050723B1 (en) 2018-12-29 2021-06-29 Whatsapp Inc. Methods and systems for transmitting anonymized information
CN112039654A (zh) * 2020-08-26 2020-12-04 上海电力大学 一种抵御中间人攻击的电表数据安全采集方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5778074A (en) * 1995-06-29 1998-07-07 Teledyne Industries, Inc. Methods for generating variable S-boxes from arbitrary keys of arbitrary length including methods which allow rapid key changes
US5809140A (en) * 1996-10-15 1998-09-15 Bell Communications Research, Inc. Session key distribution using smart cards
US6459792B2 (en) * 1997-04-23 2002-10-01 Matsushita Electric Industrial Co., Ltd. Block cipher using key data merged with an intermediate block generated from a previous block
US6560338B1 (en) * 1998-08-28 2003-05-06 Qualcomm Incorporated Limiting delays associated with the generation of encryption stream ciphers
US7113600B1 (en) * 1999-11-12 2006-09-26 Telefonaktiebolaget Lm Ericsson (Publ) Base transceiver station automatic encryption handling
US20010031050A1 (en) * 2000-02-14 2001-10-18 Lateca Computer Inc. N.V. Key generator
WO2001089253A1 (en) 2000-05-18 2001-11-22 Ico Services Ltd. Connection authentication in a mobile network
US20030012372A1 (en) * 2001-04-25 2003-01-16 Cheng Siu Lung System and method for joint encryption and error-correcting coding

Also Published As

Publication number Publication date
IL155671A0 (en) 2004-05-12
SI2663019T1 (sl) 2020-04-30
EP2663019A2 (en) 2013-11-13
EP1623529A2 (en) 2006-02-08
PL2663019T3 (pl) 2020-06-29
US9038192B2 (en) 2015-05-19
US10924462B2 (en) 2021-02-16
US20190028446A1 (en) 2019-01-24
PL1623529T3 (pl) 2013-11-29
HUE048094T2 (hu) 2020-05-28
US9634832B2 (en) 2017-04-25
US20130083918A1 (en) 2013-04-04
US20200112547A1 (en) 2020-04-09
CY1114390T1 (el) 2016-08-31
US8009826B2 (en) 2011-08-30
IL155671A (en) 2004-12-15
CY1122836T1 (el) 2021-05-05
DK2663019T3 (da) 2020-03-16
EP1623529B1 (en) 2013-05-29
US20210367931A1 (en) 2021-11-25
EP2663019A3 (en) 2017-07-19
EP1623529A4 (en) 2011-08-31
US8295477B2 (en) 2012-10-23
US20170195301A1 (en) 2017-07-06
US20150244519A1 (en) 2015-08-27
US9887972B2 (en) 2018-02-06
US20070147621A1 (en) 2007-06-28
US20110280393A1 (en) 2011-11-17
WO2004098112A2 (en) 2004-11-11
US10447666B2 (en) 2019-10-15
EP2663019B1 (en) 2019-12-18
WO2004098112A3 (en) 2005-01-13

Similar Documents

Publication Publication Date Title
US10924462B2 (en) Cryptanalysis method and system
Barkan et al. Instant ciphertext-only cryptanalysis of GSM encrypted communication
Barkan et al. Instant ciphertext-only cryptanalysis of GSM encrypted communication
Mitchell The impact of quantum computing on real-world security: A 5G case study
CN101895877B (zh) 密钥协商方法、设备及系统
Cattaneo et al. Security Issues and Attacks on the GSM Standard: a Review.
Quirke Security in the GSM system
Hwang et al. On the security of an enhanced UMTS authentication and key agreement protocol
Panda et al. An improved authentication and security scheme for LTE/LTE-A networks
JP4856380B2 (ja) 暗号同期(cryptosync)を生成する方法
Cattaneo et al. A review of security attacks on the GSM standard
Saxena et al. SAKA: a secure authentication and key agreement protocol for GSM networks
Wong Security analysis of two anonymous authentication protocols for distributed wireless networks
Haddad et al. SEPS-AKA: A secure evolved packet system authentication and key agreement scheme for LTE-A networks
Hu et al. Security Research on Mobile IP network handover
Akman et al. Providing Identity Privacy in 5G Networks by Using Pseudonyms
Saxena et al. An enhanced NPA protocol for secure communications in GSM network
van den Broek Mobile communication security
Ciornei et al. Gsm security-attacks and protection methods (II)
Hendi Enhanced the security of GSM (Global system for mobile)
Uysal A security framework for mobile communication
Aydemir Guap-A Strong User Authentication Protocol for Gsm
Ritvanen Protection of Data Confidentiality and Integrity in Radio Communications Systems
Susanto Functional Scheme for IPv6 Mobile Handoff
Køien Security and Privacy in Future Mobile Networks