DE102016222599A1 - Method for securing data transmission in a data bus - Google Patents

Method for securing data transmission in a data bus Download PDF

Info

Publication number
DE102016222599A1
DE102016222599A1 DE102016222599.5A DE102016222599A DE102016222599A1 DE 102016222599 A1 DE102016222599 A1 DE 102016222599A1 DE 102016222599 A DE102016222599 A DE 102016222599A DE 102016222599 A1 DE102016222599 A1 DE 102016222599A1
Authority
DE
Germany
Prior art keywords
data
receiver
secret
data word
secret data
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.)
Withdrawn
Application number
DE102016222599.5A
Other languages
German (de)
Inventor
Christian Muhm
Frank Schreiner
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.)
Continental Teves AG and Co OHG
Original Assignee
Continental Teves AG and Co OHG
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 Continental Teves AG and Co OHG filed Critical Continental Teves AG and Co OHG
Priority to DE102016222599.5A priority Critical patent/DE102016222599A1/en
Publication of DE102016222599A1 publication Critical patent/DE102016222599A1/en
Withdrawn 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/63Joint error correction and other techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Small-Scale Networks (AREA)

Abstract

Die Erfindung betrifft ein Verfahren zur Absicherung der Datenübertragung in einem Datenbus, über den Datenprotokolle von mindestens einem Sender an wenigstens einen Empfänger übermittelt werden, wobei die Datenprotokolle zur Übermittlung von physikalisch übertragbaren Nutzdaten und einer CRC-Prüfsumme ein Datenfeld mit vorgegebener Länge enthalten. Erfindungsgemäß ist vorgesehen, dass wenigstens ein geheimes Datenwort in dem Sender und dem Empfänger bereitgestellt wird und die CRC-Prüfsumme aus den zu übertragenden Nutzdaten und dem geheimen Datenwort berechnet wird.The invention relates to a method for securing the data transmission in a data bus, are transmitted over the data protocols of at least one transmitter to at least one receiver, wherein the data protocols for the transmission of physically transferable user data and a CRC checksum contain a data field with a predetermined length. According to the invention, it is provided that at least one secret data word is provided in the sender and the receiver, and the CRC checksum is calculated from the user data to be transmitted and the secret data word.

Description

Die Erfindung betrifft ein Verfahren zur Absicherung der Datenübertragung in einem Datenbus, über den Datenprotokolle mindestens eines Senders an wenigstens einen Empfänger weitergegeben werden, die mindestens ein Datenfeld mit vorgegebener Länge und ein Sicherungsfeld mit einer CRC-Prüfsumme enthalten.The invention relates to a method for securing the data transmission in a data bus, via which data protocols of at least one transmitter are forwarded to at least one receiver, which contain at least one data field with a predetermined length and a security field with a CRC checksum.

Für die Kommunikation zwischen Steuergeräten in einem Fahrzeug sind verschiedene Bussysteme bekannt, wie bspw. der bekannte CAN-Bus (Controller Area Network). Daneben gibt es aber auch andere Bussysteme, die ebenfalls im Automobilbau Anwendung finden, wie LIN (Local Interconnect Network), FlexRay, MOST (Media Oriented Systems Transport), PSI5 (Peripheral Sensor Interface 5), sowie das aus dem Computerbereich bekannte Ethernet.For communication between control units in a vehicle, various bus systems are known, such as, for example, the known CAN bus (Controller Area Network). But there are also other bus systems that are also used in the automotive industry, such as LIN (Local Interconnect Network), FlexRay, MOST (Media Oriented Systems Transport), PSI5 (Peripheral Sensor Interface 5), as well as the well-known from the computer area Ethernet.

Über ein CAN-Netzwerk werden die zwischen Steuergeräten im Fahrzeug ausgetauschten Informationen in Datentelegrammen bzw. Botschaften, sogenannten CAN-Frames, im Folgenden auch Datenprotokolle genannt, zusammengefasst. Ein solches Datenprotokoll ist in bekannter Weise aus folgenden Feldern zusammengesetzt: Einem Anfangsfeld (Start of Frame), einem Arbitrations-Feld (Arbitration Field), einem Kontrollfeld (Control Field), einem Datenfeld (Data Field), einem Sicherungsfeld (CRC Field), einem Bestätigungsfeld (ACK Field), einem Endfeld (End of Frame) und einem Ruhezustands-Feld (Inter Frame Space).Via a CAN network, the information exchanged between control units in the vehicle is summarized in data telegrams or messages, so-called CAN frames, also referred to below as data protocols. Such a data protocol is composed of the following fields in a known manner: a start field, an arbitration field, a control field, a data field, a safety field (CRC field), an acknowledgment field (ACK Field), an end field (End of Frame), and an Inter Frame Space.

Dieses CAN-Datenprotokoll enthält die an den jeweiligen Busteilnehmer zu übertragende Information im Datenfeld (Data Field), das heißt die Nutzdaten, die in Form einer Bitfolge mit einer fest vorgegebenen Bitanzahl vorliegen. Ein CAN-Frame kann dabei bis zu 64 Bit an Nutzdaten übertragen. Diese Daten können sicherheitsrelevante Steuerbefehle oder Zustandsdaten enthalten. Falsch gesendete, falsch übertragene oder falsch empfangene Daten können in modernen Fahrzeugen zu Gefahren für die Gesundheit und das Leben der Fahrzeuginsassen oder anderer Verkehrsteilnehmer führen.This CAN data protocol contains the information to be transmitted to the respective bus subscriber in the data field (data field), that is to say the user data which is present in the form of a bit sequence with a fixed number of bits. A CAN frame can transmit up to 64 bits of user data. This data can contain safety-relevant control commands or status data. Incorrectly transmitted, incorrectly transmitted or incorrectly received data can lead to dangers for the health and life of the vehicle occupants or other road users in modern vehicles.

Die Absicherung der Datenkommunikation wird im Rahmen der standardisierten Softwarearchitektur AUTOSAR® (AUTomotive Open System ARchitecture) zwischen den Software-Komponenten durch einen softwarebasierten E2E(End-to-End)-Schutzmechanismus realisiert. Hierbei werden mittels Prüfsummen (CRC) und Botschaftszählern Übertragungsfehler erkannt (vgl. Specification of SW-C End-to-End Communication Protection Library AUTOSAR Release 4.2.2).The protection of the data communication is standardized in the context of software architecture AUTOSAR ® (Automotive Open System Architecture) between the software components through a software-based E2E (End-to-End) -Schutzmechanismus realized. In this case, transmission errors are detected by means of checksums (CRC) and message counters (see Specification of SW-C End-to-End Communication Protection Library AUTOSAR Release 4.2.2).

Um gemäß diesem E2E-Schutzmechanismus die zu übertragenden Nutzdaten, bspw. über einen CAN-Bus gegen zufällige Übertragungsfehler abzusichern, werden Prüfdaten in dem Datenfeld mitgesendet, die eine Verfälschung der Daten erkennen lassen. Üblicherweise werden dafür - wie oben ausgeführt - CRC-Prüfsummen und Botschaftszähler eingesetzt, die vom sendenden Steuergerät in den 64 Bit des Datenfeldes der CAN-Botschaft mitgesendet werden. Das Datenfeld eines solchen Datenprotokolls zeigt 2, welches aus N 8-Bit-Datenfeldabschnitten aufgebaut ist. Der erste Datenfeldabschnitt Data [0] enthält eine 8-Bit-CRC-Prüfsumme, während die verbleibenden Datenfeldabschnitte Data [1] bis Data [N] die physikalisch übertragbaren Nutzdaten enthalten. Gemäß der oben genannten AUTOSAR-Spezifikation enthält der zweite Datenfeldabschnitt Data [1] den Stand des Botschaftszählers - oft bestehend aus 4 Bit - und 4 Bit Nutzdaten. Bei der Verwendung des CAN-Busses als Kommunikationsmittel zwischen den Steuergeräten eines Fahrzeugs ist N=8, d. h. die Länge des Datenfeldes beträgt 64 Bit. Wird eine 8-Bit-CRC-Prüfsumme zusammen mit den Nutzdaten in einem solchen Datenfeld übertragen, kann die maximale Länge der zu übertragenden Nutzdaten 56 Bit betragen. Wird zusätzlich noch der Stand des Botschaftszählers übertragen, verbleiben 52 Bit für die Nutzdaten.In order to secure the payload data to be transmitted, for example against random transmission errors, via a CAN bus in accordance with this E2E protection mechanism, test data are sent in the data field, which indicate a corruption of the data. Usually - as stated above - CRC checksums and message counters are used, which are sent by the sending controller in the 64 bits of the data field of the CAN message. The data field of such a data log shows 2 which is composed of N 8-bit data field sections. The first data field section Data [0] contains an 8-bit CRC checksum, while the remaining data field sections Data [1] to Data [N] contain the physically transferable user data. According to the above-mentioned AUTOSAR specification, the second data field section Data [1] contains the state of the message counter - often consisting of 4-bit and 4-bit user data. When using the CAN bus as a means of communication between the control units of a vehicle N = 8, ie the length of the data field is 64 bits. If an 8-bit CRC checksum is transmitted together with the user data in such a data field, the maximum length of the user data to be transmitted can be 56 bits. If the status of the message counter is additionally transmitted, 52 bits remain for the user data.

Nach der Übermittlung eines solchen Datenfeldes gemäß 2 prüft der empfangende Busteilnehmer die Korrektheit der Datenübertragung, indem er aus den gesendeten Daten und gegebenenfalls weiteren Zusatzinformationen selbst eine CRC-Prüfsumme berechnet und diese mit der CRC-Prüfsumme im empfangenen Datenprotokoll vergleicht. Stimmt die berechnete CRC-Prüfsumme mit der im Datenprotokoll übertragenen CRC-Prüfsumme überein, liegt eine fehlerfreie Datenübertragung vor.After the transmission of such a data field according to 2 The receiving bus subscriber checks the correctness of the data transmission by calculating a CRC checksum from the transmitted data and, if appropriate, further additional information and comparing this with the CRC checksum in the received data protocol. If the calculated CRC checksum matches the CRC checksum transmitted in the data log, there is error-free data transmission.

Diese CRC-Prüfsummen und Botschaftszähler sind ausreichend geeignet, um zufällige Verfälschungen aufgrund von physikalischen Einflüssen (z.B. Hardware-Fehler oder Störeinstrahlung) im empfangenden Steuergerät zu erkennen.These CRC checksums and message counters are sufficient to detect random corruption due to physical influences (e.g., hardware failure or interference) in the receiving controller.

Die Datenprotokolle inklusive der Prüfdaten sind bei dem bekannten CAN-Bus nicht gegen böswillige Manipulation abgesichert. Ein Angreifer, der Zugang zum CAN-Bus eines Fahrzeugs gefunden hat, kann CAN-Botschaften mit korrekt errechneten Prüfdaten verschicken. Diese Botschaften werden von den anderen Steuergeräten im Fahrzeug als gültig angesehen. Somit kann ein Angreifer mit Zugriff auf das CAN-Netzwerk auch Botschaften senden, die das Leben der Fahrzeuginsassen gefährden.The data protocols including the test data are not protected against malicious manipulation in the known CAN bus. An attacker who has found access to the CAN bus of a vehicle can send CAN messages with correctly calculated test data. These messages are from the others Control units in the vehicle considered valid. Thus, an attacker with access to the CAN network can also send messages that endanger the lives of the vehicle occupants.

Hinsichtlich dieses Problems schlägt bspw. die DE 10 2012 210 327 A1 ein Verfahren zum Übertragen von Nachrichten in einem Fahrzeug-Kommunikationssystem vor, mit welchem eine Manipulation oder Veränderung einer über einen Datenbus übertragenen Nachricht von einem Sender an einen Empfänger erkannt werden kann. Hierzu wird für die zu übermittelnde Nachricht eine Signatur ermittelt und zusammen als Signatur-Nachricht vom Empfänger empfangen. Die Überprüfung der Signatur durch den Empfänger erfolgt durch erneutes Ermitteln der Signatur für die übertragene Nachricht und deren Vergleich mit der in der Signatur-Nachricht enthaltenen Signatur.With regard to this problem bspw. For example DE 10 2012 210 327 A1 a method for transmitting messages in a vehicle communication system, with which a manipulation or change over a data bus transmitted message from a transmitter to a receiver can be detected. For this purpose, a signature is determined for the message to be transmitted and received together as a signature message from the recipient. The verification of the signature by the recipient is carried out by redetermining the signature for the transmitted message and comparing it with the signature contained in the signature message.

Die Signatur gemäß dieser DE 10 2012 210 327 A1 wird aus der zu schützenden Nachricht, aus einem ersten Zähler und aus einem zweiten Zähler unter Verwendung eines dem Sender und den Empfänger bekannten und geheimen Schlüssels erzeugt. Eine Manipulation oder Veränderung einer übertragenen Nachricht kann bspw. dadurch erkannt werden, wenn die zu schützende Nachricht parallel zu der Signatur-Nachricht in einer weiteren, jedoch nicht signierten Nachricht von dem Sender an den Empfänger übertragen wird. In der nichtsignierten Nachricht wird die zu schützende Nachricht im Klartext übertragen. Die Berechnung der Signatur über die im Klartext übertragene Nachricht führt dann zu einer anderen Signatur, wenn davon ausgegangen wird, dass die mit der Signatur-Nachricht geschützte Nachricht nicht manipuliert ist.The signature according to this DE 10 2012 210 327 A1 is generated from the message to be protected, from a first counter and from a second counter using a key known and secret to the sender and the receiver. A manipulation or change of a transmitted message can be detected, for example, when the message to be protected is transmitted in parallel to the signature message in a further, but unsigned message from the sender to the recipient. In the unsigned message, the message to be protected is transmitted in plain text. The calculation of the signature over the plaintext message then results in a different signature, assuming that the message protected by the signature message is not tampered with.

Damit gemäß dieser DE 10 2012 210 327 A1 der Empfänger zur Überprüfung der Signatur den hierfür benötigten Wert des ersten Zählers verarbeiten kann, wird dieser dem Empfänger über eine separate Nachricht mitgeteilt. Der Wert des zweiten Zählers wird mit jeder übertragenen Signatur-Nachricht in vorgegebener Weise verändert und mit der zu schützenden Nachricht an den Empfänger als Signatur-Nachricht übertragen.So according to this DE 10 2012 210 327 A1 the recipient can process the required value of the first counter to verify the signature, this is communicated to the recipient via a separate message. The value of the second counter is changed with each transmitted signature message in a predetermined manner and transmitted with the message to be protected to the recipient as a signature message.

Wird dieses bekannte Verfahren gemäß der DE 10 2012 210 327 A1 bei einem CAN-Bus angewendet, wird nur ein Teil der Signatur im Datenfeld zusammen mit den Nutzdaten übertragen, da die vollständige Signatur in Abhängigkeit des verwendeten Algorithmus 128 Bit oder länger oder kürzer sein kann, jedoch das Datenfeld einer CAN-Botschaft lediglich 64 Bit lang ist.If this known method according to the DE 10 2012 210 327 A1 When applied to a CAN bus, only part of the signature in the data field is transmitted together with the payload, since the full signature may be 128 bits or more or less depending on the algorithm used, but the data field of a CAN message is only 64 bits long is.

Der Nachteil dieses bekannten Verfahrens gemäß der DE 10 2012 210 327 A1 besteht darin, dass das Datenfeld zur Übertragung einer Signatur verwendet wird und daher dieses Datenfeld nicht vollständig zur Übertragung von Nachrichten zur Verfügung steht.The disadvantage of this known method according to the DE 10 2012 210 327 A1 This is because the data field is used to transmit a signature and therefore this data field is not completely available for the transmission of messages.

Des Weiteren beschreibt die DE 10 2010 033 229 A1 ein Verfahren zur manipulationssicheren Übertragung von Steuerdaten zwischen Steuereinheiten eines Netzwerks. Bei diesem Verfahren werden senderseitig Integritätsprüfinformationsdaten für die von einer ersten Steuereinheit gesendeten Steuerdaten erzeugt, eine kryptographische Prüfsumme für die senderseitig erzeugten Integritätsprüfinformationsdaten mittels eines kryptographischen Schlüssels berechnet, die senderseitig erzeugten Integritätsprüfinformationsdaten und die berechnete kryptographischen Prüfsumme zu einer Integritätsprüfverifikationseinheit übermittelt, welche die kryptographische Prüfsumme mittels eines kryptographischen Schlüssels empfangsseitig verifiziert, empfangsseitig Integritätsprüfinformationsdaten für die durch eine zweite Steuereinheit empfangenen Steuerdaten erzeugt und die empfangsseitig erzeugten Integritätsprüfinformationsdaten mit den zusammen mit der verifizierten kryptographischen Prüfsumme empfangenen senderseitig erzeugten Integritätsprüfinformationsdaten zur Erkennung einer Manipulation der übertragenen Steuerdaten verglichen. Die senderseitig erzeugten Integritätsprüfinformationsdaten werden durch einen Hash-Wert von einem Teil der in einem Steuerdatenpaket oder in einer bestimmten Anzahl von Steuerdatenpaketen enthaltenen Steuerdaten gebildet. Die Steuerdaten werden bei diesem bekannten Verfahren unverschlüsselt entweder zeitversetzt zu den Integritätsprüfinformationsdaten mit zugehörigen kryptographischen Prüfsumme oder zusammen mit denselben übertragen.Furthermore, the describes DE 10 2010 033 229 A1 a method for tamper-proof transmission of control data between control units of a network. In this method, on the transmitter side, integrity check information data for the control data sent by a first control unit is generated, a cryptographic checksum for the integrity check information data generated by the transmitter is calculated by means of a cryptographic key, the sender-generated integrity check information data and the calculated cryptographic checksum are sent to an integrity check verification unit which uses a cryptographic checksum Cryptographic key verified on the receiving side, the receiving side Integritätsprüfinformationsdaten for the received by a second control unit control data generated and the receiving side generated Integritätsprüfinformationsdaten compared with the received together with the verified cryptographic checksum received integrity check information data for detecting a manipulation of the transmitted control data. The integrity check information data generated on the transmitter side is formed by a hash value of a part of the control data contained in a control data packet or in a certain number of control data packets. The control data are transmitted unencrypted in this known method, either time-shifted to the integrity check information with associated cryptographic checksum or together with the same.

Dieses bekannte Verfahren gemäß der DE 10 2010 033 229 A1 ist wohl in einfacher Weise implementierbar und in einem Kommunikationssystem nachrüstbar, jedoch erfordert deren Realisierung einen hohen hardwaremäßigen Aufwand, da zur Erzeugung der Integritätsprüfinformationsdaten senderseitig eine Integritätsprüferzeugungseinheit und empfangsseitig eine Integritätsprüfverifikationseinheit erforderlich sind.This known method according to the DE 10 2010 033 229 A1 is probably easy to implement and can be retrofitted in a communication system, however, their implementation requires a high level of hardware complexity, since an Integritätsprüferzeugungseinheit and the receiving side an integrity Verification unit are required to generate the Integritätsprüfinformationsdaten.

Schließlich ist auch aus der DE 10 2008 046 563 A1 ein Verfahren zur kryptografisch geschützten Übertragung von Daten zwischen Netzwerkknoten eines Netzwerks bekannt. Um mit diesem bekannten Verfahren „Replay-Attacken“ zu verhindern, werden NONCE-Werte eingesetzt. Ein NONCE-Wert stellt einen Einmal-Wert bzw. einen nur einmalig zu verwendenden Wert dar. Der NONCE-Wert dient zur Erkennung von wieder eingespielten Nachrichten (Replay-Attacken). Die Verschlüsselung der Nutzdaten seitens eines Sendeknotens erfolgt dann in Abhängigkeit von einem Schlüssel und einem NONCE-Wert. Bei diesem bekannten Verfahren werden zur Übertragung der Daten in einer Nachricht die folgenden Schritte ausgeführt: Bilden eines NONCE-Wertes aus einem Zählwert, welcher bei der Übertragung der Nachricht aktualisiert wird, und aus einem Konstantwert, welcher den Netzwerkknoten des Netzwerkes gemeinsam zur Verfügung gestellt wird, und Ver- und Entschlüsseln der in der Nachricht übertragenen Daten mittels eines kryptographischen Schlüssels und des gebildeten NONCE-Wertes.Finally, also from the DE 10 2008 046 563 A1 a method for the cryptographically protected transmission of data between network nodes of a network known. To prevent "replay attacks" with this known method, NONCE values are used. A NONCE value represents a one-time value or a value that can only be used once. The NONCE value is used to detect re-recorded messages (replay attacks). The encryption of the user data by a Transmitter node then takes place depending on a key and a NONCE value. In this known method, for transmitting the data in a message, the following steps are performed: forming a NONCE value from a count value which is updated upon the transmission of the message and a constant value which is shared with the network node of the network , and encrypting and decrypting the data transmitted in the message by means of a cryptographic key and the NONCE value formed.

Das Datenprotokoll zur Übertragung von Nutzdaten umfasst Header-Daten, welche eine Sendeknotenadresse, eine Empfangsknotenadresse und den aktuellen Zählwert des sendenden Netzwerkknotens umfassen. Empfangsseitig vergleicht der Empfangsnetzwerkknoten den in der Nachricht übertragenen Zählwert des Sendenetzwerkknotens mit einem anhand der in der Nachricht übertragenen Sendeknotenadresse selektierten Zählwert eines internen Zählers des Empfangsnetzwerkknotens und bildet aus dem übertragenen Zählwert, aus dem gemeinsamen Konstantwert und aus der übertragenen Sendeknotenadresse einen empfangsseitigen NONCE-Wert, falls der übertragene Zählwert aktueller ist als der selektierte Zählwert, wobei der empfangsseitig gebildete NONCE-Wert und ein in dem Empfangsnetzwerkknoten gespeicherter Schlüssel zur Entschlüsselung der in der Nachricht verschlüsselt übertragenen Daten benutzt werden.The data protocol for transmitting payload data includes header data, which includes a sending node address, a receiving node address, and the current counting value of the sending network node. At the receiving end, the receiving network node compares the transmission network node's count value transmitted in the message with a count value of an internal counter of the receiving network node selected from the transmission node address and forms a NONCE value at the receiving end, from the common constant value and from the transmitted transmitting node address. if the transmitted count is more recent than the selected count, using the NONCE value formed at the receive end and a key stored in the receive network node to decrypt the data encrypted in the message.

Dieses bekannte Verfahren gemäß der DE 10 2008 046 563 A1 erfordert zu dessen Realisierung einen hohen Rechenaufwand, da nicht nur die NONCE-Werte berechnet werden müssen, sondern auch die Nutzdaten mittels eines Schlüssels verschlüsselt werden müssen.This known method according to the DE 10 2008 046 563 A1 requires a high computational effort for its implementation, since not only the NONCE values must be calculated, but also the user data must be encrypted by means of a key.

Der Vollständigkeit halber sei noch auf die US 2002/0174332 A1 verwiesen, welche den Message Authentication Code (MAC) zur Prüfung der Integrität von zwischen einem Sender und einem Empfänger übermittelten Daten oder Nachrichten verwendet. Ein MAC-Algorithmus erfordert zwei Eingabeparameter, zum einen die zu schützenden Nachrichten und zum anderen einen geheimen Schlüssel. Aus beidem wird mittels des MAC-Algorithmus eine Prüf summe, der Message Authentication Code berechnet. Ein Sender berechnet mittels des Schlüssels und der zu übertragenden Nachricht die MAC-Prüfsumme und sendet dann die unverschlüsselte Nachricht und die MAC-Prüfsumme an einen Empfänger. Dieser berechnet die MAC-Prüfsumme aus der empfangenen Nachricht mit dem Schlüssel und vergleicht die berechnete MAC-Prüfsumme mit der empfangenen. Die Nachricht wird nur akzeptiert, wenn beide Werte übereinstimmen.The sake of completeness is still on the US 2002/0174332 A1 which uses the message authentication code (MAC) to check the integrity of data or messages transmitted between a sender and a receiver. A MAC algorithm requires two input parameters, firstly the messages to be protected and secondly a secret key. From both, the MAC algorithm calculates a check sum, the message authentication code. A sender calculates the MAC checksum by means of the key and the message to be transmitted and then sends the unencrypted message and the MAC checksum to a receiver. This calculates the MAC checksum from the received message with the key and compares the calculated MAC checksum with the received one. The message is only accepted if both values match.

Mit dem Verfahren zur Prüfung der Integrität von Nachrichten zwischen einer mobilen Station und einem Mobilfunknetz gemäß dieser US 2002/0174332 A1 ist es möglich, die MAC-Prüfsumme gekürzt zu übertragen, wenn die Länge aus zu übertragenden Nachricht und der ungekürzten MAC-Prüfsumme zu lang ist, also länger ist als das Datenfeld des Datenprotokolls.With the method for checking the integrity of messages between a mobile station and a mobile network according to this US 2002/0174332 A1 It is possible to transmit the MAC checksum shortened if the length of the message to be transmitted and the unabridged MAC checksum is too long, ie longer than the data field of the data protocol.

Die Aufgabe der Erfindung besteht darin, ein Verfahren zur Absicherung der Datenübertragung in einem Datenbus eines Fahrzeugs anzugeben, welches die Datenübertragung in dem Datenbus, insbesondere in einem CAN-Bus widerstandsfähiger gegen Hackerangriffe macht und mit geringem Aufwand realisierbar ist.The object of the invention is to provide a method for securing the data transmission in a data bus of a vehicle, which makes the data transmission in the data bus, in particular in a CAN bus more resistant to hacker attacks and can be implemented with little effort.

Die Aufgabe wird gelöst durch ein Verfahren mit den Merkmalen des Patentanspruchs 1.The object is achieved by a method having the features of patent claim 1.

Bei diesem Verfahren zur Absicherung der Datenübertragung in einem Datenbus, über den Datenprotokolle von mindestens einem Sender an wenigstens einen Empfänger übermittelt werden, wobei die Datenprotokolle zur Übermittlung von physikalischen übertragbaren Nutzdaten und einer CRC-Prüfsumme ein Datenfeld mit vorgegebener Länge enthalten, ist erfindungsgemäß vorgesehen, dass

  • - wenigstens ein geheimes Datenwort in dem Sender und dem Empfänger bereitgestellt wird, und
  • - die CRC-Prüfsumme aus den zu übertragenden Nutzdaten und dem geheimen Datenwort berechnet wird.
In this method for securing the data transmission in a data bus, via which data protocols are transmitted from at least one transmitter to at least one receiver, wherein the data protocols for the transmission of physical transferable user data and a CRC checksum contain a data field with a predetermined length, it is provided according to the invention, that
  • at least one secret data word is provided in the sender and the receiver, and
  • - The CRC checksum is calculated from the user data to be transmitted and the secret data word.

Bei diesem erfindungsgemäßen Verfahren wird das geheime Datenwort lediglich dazu benutzt, zusammen mit den Nutzdaten des Datenfeldes eine CRC-Prüfsumme zu bilden, die einschließlich der Nutzdaten in dem Datenfeld übertragen wird. Eine solche CRC-Prüfsumme unterscheidet sich von derjenigen, die ohne ein solches geheimes Datenwort berechnet wird.In this inventive method, the secret data word is used only to form together with the payload of the data field, a CRC checksum, which is transmitted including the payload data in the data field. Such a CRC checksum differs from that calculated without such a secret data word.

Unter physikalisch übertragbaren Nutzdaten werden solche als bitserielle Datenströme vorliegenden Nutzdaten bezeichnet, welche von einem Datenbus, bspw. dem CAN-Bus als Übertragungsmedium in die entsprechenden BUS-Signale umsetzbar sind.The term "payload data" which is physically transferable refers to useful data which are present as bit-serial data streams and which can be converted by a data bus, for example the CAN bus, as the transmission medium into the corresponding BUS signals.

Nach einer vorteilhaften Weiterbildung des erfindungsgemäßen Verfahrens wird das geheime Datenwort mit einer Länge bereitgestellt, die größer ist als die Länge der CRC-Prüf-summe. Wird bspw. eine 8-Bit-CRC verwendet, ist die Länge des geheimen Datenwortes länger als 8 Bit, also bspw. ein Vielfaches von 1 Byte. Die Länge eines solchen geheimen Datenwortes kann dann bspw. 64 oder 128 Bit usw. sein. According to an advantageous development of the method according to the invention, the secret data word is provided with a length that is greater than the length of the CRC check sum. If, for example, an 8-bit CRC is used, the length of the secret data word is longer than 8 bits, that is, for example, a multiple of 1 byte. The length of such a secret data word can then be, for example, 64 or 128 bits, etc.

Durch die gegenüber der CRC-Prüfsumme größere Länge des geheimen Datenwortes wird bewirkt, dass das geheime Datenwort von einem böswilligen Angreifer sehr viel schwerer erraten werden kann. Bei einer Länge des geheimen Datenwortes von bspw. 64 Bit beträgt die Chance des Erratens 1:2^64, also 1:18.446.744.073.709.551.616. In der Praxis ist somit ein Erraten des geheimen Datenwortes für einen böswilligen Angreifer nicht mehr durchführbar.The greater length of the secret data word compared with the CRC checksum causes the secret data word to be much more difficult to guess by a malicious attacker. With a length of the secret data word of, for example, 64 bits, the chance of guessing is 1: 2 ^ 64, ie 1: 18,446,744,073,709,551,616. In practice, guessing the secret data word is no longer feasible for a malicious attacker.

Da bei dem Empfänger das gleiche geheime Datenwort zur Verfügung steht, kann empfängerseitig aus den Nutzdaten zusammen mit dem geheimen Datenwort die CRC-Prüfsumme berechnet und mit der empfangenen CRC-Prüfsumme verglichen werden. Wenn die derart vorliegenden CRC-Prüfsummen nicht übereinstimmen, wird das übermittelte Datenprotokoll und damit auch die empfangenen Nutzdaten verworfen.Since the same secret data word is available at the receiver, the CRC checksum can be calculated on the receiver side from the user data together with the secret data word and compared with the received CRC checksum. If the CRC checksums thus present do not match, the transmitted data protocol and thus also the received user data are discarded.

Bei Verwendung dieses erfindungsgemäßen Verfahrens müssen die in dem Datenbus bereits definierten und implementierten Sicherheitskonzepte und Fehlerreaktionen auf falsche Nutzdaten nicht verändert werden. Dies gilt insbesondere, wenn der Datenbus als CAN-Bus ausgebildet ist. Auch müssen bei einem solchen CAN-Bus die sicherheitsrelevanten CAN-Datenproto-kolle nicht angepasst werden, wenn bereits ausreichende CRC-Prüfsummen mit ausreichender Lücke für ein geheimes Datenwort eingesetzt werden. Schließlich erfordert der Einsatz dieses erfindungsgemäßen Verfahrens auf der Ebene des mit dem Datenbus realisierten Netzwerkes keine zusätzliche Hardware, um mit diesem erfindungsgemäßen Verfahren dieses Netzwerk gegen Hackerangriffe zu schützen.When using this method according to the invention, the security concepts and error responses to incorrect user data already defined and implemented in the data bus need not be changed. This is especially true if the data bus is designed as a CAN bus. Also, in such a CAN bus, the safety-relevant CAN data protocols do not have to be adapted if sufficient CRC checksums with sufficient gap are already used for a secret data word. Finally, the use of this method according to the invention at the level of the network realized with the data bus requires no additional hardware in order to protect this network against hacker attacks with this inventive method.

Es ist nach einer weiteren bevorzugten Weiterbildung der Erfindung auch möglich, das geheime Datenwort mittels eines kryptographischen Verfahrens in Speichereinheiten des Senders und des Empfängers zu speichern. Hierfür können gehärtete Krypto-Speicher sowohl für den Sender als auch für den Empfänger eingesetzt werden. Bei Verwendung des geheimen Datenwortes werden abgesicherte Krypto-Algorithmen und Krypto-Hardware, wie bspw. ein Hardware-Sicherheitsmodul (Hardware Security Module) eingesetzt. Ein solches Hardware-Sicherheitsmodul ist eine Komponente für die effiziente und sichere Ausführung von kryptographischen Operationen oder Applikationen, wie bspw. die Erzeugung von kryptographischen Schlüsseln, um die Vertrauenswürdigkeit und die Integrität von Daten sicherzustellen. Mit einem solchen Hardware-Sicherheitsmodul ist es daher auch möglich das geheime Datenwort gemäß des erfindungsgemäßen Verfahrens zu erzeugen oder dieses zu speichern, um es vor unberechtigtem Zugriff zu schützen.It is according to a further preferred embodiment of the invention also possible to store the secret data word by means of a cryptographic method in memory units of the transmitter and the receiver. For this purpose, hardened crypto memories can be used both for the transmitter and for the receiver. When using the secret data word secured crypto algorithms and crypto hardware, such as, for example, a hardware security module (Hardware Security Module) are used. Such a hardware security module is a component for the efficient and secure execution of cryptographic operations or applications, such as the generation of cryptographic keys, to ensure the trustworthiness and integrity of data. With such a hardware security module, it is therefore also possible to generate the secret data word according to the method according to the invention or to store this in order to protect it against unauthorized access.

Nach einer weiteren bevorzugten Ausgestaltung der Erfindung wird das geheime Datenwort nach einer vorgegebenen Anzahl von versendeten Datenprotokollen gegen ein anderes geheimes Datenwort ausgetauscht. Insbesondere ist es damit möglich, nach jeder versendeten Nachricht ein Wechsel des geheimen Datenwortes vorzunehmen, d. h. jedes geheime Datenwort wird nur einmalig verwendet.According to a further preferred embodiment of the invention, the secret data word is exchanged for another predetermined data word after a predetermined number of sent data protocols. In particular, it is thus possible to make a change of the secret data word after each message sent, d. H. every secret data word is used only once.

Hierzu wird ein neues geheimes Datenwort mittels des Algorithmus erzeugt oder ein weiteres in dem gehärteten Krypto-Speicher abgelegtes Datenwort als neues geheimes Datenwort verwendet. Dies setzt natürlich voraus, dass in dem gehärteten Krypto-Speicher mehrerer solcher geheimen Datenwörter vorgehalten werden. Die Gültigkeitsdauer eines aktuellen geheimen Datenwortes ist auch dem Empfänger bekannt, so dass der senderseitige Wechsel des geheimen Datenwortes dem Empfänger nicht mitgeteilt zu werden braucht.For this purpose, a new secret data word is generated by means of the algorithm, or another data word stored in the hardened crypto memory is used as a new secret data word. Of course, this presupposes that several such secret data words are stored in the hardened crypto memory. The period of validity of a current secret data word is also known to the receiver, so that the transmitter-side change of the secret data word does not need to be communicated to the receiver.

Der Austausch des geheimen Datenwortes erschwert Hackerangriffe, bei denen das geheime Datenwort durch Mithören und Analysieren des Datenverkehrs auf dem CAN-Bus errechnet wird oder bei denen das geheime Datenwort erraten oder ausprobiert wird.The exchange of the secret data word hacker attacks, where the secret data word is calculated by listening in and analyzing the traffic on the CAN bus or in which the secret data word is guessed or tried.

Ein Austausch des geheimen Datenwortes kann gemäß einer weiteren Ausgestaltung des erfindungsgemäßen Verfahrens auch dann vorgenommen werden, wenn ein kryptografisch abgesichertes Datenprotokoll vom Sender an den Empfänger oder umgekehrt vom Empfänger an den Sender übertragen wurde. Bei einem kryptografisch abgesicherten Datenprotokoll werden die Nutzdaten in dem Datenfeld nicht unverschlüsselt, sondern mittels eines Schlüssels vor der Übertragung an den Empfänger verschlüsselt.An exchange of the secret data word can also be carried out according to a further embodiment of the method according to the invention if a cryptographically secured data protocol has been transmitted from the sender to the receiver or conversely from the receiver to the sender. In a cryptographically secured data protocol, the user data in the data field is not encrypted, but encrypted by means of a key before transmission to the recipient.

Eine weitere vorteilhafte Ausgestaltung der Erfindung sieht vor, dass nach einer vorgegebenen Folge von fehlerhaft von dem Empfänger empfangenen Prüfsummen das geheime Datenwort ausgetauscht wird und dem Sender vom Empfänger der Austausch des geheimen Datenwortes mitgeteilt wird. So kann bspw. bereits nach einem einzigen fehlerhaft übermittelten Datenprotokoll das geheime Datenwort ausgetauscht werden. Es ist auch möglich, nach einer vorgegebenen Anzahl von direkt aufeinanderfolgenden oder nicht direkt aufeinanderfolgenden fehlerhaft übermittelten Datenprotokollen das geheime Datenwort auszutauschen.A further advantageous embodiment of the invention provides that after a predetermined sequence of incorrectly received by the receiver checksums the secret data word is exchanged and the sender is informed by the recipient of the exchange of the secret data word. So, for example, already after a single incorrectly transmitted data protocol the secret data word are exchanged. It is also possible, after a predetermined number of directly consecutive or not directly consecutive incorrectly transmitted data protocols to exchange the secret data word.

Zudem ist es weiterbildungsgemäß vorgesehen, dass nach einer vorgegebenen Folge von fehlerhaft von dem Empfänger empfangenen Prüfsummen dieser Empfänger in einen Notbetrieb übergeht, in welchem keine Datenprotokolle von dem Empfänger akzeptiert werden. So kann bspw. bereits nach einem einzigen fehlerhaft übermittelten Datenprotokoll der Empfänger in den Notbetrieb übergehen. Es ist auch möglich, dass nach einer vorgegebenen Anzahl von direkt aufeinanderfolgenden oder nicht direkt aufeinanderfolgenden fehlerhaft übermittelten Datenprotokollen der Empfänger in den Notbetrieb übergeht.In addition, it is provided according to further development that after a predetermined sequence of checksums incorrectly received by the receiver, this receiver changes to an emergency mode in which no data protocols are accepted by the receiver. Thus, for example, the receiver can switch to emergency operation already after a single incorrectly transmitted data protocol. It is also possible that, after a predetermined number of directly successive or not directly consecutive incorrectly transmitted data protocols, the receiver switches to emergency mode.

Um den Austausch von geheimen Datenworten zu ermöglichen, werden diese in Speichereinheiten des Senders und des Empfängers abgelegt. Weiterbildungsgemäß ist es vorgesehen, dass die Abfolge der zum Austausch bereitgestellten geheimen Datenworte vorab festgelegt wird.To enable the exchange of secret data words, these are stored in storage units of the sender and the recipient. According to a further development, it is provided that the sequence of the secret data words provided for exchange is determined in advance.

Das erfindungsgemäße Verfahren ist besonders zur Anwendung bei einem CAN-Bus als Übertragungsmedium zwischen Steuergeräten eines Fahrzeugs geeignet. Anwendbar ist es auch in Flexray-, CAN-FD-, LIN-, MOST- und Ethernet-Netzwerken.The method according to the invention is particularly suitable for use with a CAN bus as a transmission medium between control units of a vehicle. It is also applicable in Flexray, CAN FD, LIN, MOST and Ethernet networks.

Das erfindungsgemäße Verfahren wird nachfolgend anhand von Ausführungsbeispielen des erfindungsgemäßen Verfahrens unter Bezugnahme auf die beigefügten Figuren beschrieben und erläutert. Es zeigen:

  • 1 eine schematische Darstellung der erfindungsgemäßen Erzeugung einer CRC-Prüfsumme für die Übertragung eines CAN-Datentelegramms, und
  • 2 ein Datenfeld eines Datenprotokolls gemäß AUTOSAR®-Spezifikationen.
The method according to the invention will now be described and explained with reference to exemplary embodiments of the method according to the invention with reference to the attached figures. Show it:
  • 1 a schematic representation of the inventive generation of a CRC checksum for the transmission of a CAN data telegram, and
  • 2 a data field of a data protocol according to AUTOSAR® specifications.

Das Datenfeld gemäß 2 ist bereits in der Beschreibungseinleitung beschrieben. Daher wird lediglich gegebenenfalls im Zusammenhang mit der Beschreibung von 1 hierauf verwiesen.The data field according to 2 has already been described in the introduction to the description. Therefore, where appropriate, only in connection with the description of 1 referenced.

Die CRC-Prüfsumme, die mit einer CAN-Botschaft bzw. einem CAN-Datenprotokoll mitgesendet wird, dient wie eingangs bereits beschrieben der Fehlererkennung. Die CRC-Prüfsumme wird berechnet, indem die 0-1-Folge der zu übertragenden Nutzdaten des Datenfeldes als binäres Polynom interpretiert und durch ein ausgewähltes CRC-Polynom (Generator-Polynom) mod(2) dividiert wird, wobei der Rest der Division die CRC-Prüfsumme bildet.The CRC checksum, which is sent along with a CAN message or a CAN data protocol, serves as previously described for error detection. The CRC checksum is computed by interpreting the 0-1 string of the data field payload data to be transmitted as a binary polynomial and dividing it by a selected CRC polynomial (mod polynomial) mod (2), the remainder of the division being the CRC Checksum forms.

Die Länge der CRC-Prüfsumme richtet sich nach der Anzahl der abzusichernden Nutzdatenbits der Nutzdaten und nach der benötigten Übertragungssicherheit, also der Hamming-Distanz. Eine große Anzahl von abzusichernden Datenbits erfordert bei gleicher Hamming-Distanz eine längere Prüfsumme. In der Regel richtet sich die Länge der Prüfsumme nach der maximal möglichen Anzahl von abzusichernden Datenbits.The length of the CRC checksum depends on the number of useful data bits of the user data to be protected and on the required transmission reliability, ie the Hamming distance. A large number of data bits to be backed up require a longer checksum for the same Hamming distance. As a rule, the length of the checksum depends on the maximum possible number of data bits to be protected.

Das Datenfeld gemäß 2 enthält in dem Datenfeldabschnitt Data [0] eine 8-Bit-CRC-Prüfsumme, die mehr Bits absichern kann als es der Länge der Nutzdaten, also der Anzahl der Bits dieser Nutzdaten entspricht. In einem CAN-Datenprotokoll ist das Datenfeld 64 Bit lang, abzüglich der 8-Bit-CRC verbleibt für die zu übertragenden Nutzdaten eine Länge von 56 Bits, d.h. die CRC-Prüfsumme sichert eine größere Anzahl von Bits ab. Die Differenz zwischen der möglichen Anzahl der von der CRC-Prüfsumme abzusichernden Bits und der Länge der Nutzdaten wird benutzt, um ein geheimes Datenwort bei der Berechnung der CRC-Prüfsumme zu verwenden.The data field according to 2 contains in the data field section Data [0] an 8-bit CRC checksum, which can secure more bits than it corresponds to the length of the user data, that is, the number of bits of this user data. In a CAN data protocol is the data field 64 Bits long, minus the 8-bit CRC, a length of 56 bits remains for the user data to be transmitted, ie the CRC checksum secures a larger number of bits. The difference between the possible number of bits to be saved by the CRC checksum and the length of the payload is used to use a secret data word in the calculation of the CRC checksum.

Wird bspw. das 8-Bit-CRC-Polynom ‘0x97: ( x + 1 ) * ( x 7 + x 6 + x 5 + x 2 + 1 )

Figure DE102016222599A1_0001
(entnommen aus ‚Philip Koopman, Tridib Chakravarty, DSN-2004: Cyclic Redundancy Code (CRC) Polynomial Selection For Embedded Networks‘) verwendet, können 119 Bits Nutzdaten mit einer Hamming-Distanz HD=4 abgesichert werden.For example, if the 8-bit CRC polynomial '0x97: ( x + 1 ) * ( x 7 + x 6 + x 5 + x 2 + 1 )
Figure DE102016222599A1_0001
(taken from, Philip Koopman, Tridib Chakravarty, DSN 2004 : Using Cyclic Redundancy Code (CRC) Polynomial Selection For Embedded Networks'), 119 bits of payload data with a Hamming distance of HD = 4 can be secured.

Damit beträgt die Differenz zwischen der Anzahl der mit diesem CRC-Polynom ‘ 0x97 absicherbaren Bits (119 Bits) und der Länge der abzusichernden Nutzdaten im CAN-Datenprotokoll (56 Bits): 119-56 = 63 Bits. Folglich stehen für das geheime Datenwort 63 Bits zur Verfügung und es kann daher im vorliegenden Beispiel aus maximal 63 Bits bestehen. Werden andere CRC-Polynome oder andere Hamming-Distanzen für die CRC-Prüfsumme gewählt, kann das geheime Datenwort auch kürzer oder länger sein. Thus, the difference between the number of bits that can be protected by this CRC polynomial '0x97 ( 119 Bits) and the length of the user data to be protected in the CAN data protocol ( 56 Bits): 119-56 = 63 bits. Consequently, stand for the secret data word 63 Bits are available and therefore, in the present example, it can consist of a maximum of 63 bits. If other CRC polynomials or other Hamming distances are selected for the CRC checksum, the secret data word may also be shorter or longer.

Zur Bestimmung der CRC-Prüfsumme wird das entsprechend den oben beschriebenen Methoden bereitgestellte geheime Datenwort, welches aus einer 0-1-Folge besteht, an die Nutzdaten angehängt und zusammen als Eingangsparameter einem CRC-Rechenwerk zugeführt, wie dies in 1 schematisch dargestellt ist. Diese CRC-Prüfsumme zeigt natürlich einen anderen Wert, als eine lediglich aus den Nutzdaten des Datenfeldes berechnete CRC-Prüfsumme.To determine the CRC checksum, the secret data word provided in accordance with the methods described above, which consists of a 0-1 sequence, is appended to the payload data and fed together as an input parameter to a CRC arithmetic unit, as described in US Pat 1 is shown schematically. Of course, this CRC checksum shows a different value than a CRC checksum calculated only from the payload of the data field.

Diese derart aus den Nutzdaten und dem geheimen Datenwort berechnete CRC-Prüfsumme wird in dem Datenfeldabschnitt Data [0] nach 2 eingetragen und zusammen mit den Nutzdaten des Datenfeldes von einem als Steuergerät ausgebildeten Sender eines CAN-Netzwerks einem ebenso als Steuergerät ausgebildeten Empfänger übermittelt.This CRC checksum calculated in such a way from the user data and the secret data word becomes after in the data field section Data [0] after 2 registered and transmitted together with the user data of the data field of a trained as a controller transmitter of a CAN network to a trained as a controller receiver.

Das geheime Datenwort ist nur dem Sender des CAN-Datenproto-kolls und dem Empfänger dieser CAN-Botschaft bekannt.The secret data word is known only to the sender of the CAN data protocol and the receiver of this CAN message.

Die mit dem oben beschriebenen CRC-Polynom ‘0x97 berechnete Prüfsumme ist 1 Byte lang und weist eine ausreichend hohe Hamming-Distanz zur Absicherung von sicherheitsrelevanten Botschaften auf. Die Chance eine falsche Nachricht ohne Kenntnis des geheimen Datenwortes zu erzeugen, die vom Empfänger des CAN-Datenprotokolls als Botschaft akzeptiert wird, ist gleich 2^ (-Anzahl der CRC-Bits), dies entspricht 2^ (-8) = 1/256 = 0,39%.The checksum calculated with the above-described CRC polynomial '0x97 is 1 byte long and has a sufficiently high Hamming distance to secure security-relevant messages. The chance of generating a false message without knowledge of the secret data word accepted as a message by the receiver of the CAN data protocol is equal to 2 ^ (number of CRC bits), this corresponds to 2 ^ (-8) = 1/256 = 0.39%.

Das in dem Sender als auch in dem Empfänger des CAN-Netz-werks bereitgestellte geheime Datenwort wird mittels eines vorgegebenen Algorithmus sowohl in dem Sender als auch in dem Empfänger erzeugt. Somit kann für jede Datenübertragung mittels des CAN-Datenprotokolls ein neues geheimes Datenwort verwendet werden, wodurch sich die Sicherheit der Datenübertragung verbessert, insbesondere Hackerangriffe erschwert werden.The secret data word provided in the transmitter as well as in the receiver of the CAN network is generated by means of a predetermined algorithm both in the transmitter and in the receiver. Thus, a new secret data word can be used for each data transmission by means of the CAN data protocol, whereby the security of the data transmission is improved, in particular hacker attacks are made more difficult.

Es ist auch möglich eine vorgegebene Anzahl von geheimen Datenworten jeweils in einer Speichereinheit des Senders und des Empfängers des CAN-Netzwerks bereitzustellen, um somit ggf. das geheime Datenwort zu wechseln.It is also possible to provide a predetermined number of secret data words in each case in a memory unit of the transmitter and of the receiver of the CAN network, in order to thus possibly change the secret data word.

Um ein solches in der Speichereinheit gespeicherte geheime Datenwort gegen Ausspähung zu sichern können folgende Maßnahmen realisiert werden:

  • - Verwendung von gehärteten Krypto-Speichern für das geheime Datenwort in den als Steuergeräte ausgebildeten Sendern und Empfängern des CAN-Netzwerks.
  • - Verwendung von abgesicherten Krypto-Algorithmen und Krypto-Hardware, bspw. Hardware-Sicherheitsmodulen (Hardware Security Module) bei Verwendung des geheimen Datenwortes.
  • - Einrichten von Schutzmaßnahmen vor Ausspähung des geheimen Datenwortes während des Entwicklungs-und Produktionsprozesses der als Sender und Empfänger eingesetzten Steuergeräte des CAN-Netzwerks.
In order to secure such a secret data word stored in the memory unit against spying, the following measures can be implemented:
  • Use of hardened crypto memories for the secret data word in the transmitters and receivers of the CAN network designed as controllers.
  • Use of secure crypto algorithms and crypto hardware, for example hardware security modules using the secret data word.
  • - Establishment of protective measures against spying of the secret data word during the development and production process of the control units used as transmitter and receiver of the CAN network.

Das geheime Datenwort kann auch nach einer vorgegebenen Anzahl von versendeten Datenprotokollen ausgetauscht werden, bspw. nach jeder versendeten Nachricht, d.h. jedes geheime Datenwort wird nur einmalig verwendet.The secret data word may also be exchanged after a predetermined number of sent data protocols, for example after every message sent, i. every secret data word is used only once.

Ein Austausch des geheimen Datenwortes kann auch dann vorgenommen werden, wenn ein kryptografisch abgesichertes Datenprotokoll vom Sender an den Empfänger oder umgekehrt vom Empfänger an den Sender übertragen wurde. Bei einem kryptografisch abgesicherten Datenprotokoll werden die Nutzdaten in dem Datenfeld nicht unverschlüsselt, sondern mittels eines Schlüssels vor der Übertragung an den Empfänger verschlüsselt.An exchange of the secret data word can also be made when a cryptographically secured data protocol has been transmitted from the sender to the receiver or vice versa from the receiver to the sender. In a cryptographically secured data protocol, the user data in the data field is not encrypted, but encrypted by means of a key before transmission to the recipient.

Ferner ist ein Austausch des geheimen Datenwortes nach einer vorgegebenen Folge von fehlerhaft von dem Empfänger empfangenen Prüfsummen durchführbar. In diesem Fall wird der Sender vom Empfänger über den Austausch des geheimen Datenwortes informiert. So kann bspw. bereits nach einem einzigen fehlerhaft übermittelten Datenprotokoll das geheime Datenwort ausgetauscht werden. Es ist auch möglich, nach einer vorgegebenen Anzahl von direkt aufeinanderfolgenden oder nicht direkt aufeinanderfolgenden fehlerhaft übermittelten Datenprotokollen das geheime Datenwort auszutauschen.Furthermore, an exchange of the secret data word according to a predetermined sequence of incorrectly received by the receiver checksums feasible. In this case, the sender is informed by the receiver about the exchange of the secret data word. So, for example, can already after a single erroneously transmitted data protocol the secret data word are exchanged. It is also possible, after a predetermined number of directly consecutive or not directly consecutive incorrectly transmitted data protocols to exchange the secret data word.

Zudem kann das CAN-Netzwerk so eingerichtet werden, dass nach einer vorgegebenen Folge von fehlerhaft von dem Empfänger empfangenen CRC-Prüfsummen dieser Empfänger in einen Notbetrieb übergeht, in welchem keine Datenprotokolle von dem Empfänger akzeptiert werden. So kann bspw. bereits nach einem einzigen fehlerhaft übermittelten Datenprotokoll der Empfänger in den Notbetrieb übergehen. Es ist auch möglich, dass nach einer vorgegebenen Anzahl von direkt aufeinanderfolgenden oder nicht direkt aufeinanderfolgenden fehlerhaft übermittelten Datenprotokollen der Empfänger in den Notbetrieb übergeht.In addition, the CAN network can be set up so that after a predetermined sequence of CRC checksums erroneously received by the receiver, this receiver transitions to an emergency mode in which no data protocols are accepted by the receiver. Thus, for example, the receiver can switch to emergency operation already after a single incorrectly transmitted data protocol. It is also possible that, after a predetermined number of directly successive or not directly consecutive incorrectly transmitted data protocols, the receiver switches to emergency mode.

Die Abfolge der zu verwendenden geheimen Datenworte kann bereits vorab softwaremäßig in dem Sender und dem Empfänger festgelegt werden. Es ist auch möglich, dass die Abfolge der zum Austausch bereitgestellten geheimen Datenworte aus dem Inhalt der übertragenen Datenworte des Datenfeldes berechnet wird.The sequence of the secret data words to be used can already be determined beforehand by software in the sender and the receiver. It is also possible that the sequence of the secret data words provided for exchange is calculated from the content of the transmitted data words of the data field.

ZITATE ENTHALTEN IN DER BESCHREIBUNG QUOTES INCLUDE IN THE DESCRIPTION

Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.This list of the documents listed by the applicant has been generated automatically and is included solely for the better information of the reader. The list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions.

Zitierte PatentliteraturCited patent literature

  • DE 102012210327 A1 [0010, 0011, 0012, 0013, 0014]DE 102012210327 A1 [0010, 0011, 0012, 0013, 0014]
  • DE 102010033229 A1 [0015, 0016]DE 102010033229 A1 [0015, 0016]
  • DE 102008046563 A1 [0017, 0019]DE 102008046563 A1 [0017, 0019]
  • US 2002/0174332 A1 [0020, 0021]US 2002/0174332 A1 [0020, 0021]

Claims (10)

Verfahren zur Absicherung der Datenübertragung in einem Datenbus, über den Datenprotokolle von mindestens einem Sender an wenigstens einen Empfänger übermittelt werden, wobei die Datenprotokolle zur Übermittlung von physikalisch übertragbaren Nutzdaten und einer CRC-Prüfsumme ein Datenfeld mit vorgegebener Länge enthalten, dadurch gekennzeichnet, dass - wenigstens ein geheimes Datenwort in dem Sender und dem Empfänger bereitgestellt wird, und - die CRC-Prüfsumme aus den zu übertragenden Nutzdaten und dem geheimen Datenwort berechnet wird.Method for securing the data transmission in a data bus, are transmitted over the data protocols of at least one transmitter to at least one receiver, wherein the data protocols for the transmission of physically transferable user data and a CRC checksum contain a data field with a predetermined length, characterized in that - at least a secret data word is provided in the transmitter and the receiver, and - the CRC checksum is calculated from the payload data to be transmitted and the secret data word. Verfahren nach Anspruch 1, bei welchem das geheime Datenwort mit einer Länge bereitgestellt wird, die größer ist als die Länge der CRC-Prüfsumme.Method according to Claim 1 in which the secret data word is provided with a length greater than the length of the CRC checksum. Verfahren nach Anspruch 1 oder 2, bei welchem das wenigstens eine geheime Datenwort mittels eines kryptographischen Verfahrens in Speichereinheiten des Senders und des Empfängers gespeichert wird.Method according to Claim 1 or 2 in which the at least one secret data word is stored in memory units of the sender and the receiver by means of a cryptographic method. Verfahren nach einem der vorhergehenden Ansprüche, bei welchem das geheime Datenwort nach einer vorgegebenen Anzahl von versendeten Datenprotokollen gegen ein anderes geheimes Datenwort ausgetauscht wird.Method according to one of the preceding claims, in which the secret data word is exchanged for another secret data word after a predetermined number of transmitted data protocols. Verfahren nach einem der vorhergehenden Ansprüche, bei welchem nach einer Übertragung eines kryptographischen abgesicherten Datenprotokolls vom Sender an den Empfänger das geheime Datenwort ausgetauscht wird.Method according to one of the preceding claims, wherein after a transmission of a cryptographically secure data protocol from the sender to the receiver, the secret data word is exchanged. Verfahren nach einem der vorhergehenden Ansprüche, bei welchem nach einer Übertragung eines kryptographischen abgesicherten Datenprotokolls vom Empfänger an den Sender das geheime Datenwort ausgetauscht wird.Method according to one of the preceding claims, wherein after a transmission of a cryptographically secure data protocol from the receiver to the transmitter, the secret data word is exchanged. Verfahren nach einem der vorhergehenden Ansprüche, bei welchem nach einer vorgegebenen Folge von fehlerhaft von dem Empfänger empfangenen Prüfsummen das geheime Datenwort ausgetauscht wird und dem Sender vom Empfänger der Austausch des geheimen Datenwortes mitgeteilt wird.Method according to one of the preceding claims, in which, after a predetermined sequence of checksums erroneously received by the receiver, the secret data word is exchanged and the transmitter is notified by the receiver of the exchange of the secret data word. Verfahren nach einem der vorhergehenden Ansprüche, bei welchem nach einer vorgegebenen Folge von fehlerhaft von dem Empfänger empfangenen Prüfsummen dieser Empfänger in einen Notbetrieb übergeht, in welchem keine Datenprotokolle von dem Empfänger akzeptiert werden.Method according to one of the preceding claims, in which, after a predetermined sequence of checksums erroneously received by the receiver, this receiver transitions into an emergency operation in which no data protocols are accepted by the receiver. Verfahren nach einem der vorhergehenden Ansprüche, bei welchem die Abfolge der zum Austausch bereitgestellten geheimen Datenworte vorab festgelegt und in dem Sender und dem Empfänger gespeichert wird.Method according to one of the preceding claims, in which the sequence of secret data words provided for exchange is predetermined and stored in the sender and the receiver. Verfahren nach einem der vorhergehenden Ansprüche, bei welchem der Datenbus als CAN-Bus realisiert wird.Method according to one of the preceding claims, in which the data bus is realized as a CAN bus.
DE102016222599.5A 2016-11-16 2016-11-16 Method for securing data transmission in a data bus Withdrawn DE102016222599A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102016222599.5A DE102016222599A1 (en) 2016-11-16 2016-11-16 Method for securing data transmission in a data bus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102016222599.5A DE102016222599A1 (en) 2016-11-16 2016-11-16 Method for securing data transmission in a data bus

Publications (1)

Publication Number Publication Date
DE102016222599A1 true DE102016222599A1 (en) 2018-05-17

Family

ID=62026274

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102016222599.5A Withdrawn DE102016222599A1 (en) 2016-11-16 2016-11-16 Method for securing data transmission in a data bus

Country Status (1)

Country Link
DE (1) DE102016222599A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112817805A (en) * 2021-01-22 2021-05-18 中汽创智科技有限公司 Memory data security verification system and method based on self-adaptive platform automobile open system architecture

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020174332A1 (en) 2000-11-08 2002-11-21 Nokia Corporation Adaptive message authentication code
US7457410B2 (en) * 2003-05-07 2008-11-25 Panasonic Corporation Transmission/reception system
DE102008046563A1 (en) 2008-09-10 2010-03-11 Siemens Aktiengesellschaft Method for data transmission between network nodes
DE102010033229A1 (en) 2010-08-03 2012-02-09 Siemens Aktiengesellschaft Method and system for tamper-proof transmission of control data
DE102012210327A1 (en) 2012-06-19 2013-12-19 Bayerische Motoren Werke Aktiengesellschaft Method for transferring e.g. motor rotation speeds in communication system of motor car, involves containing signature in useful information field of signature-messages, where field includes size preset according to preset specification

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020174332A1 (en) 2000-11-08 2002-11-21 Nokia Corporation Adaptive message authentication code
US7457410B2 (en) * 2003-05-07 2008-11-25 Panasonic Corporation Transmission/reception system
DE102008046563A1 (en) 2008-09-10 2010-03-11 Siemens Aktiengesellschaft Method for data transmission between network nodes
DE102010033229A1 (en) 2010-08-03 2012-02-09 Siemens Aktiengesellschaft Method and system for tamper-proof transmission of control data
DE102012210327A1 (en) 2012-06-19 2013-12-19 Bayerische Motoren Werke Aktiengesellschaft Method for transferring e.g. motor rotation speeds in communication system of motor car, involves containing signature in useful information field of signature-messages, where field includes size preset according to preset specification

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112817805A (en) * 2021-01-22 2021-05-18 中汽创智科技有限公司 Memory data security verification system and method based on self-adaptive platform automobile open system architecture

Similar Documents

Publication Publication Date Title
DE102010042539B4 (en) Data senders with a secure but efficient signature
DE102013206185A1 (en) Method for detecting a manipulation of a sensor and / or sensor data of the sensor
EP1622320B1 (en) A telecommunication method for at least two system components of a motor vehicle
WO2018068965A1 (en) Provision of secure communication in a communications network capable of operating in real time
EP2454864B1 (en) Prevention of masquerade by using identification sequences
DE102009000869A1 (en) Method and device for tamper-proof transmission of data
EP2260609A1 (en) Method and device for transmitting messages in real time
EP2192487A1 (en) Information transmission and integrated protection method
DE102010040688A1 (en) Method and device for authenticating multicast messages
DE102013218212A1 (en) Method for secure transmission of data
DE102014007820B4 (en) Data frame for protected data transmissions
WO2016034349A1 (en) Method for serially transmitting a frame from a transmitter to at least one receiver by means of a bus system, and a subscriber station for a bus system
DE102015202935A1 (en) Method for manipulation protection
WO2019129417A1 (en) Method and system for checking the integrity of a communication
DE102019204608B3 (en) Devices and methods for generating and authenticating at least one data packet to be transmitted in a bus system (BU) of a motor vehicle
DE102020212451A1 (en) Method of digitally signing a message
DE102012210327A1 (en) Method for transferring e.g. motor rotation speeds in communication system of motor car, involves containing signature in useful information field of signature-messages, where field includes size preset according to preset specification
EP1455311A2 (en) Method for secure exchange of data
DE102016222599A1 (en) Method for securing data transmission in a data bus
EP2829011A1 (en) Method and device for generating cryptographically protected redundant data packets
DE102011081036A1 (en) Method for sending messages with integrity protection
EP3556071B1 (en) Method, device, and computer-readable storage medium comprising instructions for signing measurement values of a sensor
DE102014001270A1 (en) Method and system for calculating codewords for protected data transmissions
EP2839601B1 (en) Field bus data transmission
DE102013108006B4 (en) communication system

Legal Events

Date Code Title Description
R163 Identified publications notified
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee