DE102019105246A1 - Authentifizierungscode-überprüfungseinrichtung und verfahren zum überprüfen eines authentifizierungscodeworts - Google Patents
Authentifizierungscode-überprüfungseinrichtung und verfahren zum überprüfen eines authentifizierungscodeworts Download PDFInfo
- Publication number
- DE102019105246A1 DE102019105246A1 DE102019105246.7A DE102019105246A DE102019105246A1 DE 102019105246 A1 DE102019105246 A1 DE 102019105246A1 DE 102019105246 A DE102019105246 A DE 102019105246A DE 102019105246 A1 DE102019105246 A1 DE 102019105246A1
- Authority
- DE
- Germany
- Prior art keywords
- authentication code
- code word
- message
- mac
- checked
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3242—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
Abstract
Gemäß einem Ausführungsbeispiel wird eine Authentifizierungscode-Überprüfungseinrichtung für eine Kommunikationsvorrichtung beschrieben aufweisend eine Eingangsschnittstelle, die eingerichtet ist, ein zu überprüfendes Authentifizierungscodewort, das einer Nachricht zugeordnet ist, zu empfangen, eine Verarbeitungseinrichtung, die eingerichtet ist, zu überprüfen, ob die Anzahl von Bits des zu überprüfenden Authentifizierungscodeworts eine vorgegebene Minimalanzahl erfüllt und zu überprüfen, ob das Authentifizierungscodewort für die Nachricht gültig ist und eine Ausgabeeinrichtung, die eingerichtet ist, als Ergebnis der Überprüfung auszugeben, dass das Authentifizierungscodewort gültig ist, falls die Anzahl von Bits des zu überprüfenden Authentifizierungscodeworts die vorgegebene Minimalanzahl erfüllt und das Authentifizierungscodewort für die Nachricht gültig ist.
Description
- Ausführungsbeispiele betreffen allgemein Authentifizierungscode-Überprüfungseinrichtungen und Verfahren zum Überprüfen eines Authentifizierungscodeworts.
- In vielen Anwendungen werden Nachrichten, die zwischen Kommunikationsvorrichtungen über eine Kommunikationsverbindung, z.B. eines Kommunikationsnetzwerks wie ein (Computer-)Bus-Netzwerk ausgetauscht werden, derart geschützt, dass ein Empfänger einer solchen Nachricht überprüfen kann, ob sie authentisch ist, z.B. ob sie von dem behaupteten Sender stammt. Dies ist insbesondere bei sicherheitskritischen Anwendungen wichtig, wie beispielsweise in einem Fahrzeug, in dem Slave-Module eines Fahrzeugbussystems für bestimmte Steuerungsaufgaben vorgesehen sind, die sicherheitsrelevant sein können (wie Motorsteuerung oder Bremssteuerung). Eine Möglichkeit zum Schützen von Nachrichten sind Authentifizierungscodes wie der MAC (Message Authentication Code). Jedoch gibt es Möglichkeiten, die es einem Angreifer erlauben, gültige Authentifizierungscodes auszuspähen. Es ist wünschenswert, solche Angriffe zu verhindern.
- Gemäß einem Ausführungsbeispiel wird eine Authentifizierungscode-Überprüfungseinrichtung für eine Kommunikationsvorrichtung bereitgestellt aufweisend eine Eingangsschnittstelle, die eingerichtet ist, ein zu überprüfendes Authentifizierungscodewort, das einer Nachricht zugeordnet ist, zu empfangen, eine Verarbeitungseinrichtung, die eingerichtet ist, zu überprüfen, ob die Anzahl von Bits des zu überprüfenden Authentifizierungscodeworts eine vorgegebene Minimalanzahl erfüllt und zu überprüfen, ob das Authentifizierungscodewort für die Nachricht gültig ist und eine Ausgabeeinrichtung, die eingerichtet ist, als Ergebnis der Überprüfung auszugeben, dass das Authentifizierungscodewort gültig ist, falls die Anzahl von Bits des zu überprüfenden Authentifizierungscodeworts die vorgegebene Minimalanzahl erfüllt und das Authentifizierungscodewort für die Nachricht gültig 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 ein Kommunikationsnetz für ein Fahrzeug. -
2 zeigt eine Kommunikationsvorrichtung, beispielsweise eine elektronische Steuereinheit für ein Fahrzeug, z.B. implementiert mittels eines Mikrocontrollers. -
3 veranschaulicht die MAC-Erzeugung auf Senderseite. -
4 veranschaulicht die MAC-Überprüfung auf Empfängerseite. -
5 zeigt eine Kommunikationsvorrichtung gemäß einer Ausführungsform.6 zeigt einen Vergleicher. -
7 veranschaulicht die MAC-Überprüfung auf Empfängerseite bei Verwendung einer minimalen MAC-Länge gemäß einer Ausführungsform. -
8 zeigt eine Authentifizierungscode-Überprüfungseinrichtung für eine Kommunikationsvorrichtung. -
9 zeigt ein Ablaufdiagramm, das ein Verfahren zum Überprüfen eines Authentifizierungscodeworts gemäß einer Ausführungsform veranschaulicht. - 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. Im Rahmen dieser Beschreibung werden die Begriffe „verbunden“, „angeschlossen“ sowie „gekoppelt“ verwendet zum Beschreiben sowohl einer direkten als auch einer indirekten Verbindung, eines direkten oder indirekten Anschlusses sowie einer direkten oder indirekten Kopplung.
- In modernen Fahrzeugen können verschiedene Bussysteme zum Einsatz kommen. Beispielsweise sind das CAN (Controller Area Network), Flexray und das LIN (Local Interconnect Network), das auch als LIN-Bus bezeichnet wird. Ein typisches Anwendungsgebiet für solch eine Bussystem ist die Vernetzung einer Fahrzeugtür, eines Sitzes, von Klimaklappen oder der verschiedenen Lichtquellen eines Innenbeleuchtungssystems.
-
1 zeigt ein Kommunikationsnetz100 für ein Fahrzeug. - Das Kommunikationsnetz
100 wird gebildet von einem Busmaster, der in diesem Beispiel von einem zentralen Steuergerät101 gebildet wird, z. B. einem zentralen Steuergerät in einem Fahrzeug, sowie einem oder mehreren Slave(s), in diesem Beispiel einer Mehrzahl von Knoten102 . Das zentrale Steuergerät101 und die Knoten102 sind über einen Bus103 in Reihe geschaltet. - Das zentrale Steuergerät
101 besitzt (als Busmaster) Informationen zur zeitlichen Planung der Übertragung zwischen dem zentralen Steuergerät101 und den Knoten (Slaves)102 . Ein Knoten102 sendet Daten, sobald er von dem zentralen Steuergerät101 dazu aufgefordert wird. Das zentrale Steuergerät101 sendet hierzu einen Nachrichtenkopf, der mit einer bestimmten Adresse gekennzeichnet ist. Als Antwort hierauf stellt der Knoten102 die zu sendenden Daten an den Bus103 bereit. Jeder Knoten102 besitzt eine eindeutige Adresse, über die er von dem zentralen Steuergerät101 angesteuert werden kann. - Es sollte beachtet werden, dass Ausführungsformen der Erfindung nicht auf den obigen Fall einer strikten Master-Slave-Kommunikation eingeschränkt sind, die hier nur als mögliches Ausführungsbeispiel dienen soll. Ausführungsformen sind auf beliebige Arten von Kommunikation mit Nachrichten anwendbar.
- Die Module (d. h. das zentrale Steuergerät
101 und die Knoten102 ) weisen jeweils einen Sender/Empfänger auf, der die zu sendenden Daten (z. B. von einer Mikrosteuerung des Moduls) in 12V-Signale übersetzt, welche dann über den Bus103 an ein anderes Modul übertragen werden. Im Fall einer Anwendung in einer Tür oder einem Sitz eines Fahrzeugs können dies verschiedene Knoten (Slaves)102 sein, die über den Bus kommunizieren. - Im Fall der Klimaanlage oder (Innen-) Beleuchtung sind die Slaves
102 üblicherweise identisch. Beispielsweise kann das Kommunikationsnetz100 eine Mehrzahl identischer Slaves102 aufweisen, die jeweils eine Klimaklappe steuern und jeder eine eigene (Mikro-) Steuerung, eine eigene Stromversorgung und einen eigenen LIN-Sender/Empfänger aufweisen. Im Fall einer Innenbeleuchtung weist das Kommunikationsnetz100 beispielsweise eine Mehrzahl identischer Slaves102 auf, wobei jeder Slave102 eine gedruckte Schaltung mit einer LED, einer Stromversorgung, einer Mikrosteuerung und einem LIN-Sender/Empfänger aufweist. Bei beiden Anwendungen, Klimaanlage und Beleuchtung, kann eine Vielzahl solcher identischer Module verwendet werden, z. B. mehr als 30. - In einem Kommunikationsnetz wie in
1 dargestellt ist es typischerweise vorgesehen, dass die beteiligten Module die Authentizität eingehender Nachrichten überprüfen. Dies ist vor allem dann von Bedeutung, wenn ein Modul eine sicherheitsrelevante Aufgaben hat, z.B. die Steuerung der Bremse des Fahrzeugs. -
2 zeigt eine Kommunikationsvorrichtung200 , beispielsweise eine elektronische Steuereinheit für ein Fahrzeug, z.B. implementiert mittels eines Mikrocontrollers. - Da im Folgenden das Verhalten beim Empfangen einer Nachricht, insbesondere die Überprüfung der Authentizität einer Nachricht, erläutert wird, sind in
2 die darin beteiligten Komponenten gezeigt. Die Kommunikationsvorrichtung200 kann darüber hinaus Komponenten zum Senden von Nachrichten und beispielsweise zum Steuern von Teilen eines Fahrzeugs aufweisen, die hier jedoch nicht gezeigt sind. - Die Kommunikationsvorrichtung
200 weist einen sicheren Bereich201 auf, beispielsweise implementiert durch eine sichere Steuereinrichtung (Secure Controller), z.B. ein Hardware-Sicherheitsmodul (HSM). - Der sichere Bereich
201 verfügt über kryptographische Schlüssel202 in einem Schlüsselspeicher203 zum Überprüfen der Authentizität empfangener Nachrichten. - Diese Überprüfung wird durchgeführt, indem der Message Authentication Code (MAC) aus den Daten der Nachricht mithilfe eines gemeinsam (von Sender und Empfänger der Nachricht) genutzten Schlüssels berechnet wird. Dieselbe Berechnung wird auf der Empfängerseite durchgeführt und der berechnete MAC wird mit einem vom Sender für die Nachricht gesendeten MAC verglichen. Um Bandbreite zu sparen, kann der MAC vom Sender verkürzt werden, z. B. von 256 Bit auf z. B. 16 Bit. Es sind verschiedene MAC-Algorithmen verfügbar und können verwendet werden. Ein Beispiel für einen MAC ist ein HMAC (Keyed-Hash Message Authentication Code).
- Der sichere Bereich
201 ist in der Kommunikationsvorrichtung200 enthalten (gehostet). Der Host204 , d.h. der Bereich der Kommunikationsvorrichtung200 außerhalb des sicheren Bereichs201 , also typischerweise der nicht-sichere Bereich der Kommunikationsvorrichtung200 enthält einen Nachrichtendekoder (COM205 ), der von einem Bus206 , mit der die Kommunikationsvorrichtung beispielsweise wie mit Bezug auf1 beschrieben verbunden ist, eine Nachricht empfängt und sie an den sicheren Bereich201 weiterleitet und dabei die Nachricht schon in ihre einzelnen Bestandteile zerlegt bzw. zur Authentifizierung (MAC-Überprüfung) der Nachricht verwendete Parameter erzeugt, nämlich Schlüssel-Identifikator (KeyID) 207, Kommando (CMD)208 , Eingangsnutzdaten (IN)209 und den empfangenen MAC (MACR) 210, die in jeweiligen Speicherbereichen des sicheren Bereichs201 gespeichert werden. - Die Eingangsnutzdaten sind z.B. zwischen Steuergeräten in einem Fahrzeug ausgetauschte Daten wie z.B. ein Drehzahl, Temperatur, Geschwindigkeit, Gang mit optionalen zusätzlichen Informationen. Der Schlüssel-Identifikator ist z.B. eine Schlüsselnummer.
- Der sichere Bereich
201 enthält eine Prüfungseinrichtung213 , der die Nachrichtenteile CMD, IN und KeyID zugeführt werden. - KeyID 207 ist der Parameter, um den Schlüssel
202 zur Authentifizierung der empfangenen Nachricht auszuwählen, d.h. z.B. die Schlüsselnummer „i“. CMD208 ist der Parameter, um das Kommando „MAC-Überprüfung“ durch die Prüfungseinrichtung213 auszuwählen. - Die Prüfungseinrichtung
213 dient dazu, den MAC der empfangenen Nachricht selbstständig zu berechnen. Ist die Schlüsselnummer beispielsweise 1, entnimmt die Prüfungseinrichtung213 den Schlüssel mit der Nummer1 „K1“ aus dem Schüsselspeicher203 . Anschließend berechnet eine MAC-Erzeugungseinrichtung211 der Prüfungseinrichtung213 mit Hilfe des SchlüsselsK1 den MAC für die Nachricht (z.B. in Abhängigkeit übermittelten Nutzdaten IN oder zumindest einem davon) und legt den berechneten MAC (MACG) in einem zugehörigen Speicherbereich ab. - Die Prüfungseinrichtung
213 weist einen Vergleicher212 auf, der den berechneten MAC MACG und mit dem empfangenen MAC MACR vergleicht. Der Vergleich ergibt entweder ein „Ja“ oder ein „Nein“ (oder „Validierungs-Erfolg“ oder „Validierungs-Misserfolg“ o.ä.), je nachdem, ob der Vergleich erfolgreich ist oder nicht. Diese Ja/Nein Information gibt die Prüfungseinrichtung213 an den Host204 , z.B. eine darauf laufende Applikation, für die die Nachricht bestimmt ist, zurück. -
3 veranschaulicht die MAC-Erzeugung auf Senderseite. - Der Sender erzeugt in 301 einen MAC unter Verwendung eines kryptographischen Schlüssels
302 und zu sendender Daten303 . - In
304 kann der Sender, der beispielsweise dem zentralen Steuergerät101 aus1 entspricht, den erzeugten MAC optional verkürzen, d.h. trunkieren, beispielsweise um Bandbreite auf dem Bus103 einzusparen. Der Sender sendet dann die zu sendenden Daten303 und den gegebenenfalls trunkierten MAC305 an den Empfänger. -
4 veranschaulicht die MAC-Überprüfung auf Empfängerseite. - Der Empfänger empfängt von Sender die gesendeten Daten
401 und den gegebenenfalls trunkierten MAC408 . - Die empfangenen Daten
401 entsprechen den Eingangsnutzdaten IN von2 . - In
402 überprüft der Empfänger, z.B. die Prüfungseinrichtung213 wie oben beschrieben, die Gültigkeit des empfangenen (ggf. trunkierten) MACs403 unter Verwendung der empfangenen Daten401 und dem passenden Schlüssel404 (der ihm durch den Schlüsselidentifikator vom Sender angezeigt wird). - Bei einer Kommunikationsvorrichtung, die über geheimen Schlüssel zur MAC-Authentifizierung verfügt, besteht das Sicherheitsproblem, dass wenn die Kommunikationsvorrichtung durch schädliche Software infiziert ist, diese Software mit einem geheimen Schlüssel gültige MACs für Nachrichten erstellen kann, um das System (also z.B. einen anderen Knoten
102 ) anzugreifen. In einem Fahrzeug kann es viele „unwichtige“ Steuergeräte geben, die Nachrichten empfangen, die mittels eines Schlüssels authentifiziert werden, der jedoch auch für kritische Nachrichten verwendet wird. Es muss sichergestellt sein, dass auch solche „unwichtigen“ Steuergeräte nicht angegriffen werden können, weshalb ggf. kostspielige Sicherheitsmaßnahmen erforderlich sind. - Bei der obigen Vorgehensweise wird dieses Sicherheitsproblem zunächst dadurch angegangen, dass der geheime Schlüssel nur innerhalb des sicheren Bereichs
201 vorhanden ist und die Wechselwirkung zwischen dem Host204 (insbesondere der auf dem Host laufenden Software) und dem sicheren Bereich201 auf eine Weise erfolgt, dass die MAC-Berechnung und der MAC-Vergleich innerhalb sicheren Bereichs201 liegen. - Dennoch hat die obige Vorgehensweise eine Schwäche, die in der konfigurierbaren Breite des MAC-Vergleichs besteht, die sich daraus ergibt, dass der Sender den MAC trunkieren kann und somit die Anzahl der Bits, die auf Empfängerseite überprüft werden, reduzieren kann. So ist bei automobilen Sicherheitsstandards wie SHE (Secure Hardware Extension) die Breite des überprüften MACs von 1 bis 128 Bit konfigurierbar.
- Im Folgenden wird ein Angriff beschrieben, der auf der konfigurierbaren Breite des MAC-Vergleichs basiert. Es wird dazu davon ausgegangen, dass ein Angreifer bereits den Host
204 kompromittiert hat. Der Host204 ist somit bereits unter Kontrolle des Angreifers und dieser versucht nun, gültige MACs zu erkunden, d.h. auszuspionieren. Wenn er auf diese Weise einen gültigen MAC (z.B. für einen bestimmten Befehl) ermittelt hat, kann er eine Nachricht auf den Bus103 legen und damit eine andere Komponente101 ,102 , die mit dem Bus103 verbunden ist, mithilfe dieser Nachricht steuern oder manipulieren. - Zur Ermittlung eines MACs für einen bestimmten Befehl (Kommando) erzeugt der Angreifer mittels des Hosts
204 das Kommando, gibt eine Schlüsselnummer (z.B. Schlüsselnummer1 ) an und verwendet einen MAC mit der Länge1 , beispielsweise mit dem Bit0 , und der Schlüsselnummer1 und gibt das Kommando mit dem MAC (und gegebenenfalls beliebigen Nutzdaten) an den sicheren Bereich201 als auf MAC-Gültigkeit zu überprüfende Nachricht. - Der sichere Bereich
201 gibt wie oben mit Bezug auf2 beschrieben nach Berechnung des korrekten MAC MACG und Vergleich mit dem im als empfangener MAC zugeführter MACR die Information zurück, ob der empfangene MAC MACR richtig oder falsch ist. - Da der empfangene MAC MACR jedoch nur 1 Bit aufweist, erfährt der Host
204 (und damit der Angreifer) aus dieser Information unmittelbar das korrekte erste Bit für den MAC: Wenn der sichere Bereich201 „richtig“ (oder „Ja“) zurückliefert, weiß der Host204 , dass das erste Bit des MACs0 ist. Wenn der sichere Bereich201 „falsch“ (oder „Nein“) zurückliefert, weiß der Host204 , dass das erste Bit des MACs1 ist. - Nachdem der kompromittierte Host
204 das erste Bit des MACs kennt, führt er wieder das Kommando als auf MAC-Gültigkeit zu überprüfende Nachricht dem sicheren Bereich201 zu, jetzt jedoch mit einem zweistelligen MAC, dessen erstes Bit auf das korrekte Bit gesetzt ist und dessen zweites Bit er willkürlich setzt. Analog zum ersten Bit erkennt er an der Rückmeldung des sicheren Bereichs201 , ob das zweite Bit korrekt ist oder nicht. - So kann der Host
204 nacheinander alle Stellen des MACs für den jeweiligen Schlüssel (z.B. mit Schlüsselnummer1 ) für das Kommando herauszufinden. Anschließend kann er analog die MACs für die weiteren Schlüsselnummern ermitteln. Damit ist er in der Lage, eine Nachricht mit MACs, die andere Busteilnehmer als gültig authentifizieren, zu erstellen. - Beispielsweise kann ein Angreifer mittels des folgenden Algorithmus einen gültigen MAC beliebiger Länge ausspionieren:
calc_mac(msg, macSize) { mac = 0; for (compBits = 1; compBits <= macSize; compBits++) { if (!hsm_mac_is_valid(msg, mac, compBits)) { mac|= 1<<(compBits-1); } } return mac; }
Der Befehl hsm_mac_is_valid steht dabei für eine Anfrage beim sicheren Bereich 201 (z.B. HSM), ob der aktuelle MAC mac gültig ist.
Die Anweisung mac|= 1<<(compBits-1) tauscht den Wert des Bits an der aktuell ausspionierten Stelle des MAC.
Der obige Algorithmus ist schnell und erzeugt im Durchschnitt nur macSize/2 ungültige MACs, d.h. eine Anzahl von macSize/2 Anfragen an den sicheren Bereich 201 zur MAC-Überprüfung (MAC-Validierungen), die in „falsch“ resultiert. Dies ist eine verhältnismäßig geringe Anzahl von Validierungsfehlern, da Validierungsfehlschläge in dieser Größenordnung auch aus anderen Gründen (z. B. aufgrund Übertragungsfehlern) auftreten können. Der sichere Bereich 201 kann deshalb aus dieser Anzahl von ungültigen MACs nicht folgern, dass ein Angriff vorliegt, d.h. die Anzahl von Validierungsfehlern eignet sich in solch einem Szenario nicht als klares Kriterium für die Erkennung eines Angriffs.
Gemäß verschiedenen Ausführungsformen ist deshalb eine Härtungsmaßnahme derart vorgesehen, dass eine minimale Vergleichslänge angegeben ist.
Analog zu der Kommunikationsvorrichtung 200 ist die Kommunikationsvorrichtung 500 , beispielsweise eine elektronische Steuereinheit für ein Fahrzeug, z.B. implementiert mittels eines Mikrocontrollers, und weist einen sicheren Bereich 501 , einen Schlüsselspeicher 503 mit ein oder mehreren kryptographischen Schlüssel 502 , einen Host 504 mit einem Nachrichtendekoder 505 , der aus einer über einen Bus 506 empfangenen Nachricht einen Schlüssel-Identifikator 507 , ein Kommando 508 , Eingangsnutzdaten 509 und einen empfangenen MAC extrahiert, und eine MAC-Erzeugungseinrichtung 511 und einen Vergleicher 512 in einer Prüfungseinrichtung 513 auf.
Im Unterschied zu 2 ist zu jedem Schlüssel 502 im Schlüsselspeicher 503 eine minimale MAC-Länge 514 spezifiziert.
Ein Schlüssel Ki hat somit eine zugeordnete Eigenschaft „minimale Länge des MAC“ Mi=minMAC(Ki). Dies bedeutet, dass der Vergleicher 512 ein Nein oder einen Fehler (Validierungs-Misserfolg) ausgibt bzw. anzeigt, wenn ein MAC-Vergleich mit einer Länge L < Mi durchgeführt werden soll, d.h. der empfangene MAC MACR eine Länge L < Mi hat oder der Host 504 die Prüfungseinrichtung 513 anweist, nur eine Anzahl von L < Mi von Bits des empfangenen MACs MACR mit dem erzeugten MAC MACG vergleichen soll.
Damit kann ein Angreifer einen gültigen MAC nicht mehr so ausspionieren, da er bis zu 2Mi Versuche benötigt, um einen gültigen MAC auszuspähen, anstatt maximal Mi Versuchen für den Fall, dass keine minimale MAC-Länge vorgesehen ist.
Beispielsweise ist für einen Schlüssel 502 im Schlüsselspeicher 503 als minimale MAC-Länge 514 angegeben, dass die minimale Länge eines MACs, der basierend auf dem Schlüssel mit der Schlüsselnummer 1 erzeugt wird, sechszehn Bit ist. Dies bedeutet, dass der Vergleicher 512 ein Nein oder einen Fehler (Validierungs-Misserfolg) ausgibt, wenn er einen MAC-Vergleich für einen basierend auf dem Schlüssel mit der Schlüsselnummer 1 erzeugten MAC durchführen soll, der weniger als 16 Bit Länge hat, z.B. nur ein 1 Bit. Ein Angreifer, der einen MAC ausspionieren möchte, braucht damit bis zu 216 Versuche und im Mittel 215 Versuche zum Ermitteln eines gültigen MACs (anstatt genau 16 Versuche im Fall keiner Längenbeschränkung und sukzessivem Ausspionieren wie oben beschrieben).
Als zusätzliche Maßnahme kann die Anzahl der Versuche limitiert werden, beispielsweise indem die Prüfungseinrichtung 513 nach einer vorgegebenen Anzahl von fehlgeschlagenen MAC-Überprüfungen einen Alarm (z.B. mittels eines Alarmdetektionssignals) ausgibt. Beispielsweise kann, wie oben beschrieben, eine minimale MAC-Größe (MAC-Länge) als Schlüssel-Attribut für jeden Schlüssel im sicheren Bereich 501 gespeichert werden, die Anzahl von MAC-Validierungsfehlern gezählt werden (wobei der Zählwert auch zurückgesetzt werden kann, z.B. nach ein oder mehreren erfolgreichen Validierungen) und ein Angriffsdetektionsreaktion ausgelöst werden, wenn der Zählwert eine konfigurierbare Schwelle überschreitet. Da aufgrund der minimalen MAC-Länge zum Ausspähen eines MACs wie oben erläutert eine hohe Anzahl von Validierungsfehlern möglich ist, die in einem typischen Szenario deutlich über der Anzahl von Validierungsfehlern liegt, die durch Übertragungsfehler entstehen, kann die Anzahl von Validierungsfehlern bei Verwendung einer minimalen MAC-Länge als Kriterium für eine Angriffsdetektion und das Auslösen einer Angriffsdetektionsreaktion wie ein Alarmsignal an das zentrale Steuergerät, sperren verschiedener Funktionen der Kommunikationsvorrichtung etc. verwendet werden.
Die Funktion des Vergleichers 512 wird im Folgenden mit Bezug auf 6 in größerem Detail beschrieben.
Der Vergleicher 600 empfängt als Eingaben einen empfangenen MAC MACR 601, einen erzeugten MAC MACG 602 und den Befehl 603 (beispielsweise von einer Steuereinheit der Prüfungseinrichtung 513 ), L Bits des empfangenen MACs MACR 601 zu überprüfen. Die Beschränkung auf L Bits kann dabei implizit geschehen, indem dem Vergleicher ein empfangener MAC MACR 601 mit L Bits zugeführt wird.
Außerdem wird dem Vergleicher 600 die minimale MAC-Länge Mi 604 für den Schlüssel (z.B. Schlüssel i), der zur Erzeugung des empfangenen MACs MACR 601 und des erzeugten MACs MACG 602 verwendet wurde, zugeführt.
Ein Prüfblock 605 vergleicht, ob L mindestens so groß wie die minimale MAC-Länge Mi ist. Ist dies nicht der Fall, gibt der Vergleicher 600 ein negatives Vergleichsergebnis aus (Validierungs-Misserfolg). Ist L mindestens so groß wie die minimale MAC-Länge Mi, so vergleicht ein Vergleichsblock 606 L Bits des empfangenen MACs MACR mit den entsprechenden L Bits des erzeugten MACs MACG. Stimmen diese Bits paarweise zwischen dem empfangenen MAC MACR mit dem erzeugten MAC MACG überein, so gibt der Vergleicher ein positives Vergleichsergebnis (Validierungs-Erfolg) aus, ansonsten ein negatives Vergleichsergebnis (Validierungs-Misserfolg).
Der Empfänger empfängt vom Sender die gesendeten Daten 701 und den gegebenenfalls trunkierten MAC 708 .
In 702 überprüft der Empfänger, z.B. die Prüfungseinrichtung 513 wie oben beschrieben, die Gültigkeit des empfangenen (ggf. trunkierten) MACs 703 unter Verwendung der empfangenen Daten 701 und dem passenden Schlüssel 704 (der ihm durch den Schlüsselidentifikator vom Sender angezeigt wird). Dabei berücksichtigt der Empfänger die minimale MAC-Länge 705 , die dem Schlüssel 706 zugeordnet ist, z.B. eine minimale Anzahl von zu vergleichenden MAC-Bits wie mit Bezug auf 6 beschrieben.
Zusammenfassend wird gemäß verschiedenen Ausführungsformen eine Authentifizierungscode-Überprüfungseinrichtung bereitgestellt, wie sie in 8 dargestellt ist.
Die Authentifizierungscode-Überprüfungseinrichtung 800 weist eine Eingangsschnittstelle 801 auf, die zum Empfangen eines zu überprüfenden Authentifizierungscodeworts, das einer Nachricht zugeordnet ist, eingerichtet ist.
Die Authentifizierungscode-Überprüfungseinrichtung 800 weist ferner eine Verarbeitungseinrichtung 802 auf, die eingerichtet ist, zu überprüfen, ob die Anzahl von Bits des zu überprüfenden Authentifizierungscodeworts eine vorgegebene Minimalanzahl erfüllt und zu überprüfen, ob das Authentifizierungscodewort für die Nachricht gültig ist.
Ferner weist die Authentifizierungscode-Überprüfungseinrichtung 800 eine Ausgabeeinrichtung 803 auf, die eingerichtet ist, als Ergebnis der Überprüfung auszugeben, dass das Authentifizierungscodewort gültig ist, falls die Anzahl von Bits des zu überprüfenden Authentifizierungscodeworts die vorgegebene Minimalanzahl erfüllt und das Authentifizierungscodewort für die Nachricht gültig ist.
In anderen Worten wird gemäß verschiedenen Ausführungsformen bei der MAC-Validierung, d.h. dem Überprüfen, ob ein Authentifizierungscodewort, z.B. ein MAC, gültig ist, berücksichtigt, ob die Länge des zu überprüfenden Authentifizierungscodeworts ein Kriterium hinsichtlich einer minimalen Länge erfüllt. Das zu überprüfende Authentifizierungscodeworts kann ein Teilwort eines längeren Authentifizierungscodeworts sein. Beispielsweise wurde das längere Authentifizierungscodewort trunkiert und so das zu überprüfende Authentifizierungscodewort erzeugt oder es kann auch das vollständige längere Authentifizierungscodewort vorliegen aber lediglich angefordert sein, dass nur ein Teilwort des längeren Authentifizierungscodeworts, das dem zu überprüfenden Authentifizierungscodewort entspricht, zu überprüfen ist.
Die Authentifizierungscode-Überprüfungseinrichtung 800 gibt beispielsweise aus, dass das Authentifizierungscodewort nicht gültig ist, wenn die Anzahl von Bits des zu überprüfenden Authentifizierungscodeworts die vorgegebene Minimalanzahl nicht erfüllt, unabhängig davon, ob das Authentifizierungscodewort gemäß dem Authentifizierungscode (beispielsweise für die ihm zugeordnete Nachricht) gültig ist oder nicht.
Damit kann vermieden werden, dass ein Angreifer die Authentifizierungscodewort-Überprüfungseinrichtung 800 mit kurzen Authentifizierungscodewörtern „füttert“ und somit beispielsweise wie oben beschrieben sukzessive gültige Teilwörter eines längeren Authentifizierungscodeworts ausspäht.
Die Ausgabeeinrichtung kann eingerichtet sein, auszugeben, dass das Authentifizierungscodewort gültig ist, falls die Anzahl von Bits des zu überprüfenden Authentifizierungscodeworts die vorgegebene Minimalanzahl nicht erfüllt und das Authentifizierungscodewort für die Nachricht nicht gültig ist. Analog kann die Ausgabeeinrichtung (zusätzlich oder alternativ dazu) eingerichtet sein, auszugeben, dass das Authentifizierungscodewort nicht gültig ist, falls die Anzahl von Bits des zu überprüfenden Authentifizierungscodeworts die vorgegebene Minimalanzahl nicht erfüllt und das Authentifizierungscodewort für die Nachricht gültig ist. In anderen Worten kann beispielsweise die Authentifizierungscodewort-Überprüfungseinrichtung einem Host-System, dem sie zugeordnet ist, verheimlichen, dass das zu überprüfende Authentifizierungscodewort die vorgegebene Minimalanzahl nicht erfüllt. Damit kann ein Angreifer, der versucht, auf die oben beschriebene Weise korrekte Stellen eines Authentifizierungscodeworts auszuspionieren in die Irre geführt werden.
Die Komponenten der Authentifizierungscode-Überprüfungseinrichtung sowie alle weiteren funktionalen Blöcke, Einrichtungen etc. können durch ein oder mehrere Schaltkreise realisiert sein. In einer Ausführungsform ist ein „Schaltkreis“ als jegliche Einheit zu verstehen, die eine Logik implementiert, und die sowohl Hardware, Software, Firmware oder eine Kombination daraus sein kann. Somit kann ein „Schaltkreis“ in einer Ausführungsform ein hart-verdrahteter Logik-Schaltkreis oder ein programmierbarer Logik-Schaltkreis sein, wie beispielsweise ein programmierbarer Prozessor, z.B. ein Mikroprozessor. Unter einem „Schaltkreis“ kann auch ein Prozessor zu verstehen sein, der Software ausführt, zu verstehen sein, z.B. jegliche Art von Computer-Programm. Unter einem „Schaltkreis“ kann in einer Ausführungsform jegliche Art der Implementierung der beschriebenen Funktionen zu verstehen sein.
In 901 wird ein zu überprüfendes Authentifizierungscodewort, das einer Nachricht zugeordnet ist, empfangen.
In 902 wird überprüft, ob die Anzahl von Bits des zu überprüfenden Authentifizierungscodeworts eine vorgegebene Minimalanzahl erfüllt.
In 903 wird überprüft, ob das Authentifizierungscodewort für die Nachricht gültig ist.
In 904 wird als Ergebnis der Überprüfung ausgeben, dass das Authentifizierungscodewort gültig ist, falls die Anzahl von Bits des zu überprüfenden Authentifizierungscodeworts die vorgegebene Minimalanzahl erfüllt und das Authentifizierungscodewort für die Nachricht gültig ist.
Im Folgenden werden verschiedene Ausführungsbeispiele angegeben.
Ausführungsbeispiel 1 ist eine Authentifizierungscode-Überprüfungseinrichtung für eine Kommunikationsvorrichtung, wie sie in 8 dargestellt ist.
Ausführungsbeispiel 2 ist die Authentifizierungscode-Überprüfungseinrichtung gemäß Ausführungsbeispiel 1, wobei die Ausgabeeinrichtung eingerichtet ist, das Ergebnis der Überprüfung an das Host-System auszugeben.
Ausführungsbeispiel 3 ist die Authentifizierungscode-Überprüfungseinrichtung gemäß Ausführungsbeispiel 1 oder 2, wobei die Eingangsschnittstelle eingerichtet ist zum Empfangen der Nachricht, dem das Authentifizierungscodewort zugeordnet ist, und die Verarbeitungseinrichtung eingerichtet ist, basierend auf der Nachricht zu überprüfen, ob das Authentifizierungscodewort für die Nachricht gültig ist.
Ausführungsbeispiel 4 ist die Authentifizierungscode-Überprüfungseinrichtung gemäß einem der Ausführungsbeispiele 1 bis 3, wobei die Ausgabeeinrichtung eingerichtet ist, auszugeben, dass das Authentifizierungscodewort gültig ist, falls die Anzahl von Bits des zu überprüfenden Authentifizierungscodeworts die vorgegebene Minimalanzahl nicht erfüllt und das Authentifizierungscodewort für die Nachricht nicht gültig ist.
Ausführungsbeispiel 5 ist die Authentifizierungscode-Überprüfungseinrichtung gemäß einem der Ausführungsbeispiele 1 bis 4, wobei die Ausgabeeinrichtung eingerichtet ist, als Ergebnis der Überprüfung auszugeben, dass die Anzahl von Bits des zu überprüfenden Authentifizierungscodeworts die vorgegebene Minimalanzahl nicht erfüllt, falls die Anzahl von Bits des zu überprüfenden Authentifizierungscodeworts die vorgegebene Minimalanzahl nicht erfüllt.
Ausführungsbeispiel 6 ist die Authentifizierungscode-Überprüfungseinrichtung gemäß einem der Ausführungsbeispiele 1 bis 5, wobei das Authentifizierungscodewort ein Codewort gemäß einem Message Authentication Code ist.
Ausführungsbeispiel 7 ist die Authentifizierungscode-Überprüfungseinrichtung gemäß einem der Ausführungsbeispiele 1 bis 6, aufweisend eine Zähleinrichtung, die eingerichtet ist, einen Zählwert zu erhöhen, wenn der Authentifizierungscode-Überprüfungseinrichtung ein ungültiges Authentifizierungscodewort zugeführt wird und abhängig vom Stand des Zählwerts ein Angriffsdetektionssignal auszugeben.
Ausführungsbeispiel 8 ist die Authentifizierungscode-Überprüfungseinrichtung gemäß Ausführungsbeispiel 7, wobei die Zähleinrichtung eingerichtet ist, das Angriffsdetektionssignal auszugeben, wenn der Zählwert einen vorgegebenen Schwellwert überschreitet.
Ausführungsbeispiel 9 ist die Authentifizierungscode-Überprüfungseinrichtung gemäß einem der Ausführungsbeispiele 1 bis 8, wobei die Kommunikationsvorrichtung eine elektronische Steuervorrichtung für ein Fahrzeug ist.
Ausführungsbeispiel 10 ist die Authentifizierungscode-Überprüfungseinrichtung gemäß einem der Ausführungsbeispiele 1 bis 9, wobei die Nachricht eine Steuernachricht für eine elektronische Steuervorrichtung ist.
Ausführungsbeispiel 11 ist die Authentifizierungscode-Überprüfungseinrichtung gemäß einem der Ausführungsbeispiele 1 bis 10, wobei die Eingangsschnittstelle eingerichtet ist, eine Angabe der Anzahl von Bits des zu überprüfenden Authentifizierungscodeworts zu empfangen.
Ausführungsbeispiel 12 ist die Authentifizierungscode-Überprüfungseinrichtung gemäß einem der Ausführungsbeispiele 1 bis 11, wobei die Eingangsschnittstelle eingerichtet ist, eine Instruktion zu empfangen, die Anzahl von Bits des Authentifizierungscodeworts zu überprüfen.
Ausführungsbeispiel 13 ist die Authentifizierungscode-Überprüfungseinrichtung gemäß einem der Ausführungsbeispiele 1 bis 12, wobei die Verarbeitungseinrichtung eingerichtet ist, ein Authentifizierungscodewort für die Nachricht zu erzeugen und basierend auf einem Vergleich des empfangenen Authentifizierungscodeworts mit dem erzeugten Authentifizierungscodewort zu überprüfen, ob das empfangene Authentifizierungscodewort für die Nachricht gültig ist.
Ausführungsbeispiel 14 ist die Authentifizierungscode-Überprüfungseinrichtung gemäß Ausführungsbeispiel 13, wobei die Verarbeitungseinrichtung eingerichtet ist die Anzahl von Bits des empfangenen Authentifizierungscodeworts mit einer entsprechenden Anzahl von Bits des erzeugten Authentifizierungscodeworts zu vergleichen.
Ausführungsbeispiel 15 ist eine Kommunikationsvorrichtung mit einer Authentifizierungscode-Überprüfungseinrichtung gemäß einem der Ausführungsbeispiele 1 bis 14, und einer Kommunikationsschnittstelle zum Senden und Empfangen von Nachrichten über ein Kommunikationsnetzwerk.
Ausführungsbeispiel 16 ist die Kommunikationsvorrichtung gemäß Ausführungsbeispiel 15, wobei die Kommunikationsvorrichtung ein Host-System aufweist, das eingerichtet ist, das zu überprüfende Authentifizierungscodewort der Authentifizierungscode-Überprüfungseinrichtung zuzuführen.
Ausführungsbeispiel 17 ist die Kommunikationsvorrichtung gemäß Ausführungsbeispiel 15 oder 16, wobei die Kommunikationsvorrichtung ein Host-System aufweist, das eingerichtet ist, das zu überprüfende Authentifizierungscodewort der Authentifizierungscode-Überprüfungseinrichtung zuzuführen und die Ausgabeeinrichtung eingerichtet ist, dem Host-System zu verheimlichen, dass die Anzahl von Bits des zu überprüfenden Authentifizierungscodeworts die vorgegebene Minimalanzahl nicht erfüllt.
Ausführungsbeispiel 18 ist ein Verfahren zum Überprüfen eines Authentifizierungscodeworts, wie es in 9 dargestellt ist.
Ausführungsbeispiel 19 ist das Verfahren gemäß Ausführungsbeispiel 18, aufweisend Ausgeben des Ergebnisses der Überprüfung an das Host-System.
Ausführungsbeispiel 20 ist das Verfahren gemäß Ausführungsbeispiel 18 oder 19, aufweisend Empfangen der Nachricht, dem das Authentifizierungscodewort zugeordnet ist, und Überprüfen, basierend auf der Nachricht, ob das Authentifizierungscodewort für die Nachricht gültig ist.
Ausführungsbeispiel 21 ist das Verfahren gemäß einem der Ausführungsbeispiele 18 bis 20, aufweisend Ausgeben, dass das Authentifizierungscodewort gültig ist, falls die Anzahl von Bits des zu überprüfenden Authentifizierungscodeworts die vorgegebene Minimalanzahl nicht erfüllt und das Authentifizierungscodewort für die Nachricht nicht gültig ist.
Ausführungsbeispiel 22 ist das Verfahren gemäß einem der Ausführungsbeispiele 18 bis 21, aufweisend Ausgeben, als Ergebnis der Überprüfung, dass die Anzahl von Bits des zu überprüfenden Authentifizierungscodeworts die vorgegebene Minimalanzahl nicht erfüllt, falls die Anzahl von Bits des zu überprüfenden Authentifizierungscodeworts die vorgegebene Minimalanzahl nicht erfüllt.
Ausführungsbeispiel 23 ist das Verfahren gemäß einem der Ausführungsbeispiele 18 bis 22, wobei das Authentifizierungscodewort ein Codewort gemäß einem Message Authentication Code ist.
Ausführungsbeispiel 24 ist das Verfahren gemäß einem der Ausführungsbeispiele 18 bis 23, aufweisend Erhöhen eines Zählwerts, wenn ein ungültiges Authentifizierungscodewort zugeführt wird und abhängig vom Stand des Zählwerts Ausgeben eines Angriffsdetektionssignals.
Ausführungsbeispiel 25 ist das Verfahren gemäß Ausführungsbeispiel 24, wobei die Zähleinrichtung eingerichtet ist, das Angriffsdetektionssignal auszugeben, wenn der Zählwert einen vorgegebenen Schwellwert überschreitet.
Ausführungsbeispiel 26 ist das Verfahren gemäß einem der Ausführungsbeispiele 18 bis 25, durchgeführt von einer elektronischen Steuervorrichtung für ein Fahrzeug.
Ausführungsbeispiel 27 ist das Verfahren gemäß einem der Ausführungsbeispiele 18 bis 26, wobei die Nachricht eine Steuernachricht für eine elektronische Steuervorrichtung ist.
Ausführungsbeispiel 28 ist das Verfahren gemäß einem der Ausführungsbeispiele 18 bis 27, aufweisend Empfangen einer Angabe der Anzahl von Bits des zu überprüfenden Authentifizierungscodeworts.
Ausführungsbeispiel 29 ist das Verfahren gemäß einem der Ausführungsbeispiele 18 bis 28, aufweisend Empfangen einer Instruktion, die Anzahl von Bits des Authentifizierungscodeworts zu überprüfen.
Ausführungsbeispiel 30 ist das Verfahren gemäß einem der Ausführungsbeispiele 18 bis 29, aufweisend Erzeugen eines Authentifizierungscodeworts für die Nachricht und Überprüfen, basierend auf einem Vergleich des empfangenen Authentifizierungscodeworts mit dem erzeugten Authentifizierungscodewort, ob das empfangene Authentifizierungscodewort für die Nachricht gültig ist.
Ausführungsbeispiel 31 ist das Verfahren gemäß Ausführungsbeispiel 30, aufweisend Vergleichen der Anzahl von Bits des empfangenen Authentifizierungscodeworts mit einer entsprechenden Anzahl von Bits des erzeugten Authentifizierungscodeworts.
Ausführungsbeispiel 32 ist das Verfahren gemäß Ausführungsbeispiel 30 oder 31, aufweisend Verheimlichen, dass die Anzahl von Bits des zu überprüfenden Authentifizierungscodeworts die vorgegebene Minimalanzahl nicht erfüllt.
Gemäß einem weiteren Ausführungsbeispiel wird eine Vorrichtung zum Überprüfen eines Authentifizierungscodeworts bereitgestellt aufweisend Empfangsmittel zum Empfangen eines zu überprüfenden Authentifizierungscodeworts, das einer Nachricht zugeordnet ist, erste Überprüfungsmittel zum Überprüfen, ob die Anzahl von Bits des zu überprüfenden Authentifizierungscodeworts eine vorgegebene Minimalanzahl erfüllt, zweite Überprüfungsmittel zum Überprüfen, ob das Authentifizierungscodewort für die Nachricht gültig ist und Ausgabemittel zum Ausgeben, als Ergebnis der Überprüfung, dass das Authentifizierungscodewort gültig ist, falls die Anzahl von Bits des zu überprüfenden Authentifizierungscodeworts die vorgegebene Minimalanzahl erfüllt und das Authentifizierungscodewort für die Nachricht gültig ist.
Gemäß einem weiteren Ausführungsbeispiel wird eine Authentifizierungscode-Überprüfungseinrichtung für eine Kommunikationsvorrichtung bereitgestellt aufweisend einen Eingang zum Empfangen eines Authentifizierungscodeworts, eine Überprüfungseinrichtung, die eingerichtet ist, zu überprüfen, ob das Authentifizierungscodewort mindestens eine vorgegebene minimale Länge hat und eine Ausgabeeinrichtung, die eingerichtet ist, auszugeben, dass das Authentifizierungscodewort gültig ist, abhängig davon, ob die Länge des zu Authentifizierungscodeworts mindestens die vorgegebene minimale Länge hat.
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.
Bezugszeichenliste
- 100
- Kommunikationsnetz
- 101
- zentrales Steuergerät
- 102
- Knoten
- 103
- Bus
- 200
- Kommunikationsvorrichtung
- 201
- sicherer Bereich
- 202
- kryptographische Schlüssel
- 203
- Schlüsselspeicher
- 204
- Host
- 205
- Nachrichtendekoder
- 206
- Bus
- 207
- Schlüssel-Identifikator
- 208
- Kommando
- 209
- Eingangsnutzdaten
- 210
- empfangener MAC
- 211
- MAC-Erzeugungseinrichtung
- 212
- Vergleicher
- 213
- Prüfungseinrichtung
- 301
- MAC-Erzeugung
- 302
- kryptographischer Schlüssel
- 303
- zu sendende Daten
- 304
- MAC-Trunkierung
- 305
- trunkierter MAC
- 401
- gesendete Daten
- 402
- MAC-Validierung
- 403
- empfangener MAC
- 404
- kryptographischer Schlüssel
- 500
- Kommunikationsvorrichtung
- 501
- sicherer Bereich
- 502
- kryptographische Schlüssel
- 503
- Schlüsselspeicher
- 504
- Host
- 505
- Nachrichtendekoder
- 506
- Bus
- 507
- Schlüssel-Identifikator
- 508
- Kommando
- 509
- Eingangsnutzdaten
- 510
- empfangener MAC
- 511
- MAC-Erzeugungseinrichtung
- 512
- Vergleicher
- 513
- Prüfungseinrichtung
- 514
- minimale MAC-Länge
- 600
- Vergleicher
- 601
- empfangener MAC
- 602
- erzeugter MAC
- 603
- Validierungsbefehl
- 604
- minimale MAC-Länge
- 605
- Prüfblock
- 606
- Vergleichsblock
- 701
- gesendete Daten
- 702
- MAC-Validierung
- 703
- empfangener MAC
- 704
- kryptographischer Schlüssel
- 705
- minimale MAC-Länge
- 800
- Authentifizierungscode-Überprüfungseinrichtung
- 801
- Eingangsschnittstelle
- 802
- Verarbeitungseinrichtung
- 803
- Ausgabeeinrichtung
- 900
- Ablaufdiagramm
- 901-904
- Ablaufschritte
Claims (18)
- Authentifizierungscode-Überprüfungseinrichtung für eine Kommunikationsvorrichtung aufweisend - eine Eingangsschnittstelle, die eingerichtet ist, ein zu überprüfendes Authentifizierungscodewort, das einer Nachricht zugeordnet ist, zu empfangen; - eine Verarbeitungseinrichtung, die eingerichtet ist, zu überprüfen, ob die Anzahl von Bits des zu überprüfenden Authentifizierungscodeworts eine vorgegebene Minimalanzahl erfüllt und zu überprüfen, ob das Authentifizierungscodewort für die Nachricht gültig ist und - eine Ausgabeeinrichtung, die eingerichtet ist, als Ergebnis der Überprüfung auszugeben, dass das Authentifizierungscodewort gültig ist, falls die Anzahl von Bits des zu überprüfenden Authentifizierungscodeworts die vorgegebene Minimalanzahl erfüllt und das Authentifizierungscodewort für die Nachricht gültig ist.
- Authentifizierungscode-Überprüfungseinrichtung gemäß
Anspruch 1 , wobei die Ausgabeeinrichtung eingerichtet ist, das Ergebnis der Überprüfung an das Host-System auszugeben. - Authentifizierungscode-Überprüfungseinrichtung gemäß
Anspruch 1 oder2 , wobei die Eingangsschnittstelle eingerichtet ist zum Empfangen der Nachricht, dem das Authentifizierungscodewort zugeordnet ist, und die Verarbeitungseinrichtung eingerichtet ist, basierend auf der Nachricht zu überprüfen, ob das Authentifizierungscodewort für die Nachricht gültig ist. - Authentifizierungscode-Überprüfungseinrichtung gemäß einem der
Ansprüche 1 bis3 , wobei die Ausgabeeinrichtung eingerichtet ist, auszugeben, dass das Authentifizierungscodewort gültig ist, falls die Anzahl von Bits des zu überprüfenden Authentifizierungscodeworts die vorgegebene Minimalanzahl nicht erfüllt und das Authentifizierungscodewort für die Nachricht nicht gültig ist. - Authentifizierungscode-Überprüfungseinrichtung gemäß einem der
Ansprüche 1 bis4 , wobei die Ausgabeeinrichtung eingerichtet ist, als Ergebnis der Überprüfung auszugeben, dass die Anzahl von Bits des zu überprüfenden Authentifizierungscodeworts die vorgegebene Minimalanzahl nicht erfüllt, falls die Anzahl von Bits des zu überprüfenden Authentifizierungscodeworts die vorgegebene Minimalanzahl nicht erfüllt. - Authentifizierungscode-Überprüfungseinrichtung gemäß einem der
Ansprüche 1 bis5 , wobei das Authentifizierungscodewort ein Codewort gemäß einem Message Authentication Code ist. - Authentifizierungscode-Überprüfungseinrichtung gemäß einem der
Ansprüche 1 bis6 , aufweisend eine Zähleinrichtung, die eingerichtet ist, einen Zählwert zu erhöhen, wenn der Authentifizierungscode-Überprüfungseinrichtung ein ungültiges Authentifizierungscodewort zugeführt wird und abhängig vom Stand des Zählwerts ein Angriffsdetektionssignal auszugeben. - Authentifizierungscode-Überprüfungseinrichtung gemäß
Anspruch 7 , wobei die Zähleinrichtung eingerichtet ist, das Angriffsdetektionssignal auszugeben, wenn der Zählwert einen vorgegebenen Schwellwert überschreitet. - Authentifizierungscode-Überprüfungseinrichtung gemäß einem der
Ansprüche 1 bis8 , wobei die Kommunikationsvorrichtung eine elektronische Steuervorrichtung für ein Fahrzeug ist. - Authentifizierungscode-Überprüfungseinrichtung gemäß einem der
Ansprüche 1 bis9 , wobei die Nachricht eine Steuernachricht für eine elektronische Steuervorrichtung ist. - Authentifizierungscode-Überprüfungseinrichtung gemäß einem der
Ansprüche 1 bis10 , wobei die Eingangsschnittstelle eingerichtet ist, eine Angabe der Anzahl von Bits des zu überprüfenden Authentifizierungscodeworts zu empfangen. - Authentifizierungscode-Überprüfungseinrichtung gemäß einem der
Ansprüche 1 bis11 , wobei die Eingangsschnittstelle eingerichtet ist, eine Instruktion zu empfangen, die Anzahl von Bits des Authentifizierungscodeworts zu überprüfen. - Authentifizierungscode-Überprüfungseinrichtung gemäß einem der
Ansprüche 1 bis12 , wobei die Verarbeitungseinrichtung eingerichtet ist, ein Authentifizierungscodewort für die Nachricht zu erzeugen und basierend auf einem Vergleich des empfangenen Authentifizierungscodeworts mit dem erzeugten Authentifizierungscodewort zu überprüfen, ob das empfangene Authentifizierungscodewort für die Nachricht gültig ist. - Authentifizierungscode-Überprüfungseinrichtung gemäß
Anspruch 13 , wobei die Verarbeitungseinrichtung eingerichtet ist die Anzahl von Bits des empfangenen Authentifizierungscodeworts mit einer entsprechenden Anzahl von Bits des erzeugten Authentifizierungscodeworts zu vergleichen. - Kommunikationsvorrichtung mit einer Authentifizierungscode-Überprüfungseinrichtung gemäß einem der
Ansprüche 1 bis14 , und einer Kommunikationsschnittstelle zum Senden und Empfangen von Nachrichten über ein Kommunikationsnetzwerk. - Kommunikationsvorrichtung gemäß
Anspruch 15 , wobei die Kommunikationsvorrichtung ein Host-System aufweist, das eingerichtet ist, das zu überprüfende Authentifizierungscodewort der Authentifizierungscode-Überprüfungseinrichtung zuzuführen. - Kommunikationsvorrichtung gemäß
Anspruch 15 oder16 , wobei die Kommunikationsvorrichtung ein Host-System aufweist, das eingerichtet ist, das zu überprüfende Authentifizierungscodewort der Authentifizierungscode-Überprüfungseinrichtung zuzuführen und die Ausgabeeinrichtung eingerichtet ist, dem Host-System zu verheimlichen, dass die Anzahl von Bits des zu überprüfenden Authentifizierungscodeworts die vorgegebene Minimalanzahl nicht erfüllt. - Verfahren zum Überprüfen eines Authentifizierungscodeworts aufweisend: - Empfangen eines zu überprüfenden Authentifizierungscodeworts, das einer Nachricht zugeordnet ist; - Überprüfen, ob die Anzahl von Bits des zu überprüfenden Authentifizierungscodeworts eine vorgegebene Minimalanzahl erfüllt; - Überprüfen, ob das Authentifizierungscodewort für die Nachricht gültig ist und - Ausgeben, als Ergebnis der Überprüfung, dass das Authentifizierungscodewort gültig ist, falls die Anzahl von Bits des zu überprüfenden Authentifizierungscodeworts die vorgegebene Minimalanzahl erfüllt und das Authentifizierungscodewort für die Nachricht gültig ist.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102019105246.7A DE102019105246A1 (de) | 2019-03-01 | 2019-03-01 | Authentifizierungscode-überprüfungseinrichtung und verfahren zum überprüfen eines authentifizierungscodeworts |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102019105246.7A DE102019105246A1 (de) | 2019-03-01 | 2019-03-01 | Authentifizierungscode-überprüfungseinrichtung und verfahren zum überprüfen eines authentifizierungscodeworts |
Publications (1)
Publication Number | Publication Date |
---|---|
DE102019105246A1 true DE102019105246A1 (de) | 2020-09-03 |
Family
ID=72046357
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102019105246.7A Pending DE102019105246A1 (de) | 2019-03-01 | 2019-03-01 | Authentifizierungscode-überprüfungseinrichtung und verfahren zum überprüfen eines authentifizierungscodeworts |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE102019105246A1 (de) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150270968A1 (en) * | 2014-03-21 | 2015-09-24 | GM Global Technology Operations LLC | Securing electronic control units using message authentication codes |
-
2019
- 2019-03-01 DE DE102019105246.7A patent/DE102019105246A1/de active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150270968A1 (en) * | 2014-03-21 | 2015-09-24 | GM Global Technology Operations LLC | Securing electronic control units using message authentication codes |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3278529B1 (de) | Angriffserkennungsverfahren, angriffserkennungsvorrichtung und bussystem für ein kraftfahrzeug | |
EP3655880B1 (de) | Hardwaresystem mit blockchain | |
DE102020124163A1 (de) | Verifizierung von fahrzeugdaten | |
EP3681102B1 (de) | Verfahren zur validierung eines digitalen nutzerzertifikats | |
DE102020121533A1 (de) | Vertrauenswürdige authentifizierung von automotiven mikrocon-trollern | |
WO2018077528A1 (de) | Erkennung von manipulationen in einem can-netzwerk mittels überprüfung von can-identifiern | |
EP3422628B1 (de) | Verfahren, sicherheitseinrichtung und sicherheitssystem | |
EP3582033A1 (de) | Verfahren und vorrichtung zur gesicherten bedienung eines feldgeräts | |
WO2019063256A1 (de) | System, insbesondere authentizitätssystem | |
EP3412018B1 (de) | Verfahren zum austausch von nachrichten zwischen sicherheitsrelevanten vorrichtungen | |
DE102015115295A1 (de) | Verfahren und vorrichtung zur verarbeitung von daten | |
DE102014214823A1 (de) | Bestimmung einer Verzögerung | |
DE102004036810A1 (de) | Kommunikationsverfahren für wenigstens zwei Systemkomponenten eines Kraftfahrzeugs | |
DE102018130297A1 (de) | Arbeitsnachweis-Konzept für ein Fahrzeug | |
EP3935808B1 (de) | Kryptographisch geschütztes bereitstellen eines digitalen zertifikats | |
DE102012210327A1 (de) | Verfahren zum Übertragen von Nachrichten in einem Kommunikationssystem, insbesondere eines Fahrzeugs | |
EP3688951B1 (de) | Verfahren zum erfassen eines angriffs auf ein steuergerät eines fahrzeugs | |
DE102020125262A1 (de) | Warnsystem für Controller Area Networks | |
DE102013108006B4 (de) | Kommunikationsanordnung | |
DE102019105246A1 (de) | Authentifizierungscode-überprüfungseinrichtung und verfahren zum überprüfen eines authentifizierungscodeworts | |
DE102012208836A1 (de) | Verfahren und Vorrichtung zur Erzeugung kryptographisch geschützter redundanter Datenpakete | |
EP2618226B1 (de) | Industrielles Automatisierungssystem und Verfahren zu dessen Absicherung | |
EP3682317B1 (de) | Verfahren zum betrieb einer berührungssensitiven, flächigen eingabevorrichtung einer gesamtvorrichtung und gesamtvorrichtung | |
DE102012209445A1 (de) | Verfahren und Kommunikationssystem zur sicheren Datenübertragung | |
EP2446599B1 (de) | Gegen manipulation geschützte datenübertragung zwischen automatisierungsgeräten |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R012 | Request for examination validly filed | ||
R016 | Response to examination communication |