Mando a distancia para puerta
II
II
Modo dialogo con formula
Arduino
Arduino
En el anterior montaje Mando a distancia para puerta , había realizado un mando a distancia en el cual se mandaba los códigos sin ninguna seguridad.
Cualquier que se dedique a escuchar en el canal en el que transmite el mando, podrá descubrir el código.
En este montaje utilizamos el mismo circuito a nivel de llave y de puerta que el anterior, pero el programa se cambia radicalmente.
Ahora se produce un diálogo entre la llave y la puerta, impidiendo que la escucha pueda descubrir el código, los códigos se cambian en cada petición.
Esquema de puerta y mando.
Diagrama del dialogo entre llave y puerta.
Los códigos de pregunta en la puerta se sacan del tiempo de funcionamiento del arduino.
time = millis();
x=time & 0xFF;
y= 0xFF & (time>>8);
Los códigos de respuesta se sacan de una fórmula.
codigo=x*y*CODIGO2+CODIGO2;
x= codigo & 0xFF;
y= codigo>>8 & 0xFF;
La formula se puede cambiar a gusto del programador para hacerla aún más segura.
Esta formula debe ser la misma en la llave y en la puerta.
La variable CODIGO2 se saca de los micro-interruptores , como es normal deberá ser el mismo en la llave y en la puerta.
Información de la llave ======================= | Información de la puerta ======================== |
__LLAVE Código___ 4 Pulsado Botón de Apertura Respuesta a la pregunta ___LLAVE Código___ 12 Pulsado Botón de Apertura Respuesta a la pregunta | Petición de apertura Código pregunta 173 47 Respuesta 16 127 Respuesta solicitada 48 125 ERROR Petición de apertura Bodigo pregunta 64 98 Respuesta 12 38 Respuesta solicitada 12 38 CORRECTO |
Como podemos ver este modo es mucho más seguro que el mandar el código simplemente.
Aseguramos de que si hay alguien escuchando en el canal, no le servirá de nada.
Tampoco me he metido mucho en asegurar la seguridad por fuerza bruta, solo he metido retardos para hacerlo más difícil.
PROGRAMA
Hasta pronto.
Juan Galaz
No hay comentarios:
Publicar un comentario