-
Die Erfindung betrifft ein Verfahren, eine Vorrichtung, ein System und ein Computerprogrammprodukt zur PQ-sicheren Aktualisierung einer Datenverarbeitungseinheit.
-
Aus dem Stand der Technik sind Verfahren zur PQ-sicheren Kommunikation zwischen einem Server und einem Client bekannt, bei der ein Server und ein Client kryptografische Nachrichten unter Verwendung ihrer privaten und öffentlichen Verschlüsselungs- und Signaturschlüssel austauschen, um einen symmetrischen Schlüssel abzuleiten, mit dem der Rest der Sitzung verschlüsselt wird.
-
Speziell im Automobilbereich sind verschlüsselte Verfahren bekannt, um über einen Server drahtlos mit einem Fahrzeug kommunikativ in Verbindung zu treten und Aktualisierungen auf Fahrzeugsteuereinheiten zu installieren. Dabei werden zeitkritische Kommunikationsinfrastrukturen, beispielsweise der CAN-Bus, und die zu aktualisierenden Fahrzeugsteuereinheiten stark belastet und/oder es wird keine Quantencomputersicherheit gewährleistet. Zudem wird für jede zu aktualisierende Fahrzeugsteuereinheit eines Fahrzeugs eine eigene Kommunikationsverbindung mit der Umgebung, i.e. der Cloud / dem Server, aufgebaut. Dies bedeutet, dass komplexe, aufwändige oder aufwändig zu verwaltende und potenziell angreifbare Kommunikationsbeziehungen zwischen einem Fahrzeug und seiner Umgebung vervielfacht werden.
-
Erfindungsgemäße Verfahren weisen die Merkmale der Ansprüche 1 und 4, erfindungsgemäße Vorrichtungen weisen die Merkmale der Ansprüche 8 und 9, ein erfindungsgemäßes System weist die Merkmale des Anspruchs 10 und ein erfindungsgemäßes Computerprogrammprodukt weist die Merkmale des Anspruchs 11 auf. Die abhängigen Ansprüche beschreiben vorteilhafte Ausführungen.
-
Ein erstes erfindungsgemäßes Verfahren zur Post-Quanten-sicheren (PQ-sicheren) Aktualisierung einer Datenverarbeitungseinheit, insbesondere zur Softwareaktualisierung einer elektronischen Steuereinheit (ECU, engl. „Electronic Control Unit“) eines Kraftfahrzeugs, umfasst die folgenden Schritte.
-
In einem Schritt empfängt die zu aktualisierende Einheit eine Nachricht zur Initiierung einer Kommunikationssitzung von einer steuernden Datenverarbeitungseinheit, insbesondere von einer telematischen Steuereinheit (TCU; engl. „Telematic Control Unit“) eines Kraftfahrzeugs. Dabei umfasst die Nachricht eine digitale Signatur die mittels eines PQ-sicheren privaten Signaturschlüssels der steuernden Einheit erzeugt wurde. In einem weiteren Schritt verifiziert die zu aktualisierende Einheit die digitale Signatur mittels eines PQ-sicheren öffentlichen Signaturschlüssels der steuernden Einheit. In einem nachfolgenden Schritt erstellt und versendet die zu aktualisierende Einheit eine Nachricht an die steuernde Einheit.
-
Das Erstellen der Nachricht umfasst dabei die nachfolgenden Teilschritte i) bis iii), in einer bevorzugten Ausführung zusätzlich einen Teilschritt iv):
- i) Ein zufälliger, PQ-sicherer symmetrischer Schlüssel und, in einer bevorzugten Ausführung, ein eindeutiger Stempel werden erzeugt.
- ii) Ein digitales Zertifikat der zu aktualisierenden Einheit und der Stempel werden mittels des PQ-sicheren symmetrischen Schlüssels verschlüsselt.
- iii) Der PQ-sichere symmetrische Schlüssel wird mittels eines PQ-sicheren öffentlichen Schlüssels der steuernden Einheit verschlüsselt.
- iv) Ein PQ-sicherer Nachrichtenauthentizitätscode (MAC, engl. „Message Authentication Code“), bevorzugt ein HMAC, wird mittels des PQ-sicheren symmetrischen Schlüssels sowie des verschlüsselten PQ-sicheren symmetrischen Schlüssels, des verschlüsselten Stempels und/oder des verschlüsselten digitalen Zertifikats der zu aktualisierenden Einheit erzeugt.
-
Dies hat insbesondere den Vorteil, dass die zu aktualisierende Einheit keinen privaten Signaturschlüssel und keinen privaten Verschlüsselungsschlüssel umfassen muss und keine entsprechenden Verfahren mit diesen durchführen muss.
-
Dabei bezeichnen asymmetrische Verfahren kryptographische Verfahren, die Paare zusammengehöriger Schlüssel verwenden. Jedes Schlüsselpaar besteht aus einem öffentlichen Schlüssel und einem entsprechenden privaten Schlüssel. Schlüsselpaare werden mit kryptografischen Algorithmen erzeugt, die auf mathematischen Problemen basieren, die als Einwegfunktionen bezeichnet werden.
-
Eine digitale Signatur, auch digitales Signaturverfahren, bezeichnet ein asymmetrisches Verfahren, bei dem ein Sender mit Hilfe eines geheimen Signaturschlüssels, dem privaten Schlüssel, zu einer digitalen Nachricht, d. h. zu beliebigen Daten, einen Wert berechnet, der ebenfalls digitale Signatur genannt wird. Dieser Wert ermöglicht es dem Empfänger, mit Hilfe des öffentlichen Verifikationsschlüssels des Senders, dem öffentlichen Schlüssel, die nichtabstreitbare Urheberschaft und Integrität der Nachricht zu prüfen.
-
Bei einer digitalen Signatur wird der private Schlüssel in der Regel nicht direkt auf die Nachricht angewendet, sondern auf deren Hash-Wert, der mittels einer Hashfunktion (wie z. B. SHA-1) aus der Nachricht berechnet wird.
-
Klassische asymmetrische Verfahren beruhen auf der Schwierigkeit der Primfaktorzerlegung und der Berechnung diskreter Logarithmen. Bei ausreichend leistungsstarken Quantencomputern können diese Probleme, insbesondere durch den Shor-Algorithmus, gelöst werden. Post-Quanten-sichere (PQ-sichere) kryptographische Verfahren bezeichnen Verfahren, die selbst unter Verwendung von Quantencomputern (praktisch) nicht zu entschlüsseln sind. Zu solchen Verfahren werden Verfahren auf Basis mathematischer Gitter, wie beispielsweise Ring-LWE, NTRUEncrypt, CRYSTALS DILITHIUM, multivariater Polynome, wie beispielsweise das Unbalanced-Oil-and-Vinegar-Verfahren, fehlerkorrigierender Codes, wie beispielsweise das McEliece-Kryptosystem, und supersingulärer elliptischer Kurven, beispielsweise SIKE, gezählt.
-
Insbesondere entschied das US National Institute of Standards and Technology (NIST) im Juli 2022, dass für allgemeine Verschlüsselungen die gitterbasierte CRYSTALS-Kyber Technologie verwendet werden wird und für digitale Signaturen die Algorithmen CRYSTALS-Dilithium, FALCON und SPHINCS+.
-
Symmetrische Verfahren bezeichnen kryptographische Verfahren, die dieselben kryptografischen Schlüssel sowohl für die Verschlüsselung des Klartextes als auch für die Entschlüsselung des Geheimtextes verwenden. Die Schlüssel können identisch sein, oder es kann eine einfache Umwandlung zwischen den beiden Schlüsseln geben. Bei der symmetrischen Verschlüsselung können insbesondere Blockchiffren verwendet werden. Blockchiffren verschlüsseln eine Anzahl von Bits in einer einzigen Einheit, wobei der Klartext aufgefüllt wird, um ein Vielfaches der Blockgröße zu erreichen.
-
Symmetrische Verschlüsselungsalgorithmen sind in der Regel effizienter als asymmetrische Algorithmen. Aus diesem Grund wird eine asymmetrische Verschlüsselung in der Regel nur für den Austausch eines geheimen symmetrischen Schlüssels verwendet.
-
Die meisten symmetrischen Verfahren gelten als gegen die Bedrohung durch die Post-Quanten-Kryptographie resistent. Zwar können Quantencomputer die Geschwindigkeit einer Entschlüsselung exponentiell erhöhen, beispielsweise mittels des Grovers Algorithmus. Jedoch kann dies durch eine Erhöhung der Schlüssellänge kompensiert werden. So wäre beispielsweise ein (klassisch verwendeter) 128-Bit-AES-Schlüssel nicht gegen einen solchen Angriff sicher. Im Gegensatz dazu würde ein Quantencomputer für die Dekodierung eines 256-Bit-AES-Schlüssels genauso viel Zeit benötigen wie ein herkömmlicher Computer für die Dekodierung eines 128-Bit-AES-Schlüssels. Aus diesem Grund gilt ein AES-256-Schlüssel als PQ-sicher.
-
PQ-sichere Verfahren bezeichnen somit solche asymmetrischen und symmetrischen Verfahren, die als PQ-sicher gelten, insbesondere aufgrund der Einschätzung anerkannter Standardisierungsorganisationen, wie beispielsweise dem NIST.
-
Datenverarbeitungseinheit bezeichnet eine elektronische Datenverarbeitungseinheit, beispielsweise einen Server, einen PC, ein Steuergerät oder einen Microcontroller.
-
Aktualisierung meint insbesondere die Aktualisierung von Parametern, Zertifikaten, Daten und/oder Software, welche in einer Datenverarbeitungseinheit gespeichert sind.
-
In einer bevorzugten Ausführung des erfindungsgemäßen Verfahrens empfängt und verifiziert in einem späteren Schritt die zu aktualisierende Einheit eine Nachricht mit einer verschlüsselten Aktualisierung von der steuernden Einheit. Dabei umfasst das Verifizieren der Nachricht die nachfolgenden Teilschritte i) und/oder ii):
- i) Die Integrität der Nachricht wird mittels eines in der Nachricht enthaltenen PQ-sicheren MACs, der verschlüsselten Aktualisierung und des PQ-sicheren symmetrischen Schlüssels verifiziert.
- ii) Die Authentizität der Nachricht wird mittels einer in der Nachricht enthaltenen digitalen Signatur und eines PQ-sicheren öffentlichen Signaturschlüssels der steuernden Einheit verifiziert.
-
In einer bevorzugten Ausführung des erfindungsgemäßen Verfahrens wird, sofern die Integrität und/oder die Authentizität der Nachricht verifiziert wurde, in einen folgenden Schritt die Aktualisierung mittels des PQ-sicheren symmetrischen Schlüssels wiederhergestellt und auf der zu aktualisierenden Einheit installiert.
-
In einer bevorzugten Ausführung des erfindungsgemäßen Verfahrens erstellt und versendet die zu aktualisierende Einheit in einem Schritt eine Nachricht zur Kommunikation des Ergebnisses der Installation an die steuernde Einheit.
-
Das Erstellen der Nachricht kann dabei die nachfolgenden Teilschritte i) und/oder ii) umfassen:
- i) Ein eindeutiger Stempel wird erzeugt und der Stempel, das Ergebnis der Installation und/oder das digitale Zertifikat der zu aktualisierenden Einheit wird mittels des PQ-sicheren symmetrischen Schlüssels verschlüsselt.
- ii) Ein PQ-sicherer MAC, beispielsweise ein HMAC, wird mittels des PQ-sicheren symmetrischen Schlüssels sowie des verschlüsselten Ergebnisses der Installation, des verschlüsselten Stempels und/oder des verschlüsselten digitalen Zertifikats der zu aktualisierenden Einheit erzeugt.
-
In einer bevorzugten Ausführung des erfindungsgemäßen Verfahrens wird das digitale Zertifikat der zu aktualisierenden Einheit einer eineindeutigen Identifikationsnummer der zu aktualisierenden Einheit erzeugt, insbesondere mittels eines privaten Signaturschlüssels des Herstellers der zu aktualisierenden Einheit.
-
Zudem kann das digitale Zertifikat in einem gesicherten Speicherbereich der zu aktualisierenden Einheit gespeichert werden, insbesondere durch den Hersteller der zu aktualisierenden Einheit. Weiter kann das Erzeugen des PQ-sicheren symmetrischen Schlüssels mittels eines Hardware-basierten Zufallszahlengenerators erfolgen und das Verifizieren der PQ-sicheren digitalen Signatur der steuernden Einheit insbesondere mittels eines FALCON-, eines SPHINCS+ oder, bevorzugt, eines CRYSTALS-Dilithium-Verfahrens erfolgen. Die PQ-sichere Verschlüsselung kann insbesondere mittels eines BIKE-, Classic McEliece-, HQC-, SIKE- oder, bevorzugt, eines CRYSTALS-KYBER-Verfahrens erfolgen, der PQ-sichere symmetrische Schlüssel kann bevorzugt einen AES256-Schlüssel und das Erzeugen eines PQ-sicheren MACs kann bevorzugt das Berechnen eines HMACs umfassen.
-
Ein Nachrichtenauthentifizierungscode (MAC, engl. „Message Authentication Code“) dient insbesondere dazu, die Integrität, d.h. die Abwesenheit unautorisierter Modifikationen, von Daten zu prüfen. MAC-Algorithmen erfordern zwei Eingabeparameter, erstens die zu schützenden Daten und zweitens einen geheimen Schlüssel, und berechnen aus beidem eine Prüfsumme, den Message Authentication Code MAC.
-
Ein aus dem Stand der Technik bekanntes Verfahren zur MAC-Berechnung ist der HMAC, welcher auf der Berechnung kryptographischer Hash-Funktionen basiert.
-
Eine kryptographische Hashfunktion bezeichnet eine Einwegfunktion, die effizient aus einem Eingabewert beliebiger Länge, etwa einer Nachricht oder einer Datei, einen Ausgabewert fester Länge erzeugt, den Hashwert. Zudem erfüllt sie weitere Eigenschaften, wie schwache und starke Kollisionsresistenz sowie (Pseudo-)Zufälligkeit.
-
MACs schützen nicht vor sogenannten Replay-Angriffen. Dazu muss die Nachricht selbst Daten enthalten, im Kontext der Erfindung als Stempel bezeichnet, die sicherstellen, dass Wiederholungen entdeckt werden können, wie beispielsweise Zeitstempel, Sequenznummern oder einmaligen Nummern zur Kennzeichnung einer jeweiligen Sitzung.
-
Die Generierung von Zufallszahlen ist ein Prozess, bei dem mit Hilfe eines Zufallszahlengenerators RNG eine Folge von Zahlen oder Symbolen erzeugt wird, die nicht besser als durch Zufall vorhergesagt werden kann. Dies bedeutet, dass die bestimmte Ergebnisfolge einige Muster enthält, die im Nachhinein erkennbar, aber im Voraus nicht vorhersehbar sind. Im Kontext der Erfindung meint zufällig „echt zufällig“ und Zufallszahlengenerator „Generator von echten Zufallszahlen“. Echte Zufallszahlengeneratoren können insbesondere Hardware-Zufallszahlengeneratoren (HRNGs) sein, bei denen jede Generierung eine Funktion des aktuellen Werts eines Attributs der physischen Umgebung ist, das sich ständig in einer Weise ändert, die praktisch unmöglich zu modellieren ist. Dies steht im Gegensatz zu den so genannten „Pseudo-Zufallszahlengeneratoren“, die von Pseudozufallszahlengeneratoren (PRNG) erzeugt werden, die nur scheinbar zufällige, in Wirklichkeit aber vorher festgelegte Zahlen generieren - diese Generationen können einfach reproduziert werden, wenn man den Zustand des PRNG kennt.
-
Zudem können die PQ-sicheren asymmetrischen Signatur- und/oder Verschlüsselungsverfahren mit klassischen asymmetrische Signatur- und/oder Verschlüsselungsverfahren kombiniert werden. Insbesondere für Anwendungen im Automobilbereich kann die zu aktualisierende Einheit eine ECU sein, die steuernde Einheit kann eine TCU sein und das Empfangen und Senden von Nachrichten kann mittels eines Busses, bevorzugt mittels eines CAN-Busses, erfolgen.
-
Ein zweites erfindungsgemäßes Verfahren umfasst, in einem Schritt das Empfangen und Verifizieren einer Nachricht von einer zu aktualisierenden Einheit durch eine steuernde Einheit. Das Verifizieren umfasst dabei die nachfolgenden Teilschritte i) und ii) und bevorzugt die nachfolgenden Teilschritte iii) und/oder iv).
- i) Ein PQ-sicherer, symmetrischer Schlüssel wird mittels eines privaten PQ-sicheren Schlüssels der steuernden Einheit wiederhergestellt.
- ii) Ein digitales Zertifikat der zu aktualisierende Einheit und, bevorzugt, ein Stempel wird mittels des wiederhergestellten PQ-sicheren symmetrischen Schlüssels wiederhergestellt.
- iii) Die Authentizität der Nachricht wird mittels des wiederhergestellten digitalen Zertifikats der zu aktualisierende Einheit und, bevorzugt, mittels des wiederhergestellten Stempels verifiziert.
- iv) Die Integrität der Nachricht wird mittels eines PQ-sicheren MACs sowie des wiederhergestellten PQ-sicheren symmetrischen Schlüssels, des verschlüsselten PQ-sicheren symmetrischen Schlüssels, des verschlüsselten Stempels und/oder des verschlüsselten digitalen Zertifikats der zu aktualisierende Einheit verifiziert.
-
In einer bevorzugten Ausführung umfasst das zweite erfindungsgemäße Verfahren einen oder mehrere der nachfolgenden Schritte:
- In einem Schritt wird auf die steuernde Einheit eine Aktualisierung für die zu aktualisierende Einheit von einem Aktualisierungsserver geladen.
-
In einem Schritt wird eine Nachricht zur Initiierung einer Kommunikationssitzung für eine Aktualisierung auf der zu aktualisierenden Einheit erstellt und gesendet. Erstellen der Nachricht umfasst dabei das Erzeugen einer digitalen Signatur mittels eines PQ-sicheren privaten Signaturschlüssels der steuernden Einheit.
-
In einem Schritt wird eine Nachricht erstellt und an die zu aktualisierende Einheit gesendet. Dabei umfasst das Erstellen der Nachricht den nachfolgenden Teilschritte i) und bevorzugt die nachfolgenden Teilschritte ii) und/oder iii):
- i) Die Aktualisierung wird mittels des wiederhergestellten PQ-sicheren symmetrischen Schlüssels verschlüsselt.
- ii) Ein PQ-sicherer MAC mittels des wiederhergestellten PQ-sicheren symmetrischen Schlüssels und der verschlüsselten Aktualisierung erzeugt.
- iii) Eine PQ-sichere digitalen Signatur wird mittels des PQ-sicheren MACs und des PQ-sicheren privaten Signaturschlüssels der steuernden Einheit erzeugt.
-
In einem Schritt wird eine Nachricht empfangen und verifiziert. Dabei umfasst das Verifizieren der Nachricht die nachfolgenden Teilschritte i) und ii) und bevorzugt den nachfolgenden Teilschritt iii).
- i) Das Ergebnis der Installation, ein digitales Zertifikat der zu aktualisierende Einheit und bevorzugt ein Stempel werden mittels des wiederhergestellten PQ-sicheren symmetrischen Schlüssels wiederhergestellt.
- ii) Die Authentizität der Nachricht wird mittels des wiederhergestellten digitalen Zertifikats der zu aktualisierende Einheit und/oder des wiederhergestellten Stempels verifiziert.
- iii) Die Integrität der Nachricht mittels eines PQ-sicheren MACs der Nachricht, des wiederhergestellten PQ-sicheren symmetrischen Schlüssels sowie des verschlüsselten Ergebnisses der Installation, des verschlüsselten digitalen Zertifikats der zu aktualisierende Einheit und/oder des verschlüsselten Stempels verifiziert.
-
In einem Schritt wird die Kommunikationssitzung zur Aktualisierung einer zu aktualisierenden Einheit nach Empfangen und Verifizieren des Ergebnisses der Installation beendet.
-
In einem Schritt werden die Ergebnisse der Installation einer Aktualisierung auf einer oder mehreren zu aktualisierenden Einheiten gesammelt und an einen Aktualisierungsserver gesendet.
-
Bevorzugt werden die privaten Schlüssel der steuernden Einheit in einem gesicherten Speicherbereich der steuernden Einheit gespeichert, insbesondere durch den Hersteller der steuernden Einheit. Weiter kann das Erzeugen der PQ-sicheren digitalen Signatur der steuernden Einheit insbesondere mittels eines FALCON-, eines SPHINCS+ oder, bevorzugt, eines CRYSTALS-Dilithium-Verfahrens erfolgen. Die PQ-sichere Verschlüsselung mittels eines privaten Schlüssels kann insbesondere mittels eines BIKE- , Classic McEliece-, HQC-, SIKE- oder, bevorzugt, eines CRYSTALS-KYBER-Verfahrens erfolgen, der PQ-sichere symmetrische Schlüssel kann bevorzugt einen AES256-Schlüssel und das Erzeugen eines PQ-sicheren MACs kann bevorzugt das Berechnen eines HMACs umfassen.
-
Zudem können die PQ-sicheren asymmetrischen Signatur- und/oder Verschlüsselungsverfahren mit klassischen asymmetrische Signatur- und/oder Verschlüsselungsverfahren kombiniert werden. Insbesondere für Anwendungen im Automobilbereich kann die steuernde Einheit kann eine TCU sein, die zu aktualisierende Einheit eine ECU sein, und das Empfangen und Senden von Nachrichten kann mittels eines Busses, bevorzugt mittels eines CAN-Busses, erfolgen.
-
In einer bevorzugten Ausführung umfassen das erste und/oder das zweite erfindungsgemäße Verfahren einen oder mehrere der nachfolgenden Schritte.
-
In einem Schritt wird eine Aktualisierung für eine zu aktualisierende Einheit hergestellt und/oder auf einen Aktualisierungsserver geladen. Dies erfolgt in einer sicheren, insbesondere PQ-sicheren Umgebung und/oder nach einem sicheren, insbesondere PQ-sicheren Verfahren.
-
In einem Schritt initiiert ein Aktualisierungsserver eine Kommunikationssitzung mit einer steuernden Einheit. Dies beinhaltet die Durchführung PQ-sicherer asymmetrischer Verfahren, bevorzugt in Kombination mit klassischen asymmetrischen Verfahren, zum Austausch eines PQ-sicheren symmetrischen Schlüssels, bevorzugt eines AES256-Schlüssels.
-
In einem Schritt sammelt und sendet ein Aktualisierungsserver die Ergebnisse der Installation einer Aktualisierung auf einer oder mehreren zu aktualisierenden Einheiten an den Hersteller der Aktualisierung und/oder der zu aktualisierenden Einheiten.
-
Eine erste erfindungsgemäße Vorrichtung umfasst eine Datenverarbeitungseinheit, insbesondere eine Elektronische Steuereinheit ECU. Die Datenverarbeitungseinheit umfasst ein Kommunikationsschnittstelle, eine Prozessoreinheit, einen Zufallszahlengenerator zur Erzeugung echter Zufallszahlen TRNG, bevorzugt einen Hardware-basierten Zufallszahlengenerator, einen Arbeitsspeicher und einen gesicherten Speicher.
-
Dabei ist die Kommunikationsschnittstelle eingerichtet Nachrichten zu senden und/oder zu empfangen, bevorzugt über einen CAN-Bus. Im Speicher sind eine eineindeutige Identifizierungsnummer der Datenverarbeitungseinheit, ein PQ-sicherer öffentlicher Signaturschlüssel und ein PQ-sicherer öffentlicher Verschlüsselungsschlüssel sowie bevorzugt zusätzlich ein klassischer öffentlicher Signaturschlüssel und ein klassischer öffentlicher Verschlüsselungsschlüssel, insbesondere einer zweiten, steuernden Datenverarbeitungseinheit, gespeichert. Im gesicherten Speicher ist ein digitales Zertifikat der Datenverarbeitungseinheit gespeichert.
-
Die Datenverarbeitungseinheit ist insbesondere eingerichtet, mittels des TRNG einen symmetrischen Verschlüsselungsschlüssel, bevorzugt einen AES256-Schlüssel, zu erzeugen, mittels der öffentlichen Schlüssel Daten zu verschlüsseln und digitale Signaturen zu verifizieren, mittels eines symmetrischen Verschlüsselungsschlüssel Daten zu verschlüsseln und wiederherzustellen und/oder einen MAC, bevorzugt einen HMAC, zu berechnen. Bevorzugt ist die Datenverarbeitungseinheit eingerichtet, eine Ausführungsform des ersten erfindungsgemäßen Verfahrens auszuführen.
-
Eine zweite erfindungsgemäße Vorrichtung umfasst eine Datenverarbeitungseinheit, insbesondere eine Telematische Steuereinheit. Die Datenverarbeitungseinheit umfasst eine erste Kommunikationsschnittstelle, eine zweite Kommunikationsschnittstelle, eine Prozessoreinheit, einen Speicher, einen gesicherten Speicher und bevorzugt einen Zufallszahlengenerator zur Erzeugung echter Zufallszahlen TRNG, insbesondere einen Hardware-basierten Zufallszahlengenerator.
-
Dabei ist die Kommunikationsschnittstelle eingerichtet, Nachrichten zu senden und/oder zu empfangen, bevorzugt über einen CAN-Bus. Die Kommunikationsschnittstelle ist eingerichtet, Nachrichten zu senden und/oder zu empfangen, bevorzugt über eine internetartige Infrastruktur, welche bevorzugt Komponenten zur drahtlosen Übermittlung von Daten umfasst. Im Speicher ist eine eineindeutige Identifizierungsnummer der Datenverarbeitungseinheit gespeichert. Im gesicherten Speicher sind ein PQ-sicherer privater Signaturschlüssel und ein PQ-sicherer privater Verschlüsselungsschlüssel, bevorzugt zusätzlich ein klassischer privater Signaturschlüssel und ein klassischer privater Verschlüsselungsschlüssel der Datenverarbeitungseinheit und ein digitales Zertifikat, insbesondere einer weiteren, zu aktualisierenden Einheit, gespeichert.
-
Dabei ist die Datenverarbeitungseinheit eingerichtet, mittels der privaten Schlüssel Daten zu verschlüsseln, wiederherzustellen und/oder digitale Signaturen zu erzeugen und zu verifizieren. Zudem ist die Datenverarbeitungseinheit eingerichtet, mittels eines symmetrischen Verschlüsselungsschlüssel, insbesondere eines AES256-Schlüssels, Daten zu verschlüsseln und wiederherzustellen, sowie bevorzugt einen MAC, insbesondere einen HMAC, zu berechnen. Bevorzugt ist die Datenverarbeitungseinheit eingerichtet, eine Ausführungsform des zweiten erfindungsgemäßen Verfahrens auszuführen.
-
Das erfindungsgemäße System umfasst eine erste (steuernde) Datenverarbeitungseinheit und eine zweite (zu aktualisierende) Datenverarbeitungseinheit. Dabei sind die erste Datenverarbeitungseinheit und die zweite Datenverarbeitungseinheit kommunikativ verbunden, bevorzugt mittels eines Busses, besonders bevorzugt mittels eines CAN-Busses.
-
Die erste Datenverarbeitungseinheit ist geeignet, mit einem Aktualisierungsserver über eine Kommunikationsinfrastruktur, bevorzugt über eine internetartige Infrastruktur, welche geeignet für eine drahtlose Kommunikation sein kann, zu kommunizieren. Bevorzugt ist das erfindungsgemäße System eingerichtet eine Ausführungsform des ersten und/oder des zweiten erfindungsgemäßen Verfahrens auszuführen.
-
Das erfindungsgemäße Computerprogrammprodukt umfasst computerlesbare Anweisungen, welche bei Ausführung durch eine oder mehrere Datenverarbeitungseinheiten diese veranlassen, eine Ausführungsform des ersten und/oder des zweiten erfindungsgemäßen Verfahrens auszuführen.
-
Die Erfindung kann ermöglichen, ohne besonders leistungsfähige Kommunikationsinfrastrukturen und Clients auszukommen und, speziell im Hinblick auf Anwendungen im Automobilbereich, Post-Quanten-Sicherheit, d.h. Robustheit gegenüber quantenbasierten Angriffen, End-to-End-Post-Quantensicherheit, d.h. Sicherheit für Anwendungen im Automobilbereich während eines gesamten Over-the-Air-(Software-)Aktualisierungsprozesses, sowie Kompatibilität mit bestehender Infrastruktur.
-
Nachfolgend werden erfindungsgemäße Ausführungsbeispiele näher erläutert. Dabei zeigt
- 1 ein Ausführungsbeispiel des erfindungsgemäßen Verfahrens für eine Ende-zu-Ende PQ-sichere Softwareaktualisierung für die Automobilindustrie;
- 2 bis 7 Ausführungsbeispiele für Nachrichten gemäß dem erfindungsgemäßen Verfahren;
- 8 ein Ausführungsbeispiel eines erfindungsgemäßen Systems; und
- 9 und 10 Ausführungsbeispiele von erfindungsgemäßen Datenverarbeitungseinheiten.
-
1 zeigt ein Ausführungsbeispiel des erfindungsgemäßen Verfahrens aus dem Automobilbereich zur PQ-sicheren Ende-zu-Ende drahtlosen (E2E Q-SOTA, engl. End-to-End Quantum-Secure Over-The-Air) Softwareaktualisierung von elektronischen Steuergeräten ECUs 102 eines Fahrzeugs.
-
In einem Schritt U1 des in der 1 gezeigten Ausführungsbeispiels erfolgt die Herstellung der Softwareaktualisierung 120 und deren Bereitstellung auf einem Aktualisierungsserver 100. Dabei werden aus dem Stand der Technik bekannte Kombination aus Post-Quantum- und klassischen kryptographischen Verfahren verwendet, wie asymmetrische Verschlüsselung, asymmetrische Signaturen, symmetrische Verschlüsselung, Generierung von echten Zufallszahlen, digitale Zertifikate 104, Zeitstempel 122, HMACs 124. Dadurch werden die Vertraulichkeit, Integrität und Authentizität der Softwareaktualisierung 120 während deren Entwicklung, Bereitstellung und Speicherung sichergestellt ist.
-
Im Schritt S2 initiiert der Aktualisierungsserver 100 eine Kommunikationssitzung mit dem Fahrzeug deren ECUs 102 die Softwareaktualisierung 120 erhalten sollen und tauscht einen PQ-sicheren symmetrischen Schlüssel 121 aus. Dabei werden aus dem Stand der Technik bekannte Kombination aus Post-Quantum- und klassischen kryptographischen Verfahren verwendet, wie asymmetrische Verschlüsselung, asymmetrische Signaturen, symmetrische Verschlüsselung, Generierung von echten Zufallszahlen, digitale Zertifikate 104, Zeitstempel 122, HMACs 124. Dabei können bei den asymmetrischen Verfahren jeweils ein PQ-sicheres Verfahren und ein klassisches Verfahren kombiniert werden.
-
Dabei baut der Aktualisierungsserver 100 allein mit der telematischen Steuereinheit (TCU; engl. „Telematic Control Unit“) 101 des Fahrzeugs eine Kommunikationsverbindung auf. In einer bevorzugten Ausführung beinhaltet der PQ-sichere symmetrischen Sitzungsschlüssel einen AES256-Schlüssel (engl. „Advanced Encryption Standard“), also ein AES-Schlüssel mit einer Länge von 256 Bit.
-
Weiter erstellt der Aktualisierungsserver 100 eine Nachricht M0 und sendet diese an die TCU 101. Wie in 2 gezeigt, umfasst die Nachricht M0 die mit einem AES256-Schlüssel verschlüsselte Softwareaktualisierung 130 mit einer digitalen Signatur des Herstellers 99, einen verschlüsselten Zeitstempel 132, einen HMAC 124 und eine klassische und eine PQ-sichere digitale Signatur 123, 133 des Aktualisierungsservers 100.
-
In einem Schritt T3 empfängt und verifiziert die TCU 101 die Nachricht M0 des Aktualisierungsservers 100. Sofern die Prüfung die Authentizität und die Integrität der Nachricht M0 und der Softwareaktualisierung 120 verifiziert, erfüllt die TCU 101 bei der Durchführung der Softwareaktualisierung 120 die Funktion des ansonsten fahrzeugexternen Aktualisierungsservers 100.
-
Dazu erstellt und versendet die TCU 101 in einem nachfolgenden Schritt T4 eine Nachricht M1 zur Initiierung einer Kommunikationssitzung an eine oder mehrere ECUs 102. Wie in 3 gezeigt, umfasst die Nachricht M1 eine Anfrage 140 zum Aufbau einer Kommunikationssitzung und einen Zeitstempel 122, welche in einer bevorzugten Ausführung zweifach signiert sind. Die eine digitale Signatur 123 wird mittels eines klassischen privaten Signaturschlüssels 105 und die andere digitale Signatur 133 mittels eines PQ-sicheren privaten Signaturschlüssels 115 von der TCU 101 erzeugt.
-
Im Schritt E5 empfängt eine jeweilige ECU 102 die Nachricht M1. Im Schritt E6 verifiziert die ECU 102 die Authentizität der Nachricht M1. Dazu verifiziert die ECU 102 den Zeitstempel 122 und die digitalen Signaturen 123, 133 der TCU 101 mittels der öffentlichen klassischen und PQ-sicheren Signaturschlüssel 106, 116 der TCU 101.
-
Ist die Authentizität der Nachricht M1 verifiziert, erstellt und sendet die ECU 102 eine Nachricht M2 in einem Schritt E7 an die TCU 101.
-
Wie in 4 gezeigt, umfasst die Nachricht M2 einen verschlüsseltes digitales Zertifikat 114 der ECU, einen verschlüsselten Zeitstempel 132, einen klassisch und PQ-sicher verschlüsselten symmetrischen Schlüssel, sowie einen PQ-sicheren MAC 124.
-
Das Erstellen der Nachricht M2 umfasst die Teilschritte E7 i) bis E7 iv).
-
Im Teilschritt E7 i) erzeugt die TCU 102 einen PQ-sicheren symmetrischen Schlüssel, im Ausführungsbeispiel einen AES256-Schlüssel 121, mittels eines Zufallszahlengenerators TRNGs 103, beispielsweise mittels eines Hardware-basierten Zufallszahlengenerators, und einen Zeitstempel 122.
-
Im Teilschritt E7 ii) verschlüsselt die ECU 102 das digitale Zertifikat 104 der ECU 102 und den Zeitstempel 122 mittels des im Teilschritt E7 i) erzeugten AES256-Schlüssels 121.
-
Im Teilschritt E7 iii) verschlüsselt die ECU 102 den erzeugten AES256-Schlüssel mittels des klassischen öffentlichen Schlüssels 108 und des PQ-sicheren öffentlichen Schlüssels 118 der TCU 101.
-
Im Teilschritt E7 iv) erzeugt die ECU 102 einen PQ-sicheren MAC 124, beispielsweise einen HMAC, mittels des AES256-Schlüssels 121 und mittels des in den Teilschritten E7 ii) und E7 iii) verschlüsselten digitalen Zertifikats 114, des verschlüsselten Zeitstempels 132 und des verschlüsselten AES256-Schlüssels 131.
-
Im Schritt T8 empfängt und prüft die TCU 101 die Nachricht M2 der ECU 102. Dabei umfasst das Prüfen die Teilschritte T8 i) bis T8 iv).
-
Im Teilschritt T8 i) wird der AES256-Schlüssel mittels des klassischen und des PQ-sicheren privaten Schlüssels 107, 117 der TCU 101 wiederhergestellt.
-
Im Teilschritt T8 ii) werden der Zeitstempel 122 und das digitale Zertifikat 104 der ECU 102 mittels des wiederhergestellten AES256-Schlüssels 121 wiederhergestellt.
-
Im Teilschritt T8 iii) werden der wiederhergestellte Zeitstempel 122 und das wiederhergestellte digitale Zertifikat 104 der ECU 102 verifiziert, um die Authentizität der Nachricht M2 sicherzustellen.
-
Im Teilschritt T8 iv) wird die Integrität mittels des wiederhergestellten AES256-Schlüssels 121, des MAC 124 sowie des verschlüsselten digitalen Zertifikats 114, des verschlüsselten Zeitstempels 132 und des verschlüsselten AES256-Schlüssels131 verifiziert.
-
Sofern die Prüfungen der Teilschritte T8 iii) und T8 iv) die Authentizität und die Integrität der Nachricht M2 verifizieren, erstellt und sendet die TCU 101 im Schritt T9 eine Nachricht M3 an die ECU 102.
-
Wie in 5 gezeigt umfasst die Nachricht M3 die verschlüsselte Softwareaktualisierung 130, einen verschlüsselten Zeitstemple 132, einen PQ-sicheren MAC 124 sowie eine klassische und eine PQ-sichere digitale Signatur 123, 133.
-
Das Erstellen der Nachricht M3 umfasst die Teilschritte T9 i) - T9 iii).
-
Im Teilschritt T9 i) wird ein Zeitstempel 122 erzeugt und dieser Zeitstempel 122 sowie die Softwareaktualisierung 120 mittels des AES256-Schlüssels 121 verschlüsselt.
-
Im Teilschritt T9 ii) wird ein PQ-sicherer MAC 124, beispielsweise ein HMAC, mittels des AES256-Schlüssels 121 und der in Teilschritt T9 i) verschlüsselten Softwareaktualisierung 130 und Zeitstempels 132 erzeugt.
-
Im Teilschritt T9 iii) wird der in Teilschritt T9 ii) erzeugte MAC 124 digital signiert, zum einen mittels des klassischen privaten Signaturschlüssels 105 und zum anderen mittels des PQ-sicheren privaten Signaturschlüssels 115 der TCU 101.
-
Im Schritt E10 empfängt und prüft die ECU 102 die Nachricht M3. In einem Teilschritt E10 i) wird die Integrität der Nachricht M3 mittels des MACs 124, der verschlüsselten Softwareaktualisierung 130, des verschlüsselten Zeitstempels 132 und des AES256-Schlüssels 121 verifiziert.
-
In einem Teilschritt E10 ii) wird der Zeitstempel 122 wiederhergestellt und verifiziert und die digitalen Signaturen 123, 133 mittels des klassischen öffentlichen Signaturschlüssels 106 und des PQ-sicheren öffentlichen Signaturschlüssels 116 der TCU 101 verifiziert.
-
Sofern die Prüfungen der Teilschritten E10 i) und E10 ii) die Authentizität und die Integrität der Nachricht M3 verifizieren, wird im Schritt E11 die Softwareaktualisierung 120 mittels des AES256-Schlüssels 121 wiederhergestellt. Im Schritt E12 wird die Softwareaktualisierung 120 auf der ECU 102 installiert.
-
Im Schritt E13 erstellt die ECU 102 eine Nachricht M4 und sendet diese an die TCU 101.
-
Die Nachricht M4 beinhaltet das Ergebnis der Installation 125, beispielsweise Installation erfolgreich oder nicht erfolgreich, und signalisiert die Beendigung der Kommunikationssitzung. Wie in 6 gezeigt, umfasst die Nachricht M4 das verschlüsselte digitale Zertifikat 114 der ECU 102, einen verschlüsselten Zeitstempel 132, das verschlüsselte Ergebnis der Installation 135 und einen PQ-sicheren MAC 124.
-
Das Erstellen der Nachricht M4 umfasst die Teilschritte E13 i) und E13 ii).
-
Im Teilschritt E13 i) wird ein Zeitstempel 122 erzeugt und das Ergebnis der Installation 125, der Zeitstempel 122 sowie das digitalen Zertifikat 104 der ECU 102 mittels des AES256-Schlüssels 121 verschlüsselt.
-
Im Teilschritt E13 ii) wird ein PQ-sicherer MAC 124, beispielsweise ein HMAC, mittels des AES256-Schlüssels121 sowie des verschlüsselten Ergebnisses der Installation 135, des verschlüsselten Zeitstempels 132 und des verschlüsselten digitalen Zertifikats 114 der ECU 102 erzeugt.
-
Im Schritt T14 empfängt und prüft die TCU 101 die Nachricht M4. Das Prüfen der Nachricht M4 umfasst dabei die Teilschritte T14 i) bis T14 iii).
-
Im Teilschritt T14 i) werden das Ergebnis der Installation 125, der Zeitstempel 122 und das digitale Zertifikat 104 der ECU 102 mittels des AES256-Schlüssels 121 wiederhergestellt.
-
Im Teilschritt T14 ii) wird die die Authentizität der Nachricht M4 mittels des wiederhergestellten digitalen Zertifikats 104 des wiederhergestellten Zeitstempels 122 verifiziert.
-
Im Teilschritt T14 iii) wird die Integrität der Nachricht M4 mittels des MACs 124 der Nachricht M4, des AES256-Schlüssels121 sowie des verschlüsselten Ergebnisses der Installation 135, des verschlüsselten Zeitstempels 132 und des verschlüsselten digitalen Zertifikats 114 verifiziert.
-
Sofern die Prüfung im Schritt T14 die Authentizität und die Integrität der Nachricht M4 verifizieren, werden im Schritt T15 das Ergebnis der Installation 125 der ECU 102 gespeichert und die Kommunikationssitzung mit der ECU 102 beendet.
-
Sofern während des Verfahrens in einem der Schritte T3 bis T14 eine Verifizierung fehlschlägt oder eine Softwareaktualisierung 135 erneut installiert werden soll, beginnt das Verfahren mit Schritt T3 neu.
-
Sofern mehrere ECUs 102 die Softwareaktualisierung 120 erhalten haben, können in einem Schritt T16 die Ergebnisse der Installationen 125 gesammelt und in einer Nachricht M5 an den Aktualisierungsserver 100 gesendet werden. Dabei umfasst die Nachricht M5, wie in 7 gezeigt, die verschlüsselten Ergebnisse der Installationen 125, einen erzeugten und verschlüsselten Zeitstempel 132, einen PQ-sicheren MAC 124 und eine mittels des klassischen privaten Signaturschlüssel 105 und eine mittels des PQ-sicheren privaten Signaturschlüssel und des MACs 124 erzeugte digitale Signatur 123, 133. Die Verschlüsselung der Ergebnisse der Installationen 125 und des Zeitstempels 132 erfolgt mittels des im Schritt S2 erzeugten und ausgetauschten, PQ-sicheren symmetrischen Schlüssels, bevorzugt eines AES256-Schlüssels.
-
In einem Schritt S17 kann die Nachricht M5 vom Aktualisierungsserver 100 empfangen, verifiziert und an die Ergebnisse der Installation 125 an den Hersteller 99 gesendet werden.
-
8 zeigt ein Ausführungsbeispiel für den Automobilbereich des erfindungsgemäßen Systems 200. Ein Aktualisierungsserver 100 ist mit einer TCU 101 über eine internetartige Infrastruktur, welche eine drahtlose Infrastruktur umfassen kann, kommunikativ verbunden. Die TCU 101 ist mit mehreren ECUs 102 über einen CAN-Bus 110 eines Fahrzeugs kommunikativ verbunden.
-
9 zeigt ein Ausführungsbeispiel für den Automobilbereich mit einer ECU als zu aktualisierender Datenverarbeitungseinheit 102. Die ECUs 102 umfasst eine Kommunikationsschnittstelle 128, eine Datenverarbeitungseinheit 126, einen Zufallszahlengenerator zur Erzeugung echter Zufallszahlen TRNG 103, wie beispielsweise einen Hardware-basierten Zufallszahlengenerator, einen Arbeitsspeicher 129 und einen gesicherten Speicher 119.
-
Im Speicher 129 ist eine eineindeutige Identifizierungsnummer 109 der ECU 102 gespeichert. Ferner sind im Speicher 129 der klassische und der PQ-sichere öffentliche Signaturschlüssel 106, 116 sowie der klassische und der PQ-sichere öffentliche Verschlüsselungsschlüssel 108, 118 eines Servers, im Ausführungsbeispiel für den Automobilbereich einer TCU 101 als Primär-Client, gespeichert.
-
Im gesicherten Speicher 119 ist ein digitales Zertifikat 104 der ECU 102 gespeichert. Das digitale Zertifikat 104 kann beispielsweise während der Herstellung der ECU 102 mit einem privaten Signaturschlüssel des Herstellers auf Basis der eineindeutigen Identifizierungsnummer 109 der ECU 102 erstellt und im gesicherten Speicher 119 gespeichert worden sein.
-
Die Datenverarbeitungseinheit 126 ist eingerichtet mittels des TRNG 103 einen symmetrischen Verschlüsselungsschlüssel, beispielsweise einen AES126-Schlüssel zu erzeugen, kryptographische Hash-Funktionen und MACs 124, beispielsweise HMACs, zu berechnen, sowie mittels der öffentlichen Schlüssel 106, 116, 108, 118 der TCU 101, Nachrichten zu verschlüsseln oder digitale Signaturen zu verifizieren.
-
Die Kommunikationsschnittstelle 128 der ECU 102 ist eingerichtet, Nachrichten über einen CAN-Bus 110 zu senden und ein Zeitsignal zur Synchronisierung einer internen Uhr der ECU 102 zu empfangenen.
-
Die ECU 102 ist eingerichtet, die Schritte E5 bis E7 und E10 bis E13 des erfindungsgemäßen Verfahrens auszuführen.
-
10 zeigt ein Ausführungsbeispiel für den Automobilbereich mit einer TCU 101 als steuernde Datenverarbeitungseinheit 101. Die TCU 101 umfasst eine Kommunikationsschnittstelle 127, eine Kommunikationsschnittstelle 128, eine Datenverarbeitungseinheit 126, einen Zufallszahlengenerator zur Erzeugung echter Zufallszahlen TRNG 103, wie beispielsweise einen Hardware-basierten Zufallszahlengenerator, einen Arbeitsspeicher 129 und einen gesicherten Speicher 119.
-
Im Speicher 129 ist eine eineindeutige Identifizierungsnummer 109 der TCU 101 gespeichert. Im gesicherten Speicher 119 sind ein klassischer und ein PQ-sicherer privater Signaturschlüssel 105, 115 sowie ein klassischer und ein PQ-sicherer privater Verschlüsselungsschlüssel 107, 117 der TCU 101 gespeichert. Ferner sind im gesicherten Speicher 119 digitale Zertifikate 104 der ECUs 102 als Sekundär-Clients gespeichert. Die Schlüssel und Zertifikate im gesicherten Speicher 119 können beispielsweise während der Herstellung der TCU 101 vom Hersteller oder zu einem späteren Zeitpunkt in einer entsprechend gesicherten Umgebung oder in einem entsprechend gesicherten Verfahren gespeichert worden sein.
-
Die Datenverarbeitungseinheit 126 ist eingerichtet mittels des TRNG 103 einen symmetrischen Verschlüsselungsschlüssel, beispielsweise einen AES126-Schlüssel zu erzeugen, kryptographische Hash-Funktionen und MACs 124, beispielsweise HMACs, zu berechnen, sowie mittels privater Schlüssel 106, 16, 108, 118 der TCU 101, Nachrichten zu verschlüsseln und zu entschlüsseln oder digitale Signaturen zu erstellen und zu verifizieren.
-
Die Kommunikationsschnittstelle 128 ist eingerichtet, Nachrichten über einen CAN-Bus 110 zu senden und ein Zeitsignal zur Synchronisierung einer internen Uhr der TCU 101 zu empfangenen.
-
Die Kommunikationsschnittstelle 127 ist eingerichtet, Nachrichten über eine internetartige Infrastruktur zu senden und zu empfangen.
-
Die TCU 101 ist eingerichtet, die Schritte T3, T4, T8, T9 und/oder T14 bis T16 des erfindungsgemäßen Verfahrens auszuführen.