NO177548B - System for bestemmelse av en programvares riktighet i et databehandlingsapparat - Google Patents
System for bestemmelse av en programvares riktighet i et databehandlingsapparat Download PDFInfo
- Publication number
- NO177548B NO177548B NO862523A NO862523A NO177548B NO 177548 B NO177548 B NO 177548B NO 862523 A NO862523 A NO 862523A NO 862523 A NO862523 A NO 862523A NO 177548 B NO177548 B NO 177548B
- Authority
- NO
- Norway
- Prior art keywords
- unit
- circuit
- authentication
- circuits
- main
- Prior art date
Links
- 238000012545 processing Methods 0.000 title claims description 28
- 238000004590 computer program Methods 0.000 claims description 12
- 238000000034 method Methods 0.000 claims description 12
- 238000012546 transfer Methods 0.000 claims description 7
- 230000005540 biological transmission Effects 0.000 claims 3
- 230000000903 blocking effect Effects 0.000 claims 1
- 230000000977 initiatory effect Effects 0.000 claims 1
- 238000012795 verification Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 13
- 230000006978 adaptation Effects 0.000 description 6
- 230000001360 synchronised effect Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- XEEYBQQBJWHFJM-UHFFFAOYSA-N Iron Chemical compound [Fe] XEEYBQQBJWHFJM-UHFFFAOYSA-N 0.000 description 2
- 239000003990 capacitor Substances 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000004397 blinking Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 229910052742 iron Inorganic materials 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 210000000056 organ Anatomy 0.000 description 1
- 230000033764 rhythmic process Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/90—Constructional details or arrangements of video game devices not provided for in groups A63F13/20 or A63F13/25, e.g. housing, wiring, connections or cabinets
- A63F13/95—Storage media specially adapted for storing game information, e.g. video game cartridges
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/70—Game security or game management aspects
- A63F13/73—Authorising game programs or game devices, e.g. checking authenticity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/121—Restricting unauthorised execution of programs
- G06F21/123—Restricting unauthorised execution of programs by using dedicated hardware, e.g. dongles, smart cards, cryptographic processors, global positioning systems [GPS] devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
-
- H—ELECTRICITY
- H05—ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
- H05K—PRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
- H05K5/00—Casings, cabinets or drawers for electric apparatus
- H05K5/02—Details
- H05K5/0256—Details of interchangeable modules or receptacles therefor, e.g. cartridge mechanisms
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/20—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of the game platform
- A63F2300/201—Playing authorisation given at platform level
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/20—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of the game platform
- A63F2300/206—Game information storage, e.g. cartridges, CD ROM's, DVD's, smart cards
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2109—Game systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2121—Chip on media, e.g. a disk or tape with a chip embedded in its case
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Business, Economics & Management (AREA)
- Business, Economics & Management (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Technology Law (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Storage Device Security (AREA)
- Communication Control (AREA)
Description
Den foreliggende oppfinnelse angår et system for å fastlegge autentiteten av dataprogrammer, dvs. bestemmelse av en programvares riktighet i et databehandlings- eller EDB-apparat. Nærmere bestemt er oppfinnelsen rettet på et system for bestemmelse av riktigheten av data lagret i et eksternt lager, f.eks. i en ROM-kassett, en diskettstasjon e.l. og som er tilknyttet EDB-apparatet i forbindelse med en hovedenhet.
Fra den kjente teknikk skal vises til publikasjonen: L. LETHAM et al. "Software security is provided by an EPROM that performs an authentication handshake", IEEE CONFERENCE PROCEED-INGS, Arizona 1985, pp 122 - 126. Denne publikasjon beskriver et system for bestemmelse av et EDB-programs riktighet i et databehandlingsapparat som omfatter en hovedenhet og et eksternt lager tilkoplet denne. Systemet omfatter to EPROM-enheter hvorav det ene befinner seg i hovedenheten, mens det andre ligger i det eksterne lager. Disse enheter utfører programmerte algoritmer for bestemmelse av riktigheten av data i det eksterne lager.
Et annet eksempel på liknende EDB-apparater er et hvor en ROM-kassett står i forbindelse med en hovedenhet som på sin side er tilkoplet en fjernsynsmottaker i den hensikt at særlig forskjellige spill kan utføres på apparatet ved at man benytter fjernsynsskjermen som dataskjerm. Et eksempel på et slikt apparat er videospillapparatet "Nintendo Entertainment System", produsert og markedsført av Nintendo Co. Ltd., Japan.
Et stort antall programmer (ROM-kasetter) som kan anvendes i slike EDB-apparater finnes på markedet i dag. Imidlertid kan programvaren være utsatt for kopiering eller inngrep fra uvedkommende, og utviklerne av utmerkede programmer vil i så fall lide under dette.
Den kjente teknikk slik den representeres av den først omtalte publikasjon har imidlertid enkelte ulemper som denne oppfinnelse har som mål å unngå. Særlig gjelder ulempen at det kjente system bruker hovedprosessorenheten til overvåking og styring av datastrømmen mellom EPROM-kretsene, idet dette kan sammenliknes med at en person prøver en nøkkel i en lås. Et program for å bestemme riktighet, her også kalt autentiseringsprogram blir av det kjente systems mikroprosessor gjennomløpt sammen med systemets hovedprogram i et eksternt lager. Under systemets startrutine (den såkalte "handshake"-rutine) skjer altså en overføring av styringen fra systemets sentrale prosessorenhet (CPU) og til dets lagerkretser. Det er følgelig prosessorenheten som i dette system bestemmer hvilken av EPROM-kretsene som skal tjene som "giver" og hvilken som skal tjene som "mottaker" (side 123, spalte 1, linje 19 - 21). Prosessorenheten overfører vilkårlige tall og dekodede tilsvarende tall mellom lagerkretsene og kan registrere hver EPROM-krets<1> tilstand ved vilkårlig tidspunkt. Styringen overføres for første gang til en kassett etter at den andre halvdel av oppstartingsrutinen er gjennomløpt. Prosessorenheten kan derfor ifølge dette system ikke betraktes å bli tilbakestilt eller sperret under selve oppstartingsrutinen, hvilket har vist seg å være fordelaktig. Som det vil fremgå av den senere del av beskrivelsen av oppfinnelsens system er dette altså videreført ved at to samvirkende (interaktive) prosessorenheter er tatt i bruk, hvilket kan sammenliknes med at to personer gjenkjenner hverandre innbyrdes før kommunikasjon startes, i motsetning til det enklere systemkonsept som tilsvarer at bare den ene person prøver en nøkkel i en lås.
Oppfinnelsen er videre en videreføring av det video-spillapparat som Nintendo selv har utviklet, ved at programvaren sikres overfor kopiering og inngrep fra uvedkommende ved at systemet selv kan autentisere eller bestemme riktigheten av de enkelte programmer.
Hovedmålet med oppfinnelsen er således å skaffe til veie et system som er i stand til å fastlegge autentiteten av dataprogrammer slik at ikke-autentiserte programmer vil avvises, og nærmere bestemt gjelder oppfinnelsen et system av den type som fremgår av innledningen av det etterfølgende patentkrav 1.
Et EDB-apparat hvor dette system kan anvendes, består av en hovedenhet og et eksternt lager tilkoblet denne hovedenhet, og hvor det eksterne lager omfatter et program (en programvare) for styring av hovedenheten. Det eksterne lager omfatter videre en aktiv enhet for bestemmelse av riktigheten av programvaren, og denne aktive enhet virker da som en nøkkelenhet. Nok en aktiv enhet er anordnet i hovedenheten, og denne aktive enhet virker som en låseenhet. Ved samvirke mellom nøkkelenheten og låse-enheten vil dataprosessororganer i hovedenheten kunne utføre en tillate/sperrefunksjon, heretter kalt prosessering, basert på data som ligger lagret i det eksterne lager.
I samsvar med foreliggende oppfinnelse frigjøres ikke hovedenheten for normal funksjonering dersom ikke data som er bestemt som korrekte data, tilføres hovedenheten fra det eksterne lager. Derved kan effektivt tilførselen av feil-aktig programvare eller bruken av feilbeheftede eksterne lagermedia utelukkes.
I en foretrukket utførelse i samsvar med foreliggende oppfinnelse benyttes én og samme digitale prosessor-kretser både som nøkkelenhet og som låseenhet. De to digitale kretser utfører en forhåndsbestemt dataprosessering i innbyrdes synkronisme og styrt av ett og samme program. Deretter sammenlignes resultatet fra den låsende digitale prosessor-krets med tilsvarende fra den digitale nøkkelprosessorkrets.
I samsvar med denne foretrukkede utførelse kan riktighetsbestemmelsen for programvaren fra det eksterne lager bestemmes pålitelig rett og slett ved at en og samme digitale pro-sessorkrets tilføyes både hovedenheten og det eksterne lager.
Det er således skaffet tilveie et system for bestemmelse av en programvares riktighet i et databehandlingsapparat, kjennetegnet ved de trekk som fremgår av det etter-følgende krav l's karakteristiske del, og hvor ytterligere fordeler og karakteristiske trekk vil fremgå av underkravene.
Oppfinnelsen og dens fordeler vil bedre fremgå av den etterfølgende beskrivelse av utførelseseksempler i forbindelse med de ledsagende tegninger, hvor fig. 1 viser en perspektivskisse av et eksempel på en videospilloppstilling i samsvar med oppfinnelsen, fig. 2 er et blokkdiagram som viser denne oppstillings hovedblokker, fig. 3 er et blokkdiagram som viser låseenhetens kretser, fig. 4 er et tidsdiagram som illustrerer virkemåten for kretsene på fig. 3, fig. 5 er et flytdiagram hvor virkemåten for blokkdiagrammet på fig. 2 er skissert, fig. 6 er et flytdiagram som for-klarer virkemåten av flytdiagrammet på fig. 5 i nærmere detalj, fig. 7 er et flytdiagram som belyser et modifisert eksempel i samsvar med fig. 6, fig. 8 er en perspektivskisse som viser nok et eksempel på en videospilloppstilling i samsvar med oppfinnelsen, fig. 9 er en skisse av en ut-førelse av en diskett som anvendes i oppstillingen vist på fig. 8, og fig. 10 er en skisse av leseinnretningen eller diskettstasjonen anvendt i oppstillingen på fig. 8.
Som nevnt viser fig. 1 en perspektivskisse av et eksempel på en videospilloppstilling eller -maskin i samsvar med oppfinnelsen, og i det etterfølgende vil beskrivelsen dreie seg om det tilfelle hvor foreliggende oppfinnelse anvendes i denne videospillmaskin. Imidlertid skal det gjøres oppmerksom på at oppfinnelsen vil kunne anvendes på et hvilket som helst databehandlingsapparat såsom en datamaskin,
en ordprosessor, et bankdatasystem eller lignende hvor det benyttes et eksternt lager, eksempelvis i form av en datakassett, en diskettstasjon, kort med lagret informasjon i form av digitale data, eller lignende.
En oppstilling av et apparat 10 for dataspill omfatter her en hovedenhet 12 og styreenheter 14a og 14b tilkoblet hovedenheten 12. En ekstern lagerenhet 16 i form av en datakassett er direkte anordnet på hovedenheten 12, og som det vil bli beskrevet senere, omfatter kassetten en ROM-krets (et leselager) som inneholder data i form av et program for utførelse av det eller de aktuelle dataspill. Hovedenheten 12 genererer et videosignal som er tilpasset spillet, ut fra signaler som gis av styreenhetene 14a og 14b, styrt av datakassettens program, og dette videosignal føres uforandret til et fjernsynsapparats 18 videoinngang eller det omformes til et fjernsynssignal for tilførsel til fjernsynsapparatets antenneinngang. Operatøren følger med på bildet på fjernsynsapparatets 18 skjerm og betjener styreenhetene 14a og 14b i samsvar med bildet, slik at spillet kan foregå i samsvar med programmet som er lagret i den eksterne lagerenhet 16 i form av datakassetten.
På fig. 2 viser hovedenhetens 12 blokkdiagram en kontakt 20 for tilkobling til en tilsvarende kontakt 22 i den eksterne lagerenhet 16 som i dette tilfelle er utformet som en kassett.
En spillmikroprosessor 24, f.eks. av typen Z80A fra Zilog befinner seg på det trykte kretskort (ikke vist) i hovedenheten 12, og styreenhetene 14a og 14b samt fjernsynsmottakeren 18 er så tilkoblet denne mikroprosessor 24 via et grensesnitt 26.
En PPU-enhet (bildeprosesseringsenhet) 28, en integrert krets 30 for bestemmelse av riktighet og en klokkeoscillator 32 finnes også i hovedenheten 12. Prosessorenheten 28 består f.eks. av den integrerte krets 2C03 fra Nintendo, og denne krets gir på sin utgang videoinformasjon som så prosesseres av spillmikroprosessoren 24 til et fjernsynssignal for mottakeren 18.
Den integrerte krets 30 kan bestå av en 4-bits mikroprosessor såsom 10NES fra Nintendo, og denne krets kan også være benyttet for den integrerte krets 34 for bestemmelse av riktighet på det kretskort (ikke vist) som befinner seg i datakassetten som representerer den eksterne lagerenhet 16. En resettingsbryter 36 er tilkoblet kretsens 30 resettingsport og parallelt med denne bryter er det innkoblet en tilbakestillings- eller resettingskon-densator 38. Denne kondensator 38 lades når en hovedbryter 40 (fig. 1) slås på og det etableres da en innledende resetting (power-on-clear) som legger den integrerte krets 30 til den tilbakestilte eller resatte status en bestemt tid.
En ROM-krets 42 for lagring av dataspillprogrammet og en krets 44 for generering av de data som representerer tegnene som trengs i spillet, befinner seg også på det trykte kretskort i datakassetten. Dette kretskort er elektrisk tilkoblet krets-kortet i hovedenheten 12 via de to kontakter 20 og 22.
En klokkelinje CL fra klokkeoscillatoren 32 går til den integrerte krets 34 for bestemmelse av riktighet via kontaktene 20 og 22.
Som vist på fig. 2 jordes en bestemt port på kretsen 30, mens en bestemt port på den tilsvarende krets 34 er ført til en spenningskilde Vcc. Ved denne forskjell tjener kretsen 30 hhv. 34 som nøkkelenhet eller låseenhet avhengig av tilkoblingen.
For at kretsene 30 og 34 skal kunne utveksle data med hverandre, er tilsvarende porter I, 0 og R direkte forbundet over kontaktene 20 og 22, og klokkelinjen CL føres til begge kretser fra klokkeoscillatoren 32. Kretsene 30 og 34 er i full synkronisme slik at de til enhver tid har samme status.
detalj med henvisning til fig. 3. Kretsen 34 i den eksterne lagerenhet 16 er oppbygget på nøyaktig samme måte, og for enkelhets skyld er på fig. 3 angitt et nytt sett henvisningstall i parentes som gjelder denne integrerte krets 34.
Som beskrevet ovenfor bestemmer kretsene 30 hhv. 34 om de data som ligger i den eksterne lagerenhet 16 er riktige eller usanne, og bestemmelsen tas ut fra en datautveksling mellom de to kretser. Kretsene funksjonerer som en låseinn-retning med den tilhørende nøkkel. I samsvar med dette vil i det følgende den integrerte krets 30 kalles en låsekrets og kretsen 34 vil kalles en nøkkelkrets.
Betraktes nå fig. 3, fremgår det at låsekretsen eksempelvis består av en 4-bit mikroprosessor med en CPU-enhet 30a som hovedprosessor og en ROM-krets 30b og en RAM-krets 30c som halvlederlågere. ROM-kretsen 30b lagrer et styreprogram for CPU-enheten 30a, og i dette program inngår to aritmetiske programmer. I ett styreprogram inngår en rekke styreformler og data for tilfeldige tall for de aritmetiske operasjoner som fastlegges av formlene. I styreprogrammet inngår også et bestemmelsesprogram for sammenligning av resultatene fra det tilsvarende andre aritmetiske program fra nøkkelkretsen 34 og tilsvarende for sammenligning av resultatene fra nøkkelkretsens operasjon med data i låsekretsens program.
Styreprogrammet inneholder også kontrollalgorit-mer for resettingen eller utløsning av denne for hovedenheten 12 ut fra det oppnådde resultat som gir bestemmelsen om programvaren riktighet. En akkumulator 3Od er tilkoblet CPU-enheten 30a og et register 30e er tilkoblet ROM-kretsen 30b. Registeret 3Oe benyttes for temporær lagring av programdata fra ROM-kretsen 30b. Videre finnes en frekvensdeler 30f som mottar klokkepulser over klokkelinjen CL fra klokkeoscillatoren 32 (fig. 2), og frekvensdelerens utgang er satt til f.eks. 1/4 av den innkommende klokkefrekvens. CPU-enheten 30a utfører sekvensielle programtrinn i avhengighet av pulsene på de fire utganger 01, 02, 03 og 04 fra frekvenstelle-ren 3Of.
CPU-enheten 3 0a, akkumulatoren 3Od og registeret 3Oe er alle sammenkoblet over en databuss 3Og, som også er koblet til et grensesnitt 30h fra hvilket data overføres til nøkkelkretsen 34 og motsatt tilfører data fra denne til låsekretsen 30. Fra grensesnittet 30h føres også to resettings-signaler RESET 1 og RESET 2, hvor det første signal føres til nøkkelkretsen 34 for resetting av denne, mens det andre signal, RESET 2 går til spillmikroprosessoren 24, PPU-enheten 28 og videre i hovedenheten 12 for resetting av disse. For å frigjøre resettingen av nøkkelkretsen 34 og hovedenheten 12, er det tilstrekkelig å invertere de to signaler : RESET 1 hhv. RESET 2.
Nå skal kort virkemåten for frekvensdeler 30f, med tidsdiagram vist på fig. 4, omtales. Som nevnt tidligere deler frekvensdeleren 30f frekvensen på klokkelinjen CL fra klokkeoscillatoren 32 i f.eks. fire. I samsvar med dette går de fire signaler på linjene 01, 02, 03 og 04 ut fra frekvensdeleren med innbyrdes forskjøvet fase til CPU-enheten 30a som så utfører påfølgende operasjoner synkront med disse fire innkommende signaler. Eksempelvis vil data fra grensesnittet 30h leses i synkronisme med signalet på linjen 01 og de programmerte aritmetiske operasjoner (dataprosesserin-gen) utføres i synkronisme med signalene på linjene 0 2 og 0 3 . Data fra grensesnittet 30h føres ut i takt med signalet på linjen 04.
Samtidig føres disse fire faseforskjøvne signaler til nøkkelkretsen 34 som i samsvar med dette drives fullstendig synkront med låsekretsen 30. Nærmere bestemt har disse to kretser 30 og 34 eksakt det samme antall trinn i dataprogrammet og den samme kretsarkitektur med samme maskinvare og ett og samme klokkesignal, slik at maskinsyklusene sammenfaller fullstendig i disse to kretser.
Nå skal flytdiagrammet på fig. 5 og senere de nærmere detaljer i flytdiagrammet på fig. 6, forklares.
Øverst i flytdiagrammet på fig. 5 indikeres at
E^an eksterne lagerenhet 16 i form av datakassetten overfører data til hovedenheten 12, og hovedbryteren 40 (fig. 1 ) på denne slås på for å starte forløpet (trinn Sl). I det deretter føl-gende trinn S2 gir låsekretsen 30 ut et resettingssignal RESET 2 og resetter spillmikroprosessoren 24, PPU-enheten 28 og
eventuelt andre enheter i hovedenheten 12, hvorved den resatte status opprettholdes. Følgelig kan intet spill utføres i denne status, når hovedenheten 12 er resatt.
I det neste trinn, S3 synkroniseres låsekretsen 30 med nøkkelkretsen 34. En måte å synkronisere disse på er beskrevet i forbindelse med fig. 4. Maskinsyklusen for låsekretsen 30 settes slik at resettingssignalet RESET 1 til nøkkel-kretsen 34 fra låsekretsen 30 føres ut mellom en puls på signallinjen 04 og den etterfølgende puls på signallinjen 0 1. Derfor er signalet på linjen 01 det første signal som til-lates ført til nøkkelkretsen 34. Denne krets kan så starte samtidig med låsekretsen 30, siden begge mottar samtidig en puls over linjen 01. I trinn S3 synkroniseres altså disse kretser 30 og 34, og deretter utfører disse to kretser de på-følgende operasjoner i full synkronisme.
I trinn S4 utføres gitte aritmetiske operasjoner både av låsekretsen 30 og nøkkelkretsen 34, og ved dette tidspunkt utfører de to kretser samme aritmetiske operasjon. Hvis således den eksterne lagerenhet 16 gir korrekte data, vil resutatet fra de to aritmetiske operasjoner som utføres i trinn S4 være identisk for de to kretser.
I trinn S5 overføres resultatet av disse operasjoner gjensidig mellom de to kretser 30 og 34, og i trinn S6 sammenlignes de to resultater med hverandre. Hvis det så fastslås at det foreligger koinsidens mellom de to resultater (S7),ut-løses resettingssignalene RESET 1 og RESET 2 ved hjelp av låsekretsen 30 slik at låsekretsen 34 og hovedenheten 12 begge frigjøres.
I motsatt tilfelle,dersom det fastslås at de to resultater ikke overensstemmer (NEI-utgang i S7) t fortsetter låsekretsen 30 i trinn S9 å generere resettingssignalene RESET 1 og RESET 2 og den resatte status opprettholdes for nøkkel-kretsen 3 4 og hovedenheten 12. Følgelig kan operatøren ikke bevirke fortgang i dataspillet så lenge denne status holdes. På fig. 6 er vist ytterligere en detaljert sekvens for flyten i apparatet. Hvis den eksterne lagerenhet 16 har over-ført de innledende data til hovedenheten 12 og hovedbryteren 40 (fig. på denne er påslått._ellor resettingsbryteren 36 er på-slått, utføres resettingsoperas jonen for låsekretsen 30, hvilket fremgår av blokken antydet med trinn S10 på fig. 6A.
I det etterfølgende trinn Sil fastslår låsekretsen 30 om den arbeider som en låse- eller en nøkkelenhet. Som forklart i forbindelse med fig. 2 utføres denne fastslåelse eller bestemmelse ved å detektere om den bestemte port er jordet eller koblet til tilførselsspenningen V . I det viste tilfelle skal kretsen 30 funksjonere som en låsekrets, men i det tilfelle hvor det bestemmes at kretsen 30 skal arbeide som en nøkkelenhet,vil en ustabil status kunne finne sted dersom det f.eks. foreligger feilkobling av ledninger, feilfunksjonering eller lignende. Det vil da. foreligge en ustabil statustilstand slik at ingen operasjon kan utføres.
Fra JA-utgangen av trinn Sil gir låsekretsen 30 resettingssignalet RESET 2 til hovedenheten 12 i trinn Sl2 slik at denne ikke kan utføre dataspillets program, men fortsatt holdes i resatt tilstand. Spillmikroprosessoren 24 og PPU-enheten 28 (fig. 2) tvinges såtilsine resatte tilstander og holdes der til denne tilstand frigjøres i det senere beskrevne trinn S21. I trinn S12 går også resettingssignalet RESET 1 til resetting av nøkkelkretsen 34.
I neste trinn, S13 frigjør låsekretsen den resatte tilstand for nøkkelkretsen 34,og disse to kretser synkroniseres med hverandre på samme måte som i trinn S3 beskrevet ovenfor (fig. 5). Fra og med dette tidspunkt er de to kretser 30 og 34 innbyrdes synkronisert og de følger samme programtrinn helt i takt.
Når den resatte tilstand er frigjort for nøkkel-kretsen 34 i trinn S13, fastslår denne krets om den skal arbeide som en låse- eller en nøkkelenhet i neste trinn Sil<1>. Bestemmelsen om dette i dette trinn Sil' kan utføres ved detektering av om den bestemte port på nøkkelkretsen 34 .er jordet eller tilkoblet tilførselsspenningen Vcc på samme måte som bestemmelsen i det tidligere omtalte trinn Sil. Hvis bestemmelsen gir "NEI", foreligger en ustabil tilstand slik at ingen operasjoner kan utføres. Når derimot JA-utgangen følges i trinnet Sli' ,utføres de etterfølgende trinn S14' etc. som vist på fig. 6A.
For låsekretsen 30 følger trinn S14 da etter at trinn S13 er fullført. Som nevnt tidligere fortsetter låsekretsen 30 og nøkkelkretsen 34 i fullsynkronisme relatert til tidsreferansen.
I trinn S14 og parallelt i trinn S14<1> gir kretsene 30 og 34 ut data for tilfeldige tall fra de respektive programmerte ROM-kretser 30:b og 34. (fig. 3). Dette utføres ved hjelp av én og samme funksjon for utvelgelse av tilfeldige data. Følgelig blir de data ut fra det tilfeldige funksjonsvalg og som tilføres låsekretsen 30 og nøkkelkretsen 34 identiske.
Deretter, i trinn S15 og S151, utveksler låsekretsen 30 data med tilsvarende data fra nøkkelkretsen 34, og data fra de tilfeldig utvalgte tall leses inn gjensidig. I det neste trinn, S16 og S16<1>, utfører kretsene 30 og 34 den forhåndsbestemte dataprosessering eller de aritmetiske operasjoner som bygger på data for de tilfeldige tall tilført gjensidig fra den andre krets. Den algoritme som benyttes i den første aritmetiske operasjon i trinn S16 og S16' er eksakt den samme som benyttes i de to kretser 30 og 34, og resultatet fra disse operasjoner blir den samme for begge kretser når de tilførte data fra de tilfeldig valgte tall også er de samme. I de neste parallelle trinn S17 og S17<1> gir låsekretsen 30 og nøkkel-kretsen 34 resultatet fra de aritmetiske operasjoner til den andre krets,og i trinnene S18 og S18<1> mottar disse to kretser gjensidig resultatet fra den andre krets. De to kretser ut-fører samtidig samme operasjon,og det resultat som kommer ut i trinn S18 og S18' er således også sammenfallende i tid. I dette utførelseseksempel foreligger altså ikke bare koinsidens mellom resultatene fra de to parallelle aritmetiske operasjoner, men også tidskoinsidens må finne sted for å gi kon-klusjonen riktig datainformasjon fra det eksterne lager.
I trinn S19 sammenligner låsekretsen 30 sitt eget aritmetiske resultat med det tilsvarende resultat fra nøkkel-kretsen 34, og det bestemmes om disse er sammenfallende. Som et resultat av denne sammenligning, dersom det fastslås et "NEI" i trinn 20, opprettholder kretsen 30 resatt tilstand for hver av kretsene i hovedenheten 12, nemlig spillmikroprosessoren 24, PPU-enheten 28 etc. frem til og med neste trinn 22 som indikerer at hovedenheten 12 hindres i å fort-sette spillprogrammet.
En alarm kan genereres dersom ikke koinsidens har funnet sted ved dette tidspunkt, og en slik alarm kan være en erstatning for opprettholdelse av den resatte tilstand, eller prosesseringen kan føres tilbake til det innledende trinn Sil.
Dersom resultatet av sammenligningen i trinn S19
fører til JA-utgangen i trinn S20, frigjør låsekretsen 30 spillmikroprosessorens 24 og PPU-enhetens 28 resatte tilstand i neste trinn S21.
Som fig. 6B viser, genererer låsekretsen 30 i det neste trinn, S23 en første og en andre verdi som et tilfeldig valgt tall ut fra en bestemt utvelgelsesalgoritme. I det etterfølgende trinn S24 velger kretsen 30 en av de mulige aritmetiske operasjonsalgoritmer ved å benytte den andre verdi for de tilfeldig valgte tall,og kretsen 30 plasserer så den første og den andre verdi for disse tall som de verdier som skal inngå i den aritmetiske operasjonsalgoritme. I den viste utførelse finnes nærmere bestemt n(et positivt heltall) typer aritmetiske operasjonsalgoritmer gitt på forhånd i det aritmetiske operasjonsprogram i ROM-kretsen 3Cb (fig. 3), og blant disse velges en bestemt algoritme ut fra den verdi som den andre utvelgelse av de tilfeldige tall gir. Deretter ut-føres i trinn S25 den valgte aritmetiske operasjonsalgoritme når de første og de andre verdier fra de tilfeldig valgte tall er innsatt i algoritmen.
Fremdriften ifølge de indikerte trinn S19 - S25 utføres på samme måte når det gjelder nøkkelkretsen 34. Således benyttes samme tilfeldige utvelgelsesalgoritme for generering av de første og de andre verdier fra de valgte tall på samme måte som omtalt for låsekretsen 30. På samme måte settes betingelsene for den tilfeldige utvelgelsesalgoritme ved genereringen av de første og de andre verdier for de tilfeldige tall helt likt med det som er beskrevet for låsekretsen 30 når det gjelder nøkkelkretsen 34. Hvis således den eksterne-- lagerenhet 16 inneholder korrekte data, vil samme aritmetiske operasjonsalgoritme velges for begge, kretsene 30 og 34, og resultatet etter utførelse av denne algo-
ritme blir derfor den samme i begge tilfeller.
I det etterfølgende trinn S2 6 gir låsekretsen 30 resultatet fra den aritmetiske operasjon i henhold til S25 til nøkkelkretsen 34 og samtidig mottar kretsen 30 de tilsvarende aritmetiske operasjonsresultater fra nøkkelkretsen. Helt tilsvarende operasjon utføres i selve nøkkelkretsen 34. Deretter sammenligner låsekretsen 30 i trinn S27 og S28 sitt eget aritmetiske operasjonsresultat med det tilsvarende fra nøkkel-kretsen 34, og det bestemmes om det foreligger koinsidens eller ikke mellom disse resultater.
Hvis den eksterne lagerenhet 16 finnes å ha overført feildata til hovedenheten 12, vil resultatene etter de aritmetiske operasjoner i de to omtalte kretser ikke sammenfalle, og følgelig sender låsekretsen 30 i trinn S2 9 resettingssignalet RESET 2 til spillmikroprosessoren 24, PPU-enheten 2 8 etc. i hovedenheten 12 slik at disse holdes i den resatte tilstand og fremdriften stanses.
Hvis derimot låsekretsen 30 fastslår at resultatet fra de aritmetiske operasjoner fra egen utgang og fra kretsens 34 utgang sammenfaller, føres prosessen tilbake til trinn S24, hvoretter trinnene S24 - S28 gjentas. Med andre ord gjentas den andre aritmetiske operasjonsalgoritme i trinnene S24 -
S28 kontinuerlig i dette utførelseseksempel så lenge som hovedenheten 12 betjenes, helt til et koinsidensavvik ved resultatene fra de aritmetiske operasjoner finner sted. Selv om dette finner sted kun én gang velges i stedet trinn S29
og hovedenheten 12 stanses.
Helt tilsvarende utføres samme operasjoner som de omtalt i trinn S26 - S29 for nøkkelkretsen 34. Imidlertid har nøkkelkretsen ingen effekt på resetting eller frigjøring av kretsene i hovedenheten 12, siden intet resettsignal føres til hovedenheten fra nøkkelkretsen 34. Når det gjelder nøkkel-kretsens funksjon i det trinn som tilsvarer trinn S29, blir dette noe annerledes, siden både ROM-kretsene 42 og 44 (fig. 2) begge normalt har en velgeport (chip-select "terminal) , og denne port kan være sperret. I så fall vil ikke mikro-prosessoren 24 eller PPU-enheten 28 i hovedenheten 12 ha forbindelse med ROM-kretsene 42 og 44, og fortgang i dataspillet hindres.
Det kan være tilstrekkelig å bestemme riktigheten ved å kontrollere resultatet fra de første aritmetiske operasjoner i trinn S16 og S16', men i det viste eksempel fortsetter sammenligningen via den andre aritmetiske operasjon og dennes resultater i trinnene S24 - S28 hele tiden mens hovedenheten 12 betjenes, og riktighetskriteriet for data fra den eksterne lagerenhet 16 kan således betraktes som særdeles sikkert.
I det tilfelle hvor et eksternt lager som omfatter ROM-kretser kopierer ROM-kretsene 42 og 44 fra datakassetten, eller hvor en datakassett med ROM-kretser er programmert med tilsvarende programmer som de som skal benyttes i dataspillet, vil beskyttelse for denne programvare foreligge dersom det ikke brukes identisk samme kretser som i forbindelse med nøkkel-kretsen 34. Også ved å benytte spesialbestilte integrerte kretser eller lignende kretser som det .er. vanskelig å skaffe på det åpne market, vil beskyttelse av programvaren bedres.
Den programvare som således er lagret i den eksterne lagerenhet 16 kan beskyttes enda mer fullstendig_ved benyttelsen av nøkkelkretsen 34 for bestemmelse av riktigheten av de lagrede data og hvor nøkkelkretsen samvirker med låsekretsen 30 i hovedenheten 12. På den måten vil enhver kopiert eller endret datakassett brukt som det eksterne lager utelukkes.
Fig. 7 viser et flytdiagram for et modifisert ut-førelseseksempel i forhold det vist på fig. 6. Så og si samme maskinvare benyttes i dette utførelseseksempel, men her er i tillegg en teller anordnet i RAM-kretsen 30c i låsekretsen 30 og i RAM-kretsen 34:C i nøkkelkretsen 34 (fig. 3) . Denne teller kan så settes til et bestemt antall repetisjoner for den andre aritmetiske algoritme. Detaljene i flytdiagrammet på fig. 7 er de samme i trinnene S110 - S120 og Sill' - S119<1> som tilsvarende trinn S10 - S20 og Sli<1> - S19' på fig. 6, og en ytterligere beskrivelse av disse trinn anses unødvendig.
Hvis derimot koinsidens fastslås som resultat etter de første aritmetiske operasjoner i trinn S120, re-settes telleren i den modifiserte utførelsesform ifølge fig.
7 i trinn S121. Den andre aritmetiske operasjon utføres i trinnene S123 - S128 tilsvarende trinnene S23 - S28 på fig. 6. Hvis imidlertid i dette utførelseseksempel resultatet ut fra de to aritmetiske operasjoner fastslås å være sammenfallende i trinn S128, . inkrementerer låsekretsen 30 telleren (ikke vist) i RAM-kretsen 30c i det neste trinn S130. Deretter bestemmes i det påfølgende trinn S131 om resultatet i telleren tilsvarer det tall som er bestemt å være repetisjonsantallet. Hvis dette ennå ikke er tilfelle, gjentar låsekretsen 30 trinnene S123 - S130.
Hvis så en JA-utgang etableres i trinn S131, dvs. hvis den andre aritmetiske operasjon har blitt gjentatt det foreskrevne antall ganger, frigir låsekretsen 30 den resatte tilstand for spillmikroprosessoren 24, PPU-enheten 28 etc. i hovedenheten 12 i trinnet S132 på samme måte som i det tilsvarende trinn S21 vist på fig. 6.
Deretter følger den andre aritmetiske operasjon gjentatt i det bestemte antall ganger i trinnene S123 - S131, men det må bemerkes at dette antall kan være én.
Hvis så resultatene fra den første aritmetiske operasjon i trinnene S114 - S116 . sammenfaller, frigi : hovedenheten 12 umiddelbart, og deretter følger den andre aritmetiske operasjonsalgoritme som vist i trinnene S123 - S131 som en gjentakelse. Dersom et "NEI" fastslås i trinn S128 under denne repetisjon, holdes hovedenheten 12 i sin resatte tilstand, og hvis et koinsidensavvik ikke forekommer under gjentakelse av den andre aritmetiske operasjon, vil hovedenheten 12 holdes i denne resatte tilstand helt til hovedbryteren 40 (fig. 1) slås av.
Videre kan trinnene S22 og S29 på fig. 6, og tilsvarende trinnene S122 og S129 på fig.7b endres på en måte som skal bli forklart i det følgende. Data for fullstendig sort skjerm på f jernsynsmottakeren 18 og en datagruppe "som representerer spillets tittel er lagret på forhånd i ROM-kretsen 42 i den eksterne lagerenhet" 16. Når så en resettingspuls "gis i 'trinnet S22 eller S29, tilsvarende i trinnet S122 eller S129, vil den sorte fjernsynsskjerm og tittelen vises som en "blinkende", avbrutt informasjon. Derved vil operatøren få informasjon om at data fra den benyttede datakassett som eksternt lager ikke inneholder korrekte data.
Som ekstern lagerenhet 16 kan den ovenfor nevnte ROM-kassett benyttes også i den modifiserte utførelse, men like gjerne kan det eksterne lager være i form av et magnetisk lagringsmedium, en diskettstasjon, magnetiske kort eller det kan være i form av et optisk lagringsmedium såsom en optisk diskett eller lignende.
Fig. 8 viser ,en perspektivisk skisse av nok en utførelsesform i samsvar med foreliggende oppfinnelse, og denne utførelse omfatter en diskettstasjon 48 for eksternt lager. I den utførelse som er vist på fig. 1, kan ikke en diskett overføre data direkte til hovedenheten 12, og i ut-førelseseksemplet vist på fig. 8 er det "i samsvar med dette benyttet en tilpasningsenhet 46 med samme form som den datakassett som er vist på fig. 1. Tilpasningsenheten 46 er da løsbart tilkoblet hovedenheten 12. Selve diskettstasjonen 48 omfatter en leseenhet og er koblet med kabel til tilpasningsenheten 46. En. diskett 50 overfører da de lagrede data til leseenheten i diskettstasjonen 48 og den programvare som finnes på disketten 50 tilføres hovedenheten 12 via tilpasningsenheten 46.
Som vist på fig. 9 omfatter disketten 50 et diskettomslag og en skiveformet magnetisk plate 54 som er dreibart montert i diskettomslaget 52. I denne utførelse er nøkkelkretsen 34 og elektroder 5 6 for tilkobling av denne anordnet i selve diskettomslaget 52.
Som vist på fig. 10 fremgår at diskettstasjonen
48 omfatter en diskettdriver 58 for disketten 50 når denne er innsatt i diskettstasjonen, og videre en kontakt 60 tilkoblet elektrodene 56 på diskettomslaget 52. På denne måte forbindes nøkkelkretsen 34 i disketten 50 til låsekretsen 30 i hovedenheten 12 via elektrodene 5 6 og kontakten 60. I det utfør-elseseksempel som er vist på fig. 8 kan utøvelsen foregå ved å følge programmet som indikert i flytdiagrammet på fig. 6 og 7 ved samvirke mellom låsekretsen 30 (fig. 2) i hovedenheten 12 med nøkkelkretsen 34 som er anordnet i disketten 50 og hvor riktighetsbestemmelsen gjelder de data som er lagret i denne diskett 50.
Som et alternativ kan låsekretsen 30 (fig. 2) anordnes i leseenheten i diskettstasjonen 48 og ikke i hovedenheten 12. I det tilfelle vil resettingspulsen føres til hovedenheten fra diskettstasjonen 48.
Dersom et internt lager omfattes av selve apparatet og f.eks. er anordnet i tilpasningsenheten 46, f.eks. i det tilfelle hvor et lydkildeapparat_har som lager en syntetisator-ROM-krets eller liknende, er nøkkelkretsen 34 helst anordnet
i tilpasningsenheten 46 og forløpet som vist på fig. 6 eller fig. 7 kan følges på samme måte for både nøkkelkretsen 34 og låsekretsen 30 som er innebygget i hovedenheten 12.
Mikroprosessorer kan være benyttet for låsekretsen 30 og nøkkelkretsen 34, eller enklere typer kretser som er i stand til å utøve den digitale aritmetiske algoritme som er beskrevet ovenfor. Ytterligere analoge prosessorer kan videre anvendes for analog prosessering i stedet for den digitale prosessering som er beskrevet. En digital krets kan anvendes for en av kretsene 30 eller 34, mens en analog krets kan benyttes for den andre krets.
I det tilfelle hvor det benyttes en analog krets, kan forskjellige utførelser av denne være aktuelle og de kan avvike noe fra den analoge prosessor som er beskrevet ovenfor. F.eks. kan bestemmelse av riktighet for data i det eksterne lager (programvaren) utføres ved koinsidensmåling mellom frekvenser på klokkelinjen CL og som er omvandlet både av låsekretsen og nøkkelkretsen ifølge ett og samme program. Pulser som sendes ut fra disse kretser omvandles slik at puls/ pause-forholdet styres ifølge et dataprogram,og fra dette kan riktigheten bestemmes ved en koinsidens mellom de to sammen-lignede puls/pause-forhold. Bestemmelsen av riktighet kan også foregå ved å la integrerte nivåer fra like sagtannspenninger sammenfalle, og eventuelle ytterligere sammenlignende operasjoner kan foretas. I ethvert tilfelle vil riktigheten av et eksternt lager kunne bestemmes ved koinsidens mellom resultatene ut fra analog databehandling i hver av de to kretser.
Selv om foreliggende oppfinnelse har blitt detalj-beskrevet i forbindelse med de viste tegninger, må det forstås at dette kun gjelder eksempler og er ikke ment å være begren-sende for oppfinnelsen, idet denne kun er tenkt begrenset ved de etterfølgende krav.
Claims (29)
1. System for å fastlegge autentiteten av dataprogrammer i et databehandlings- eller EDB-apparat, omfattende: en hovedenhet (12), en ekstern lagerenhet (16) for lagring av dataprogrammene, en hovedprosessorenhet (28) i hovedenheten (12), kontakter (20, 22) for løsbar forbindelse mellom den eksterne lagerenhet (16) og hovedenheten (12) for å tillate hovedprosessorenhetens (28) utøvelse av dataprogrammene, en første integrert autentiseringskrets (34) i form av en nøkkelkrets og tilordnet den eksterne lagerenhet (16), en andre integrert autentiseringskrets (30) i form av en låsekrets og tilordnet hovedenheten (12), og en første hhv. andre lagerkrets (34b, 30b) tilordnet sin respektive autentiseringskrets (34, 30), idet autentiseringen av dataprogrammene utføres under samvirke mellom autentiserings-kretsenes låse- hhv. nøkkelfunksjon og under kommando av styre-kretser som på sin side arbeider i henhold til autentitetsfast-leggelsen, KARAKTERISERT VED at de integrerte autentiserings-kretser (34, 30) omfatter en første og en andre sentral prosessorenhet (34a hhv. 30a) som er innrettet for å utføre et første hhv. andre forhåndsbestemt autentiseringsprogram som ligger lagret i den første hhv. andre lagerkrets (34b, 30a), og at styrekretsene er innrettet for å sperre hovedprosessorenheten (28) under utførelsen av autentiseringsprogrammene og ikke frigi den hvis ikke utførelsen av det første autentiseringsprogram ved hjelp av den første prosessorenhet (34a) fremviser en forhåndsbestemt relasjon til den andre prosessorenhets (30a) utførelse av det andre autentiseringsprogram.
2. System ifølge krav 1, KARAKTERISERT VED at autentiseringskretsene (30, 34) med låse- hhv. nøkkelfunksjon har i alt vesentlig identiske sentrale prosessorenheter (30a, 34a).
3. System ifølge krav 1, KARAKTERISERT VED at autentiseringskretsene (30, 34) hver har en i alt vesentlig identisk analog prosessorenhet, og at styrekretsene omfatter kretser for å bestemme om resultatet ved autentiseringen ved hjelp av programmene og utført av de analoge prosessorenheter er identiske, for så å fremvise den forhåndsbestemte relasjon.
4. System ifølge krav 1 eller 2, KARAKTERISERT VED at prosessorenhetene (34a, 30a) er programmert for å overføre et til-bakestillingssignal(RESET) til hovedprosessoren (28) ved sammen-kopling av den eksterne lagerenhet (16) med hovedenheten (12).
5. System ifølge krav 1, 2 eller 4, KARAKTERISERT VED at det første og det andre autentiseringsprogram omfatter samme aritmetiske algoritmeforløp, og at autentiseringskretsen (30) er innrettet for å kunne avgjøre om resultatet av det aritmetiske algoritmeforløp utført av den første og den andre prosessorenhet (34a, 30a) sammenfaller i tid og verdi.
6. System ifølge ett av de foregående krav, KARAKTERISERT VED at prosessorenhetene (34a, 30a) er programmert: a) for egensynkronisering mens hovedprosessorenheten (28) er sperret, b) for deretter å utføre deres lagrede autentiserings-programmer i synkronisme, og c) for deretter å utveksle data og sammenlikne resultatene ved gj ennomløpingen av programmene i de respektive prosessorenheter før frigivning av hovedprosessorenheten (28) fra dennes sperrede tilstand.
7. System ifølge krav 5 eller 6, KARAKTERISERT VED en klokkeinnretning (32) for overføring av ett og samme klokkesignal via en klokkelinje (CL) til både den første og den andre prosessorenhet (34a, 30a) via kontaktene (20, 22) for synkronisering av gj ennomløpingen av autentiseringsprogrammene i prosessoren-hetenes regi.
8. System ifølge krav 7, KARAKTERISERT VED at autentiseringskretsen (30) danner en styrekrets, og at klokkeinnret-ningen (32) er permanent sammenkoplet med den andre prosessorenhet (30a).
9. System ifølge ett av kravene 5-8, KARAKTERISERT VED at det første og det andre autentiseringsprogram omfatter minst første henholdsvis andre prosesseringsalgoritmer, og at styrekretsene omfatter kretser for å bestemme koinsidens mellom resultatet av gjennomløpingen av de første og andre prosesseringsfor-løp.
10. System ifølge krav 9, KARAKTERISERT VED at prosessorenhetene (34a, 30a) er innrettet for å gjenta utførelsen av det andre forløp i samsvar med autentiseringsprogrammet, og at styrekretsene omfatter kretser for å fastlegge om resultatet fra utførelsen av det andre prosesseringsforløp sammenfaller for hver gang det andre forløp gjentas.
11. System ifølge krav 10, KARAKTERISERT VED kretser- for å telle antall ganger som utførelsen av det andre prosesseringsfor-løp er gjentatt av den første og den andre prosessorenhet (34a, 30a).
12. Ekstern lagerenhet (16) for forbindelse med en hovedenhet (12) som omfatter en hovedprosessorenhet (28) for prosessering av data, for å bygge opp et EDB-apparat (10), KARAKTERISERT VED en programlagerkrets (42) for lagring av et dataprogram som skal utføres av hovedenheten (12), og en første integrert krets (34) med en tilordnet lagerkrets (34b) og som er innrettet for å utføre et forhåndsbestemt verifikasjonsprogram som ligger lagret i lagerkretsen (34b) når den eksterne lagerenhet (16) er forbundet med hovedenheten (12) og dennes hovedprosessorenhet (28) er i tilbakestilt tilstand, for å verifisere at dataprogrammet som ligger lagret i lagerkretsen (42) er autori-sert for bruk i hovedenheten (12).
13. Ekstern lagerenhet (16) ifølge krav 12 og innrettet for lagring av et videospillprogram for utførelse av hovedenheten (12), KARAKTERISERT VED at dataprogrammet er et videospillprogram og at den eksterne lagerenhet (16) omfatter tegnlagerkretser (44) for lagring av data som fastlegger videospillrelaterte tegn, og kontakter (22) koplet til lagerkretsene (42), idet tegnlagerkret-sene (44) og prosessorenheten (34a) er innrettet for å kople den eksterne lagerenhet (16) til hovedenheten (12), og idet den første integrerte krets (34) omfatter: grensesnittkretser (34h) for å motta data til hovedenheten (12) via kontaktene og for overføring av data som er tilordnet resultatet av utførelsen av verifikasjonsprogrammet, fra hovedenheten (12) via kontaktene, og lagerkretser (34b) for å motta et synkroniseringssignal via kontaktene (22), idet prosessorenheten (34a) er programmert for å motta, i respons på synkroniseringssignalet, en verdi som frembringes av hovedenheten for å utføre forhåndsbestemte aritmetiske algoritmeforløp for verdien og overføre resultatene til grensesnittkretsene (34h) for overføring av data relatert til verifikasj onsresultåtene.
14. Ekstern lagerenhet (16) ifølge krav 13, KARAKTERISERT VED at prosessorenheten (34a) er innrettet for å motta ytter
ligere verdier via grensesnittkretsene fra hovedenheten (12) og er programmert for sammenlikning av resultatene med de ytterligere verdier.
15. Ekstern lagerenhet (16) ifølge krav 14, KARAKTERISERT VED at prosessorenheten (34a) er programmert for å gi respons overfor registreringen av sammenfall mellom resultatene og de ytterligere verdier for å utføre minst én ytterligere aritmetisk algoritmesekvens.
16. Ekstern lagerenhet (16) ifølge krav 15, KARAKTERISERT VED at prosessorenheten (34a) er programmert for å bringe ut resultatet av den eller hver ytterligere aritmetisk algoritmesekvens .
17. Ekstern lagerenhet (16) ifølge krav 15 eller 16, KARAKTERISERT VED at prosessorenheten (34a) er programmert for gjentatt utøvelse av ytterligere aritmetiske algoritmesekvenser.
18. Ekstern lagerenhet (16) ifølge krav 17, KARAKTERISERT VED at prosessorenheten (34a) er innrettet for å utføre ytterligere aritmetiske algoritmesekvenser under gjennomløping av videospillprogrammer.
19. Ekstern lagerenhet (16) ifølge krav 13, KARAKTERISERT VED at kretsen (34) med nøkkelfunksjon omfatter klokkesignalinn-gangskretser koplet til kontaktene (22) for å motta klokkesignaler over klokkelinjen (CL) fra hovedenheten (12).
20. Ekstern lagerenhet (16) ifølge krav 19, KARAKTERISERT VED at kretsen (34) omfatter lagerkretser (34b) innrettet for å gi respons på klokkesignalene og generere flere taktsignaler som hvert kan aktivere igangsetting av en forhåndsbestemt prosess-sekvens.
21. Ekstern lagerenhet (16) ifølge krav 20, KARAKTERISERT VED at kretsen (34) er innrettet for å gi respons på flere taktsignaler og motta data fra hovedenheten (12) i respons på et første taktsignal, utføre forhåndsbestemte aritmetiske algoritmesekvenser i respons på et andre taktsignal, og overføre data til hovedenheten (12) i respons på et tredje taktsignal.
22. Ekstern lagerenhet (16) ifølge krav 12, KARAKTERISERT VED å være i form av en videospillkassett.
23. Fremgangsmåte for drift av en ekstern lagerenhet (16) og en hovedenhet (12) som omfatter en hovedprosessorenhet (28) for prosessering av data i digital form, idet enhetene tilhører et videospillprosesseringsapparat, omfattende autentisering av data i den eksterne lagerenhet (16), idet denne er løsbart forbundet med hovedenheten (12) og har lagerkretser (42) for å lagre et videografisk program som skal gjennomløpes av hovedenheten, KARAKTERISERT VED: forbindelse av den eksterne lagerenhet (16) med hovedenheten (12), sperring av hovedenhetens hovedprosessorenhet (28), utførelse av et første og et andre forhåndsbestemt autentiseringsprogram ved hjelp av en separat autentiseringskrets (30) i hovedenheten for å autentisere data i den eksterne lagerenhet , overføring av data som er knyttet til resultatet av utførelsen av et andre forhåndsbestemt autentiseringsprogram, fra en ekstern autentiseringskrets (34) i den eksterne lagerenhet (16), til den separate krets (30) i hovedenheten (12), sammenlikning av resultatet fra gjennomløpingen av det første og det andre autentiseringsprogram, frigivning av hovedprosessorenheten (28) fra sin sperrede tilstand og utførelse av minst ett videografisk dataprogram ved hjelp av hovedenheten (12) hvis resultatet av utførelsen av det første autentiseringsprogram fremviser en forhåndsbestemt relasjon til resultatene fra utførelsen av det andre forhåndsbestemte autentiseringsprogram, og opprettholdelse av hovedprosessorenhetens sperrede tilstand hvis resultatet fra utførelsen av det første autentiseringsprogram ikke frembringer den forhåndsbestemte relasjon til resultatene fra utførelsen av det andre autentiseringsprogram.
24. Fremgangsmåte ifølge krav 23, KARAKTERISERT VED samtidig overføring av klokkesignaler til den separate autentiseringskrets (30) og den eksterne tilsvarende autentiseringskrets (34).
25. Fremgangsmåte ifølge krav 23, KARAKTERISERT VED: overføring av klokkesignaler til den separate autentiseringskrets (30) og den eksterne autentiseringskrets (34), og utførelse av flere instruksjoner i disse kretser i respons på hvert mottatt klokkesignal.
26. Fremgangsmåte ifølge krav 25, KARAKTERISERT VED at utførelsen av flere av instruksjonene omfatter: mottaking av data fra den separate krets (30) i respons på et første taktsignal, utførelse av forhåndsbestemte aritmetiske algoritmesekvenser i respons på et andre taktsignal, og overføring av data til kretsen (30) i respons på et tredje taktsignal.
27. Fremgangsmåte ifølge ett av de foregående krav 23-26, KARAKTERISERT VED gjensidig synkronisering av algoritmesekvensene for autentiseringskretsene (30, 34).
28. Fremgangsmåte ifølge ett av de foregående krav 23-27, KARAKTERISERT VED at hver av autentiseringskretsene (30, 34) registrerer tilfeldige data som frembringes av den øvrige autentiseringskrets og utfører forhåndsbestemte prosesseringsalgoritmesekvenser som følge av de registrerte data.
29. Fremgangsmåte ifølge krav 28, KARAKTERISERT VED at de forhåndsbestemte prosesseringsalgoritmesekvenser som utføres av den eksterne autentiseringskrets (34) blir utført samtidig med tilsvarende algoritmesekvenser som utføres av den separate autentiseringskrets (30).
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP60138699A JPS61296433A (ja) | 1985-06-24 | 1985-06-24 | 外部記憶装置のソフトウエア管理システム |
JP60143026A JPH0760412B2 (ja) | 1985-06-28 | 1985-06-28 | 真偽判別素子、およびそれを用いた外部記憶装置 |
Publications (4)
Publication Number | Publication Date |
---|---|
NO862523D0 NO862523D0 (no) | 1986-06-23 |
NO862523L NO862523L (no) | 1986-12-29 |
NO177548B true NO177548B (no) | 1995-06-26 |
NO177548C NO177548C (no) | 1995-10-04 |
Family
ID=26471684
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
NO862523A NO177548C (no) | 1985-06-24 | 1986-06-23 | System for bestemmelse av en programvares riktighet i et databehandlingsapparat |
Country Status (8)
Country | Link |
---|---|
US (3) | US4799635A (no) |
EP (1) | EP0206704B1 (no) |
AU (2) | AU599317B2 (no) |
CA (1) | CA1270339A (no) |
DE (1) | DE3689574T2 (no) |
FI (1) | FI92767C (no) |
HK (2) | HK195A (no) |
NO (1) | NO177548C (no) |
Families Citing this family (135)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS60107155A (ja) * | 1983-11-16 | 1985-06-12 | Hitachi Ltd | 記憶ボリユ−ムのデ−タ保護方式 |
USRE34161E (en) * | 1985-10-04 | 1993-01-12 | Nintendo Company Limited | Memory cartridge and information processor unit using such cartridge |
US5014234A (en) * | 1986-08-25 | 1991-05-07 | Ncr Corporation | System with software usage timer and counter for allowing limited use but preventing continued unauthorized use of protected software |
US4975647A (en) * | 1987-06-01 | 1990-12-04 | Nova Biomedical Corporation | Controlling machine operation with respect to consumable accessory units |
FR2633086B1 (fr) * | 1988-06-20 | 1990-11-09 | Dupre Michel Jean | Procede et appareil d'enregistrement numerique de donnees, support protege d'enregistrement de donnees et appareil de lecture de donnees enregistrees sur un tel support |
US4932054A (en) * | 1988-09-16 | 1990-06-05 | Chou Wayne W | Method and apparatus for protecting computer software utilizing coded filter network in conjunction with an active coded hardware device |
US5293029A (en) * | 1989-01-17 | 1994-03-08 | Kabushiki Kaisha Toshiba | System for mutually certifying an IC card and an IC card terminal |
FR2643475A1 (fr) * | 1989-02-21 | 1990-08-24 | Livowsky Jean Michel | Procede de controle de l'utilisation d'un support d'informations, notamment magnetique ou magneto-optique et systemes pour sa mise en oeuvre |
KR0149503B1 (ko) * | 1989-04-20 | 1999-05-15 | 야마우찌 히로시 | 메모리 카트리지 |
GB8912866D0 (en) * | 1989-06-05 | 1989-07-26 | Code Masters Softwara | Interfacing device for a computer games system |
IE903539A1 (en) * | 1989-10-03 | 1991-04-10 | Cradle Electronics | Electro-active cradle circuits for the detection of access¹or penetration |
US5004232A (en) * | 1989-10-13 | 1991-04-02 | Macronix, Inc. | Computer game cartridge security circuit |
US5271098A (en) * | 1989-11-07 | 1993-12-14 | Chips And Technologies, Inc. | Method and apparatus for use of expanded memory system (EMS) to access cartridge memory |
US5029207A (en) | 1990-02-01 | 1991-07-02 | Scientific-Atlanta, Inc. | External security module for a television signal decoder |
GB9005916D0 (en) * | 1990-03-16 | 1990-05-09 | Amstrad Plc | Computer system |
JP2560124B2 (ja) * | 1990-03-16 | 1996-12-04 | 株式会社セガ・エンタープライゼス | ビデオゲームシステム及び情報処理装置 |
US5033084A (en) * | 1990-04-02 | 1991-07-16 | Data I/O Corporation | Method and apparatus for protection of software in an electronic system |
US5111504A (en) * | 1990-08-17 | 1992-05-05 | General Instrument Corporation | Information processing apparatus with replaceable security element |
US5144664A (en) * | 1990-11-16 | 1992-09-01 | General Instrument Corporation | Apparatus and method for upgrading terminals to maintain a secure communication network |
AU640078B2 (en) * | 1991-03-07 | 1993-08-12 | Home Entertainment Suppliers Pty Limited | Computer cartridge |
JP3057835B2 (ja) * | 1991-09-09 | 2000-07-04 | 日本電気株式会社 | ハードウェアレビジョン管理装置 |
US5388841A (en) | 1992-01-30 | 1995-02-14 | A/N Inc. | External memory system having programmable graphics processor for use in a video game system or the like |
US5357604A (en) * | 1992-01-30 | 1994-10-18 | A/N, Inc. | Graphics processor with enhanced memory control circuitry for use in a video game system or the like |
CA2074388C (en) * | 1992-01-30 | 2003-01-14 | Jeremy E. San | Programmable graphics processor having pixel to character conversion hardware for use in a video game system or the like |
US5434870A (en) * | 1992-04-17 | 1995-07-18 | Unisys Corporation | Apparatus and method for verifying the authenticity of a circuit board |
GB9210786D0 (en) * | 1992-05-20 | 1992-07-08 | Codemasters Ltd | Memory cartridges |
JPH0628173A (ja) * | 1992-07-07 | 1994-02-04 | Minolta Camera Co Ltd | プログラムの置換方法及び装置 |
JP2953267B2 (ja) * | 1992-10-13 | 1999-09-27 | コナミ株式会社 | 画像作成装置における外部メモリ制御装置 |
KR100188174B1 (ko) * | 1992-10-30 | 1999-06-01 | 이리마지리 쇼우이치로 | 정보 처리 장치 |
US5572235A (en) * | 1992-11-02 | 1996-11-05 | The 3Do Company | Method and apparatus for processing image data |
US5838389A (en) * | 1992-11-02 | 1998-11-17 | The 3Do Company | Apparatus and method for updating a CLUT during horizontal blanking |
US5596693A (en) * | 1992-11-02 | 1997-01-21 | The 3Do Company | Method for controlling a spryte rendering processor |
US5481275A (en) | 1992-11-02 | 1996-01-02 | The 3Do Company | Resolution enhancement for video display using multi-line interpolation |
US20010011224A1 (en) * | 1995-06-07 | 2001-08-02 | Stephen James Brown | Modular microprocessor-based health monitoring system |
US5778421A (en) * | 1992-11-26 | 1998-07-07 | Nintendo Co., Ltd. | Information processing system which can check disk-like storage medium having prescribed relation therewith and disk-like storage medium therefor |
JPH06161902A (ja) * | 1992-11-26 | 1994-06-10 | Nintendo Co Ltd | 補助記憶媒体の真偽判別装置およびそれに用い られる補助記憶装置 |
US7209901B2 (en) | 1992-12-15 | 2007-04-24 | Sl Patent Holdings Llc C/O Aol Time Warner | Method for selling, protecting, and redistributing digital goods |
US6266654B1 (en) * | 1992-12-15 | 2001-07-24 | Softlock.Com, Inc. | Method for tracking software lineage |
US7089212B2 (en) * | 1992-12-15 | 2006-08-08 | Sl Patent Holdings Llc | System and method for controlling access to protected information |
US5509070A (en) * | 1992-12-15 | 1996-04-16 | Softlock Services Inc. | Method for encouraging purchase of executable and non-executable software |
US7831516B2 (en) | 1992-12-15 | 2010-11-09 | Sl Patent Holdings Llc | System and method for redistributing and licensing access to protected information among a plurality of devices |
US5752073A (en) * | 1993-01-06 | 1998-05-12 | Cagent Technologies, Inc. | Digital signal processor architecture |
US5591104A (en) * | 1993-01-27 | 1997-01-07 | Life Fitness | Physical exercise video system |
US5796940A (en) * | 1993-03-10 | 1998-08-18 | Sega Enterprises, Ltd. | Method for executing software program and circuit for implementing the method |
US5533125A (en) * | 1993-04-06 | 1996-07-02 | International Business Machines Corporation | Removable computer security device |
US5592651A (en) * | 1993-06-11 | 1997-01-07 | Rackman; Michael I. | Method and system for limiting multi-user play of video game cartridges |
US5572589A (en) * | 1993-12-09 | 1996-11-05 | Microsoft Corporation | Disc serialization |
US5666516A (en) * | 1993-12-16 | 1997-09-09 | International Business Machines Corporation | Protected programmable memory cartridge having selective access circuitry |
WO1995031061A1 (en) * | 1994-05-05 | 1995-11-16 | Catapult Entertainment, Inc. | Network architecture for real-time video games |
US5586257A (en) * | 1994-05-05 | 1996-12-17 | Perlman; Stephen G. | Network architecture to support multiple site real-time video games |
US5636209A (en) * | 1994-05-05 | 1997-06-03 | Perlman; Stephen G. | Modem to support multiple site call conferenced data communications |
US5558339A (en) * | 1994-05-05 | 1996-09-24 | Perlman; Stephen G. | Network architecture to support recording and playback of real-time video games |
US5624316A (en) * | 1994-06-06 | 1997-04-29 | Catapult Entertainment Inc. | Video game enhancer with intergral modem and smart card interface |
JPH0816530A (ja) * | 1994-07-04 | 1996-01-19 | Kurieiteibu Design:Kk | コプロセサシステムおよび補助演算機能付外部メモリ装置 |
JPH08138307A (ja) | 1994-09-16 | 1996-05-31 | Toshiba Corp | 情報記憶装置 |
US5941775A (en) * | 1994-10-14 | 1999-08-24 | Sega Of America, Inc. | Data processing system, method thereof and memory cassette |
US5680533A (en) | 1994-10-31 | 1997-10-21 | Nintendo Co., Ltd. | Videographics program/video game fabricating system and method |
US5592609A (en) * | 1994-10-31 | 1997-01-07 | Nintendo Co., Ltd. | Video game/videographics program fabricating system and method with unit based program processing |
US6115036A (en) * | 1994-10-31 | 2000-09-05 | Nintendo Co., Ltd. | Video game/videographics program editing apparatus with program halt and data transfer features |
US5599231A (en) * | 1994-10-31 | 1997-02-04 | Nintendo Co., Ltd. | Security systems and methods for a videographics and authentication game/program fabricating device |
US5680534A (en) * | 1994-10-31 | 1997-10-21 | Nintendo Co., Ltd. | Video game/videographics program fabricating system and method with superimpose control |
AU4149196A (en) * | 1994-11-04 | 1996-05-31 | Catapult Entertainment, Inc. | Method and apparatus for loosely synchronizing closed free-running raster displays |
AU4158496A (en) * | 1994-11-14 | 1996-06-06 | Catapult Entertainment, Inc. | Method and apparatus for synchronizing the execution of multiple video game systems in a networked environment |
US5651060A (en) * | 1994-11-15 | 1997-07-22 | Catapult Entertainment, Inc. | Method and apparatus for detecting and recovering from call waiting interruptions to modem communications |
US7690043B2 (en) * | 1994-12-19 | 2010-03-30 | Legal Igaming, Inc. | System and method for connecting gaming devices to a network for remote play |
US5644636A (en) * | 1994-12-30 | 1997-07-01 | Xtec, Incorporated | Method and apparatus for securing data stored in semiconductor memory cells |
US5721951A (en) * | 1995-02-24 | 1998-02-24 | Digital Interactive Corporation Systems, Ltd. | Home entertainment system for playing software designed for play in home computer |
US5644444A (en) * | 1995-03-10 | 1997-07-01 | Iomega Corporation | Read/write protect scheme for a disk cartridge and drive |
US6724554B1 (en) | 1995-03-10 | 2004-04-20 | Iomega Corporation | Read/write protect scheme for a disk cartridge and drive |
JP2986375B2 (ja) * | 1995-06-22 | 1999-12-06 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 情報処理装置及びその制御方法 |
US6331856B1 (en) | 1995-11-22 | 2001-12-18 | Nintendo Co., Ltd. | Video game system with coprocessor providing high speed efficient 3D graphics and digital audio signal processing |
US6022274A (en) | 1995-11-22 | 2000-02-08 | Nintendo Co., Ltd. | Video game system using memory module |
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 |
US6155926A (en) * | 1995-11-22 | 2000-12-05 | Nintendo Co., Ltd. | Video game system and method with enhanced three-dimensional character and background control |
US5812662A (en) * | 1995-12-18 | 1998-09-22 | United Microelectronics Corporation | Method and apparatus to protect computer software |
JPH1083363A (ja) * | 1996-03-28 | 1998-03-31 | Mega Chips:Kk | ゲームプログラム供給システムおよびプログラム書き換えシステム |
US6134590A (en) * | 1996-04-16 | 2000-10-17 | Webtv Networks, Inc. | Method and apparatus for automatically connecting devices to a local network |
US6786420B1 (en) | 1997-07-15 | 2004-09-07 | Silverbrook Research Pty. Ltd. | Data distribution mechanism in the form of ink dots on cards |
US6618117B2 (en) | 1997-07-12 | 2003-09-09 | Silverbrook Research Pty Ltd | Image sensing apparatus including a microcontroller |
US6624848B1 (en) | 1997-07-15 | 2003-09-23 | Silverbrook Research Pty Ltd | Cascading image modification using multiple digital cameras incorporating image processing |
US6690419B1 (en) | 1997-07-15 | 2004-02-10 | Silverbrook Research Pty Ltd | Utilising eye detection methods for image processing in a digital image camera |
US6948794B2 (en) | 1997-07-15 | 2005-09-27 | Silverbrook Reserach Pty Ltd | Printhead re-capping assembly for a print and demand digital camera system |
US7110024B1 (en) | 1997-07-15 | 2006-09-19 | Silverbrook Research Pty Ltd | Digital camera system having motion deblurring means |
US6879341B1 (en) | 1997-07-15 | 2005-04-12 | Silverbrook Research Pty Ltd | Digital camera system containing a VLIW vector processor |
IL123028A (en) | 1998-01-22 | 2007-09-20 | Nds Ltd | Protection of data on media recording disks |
US6378072B1 (en) * | 1998-02-03 | 2002-04-23 | Compaq Computer Corporation | Cryptographic system |
JPH11253660A (ja) * | 1998-03-13 | 1999-09-21 | Bandai Co Ltd | ゲーム機、該ゲーム機の起動方法及び該ゲーム機用ゲームプログラムの実行方法 |
NZ509020A (en) * | 1998-06-24 | 2003-01-31 | Aristocrat Technologies Au | Virtual EPROM simulator apparatus |
JP3292698B2 (ja) * | 1998-07-10 | 2002-06-17 | 株式会社バンダイ | 電子機器装置 |
AUPP702098A0 (en) | 1998-11-09 | 1998-12-03 | Silverbrook Research Pty Ltd | Image creation method and apparatus (ART73) |
SG87837A1 (en) | 1998-10-08 | 2002-04-16 | Sony Computer Entertainment Inc | Portable toy, portable information terminal, intertainment system, and recording medium |
AUPQ056099A0 (en) | 1999-05-25 | 1999-06-17 | Silverbrook Research Pty Ltd | A method and apparatus (pprint01) |
US7704147B2 (en) * | 1999-10-06 | 2010-04-27 | Igt | Download procedures for peripheral devices |
US7290072B2 (en) * | 1999-10-06 | 2007-10-30 | Igt | Protocols and standards for USB peripheral communications |
US6251014B1 (en) * | 1999-10-06 | 2001-06-26 | International Game Technology | Standard peripheral communication |
US7819750B2 (en) * | 1999-10-06 | 2010-10-26 | Igt | USB software architecture in a gaming machine |
US6899627B2 (en) * | 1999-10-06 | 2005-05-31 | Igt | USB device protocol for a gaming machine |
GB2361567B (en) * | 2000-04-18 | 2004-02-11 | Mitel Corp | Hardware authentication system and method |
US7134960B1 (en) * | 2000-08-23 | 2006-11-14 | Nintendo Co., Ltd. | External interfaces for a 3D graphics system |
US6609977B1 (en) | 2000-08-23 | 2003-08-26 | Nintendo Co., Ltd. | External interfaces for a 3D graphics system |
GB2376192A (en) * | 2001-05-25 | 2002-12-11 | Tronji Ltd | Cartridge based electronic display system. |
US7062622B2 (en) * | 2001-06-29 | 2006-06-13 | Microsoft Corporation | Protection of content stored on portable memory from unauthorized usage |
US20030009686A1 (en) * | 2001-07-03 | 2003-01-09 | Yu-Te Wu | Computer-implemented method for denying unauthorized access to data in a computer data storage medium |
US7003588B1 (en) | 2001-08-22 | 2006-02-21 | Nintendo Co., Ltd. | Peripheral devices for a video game system |
US8533776B2 (en) * | 2001-09-14 | 2013-09-10 | Lenovo (Singapore) Pte Ltd. | Method and system for binding a device to a planar |
US20030120922A1 (en) * | 2001-12-06 | 2003-06-26 | Fairchild Semiconductor Corporation | Device authentication system and method |
EP1333350A1 (en) * | 2002-01-30 | 2003-08-06 | STMicroelectronics Limited | Memory security device |
US20030178774A1 (en) * | 2002-03-19 | 2003-09-25 | Marcilio Fernando Mauro | Card game |
US7350081B1 (en) | 2002-04-29 | 2008-03-25 | Best Robert M | Secure execution of downloaded software |
US20030220145A1 (en) * | 2002-05-22 | 2003-11-27 | Erickson Craig S. | Digital camera and networking accessories for a portable video game device |
US20030228911A1 (en) * | 2002-06-05 | 2003-12-11 | Dernis Mitchell S. | DVD-enabling code server and loader for a console-based gaming system |
US20050130745A1 (en) * | 2002-06-05 | 2005-06-16 | Microsoft Corporation | DVD-enabling dongle for a console-based gaming system |
US10102713B2 (en) | 2002-10-09 | 2018-10-16 | Zynga Inc. | System and method for connecting gaming devices to a network for remote play |
US7191898B1 (en) | 2003-09-04 | 2007-03-20 | Union Rich Usa, Llc | Saw blade case |
FR2862397A1 (fr) * | 2003-11-13 | 2005-05-20 | St Microelectronics Sa | Demarrage securise d'un appareil electronique a architecture smp |
US20050228993A1 (en) * | 2004-04-12 | 2005-10-13 | Silvester Kelan C | Method and apparatus for authenticating a user of an electronic system |
JP2006079520A (ja) * | 2004-09-13 | 2006-03-23 | Aruze Corp | 情報処理装置 |
JP2006099411A (ja) * | 2004-09-29 | 2006-04-13 | Oki Electric Ind Co Ltd | ソフトウェアの使用制限方法 |
US7864158B1 (en) | 2004-10-06 | 2011-01-04 | Mcgeever Daniel Robert | Use of graphical information to control processes |
JP2006296671A (ja) * | 2005-04-19 | 2006-11-02 | Aruze Corp | 遊技機および遊技用情報の認証取込装置並びに遊技用情報の取込装置 |
KR20080021834A (ko) * | 2005-06-29 | 2008-03-07 | 엔엑스피 비 브이 | 다수의 디바이스들을 포함하는 적어도 하나의 구성의무결성을 보호하는 보안 시스템 및 방법 |
DE102005043043A1 (de) * | 2005-09-09 | 2007-03-22 | Fujitsu Siemens Computers Gmbh | Computer mit mindestens einer Anschlussmöglichkeit für ein Wechselspeichermedium und Verfahren zum Starten und Betreiben eines Computers mit einem Wechselspeichermedium |
US8484632B2 (en) * | 2005-12-22 | 2013-07-09 | Sandisk Technologies Inc. | System for program code execution with memory storage controller participation |
US8479186B2 (en) * | 2005-12-22 | 2013-07-02 | Sandisk Technologies Inc. | Method for program code execution with memory storage controller participation |
WO2007134115A2 (en) * | 2006-05-09 | 2007-11-22 | Disney Enterprises, Inc. | Interactive animation |
US7841941B2 (en) * | 2006-05-24 | 2010-11-30 | Igt | Extension component for authenticating game data |
JP5479097B2 (ja) * | 2006-09-07 | 2014-04-23 | ノキア コーポレイション | セキュアモジュールアプリケーションに関連する情報の管理 |
ES2722648T3 (es) * | 2007-01-31 | 2019-08-14 | Nokia Technologies Oy | Gestión de aplicaciones relacionadas con módulos seguros |
CN101815946B (zh) * | 2007-09-01 | 2015-11-25 | 生命诊断公司 | 一次性微处理器分析装置 |
DE102007047269A1 (de) | 2007-10-02 | 2009-04-09 | Atg Luther & Maelzer Gmbh | Vollrasterkassette für einen Paralleltester zum Testen einer unbestückten Leiterplatte, Federkontaktstift für eine solche Vollrasterkassette sowie Adapter für einen Paralleltester zum Testen einer unbestückten Leiterplatte |
KR20090047917A (ko) * | 2007-11-09 | 2009-05-13 | 삼성전자주식회사 | 외장 메모리 액세스 장치 및 방법 |
BRPI0907030A2 (pt) * | 2008-02-01 | 2015-07-07 | Thomson Licensing | Cartucho de software protegido por cópia |
DE102009016181A1 (de) | 2009-04-03 | 2010-10-14 | Atg Luther & Maelzer Gmbh | Kontaktierungseinheit für eine Testvorrichtung zum Testen von Leiterplatten |
US8978094B2 (en) * | 2012-02-03 | 2015-03-10 | Apple Inc. | Centralized operation management |
Family Cites Families (53)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3755641A (en) * | 1970-02-05 | 1973-08-28 | M Rackman | Mating configurations for connectable components |
US3818190A (en) * | 1970-09-21 | 1974-06-18 | D Silverman | Authentication of access to information records |
US3859634A (en) * | 1971-04-09 | 1975-01-07 | Little Inc A | Digital lock system having electronic key card |
US3772662A (en) * | 1971-12-30 | 1973-11-13 | Texas Instruments Inc | Write ring detector for magnetic recorders |
US3839736A (en) * | 1972-11-24 | 1974-10-01 | T Hoshall | Record tape cartridges |
US3934122A (en) * | 1974-08-15 | 1976-01-20 | Riccitelli James A | Electronic security card and system for authenticating card ownership |
US4117605A (en) * | 1976-06-24 | 1978-10-03 | Michael J. Freeman | Real time conversational toy having secure playback response |
JPS5317849A (en) * | 1976-08-02 | 1978-02-18 | Hitachi Ltd | Transistorized ignition system |
US4352492A (en) * | 1976-08-23 | 1982-10-05 | Fairchild Camera & Instrument Corp. | Data storage apparatus |
US4095791A (en) * | 1976-08-23 | 1978-06-20 | Fairchild Camera And Instrument Corp. | Cartridge programmable video game apparatus |
US4105156A (en) * | 1976-09-06 | 1978-08-08 | Dethloff Juergen | Identification system safeguarded against misuse |
US4120030A (en) * | 1977-03-11 | 1978-10-10 | Kearney & Trecker Corporation | Computer software security system |
US4149027A (en) * | 1977-05-27 | 1979-04-10 | Atari, Inc. | TV game cartridge and method |
US4218582A (en) * | 1977-10-06 | 1980-08-19 | The Board Of Trustees Of The Leland Stanford Junior University | Public key cryptographic apparatus and method |
US4193131A (en) * | 1977-12-05 | 1980-03-11 | International Business Machines Corporation | Cryptographic verification of operational keys used in communication networks |
US4310720A (en) * | 1978-03-31 | 1982-01-12 | Pitney Bowes Inc. | Computer accessing system |
US4281215A (en) * | 1978-05-03 | 1981-07-28 | Atalla Technovations | Method and apparatus for securing data transmissions |
US4268715A (en) * | 1978-05-03 | 1981-05-19 | Atalla Technovations | Method and apparatus for securing data transmissions |
US4218738A (en) * | 1978-05-05 | 1980-08-19 | International Business Machines Corporation | Method for authenticating the identity of a user of an information system |
US4193061A (en) * | 1978-07-11 | 1980-03-11 | Zoltai John T | Electronic authentication system |
FR2469760A1 (fr) * | 1979-11-09 | 1981-05-22 | Cii Honeywell Bull | Procede et systeme d'identification de personnes demandant l'acces a certains milieux |
US4295039A (en) * | 1979-12-03 | 1981-10-13 | International Business Machines Corporation | Method and apparatus for achieving secure password verification |
CH637228A5 (fr) * | 1980-03-27 | 1983-07-15 | Willemin Machines Sa | Dispositif de commande d'une machine ou d'une installation. |
FR2483657B1 (fr) * | 1980-05-30 | 1986-11-21 | Bull Sa | Machine portable pour le calcul ou le traitement de l'information |
US4384326A (en) * | 1980-07-28 | 1983-05-17 | Ncr Corporation | Memory security circuit using the simultaneous occurance of two signals to enable the memory |
US4492582A (en) * | 1981-01-06 | 1985-01-08 | Mattel, Inc. | Teaching and entertainment device |
US4432067A (en) * | 1981-05-07 | 1984-02-14 | Atari, Inc. | Memory cartridge for video game system |
US4446519A (en) * | 1981-05-26 | 1984-05-01 | Corban International, Ltd. | Method and apparatus for providing security for computer software |
DE3122037A1 (de) * | 1981-05-29 | 1983-01-05 | Siemens AG, 1000 Berlin und 8000 München | Elektronisches regelgeraet |
US4386773A (en) * | 1981-06-22 | 1983-06-07 | Bronstein John M | TV Game cartridge with expandable memory |
US4471163A (en) * | 1981-10-05 | 1984-09-11 | Donald Thomas C | Software protection system |
US4670857A (en) * | 1981-10-26 | 1987-06-02 | Rackman Michael I | Cartridge-controlled system whose use is limited to authorized cartridges |
US4454594A (en) * | 1981-11-25 | 1984-06-12 | U.S. Philips Corporation | Method and apparatus to secure proprietary operation of computer equipment |
US4442486A (en) * | 1981-11-25 | 1984-04-10 | U.S. Philips Corporation | Protected programmable apparatus |
CA1183276A (en) * | 1981-11-25 | 1985-02-26 | Charles B. Heffron | Method for identifying a system-allied physically separable program memory and a data processing system utilizing said method |
US4430728A (en) * | 1981-12-29 | 1984-02-07 | Marathon Oil Company | Computer terminal security system |
US4500879A (en) * | 1982-01-06 | 1985-02-19 | Smith Engineering | Circuitry for controlling a CRT beam |
US4458315A (en) * | 1982-02-25 | 1984-07-03 | Penta, Inc. | Apparatus and method for preventing unauthorized use of computer programs |
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 |
US4462076A (en) * | 1982-06-04 | 1984-07-24 | Smith Engineering | Video game cartridge recognition and security system |
US4757468A (en) * | 1982-09-22 | 1988-07-12 | Intel Corporation | Authenticated read-only memory |
EP0114522A3 (en) * | 1982-12-27 | 1986-12-30 | Synertek Inc. | Rom protection device |
US4680731A (en) * | 1983-03-17 | 1987-07-14 | Romox Incorporated | Reprogrammable cartridge memory with built-in identification circuitry and programming method |
US4602351A (en) * | 1983-07-06 | 1986-07-22 | Tokyo Tatsuno Co., Ltd. | Device for reading and writing IC-external storage cards |
US4575622A (en) * | 1983-07-29 | 1986-03-11 | Esac, Inc. | Electronic access control system for coin-operated games and like selectively accessible devices |
US4562306A (en) * | 1983-09-14 | 1985-12-31 | Chou Wayne W | Method and apparatus for protecting computer software utilizing an active coded hardware device |
US4652990A (en) * | 1983-10-27 | 1987-03-24 | Remote Systems, Inc. | Protected software access control apparatus and method |
JPS60207957A (ja) * | 1984-03-31 | 1985-10-19 | Toshiba Corp | デ−タ保護方式 |
US4862156A (en) * | 1984-05-21 | 1989-08-29 | Atari Corporation | Video computer system including multiple graphics controllers and associated method |
US4736419A (en) * | 1984-12-24 | 1988-04-05 | American Telephone And Telegraph Company, At&T Bell Laboratories | Electronic lock system |
CA1249661A (en) * | 1985-04-26 | 1989-01-31 | Benjamin F. Swanson | Method and apparatus for determining saturation and permeability of a rock sample using mercury capillary pressure curves |
EP0215291B1 (de) * | 1985-09-10 | 1991-02-27 | Hülsbeck & Fürst GmbH. & Co. KG | Elektronische Schliesseinrichtung für Kraftfahrzeuge |
US4755799A (en) * | 1986-02-27 | 1988-07-05 | James Romano | Microcomputer controlled combination lock security system |
-
1985
- 1985-12-17 CA CA000497868A patent/CA1270339A/en not_active Expired - Fee Related
- 1985-12-23 US US06/812,929 patent/US4799635A/en not_active Expired - Lifetime
-
1986
- 1986-06-16 EP EP86304592A patent/EP0206704B1/en not_active Expired - Lifetime
- 1986-06-16 DE DE3689574T patent/DE3689574T2/de not_active Expired - Fee Related
- 1986-06-18 AU AU58816/86A patent/AU599317B2/en not_active Expired
- 1986-06-18 FI FI862598A patent/FI92767C/fi not_active IP Right Cessation
- 1986-06-23 NO NO862523A patent/NO177548C/no not_active IP Right Cessation
-
1989
- 1989-01-13 US US07/297,105 patent/US5070479A/en not_active Expired - Lifetime
-
1990
- 1990-10-19 AU AU64834/90A patent/AU636401B2/en not_active Ceased
-
1993
- 1993-04-07 US US08/043,745 patent/US5426762A/en not_active Expired - Lifetime
-
1995
- 1995-01-05 HK HK195A patent/HK195A/xx not_active IP Right Cessation
-
1998
- 1998-05-18 HK HK98104258A patent/HK1005196A1/xx not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
HK195A (en) | 1995-01-13 |
NO862523L (no) | 1986-12-29 |
AU636401B2 (en) | 1993-04-29 |
AU599317B2 (en) | 1990-07-19 |
US5070479A (en) | 1991-12-03 |
FI92767C (fi) | 1994-12-27 |
CA1270339A (en) | 1990-06-12 |
DE3689574T2 (de) | 1994-08-25 |
US5426762A (en) | 1995-06-20 |
FI92767B (fi) | 1994-09-15 |
EP0206704A2 (en) | 1986-12-30 |
FI862598A0 (fi) | 1986-06-18 |
EP0206704A3 (en) | 1989-03-29 |
AU5881686A (en) | 1987-01-08 |
DE3689574D1 (de) | 1994-03-10 |
FI862598A (fi) | 1986-12-25 |
HK1005196A1 (en) | 1998-12-24 |
EP0206704B1 (en) | 1994-01-26 |
NO177548C (no) | 1995-10-04 |
NO862523D0 (no) | 1986-06-23 |
AU6483490A (en) | 1991-01-17 |
US4799635A (en) | 1989-01-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
NO177548B (no) | System for bestemmelse av en programvares riktighet i et databehandlingsapparat | |
US5004232A (en) | Computer game cartridge security circuit | |
JP4598250B2 (ja) | パチンコ機 | |
US6106396A (en) | Electronic casino gaming system with improved play capacity, authentication and security | |
AU605058B2 (en) | An electronic gaming machine | |
US3764742A (en) | Cryptographic identification system | |
US6149522A (en) | Method of authenticating game data sets in an electronic casino gaming system | |
US5832206A (en) | Apparatus and method to provide security for a keypad processor of a transaction terminal | |
JP4995241B2 (ja) | 電子機器、遊技機、主制御基板、周辺基板、認証方法および認証プログラム | |
JP4876155B2 (ja) | 電子機器、遊技機、主制御基板、周辺基板、認証方法および認証プログラム | |
US20240187251A1 (en) | Interactive videogame verification using cryptographically protected transaction records | |
US7216235B1 (en) | Drive/host locking system | |
TWI381734B (zh) | 用於顯示裝置之防護系統與方法 | |
JPH11221329A (ja) | 遊技機 | |
JPH0760412B2 (ja) | 真偽判別素子、およびそれを用いた外部記憶装置 | |
JPH0527891B2 (no) | ||
KR100300510B1 (ko) | 전자 기기 장치 | |
JP2002085779A (ja) | パチンコ遊技場装置 | |
AU758257B2 (en) | Casino gaming apparatus with gaming data check and dual memories | |
JP4876156B2 (ja) | 電子機器、遊技機、主制御基板、周辺基板、認証方法および認証プログラム | |
RU2138847C1 (ru) | Устройство для защиты вычислительной системы от несанкционированного доступа | |
GB2382172A (en) | Software authentication device | |
JPH11146970A (ja) | 遊技場におけるリモコン送受信装置 | |
JPH0630495B2 (ja) | 暗号化装置 | |
JP2001306515A (ja) | 情報提供装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM1K | Lapsed by not paying the annual fees |