EP0791877A1 - Electronic device providing a secure time reference for the protection of a program - Google Patents

Electronic device providing a secure time reference for the protection of a program Download PDF

Info

Publication number
EP0791877A1
EP0791877A1 EP97400398A EP97400398A EP0791877A1 EP 0791877 A1 EP0791877 A1 EP 0791877A1 EP 97400398 A EP97400398 A EP 97400398A EP 97400398 A EP97400398 A EP 97400398A EP 0791877 A1 EP0791877 A1 EP 0791877A1
Authority
EP
European Patent Office
Prior art keywords
software
computer
counter
function
interrogation
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
EP97400398A
Other languages
German (de)
French (fr)
Other versions
EP0791877B1 (en
Inventor
David Arditti
Laurent Stoffel
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.)
Orange SA
Original Assignee
France Telecom SA
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 France Telecom SA filed Critical France Telecom SA
Publication of EP0791877A1 publication Critical patent/EP0791877A1/en
Application granted granted Critical
Publication of EP0791877B1 publication Critical patent/EP0791877B1/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

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/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • G06F21/725Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits operating on a secure reference time value
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/34User authentication involving the use of external additional devices, e.g. dongles or smart cards
    • 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

Definitions

  • the present invention relates to an electronic device delivering a secure time reference for the protection of software, this device being able to be connected to a computer.
  • the safest protections use hardware means associated with software, generically called “dongles” or “electronic keys”. These hardware means are small external objects (boxes, floppy disks, etc.) which can be connected to computers, in particular by their serial or parallel ports. A dongle uses specific signals, and / or any other manufacturing "secret”, allowing the software to ensure its presence during an execution and to accept an exchange of information.
  • non-cryptographic dongles can thus be analyzed using a cut-off device or by analysis of the software code, to be reproduced subsequently, in the absence of dongles.
  • Some distributed systems or software use a certified time reference for security functionality.
  • a time reference is provided by a particular computer (or server), which authenticates with other computers requiring its service. But this computer can be "corrupted” by changing its internal clock, like that of any other computer. The other computers then trust it, but the time provided is inaccurate.
  • Such operation used for internal security purposes in an organization is not suitable for software protection. Indeed it is then a question of protecting software of an organization against the illicit use of it by other organizations or individuals.
  • a computer providing a certified time reference cannot be considered safe by a software publisher because this machine belongs to the user and not to the software publisher.
  • microprocessor cards that use an algorithm to allow authentication and certification. But these cards, which are not powered, cannot have an internal clock to deliver a certified time.
  • the present invention relates to an electronic device for verifying the lawful use of software, capable of being connected to a computer, said device comprising a microcontroller connected to at least one memory, an internal clock and an internal battery, characterized in that that the microcontroller uses an asymmetric cryptographic algorithm, which is based on the use of a secret signature function and a public verification function, and in that said device contains the signature function secret, while the software contains the public verification function.
  • the device of the invention is incorporated in a sealed box.
  • Said device can include a query counter which is incremented on each interrogation of said device, and a customization counter which makes it possible to load and reset usage "rights", in the form of start and / or end dates. validity, duration of use, etc.
  • the algorithm is an asymmetric cryptographic algorithm taken from the following algorithms: RSA, FIAT-SHAMIR, DSA-DSS, GQ, EL-GAMAL.
  • the device of the invention makes it possible to limit the use of the software for a period of validity (three months of use from the first use for example), to limit the use of the software to a certain number of uses , and using an appropriate implementation of the software to limit its use to an approximate duration (about five hundred hours, for example).
  • the electronic device of the invention can be rechargeable and make it possible to buy back use time a posteriori on a simple telephone call.
  • the electronic device of the invention accepts post-personalization by certified orders, and is reusable
  • the figure illustrates the electronic device of the invention.
  • the electronic device of the invention (10), as shown in FIG. 1, is able to be connected to the serial or parallel ports of a computer 11. It is supplied by an internal battery (12), and in particular contains a microcontroller (13), connected to memories, for example of the RAM (14) and ROM (15) type, and an internal clock (16).
  • a microcontroller 13
  • memories for example of the RAM (14) and ROM (15) type, and an internal clock (16).
  • This device can be incorporated in a sealed housing. Such an enclosure can, if it is opened, reset or destroy itself by any suitable physical means incorporated in it. Such a physical means known to those skilled in the art makes it possible to avoid the dissemination of secret information and incidentally makes any subsequent use of the software impossible.
  • the device of the invention is recognized by the software considered using a signature mechanism based on an asymmetric cryptographic algorithm, for example of the RSA (or Rivest-Shamir-Adelman), Fiat-Shamir, DSA-DSS type. , GQ (or Guillou-Quisquater), El Gamal, as described in numerous documents and in particular the work entitled "Applied Cryptography” by Bruce Scheiner (Edition John Wiley & Sons, 2nd edition, part III, chapters 19 to 21, pages 461 to 512, and part IV).
  • RSA Rivest-Shamir-Adelman
  • Fiat-Shamir Fiat-Shamir
  • GQ or Guillou-Quisquater
  • El Gamal as described in numerous documents and in particular the work entitled "Applied Cryptography” by Bruce Scheiner (Edition John Wiley & Sons, 2nd edition, part III, chapters 19 to 21, pages 461 to 512, and part IV).
  • An asymmetric signature algorithm is based on the use of a secret signature function and a public verification function. Knowing one function does not allow knowing the other.
  • the device contains the secret function, while the software to be protected contains the public service which only allows verification. The software to be protected therefore contains no secrets, because the knowledge of the public service does not allow signing messages.
  • the software which sends it a random number to avoid replay, which consists for a foreign person of observing any transaction between two devices and executing this transaction again.
  • the random number is returned along with the response to the query and the signing of the data.
  • the signature allows, by application of the public service, to reconstruct the data.
  • the device of the invention When the device of the invention is questioned, it only responds if the planned methods are all satisfied (expiry date not reached, duration of use not reached, etc.).
  • the personalization and post-personalization procedures are implemented before / during the sale (personalization) of the software and possibly in use (post-personalization) to update the data relating to the use of the software.
  • the device of the invention is used as a certified clock without limitation of duration, particular values are assigned to the registers corresponding to the expiry date and the duration of use.
  • the device of the invention accepts initialization / updating rights orders. These orders are certified by a standard procedure. Certificates are calculated by the software publisher using a symmetric algorithm and a secret key, which gives its power to assign rights to the publisher. This key is contained in said device and shared with the publisher. Each case has its own symmetrical key. The editor is able to find all these keys by a conventional process of diversification of a mother key from the serial number of the box.
  • a personalization file contains the rights and their certificate. It is delivered to the user when purchasing the software or updating rights. This file does not contain any secret information.
  • this counter is taken into account in the calculation of certificates.
  • the box accepts the update of rights if the transmitted value is strictly greater than the current value.
  • the transmitted value is then assigned to the counter.

Abstract

The electronic device, for verification of lawful use of a logic system is designed to be connected to a computer (11). The device includes a micro-controller (13) connected to a memory (14,15), an internal clock (16) and an internal battery (12). The micro-controller(13) uses an asymmetric crypto-graphic algorithm, which requires the use of a secret signature function and of a public verification function. The device contains the secret signature as well as the public verification function. The device can be connected to either the serial or parallel ports of a computer and is incorporated in a sealed casing. The device includes an interrogation counter (17) which is incremented for each interrogation of the device, it also includes a personalising counter (18) which permits the loading or reinstalling of user rights, in the form start dates and/or end of validity, of use duration. The algorithm is taken from amongst the following algorithms: RSA, FIAT- SHAMIR, DSA-DSS, GQ, EL-GAMAL.

Description

Domaine techniqueTechnical area

La présente invention concerne un dispositif électronique délivrant une référence temporelle sûre pour la protection d'un logiciel, ce dispositif étant apte à être connecté à un ordinateur.The present invention relates to an electronic device delivering a secure time reference for the protection of software, this device being able to be connected to a computer.

Etat de la technique antérieureState of the art

Tous les ordinateurs, du calculateur scientifique au modèle familial, possèdent une horloge interne et disposent ainsi d'une référence temporelle. De nombreux systèmes ou logiciels utilisent une telle référence temporelle pour différentes fonctionnalités non liées à leur protection. Une telle référence, en effet, est accessible et modifiable à l'aide du système d'exploitation de l'ordinateur concerné. Elle ne constitue donc pas une référence sûre.All computers, from the scientific calculator to the family model, have an internal clock and thus have a time reference. Many systems or software use such a time reference for different functionalities not related to their protection. Such a reference, in fact, is accessible and modifiable using the operating system of the computer concerned. It is therefore not a reliable reference.

Le piratage de logiciels (copies illicites, utilisation non conforme à la licence d'utilisation, ...) est très courant et constitue un préjudice important pour leurs éditeurs. De nombreux procédés de protection ont été utilisés à ce jour avec plus ou moins d'efficacité.Software piracy (illegal copies, use not in accordance with the user license, ...) is very common and constitutes significant damage for their publishers. Many protection methods have been used to date with varying degrees of effectiveness.

Il existe des versions de démonstration des logiciels, dans lesquelles certaines fonctionnalités importantes ne sont pas disponibles, mais aucune licence ne permet l'utilisation d'un logiciel avec toutes ses fonctionnalités pour une durée limitée. Ainsi la location ou la location-vente de logiciels, n'existe pas, car il n'y a pas de protection adaptée à de tels concepts.There are demo versions of software, in which some important functionality is not available, but there is no license to use software with all of its functionality for a limited time. Thus the rental or hire-purchase of software, does not exist, because there is no protection adapted to such concepts.

De manière générale, il est très intéressant de disposer d'une référence temporelle sûre pour pouvoir concevoir de nouveaux mécanismes de protection des logiciels ou des systèmes.In general, it is very interesting to have a reliable time reference in order to be able to design new software or system protection mechanisms.

A l'heure actuelle, les protections les plus sûres utilisent des moyens matériels associés aux logiciels, appelés de manière générique "dongles" ou "clés électroniques". Ces moyens matériels sont de petits objets externes (boîtiers, disquettes, ...) qui peuvent être connectés aux ordinateurs notamment par leurs ports série ou parallèle. Un dongle utilise des signaux particuliers, et/ou tout autre "secret" de fabrication, permettant au logiciel de s'assurer de la présence de celui-ci au cours d'une exécution et d'accepter un échange d'informations.At present, the safest protections use hardware means associated with software, generically called "dongles" or "electronic keys". These hardware means are small external objects (boxes, floppy disks, etc.) which can be connected to computers, in particular by their serial or parallel ports. A dongle uses specific signals, and / or any other manufacturing "secret", allowing the software to ensure its presence during an execution and to accept an exchange of information.

Malheureusement un dispositif peut être placé en coupure entre un ordinateur et un dongle pour analyser les signaux échangés. Aussi l'utilisation d'un dongle présente les inconvénients suivants :

  • si le dongle envoie toujours les mêmes signaux, un faux dongle peut alors rejouer les signaux enregistrés en fonction de ceux émis par l'ordinateur ;
  • si les signaux renvoyés par le dongle sont obtenus à partir de signaux émis par l'ordinateur comme résultat d'un calcul secret, alors le logiciel dispose du même secret dans son code pour vérifier l'authenticité des signaux transmis par le dongle ; par analyse du logiciel on peut alors retrouver ce secret pour réaliser ensuite un faux dongle.
Unfortunately, a device can be placed in the break between a computer and a dongle to analyze the signals exchanged. Also the use of a dongle has the following disadvantages:
  • if the dongle always sends the same signals, a false dongle can then replay the recorded signals according to those emitted by the computer;
  • if the signals returned by the dongle are obtained from signals sent by the computer as a result of a secret calculation, then the software has the same secret in its code to verify the authenticity of the signals transmitted by the dongle; by software analysis we can then find this secret to then make a false dongle.

Le comportement de dongles non cryptographiques peut ainsi être analysé à l'aide d'un dispositif en coupure ou par analyse du code du logiciel, pour être reproduit, par la suite, en l'absence de dongles.The behavior of non-cryptographic dongles can thus be analyzed using a cut-off device or by analysis of the software code, to be reproduced subsequently, in the absence of dongles.

Dans tous les cas de figure, les dongles actuels ne peuvent pas fournir de références temporelles, et donc a fortiori de références temporelles sûres.In all cases, the current dongles cannot provide time references, and therefore a fortiori reliable time references.

De plus les dongles personnalisés pour un logiciel donné ne sont pas réutilisables par la suite pour un autre logiciel.In addition, the custom dongles for a given software cannot be reused afterwards for another software.

Certains systèmes ou logiciels distribués utilisent une référence de temps certifiée pour des fonctionnalités de sécurité. Une telle référence de temps est fournie par un ordinateur particulier (ou serveur), qui s'authentifie auprès des autres ordinateurs requérant son service. Mais cet ordinateur peut être "corrompu" par modification de son horloge interne, comme celle de n'importe quel autre ordinateur. Les autres ordinateurs lui font alors confiance mais l'heure fournie est inexacte. Un tel fonctionnement utilisé à des fins de sécurité interne à une organisation n'est pas adapté à la protection de logiciels. En effet il s'agit alors de protéger un logiciel d'une organisation contre l'utilisation illicite de celui-ci par d'autres organisations ou individus.Some distributed systems or software use a certified time reference for security functionality. Such a time reference is provided by a particular computer (or server), which authenticates with other computers requiring its service. But this computer can be "corrupted" by changing its internal clock, like that of any other computer. The other computers then trust it, but the time provided is inaccurate. Such operation used for internal security purposes in an organization is not suitable for software protection. Indeed it is then a question of protecting software of an organization against the illicit use of it by other organizations or individuals.

Un ordinateur fournissant une référence temporelle certifiée (serveur horloge) ne peut être considéré comme sûr par un éditeur de logiciel car cette machine appartient à l'utilisateur et pas à l'éditeur de logiciel.A computer providing a certified time reference (clock server) cannot be considered safe by a software publisher because this machine belongs to the user and not to the software publisher.

Il existe des cartes à microprocesseur utilisant un algorithme pour permettre une authentification et une certification. Mais ces cartes, qui ne sont pas alimentées, ne peuvent pas disposer d'une horloge interne pour délivrer une heure certifiée.There are microprocessor cards that use an algorithm to allow authentication and certification. But these cards, which are not powered, cannot have an internal clock to deliver a certified time.

Ainsi les dispositifs actuels ne permettent pas à un ordinateur de disposer d'une référence temporelle sûre pouvant être utilisée par un logiciel pour lutter contre le piratage.Thus, current devices do not allow a computer to have a secure time reference that can be used by software to combat piracy.

L'objet de l'invention est de fournir une référence temporelle sûre dans un dongle, se connectant par exemple aux ports série ou parallèle d'un ordinateur, qu'un logiciel peut interroger pour s'assurer :

  • de la satisfaction des conditions d'utilisation du logiciel ;
  • de la présence du boîtier pour que le logiciel continue son exécution.
The object of the invention is to provide a secure time reference in a dongle, connecting for example to the serial or parallel ports of a computer, which software can interrogate to ensure:
  • satisfaction of the conditions of use of the software;
  • the presence of the box so that the software continues its execution.

Exposé de l'inventionStatement of the invention

La présente invention concerne un dispositif électronique de vérification de l'utilisation licite d'un logiciel, apte à être connecté à un ordinateur, ledit dispositif comportant un microcontrôleur connecté à au moins une mémoire, une horloge interne et une batterie interne, caractérisé en ce que le microcontrôleur utilise un algorithme cryptographique asymétrique, qui repose sur l'utilisation d'une fonction de signature secrète et d'une fonction de vérification publique, et en ce que ledit dispositif contient la fonction de signature secrète, alors que le logiciel contient la fonction de vérification publique.The present invention relates to an electronic device for verifying the lawful use of software, capable of being connected to a computer, said device comprising a microcontroller connected to at least one memory, an internal clock and an internal battery, characterized in that that the microcontroller uses an asymmetric cryptographic algorithm, which is based on the use of a secret signature function and a public verification function, and in that said device contains the signature function secret, while the software contains the public verification function.

Avantageusement le dispositif de l'invention est incorporé dans un boîtier scellé.Advantageously, the device of the invention is incorporated in a sealed box.

Ledit dispositif peut comprendre un compteur d'interrogations qui est incrémenté à chaque interrogation dudit dispositif, et un compteur de personnalisations qui permet de charger et de réinitialiser des "droits" d'utilisation, sous la forme de dates de début et/ou de fin de validité, de durée d'utilisation, etc..Said device can include a query counter which is incremented on each interrogation of said device, and a customization counter which makes it possible to load and reset usage "rights", in the form of start and / or end dates. validity, duration of use, etc.

Avantageusement l'algorithme est un algorithme cryptographique asymétrique pris parmi les algorithmes suivants : RSA, FIAT-SHAMIR, DSA-DSS, GQ, EL-GAMAL.Advantageously, the algorithm is an asymmetric cryptographic algorithm taken from the following algorithms: RSA, FIAT-SHAMIR, DSA-DSS, GQ, EL-GAMAL.

Avantageusement le dispositif de l'invention permet de limiter l'utilisation du logiciel pour une période de validité (trois mois d'utilisation à partir de la première utilisation par exemple), de limiter l'utilisation du logiciel à un certain nombre d'utilisations, et à l'aide d'une implémentation idoine du logiciel de limiter son utilisation à une durée approximative (environ cinq cents heures, par exemple).Advantageously, the device of the invention makes it possible to limit the use of the software for a period of validity (three months of use from the first use for example), to limit the use of the software to a certain number of uses , and using an appropriate implementation of the software to limit its use to an approximate duration (about five hundred hours, for example).

Le dispositif électronique de l'invention peut être rechargeable et permettre de racheter du temps d'utilisation a posteriori sur un simple appel téléphonique.The electronic device of the invention can be rechargeable and make it possible to buy back use time a posteriori on a simple telephone call.

Le dispositif électronique de l'invention accepte une postpersonnalisation par des ordres certifiés, et est réutilisableThe electronic device of the invention accepts post-personalization by certified orders, and is reusable

Brève description des dessinsBrief description of the drawings

La figure illustre le dispositif électronique de l'invention.The figure illustrates the electronic device of the invention.

Exposé détaillé de modes de réalisationDetailed description of embodiments

le dispositif électronique de l'invention (10), tel que représenté sur la figure 1, est apte à être connecté aux ports série ou parallèle d'un ordinateur 11. Il est alimenté par une batterie interne (12), et contient notamment un microcontrôleur (13), connecté à des mémoires par exemple de type RAM (14) et ROM (15), et une horloge interne (16).the electronic device of the invention (10), as shown in FIG. 1, is able to be connected to the serial or parallel ports of a computer 11. It is supplied by an internal battery (12), and in particular contains a microcontroller (13), connected to memories, for example of the RAM (14) and ROM (15) type, and an internal clock (16).

Ce dispositif peut être incorporé dans un boîtier scellé. Un tel boîtier peut, s'il est ouvert, se réinitialiser ou se détruire par tout moyen physique approprié, incorporé dans celui-ci. Un tel moyen physique connu de l'homme de l'art permet d'éviter une diffusion d'informations secrètes et rend incidemment toute utilisation ultérieure du logiciel impossible.This device can be incorporated in a sealed housing. Such an enclosure can, if it is opened, reset or destroy itself by any suitable physical means incorporated in it. Such a physical means known to those skilled in the art makes it possible to avoid the dissemination of secret information and incidentally makes any subsequent use of the software impossible.

Le dispositif de l'invention est reconnu par le logiciel considéré à l'aide d'un mécanisme de signature reposant sur un algorithme cryptographique asymétrique, par exemple du type RSA (ou Rivest-Shamir-Adelman), Fiat-Shamir, DSA-DSS, GQ (ou Guillou-Quisquater), El Gamal, comme décrit dans de nombreux documents et notamment l'ouvrage intitulé "Applied Cryptography" de Bruce Scheiner (Edition John Wiley & Sons, 2ème édition, partie III, chapitres 19 à 21, pages 461 à 512, et partie IV).The device of the invention is recognized by the software considered using a signature mechanism based on an asymmetric cryptographic algorithm, for example of the RSA (or Rivest-Shamir-Adelman), Fiat-Shamir, DSA-DSS type. , GQ (or Guillou-Quisquater), El Gamal, as described in numerous documents and in particular the work entitled "Applied Cryptography" by Bruce Scheiner (Edition John Wiley & Sons, 2nd edition, part III, chapters 19 to 21, pages 461 to 512, and part IV).

Un algorithme de signature asymétrique repose sur l'utilisation d'une fonction de signature secrète et d'une fonction de vérification publique. La connaissance d'une fonction ne permet pas de connaître l'autre. Le dispositif contient la fonction secrète, alors que le logiciel à protéger contient la fonction publique qui ne permet qu'une vérification. Le logiciel à protéger ne contient donc aucun secret, car la connaissance de la fonction publique ne permet pas de signer des messages.An asymmetric signature algorithm is based on the use of a secret signature function and a public verification function. Knowing one function does not allow knowing the other. The device contains the secret function, while the software to be protected contains the public service which only allows verification. The software to be protected therefore contains no secrets, because the knowledge of the public service does not allow signing messages.

Toutes les interrogations du dispositif sont effectuées par le logiciel, qui lui envoie un nombre aléatoire pour éviter le rejeu, qui consiste pour une personne étrangère à observer une transaction quelconque entre deux dispositifs et à exécuter à nouveau cette transaction. Lorsque le dispositif répond, le nombre aléatoire est renvoyé avec la réponse à l'interrogation et la signature des données. Dans le cas particulier de l'algorithme RSA, la signature permet, par application de la fonction publique, de reconstituer les données.All the interrogations of the device are carried out by the software, which sends it a random number to avoid replay, which consists for a foreign person of observing any transaction between two devices and executing this transaction again. When the device responds, the random number is returned along with the response to the query and the signing of the data. In the particular case of the RSA algorithm, the signature allows, by application of the public service, to reconstruct the data.

L'observation des échanges entre l'ordinateur et le dispositif de l'invention n'est pas utilisable par une personne étrangère car ces échanges sont non déterministes et non rejouables (présence de l'aléa).The observation of the exchanges between the computer and the device of the invention cannot be used by a foreign person because these exchanges are non-deterministic and cannot be replayed (presence of the hazard).

Si on prend l'exemple de l'algorithme RSA, S étant la fonction de signature secrète, P la fonction de vérification publique, a un nombre aléatoire, H l'heure (et la date), / indiquant l'opérateur concaténation, on a la signature : c = S(H/a), et la fonction de vérification publique P(c) = H/a.If we take the example of the RSA algorithm, S being the secret signature function, P the public verification function, has a random number, H the time (and the date), / indicating the operator concatenation, we at signature: c = S (H / a), and the public audit function P (c) = H / a.

Lorsque le dispositif de l'invention est interrogé, il ne répond que si les modalités prévues sont toutes satisfaites (date de fin de validité non atteinte, durée d'utilisation non atteinte, ..).When the device of the invention is questioned, it only responds if the planned methods are all satisfied (expiry date not reached, duration of use not reached, etc.).

On va, à présent, considérer le cycle de vie d'un boîtier ; lors de la fabrication, l'éditeur du logiciel réalise :

  • l'introduction du numéro de série du boîtier ;
  • l'introduction de la fonction secrète asymétrique de l'éditeur ;
  • la mise à l'heure de l'horloge ;
  • l'initialisation du compteur d'interrogations (17) : celui-ci, qui est incrémenté à chaque interrogation du boîtier, permet de faire une correspondance entre le nombre d'utilisations du logiciel et une certaine durée d'utilisation du logiciel ; ce qui présuppose une implémentation appropriée du logiciel ;
  • l'introduction de la date de début de validité, de la date de fin de validité, de la durée d'utilisation...
We will now consider the life cycle of a case; during manufacture, the software publisher performs:
  • entering the serial number of the box;
  • the introduction of the asymmetric secret function of the editor;
  • setting the clock time;
  • initialization of the interrogation counter (17): this, which is incremented on each interrogation of the box, makes it possible to make a correspondence between the number of uses of the software and a certain duration of use of the software; which presupposes an appropriate implementation of the software;
  • the introduction of the date of beginning of validity, the date of end of validity, the duration of use ...

Ces données ne sont plus modifiés jusqu'à une réinitialisation complète du boîtier (réutilisation). Elles seront appelées par la suite "droits d'utilisation".These data are no longer modified until a complete reset of the box (reuse). They will be called hereinafter "usage rights".

Les procédures de personnalisation et de postpersonnalisation sont mises en oeuvre avant/pendant la vente (personnalisation) du logiciel et éventuellement en cours d'utilisation (postpersonnalisation) pour mettre à jour les données relatives à l'utilisation du logiciel.The personalization and post-personalization procedures are implemented before / during the sale (personalization) of the software and possibly in use (post-personalization) to update the data relating to the use of the software.

Si le dispositif de l'invention est utilisé comme une horloge certifiée sans limitation de durée, des valeurs particulières sont attribuées aux registres correspondant à la date de fin de validité et à la durée d'utilisation.If the device of the invention is used as a certified clock without limitation of duration, particular values are assigned to the registers corresponding to the expiry date and the duration of use.

Pour réaliser les échanges d'information le dispositif de l'invention accepte des ordres d'initialisation/ mise à jour des droits. Ces ordres sont certifiés par une procédure classique. Les certificats sont calculés par l'éditeur de logiciel grâce à un algorithme symétrique et à une clé secrète, qui donne son pouvoir d'attribution des droits à l'éditeur. Cette clé est contenue dans ledit dispositif et partagée avec l'éditeur. Chaque boîtier possède une clé symétrique propre. L'éditeur est en mesure de retrouver toutes ces clés par un procédé classique de diversification d'une clé mère à partir du numéro de série du boîtier.To carry out the exchange of information, the device of the invention accepts initialization / updating rights orders. These orders are certified by a standard procedure. Certificates are calculated by the software publisher using a symmetric algorithm and a secret key, which gives its power to assign rights to the publisher. This key is contained in said device and shared with the publisher. Each case has its own symmetrical key. The editor is able to find all these keys by a conventional process of diversification of a mother key from the serial number of the box.

Un fichier de personnalisation contient les droits et leur certificat. Il est livré à l'utilisateur lors de l'achat du logiciel ou d'une mise à jour des droits. Ce fichier ne contient aucune information secrète.A personalization file contains the rights and their certificate. It is delivered to the user when purchasing the software or updating rights. This file does not contain any secret information.

Un tel fonctionnement permet une gestion des droits en absolu (date, nombre d'utilisations). Pour gérer ces éléments de façon incrémentale (ajouter 100 utilisations par exemple) il faut se prémunir contre le rejeu de la postpersonnalisation. Dans ce but, le dispositif possède un compteur de personnalisations (18).Such an operation allows absolute rights management (date, number of uses). To manage these elements incrementally (add 100 uses for example) you must protect yourself against the replay of post-personalization. For this purpose, the device has a personalization counter (18).

Initialisé à 0, ce compteur est pris en compte dans le calcul des certificats. Le boîtier accepte la mise à jour des droits si la valeur transmise est strictement supérieure à la valeur courante. La valeur transmise est alors affectée au compteur.Initialized at 0, this counter is taken into account in the calculation of certificates. The box accepts the update of rights if the transmitted value is strictly greater than the current value. The transmitted value is then assigned to the counter.

La réinitialisation totale du boîtier, qui permet sa réutilisabilité, n'a pas besoin d'être certifiée.The total reset of the case, which allows its reusability, does not need to be certified.

Claims (6)

Dispositif électronique de vérification de l'utilisation licite d'un logiciel, apte à être connecté à un ordinateur (11), ledit dispositif comportant un microcontrôleur (13) connecté à au moins une mémoire (14, 15), une horloge interne (16) et une batterie interne (12), caractérisé en ce que le microcontrôleur utilise un algorithme cryptographique asymétrique, qui repose sur l'utilisation d'une fonction de signature secrète et d'une fonction de vérification publique, et en ce que ledit dispositif contient la fonction de signature secrète, alors que le logiciel contient la fonction de vérification publique.Electronic device for verifying the lawful use of software, suitable for being connected to a computer (11), said device comprising a microcontroller (13) connected to at least one memory (14, 15), an internal clock (16 ) and an internal battery (12), characterized in that the microcontroller uses an asymmetric cryptographic algorithm, which is based on the use of a secret signature function and a public verification function, and in that said device contains the secret signature function, while the software contains the public verification function. Dispositif selon la revendication 1, caractérisé en ce que ledit dispositif est connecté audit ordinateur par ses ports série ou parallèle.Device according to claim 1, characterized in that said device is connected to said computer by its serial or parallel ports. Dispositif selon la revendication 1, caractérisé en ce qu'il est incorporé dans un boîtier scellé.Device according to claim 1, characterized in that it is incorporated in a sealed housing. Dispositif selon la revendication 1, caractérisé en ce qu'il comprend un compteur d'interrogations (17) qui est incrémenté à chaque interrogation dudit dispositif.Device according to claim 1, characterized in that it comprises an interrogation counter (17) which is incremented on each interrogation of said device. Dispositif selon la revendication 1, caractérisé en ce qu'il comprend un compteur de personnalisations (18) qui permet de charger et de réinitialiser des "droits" d'utilisation, sous la forme de dates de début et/ou de fin de validité, de durée d'utilisation.Device according to claim 1, characterized in that it comprises a personalization counter (18) which makes it possible to load and reset "rights" of use, in the form of start and / or end dates of validity, duration of use. Dispositif selon la revendication 1, caractérisé en ce que l'algorithme est un algorithme cryptographique asymétrique pris parmi les algorithmes suivants : RSA, FIAT-SHAMIR, DSA-DSS, GQ, EL-GAMAL.Device according to claim 1, characterized in that the algorithm is an asymmetric cryptographic algorithm chosen from the following algorithms: RSA, FIAT-SHAMIR, DSA-DSS, GQ, EL-GAMAL.
EP19970400398 1996-02-26 1997-02-24 Electronic device providing a secure time reference for the protection of a program Expired - Lifetime EP0791877B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR9602340 1996-02-26
FR9602340A FR2745399B1 (en) 1996-02-26 1996-02-26 ELECTRONIC DEVICE PROVIDING A SURE TIME REFERENCE FOR THE PROTECTION OF SOFTWARE

Publications (2)

Publication Number Publication Date
EP0791877A1 true EP0791877A1 (en) 1997-08-27
EP0791877B1 EP0791877B1 (en) 2002-05-22

Family

ID=9489568

Family Applications (1)

Application Number Title Priority Date Filing Date
EP19970400398 Expired - Lifetime EP0791877B1 (en) 1996-02-26 1997-02-24 Electronic device providing a secure time reference for the protection of a program

Country Status (3)

Country Link
EP (1) EP0791877B1 (en)
DE (1) DE69712656T2 (en)
FR (1) FR2745399B1 (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2331165A (en) * 1997-11-08 1999-05-12 Gerald William Haywood Computer mountable clock/calendar
WO1999061972A1 (en) * 1998-05-27 1999-12-02 Trafford Limited A computer dongle
WO2000042491A1 (en) * 1999-01-15 2000-07-20 Rainbow Technologies, Inc. Usb-compliant personal key with integral input and output devices
WO2000064097A1 (en) * 1999-04-20 2000-10-26 Bull Cp8 Signature verification and authentication method
US6671808B1 (en) 1999-01-15 2003-12-30 Rainbow Technologies, Inc. USB-compliant personal key
US6848045B2 (en) 1999-01-15 2005-01-25 Rainbow Technologies, Inc. Integrated USB connector for personal token
US7111324B2 (en) 1999-01-15 2006-09-19 Safenet, Inc. USB hub keypad
US7269844B2 (en) 1999-01-15 2007-09-11 Safenet, Inc. Secure IR communication between a keypad and a token
US7895443B2 (en) 2002-11-05 2011-02-22 Safenet, Inc. Secure authentication using hardware token and computer fingerprint

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1988005941A1 (en) * 1987-01-30 1988-08-11 Software Activation, Inc. Apparatus and method for regulating the use of proprietary computer software
WO1992012485A1 (en) * 1991-01-07 1992-07-23 Blandford Robert R Devices to (1) supply authenticated time and (2) time stamp and authenticate digital documents

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1988005941A1 (en) * 1987-01-30 1988-08-11 Software Activation, Inc. Apparatus and method for regulating the use of proprietary computer software
WO1992012485A1 (en) * 1991-01-07 1992-07-23 Blandford Robert R Devices to (1) supply authenticated time and (2) time stamp and authenticate digital documents

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
D. KRUSE: "Guarding the operating system", SIEMENS MAGAZINE OF COMPUTERS & COMMUNICATIONS, (COM), vol. XIV, no. 5, September 1986 (1986-09-01), MUNCHEN DE, pages 14 - 16, XP002018528 *

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2331165A (en) * 1997-11-08 1999-05-12 Gerald William Haywood Computer mountable clock/calendar
WO1999061972A1 (en) * 1998-05-27 1999-12-02 Trafford Limited A computer dongle
US7272723B1 (en) 1999-01-15 2007-09-18 Safenet, Inc. USB-compliant personal key with integral input and output devices
US6671808B1 (en) 1999-01-15 2003-12-30 Rainbow Technologies, Inc. USB-compliant personal key
US6848045B2 (en) 1999-01-15 2005-01-25 Rainbow Technologies, Inc. Integrated USB connector for personal token
US7111324B2 (en) 1999-01-15 2006-09-19 Safenet, Inc. USB hub keypad
US7269844B2 (en) 1999-01-15 2007-09-11 Safenet, Inc. Secure IR communication between a keypad and a token
WO2000042491A1 (en) * 1999-01-15 2000-07-20 Rainbow Technologies, Inc. Usb-compliant personal key with integral input and output devices
WO2000064097A1 (en) * 1999-04-20 2000-10-26 Bull Cp8 Signature verification and authentication method
FR2792789A1 (en) * 1999-04-20 2000-10-27 Bull Cp8 Microprocessor card/microphone signature verification/authentication technique having prove/verify sections with prove section calculating pre validation level and verify unit passing and computing without division operation.
US7895443B2 (en) 2002-11-05 2011-02-22 Safenet, Inc. Secure authentication using hardware token and computer fingerprint
US8065718B2 (en) 2002-11-05 2011-11-22 Safenet, Inc. Secure authentication using hardware token and computer fingerprint
US8392978B2 (en) 2002-11-05 2013-03-05 Safenet, Inc. Secure authentication using hardware token and computer fingerprint

Also Published As

Publication number Publication date
FR2745399B1 (en) 1998-04-10
DE69712656T2 (en) 2002-12-05
EP0791877B1 (en) 2002-05-22
FR2745399A1 (en) 1997-08-29
DE69712656D1 (en) 2002-06-27

Similar Documents

Publication Publication Date Title
CA2121410C (en) Device for protecting the keys of a chip card
US9641330B2 (en) Trusted tamper reactive secure storage
FR2995707A1 (en) SYSTEMS AND METHODS FOR MANAGING ENCRYPTION KEYS IN A SECURE MICROCONTROLLER
EP3320471B1 (en) System and method for hardware ip modules authentication and licensing
CN1439129A (en) Embedded security device within a nonvolatile memory device
FR2791203A1 (en) DEVICE FOR AUTHENTICATING A MESSAGE DURING A CRYPTOGRAPHIC PROCESSING OPERATION OF SAID MESSAGE
EP0791877B1 (en) Electronic device providing a secure time reference for the protection of a program
EP0720098B1 (en) Apparatus for securing information systems organised around microprocessors
JP2011150524A (en) Software execution system
CN112907375A (en) Data processing method, data processing device, computer equipment and storage medium
FR3035248A1 (en) SECURE-OPERATING-ON-CHIP SYSTEM AND USES THEREOF
EP2336931B1 (en) Method for signature verification
FR3069935A1 (en) DEVICES AND METHODS FOR INTELLECTUAL PROPERTY PROTECTION OF SOFTWARE FOR INTEGRATED PLATFORMS
CH716295A2 (en) A method of multiple signature of a transaction intended for a blockchain, by means of cryptographic keys distributed among the nodes of a peer-to-peer network.
FR3069993A1 (en) DEVICES AND METHODS FOR MASKING RSA ENCRYPTION OPERATIONS
CA3093385A1 (en) Secure data processing
CN111639353A (en) Data management method and device, embedded equipment and storage medium
CH716294A2 (en) Decentralized signature process, under biometric control and under conditions of personal identification and geolocation, of a transaction intended for a blockchain.
Zanero Smart card content security
JPH1013402A (en) Method and device for managing secret key of open key code cipher
EP1850259A2 (en) Method of protecting executable code and data of a computer system
EP4068134A1 (en) Secure debugging
CH716296A2 (en) A method of multiple signature of a transaction intended for a blockchain, subject to geolocation, by means of cryptographic keys distributed among the nodes of a peer-to-peer network.
CH716293A2 (en) Decentralized signature process, under biometric control and subject to personal identification, of a transaction intended for a blockchain.
US20220385472A1 (en) Blockchain Enabled Data Authentication System Using Simulated Quantum Entanglement

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): DE GB

17P Request for examination filed

Effective date: 19980130

17Q First examination report despatched

Effective date: 19991105

GRAG Despatch of communication of intention to grant

Free format text: ORIGINAL CODE: EPIDOS AGRA

GRAG Despatch of communication of intention to grant

Free format text: ORIGINAL CODE: EPIDOS AGRA

GRAH Despatch of communication of intention to grant a patent

Free format text: ORIGINAL CODE: EPIDOS IGRA

GRAH Despatch of communication of intention to grant a patent

Free format text: ORIGINAL CODE: EPIDOS IGRA

GRAA (expected) grant

Free format text: ORIGINAL CODE: 0009210

REG Reference to a national code

Ref country code: GB

Ref legal event code: FG4D

Free format text: NOT ENGLISH

REF Corresponds to:

Ref document number: 69712656

Country of ref document: DE

Date of ref document: 20020627

GBT Gb: translation of ep patent filed (gb section 77(6)(a)/1977)

Effective date: 20020822

PLBE No opposition filed within time limit

Free format text: ORIGINAL CODE: 0009261

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT

26N No opposition filed

Effective date: 20030225

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: GB

Payment date: 20080129

Year of fee payment: 12

Ref country code: DE

Payment date: 20080208

Year of fee payment: 12

GBPC Gb: european patent ceased through non-payment of renewal fee

Effective date: 20090224

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: DE

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20090901

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: GB

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20090224