En los sistemas de entrada sin llave se utiliza un código variable (o a veces llamado código de salto ) 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.
La contraseña de un solo uso basada en HMAC, ampliamente utilizada 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 .
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. [ cita requerida ]
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.
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 KeeLoq HCS301 transmite 66 bits de datos:
Como se detalla en KeeLoq , se ha demostrado que el algoritmo es vulnerable a una variedad de ataques y ha sido completamente destruido .
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 llavero 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. [3] Se realizó una demostración durante DEF CON 23. [4]