Renforcer la sécurité grâce au provisionnement sécurisé
Les clés de sécurité constituent le socle de la sécurité d'un système, et la protection des clés privées et autres secrets est l'une des exigences les plus importantes de tout dispositif connecté. Malheureusement, même en protégeant vos clés de sécurité grâce à plusieurs couches de protection dans vos conceptions, une sécurité laxiste lors du chargement des clés et du micrologiciel à l'étape de la production peut miner les préparations les plus minutieuses.
Des attaques bien documentées ciblant les infrastructures et les systèmes connectés ont mis en lumière les vulnérabilités de sécurité sous-jacentes qui peuvent apparaître lors de la création de solutions complexes de technologie opérationnelle (OT). Dans les applications critiques comme la santé, l'industrie, les transports et l'énergie, la violation des mesures de sécurité expose non seulement les données sensibles, mais compromet également l'exécution sécurisée de l'application elle-même.
À mesure que les consommateurs équipent leur domicile et leur bureau avec une multitude de dispositifs Internet des objets (IoT), les failles de sécurité de ces dispositifs deviennent plus personnelles. Il n'est pas étonnant que les concepteurs de dispositifs considèrent toujours l'implémentation de la sécurité comme l'une de leurs inquiétudes principales lors du développement.
La bonne nouvelle, c'est qu'il existe des solutions.
Dispositifs et kits de sécurité
La disponibilité de puces de sécurité spécialisées et de processeurs avec option de sécurité a considérablement simplifié l'implémentation de la sécurité dans les dispositifs. Peut-être mieux encore, leur exécution matérielle d'algorithmes cryptographiques empêche les attaques axées sur les mécanismes de sécurité logiciels qui frappent les systèmes plus traditionnels. La plupart de ces puces et de ces processeurs intègrent un stockage matériel des clés sécurisées et tirent parti de ces clés protégées pour offrir une base de confiance matérielle, nécessaire pour garantir une sécurité de bout en bout. Cependant, le processus de chargement (ou de « provisionnement ») des clés dans ces dispositifs matériels implique souvent des humains, ce qui peut exposer les secrets par accident ou de manière intentionnelle, créant ainsi une ouverture que les hackers peuvent utiliser lors des attaques par ingénierie sociale qui restent très efficaces.
De nombreux fabricants et distributeurs de semi-conducteurs proposent un service de provisionnement sécurisé qui se charge de cette étape critique à l'aide de modules de sécurité matériels (HSM) conçus avec des systèmes de sécurité qui assurent une protection contre les intrusions physiques ou électroniques. Toutefois, le provisionnement en usine n'est pas toujours disponible ou peut être inadapté en raison d'exigences internes, et les développeurs de dispositifs IoT sont confrontés à un autre défi : charger de manière sécurisée un micrologiciel de confiance sur leurs dispositifs. Heureusement, il existe quelques solutions alternatives.
L'une des solutions les plus directes laisse complètement de côté le provisionnement de clés. Les dispositifs comme le DS28E38 de Maxim Integrated, dans la gamme DeepCover de la société, sont conçus avec la technologie ChipDNA de Maxim Integrated basée sur du matériel avec fonction physique inclonable (PUF). Ces dispositifs avec fonction PUF génèrent eux-mêmes une identité unique utilisée pour créer des clés privées qui sont inaccessibles via les broches de dispositifs externes.
Les systèmes de développement comme le kit Zero Touch Secure Provisioning de Microchip Technology (AT88CKECC-AWS-XSTK-B-ND) incluent la puce d'authentification ECC508 de Microchip, pré-configurée pour le provisionnement avec les identifiants nécessaires pour connecter un dispositif IoT à Amazon Web Services (AWS).
Mais qu'en est-il du provisionnement de clés privées et de micrologiciels de microcontrôleur de confiance dans des conceptions personnalisées qui ne peuvent pas utiliser d'identités générées de manière autonome et basées sur la fonction PUF ?
Provisionnement sécurisé
Dans certains cas, les développeurs peuvent utiliser les environnements de développement des fabricants de microcontrôleurs pour générer et provisionner ces ressources sur les microcontrôleurs pris en charge. Par exemple, l'outil de provisionnement sécurisé MCUXpresso de NXP Semiconductors permet aux développeurs d'accéder au kit de développement logiciel (SDK) de provisionnement sécurisé open-source de l'entreprise via une interface graphique ou des scripts de ligne de commande (Figure 1).
Figure 1 : L'outil de provisionnement sécurisé MCUXpresso de NXP Semiconductors offre des interfaces compatibles avec son kit de développement logiciel de provisionnement sécurisé open-source. (Source de l'image : NXP Semiconductors)
STMicroelectronics propose une solution conçue pour aider les développeurs à protéger le code et les données des conceptions créées à l'aide des processeurs STM32 de l'entreprise lorsqu'ils font appel à des sous-traitants tiers. Les développeurs génèrent ainsi une image cryptée à l'aide de l'outil logiciel STM32 Trusted Package Creator et stockent une clé secrète sur la carte à puce HSM STM32HSM de STMicroelectronics. À la réception de l'image cryptée et de la carte à puce HSM, le sous-traitant utilise l'outil STM32 Cube Programmer pour provisionner en toute sécurité des clés et un micrologiciel sur les dispositifs STM32 comme x et y prenant en charge SFI (Figure 2).
Figure 2 : Les développeurs peuvent utiliser le logiciel STM32 Trusted Package Creator de STMicroelectronics et une carte à puce HSM STM32HSM pour transférer de manière sécurisée des ressources aux fabricants tiers. (Source de l'image : STMicroelectronics)
Pour le développement avec d'autres dispositifs, IAR Systems propose son outil Secure Desktop Provisioner, intégré à son environnement IAR Embedded Workbench. Développé avec son unité commerciale Secure Thingz, l'outil Secure Desktop Provisioner fait partie d'un flux de développement qui s'étend du développement sécurisé au prototypage, à la production et aux mises à jour ultérieures (Figure 3).
Figure 3 : Le flux de développement d'IAR Systems permet aux conceptions de provisionner un micrologiciel et des clés de développement sur des prototypes, puis de transférer des ressources de manière sécurisée vers l'étape de fabrication, où les clés de développement sont remplacées par des clés de production. (Source de l'image : Renesas)
En travaillant dans l'environnement IAR Embedded Workbench, les développeurs peuvent utiliser l'outil logiciel Secure Desktop Provisioner pour provisionner des clés et un micrologiciel lors des étapes préliminaires du prototypage. Lorsque la conception est prête pour la fabrication initiale et la production en volume, les ressources liées au micrologiciel sont transférées aux partenaires de fabrication et les clés de développement sont remplacées par des clés de production sécurisées qui sont provisionnées à l'aide d'un appareil sécurisé.
Conclusion
Pour implémenter des systèmes connectés sécurisés comme des dispositifs IoT, les développeurs ont non seulement besoin d'utiliser des processeurs et des puces de sécurité spécialisés, mais doivent aussi protéger les clés secrètes et le micrologiciel de confiance sous-jacents. Heureusement, il existe diverses solutions qui permettent de protéger ces ressources lors de la phase cruciale de production qu'est le provisionnement.
Have questions or comments? Continue the conversation on TechForum, DigiKey's online community and technical resource.
Visit TechForum




