Brevet FR2781066A1 — publié le 20000114

PROCEDE DE SECURISATION DE DONNEES DANS UNE MACHINE DE TEST DE COMPOSANTS ELECTRONIQUES La présente invention concerne un procédé de sécurisation de données dans une machine de test de composants électroniques. L'invention trouve une application particulièrement avantageuse dans le domaine du test des composants électroniques. D'une manière générale, une machine de test de composants électroniques est essentiellement constituée de trois éléments: - une unité centrale (CPU) munie notamment d'un moyen de stockage, tel qu'un disque dur, dans lequel est installé au moins un fichier du test à effectuer. Cette unité centrale est en fait un ordinateur permettant à un opérateur de démarrer le test, surveiller certains paramètres en cours d'exécution, et recueillir les données en fin de test. Les fichiers de test comprennent, entre autres, une table de vérité dont chaque colonne correspond à une broche des composants sous test et dont chaque ligne, appelée aussi vecteur, définit une configuration des signaux logiques, 0 ou 1, qui sont, soit des stimuli à appliquer à certaines broches, soit les réponses attendues aux stimuli appliqués sur d'autres broches, - une électronique de test reliée à l'unité centrale par une interface- testeur située entre le bus de l'unité centrale et un bus de transmission de l'électronique de test à travers lequel les fichiers de vecteurs de test sont transférés, avant exécution, depuis le disque dur de l'unité centrale vers une mémoire locale de l'électronique de test. Cette opération de transfert de fichiers de vecteurs de test est rendue nécessaire du fait qu'un test effectué directement à partir de fichiers stockés sur le disque dur présenterait une durée beaucoup trop longue, compte tenu des temps de lecture sur le disque dur ainsi que du temps mis pour transmettre les fichiers à travers l'interface-testeur entre le disque dur et l'électronique de test. Cette dernière comprend également un générateur de temps destiné à fournir des instants agencés en une séquence temporelle d'événements. Un formateur est chargé d'organiser les vecteurs de la table de vérité selon la séquence temporelle reçue du générateur de temps de manière à constituer un train de signaux logiques conforme aux opérations successives devant être effectuées au cours du test. - une tête de travail dans laquelle sont disposés les composants électroniques à tester, et comprenant une broche électronique ayant pour fonction de mettre sous forme analogique les stimuli logiques en fonction de la technologie et de la logique utilisées par les composants et, inversement, de mettre sous forme logique les réponses des composants aux stimuli appliqués. Actuellement, les fichiers de vecteurs de test sont installés en clair sur le disque dur de l'unité centrale. Son contenu, notamment les vecteurs de test, est donc facilement accessible depuis l'ordinateur de la machine de test et peut être copié sur n'importe quel support, disquettes en particulier. En outre, il est prévu dans le fonctionnement de la machine un mode "débogue" de lecture ou modification de la mémoire locale après son chargement. Dans ce mode particulier, il est donc également possible d'accéder aux fichiers chargés dans la mémoire locale, et, de là, aux vecteurs de test. Or, les vecteurs de test contiennent des données sensibles, telles que, par exemple, les codes de cartes bancaires, des logiciels embarqués, comme des logiciels de jeu, protégés par le droit d'auteur, ou encore des mots de passe permettant d'accéder aux composants pour relecture des logiciels implantés en cours de test. Aussi, le problème technique à résoudre par l'objet de la présente invention est de proposer un procédé de sécurisation de données dans une machine de test de composants électroniques, comportant une unité centrale munie d'un moyen de stockage et une mémoire locale reliée audit moyen de stockage par un bus de transmission, procédé qui permettrait de limiter et de contrôler l'accès aux fichiers des vecteurs du test pendant les différentes phase de son déroulement. Une solution au problème technique posé est obtenue, selon l'invention, du fait que ledit procédé comprend les étapes consistant à: a) établir au moins un fichier de vecteurs de test, b) crypter des données contenues dans le fichier de vecteurs de test à l'aide d'un moyen de cryptage / décryptage, c) installer le fichier de vecteurs de test crypté dans le moyen de stockage de l'unité centrale, d) avant chaque test, charger le fichier de vecteurs de test crypté dans ladite mémoire locale à travers le bus de transmission, e) décrypter les données cryptées du fichier de vecteurs de test à l'aide dudit moyen de cryptage / décryptage, f) puis, effectuer le test. Ainsi, le procédé de sécurisation conforme à l'invention permet d'empêcher l'accès aux données sensibles lorsque le fichier de vecteurs de test est installé dans le moyen de stockage, disque dur notamment, de 1' unité centrale. Toutefois, comme cela a été mentionné plus haut, il est possible, même après chargement du fichier de vecteurs de test, d'accéder à la mémoire locale et donc aux données sensibles non cryptées, en utilisant le mode de lecture ou modification, ledit mode "débogue", destiné à permettre à l'opérateur d'intervenir en cas d'apparition d'erreurs au cours de l'exécution du test. C'est pourquoi l'invention prévoit qu'après l'étape e) on interdit l'accès pour lecture ou modification à la mémoire locale. Cependant, si l'on veut que l'opérateur puisse lire ou modifier la mémoire locale pour correction, par exemple lors de la mise au point du programme ou la recherche d'un problème dans le test, il y a avantage à ce que l'accès pour lecture ou modification à la mémoire locale est rendu autorisé sur présentation d'un autorisation d'accès. Selon un mode de réalisation particulier de l'invention, ledit moyen de cryptage / décryptage est une carte à puce électronique contenant une clé secrète et un algorithme de cryptage/décryptage. La sécurisation ainsi obtenue est très élevée car, d'une part, la clé secrète, enfouie dans la mémoire de la carte, ne peut être connue ni de la personne qui crypte les données sensibles ni de l'opérateur, et d'autre part, elle n'est jamais transmise à la machine de test car c'est la carte qui effectue elle-même le décryptage. De même, on peut prévoir que ladite autorisation d'accès est contenue dans une carte à puce électronique qui sera en général différente de la carte de cryptage / décryptage, mais munie de tous les privilèges d'accès au mode "débogue". La description qui va suivre, en regard des dessins annexés, donnés à titre d'exemples non limitatifs, fera bien comprendre en quoi consiste l'invention et comment elle peut être réalisée. La figure 1 est un bloc-diagramme d'une machine de test apte à la mise en oeuvre du procédé de sécurisation conforme à l'invention. La figure 2 est un bloc-diagramme illustrant les différentes étapes du procédé de sécurisation conforme à l'invention. Les figures 3a) à 3e) sont des blocs-diagrammes illustrant les fonctions successives de l'interface de sécurisation de la machine de test de la figure 1. Sur la figure 1 sont représentés sous forme de blocs-diagrammes les principaux organes d'une machine de test tels qu'ils ont déjà été mentionnés dans la partie introductive de ce mémoire. On y retrouve l'unité centrale 100, commandée par un opérateur 1 au moyen d'un clavier et d'un écran, et comprenant un calculateur 110 ainsi qu'un moyen 120 de stockage, ici un disque dur, destiné à recevoir le ou les fichiers contenant les vecteurs de test groupés dans une table de vérité. Pour désigner un fichier de vecteurs de test, on utilisera, soit la lettre F pour le fichier en clair, soit la lettre F' pour le fichier crypté. Comme l'indique la figure 1, le disque dur 120 est prévu pour stocker des5 fichiers de vecteurs de test sous forme cryptée. L'unité centrale 100 comporte également un dispositif de lecture de cartes à puce électronique et une interface 150 de sécurisation dont les fonctions seront décrites plus loin. Un bus VME 140 de l'unité centrale 100 permet la communication entre le calculateur 110, le disque dur 120 et une interface-testeur 130 permettant l'accès à une électronique 200 de test qui est l'unité chargée d'exécuter toutes les opérations de test sur les composants électroniques disposés sur la tête 300 de la machine. L'électronique 200 de test comporte une mémoire locale 210 reliée à l'interface-testeur 130 de l'unité centrale 100 par un bus B1, B2 de transmission via l'interface 150 de sécurisation. La mémoire locale 210 est destinée à recevoir les fichiers de test dont les vecteurs sont ensuite constitués par un formateur 230 en un train de signaux logiques séquences par un générateur 220 de temps, lesdits signaux logiques étant ensuite convertis en signaux appropriés par une broche électronique 310 de mise en forme incluse dans la tête 300 de travail, les composants étant placés sur la tête proprement dite 320. Afin de sécuriser les données sensibles contenues dans les vecteurs du fichier de test, il est proposé un procédé qui va maintenant être décrit en référence aux figures 1, 2 et 3. Le procédé de sécurisation, objet de l'invention, prévoit dans un premier temps qu'après avoir établi au moins un fichier F de vecteurs de test en clair, ce dernier est crypté, au moins partiellement, par un moyen de cryptage / décryptage qui, dans le mode de mise en oeuvre décrit, est une carte 10 à puce électronique contenant une clé secrète et un algorithme de cryptage/décryptage. L'opération de cryptage peut être effectuée sur la machine de test elle-même en utilisant un lecteur de cartes, comme indiqué sur la figure 1. Elle peut cependant être également effectuée en tout autre lieu, le fichier F' crypté étant alors fourni à la machine de test accompagné de la carte 10 de cryptage / décryptage. D'une manière générale, le cryptage des vecteurs de test sera essentiellement partiel et ne portera que sur les données sensibles que l'on entend protéger. C'est ce qui est symboliquement représenté sur les10 figures 2 et 3 par la zone noircie du fichier F'. Après compilation, le fichier F' crypté est installé sur le disque dur de la machine de test. Les données sensibles sont alors inaccessibles notamment par l'opérateur 1, la partie grisée sur la figure 1 de l'unité centrale 100 devenant une zone entièrement protégée. Lorsque le test doit être effectué, et pour les raisons exposées plus haut, le fichier F' crypté des vecteurs de test est transféré tel quel du disque dur 120 à la mémoire locale 210 à travers le bus B1, B2 de transmission. Cette opération correspond à l'étape a) de la figure 3, au cours de laquelle l'interface 150 de sécurisation assure la continuité entre les sections B1 et B2 du bus de transmission. Ensuite, pour pouvoir effectuer le test, le fichier F' crypté est décrypté dans la carte 10 à puce électronique de cryptage/décryptage introduite dans le lecteur de la machine de test en liaison avec l'interface 150 de sécurisation et renvoyé dans la mémoire locale 210. Pendant cette phase de décryptage, représentée à l'étape b) de la figure 3, seule la section B2 du bus de transmission est active, sous le contrôle de l'interface 150 de sécurisation. Après décryptage, un message d'acquittement est envoyé à l'unité centrale 100 pour vérification, en ce sens que l'acquittement reçu doit correspondre à la bonne carte 10 de cryptage / décryptage et que le fichier décrypté doit être le bon. Puis, après chargement des vecteurs de test, et comme le montre l'étape c) de la figure 3, l'interface 150 de sécurisation interdit tout accès à la mémoire locale 210 pour lecture ou modification (mode "débogue). Toutefois, si une intervention de l'opérateur 1 s'avérait nécessaire du fait d'une anomalie dans le déroulement du test, il serait possible d'accéder au mode "débogue" pour lecture ou modification de la mémoire locale 210 sur présentation d'une autorisation d'accès contenue, par exemple, dans une carte 20 à puce électronique insérée dans le lecteur de la machine de test, ainsi qu'on peut le voir à l'étape d) de la figure 3. A la fin du test, l'interface 150 de sécurisation rétablit la communication le long du bus B1, B2 de transmission, après, bien is5 entendu, avoir vidé la mémoire locale 210 du fichier F de vecteurs de test en clair. REVENDICATIONS 1 - Procédé de sécurisation de données dans une machine de test de composants électroniques, comportant une unité centrale (100) munie d'un moyen (120) de stockage et une mémoire locale (210) reliée audit moyen (120) de stockage par un bus (B1, B2) de transmission, caractérisé en ce que ledit procédé comprend les étapes consistant à: a) établir au moins un fichier (F) de vecteurs de test, b) crypter des données contenues dans le fichier (F) de vecteurs de test à l'aide d'un moyen (10) de cryptage / décryptage, c) installer le fichier (FI de vecteurs de test crypté dans le moyen (120) de stockage de l'unité centrale (100), d) avant chaque test, charger le fichier (F') de vecteurs de test crypte dans ladite mémoire locale (210) à travers le bus (B1, B2) de transmission, e) décrypter les données cryptées du fichier (F') de vecteurs de test à l'aide dudit moyen (10) de cryptage / décryptage, f) puis, effectuer le test. 2 - Procédé selon la revendication 1, caractérisé en ce que ledit moyen de cryptage / décryptage est une carte (10) à puce électronique contenant une clé secrète et un algorithme de cryptage/décryptage. 3 - Procédé selon l'une des revendications 1 ou 2, caractérisé en ce qu'après décryptage des données sensibles, un message d'acquittement est envoyé à l'unité centrale (100) pour vérification. 4 - Procédé selon l'une quelconque des revendications 1 à 3, caractérisé en ce qu'après l'étape e) on interdit l'accès à la mémoire locale (210) pour lecture ou modification. - Procédé selon la revendication 4, caractérisé en ce que l'accès à la mémoire locale (210) pour lecture ou modification est rendu autorisé sur présentation d'une autorisation d'accès. 6 - Procédé selon la revendication 5, caractérisé en ce que ladite autorisation d'accès est contenue dans une carte (20) à puce électronique.