Brevet FR2804226A1 — publié le 20010727

Etat de la technique: La présente invention concerne un dispositif et un procédé pour interdire des copies pirates de programmes d'ordinateur applicables à un ordinateur comportant un moyen d'entrée et de sortie pour un échange bidirectionnel de don- nées avec l'ordinateur, et un premier élément de mémoire con- tenant un fichier transmissible à l'ordinateur par le moyen de sortie. Les programmes d'ordinateur enregistrés sur un support de données peuvent être copiés aussi souvent que sou- haité. Les fabricants de programmes d'ordinateur du commerce cherchent dans ces conditions à protéger leurs produits con- tre les copies non autorisées ou de garantir que les versions copiées de manière non autorisée de leurs programmes d'ordinateur ne puissent fonctionner. Une forme particulière de protection contre les copies est l'utilisation de clés électroniques. Une clé élec- tronique est un module câblé qu'il faut engager dans le port du module d'un ordinateur pour permettre d'utiliser le pro- gramme d'ordinateur correspondant. Sans cette clé électroni- que, le programme ne peut tourner. Le programme d'ordinateur peut être copié certes un nombre quelconque de fois mais il ne peut se dérouler sur un ordinateur que si la clé électro- nique est engagée dans le port du module. Un inconvénient est toutefois qu'à l'utilisation du programme, la clé électronique se trouve toujours dans le port du module de l'ordinateur dans lequel elle doit en géné- ral rester engagée dans son interface série ou parallèle. Ce- la signifie l'occupation d'une interface de l'ordinateur. En cas de perte de la clé électronique, le programme n'est plus utilisable. Si plusieurs programmes d'ordinateur ainsi proté- gés sont installés dans l'ordinateur, l'utilisateur qui ne dispose pas d'un nombre suffisant de ports doit alterner les clés électroniques. Selon le document WO 91/1586, on connaît une clé électronique qui à l'installation du programme transmet des données à l'ordinateur et modifie le programme qui est d'abord installé de manière à ne pas fonctionner pour qu'il puisse alors l'être. La clé électronique n'est ensuite plus nécessaire et peut s'enlever. Cela garantit que le programme d'ordinateur ne soit utilisé que dans un ordinateur. L'utilisateur n'a aucune possibilité d'installer ultérieu- rement le programme sur un autre ordinateur, car la clé élec- tronique devient inutilisable après une seule utilisation. La présente invention a pour but de développer un dispositif et un procédé permettant d'interdire les copies pirates de programmes d'ordinateur, tout en permettant d'utiliser un programme à des instants différents dans plu- sieurs ordinateurs. A cet effet, l'invention concerne un dispositif du type défini ci-dessus, caractérisé par un second élément de mémoire qui peut être inscrit par les moyens d'entrée. Suivant d'autres caractéristiques avantageuses de l'invention: * le premier et le second éléments de mémoire sont intégrés dans un composant de mémoire. * le composant de mémoire est une mémoire à semi-conducteur, non fugitive. * les moyens d'entrée et de sortie sont réalisés de façon correspondante à un port modulaire de l'ordinateur pour être engagés dans ce port. L'invention concerne également un procédé pour éviter les copies notamment des copies pirates de programmes d'ordinateur, caractérisé par les étapes suivantes: * on relie un dispositif selon les revendications 1 à 4, à un ordinateur pour un échange bidirectionnel de données, * on transmet un premier fichier contenant une clé, du dis- positif vers l'ordinateur, * on copie un second fichier contenant la caractéristique de l'ordinateur, de l'ordinateur vers le dispositif. Suivant d'autres caractéristiques avantageuses du procédé: * on introduit en plus dans l'ordinateur, un numéro de libé- ration codé avec la clé, * après vérification de la caractéristique qui se trouve dans le fichier copié sur le dispositif, l'ordinateur transmet la clé de nouveau en retour vers le dispositif qui a été branché. Enfin, l'invention concerne également un support de données contenant un programme d'ordinateur exécutable dans un ordinateur par lecture du support de données, ce der- nier contenant également une clé et une caractéristique pour exécuter son enregistrement selon le procédé de l'invention. Avantages de l'invention: L'invention utilise un dispositif comportant des moyens d'entrée et de sortie pour un échange de données bidi- rectionnel avec un ordinateur électronique et un premier élé- ment de mémoire. Le premier élément de mémoire contient un ensemble de données que le moyen d'émission transmet à l'ordinateur électronique. Le dispositif selon l'invention se caractérise par un second élément de mémoire à inscrire par le moyen d'entrée. De manière préférentielle, le premier et le se- cond éléments de mémoire sont intégrés dans un composant de mémoire. Comme composant de mémoire, on utilise de préférence une mémoire à semiconducteur non fugitive telle que par exemple une mémoire ROM. Selon un développement avantageux de l'invention, les moyens d'entrée et de sortie du dispositif sont réalisés de façon correspondante à un port modulaire de l'ordinateur. Le dispositif peut comporter par exemple un connecteur ou une douille que l'on engage dans une interface de l'ordinateur. Dans ce cas, l'échange de données bidirectionnel se fait par l'interface occupée. Le procédé selon l'invention se compose de plu- sieurs étapes: Tout d'abord, on relie le dispositif décrit ci- dessus à un ordinateur électronique pour permettre un échange bidirectionnel de données entre l'ordinateur et le disposi- tif. Puis, on transmet un fichier contenant une clé électro- nique du dispositif vers l'ordinateur. Le fichier se trouve alors uniquement dans l'ordinateur. En variante, le fichier peut être copié par le dispositif dans l'ordinateur, puis être effacé dans le dispositif. Ensuite, on copie un second fichier de l'ordinateur vers le dispositif. Ce second fichier contient une caractéristique de l'ordinateur qui lui est at- tribuée de manière univoque. Comme le dispositif contient la caractéristique de l'ordinateur, la clé électronique peut de nouveau être transmise. La clé électronique peut alors être appliquée à un autre ordinateur qui reçoit la clé. De cette manière, on peut utiliser un programme d'ordinateur à des instants différents dans plusieurs ordinateurs. Dans un développement préférentiel du procédé de l'invention, on introduit en plus dans l'ordinateur, un numé- ro de libération, codé. A l'achat du programme, le client re- çoit le numéro de libération qui est codé avec la clé dans le dispositif ou qui a été codé. A l'installation du programme, il faut introduire le numéro de libération. Au lancement du programme, à l'aide de la clé, on décode le numéro de libéra- tion et on active ainsi certains modules de programme ou dif- férents modes. Ainsi le vendeur peut mettre à la disposition du client une évaluation définie dans le temps ou une version de démonstration, courante, limitée dans le temps. Si ulté- rieurement, le client souhaite un autre module ou la version complète, il lui suffit de transmettre un nouveau numéro de libération. Cette transmission peut se faire sans nécessiter de précautions particulières, car le numéro de libération ne peut être utilisé qu'avec le dispositif correct. Après la transmission de la clé, on peut de nou- veau enlever le dispositif. Ainsi, il n'est plus nécessaire, mais il n'est pas inutile. Si ultérieurement l'utilisateur veut se servir du programme sur un autre ordinateur, il lui suffit de brancher le dispositif sur l'ordinateur. Le dispo- sitif reconnaît alors sans équivoque l'ordinateur à l'aide de la caractéristique qui lui est propre. Après ce contrôle, on peut de nouveau transmettre la clé en retour. Le dispositif peut alors s'utiliser sur un autre ordinateur. La présente invention sera décrite ci-après de manière plus détaillée à l'aide d'un exemple de réalisation représenté schématiquement dans les dessins annexés, dans lesquels: - la figure 1 montre un ordinogramme d'un programme avec un numéro de libération installé à partir d'une disquette sur le disque dur d'un ordinateur, - la figure 2 montre comment libérer l'utilisation d'un or- dinateur à l'aide d'un dispositif selon l'invention, - la figure 3 montre comment libérer un module de programme codé avec un numéro de libération, - la figure 4 montre le blocage de l'utilisation d'un pro- gramme. Selon les dessins, la figure 1 montre par un or- dinogramme, comment est installé un numéro de libération à partir d'une disquette sur le disque dur d'un ordinateur. L'installation commence par l'étape 101. Puis dans l'étape 102, on demande si l'utilisateur souhaite ins- taller le programme. Si cela est le cas, dans l'étape 103, on installe des parties de programme de la disquette sur le dis- que dur de l'ordinateur et dans l'étape 104, on installe le pilote, les icônes et d'autres modules. Ensuite dans l'étape , l'utilisateur introduit le numéro de libération codé. Si l'utilisateur décide dans l'étape 102 de s'opposer à l'installation (éventuellement les modules de programme, né- cessaires ont été installés préalablement), on poursuit di- rectement par l'étape 105. L'introduction du numéro de libération codé est enregistrée dans l'étape 106 dans un fi- chier. Par l'étape 107 se termine l'installation. La figure 2 montre comment libérer le programme d'utilisation avec un dispositif selon l'invention appelé ici clé électronique dans un ordinateur ou un PC. Dans l'étape 201, on lance le programme. Dans l'étape 202, on vérifie si une clé électronique a été appli- quée. Dans la négative, l'étape 209 interrompt le fonctionne- ment. Si une clé électronique a été appliquée, l'étape 203 vérifie si cette clé électronique correspond à une clé va- lide. Si cela n'est pas le cas, l'étape 204 vérifie si la clé électronique contient la caractéristique PC correcte. Si cela n'est pas non plus le cas, l'opération se termine. Si la clé électronique correspond à la clé valide ou à la caractéristi- que correcte du PC, dans l'étape 205, on copie la clé et le numéro de licence du programme d'ordinateur dans le PC. Puis, dans l'étape 206, on efface la clé dans la clé électronique. Dans l'étape 207, on enregistre la caractéristique de l'ordinateur dans la clé électronique. La libération se ter- mine par l'étape 208. La figure 3 montre comment libérer des modules de programme avec les numéros de libération codés. On lance le programme par l'étape 301. Dans l'étape 302, on vérifie l'existence d'une clé dans l'ordi- nateur. En l'absence de clé, dans l'étape 308, l'opération s'arrête. En présence d'une clé, l'étape 303 extrait le numé- ro de licence du programme d'ordinateur. Dans l'étape 304, on extrait ensuite le numéro de libération codé d'un fichier. Puis dans l'étape 305, avec le numéro de licence et à l'aide de la clé, on décode le numéro de libération. Dans l'étape 306, le numéro de libération, décodé active les modules de programme correspondants. L'opération se termine par l'étape 307. La figure 4 montre comment bloquer l'utilisation du programme. L'opération commence par l'étape 401. Dans l'étape 402, on vérifie si une clé électronique a été appli- quée. En l'absence de clé ou si celle-ci est appliquée diffé- remment, l'étape 408 commande la fin du fonctionnement. Si une clé électronique est appliquée, l'étape 403 vérifie si cette clé contient la caractéristique correcte de l'ordi- nateur. Dans la négative, il y a coupure. Si la caractéristi- que correcte du PC est contenue dans la clé, l'étape 404 co- pie la clé dans la clé électronique. Puis dans l'étape 405, on efface la clé dans l'ordinateur. Ensuite, on efface la ca- ractéristique de l'ordinateur dans la clé électronique. L'opération se termine par l'étape 407. Comme la clé se trouve de nouveau dans la clé électronique, ce programme permet de libérer un autre ordina- teur. Cela garantit que le programme ne tourne à un instant donné que sur un seul ordinateur. La clé électronique peut contenir également plus d'une clé. Si par exemple un client achète plus d'une li- cence, il peut recevoir un nombre correspondant de clés élec- troniques avec chaque fois une clé ou une seule clé électro- nique avec un nombre correspondant de clés. On peut également transmettre plusieurs clés électroniques avec plusieurs clés. La clé électronique peut être reliée directement par exemple à un ordinateur à installer (PC), mais on peut également envisager d'autres solutions. Dans un mode de réa- lisation avantageux de l'invention, par exemple une liaison de réseau pourrait bénéficier de l'accès à au moins à une clé électronique centrale contenant plusieurs clés. Une réparti- tion centralisée de programme, en grand, notamment au niveau d'une entreprise est ainsi possible dans le cadre de l'invention. Si la mémoire de la clé électronique ne suffit pas pour les différentes caractéristiques d'ordinateur et clé, on peut transférer ces informations sur un fichier, ce qui correspond à un développement avantageux de l'invention. Pour éviter les manipulations, à chaque accès au fichier, on forme une caractéristique de contrôle notamment une somme de contrôle et uniquement cette caractéristique de contrôle ou cette somme de contrôle sera enregistrée dans la clé électro- nique. Cela permet de produire ou de reproduire de façon peu coûteuse en série, les programmes, de manière avanta- geuse, car il n'y a pas à insérer de caractéristiques indivi- duelles dans le support de données. R E V E N D I C A T I ON S ) Dispositif pour interdire des copies pirates de program- mes d'ordinateur applicables à un ordinateur comportant: * un moyen d'entrée et de sortie pour un échange bidirec- tionnel de données avec l'ordinateur, * un premier élément de mémoire contenant un fichier trans- missible à l'ordinateur par le moyen de sortie, caractérisé par: un second élément de mémoire qui peut être inscrit par les moyens d'entrée. 2 ) Dispositif selon la revendication 1, caractérisé en ce que le premier et le second éléments de mémoire sont intégrés dans un composant de mémoire. 3 ) Dispositif selon la revendication 2, caractérisé en ce que le composant de mémoire est une mémoire à semi-conducteur, non fugitive. 4 ) Dispositif selon l'une quelconque des revendications 1 à 3, caractérisé en ce que les moyens d'entrée et de sortie sont réalisés de façon cor- respondante à un port modulaire de l'ordinateur pour être en- gagés dans ce port. ) Procédé pour éviter les copies notamment des copies pira- tes de programmes d'ordinateur, caractérisé par les étapes suivantes: * on relie un dispositif selon les revendications 1 à 4, à un ordinateur pour un échange bidirectionnel de données, * on transmet un premier fichier contenant une clé, du dis- positif vers l'ordinateur, * on copie un second fichier contenant la caractéristique de l'ordinateur, de l'ordinateur vers le dispositif. 6 ) Procédé selon la revendication 5, caractérisé en ce qu' on introduit un numéro de libération codé avec la clé, en plus dans l'ordinateur. 7 ) Procédé selon la revendication 5, caractérisé en ce qu' après vérification de la caractéristique qui se trouve dans le fichier copié sur le dispositif, l'ordinateur transmet la clé de nouveau en retour vers le dispositif qui a été bran- ché. 8 ) Support de données contenant un programme d'ordinateur qui peut être exécuté dans un ordinateur par lecture du sup- port de données, caractérisé en ce que le support de données contient également une clé et une ca- ractéristique et à l'enregistrement du support de données, on exécute un procédé selon l'une quelconque des revendications 5 à 7.