La mise à jour des logiciels et des micrologiciels à l’aide de l’Over-the-Air (OTA) a augmenté dans les appareils portables, les secteurs industriels et automobiles pour la plate-forme embarquée avec le temps. Une fois que le produit est dans le monde réel, le micrologiciel ou la mise à jour du logiciel liée aux corrections de bogues, aux corrections de sécurité ou à la mise à jour des fonctionnalités est nécessaire pour l’amélioration de l’appareil et pour le maintenir à jour avec les derniers logiciels.

L’OTA est une technologie permettant de mettre à jour le logiciel ou le micrologiciel à distance.

Dans le cas d’un véhicule, le micrologiciel ou le logiciel est mis à jour sans fil à l’aide d’un dispositif de télécommunication, par le biais d’une passerelle à l’intérieur de la voiture vers l’ECU dont la présence augmente dans les véhicules modernes.

Quel est le besoin d’OTA (Over-the-Air Update) pour le véhicule ?

Dans l’industrie automobile, le véhicule est devenu de plus en plus intelligent et intelligent. Actuellement, les véhicules sont majoritairement contrôlés par un logiciel plutôt que par des composants mécaniques traditionnels. Il y a dix ans, s’il était nécessaire de mettre à jour le logiciel, le véhicule était remorqué à la station-service et les véhicules étaient connectés au système/ordinateur pour une mise à jour. L’OTA résout le problème de la fiabilité de chaque mise à jour qui existait auparavant, ainsi que la dépendance de la station-service, qui devait transporter le véhicule jusqu’à la station, le coût de la mise à jour du logiciel devient très faible, et le client et la station-service n’ont pas à s’inquiéter. L’approche de la mise à jour OTA pour les téléphones mobiles et les véhicules est différente, la mise à jour OTA pour les véhicules est plus complexe et plus stricte que pour les appareils portables, une mise à jour incorrecte du logiciel peut également nuire à la vie de l’utilisateur. Les unités de contrôle électronique (UCE) sont devenues le composant principal des véhicules d’aujourd’hui, elles ont remplacé tous les composants mécaniques de la direction. En général, les UCE sont interconnectées par un ou plusieurs réseaux et partagent des informations qui permettent des interactions et des régulations complexes. Par exemple, dans les systèmes avancés d’aide à la conduite (ADAS), l’augmentation des capacités fonctionnelles s’accompagne d’une plus grande complexité du système, ce qui rend plus probable l’apparition de bogues logiciels qui pourraient avoir des répercussions sur la sûreté et la sécurité de l’ensemble du véhicule. Grâce à des mises à jour et des améliorations logicielles régulières, on peut garantir l’exactitude, l’efficacité et la fiabilité des systèmes pendant toute la durée de vie du véhicule. Ce blog décrit principalement la solution de bout en bout qui peut être déployée pour supporter les mises à jour logicielles OTA dans le secteur automobile. Dans la section précédente, nous avons parlé de l’OTA et nous avons compris que la mise à jour OTA dans le secteur automobile présente des défis majeurs en termes de sécurité lors de la mise à jour du logiciel par voie aérienne. Si les attaquants prennent le contrôle du véhicule, on peut se retrouver dans une situation de danger.

  • La transmission du moteur peut être activée/désactivée
  • Les passagers ou les conducteurs peuvent être enfermés à l’intérieur de la voiture
  • Souffler le klaxon continuellement
  • Contrôler le système de direction
  • Système de freinage de la voiture
  • Suivre la vitesse de la voiture au-delà du règlement routier.
  • Contrôle du système de navigation, audio ou infotainment
  • Fausse alarme dans le cockpit

Voyons comment la mise à jour OTA se passe dans le véhicule. Aperçu : La méthode de mise à jour à distance OTA des véhicules est rapide, rentable et permet de mettre à jour le logiciel fonctionnant sur leurs UCE par voie hertzienne, et les utilisateurs de la voiture peuvent mettre à jour le logiciel n’importe où sans avoir à se rendre au centre de service ou à l’atelier de réparation. En outre, l’équipementier peut diagnostiquer la voiture sur la base des données reçues par voie hertzienne depuis la voiture

Figure 1 : Aperçu général de la mise à jour OTA

OTA sécurisée dans le système automobile : La mise à jour OTA sécurisée est le facteur le plus important lors de la mise à jour du firmware ou du logiciel pour l’ECU. Il y a beaucoup de défis à relever pour réaliser une mise à jour OTA sécurisée. Il existe de nombreuses techniques proposées et mises en œuvre dans l’industrie pour réaliser des mises à jour OTA sécurisées. Nous allons en examiner quelques-unes et expliquer la technique la plus courante utilisée dans l’industrie automobile. Divisons l’ensemble de l’architecture de bout en bout en trois composants et quel en est le but. Serveur dorsal

  • Créer les images mises à jour/Collecter les images des différents Tier-1
  • Proviser les images de mise à jour du firmware et du logiciel à flasher sur le dispositif
  • Il pourrait avoir besoin de supporter l’architecture client-serveur, si l’unité principale demande la mise à jour.

Canal de communication

  • Prévoir un mécanisme sécurisé
  • Prévoir le n/w sécurisé pour que l’image ou les données ne soient pas altérées.

Unité de tête

  • Peut avoir besoin de déclencher la mise à jour du logiciel (client)
  • S’assurer que les images correctes sont installées
  • Moins de temps d’arrêt pendant la mise à jour des images
  • Retour en arrière se produit en cas de défaillance

Serveur dorsal : Le serveur backend est principalement responsable de la création des images de firmware et de logiciel qui doivent être déployées dans les unités de véhicules. Le serveur backend essaie de collecter les images qui doivent être déployées à partir des différents fournisseurs Tier-1 et de les emballer dans une seule image pour toutes les UCE. Ce serveur dorsal peut être basé sur le système Yocto (open source) ou sur une architecture de support tierce. Canal de communication : La partie la plus difficile du composant est celle où les données et les images sont exposées au réseau et où elles sont faciles à manipuler par les attaquants. Il existe de nombreuses techniques, solutions open-source et tierces pour sécuriser la mise à jour de l’unité principale. Uptane est le premier cadre de sécurité complet guidant la mise en œuvre des systèmes de mise à jour OTA au niveau de la conception. Unité de tête (véhicules eux-mêmes) : les unités de tête comprennent de nombreuses UCE, certaines à haute vitesse, d’autres à vitesse réduite, ainsi que différents types d’UCE, d’UCT (unité de contrôle télématique), de passerelles, chaque composant ayant un rôle à jouer dans la mise à jour OTA. L’unité principale doit également s’assurer qu’elle est prête à se connecter au backend pour obtenir le firmware et le logiciel mis à jour. Ou bien elle a elle-même la capacité de déclencher une demande de mise à jour. Mise à jour OTA à l’aide d’Uptane Le cadre de mise à jour (TUF) est conçu pour créer un système de sécurité destiné à protéger les utilisateurs de dépôts de logiciels contre les attaques de sécurité. Il a été conçu en gardant à l’esprit que le serveur dorsal peut ne pas être sécurisé ou que la clé utilisée pour la cryptographie peut être volée. Il crée donc un système distribué, qui ne dépend pas d’un système particulier et, en cas d’attaque, tous les systèmes ne peuvent pas être piratés aussi facilement en même temps. Le cadre de mise à jour (TUF) a divisé les rôles en quatre parties (Root of trust, Timestamps, Snapshot, Targets) Uptane s’appuie sur le cadre de mise à jour (TUF), qui est distribué (Timeserver, répertoire et référentiel d’images, manifestes, calculateurs primaires/secondaires, vérification complète et partielle.

Figure 2 : Vue d’ensemble du serveur dorsal Uptane

: Il contiendra les images (les données qui doivent être mises à jour sur l’UCE) avec les métadonnées (hachages cryptographiques, taille du fichier) Dépôt d’images : Le référentiel d’images utilise une clé hors ligne pour signer les métadonnées de toutes les mises à jour disponibles pour le calculateur. Mise à jour périodique (par exemple, hebdomadaire, mensuelle) des métadonnées sur les images disponiblesUtiliser les outils de ligne de commande Uptane pour générer les métadonnéesUtiliser le seuil des clés hors ligne (par exemple, Yubikey, HSM, etc. souvent utilisé) pour signer les métadonnées

Figure 3 : Dépôt d’images

Dépôt de répertoire : Directory repository a utilisé la clé en ligne pour signer les métadonnées à utiliser pour l’installation dans le calculateur du véhicule. Il détermine quelles images doivent être installées dans quels calculateurs, crée différentes métadonnées pour les différents véhicules et accède aux données d’inventaire pour obtenir des détails sur le véhicule. Typiquement utilisé pour indiquer à un véhicule quelles mises à jour installer, en fonction de ce qu’il a

  • Peut être utilisé pour mettre instantanément les mises à jour sur liste noire
  • Utilise l’API Uptane pour générer des métadonnées signées
  • Utilise une base de données d’inventaire pour lire et écrire des informations sur les UCE (par ex, clés publiques, ce qui a été précédemment installé, etc.)

Figure 4 : Répertoire de dépôt

Donc, la clé ici est que c’est, avant l’installation, il doit confirmer que l’instruction du répertoire et du dépôt d’images correspond.

Figure 5 : Partage d’informations de fin de véhicule et d’OEM

Serveur de temps : Lorsque l’ECU primaire envoie la liste des jetons pour chaque ECUS, au serveur de temps, le serveur de temps renvoie un message signé contenant la liste des jetons et l’heure actuelle Unité de tête (véhicule lui-même) : Dans l’unité de tête du véhicule, nous avons un type différent d’ECU basé sur la façon dont ils se sont connectés à l’intérieur ou au monde extérieur, la puissance en termes de vitesse, de stockage, etc.

  • L’ECU primaire (TCU) télécharge les images, les vérifie et distribue ensuite les métadonnées aux autres ECU secondaires
  • Les ECU secondaires vérifient également l’image avant de mettre à jour les images.
  • Il effectue la vérification complète et partielle

Figure 6 : Communication entre les calculateurs

Canal de communication

Flux complet de communication de l’unité de tête au serveur Backend.

Figure 7 : Canal de communication

Que faut-il pour déployer l’Uptane ?

  • L’équipementier met en place et maintient
    • le dépôt Director
    • le dépôt d’images
    • le serveur de temps (facultatif)
  • Les images sont signées par
    • le fournisseur, ou l’équipementier, ou les deux !
  • Les UCE doivent faire soit
    • une vérification complète, soit
    • une vérification partielle
  • Peut continuer à utiliser votre TLS existant, etc. transport
    • Si le transport / le cache est compromis, peu de risque de sécurité

Défis sur la mise à jour OTA

  • L’automobile est une architecture plus complexe avec un nombre croissant d’ECU, la mise à jour des différents types d’ECU elle-même devient un défi
  • La sécurité des données par voie aérienne est à haut risque.
  • La mise à jour du firmware et du logiciel se fait en utilisant des ressources minimales comme la bande passante du réseau, le stockage et le calcul.
  • Est-il possible de mettre à jour non seulement l’application/ mais le pilote central/logiciel du dispositif ?
  • Le mécanisme de retour en arrière de la mise à jour du logiciel
  • Un temps d’arrêt plus élevé n’est pas accepté lors de la mise à jour du logiciel ou du firmware.
  • La taille des blocs logiciels
  • Comment OTA se produit de manière transparente avec l’impact sur le système actuel.

Conclusion

Dans le monde de l’automobile avec le temps, la mise à jour du logiciel augmentera pour s’assurer qu’il est à jour avec le temps. Les véhicules doivent être mis à jour en toute sécurité. Uptane peut être une des solutions prometteuses pour mettre à jour le logiciel par voie aérienne.

Lecture complémentaire

  • Enabling SAE L3-L5 Autonomy with Sensor Fusion : Approches et défis
  • Concept de sécurité pour la conduite automatisée
  • Guide pour le portage de l’algorithme de reconnaissance des panneaux de signalisation en temps réel sur le SoC TDA2x de Texas Instruments

.