FR 2720532 A1 19951201 FR 9406328 A 19940525 SYSTEME DE LOCATION SECURISEE DE LOGICIELS PAR CARTE A MéMOIRE Domaine technique La présente invention concerne un système de location sécurisée un ensemble informatique (logiciel et/ou maternel) suivant un barème fonction de l'utilisation effective de cet ensemble. Ce barème peut être établi à partlr de différentes mesures comme la durée de mise à disposition d'un logiciel, le temps d'utilisation de ce logiciel, le nombre de transactions effectuées ou de dossiers creés, le nombre de calculs, le nombre de fichiers consultés, etc... L'invention requiert, pour la ruse en oeuvre de ce système, une conception applicable pour plusieurs locataires, plusieurs logiciels et plusieurs loueurs simultanés possibles. D'autre part, le système fournit un niveau de sécurité plus élevé que celui des logiciels non loues. Etat de la technique La location d'un logiciel ou d'un ensemble informatique en fonction de son utilisation requiert non seulement un compteur qui mesure cette utilisation, mais également un moyen d'empêcher une utilisation frauduleuse, par exemple par falsification du compteur. La location nécessite donc de rallier des conhmntes de sécurité élevée et des contraintes commerciales: - le temps d'utilisation n'est pas toujours le moyen le plus adéquat pour faire payer l'utilisation d'un ensemble informatique. Par exemple pour un logiciel d'exploitation de photothèque, le loueur fait payer le locataire en fonction du nombre de photos consultées (paiement à la prestation), et non pas en fonction du temps que le locataire prend pour consulter ces photos. plusieurs loueurs, indépendants les uns des autres, peuvent être intéressés par un système de contrôle commun mais partagé: pour des logiciels utilisés simultanément, le système doit inclure des compteurs distincts et mdépendants. Par exemple un logiciel de diaporama permet de présenter une succession de dessins; si le logiciel de dessin provient d'un autre loueur, on comprend que les deux loueurs souhaitent effectuer séparément le contrôle des locations de leurs logiciels respectifs. plusieurs locataires différents peuvent utiliser le même ensemble informatique: chacun a en général des droits d'accès distincts Certaines procèdes de location sont bases sur le nombre de transactions comptées entre une unité centrale et des unités déportées; d'autres prix de location sont bases sur le temps passé par l'unité centrale à traiter ces transactions. Dans les deux cas, la comptabilisation est effectuée par l'unité centrale. Parallèlement, on a propose des procédés utilisant des boitiers électroniques, qui effectuent la décrémentation d'un compteur sur commande du logiciel loué. Ces boîtiers sont en général connectés à un port de communication de Pordinateur. Suivant les variantes, la reincrementation du compteur se fait par saisie au clavier d'un code transmis par le loueur, ou par liaison avec un ordinateur central. Dans tous ces cas, la protection etant soit logicielle, soit de technologie passive (ROM, EPROM, E2PROM), elle n'offre pas un niveau suffisant pour la location. 2 - Certains procédés proposent un boiter électronique intégrant un microprocesseur. Comme ces boîtiers, même amovibles, ne sont pas conçus pour être fréquemment connectés et déconnectés du système, la mise en oeuvre est incompatible avec les contraintes commerciales dès que ce système est associé soit à plusieurs logiciels, soit à plusieurs locataires. 3 - On a proposé des systèmes à carte à microcalculateur contenant un compteur décrémenté en fonction du temps mesuré entre deux commandes successives du logiciel; ces commandes interviennent normalement à intervalles de temps connus. La mise en oeuvre de ce procédé nécessite d'intégrer une commande d'interruption du chronométrage lorsque ce temps est incertain Or, cette commande d'interruption affaiblit considérablement le niveau de sécurité donné par la carte à microcalculateur. 4- D'autres solutions évoquent le moyen d'intégrer, dans le procédé, un module de protection du logiciel loué et un compteur décrementé au fur et à mesure de l'utilisation; lorsque ce compteur arrive à épuisement, le module de protection est inhibé ce qui provoque le blocage du logiciel. Or, dans la plupart des cas, il est souhaitable que le logiciel continue a fonctionner, avec des fonctionnalités rédultes (mode dégradé), en restant néanmoins protégé contre une utilisation frauduleuse. En fait, on constate que les difficultés de mise n oeuvre proviennent de rassociation des procédés de location et de protection. Exposé de l'invention Un objet de l'invention est de fourreur un système de location d'un ensemble informatique permettant de comptabiliser l'unlisahon qui en est réellement faite suivant des paramètres définis par le loueur. Un deuxième objet de l'invention est d'associer au système de location des procédés de protection connus. Un troisième objet est de fournir de nouveaux systèmes de protection pour améliorer la sécurité de la location. A ces fins, l'invention utilise un système composé dune unité centrale (1) et d'une unité spécialisée (2) pouvant communiquer entre elles. L'unité centrale (1) est composée de maténels informatiques et/ou de logiciels et'ou de fichiers pouvant exécuter des commandes de communication avec imité spécialisée (2), dont les résultats autorisent ou inhibent l'exécution normale ou dégradée de cette unité centrale (1). L'unité spécialisée (2) est composee d'au moins une partie amovible appelée carte, par exemple une carte à mémoire d'un lecteur de cartes, et de modules comportant des moyens de traitement capables d'élaborer les résultats de communication, en fonction de leur propres informations définies, mémorisées ou calculées au préalable. L'invention met en oeuvre un système caracténsé en ce que: t - La carte comporte au moms un module de sécurité de communication (6),un module de contrôle de séquence (5) et un compteur de consommation (3): 1 1 - Le module de sécunté de communication (6) a pour rôle de sécuriser les échanges d'information entre les unités centrale et spécialisée. 12 - Le module de contrôle de séquence (5) contient au moins un compteur de cycles. Ce compteur décrémente un crédit de cycles à chaque fois que la carte est extraite ou introduite dans le lecteur. Lorsque ce crédit est nul, toute communication contrôlée par le module de contrôle de séquence (5) est inhibée. Ainsi, un fraudeur qui arriverait à mettre au point un système mécanique ou électrique pouvant simuler l'extraction et l'introduction de la carte est limité dans ses opérations par le nombre de cycles possibles, qui est relativement restreint dans le cas d'une utilisation normale. 13 - Le compteur de consommation (3) contient à la livraison un crédit d'utilisation du logiciel qui peut être lu et décrémenté par le logiciel au fur et a mesure de son utilisation, sous contrôle du module de sécurité de communication (6) et du module de contrôle de séquence (5). 2 - Certaines commandes de l'unité centrale ont pour rôle, sous contrôle du module de sécurité de communication (6), d'enclencher et de déclencher la séquence du module de contrôle de séquence (5). La carte étant amovlble, donc introducuble et extractible, la séquence est la suivante: - introduction (8): passage à étape 1(11) - enclenchement (9): passage à l'étape 2 (12) - déclenchement (10): passage à l'étape 3 (13) - extraction (8) La carte peut tre extraite et réintroduite eo cours de chacune des étapes 1 (Il)et 2 (12) saas incidence sur cette séquence. Cette séquence a pour objet d'obliger un fraudeur a extraire et réintroduire la carte a mémoire dans le lecteur a chaque simulation d'enclenchement/déclenchement du module de décompte, ce qui ralentit considérablement et rend sa tâche fastidieuse. 3- L'unité spécialisée comporte un module de protection du logiciel (7), qui est actif en menine temps que l'étape 2 (12) générée par le module de contrôle de séquence (5). De cette manière, le logiciel ne peut fonctionner que si l'unité spécialisée a reçu une commande drenclenehement, ce qui oblige l'exécution de la séquence malgré toute tentative de fraude. La commande de déclenchement ntintervenant en effet pas durant rexploitation normale du logiciel, toute tentative de simulation de ce déelenehement bloquera le fonctionnement du logiciel. 4 - L'unité spécialisée comporte un module de décompte temporel (4), qui it courir un chronomètre lorsque ce module est actif Cette activité est recopiée sur celle de rétape 2 (12) de la séquence (5). Ce module de décompte temporel (4) inhibe la communication entre Unité centrale et le compteur de consommation (3) lorsque le chronomètre atteint une valeur prédéterminée. Le chronomètre n'est activé que lorsque le module de contrôle de séquence (5) a reçu une commande d'enclenchement, c'est-à-dire lorsque le logiciel est réellement en exploitation (et non dès que l'unité spécialisée est en service). Cette fonction a pour objet d'établir une durée de péremption de la carte, indépendante de l'éventuelle date de péremption du module de sécurité de communication (6). La durée restante de ce module de décompte temporel (4) peut être lue par l'unité centrale, sous contrôle du module de sécunté de communication (6) et du module de séquence (5). 5 - Le module de décompte temporel (4) peut lire ou décrémenter le compteur de consommation (3). 5 - Le module de décompte temporel (4) peut lire ou décrèmenter le compteur de consommation (3). 6- Les commandes d'enclenchement (9) et de déclenchement (10) du module de contrôle de séquence (5) peuvent être activées en inteme dans l'unité spécialisée (2): - l'enclenchement s'effectue implicitement à chaque communication avec Ibnité centrale - le déclenchement s'effectue si aucune communication nta eu lieu pendant un délai prédéterminé. 7 - L'unité spécialisée (2) peut contenir plusieurs groupes de modules, répartis dans plusieurs cartes pouvant chacune contenir un ou plusieurs groupes, tels que décrits dans les points 1 à 6, correspondant chacun à une unité centrale, locataire, loueur, logiciel ou autre unité d'utilisation. Prenons l'exemple de deux sociétés qui proposent un logiciel commun, mais veulent rester mdépendantes l'une de l'autre. On comprend l'intérêt qu'une carte fonctionne avec deux groupes séparés de modules, malus qu'elle bloque l'utilisation du logiciel sur la demande de run ou l'autre de ces groupes. REVENDICATIONS 1 - Système de location d'un ensemble informahque constitue de matériels et/ou de logiciels etlou de fichiers, comprenant au moins une unité centrale (1), et une unité spécialisée (2) comportant au moins une partie amovible, ces deux unités pouvant communiquer entre elles, caractérisé en ce que: - on définit dans ladite unité centrale (1) un certain nombre de commandes de communication avec ladite unité spécialisee (2), dont les résultats autorisent ou inhibent l'exécution normale ou dégradée de ladite unité centrale (1). - ladite unité spécialisée (2) comporte un module de sécurité de communication (6), apte à inhiber lesdites commandes de communication, et comportant des moyens de traitement capables d'élaborer lesdits résultats, en fonction de ses propres informations définies, mémonsées ou calculées au préalable. - ladite unité spécialisée (2) comporte un module de contrôle de séquence (5), contenant au moins un compteur de cycles qui décrémente un crédit de cycles à chaque introduction de ladite partie amovible, apte à inhiber certaines desdites commandes de communication, en particulier lorsque ledit crédit de cycles est nul, et comportant des moyens de traitement capables d'élaborer lesdits résultats, en fonction de ses propres informations définies, mémorisées ou calculées au préalable. - ladite unité spécialisée comporte un compteur de consommation (3), contenant un crédit d'utiiisation pouvant, sous contrôle desdits modules de sécurité de communication (6) et de contrôle de séquence (5), être lu ou décrémenté par ladite unité centrale (1), et comportant des moyens de traitement capables d'élaborer lesdits résultats, en fonction de ses propres informations définies, mémorisées ou calculées au préalable. 2 - Système selon la revendication 1, caractérisé en ce que certaines desdites commandes de communication effectuent renclenchement (9) ou le déclenchement (10) dudit module de contrôle de séquence (5), et en ce que ledit module de contrôle de séquence (5) comporte une séquence composée de trois étapes numérotées de I à 3 et de trois transitions introductionw (8), "enclenchement' (9) et "déclenchement' (10). Ces transitions sont respectivement valides lorsque ladite partie amovible est introduite, lorsque ladite commande d'enclenchement (9) est reçue, et lorsque ladite commande de déclenchement (10) est reçue. Ladite étape 1(11) devlent valide lorsque ladite étape 3 (13) est valide et que ladite transition "introduction" (8) est valide. Ladite étape 2 (12) devlent valide lorsque ladite étape 1(11) est valide et que ladite transition 'enclenchement" (9) est valide. Ladite étape 3 (13) devient valide lorsque ladite étape 2 (12) est valide et que ladite transition déclenchementfl (10) est valide. Une étape devenant valide mvalide la précédente. 3 - Système selon la revendication 2, caractérisé en ce que lesdites commandes d'enclenchement (9) et de déclenchement (10) sont réalisées en interne de ladite unité specialisée (2); l'enclenchement (9) s'effectue lorsque cette unité reçoit une commande, le déclenchement (10) s'effectue lorsque aucune commande n'a été reçue pendant un délai déternuné 4- - Système selon rune quelconque des revendications précédentes, caractérisé en ce que ladite unité spécialisée comporte un module de protection de logiciel (7), comportant des moyens de traitement capables d'élaborer lesdits résultats, en fonction de ses propres informations définies, mémorisées ou calculées au préalable. 5 - Système selon la revendication 4, caractérisé en ce que ledit module de protection de logiciel (7) est actif en même temps que ladite étape 2 (12) du module de contrôle de séquence (5) 6 - Système selon l'une quelconque des revendications précédentes, caractérisé en ce que ladite unité spécialisée (2) comporte un module de décompte temporel (4), contenant un crédit de temps pouvant, sous contrôle desdits module de sécurité de communication (6) et de contrôle de séquence (5), étire lu par ladite unité centrale (1), en ce que ce module de décompte temporel (4) est apte à décrémenter ledit crédit de temps, à inhiber certaines des dites commandes de communication, en particulier lorsque ledit crédit de temps est nul, et comporte des moyens de traitement capables d'élaborer lesdits résultats, en fonction de ses propres informations définies, mémorisées ou calculées au préalable. 7 - Système selon la revendication o, caractérisé en ce que ledit module de décompte temporel (4) est actif en meme temps que ladite étape 2 (12) dudit module de contrôle de séquence (5). 8 - Système selon l'une quelconque des précédentes revendications, caractérisée en ce que ladite unité spécialisée (2) est constituée par plusieurs groupes desdits modules, correspondant chacun à une uruté centrale, locataire, loueur, logiciel ou autre unité d'utilisation. 9 - Système selon rune quelconque des précédentes revendications, caractérisé en ce que ladite unité spécialisée (2) comporte un lecteur de cartes à mémoire et que ladite partie amovible est une carte a mémoire.