-
Stand der Technik
-
Die Erfindung betrifft eine Vorrichtung zur Ausführung eines kryptographischen Verfahrens, mit einer Kryptographieeinheit zur Ausführung mindestens eines Schrittes des kryptographischen Verfahrens.
-
Die Erfindung betrifft ferner ein Verfahren gemäß dem Oberbegriff des Patentanspruchs 10.
-
Derartige Vorrichtungen und Verfahren sind bereits bekannt, vergleiche beispielsweise
US 7,599,488 B2 .
-
Die bekannte Vorrichtung weist einen Mikroprozessorkern auf, dem ein Zufallszahlengenerator zugeordnet ist, um die Ausführung von kryptographischen Instruktionen auf dem Mikroprozessorkern zufallsabhängig zu manipulieren. Dadurch wird erreicht, dass kryptographische Angriffe auf den das kryptographische Verfahren ausführenden Mikroprozessorkern erschwert werden. Insbesondere werden sogenannte Differential Power Analysis(DPA)-Attacken erschwert, weil der zeitliche Zusammenhang zwischen einem regelmäßigen Taktsignal und der tatsächlichen Ausführung der einzelnen Schritte des kryptographischen Verfahrens durch den Mikroprozessorkern unter Verwendung der Zufallszahlen verschleiert wird.
-
Nachteilig an dem bekannten System ist die Tatsache, dass ein technisch nur aufwendig zu realisierender Zufallszahlgenerator erforderlich ist sowie eine komplexe Struktur der Peripherie des Mikroprozessorkerns, die in Abhängigkeit der Zufallszahlen das Taktsignal für den Mikroprozessor beeinflusst.
-
Offenbarung der Erfindung
-
Demgemäß ist es Aufgabe der vorliegenden Erfindung, eine Vorrichtung und ein Verfahren der eingangs genannten Art dahingehend zu verbessern, dass die Nachteile des Stands der Technik vermieden werden und gleichzeitig eine gesteigerte Sicherheit bei der Ausführung des kryptographischen Verfahrens, insbesondere gegen sogenannte Seitenkanalattacken beziehungsweise DPA-Attacken, erzielt wird.
-
Diese Aufgabe wird bei der Vorrichtung der eingangs genannten Art erfindungsgemäß dadurch gelöst, dass eine Funktionseinheit vorgesehen ist, die dazu ausgebildet ist, eine deterministische Funktion in Abhängigkeit von Eingangsdaten, die der Vorrichtung zuführbar sind, und in Abhängigkeit von mindestens einem geheimen Schlüssel auszuführen. Dies bedingt den Vorteil, dass DPA-Attacken auf die Vorrichtung erschwert werden, weil neben der eigentlich interessierenden kryptographischen Funktion, die in der Kryptographieeinheit ausgeführt wird, zusätzlich auch die deterministische Funktion in der Funktionseinheit ausgeführt wird, so dass sich elektromagnetische Abstrahlungen, Energiesignaturen und sonstige im Rahmen einer DPA-Attacke auswertbare Merkmale der Vorrichtung stets aus Komponenten beider Einheiten (Kryptographieeinheit, Funktionseinheit) zusammensetzen bzw. von diesen herrühren. Dadurch ist eine präzise Analyse der Kryptographieeinheit erschwert.
-
Beispielsweise hängt für zwei verschiedene Eingangsdatensätze, z. B. jeweils Bitfolgen mit einer Länge von 128 bit, eine elektrische Leistungsaufnahme der erfindungsgemäßen Vorrichtung von den Eingangsdatensätzen und dem geheimen Schlüssel ab. Bei geeigneter Länge des geheimen Schlüssels von z. B. ebenfalls 128 bit oder mehr kann auf diese Weise eine DPA-Attacke derart erschwert werden, dass sie mit derzeit verfügbarer Rechenleistung nicht erfolgreich ausführbar ist.
-
Ein weiterer Vorteil der Erfindung besteht darin, dass auf komplexe Zufallsgeneratoren und dergleichen verzichtet werden kann, weil die erfindungsgemäße Funktionseinheit eine deterministische Funktion und mindestens einen geheimen Schlüssel hierfür verwendet.
-
Bei einer vorteilhaften Ausführungsform ist vorgesehen, dass die Kryptographieeinheit und die Funktionseinheit jeweils als integrierte Schaltung implementiert sind, vorzugsweise in demselben integrierten Schaltkreis (IC), so dass die vorteilhaft erreichte Verschleierung der elektromagnetischen Abstrahlungen, Energiesignaturen, usw. der Kryptographieeinheit in besonders hohem Maße erreicht wird. Durch geeignete Wahl des Schaltkreislayouts lassen sich weitere Verbesserungen diesbezüglich erzielen, beispielsweise indem einzelne Funktionskomponenten der Funktionseinheit räumlich in Komponentenbereiche der Kryptographieeinheit integriert werden und umgekehrt.
-
Bei einer weiteren vorteilhaften Ausführungsform ist vorgesehen, dass die Kryptographieeinheit und die Funktionseinheit einen gemeinsamen Anschluss für eine elektrische Energieversorgung aufweisen, also von derselben Energiequelle gespeist werden können. Dadurch überlagern sich die Energie(aufnahme)-Signaturen beider Einheiten miteinander, was DPA-Attacken weiter erschwert.
-
Zur Realisierung der vorstehend genannten Vorteile ist es nicht erforderlich, dass Rechenergebnisse oder sonstige durch die Funktionseinheit verarbeitete Größen funktional in der Kryptographieeinheit verwendet werden. Vielmehr reicht bereits ein „Parallelbetrieb”, bei dem also beide Einheiten (Kryptographieeinheit, Funktionseinheit) – auch unabhängig voneinander und wenigstens zeitweise einander zeitlich überlappend – arbeiten, aus, um die mittels DPA-Attacken auswertbaren Merkmale der Kryptographieeinheit zu verschleiern.
-
Bei einer weiteren vorteilhaften Ausführungsform ist vorgesehen, dass die Funktionseinheit dazu ausgebildet ist, ein Ausgangssignal in Abhängigkeit von den Eingangsdaten und mindestens eines Teils des mindestens einen geheimen Schlüssels zu bilden, und dass die Kryptographieeinheit dazu ausgebildet ist, das kryptographische Verfahren bzw. den mindestens eines Schritt in Abhängigkeit des Ausgangssignals der Funktionseinheit auszuführen. Im Gegensatz zu den vorstehenden Ausführungsformen werden bei der vorliegenden Erfindungsvariante mithin während des Betriebs der Kryptographieeinheit Daten verwendet, die die Funktionseinheit liefert, nämlich deren Ausgangssignal. Dadurch wird eine weiter gesteigerte Sicherheit gegen DPA-Attacken erzielt.
-
Gleichzeitig ist vorteilhaft sichergestellt, dass sogar ein Angreifer, dem sowohl die Eingangsdaten für die Vorrichtung als auch hierdurch verschlüsselte Ausgangsdaten (z. B. AES-verschlüsselt) bekannt sind, keine erfolgreiche DPA-Attacke ausführen kann, weil das physikalische Verhalten der Kryptographieeinheit, z. B. ihre elektrische Energieaufnahme usw., durch den geheimen Schlüssel in einer dem Angreifer nicht bekannten Weise modifiziert wird. Solange also der geheime Schlüssel, den die erfindungsgemäße Funktionseinheit verwendet, dem Angreifer nicht bekannt ist, ist durch die erfindungsgemäße Vorrichtung eine DPA-Attacke auf die Kryptographieeinheit erschwert bzw. bei der heute verfügbaren Rechenleistung von Computern sogar unmöglich gemacht. Bevorzugt wird der geheime Schlüssel intern in der Funktionseinheit gespeichert, z. B. in Form eines read only memory (ROM) oder dergleichen.
-
Besonders bevorzugt ändert die Verwendung der erfindungsgemäßen Funktionseinheit und ihres Ausgangssignals nichts an den Eingangsdaten (plaintext) und den Ausgangsdaten (ciphertext), also z. B. den durch die Kryptographieeinheit der erfindungsgemäßen Vorrichtung verschlüsselten Eingangsdaten. Daher kann jede erfindungsgemäße Vorrichtung bzw. ihre darin integrierte Funktionseinheit einen anderen geheimen Schlüssel aufweisen, was die Sicherheit weiter steigert. Die Verwendung der erfindungsgemäßen Funktionseinheit ändert mithin vorteilhaft das physikalische Verhalten der Vorrichtung, also z. B. ihre Energiesignatur, elektromagnetische Abstrahlungen usw., nicht jedoch ihr funktionales Verhalten bezüglich der Ausführung von kryptographischen Verfahren durch die Kryptographieeinheit.
-
Bei einer weiteren vorteilhaften Ausführungsform ist vorgesehen, dass die Funktionseinheit dazu ausgebildet ist, das Ausgangssignal mittels einer Hash-Funktion zu bilden.
-
Bei einer weiteren vorteilhaften Ausführungsform ist vorgesehen, dass die Funktionseinheit dazu ausgebildet ist:
- 1. die Eingangsdaten und den Schlüssel einer XOR-Operation zu unterziehen, um erste veroderte Daten zu erhalten,
- 2. die veroderten Daten in mehrere Teilblöcke aufzuteilen,
- 3. mehrere Teilblöcke untereinander einer XOR-Operation zu unterziehen, insbesondere mehrstufig, um zweite veroderte Daten zu erhalten,
- 4. die ersten und/oder zweiten veroderten Daten einer nichtlinearen Substitutionsoperation zu unterziehen, um das Ausgangssignal zu erhalten, und ggf.
- 5. das Ausgangssignal in zwei zueinander inverse Schieberegister zu schreiben.
-
Bei einer weiteren vorteilhaften Ausführungsform ist vorgesehen, dass die Kryptographieeinheit dazu ausgebildet ist, mindestens ein Speicherregister in Abhängigkeit des Ausgangssignals vorzuladen und/oder zu maskieren.
-
Bei einer weiteren vorteilhaften Ausführungsform ist vorgesehen, dass die Funktionseinheit eine Einheit zur Ausführung einer nichtlinearen Substitutionsoperation aufweist. Bei der nichtlinearen Substitutionsoperation kann es sich beispielsweise um das SBOX-Verfahren des Advanced Encryption Standard (AES) handeln oder um ein vergleichbares Verfahren.
-
Bei einer weiteren vorteilhaften Ausführungsform ist vorgesehen, dass die Kryptographieeinheit dazu ausgebildet ist, die Eingangsdaten zu verschlüsseln und/oder zu entschlüsseln, insbesondere nach dem Advanced Encryption Standard, AES. Es ist ferner möglich, dass die Kryptographieeinheit nur einen einzelnen oder mehrere Teilschritte eines kryptographischen Verfahrens ausführt.
-
Als eine weitere Lösung der Aufgabe der vorliegenden Erfindung ist ein Verfahren gemäß Patentanspruch 10 angegeben. Weitere vorteilhafte Ausführungsformen sind Gegenstand der Unteransprüche.
-
Nachfolgend werden beispielhafte Ausführungsformen der Erfindung unter Bezugnahme auf die Zeichnung erläutert. In der Zeichnung zeigt:
-
1 schematisch ein Blockdiagramm einer Ausführungsform einer erfindungsgemäßen Vorrichtung,
-
2 schematisch eine weitere Ausführungsform der erfindungsgemäßen Vorrichtung,
-
3 schematisch eine weitere Ausführungsform der erfindungsgemäßen Vorrichtung,
-
4 schematisch ein vereinfachtes Blockdiagramm einer erfindungsgemäßen Funktionseinheit,
-
5 schematisch ein vereinfachtes Blockdiagramm eines Speicherregisters zur Verwendung mit der erfindungsgemäßen Funktionseinheit gemäß 4,
-
6 schematisch einen Aspekt einer Implementierung einer erfindungsgemäßen Funktionseinheit, und
-
7 ein vereinfachtes Flussdiagramm einer Ausführungsform des erfindungsgemäßen Verfahrens.
-
1 zeigt schematisch ein Blockschaltbild einer ersten Ausführungsform der erfindungsgemäßen Vorrichtung 100. Die Vorrichtung 100 weist eine Kryptographieeinheit 120 auf, welche dazu ausgebildet ist, ein kryptographisches Verfahren 110 bzw. mindestens einen Schritt eines kryptographischen Verfahrens 110 auszuführen. Beispielhaft sei für ein kryptographisches Verfahren eine Verschlüsselung nach dem AES(Advanced Encryption Standard)-Prinzip genannt.
-
Der Vorrichtung 100 werden Eingangsdaten i zugeführt, bei denen es sich bspw. um eine Bitfolge handeln kann, welche durch die Kryptographieeinheit 120 verschlüsselt werden soll. Dementsprechend werden verschlüsselte Ausgangsdaten o an einem Ausgang der Kryptographieeinheit 120 erhalten.
-
Erfindungsgemäß weist die Vorrichtung 100 neben der Kryptographieeinheit 120 eine Funktionseinheit 130 auf, die dazu ausgebildet ist, eine deterministische Funktion in Abhängigkeit von den Eingangsdaten und von mindestens einem geheimen Schüssel k auszuführen.
-
Durch den Betrieb der Funktionseinheit 130, zumindest zeitweise, parallel zu dem Betrieb der Kryptographieeinheit 120 werden Differential Power Analysis(DPA)-Attacken auf die Vorrichtung 100 erschwert, weil neben der eigentlich interessierenden kryptographischen Funktion 110, die in der Kryptographieeinheit 120 ausgeführt wird, zusätzlich auch die deterministische Funktion in der Funktionseinheit 130 ausgeführt wird, so dass sich elektromagnetische Abstrahlungen, Energiesignaturen (elektrische Leistungsaufnahme bzw. Energieaufnahme) und sonstige im Rahmen einer DPA-Attacke auswertbaren Merkmale der Vorrichtung 100 stets aus Komponenten beider Einheiten 120, 130 zusammensetzen bzw. von diesen beiden herrühren. Dadurch ist eine präzise Analyse der Kryptographieeinheit 120 erschwert. Die Kryptographieeinheit 120 und die Funktionseinheit 130 können vorteilhaft jeweils als integrierte Schaltung implementiert sein, und werden weiter vorzugsweise in demselben integrierten Schaltkreis angeordnet.
-
Bei einer weiteren bevorzugten Ausführungsform ist vorgesehen, dass die Kryptographieeinheit 120 und die Funktionseinheit 130 einen gemeinsamen Anschluss für eine elektrische Energieversorgung aufweisen, also von derselben Energiequelle (nicht gezeigt) gespeist werden können. Dieser Anschluss ist in 1 durch die Leitung VDD symbolisiert.
-
Durch die gemeinsame elektrische Energieversorgung beider Komponenten 120, 130 ergibt sich besonders vorteilhaft eine Überlagerung ihrer Energiesignaturen bezüglich des Anschlusspunkts VDD an die elektrische Energiequelle (nicht gezeigt), so dass auch an dieser Stelle DPA-Attacken erschwert werden.
-
Alternativ zu der in 1 abgebildeten Konfiguration mit einer gemeinsamen elektrischen Energieversorgung beider Komponenten 120, 130 ist auch eine separate Energieversorgung beider Komponenten 120, 130 möglich.
-
Der geheime Schlüssel k wird vorzugsweise direkt in der Vorrichtung 100 bzw. in der Funktionseinheit 130 gespeichert, bspw. in Form eines ROM-Registers.
-
Bei der in der 1 abgebildeten Ausführungsform der Erfindung arbeitet die Kryptographieeinheit 120 vorteilhaft unabhängig von der Funktionseinheit 130 in dem Sinne, dass für die Ausführung des kryptographischen Verfahrens 110 innerhalb der Kryptographieeinheit 120 nicht auf Betriebsgrößen bzw. Ausgangsgrößen der Funktionseinheit 130 zurückgegriffen wird. Es reicht vielmehr bereits die räumlich zueinander benachbarte Anordnung der Komponenten 120, 130 bzw. die optionale gemeinsame elektrische Energieversorgung über den gemeinsamen Anschluss VDD, damit sich die Energiesignaturen und elektromagnetischen Abstrahlung u. dgl. beider Komponenten 120, 130 so überlagern, dass DPA-Attacken auf die Vorrichtung 100 bzw. auf die Kryptographieeinheit 120 erschwert werden.
-
Bei einer weiteren vorteilhaften Ausführungsform ist vorgesehen, dass die Funktionseinheit 130 ein Ausgangssignal 130a (2) in Abhängigkeit der Eingangsdaten i und des geheimen Schlüssels k bildet, und dass die Funktionseinheit 130 das Ausgangssignal 130a an die Kryptographieeinheit 120 ausgibt, wobei die Kryptographieeinheit 120 dazu ausgebildet ist, das kryptographische Verfahren 110 bzw. mindestens einen Schritt hiervon in Abhängigkeit des Ausgangssignals 130a der Funktionseinheit 130 auszuführen, wodurch eine weiter gesteigerte Sicherheit gegenüber DPA-Attacken gegeben ist.
-
Die gemeinsame elektrische Energieversorgung ist in 2 nur noch durch gestrichelte Linien angedeutet und kann – wie vorstehend bereits erwähnt – auch entfallen.
-
Besonders bevorzugt ändert die vorstehend beschriebene Verwendung der erfindungsgemäßen Funktionseinheit 130 und ihres Ausgangssignals 130a (2) im Rahmen der Ausführung des kryptographischen Verfahrens 110 nichts an den Eingangsdaten i und den Ausgangsdaten o. Daher kann jede erfindungsgemäße Vorrichtung 100a bzw. ihre darin integrierte Funktionseinheit 130 einen anderen geheimen Schlüssel k aufweisen, was die Sicherheit des Systems weiter steigert. Die Verwendung der erfindungsgemäßen Funktionseinheit 130 und ggf. ihres Ausgangssignals 130a ändert mithin vorteilhaft das physikalische Verhalten der Vorrichtung 100, 100a, also ihre Energiesignatur, elektromagnetische Abstrahlung usw., nicht jedoch ihr funktionales Verhalten bezüglich der Ausführung des kryptographischen Verfahrens 110 durch die Kryptographieeinheit 120.
-
In einer weiteren Ausführungsform ist vorgesehen, dass die Funktionseinheit 130 das Ausgangssignal 130a mittels einer Hash-Funktion bildet.
-
Die 3 zeigt schematisch ein Blockdiagramm einer weiteren Ausführungsform der Erfindung. Eine erste Vorrichtung 100a1 weist eine Struktur ähnlich zu der Vorrichtung 100 gemäß 1 auf. Die Vorrichtung 100a1 erhält an ihrem Eingang Eingangsdaten i1, und die Kryptographieeinheit 120a der Vorrichtung 100a1 ist dazu ausgebildet, die Eingangsdaten i1 einer AES-Verschlüsselung zu unterziehen, um entsprechend verschlüsselte Ausgangsdaten o1 auszugeben. Analog zu der Vorrichtung 100 gemäß 1 weist auch die Vorrichtung 100a1 gemäß 3 eine Funktionseinheit 130 auf, die vorliegend ihr Ausgangssignal 130a in Abhängigkeit der Eingangsdaten i1 und des ersten geheimen Schlüssels k0 bildet, und zwar mittels einer deterministischen Funktion f. Die zweite Vorrichtung 100a2 weist eine Kryptographieeinheit 120b auf, welche dazu ausgebildet ist, die verschlüsselten Ausgangsdaten o1 unter Verwendung des AES-Prinzips zu entschlüsseln, um die entschlüsselten Ausgangsdaten o2 zu erhalten. Die Funktionseinheit 130 der Vorrichtung 100a2 verwendet zur Bildung ihres Ausgangssignals 130b das der Vorrichtung 100a2 zugeführte Eingangssignal o1 sowie einen zweiten geheimen Schlüssel k1, der bevorzugt verschieden ist von dem ersten geheimen Schlüssel k0 der Funktionseinheit 130 der ersten Vorrichtung 100a1. Dadurch ist eine weitere Steigerung der Sicherheit des Betriebs der Vorrichtung 100a1, 100a2 gegeben.
-
4 zeigt schematisch ein vereinfachtes Blockdiagramm einer erfindungsgemäßen Funktionseinheit 130. Die Funktionseinheit 130 weist ein erstes XOR (exklusives oder) Glied a1 auf, dem die Eingangsdaten i (vgl. auch 1) sowie der geheime Schlüssel k zugeführt werden. Die Eingangsdaten i und der geheime Schüssel k weisen vorliegend beispielhaft jeweils eine Länge von 128 Bit auf. Beide Daten i, k werden mittels des XOR-Glieds a1 im Sinne einer exklusiven oder-Verknüpfung miteinander verknüpft, wodurch erste veroderte Daten xik1 erhalten werden, welche wiederum eine Bitbreite von 128 Bit aufweisen.
-
Bei der vorliegenden Ausführungsform werden die ersten veroderten Daten xik1, welche durch eine Bitsequenz von 128 Bit Länge repräsentiert sind, in vier Teilblöcke w1, w2, w3, w4 aufgeteilt, welche jeweils eine Länge von 32 Bit aufweisen. Sodann werden die Teilblöcke w1, w2 mittels des weiteren XOR-Glieds a2 einer XOR-Verknüpfung unterzogen. Dasselbe gilt für die weiteren Teilblöcke w3, w4, welche mittels des Elements a3 XOR-verknüpft werden. Die Ausgangsdaten der XOR-Glieder a2, a3 werden miteinander XOR-verknüpft durch das XOR-Glied a4 wodurch zweite veroderte Daten xik2 erhalten werden, welche eine Länge von 32 Bit aufweisen.
-
Diese zweiten veroderten Daten xik2 werden gemäß 4 einer nichtlinearen Substitutionsoperation unterworfen, welche vorliegend durch die mit dem Bezugszeichen SBOX bezeichnete Einheit zur Ausführung einer nichtlinearen Substitutionsoperation ausgeführt wird.
-
Als Ausgangsdaten der nichtlinearen Substitutionsoperation SBOX wird das Ausgangssignal 130a erhalten, welches bevorzugt in einem Ausgangsregister R1 gespeichert wird.
-
Das Ausgangssignal 130a kann in der vorstehend bereits mehrfach beschriebenen Weise der Kryptographieeinheit 120 zur Verfügung gestellt werden, um die physikalische Funktion der Kryptographieeinheit 120 zu beeinflussen, wodurch DPA-Attacken erschwert werden.
-
5 zeigt ein vereinfachtes Blockdiagramm eines sogenannten DPA-gehärteten Speicherregisters R2, welches eingangsseitig Eingangsdaten i2 sowie das Ausgangssignal 130a der Funktionseinheit 130 gemäß 4 zugeführt bekommt. Das Speicherregister R2, dessen Funktion nachstehend näher beschrieben ist, kann vorteilhaft anstelle des Registers R1 in 4 verwendet werden. D. h., die Funktionseinheit 130 gemäß 4 kann ihr Ausgangssignal 130a dem Speicherregister R2 gemäß 5 in Form des Eingangssignals 130a bereitstellen. Das Speicherregister R2 kann beispielsweise auch in der Kryptographieeinheit 120 enthalten sein.
-
Bei den weiteren Eingangsdaten i2 für das Speicherregister R2 handelt es sich bspw. um die der Vorrichtung 100 (1) eingangsseitig zugeführten zu verschlüsselnden Eingangsdaten i oder Teile hiervon.
-
Wie aus 5 ersichtlich, weist das Speicherregister R2 zwei Multiplexer M1, M2 auf, denen jeweils das Ausgangssignal 130a und die Eingangsdaten i2 zugeführt sind. In Abhängigkeit eines Steuersignals s, bei dem es sich vorliegend um ein Binärsignal (nur Werte „1” oder „0”) handelt, leitet der zweite Multiplexer M2 entweder das Signal 130a oder das Signal i2 an ein ihm ausgangsseitig nachgeordnetes Register t1 weiter. Es wird also in dem Register t1in Abhängigkeit des Steuersignals s für den zweiten Multiplexer M2 entweder das Signal 130a oder das Signal i2 gespeichert, bzw. eine entsprechende Bitstelle bzw. ein entsprechendes Datenwort hiervon.
-
Da dem ersten Multiplexer M1 ein zu dem Steuersignal s inverses Steuersignal ¬s zugeführt ist, leitet der erste Multiplexer M1 demnach auch entweder das Signal 130a oder das Signal i2 an ein ihm ausgangsseitig nachgeordnetes Register t0 weiter, allerdings in einer zu dem zweiten Multiplexer M2 inversen Weise. Mit anderen Worten leitet der erste Multiplexer M1 dann ein Bit des Signals i2 an sein Ausgangsregister t0 weiter, wenn der zweite Multiplexer M2 ein Bit des Signals 130a an sein Ausgangsregister t1 weiterleitet und umgekehrt. Anstelle einzelner Bits können gleichzeitig auch mehrere Bits umfassende Datenworte usw. durch die Komponenten M1, M2, t0, t1 verarbeitet werden.
-
Wie aus 5 ersichtlich sind die Ausgänge der Register t0, t1 auf einen dritten Multiplexer M3 geführt, der in Abhängigkeit des inversen Steuersignals ¬s entweder das Ausgangssignal des Registers t0 oder des Registers t1 als Ausgangssignal o2 des Registers R2 ausgibt.
-
Die Ausgangsdaten o2 der Einrichtung gemäß 5 werden vorteilhaft im Rahmen des kryptographischen Verfahrens 110 verarbeitet, bspw. im Sinne einer AES-Verschlüsselung, wodurch die Ausgangsdaten o der Vorrichtung 100 erhalten werden, vgl. 1.
-
Das Speicherregister R2 der 5 verursacht – ggf. bei gleichzeitiger Verwendung der Implementierung der Funktion f (1) nach 4 für die Funktionseinheit 130 – eine weitaus komplexere Energie- und Abstrahlungssignatur als eine konventionelle Kryptographieeinheit alleine. Daher weist eine Ausführungsform der erfindungsgemäßen Vorrichtung mit einer oder beiden der Komponenten 130, R2 gemäß 4 bzw. 5 eine weiter gesteigerte Sicherheit gegenüber DPA-Attacken auf.
-
Es sind jedoch auch andere Ausführungsformen für die Funktion f (1) der Funktionseinheit 130 denkbar, bei denen z. B. das Ausgangssignal 130a der Funktionseinheit 130 anders als in 4 gezeigt gebildet wird (vorzugsweise wiederum in Abhängigkeit der Eingangsdaten i und des geheimen Schlüssels k), und sodann dazu verwendet wird, ein physikalisches Verhalten der Kryptographieeinheit 120 zu modifizieren, nicht jedoch deren funktionales Verhalten (Ausführung des kryptographischen Verfahrens).
-
Die Einheit SBOX (englisch auch als „S-BOX” (substitution box) bezeichnet) zur Ausführung einer nichtlinearen Substitutionsoperation gemäß 4 kann beispielsweise in der durch die Matrixgleichung der 6 angedeuteten Weise implementiert sein. Aus 6 ist ein Spaltenvektor i1 mit vorliegend insgesamt acht Elementen (z. B. jeweils ein Bit) b0, ..., b7 ersichtlich, der beispielhaft die Eingangsdaten für die nichtlineare Substitutionsoperation darstellt. Der Spaltenvektor i1 wird mit der Matrix M multipliziert, und das resultierende Matrixprodukt M×i1 wird anschließend additiv mit dem weiteren Spaltenvektor sv verknüpft, was auf den Spaltenvektor i1' führt, der die Ausgangsdaten der nichtlinearen Substitutionsoperation darstellt.
-
Vorteilhaft führen bei der durch 6 veranschaulichten nichtlinearen Substitutionsoperation bereits geringfügige Änderungen der Eingangsdaten i1 von z. B. nur einer Bitstelle b5 i. d. R. zu wesentlich größeren Änderungen der Ausgangsdaten i1', bei denen häufig mehrere, bevorzugt mehr als vier, Bitstellen betroffen sind.
-
Die in 6 abgebildete Matrixgleichung ist nur beispielhaft zur Veranschaulichung des Prinzips einer S-BOX angegeben und kann sowohl hinsichtlich der Werte der Elemente M, SV sowie der Dimension der Matrix M bzw. der beteiligten Vektoren i1, SV verändert werden. Beispielsweise kann die SBOX gemäß 4 mit 32 bit aufweisenden Vektoren i1, sv arbeiten und demgemäß auch einen Ausgangsvektor i1' mit 32 bit bereitstellen.
-
Besonders vorteilhaft kann eine erfindungsgemäße Funktionseinheit 130 mit der in 6 abgebildeten Funktionalität einer nichtlinearen Substitutionsoperation ausgestattet werden, wobei auch denkbar ist, mindestens eine der Komponenten M, sv bzw. ihre Elemente in Abhängigkeit des geheimen Schlüssels k (1) zu wählen.
-
7 zeigt ein vereinfachtes Flussdiagramm einer Ausführungsform des erfindungsgemäß Verfahrens. In einem ersten Schritt 200 bildet die Funktionseinheit 130 (1) ihr Ausgangssignal 130a in Abhängigkeit von den Eingangsdaten i und mindestens eines Teils des mindestens einen geheimen Schlüssels k. In dem nachfolgenden Schritt 210 (7) wird durch die Kryptographieeinheit 120 (1) das kryptographische Verfahren 110, bspw. ein AES-Algorithmus o. dgl., ausgeführt.
-
Die Erfindung erschwert vorteilhaft DPA-Attacken auf die Vorrichtung 100, weil neben der eigentlich interessierenden kryptographischen Funktion 110, die in der Kryptographieeinheit 120 ausgeführt wird, zusätzlich auch die deterministische Funktion f in der Funktionseinheit 130 ausgeführt wird, so dass sich elektromagnetische Abstrahlungen, Energiesignaturen und sonstige im Rahmen einer DPA-Attacke auswertbaren Merkmale der Vorrichtung 100 stets aus Komponenten beider Einheiten 120, 130 zusammensetzen. Dadurch ist eine präzise Analyse der Kryptographieeinheit 120 bzw. ihre Funktion 110 erschwert.
-
Z. B. hängt für zwei verschiedene Eingangsdatensätze, bspw. jeweils Bitfolgen mit einer Länge von 128 Bit, eine elektrische Leistungsaufnahme der erfindungsgemäßen Vorrichtung 100, 100a von den Eingangsdatensätzen i und dem geheimen Schlüssel k ab. Bei geeigneter Länge des geheimen Schüssels von z. B. im Feld 128 Bit oder mehr kann auf diese Weise eine DPA-Attacke derart erschwert werden, dass sie mit derzeit verfügbarer Rechenleistung nicht erfolgreich ausführbar ist.
-
Die deterministische Funktion f der Funktionseinheit 130 kann bei einer bevorzugten Ausführungsform beispielsweise gemäß 4 ausgebildet sein. In diesem Fall kann die Kryptographieeinheit 120 z. B. auch ein Speicherregister R2 des in 5 beschriebenen Typs aufweisen.
-
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
-
-
Zitierte Nicht-Patentliteratur
-
- Advanced Encryption Standard (AES) [0019]
- Advanced Encryption Standard, AES [0020]
- AES(Advanced Encryption Standard)-Prinzip [0030]
- AES-Prinzips [0043]