La implantación de la seguridad integrada en los dispositivos IoT embebidos
A fin de ayudar a los desarrolladores de sistemas embebidos a poner en marcha funciones de seguridad sólidas y fiables en los nuevos diseños, los proveedores de semiconductores ofrecen marcos y funciones de seguridad de hardware. Por ejemplo, Secure Vault de Silicon Labs y STM32Trust de STMicroelectronics.
Tanto SecureVault como STM32Trust cuentan con el nivel 3 de certificación de Platform Security Architecture (PSA). La PSA es una asociación para la certificación industrial fundada originalmente por ARM, pero se ha convertido en una iniciativa de colaboración de ámbito global entre empresas de semiconductores, organizaciones de certificación y laboratorios de evaluación para la seguridad integrada.
La imagen 5 muestra todas las características disponibles en Secure Vault, desde los elementos de cifrado básicos hasta las medidas correctivas DPA más avanzadas y las funciones seguras para la gestión de claves.
STM32Trust (véase la imagen 6) ofrece un conjunto de funciones similar. Las características disponibles en los microcontroladores de cada proveedor dependen del dispositivo.
Los conceptos básicos de seguridad integrada en los dos marcos son, básicamente, el mismo, aunque cada proveedor puede implementar una característica concreta de un modo específico.
Por ejemplo, el arranque seguro de Secure Vault con raíz de confianza utiliza el código de arranque inicial desde la ROM inmutable y de rango cerrado del dispositivo. Un jáquer no puede cambiar el código de arranque que hay en el circuito integrado del CI, así que los desarrolladores pueden confiar en esta fase de arranque con un grado muy elevado de fiabilidad.
El código de la ROM se considera la raíz de confianza y permite validar la firma de la siguiente sección de código que se vaya a cargar. Esto se denomina cargador de arranque de primera etapa (véase la imagen 7). A continuación, esta primera etapa valida la firma del cargador de arranque de la segunda etapa, y antes comprueba si hay actualizaciones firmadas disponibles. El cargador de arranque de la segunda etapa también comprueba si hay actualizaciones OTA firmadas para el código de la aplicación antes de ejecutarlo.
Otra función de Secure Vault es la prevención de retroceso, que garantiza que solo puedan funcionar en el dispositivo actualizaciones de firmware nuevas y firmadas. Gracias a esta función, evitamos que un jáquer que conozca las vulnerabilidades de las versiones más antiguas de firmware las cargue para aprovecharse de ello y entrar en el dispositivo.
ST emplea distintos métodos de monitorización de sistemas que ofrecen protección para la gestión de situaciones anómalas, como la detección avanzada de manipulación en la apertura de carcasas de productos, vías de alimentación con una tensión más baja de lo normal, la desconexión del reloj externo, los ataques de alimentación diferencial, etc. También se supervisa la temperatura del dispositivo. En conjunto, estos métodos de detección nos ayudan a ver si un jáquer está intentando crear una condición de error o hacer que el CI entre en un modo en el que sea más vulnerable. Algunos de los mecanismos de respuesta programables ante posibles vectores de ataque de manipulación son las interrupciones, los reinicios o la eliminación de clave secreta.
STM32Trust y Secure Vault protegen los puertos de depuración y otras interfaces periféricas contra los ataques. Estos puertos e interfaces ofrecen acceso a los recursos del dispositivo, como la memoria, la CPU y los registros. La depuración en un sistema integrado es algo esencial en cualquier diseño, pero el acceso a los puertos de depuración suele estar bloqueado para proteger el dispositivo.
La protección de la memoria SRAM integrada es otra función esencial en STM32Trust, y permite eliminar la SRAM automáticamente si se detecta un evento anómalo.
Tanto STM32Trust como Secure Vault cuentan con un generador de números aleatorios con certificación NIST (National Institute of Standards and Technology). Un generador eficaz es un requisito esencial para cualquier proceso de cifrado. Si no fuese verdaderamente aleatorio, los jáqueres podrían descubrir la secuencia, lo que ocasionaría un protocolo de seguridad vulnerable a ataques.
La protección de los dispositivos IoT embebidos
Es absolutamente imprescindible que añadamos un elevado nivel de seguridad a los sistemas embebidos. La mayoría de los desarrolladores de este tipo de sistemas pueden sentirse abrumados ante esta tarea y temer que les vaya a llevar mucho tiempo.
Sin embargo, los proveedores de semiconductores, como Silicon Labs y ST, han desarrollado marcos de seguridad de hardware y firmware con certificación PSA para sus microcontroladores, lo que simplifica enormemente el proceso. Si implementamos la seguridad integrada con la ayuda de uno de estos marcos, aceleraremos los ciclos de diseño para que el desarrollador pueda mantenerse centrando en las tareas principales de la aplicación de los dispositivos IoT embebidos.