-
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.