FR2659763A1 - COMPUTER SYSTEM, PROGRAM SOURCE AND METHOD FOR SELECTIVE VALIDATION OF FUNCTIONS IN SUCH A COMPUTER SYSTEM. - Google Patents
COMPUTER SYSTEM, PROGRAM SOURCE AND METHOD FOR SELECTIVE VALIDATION OF FUNCTIONS IN SUCH A COMPUTER SYSTEM. Download PDFInfo
- Publication number
- FR2659763A1 FR2659763A1 FR9103217A FR9103217A FR2659763A1 FR 2659763 A1 FR2659763 A1 FR 2659763A1 FR 9103217 A FR9103217 A FR 9103217A FR 9103217 A FR9103217 A FR 9103217A FR 2659763 A1 FR2659763 A1 FR 2659763A1
- Authority
- FR
- France
- Prior art keywords
- cpu
- computer system
- sequence
- prbs
- 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
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/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2211/00—Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
- G06F2211/007—Encryption, En-/decode, En-/decipher, En-/decypher, Scramble, (De-)compress
Abstract
Ce système comprend une source de programme amovible (9,12,14), des moyens de mémoire (3,9) pour mémoriser des instructions de programme; une unité centrale CPU (1) pour exécuter des instructions de programme mémorisées, des moyens (2) de délivrance de caractéristiques, et des moyens de validation d'accès pour accéder à au moins une caractéristique et comprenant des moyens pour comparer une séquence d'octets délivrée par l'unité CPU en réponse aux instructions, à une séquence de référence d'octets, et pour valider des caractéristiques en fonction du résultat de la comparaison. Application notamment aux ordinateurs recevant leur programme d'une source de programme amovible.This system comprises a removable program source (9,12,14), memory means (3,9) for storing program instructions; a central processing unit CPU (1) for executing stored program instructions, means (2) for issuing characteristics, and means for validating access to access at least one characteristic and comprising means for comparing a sequence of bytes output from the CPU in response to instructions, to a reference sequence of bytes, and to validate characteristics based on the result of the comparison. Application in particular to computers receiving their program from a removable program source.
Description
La présente invention concerne des systèmes d'ordinateur, en particulierThe present invention relates to computer systems, in particular
un ordinateur qui reçoit sona computer that receives its
programme logiciel à partir d'une source de programme amo- software program from an amo-
vible comme par exemple une cartouche de mémoire ROM, une disquette ou une bande en cassette. Selon une pratique usuelle, un ordinateur est conçu et fabriqué par une société spécialisée en matériel, tandis que le logiciel pour cet ordinateur est écrit et vendu par de nombreuses sociétés différentes spécialisées such as a ROM cartridge, a floppy disk, or a cassette tape. According to standard practice, a computer is designed and manufactured by a hardware company, while the software for that computer is written and sold by many different companies.
en logiciel Ce logiciel peut englober de nombreuses appli- This software can include many applications
cations diverses, peut être produit par un large éventail various cations, can be produced by a wide range
de vendeurs concurrents et peut être disponible sous diffé- competing vendors and may be available under different
rents formats de support des informations incluant la bande information formats including tape
en cassette, la disquette et la cartouche de mémoire ROM. in cassette, the floppy disk and the ROM cartridge.
Dans de telles conditions, le vendeur de matériel, qui fa- In such circumstances, the seller of equipment, who
brique l'ordinateur, peut ne pas être à même de régler ou de commander la qualité ou le caractère approprié d'un tel the computer, may not be able to regulate or control the quality or appropriateness of such
logiciel Cependant il cherche à s'assurer que toute modi- However, it seeks to ensure that any changes
fication de conception et de fabrication apportée à l'ordinateur ne le rend pas incompatible avec le logiciel The design and manufacturing process provided to the computer does not make it incompatible with the software.
écrit pour des générations précédentes de ce même ordina- written for previous generations of this same ordina-
teur.tor.
Il peut arriver fréquemment que le fabricant ob- It can often happen that the manufacturer obtains
tienne des réductions souhaitables du coût de fabrication ou augmente la fiabilité du produit en incorporant les plus maintain desirable reductions in the cost of manufacture or increase the reliability of the product by incorporating the most
récents progrès technologiques, sans affecter la-compatibi- recent technological progress without affecting the compatibility
lité avec des générations antérieures de logiciel Cepen- with earlier generations of Cepen-
dant, de telles modifications ne peuvent pas affecter les caractéristiques de l'ordinateur, comme par exemple le nombre des modes d'affichage ou les systèmes de production However, such changes can not affect the characteristics of the computer, such as the number of display modes or the production systems.
de musique et de sons.of music and sounds.
Cependant, le fabricant de l'ordinateur peut dé- However, the computer manufacturer may
sirer améliorer son ordinateur en y ajoutant des caracté- improve your computer by adding features
ristiques perfectionnées, comme par exemple des modes sup- improved methods, such as
plémentaires d'affichage ou de nouveaux systèmes de produc- additional display systems or new production systems.
tion de sons et de musique, tout en conservant les carac- sound and music, while retaining the characteristics
téristiques disponibles antérieurement et également en maintenant la comptabilité avec des générations antérieures previously available characteristics and also by keeping the accounts with previous generations
de logiciel.of software.
Dans un tel cas, le concepteur d'ordinateurs doit savoir que son ordinateur doit fonctionner correctement tout d'abord avec un logiciel amélioré qui a été écrit sur la base des nouvelles caractéristiques améliorées et a été conçu spécifiquement pour les utiliser, et en second lieu In such a case, the computer designer should know that his computer should work properly first with improved software that was written based on the new and improved features and was specifically designed to use them, and secondly
avec un ancien logiciel qui a été écrit sans la connais- with old software that was written without the knowledge of
sance des nouvelles caractéristiques améliorées En parti- new and improved features in particular.
culier, le concepteur d'ordinateurs doit s'assurer qu'un ancien logiciel n'active pas, de façon accidentelle, les In particular, the computer designer must ensure that old software does not inadvertently activate
nouvelles caractéristiques L'ordinateur requiert un pro- new features The computer requires a
cédé garantissant que les nouvelles caractéristiques amé- granted that the new characteristics
liorées sont disponibles uniquement pour le nouveau logi- are available only for the new software.
ciel qui a été écrit avec une compréhension complète du heaven that was written with a complete understanding of the
mode d'utilisation correct de ces nouvelles caractéris- correct use of these new features.
tiques. Antérieurement, les fabricants d'ordinateurs ont quelquefois publié, pour leurs produits, des spécifications indiquant que certaines zones du système d'entrée/sortie et de la carte de mémoire sont réservées pour une extension ou une amélioration future Cependant, il existe des cas o de ticks. Previously, computer manufacturers have sometimes published specifications for their products indicating that certain areas of the I / O system and the memory card are reserved for future expansion or enhancement. of
telles zones n'ont pas été réservées. Such areas have not been reserved.
De même, certains fabricants d'ordinateurs dési- Similarly, some computer manufacturers
rant améliorer leurs produits ont cherché antérieurement à commander la qualité ou le caractère approprié du logiciel d'un tiers, par exemple en publiant des listes de logiciels appropriés Un tel procédé ne s'applique que lorsque le nombre des titres en logiciels devant être qualifiés est to improve their products have previously sought to control the quality or appropriateness of a third party's software, for example by publishing appropriate software listings. Such a process only applies when the number of software titles to be qualified is
connu et possède une faible valeur en permettant un traite- known and has low value by allowing
ment aisé.easy way.
De même, certains fabricants d'ordinateurs ont insisté antérieurement sur le fait que le logiciel devant Similarly, some computer manufacturers have previously insisted that the software
être utilisé avec les nouvelles caractéristiques perfec- to be used with the new and improved characteristics
tionnées doit être équipé d'un code matériel, connu par must be equipped with a hardware code, known by
ailleurs sous le terme "dongle", c'est-à-dire clé électro- elsewhere under the term "dongle", that is, electronic key
nique Un tel procédé implique la dépense tout d'abord d'une qualification du logiciel pour le contrôle de son ca- ractère approprié et pour son utilisation avec le nouvel ordinateur, et en second lieu, la dépense de montage d'un code matériel ou "dongle" pour chaque élément du logiciel vendu. Such a process involves the expenditure first of a qualification of the software for the control of its appropriate character and for its use with the new computer, and second, the expense of mounting a hardware code or "dongle" for each element of the software sold.
Dans le brevet US 4 462 076, on propose un sys- In US Pat. No. 4,462,076 a system is proposed.
tème qui identifie une cartouche amovible en imposant à l'unité centrale de traitement CPU de lire et de contrôler which identifies a removable cartridge by requiring the CPU to read and control
le contenu d'emplacements sélectionnés dans la cartouche. the contents of selected locations in the cartridge.
Une solution similaire est utilisée dans le système d'ordinateur Commodore 64, voir Commodore 64 Programmer;s Reference Guide, 1982, Commodore Business Machines Inc, page 263 De telles propositions requièrent que l'ordinateur possède un progiciel spécial (par exemple un logiciel ROM) lui permettant de rechercher le code A similar solution is used in the Commodore 64 computer system, see Commodore 64 Programmer's Reference Guide, 1982, Commodore Business Machines Inc, page 263 Such proposals require the computer to have a special software package (eg ROM software). ) allowing him to search for the code
d'authentification.authentication.
Le fascicule de brevet européen 67 875 et le bre- European patent specification 67 875 and the patent
vet US 4 688 169 décrivent tous deux des systèmes, dans lesquels un code spécifique à la machine ou une "signature" est écrit sur chaque copie d'un programme de sorte qu'il ne fonctionne que sur une machine spécifique identifiée par ce code ou cette signature A nouveau, il est nécessaire que le microprocesseur contrôle cet emplacement particulier de No. 4,688,169 both disclose systems in which machine-specific code or "signature" is written on each copy of a program so that it operates only on a specific machine identified by that code or this signature Again, it is necessary that the microprocessor controls this particular location of
la bande du programme.the band of the program.
Dans un autre cas, les fascicules de brevets eu- In another case, the patent specifications
ropéens 206 704 et 217 668 décrivent une cartouche de mé- 206 704 and 217 668 describe a cartridge of
moire ROM qui contient son propre microprocesseur de sorte que le signal de sortie de ce microprocesseur peut être comparé à celui d'un dispositif correspondant situé dans ROM which contains its own microprocessor so that the output signal of this microprocessor can be compared to that of a corresponding device located in
l'ordinateur principal, pour l'identification de la car- the main computer for the identification of the car-
touche Cependant, le fait de prévoir un microprocesseur dans la cartouche de mémoire ROM est à la fois coûteux et complexe. Conformément à la présente -invention, il est However, providing a microprocessor in the ROM cartridge is both expensive and complex. In accordance with the present invention, it is
prévu un système d'ordinateur caractérisé en ce qu'il com- provided a computer system characterized in that it com-
prend: une source de programme amovible, apte à être insé- rée; des moyens de mémoire pour mémoriser des instructions takes: a removable program source, suitable for insertion; memory means for storing instructions
de programme; une unité centrale de traitement pour exécu- program; a central processing unit for executing
ter des instructions de programme mémorisées; des moyens de storing stored program instructions; means of
délivrance de caractéristiques, qui contiennent des carac- delivery of characteristics, which contain characteristics
téristiques auxquelles l'accès est obtenu au moyen d'instructions à partir de l'unité CPU; et des moyens de characteristics to which access is obtained by means of instructions from the CPU unit; and means of
validation d'accès pour valider l'accès à au moins llumsélection- validation of access to validate access to at least
née des caractéristiques; les moyens de validation d'accès comprenant des moyens pour comparer une séquence d'octets, délivrée par l'unité CPU en réponse aux instructions du programme, à une séquence de référence d'octets, et pour valider les caractéristiques sélectionnées dans les moyens de délivrance de caractéristiques, en fonction du résultat born of characteristics; the access validation means comprising means for comparing a sequence of bytes, delivered by the CPU unit in response to the program instructions, to a byte reference sequence, and for validating the selected features in the means of delivery of characteristics, depending on the result
de la comparaison.of the comparison.
Conformément à la présente invention, le pro- In accordance with the present invention, the
gramme lui-même amène l'unité CPU à délivrer une séquence d'octets -C'est alors seulement, lorsque la séquence ainsi produite est conforme à la séquence de référence, que les caractéristiques additionnelles perfectionnées sont gram itself causes the CPU to output a sequence of bytes. Only then, when the sequence thus produced conforms to the reference sequence, are the additional features perfected.
mises à la disposition du programme. made available to the program.
L'invention fournit également une source de pro- The invention also provides a source of
gramme, comme par exemple une cartouche de mémoire ROM, etc, destinée à être utilisée dans un système d'ordinateur, et un procédé pour valider de façon sélective gram, such as a ROM cartridge, etc., for use in a computer system, and a method for selectively validating
des fonctions dans un système d'ordinateur. functions in a computer system.
La présente invention présente l'avantage d'être simple à mettre en oeuvre, en requérant uniquement que, The present invention has the advantage of being simple to implement, requiring only that,
sous la commande du logiciel, le processeur enregistre les. under the control of the software, the processor saves them.
séquences prédéterminées de valeurs en un emplacement de predetermined sequences of values at a location of
port spécifié pour la mise à disposition des caractéris- specified port for the provision of the characteristics
tiques améliorées Aucun progiciel spécial incorporé, du improved ticks No special software packages incorporated,
type pouvant être nécessaire dans des ordinateurs recher- may be necessary in computers that are
chant des "codes de sécurité" à des adresses spécifiques singing "security codes" to specific addresses
dans la source de programme n'est nécessaire Aucun micro- in the program source is not necessary.
processeur séparé n'est nécessaire dans la source de pro- gramme. separate processor is required in the program source.
D'autres caractéristiques et avantages de la pré- Other features and advantages of the pre-
sente invention ressortiront de la description donnée ci- invention will emerge from the description given below.
après prise en référence aux dessins annexés, sur lesquels: la figure 1 est un schéma-bloc d'un système d'ordinateur conforme à l'invention; la figure 2 est un schéma-bloc illustrant un after referring to the accompanying drawings, in which: Figure 1 is a block diagram of a computer system according to the invention; FIG. 2 is a block diagram illustrating a
circuit de blocage situé dans la microplaquette de produc- blocking circuit located in the production chip.
tion vidéo/son du système de la figure 1; la figure 3 est un organigramme illustrant lés pas mis en oeuvre lors d'un essai réussi de déblocage des nouvelles caractéristiques améliorées dans l'ordinateur; la figure 4 est un organigramme illustrant les pas mis en oeuvre lors d'un essai infructueux de déblocage des nouvelles caractéristiques; et la figure 5 est un organigramme illustrant les video / sound of the system of Figure 1; FIG. 3 is a flowchart illustrating the steps taken in a successful release test of the new improved features in the computer; FIG. 4 is a flowchart illustrating the steps implemented during an unsuccessful attempt to unblock the new characteristics; and Figure 5 is a flowchart illustrating the
pas mis en oeuvre lors d'un essai réuni de blocage des nou- not implemented in a combined test of blocking new
velles caractéristiques.characteristics.
La figure 1 représente un ordinateur comportant une unité CPU 1 (unité centrale de traitement), qui exécute FIG. 1 represents a computer comprising a CPU 1 (central processing unit), which executes
des instructions à partir du logiciel d'applications, ac- instructions from the application software, ac-
tuellement chargé Ce logiciel est chargé par l'intermé- loaded This software is loaded through
diaire d'un bus 25 dans une mémoire RAM (mémoire à accès direct) 3 et peut provenir d'une cartouche de mémoire ROM 9 (mémoire morte) raccordée au bus de l'unité CPU par 25 of a bus 25 in a random access memory (RAM) 3 and can come from a ROM memory cartridge 9 (read only memory) connected to the bus of the CPU unit by
l'intermédiaire d'un connecteur 8 de la cartouche de mé- via a connector 8 of the media cartridge
moire ROM, ou d'une disquette 12, dont le contenu est lu par l'intermédiaire d'une unité de disquette 11 et d'un contrôleur de disquette 10; ou d'une bande 14 insérée dans une cassette et dont le contenu est lu par l'intermédiaire d'un dérouleur de bande de cassette 13 Bien qu'elle soit particulièrement appropriée pour être utilisée avec une cartouche de mémoire ROM, la présente invention n'est pas ROM, or a floppy disk 12, whose contents are read through a diskette drive 11 and a floppy disk controller 10; or a tape 14 inserted in a cassette and whose contents are read through a cassette tape drive 13 Although particularly suitable for use with a ROM cartridge, the present invention 'is not
limitée à un procédé particulier de chargement de logiciel. limited to a particular software loading method.
Lorsque le programme est situé sur un disque ou une bande, When the program is located on a disk or tape,
il est introduit dans la mémoire RAM Ce mode de fonction- it is introduced in the RAM memory This operating mode
nement est également possible lorsque le programme est si- is also possible when the program is
tué dans une cartouche de mémoire ROM, bien qu'il soit pré- killed in a ROM cartridge, although it is
férable que l'unité CPU exécute une par une les instruc- that the CPU unit executes one by one the instruc-
tions directement à partir de la cartouche Dans la des- directly from the cartridge.
cription qui va suivre, on suppose que le programme est in- following description, it is assumed that the program is
troduit dans la mémoire RAM, qui est applicable aux trois troduced into RAM, which is applicable to all three
types de sources de programme.types of program sources.
L'unité CPU exécute les instructions pendant le déroulement normal du logiciel en cours, ces instructions provoquant la lecture et un enregistrement du contenu de la mémoire RAM 3, la lecture de l'état d'un clavier 7 et la lecture et l'enregistrement de registres internes et d'une mémoire dans une microplaquette de production vidéo/son 2 qui commande les caractéristiques vidéo et acoustiques de l'ordinateur Ces registres internes et cette mémoire sont The CPU executes the instructions during the normal course of the current software, these instructions causing the reading and recording of the contents of the RAM 3, the reading of the state of a keyboard 7 and the reading and recording internal registers and a memory in a video / sound production chip 2 which controls the video and acoustic characteristics of the computer. These internal registers and this memory are
des unités associées à la commande des anciennes caracté- units associated with the order of the old characters
ristiques ou caractéristiques de base, et également des basic characteristics or features, and also
unités supplémentaires associées aux nouvelles caractéris- additional units associated with the new features
tiques ou caractéristiques perfectionnées Les caractéris- characteristics or characteristics The characteristics
tiques de base sont disponibles à tous les programmes, mais basic ticks are available at all programs but
les caractéristiques perfectionnées sont disponibles uni- advanced features are available uniquely
quement aux programmes écrits avec autorisation spécifique de ces caractéristiques perfectionnées La microplaquette 2 Written programs with specific authorization for these advanced features The microchip 2
établit également le trajet de communication pour le cla- also establishes the communication path for the
vier 7 et la mémoire RAM 3 à l'intérieur du bus 25. 7 and the RAM 3 inside the bus 25.
De mêmes la microplaquette de production vi- Similarly, the production chip
déo/son 2 contient un circuit de blocage qui empêche qu'un deo / sound 2 contains a blocking circuit that prevents a
ancien logiciel n'active accidentellement les nouvelles ca- old software does not accidentally activate new
ractéristiques Ce circuit de blocage possède deux états. This blocking circuit has two states.
Lorsqu'elles sont bloquées, les nouvelles caractéristiques améliorées, ne sont pas accessibles pour l'unité CPU et lorsqu'elles sont débloquées, ces caractéristiques sont disponibles. La figure 2 représente les détails du circuit de When blocked, the new improved features are not accessible for the CPU unit and when unlocked, these features are available. Figure 2 shows the details of the circuit of
blocage situé à l'intérieur d'une microplaquette de produc- blocking inside a production chip.
tion vidéo/son Ce circuit comprend un générateur de sé- video / sound This circuit includes a se-
quences binaires pseudo-aléatoires (PRBS) constitué par des bascules bistables 15 à 22 et par les portes OU-Exclusif, qui leur sont associées Les bascules bistables 15 à 22 pseudo-random bit sequences (PRBS) consisting of bistable flip-flops 15 to 22 and the exclusive-OR gates associated therewith Bistable flip-flops 15 to 22
fonctionnent dans la pratique sous la forme de deux généra- operate in practice in the form of two genera-
teurs PRBS, chacun d'une largeur de quatre bits, qui ser- PRBS, each four-bit wide, which
vent à délivrer une séquence binaire pseudo-aléatoire PRBS wind to deliver a pseudo-random binary sequence PRBS
globale d'une largeur de huit bits L'agencement d'un géné- eight-bit wide width The arrangement of a gen-
rateur PRBS est bien connu et comprend fondamentalement un registre à décalage possédant un certain nombre d'étages, quatre comme cela est représenté, les signaux de sortie d'étages sélectionnés étant combinés et renvoyés en tant que signal d'entrée au premier étage Le générateur PRBS The PRBS generator is well known and basically comprises a shift register having a number of stages, four as shown, the selected stage output signals being combined and returned as an input signal to the first stage. PRBS
peut prendre seize états différents incluant les états for- can take sixteen different states including
més uniquement de zéros Chaque état possède une valeur unique à 8 bits apparaissant dans le bus PRBS ( 7:0) Les seize états sont désignés par PRBS(O) à PRBS( 15) Comme Zeros only Each state has a unique 8-bit value in the PRBS bus (7: 0). The sixteen states are designated PRBS (O) to PRBS (15).
cela est bien connu dans les générateurs PRBS, si l'on dé- this is well known in the PRBS generators, if one de-
signe par n_ le nombre d'étages du registre, le générateur PRBS est à même de produire une séquence pseudo-aléatoire de O et de 1 La séquence se répète avec une longueur qui, sign by n_ the number of stages of the register, the generator PRBS is able to produce a pseudo-random sequence of O and 1 The sequence is repeated with a length which,
pourvu que les connexions avec les portes soient correcte- provided that the connections to the doors are correct-
ment choisies, est égale au maximum à m_ = 2 n-1. chosen, is not more than m_ = 2 n-1.
L'état du circuit de blocage est déterminé par la bascule bistable 24 avec le signal de sortie ENF Lorsque The state of the blocking circuit is determined by the flip-flop 24 with the output signal ENF.
le signal de sortie ENF ést -égal à zéro, les caractéristi- the output signal NFE is equal to zero, the characteristics
ques améliorées sont invalidées (bloquées) Lorsque le si- improved issues are invalidated (blocked) When the
gnal ENF est égal à un, les caractéristiques améliorées sont validées et sont disponibles pour l'unité CPU (elles ENF is equal to one, the improved features are validated and are available for the CPU unit (they
sont débloquées).are unlocked).
L'état du générateur PRBS avance chaque fois que l'unité CPU exécute une instruction de sortie envoyée au The state of the PRBS generator advances each time the CPU executes an output instruction sent to the
port A, qui est un port situé dans la microplaquette vi- port A, which is a port located in the microchip vi-
déo/son 2, au moyen duquel le circuit de blocage est rac- deo / son 2, by means of which the blocking circuit is connected
cordé au bus 25, de sorte qu'une instruction de sortie en- bus 25, so that an exit instruction
voyée au port A est une instruction de sortie envoyée au port A is an exit instruction sent to the
circuit de blocage Une telle instruction de sortie pro- blocking circuit Such an output instruction pro-
duit, dans la ligne de transmission de signaux CP, une im- in the CP signal line, an im-
pulsion qui commande de façon cadencée les huit bascules impulse which controls in a rhythmic way the eight flip-flops
bistables 15 à 22 quiconstituent le générateur PRBS. bistables 15 to 22 which are the generator PRBS.
Pendant l'existence du flanc montant (actif) de cette impulsion, les données de l'unité CPU apparaissent dans le bus DI ( 7:0) et sont comparées à l'état PRBS ( 7:0) du générateur PRBS dans un comparateur 23 à 8 bits Ainsi During the existence of the rising (active) edge of this pulse, the data of the CPU unit appears in the DI bus (7: 0) and is compared to the PRBS (7: 0) state of the PRBS generator in a comparator. 23 to 8 bits
par exemple, si la valeur PRBS ( 7:0) est égale à 3 F (en no- for example, if the value PRBS (7: 0) is equal to 3 F (in
tation hexadécimale) et si l'unité CPU exécute une instruc- hexadecimal level) and if the CPU unit performs an instruction
tion délivrant une donnée ayant la valeur 3 F (en notatation delivering a data value of 3 F (notarized
hexadécimale) au port A, l'état du générateur PRBS aug- hexadecimal) at port A, the state of the PRBS generator increases
mente, le signal de sortie du comparateur 23 indiquant une the output signal of the comparator 23 indicating a
comparaison réussie.successful comparison.
Lors de l'apparition de chaque flanc positif de l'impulsion d'horloge (CF) , le générateur PRBS: a) soit avance dans sa séquence, si les données présentes dans la ligne DI ( 7:0) coïncident avec l'état PRBS ( 7:0) du générateur PRBS, b) soit positionne uniquement des 1, c'est-à-dire fait redémarrer la séquence à partir du début si le comparateur indique que la donnée ( 7:0) présente dans When each positive edge of the clock pulse (CF) appears, the generator PRBS: a) is advanced in its sequence, if the data present in the line DI (7: 0) coincide with the state PRBS (7: 0) PRBS generator, b) only positions 1, that is to say restart the sequence from the beginning if the comparator indicates that the data (7: 0) present in
DI n'est pas identique à PRBS ( 7:0). DI is not identical to PRBS (7: 0).
Lors de l'apparition de chaque flanc positif de l'impulsion d'horloge (CP) , la bascule bistable de sortie a) soit passe à un état O (bloqué), si la valeur PRBS se trouve dans l'état PRBS 14, b) soit passe à l'état 1 (débloqué), si la valeur PRBS se trouve dans l'état PRBS 15, When each positive edge of the clock pulse (CP) appears, the output bistable flip-flop a) goes to a state O (blocked), if the value PRBS is in the state PRBS 14, b) goes to state 1 (unlocked), if the value PRBS is in state PRBS 15,
c) soit conserve son état antérieur. (c) maintain its previous state.
Le signal de sortie de l'unité CPU dépend natu- The output signal of the CPU unit depends on
rellement du programme chargé de cette unité Ce programme est tiré de la source de programme, à savoir la mémoire ROM 9, l'unité de disquette 12 ou la bande en cassette 14 Par This program is taken from the program source, namely the ROM 9, the diskette drive 12, or the cassette tape 14.
conséquent, l'ordinateur peut indiquer, au moyen de la com- Therefore, the computer can indicate, by means of
paraison décrite précédemment, si le logiciel présent dans la mémoire ROM, dans la disquette ou sur la bande a été previously described, if the software in the ROM, diskette, or tape has been
écrit avec les caractéristiques améliorées ou non Ces ca- written with the improved features or not These
ractéristiques sont libérées uniquement s'il a été écrit avec ces caractéristiques améliorées en mémoire, de sorte characteristics are released only if it has been written with these improved features in memory, so
que ces caractéristiques sont mises à la disposition du lo- that these characteristics are made available to the
giciel De ce fait, le logiciel, qui a été écrit avant As a result, the software, which was written before
l'apparition des caractéristiques améliorées, ne peut ap- the appearance of the improved characteristics, can not
peler ou altérer ces dernières par inadvertance. inadvertently peel or alter these.
Chaque fois qu'il est nécessaire de faire fonc- Whenever it is necessary to
tionner le circuit de blocage et que l'état du générateur the blocking circuit and the state of the generator
PRBS est inconnu, il faut que le générateur soit synchro- PRBS is unknown, the generator must be synchronized
nisé tout d'abord au moyen du positionnement uniquement de 1, puis au moyen du positionnement uniquement de 0 Ceci first by means of the positioning of only 1, then by the positioning of only 0
provoque la remise à l'état initial du générateur PRBS. causes the PRBS generator to be reset.
Les figures 3, 4 et 5 montrent des séquences de valeurs de données de sortie de l'unité CPU permettant d'activer le circuit de blocage Ces figures s'expliquent d'elles-mêmes et c'est pourquoi on ne -les décrira pas ici FIGS. 3, 4 and 5 show sequences of output data values of the CPU unit enabling activation of the blocking circuit. These figures are self-explanatory and that is why they will not be described. right here
de façon détaillée La figure 3 est un organigramme mon- Figure 3 is a global flowchart
trant les pas mis en oeuvre lors d'un essai réussi de dé- the steps taken in a successful test of
blocage des caractéristiques améliorées La figure 4 est un organigramme montrant les pas mis en oeuvre lors d'un essai infructueux de blocage ou de déblocage des caractéristiques améliorées La figure 5 est un organigramme illustrant les pas mis en oeuvre lors d'un essai réussi de blocage des FIG. 4 is a flow chart showing the steps taken in an unsuccessful blocking or unblocking of the improved characteristics FIG. 5 is a flowchart illustrating the steps implemented during a successful blocking test. FIG. of the
nouvelles caractéristiques Les blocs représentés contien- new features The blocks shown contain
nent des valeurs hexadécimales devant être enregistrées au niveau du port A De même, PRBS ( 0-15) représente les états hexadecimal values to be recorded at port A. Similarly, PRBS (0-15) represents the states
PRBS dans l'ordre.PRBS in order.
Par conséquent, on voit que le système comprend deux parties La première partie est un mécanisme logiciel de blocage, qui compare des valeurs de données enregistrées Therefore, we see that the system has two parts The first part is a blocking software mechanism, which compares recorded data values
par l'unité CPU au niveau du port A, à l'état d'un généra- by the CPU unit at port A, in the state of a genera-
teur PRBS, et la seconde partie est un sous-programme logi- PRBS, and the second part is a logic subprogram.
ciel envoyant la séquence correcte de valeurs de données sky sending the correct sequence of data values
PRBS ( 0-15) au port A On choisit délibéremment cette sé- PRBS (0-15) at port A This deliberate choice is made
quence de valeurs de manière qu'elle soit suffisamment obs- number of values so that it is sufficiently
cure pour que la probabilité qu'un ancien logiciel active cure for that probability that an old active software
accidentellement le code soit faible au point d'être négli- accidentally the code is weak enough to be neglected
geable Ce logiciel peut être mis en oeuvre sous un grand nombre de formes différentes; il peut par exemple contenir une série d'instructions de sortie à chacune desquelles est associé un opérande de données correspondant à l'état PRBS; This software can be implemented in many different forms; it may for example contain a series of output instructions to each of which is associated a data operand corresponding to the PRBS state;
sinon, il peut comprendre une boucle à laquelle est asso- otherwise, it may include a loop to which is associated
ciée une table de consultation.a look-up table.
Le système décrit ne requiert pas une commande The system described does not require a command
détaillée, de la part du fabricant d'ordinateurs, du logi- detailed information from the computer manufacturer,
ciel devant être utilisé dans ce système et ne requiert pas sky to be used in this system and does not require
l'utilisation d'une clé électronique ou analogue. the use of an electronic key or the like.
L'invention peut être utilisée dans le cas o aucune réser- The invention can be used in the case where no reserva-
vation de zones du système d'entrée/sortie de la carte de zones of the input / output system of the
mémoire n'a été exécutée.memory has not been executed.
L'invention n'est pas limitée à une technique lo- The invention is not limited to a local technique
gicielle particulière ou à une structure particulière de programme, mais s'applique à n'importe quel logiciel apte à délivrer la séquence correcte de valeurs de données En software or to a particular program structure, but applies to any software capable of delivering the correct sequence of data values.
outre, l'invention n'est pas limitée à un support particu- Moreover, the invention is not limited to a particular support
lier d'informations pour la mémorisation du programme et en particulier est applicable à l'utilisation d'une cartouche bind information for memorizing the program and in particular is applicable to the use of a cartridge
de mémoire ROM, d'une disquette ou d'une cassette. ROM, floppy disk, or tape.
Claims (8)
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB909005916A GB9005916D0 (en) | 1990-03-16 | 1990-03-16 | Computer system |
Publications (1)
Publication Number | Publication Date |
---|---|
FR2659763A1 true FR2659763A1 (en) | 1991-09-20 |
Family
ID=10672710
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR9103217A Pending FR2659763A1 (en) | 1990-03-16 | 1991-03-15 | COMPUTER SYSTEM, PROGRAM SOURCE AND METHOD FOR SELECTIVE VALIDATION OF FUNCTIONS IN SUCH A COMPUTER SYSTEM. |
Country Status (4)
Country | Link |
---|---|
ES (1) | ES2026091A6 (en) |
FR (1) | FR2659763A1 (en) |
GB (2) | GB9005916D0 (en) |
IT (1) | IT1245221B (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0590838A2 (en) * | 1992-10-01 | 1994-04-06 | Hudson Soft Co., Ltd. | Sound processing apparatus |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2073495C (en) * | 1992-07-08 | 1999-01-12 | Michael Wright | Option selection and control |
US6789199B1 (en) * | 2000-02-08 | 2004-09-07 | International Business Machines Corporation | Tamper resistance with pseudo-random binary sequence program interlocks |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0080244A2 (en) * | 1981-11-25 | 1983-06-01 | The Magnavox Company | Method of identifying a system - allied, physically separableprogramme memory, and a data processing system using this method. |
US4462076A (en) * | 1982-06-04 | 1984-07-24 | Smith Engineering | Video game cartridge recognition and security system |
EP0180428A2 (en) * | 1984-10-29 | 1986-05-07 | V-Marc Inc | Portable computer |
EP0206704A2 (en) * | 1985-06-24 | 1986-12-30 | Nintendo Co. Limited | System for determining the authenticity of software in an information processing apparatus |
JPS62192836A (en) * | 1986-02-20 | 1987-08-24 | Nec Corp | Enciphered storage device |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS57111792A (en) * | 1980-12-29 | 1982-07-12 | Fanuc Ltd | Program copying preventing system |
US4688169A (en) * | 1985-05-30 | 1987-08-18 | Joshi Bhagirath S | Computer software security system |
JPH074449B2 (en) * | 1985-10-04 | 1995-01-25 | 任天堂株式会社 | Cartridge for game machine and game machine using the same |
-
1990
- 1990-03-16 GB GB909005916A patent/GB9005916D0/en active Pending
-
1991
- 1991-03-13 IT ITMI910669A patent/IT1245221B/en active IP Right Grant
- 1991-03-14 ES ES9100662A patent/ES2026091A6/en not_active Expired - Lifetime
- 1991-03-15 GB GB9105482A patent/GB2243701A/en not_active Withdrawn
- 1991-03-15 FR FR9103217A patent/FR2659763A1/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0080244A2 (en) * | 1981-11-25 | 1983-06-01 | The Magnavox Company | Method of identifying a system - allied, physically separableprogramme memory, and a data processing system using this method. |
US4462076A (en) * | 1982-06-04 | 1984-07-24 | Smith Engineering | Video game cartridge recognition and security system |
EP0180428A2 (en) * | 1984-10-29 | 1986-05-07 | V-Marc Inc | Portable computer |
EP0206704A2 (en) * | 1985-06-24 | 1986-12-30 | Nintendo Co. Limited | System for determining the authenticity of software in an information processing apparatus |
JPS62192836A (en) * | 1986-02-20 | 1987-08-24 | Nec Corp | Enciphered storage device |
Non-Patent Citations (1)
Title |
---|
PATENT ABSTRACTS OF JAPAN vol. 12, no. 46 (P-665)12 Février 1988 & JP-A-62 192 836 ( NEC ) * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0590838A2 (en) * | 1992-10-01 | 1994-04-06 | Hudson Soft Co., Ltd. | Sound processing apparatus |
EP0590838A3 (en) * | 1992-10-01 | 1994-09-21 | Hudson Soft Co Ltd | Sound processing apparatus |
Also Published As
Publication number | Publication date |
---|---|
IT1245221B (en) | 1994-09-13 |
GB9005916D0 (en) | 1990-05-09 |
GB2243701A (en) | 1991-11-06 |
ITMI910669A0 (en) | 1991-03-13 |
ES2026091A6 (en) | 1992-04-01 |
ITMI910669A1 (en) | 1992-09-13 |
GB9105482D0 (en) | 1991-05-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
FR2612316A1 (en) | INTEGRATED CIRCUIT BOARD HAVING INTERNAL ERROR INTELLIGENCE CAPABILITY | |
FR2828294A1 (en) | METHOD FOR GENERATING AN IMAGE IN DEAD MEMORY | |
FR2539528A1 (en) | MICROPROCESSOR SYSTEM COMPRISING TWO PROCESSORS | |
FR2480460A1 (en) | DEVICE FOR TRANSFERRING INFORMATION BETWEEN MAIN UNITS OF A DATA PROCESSING SYSTEM AND A CENTRAL SUBSYSTEM | |
CH629319A5 (en) | DATA PROCESSING FACILITY. | |
FR2528195A1 (en) | COMMUNICATION SYSTEM BETWEEN COMPUTERS | |
WO1998028720A1 (en) | Self-diagnostic or supervisory terminal and method and portable object used in such terminal or method | |
CN112000382B (en) | Linux system starting method and device and readable storage medium | |
FR2726381A1 (en) | INTELLIGENT CARD AND METHOD FOR ACCESSING ITS MEMORY OF DATA | |
BE897587A (en) | PARALLEL CIRCUIT FOR CYCLIC REDUNDANCY CONTROL | |
FR2643478A1 (en) | MAP WITH INTEGRATED CIRCUIT | |
FR2642544A1 (en) | Data processing system with a security program | |
FR2670595A1 (en) | Integrated circuit card | |
FR2659763A1 (en) | COMPUTER SYSTEM, PROGRAM SOURCE AND METHOD FOR SELECTIVE VALIDATION OF FUNCTIONS IN SUCH A COMPUTER SYSTEM. | |
FR2744539A1 (en) | Increasing number of inputs to microprocessor-based controller | |
FR2602601A1 (en) | MEMORY INITIALIZATION SYSTEM | |
CN115688120A (en) | Secure chip firmware importing method, secure chip and computer readable storage medium | |
EP1436792B1 (en) | Authentication protocol with memory integrity verification | |
EP2058746B1 (en) | Portable electronic entity, host station and associated method | |
WO2007004107A2 (en) | Method and apparatus for managing digital right licenses | |
CN113268598A (en) | Event context generation method and device, terminal equipment and storage medium | |
FR2545244A1 (en) | MEMORY UNIT COMPRISING A MEMORY AND A PROTECTION DEVICE | |
FR3035240A1 (en) | PROCESS FOR SECURING THE EXECUTION OF A PROGRAM | |
EP0683455A1 (en) | Microcomputer with integrated breakpoint circuit triggered by combined events | |
EP4086801B1 (en) | Function execution method characterized by temporal desynchronisation |