Cómo asegurar dispositivos de IoT basados en microcontroladores con autenticación de huellas dactilares

Por Bill Giovino

Colaboración de Editores de DigiKey de América del Norte

Los diseñadores se encuentran bajo una presión cada vez mayor para garantizar que su producto o sistema sea seguro, especialmente si se va a conectar a la Internet de las cosas (IoT). Ciberataques muy publicitados han demostrado la vulnerabilidad de las contraseñas y la facilidad con la que se pueden copiar los códigos de Número de Identificación Personal (PIN) y se pueden robar las credenciales basadas en la comunicación de campo cercano (NFC). Los diseñadores deben elevar la apuesta de seguridad y, al mismo tiempo, mantener las riendas del costo y el tiempo de diseño. La identificación de huellas dactilares (ID) es una forma de lograr ambos objetivos.

Sin embargo, la ejecución de la seguridad de la huella digital, por lo general, ha sido un desafío. Los detalles técnicos del diseño de un sistema de escaneo de huellas dactilares desde cero con un microcontrolador o procesador de señal digital (DSP) que contiene firmware de identificación de huellas dactilares, procesamiento y acondicionamiento de datos y comunicación con el host, pueden ser complejos con una curva de aprendizaje significativa.

Afortunadamente, ahora existen hardware y software que pueden hacer todo el trabajo duro de un sistema de reconocimiento de huellas dactilares. Este artículo explicará los conceptos básicos del reconocimiento de huellas dactilares antes de introducir el SEN0188, una unidad autocontenida de registro y verificación de huellas dactilares de DFRobot que puede interactuar con cualquier microcontrolador host que tenga una interfaz de receptor/transmisor asíncrono universal (UART).

El artículo luego mostrará cómo usar el SEN0188 para agregar seguridad de identificación de huellas dactilares a una instalación que usa una red IoT para hacerlo más resistente a la piratería o ataques físicos.

Conceptos básicos de identificación de huellas dactilares

Las huellas dactilares son una impresión de las crestas de fricción que se encuentran en los dedos de las manos y los pulgares de cada mano, lo que facilita el agarre y la sujeción de objetos. En parte como resultado del ADN y en parte como un proceso aleatorio, los patrones de huellas dactilares son exclusivos de un individuo en particular, con la probabilidad de que dos personas tengan las mismas huellas dactilares siendo extremadamente bajas. Incluso las huellas dactilares de gemelos idénticos son diferentes. Por esta razón, la identificación de huellas dactilares es un excelente método de detección para sistemas de alta seguridad.

Los sistemas de identificación de huellas dactilares se dividen en dos operaciones: inscripción y verificación. La inscripción de huellas dactilares es el proceso por el cual se identifica y almacena una huella digital limpia para su uso posterior. La huella se escanea una o más veces con un escáner especializado y luego se digitaliza. La huella digitalizada se analiza para asegurarse de que sea una huella digital válida. Si la huella dactilar es válida, se almacena en una memoria no volátil, como flash o EEPROM, junto con información de identificación personal de la persona, como un número de identificación, nombre y número de credenciales. Si la huella no es válida, entonces el dedo debe ser escaneado nuevamente.

La verificación de huellas dactilares es el proceso por el cual se escanea una huella limpia para verificar las huellas digitales almacenadas en la memoria no volátil. El sistema de escaneo indicará al host si la huella escaneada coincide con una huella válida almacenada en la memoria, o si la coincidencia no es válida.

Seguridad de acceso con IoT.

El IoT es la red de muchos sistemas que antes eran independientes. Algunos de estos sistemas requieren seguridad media, como escuelas y empresas. Sin embargo, las intrusiones ilegales en algunos sistemas críticos, como en plantas de tratamiento de agua y las redes eléctricas, pueden tener efectos devastadores y, por lo tanto, requieren una mayor seguridad. Para estos sistemas, los desarrolladores siempre buscan mejores formas de garantizar la seguridad con un costo mínimo, ya que muchos de los dispositivos IoT son económicos por su diseño. En casos tales, la identificación de huellas se puede agregar fácilmente junto con las credenciales de seguridad.

La ventaja de IoT en estas redes es que la notificación de los resultados de un escaneo de huellas se puede transmitir a través de la red. Si se detecta un acceso no autorizado, puede sonar una alarma o, en casos extremos, la red de IoT puede bloquear todos los sistemas e incluso realizar una llamada telefónica a las autoridades.

La inscripción de huellas dactilares para la identificación de seguridad se realiza mejor en presencia de un técnico o profesional de seguridad para garantizar que se realice correctamente. Tanto el escáner como el dedo deben estar limpios. El técnico debe verificar positivamente la identidad de la persona que va a ser escaneada. Una vez que la inscripción sea exitosa, el profesional de seguridad puede agregar cualquier información adicional, como el nombre de la persona o el número de identificación del empleado.

Los detalles técnicos relacionados con el diseño, desde cero, de un sistema de escaneo de huellas dactilares, han hecho que su implementación sea prohibitiva para muchos diseñadores con un presupuesto ajustado. Ahora, hardware estándar como el sensor de huellas dactilares SEN0188 de DFRobot, una unidad de verificación y registro de huellas dactilares autónomas, puede hacer todo el trabajo duro de un sistema de reconocimiento de huellas dactilares (Figura 1).

Figura 1: La unidad del sensor de huellas dactilares SEN0188 de DFRobot contiene todo el hardware y firmware necesarios para registrar y verificar las huellas dactilares. Se comunica con un microcontrolador a través de una interfaz UART. (Fuente de la imagen: DFRobot)

El SEN0188 puede operar de 3.8 a 7.0 voltios y consume un máximo de 130 miliamperios (mA). Tiene una temperatura de funcionamiento amplia de -20 °C a + 60 °C y puede soportar hasta un 80 % de humedad relativa, lo que lo hace adecuado para muchos entornos exteriores.

Al observar la Figura 1, un usuario coloca su dedo en el sensor óptico de huellas dactilares de la izquierda. Se tarda menos de un segundo en adquirir una imagen de huella digital para la inscripción o verificación. Cada huella se almacena en la memoria flash interna como un archivo de plantilla de 512 bytes. El flash interno del SEN0188 puede almacenar hasta 1000 huellas dactilares.

Se puede acceder al UART del SEN0188 en la parte inferior del sensor (Figura 2).

Figura 2: Las conexiones UART se encuentran en la parte inferior del sensor de huellas dactilares SEN0188 de DFRobot. (Fuente de la imagen: DFRobot)

En el encendido, la velocidad de transmisión predeterminada del SEN0188 es de 57600 bits por segundo (bps). Esto se puede ajustar entre 9600 bps y 115200 bps. La conexión UART utiliza las siguientes señales:

Número PIN Nombre de la señal Dirección Descripción
1 VTOQUE - No conecta
2 SSALIDA - No conecta
3 VENTRADA ENTRADA Potencia en (3.8 a 7.0 voltios)
4 TD (Tx)
Salida UART transmite datos
5 RD (Rx)
Entrada UART recibe datos
6 GND   Señal a tierra

Tabla 1: El pinout para el SEN0188 utiliza una conexión UART asíncrona para comunicarse con un host. (Fuente de la tabla: DFRobot)

La interfaz UART también puede conectarse al software de DFRobot en una PC o computadora portátil, lo que puede ayudar en el desarrollo de un sistema de huellas dactilares, incluyendo la depuración de la inscripción y el firmware de verificación.

Uso del SEN0188 al DFRobot en un sistema de microcontrolador

Para un sistema de microcontrolador autónomo, el SEN0188 debe conectarse a una placa que tenga un microcontrolador suficientemente potente y un indicador visual del estado de una huella digital colocada en el sensor. El kit Discovery STM32F7308-DK de STMicroelectronics tiene todas las características requeridas de un sistema de identificación de huellas dactilares autónomo. Se utiliza un potente microcontrolador STM32F730I8K6, que se basa en un núcleo ARM® Cortex®-M7. La placa se llena con un oscilador de 25 megahercios (MHz) para el reloj de alta velocidad y un oscilador de 32.768 kilohercios (kHz) para el reloj de baja velocidad. Es compatible con 64 kilobytes (Kbytes) de memoria flash del programa en chip, 64 MB adicionales (Mbytes) de memoria flash externa y 256 Kbytes de SRAM del sistema.

Para soporte y comunicaciones periféricas, tiene múltiples interfaces seriales, incluidas tres interfaces I2C y cinco interfaces SPI. También tiene cuatro UART/USART, lo que le permite comunicarse fácilmente con el SEN0188. Cuando se alimenta a 3.6 voltios, el microcontrolador STM32F730I8K6 es compatible con la interfaz de nivel lógico TTL del sensor de huellas dactilares de DFRobot.

La placa Discovery viene con una placa subordinada compatible con Arduino™ (Figura 3). Si bien esta placa puede ser útil durante el desarrollo, no es necesaria para esta aplicación de identificación de huellas dactilares y se puede desconectar de la placa principal.

Figura 3: La placa Discovery STM32F7308-DK de STMicroelectronics tiene todas las características necesarias para un sistema de identificación de huellas dactilares autónomo. La placa adjunta en la parte superior izquierda es compatible con las placas subordinadas Arduino, mientras que el conector ESP-01 en la parte inferior derecha funciona con cualquier placa ESP8266 compatible. (Fuente de la imagen: STMicroelectronics)

También tiene una pantalla LCD TFT de 240 x 240 que se puede utilizar para proporcionar una indicación visual de un paso o fallo de la huella digital.

Para conectarse a una red Wi-Fi, el kit Discovery STM32F7308-DK tiene un zócalo para conectarse a cualquier placa de Wi-Fi ESP8266 estándar de la industria. Por ejemplo, el WRL-13678 es una tarjeta compatible con ESP8266 de SparkFun Electronics (Figura 4).

Figura 4: El SparkFun Electronics WRL-13678 es una placa compatible con ESP8266, con un conector de cabecera ESP-01. Se conecta a la placa Discovery de STMicroelectronics para proporcionar un fácil acceso a Wi-Fi. (Fuente de la imagen: SparkFun Electronics)

La placa se conecta al conector ESP-01 en la esquina inferior derecha de la placa Discovery que se muestra en la Figura 3. El WRL-13678 tiene su propia antena a bordo y permite que la placa Discovery se conecte fácilmente a una red Wi-Fi de 2.4 gigahertz (GHz).

En un sistema de seguridad de IoT en red con Wi-Fi, cualquier acceso o rechazo de seguridad se puede transmitir a cualquier nodo de IoT. Esto puede ser útil para permitir el acceso a áreas o sistemas adicionales que están altamente restringidos. Por ejemplo, si se solicita acceso a un área altamente restringida dentro de una instalación, pero el escáner de huellas dactilares no ha registrado e informado a nadie con esa autorización, entonces el sistema puede clasificar este intento como una posible violación de seguridad y realizar acciones apropiadas.

No es inusual que las instalaciones con este nivel de seguridad también requieran verificación de identidad para cualquier persona que abandone la instalación. Esto no solo proporciona un registro de todas las entradas y salidas, sino que también atrapa al personal no autorizado dentro del edificio mientras se alerta a los profesionales de seguridad.

Implementando seguridad de huella digital

El sensor SEN0188 se comunica con el host de la placa Discovery de STMicroelectronics a través de la interfaz UART mediante un simple conjunto de comandos. Hay un total de 22 comandos que incluyen el registro, la verificación y la eliminación de huellas dactilares; varios comandos de búsqueda; leer y escribir directamente en la memoria flash interna; estado de lectura; y ajuste de seguridad para el sensor. El sensor también puede recuperar la imagen de mapa de bits almacenada de cualquier huella dactilar y transmitirla al host, la cual puede mostrarse por medio de la placa Discovery en su pantalla LCD TFT.

La inscripción de huellas dactilares se puede habilitar en la estación de identificación de huellas mediante un PIN o contraseña. Sin embargo, un método de inscripción más seguro es habilitarlo mediante la transmisión de un comando al punto final de IoT de la placa Discovery desde algún lugar de la red, como desde una estación de seguridad. Alternativamente, un dispositivo móvil, como un teléfono o una tableta, puede usarse para autorizar la inscripción. El éxito de la inscripción también se puede verificar en el dispositivo móvil.

El área del sensor óptico de huellas dactilares en el SEN0188 tiene una luz LED de fondo que el host puede encender y apagar fácilmente mediante los comandos OpenLED y CloseLED. Esto puede ser útil en un entorno seguro al encender el sensor de huellas dactilar solo cuando el sistema está listo para aceptar una huella. La retroiluminación se puede apagar durante un evento de seguridad para indicar que no se aceptará ningún acceso en ese momento, ni siquiera por personal autorizado.

La trama UART predeterminada SEN0188 utiliza un bit de inicio, 8 bits de datos y un bit de parada. El bit menos significativo (LSB) de datos se transmite primero. Al encenderse, el SEN0188 tarda 300 milisegundos (ms) en iniciarse y ejecutar una autoprueba. Luego, transmite un byte de 55 h al host para indicar que está listo. El host también puede enviar un comando GetEcho al sensor para solicitar el código de confirmación 55 h. Si el host no recibe este byte, puede indicar un mal funcionamiento del SEN0188, una interrupción en las comunicaciones entre el SEN0188 y el host, o que el SEN0188 no está encendido.

El SEN0188 está diseñado para proporcionar un entorno seguro para la autenticación de huellas dactilares y ofrece muchas características de seguridad, incluida la protección con contraseña. La contraseña predeterminada de fábrica de cuatro bytes es 00000000 h y debe cambiarse antes de que el sistema se coloque en el campo. La contraseña se almacena en el flash interno del sensor mediante el comando de configuración de contraseña del sensor SetPwd.

Para mayor seguridad, el conjunto de comandos del sensor no incluye un comando de lectura de contraseña. Si se pierde la contraseña del sensor, el sensor SEN0188 se vuelve inutilizable: no hay reinicio de hardware o software que pueda recuperar el sensor o las huellas dactilares almacenadas.

El sensor también tiene una dirección predeterminada de cuatro bytes de FFFFFFFFh que se almacena en flash interno y también se puede cambiar al usar el comando SetAddr.

Toda la autenticación y el almacenamiento de las huellas dactilares se realizan internamente en el sensor. Esto evita la manipulación de las huellas dactilares almacenadas o el proceso de verificación.

Antes del primer uso, es una precaución de seguridad inteligente eliminar todas las huellas almacenadas en el escáner. Esto es compatible con el comando Empty, que elimina todas las plantillas de huellas dactilares almacenadas en la memoria flash interna del sensor.

Conclusión

La seguridad de acceso es una aplicación cada vez más importante para los sistemas integrados y de IoT, pero debe hacerse de manera efectiva con el equilibrio adecuado de costo, simplicidad y efectividad. Como se muestra, el sensor de huellas dactilares SEN0188 de DFRobot permite a los diseñadores crear prototipos y desarrollar rápidamente un sistema para brindar seguridad de acceso a áreas sensibles. Cuando se interconecta con el kit de descubrimiento STM32F7308-DK con una pantalla LCD TFT y la placa de conexión inalámbrica WRL-13678 de SparkFun Electronics, se puede desarrollar un sistema de seguridad que sea simple, confiable y fácil de usar.

DigiKey logo

Descargo de responsabilidad: Las opiniones, creencias y puntos de vista expresados por los autores o participantes del foro de este sitio web no reflejan necesariamente las opiniones, las creencias y los puntos de vista de DigiKey o de las políticas oficiales de DigiKey.

Información sobre el autor

Image of Bill Giovino

Bill Giovino

Bill Giovino es ingeniero electrónico con un BSEE de la universidad de Syracuse y es uno de los pocos profesionales capaz de pasar de ingeniería en diseño a ingeniería de aplicación en campo a marketing tecnológico de forma exitosa.

Durante más de 25 años, Bill ha disfrutado promocionar las nuevas tecnologías a audiencias técnicas y no técnicas por igual en muchas empresas, entre ellas STMicroelectronics, Intel y Maxim Integrated. Mientras trabajó en STMicroelectronics, Bill ayudó a dirigir los primeros éxitos de la empresa en la industria de microcontroladores. En Infineon, Bill estuvo a cargo de que el diseño del primer controlador de la empresa tuviera éxito en la industria automotriz de EE. UU. Como consultor de marketing para CPU Technologies, Bill ha ayudado a muchas empresas a convertir sus productos con bajo rendimiento en casos de éxito.

Bill fue uno de los primeros en adoptar el Internet de las cosas, incluso colocar la primera pila de TCP/IP en un microcontrolador. Bill es un ferviente creyente de "Vender a través de la educación" y de la gran importancia de contar con comunicaciones claras y bien escritas a la hora de promocionar productos en línea. Es moderador del grupo en Linkedin denominado Semiconductor Sales & Marketing (Marketing y ventas de semiconductores) y habla sobre el concepto B2E (empresa-empleado) de manera fluida.

Información sobre la editorial

Editores de DigiKey de América del Norte