DE3149279A1 - Programmverschluesselung - Google Patents

Programmverschluesselung

Info

Publication number
DE3149279A1
DE3149279A1 DE19813149279 DE3149279A DE3149279A1 DE 3149279 A1 DE3149279 A1 DE 3149279A1 DE 19813149279 DE19813149279 DE 19813149279 DE 3149279 A DE3149279 A DE 3149279A DE 3149279 A1 DE3149279 A1 DE 3149279A1
Authority
DE
Germany
Prior art keywords
program
computer
data
encryption
time
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
DE19813149279
Other languages
English (en)
Inventor
Arjen J. Dipl.-Ing. 6530 Bingen Mulder
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NSM Apparatebau GmbH and Co KG
Original Assignee
NSM Apparatebau GmbH and Co KG
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 NSM Apparatebau GmbH and Co KG filed Critical NSM Apparatebau GmbH and Co KG
Priority to DE19813149279 priority Critical patent/DE3149279A1/de
Publication of DE3149279A1 publication Critical patent/DE3149279A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/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
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/007Encryption, En-/decode, En-/decipher, En-/decypher, Scramble, (De-)compress
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing 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/2109Game systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Technology Law (AREA)
  • Multimedia (AREA)
  • Remote Sensing (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Storage Device Security (AREA)

Description

  • Die Erfindung bezieht sich auf ein Verfahren zum Nachbau- oder
  • Kopierschutz eines Programms zur Steuerung eines Spielautomaten, Videospieles oder dergleichen, die zur Programmablaufsteuerung auf einer geräte- und/oder kundenspezifischen Leiterplatte einen mit dem das zu schützende Programm enthaltenen externen Programmspeicher verbundenen Programmrechner sowie eine geeignete, mit den peripheren Bauelementen des Spielautomaten, Videospieles oder dergleichen verbundene Interface-Schaltung aufweisen sowie auf eine Schaltungsanordnung zur Durchführung des erfindungsgemäßen Verfahrens.
  • Es sind Verfahren und Schaltungsanordnungen zur Verschlüsselung und Entschlüsselung von Informationselementen bekannt, die in ihrer Bedeutung zunehmen, seit dem Datenbanken und die Informationsverarbeitung zunehmend in Datenzentren betrieben werden und dabei die Übertragung von Eingabedaten und Ergebnissen erforderlich wird. Vorkehrungen zum Schutze übertragener Informationen sind dabei auf allen Gebieten erforderlich. Die erforderlichen Einrichtungen zur ausreichenden Verschlüsselung sind jedoch kompliziert und aufwendig. Andererseits wäre es möglich, einen geringeren Schutzgrad bei der Übertragung von Informationen geringeren Schutzinteresses anzuwenden.
  • Bekannte Schlüsselverfahren verwenden Inversionen, Permutationen, und Uno-Zwei-Additionen und Kombinationen mit Pseudo-Zufallsfolgen. Dabei sind umfangreiche Schaltungsanordnungen erforderlich, da die Verschlüsselungsvorgänge einerseits mehrfach wiederholt werden und andererseits über große Informationsabschnitte ausgedehnt werden. Wenn der Umfang der Verschlüsselungskreise eingeschränkt wird, nimmt der Schutzgrad einer Verschlüsselung andererseits sehr schnell ab.
  • Neben der Geheimhaltung von Informationen ist es auch erforderlich, Informationen vor unbefugtem Zugriff zu schützen. Da elektronische Datenverarbeitungsanlagen aus wenigstens einer zentralen Verarbeitungseinheit und mehreren Anschlußeinheiten, die zur Speicherung großer Informationsmengen sowie zur Eingabe und Ausgabe von Informationen dienen, bestehen und die Anschlußeinheiten dabei am gleichen Ort der zentralen Verarbeitungseinheit oder örtlich getrennt von dieser angeordnet sein können, erhält jeder Benutzer der Datenverarbeitungsanlage einen Speicherbereich in dem als Inform ationsspeicher ausgebildeten Anschlußeinheiten zugewiesen.
  • Der Benutzer hat dabei nur Zugang zu den Informationen, die in dem ihm zugewiesenen Speicherbereich enthalten sind. Beim Betrieb der Anlage kann sich jedoch der Fall ergeben, daß ein nichtautorisierter Benutzer Zugang zu Informationen erhält, die in einem anderen als dem ihm zugewiesenen Speicherbereich enthalten sind. In diesem Falle ist es erwünscht, daß diese Informationen gegen Erkennung gesichert sind.
  • Ein aus der DE-OS 29 35 199 bekanntes Sicherheits#system für die Steuerung des Benutzerzugriffes durch eine Zentralstation zu einem externen Terminal beispielsweise zwecks Geldausgabe in einem automatischen Banksystem oder zur Zugangskontrolle zu einem geschützten Bereich durch Vergleich von eingegebenen verschlüsselten Daten mit in der Zentralstation gespeicherten Daten, das durch eine Modifikation der verschlüsselten Daten durch Zufallsnummerndaten gekennzeichnet ist.
  • Neben dem Schutz von Daten gegen einen unbefugten Zugriff sowie einem Selbstschutz von Anlagen oder dergleichen besteht auch ein Bedarf, Datenverarbeitungsprogramme oder Programmablaufsteuerungen gegen einen unbefugten Nachbau oder ein unbefugtes Kopieren zu schützen. Da ein gesetzlicher Schutz derartiger Programme zur Steuerung bestimmter Gerätefunktionen bisher nich oder in nur unzureichendem Maße möglich ist, sind die Hersteller und Anwender solcher Programme bemüht, einen Nachbau bzw. ein Kopieren des Programmes zu verhindern bzw. derart zu erschweren, daß sich für einen potentiellen Programmanwender der Aufwand für die Kopie eines derartigen Programmes bei wirtschaftlichen Aspekten nicht lohnt.
  • Für bestimmte Anwendungsfälle ist der Schutz eines Programmes gegen unbefugtes Kopieren unter wirtschaftlichen Gesichtspunkten absolut erforderlich. So wenden beispielsweise die Hersteller von mikrocomputergesteuerten Spielautomaten, Videospielen oder dergleichen erhebliche Kosten und Zeit auf, die betreffenden Programme zu erstellen. Ein potentieller Nachbauer eines derartigen Spielgerätes, TV-Spieles oder dergleichen bräuchte daher nur den Programmspeicherinhalt zu kopieren und über eine gesonderte Schaltungsplatine ein nachgebautes TV-Spielgerät oder dergleichen zu betreiben. Um seine Entwicklungskosten für die Programme und den Aufbau des betreffenden Gerätes zu amortisieren, muß der Hersteller eines derartigen Gerätes dafür sorgen, daß mit dem von ihm verkauften Programm für die Ablaufsteuerung eines von ihm geschaffenen TV-Spieles auch das gesamte Gerät bzw. die gesamte "Hardware" verkauft wird.
  • Aufgabe der vorliegenden Erfindung ist es, ein Verfahren sowie eine Schaltungsanordnung zum Nachbau- oder Kopierschutz eines Programms zur Steuerung eines Spielautomaten, Videospieles oder dergleichen zu schaffen, mit dem der Nachbau des zu schützenden Gerätes verhindert, zumindest aber wesentlich erschwert wird, bzw. bei dem ein Programmwechsel durch Speicheraustausch erschwert bzw. unmöglich wird, bei dem der Aufwand für die Schutzschaltung jedoch vergleichsweise gering ist und das sicherstellt, daß das Erkennen der Schutz-Software bzw. das Erkennen des Ablaufs des Schutzverfahrens nahezu unmöglich ist.
  • Diese Aufgabe wird erfindungsgemäß dadurch gelöst, daß zwischen dem Programmrechner und einem auf der Leiterplatte zusätzlich vorgesehenen Verschlüsselungsrechner zur dynamischen Schlüsselerzeugung zu beliebigen Zeitpunkten Daten ausgetauscht werden, die bei einander angepaßter Verwendung des betreffenden Programms und der betreffenden Leiterplatte zu einem störungsfreien Programmablauf führt, während bei einander nicht angepaßter oder unkompatibler Verwendung zu einem beliebigen späteren Zeitpunkt Fehler in dem Programmablauf eingefügt werden.
  • Die erfindungsgemäße Lösung stellt sicher, daß ein einfacher Nachbau des zu schützenden Spielgerätes verhindert, zumindest jedoch wesentlich erschwert wird und daß ein Programmwechsel eines vorhandenen Spielgerätes durch einfachen Speicheraustlusch verhindert bzw. erschwert wird, so daß für den Benutzer oder Anwender eines derartige Spielgerätes unter wirtschaftlichen Gesichtspunkten nur die Möglichkeit besteht, ein komplettes Spielgerät zu kaufen, wenn er ein neues, vom Hersteller des Spielgerätes entwickeltes TV-Spiel wünscht. Mit dem erfindungsgemäßen Verfahren wird also sichergestellt, daß der Benutzer oder Anwender eines Spielgerätes bei Entwicklung eines neuen Spielprogrammes nicht einfach nur das Programm dupliziert und in die bereits vorhandene "Hardware" einsetzt bzw. ein Programm kopiert und in eine nachgebaute "Hardware" einsetzt. Darüber hinaus stellt das erfindungsgemäße Verfahren sicher, daß das zu seinem Schutz entwickelte Programm nicht ohne weiteres, auch unter Zuhilfenahme eines Spezialisten, erkennbar und damit der Schutz zu umgehen ist. Die Abfragen und Antworten bzw. der Datenaustausch zwischen dem Verschlüsselungsrechner und dem Programmrechner sollen zufällig erfolgen und ebenso zufällig soll der Einbau eines Fehlers in den Programmablauf des Spielgerätes an einer Stelle eingebaut werden, die nicht mehr in unmittelbarem Zusammenhang mit der Feststellung der nichtübereinstimmenden Daten steht.
  • Eine vorteilhafte Ausgestaltung des erfindungsgemäßen Verfahrens ist dadurch gekennzeichnet, daß der Programmrechner zu einem beliebigen Zeitpunkt Daten an den Verschlüsselungsrechner abgibt, der zu einem beliebigen späteren Zeitpunkt verschlüsselte Daten an den Programmrechner zurücküberträgt, die verschlüsselten Daten mit festgelegten Daten vergleicht und bei Datenabweichungen zu einem ebenfalls beliebigen späteren Zeitpunkt Fehler in den Ablauf der Programmsteuerung einfügt.
  • Eine weitere Variante der erfindungsgemäßen Lösung ist dadurch gekennzeichnet, daß der Verschlüsselungsrechner zu beliebigen Zeitpunkten Daten an den Programmrechner abgibt, die wieder in einen Hilfsspeicher abgelegt und nach weiterem Zeitablauf unter Vorgabe bestimmter vom Programmspeicher abgegebener Parameter weiterverarbeitet und daß bei Abgabe falscher Daten vom Verschlüsselungsrechner zu einem ebenfalls beliebigen späteren Zeitpunkt Fehler in den Ablauf der Programmsteuerung eingefügt werden.
  • Eine weitere vorteilhafte Ausgestaltung der erfindungsgemäßen Lösung ist dadurch gekennzeichnet, daß vom Verschlüsselungsrechner zu beliebigen Zeitpunkten Daten oder Daten gruppen vom Programmrechner abgerufen, mit einem festgelegten oder variablen Code in bestimmter Kombinatorik verschlüsselt und zu einem späteren Zeitpunkt an den Programmrechner zurückübertragen oder an einen Kommunikationsspeicher abgegeben werden o sie zu einem beliebigen späteren Zeitpunkt zur Störung des Programmablaufs führen, wenn der Programmspeicher und die Leiterplatte nicht kompatibel sind.
  • Weitere vorteilhafte Ausgestaltungen des erfindungsgemäßen Verfahrens zum Nachbau- oder Kopierschutz eines Programms sind den Merkmalen der Patentansprüche 5 - 11 zu entnehmen.
  • Die vorstehend beschriebenen Varianten der erfindungsgemäßen Lösung geben die unterschiedlichen Möglichkeiten für den Kontroll-Datenaustausch zwischen dem Programmrechner und dem Verschlüsselungs- bzw. Kontrollrechner an. Sie lösen jede für sich die Aufgabe, die Schaltung des betreffenden Gerätes so zu schützen, daß es ohne den zugeordneten bzw. passenden Verschlüsselungsrechner nicht oder nicht richtig funktioniert. Da dieser Verschlüsselungsrechner auf der kunden- und/oder gerätespezifischen Schaltungsplatine enthalten ist und die von ihm verschlüsselten Daten mit den Daten des Programmspeichers kompatibel sind, stellt nur die Verwendung einer entsprechenden Schaltungsplatine im Zusammenhang mit dem zugehörigen Programmspeicher eine einwandfreie Funktion des betreffenden Gerätes sicher. Darüber hinaus gewährleisten die verschiedenen Varianten der erfindungsgemäßen Lösung, daß das Herausfinden des Software-Ablaufes zum Schutze des Programmes möglichst schwert wenn nicht unmöglich ist. Schließlich stellen die verschiedenen Ausführungsformen der erfindungsgemäßen Lösung sicher, daß der Aufwand zum Schutz des betreffenden Gerätes gegen ein Kopieren des Programmes gering ist, da die betreffende Kopierschutzsch altung nicht zu den eigentlichen Funktions aufgaben der Spielgeräte-Steuerung beiträgt.
  • Eine weitere Variante des erfindungsgemäßen Verfahrens ist dadurch gekennzeichnet, daß der Zeitpunkt des Einholens der Daten vom Programmrechner und/oder der Zeitpunkt der Abgabe der Daten vom Verschlüsselungsrechner und/oder das Verursachen eines Fehlers durch den Programmrechner in Abhängigkeit von dem von einem Zufallszahlengenerator an den Programmrechner und/oder den Verschlüsselungsrechner abgegebenen Daten erfolgt, wobei der Zufallszahlengenerator im Programmrechner enthalten sein kann.
  • Die Verwendung eines Zufallszahlengenerators stellt zusätzlich sicher daß das Herausfinden der Schutz-Software nahezu unmöglich wird, da das Auftreten bestimmter Ereignisse nicht erfaßt oder beeinflußt werden kann. Der Datenaustausch zwischen dem Programmrechner und dem Verschlüsselungsrechner unterliegt wahlweise bestimmten Kombinationen oder Gruppen von Kombinationen und dem Auftreten bestimmter Signale, die von dem Zufallszahlengenerator abgegeben werden.
  • Eine Schaltungsanordnung zur Durchführung des erfindungsgemäßen Verfahrens ist dadurch gekennzeichnet, daß der im Programmablauf enthaltene Programmspeicher mit einem auf der kunden- und/oder gerätespezifischen Leiterplatte enthaltenen Programmrechner verbunden ist, der in bidirektionaler Verbindung sowohl mit einem Interface-Baustein als auch mit einem Verschlüsselungsrechner steht, daß sowohl der Programmrechner als auch der Verschlüsselungsrechner von einem Taktgenerator angesteuert werden und daß der Interface-Baustein in bidirektionaler Richtung mit den in einem Spielautomaten, Videospielgerät oder dergleichen enthaltenen Peripherieelementen verbunden ist.
  • Eine vorteilhafte Ausgestaltung der erfindungsgemäßen Schaltungsanordnung ist dadurch gekennzeichnet, daß als Verschlüsselungsrechner ein 1-Chip-Mikrocomputer verwendet wird.
  • Die Verwendung eines 1-Chip-Mikrocomputers dient dazu, die im Verschlüsselungsrechner ablaufende Funktion noch schwerer durchschaubar zu machen. Aus einem derartigen 1-Chip-Mikrocomputer ist die Entnahme der Mnemonic durch Disassemblieren schwer oder nahezu unmöglich ist.
  • Anhand eines in der Zeichnung dargestellten Ausführungsbeispieles soll der der Erfindung zugrundeliegende Gedanke näher erläutert werden. Es zeigen: Fig. 1 ein Blockschaltbild zur Durchführung des erfindungsgemäßen Verfahrens für zwei verschiedene Programme, Fig. 2 ein Flußdiagramm des Programmablaufs für den Datenaustausch zwischen dem Programmrechner und dem Verschlüsselungsrechner und Fig. 3 ein Schaltbild des Verschlüsselungsrechners.
  • In Fig. 1 sind zwei analog aufgebaute Blockschaltbilder für zwei verschiedene TV-Spiele A und B dargestellt, die beide mit einem erfindungsgemäßen Kopierschutzsystem versehen sind.
  • Beide Spielgeräte weisen einen Programmspeicher 1 bzw. 1' , eine kunden- und/oder gerätespezifische Leiterplatte 2 bzw. 2', eine Anzeigevorrichtung 3 bzw. 3' in Form beispielsweise eines Fernsehbildschirmes und ein Bedienungspult 4 bzw. 4' auf. Die kunden und/oder gerätespezifische Leiterplatte 2 bzw. 2' enthält jeweils einen Programmrechner 21, 21', der eingangsseitig mit dem Programmspeicher 1 bzw. 1' zur Speicherung des Programmes A bzw.
  • B für die Spielart A bzw. B enthält. Über einen geeigneten Interface-Baustein 22 bzw. 22' steuert der Programmrechner 21, 21' den Funktionsablauf der peripheren Bauelemente, d.h. die Anzeigevorrichtung 3 bzw. des Bedienungspultes 4. Erfindungsgemäß ist der Programmrechner 21, 21' mit einem Verschlüsselungsrechner 25, 25' verbunden, der seinerseits wiederum aus einem Rechner 251, 251' mit bidirektional bekoppeltem Zusatzspeicher 252, 252' bestehen kann. Vorzugsweise wird aber als Verschlüsselungsrechner 25 ein 1-Chip-Mikrocomputer - verwendet, der keine Speicher/Rechner-Schnittstelle zur vereinfachten Entschlüsselung des Programmablaufes aufweist.
  • Sowohl der Programmrechner 21, 21' als auch der Verschlüsselungsrechner 25, 25' werden von einem gemeinsamen Taktgenerator 23 getaktet. Zur internen Datenablage kann noch ein mit dem Programmrechner 21 bzw. 21' bidrektional gekoppelter zusätzlicher Speicher 24, 24' auf der Leiterplatte 2 vorgesehen werden.
  • Das erfindungsgemäße Verfahren und die in Fig. 1 zur Durchführung des erfindungsgemäßen Verfahrens im Blockschaltbild dargestellte Anordnung sollen nachstehend eingehend erläutert werden: Zur Darstellung eines auf einem Fernseh-Bildschirm 3 darstellbaren Videospieles, das über eine Bedienungseinrichtung 4 beeinflußbar ist dient zum einen ein das spezielle Spiel A enthaltene Programm A und eine kunden- bzw. gerätespezifische Leiterplatte 2, die zur Durchführung des Programmes A zwingend erforderlich ist. Diese kunden- oder gerätespezifische Leiterplatte 2 enthält einen Rechner mit einer das Programm A verarbeitenden Einheit, wobei der in dem Ausführungsbeispiel gemäß Fig. 1 dargestellte externe Programmspeicher 1 in geeigneter Weise auch auf der kunden- bzw.
  • gerätespezifischen Leiterplatte 2 angeordnet bzw. im Rechnerteil integriert sein kann. Zusätzlich befindet sich auf der kunden- oder gerätespezifischen Leiterplatte als Verschlüsselungseinheit ein 1-Chip-Mikrocomputer, der zur dynamischen Schlüsselerzeugung dient.
  • In gleicher Weise ist die Hardware für das Videospiel B aufgebaut, wobei das Spiel B auf einem Fernseh-Bildschirm 3' dargestellt und über ein Bedienungsfeld 4' beeinflußbar ist. Während also das Programm A das Videospiel A erzeugt, produziert das Programm B das Videospiel B. Um zu vermeiden, daß das vom Hersteller entwickelte Video-Spiel A in einfacher Weise kopiert wird, werden erfindungsgemäß in dem Programmablauf des Videospieles A Fragen eingebaut, zu denen nur bestimmte, zu einem bestimmten Zeitpunkt erforderliche Antworten passen. Nur wenn die richtige Antwort zum richtigen Zeitpunkt gegeben wird, läuft das Videospiel ungestört weiter. Wird dagegen die falsche Antwort zum zufällig richtigen Zeitpunkt bzw. die richtige Antwort zum falschen Zeitpunkt bzw.
  • die falsche Antwort zum falschen Zeitpunkt abgegeben, so erfolgt an beliebiger Stelle im Programmablauf des Videospieles eine das Spiel entscheidend beeinflussende Störung, die nicht unbedingt in einem Programm abbruch bestehen muß sondern beispielsweise zu falschen Zählerständen, falschen Bewegungsabläufen oder dergleichen führt. In ähnlicher Weise können auch Geldspielgeräte aufgebaut werden, wobei dann als möglicher Fehler zu einem späteren Zeitpunkt die falsche Auszahlung einer Gewinnsumme, die falsche Anzeige gespeicherter Freispiele oder dergleichen erfolgen kann.
  • Jedes der Spielprogramme ist in dieser typischen Weise aufgebaut, so z.B. auch das Spielprogramm für das Spiel B. Es weist ähnliche Fragen auf, erwartet jedoch andere Antworten und berechnet auch diese Antworten anders. Dieses Spiel verläuft demnach nur dann ungestört, wenn es ebenfalls die richtige Antwort zum richtigen Zeitpunkt erhält.
  • Verwendet man beispielsweise für ein neues Videospiel B den bereits vorhandenen und für das Videospiel A gedachten kunden-oder gerätespezifischen Schaltkreis 2, so ist zwar beispielsweise die Durchführung des Videospieles möglich, sie verläuft jedoch von einem bestimmten und vorher nicht festgelegten Spiel ab nicht mehr korrekt. Verwendet daher der Hersteller daher einen bestimmten Schlüsselgenerator, beispielsweise die Verschlüsselungseinheit 25 der kunden- oder gerätespezifischen Leiterplatte 2 über einen längeren Zeitraum, so kann ein Benutzer den betreffenden Schlüsselgeneratortyp für ein beliebiges anderes Videospiel verwenden, ohne daß eine Spielstörung eintritt. Verändert man jedoch mit Schaffung eines neuen Videospiels auch den betreffenden kunden-oder gerätespezifischen Schaltkreis 2 bzw. 2', dann kann der Benutzer den ursprünglich vorhandenen Baustein 2 bzw.2' nicht mehr verwenden, da der darauf enthaltene Schlüsselgeneratortyp völlig andere Antworten berechnet und zu völlig anderen Zeitpunkten abgibt als der des ursprünglich verwendeten Schlüsselgenerators. Damit ist für den Benutzer die bereits vorhandene Leiterplatte 2 bzw. 2' völlig wertlos, obwohl er beispielsweise in einfacher Weise das Programm für das neue Videospiel kopiert hat.
  • Der Hersteller wird also bemüht sein, mit jedem neuen, von ihm entworfenen und programmierten Spiel auch einen neuen Schlüsselgenerator zu erzeugen, so daß die älteren Leiterplatten für frühere Videospiele nicht mehr verwendet werden können. Auf diese Weise kann der Benutzer das Videospiel-Programm nur noch dann benutzen, wenn er den dazu passenden Schlüsselgenerator hat. Zwar kann ein Benutzer das Spielprogramm A bzw. B kopieren, jedoch kann er den zu dem jeweiligen Programm gehörenden Schlüssel nicht duplizieren.
  • Eine weitere Möglichkeit besteht darin, die Schlüsselerzeugung dem jeweiligen Kunden anzupassen. So kann man beispielsweise für den Kunden A eine kundenspezifische Leiterplatte 2 mit einem Schlüsselgenerator A und für den Kunden B eine Leiterplatte 2' mit einem kundenspezifischen Schlüsselgenerator B herstellen.
  • Nun besteht natürlich die zumindest theoretische Möglichkeit, den Schlüsselgenerator über den Datenaustausch in dem Zentralrechner und dem Verschlüsselungsrechner zu duplizieren. Geht man davon aus, daß es für das betreffende Video-Spielgerät keine beschriebene Software gibt, es ist zwar relativ einfach, eine Programmaufnahme von dem Geräteprogramm zu machen, jedoch ist es ohne entsprechende Programmbeschreibung auch für einen Spezialisten auf dem Gebiet sehr schwierig, zumindest jedoch sehr zeitaufwendig, das betreffende Programm so zu verstehen und Änderungen durchzuführen, daß der auf der Leiterplatte vorhandene Verschlüsselungsrechner umgangen werden kann.
  • Um jedoch auch eine von einem Spezialisten durchführbare Programmaufnahme und damit verbundene Umgehung des Verschlüsselungsrechners unmöglich zu machen bzw. so zu erschweren, daß die dafür aufzuwendende Zeit eine Kopie des Spielprogrammes nicht mehr lohnend erscheinen läßt, werden zwei grundsätzliche Forderungen an das Verschlüsselungssystem gestellt: 1. Um die im Verschlüsselungsrechner ablaufenden Funktionen schwer erkennbar zu machen, wird ein l-Chip-Mikrocomputer verwendet, bei dem Entnahme der Mnemonic durch disassemblieren schwer oder unmöglich ist. Ein Beispiel für einen l-Chip-Mikrocomputer ist der Mikrocomputer vom Typ TMS 1000.
  • 2. Die im Zentralrechner erfolgende Datenaufbereitung für den Verschlüsselungsrechner darf nicht leicht zu finden sein. Aus diesem Grunde erfolgt die Datenaufbereitung als Folge seltener Spielereignisse.
  • Eler letztgenannte Punkt ist deshalb erforderlich, weil der funktionelle Datenaustausch in der Hardware relativ einfach zu verfolgen ist. Für einen auf diesem Gebiet tätigen Fachmann ist es lediglich erforderlich, eine Schnittstelle zum Datanaustausch zwischen dem Zentralrechner und dem Verschlüsselungsrechner zu finden.
  • Der Spezialist könnte dann feststellen, wo die Daten aus dem Verschlüsselungsrechner im Zentralrechner abgelegt werden. Es soll jedoch nicht ohne weiteres herauszufinden sein, wie, wo und mit welchen Parametern diese Daten weiterbearbeitet werden. Es soll daher irgendwo im Hauptprogramm irgendwann die Entscheidung oder die Entscheidungen fallen, daß die vom Verschlüsselungsrechner gelieferten Daten falsch oder richtig waren. Da der Verschlüsselungsrechner seine Funktion dann verloren hat, wenn alle diese Entscheidungspunkte gefunden wurden, werden zwekcmäßigerweise die Entscheidungspunkte in einen seltenen Programmablauf gelegt.
  • Darüber hinaus führt eine falsche Antwort des Verschlüsselungsrechners zum richtigen oder falschen Zeitpunkt oder eine richtige Antwort zum falschen Zeitpunkt nicht sofort zu einer Spielstörung oder einem Spielabbruch, sondern erst zu einem späteren, vielleicht zufälligen Zeitpunkt. Auf diese Weise ist es dem Spezialisten nicht einmal mehr durch Triggern möglich, die durch die Richtig- Falsch-Entscheidung verursachte Funktionsstörung festzustellen.
  • Ein typischer Funktionsablauf des Verschlüsselungssystems kann wie folgt aussehen: Spiel Ereignisse zwischen Verschlüsselungseinrichtung und Zentralrechner bzw. Peripherie 1. Spiel \t' 9. Spiel 10. Spiel 11. Spiel t.
  • 14. Spiel 15. Spiel 16. Spiel Keine Verschlüsselungsaktionen, der Datenaustausch gilt nur der Tarnung.
  • Der Verschlüsselungseinrichtung werden echte Daten geliefert.
  • wie 1. bis 9. Spiel Verschlüsselungseinrichtung überträgt ihre Daten zurück.
  • Prüfung der Daten.
  • Spiel Ereignisse zwischen Verschlüsselungseinrichtung und Zentralrechner bzw. Peripherie 17. Spiel Keine Verschlüsselungsaktion, evtl. auch kein 20. Spiel Datenaustausch 21. Spiel Übertragung neuer Daten an die Verschlüsselungseinrichtung 25. Spiel Ergebnis der Datenprüfung beim 16. Spiel führt zu ungestörtem Betrieb oder bspw. zu einem Auszahlungsfehler bei einem Gewinn.
  • Wie aus dieser Darstellung deutlich wird, erfolgt die Programmverschlüsselung in kombinatorischer Weise, d.h. das Schloß und der Schlüssel werden kombinatorisch benutzt. In übertragenem Sinne ausgedrückt bedeutet dies, daß bei der Verwendung verschiedener Schlüssel in dem betreffenden Schloß nicht ein falscher Schlüssel sowohl zum falschen Zeitpunkt als auch die Verwendung falscher Schlüssel in der falschen Reihenfolge automatisch zum Blockieren des Spielablaufes bzw. des Spielgerätes führt, sondern daß lediglich intern die Kombination der Schlüssel in der richtigen Reihenfolge aktzeptiert wird und erst zu einem späteren, ggfls. zu einem zufälligen Zeitpunkt zu einer Spielunterbrechung oder besser noch zu einem Fehler im Spielablauf führt.
  • In gleicher Weise werden auch die Schlüssel vom Zentralrechner abgefordert, so daß nicht eine einzige Anforderung ausreicht, sondern eine Kombination von Anforderungen erforderlich ist, um einen Schlüssel abzurufen. Dieser Schlüssel wird auch nicht unmittelbar und automatisch beantwortet sondern nach einem beliebigen Zeitraum in einen geeigneten Kommunikationsspeicher eingespeichert und dort wiederum an einer nicht näher definierten Stelle. Beide Forderungen dienen dazu, keine Entschlüsselung des Systems wesentlich zu erschweren, da der mögliche Nachbauer nicht weiß, zu welchem Zeitpunkt der Datenaustausch erfolgt und welche Kombination zu der betreffenden Anfrage führt. Das bedeutet, daß aus verschiedenen Anfragen eine neue Kombination geleitet wird, die nur in dieser bestimmten Kombination auch wirksam wird, was zu erheblich mehr Möglichkeiten bei der Verschlüsselung des Systems führt als bei der Anwendung eines bestimmten Schemas von Fragen und Antworten zu festen, vorgegebenen Zeitpunkten.
  • In Fig. 2 ist als Beispiel ein typischer Programmablauf beim Datenaustausch zwischen dem Zentralrechner und dem Verschlüsselungsrechner dargestellt. In Anlehnung an den oben dargestellten Spielablauf ergeht im Verlaufe des 10. Spieles die Anweisung an den Verschlüsselungsrechner, Daten aus dem Hauptprogramm über den Zentralrechner einzuholen (Z1) und diese Daten intern zu selektieren (V1). Eine Selektion der vom Hauptprogramm eingeholten Daten ist deshalb erforderlich, weil nicht alle aus dem Hauptprogramm eingeholten Daten für die Verschlüsselung sinnvoll sind. Daran anschließend werden die Daten entweder verschlüsselt (V2) oder normal verarbeitet und beispielsweise im internen oder externen Speicher des Verschlüsselungsrechners abgelegt (V3). Die Verarbeitung der Daten erfolgt dabei nach einem beliebig gewählten Verarbeitungsprogramm, das beispielsweise auch mittels der Dateneingabe steuerbar sein kann. Daran anschließend erfolgt die Datenausgabe zurück an den Zentralrechner (V4). Die Rückgabe der Daten kann dabei beispielsweise im Verlaufe des 15. Spieles erfolgen.
  • Nachdem an den Zentralrechner ergangenen Befehl, die Daten vom Verschlüsselungsrechner einzuholen (Z2) erfolgt die Verarbeitung der vom Verschlüsselungsrechner gelieferten Daten (Z3) zu einem beliebigen Zeitpunkt im Verlaufe des Programmablaufes. Bei der daran anschließenden, ebenfalls zu einem beliebigen Zeitpunkt erfolgenden Überprüfung der Daten (Entscheidungsblock Z4), beispielsweise im Verlaufe des 16. Spieles, wird festgestellt, ob die vom Verschlüsselungsrechner gelieferten Daten fehlerfrei oder fehlerbehaftet sind. Sind die Daten fehlerfrei, so wird kein Fehler im weiteren Spielablauf des Spielgerätes erfolgen (Z6) bzw. im Verlaufe eines späteren Spieles, beispielsweise im Verlaufe des 25. Spieles, ein Fehler verursacht. Es liegt jedoch auch im Rahmen der vorliegenden Erfindung, beispielsweise an dieser Stelle (Z5) keinen Fehler im Programmablauf des Spieles zu verursachen, obwohl die aus dem Verschlüsselungsrechner gelieferten Daten nicht fehlerfrei waren.
  • Diese zusätzliche Maßnahme dient wie die vorstehend beschriebenen Maßnahmen dazu, eine Entschlüsselung des Systems zu verhindern bzw. zu erschweren. An den letzten Befehl schließen sich dann weitere Programmabläufe an.
  • Der Datenaustausch zwischen dem Zentralrechner und dem Verschlüsselungsrechner kann wahlweise nach einem festen Programm erfolgen, beispielsweise in Anlehnung an die obenerwähnten seltenen Spielereignisse oder beispielsweise durch eine interne Programmierung des Verschlüsselungsrechners in Gestalt eines Zufallsgenerators, der zu beliebigen Zeitpunkten Daten vom Hauptprogramm einholt, diese Daten zu ebenfalls beliebigen Zeitpunkten an den Zentralrechner zurückgibt und eine Störung im Programmablauf zu einem ebenfalls beliebigen Zeitpunkt erzeugt.
  • In Fig. 3 ist ein Beispiel für einen schaltungsmäßigen Aufbau des Verschlüsselungsrechners dargestellt. Der Verschlüsselungsrechner 25 ist über parallele Ein- und Ausgänge mit jeweils einem 8-Bit statischen Schieberegister mit serieller Ein- und paralleler Ausgabe 26 sowie über eine Widerstands anordnung 28 mit einem 8-Bit statischen Schieberegister mit paralleler Eingabe und serieller Ausgabe 27 verbunden. Beide Schieberegister und der Verschlüsselungsrechner 25 werden von dem gemeinsamen Taktgeber 23 getaktet. Der Ladebefehl wird über den Eingang Lb vom Zentralrechner eingegeben, wobei das Schieberegister 26 die Daten über den Eingang Di einholt. Diese serielle eingegebenen Daten werden über die parallelen Ausgänge 0 -7 an entsprechende Dateneingänge des Verschlüsselungsrechners 25 weitergeleitet.
  • Die verarbeiteten Daten werden über die Ausgänge 21 - 28 an ein 10 Kiloohm-Netzwerk 28 abgegeben, daß die Daten an die parallelen Eingänge des Schieberegisters 27 weiterleitet. Über einen seriellen Datenausgang Do werden die Daten vom Schieb#register 27 zusammen mit entsprechenden Ladebefehlen über den Ausgang Ld an den Zentralrechner geleitet. Die beiden Schieberegister und der Verschlüsselungsrechner sind an eine gemeinsame Stromversorgung von +5V angeschlossen.

Claims (18)

  1. Programmverschlüsselung PATENTANSPRÜCHE Verfahren zum Nachbau- oder Kopierschutz eines Programms zur Steuerung eines Spielautomaten, Videospieles oder dergleichen, die zur Programmablaufsteuerung auf einer Gerätes und/oder kundenspezifischen Leiterplatte einen mit dem das zu schützende Programm enthaltenden externen Speicher verbundenen Programmrechner sowie eine geeignete, mit den peripheren Bauelementen des Spielautomaten, Videospieles oder dergleichen verbundene Interface-Schaltung aufweisen, dadurch gekennzeichnet, daß zwischen dem Programmrechner (21) und einem auf der Leiterplatte (2) zusätzlich vorgesehenen Verschlüsselungsrechner (25) zur dynamischen Schlüsselerzeugung zu beliebigen Zeitpunkten Daten ausgetauscht werden, die bei einander angepaßter Verwendung des betreffenden Programmes (1) und der betreffenden Leiterplatte (2) zu einem störungsfreien Programmablauf führt, während bei einander nicht angepaßter oder unkompatibler Verwendung zu einem beliebigen späteren Zeitpunkt Fehler in dem Programmablauf eingefügt werden.
  2. 2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß der Programmrechner (21) zu einem beliebigen Zeitpunkt Daten an den Verschlüsselungsrechner (25) abgibt, der zu einem beliebigen späteren Zeitpunkt verschlüsselte Daten an den Programmrechner (21) zurücküberträgt, den verschlüsselten Daten mit festgelegten Daten vergleicht und bei Datenabweichungen zu einem ebenfalls beliebigen späteren Zeitpunkt Fehler in den Ablauf der Programmsteuerung einfügt.
  3. 3. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß der Verschlüsselungsrechner (25) zu beliebigen Zeitpunkten Daten an den Programmrechner (21) abgibt, die wieder in einen Hilfsspeicher (24)abietegt und nach weiterem Zeitablauf unter Vorgabe bestimmter vom Programmspeicher (1) abgegebener Parameter weiterverarbeitet und daß bei Abgabe falscher Daten vom Verschlüsselungsrechner (25) zu einem ebenfalls beliebigen späteren Zeitpunkt Fehler in den Ablauf der Programmsteuerung eingefügt werden.
  4. 4. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß vom Verschlüsselungsrechner (25) zu beliebigen Zeitpunkten Daten oder Datengruppen vom Programmrechner (21) abgerufen, mit einem festgelegten oder variablen Code in bestimmter Kombinatorik verschlüsselt und zu einem späteren Zeitpunkt an den Programmrechner (21) zurückübertragen oder an einen Kommunikationsspeicher abgegeben werden, wo sie zu einem beliebigen späteren Zeitpunkt zur Störung des Programmablaufs führen, wenn der Programmspeicher (1) und die Leiterplatte (2) nicht kompatibel sind.
  5. 5. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß in dem Verschlüsselungsrechner (25) Fragen in einer festlegbaren Reihenfolge. erzeugt werden, daß die Antworten von dem den Programmablauf enthaltenen Programmspeicher (1) gegeben werden, daß in einer Vergleichseinrichtung die Fragen und Antworten verglichen werden und daß bei übereinstimmenden Fragen und Antworten der Programmablauf fortgesetzt wird.
  6. 6. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß während des Programmablaufs von dem den Programmablauf enthaltenden Programmspeicher (1) Fragen gestellt werden, daß in dem dynamischen Verschlüsselungsrechner (25) entsprechende Antworten in einer festlegbaren und reproduzierbaren Reihenfolge enthalten sind, daß in einer Vergleichseinrichtung die Fragen und Antworten verglichen werden und daß bei übereinstimmenden Fragen und Antworten der Programmablauf fortgesetzt wird.
  7. 7. Verfahren nach mindestens einem der voranstehenden Ansprüche, dadurch gekennzeichnet, daß die Aufbereitung der vom Programmrechner (21) an den Verschlüsselungsrechner (25) abgegebenen Daten als Folge seltener Ereignisse im Programmablauf erfolgt.
  8. 8. Verfahren nach mindestens einem der voranstehenden Ansprüche, dadurch gekennzeichnet, daß die Rückübertragung der Daten vom Verschlüsselungsrechner (25) zum Programmrechner (21) nach einer Vielzahl ungestörter Programmabläufe erfolgt und daß die Störung bei Nichtkompatibilität von Programmspeicher (1) und Leiterplatte (2) nach ebenfalls einer Vielzahl, vorzugsweise im Verlauf einer späteren Programmserie, erfolgt.
  9. 9. Verfahren nach mindestens einem der voranstehenden Ansprüche, dadurch gekennzeichnet, daß der Verschlüsselungsrechner (25) auf Außeneinflüsse anspricht.
  10. 10. Verfahren nach einem der voranstehenden Ansprüche, dadurch gekennzeichnet, daß der Verschlüsselungsrechner (25) über den Programmrechner (21) Daten aus dem Programmspeicher (1) einholt, die Daten auf verwertbare Daten selektiert und anschließend mittels eines vorgewählten Verarbeitungsprogrammes verschlüsselt, die Daten an den Programmrechner (21) abgibt, daß die vom Verschlüsselungsrechner (25) eingeholten Daten im Programmrechner (21) an verschiedenen Stellen im Verlaufe des Programmablaufes verarbeitet werden, daß anschließend vom Programmrechner (21) ein Datenvergleich bzw. eine Überprüfung der vom Verschlüsselungsrechner (25) abgegebenen Daten erfolgt und bei korrekten Daten keinen Fehler verursacht und bei unkorrekten Daten einen Fehler an einer beliebigen Stelle, vorzugsweise nach engerem Programmablauf, verursacht.
  11. 11. Verfahren nach Anspruch 10, dadurch gekennzeichnet, daß das Verursachen eines Fehlers vom Programmrechner (21) nur in Abhängigkeit vom Auftreten bestimmter Ereignisse, d.h.
    nicht in jedem Falle des Nichtübereinstimmens der vom Verschlüsselungsrechner (25) gelieferten Daten mit denen vom Programmrechner (1) eingeholten Daten, verursacht.
  12. 12. Vorrichtung nach mindestens einem der voranstehenden Ansprüche, dadurch gekennzeichnet, daß der Zeitpunkt des Einholens der Daten vom Programmrechner (21) und/oder der Zeitpunkt der Abgabe der Daten vom Verschlüsselungsrechner (25) und/oder das Verursachen eines Fehlers durch den Programmrechner (21) in Abhängigkeit von dem von einem Zufallszahlengenerator an den Programmrechner (21) und/oder den Verschlüsselungsrechner (25) abgegebenen Daten erfolgt.
  13. 13. Verfahren nach Anspruch 12, dadurch gekennzeichnet, daß der Zufallszahlengenerator im Programmrechner (21) enthalten ist.
  14. 14. Verfahren nach Anspruch 12 oder 13, dadurch gekennzeichnet, daß die vom Zufallszahlengenerator abgegebenen Daten aus einer Kombination vorangegangener Ereignisse zusammengestellt werden.
  15. 15. Schaltungsanordnung zur Durchführung des Verfahrens nach mindestens einem der voranstehenden Ansprüche, dadurch gekennzeichnet, daß der im Programmablauf enthaltene Programmspeicher (1) mit einem auf der kunden- und/oder gerätespezifischen Leiterplatte (2) enthaltenen Programmrechner (21) verbunden ist, der in bidirektionaler Verbindung sowohl mit einem Interface-Baustein (22) als auch mit einem Verschlüsselungsrechner (25) steht, daß sowohl der Programmrechner (21) als auch der Verschlüsselungsrechner (25) von einem Taktgenerator (23) angesteuert werden und daß der Interface-Baustein (22) in bidirektionaler Richtung mit den in einem Spielautomaten, Videospielgerät oder dergleichen enthaltenen Peripherieelementen verbunden ist.
  16. 16. Schaltungsanordnung nach Anspruch 15, dadurch gekennzeichnet, daß der Programmrechner (21) mit einem zusätzlichen Speicher (24) verbunden ist.
  17. 17. Schaltungsanordnung nach Anspruch 15 oder 16, dadurch gekennzeichnet, daß der Verschlüsselungsrechner aus einem Mikrocomputer (251) mit einem in bidirektionaler Richtung mit ihm verbundenen Zusatzspeicher (252) besteht.
  18. 18. Schaltungsanordnung nach Anspruch 15 oder 16, dadurch gekennzeichnet, daß als Verschlüsselungsrechner (25) ein Ein-Chip-Mikrocomputer verwendet wird.
DE19813149279 1981-12-12 1981-12-12 Programmverschluesselung Withdrawn DE3149279A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE19813149279 DE3149279A1 (de) 1981-12-12 1981-12-12 Programmverschluesselung

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19813149279 DE3149279A1 (de) 1981-12-12 1981-12-12 Programmverschluesselung

Publications (1)

Publication Number Publication Date
DE3149279A1 true DE3149279A1 (de) 1983-06-23

Family

ID=6148562

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19813149279 Withdrawn DE3149279A1 (de) 1981-12-12 1981-12-12 Programmverschluesselung

Country Status (1)

Country Link
DE (1) DE3149279A1 (de)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2550638A1 (fr) * 1983-08-11 1985-02-15 Christophe Leveque Dispositif de protection de logiciels utilises par un ordinateur connecte a au moins un terminal peripherique
FR2577332A1 (fr) * 1985-02-12 1986-08-14 C D Ab Systeme de mesure de l'utilisation de logiciel d'application sur un ordinateur ou un micro-ordinateur
DE3518319A1 (de) * 1985-05-22 1986-11-27 Licentia Patent-Verwaltungs-Gmbh, 6000 Frankfurt Verfahren und anordnung zum schutz von in einer datenverarbeitungsanlage gespeicherten programmen gegen unerlaubtes kopieren
WO1988005941A1 (en) * 1987-01-30 1988-08-11 Software Activation, Inc. Apparatus and method for regulating the use of proprietary computer software
DE4103173A1 (de) * 1991-02-02 1992-08-13 Wulf Harder Vorrichtung zum schutz gegen unautorisierte benutzung von software

Citations (2)

* 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
EP0080244A2 (de) * 1981-11-25 1983-06-01 The Magnavox Company Verfahren zum Identifizieren eines systemverwandten, physikalisch trennbaren Programmspeichers und ein dieses Verfahren verwendendes Datenverarbeitungssystem

Patent Citations (2)

* 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
EP0080244A2 (de) * 1981-11-25 1983-06-01 The Magnavox Company Verfahren zum Identifizieren eines systemverwandten, physikalisch trennbaren Programmspeichers und ein dieses Verfahren verwendendes Datenverarbeitungssystem

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
US-Z: Electronics, 16. Juni 1981, S. 161-165 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2550638A1 (fr) * 1983-08-11 1985-02-15 Christophe Leveque Dispositif de protection de logiciels utilises par un ordinateur connecte a au moins un terminal peripherique
EP0135422A1 (de) * 1983-08-11 1985-03-27 Societe Civile "A.B.C.D." Programmschutzvorrichtung bei einem, mit wenigstens einem peripheren Terminal verbundenen Rechner
FR2577332A1 (fr) * 1985-02-12 1986-08-14 C D Ab Systeme de mesure de l'utilisation de logiciel d'application sur un ordinateur ou un micro-ordinateur
DE3518319A1 (de) * 1985-05-22 1986-11-27 Licentia Patent-Verwaltungs-Gmbh, 6000 Frankfurt Verfahren und anordnung zum schutz von in einer datenverarbeitungsanlage gespeicherten programmen gegen unerlaubtes kopieren
WO1988005941A1 (en) * 1987-01-30 1988-08-11 Software Activation, Inc. Apparatus and method for regulating the use of proprietary computer software
DE4103173A1 (de) * 1991-02-02 1992-08-13 Wulf Harder Vorrichtung zum schutz gegen unautorisierte benutzung von software
DE4103173C4 (de) * 1991-02-02 2017-03-16 SIA Soft Activation Vorrichtung zum Schutz gegen unautorisierte Benutzung von Software
DE4103173C5 (de) * 1991-02-02 2017-07-20 SIA Soft Activation Vorrichtung zum Schutz gegen unautorisierte Benutzung von Software

Similar Documents

Publication Publication Date Title
DE69214080T2 (de) Verfahren zum Schutz von Programmen durch Verwendung verschiedener Schlüssel gegen unberechtigte Durchführung
DE69311261T2 (de) Elektrische Glücksspielvorrichtung
DE3050117A1 (en) A remote gaming system
DE3242890A1 (de) Muenzspielgeraet mit mehreren umlaufenden symboltraegern
EP1298602A2 (de) Verfahren zum Ermitteln eines Gewinnwertes beim Erreichen eines Spiegelergebnisses an einem münzbetätigten Unterhaltungsautomaten.
DE4316652C2 (de) Anordnung zur Steuerung von Geldspielgeräten
DE69301214T2 (de) Unterhaltungsautomat mit verschiedenen Spielmoden
DE102012014039B4 (de) System zur Nutzung von Spielautomaten
DE19730002A1 (de) Spielsystem für Unterhaltungsgeräte mit Austausch von Daten über Schnittstelle mit Zulassungskontrolle und Verfahren zur Zulassungskontrolle
WO1996023288A1 (de) Spielsystem für unterhaltungsgeräte mit austausch von spielen
DE3149279A1 (de) Programmverschluesselung
DE3439636A1 (de) Geldspielgeraet mit einer symbol- und risiko-spieleinrichtung
DE19516681B4 (de) Spielsystem für Unterhaltungsgeräte mit Austausch von Spielen
DE4006375C2 (de)
EP1395930B1 (de) Spiel- oder verkaufsgeräteanordnung
DE19518707C2 (de) Verfahren zum Betrieb eines Geldspielgeräts
DE69122486T2 (de) Überwachung und Steuerung von Frankiermaschinen
DE2659119C2 (de) Münzspielgerät
DE2717184A1 (de) Unterhaltungsautomat
DE4000252C2 (de)
EP0499091B1 (de) Verfahren und Einrichtung zur Überprüfung von tarifbestimmenden Zeitpunkten in einem Taxameter
AT402160B (de) Steuerung für spielautomaten
DE19534526B4 (de) Verfahren zur Steuerung eines Geldspielgerätes
DE10127530B4 (de) Verfahren und Vorrichtung zur Durchführung des Verfahrens für ein Geldspielgerät zur Begrenzung der innerhalb einer Zeiteinheit aufsummierten Spielergebnisse
DE19701300B4 (de) Spielautomatensystem mit einer Mehrzahl von Spielstellen

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
8130 Withdrawal