FR2622319A1 - Support de logiciel a protection contre la copie et dispositif de mise en oeuvre d'un logiciel a protection contre la copie - Google Patents

Support de logiciel a protection contre la copie et dispositif de mise en oeuvre d'un logiciel a protection contre la copie Download PDF

Info

Publication number
FR2622319A1
FR2622319A1 FR8714861A FR8714861A FR2622319A1 FR 2622319 A1 FR2622319 A1 FR 2622319A1 FR 8714861 A FR8714861 A FR 8714861A FR 8714861 A FR8714861 A FR 8714861A FR 2622319 A1 FR2622319 A1 FR 2622319A1
Authority
FR
France
Prior art keywords
software
storage
read
execution
support
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
Application number
FR8714861A
Other languages
English (en)
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.)
LASNIER VICENTA
NAJAND ABTINE
Original Assignee
LASNIER VICENTA
NAJAND ABTINE
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 LASNIER VICENTA, NAJAND ABTINE filed Critical LASNIER VICENTA
Priority to FR8714861A priority Critical patent/FR2622319A1/fr
Publication of FR2622319A1 publication Critical patent/FR2622319A1/fr
Pending legal-status Critical Current

Links

Classifications

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

Landscapes

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

Abstract

Selon l'invention on prévoit tant pour le support de logiciel que pour le dispositif de mise en oeuvre un premier organe de stockage de logiciel 1, 7 pouvant être lu sur lequel est stockée une première partie d'un logiciel et un second organe de stockage de logiciel 2 ne pouvant pas être lu sur lequel est stockée et exécutée une seconde partie de logiciel, ce second organe de stockage portant des moyens de connexion 4 à une borne d'entrée-sortie 5 d'un ordinateur 6.

Description

La présente invention concerne un support de logiciel à protection contre la copie et un dispositif de mise en oeuvre d'un logiciel à protection contre la copie.
On sait que la protection des logiciels contre la copie par desmoyenslégaux, est extrêmement difficile et on a donc recherché à protéger les logiciels par des moyens pratiques ne nécessitant pas un recours à la voie légale.
La première protection a été# obtenue par une écriture de données spéciales sur le support magnétique contenant
Le logiciel å protéger. Ces données spéciales modifient ce que l'on appelle le formatage du support magnétique. Les moyens d'exploitation ne sont généralement pas capables de reproduire spontanément un formatage particulier et, tant que ce formatage n'a pas été introduit dans les moyens d'exploitation, il n'est pas possible d'effectuer une copie du logiciel ainsi protégé. Cependant, les pirates ont rapidement mis au point des logiciels spécifiques visant pnécisément à analyser le formatage du support magnétique du logiciel protégé et à le reproduire sur un support magnétique vierge qui devient alors apte à recevoir une copie.Un autre procédé mis au point par les pirates consiste, au moyen d'outils logiciels divers, à éliminer totalement du logiciel protégé les sous-programmes qui vérifie la présence du formatage spécial sur le support magnétique, ce qui permet alors de recopier indéfiniment le logiciel concerné sans outil de copie spécifique.
Il existe également des systèmes de protection plus sophistiqués faisant appel à une clé électronique, c'est-àdire un petit circuit électronique qui est branché sur une borne d'entrée-sortie des moyens d'exploitation pour réagir à un signal venant du logiciel considéré et envoyer un signal en retour dont la présence est détectée au niveau du logiciel considéré. Le support magnétique du logiciel ne contient alors aucune protection particulière et il est donc possible pour un utilisateur habituel d'effectuer tout à fait légalement et aisément des copies de sauvegarde de son logiciel, copies qui s'avèrent souvent nécessaires étant donné la durée de vie limi tée d'un support magnétique et sa relative fragilité. Cependant la clé électronique ne participe pas au déroulement du logiciel.Lors de l'exploitation du logiciel, une vérîficatio est seulement effectuée, au moyen de sous-programmes insérés dans le logiciel, que la clé est bien présente, c'est-à-dire qu'elle renvoie bien les valeurs précises attendues lorsqu'el est sollicitée. Les pirates sont rapidement en mesure de reco naître dans le logiciel les sous-programmes de test associé à la clé et- ils sont donc en mesure soit de simuler la présence d'une clé en entrant dans l'ordinateur les valeurs atte par les sous-programmes de -test, soit d'éliminer les sousprogrammes tests du logiciel, permettant ainsi l'utilisation du logiciel modifié à partir de n'importe quelle copie. Ce mox de protection ne s'avère donc finalement pas satisfaisant.
Pour une protection absolue, on pourrait certes envisager de supprimer l'ex i st en ce des logiciels sur des supports reproductibles et de ne commercialiser ces logiciels que sur des supports non lisibles, le logiciel étant par exemple complètement intégré à une carte électronique multicouches réalisée au moyen de masques.Indépendamment du coût de ces réalisations qui serait incompatible avec les impératif économiques, un logiciel comportant un très grand nombre d'instructions ne pourrait être entièrement contenu que sur un carte électronique de très grande dimension incompatible avec les exigences de faible encombrement imposées à l'heure actuelle
Un but de la présente invention est de proposer un support de logiciel et un dispositif de mise en oeuvre d'un logiciel assurant en pratique une inviolabilité totale du logi ciel sans augmenter de façon déraisonnable le coût et l'encombrement des supports ou des dispositifs existants.
En vue de la réalisation de ce but, on prévoit se l'invention un support de logiciel comportant un premier organ de logiciel pouvant être lu sur lequel est stockée une première partie d'un logiciel, et un second organe de stockage et d'exé- cution de logiciel ne pouvant pas être lu dans lequel est stock et exécutée une seconde partie du logiciel, ce second organe de stockage comportant des moyens de connection à une borne d'entrée-sortie d'un ordinateur.
Ainsi, la lecture de la partie de logiciel contenue dans le premier organe de stockage ne permet pas de faire fonctionner le logiciel et sa lecture ne donne aucune indication de la partie de programme contenue sur le second organe de stockage et d'exécution du logiciel de sorte qu'il n'est plus possible d##e simuler la présence de ce second organe, cette présence n'étant plus seulement vérifiée par un sous-programme de test comme dans les dispositifs existants mais absolument indispensable pour un déroulement de L'exploitation du logiciel.
Selon une version avantageuse de l'invention, le second organe de stockage et d'exécution comporte un micro-contrleur muni d'une mémoire morte équipée d'un bit de protection contre la copie, programmable et effaçable en même temps que la mémoire. Ainsi, il est possible pour un concepteur de logiciels d'utiliser le même support successivement pour différents logiciels tout en assurant à chaque fois l'inviolabilité du logiciel en place sur le support
Selon un autre aspect de l'invention, on prévoit un dispositif de mise en oeuvre d'un logiciel comprenant un premier organe de stockage de logiciel pouvant être lu associé à des moyens d'exploitation de logiciels comportant au moins une borne d'entrée-sortie, le dispositif comportant en outre au moins un second organe de stockage et d'exécution de logiciel ne pouvant pas être lu relié à l'une des bornes d'entrée-sortie des moyens d'exploitation. Ainsi, les moyens d'exploitation ont accès tant à la partie lisible qu'aux résultats de la partie non lisible du logiciel et peuvent assurer un déroulement satisfaisant de celui-ci.
Selon une version avantageuse de cet aspect de l'invention, le dispositif comporte un support pour une pluralité de seconds organes de stockage et d'exécution de logiciel, ce support étant relié à une borne d'entrée-sortie unique des moyens d'exploitation. Ainsi, on peut utiliser simultanément plusieurs logiciels chacun rendu inviolable avec les moyens de Itin vent ion.
D'autres caractéristiques et avantages de l'invention apparaitront encore à la lumière de La description qui suit d'un mode de réalisation particulier de l'invention en liaison avec la figure unique ci-jointe qui illustre de façon schématique un support de logiciel et un dispositif de mise en oeuvre d'un logiciel selon l'invention protégés contre la copie.
En référence à la figure, le support de logiciel selon l'invention comporte un premier organe de stockage de logiciel pouvant être lu, par exemple une disquette magnétiqu 1 sur laquelle est stockée une première partie d'un logiciel, et un second organe de stockage et d'exécution de logiciel ne pouvant pas être lu. Par organe de stockage et d'exécution ne pouvant pas être lu, on entend un organe qui peut exécuter la séquence d'instructions qu'il contient mais dont cette séquen d'instructions ne peut être lue de l'extérieur et ne peut don être dupliquée quelque soit le moyen d'investigation utilisé cet organe est par exemple une carte électronique 2 portant ui circuit électronique 3 relié à des contacts 4 permettant d'assure une connection avec une borne d'entrée-sortie 5 d'un ordinate généralement désigné en 6.
Le circuit électronique 3 comporte depréférenceunmicrtcontm muni d'une mémoire morte équipée d'un bit de protection contre la ccpie,effaçable en même temps que la mémoire. Un tel circuit est actuellement commercialisé en particulier par la société INTEL sous la référence 8751H. Il s'agit d'un circuit intégré à quarante broches qui contient un micro-processeur à huit bits, une zon de mémoire morte à écriture multiple effaçable aux rayons ult violetsde quatre kilo -octets et une zone de mémoire à accès aléatoire de cent vingt-huit -octets. La seconde partie de Iog ciel peut ainsi être introduite dans la zone de quatre kilo octets au moyen du compilateur correspondant.
Le dispositif de mise en oeuvre selon I' inven- tion est formé par l'ordinateur 6 dont le premier organe de stockage de logiciel pouvant être lu est réalisé par une mémoire interne à l'ordinateur 6, par exemple un disque magnétique 7 associé d'une façon connue en soi à des moyens d'exploitation 8 également reliés aux bornes d'entrée-sortie 5.
Le dispositif de mise en oeuvre comporte également de façonhabituelle un clavier 9, un écran 10 et une imprimante Il reliés aux moyens d'exploitation 8 par des câbles de liaison.
Selon le mode de réalisation préféré illustré le dispositif comporte également un support 12 pour une pluralité de cartes électroniques 2, ce support étant relié à une borne d'entréesortie 5 unique des moyens d'exploitation 8.
Lors de l'utilisation, la première partie de logiciel est chargée dans les moyens d'exploitation 8 par une lecture directe de la disquette 1, du disque dur 7 ou de tout autre premier organe de stockage de logiciel pouvant être lu.
Simultanément le second organe de stockage et d'exécution de logiciel 2 est relié à la borne d'entrée-sortie de l'ordi- nateur soit directement soit par l'intermédiaire du support multi-cartes 12. Le dispositif de mise en oeuvre fonctionne alors correctement en utilisant les instructions contenues sur le premier organe de stockage, tandis que l'organe de stockage et d' exé- cution reçoit des données dues au traitement de ces instructions par l'intermédiaire de la borne d'entrée-sortie, données sur lesquelles il effectue des opérations selon la partie du logiciel qu'il contient. Les résultats de ces opérations sont transmis à l'ordinateur par la borne d'entrée-sortie et sont utilisés par la partie du logiciel chargé dans l'ordinateur àpartirdu premier organe de stockage.Les deux parties du logiciel se complètent mutuellement. On remarquera à ceproposquelesdynees de départ traitées par le logiciel sont constamment changeantes en fonction de l'utilisation et que le second organe de stockage et d'exécution ne transmet pas des valeurs fixes qui pourraient être simulées comme dans le cas du dispositif antérieur mais des résultats d'un traitement par la partie de logiciel contenue dans le second organe de stockage. Les données traitées retournées à l'ordinateur ne pourraient donc être reconstituées qu'en concevant à nouveau les parties de logiciel contenues dans le second organe de stockage. Ceci est bien entendu exactement contraire au but des pirates qui est de tenter de profiter de la conception réalisée sans avoir à fournir l'effort intellectuel correspondant.On placera donc dans le second organe de stockage et d'exécution des parties de logiciel comportant un faible nom d'instructions mais de structure complexe afin d'augmenter la difficulté de reconstitution des parties manquantes.
Bien entendu, l'invention n'est pas limitée au mode de réalisation décrit et on peut y apporter des variante de réalisation sans sortir du cadre de l'invention En particulier, bien que l'invention ait été décrite de préférence avec un second organe de stockage et d'exécution comportant u micro-cqntroleur muni d'une mémoire morte, on pourra égalemen utiliser une carte électronique réalisant une partie d'un log ciel sous forme d'un circuit câblé ou bien d'un circuit multi couches obtenu à l'aide de masque-s, cette dernière réalisatio étant réservée, compte tenu de son coût à des logiciels de pr élevé et de diffusion importante.

Claims (5)

REVENDICATIONS
1. Support de logiciel à protection contre la copie, caractérisé en ce qu il comporte un premier organe de stockage de logiciel (1) pouvant être lu sur lequel est stockée une première partie d'un logiciel et un second organe de stockage et d'exécution de logiciel (2) ne pouvant pas être lu dans lequel est stockée et exécutée une seconde partie du logiciel, ce second organe de stockage et d'exécution (2) comportant des moyens de connexion (4) à une borne d'entrée-sortie (5) d'un ordinateur (6).
2. Support de logiciel à protection contre la copie selon la revendication 1, caractérisé en ce que le second organe de stockage et dtexécution (2) comporte un microcontroleur muni d'une mémoire morte (3) équipée d'un bit de protection contre la copie,programmable et effaçable en même temps que la mémoire.
3. Dispositif de mise en oeuvre d'un logiciel à protection contre la copie comprenant un premier organe de stockage de logiciel (7) pouvant être lu associé à des moyens d'exploitation de logiciel (8) comportant au moins une borne d'entrée-sortie (5) caractérisé en ce qu'il comporte au moins un second organe de stockage et d'exécution -de logiciel (2) ne pouvant pas être lu relié à l'une des bornes d'entrée-sortie (5) des moyens d'exploitation (g)
4. Dispositif de mise en oeuvre d'un logiciel à protection contre la copie selon la revendication 3, caractéri-sé en ce que le second organe de stockage et d'exécution (2) comporte un micro-controleur muni d'une mémoire morte équipée d'un bit de protection contre la copie, programmable et effaçable en même temps que la mémoire.
5. Dispositif de mise en oeuvre d'un logiciel selon la revendication 3 ou la revendication 4, caractérisé en ce qu'il comporte un support (12) pour une pluralité de seconds organes de stockage de logiciel (2), ce support étant relié à une borne d'entrée-sortie unique (5) des moyens d'exploitation (8).
FR8714861A 1987-10-27 1987-10-27 Support de logiciel a protection contre la copie et dispositif de mise en oeuvre d'un logiciel a protection contre la copie Pending FR2622319A1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR8714861A FR2622319A1 (fr) 1987-10-27 1987-10-27 Support de logiciel a protection contre la copie et dispositif de mise en oeuvre d'un logiciel a protection contre la copie

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR8714861A FR2622319A1 (fr) 1987-10-27 1987-10-27 Support de logiciel a protection contre la copie et dispositif de mise en oeuvre d'un logiciel a protection contre la copie

Publications (1)

Publication Number Publication Date
FR2622319A1 true FR2622319A1 (fr) 1989-04-28

Family

ID=9356215

Family Applications (1)

Application Number Title Priority Date Filing Date
FR8714861A Pending FR2622319A1 (fr) 1987-10-27 1987-10-27 Support de logiciel a protection contre la copie et dispositif de mise en oeuvre d'un logiciel a protection contre la copie

Country Status (1)

Country Link
FR (1) FR2622319A1 (fr)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2646940A1 (fr) * 1989-05-12 1990-11-16 Guinet Jacques Dispositif de raccordement a un micro-ordinateur des clefs de protection de logiciels
FR2647937A2 (fr) * 1988-11-30 1990-12-07 Vernois Goulven Disquette perfectionnee incorporant des circuits integres et des connecteurs, ou amenagee pour recevoir des circuits integres et des connecteurs, et dispositifs de liaison avec un ordinateur
FR2657705A1 (fr) * 1990-01-30 1991-08-02 Microphar Dispositif materiel identifiable par un logiciel utilisant des moyens, standards ou non, de communication.

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1985002696A1 (fr) * 1983-12-06 1985-06-20 Alexander Battison Gardiner Systeme d'ordinateur
EP0150149A2 (fr) * 1984-01-20 1985-07-31 Commissariat A L'energie Atomique Sonde de mesure du taux de vide local d'une émulsion diphasique
EP0151049A2 (fr) * 1984-02-02 1985-08-07 National Research Development Corporation Micro-ordinateur à protection de logiciel
EP0175557A1 (fr) * 1984-09-20 1986-03-26 Kenneth John Fifield Méthode et dispositif de traitement
EP0201628A1 (fr) * 1985-05-14 1986-11-20 Cadam Systems Company, Inc Mécanisme de clavier programmable

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1985002696A1 (fr) * 1983-12-06 1985-06-20 Alexander Battison Gardiner Systeme d'ordinateur
EP0150149A2 (fr) * 1984-01-20 1985-07-31 Commissariat A L'energie Atomique Sonde de mesure du taux de vide local d'une émulsion diphasique
EP0151049A2 (fr) * 1984-02-02 1985-08-07 National Research Development Corporation Micro-ordinateur à protection de logiciel
EP0175557A1 (fr) * 1984-09-20 1986-03-26 Kenneth John Fifield Méthode et dispositif de traitement
EP0201628A1 (fr) * 1985-05-14 1986-11-20 Cadam Systems Company, Inc Mécanisme de clavier programmable

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
IEEE ELECTRO, vol. 8, 1983, suppl., pages 6/3,1-3, New York, US; A.J.TOTH et al.: "Secure EPROMS - A microcontroller offering of proprietary software protection" *
MINI-MICRO CONFERENCE RECORD, 3-11 novembre 1983, San Francisco, pages 5/1,1-11; B.HUSTON: "New ICs help prevent software theft" *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2647937A2 (fr) * 1988-11-30 1990-12-07 Vernois Goulven Disquette perfectionnee incorporant des circuits integres et des connecteurs, ou amenagee pour recevoir des circuits integres et des connecteurs, et dispositifs de liaison avec un ordinateur
FR2646940A1 (fr) * 1989-05-12 1990-11-16 Guinet Jacques Dispositif de raccordement a un micro-ordinateur des clefs de protection de logiciels
FR2657705A1 (fr) * 1990-01-30 1991-08-02 Microphar Dispositif materiel identifiable par un logiciel utilisant des moyens, standards ou non, de communication.
EP0440545A1 (fr) * 1990-01-30 1991-08-07 MICROPHAR Société anonyme dite Dispositif matÀ©riel identifiable par un logiciel utilisant des moyens, standard ou non, de communication

Similar Documents

Publication Publication Date Title
EP0096599B1 (fr) Procédé pour authentifier ou certifier au moins une information contenue dans une mémoire d'un support électronique, notamment amovible et portatif tel qu'une carte
CA2034002C (fr) Procede pour verifier l'integrite d'un logiciel ou de donnees, et systeme pour la mise en oeuvre de ce procede
FR2609175A1 (fr) Carte a circuits integres et systeme pour verifier le bon fonctionnement de la carte
FR2977694A1 (fr) Microprocesseur protege contre un debordement de pile
FR2612316A1 (fr) Carte a circuits integres ayant une capacite de verification d'erreur interne
FR2686171A1 (fr) Carte a memoire de masse pour microordinateur avec facilites d'execution de programmes internes.
EP1712976A1 (fr) Protection de données d'une mémoire associée à un microprocesseur
FR2553541A1 (fr) Dispositif et procede pour le stockage rapide et stable d'informations
EP1086415B1 (fr) Systeme de protection d'un logiciel
EP0784257A1 (fr) Système de protection de logiciel pour ordinateur écrit en langage interprété
FR2632092A1 (fr) Circuit de conditionnement d'ecriture d'antememoire retarde pour un systeme de microcalculateur a bus double comprenant une unite 80386 et une unite 82385
FR2622319A1 (fr) Support de logiciel a protection contre la copie et dispositif de mise en oeuvre d'un logiciel a protection contre la copie
FR2682783A1 (fr) Maintien de coherence de caches.
EP0621536B1 (fr) Outil de mise au point d'un système d'exploitation
FR2683061A1 (fr) Systeme de segmentation de memoire.
FR2595474A1 (fr) Dispositif de controle et de verification du fonctionnement de blocs internes a un circuit integre
EP0393050B1 (fr) Dispositif de protection des zones memoire d'un systeme electronique a microprocesseur
EP0314530A1 (fr) Dispositif à mémoire de controle de l'utilisation d'un logiciel du type clé
FR2533736A1 (fr) Unite de gestion de memoire pour un ordinateur numerique
EP0635789A1 (fr) Circuit intégré du type microcontroleur à mémoire morte contenant un programme générique, notamment de test, station de test et procédé de fabrication correspondants
EP0426531B1 (fr) Système de test d'un microprocesseur
EP0636984B1 (fr) Procédé et dispositif de contrÔle des données dans un calculateur
EP0733977A1 (fr) Système informatique avec mémoires hiérarchisées
FR2491233A1 (fr) Systeme de commande de microprogramme
EP0630498B1 (fr) Dispositif d'antememoire