FR2538927A1 - Systeme de protection des logiciels et notamment des logiciels standards - Google Patents
Systeme de protection des logiciels et notamment des logiciels standards Download PDFInfo
- Publication number
- FR2538927A1 FR2538927A1 FR8221993A FR8221993A FR2538927A1 FR 2538927 A1 FR2538927 A1 FR 2538927A1 FR 8221993 A FR8221993 A FR 8221993A FR 8221993 A FR8221993 A FR 8221993A FR 2538927 A1 FR2538927 A1 FR 2538927A1
- Authority
- FR
- France
- Prior art keywords
- software
- information
- data
- user
- random
- 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
Links
- 238000010200 validation analysis Methods 0.000 claims description 5
- 230000006870 function Effects 0.000 description 3
- 230000000903 blocking effect Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000035755 proliferation Effects 0.000 description 2
- 230000003252 repetitive effect Effects 0.000 description 2
- 239000013256 coordination polymer Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000000034 method Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07F—COIN-FREED OR LIKE APPARATUS
- G07F7/00—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
- G07F7/08—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
- G07F7/10—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/16—Program or content traceability, e.g. by watermarking
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07F—COIN-FREED OR LIKE APPARATUS
- G07F7/00—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
- G07F7/08—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07F—COIN-FREED OR LIKE APPARATUS
- G07F7/00—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
- G07F7/08—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
- G07F7/10—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
- G07F7/1025—Identification of user by a PIN code
- G07F7/1058—PIN is checked locally
- G07F7/1066—PIN data being compared to data on card
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07F—COIN-FREED OR LIKE APPARATUS
- G07F7/00—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
- G07F7/08—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
- G07F7/12—Card verification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing 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/2137—Time limited access, e.g. to a computer or data
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Storage Device Security (AREA)
Abstract
SYSTEME DE PROTECTION DES LOGICIELS ET NOTAMMENT DES LOGICIELS STANDARDS. IL CONSISTE A MELANGER AUX DONNEES D'UN UTILISATEUR ACCREDITE DUDIT LOGICIEL UN CERTAIN NOMBRE D'INFORMATIONS, NOTAMMENT AU MOINS UNE INFORMATION DE PERENNITE RELATIVE A LA DATATION DES DONNEES, AU MOINS UNE INFORMATION ALEATOIRE ET AU MOINS UNE INFORMATION CONFIDENTIELLE DE DEVERROUILLAGE. APPLICATION PLUS PARTICULIEREMENT AUX PROGICIELS.
Description
Système de protection des logiciels et notamment des logiciels standards.
La présente invention concerne un système de protection des logiciels et notamment des logiciels standards.
Au début de l'ère informatique, les constructeurs d'ordinateurs réalisaient des systèmes d'exploitation particuliers à chaque type de machine. Dans la mémoire centrale d'un ordinateur réside principalement un système d'exploitatioh et un programme objet qui est réalisé à partir d'un texte écrit en un langage appelé de haut niveau, tel que Cobol, Basic ou Fortran.
Le texte est traduit en une suite de O et 1 par un compilateur. La suite de O et 1 constitue en fait ledit programme objet qui, lorsqu'il est exécuté par l'ordinateur, traite la plupart du temps des données.
Ces dernières constituent en fait ce qu'on appelle communément une application de traitement tel qu'un programme de comptabilité, de paye, de gestion de stock, etc.
Ces dernières constituent en fait ce qu'on appelle communément une application de traitement tel qu'un programme de comptabilité, de paye, de gestion de stock, etc.
Les différentes branches d'activité économique utilisent de plus en plus des équipements informatiques de toutes tailles. Devant la répétition de certaines données applicables à de nombreux utilisateurs distincts, les fabricants d'ordinateurs et de logiciels ont mis au point des systèmes d'exploitation qui, par leur grande diffusion, ont constitue des standards, tels que le CP/M de Digital Research. A partir de ces systèmes d'exploitation standards, des logiciels d'application standards ou progiciels, non particuliers pour un utilisateur donné, sont apparus sur le marché et leur prix s'est trouvé, en conséquence, fortement diminué grâce à leur large diffusion. Bien évidemment, chacun de ces progiciels pourrait être particularisé en fonction de telle ou telle demande d'un utilisateur.Toutefois, les modifications souhaitées et apportées sont faites sur le progiciel et ne doivent pas entraîner une refonte complète du logiciel, faute de quoi on serait ramené à créer un logiciel unique et particulier.
Les progiciels présentant par définition un caractère répétitif et étant en fait exploités par différents types d'ordinateurs, les fabricants de logiciels tentent d'empêcher une prolifération non ré munérabrice pour l'auteur desdits progiciels.
Plusieurs systèmes de protection contre une telle prolifération frauduleuse sont proposés.
Un premier système consiste à associer à un programme objet donné en général matérialisé par une ou deux disquettes, ou autre support en général magnétique, une clef électronique qui se présente sous la forme d'un boîtier se branchant sur l'ordinateur ou le terminal à partir duquel l'ordinateur est interrogé. L'ensemble boîtier-disquettes est unique pour chaque application et l'absence du boîtier interdit le fonctionnement du programme. Même si la copie dela clef électronique est difficile à réaliser1 bien que possible, il n'en demeure pas moins vrai qu'un tel système présente des inconvénients. En effet, dès qu'un utilisateur possède plusieurs programmes de traitement, et cela est courant même dans des petites et moyennes industries, le système devient extrêmement lourd car à chaque programme correspond une clef, onéreux pour des raisons évidentes.
D'autres moyens de protection existent également et concernent non plus la machine mais le système d'exploitation de l'ordinateur, c'est-à-dire en fait le logiciel de base. Un de ces moyens consiste par exemple à modifier le système d'exploitation de l'ordinateur, avant d'exécuter le programme objet, de façon à rendre impossible la copie dudit programme objet. Une telle protection contre la fraude s'accompagne malheureusement d'inconvénients graves. C'est ainsi que les copies de sauvegarde du programme objet ne peuvent être exécutées. Le fabricant du logiciel est donc amené à fournir à l'utilisateur au moins deux disquettes par logiciel utilisé. De plus, en cas de modification importante du système d'exploitation et lorsqu'elle modifie sensiblement les programmes objets, alors il est nécessaire de refaire ces derniers.
Tous les systèmes de protection sont basés sur le fait qu'il faut empêcher la fraude dès le dé- part même si cela doit entraîner des inconvénients graves pour l'utilisateur.
La présente invention a pour objet un système de protection des logiciels et plus particulièrement des progiciels qui ne pénalise en aucune façon les utilisateurs honnêtes mais qui, par contre, permet de prendre en défaut un fraudeur et ce, de façon irrémédiable.
Le système selon l'invention consiste à mélanger aux données d'un utilisateur accrédité dudit logiciel un certain nombre d'informations, notamment au moins une information de pérennité relative à la datation des données, au moins une information aléatoire et au moins une information confidentielle de déverrouillage.
Selon une autre caractéristique, au moins une information non significative ou leurre est mélangée aux données de l'utilisateur.
D'autres caractéristiques apparaîtront à la lecture de la description d'un mode préféré de l'invention, donné à titre d'exemple non limitatif.
Le système de protection selon la présente invention consiste à mélanger aux données de l'utilisateur un certain nombre d'informations qui permettront au fournisseur du progiciel de vérifier si l'utilisateur est de bonne ou de mauvaise foi.
Une premiere information présente le caractère dit de pérennité qui, en fait, fixe la durée moyenne d'utilisation du progiciel par l'utilisateur. En effet, en fonction de la nature même du progiciel, le fournisseur peut déterminer approximativement la durée d'utilisation. C'est ainsi qu'unkrogiciel établi pour la paye du personnel est utilisé une ou deux fois par mois, soit entre 12 et 24 fois dans l'année. Un progiciel affecté à la comptabilité est utilisé, en moyenne, 2 fois par semaine, soit 100 fois environ dans l'année.
En conséquence, il s'agit pour un progiciel spécifique de déterminer approximativement la période de temps qui s'est écoulée depuis le début de la mise en oeuvre du traitement de données, et ranger ce nombre, bien caché, dans lesdites données de l'utilisateur. On peut, pour des raisons de sécurité, ranger ce nombre en plusieurs endroits différents et vérin fier par la suite leur conformite. Il va de soi que ce nombre se présente de la même façon que lesdites données, c'est-à-dire par exemple représenté par des
O et des 1.
O et des 1.
La deuxième information consiste en un nombre aléatoire qui est la base de la clef du progiciel et qui permet de déverrouiller le système à l'utilisateur légitime. A chaque utilisateur correspond évidemment un nombre aléatoire qui change à chaque contrôle de légitimité. Il est, de la même façon~ que l'information de pérennité, rangé et caché parmi les données de l'utilisateur. Une manière de choisir ce nombre aléatoire consiste par exemple à compter le nombre de passages par un sous-menu et au cours d'une période de temps prédéterminée. D'autres critères de choix du nombre aléatoire peuvent être retenus, à la condition que le caractère aléatoire et donc non répétitif-soit respecté et qu'il ne puisse y avoir une confusion possible avec certains des éléments du fichier de l'utilisateur.
Enfin, la troisième information est relative à la fonction de validation du système. En fait, ladite troisième information constitue ce qu'on pourrait appeler un verrouillage électronique qui empêche un progiciel d'être utilisé indéfiniment. Une façon simple de choisir cette information est par exemple de diviser le nombre aléatoire affecté à l'utilisateur par un nombre premier. Le reste de la division, à 6 chiffres significatifs, constitue la clef qui déverrouille le système. Là encore, d'autres critères de choix peuvent conduire à d'autres moyens de validation.
Le système de protection suivant l'invention et décrit ci-dessus est applicable lorsque les progiciels, mis å la disposition des utilisateurs par l'auteur, doivent être validés au bout de période#s de temps prédéterminées par l'auteur du progiciel.
A supposer par exemple qu'une desdites périodes soit fixée à 8 mois, après la mise en route du progiciel, le traitement de données ne peut être poursuivi par blocage desdites données, ledit blocage étant provoqué par l'information de pérennité qui empêche le programme de fonctionner. Dans ces conditions, l'utilisateur prend contact avec le fournisseur du progiciel et indique le nombre aléatoire qui lui avait été affecté. Si l'utilisateur est légitime, le fournisseur lui indique le nombre de 6 chiffres, si c'est la clef choisie pour déverrouiller le progiciel.
Dans l'hypothèse où l'utilisateur serait un fraudeur, alors la preuve sera faite irrémédiablement qu'il n-'est pas un auteur légitime. Même s'il bénéficie de la complicité d'un utilisateur légitime, la fraude sera dévoilée, l'information de pérennité permettant de déceler une fraude de ce genre.
En effet, un utilisateur légitime ne doit pas, sauf cas rarissime, avoir besoin de déverrouiller son progiciel plusieurs fois dans les périodes d'utilisation qui lui ont été imparties. Par conséquent, chaque fois qu'une copie du progiciel aura été faite sans le consentement de l'auteur et/ou du fournisseur, le fraudeur sera dévoilé au bout d'un temps variable et limité entre la date de la copie et celle à laquelle le progiciel doit normalement s'arrêter de fonctionner.
Chacun peut constater qu'au contraire des sys tèmes rappelés en préambule, la présente invention permet la copie d'un progiciel mais peut induire un grave préjudice à l'utilisateur frauduleux, préjudice cependant totalement et immédiatement réparable au gré de l'auteur du progiciel.
D'autre part, on peut également compliquer le système de protection selon l'invention, en introduisant dans les données de l'utilisateur plusieurs informations de même type.
Il en est notamment ainsi pour l'information de pérennité qui peut être déduite de la comparaison entre plusieurs moyens de datation. De même, on peut générer plusieurs nombres aléatoires cachés parmi les données en des endroits différents suivant le degré d'invulnérabilité souhaité. Quant à la fonction de validation, elle peut résulter de plusieurs clefs de verrouillage qui se déduisent par un algorithme plus ou moins complexe à partir desdits nombres aléatoires.
Dans tout ce qui précède, on fait appel à des informations utiles pour le système de protection.
Mais rien n'empêche d'introduire également des leurres parmi les données, lesdits leurres n'ayant d'autre fonction que de rendre plus invulnérable la protection. Ces leurres, comme les autres informations, seront dispersés et bien cachés pour qu'ils soient très difficiles à retrouver.
Il est à noter que l'introduction de toutes ces informations ne limitent pas pour autant la capacité des données car, en réalité, un système de protection très complexe n'utilise qu-'une infime partie de la mémoire dévolue aux données de l'utilisateur, ce qui est parfaitement acceptable même pour des progiciels simples.
Bien entendu, l'invention n'est nullement limitée au mode de réalisation de l'exemple décrit
elle elle est susceptible de nombreuses variantes accessibles à l'homme de l'art, suivant les applications envisagées et sans s'écarter pour cela du cadre de l'invention.
elle elle est susceptible de nombreuses variantes accessibles à l'homme de l'art, suivant les applications envisagées et sans s'écarter pour cela du cadre de l'invention.
Claims (6)
1. Système de protection des logiciels et notamment des logiciels -standards de traitement de données, caractérisé en ce qu'il consiste à mélanger aux données d'un utilisateur accrédité dudit logiciel un certain nombre d'informations, notamment au moins une information de pérennité relative à la datation des données, au moins une information aléatoire et au moins une information confidentielle de déverrouillage.
2. Système selon-la revendicatioh I, caractérisé en ce qu'au moins une information non significative ou leurre est mélangée aux données de l'utilisateur.
3. Système selon la revendication 1, caractérisé en ce qu'après chaque validation du logiciel au moins les informations aléatoire et de validation sont changées.
4. Système selon la revendication 1, caractérisé en ce que l'information de pérennité est la durée d'utilisation du logiciel.
5. Système selon la revendication 1, caractérisé en ce que l'information de déverrouillage est constituée par exemple par le reste à 6 chiffres près, de la division d'un nombre aléatoire par un nombre premier.
6. Système selon les revendications précédentes, caractérisé en ce qu'au moins une desdites informations est introduite plusieurs fois dans les données de l'utilisateur et en des emplacements différents.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR8221993A FR2538927A1 (fr) | 1982-12-29 | 1982-12-29 | Systeme de protection des logiciels et notamment des logiciels standards |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR8221993A FR2538927A1 (fr) | 1982-12-29 | 1982-12-29 | Systeme de protection des logiciels et notamment des logiciels standards |
Publications (2)
Publication Number | Publication Date |
---|---|
FR2538927A1 true FR2538927A1 (fr) | 1984-07-06 |
FR2538927B1 FR2538927B1 (fr) | 1985-03-29 |
Family
ID=9280629
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR8221993A Granted FR2538927A1 (fr) | 1982-12-29 | 1982-12-29 | Systeme de protection des logiciels et notamment des logiciels standards |
Country Status (1)
Country | Link |
---|---|
FR (1) | FR2538927A1 (fr) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0964397A3 (fr) * | 1993-06-07 | 2007-12-19 | Hitachi, Ltd. | Appareil d'enregistrement/de reproduction d'information numérique |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3862716A (en) * | 1971-10-13 | 1975-01-28 | Burroughs Corp | Automatic cash dispenser and system and method therefor |
US3869700A (en) * | 1972-12-26 | 1975-03-04 | Ibm | Stored value system |
US4105156A (en) * | 1976-09-06 | 1978-08-08 | Dethloff Juergen | Identification system safeguarded against misuse |
-
1982
- 1982-12-29 FR FR8221993A patent/FR2538927A1/fr active Granted
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3862716A (en) * | 1971-10-13 | 1975-01-28 | Burroughs Corp | Automatic cash dispenser and system and method therefor |
US3869700A (en) * | 1972-12-26 | 1975-03-04 | Ibm | Stored value system |
US4105156A (en) * | 1976-09-06 | 1978-08-08 | Dethloff Juergen | Identification system safeguarded against misuse |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0964397A3 (fr) * | 1993-06-07 | 2007-12-19 | Hitachi, Ltd. | Appareil d'enregistrement/de reproduction d'information numérique |
EP2385527A3 (fr) * | 1993-06-07 | 2012-12-19 | Samsung Electronics Co., Ltd. | Appareil d'enregistrement/de reproduction d'information numérique |
US8472785B2 (en) | 1993-06-07 | 2013-06-25 | Samsung Electronics Co., Ltd. | Digital information recording-reproducing apparatus |
Also Published As
Publication number | Publication date |
---|---|
FR2538927B1 (fr) | 1985-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0089876B1 (fr) | Procédé et dispositif de protection d'un logiciel livré par un fournisseur à un utilisateur | |
FR2613856A1 (fr) | Systeme d'enregistrement d'informations | |
EP1605333B1 (fr) | Contrôle de l'exécution d'un programme | |
FR2675602A1 (fr) | Procede et dispositif de protection d'un systeme informatique. | |
AU2005257685A1 (en) | Security for computer software | |
WO2001088705A1 (fr) | Procede de securisation d'un langage du type a donnees typees, notamment dans un systeme embarque et systeme embarque de mise en oeuvre du procede | |
EP1960934B1 (fr) | Procede pour securiser l'execution d'un code logiciel en langage intermediaire dans un appareil portatif | |
FR2762417A1 (fr) | Procede de controle de l'execution d'un produit logiciel | |
EP0720098B1 (fr) | Dispositif de sécurisation de systèmes d'information organisés autour de microprocesseurs | |
EP1086415B1 (fr) | Systeme de protection d'un logiciel | |
EP1649363B1 (fr) | Procede de gestion des composants logiciels integres dans un systeme embarque | |
EP1983436B1 (fr) | Contrôle d'intégrité d'une mémoire externe à un processeur | |
EP1761835A1 (fr) | Module de sécurité et méthode de personnalisation d'un tel module de sécurité | |
FR2643475A1 (fr) | Procede de controle de l'utilisation d'un support d'informations, notamment magnetique ou magneto-optique et systemes pour sa mise en oeuvre | |
EP1316874A1 (fr) | Blocage du fonctionnement d'un circuit intégré | |
FR2538927A1 (fr) | Systeme de protection des logiciels et notamment des logiciels standards | |
EP1507185A1 (fr) | Méthode et dispositif de protection contre l'accès non-autorisé à une routine sensible | |
WO2019175482A1 (fr) | Traitement sécurisé de données | |
EP0119886B1 (fr) | Procédé de protection d'un logiciel enregistré par un fournisseur sur un support magnétique portatif | |
EP1585071A1 (fr) | Partage de fichiers non divisibles | |
WO2008125479A1 (fr) | Procédé d'exécution sécurisée d'une application | |
FR3112411A1 (fr) | Procédé de labellisation d’objets dans un environnement de traitement de grands volumes de données en utilisant des codes binaires et système de labellisation associé | |
WO2006092504A1 (fr) | Procede de transfert securise par carte securisee | |
FR2765362A1 (fr) | Module de securite comportant des moyens de creation de liens entre des fichiers principaux et des fichiers auxiliaires | |
FR2747813A1 (fr) | Systeme securise de controle d'acces permettant l'invalidation automatique de cles electroniques volees ou perdues et/ou le transfert d'habilitation a produire des cles |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
TP | Transmission of property | ||
ST | Notification of lapse |