Articulo de referencia

Código variable

En los sistemas de entrada sin llave se utiliza un código variable (o código saltante ) para prevenir un ataque de repetición sencillo , en el que un intruso graba la transmisió...

En los sistemas de entrada sin llave se utiliza un código variable (o código saltante ) para prevenir un ataque de repetición sencillo , en el que un intruso graba la transmisión y la reproduce posteriormente para provocar que el receptor se desbloquee. Estos sistemas son habituales en los abridores de puertas de garaje y en los sistemas de entrada sin llave para automóviles.

Técnicas

  • Generador de números pseudoaleatorios (PRNG ) común —preferiblemente criptográficamente seguro— tanto en el transmisor como en el receptor .
  • El transmisor envía el código 'siguiente' en secuencia.
  • El receptor compara 'next' con su código 'next' calculado.
  • Una implementación típica compara los siguientes 256 códigos en caso de que el receptor no haya registrado algunas pulsaciones de teclas transmitidas.

La contraseña de un solo uso basada en HMAC, ampliamente empleada en la autenticación multifactor, utiliza un enfoque similar, pero con una clave secreta precompartida y HMAC en lugar de un PRNG y una semilla aleatoria precompartida .

Aplicación en control remoto por radiofrecuencia

Un transmisor de código variable resulta útil en un sistema de seguridad para mejorar la seguridad de la transmisión de radiofrecuencia (RF). Consta de un código fijo de 3 bits entrelazado y un código variable. Un receptor demodula la transmisión de RF encriptada y recupera el código fijo y el código variable. Tras comparar estos códigos con códigos almacenados y comprobar que superan una serie de verificaciones algorítmicas, se genera una señal que acciona un motor eléctrico para abrir o cerrar un componente móvil.

Control remoto RF de código variable frente a código fijo

Los mandos a distancia envían una palabra clave digital al receptor. Si el receptor considera que la palabra clave es válida, activará el relé, desbloqueará la puerta o abrirá la barrera. Los sistemas de control remoto sencillos utilizan una palabra clave fija; la misma palabra clave que abre la puerta hoy también la abrirá mañana. Un atacante con un receptor adecuado podría descubrir la palabra clave y usarla para acceder al sistema más adelante. Los sistemas de control remoto más sofisticados utilizan un código variable (o código saltante) que cambia con cada uso. Un atacante podría descubrir la palabra clave que abrió la puerta hace un momento, pero el receptor no la aceptará en un futuro próximo. Un sistema de código variable utiliza métodos criptográficos que permiten que el mando a distancia y el receptor compartan palabras clave, pero dificultan que un atacante descifre la criptografía.

KeeLoq

Chip HCS301 de un mando a distancia de entrada sin llave de Audi A6 , que utiliza un sistema de código variable.

El microchip HCS301 fue en su momento el sistema más utilizado en mandos a distancia y receptores para puertas de garaje y portones. El chip utiliza el algoritmo KeeLoq. El sistema KeeLoq del HCS301 transmite 66 bits de datos:

  • 34 bits no están cifrados: un número de serie de 28 bits, 4 bits de información de los botones y 2 bits de estado (indicadores de repetición y batería baja).
  • Se cifran 32 bits (el código variable): 4 bits de información del botón, 2 bits de OVR (utilizados para extender el valor del contador), 10 bits de DISC (valor de discriminación; a menudo los 10 bits inferiores del número de serie) y un contador de 16 bits. [ 1 ] [ 2 ] En una situación de resincronización, los 32 bits cifrados se reemplazan con un valor semilla de 32 bits.

Tal y como se detalla en KeeLoq , se ha demostrado que el algoritmo es vulnerable a diversos ataques y ha sido completamente descifrado .

Vulnerabilidad de Rolljam

Un código variable transmitido por señal de radio que puede ser interceptado puede ser vulnerable a la falsificación. En 2015, se informó que Samy Kamkar había construido un dispositivo electrónico económico, del tamaño aproximado de una billetera, que podía ocultarse sobre o cerca de un vehículo cerrado para capturar un único código de acceso sin llave y usarlo posteriormente 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 llavero del propietario, mientras registra estas señales de sus dos intentos necesarios para desbloquear el vehículo. El primer código registrado se reenvía (reproduce) al vehículo solo cuando el propietario realiza el segundo intento, mientras que el segundo código registrado se conserva para su uso futuro. Kamkar afirmó que esta vulnerabilidad era ampliamente conocida desde hacía años y que estaba presente en muchos tipos de vehículos, pero que no se había demostrado previamente. [ 3 ] Se realizó una demostración durante DEF CON 23. [ 4 ]

Referencias

  1. Microchip (2001), HC301 KeeLoq Code Hopping Encoder (PDF) , Microchip Technology Inc., DS21143B
  2. "Motivos por los que el mando a distancia de la puerta del garaje no funciona" . 4 de noviembre de 2021.
  3. 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 .
  4. 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 funciona el acceso remoto ; cita un ataque exitoso a KeeLoq.
  • Nota de aplicación AVR411 de Atmel Inc.