FR2736448A1 - Procede et dispositif d'autorisation temporaire d'utilisation d'un programme protege par un cartouche electronique - Google Patents

Procede et dispositif d'autorisation temporaire d'utilisation d'un programme protege par un cartouche electronique Download PDF

Info

Publication number
FR2736448A1
FR2736448A1 FR9508124A FR9508124A FR2736448A1 FR 2736448 A1 FR2736448 A1 FR 2736448A1 FR 9508124 A FR9508124 A FR 9508124A FR 9508124 A FR9508124 A FR 9508124A FR 2736448 A1 FR2736448 A1 FR 2736448A1
Authority
FR
France
Prior art keywords
cartridge
chain
duration
password
computer system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR9508124A
Other languages
English (en)
Other versions
FR2736448B1 (fr
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to FR9508124A priority Critical patent/FR2736448B1/fr
Priority to US08/673,719 priority patent/US5898778A/en
Priority to GB9613748A priority patent/GB2302968A/en
Priority to DE19626972A priority patent/DE19626972A1/de
Publication of FR2736448A1 publication Critical patent/FR2736448A1/fr
Application granted granted Critical
Publication of FR2736448B1 publication Critical patent/FR2736448B1/fr
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • G06F21/123Restricting unauthorised execution of programs by using dedicated hardware, e.g. dongles, smart cards, cryptographic processors, global positioning systems [GPS] devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/109Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by using specially-adapted hardware at the client
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/007Encryption, En-/decode, En-/decipher, En-/decypher, Scramble, (De-)compress
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2135Metering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2137Time limited access, e.g. to a computer or data

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Technology Law (AREA)
  • Multimedia (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Storage Device Security (AREA)

Abstract

L'invention concerne un procédé et un dispositif d'autorisation d'utilisation d'un programme protégé par une cartouche électronique dans un système informatique pendant une durée limitée par un nombre d'heures ou une date. Elle propose un procédé utilisant une cartouche électronique (107) réarmable par un mot de passe (400). Pour prolonger l'utilisation d'un programme protégé contenu dans la mémoire (103) du système informatique (100-106), l'utilisateur doit rentrer dans ce système, par l'intermédiaire du clavier (105), un mot de passe (400) ayant pour but de réarmer la cartouche électronique (107). Cette cartouche électronique (107) comporte de préférence une mémoire (108), un premier compteur (110), un deuxième compteur (112), un monostable (113), un additionneur (114), une horloge temps réel (109) et un réseau logique câblé (111). Ce dispositif se branche à l'extérieur du système informatique (100-106) par l'intermédiaire d'un connecteur. Cette invention permet, dans le cas de locations de logiciels, de contrôler l'utilisation de ces programmes.

Description

PROCEDE ET DISPOSITIF D'AUTORISATION TEMPORAIRE
D'UTILISATION D'UN PROGRAMME PROTEGE PAR UNE CARTOUCHE
ELECTRONIQUE
La présente invention se rapporte aux procédés et aux dispositifs qui permettent d'autoriser l'utilisation d'un programme protégé par ailleurs par une cartouche électronique. Elle s'applique plus particulièrement au domaine de la location de logiciels ou de programmes afin de pouvoir contrôler le nombre
d'heures d'utilisation ou une date limite de location.
Elle pourrait par ailleurs s'appliquer à la location d'une machine, le programme considéré étant dans ce cas
le système d'exploitation de la machine.
On est amené à utiliser de plus en plus fréquemment des appareils nécessitant pour leur exploitation un système informatique. De nombreux programmes sont alors à la disposition de l'utilisateur pour utiliser au mieux son appareil. Ces programmes agissent dans des domaines très variés: logiciel de gestion, logiciel de mesure... Ils sont en général stockés dans des mémoires intégrées à l'appareil. Dans le domaine de la micro-informatique, ces programmes sont stockés dans une mémoire magnétique appelée disque
dur.
Des problèmes de coûts et d'obsolescence rapide incitent les industriels à prendre ces programmes ou logiciels en location. Ainsi des programmes sont mis à
la disposition des clients par des loueurs.
Le loueur a alors besoin de garanties pour pouvoir se prémunir contre un éventuel usage abusif de son matériel en limitant la location à un certain nombre d'heures d'utilisation ou jusqu'à une certaine date. Il s'agit de dissuader le client malhonnête de garder le matériel plus longtemps que prévu, de copier le
programme sur une autre machine, ou même de le vendre.
Dans cette optique, diverses solutions ont été envisagées et de nombreux systèmes ont été réalisés pour remédier à ce problème. C'est ainsi qu'un système de cartouche électronique est apparu. Le client a besoin de cette cartouche pour pouvoir avoir accès aux logiciels qu'il a loués. Cette cartouche se branche directement sur le système informatique client par l'intermédiaire d'un connecteur. Le programme ne peut fonctionner qu'en présence de cette cartouche car, au cours de son déroulement, il vient vérifier, scruter, périodiquement la présence de la cartouche et ou s'assurer que la durée de validité n'est pas consommée
ou que la date limite de validité n'est pas dépassée.
De tels systèmes ne sont cependant pas très adaptés au principe de location. D'une part, au terme de la durée de location, le logiciel n'est définitivement plus utilisable, sauf à changer la cartouche, ce qui impose des envois d'objets physiques entre le loueur et son client. D'autre part, des cartouches réarmables par carte à puce existent. Dans ce cas, la cartouche est essentiellement un lecteur de cartes à puce (à un format normalisé ou non). Mais cette méthode oblige également l'utilisateur à renvoyer la carte à puce chez
le loueur soit pour en changer soit pour la recharger.
Pour obtenir un système moins contraignant et résoudre le problème, l'invention propose un procédé utilisant une cartouche électronique réarmable par un mot de passe. Ce mot de passe provient d'un administrateur du procédé. Cet administrateur est en général le loueur. Selon l'invention, le mot de passe est converti en une durée complémentaire inscrite dans la cartouche. Cette conversion est effectuée par le programme protégé lui-même ou par un programme
spécifique à part.
Aussi, l'invention a pour objet un procédé d'autorisation temporaire, dans un système informatique client, d'utilisation d'un programme protégé par une cartouche électronique, cette cartouche étant en relation avec ce système, ce procédé comportant les étapes suivantes - scrutation par le système d'un état électrique mémorisé dans la cartouche, - autorisation par le système de l'utilisation du programme si cet état électrique correspond à un état attendu, caractérisé en ce qu'il comporte les étapes de - vérification, dans la cartouche, de la validité d'une durée d'utilisation, - réarmement de la cartouche, à partir du système
informatique, pour une durée complémentaire.
En outre, l'invention concerne également un dispositif représenté par une cartouche électronique autorisant temporairement, dans un système informatique, l'utilisation d'un programme protégé, comportant une mémoire, un premier et un deuxième compteur, un monostable, un additionneur, une horloge temps réel et un réseau logique câblé, caractérisé en ce qu'elle comporte un circuit pour être réarmable par
un mot de passe.
Les particularités de l'invention apparaltront
clairement dans la description suivante faite en regard
des figures annexées qui représentent: - la figure 1, un schéma du traitement des informations dans le système informatique de l'invention en présence de la cartouche électronique; - la figure 2, un schéma électronique des moyens mis en oeuvre lors d'une scrutation; - la figure 3, un organigramme de la production d'un mot de passe chez l'administrateur du procédé; - la figure 4, un organigramme du traitement du mot de passe permettant l'autorisation complémentaire de l'utilisation du programme; On a représenté sur la figure 1 les diverses relations existantes entre le système informatique et la cartouche électronique. Ce système comporte une unité centrale 100 comportant une unité arithmétique et logique ou microprocesseur 102, une mémoire 103 et un bus 104 pour véhiculer des adresses, des commandes et des données. L'unité centrale 101 est en relation par ce bus avec des périphériques classiques tels qu'un écran 101, un clavier 105, un actionneur 106 (dans un cas particulier une imprimante), et une cartouche électronique 107. Cette cartouche comporte une mémoire 108 et, dans l'invention une horloge temps réel 109, un monostable 113, un premier compteur 110, un deuxième compteur 112, un additionneur 114 ainsi qu'un réseau logique câblé 111. Tous les organes de la cartouche 107 sont fonctionnellement en relation entre eux et avec le bus 104. Dans le cas o le système 100-106 est un micro-ordinateur compatible (PC), la cartouche 107 peut être connectée à l'extérieur, sur un port parallèle ou même, sous forme de carte électronique, à l'intérieur
de l'appareil, dans un connecteur en attente.
Lors de l'exécution d'un programme protégé, le microprocesseur 102 du système informatique 100-106 traite des instructions d'une application représentée par un programme mémorisé dans la mémoire 103. Il scrute aussi périodiquement un état électrique mémorisé dans la cartouche 107. Les scrutations sont provoquées par l'action d'un opérateur sur un organe de commande du système, du type clavier. Les scrutations pourraient être provoquées par des instructions de scrutation réparties dans le programme mémorisé protégé lui-même
ou par un programme préprogrammé dans la cartouche 107.
Elles pourraient également être provoquées par des instructions d'un autre programme que le microprocesseur 102 exécuteraient de temps en temps périodiquement ou aléatoirement et provoquant une interruption (invisible pour l'utilisateur) du
programme mémorisé à protéger.
Le microprocesseur 102 prend également en charge selon l'invention, des opérations de décryptage du mot de passe en vue d'un réarmement de la cartouche, ainsi que les opérations de gestion de la mémoire 108 de la
cartouche.
Une solution en variante consisterait à introduire un microcontroleur dans la cartouche. Ce microcontroleur avec sa mémoire associée et son séquenceur prendrait alors en charge les opérations de décryptage du mot de passe et de gestion de la mémoire 108. A l'aide de la figure 2, on peut détailler le mécanisme des scrutations. La scrutation du système se fait en plusieurs étapes: une étape de décomptage d'un nombre d'unités de durée et une étape de comparaison d'un état 201, relatif à l'état du compteur 110, avec
un état de référence 202 stocké dans la mémoire 108.
Cette mémoire 108 est une mémoire non volatile, en général une EPROM ou une EEPROM. Elle pourrait aussi être une mémoire dynamique sauvegardée par pile. Dans l'invention, la vérification de la validité de la durée d'utilisation se fait sous forme du décomptage d'un nombre d'unités de durée. La cartouche électronique comporte un compteur 110 indiquant par un état 201 stocké dans la mémoire 108, un nombre d'unités de durée restant à l'utilisateur. A chaque scrutation, le monostable 113 est réinitialisé et devient actif. Tant que le monostable 113 est actif, le compteur est décrémenté d'une unité à chaque impulsion délivrée par
l'horloge 109 par l'intermédiaire d'une porte ET 214.
On pourrait également décompter le nombre de scrutations au lieu du nombre d'unités de durée. Pour la vérification, on s'assure que l'état du compteur n'est pas égal à un état de référence 202 sinon le déroulement du programme est arrêté. Pour cela, on compare l'état 201 avec un état de référence 202 stocké dans la mémoire 108. Cet état 202 est de préférence zéro. A chaque décompte, l'état du compteur 110 est sauvegardé dans la mémoire 108, ou bien le compteur est
lui-même un compteur sauvegardé.
Pour effectuer la comparaison entre le nombre d'unités de durée 201 restant à l'utilisateur et la durée de référence 202, dans un exemple, on utilise des portes logiques 206-207 et 208 interconnectées dans le réseau logique câblé 111. Les portes 206-207 représentent dans l'exemple un ensemble de portes OU exclusif en nombre aussi grand qu'il y a de sortie du compteur 110 (ou de bits dans l'état 201) et de bits dans l'état de référence 202. Chaque porte OU exclusif reçoit un bit du compteur 110 et un bit lui correspondant dans l'état de référence 202. Les sorties des portes 206 à 207 sont raccordées ensemble en entrée d'une porte OU 208 à plusieurs entrées. Lorsqu'il y a égalité entre la durée 201 et la durée de référence 202, un état bas apparaît à la sortie de la porte 208
et se propage à travers une porte OU 209 du réseau 111.
Cet état bas correspondant à un signal 205 est alors transmis au système informatique 100-106 par l'intermédiaire du bus 104. Cet état bas est ensuite exploité par le logiciel de l'application. Il a pour conséquence d'arrêter l'exécution du programme de l'application stocké dans la mémoire 103. Dans le cas o les durées 201 et 202 sont différentes, le signal 205 est un état haut. Par opposition au cas précédent,
ce signal 205 autorisera le système informatique 100-
106 à poursuivre l'exécution du programme stocké dans la mémoire 103. Bien que le signal 205 soit pressenti ici comme un état binaire, de plus sur un des fils du bus connectant la cartouche 107 au système informatique -106, il sera préférable dans la réalité que le message 205 soit crypté de manière à ne pas permettre sa falsification. Par exemple, la sortie de la porte 209 sera connectée à l'entrée d'un circuit combinatoire
donné, le logiciel de l'application comportant un sous-
programme de décryptage du signal élaboré dans la cartouche. Une deuxième solution pour vérifier la validité d'utilisation consiste à comparer une date courante 204 issue du compteur 112 à une date préenregistrée dans la mémoire 108 de la cartouche et correspondant à la date limite d'utilisation 203. A chaque impulsion de l'horloge temps réel 109, le compteur 112 est incrémenté d'une unité. La date courante 204 est indiquée par l'état du compteur 112. Dans cette deuxième solution, on préfère ne pas utiliser l'horloge du système 100-106 car l'utilisateur y a accès facilement et pourrait alors modifier la date courante 204. Pour effectuer la comparaison entre la date courante 204 issue de l'horloge 109 et la date limite
d'utilisation 203, on utilise des portes logiques 210-
211 et 212 interconnectées dans le réseau logique câblé
111 de la même manière que les portes 206-207 et 208.
Le raisonnement de la phase de comparaison des deux dates 203 et 204 est identique à celui concernant les
durées 201 et 202. Si on retient des dates en jour-
mois-année, avec un octet par caractère, il faut 64 portes 210 ou 211. De préférence, les dates stockées et
comparées seront des dates cryptées.
Dans un mode préféré de réalisation, la scrutation de vérification est liée à une action de l'opérateur sur un organe de commande, par exemple sur le clavier 105. La scrutation réinitialise le monostable 113. Tant que le monostable 113 est actif, le compteur 110 est autorisé à décompter les unités de durée au rythme de
l'horloge temps réel 109.
Dans un autre mode de réalisation, la scrutation de vérification s'effectue toutes les minutes. La minute paraît l'unité de durée la plus appropriée pour ce type de vérification. Une vérification toutes les heures serait trop imprécise alors qu'une vérification toutes les microsecondes ou toutes les secondes serait
trop astreignante pour le système.
L'invention possède de plus la particularité que la cartouche est réarmable par simple mot de passe. La protection du programme y est de plus renforcée par la nécessité, pour l'utilisateur, de connaître une ancienne clé en plus du mot de passe pour pouvoir
prolonger la durée d'utilisation du programme.
L'utilisateur aura préalablement obtenu cette ancienne
clé lors du précédent chargement de la cartouche 107.
L'invention propose donc, pour pouvoir réarmer ou réapprovisionner sa cartouche, le procédé se présentant à cet effet sous la forme d'organigrammes représentés
sur les figures 3 et 4.
Une première série d'étapes montrées sur la figure 3, consiste à produire un mot de passe nécessaire à
l'utilisateur pour avoir accès au programme protégé.
Elle s'effectue chez le loueur ou administrateur apres demande de prolongation de location de la part de l'utilisateur. Ce mot de passe correspond au moins à une transformation d'informations représentatives d'une donnée de durée, d'un numéro d'appareil client, d'une ancienne clé N et d'une nouvelle clé N+1. La donnée de
durée concerne une durée pour une nouvelle utilisation.
L'ancienne clé N est relative à une durée précédente.
La nouvelle clé N+1 est relative à cette nouvelle durée d'utilisation. Dans une première étape 301, on crée un nombre aléatoire, produit par des techniques connues, de longueur fixée qui constituera une clé N+1 et qui représentera une nouvelle clé. La clé N+1 est
totalement arbitraire.
Dans l'étape suivante 302, on concatène la nouvelle clé N+1 avec la donnée de la nouvelle durée consentie au client pour obtenir une chaîne 1. La donnée de la nouvelle durée est une valeur qui, soit aura été fixée par avance d'un commun accord entre le client et l'administrateur, soit sera définie au moment
de la transaction.
Ensuite, on crée lors d'une étape 303 un mot de contrôle résultant, par exemple, de la somme des caractères de la chaîne 1 et d'un numéro d'appareil client. Ce mot de contrôle permettra de vérifier l'exactitude du mot de passe de l'utilisateur dans la phase de décryptage du mot de passe. De plus, il faut noter que l'on aurait pu concaténer le numéro d'appareil avec la chaîne 1 (liaison en tirets) au lieu
de l'introduire dans le mot de contrôle.
Dans une étape 304 suivante, on concatène la
chaîne 1 au mot de contrôle pour obtenir une chaîne 2.
Enfin, on crypte la chaîne 2 avec une fonction de paramétrage paramétrée par une ancienne clé N de l'utilisateur (étape 305) suivant des algorithmes connus pour obtenir un mot de passe. Des fonctions réciproques telles que le OU exclusif peuvent être utilisées pour effectuer un tel cryptage. Ce mot de passe est ensuite transmis au client. On pourrait
également utiliser des fonctions de type DES et RSA.
Les concaténations des étapes 302 et 304 peuvent être du même type l'une que l'autre, ou différentes (entrelacement des bits, juxtaposition, retournement des données etc...) Quand le client dispose du mot de passe qui lui est transmis, celui-ci est traité au cours d'une deuxième série d'étapes montrée sur la figure 4. La première étape 400 de cette deuxième série consiste à entrer le mot de passe dans le système informatique -106. Cette introduction peut être faite au clavier , en suivant par exemple les indications d'un sous programme de mise à jour qui apparaissent sur un écran 101 du système 100-106. Le sous programme est un sous programme compris dans le logiciel de l'application, ou fourni à part par l'administrateur. La clé N, stockée dans la mémoire 103 lors d'une précédente session, en est elle même extraite par le sous programme de mise à jour. Au besoin, l'utilisateur pourra entrer l'ancienne clé N pour que le sous programme, présent dans la mémoire 103, puisse effectuer le décryptage du mot de passe par l'ancienne clé N (étape 401). Le décryptage du mot de passe a pour résultat la production de la chaîne 2 par le système 100-106. De cette chaine 2, le sous programme extrait la chaîne 1 et le mot de contrôle par déconcaténation (étape 402). L'étape 402 est l'inverse de l'étape 304. Le mot de contrôle ainsi ll extrait est celui qui provient, par l'intermédiaire du
mot de passe, de l'administrateur.
De la même manière, on obtient la nouvelle clé N+1 et les données de durée en déconcaténant la chaîne 1 lors d'une étape de séparation 403 qui est l'inverse de
l'étape 302.
A partir de là, le sous programme provoque un deuxième calcul du mot de contrôle (étape 404) à partir de la chaîne 1 issue de l'extraction 402 et du numéro d'appareil client. Ce numéro d'appareil est préalablement stocké dans la mémoire 108 de la
cartouche 107 par l'administrateur.
Le programme effectue ensuite une opération de comparaison lors d'une étape 405 entre le mot de contrôle extrait à l'étape 402 et le mot de contrôle
calculé dans l'étape 404.
S'il n'y a pas égalité entre les deux mots de contrôle, on entre dans une phase d'erreur qui entraîne un blocage dans le déroulement du programme. On peut alors prévoir des actions au niveau du programme pour
empêcher plusieurs tentatives successives.
Dans le cas contraire, cela signifie que le mot de passe entré par l'utilisateur était correct. Il s'en suit une étape 406 de rafraîchissement de la donnée de durée d'utilisation dans la mémoire 108 de la cartouche 107. En effet, la nouvelle durée va devoir s'ajouter à l'ancienne durée. La clé N+1 est mémorisée dans la mémoire de la cartouche pour servir pour une session ultérieure. Dans une autre solution, l'utilisateur devra conserver la nouvelle clé N+1 à la place de l'ancienne clé N en vue d'un prochain réarmement de sa
cartouche 107.
La mise à jour de la donnée de durée d'utilisation 201 à l'étape 406 est effectuée dans un exemple préféré, par un additionneur 114. Cet additionneur 114 est réalisé sur la base d'un microcontrôleur, et est relié au bus 104. Il est capable de lire le nombre d'unités dans la zone contenant le nombre d'unités de durée 201 ou dans le registre du compteur 110, de recevoir l'incrément de durée issu du mot de passe, d'additionner ce nombre 201 avec cet incrément et d'écrire le résultat de cette addition dans cette zone ou dans ce registre. Dans un autre exemple par l'intermédiaire du bus 104, le sous programme va forcer un "1" sur un bit de poids fort de la donnée de durée 201 mémorisée dans la mémoire 108 dans la mesure o ce bit était passé à zéro par décomptage. Par ce moyen, on rajoute un certain nombre d'unités de durée à l'ancienne donnée de durée 201 sans en supprimer le solde d'unités. Dans le cas o la donnée de durée est une date, le programme efface entièrement la zone 203 pour y inscrire la nouvelle date, entrée par
l'intermédiaire du mot de passe.
La durée d'utilisation restante 201 peut être par ailleurs en permanence affichée dans un coin de l'écran relié au système informatique pour informer
l'utilisateur sur l'état de la location.

Claims (12)

REVENDICATIONS
1 - Procédé d'autorisation temporaire (205), dans un système informatique client (100-106), d'utilisation d'un programme protégé par une cartouche électronique (107), cette cartouche étant en relation avec ce système, ce procédé comportant les étapes suivantes - scrutation par le système d'un état électrique (201) mémorisé (108) dans la cartouche (107); autorisation par le système (100-106) de l'utilisation du programme si cet état électrique correspond à un état attendu (202); caractérisé en ce qu'il comporte les étapes de - vérification (205-212), dans la cartouche (107), de la validité d'une durée d'utilisation; - réarmement (406) de la cartouche (107), à partir du système informatique (100-106), pour une
durée complémentaire.
2 - Procédé selon la revendication 1, caractérisé en ce que, pour vérifier la validité d'une durée d'utilisation, il comporte les étapes suivantes: on déclenche un monostable (113) à chaque scrutation; - on autorise un compteur (110) à décompter des unités de validité au rythme d'une horloge temps réel
(109) si le monostable (113) est déclenché.
3 - Procédé selon la revendication 2, caractérisé en ce que - on provoque une scrutation à chaque action d'un
opérateur sur un organe de commande d'un système.
4 - Procédé selon la revendication 1, caractérisé en ce qu'il comporte une étape de - vérification (206-209) de la validité sous
forme du décomptage d'un nombre d'unités de durée.
- Procédé selon la revendication 1, caractérisé en ce qu'il comporte une étape de - vérification (209-212) de la validité sous forme de la comparaison d'une date courante (204) à une
date préenregistrée (203) dans la cartouche (107).
6 - Procédé selon l'une des revendications 1 à 5,
caractérisé en ce qu'il comporte les étapes de - introduction (400) d'un mot de passe dans le système informatique (100-106), ce mot de passe correspondant à une transformation d'informations représentatives d'une donnée de durée, d'un numéro d'appareil, d'une clé ancienne N et d'une clé nouvelle N+1; - transformation inverse, dans le système informatique (100-106) ou la cartouche (107), de ce mot de passe, à partir de l'ancienne clé N, pour en extraire la nouvelle clé N+1 ainsi que les données de durée; - mise à jour (406) de la durée d'utilisation avec la donnée de durée extraite et remplacement (407)
de l'ancienne clé N par la nouvelle clé N+1.
7 - Procédé selon la revendication 6, caractérisé en ce qu'on effectue au préalable les étapes suivantes pour produire, chez un administrateur du procédé, le mot de passe: - génération d'un nombre formant une nouvelle clé
N+1 (301);
- concaténation (302) de la nouvelle clé N+1 et de la donnée de durée pour obtenir une première chaîne (chaîne 1); - élaboration (303) d'un mot de contrôle sur la base de la nouvelle clé N+1, de la donnée de durée et d'un numéro d'appareil connu de l'administrateur; - concaténation (304) de la première chaîne et du mot de contrôle pour obtenir une deuxième chaine (chaîne 2); - cryptage (305) de la deuxième chaîne par la clé N pour obtenir le mot de passe; 8 - Procédé selon la revendication 7, caractérisé en ce que pour prolonger l'autorisation d'utilisation du programme on effectue les étapes suivantes, en tout ou partie dans le système informatique (100-106) et ou dans la cartouche (107), - décryptage (401) du mot de passe par l'ancienne clé N pour obtenir la deuxième chaîne (chaîne 2); - extraction (402) à partir de la deuxième chaîne, de la première chaîne (chaîne 1) et du mot de contrôle élaboré par l'administrateur; - séparation (403) de la première chaîne en une nouvelle clé N+1 et en une donnée de durée; - élaboration (404), par le système informatique (100-106) ou la cartouche (107), d'un autre mot de contrôle à partir de la première chaîne (chaîne 1) et du numéro d'appareil mémorisé dans la mémoire de la cartouche ou à disposition du client; - comparaison (405) du mot de contrôle élaboré par l'administrateur à ce dit autre mot de contrôle; - et, si la comparaison est correcte, mise à jour de la durée d'utilisation avec la donnée de durée extraite (406) et remplacement de l'ancienne clé N par
la nouvelle clé N+l (407).
9 - Procédé selon l'une des revendications 7 ou
8, caractérisé en ce que - la nouvelle clé N+1 est produite aléatoirement
(301).
- Procédé selon l'une des revendications 6 à
8, caractérisé en ce que - on inscrit le numéro d'appareil (213) qui est à disposition du client dans une mémoire du système informatique (103) ou dans une mémoire de la cartouche
(108) dans des données du programme.
11 - Procédé selon l'une des revendications 1 à
, caractérisé en ce que
- on scrute toute les minutes.
12 - Procédé selon l'une des revendications 1 à
11 caractérisé en ce que - on affiche une information représentative de la durée. 13 - Cartouche électronique (107) autorisant temporairement, dans un système informatique (100-106), l'utilisation d'un programme protégé, comportant une mémoire (108), un premier compteur (110), un deuxième compteur (112), une horloge temps réel (109), un monostable (113), un additonneur (114) et un réseau logique câblé (111), caractérisée en ce qu'elle comporte des moyens (406) pour être réarmable par un
mot de passe (400).
14 - Cartouche électronique selon la revendication 13, caractérisée en ce qu'elle comporte un compteur (110) qui décrémente d'un nombre d'unités une donnée de durée (201) pendant un temps donné après
chaque scrutation du système.
- Cartouche électronique selon la revendication 13, caractérisée en ce qu'elle comporte une date limite d'utilisation (203) et un numéro
d'appareil client (213).
16 - Cartouche électronique selon la revendication 13 ou la revendication 15, caractérisée en ce qu'elle comporte un compteur (112) délivrant une
date courante (204).
17 - Cartouche électronique selon l'une des
revendications 13 à 16, caractérisée en ce qu'elle
comporte un réseau logique câblé (111) destiné à
comparer les données de durée.
FR9508124A 1995-07-05 1995-07-05 Procede et dispositif d'autorisation temporaire d'utilisation d'un programme protege par un cartouche electronique Expired - Fee Related FR2736448B1 (fr)

Priority Applications (4)

Application Number Priority Date Filing Date Title
FR9508124A FR2736448B1 (fr) 1995-07-05 1995-07-05 Procede et dispositif d'autorisation temporaire d'utilisation d'un programme protege par un cartouche electronique
US08/673,719 US5898778A (en) 1995-07-05 1996-06-27 Method and device for temporarily authorizing the use of a programme protected by an electronic cartridge
GB9613748A GB2302968A (en) 1995-07-05 1996-07-01 Temporarily authorising the use of a computer programme protected by an electronic cartridge
DE19626972A DE19626972A1 (de) 1995-07-05 1996-07-04 Verfahren und Vorrichtung zur vorläufigen Freigabe für die Anwendung eines von einer elektronischen Kassette geschützten Programms

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR9508124A FR2736448B1 (fr) 1995-07-05 1995-07-05 Procede et dispositif d'autorisation temporaire d'utilisation d'un programme protege par un cartouche electronique

Publications (2)

Publication Number Publication Date
FR2736448A1 true FR2736448A1 (fr) 1997-01-10
FR2736448B1 FR2736448B1 (fr) 1997-09-19

Family

ID=9480709

Family Applications (1)

Application Number Title Priority Date Filing Date
FR9508124A Expired - Fee Related FR2736448B1 (fr) 1995-07-05 1995-07-05 Procede et dispositif d'autorisation temporaire d'utilisation d'un programme protege par un cartouche electronique

Country Status (4)

Country Link
US (1) US5898778A (fr)
DE (1) DE19626972A1 (fr)
FR (1) FR2736448B1 (fr)
GB (1) GB2302968A (fr)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1025503A4 (fr) * 1997-10-20 2002-03-27 Quickflex Inc Dispositif materiel de securite reconfigurable et procede de fonctionnement
US7394347B2 (en) * 1997-10-27 2008-07-01 World Wide Innovations, Llc Locking device for electronic equipment
US8963681B2 (en) 1997-10-27 2015-02-24 Direct Source International, Llc Operating control system for electronic equipment
US6912528B2 (en) * 2000-01-18 2005-06-28 Gregg S. Homer Rechargeable media distribution and play system
US20010009007A1 (en) * 2000-01-18 2001-07-19 Takeshi Miyamae Information processing apparatus and storage medium
US7085929B1 (en) * 2000-10-11 2006-08-01 Koninklijke Philips Electronics N.V. Method and apparatus for revocation list management using a contact list having a contact count field
JP2002196988A (ja) * 2000-12-27 2002-07-12 Sharp Corp 記憶媒体
US8122119B1 (en) 2001-02-27 2012-02-21 Flowcharge, Inc. Non-resident metering and billing system for applications and devices
US20040133600A1 (en) * 2002-07-19 2004-07-08 Homer Gregg S. Rechargeable media distribution and play system
JP3841413B2 (ja) * 2003-02-19 2006-11-01 任天堂株式会社 ゲームシステム、ゲーム装置及びゲームプログラム
CN1890619A (zh) * 2003-12-09 2007-01-03 皇家飞利浦电子股份有限公司 序列激活的应用
US7647647B2 (en) * 2004-08-05 2010-01-12 International Business Machines Corporation System, method and program product for temporally authorizing program execution
US8566110B2 (en) * 2006-04-13 2013-10-22 Lenovo (Singapore) Pte. Ltd. Method and apparatus for managing user time on a rental computer
US20090025066A1 (en) * 2007-07-17 2009-01-22 Protectia Corporation Systems and methods for first and second party authentication

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0430734A1 (fr) * 1989-11-23 1991-06-05 Schlumberger Industries Procédé et système d'exploitation sécurisée d'un logiciel
GB2267986A (en) * 1992-09-04 1993-12-22 Algorithmic Res Ltd Security device for a computer.

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4740890A (en) * 1983-12-22 1988-04-26 Software Concepts, Inc. Software protection system with trial period usage code and unlimited use unlocking code both recorded on program storage media
US4791565A (en) * 1984-06-20 1988-12-13 Effective Security Systems, Inc. Apparatus for controlling the use of computer software
US5109413A (en) * 1986-11-05 1992-04-28 International Business Machines Corporation Manipulating rights-to-execute in connection with a software copy protection mechanism
JP2560124B2 (ja) * 1990-03-16 1996-12-04 株式会社セガ・エンタープライゼス ビデオゲームシステム及び情報処理装置
US5212729A (en) * 1992-01-22 1993-05-18 Schafer Randy J Computer data security device and method
JP3073590B2 (ja) * 1992-03-16 2000-08-07 富士通株式会社 電子化データ保護システム、使用許諾者側装置および使用者側装置
US5533125A (en) * 1993-04-06 1996-07-02 International Business Machines Corporation Removable computer security device
JPH07244781A (ja) * 1994-03-07 1995-09-19 C S K Sogo Kenkyusho:Kk ソフトウェアレンタル方法および装置ならびに流通媒体
US5564038A (en) * 1994-05-20 1996-10-08 International Business Machines Corporation Method and apparatus for providing a trial period for a software license product using a date stamp and designated test period
US5586301A (en) * 1994-11-09 1996-12-17 Ybm Technologies, Inc. Personal computer hard disk protection system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0430734A1 (fr) * 1989-11-23 1991-06-05 Schlumberger Industries Procédé et système d'exploitation sécurisée d'un logiciel
GB2267986A (en) * 1992-09-04 1993-12-22 Algorithmic Res Ltd Security device for a computer.

Also Published As

Publication number Publication date
GB9613748D0 (en) 1996-09-04
FR2736448B1 (fr) 1997-09-19
GB2302968A (en) 1997-02-05
DE19626972A1 (de) 1997-01-09
US5898778A (en) 1999-04-27

Similar Documents

Publication Publication Date Title
CA2171626C (fr) Systeme de controle d'acces limites a des plages horaires autorisees et renouvelables au moyen d'un support de memorisation portable
EP0430734B1 (fr) Procédé et système d'exploitation sécurisée d'un logiciel
FR2736448A1 (fr) Procede et dispositif d'autorisation temporaire d'utilisation d'un programme protege par un cartouche electronique
EP1004100B1 (fr) Dispositif portable electronique pour systeme de communication securisee, et procede d'initialisation de ses parametres
EP0252850B1 (fr) Procédé pour certifier l'authenticité d'une donnée échangée entre deux dispositifs connectés en local ou à distance par une ligne de transmission
US4816656A (en) IC card system
FR2650097A1 (fr) Carte a microcircuit cable et procede de transaction entre une carte a microcircuit cable correspondante et un terminal
US7069187B2 (en) Individual authentication apparatus, individual authentication method, and computer program
EP1055990A1 (fr) Enregistrement d'évènements sur une plate-forme d'ordinateur
FR2905187A1 (fr) Terminal de paiement electronique biometrique et procede de transaction
EP0231702A1 (fr) Procédé et appareil pour certifier des services obtenus à l'aide d'un support portatif tel qu'une carte à mémoire
WO2004032109A1 (fr) Dispositif sur d'introduction
CN107085791A (zh) 一种电子支付方法及终端
WO1999003074A1 (fr) Procede de gestion d'un terminal securise
WO2001003084A1 (fr) Procede de securisation du traitement d'une information sensible dans un module de securite monolithique, et module de securite associe
EP2070234B1 (fr) Sécurisation de code pour entité personnelle
RU2207617C1 (ru) Способ защиты и контроля подлинности информации и электронный криптографический модуль для его осуществления
FR2832829A1 (fr) Procede, systeme et dispositif permettant d'authentifier des donnees transmises et/ou recues par un utilisateur
EP0900429A1 (fr) Systeme securise de controle d'acces permettant le transfert d'habilitation a produire des cles
CN113268737A (zh) 环境安全验证方法、系统和客户端
EP0956540A1 (fr) Systeme securise de controle d'acces permettant l'invalidation automatique de cles electroniques volees ou perdues et/ou le transfert d'habilitation a produire des cles
FR2730076A1 (fr) Procede d'authentification par un serveur du porteur d'un objet portatif a microprocesseur, serveur et objet portatif correspondants
EP1058917A1 (fr) Chargement de programmes informatiques en blocs
FR2815434A1 (fr) Procede de verification de coherence de codes destines a un systeme embarque, notamment une carte a puce
CN115357869A (zh) 一种基于多路径配置的软件激活方法和装置

Legal Events

Date Code Title Description
ST Notification of lapse