IoT

Sécuriser une flotte d'objets connectés grand public à grande échelle

Le contexte

Un groupe industriel international déployait des objets connectés grand public en très grand volume. Chaque appareil vendu devient un point d’entrée potentiel : s’il est possible d’usurper l’identité d’un appareil, d’intercepter son appairage réseau ou de lui pousser un firmware non signé, le problème ne concerne plus un client mais l’ensemble du parc installé.

Le groupe avait besoin d’une architecture capable d’enregistrer des appareils par centaines de milliers, de les mettre à jour à distance sans jamais ouvrir de brèche, et de donner à ses équipes internes une vision de l’état réel du parc.

Ce que nous avons fait

Nous avons conçu et mis en œuvre la chaîne de confiance complète autour d’AWS IoT Core.

Chaîne de confiance, de l’identité par appareil à la mise à jour signéeChaque appareil porte sa propre identité et se connecte à AWS IoT Core en TLS mutuel, sous une politique limitée à ce seul appareil. Lambda pilote le provisioning et les campagnes de mise à jour, DynamoDB porte l’état de la flotte : état de connexion, versions de firmware réellement déployées et résultat des campagnes. Les artefacts de firmware sont signés avec des clés détenues par AWS KMS, stockés sur S3 et distribués par CloudFront. Chaque appareil vérifie la signature avant d’installer, le déploiement est progressif et un retour arrière reste possible. Les appareils mis à jour rendent compte par la même chaîne.Chaîne de confiance, de l’appareil à la mise à jourAppareil Aidentité uniqueAppareil Bidentité uniqueAppareil Cidentité uniqueen très grand volumeAWS IoT Core — TLS mutuel, une politique par appareilLambda — provisioning, campagnesDynamoDB — état de flotte et versionsFirmware signé — clés dans KMS, artefacts sur S3, via CloudFrontSignature vérifiée sur l’appareil — déploiement progressif, retour arrièreOTA
La frontière de confiance est l’identité de l’appareil, pas la gamme : un appareil compromis ne peut pas agir sur les autres, et rien ne s’installe sans une signature que l’appareil vérifie lui-même.
  • Provisioning sécurisé des appareils, avec une identité unique par appareil et un appairage réseau qui ne repose pas sur un secret partagé entre toute une gamme.
  • Mises à jour à distance signées, avec vérification de signature côté appareil. Les clés de signature sont détenues par AWS KMS et ne sortent jamais du service : une clé de signature de firmware qui circule dans une chaîne de build est une clé qu’on ne peut plus considérer comme privée. Les artefacts de firmware sont stockés sur S3 et distribués par CloudFront, pour que des centaines de milliers d’appareils puissent télécharger la même version sans saturer une origine unique.
  • Un déploiement en canari, parce qu’une mise à jour de firmware ne se teste pas entièrement en laboratoire : le parc réel contient des variantes matérielles, des réseaux capricieux et des appareils restés longtemps hors ligne. Une version part d’abord sur une cohorte réduite, dont on surveille le taux de reprise après mise à jour et de reconnexion ; la campagne ne s’élargit que si ces indicateurs tiennent, et le retour arrière reste disponible tout du long. C’est ce qui sépare une mise à jour de flotte d’un pari.
  • Autorisations au moindre privilège, appareil par appareil, de sorte qu’un appareil compromis ne puisse pas agir sur les autres ni lire ce qui ne le concerne pas.
  • Outillage de supervision et de gestion de flotte pour les équipes internes : état de connexion, versions de firmware réellement déployées, campagnes de mise à jour en cours, appareils en échec et raison de l’échec. L’état de la flotte est tenu dans DynamoDB, écrit au fil des événements appareils plutôt que reconstitué à la demande.

Le résultat

Le groupe dispose d’une base sur laquelle il ajoute de nouvelles gammes sans reprendre la sécurité à zéro, et ses équipes voient l’état du parc au lieu de le déduire des retours clients.

La partie la plus utile n’est pas la plus visible : la mise à jour d’un parc déployé est devenue un acte de routine plutôt qu’une opération que l’on repousse par prudence. C’est ce qui permet de corriger une vulnérabilité en jours au lieu de mois.

Toutes les références

Parlez-nous directement

Écrivez-nous directement. Pas de commercial, pas d'appel de qualification. C'est l'un de nous deux qui répond, sous 24h.

contact@onescale.io

Nous répondons sous 24h, et c'est l'un de nous deux qui répond.

Basés à Lyon, nous travaillons en France, en Europe et à l’international.