DE102014203056A1 - Verschlüsseln eines Klartextes in einen Geheimtext zur Sicherung eines Kraftfahrzeugs insbesondere gegen Diebstahl - Google Patents

Verschlüsseln eines Klartextes in einen Geheimtext zur Sicherung eines Kraftfahrzeugs insbesondere gegen Diebstahl Download PDF

Info

Publication number
DE102014203056A1
DE102014203056A1 DE102014203056.0A DE102014203056A DE102014203056A1 DE 102014203056 A1 DE102014203056 A1 DE 102014203056A1 DE 102014203056 A DE102014203056 A DE 102014203056A DE 102014203056 A1 DE102014203056 A1 DE 102014203056A1
Authority
DE
Germany
Prior art keywords
implementation
cryptographic algorithm
configuration parameter
key
motor vehicle
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102014203056.0A
Other languages
English (en)
Inventor
Mohamed Abo El-Fotouh
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Bayerische Motoren Werke AG
Original Assignee
Bayerische Motoren Werke AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Bayerische Motoren Werke AG filed Critical Bayerische Motoren Werke AG
Priority to DE102014203056.0A priority Critical patent/DE102014203056A1/de
Publication of DE102014203056A1 publication Critical patent/DE102014203056A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/002Countermeasures against attacks on cryptographic mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/84Vehicles

Abstract

Es wird ein Verfahren zum Verschlüsseln eines Klartextes (20) in einen Geheimtext (30) aufgezeigt, umfassend die Schritte: Erzeugen eines Konfigurationsparameter (50) abhängig von einem Verschlüsselungsschlüssel (10) und Zufallsdaten und/oder einem Zufallsschlüssel (40), Eingeben des Klartexts (20) und des Konfigurationsparameters (50) als Eingangsdaten in eine Implementierung eines Kryptographiealgorithmus (70), Ausführen der Implementierung des Kryptographiealgorithmus (70), und Ausgeben des Geheimtexts (30) als Ausgabedaten der Implementierung des Kryptographiealgorithmus (70), wobei der Konfigurationsparameter (50) den Programmablauf der Implementierung des Kryptographiealgorithmus (70) beeinflusst.

Description

  • Die Erfindung betrifft ein Verfahren zum Verschlüsseln eines Klartextes in einen Geheimtext gemäß Patentanspruch 1, ein Verfahren zum Entschlüsseln eines Klartextes aus einem Geheimtext gemäß Patentanspruch 3, ein Verfahren zum Verriegeln und/oder Entriegeln einer Tür eines Kraftfahrzeugs und/oder Starten eines Kraftfahrzeugs gemäß Patentanspruch 8, ein computerlesbares Speichermedium gemäß Patentanspruch 10, ein Kraftfahrzeug gemäß Patentanspruch 11 und einen Kraftfahrzeugschlüssel gemäß Patentanspruch 12.
  • Eine große Anzahl an Kryptographiealgorithmen ist bekannt. Viele dieser Kryptographiealgorithmen sind in der Theorie sehr sicher. Allerdings weisen viele Implementierungen dieser sicheren Kryptographiealgorithmen einen Schwachpunkt auf, so dass die theoretische Sicherheit des zu Grunde liegenden Kryptographiealgorithmus geschwächt, wenn nicht gar zerstört wird. Beispielsweise sind Seitenkanalattacken (Side Channel Attacks) bekannt, mit denen viele Implementierungen von Kryptographiealgorithmen angegriffen bzw. gebrochen werden können. Als Beispiel für Seitenkanalattacken sind hier Rechenzeitangriffe (Timing Attacks), differentielle Energieverbrauchsanalyse (Differential Power Analysis; DPA) und Fehlerinjektionen (Fault Injections) zu nennen.
  • Diese Angriffe auf die jeweilige Implementierung können die Sicherheit des zu Grunde liegenden Kryptographiealgorithmus derart schwächen und/oder zerstören, dass das implementierte Verschlüsselungs-/Entschlüsselungsverfahren insgesamt nicht mehr sicher ist. Durch diese Seitenkanalattacken kann der Verschlüsselungsschlüssel und/oder Entschlüsselungsschlüssel und damit auch der Klartext gewonnen werden.
  • In vielen modernen Systemen werden mittlerweile Kryptographiealgorithmen verwendet. Dies führt zu einer erhöhten Attraktivität des Angreifens von Kryptographiealgorithmen, indem die spezifische Implementierung des Kryptographiealgorithmus angegriffen wird, um in die entsprechenden Systeme einzubrechen bzw. die geheime Information zu extrahieren. So kann beispielsweise bei einem Kraftfahrzeug, dessen Öffnungscode mittels einer Implementierung eines Kryptographiealgorithmus verschlüsselt bzw. entschlüsselt wird und anschließend übertragen wird, der Angreifer nach dem Brechen der entsprechenden Implementierung des Kryptographiealgorithmus das Fahrzeug öffnen bzw. sogar stehlen kann.
  • Somit rückt diese Art von Angriffen immer mehr in das Blickfeld der organisierten Kriminalität, da sich durch das Brechen/Knacken von Implementierungen von Kryptographiealgorithmen beispielsweise Fahrzeuge bzw. Kraftfahrzeuge, vorzugsweise von bestimmten Markenherstellern, stehlen lassen.
  • 3 zeigt, wie ein Verschlüsselungsverfahren mit einer Implementierung eines Kryptographiealgorithmus 70‘ gemäß dem Stand der Technik aussieht. Ein Verschlüsselungsschlüssel 10‘ wird zusammen mit dem Klartext 20‘ als Eingangsdaten in eine Implementierung eines Kryptographiealgorithmus 70‘ eingegeben. Hierbei ist bzw. umfasst der Klartext 20‘ die geheime Information, die es zu schützen gilt. Beispielsweise umfasst der Klartext 20‘ den Öffnungscode, mittels dessen das Fahrzeug geöffnet und/oder gestartet werden kann.
  • Die Implementierung des Kryptographiealgorithmus 70‘ wird ausgeführt und gibt als Ausgabedaten den Geheimtext 30‘ aus. Zu beachten gilt hierbei, dass die Sicherheit des Systems nicht auf der Geheimhaltung des Algorithmus (security through obscurity), sondern auf der Geheimhaltung des Verschlüsselungsschlüssels 10‘ und/oder des Entschlüsselungsschlüssels beruhen sollte.
  • Ein Nachteil bei bisher bekannten Verfahren zum Verschlüsseln und/oder Entschlüsseln ist, dass die Implementierungen des jeweiligen Kryptographiealgorithmus nicht gegen Seitenkanalattacken gehärtet bzw. Gegenmaßnahmen gegen diese vorhanden sind. Beispielsweise kann, wenn der Schlüssel in der Software gespeichert wird, der Schlüssel beispielsweise mit einem Debugger ausgelesen werden. Ein Hauptproblem ist, dass viele der verwendeten Kryptographiealgorithmen Standard sind und durch den Angreifer bekannt sind (oder zumindest leicht erraten werden können) und gleichzeitig die Implementierungen dieser Algorithmen gut bekannt sind, da die Kryptographiealgorithmen gewissermaßen nach einem Standard bzw. einem Lehrbuchbeispiel implementiert werden. Vielfach wird die Referenzimplementierung verwendet, wodurch die Analyse einfacher wird und der Code zum Verfahren zum Verschlüsseln und/oder Entschlüsseln statisch ist.
  • Der Erfindung liegt die Aufgabe zu Grunde, ein Verfahren zum Verschlüsseln bzw. Entschlüsseln aufzuzeigen, bei dem Seitenkanalattacken erheblich erschwert sind.
  • Diese Aufgabe wird durch ein Verfahren zum Verschlüsseln eines Klartextes in einen Geheimtext gemäß Patentanspruch 1 und ein Verfahren zum Entschlüsseln eines Klartextes aus einem Geheimtext gemäß Patentanspruch 3 gelöst. Die Aufgabe wird ebenfalls durch ein Verfahren zum Verriegeln und/oder Entriegeln einer Tür gemäß Patentanspruch 8, ein computerlesbares Speichermedium gemäß Patentanspruch 10, ein Kraftfahrzeug mit einem solchen computerlesbaren Speichermedium gemäß Patentanspruch 11 und einen Kraftfahrzeugschlüssel mit einem solchen computerlesbaren Speichermedium gemäß Patentanspruch 12 gelöst.
  • Insbesondere wird die Aufgabe durch ein Verfahren zum Verschlüsseln eines Klartextes in einen Geheimtext gelöst, umfassend die Schritte: Erzeugen eines Konfigurationsparameter abhängig von einem Verschlüsselungsschlüssel und Zufallsdaten und/oder einem Zufallsschlüssel, Eingeben des Klartexts und des Konfigurationsparameters als Eingangsdaten in eine Implementierung eines Kryptographiealgorithmus, Ausführen der Implementierung des Kryptographiealgorithmus, und Ausgeben des Geheimtexts als Ausgabedaten der Implementierung des Kryptographiealgorithmus, wobei der Konfigurationsparameter den Programmablauf der Implementierung des Kryptographiealgorithmus beeinflusst.
  • Ein wesentlicher Punkt der Erfindung besteht darin, dass der Konfigurationsparameter den Programmablauf der Implementierung des Kryptographiealgorithmus beeinflusst. Da der Konfigurationsparameter abhängig bzw. eine Funktion von dem Verschlüsselungsschlüssel und Zufallsdaten und/oder einem Zufallsschlüssel ist, beeinflussen somit die Zufallsdaten und/oder der Zufallsschlüssel den Programmablauf der Implementierung des Kryptographiealgorithmus. Ein Vorteil hiervon ist, dass Seitenkanalattacken aufgrund des Einflusses des Konfigurationsparameters und somit der Zufallsdaten und/oder des Zufallsschlüssels auf den Programmablauf der Implementierung des Kryptographiealgorithmus erschwert werden, da der Programmablauf der Implementierung des Kryptographiealgorithmus bei jedem Durchlaufen unterschiedlich ist. Somit wird die Sicherheit der Implementierung des Kryptographiealgorithmus, insbesondere gegen Seitenkanalattacken, erheblich erhöht und folglich die Sicherheit des Verfahrens erheblich erhöht.
  • Der Konfigurationsparameter kann derart abhängig von dem Verschlüsselungsschlüssel und den Zufallsdaten und/oder dem Zufallsschlüssel erzeugt werden, dass für einen Verschlüsselungsschlüssel, insbesondere für jeden Verschlüsselungsschlüssel, eine Vielzahl von unterschiedlichen Konfigurationsparameter existieren, und dass für jeden Konfigurationsparameter genau ein Verschlüsselungsschlüssel existiert. Ein Vorteil hiervon ist, dass zu dem gleichen (Verschlüsselungs-)Schlüssel jedes Mal ein anderer Konfigurationsparameter verwendet werden kann, der den Programmablauf der Implementierung des Kryptographiealgorithmus beeinflusst. Somit existiert bei identischem Verschlüsselungsschlüssel (und identischem Klartext) eine Vielzahl von Möglichkeiten des Programmablaufes, da sich dieser bei unterschiedlichen Konfigurationsparametern jeweils ändert bzw. unterschiedlich ist. Dies kann beispielsweise dadurch passieren, dass eine Art von Konfigurationsparameter-Signatur verwendet wird.
  • Insbesondere wird die Aufgabe der Erfindung auch durch ein Verfahren zum Entschlüsseln eines Klartextes aus einem Geheimtext, wobei ein Konfigurationsparameter eine Funktion von einem Entschlüsselungsschlüssel und Zufallsdaten und/oder einem Zufallsschlüssel ist, gelöst, umfassend die Schritte:
    Eingeben des Geheimtexts und des Konfigurationsparameters als Eingangsdaten in eine Implementierung eines Kryptographiealgorithmus, Ausführen der Implementierung des Kryptographiealgorithmus, und Ausgeben des Klartexts als Ausgabedaten der Implementierung des Kryptographiealgorithmus, wobei der Konfigurationsparameter den Programmablauf der Implementierung des Kryptographiealgorithmus beeinflusst. Ein Vorteil hiervon ist, dass bei identischem Verschlüsselungsschlüssel (und identischem Klartext) eine Vielzahl von Möglichkeiten des Programmablaufes existiert, da sich dieser bei unterschiedlichen Konfigurationsparametern jeweils ändert bzw. unterschiedlich ist. Somit wird die Sicherheit der Implementierung des Kryptographiealgorithmus, insbesondere gegen Seitenkanalattacken, und folglich die Sicherheit des Verfahrens erheblich erhöht.
  • Der Konfigurationsparameter kann derart erzeugt werden und/oder der Konfigurationsparameter kann den Programmablauf der Implementierung des Kryptographiealgorithmus derart beeinflussen, dass bei mehrmaligem Ausführen der Implementierung des Kryptographiealgorithmus mit jeweils unterschiedlichen Zufallsdaten und/oder unterschiedlichem Zufallsschlüssel und jeweils identischem Verschlüsselungsschlüssel und identischem Klartext oder mit jeweils unterschiedlichen Zufallsdaten und/oder unterschiedlichem Zufallsschlüssel und jeweils identischem Entschlüsselungsschlüssel und identischem Geheimtext der Programmablauf der Implementierung des Kryptographiealgorithmus jeweils unterschiedlich ist. Somit ist das Herausfinden des Verschlüsselungsschlüssels und/oder des Entschlüsselungsschlüssels durch Seitenkanalattacken erheblich erschwert, da der Programmablauf der Implementierung des Kryptographiealgorithmus bei identischem Verschlüsselungsschlüssel und identischem Klartext bzw. bei identischem Entschlüsselungsschlüssel und identischem Geheimtext sich jedes Mal (bei jeder Ausführung der Implementierung des Kryptographiealgorithmus) voneinander unterscheidet. Dadurch kann bei einer Seitenkanalattacke wenig bis gar keine Information durch die entsprechenden Maßnahmen gewonnen werden.
  • In einer Ausführungsform beeinflusst der Konfigurationsparameter die Reihenfolge der Abarbeitung verschiedener Programmteile der Implementierung des Kryptographiealgorithmus. Hierdurch werden Seitenkanalattacken noch weiter erschwert, da die Reihenfolge der Abarbeitung verschiedener Programmteile bei einem Durchlauf des Verfahrens sich jeweils ändert. Dadurch kann noch weniger bis gar keine Information durch Seitenkanalattacken gewonnen werden.
  • Der Konfigurationsparameter kann die Ausführungsdauer der Implementierung des Kryptographiealgorithmus beeinflussen. Vorteilhaft hieran ist, dass die Ausführungszeit der Implementierung des Kryptographiealgorithmus künstlich verlängert werden kann, z.B. zufällig festgesetzt werden, so dass einem Angreifer eine „falsche“ Ausführungszeit der Implementierung des Kryptographiealgorithmus vorgetäuscht bzw. vorgegaukelt werden kann.
  • Alternativ kann der Konfigurationsparameter die Ausführungsdauer der Implementierung des Kryptographiealgorithmus unabhängig vom Klartext oder Geheimtext festlegen. Vorteilhaft hieran ist, dass der Angreifer aus der Ausführungszeit der Implementierung des Kryptographiealgorithmus keinerlei Informationen gewinnen kann.
  • Die Aufgabe der Erfindung wird auch durch ein Verfahren zum Verriegeln und/oder Entriegeln einer Tür eines Kraftfahrzeugs und/oder Starten eines Kraftfahrzeugs mittels Daten, die von einem Kraftfahrzeugschlüssel ausgesendet und/oder empfangen werden, gelöst, wobei die zwischen dem Kraftfahrzeugschlüssel und dem Kraftfahrzeug zu sendenden bzw. empfangenen Daten mit einem Verfahren wie oben beschrieben verschlüsselt und/oder entschlüsselt wird. Ein Vorteil hiervon ist, dass Seitenkanalattacken aufgrund des Einflusses des Konfigurationsparameters und somit der Zufallsdaten und/oder des Zufallsschlüssels auf den Programmablauf der Implementierung des Kryptographiealgorithmus erschwert werden, da der Programmablauf der Implementierung des Kryptographiealgorithmus bei jedem Durchlaufen unterschiedlich ist. Somit wird die Sicherheit der Implementierung des Kryptographiealgorithmus, insbesondere gegen Seitenkanalattacken, erheblich erhöht. Zudem vorteilhaft an diesem Verfahren ist, dass das Kraftfahrzeug besser gegen unbefugtes Öffnen/Schließen (und somit gegen Diebstahl von Gegenständen aus dem Kraftfahrzeug sowie Vandalismus im Innenraum des Kraftfahrzeugs) und gegen Diebstahl des Kraftfahrzeugs selbst bzw. gegen unbefugten Gebrauch des Kraftfahrzeugs selbst gesichert ist.
  • Die Daten können mittels elektromagnetischer Wellen und/oder Radiowellen zwischen dem Kraftfahrzeugschlüssel und dem Kraftfahrzeug übertragen werden. Ein Vorteil hiervon ist, dass das Kraftfahrzeug bereits aus (sicherer) Entfernung verriegelt und/oder entriegelt und/oder gestartet werden kann.
  • Die Aufgabe der Erfindung wird auch durch ein computerlesbares Speichermedium, das ausführbare Maschinenbefehle speichert, welche einen Computer dazu veranlassen, das oben beschriebene Verfahren zu implementieren, wenn diese ausgeführt werden. Ein Vorteil hiervon ist, dass Seitenkanalattacken auf die Implementierung des Kryptographiealgorithmus aufgrund des Einflusses des Konfigurationsparameters und somit der Zufallsdaten und/oder des Zufallsschlüssels auf den Programmablauf der Implementierung des Kryptographiealgorithmus erschwert werden, da der Programmablauf der Implementierung des Kryptographiealgorithmus bei jedem Durchlaufen unterschiedlich ist. Somit wird die Sicherheit der Implementierung des Kryptographiealgorithmus, insbesondere gegen Seitenkanalattacken, erheblich erhöht.
  • Ebenfalls wird die Aufgabe durch ein Kraftfahrzeug mit einem solchen computerlesbaren Speichermedium gelöst. Darüber hinaus wird die Aufgabe der Erfindung durch einen Kraftfahrzeugschlüssel mit einem solchen computerlesbaren Speichermedium gelöst.
  • Bevorzugte Ausführungsformen ergeben sich aus den Unteransprüchen. Nachfolgend wird die Erfindung anhand von Zeichnungen von Ausführungsbeispielen näher erläutert. Hierbei zeigen:
  • 1 eine schematische Übersicht über eine Ausführungsform des erfindungsgemäßen Verschlüsselungsverfahrens;
  • 2 eine schematische Übersicht über eine Ausführungsform des erfindungsgemäßen Entschlüsselungsverfahrens; und
  • 3 eine Übersicht über ein Verschlüsselungsverfahren gemäß dem Stand der Technik.
  • Bei der nachfolgenden Beschreibung werden für gleiche und gleich wirkende Teile dieselben Bezugsziffern verwendet.
  • 1 zeigt eine schematische Übersicht einer Ausführungsform des erfindungsgemäßen Verschlüsselungsverfahrens. Bei dem Verfahren zum Verschlüsseln eines Klartextes 20 in einen Geheimtext 30, werden folgende Schritte ausgeführt. Ein Verschlüsselungsschlüssel 10 und Zufallsdaten und/oder ein Zufallsschlüssel 40 werden in einen Konfigurationsparametergenerator 60 als Eingangsdaten eingegeben. Mittels des Konfigurationsparametergenerators 60 wird ein Konfigurationsparameter 50 erzeugt. Der Konfigurationsparameter 50 wird vom Konfigurationsparametergenerator 60 ausgegeben. Der Konfigurationsparameter 50 ist abhängig bzw. eine Funktion von dem Verschlüsselungsschlüssel 40 und den Zufallsdaten und/oder einem Zufallsschlüssel 40. Anschließend werden der zu verschlüsselnde Klartext 20 (die geheim zu haltende Botschaft bzw. Information, die übermittelt werden soll) und der Konfigurationsparameter 50 als Eingangsdaten in eine Implementierung eines Kryptographiealgorithmus 70 eingegeben.
  • Der Kryptographiealgorithmus kann ein symmetrischer oder ein asymmetrischer Kryptographiealgorithmus sein. Beispielsweise kann der Kryptographiealgorithmus der RSA-Algorithmus, der Advanced Encryption Standard (AES), der Data Encryption Standard (DES bzw. Triple DES), der Algorithmus Blowfish, Serpent, der Algorithmus Twofish, der Algorithmus IDEA (International Data Encryption Algorithm), RC 4 (Rivest Cipher), RC 5 oder RC6 sein. Andere Kryptographiealgorithmen sind ebenfalls vorstellbar. Auch eine Kombination verschiedenen Kryptographiealgorithmen ist vorstellbar.
  • Die Implementierung des Kryptographiealgorithmus 70 ist die spezifische Programmierung des Kryptographiealgorithmus für ein bestimmtes (Computer-)System, d.h. die Umsetzung des rein auf mathematischen Anweisungen basierenden Kryptographiealgorithmus in eine praktische Umsetzung. Dies bedeutet, dass die Implementierung des Kryptographiealgorithmus 70 die jeweilige programmtechnische Umsetzung ist. Der Sourcecode eines Programms bzw. die compilierte ausführbare Datei stellt beispielsweise eine Implementierung des entsprechenden Kryptographiealgorithmus 70 dar. Der Sourcecode bzw. die compilierte ausführbare Datei ist natürlich abhängig vom jeweiligen Computersystem, auf dem die Implementierung des Kryptographiealgorithmus 70 ausgeführt wird bzw. werden soll. Auch vorstellbar ist eine Implementierung in einer nicht-systemspezifischen Sprache, wie z.B. Java. Hierbei kann keine Kompilierung durchgeführt werden. Alternativ ist eine Kompilierung jedoch möglich.
  • Anschließend wird die Implementierung des Kryptographiealgorithmus 70 ausgeführt. Die Implementierung des Kryptographiealgorithmus 70 gibt den Geheimtext 30 als Ausgabedaten aus. Dieser Geheimtext 30 kann nun an eine entsprechende Empfangsstelle gesandt werden. Dort wird der Geheimtext 30 beispielsweise mit dem Entschlüsselungsverfahren, das in Bezug auf die 2 erläutert ist, entschlüsselt, um den Klartext 20 wieder zu gewinnen.
  • Der Konfigurationsparameter 50 beeinflusst den Programmablauf der Implementierung des Kryptographiealgorithmus 70, insbesondere die Reihenfolge der Abarbeitung verschiedener Programmteile der Implementierung des Kryptographiealgorithmus 70. Der Konfigurationsparameter 50 umfasst Informationen über den (geheimen) Verschlüsselungsschlüssel als auch Daten über die Zufallsdaten und/oder den Zufallsschlüssel 40. Somit werden Informationen in dem Konfigurationsparameter 50 einerseits zum Verschlüsseln des Klartextes 20 in der Implementierung des Kryptographiealgorithmus 70 verwendet, anderseits werden Informationen in dem Konfigurationsparameter auch verwendet, um den Programmablauf der Implementierung des Kryptographiealgorithmus 70 zu beeinflussen. Beispielsweise kann der Konfigurationsparameter 50 dafür sorgen, dass verschiedene Programmteile der Implementierung des Kryptographiealgorithmus 70 in einer bestimmten (von den Zufallsdaten und/oder dem Zufallsschlüssel 40 abhängigen) Reihenfolge ausgeführt werden. Hierdurch werden Seitenkanalattacken, wie z.B. Differential Power Analysis (DPA), zeitbasierte Attacken (Timing Attacks) und Fehlerinjektionsattacken (Fault Injection Attacks) erheblich erschwert. Dies bedeutet, dass durch die entsprechenden Attacken wenig bis gar keine Information über den Verschlüsselungsschlüssel 10 und/oder Entschlüsselungsschlüssel 80 bzw. Klartext gewonnen werden können.
  • Der Konfigurationsparameter 50 kann auch dafür sorgen, dass die Ausführungszeit der Implementierung des Kryptographiealgorithmus 70 bei jeder Ausführung konstant bleibt, oder abhängig von dem Konfigurationsparameter 50 sich jeweils ändert.
  • 2 zeigt eine schematische Übersicht einer Ausführungsform des erfindungsgemäßen Verfahrens zum Entschlüsseln eines Klartextes 30. Ein Konfigurationsparameter 51, der eine Funktion von einem Entschlüsselungsschlüssel 80 und Zufallsdaten und/oder ein Zufallsschlüssel 41 ist, wird zusammen mit einem Geheimtext 30 in eine Implementierung des Kryptographiealgorithmus 71 als Eingangsdaten eingegeben. Die Implementierung des Kryptographiealgorithmus 71 gibt daraufhin den Klartext 20 als Ausgabedaten aus, wenn dieser ausgeführt wird. Der Konfigurationsparameter 51 beeinflusst den Programmablauf der Implementierung des Kryptographiealgorithmus 71, wie dies auch in Bezug auf das Verfahren zum Verschlüsseln eines Klartextes 20 in Verbindung mit 1 beschrieben wurde.
  • Für einen bestimmten Verschlüsselungsschlüssel 10 und/oder bestimmten Entschlüsselungsschlüssel 80 existiert eine Vielzahl von Konfigurationsparametern 50, 51. Für jeden Konfigurationsparameter 50, 51 existiert genau ein (eindeutiger) Verschlüsselungsschlüssel 10 und/oder Entschlüsselungsschlüssel 80. Selbst wenn bei dem Verfahren der Verschlüsselungsschlüssel 10 (oder Entschlüsselungsschlüssel 80) herausgefunden wird, ist das System jedoch noch nicht gebrochen. Um den Konfigurationsparameter 50, 51 zu gewinnen, muss ein komplettes Reverse Engineering des dynamischen Kryptographiealgorithmus bzw. der (dynamischen) Implementierung des Kryptographiealgorithmus 70, 71 durchgeführt werden. Hierdurch ist das Verfahren bei Blackbox-Analysen mittels Seitenkanalattacken deutlich sicherer.
  • Beispielsweise kann die Implementierung des Kryptographiealgorithmus 70, 71 gegen Seitenkanalattacken sicherer gemacht werden, indem eine oder mehrere der folgenden Methoden verwendet werden: Shared Encrypted Memory, Masking, Zugriff basierend auf Indexen (index based access) etc. Auch kann ein sogenannter Insanity Check vorgenommen werden um zu überprüfen, ob der Konfigurationsparameter 50, 51 nach dem Erzeugen verändert wurde oder nicht.
  • Beispielsweise kann der Konfigurationsparameter 50, 51 „12345678“ lauten. Bei diesem Beispiel werden die Funktionen f1, f2, f3, ... und f8 in der genannten Reihenfolge ausgeführt. Dies wird durch den Konfigurationsparameter 50, 51 festgelegt. Die Unterfunktionen f1 bis f8 können Teile des Konfigurationsparameters 50, 51 prozessieren, welcher in Folge einen Teil des Encrypted Shared Memories entschlüsselt und diesen im Entschlüsselungsvorgang verwendet. Die Funktionen f1 bis f8 können gegen bekannte Attacken, wie z.B. Zeitattacken, gehärtet bzw. besonders geschützt sein. So kann bei Implementierung des RSA-Algorithmus eine konstante Ausführungszeit für sowohl das Quadrieren als auch das Multiplizieren festgelegt werden.
  • Der (Entschlüsselungs- oder Verschlüsselungs-)Schlüssel kann auch im Sourcecode der Implementierung des Kryptographiealgorithmus 70, 71 enthalten sein und nur mit dem richtigen Konfigurationsparameter 50, 51 geöffnet (unlocked) werden.
  • Ein Verfahren zum Verriegeln und/oder Entriegeln einer Tür eines Kraftfahrzeugs, z.B. eines PKWs, eines LKWs oder eines Motorrads bzw. Rollers, und/oder Starten eines Kraftfahrzeugs, wie bzw. eines PKWs oder LKWs, mittels Daten, die von einem Kraftfahrzeugschlüssel ausgesendet und/oder empfangen werden, wird hier ebenfalls beschrieben. Die zwischen dem Kraftfahrzeugschlüssel und dem Kraftfahrzeug zu sendenden bzw. empfangenen Daten werden mit einem Verfahren zum Verschlüsseln und/oder Entschlüsseln, wie es bisher beschrieben wurde, verschlüsselt und/oder entschlüsselt. Die Daten können dabei mittels elektromagnetischer Wellen, z.B. Funkwellen und/oder Radiowellen, zwischen dem Kraftfahrzeugschlüssel, der dann als Funkschlüssel fungiert, und dem Kraftfahrzeug übertragen werden. Auch ein kabelgebundenes und/oder ein optisches Übertragungsverfahren sind vorstellbar. Durch dieses Verfahren zum Verschlüsseln bzw. Entschlüsseln wird sichergestellt, dass nur mit einem rechtmäßigen bzw. befugtem Kraftfahrzeugschlüssel die Tür oder Türen des Kraftfahrzeugs verriegelt und/oder entriegelt werden können bzw. das Fahrzeug gestartet werden kann. Hierdurch werden Diebstähle von Wertsachen aus dem Auto oder gar des gesamten Autos wirksam verhindert. Ebenso wird der unbefugte Gebrauch des Autos, LKW, Motorrads oder Rollers verhindert.
  • Beispielsweise kann in einem Kraftfahrzeug oder in einem Kraftfahrzeugschlüssel ein computerlesbares Speichermedium enthalten sein, das ausführbare Maschinenbefehle speichert, welche einen Computer dazu veranlassen, das oben beschriebene Verfahren zum Verschlüsseln und/oder das oben beschriebene Verfahren zum Entschlüsseln zu implementieren, wenn diese ausgeführt werden.
  • Das Kraftfahrzeug oder der Kraftfahrzeugschlüssel können einen entsprechenden Speicher aufweisen, in dem die Befehle zum Ausführen des Verfahrens gespeichert sind. Das Kraftfahrzeug bzw. der Kraftfahrzeugschlüssel können einen Prozessor (CPU) oder Computer aufweisen, auf dem die entsprechenden Befehle ausgeführt werden, so dass das (Verschlüssselungs- und/oder Entschlüsselungs-)Verfahren ausgeführt wird.
  • Das Kraftfahrzeug kann, wenn nach Entschlüsselung der empfangenen Daten der Kraftfahrzeugschlüssel authentifiziert wurde, einen Aktuator bedienen, der eine oder mehrere Türen (oder auch den Kofferraum) verriegelt und/oder entriegelt und/oder öffnet bzw. schließt. Ebenfalls ist es möglich, dass der Computer bzw. die CPU in dem Kraftfahrzeug einen Aktuator bedient, der wiederum den Anlasser bedient, um das Kraftfahrzeug zu starten. Ebenfalls vorstellbar ist, dass der Computer das Kraftfahrzeug bzw. den Motor des Kraftfahrzeugs auch stoppen kann.
  • Vorstellbar ist auch, dass ein zufälliger Wert bzw. Zufallsdaten in einen Konfigurationsparametergenerator 60, 61 als Eingabedaten eingegeben werden. Der Konfigurationsparametergenerator 60, 61 erzeugt mittels der Zufallsdaten einen Konfigurationsparameter 50, 51, der von den Zufallsdaten und einem Verschlüsselungsschlüssel abhängt, der in dem Konfigurationsparameter 50, 51 als Information enthalten ist. Der Konfigurationsparametergenerator 60, 61 enthält hierbei geheime Information. Der Konfigurationsparameter 50, 51 wird anschließend in eine Implementierung des Kryptographiealgorithmus als Eingabedaten eingegeben, zusammen mit einem zu verschlüsselnden Klartext 20. Die Implementierung des Kryptographiealgorithmus wird anschließend ausgeführt und der Geheimtext wird ausgegeben. Gleiches gilt entsprechend für das Verfahren zum Entschlüsseln eines Klartextes aus einem Geheimtext.
  • Der Konfigurationsparametergenerator 60 des Verschlüsselungsverfahrens kann gleich dem Konfigurationsparametergenerator 61 des Entschlüsselungsverfahrens sein. Die Implementierung des Kryptographiealgorithmus 70 des Verschlüsselungsverfahrens kann gleich der Implementierung des Kryptographiealgorithmus 71 des Entschlüsselungsverfahrens sein. Vorstellbar ist jedoch auch, dass der Konfigurationsparametergenerator 60, 61 bzw. die Implementierung des Kryptographiealgorithmus 70, 71 jeweils unterschiedlich sind.
  • Bezugszeichenliste
  • 10, 10‘
    Verschlüsselungsschlüssel
    20, 20‘
    Klartext
    30, 30‘
    Geheimtext
    40, 41
    Zufallsschlüssel/Zufallsdaten
    50, 51
    Konfigurationsparameter
    60, 61
    Konfigurationsparametergenerator
    70, 70‘, 71
    Implementierung eines Kryptographiealgorithmus
    80
    Entschlüsselungsschlüssel

Claims (12)

  1. Verfahren zum Verschlüsseln eines Klartextes (20) in einen Geheimtext (30), umfassend die Schritte: Erzeugen eines Konfigurationsparameters (50) abhängig von einem Verschlüsselungsschlüssel (10) und Zufallsdaten und/oder einem Zufallsschlüssel (40), Eingeben des Klartexts (20) und des Konfigurationsparameters (50) als Eingangsdaten in eine Implementierung eines Kryptographiealgorithmus (70), Ausführen der Implementierung des Kryptographiealgorithmus (70), und Ausgeben des Geheimtexts (30) als Ausgabedaten der Implementierung des Kryptographiealgorithmus (70), wobei der Konfigurationsparameter (50) den Programmablauf der Implementierung des Kryptographiealgorithmus (70) beeinflusst.
  2. Verfahren nach Anspruch 1, wobei der Konfigurationsparameter (50) derart abhängig von dem Verschlüsselungsschlüssel (10) und den Zufallsdaten und/oder dem Zufallsschlüssel (40) erzeugt wird, dass für einen Verschlüsselungsschlüssel (10), insbesondere für jeden Verschlüsselungsschlüssel (10), eine Vielzahl von unterschiedlichen Konfigurationsparameter (50) existieren, und dass für jeden Konfigurationsparameter (50) genau ein Verschlüsselungsschlüssel (10) existiert.
  3. Verfahren zum Entschlüsseln eines Klartextes (20) aus einem Geheimtext (30), wobei ein Konfigurationsparameter (51) eine Funktion von einem Entschlüsselungsschlüssel (80) und Zufallsdaten und/oder einem Zufallsschlüssel (41) ist, umfassend die Schritte: Eingeben des Geheimtexts (30) und des Konfigurationsparameters (51) als Eingangsdaten in eine Implementierung eines Kryptographiealgorithmus (71), Ausführen der Implementierung des Kryptographiealgorithmus (71), und Ausgeben des Klartexts (20) als Ausgabedaten der Implementierung des Kryptographiealgorithmus (71), wobei der Konfigurationsparameter (51) den Programmablauf der Implementierung des Kryptographiealgorithmus (71) beeinflusst.
  4. Verfahren nach einem der Ansprüche 1–3, wobei der Konfigurationsparameter (50, 51) derart erzeugt wird und/oder der Konfigurationsparameter (50, 51) den Programmablauf der Implementierung des Kryptographiealgorithmus (70, 71) derart beeinflusst, dass bei mehrmaligem Ausführen der Implementierung des Kryptographiealgorithmus (70, 71) mit jeweils unterschiedlichen Zufallsdaten und/oder unterschiedlichem Zufallsschlüssel (41) und jeweils identischem Verschlüsselungsschlüssel (10) und identischem Klartext (20) oder mit jeweils unterschiedlichen Zufallsdaten und/oder unterschiedlichem Zufallsschlüssel (41) und jeweils identischem Entschlüsselungsschlüssel (80) und identischem Geheimtext (30) der Programmablauf der Implementierung des Kryptographiealgorithmus (70, 71) jeweils unterschiedlich ist.
  5. Verfahren nach einem der Ansprüche 1–4, wobei der Konfigurationsparameter (50, 51) die Reihenfolge der Abarbeitung verschiedener Programmteile der Implementierung des Kryptographiealgorithmus (70, 71) beeinflusst.
  6. Verfahren nach einem der Ansprüche 1–5, wobei der Konfigurationsparameter (50, 51) die Ausführungsdauer der Implementierung des Kryptographiealgorithmus (70, 71) beeinflusst.
  7. Verfahren nach einem der Ansprüche 1–5, wobei der Konfigurationsparameter (50, 51) die Ausführungsdauer der Implementierung des Kryptographiealgorithmus (70, 71) unabhängig vom Klartext (20) oder Geheimtext (30) festlegt.
  8. Verfahren zum Verriegeln und/oder Entriegeln einer Tür eines Kraftfahrzeugs und/oder Starten eines Kraftfahrzeugs mittels Daten, die von einem Kraftfahrzeugschlüssel ausgesendet und/oder empfangen werden, wobei die zwischen dem Kraftfahrzeugschlüssel und dem Kraftfahrzeug zu sendenden bzw. empfangenen Daten mit einem Verfahren nach einem der Ansprüche 1–7 verschlüsselt und/oder entschlüsselt wird.
  9. Verfahren nach Anspruch 8, wobei die Daten mittels elektromagnetischer Wellen und/oder Radiowellen zwischen dem Kraftfahrzeugschlüssel und dem Kraftfahrzeug übertragen werden.
  10. Computerlesbares Speichermedium, das ausführbare Maschinenbefehle speichert, welche einen Computer dazu veranlassen, das Verfahren nach einem der Ansprüche 1 bis 9 zu implementieren, wenn diese ausgeführt werden.
  11. Kraftfahrzeug mit einem computerlesbaren Speichermedium gemäß Anspruch 10.
  12. Kraftfahrzeugschlüssel mit einem computerlesbaren Speichermedium gemäß Anspruch 10.
DE102014203056.0A 2014-02-20 2014-02-20 Verschlüsseln eines Klartextes in einen Geheimtext zur Sicherung eines Kraftfahrzeugs insbesondere gegen Diebstahl Pending DE102014203056A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102014203056.0A DE102014203056A1 (de) 2014-02-20 2014-02-20 Verschlüsseln eines Klartextes in einen Geheimtext zur Sicherung eines Kraftfahrzeugs insbesondere gegen Diebstahl

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102014203056.0A DE102014203056A1 (de) 2014-02-20 2014-02-20 Verschlüsseln eines Klartextes in einen Geheimtext zur Sicherung eines Kraftfahrzeugs insbesondere gegen Diebstahl

Publications (1)

Publication Number Publication Date
DE102014203056A1 true DE102014203056A1 (de) 2015-08-20

Family

ID=53758923

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102014203056.0A Pending DE102014203056A1 (de) 2014-02-20 2014-02-20 Verschlüsseln eines Klartextes in einen Geheimtext zur Sicherung eines Kraftfahrzeugs insbesondere gegen Diebstahl

Country Status (1)

Country Link
DE (1) DE102014203056A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102018220989A1 (de) 2018-12-05 2020-06-10 Volkswagen Aktiengesellschaft Verfahren zur Zugriffskontrolle für eine Vorrichtung, Vorrichtung zur Verwendung bei dem Verfahren sowie Fahrzeug und Authentifizierungselement

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102005051577B4 (de) * 2005-10-21 2008-04-30 Engel Solutions Ag Verfahren zur Verschlüsselung bzw. Entschlüsselung von Datenpaketen eines Datenstroms sowie Signalfolge und Datenverarbeitungssystem zur Ausführung des Verfahrens
DE102013204530A1 (de) * 2012-03-29 2013-10-02 International Business Machines Corporation Einrichtung und Verfahren zum Verschlüsseln von Daten
DE102012009491A1 (de) * 2012-05-14 2013-11-14 Valerie Carl Codebasierte Absicherung eines Schließ- oder Öffnungsvorgangs von Fahrzeugen mit Funkschlüsseln

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102005051577B4 (de) * 2005-10-21 2008-04-30 Engel Solutions Ag Verfahren zur Verschlüsselung bzw. Entschlüsselung von Datenpaketen eines Datenstroms sowie Signalfolge und Datenverarbeitungssystem zur Ausführung des Verfahrens
DE102013204530A1 (de) * 2012-03-29 2013-10-02 International Business Machines Corporation Einrichtung und Verfahren zum Verschlüsseln von Daten
DE102012009491A1 (de) * 2012-05-14 2013-11-14 Valerie Carl Codebasierte Absicherung eines Schließ- oder Öffnungsvorgangs von Fahrzeugen mit Funkschlüsseln

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102018220989A1 (de) 2018-12-05 2020-06-10 Volkswagen Aktiengesellschaft Verfahren zur Zugriffskontrolle für eine Vorrichtung, Vorrichtung zur Verwendung bei dem Verfahren sowie Fahrzeug und Authentifizierungselement

Similar Documents

Publication Publication Date Title
EP2433241B1 (de) Verschlüsselungsverfahren
EP3219043B1 (de) Gehärtete white box implementierung 1
DE102012201164B4 (de) Vorrichtung und verfahren zur erzeugung eines nachrichtenauthentifizierungscodes
EP2689553B1 (de) Kraftwagen-steuergerät mit kryptographischer einrichtung
DE102009046436A1 (de) Kryptographisches Hardwaremodul bzw. Verfahren zur Aktualisierung eines kryptographischen Schlüssels
DE102010027586A1 (de) Verfahren zum kryptographischen Schutz einer Applikation
DE102010028375A1 (de) Schutz vor kryptoanalytischen Seitenkanalattacken
EP3552344B1 (de) Bidirektional verkettete blockchainstruktur
DE102012015940A1 (de) Verfahren zum Betreiben eines Kraftwagens
EP3432185A1 (de) Verfahren und netzwerkeinrichtung zum schutz gegen manipulationen eines zumindest einen ersten gemäss asymmetrischem verschlüsselungsverfahren zur verschlüsselten kommunikation und/oder authentisierung erzeugten schlüsselpaar nutzenden gerätes
EP3387636B1 (de) Kryptoalgorithmus mit schlüsselabhängigem maskiertem rechenschritt (sbox-aufruf)
EP3314339B1 (de) Verfahren, server, firewall, steuergerät, und system zur programmierung eines steuergeräts eines fahrzeugs
DE102014203056A1 (de) Verschlüsseln eines Klartextes in einen Geheimtext zur Sicherung eines Kraftfahrzeugs insbesondere gegen Diebstahl
DE102013202322A1 (de) Verfahren zur verschlüsselten Datenübertragung zwischen zwei Komponenten eines Steuergeräts
EP2730050A1 (de) Verfahren zur erstellung und überprüfung einer elektronischen pseudonymen signatur
EP3556071B1 (de) Verfahren, vorrichtung und computerlesbares speichermedium mit instruktionen zum signieren von messwerten eines sensors
EP3369205B1 (de) Alternative darstellung des krypto-algorithmus des
WO2014063875A1 (de) Vorrichtung und verfahren zur ausführung eines kryptographischen verfahrens
DE102014019496A1 (de) Verfahren zur Steuerung eines Authentifizierungsschlüsselaustausches in Fahrzeugnetzwerken und ein Kraftfahrzeug
DE102005009490A1 (de) Verfahren, Vorrichtung, Gerät und System zum Schützen eines privaten Kommunikationsschlüssels für eine Fahrzeug-Umwelt-Kommunikation
EP1573955B1 (de) Verschl sselungsverfahren
DE102015209120A1 (de) Recheneinrichtung und Betriebsverfahren hierfür
DE102021000645B3 (de) Verfahren zur Überprüfung von kryptografischen Geheimnissen auf Gleichheit
DE112005001837B4 (de) Verfahren zum Schutz von Schlüsseln
EP3633914A1 (de) Verfahren und system zur nachweisbaren datenverarbeitung unter anwendung von obfuskation

Legal Events

Date Code Title Description
R163 Identified publications notified
R012 Request for examination validly filed