-
Ausführungsbeispiele betreffen allgemein Kommunikationsanordnungen.
-
Die Integrität und Authentizität von Nachrichten, die beispielsweise über einen Bus übertragen werden, wird üblicherweise durch Prüfsummen (z. B. durch einen MAC: Message Authentication Code) sichergestellt. Beispielsweise berechnet der Sender einer Nachricht den MAC für die Nachricht und fügt ihn der Nachricht hinzu. Der oder die Empfänger der Nachricht prüfen, ob der in einer Nachricht empfangene MAC korrekt ist. Falls eine gesendete Nachricht oder der in der Nachricht enthaltene MAC zwischen Sender und Empfänger verändert wurde, so kann dies auf Empfängerseite mit hoher Wahrscheinlichkeit erkannt werden.
-
Die Berechnung und Prüfung eines MACs erfordert einerseits Rechenleistung auf Senderseite und Empfängerseite. Außerdem wird für den MAC typischerweise ein geheimer Schlüssel benötigt, der, je nach verwendetem Verfahren, ggf. sowohl dem Sender als auch dem Empfängern bekannt sein muss. Insgesamt führt die Überprüfung von Integrität und Authentizität von Nachrichten somit zu Overhead bei Sendern und Empfängern (z. B. durch Aufwand für die Berechnung bzw. Prüfung von MACs, Verteilung eines geheimen Schlüssels, Schutz des geheimen Schlüssels gegen Ausspähen etc.).
-
Dementsprechend ist ein effizienterer Schutz der Integrität und Authentizität von Nachrichten, die mittels eines Bussystems zwischen mehreren Komponenten übertragen werden, wünschenswert.
-
Aus dem Dokument
DE 10 2007 056 662 A1 ist ein System zur Freischaltung der Funktionalität einer Ablaufsteuerung bekannt, die in einem Steuergerät eines Kraftfahrzeugs gespeichert ist. Dabei wird zunächst eine Freischaltnachricht von einem ersten fahrzeuginternen Steuergerät oder einer ersten fahrzeugexternen Stelle über einen Kommunikationsbus an eine zentrale Prüf-Vorrichtung eines Kraftfahrzeugs gesendet. Aus der empfangenen Nachricht bestimmt die zentrale Prüf-Vorrichtung eine Ablaufsteuerungs-Identifikationsinformation sowie dasjenige Steuergerät, das die identifizierte Ablaufsteuerung aufweist. Anschließend übermittelt die zentrale Prüf-Vorrichtung eine zu der identifizierten Ablaufsteuerung gehörige Freischaltanweisung an das bestimmte Steuergerät.
-
Gemäß einer Ausführungsform wird eine Kommunikationsanordnung bereitgestellt, die einen Bus, eine Mehrzahl von Kommunikationsvorrichtungen, die mit dem Bus gekoppelt sind und eine Überwachungsvorrichtung aufweist, die eingerichtet ist, für jede Kommunikationsvorrichtung der Mehrzahl von Kommunikationsvorrichtungen zu detektieren, ob der Bus eine an eine der Kommunikationsvorrichtungen adressierte und gesendete, zu überprüfende Nachricht überträgt und, wenn die Überwachungsvorrichtung detektiert, dass der Bus eine an eine der Kommunikationsvorrichtungen adressierte und gesendete, zu überprüfende Nachricht überträgt, zu überprüfen, ob eine in der Nachricht enthaltene Authentifizierungsinformation korrekt ist.
-
Die Figuren geben nicht die tatsächlichen Größenverhältnisse wieder sondern sollen dazu dienen, die Prinzipien der verschiedenen Ausführungsbeispiele zu illustrieren. Im Folgenden werden verschiedene Ausführungsbeispiele mit Bezug auf die folgenden Figuren beschrieben.
-
1 zeigt eine Kommunikationsanordnung gemäß einem Ausführungsbeispiel mit einer gemeinsamen Überprüfungsvorrichtung für eine Mehrzahl von Kommunikationsvorrichtungen.
-
2 zeigt eine Kommunikationsanordnung gemäß einem Ausführungsbeispiel mit einer Überprüfungsvorrichtung, die von einer sendenden Komponente gesendete Nachrichten auf Authentizität und Integrität überprüft.
-
3 zeigt eine Kommunikationsanordnung gemäß einem Ausführungsbeispiel, bei dem Authentizität und Integrität unter Verwendung eines MACs (Message Authentication Codes) überprüft werden.
-
Die folgende detaillierte Beschreibung bezieht sich auf die beiliegenden Figuren, die Details und Ausführungsbeispiele zeigen. Diese Ausführungsbeispiele sind so detailliert beschrieben, dass der Fachmann die Erfindung ausführen kann. Andere Ausführungsformen sind auch möglich und die Ausführungsbeispiele können in struktureller, logischer und elektrischer Hinsicht geändert werden, ohne vom Gegenstand der Erfindung abzuweichen. Die verschiedenen Ausführungsbeispiele schließen sich nicht notwendig gegenseitig aus sondern es können verschiedene Ausführungsformen miteinander kombiniert werden, so dass neue Ausführungsformen entstehen.
-
1 zeigt eine Kommunikationsanordnung 100 gemäß einer Ausführungsform. Die Kommunikationsanordnung 100 weist einen Bus 101 und eine Mehrzahl von Kommunikationsvorrichtungen 103 auf, die mit dem Bus gekoppelt sind. Die Kommunikationsanordnung 100 weist ferner eine Überwachungsvorrichtung auf, die eingerichtet ist, für jede Kommunikationsvorrichtung der Mehrzahl von Kommunikationsvorrichtungen zu detektieren, ob der Bus eine an eine der Kommunikationsvorrichtungen adressierte, zu überprüfende Nachricht überträgt und, wenn die Überwachungsvorrichtung detektiert, dass der Bus eine an eine der Kommunikationsvorrichtungen adressierte, zu überprüfende Nachricht überträgt, zu überprüfen, ob eine in der Nachricht enthaltene Authentifizierungsinformation korrekt ist.
-
Gemäß einer Ausführungsform ist in anderen Worten für mehrere Komponenten eine gemeinsame Überwachungskomponente vorgesehen, die für Nachrichten, die an eine oder mehrere der Komponenten gesendet werden, Authentizität und Integrität überprüft, indem sie in den Nachrichten jeweils enthaltene Authentifizierungsinformation auf ihre Korrektheit überprüft. In anderen Worten ist eine zentrale Überwachung der Integrität und Authentizität von Nachrichten auf einem Bus vorgesehen.
-
Verglichen mit einer Konfiguration, bei der jede Komponente selbst an empfangene Nachrichten überprüft, kann durch die gemeinsame Überwachungskomponente der Overhead auf der Empfängerseite (d. h. auf der Seite der Komponenten) reduziert werden, da anstelle der Überprüfung (z. B. von Message Athentication Codes (MACs) oder Signaturen) in jeder Komponente die Nachrichten in der gemeinsamen Überwachungskomponente (z. B. in einem zentralen Modul, z. B. bezeichnet als „Wächterkomponente” oder „Sentinel”), die an dem Bus horcht, geprüft werden.
-
Auf diese Weise kann beispielsweise auf effiziente Weise in einem offen zugänglichen Bus oder Bussystem oder zumindest in Teilen davon die Integrität und Authentizität von Nachrichten sichergestellt werden, d. h. die Nachrichten durch Veränderung durch einen Angreifer oder zufällige Fehler auf dem Bus geschützt werden und die Fälschung von Nachrichten verhindert werden.
-
Die Überwachungsvorrichtung überwacht den Bus beispielsweise in Echtzeit, so dass durch die Überprüfung von Nachrichten durch die Überwachungsvorrichtung in Hinblick auf Echtzeitanforderungen (z. B. Auslösen eines Airbags durch eine empfangende Komponente) nur tolerierbare Verzögerungen entstehen.
-
Ein Bus kann als Datenverbindung verstanden werden, die verschiedene Komponenten eines Computersystems verbindet (beispielsweise im Unterschied zu einem Computer-Netzwerk, das mehrere Computersysteme miteinander verbindet). Beispielsweise ist der Bus ein interner Bus einer Vorrichtung, beispielsweise eines Computers oder eines Fahrzeugs, der Komponenten innerhalb der Vorrichtung miteinander zur Datenübertragung verbindet. Der Bus kann beispielsweise ein Bus sein, der eine (zentrale) Steuereinheit einer Vorrichtung mit verschiedenen Komponenten einer Vorrichtung (z. B. Steuerkomponenten für verschiedene Teile der Vorrichtung, z. B. Airbag-Steuermodule) verbindet.
-
Die Authentifizierungsinformation ist beispielsweise eine kryptographische Authentifizierungsinformation.
-
Beispielsweise ist die Authentifizierungsinformation eine Signatur oder ein Message Authentication Code (MAC).
-
Gemäß einer Ausführungsform ist die Überwachungsvorrichtung eingerichtet, zu überprüfen, ob die enthaltene Authentifizierungsinformation für in der Nachricht enthaltene Daten korrekt ist.
-
Die Nachricht wird beispielsweise als eine von einer weiteren Kommunikationsvorrichtung gesendete Nachricht auf dem Bus übertragen (z. B. durch eine in der Nachricht enthaltene Absenderadresse) und die Überwachungsvorrichtung ist beispielsweise eingerichtet, basierend darauf, ob die in der Nachricht enthaltene Authentifizierungsinformation korrekt ist, zu ermitteln, ob die Nachricht von der weiteren Kommunikationsvorrichtung gesendet wurde.
-
Die Überwachungsvorrichtung ist beispielsweise ferner eingerichtet, basierend darauf, ob die in der Nachricht enthaltene Authentifizierungsinformation korrekt ist, zu ermitteln, ob die Nachricht seit dem Senden von der weiteren Kommunikationsvorrichtung verändert wurde.
-
Die Überwachungsvorrichtung kann eingerichtet sein, falls die in der Nachricht enthaltene Authentifizierungsinformation korrekt ist, ein Signal auszugeben, das anzeigt, dass die in der Nachricht enthaltene Authentifizierungsinformation korrekt ist, und/oder eingerichtet sein, falls die in der Nachricht enthaltene Authentifizierungsinformation nicht korrekt ist, ein Signal auszugeben, das anzeigt, dass die in der Nachricht enthaltene Authentifizierungsinformation nicht korrekt ist.
-
Beispielsweise ist die Überwachungsvorrichtung eingerichtet, das Signal an die Kommunikationsvorrichtung oder die Kommunikationsvorrichtungen, an die die Nachricht adressiert ist, auszugeben.
-
Zum Beispiel ist die Überwachungsvorrichtung eingerichtet, das Signal mittels einer von dem Bus separaten Leitung an die Kommunikationsvorrichtung, an die die Nachricht adressiert ist, zu übertragen.
-
Jede der Kommunikationsvorrichtungen ist beispielsweise derart eingerichtet, dass, wenn die Nachricht an sie adressiert ist, sie mit einem Verarbeitungsschritt zum Verarbeiten der Nachricht wartet, bis sie das Signal von der Überwachungsvorrichtung empfangen hat.
-
Gemäß einer Ausführungsform wird die Nachricht als eine von einer weiteren Kommunikationsvorrichtung gesendete Nachricht auf dem Bus übertragen und die Überwachungsvorrichtung ist eingerichtet, das Signal an die weitere Kommunikationsvorrichtung auszugeben.
-
Die Überwachungsvorrichtung ist beispielsweise eingerichtet, das Signal mittels einer von dem Bus separaten Leitung an die weitere Kommunikationsvorrichtung zu übertragen.
-
Gemäß einer Ausführungsform sind die Kommunikationsvorrichtungen und die Überwachungsvorrichtung gemäß einer Ringtopologie mittels des Busses gekoppelt.
-
Die Kommunikationsanordnung weist beispielsweise ferner ehre weitere Kommunikationsvorrichtung auf, wobei die Nachricht als eine von der weiteren Kommunikationsvorrichtung gesendete Nachricht auf dem Bus übertragen wird und die Kommunikationsvorrichtungen, die Überwachungsvorrichtung und die weitere Kommunikationsvorrichtung sind gemäß einer Ringtopologie mittels des Busses gekoppelt.
-
Gemäß einer Ausführungsform weist die Kommunikationsanordnung ferner eine weitere Kommunikationsvorrichtung auf, wobei die Nachricht als eine von der weiteren Kommunikationsvorrichtung gesendete Nachricht auf dem Bus übertragen wird und wobei die Kommunikationsvorrichtungen, die Überwachungsvorrichtung und die weitere Kommunikationsvorrichtung derart mittels des Busses gekoppelt sind, dass die Kommunikationsvorrichtungen an Punkten mit dem Bus gekoppelt sind, der auf dem Übertragungsweg der Nachricht von der weiteren Kommunikationsvorrichtung zu der Überwachungsvorrichtung liegen.
-
Eine Nachricht ist beispielsweise zu überprüfen, wenn sie ein vorgegebenes Sicherheitskriterium erfüllt.
-
Zum Beispiel ist eine Nachricht zu überprüfen, wenn sie gemäß dem Sicherheitskriterium sicherheitskritisch ist.
-
In Folgenden werden Ausführungsbeispiele in größerem Detail beschrieben.
-
2 zeigt eine Kommunikationsanordnung 200.
-
Die Kommunikationsanordnung 200 weist einen Bus 201, eine sendende Komponente (d. h. einen Bus-Master) 202 und eine Mehrzahl von empfangenden Komponenten 203 (z. B. Bus-Slaves) auf. Die sendende Komponente 202 ist beispielsweise eine Steuereinrichtung für die empfangenden Komponenten 203, beispielsweise eine Steuereinheit für verschiedene Module in einem Fahrzeug.
-
Die sendende Komponente 202 kann mittels des Busses Nachrichten an ein oder mehrere empfangende Komponenten 203 übermitteln.
-
Außerdem ist eine Überwachungsvorrichtung 204, auch bezeichnet als Wächterkomponente (oder „Sentinel”), mit dem Bus 201 gekoppelt, so dass sie über den Bus an eine oder mehrere empfangende Komponenten gesendete Nachrichten detektieren kann.
-
Die empfangenden Komponenten 203 führen beispielsweise nur minimale Fehlerprüfungen durch, die auf den unteren Protokollebenen (z. B. auf Schicht 2) des Busses 201 bzw. der Busschnittstellen der empfangenden Komponenten 203 implementiert sind. Dadurch können Störungen (z. B. Übertragungsfehler) auf dem Bus 201 erkannt werden.
-
In einer Ausführungsformen gehen die empfangenden Komponenten 203 bezüglich Integrität und Authentizität der übertragenen Nachrichten davon aus, dass die Nachrichten in Ordnung sind (also z. B. nicht durch einen Angreifer verändert worden sind). Die Wächterkomponente 204 überprüft alle sicherheitskritischen Nachrichten auf Authentizität und Integrität, beispielsweise durch Überprüfung von jeweils in den Nachrichten enthaltenen MACs, die auf dem Bus 201 übertragen werden und bringt beispielsweise das Bussystem, d. h. die Busanordnung 200, in einen sicheren Zustand, sobald ein: Angriff erkannt worden ist, d. h. sobald bei einer Nachricht Authentizität und Integrität nicht festgestellt werden konnten.
-
Die Wächterkomponente 204 kann auch für jede Nachricht, die sie überprüft, die Komponente oder die Komponenten, an die die Nachricht adressiert ist, darüber informieren, ob ein Fehler aufgetreten ist (d. h. Authentizität und Integrität der Nachricht nicht festgestellt werden konnten). Beispielsweise gibt die Wächterkomponente 204 nur im Falle eines Fehlers ein entsprechendes Alarmsignal an die Komponente oder die Komponenten, an die die Nachricht adressiert ist, aus oder gibt nur im Falle einer erfolgreichen Überprüfung von Authentizität und Integrität der Nachricht ein entsprechendes Bestätigungssignal an die Komponente oder die Komponenten, an die die Nachricht adressiert ist, aus oder schickt in jedem Fall eine Informationsnachricht mit einer Angabe des Ergebnisses der Überprüfung von Authentizität und Integrität der Nachricht an die Komponente oder die Komponenten, an die die Nachricht adressiert ist.
-
Die entsprechende Nachricht (Alarmsignal, Bestätigungssignal oder Informationsnachricht) kann über den Bus, oder, zur höheren Sicherheit, über ein oder mehrere separate Signalisierungsleitungen, die zwischen der Wächterkomponente 204 und den empfangenden Komponenten 203 vorgesehen sind, übertragen werden. Diese Nachricht kann auch oder alternativ an die sendende Komponente 202 übertragen werden, ggf. über eine separate Signalisierungsleitung zwischen der Wächterkomponente 204 und der sendenden Komponente 202.
-
Die Komponenten 202, 203, 204 können auch in einer Ringstruktur angeordnet sein, so dass eine von der sendenden Komponente 202 gesendete Nachricht entlang des Rings zunächst die empfangenden Komponenten 203 erreicht, bevor sie weiter entlang des Rings die Wächterkomponente 204 erreicht, die die Nachricht auf Authentizität und Integrität überprüft und weiter entlang des Rings die sendende Komponente über das Ergebnis der Überprüfung informiert (ggf. wie oben beschrieben nur im Falle einer negativen Überprüfung oder nur im Falle einer positiven Überprüfung).
-
Gemäß einer Ausführungsform ist die Wächterkomponente 204 eine essentielle Komponente in dem Bussystem 200, da durch Entfernen der Wächterkomponente 204 die MACs nicht mehr geprüft werden. Das Bussystem 200 ist beispielsweise derart eingerichtet, dass es bei Entfernen der Wächterkomponente 204 nicht mehr funktioniert.
-
Ein Beispiel, bei der die Überprüfung von Authentizität und Integrität anhand eines MACs durchgeführt wird, ist in 3 dargestellt.
-
3 zeigt eine Kommunikationsanordnung 300.
-
Die Kommunikationsanordnung 300 weist analog zu der Kommunikationsanordnung 200 einen Bus 301, eine sendende Komponente 302, empfangende Komponenten 303 und eine Überwachungsvorrichtung (Wächterkomponente) 304 auf.
-
Die sendende Komponente 302 und die Wächterkomponente 304 haben beide einen geheimen Schlüssel K gespeichert.
-
Die sendende Komponente 302 ermittelt die Geräteidentifikation die der empfangenden Komponente 303, an die zu sendende Daten m übertragen werden sollen und ermittelt einen MAC als Funktion des Schlüssels K, der zu sendenden Daten m und der Geräteidentifikation id. Dann erzeugt sie eine Nachricht, die die Geräteidentifikation, die zu sendenden Daten und den ermittelten MAC enthält und überträgt sie über den Bus 301.
-
Die Wächterkomponente 304 detektiert die Nachricht auf dem Bus, ermittelt die enthaltenden Daten m und die Geräteidentifikation id aus der Nachricht und ermittelt ihrerseits den MAC als Funktion des Schlüssels K, der zu sendenden Daten m und der Geräteidentifikation id. Die Wächterkomponente 304 überprüft dann, ob der von ihr ermittelte MAC mit dem in der Nachricht enthaltenen MAC übereinstimmt. Wenn ja, ist die Überprüfung von Authentizität und Integrität erfolgreich. In diesem Fall bestätigt die Wächterkomponente beispielsweise die Authentizität und Integrität an die sendende Komponente 302 und/oder an die (mittels der Geräteidentifikation) adressierte empfangende Komponente 303. Wenn nein, ist die Überprüfung von Authentizität und Integrität nicht erfolgreich. In diesem Fall warnt die Wächterkomponente beispielsweise die sendende Komponente 302 und/oder die (mittels der Geräteidentifikation) adressierte empfangende Komponente 303 mittels eines Alarmsignals. Wie in 3 gezeigt, übermittelt die Wächterkomponente 304 beispielsweise über eine (vom Bus 301) separate Leitung das Alarmsignal an die sendende Komponente 302 im Falle einer fehlgeschlagenen Überprüfung von Authentizität und Integrität.
-
Durch die zentrale MAC-Prüfung ist die Überprüfung der MACs durch die empfangenden Komponenten 303 nicht mehr erforderlich. Dies führt zu weniger Overhead und einer einfacheren Verwaltung des geheimen Schlüssels K, da die empfangenden Komponenten 303 diesen nicht mehr kennen müssen und somit der Schutz des geheimen Schlüssels bei den empfangenden Komponenten 303 entfällt.
-
Der Bus 101, 201, 301 ist beispielsweise ein fahrzeuginterner Bus (oder ein Bussystem) zwischen verschiedenen elektronischen Komponenten des Fahrzeugs (z. B. Motorsteuerung, Getriebesteuerung, Sensoren, Fensterheber, Airbag, etc.), z. B. in einem Automobil. Beispielsweise ist der Bus 101, 201, 301 ein CAN(Controller Area Network)-Bus in einem Fahrzeug. Beim CAN-Bus ist eine CRC-Prüfsumme gegen zufällige Fehler durch Störungen auf dem Bus vorgesehen.
-
Die Überprüfungsvorrichtung 102, 204, 304 ist in diesem Fall beispielsweise ein Steuergerät in dem Fahrzeug, z. B. die Motorsteuerungskomponente, die mit einem integriertem HSM (Hardware Security Module) ausgestattet ist. Ein HSM beinhaltet typischerweise einen Hardwarebeschleuniger für kryptografische Operationen und erlaubt die schnelle Überprüfung vieler MAC-gesicherter Nachrichten bei hohem Durchsatz und geringer Latenz. Außerdem kann es zur Speicherung geheimer Schlüssel und Daten verwendet werden und eignet sich daher auch zur Verwaltung von geheimen Schlüsseln für die MAC-Erzeugung und MAC-Überprüfung und die Verteilung von Schlüssel an sendende Komponenten. Beispielsweise erzeugt die Überprüfungsvorrichtung 102, 204, 304 geheime Schlüssel und verteilt jeweils einen geheimen Schlüssel an eine sendende Komponente.
-
Da die Motorsteuerkomponente eine essentielle Komponente in einem Fahrzeug ist kann die Überwachungsfunktion in diesem Fall nicht einfach entfernt werden.
-
Für manche empfangenden Komponenten, die durch eine gefälschte Nachricht in einen irreversiblen Zustand versetzt werden könnten (z. B. eine Steuervorrichtung zum Auslösen eines Airbags) kann die Wächterkomponente das Fahrzeug (bzw. das Bussystem) eventuell nicht rechtzeitig in den sicheren Zustand versetzen. In diesem Fall ist beispielsweise ein weiterer, unabhängiger Kanal (d. h. zum Beispiel eine separate Leitung wie oben beschrieben) vorgesehen, einer empfangenden Komponente die Integrität und Authentizität einer Nachricht, die zu solch einem Zustand führen würde, explizit bestätigt.
-
Alternativ zu einem MAC kann auch eine Signatur verwendet werden. In diesem Fall signiert eine sendende Komponente eine Nachricht mit einem privaten, beispielsweise nur ihr bekanntem Schlüssel und die Überwachungsvorrichtung überprüft die Gültigkeit der Signatur, und damit die Authentizität und die Integrität der Nachricht mittels eines zu dem privaten Schlüssel gehörenden öffentlichen Schlüssels.
-
Obwohl die Erfindung vor allem unter Bezugnahme auf bestimmte Ausführungsformen gezeigt und beschrieben wurde, sollte es von denjenigen, die mit dem Fachgebiet vertraut sind, verstanden werden, dass zahlreiche Änderungen bezüglich Ausgestaltung und Details daran vorgenommen werden können, ohne vom Wesen und Bereich der Erfindung, wie er durch die nachfolgenden Ansprüche definiert wird, abzuweichen. Der Bereich der Erfindung wird daher durch die angefügten Ansprüche bestimmt, und es ist beabsichtigt, dass sämtliche Änderungen, welche unter den Wortsinn oder den Äquivalenzbereich der Ansprüche fallen, umfasst werden.