[go: up one dir, main page]

FR2762111A1 - Protection of computer file against illicit copying and use - Google Patents

Protection of computer file against illicit copying and use Download PDF

Info

Publication number
FR2762111A1
FR2762111A1 FR9704340A FR9704340A FR2762111A1 FR 2762111 A1 FR2762111 A1 FR 2762111A1 FR 9704340 A FR9704340 A FR 9704340A FR 9704340 A FR9704340 A FR 9704340A FR 2762111 A1 FR2762111 A1 FR 2762111A1
Authority
FR
France
Prior art keywords
file
computer
code
physical key
scrambled
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
FR9704340A
Other languages
French (fr)
Other versions
FR2762111B1 (en
Inventor
Jean Pierre Delahaye
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.)
Telediffusion de France ets Public de Diffusion
Original Assignee
Telediffusion de France ets Public de Diffusion
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 Telediffusion de France ets Public de Diffusion filed Critical Telediffusion de France ets Public de Diffusion
Priority to FR9704340A priority Critical patent/FR2762111B1/en
Publication of FR2762111A1 publication Critical patent/FR2762111A1/en
Application granted granted Critical
Publication of FR2762111B1 publication Critical patent/FR2762111B1/en
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/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • 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
    • 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/2107File encryption

Landscapes

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

Abstract

The protection method consists of initial storage of a scrambled and compressed version of the file to be protected, followed by decompressing and unscrambling of the file to allow it to be used. The decompressing and unscrambling makes use of a physical key unique to a particular user, and can only be activated with the aid of this physical key. In addition a unique password is assigned to each user, and must also be used if the decompression and unscrambling is to be successful. Where the protected file is an executable program the correct access keys enable generation of a program that installs the executable program.

Description

PROCEDE ET SYSTEME DE PROTECTION CONTRE LA COPIE
ET L'UTILISATION ILLICITES D'UN FICHIER INFORMATIOUE
L'invention concerne un procédé et un système de protection contre la copie et l'utilisation illicites d'un fichier informatique.
COPY PROTECTION METHOD AND SYSTEM
AND THE ILLEGAL USE OF A COMPUTER FILE
A method and system for protecting against illegal copying and use of a computer file is provided.

Avec une augmentation constante de la puissance de calcul des ordinateurs actuels, en particulier des microordinateurs, le nombre et la variété des fonctions réalisées par ces derniers ont pour conséquence une omniprésence constante et croissante des moyens informatiques pour l'exécution des tâches professionnelles ou même habituelles. With a constant increase in the computing power of current computers, in particular microcomputers, the number and variety of functions performed by these result in a constant and increasing ubiquity of computing means for the execution of professional or even usual tasks .

Cette multiplication et cet accroissement ont une double conséquence. La premiere n'est autre que la multiplication, dans le commerce, de logiciels semblables permettant de réaliser les fonctions précitées. La deuxième, liée à cette première conséquence, n' est autre que la banalisation, non seulement de ces logiciels, mais également de leurs fonctionnalités et des résultats ou des données numériques obtenus par la mise en oeuvre de ces fonctionnalités et de ces logiciels, banalisation accompagnée d'un risque d'accès illicite à ces derniers par des personnes non habilitées. This multiplication and this increase have a double consequence. The first is none other than the proliferation, in the trade, of similar software allowing to carry out the abovementioned functions. The second, linked to this first consequence, is none other than the trivialization, not only of these software, but also of their functionalities and of the results or digital data obtained by the implementation of these functionalities and of these software, trivialization accompanied by a risk of illicit access to them by unauthorized persons.

Afin de réduire, voire supprimer, l'accès illicite aux logiciels et aux résultats ou données obtenus grâce à ces derniers, on a proposé plusieurs types de protections physiques de ces logiciels, ces protections physiques ayant pour objet d'empêcher l'exécution de copies ou d'utilisations non autorisée et venant donc en amont de l'arsenal répressif, nécessaire, mais qui ne peut s'appliquer qu'au délit de copie ou d'utilisation non autorisée effectivement constitué. In order to reduce, or even eliminate, illicit access to software and to the results or data obtained thanks to it, several types of physical protection have been proposed for this software, these physical protections having the object of preventing the execution of copies or unauthorized use and therefore coming upstream of the repressive arsenal, necessary, but which can only apply to the offense of copying or unauthorized use actually constituted.

Parmi ces protections physiques, on peut citer, en premier lieu, l'insertion, dans chaque logiciel considéré, d'une sécurité logicielle, plus communément désignée par "plombage", ayant pour effet de faire avorter l'opération de copie ou d'utilisation illicite du logiciel considéré.  Among these physical protections, one can cite, firstly, the insertion, in each software considered, of software security, more commonly known as "sealing", having the effect of aborting the copying or illegal use of the software in question.

Basée sur une simple technique logicielle, celle-ci ne résiste pas, en général, à une analyse dite d'ingénierie inverse, ce qui n'a pas manqué de voir fleurir jusqu'à ce jour la mise en oeuvre de logiciels dits de "déplombage" dont la fonction consiste à inhiber la fonction de sécurité logicielle insérée. Ces logiciels de "déplombage" ont connu un succès remarqué aupres d'utilisateurs peu scrupuleux.Based on a simple software technique, it does not, in general, withstand a so-called reverse engineering analysis, which has not failed to see the development of software known as " seals "whose function is to inhibit the software security function inserted. These "seal-off" software have been remarkably successful with unscrupulous users.

On peut, en deuxième lieu, citer la mise en oeuvre d'une protection physique, non pas logicielle mais matérielle, agissant non pas directement sur le logiciel à protéger, mais au contraire sur l'ordinateur chargé de l'exécution de ce logiciel, et, par conséquent et par voie indirecte, sur le logiciel précité. Secondly, we can cite the implementation of physical protection, not software but hardware, acting not directly on the software to be protected, but on the contrary on the computer responsible for the execution of this software, and, consequently and indirectly, on the aforementioned software.

D'une manière plus concrète, ces protections physiques matérielles consistent en un boîtier destiné à être interconnecté sur l'un des ports d'entrée/sortie de l'ordinateur d'exécution. Le port d'entrée est en général le port parallèle sur lequel un appareil périphérique de l'ordinateur, tel qu'une imprimante, peut être normalement interconnecté. Le boîtier précité consiste en une enceinte, en principe inviolable, et en un circuit actif, ou au moins programmable, permettant d'engendrer un code spécifique correspondant à différentes valeurs binaires délivrées sur les fils et les broches conductrices du port d'entrée/sortie sur lequel le boîtier est interconnecté. Le boîtier précité constitue alors une clé secrète, plus communément désignée par "dongle". L'utilisation du logiciel protégé est ainsi soumise à la présence permanente du code adéquat délivré par la clé, un code étant associé à un logiciel déterminé par l'autorité habilitée à diffuser et commercialiser le logiciel. La présence permanente du code adéquat et de la clé est vérifiée par l'ordinateur d'exécution par lecture répétée, successive, de la valeur du code présente sur le port d'entrée/sortie. More concretely, these physical physical protections consist of a box intended to be interconnected on one of the input / output ports of the execution computer. The input port is generally the parallel port on which a peripheral device of the computer, such as a printer, can be normally interconnected. The aforementioned box consists of an enclosure, in principle inviolable, and an active circuit, or at least programmable, allowing to generate a specific code corresponding to different binary values delivered on the wires and the conductive pins of the input / output port. on which the box is interconnected. The aforementioned case then constitutes a secret key, more commonly known as a "dongle". The use of protected software is thus subject to the permanent presence of the appropriate code issued by the key, a code being associated with software determined by the authority empowered to distribute and market the software. The permanent presence of the appropriate code and the key is checked by the execution computer by repeated, successive reading of the value of the code present on the input / output port.

Le mode opératoire par protection physique matérielle précité donne satisfaction. Toutefois, il présente les inconvénients ou limitations ci-après. The above procedure for physical physical protection is satisfactory. However, it has the following disadvantages or limitations.

Un premier inconvénient concerne le caractère non absolu d'inviolabilité de la clé ainsi constituée. Bien que le boîtier soit normalement plombé, la destruction de ce dernier en vue d'un accès illicite aux circuits actifs entraînant en général la destruction de ces derniers et en conséquence la destruction du code, un accès intempestif, par voie informatique, à ces circuits actifs, et donc au code, ne peut en aucun cas être totalement écarté. Dans une telle hypothèse, l'accès et la connaissance du code permettent alors l'utilisation du logiciel protégé par un tiers indélicat, en raison de l'absence de protection de ce logiciel, autre que l'existence d'une clé secrète. A first drawback concerns the non-absolute inviolability of the key thus formed. Although the box is normally sealed, the destruction of the latter with a view to illicit access to active circuits generally leading to the destruction of the latter and consequently the destruction of the code, untimely computer access to these circuits assets, and therefore to the code, can in no case be totally excluded. In such a case, access to and knowledge of the code then allows the use of software protected by an indelicate third party, due to the absence of protection of this software, other than the existence of a secret key.

Un deuxième inconvénient non négligeable réside dans le fait que la clé physique précitée occupe en permanence le port d'entrée/sortie précité, ce qui, sauf à prévoir un protocole de commutation spécifique des valeurs binaires représentatives du code, interdit de fait l'utilisation de ce port d'entrée/sortie selon sa destination première d'interconnexion d'un appareil périphérique. A second non-negligible drawback lies in the fact that the aforementioned physical key permanently occupies the aforementioned input / output port, which, unless a specific switching protocol for the binary values representative of the code is provided, in fact prohibits the use of this input / output port according to its primary destination for interconnection of a peripheral device.

Enfin, un troisième inconvénient concerne le fait qu'à une clé physique peut être associé un logiciel à protéger et un seul. Si les clés physiques précitées sont programmables, la valeur du code associé au logiciel à protéger étant calculée à partir de caractéristiques spécifiques du logiciel protégé et de l'utilisateur habilité, la multiplication du nombre de clés physiques, en raison du nombre de versions d'un même logiciel utilisé au sein d'une même entité, tel qu'un bureau d'études ou un laboratoire de développement, pose des problèmes de gestion des clés physiques non négligeables. Finally, a third disadvantage relates to the fact that a physical key can be associated with software to be protected and only one. If the aforementioned physical keys are programmable, the value of the code associated with the software to be protected being calculated on the basis of specific characteristics of the protected software and of the authorized user, the multiplication of the number of physical keys, due to the number of versions of the same software used within the same entity, such as a design office or a development laboratory, poses significant physical key management problems.

La présente invention a pour objet de remédier aux inconvénients ou limitations précités, par la mise en oeuvre d'un système de protection contre la copie et l'utilisation illicites d'un fichier informatique, constitué par un programme et/ou par des données numériques, présentant un haut degré de protection aux intrusions par des tiers non habilités. The object of the present invention is to remedy the aforementioned drawbacks or limitations, by implementing a system for protection against the illegal copying and use of a computer file, consisting of a program and / or digital data. , with a high degree of protection against intrusion by unauthorized third parties.

Un autre objet de la présente invention est en outre, aux fins d'obtenir le haut degré de protection précité, la mise en oeuvre d'un procédé et d'un système de protection contre la copie et l'utilisation illicites d'un fichier informatique, constitué par un programme et/ou par des données numériques, dans lesquels plusieurs niveaux de protection, de difficulté indépendante et/ou croissante en vue d'un accès non autorisé, sont introduits. Another object of the present invention is further, in order to obtain the aforementioned high degree of protection, the implementation of a method and a system of protection against the illegal copying and use of a file. IT, consisting of a program and / or digital data, into which several levels of protection, of independent difficulty and / or increasing with a view to unauthorized access, are introduced.

Un autre objet de la présente invention est également, dans le cas où le fichier informatique à protéger est constitué par un fichier directement exécutable par le système d'exploitation d'un ordinateur, constitutif de tout ou partie d'un logiciel, la mise en oeuvre d'un procédé et d'un système de protection permettant notamment de contrôler l'installation d'un tel fichier directement exécutable et d'appliquer différents niveaux de protection aux diverses phases d'installation de ce dernier, afin d'en protéger l'utilisation finale par des tiers non habilités. Another object of the present invention is also, in the case where the computer file to be protected consists of a file directly executable by the operating system of a computer, constituting all or part of software, the implementation implementation of a protection method and system allowing in particular to control the installation of such a directly executable file and to apply different levels of protection to the various phases of installation of the latter, in order to protect the '' end use by unauthorized third parties.

Un autre objet de la présente invention est également la mise en oeuvre d'un procédé et d'un système de protection contre la copie et l'utilisation illicites d'un fichier informatique au moyen d'une clé physique, une même clé physique contribuant à la protection d'une pluralité de fichiers informatiques protégés distincts. Another object of the present invention is also the implementation of a method and a system of protection against the illicit copying and use of a computer file by means of a physical key, the same physical key contributing the protection of a plurality of separate protected computer files.

Un autre objet de la présente invention est enfin la mise en oeuvre d'un procédé et d'un système de protection contre la copie et l'utilisation abusives d'un fichier informatique constitué par des données, indépendamment de la destination, mémorisation, traitement, transmission ou diffusion de ces données sur un support quelconque. Another object of the present invention is finally the implementation of a method and a system of protection against the improper copying and use of a computer file consisting of data, regardless of the destination, storage, processing , transmission or dissemination of this data on any medium.

Le procédé et le système de protection contre la copie et l'utilisation illicites d'un fichier informatique, objets de la présente invention, sont remarquables en ce que chacun consiste à, respectivement permet de mémoriser sous forme d'un fichier embrouillé et compressé ce fichier informatique, et, lors d'une utilisation de ce fichier informatique, soumettre ce fichier embrouillé et compressé à une opération de désembrouillage/décompression conditionnelle au moyen d'un logiciel de désembrouillage/décompression protégé au moyen du code personnalisé d'une clé physique en fonction d'un utilisateur habilité pour engendrer un fichier informatique utilisable conditionnellement à la disponibilité du code personnalisé de cette clé physique. The method and the system for protection against the illegal copying and use of a computer file, objects of the present invention, are remarkable in that each consists of, respectively allows to memorize in the form of a scrambled and compressed file that computer file, and, when using this computer file, subject this scrambled and compressed file to a conditional descrambling / decompression operation by means of descrambling / decompression software protected by means of the personalized code of a physical key according to a user authorized to generate a computer file usable conditionally on the availability of the personalized code of this physical key.

Le procédé et le système de protection contre la copie et l'utilisation illicites d'un fichier informatique, objets de la présente invention, ce fichier étant constitué par des programmes informatiques et/ou des données codées numériquement, trouvent application à l'industrie du développement et de la commercialisation de logiciels, de vidéogrammes, de phonogrammes ou de données de toute nature, sous forme mémorisées ou transmises sur un support de transmission quelconque. The method and the system for protection against the illicit copying and use of a computer file, objects of the present invention, this file being constituted by computer programs and / or digitally coded data, find application in the industry. development and marketing of software, videograms, phonograms or data of any kind, in stored form or transmitted on any transmission medium.

Ils seront mieux compris à la lecture de la description et à l'observation des dessins ci-après dans lesquels
- la figure 1 représente, sous forme de schéma bloc, un module de mise en oeuvre du procédé de protection contre la copie et l'utilisation illicites d'un fichier informatique conforme à l'objet de la présente invention
- la figure 2a représente un mode de mise en oeuvre préférentiel du procédé objet de la présente invention tel que représenté en figure 1, dans le cas où le fichier informatique protégé est un fichier directement exécutable par le système d'exploitation d'un ordinateur, le procédé objet de la présente invention étant plus particulièrement appliqué à la procédure d'installation de ce logiciel, préalablement à l'utilisation de celui-ci par une personne habilitée
- la figure 2b représente un détail de mise en oeuvre d'une étape spécifique du procédé, objet de la présente invention, tel que représenté en figure 1 ou 2a
- la figure 2c représente, à titre illustratif, une procédure de protection d'accès par encapsulation d'un fichier directement exécutable
- la figure 3a représente, à titre d'exemple non limitatif, un ordinateur de type portable muni d'un boîtier programmable connecté sur un port d'entrée/sortie, interface parallèle, et des programmes directement exécutables d' embrouillage/désembrouillage et de compression/décompression pour constituer dans cet ordinateur un système de protection de fichiers informatiques
- la figure 3b représente un ordinateur de type portable, de même que dans le cas de la figure 3a, dans lequel toutefois, dans le but de mettre en oeuvre un système de protection conforme à l'objet de la présente invention, la boîtier programmable est remplacé par un lecteur de carte à puce et par une carte à puce dans les circuits mémoires de laquelle le code d'une clé est mémorisé
- la figure 3c représente un diagramme fonctionnel relatif aux niveaux de protection successifs distincts mis en oeuvre au moyen d'une seule et même clé physique pour une pluralité de fichiers informatiques tels que des fichiers directement exécutables
- la figure 4a représente un plan d'affectation mémoire des différentes zones mémoires d'un boîtier programmable tel que représenté en figure 3a ou d'une carte à puce telle que représentée en figure 3b
- la figure 4b représente un diagramme des différents niveaux de protection distincts susceptibles d'être atteints, notamment pour la sécurisation de données ou de programmes susceptibles d'être transférés dans le cadre d'une mise à jour logicielle, en fonction des différentes options choisies
- la figure 5a représente, à titre illustratif, un diagramme d'état des interventions successives des premier et deuxième programmes directement exécutables sur un fichier informatique ou plus particulièrement un logiciel directement exécutable protégé en vue d'une installation sécurisée de ce dernier
- les figures 5b, 5c, 5d et 5e représentent, à titre illustratif, un diagramme d'état des interventions successives du premier et du deuxième programme directement exécutable dans le cas du transfert sécurisé de fichiers avec un niveau de protection 1, 2, 3 et 4 respectivement, selon le tableau de la figure 4b.
They will be better understood on reading the description and observing the drawings below in which
- Figure 1 shows, in the form of a block diagram, a module for implementing the method of protection against illegal copying and use of a computer file in accordance with the object of the present invention
FIG. 2a represents a preferred embodiment of the method which is the subject of the present invention as shown in FIG. 1, in the case where the protected computer file is a file directly executable by the operating system of a computer, the process which is the subject of the present invention being more particularly applied to the procedure for installing this software, prior to the use of the latter by an authorized person
- Figure 2b shows a detail of implementation of a specific step of the process, object of the present invention, as shown in Figure 1 or 2a
- Figure 2c shows, by way of illustration, an access protection procedure by encapsulation of a directly executable file
- Figure 3a shows, by way of nonlimiting example, a portable type computer provided with a programmable box connected to an input / output port, parallel interface, and directly executable scrambling / descrambling and compression / decompression to constitute a computer file protection system on this computer
- Figure 3b shows a portable type computer, as in the case of Figure 3a, in which however, for the purpose of implementing a protection system according to the object of the present invention, the programmable box is replaced by a smart card reader and by a smart card in the memory circuits of which the code of a key is memorized
FIG. 3c represents a functional diagram relating to the successive distinct levels of protection implemented by means of a single physical key for a plurality of computer files such as directly executable files
- Figure 4a shows a memory allocation plan of the different memory areas of a programmable box as shown in Figure 3a or a smart card as shown in Figure 3b
- Figure 4b shows a diagram of the different distinct levels of protection that can be achieved, in particular for securing data or programs that can be transferred as part of a software update, depending on the different options chosen
- Figure 5a shows, by way of illustration, a state diagram of the successive interventions of the first and second programs directly executable on a computer file or more particularly a directly executable software protected for a secure installation of the latter
FIGS. 5b, 5c, 5d and 5e represent, by way of illustration, a state diagram of the successive interventions of the first and of the second program directly executable in the case of the secure transfer of files with a level of protection 1, 2, 3 and 4 respectively, according to the table in FIG. 4b.

Une description plus détaillée du procédé de protection contre la copie et l'utilisation illicites d'un fichier informatique, conforme à l'objet de la présente invention, sera maintenant donnée en liaison avec la figure 1. A more detailed description of the method of protection against the illegal copying and use of a computer file, in accordance with the object of the present invention, will now be given in conjunction with FIG. 1.

Ainsi qu'on l'observera sur la figure précitée, le procédé de protection contre la copie et l'utilisation illicites d'un fichier informatique, objet de la présente invention, consiste de manière particulièrement remarquable, à partir d'un fichier informatique classique disponible en une étape 100, ce fichier, noté FIL, étant donc directement utilisable par un ordinateur approprié, à mémoriser sous forme d'un fichier embrouillé et compressé le fichier informatique précité. Dans ce but, le fichier d'origine FIL est tout d'abord soumis à un processus 101 de compression, en une étape lOla, puis d'embrouillage en une étape 101b, les étapes lOla et 101b précitées étant conditionnelles à la présence en permanence du code, noté K, d'une clé physique permettant d'assurer les opérations du processus de compression lOla puis du processus d'embrouillage 101b ainsi qu'il sera décrit de manière plus détaillée ultérieurement dans la description. As will be observed in the aforementioned figure, the method of protection against the illicit copying and use of a computer file, object of the present invention, consists in a particularly remarkable way, starting from a conventional computer file available in a step 100, this file, denoted FIL, being therefore directly usable by an appropriate computer, to be stored in the form of a scrambled and compressed file the aforementioned computer file. For this purpose, the original FIL file is first of all subjected to a process 101 of compression, in a step lOla, then of scrambling in a step 101b, the aforementioned steps lOla and 101b being conditional on the presence permanently code, denoted K, of a physical key making it possible to carry out the operations of the compression process 10a then of the scrambling process 101b as will be described in more detail later in the description.

L'étape 101 précitée, constituée par le processus de compression lOla puis par le processus d'embrouillage 101b, est alors suivie d'une étape 102 de mémorisation proprement dite, les opérations 101 et 102 successives correspondant en fait à une opération de stockage du fichier d'origine embrouillé et compressé, lequel est disponible, en une étape 103, et noté XXX. The aforementioned step 101, constituted by the compression process 110a and then by the scrambling process 101b, is then followed by a step 102 for actual storage, the successive operations 101 and 102 corresponding in fact to a storage operation of the scrambled and compressed original file, which is available in one step 103, and marked XXX.

D'une manière particulièrement avantageuse, on indique que dans un mode de réalisation préférentiel de l'étape 100, le processus de compression 101a peut être mis en oeuvre par voie logicielle au moyen d'un algorithme de compression/décompression spécifique. A la fin du processus de compression lOla, on dispose d'un fichier compressé auquel les paramètres de compression ayant permis la mise en oeuvre du processus de compression sont ajoutés, par concaténation par exemple, ce qui permet de disposer d'un fichier compressé modifié. Le fichier compressé modifié est ensuite soumis au processus d'embrouillage lOlb, ce qui permet d'obtenir le fichier embrouillé compressé XXX précédemment cité, dans lequel les paramètres de compression ne sont pas accessibles directement. In a particularly advantageous manner, it is indicated that in a preferred embodiment of step 100, the compression process 101a can be implemented by software using a specific compression / decompression algorithm. At the end of the compression process lOla, there is a compressed file to which the compression parameters which have enabled the implementation of the compression process are added, by concatenation for example, which makes it possible to have a modified compressed file . The modified compressed file is then subjected to the lOlb scrambling process, which makes it possible to obtain the aforementioned compressed scrambled file XXX, in which the compression parameters are not directly accessible.

On comprend bien sûr que le fichier embrouillé et compressé précité peut être mémorisé sur tout support de mémorisation tel que la mémoire de masse, disque dur, de l'ordinateur d'utilisation ultérieure de ce fichier, disque compact optique de mémorisation pour de gros volumes d'information, ou même transmission de ce fichier sur un réseau local par exemple dans le cas d'une opération de mise à jour logicielle de poste de travail par exemple. It will of course be understood that the aforementioned scrambled and compressed file can be stored on any storage medium such as mass memory, hard disk, of the computer for later use of this file, optical compact disk for storage of large volumes. information, or even transmission of this file on a local network for example in the case of a workstation software update operation for example.

L'étape de stockage précitée du fichier embrouillé et compressé XXX est alors suivie, lors de l'utilisation, le fichier embrouillé et compressé XXX étant disponible à une étape 200 initiale distincte de l'étape 103 précédente, à une opération 201 de désembrouillage - décompression conditionnelle au moyen d'un logiciel de désembrouillage décompression protégé au moyen du code personnalisé K de la clé physique. Ce code est personnalisé en fonction d'un utilisateur habilité. L'opération de désembrouillage décompression 201 conditionnelle permet alors d'engendrer un fichier informatique utilisable conditionnellement à la disponibilité du code personnalisé de la clé physique précitée. Le fichier informatique utilisable est noté FIL car il correspond bien entendu au fichier d'origine avant compression, embrouillage et mémorisation, et est strictement identique à ce fichier d'origine. The aforementioned storage step of the scrambled and compressed file XXX is then followed, during use, the scrambled and compressed file XXX being available at an initial step 200 distinct from the previous step 103, at a descrambling operation 201 - conditional decompression using decompression descrambling software protected using the personalized code K of the physical key. This code is personalized according to an authorized user. The conditional decompression descrambling operation 201 then makes it possible to generate a computer file usable conditionally on the availability of the personalized code of the aforementioned physical key. The usable computer file is noted FIL because it naturally corresponds to the original file before compression, scrambling and storage, and is strictly identical to this original file.

On comprend en particulier que dans le cadre de l'étape 201, le processus de désembrouillage - décompression permet successivement
- de restituer, grâce au processus de désembrouillage, le fichier compressé modifié, dans lequel les paramètres de compression/décompression sont directement accessibles
- de procéder au processus de décompression à partir de ces paramètres de compression/décompression pour restituer le fichier d'origine.
It is understood in particular that in the context of step 201, the descrambling - decompression process successively allows
- to restore, thanks to the descrambling process, the modified compressed file, in which the compression / decompression parameters are directly accessible
- proceed to the decompression process from these compression / decompression parameters to restore the original file.

On comprend bien entendu que les processus de compression et de décompression sont avantageusement réalisés à partir d'un même algorithme de compression/décompression et que le processus d'embrouillage et de désembrouillage est également réalisé par voie logicielle à partir d'un même algorithme d'embrouillage - désembrouillage. It will of course be understood that the compression and decompression processes are advantageously carried out using the same compression / decompression algorithm and that the scrambling and descrambling process is also carried out by software using the same algorithm. 'scrambling - descrambling.

Par la mise en oeuvre des différentes étapes précitées, on comprend en particulier que tout tiers indélicat se trouve alors confronté aux protections conjointes de la présence de la clé physique dont il doit connaître le code K, ainsi qu'à la possession et/ou à la connaissance des paramètres de l'algorithme de compression/décompression, ou encore à celle de l'algorithme d'embrouillage - désembrouillage. By implementing the various aforementioned steps, it is understood in particular that any unscrupulous third party is then confronted with joint protections from the presence of the physical key of which he must know the K code, as well as with possession and / or knowledge of the parameters of the compression / decompression algorithm, or of the scrambling - descrambling algorithm.

D'une manière générale, on indique que les niveaux de protection apportés par chacun des éléments de protection successifs précités peuvent être rendus très élevés en fonction, d'une part, du niveau de protection du code K de la clé physique, mais également du niveau de protection de l'algorithme de compression/décompression et de l'algorithme d'embrouillage - désembrouillage. Ces trois niveaux de protection apparaissant sensiblement indépendants en ce qui concerne leur mise en oeuvre et le niveau de protection résultant est sensiblement égal, en terme de probabilités d'effraction, au produit des niveaux de protection élémentaire apportés par chacune des protections successives précitées. In general, it is indicated that the levels of protection provided by each of the aforementioned successive protection elements can be made very high as a function, on the one hand, of the level of protection of the K code of the physical key, but also of the protection level of the compression / decompression algorithm and the scrambling - descrambling algorithm. These three levels of protection appearing to be substantially independent with regard to their implementation and the resulting level of protection is substantially equal, in terms of probabilities of break-in, to the product of the basic protection levels provided by each of the successive protections mentioned above.

En ce qui concerne les processus de compression et d'embrouillage lOla, 101b, on indique que le processus de compression lOla peut être réalisé à partir d'un algorithme de type classique support du logiciel de compression/décompression, connu sous le nom de PKZIP, développé et distribué par PKWARE aux Etats-Unis. As regards the compression and scrambling processes lOla, 101b, it is indicated that the compression process lOla can be carried out using an algorithm of the conventional type supporting the compression / decompression software, known under the name of PKZIP. , developed and distributed by PKWARE in the United States.

En outre, le processus de compression/décompression peut être mis en oeuvre à partir d'un mot de passe spécifique, ce mot de passe pouvant être défini pour l'utilisateur habilité dans des conditions qui seront décrites ultérieurement dans la description.In addition, the compression / decompression process can be implemented using a specific password, this password being able to be defined for the authorized user under conditions which will be described later in the description.

En ce qui concerne le processus d'embrouillage mis en oeuvre à l'étape lOlb, ce processus d'embrouillage peut consister en l'application d'un algorithme d'embrouillage mis en oeuvre à partir de plusieurs valeurs initiales descriptives de l'algorithme d'embrouillage, ainsi qu'il sera décrit ci-après dans la description. As regards the scrambling process implemented in step lOlb, this scrambling process can consist of the application of a scrambling algorithm implemented from several initial descriptive values of the algorithm scrambling, as will be described below in the description.

Le mode opératoire du procédé de protection contre la copie et l'utilisation illicites de fichiers informatiques, objet de la présente invention, tel que représenté en figure 1, peut bien entendu être appliqué à tout type de fichiers informatiques, programmes et/ou données permettant l'initialisation de ces programmes respectivement obtenues par la mise en oeuvre de ces programmes. The operating mode of the method of protection against the illegal copying and use of computer files, object of the present invention, as represented in FIG. 1, can of course be applied to any type of computer files, programs and / or data allowing the initialization of these programs respectively obtained by the implementation of these programs.

Toutefois, une application particulièrement avantageuse du procédé, objet de la présente invention, concerne, dans un ordinateur, la protection de fichiers informatiques constitués par au moins un fichier directement exécutable par le système d'exploitation OS de cet ordinateur. However, a particularly advantageous application of the method which is the subject of the present invention relates, in a computer, to the protection of computer files consisting of at least one file directly executable by the OS operating system of this computer.

De manière habituelle, un tel fichier directement exécutable est mémorisé sur la mémoire de masse de cet ordinateur et exécutable au moyen d'une simple instruction de commande. Usually, such a directly executable file is stored on the mass memory of this computer and executable by means of a simple command instruction.

Conformément à la mise en oeuvre du procédé de protection contre la copie et l'utilisation illicites de ces fichiers informatiques, conforme à l'objet de la présente invention, ce fichier directement exécutable est soumis à l'opération de stockage telle que représentée en figure 1 précédemment, et donc mémorisé sur la mémoire de masse de l'ordinateur précité sous forme du fichier embrouillé et compressé XXX disponible à l'étape 103 précédemment mentionnée relativement à la figure 1. In accordance with the implementation of the method of protection against the illegal copying and use of these computer files, in accordance with the object of the present invention, this directly executable file is subjected to the storage operation as shown in figure 1 previously, and therefore stored on the mass memory of the aforementioned computer in the form of the scrambled and compressed file XXX available in step 103 previously mentioned in relation to FIG. 1.

Lors de l'utilisation de ce fichier, le fichier d'origine FIL ayant bien entendu été supprimé, l'opération de désembrouillage - décompression 201, telle que représentée en figure 1, peut alors consister avantageusement à mettre en oeuvre une procédure d'installation spécifique du fichier directement exécutable précité. When using this file, the original FIL file having of course been deleted, the descrambling - decompression operation 201, as shown in FIG. 1, can then advantageously consist in implementing an installation procedure specific of the aforementioned directly executable file.

Une telle procédure est représentée de manière détaillée en figure 2a, le fichier embrouillé et compressé
XXX étant disponible à l'étape 200.
Such a procedure is shown in detail in Figure 2a, the scrambled and compressed file
XXX being available in step 200.

Ainsi que représenté sur la figure 2a précitée, l'étape 201 de désembrouillage - décompression conditionnelle peut, dans le cadre de cette procédure d'installation du fichier directement exécutable, consister alors à exécuter, en une étape 201a, conditionnellement à la disponibilité du code K de la clé physique, un premier programme directement exécutable de désembrouillage du fichier embrouillé et compressé XXX pour engendrer un fichier compressé modifié. Ainsi que mentionné précédemment relativement à l'étape 101b d'embrouillage, on indique que le processus de désembrouillage du fichier embrouillé et compressé est effectué bien entendu de manière symétrique à partir de l'algorithme d'embrouillage utilisé à l'étape 101b à partir de la pluralité de valeurs de désembrouillage, lesquelles constituent un descriptif d'algorithme, ainsi qu'il sera décrit ultérieurement dans la description. Les valeurs de désembrouillage sont notées VD, sur la figure 2a. As shown in FIG. 2a above, step 201 descrambling - conditional decompression can, within the framework of this procedure for installing the directly executable file, then consist in executing, in a step 201a, conditionally on the availability of the code K of the physical key, a first directly executable program for descrambling the scrambled and compressed file XXX to generate a modified compressed file. As mentioned previously with respect to the scrambling step 101b, it is indicated that the descrambling process for the scrambled and compressed file is of course carried out symmetrically from the scrambling algorithm used in step 101b from the plurality of descrambling values, which constitute an algorithm description, as will be described later in the description. The descrambling values are denoted VD, in FIG. 2a.

Le fichier compressé modifié obtenu à la fin du processus de désembrouillage conditionnel et disponible à l'étape 201b est noté CCC. Un tel fichier n'est bien entendu pas utilisable et donc pas directement exécutable car il est disponible sous forme compressée. Dans ce fichier, ainsi que mentionné précédemment, les paramètres de compression/décompression sont directement accessibles.The modified compressed file obtained at the end of the conditional descrambling process and available in step 201b is denoted CCC. Such a file is of course not usable and therefore not directly executable because it is available in compressed form. In this file, as mentioned previously, the compression / decompression parameters are directly accessible.

Suite à l'étape 201a et dans le cadre de la procédure d'installation précitée, le procédé, objet de la présente invention, consiste ensuite à exécuter, en une étape 201c, conditionnellement à la disponibilité du code K de la clé physique et par appel à partir du premier programme directement exécutable mis en oeuvre à l'étape 201a pour le désembrouillage, cet appel étant réalisé par le système d'exploitation OS de l'ordinateur hôte et pour cette raison représenté en lignes pointillées sur la figure 2a, un deuxième programme directement exécutable de décompression du fichier compressé modifié CCC disponible antérieurement à l'étape 201b. On comprend ainsi que l'étape de décompression 201c du fichier compressé précité permet, non seulement de décompresser ce dernier mais d'installer ce fichier directement exécutable, lequel est disponible à l'étape 201d et désigné pour cette raison par FIL.EXE en référence à la désignation habituelle des fichiers directement exécutables par les systèmes d'exploitation des ordinateurs actuels. Following step 201a and within the framework of the aforementioned installation procedure, the method which is the subject of the present invention then consists in executing, in a step 201c, conditionally on the availability of the K code of the physical key and by call from the first directly executable program implemented in step 201a for descrambling, this call being made by the operating system OS of the host computer and for this reason represented in dotted lines in FIG. 2a, a second directly executable program for decompressing the modified compressed file CCC available prior to step 201b. It is thus understood that the decompression step 201c of the aforementioned compressed file makes it possible, not only to decompress the latter but to install this directly executable file, which is available in step 201d and designated for this reason by FIL.EXE with reference to the usual designation of files directly executable by the operating systems of current computers.

D'une manière générale, on indique que l'étape 201c d'exécution conditionnelle du deuxième programme directement exécutable peut être rendue conditionnelle, non seulement à la disponibilité du code K de la clé physique mais également à celle du mot de passe M défini pour l'utilisateur habilité. In general, it is indicated that the step 201c of conditional execution of the second directly executable program can be made conditional, not only on the availability of the code K of the physical key but also on that of the password M defined for the authorized user.

De manière plus spécifique, on indique que le premier programme directement exécutable 201a transmet directement le mot de passe M au deuxième programme directement exécutable 201c le mot de passe M précité.  More specifically, it is indicated that the first directly executable program 201a directly transmits the password M to the second directly executable program 201c the aforementioned password M.

En ce qui concerne la création du mot de passe M défini pour l'utilisateur habilité, on indique qu'il existe plusieurs possibilités. With regard to the creation of the password M defined for the authorized user, it is indicated that there are several possibilities.

- Une première possibilité peut consister en l'inclusion dans le premier programme directement exécutable d'une routine de restitution du mot de passe M à partir de valeurs initiales arbitraires définies pour l'utilisateur par l'autorité habilitée à diffuser le logiciel protégé comportant le programme directement exécutable FIL.EXE. Dans un tel cas, le mot de passe est dit dissimulé, ce mot de passe ne pouvant en aucun cas être déterminé par simple analyse d'un tiers indélicat. - A first possibility may consist in the inclusion in the first directly executable program of a routine for restoring the password M from arbitrary initial values defined for the user by the authority empowered to distribute the protected software comprising the FIL.EXE directly executable program. In such a case, the password is said to be concealed, this password cannot in any case be determined by simple analysis of an indelicate third party.

- Une deuxième possibilité peut consister à introduire un mot de passe au clavier de l'ordinateur hôte, ce mot de passe étant alors choisi par l'utilisateur lui-même. - A second possibility may consist in entering a password on the keyboard of the host computer, this password then being chosen by the user himself.

Dans ce cas, le niveau de protection est bien entendu moins élevé que dans le cas précédent, en raison du fait qu'il est bien connu que tout utilisateur invité à introduire un mot de passe dans une application logicielle a tendance à choisir ce mot de passe en fonction de règles mnémotechniques qui lui sont propres, ce mot de passe étant donc relativement facile à déterminer. Dans ce deuxième cas, le mot de passe est dit explicite.In this case, the level of protection is of course lower than in the previous case, due to the fact that it is well known that any user invited to enter a password in a software application tends to choose this password. pass according to its own mnemonic rules, this password being therefore relatively easy to determine. In this second case, the password is said to be explicit.

- Une troisième possibilité peut consister en une combinaison de la première et de la deuxième possibilité, le mot de passe M effectivement transmis de l'étape 201a à l'étape à l'étape 201c pouvant alors consister en un mot de passe résultant de la combinaison du mot de passe explicite introduit au clavier et du mot de passe dissimulé restitué à l'étape 201a précitée. On indique, d'une manière spécifique, que la loi de combinaison entre le mot de passe explicite et le mot de passe dissimulé peut être quelconque et peut consister, à titre d'exemple, en une combinaison de groupes de bits par opération logique du mot de passe explicite et du mot de passe dissimulé. A third possibility may consist of a combination of the first and the second possibility, the password M actually transmitted from step 201a to step to step 201c can then consist of a password resulting from the combination of the explicit password entered on the keyboard and the concealed password returned in the aforementioned step 201a. It is indicated, in a specific manner, that the law of combination between the explicit password and the concealed password can be arbitrary and can consist, for example, of a combination of groups of bits by logical operation of the explicit password and concealed password.

On indique que le troisième cas précédemment mentionné constitue certainement le niveau de protection le plus élevé, indépendamment de la loi de composition entre les mots de passe précités, en raison du fait que le mot de passe explicite constitue en fait un leurre pour tout tiers indélicat, lequel est bien entendu amené à rechercher simplement le mot de passe explicite. It is indicated that the third case previously mentioned certainly constitutes the highest level of protection, independently of the law of composition between the aforementioned passwords, due to the fact that the explicit password constitutes in fact a deception for any indelicate third party , which is of course led to simply search for the explicit password.

En ce qui concerne la création du mot de passe dissimulé, on indique que ce dernier peut être obtenu à partir d'une opération de tirage de valeurs aléatoires, une valeur aléatoire étant par exemple tirée pour chaque caractère du mot de passe, chaque valeur aléatoire étant ensuite dissimulée par combinaison logique ou transposition selon une loi déterminée. Le mot de passe M explicite, dissimulé ou mixte constitue en fait une clé logicielle ajoutée à la clé physique. With regard to the creation of the hidden password, it is indicated that the latter can be obtained from an operation of drawing random values, a random value being for example drawn for each character of the password, each random value then being concealed by logical combination or transposition according to a specific law. The explicit, concealed or mixed password M in fact constitutes a software key added to the physical key.

En ce qui concerne l'opération de désembrouillage proprement dite 201a, un processus de désembrouillage spécifique sera décrit en liaison avec la figure 2b. With regard to the actual descrambling operation 201a, a specific descrambling process will be described in connection with FIG. 2b.

Ainsi que représenté sur la figure précitée, l'opération de désembrouillage peut comporter avantageusement une étape préalable, notée 201au, consistant à établir une pluralité de valeurs arbitraires, notées VA. Ces valeurs arbitraires peuvent consister par exemple en une série de 8 valeurs aléatoires affectée à un logiciel ou fichier spécifique à protéger. As shown in the aforementioned figure, the descrambling operation can advantageously include a prior step, denoted 201au, consisting in establishing a plurality of arbitrary values, denoted VA. These arbitrary values can consist, for example, of a series of 8 random values assigned to a specific software or file to be protected.

L'étape 20la0 précitée peut alors être suivie d'une étape 201a1 consistant en la création ou génération de valeurs de descriptif d'algorithme d'embrouillage - désembrouillage notées VDi, à partir des valeurs arbitraires précitées. The aforementioned step 20la0 can then be followed by a step 201a1 consisting in the creation or generation of values of description of scrambling algorithm - descrambling noted VDi, from the aforementioned arbitrary values.

D'une manière générale, on indique que le nombre des valeurs VDi de descriptif d'algorithme d'embrouillage désembrouillage peut consister en la création d'un polynôme générateur P(x) de séquences d'embrouillage, d'une valeur, notée IVAL, d'initialisation de chargement ainsi que d'une valeur de pas, notée PAS, indiquant le pas de codage/dé codage de la séquence maximum. In general, it is indicated that the number of values VDi of description of descrambling scrambling algorithm can consist in the creation of a polynomial generator P (x) of scrambling sequences, of a value, noted IVAL , loading initialization as well as a step value, noted PAS, indicating the coding / de-coding step of the maximum sequence.

L'étape 201a1 est alors suivie d'une étape 201a2, laquelle consiste, à partir du polynôme générateur P(x) de la valeur d'initialisation de chargement VAL et du pas PAS de décodage maximum, à engendrer une pluralité de suites numériques d'embrouillage - désembrouillage notées SDk. Le nombre de suites d'embrouillage - désembrouillage engendrées peut être établi en fonction du volume d'informations à traiter. Step 201a1 is then followed by a step 201a2, which consists, starting from the generator polynomial P (x) of the loading initialization value VAL and the maximum decoding step PAS, in generating a plurality of digital sequences d 'scrambling - descrambling noted SDk. The number of scrambling-descrambling sequences generated can be established according to the volume of information to be processed.

L'étape 201a2 précédemment citée est alors suivie d'une étape de désembrouillage proprement dite, cette étape étant conduite sur le fichier compressé embrouillé XXX selon une loi de composition logique entre une suite ou séquence d'embrouillage - désembrouillage et le fichier précité. La loi de composition logique peut être constituée par une loi arbitraire déterminée. L'opération de désembrouillage, à l'étape 201a3, permet alors d'obtenir le fichier compressé modifié CCC disponible à l'étape 201b. Suite à l'étape 201b précitée, l'appel du deuxième programme directement exécutable par le système d'exploitation OS peut être réalisé par le premier programme directement exécutable, et la présentation du mot de passe dissimulé, explicite ou mixte M au deuxième programme directement exécutable est réalisée. La présentation du mot de passe M peut être réalisée par simple lecture à partir du fichier compressé modifié CCC. Bien entendu, on indique que cette transmission peut consister simplement en une mémorisation de ce message en mémoire centrale de l'ordinateur aux fins de lecture et d'effacement immédiat par le deuxième programme directement exécutable précité. The aforementioned step 201a2 is then followed by a descrambling step proper, this step being carried out on the scrambled compressed file XXX according to a law of logical composition between a sequence or sequence of scrambling - descrambling and the aforementioned file. The law of logical composition can be constituted by a determined arbitrary law. The descrambling operation, in step 201a3, then makes it possible to obtain the modified compressed file CCC available in step 201b. Following the above-mentioned step 201b, the call of the second program directly executable by the OS operating system can be carried out by the first program directly executable, and the presentation of the hidden, explicit or mixed password M to the second program directly executable is performed. The presentation of the password M can be carried out by simple reading from the modified compressed file CCC. Of course, it is indicated that this transmission can consist simply in memorizing this message in the computer's central memory for the purposes of reading and immediate erasure by the aforementioned second directly executable program.

D'une manière générale, ainsi que représenté en figures 1, 2a et 2b, on indique que les opérations de désembrouillage puis de décompression, ou respectivement de compression et d'embrouillage, sont conditionnelles à l'existence de la présence de la clé physique et du code K délivré par celle-ci.  In general, as shown in Figures 1, 2a and 2b, it is indicated that the descrambling operations then decompression, or respectively compression and scrambling, are conditional on the existence of the presence of the physical key and the K code issued by it.

La réalisation de l'exécution conditionnelle précitée peut avantageusement etre conduite par encapsulation du premier et du deuxième programme directement exécutables effectuant les opérations 101a et 101b, respectivement 201a et 201c dans les conditions qui seront décrites ci-après en relation avec la figure 2c. The realization of the aforementioned conditional execution can advantageously be carried out by encapsulation of the first and of the second directly executable program carrying out the operations 101a and 101b, respectively 201a and 201c under the conditions which will be described below in relation to FIG. 2c.

Sur la figure 2c précitée, on a représenté le premier programme directement exécutable et le deuxième programme directement exécutable, dénommés 1.EXE et 2.EXE respectivement. Ces programmes ne sont accessibles que par l'intermédiaire d'une interface logicielle, notée IL, réalisant l'opération d'encapsulation précitée. L'ordre d'exécution du premier ou du deuxième programme directement exécutable 1.EXE ou 2.EXE, instruction désignée par EXEC.COM sur la figure 2c, est délivré par le système d'exploitation de l'ordinateur hôte par l'intermédiaire de l'interface logicielle IL et soumis, par cette dernière, à une série de tests conditionnels, limités à trois pour les besoins de la description sur la figure 2c et portant la référence 300, 301, 302. In the aforementioned FIG. 2c, the first directly executable program and the second directly executable program, designated 1.EXE and 2.EXE, are shown. These programs are only accessible via a software interface, denoted IL, carrying out the abovementioned encapsulation operation. The order of execution of the first or second directly executable program 1.EXE or 2.EXE, instruction designated by EXEC.COM in FIG. 2c, is issued by the operating system of the host computer via of the software interface IL and subjected, by the latter, to a series of conditional tests, limited to three for the purposes of the description in FIG. 2c and bearing the reference 300, 301, 302.

Le premier test conditionnel 300 peut alors avantageusement être réalisé å partir de la valeur de code K de la clé physique, laquelle est mémorisée préalablement à la mise en oeuvre des opérations de compression/décompression et embrouillage - désembrouillage et introduite par l'autorité chargee de la distribution du système de protection objet de la presente invention. Un échantillonnage en lecture de la valeur de code délivré par la clé physique effectivement présente associée à l'ordinateur hôte, cette valeur étant notée DK sur la figure 2c, est alors comparé à la valeur mémorisée K précitée. Sur reponse positive, une autorisation d'exécution du premier ou du deuxième programme directement exécutable est alors donnée à ce dernier. The first conditional test 300 can then advantageously be carried out on the basis of the code value K of the physical key, which is stored prior to the implementation of the compression / decompression and scrambling - descrambling operations and introduced by the authority responsible for the distribution of the protection system object of the present invention. A reading sample of the code value delivered by the physical key actually present associated with the host computer, this value being denoted DK in FIG. 2c, is then compared with the memorized value K mentioned above. On positive response, an authorization to execute the first or second directly executable program is then given to the latter.

Bien entendu, ainsi que représenté sur la figure 2c, d'autres tests conditionnels, notés Cl et C2, aux références 301 et 302, peuvent être réalisés à partir de valeurs de comparaison C1 et C2 vis-à-vis de valeurs évaluées et notées DCl et DC2. Les valeurs DC1 et DC2 peuvent être des valeurs spécifiques particulières à la réalisation conditionnelle du premier programme directement exécutable et du deuxième programme directement exécutable respectivement. Sur réponse positive aux tests conditionnels 301 et 302, l'autorisation d'exécution du premier ou du deuxième programme directement exécutable est donnée et ce dernier peut ainsi être finalement exécuté pour réaliser l'opération qui lui est dévolue. Of course, as shown in FIG. 2c, other conditional tests, denoted C1 and C2, with references 301 and 302, can be carried out using comparison values C1 and C2 vis-à-vis values evaluated and noted DCl and DC2. The values DC1 and DC2 can be specific values specific to the conditional execution of the first directly executable program and of the second directly executable program respectively. Upon a positive response to the conditional tests 301 and 302, the authorization to execute the first or second directly executable program is given and the latter can thus be finally executed to carry out the operation assigned to it.

Sur réponse négative à l'un des tests conditionnels 300, 301 et 302, l'ensemble du système affiche un message d'erreur à une étape 303 refusant l'accès à l'ensemble du système de protection, objet de la présente invention. On negative response to one of the conditional tests 300, 301 and 302, the whole system displays an error message at a step 303 refusing access to the whole protection system, object of the present invention.

En ce qui concerne la lecture de la valeur de code
DK délivrée par la clé physique effectivement associée à l'ordinateur hôte, on indique que l'échantillonnage en lecture de cette valeur peut être réalisé à une cadence relativement faible d'une seconde par exemple.
Regarding reading the code value
DK delivered by the physical key actually associated with the host computer, it is indicated that the sampling in reading of this value can be carried out at a relatively low rate of one second for example.

En outre, et afin d'améliorer les fonctionnalités de l'ensemble du procédé de protection contre la copie et l'utilisation illicites d'un fichier informatique, objet de la présente invention, on indique que, au cours de la procédure d'installation, lorsque le fichier informatique protégé est un fichier directement exécutable, l'étape 201a d'exécution conditionnelle du désembrouillage du fichier embrouillé et compressé XXX est avantageusement précédée d'une étape préalable, notée 200a, permettant à l'utilisateur d'effectuer le choix du fichier embrouillé et compressé soumis au processus d'installation. Ce choix peut être effectué à partir d'un programme menu de type classique, lequel ne sera pas décrit pour cette raison en détail dans la description. In addition, and in order to improve the functionality of the entire method of protection against the illegal copying and use of a computer file, object of the present invention, it is indicated that, during the installation procedure , when the protected computer file is a directly executable file, the step 201a of conditional execution of descrambling of the scrambled and compressed file XXX is advantageously preceded by a prior step, denoted 200a, allowing the user to make the choice of the scrambled and compressed file subjected to the installation process. This choice can be made from a conventional menu program, which will not be described for this reason in detail in the description.

En ce qui concerne les tests conditionnels supplémentaires à celui de la présence de la valeur de code délivrée par la clé physique, on indique que, dans un mode de réalisation non limitatif du procédé, objet de la présente invention, celui-ci peut consister, pour la réalisation de l'étape 201a de la figure 1, à réaliser au cours de la procédure d'installation une sous-étape de contrôle du nombre d'installations ainsi qu'une sous-étape de contrôle de la date d'échéance du droit d'utilisation concédé. As regards the additional conditional tests to that of the presence of the code value delivered by the physical key, it is indicated that, in a nonlimiting embodiment of the method, object of the present invention, this can consist, for carrying out step 201a of FIG. 1, to carry out during the installation procedure a sub-step for checking the number of installations as well as a sub-step for checking the expiration date of the right of use granted.

Dans un tel cas, ainsi que représenté en figure 2c, et pour le premier programme exécutable 1.EXE, la variable
DC1 et la variable C1 peuvent consister, respectivement, en le nombre maximum d'installations autorisées et le nombre d'installations effectivement réalisées du fichier informatique directement exécutable protégé, et les variables C2 et
DC2 du test conditionnel 302 peuvent par exemple consister en la date d'échéance du droit d'utilisation concédé, respectivement la date d'exécution de l'installation considérée, cette dernière date étant délivrée par le système d'exploitation de l'ordinateur hôte.
In such a case, as shown in Figure 2c, and for the first executable program 1.EXE, the variable
DC1 and variable C1 can consist respectively of the maximum number of authorized installations and the number of installations actually carried out of the protected executable computer file, and variables C2 and
DC2 of the conditional test 302 can for example consist of the expiry date of the right of use granted, respectively the date of execution of the installation considered, this last date being delivered by the operating system of the host computer .

En ce qui concerne le deuxième programme directement exécutable 2.EXE, on indique que la mise en oeuvre du processus d'encapsulation représenté en figure 2c comprend, outre le test conditionnel 300 relatif à la valeur du code de la clé physique précédemment mentionné relativement au premier programme directement exécutable, les tests 301 et 302 pour lesquels les variables C1, DC1 et C2, DC2 peuvent consister avantageusement en des paramètres et fonctionnalités spécifiques. Dans le cas du processus d'encapsulation du deuxième programme directement exécutable 2.EXE, les tests conditionnels 301 et 302 peuvent être supprimés sans inconvénients en raison du haut niveau de protection apporté par la présence nécessaire du mot de passe M. As regards the second directly executable program 2.EXE, it is indicated that the implementation of the encapsulation process represented in FIG. 2c includes, in addition to the conditional test 300 relating to the value of the code of the physical key previously mentioned relative to the first directly executable program, tests 301 and 302 for which the variables C1, DC1 and C2, DC2 can advantageously consist of specific parameters and functionalities. In the case of the encapsulation process of the second directly executable program 2.EXE, the conditional tests 301 and 302 can be suppressed without disadvantages due to the high level of protection provided by the necessary presence of the password M.

On comprend d'ailleurs qu'en ce qui concerne le mot de passe M précité, celui-ci peut consister, soit en un simple mot de passe explicite, soit en un mot de passe dissimulé, ou encore en une combinaison des mots de passe explicites et dissimulés, ainsi que mentionné précédemment dans la description.  We also understand that with regard to the aforementioned password M, it can consist either of a simple explicit password, or of a concealed password, or even of a combination of passwords. explicit and concealed, as mentioned previously in the description.

Une description plus détaillée d'un système de protection contre la copie et l'utilisation illicites de fichiers informatiques mémorisés dans la mémoire de masse d'un ordinateur, ces fichiers étant mémorisés sous forme de fichiers embrouillés et compressés, conformément à l'objet de la présente invention, sera maintenant donnée en liaison avec les figures 3a, 3b et 3c. A more detailed description of a system for protecting against illegal copying and use of computer files stored in the mass memory of a computer, these files being stored in the form of scrambled and compressed files, in accordance with the object of the present invention will now be given in connection with FIGS. 3a, 3b and 3c.

Sur les figures 3a et 3b, on a représenté un ordinateur hôte sous forme d'un ordinateur portable à titre d'exemple non limitatif pour de simples raisons de simplification de représentation. In FIGS. 3a and 3b, a host computer has been shown in the form of a portable computer by way of nonlimiting example for simple reasons of simplification of representation.

Bien entendu, cet ordinateur comprend une mémoire de masse, un disque dur, comportant les fichiers informatiques protégés, lesquels sont mémorisés dans cette mémoire de masse sous forme de fichiers embrouillés et compressés, les fichiers XXX précédemment mentionnés dans la description. Of course, this computer includes a mass memory, a hard disk, comprising the protected computer files, which are stored in this mass memory in the form of scrambled and compressed files, the XXX files previously mentioned in the description.

Le système de protection conforme à l'objet de la présente invention, ainsi que représenté sur la figure 3a par exemple, comprend au moins une clé physique, notée CK, cette clé physique étant interconnectée sur un port d'entrée/sortie de l'ordinateur, le port parallèle de liaison d'imprimante par exemple. Cette clé physique est bien entendu génératrice d'un code personnalisé K. A titre d'exemple non limitatif, et en raison du haut degré de protection et d'inviolabilité de ce type de clé physique, on indique que la clé physique utilisée pour la mise en oeuvre expérimentale du système de protection, objet de la présente invention, était une clé commercialisée en France par la
Société RAINBOW TECHNOLOGIES.
The protection system according to the object of the present invention, as shown in FIG. 3a for example, comprises at least one physical key, denoted CK, this physical key being interconnected on an input / output port of the computer, the parallel printer link port for example. This physical key is of course generating a personalized code K. By way of nonlimiting example, and because of the high degree of protection and inviolability of this type of physical key, it is indicated that the physical key used for the experimental implementation of the protection system, object of the present invention, was a key marketed in France by the
RAINBOW TECHNOLOGIES.

En outre, le système de protection selon l'invention comprend, mémorisé dans la mémoire de masse de l'ordinateur hôte, un premier programme précédemment cité 1.EXE, directement exécutable, de désembrouillage d'au moins un fichier embrouillé et compressé conditionnellement à la disponibilité du code de la clé physique. Ce premier programme directement exécutable permet d'engendrer un fichier compressé modifié, le fichier CCC de la figure 2a à l'étape 201b. En outre, la mémoire de masse de l'ordinateur hôte comporte, mémorisé sur celle-ci, un deuxième programme directement exécutable 2.EXE, lequel est lancé sur appel du premier programme exécutable l.EXE, ainsi que mentionné précédemment dans la description relativement au processus de mise en oeuvre de l'installation précitée. Le deuxième programme directement exécutable 2.EXE effectue une décompression du fichier compressé modifié CCC conditionnellement, d'une part, à la disponibilité du code de la clé physique, le code K, et, d'autre part, à celle du mot de passe spécifique ainsi que décrit précédemment dans la description en liaison avec la figure 2c. Le deuxième programme directement exécutable 2.EXE permet d'engendrer un fichier informatique utilisable conditionnellement à la disponibilité du code de la clé physique et du mot de passe spécifique, le fichier FIL.EXE par exemple, lorsque le fichier d'origine est un fichier directement exécutable constitutif d'une application logicielle. Ce fichier correspond à celui obtenu à l'étape 201d de la figure 2a. In addition, the protection system according to the invention comprises, stored in the mass memory of the host computer, a first program previously cited 1.EXE, directly executable, for descrambling at least one scrambled and conditionally compressed file at the availability of the physical key code. This first directly executable program makes it possible to generate a modified compressed file, the CCC file of FIG. 2a in step 201b. In addition, the mass memory of the host computer comprises, stored thereon, a second directly executable program 2.EXE, which is launched on call of the first executable program l.EXE, as mentioned previously in the description relatively the implementation process of the above installation. The second directly executable program 2.EXE decompresses the modified compressed CCC file conditionally, on the one hand, on the availability of the code of the physical key, the code K, and, on the other hand, that of the password specific as described previously in the description in conjunction with Figure 2c. The second directly executable program 2.EXE makes it possible to generate a computer file usable conditionally upon the availability of the code of the physical key and of the specific password, the file FIL.EXE for example, when the original file is a file directly executable constituting a software application. This file corresponds to that obtained in step 201d of FIG. 2a.

Bien entendu, le mode de mise en oeuvre de la clé physique CK n'est pas limité à une clé physique connectée sur un port d'entrée/sortie de l'ordinateur hôte, cette clé physique constituant dans un tel cas une clé de type "dongle" ainsi que décrit précédemment dans la description. Of course, the mode of implementation of the physical key CK is not limited to a physical key connected to an input / output port of the host computer, this physical key constituting in such a case a key of the type "dongle" as previously described in the description.

Sur la figure 3b, on a représenté un ordinateur hôte de type portable dans lequel la clé physique précitée est supprimée, le port d'entrée/sortie interfaces parallèles étant libre, et la clé physique étant au contraire remplacée par un lecteur de carte à puce LC intégré à l'ordinateur hôte et par une carte à puce CP. Bien entendu, la carte à puce CP comporte la valeur de code K mémorisée dans les mémoires non accessibles de la puce à microprocesseur. On comprend bien sûr que le caractère de non-accessibilité s'entend bien entendu de l'absence d'accessibilité informatique de ces zones mémoires directement protégées par la puce et par le microprocesseur incorporé dans celle-ci. In FIG. 3b, a portable type host computer has been shown in which the aforementioned physical key is deleted, the input / output port for parallel interfaces being free, and the physical key, on the contrary, being replaced by a smart card reader. LC integrated into the host computer and by a CP smart card. Of course, the chip card CP includes the code value K stored in the memories not accessible from the microprocessor chip. It will of course be understood that the character of non-accessibility of course means the lack of computer accessibility of these memory areas directly protected by the chip and by the microprocessor incorporated therein.

On rappelle ainsi que l'accessibilité au code K présente un haut degré de protection, tout accès physique intempestif ayant pour effet de détruire l'ensemble des circuits et des valeurs mémorisées dans les zones mémoires de ces derniers. Dans le cas du mode de réalisation de la figure 3b, on indique que, de la même façon que dans le cas du mode de réalisation de la figure 3a, la mise en oeuvre du système objet de la présente invention, lors de l'utilisation, consiste alors à introduire la carte à puce CP dans le lecteur de carte LC afin de maintenir cette dernière en permanence en position de lecture, le processus de contrôle de la valeur de code étant réalisé de la même façon que dans le cas de la figure 3a pour la clé physique CK. It is thus recalled that accessibility to the K code has a high degree of protection, any untimely physical access having the effect of destroying all of the circuits and of the values memorized in the memory zones of the latter. In the case of the embodiment of Figure 3b, it is indicated that, in the same way as in the case of the embodiment of Figure 3a, the implementation of the system object of the present invention, during use , then consists in introducing the chip card CP into the card reader LC in order to maintain the latter permanently in the reading position, the process of checking the code value being carried out in the same way as in the case of the figure 3a for the physical key CK.

En liaison avec les figures 3a et 3b et en référence avec la figure 3c, cette dernière figure représente une liaison fonctionnelle entre la clé physique CK d'une part, ou le cas échéant la carte à puce CP et le lecteur de carte
LC, avec le premier et le deuxième programme directement exécutables, 1.EXE et 2.EXE mémorisés sur la mémoire de masse, les différentes applications logicielles protégées conformément à l'objet de la présente invention, ces applications logicielles étant mémorisées sur la même mémoire de masse sous forme de fichier embrouillé et compressé, et enfin l'une de ces applications logicielles choisie par l'utilisateur afin de soumettre celle-ci au processus d'installation tel que décrit en liaison avec les figures 2a, 2b et 2c, cette application correspondant au fichier embrouillé et compressé XXX effectivement soumis au processus d'installation et de désembrouillage - décompression précédemment décrit en liaison avec les figures précitées.
In connection with FIGS. 3a and 3b and with reference to FIG. 3c, this last figure represents a functional connection between the physical key CK on the one hand, or if necessary the smart card CP and the card reader
LC, with the first and second directly executable programs, 1.EXE and 2.EXE stored in the mass memory, the various software applications protected in accordance with the object of the present invention, these software applications being stored in the same memory mass in the form of a scrambled and compressed file, and finally one of these software applications chosen by the user in order to subject it to the installation process as described in connection with FIGS. 2a, 2b and 2c, this application corresponding to the scrambled and compressed file XXX actually subjected to the installation and descrambling - decompression process previously described in connection with the aforementioned figures.

Sur la figure 3c, les flèches reliant les différents éléments précités comportant un numéro indiquent l'ordre temporel des échanges réalisés entre les différents éléments précités pour effectuer le processus d'installation.  In FIG. 3c, the arrows connecting the various aforementioned elements comprising a number indicate the time order of the exchanges carried out between the various aforementioned elements to carry out the installation process.

Le choix du fichier informatique compressé et embrouillé XXX soumis au processus d'installation ayant été effectué par l'utilisateur, cette opération lance l'exécution du premier programme directement exécutable l.ExE.  The choice of the compressed and scrambled computer file XXX submitted to the installation process having been carried out by the user, this operation launches the execution of the first directly executable program l.ExE.

Ce premier programme directement exécutable réalise l'opération de désembrouillage du fichier embrouillé et compressé XXX dans les conditions précédemment décrites en liaison avec la figure 2a. L'opération de désembrouillage peut être réalisée à partir d'un programme spécifique ainsi que décrit précédemment dans la description. On rappelle à ce titre que les trois valeurs VDi utilisées pour le processus de désembrouillage sont attribuées arbitrairement de façon à constituer un descripteur d'algorithme de désembrouillage, ainsi que décrit précédemment en liaison avec la figure 2b. This first directly executable program performs the descrambling operation of the scrambled and compressed file XXX under the conditions previously described in connection with FIG. 2a. The descrambling operation can be carried out from a specific program as described previously in the description. As such, it is recalled that the three values VDi used for the descrambling process are arbitrarily assigned so as to constitute a descriptor for a descrambling algorithm, as described previously in connection with FIG. 2b.

Suite à l'opération symbolisée par la flèche 2 précitée, le premier programme directement exécutable l.EXE procède à l'opération symbolisée par la flèche 3 consistant à appeler l'exécution du deuxième programme directement exécutable 2.EXE et à la présentation du mot de passe M. Following the operation symbolized by the above-mentioned arrow 2, the first directly executable program l.EXE proceeds to the operation symbolized by the arrow 3 consisting in calling the execution of the second directly executable program 2.EXE and in the presentation of the word password M.

Sur la figure 3c, on indique que le lien par la double flèche exempte de référence chiffrée entre la clé physique porteuse de la valeur de code K de celle-ci et le premier et le deuxième programme directement exécutable symbolise la protection directe, grâce à l'exécution conditionnelle de ces programmes exécutables, par la présence de la valeur de code K de la clé physique. Au contraire, la liaison par double flèche en pointillés entre la valeur de code de la clé physique K et le fichier compressé et embrouillé XXX symbolise une protection indirecte, mais bien réelle, de ce fichier par la clé physique et la valeur de code K correspondant à cette clé physique, par l'intermédiaire du premier et du deuxième programme directement exécutable 1.EXE et 2.EXE. In FIG. 3c, it is indicated that the link by the double arrow free of encrypted reference between the physical key carrying the code value K thereof and the first and the second directly executable program symbolizes direct protection, thanks to the conditional execution of these executable programs, by the presence of the code value K of the physical key. On the contrary, the link by double dotted arrow between the code value of the physical key K and the compressed and scrambled file XXX symbolizes an indirect, but very real, protection of this file by the physical key and the corresponding code value K to this physical key, via the first and second directly executable programs 1.EXE and 2.EXE.

Enfin, la liaison par double flèche entre la clé physique porteuse de la valeur de code K correspondante et l'ensemble des fichiers embrouillés et compressés mémorisés sur la mémoire de masse de l'ordinateur hôte indique, de la même manière que la liaison de cette dernière valeur de code avec le fichier XXX soumis au processus d'installation, le même degré de protection pour chacune de ces applications logicielles par l'intermédiaire d'une seule et même clé physique. Finally, the link by double arrow between the physical key carrying the corresponding K code value and all the scrambled and compressed files stored on the mass memory of the host computer indicates, in the same way as the link of this last code value with the XXX file subjected to the installation process, the same degree of protection for each of these software applications by means of a single physical key.

Enfin, la liaison fléchée entre le deuxième programme directement exécutable 2.EXE et le fichier embrouillé et compressé XXX indique l'opération d'exécution de décompression pour réaliser l'installation effective du fichier
XXX embrouillé et compressé, lequel a été soumis successivement au processus de désembrouillage puis de décompression.
Finally, the arrow link between the second directly executable program 2.EXE and the scrambled and compressed file XXX indicates the decompression execution operation to perform the actual installation of the file
XXX scrambled and compressed, which was successively subjected to the descrambling process and then to decompression.

En ce qui concerne les applications logicielles ainsi protégées grâce au procédé et au système de protection, objets de la présente invention, on indique que, par application logicielle, on entend toute application comportant au moins un programme directement exécutable accompagné des liens d'exécution de sous-programmes ou programmes spécifiques lorsque le système d'exploitation et l'interface graphique correspondent au système WINDOWS 95 commercialisé par la Société MICROSOFT Corp. par exemple, ces liens d'exécution étant connus sous le nom de DLL pour Dynamic
Link Library, les répertoires, les fichiers de données et finalement les fichiers informatiques à ces applications.
With regard to the software applications thus protected by the protection method and system, objects of the present invention, it is indicated that, by software application, is meant any application comprising at least one directly executable program accompanied by execution links of subroutines or specific programs when the operating system and the graphical interface correspond to the WINDOWS 95 system sold by the company MICROSOFT Corp. for example, these runtime links being known as DLLs for Dynamic
Link Library, directories, data files and ultimately computer files to these applications.

Ces applications logicielles sont auto-extractibles, le caractère auto-extractible consistant en ce que ces applications, par désembrouillage puis décompression, se transforment automatiquement en applications directement exécutables. These software applications are self-extracting, the self-extracting nature consisting in that these applications, by descrambling then decompression, are automatically transformed into directly executable applications.

Une description plus détaillée de la distribution des informations nécessaires à la mise en oeuvre d'une protection contre l'utilisation et la copie illicites de logiciels mais également contre le transfert intempestif de données protégées, conformément au procédé objet de la présente invention, cette distribution étant réalisée au niveau des différentes zones mémoires de la clé physique ou, le cas échéant, de la carte à puce CP, sera maintenant donnée en liaison avec la figure 4a. A more detailed description of the distribution of the information necessary for the implementation of protection against the illegal use and copying of software but also against the untimely transfer of protected data, in accordance with the method which is the subject of the present invention, this distribution being carried out at the level of the various memory zones of the physical key or, where appropriate, of the chip card CP, will now be given in connection with FIG. 4a.

D'une manière générale et en particulier dans le cas où la clé physique est une clé distribuée sous la marque de commerce SENTINEL Superpro par la Société RAINBOW TECHNOLO
GIES, la zone mémoire de la clé physique CK précitée est subdivisée en une zone mémoire non accessible, comportant par exemple huit octets dans lesquels sont mémorisées les données non accessibles introduites par le constructeur des clés, ces données consistant essentiellement en des références propres au constructeur.
In general and in particular in the case where the physical key is a key distributed under the trademark SENTINEL Superpro by the company RAINBOW TECHNOLO
GIES, the memory zone of the aforementioned physical key CK is subdivided into a non-accessible memory zone, comprising for example eight bytes in which are stored the non-accessible data introduced by the manufacturer of the keys, these data consisting essentially of references specific to the manufacturer .

La zone non accessible précitée est accompagnée d'une zone accessible conditionnelle à la connaissance d'un identificateur et de trois mots de passe, cet identificateur et ces trois mots de passe étant bien entendu mis à disposition par le constructeur des clés physiques au distributeur autorisé des systèmes de protection objets de la présente invention. La zone mémoire accessible conditionnelle est elle-même subdivisée, ainsi que représenté en figure 4a, en une zone mémoire d'installation comprenant une sous-zone mémoire d'installation de huit octets dans laquelle sont mémorisées les données à accès conditionnel pour les installations logicielles à protéger, ces données pouvant consister par exemple en l'ensemble des données VDi descriptif d'algorithme, ainsi que par exemple en la donnée C1 correspondant au nombre d'installations autorisées. Une deuxième sous-zone d'installation comprend des données à accès conditionnel relatives à des données d'identification tels que le numéro de la clé attribuée à l'utilisateur, le numéro du logiciel concerné, ce numéro correspondant à un numéro par logiciel parmi N logiciels à protéger, un numéro de client ainsi que le nombre N d'applications logicielles effectivement protégées par la même clé. The aforementioned non-accessible area is accompanied by an accessible area conditional on knowing an identifier and three passwords, this identifier and these three passwords being of course made available by the manufacturer of the physical keys to the authorized distributor. protection systems which are the subject of the present invention. The conditional accessible memory area is itself subdivided, as shown in FIG. 4a, into an installation memory area comprising an eight-byte installation memory sub-area in which the conditional access data for the software installations are stored. to be protected, this data being able to consist for example of the set of data VDi descriptive of algorithm, as well as for example in the data C1 corresponding to the number of authorized installations. A second installation sub-zone includes conditional access data relating to identification data such as the number of the key assigned to the user, the number of the software concerned, this number corresponding to one number per software among N software to be protected, a customer number as well as the number N of software applications effectively protected by the same key.

La zone mémoire accessible conditionnelle comporte également une zone mémoire d'applications proprement dites, laquelle peut être subdivisée en huit zones memoires d'applications spécifiques, quatre zones mémoires d'applications spécifiques étant uniquement représentées sur la figure 4a afin de ne pas surcharger le dessin, chaque zone mémoire d'application spécifique pouvant comporter des données relatives au descripteur d'algorithme, au nombre d'exécution du logiciel protégé, à la date de validité ou à la durée d'utilisation effectivement concédée pour le logiciel et l'utilisateur considéré. The conditional accessible memory area also includes an actual application memory area, which can be subdivided into eight specific application memory areas, four specific application memory areas being only shown in FIG. 4a so as not to overload the drawing. , each specific application memory zone which may include data relating to the algorithm descriptor, the number of runs of the protected software, the validity date or the duration of use actually granted for the software and the user considered .

Enfin, la zone mémoire accessible conditionnelle représentée en figure 4a comporte une zone mémoire de transfert, la zone mémoire de transfert pouvant comporter quatre zones mémoires de transfert spécifiques dont l'éten- due en mémoire correspond à une zone mémoire d'applications spécifiques décrite précédemment dans la description. On comprend ainsi que chaque zone mémoire de transfert spécifique comporte des données à accession conditionnelle, ces données étant utilisées par exemple aux fins d'assurer l'embrouillage, respectivement le désembrouillage des données transmises lorsque ces données correspondent à des fichiers informatiques tels que des fichiers d'actualisation de logiciels par exemple. Finally, the conditional accessible memory area represented in FIG. 4a includes a transfer memory area, the transfer memory area possibly comprising four specific transfer memory areas whose extent in memory corresponds to a memory area for specific applications described above. in the description. It is thus understood that each specific transfer memory zone includes data with conditional accession, this data being used for example for the purpose of scrambling, respectively descrambling of the data transmitted when these data correspond to computer files such as files software updates for example.

On comprend ainsi que les fichiers d'actualisation peuvent être transmis sur un réseau local par exemple en toute sécurité, en l'absence d'accès effectif aux données de ce logiciel du fait des sécurités introduites sur les données transmises. It is thus understood that the update files can be transmitted over a local network for example in complete security, in the absence of effective access to the data of this software because of the security introduced on the transmitted data.

On comprend finalement que le procédé et le système, objets de la présente invention, mettent en oeuvre des techniques de protection réparties sensiblement indépendantes les unes des autres mais fédérées, en quelque sorte, grâce au processus de contrôle du code délivré par la clé physique pour engendrer un système de protection présentant des niveaux de protection qualitatifs distincts en fonction du choix du niveau de protection conféré par chaque protection répartie, ce choix pouvant bien entendu être déterminé par la personne habilitée à assurer la diffusion des logiciels protégés en fonction de l'opération réalisée sur ces derniers, soit mémorisation sur la mémoire de masse d'un ordinateur hôte, soit transmission par l'intermédiaire d'un réseau local par exemple aux fins de procéder à la mise à jour de logiciels existants. It is finally understood that the method and the system, objects of the present invention, implement distributed protection techniques substantially independent of each other but federated, in a way, thanks to the process of checking the code delivered by the physical key for generate a protection system with separate qualitative protection levels depending on the choice of protection level conferred by each distributed protection, this choice can of course be determined by the person empowered to distribute protected software according to the operation performed on the latter, either storage on the mass memory of a host computer, or transmission via a local network for example for the purpose of updating existing software.

Un tableau relatif aux niveaux de protection successifs croissants selon des valeurs qualitatives de 1 à 4 obtenues par la mise en oeuvre des protections réparties précitées est donné en figure 4b. Les niveaux de protection précités correspondent au niveau de protection le plus faible pour le niveau 1 jusqu'au niveau de protection le plus élevé pour le niveau 4. A table relating to the successive increasing levels of protection according to qualitative values from 1 to 4 obtained by the implementation of the above-mentioned distributed protections is given in FIG. 4b. The above protection levels correspond to the lowest protection level for level 1 up to the highest protection level for level 4.

En ce qui concerne les techniques de protection réparties précitées, celles-ci consistent, conformément au procédé objet de la présente invention, en une première technique correspondant au processus de compression/décompression avec mot de passe, ainsi que mentionné précédemment dans la description, le mot de passe pouvant être explicite, dissimulé ou encore dissimulé et explicite selon une combinaison appropriée. As regards the aforementioned distributed protection techniques, these consist, in accordance with the method which is the subject of the present invention, of a first technique corresponding to the compression / decompression process with password, as mentioned previously in the description, the password can be explicit, concealed or even concealed and explicit according to an appropriate combination.

Une deuxième technique de protection répartie consiste en la mise en oeuvre du processus de clé logicielle, ainsi que mentionné précédemment dans la description, ce processus de clé logicielle consistant en une vérification de l'intégrité du mot de passe dissimulé précité, le caractère d'intégrité précité établi permettant d'assurer le processus de compression/décompression précédemment mentionné né. A second distributed protection technique consists in implementing the software key process, as mentioned previously in the description, this software key process consisting in verifying the integrity of the aforementioned concealed password, the character of aforementioned integrity established to ensure the compression / decompression process previously mentioned born.

La troisième technique de protection répartie concerne le processus d'embrouillage/désembrouillage à partir des paramètres spécifiques tels que les valeurs arbitraires VA précédemment mentionnées dans la description. The third distributed protection technique concerns the scrambling / descrambling process from specific parameters such as the arbitrary values VA previously mentioned in the description.

Enfin, la quatrième technique de protection répartie concerne la technique d'encapsulation du premier et du deuxième programme directement exécutables 1.EXE et 2.EXE au moyen du code de la clé physique CK, laquelle joue le rôle d'élément fédérateur des protections réparties précitées en raison de la mise en oeuvre conditionnelle de l'une et/ou de l'autre des techniques de protection réparties distinctes constituées par le processus de compression/décompression avec mot de passe, la clé logicielle contenant le mot de passe dissimulé, le processus d'embrouillage - désembrouillage à partir des valeurs arbitraires VA. Finally, the fourth distributed protection technique concerns the technique of encapsulation of the first and second directly executable programs 1.EXE and 2.EXE by means of the code of the physical key CK, which plays the role of federating element of the distributed protections aforementioned due to the conditional implementation of one and / or the other of the separate distributed protection techniques constituted by the compression / decompression process with password, the software key containing the concealed password, the scrambling process - descrambling from arbitrary values VA.

En conséquence :
- Pour une protection minimale dite de niveau 1, le système et le procédé, objets de la présente invention, peuvent consister à mettre en oeuvre uniquement un mot de passe explicite, dans les conditions précédemment mentionnées dans la description, et le phénomène d'encapsulation seul.
Consequently :
- For a minimum protection known as level 1, the system and the method, objects of the present invention, can consist in implementing only an explicit password, under the conditions previously mentioned in the description, and the encapsulation phenomenon only.

- Pour un niveau de protection plus important, le niveau 2, il est opportun de mettre en oeuvre le processus de compression/décompression avec mot de passe, le mot de passe étant cette fois dissimulé, ainsi que mentionné précédemment dans la description. Au processus de compression/décompression avec mot de passe dissimulé peut alors être associée la protection par clé logicielle et, bien entendu, le processus d'encapsulation à partir du code délivré par la clé physique. - For a higher level of protection, level 2, it is appropriate to implement the compression / decompression process with password, the password being concealed this time, as mentioned previously in the description. The compression / decompression process with a hidden password can then be associated with software key protection and, of course, the encapsulation process using the code issued by the physical key.

- Un niveau de protection encore supérieur peut être obtenu au niveau de protection 3 par la mise en oeuvre d'un processus de compression/décompression avec mot de passe dissimulé et explicite, combinaison d'un mot de passe dissimulé et d'un mot de passe explicite, ainsi que décrit précédemment dans la description, d'une clé logicielle à partir du mot de passe dissimulé et, par exemple, du processus d'encapsulation à partir du code délivré par la clé physique. - An even higher level of protection can be obtained at protection level 3 by implementing a compression / decompression process with a concealed and explicit password, combination of a concealed password and a password. explicit pass, as described above in the description, of a software key from the concealed password and, for example, from the encapsulation process from the code delivered by the physical key.

- Enfin, le niveau de protection le plus élevé peut être mis en oeuvre à partir d'un processus de compression/décompression avec mot de passe dissimulé, clé logicielle contenant ce mot de passe dissimulé, processus d'embrouillage - désembrouillage à partir des paramètres virtuels ou valeurs arbitraires VA, et encapsulation de l'ensemble au moyen du code de la clé physique. - Finally, the highest level of protection can be implemented using a compression / decompression process with a hidden password, software key containing this hidden password, scrambling process - descrambling from parameters virtual or arbitrary values VA, and encapsulation of the whole by means of the code of the physical key.

Sur la figure 5a, on a représenté un diagramme d'état des interventions temporelles entre les différents intervenants, premier et deuxième programme directement exécutable, 1.EXE, 2.EXE, clé physique et son code K, fichier compressé - embrouille XXX, dans le cas d'une installation sécurisée. Ce diagramme d'état correspond à celui de la figure 4a. In FIG. 5a, a state diagram of the temporal interventions between the various intervening parties has been represented, first and second directly executable program, 1.EXE, 2.EXE, physical key and its K code, compressed file - scrambles XXX, in the case of a secure installation. This state diagram corresponds to that of FIG. 4a.

Sur la figure 5b, on a représenté un diagramme d'état des interventions temporelles entre ces mêmes intervenants, dans le cas d'un transfert de fichiers protégés avec un niveau de protection niveau 1 selon la figure 4b. On comprend en particulier que dans un tel cas, en l'absence de processus d'embrouillage - désembrouillage, le fichier compressé - embrouillé XXX est en fait remplacé par le fichier compressé modifie CCC. In FIG. 5b, a state diagram of the temporal interventions between these same actors is shown, in the case of a transfer of files protected with a level of protection level 1 according to FIG. 4b. It is understood in particular that in such a case, in the absence of a scrambling - descrambling process, the compressed - scrambled file XXX is in fact replaced by the compressed file modifies CCC.

Il en est de même dans le cas de la figure 5c correspondant à un transfert de fichiers protégés avec un niveau de protection niveau 2 selon la figure 4b où le mot de passe utilise est le mot de passe dissimulé, ainsi que dans le cas de la figure 5d, correspondant à un transfert de fichiers protégés avec un niveau de protection niveau 3 selon la figure 4b où le mot de passe est mixte, dissimulé et explicite, la protection par clé physique et son code K intervenant systématiquement dans tous les cas pour assurer un contrôle mutuel clé physique - programmes directement exécutables encapsulés. The same is true in the case of FIG. 5c corresponding to a transfer of files protected with a level of protection level 2 according to FIG. 4b where the password used is the concealed password, as well as in the case of the FIG. 5d, corresponding to a transfer of protected files with a level of protection level 3 according to FIG. 4b where the password is mixed, concealed and explicit, protection by physical key and its K code intervening systematically in all cases to ensure mutual physical key control - directly executable programs encapsulated.

Enfin, dans le cas de la figure 5e, ce diagramme d'état correspond à un transfert de fichiers protégés avec un niveau de protection maximum niveau 4, seul le mot de passe implicite étant utilisé avec la clé logicielle et le processus d'embrouillage - désembrouillage étant en outre mis en oeuvre sur le fichier compressé embrouillé XXX.  Finally, in the case of FIG. 5e, this state diagram corresponds to a transfer of protected files with a maximum level of protection level 4, only the implicit password being used with the software key and the scrambling process - descrambling being further implemented on the scrambled compressed file XXX.

On a ainsi décrit un procédé et un système de protection contre l'utilisation et la copie illicites de fichiers informatiques particulièrement performants dans la mesure où, à partir d'une configuration générale, il est possible d'obtenir quatre niveaux de protection distincts, ces niveaux correspondant en fait en une combinaison de techniques de protection réparties, indépendantes mais liées entre elles et fédérées par l'intermédiaire d'un processus d'encapsulation à partir du code délivré par une clé physique. On comprend en particulier que le procédé et le système, objets de la presente invention, peuvent ainsi faire l'objet, par parametrage des protections réparties utilisées, de différentes applications allant de la protection de simples logiciels du commerce pour lesquels un niveau de protection 1 apparaît suffisant, à la protection plus élaborée correspondant par exemple à celle du niveau 3 pour les logiciels professionnels, ou encore à la protection de niveau maximum, niveau 4, pour le transfert de fichiers informatiques permettant la mise à jour de logiciels sous licence.  We have thus described a method and a system for protection against the illicit use and copying of particularly efficient computer files insofar as, from a general configuration, it is possible to obtain four distinct levels of protection, these levels corresponding in fact to a combination of distributed protection techniques, independent but linked to each other and federated through an encapsulation process based on the code issued by a physical key. It is understood in particular that the method and the system, objects of the present invention, can thus be the subject, by parameterization of the distributed protections used, of various applications ranging from the protection of simple commercial software for which a level of protection 1 appears sufficient, for the more elaborate protection corresponding for example to that of level 3 for professional software, or even to the protection of maximum level, level 4, for the transfer of computer files allowing the updating of licensed software.

Claims (10)

REVENDICATIONS 1. Procédé de protection contre la copie et l'utilisation illicites d'un fichier informatique, caractérisé en ce qu'il consiste 1. Method of protection against the illegal copying and use of a computer file, characterized in that it consists - à mémoriser sous forme d'un fichier embrouillé et compresse ledit fichier informatique, et, lors d'une utilisation dudit fichier informatique, to be stored in the form of a scrambled file and compresses said computer file, and, when using said computer file, - à soumettre ledit fichier embrouillé et compressé à une opération de désembrouillage-décompression conditionnelle au moyen d'un logiciel de desembrouillage-décompres- sion protégé au moyen du code personnalisé d'une clé physique en fonction d'un utilisateur habilité, pour engendrer un fichier informatique utilisable conditionnellement à la disponibilité du code personnalisé de ladite clé physique. to submit said scrambled and compressed file to a conditional descrambling-decompression operation by means of descrambling-decompression software protected by means of the personalized code of a physical key according to an authorized user, in order to generate a computer file usable conditionally on the availability of the personalized code of said physical key. 2. Procédé selon la revendication 1, caractérisé en ce que l'étape consistant à mémoriser sous forme d'un fichier embrouillé et compressé dudit fichier informatique est effectuée par 2. Method according to claim 1, characterized in that the step consisting in memorizing in the form of a scrambled and compressed file of said computer file is carried out by - compression dudit fichier informatique en un fichier informatique compressé à partir d'un mot de passe spécifique défini pour ledit utilisateur habilité, puis - compression of said computer file into a computer file compressed from a specific password defined for said authorized user, then - embrouillage dudit fichier informatique compressé en ledit fichier embrouillé et compressé, et mémorisation de ce dernier. - scrambling of said compressed computer file into said scrambled and compressed file, and storage of the latter. 3. Procédé selon la revendication 1 ou 2, caractérisé en ce que ledit fichier informatique étant constitué par au moins un fichier directement exécutable par le système d'exploitation d'un ordinateur, ce fichier directement exécutable étant mémorisé sur la mémoire de masse dudit ordinateur, sous forme dudit fichier embrouillé et compressé, ladite opération de désembrouillage-décompression conditionnelle consiste, au cours d'une procédure d'installation dudit fichier directement exécutable  3. Method according to claim 1 or 2, characterized in that said computer file consisting of at least one file directly executable by the operating system of a computer, this directly executable file being stored on the mass memory of said computer , in the form of said scrambled and compressed file, said conditional descrambling-decompression operation consists, during a procedure for installing said directly executable file - à exécuter conditionnellement à la disponibilité dudit code de ladite clé physique un premier programme directement exécutable de désembrouillage dudit fichier embrouillé et compressé pour engendrer un fichier compressé à partir d'une pluralité de valeurs de désembrouillage - to execute conditionally upon the availability of said code of said physical key a first directly executable program for descrambling said scrambled and compressed file in order to generate a file compressed from a plurality of descrambling values - à exécuter conditionnellement à la disponibilité du code de ladite clé physique et du mot de passe spécifique, par appel à partir dudit premier programme directement exécutable, un deuxième programme directement exécutable de décompression dudit fichier compressé permettant de décompresser et d'installer ledit fichier directement exécutable. - to be executed conditionally on the availability of the code of said physical key and of the specific password, by calling from said first directly executable program, a second directly executable program for decompressing said compressed file making it possible to decompress and install said file directly executable. 4. Procédé selon la revendication 3, caractérisé en ce que ladite étape d'exécution conditionnelle à la disponi bilié du code de ladite clé physique du premier programme exécutable comprend les sous-étapes consistant à 4. Method according to claim 3, characterized in that said step of execution conditional on the availability of the code of said physical key of the first executable program comprises the sub-steps consisting in: - engendrer ladite pluralité de valeurs de désembrouillage - generate said plurality of descrambling values - engendrer à partir de ladite pluralité de valeurs de désembrouillage des séquences de désembrouillage - generate from said plurality of descrambling values descrambling sequences - désembrouiller à partir des séquences de désembrouillage ledit fichier embrouille et compressé - descramble from descrambling sequences said scrambled and compressed file - appeler ledit deuxième programme directement exécutable. - call said second directly executable program. 5. Procédé selon l'une des revendications 2 à 4, caractérisé en ce que ladite étape d'exécution conditionnelle dudit deuxième programme directement exécutable est conditionnelle, d'une part, à la disponibilité dudit code de la clé physique et, d'autre part, à celle dudit mot de passe défini pour l'utilisateur habilité. 5. Method according to one of claims 2 to 4, characterized in that said step of conditional execution of said second directly executable program is conditional, on the one hand, on the availability of said code of the physical key and, on the other share, to that of said password defined for the authorized user. 6. Procédé selon l'une des revendications 3 à 5, caractérisé en ce que celui-ci comprend en outre, au cours de ladite procédure d'installation, préalablement à l'étape consistant à exécuter conditionnellement à la disponibilité dudit code de la clé physique le premier programme directement exécutable, une sous-étape de choix dudit fichier embrouillé et compressé, soumis à installation, parmi une pluralité de fichiers embrouillés et compressés mémorisés sur ladite mémoire de masse dudit ordinateur.  6. Method according to one of claims 3 to 5, characterized in that it further comprises, during said installation procedure, prior to the step of executing conditionally upon availability of said code of the key physical the first directly executable program, a sub-step of choosing said scrambled and compressed file, subject to installation, from a plurality of scrambled and compressed files stored in said mass memory of said computer. 7. Procédé selon la revendication 6, caractérisé en ce que celui-ci comprend en outre, au cours de ladite procédure d'installation suite à la sous-étape de choix du fichier embrouillé et compresse, une sous-étape de contrôle du nombre d'installations, de la date d'échéance du droit d'utilisation concédé. 7. Method according to claim 6, characterized in that it further comprises, during said installation procedure following the sub-step of choosing the scrambled and compressed file, a sub-step of controlling the number of 'installations, from the expiration date of the right of use granted. 8. Dans un ordinateur muni d'une mémoire de masse et d'un port parallèle gérés par le système d'exploitation de cet ordinateur, un système de protection contre la copie et l'utilisation illicites de fichiers informatiques mémorisés dans ladite mémoire de masse sous forme de fichiers embrouillés et compressés, ce système comportant au moins 8. In a computer provided with a mass memory and a parallel port managed by the operating system of this computer, a system for protection against the illegal copying and use of computer files stored in said mass memory in the form of scrambled and compressed files, this system comprising at least - une clé physique génératrice d'un code personnalisé en fonction d'un utilisateur habilité, ladite clé physique étant interconnectée sur le port parallèle dudit ordinateur, et, mémorisés dans ladite mémoire de masse, a physical key generating a personalized code according to an authorized user, said physical key being interconnected on the parallel port of said computer, and, stored in said mass memory, - un premier programme directement exécutable de désembrouillage d'au moins un fichier embrouillé et compressé, conditionnellement à la disponibilité dudit code de la clé physique, ce premier programme permettant d'engendrer un fichier compressé, et a first directly executable program for descrambling at least one scrambled and compressed file, subject to the availability of said code of the physical key, this first program making it possible to generate a compressed file, and - un deuxième programme directement exécutable, sur appel dudit premier programme exécutable, de décompression dudit fichier compressé conditionnellement à la disponibilité dudit code de la clé physique et d'un mot de passe spécifique, ce deuxième programme permettant d'engendrer un fichier informatique utilisable conditionnellement à la disponibilité du code de la clé physique. a second directly executable program, on call of said first executable program, for decompressing said compressed file conditionally upon the availability of said code of the physical key and of a specific password, this second program making it possible to generate a computer file usable conditionally the availability of the physical key code. 9. Dans un ordinateur muni d'une mémoire de masse et d'un organe périphérique, tel qu'un lecteur de carte à puce, gérés par le système d'exploitation de cet ordinateur, un système de protection contre la copie et l'utilisation illicites de fichiers informatiques mémorisés dans ladite mémoire de masse sous forme de fichiers embrouillés et compressés, ce système comportant au moins 9. In a computer equipped with a mass memory and a peripheral organ, such as a smart card reader, managed by the operating system of this computer, a copy protection system and the illicit use of computer files stored in said mass memory in the form of scrambled and compressed files, this system comprising at least - une clé physique génératrice d'un code personna lisé en fonction d'un utilisateur habilité, ladite clé physique consistant en une carte à puce contenant un code personnalise à accès protégé, et, mémorisés dans ladite mémoire de masse, a physical key generating a code personalized according to an authorized user, said physical key consisting of a smart card containing a personalized code with protected access, and, stored in said mass memory, - un premier programme directement exécutable de désembrouillage d'au moins un fichier embrouillé et compressé, conditionnellement à la disponibilité dudit code de la clé physique, ce premier programme permettant d'engendrer un fichier compressé, et a first directly executable program for descrambling at least one scrambled and compressed file, subject to the availability of said code of the physical key, this first program making it possible to generate a compressed file, and - un deuxième programme directement exécutable, sur appel du premier programme exécutable, de décompression dudit fichier conditionnellement à la disponibilité dudit code de la clé physique et du mot de passe spécifique, ce deuxième programme permettant d'engendrer un fichier informatique utilisable conditionnellement à la disponibilité du code de la clé physique. a second directly executable program, on call of the first executable program, for decompressing said file conditionally upon the availability of said code of the physical key and of the specific password, this second program making it possible to generate a computer file usable conditionally upon availability of the physical key code. 10. Utilisation du procédé selon l'une des revendications 1 à 7, respectivement d'un système selon l'une des revendications 8 ou 9, pour la protection contre la copie et l'utilisation illicites de fichiers informatiques, de programmes informatiques, de données numériques obtenues par, respectivement nécessaires à des programmes informatiques, des vidéogrammes de phonogrammes, mémorisés sur support de mémorisation, transmis à des utilisateurs habilités.  10. Use of the method according to one of claims 1 to 7, respectively of a system according to one of claims 8 or 9, for protection against illegal copying and use of computer files, computer programs, digital data obtained by, respectively necessary for computer programs, videograms of phonograms, stored on a storage medium, transmitted to authorized users.
FR9704340A 1997-04-09 1997-04-09 METHOD AND SYSTEM FOR PROTECTING AGAINST ILLEGAL COPYING AND USE OF A COMPUTER FILE Expired - Fee Related FR2762111B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR9704340A FR2762111B1 (en) 1997-04-09 1997-04-09 METHOD AND SYSTEM FOR PROTECTING AGAINST ILLEGAL COPYING AND USE OF A COMPUTER FILE

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR9704340A FR2762111B1 (en) 1997-04-09 1997-04-09 METHOD AND SYSTEM FOR PROTECTING AGAINST ILLEGAL COPYING AND USE OF A COMPUTER FILE

Publications (2)

Publication Number Publication Date
FR2762111A1 true FR2762111A1 (en) 1998-10-16
FR2762111B1 FR2762111B1 (en) 1999-06-18

Family

ID=9505683

Family Applications (1)

Application Number Title Priority Date Filing Date
FR9704340A Expired - Fee Related FR2762111B1 (en) 1997-04-09 1997-04-09 METHOD AND SYSTEM FOR PROTECTING AGAINST ILLEGAL COPYING AND USE OF A COMPUTER FILE

Country Status (1)

Country Link
FR (1) FR2762111B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2387457A (en) * 2002-04-09 2003-10-15 Solarsoft Ltd Computer security system and method

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0191162A2 (en) * 1984-12-18 1986-08-20 International Business Machines Corporation Method of software protection
WO1990002382A1 (en) * 1988-08-16 1990-03-08 Indata, Corporation Information distribution system
US5291598A (en) * 1992-04-07 1994-03-01 Gregory Grundy Method and system for decentralized manufacture of copy-controlled software
EP0706118A1 (en) * 1994-04-22 1996-04-10 Kabushiki Kaisya Advance Data protection system
EP0715241A2 (en) * 1994-10-27 1996-06-05 Mitsubishi Corporation Apparatus for data copyright management system
WO1996018951A1 (en) * 1994-12-13 1996-06-20 Alexander Atkinson Dunn Methods and apparatus for protection of executable programs, libraries and data

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0191162A2 (en) * 1984-12-18 1986-08-20 International Business Machines Corporation Method of software protection
WO1990002382A1 (en) * 1988-08-16 1990-03-08 Indata, Corporation Information distribution system
US5291598A (en) * 1992-04-07 1994-03-01 Gregory Grundy Method and system for decentralized manufacture of copy-controlled software
EP0706118A1 (en) * 1994-04-22 1996-04-10 Kabushiki Kaisya Advance Data protection system
EP0715241A2 (en) * 1994-10-27 1996-06-05 Mitsubishi Corporation Apparatus for data copyright management system
WO1996018951A1 (en) * 1994-12-13 1996-06-20 Alexander Atkinson Dunn Methods and apparatus for protection of executable programs, libraries and data

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2387457A (en) * 2002-04-09 2003-10-15 Solarsoft Ltd Computer security system and method

Also Published As

Publication number Publication date
FR2762111B1 (en) 1999-06-18

Similar Documents

Publication Publication Date Title
EP1004100B1 (en) Portable electronic device for safe communication system, and method for initialising its parameters
EP1570648B1 (en) Method of securing software updates
FR2653914A1 (en) SYSTEM FOR AUTHENTICATING A MICROCIRCUIT CARD BY A PERSONAL MICROCOMPUTER, AND METHOD FOR ITS IMPLEMENTATION
EP0552077B1 (en) Mass memory card for microcomputer with facilities for execution of internal programs
FR2685510A1 (en) METHOD OF AUTHENTICATING, BY AN OUTER ENVIRONMENT, A PORTABLE OBJECT CONNECTED THROUGH THIS MEDIUM THROUGH A TRANSMISSION LINE, AND SYSTEM FOR IMPLEMENTING THE SAME.
FR2849230A1 (en) Encryption key free software application integrity verification procedure for decoder, mobile phone and chip card use compares memory map based signatures of executable instruction set
WO2004107283A1 (en) Security key generation method
RU2348968C2 (en) System for interlinking of secrets with computer system having some tolerance on hardware changes
EP1494460A1 (en) Process and device for authenticating digital data using an authentication plug-in
EP1086415B1 (en) Software protection system
FR2728980A1 (en) DEVICE FOR SECURING INFORMATION SYSTEMS ORGANIZED AROUND MICROPROCESSORS
WO2019175482A1 (en) Secure data processing
FR2762111A1 (en) Protection of computer file against illicit copying and use
EP1952297A2 (en) Method and device for authentication by a user of a trustworthy interface and related computer programme
WO2008084154A2 (en) Processing of data associated with a digital service
EP4068134A1 (en) Secure debugging
EP3547602A1 (en) Method for implementing a cryptographic function for a secret key
EP1494461B1 (en) Process and device for authenticating digital data using an authentication plug-in
WO2002008897A1 (en) Protocol for message exchange between applications implanted on an onboard system, and corresponding onboard system
FR2841667A1 (en) GRAPHICAL USER INTERFACE FOR INSTALLING COMPUTER PROGRAMS OF A STARTUP LOT
EP0968462B1 (en) Method for monitoring the secure segmentation of applications loaded in a multi-application terminal and terminal implementing same
CA2998780A1 (en) Management of a display of a view of an application on a screen of an electronic data input device, corresponding method, device and computer program product
WO2014135526A1 (en) System and method for managing at least one online application, portable usb user object and remote device of the system
FR2834573A1 (en) Electronic data processing device suitable for execution of software protected against copying, whereby software is sub-divided with an auxiliary program stocked and executed in a secure chip card reader
FR2911203A1 (en) Runtime environment managing method for e.g. personal computer, involves detecting computing event related to insertion or withdrawal of media on thin client and server of network, before initialization of runtime environment of client

Legal Events

Date Code Title Description
ST Notification of lapse