Qu’est-ce que l’informatique embarquée ?


Actualité publiée le 18 novembre 2022

L’exemple le plus courant d’informatique embarquée, ce sont les objets connectés omniprésents dans notre quotidien (vélos électriques, assistants virtuels, appareils domotiques, etc.). Néanmoins, il s’agit d’une filière en expansion colossale dans l’industrie (robots 4.0), la médecine (pacemakers, imagerie médicale), etc. Quelles sont ses spécificités techniques ?

visuel embarquée

© Pixabay

L’informatique embarquée : des dispositifs à part

L’informatique embarquée désigne les systèmes informatiques compris dans des équipements technologiques qui n’ont pas une vocation informatique à proprement parler.

 

Les objectifs de l’informatique embarquée diffèrent de l’informatique classique. Les SI embarqués ont en effet une interaction directe avec leur environnement physique, leurs actions sont considérées comme irrémédiables. C’est le cas d’un logiciel de navigation qui donne des indications directionnelles au conducteur. À ce titre, l’informatique embarquée revêt une responsabilité colossale, qui concerne la sûreté des utilisateurs et des biens.

 

Ce sont également des SI très réactifs, qui doivent fournir une interaction à grande vitesse afin de remplir leurs missions. Les systèmes informatiques embarqués sont donc généralement basés sur un processus en temps réel. Il leur faut aussi qu’ils démontrent d’un certain temps d’autonomie, leur permettant d’exécuter leurs processus sans intervention humaine.

 

Enfin, ces systèmes informatiques embarqués doivent être compris dans un packaging garantissant leur robustesse et leur fiabilité. Amenés à être déplacés et utilisés en toutes circonstances, ils sont en effet soumis à de grandes variations de températures ou à des chocs physiques.

 

L’informatique embarquée, originairement utilisée dans l’aérospatiale ou le génie miliaire, est désormais omniprésente : électroménager, mobiles, scanners, lecteurs de code-barres, satellites ou écrans de contrôle des automobiles.

 

Quelles sont les spécificités de programmation de l’informatique embarquée ?

Pour poser des SI embarqués innovants et fonctionnels, les professionnels de la programmation utilisent majoritairement le langage Ada. Naturellement, d’autres codes sont utilisés, comme C et parfois C++. Néanmoins, on considère dans le milieu qu’Assembleur est un choix très judicieux dans le cas du développement d’une application d’informatique embarquée soumise à de très strictes contraintes de temps réel.

 

Pour les SI embarqués critiques (qui ont un fort impact sur leur environnement physique réel), les programmeurs utilisent Esterel, Signal ou Synchrone, avec un fort succès dans l’industrie. À titre d’exemple, les logiciels embarqués de commande des vols Airbus (A 340 et A 380) sont basés sur Lustre.

 

Sur le plan architectural, un système embarqué reçoit les informations du monde réel (qu’il exploite pour exécuter ses missions) au moyen de capteurs (de température, de pression, de vitesse, etc.). Il mémorise et traite les données via des algorithmes puis renvoie ses propres informations par des actionneurs (moteurs, vannes, etc.). Les informations du monde physique sont, en l’espèce, appelées signaux. Ils transmettent des valeurs interprétées par le système d’informatique embarquée et peuvent être de nature logique ou analogique.

 

Les algorithmes de ces dispositifs sont centraux dans leur architecture, ce sont ces calculs qui offrent au dispositif de remplir leur mission. Dans le cadre aéronautique, le calculateur de bord d’un avion se basera sur son algorithme afin de maintenir la bonne altitude. L’appareil sera alors programmé pour lire l’altimètre et actionner la gouverne de profondeur, le cas échéant.

 

Enfin, il faudra développer et programmer une interface homme-machine intuitive et fonctionnelle, permettant à l’utilisateur d’envoyer ou de récupérer de l’information.

 

Informatique embarquée : zoom sur les problématiques sécuritaires

Les systèmes électroniques embarqués se développent considérablement. Néanmoins, une mauvaise implémentation au niveau cryptographique peut créer des problèmes sécuritaires, notamment quant à la confidentialité, l’intégrité et l’authentification. Ces problématiques représentent des failles, qui peuvent être aisément exploitées par les pirates informatiques.

 

On voit donc de nombreuses menaces émerger, qui ciblent prioritairement les systèmes informatiques embarqués. Certaines sont de nature passive, d’autres plus agressives et qui provoquent volontairement les comportements erronés de la part des applications. Une méthode, appelée SCA (Side-Channel Attack) sévit particulièrement sur les SI embarqués. Elle exploite la consommation de courant ou les émissions électromagnétiques qui sont visibles à l’exécution de l’algorithme de l’application et en extrait de précieuses informations.

 

La question de la sécurisation de ces systèmes informatiques embarqués est cruciale, pour les fabricants comme les utilisateurs. En effet, ces applications referment des données personnelles, bancaires, voire biométriques et de santé.

 

Malgré l’importante de la sécurisation de ces SI, on voit quatre grands types d’attaques émerger :

 

  •  L’attaque par temps de calcul, qui mesure et analyse le temps que prend l’application pour effectuer certaines opérations cryptographiques (et en tirer les informations stockées et confidentielles). Dans le cas d’un algorithme modulaire programmé, le temps d’exécution est étroitement corrélé avec la valeur qui correspond à la clé secrète que l’intrus cherche à découvrir.

 

  •  L’attaque par mesure de consommation électrique, qui se base sur la consommation d’énergie des dispositifs en vue de découvrir des informations. Le courant qu’un appareil consomme varie en fonction des instructions à exécuter.

 

  •  L’attaque par analyse des émanations électromagnétiques : les informations sont déduites des variations d’intensité des champs électromagnétiques émis à l’utilisation du dispositif.

 

  •  L’attaque par injection de fautes : le pirate interagit alors avec le SI embarqué en provoquant des composants erronés qui lui offrent de précises déductions quant à son état ou ses données.

 

Les professionnels du développement et de la sécurisation des SI embarqués ont conscience de cet état de fait et mettent en place des méthodes pour contrer ses risques. Par exemple, on voit des mesures techniques permettant de diminuer le signal des dispositifs ou d’autres, qui consistent à masquer les valeurs intermédiaires manipulées à l’utilisation. La première méthode est implémentée directement à la conception du système informatique embarqué. Le masquage des données requiert, quant à lui, de diviser les données sensibles en plusieurs micro-morceaux.

 

 

L’implémentation des SI embarqués est donc encore une grande source de risque sécuritaire. Les ingénieurs informatiques le savent et contribuent quotidiennement au développement de solutions. L’ESGI propose à ce titre à ses étudiants un cursus spécialisé en Mobilité et Objets Connectés ainsi qu’un autre en Sécurité Informatique, qui offrent de bien saisir le fonctionnement des systèmes informatiques embarqués et d’améliorer leur sécurité.

 

Le secteur de la recherche en informatique embarquée est également en plein développement : micro-électronique, systèmes d’exploitation, énergie et gestion de la consommation, matériaux, thermiques, captation, etc.

200