Página principal


Mando a distancia para puerta
II

Modo dialogo con formula
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
www.000webhost.com