Inseguridad en el sistema de Cifrado de Móviles

Como ya se publicó en un post anterior y en nuevos desarrollos numerosos móviles vienen ya con tecnología que permite el cifrado de la información. La metodología de cifrado tiene 2 partes, la primera relacionada con la creación de una Clave Simétrica de Sesión mediante el algoritmo de Diffie y Hellman y la segunda mediante el propio cifrado usando alguna de las implementaciones DES desde 198 hasta 256 bits.

Estuve leyendo las escasas especificaciones técnicas publicadas sobre su funcionamiento y me di cuenta de que simplemente con los mecanismos de cifrado nombrados el Cifrado de Móviles actual es un sistema inseguro ante cierto tipo de ataques.

La finalidad del uso de este sistema de cifrado de la información es eludir el espionaje a “gran escala”, es decir el que se realiza con acceso a la compañía telefónica. Sin embargo en el proceso de intercambio de claves mediante el algoritmo Diffie y Hellman nos encontramos con que si el espionaje es realizado en el sistema de antenas y el encaminamiento de la información puede ser modificado se produce el ataque del “hombre en el medio”. Veamos en que consiste:

En esta primera imagen tenemos un intercambio normal de claves mediante el algoritmo Diffie y Hellman. Partimos de un grupo multiplicativo en Z(p) el cual posee un elemento generador “gen”. Conocemos además un número primo de unos 200 dígitos de tamaño. Los usuarios que se quieren comunicar “Luisma” y “Carlota” generan sus propias claves públicas (P(L) y P(C)) mediante la operación que tenemos en la figura y se las intercambian. Como paso previo han elegido una clave privada (S(L) y S(C)) situada en el intervalo { 1 .. primo_elegido }.



Con la información recibida pueden generar una Clave Simétrica de Sesión (ÚNICA para ambos) mediante la operación de: elevar la clave pública recibida con el valor de su clave privada (Clave Simétrica = P(L)**S(C) == P(C)**S(L)).



Veamos ahora el ataque de “hombre en el medio”: si se controlan las comunicaciones desde la compañía telefónica podemos generar 2 claves públicas (P(espia-A) y P(espia-B)) y secretas (S(espia-A) y S(espia-B)) para comunicar indirectamente a ambos usuarios y que ellos piensen que están hablando directamente, pues no existe ningún paso extra de verificación de identidad aparte del teléfono móvil, pero esa información podríamos cambiarla si trabajamos desde el centro de conexiones.






La solución es simple: esperar a que se implemente para los móviles el Sistema de Cifrado Asimétrico de Claves (Pública / Privada), haciendo que tengamos que conocer la Clave Pública del número al que llamamos. El problema de esta metodologia de cifrado es que consume más recursos (uso del controlador y batería) que el método DES, aunque bien merece la pena su uso.

5 Respuestas a “Inseguridad en el sistema de Cifrado de Móviles”

  1. DrinuS Dice:

    Muy interesante el artículo.Pero no es un fallo aislado, que solo se de en la telefonía móvil. Halla donde se establezca el protocolo para el intercambio de claves de Diffie y Hellman, ese sistema será siempre vulnerable a un ataque man-in-the-middle.
    A mí parecer el gran peligro de la telefonía móvil reside en el cifrado de la propia de comunicación y no solo en en intercambio de clave. Aunque los algoritmos utilizados en la telefónica no han sido publicados, en mayo de 1999 Marc Briceno consiguió sacarlos por ingeniería inversa, de hecho el informe se llama “A pedagogical implementation of A5/1″, aunque solo trata del A5/1 (algoritmo con el que se cifra la comunicación, también podrás encontrar información acerca del algoritmo A3 y A8. Aunque el gran problema reside en el algoritmo genérico que se usa para cifrar posteriormente con A3 y A8, ese algoritmo es el COMP128, el cual por desgracia se puede crackear en menos de 8 horas.

    Espero que sea útil la información.

    Un saludo. GNU/DrinuS

  2. David Dice:

    Sí, el problema del algoritmo del intercambio de claves que se comenta es inherente a la naturaleza del mismo, por lo que el algoritmo de Diffie y Hellman es útil contra escuchas no contra modificaciones.

    El problema del cifrado “en sí” de los móviles como comentas es muchas veces cerrado y como ya comenté en el anterior artículo sobre el cifrado de los móviles: NO se puede confiar en una metodología que no sea “open-source” en temas de cifrado debido a que no podemos tener jamás la seguridad de lo que realmente está haciendo el dispositivo con nuestra información.

  3. DrinuS Dice:

    Estoy de acuerdo contigo en que lo que es abierto es lo que inspira confianza y lo que es cerrado da lugar a dudas. No obstante en temas de seguridad, la técnica de “ocultación” se utiliza bastante. Y tiene su lógica, si nadie conoce el algoritmo, por que no es público seguramente si quiere atacar a ese algoritmo primero tenga que sacarlo inversamente y luego crackearlo. Cosa que lleva el doble tiempo. Aunque me reitero en lo dicho mejor que se habrán este tipo de cifrados, así sabremos como funcionan, si son seguros y si no llevan sorpresas.

  4. David Dice:

    EL tema de la ocultación del algoritmo de cifrado o información sobre la algoritmia NO es una solución válida (al menos no se lo digas a Bruce Schneier), hay un principio muy famoso denominado Kerckhoffs que ratifica justo lo que te comento, sobretodo para el desarrollo de sistemas de información y Redes de comunicación.
    Más info en: http://en.wikipedia.org/wiki/Kerckhoffs’_principle

  5. DrinuS Dice:

    Hombre en seguridad la técnica de ocultación es un pilar fundamental. Lo que es cierto es que basar toda la seguridad de un sistema en dicha ténica no tiene sentido, aparte de ser inseguro.

    Gracias por comentar el principio, no lo conocía, miraré a ver de que va.

    Un saludo

Deja una Respuesta

IMPORTANTE : ANTES DE ENVIAR EL COMENTARIO COPIALO EN EL PORTAPAPELES DE FORMA QUE EN CASO DE QUE NO ACERTARAS CON LA SECUENCIA DE SEGURIDAD PUDIERAS VOLVER ENVIARLO USANDO LA COPIA

This is a captcha-picture. It is used to prevent mass-access by robots. (see: www.captcha.net)

Debes leer y teclear los 5 caracteres entre 0..9 y A..F, y enviar la respuesta.

  

No puedo leer esto. Por favor, generar un