En octobre 2017, ARM dévoilait sous le nom de PSA (Platform Security Architecture) un framework fondé sur les meilleures pratiques de l’industrie en matière de sécurité (dixit le Britannique) avec l’idée d’instiller des principes de protection contre les menaces au sein de l’architecture ARM, tant au niveau matériel qu’au niveau firmware. ...Afin que l’écosystème de l’Internet des objets puisse appréhender les avantages potentiels du framework PSA, ARM comptait fournir début 2018 une implémentation open source d’un premier firmware conforme aux spécifications PSA (Trusted Firmware-M) qui ciblerait plus particulièrement les équipements bâtis autour de microcontrôleurs ou puces-systèmes à architecture ARMv8-M. Une architecture qui, rappelons-le, étend la technologie de sécurité TrustZone, jusqu’alors réservée aux cœurs de microprocesseur Cortex-A, aux microcontrôleurs à cœur Cortex-M.
A l’occasion du salon Embedded World qui s’est tenu fin février, le fabricant de semi-conducteurs Cypress a justement annoncé la disponibilité de Trusted Firmware-M sur ses microcontrôleurs PSoC 6. Lancé en 2017, ces derniers reposent sur une architecture hétérogène à double cœur ARM Cortex-M4 et Cortex-M0+ et embarquent un environnement d'exécution de confiance au niveau matériel (TEE, Trusted Execution Environment) avec une procédure de démarrage sécurisée et un stockage fiabilisé des données pour la protection du firmware, des applications et des paramètres importants comme les clés cryptographiques.
« Grâce aux caractéristiques de sécurité intégrées dans nos microcontrôleurs PSoC 6 et à notre collaboration avec ARM, nous avons pu rapidement assurer la prise en charge du Trusted Firmware-M, a précisé Sudhir Gopalswamy, senior vice-président en charge de la division Microcontrôleurs et Connectivité de Cypress. Nous pouvons donc proposer aux concepteurs une solution sécurisée qui est à la fois flexible et ultrasobre et qui adhère aux principes PSA. »
Les microcontrôleurs PSoC 6 disposent de trois niveaux de protection gravés dans le silicium, assure Cypress. Le premier est donc l’environnement d’exécution isolé pour les applications de confiance qui s’appuie sur un cœur ARM Cortex-M0+ spécifique. Le deuxième niveau de sécurité est assuré par une fonctionnalité d’élément sécurisé qui héberge les procédures de racine de confiance, tandis que le troisième niveau de protection est fourni par l’isolation de cheque application de confiance, l’ensemble permettant de réduire la surface d’attaque vis-à-vis des menaces extérieures. La protection est renforcée par un générateur de vrais nombres aléatoires TRNG et des accélérateurs cryptographiques, tandis que le cœur Cortex-M4 offre un modèle de programmation propre pour l’environnement d’exécution riche voué aux applications non sécurisées.
L’exemple de référence Trusted Firmware-M actuellement disponible pour le PSoC 6, aligné sur la version actuelle de l’architecture ARM v8-M, permet quant à lui d’implémenter une isolation fondée sur les ressources matérielles entre les environnements d’exécution sécurisé et non sécurisé via la configuration des unités de protection de la mémoire et des périphériques. Il permet également d’utiliser les services sécurisés de mbed OS. De futures versions assureront l’amorçage sécurisé de plusieurs images et prendront en charge le jeu complet des API PSA, et notamment l’installation d’une racine de confiance avec fonctions d’élément sécurisé, indique Cypress.
Précisons que, si ce dernier est le premier à faire une annonce officielle autour de Trusted Firmware-M, d’autres fabricants de semi-conducteurs se sont engagés dès 2017 à soutenir le framework PSA à l’instar de Microchip, Nuvoton, NXP, Renesas, Silicon Labs et STMicroelectronics.