FR2732488A1 - Protection system blocking illegal use of computer program or data - Google Patents
Protection system blocking illegal use of computer program or data Download PDFInfo
- Publication number
- FR2732488A1 FR2732488A1 FR9503990A FR9503990A FR2732488A1 FR 2732488 A1 FR2732488 A1 FR 2732488A1 FR 9503990 A FR9503990 A FR 9503990A FR 9503990 A FR9503990 A FR 9503990A FR 2732488 A1 FR2732488 A1 FR 2732488A1
- Authority
- FR
- France
- Prior art keywords
- data
- coding
- software
- coded
- memory
- 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
- 230000000903 blocking effect Effects 0.000 title 1
- 238000004590 computer program Methods 0.000 title 1
- 230000015654 memory Effects 0.000 claims abstract description 30
- 230000002457 bidirectional effect Effects 0.000 claims description 2
- 238000013475 authorization Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 238000000034 method 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]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1408—Protection against unauthorised use of memory or access to memory by using cryptography
-
- 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/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6209—Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
-
- 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/2107—File encryption
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Technology Law (AREA)
- Multimedia (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
Abstract
Description
La présente invention concerne la protection des logiciels contre leur utilisation illégale et en particulier un système de protection empêchant l'utilisation d'un logiciel de façon illégale. The present invention relates to the protection of software against its illegal use and in particular a protection system preventing the use of software illegally.
Un logiciel est une oeuvre protégée par le droit d'auteur et dont le droit d'utilisation est limité à 1' acheteur. Cependant, il est bien connu qu'un logiciel acheté sous forme de disquette dans le commerce peut donner lieu à des copies effectuées avec ou sans l'aoeord du titulaire du droit d'utilisation grace à la mise en oeuvre de techniques de violation des systèmes de protection. Software is a work protected by copyright and whose right of use is limited to the purchaser. However, it is well known that software purchased commercially in the form of a floppy disk can give rise to copies made with or without the agreement of the holder of the right of use, thanks to the use of techniques of system violation. protection.
Un système utilisé couramment consiste à limiter le nombre de copies ou d'installations que peut réaliser l'acheteur de la disquette gracie à l'insertion d'un compteur dans les données enregistrées, compteur qui se décrémente à chaque copie ou installation de manière à interdire toute copie lorsque le compteur est à zéro. Ce type de protection fait l'objet de violations soit par l'introduction d'une valeur de compteur bien plus importante que celle enregistrée par le concepteur (par exemple 5), soit par l'utilisation d'un programme de copie capable d'éviter la décrémentation du compteur au moment de la copie illégale. A commonly used system consists in limiting the number of copies or installations that the purchaser of the floppy disk can make by inserting a counter in the recorded data, a counter which decrements with each copy or installation so as to prohibit any copying when the counter is at zero. This type of protection is violated either by the introduction of a much higher counter value than that recorded by the designer (for example 5), or by the use of a copy program capable of avoid decrementing the counter at the time of illegal copying.
Un autre système consiste à introduire dans les données enregistrées sur la disquette, un mot de passe que seul l'acheteur connaît et qui doit être entré dans l'ordinateur au commencement de l'appel du logiciel pour pouvoir avoir accès audit logiciel. Malheureusement, des experts en langage machine sont capables de retrouver le mot de passe et donc de pouvoir utiliser ou permettre l'utilisation du logiciel de façon illégale. Another system consists in introducing into the data recorded on the floppy disk, a password which only the purchaser knows and which must be entered in the computer at the beginning of the call of the software to be able to have access to said software. Unfortunately, machine language experts are able to recover the password and therefore be able to use or allow the use of the software illegally.
C'est pourquoi le but de l'invention est de réaliser un système de protection contre l'utilisation illégale d'un logiciel qui fasse appel aussi bien au logiciel qu'au matériel dans lequel le logiciel est mis en oeuvre. This is why the object of the invention is to provide a system for protection against the illegal use of software which uses both the software and the hardware in which the software is implemented.
L'objet principal de l'invention est donc un système de protection empêchant l'utilisation illégale d'un logiciel dans un ordinateur comprenant une unité de traitement et une mémoire contenant les données du logiciel qui ont été emmagasinées dans la mémoire à partir d'une source de données telle qu'une disquette.Ce système est composé d'un premier codeur pour coder, préalablement à l'enregistrement dans la source de données, les bits de données du logiciel selon une première partie d'une clé de codage et coder les adresses de ces données selon une deuxième partie de la clé de codage, et une unité de codage/décodage interconnectée entre l'unité de traitement et la mémoire de l'ordinateur comprenant un décodeur pour décoder les bits de données lorsqu'ils sont lus à partir de la mémoire par l'unité de traitement et un second codeur pour coder les adresses auxquelles sont lus les bits de données dans la mémoire selon une deuxième partie de la clé de codage. The main object of the invention is therefore a protection system preventing the illegal use of software in a computer comprising a processing unit and a memory containing the software data which have been stored in the memory from a data source such as a floppy disk. This system is composed of a first coder for coding, before recording in the data source, the data bits of the software according to a first part of a coding key and coding the addresses of these data according to a second part of the coding key, and a coding / decoding unit interconnected between the processing unit and the memory of the computer comprising a decoder for decoding the data bits when they are read from the memory by the processing unit and a second coder for coding the addresses from which the data bits are read in the memory according to a second part of the key of c odor.
Les buts et objets de l'invention ressortiront mieux à la lecture de la description suivante faite en référence aux dessins dans lesquels
la figure l est une représentation synoptique du système utilisé pour le codage d'un logiciel empêchant son utilisation dans tout ordinateur autre que l'ordinateur contenant le décodeur approprié, et
la figure 2 est une représentation synoptique d'un mode de réalisation préféré du système utilisé pour le décodage d'un logiciel codé en utilisant le système selon la présente invention.The objects and objects of the invention will emerge more clearly on reading the following description made with reference to the drawings in which
FIG. 1 is a block diagram of the system used for coding software preventing its use in any computer other than the computer containing the appropriate decoder, and
Figure 2 is a block diagram of a preferred embodiment of the system used for decoding coded software using the system according to the present invention.
La caractéristique essentielle de l'invention est de prévoir un système de protection contre l'utilisation illégale d'un logiciel, faisant appel à un codage du logiciel dont la clé est incorporée dans l'ordinateur seul habilité à utiliser le logiciel. The essential characteristic of the invention is to provide a system of protection against the illegal use of software, using coding of the software, the key of which is incorporated in the computer alone authorized to use the software.
Pour le codage, un logiciel dont la source 10 est généralement une disquette, mais pourrait être une ligne de transmission de données provenant d'un réseau (par exemple
Internet), est lu par un microprocesseur 12. Si le logiciel est sur une disquette, cette entrée est le lecteur A. Les bits d'information provenant du logiciel sont transmis en mémoire 14 à l'aide du bus de données 16 après avoir été codés par le codeur 18 selon une clé de codage prédéterminée. De préférence, le codage consiste à inverser ou non les bits d'information de chaque mot de données en utilisant un circuit OU-Exclusif par bit, la deuxième entrée de chaque circuit étant un bit correspondant de la clé de codage. C'est à dire, si le bit correspondant de la clé est un bit 1, le bit de données est inversé alors qu'il reste inchangé si le bit de la clé est un bit O.Ainsi, avec des mots de données d'une largeur de 8 bits, la clé de codage des données est un mot de 8 bits ce qui fournit 255 possibilités de codage.For coding, software whose source 10 is generally a floppy disk, but could be a line for transmitting data from a network (for example
Internet), is read by a microprocessor 12. If the software is on a floppy disk, this entry is the reader A. The bits of information coming from the software are transmitted in memory 14 using the data bus 16 after being coded by the coder 18 according to a predetermined coding key. Preferably, the coding consists in inverting or not the information bits of each data word by using an OR-Exclusive circuit per bit, the second input of each circuit being a corresponding bit of the coding key. That is, if the corresponding bit of the key is a bit 1, the data bit is inverted while it remains unchanged if the bit of the key is an O bit. Thus, with data words of 8 bits wide, the data coding key is an 8-bit word, which provides 255 coding possibilities.
La clé de codage contient en plus des 8 bits destinés à coder les données, 10 autres bits qui sont utilisés pour coder une partie des bits d'adresse fournis par le microprocesseur 12 sur le bus d'adressage 20. Les 10 bits à coder sont donc fournis sur la portion de bus 20-1 au codeur 18 oO ils sont codés de la même façon que précédemment, c'est à dire en les combinant selon des circuits OU-Exclusif avec les 10 bits correspondants de la clé de codage. Les autres bits non codés sont fournis sur la portion de bus 20-2 qui est recombinée à la portion 20-1 à la sortie du codeur pour constituer l'adresse dans la mémoire 14 à laquelle chaque mot de données est emmagasiné après codage dans le codeur 18. The coding key contains, in addition to the 8 bits intended for coding the data, 10 other bits which are used to codify part of the address bits supplied by the microprocessor 12 on the address bus 20. The 10 bits to be coded are therefore supplied on the bus portion 20-1 to the coder 18 oO they are coded in the same way as above, that is to say by combining them according to OR-Exclusive circuits with the 10 corresponding bits of the coding key. The other non-coded bits are supplied on the bus portion 20-2 which is recombined with the portion 20-1 at the output of the coder to constitute the address in the memory 14 to which each data word is stored after coding in the encoder 18.
Lorsque toutes les données du logiciel fournies par la source 10 ont été emmagasinées après codage dans la mémoire 14, on procède au transfert de ces données dans une unité de réception 22, généralement une disquette dans le lecteur B, sous la commande du microprocesseur 12 commandant la lecture de la mémoire sur la ligne R/W 24 et l'écriture des données par la ligne de commande d'écriture, les données étant transférées de la mémoire 14 à l'unité 22 sur le bus de transport 28. When all the software data supplied by the source 10 has been stored after coding in the memory 14, this data is transferred to a reception unit 22, generally a floppy disk in the reader B, under the control of the microprocessor 12 commanding reading the memory on the R / W line 24 and writing the data by the write command line, the data being transferred from the memory 14 to the unit 22 on the transport bus 28.
En même temps que le fichier contenant les données codées du logiciel qui a été enregistré (par exemple sur une disquette dans le lecteur B), le microprocesseur 12 enregistre un fichier qui contient les adresses de début et de fin de la partie codée parmi les données sur la disquette fichier qui sera utilisée à la lecture en tant qu'interruption logiciel. At the same time as the file containing the coded data of the software which has been recorded (for example on a floppy disk in the drive B), the microprocessor 12 saves a file which contains the start and end addresses of the coded part among the data on the file diskette which will be used for reading as a software interrupt.
On doit noter que, bien que le mode de réalisation décrit ci-dessus utilise des mots de données de 8 bits, il est évident que la largeur des mots de données et de la clé pourrait être différente, par exemple de 16 ou 32 bits. De même, on peut concevoir que la portion d'adresse codée soit plus importante que 10 bits, ce qui est possible dans la mesure où les mémoires actuelles ont des capacités de plusieurs méga-octets, et donc nécessitent des adresses dépassant largement 10 bits. Toutefois avec une clé de codage de 18 bits, le nombre de possibilités de codage st déjà de 262.144. It should be noted that, although the embodiment described above uses 8-bit data words, it is obvious that the width of the data words and the key could be different, for example 16 or 32 bits. Likewise, it is conceivable that the coded address portion is greater than 10 bits, which is possible insofar as the current memories have capacities of several megabytes, and therefore require addresses largely exceeding 10 bits. However, with an 18-bit coding key, the number of coding possibilities is already 262,144.
De façon à pouvoir lire une disquette sur laquelle a été enregistré le logiciel codé, un ordinateur doit donc être pourvu d'un décodeur capable de décoder les données selon la clé de codage utilisée à l'enregistrement du logiciel. C'est ce qui est illustré sur la figure 2. In order to be able to read a floppy disk on which the coded software has been recorded, a computer must therefore be provided with a decoder capable of decoding the data according to the coding key used when the software was recorded. This is illustrated in Figure 2.
Une fois que le logiciel codé a été emmagasiné dans la mémoire 40 d'un tel ordinateur, le microprocesseur 42 a aeeès au logiciel de la façon suivante. La partie d'adresse formée des 10 premiers bits de l'adresse est transmise sur la portion 44-1 du bus d'adressage 44 alors que le reste de l'adresse est transmise sur la portion de bus 44-2. Cette partie d'adresse de 10 bits est fournie au codeur d'adresse 46 dans lequel chacun des 10 bits est combiné par un circuit OU-Exclusif à un des 10 bits de la partie d'adresse de la clé de codage de 18 bits identique à la clé de codage qui a été utilisée au moment du codage. Ainsi, les bits d'adresse fournis à la sortie du codeur d'adresse 46 sont les mêmes que ceux qui ont été utilisés au moment du codage.La partie de 10 bits de la clé de décodage est enregistrée de façon permanente dans une mémoire ROM 48 et est fournie au codeur d'adresse 46 par l'intermédiaire de la porte 50. Once the coded software has been stored in the memory 40 of such a computer, the microprocessor 42 has access to the software in the following manner. The address part formed by the first 10 bits of the address is transmitted on the portion 44-1 of the address bus 44 while the rest of the address is transmitted on the bus portion 44-2. This 10-bit address part is supplied to the address coder 46 in which each of the 10 bits is combined by an OR-Exclusive circuit with one of the 10 bits of the address part of the identical 18-bit coding key. the coding key that was used at the time of coding. Thus, the address bits supplied at the output of the address coder 46 are the same as those which were used at the time of the coding. The 10-bit part of the decoding key is permanently saved in a ROM memory. 48 and is supplied to the address coder 46 via the door 50.
La partie d'adresse codée fournie sur le bus d'adressage 52 à la sortie du codeur d'adresse est ensuite juxtaposée à la partie d'adresse non codée de la portion de bus 44-2 pour adresser la mémoire 40. Le mot de données adressé (codé), supposé être ici de 8 bits, est alors transmis par le bus 54 au décodeur 56 où chacun des 8 bits du mot de données est combiné par un circuit OU-Exclusif à un bit de la deuxième partie de 8 bits de la clé de codage de 18 bits, qui a été utilisée au moment du codage. Cette partie de 8 bits de la clé de codage est enregistrée de façon permanente dans une mémoire ROM 58 et est fournie au décodeur 54 par l'intermédiaire de la porte 60. Le mot de données décodé est ensuite fourni au microprocesseur 42 au moyen du bus de données 61. The coded address part supplied on the address bus 52 at the output of the address coder is then juxtaposed with the non-coded address part of the bus portion 44-2 to address the memory 40. The word addressed (coded) data, assumed here to be 8 bits, is then transmitted by bus 54 to decoder 56 where each of the 8 bits of the data word is combined by an OR-Exclusive circuit with one bit of the second part of 8 bits the 18-bit coding key, which was used at the time of coding. This 8-bit part of the coding key is permanently stored in a ROM memory 58 and is supplied to the decoder 54 via the door 60. The decoded data word is then supplied to the microprocessor 42 by means of the bus. 61.
Comme il a été mentionné précédemment, puisque toutes les données qui ont été emmagasinées dans le fichier lu dans la mémoire 40 ne sont pas forcément toutes codées, un fichier a été enregistré pour fournir au système d'exploitation de l'ordinateur les adresses de début et de fin des parties codées. La lecture de ce fichier permet, au moyen d'un interruption, d'écrire l'adresse de début de la partie codée dans un registre 62 et l'adresse de fin de la partie codée dans un registre 64. Lorsque le microprocesseur 42 désire lire des données, l'adresse fournie sur le bus d'adressage 44-1 est également fournie aux comparateurs 66 et 68 dont les sorties sont connectées en entrée du circuit ET 70 de manière à comparer l'adresse demandée aux adresses de début et de fin des données codées.Si l'adresse demandée se trouve en dehors de l'étendue délimitée par les adresses de début et de fin, l'un des deux comparateurs 66 et 68 fournit une sortie O et l'autre une sortie 1, ce qui résulte en un bit O sur la sortie 72 du circuit ET 70. Par conséquent, dans ce cas, les deux portes 50 et 60 sont bloquées et exclusivement des bits 0 sont fournis en entrée du codeur 46 et du décodeur 56, ce qui a pour résultat de fournir une adresse non codée sur le bus 52 et un mot de données non codé sur le bus 61. As mentioned previously, since not all of the data that has been stored in the file read from memory 40 is encoded, a file has been saved to provide the computer's operating system with the starting addresses. and end of the coded parts. Reading this file makes it possible, by means of an interrupt, to write the start address of the part coded in a register 62 and the end address of the part coded in a register 64. When the microprocessor 42 wishes read data, the address provided on the addressing bus 44-1 is also provided to the comparators 66 and 68 whose outputs are connected to the input of the AND circuit 70 so as to compare the requested address with the start and start addresses. If the requested address is outside the range delimited by the start and end addresses, one of the two comparators 66 and 68 provides an output O and the other an output 1, this which results in a bit O on the output 72 of the AND circuit 70. Consequently, in this case, the two gates 50 and 60 are blocked and exclusively bits 0 are supplied at the input of the encoder 46 and the decoder 56, which has results in providing an unencrypted address on bus 52 and a donation word not coded on bus 61.
Par contre, Si l'adresse demandée se trouve dans la plage codée comprise entre l'adresse de début emmagasinée dans le registre 62 et l'adresse de fin emmagasinée dans le registre 64, les sorties respectives des comparateurs 66 et 68 sont à 1. Par conséquent la sortie 72 du circuit ET 70 est également à 1 et les portes 50 et 60 sont passantes, ce qui a pour résultat que l'adresse fournie sur le bus 44-1 est codée à l'aide de la partie (10 bits) de la clé de codage se trouvant dans la mémoire ROM 48 et le mot de données fourni sur le bus 54 est codé par la partie (8 bits) de la clé de codage se trouvant dans la mémoire ROM 58. On the other hand, if the requested address is in the coded range between the start address stored in register 62 and the end address stored in register 64, the respective outputs of comparators 66 and 68 are at 1. Consequently, the output 72 of the AND circuit 70 is also at 1 and the gates 50 and 60 are on, which results in that the address supplied on the bus 44-1 is coded using the part (10 bits ) of the coding key located in the ROM memory 48 and the data word supplied on the bus 54 is coded by the part (8 bits) of the coding key located in the ROM memory 58.
On doit noter que la disquette utilisée pourrait être une simple disquette du commerce ne comportant aucune partie codée. Dans ce cas, les adresses enregistrées dans les registres 62 et 64 sont les mêmes et le circuit ET 70 fournit toujours une entrée à O empêchant le codage des données de la disquette. Note that the disk used could be a simple commercial disk with no coded part. In this case, the addresses recorded in registers 62 and 64 are the same and the AND circuit 70 always supplies an input to O preventing the coding of the data of the floppy disk.
Le système qui vient d'être décrit peut être mis en oeuvre très simplement. Soit le propriétaire d'un ordinateur fait modifier son ordinateur en remplaçant la puce du microprocesseur existante par une puce comportant, outre le microprocesseur, le dispositif de codage/décodage illustré sur la figure 2, soit l'ordinateur est déjà pourvu d'un tel dispositif. Dans les deux cas, un nombre d'identification représentant une clé de codage est fourni au propriétaire de l'ordinateur ; une telle valeur correspondant par exemple à une combinaison de 18 bits telle que celle utilisée dans la description qui suit. Dans le même temps, le constructeur ou le concepteur du logiciel fournit aux distributeurs un dispositif de codage tel que celui illustré sur la figure 1.Le propriétaire de l'ordinateur désirant acquérir le logiciel doit alors fournir le nombre d'identification au distributeur de logiciels pour que ce dernier effectue le codage du logiciel selon la clé de codage associée au nombre d'identification. The system which has just been described can be implemented very simply. Either the owner of a computer has his computer modified by replacing the existing microprocessor chip with a chip comprising, in addition to the microprocessor, the coding / decoding device illustrated in FIG. 2, or the computer is already provided with such a device. In both cases, an identification number representing a coding key is provided to the owner of the computer; such a value corresponding for example to a combination of 18 bits such as that used in the description which follows. At the same time, the manufacturer or designer of the software supplies the distributors with a coding device such as that illustrated in FIG. 1. The owner of the computer wishing to acquire the software must then supply the identification number to the software distributor. so that the latter performs the coding of the software according to the coding key associated with the identification number.
On pourrait également envisager que le logiciel fourni aux distributeurs sous forme de disquettes, soit déjà codé par une clé F1, ce qui éviterait à des vendeurs indélicats de pouvoir copier le logiciel non codé reçu du concepteur. Dans ce cas, la partie de clé de codage destinée à coder les données et se trouvant dans la mémoire
ROM 58 devra résulter de la combinaison par des circuits
OU-Exclusif de la clé F1 et de la clé spécifique du propriétaire de l'ordinateur. On peut d'ailleurs imaginer que le logiciel soit préalablement codé à plusieurs niveaux par des clés F1, F2... ce qui implique d'avoir une clé de décodage qui soit la résultante des différentes clés utilisées pour le codage.It could also be envisaged that the software supplied to the distributors in the form of floppy disks, is already coded by an F1 key, which would prevent unscrupulous sellers from being able to copy the uncoded software received from the designer. In this case, the part of the coding key intended for coding the data and located in the memory
ROM 58 must result from the combination by circuits
OR-Exclusive of the F1 key and the specific key of the computer owner. One can also imagine that the software is previously coded at several levels by keys F1, F2 ... which implies having a decoding key which is the result of the different keys used for coding.
On doit noter que la clé F1 (ou la combinaison de plusieurs clés F1, F2...) pourrait se présenter sous la forme d'un fichier formé d'une pluralité de mots, comme par exemple un fichier de 1024 mots de 8 bits. It should be noted that the key F1 (or the combination of several keys F1, F2 ...) could be in the form of a file formed by a plurality of words, such as for example a file of 1024 words of 8 bits .
Bien que l'invention s'applique particulièrement aux logiciels, on peut l'appliquer à tout autre fichier tel qu'une base de données personnalisée. Dans ce cas, le dispositif installé dans l'ordinateur devra décoder les données lues à partir de la mémoire, mais également coder les nouvelles données transférées en mémoire. Ceci peut être réalisé avec le même circuit 56 puisque, que ce soit le codage ou le décodage, il utilise les mêmes circuits OU
Exclusif. Par conséquent les bus de données 54 et 61 de la figure 2 devraient alors être bidirectionnels. Although the invention is particularly applicable to software, it can be applied to any other file such as a personalized database. In this case, the device installed in the computer will have to decode the data read from the memory, but also encode the new data transferred to the memory. This can be done with the same circuit 56 since, whether encoding or decoding, it uses the same OR circuits
Exclusive. Consequently, the data buses 54 and 61 of FIG. 2 should then be bidirectional.
Claims (8)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR9503990A FR2732488A1 (en) | 1995-03-30 | 1995-03-30 | Protection system blocking illegal use of computer program or data |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR9503990A FR2732488A1 (en) | 1995-03-30 | 1995-03-30 | Protection system blocking illegal use of computer program or data |
Publications (1)
Publication Number | Publication Date |
---|---|
FR2732488A1 true FR2732488A1 (en) | 1996-10-04 |
Family
ID=9477751
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR9503990A Pending FR2732488A1 (en) | 1995-03-30 | 1995-03-30 | Protection system blocking illegal use of computer program or data |
Country Status (1)
Country | Link |
---|---|
FR (1) | FR2732488A1 (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4278837A (en) * | 1977-10-31 | 1981-07-14 | Best Robert M | Crypto microprocessor for executing enciphered programs |
EP0171456A1 (en) * | 1984-08-17 | 1986-02-19 | Thomas O. Westheimer | Computer software protection system |
EP0583140A1 (en) * | 1992-08-11 | 1994-02-16 | International Business Machines Corporation | System for seamless processing of encrypted and non-encrypted data and instructions |
-
1995
- 1995-03-30 FR FR9503990A patent/FR2732488A1/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4278837A (en) * | 1977-10-31 | 1981-07-14 | Best Robert M | Crypto microprocessor for executing enciphered programs |
EP0171456A1 (en) * | 1984-08-17 | 1986-02-19 | Thomas O. Westheimer | Computer software protection system |
EP0583140A1 (en) * | 1992-08-11 | 1994-02-16 | International Business Machines Corporation | System for seamless processing of encrypted and non-encrypted data and instructions |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9934408B2 (en) | Secure personal content server | |
US5337357A (en) | Method of software distribution protection | |
EP0089876B1 (en) | Method and device for the protection of software delivered by a supplyer to a user | |
US8839005B2 (en) | Apparatus for transferring licensed digital content between users | |
EP0430734A1 (en) | System and method to securely operate a computerprogram | |
US7440574B2 (en) | Content encryption using programmable hardware | |
FR2750554A1 (en) | CONDITIONAL ACCESS SYSTEM AND CHIP CARD PROVIDING SUCH ACCESS | |
EP0540095A1 (en) | Microcircuit for an IC-card with protected programmable memory | |
WO2002069070A2 (en) | Controlling access to protected digital content | |
CN1575446A (en) | Method for binding a software data domain to specific hardware | |
FR2654236A1 (en) | METHOD FOR PROTECTING AGAINST THE FRAUDULENT USE OF MICROPROCESSOR CARDS, AND DEVICE FOR IMPLEMENTING SAME. | |
EP3283968B1 (en) | Method for sharing a memory between at least two functional entities | |
FR2732488A1 (en) | Protection system blocking illegal use of computer program or data | |
KR20210054934A (en) | Method for protecting copyright using blockchain | |
EP1609326B1 (en) | Method of protecting a mobile-telephone-type telecommunication terminal | |
FR2814557A1 (en) | PROTECTION AGAINST THE ABUSE OF AN INSTRUCTION IN A MEMORY | |
EP0246119B1 (en) | Optional system for protecting access to a computer | |
KR102550994B1 (en) | Method and system for temporal leasing digital contents by use of NFT | |
EP1031987B1 (en) | Electronic memory and electronic device having such a memory | |
CA2120816C (en) | Method of software distribution protection | |
FR2577332A1 (en) | System for measuring the use of application software on a computer or a microcomputer | |
Davison | Some Implications of the US Working Group's Report on Intellectual Property and the National Information Infrastructure | |
FR2835331A1 (en) | PROCESS FOR MONITORING THE USE OF DIGITAL CONTENT BY A SECURITY MODULE OR A CHIP CARD INCLUDING LEDIT MODULE | |
EP1570332A2 (en) | Method of securing digital data records | |
FR2766597A1 (en) | Memory management unit for a microprocessor which converts a logic address into a physical address. |