-
Die vorliegende Erfindung betrifft ein Verfahren zum Schutz einer nach Maßgabe von Ausführungsanweisungen zur Ausführung funktionaler kryptographischer Operationen eingerichteten Schaltung vor kryptoanalytischen Seitenkanalattacken, insbesondere mittels Differential Power Analysis (DPA), Simple Power Analysis (SPA) oder Electromagnetic Analysis (EM) sowie eine entsprechende Vorrichtung, insbesondere einen Mikroprozessor.
-
Stand der Technik
-
Wenngleich die vorliegende Erfindung nachfolgend vornehmlich in Bezug auf Kryptosysteme in Automobilen beschrieben wird, sei betont, dass die erfindungsgemäßen Maßnahmen nicht auf Vorrichtungen bzw. Verfahren, die im Kraftfahrzeugbereich zum Einsatz kommen, beschränkt ist, sondern vielmehr auf dem gesamten Gebiet der Informationstechnik (IT) zum Einsatz kommen kann.
-
Die Informationstechnik gewinnt insbesondere im Automobilbereich zunehmend an Bedeutung. Dies betrifft einerseits grundlegende Fahrzeugfunktionen, wie Motorsteuerung, Bremsen, Lenkung usw., jedoch auch Sekundarfunktionen, wie Wegfahrsperre oder Airbag, sowie Anwendungen wie die Online-Streckenführung und das sogenannte In-Car-Entertainment.
-
Vor diesem Hintergrund gewinnt auch das Thema der Absicherung derartiger IT-Anwendungen zunehmend an Bedeutung Bereiche, in denen eine derartige Absicherung erforderlich ist, beinhalten beispielsweise die Zugangskontrolle, den Diebstahlschutz, die Anonymität in vernetzten Fahrzeugen, die Vertraulichkeit und Verlässlichkeit der Kommunikation, die sogenannte Content Protection (d. h. die Wahrung digitaler Urheberrechte) sowie rechtliche Aspekte wie beispielsweise die Manipulationssicherheit von Fahrtenschreibern.
-
Eine Bedrohung der IT-Sicherheit kann beispielsweise vom Fahrzeugbesitzer, vom Wartungspersonal oder von externen Dritten ausgehen, die physikalischen Zugriff auf das Fahrzeug haben.
-
Eine zentrale Komponente von IT-Sicherheitsanwendungen sind kryptographische Verfahren. Hierbei wird in der Regel die zu schützende Einheit (beispielsweise ein Motorsteuergerät oder eine Infotainment-Einheit) mit einem geheimen kryptographischen Schlüssel versehen. Üblicherweise umfassen die zu schützende Einheiten einen kryptographischen Mikroprozessor.
-
Die IT-Sicherheit im Automobil unterscheidet sich dabei fundamental von jener in konventionellen Computernetzen. Die Ressourcen im Kraftfahrzeug sind beschränkt, da nur relativ schwache eingebettete Prozessoren (z. B. 8- oder 16-Bit-Mikrocontroller) eingesetzt werden. Viele der genannten Angreifer besitzen physikalischen Zugang zum Kraftfahrzeug, wodurch beispielsweise Seitenkanalangriffe, wie unten näher erläutert, ermöglicht werden. Im Bereich der Kraftfahrzeug-IT-Sicherheit kommt erschwerend hinzu, dass bekannt gewordene Sicherheitslücken (beispielsweise ausgespähte geheime Schlüssel) nur schwer mittels nachträglicher Änderungen zu schließen sind. Ebenso wird die Herstellung einer ausreichenden IT-Sicherheit im Kraftfahrzeug durch die komplexen Fertigungsprozesse für moderne Automobile erschwert, bei denen viele unterschiedliche Parteien (Zulieferer, Hersteller, Händler, Wartungspersonal) beteiligt sind.
-
Bei den genannten Seitenkanalattacken (Side Channel Attacks) handelt sich um kryptoanalytische Methoden, die die physikalische Realisierung eines kryptographischen Systems in einer Vorrichtung (wie z. B. einer Chipkarte, einem Security-Token oder einem Hardware-Sicherheitsmodul eines Steuergeräts) angreifen. Das Prinzip beruht vornehmlich darauf, eine entsprechende kryptographische Vorrichtung, bspw. einen Mikroprozessor, bei der Abarbeitung von entsprechenden Algorithmen zu beobachten und Zusammenhänge zwischen den jeweils beobachteten Daten und den möglichen Schlüsseln zu finden.
-
Verfahren der Stromverbrauchsanalyse (Power Analysis) untersuchen dabei den Energieverbrauch eines Mikroprozessors während kryptographischer Berechnungen. Der Energieverbrauch variiert abhängig von den jeweils ausgeführten Mikroprozessorbefehlen. Hierdurch sind Rückschlüsse über ausgeführte Operationen sowie über den Schlüssel, der diesen zugrunde liegt, möglich. Hierdurch erhaltene ”Spuren” (eine bestimmte Menge bzw. Anzahl von Energieverbrauchsmessungen, die von einer kryptologischen Operation über die Zeit erhalten wurden) können zum Aufdecken von Mustern, wie etwa DES-Runden oder RSA-Operationen verwendet werden. Unterschiede in den jeweiligen Spuren lassen Rückschlüsse auf den verwendeten Schlüssel zu. Neben der einfachen Stromverbrauchsanalyse lässt insbesondere die sogenannte differentielle Stromverbrauchsanalyse (Differential Power Analysis, DPA) derartige Rückschlüsse zu.
-
Die Elektromagnetische Analyse (Electromagnetic Analysis, EM) beruht auf einer entsprechenden Auswertung der elektromagnetischen Abstrahlung.
-
Zur Verhinderung kryptographischer Angriffe auf sicherheitsbeschränkte Module bzw. kryptographische Systeme sind unterschiedliche Verfahren bekannt, die jedoch in der Regel entweder nicht zum gewünschten Erfolg führen oder mit erhöhten Kosten- und/oder Implementierungsaufwand verbunden sind.
-
Somit besteht ein Bedarf nach vereinfachten Verfahren zum Schutz von kryptographischen Schaltungen, insbesondere vor Seitenkanalattacken, vorzugsweise vor Seitenkanalattacken mittels differentieller Stromverbrauchsanalyse.
-
Offenbarung der Erfindung
-
Erfindungsgemäß werden ein Verfahren zum Schutz einer nach Maßgabe von Ausführungsanweisungen zur Ausführung funktionaler kryptographischer Operationen eingerichteten Schaltung vor kryptoanalytischen Seitenkanalattacken, insbesondere mittels Differential Power Analysis (DPA), Simple Power Analysis (SPA) oder ElectroMagnetic Analysis (EM), sowie eine entsprechende Vorrichtung mit den Merkmalen der unabhängigen Patentansprüche vorgeschlagen. Vorteilhafte Ausgestaltungen sind Gegenstand der Unteransprüche sowie der nachfolgenden Beschreibung.
-
Vorteile der Erfindung
-
Die erfindungsgemäßen Maßnahmen beinhalten die technische Lehre, zusätzlich zu funktionalen kryptographischen Operationen nichtfunktionale kryptographische Operationen zur Verschleierung der funktionalen kryptographischen Operationen auszuführen.
-
Im Rahmen dieser Erfindung seien unter ”funktionalen kryptographischen Operationen” solche Operationen verstanden, welche mit der Funktionalität einer entsprechenden Schaltung in Zusammenhang stehen. Hier kann es sich beispielsweise um kryptographische Operationen zur Verschlüsselung von Befehlen eines Motorsteuergeräts, eines entsprechenden Entertainment-Systems oder einer Kommunikation zwischen Teilnehmern handeln. Unter ”nichtfunktionalen kryptographischen Operationen” seien hingegen solche Operationen verstanden, welche im entsprechenden Gerät bzw. einer entsprechenden Schaltung keinen funktionalen Zweck erfüllen, sondern beispielsweise auf zufällig erzeugten Schlüsseln bzw. simulierten Schlüsseln beruhen oder Zufallsdaten liefern. Wahlweise können derartige nichtfunktionale kryptographische Operationen auch als sogenannte ”Dummy”-Operationen bezeichnet werden. Derartige nichtfunktionale kryptographische Operationen werden im Rahmen der Erfindung, wie erwähnt, vornehmlich oder ausschließlich zur Verschleierung der funktionalen kryptographischen Operationen ausgeführt.
-
Die zuvor erläuterten Verfahren der Kryptoanalyse beruhen auf einer Mittelwertbildung erhaltener Messungen, um zufälliges Rauschen von systematischen Signalen zu trennen. Durch die erfindungsgemäßen Maßnahmen wird diese Trennung einem potentiellen Angreifer durch die Ausführung nichtfunktionaler kryptographischer Operationen zusätzlich zu den funktionalen kryptographischen Operationen erschwert. Damit wird es aufwendiger, z. B. kryptographische Schlüssel auszuspähen. Es sei betont, dass die erfindungsgemäßen Maßnahmen eine entsprechende Schaltung nicht vollständig gegen derartige Angriffe schützen müssen. Es wird vielmehr als ausreichend angesehen, wenn der Aufwand eines Angriffs bzw. einer Attacke in einer Weise erhöht wird, die einem potentiellen Angreifer einen Angriff nicht mehr erfolgversprechend oder mit zu hohem Aufwand behaftet erscheinen lässt. Durch Zwischenschalten von nichtfunktionalen kryptographischen Operationen wird, mit anderen Worten, das Ausspähen eines entsprechenden kryptographischen Schlüssels signifikant erschwert.
-
Als besonders vorteilhaft ist hierbei anzusehen, dass die erfindungsgemäß vorgeschlagene Implementierung das Verhalten des kryptographischen Algorithmus selbst nicht verändert, so dass alle Zertifizierungen (beispielsweise FIPS, NESSIE, CRYPTREC usw. im Rahmen von AES-Verfahren) nicht betroffen sind und hierdurch gültig bleiben.
-
Mit besonderem Vorteil kann die vorliegende Erfindung beispielsweise in einem AES-Mikro- bzw. Coprozessor eines Hardware-Sicherheitsmoduls (HSM) eingesetzt werden, also in einem Kryptosystem, das im Rahmen von Motorsteuergeräten verwendet wird.
-
Weitere Vorteile und Ausgestaltungen der Erfindung ergeben sich aus der Beschreibung und der beiliegenden Zeichnung.
-
Es versteht sich, dass die vorstehend genannten und die nachfolgend noch zu erläuternden Merkmale nicht nur in der jeweils angegebenen Kombination, sondern auch in anderen Kombinationen oder in Alleinstellung verwendbar sind, ohne den Rahmen der vorliegenden Erfindung zu verlassen.
-
Die Erfindung ist anhand von Ausführungsbeispielen in der Zeichnung schematisch dargestellt und wird im Folgenden unter Bezugnahme auf die Zeichnung ausführlich beschrieben.
-
Kurze Beschreibung der Zeichnungen
-
1 zeigt einen Ablaufplan eines Verfahrens gemäß einer besonders bevorzugten Ausführungsform der Erfindung.
-
2 zeigt einen Verfahrensschritt gemäß einer besonders bevorzugten Ausführungsform der Erfindung.
-
3 zeigt sehr schematisch eine bevorzugte Ausführungsform einer erfindungsgemäßen Vorrichtung.
-
Ausführungsform(en) der Erfindung
-
Eine Ausführungsform der Erfindung wird anhand von 1 veranschaulicht, in der mit 100 ein gemäß der Ausführungsform ablaufendes Verfahren schematisch dargestellt ist.
-
Die Ausgestaltung des in 1 dargestellten Verfahrens 100 beinhaltet zwei Verfahrensschritte bzw. Teilverfahren, welche getrennt voneinander beeinflusst und/oder aktiviert werden können.
-
Das Verfahren 100 befindet sich bei Schritt 1 im Grundzustand bzw. Leerlauf.
-
In Schritt 2 wird abgeprüft, ob eine Anweisung zur Ausführung einer funktionalen kryptographischen Operation in einem entsprechenden Kryptosystem, also beispielsweise eine Anweisung zur Verschlüsselung einer elektronischen Kommunikation vorliegt. Trifft dies nicht zu (in der 1 mit ”–” angegeben, im Folgenden als Nichtvorliegen von Ausführungsanweisungen ”2” bezeichnet), wird in einem weiteren Schritt 3 abgeprüft, ob eine erste Anforderung zur Ausführung der nichtfunktionalen kryptographischen Operationen vorliegt.
-
Diese Anweisung kann vom Benutzer oder Programmierer einer entsprechenden Vorrichtung bzw. eines entsprechenden Verfahrens wahlweise aktiviert oder deaktiviert werden. Insbesondere wird dabei erwogen, eine Anweisung abhängig von einem Zufallsgenerator zufällig zu aktivieren und zu deaktivieren. Die nichtfunktionalen kryptographischen Operationen können auch beispielsweise zum Einsparen von Energie aktiviert bzw. deaktiviert werden. Auch kann ein System vorgesehen sein, das eine versuchte Entschlüsselung detektiert und hieraufhin eine Ausführung der nichtfunktionalen kryptographischen Operationen 11 einleitet bzw. anfordert.
-
Wird in Schritt 3 festgestellt, dass eine Anweisung zur Ausführung der nichtfunktionalen kryptographischen Operationen vorliegt (entsprechend wie oben mit ”3+” bezeichnet), werden durch einen entsprechenden Kryptoprozessor bzw. eine Kryptographiemodul zufällige Verschlüsselungen/Entschlüsselungen ausgeführt. Wird hingegen kein Vorliegen (3–) der Anforderung zur Ausführung der nichtfunktionalen kryptographischen Operationen 11 festgestellt, kehrt das System in den Grundzustand 1 zurück.
-
Für den Fall, dass in Schritt 2 ein Vorliegen (2+) von Ausführungsanweisungen zur Ausführung funktionaler kryptographischer Operationen festgestellt wird, wird in Schritt 4 geprüft, ob eine zweite Anforderung zur Ausführung der nichtfunktionalen kryptographischen Operationen vorliegt. Auch diese zweite Anforderung kann wahlweise aktiviert bzw. deaktiviert werden. Liegt keine Anforderung (4–) vor, wird lediglich eine funktionale kryptographische Funktion bzw. Operation 10, also etwa eine Verschlüsselung einer Kommunikation, ausgeführt, und das System kehrt hieraufhin in den Grundzustand 1 zurück.
-
Für den Fall, dass eine entsprechende zweite Anforderung vorliegt (4+), kann eine Zufallsbedingung zwischengeschaltet werden, die in der nachfolgenden 2 erläutert ist. Ist die Zufallsbedingung erfüllt (5+), wird die funktionale kryptographische Operation 10 abgearbeitet, und das System kehrt in den Grundzustand zurück. Ist die Zufallsbedingung jedoch nicht erfüllt (5–), wird eine nichtfunktionale kryptographische Operation 11 ausgeführt und das System kehrt ebenfalls in den Grundzustand 1 zurück. Da jedoch in diesem Fall weiterhin eine Ausführungsanweisung zur Ausführung der funktionalen kryptographischen Operation 10 vorliegt, schreitet das Verfahren erneut bis Schritt 5 fort, und zwar so lange, bis die Zufallsbedingung 5 erfüllt ist und die funktionale kryptographische Operation 10 abgearbeitet wird.
-
In 2 ist das in Schritt 5 der 1 dargestellte Zufallsverfahren näher veranschaulicht und insgesamt mit 200 bezeichnet. Das Verfahren beinhaltet beispielsweise einen Zufallsgenerator 21, der zur Erzeugung 22 einer Zufallszahl mit einer bestimmten Bitlänge eingerichtet ist. Die Zufallszahl wird mit einer zuvor festgelegten und ausgegebenen Zahl 20, welche im System verändert werden kann, verglichen (in 2 mit ”=0x01?” angegeben). Entspricht die Zufallszahl der vordefinierten Zahl, ist die Zufallsbedingung erfüllt (5+) und die funktionale kryptographische Operation 10 wird ausgeführt. Anderenfalls ist die Zufallsbedingung nicht erfüllt (5–) und eine nichtfunktionale kryptographische Operation 11 wird ausgeführt. Dem Fachmann ist verständlich, dass das Verhältnis, mit dem entweder die funktionale kryptographische Operation 10 einerseits oder die nichtfunktionale kryptographische Operation 11 andererseits ausgeführt wird, durch die Längen (Bitlänge) der durch den Zufallsgenerator 21 in 22 erzeugten Zufallszahl und der vordefinierten Zahl 20 einstellbar ist. Je größer die Bitlänge einer entsprechenden Zufallszahl, die mit der vordefinierten Zahl 20 verglichen wird, ist, desto seltener wird ein Vergleich der beiden Zahlen eine Identität ergeben und somit eine Ausführung der funktionalen kryptographischen Operation 10 zur Folge haben. Somit kann der Grad der Verschleierung der funktionalen kryptographischen Operationen 10 einfach auf Grundlage der Manipulation der Bitlänge der Zufallszahl eingestellt und an die jeweiligen Erfordernisse angepasst werden.
-
Die erfindungsgemäßen Maßnahmen können dahingehend zusammengefasst werden, dass zusätzlich zu funktionalen kryptographischen Operationen nichtfunktionale kryptographische Operationen ausgeführt werden, und zwar sowohl in Zuständen eines entsprechenden Systems, in denen keine Ausführungsanweisungen für die funktionalen kryptographischen Operationen vorliegen, als auch in Situationen, in denen entsprechende Anweisungen vorliegen. Im letzteren Fall werden diese Anweisungen mit nichtfunktionalen kryptographischen Operationen vermischt. Die Entscheidung, ob eine tatsächliche (funktionale) oder nichtfunktionale Operation ausgeführt wird, wird durch einen Zufallsgenerator (beispielsweise einen kontinuierlich laufenden LFSR (Linear Feedback Shift Register)) oder einen anderen Zufallsgenerator getroffen. Durch die erfindungsgemäßen Maßnahmen wird, insbesondere durch Einstellen der Bitlänge der Zufallszahl, welche mit dem voreingestellten Wert verglichen wird, die Anzahl der Messungen die zur erfolgreichen differentiellen Stromverbrauchsanalyse erforderlich sind, signifikant erhöht.
-
Insbesondere ein Pseudozufallsgenerator (Pseudo Random Number Generator, PRNG) kann im Rahmen der Erfindung vorteilhaft verwendet werden. Bei einem PRNG kann je nach Implementierung garantiert werden, dass die funktionale kryptographische Operation innerhalb einer gewissen Zeitspanne bzw. Anzahl der Abfragen ausgeführt wird.
-
In 3 ist eine bevorzugte Ausführungsform einer erfindungsgemäßen Vorrichtung schematisch dargestellt und mit 300 bezeichnet. Die Vorrichtung ist hier als AES-Coprozessor 300 ausgeführt, wie er bspw. in kryptographischen Systemen in Steuergeräten von Kraftfahrzeugen verwendet werden kann. Der Coprozessor 300 verfügt neben weiteren, nicht gezeigten Anschlüssen über eine Reihe von Dateneingängen D, Datenausgängen R und Adresseingängen A.
-
Der Coprozessor 300 weist u. a. eine Zustandsmaschine 301 auf, die im Wesentlichen zum Interpretieren der Befehle sowie zur Steuerung der Ausführung dieser Befehle dient. Der Coprozessor 300 weist weiterhin ein Speichermodul 302, beispielsweise eine RAM-Speichereinheit oder einen entsprechenden Registerspeicher, auf. Der Coprozessor 300 weist ferner eine Verarbeitungseinheit bzw. Kryptographieeinheit 303 zur Abarbeitung von Aufgaben sowie einen PRNG 304 zur Erzeugung von Pseudozufallszahlen auf.
-
Innerhalb des Coprozessors 300 führt die Kryptographieeinheit 303 nach Maßgabe der Zustandsmaschine 301, wie anhand der 1 und 2 erläutert, funktionale kryptographische Operationen und zusätzlich nichtfunktionale kryptographische Operationen zur Verschleierung der funktionalen kryptographischen Operationen aus.