Comment choisir un RoT abordable pour une sécurité IoT maximale

Nœud source: 1442950
Sécurité IoT intégrée
Illustration: © IoT For All

Les appareils Edge sont les appareils IoT les plus courants déployés chaque année, mais chaque appareil Edge ajoute un point d'accès potentiel pour un pirate informatique. Ces appareils périphériques sont généralement des capteurs qui collectent des données, telles que la température ou l'emplacement, puis se connectent à des réseaux locaux pour envoyer les données à un service cloud ou à un serveur interne. Avec le grand nombre d'appareils de périphérie et l'accès qu'ils offrent aux réseaux, l'importance de leur sécurité ne peut être sous-estimée.

La sécurité des appareils IoT commence avec le microcontrôleur. De nombreuses protections doivent être intégrées au microcontrôleur, telles qu'un démarrage immuable sécurisé et une résistance aux falsifications. Pour communiquer en toute sécurité avec un appareil connecté, une autre exigence clé est l'authentification de l'appareil, c'est-à-dire une preuve d'identité. Cette identité doit être unique. Une fois l'identité établie et prouvée, un lien de communication sécurisé peut être construit. Le lien est crypté à l'aide de clés cryptographiques. L'identité de l'appareil et ses clés cryptographiques sont toutes deux dérivées de nombres aléatoires que nous appelons « graines ». Ensemble, un microcontrôleur sécurisé, une identité unique et des clés cryptographiques forment une racine de confiance (RoT). Le RoT est le fondement de la sécurité au sein d'un réseau IoT.

Comment le RoT est intégré dans une puce à semi-conducteur

Il existe deux méthodologies fondamentales pour créer le RoT dans un microcontrôleur. Le plus courant utilise un ordinateur externe appelé module de sécurité matériel (HSM). Il s'agit d'un ordinateur dédié à la génération de nombres aléatoires et de clés cryptographiques, ainsi qu'à la gestion de ces clés. Les clés sont générées à l'extérieur du microcontrôleur et elles y sont programmées – un processus appelé « injection de clé » – à l'aide d'une interface de programmation. Il y a généralement des problèmes de sécurité avec l'injection de clé dans la mesure où l'interface ne peut souvent pas être chiffrée.

L'autre méthodologie est celle où la puce elle-même génère des valeurs uniques et les convertit en clés cryptographiques. Typiquement, le microcontrôleur peut utiliser des variations physiques aléatoires qui surviennent pendant le processus de fabrication pour générer des graines aléatoires. Ces variations de processus sont appelées fonctions physiques non clonables ou PUF. Les PUF génèrent des graines aléatoires, qui peuvent ensuite être converties en identités et clés cryptographiques par un accélérateur de génération de clés, une fonction de circuit périphérique déjà intégrée au microcontrôleur.

En savoir plus sur l'injection de clé

L'injection de clé peut être relativement coûteuse en raison de la nécessité d'un équipement de programmation spécialisé. Habituellement, cela est fourni par une maison de programmation spécialisée qui utilise des programmeurs étroitement liés aux HSM. Parce que vous traitez avec un tiers, cela introduit un risque de sécurité et la méthodologie va à l'encontre des dernières recommandations des experts en sécurité, qui consistent à adopter une approche de sécurité zéro en évitant l'implication de tiers.

Les clés injectées doivent être stockées en mémoire à l'intérieur de l'appareil. Ils sont généralement stockés dans une mémoire non volatile, puis protégés par une technologie de sécurité matérielle à l'intérieur du microcontrôleur. Par exemple, la technologie TrustZone d'Arm divise l'environnement d'exécution en mémoire, périphériques et fonctions sécurisés et non sécurisés. Même avec de telles mesures en place, les clés peuvent être vulnérables à la lecture par des personnes malveillantes, car elles se trouvent simplement dans la mémoire flash standard de l'appareil. Une autre vulnérabilité est que les clés sont souvent transférées vers des appareils via un lien non crypté, ce qui peut les exposer à des attaques.

Comment les PUF éliminent certains des risques de sécurité

Regardons les PUF plus en détail. Le SRAM PUF est un bon exemple de la technologie PUF de première génération. La SRAM est intégrée dans la plupart des microcontrôleurs et microprocesseurs. Lorsque vous mettez ces puces sous tension, les cellules SRAM prennent chacune un état zéro ou un. L'état dans lequel ils s'installent dépend de minuscules variations physiques de la plaquette de silicium. Les variations sont aléatoires et sont utilisées pour créer les graines qui peuvent être utilisées pour générer des clés cryptographiques. La SRAM d'un appareil devient l'empreinte digitale de ce microcontrôleur et lui confère une identité unique. Étant donné que les PUF SRAM utilisent une technologie de mémoire déjà présente dans un microcontrôleur, vous n'avez besoin que d'un logiciel pour piloter le PUF.

La mémoire flash est un autre type de PUF. La mémoire flash est à nouveau déjà disponible dans la plupart des microcontrôleurs. Les cellules flash sont « programmées » en les sur-contraignant au point qu'un certain claquage se produit dans la couche isolante en oxyde de silicium des grilles des transistors à l'intérieur de chaque cellule mémoire. En raison du décalage entre les deux transistors qui composent chaque cellule flash, vous obtiendrez soit un un, soit un zéro. Vous avez besoin d'une haute tension pour induire la rupture de l'oxyde de grille dans ce type de technologie, il y a donc une phase de programmation initiale, mais une fois le programme terminé, vous obtenez des données aléatoires dans cette cellule flash, que vous pouvez lire. Cela nécessite une certaine préparation, mais profite encore une fois de la technologie qui est déjà dans le microcontrôleur ou le microprocesseur.

Les avantages et les inconvénients de ces technologies PUF de première génération

Regardons d'abord la variante SRAM. Un avantage majeur est que vous n'avez pas à injecter de clés dans le microcontrôleur. Les graines pour générer des clés sont créées par la SRAM elle-même, qui est déjà dans la puce. Les clés ne sont pas stockées en mémoire mais dans la constitution physique des cellules SRAM. Cela rend la puce difficile à pirater.

La technologie SRAM PUF est utilisée par plusieurs fabricants de semi-conducteurs, notamment Intel, Microsemi, NXP et Xilinx. Cependant, la technologie a des limites, dont l'une est qu'il n'y a généralement qu'une seule graine générée. Si vous voulez plusieurs clés cryptographiques, vous devez les générer à partir de cette graine commune, ce qui signifie qu'elles sont mathématiquement corrélées et intrinsèquement moins sécurisées que si cette relation n'existait pas.

Un autre compromis est que les cellules ne démarrent pas toujours dans le même état préféré. Cela signifie que vous avez besoin d'une correction d'erreur pour vous assurer que la graine que vous souhaitez créer à partir des cellules est stable et reproductible. Le degré de répétabilité dépend du fabricant de mémoire spécifique et parfois l'entropie, ou le degré d'aléatoire, d'un PUF basé sur SRAM peut être médiocre. La résistance à l'attaque est discutable. Étant donné que l'identité se trouve à l'intérieur d'une cellule SRAM, vous voyez des courants circuler et, par conséquent, la cellule pourrait être sujette à une attaque par canal latéral, où la mesure du flux de courant ou d'un autre phénomène électrique peut être utilisée pour lire l'état de chaque cellule. Les PUF SRAM souffrent également d'un temps de configuration relativement long lors de la mise sous tension, laissant le microcontrôleur et l'appareil IoT qu'il pilote, susceptibles d'être attaqués pendant cette période.

Considérons maintenant les PUF de mémoire flash. Encore une fois, vous n'avez pas besoin d'injecter de clés dans l'appareil et des graines sont créées dans la mémoire flash qui se trouve déjà dans le microcontrôleur. Une fois les graines programmées dans la mémoire, vous pouvez les extraire avec une faible latence à l'aide d'une simple lecture. Le processus n'a pas besoin de correction d'erreur car une fois la cellule flash programmée, son état ne varie pas.

Bien sûr, le stockage des graines en mémoire peut signifier qu'elles sont susceptibles d'être attaquées et un autre inconvénient des PUF à mémoire flash est la surcharge de la zone de silicium supplémentaire due à la nécessité d'une pompe de charge, qui est nécessaire pour introduire des tensions élevées dans le processus pour rompre la couche d'oxyde du semi-conducteur. Comme les PUF SRAM, les PUF de mémoire flash ne sont pas basés sur un bloc de circuit de sécurité dédié et autonome. La mémoire flash étant réutilisée, elle n'est pas disponible pour d'autres fonctions. Il y a aussi un temps de configuration relativement long car il faut programmer la mémoire pour provoquer la rupture de la couche d'oxyde.

Comment les PUF de deuxième génération améliorent la sécurité de l'IoT

Les PUF de deuxième génération sont des blocs IP en silicium spécialement conçus pour la sécurité et optimisés pour les processus CMOS standard. Ils comprennent généralement une matrice de cellules de 64 sur 64 qui est intégrée au processus CMOS de chaque appareil à partir duquel une empreinte digitale est extraite. La nature aléatoire de cette empreinte digitale est basée sur les positions atomiques et les imperfections des nanostructures dans la couche d'oxyde de silicium des transistors CMOS du réseau. Les circuits au sein d'IP mesurent le courant d'effet tunnel quantique à travers la couche d'oxyde de chaque paire de transistors. La nature probabiliste et aléatoire du courant tunnel génère les uns et les zéros de l'empreinte digitale. Les courants mesurés sont de l'ordre du femto ampères. Les variations de ces courants génèrent les nombres aléatoires qui sont utilisés pour produire des identités de puce uniques, immuables et non clonables, à partir desquelles des clés cryptographiques peuvent également être créées à la demande.

Ces PUF de deuxième génération offrent la sécurité la plus élevée possible. Premièrement, ils présentent une entropie élevée ou un caractère aléatoire. Ceci est garanti parce que vous mesurez un effet quantique probabiliste. Ils produisent plusieurs clés non corrélées dans le tableau de 64 x 64 cellules et les clés sont générées à la demande, elles n'ont donc pas besoin d'être stockées en mémoire où elles seraient susceptibles de fuites.

Des tests indépendants de la technologie montrent qu'elle peut être sécurisée contre toutes les méthodes d'attaque connues et prendre en charge la certification de sécurité EAL de niveau 4. Une version est également certifiée PSA en tant que PSA Level Two Ready. Bien entendu, comme leurs homologues SRAM et mémoire flash, les PUF de deuxième génération éliminent le besoin d'injection de clé et les risques de sécurité impliqués dans ce processus. L'IP a une petite empreinte en silicium pour maintenir les coûts au minimum et des taux d'erreurs faibles qui sont facilement compensés par un petit algorithme de correction d'erreurs qui consomme un minimum de surcharge du processeur. Des puces de test éprouvées sont disponibles aujourd'hui et les principales sociétés de semi-conducteurs annonceront leur adoption de ce PUF de deuxième génération en tant que technologie racine de confiance dans les mois à venir.

L'auteur a créé une vidéo expliquant plus sur la racine de confiance, qui peut être visionnée ici :

Source : https://www.iotforall.com/how-to-choose-an-affordable-rot-for-maximum-iot-security

Horodatage:

Plus de IOT pour tous