Concevoir des dispositifs IoT en périphérie sécurisés et basse consommation avec des microcontrôleurs PG23 de Silicon Labs
Avec la contribution de Rédacteurs nord-américains de DigiKey
2022-10-19
Les concepteurs de nombreuses applications Internet des objets (IoT) en périphérie grand public et industrielles, qu'il s'agisse d'interrupteurs d'éclairage, de lecteurs de compteurs, de verrous intelligents, d'onduleurs solaires ou de panneaux de sécurité, doivent trouver un équilibre approprié entre hautes performances et basse consommation, en particulier pour les conceptions alimentées par batterie, tout en garantissant la sécurité de leurs implémentations. Dans de nombreux cas, la base de ces conceptions est un microcontrôleur (MCU), et le concepteur doit évaluer avec attention celui qu'il va utiliser.
Outre une solide prise en charge de la sécurité, les facteurs à prendre en compte sont les performances du cœur de processeur, l'efficacité, la prise en charge des périphériques et des E/S, le facteur de forme global et la prise en charge de l'écosystème. Si un microcontrôleur peut répondre aux exigences de conception en termes de performances et de puissance, la mise en œuvre d'une conception sécurisée implique une courbe d'apprentissage qui peut entraîner des retards ou résulter en une implémentation insuffisante de la sécurité.
Cet article aborde brièvement les considérations de sécurité pour les dispositifs IoT en périphérie. Il présente ensuite le microcontrôleur EFM32PG23 de Silicon Labs et montre comment l'appliquer à des conceptions IoT en périphérie sécurisées, en mettant l'accent sur la basse consommation.
Problèmes de sécurité avec les dispositifs IoT
Le nombre d'attaques à distance sur des dispositifs connectés à Internet ne cesse d'augmenter. Les développeurs de systèmes embarqués pourraient être tentés de penser que leur périphérique IoT n'a pas besoin de sécurité car il ne contient « rien de précieux ». En réalité, presque tous les dispositifs contiennent des éléments pouvant avoir de la valeur pour un pirate, qu'il s'agisse de données de capteurs, de données de clients, du micrologiciel sur le dispositif ou de l'accès fourni par le dispositif en tant que porte dérobée aux réseaux connectés. La sécurité est une fonctionnalité critique qui doit être intégrée dès le départ dans chaque périphérique IoT : elle ne doit pas être ajoutée au système à la fin du cycle de conception. Sinon, le dispositif sera très vulnérable aux attaques.
Chaque périphérique IoT comporte plusieurs domaines de sécurité qui doivent être pris en compte, tels que l'identification du dispositif, sa configuration et les mises à jour logicielles/micrologicielles. La Figure 1 présente une liste des préoccupations courantes et comment chaque préoccupation se traduit par une exigence de sécurité du dispositif. Chaque exigence de sécurité est associée à une technologie souvent utilisée pour répondre à cette exigence et déjouer les attaquants potentiels.
|
Figure 1 : Les préoccupations, exigences et technologies associées en matière de sécurité que les concepteurs d'applications IoT en périphérie doivent prendre en compte sont nombreuses. (Source de l'image : Silicon Labs)
Un problème majeur pour de nombreuses équipes de systèmes embarqués qui développent des applications IoT en périphérie est qu'elles ne disposent pas d'experts en sécurité en interne. Les développeurs doivent donc soit faire de leur mieux en interne pour apprendre à intégrer la sécurité, soit faire appel à une source externe. Dans tous les cas, les coûts et les délais peuvent être astronomiques.
Il existe une alternative : l'équipe de développement peut sélectionner un microcontrôleur conçu pour la sécurité, qui fournit des solutions de sécurité prêtes à l'emploi n'exigeant que des ajustements de configuration mineurs pour l'application en question.
Présentation des microcontrôleurs série PG23 de Silicon Labs
La série de microcontrôleurs EFM32PG23 de Silicon Labs constitue une option intéressante pour les applications IoT en périphérie pour plusieurs raisons. Tout d'abord, le microcontrôleur PG23 peut exécuter la propre solution de sécurité IoT Secure Vault de Silicon Labs. Secure Vault est une plateforme de sécurisation et de pérennisation des dispositifs IoT qui est récemment devenue la première solution de sécurité IoT à obtenir le statut de certification PSA de niveau 3. Les fonctionnalités que Secure Vault apporte aux microcontrôleurs PG23 incluent l'identité sécurisée du dispositif, la gestion et le stockage sécurisés des clés et la détection d'effraction avancée.
Secure Vault tire parti d'une empreinte numérique unique générée par une fonction physique inclonable (PUF). Une fonction PUF peut être utilisée pour créer une clé symétrique AES qui disparaît physiquement lorsque le système est mis hors tension. La clé symétrique AES n'existe même pas lorsque la puce est désactivée, de sorte qu'il est impossible de l'extraire du dispositif. Une fonction PUF constitue une solution efficace au défi de gestion des clés auquel sont confrontées de nombreuses applications IoT en périphérie. En fait, la fonction PUF peut évoluer pour prendre en charge autant de clés que nécessaire pour une application. Secure Vault inclut également un système de détection d'effraction qui garantit que la clé ne peut pas être reconstituée une fois que le dispositif est mis hors tension après un événement d'effraction. Les principales caractéristiques de sécurité peuvent être résumées comme suit :
- Attestation sécurisée
- Gestion des clés sécurisée
- Stockage de clés sécurisé
- Anti-violation
Une autre raison pour laquelle les microcontrôleurs PG23 sont bien adaptés aux applications IoT en périphérie est qu'ils sont conçus pour les applications basse consommation. La consommation active pour le PG23 est de 21 microampères par mégahertz (µA/MHz). La consommation de courant est de 1,03 µA avec 16 kilo-octets (Ko) de RAM active en mode EM2, ou de 0,7 µA avec l'horloge temps réel (RTC) activée en mode EM4. Des niveaux de consommation aussi bas aident les développeurs à concevoir un dispositif écoénergétique, qu'il soit branché sur le secteur ou alimenté par batterie.
La dernière caractéristique du PG23 étudiée ici concerne les capacités du microcontrôleur. Le PG23 est doté d'un processeur Arm® Cortex®-M33 cadencé jusqu'à 80 MHz. Le processeur peut fonctionner dans la plage de 1,71 volt (V) à 3,8 V avec une seule alimentation. Pour les développeurs travaillant sur des applications de capteurs, il existe une interface de capteurs à faible consommation d'énergie (LESENSE). Le microcontrôleur est fourni en boîtier QFN à 40 broches de 5 millimètres (mm) × 5 mm ou en boîtier QFN à 48 broches de 6 mm × 6 mm. La Figure 2 présente un schéma fonctionnel du PG23. Le microcontrôleur offre également cinq états d'alimentation : EM0 pour le mode de fonctionnement, EM1 pour le mode de veille, EM2 pour le mode de veille profonde, EM3 pour le mode d'arrêt, et enfin, EM4 pour l'extinction.
Figure 2 : Le microcontrôleur PG23 dispose d'une large gamme de périphériques, de mémoires et de modes d'économie d'énergie. (Source de l'image : Silicon Labs)
Démarrer avec la carte de développement PG23-PK2504A
Le meilleur moyen de démarrer avec le PG23 est d'utiliser la carte de développement PG23-PK2504A. La carte est équipée d'un processeur EFM32PG23B310F512 offrant 512 Ko de mémoire Flash et 64 Ko de RAM. La carte de développement inclut un large éventail de capteurs embarqués, d'interfaces et un écran LCD 4×10 segments (Figure 3).
Figure 3 : La carte de développement PG23-2504A est fournie avec un microcontrôleur EFM32PG23, un écran LCD 4×10 segments, des capteurs de température et d'humidité, une référence de tension et des interfaces d'extension. (Source de l'image : Silicon Labs)
Avec la carte, les développeurs peuvent télécharger et installer Simplicity Studio (sous l'onglet Getting Started). Simplicity Studio est une rampe de lancement pour tout ce qui est nécessaire à l'évaluation, à la configuration et au développement avec les microcontrôleurs EFM32. Le logiciel inclut du matériel de démarrage, de la documentation, des outils compatibles et des ressources.
Lorsqu'un développeur ouvre Simplicity Studio et connecte une carte de développement, le logiciel identifie la carte et fournit des recommandations pour des projets d'exemple, de la documentation et des démos (Figure 4). Le développeur peut alors choisir le meilleur moyen pour démarrer et commencer l'expérimentation avec le PG23.
Figure 4 : Simplicity Studio de Silicon Labs détecte la carte et fournit des recommandations personnalisées pour le démarrage, la documentation, les projets d'exemple, etc. (Source de l'image : Silicon Labs)
Une fonctionnalité à souligner sur la carte de développement PG23-PK2504A est le commutateur qui décide de la manière dont la carte de développement est alimentée. Il existe deux options : AEM ou BAT (Figure 5). En mode AEM, une résistance de détection du courant est placée en série avec l'alimentation LDO et le PG23. L'avantage de ce mode est que les développeurs peuvent mesurer la consommation de courant du processeur pour aider à l'optimisation de la consommation. Une fois l'application optimisée, les développeurs peuvent passer en mode BAT pour exécuter la carte de développement sur une pile bouton.
Figure 5 : Le PG23-PK2504A offre la possibilité d'alimenter la carte via USB-C en mode AEM, ce qui permet de mesurer le courant du processeur. Le processeur peut également être alimenté par une pile bouton CR2032. (Source de l'image : Silicon Labs)
Conseils et astuces pour minimiser la consommation d'énergie dans une application IoT
La réduction de la consommation d'énergie est essentielle pour chaque conception IoT en périphérie, qu'elle fonctionne sur batterie ou non. L'optimisation d'une conception en termes de consommation d'énergie peut prendre beaucoup de temps si les développeurs ne font pas attention. Voici plusieurs conseils et astuces que les développeurs peuvent prendre en compte pour optimiser rapidement une application IoT pour une basse consommation :
- Utilisez une architecture logicielle commandée par événements. Lorsque le système ne traite pas d'événement, placez-le en état basse consommation.
- Établissez le profil de consommation batterie du système sur plusieurs cycles de charge/décharge. Enregistrez la consommation de courant et la tension de fonctionnement et présentez-les sous forme de graphique dans le temps.
- Utilisez les modes basse consommation pour désactiver automatiquement les horloges, les périphériques et le processeur.
- Dans les applications simples, envisagez d'utiliser la fonction Arm Cortex-M « sleep on exit » afin de minimiser la surcharge d'interruptions lors de l'activation du système.
- Si vous utilisez un système d'exploitation en temps réel (RTOS), exploitez son mode « tickless » pour éviter qu'il ne réveille le système par inadvertance.
- Lors de l'optimisation par itérations, suivez les économies d'énergie réalisées à chaque modification. À un certain point, les développeurs découvrent un « point de rupture » où le temps consacré à l'optimisation a un faible retour sur investissement en termes d'économies d'énergie. Il est temps d'arrêter l'optimisation et de passer à l'étape suivante.
Les développeurs qui suivent ces conseils et astuces constateront qu'ils peuvent économiser beaucoup de temps et d'efforts lorsqu'ils lanceront leur prochaine conception IoT sécurisée basse consommation.
Conclusion
Le besoin de microcontrôleurs sécurisés et basse consommation augmente pour les applications IoT en périphérie. Outre une solide prise en charge de la sécurité, les concepteurs doivent prendre en compte les facteurs suivants pour répondre aux besoins des conceptions en périphérie : performances du cœur du processeur, efficacité, prise en charge des périphériques et des E/S, facteur de forme global et prise en charge de l'écosystème.
Comme illustré, le microcontrôleur EFM32PG23 de Silicon Labs peut aider les développeurs à résoudre plusieurs problèmes liés à la conception basse consommation et à la sécurité des dispositifs. La carte de développement associée fournit tous les outils nécessaires pour démarrer, et en suivant quelques conseils et astuces importants, une conception basse consommation peut être rapidement mise en œuvre.
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 DigiKey ni les politiques officielles de la société.

