TrustZone es una extensión de seguridad basada en hardware desarrollada por ARM para sus procesadores Cortex-A y Cortex-M. Su principal función es crear un aislamiento robusto entre dos entornos de ejecución lógicos, conocidos como 'Secure World' y 'Normal World', que coexisten en el mismo núcleo de procesamiento. Esta separación se logra mediante un bit de estado (Secure bit) que determina a qué mundo pertenece la ejecución actual y controla el acceso a recursos de hardware específicos, como memoria, periféricos y criptoaceleradores. El Secure World está diseñado para ejecutar código y datos altamente sensibles, como claves criptográficas, biometría o DRM, mientras que el Normal World ejecuta el sistema operativo principal (ej. Linux, Android) y las aplicaciones de usuario, con un acceso restringido a los recursos seguros.
La implementación de TrustZone es fundamental en una amplia gama de dispositivos modernos. Es la base de la seguridad en la mayoría de los smartphones Android y iOS (a través de Secure Enclave en Apple, que comparte principios similares), donde protege datos biométricos (huellas dactilares, reconocimiento facial), claves de cifrado, y la ejecución de pagos móviles. También se utiliza en dispositivos IoT para asegurar actualizaciones de firmware, proteger credenciales y garantizar la integridad del dispositivo. En el ámbito empresarial, se encuentra en algunos servidores y dispositivos de red para proteger claves de arranque seguro (Secure Boot) y módulos de seguridad de hardware (HSM) basados en software, ofreciendo una raíz de confianza (Root of Trust) para el sistema.
Para un arquitecto de sistemas, TrustZone es crucial porque ofrece una solución de seguridad basada en hardware que puede mitigar ataques sofisticados que el software por sí solo no puede. Permite diseñar sistemas con una 'cadena de confianza' (Chain of Trust) desde el arranque, protegiendo la integridad del software y los datos críticos. Sin embargo, su implementación introduce complejidad: requiere un diseño cuidadoso de la interfaz entre el Normal World y el Secure World (Secure Monitor Call - SMC), y el desarrollo de Trusted Applications (TAs) para el Secure World, que a menudo son más difíciles de depurar y actualizar. La elección de usar TrustZone implica un trade-off entre la seguridad reforzada y la complejidad de desarrollo, así como la necesidad de considerar el rendimiento y el consumo de energía en el Secure World, que debe ser lo más minimalista posible para reducir la superficie de ataque.