-
Ausführungsbeispiele der vorliegenden Erfindung betreffen einen Datensender, insbesondere einen Datensender, der aufeinanderfolgende Blöcke von Nutzdaten mit einer sicheren, aber effizienten Signatur sendet.
-
Die in der Automobilindustrie eingesetzten Kommunikationsprotokolle für die Kommunikation zwischen Sensoren und Steuergeräten enthalten keine Vorkehrungen gegen die Manipulation der übertragenen Daten durch Hacker. Zu diesen Angriffen zählen z. B. das Tuning (Abstimmen) von Motoren und das Brechen von Wegfahrsperren. Motortuning kann z. B. zu einem erheblichen finanziellen Schaden auf Seiten der Automobilhersteller führen. Ferner kann in Zukunft bei elektrischen Straßenfahrzeugen (E-Car) und deren Vernetzung die Authentifizierung der Kommunikationspartner, z. B. die Authentifizierung zwischen Sensoren und Steuergeräten, und die Integritätssicherung der übertragenen Daten einen hohen Stellenwert einnehmen.
-
In der Automobilindustrie werden zur Vernetzung von z. B. Sensoren und Steuergeräten sowohl unidirektionale als auch bidirektionale Protokolle verwendet. Bekannte Protokolle in der Automobilindustrie sind z. B. das SENT-Protokoll (SENT = single edge nibble transmission) und das PSI5-Protokoll (PSI5 = peripheral sensor interface 5, eine digitale Schnittstelle für Sensoren). Das SENT-Protokoll ist ein unidirektionales Protokoll, das in der Norm SAE J2716 standardisiert ist und als digitale Sensorschnittstelle z. B. für die Anbindung von Motordrucksensoren oder Hall-Sensoren, die z. B. Ventil- oder Pedalstellungen erfassen, an die ECU (ECU = engine control unit, Motorsteuergerät) genutzt werden kann. Das PSI5-Protokoll ist ein bidirektionales Protokoll, das z. B. für die Anbindung von Airbagsensoren verwendet werden kann.
-
In der Regel weisen die bekannten in der Automobilindustrie verwendeten Protokolle einen CRC-Schutz (CRC = cyclic redundancy check, zyklische Redundanzprüfung) auf, um Übertragungsfehler zu detektieren, die insbesondere in der stark elektromagnetisch verrauschten Umgebung des Motors auftreten können. Einen Schutz der übertragenen Daten vor böswilligen Angriffen z. B. durch Hacker weisen die bekannten in der Automobilindustrie verwendeten Protokolle jedoch nicht auf. Beispielsweise könnte ein Hacker die übertragenen Daten eines Drucksensors manipulieren, um mittels manipulierter bzw. gefälschter Daten am Eingang des Motorsteuergeräts die Daten am Ausgang des Motorsteuergeräts zu manipulieren, wodurch z. B. eine Leistungssteigerung des Motors (Tuning des Motors) erzielt werden kann. Der CRC-Schutz der bekannten in der Automobilindustrie verwendeten Protokolle weist jedoch, wie bereits erwähnt, keinen Schutz der übertragenen Daten vor der Manipulation auf, da die korrekten CRC-Bits für die gefälschten Daten einfach zu berechnen sind.
-
Die standardisierten Protokolle im Automotivbereich, zu denen über das SENT- und PSI5-Protokoll hinaus auch die Protokolle SEC, CAN (CAN = controller area network, ein ISO-Standartprotokoll für Automobilaplikationen) und FlexRay (ein serielles, deterministisches und fehlertolerantes Feldbussystem für den Einsatz im Automobil) zählen, können nicht durch die bekannten Maßnahmen zur Integritätssicherung erweitert werden. Beispielsweise ist das Anhängen eines MAC (MAC = message authentification code, Nachrichten-Authentifizierungs-Code) an die Daten in einem übertragenen Protokollrahmen oder auch das Senden eines gesamten MAC in einem eigenen Rahmen anschließend an die Daten nicht möglich, zum einen, da die Protokollrahmen aus Kompatibilitätsgründen nicht mehr in dem Umfang erweitert werden können, die die bekannten Maßnahmen zur Integritätssicherung erfordern, und zum anderen, da aufgrund der Echtzeitfähigkeit keine zusätzlichen Rahmen in diesem erforderlichen Umfang übertragen oder eingefügt werden können.
-
Die
WO 2008/052137 A2 zeigt eine Übertragungsvorrichtung, die ausgebildet ist, um eine Nachricht vor der Übertragung in mehrere Übertragungseinheiten aufzuteilen und um für jede Übertragungseinheit einen sub-Nachrichten-Authentifizierungs-Code zu erhalten. Die Übertragungsvorrichtung ist ferner ausgebildet, um einen zusammengesetzten-Nachrichten-Authentifizierungs-Code für die ganze Nachricht basierend auf den sub-Nachrichten-Authentifizierungs-Codes der mehreren Übertragungseinheiten zu erhalten. Der zusammengesetzten-Nachrichten-Authentifizierungs-Code wird an eine der mehreren Übertragungseinheiten angeheftet und mit den mehreren Übertragungseinheiten übertragen.
-
Die
EP 1387524 A1 zeigt ein drahtloses Kommunikationssystem zum Senden einer geschützten Nachricht zur einer drahtlosen Einheit. Zum Übertragen einer Nachricht berechnet das drahtlose Kommunikationssystem einen Nachrichten-Authentisierungs-Code mit einem MAC-Generator (MAC = Message Authentication Code). Anschließend wird die Nachricht zusammen mit dem Nachrichten-Authentisierungs-Code an die drahtlose Einheit gesendet. Die drahtlose Einheit weist ebenfalls einen MAC-Generator zum Ermitteln eines Nachrichten-Authentisierungs-Codes für die empfangene Nachricht auf.
-
Falls der ermittelte Nachrichten-Authentisierungs-Code mit dem empfangen Nachrichten-Authentisierungs-Code übereinstimmt, wird die Nachricht akzeptiert, andernfalls verworfen.
-
Die
US 2007/0245147 A1 zeigt eine Vorrichtung zur Generierung eines Nachrichten-Authentifizierungs-Codes, der in der Lage ist, gegen Seitenkanalangriffe zu sichern. Dabei wird eine Störungsinformation mittels eines temporären numerischen Werts ermittelt und eine Konversionsnachricht aus einer Nachricht berechnet, wobei der Nachrichten-Authentifizierungs-Code aus der Konversionsnachricht und der Störungsinformation berechnet wird.
-
Der vorliegenden Erfindung liegt somit die Aufgabe zugrunde, ein Konzept zu schaffen, das eine sichere aber effiziente Kommunikation zwischen einem Datensender und einem Datenempfänger schafft.
-
Diese Aufgabe wird durch einen Datensender gemäß Anspruch 1, einen Datenempfänger gemäß Anspruch 16, ein Verfahren zum Senden nach Anspruch 22, ein Verfahren zum Empfangen nach Anspruch 23 oder ein Computerprogramm nach Anspruch 24 gelöst.
-
Die Erfindung schafft einen Datensender zum Senden von aufeinanderfolgenden Blöcken von Nutzdaten, der ausgebildet ist, um einen ersten Block von Nutzdaten zu verschlüsseln, um ein erstes Verschlüsselungsergebnis zu erhalten, und um einen zweiten Block von Nutzdaten unter der Verwendung eines Teils des ersten Verschlüsselungsergebnis zu verschlüsseln, um ein zweites Verschlüsselungsergebnis zu erhalten, wobei der Datensender ausgebildet ist, um einen Teil des ersten Verschlüsselungsergebnis, der kleiner ist als das erste Verschlüsselungsergebnis, als Signatur des ersten Blocks von Nutzdaten zu verwenden, und um einen Teil des zweiten Verschlüsselungsergebnis, der kleiner ist als das zweite Verschlüsselungsergebnis, als Signatur des zweiten Blocks von Nutzdaten zu verwenden, und um ein erstes Sendepaket zu erzeugen, das den ersten Block von Nutzdaten und die erste Signatur aufweist, und um ein zweites Sendepaket zu erzeugen, das den zweiten Block von Nutzdaten und die zweite Signatur aufweist.
-
Die Erfindung schafft ferner einen Datenempfänger zum Empfangen des ersten Sendepakets und des zweiten Sendepakets, wobei das erste und das zweite empfangene Sendepaket jeweils einen empfangenen Block von Nutzdaten und eine empfangene Signatur aufweisen, und wobei der Datenempfänger ausgebildet ist, um den ersten empfangenen Block von Nutzdaten zu verschlüsseln, um ein erstes Verschlüsselungsergebnis zu erhalten, und um den zweiten empfangenen Block von Nutzdaten unter Verwendung des ersten Verschlüsselungsergebnis zu verschlüsseln, um ein zweites Verschlüsselungsergebnis zu erhalten, wobei der Datenempfänger ausgebildet ist, um einen Teil des ersten Verschlüsselungsergebnis, der kleiner ist als das erste Verschlüsselungsergebnis, als Referenz-Signatur des ersten empfangenen Blocks von Nutzdaten zu verwenden, und um einen Teil des zweiten Verschlüsselungsergebnis, der kleiner ist als das zweite Verschlüsselungsergebnis, als Referenz-Signatur des zweiten Blocks von Nutzdaten zu verwenden, wobei der Datenempfänger derart ausgebildet ist, dass bei einem gültigen ersten empfangenen Sendepaket die erste Referenz-Signatur gleich der empfangenen Signatur des ersten empfangenen Blocks von Nutzdaten ist und dass bei einem gültigen zweiten empfangenen Sendepaket die zweite Referenz-Signatur gleich der empfangenen Signatur des zweiten empfangenen Blocks von Nutzdaten ist.
-
Ausführungsbeispiele der vorliegenden Erfindung werden nachfolgend unter Bezugnahme auf die beiliegenden Zeichnungen näher erläutert. Es zeigen:
-
1 einen Aspekt eines Datensenders zum Senden von aufeinanderfolgenden Blöcken von Nutzdaten;
-
2 einen Aspekt eines Datenempfängers zum Empfangen von aufeinanderfolgenden Sendepaketen;
-
3 einen Kommunikationsrahmen einer höheren Protokollschicht des SENT-Protokolls;
-
4 zwei erforderliche Schritte für den Aufbau einer sicheren Verbindung zwischen Datensender und Datenempfänger;
-
5 eine Zwei-Wege-Anforderungs-Antwort-Überprüfung zur Authentisierung des Datensenders gegenüber dem Datenempfänger;
-
6 einen Aspekt einer Verschlüsselungseinrichtung zum Erhalten einer sicheren, aber effizienten Signatur für aufeinanderfolgende Blöcke von Nutzdaten;
-
7a eine Übertragung eines Sendepakets von einem Datensender über einen Kommunikationskanal zu einem Datenempfänger;
-
7b eine Übertragung eines Sendepakets von einem Datensender über einen Kommunikationskanal zu einem Datenempfänger, wobei ein Angreifer das Sendepaket während der Übertragung manipuliert;
-
8 eine Drei-Wege-Anforderungs-Antwort-Überprüfung zur gegenseitigen Authentisierung zwischen Datensender und Datenempfänger; und
-
9 einen weiteren Aspekt einer Verschlüsselungseinrichtung zum Erhalten einer sicheren, aber effizienten Signatur, die ferner gegen Seitenkanalangriffe geschützt ist.
-
In der nachfolgenden Beschreibung der Ausführungsbeispiele der Erfindung werden in den Figuren gleiche oder gleich wirkende Elemente mit den gleichen Bezugszeichen versehen.
-
1 zeigt einen Aspekt eines Datensenders 100 zum Senden von aufeinanderfolgenden Blöcken von Nutzdaten Bi. Die Verschlüsselungseinrichtung 104 ist ausgebildet, um einen ersten Block von Nutzdaten B1 zu verschlüsseln, um ein erstes Verschlüsselungsergebnis VE1 zu erhalten, und um einen zweiten Block von Nutzdaten B2, der auf den ersten Block von Nutzdaten B1 folgt, zu verschlüsseln, um ein zweites Verschlüsselungsergebnis VE2 zu erhalten, wobei die Verschlüsselungseinrichtung 104 ausgebildet ist, um bei der Verschlüsselung des zweiten Blocks von Nutzdaten B2 das erste Verschlüsselungsergebnis VE1 zu verwenden. Hierzu kann der Datensender 100 z. B. eine Verzögerungseinrichtung 106 aufweisen, die ausgebildet ist, um das vorherige Verschlüsselungsergebnis VEi-1 des vorherigen Blocks von Nutzdaten Bi-1 zu speichern und verzögert auszugeben, um das gespeicherte vorherige Verschlüsselungsergebnis VEi-1 der Verschlüsselungseinrichtung 104 für die Verschlüsselung des folgenden Blocks von Nutzdaten Bi bereitzustellen, um das Verschlüsselungsergebnis VEi zu erhalten. So kann z. B. das dritte Verschlüsselungsergebnis VE3 des dritten Blocks von Nutzdaten B3 von der Verzögerungseinrichtung 106 gespeichert und verzögert ausgegeben werden, so dass die Verschlüsselungseinrichtung 104 das dritte Verschlüsselungsergebnis VE3 für die Verschlüsselung des vierten Blocks von Nutzdaten B4 verwenden kann, um das vierte Verschlüsselungsergebnis VE4 zu erhalten.
-
Der Datensender 100 weist ferner einen Extrahierer 108 auf, der ausgebildet ist, um einen Teil des Verschlüsselungsergebnis VEi zu extrahieren, wobei der extrahierte Teil des Verschlüsselungsergebnis VEi kleiner ist als das Verschlüsselungsergebnis VEi. Der Extrahierer kann ferner ausgebildet sein, um den extrahierten Teil des Verschlüsselungsergebnis VEi als Signatur Si des Blocks von Nutzdaten Bi auszugeben. So kann der Extrahierer 108 beispielsweise einen Teil des ersten Verschlüsselungsergebnis VE1 extrahieren, der kleiner ist als das erste Verschlüsselungsergebnis VE1, und diesen Teil als Signatur S1 des ersten Blocks von Nutzdaten B1 ausgeben, und einen Teil des zweiten Verschlüsselungsergebnis VE2 extrahieren, der kleiner ist als das zweite Verschlüsselungsergebnis VE2 und diesen Teil als Signatur S2 des zweiten Blocks von Nutzdaten B2 ausgeben.
-
Des Weiteren weist der Datensender 100 einen Nachrichtenformatierer zum Kombinieren des Blocks von Nutzdaten Bi und der Signatur Si auf, um ein Sendepaket BiSi zu erzeugen Somit kann der Nachrichtenformatierer z. B. den ersten Block von Nutzdaten B1 mit dem extrahierten Teil des ersten Verschlüsselungsergebnis VE1 als Signatur S1 kombinieren, um ein erstes Sendepaket B1S1 zu erzeugen, und den zweiten Block von Nutzdaten B2 mit dem extrahierten Teil des zweiten Verschlüsselungsergebnis VE2 als Signatur S2 kombinieren, um ein zweites Sendepaket B2S2 zu erzeugen.
-
Der Datensender 100 erzeugt somit für jeden Block von Nutzdaten Bi eine sichere, aber effiziente Signatur Si, wobei jeder Block von Nutzdaten Bi mit der entsprechenden Signatur Si als Sendepaket BiSi gesendet wird. Die Signatur Si ist einerseits effizient, da nur ein Teil des jeweiligen Verschlüsselungsergebnis VEi als Signatur Si verwendet wird, und andererseits sicher, da zur Verschlüsselung des Blocks von Nutzdaten Bi das vorherige Verschlüsselungsergebnis VEi-1 des vorherigen Blocks von Nutzdaten Bi-1 verwendet wird. Wenn der extrahierte Teil des Verschlüsselungsergebnis VEi beispielsweise ein Bit umfasst und die Signatur somit nur dieses eine Bit aufweist, dann würde die Wahrscheinlichkeit P, dass eine Manipulation des Blocks von Nutzdaten Bi unbemerkt bleibt, bei P = 2–N liegen, wobei N die Anzahl der übertragenen Blöcke von Nutzdaten Bi ist.
-
Nach beispielsweise zwölf übertragenen Blöcken von Nutzdaten Bi würde lediglich ein Angriff von 4.096 Angriffen unbemerkt bleiben. Die Wahrscheinlichkeit, eine Manipulation der Blöcke von Nutzdaten Bi zu erkennen, steigt mit der Anzahl N übertragener Sendepakete BiSi. Aus diesem Grund können zehn oder mehr auf den zweiten Block von Nutzdaten B2 folgende Blöcke von Nutzdaten Bi verschlüsselt werden, um weitere Verschlüsselungsergebnisse zu erhalten, wobei jeder weitere Block von Nutzdaten Bi abhängig von einem vorherigen Verschlüsselungsergebnis VEi verschlüsselt wird. Darüber hinaus kann der extrahierte Teil des Verschlüsselungsergebnis VEi, der als Signatur Si verwendet wird, natürlich länger als 1 Bit sein, wobei für eine effiziente Signatur Si die Anzahl N der extrahierten Bits so zu wählen ist, dass der extrahierte Teil des Verschlüsselungsergebnis VEi kleiner als 1/8 der Bits des Verschlüsselungsergebnis VEi ist.
-
Darüber hinaus kann der Datensender 100 eine optionale Anforderungs-Antwort-Einrichtung 112, z. B. zur Durchführung einer Anforderungs-Antwort-Überprüfung, und/oder eine optionale Neusynchronisierungseinrichtung 114, z. B. zum Zurücksetzen der Verschlüsselungseinrichtung, aufweisen. Die genaue Beschreibung der Anforderungs-Antwort-Einrichtung 112 und der Neusynchronisierungseinrichtung 114 erfolgt in der Beschreibung der 5 bzw. 6, weshalb an dieser Stelle auf eine detaillierte Beschreibung verzichtet wird.
-
2 zeigt einen Aspekt eines Datenempfängers 120 zum Empfangen von aufeinanderfolgenden Sendepaketen Bi'Si'. Der Datenempfänger 120 weist eine Empfangseinrichtung 122 zum Empfangen von Sendepaketen Bi'Si' auf, z. B. zum Empfangen eines ersten Sendepakets B1' und eines zweiten Sendepakets B2', wobei jedes Sendepaket Bi'Si' einen empfangenen Block von Nutzdaten Bi' und eine empfangene Signatur Si' des empfangenen Blocks von Nutzdaten Bi' aufweist. Des Weiteren weist der Datenempfänger 120 einen Nachrichtenextrahierer 124 zum Extrahieren des empfangenen Sendepakets Bi'Si' auf, um den empfangenen Block von Nutzdaten Bi' und die empfangene Signatur Si' des empfangenen Blocks von Nutzdaten Bi' zu erhalten. Somit kann z. B. der erste empfangene Block von Nutzdaten B1' und die erste empfangene Signatur S1' sowie der zweite empfangene Block von Nutzdaten B2' und die zweite empfangene Signatur S2' erhalten werden.
-
Zur Überprüfung der empfangenen Signatur Si weist der Datenempfänger 120 eine Verschlüsselungseinrichtung 126, einen Extrahierer 128 und eine Vergleichseinrichtung 130 auf. Die Verschlüsselungseinrichtung 126 ist ausgebildet, um einen ersten empfangenen Block von Nutzdaten B1' zu verschlüsseln, um ein erstes Verschlüsselungsergebnis VE1* zu erhalten, und um einen zweiten empfangenen Block von Nutzdaten B2' zu verschlüsseln, um ein zweites Verschlüsselungsergebnis VE2* zu erhalten, wobei die Verschlüsselungseinrichtung 126 ausgebildet ist, um bei der Verschlüsselung des zweiten empfangenen Blocks von Nutzdaten B2 das erste Verschlüsselungsergebnis VE1* zu verwenden. Hierzu kann der Datenempfänger 120 z. B. eine Verzögerungseinrichtung 132 aufweisen, die ausgebildet ist, um ein vorheriges Verschlüsselungsergebnis VEi-1* des vorherigen Blocks von Nutzdaten Bi-1' z. B. zu speichern und verzögert auszugeben, um das gespeicherte vorherige Verschlüsselungsergebnis VEi-1* der Verschlüsselungseinrichtung 126 für die Verschlüsselung des folgenden Blocks von Nutzdaten Bi bereitzustellen, um das folgende Verschlüsselungsergebnis VEi* zu erhalten. So kann z. B. das vierte Verschlüsselungsergebnis VE4* des vierten empfangenen Blocks von Nutzdaten B4' von der Verzögerungseinrichtung 132 gespeichert und verzögert ausgegeben werden, so dass die Verschlüsselungseinrichtung 126 das vierte Verschlüsselungsergebnis VE4* für die Verschlüsselung des fünften empfangenen Blocks von Nutzdaten B5' verwenden kann, um das fünfte Verschlüsselungsergebnis VE5* zu erhalten.
-
Der Extrahierer 128 ist ausgebildet, um einen Teil des Verschlüsselungsergebnis VEi* zu extrahieren, um eine Referenz-Signatur Si* zu erhalten, wobei die Verschlüsselungseinrichtung 126 und der Extrahierer 128 ausgebildet sind, so dass bei einem gültigen Sendepaket Bi'Si' die Refenz-Signatur Si* gleich der empfangenen Signatur Si des empfangenen Blocks von Nutzdaten Bi ist.
-
Der Datenempfänger 120 kann ferner eine optionale Ausgabeeinrichtung 134 aufweisen, die ausgebildet ist, um, falls die empfangene Signatur Si' des empfangenen Blocks von Nutzdaten Bi' gleich der Referenz-Signatur Si* ist, den empfangenen Block von Nutzdaten Bi' auszugeben, und um, falls die empfangene Signatur Si' des empfangenen Blocks von Nutzdaten Bi' nicht gleich der Referenz-Signatur Si* ist, den empfangenen Block von Nutzdaten Bi' zu verwerfen und ein Neusynchronisierungsereignis auszulösen. Hierzu kann der Datensender 120 z. B. eine Neusynchronisierungseinrichtung 138 aufweisen. Die Funktionsweise der Neusynchronisierung mit einem Datensender 100 wird in der Beschreibung der 6 genauer beschrieben, so dass an dieser Stelle auf eine detaillierte Beschreibung verzichtet wird. Darüber hinaus kann der Datenempfänger 120 eine optionale Anforderungs-Antwort-Einrichtung 136, z. B. zur Durchführung einer Anforderungs-Antwort-Überprüfung, aufweisen. Die genaue Beschreibung der Anforderungs-Antwort-Einrichtung 136 erfolgt ebenfalls in der Beschreibung der 6, weshalb an dieser Stelle auf eine detaillierte Beschreibung verzichtet wird.
-
Der Datensender 100 und der Datenempfänger 120 können z. B. zum Aufsetzen eines bidirektionales Protokolls eingesetzt werden. Nachfolgend soll daher die Funktionsweise des Datensenders 100 und des Datenempfängers 120 beispielhaft unter Verwendung einer Erweiterung des bekannten SENT-Protokolls beschrieben werden. Bei alternativen Aspekten sind der Datensender 100 und der Datenempfänger ausgebildet, um in einem bidirektionalen Protokoll, wie z. B. dem PSI5-Protokoll, zu arbeiten.
-
3 zeigt einen Kommunikationsrahmen 150 einer höheren Protokollschicht des SENT-Protokolls. Aus der Sicht der Anwendungsschicht weist der Kommunikationsrahmen 150 des SENT-Protokolls 24 Bit an Nutzdaten 152 und 4 Bit an Status- und Kontrollinformationen auf, die in einem Status-Block (status nibble) 154 zusammengefasst sind. Der Status-Block 154 weist zwei nicht verwendete Bits auf. Von diesen zwei freien Bits können z. B. ein oder zwei Bit für die Übertragung der Signatur Si bzw. der Integritäts-Schutz-Information (integrity protection information) verwendet werden. In 3 wird beispielhaft das erste Bit des Status-Blocks 154 für die Übermittlung der Signatur Si verwendet. Für eine kryptographische Erweiterung des SENT-Protokolls wird nachfolgend beispielhaft der i-te Kommunikationsrahmen 150 betrachtet, der einen Block von Nutzdaten Bi der Länge m = 24 + 3 = 27 Bit und eine Signatur Si der Länge 1 Bit aufweist. Vor dem Beginn der Übertragung der Sendepakete BiSi vom Datensender 100 zum Datenempfänger 120 kann z. B. eine Anforderungs-Antwort-Überprüfung durchgeführt werden, um den Schutz der Blöcke von Nutzdaten Bi vor einer Manipulation zu erhöhen.
-
4 zeigt zwei erforderliche Schritte für den Aufbau einer sicheren Verbindung zwischen Datensender 100 und Datenempfänger 120. Der erste Schritt 180 umfasst die Authentisierung des Datensenders 120 als Voraussetzung für den Aufbau einer sicheren Kommunikation bzw. Verbindung. Darüber hinaus kann, wenn dies erforderlich ist, z. B. der Datenempfänger gegenüber dem Datenempfänger authentisiert werden. Hierzu kann der Datensender und/oder Datenempfänger z. B. eine Anforderungs-Antwort-Einrichtung 112 bzw. 126 aufweisen. Im zweiten Schritt 182 kann, falls die Authentisierung erfolgreich ist, die Datenübertragung bzw. Übertragung der Sendepakete BiSi zwischen einem Datensender 100, z. B. einem Sensor, und einem Datenempfänger 120, z. B. der Motorsteuergerät, gestartet werden. Falls die Authentisierung fehlschlägt, kann z. B. der Datensender 100 oder der Datenempfänger 120 die Verbindung abbrechen, da davon auszugehen ist, dass ein Angreifer versucht, den Datensender 100 und/oder den Datenempfänger 120 z. B. zu manipulieren oder nachzuahmen. Beispielsweise kann, falls die Authentisierung fehlschlägt, die Motorsteuereinheit davon ausgehen, dass ein Angreifer den Sensor manipuliert hat, so dass ein Empfang vertrauenswürdiger Sendepakete BiSi nicht mehr gegeben ist. Der Datensender 100 und der Datenempfänger 120 sowie der erste Schritt 180 und der zweite Schritt 182 erweitern somit das bekannte SENT-Protokoll zu einem sicheren Nachrichtenprotokoll.
-
In dem ersten Schritt 180 kann ferner ein geheimer Schlüssel k und eine verschlüsselte Version r einer Zufallszahl R generiert werden, die für den Aufbau eines sicheren Kommunikationskanals zwischen Datensender 100 und Datenempfänger 120 und somit für den zweiten Schritt 182 der Übertragung der Sendepakete BiSi erforderlich ist. Nachfolgend werden die Voraussetzungen für die Generierung des geheimen Schlüssels k und der verschlüsselten Version r der Zufallszahl R aufgeführt.
-
Eine erste Voraussetzung für die erfolgreiche Authentisierung und für die anschließende Übertragung der Sendepakete BiSi ist, dass der Datensender 100 und der Datenempfänger 120 einen gemeinsamen geheimen Schlüssel kID aufweisen. Dieser gemeinsame geheime Schlüssel kID kann z. B. eine Länge von 128 Bit aufweisen. Ferner wird davon ausgegangen, dass die Schlüssel als unabhängige und einheitlich gezogene Zufallsvariablen angesehen werden können. Darüber hinaus muss der Schlüssel in dem Datensender 100 und in dem Datenempfänger 120 sowie während einer beliebigen logistischen Handhabung des Schlüssels vor dem Auslesen geschützt sein. Dies bedeutet, dass der Schlüssel in jeder Situation vor dem Auslesen geschützt sein muss, z. B. während der Fertigung, bei der Übertragung des Schlüssels in den Datensender 100 und in den Datenempfänger 120, oder wenn ein Datensender 100 bzw. ein Datenempfänger 120 ausgetauscht wird und eine Aktualisierung des Schlüssels erforderlich ist.
-
Eine zweite Voraussetzung ist, dass jeder Datensender 100 und Datenempfänger 120 einen eigenen und individuellen Schlüssel aufweist. Das bedeutet, dass niemals ein oder mehrere Datensender 100 und/oder Datenempfänger 120 den gleichen Schlüssel aufweisen dürfen. Dies ist eine grundlegende Voraussetzung, um sicherzustellen, dass nicht das ganze System geknackt wird, wenn ein Angreifer z. B. einen einzigen Schlüssel eines Datensenders 100 oder eines Datenempfängers 120 knackt. Durch einen einzigen durch den Angreifer geknackten Schlüssel wird somit nicht das ganze System bedroht, z. B. mehrere Sensoren und Steuergeräte eines Datenbusses eines Kraftfahrzeugs.
-
Eine dritte Voraussetzung ist, dass der Datensender 100 und/oder der Datenempfänger 120 einen echten Zufallszahlengenerator (TRNG, true random number generator) oder einen kryptographischen Pseudozufallszahlengenerator (PRNG, pseudo random number generator) aufweisen. Die generierten Zufallszahlen können z. B. anschließend von der Anforderungs-Antwort-Einrichtung 112 bzw. 126 des Datensenders 100 bzw. des Datenempfängers 120 zur Durchführung einer Anforderungs-Antwort-Überprüfung verwendet werden. Des Weiteren können die Anforderungs-Antwort-Einrichtungen 112 bzw. 136 des Datensenders 100 bzw. des Datenempfängers 120 z. B. einen Zufallszahlengenerator aufweisen, um die erforderlichen Zufallszahlen selbst zu generieren.
-
Eine vierte Voraussetzung ist, dass die Verschlüsselungseinrichtung des Datensenders 100 und des Datenempfängers 120 ausgebildet sind, um die gleiche Verschlüsselung durchzuführen. Hierzu können die Verschlüsselungseinrichtungen 104 bzw. 126 z. B. ausgebildet sein, um eine AES-Blockverschlüsselung (AES = advanced encryption standard) durchzuführen. Bei einer AES-Blockverschlüsselung können z. B. 128 Bit lange Schlüssel zur Verschlüsselung von 128 Bit langen Blöcken von Nutzdaten Bi verwendet werden. Eine Entschlüsselungseinrichtung ist hingegen nicht erforderlich. Die Implementierung der AES-Blockverschlüsselung kann, je nach Leistungsanforderungen, in Hardware oder Software erfolgen. Eine Verschlüsselung mit einem Schlüssel k wird nachfolgend mit c = ABS (Schlüssel = k, d) angegeben, wobei d die unverschlüsselten Daten und c die verschlüsselten Daten sind.
-
5 zeigt eine Zwei-Wege Anforderungs-Antwort-Überprüfung zur Authentisierung des Datensenders 100 gegenüber dem Datenempfänger 120. Diese Anforderungs-Antwort-Überprüfung zeigt somit einen Aspekt des ersten Schritts 180 der Authentisierung aus 4. R ist die zufällige Anforderungs-Zufallszahl, wobei die Anforderungs-Zufallszahl R die Länge t aufweist. Die Länge t der Anforderungs-Zufallszahl R sollte nicht weniger als t = 72 Bit betragen, wobei t als ein skalierbarer Sicherheitsparameter angesehen werden kann, der, falls dies erforderlich ist, erhöht werden kann. In einer ersten Nachricht 190 übermittelt der Datenempfänger 120 dem Datensender 100 die zufällige Anforderungs-Zufallszahl R. Anschließend ermitteln sowohl der Datensender 100 als auch der Datenempfänger 120 mit dem gemeinsamen geheimen Schlüssel kID die verschlüsselte Version r = AES (Schlüssel = kID, R) bzw. r' = AES (Schlüssel = kID, R) der Zufallszahl R, wobei der Datensender 100 die empfangene verschlüsselte Version r' der Zufallszahl R und der Datenempfänger 120 die verschlüsselte Version r der Zufallszahl R erhält. Der Datensender 100 übermittelt nun dem Datenempfänger 120 in einer zweiten Nachricht 192 die verschlüsselte Version r' der Zufallszahl R, wobei der Datenempfänger 120 nach dem Empfangen der zweiten Nachricht die verschlüsselte Version r' der Zufallszahl R des Datensenders 100 mit der eigenen verschlüsselten Version r der Zufallszahl R vergleicht. Falls die beiden verschlüsselten Versionen r' und r der Zufallszahl R übereinstimmen (r' = r), hat sich der Datensender 100 gegenüber dem Datenempfänger 120 authentisiert und der Datenempfänger 120 akzeptiert somit den Datensender 100. Falls die beiden verschlüsselten Versionen r' und r der Zufallszahl R nicht übereinstimmen (r' ≠ r), ist die Authentisierung fehlgeschlagen und der Datenempfänger 120 akzeptiert den Datensender 100 nicht.
-
Alternativ kann die Gültigkeit der Authentifizierung überprüft werden, indem der Datensender 100 direkt in die Datenübertragungsphase übergeht, anstatt eine verschlüsselte Version r' der Zufallszahl Ran den Datenempfänger 120 in einer zweiten Nachricht 192 zu übermitteln. Die Authentifizierung kann dabei z. B. direkt über die Signatur Si erfolgen.
-
Nach dem ersten Schritt 180 bzw. der Zwei-Wege Anforderungs-Antwort-Überprüfung kann der Datenempfänger 120 sicher sein, dass es sich bei dem Datensender 100 um einen Original-Datensender 100 handelt, vorausgesetzt, dass der Schlüssel nicht aus dem Datensender 100 extrahiert wurde und ein Angreifer mit dem extrahierten Schlüssel den Datensender 100 simuliert. Die zufällige Anforderungs-Antwort-Überprüfung bzw. ein zufälliges Anforderungs-Antwort-Protokoll verhindert wiederholbare Angriffe, z. B. Angriffe, die auf der Wiederholung zuvor mitgeschnittener bzw. aufgezeichneter Sitzungen beruhen. Nach der Authentisierung können der Datensender 100 und der Datenempfänger 120 die gemeinsame Information, den Schlüssel kID und die verschlüsselte Version der Zufallszahl r bzw. r' in dem zweiten Schritt 182 der Übertragung der Sendepakete BiSi verwenden. Dabei kann die verschlüsselte Version r bzw. r' der Zufallszahl R z. B. eine Länge von 128 Bit aufweisen.
-
6 zeigt einen Aspekt einer Verschlüsselungseinrichtung 104 und 126 zum Erhalten einer sicheren, aber effizienten Signatur Si für aufeinanderfolgende Blöcke von Nutzdaten Bi. Dabei wird zum Erhalten der Signatur Si zunächst beispielhaft ein CBC-MAC-Aufbau (CBC = Cipher Block Chaining, Blockchiffren-Kette) verwendet. Durch das ⊕-Symbol wird eine Kombination zwischen zwei Eingangsgrößen dargestellt. Diese Kombination kann beispielsweise durch eine XOR- oder XNOR-Addition, z. B. durch ein XOR- oder XNOR-Gatter, erfolgen, wobei z. B. zwei 128 Bit lange Vektoren als Eingangsgrößen verwendet werden können. Der CBC-MAC wird jedoch nicht auf herkömmliche Weise implementiert, d. h. es wird nicht nach jedem übertragenen Block von Nutzdaten Bi ein ganzer MAC übertragen, sondern vielmehr wird eine inkrementelle Signatur Si generiert, indem nach jeder Verschlüsselung, z. B. einer AES-Verschlüsselung, ein Teil des Verschlüsselungsergebnis VEi extrahiert wird, der kleiner ist als das Verschlüsselungsergebnis VEi und an den unverschlüsselten Block von Nutzdaten Bi angehängt wird, um ein Sendepaket BiSi zu erhalten, wobei bei der Verschlüsselung des folgenden Blocks von Nutzdaten Bi+1 das vorherige Verschlüsselungsergebnis VEi verwendet wird. Unter Verwendung des SENT-Protokolls kann der extrahierte Teil des Verschlüsselungsergebnis VEi z. B. 1 Bit umfassen, womit dann die Integritäts-Schutz-Information eine Folge von Bits S = Si, Si+1, Si+2, ..., Si+N aufweist.
-
Die Blöcke von Nutzdaten Bi werden somit unverschlüsselt übertragen und können z. B. von jedem beobachtet werden. Die Manipulation der Blöcke von Nutzdaten Bi seitens eines Angreifers wird jedoch mit einer sehr hohen Wahrscheinlichkeit detektiert.
-
Insbesondere im Automotiv-Sensorik-Bereich ist es ausreichend, nach einer Reihe übertragener Sendepakete BiSi die Manipulation verzögert zu erkennen. Die Erkennung muss aber nach einer gewissen Anzahl übertragener Sendepakete BiSi, z. B. nach 50–100 übertragenen Sendepaketen BiSi, mit extrem hoher Sicherheit gewährleistet sein. Der Datensender 100 und/oder der Datenempfänger 120 leisten genau dies und ermöglichen darüber hinaus eine Implementierung in die vorhandenen Übertragungsprotokolle wie z. B. in SENT, SENT/SPC, SEC, PSI5, CAN oder FlexRay, wodurch die Kosten für die Implementierung minimal sind bei einem gleichzeitigen hohen Maß hinzugewonnener Sicherheit.
-
In 6 kann für die Verschlüsselung des ersten Blocks von Nutzdaten B1 z. B. ein Anfangsvektor IV verwendet werden, der z. B. eine Länge von 128 Bit aufweist. Für den Anfangsvektor IV kann z. B. die verschlüsselte Version r der Zufallszahl R verwendet werden, also z. B. IV = r. Dadurch wird sichergestellt, dass nach jeder Authentisierung die Folge der berechneten Signaturen S = Si, Si+1, Si+2, ..., Si+N anders ist, sogar wenn eine identische Folge von Blöcken von Nutzdaten Bi zu senden ist. Das bedeutet, dass die Sequenz S der Signaturen Si eine Funktion von kID und r ist, also z. B. S = S(kID, r). Für einen Angreifer erscheint die Sequenz S eine zufällige Folge von Bits zu sein.
-
Es wird also mittels starker kryptographischer Primitiven eine Sequenz bzw. Folge S von Signaturen Si bzw. bei der Verwendung z. B. des SENT-Protokolls eine Folge von Bits, in Abhängigkeit von einem geheimen Schlüssel k, einer Zufallszahl r und einer Folge von Blöcken von Nutzdaten Bi iterativ erzeugt und über einen Datenkanal übertragen. Die Berechnungsfunktion ist dabei so gewählt, dass ein Angreifer aus der Kenntnis der Zufallszahl R, aller bisherigen Blöcke von Nutzdaten Bi und aller bisherigen Signaturen Si, nicht die nächste Signatur Si+1 mit machbarem Aufwand vorherberechnen kann.
-
Die Verschlüsselungseinrichtungen 104 und 122 des Datensenders 100 und des Datenempfängers 120 können ferner einen Blockauffüller 200 aufweisen, der ausgebildet ist, um den zu verschlüsselnden Block von Nutzdaten Bi vor der Verschlüsselung aufzufüllen, um aufgefüllte Blöcke von Nutzdaten zu erhalten, wobei die Verschlüsselungseinrichtung 104 bzw. 122, z. B. eine AES-Verschlüsselungseinrichtung, ausgebildet ist, das Verschlüsselungsergebnis VEi unter Verwendung der aufgefüllten Blöcke von Nutzdaten zu erhalten, wobei der Extrahierer ausgebildet ist, einen Teil des Verschlüsselungsergebnis VEi zu extrahieren, der kleiner ist als der Block von Nutzdaten Bi. Unter der Verwendung des SENT-Protokolls umfasst der extrahierte Teil z. B. 1 Bit. Dieses eine Bit wird beim SENT-Protokoll als Signatur Si bzw. als Integritäts-Schutz-Bit verwendet. Dabei kann für die Verschlüsselung z. B. eine AES-Verschlüsselung und der Schlüssel k = kID verwendet werden.
-
Der Nachrichtenformatierer 110 hängt anschließend die ermittelten Signaturen Si an den unverschlüsselten Block von Nutzdaten Bi an, um ein Sendepaket BiSi zu erhalten. Dieses Sendepaket BiSi kann z. B. zum Datenempfänger 120 gesendet werden. Der Datenempfänger 120 führt dabei exakt dieselben Schritte wie der Datensender 100 aus unter der Verwendung derselben Anfangswerte, z. B. mit dem geheimen Schlüssel kID und der verschlüsselten Version r der Zufallszahl R. Die Verschlüsselungseinrichtung 126 des Datenempfängers 120 ist also ausgebildet, um den empfangenen Block von Nutzdaten Bi' zu verschlüsseln, um ein Verschlüsselungsergebnis VEi* zu erhalten. Anschließend wird von diesem Verschlüsselungsergebnis VEi* der gleiche Teil wie beim Datensender 100 extrahiert, um eine Referenz-Signatur Si* zu erhalten, um die Referenz-Signatur Si* mit der empfangenen Signatur Si' zu vergleichen.
-
7a zeigt eine Übertragung eines Sendepakets BiSi von einem Datensender 100 über einen Kommunikationskanal 204 zu einem Datenempfänger 120, wobei der Datenempfänger das Sendepaket Bi'Si' empfängt. Bei einer ungestörten bzw. korrekten Übertragung des Sendepakets BiSi, empfängt der Datenempfänger ein Sendepaket (Bi'Si') = (BiSi), wobei die empfangene Signatur Si' gleich der Referenz-Signatur Si* und somit auch gleich der gesendeten Signatur Si ist.
-
7b zeigt eine Übertragung eines Sendepakets BiSi von einem Datensender 100 über einen Kommunikationskanal 204 zu einem Datenempfänger 120, wobei ein Angreifer 206 das Sendepaket BiSi während der Übertragung manipuliert. Wenn ein Angreifer die übertragenen Blöcke von Nutzdaten Bi' modifiziert hat, dann empfängt der Datenempfänger 120 ein Sendepaket (Bi'Si') = (BiSi) ⊕ Δi anstelle von (Bi'Si') = (BiSi), wobei Δi die Modifikation durch den Angreifer kennzeichnet. Unter der Verwendung des SENT-Protokolls werden somit alle folgenden Signatur-Paare (Si+1', Si+1*), (Si+2', Si+2*), (Si+N', Si+N*) mit der Wahrscheinlichkeit von p = ½ bedingt durch den Lawinen-Effekt (Fehlerfortpflanzungseffekt) der Blockverschlüsselungskette der Verschlüsselungseinrichtung, die z. B. einen CBC-MAC-Aufbau aufweisen kann, abweichen. Dies bedeutet, dass nach einer böswilligen Modifikation und nachdem der Datenempfänger 120 N Sendepakete Bi'Si' empfangen hat, die Wahrscheinlichkeit, dass dieser Angriff unbemerkt bleibt, bei P = 2–N liegt. Nach beispielsweise N = 20 übertragenen Sendepaketen Bi'Si' liegt die Wahrscheinlichkeit, dass der Angriff unbemerkt bleibt, somit bei 1:1.000.000.
-
Durch den Datensender 100 und den Datenempfänger 120 wird somit erreicht, dass die übertragene Informationsmenge, die zum Schützen der Daten erforderlich ist, minimal und stetig ist. Damit ist einerseits die Echtzeitfähigkeit des verwendeten Protokolls gewährleistet. Andererseits nimmt mit zunehmender Anzahl N übertragener Signaturen Si die Sicherheit der Erkennung eines Angriffs exponentiell zu. Eine sichere Fehlererkennung ist also möglich, sie tritt nur verzögert ein. Viele existierende Protokollstandards, z. B. SENT, SENT/SPC, SEC, PSI5, CAN und FlexRay, können somit um eine Daten-Integritätssicherung erweitert werden, ohne die Abwärtskompatibilität zu verlieren.
-
Bei der Übertragung der Sendepakete BiSi vom Datensender 100 zum Datenempfänger 120 kann es zu einem Übertragungsfehler kommen, der z. B. technisch bedingt durch ein starkes elektromagnetisches Rauschen hervorgerufen werden könnte. Wenn ein Übertragungsfehler bei einem übertragenen Block von Nutzdaten Bi' auftritt, dann würde die Fehlerfortpflanzungseigenschaft der Verschlüsselungseinrichtung, die z. B. einen CBC-MAC-Aufbau aufweist, zu einer Nichtübereinstimmung aller folgenden übertragenen Blöcke von Nutzdaten Bi' mit gegebener Wahrscheinlichkeit führen. Diese Wahrscheinlichkeit liegt bei z. B. der Versendung des SENT-Protokolls mit einer Signatur Si, die z. B. eine Länge von 1-Bit aufweist, bei p = ½, genauso wie bei der Modifikation durch einen Angreifer. Aus diesem Grund kann der Datensender 100 und der Datenempfänger 120 eine Neusynchronisierungseinrichtung aufweisen, die ausgebildet ist, um abhängig von zumindest einem Neusynchronisierungsereignis die Verschlüsselungseinrichtung 104 bzw. 126 so anzusteuern, dass das erste Verschlüsselungsergebnis VE1 nicht von einem zeitlich vorherigen Verschlüsselungsergebnis VE1-i abhängt und dass eine Eingabe zur Verschlüsselung des ersten Blocks von Nutzdaten B1 nur von vorbestimmten Daten abhängt und dass das zumindest zweite Verschlüsselungsergebnis VE2 von dem ersten Verschlüsselungsergebnis VE1 abhängt, wobei die vorbestimmten Daten den in einem Speicher gespeicherten Anfangsvektor IV, eine von der Anforderungs-Antwort-Einrichtung 112 bzw. 136 neu erhaltene Zufallszahl oder verschlüsselte Version der Zufallszahl oder einen Block von Nutzdaten Bi umfasst. Des Weiteren kann die Neusynchronisierungseinrichtung 138 des Datenempfängers 120 z. B. ausgebildet sein, um ein Neusynchronisierungsereignis derart auszulösen, dass dieses von einem Datensender 100 erfasst werden kann.
-
Eine Unterscheidung zwischen einem Angriff und einem technischen Übertragungsfehler kann dabei wie folgt erfolgen. Wenn ein Sendepaket Bi'Si' empfangen wird, das eine ungültige Signatur Si' aufweist, dann wird das empfangene Sendepaket Bi'Si' verworfen und für keine weiteren Berechnungen verwendet. Ferner kann der Datenempfänger 120 einen Fehler-Zähler 140 aufweisen, der ausgebildet ist, um jeden Übertragungsfehler bzw. jedes verworfene Sendepaket Bi'Si' zu zählen, um eine Fehlerrate zu erhalten, wobei der Fehler-Zähler 140 ausgebildet ist, um für die Ermittlung der Fehlerrate nur eine vorgegebene Anzahl zuletzt empfangener und aufeinander folgender Sendepakete (Bi'Si') zu verwenden. Anschließend löst der Datenempfänger 120 ein Neusynchronisierungsereignis aus, welches die eigene Verschlüsselungseinrichtung 126 und die Verschlüsselungseinrichtung 104 des Datensenders 100 zurücksetzt, wobei z. B. die internen Variablen der Verschlüsselungskette (z. B. der Ausgang der AES-Verschlüsselung und z. B. der Eingang der XOR-Addition) zum Anfangsvektor IV zurückgesetzt werden. Anschließend wird die Übertragung der Sendepakete BiSi mit der Signatur Si der neusynchronisierten Verschlüsselungseinrichtung 104 fortgesetzt.
-
Der Datenempfänger überprüft anschließend mit Hilfe des Fehler-Zählers 140, ob die Fehlerrate, z. B. die Anzahl aufgetretener Fehler, in Bezug zu der Anzahl übertragener Sendepakete Bi'Si' einen vorgeschriebenen Wert übersteigt. Wenn die Fehlerrate gleich oder unter dem vorgegebenen Wert ist, dann wird davon ausgegangen, dass es sich um zufällige technische Übertragungsfehler handelt. Falls dieser vorgeschriebenen Wert jedoch überschritten wird, dann wird von einem Angriff ausgegangen. In diesem Fall können z. B. alle folgenden empfangenen Sendepakete Bi'Si' verworfen werden und es können ferner z. B. weitere Messungen durchgeführt werden.
-
Um die Übertragung des Sendepakets BiSi zwischen Datensender 100 und Datenempfänger 120 gegen Seitenkanalangriffe, wie z. B. gegen DPA (DPA = differential power analysis, differentielle Leistungs-Analyse) und DFA (DFA = differential fault analysis, differentielle Fehler-Analyse) zu schützen, muss zum einen der erste Schritt 180 zum Aufbau der Verbindung, also die Authentisierung, erweitert werden.
-
8 zeigt eine Drei-Wege Anforderungs-Antwort-Überprüfung zur gegenseitigen Authentisierung zwischen Datensender 100 und Datenempfänger 120. Bei der Drei-Wege Anforderungs-Antwort-Überprüfung wird eine andere Information übertragen, wobei die Anforderungs-Antwort-Einrichtung 112 und 136 des Datensenders 100 und des Datenempfängers 120 jeweils einen Zufallszahlengenerator oder einen kryptographischen Pseudozufallszahlengenerator aufweisen, die ausgebildet sind, um eine echte bzw. pseudozufällige Zufallszahl zu generieren.
-
Zunächst generiert der Datensender 100 zwei Zufallszahlen, eine Anforderungs-Zufallszahl RP und eine zusätzliche Zufallszahl rP, die z. B. eine Länge von 48 Bit aufweisen kann. Genauso generiert der Datenempfänger 120 zwei Zufallszahlen, eine Anforderungs-Zufallszahl RT und eine zufällige Zufallszahl rT, die z. B. die gleiche Länge wie die Zufallszahl rP aufweisen kann, z. B. 48 Bit. Die Anforderungs-Zufallszahl RP und RT können jeweils eine vorgegebene Länge von z. B. 72 Bit aufweisen. Der gemeinsame geheime Schlüssel kID und die beiden öffentlichen Zufallszahlen rP und rT können anschließend genutzt werden, um einen Sitzungs-Schlüssel (session key) k0 über eine Sitzungs-Schlüssel-Ableitungs-Funktion SK zu berechnen: k0 = SK(kID, rP, rT).
-
In 8 wird hierzu beispielhaft zunächst eine erste Nachricht 210 vom Datensender 100 zum Datenempfänger 120 übertragen, wobei die erste Nachricht 210 die Anforderungs-Zufallszahl RP und die öffentliche Zufallszahl rP aufweist. Anschließend ermittelt der Datenempfänger 120 den Session-Schlüssel k0 und eine verschlüsselte Version cP = AES (Schlüssel = k0, RP) der Anforderungs-Zufallszahl RP des Datensenders 100 unter Verwendung des Session-Schlüssels k0.
-
In einer zweiten Nachricht 212 überträgt der Datenempfänger 120 zum Datensender 100 die verschlüsselte Version cP der Zufallszahl RP des Datensenders 100, die Anforderungs-Zufallszahl RT und die öffentliche Zufallszahl rT. Anschließend ermittelt der Datensender 100 zunächst den Session-Schlüssel k0 und mit Hilfe des Session-Schlüssels k0 die eigene verschlüsselte Version cP' = AES (Schlüssel = k0, RP) der eigenen Anforderungs-Zufallszahl RP. Stimmt die eigene verschlüsselte Version cP' der eigenen Anforderungs-Zufallszahl RP mit der vom Datenempfänger 120 erhaltenen verschlüsselten Version cP der eigenen Anforderungs-Zufallszahl RP überein (cP' = cP), so hat sich der Datenempfänger 120 gegenüber dem Datensender 100 authentisiert, woraufhin der Datensender 100 den Datenempfänger 120 akzeptiert. Falls die Authentisierung erfolgreich ist, ermittelt der Datensender 100 ferner die verschlüsselte Version cT = AES (Schlüssel = k0, RT) der Anforderungs-Zufallszahl RT des Datenempfängers 120 mit dem Sitzungs-Schlüssel k0.
-
In einer dritten Nachricht 214 wird die verschlüsselte Version cT der Anforderungs-Zufallszahl RT des Datenempfängers 120 übermittelt. Der Datenempfänger 120 ermittelt eine eigene verschlüsselte Version cT' = AES (Schlüssel = k0, RT) der eigenen Anforderungs-Zufallszahl RT und überprüft anschließend, ob die mit der dritten Nachricht 214 erhaltene verschlüsselte Version cT der eigenen Zufallszahl RT mit der eigenen verschlüsselten Version cT' der Zufallszahl RT übereinstimmt. Falls die eigene verschlüsselte Version cT' der eigenen Anforderungs-Zufallszahl RT mit der erhaltenen verschlüsselten Version cT der Zufallszahl RT übereinstimmt (cT = cT'), dann hat sich der Datensender 100 gegenüber dem Datenempfänger authentisiert, woraufhin der Datenempfänger 120 den Datensender 100 akzeptiert. Andernfalls (cT ≠ cT') wird der Verbindungsaufbau abgebrochen.
-
Alternativ kann die Gültigkeit der Authentifizierung überprüft werden, indem der Datensender 100 direkt in die Datenübertragungsphase übergeht, anstatt eine verschlüsselte Version cT der eigenen Zufallszahl RT an den Datenempfänger 120 in einer dritten Nachricht 214 zu übermitteln. Die Authentifizierung kann dabei z. B. direkt über die Signatur Si erfolgen.
-
Die Sitzungs-Schlüssel-Ableitungs-Funktion SK weist in dem in 5 gezeigten Aspekt eine AES-Verschlüsselung und eine finite Feldoperation auf, die Non-Leaking Map (NLM) genannt wird. Der somit erhaltene Sitzungs-Schlüssel wird anschließend für den zweiten Schritt 182 aus 4, also für die Übertragung der Sendepakete BiSi, verwendet.
-
9 zeigt einen weiteren Aspekt einer Verschlüsselungseinrichtung 106 und 124 zum Erhalten einer sicheren, aber effizienten Signatur, die ferner gegen Seitenkanalangriffe geschützt ist. Der Aufbau der MAC-Kette basiert in diesem Fall auf einem HMAC (HMAC = Keyed-Hash Message Authentication Code, eine Art MAC der basierend auf einer kryptografischen Hash-Funktion berechnet wird), wobei eine Matyas-Meyer-Oseas-Aufbau als ein elementarer Baublock verwendet wird. Die Blöcke von Nutzdaten Bi werden vor der Verschlüsselung von einem Blockauffüller 200 aufgefüllt, um aufgefüllte Blöcke von Nutzdaten zu erhalten. Diese aufgefüllten Blöcke von Nutzdaten werden anschließend verschlüsselt, wobei z. B. eine AES-Verschlüsselung zum Einsatz kommen kann. Aus 9 geht hervor, dass für jede Verschlüsselung der MAC-Berechnungskette neue Schlüssel k1, k2, k3, ..., kN genutzt werden. Diese Schlüssel werden iterativ aus den vorherigen generiert. Beispielsweise wird ein Block von Nutzdaten Bi mit dem Schlüssel ki verschlüsselt, um ein Verschlüsselungsergebnis VEi zu erhalten. Der folgende Schlüssel ki+1, der für die Verschlüsselung des folgenden Blöcks von Nutzdaten Bi+1 verwendet wird, kann z. B. aus einer Kombination des Verschlüsselungsergebnis VEi und des Blocks von Nutzdaten Bi erhalten werden. Diese Kombination kann dabei z. B. über eine XOR-Addition oder eine XNOR-Addition erfolgen. Der erste Schlüssel k1 der Berechnungskette wird vom Session-Schlüssel k0 und der Anforderungs-Zufallszahl RP und RT abgeleitet. Die Verwendung des veränderlichen Schlüssels ki anstelle des gemeinsamen geheimen Schlüssels kID für die Verschlüsselung ist eine Voraussetzung, damit die Übertragung der Sendepakete BiSi zwischen Datensender 100 und Datenempfänger 120 gegen Seitenkanalattacken gesichert ist. Auch in dem in 9 gezeigten Aspekt ist der extrahierte Teil des Verschlüsselungsergebnis VEi, der als Signatur Si verwendet wird, kleiner als der entsprechende Block von Nutzdaten Bi. Der Datensender 100 und der Datenempfänger 120 eröffnen somit z. B. im Automotiv-Sensorik-Bereich ein bislang nicht bekanntes Niveau an Sicherheit gegen Angriffe, z. B. gegen Protokollangriffe und gegen physikalische Angriffe sowie insbesondere gegen differentielle Seitenkanalangriffe.
-
Ferner kann es bei hohen bzw. extremen Echtzeitanforderungen erforderlich sein, dass z. B. ein Datenempfänger 120 bereits Daten eines Datensenders 100 benötigt, bevor eine Authentifizierung zwischen Datensender 100 und Datenempfänger 120 erfolgreich durchgeführt werden kann. In diesem Fall können der Datensender 100 und der Datenempfänger z. B. ausgebildet sein, um zu Beginn der Datenübertragung Sendepakete BiSi zu übertragen, die (zunächst) nicht authentifiziert sind bzw. authentifiziert werden können. Die Authentifizierung kann anschließend z. B. verzögert hinzu geschaltet werden.
-
Die mit den Sendepaketen BiSi übertragenen Signaturen Si können z. B. zunächst Dummy-Signaturen sein, die nicht ausgewertet bzw. zur Authentifizierung genutzt werden können. Somit können zwei Zustände vorliegen, ein erster Zustand, bei dem unauthentifizierte Sendepakete BiSi übertragen werden und ein zweiter Zustand, bei dem authentifizierte Sendepakete BiSi übertragen werden. Ein Übergang von dem ersten Zustand in den zweiten Zustand kann z. B. sichergestellt werden, indem der Datenempfänger 120 ausgebildet ist, um während des ersten Zustands nur eine begrenzte Anzahl an Sendepaketen BiSi, die z. B. im Vorfeld festgelegt oder vorgegeben sein kann, zu empfangen. Der Datenempfänger kann ferner ausgebildet sein, um während des ersten Zustands die Zufallszahl R, wie z. B. in 5 gezeigt, an den Datensender 100 zu übertragen. Der Datensender 100 kann ferner ausgebildet sein, um während des ersten Zustands Sendepakete BiSi zu übertragen, die als Signatur Si ein z. B. bekanntes Datenmuster aufweisen. Der Datenempfänger 120 kann dabei z. B. eine Änderung des bekannten Datenmusters seitens des Datensenders 100 als einen Übergang von dem ersten Zustand in den zweiten Zustand interpretieren, wobei anschließend im zweiten Zustand die Übertragung der Sendepakete BiSi authentifiziert erfolgen kann.
-
Falls ein Übergang von dem ersten Zustand in den zweiten Zustand z. B. innerhalb eines vorgegeben Zeitfensters bzw. Zeitintervalls oder nach einer vorgegebenen Anzahl an übertragen Sendepakete BiSi nicht erfolgt, kann der Datenempfänger 120 z. B. ausgebildet sein, um dies als einen Angriff interpretieren und um die Übertragung z. B. abzubrechen. Alternativ können der Datensender 100 und der Datenempfänger 120 z. B. ausgebildet sein, um die Anzahl der Sendepakete BiSi zu zählen, wobei ein Übergang von dem ersten Zustand in den zweiten Zustand nach einer (fest) vorgegebenen Anzahl von Sendepaketen BiSi erfolgen kann. Optional kann der Übergang von dem ersten Zustand in den zweiten Zustand nach einer vorgegebenen Zeit, z. B. einer Wartezeit, erfolgen.
-
Ferner kann die Gültigkeit der Authentisierung überprüft werden, indem direkt in die Datenübertragungsphase übergegangen wird, anstelle die Gültigkeit der Authentisierung mittels zurücksenden von r' (verschlüsselte Version der Zufallszahl R), cP (verschlüsselte Version der Zufallszahl RP) oder cT (verschlüsselte Version cP der Zufallszahl RT) zu überprüfen. Die Authentisierung ist dann z. B. direkt durch die Signatur Si gegeben.
-
Die Aspekte der Integritäts-Sicherung des Datensenders 100 und des Datenempfängers 120 können in weitere Protokolle z. B. in weitere kostengünstige bidirektionale Protokolle implementiert werden wie z. B. in das PSI5-Protokoll. Die aufgeführten Aspekte sind immer von Vorteil, wenn es nicht erforderlich ist, Fehler sofort nach jeder Übertragung eines Sendepakets BiSi zu erkennen, also wenn keine Erkennung in Echtzeit erforderlich ist. Darüber hinaus sind die aufgeführten Aspekte immer dann von Vorteil, wenn es bedingt durch die vorhandene Bandbreite und/oder einzuhaltender maximaler Verzögerungszeit nicht möglich ist, einen ganzen MAC nach jedem Block von Nutzdaten Bi oder nach mehreren Blöcken von Nutzdaten einzufügen. Die gezeigten Aspekte können somit für die Erweiterung vorhandener Protokolle genutzt werden, da für die Übertragung nur sehr wenige Bits und sogar, je nach Ausführung, nur ein einziges Bit erforderlich ist, wobei die Sicherheit mit jedem übertragenen Block von Nutzdaten Bi steigt, da für die Berechnung der Signatur Si ab dem zweiten Block von Nutzdaten B2 jeweils das vorherige Verschlüsselungsergebnis VEi verwendet wird.