protocolo de bloqueo inteligente

2

Hice un proyecto de Arduino para bloquear y desbloquear mi puerta a través de mi teléfono (con Bluetooth). Funciona bien, pero no es seguro ya que solo envío el comando de bloqueo y desbloqueo en texto sin cifrar, sin autenticación ni cifrado. Me gustaría agregar autenticación a esto para que solo yo pueda entrar a la casa. Debería poder dar acceso a amigos / familiares y revocar el acceso de forma remota (sin estar en el rango de Bluetooth). También me gustaría dar acceso a otras personas (por ejemplo, a la señora de la limpieza) ("cada miércoles de 1 a.m. a 5 p.m."). Como me gustaría hacerlo de forma remota, creo que necesitaría un servidor.

Recuerdo el protocolo Kerberos de mi clase de criptografía que parece que haría el trabajo. Pero esto parece excesivo y no lo suficientemente ligero. No estoy seguro de si Kerberos es el camino a seguir y si hay otros protocolos por ahí que se ajusten a mis necesidades.

Busqué en línea para ver qué protocolos utilizan los candados comerciales (como August, Lockitron) pero no pude encontrar mucha información sobre esto.

    
pregunta Nimyz 09.03.2015 - 14:35
fuente

1 respuesta

1

Podría usar criptografía asimétrica para firmar los comandos. Luego puede usar la autenticación de clave pública para verificar si los comandos fueron firmados por alguien que está en la lista de permitidos.

Cada usuario debe generar un par de claves en su aplicación y usted debe importar su clave pública. También puede revocar el acceso eliminando su clave pública de la lista de acceso. Solo se dará acceso si puede verificar un mensaje firmado con una clave pública asociada a un usuario.

Debe asegurarse de asegurar su solicitud con un nonce durante la respuesta de desafío, de lo contrario se puede usar un ataque de repetición.

    
respondido por el Lucas Kauffman 09.03.2015 - 15:30
fuente

Lea otras preguntas en las etiquetas