La seguridad es la clave para tener éxito en las aplicaciones de IoT (Internet de las cosas) basadas en MCU | DigiKey
Colaboración de Electronic Products
2015-04-29
A medida que se expande el IoT (Internet de las cosas), hay una mayor preocupación por cómo proteger la cantidad masiva de datos transmitida y almacenada por los dispositivos de IoT. Los MCU que admiten cifrado estándar, el descifrado y los algoritmos de autenticación pueden ayudar a mitigar las inquietudes sobre la seguridad de los datos. Además, es cada vez más importante proteger los dispositivos de IoT de alteraciones que pueden revelar información de seguridad importante, como claves de seguridad, para inhabilitar las medidas de seguridad. Los MCU que admiten protección del código, detección de alteraciones y otras capacidades de seguridad avanzadas pueden proteger a los dispositivos de estos tipos de ataques invasivos.
Este artículo revisará rápidamente las capacidades de seguridad clave de los MCU que debe buscar en los diseños orientados a IoT. Una vez que entienda algunas de las capacidades comunes, puede buscar la implementación que le ofrecerá la mejor opción para su próximo diseño. Describiremos algunos ejemplos de dispositivos orientados a la seguridad para ilustrar mejor el uso de características de seguridad clave en las aplicaciones de IoT.
Conceptos básicos sobre la seguridad de IoT
El conjunto de aplicaciones de salud y acondicionamiento físico es uno de los de mayor crecimiento para los dispositivos de IoT portátiles. Puede medir fácilmente su frecuencia cardíaca durante el entrenamiento, guardar los datos de perfil para planificar mejor su régimen de ejercicios e incluso buscar señales de advertencia temprana de enfermedad o estrés. El control de la diabetes se puede manejar más fácilmente con dispositivos de IoT prácticos y portátiles, y pronto será posible medir el nivel de sangre a través de medios no intrusivos con aplicaciones de detección avanzada. La disponibilidad de todos estos datos personales relacionados con la salud es una ventaja para mantenerse saludable, pero administrar el acceso a estos datos será fundamental para la privacidad personal. Es probable que no quiera que nadie tenga acceso a datos que se puedan utilizar como un detector de mentiras en tiempo real, solo por mencionar un simple ejemplo.
Por lo tanto, si quiere proteger los datos de IoT, ya sea para mantener la privacidad de sus datos personales sobre su salud, su información financiera o incluso solo su ubicación durante el día, los dispositivos que utilice deberán implementar algunas medidas de seguridad. Afortunadamente, existen varios protocolos y algoritmos de seguridad estándar que se pueden utilizar para proteger de modo eficaz los datos durante la transmisión y mientras estén almacenados en un dispositivo de IoT. Los dispositivos periféricos especializados están disponibles para ayudar a implementar algunas de las funciones de seguridad más útiles. Incluso algunos de los MCU más recientes incluyen implementaciones de estas funciones comunes en chip. Las funciones de seguridad más comunes se relacionan con el cifrado de los datos de los mensajes, de manera que alguien que escuche una transmisión de datos no podrá entender el mensaje, el descifrado de datos de los mensajes mediante una clave secreta que solo el destinatario deseado conoce y la autenticación de los datos de los mensajes para comprobar que ninguna persona los manipuló al usurpar la identidad de un emisor autorizado. Estas funciones criptográficas estándar forman la base de casi todas las técnicas de seguridad exitosas.
Funciones criptográficas estándar
Para descifrar mensajes grandes se utilizan algunos algoritmos criptográficos estándar. Estos “algoritmos de cifrado de gran volumen” utilizan normas de la industria que se han probado durante muchos años y que se han comprobado que son extremadamente difíciles de corromper. Los algoritmos de cifrado estándar de gran volumen que debe buscar para ser compatibles con la seguridad de IoT incluyen al DES (Estándar de cifrado de datos) y al TDES (Estándar de cifrado triple de datos) (dos de los algoritmos de cifrado más viejos que todavía se utilizan) y al AES (Estándar de cifrado avanzado)-128/-192/-256 (un algoritmo de cifrado moderno más sólido). Los algoritmos de seguridad relacionados con la autenticación utilizan un enfoque al estilo CRC (Control de Redundancia Cíclica) para procesar y adjuntar un “resumen” de un mensaje que se puede incluir en el mensaje que lo protege de las modificaciones (cualquier cambio en el mensaje “invalidará” el resumen alertando de este modo al receptor de que el mensaje se ha alterado). Entre los algoritmos de autenticación estándar se incluyen: SHA-1/-256, MD-5, AES-GCM y HMAC.
Los MCU modernos empezaron a incluir aceleradores de hardware, por lo general en la forma de dispositivos periféricos especializados, para simplificar y agilizar el procesamiento de los datos sensibles para el almacenamiento o la transmisión. Por ejemplo, la familia de conectividad integrada Microchip PIC32MZ (incluido PIC32MZ1024ECH100-I/PT) tiene un motor criptográfico de hardware que acelera las funciones criptográficas comunes. Un diagrama de bloque del motor criptográfico se muestra en la Figura 1. Los procesadores criptográficos diseñados para AES, TDES, SHA y MD5, que se observan en el lateral derecho del diagrama de bloque, son administrados por la máquina de estado finito (FSM) criptográfica mediante datos locales y el almacenamiento del paquete de lectura y escritura. Un controlador DMA y las memorias duales FIFO (primero en entrar, primero en salir) proporcionan mayor almacenamiento local para facilitar el procesamiento de los datos independientemente por la unidad central de procesamiento (CPU). Esto mejora el rendimiento del sistema en general y libera la CPU para administrar funciones de nivel más alto.

Figura 1: Funciones criptográficas estándar de Microchip PIC32MZ MCU. (Cortesía de Microchip)
El rendimiento de los diversos motores criptográficos se muestra en el lado derecho de la Figura 1 y pueden utilizarse para igualar los requisitos del ancho de banda de una aplicación orientada a la IoT específica. Tenga en cuenta que el Microchip PIC32MZ alcanza más de 700 Mbps, incluso para los algoritmos más complejos, lo que lo hace una buena elección para los dispositivos que necesitan enviar conjuntos de grandes volúmenes de datos en tiempo real o para los dispositivos que almacenan datos y luego necesitan liberar los datos rápidamente, cuando están dentro del rango de un dispositivo de agregación o de almacenamiento (ambos enfoques son comunes para los concentradores de agregación de datos inteligentes y portátiles de alta gama de IoT).
Dispositivos periféricos de seguridad
En algunas aplicaciones de IoT, es posible que sea más eficiente utilizar un dispositivo periférico para administrar las funciones criptográficas y almacenar las claves de seguridad. Esto es particularmente útil si el mejor MCU para la aplicación no cuenta con ninguna función criptográfica integrada. Los dispositivos periféricos orientados a la autenticación también se pueden utilizar en dispositivos de IoT portátiles que requieren de sensores consumibles, como las tiras de sensor o almohadillas. El dispositivo periférico de bajo costo se puede integrar en el bien consumible y garantizará que este provenga de una fuente confiable, funcione con el dispositivo de medición o no haya sido utilizado más de lo permitido (seguimiento del consumo).
Por ejemplo, el Atmel ATSHA204A-SSHDA-B proporciona validación y autenticación segura para el host y las operaciones del cliente. Implementa el algoritmo de resumen SHA-256 para los estándares del código de autenticación de mensaje (MAC) y del código de autenticación de mensaje basado en resúmenes (HMAC). Un exclusivo número de serie de 72 bits garantizado ayuda a realizar un seguimiento de las unidades mientras que una memoria programable y borrable de solo lectura (EEPROM) de 4.5 Kb puede utilizarse para almacenar los datos y las claves de seguridad. Las diversas opciones de IO permiten que el dispositivo se interconecte con un MCU mediante una interfaz de cable único compatible con un Transmisor Receptor Asíncrono Universal (UART) o una interfaz compatible I2C con 1 MHz. En el modo de cable único, el dispositivo se puede alimentar a través de la señal de datos para simplificar su uso en los bienes consumibles de bajo costo.
A los fines de evaluar, probar y desarrollar las aplicaciones relacionadas con IoT, Atmel proporciona un entorno de desarrollo completo. Según se ilustra en la Figura 2, una tarjeta ATSHA204 o ATAES132 con ranuras para los dispositivos periféricos se conecta a una placa de evaluación del MCU estándar para crear un entorno de desarrollo eficiente.

Figura 2: Plataformas de desarrollo para los dispositivos Atmel ATSHA204 CryptoAuthentication. (Cortesía de Atmel)
Los dispositivos periféricos, como ATSHA204A, se pueden utilizar para diversas aplicaciones relacionadas con IoT, incluidas las siguientes:
- Antifalsificación para validar que un cliente consumible, reemplazable y desmontable es auténtico.
- Protección de firmware o medios al almacenar el código de validación utilizado en tiempo de arranque para prevenir modificaciones no autorizadas o descifrar los archivos de medios descargados.
- Intercambio de claves de sesión para que un motor criptográfico de hardware del MCU complementario las utilice para administrar los canales de comunicación confidenciales.
- Almacenamiento de pequeñas cantidades de datos de manera segura en chip para la configuración, la calibración y el consumo de datos.
- Verificación y validación de las contraseñas y la configuración de intercambios seguros con otros subsistemas conectados.
MCU seguro con memoria FRAM
Incluso, algunos MCU están utilizando una tecnología de memoria avanzada para crear un método de almacenamiento todavía más seguro para asegurar los datos. Los dispositivos Texas Instruments MSP430FR5969 usan FRAM para almacenar códigos y datos en chip. Esta tecnología de memoria ferromagnética ofrece un acceso de lectura y escritura mucho más rápido a la memoria no volátil que las tecnologías flash tradicionales. Debido a que los datos de operación se pueden almacenar en una FRAM no volátil sin penalizaciones de rendimiento, los datos sensibles que deben guardarse entre los ciclos de energía se pueden administrar de modo más simple y seguro. De hecho, las funciones de protección de memoria avanzada se encuentran disponibles para eliminar la posibilidad de acceso a la memoria externa a segmentos específicos de la memoria. Solo los programas autorizados pueden tener acceso a estos segmentos de la memoria, lo que protege los datos sensibles de la piratería y alteraciones.
Los MCU MSP430FR5969 también proporcionan un motor de aceleración de AES que puede acelerar todavía más el procesamiento de los datos seguros. El bloque de acelerador de AES, que se muestra en la ampliación del diagrama de bloque del MCU en la Figura 3 abajo, procesa las funciones de cifrado entre 168 ciclos y 234 ciclos según el “sentido” de AES que se procesa. La inclusión de la memoria de clave y de estado AES local dentro del acelerador y el uso de DMA para las operaciones comunes en modo cifrado, reduce la necesidad de la intervención de la CPU para mejorar de modo radical la eficiencia del sistema.

Figura 3: Soporte de la función criptográfica de AES en TI MSP430FR5969 MCU. (Cortesía de TI)
Las operaciones de DMA son lo suficientemente inteligentes como para implementar el encadenamiento necesario para mover un mensaje completo a través del motor de AES sin la intervención de una CPU. Se pueden asignar diversos canales de DMA y se pueden accionar de manera automática las operaciones de cifrado de bloque (de las cuales muchas son necesarias para procesar un mensaje completo) cuando se ha procesado cada subbloque y se encuentra disponible el siguiente subbloque de datos. Solo después de que el mensaje completo se haya procesado es necesario notificar a la CPU. Esto facilita la separación entre las funciones criptográficas y las funciones regulares, y ayuda a garantizar que no haya posibilidades de “fuga” de información criptográfica que podría ayudar a un potencial pirata informático.
Arquitectura de confianza y protección contra alteraciones
Es posible que los dispositivos portátiles de IoT sean blanco de alteraciones de hardware debido a que es sencillo obtener acceso a ellos. A diferencia del equipo conectado en red tradicional, como los servidores y los interruptores, que se puede proteger de los ataques basados en el hardware al limitar el acceso al personal autorizado, será sencillo comprar dispositivos de IoT y alterarlos mediante equipo sofisticado, si el beneficio es lo suficientemente grande. Afortunadamente, los fabricantes de MCU han empezado a incorporar características de hardware específicas para ayudar a detectar e informar eventos de alteraciones que podrían detectar que un pirata informático intenta probar el MCU de manera no autorizada.
La familia Freescale Kinetis de MCU (p. ej., el MK21DX128) tiene un módulo de detección de alteraciones dedicado, que se muestra en la esquina inferior izquierda de la Figura 4, que ofrece un almacenamiento de clave segura con detección de ataque físico y de alteraciones internas y externas. El módulo de detección de alteraciones incluye diversas características de detección de alteraciones clave, como las siguientes:
- 32 bytes de almacenamiento seguro que se restablecen cuando se detecta un evento de alteración
- Registro de tiempo de alteraciones que registra el tiempo de un evento de alteración detectado
- Dos registros de alteraciones activos intercambiables que se pueden utilizar para detectar eventos de alteraciones del hardware
- Hasta 10 fuentes de alteraciones internas, incluidos el desbordamiento del contador de tiempo; el voltaje, la temperatura, y el reloj fuera de alcance; y la desactivación de seguridad de flash y la entrada de modo de prueba
- Hasta 8 clavijas de alteraciones externas capaces de generar interrupciones en un evento de alteración

Figura 4: Diagrama de bloque de Freescale Kinetis MK21DX128 MCU. (Cortesía de Freescale)
Proteger el diseño basado en el MCU de las alteraciones es una característica importante que protege del robo los datos de su cliente. La detección de alteraciones también se puede usar para garantizar que el código de su diseño, almacenado en el MCU del host, no sea sometido a ingeniería inversa o robado. Después de años de tareas de desarrollo, usted quiere que copiar su código para aprovechar su trabajo sin pagar sea lo más difícil posible para un adversario. La protección contra las alteraciones puede prevenir que su dispositivo de IoT sea copiado o clonado, y luego sea comercializado por un competidor. Proteger tanto los datos de su cliente como su diseño es fundamental para un diseño de IoT exitoso.
Conclusión
Existen numerosas razones por las que usar MCU con características de seguridad avanzada en las aplicaciones de IoT es importante. Además, la implementación de la seguridad del diseño y de los datos para asegurar los dispositivos de IoT requiere de la selección del MCU correcto. Solo un entendimiento exhaustivo de las características de seguridad clave disponibles en una variedad de MCU le permitirá seleccionar el MCU correcto para sus aplicaciones.
Para obtener más información sobre las piezas descritas en este artículo, utilice los enlaces que se proporcionan para acceder a las páginas de información del producto en el sitio web de DigiKey.
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.

