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 PDF

Info

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
Application number
FR9103217A
Other languages
French (fr)
Inventor
Gane Stephen David
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Amstrad PLC
Original Assignee
Amstrad PLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Amstrad PLC filed Critical Amstrad PLC
Publication of FR2659763A1 publication Critical patent/FR2659763A1/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/007Encryption, En-/decode, En-/decipher, En-/decypher, Scramble, (De-)compress

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)

REVENDICATIONS 1 Système d'ordinateur, caractérisé en ce qu'il comprend une source de programme amovible ( 9,12,14), apte à être insérée; des moyens de mémoire ( 3,9) pour mémoriser des instructions de programme; une unité centrale de traitement CPU ( 1) pour exécuter des instructions de programme mémorisées; des moyens ( 2) de délivrance de caractéristiques, qui contiennent des caractéristiques auxquelles l'accès est obtenu au moyen d'instructions à partir de l'unité CPU; et des moyens de validation d'accès (PRBS)po 4 r valider l'accès à au moins l'une sélectionnée des caractéristiques;  1 computer system, characterized in that it comprises a removable program source (9, 12, 14), able to be inserted; memory means (3, 9) for storing program instructions; a CPU (1) CPU for executing stored program instructions; feature delivery means (2), which contains features to which access is obtained by means of instructions from the CPU; and access validation means (PRBS) for enabling access to at least one of the selected features; les moyens de validation d'accès (PRBS) compre-  the access validation means (PRBS) comprises nant des moyens ( 23) 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  means (23) for comparing a sequence of bytes, delivered by the CPU in response to program instructions, to a byte reference sequence, and for validating selected features in the feature delivery means, depending on the result de la comparaison.of the comparison. 2 Système d'ordinateur selon la revendication 1,  Computer system according to claim 1, dans lequel la source de programme ( 9) comprend une car-  wherein the program source (9) comprises a car- touche de mémoire ROM.ROM memory key. 3 Système d'ordinateur selon la revendication 2, caractérisé en ce que les moyens de mémoire -( 3,9) sont constitués au moins en partie par la cartouche de mémoire  Computer system according to Claim 2, characterized in that the memory means - (3, 9) consist at least in part of the memory cartridge. ROM ( 9), et que l'unité (CPU) exécute directement des ins-  ROM (9), and that the unit (CPU) directly executes tructions contenues dans la cartouche de mémoire.  tructions contained in the memory cartridge. 4 Système d'ordinateur selon la revendication 1, caractérisé en ce que la source de programme comprend une  Computer system according to claim 1, characterized in that the program source comprises a disquette ( 12).floppy disk (12). Système d'ordinateur selon la revendication 1, caractérisé en ce que la source de programme comprend une  Computer system according to claim 1, characterized in that the program source comprises a bande en cassette ( 14).cassette tape (14). 6 Système d'ordinateur selon l'une quelconque  6 Computer system according to any one of des revendications 2, 4 et 5, caractérisé en ce que les  claims 2, 4 and 5, characterized in that the moyens de mémoire ( 3,9) comprennent une mémoire ( 9) acces-  memory means (3, 9) include a memory (9) with sible pour l'unité CPU et non située dans la source de pro-  for the CPU unit and not located in the source of pro- gramme amovible, et qu'il est en outre prévu des moyens de chargement permettant de charger un programme, situé dans la source de programme, dans la mémoire pour son exécution  gram removable, and that it is further provided charging means for loading a program, located in the program source, in the memory for its execution par l'unité CPU.by the CPU unit. 7 Système d'ordinateur selon l'une quelconque  7 Computer system according to any one of des revendications 1 à 6, caractérisé en ce que les moyens  Claims 1 to 6, characterized in that the means de validation d'accès (PRBS) comprennent un générateur de séquences binaires pseudo-aléatoires servant à produire la  Access Validation Methods (PRBS) include a pseudo-random bit sequence generator used to produce the séquence de référence d'octets.byte reference sequence. 8 Source de programme amovible destinée à être  8 Removable program source intended to be utilisée dans un système selon l'une quelconque des reven-  used in a system according to any one of the dications 1 à 7, caractérisée en ce qu'elle comprend des moyens pour amener l'unité CPU à exécuter des instructions de programme comme par exemple la délivrance d'une séquence d'octets pour la comparer à ladite séquence de référence  1 to 7, characterized in that it includes means for causing the CPU to execute program instructions such as, for example, outputting a sequence of bytes to compare it to said reference sequence. dans lesdits moyens de validation d'accès (PRBS).  in said access validation means (PRBS). 9 Procédé pour valider de façon sélective des fonctions dans un système d'ordinateur comprenant une unité  Method for selectively validating functions in a computer system comprising a unit CPU ( 1), caractérisé en ce qu'il inclut les étapes consis-  CPU (1), characterized in that it includes the steps of tant à raccorder une source de programme amovible ( 9,12,14), apte à être insérée, à un système d'ordinateur, exécuter des instructions mémorisées dans l'unité CPU ( 1) de manière à délivrer une séquence d'octets, comparer la  both to connect a removable program source (9, 12, 14), which can be inserted, to a computer system, to execute instructions stored in the CPU (1) so as to output a sequence of bytes, compare the séquence ainsi délivrée d'octets à une séquence de réfé-  sequence thus delivered from bytes to a reference sequence rence d'octets, et valider de façon sélective l'accès par l'unité CPU ( 1) à des caractéristiques sélectionnées de  bytes, and selectively enable CPU (1) access to selected fonctionnement en fonction des résultats de la comparaison.  operation according to the results of the comparison. Procédé selon la revendication 9, caractérisé en ce que la séquence de référence comprend une séquence  Method according to claim 9, characterized in that the reference sequence comprises a sequence binaire pseudo-aléatoire.pseudo-random binary.
FR9103217A 1990-03-16 1991-03-15 COMPUTER SYSTEM, PROGRAM SOURCE AND METHOD FOR SELECTIVE VALIDATION OF FUNCTIONS IN SUCH A COMPUTER SYSTEM. Pending FR2659763A1 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (5)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
PATENT ABSTRACTS OF JAPAN vol. 12, no. 46 (P-665)12 Février 1988 & JP-A-62 192 836 ( NEC ) *

Cited By (2)

* Cited by examiner, † Cited by third party
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