DE102019105246A1 - Authentifizierungscode-überprüfungseinrichtung und verfahren zum überprüfen eines authentifizierungscodeworts - Google Patents

Authentifizierungscode-überprüfungseinrichtung und verfahren zum überprüfen eines authentifizierungscodeworts Download PDF

Info

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
Application number
DE102019105246.7A
Other languages
English (en)
Inventor
Albrecht Mayer
Laurent HEIDT
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Infineon Technologies AG
Original Assignee
Infineon Technologies AG
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Infineon Technologies AG filed Critical Infineon Technologies AG
Priority to DE102019105246.7A priority Critical patent/DE102019105246A1/de
Publication of DE102019105246A1 publication Critical patent/DE102019105246A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3236Cryptographic 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/3242Cryptographic 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 Kommunikationsnetz 100 für ein Fahrzeug.
  • Das Kommunikationsnetz 100 wird gebildet von einem Busmaster, der in diesem Beispiel von einem zentralen Steuergerät 101 gebildet wird, z. B. einem zentralen Steuergerät in einem Fahrzeug, sowie einem oder mehreren Slave(s), in diesem Beispiel einer Mehrzahl von Knoten 102. Das zentrale Steuergerät 101 und die Knoten 102 sind über einen Bus 103 in Reihe geschaltet.
  • Das zentrale Steuergerät 101 besitzt (als Busmaster) Informationen zur zeitlichen Planung der Übertragung zwischen dem zentralen Steuergerät 101 und den Knoten (Slaves) 102. Ein Knoten 102 sendet Daten, sobald er von dem zentralen Steuergerät 101 dazu aufgefordert wird. Das zentrale Steuergerät 101 sendet hierzu einen Nachrichtenkopf, der mit einer bestimmten Adresse gekennzeichnet ist. Als Antwort hierauf stellt der Knoten 102 die zu sendenden Daten an den Bus 103 bereit. Jeder Knoten 102 besitzt eine eindeutige Adresse, über die er von dem zentralen Steuergerät 101 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 Knoten 102) 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 Bus 103 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 Kommunikationsnetz 100 eine Mehrzahl identischer Slaves 102 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 Kommunikationsnetz 100 beispielsweise eine Mehrzahl identischer Slaves 102 auf, wobei jeder Slave 102 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 Kommunikationsvorrichtung 200, 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 Kommunikationsvorrichtung 200 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 Bereich 201 auf, beispielsweise implementiert durch eine sichere Steuereinrichtung (Secure Controller), z.B. ein Hardware-Sicherheitsmodul (HSM).
  • Der sichere Bereich 201 verfügt über kryptographische Schlüssel 202 in einem Schlüsselspeicher 203 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 Kommunikationsvorrichtung 200 enthalten (gehostet). Der Host 204, d.h. der Bereich der Kommunikationsvorrichtung 200 außerhalb des sicheren Bereichs 201, also typischerweise der nicht-sichere Bereich der Kommunikationsvorrichtung 200 enthält einen Nachrichtendekoder (COM 205), der von einem Bus 206, mit der die Kommunikationsvorrichtung beispielsweise wie mit Bezug auf 1 beschrieben verbunden ist, eine Nachricht empfängt und sie an den sicheren Bereich 201 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 Bereichs 201 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üfungseinrichtung 213, 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“. CMD 208 ist der Parameter, um das Kommando „MAC-Überprüfung“ durch die Prüfungseinrichtung 213 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üfungseinrichtung 213 den Schlüssel mit der Nummer 1 „K1“ aus dem Schüsselspeicher 203. Anschließend berechnet eine MAC-Erzeugungseinrichtung 211 der Prüfungseinrichtung 213 mit Hilfe des Schlüssels K1 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 Vergleicher 212 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üfungseinrichtung 213 an den Host 204, 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 Daten 303.
  • In 304 kann der Sender, der beispielsweise dem zentralen Steuergerät 101 aus 1 entspricht, den erzeugten MAC optional verkürzen, d.h. trunkieren, beispielsweise um Bandbreite auf dem Bus 103 einzusparen. Der Sender sendet dann die zu sendenden Daten 303 und den gegebenenfalls trunkierten MAC 305 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 MAC 408.
  • Die empfangenen Daten 401 entsprechen den Eingangsnutzdaten IN von 2.
  • In 402 überprüft der Empfänger, z.B. die Prüfungseinrichtung 213 wie oben beschrieben, die Gültigkeit des empfangenen (ggf. trunkierten) MACs 403 unter Verwendung der empfangenen Daten 401 und dem passenden Schlüssel 404 (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 Host 204 (insbesondere der auf dem Host laufenden Software) und dem sicheren Bereich 201 auf eine Weise erfolgt, dass die MAC-Berechnung und der MAC-Vergleich innerhalb sicheren Bereichs 201 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 Host 204 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 Bus 103 legen und damit eine andere Komponente 101, 102, die mit dem Bus 103 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üsselnummer 1) an und verwendet einen MAC mit der Länge 1, beispielsweise mit dem Bit 0, und der Schlüsselnummer 1 und gibt das Kommando mit dem MAC (und gegebenenfalls beliebigen Nutzdaten) an den sicheren Bereich 201 als auf MAC-Gültigkeit zu überprüfende Nachricht.
  • Der sichere Bereich 201 gibt wie oben mit Bezug auf 2 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 Bereich 201 „richtig“ (oder „Ja“) zurückliefert, weiß der Host 204, dass das erste Bit des MACs 0 ist. Wenn der sichere Bereich 201 „falsch“ (oder „Nein“) zurückliefert, weiß der Host 204, dass das erste Bit des MACs 1 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 Bereich 201 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 Bereichs 201, 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üsselnummer 1) 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.
  • 5 zeigt eine Kommunikationsvorrichtung 500 gemäß einer Ausführungsform.
  • 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.
  • 6 zeigt einen Vergleicher 600.
  • 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).
  • 7 veranschaulicht die MAC-Überprüfung auf Empfängerseite bei Verwendung einer minimalen MAC-Länge gemäß einer Ausführungsform.
  • 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.
  • 8 zeigt eine Authentifizierungscode-Überprüfungseinrichtung 800 für eine Kommunikationsvorrichtung.
  • 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.
  • 9 zeigt ein Ablaufdiagramm 900, das ein Verfahren zum Überprüfen eines Authentifizierungscodeworts gemäß einer Ausführungsform veranschaulicht.
  • 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)

    1. 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.
    2. Authentifizierungscode-Überprüfungseinrichtung gemäß Anspruch 1, wobei die Ausgabeeinrichtung eingerichtet ist, das Ergebnis der Überprüfung an das Host-System auszugeben.
    3. Authentifizierungscode-Überprüfungseinrichtung gemäß Anspruch 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.
    4. Authentifizierungscode-Überprüfungseinrichtung gemäß einem der Ansprüche 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.
    5. Authentifizierungscode-Überprüfungseinrichtung gemäß einem der Ansprüche 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.
    6. Authentifizierungscode-Überprüfungseinrichtung gemäß einem der Ansprüche 1 bis 5, wobei das Authentifizierungscodewort ein Codewort gemäß einem Message Authentication Code ist.
    7. Authentifizierungscode-Überprüfungseinrichtung gemäß einem der Ansprüche 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.
    8. Authentifizierungscode-Überprüfungseinrichtung gemäß Anspruch 7, wobei die Zähleinrichtung eingerichtet ist, das Angriffsdetektionssignal auszugeben, wenn der Zählwert einen vorgegebenen Schwellwert überschreitet.
    9. Authentifizierungscode-Überprüfungseinrichtung gemäß einem der Ansprüche 1 bis 8, wobei die Kommunikationsvorrichtung eine elektronische Steuervorrichtung für ein Fahrzeug ist.
    10. Authentifizierungscode-Überprüfungseinrichtung gemäß einem der Ansprüche 1 bis 9, wobei die Nachricht eine Steuernachricht für eine elektronische Steuervorrichtung ist.
    11. Authentifizierungscode-Überprüfungseinrichtung gemäß einem der Ansprüche 1 bis 10, wobei die Eingangsschnittstelle eingerichtet ist, eine Angabe der Anzahl von Bits des zu überprüfenden Authentifizierungscodeworts zu empfangen.
    12. Authentifizierungscode-Überprüfungseinrichtung gemäß einem der Ansprüche 1 bis 11, wobei die Eingangsschnittstelle eingerichtet ist, eine Instruktion zu empfangen, die Anzahl von Bits des Authentifizierungscodeworts zu überprüfen.
    13. Authentifizierungscode-Überprüfungseinrichtung gemäß einem der Ansprüche 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.
    14. 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.
    15. Kommunikationsvorrichtung mit einer Authentifizierungscode-Überprüfungseinrichtung gemäß einem der Ansprüche 1 bis 14, und einer Kommunikationsschnittstelle zum Senden und Empfangen von Nachrichten über ein Kommunikationsnetzwerk.
    16. 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.
    17. Kommunikationsvorrichtung gemäß Anspruch 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.
    18. 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.
    DE102019105246.7A 2019-03-01 2019-03-01 Authentifizierungscode-überprüfungseinrichtung und verfahren zum überprüfen eines authentifizierungscodeworts Pending DE102019105246A1 (de)

    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)

    * Cited by examiner, † Cited by third party
    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

    Patent Citations (1)

    * Cited by examiner, † Cited by third party
    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