FR 2697357 A1 19940429 FR 9212702 A 19921023 PROCEDE D'ACQUISITION DE LOGICIELS ET SYSTEME INFORMATIQUE POUR METTRE EN OEUVRE LE PROCEDE L'invention concerne un procédé d'acquisition de logiciels par des micro-ordinateurs. L'invention concerne également un système informa- tique d'acquisition de logiciels. L'invention s'applique notamment aux micro-ordina- teurs dits portables ou de poche, c'est-à-dire aisément transportables et pouvant travailler en alimentation autonome (piles, batteries). Pour obtenir une autonomie de plusieurs heures, il a fallu supprimer dans ces micro-ordinateurs, les organes fortement consommateurs Notamment, le disque dur a été remplacé par de la mémoire purement électroni- que, et les lecteurs de disquettes magnétiques ont été remplacés par des lecteurs de cartes à mémoire de masse amovibles Ces cartes à mémoire sont appelées parfois PC-cards en littérature anglo-saxonne, ou encore cartes PCMCIA, du nom de la norme correspondante ("Personal Computer Memory Card International Association" 1030 B East Duane Avenue, Sunnyvale, California) Ces cartes comportent plusieurs puces de mémoire et un connecteur en bout de carte (connecteur femelle de 68 broches) enfichable dans un connecteur correspondant du lecteur du micro- ordinateur Les connexions sont telles que la mémoire peut être adressée par un port d'entrée-sortie parallèle du micro-ordinateur Ces cartes ont un encom- brement réduit: elles ont le format d'une carte de crédit avec une épaisseur de 3 à 5 millimètres, et elles sont d'accès très rapide Enfin, leur capacité mémoire totale peut atteindre plusieurs dizaines de mégaoctets. Par ailleurs, pour protéger un ordinateur contre une utilisation par un titulaire non-habilité, certains micro-ordinateurs comportent aussi un lecteur de carte à puce La sécurité consiste à empêcher l'utilisation du micro-ordinateur si l'utilisateur ne fournit pas les codes de confidentialité adéquats, ou s'il n'insère pas de carte à puce dans ce lecteur. La distribution de logiciels applicatifs sur les micro-ordinateurs se fait habituellement par les dis- quettes magnétiques Dans le cas de ces micro-ordina- teurs portables qui ne comportent plus les lecteurs de disquettes magnétiques, mais les lecteurs de cartes PCMCIA, ces dernières sont utilisées pour assurer la distribution des logiciels applicatifs: un utilisateur achète à un vendeur une carte PCMCIA sur laquelle le logiciel applicatif est chargé. Mais en pratique, les cartes PCMCIA à mémoire de masse coûtent très chers, jusqu'à quelques milliers de francs selon la capacité mémoire, ce qui rend le moindre logiciel applicatif hors de prix. La présente invention a pour objet un nouveau procédé d'acquisition de logiciels par des micro-ordi- nateurs. Dans l'invention, on propose d'utiliser un serveur de base de données dans lequel seront stockés des logiciels applicatifs à distribuer et un support de mémoire électronique amovible contenant des droits d'accès à des logiciels pour permettre le téléchargement des logiciels applicatifs vers un micro-ordinateur. En effet la plupart des micro-ordinateurs contien- nent ou peuvent contenir des cartes ayant des fonctions de communication entre le micro-ordinateur et l'exté- rieur Ces cartes sont appelées cartes à fonction Entrée/Sortie Un exemple typique est le modem, qui est raccordé par un premier connecteur au micro-ordinateur ia i 4 et par un deuxième connecteur à une ligne téléphonique pour l'envoi ou la réception de données numériques sur la ligne Dans un autre exemple de carte à fonction de communication, la communication avec l'extérieur se fait non pas par un connecteur à contacts matériels, mais par transmission hertzienne Ces cartes peuvent être connec- tées sur un port d'entrée/sortie du micro- ordinateur ou directement montées à l'intérieur du micro-ordinateur. Selon l'invention, des logiciels applicatifs sont chargés sur un serveur de base de données auquel peuvent être connectés des micro- ordinateurs par une telle carte à fonction Entrée/Sortie Des supports de mémorisation amovibles, comportant très peu de mémoire, sont délivrés (vendus) aux utilisateurs, ces supports contenant un droit d'accès à au moins un logiciel applicatif Dans ce cas, un tel support qui ne comporte pratiquement pas de mémoires a un coût réduit à une vingtaine de francs au maximum Les informations stockées n'utilisent que quel- ques octets Le support peut être par exemple une carte à puce du type carte de crédit, ou encore une carte PCMCIA avec une mémoire très réduite, le micro-ordina- teur comportant les lecteurs correspondant à ces cartes. Lorsqu'un utilisateur d'un micro-ordinateur veut acquérir un logiciel applicatif, il achète alors le support comportant le droit d'accès à ce logiciel Le prix du support acheté correspondra au prix de vente du logiciel ajouté à celui du support qui n'est plus que d'une vingtaine de francs environ L'utilisateur insère ensuite le support dans le lecteur du micro-ordinateur. Il se connecte sur le serveur et sélectionne, par exemple, au moyen de l'écran et du clavier du micro-ordinateur, le logiciel applicatif désiré Le serveur va alors contrôler le droit d'accès dans le support, via le micro-ordinateur, puis transférer le logiciel applicatif vers le micro-ordinateur, par exemple dans sa mémoire interne. De façon plus précise, le procédé d'acquisition de logiciels selon l'invention est principalement caracté- risé par les étapes suivantes: dans une première étape, des logiciels sont chargés sur un serveur de base de données auquel peuvent être connectés des micro-ordinateurs aptes -à recevoir des supports de mémorisation amovibles et des supports de mémorisation amovibles contenant au moins un droit d'accès à un logiciel du serveur, sont délivrés à des utilisateurs des micro-ordinateurs, dans une deuxième étape, l'utilisateur d'un micro- ordinateur introduit le support de mémorisation qu'il détient et un logiciel désiré du serveur et autorisé par le support est téléchargé vers le micro-ordinateur. Dans un exemple, le logiciel est téléchargé en mémoire interne Il peut aussi être téléchargé sur une carte PCMCIA, quand le micro-ordinateurs dispose d'un nombre de lecteurs suffisant. Le temps de téléchargement du logiciel ne dépend que de la taille du logiciel et des caractéristiques de transmission (format, débit) de la liaison micro-ordina- teur/serveur (liaison modem, réseau sans filtre, etc). Selon une autre caractéristique de l'invention, le droit d'accès est contrôlé par le serveur en utilisant des procédés de sécurité avec identification et algo- rithmes de chiffrement/déchiffrement Le support de mémorisation comporte à cet effet un module électronique de sécurité qui le rend inviolable Il est en effet nécessaire d'empêcher les fraudeurs de pirater les informations contenues dans les supports, ce qui È permettrait de télécharger des logiciels sans en avoir payé le prix, en réalisant des supports frauduleux. Par module électronique de sécurité, on entend ici une puce de circuit intégré comportant une mémoire non-volatile avec des informations confidentielles, et une circuiterie de sécurité programmée, apte à utiliser ces informations confidentielles et d'autres informa- tions fournies par l'utilisateur, pour délivrer des instructions de validation, après vérification d'une relation prédéterminée entre ces deux types d'informa- tion Les données confidentielles ne sortent pas du module de sécurité. Selon un autre aspect de l'invention, l'utilisation même des logiciels applicatifs est sécurisée Le procédé est alors principalement caractérisé comme suit: on délivre à un utilisateur un support de mémori- sation amovible contenant des droits d'utilisation, propres à au moins un logiciel du serveur et autorisant le téléchargement du ou des logiciels correspondants; l'utilisateur doit alors introduire le support de mémorisation contenant les droits d'utilisation propres, au logiciel qu'il désire télécharger et qu'il veut faire exécuter Le logiciel téléchargé est en effet avantageusement autosécurisé, son exécution comprenant des accès au support de mémorisation pour contrôler les droits d'utilisation secrètes et autoriser ou non la suite de l'exécution. D'autres particularités et avantages de l'invention apparaîtront à la lecture de la description qui est faite à titre indicatif et non-limitatif de l'invention -et en référence au dessin annexé dans lequel: la figure 1 représente un schéma d'un système informatique selon l'invention. Un système informatique conforme à l'invention est représenté sur la figure 1 Il comprend un serveur de base de données 1, dans lequel sont stockés des logi- ciels applicatifs 10, un micro-ordinateur 2 connecté au serveur par une interface 3 réseau téléphonique, radiotéléphonique ou autres et un support de mémorisa- tion électronique amovible 4. Le micro-ordinateur comprend: un écran 20, un clavier 21, qui peut être remplacé par un crayon ou tout autre interface homme-machine existante, une unité centrale 22, une mémoire interne 23 et un lecteur 24 de support de mémorisation électronique amovible. Le support de mémorisation comporte une interface de connexion au lecteur 24 du micro-ordinateur, une puce électronique de mémoire non- volatile 41 Le support de mémorisation contient en mémoire 41 des informations secrètes correspondant à un droit d'accès à un ou plusieurs logiciels applicatifs stockés dans le serveur 1 Ces supports sont, en pratique, vendus par le vendeur distributeur des logiciels applicatifs considérés. Pour procéder à l'acquisition d'un logiciel appli- catif, l'utilisateur qui détient un support contenant le droit d'accès correspondant, doit l'introduire dans le lecteur 24 du micro-ordinateur Puis, l'utilisateur lance sur le micro-ordinateur un logiciel de connexion sur le serveur Lorsque la communication avec le serveur est établie, ce dernier affiche sur l'écran du micro-or- dinateur un menu grâce auquel l'utilisateur choisit le(les) logiciel(s) applicatif(s) qu'il veut acquérir. Le serveur va alors contrôler le droit d'accès à ces logiciels en interrogeant le support via l'unité cen- trale du micro-ordinateur Ce contrôle est avantageu- sement effectué en utilisant des procédés de sécurité semblables à ceux utilisés dans les cartes à puce (cartes de crédit), c'est-à-dire avec procédure d'identification authentification, utilisant des algorithmes de chiffrement, déchiffrement Les informations secrètes ne sont pas transmises à l'extérieur du support La puce électronique de mémoire non-volatile 41 comprend alors une circuiterie de sécurité programmée pour assurer ces fonctions de sécurité. Si le contrôle de sécurité est positif, le serveur effectue le téléchargement du (ou des) logiciel(s) applicatif(s) sélectionné(s) et autorisé(s) par le support, dans la mémoire interne du micro-ordinateur En option, il peut être prévu, pour un micro-ordinateur comportant au moins deux lecteurs de supports de mémori- sation électronique 24 et 25 amovibles, que l'utilisa- teur puisse choisir o le logiciel doit être téléchargé: en mémoire interne 23 du micro-ordinateur ou sur un support amovible 5 comprend une puce électronique 50 de mémoire vive, par exemple Le logiciel téléchargé est alors exécutable par le micro-ordinateur. Or, on peut imaginer qu'au moment du télécharge- ment, un fraudeur ait pu mémoriser le logiciel De préférence, on choisira une procédure de téléchargement codée Mais avantageusement, pour sécuriser le procédé de l'invention, il est prévu un support de mémorisation électronique amovible à introduire dans le lecteur au moment de l'exécution du logiciel applicatif et conte- nant des données secrètes correspondant à des droits d'utilisation connues du logiciel Ce dernier, lors de son exécution, vient interroger de temps à autre le support de mémorisation afin de contrôler que les droits d'utilisation sont présents Ce contrôle se fera, de préférence, en utilisant les procédés de sécurité connues et notamment les algorithmes de chiffrement-dé- chiffrement Le support de mémorisation contient une puce de sécurité à cet effet. Avantageusement, le même support de mémorisation 4 contient les droits d'accès à un logiciel applicatif et les droits d'utilisation correspondants dans la même puce électronique 41. D'autres options sont envisageables Par exemple, il peut être prévu que le logiciel applicatif soit vendu pour un nombre limité d'utilisations La puce électro- nique comportera alors, par exemple, un compteur contenant cette information Une tâche du logiciel applicatif comportera par exemple les étapes suivantes: aller lire sur le support de mémorisation amovible 4, une information indiquant si le logiciel a été acquis pour un nombre limité d'utilisations Si non, cette tâche est terminée et l'exécution continue; si oui, envoyer un ordre de décrémentation. La puce électronique contrôle en interne le contenu du compteur et s'il n'est pas nul, renvoie un acquittement vers les micro-ordinateurs Le logiciel peut continuer l'exécution; mais si le compteur est nul, il renvoie un message d'erreur par exemple, et le logiciel est stoppé dans son exécution. Dans un exemple d'application pratique, le support mémoire amovible 4 est une carte à puce, ou une carte PCMCIA ne contenant que la puce électronique nécessaire à l'application Le micro-ordinateur sera équipé de lecteurs correspondants pour lire de telles cartes La puce électronique 41, comporte, par exemple, une circui- terie 410 de sécurité programmée, une circuiterie 411 de mémoire non-volatile et un compteur 412. La circuiterie 410 de sécurité contrôle l'accès à la mémoire et au compteur, et gère les accès externes au support. REVENDICATIONS 1 Procédé d'acquisition de logiciels par un micro-ordinateur, caractérisé en ce qu'il consiste: dans une première étape, à charger des logi- ciels ( 10) sur un serveur ( 1) de base de données auquel peuvent être connectés des micro-ordinateurs ( 2) aptes à recevoir des supports d'informations amovibles et à délivrer à des utilisateurs des microordinateurs un support de mémorisation électronique amovible ( 4) contenant au moins un droit d'accès à un logiciel du serveur, dans une deuxième étape, pour un utilisateur d'un micro-ordinateur, à introduire le support de mémorisation électronique amovible qu'il détient et à télécharger, dans le micro-ordinateur, un logiciel désiré du serveur et autorisé par le support. 2 Procédé d'acquisition de logiciels selon la revendication 1, caractérisé en ce que le téléchargement consiste: pour l'utilisateur, à établir la communication avec le serveur et à sélectionner au moins un logiciel à télécharger, pour le serveur, à vérifier que le support de mémorisation électronique amovible contient un droit d'accès correspondant, pour autoriser le transfert vers le micro-ordinateur du logiciel sélectionné. 3 Procédé d'acquisition de logiciels selon l'une des revendications précédentes, caractérisé en ce qu'il consiste en outre: à délivrer à un utilisateur, un support de mémorisation électronique amovible contenant des droits d'utilisation propres à au moins un logiciel du serveur, pour un utilisateur d'un micro-ordinateur, à introduire le support de mémorisation contenant les droits d'utilisation propres au logiciel téléchargé, l'exécution de ce dernier comprenant des accès au support de mémorisation pour contrôler les droits d'utilisation et autoriser ou non la suite de l'exécu- tion. 4 Procédé d'acquisition de logiciels selon la revendication 3, caractérisé en ce que le support de mémorisation de droits d'accès à des logiciels contient les droits d'utilisation correspondants. Procédé d'acquisition de logiciels selon l'une des revendications 3 et 4, caractérisé en ce que le support de mémorisation comporte un compteur ( 412) indiquant le nombre d'utilisations encore autorisées du logiciel téléchargé, l'exécution de cè dernier entraî- nant la décrémentation du compteur et la vérification par le support de l'état du compteur pour autoriser ou non l'exécution du logiciel. 6 Procédé d'acquisition de logiciels selon l'une quelconque des revendications précédentes, caractérisé en ce que la vérification des données mémorisées sur le support de mémorisation électronique amovible utilise des procédures d'authentification et de chiffrement/dé- chiffrement, le support de mémorisation électronique amovible comportant, à cet effet, un module électronique de sécurité ( 410) assurant la sécurité contre l'accès aux données mémorisées dans le support. 7 Procédé d'acquisition de logiciels, selon l'une quelconque des revendications précédentes, pour un micro-ordinateur comprenant au moins deux lecteurs de support de mémorisation électronique amovible, caracté- risé en ce qu'un logiciel peut être téléchargé, soit en r" mémoire interne du micro-ordinateur, soit sur un support de mémorisation électronique amovible comportant une mémoire suffisante. 8 Système informatique comportant des micro-ordi- nateurs, susceptible d'établir une communication avec un serveur de base de données, caractérisé en ce qu'il comporte des moyens d'acquisition de logiciels chargés dans le serveur par les micro-ordinateurs, ces moyens comprenant un support de mémorisation amovible contenant des droits d'accès à des logiciels, à introduire dans un lecteur des micro-ordinateurs. 9 Système informatique selon la revendication 8, caractérisé en ce que le support de mémorisation amo- vible est une carte à puce sécurisée. 10 Système informatique selon la revendication 8, caractérisé en ce que le support de mémorisation amo- vible est une carte PCMCIA.