PatentDe  


Dokumentenidentifikation DE102006006057B4 27.12.2007
Titel Datenverschlüsselungsvorrichtung und Verfahren zum Verschlüsseln von Daten
Anmelder Infineon Technologies AG, 81669 München, DE
Erfinder Gammel, Berndt, 85570 Markt Schwaben, DE;
Kniffler, Oliver, 81739 München, DE
Vertreter Schoppe, Zimmermann, Stöckeler & Zinkler, 82049 Pullach
DE-Anmeldedatum 09.02.2006
DE-Aktenzeichen 102006006057
Offenlegungstag 16.08.2007
Veröffentlichungstag der Patenterteilung 27.12.2007
Veröffentlichungstag im Patentblatt 27.12.2007
IPC-Hauptklasse H04L 9/14(2006.01)A, F, I, 20060209, B, H, DE

Beschreibung[de]

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üsselten 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 MT anzuwenden, um erste Zweigdaten mr 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 gekennzeichnet. 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 TM anzuwenden, um zweite Zweigdaten rm 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üsselungsvorrichtung 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 funktioniert 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


Anspruch[de]
Busverschlüsselungsvorrichtung (CPU, AES) eines ersten zweier Kommunikationspartner, mit folgenden Merkmalen:

einer Datenbereitstellungseinrichtung (102, 102') zum Bereitstellen eines mit einem Verschlüsselungsschlüssel (TM , tm) verschlüsselten Eingangsdatums (MT, mt) von einem zweiten der zwei Kommunikationspartner;

einer Datenverarbeitungseinheit (106, 106') zum maskierten Verarbeiten des verschlüsselten Eingangsdatums (MT, mt) unter Verwendung eines Entschlüsselungsschlüssels (TM, tm) als temporärem Schlüssel, um ein mit einem Ausgabeschlüssel (tm, TM) verschlüsseltes Ausgabedatum (mt, MT) für den zweiten Kommunikationspartner zu erhalten, derart, dass das verschlüsselte Ausgabedatum (mt, MT) einem mit dem Ausgabeschlüssel (tm, TM) verschlüsselten Ergebnis einer vorbestimmten Operation an dem mit dem Entschlüsselungsschlüssel (TM, tm) entschlüsselten verschlüsselten Eingangsdatum (MT, mt) entspricht; und

einer Schlüsselstromerzeugungseinheit (104, 104') zum Erzeugen eines Schlüsselstromes auf eine vorbestimmte deterministische Weise und Liefern des erzeugten Schlüsselstromes an die Datenverarbeitungseinheit (106, 106') oder einer Einrichtung zum Empfangen eines Schlüsselstromes synchronisiert zu dem zweiten Kommunikationspartner über eine gemeinsame Signalleitung und Liefern des empfangenen Schlüsselstromes an die Datenverarbeitungseinheit (106, 106'), wobei die Datenverarbeitungseinheit ausgebildet ist, um aus dem Schlüsselstrom den Entschlüsselungsschlüssel sowie den Ausgabeschlüssel zu erhalten.
Busverschlüsselungsvorrichtung (CPU, RES) gemäß Anspruch 1, bei der die Datenverarbeitungseinheit (106, 106') ausgebildet ist, derart, dass der Ausgabeschlüssel auf deterministische Weise aus dem Entschlüsselungsschlüssel (TM, tm) herleitbar ist. Busverschlüsselungsvorrichtung (CPU, AES) gemäß Anspruch 1 oder 2, bei der die Datenverarbeitungseinheit (106, 106') ausgebildet ist, um eine erste Operation (108, 108') auf die Daten des verschlüsselten Eingabedatums (Mt, mt) anzuwenden, um erste Zweigdaten (mr, MR) zu erhalten,

wobei die Datenverarbeitungsvorrichtung (CPU, AES) ferner eine Zweigdatenverarbeitungseinheit (110, 110') aufweist, die ausgebildet ist, um eine zweite Operation (112, 112') auf den Entschlüsselungsschlüssel (TM, tm) anzuwenden, um zweite Zweigdaten (rm, RM) zu erhalten

und

wobei die Datenverarbeitungsvorrichtung (CPU, AES) einen Verschlüssler (114, 114') aufweist, der ausgebildet ist, um einen verschlüsselten Ausgabedatenstrom (mt, MT) aus den ersten Zweigdaten (mr, MR) und den zweiten Zweigdaten (rm, RM) unter Verwendung eines Ausgabeschlüssels (tm, TM) zu erstellen.
Busverschlüsselungsvorrichtung (CPU, AES) gemäß einem der Ansprüche 1 bis 3, bei der die Schlüsselstromerzeugungseinheit (104, 104') einen Schlüsselgenerator zum Erzeugen des Entschlüsselungsschlüssels (TM, tm) umfasst. Busverschlüsselungsvorrichtung (CPU, AES) gemäß Anspruch 4, bei der der Schlüsselgenerator ein One-Time-Pad-Generator ist. Busverschlüsselungsvorrichtung (CPU, AES) gemäß einem der Ansprüche 3 bis 5, bei der die erste Zweigdatenbearbeitungseinheit (106, 106') und die zweite Zweigdatenbearbeitungseinheit (110, 110') ausgebildet sind, um als erste Operation (108) und als zweite Operation (112) Operationsschritte auszuführen, die Operationsschritten einer dritten Operation entsprechen, die angewendet würde, um aus ersten Klartextdaten (M) zweite Klartextdaten (m) zu erzeugen, wobei die ersten Klartextdaten (M) denjenigen Daten entsprechen würde, die aus einem Entschlüsseln der Daten (MT) des verschlüsselten Eingangsdatenstroms mit dem Entschlüsselungsschlüssel (TM) entsprechen und die zweiten Klartextdaten (m) eine Kombination der ersten Zweigdaten (mr) mit den zweiten Zweigdaten (rm) entsprechen würde. Busverschlüsselungsvorrichtung (CPU, AES) gemäß einem der Ansprüche 3 bis 6, wobei die erste Zweigdatenbearbeitungseinheit (106) und die zweite Zweigdatenbearbeitungseinheit (110) ausgebildet sind, um als erste Operation (108) und als zweite Operation (112) Operationsschritte mit gleicher Operationsvorschrift auszuführen. Busverschlüsselungsvorrichtung (CPU, AES) gemäß einem der vorhergehenden Ansprüche, die ferner folgendes Merkmal aufweist:

eine Zwischenergebnisbereitstellungseinheit, die ausgebildet ist, um als Zwischenergebnis einen Klartext (m) auszugeben, der aus einer Kombination einer Version der Daten des verschlüsselten Eingangsdatums und einer Version des Entschlüsselungsschlüssels resultiert.
Busverschlüsselungsvorrichtung (CPU, AES) gemäß einem der Ansprüche 3 bis 8, bei der die erste Zweigdatenbearbeitungseinheit (106) ausgebildet ist, um eine erste Teiloperation auf ein erstes Datensegment des verschlüsselten Eingangsdatenstroms anzuwenden und eine zweite Teiloperation auf ein zweites Datensegment der Daten des verschlüsselten Eingangsdatenstroms anzuwenden, und wobei den Daten des ersten Segments des verschlüsselten Eingangsdatenstroms ein erster Verschlüsselungsschlüssel zugewiesen ist und den Daten des zweiten Datensegments des verschlüsselten Eingangsdatenstroms ein zweiter Verschlüsselungsschlüssel zugewiesen ist. Busverschlüsselungssystem mit einem ersten und zweiten Kommunikationspartner, wobei der erste Kommunikationspartner eine Busverschlüsselungsvorrichtung gemäß einem der Ansprüche 1 bis 9 aufweist und der zweite Kommunikationspartner folgende Merkmale aufweist:

eine Datenbereitstellungseinrichtung (102, 102') zum Bereitstellen des mit dem Ausgabeschlüssel (tm) verschlüsselten Ausgabedatums (mt) der ersten Datenverarbeitungseinheit (CPU) als ein verschlüsseltes Eingangsdatum (MT, mt) von dem ersten Kommunikationspartner; und

eine Datenverarbeitungseinheit (106, 106') zum maskierten Verarbeiten des verschlüsselten Eingangsdatums (MT, mt) von dem ersten Kommunikationspartner unter Verwendung des Ausgabeschlüssels (TM, tm) des ersten Kommunikationspartners als temporärem Schlüssel, um ein mit dem Verschlüsselungsschlüssel (tm, TM) verschlüsseltes Ausgabedatum (mt, MT) als das verschlüsselte Eingangsdatum für den ersten Kommunikationspartner zu erhalten, derart, dass das mit dem Verschlüsselungsschlüssel (tm, TM) verschlüsselte Ausgabedatum (mt, MT) einem mit dem Verschlüsselungsschlüssel (tm, TM) verschlüsselten Ergebnis einer vorbestimmten Operation an dem mit dem Ausgabeschlüssel (TM , tm) entschlüsselten verschlüsselten Eingangsdatum (MT, mt) von dem ersten Kommunikationspartner entspricht; und

eine zu der Schlüsselstromerzeugungseinheit des ersten Kommunikationspartners synchronisierte Schlüsselstromerzeugungseinheit (104, 104') zum Erzeugen eines Schlüsselstromes auf die vorbestimmte deterministische Weise und Liefern des erzeugten Schlüsselstromes an die Datenverarbeitungseinheit (106, 106') oder eine Einrichtung zum Empfangen des Schlüsselstroms synchronisiert zum dem ersten Kommunikationspartners über eine gemeinsame Signalleitung.
Verfahren zur Durchführung einer Busverschlüsselung an einem ersten zweier Kommunikationspartner, mit folgenden Schritten:

Bereitstellen eines mit einem Verschlüsselungsschlüssel (TM, tm) verschlüsselten Eingangsdatums (MT, mt) von einem zweiten der zwei Kommunikationspartner;

Verarbeiten des verschlüsselten Eingangsdatums (MT, mt) unter Verwendung des Entschlüsselungsschlüssels (TM, tm) als temporärem Schlüssel, um ein mit einem Ausgabeschlüssel (tm, TM) verschlüsseltes Ausgabedatum (mt, MT) für den zweiten Kommunikationspartner zu erhalten, derart, dass das verschlüsselte Ausgabedatum (mt, MT) einem mit dem Ausgabeschlüssel (tm, TM) verschlüsselten Ergebnis einer vorbestimmten Operation an dem mit dem Entschlüsselungsschlüssel (TM, tm) entschlüsselten verschlüsselten Eingangsdatum (MT, mt) entspricht; und Erzeugen eines Schlüsselstromes auf eine vorbestimmte deterministische Weise und Liefern des erzeugten Schlüsselstromes an die Datenverarbeitungseinheit oder Empfangen eines Schlüsselstromes synchronisiert zu dem zweiten Kommunikationspartner über eine gemeinsame Signalleitung und Liefern des empfangenen Schlüsselstromes an die Datenverarbeitungseinheit (106, 106'), wobei die Datenverarbeitungseinheit ausgebildet ist, um aus dem Schlüsselstrom den Entschlüsselungsschlüssel sowie den Ausgabeschlüssel zu erhalten.
Computerprogramm mit Programmcode zur Durchführung des Verfahrens nach Anspruch 11, wenn das Computerprogramm auf einem Computer abläuft.






IPC
A Täglicher Lebensbedarf
B Arbeitsverfahren; Transportieren
C Chemie; Hüttenwesen
D Textilien; Papier
E Bauwesen; Erdbohren; Bergbau
F Maschinenbau; Beleuchtung; Heizung; Waffen; Sprengen
G Physik
H Elektrotechnik

Anmelder
Datum

Patentrecherche

Patent Zeichnungen (PDF)

Copyright © 2008 Patent-De Alle Rechte vorbehalten. eMail: info@patent-de.com