Código rodante
Un código rotativo (o a veces llamado código de salto) se utiliza en los sistemas de entrada sin llave para evitar una forma simple de ataque por repetición, en el que un espía graba la transmisión y la reproduce más tarde para hacer que el receptor se "desbloquee". Estos sistemas son típicos en los abridores de puertas de garaje y en los sistemas de entrada de automóviles sin llave.
Técnicas
- PRNG común (generador de número de simulación) — preferiblemente criptográficamente seguro— tanto en transmisor como receptor
- Transmitter envía código 'next' en secuencia
- Receptor compara 'next' con su código calculado 'next'.
- Una implementación típica compara dentro de los siguientes 256 códigos en caso de que el receptor pierda algunos pulsadores transmitidos.
La contraseña de un solo uso basada en HMAC, que se emplea ampliamente en la autenticación multifactor, utiliza un enfoque similar, pero con una clave secreta precompartida y HMAC en lugar de PRNG y una semilla aleatoria precompartida.
Aplicación en control remoto RF
Un transmisor de código rotativo es útil en un sistema de seguridad para mejorar la seguridad de la transmisión de radiofrecuencia (RF), que comprende un código fijo de bits trinarios intercalados y un código rotativo. Un receptor desmodula la transmisión de RF cifrada y recupera el código fijo y el código rotativo. Tras la comparación de los códigos fijo y rotativo con los códigos almacenados y al ver que pasan un conjunto de comprobaciones algorítmicas, se genera una señal para activar un motor eléctrico para abrir o cerrar un componente móvil.
Código de rodillo vs. código fijo control remoto RF
Los controles remotos envían una palabra clave digital al receptor. Si el receptor determina que la palabra clave es aceptable, entonces activará el relé, desbloqueará la puerta o abrirá la barrera. Los sistemas de control remoto simples utilizan una palabra clave fija; la palabra clave que abre la puerta hoy también la abrirá mañana. Un atacante con un receptor apropiado podría descubrir la palabra clave y usarla para obtener acceso en algún momento posterior. Los sistemas de control remoto más sofisticados utilizan un código rotativo (o código de salto) que cambia para cada uso. Un atacante puede aprender la palabra clave que abrió la puerta en este momento, pero el receptor no aceptará esa palabra clave en el futuro previsible. Un sistema de código rotativo utiliza métodos criptográficos que permiten que el control remoto y el receptor compartan palabras clave, pero dificultan que un atacante rompa la criptografía.
KeeLoq

El Microchip HCS301 fue en su día el sistema más utilizado en controles remotos y receptores de puertas y garajes. El chip utiliza el algoritmo KeeLoq. El sistema HCS301 KeeLoq transmite 66 bits de datos:
- 34 bits no están encriptados: un número de serie de 28 bits, 4 bits de información de botones, y 2 bits de estado (indicadores de velocidad y baja batería).
- 32 bits están encriptados (el código de grabación): 4 bits de información de botones, 2 bits de OVR (utilizados para ampliar el valor de contador), 10 bits de DISC (valor de discriminación; a menudo los 10 bits bajos del número de serie), y un contador de 16 bits. En una situación de resyncing, los 32 bits cifrados se reemplazan con un valor de semilla de 32 bits.
Como se detalla en KeeLoq, se ha demostrado que el algoritmo es vulnerable a una variedad de ataques y ha sido completamente descifrado.
vulnerabilidad de Rolljam
Un código rotativo transmitido por señal de radio que puede ser interceptado puede ser vulnerable a falsificaciones. En 2015, se informó que Samy Kamkar había construido un dispositivo electrónico económico del tamaño de una billetera que podía ocultarse en un vehículo cerrado o cerca de él para capturar un único código de entrada sin llave que se utilizaría 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 rotativo del mando a distancia del propietario, mientras que registra estas señales de sus dos intentos necesarios para desbloquear el vehículo. El primer código grabado se reenvía (reproduce) al vehículo solo cuando el propietario realiza el segundo intento, mientras que el segundo código grabado se conserva para su uso futuro. Kamkar afirmó que esta vulnerabilidad era ampliamente conocida desde hacía años y estaba presente en muchos tipos de vehículos, pero que no se había demostrado anteriormente. Se realizó una demostración durante DEF CON 23.
Referencias
- ^ Microchip (2001), HC301 KeeLoq Code Hopping Encoder (PDF), Microchip Technology Inc., DS21143B
- ^ "Puerta de control remoto no razones de trabajo". 4 de noviembre de 2021.
- ^ Thompson, Cadie (2015-08-06). "Un hacker hizo un gadget de $30 que puede desbloquear muchos coches que tienen entrada sin llave". Tech Insider. Retrieved 2015-08-11.
- ^ Kamkar, Samy (2015-08-07). "Drive It Like You Hacked It: New Attacks and Tools to Wirelessly Steal Cars". DEF CON 23. Retrieved 2015-08-11.
Enlaces externos
- Cómo funciona la entrada remota; cita un ataque exitoso contra KeeLoq.
- Nota de aplicación de Atmel Inc. AVR411