-
Die Erfindung betrifft eine verschlüsselte Kommunikation zwischen einem Gerät und einer Vorrichtung. Dabei befindet sich die Vorrichtung insbesondere an Bord eines Kraftfahrzeugs.
-
Zur Herstellung einer verschlüsselten Kommunikationsverbindung zwischen einem ersten und einem zweiten Kommunikationspartner sind unterschiedliche Verfahren bekannt, von denen einige auch eine Authentifizierung des ersten Partners gegenüber dem zweiten unterstützen. Hierbei kann zumindest der zweite Partner die Identität des ersten verifizieren, sodass die Verbindung nicht mit beliebigen, sondern mit ausgewählten Partnern hergestellt werden kann.
-
Hierzu muss üblicherweise seitens des ersten Partners eine Information vorliegen, die den zweiten Partner kennzeichnet. Ein solches Verfahren ist als PACE bekannt und kann beispielsweise verwendet werden, um eine gesicherte Kommunikation zwischen einem in einem Personalausweis angebrachten RFID und einem entfernten Rechner zu etablieren.
-
Solche Verfahren sind zum Einsatz an Bord eines Kraftfahrzeugs jedoch nur bedingt geeignet. Anders als der entfernte Rechner ist ein physischer Zugang zu einer an Bord eines Kraftfahrzeugs angebrachten Vorrichtung relativ leicht zu erhalten. Die Kommunikation kann abgehört werden oder die Vorrichtung kann manipuliert oder analysiert werden. Ein in der Vorrichtung hinterlegter Hinweis auf einen Kommunikationspartner kann zur Nachbildung der Identität oder eines Kommunikationsschlüssels des zweiten Partners verwendet werden.
-
Eine der Erfindung zu Grunde liegende Aufgabe besteht darin, ein verbessertes Verfahren zum Authentifizieren eines Geräts gegenüber einem Kraftfahrzeug anzugeben. Die Erfindung löst die Aufgabe mittels der Gegenstände der unabhängigen Ansprüche. Unteransprüche geben bevorzugte Ausführungsformen wieder.
-
Seitens eines Kraftfahrzeugs sind ein erster Einweg-Hash x eines Passworts p, und ein verschlüsselter Wert V aus dem zweiten Einweg-Hash y des Passworts p abgelegt.
-
Nach einem ersten Aspekt der Erfindung umfasst ein Verfahren zum Authentifizieren eines Geräts gegenüber dem Kraftfahrzeug Schritte des Durchführens eines PACE-Verfahrens, um seitens des Geräts und des Kraftfahrzeugs den gleichen Sitzungsschlüssel zu bestimmen; des Erzeugens eines Kommunikationsschlüssels seitens des Kraftfahrzeugs auf der Basis des Sitzungsschlüssels und des verschlüsselten Einweg-Hashs V; und des Erzeugens des Kommunikationsschlüssels seitens des Geräts auf der Basis des Sitzungsschlüssels und des zweiten Einweg-Hashs y.
-
Durch die beschriebene Bestimmung des Sitzungsschlüssels kann das zur Familie symmetrischen der PAKE (Password Authenticated Key Exchange) Verfahren zählende PACE zu einem asymmetrischen PAKE verbessert (augmented) werden. Das erweiterte Verfahren wird hierin auch PACE+ genannt.
-
Mittels des PACE+ Verfahrens kann eine sichere Kommunikation zwischen dem Gerät und dem Kraftfahrzeug etabliert werden. Dabei können Informationen, die seitens des Kraftfahrzeugs zur Identifikation des Geräts abgelegt sind, so gestaltet, dass aus ihnen das empfängerseitig verwendete Passwort nicht abgeleitet werden kann. Das Hinterlegen von kryptographischen Informationen seitens des Kraftfahrzeugs wird auch Provisionieren genannt. Ein Diebstahl der Informationen nach dem Provisionieren durch einen Angreifer kann ungefährlich sein.
-
Auf der Basis des bestimmten Sitzungsschlüssels kann ein beliebiger Austausch von Informationen erfolgen. Beispielsweise kann das Kraftfahrzeug über ausgetauschte Informationen gesteuert werden. Insbesondere können ein Schließsystem oder eine Wegfahrsperre auf diese Weise deaktiviert werden.
-
Bevorzugt ist der zweite Einweg-Hash y des Passworts bezüglich eines vorbestimmten Basispunkts eines Verschlüsselungssystems verschlüsselt. Der Basispunkt kann beispielsweise seitens des Geräts gewählt sein.
-
Das Gerät kann mit dem Kraftfahrzeug verknüpft werden, falls eine verschlüsselte Kommunikation auf der Basis des Kommunikationsschlüssels möglich ist. Im Folgenden können praktisch beliebige Informationen zwischen dem Gerät und der Vorrichtung an Bord des Kraftfahrzeugs ausgetauscht werden.
-
Weiter bevorzugt wird eine Verschlüsselung auf der Basis elliptischer Kurven durchgeführt wird. Dies kann sowohl das PACE-Verfahren als auch die Bestimmung von V im Rahmen des Provisionierens betreffen.
-
Es ist weiter bevorzugt, dass das Gerät ein mobiles Gerät umfasst. Das Gerät kann insbesondere einem Benutzer zugeordnet sein, dem die Nutzung einer vorbestimmten Funktion des Kraftfahrzeugs erlaubt ist. Durch das Austauschen von Informationen über die geschilderte Kommunikationsverbindung kann der Benutzer authentifiziert sein, sodass die Funktion ermöglicht werden kann. Die Funktion kann insbesondere einen üblichen Betrieb bzw. eine Verwendung des Kraftfahrzeugs umfassen.
-
Es ist weiterhin bevorzugt, dass das Gerät ein einem vorbestimmten Benutzer zugeordnetes persönliches Gerät umfasst. Das Gerät kann insbesondere ein Mobiltelefon (Smartphone) umfassen, das üblicherweise nur durch den Benutzer verwendet wird.
-
Nach einem weiteren Aspekt der Erfindung ist eine Vorrichtung an Bord eines Kraftfahrzeugs dazu eingerichtet, einen ersten Einweg-Hash x eines Passworts p, und einen verschlüsselten Wert V aus dem zweiten Einweg-Hash y des Passworts p zu speichern; ferner ein PACE-Verfahren mit einem Gerät durchzuführen, um einen Sitzungsschlüssel zu bestimmen; einen Kommunikationsschlüssel auf der Basis des Sitzungsschlüssels und des verschlüsselten Einweg-Hashs V zu erzeugen und eine auf der Basis des Kommunikationsschlüssels verschlüsselte Kommunikation mit dem Gerät zu führen.
-
Nach noch einem weiteren Aspekt der Erfindung umfasst ein Kraftfahrzeug eine hierin beschriebene Vorrichtung.
-
Ein zu der hierin beschriebenen Vorrichtung an Bord des Kraftfahrzeugs korrespondierendes Gerät ist dazu eingerichtet, ein PACE-Verfahren mit der Vorrichtung durchzuführen, um einen Sitzungsschlüssel zu bestimmen; und einen Kommunikationsschlüssel auf der Basis des Sitzungsschlüssels und eines Einweg-Hashs y eines für das PACE-Verfahren verwendeten Passworts p zu bestimmen.
-
Auf der Basis des Kommunikationsschlüssels können das Gerät und die Vorrichtung an Bord des Kraftfahrzeugs eine verschlüsselte Kommunikation führen.
-
Zur Durchführung wenigstens eines Teils eines hierin beschriebenen Verfahrens können das Gerät und/oder die Vorrichtung jeweils eine Verarbeitungsvorrichtung kann einen programmierbaren Mikrocomputer oder Mikrocontroller umfassen und das Verfahren kann in Form eines Computerprogrammprodukts mit Programmcodemitteln vorliegen. Das Computerprogrammprodukt kann auch auf einem computerlesbaren Datenträger abgespeichert sein. Merkmale oder Vorteile des Verfahrens können auf die Vorrichtung oder das Gerät übertragen werden oder umgekehrt.
-
Die Erfindung wird nun mit Bezug auf die beigefügten Zeichnungen genauer beschrieben, in denen:
- 1 ein System; und
- 2 ein Ablaufdiagramm eines Verfahrens
illustriert.
-
1 zeigt ein System 100, das ein Kraftfahrzeug 105 und ein Gerät 110 umfasst. An Bord des Kraftfahrzeugs 105 ist eine Vorrichtung 115 angebracht, die bevorzugt eine Übertragungsvorrichtung 120 und eine Verarbeitungsvorrichtung 125 umfasst.
-
Die Vorrichtung 115 und das Gerät 110 sind dazu eingerichtet, über eine bevorzugt drahtlose Schnittstelle 130 miteinander zu kommunizieren, wozu die Vorrichtung 115 insbesondere die Übertragungsvorrichtung 120 einsetzen kann. Die Schnittstelle 130 kann zur Übertragung in einem vorbestimmten Nahbereich eingeschränkt sein, beispielsweise in einem Abstand von typisch ca. 10 Meter zwischen dem Kraftfahrzeug 105 und dem Gerät 110. In einer weiteren Variante kann die Schnittstelle zur Kommunikation mit dem Gerät 110 in einem Innenraum des Kraftfahrzeugs 105 eingerichtet sein.
-
Das Gerät 110 ist bevorzugt einem Benutzer 135 zugeordnet und kann weiter bevorzugt ein Mobilgerät umfassen, das zur mobilen Verwendung eingerichtet ist, beispielsweise als Mobiltelefon, Smartphone, Tablet Computer oder Laptop Computer. Der Benutzer 135 kann dem Kraftfahrzeug 105 zugeordnet sein, beispielsweise als Fahrer, Fahrgast, Eigentümer, Mieter oder Leasingnehmer.
-
Eine Kommunikation zwischen dem Gerät 110 und der Vorrichtung 115 soll verschlüsselt erfolgen, wobei die Verschlüsselung von einem Passwort abhängen soll, das seitens des Geräts 110 - insbesondere seitens des Benutzers 135 - bekannt ist. Weiter ist bevorzugt, dass Informationen über das Passwort in keiner Form in der Vorrichtung 115 abgelegt sind, dass ein Angreifer daraus das Passwort algorithmisch rekonstruieren könnte.
-
Ein hierin beschriebenes Verfahren kann zur Herstellung einer verschlüsselten Kommunikation genutzt werden. In einer Ausführungsform kann dadurch das Gerät 110 gegenüber der Vorrichtung 115, oder der Benutzer 135 gegenüber dem Kraftfahrzeug 105 authentifiziert werden. Die Nutzung einer Funktion kann erst nach erfolgter Authentifizierung ermöglicht sein.
-
2 zeigt ein Ablaufdiagramm eines Verfahrens 200 zur verschlüsselten Kommunikation zwischen einem Gerät 110 und einer Vorrichtung 115, die bevorzugt an Bord eines Kraftfahrzeugs 105 angebracht ist. Das Verfahren 200 kann insbesondere mittels Elementen des Systems 100 durchgeführt werden.
-
Im Folgenden wird eine Formelschreibweise verwendet, in der ein kleiner lateinischer Buchstabe einer Zahl und ein großer lateinischer Buchstabe einem Punkt auf einer elliptischen Kurve entspricht, der zur Verschlüsselung oder Entschlüsselung verwendet wird. Eine zufällig gewählte Zeichenfolge zur Entropieerhöhung bei der Bildung eines Einweg-Hashes wird auch Salt genannt und hier mit s abgekürzt.
-
In 2 sind exemplarisch Schritte, die bevorzugt seitens des Kraftfahrzeugs 105 bzw. der Vorrichtung 115 durchgeführt werden, links dargestellt und Schritte, die bevorzugt seitens des Geräts 110 bzw. des Benutzers 135 durchgeführt werden, rechts dargestellt. Ein in der Mitte dargestellter Schritt kann beide Seiten betreffen.
-
Ein erster Abschnitt 205 des Verfahrens 200 betrifft das Provisionieren, also das Hinterlegen von Informationen, die für eine spätere Authentifizierung zwischen den Kommunikationspartnern 110 und 115 erforderlich sind. Ein zweiter Abschnitt 210 betrifft das Aushandeln oder Erstellen einer verschlüsselten Kommunikationsverbindung zwischen dem Gerät 110 und der Vorrichtung 115. Beide Abschnitte 205, 210 können auch als eigenständige Verfahren aufgefasst werden.
-
Bezug nehmend auf den ersten Abschnitt 205 kann in einem Schritt 215 ein Passwort p bestimmt werden, das der Benutzer 135 später zur Authentifizierung verwenden soll. Der Benutzer 135 kann ein beliebiges Passwort p wählen oder es kann ein Passwort p vorgeschlagen werden, das der Benutzer 135 akzeptieren kann. Bevorzugt umfasst das Passwort p eine Kette insbesondere alphanumerischer Zeichen, die sich der Benutzer 135 merken und mittels einer realen oder virtuellen Tastatur in das Gerät 110 eingeben kann. Eine Operation * steht für eine Multiplikation einer Zahl mit einem Punkt einer elliptischen Kurve, eine Operation • für eine Multiplikation zweier Zahlen. ⊕ bezeichnet eine Addition, ⊖ eine Subtraktion auf elliptischen Kurven.
-
In einem Schritt 220 können auf der Basis des Passworts mittels einer ersten Einweg-Hashfunktion H ein erster Einweg-Hash x=H(s,p) und mittels einer zweiten Einweg-Hashfunktion G ein zweiter Einweg-Hash y=G(s,p) bestimmt werden. Der zweite Einweg-Hash y wird bevorzugt mittels eines gewählten Generator- oder Basispunkts G verschlüsselt: V = y * G. Diese Operationen können seitens des Geräts 110 oder seitens einer externen Stelle durchgeführt werden, die sich bevorzugt nicht an Bord des Kraftfahrzeugs 105 befindet. In einem Schritt 225 werden bevorzugt x und V, das Salt s, sowie eine Identifikation I des Benutzers 135 in der Vorrichtung 115 hinterlegt.
-
Bezug nehmend auf den zweiten Abschnitt 210 wird zunächst in Schritten 230 bis 260 ein an sich bekanntes PACE-Verfahren (Password Authenticated Connection Establishment) durchgeführt, das eine Authentisierung und einen sicheren Schlüsselaustausch zur Herstellung einer kryptographisch abgesicherten Kommunikationsverbindung umfasst. Das PACE-Verfahren ist in der Technischen Richtlinie TR-03110 des Deutschen Bundesamts für Sicherheit in der Informationstechnik (BSI) genau beschrieben. PACE zählt zur Familie der Password Authenticated Key Exchange (PAKE) Protokolle. Durch nachfolgende Schritte 265 bis 275 des zweiten Abschnitts 210 entsteht insgesamt ein Verbessertes (Augmented) PAKE-Verfahren, das hierin auch PACE+ genannt wird.
-
In einer genaueren Betrachtung kann in einem Schritt 230 seitens des Geräts 110 eine Zufallszahl a gewählt und verschlüsselt werden: A = α * G. Die verschlüsselte Zufallszahl A wird bevorzugt zusammen mit einem Salt s an die Vorrichtung 115 übermittelt. In umgekehrter Richtung kann seitens der Vorrichtung 115 eine Zufallszahl b gewählt und verschlüsselt werden: B = b * G. Die verschlüsselte Zufallszahl B wird bevorzugt zusammen mit einem Salt s an das Gerät 110 übermittelt. Auf beiden Seiten kann die empfangene Information auf einen Erzeuger der verwendeten mathematischen Gruppe abgebildet werden: T = a * B = (a · b) * G = (b·a)*G =b*A.
-
In einem Schritt 250 erfolgt bevorzugt der tatsächliche Schlüsselaustausch. Dazu kann der Benutzer 135 das Passwort p in das Gerät 110 eingeben und der Einweg-Hash x = H(s,p) kann bestimmt werden. Eine gewählte Zufallszahl c kann auf der Basis von x verschlüsselt werden: C = Encx(c). Die verschlüsselte Zufallszahl C kann dann an die Vorrichtung 115 an Bord des Kraftfahrzeugs 105 übermittelt werden.
-
Die Vorrichtung 115 kann die empfangene Zufallszahl entschlüsseln: c = Decx(C). Dabei wird eine Entschlüsselung Decx verwendet, die zur Verschlüsselung Encx korrespondiert und auf dem Einweg-Hash x basiert. Die Vorrichtung 115 und das Gerät 110 können dann jeweils einen vorübergehenden Generatorpunkt D bestimmen: D = c * G © T. Auf der Basis von D kann dann eine Diffie-Hellmann Vereinbarung getroffen werden.
-
Seitens des Geräts 110 kann eine weitere Zufallszahl e bestimmt werden, die mit D verschlüsselt werden kann: F = e * D. Seitens der Vorrichtung 115 kann eine weitere Zufallszahl f bestimmt werden, die mit D verschlüsselt werden kann: F = f * D. Die bestimmten verschlüsselten Zufallszahlen E und F werden dann bevorzugt an den jeweils anderen Kommunikationspartner übermittelt, also E vom Gerät 110 an die Vorrichtung 115 und F von der Vorrichtung 115 an das Gerät 110. Die Vorrichtung 115 kann dann einen ersten Kommunikationsschlüssel KH = e * F = (e · f) * D bestimmen und das Gerät 110 kann einen zweiten Kommunikationsschlüssel KU = f * E = (f · e) * D bestimmen. Dabei gilt: K = KU = KH.
-
Sollte die Entschlüsselung einer mittels K verschlüsselten und zwischen den Kommunikationspartnern 110, 115 übermittelten Nachricht empfängerseitig nicht möglich sein, so gilt der zweite Abschnitt 210 des Verfahrens 200 allgemein als gescheitert und kann abgebrochen oder neu begonnen werden.
-
Im Anschluss an das PACE-Verfahren der Schritte 230 bis 260 kann in einem Schritt 265 seitens der Vorrichtung 115 ein Kommunikationsschlüssel sk = H(x, T, D, K, b * V) gebildet werden. Dies ist möglich, weil im ersten Abschnitt 205 b und V in der Vorrichtung 115 hinterlegt wurden. Seitens des Geräts 110 kann ein Kommunikationsschlüssel sk = H(x, T, D, K, y * B) gebildet werden. Dazu kann das Gerät 110 die verschlüsselte Zufallszahl B aus dem Diffie-Hellmann-Schlüsselaustausch verwenden.
-
Die beiden gebildeten Kommunikationsschlüssel sk sind identisch, da gilt:
-
Diese zusätzlichen Operationen verwandeln das bekannte PACE-Verfahren in ein verbessertes PAKE-Protokoll, da auf Seiten der Vorrichtung 115 nur V verwendet wird, während auf Seiten des Geräts 110 der unverschlüsselte Wert y erforderlich ist, der auf der Basis des Schlüssels p gebildet werden muss.
-
In einem folgenden Schritt 275 kann eine Kommunikation zwischen der Vorrichtung 115 und dem Gerät 110 auf der Basis des Kommunikationsschlüssels sk durchgeführt werden. Ist dies nicht möglich, so kann der zweite Abschnitt 210 des Verfahrens 200 als gescheitert angesehen werden. Die Kommunikation kann die Herstellung einer Verbindung umfassen, die auch Sitzung genannt wird, wobei der Vorgang des Verbindens auch Paarung (Pairing) genannt werden kann.
-
Die Komplexität des vorgeschlagenen zweiten Abschnitts 210 des Verfahrens 200 ist überschaubar. Seitens der Vorrichtung 115 sind zur Bestimmung des Kommunikationsschlüssels sk sechs Skalarmultiplikationen oder vier Skalarmultiplikationen und eine bilineare Skalarmultiplikation durchzuführen. Der Aufwand seitens des Geräts 110 ist gleich groß.
-
Bezugszeichenliste
-
- 100
- System
- 105
- Kraftfahrzeug
- 110
- Gerät, Mobilgerät
- 115
- Vorrichtung
- 120
- Übertragungsvorrichtung
- 125
- Verarbeitungsvorrichtung
- 130
- Schnittstelle
- 200
- Verfahren
- 205
- erster Abschnitt
- 210
- zweiter Abschnitt
- 215
- Passwort bestimmen
- 220
- Hashes bestimmen
- 225
- Hashes hinterlegen
- 230
- Nonce bestimmen, verschlüsseln, übermitteln
- 235
- entschlüsseln
- 240
- Nonce auf Erzeuger abbilden
- 245
- Nonce auf Erzeuger abbilden
- 250
- Diffie-Hellmann-Schlüsselaustausch
- 255
- Sitzungsschlüssel ableiten
- 260
- Sitzungsschlüssel ableiten
- 265
- Kommunikationsschlüssel ableiten
- 270
- Kommunikationsschlüssel ableiten
- 275
- Kommunikation / Pairing