A5 es un algoritmo de cifrado de transmisión utilizado para garantizar la confidencialidad de los datos transmitidos entre el teléfono y la estación base en el sistema europeo de comunicaciones móviles digitales GSM ( Groupe Spécial Mobile ).
El cifrado se basa en el módulo dos de adición bit a bit (operación XOR booleana) de la secuencia pseudoaleatoria generada y la información que se cifrará. En A5, se implementa una secuencia pseudoaleatoria basada en tres registros de desplazamiento de retroalimentación lineal . Los registros tienen una longitud de 19, 22 y 23 bits, respectivamente. Los cambios están controlados por un circuito especial que organiza el cambio de al menos dos registros en cada paso, lo que conduce a su movimiento desigual. La secuencia está formada por la operación XOR en los bits de salida de los registros.
Inicialmente, los criptógrafos militares franceses desarrollaron un cifrado de flujo para ser utilizado exclusivamente con fines militares. A finales de los 80, el estándar GSM requirió la creación de un nuevo y moderno sistema de seguridad. Se basó en tres algoritmos secretos: autenticación - A3 , cifrado de flujo - A5, generación de clave de sesión - A8 . Se utilizó un desarrollo francés como algoritmo A5. Este cifrado proporcionó un flujo de seguridad bastante bueno y, por lo tanto, la confidencialidad de la conversación. Inicialmente, no se esperaba la exportación del estándar desde Europa, pero pronto surgió la necesidad. Por eso el A5 pasó a llamarse A5/1 y empezó a distribuirse tanto en Europa como en USA. Para otros países (incluida Rusia), se modificó el algoritmo, lo que redujo significativamente la fuerza criptográfica del cifrado. El A5/2 fue diseñado específicamente como una opción de exportación para países fuera de la UE. La fuerza criptográfica de A5/2 se redujo al agregar otro registro (17 bits) que controla los turnos del resto. En A5 / 0, no hay encriptación en absoluto. El algoritmo A5/3, basado en el algoritmo Kasumi , también ha sido desarrollado y aprobado para su uso en redes 3G. Estas modificaciones se conocen como A5/x.
Oficialmente, este esquema criptográfico no se publicó y su estructura no se hizo pública. Esto se debió a que los desarrolladores confiaron en la seguridad a expensas de la oscuridad , lo que significa que los algoritmos son más difíciles de descifrar si sus descripciones no están disponibles públicamente. Los datos se proporcionaron a los operadores GSM solo cuando fue necesario. Sin embargo, en 1994 se conocieron los detalles del algoritmo A5: la compañía telefónica británica British Telecom envió toda la documentación relativa al estándar a la Universidad de Bradford para su análisis sin entrar en un acuerdo de confidencialidad . Además, aparecieron materiales sobre el estándar en una de las conferencias en China. Como resultado, su esquema se filtró gradualmente a amplios círculos. En el mismo año, los científicos de Cambridge Ross Anderson (Ross Anderson) y Michael Roe (Michael Roe) publicaron un esquema criptográfico restaurado a partir de estos datos y evaluaron su fuerza criptográfica [1] . El algoritmo final se presentó en el trabajo de Jovan Golic en la conferencia Eurocrypt'97.
El algoritmo A5 es actualmente una familia completa de cifrados. Para la descripción, tomemos A5/1 como antepasado de esta familia. Los cambios en los algoritmos derivados se describirán por separado.
En este algoritmo, cada carácter de texto sin formato corresponde a un carácter de texto cifrado. El texto no se divide en bloques (como en el cifrado de bloques ) y no cambia de tamaño. Para simplificar la implementación del hardware y, por lo tanto, aumentar el rendimiento, solo se utilizan las operaciones más simples: adición de módulo 2 (XOR) y cambio de registro.
La secuencia de salida se forma agregando el flujo de texto fuente a la secuencia generada (gamma). La peculiaridad de la operación XOR es que aplicada un número par de veces, conduce al valor inicial. Por lo tanto, el mensaje se decodifica agregando el texto cifrado a una secuencia conocida.
Así, la seguridad del sistema depende enteramente de las propiedades de la secuencia. Idealmente, cada bit de gamma es una variable aleatoria independiente y la secuencia en sí es aleatoria. Tal esquema fue inventado por Vernam en 1917 y lleva su nombre. Como demostró Claude Shannon en 1949, esto proporciona una seguridad absoluta. Pero el uso de una secuencia aleatoria supone la transmisión por un canal seguro de un mensaje de igual volumen que el texto plano, lo que complica mucho la tarea y prácticamente no se utiliza en ninguna parte.
En los sistemas reales, se crea una clave de un tamaño determinado, que se transmite fácilmente a través de un canal privado. La secuencia se genera en base a ella y es pseudoaleatoria. Una gran clase de cifrados de flujo (incluido A5) son cifrados cuyo generador de secuencias pseudoaleatorias se basa en registros de desplazamiento de retroalimentación lineal.
Un registro de desplazamiento de retroalimentación lineal consta del propio registro (una secuencia de bits de una longitud determinada) y la retroalimentación. En cada ciclo, ocurren las siguientes acciones: se extrae el bit más a la izquierda (bit más alto), la secuencia se desplaza hacia la izquierda y el valor de la función de retroalimentación se escribe en la celda derecha vacía (bit menos significativo). Esta función es la suma módulo dos de ciertos bits del registro y se escribe como un polinomio, donde el exponente indica el número de bit. Los bits extraídos forman la secuencia de salida.
Para LFSR, el indicador principal es el período de la secuencia pseudoaleatoria. Será máximo (e igual a 2 n − 1) si el polinomio de realimentación es módulo primitivo 2 . La secuencia de salida en este caso se denomina secuencia M.
Sistema LFSR en A5LFSR en sí mismo se presta fácilmente al criptoanálisis y no es lo suficientemente fuerte como para ser utilizado en el cifrado. Las aplicaciones prácticas son sistemas de registros de reloj variables con diferentes longitudes y funciones de retroalimentación.
La estructura del algoritmo A5 es la siguiente:
Consideremos las características del funcionamiento del algoritmo basado en el esquema conocido. La transmisión de datos se realiza de forma estructurada, dividida en tramas (114 bits). Antes de la inicialización, los registros se restablecen, la clave de sesión (K - 64 bits) formada por A8 y el número de cuadro (Fn - 22 bits) se ingresan al algoritmo . A continuación, se realizan secuencialmente los siguientes pasos:
Al algoritmo A5/2 se le ha añadido otro registro de 17 bits (R4) , que controla el movimiento del resto. Los cambios de estructura son los siguientes:
Los cambios en el funcionamiento no son tan significativos y se refieren solo a la inicialización:
Se puede ver que la inicialización toma el mismo tiempo (100 ciclos sin generación se dividen en dos partes).
El algoritmo A5/3 se desarrolló en 2001 y debería reemplazar al A5/1 en la tercera generación de sistemas móviles. También se le llama algoritmo de Kasumi . Cuando se creó, se tomó como base el cifrado MISTY de Mitsubishi Corporation. Actualmente se considera que A5/3 proporciona la resistencia requerida.
El algoritmo A5/0 no contiene cifrado.
El desarrollo del estándar GSM significó una poderosa máquina de encriptación que no podía ser pirateada (especialmente en tiempo real). Los desarrollos utilizados, con una implementación adecuada, proporcionaron un cifrado de alta calidad de los datos transmitidos. Este es el tipo de información que se puede obtener de las empresas que distribuyen este estándar. Pero vale la pena señalar un matiz importante: escuchar conversaciones es un atributo integral utilizado por los servicios especiales. Estaban interesados en la posibilidad de realizar escuchas telefónicas para sus propios fines. Por lo tanto, se realizaron cambios en el algoritmo, lo que permitió descifrar en un tiempo aceptable. Además, se modificó A5 para exportar a A5/2. El MoU (Memorandum of Understand Group Special Mobile standard) reconoce que el propósito de desarrollar A5 / 2 fue reducir la fuerza criptográfica del cifrado, sin embargo, los resultados de las pruebas oficiales dicen que no hay deficiencias conocidas del algoritmo [2] .
Con la llegada de los datos en el estándar A5, comenzaron los intentos de descifrar el algoritmo, así como la búsqueda de vulnerabilidades. Las características del estándar jugaron un papel muy importante, lo que debilita drásticamente la protección, a saber:
Sobre la base de estos "agujeros" en el algoritmo, se construyen esquemas de piratería.
La clave es una clave de sesión de 64 bits, se supone que se conoce el número de trama. Por lo tanto, la complejidad de un ataque de fuerza bruta es 2 64 .
Las primeras revisiones del cifrado (el trabajo de Ross Anderson) revelaron de inmediato la vulnerabilidad del algoritmo: debido a una disminución en la longitud efectiva de la clave (reducción a cero de 10 bits), la complejidad se redujo a 2 45 (en 6 órdenes de magnitud a la vez ). ). El ataque de Anderson se basa en la suposición del llenado inicial de registros cortos y en la salida de obtener el llenado del tercero.
En 1997, Jovan Golic publicó los resultados del análisis A5. Propuso una forma de determinar el llenado inicial de registros a partir de un segmento conocido de la gamma, de solo 64 bits de longitud. Este segmento se obtiene a partir de cero mensajes. El ataque tiene una dificultad media de 2 40 .
En 1999, Wagner y Goldberg demostraron fácilmente que, para abrir el sistema, basta con determinar el llenado inicial R4 por enumeración. La comprobación se realiza a expensas de cero tramas. La complejidad de este ataque es 2 17 , por lo que lleva unos segundos descifrar el cifrado en una computadora moderna.
En diciembre de 1999, un grupo de científicos israelíes ( Adi Shamir , Alex Biryukov y más tarde el estadounidense Wagner método muy no trivial, pero teóricamente muy eficaz, para abrir A5/1:
Esta es una idea muy compleja, que atacamos en muchos frentes para acumular algunas pequeñas ventajas, pero juntas, hacen una gran diferencia.adi shamir
Criptosistemas simétricos | |
---|---|
Cifrados de flujo | |
Red Feistel | |
red SP | |
Otro |