FR2607953A1 - Procedes de marquage et de reconnaissance d'un support de logiciel, pour le proteger de la copie illegitime, et combinaison d'un logiciel et d'un tel support - Google Patents
Procedes de marquage et de reconnaissance d'un support de logiciel, pour le proteger de la copie illegitime, et combinaison d'un logiciel et d'un tel support Download PDFInfo
- Publication number
- FR2607953A1 FR2607953A1 FR8616898A FR8616898A FR2607953A1 FR 2607953 A1 FR2607953 A1 FR 2607953A1 FR 8616898 A FR8616898 A FR 8616898A FR 8616898 A FR8616898 A FR 8616898A FR 2607953 A1 FR2607953 A1 FR 2607953A1
- Authority
- FR
- France
- Prior art keywords
- location
- information
- coordinates
- support
- alteration
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims description 42
- 238000012795 verification Methods 0.000 claims abstract description 6
- 230000004075 alteration Effects 0.000 claims description 52
- 238000009877 rendering Methods 0.000 abstract 1
- 230000004224 protection Effects 0.000 description 11
- 230000001681 protective effect Effects 0.000 description 6
- 238000004590 computer program Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012938 design process Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005553 drilling Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B23/00—Record carriers not specific to the method of recording or reproducing; Accessories, e.g. containers, specially adapted for co-operation with the recording or reproducing apparatus ; Intermediate mediums; Apparatus or processes specially adapted for their manufacture
- G11B23/28—Indicating or preventing prior or unauthorised use, e.g. cassettes with sealing or locking means, write-protect devices for discs
- G11B23/281—Indicating or preventing prior or unauthorised use, e.g. cassettes with sealing or locking means, write-protect devices for discs by changing the physical properties of the record carrier
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/00086—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/00086—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
- G11B20/00094—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which result in a restriction to authorised record carriers
- G11B20/00123—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which result in a restriction to authorised record carriers the record carrier being identified by recognising some of its unique characteristics, e.g. a unique defect pattern serving as a physical signature of the record carrier
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/00086—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
- G11B20/0021—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier
- G11B20/00485—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier characterised by a specific kind of data which is encrypted and recorded on and/or reproduced from the record carrier
- G11B20/00557—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier characterised by a specific kind of data which is encrypted and recorded on and/or reproduced from the record carrier wherein further management data is encrypted, e.g. sector headers, TOC or the lead-in or lead-out areas
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/00086—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
- G11B20/0092—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which are linked to media defects or read/write errors
- G11B20/00927—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which are linked to media defects or read/write errors wherein said defects or errors are generated on purpose, e.g. intended scratches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2211/00—Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
- G06F2211/007—Encryption, En-/decode, En-/decipher, En-/decypher, Scramble, (De-)compress
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
ON ALTERE UN PREMIER EMPLACEMENT 10 DU SUPPORT 1 D'UNE MANIERE QUI EMPECHE L'ECRITURE ULTERIEURE D'INFORMATIONS EN CE PREMIER EMPLACEMENT 10. ON N'AUTORISE L'EXECUTION D'UN PROGRAMME D'APPLICATION QU'EN PRESENCE D'UN SUPPORT ALTERE AU PREMIER EMPLACEMENT. APRES AVOIR PRATIQUE L'ALTERATION, ON DETERMINE LES COORDONNEES C DE L'ALTERATION 2 SUR LE SUPPORT 1 ET ON ECRIT SUR CELUI-CI, EN UN DEUXIEME EMPLACEMENT PREDETERMINE 20 DIFFERENT DU PREMIER 10, DES INFORMATIONS INDICATIVES DE CES COORDONNEES C. LORS DE LA VERIFICATION, ON RECHERCHE LES COORDONNEES AU DEUXIEME EMPLACEMENT, PUIS, D'APRES CES COORDONNEES, ON RECHERCHE SI LE PREMIER EMPLACEMENT EST ALTERE. UTILISATION POUR RENDRE LE MARQUAGE PLUS ECONOMIQUE, EN SUPPRIMANT LA NECESSITE DE PRECISION PHYSIQUE.
Description
La présente invention concerne un procédé pour marquer de manière difficilement imitable un support d'informations logiques, tel qu'un disque magnétique souple pour ordinateur, en vue de ne permettre l'exécution d'un programme d'ordinateur, dit programme ou logiciel d'application, qu'en présence d'un support convenablement marqué, dans lequel on altère un premier emplacement du support, d'une manière qui empêche l'écriture ultérieure d'informations au premier emplacement.
L'invention vise aussi un procédé pour protéger un programme d'application contre une duplication illégitime à l'aide d'un marquage pouvant résulter d'un procédé cité au début.
La présente invention vise encore la combinaison d'un programme d'application et d'un support magnétique tel qu'un disque souple, obtenu notamment par le procédé précité.
L'invention vise enfin un procédé pour déterminer si un support magnétique tel qu'un disque souple, est un original convenablement marqué, notamment suivant un procédé du genre précité, ou une copie.
On connaît des procédés pour protéger les programmes d'ordinateur contre une duplication illégitime. Ces duplications qui sont réalisées au moyen d'autres programmes particuliers, pour lesquels on utilisera l'appellation de "logiciels copieurs", représentent un manque à gagner important pour les sociétés qui conçoivent, réalisent et commercialisent des programmes d'application, pour lesquels on utilisera ici les appellations de "logiciel à protéger" ou d'#application".
Les fabricants et producteurs de logiciels d'application sont donc amenés à concevoir des procédés interdisant ces duplications, procédés dans lesquels on définit une information quelconque et spécifique dont la présence et la conformité sont vérifiées par un logiciel particulier, inclus dans le logiciel à protéger, et pour lequel on utilisera ci-après l'appellation de "logiciel de test ou de vérification".
On connaît des protections purement logicielles qui ne nécessitent pas d'autre dispositif matériel que les dispositifs périphériques classiques d'un ordinateur ou micro-ordinateur. Les protections logicielles deviennent actuellement inefficaces. En effet, des logiciels copieurs très performants, capables de reproduire intégralement le contenu logique d'un support magnétique tel qu'un disque souple sur un autre, sont aujourd'hui accessibles au grand public.
On connaît également des protections mixtes qui associent un dispositif matériel au logiciel de test, dans lesquelles on associe, de façon univoque, un logiciel d'application copiable, contenant un logiciel de test copiable, un élément matériel extérieur qui, lui, n'est pas reproductible, ou très difficilement reproductible Le logiciel d'application n'est donc pas protégé contre la copie illégitime mais contre l'utilisation illégitime, puisqu'il nécessite impérativement la présence d'un dispositif particulier qui, lui, n'est pas copiable.Cet élément matériel supplémentaire extérieur peut être:
Un circuit électronique, intégré de préférence, appelé couramment "bouchon", dont les caractéristiques particulières sont reconnues par le logiciel de test inclus dans le logiciel d'application à protéger avant d'autoriser l'exécution de ce dernier.
Un circuit électronique, intégré de préférence, appelé couramment "bouchon", dont les caractéristiques particulières sont reconnues par le logiciel de test inclus dans le logiciel d'application à protéger avant d'autoriser l'exécution de ce dernier.
Un disque souple spécial, qui peut être le support du logiciel d'application, ou qui peut être un autre disque souple, et dont le matériau lui-même a été altéré, ou détruit en partie, de façon physique, mécanique ou chimique, comme cela est indiqué au début. Généralement, on pratique à l'aide d'un faisceau laser une brûlure partielle du support magnétique, ou un trou minuscule dans ce support. Du fait de cette altération physique, le disque souple ainsi traité n'est pas duplicable par les logiciels copieurs qui ne peuvent reproduire que des grandeurs électriques. De la même façon que décrit plus haut, le logiciel de test compare la conformité de cette altération à des caractéristiques déterminées et autorise ou non l'exécution du logiciel d'application.
Les protections mixtes sont efficaces contre les logiciels copieurs mais les "bouchons" sont couteux. Il en va de meme pour i 'opér-#tîon# c-onsistant à brûler ou à percer au laser un disque souple avec précision. L'inconvénient de ces protections n'est donc pas le défaut de fiabilité, mais plutôt, pour certaines, le manque de souplesse de mise en oeuvre, et surtout le prix de fabrication relativement élevé, qui peut être disproportionné par rapport à celui du logiciel à protéger.
La protection qui utilise un disque souple altéré physiquement associé à un logiciel de test ou de vérification est celle qui présente la plus grande souplesse pour l'utilisateur final. Cependant, elle nécessite la mise en oeuvre d'un appareil à faisceau laser précis et perfectionné, donc coûteux, spécialement étudié pour permettre de pointer et d'altérer une zone définie de support magnétique associé au logiciel à protéger à partir de coordonnées de ce support choisies a priori.
Le but de la présente invention est de proposer un procédé de marquage du genre indiqué au début, dont la mise en oeuvre soit nettement simplifiee, et qui confère en outre un très haut degré de fiabilité.
Ainsi, le procédé du genre indiqué au début pour marquer de manière difficilement imitable un support d'information logique, est caractérisé en ce qu'après avoir pratiqué l'altération, on détermine les coordonnées de l'altération sur le support, et on écrit sur le support, en un deuxième emplacement, prédéterminé, différent du premier emplacement, des informations indicatives de ces coordonnées.
Ainsi, il n'est plus nécessaire de réaliser le marquage en une position précise du support. Au contraire, le premier emplacement, auquel le marquage est réalisé, peut être choisi de manière aléatoire.
En d'autres termes, on peut effectuer le marquage de manière aléatoire sur le disque, au moyen d'un outillage rudimentaire tel qu'un poinçon. C'est ensuite qu'on détermine la position du marquage sur le support, de façon à porter sur celui-ci, en un deuxième emplacement, des indications sur cette position. Le coût de réalisation d'un tel support est nettement moindre que celui d'un support marqué au laser en position précise prédéterminée. De plus, la sécurité de protection est accrue car le logiciel de vérification devra constater sur le support non plus simplement la présence d'une altération en position déterminée mais en outre, avant cela, en un emplacement prédéterminé du support, I existence d'informations cohérentes relatives à la position où l'altération doit être recherchée sur le support.
Les informations logiques présentées sur le disque souple, qu'elles soient ou non cachées, peuvent généralement être dupliquées à l'aide d'un logiciel copieur, mais l'altération physique du disque souple est difficilement reproductible. En outre, reproduire une altération identique sur un disque souple copié, à la main ou à l'aide d'un appareil quelconque, et aux mêmes coordonnées que celles indiquées au deuxième emplacement, présente un caractère de difficulté presque totalement dissuasif.
De préférence, en un troisième emplacement prédéterminé différent du premier et du deuxième emplacement, on écrit sur le support des informations relatives aux coordonnées du deuxième emplacement,
De préférence encore, avant d'écrire les coordonnées de l'altération au deuxième emplacement, on fournit à un ordinateur une information arbitraire choisie parmi une liste prédéterminée, et on fait calculer par l'ordinateur les coordonnées du deuxième emplacement au moyen d'un logiciel utilisant ladite information arbitraire comme donnée.
De préférence encore, avant d'écrire les coordonnées de l'altération au deuxième emplacement, on fournit à un ordinateur une information arbitraire choisie parmi une liste prédéterminée, et on fait calculer par l'ordinateur les coordonnées du deuxième emplacement au moyen d'un logiciel utilisant ladite information arbitraire comme donnée.
La tâche du programme de vérification qui protège l'accès à l'application sera ensuite de déterminer à partir dé l'information arbitraire facilement accessible, et d'un algorithme de décodage, quelle est l'adresse cachée où il peut trouver les coordonnées de l'altération sur la zone de l'altération et enfin de vérifier qu'il ne peut y écrire d'informations logiques ou binaires
Suivant un second aspect de l'invention, le procédé pour protéger un programme d'application contre une duplication illégitime, dans lequel on associe ledit programme d'une part à un support magnétique, tel qu'un disque souple que l'on a marqué, notamment selon le premier aspect, par une altération en un premier emplacement,et etd'autre part à un logiciel de vérification adapté à vérifier que le support présente une altération au premier emplacement et à n'autoriser l'exécution du programme d'application qu'en cas de résultat positif de cette vérification, est caractérisé en ce qu'on détermine les coordonnées de l'altération sur le support, et, seulement à ce stade, on écrit sur le support, en un deuxième emplacement, prédéterminé, différent de l'emplacement de l'altération, et/ou on intègre au logiciel de vérification, des informations indicatives de ces coordonnées, le logiciel de vérification étant conçu pour déterminer l'emplacement de l'altération d'après les informations précitées.
Suivant un second aspect de l'invention, le procédé pour protéger un programme d'application contre une duplication illégitime, dans lequel on associe ledit programme d'une part à un support magnétique, tel qu'un disque souple que l'on a marqué, notamment selon le premier aspect, par une altération en un premier emplacement,et etd'autre part à un logiciel de vérification adapté à vérifier que le support présente une altération au premier emplacement et à n'autoriser l'exécution du programme d'application qu'en cas de résultat positif de cette vérification, est caractérisé en ce qu'on détermine les coordonnées de l'altération sur le support, et, seulement à ce stade, on écrit sur le support, en un deuxième emplacement, prédéterminé, différent de l'emplacement de l'altération, et/ou on intègre au logiciel de vérification, des informations indicatives de ces coordonnées, le logiciel de vérification étant conçu pour déterminer l'emplacement de l'altération d'après les informations précitées.
Selon un troisième aspect de l'invention, la combinaison d'un programme d'application et d'un support magnétique tel qu'un disque souple, combinaison obtenue notamment par le procédé précité, dans laquelle le disque souple comporte en un premier emplacement, une altération qui empêche l'écriture d'informations audit premier emplacement, et le programme d'application est associé à un programme de vérification adapté à vérifier la présence d'une altération audit premier emplacement et à n'autoriser l'exécution du programme d'application qu'en cas de résultat positif de cette vérification, est caractérisée en ce que le support magnétique porte en outre en un second emplacement, distinct du premier, des informations relatives à des coordonnées du premier emplacement sur le support, et en ce que le programme de vérification est adapté à tenir compte de ces informations pour déterminer les coordonnées du premier emplacement pour y vérifier ensuite la présence d'une altération.
Selon un quatrième aspect de l'invention, le procédé pour déterminer si un support magnétique tel qu'un disque souple, est un original convenablement marqué, notamment suivant le procédé selon le premier aspect, ou une copie, procédé dans lequel on autorise l'exécution d'un programme d'application si on a détecté,en un premier emplacement, la présence d'une altération non modifiable par écriture d'informations logiques, est caractérisé en ce qu'on recherche d'abord en au moins un deuxième emplacement prédéterminé du support des informations à partir desquelles on détermine des coordonnées du premier emplacement après quoi, si lesdites informations sont recueillies et si elles sont cohérentes, on se reporte au premier emplacement d'après les coordonnées ainsi déterminées et on y recherche la présence d'une altération.
D'autres particularités et avantages de l'invention ressortiront encore de la description ci-après.
Aux dessins annexés, donnés à titre d'exemples non limitatifs:
la figure 1 est une vue schématique d'un équipement informatique nécessaire pour la mise en oeuvre des procédés conformes à l'invention;
la figure 2 est une vue schématique d'un disque souple conforme à l'invention;
la figure 3 est un organigramme simplifié illustrant le mode d'exécution d'un programme d'application protégé suivant l'invention;
la figure 4 est un organigramme illustrant les différentes étapes du procédé suivant l'invention pour protéger un programme d'application contre une duplication illégitime, ce programme étant associé au disque souple de la figure 2; et
la figure 5 est un organigramme illustrant les différentes étapes du procédé suivant l'invention pour déterminer si un disque souple est un original convenablement marqué ou une copie.
la figure 1 est une vue schématique d'un équipement informatique nécessaire pour la mise en oeuvre des procédés conformes à l'invention;
la figure 2 est une vue schématique d'un disque souple conforme à l'invention;
la figure 3 est un organigramme simplifié illustrant le mode d'exécution d'un programme d'application protégé suivant l'invention;
la figure 4 est un organigramme illustrant les différentes étapes du procédé suivant l'invention pour protéger un programme d'application contre une duplication illégitime, ce programme étant associé au disque souple de la figure 2; et
la figure 5 est un organigramme illustrant les différentes étapes du procédé suivant l'invention pour déterminer si un disque souple est un original convenablement marqué ou une copie.
La figure 4 illustre les différentes étapes du procédé conforme à l'invention pour protéger un programme ou logiciel d'application contre une duplication illégitime conformément à l'invention. Ce programme d'application est associé d'une part à un support d'informations logiques 1, tel qu'un disque magnétique souple classique pour ordinateur (figure 2) que l'on marque par une ou plusieurs altérations physiques 2, par exemple au moyen d'un objet pointu (non représenté); tel qu'une aiguille ou analogue, en un ou des premier(s) emplacement(s) 10 choisi(s) de manière aléatoire, et d'autre part à un logiciel de test ou de vérification adapté à vérifier que le support 1 présente une ou des altérations 2 au(x) premier(s) emplacement(s) 10 et à n'autoriser l'exécution du programme d'application qu'en cas de résultat positif de cette vérification.
Le logiciel de vérification est incorporé dans le programme d'application de sorte qu'une demande d'accès à ce programme d'application émanant d'un utilisateur entraîne automatiquement (figure 3), au préalable, l'exécution du logiciel de vérification.
Par ailleurs, le support altéré 1 est de préférence distinct de celui qui contient le programme d'application mais ou comprend qu'il peut constituer également le support du programme d'application.
Dans ce dernier cas, il ne sera pas possible pour l'utilisateur de réaliser des copies de sauvegarde du programme d'application mais la protection reste entière.
Le disque souple 1 ayant été altéré comme indiqué plus haut, on procède aux opérations suivantes:
on dispose (figure 1) le support magnétique altéré 1 dans un lecteur de disque souple 3 relié à un ordinateur ou micro-ordinateur 4;
on charge dans la mémoire centrale de ltordinateur ou du micro-ordinateur 4 un logiciel particulier ou logiciel protecteur qui, lorsqu'en en lance l'exécution, réalise les opérations suivantes:
il détermine les coordonnées C de l'altération ou des altérations 2 du support 1. Pour cela, il utilise les moyens de commande de formatage classiques de l'ordinateur 4 qui permettent de structurer le disque souple 1 en pistes et en secteurs logiques tels que la piste "zéro" 5 et le secteur "deux" 6 de la piste "zéro" 5.On aménage ainsi l'espace d'écriture et de lecture d'informations logiques du disque souple 1 et on place des indicateurs logiques, ou repères, qui permettent ultérieurement de retrouver les informations recherchées par l'utilisateur. Il s'agit d'une commande classique de tout système d'exploitation de disque souple ou "disk operating system" (D.O.S.) qui écrit sur chaque piste du disque souple 1 les bits de signification suivante: indicateurs du début de secteur (numéro de face, de piste, de secteur et longueur de secteur), bits de synchronisation ou d'horloge, somme de contrôle en fin de chaque secteur qui détermine l'état du secteur, qu'il soit altéré ou non.
on dispose (figure 1) le support magnétique altéré 1 dans un lecteur de disque souple 3 relié à un ordinateur ou micro-ordinateur 4;
on charge dans la mémoire centrale de ltordinateur ou du micro-ordinateur 4 un logiciel particulier ou logiciel protecteur qui, lorsqu'en en lance l'exécution, réalise les opérations suivantes:
il détermine les coordonnées C de l'altération ou des altérations 2 du support 1. Pour cela, il utilise les moyens de commande de formatage classiques de l'ordinateur 4 qui permettent de structurer le disque souple 1 en pistes et en secteurs logiques tels que la piste "zéro" 5 et le secteur "deux" 6 de la piste "zéro" 5.On aménage ainsi l'espace d'écriture et de lecture d'informations logiques du disque souple 1 et on place des indicateurs logiques, ou repères, qui permettent ultérieurement de retrouver les informations recherchées par l'utilisateur. Il s'agit d'une commande classique de tout système d'exploitation de disque souple ou "disk operating system" (D.O.S.) qui écrit sur chaque piste du disque souple 1 les bits de signification suivante: indicateurs du début de secteur (numéro de face, de piste, de secteur et longueur de secteur), bits de synchronisation ou d'horloge, somme de contrôle en fin de chaque secteur qui détermine l'état du secteur, qu'il soit altéré ou non.
Ces éléments fournissent donc des informations sur l'état de chaque secteur, informations qui sont utilisées par le logiciel protecteur pour déterminer les coordonnées (numéro de piste, numéro de secteur) de la ou des altérations;
ensuite, le logiciel protecteur stocke les coordonnées C de l'altération ou des altérations, sous forme binaire dans une mémoire vive de l'ordinateur;
il réclame à l'opérateur un numéro de série S destiné à être associé au support magnétique 1, ce numéro S étant stocké dans une autre mémoire vive de I'ordinateur 4; ce numéro de série S est une information arbitraire choisie parmi une liste prédéterminée détenue par le fabricant de la protection de sorte qu'à un numéro de série S déterminé correspond un support altéré 1 déterminé;
en utilisant un algorithme de codage particulier, il génère à partir du numéro de série S un nombre N de sorte qu'à un numéro de série donné S ne peut correspondre qu'un nombre N déterminé;
il écrit les coordonnées de C de l'altération 2 ou des altérations 2 en un deuxième emplacement 20 du disque souple 1 dont l'adresse (ou "emplacement-mémoire") correspond au nombre N.
ensuite, le logiciel protecteur stocke les coordonnées C de l'altération ou des altérations, sous forme binaire dans une mémoire vive de l'ordinateur;
il réclame à l'opérateur un numéro de série S destiné à être associé au support magnétique 1, ce numéro S étant stocké dans une autre mémoire vive de I'ordinateur 4; ce numéro de série S est une information arbitraire choisie parmi une liste prédéterminée détenue par le fabricant de la protection de sorte qu'à un numéro de série S déterminé correspond un support altéré 1 déterminé;
en utilisant un algorithme de codage particulier, il génère à partir du numéro de série S un nombre N de sorte qu'à un numéro de série donné S ne peut correspondre qu'un nombre N déterminé;
il écrit les coordonnées de C de l'altération 2 ou des altérations 2 en un deuxième emplacement 20 du disque souple 1 dont l'adresse (ou "emplacement-mémoire") correspond au nombre N.
Si le second emplacement s'avère coincider avec le premier emplacement, le logiciel protecteur réclame à l'opérateur un autre numéro de série, de façon à recalculer un second emplacement différent du premier emplacement.
il écrit sous forme binaire le numéro de série S en un troisième emplacement prédéterminé 30 d'une piste particulière supposée non altérée du support souple 1, par exemple la piste "zéro" 5 de ce support souple 1.
Le troisième emplacement est toujours le même sur tous les disques souples d'une série, marqués selon le procédé. Bien que le choix du premier emplacement soit essentiellement arbitraire, on a veillé néanmoins à ce que le marquage n'affecte pas le troisième emplacement.
La figure 5 illustre les différentes étapes du procédé conforme à l'invention pour déterminer si un disque souple 1 associé à un programme d'application est un original convenablement altéré comme cela résulte notamment du procédé décrit plus haut' auquel cas on autorisera l'exécution de ce programme d'application, ou une copie auquel cas on interdira l'exécution dudit programme d'application.
Ce procédé comprend ainsi les étapes suivantes:
on dispose (figure 1) le disque souple altéré 1 dans un lecteur 3 de disque souple relié à un ordinateur ou un micro-ordinateur 4;
on stocke dans la mémoire centrale de l'ordinateur 4 le programme d'application contenant un logiciel de vérification adapté à déterminer si le disque 1 est marqué tel que cela résulte notamment du procédé de marquage décrit plus haut.
on dispose (figure 1) le disque souple altéré 1 dans un lecteur 3 de disque souple relié à un ordinateur ou un micro-ordinateur 4;
on stocke dans la mémoire centrale de l'ordinateur 4 le programme d'application contenant un logiciel de vérification adapté à déterminer si le disque 1 est marqué tel que cela résulte notamment du procédé de marquage décrit plus haut.
Ce programme d'application résidant préalablement par exemple (figure 1) sur un disque dur ou un autre disque souple 7 disposé dans un lecteur de disque dur ou un autre lecteur de disque souple 8 relié à l'ordinateur 4;
on demande l'accès au programme d'application de manière à lancer l'exécution du logiciel de vérification qu'il contient.
on demande l'accès au programme d'application de manière à lancer l'exécution du logiciel de vérification qu'il contient.
Le logiciel de vérification réalise alors les opérations suivantes:
il lit le numéro de série S du disque 1 au troisième emplacement 30 prédéterminé 4e la piste zéro 5 de ce disque et mémorise ce numéro de série S dans une mémoire vive de l'ordinateur 4;
en utilisant un algorithme particulier correspondant à l'algorithme de codage défini plus haut, il détermine à partir du numéro de série S un nombre N qui correspond à l'adresse où doivent figurer les coordonnées C de l'emplacement 10 du disque 1 de l'altération ou des altérations 2 du disque;
. fl lit les informations présentes à cette adresse N;;
il vérifie la cohérence de ces informations en tant que coordonnées C relativement au formatage du disque 1, c'est-à-dire qu'il vérifie que lesdites coordonnées C correspondent effectivement à des coordonnées de piste et de secteur attendues du disque 1.
il lit le numéro de série S du disque 1 au troisième emplacement 30 prédéterminé 4e la piste zéro 5 de ce disque et mémorise ce numéro de série S dans une mémoire vive de l'ordinateur 4;
en utilisant un algorithme particulier correspondant à l'algorithme de codage défini plus haut, il détermine à partir du numéro de série S un nombre N qui correspond à l'adresse où doivent figurer les coordonnées C de l'emplacement 10 du disque 1 de l'altération ou des altérations 2 du disque;
. fl lit les informations présentes à cette adresse N;;
il vérifie la cohérence de ces informations en tant que coordonnées C relativement au formatage du disque 1, c'est-à-dire qu'il vérifie que lesdites coordonnées C correspondent effectivement à des coordonnées de piste et de secteur attendues du disque 1.
Si ces coordonnées sont incohérentes, cela signifie que le disque souple 1 qui a été placé dans le lecteur 3 relié à l'ordinateur 4 n'est pas un original convenablement marqué et le logiciel de vérification interdit l'exécution du programme d'application. Dans le cas contraire, le logiciel de vérification exécute les opérations complémentaires suivantes:
il stocke lesdites coordonnées C dans une mémoire vive de l'ordinateur 4;
il commande l'écriture d'informations logiques aléatoires ou bits aléatoires ou quelconques à l'emplacement ou aux emplacements 10 du disque souple 1 définis par ces coordonnées C.Si l'ordinateur 4 autorise l'écriture desdits bits auxdits emplacements 10, cela signifie que ces emplacements ne comportent pas les altérations attendues et que le disque 1 est une copie de sorte que le logiciel de vérification refuse l'exécution du programme d'application. Dans le cas contraire, le disque souple altéré qui a été placé dans le lecteur 3 relié à l'ordinateur 4 est un original convenablement marqué de sorte que le logiciel de vérification autorise l'exécution du programme d'application.
il stocke lesdites coordonnées C dans une mémoire vive de l'ordinateur 4;
il commande l'écriture d'informations logiques aléatoires ou bits aléatoires ou quelconques à l'emplacement ou aux emplacements 10 du disque souple 1 définis par ces coordonnées C.Si l'ordinateur 4 autorise l'écriture desdits bits auxdits emplacements 10, cela signifie que ces emplacements ne comportent pas les altérations attendues et que le disque 1 est une copie de sorte que le logiciel de vérification refuse l'exécution du programme d'application. Dans le cas contraire, le disque souple altéré qui a été placé dans le lecteur 3 relié à l'ordinateur 4 est un original convenablement marqué de sorte que le logiciel de vérification autorise l'exécution du programme d'application.
Pour dupliquer illégitimement un disque souple altéré selon le procédé de l'invention, il faut donc d'une part réaliser et appliquer à un disque souple que l'on détériore à la main (ce qui est simple) un logiciel protecteur similaire à celui du présent procédé, comportant donc un algorithme codeur strictement équivalent (ce qui n'est pas simple), et d'autre part, que l'on prenne le risque d'attribuer au disque souple ainsi travaillé un numéro de série.
En effet, les numéros peuvent être répertoriés chez le fabricant de la protection, et ils y sont répertoriés pour chaque disque souple altéré, en relation biunivoque avec les coordonnées d'altération propres à chaque disque souple. il peut donc être aisément déterminé si le procédé lui-même a été dérobé, pour peu que le fabricant se trouve par hasard en possession d'un exemplaire de disque souple frauduleux.
La mise en oeuvre du procédé de protection conforme à l'invention ne nécessite aucun appareillage particulier, sinon un simple ordinateur ou microordinateur, qui est généralement du même type que celui de l'utilisateur final. Les avantages de simplicité, de prix de fabrication et de revient sont manifestes par rapport aux procédés connus, et la fiabilité est au moins aussi bonne.
Bien entendu, l'invention n'est pas limitée aux exemples décrits et on peut y apporter des variantes sans sortir de son cadre.
Ainsi, le logiciel de vérification pourrait être codé de diverses manières afin de rendre sa détection et son analyse difficiles et par là même dissuasives.
Au lieu de figurer "en clair", le numéro de série et les coordonnées de l'altération pourraient être codés de toute manière voulue, le logiciel de vérification étant bien entendu adapté à un décodage correspondant.
Si le deuxième emplacement, calculé d'après le numéro de série, s'avère correspondre au premier emplacement, plutôt que de changer le numéro de série, on peut prévoir que le logiciel protecteur est capable,utilisant une logique "de secours", de calculer un autre deuxième emplacement. Le logiciel de vérification, calculant le deuxième emplacement d'après la logique principale et constatant qu'il s'agit d'un emplacement altéré, soit que, s'il s'agit d'un original et non d'une copie, il y a lieu d'utiliser la mme logique de secours pour vérifie, si les coordonnées de l'altération se trouvent bien là où elles doivent être.
Une autre solution pour éviter que le deuxième emplacement ne corresponde au premier, consiste à déterminer d'abord le deuxième emplacement à l'aide du numéro de série, puis à effectuer le marquage toujours de manière essentiellement aléatoire, mais en évitant qu'il affecte le deuxième emplacement, calculé au préalable.
Un numéro de série pourrait être affecté à la fois au disque souple altéré et au logiciel de vérification de manière qu'à un logiciel de vérification déterminé corresponde un seul disque souple altéré. Par exemple, les logiciels de vérification peuvent contenir chacun un élément logique qui leur est caractéristique et qui ne leur permet de trouver l'altération que sur un support d'informations (disque souple) respectif de façon que chaque logiciel ne reconnaisse comme original qu'un seul disque souple qui lui est associé de façon univoque.
Un tel élément logique peut par exemple consister en l'adresse de l'un des emplacements, par exemple celle du premier emplacement, auquel cas l'écriture des coordonnées du premier emplacement en un deuxième emplacement du support devient inutile.
Claims (11)
1. Procédé pour marquer de manière difficilement imitable un support d'informations logiques, tel qu'un disque magnétique souple (1) pour ordinateur, en vue de ne permettre l'exécution d'un programme d'application qu'en présence d'un support convenablement marqué, procédé dans lequel on altère un premier emplacement (10) du support (1) d'une manière qui empêche l'écriture ultérieure d'informations au premier emplacement (10), caractérisé en ce qu'après avoir pratiqué l'altération on détermine les coordonnées (C) de l'altération (2) sur le support (1), et on écrit sur le support (1), en un deuxième emplacement (20), prédéterminé, différent du premier emplacement (10), des informations indicatives de ces coordonnées (C)
2.Procédé selon la revendication 1, caractérisé en ce qu'en un troisième emplacement prédéterminé (30) différent du premier (10) et du deuxième emplacement (20), on écrit sur le support (1) des informations (S) relatives aux coordonnées (N) du deuxième emplacement (20).
3. Procédé selon la revendication 1 ou 2, caractérisé en ce que, avant d'écrire les coordonnées (C) de l'altération (2) au deuxième emplacement (20), on fournit à un ordinateur (4) une information (S) choisie parmi une liste prédéterminée, et on fait calculer par l'ordinateur (4) les coordonnées (N) du deuxième emplacement (20) au moyen d'un logiciel utilisant ladite information arbitraire (S) comme donnée.
4. Procédé pour marquer une série de supports (1) selon la revendication 2, caractérisé en ce qu'on choisit le même troisième emplacement (30) sur chacun des supports (1).
5. Procédé pour protéger un programme d'application contre une duplication illégitime, dans lequel on associe ledit programme d'une part à un support magnétique, tel qu'un disque souple (1) que l'on a marqué, notamment selon l'une des revendications 1 à 4, par une altération (2) à un premier emplacement (10) et d'autre part à un logiciel de vérification adapté à vérifier que le support (1) présente une altération (2) au premier emplacement (10) et à n'autoriser l'exécution du programme d'application qu'en cas de résultat positif de cette vérification, caractérisé en ce qu'après le marquage on détermine les coordonnées (C) de l'altération (2) sur le support (1), et, seulement à ce stade, on écrit sur le support (1), en un deuxième emplacement (20), prédéterminé, différent de l'emplacement (10) de l'altération (2), et/ou on intègre au logiciel de vérification,des informations indicatives de ces coordonnées (C), le logiciel de vérification étant conçu pour déterminer ltemplacement (10) de l'altération (2) d'après les informations précitées.
6. Combinaison d'un programme d'application et d'un support magnétique tel qu'un disque souple (1), combinaison obtenue notamment par le procédé selon la revendication 5, dans laquelle le disque souple (1) comporte en un premier emplacement (10) une altération (2) qui empêche l'écriture d'informations audit premier emplacement, et le programme d'application est associé à un programme de vérification adapté à vérifier la présence d'une altération (2) audit premier emplacement (10) et à n'autoriser l'exécution du programme d'application qu'en cas de résultat positif de cette vérification, caractérisée en ce que le support magnétique (1) porte en outre en un second emplacement (20), distinct du premier (10), des informations relatives à des coordonnées (C) du premier emplacement (10) sur le support (1), et en ce que le programme de vérification est adapté à tenir compte de ces informations pour déterminer les coordonnées (C) du premier emplacement (10) pour y vérifier ensuite la présence d'une altération (2).
7. Combinaison selon la revendication 6, caractérisée en ce que le support (1) comporte des informations logiques (S) en un troisième emplacement (30), distinct du premier (10) et du deuxième emplacement (20), et en ce que le programme de vérification est adapté à rechercher ces informations logiques (S) en des coordonnées invariables du support, correspondant au troisième emplacement (30), et à tenir compte de ces informations pour déterminer des coordonnées (N) du deuxième emplacement (20) et lire à cet emplacement les informations relatives aux coordonnées (C) de l'altération (2).
8. Série de combinaisons selon l'une des revendications 6 ou 7, caractérisée en ce que le programme de vérification de chaque combinaison comprend un élément logique spécifique ne lui permettant de reconnaitre comme authentique qu'un disque souple faisant partie de la même combinaison.
9. Procédé pour déterminer si un support magnétique tel qu'un disque souple (1), est un original convenablement marqué, notamment suivant un procédé selon l'une des revendications 1 à 5, ou une copie, procédé dans lequel on autorise l'exécution d'un programme d'application si on a détecté,en un premier emplacement (10), la présence d'une altération (2) non modifiable par écriture d'informations logiques, caractérisé en ce qu'on recherche d'abord en au moins un deuxième emplacement prédéterminé (20) du support (1) des informations à partir desquelles on détermine des coordonnées (C) du premier emplacement (10) après quoi, si lesdites informations sont recueillies et si elles sont cohérentes, on se reporte au premier emplacement (10) d'après les coordonnées (C) ainsi déterminées et on y recherche la présence d'une altération (2).
10. Procédé selon la revendication 9, caractérisé en ce que pour rechercher la présence d'une altération (2), on commande l'écriture d'informations logiques dans un domaine incluant le premier emplacement (10), on détecte si lesdites informations logiques ont été fidèlement écrites, et on autorise, dans le cas contraire, l'exécution du programme d'application.
11. Procédé selon l'une des revendications 9 ou 10, caractérisé en ce qu'on recherche en un troisième emplacement prédéterminé (30) du support (1), des informations (S) à partir desquelles, si elles existent et sont cohérentes, on détermine des coordonnées (N) du deuxième emplacement (20).
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR8616898A FR2607953A1 (fr) | 1986-12-03 | 1986-12-03 | Procedes de marquage et de reconnaissance d'un support de logiciel, pour le proteger de la copie illegitime, et combinaison d'un logiciel et d'un tel support |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR8616898A FR2607953A1 (fr) | 1986-12-03 | 1986-12-03 | Procedes de marquage et de reconnaissance d'un support de logiciel, pour le proteger de la copie illegitime, et combinaison d'un logiciel et d'un tel support |
Publications (1)
Publication Number | Publication Date |
---|---|
FR2607953A1 true FR2607953A1 (fr) | 1988-06-10 |
Family
ID=9341507
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR8616898A Pending FR2607953A1 (fr) | 1986-12-03 | 1986-12-03 | Procedes de marquage et de reconnaissance d'un support de logiciel, pour le proteger de la copie illegitime, et combinaison d'un logiciel et d'un tel support |
Country Status (1)
Country | Link |
---|---|
FR (1) | FR2607953A1 (fr) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2640794A1 (fr) * | 1988-12-20 | 1990-06-22 | Dollar 2 | Procede de controle d'acces a une information ou a une zone controlee, clef d'acces pour la mise en oeuvre du procede et procede de fabrication de cette clef |
EP0413350A2 (fr) * | 1989-08-18 | 1991-02-20 | Kabushiki Kaisha Toshiba | Appareil pour la prévention de reproductions illégales |
WO2004112016A1 (fr) * | 2003-06-16 | 2004-12-23 | Yasser Medkouri | Procede de protection contre la reproduction de cd-rom et de logiciels sur cd-rom |
US7721338B2 (en) | 2004-02-19 | 2010-05-18 | Macrovision Corporation | Defeat of the copy protection of optical discs |
US8059937B2 (en) | 2004-02-19 | 2011-11-15 | Rovi Solutions Corporation | Relating to the copy protection of optical discs |
-
1986
- 1986-12-03 FR FR8616898A patent/FR2607953A1/fr active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2640794A1 (fr) * | 1988-12-20 | 1990-06-22 | Dollar 2 | Procede de controle d'acces a une information ou a une zone controlee, clef d'acces pour la mise en oeuvre du procede et procede de fabrication de cette clef |
EP0413350A2 (fr) * | 1989-08-18 | 1991-02-20 | Kabushiki Kaisha Toshiba | Appareil pour la prévention de reproductions illégales |
EP0413350A3 (en) * | 1989-08-18 | 1992-02-19 | Kabushiki Kaisha Toshiba | Illegal copy prevention apparatus |
US5295187A (en) * | 1989-08-18 | 1994-03-15 | Kabushiki Kaisha Toshiba | Illegal copy prevention apparatus |
WO2004112016A1 (fr) * | 2003-06-16 | 2004-12-23 | Yasser Medkouri | Procede de protection contre la reproduction de cd-rom et de logiciels sur cd-rom |
US7721338B2 (en) | 2004-02-19 | 2010-05-18 | Macrovision Corporation | Defeat of the copy protection of optical discs |
US8059937B2 (en) | 2004-02-19 | 2011-11-15 | Rovi Solutions Corporation | Relating to the copy protection of optical discs |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7944806B2 (en) | Method for modifying optical path on optical recording medium having distortion regions | |
US7660415B2 (en) | Method and apparatus for controlling access to storage media | |
US7486790B1 (en) | Method and apparatus for controlling access to storage media | |
FR2820843A1 (fr) | Systeme de protection contre la copie d'informations pour la creation d'un disque optique protege et procede de protection correspondant | |
US20050050343A1 (en) | Storage media access control method and system | |
EP1259959B1 (fr) | Disque optique protege contre la copie et procede de protection pour un tel disque | |
AU2001297777A1 (en) | Systems and methods for optical media modification | |
FR2769119A1 (fr) | Disque d'enregistrement anti-piratage, procede de lecture et tete d'enregistrement | |
US20020146121A1 (en) | Method and system for protecting data | |
FR2607953A1 (fr) | Procedes de marquage et de reconnaissance d'un support de logiciel, pour le proteger de la copie illegitime, et combinaison d'un logiciel et d'un tel support | |
US7643393B2 (en) | Systems and methods for optical media modification | |
FR2640794A1 (fr) | Procede de controle d'acces a une information ou a une zone controlee, clef d'acces pour la mise en oeuvre du procede et procede de fabrication de cette clef | |
US6360325B1 (en) | Method for retarding the duplication of a data-storage device | |
FR2787232A1 (fr) | Disque d'enregistrement optique anti-piratage et procede de lecture d'un tel disque | |
CN1332378C (zh) | 驱动器测试方法和驱动器测试程序 | |
CA2515191C (fr) | Systemes et procedes de modification de supports optiques | |
WO2007042733A1 (fr) | Disque optique avec dispositif de controle rfid operationnel durant la lecture du disque | |
AU2008201797A1 (en) | Systems and methods for optical medial modification |