KeeLoq es un cifrador de bloques propietario dedicado al 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 en silicio fue realizada por Willem Smit en Nanoteq (Pty) Ltd ( Sudáfrica ) a mediados de la década de 1980. KeeLoq fue vendido a Microchip Technology Inc. en 1995 por 10 millones de dólares. [ 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 por compañías como Chrysler , [ 2 ] Daewoo , Fiat , Ford , [ 3 ] GM , Honda , Mercedes-Benz , [ 3 ] Toyota , Volvo , Volkswagen Group , Clifford, Shurlok y Jaguar . [ 3 ]
Descripción

Los codificadores KeeLoq "de salto de código" cifran un bloque de 32 bits relleno de ceros con el cifrado KeeLoq para producir un " código de salto " de 32 bits. Un vector de inicialización de 32 bits se suma linealmente ( se aplica la 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 cifra bloques de 32 bits ejecutando su NLFSR de un solo bit durante 528 rondas. La función de retroalimentación del 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 (XOR) con dos de los bits del estado NLFSR (bits 0 y 16 en el cifrado y bits 31 y 15 en el descifrado) y con un bit de clave (bit 0 del estado de clave en el cifrado y bit 15 del estado de clave en el descifrado), y se realimenta al estado NLFSR en cada ronda.
Versiones
Este artículo describe el protocolo KeeLoq clásico, pero se han desarrollado versiones más recientes. El sistema Ultimate KeeLoq [ 4 ] es un algoritmo basado en temporizador que mejora el sistema KeeLoq clásico. El objetivo de esta nueva versión es incorporar un cifrado AES-128 más robusto y estándar en la industria , que reemplaza el algoritmo de cifrado KeeLoq, y contar con un contador controlado por temporizador que se incrementa continuamente, a diferencia del KeeLoq clásico, donde el contador se incrementa al presionar un botón. Esto proporciona protección contra ataques de fuerza bruta y ataques de captura y reproducción , conocidos como RollJam en honor al trabajo de Samy Kamkar .
Ataques
Ataque de repetición
Para simplificar, las implementaciones individuales de "salto de código" generalmente 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 interferir el canal mientras intercepta el código, un ladrón puede obtener un código que aún podría 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 coches. [ 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 aproximado de una cartera, podía ocultarse sobre o cerca de un vehículo cerrado para capturar un único código de acceso sin llave y utilizarlo posteriormente para desbloquearlo. 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 los dos intentos necesarios para desbloquear el vehículo. El primer código registrado se envía al vehículo solo cuando el propietario realiza el segundo intento, mientras que el segundo código registrado se conserva para su uso futuro. [ 8 ] Se anunció una demostración para DEF CON 23. [ 9 ]
Criptoanálisis

KeeLoq fue criptoanalizado por primera vez por Andrey Bogdanov utilizando técnicas de deslizamiento y aproximaciones lineales eficientes . Nicolas Courtois atacó KeeLoq utilizando métodos de deslizamiento y algebraicos. Los ataques de Bogdanov y Courtois no representan ninguna amenaza para las implementaciones reales, que parecen ser mucho más vulnerables a un simple ataque de fuerza bruta del espacio de claves , el cual 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 reducida de la clave en las implementaciones del mundo real.
En 2007, investigadores del grupo COSIC de la Universidad de Lovaina (KU Leuven) , Bélgica , 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 vulnerabilidades. Tras determinar la parte de la llave común a los coches de un modelo específico, los bits únicos de la llave pueden descifrarse interceptando únicamente la comunicación entre la llave y el coche.
Microchip introdujo en 1996 [ 11 ] una versión de los circuitos integrados KeeLoq que utiliza una semilla de 60 bits. Si se utiliza una semilla de 60 bits, un atacante requeriría aproximadamente 10¹¹ días de procesamiento en una máquina dedicada de ataque de fuerza bruta en paralelo antes de que el sistema se rompa. [ 12 ]
Ataques de canal lateral
En marzo de 2008, investigadores de la Cátedra de Seguridad Integrada de la Universidad Ruhr de Bochum , Alemania, presentaron una vulnerabilidad total en sistemas de acceso remoto 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 utilizan el cifrado KeeLoq.
El ataque del equipo de Bochum permite recuperar las claves criptográficas secretas integradas tanto en el receptor como en el mando a distancia. Se basa en la medición del consumo eléctrico de un dispositivo durante el cifrado. Aplicando métodos de análisis de canal lateral a los registros de consumo, los investigadores pueden extraer la clave del fabricante de los receptores, que puede considerarse una clave maestra para generar claves válidas para los mandos a distancia de un fabricante específico. A diferencia del ataque criptoanalítico descrito anteriormente, que requiere aproximadamente 65.536 pares de texto plano-texto cifrado y días de cálculo en un ordenador para recuperar la clave, el ataque de canal lateral también puede aplicarse al modo de funcionamiento KeeLoq Code Hopping (también conocido como código variable ), ampliamente utilizado en sistemas de acceso sin llave (automóviles, garajes, edificios, etc.).
La consecuencia práctica más devastadora del análisis de canal lateral es un ataque en el que un atacante, tras haber aprendido previamente la clave maestra del sistema, puede clonar cualquier codificador legítimo interceptando solo dos mensajes de este 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 imposibilita que un usuario legítimo abra la puerta. [ 15 ]
Referencias
- ↑ Patente estadounidense 5517187 , Bruwer, Frederick J.; Smit, Willem y Kuhn, Gideon J., "Microchips y dispositivos de control remoto que los comprenden", emitida el 14 de mayo de 1996, asignada a Microchip Technology Inc.
- ↑ Algunas pruebas de que Chrysler utiliza KeeLoq se pueden encontrar en (este vídeo) .
- 1 2 3 Investigadores descifran el código KeeLoq para llaves de coche . WIRED . Consultado el 21 de mayo de 2024.
- ↑ Microchip - MCS3142 - Seguridad - Dispositivos codificadores KeeLoq
- ↑ Análisis de la seguridad remota por radiofrecuencia mediante radio definida por software
- ↑ http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=2075¶m=en001022#P108_5361 afirma: "Es sencillo construir un circuito para grabar dichas transmisiones y responderlas posteriormente. Este sistema se conoce como capturador de código o clave".
- ↑ "VERIFICACIÓN DE HECHOS: ¿Utilizan los ladrones de coches 'capturadores de códigos' para robar automóviles?" . 2 de julio de 2008.
- ↑ Thompson, Cadie (6 de agosto de 2015). "Un hacker creó un dispositivo de 30 dólares que puede desbloquear muchos coches con entrada sin llave" . Tech Insider . Consultado el 11 de agosto de 2015 .
- ↑ Kamkar, Samy (2015-08-07). "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 .
- ↑ Cómo robar coches: un ataque práctico a KeeLoq
- ↑ (Estará disponible más adelante en el archivo web): comunicado de prensa de Microchip del 11 de diciembre de 1996. Cita: "...Transpondedor y codificador de salto de código HCS410 KEELOQ..."
- ↑ Martin Novotny; Timo Kasper. "Criptoanálisis de KeeLoq con COPAOBANA" (PDF) . Conferencia SHARCS 2009: 159–164 .
{{cite journal}}: Para citar una revista se requiere|journal=( ayuda ) - ↑ "Una avería total del sistema de control de acceso KeeLoq" . Archivado del original el 24/09/2015 . Consultado el 10/08/2015 .
- ↑ Thomas Eisenbarth; Timo Kasper; Amir Moradi; Christof Paar; Mahmoud Salmasizadeh; Mohammad T. Manzuri Shalmani (29 de febrero de 2008). "Criptoanálisis físico de las aplicaciones de salto de código KeeLoq" (PDF) . Universidad Ruhr de Bochum, Alemania . Consultado el 22 de marzo de 2009 .
{{cite journal}}: Para citar una revista se requiere|journal=( ayuda ) - ↑ Kasper, Timo (noviembre de 2012). Análisis de seguridad de dispositivos inalámbricos omnipresentes: ataques físicos y de protocolo en la práctica (doctorado). Universidad Ruhr de Bochum , Alemania . Recuperado el 3 de julio de 2023 .
Enlaces externos
- Sitio web de Microchip KeeLoq
- Introducción a la tecnología Ultimate KeeLoq
- Familia de codificadores HCSXXX - Información del producto
- Tecnología KeeLoq de última generación, la próxima generación de seguridad: con codificador dual KeeLoq MCS3142.
- "Especificación del algoritmo de descifrado de KeeLoq" (PDF) . Archivado (PDF) del original el 23 de abril de 2007.
- Implementación de KeeLoq en C en GitHub
- Código fuente en C por Ruptor
- Bogdanov, Andrey (31 de agosto - 5 de septiembre de 2007). Criptoanálisis del cifrado por bloques KeeLoq . Seguridad de la información y criptología: Tercera Conferencia SKLOIS, Inscrypt 2007, Artículos seleccionados revisados. Xining, China..
- NT Courtois y GV Bard, 'Ataques algebraicos y deslizantes contra KeeLoq'
- "Comunicado de prensa de la Universidad de Bochum / HGI sobre la ruptura total de los sistemas de entrada basados en KeeLoq" (PDF) .
- Criptoanálisis físico de aplicaciones de salto de código KeeLoq
- Cifrados de bloques
- Cifrados de bloques rotos
- Marcas comerciales de tecnología automotriz
- electrónica de radio
- Sistemas de seguridad para vehículos
- Hardware de Microchip Technology
- Abridores de puertas de garaje