Aller au contenu

Sécuriser la traçabilité RFID et IoT du fret

La traçabilité RFID (Radio Frequency Identification) et les objets IoT (Internet of Things) de suivi de fret déplacent la décision logistique vers des données captées hors du périmètre de confiance. Le compromis central est brutal : plus de visibilité opérationnelle contre une surface d’attaque physiquement accessible, intermittente et partagée avec des partenaires. La recommandation est de traiter chaque événement de fret comme une assertion contestable, jamais comme une vérité parce qu’il vient d’un capteur.

→ Lire l’explication complète de la marmotte

RFID, IoT et confiance dans l’événement logistique

Section intitulée « RFID, IoT et confiance dans l’événement logistique »

Une étiquette RFID passive ne possède généralement ni énergie propre ni capacité cryptographique suffisante pour signer une lecture. Son identifiant est donc une référence, pas une preuve de présence. Copier cet identifiant sur une autre étiquette, rejouer une lecture enregistrée ou déplacer l’étiquette hors de son emballage reste possible. L’inventaire RFID indique qu’un lecteur a observé un identifiant à un endroit et à un instant donné. Il ne prouve ni le contenu du colis, ni son intégrité, ni la légitimité du lecteur.

Un dispositif de suivi de fret plus riche, doté d’un récepteur GPS (Global Positioning System), de capteurs de température et d’une connectivité cellulaire, augmente la qualité des observations mais n’annule pas ce problème. Un signal de géolocalisation peut être brouillé ou falsifié, un capteur peut être isolé thermiquement, et un boîtier peut être retiré puis réattaché. La donnée doit donc porter son origine, sa date de production, son niveau de précision et l’identité cryptographique de l’équipement qui l’émet.

La bonne unité de sécurité est l’événement signé, pas le tableau de bord. Un événement doit contenir un identifiant de dispositif, un compteur monotone, un horodatage local, la mesure, un indicateur de qualité et un identifiant de commande ou de conteneur. Le serveur vérifie ensuite la signature, la séquence et les règles métier avant d’accepter l’événement. Une position reçue sans compteur persistant ne protège pas contre le rejeu après une coupure radio. Une date envoyée par un appareil sans horloge protégée ne protège pas contre l’antidatage.

Vingt ans de systèmes connectés apprennent que le capteur déclaré « inviolable » finit souvent dans une présentation commerciale, puis dans une caisse en plastique ouverte avec un tournevis. La détection de sabotage vaut plus qu’une promesse de boîtier magique : ouverture du boîtier, retrait de sonde, perte prolongée de réseau, saut de localisation et incohérence thermique doivent produire des états explicites, pas disparaître dans une moyenne.

Identités des lecteurs, passerelles et partenaires

Section intitulée « Identités des lecteurs, passerelles et partenaires »

Chaque lecteur RFID, passerelle de dépôt et dispositif de suivi doit posséder une identité individuelle. Un certificat X.509, délivré par une PKI (Public Key Infrastructure), est préférable à un mot de passe partagé ou à une clé identique sur une flotte entière. Une compromission devient alors révocable par équipement, sans immobiliser tous les flux logistiques. La racine de certification reste hors ligne ou dans un HSM (Hardware Security Module), tandis qu’une autorité intermédiaire dédiée aux objets émet les certificats opérationnels.

La clé privée d’un équipement doit être générée et conservée dans un composant matériel lorsque la plateforme le permet : élément sécurisé, carte à puce industrielle ou module cryptographique. Exporter la même clé privée dans une image de firmware transforme chaque copie de cette image en ticket d’entrée permanent. Le chiffrement du stockage applicatif ne corrige pas cette faute : si le processus peut lire la clé, un attaquant ayant compromis ce processus le peut aussi.

Les passerelles sont le point de jonction entre radio, réseau local, réseau mobile et systèmes métier. Elles doivent authentifier les objets avant de relayer leurs messages, mais ne doivent pas décider seules de la validité commerciale d’une livraison. Une passerelle compromise peut alors injecter du trafic, mais ne peut pas fabriquer une signature de dispositif ni valider un changement de propriétaire. La séparation entre transport et décision limite le rayon d’explosion, ce qui est moins spectaculaire qu’une plateforme « zero trust supply chain », mais nettement moins inflammable.

Les accès partenaires doivent suivre le même principe. Un transporteur n’obtient pas un accès global aux événements, seulement les ressources associées à une mission, une zone et une période. L’autorisation doit être évaluée côté serveur à chaque requête, avec des jetons courts et une audience ciblée. Pour les choix d’architecture d’identité, voir les fondations IAM et fédération ; la terminaison réseau et les contrôles de flux relèvent de l’architecture réseau.

La révocation mérite une décision explicite. Une CRL (Certificate Revocation List), liste signée de certificats révoqués, fonctionne sur des équipements capables de la télécharger régulièrement. OCSP (Online Certificate Status Protocol), protocole de vérification en ligne, échoue dès que la connectivité devient intermittente. Pour le fret mobile, préférer des certificats de courte durée, une liste locale de refus synchronisée et une durée maximale d’acceptation hors ligne documentée. La révocation ne ferme jamais une session déjà établie par magie. Les miracles restent très demandés sur les slides.

Le canal entre l’objet et la plateforme doit employer TLS (Transport Layer Security) avec authentification mutuelle lorsque l’équipement dispose d’un certificat. TLS protège le transport, pas la signification métier du message. Une passerelle légitime peut transmettre un événement incohérent, et un serveur authentifié peut accepter un doublon si l’API (Application Programming Interface) ne contrôle pas l’identifiant d’événement.

Chaque ingestion doit être idempotente : soumettre deux fois le même événement produit le même résultat, sans doubler une réception de palette ni fermer deux fois une alerte. Conserver un identifiant d’événement aléatoire, le compteur du dispositif et une fenêtre de temps permet de rejeter les doublons et les retards excessifs. Le compteur doit survivre au redémarrage. Le remettre à zéro après mise à jour du firmware ouvre une fenêtre de rejeu, généralement découverte le jour où le réseau mobile se comporte comme le réseau mobile.

La segmentation reste nécessaire : les lecteurs et passerelles n’accèdent qu’au service d’ingestion, aux résolveurs de noms autorisés et aux services de mise à jour. Aucun chemin direct ne doit relier un réseau de quai à une interface d’administration, un serveur d’entrepôt ou une base de données métier. Les flux entrants depuis Internet doivent aboutir à une zone d’exposition contrôlée, avec limitation de débit, validation de schéma et journalisation. Le chiffrement ne rend pas un port exposé moins exposé.

Le protocole MQTT (Message Queuing Telemetry Transport) convient aux connexions instables, mais ses sujets ne constituent pas une frontière d’autorisation. Autoriser fret/+/evenements revient souvent à donner une clé passe-partout avec une étiquette « granularité ». Les droits doivent lier l’identité du client à un préfixe précis et interdire la publication sur les sujets de commande d’autres équipements.

Exemple d’événement signé et contrôle anti-rejeu

Section intitulée « Exemple d’événement signé et contrôle anti-rejeu »

L’exemple suivant génère une paire de clés, signe un événement JSON (JavaScript Object Notation) et vérifie la signature avec OpenSSL. Il reproduit le contrôle minimal d’intégrité d’un message. En production, stocker la clé privée dans un composant matériel et ajouter un compteur persistant, une chaîne de certificats et une politique de rejet côté service.

Fenêtre de terminal
# Générer une clé privée de démonstration : ne jamais l'intégrer au firmware.
openssl genpkey -algorithm ED25519 -out tracker-private.pem
openssl pkey -in tracker-private.pem -pubout -out tracker-public.pem
# Construire un événement avec identifiant unique et compteur monotone.
printf '%s' \
'{"device_id":"tracker-042","event_id":"2ec1e7d9","counter":1842,"ts":"2026-09-23T10:15:00Z","temperature_c":4.2}' \
> event.json
# Signer exactement les octets transmis, sans reformatage JSON intermédiaire.
openssl pkeyutl -sign -inkey tracker-private.pem -rawin \
-in event.json -out event.sig
# Vérifier avant ingestion ; un octet modifié fait échouer cette commande.
openssl pkeyutl -verify -pubin -inkey tracker-public.pem -rawin \
-in event.json -sigfile event.sig

La signature ne remplace pas les contrôles métier. Le service doit refuser counter: 1841 après avoir accepté counter: 1842, sauf procédure encadrée de réinitialisation d’équipement. Il doit aussi rejeter un événement signé par un certificat expiré, révoqué ou assigné à un autre identifiant de dispositif. Lier la clé à l’identité déclarée dans le message évite qu’un équipement valide signe des événements au nom de toute la flotte.

La mise à jour de firmware est une chaîne de confiance distincte des messages de télémétrie. Le package doit être signé, le chargeur de démarrage doit vérifier cette signature avant installation, et le mécanisme de retour arrière doit refuser une version vulnérable déjà interdite. Un canal chiffré sans vérification de signature laisse un serveur de distribution compromis servir n’importe quel binaire. Un objet connecté qui installe du code non authentifié devient un petit ordinateur distant, mais sans écran pour afficher le regret.

Prévoir trois rotations : certificats d’équipement, clés de signature de firmware et secrets d’accès aux plateformes partenaires. La rotation doit accepter temporairement l’ancienne et la nouvelle clé, avec une date de bascule et une alerte sur les équipements non migrés. Supprimer l’ancienne clé avant que les appareils intermittents aient reçu la nouvelle crée une panne logistique parfaitement conforme à la politique de sécurité. Ce n’est pas une victoire.

La supervision doit corréler les événements de sécurité et les signaux métier : hausse de signatures invalides, changements d’identité, trous de télémétrie, localisation impossible, taux de batterie anormal et échecs de mise à jour. Un SIEM (Security Information and Event Management), plateforme de corrélation de journaux, reçoit des preuves techniques ; le système logistique conserve les décisions métier. Mélanger les deux complique la conservation et rend l’investigation pénible, ce qui est une tradition informatique dont il est possible de se passer.

Les sauvegardes doivent couvrir l’inventaire des équipements, les associations dispositif-conteneur, les certificats publics, les règles d’autorisation, les journaux d’audit et les clés de récupération. Une restauration qui remet en circulation un ancien état de compteurs recrée du rejeu valide. Après reprise, imposer une resynchronisation des compteurs et marquer les événements hors ligne comme tels. La sécurité ne garantit pas que le fret est intact, que la mesure est physiquement exacte ou qu’un partenaire dit vrai. Ces garanties viennent de scellés, procédures de réception, contrôles croisés et responsabilités contractuelles, pas d’un certificat.

Sans événement signé par une identité propre à chaque équipement, aucun enregistrement de fret ne peut être rattaché de façon démontrable à l’appareil qui l’aurait produit. La conséquence dépasse l’injection de fausses positions. Lors d’un litige entre expéditeur, transporteur et destinataire, l’historique de température ou de livraison ne vaut plus preuve d’origine, puisque tout détenteur d’un accès au flux a pu l’écrire. Après la découverte d’une compromission, l’investigation ne peut pas séparer les événements fiables des événements forgés ; toute la période concernée, pour toute la flotte, doit alors être tenue pour suspecte. Les automatismes branchés sur ces événements (facturation à la livraison, libération d’un lot sous chaîne du froid, déclenchement d’une réclamation) s’exécutent sur une assertion que personne ne peut ni confirmer ni réfuter.

Une chaîne logistique connectée collecte des informations sur une marchandise pendant son transport. Une étiquette ou un appareil placé sur le colis transmet un identifiant, une position, une température ou un signal indiquant une ouverture. Le système reçoit ces informations, les relie à une commande, puis affiche une alerte ou modifie l’état de la livraison.

Le problème est qu’un appareil peut être copié, déplacé, ouvert, éteint ou remplacé. Il faut donc donner une identité propre à chaque appareil. Cette identité repose sur une clé secrète stockée dans l’appareil et sur un certificat qui permet au serveur de reconnaître son propriétaire. L’appareil signe chaque message. Le serveur vérifie cette signature avant de l’accepter.

Chaque message contient aussi un numéro qui augmente à chaque envoi. Si un ancien message revient plus tard, le serveur voit que son numéro est déjà dépassé et le refuse. Cela évite de rejouer une ancienne position ou une ancienne température. Le serveur vérifie également que l’appareil a le droit de parler du colis concerné.

Quand un appareil est perdu ou compromis, son certificat doit être retiré de la liste des identités acceptées. Les logiciels de l’appareil doivent aussi être signés avant installation. Enfin, les équipes surveillent les messages manquants, les signatures invalides et les déplacements incohérents. Ces mesures protègent les données, mais ne prouvent pas seules que la marchandise est réellement intacte.

À lire aussi

Pages voisines