EUR | USD

Garantir facilement la sécurité IoT avec des clés PUF basées SRAM et un isolement TrustZone

Par Majeed Ahmad

Avec la contribution de Rédacteurs nord-américains de Digi-Key

Les conceptions architecturées sur l'Internet des objets (IoT) sont de plus en plus complexes et exigent des solutions optimisées afin de garantir la sécurité du système et de contrôler les attaques incessantes, locales et à distance. Cependant, l'adoption de la sécurité sur les dispositifs IoT à ressources limitées est lente et limitée à des bricolages logiciels approximatifs ou, au contraire, à des puces onéreuses et hautement sophistiquées basées sur des algorithmes de cryptographie complexes. Les développeurs ont besoin d'une solution plus complète, tout en étant plus simple d'utilisation, s'ils veulent adopter et implémenter plus rapidement cette sécurité.

Des technologies comme les fonctions physiques inclonables (PUF) basées sur mémoire vive statique (SRAM) ou encore TrustZone d'Arm ont émergé et évolué pour répondre aux besoins de sécurité des développeurs IoT et de systèmes embarqués. Cet article présente les technologies PUF et TrustZone, ainsi que leur application à l'aide de solutions proposées par NXP Semiconductors, Microchip Technology et Maxim Integrated.

Technologie PUF SRAM

La technologie PUF SRAM, solution d'authentification légère alternative à la cryptographie traditionnelle, est intégrée aux puces axées sur la sécurité, comme celles de la gamme LPC55S6x de NXP, auxquelles elle ajoute fiabilité et provisionnement (Figure 1).

Schéma fonctionnel de la gamme de microcontrôleurs LPC55S6x de NXPFigure 1 : Le schéma fonctionnel de la gamme de microcontrôleurs LPC55S6x montre l'intégration d'éléments fonctionnels de sécurité comme la technologie PUF basée sur SRAM. (Source de l'image : NXP)

La technologie PUF est différente d'un stockage de clés traditionnel dans une mémoire non volatile où les fabricants OEM injectent des clés de sécurité selon une méthodologie conventionnelle basée sur fusibles ou selon des techniques de mémoire programmable une seule fois (OTP). Au lieu de cela, la technologie PUF se sert des variations électriques aléatoires et naturelles, inhérentes aux cellules binaires SRAM, et transforme cette « empreinte » unique en clé cryptographique secrète servant de base à un sous-système de sécurité. Cette clé sécurisée haut de gamme peut être reconstituée sous la même forme de clé cryptographique à chaque fois et en toutes circonstances. Cette approche présente plusieurs avantages :

  • La nécessité d'une clé tierce dans les environnements potentiellement dangereux est éliminée
  • Le système de stockage et de provisionnement des clés n'a pas à être chargé au moment de la production de la puce
  • Il peut être installé à un stade ultérieur de la chaîne d'approvisionnement ou peut même être adapté sur des dispositifs déjà déployés
  • Sans accès physique à une puce SRAM individuelle, le déchiffrement de ces clés de sécurité devient une tâche presque impossible
  • Les clés ne sont générées que si nécessaire et ne sont pas stockées dans le système
  • Le fait que la clé ne soit pas stockée de façon permanente ni présente lorsque le dispositif est désactivé rend très compliquée, pour un pirate, toute tentative de compromettre physiquement le contenu de la mémoire

TrustZone d'Arm

Optimisée pour les applications embarquées ultrabasse consommation, la technologie TrustZone, disponible dans les plateformes de traitement Cortex®-M23 et Cortex-M33 d'Arm, place les routines essentielles en termes de sécurité (comme le code d'amorçage, la configuration sécurisée, les clés de sécurité, les bibliothèques de cryptage et les mises à jour micrologicielles) dans un environnement protégé (Figure 2). Dans un microcontrôleur TrustZone, par exemple, le code stratégique est entièrement testé après sa séparation des importantes piles de code pour éviter qu'il ne soit touché par un bug généré par les développeurs.

Schéma de TrustZone de NXP permettant plusieurs domaines de sécurité logicielleFigure 2 : TrustZone permet plusieurs domaines de sécurité logicielle, chacun autorisant l'accès à la mémoire sécurisée et aux E/S uniquement aux environnements logiciels de confiance. (Source de l'image : NXP)

En ce qui concerne le code et les données confidentielles, TrustZone garantit leur sécurité en isolant les composants essentiels de la conception logicielle et en exécutant le logiciel sur un superviseur matériel dans un environnement protégé en lecture et en écriture à partir d'un logiciel de niveau utilisateur.

TrustZone permet aux développeurs de diviser la mémoire en régions sécurisées et non sécurisées, de sorte que même une tentative de débogage peut être bloquée pour le code et les données sécurisés si elle n'est pas authentifiée. En outre, un processeur non sécurisé peut uniquement accéder aux données à partir d'une mémoire non sécurisée et donc uniquement s'exécuter à partir d'une mémoire programme non sécurisée.

Il est important de noter que TrustZone fournit ces fonctions de sécurité tout en préservant de faibles temps de latence d'interruption pour les domaines sécurisés et non sécurisés. Par ailleurs, la technologie n'impose pas de surcharge relative au code ou au cycle, ni même la complexité d'une solution basée sur la virtualisation.

Implémentation physique des technologies PUF et TrustZone

Pour pouvoir implémenter des fonctions PUF dans ses microcontrôleurs LPC55Sxx, NXP a intégré une propriété intellectuelle matérielle — ainsi que des bibliothèques logicielles associées — d'Intrinsic ID, inventeur de la technologie PUF (Figure 3). La propriété intellectuelle matérielle embarquée d'Intrinsic ID, QuiddiKey, gère la génération de clés, le stockage des clés, l'authentification des dispositifs, le provisionnement de clés et les ressources de la puce.

Schéma de la propriété intellectuelle matérielle intégré de NXP et des bibliothèques logicielles associées d'Intrinsic IDFigure 3 : Pour pouvoir implémenter des fonctions PUF dans ses microcontrôleurs LPC55Sxx, NXP a intégré une propriété intellectuelle matérielle ainsi que des bibliothèques logicielles associées d'Intrinsic ID. L'IP traite la génération et la gestion des clés. (Source de l'image : Intrinsic ID)

NXP a également adopté TrustZone pour ses microcontrôleurs LPC55Sxx. L'approche orientée processeur de la sécurité IoT de TrustZone crée un isolement entre les composants sécurisés et non sécurisés de la conception embarquée.

Par exemple, comme dans les microcontrôleurs SAM L10/11 de Microchip Technology, TrustZone offre une protection à l'échelle du système, où les conceptions IoT peuvent être divisées en états sécurisés ou non sécurisés. Cependant, les codes sécurisés et non sécurisés sont exécutés sur un seul processeur pour une implémentation embarquée efficace.

Cette approche orientée processeur est importante, car la quantité de logiciels augmente rapidement dans les microcontrôleurs modernes, avec des piles de protocoles servant des technologies de connectivité comme Wi-Fi, Bluetooth et TLS. Cette base de code croissante augmente significativement l'exposition d'un dispositif IoT à des attaques malveillantes. Par exemple, dans des maisons et bâtiments intelligents, une pile de protocoles corrompue peut rendre les serrures, commandes de porte de garage et caméras de sécurité connectées hautement vulnérables.

Cependant, si les développeurs IoT déplacent le code stratégique vers un environnement TrustZone protégé, même un bug dans une pile de protocoles tierce n'aura pas de conséquences graves sur la fonctionnalité du dispositif.

Sécurité au niveau de la carte

Une autre tendance claire dans le paradigme de la sécurité IoT concerne la disponibilité des conceptions de référence qui simplifient les communications périphérie-à-périphérie et cloud-à-périphérie en surmontant les complexités liées aux protocoles de sécurité et de communication. La conception de référence MAXREFDES155# DeepCover® de Maxim Integrated et la carte de développement PIC®-IoT WG AC164164 de Microchip en sont une illustration parfaite.

Dans la conception de sécurité MAXREFDES155#, un shield mbed™ d'Arm est connecté à un point d'extrémité de capteur à l'aide d'un câble de 300 millimètres (mm). Le point d'extrémité de capteur est composé d'un authentificateur sécurisé DS28C36 DeepCover, d'un capteur thermique infrarouge (IR) et d'un laser de visée pour le capteur IR (Figure 4).

Schéma de la conception de référence de sécurité IoT embarquée MAXREFDES155# DeepCover de Maxim IntegratedFigure 4 : La conception de référence de sécurité IoT embarquée MAXREFDES155# DeepCover de Maxim Integrated est composée d'un shield mbed d'Arm, d'un point d'extrémité de capteur connecté via I2C et d'une connectivité cloud via Wi-Fi. (Source de l'image : Maxim Integrated)

La puce de sécurité DS28C36 fournit deux broches entrée/sortie à usage général (GPIO) authentifiées avec contrôle d'état sécurisé et détection de niveau en option. Les développeurs IoT peuvent ainsi surveiller et limiter l'utilisation des périphériques avec des paramètres EEPROM authentifiés et un compteur de décrémentation 17 bits. La puce DS28C36 permet de simplifier les applications d'authentification bidirectionnelle, de stockage sécurisé de données système comme des clés cryptographiques, de vérification de données stratégiques, d'amorçage sécurisé et de contrôle d'utilisation du produit final.

Le shield mbed dans la conception de référence MAXREFDES155# inclut un coprocesseur de sécurité DeepCover, la communication Wi-Fi, un écran à cristaux liquides (LCD), des commandes à boutons-poussoirs et des diodes électroluminescentes (LED) d'état. La conception de référence utilise la carte de développement mbed MAX32600MBED# pour des tests immédiats, tandis que le circuit Wi-Fi du shield simplifie la communication avec le serveur Web.

Dans la conception MAXREFDES155#, un coprocesseur de sécurité sur le shield mbed sert d'auxiliaire à la puce d'authentificateur DS28C36. Il simplifie les exigences relatives aux calculs du code HMAC et de l'algorithme ECDSA associés aux opérations de sécurité de la puce DS28C36.

Le coprocesseur fournit un ensemble d'outils cryptographiques destinés à aider les concepteurs IoT à implémenter des moteurs de cryptographie et à intégrer un générateur de nombres véritablement aléatoires (RNG) FIPS/NIST (Federal Information Processing Standards/National Institute of Standards and Technology). Les clés de sécurité publiques et privées fonctionnent selon les normes définies par le NIST, notamment la norme FIPS 186, le mécanisme ECDSA de génération et vérification des signatures qui prend en charge un modèle d'authentification des clés asymétrique et bidirectionnel.

Simplification de la sécurité des liaisons cloud

La carte de développement PIC-IoT WG AC164164 de Microchip présente des éléments similaires, mais se concentre sur la simplification de la liaison du nœud IoT avec des plateformes cloud comme Google Cloud. Basée sur les microcontrôleurs PIC de la société, la plateforme de développement utilise le coprocesseur ATECC608A pour corriger les vulnérabilités de sécurité qui vont de pair avec les grandes structures logicielles et les plateformes RTOS (système d'exploitation en temps réel).

La carte AC164164 est une plateforme de conception IoT dans laquelle la sécurité de la liaison périphérie-à-cloud est assurée grâce à un élément sécurisé pré-enregistré pour le service Google Cloud IoT Core et prêt à l'emploi avec le provisionnement sans intervention. En plus du coprocesseur de sécurité ATECC608A, la carte de développement comprend le microcontrôleur PIC24FJ128GA705, qui gère les applications complexes avec moins de code et une consommation énergétique inférieure.

Un contrôleur Wi-Fi IoT IEEE 802.11b/g/n entièrement certifié relie le nœud IoT à Google Cloud. Par conséquent, les développeurs IoT n'ont pas besoin d'être des experts en protocoles réseau sans fil, en sécurité et en compatibilité matérielle pour réaliser une conception de produit IoT sécurisée.

Conclusion

La disponibilité de puces de sécurité spécialisées, qui jouent le rôle de puces auxiliaires auprès du processeur principal ou du microcontrôleur dans les conceptions IoT, permet aux développeurs de sécuriser les nœuds IoT et les liaisons vers les points d'extrémité et les plateformes cloud, sans nécessiter une expertise en matière de sécurité. L'intégration de technologies complémentaires, notamment PUF et TrustZone, renforce les performances de sécurité de ces microcontrôleurs économiques basse consommation à mesure que les exigences en matière de sécurité IoT augmentent.

De plus, les conceptions de référence et les cartes de développement simplifient davantage l'équation de sécurité en utilisant plusieurs niveaux de protection embarquée dans une grande variété d'applications IoT.

Avertissement : les opinions, convictions et points de vue exprimés par les divers auteurs et/ou participants au forum sur ce site Web ne reflètent pas nécessairement ceux de Digi-Key Electronics ni les politiques officielles de la société.

À propos de l'auteur

Majeed Ahmad

Majeed Ahmad est ingénieur électronicien et affiche plus de 20 ans d'expérience en médias technologiques B2B. Il est l'ancien rédacteur en chef d'EE Times Asia, une publication d'EE Times.

Majeed a écrit six livres sur l'électronique. Il contribue aussi fréquemment à des publications de conception électronique, notamment All About Circuits, Electronic Products et Embedded Computing Design.

À propos de l'éditeur

Rédacteurs nord-américains de Digi-Key