Ouvrir le menu Fermer le menu

Comment rendre sa fabrication Cybersecure au cours du processus de programmation du composant.

< Retour à la newsletter
Vos fichiers binaires (*.hex…) contiennent des données critiques vis-à-vis de votre propriété intellectuelle, qui  pourraient être compromises pendant le processus de fabrication sous contrat par une société tierce.

Cet article décrit les solutions qui peuvent être mises en œuvre grâce au système de programmation de production « FlashRunner 2.0 » afin de s’assurer d’une programmation sécurisée en matière de protection de données, de traçabilité du processus de programmation et de qualité de celui-ci.
La cybersécurité fait référence à la protection aux cyberattaques des systèmes connectés à Internet, incluant le hardware, les logiciels et les données.

Dans le monde des microcontrôleurs, en particulier dans le secteur de la fabrication industrielle, ce terme a été réinterprété et prend plusieurs autres significations. La cybersécurité peut être liée aux thèmes suivants :
  • Antipiratage : le processus de programmation est sous-traité à une société tierce, et les clients veulent s’assurer que le firmware ne peut pas être volé ou falsifié ; ils veulent aussi réduire les risques de reconstruction non autorisée de données hexadécimales
  • Traçabilité : la programmation fait généralement partie du processus de fabrication des cartes électroniques, ce qui exige des normes élevées en matière de traçabilité. Le résultat final, l’horodatage du processus de programmation ne sont que quelques-unes des informations à rechercher.
  • Flash matching : le client exige les preuves d'un processus de programmation correct

Antipiratage

Les systèmes de programmation FlashRunner de la société SMH Technologies, comportent un outil de chiffrement de firmware qui peut être utilisé comme méthode de lutte contre le piratage des données.

Supposons que vous soyez un client souhaitant confier le processus de fabrication de cartes électroniques à une société tierce, qui utilisera le système « FlashRunner 2.0 » pour flasher celles-ci. Très tôt dans le processus de fabrication, le fabricant de cartes vous demandera un firmware à flasher dans le(s) microcontrôleur(s) de la carte.

Comment sécuriser votre firmware, contre les tentatives de vol :
Pour fonctionner, le FlashRunner 2.0 nécessite la conversion de ce firmware au format propriétaire FRB, cette conversion pouvant être réalisée à l'aide du logiciel GUI Workbench de SMH.

Pendant ce processus, le fichier FRB peut être converti en un format de fichier crypté, nommé fichier FRS, suivant la méthode de chiffrement AES256 obtenue par mot de passe partagé. Cela signifie que seul le logiciel GUI Workbench possède une clé de chiffrement et que le FlashRunner 2.0 est doté d'une clé de déchiffrement intégrée. Par conséquent, le fichier FRS ne peut pas être reconverti en contenu de données d'origine. Ce fichier FRS ne peut être stocké que dans la mémoire du FlashRunner 2.0.

Cette méthode simple offre un moyen sûr et efficace de sécuriser votre logiciel contre les tentatives de vol, mais elle présente une limitation : une fois que le FlashRunner 2.0 commence à programmer, les données transmises par câble entre le FlashRunner 2.0 et le dispositif à programmer sont déchiffrées.

Comment pouvons-nous garder les données cryptées également sur le câble ?
En établissant une forme de communication chiffrée, de sorte que le déchiffrage sera effectué à l'intérieur du composant cible. La mise en œuvre de cette fonctionnalité dépend de la cible car elle est liée à la façon dont les spécifications de programmation du microcontrôleur cible sont conçues.

Comment établir une communication chiffrée, et effectuer le déchiffrage à l'intérieur du composant cible :
Certains composants peuvent être flashés dans l'application, au travers d’un petit firmware dans la RAM, qui fait programmer la mémoire intégrée. Cela nous donne l’opportunité de concevoir un firmware dédié de flashage personnalisé :
  • Le FlashRunner 2.0 envoie les données chiffrées par le câble directement au DUT qui est chargé avec notre firmware de flashage personnalisé en RAM.
  • Notre firmware de flashage personnalisé contient la clé de déchiffrement qui sera utilisée pour déchiffrer les données et flasher la mémoire intégrée.
Cette méthode dépend du composant cible et doit être considérée comme une fonctionnalité de programmation personnalisée.
Fabrication Cybersecure-Antipiratage - ISIT

Traçabilité

Les processus de fabrication des cartes électroniques exigent des normes élevées, y compris en termes de traçabilité.
Le FlashRunner 2.0 propose plusieurs méthodes capables de fournir une traçabilité à l’ensemble du système :
  • Fonction de logging : fournit un historique complet des commandes exécutées. Chaque commande est enregistrée avec son propre horodatage
  • Le protocole FlashRunner 2.0 est basé sur un protocole d'envoi-réception simple. Chaque commande envoyée recevra une réponse. Chaque exécution de projet a un état de retour clair : PASS/FAIL
  • Message de retour d’erreur : chaque commande a son propre message de retour d'erreur, qui est fourni dans son intégralité dans une fonction « pile de retour erreur »
L'outil GUI Workbench fournit des statistiques simples sur le nombre total de cycles de programmation. D'autres implémentations peuvent être effectuées sur votre propre banc de test à l'aide de la librairie d'interface (DLL) FlashRunner.
Fabrication Cybersecure-Tracabilité - ISIT

Flash matching

Chaque site d’assemblage de cartes électroniques doit assurer au client que le processus de programmation a été effectué correctement, et fournir la preuve de cela.

Pour cette raison, chaque pilote FlashRunner contient en standard la méthode Verify ReadOut qui lit le contenu de la mémoire flash et le compare à celui du firmware original.

D'autres méthodes, lorsque cela a du sens, sont implémentées : La méthode Verify Checksum, est plus rapide, car elle compare des nombres représentant la somme de nombres corrects.

Un autre instrument utile lors de l'analyse de pré-production est la méthode DUMP. Cette dernière est implémentée en tant que commande standard dans le pilote FlashRunner 2.0. DUMP permet de lire et d’enregistrer dans un fichier l’intégralité du contenu de la mémoire qui vient d’être flashée.

Fabrication Cybersecure - Flash - ISIT

Caractéristiques supplémentaires

Plusieurs autres fonctionnalités sont disponibles sur les pilotes FlashRunner, qui implémentent des routines de sécurité spécifiques. Pour en savoir plus, vous pouvez vous inscrire sur le WIKI SMH sur http://www.smh-tech.com/login-form , afin d'avoir accès à toutes les informations relatives aux drivers FlashRunner. Pour chaque pilote, une description de la commande est présentée, avec une liste complète de ces fonctionnalités.
Voici un exemple des fonctionnalités de cybersécurité des pilotes RH850. En cas de non prise en charge, des fonctionnalités supplémentaires peuvent être implémentées sur demande.

 
Fabrication Cybersecure 3- ISIT
Christian BESSOUDOUX
Responsable Département Production & Test  -  cbessoudoux@isit.fr