-
Die
vorliegende Erfindung bezieht sich auf das technische Gebiet der
Kryptographie und insbesondere bezieht sich die vorliegenden Erfindung
auf das technische Teilgebiet der kryptographischen Busverschlüsselung.
-
Um
Daten von einem Bauelement zu einem weiteren Bauelement auf einer
Halbleiterplatine zu übertragen,
werden oftmals Signalbusse mit mehreren parallel verlaufenden Leitungen
verwendet. Um jedoch einen Signalabgriff bei sicherheitsrelevanten
Anwendungen an diese Busleitungen zu vermeiden, wird oftmals eine
Busverschlüsselung
angewandt, so dass die Daten nur in verschlüsselter Form zwischen den beiden
Bauelementen übertragen
werden. Ein möglicher
Angreifer müsste
dann, um an die Information zu kommen, die zwischen den beiden Bauelementen
ausgetauscht werden, den entsprechenden Verschlüsselungsschlüssel oder
einen zugehörigen
Entschlüsselungsschlüssel kennen.
Oftmals wird für
diese Busverschlüsselung
im Stand der Technik eine Stromchiffre verwendet, wie sie beispielsweise
aus der WO 01/40950 A2, der
EP 1118941
A1 , der
EP1249010
B1 oder der
EP
1472587 B1 bekannt sind.
-
In
der 2 ist eine solche Datenübertragung mittels Busverschlüsselung
in einem Blockschaltbild näher
dargestellt. Hierbei werden mittels eines ersten Busses 202 mit
m Bitleitungen die (verschlüsselten)
Daten mt zwischen einem ersten Bauelement
CPU und einem zweiten Bauelement AES übertragen. Die in 2 schematisch
dargestellten beiden Bauelemente können jedoch auch softwaremäßig realisiert
sein, beispielsweise als unterschiedliche Routinen, die in einem
Prozessor ablaufen.
-
Weiterhin
können
auch von dem zweiten Bauelement AES (verschlüsselte) Daten MT über den
zweiten Bus 204 mit m Bitleitungen übertragen werden.
-
Bezüglich der
Datenverarbeitung in jedem der beiden Bauelemente CPU oder AES lässt sich
die Funktionsweise dieser Verarbeitung wie folgt beschreiben. An
einem Eingang 206 des ersten Funktionsblocks (d.h. des
ersten Bauelementes) CPU werden die verschlüsselten Daten eines Datenstroms
empfangen und (beispielsweise durch eine Exklusiv- ODER -Verknüpfung oder ähnliches)
mit einem Entschlüsselungsschlüssel TM entschlüsselt.
Dieser Entschlüsselungsschlüssel TM kann dabei von einem One-Time-Pad-Generator OTPG
erzeugt werden, kann jedoch beispielsweise auch aus einer Look-Up-Tabelle
entnommen werden. Dieser Entschlüsselungsschlüssel TM entspricht dabei einem Verschlüsselungsschlüssel TM, der zum Verschlüsseln des Eingangsdatenstromes
auf dem Bus 204 von der Funktionseinheit AES verwendet
wird. Im vorliegenden Fall sind Verschlüsselungsschlüssel TM und Entschlüsselungsschlüssel TM identisch. Als Resultat der Verknüpfung der
verschlüsselten
Eingangsdaten mit dem Entschlüsselungsschlüssel im
Entschlüsseler 208 werden
Klartextdaten M Ausgegeben und zwischengespeichert. Für die weitere
Verarbeitung in der Funktionseinheit CPU, welche dann maskiert oder
verschlüsselt
stattfinden soll, wird eine Verschlüsselung in einem Verschlüssler 210 mit
einem T-Key durchgeführt,
so dass während
der eigentlichen Datenbe- oder -verarbeitung die Daten nur verschlüsselt/maskiert
in der Funktionseinheit CPU verwendet werden. Anschließend werden
in einem Entschlüsseler 212 die
ver- oder bearbeiteten Daten wieder mit einem entsprechenden T-Key
entschlüsselt
und in einer weiterfolgenden Stufe (Verschlüssler 214) mit einem
weiteren Verschlüsselungsschlüssel tm verschlüsselt,
um bei einer Übertragung
zum zweiten Funktionsblock AES über
den ersten Bus 202 wieder in verschlüsselter Form übertragen
werden zu können.
Der weitere Verschlüsselungsschlüssel tm kann dabei wiederum ein One-Time-Pad sei.
-
Die
Verarbeitung im zweiten Funktionsblock RES erfolgt nun analog, d.
h. es erfolgt wiederum eine Entschlüsselung mit einem entsprechenden
Entschlüsselungsschlüssel tm, der beispielsweise auch durch einen One-Time-Pad-Generator
OTPG der weiteren Datenverschlüsselungsvorrichtung
generiert wird, wodurch ein Klartext m resultiert, der zwischengespeichert
wird. Hieraus folgt wiederum ein Verschlüsseln des Klartextes m beziehungsweise
der gespeicherten Version des Klartextes m unter Verwendung eines
T-Keys, um die eigentlichen Rechenschritte im Funktionsblock AES
unter Verwendung der verschlüsselten
Daten durchzuführen.
Hieran anschließend
erfolgt wiederum ein Entschlüsseln
eines durch die Funktionseinheit AES berechneten Wertes, wobei dieser
entschlüsselte
Wert wiederum unter Verwendung des von dem One-Time-Pad-Generators
OTPG bereitgestellten Schlüssels
TM erfolgt, wodurch sich der verschlüsselte Datenstrom
MT ergibt, der über den zweiten Bus 204 zur
ersten Funktionseinheit CPU übertragen
wird. Das Gesamtschaltbild ist in 2 dargestellt,
wobei dieses Bild eine Kombination von verschlüsselter Datenübertragung
mit verschlüsseltem
Rechnen zeigt.
-
Die
in 2 dargestellte Realisierung zeigt jedoch mehrere
Probleme. Erstens ist anzumerken, dass das größte Problem darin besteht,
dass ein Klartextanteil m und M in einem solchen Design durch die
Partitionierung der Busleitungen, insbesondere unter Verwendung
der Designvorschrift „Registered
out", entsteht. Für eine solche
Partitionierung wird insbesondere ein X-Bus-Scramble XBS verwendet.
Für eine
solche Buserstellung versuchen alle automatischen Tools zur Layouterstellung
auftretende Gatter timingneutral bevorzugt in der Mitte einer Busleitung
zu platzieren. Hierdurch ist jedoch ein relativ großer Teil
der Leitung in einer Busleitung von außen (beispielsweise durch einen
Tastkopf) abgreifbar, was insbesondere bei der Übertragung von Klartext auf
eine solche Busleitung in Zusammenhang mit einer verschlüsselten Übertragung
und einem verschlüsselten
Rechnen ungünstig
ist, da eine solche „Klartextleitung" als schwächstes Glied
in einer sicherheitsrelevanten Datenübertragung angesehen werden
muss. Nur durch aufwendiges Handlayout kann der Klartextanteil der
Busleitungen so gering wie möglich
gehalten werden.
-
Weiterhin
muss für
das verschlüsselte/maskierte
Rechnen ein temporärer
Schlüssel
(T-Key) generiert werden, was jedoch nur durch zusätzliche
Hardware bzw. durch numerisch aufwändiges zusätzliche Rechnen erreicht werden
kann.
-
Drittens
ist auch noch anzumerken, dass ein Wechsel des T-Keys nur nach „leergelaufener Pipeline" möglich ist,
d. h. dass es die Verwendung eines T-Keys auf einen oder mehrere
Datenblöcke
beim Berechnen in der ersten Funktionseinheit CPU oder der zweiten
Funktionseinheit AES erfordert, den Schlüssel bis zur vollständigen Abarbeitung
der entsprechenden Operationen auf dem jeweiligen Datenblock angewandt
wird.
-
Die
DE 10201444 A1 beschreibt
ein Rechenwerk und ein Verfahren zum Kombinieren eines ersten Operanden
mit einem zweiten Operanden, denen die Überlegung zugrunde liegt, dass
ein 1-Bit-Volladdierer, der
das Kernstück
eines Bit-Slicer eines Rechenwerks darstellt, nicht nur Addierfunktionen
ausführen
sollte, sondern Multifunktionsfähigkeiten
besitzen sollte, weshalb dort vorgeschlagen wird, dass ein 1-Bit-Volladdierer so
konstruiert ist, dass er neben seiner originären Addiererfunktion auch zumindest
die üblichen
logischen Grundfunktionen ausführt,
ohne dass Änderungen
im Addierer selbst bzw. Hinzufügungen
im Addierer selbst notwendig sind. Erzielt wird dies dadurch, dass
von bekannten Addierer-Gleichungen für das Summenbit und den Übertrag
weggegangen wird und stattdessen modifizierte Addierergleichungen
verwendet werden. Es bestehe ein Vorteil darin, dass die Vorgehensweise
ohne Weiteres für
verschlüsselte
Operanden geeignet sei. Dabei werden keine Klartextdaten erzeugt.
-
Die
US 2004/0136530 A1 beschreibt eine arithmetische Einheit, die verschlüsselte Eingangsdaten maskiert
verarbeitet und die Ausgabedaten unter Verwendung eines neu zugeführten Verschlüsselungsschlüssels verschlüsselt erzeugt.
-
Die
EP 1283458 A2 beschreibt
einen angriffssicheren Mikroprozessor mit schneller Kontextumschaltung,
bei dem intern ein temporärer
Schlüssel
erzeugt wird, um verschlüsselte
Daten weiter zu verarbeiten.
-
Es
ist die Aufgabe der vorliegenden Erfindung, einen Ansatz bereitzustellen,
der gegenüber
dem Stand der Technik deutlich sicherer und zugleich noch einfacher
umsetzbar ist.
-
Diese
Aufgabe wird durch eine Busverschlüsselungsvorrichtung gemäß Anspruch
1, ein Busverschlüsselungssystem
gemäß Anspruch
10, ein Verfahren gemäß Anspruch
11 sowie ein Computerprogramm gemäß Anspruch 12 gelöst.
-
Der
vorliegenden Erfindung liegt die Erkenntnis zugrunde, dass zur Vermeidung
eines freiliegenden Klartextanteils ein mit einem Verschlüsselungsschlüssel verschlüsselter
Eingangsdatenstrom nicht zunächst mit
einem dem Verschlüsselungsschlüssel entsprechenden
Entschlüsselungsschlüssel entschlüsselt wird, sondern
beispielsweise die Daten des verschlüssel ten Eingangsdatenstroms
und der Verschlüsselungsschlüssel in
zwei Verarbeitungszweigen (vorzugsweise parallel) verarbeitet werden.
Erst bei einer erneuten Übertragung
werden die Daten aus den beiden Verarbeitungszweigen miteinander
kombiniert, wobei zugleich beispielsweise ein weiterer Verschlüsselungsschlüssel berücksichtigt
wird, um die kombinierten Daten verschlüsselt an eine weitere Datenverarbeitungseinrichtung übertragen
zu können.
Dies bedeutet, dass nunmehr das Entschlüsseln der Daten des verschlüsselten
Eingangsdatenstroms entfällt,
wodurch einerseits kein Klartextanteil entsteht und andererseits
keine aufwendige Umverschlüsselung
unter Verwendung des T-Keys erforderlich ist. Zugleich kann aber
der Klartextanteil, soweit benötigt,
auch aus den entsprechenden Daten in den jeweiligen Verarbeitungszweigen
durch Kombination (beispielsweise durch Exklusiv-ODER-Verknüpfung) gewonnen
werden.
-
Die
vorliegenden Erfindung bietet den Vorteil, dass nicht mehr zwischen
einer Verschlüsselung
während
der Übertragung
und einer Verschlüsselung/Maskierung
während
der Be- bzw. Verarbeitung gewechselt werden muss. Dies bietet als
weitere Vorteile, dass keine Umverschlüsselung zwischen dem Empfang
und dem Rechenwerk zu erfolgen braucht und somit kein Klartext auf
irgendeiner Leitung entsteht, wodurch ferner auch kein aufwendiges
Handlayout für
ein solches Schaltungs- bzw. Chipdesign notwendig ist. Ferner bietet sich
der Vorteil, dass der erfindungsgemäße Ansatz lediglich einen minimierten
Hardwareaufwand durch den Entfall der T-Key-Verschlüsselung
erfordert. Ferner kann auch vorteilhaft jede gestartete Operation
zur maskierten Berechnung einen eigenen Schlüssel bekommen, der unabhängig vom
Pipelinezustand in einem Rechenwerk ist.
-
Ein
exemplarisches Ausführungsbeispiel
wird nachfolgend anhand der beiliegenden Zeichnungen näher erläutert. Es
zeigen:
-
1 ein
Blockschaltbild eines Ausführungsbeispiels
der vorliegenden Erfindung; und
-
2 ein
Blockschaltbild eines herkömmlichen
Ansatzes zur Kombination von verschlüsselten Datenübertragung
mit verschlüsseltem
Rechnen.
-
In
der nachfolgenden Beschreibung werden gleiche oder ähnliche
Elemente mit gleichen oder ähnlichen
Bezugszeichen versehen, wobei auf eine wiederholte Beschreibung
dieser Elemente verzichtet wird.
-
Die 1 zeigt
ein Blockschaltbild eines Ausführungsbeispiels
der vorliegenden Erfindung. Hierbei umfasst eine erste Datenverschlüsselungsvorrichtung
CPU eine Datenbereitstellungseinrichtung 102 zum Empfangen
eines mit einem Verschlüsselungsschlüssel TM verschlüsselten
Eingangsdatenstroms MT. Diese Datenbereitstellungseinrichtung 102 kann
beispielsweise ein Speicher oder auch ein Eingang der ersten Datenverschlüsselungsvorrichtung
CPU sein. Ferner umfasst die erste Datenverschlüsselungsvorrichtung eine Schlüsselbereitstellungseinheit 104 zum
Bereitstellen eines dem Verschlüsselungsschlüssel TM entsprechenden Entschlüsselungsschlüssel TM. Die Schlüsselbereitstellungseinheit 104 kann
dabei, wie in 1 dargestellt, ein One-Time-Pad-Generator
OTPG sein, sie kann jedoch auch ein Speicher sein, in dem ein entsprechender
symmetrischer oder asymmetrischer Entschlüsselungsschlüssel gespeichert
ist (beispielsweise als Look-Up-Tabelle).
-
Ferner
umfasst die erste Datenverschlüsselungsvorrichtung
eine erste Zweigbearbeitungseinheit
106 die ausgebildet
ist, um eine erste Operation
108 auf die Daten des verschlüsselten
Eingangsdatenstromes M
T anzuwenden, um erste
Zweigdaten m
r zu erhalten. In
1 ist
die erste Zweigbearbeitungseinheit
106 nicht expliziert
dargestellt sondern wird lediglich durch die Wirkung der ersten
Operation
108, d. h. durch den gestrichelt dargestellten
Pfeil mit dem Bezugszeichen
108 gekenn zeichnet. Die erste
Operation kann dabei eine AND, OR, XOR, NAND, NOR, NAND oder eine
Kombination dieser Operationen sein (entsprechend der
EP 1472587 B1 ). Analog umfasst
die erste Datenverschlüsselungsvorrichtung
CPU auch eine zweite Zweigdatenbearbeitungseinheit
110,
die ausgebildet ist, um eine zweite Operation
112 auf den
Entschlüsselungsschlüssel T
M anzuwenden, um zweite Zweigdaten r
m zu erhalten. Die zweite Operation kann
dabei eine AND, OR, XOR, NAND, NOR, NAND oder eine Kombination dieser
Operationen sein (entsprechend der
EP 1472587 B1 ). Hierbei ist wiederum die
zweite Zweigdatenverarbeitungseinheit
110 nicht expliziert
dargestellt sondern lediglich durch die Wirkung der zweiten Operation
112 (d.
h. durch den gestrichelt dargestellten Pfeil) angedeutet. Die erste
oder zweite Operation kann auch aufeinanderfolgende Bits verarbeiten
bzw. kombinieren um entsprechenden erste oder zweite Zweigdaten
zu erhalten.
-
Die
ersten oder zweite Zweigdatenbearbeitungseinheit 110, 110' kann dabei
ausgebildet sein, um eine oder eine Mehrzahl von mathematischen
Unteroperationen auszuführen,
die durch folgende Geheimtext-Rechenvorschriften gegeben sind:
- – für eine AND-Operation:
- – für eine OR-Operation:
- – für eine NAND-Operation:
- – für eine NOR-Operation:
- – für eine XOR-Operation:
- – für eine XNOR-Operation:
- – für eine Volladdiererfunktion
mit folgendem Summenbit: oder
- – für eine Volladdiererfunktion
mit Übertragbit:
CARRY:
r(k)← wobei a(i) der
mit dem ersten Verschlüsselungsparameter
verschlüsselte
erste Operand ist, wobei b(j) der mit dem
zweiten Verschlüsselungsparameter
verschlüsselte
zweite Operand ist, wobei i der erste Verschlüsselungsparameter ist, wobei
j der zweite Verschlüsselungsparameter
ist, wobei k der dritte Verschlüsselungsparameter
ist, wobei der dritte Verschlüsselungsparameter
gleich der XOR-Verknüpfung
des ersten und des zweiten Verschlüsselungsparameters ist, wobei
r(k) mit dem dritten Verschlüsselungsparameter verschlüsselte Ergebnis
der Operation ist, und wobei cin (k) ein mit dem dritten Verschlüsselungsparameter verschlüsselter Übertrag-Eingang
ist. Hieraus wird ersichtlich, dass die Verknüpfung der i und j als beispielsweise
zwei aufeinanderfolgende One-Time-Pads des One-Time-Pad-Generators 104 durch
eine XOR-Verknüpfung
(zweite Operation 112) verknüpft werden, wogegen die beiden
Eingangsdaten a(i) und b(j) nicht
durch eine alleinige XOR-Verknüpfung (erste
Operation 108), sondern beispielsweise durch eine oben
genannte AND- oder eine SUM-Verknüpfung verknüpft werden. Hierbei ist jedoch
anzumerken, dass für
die Operationen AND, OR, NAND, NOR, SUM und CARRY der erste oder
zweite Verschlüsselungsparameter
i und j in der Berechnungsvorschrift zu verwenden sind, wodurch
in einem solchen Fall ein Datenaustausch zwischen den Rechenwerken
erfolgen sollte, die die erste und zweite Operationen 112, 108 ausführen.
-
Schließlich umfasst
die erste Datenverschlüsselungsvorrichtung
CPU einen Verschlüsseler 114,
der ausgebildet ist, um einen verschlüsselten Ausgabedatenstrom mt aus den ersten Zweigdaten mr und
den zweiten Zweigdaten rm unter Verwendung
eines Ausgabeverschlüsselungsschlüssels tm zu erstellen. Hierbei kann der Verschlüsseler 114 ausgebildet
sein, um eine Exklusiv-ODER-Verknüpfung der entsprechenden Daten durchzuführen, um
den verschlüsselten
Ausgabedatenstrom mt zu erhalten.
-
Hierbei
ist anzumerken, dass das durch den One-Time-Pad-Generator OTPG erzeugte One-Time-Pad ein
temporärer
Schlüssel
ist, der vorzugsweise synchron zu der maskierten Verarbeitung der
verschlüsselten Eingangsdaten
in der ersten Zweigverarbeitungseinheit verarbeitet wird. Dies bedeutet,
dass vorzugsweise zu jedem Eingangsdatum ein One-Time-Pad-"Datum" zugeordnet ist,
derart, dass eine Entschlüsselung
der maskiert verarbeiteten Eingangsdaten möglich wäre. M den erfindungsgemäßen Vorteil
jedoch nutzen zu können, wird
keine Entschlüsselung
der verschlüsselten
Eingangsdaten durchgeführt,
so dass vorzugsweise keine Klartext-Daten in dem System offen liegen
(außer
natürlich
bei einer direkten Ausgabe der Klartext-Daten zu einem autorisierten
Benutzer).
-
Einen
analogen Aufbau kann auch die zweite Datenverschlüsselungsvorrichtung
AES haben, wie sie im rechten Teil der 1 dargestellt
ist. Hierbei sind die entsprechenden Elemente durch entsprechende
Bezugszeichen unter Hinzufügung
eines Apostrophs gekennzeichnet worden.
-
Sollen
nun in der ersten Datenverschlüsselungsvorrichtung
CPU Daten bearbeitet werden, die in verschlüsselter Form von der zweiten
Datenverschlüsselungsvorrichtung
AES ausgegeben werden, so kann zunächst der verschlüsselte Eingangsdatenstrom
MT über
den zweiten Bus 204 empfangen und in die Datenbereitstellungseinrichtung 102 eingespeichert
werden. Hierbei ist anzumerken, dass ein entsprechender Entschlüsselungsschlüssel TM bekannt sein sollte, der dann durch die
Schlüsselbereitstellungseinheit 104 bereitgestellt
(und beispielsweise in einem Speicher gespeichert) wird. Hierbei
ist anzumerken, dass der empfangene Datenstrom auch durch eine Stromchiffre
codiert sein kann, wobei dann eine zur Entschlüsselung erforderliche Stromchiffre
auch durch die Schlüsselbereitstellungseinheit
geliefert werden kann.
-
Entgegen
den bekannten Ansätzen
wird nunmehr jedoch keine Entschlüsselung der bereitgestellten Daten
durchgeführt
(wodurch ein Klartext resultieren würde), sondern es wird vielmehr
eine parallele Verarbeitung sowohl der bereitgestellten Daten des
verschlüsselten
Eingangsdatenstroms als auch des Entschlüsselungsschlüssel durchgeführt. Dies
erfolgt einerseits in der ersten Zweigbearbeitungseinheit 106,
in der auf die Daten des verschlüsselten
Eingangsstromes die erste Operation 108 angewendet wird.
Entsprechend wird in der zweiten Datenbearbeitungseinheit 110 die
zweite Operation 112 auf den Entschlüsselungsschlüssel TM angewendet. Hierbei kann die erste oder
zweite Operation 108 bzw. 112 auch eine Mehrzahl
von Teiloperationen umfassen, so dass unter dem Anwenden der ersten
oder zweiten Operation 108, 112 auch das Ausführen von Rechenschritten
eines Algorithmus auf die jeweiligen Daten verstanden werden kann.
Vorzugsweise sollten sich jedoch die erste und zweite Operation
entsprechen, so dass beispielsweise die gleichen Rechenschritte sowohl
auf die Daten des verschlüsselten
Eingangsdatenstromes und den Verschlüsselungsschlüssel angewendet
werden, damit eine parallele (insbesondere eine voneinander unabhängige getrennte) Bearbeitung
der jeweiligen Daten durchgeführt
werden kann, um entsprechende Zweigdaten zu erhalten.
-
Liegen
dann die ersten Zweigdaten mr und die zweiten
Zweigdaten rm vor, können diese Zweigdaten in dem
Verschlüssler 114 unter
Verwendung eines Ausgabeverschlüsselungsschlüssel tm zu einem verschlüsselten Ausgabedatenstrom mt verschlüsselt
werden. Hierbei tritt nun die besondere Wirkung des erfindungsgemäßen Ansatzes
hervor, indem nunmehr nicht ein Klartext m erstellt zu werden braucht
(der beispielsweise durch eine entsprechende Verknüpfung der
zweiten Zweigdaten rm mit den ersten Zweigdaten
mr resultieren würde), sondern dass nunmehr
zugleich auch der Ausgabeverschlüsselungsschlüssel tm berücksichtigt
wird und somit gleich der verschlüsselte Ausgabedatenstrom ohne
die Berechnung von Klartextdaten m ermittelt werden kann.
-
Hierbei
ist anzumerken, dass auch der Ausgabeverschlüsselungsschlüssel tm ein One-Time-Pad sein kann, der beispielsweise
auch von der Schlüsselbereitstellungseinheit 104 generiert
werden kann. Ferner muss auch der Ausgabeverschlüsselungsschlüssel tm nicht dem Entschlüsselungsschlüssel Tm entsprechen sondern kann neben einer Datensequenz
(z.B. eine Bitsequenz) einer vorbestimmten Länge auch eine Stromchiffre
unter Verwendung eines rückgekoppelten
Schieberegisters mit einer vorbestimmten Initialwertsetzung sein.
Gleiches gilt auch für
das Bereitstellen des Verschlüsselungsschlüssels TM, der ebenfalls ein Codewort einer vorbestimmten
Bitlänge
oder eine Stromchiffre aus einem rückgekoppelten Schieberegister
mit vorbestimmter Initialwertsetzung taktsynchron sein kann, wobei
dies lediglich zwei Möglichkeiten
ohne Beschränkung
der Allgemeinheit für
die Schlüsselbereitstellungseinheit
sind.
-
Ferner
sind darum vorzugsweise die erste und zweite Operation 108 und 112 derart
auf die Daten des verschlüsselten
Eingangsdatenstromes bzw. den Entschlüsselungsschlüssel anzuwenden,
dass sich bei Kombination der ersten Zweigdaten mr mit den
zweiten Zweigdaten rm ein Klartext ergeben
würde,
der sich auch bei Anwendung einer vorbestimmten dritten Operation
auf einen Klartext M ergeben würde,
wobei sich der Klartext M aus einer Kombination des Entschlüsselungsschlüssels TM auf die Daten des (verschlüsselten)
Eingangsdatenstromes MT ergeben würde. Hieraus
resultiert, dass die erste Operation 108 und die zweite
Operation 112 derart auszulegen sind, dass sie parallel
ausführbare
Teiloperationen der dritten Operation sind, die dem maskierten Rechnen
innerhalb der Datenverschlüsselungsvorrichtung
bei direkter Klartexterzeugung M ergeben würde.
-
Die
Ausführung
des Verschlüsselers 114 kann
jedoch auch alternativ zu einer EXOR-Verknüpfung erfolgen, beispielsweise
durch ein symmetrisches oder asymmetrisches Verschlüsseln, wobei
dann der Ausgabeverschlüsselungsschlüssel tm ein symmetrischer Schlüssel wäre beziehungsweise ein öffentlicher
(bzw. privater) Schlüssel
ist, je nach dem, ob öffentlich
signiert und privat verifiziert oder privat signiert und öffentlich verifiziert
werden soll.
-
Auf
analoge Weise können
die von der ersten Datenverschlüsselungsvorrichtung
CPU über
den ersten Bus 202 ausgegebenen Daten in einer zweiten
Datenverschlüsselungsvorrichtung
AES empfangen und in einem Datenbereitstellungsspeicher 102' gespeichert
werden. Entsprechend bilden somit die Daten des verschlüsselten
Ausgabedatenstroms mt der ersten Datenverschlüsselungsvorrichtung
CPU die Daten des verschlüsselten
Eingangsdatenstroms der zweiten Datenverschlüsselungsvorrichtung AES. Analog
umfasst die zweite Datenverschlüsselungsvorrichtung
AES wiederum eine Schlüsselbereitstellungseinheit 104' zum Bereitstellen
eine dem Verschlüsselungsschlüssel tm entsprechenden Entschlüsselungsschlüssels tm, wobei die Schlüsselbereitstellungseinheit 104' der zweiten
Datenverschlüsselungsvorrichtung
AES wiederum ein One-Time-Pad-Generator
OTPG sein kann. Analog zur ersten Datenverschlüsselungsvorrichtung CPU umfasst
auch die zweite Datenverschlüs selungsvorrichtung
AES eine erste Zweigverarbeitungseinheit 106', die ausgebildet ist, um eine
erste Operation 108' auf
die Daten des verschlüsselten
Eingangsdatenstromes mt anzuwenden, um erste
Zweigdaten MR zu erhalten. Ferner umfasst
auch die zweiten Datenverschlüsselungsvorrichtung
AES eine zweite Zweigdatenbearbeitungseinheit 110', die ausgebildet
ist, um eine zweite Operation 112' auf den Entschlüsselungsschlüssel tm anzuwenden, um zweite Zweigdaten RM erhalten. Letztlich umfasst die zweite
Datenverschlüsselungsvorrichtung
AES noch einen Verschlüssler 114', der ausgewählt ist,
um einen verschlüsselten
Ausgabedatenstrom MT aus den ersten Zweigdaten
MR und den zweiten Zweigdaten RM unter
Verwendung eines Ausgabeverschlüsselungsschlüssels TM zu erstellen. Der Ausgabeverschlüsselungsschlüssel TM der zweiten Datenverschlüsselungsvorrichtung
kann dabei wieder von einer Schlüsselbereitstellungseinheit 104' bereitgestellt
werden, und kann beispielsweise wiederum ein One-Time-Pad sein.
-
Hierbei
ist anzumerken, dass gemäß dem in 1 dargestellten
Ausführungsbeispiel
die Schlüsselbereitstellungseinheit 104 der
ersten Datenverschlüsselungsvorrichtung
und die Schlüsselbereitstellungseinheit 104' der zweiten
Datenverschlüsselungsvorrichtung
jeweils ein One-Time-Pad-Generator sein kann. In diesem Fall können die
One-Time-Pads zum Verschlüsseln
und Entschlüsseln
identisch sein, d. h. der Ausgabeverschlüsselungsschlüssel TM der zweiten Datenverschlüsselungsvorrichtung
kann gleich dem Entschlüsselungsschlüssel der
ersten Datenverschlüsselungsvorrichtung
CPU sein. Alternativ kann, wie oben ausgeführt, jedoch auch eine entsprechende
symmetrische oder asymmetrische Verschlüsselung verwendet werden. Analoges
gilt auch für
den Ausgabeverschlüsselungsschlüssel tm der ersten Datenverschlüsselungsvorrichtung sowie dem
Entschlüsselungsschlüssel tm der zweiten Datenverschlüsselungsvorrichtung
AES. Hierdurch ist es nun möglich,
die Verschlüsselung
auf der Basis von beispielsweise einer Initialwertersetzung eines Schieberegisters,
das als Schlüsselbereitstellungseinheit 104 bzw. 104' dient, durchzuführen wodurch
dann ein numerisch bzw. hardwaremäßig einfach zu realisierender
Verschlüsselungsalgorithmus
implementierbar ist. Hierbei ist ferner anzumerken, dass auch bei
der zweiten Datenverschlüsselungsvorrichtung
AES kein Klartext weder im Sendezweig (d. h. keine Kombination des
Entschlüsselungsschlüssels tm mit den Daten des verschlüsselten
Eingangsstroms mt erfolgt, um den Klartext
m zu erhalten) noch im Sendezweig auftritt, beispielsweise durch
die Verknüpfung
der ersten Zweigdaten MR mit den zweiten
Zweigdaten RM, um den Klartext M zu erhalten.
Dies bedeutet, dass wiederum die durch den Klartext entstehenden
Probleme vermieden werden und zusätzlich eine Umverschlüsselung
nicht notwendig ist.
-
Ferner
ist anzumerken, dass, insbesondere bei der Verwendung von linearen
ersten bzw. zweiten Operationen, eine Vereinfachung beim Pipelining
möglich
ist, da in diesem Fall eine zeitlich zueinander passende Bereitstellung
des Entschlüsselungsschlüssel bzw.
eines Teils (Segmente) eines Verschlüsselungsschlüssels zu
entsprechenden Daten des verschlüsselten
Eingangsdatenstroms jeweils der ersten bzw. zweiten Operation unterzogen
werden können,
ohne dass vorausgehende bzw. nachfolgende Operationsschritte das
Ergebnis verfälschen
bzw. eine Berechnung unter Verwendung von verschiedenen One-Time-Pads bzw. verschiedene
Entschlüsselungsschlüsseln ermöglicht.
-
Die
in dem in 1 dargestellten Blockschaltbild
gezeigten Einheiten „CPU" und „RES" stehen jedoch nur
stellvertretend für
eine Mehrzahl von verschiedenen Datenverarbeitungseinheiten. Diese
Datenverarbeitungseinheiten können
ein Mikroprozessor, ein Koprozessor, eine weitere CPU, ein Kryptographieprozessor (z.B.
für symmetrische
Algorithmen wie AES oder DES oder asymmetrische Algorithmen wie
RSA, Elliptische Kurven Kryptographie etc.) oder andere Rechenwerke
umfassen.
-
Auch
kann als weitere Verallgemeinerung das erfindungsgemäße Konzept
auch auf die Kommunikation zwischen mehreren Kommunikationspartnern
angewendet werden. Beispielsweise funktio niert das Konzept genauso
für mehr
als zwei Kommunikationspartner A, B, C (wenn z.B. in 1 der
Partner A die Einheit CPU und der Partner B die Einheit AES ist),
wobei dann A mit und weiterhin A mit C (beispielsweise einer weiteren
AES-Einheit) verbunden
sein kann, wobei dann die Einheit A der Master sein kann. Somit
ist die in 1 dargestellte Konfiguration
lediglich eine Form der Zusammenschaltung der einzelnen Einheiten,
wobei eine Zusammenschaltung mit mehreren Einheiten auch in Form
eines Bus-Systems ausgebildet sein kann, das Daten zwischen den
mehr als zwei angeschlossen Einheiten verschlüsselt transferiert.
-
Auch
kann ein Verschlüsselungsstrom
extern der in 1 dargestellten Datenverarbeitungseinheiten CPU
und AES generiert werden und dann zwei solchen Einheiten über eine
gemeinsame Signalleitung zugeführt
werden. Hierbei müsste
dann keine Synchronisation der One-Time-Pad-Generatoren erfolgen,
da bereits durch den synchronisierten Empfang des Schlüsselstromes
eine solche Synchronisation sichergestellt ist. Die maskierte Verarbeitung
verschlüsselten
Eingangsdaten wird durch eine solche externe Zuführung eines Schlüsselstromes,
aus dem ein Verschlüsselungsschlüssel und
ein entsprechender Entschlüsselungsschüssel generiert
wird, jedoch nicht beeinträchtigt.
-
Abhängig von
den Gegebenheiten kann das erfindungsgemäße Verfahren in Hardware oder
in Software implementiert werden. Die Implementierung kann auf einem
digitalen Speichermedium, insbesondere einer Diskette oder CD mit
elektronisch auslesbaren Steuersignalen erfolgen, die so mit einem
programmierbaren Computersystem zusammenwirken können, dass das entsprechende
Verfahren ausgeführt
wird. Allgemein besteht die Erfindung somit auch in einem Computerprogrammprodukt
mit einem auf einem maschinenlesbaren Träger gespeicherten Programmcode
zur Durchführung
des erfindungsgemäßen Verfahrens,
wenn das Computerprogrammprodukt auf einem Rechner abläuft. Mit
anderen Worten ausgedrückt,
kann die Erfindung somit als ein Computerprogramm mit einem Programmcode
zur Durchführung
des Verfahrens realisiert werden, wenn das Computerprogramm auf
einem Computer abläuft.
-
- 102,102'
- Datenbereitstellungseinrichtung
- 104,104'
- Schlüsselbereitstellungseinheit
- 106,106'
- erste
Zweigbearbeitungseinheit
- 108,108'
- erste
Operation
- 110,110'
- zweite
Zweigdatenbearbeitungseinheit
- 112,112'
- zweite
Operation
- 114,114'
- Verschlüssler
- 202
- erster
Bus
- 204
- zweiter
Bus
- 206
- Dateneingang
- 208
- Verknüpfungselement
- 210,212,214
- Verschlüssler bzw.
Entschlüssler
- TM, tm
- Verschlüsselungsschlüssel, Entschlüsselungsschlüssel bzw.
Ausgabeverschlüsselungsschlüssel
- MT,mt
- verschlüsselter
Eingangsdatenstrom, verschlüsselter
Ausgabedatenstrom
- mr,MR
- erste
Zweigdaten
- rm,RM
- zweite
Zweigdaten
- XBS
- X-Bus-Scrambling