Introducción a la TrustZone en ARM Cortex-M

Publicado por Oravatec en

La TrustZone es una tecnología de ARM orientada a mejorar la seguridad de los sistemas embebidos. Aunque la TrustZone ya estaba soportada por los procesadores Cortex-A, en la Arquitectura ARMv8-M se ha dado soporte también a los microcontroladores Cortex-M.

Los microcontroladores con TrustZone permiten aislar de manera segura el software en dos zonas: la segura e insegura. Así permiten implementar aplicaciones que mezclan servicios seguros e inseguros en un sólo microcontrolador.

Proveen un punto de partida para establecer una root of trust de acuerdo con las directrices de la platform security architecture (PSA). La PSA es un sistema para securizar dispositivos[1]. La root of trust es la base donde se asume confianza en un sistema. Es uno de los elementos necesarios en los dispositivos para poder realizar operaciones seguras.

La inclusión de la TrustZone en los Cortex-M viene empujada especialmente por el auge del mercado de dispositivos IOT donde cada vez más es necesario ofrecer actualizaciones seguras y proteger datos sensibles.

Algunas aplicaciones que podemos realizar con la TrustZone son: securizar las actualizaciones de firmware, proteger información sensible, aislar periféricos, cifrar comunicaciones, etc.

Características

Ejemplo TrustZone
Diagrama de uso de la TrustZone en un microcontrolador STM32L5.

Flexibilidad. Permite configurar qué parte del sistema quieres securizar: interrupciones, periféricos de debug, memoria… También permite aislar el software granularmente en 2 ejes: de confianza y privilegiado.

Simplicidad. Escoge un microcontrolador con Trustzone y listo, no tienes que preocuparte del hardware.

Accesibilidad. Puedes implementar dispositivos con TrustZone sin apenas cambios en el modelo de programación. Además, está soportado por muchos RTOS, compiladores y herramientas de debug.

Microcontroladores disponibles

Actualmente ARM ofrece los siguientes núcleos que usan la arquitectura ARMv8-M con TrustZone:

De los M35P y M55 no hay microcontroladores anunciados aun. Puedes consultar la tabla comparativa de los ARM Cortex-M con más detalle (en inglés).

Conclusiones

La TrustZone es una tecnología de ARM que permite establecer una root of trust en dispositivos seguros conforme a la PSA. Lo hace diviendo el software en una parte segura y otra insegura sin necesidad de núcleos ni de microcontroladores adicionales. Actualmente hay disponibles microcontroladores Cortex-M23 y Cortex-M33. Algunas de sus aplicaciones son el cifrado de datos y securización de actualizaciones de firmware.


[1]: Arm Platform Security Architecture Overview.


¡No te pierdas nada!


Desarrollo de productos electrónicos | Diseño electrónico | Software embebido y firmware | Fabricación electrónica e industrialización de productos