FR2634917A1 - Procede et dispositif de protection d'un logiciel, en particulier contre les copies non autorisees - Google Patents
Procede et dispositif de protection d'un logiciel, en particulier contre les copies non autorisees Download PDFInfo
- Publication number
- FR2634917A1 FR2634917A1 FR8810360A FR8810360A FR2634917A1 FR 2634917 A1 FR2634917 A1 FR 2634917A1 FR 8810360 A FR8810360 A FR 8810360A FR 8810360 A FR8810360 A FR 8810360A FR 2634917 A1 FR2634917 A1 FR 2634917A1
- Authority
- FR
- France
- Prior art keywords
- microprocessor
- software
- memory
- link
- connection
- 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.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 title claims abstract description 13
- 230000015654 memory Effects 0.000 claims abstract description 46
- 230000006870 function Effects 0.000 claims abstract description 21
- 239000000463 material Substances 0.000 claims description 6
- 239000011347 resin Substances 0.000 claims description 5
- 229920005989 resin Polymers 0.000 claims description 5
- 238000012545 processing Methods 0.000 claims description 4
- 238000004891 communication Methods 0.000 abstract description 7
- 241001233242 Lontra Species 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000007620 mathematical function Methods 0.000 description 1
- 238000002844 melting Methods 0.000 description 1
- 230000008018 melting Effects 0.000 description 1
- 238000006116 polymerization reaction Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 229920002994 synthetic fiber Polymers 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- 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/12—Protecting executable software
- G06F21/121—Restricting unauthorised execution of programs
- G06F21/123—Restricting unauthorised execution of programs by using dedicated hardware, e.g. dongles, smart cards, cryptographic processors, global positioning systems [GPS] devices
-
- 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/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/86—Secure or tamper-resistant housings
-
- 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/2143—Clearing memory, e.g. to prevent the data from being stolen
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Technology Law (AREA)
- Multimedia (AREA)
- Remote Sensing (AREA)
- Radar, Positioning & Navigation (AREA)
- Storage Device Security (AREA)
Abstract
Procédé et dispositif de protection d'un logiciel contre les copies non autorisées, consistant à enregistrer dans au moins une mémoire 16, une partie essentielle du logiciel, correspondant à ses fonctions complexes et/ou originales, à relier cette mémoire à au moins un microprocesseur 14, et à enfermer la mémoire et le microprocesseur dans un boîtier 12 de type inviolable comprenant des moyens 22 de liaison à un microprocesseur 26 d'un système 24 d'utilisation du logiciel.
Description
PROCEDE ET DISPOSITIF DE PROTECTION D'UN LOGICIEL, EN
PARTICULIER COUTRE LES COPIES JON AUTORISES
L'invention concerne un procédé et un dispositif de protection d'un logiciel, en particulier contre les copies non autorisées.
PARTICULIER COUTRE LES COPIES JON AUTORISES
L'invention concerne un procédé et un dispositif de protection d'un logiciel, en particulier contre les copies non autorisées.
On connait l'importance que revit cette question pour les aoçiétée de services en informatique. Quels que soient les moyens de protection actuellerent utilisés, il est toujours possible h un spécialiste, s'il dispose de temps et de moyens suffisants, de parvenir & copier un logiciel enregistré sur un support quelconque (mémoire morte, disquette, etc) Les moyens les plus courants de protection des logiciels sont le codage ou cryptage, au moyen de clefs statiques, de clefs dynamiques et de fonctions ou d'algorithmes mathématiques plus ou moins sophistiqués.Le spécialiste qui parvient cependant à découvrir les clefs de codage ou a inverser les fonctions de codage, peut alors utiliser le logiciel à son profit, le reproduire en une pluralité. d'exemplaires, etc.
La présente invention repose sur le principe qu'un logiciel peut être protégé beaucoup plus efficacement lorsque ce sont, non ses fonctions, nais les résultats de ses fonctions qui sont accessibles
L'invention propose donc un procédé de protection d'un logiciel, en particulier contre les copies non autorisées, caractérisé on ce qu'il consiste à enregistrer au moins une partie. essentielle du logiciel dans au moins une mémoire reliée a un microprocesseur de traiteront de l'information, et à enfermer l'ensemble nicroprocesseur--6moire dans un boîtier de type inviolable, comprenant des moyens de connexion entre le microprocesseur précité et un licroprocesseur extérieur d'un systène d'utilisation du logiciel.
L'invention propose donc un procédé de protection d'un logiciel, en particulier contre les copies non autorisées, caractérisé on ce qu'il consiste à enregistrer au moins une partie. essentielle du logiciel dans au moins une mémoire reliée a un microprocesseur de traiteront de l'information, et à enfermer l'ensemble nicroprocesseur--6moire dans un boîtier de type inviolable, comprenant des moyens de connexion entre le microprocesseur précité et un licroprocesseur extérieur d'un systène d'utilisation du logiciel.
Selon l'invention, le logiciel & protéger est donc enregistré dans une mémoire connectée à un sicroprocesseur, et seule une connexion de microprocesseur & microprocesseur peut être réalisée. Dans ces conditions, il est impossible d'avoir accès au contenu du logiciel lui-meme.
Selon une autre caractéristique de l'invention, ce procédé consiste à relier le microprocesseur du boîtier au microprocesseur extérieur par une liaison série type RS232C ou bien par une liaison a mémoire partageable, ou bien par une liaison canal à canal.
De préférence, on enregistre dans la mémoire précitée uniquement la partie essentielle du logiciel s protéger, et on enregistre sur un support quelconque le reste du logiciel, correspondant à des fonctions simples et/ou banales telle que la gestion des entres/sorties.
Il importe peu en effet que les fonctions de gestion des entrées/sorties soient copiées ou non. Cela permet en outre d'enregistrer dans la mémoire du boitier un logiciel qui sera indépendant du système d'exploitation du microprocesseur extérieur et qui sera donc universel, le logiciel de communication avec le microprocesseur extérieur étant enregistré sur un support quelconque différent.
Selon un mode de réalisation préféré de l'invention, le procédé consiste encore à noyer la mémoire et le microprocesseur précités dans- un bloc ou une épaisseur de matière résistante telle qu'une résine, constituant ledit boîtier inviolable ou faisant partie de celui-ci.
L'invention propose également un dispositif de protection d'un logiciel, en particulier contre les copies non autorfsées, caractérisé en ce qu'il comprend
- au moins une mémoire dans laquelle est enregistrée au moins une partie essentielle du logiciel, correspondant par exemple & ses fonctions complexes ~trou originales,
- au moins un microprocesseur de traitement de l'information,
- des moyens de connexion entre le microprocesseur et la mémoire,
- et un boîtier de type inviolable, contenant la mémoire et le microprocesseur précités ainsi que leurs moyens de connexion, et comprenant des moyens de connexion de ce microprocesseur à un microprocesseur extérieur d'un système d'utilisation du logiciel.
- au moins une mémoire dans laquelle est enregistrée au moins une partie essentielle du logiciel, correspondant par exemple & ses fonctions complexes ~trou originales,
- au moins un microprocesseur de traitement de l'information,
- des moyens de connexion entre le microprocesseur et la mémoire,
- et un boîtier de type inviolable, contenant la mémoire et le microprocesseur précités ainsi que leurs moyens de connexion, et comprenant des moyens de connexion de ce microprocesseur à un microprocesseur extérieur d'un système d'utilisation du logiciel.
Un dispositif selon l'invention est extrêmement peu coûteux par rapport aux avantages qu'il présente. En effet, le prix d'un microprocesseur fabriqué en grande série est maintenant très faible, et son association s la mémoire dans laquelle est enregistré le logiciel n'augmentera pas de façon sensible le prix du logiciel.
Selon une autre caractéristique de l'invention, ce dispositif comprend également un support quelconque sur lequel a été enregistrée une autre partie du logiciel, correspondant en particulier à des fonctions simples ou banales telles que la gestion des entrées/sorties, ce support étant destiné a être associé au système d'utilisation du logiciel.
Ce support peut être une simple disquette, sur laquelle on a enregistré un logiciel de communication adapté au système d'exploitation du microprocesseur extérieur.
Selon une autre caractéristique de l'invention, les moyens de connexion entre les microprocesseurs comprennent de préférence une liaison canal & canal, qui comporte, pour chaque microprocesseur, un registre ISR directement implante sur un bus de données du microprocesseur associé, et une bascule SR dont des entrées sont reliées à des circuits décodeurs d'adresses de lecture et d'écriture.
Ce type de liaison est simple à réaliser > peu coûteux, et très perf ornant.
Dans la description qui suit, faite & titre d'exemple, on se référera aux dessins annexés, dans lequels
- la figure 1 représente schématiquement un dispositif selon l > invention et sa connexion à un système d'utilisa tion du logiciel
- la figure 2 représente schématiquement à titre d'exemple, les caractéristiques essentielles d'une liaison canal a canal utilisée dans le cadre de l'invention.
- la figure 1 représente schématiquement un dispositif selon l > invention et sa connexion à un système d'utilisa tion du logiciel
- la figure 2 représente schématiquement à titre d'exemple, les caractéristiques essentielles d'une liaison canal a canal utilisée dans le cadre de l'invention.
En figure 1, le dispositif selon l'invention est désigné généralement par la référence 10 et comprend un boitier 12 de type inviolable, qui contient au moins un microprocesseur 14 de traitement de l'information et au moins une mémoire 16 dans laquelle a été enregistrée la partie essentielle d'un logiciel & protéger. Par "partie essentielle", on entend toutes ses fonctions complexes et/ou originales, å l'exception éventuellement des fonctions banales telles que les fonctions de gestion des entrée-=-/sorties.
Dans l'exemple représenté, le boîtier 12 contient un autre microprocesseur 18 associé à une autre mémoire 20.
Les microprocesseurs 14 et 18 sont connectés l'un & l'autre. le microprocesseur 14 étant maître, le microprocesseur 18 étant esclave et travaillant sous contrôle du microprocesseur 14. Les mémoires 16 et 20 dans lesquelles sont enregistrées des logiciels, comprennent des mémoires mortes du type ROX, PROX, EPROX, etc, et des mémoires vives (RAX).
Le microprocesseur maître 14 du dispositif 10 selon l'invention est encore associé à des moyens 22 de liaison à un système 24 d'utilisation du logiciel.
Ce système 24 peut être un micro-ordinateur du type personnel ou professionnel, ou encore un système informatique spécialisé. Il comprend par exemple un microprocesseur 26 associé a une mémoire vive 28, une mémoire morte 30, et au moins une unité 32 d'entrée/sortie.
La partie du logiciel, qui n'est pas enregistrée dans la mémoire 16, ou dans les mémoires 16 et 20, et qui correspond par exemple à des fonctions de gestion des entrées/sorties, peut être enregistrée sur un support 34 tel qu'une disquette, l'unité 32 d'entrée-sortie du système 24 étant alors une unité de disquette.
En variante, les informations enregistrées sur la disquette 34 pourraient être enregistrées dans l'une ou l'autre des mémoires 16 et 20 du dispositif 10. Toutefois, celui-ci deviendrait alors adapté & un système d'exploitation particulier d'un micro-ordinateur alors que, lorsque les fonctions de gestion des entrées/sorties sont enregistrées sur un support indépendant tel que la disquette 34, le dispositif 10 est rendu indépendant du système d'exploitation du micro-ordinateur ou matériel analogue, avec lequel il est appelé à fonctionner.
Le boîtier 12 de type inviolable comprend ou est constitué par un bloc ou une couche d'une matière dure telle qu'une résine, dans laquelle sont noyés le ou les nicroprocesseurs 14, 18, la ou les mémoires 16, 20 et leurs connexions, ainsi qu'une partie des moyens de liaison 22.
La matière utilisée peut être une matière synthétique du type résine, polymérisable à froid ou & température peu levée, et qui après polymérisation, devient très résistante mécaniquement et possède un point de fusion élevé, de telle sorte que. toute tentative de destruction ou d'enlèvement de cette matière entraîne nécessairement la destruction de la ou des mémoires 16, 20.
On peut bien entendu utiliser tout autre moyen équivalent empêchant tout accès physique, électrique ou électronique à la ou aux mémoires 16 et 20, ainsi qu'a leurs connexions aux microprocesseurs 14, 18.
L'utilisation du dispositif selon l'invention découle tidenc- de ce qui précède
Il suffit, par les moyens de liaison 22 appropriés, de connecter le dispositif selon l'invention à un système 24 d'utilisation du logiciel. Eventuellement, la disquette 34, ou tout autre support approprié, est placée dans l'unité d'entrée/sortie 32 du système 24.
Il suffit, par les moyens de liaison 22 appropriés, de connecter le dispositif selon l'invention à un système 24 d'utilisation du logiciel. Eventuellement, la disquette 34, ou tout autre support approprié, est placée dans l'unité d'entrée/sortie 32 du système 24.
Le microprocesseur 26 du système 24 est alors relié au microprocesseur maître 14 du dispositif selon l'invention, et peut commander le déroulement du logiciel enregistré dans les mémoires 16, 20, ou de certaines pArties de ce logiciel, ou utiliser certaines fonctions de celui-ci'
Toutefois, comme il ne passe dans les moyens de liaison 22 que des ordres donnés par le microprocesseur 26 au microprocesseur 14, dans un sens, et des informations fournies par le microprocesseur 14 au microprocesseur 26 dans 1 entre sens, il est impossible i un spécialiste d'utiliser ces moyens de liaison 22 pour avoir un accès direct quelconque au logiciel enregistré dans les mémoires i6, 20.
Toutefois, comme il ne passe dans les moyens de liaison 22 que des ordres donnés par le microprocesseur 26 au microprocesseur 14, dans un sens, et des informations fournies par le microprocesseur 14 au microprocesseur 26 dans 1 entre sens, il est impossible i un spécialiste d'utiliser ces moyens de liaison 22 pour avoir un accès direct quelconque au logiciel enregistré dans les mémoires i6, 20.
La dimension d'un dispositif 10 selon l'invention peut être plus ou moins importante, en fonction de la taille requise en mémoire pour le stockage du - logiciel et l'exécution de celui-ci. Xême dans le cas de logiciels très complexes et très volumineux, la dimension du dispositif 10 ne devrait pas dépasser celle d'une disquette disponible actuellement dans le commerce.
Les moyens de liaison 22 mentionnés ci-dessus peuvent être de différents types, qui sont déJi connus de l'homme du métier
- soit une liaison série du type RS 232 C,
- soit une liaison du type & mémoire partageable,
- soit une liaison canal & canal d'entréetsortle parallèle.
- soit une liaison série du type RS 232 C,
- soit une liaison du type & mémoire partageable,
- soit une liaison canal & canal d'entréetsortle parallèle.
La liaison série RS 232 C est simple et très bien connue, et permet de relier deux microprocesseurs avec tout un ensemble de composants préconditionnés. Cependant, ce type de liaison n'est pas très intéressant sur le plan économique. Il n'est pas non plus très performant et il nécessite une alimentation en plus et moins 12 volts. Il n'est en général utilisé dans la pratique que pour relier des microprocesseurs ou des unités centrales distantes de plus de deux métros environ.
La liaison du type à mémoire à mémoire, utilisant un composant du type mémoire partageable, permet de relier deux nicroprocesseurs ou unités centrales de façon très performante. Cependant, la nies au point de ce type de liaison est complexe (création d'une ligne d'acquisitions pour gérer les contentions d'accès, mise en sommeil forcé de l'unité centrale perdante, synchronisation des temps d'accès la la mémoire, etc).
La liaison canal & canal, qui est très utilisée dans les grands ordinateurs, fait appel & un registre spécifique directement implanté sur le bus de données et permettant la liaison entre deux unités centrales, par l'intermédiaire d'un canal fictif d'entrée/sortie, associé i une position de la mémoire ou & une adresse de port d'entrée/sortie, en fonction du type de machine utilisée.
Pour mieux fixer les idées, une partie essentielle d'une liaison de ce type a été représentée en figure 2.
Les moyens de liaison 22 entre les doux microproces- seurs 14 et 26 comprennent donc, pour chaque nicroprocesseur, un registre 36 connu en général sous le non de "registre IER# < Interrupt Service Register) et qui est par exemple un circuit SN 74 ALS 373 N ou Si 74 ALS 573 ÂJ.
Ce registre est sollicité par l'intermédiaire d'un décodeur d'adresse < mémoire ou mémoire d'entrée/sortie) per#ttant son accès en lecture et en écriture. L'accès au registre 36 n'est possible qu'en lecture pour le microprocesseur auquel il est associé, et qu'en écriture pour l'autre microprocesseur. Les deux microprocesseurs utilisent le mén moyen d'accès et la même adresse d'accès.
Chaque microprocesseur 14, 26, va donc entre associé à un registre 36 dont les entrées 0, ..., 7 sont connectées directement au bus de données 38 du canal de l'autre microprocesseur (par exemple 26 > et dont les sorties 0, ..., 7 sont reliées directement au bus de données 40 du microprocesseur associé ~par exemple 14).
Une bascule RS 42 permet de gérer l'interruption du microprocesseur associé 14. La ligne R est reliée å l'en- trée CS du registre 36 ainsi qu'a la ligne RESET générale.
Une diode 44 est insérée sur la ligne RESET pour isoler le
RESET de la sélection en lecture par le microprocesseur associé 14. La ligne S de la bascule 42 est reliée wà l'entrée d'un inverseur 46 dont la sortie est reliée à l'entrée G du registre 36. La sortie Q de la bascule 42 est reliée à l'entrée INT ou NXI du microprocesseur associé 14.
RESET de la sélection en lecture par le microprocesseur associé 14. La ligne S de la bascule 42 est reliée wà l'entrée d'un inverseur 46 dont la sortie est reliée à l'entrée G du registre 36. La sortie Q de la bascule 42 est reliée à l'entrée INT ou NXI du microprocesseur associé 14.
Le décodeur 48 d'adresses de lecture est composé d'un circuit SN 74 ALS 138 N ou d'un circuit logique NON-ET-OU-
NON. La sortie de ce décodeur 48 est directement reliée à l'entrée R de la bascule 42. Le signal RESET-général active cette ligne pour inactiver le registre 36 au moment de la mise sous tension ou de la réinitialisation du microprocesseur 14 correspondant.
NON. La sortie de ce décodeur 48 est directement reliée à l'entrée R de la bascule 42. Le signal RESET-général active cette ligne pour inactiver le registre 36 au moment de la mise sous tension ou de la réinitialisation du microprocesseur 14 correspondant.
Le décodeur d'adresses d'écriture 50 est composé d'un circuit identique, ou d'un circuit logique NON-ET-OU-NO#, dont la sortie est directement reliée à l'entrée S de la bascule 42.
Le principe de fonctionnement est le suivant : dès qu'un microprocesseur écrit dans un registre 36, une interruption est générée dans le microprocesseur associé, qui va lire la donnée contenue dans le registre 36, la traiter et communiquer le résultat dans le registre 36 de l'autre microprocesseur, puis reprendre ensuite son fonctionnement la où il avait été interrompu. Le fonctionnement de loutre microprocesseur est interrompu par la communication du résultat dans son propre registre 36.
Sauf dans le cas où lon définit a priori les rôles des microprocesseurs < l'un maître et l'autre esclave > , il faut utiliser un logiciel de protocole dwéchange ou de communication entre les deux micro-ordinateurs pour que la liaison soit efficace et puisse fonctionner sans erreur.
On peut utiliser pour cela les codes du protocole de conunication BSC ~Binary Synchronous Communication) qui est bien connu des spécialistes
YCC : code commande
STX : début de texte,
ETX : fin de texte,
HOT : fin de dialogue,
ACK : bien reçu,
XKK : pas d'accord,
IJQ : invitation
L'homme du métier sait utiliser un tel protocole de communication.
YCC : code commande
STX : début de texte,
ETX : fin de texte,
HOT : fin de dialogue,
ACK : bien reçu,
XKK : pas d'accord,
IJQ : invitation
L'homme du métier sait utiliser un tel protocole de communication.
Les microprocesseurs utilisés dans le dispositif selon l'invention sont disponibles dans le commerce. On peut notassent se servir de microprocesseurs UNTEL IAPX 86 ou
IAPX 88, ou IAPX 186, etc, dont les performances sont choisies en fonction du logiciel à exécuter. Le microprocesseur 26 du système 24 d'utilisation du logiciel peut être quant & lui un microprocesseur bas de gamme, car il n'a alors qu'a exécuter des fonctions simples de gestion d' entrées/sorties.
IAPX 88, ou IAPX 186, etc, dont les performances sont choisies en fonction du logiciel à exécuter. Le microprocesseur 26 du système 24 d'utilisation du logiciel peut être quant & lui un microprocesseur bas de gamme, car il n'a alors qu'a exécuter des fonctions simples de gestion d' entrées/sorties.
Le microprocesseur et sa mémoire, dans le dispositif selon l'invention, peuvent être constitués par un seul circuit intégré, réalisant les fonctions des éléments 14 et 16 de la figure 1.
Un des avantages essentiels du dispositif selon l'invention est qu'il ne permet aucun accus aux mémoires 16, 20, sauf par l'intermédiaire du microprocesseur 14. Les moyens de liaison 22 associés à ce microprocesseur permettent un change d'informations avec le microprocesseur 26 du système d'utilisation 24, dans des limites pré-établies et bien définies puisque le microprocesseur 14 ne peut exécuter que des fonctions du logiciel enoregistré dans les mémoires 16, 20. Il est impossible dans ces conditions de réaliser un transfert du logiciel dans les mémoires du système d'utilisation 24.
Claims (9)
1. Procédé de protection d'un logiciel, en particulier contre les copies non autorisées, caractérisé en ce qu'il consiste & enregistrer au moins une partie essentielle du logiciel dans au moins une mémoire < 16, 20) reliée à un microprocesseur < 14, 18) de traitement de l'information, et a enferarer l'ensemble microprocesseur-mémoire dans un boîtier < 12 > de type inviolable comprenant des moyens (22) de connexion entre le microprocesseur < 14) précité et un microprocesseur extérieur < 26) d'un système (24) d'utilisation du logiciel.
2. Procédé selon la revendication 1, caractérisé en ce qu'il consiste à relier le microprocesseur < 14) du boîtier (12) au microprocesseur extérieur (26) par une liaison série type RS 232 C, ou par une liaison à mémoire partageable, ou par une liaison canal & canal d'entrée/sortie parallèle.
3. Procédé selon la revendication 1 ou 2, caractérisé en ce qu'il consiste ~ & enregistrer dans la mémoire < 16) précitée uniquement une partie essentielle du logiciel à protéger, et s enregistrer sur un support quelconque (34) le reste du logiciel, correspondant & des fonctions simples etfou banales telles que la gestion des entrées/sorties.
4. Procédé selon l'une des revendications précédentes, caractérisé en ce qu'il consiste à noyer la mémoire (16) et le microprocesseur < 14) précités dans un bloc ou épaisseur de matière résistante, telle par exemple qu'une résine, constituant ledit boîtier inviolable (12) ou faisant partie de celui-ci.
5, Dispositif de protection d'un logiciel, en particulier contre les copies non autorisées, caractérisé en ce qu'il comprend au moins une mémoire (16) dans laquelle est enregistrée au moins une partie essentielle du logiciel, correspondant par exemple & ses fonctions complexes et/ou originales, au moins un microprocesseur (14) de traitement de l'information, des moyens de connexion entre le micropro- censeur < 14 > et la mémoire < 16), et un boîtier < 12) de type inviolable, contenant la mémoire (16) et le microprocesseur (14) précités, ainsi que leurs moyens de connexion, et comprenant des moyens < 22 > de connexion du microprocesseur < 14) & un microprocesseur extérieur (26) d'un système < 24) d'utilisation du logiciel.
6. Dispositif selon la revendication 5, caractérisé en ce qu'il comprend également un support quelconque (34) sur lequel a été enregistrée une autre partie du logiciel, correspondant en particulier a ses fonctions simples ou banale - le que la gestion des entrées/sorties, le support < 34) étant destiné & être associé au système (24) d'utilisation du logiciél.
7. Dispositif selon la revendication 5 ou 6, caractérisé en ce que le boîtier < 12) de type inviolable comprend un bloc ou une épaisseur d'une matière telle qu'une résine, dans laquelle sont noyés la mémoire < 16) et le microprocesseur (14) précités ainsi que leurs connexions.
8. Dispositif selon l'une des revendications 5 à 7, caractérisé en ce que les moyens < 22) de connexion entre les microprocesseurs < 14, 26) comprennent une liaison série du type RS 232 C, ou une liaison à mémoire partageable, ou une liaison canal & canal d'entrée/sortie parallèle.
9. Dispositif selon la revendication 8, caractérisé en ce que la liaison canal & canal comprend, pour chaque microprocesseur < 14, 26) un registre ISR < 36) directement implanté sur un bus de données < 40 > du microprocesseur associé, et une bascule RS < 42) dont les entrées sont reliées å des circuits < 48, 50) décodeurs d'adresses de lecture et d'écriture.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR8810360A FR2634917A1 (fr) | 1988-08-01 | 1988-08-01 | Procede et dispositif de protection d'un logiciel, en particulier contre les copies non autorisees |
EP19890909200 EP0395749A1 (fr) | 1988-08-01 | 1989-07-26 | Procede et dispositif de protection et d'universalisation d'un logiciel |
PCT/FR1989/000392 WO1990001736A1 (fr) | 1988-08-01 | 1989-07-26 | Procede et dispositif de protection et d'universalisation d'un logiciel |
JP50859589A JPH03500462A (ja) | 1988-08-01 | 1989-07-26 | ソフトウェアの保護およびそのユニバーサル化のための方法および装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR8810360A FR2634917A1 (fr) | 1988-08-01 | 1988-08-01 | Procede et dispositif de protection d'un logiciel, en particulier contre les copies non autorisees |
Publications (1)
Publication Number | Publication Date |
---|---|
FR2634917A1 true FR2634917A1 (fr) | 1990-02-02 |
Family
ID=9368990
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR8810360A Withdrawn FR2634917A1 (fr) | 1988-08-01 | 1988-08-01 | Procede et dispositif de protection d'un logiciel, en particulier contre les copies non autorisees |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP0395749A1 (fr) |
JP (1) | JPH03500462A (fr) |
FR (1) | FR2634917A1 (fr) |
WO (1) | WO1990001736A1 (fr) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2828303A1 (fr) * | 2001-07-31 | 2003-02-07 | Validy | Procede pour proteger un logiciel a l'aide d'un principe dit de "renommage" contre son utilisation non autorisee |
FR2828300A1 (fr) * | 2001-07-31 | 2003-02-07 | Validy | Procede pour proteger un logiciel a l'aide d'un principe dit de "fonctions elementaires" contre son utilisation non autorisee |
FR2828302A1 (fr) * | 2001-07-31 | 2003-02-07 | Validy | Procede pour proteger un logiciel a l'aide d'un principe dit de "branchement conditionnel" contre son utilisation non autorisee |
FR2828301A1 (fr) * | 2001-07-31 | 2003-02-07 | Validy | Procede pour proteger un logiciel a l'aide d'un principe dit de "detection et coercition" contre son utilisation non autorisee |
FR2828305A1 (fr) * | 2001-07-31 | 2003-02-07 | Validy | Procede pour proteger un logiciel a l'aide d'un principe dit de "variable" contre son utilisation non autorisee |
FR2828304A1 (fr) * | 2001-07-31 | 2003-02-07 | Validy | Procede pour proteger un logiciel a l'aide d'un principe dit de "dissociation temporelle" contre son utilisation non autorisee |
FR2870019A1 (fr) * | 2004-05-10 | 2005-11-11 | Gemplus Sa | Plate forme electronique a acces securise, et procede de securisation |
US7174466B2 (en) | 2001-08-01 | 2007-02-06 | Sas Validy | Method to protect software against unwanted use with a “detection and coercion” principle |
US7269740B2 (en) | 2001-08-01 | 2007-09-11 | Sas Validy | Method to protect software against unwanted use with a “variable principle” |
US7272725B2 (en) | 2002-06-25 | 2007-09-18 | Sas Validy | Method to protect software against unwanted use with a “temporal dissociation” principle |
US7343494B2 (en) | 2001-08-01 | 2008-03-11 | Sas Validy | Method to protect software against unwanted use with a “renaming” principle |
US7434064B2 (en) | 2001-08-01 | 2008-10-07 | Sas Validy | Method to protect software against unwanted use with a “elementary functions” principle |
US7502940B2 (en) | 2001-08-01 | 2009-03-10 | Sas Validy | Method to protect software against unwanted use with a “conditional branch” principle |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005512170A (ja) * | 2001-11-12 | 2005-04-28 | ネットワーク リサーチ ラブ リミテッド | 不正使用に対する情報保護の方法および装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
US4646234A (en) * | 1984-02-29 | 1987-02-24 | Brigham Young University | Anti-piracy system using separate storage and alternate execution of selected proprietary and public portions of computer programs |
FR2606185A1 (fr) * | 1986-11-04 | 1988-05-06 | Eurotechnique Sa | Procede et dispositif de stockage d'un logiciel livre par un fournisseur a un utilisateur |
EP0268142A2 (fr) * | 1986-11-05 | 1988-05-25 | International Business Machines Corporation | Boîtier résistant aux manipulations non autorisées pour la protection d'informations mémorisées dans un circuit électronique |
-
1988
- 1988-08-01 FR FR8810360A patent/FR2634917A1/fr not_active Withdrawn
-
1989
- 1989-07-26 EP EP19890909200 patent/EP0395749A1/fr not_active Withdrawn
- 1989-07-26 JP JP50859589A patent/JPH03500462A/ja active Pending
- 1989-07-26 WO PCT/FR1989/000392 patent/WO1990001736A1/fr not_active Application Discontinuation
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0151049A2 (fr) * | 1984-02-02 | 1985-08-07 | National Research Development Corporation | Micro-ordinateur à protection de logiciel |
US4646234A (en) * | 1984-02-29 | 1987-02-24 | Brigham Young University | Anti-piracy system using separate storage and alternate execution of selected proprietary and public portions of computer programs |
EP0175557A1 (fr) * | 1984-09-20 | 1986-03-26 | Kenneth John Fifield | Méthode et dispositif de traitement |
FR2606185A1 (fr) * | 1986-11-04 | 1988-05-06 | Eurotechnique Sa | Procede et dispositif de stockage d'un logiciel livre par un fournisseur a un utilisateur |
EP0268142A2 (fr) * | 1986-11-05 | 1988-05-25 | International Business Machines Corporation | Boîtier résistant aux manipulations non autorisées pour la protection d'informations mémorisées dans un circuit électronique |
Non-Patent Citations (1)
Title |
---|
MINI-MICRO CONFERENCE RECORD, 8-11 novembre 1983, pages 1-11, San Francisco, CA., US; B.HUSTON: "New ICs help prevent software theft" * |
Cited By (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003012605A3 (fr) * | 2001-07-31 | 2003-12-24 | Validy | Procede pour proteger un logiciel a l'aide de 'fonctions elementaires' contre son utilisation non autorisee |
AP2055A (en) * | 2001-07-31 | 2009-10-15 | Validy | Method to protect software against unwanted use with a "detection and coercion" principle |
FR2828303A1 (fr) * | 2001-07-31 | 2003-02-07 | Validy | Procede pour proteger un logiciel a l'aide d'un principe dit de "renommage" contre son utilisation non autorisee |
FR2828301A1 (fr) * | 2001-07-31 | 2003-02-07 | Validy | Procede pour proteger un logiciel a l'aide d'un principe dit de "detection et coercition" contre son utilisation non autorisee |
FR2828305A1 (fr) * | 2001-07-31 | 2003-02-07 | Validy | Procede pour proteger un logiciel a l'aide d'un principe dit de "variable" contre son utilisation non autorisee |
FR2828304A1 (fr) * | 2001-07-31 | 2003-02-07 | Validy | Procede pour proteger un logiciel a l'aide d'un principe dit de "dissociation temporelle" contre son utilisation non autorisee |
WO2003012571A2 (fr) * | 2001-07-31 | 2003-02-13 | Validy | Procede pour proteger un logiciel a l'aide de 'detection et coercition' contre son utilisation non autorisee |
WO2003012605A2 (fr) * | 2001-07-31 | 2003-02-13 | Validy | Procede pour proteger un logiciel a l'aide de 'fonctions elementaires' contre son utilisation non autorisee |
WO2003012604A2 (fr) * | 2001-07-31 | 2003-02-13 | Validy | Procede pour proteger un logiciel a l'aide de 'renommage' contre son utilisation non autorisee de diluant |
WO2003012649A2 (fr) * | 2001-07-31 | 2003-02-13 | Validy | Procede pour proteger un logiciel a l'aide de 'variables' contre son utilisation non autorisee |
WO2003012374A2 (fr) * | 2001-07-31 | 2003-02-13 | Validy | Procede pour proteger un logiciel a l'aide de 'branchement conditionnel' contre son utilisation non autorisee |
WO2003012650A2 (fr) * | 2001-07-31 | 2003-02-13 | Validy | Procede pour proteger un logiciel a l'aide de 'dissociation temporelle' contre son utilisation non autorisee |
WO2003012374A3 (fr) * | 2001-07-31 | 2003-12-24 | Validy | Procede pour proteger un logiciel a l'aide de 'branchement conditionnel' contre son utilisation non autorisee |
WO2003012650A3 (fr) * | 2001-07-31 | 2003-12-24 | Validy | Procede pour proteger un logiciel a l'aide de 'dissociation temporelle' contre son utilisation non autorisee |
FR2828302A1 (fr) * | 2001-07-31 | 2003-02-07 | Validy | Procede pour proteger un logiciel a l'aide d'un principe dit de "branchement conditionnel" contre son utilisation non autorisee |
WO2003012604A3 (fr) * | 2001-07-31 | 2004-01-22 | Validy | Procede pour proteger un logiciel a l'aide de 'renommage' contre son utilisation non autorisee de diluant |
FR2828300A1 (fr) * | 2001-07-31 | 2003-02-07 | Validy | Procede pour proteger un logiciel a l'aide d'un principe dit de "fonctions elementaires" contre son utilisation non autorisee |
WO2003012571A3 (fr) * | 2001-07-31 | 2004-01-22 | Validy | Procede pour proteger un logiciel a l'aide de 'detection et coercition' contre son utilisation non autorisee |
EA005465B1 (ru) * | 2001-07-31 | 2005-02-24 | Валиди | Способ защиты программы от её неавторизованного использования при помощи так называемого принципа переменной |
EA005466B1 (ru) * | 2001-07-31 | 2005-02-24 | Валиди | Способ защиты программы от её неавторизованного использования при помощи так называемого принципа детектирования и принуждения |
WO2003012649A3 (fr) * | 2001-07-31 | 2003-12-24 | Validy | Procede pour proteger un logiciel a l'aide de 'variables' contre son utilisation non autorisee |
AU2002325998B2 (en) * | 2001-07-31 | 2008-10-30 | Validy | Method for protecting a software using a so-called variable principle against its unauthorised use |
AU2002328377B2 (en) * | 2001-07-31 | 2008-10-02 | Validy | Method for protecting a software using a so-called detection and coercion principle against its unauthorised use |
CN100339778C (zh) * | 2001-07-31 | 2007-09-26 | 瓦利迪公司 | 利用所谓检测和强制原理保护软件免受不需要的使用的方法 |
US7343494B2 (en) | 2001-08-01 | 2008-03-11 | Sas Validy | Method to protect software against unwanted use with a “renaming” principle |
US7269740B2 (en) | 2001-08-01 | 2007-09-11 | Sas Validy | Method to protect software against unwanted use with a “variable principle” |
US7434064B2 (en) | 2001-08-01 | 2008-10-07 | Sas Validy | Method to protect software against unwanted use with a “elementary functions” principle |
US7174466B2 (en) | 2001-08-01 | 2007-02-06 | Sas Validy | Method to protect software against unwanted use with a “detection and coercion” principle |
US7502940B2 (en) | 2001-08-01 | 2009-03-10 | Sas Validy | Method to protect software against unwanted use with a “conditional branch” principle |
US7272725B2 (en) | 2002-06-25 | 2007-09-18 | Sas Validy | Method to protect software against unwanted use with a “temporal dissociation” principle |
FR2870019A1 (fr) * | 2004-05-10 | 2005-11-11 | Gemplus Sa | Plate forme electronique a acces securise, et procede de securisation |
Also Published As
Publication number | Publication date |
---|---|
WO1990001736A1 (fr) | 1990-02-22 |
JPH03500462A (ja) | 1991-01-31 |
EP0395749A1 (fr) | 1990-11-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
FR2634917A1 (fr) | Procede et dispositif de protection d'un logiciel, en particulier contre les copies non autorisees | |
EP0552079B1 (fr) | Carte à mémoire de masse pour microordinateur | |
CA2034002C (fr) | Procede pour verifier l'integrite d'un logiciel ou de donnees, et systeme pour la mise en oeuvre de ce procede | |
EP0552077B1 (fr) | Carte à mémoire de masse pour microordinateur avec facilités d'exécution de programmes internes | |
EP0461971B1 (fr) | Dispositif électronique de connexion | |
FR2726923A1 (fr) | Groupe redondant de dispositifs a memoire a semi-conducteurs | |
KR20020042868A (ko) | 디지털 저작물의 배포 및 사용을 규제하는 방법 및 장치 | |
EP1072024A1 (fr) | Procede de commutation d'applications sur une carte a puce multi-applicative | |
FR2702857A1 (fr) | Procédé et dispositif d'autorisation d'accès à un appareil comportant un système informatique d'exploitation. | |
FR2762417A1 (fr) | Procede de controle de l'execution d'un produit logiciel | |
EP1044412A1 (fr) | Dispositif et procede de cache disque securise en ecriture pour disques durs de sous-systeme a memoire de masse | |
EP1100225B1 (fr) | Architecture d'un circuit de chiffrement mettant en oeuvre différents types d'algorithmes de chiffrement simultanément sans perte de performance | |
WO1990010292A1 (fr) | Procede de controle de l'utilisation d'un support d'informations, notamment magnetique ou magneto-optique et systemes pour sa mise en ×uvre | |
WO1989012890A1 (fr) | Procede et appareil d'enregistrement numerique de donnees, support protege d'enregistrement de donnees et appareil de lecture de donnees enregistrees sur un tel support | |
WO1995019002A1 (fr) | Procede de sauvegarde et/ou d'archivage de donnees et/ou de fichiers informatiques et dispositif pour la mise en ×uvre dudit procede | |
EP0246119B1 (fr) | Système optionnel de protection de l'accès à un ordinateur | |
FR2882835A1 (fr) | Procede de transfert securise par carte multimedia securisee | |
EP2531921A1 (fr) | Gestion du lieu de stockage de donnees dans un systeme de stockage distribue | |
FR2807177A1 (fr) | Memoire de cryptage/decryptage et procedes de sauvegarde et de recuperation | |
FR2892220A1 (fr) | Disque optique avec dispositif de controle rfid operationnel durant la lecture du disque | |
BE1012908A3 (fr) | Dispositif de securite pour appareils audio/video. | |
WO2015067892A1 (fr) | Procédé de protection de métadonnées | |
EP1763029A2 (fr) | Protection d'un contenu numérique sur un support physique | |
FR2635599A1 (fr) | Systeme d'extension de memoire pour au moins un ensemble de traitement de donnees | |
FR2903507A1 (fr) | Traitement de donnees d'un fichier numerique representant un contenu multimedia. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ST | Notification of lapse |