BE1006898A3 - Method and device for generating and storing a code word in a memory andprotecting the data stored in the memory - Google Patents

Method and device for generating and storing a code word in a memory andprotecting the data stored in the memory Download PDF

Info

Publication number
BE1006898A3
BE1006898A3 BE9300192A BE9300192A BE1006898A3 BE 1006898 A3 BE1006898 A3 BE 1006898A3 BE 9300192 A BE9300192 A BE 9300192A BE 9300192 A BE9300192 A BE 9300192A BE 1006898 A3 BE1006898 A3 BE 1006898A3
Authority
BE
Belgium
Prior art keywords
codeword
memory
key
data
stored
Prior art date
Application number
BE9300192A
Other languages
Dutch (nl)
Inventor
Deun Andre Van
Michel Sanne
Original Assignee
Deun Andre Van
Michel Sanne
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 Deun Andre Van, Michel Sanne filed Critical Deun Andre Van
Priority to BE9300192A priority Critical patent/BE1006898A3/en
Application granted granted Critical
Publication of BE1006898A3 publication Critical patent/BE1006898A3/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/0021Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/0092Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which are linked to media defects or read/write errors

Abstract

Method and data processing device for generating and storing a code word ina memory, which code word contains a key code word that is generated by asource that is external to the data processing device and saved in thememory, and whereby, at least during the first access to the data stored inmemory the presence of a previously determined number of components of thedata processing device is investigated and based on the components present, abasis code word is formed, which basis code word is then used to generate thekey code word, and from which basis and key code, the code word is generatedand stored in memory as protection for the data.<IMAGE>

Description

       

   <Desc/Clms Page number 1> 
 



  "Werkwijze en inrichting voor het genereren en opslaan in een geheugen van een codewoord alsook voor het beschermen van de data opqeslaqen in het   qeheuqen"  
De uitvinding heeft betrekking op een werkwijze voor het genereren en in een inlaadbaar geheugen, dat samenwerkt met een dataverwerkende inrichting, opslaan van een codewoord, welk codewoord een sleutelcodewoord bevat dat door een bron, extern aan de dataverwerkende inrichting, gegenereerd wordt en middels de dataverwerkende inrichting in het geheugen geladen wordt. 



   Een dergelijke werkwijze is bekend uit de Europese octrooiaanvrage EP-A-0 464 320. 



   Bij de bekende werkwijze levert de hardware fabrikant of leverancier een sleutelcodewoord dat eigen is aan de dataverwerkende inrichting. Zodra een geheugen, bijvoorbeeld gevormd door een floppy disk, voor het eerst in de inrichting geladen wordt, wordt in dat geheugen het sleutelcodewoord ingeschreven. De data uit het geheugen kan dan alleen nog met de betreffende inrichting gelezen worden. Hierdoor wordt een zekere mate van bescherming aan de data gegeven en kan de fabrikant of leverancier het ongeoorloofd verspreiden van zijn software enigszins afremmen. 



   Een nadeel van de bekende werkwijze is dat zij voorop stelt dat de data verwerkende inrichting zodanig uitgerust is dat het sleutelcodewoord in de microprocessor zelf of in diens vast geheugen aanwezig is, wat een welbepaalde ingreep in de hardware vereist. 

 <Desc/Clms Page number 2> 

 



   De uitvinding heeft tot doel een werkwijze te realiseren waarbij een dergelijke ingreep in de hardware niet noodzakelijk is zonder daarom afbreuk te doen aan de mogelijkheid om het ongeoorloofd gebruik van de software af te remmen. 



   Een werkwijze volgens de uitvinding heeft daartoe het kenmerk dat bij ten minste een eerste toegang naar data opgeslagen in het geheugen de aanwezigheid van een voorafbepaald aantal componenten van de dataverwerkende inrichting wordt onderzocht en bij vaststelling van de aanwezigheid respectievelijk afwezigheid van elk der componenten telkens een eerste resp. tweede identificator wordt gevormd, en waarbij uit de eerste en tweede identificatoren een basiscodewoord wordt gevormd en afgegeven, welk basiscodewoord vervolgens gebruikt wordt om het sleutelcodewoord te genereren en uit welk   basis- en sleutelcodewoord   het codewoord wordt gegenereerd en in het geheugen wordt opgeslagen bij een verdere toegang naar de data.

   Doordat het basiscodewoord gevormd is uitgaande van de eerste en tweede identificatoren die de configuratie van data verwerkende inrichting identificeren, is het basiscodewoord eigen en uniek aan die configuratie. 



  Doordat verder dit basiscodewoord gegenereerd wordt bij een eerste toegang naar de data, is de data zelf de sturende factor bij het bepalen van het basiscodewoord. De data zelf zal in samenwerking met de hardware en op basis van die configuratie van de dataverwerkende inrichting dat eigen en uniek basiscodewoord genereren. Het sleutelcodewoord wordt extern de dataverwerkende inrichting gegenereerd op basis van het basiscodewoord zodat een uniek basiscodewoord op zijn beurt leidt tot een uniek sleutelcodewoord welke combinatie leidt tot een uniek codewoord dat in het geheugen wordt opgeslagen. Hierdoor wordt dus de mogelijkheid geboden om tussen de inrichting en een geheugen met de daarin opgeslagen data, 

 <Desc/Clms Page number 3> 

 op een unieke, door de fabrikant of leverancier te controleren, wijze een link te leggen.

   Wanneer deze link gelegd is kan hiervan gebruik gemaakt worden om alleen toegang te verstrekken tot de opgeslagen data indien het geheugen in die desbetreffende data verwerkende inrichting geladen is. 



   Een eerste voorkeursuitvoeringsvorm van een werkwijze volgens de uitvinding heeft het kenmerk dat na het vaststellen van de aanwezigheid van een onderzochte component deze gekarakteriseerd wordt en hiervoor een karakterisatiewoord wordt gegenereerd dat opgenomen wordt in de eerste identificator. Door het toekennen van een karakterisatiewoord aan de onderzochte component wordt de eerste identificator scherper gedefinieerd waardoor ook het basiscodewoord scherper gedefinieerd is. Het unieke karakter van het basiscodewoord en het daaruit af te leiden sleutelcodewoord wordt hierdoor onderstreept. 



   Een tweede voorkeursuitvoeringsvorm van een werkwijze volgens de uitvinding heeft het kenmerk dat indien de aanwezigheid van een component harde schijf wordt vastgesteld er nagegaan wordt of deze harde schijf defecte sectoren (bursts) bevat, en bij aanwezigheid van dergelijke defecte sectoren de localisatie van ten minste   een   defecte sector wordt vastgesteld en verwerkt wordt in de eerste identificator. Het aantal defecte sectoren van een harde schijf en hun lokatie is voor elke schijf nagenoeg uniek. 



  Door deze identificatie op te nemen in de eerste identificator wordt zijn uniek karakter op gunstige wijze benut. 



   Zoals reeds beschreven biedt het opgeslagen codewoord een mogelijkheid om de in het geheugen opgeslagen data te beschermen tegen ongeoorloofd gebruik. Een werkwijze volgens de uitvinding voor het beschermen van de in het geheugen opgeslagen data heeft 

 <Desc/Clms Page number 4> 

 daartoe het kenmerk dat bij een gebruik van het geheugen een verder basiscodewoord wordt gegenereerd en het opgeslagen sleutelcodewoord wordt opgehaald, en waarbij uit het verder basiscodewoord en het opgehaalde sleutelcodewoord een verder codewoord wordt gegenereerd, welk verder codewoord wordt vergeleken met het opgeslagen codewoord en waarbij bij niet-correspondentie de datatoegang naar het geheugen geneutraliseerd wordt. 



  Doordat   basiscode- en sleutelcodewoord   een uniek karakter hebben dat gelinkt is aan de configuratie van de inrichting die geleid heeft tot het vormen van het basiscodewoord, zal wanneer dit geheugen in een andere data verwerkende inrichting geladen wordt, het unieke basiscodewoord nooit gegenereerd wordt omdat de configuratie van de inrichting anders is. Het verder codewoord zal dan nagenoeg nooit gelijk zijn aan het opgeslagen codewoord. De toegang tot de data zal dus geneutraliseerd worden indien geen correspondentie wordt vastgesteld, en hierdoor wordt dit geheugen uiteraard onbruikbaar. 



   Het is niet uitgesloten dat door tijdsverloop sommige veranderingen optreden in de configuratie van een dataverwerkende inrichting. Zo kunnen er bijvoorbeeld nieuwe defecte sectoren optreden in de harde schijf of kunnen bepaalde componenten vervangen, toegevoegd of verwijderd worden, zoals bijvoorbeeld de muis of de monitor. Om met dergelijke kleinere modificaties van de configuratie rekening te houden is het gunstig dat bij niet-correspondentie een voorafbepaalde afwijkingsgraad bij het verder codewoord wordt gevoegd om een codewoord gebied te vormen en nagegaan wordt of het opgeslagen codewoord binnen het codewoordgebied valt, en wanneer het opgeslagen codewoord binnen genoemd gebied valt een indicator wordt geregistreerd die genoemd codewoordgebied identificeert. 

 <Desc/Clms Page number 5> 

 



  Hierdoor zal zo een kleine modificatie niet meteen tot neutralisatie leiden. 



   De uitvinding heeft eveneens betrekking op een stelsel bevattende een sleutelcodewoord generator en een dataverwerkende inrichting welke een processoreenheid verbonden met een geheugenlaadelement voorzien voor het laden van een geheugen bevat, welk geheugenlaadelement voorzien is van een lees-en schrijforgaan voor het in het geheugen lezen en schrijven van data bevattende ten minste een sleutelcodewoord gegenereerd door de sleutelcodewoord generator.

   Een dergelijk stelsel heeft het kenmerk dat de dataverwerkende inrichting met het geheugen geladen in het geheugenlaadelement een codewoord generator bevat voorzien van aanwezigheid detectiemiddelen om bij ten minste een eerste toegang naar data opgeslagen in het geheugen de aanwezigheid van een voorafbepaald aantal componenten van de dataverwerkende inrichting te onderzoeken, en om bij vaststelling van de aanwezigheid respectievelijk afwezigheid van elk der componenten telkens een eerste respectievelijk tweede identificator te genereren en om uit eerste en tweede identificator een basiscodewoord te genereren, welk sleutelcodewoord generator een ingang heeft voor het ontvangen van het basiscodewoord en voorzien is om uit het ontvangen basiscodewoord het sleutelcodewoord te genereren,

   welke codewoord generator een ingang heeft voor het ontvangen van het sleutelcodewoord en verder voorzien is om uit genoemd basiscodewoord en genoemd sleutelcodewoord genoemd codewoord te genereren en op te slaan in genoemd geheugen. 



   De uitvinding zal nu nader toegelicht worden aan de hand van de tekening waarin :
Figuur 1 een uitvoeringsvoorbeeld laat zien van een data verwerkende inrichting ; 

 <Desc/Clms Page number 6> 

 
Figuur 2 een stroomdiagram laat zien voor het vormen en in het geheugen opslaan van het basiscodewoord ; en
Figuur 3 een stroomdiagram laat zien voor het vormen van het codewoord waarbij rekening gehouden is met afwijkingen in de configuratie van de data verwerkende inrichting. 



   Het in figuur 1 weergegeven uitvoeringsvoorbeeld van een data verwerkende inrichting geeft slechts een schematische voorstelling weer van een mogelijke uitvoeringsvorm. Het zal duidelijk zijn dat de uitvinding niet beperkt is tot de toepassing bij een dergelijke data verwerkende inrichting, maar dat zij van toepassing is bij elke data verwerkende inrichting die voorzien is van een processor eenheid, zoals bijvoorbeeld een microprocessor, en een geheugenlaadelement zoals bijvoorbeeld een lader voor een floppy disk of een andere optische of magnetische datadrager. Onder dergelijke dataverwerkende inrichtingen dient eveneens een microprocessor gestuurde injectie-ontsteking van een automobiel te worden verstaan alsook autoradio's, fototoestellen, enz... 



   De in figuur 1 weergegeven data verwerkende inrichting bevat een centrale eenheid 1 voorzien van een microprocessor 3 die verbonden is met een bus 2 bestemd voor communicatie tussen de verschillende onderdelen van de centrale eenheid. Met de bus 2 is verder een vast geheugen 4, bijvoorbeeld een RAM of een ROM, en een orgaan 5 bestemd voor communicatie met een harde schijf 6 verbonden. Een interface 7 is eveneens met de bus 2 verbonden. Met dit interface zijn verder een weergave-eenheid 10, bijvoorbeeld een monitor, een toetsenbord 11 en een muis 12 verbonden, alsook een geheugenlaadelement 8 bestemd voor het ontvangen van een inlaadbaar geheugen 9 dat bijvoorbeeld gevormd is door een floppy disk, of een optische schijf of een 

 <Desc/Clms Page number 7> 

 magnetische cassette. Het geheugenlaadelement is tevens voorzien voor het lezen en schrijven van data in het geheugen 9.

   Het geheugenlaadelement 8 en het geheugen 9 kunnen ook gevormd zijn door een interface modemlijn met lokaal geheugen. De interface modemlijn is bestemd voor communicatie en opslag van data geleverd door een externe bron via bijvoorbeeld een telefoonlijn. 



   De data die in het inlaadbaar geheugen 9 is opgeslagen dient op een effici nte wijze te worden beschermd tegen onbevoegd en/of ongeoorloofd gebruik. Hiertoe wordt volgens de uitvinding een werkwijze voorgesteld waarbij gebruik gemaakt wordt van codewoorden die gegenereerd en opgeslagen worden bij het in gebruik nemen van het geheugen met de daarin opgeslagen en te beschermen data. 



   Het in figuur 2 weergegeven stroomdiagram laat een uitvoeringsvoorbeeld zien voor het genereren en in het geheugen 9 opslaan van het codewoord. Zoals verder zal worden toegelicht is het codewoord afgeleid uit een sleutelcodewoord dat door een bron, die extern is aan de dataverwerkende inrichting wordt gegenereerd, en een basiscodewoord dat door de dataverwerkende inrichting in samenwerking met de data uit het geheugen wordt gegenereerd. Onder een externe bron wordt verstaan dat de bron, die het sleutelcodewoord genereert, geen deel uitmaakt van de dataverwerkende inrichting. Zo een externe bron wordt bijvoorbeeld beheerd door de ontwerper, fabrikant of leverancier van de software welke in het geheugen 9 is opgeslagen. 



   Veronderstel nu dat een gebruiker van de in figuur 1 weergegeven dataverwerkende inrichting het geheugen 9 bij een eerste gebruik laadt in het geheugenlaadelement 8 en de inrichting opstart (20 ; STR, fig. 2). In het geheugen 9 zijn een aantal instructies opgeslagen die in samenwerking met de microprocessor 3 een basiscodewoord zullen genereren. Het laden en 

 <Desc/Clms Page number 8> 

 adresseren van het geheugen hebben tot gevolg dat onder besturing van de microprocessor 3 een subroutine (21 ; CFT) zal worden afgehandeld. Deze subroutine maakt deel uit van de in het geheugen opgeslagen instructies. Bij het behandelen van deze subroutine wordt de aanwezigheid van een voorafbepaald aantal componenten van de dataverwerkende inrichting onderzocht. Het aantal componenten wiens aanwezigheid wordt onderzocht is afhankelijk van de beschermingsgraad die gewenst is. 



  Wanneer de presentie van meerdere componenten wordt onderzocht wordt is het mogelijk om de inrichting te identificeren. Wanneer dan bovendien het te vormen basiscodewoord een meerbitswoord is, zoals bijvoorbeeld een 14 of 20 bits codewoord, dan zal per inrichting een relatief uniek basiscodewoord worden gevormd. 



   Bij het onderzoeken naar de aanwezige componenten wordt bijvoorbeeld onderzocht of de inrichting een harde schijf 6 heeft, alsook een muis 12 en of de inrichting deel uitmaakt van een netwerk. 



  Verder kan nog onderzocht worden of het geheugen een hi rarchie heeft en zo ja of een cache geheugen aanwezig is. Telkens als de presentie van een component wordt onderzocht wordt voor die component een eerste respectievelijk tweede identificator gevormd die aangeeft of de onderzochte component aanwezig respectievelijk afwezig is. De eerste resp. tweede identificator is bijvoorbeeld gevormd door een bit met waarde   logische" 1"   resp. logische "0". 



   Naast het onderzoeken naar de aanwezigheid zelf van de component is het verder mogelijk om de desbetreffende component te karakteriseren en hiervoor een karakterisatiewoord te genereren dat opgenomen wordt in de eerste identificator. In het geval van een karakterisatiewoord zal de eerste identificator meer dan een bit bevatten. Zo zal bijvoorbeeld, nadat is vastgesteld dat een harde schijf aanwezig is, onderzocht 

 <Desc/Clms Page number 9> 

 worden hoeveel de geheugencapaciteit van die schijf bedraagt. De aldus bepaalde geheugencapaciteit zal dan de basis vormen voor het genereren van een karakterisatiewoord.

   Zo zullen bijvoorbeeld de volgende karakterisatiewoorden worden toegekend :   qeheuqencapaciteit   karakterisatiewoord
2 M Byte 001
3 M Byte 010
4 M Byte 011
5 M Byte 100
Het genereren van een karakterisatiewoord biedt de mogelijkheid om een meer uniek karakter te geven aan het te vormen basiscodewoord, omdat op deze wijze de inrichting nauwkeuriger ge dentificeerd wordt. Naast het karakteriseren van de geheugencapaciteit is het verder mogelijk om de aanwezige microprocessor te karakteriseren, de besturingskaart die monitor 10 bestuurt, de muis 12, het toetsenbord, de klokfrequentie van de microprocessor klok alsook een eventueel aanwezige co-processor. Het karakteriseren geschiedt bijvoorbeeld door de mogelijkheden van de onderzochte component af te tasten.

   Zo wordt bijvoorbeeld de capaciteit van de adresgenerator onderzocht om de geheugencapaciteit te identificeren. 



   Het is bekend dat harde schijven meestal enkele defecte sectoren (bursts) bevatten. Het aantal en de lokatie van dergelijke defecte sectoren verschilt van schijf tot schijf. Dit laatste biedt de mogelijkheid om de harde schijf op een unieke wijze te karakteriseren. Door nu een karakterisatiewoord te bepalen waarin het patroon,   d. w. z.   de localisatie van   een   of meer defecte sectoren, wordt vastgelegd ontstaat een uniek karakterisatiewoord voor die schijf en dus voor de inrichting waarvan die harde schijf deel uitmaakt. 



   Nadat de aanwezigheid van het voorafbepaald aantal componenten is onderzocht en de 

 <Desc/Clms Page number 10> 

 identificatoren zijn bepaald wordt het basiscodewoord (22 ; DT BC) bepaald. Het basiscodewoord wordt gegenereerd op basis van de eerste en tweede identificatoren. Hiertoe wordt een voorafbepaald algorithme dat deel uitmaakt van de data opgeslagen in het geheugen 9 gebruikt. Dit algorithme wordt vrij door de fabrikant of leverancier bepaald en mag diverse berekeningen bevatten. Bij voorkeur zal per geleverd geheugen 9 het algorithme verschillen ten einde het unieke karakter van het basiscodewoord te onderstrepen. 



  Het algorithme kan verder voorzien dat bijvoorbeeld naast de identificatoren gebruik gemaakt wordt van het serienummer van het geheugen. Aangezien het basiscodewoord gegenereerd wordt uitgaande van de identificatoren zal het basiscodewoord de inrichting binnen dewelke het gegenereerd wordt   nduidig identificeren. 



   Eenmaal het basiscodewoord gegenereerd, wordt onderzocht onder besturing van de microprocessor of in het geheugen 9 een sleutelcodewoord is opgeslagen (23 ; KC PR ? ). Is dit niet het geval (N), zoals bijvoorbeeld bij een eerste toegang naar de data in het geheugen, dan zal een boodschap (24 ; AK KC) worden gegenereerd waarbij de gebruiker zal worden verzocht om een sleutelcodewoord te introduceren in de inrichting, bijvoorbeeld via het toetsenbord. Tevens wordt het gevormde basiscodewoord aangeboden. Vervolgens wordt onderzocht (25 ; KC INS ? ) of het sleutelcodewoord wordt ge ntroduceerd. Geschiedt dit niet binnen een voorafbepaalde tijd (N) dan wordt de toegang tot het geheugen geneutraliseerd (26 ; NE) en is de procedure afgehandeld (33 ; STP).

   Wanneer de toegang tot het geheugen geneutraliseerd is, is toegang tot de data onmogelijk, bijvoorbeeld omdat de adresgenerator geneutraliseerd wordt, dan wel alleen mogelijk tot een beperkt gedeelte van de data omdat slechts een bepaald 

 <Desc/Clms Page number 11> 

 adres gebied wordt vrijgegeven. Het geheugen kan dan bijvoorbeeld alleen in demonstratie versie werken. 



   Wanneer de gebruiker het sleutelcodewoord niet kent, omdat het de eerste maal is dat het geheugen 9 wordt gebruikt, dan is hij verplicht om het sleutelcodewoord aan de hardware fabrikant of leverancier te vragen. Het geheugen blijft dus onbruikbaar tot zolang het sleutelcodewoord niet aangeboden werd. 



   Het sleutelcodewoord wordt dan door de fabrikant of leverancier gegenereerd middels de externe bron. Het sleutelcodewoord wordt gevormd op basis van het basiscodewoord dat door de gebruiker aan de fabrikant of leverancier wordt medegedeeld. Door het sleutelcodewoord te vormen uitgaande van het basiscodewoord, dat op zichzelf al een uniek karakter heeft, zal de combinatie   sleutel- basiscodewoord   ook uniek zijn. Door verder het sleutelcodewoord door een externe bron te laten genereren, welke door de fabrikant of leverancier beheerd wordt, kan deze laatste deze unieke combinatie kennen en hiervan gebruik maken om ongeoorloofd of onbevoegd gebruik van het geheugen en de daarin opgeslagen data na te gaan of te bewijzen. 



   Het algorithme waarmede het sleutelcodewoord wordt gegenereerd is willekeurig door de fabrikant of leverancier te kiezen en kan voor elk te genereren sleutelcodewoord anders worden gekozen. Het algorithme kan complex of eenvoudig zijn afhankelijk van de gewenste beschermingsgraad. Dat algorithme wat het sleutelcodewoord genereert kan eventueel ook in het geheugen 9 zelf geladen worden, maar dan wel versleuteld. deze laatste uitvoeringsvorm biedt de mogelijkheid om een eventuele frauduleuse poging tot het vormen van het sleutelcodewoord snel op te sporen en adequaat in te grijpen. Het laden van dat algorithme geschiedt bij voorkeur bij het laden van het sleutelcodewoord zelf. 

 <Desc/Clms Page number 12> 

 



   Om het vrijgeven van de in het geheugen opgeslagen data inclusief instructies volledig afhankelijk te maken van het overhandigen van het sleutelcodewoord wordt bij voorkeur een gedeelte van die data pas geladen in het geheugen wanneer het sleutelcodewoord geladen wordt. Op deze wijze beschikt de gebruiker pas over de volledige data wanneer het sleutelcodewoord geladen wordt. Deze uitvoeringsvorm biedt bovendien ook een oplossing tegen een onbevoegde gebruiker die er in zou zijn geslaagd het genereren van het basiscodewoord te neutraliseren. 



   Het overhandigen van het basiscodewoord geschiedt bijvoorbeeld per giraal verkeer, wat naast de betalingszekerheid ook de mogelijkheid biedt om bijvoorbeeld het gironummer van de gebruiker op te nemen in het sleutelcodewoord. 



     E nmaal   de gebruiker het sleutelcodewoord ontvangen heeft, zal hij het geheugen 9 opnieuw laden en zullen de in figuur 2 weergegeven stappen 20 tot en met 25 zieh herhalen zodat opnieuw naar het sleutelcodewoord zal worden gevraagd bij stap 24. Nu zal echter de gebruiker het sleutelcodewoord aanbieden aan de inrichting. Het sleutelcodewoord tezamen met het gevormde basiscodewoord zullen nu het codewoord vormen dat in het geheugen 9 wordt opgeslagen (27 ; ST KC + BC) of op een andere geheugenplaats van de data verwerkende inrichting. Het codewoord wordt bijvoorbeeld gevormd door   basis- en sleutelcodewoord   bij elkaar op te tellen of anderzijds te versleutelen dan wel door een stelsel dat   basis- en sleutelcodewoord   als zodanig omvat. 



   Wanneer tezamen met het sleutelcodewoord ook een gedeelte van de data geladen wordt geschiedt dit door de fabrikant zelf of door de gebruiker na ontvangst van het sleutelcodewoord. 



   Wanneer nu na het laden van het codewoord de gebruiker de opgeslagen data wenst te 

 <Desc/Clms Page number 13> 

 gebruiken dan zullen bij elk opstarten van het geheugen de stappen 20 tot en met 23 herhaald worden. Nu echter zal bij stap 23 vastgesteld worden dat er een sleutelcodewoord present is. Het codewoord (KW) wordt dan opgehaald (28 ; FT KW) en opgeslagen in een buffer. 



  Daarna wordt een verder codewoord (29 ; DT KW') (KW') gegenereerd gebruik makend van de daartoe in het geheugen 9 aanwezige algorithme. Een verder basiscodewoord wordt gegenereerd op een analoge wijze als het basiscodewoord. Het opgeslagen sleutelcodewoord wordt dan gebruikt om tezamen met het verder basiscodewoord het verder codewoord te genereren. Vervolgens wordt nagegaan (30 ; KW =   KW'     ?)   of het codewoord (KW) correspondeert met het verder codewoord (KW'). Bij een eenvoudigere uitvoeringsvorm kan deze correspondentie verificatie beperkt blijven tot een eenvoudige verificatie of een codewoord opgeslagen is. 



   Deze verificatie heeft tot doel na te gaan of het codewoord wel degelijk correct is en niet een willekeurig door de gebruiker zelf opgeslagen woord is. Wanneer verder geen correspondentie is tussen het codewoord en het verder codewoord dan is het duidelijk dat het geheugen niet op de aangewezen inrichting gebruikt wordt. Indien de correspondentie test negatief is, wordt de toegang tot de data geneutraliseerd (26 ; NE). Een negatief resultaat betekent dat de unieke combinatie van basis-en sleutelcodewoord niet herkend is, en dus dat onbevoegd gebruik van de data plaatsvindt. Dit onbevoegd gebruik wordt dan ook verhinderd door de neutralisatie van de toegang tot het geheugen. 



   Is er echter wel correspondentie vastgesteld   (30 ;   Y) dan wordt de toegang tot de data volledig vrijgegeven (32 ; ENP). De gebruiker kan dan over het geheugen en de daarin opgeslagen data beschikken. 

 <Desc/Clms Page number 14> 

 



   Het basiscodewoord wordt bepaald op basis van de presentie en eventueel de karakterisatie van de componenten van de inrichting waarin het geheugen geladen wordt. Nu kan het echter gebeuren dat deze inrichting in de loop der tijd wijzigingen ondergaat, bijvoorbeeld omdat er een muis wordt vervangen of toegevoegd, of een andere monitor wordt gebruikt. Dergelijke modificaties zullen tot consequenties hebben dat het gegenereerd basiscodewoord zal afwijken van datgene wat tot het sleutelcodewoord heeft geleid. 



  Zonder verdere maatregelen zou zo een dergelijke modificatie leiden tot het neutraliseren van de toegang tot de data in het geheugen 9. Om hieraan te verhelpen wordt een aangepaste werkwijze voorgesteld waarvan het stroomdiagram weergegeven is in figuur 3. Aan de stappen die overeenkomen met diegene uit figuur 2 is eenzelfde verwijzingscijfer toegekend. Deze stappen zullen niet verder beschreven worden. 



   Het stroomdiagram weergegeven in figuur 3 wordt onder besturing van de microprocessor afgehandeld. Na het starten (40 ; STR) en het bepalen van de identificatoren (21) wordt nagegaan of eenzelfde rijtje van identificatoren werd gevonden. Zo ja, dan wordt naar stap 22 overgegaan. Indien het rijtje identificatoren verschilend is (41 ; N) dan wordt nagegaan (42 ; PRC ? ) of slechts enkele, bijvoorbeeld     n   of twee, identificatoren verschillend zijn, wat er op wijst dat slechts   n of twee componenten gewijzigd zijn. 



  Blijkt dit het geval te zijn (42 ; Y) dan wordt een voorafbepaalde afwijkingsgraad aan het codewoord toegevoegd om een codewoordgebied te vormen. Er wordt dan nagegaan (44 ; TC ? ) of binnen het codewoord gebied correspondentie met het opgeslagen codewoord bereikt wordt. Een dergelijke afwijkingsgraad kan bijvoorbeeld gevormd worden door het toekennen van foutenmarges, of door het elimineren van sommige identificatoren, of door 

 <Desc/Clms Page number 15> 

 minder significatie bits niet in beschouwing te nemen. De afwijking wordt in de vorm van een indicator die het codewoordgebied identificeert geregistreerd ten einde bij verder gebruik verdisconteerd te worden. Wordt in stap 44 geen correspondentie bereikt dan wordt de toegang tot de data geneutraliseerd (26, NE). Wordt echter wel correspondentie bereikt dan gaat het programma verder bij stap 22. 



   Om te verhinderen dat de gebruiker dan verschillende sleutelcodes ingeeft, welke niet van de fabrikant of leverancier afkomstig zijn, wordt bij voorkeur na het invoeren (25 ; KC INS) van het sleutelcodewoord nagegaan (45 ; CC ? ) of er concordantie is tussen aangeboden codewoord en verder codewoord. Is er concordantie dan wordt naar stap 27 overgegaan, zoniet dan wordt een dode tijd van bijvoorbeeld 60 seconden (46, EX) opgelegd bij een eerste vaststelling van niet concordantie. Gedurende deze dode tijd wordt de microprocessor geneutraliseerd. Bij elke verdere vaststelling van niet-concordantie zal deze dode tijd aanzienlijk toenemen, bijvoorbeeld exponentieel zodat na enkele pogingen de microprocessor nagenoeg lam gelegd wordt. 



   Door de toegang van de data opgeslagen in het geheugen te onderwerpen aan het vaststellen dat een uniek codewoord, dat configuratie afhankelijk is, aanwezig is in het geheugen wordt een hoge mate van bescherming bereikt die er bovendien voor zorgt dat een gekopieerde versie van de data nooit zal kunnen draaien op een andere data verwerkende inrichting omdat deze laatste nagenoeg nooit dezelfde configuratie zal vertonen als diegene die tot het basiscodewoord heeft geleid.



   <Desc / Clms Page number 1>
 



  "Method and device for generating and storing in a memory of a codeword as well as for protecting the data stored in the database"
The invention relates to a method for generating and storing a code word in a loadable memory, which cooperates with a data processing device, which code word contains a key code word generated by a source external to the data processing device and by means of the data processing device is loaded into memory.



   Such a method is known from European patent application EP-A-0 464 320.



   In the known method, the hardware manufacturer or supplier supplies a key code word that is specific to the data processing device. As soon as a memory, for instance formed by a floppy disk, is loaded for the first time in the device, the key code word is written into that memory. The data from the memory can then only be read with the relevant device. This gives a certain degree of protection to the data and the manufacturer or supplier can somewhat slow down the unauthorized distribution of his software.



   A drawback of the known method is that it states first of all that the data processing device is equipped such that the key code word is present in the microprocessor itself or in its fixed memory, which requires a specific intervention in the hardware.

 <Desc / Clms Page number 2>

 



   The object of the invention is to realize a method in which such an intervention in the hardware is not necessary without, therefore, impairing the possibility of inhibiting the unauthorized use of the software.



   To this end, a method according to the invention is characterized in that at least a first access to data stored in the memory, the presence of a predetermined number of components of the data processing device is examined and, in the presence or absence of each of the components, a first each time is determined. resp. second identifier is formed, and a base codeword is formed and output from the first and second identifiers, which base codeword is then used to generate the key codeword and from which base and key codeword the codeword is generated and stored in memory at a further access to the data.

   Since the base codeword is formed from the first and second identifiers identifying the data processing device configuration, the base codeword is unique and unique to that configuration.



  Furthermore, because this basic codeword is generated during a first access to the data, the data itself is the controlling factor in determining the basic codeword. The data itself, in conjunction with the hardware and based on that configuration of the data processing device, will generate that own and unique base code word. The key codeword is externally generated by the data processing device based on the base codeword so that a unique base codeword in turn results in a unique key codeword which combination results in a unique codeword which is stored in the memory. This hereby offers the possibility between the device and a memory with the data stored therein,

 <Desc / Clms Page number 3>

 Establish a link in a unique manner, to be checked by the manufacturer or supplier.

   Once this link has been made, it can be used to provide access to the stored data only if the memory is loaded in that particular data processing device.



   A first preferred embodiment of a method according to the invention is characterized in that after determining the presence of a tested component it is characterized and a characterization word is generated for this, which is included in the first identifier. By assigning a characterization word to the examined component, the first identifier is defined more sharply, so that the base code word is also defined more sharply. This underscores the uniqueness of the base codeword and the key codeword to be derived from it.



   A second preferred embodiment of a method according to the invention is characterized in that if the presence of a component hard disk is determined, it is checked whether this hard disk contains defective sectors (bursts), and in the presence of such defective sectors the location of at least one defective sector is identified and processed in the first identifier. The number of defective sectors of a hard disk and their location is virtually unique for each disk.



  By including this identification in the first identifier, its uniqueness is advantageously utilized.



   As already described, the stored codeword offers an opportunity to protect the data stored in the memory against unauthorized use. A method according to the invention for protecting the data stored in the memory

 <Desc / Clms Page number 4>

 for this purpose the feature that, when the memory is used, a further basic codeword is generated and the stored key codeword is retrieved, and a further codeword is generated from the further basic codeword and the retrieved key codeword, which further codeword is compared with the stored codeword and wherein non-correspondence the data access to memory is neutralized.



  Because base code and key codeword have a unique character linked to the configuration of the device that led to the formation of the base code word, when this memory is loaded into another data processing device, the unique base code word will never be generated because the configuration of the device is different. The further codeword will then almost never be equal to the stored codeword. Access to the data will therefore be neutralized if no correspondence is found, and this memory will of course become unusable.



   It is not excluded that due to time lapse some changes occur in the configuration of a data processing device. For example, new defective sectors can occur in the hard disk or certain components can be replaced, added or removed, such as the mouse or monitor. In order to take into account such minor modifications of the configuration, it is advantageous that in non-correspondence a predetermined degree of deviation is added to the further codeword to form a codeword region and whether the stored codeword falls within the codeword region, and when it is stored codeword falls within said area an indicator is recorded which identifies said codeword region.

 <Desc / Clms Page number 5>

 



  As a result, such a small modification will not immediately lead to neutralization.



   The invention also relates to a system comprising a key code word generator and a data processing device which contains a processor unit connected to a memory charging element provided for loading a memory, which memory charging element is provided with a reading and writing device for reading and writing in the memory of data containing at least one key codeword generated by the key codeword generator.

   Such a system is characterized in that the data processing device with the memory loaded in the memory loading element comprises a code word generator provided with presence detection means for detecting the presence of a predetermined number of components of the data processing device with at least a first access to data stored in the memory. and to generate a first and second identifier, respectively, upon determining the presence or absence of each of the components, and to generate a basic codeword from the first and second identifiers, which key codeword generator has an input for receiving the basic codeword and is provided to generate the key codeword from the received base codeword,

   said codeword generator having an input for receiving the key codeword and further provided to generate and store said codeword from said base codeword and said key codeword in said memory.



   The invention will now be explained in more detail with reference to the drawing, in which:
Figure 1 shows an exemplary embodiment of a data processing device;

 <Desc / Clms Page number 6>

 
Figure 2 shows a flow chart for generating and storing the base codeword; and
Figure 3 shows a flow chart for forming the codeword taking into account deviations in the configuration of the data processing device.



   The exemplary embodiment of a data processing device shown in Figure 1 shows only a schematic representation of a possible embodiment. It will be clear that the invention is not limited to the application with such a data processing device, but that it applies to any data processing device that is provided with a processor unit, such as, for example, a microprocessor, and a memory charging element such as, for example, a loader for a floppy disk or other optical or magnetic data carrier. Such data-processing devices should also be understood to include a microprocessor-controlled injection ignition of an automobile, as well as car radios, cameras, etc.



   The data processing device shown in figure 1 comprises a central unit 1 provided with a microprocessor 3 which is connected to a bus 2 intended for communication between the different parts of the central unit. Furthermore, a fixed memory 4, for example a RAM or a ROM, and a means 5 intended for communication with a hard disk 6 are connected to the bus 2. An interface 7 is also connected to the bus 2. Also connected to this interface are a display unit 10, for example a monitor, a keyboard 11 and a mouse 12, as well as a memory charging element 8 intended for receiving a rechargeable memory 9, which for instance is formed by a floppy disk, or an optical disk or a

 <Desc / Clms Page number 7>

 magnetic cassette. The memory loading element is also provided for reading and writing data in the memory 9.

   The memory charging element 8 and the memory 9 may also be an interface modem line with local memory. The interface modem line is intended for communication and storage of data supplied by an external source via, for example, a telephone line.



   The data stored in the rechargeable memory 9 should be efficiently protected against unauthorized and / or unauthorized use. To this end, according to the invention, a method is proposed in which use is made of code words which are generated and stored when the memory is used with the data stored and to be protected therein.



   The flow chart shown in Figure 2 shows an exemplary embodiment for generating and storing the codeword in memory 9. As will be further explained, the codeword is derived from a key codeword generated by a source external to the data processing device and a base codeword generated by the data processing device in conjunction with the data from the memory. An external source is understood to mean that the source generating the key codeword is not part of the data processing device. Such an external source is managed, for example, by the designer, manufacturer or supplier of the software which is stored in memory 9.



   Now suppose that a user of the data processing device shown in Figure 1 loads the memory 9 into the memory loading element 8 upon first use and starts the device (20; STR, Figure 2). A number of instructions are stored in the memory 9, which will generate a base code word in cooperation with the microprocessor 3. Loading and

 <Desc / Clms Page number 8>

 addressing the memory will result in a subroutine (21; CFT) being handled under the control of the microprocessor 3. This subroutine is part of the instructions stored in memory. In the treatment of this subroutine, the presence of a predetermined number of components of the data processing device is examined. The number of components whose presence is examined depends on the degree of protection desired.



  When examining the presence of multiple components, it is possible to identify the device. If, moreover, the base code word to be formed is a multi-bit word, such as, for example, a 14 or 20 bit code word, then a relatively unique base code word will be formed for each device.



   When examining the components present, it is examined, for example, whether the device has a hard disk 6, a mouse 12 and whether the device is part of a network.



  It can also be investigated whether the memory has a hierarchy and if so whether a cache memory is present. Whenever the presence of a component is examined, a first or second identifier is formed for that component, which indicates whether the examined component is present or absent. The first resp. second identifier is formed, for example, by a bit with the value logic "1" resp. logic "0".



   In addition to investigating the presence of the component itself, it is further possible to characterize the component in question and generate a characterization word for this, which is included in the first identifier. In the case of a characterization word, the first identifier will contain more than one bit. For example, after it has been determined that a hard disk is present, it will be investigated

 <Desc / Clms Page number 9>

 how much the memory capacity of that disk is. The memory capacity thus determined will then form the basis for generating a characterization word.

   For example, the following characterization words will be assigned: qeheuqencapacity characterization word
2 M Byte 001
3M Byte 010
4 M Byte 011
5 M Byte 100
The generation of a characterization word offers the possibility to give a more unique character to the basic codeword to be formed, because in this way the device is more accurately identified. In addition to characterizing the memory capacity, it is further possible to characterize the microprocessor present, the control card controlling monitor 10, the mouse 12, the keyboard, the clock frequency of the microprocessor clock as well as any co-processor present. Characterization takes place, for example, by examining the possibilities of the component examined.

   For example, the capacity of the address generator is examined to identify the memory capacity.



   It is known that hard drives usually contain some defective sectors (bursts). The number and location of such defective sectors varies from disk to disk. The latter offers the possibility to characterize the hard disk in a unique way. By now determining a characterization word in which the pattern, d. w. z. the localization of one or more defective sectors is recorded, a unique characterization word is created for that disk and thus for the device of which that hard disk is a part.



   After the presence of the predetermined number of components has been examined and the

 <Desc / Clms Page number 10>

 identifiers are determined, the base code word (22; DT BC) is determined. The base codeword is generated from the first and second identifiers. For this purpose, a predetermined algorithm which forms part of the data stored in the memory 9 is used. This algorithm is freely determined by the manufacturer or supplier and may contain various calculations. Preferably, the algorithm will differ for each memory 9 supplied in order to underline the uniqueness of the basic codeword.



  The algorithm can further provide that, for example, the serial number of the memory is used in addition to the identifiers. Since the base code word is generated from the identifiers, the base code word will clearly identify the device within which it is generated.



   Once the basic codeword is generated, it is examined under the control of the microprocessor whether a key codeword is stored in the memory 9 (23; KC PR?). If this is not the case (N), such as, for example, with a first access to the data in the memory, a message (24; AK KC) will be generated asking the user to enter a key codeword in the device, for example via the keyboard. The basic codeword formed is also offered. Subsequently, it is examined (25; KC INS?) Whether the key code word is introduced. If this is not done within a predetermined time (N), access to the memory is neutralized (26; NE) and the procedure is completed (33; STP).

   When the access to the memory is neutralized, access to the data is impossible, for example because the address generator is neutralized, or only possible to a limited part of the data because only a certain

 <Desc / Clms Page number 11>

 address area is released. The memory can then, for example, only work in demonstration version.



   If the user does not know the key codeword, because it is the first time that the memory 9 is used, then he is obliged to ask the key codeword from the hardware manufacturer or supplier. The memory thus remains unusable until the key code word has been offered.



   The key code word is then generated by the manufacturer or supplier through the external source. The key codeword is formed from the basic codeword communicated by the user to the manufacturer or supplier. By forming the key codeword starting from the basic codeword, which in itself already has a unique character, the combination key-basic codeword will also be unique. Furthermore, by having the key codeword generated by an external source, which is managed by the manufacturer or supplier, the latter can know this unique combination and make use of it to check or detect unauthorized or unauthorized use of the memory and the data stored therein. prove.



   The algorithm by which the key codeword is generated is arbitrarily selectable by the manufacturer or supplier and can be chosen differently for each key codeword to be generated. The algorithm can be complex or simple depending on the desired degree of protection. That algorithm, which generates the key code word, may also be loaded into memory 9 itself, but then encrypted. the latter embodiment offers the possibility of quickly detecting and adequately intervening in a possible fraudulent attempt to form the key codeword. The loading of that algorithm preferably takes place when the key code word itself is loaded.

 <Desc / Clms Page number 12>

 



   In order to make the release of the data stored in the memory, including instructions, completely dependent on the handing over of the key codeword, preferably a part of that data is only loaded in the memory when the key codeword is loaded. In this way, the user only has the complete data when the key code word is loaded. This embodiment also provides a solution against an unauthorized user who would have been successful in neutralizing the base codeword generation.



   The handing over of the basic codeword is effected, for example, by cashless transfer, which, in addition to payment security, also offers the option of including, for example, the user's giro number in the key codeword.



     Once the user has received the key code word, he will reload the memory 9 and repeat the steps 20 through 25 shown in Figure 2, so that the key code word will again be requested at step 24. However, now the user will enter the key code word offer to the establishment. The key codeword together with the generated base codeword will now form the codeword which is stored in the memory 9 (27; ST KC + BC) or at another memory location of the data processing device. The codeword is formed, for example, by adding or encrypting base and key codeword or by a system comprising basic and key codeword as such.



   When a part of the data is also loaded together with the key code word, this is done by the manufacturer himself or by the user after receipt of the key code word.



   If after loading the codeword the user wishes to save the stored data

 <Desc / Clms Page number 13>

 then steps 20 through 23 will be repeated each time the memory is started. However, it will now be determined at step 23 that a key codeword is present. The codeword (KW) is then retrieved (28; FT KW) and stored in a buffer.



  A further code word (29; DT KW ') (KW') is then generated using the algorithm present for this purpose in the memory 9. A further base codeword is generated in an analogous manner as the base codeword. The stored key codeword is then used to generate the further codeword together with the further base codeword. Then it is checked (30; KW = KW '?) Whether the codeword (KW) corresponds to the further codeword (KW'). In a simpler embodiment, this correspondence verification can be limited to a simple verification whether a codeword is stored.



   The purpose of this verification is to check whether the codeword is indeed correct and not a random word stored by the user himself. Furthermore, if there is no correspondence between the codeword and the further codeword, it is clear that the memory is not used on the designated device. If the correspondence test is negative, access to the data is neutralized (26; NE). A negative result means that the unique combination of base and key codeword has not been recognized, and thus unauthorized use of the data occurs. This unauthorized use is therefore prevented by the neutralization of access to memory.



   However, if correspondence has been established (30; Y), access to the data is fully released (32; ENP). The user then has access to the memory and the data stored therein.

 <Desc / Clms Page number 14>

 



   The base codeword is determined based on the presence and optionally the characterization of the components of the device into which the memory is loaded. However, it may now happen that this device undergoes changes over time, for example because a mouse is replaced or added, or a different monitor is used. Such modifications will have the consequence that the generated base codeword will deviate from that which led to the key codeword.



  Without further measures, such a modification would neutralize access to data in memory 9. To remedy this, a modified method is proposed, the flow chart of which is shown in Figure 3. To the steps corresponding to the one in Figure 2, the same reference numeral is assigned. These steps will not be described further.



   The flow chart shown in Figure 3 is handled under the control of the microprocessor. After starting (40; STR) and determining the identifiers (21) it is checked whether the same row of identifiers has been found. If yes, then proceed to step 22. If the row of identifiers is different (41; N) then it is checked (42; PRC?) Whether only a few, for example n or two, identifiers are different, indicating that only one or two components have been changed.



  If this proves to be the case (42; Y), a predetermined degree of deviation is added to the codeword to form a codeword region. It is then checked (44; TC?) Whether within the codeword area correspondence with the stored codeword is achieved. Such a degree of deviation can be formed, for example, by the allocation of error margins, or by the elimination of some identifiers, or by

 <Desc / Clms Page number 15>

 less significance bits not to be considered. The deviation is recorded in the form of an indicator identifying the codeword area to be discounted for further use. If no correspondence is reached in step 44, access to the data is neutralized (26, NE). However, if correspondence is reached, the program continues at step 22.



   In order to prevent the user from entering different key codes, which do not come from the manufacturer or supplier, it is preferably checked after entering (25; KC INS) of the key code word (45; CC?) Whether there is concordance between the offered code word and further code word. If there is concordance, then step 27 is passed, otherwise a dead time of, for example, 60 seconds (46, EX) is imposed on a first determination of non-concordance. During this dead time, the microprocessor is neutralized. With every further determination of non-concordance, this dead time will increase considerably, for example exponentially, so that after a few attempts the microprocessor will be virtually paralyzed.



   By subjecting the access of the data stored in the memory to the determination that a unique codeword, which depends on configuration, is present in the memory, a high degree of protection is achieved, which moreover ensures that a copied version of the data is never will be able to run on another data processing device because the latter will hardly ever have the same configuration as the one that led to the base code word.


    

Claims (9)

CONCLUSIES 1. Werkwijze voor het genereren en in een inlaadbaar geheugen, dat samenwerkt met een dataverwerkende inrichting, opslaan van een codewoord, welk codewoord een sleutelcodewoord bevat dat door een bron, extern aan de dataverwerkende inrichting, gegenereerd wordt en middels de dataverwerkende inrichting in het geheugen geladen wordt, daardoor gekenmerkt, dat bij ten minste een eerste toegang naar data opgeslagen in het geheugen de aanwezigheid van een voorafbepaald aantal componenten van de dataverwerkende inrichting wordt onderzocht en bij vaststelling van de aanwezigheid respectievelijk afwezigheid van elk der componenten telkens een eerste resp.  CONCLUSIONS A method of generating and storing in a loadable memory, which cooperates with a data-processing device, a codeword, which codeword contains a key codeword generated by a source, external to the data-processing device, and in the memory by means of the data-processing device is loaded, characterized in that with at least a first access to data stored in the memory, the presence of a predetermined number of components of the data processing device is examined and, upon determining the presence or absence of each of the components, a first resp. tweede identificator wordt gevormd, en waarbij uit de eerste en tweede identificatoren een basiscodewoord wordt gevormd en afgegeven, welk basiscodewoord vervolgens gebruikt wordt om het sleutelcodewoord te genereren en uit welk basisen sleutelcodewoord het codewoord wordt gegenereerd en in het geheugen wordt opgeslagen bij een verdere toegang naar de data.  second identifier is formed, and a base codeword is formed and output from the first and second identifiers, which base codeword is then used to generate the key codeword and from which base key codeword the codeword is generated and stored in memory upon further access to the data. 2. Werkwijze volgens conclusie 1, daardoor gekenmerkt, dat na het vaststellen van de aanwezigheid van een onderzochte component deze gekarakteriseerd wordt en hiervoor een karakterisatiewoord wordt gegenereerd dat opgenomen wordt in de eerste identificator.  Method according to claim 1, characterized in that after determining the presence of a tested component, it is characterized and a characterization word is generated for this, which is included in the first identifier. 3. Werkwij ze volgens conclusie 2, daardoor gekenmerkt dat indien de aanwezigheid van een component harde schijf wordt vastgesteld er nagegaan wordt of deze harde schijf defecte sectoren (bursts) bevat, en bij aanwezigheid van dergelijke defecte sectoren de localisatie van ten minste een defecte sector wordt vastgelegd en verwerkt wordt in de eerste identificator. <Desc/Clms Page number 17>  Method according to claim 2, characterized in that if the presence of a component hard disk is determined, it is checked whether this hard disk contains defective sectors (bursts), and in the presence of such defective sectors the localization of at least one defective sector is recorded and processed in the first identifier.  <Desc / Clms Page number 17>   4. Werkwijze volgens een der conclusies 2 of 3, daardoor gekenmerkt, dat ten minste een der componenten muis, netwerk-besturingsstation (server), beeldschermkaart, co-processer, klokfrequentie van de processerklok wordt gekarakteriseerd.  Method according to either of Claims 2 and 3, characterized in that at least one of the components mouse, network control station (server), display card, co-processor, clock frequency of the processor clock is characterized. 5. Werkwijze voor het beschermen van de data opgeslagen in een inlaadbaar geheugen waarin een codewoord is opgeslagen door toepassing van de werkwijze volgens een der conclusies 1 tot en met 4, daardoor gekenmerkt dat bij een gebruik van het geheugen een verder basiscodewoord wordt gegenereerd en het opgeslagen sleutelcodewoord wordt opgehaald, en waarbij uit het verder basiscodewoord en het opgehaalde sleutelcodewoord een verder codewoord wordt gegenereerd, welk verder codewoord wordt vergeleken met het opgeslagen codewoord en waarbij bij niet-correspondentie de datatoegang naar het geheugen geneutraliseerd wordt.  Method for protecting the data stored in a loadable memory in which a codeword is stored by applying the method according to any one of claims 1 to 4, characterized in that a further basic codeword is generated when the memory is used and the stored key codeword is retrieved, and a further codeword is generated from the further basic codeword and the retrieved key codeword, which further codeword is compared with the stored codeword and, in case of non-correspondence, the data access to the memory is neutralized. 6. Werkwijze volgens conclusie 5, daardoor gekenmerkt, dat bij niet-correspondentie een voorafbepaalde afwijkingsgraad bij het verder codewoord wordt gevoegd om een codewoordgebied te vormen en nagegaan wordt of het opgeslagen codewoord binnen het codewoordgebied valt, en wanneer het opgeslagen codewoord binnen genoemd gebied valt een indicator wordt geregistreerd die genoemd codewoordgebied identificeert.  Method according to claim 5, characterized in that in case of non-correspondence a predetermined degree of deviation is added to the further codeword to form a codeword region and it is checked whether the stored codeword falls within the codeword region, and when the stored codeword falls within said region. an indicator is recorded identifying said codeword region. 7. Stelsel bevattende een sleutelcodewoord generator en een dataverwerkende inrichting welke een processoreenheid verbonden met een geheugenlaadelement voorzien voor het laden van een geheugen bevat, welk geheugenlaadelement voorzien is van een lees-en schrijforgaan voor het in het geheugen lezen en schrijven van data bevattende ten minste een sleutelcodewoord gegenereerd door de sleutelcodewoord generator, daardoor gekenmerkt dat de dataverwerkende inrichting met het geheugen geladen in het geheugenlaadelement een codewoord generator bevat <Desc/Clms Page number 18> voorzien van aanwezigheid detectiemiddelen om bij ten minste een eerste toegang naar data opgeslagen in het geheugen de aanwezigheid van een voorafbepaald aantal componenten van de dataverwerkende inrichting te onderzoeken,  System comprising a key code word generator and a data processing device which contains a processor unit connected to a memory loading element provided for loading a memory, which memory loading element is provided with a reading and writing means for reading and writing data containing at least a key codeword generated by the key codeword generator, characterized in that the data processing device with the memory loaded in the memory loading element contains a codeword generator  <Desc / Clms Page number 18>  provided with presence detection means for examining the presence of a predetermined number of components of the data processing device on at least a first access to data stored in the memory, en om bij vaststelling van de aanwezigheid respectievelijk afwezigheid van elk der componenten telkens een eerste respectievelijk tweede identificator te genereren en om uit eerste en tweede identificator een basiscodewoord te genereren, welk sleutelcodewoord generator een ingang heeft voor het ontvangen van het basiscodewoord en voorzien is om uit het ontvangen basiscodewoord het sleutelcodewoord te genereren, welke codewoord generator een ingang heeft voor het ontvangen van het sleutelcodewoord en verder voorzien is om uit genoemd basiscodewoord en genoemd sleutelcodewoord genoemd codewoord te genereren en op te slaan in genoemd geheugen.  and, upon determining the presence or absence of each of the components, each time generate a first and second identifier and to generate a basic codeword from the first and second identifiers, which key codeword generator has an input for receiving the basic codeword and is provided for the received base codeword to generate the key codeword, which codeword generator has an input for receiving the key codeword and is further provided to generate and store said codeword from said base codeword and said key codeword in said memory. 8. Dataverwerkende inrichting als onderdeel van het stelsel volgens conclusie 7, daardoor gekenmerkt dat genoemde codewoord generator voorzien is om bij gebruik van het geheugen een verder basiscodewoord te genereren en een verder codewoord uit genoemd basiscodewoord en sleutelcodewoord, welke inrichting verder van een verificatie-eenheid is voorzien om genoemd codewoord met genoemd verder codewoord te vergelijken en om bij niet correspondentie een signaal te genereren en af te geven aan een neutralisatie-eenheid voorzien om onder besturing van genoemd signaal de toegang naar het geheugen te neutraliseren.  Data processing device as part of the system according to claim 7, characterized in that said codeword generator is provided to generate a further basic codeword and a further codeword from said basic codeword and key codeword when using the memory, said apparatus further comprising a verification unit is provided to compare said codeword with said further codeword and to generate and deliver a signal to a neutralization unit in case of non-correspondence, provided to neutralize access to the memory under the control of said signal. 9. Geheugen als onderdeel van het stelsel volgens conclusie 8, daardoor gekenmerkt dat een sleutelcodewoord in het geheugen is opgeslagen.  Memory as part of the system according to claim 8, characterized in that a key codeword is stored in the memory.
BE9300192A 1993-03-01 1993-03-01 Method and device for generating and storing a code word in a memory andprotecting the data stored in the memory BE1006898A3 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
BE9300192A BE1006898A3 (en) 1993-03-01 1993-03-01 Method and device for generating and storing a code word in a memory andprotecting the data stored in the memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
BE9300192A BE1006898A3 (en) 1993-03-01 1993-03-01 Method and device for generating and storing a code word in a memory andprotecting the data stored in the memory

Publications (1)

Publication Number Publication Date
BE1006898A3 true BE1006898A3 (en) 1995-01-17

Family

ID=3886875

Family Applications (1)

Application Number Title Priority Date Filing Date
BE9300192A BE1006898A3 (en) 1993-03-01 1993-03-01 Method and device for generating and storing a code word in a memory andprotecting the data stored in the memory

Country Status (1)

Country Link
BE (1) BE1006898A3 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0302710A2 (en) * 1987-08-05 1989-02-08 International Business Machines Corporation A method of controlling the use of computer programs
GB2219421A (en) * 1988-06-03 1989-12-06 Pitney Bowes Inc Preventing unauthorised use of software
WO1991014980A1 (en) * 1990-03-20 1991-10-03 Siemens Nixdorf Informationssysteme Aktiengesellschaft Process for authenticating a user using a data station

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0302710A2 (en) * 1987-08-05 1989-02-08 International Business Machines Corporation A method of controlling the use of computer programs
GB2219421A (en) * 1988-06-03 1989-12-06 Pitney Bowes Inc Preventing unauthorised use of software
WO1991014980A1 (en) * 1990-03-20 1991-10-03 Siemens Nixdorf Informationssysteme Aktiengesellschaft Process for authenticating a user using a data station

Similar Documents

Publication Publication Date Title
CN101751452B (en) Information processing apparatus and information processing method
US3996449A (en) Operating system authenticator
JP3343130B2 (en) Method and apparatus for managing a transaction using a microcircuit card
US8250288B2 (en) Flash memory storage system and controller and data protection method thereof
NL9120015A (en) Intelligent card validation device and method
JPH11505355A (en) Data exchange system including portable data processing unit
JP2001500685A (en) Method for performing cryptographic authentication in a radio frequency identification system
JPH0444314B2 (en)
JPH04263384A (en) Method and apparatus for reinforcing protection of chip card
US11270016B2 (en) Ransomware encryption algorithm determination
JP2006172482A (en) Authentication method of memory device
CN112486607B (en) Virtual desktop authorization permission method based on combination of software and hardware
US11449612B2 (en) Ransomware remediation
EP3623981A1 (en) Index based ransomware categorisation
JPH0876994A (en) Method and device for management of software license
BE1006898A3 (en) Method and device for generating and storing a code word in a memory andprotecting the data stored in the memory
EP3091468B1 (en) Integrated circuit access
CN101004775B (en) Microcontroller and authentication method for microcontroller
US7562050B2 (en) Aging of electronic payment units
JP2004051056A (en) Electronic controller for automobile
JP2007200244A (en) Information management system and information management method
JPH0533419B2 (en)
CN111262696B (en) Key management method, device, equipment and storage medium of system on chip
TW466835B (en) Software license examining system and its examining method
JP2938832B2 (en) Card authentication system and method and recording medium

Legal Events

Date Code Title Description
RE Patent lapsed

Owner name: SANNE MICHEL

Effective date: 19950331

Owner name: VAN DEUN ANDRE

Effective date: 19950331