stringtranslate.com

KeeLoq

KeeLoq es un cifrador de bloques exclusivo de hardware que utiliza un registro de desplazamiento de retroalimentación no lineal (NLFSR). El protocolo de transferencia de comandos unidireccional fue diseñado por Frederick Bruwer de Nanoteq (Pty) Ltd., el algoritmo criptográfico fue creado por Gideon Kuhn en la Universidad de Pretoria y la implementación de silicio estuvo a cargo de Willem Smit en Nanoteq (Pty) Ltd ( Sudáfrica ) a mediados de la década de 1980. KeeLoq se vendió a Microchip Technology Inc en 1995 por $10 millones. [1] Se utiliza en codificadores y decodificadores de " código de salto " como NTQ105/106/115/125D/129D, HCS101/2XX/3XX/4XX/5XX y MCS31X2. KeeLoq se ha utilizado en muchos sistemas de entrada remota sin llave de empresas como Chrysler , [2] Daewoo , Fiat , Ford , [3] GM , Honda , Mercedes-Benz , [3] Toyota , Volvo , Volkswagen Group , Clifford, Shurlok y Jaguar . [3]

Descripción

Cifrado KeeLoq

Los codificadores de "salto de código" KeeLoq cifran un bloque de 32 bits lleno de ceros con el cifrado KeeLoq para producir un " código de salto " de 32 bits. Se añade linealmente un vector de inicialización de 32 bits ( se realiza una operación XOR ) a los 32 bits menos significativos de la clave antes del cifrado y después del descifrado .

El cifrado KeeLoq acepta claves de 64 bits y encripta bloques de 32 bits ejecutando su NLFSR de un solo bit durante 528 rondas. La función de retroalimentación NLFSR es 0x3A5C742Eo

KeeLoq utiliza los bits 1, 9, 20, 26 y 31 del estado NLFSR como entradas durante el cifrado y los bits 0, 8, 19, 25 y 30 durante el descifrado. Su salida se combina linealmente (se realiza una operación XOR) con dos de los bits del estado NLFSR (los bits 0 y 16 en el cifrado y los bits 31 y 15 en el descifrado) y con un bit de clave (el bit 0 del estado de clave en el cifrado y el bit 15 del estado de clave en el descifrado) y se devuelve al estado NLFSR en cada ronda.

Versiones

Este artículo describe el protocolo KeeLoq clásico, pero se han desarrollado versiones más nuevas. El sistema Ultimate KeeLoq [4] es un algoritmo basado en temporizador que mejora el sistema KeeLoq clásico. El objetivo de esta versión más nueva es contener un cifrado AES-128 más fuerte y estándar de la industria que reemplace el algoritmo de cifrado KeeLoq, y tener un contador controlado por temporizador que se incrementa continuamente, que es lo opuesto al KeeLoq clásico donde el contador se incrementa según la pulsación del botón. Esto proporciona protección contra ataques de fuerza bruta y ataques de captura y reproducción , conocidos como RollJam por el trabajo de Samy Kamkar .

Ataques

Ataque de repetición

Para simplificar, las implementaciones individuales de "saltos de código" normalmente no utilizan nonces criptográficos ni marcas de tiempo . Esto hace que el protocolo sea inherentemente vulnerable a ataques de repetición : por ejemplo, al bloquear el canal mientras se intercepta el código, un ladrón puede obtener un código que aún puede ser utilizable en una etapa posterior. [5] Este tipo de "capturador de código", [6] aunque teóricamente interesante, no parece ser ampliamente utilizado por los ladrones de automóviles. [7]

En 2015 apareció una descripción detallada de un prototipo económico diseñado y construido por Samy Kamkar para explotar esta técnica. El dispositivo, del tamaño de una billetera, podría ocultarse en un vehículo cerrado o cerca de él para capturar un único código de entrada sin llave que se utilizará más adelante para desbloquear el vehículo. El dispositivo transmite una señal de interferencia para bloquear la recepción por parte del vehículo de las señales de código variable del mando a distancia del propietario, mientras registra estas señales de sus dos intentos necesarios para desbloquear el vehículo. El primer código grabado se envía al vehículo solo cuando el propietario realiza el segundo intento, mientras que el segundo código grabado se conserva para su uso futuro. [8] Se anunció una demostración para DEF CON 23. [9]

Criptoanálisis

Descifrado de KeeLoq

KeeLoq fue analizado por primera vez por Andrey Bogdanov utilizando técnicas de deslizamiento y aproximaciones lineales eficientes . Nicolas Courtois atacó KeeLoq utilizando métodos deslizantes y algebraicos. Los ataques de Bogdanov y Courtois no plantean ninguna amenaza para las implementaciones reales que parecen ser mucho más vulnerables a la fuerza bruta simple del espacio de claves que se reduce en todas las implementaciones de salto de código del cifrado conocidas hasta la fecha. Algunos "capturadores de código" de KeeLoq utilizan dispositivos basados ​​en FPGA para descifrar claves basadas en KeeLoq por fuerza bruta en aproximadamente dos semanas debido a la longitud de clave reducida en las implementaciones del mundo real. [ cita requerida ]

En 2007, los investigadores del grupo COSIC de la Universidad de Lovaina (Bélgica ) (KULeuven), en colaboración con colegas de Israel, descubrieron un nuevo ataque contra el sistema. [10] Utilizando los detalles del algoritmo que se filtraron en 2006, los investigadores comenzaron a analizar las debilidades. Después de determinar la parte de la clave común a los coches de un modelo específico, los bits únicos de la clave se pueden descifrar con solo rastrear la comunicación entre la clave y el coche.

Microchip introdujo en 1996 [11] una versión de los circuitos integrados KeeLoq que utilizan una semilla de 60 bits. Si se utiliza una semilla de 60 bits, un atacante necesitaría aproximadamente 1011 días de procesamiento en una máquina dedicada a realizar ataques de fuerza bruta en paralelo antes de que se rompa el sistema. [12]

Ataques de canal lateral

En marzo de 2008, investigadores de la Cátedra de Seguridad Integrada de la Universidad del Ruhr en Bochum , Alemania, presentaron un ataque completo a los sistemas de entrada remota sin llave basados ​​en la tecnología RFID KeeLoq. [13] [14] Su ataque funciona en todos los sistemas de control de acceso a automóviles y edificios conocidos que se basan en el cifrado KeeLoq.

El ataque del equipo de Bochum permite recuperar las claves criptográficas secretas incorporadas tanto en el receptor como en el mando a distancia. Se basa en la medición del consumo de energía eléctrica de un dispositivo durante un cifrado. Aplicando a las trazas de energía los llamados métodos de análisis de canal lateral , los investigadores pueden extraer de los receptores la clave del fabricante, que puede considerarse como una clave maestra para generar claves válidas para los mandos a distancia de un fabricante determinado. A diferencia del ataque criptoanalítico descrito anteriormente, que requiere unos 65536 pares de texto plano-texto cifrado seleccionados y días de cálculo en un PC para recuperar la clave, el ataque de canal lateral también se puede aplicar al modo de funcionamiento denominado KeeLoq Code Hopping (también conocido como rolling code ), que se utiliza ampliamente en los sistemas de acceso sin llave (coches, garajes, edificios, etc.).

La consecuencia práctica más devastadora del análisis de canal lateral es un ataque en el que un atacante, habiendo aprendido previamente la clave maestra del sistema, puede clonar cualquier codificador legítimo interceptando sólo dos mensajes de este codificador desde una distancia de hasta 100 metros (330 pies). Otro ataque permite reiniciar el contador interno del receptor (puerta de garaje, puerta de coche, etc.), lo que hace imposible que un usuario legítimo abra la puerta. [15]

Referencias

  1. ^ Patente estadounidense 5517187, Bruwer, Frederick J.; Smit, Willem y Kuhn, Gideon J., "Microchips y dispositivos de control remoto que los comprenden", expedida el 14 de mayo de 1996, asignada a Microchip Technology  Inc.
  2. ^ Algunas pruebas de que Chrysler efectivamente utiliza KeeLoq se pueden encontrar en (este video).
  3. ^ abc Investigadores descifran el código KeeLoq para las llaves del coche. WIRED . Consultado el 21 de mayo de 2024.
  4. ^ MicroChip - MCS3142 - Seguridad - Dispositivos codificadores KeeLoq
  5. ^ Análisis de seguridad remota por radiofrecuencia mediante radio definida por software
  6. ^ http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=2075¶m=en001022#P108_5361 que afirma: "Es una cuestión sencilla construir un circuito para registrar dichas transmisiones para responderlas más tarde. Un sistema de este tipo se conoce como capturador de códigos o de claves".
  7. ^ "VERIFICACIÓN DE HECHOS: ¿Los ladrones de automóviles utilizan 'capturadores de códigos' para robar automóviles?". 2 de julio de 2008.
  8. ^ Thompson, Cadie (6 de agosto de 2015). "Un hacker fabricó un dispositivo de 30 dólares que puede desbloquear muchos coches con entrada sin llave". Tech Insider . Consultado el 11 de agosto de 2015 .
  9. ^ Kamkar, Samy (7 de agosto de 2015). "Condúcelo como si lo hubieras hackeado: nuevos ataques y herramientas para robar coches de forma inalámbrica". DEF CON 23. Consultado el 11 de agosto de 2015 .
  10. ^ Cómo robar coches: un ataque práctico a KeeLoq
  11. ^ (Estará en una copia de seguridad del archivo web más adelante): comunicado de prensa de Microchip del 11 de diciembre de 1996 Cita: "...Transpondedor y codificador de salto de código KEELOQ HCS410..."
  12. ^ Martin Novotny; Timo Kasper. "Criptoanálisis de KeeLoq con COPACOBANA" (PDF) . Conferencia SHARCS 2009: 159–164. {{cite journal}}: Requiere citar revista |journal=( ayuda )
  13. ^ "Una ruptura total del sistema de control de acceso KeeLoq". Archivado desde el original el 24 de septiembre de 2015. Consultado el 10 de agosto de 2015 .
  14. ^ Thomas Eisenbarth; Timo Kasper; Amir Moradi; Christof Paar; Mahmoud Salmasizadeh; Mohammad T. Manzuri Shalmani (29 de febrero de 2008). "Criptoanálisis físico de aplicaciones de salto de código KeeLoq" (PDF) . Universidad del Ruhr de Bochum, Alemania . Consultado el 22 de marzo de 2009 . {{cite journal}}: Requiere citar revista |journal=( ayuda )
  15. ^ Kasper, Timo (noviembre de 2012). Análisis de seguridad de dispositivos inalámbricos generalizados: ataques físicos y de protocolo en la práctica (doctorado). Universidad del Ruhr en Bochum , Alemania . Consultado el 3 de julio de 2023 .

Enlaces externos