Un código variable (o, a veces, llamado código de salto ) se utiliza en los sistemas de entrada sin llave para evitar ataques de repetición , donde un fisgón registra la transmisión y la reproduce en un momento posterior para hacer que el receptor se "desbloquee". Estos sistemas son típicos de los abre-puertas de garaje y los sistemas de entrada de automóviles sin llave.
Técnicas
- PRNG común ( generador de números pseudoaleatorios ), 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 "siguiente" con su código "siguiente" calculado.
- Una implementación típica se compara dentro de los siguientes 256 códigos en caso de que el receptor pierda algunas pulsaciones de tecla transmitidas.
Aplicación en control remoto RF
Un transmisor de código variable es útil en un sistema de seguridad para proporcionar una transmisión de radiofrecuencia (RF) cifrada segura que comprende un código fijo de bits trinarios intercalados y un código variable. Un receptor demodula la transmisión de RF cifrada y recupera el código fijo y el código variable. Al comparar los códigos fijos y rotatorios con los códigos almacenados y al determinar que la señal ha emanado de un transmisor autorizado, se genera una señal para accionar 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 controles remotos envían una palabra de código digital al receptor. Si el receptor determina que la palabra de código es aceptable, entonces el receptor activará el relé, desbloqueará la puerta o abrirá la barrera. Los sistemas de control remoto simples utilizan una palabra de código fija; la palabra clave que abre la puerta hoy también abrirá la puerta 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 variable (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 variable utiliza métodos de cifrado que permiten que el control remoto y el receptor compartan palabras en clave, pero dificultan que un atacante rompa el cifrado.
KeeLoq
El Microchip HCS301 fue una vez el sistema más utilizado en el control remoto y los receptores de garajes y portones. El chip utiliza el algoritmo KeeLoq. El sistema KeeLoq HCS301 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 botón y 2 bits de estado (indicadores de batería baja y repetición).
- 32 bits están encriptados (el código variable): 4 bits de información de 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 más bajos del número de serie) y un 16 -contador de bits. [1] En una situación de resincronización, los 32 bits cifrados se reemplazan por un valor de inicialización de 32 bits.
Vulnerabilidad Rolljam
Un código variable transmitido por señal de radio que pueda 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 de una billetera que podía ocultarse en un vehículo cerrado o cerca de él para capturar un código de entrada sin llave que se usaría posteriormente para desbloquear el vehículo. El dispositivo transmite una señal de interferencia para bloquear la recepción del vehículo de las señales de código variable desde el llavero del propietario, mientras graba 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 hace el segundo intento, mientras que el segundo código grabado se conserva para uso futuro. Kamkar afirmó que desde hace años se sabía que esta vulnerabilidad estaba presente en muchos tipos de vehículos, pero que anteriormente no se había demostrado. [2] Se realizó una demostración durante DEF CON 23. [3]
Referencias
- ^ Microchip (2001), Codificador de salto de código KeeLoq HC301 (PDF) , Microchip Technology Inc., DS21143B
- ^ Thompson, Cadie (6 de agosto de 2015). "Un hacker fabricó un dispositivo de $ 30 que puede desbloquear muchos autos que tienen acceso sin llave" . Tech Insider . Consultado el 11 de agosto de 2015 .
- ^ Kamkar, Samy (7 de agosto de 2015). "Conduce como si lo hubieras pirateado: nuevos ataques y herramientas para robar coches de forma inalámbrica" . DEF CON 23 . Consultado el 11 de agosto de 2015 .
enlaces externos
- Cómo funciona la entrada remota ; cita un ataque exitoso a KeeLoq.
- Nota de solicitud de Atmel Inc. AVR411