NO780767L - Databehandlingssystem. - Google Patents

Databehandlingssystem.

Info

Publication number
NO780767L
NO780767L NO780767A NO780767A NO780767L NO 780767 L NO780767 L NO 780767L NO 780767 A NO780767 A NO 780767A NO 780767 A NO780767 A NO 780767A NO 780767 L NO780767 L NO 780767L
Authority
NO
Norway
Prior art keywords
data
memory
signals
instruction
address
Prior art date
Application number
NO780767A
Other languages
English (en)
Inventor
Richard Johnstone
Original Assignee
Kearney & Trecker Corp
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 Kearney & Trecker Corp filed Critical Kearney & Trecker Corp
Publication of NO780767L publication Critical patent/NO780767L/no

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/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1408Protection against unauthorised use of memory or access to memory by using cryptography
    • 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]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • G06F21/123Restricting unauthorised execution of programs by using dedicated hardware, e.g. dongles, smart cards, cryptographic processors, global positioning systems [GPS] devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules

Description

Databehandlingssystem.
Oppfinnelsen angår ét* databehandlingssystem omfattende hjelpemidler for frembringelse av en rekke instruksjonssignaler som representerer programinstruksjoner for ut-førelse av bestemte databehandlingsoperasjoner og som inneholder dataadressedeler som representerer adressen, i hvilke data som gjelder disse operasjoner er lagret, hvilke instruksjonssignaler er lagret i en lagringsinnretning i systemet.
For enhver datamaskinfunksjon er det et stort antall særskilte programmer som kan innføres for å utføre funksjonen, og disse programmer kan,selv om de utfører samme endelige funksjon, være meget forskjellige med hensyn til an-tallet operasjonstrinn, hukommelseskapasiteten som er nødvendig for lagring av programmet, tiden som går med for å utføre programmet, kompatibilitet for programmet med andre, programmer som anvendes i samme datamaskin eller i samme databehandlingssystem, anvendelighet av programmet for annen' anvendelse og tiden som er nødvendig for'innføring av programmet. Disse for-skjeller er meget vesentlige ved databehandling og kan utgjøre en vesentlig forskjell med hensyn til kostnadene for data-behandlingen fordi behandlingstid, hukrommelseskapasitet og fagmessig programmeringspersonale er forholdsvis kostbare.
Omkostningsfordelene ved et spesielt program som tilbys en datamaskinanvender, gjør seg vanligvis gjeldende i den pris som programmereren setter på programmet, men denne pris er normalt basert på anvendelse av programmet for den tiltenkte databehandlingsfunksjon og gir ikke programmereren kompensering hvis programmet reproduseres eller modifiseres for anvendelse for andre databehandlingsfunksjoner. Hvis prisen for programmet er satt høyt nok for å gi programmereren kompen-sasjon for alle mulige modifikasjoner av programmet., ville dette' være uriktig overfor anvenderen som bare anvender programmet for dets tiltenkte formål og kan også forfeile enhver kostnads-fordel som programmet har i konkurranse med andre programmerere. eller endog prise programmet ut av markedet.
Selv om programmereren anvender copyright-beskyttelse for å hindre uautorisert reproduksjon av hans program eller hevde skade for uautorisert reproduksjon, står ingen patentbeskyttelse til rådighet for selve databehandlings-programmet under den nåværende lov for å hindre at den som anvender programmet kan benytte samme basisprogram med modifikasjoner for andre formål eller for å selge slike modifiserte programmer i konkurranse med programmereren. Følgelig består det et behov for et databehandlingssystem som kan hindre at en som anvender et databehandlingsprogram kan reprodusere dette
uten å hindre normal bruk av programmet for å utføre den til-siktede funksjon og uten å påvirke den normale anvendelse i datamaskinen for den som anvender programmet.
Forskjellige fremgangsmåter og apparater for koding og dekoding av digitale data for hemmeligholdelse er foreslått f.eks. i U.S.-patentskrift nr. 3-868.631, 3-958.081, 2.981.79*1 og 3.950.616. Disse kodesystemer er imidlertid beregnet på å beskytte digitale data under overføring fra et punkt til et annet mot inngrep i overføringen av en utenforstående person, og hindrer ikke at data kan reproduseres av en lovlig bruker av systemet på mottagersiden i et dataoverføringsanlegg.
Følgelig vil ingen av disse forslag løse problemet som fore-liggende oppfinnelse tar sikte på å løse.
Hensikten med oppfinnelsen er å unngå de ovenfor nevnte ulemper og dette oppnås ifølge oppfinnelsen ved at lagringsinnretningen inneholder en datahukommelse med adresse inngangsledere og datautgangsledere, midler for i datahukommelsen å lagre datasignaler som representerer størrelser som det er referert til i programinstruksjonene i adresser som er bestemt av dataadressedelen av instruksjonssignalene, en forvrenger for å forvrenge dataadressedelene i instruksjonssignalene i samsvar med en forhåndsbestemt kodenøkkel, en instruksjonshukommelse, midler for lagring av instruksjonssignalene med de deler av dataadressene som er forvrengt, i instruksjonshukommelsen i posisjoner svarende til programrekke- følgen, midler for avlesning av instruksjonssignalene fra in-struks j onshukommelsen i samsvar med programrekkefølgen og ut-førelse av instruksjonene som er representert.ved instruksjonssignalene, en forvrengningsopphever som er seriekoplet med datahukommelsesadresselederne og- som arbeider i samsvar med kode-nøkkelen for å oppheve forvrengningen av forvrengte dataadressesignaler som tilføres dennes inngang og levere de opprinnelige dataadresser til datahukommelsen, midler for tilførsel av forvrengte dataadressesignaler som avleses fra instruksjonshukommelsen til inngangen i forvrengningsoppheveren, og midler for avlesning av data fra datahukommelsen i de forvrengningsopphevede adresser i samsvar ,med programinstruksjonene for anvendelse i tilsvarende databehandlingsoperasjoner.
Ytterligere trekk ved. oppfinnelsen vil frem-gå av kravene 2-9.
Oppfinnelsen skal nedenfor forklares
nærmere under henvisning til tegningene.
Fig. 1 viser et blbkkskjema for en fore-trukket utførelsesform av oppfinnelsen. Fig. 2 viser et forløpsskjerna for et enkelt forvrengningsprogram som kan anvendes ved utførelseseksemplet på figur 1. Figur 3 viser et blokkskjema for en del av en datahukommelse med halvledere. Figur 4 viser et grunnriss for en forvrengningsopphever for det -forvrengte program på figur ' 2.
Ved utførelseseksemplet på figur 1 anvendes atskilte instruksjons- og datahukommelser for å muliggjøre at dataadresser skal kunne forvrenges uten forvrengning av program-rekkefølgen. I dette tilfelle er både instruksjonshukommelsen 10 og datahukommelsen 12 vilkårlig tilgjengelige, men i andre tilfeller kan enten den ene eller begge hukommelser være bare avlesbare hukommelser eller programmerbart bare avlesbare hukommelser. Instruksjonshukommelsen 10 mottar adresseinngangs-signaler fra en programteller 1H hvis telleverdi økes ved hjelp av pulser fra en vanlig sentral behandlingsenhet 16 og som leverer instruksjonsutgangsord til den sentrale behandlingsenhet 16. Normale programinstruksjoner med uforvrengte dataadresser får bare sine dataadresser forvrengt i samsvar med en forhånds bestemt kodenøkkel ved hjelp av en samler eller oversetter 18 med en forvrenger som beskrevet nærmere nedenfor. Programinstruksjonene med de forvrengte dataadresser innføres i instruksjonshukommelsen 10 på vanlig måte i adresser som svarer til programrekkefølgen og data innføres i datahukommelsen 12 med sine opprinnelige uforvrengte adresser. Et eksempel på en typisk uforvrengt programinstruksjon under anvendelse av Interdata Modell 70 instruksjon er vist i tabell I nedenfor:
<*>DISSE INSTRUKSJONER REFERERAR SEG TIL DATAHUKOMMELSESADRESSER.
I dette, eksempel er hukommelsesposisjonene
og instruksjonene uttrykt i heksadesimalkode, men det er klart at andre koder kan anvendes i andre eksempler. Fire heksa-desimalsifre (16 binary bits) anvendes for å spesifisere hver hukommelsesposisjon eller dataadresse og fire heksadesimal-sifre anvendes for å spesifisere hver instruksjon. Instruksjonene som er vist i tabell I er for summering av to tall som befinner seg i den bestemte adresse i datahukommelsen 12, sammenligning av resultatet av addisjohe<*>n med en forhåndsbestemt konstant som er lagret i instruksjonshukommelsen 10
og deretter forgrening hvis de sammenlignede tall er like, eller lagring av resultatet i datahukommelsen 12 hvis de er ulike.
Det er to trinn for hver instruksjon, det første trinn (f.eks. instruksjonshukommelsesposisjonen 0100) uttrykker det som er. utført3 og det andre trinn (f.eks. instruk-. sjonshukommelsesposisjonen 0102) uttrykker adressen til data som er referert til i instruksjonen eller uttrykker selve dataene hvis slike er lagret i instruksjonshukommelsen 10. Instruksjonen 4810 som er lagret i instruksjonshukommelsen i posisjonen 0100 betyr innføring i registeret #1 innholdet av dataposisjonen som, er lagret i den neste instruksjonshukommelsesposisjon 0102. Tallet som er lagret i instruksjonshukommelsens posisjon 0102
er en dataadresse like som tallene som er lagret i instruksjonshukommelsesposisjonene 0106 og 0112. Disse er bare deler av programmet som forvrenges.
Den neste instruksjon som uttrykkes ved tallene som er lagret i instruksjonshukommelsesposisjonene 0104 og 0106 skal adderes til innholdet i datapos.isj onen 0200 i registeret #1. Som følge herav vil instruksjonen som uttrykkes ved tallene som er lagret i instruksjonshukommelsesposisjonene 0108 og 010A er for å sammenligne innholdet i registeret #1 med konstanten 0010. Det skal bemerkes at konstanten 0010 som er lagret i instruksjonshukommelsesposisjonen 010A ikke er en dataadresse slik som tallene som er lagret i instruksjonshukommelsesposisjonene 0102, 0106 og 0112. Bare dataadresser blir forvrengt ved denne utførelse av oppfinnelsen.
Tabell II viser programinstruksjonene i tabell I, hvor dataadresseposisjonene er forvrengt i. samsvar med en forholdsvis enkel kodenøkkel, hvor de minst viktige 10 bits i dataadressetallet er regulært ombyttet med en bit mot urviseren, dvs. at bits #-2 til =#=10 forskyves en bit til høyre og bit #10 erstattes av bit^l.
<*>DISSE DATAHUKOMMELSESADRESSER ER FORVRENGT VED REGULÆR 0M-BYTNING AV DE MINST VIKTIGE 10 bits EN bit MOT URVISEREN.
Programmet med forvrengte dataadresser slik som vist i tabell II innføres i instruksjonshukommelsen 10, mens data som er innført i dataregisteret 12 innføres i de opprinnelige uforvrengte dataadresser som vist på tabell. I. For at programmet skal funksjonere riktig, må derfor de forvrengte dataadresser fra instruksjonshukommelsen 10 bli forvrengningsopphevet ved hjelp av en forvrengningsopphever 20 som er seriekoplet med adresseinngangslederne 22 i datahukommelsen 12. For å hindre at den som anvender datamaskinen skal kunne undersøke forvrengningsoppheveren 20 eller elektrisk skulle kunne bestemme dens kodenøkkel, blir den fortrinnsvis integrert i datahukommelsen 12 og innkapslet sammen med denne for å hindre inspeksjon eller elektrisk tilgang til data-adresseinngangslederne 22 som beskrevet nærmere nedenfor.
Figur 2 viser et forløpsskjerna for et program for forvrengning av dataadresser i instruksjonssignalene i samsvar med den ovenfor nevnte enkle kodenøkkel. Instruksjonene i tabell I og II er deler av en Interdata Modell'70 instruksjon som også innbefatter instruksjoner av kort format, presserende format,- avgreningsinstruks-joner og forskyvnings-eller ombytningsinstruksjoner, av' hvilke ingen omfatter dataadresser. Instruksjonene - som inneholder dataadresser velges ut ved en elimineringsprosess som skjer i programtrinnene 24-34 på figur 2. Instruksjoner av kort format elimineres i
trinnet 26. Instruksjoner av presserende format elimineres i trinn 28. Avgreningsinstruksjoner elimineres i trinnet 30. Forskyvnings- og ombytningsinstruksjoner elimineres i trinn 32. Alle instruksjoner som forblir har dataadresser som forvrenges
i samsvar med den ovenfor nevnte kodenøkkel i trinn 36 i programmet . Dette enkle forvrengningsprogram kan innføres i ethvert hensiktsmessig sted i et normalt samlings- eller oversettelses-program.
Forvrengningsoppheveren for den ovenfor nevnte kodenøkkel er vist på figur 4. Den består av ti ledere 38-56 som er forbundet mellom ti inngangsklemmer I]_~I-lq°S ti utgangsklemmer O^-O-^q på sådan måte at den ovenfor nevnte regulære ombytning reverserer for de minst viktige 10 bits i dataadressen 1 bit mot urviseren. Lederne 38-56 er koplet i serie med tilhørende adresseinngangsleder 22 i datahukommelsen 12 og er integrert og innkapslet sammen med denne som beskrevet ovenfor for å hindre enhver fra å undersøke lederne 38-56 for å bestemme kodenøkkelen eller fra elektrisk å utlede fra lederne 38-56 kodenøkkelen.
Figur 3 viser et utførelseseksempel på en datahukommelse 12 som er bygget opp av et antall halvlederen-heter 58 som hver inneholder en halvlederhukommelse med 1023 adskilte bits. Det er 10 adresseinngangsledere for hver enhet 58 pluss en avlesningsinngang og en innføringsinngang, en datainngang og en datautgang samt med vanlige innganger for spenning
og jord som ikke er vist på tegningene. Enhetene 58 er forbundet i et antall rekker som hver inneholder N enheter 58 hvor N er et antall bits i binære ord som er lagret i hukommelsen. Adresseinngangslederne i hver enhet 58 i samme rekke er parallellfor-bundet som avlesningsinngang og innføringsinngang.
For innføring av informasjon i hukommelsen velges den ønskede hukommelsesrekke ved hjelp av vanlige'velger-kretser 60 som reagerer på de mest viktige seks bits i data-hukommelsesadressen som vist i tabell I og II. Disse datahukommelsesadresser er ikke forvrengt. 'De minst viktige 10 bits som er forvrengt, tilføres adresseinngangene i alle enhetene 58
i den valgte hukommelsesrekke. Data som skal innføres i hver enhet 58 tilføres den tilsvarende datainngang. Den felles inn-føringsinngang blir da energisert for innføring av informasjon i den valgte enhet 58 i adressehukommelsesposisjonen. For avlesning av informasjon fra hukommelsen adresseres den ønskede hukommelsesposisjon som beskrevet ovenfor, og den felles avlesningsinngang energiseres.
I den ovenfor beskrevne halvlederhukommelse er forvrengningsoppheveren som vist på figur 4, fortrinnsvis'innordnet i'lederne i halvlederen 59 i hver enhet 58 og inn-, kapslet i et materiale som er ugjennomsiktig for å hindre undersøkelse av. lederne på halvlederlegemet, og som er sterkt nok til å sikre at de mikroskopiske ledere på halvlederen 59
blir ødelagt til utenfor gjenkjennelse hvis kapslingsmaterialet fjernes med kraft.
Når halvlederen 59 er innkapslet er det umulig å undersøke lederne på denne for å bestemme kodenøkkelen og det er umulig elektrisk å utlede kodenøkkelen. Hvis det gjøres forsøk på å fjerne kapslingsmaterialet for å frilegge lederne, vil disse som har mikroskopisk tykkelse bli ødelagt til utenfor gjenkjennelse hvis kapslingsmaterialet fjernes. Kombi-nasjonen med å danne forvrengningsoppheveren direkte på halvlederen 59 og innkapsle denne hindrer enhver fra å bestemme kodenøkkelen ved undersøkelse eller ad elektrisk vei fordi selv om inngangslederne er tilgjengelige, er utgangslederne gjemt under innkapslingsmaterialet.
Selv om den ovenfor beskrevne kodenøkkel er forholdsvis enkel, tjener den sitt formål ved å hemmeligholde det ' lagrede program i instruksjonshukommelsen 10 og hindre enhver fra å reprodusere programmet ved hjelp av informasjonen i hukom-melsene 10 og 12. For eksempel, hvis en instruksjon er innført
i posisjonen 0100 og 0102 i instruksjonshukommelsen og avleses og tolkes i samsvar med riktig instruksjon, vil dette resultere i "Innfør i registeret#1 innholdet i dataposisjonen 0080".
Dette er imidlertid ikke riktig og feilledende fordi data-' adressen 0080 er forvrengt og i virkeligheten betyr dataposisjonen 0100. Alle dataadresser i instruksjonshukommelsen 10 er forvrengt på lignende måte og derfor er infdrmasjonen i instruksjonshukommelsen 10 ubrukelig for reproduksjon av det opprinnelige program uten forvrengningskodenøkkelen. Men programmet kan ut-føres på datamaskinen uten problemer fordi alle dataadresser blir forvrengningsopphevet i adresseinngangene i datahukommelsen 12 ved hjelp av forvrengningsoppheverne i disse. Også normale vedlikeholdsoperasjoner kan utføres på datamaskinen fordi instruksjonene stemmer overens med de tilhørende instruksjoner og programrekkefølgen blir forvrengningsopphevet.
Selv om en enkel kodenøkkel anvendes i eksemplet ovenfor kan mere kompliserte kodenøkler anvendes som krever binær kodingsmatriser som forvrengningsopphevere fordi dekodingsmatrisene også kan dannes på halvlederlegemer sammen med halvlederhukommelser. Også andre metoder kan anvendes for å hindre at forvrengningsoppheveren 20 blir undersøkt eller elektrisk forespurt for å bestemme kodenøkkelen.

Claims (9)

1. Databehandlingssystem omfattende hjelpemidler for frembringelse av en rekke instruksjonssignaler som representerer programinstruksjoner for utførelse av bestemte databehandlingsoperasjoner og som inneholder dataadressedeler som representerer adressen i hvilke data som gjelder disse operasjoner er lagret-, hvilke instruksjonssignaler er lagret i en lagringsinnretning i systemet, karakterisert ved at lagringsinnretningen inneholder en datahukommelse med adresseinngangsledere og datautgangsledere, midler for i datahukommelsen å lagre datasignaler som representerer størrelser som det er referert til i programinstruksjonene i adresser som er bestemt av dataadressedelen av instruksjonssignalene, en forvrenger for å forvrenge dataadressedelene i instruksjonssignalene i samsvar med en forhåndsbestemt kodenøkkel, en instruksjonshukommelse, midler for lagring av instruksjonssignalene med de deler av'dataadressene som er forvrengt, i instruksjonshukommelsen i posisjoner svarende til programrekkefølgen, midler for avlesning av instruksjonssignalene fra instruksjonshukommelsen i samsvar med programrekkefølgen og utførelse av instruksjonene som er representert ved instruksjonssignalene, en forvrengningsopphever som er seriekoplet med datahukommelsesadresselederne og som arbeider i samsvar med kodenøkkelen for å oppheve forvrengningen av forvrengte dataadressesignaler som tilføres dennes inngang og levere de-opprinnelige dataadresser til datahukommelsen, midler for tilførsel av forvrengte dataadressesignaler som avleses fra .instruksjonshukommelsen til inngangen i forvrengningsoppheveren, og midler for avlesning av data fra datahukommelsen i de forvrengningsopphevede adresser i samsvar med programinstruksjonene for anvendelse i tilsvarende data-behandlingsoperas joner.
2. System ifølge krav 1, karakterisert ved midler for å hindre noen fra å undersøke den kodede del av forvrengningsoppheveren for å tilegne seg kodenøkkelen eller fra elektrisk å bestemme denne.'
3. System ifølge krav 1, karakterisert ved at datahukommelsen omfatter et antall halvleder-enheter som hver inneholder adresseinngangsledere og datautgangs ledere, og et antall forvrengningsopphevere som hver er seriekoplet med datahukommelsesadresselederne i en tilhørende halvlederenhet og som arbeider i samsvar med kodenøkkelen for å oppheve forvrengningen av forvrengte datasignaler som tilføres dennes inngang og tilføre forvrengningsopphevedé dataadressesignaler til den tilhørende halvlederenhet.
4. System ifølge krav 33karakterisert ved at hver forvrengningsopphever er montert på den tilhørende halvlederenhet og er innkapslet sammen med denne.
5- System ifølge krav 1; karakterisert ved at kodenøkkelen omfatter i det minste regulær ombytning av en del av de binære bits som representerer hver dataadresse i en forutbestemt retning.
6. System ifølge krav 55karakterisert ved at forvrengningsoppheveren omfatter et antall ledere, en for hver dataadresseinngangsleder forbundet med denne på en slik måte at de binære bits ombyttes regulært mot-satt den forhåndsbestemte retning for å oppheve forvrengningen av de forvrengte adresser.
7. System ifølge krav 6, karakterisert ved at datahukommelsen omfatter et antall'halvleder-enheter som hver inneholder adresseinngangsledere og datautgangsledere, og et antall forvrengningsopphevere som hver er seriekoplet med datahukommelsesadresselederne i en tilhørende halvlederenhet og som arbeider i samsvar med kodenøkkelen for å oppheve forvrengningen av forvrengte dataadressesignaler som tilføres dens inngang og å tilføre forvrengningsopphevedé dataadressesignaler til den tilhørende halvlederenhet, idet lederne i hver forvrengningsopphever er montert på en tilhørende halvlederenhet og innkapslet sammen med denne.
8. Fremgangsmåte til hemmeligholdelse av et databehandlingsprogram som er lagret i en første og andre hukommelse og som omfatter en rekke instruksjonssignaler i den første hukommelse som representerer programinstruksjoner for ut-førelse bestemte databehandlingsoperasjoner, av hvilke instruksjonssignaler noen gjelder dataadresser som representerer, adresser til posisjoner for datasignaler som vedrører vedkom-mende operasjon og er lagret i den andre hukommelse, karakterisert ved lagring av datasignalene i den andre hukommelse i posisjoner svarende til dataadressene i instruksjonssignalene, forvrengning av disse dataadresser i samsvar med en forhåndsbestemt kodenøkkel før instruksjonssignalene lagres i den første hukommelse, lagring av instruksjonssignalene innbe-fattet de. forvrengte dataadresser i den første hukommelse, avlesning av ih struksjonssignalene fra den første hukommelse, oppheving av forvrengningen av de forvrengte dataadresser i instruksjonssignalene som avleses fra den første hukommelse før de tilsvarende datasignaler avleses fra den andre hukommelse, avlesning av datasignaler som svarer til "de forvrengningsopphevedé dataadresser i instruksjonssignalene fra den andre hukommelse og utføring av programinstruksjonene som er representert ved instruksjonssignalene og datasignalene.
9. Fremgangsmåte ifølge krav 8, karakterisert ved at hver forvrengt dataadresse i et instruksjonssignal forvrengningsoppheves under avlesningen fra den første hukommelse.
NO780767A 1977-03-11 1978-03-06 Databehandlingssystem. NO780767L (no)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US05/776,702 US4120030A (en) 1977-03-11 1977-03-11 Computer software security system

Publications (1)

Publication Number Publication Date
NO780767L true NO780767L (no) 1978-09-12

Family

ID=25108144

Family Applications (1)

Application Number Title Priority Date Filing Date
NO780767A NO780767L (no) 1977-03-11 1978-03-06 Databehandlingssystem.

Country Status (10)

Country Link
US (1) US4120030A (no)
JP (1) JPS53113442A (no)
AU (1) AU500368B1 (no)
BR (1) BR7801484A (no)
DE (1) DE2810168A1 (no)
FR (1) FR2383482A1 (no)
GB (1) GB1601627A (no)
NL (1) NL7802670A (no)
NO (1) NO780767L (no)
SE (1) SE7802587L (no)

Families Citing this family (130)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4278837A (en) * 1977-10-31 1981-07-14 Best Robert M Crypto microprocessor for executing enciphered programs
US4168396A (en) * 1977-10-31 1979-09-18 Best Robert M Microprocessor for executing enciphered programs
US4238853A (en) * 1977-12-05 1980-12-09 International Business Machines Corporation Cryptographic communication security for single domain networks
US4227253A (en) * 1977-12-05 1980-10-07 International Business Machines Corporation Cryptographic communication security for multiple domain networks
US4386234A (en) * 1977-12-05 1983-05-31 International Business Machines Corp. Cryptographic communication and file security using terminals
US4238854A (en) * 1977-12-05 1980-12-09 International Business Machines Corporation Cryptographic file security for single domain networks
US4259720A (en) * 1978-01-09 1981-03-31 Interbank Card Association Security system for electronic funds transfer system
US4408203A (en) * 1978-01-09 1983-10-04 Mastercard International, Inc. Security system for electronic funds transfer system
US4352952A (en) * 1978-06-12 1982-10-05 Motorola Inc. Data security module
CA1147823A (en) * 1978-07-24 1983-06-07 Robert M. Best Crypto microprocessor for executing enciphered programs
US4246638A (en) * 1978-09-14 1981-01-20 Thomas William J Method and apparatus for controlling usage of a programmable computing machine
US4249180A (en) * 1978-09-20 1981-02-03 Northern Telecom Limited Past dependent microcomputer cipher apparatus
US4281216A (en) * 1979-04-02 1981-07-28 Motorola Inc. Key management for encryption/decryption systems
US4465901A (en) * 1979-06-04 1984-08-14 Best Robert M Crypto microprocessor that executes enciphered programs
DE2923738A1 (de) * 1979-06-12 1980-12-18 Joepgen Hans Georg Vorkehrungen gegen die unbefugte entfernung urheberrechtlicher vermerke aus programmen in hoeheren programmiersprachen wie basic und focal
US4306289A (en) * 1980-02-04 1981-12-15 Western Electric Company, Inc. Digital computer having code conversion apparatus for an encrypted program
US4506325A (en) * 1980-03-24 1985-03-19 Sperry Corporation Reflexive utilization of descriptors to reconstitute computer instructions which are Huffman-like encoded
US4513174A (en) * 1981-03-19 1985-04-23 Standard Microsystems Corporation Software security method using partial fabrication of proprietary control word decoders and microinstruction memories
US4408093A (en) * 1981-06-05 1983-10-04 Itt Industries, Inc. Cryptographic encoder-decoder
US4433207A (en) * 1981-09-10 1984-02-21 Best Robert M Cryptographic decoder for computer programs
US4471163A (en) * 1981-10-05 1984-09-11 Donald Thomas C Software protection system
US4593353A (en) * 1981-10-26 1986-06-03 Telecommunications Associates, Inc. Software protection method and apparatus
US4670857A (en) * 1981-10-26 1987-06-02 Rackman Michael I Cartridge-controlled system whose use is limited to authorized cartridges
US4965825A (en) 1981-11-03 1990-10-23 The Personalized Mass Media Corporation Signal processing apparatus and methods
USRE47642E1 (en) 1981-11-03 2019-10-08 Personalized Media Communications LLC Signal processing apparatus and methods
US7831204B1 (en) 1981-11-03 2010-11-09 Personalized Media Communications, Llc Signal processing apparatus and methods
US4442486A (en) * 1981-11-25 1984-04-10 U.S. Philips Corporation Protected programmable apparatus
JPS58116571A (ja) * 1981-12-29 1983-07-11 富士通株式会社 マイクロコンピユ−タに於ける命令暗号化方式及びその実施に使用されるマイクロコンピユ−タ
FR2523745B1 (fr) * 1982-03-18 1987-06-26 Bull Sa Procede et dispositif de protection d'un logiciel livre par un fournisseur a un utilisateur
US4649510A (en) * 1982-04-30 1987-03-10 Schmidt Walter E Methods and apparatus for the protection and control of computer programs
US4525599A (en) * 1982-05-21 1985-06-25 General Computer Corporation Software protection methods and apparatus
US4462076A (en) * 1982-06-04 1984-07-24 Smith Engineering Video game cartridge recognition and security system
WO1984000225A1 (en) * 1982-06-21 1984-01-19 Daniel Muessli Method for scrambling digital information and device for implementing such method
US4523271A (en) * 1982-06-22 1985-06-11 Levien Raphael L Software protection method and apparatus
US4603381A (en) * 1982-06-30 1986-07-29 Texas Instruments Incorporated Use of implant process for programming ROM type processor for encryption
US4521853A (en) * 1982-06-30 1985-06-04 Texas Instruments Incorporated Secure microprocessor/microcomputer with secured memory
US4558176A (en) * 1982-09-20 1985-12-10 Arnold Mark G Computer systems to inhibit unauthorized copying, unauthorized usage, and automated cracking of protected software
US4562305A (en) * 1982-12-22 1985-12-31 International Business Machines Corporation Software cryptographic apparatus and method
DE3415209A1 (de) * 1983-04-29 1984-10-31 N.V. Philips' Gloeilampenfabrieken, Eindhoven Speichereinheit mit einem speicher und einer schutzeinheit
US4573119A (en) * 1983-07-11 1986-02-25 Westheimer Thomas O Computer software protection system
US4550350A (en) * 1983-07-19 1985-10-29 Software Distribution Newtork, Inc. Secure copy method and device for stored programs
DE3335387A1 (de) * 1983-09-29 1985-04-11 Siemens Ag Verfahren zur verhinderung des ablaufs eines programms auf fuer den ablauf dieses programms nicht zugelassenen rechnern
FR2553541B1 (fr) * 1983-10-17 1992-02-28 Inst Nat Rech Inf Automat Dispositif et procede pour le stockage rapide et stable d'informations
GB2149944A (en) * 1983-11-14 1985-06-19 Softnet Inc Software distribution
US4716586A (en) * 1983-12-07 1987-12-29 American Microsystems, Inc. State sequence dependent read only memory
US4633388A (en) * 1984-01-18 1986-12-30 Siemens Corporate Research & Support, Inc. On-chip microprocessor instruction decoder having hardware for selectively bypassing on-chip circuitry used to decipher encrypted instruction codes
FR2566938B1 (fr) * 1984-06-29 1989-08-18 Texas Instruments France Memoire permettant de transformer un flot de mots de donnees en un autre flot de mots de donnees
US4747139A (en) * 1984-08-27 1988-05-24 Taaffe James L Software security method and systems
GB2165377A (en) * 1984-09-19 1986-04-09 Itt Ind Ltd A computer element
US4860128A (en) * 1985-04-24 1989-08-22 Nintendo Co., Ltd. Recordable data device having identification symbols formed thereon and cooperating data processing system having registering symbols
US4688169A (en) * 1985-05-30 1987-08-18 Joshi Bhagirath S Computer software security system
CA1270339A (en) * 1985-06-24 1990-06-12 Katsuya Nakagawa System for determining a truth of software in an information processing apparatus
AT390148B (de) * 1985-08-22 1990-03-26 Novomatic Automatenindustrie U Anordnung zum entschluesseln von befehlen
USRE34161E (en) * 1985-10-04 1993-01-12 Nintendo Company Limited Memory cartridge and information processor unit using such cartridge
JPH074449B2 (ja) * 1985-10-04 1995-01-25 任天堂株式会社 ゲ−ム機用カ−トリツジとそれを用いるゲ−ム機
US4864494A (en) * 1986-03-21 1989-09-05 Computerized Data Ssytems For Mfg., Inc. Software usage authorization system with key for decrypting/re-encrypting/re-transmitting moving target security codes from protected software
JPS62260244A (ja) * 1986-05-06 1987-11-12 Nintendo Co Ltd メモリカ−トリツジ
US5226136A (en) * 1986-05-06 1993-07-06 Nintendo Company Limited Memory cartridge bank selecting apparatus
GB8619989D0 (en) * 1986-08-16 1986-09-24 Modray Ltd Controlling length of time
US4977594A (en) * 1986-10-14 1990-12-11 Electronic Publishing Resources, Inc. Database usage metering and protection system and method
US5050213A (en) * 1986-10-14 1991-09-17 Electronic Publishing Resources, Inc. Database usage metering and protection system and method
US5109413A (en) * 1986-11-05 1992-04-28 International Business Machines Corporation Manipulating rights-to-execute in connection with a software copy protection mechanism
US4817140A (en) * 1986-11-05 1989-03-28 International Business Machines Corp. Software protection system using a single-key cryptosystem, a hardware-based authorization system and a secure coprocessor
CA1330596C (en) * 1986-11-19 1994-07-05 Yoshiaki Nakanishi Memory cartridge and data processing apparatus
US5224160A (en) * 1987-02-23 1993-06-29 Siemens Nixdorf Informationssysteme Ag Process for securing and for checking the integrity of the secured programs
JP2710316B2 (ja) * 1987-08-26 1998-02-10 任天堂株式会社 パスワード作成装置およびパスワード作成装置を用いたゲーム機
US5007082A (en) * 1988-08-03 1991-04-09 Kelly Services, Inc. Computer software encryption apparatus
US4926476A (en) * 1989-02-03 1990-05-15 Motorola, Inc. Method and apparatus for secure execution of untrusted software
CA2053261A1 (en) * 1989-04-28 1990-10-29 Gary D. Hornbuckle Method and apparatus for remotely controlling and monitoring the use of computer software
AU641397B2 (en) * 1989-04-28 1993-09-23 Softel, Inc. Method and apparatus for remotely controlling and monitoring the use of computer software
US5081675A (en) * 1989-11-13 1992-01-14 Kitti Kittirutsunetorn System for protection of software in memory against unauthorized use
GB2248702B (en) * 1990-10-11 1994-11-02 Viserge Limited Data-processing apparatus
DE4120398A1 (de) * 1991-06-20 1993-01-07 Standard Elektrik Lorenz Ag Datenverarbeitungsanlage
US5416840A (en) * 1993-07-06 1995-05-16 Phoenix Technologies, Ltd. Software catalog encoding method and system
FR2719680B1 (fr) * 1994-05-05 1996-07-12 Gemplus Card Int Procédé de sécurisation des accès aux cartes amovibles pour ordinateur.
US5530751A (en) * 1994-06-30 1996-06-25 Hewlett-Packard Company Embedded hidden identification codes in digital objects
US5559884A (en) * 1994-06-30 1996-09-24 Microsoft Corporation Method and system for generating and auditing a signature for a computer program
US7133846B1 (en) 1995-02-13 2006-11-07 Intertrust Technologies Corp. Digital certificate support system, methods and techniques for secure electronic commerce transaction and rights management
US7095854B1 (en) 1995-02-13 2006-08-22 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
US7124302B2 (en) 1995-02-13 2006-10-17 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
US6157721A (en) * 1996-08-12 2000-12-05 Intertrust Technologies Corp. Systems and methods using cryptography to protect secure computing environments
US6658568B1 (en) 1995-02-13 2003-12-02 Intertrust Technologies Corporation Trusted infrastructure support system, methods and techniques for secure electronic commerce transaction and rights management
US5943422A (en) 1996-08-12 1999-08-24 Intertrust Technologies Corp. Steganographic techniques for securely delivering electronic digital rights management control information over insecure communication channels
US7069451B1 (en) 1995-02-13 2006-06-27 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
US5892900A (en) * 1996-08-30 1999-04-06 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
US7165174B1 (en) 1995-02-13 2007-01-16 Intertrust Technologies Corp. Trusted infrastructure support systems, methods and techniques for secure electronic commerce transaction and rights management
US7133845B1 (en) 1995-02-13 2006-11-07 Intertrust Technologies Corp. System and methods for secure transaction management and electronic rights protection
US8639625B1 (en) 1995-02-13 2014-01-28 Intertrust Technologies Corporation Systems and methods for secure transaction management and electronic rights protection
US6948070B1 (en) 1995-02-13 2005-09-20 Intertrust Technologies Corporation Systems and methods for secure transaction management and electronic rights protection
CN100501754C (zh) 1995-02-13 2009-06-17 英特特拉斯特技术公司 用于安全交易管理和电子权利保护的系统和方法
US7143290B1 (en) 1995-02-13 2006-11-28 Intertrust Technologies Corporation Trusted and secure techniques, systems and methods for item delivery and execution
US6071191A (en) * 1995-11-22 2000-06-06 Nintendo Co., Ltd. Systems and methods for providing security in a video game system
US6190257B1 (en) 1995-11-22 2001-02-20 Nintendo Co., Ltd. Systems and method for providing security in a video game system
EP0880840A4 (en) 1996-01-11 2002-10-23 Mrj Inc DEVICE FOR CONTROLLING ACCESS AND DISTRIBUTION OF DIGITAL PROPERTY
US5892826A (en) * 1996-01-30 1999-04-06 Motorola, Inc. Data processor with flexible data encryption
US20010011253A1 (en) * 1998-08-04 2001-08-02 Christopher D. Coley Automated system for management of licensed software
US5745570A (en) * 1996-04-15 1998-04-28 International Business Machines Corporation Object-oriented programming environment that provides object encapsulation via encryption
US6049609A (en) * 1997-08-06 2000-04-11 Intel Corporation Cell array providing non-persistent secret storage through a mutation cycle
US6052780A (en) * 1996-09-12 2000-04-18 Open Security Solutions, Llc Computer system and process for accessing an encrypted and self-decrypting digital information product while restricting access to decrypted digital information
GB2321728B (en) * 1997-01-30 2001-12-19 Motorola Inc Apparatus and method for accessing secured data stored in a portable data carrier
US7062500B1 (en) 1997-02-25 2006-06-13 Intertrust Technologies Corp. Techniques for defining, using and manipulating rights management data structures
US5920861A (en) * 1997-02-25 1999-07-06 Intertrust Technologies Corp. Techniques for defining using and manipulating rights management data structures
JPH10301772A (ja) * 1997-04-30 1998-11-13 Sony Corp 情報処理装置および情報処理方法、並びに記録媒体
US6381740B1 (en) 1997-09-16 2002-04-30 Microsoft Corporation Method and system for incrementally improving a program layout
US7092914B1 (en) 1997-11-06 2006-08-15 Intertrust Technologies Corporation Methods for matching, selecting, narrowcasting, and/or classifying based on rights management and/or other information
US6112181A (en) * 1997-11-06 2000-08-29 Intertrust Technologies Corporation Systems and methods for matching, selecting, narrowcasting, and/or classifying based on rights management and/or other information
US7233948B1 (en) 1998-03-16 2007-06-19 Intertrust Technologies Corp. Methods and apparatus for persistent control and protection of content
US6957341B2 (en) * 1998-05-14 2005-10-18 Purdue Research Foundation Method and system for secure computational outsourcing and disguise
FI981232A (fi) * 1998-06-01 1999-12-02 Nokia Mobile Phones Ltd Menetelmä sulautetun järjestelmän ohjelmiston suojaamiseksi ja sulautettu järjestelmä
US6473861B1 (en) 1998-12-03 2002-10-29 Joseph Forte Magnetic optical encryption/decryption disk drive arrangement
US7430670B1 (en) 1999-07-29 2008-09-30 Intertrust Technologies Corp. Software self-defense systems and methods
US7243236B1 (en) 1999-07-29 2007-07-10 Intertrust Technologies Corp. Systems and methods for using cryptography to protect secure and insecure computing environments
US7757097B2 (en) * 1999-09-03 2010-07-13 Purdue Research Foundation Method and system for tamperproofing software
US7287166B1 (en) 1999-09-03 2007-10-23 Purdue Research Foundation Guards for application in software tamperproofing
GB9930145D0 (en) * 1999-12-22 2000-02-09 Kean Thomas A Method and apparatus for secure configuration of a field programmable gate array
US20070288765A1 (en) * 1999-12-22 2007-12-13 Kean Thomas A Method and Apparatus for Secure Configuration of a Field Programmable Gate Array
US7240218B2 (en) * 2000-02-08 2007-07-03 Algotronix, Ltd. Method of using a mask programmed key to securely configure a field programmable gate array
US6792528B1 (en) * 2000-05-17 2004-09-14 Chien-Tzu Hou Method and apparatus for securing data contents of a non-volatile memory device
AU2001270814A1 (en) * 2000-07-18 2002-01-30 Bitarts Limited Digital data protection arrangement
WO2002079955A2 (en) * 2001-03-28 2002-10-10 Nds Limited Digital rights management system and method
DE10124139A1 (de) * 2001-05-17 2002-11-21 Philips Corp Intellectual Pty Verfahren und Vorrichtung zur Sicherung der Datenübertragung zwischen einem Zentralprozessor und einem Speicher
GB0114317D0 (en) * 2001-06-13 2001-08-01 Kean Thomas A Method of protecting intellectual property cores on field programmable gate array
US8510571B1 (en) 2003-03-24 2013-08-13 Hoi Chang System and method for inserting security mechanisms into a software program
DE10318730A1 (de) * 2003-04-25 2004-11-11 Conti Temic Microelectronic Gmbh Verfahren zum Betreiben einer Datenverarbeitungseinheit sowie Datenverarbeitungssystem zur Durchführung des Verfahrens
TWI222598B (en) * 2003-07-09 2004-10-21 Sunplus Technology Co Ltd Device and method protecting data by scrambling address lines
JP4930028B2 (ja) * 2006-12-13 2012-05-09 ソニー株式会社 情報処理装置、情報処理方法、プログラム
US8769296B2 (en) * 2009-10-19 2014-07-01 Uniloc Luxembourg, S.A. Software signature tracking
ITCR20090044A1 (it) * 2009-12-17 2011-06-18 Alessandro Landi Procedimento per la gestione sicura di dati sensibili da mantenere segreti in un intervallo di tempo prefissato.
US10200345B2 (en) 2013-10-29 2019-02-05 Uniloc 2017 Llc Electronic mail sender verification
US11240022B1 (en) * 2019-04-11 2022-02-01 Wells Fargo Bank, N.A. Passive encryption rotation keys

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3609697A (en) * 1968-10-21 1971-09-28 Ibm Program security device
US3662343A (en) * 1970-07-29 1972-05-09 Docutel Corp Credit card automatic currency dispenser
US3798359A (en) * 1971-06-30 1974-03-19 Ibm Block cipher cryptographic system
US3798605A (en) * 1971-06-30 1974-03-19 Ibm Centralized verification system
GB1414126A (en) * 1971-11-22 1975-11-19 Key Tronic Ltd Secutity for computer systems
US3943492A (en) * 1972-08-17 1976-03-09 Oak Industries Inc. Plural storage system
US4010451A (en) * 1972-10-03 1977-03-01 National Research Development Corporation Data structure processor
GB1481849A (en) * 1973-08-02 1977-08-03 Nippon Telegraph & Telephone Digital code transmission systems
FR111574A (no) * 1973-12-13 1900-01-01
US3920894A (en) * 1974-03-11 1975-11-18 Bell Telephone Labor Inc Pseudo-random parallel word generator
US3909802A (en) * 1974-04-08 1975-09-30 Honeywell Inf Systems Diagnostic maintenance and test apparatus
GB1472885A (en) * 1974-05-01 1977-05-11 Int Computers Ltd Digital code conversion arrangements
US3978454A (en) * 1974-06-20 1976-08-31 Westinghouse Electric Corporation System and method for programmable sequence control
JPS5721799B2 (no) * 1975-02-01 1982-05-10
US3962539A (en) * 1975-02-24 1976-06-08 International Business Machines Corporation Product block cipher system for data security
US3958081A (en) * 1975-02-24 1976-05-18 International Business Machines Corporation Block cipher system for data security
US4056809A (en) * 1975-04-30 1977-11-01 Data Flo Corporation Fast table lookup apparatus for reading memory
US4056711A (en) * 1975-10-24 1977-11-01 William Paul Lamar Method and apparatus for programming microprocessors
US4064554A (en) * 1976-08-16 1977-12-20 Texas Instruments Incorporated Microcomputer with code conversion

Also Published As

Publication number Publication date
JPS53113442A (en) 1978-10-03
FR2383482A1 (fr) 1978-10-06
US4120030A (en) 1978-10-10
DE2810168A1 (de) 1978-09-21
FR2383482B1 (no) 1981-09-04
NL7802670A (nl) 1978-09-13
JPS5653779B2 (no) 1981-12-21
AU500368B1 (en) 1979-05-17
SE7802587L (sv) 1978-09-12
GB1601627A (en) 1981-11-04
BR7801484A (pt) 1979-02-13

Similar Documents

Publication Publication Date Title
NO780767L (no) Databehandlingssystem.
US4523271A (en) Software protection method and apparatus
US4864494A (en) Software usage authorization system with key for decrypting/re-encrypting/re-transmitting moving target security codes from protected software
US6014745A (en) Protection for customer programs (EPROM)
US4465901A (en) Crypto microprocessor that executes enciphered programs
US3764742A (en) Cryptographic identification system
US4498000A (en) Security method and device for communicating confidential data via an intermediate stage
US4862156A (en) Video computer system including multiple graphics controllers and associated method
US4278837A (en) Crypto microprocessor for executing enciphered programs
US4652990A (en) Protected software access control apparatus and method
US4525599A (en) Software protection methods and apparatus
US4583196A (en) Secure read only memory
US4573119A (en) Computer software protection system
US4386234A (en) Cryptographic communication and file security using terminals
US4281216A (en) Key management for encryption/decryption systems
CN100385849C (zh) 信息记录装置、信息再现装置、信息记录方法以及信息再现方法
US4593353A (en) Software protection method and apparatus
EP0002580B1 (en) A process for the verification of cryptographic operational keys used in data communication networks
EP0238537B1 (en) System for preventing software piracy employing multi-encrypted keys and single decryption circuit modules
US5081676A (en) Method and apparatus for protecting multiple copies of computer software from unauthorized use
US5363449A (en) Personal identification encryptor and method
CN101448127B (zh) 保密信息存储系统和方法
NO821727L (no) Fremgangsmaate for signalbehandling av et informasjonssignal og utstyr for utfoerelse av denne fremgangsmaate
US5671275A (en) Protection of software programs stored in read-only memory from unauthorized access
JPS59139200A (ja) 固定記憶装置用保護装置