Brevet FR2739703A1 — publié le 19970411

ETAT DE LA TECHNIQUE L'invention concerne un appareil de contrôle notam- ment pour des appareils de commande électroniques de véhicules automobiles comprenant un ordinateur recevant les programmes de contrôle enregistrés sur les supports de données ou fournis par des lignes de transmission de données ainsi qu'un adaptateur susceptible d'être branché entre une interface de l'ordinateur et au moins un appareil électronique à contrôler. De tels appareils de contrôle dans lesquels des adaptateurs sont branchés entre un ordinateur et les appareils de commande électroniques à contrôler, sont connus; ils sont réalisés et utilisés par exemple par la Demanderesse comme ap- pareils de contrôle d'atelier pour les vérifications ainsi que comme appareils de recherche de défaut dans des appareils élec- troniques de commande de véhicules automobiles. Les programmes de contrôle sont fournis sur des supports de données par exem- ple sur des disques à mémoire morte (CD-ROM). Le programme de contrôle est installé à partir d'un support de données sur le disque dur de l'ordinateur et peut servir à certains contrôles. Un intérêt principal d'un fabricant de tels pro- grammes de contrôle est que ses programmes ou les nouvelles versions de ceux-ci sont achetés et non pas copiés. Le piratage est un mal connu très répandu et contre lequel les fabricants de programme cherchent à se protéger au maximum. Un mode connu de protection d'un programme est l'utilisation de "dongles". Un "dongle" est un composant de circuit, distinct, que les utilisateurs doivent brancher sur une interface de l'ordinateur pour pouvoir utiliser les pro- grammes appropriés. Les programmes de l'appareil contiennent des étapes de contrôle qui vérifient de manière répétée la pré- sence du dongle correct. Celui-ci constitue ainsi en quelque sorte une clé qui autorise le programme aussi longtemps qu'il est branché. L'inconvénient d'un dongle est d'occuper une in- terface externe ou interne de l'ordinateur uniquement pour un tel moyen de protection. Il est en outre connu d'utiliser des clés de libé- ration de programme. Pour une opération de communication en gé- néral à plusieurs étapes établies avec le fabricant du programme ou un autre point autorisé, l'utilisateur doit se procurer une clé de libération sous la forme d'un code pour ac- céder au programme souhaité. L'opération de communication peut se faire de manière totalement électronique (par exemple par un modem) mais également de manière vocale et/ou par écrit. Lors- que la libération a réussi, le résultat de la libération est enregistré dans une mémoire non volatile. Le résultat consiste fréquemment à installer des programmes ou des parties de celui- ci à partir d'un support de données en lecture simple dans la mémoire non volatile (par exemple le disque dur). Pour l'ordi- nateur qui utilise de telles mémoires non volatiles, les pro- grammes sont libérés définitivement dans la mesure o aucune limite n'est établie par un procédé supplémentaire. Un inconvé- nient caractéristique est que la protection des programmes n'est assurée que jusqu'au moment de leur libération. Le fait de savoir que les programmes sont libres, est inscrit alors dans cette mémoire non volatile par exemple sous la forme que des programmes et des parties de ceux-ci ici sont maintenant installées. Cela permet également la copie dans cette mémoire non volatile et l'utilisation de ces copies. AVANTAGES DE L'INVENTION: La présente invention a pour but de remédier à ces inconvénients et concerne à cet effet un appareil de contrôle caractérisé en ce que: - l'adaptateur (14) contient une première information codée in- dividuelle mise dans une mémoire fixe, - l'appareil de contrôle contient des moyens de mémoire (19) pour enregistrer une seconde information codée, différente de la première information codée et qui dépend de la première information codée selon un algorithme prédéterminé, et - le programme de contrôle contient des étapes de programme pour demander les informations codées et pour les vérifier à l'aide de l'algorithme ainsi que d'autres étapes de programme pour libérer le fonctionnement de l'appareil de commande par le programme de contrôle si la seconde information codée est enregistrée correctement. L'appareil de contrôle selon l'invention présente l'avantage que la propriété du programme est découplée de son utilisation et que le point d'autorisation peut commander l'utilisation. La protection du programme de l'appareil de con- trôle selon l'invention se réalise d'une manière peu coûteuse, car l'infrastructure de l'adaptateur existant de toute façon, peut s'utiliser, comme par exemple le boîtier, les prises, les chemins de communication, les interfaces etc. Dans le cas de l'appareil de contrôle selon l'invention, on évite les inconvé- nients de la solution "dongles" et celle d'une simple clé de libération de programme tout en conservant les avantages et en évitant notamment que le programme ainsi libéré puisse être co- pié n'importe comment et être exécuté. La mémoire pour la seconde information codée est contenue notamment dans l'adaptateur; cette mémoire est réali- sable comme mémoire non volatile. Pour réaliser la libération contrôlée du fonction- nement de l'appareil de commande, il y a avantageusement des étapes de programme pour exécuter une installation totale ou partielle correcte du programme de contrôle dans l'ordinateur lorsque la seconde information codée est enregistrée correcte- ment. La seconde information codée, peut soit contenir un code de libération pour l'ensemble du programme de contrôle, soit un code de libération qui ne concerne dans le programme de con- trôle qu'une certaine version et/ou des parties de celui-ci et/ou une période déterminée et/ou un nombre limité d'utilisa- tions. Cela permet de commander le point autorisé en publiant une seconde information codée correspondante. Cette seconde in- formation codée ne suffit toutefois pas seule à mettre en route le programme de contrôle; bien plus, il faut en outre l'adap- tateur.30 Pour éviter une mise en oeuvre importante de moyens de communication d'une nouvelle version du programme apparais- sent fréquemment, disponibles par exemple pour l'utilisateur selon un contrat, les nouvelles versions ou des versions com- plémentaires du programme de contrôle contiennent une liste de35 premières informations codées (par exemple sous une forme co- dée) ainsi que des étapes de programme qui libèrent l'appareil de contrôle respectif pour la nouvelle version ou une version complémentaire du programme de contrôle lorsque l'adaptateur utilisé permet une telle première information codée. Cela a pour but de permettre d'installer de nouvelles versions sans mise en oeuvre de moyens de communication et de les utiliser; de tels utilisateurs sont automatiquement exclus de cette mise en règle lorsqu'ils n'ont pas conclu de contrat approprié et qu'ils préfèrent au coup par coup, acheter les nouvelles ver- sions du programme de contrôle. L'adaptateur peut être réalisé avantageusement sous la forme d'une carte placée dans un emplacement d'affichage li- bre de l'ordinateur. DESSINS: Un exemple de réalisation de l'invention est repré- senté dans les dessins et sera décrit ci-après de manière plus détaillée. L'unique figure est une vue schématique d'un appa- reil de contrôle selon l'invention. DESCRIPTION DE L'EXEMPLE DE REALISATION: L'appareil de contrôle représenté schématiquement à titre d'exemple dans l'unique figure annexée se compose d'un ordinateur 10 avec un écran 11 et un clavier 12; l'ordinateur peut par exemple être un PC. Il est clair que des réalisations particulières d'ordinateur sont également possibles. Une inter- face 13 par exemple une interface série de cet ordinateur est reliée par un adaptateur 14 à un composant électronique 15 à contrôler. Dans une réalisation sous forme d'appareil de con- trôle d'atelier pour l'industrie automobile, il s'agit d'un composant électronique 15 de l'électronique automobile usuelle- ment relié par le connecteur de diagnostic 16 à un appareil de diagnostic et de contrôle. Ce circuit électronique d'automobile peut être par exemple l'appareil de commande du moteur et/ou un appareil de commande de transmission ainsi que d'autres fonc- tions de composants électroniques qui peuvent être contrôlés également. L'opération de contrôle est exécutée à l'aide d'un programme de contrôle que l'utilisateur reçoit du fabricant sur des supports de données tels que des disquettes, des disques CD-ROM ou des moyens analogues ou encore de manière complète- ment électronique, par exemple par un modem, un réseau radio ou un moyen analogue. Le programme de contrôle est enregistré sur une mémoire non volatile de l'ordinateur 10 par exemple sur son disque dur. Après branchement de l'adaptateur 14 au chemin de diagnostic 16, on peut effectuer l'opération de contrôle. La description faite ci-dessus concerne l'exécution connue d'une opération de contrôle; la Demanderesse diffuse déjà de tels appareils et leur programme de contrôle. Pour se protéger contre une copie non autorisée et la diffusion des programmes de contrôle, des moyens ont été prévus selon l'in- vention pour protéger les programmes comme cela sera décrit ci- après. L'adaptateur 14 contient une information fixe enre- gistrée sous la forme d'une première information codée mise dans la mémoire 18 et qui est associée individuellement à cet adaptateur 14. Si l'utilisateur n'acquiert qu'un programme de contrôle, il communique au fabricant ou à un point autorisé, la première information codée de l'adaptateur 14 ou un chiffre ca- ractéristique de contrôle de cet adaptateur 14; ce chiffre peut par exemple être imprimé sur l'adaptateur. Il reçoit alors une seconde information codée qu'il enregistre dans une seconde mémoire 19 de l'adaptateur 14 à l'aide du programme de con- trôle. En principe, il peut s'agir sur le plan du circuit, de la même mémoire. La seconde information codée dépend de la pre- mière information codée par un algorithme prédéterminé. Cet al- gorithme est contenu dans le programme de contrôle. A l'appel du programme de contrôle, on appelle ainsi tout d'abord les deux informations codées dans les deux mémoires 18, 19 et on les contrôle réciproquement à l'aide de l'algorithme également inscrit dans le programme de contrôle pour vérifier que leur association est correcte. Si cette association est correcte, le programme de contrôle est installé de manière usuelle dans l'ordinateur 10 et peut s'utiliser. A chaque nouvel appel du programme de contrôle, on peut de nouveau appeler les deux in- formations codées par l'adaptateur 14 et les contrôler de ma- nière appropriée. Ce n'est qu'en reconnaissant des informations codées, correctes que le programme de contrôle peut démarrer. Il n'est pas possible dans ces conditions de dérouler le pro- gramme de contrôle sur un ordinateur en liaison avec un autre adaptateur. A la place d'un blocage de l'installation du pro- gramme de contrôle pour des informations codées non correctes ou des informations codées non enregistrées correctement, on peut avoir simplement un blocage du déroulement du programme; il peut s'agit par exemple d'un programme déverrouillé qui peut s'utiliser sans installation, directement à partir du support de données, distribué (disquette, disque CD-ROM ou moyen analo- gue). Il est en outre possible que le support de données fourni par le fabricant contienne plusieurs programmes de contrôle et des programmes de contrôle dans différentes versions; l'utili- sateur verse alors une taxe pour une version ou une partie de version d'un programme de contrôle. La seconde information co- dée fournie par le fabricant ou par un point autorisé tient compte de cela et autorise alors automatiquement seulement une installation ou une libération du programme ou partie de pro- gramme concernée. Cela est important notamment pour le disque CD-ROM, car leur grande capacité de mémoire autorise l'enregis- trement d'un grand nombre de programmes; cela permet d'envoyer un seul support de données à tous les utilisateurs et la se- conde information codée transmise ne permet d'accéder qu'à une partie du ou des programmes. La transmission du programme de contrôle et de la seconde information codée peut se faire non pas par transmis- sion par support de programme ou des informations écrites mais également par l'intermédiaire d'un modem. Dans les cas o l'utilisateur reçoit fréquemment de nouvelles versions du programme, les moyens nécessaires à l'établissement des communications peuvent paraître fastidieux pour la libération. Ainsi à titre d'exemple, l'utilisateur peut conclure pour son adaptateur 14 un contrat avec le fabricant ou le centre autorisé, et qui règle le domaine d'action de la li- bération. Les nouvelles versions de programme chaque fois dis-35 ponibles contiennent une liste de tous les adaptateurs libérés c'est-à-dire par exemple une liste des premières informations codées respectives de ces adaptateurs. A chaque nouvelle ver- sion de programme, dans ces cas, on interroge seulement la pre- mière information codée et on libère alors le programme. La li- bération de la première version de base peut également se faire de cette manière ou encore comme cela a déjà été décrit avec deux informations codées.5 La présente invention n'est pas limitée à la pro- tection de programme de contrôle mais s'utilise pour tous les types de programme liés à un ordinateur par un adaptateur avec des appareils à commander ou à contrôler. A la place d'un adaptateur distinct, on peut égale- ment utiliser un adaptateur sur carte par exemple comme carte enfichable dans l'ordinateur. Cela évite un second appareil distinct. R E V E N D I C A T I O NS 1 ) Appareil de contrôle notamment pour des appareils de com- mande électroniques de véhicules automobiles comprenant un or- dinateur recevant les programmes de contrôle enregistrés sur les supports de données ou fournis par des lignes de transmis- sion de données ainsi qu'un adaptateur susceptible d'être bran- ché entre une interface de l'ordinateur et au moins un appareil électronique à contrôler, caractérisé en ce que - l'adaptateur (14) contient une première information codée in- dividuelle mise dans une mémoire fixe, - l'appareil de contrôle contient des moyens de mémoire (19) pour enregistrer une seconde information codée, différente de la première information codée et qui dépend de la première information codée selon un algorithme prédéterminé, et - le programme de contrôle contient des étapes de programme pour demander les informations codées et pour les vérifier à l'aide de l'algorithme ainsi que d'autres étapes de programme pour libérer le fonctionnement de l'appareil de commande par le programme de contrôle si la seconde information codée est enregistrée correctement. 2 ) Appareil de contrôle selon la revendication 1, caractérisé en ce que l'adaptateur (14) contient la mémoire (19) pour la seconde in- formation codée. 3 ) Appareil de contrôle selon les revendications 1 ou 2, caractérisé en ce que les mémoires (18, 19) sont des mémoires non volatiles. 4 ) Appareil de contrôle selon l'une des revendications précé- dentes, caractérisé par des étapes de programme pour l'exécution d'une installation correcte ou d'une installation partielle du programme de con- trôle dans l'ordinateur (10) lorsque la seconde information co- dée est enregistrée correctement dans le programme de contrôle. ) Appareil de contrôle selon l'une quelconque des revendica- tions précédentes, caractérisé en ce que le support de données est une mémoire CD-ROM. ) Appareil de contrôle selon l'une des revendications précé- dentes, caractérisé en ce que la seconde information codée contient un code de libération de l'ensemble du programme de contrôle. 7 ) Appareil de contrôle selon l'une quelconque des revendica- tions 1 à 5, caractérisé en ce que la seconde information codée contient un code de libération qui ne libère le programme de contrôle que pour une version déter- minée et/ou dans les plages partielles et/ou dans une plage de temps déterminée et/pour un nombre limité d'utilisations. 8 ) Appareil de contrôle notamment pour des appareils de com- mande électroniques de véhicules automobiles comprenant un or- dinateur recevant les programmes de contrôle enregistrés sur les supports de données ou fournis par des lignes de transmis- sion de données ainsi qu'un adaptateur susceptible d'être bran- ché entre une interface de l'ordinateur et au moins un appareil électronique à contrôler, caractérisé en ce que l'adaptateur (14) contient une version enregistrée de manière fixe, individuelle de la première information codée et en ce que le programme de contrôle ou de nouvelles versions et des versions supplémentaires de celui-ci contiennent une liste d'informations codées et d'étapes de programme qui libèrent l'appareil de contrôle respectif pour chaque version du pro- gramme de contrôle lorsque l'adaptateur utilisé (14) contient une telle première information codée. 9 ) Appareil de contrôle selon la revendications 1 ou 8, caractérisé en ce que l'adaptateur (14) est sous la forme d'une carte adaptatrice. ) Appareil de contrôle selon la revendication 9, caractérisé en ce que la carte d'adaptateur comporte l'appareil (14) enfichable dans un emplacement d'enfichage de l'ordinateur (10). 11 ) Appareil de contrôle selon la revendications 4, caractérisé en ce que l'ordinateur (10) est un ordinateur PC.