Implementation of a Smart Authentication System for Home Security based on NFC and Facial Recognition
Resumen
Este proyecto consiste en un sistema inteligente de autenticación de personas para la entrada a una vivienda compartida. Hay dos métodos de identificación: por NFC y reconocimiento facial. El sensor NFC detecta tags de NFC con una identificación que envía al controlador de acceso (una placa SmartFusion). Éste procesa la credencial y envía un mensaje encriptado por RSA al servidor web que corre el hub de LoRa. La comunicación inalámbrica se realiza por medio del transmisor LoRa que está conectado al controlador. Una vez el identificador ha sido procesado en el servidor, se envía de nuevo un mensaje encriptado indicando si el identificador facilitado se encuentra en la whitelist o blacklist de usuarios, procediendo así con el desbloqueo o bloqueo de la puerta, respectivamente. En caso de que la credencial facilitada no se encuentre en ninguna de las listas, se solicita permiso remoto a algún usuario de la whitelist. De esta forma, el sistema permite el desbloqueo de la puerta de forma remota a invitados. Por otro lado, el algoritmo de reconocimiento facial se ejecuta en una Raspberry Pi, que se conecta a la SmartFusion por UART. El código está escrito en Python y se utiliza la librería de Computer Vision de OpenCV para implementar el algoritmo. En este caso se ha escogido el método de Patrones Locales Binarios para realizar el reconocimiento de caras. En caso de que la persona no se reconozca, se toma una foto y se envía a los usuarios de la casa como medida de prevención. Una vez que las personas son reconocidas, se indica al controlador de acceso por mensaje encriptado en XTEA que puede proceder con la apertura. De esta forma, se consigue un sistema de acceso que no requiere el uso de llaves convencionales. This project consists of a smart authentication system for entering a shared home/apartment. There are two identification methods: NFC and facial recognition. The NFC sensor performs reads until it detects a NFC tag. The ID is sent to the access controller (a SmartFusion board), which process the credentials and sends an RSA encrypted message to the web server application that runs on the LoRa hub. The wireless communication is done using the LoRa transceiver, which is connected to the SmartFusion. Once the ID has been processed in the server, it is sent back again using RSA encryption and LoRa technology. The message contains the response that will make the access controller block or unlock the door, depending on whether the ID belongs to a whitelist or blacklist user. If the ID does not belong to either, a remote authorization is requested to the whitelist users. Hence, this system allows the door to be unlocked remotely. On the other hand, the face recognition algorithm runs on a Raspberry Pi, which is connected to the access controller through UART. The conde is written in Python and uses Computer Vision OpenCV library. In this case, Local Binary Patterns Histograms (LBPH) was chosen to implement the facial recognition algorithm. If the person is not identified, a picture of the potential intruder is taken and sent to the owners via email as a preventive measure. Once the person is recognized, the Raspberry Pi communicates over a XTEA encrypted channel with the SmartFusion to let it know whether or not the door can be opened. Thus, the access system implemented does not require the use of conventional keys.
Trabajo Fin de Grado
Implementation of a Smart Authentication System for Home Security based on NFC and Facial RecognitionTitulación / Programa
The project consists of the design of a embedded system capable of managing home entries via two-factor authentication: the door can only be unlocked either via NFC or facial recognition. The system has both blacklists and whitelists to outright deny or accept people, depending upon the ID provided by the NFC sensor and LBPH facial recognition algorithm. The access controller is connected to the internet via LoRa technology to allow ID verification requests, door status checks in real time, and remote access requests.Materias/ categorías / ODS
IEM-N (KL0-electronica)Palabras Clave
NFC, LoRa, Reconocimiento Facial, LBPH, SmartFusion, Raspberry PiNFC, LoRa, Facial Recognition, LBPH, SmartFusion, Raspberry Pi