FR 2841349 A1 20031226 FR 0216221 A 20021219 La presente invention a pour objet la protection des logiciels contre les copies frauduleuses. Jusqu'a present, il existait differents systemes de protection contre la copie frauduleuse de logiciels. Le premier consiste en un mot de passe a rentrer pendant ['installation du logiciel. Les fraudeurs se contentent de copier le logiciel et le mot de passe et de rentrer le mot de passe pendant I'installation de la copie frauduleuse. Un autre systeme consiste en un espece de > ou > que l'on branche sur port imprimante. Les fraudeurs ont tres vite trouve le moyen d'emuler de fa,con logiciel ce systeme et on peut considerer ce systeme de protection comme caduque. D'autres systemes utilisant pour proteger de la copie illegale des elements physiques existent. Mais ils ont presque tous etes emules de facon logicielle ou vent si lourd a mettre en place que leur commercialisation s'avere impossible. Un autre systeme consiste a permettre a l'utilisateur une utilisation gratuite pendant n jours, puis il se bloque. Si l'utilisateur decide d'en faire l'achat, il doit pour le debloquer ou pour supprimer la periode d'essais et avoir une utilisation illimitee du logiciel soit rentrer un numero de eerie, soit executer un fichier executable de deblocage qu'il aura re,cu par disquettes ou par Internet. Les fraudeurs se jouent de cette protection en creant des sites Internet dits > ou l'on peut trouver les numeros de serie ou des >, c'est a dire des fichiers executables illegaux qui vont deverrouiller le logiciel. Un autre systeme consiste a generer aleatoirement une clef de protection et le client doit contacter un centre dedie pour obtenir la clef de deblocage. Les fraudeurs parviennent systematiquement a creer leur propre generateur de clef de deblocage ou a creer un > de deblocage. Enfin, un systeme tres utilise actueliement consiste a prendre un numero d'identification de ['unite de logiciel que l'on appellera ID et de prendre plusieurs elements physiques de l'ordinateur, de les identifier et de generer avec l'iD une clef de protection. Pour deverrouiller la clef de protection, il faut soit utiliser un reseau comme Internet et se connecter a un serveur qui >, c'est a dire debloquera le logiciel soit appeler un centre d'appel dedie et leur communiquer le numero de la clef de protection. Ils donnent en echange un numero de clef de deverrouillage que l'utilisateur rentrera a la main. La contrainte de ce systeme est qu'on ne peut pas effectuer plus d'un certain nombre de changements materiels sur l'ordinateur sans qu'une nouvelle clef de protection soit generee et que de plus, il existe deja des > sur internet qui vont permettre de > cette protection. Notre systeme de protection contre la copie illegale de logiciels, completement autonome, va permettre une bien plus grande facilite d'utilisation pour les utilisateurs. D'autres caracteristiques et avantages de notre invention appara^trons mieux a la lecture de la description qui suit ainsi qu'aux figures annexees sur lesquelles: - la figure 1 represente un CD-ROM contenant un logiciel. - la figure 2 represente une carte mere ou module de secu rite a inserer dans la carte mere. - la figure 3 represente un peripherique avec lecteur de cartes a puces. - la figure 4 represente l'etat du serveur avant une premiere installation du logiciel. - la figure 5 represente les flux entre l'ordinateur et le serveur pendant ['installation d'un logiciel. - la figure 6 represente l'etat du serveur apres une premiere installation. La nouveaute est que le systeme implique un changement de toutes les cartes meres avec une periode transitoire ou l'on se contentera d'inserer un module dans les cartes meres existantes. Les caracteristiques du systeme vent les suivantes: -Chaque unite de logiciel aura sa propre clef publique unique accompagnee d'un numero d'identification unique appele ID (FIG1) -Chaque carte mere ou module de protection a inserer dans la carte mere aura une clef publique unique accompagnee d'un numero d'identification unique appele ID (FIG2) -Chaque carte mere ou module de protection a inserer dans la carte mere aura une clef publique cite de > accompagnee d'un generateur aleatoire du meme type de clef publique de blocage (FIG2) -Un serveur ou systeme de serveurs redondants contenants toutes les clefs secretes correspondantes aux clefs publiques citees plus haut avec pour chacune de ces clefs secretes le meme ID correspondent a l'ID des clefs publiques (FIG4) -L'algorithme de cryptage clefs publiques et clefs secretes sera de type Diffie Hellman. -Un peripherique externe dans un premier temps, interne finalement contenant un lecteur de cartes a puces, des emplacements memoires pour des ID, le tout accompagne d'une clef publique associee a un ID connu du serveur qui lui aura la clef privee (FIG3) A la premiere installation du logiciel et a tout autre, I'ordinateur sera relic au serveur soit par Internet, soit par modem (FIG5). II pourra aussi envoyer et recevoir en utilisant un support de type disquette ou CD-ROM grave le tout envoye par la posse. L'ordinateur enverra au serveur l'ID du logiciel et et recevra en retour la clef privee du logiciel pour deblocage(FIG5) L'ordinateur enverra au serveur l'ID de la carte mere ou du module de securite insere dans la carte mere et recevra en retour la clef privee de carte mere ou du module de securite insere dans la carte mere(FIG5) L'ordinateur enverra l'ID du peripherique au serveur et recevra en retour la clef privee du peripherique(FIG5) L'ordinateur choisira un ID de libre sur le peripherique et l'associera sur le serveur a l'ID du logiciel(FIG5) En cas de reinstallation du programme, le serveur pourra bien se souvenir que c'est une installation qui a deja eu lieu avec cet ordinateur et qu'elle est regale grace a ce groupe de 4 ID: ID du logiciel, ID de la carte mere ou du module a inserer dans la carte mere, ID choisit sur le peripherique, ID du peripherique(FIG6) Au demarrage du programme, celui- ci verifiera la bonne correspondence clefs publiques et clefs privees: - du logiciel - de la carte mere ou du module a inserer dans la carte mere. - du perpherque. 11 verifiera aussi la bonne correspondence entre une clef privee unique contenue dans la carte a puces inseree dans le peripherique et une des n clefs publiques uniques correspondantes contenues dans la carte mere ou le module de securite a inserer dans la carte mere ou le peripherique. II pourra y avoir changement de la carte a puces qui done contiendra une nouvelle clef privee unique et ire rechercher dans la carte mere ou le module a insere dans la carte mere ou le peripherique la bonne clef publique unique parmi les n. En cas de tentative de fraude, ii y aura blocage de la carte mere ou du module a inserer dans la carte mere(FIG4 et FIGS) 11 existera sur le serveur une unique clef privee de securite qui correspondra a ['unique clef publique de secu rite qui est sur la carte mere ou le module a inserer dans la carte mere. En envoyant du serveur la clef privee de de securite a l'ordinateur, il ne pourra y avoir qu'un seul et unique deblocage du systeme(FIG2) Entre temps, le generateur de clef publique de securite aura genere une nouvelle clef publique G HyaA __ a, y aura n du systAme(FlG2) Pour le dApment grands dens acmes entphses, on Puma mAme materiel tous les utHlsateUrs, c'est dl mAmes gem pour toutes les machines. II n'y aura Ulna pas besoln de refalm une talon un un pour chaque ordlnateur. II surge d'en lnstaMer un et de 1 une cope du dlsque dur sur togs les autres. Revendications 1) Procede de protection contre ia copie frauduleuse de logiciels caracterise en ce que: -Chaque unite de logiciel aura sa propre clef publique unique accompagnee d'un numero d'identification unique appele ID(FIG1) -Chaque carte mere ou module de protection a inserer dans la carte mere aura une clef publique unique accompagnee d'un numero d'identification unique appele ID(FIG2) -Chaque carte mere ou module de protection a inserer dans la carte mere aura une clef publique cite de > accompagnee d'un generateur aleatoire du meme type de clefs publiques de blocage(FIG2) -Un serveur ou systeme de serveurs redondants contenant toutes les clefs secretes correspondantes aux clefs publiques citees plus haut avec pour chacune de ces clefs secretes le meme ID correspondent a l'ID des clefs publiques(FIG4) -L'algorithme de cryptage clefs publiques et clefs secretes sera de type Diffie Hellman. -Un peripherique contenant un lecteur de cartes a puces, des emplacements memoires pour des ID, le tout accompagne d'une clef publique associee a un ID connu du serveur qui lui aura la clef privee(FIG3) 2) Procede de protection contre la copie frauduleuse de logiciels selon l'une quelconque des revendications precedentes caracterise en ce que a la premiere installation du logiciel eta toutautre: L'ordinateur sera relic au serveur soit par Internet, soit par modem. II pourra aussi envoyer et recevoir en utilisant un support de type disquette ou CD-ROM grave le tout envoye par la posse. L'ordinateur enverra au serveur l'ID du logiciel et et recevra en retour la clef privee du logiciel pour deblocage(FIG5) L'ordinateur enverra au serveur l'ID de la carte mere ou du module de securite insere dans la carte mere et recevra en retour la clef privee de carte mere ou du module de securite insere dans la carte mere(FIG5). L'ordinateur enverra l'ID du peripherique au serveur et recevra en retour la clef privee du peripherique(FIG5) L'ordinateur choisira un ID de libre sur le peripherique et l'associera sur le serveur a l'ID du logiciel(FIG5) En cas de reinstallation du programme, le serveur pourra bien se souvenir que c'est une installation qui a deja eu lieu avec cet ordinateur et qu'elle est regale grace a ce groupe de 4 ID: ID du logiciel, ID de la carte mere ou du module a inserer dans la carte mere, ID choisit sur le peripherique, ID du peripherique(FIG6) 3) Procede de protection contre la copie frauduleuse de logiciels selon l'une quelconque des revendications precedentes caracterise en ce que au demarrage du programme, celui-ci verifiera la bonne correspondence clefs publiques et clefs privees: - du logiciel - de la carte mere ou du module a inserer dans la carte mere. - du peripherique. 11 verifiera aussi la bonne correspondence entre une clef privee unique contenue dans la carte a puces inseree dans le peripherique et une des n clefs publiques uniques correspondantes contenues dans la carte mere ou le module de secu rite a inserer dans la carte mere ou le peripherique. II pourra y avoir changement de la carte a puces qui done contiendra une nouvelle clef privee unique et ire rechercher la bonne clef publique unique parmi les n. 4) Procede de protection contre la copie frauduleuse de logiciels selon l'une quelconque des revendications precedentes caracterise en ce que en cas de tentative de fraude il y aura blocage de la carte mere ou du module a inserer dans la carte mere. II existera sur le serveur une unique clef privee de securite qui correspondra a ['unique clef publique de secu rite qui est sur la carte mere ou le module a inserer dans la carte mere (FIG4 et FIG2) En envoyant du serveur la clef privee de de securite a l'ordinateur, il ne pourra y avoir qu'un seul et unique deblocage du systeme. Entre temps, le generateur de clef publique de secu rite aura genere une nouvelle clef publique de securite et si il y a a nouveau tentative de fraude, il y aura blocage definitif du systeme (FIG2) 5) Procede de protection contre la copie frauduleuse de logiciels selon l'une quelconque des revendications precedentes caracterise en ce que pour le deploiement a grande echelle dans certaines entreprises, on fournira le meme materiel a tous les utilisateurs, c'est a dire memes clefs pour toutes les machines. II n'y aura ainsi pas besoin de refaire une installation un a un pour chaque ordinateur. II suffira d'en installer un et de faire une copie du disque dur sur tous