-
Die
vorliegende Erfindung betrifft allgemein die Verschlüsselung
von Daten und insbesondere das Verwenden von Verschlüsselung
auf Zustands-Basis für
einen Modusschutz von Daten.
-
Es
gibt viele Anwendungen, wo gewünscht wird,
dass Daten nur nachdem eine Abfolge von Aktionen erfolgt ist, in
einer benutzbaren Form verfügbar
sind. Derzeitige Anwendungen halten die Daten bis zu einer Benachrichtigung,
dass die Abfolge der Aktionen beendet ist, von dem Benutzer zurück. Wenn
die Daten jedoch auf dem System des Benutzers auf einem computerlesbaren
Medium, wie beispielsweise einer Festplatte, einer CD-ROM, einer DVD-ROM
usw. gespeichert sind, sind sie für einen Zugriff durch den Benutzer
empfänglich.
Selbst wenn der Zugriff auf die Daten durch einen kryptographischen
Schlüssel,
der auf dem System des Benutzers gespeichert ist, geschützt ist,
kann ein versierter Benutzer den Schlüssel erhalten und auf die Daten
zugreifen.
-
Um
dieses Problem zu beheben, wird im Stand der Technik vorgeschlagen,
Daten an einem von dem Benutzer entfernten Ort zurückzuhalten
und die Daten bei Empfang einer Benachrichtigung, dass alle vordefinierten
Bedingungen erfüllt
wurden, über ein
Netzwerk zu senden. In solchen Fällen
tritt eine Reihe von Problemen dabei auf, sicherzustellen, dass
der bestimmte Schlüssel,
der zur Entschlüsselung
benötigt
wird, sicher zu dem Empfänger übermittelt
wird.
-
Die
WO98/42098A offenbart
eine Methode der Einkaufsabwicklung für digitale Erzeugnisse, das das
Herunterladen eines verschlüsselten
Erzeugnisses ohne Sicherheitsfragmente einschließt. Nach Senden von Informationen über die
Bezahlung und die Identifizierung an einen autorisierenden Server, stellt
der Server einen Schlüssel
für die
Entschlüsselung
und die Sicherheitsfragmente bereit, um den Betrieb des digitalen
Erzeugnisses zu erlauben.
-
Die
EP-A-0736827 offenbart
eine Workflow-Lösung
("Workflow Solution"), die ein objektorientiertes
Modell verwendet, um Objekte an Kontrollpunkten "anzumelden" ("Check-in"), die nur nach Autorisierung
durch einen autorisierten Verwalter "abgemeldet" ("check-out") werden können.
-
Ein
Schema der Verschlüsselung
mit einem öffentlichen
Schlüssel
(auch als Schema der asymmetrischen Verschlüsselung bekannt) verbessert
die Sicherheit und ermöglicht
auch einem Empfänger,
zu bestätigen,
dass die verschlüsselten
Daten von dem Besitzer eines privaten Schlüssel gekommen sein müssen.
-
Es
ist jedoch nicht unüblich,
dass der Sender und der Empfänger
in einem erheblichen Abstand voneinander entfernt positioniert sind.
Aus diesem Grund sind über
das Netzwerk gesendete Daten dafür
anfällig,
von Dritten abgefangen zu werden. Zum Übermitteln der Daten kann ein
sicherer Kanal, wie beispielsweise ein Kurierdienst, verwendet werden. Solche
Kanäle
neigen jedoch dazu, teuer, langsam und in Fällen, wo die Zuverlässigkeit
des Kuriers beeinträchtigt
ist, vielleicht sogar unsicher zu sein.
-
Die
vorliegende Erfindung betrifft Kryptographie auf Zustands-Basis.
Insbesondere schützt
die vorliegende Erfindung die Vertraulichkeit von Daten, bis ein
vordefinierter Zustand eingetreten ist.
-
Dementsprechend
werden ein System, ein Verfahren und ein Herstellungsartikel für Kryptographie
auf Übergangszustands-Basis
in einer Anwendung, die mindestens einen Zustand mit einem Schlüssel des
dazugehörigen
Zustands, einschließt, bereitgestellt.
Eine solche Anwendung kann eine Ablaufplan-Anwendung, ein Spiel
oder eine militärische Anwendung
sein. Nach Erreichen einer potentiellen Änderung des Zustands der Anwendung
wird über ein
Netzwerk, wie beispielsweise ein lokales Netz, ein drahtloses Netz,
das Internet usw. eine Anforderung eines Zugriffs an einen Server
gesendet. Die Anforderung betrifft einen folgenden Zustand der Anwendung
und schließt
einen Schlüssel
des Zustands, der zu dem Zustand gehört, ein, wobei der Schlüssel des
Zustands eine Funktion des aktuellen Zustands und der Entwicklung
der Zustände
der Anwendung ist. Der Server versucht, den Schlüssel des Zustands zu validieren.
Von dem Server wird als Reaktion auf die Anforderung eine Antwort
an die Anwendung gesendet. Die Antwort schließt einen Schlüssel für den Zugriff
ein, wenn der Schlüssel
des Zustands gültig ist.
Dieser Schlüssel
für den
Zugriff stellt einen Zugriff auf den nächsten Zustand in der Anwendung
bereit.
-
Wahlweise
wird die Anforderung, bevor sie gesendet wird, verschlüsselt. Die
Antwort kann auch verschlüsselt
sein. In einem Aspekt der vorliegenden Erfindung betrifft die Anforderung
eines Zugriffs einen folgenden Zustand in der Anwendung.
-
Es
ist zu beachten, dass sich unser Ansatz vom Stand der Technik dahingehend
unterscheidet, dass die Daten des Zustands der Anwendung lokal aufbewahrt
werden und nur die Schlüssel
für den
Zugriff entfernt aufbewahrt werden, wohingegen sie bei vorhergehenden
Ansätzen
die Daten der Anwendung entfernt aufbewahrt werden. Unser Ansatz
besitzt daher gegenüber
dem Stand der Technik viele Vorteile, die eine Einsparung der Bandbreite
des Netzwerks einschließen.
Diese Einsparung wird dadurch realisiert, dass es nicht notwendig
ist, potentiell große Mengen
an Daten der Anwendung von dem Server über ein Netzwerk zu der Anwendung
zu bewegen. Da bei manchen Anwendungen keine Daten der Anwendung über ein
Netzwerk an den Server gesendet werden, ist es bei solchen Anwendungen
auch nicht notwendig, den Kanal zwischen der Anwendung und dem Server
abzusichern. Selbst wenn die Schlüssel des Zustand oder die Schlüssel für den Zugriff
von Dritten unterbrochen werden sollten, würde der Lauscher bei manchen
Anwendungen nichts über
die Daten der Anwendung erfahren.
-
Kurze Beschreibung der Figuren
-
Die
vorstehend genannte und andere Aufgaben, Aspekte und Vorteile werden
aus der folgenden ausführlichen
Beschreibung einer bevorzugten Ausführungsform der Erfindung unter
Bezugnahme auf die Figuren besser verstanden werden, in denen:
-
1 ein
veranschaulichendes System mit einer Vielzahl von Bestandteilen
veranschaulicht;
-
2 eine
entsprechende beispielhafte Hardware-Umgebung veranschaulicht;
-
3 ein
Ablaufplan eines Prozesses für Kryptographie
auf Übergangszustands-Basis
ist;
-
4 ein
Ablaufplan ist, der einen Prozess für einen sicheren Workflow unter
Verwenden von Kryptographie auf Übergangszustands-Basis
zeigt;
-
5 ein
Ablaufplan eines Prozesses zum Vorbeugen von Schummeln ("Cheating") bei einer Spielanwendung
unter Verwenden von Kryptographie auf Übergangszustands-Basis ist;
-
6 ein
Ablaufdiagramm eines Prozesses zum Beibehalten der Geheimhaltung
von Daten in einer militärischen
Anwendung ist; und
-
7 ein
Ablaufplan eines Prozesses ist, bei dem eine Anwendung als Übergänge durch
eine Gruppe von Zuständen
modelliert wird.
-
Es
werden ein System und ein Verfahren für Kryptographie auf Übergangszustands-Basis in einer Anwendung,
die mindestens einen Zustand mit einem Schlüssel des Zustands einschließt, der
zu diesem gehört,
bereitgestellt. Kryptographie auf Zustands-Basis stellt bedeutende Fortschritte
bereit, die am deutlichsten erläutert
werden können,
wenn sie dem Stand der Technik gegenübergestellt werden.
-
Zunächst können viele
Mechanismen die zum Implementieren der hierin angegebenen Ideen verwendet
werden könnten,
als Verallgemeinerungen der Modi zur Verkettung (Chaining Modes)
eines Klartexts für
Blockchiffre gesehen werden. In diesen Modi hängt die Verschlüsselung
eines gegebenen Datenblocks zum Teil von dem Klartext des vorhergehenden
Datenblocks ab -es ist daher nicht möglich, den Block n zu entschlüsseln, ohne
den vorher entschlüsselten
Block n – 1
zu besitzen. (Dies kann einfach auf die Verschlüsselung eines Blocks n mit
einem Schlüssel,
der zum Teil von dem Klartext des Blocks n – 1 abhängt, verallgemeinert werden.)
Solche Verkettungsmodi arbeiten nur über eine lineare Entwicklung,
wobei eine bevorzugte Ausführungsform
zustandsabhängige
Sicherheitsberechnungen umfasst, die über eine sich verzweigende
Entwicklung arbeiten.
-
Als
nächstes
können
viele offensichtlich miteinander verwandte Systeme unter der Rubrik "Sicherheit auf Zustands-Basis" gruppiert werden.
In solchen Systemen ist der Zugriff auf Informationen nur verfügbar, nachdem
ein Auftraggeber einen bestimmten Zustand erreicht hat. Zum Beispiel
lassen auf Listen basierte, standardisierte Sicherheitsschemata
für Zugriffssteuerung
einen Zugriff eines Auftraggebers/einer Auftraggeberin auf Daten
(eine Zustandsänderung)
als Funktion dafür,
ob er oder sie auf einer relevanten Liste ist oder nicht, zu. So
genannte Cheat-Codes ("Schummel-Codes") für Spiele sind ähnlich,
da sie einem Spieler/einer Spielerin Zugriff auf zusätzliche Ressourcen
ermöglichen,
wenn er oder sie ein Zauberwort eintippt. Standardisierte Schemata
für eine
gesteuerte Verbreitung von Software erlauben einem Benutzer, einen
Teil der Software nach Eintippen eines Schlüssels oder einer Lizenznummer
oder Einstecken einer auf Hardware basierten Vorrichtung zur Zugriffssteuerung
oder einen "Dongle" (Kopierschutzstecker),
der im Gegenzug bei der Bezahlung der Software erhalten wurde, zu
verwenden. Netzwerk-dedizierte Software kann nur laufen, wenn ein
ausgezeichneter Server verlangt, dass zu diesem Zeitpunkt verfügbare Lizenzen für dieses
Software-Paket auf dem lokalen Netzwerk liegen.
-
Vergleichen
Sie solche Sicherheitssysteme auf Zustands-Basis mit dem wichtigsten
Vorstoß dieses
Vorschlags, nämlich
der Kryptographie auf Zustands-Basis. Bei der Kryptographie auf
Zustands-Basis sind die kryptographischen Operationen und Schlüssel selbst
Funktionen von sowohl dem aktuellen Zustand als auch der Entwicklung
des Benutzer oder des Prozesses, die versuchen, solche kryptographischen
Operationen auszuführen.
Die Kryptographie auf Zustands-Basis kann zum Implementieren von
Sicherheit auf Zustands-Basis verwendet werden, sie kann jedoch
ebenso für
andere Dinge verwendet werden und am ehesten, wenn nicht alle derzeitigen
Ansätze
von Sicherheit auf Zustands-Basis unter Verwenden von Kryptographie auf
Zustands-Basis implementiert werden.
-
Die
einzigen derzeitigen Beispiele für
Sicherheitsschemata auf Zustands-Basis, die unter Verwenden kryptographischer
Operationen implementiert wurden, kommen in Form einfacher Herausforderung-Antwort-Protokolle
zustande: die gewünschten
Daten werden unter Verwenden eines standardisierten Algorithmus
verschlüsselt
und der Benutzer, der versucht, auf die Daten zuzugreifen, erhält als Reaktion
auf zum Beispiel das Anwählen
des Verarbeitungszentrums von Kreditkarten zum Bezahlen der Software
(z. B. Adobe Type On Call) einen Schlüssel.
-
Solche
einfachen Schemata erlauben Software-Herstellern, viele Programme
auf einer CD zu verbreiten, von denen jedes mit einem unterschiedlichen
Schlüssel
verschlüsselt
ist. Ein Benutzer/eine Benutzerin erhält nur die Schlüssel für diejenigen Programme,
für die
oder sie bezahlt hat. In ähnlicher Weise
werden DVDs zum Verbreiten verschlüsselter Filme verwendet, wobei
jeder Film mit seinem eigenen Schlüssel verschlüsselt ist
und dieser Schlüssel auf
der DVD zu finden ist, die mit 400 "Spielerschlüsseln" verschlüsselt ist, die von den Herstellern
des lizensierten DVD-Spielers
gesteuert werden. Wenn ein Benutzer versucht, eine DVD mit einem
solchen lizensierten Spieler abzuspielen, kann der Spieler eine
Kopie des Inhalts des Schlüssels
für die
Verschlüsselung
entschlüsseln
und den Film abspielen, wodurch das Herausforderung-Antwort-Protokoll
vervollständigt
wird (wobei die verschlüsselten
Schlüssel
die Herausforderung darstellen, die Antwort die Fähigkeit
des lizensierten Spielers ist, den Inhalt eines gültigen Schlüssels erfolgreich
zu entschlüsseln).
Es ist möglich,
dass die Schemata als Beispiel für
Kryptographie auf Zustands-Basis betrachtet werden könnten, wobei
sie, wenn das der Fall ist, jedoch naiv und einfach sind und höchstens
einen oder zwei Zustände
besitzen.
-
1 veranschaulicht
ein beispielhaftes System 100 mit einer Vielzahl von Bestandteilen 102 gemäß einer
Ausführungsform
der vorliegenden Erfindung. Wie gezeigt ist, schließen diese
Bestandteile ein Netzwerk 104 ein, das jede Form, einschließlich, aber
nicht beschränkt
auf, ein lokales Netzwerk, ein Fernnetz, wie beispielsweise das
Internet, usw., annimmt. An das Netzwerk 104 ist eine Vielzahl
von Computern gekoppelt, die die Form von Schreibtischcomputern 106,
Lap-Top-Computern 108,
tragbaren Computern 110 oder irgendeine andere Form von Rechen-Hardware/-Software 111 annehmen
können. Wahlweise
können
die verschiedenen Computer mit Hilfe eines Servers 112,
der für
Sicherheitszwecke mit einer Firewall ausgestattet sein kann, mit
dem Netzwerk 104 verbunden sein. Es ist zu beachten, dass
jede andere Art von Hardware oder Software in dem System enthalten
sein kann und als dessen Bestandteil betrachtet werden kann.
-
Eine
charakteristische Hardware-Umgebung, die mit den verschiedenen Bestandteilen
in 1 in Verbindung steht, ist in 2 dargestellt.
In der vorliegenden Beschreibung können die verschiedenen Unterbestandteile
jedes Bestandteils auch als Bestandteile des Systems betrachtet
werden. Zum Beispiel können
auch bestimmte Software-Module, die auf einem beliebigen Bestandteil
des Systems ausgeführt
werden, als Bestandteile des Systems betrachtet werden. 2 veranschaulicht
eine typische Hardware-Konfiguration
eines Arbeitsplatzes gemäß einer
Ausführungsform
mit einem Prozessor 210, wie beispielsweise einem Mikroprozessor,
und vielen anderen Einheiten, die über einen Systembus 212 miteinander
verbunden sind.
-
Der
in 2 gezeigte Arbeitsplatz schließt einen Schreib-Lese-Speicher
(RAM) 214, einen Festwertspeicher (ROM) 216, einen
I/O-Adapter 218 zum Verbinden peripherer Vorrichtungen,
wie beispielsweise Plattenspeichereinheiten 220 zu dem
Bus 212, einen Adapter für eine Benutzerschnittstelle 222 zum Verbinden
einer Tastatur 224, einer Maus 226, eines Lautsprechers 228,
eines Mikrophons 232 und/oder Vorrichtungen für eine Benutzerschnittstelle,
wie beispielsweise einen Touch-Screen (Berühr-Bildschirm) (nicht gezeigt),
mit dem Bus 212, einen Kommunikationsadapter 234 zum
Verbinden des Arbeitsplatzes mit einem Kommunikationsnetzwerk (z.
B. einem Netzwerk zur Datenverarbeitung) und einen Anzeigeadapter 236 zum
Verbinden des Busses 212 mit einer Anzeigevorrichtung 238 ein.
-
3 ist
ein Ablaufplan eines Prozesses 300 für Kryptographie auf Übergangszustands-Basis
in einer Anwendung, die mindestens einen Zustand mit einem Schlüssel des
Zustands, der dazu gehört,
aufweist. Solche Anwendungen können
Anwendungen für
Arbeitsabläufe,
Computerspiele und militärische Karten
sein, sind jedoch nicht auf diese beschränkt. In allen Fällen sucht
die vorliegende Erfindung, die Vertraulichkeit von Daten, die in
dem System des Benutzers gespeichert sind oder auf die von dem System
des Benutzers zugegriffen wird, zu schützen, bis ein bestimmter vordefinierter
Zustand eingetreten ist. Anders ausgedrückt lässt die vorliegende Erfindung zu,
dass Daten in einer benutzbaren Form nur verfügbar sind, nachdem eine bestimmte
Abfolge von Aktionen erfolgt ist. Zum Beispiel müssen Mitarbeiter, Spieler oder
Soldaten bestimmte Ziele, z. B. Signaturen, die eine Bestellanforderung
erfassen, das Erreichen eines bestimmten Orts in dem Spiel oder
ein militärisch
relevantes Ziel, wie beispielsweise das Erreichen einer bestimmten
physikalischen Position auf einer militärischen Karte, erfüllen, bevor
sie erfahren, was sie als nächstes
tun müssen
oder eine Erlaubnis erhalten, den nächsten Schritt in dem Workflow
auszuführen.
-
Unter
weiterer Bezugnahme auf die 3 wird die
Anwendung in dem Arbeitsschritt 302 ausgeführt. Nach
Erreichen einer potentiellen Änderung des
Zustands der Anwendung wird eine Anforderung an einen Zugriff erzeugt
und wahlweise in dem Arbeitsschritt 306 verschlüsselt. Die
Anforderung an den Zugriff kann einen Zugriff auf Daten und/oder
einen folgenden Zustand der Anwendung betreffen.
-
Wahlweise
kann die Anforderung Informationen beinhalten, die das Fortschreiten
der Anwendung betreffen, wie beispielsweise das Fortschreiten des
Benutzers durch die Anwendung, das die Eingabe von in dem aktuellen
Zustand und vorhergehenden Zuständen
beendeten Aufgaben und/oder die Eingabe durch den Benutzer einschließt. In den
oben angegebenen Beispielen würden
solche Informationen beinhalten, ob die Signaturen für die Bestellanforderung
erfasst wurden, Ziele oder eine Position, die der Spieler in dem
Spiel erreicht hat, und ob das Militärpersonal eine bestimmte physikalische
Position auf der militärischen
Karte erreicht hat.
-
Im
Arbeitsschritt 308 wird die Anforderung eines Zugriffs
nach Erreichen eines Zustands in der Anwendung über ein Netzwerk, wie beispielsweise ein
lokales Netzwerk, ein Fernnetz, ein drahtloses Netzwerk, das Internet
usw. an einen Server gesendet. Die Anforderung schließt vorzugsweise
einen Schlüssel
des Zustands ein, der zu dem Zustand gehört. Jedem Zustand in dem System
kann ein eigener Schlüssel
zugewiesen werden. Der Schlüssel
des Zustands kann einen Teil (z. B. eine einfache Zeichenfolge oder
ein Symbol) einschließen,
der bestimmte Bedingungen, wie beispielsweise das Fortschreiten
des Benutzers durch die Anwendung und/oder Aufgaben, die in dem
aktuellen Zustand und den vorhergehenden Zuständen beendet wurden, wiedergibt.
Alternativ dazu kann der Schlüssel des
Zustands aus einer Liste von Schlüsseln des Zugangs, die zu dem
bestimmten Zustand gehören
und auf Basis der bestimmten vordefinierten Bedingungen, die beendet
werden müssen,
um zu einem anderen Zustand fortzuschreiten, ausgewählt sind,
ausgewählt
werden. Ein Fachmann wird verstehen, dass verschiedene Umsetzungen
für die
Auswahl und/oder Erzeugung des Schlüssels des Zustands benutzt
werden können,
ohne von dem Umfang der vorliegenden Erfindung abzuweichen.
-
Bei
der Entscheidung 310 wird an dem Server eine Bestimmung
darüber
vorgenommen, ob der Schlüssel
des Zustands gültig
ist und/oder ob die Anforderung auf Basis der Informationen, die
in der Anforderung enthalten sind, erteilt werden sollte. Wenn dies
der Fall ist, wird im Arbeitsschritt 312 als Reaktion auf
die Anforderung eine Antwort von dem Server empfangen. Die Antwort
schließt
einen Schlüssel
für einen
Zugriff zum Bereitstellen des Zugriffs auf den folgenden Zustand
oder Daten ein. Wenn der Schlüssel
des Zustands als ungültig
bestimmt wird und/oder die in der Anforderung enthaltenen Informationen
unzureichend sind oder angeben, dass die vordefinierte Bedingung
nicht eingetreten ist, wird von dem Server in dem Arbeitsschritt 314 eine
Antwort, die die Anforderung verweigert. In jedem Fall kann die
Antwort verschlüsselt
sein.
-
In
einer Ausführungsform
der vorliegenden Erfindung, in der die Anwendung ein Spiel, wie
beispielsweise ein Spiel für
einen einzigen Spieler oder mehrere Spieler, ist, erlaubt der Schlüssel für den Zugriff
ein Fortschreiten zu einem folgenden Teil des Spiels. In einer Ausführungsform
der vorliegenden Erfindung, in der die Anwendung ein Workflow ist,
erlaubt der Schlüssel
für den
Zugriff ein Fortschreiten zu einem folgenden Teil des Workflow.
In einer Ausführungsform
der vorliegenden Erfindung, in der die Anwendung eine militärische Karte
ist, erlaubt der Schlüssel
für den
Zugriff das Fortschreiten zu einem folgenden Teil der militärischen
Karte.
-
4 zeigt
einen Prozess 400 für
Kryptographie auf Übergangszustands-Basis
in einer Anwendung, die mindestens einen Zustand mit einem Schlüssel des
Zustands, der zu dem Zustand gehört, einschließt. Wie
oben kann eine solche Anwendung zum Beispiel eine Workflow-Anwendung,
ein Spiel oder eine militärische
Anwendung sein. Wenn die Anwendung einen bestimmten Zustand erreicht,
sendet die Anwendung, in dem Arbeitsschritt 402, eine Anforderung
eines Zugriffs auf den nächsten
Zustand an den Server. Die Anforderung schließt einen Schlüssel des
Zustands ein. Der Schlüssel
des Zustands wird bei der Entscheidung 404 an dem Server verifiziert.
Wenn der Schlüssel
des Zustands verifiziert wird, wird als Reaktion auf die Anforderung
in dem Arbeitsschritt 406 eine Antwort an dem Server erzeugt/ausgewählt. Ein
Schlüssel
für den
Zugriff, der den Zugriff bereitstellt, wird in dem Arbeitsschritt 408 ausgewählt/erzeugt.
Der Schlüssel
für den
Zugriff ist in der Antwort enthalten, die in dem Arbeitsschritt 410 von
dem Server an die Anwendung gesendet wird. Wenn der Schlüssel des
Zustands nicht verifiziert wird, wird von dem Server eine Antwort
gesendet, die die Anforderung zurückweist und wahlweise eine
Begründung
für die
Zurückweisung
angibt. Es ist zu beachten, dass die verschiedenen Aspekte der Ausführungsformen
der vorliegenden Erfindung, die unter Bezugnahme auf die 3 beschrieben
wurden, mit geringfügigen
Modifikationen, die von einem Fachmann leicht verstanden werden
können,
auf die Ausführungsform
der 4 angewendet werden können.
-
In
einer beispielhaften Ausführungsform
der vorliegenden Erfindung, die eine Workflow-Anwendung einschließt, wird einem Einkäufer nur
nachdem die passenden digitalen Signaturen angewendet wurden, Zugriff
auf eine Bestallanforderung erteilt. Bei Workflow-Vorgängen kann
gewünscht
werden, dass die Inhalte von Dokumenten solange nicht notwendigerweise
vollständig
sichtbar sind, bis bestimmte Kriterien erfüllt wurden. In solchen Fällen können die Prozesse
der 3 und/oder 4 dazu verwendet werden,
die Daten solange abzusichern, bis die notwendigen Vorbedingungen
vervollständigt
werden. Zum Beispiel ist es einem Angestellten der Einkaufabwicklung
solange nicht gestattet, eine Bestellung einzusehen, bis alle notwenigen
Signaturen für
die Verwaltung erhalten wurden. Dies ist nützlich, wenn es sich um große Bestellungen
handelt, die wahrscheinlich die Aktienpreise kleiner Anbieter beeinträchtigen,
indem sie den Gelegenheiten eines Insiderhandels vorbeugen.
-
Andere
Anwendungen der vorliegenden Erfindung schließen "Chinese Wall Policies" im Sektor gewerbsmäßiger Dienstleistungen
ein. Chinese Wall Policies spalten Informationen in Gruppen sich
gegenseitig ausschließender
Bereiche auf. Wenn ein Benutzer auf Informationen in einem Bereich
zugegriffen hat, verliert der Benutzer die Fähigkeit, auf Informationen
in einem anderen Bereich in der Gruppe zuzugreifen. Dieses Verfahren
dient dazu, Interessenkonflikten in gewerbsmäßigen Dienstleistungsfirmen
vorzubeugen. Zum Beispiel kann eine Kanzlei viele Mandanten, sagen
wir Mandant A und Mandant B, die miteinander im Wettbewerb stehen,
bedienen und eine Chinese Wall kann dazu verwendet werden, die Anwälte, die
den Mandanten A und B repräsentieren,
daran zu hindern, einander privilegierte Informationen preiszugeben.
Die vorliegende Erfindung benutzt die Kryptographie, um einen einfachen,
stabilen Mechanismus zum Durchführen
dieser Verfahren bereitzustellen.
-
Eine
weitere veranschaulichende Ausführungsform
der vorliegenden Erfindung schließt eine Spielanwendung ein.
Moderne Computersimulationen (z. B. Spiele) bringen eine simulierte,
jedoch reichhaltige Umgebung mit sich. Insbesondere bei Spielen
für mehrere
Spieler könnte
der Hersteller einer Umgebung wünschen
sicherzustellen, dass ein Teilnehmer (Spieler) nur die Untergruppe
der Umgebung gesehen hat, die Zuständen entspricht, die legitim
betreten wurden (d. h. Teile des Spieles, die diese gespielt haben).
Anders ausgedrückt
würden
Spielehersteller bevorzugen, dass die Spieler am "Schummeln" gehindert werden,
bei dem sie Teile des Spiels, zu denen sie innerhalb der Regeln
des Spiels nicht fortgeschritten sind, sehen. Dieser Wunsch ist
besonders bei einem Spiel für
mehrere Spieler akut, bei dem man vor einem Schummeln unter miteinander wettstreitenden
Spielern abschrecken möchte.
Alternativ dazu erlaubt die vorliegende Erfindung das Erzeugen von
Spielen, die mit vielen Spielern gespielt werden, bei denen man
Hinweise oder Spionageinformationen berechnen könnte. Somit können die Benutzer
nicht schummeln. Sie können
nur dann fortschreiten, wenn sie auf korrekte Weise durch alle notwendigen
Zustände
gelangen.
-
Ein
Beispiel für
Spiel ist ein Segelspiel auf Basis von atmosphärischen Daten, die über dem
Indischen Ozean gesammelt wurden. Für die Segler wäre es von
großem
Vorteil zu wissen, welchen Weg der Wind verändern würde. Um interessanter zu sein, berechnet
das Spiel dies aus echten Daten (z. B. könnte dies bei jedem Spiel pseudozufällig sein).
-
Dafür sind Gigabytes
an Daten erforderlich. Das Verteilen von bis zu 4,7 GB an Daten
ist einfach: erzeugen einer DVD-ROM. Wenn die Daten verfügbar sind,
könnte
jedoch jeder schummeln, wenn er das Klimamodell, das das Spiel verwendet,
kennt und herausfindet, welcher Teil der Datengruppe gerade von
der aktuellen Simulation verwendet wird.
-
Der
Stand der Technik hat Sicherheitsschemata auf Zustands-Basis, wie "Cheat-Codes", wohingegen die
vorliegende Erfindung in vorteilhafter Weise Kryptographie auf Zustands-Basis
verwendet, bei der kryptographische Operationen und Schlüssel selbst
Funktionen von sowohl des aktuellen Zustands als auch der Entwicklung
der Benutzers oder des Prozesses sind, die versuchen, die kryptographischen
Operationen durchzuführen.
-
5 ist
ein Ablaufplan eines Prozesses 500, um dem Schummeln in
einer Spielanwendung gemäß einer
Ausführungsform
der vorliegenden Erfindung vorzubeugen. Im Arbeitsschritt 502 wird
die Spielanwendung gestartet. Die Spielanwendung besitzt verschiedene
Zustände
(Karten, Ebenen, usw.). Jeder Zustand besitzt einen Schlüssel des
Zustands, der zu diesem gehört.
In Arbeitsschritt 504 bestimmt das Fortschreiten des Spielers
durch den aktuellen Zustand in der Anwendung, ob vordefinierte Bedingungen
erfüllt
wurden, um dem Spieler zu erlauben, in den nächsten oder einen weiteren
Zustand fortzuschreiten. Solche Bedingungen können zum Beispiel sein, dass
der Spieler einen ausreichenden Teil einer Karte erforscht hat,
bestimmte Entdeckungen gemacht hat, bestimmte Gegenstände gesammelt
hat, usw. Ein Schlüssel
des Zustands kann auf Basis dieser Daten berechnet oder erzeugt
werden. Eine Anforderung eines Zugriffs auf einen folgenden Zustand der
Anwendung wird im Arbeitsschritt 506 erzeugt und im Arbeitsschritt 508 über ein
Netzwerk an einen Server gesendet. Die Anforderung, die verschlüsselt sein
kann, enthält
den Schlüssel
des Zustands, der zu dem aktuellen Zustand gehört.
-
Bei
der Entscheidung 510 wird eine Bestimmung darüber vorgenommen,
ob der Schlüssel
des Zustands gültig
ist. Wenn dies der Fall ist, wird im Arbeitsschritt 512 eine
Antwort mit dem Schlüssel
für einen
Zugriff von dem Server empfangen. Der Schlüssel für den Zugriff wird dazu verwendet,
auf den nächsten
oder einen weiteren Zustand zuzugreifen. Wenn der Schlüssel des
Zustands ungültig
ist, wird im Arbeitsschritt 514 eine Antwort von dem Server empfangen.
In diesem Fall enthält
die Antwort eine Zurückweisung
der Anforderung und wahlweise eine Begründung für die Zurückweisung.
-
Eine
solche Begründung
könnte
eine Auflistung der noch nicht erfüllten vordefinierten Bedingung(en)
einschließen.
-
Militärische Karten
profitieren von einem ähnlichen
Schema. 6 ist ein Ablaufdiagramm eines
Prozesses 600 zum Beibehalten der Geheimhaltung von Daten
in einer militärischen
Anwendung. Die Verschlüsselung
erlaubt das Verteilen von Daten (z. B. über DVD-ROM) an Benutzer, um
einen Zugriff nach einer geringen Wartezeit zu erlauben, während die
Geheimhaltung der Daten beibehalten wird. Im Arbeitsschritt 602 wird
eine militärische
Anwendung gestartet. Eine militärische
Anwendung mit dieser Idee ist eine elektronische Karte. Im Arbeitsschritt 604 wird
die Karte mit Daten für
einen Einsatz oder länger
(z. B. einen Radius von einer Woche des Kämpfens) vorgeladen. Die Daten
der Karte werden wahlweise unter Verwenden eines standardisierten Chiffriertextes
verschlüsselt.
-
Bei
der Entscheidung 606 wird eine Bestimmung darüber vorgenommen,
ob der Soldat ein vorbestimmtes Ziel erreicht hat. Wenn der Soldat
das Ziel erreicht hat, wird der Schlüssel zum Entschlüsseln des
nächsten
Ziels im Arbeitsschritt 608 durch eine elektronische Karte
von einem Zentralcomputer empfangen. (Die elektronische Karte könnte einen eingebauten
GPS-Empfänger
und andere manipulationssichere Navigationsausrüstung aufweisen, so dass sie
ihre eigene Position bestimmen könnte.)
Bis der Computer damit zufrieden ist, dass die Karte aktuell dort
ist, wo sie sein sollte (oder an irgendeinem anderen, in passender
Weise unterstützten
Ziel), würde
niemand die Position des nächsten
Ziels erfahren. Dies wäre
offensichtlich von Nutzen, wenn der Soldat gefangen genommen würde; die
Karte würde
für den
Feind nutzlos sein. Obwohl dies dadurch erreicht werden könnte, indem
dem Soldaten die Daten der Karte einfach solange nicht gegeben werden,
bis es erforderlich ist, weist ein solcher Ansatz den Nachteil auf,
ein hohes Maß an
Sicherheit, drahtloser Bandbreite zu erfordern und gleichermaßen dafür anfällig zu
sein, abgefangen werden zu können.
Diese Bandbreite ist insbesondere über einen Satelliten eine kostenintensive
Ressource. Wenn die Verschlüsselung
einer Verknüpfung
erforderlich wäre,
stellt das Problem der Verwaltung von Schlüsseln eine erhebliche Schwierigkeit
dar. Die vorliegende Erfindung minimiert den Bedarf nach einer Bandbreite,
indem die Daten lokal bei dem Benutzer aufbewahrt werden und den
nächsten
Teil der Daten nur offenbaren, wenn es passend ist und nachdem der Schlüssel eines
gültigen
Zustands angegeben wurde.
-
7 ist
ein Ablaufplan eines Prozesses 700, bei dem eine Anwendung,
wie beispielsweise irgendeine der oben beschriebenen Anwendungen, als Übergänge durch
eine Gruppe von Zuständen
gemäß einer
Ausführungsform
der vorliegenden Erfindung modelliert werden kann. Im Arbeitsschritt 702 wird
dem Anfangszustand des Systems ein allgemein bekannter Schlüssel zugewiesen.
Im Arbeitsschritt 704 wird jedem Subjekt in dem System
ein allgemein bekannter öffentlicher
Schlüssel
KC zugewiesen und dem Zentralserver wird
ein allgemein bekannter Schlüssel,
der hier als KQS bezeichnet wird, zugewiesen.
Im Arbeitsschritt 706 wird jedem Zustand in dem System
ein eigener Schlüssel
KCS zugewiesen. Im Arbeitsschritt 708 wird
der Schlüssel
für den
nächsten
Zustand KCS2 angefordert. Im Arbeitsschritt 710 sendet
der Client bei jedem Übergang {KCS, Übergang,
Zeitstempel} KQS an den Server. Eine Bestimmung
darüber,
ob der Schlüssel
des Zustands gültig
ist, wird in der Entscheidung 712 vorgenommen. Der Server
antwortet in Arbeitsschritt 714 mit {{KCS2}KCS}Kc, wenn die Anforderung
in dem aktuellen Verfahren gültig
ist. Wenn die Anforderung ungültig ist,
antwortet der Server in Arbeitsschritt 716 mit einer Fehlerantwort.
Ein einfaches, induktives Argument zeigt, dass der Client einen
legalen Weg durch den Zustandbereich verfolgt haben muss.