-
Die
vorliegende Erfindung betrifft ein Verfahren zur Verwendung einer
Zeichenkette in Systemen der Kryptographie, der Statistik, der Simulation,
der Randomisierung, von Spielautomaten und dgl., eine Einrichtung
in Systemen der Kryptographie, der Statistik, der Simulation, der
Randomisierung, von Spielautomaten und dgl. und ein entsprechendes
Computerprogrammprodukt.
-
In
zahlreichen Systemen der Kryptographie, der Statistik, der Simulation,
der Randomisierung, von Spielautomaten und dgl. werden Zeichenketten
als Startgrößen eingesetzt. Beispielsweise verwendet
man solche Zeichenketten als Schlüssel in der Kryp tographie.
Solche Schlüssel sind Zeichenketten, die im Falle von Computeranwendungen
häufig im Binärsystem dargestellt sind. Um eine
sichere Verschlüsselung zu ermöglichen, sind diese
Schlüssel zu dem häufig zufällig aufgebaut
und bestehen im einfachsten Fall aus Zufallszahlen. Im Fall einer
binären Darstellung des Schlüssels sind dann die
binären Elemente in den Schlüssel zufällig angeordnet.
-
Bekannt
ist beispielsweise das informationstheoretisch sichere One-Time-Pad-Verfahren,
bei dem ein zufälliger Schlüssel, der mindestens
die gleiche Länge wie die zu verschlüsselnde Nachricht
aufweist, verwendet wird, um die Nachricht zu verschlüsseln.
Absender und Empfänger müssen hier den Schlüssel
vorher untereinander ausgetauscht haben und dabei sicherstellen,
dass der Schlüssel nicht in fremde Hände gelangen kann.
Außerdem darf der Schlüssel in diesem Verfahren
nur einmal verwendet werden, um die Sicherheit zu gewährleisten.
-
Nachteilig
an diesem sicheren Verfahren ist, dass der Schlüssel immer
nur einmal verwendbar ist und daher vor jedem Nachrichtenaustausch
ein Austausch eines solchen Schlüssels stattgefunden haben
muss, der zu dem noch mindestens die Länge des Nachrichtentextes
aufweisen muss. Zwar kann man auch Schlüssel auf Vorrat
miteinander vereinbaren, allerdings geht auch dieser Vorrat je nach
Intensität der Kommunikation zu Ende. Sollen neue Schlüssel
vereinbart werden, müssen die Teilnehmer wieder zusammenkommen.
Damit ist das Verfahren zwar sicher, aber andererseits sehr aufwendig
und unflexibel.
-
Andererseits
ist es aber auch bekannt, Verschlüsselungsverfahren zu
verwenden, wobei der Nutzer einen Schlüssel erhält,
der über einen gewissen Zeitraum nicht verändert
wird. Dieser Schlüssel ist zumeist kürzer als
einer, der im One-Time-Pad Verwendung findet. Nachteilig an diesem
Verfahren ist es jedoch, dass mit Hilfe geeigneter Technik und Algorithmen
aus der verschlüsselten Nachricht selbst Rückschlüsse
auf den Schlüssel gezogen werden können. Die Kommunikation
ist also unsicherer als beim One-Time-Pad-Verfahren.
-
Da
aus diesem Grunde also zu befürchten steht, dass auf solche
in diesen Systemen verwendete Zeichenketten Rückschlüsse
gezogen werden können und daher die Systeme angreifbar
sind, müssen diese Zeichenketten in regelmäßigen
Abständen erneuert werden. Damit sind aber ähnliche
Nachteile verbunden wie beim One-Time-Pad-Verfahren, womit ein hoher
Wartungsaufwand und damit verbunden hohe Kosten einhergehen.
-
Ähnliche
Probleme treten auch bei den anderen oben genannten Systemen auf.
Beispielsweise verwenden Spielautomaten eine intern vorgegebene
Zufallszahl, um daraus den Verlauf von Spielen zu entwickeln. Solche
Spielautomaten, die häufig als Glücksspielautomaten
Verwendung finden, sind dabei ein besonders lukratives Ziel von
Angriffen, da die Kenntnis der im Spielautomaten hinterlegten Zufallszahl
bei Einsatz geeigneter Technik und Algorithmen eine statistische
Vorhersage des Spielverlaufes ermöglicht und daher zu großen
Verlusten des Spielautomatenaufstellers führen kann.
-
Die
Aufgabe der vorliegenden Erfindung besteht daher darin, dass ein
Verfahren zur Verwendung einer Zeichenkette in Systemen der Kryptographie,
der Statistik, der Simulation, der Randomisierung von Spielautomaten
und dgl. zur Verfügung zu stellen, das Angriffsmöglichkeiten
auf die Zeichenkette verringert, insbesondere ganz unterbindet.
Weiterhin soll auch eine Vorrichtung und ein entsprechendes Computerprogrammprodukt
zur Verfügung gestellt werden.
-
Diese
Aufgabe wird gelöst mit einem Verfahren nach Anspruch 1,
einer Einrichtung nach Anspruch 14 und einem Computerprogrammprodukt
nach Anspruch 15. Vorteilhafte Weiterbildungen sind in den abhängigen
Unteransprüchen angegeben.
-
Der
vorliegenden Erfindung liegt die Erkenntnis zugrunde, dass eine
Zeichenkette immer dann nie optimal gegenüber Angriffen
schätzbar ist, wenn sie direkt in dem System verwendet
wird. Daher besteht die erfindungsgemäße Lösung
der Aufgabe darin, dass eine erste Zeichenkette bereitgestellt wird,
die allerdings nicht direkt in dem System verwendet wird, sondern
dass eine zweite Zeichenkette aus der ersten Zeichenkette generiert
wird. Erst diese zweite Zeichenkette bzw. aus der zweiten Zeichenkette
generierte weitere Zeichenketten werden dann in den Systemen verwendet
und ein Angriff auf das System wird zwar gegebenenfalls die zweite
Zeichenkette bzw. die daraus generierten weiteren Zeichenketten
offenbaren, jedoch erhält die verwendete erste Zeichenkette
einen sehr hohen Schutz. Die erste Zeichenkette wird also mehrfach
zur Generierung mehrerer zweiter Zeichenketten verwendet. Beispielsweise
wird nun nicht mehr die erste Zeichenkette als Schlüssel
in Verschlüsselungsverfahren verwendet, sondern sie bleibt
nur dazu hinterlegt, um daraus ständig neue Schlüssel
zu erzeugen. Auf diese Weise muss nur einmal für einen
langen Benutzungszeitraum ein solcher Schlüssel hinterlegt
werden und die Wartungsabstände werden sehr groß.
-
Der
gleiche Vorteil ergibt sich natürlich auch für
andere Systeme, beispielsweise für Spielautomaten, wo nicht
direkt Rückschlüsse auf die hinterlegte Zufallszahl
gezogen werden können, so dass der Spielablauf über
einen sehr lange Zeit unberechenbar bleibt.
-
Zweckmäßigerweise
wird die erste Zeichenkette in einem maschinenlesbaren Speicher,
insbesondere einem RAM, FLASH oder dgl. hinterlegt und bevorzugt
wird die zweite Zeichenkette aus der ersten Zeichenkette automatisch
in einem Prozessor, der in Kommunikation mit dem Speicher steht,
generiert. Auf diese Weise funktioniert das Verfahren in dem System
autark und ohne jegliche manuelle Unterstützung, so dass
zusätzlich die Angreifbarkeit minimiert wird.
-
In
einer bevorzugten Ausgestaltung sind die Zeichenketten Anordnungen
zufälliger Zeichen, bevorzugt Zufallszahlen, insbesondere
Anordnungen binärer Zufallszahlen, wodurch die Abwehr von
Angriffen auf die Zeichenkette weiter verstärkt wird. Dabei
ist die erste Zufallszahl bevorzugt eine physikalische Zufallszahl, da
eine solche Zufallszahl unter statistischen Gesichtspunkten eine
besonders hohe Qualität des Zufalls aufweist.
-
In
einer besonders bevorzugten Ausgestaltung ist das System ein System
der Kryptographie und die erste Zeichenkette ein Schlüssel
zur Verschlüsselung.
-
In
einer besonders vorteilhaften Ausgestaltung wird eine dritte Zeichenkette
bereit gestellt, die bevorzugt unabhängig von der ersten
Zeichenkette ist, wobei zur Generierung der zweiten Zeichenkette
die erste Zeichenkette mit der dritten Zeichenkette logisch XOR
codiert, bevorzugt logisch erweitert XOR codiert wird.
-
„Logisch
XOR codiert” heißt in diesem Zusammenhang, dass
die erste Zeichenkette mit der dritten Zeichenkette mittels einer
exklusiv-oder-Verknüpfung der einzelnen Bits zu einem Ergebnis
zusammengeführt werden, wobei die dritte Zeichenkette solange
aneinandergereiht wird, bis diese Aneinanderreihung zumindest die
Länge der ersten Zeichenkette aufweist.
-
„Logisch
erweitert XOR codiert” heißt in diesem Zusammenhang,
dass eine Teillänge der ersten Zeichenkette, die der Länge
der dritten Zeichenkette entspricht, mit der dritten Zeichenkette
bitmäßig exklusiv-oder-verknüpft wird
und das erhaltene (Zwischen-)Ergebnis, das wiederum die Länge
der dritten Zeichenkette aufweist, mit einem Teil des verbleibenden
Teils der ersten Zeichenkette wiederum exklusiv-oder-verknüpft
wird, wobei dieser Teil wiederum der Länge der dritten
Zeichenkette entspricht. Das daraus erhaltene Ergebnis wird dann
wiederum mit einem entsprechenden Teil des verbleibenden Teils der
ersten Zeichenkette verknüpft und dieser Vorgang wird solange
wiederholt, bis sämtliche Teile der ersten Zeichenkette
dieser Verknüpfung unterzogen worden sind. Das Ergebnis
der logisch erweiterten XOR-Codierung besteht in der Aneinanderreihung
der erhaltenen Zwischenergebnisse.
-
Bevorzugt
ist es, dass die dritte Zeichenkette größer 1
Bit bevorzugt ≥ 24 Bit und insbesondere ≥ 34 Bit
lang ist. Dann ist die Sicherheit der ersten Zeichenkette zusätzlich
erhöht.
-
Weiterhin
ist es vorteilhaft, wenn die erste Zeichenkette größer
100 Byte, bevorzugt ≥ 1 MByte und insbesondere ≥ 100
MByte ist, da eine solche Größe der ersten Zeichenkette
die Variationsmöglichkeiten stark erhöht und damit
eine Wartung der ersten Zeichenkette nur in sehr seltenen Abständen
erfolgen muss.
-
In
einer weiteren vorteilhaften Ausgestaltung wird die zweite Zeichenkette
zur Generierung einer vierten Zeichenkette in zwei Teillängen
aufgeteilt, wobei eine Teillänge mit der anderen Teillänge
logisch XOR codiert, bevorzugt logisch erweitert XOR codiert wird,
und wobei dann die zweite Zeichenkette mit der vierten Zeichenkette
logisch XOR, bevorzugt logisch erweitert XOR codiert wird. Dadurch
wird die Angreifbarkeit der Zeichenkette zusätzlich herabgesetzt.
-
In
einer bevorzugten Ausgestaltung enthält eine der beiden
Teillängen nur Zeichen oder Bitfolgen, die in einer bevorzugt
von der ersten Zeichenkette unabhängig bereitgestellten
fünften Zeichenkette enthalten sind, und die andere der
beiden Teillängen enthält nur Zeichen oder Bitfolgen,
die nicht in der fünften Zeichenkette enthalten sind. In
diesem Zusammenhang ist es besonders vorteilhaft, wenn die fünfte
Zeichenkette ≥ 24 Byte lang ist und Zeichen von 8 Bit Länge
enthält, wobei verglichen wird, ob die zweite Zeichenkette
diese Zeichen jeweils enthält. Alternativ kann natürlich
auch jede andere Länge zu Festlegung von Zeichen miteinander verglichen
werden, wobei sich jedoch bei Längen von weniger als 8
Bit Redundanzen ergeben können, so dass keine zwei unterschiedlichen
Teillängen mehr erstellt werden können.
-
Insbesondere
soll in einer besonders vorteilhaften Ausgestaltung die dritte Zeichenkette
mit der fünften Zeichenkette übereinstimmen und
beide Zeichenketten werden auf einmal als dritte Zeichenkette bereitgestellt.
Auf diese Weise werden zwei unterschiedliche Mischungsverfahren
eingesetzt, wodurch die aus der ersten Zeichenkette hergestellte
Zeichenkette, die dann in dem System Verwendung findet, besonders
sicher gegenüber einem Angriff auf die erste Zeichenkette
ist.
-
Selbstverständlich
kann auch vorgesehen sein, dass die verschiedenen Mischungsschritte
in einer beliebigen Abfolge und beliebeigen Wiederholung aufeinander
fol gend vorgenommen werden, wobei gegebenenfalls neue dritte und
fünfte Zeichenketten bzw. neue gemeinsame dritte Zeichenketten
bereitgestellt werden.
-
Selbständiger
Schutz wird beansprucht für eine Einrichtung in Systemen
der Kryptographie, der Statistik, der Simulation, der Randomisierung,
von Spielautomaten und dgl., wobei die Einrichtung angepasst ist, das
erfindungsgemäße Verfahren auszuführen.
-
Die
Erfindung kann in Form einer völligen Hardware-Ausgestaltung,
einer völligen Software-Ausgestaltung oder einer Ausgestaltung,
die sowohl Hardware- als auch Software-Elemente enthält,
verwirklicht werden. In einer bevorzugten Ausgestaltung ist die
Erfindung in Software implementiert, die Firmware, systemeigene
Software, Microcode und dgl. umfasst, jedoch nicht darauf beschränkt
ist.
-
Weiterhin
kann die Erfindung in Gestalt eines Computerprogrammprodukts verwirklicht
werden, das von einem computernutzbaren oder computerlesbaren Medium
zugänglich ist und einen Programmcode für die
Benutzung durch oder für die Benutzung in Verbindung mit
einem Computer oder jeden Befehlsausführungssystem bereitgestellt
ist. Daher wird auch selbständiger Schutz beansprucht für
ein Computerprogrammprodukt, das auf einem für einen Computer
lesbaren Medium gespeichert ist und für den Computer lesbare Programmmittel
umfasst, die den Computer veranlassen, das erfindungsgemäße
Verfahren auszuführen, wenn die Programmmittel auf dem
Computer ausgeführt werden.
-
Für
die Zwecke dieser Beschreibung können computernutzbare
oder computerlesbare Medien alle Einrichtungen oder Vorrichtungen
sein, die das Programm für die Benutzung durch oder die
Benutzung in Verbindung mit dem Befehlsausführungssystem,
der Vorrichtung oder der Einrichtung enthalten, speichern, kommunizieren,
verbreiten oder transportieren.
-
Das
Medium kann ein elektronisches, magnetisches, optisches, elektromagnetisches,
Infrarot- oder Halbleitersystem (oder Vorrichtung oder Einrichtung)
sein oder ein Ausbreitungsmedium. Beispiele eines computerlesbaren
Mediums umfassen einen Halbleiter oder Feststoffspeicher, Magnetband,
eine entfernbare Computerdiskette, einen Random Access Memmory (RAM),
einen Read-only Memmory (ROM), eine feste magnetische Disk und eine
optische Disk. Gegenwärtige Beispiele von optischen Disks
umfassen Compaktdisk-Read-only Memmory (CD-ROM), Compaktdisk-Read/Write
(CD-R/W) und DVD.
-
Ein
Datenverarbeitungssystem, das geeignet ist, den Programmcode zu
speichern und/oder auszuführen, umfasst wenigstens einen
Prozessor, der direkt oder indirekt mit zumindest einem Speicherelement durch
einen Systembus verbunden ist. Das Speicherelement kann lokalen
Speicher umfassen, der während der aktuellen Ausführung
des Programmcodes tätig wird, Massenspeicher und Pufferspeicher,
der eine temporäre Speicherung von wenigstens einigen Programmcodes
bereitstellt, um die Anzahl an Abrufen des Codes vom Massenspeicher
während der Ausführung zu reduzieren.
-
Eingabe/Ausgabe-
oder I/O-Einrichtungen, die Tastaturen, Displays, Zeigeeinrichtungen
etc. umfassen können, jedoch nicht darauf limitiert sind,
können mit dem System entweder direkt oder durch zwischengeschaltete
I/O-Controller an das System angekoppelt sein.
-
Netzwerkadapter
können ebenfalls mit dem System verbunden sein, um zu ermöglichen,
dass das Daten verarbeitende System mit anderen Datenverarbeitungssystemen
oder entfernten Druckern oder Speichereinrichtungen durch zwischengeschaltete
private oder öffentliche Netzwerke angekoppelt wird. Modems,
Kabelmodems oder Ethernet-Karten sind in diesem Zusammenhang nur
einige Beispiele der gegenwärtig verfügbaren Typen
von Netzwerkadaptern. Die Merkmale und weitere Vorteile der vorliegenden
Erfindung werden nun anhand der Beschreibung eines bevorzugten Aus führungsbeispiels
im Zusammenhang mit der Zeichnung deutlich werden. Dabei zeigen
-
1 einen
Teil eines Kryptographiesystems,
-
2 eine
Blockbilddarstellung des erfindungsgemäßen Verfahrens
und
-
3 eine
Blockbilddarstellung eines Schritts des Verfahrens nach 2.
-
In 1 ist
rein schematisch ein Teil 1 eines Kryptographiesystems
dargestellt, dass einen ersten Speicher 2, einen zweiten
Speicher 3, einen Prozessor 4 als Datenverarbeitungssystem
und einen Netzwerkadapter 5 umfasst. Die Speicher 2, 3 können
Halbleiter- oder Feststoffspeicher sein, aber auch Magnetbänder,
Computerdisketten, RAM, ROM, magnetische oder optische Disk. Der
Netzwerkadapter 5 steht in Kommunikation mit lokalen oder
entfernt angeordneten weiteren Bestandteilen (nicht gezeigt) des
Kryptographiesystems.
-
In
dem ersten Speicher 2 ist eine erste Zeichenkette hinterlegt
und in dem zweiten Speicher 3 das Computerprogrammprodukt,
das den Teil 1 veranlasst, das erfindungsgemäße
Verfahren auszuführen. Selbstverständlich können
die Speicher 2, 3 auch als einheitliches Speicherelement
ausgebildet sein und zusätzlich kann vorgesehen sein, dass
weitere Speicherelemente, insbesondere Pufferspeicher, verwendet
werden.
-
In 2 ist
nun rein schematisch der erfindungsgemäße Verfahrensablauf
anhand eines Blockschaltbildes dargestellt. Es ist zu erkennen,
dass die erste Zeichenkette Mutter$ mit einer dritten Zeichenkette
ZZ$ logisch erweitert XOR codiert wird. Im dargestellten Beispiel
ist die erste Zeichenkette Mutter$ ein 100 MB großer Zufallszahlenstring
und die dritte Zeichenkette ZZ$ ist ein 34 Byte großer
Zufallszahlenstring. Die erste Zeichenkette Mutter$ wird nun mit
der dritten Zeichenkette ZZ$ logisch erweitert XOR codiert. Dies
erfolgt dadurch, dass die ersten 34 Byte der ersten Zeichenkette
Mutter$ mit der dritten Zeichenkette ZZ$ logisch XOR codiert werden,
wodurch als Ergebnis ein erster Teilstring ZK$ 1 entsteht, der ebenfalls
eine Länge von 34 Byte aufweist. Dieser erste Teilstring
ZK$ 1 wird dann wiederum verwendet, um einen weiteren Teil der ersten
Zeichenkette Mutter$ XOR zu codieren. Dazu werden die nächsten
34 Byte der ersten Zeichenkette Mutter$ verwendet und es entsteht
im Ergebnis ein zweiter Teilstring ZK$ 2, der seinerseits für
die XOR Codierung der nächsten 34 Byte der ersten Zeichenkette
Mutter$ verwendet wird. Dieses Prozedere wird, wie in 2 angedeutet,
solange wiederholt, bis die gesamten 100 MB der ersten Zeichenkette
Mutter$ verwertet wurden. Die Aneinanderreihung der Teilstrings
ZK$ 1, ZK$ 2, ZK$ 3, ZK$ 4, ZK$ 5 und so fort, ergibt im Ergebnis
eine zweite Zeichenkette Work$ 1, die wie die erste Zeichenkette
Mutter$ eine Länge von 100 MB aufweist.
-
Diese
zweite Zeichenkette Work$ 1 wird nun nach der in 3 näher
beschriebenen Wichtungsvorschrift WV in zwei Teillängen
True$, Untrue$ aufgespaltet und nachfolgend werden beide Teillängen
True$, Untrue$ miteinander XOR codiert. Dies erfolgt dadurch, dass
die kürzere Teillänge, im vorliegenden Beispiel True$,
so oft aneinandergereiht wird, dass ihre Länge zumindest
der längeren Teillänge, im vorliegenden Beispiel
Untrue$, entspricht. Im Ergebnis entsteht dann eine vierte Zeichenkette
Work$ 2, die die Länge der längeren Teillänge
Untrue$ aufweist.
-
Selbstverständlich
könnte anstatt einer XOR Codierung der beiden Teillängen
auch alternativ eine erweiterte XOR Codierung erfolgen, um die Angreifbarkeit
der ersten Zeichenkette Mutter$ weiter zu senken.
-
Anschließend
wird die zweite Zeichenkette Work$ 1 mit der vierten Zeichenkette
Work$ 2 XOR codiert, wobei wiederum die vierte Zeichenkette Work$
2 sooft aneinandergereiht wird, dass ihre Länge der der
zweiten Zeichenkette Work$ 1 entspricht. Im Ergebnis entsteht eine
fünfte Zeichenkette Code$, die wiederum die Länge
der ersten Zeichenkette Mutter$, also 100 MB aufweist.
-
In 3 ist
rein schematisch die Wichtungsvorschrift WV aus 2 in
einem Bioschaltbild dargestellt. Und zwar wird im Rahmen dieser
Wichtungsvorschrift WV verglichen, welche in der dritten Zeichenkette
ZZ$ enthaltenen Zeichen auch in der zweiten Zeichenkette Work$ 1
enthalten sind. Diejenigen Zeichen, die in der zweiten Zeichenkette
Work$ 1 enthalten sind, werden in der Reihenfolge, die in der dritten
Zeichenkette ZZ$ vorgegeben ist, in der ersten Teillänge
True$ abgelegt. Andererseits werden diejenigen Zeichen der zweiten Zeichenkette
Work$ 1, die nicht in der dritten Zeichenkette enthalten sind, in
derjenigen Reihenfolge, die in der zweiten Zeichenkette Work$ 1
vorgegeben ist, in der zweiten Teillänge Untrue$ abgelegt.
Dieser Mischalgorithmus verhindert zusätzlich die Rückwärtsrechnung,
die sonst bei einfachen XOR Codierungen möglich sein kann.
Natürlich kann auch eine andere Reihenfolge beim Erstellen
der Teillängen True$, Untrue$ gewählt werden.
-
In
dem vorstehend beschriebenen bevorzugten Ausführungsbeispiel
des erfindungsgemäßen Verfahrens wird somit eine
erste Zeichenkette Mutter$ verwendet, die bevorzugt als physikalische
Zufallszahl binär erzeugt wurde. Diese erste Zeichenkette
Mutter$ wird in dem System hinterlegt und weist eine statistisch
sehr gute Qualität auf. Mit Hilfe der dritten Zeichenkette
ZZ$, die aus einer 34 Byte langen Zufallszahl besteht und jeweils
neu von dem Systemteil 1 unabhängig von der ersten
Zeichenkette Mutter$ erzeugt wird, wird aus der ersten Zeichenkette
Mutter$ eine fünfte Zeichenkette Code$ generiert, die dann
im System weiter verwendet wird.
-
Bezüglich
der Generierung der ersten Zeichenkette Mutter$ vor deren Bereitstellung
im System bzw. dem Teil
1 des Systems wird auf die deutsche
Patentanmeldung
DE 10 2008
033 162 verwiesen und ihr Inhalt hiermit auch alternativ
vollständig mit einbezogen. Diese Patentanmeldung beschreibt
ausführlich, wie Zufallszahlen mit extrem hoher statistischer
Qualität als physikalische Zufallszahlen erzeugt werden
können. Dieses Erzeugungsverfahren kann dabei nicht nur
zur Erzeugung der ersten Zeichenkette Mutter$ verwendet werden, sondern
auch zur Erzeugung der dritten Zeichenkette ZZ$. Allerdings ist,
wie gesagt, bevorzugt, dass diese Zeichenkette ZZ$ kostengünstig
als Pseudozufallszahl im Prozessor
4 des Systemteils
1 selbst
erzeugt wird.
-
Vor
jeder Benutzung des Systems durch das Teil 1, bzw. Interaktion
des Teils 1 mit dem System wird also aus der feststehenden
ersten Zeichenkette Mutter$ eine fünfte Zeichenkette Code$
generiert, die dann im System weiter verwendet wird. Dabei wird
durch die Generationsschritte sicher gestellt, dass aus der fünften Zeichenkette
Code$ keine Rückschlüsse auf die erste Zeichenkette
Mutter$ gezogen werden können. Die erste Zeichenkette Mutter$
ist aus diesem Grunde also nicht angreifbar und kann auf Grund ihrer
hohen Qualität über längere Zeit im System
verwendet werden, so dass die Wartungskosten sehr gering sind. Außerdem
sind das System bzw. die Teile 1 des Systems sehr einfach
aufgebaut, da auf Grund der Generierung der fünften Zeichenkette
Code$ aus der ersten Zeichenkette Mutter$ an die dritte Zeichenkette
ZZ$ nur noch geringe Anforderungen zu stellen sind, so dass für
die dritte Zeichenkette ZZ$ beispielsweise ein in einem Prozessor 4 implementierter
Pseudozufallszahlengenerator Verwendung finden kann.
-
In
dem oben beschriebenen bevorzugten Ausführungsbeispiel,
in dem die erste Zeichenkette Mutter$ eine Länge von 100
MB und die dritte Zeichenkette ZZ$ eine Länge von 34 Byte
aufweist, beträgt der Wertevorrat zur Erzeugung unterschiedlicher
fünfter Zeichenketten Code$ 2272 Möglichkeiten.
Diese Menge ist größer als die berechnete Menge
von Teilchen im Universum, die 2266 beträgt.
Auf Grund dieses hohen Wertevorrates wird selbst dann, wenn eine
Rückrechenbarkeit gegeben wäre, sicher verhindert,
dass Rückschlüsse auf die erste Zeichenkette gezogen
werden können, da nach allem menschlichen Ermessen der
Aufwand so hoch wäre, dass gegenwärtige und zukünftige
Rechenkapazitäten nicht ausreichen, diese Rückschlüsse
in akzeptabler Zeit zu ziehen.
-
Über
die erste Zeichenkette Mutter$ wird dabei die Menge 2838860800 Zufall
bereitgestellt, die allerdings selbst nicht im System verwendet,
insbesondere übertragen werden muss. Diese Zeichenkette
dient vielmehr als Quelle für weitere zufällige
fünfte Zeichenketten Code$, wobei durch die verwendete
dritte Zeichenkette ZZ$ aufgrund der Mischungsvorschrift 2272 verschiedene Möglichkeiten für
die im System zu ver wendende fünfte Zeichenkette Code$
bestehen. Durch Vergrößerung der ersten Zeichenkette
Mutter$ und der dritten Zeichenkette ZZ$ kann diese Anzahl noch
weiter vergrößert werden. Es besteht also für
einen Außenstehenden keine aussichtsreiche Möglichkeit, über
ein Abfangen der fünften Zeichenkette Code$ und Ausspionieren
der dritten Zeichenkette ZZ$ – die beispielsweise in Kryptographiesystemene
zwischen den Teilnehmern verschlüsselt oder unverschlüsselt übertragen
werden kann – auf die erste Zeichenkette Mutter$ zu schließen.
-
Wichtig
ist in diesem Zusammenhang, dass der Generierungsvorgang von der
ersten Zeichenkette Mutter$ zur fünften Zeichenkette Code$
nur in einer Richtung nachvollzogen werden kann, so dass bei einer Kompromittierung
der fünften Zeichenkette Code$, die im System verwendet
wird, keinerlei Rückschlüsse auf die erste Zeichenkette
Mutter$ gezogen werden können, die selbst im System nicht
verwendet wird. Auf diese Weise lassen sich Systeme der Kryptographie,
Statistik, Simulation, Randomisierung, Spielautomaten und dgl. wesentlich
einfacher und kostengünstiger gestalten, die dennoch ein
hohes Sicherheitsniveau aufweisen und sehr wartungsfreundlich sind.
-
Die
dritte Zeichenkette ZZ$ ist je nach Anwendung ein momentanes Zufallsereignis.
Die dabei erzeugte Menge von ΩZZ$ =
2272 dritter Zeichneketten ZZ$ ernthält
etwa 10–15% ungeeignete Zufallszahlenstrings, wie etwa
nur Nullen, 0000000 ... 0 oder nur Einsen, 111111111111 ... 1 oder
aber auch gemischte Formen. Jedenfalls sind derartige Strings vom
Zufall nicht ausgeschlossen. Eine einfache logische XOR-Codierung
mit dem Mutter$ hätte negative Folgen bezügliche
der Sicherheit. Die Form der erweiterten logischen XOR-Codierung
von dritter Zeichenkette ZZ$ mit erster Zeichenkette Mutter$ mindert
diese negativen Folgen erheblich.
-
Der
mit dem Mischalgorithmus erzeugte Stichprobenraum bewegt sich bei
einem 100 MB großen Mutter$ bei ΩMutter$ =
2838 860 800, in dem sich die 2272 verschiedenen
fünften Zeichenketten Code$ wiederfinden, wie in der Tabelle
beispielhaft dargestellt ist. Jeder nur erdenkliche Bitstrom von
100 MB befindet sich innerhalb des Stichprobenraumes. So auch die
einzelnen erzeugten fünften Zeichenketten Code$, wobei
sich für eine bestimmte dritte Zeichenkette ZZ$ natürlich
nicht jede beliebige fünfte Zeichenkette Code$ innerhalb
des Stichprobenraumes erzeugen lässt.
-
Da
jede fünfte Zeichenkette Code$ auf eine mathematische Funktion
von dritter ZZ$ und erster Zeichenkette Mutter$ zurückgeführt
werden kann, bestehen mathematisch darstellbare Beziehungen aller
möglichen fünfter Zeichenketten Code$ zueinander,
z. B. ihre Lage im Stichprobenraum. Bei einer logischen XOR-Codierung
von dritter ZZ$ und erster Zeichenkette Mutter$ ist dieser mathematische
Zusammenhang leichter darstellbar. So sind z. B. die Abstände
aller fünften Zeichenketten Code$ gleich groß. Über
die genaue Lage im Stichprobenraum sind jedoch keine Aussagen möglich.
Die Manipulation des Work$ 1 in True$ und Untrue$ verschleiert dies
potenziell. Sind zwei oder auch mehrere fünfte Zeichenketten
Code$ bekannt, ist es nicht möglich zweifelsfrei auf deren
Quelle, sprich dritte ZZ$ und ersten Zeichnkette Mutter$, zu schließen. Weiterhin
ist es damit unmöglich, beliebigen angenommenen fünften
Zeichnketten Code$ unterschiedliche Wahrscheinlichkeiten zuzuweisen.
Gleichzeitig wird gewährleistet, dass dieser Mischvorgang
nur in einer Richtung ablaufen kann.
-
Das
vorstehend beschriebene bevorzugte Mischverfahren zeichnet sich
durch einen besonders sicheren Schutz der ersten Zeichenkette Mutter$
aus. Jedoch ist es nicht zwingend erforderlich, alle diese bevorzugten
Verfahrensschritte zu verwenden. Auch das erfindungsgemäße
Verfahren in seiner einfachsten Darstellung, wie sie Anspruch 1
zeigt, führt zu weit reichenden Verbesserungen gegenüber
bisherigen Verfahren. Alle beschriebenen Verfahrensschritte sind
außerdem in beliebiger Reihenfolge auch unter Auslassung
einzelner Verfahrensschritte mit einander kombinierbar.
-
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste
der vom Anmelder aufgeführten Dokumente wurde automatisiert
erzeugt und ist ausschließlich zur besseren Information
des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen
Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt
keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-