DE102022124552A1 - Method for secure communication between a transmitter and a receiver in a motor vehicle and communication system - Google Patents

Method for secure communication between a transmitter and a receiver in a motor vehicle and communication system Download PDF

Info

Publication number
DE102022124552A1
DE102022124552A1 DE102022124552.7A DE102022124552A DE102022124552A1 DE 102022124552 A1 DE102022124552 A1 DE 102022124552A1 DE 102022124552 A DE102022124552 A DE 102022124552A DE 102022124552 A1 DE102022124552 A1 DE 102022124552A1
Authority
DE
Germany
Prior art keywords
receiver
message
key
transmitter
communication
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
DE102022124552.7A
Other languages
German (de)
Inventor
Sven Porkert
Matthias Goldschmitt
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.)
Bayerische Motoren Werke AG
Original Assignee
Bayerische Motoren Werke 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 Bayerische Motoren Werke AG filed Critical Bayerische Motoren Werke AG
Priority to DE102022124552.7A priority Critical patent/DE102022124552A1/en
Publication of DE102022124552A1 publication Critical patent/DE102022124552A1/en
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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Small-Scale Networks (AREA)

Abstract

Die Erfindung betrifft ein Verfahren zur sicheren Kommunikation zwischen einem Sender (12) und einem Empfänger (14) in einem Kraftfahrzeug. Der Sender (12) übermittelt in einer Initialisierungsphase eine mit einem vertrauenswürdigen Schlüssel verschlüsselte Initialisierungsnachricht an den Empfänger (14), die einen temporären Schlüssel enthält. Der Empfänger (14) entschlüsselt die verschlüsselte Initialisierungsnachricht mit dem vertrauenswürdigen Schlüssel, um den temporären Schlüssel zu erhalten. Ferner ist ein Kommunikationssystem (10) für ein Kraftfahrzeug beschrieben.The invention relates to a method for secure communication between a transmitter (12) and a receiver (14) in a motor vehicle. In an initialization phase, the sender (12) transmits an initialization message encrypted with a trustworthy key to the receiver (14), which contains a temporary key. The receiver (14) decrypts the encrypted initialization message with the trusted key to obtain the temporary key. A communication system (10) for a motor vehicle is also described.

Description

Die Erfindung betrifft ein Verfahren zur sicheren Kommunikation zwischen einem Sender und einem Empfänger in einem Kraftfahrzeug. Ferner betrifft die Erfindung ein Kommunikationssystem für ein Kraftfahrzeug, das zumindest einen Sender und einen Empfänger umfasst.The invention relates to a method for secure communication between a transmitter and a receiver in a motor vehicle. The invention further relates to a communication system for a motor vehicle, which comprises at least one transmitter and one receiver.

In modernen Kraftfahrzeugen nimmt die Anzahl der Baugruppen stetig zu, die miteinander kommunizieren, um Informationen untereinander auszutauschen bzw. Steuerungsbefehle zu übermitteln. Aus Sicherheitsgründen ist dabei vorgesehen, dass die entsprechende Kommunikation der Baugruppen, also die Kommunikation von einem Sender zu einem Empfänger, abgesichert ist, wozu Verschlüsselungstechniken verwendet werden.In modern motor vehicles, the number of components that communicate with each other in order to exchange information or transmit control commands is constantly increasing. For security reasons, the corresponding communication between the components, i.e. the communication from a sender to a receiver, is secured, for which purpose encryption techniques are used.

Aus dem Stand der Technik sind hierzu Standards bekannt, beispielsweise die in Autosar standardisierte Secure Onboard Communication (SecOC), welche typischerweise zwischen Steuergeräten innerhalb eines Kraftfahrzeugs erfolgt. Hierbei wird beispielweise mittels eines Verschlüsselungsstandards, insbesondere dem Verschlüsselungsstandard „Advanced Encryption Standard (AES)“ ein Authentifizierungskennzeichen unter Verwendung eines hardwarebasierten Sicherheitsmoduls erzeugt, bei dem das hardwarebasierte Sicherheitsmodul die gesamte Kommunikation entsprechend absichert, was in Kombination hochfrequenter Kommunikation, insbesondere kleiner fünf Millisekunden, zu einer hohen Last des hardwarebasierten Sicherheitsmoduls führt.Standards for this are known from the prior art, for example Secure Onboard Communication (SecOC) standardized in Autosar, which typically takes place between control devices within a motor vehicle. Here, for example, by means of an encryption standard, in particular the “Advanced Encryption Standard (AES)” encryption standard, an authentication identifier is generated using a hardware-based security module, in which the hardware-based security module secures the entire communication accordingly, which in combination with high-frequency communication, in particular less than five milliseconds a high load on the hardware-based security module.

Insofern gibt es Probleme bei der Absicherung der Kommunikation, die mit schnellen Zyklenzeiten, insbesondere Zyklenzeiten kleiner fünf Millisekunden, zu erfolgen hat.In this respect, there are problems with securing communication, which has to be carried out with fast cycle times, especially cycle times of less than five milliseconds.

Um die Last des hardwarebasierten Sicherheitsmoduls zu reduzieren, ist es zudem aus dem Stand der Technik bekannt, die Nachrichten lediglich in Blöcken abzusichern, was jedoch zur Folge hat, dass die einzelnen Nachrichten innerhalb eines Blocks nicht abgesichert sind.In order to reduce the load on the hardware-based security module, it is also known from the prior art to only secure the messages in blocks, which, however, means that the individual messages within a block are not secured.

Die Aufgabe der Erfindung ist es, eine sichere Kommunikation in einem Kraftfahrzeug zu realisieren, die auch für eine Kommunikation mit schnellen Zyklenzeiten geeignet ist.The object of the invention is to realize a secure communication in a motor vehicle, which is also suitable for communication with fast cycle times.

Die Aufgabe wird erfindungsgemäß gelöst durch en Verfahren zur sicheren Kommunikation zwischen einem Sender und einem Empfänger in einem Kraftfahrzeug. Der Sender übermittelt in einer Initialisierungsphase eine mit einem vertrauenswürdigen Schlüssel verschlüsselte Initialisierungsnachricht an den Empfänger, die einen temporären Schlüssel enthält. Der Empfänger entschlüsselt die verschlüsselte Initialisierungsnachricht mit dem vertrauenswürdigen Schlüssel, um den temporären Schlüssel zu erhalten.The object is achieved according to the invention by a method for secure communication between a transmitter and a receiver in a motor vehicle. In an initialization phase, the sender transmits an initialization message encrypted with a trusted key to the recipient, which contains a temporary key. The recipient decrypts the encrypted initialization message with the trusted key to obtain the temporary key.

Der Grundgedanke der Erfindung ist es, dass für die spätere gesicherte Kommunikation zwischen dem Sender und dem Empfänger ein temporärer Schlüssel anstatt eines dauerhaften Schlüssels verwendet wird, wodurch eine hohe Sicherheit gegeben ist, da der Schlüssel lediglich temporär vorliegt. Der temporäre Schlüssel ist also ein nicht-persistenter Schlüssel, wohingegen es sich bei dem vertrauenswürdigen Schlüssel um einen persistenten Schlüssel handelt. Zudem kann die Last für ein hardwarebasiertes Sicherheitsmodul bei der gesicherten Kommunikation deutlich reduziert und auf eine Initialisierungsphase begrenzt werden, da die für die Kommunikation vorgesehene Absicherung basierend auf dem temporären Schlüssel erfolgt, sodass eine dauerhafte Einbindung des hardwarebasierten Sicherheitsmoduls für die zyklische Kommunikation nicht notwendig ist. Mit anderen Worten kann vermieden werden, dass das hardwarebasierte Sicherheitsmodul bei der hochfrequenten Kommunikation involviert ist.The basic idea of the invention is that a temporary key is used for the subsequent secure communication between the sender and the receiver instead of a permanent key, which ensures a high level of security because the key is only available temporarily. The temporary key is therefore a non-persistent key, whereas the trusted key is a persistent key. In addition, the load on a hardware-based security module during secure communication can be significantly reduced and limited to an initialization phase because the security provided for the communication is based on the temporary key, so that permanent integration of the hardware-based security module for cyclic communication is not necessary. In other words, the hardware-based security module can be avoided from being involved in high-frequency communication.

Ein Aspekt sieht vor, dass der Empfänger vor dem Empfang der verschlüsselten Initialisierungsnachricht einen Initialisierungsvektor erzeugt und an den Sender übergibt. Insbesondere ist der Initialisierungsvektor eindeutig für das entsprechende Sender-Empfänger-Paar. Zudem kann der Initialisierungsvektor durch den Sender für die Verschlüsselung der verschlüsselten Initialisierungsnachricht herangezogen werden, da der Initialisierungsvektor als Initialwert für die Verschlüsselung der verschlüsselten Initialisierungsnachricht dient. Insofern fordert der Empfänger vom Sender die verschlüsselte Initialisierungsnachricht an, indem der Empfänger den Initialisierungsvektor an den Sender übermittelt. Die Initialisierungsnachricht wird basierend auf dem Initialisierungsvektor verschlüsselt, was gewährleistet, dass die verschlüsselte Initialisierungsnachricht eindeutig für das Sender-Empfänger-Paar ist, da der Initialisierungsvektor eindeutig für den Empfänger und somit auch für das entsprechende Sender-Empfänger-Paar ist. Der Initialisierungsvektor dient grundsätzlich auch dazu, die Aktualität der Kommunikation sicherzustellen.One aspect provides that the receiver generates an initialization vector before receiving the encrypted initialization message and passes it on to the sender. In particular, the initialization vector is unique for the corresponding transmitter-receiver pair. In addition, the initialization vector can be used by the sender to encrypt the encrypted initialization message, since the initialization vector serves as an initial value for encrypting the encrypted initialization message. In this respect, the receiver requests the encrypted initialization message from the sender by sending the receiver the initialization vector to the sender. The initialization message is encrypted based on the initialization vector, which ensures that the encrypted initialization message is unique for the sender-receiver pair because the initialization vector is unique for the receiver and therefore also for the corresponding sender-receiver pair. The initialization vector basically also serves to ensure that the communication is up to date.

Der temporäre Schlüssel kann auf einer Zufallszahl basieren, insbesondere auf einer hardware-erzeugten Zufallszahl. Insbesondere wird die (hardware-erzeugte) Zufallszahl als temporärer Schlüssel verwendet. Dies gilt in analoger Weise für den Initialisierungsvektor, der ebenfalls auf einer Zufallszahl basieren kann, insbesondere auf einer hardware-erzeugten Zufallszahl. Die hardware-erzeugte Zufallszahl wird auch als „True Random Number“ (TRN) bezeichnet. Über die zufällig generierte Zufallszahl ist sichergestellt, dass es sich um einen temporären Schlüssel handelt, da die Zufallszahl für jede Session neu gebildet wird. Eine Session kann dabei über das Einschalten einer Zündung getriggert werden. Insofern wird jedes Mal, wenn die Zündung eingeschaltet wird, eine neue Zufallszahl generiert, basierend auf der der temporäre Schlüssel und/oder der Initialisierungsvektor generiert wird. Der temporäre Schlüssel wird seitens des Senders und der Initialisierungsvektor wird seitens des Empfängers generiert. Der Sender und der Empfänger generieren demnach jeweils eine Zufallszahl, die jedoch voneinander unterschiedlich ist, da es sich jeweils um Zufallszahlen handelt.The temporary key can be based on a random number, in particular on a hardware-generated random number. In particular, the (hardware-generated) random number is used as a temporary key. This applies in an analogous manner to the initialization vector, which can also be based on a random number, in particular on a hardware-generated random number. The hardware-generated random number is also called “True Random Number” (TRN). The randomly generated random number ensures that it is a temporary key, as the random number is generated anew for each session. A session can be triggered by switching on an ignition. In this respect, every time the ignition is switched on, a new random number is generated, based on which the temporary key and/or the initialization vector is generated. The temporary key is generated by the sender and the initialization vector is generated by the receiver. The sender and the receiver each generate a random number, which, however, is different from each other because they are both random numbers.

Ein weiterer Aspekt sieht vor, dass der Sender ein hardwarebasiertes Sicherheitsmodul aufweist, das eingerichtet ist, den vertrauenswürdigen Schlüssel bereitzustellen. Insbesondere wird basierend auf dem vertrauenswürdigen Schlüssel eine Zufallszahl verschlüsselt. Ferner kann der Empfänger ein hardwarebasiertes Sicherheitsmodul aufweisen, das eingerichtet ist, den vertrauenswürdigen Schlüssel bereitzustellen. Insbesondere basierend auf dem vertrauenswürdigen Schlüssel wird die verschlüsselte Initialisierungsnachricht seitens des Empfängers entschlüsselt, um die Zufallszahl zu erhalten, die später als temporärer Schlüssel dient und unter anderem mittels der verschlüsselten Initialisierungsnachricht vom Sender an den Empfänger übermittelt worden ist. Das jeweilige hardwarebasierte Sicherheitsmodul wird demnach lediglich in der Initialisierungsphase für die Kommunikation verwendet, um den vertrauenswürdigen Schlüssel bereitzustellen, der für die Verschlüsselung der Zufallszahl bzw. des temporären Schlüssels verwendet wird, insbesondere für die Verschlüsselung der verschlüsselten Initialisierungsnachricht.Another aspect provides that the sender has a hardware-based security module that is set up to provide the trusted key. Specifically, a random number is encrypted based on the trusted key. Furthermore, the recipient can have a hardware-based security module that is set up to provide the trusted key. In particular, based on the trusted key, the encrypted initialization message is decrypted by the recipient in order to obtain the random number, which later serves as a temporary key and has been transmitted from the sender to the recipient, among other things, by means of the encrypted initialization message. The respective hardware-based security module is therefore only used in the initialization phase for communication in order to provide the trustworthy key that is used for the encryption of the random number or the temporary key, in particular for the encryption of the encrypted initialization message.

Darüber hinaus kann sowohl der Sender als auch der Empfänger jeweils einen hardwarebasierten Zufallsgenerator aufweisen, mit dem die hardwarebasierte Zufallszahl bereitgestellt wird. Der hardwarebasierte Zufallsgenerator kann separat zum jeweiligen hardwarebasierten Sicherheitsmodul ausgebildet sein oder als Teil des jeweiligen hardwarebasierten Sicherheitsmoduls.In addition, both the transmitter and the receiver can each have a hardware-based random generator with which the hardware-based random number is provided. The hardware-based random generator can be designed separately from the respective hardware-based security module or as part of the respective hardware-based security module.

Grundsätzlich kann der Initialisierungsvektor, der basierend auf der empfängerseitig bereitgestellten Zufallszahl durch den Empfänger erzeugt wird, unverschlüsselt an den Sender übersandt werden.In principle, the initialization vector, which is generated by the receiver based on the random number provided at the receiver, can be sent to the sender unencrypted.

Der Sender empfängt den Initialisierungsvektor und verschlüsselt basierend auf dem Initialisierungsvektor und dem vertrauenswürdigen Schlüssel die senderseitig bereitgestellte Zufallszahl, die später als temporärer Schlüssel dient, um die verschlüsselte Initialisierungsnachricht zu erhalten. Die verschlüsselte Initialisierungsnachricht wird vom Sender an den Empfänger übersandt, der diese entschlüsseln kann, da der Empfänger ebenfalls Zugriff auf den vertrauenswürdigen Schlüssel (und den zuvor erzeugten Initialisierungsvektor) hat.The sender receives the initialization vector and, based on the initialization vector and the trusted key, encrypts the random number provided by the sender, which later serves as a temporary key to receive the encrypted initialization message. The encrypted initialization message is sent from the sender to the recipient, who can decrypt it because the recipient also has access to the trusted key (and the previously generated initialization vector).

Bei dem vertrauenswürdigen Schlüssel handelt es sich demnach um einen persistent gespeicherten symmetrischen Schlüssel, welcher unter Verwendung geeigneter PKI (Public Key Infrastruktur) von einer vertrauenswürdigen Stelle auf sicherem Wege in das Steuergerät übermittelt wurde. Mit anderen Worten ist der vertrauenswürdige Schlüssel ein authentischer, persistenter Schlüssel, der unter Verwendung einer Infrastruktur für öffentliche Schlüssel („Public-Key Infrastructure“ - PKI) an das Kraftfahrzeug bereitgestellt wird.The trustworthy key is therefore a persistently stored symmetrical key, which was transmitted securely to the control unit from a trustworthy location using a suitable PKI (Public Key Infrastructure). In other words, the trusted key is an authentic, persistent key that is provided to the motor vehicle using a public-key infrastructure (PKI).

Bei dem temporären Schlüssel, der zwischen Sender und Empfänger ausgetauscht worden ist, handelt es sich insbesondere dann auch um einen vertrauenswürdigen Schlüssel, insbesondere vertrauenswürdigen symmetrischen Schlüssel. Der Schlüssel wird vertrauenswürdig durch die Art des Austausches. Mit anderen Worten wird die Vertrauenswürdigkeit vom persisten Schlüssel vererbt.The temporary key that has been exchanged between the sender and receiver is in particular a trustworthy key, in particular a trustworthy symmetrical key. The key becomes trustworthy through the nature of the exchange. In other words, trustworthiness is inherited from the persistent key.

Ferner kann der Sender ein Authentifizierungskennzeichen („Message Authentication Code“ - MAC) erzeugen, das an den Empfänger übermittelt wird, der das Authentifizierungskennzeichen prüft. Insbesondere wird das Authentifizierungskennzeichen zusammen mit der verschlüsselten Initialisierungsnachricht übersandt. Zudem wird das Authentifizierungskennzeichen gemeinsam mit der Verschlüsselung der verschlüsselten Initialisierungsnachricht erzeugt, beispielsweise basierend auf dem vertrauenswürdigen Schlüssel und/oder dem Initialisierungsvektor. Bei dem Authentifizierungskennzeichen handelt es sich um einen Hash-Wert. Mittels des Authentifizierungskennzeichens kann der Empfänger sicherstellen, dass die verschlüsselte Nachricht empfängerseitig richtig entschlüsselt worden ist, wodurch eine sichere und zuverlässige Kommunikation gewährleistet werden kann, da eine Attacke ausgeschlossen werden kann. Der zuvor vom Empfänger an den Sender übermittelte Initialisierungsvektor kann einen Startpunkt für das Erstellen des Authentifizierungskennzeichens darstellen. Insofern ist das Authentifizierungskennzeichen basierend auf dem Initialisierungsvektor erstellt worden.Furthermore, the sender can generate an authentication code (“Message Authentication Code” - MAC), which is transmitted to the recipient, who checks the authentication code. In particular, the authentication identifier is sent together with the encrypted initialization message. In addition, the authentication identifier is generated together with the encryption of the encrypted initialization message, for example based on the trusted key and/or the initialization vector. The authentication identifier is a hash value. Using the authentication identifier, the recipient can ensure that the encrypted message has been correctly decrypted on the recipient side, which ensures secure and reliable communication because an attack can be ruled out. The initialization vector previously transmitted from the receiver to the sender can represent a starting point for creating the authentication label. In this respect, the authentication label has been created based on the initialization vector.

Der Empfänger, der die verschlüsselte Initialisierungsnachricht erhält und entschlüsselt, kann sich direkt und zu beliebiger Zeit aufschalten. Eine Bestätigung des Empfangs oder ähnliches wird daher nicht benötigt.The recipient who receives and decrypts the encrypted initialization message can connect directly and at any time. A confirmation of receipt or similar is therefore not required.

Ein weiterer Aspekt sieht vor, dass eine abgesicherte Kommunikation zwischen dem Sender und dem Empfänger gestartet wird, wenn der temporäre Schlüssel ausgetauscht worden ist, also die Initialisierungsphase abgeschlossen ist. Einzelne Nachrichten der abgesicherten Kommunikation sind, insbesondere mittels einer Absicherung basierend auf einer sicheren Hash Funktion aus der ARX-Algorithmenfamilie, abgesichert, bei der der temporäre Schlüssel genutzt wird. Die einzelnen Nachrichten können mit einem „Hash-based Message Authentication Code“ (HMAC) abgesichert sein, also einen „Message Authentication Code“ (MAC), was auch als Nachrichtenauthentifizierungscode bezeichnet wird, der den temporären Schlüssel in Verbindung mit einer Hash-Funktion nutzt. Anders ausgedrückt werden die einzelnen Nachrichten jeweils mit einem Hash-Wert abgesichert, der aus der Berechnung des Nachrichtenauthentifizierungscodes erhalten wird. Die Berechnung des Nachrichtenauthentifizierungscodes kann basierend auf dem temporären Schlüssel erfolgen, weswegen dieser für die Absicherung der einzelnen Nachrichten entsprechend genutzt wird.Another aspect provides for secure communication between the sender and the recipient when the temporary key has been exchanged, i.e. the initialization phase is complete. Individual messages of the secured communication are secured, in particular by means of security based on a secure hash function from the ARX algorithm family, in which the temporary key is used. The individual messages can be secured with a "hash-based message authentication code" (HMAC), i.e. a "message authentication code" (MAC), which is also referred to as a message authentication code, which uses the temporary key in conjunction with a hash function. In other words, the individual messages are each secured with a hash value that is obtained from the calculation of the message authentication code. The message authentication code can be calculated based on the temporary key, which is why this is used accordingly to secure the individual messages.

Die abgesicherte Kommunikation kann seitens des Senders gestartet werden, sobald der temporäre Schlüssel mittels Zufallszahl erzeugt wurde. Der wenigstens eine Empfänger, insbesondere alle jeweiligen Empfänger, kann die Korrektheit der Nachrichtenauthentifizierungscodes prüfen, nachdem die Initialisierungsphase abgeschlossen ist. Der temporäre Schlüssel, insbesondere die Zufallszahl, ist demnach vom Sender an den Empfänger, insbesondere alle Empfänger, bereits übermittelt worden.Secure communication can be started by the sender as soon as the temporary key has been generated using a random number. The at least one recipient, in particular all respective recipients, can check the correctness of the message authentication codes after the initialization phase has been completed. The temporary key, in particular the random number, has therefore already been transmitted from the sender to the recipient, in particular to all recipients.

Bei der ARX-basierten Absicherung handelt es sich grundsätzlich um die Anwendung von ARX-Hash-Algorithmen zur Berechnung des Nachrichtenauthentifizierungscodes, was außerhalb des hardwarebasierten Sicherheitsmoduls erfolgen kann. „ARX“ steht dabei für „Addition, Rotation, and XOR“, womit die Operationen bezeichnet werden, die bei der ARX-basierten Absicherung verwendet werden. Es kann sich bei der ARX-basierten Absicherung um „Chaskey“ handeln.ARX-based security is basically the application of ARX hash algorithms to calculate the message authentication code, which can be done outside of the hardware-based security module. “ARX” stands for “Addition, Rotation, and XOR”, which refers to the operations used in ARX-based protection. The ARX-based protection can be “Chaskey”.

Nachdem bei der ARX-basierten Absicherung der temporäre Schlüssel verwendet werden kann, ist wiederum sichergestellt, dass die Last für das hardwarebasierte Sicherheitsmodul reduziert wird, da das hardwarebasierte Sicherheitsmodul bei der Absicherung der einzelnen Nachrichten nicht (mehr) einbezogen wird, also während der zyklischen Phase („ComCyclic“). Hierdurch ist es möglich, eine abgesicherte Kommunikation mit schnellen Zyklenzeiten zwischen dem Sender und dem Empfänger zu gewährleisten, insbesondere Zyklenzeiten kleiner als fünf Millisekunden.Since the temporary key can be used in ARX-based security, it is in turn ensured that the load on the hardware-based security module is reduced, since the hardware-based security module is no longer (or no longer) involved in securing the individual messages, i.e. during the cyclic phase (“ComCyclic”). This makes it possible to ensure secure communication with fast cycle times between the transmitter and the receiver, in particular cycle times less than five milliseconds.

Ferner können der Sender und der Empfänger jeweils einen Prozessor aufweisen, wobei der jeweilige Prozessor eingerichtet ist, einen Nachrichtenauthentifizierungscode zu berechnen. Insofern erfolgt die Absicherung mittels des Prozessors, sodass das hardwarebasierte Sicherheitsmodul entsprechend entlastet wird.Furthermore, the sender and the receiver can each have a processor, with the respective processor being set up to calculate a message authentication code. In this respect, the protection is carried out by means of the processor, so that the hardware-based security module is relieved accordingly.

Der Nachrichtenauthentifizierungscode („Message Authentication Code“ - MAC) wird mit einem Algorithmus berechnet, der zwei Eingabeparameter erfordert, nämlich zu schützende Daten sowie einen geheimen Schlüssel, wobei der Algorithmus aus den beiden Eingabeparametern eine Prüfsumme berechnet, nämlich den Nachrichtenauthentifizierungscode.The message authentication code (MAC) is calculated using an algorithm that requires two input parameters, namely data to be protected and a secret key, whereby the algorithm calculates a checksum from the two input parameters, namely the message authentication code.

Bei dem geheimen Schlüssel handelt es sich vorliegend um den temporären Schlüssel.The secret key in this case is the temporary key.

Die zyklische Kommunikation wird also abgesichert, indem der MAC (Message Authentication Code) unter Verwendung des temporären Schlüssels mit Hash Algorithmen der ARX-Familie (Add Rotate Xor) außerhalb des hardwarebasierten Sicherheitsmoduls berechnet wird. Die zyklische Kommunikation kann demnach ohne Verwendung eines hardwarebasierten Sicherheitsmoduls effizient in Bezug auf Rechenlast abgesichert werden. Hierfür ist die Verwendung eines Schlüssels außerhalb des hardwarebasierten Sicherheitsmoduls und somit außerhalb des vertrauenswürdigen Speicherbereiches notwendig.The cyclic communication is secured by calculating the MAC (Message Authentication Code) using the temporary key with hash algorithms of the ARX family (Add Rotate Xor) outside the hardware-based security module. Cyclic communication can therefore be efficiently secured in terms of computing load without using a hardware-based security module. This requires the use of a key outside the hardware-based security module and therefore outside the trusted memory area.

Des Weiteren kann ein Nachrichtenzähler, der die Anzahl der abgesicherten Nachrichten innerhalb eines Blocks zählt, und/oder ein Blockzähler vorgesehen sein, der die Anzahl der Blöcke zählt. Insbesondere sind Informationen des Nachrichtenzählers in den abgesicherten Nachrichten enthalten. Mit dem Nachrichtenzähler ist sichergestellt, dass die Kommunikation gegen Replay-Attacken abgesichert ist. Des Weiteren können die Informationen des Nachrichtenzählers bzw. des Blockzählers für die Berechnung des Nachrichtenauthentifizierungscodes herangezogen werden.Furthermore, a message counter that counts the number of secured messages within a block and/or a block counter that counts the number of blocks can be provided. In particular, message counter information is included in the secured messages. The message counter ensures that communication is protected against replay attacks. Furthermore, the information from the message counter or the block counter can be used to calculate the message authentication code.

Ferner wird die Aufgabe erfindungsgemäß durch ein Kommunikationssystem für ein Kraftfahrzeug gelöst, das zumindest einen Sender oder einen Empfänger umfasst, wobei das Kommunikationssystem eingerichtet ist, das Verfahren der zuvor beschriebenen Art auszuführen. Die zuvor genannten Vorteile ergeben sich somit in analoger Weise für das Kommunikationssystem in ähnlicher Weise.Furthermore, the object is achieved according to the invention by a communication system for a motor vehicle which comprises at least one transmitter or a receiver, the communication system being set up to carry out the method of the type described above. The aforementioned advantages therefore arise in a similar manner for the communication system.

Grundsätzlich wird demnach der vertrauenswürdige Schlüssel, welcher von dem jeweiligen hardwarebasierten Sicherheitsmodul zur Verfügung gestellt wird, nur indirekt verwendet, um den temporären Schlüssel zwischen dem Sender und dem Empfänger auszutauschen, insbesondere mittels der verschlüsselten Initialisierungsnachricht in der Initialisierungsphase. Während der gesicherten Kommunikation, also der zyklischen Kommunikationsphase, ist ein Zugriff auf das hardwarebasierte Sicherheitsmodul jedoch nicht notwendig.Basically, the trusted key provided by the respective hardware-based security module is is only used indirectly to exchange the temporary key between the sender and the receiver, in particular by means of the encrypted initialization message in the initialization phase. However, during secure communication, i.e. the cyclic communication phase, access to the hardware-based security module is not necessary.

Mit anderen Worten wird zur endgültigen abgesicherten Kommunikation, also nach der Initialisierungsphase, eine sichere Hash Funktion aus der ARX-Algorithmenfamilie verwendet, bei der die Nachrichten basierend auf dem temporären Schlüssel abgesichert werden. Der temporäre Schlüssel ist, wie bereits erläutert, in der Initialisierungsphase mittels der verschlüsselten Initialisierungsnachricht, die basierend auf dem vertrauenswürdigen Schlüssel verschlüsselt worden ist, vom Sender an den Empfänger übergeben worden.In other words, for the final secured communication, i.e. after the initialization phase, a secure hash function from the ARX algorithm family is used, in which the messages are secured based on the temporary key. As already explained, the temporary key was passed from the sender to the recipient in the initialization phase by means of the encrypted initialization message, which was encrypted based on the trusted key.

Es ist also erfindungsgemäß möglich, die Rechenlast und Latenzanforderung an das hardwarebasierte Sicherheitsmodul (HSM) für eine abgesicherte Kommunikation mit schnellen Zyklenzeiten zu reduzieren, insbesondere Zyklenzeiten kleiner fünf Millisekunden. Die Berechnung des Hash-Werts bzw. des Nachrichtenauthentifizierungscodes, also der MAC (Message Authentication Code), erfolgt außerhalb des hardwarebasierten Sicherheitsmoduls (HSM) mit ARX-Algorithmen, welche für die Berechnung der Nachrichtenauthentifizierungscodes auf Prozessoren optimiert sind. Dabei wird der vertrauenswürdige Schlüssel, welcher im hardwarebasierten Sicherheitsmoduls (HSM) hinterlegt ist, indirekt verwendet, um den temporären geheimen Schlüssel zu übermitteln, sodass es sich um einen temporären geheimen gemeinsamen Schlüssel handelt. Als temporärer Schlüssel kann die Zufallszahl verwendet werden.According to the invention, it is therefore possible to reduce the computing load and latency requirement on the hardware-based security module (HSM) for secure communication with fast cycle times, in particular cycle times of less than five milliseconds. The calculation of the hash value or the message authentication code, i.e. the MAC (Message Authentication Code), takes place outside the hardware-based security module (HSM) using ARX algorithms, which are optimized for calculating the message authentication codes on processors. The trusted key, which is stored in the hardware-based security module (HSM), is used indirectly to transmit the temporary secret key, so that it is a temporary secret shared key. The random number can be used as a temporary key.

Die verschlüsselte Initialisierungsnachricht, die an den Empfänger übermittelt wird, kann also den temporären Schlüssel sowie Informationen vom Nachrichtenzähler und vom Blockzähler enthalten, insbesondere die jeweiligen Zählerstände.The encrypted initialization message that is transmitted to the recipient can therefore contain the temporary key as well as information from the message counter and the block counter, in particular the respective counter readings.

Der Empfänger kann demnach die verschlüsselte Initialisierungsnachricht mit dem vertrauenswürdigen Schlüssel entschlüsseln, um den temporären Schlüssel und die Informationen Zähler zu erhalten, also die jeweiligen Zählerstände.The recipient can therefore decrypt the encrypted initialization message with the trusted key in order to obtain the temporary key and the counter information, i.e. the respective counter readings.

Wie bereits beschrieben, handelt es sich bei dem vertrauenswürdigen Schlüssel um einen gemeinsamen Schlüssel. Folglich kann dieser auch als vertrauenswürdiger, gemeinsamer Schlüssel bezeichnet werden.As already described, the trusted key is a shared key. Consequently, this can also be referred to as a trustworthy, shared key.

Die abgesicherte Kommunikation wird gestartet, wenn der temporäre Schlüssel ausgetauscht und Informationen der Nachrichten- sowie Blockzähler synchronisiert worden sind, also deren Zählerstände. Die Synchronisation kann erfolgen, indem bei der nächsten empfangenen Nachricht geprüft wird, ob der Nachrichtenzähler, insbesondere dessen Zählerstand, kleiner dem aus der Initialisierungsnachricht ist. Wenn dies der Fall ist, so hat ein neuer Block begonnen, und der Blockzähler muss um eins inkrementiert werden. Es wurde somit ein Synchronisationsfenster für den Blockzähler in Größe des Nachrichtenzählers geschaffen.Secure communication is started when the temporary key has been exchanged and information from the message and block counters has been synchronized, i.e. their counter readings. The synchronization can be carried out by checking with the next message received whether the message counter, in particular its count, is less than that in the initialization message. If this is the case, a new block has begun and the block counter must be incremented by one. This created a synchronization window for the block counter the same size as the message counter.

Weitere Vorteile und Eigenschaften der Erfindung ergeben sich aus der nachfolgenden Beschreibung und der Zeichnung, auf die Bezug genommen wird. In den Zeichnungen zeigen:

  • - 1 eine schematische Darstellung eines erfindungsgemäßen Kommunikationssystems für ein Kraftfahrzeug,
  • - 2 eine Übersicht eines spezifischen Ausführungsbeispiels des erfindungsgemäßen Kommunikationssystems im Vergleich mit aus dem Stand der Technik bekannten Kommunikationssystemen, und
  • - 3 eine Übersicht, die das erfindungsgemäße Verfahren zur sicheren Kommunikation verdeutlicht, welches mit dem Kommunikationssystem gemäß 1 oder 2 ausgeführt werden kann.
Further advantages and features of the invention will become apparent from the following description and the drawings to which reference is made. In the drawings:
  • - 1 a schematic representation of a communication system according to the invention for a motor vehicle,
  • - 2 an overview of a specific embodiment of the communication system according to the invention in comparison with communication systems known from the prior art, and
  • - 3 an overview that illustrates the method according to the invention for secure communication, which can be used with the communication system according to 1 or 2 can be executed.

In 1 ist ein Kommunikationssystem 10 für ein Kraftfahrzeug gezeigt, das einen Sender 12 und einen Empfänger 14 umfasst, zwischen denen ein Kommunikationskanal 16 ausgebildet ist.In 1 a communication system 10 for a motor vehicle is shown, which includes a transmitter 12 and a receiver 14, between which a communication channel 16 is formed.

Der Kommunikationskanal 16 ist als ein bidirektionaler Kommunikationskanal ausgebildet, da Nachrichten vom Sender 12 an den Empfänger 14 gesandt werden können, aber auch der Empfänger 14 Nachrichten über den Kommunikationskanal 16 an den Sender 12 übermitteln kann.The communication channel 16 is designed as a bidirectional communication channel, since messages can be sent from the transmitter 12 to the receiver 14, but the receiver 14 can also transmit messages to the transmitter 12 via the communication channel 16.

Der Sender 12 weist in der gezeigten Ausführungsform ein hardwarebasiertes Sicherheitsmodul 18 auf, welches eingerichtet ist, einen vertrauenswürdigen Schlüssel bereitzustellen, der genutzt wird, um eine Kommunikation zwischen dem Sender 12 und dem Empfänger 14 herzustellen, wie nachfolgend noch erläutert wird.In the embodiment shown, the transmitter 12 has a hardware-based security module 18, which is set up to provide a trustworthy key that is used to establish communication between the transmitter 12 and the receiver 14, as will be explained below.

Der Empfänger 14 weist ebenfalls ein hardwarebasiertes Sicherheitsmodul 20 auf, das ebenfalls eingerichtet ist, den vertrauenswürdigen Schlüssel bereitzustellen, um eine vom Sender 12 verschlüsselte Nachricht zu entschlüsseln. Insofern weisen sowohl der Sender 12 als auch der Empfänger 14 jeweils ein hardwarebasiertes Sicherheitsmodul 18, 20 auf.The receiver 14 also has a hardware-based security module 20, which is also configured to provide the trusted key to decrypt a message encrypted by the sender 12. In this respect, both the sender 12 and the receiver ger 14 each has a hardware-based security module 18, 20.

Darüber hinaus weist der Sender 12 einen Prozessor 22 auf, der mit dem hardwarebasierten Sicherheitsmodul 18 ebenfalls in Kommunikationsverbindung steht. Hierbei handelt es sich um eine bidirektionale Verbindung, bei welcher Arbeitsaufträge durch den Prozessor 22 an das hardwarebasierte Sicherheitsmodul 18 übergeben und von diesem beantwortet werden. Insbesondere handelt es sich bei den Arbeitsaufträgen um Berechnungen zur Cyber Security wie Ver- und Entschlüsselung oder MAC-Berechnungen. Dabei ist sichergestellt, dass nur das hardwarebasierte Sicherheitsmodul 18 auf den vertrauenswürdigen Schlüssel zugreifen kann und keine Lesezugriffe seitens des Prozessors 22 in Bezug auf den vertrauenswürdigen Schlüssel bestehen.In addition, the transmitter 12 has a processor 22, which is also in communication connection with the hardware-based security module 18. This is a bidirectional connection in which work orders are transferred by the processor 22 to the hardware-based security module 18 and answered by it. In particular, the work orders involve cyber security calculations such as encryption and decryption or MAC calculations. This ensures that only the hardware-based security module 18 can access the trusted key and that there are no read accesses on the part of the processor 22 in relation to the trusted key.

Der Empfänger 14 weist ebenfalls einen Prozessor 24 auf, der mit dem hardwarebasierten Sicherheitsmodul 20 des Empfängers 14 in Kommunikationsverbindung steht, insbesondere auch ohne direkten Zugriff auf den vertrauenswürdigen Schlüssel.The receiver 14 also has a processor 24, which is in communication connection with the hardware-based security module 20 of the receiver 14, in particular without direct access to the trustworthy key.

Des Weiteren umfassen sowohl der Sender 12 als auch der Empfänger 14 jeweils einen Zufallszahlgenerator 26, 28, über den jeweils eine Zufallszahl generiert werden kann.Furthermore, both the transmitter 12 and the receiver 14 each include a random number generator 26, 28, via which a random number can be generated.

Die jeweilige Zufallszahl wird dabei vom entsprechenden Zufallszahlgenerator 26, 28 für eine Session generiert. Die Session kann dabei durch die Zündung des Kraftfahrzeugs getriggert werden, sodass der jeweilige Zufallszahlgenerator 26, 28 beim Neustarten des Motors des Kraftfahrzeugs eine neue Zufallszahl generieren. Die Zufallszahlgeneratoren 26, 28 können insbesondere im jeweiligen hardwarebasierten Sicherheitsmodul 18, 20 integriert sein.The respective random number is generated for a session by the corresponding random number generator 26, 28. The session can be triggered by the ignition of the motor vehicle, so that the respective random number generator 26, 28 generates a new random number when the engine of the motor vehicle is restarted. The random number generators 26, 28 can in particular be integrated in the respective hardware-based security module 18, 20.

Mittels des Zufallszahlgenerators 26 des Senders 12 wird ein temporärer Schlüssel erzeugt, wie nachfolgend noch in Bezug auf die 2 und 3 näher erläutert wird, der für die sichere Kommunikation zwischen dem Sender 12 und dem Empfänger 14 nach einer Initialisierungsphase verwendet wird.Using the random number generator 26 of the transmitter 12, a temporary key is generated, as described below in relation to 2 and 3 is explained in more detail, which is used for secure communication between the transmitter 12 and the receiver 14 after an initialization phase.

Darüber hinaus weist der Sender 12 noch einen Nachrichtenzähler 30 sowie einen Blockzähler 32 auf, die bspw. durch den Prozessor 22 bereitgestellt werden, wie nachfolgend anhand der 2 und 3 erläutert wird. Der Empfänger 14 weist ebenfalls einen Nachrichtenzähler sowie einen Blockzähler auf, auch wenn dies vorliegend nicht dargestellt ist.In addition, the transmitter 12 also has a message counter 30 and a block counter 32, which are provided, for example, by the processor 22, as described below with reference to 2 and 3 is explained. The receiver 14 also has a message counter and a block counter, although this is not shown here.

In 2 ist das Kommunikationssystem 10 anhand eines konkreten Ausführungsbeispiels gezeigt, bei dem der Sender 12 als Teil einer integrierten Plattform (IP) ausgebildet ist. Der Empfänger 14 ist dagegen als Aktuator ausgebildet.In 2 the communication system 10 is shown using a specific exemplary embodiment in which the transmitter 12 is designed as part of an integrated platform (IP). The receiver 14, on the other hand, is designed as an actuator.

Ebenso sind in 2a und 2b zwei aus dem Stand der Technik bekannte Kommunikationssysteme dargestellt, aufgrund derer die in 2c dargestellte Erfindung deutlich wird. In 2a ist ein aus dem Stand der Technik bekanntes Kommunikationssystem gezeigt, bei dem jede Nachricht mittels des hardwarebasiertes Sicherheitsmoduls („HSM“) abgesichert wird, wohingegen in 2b ein aus dem Stand der Technik bekanntes Kommunikationssystem gezeigt ist, bei dem die einzelnen Nachrichten nicht abgesichert sind, aber mehrere Nachrichten blockweise.Likewise are in 2a and 2 B two communication systems known from the prior art are shown, on the basis of which the in 2c illustrated invention becomes clear. In 2a a communication system known from the prior art is shown, in which every message is secured using the hardware-based security module (“HSM”), whereas in 2 B a communication system known from the prior art is shown, in which the individual messages are not secured, but several messages are secured in blocks.

Wie bereits in Bezug auf 1 erläutert, weisen sowohl der Sender 12 als auch der Empfänger 14 jeweils zumindest einen Prozessor 22, 24 sowie ein hardwarebasiertes Sicherheitsmodul („HSM“) 18, 20 auf.As already mentioned in relation to 1 As explained, both the transmitter 12 and the receiver 14 each have at least one processor 22, 24 and a hardware-based security module (“HSM”) 18, 20.

Zudem ist zwischen dem Sender 12 und dem Empfänger 14 der Kommunikationskanal 16 ausgebildet, sodass der Sender 12 Nachrichten an den Empfänger 14 übermitteln kann. Wie in 2 ebenfalls dargestellt ist, ist jedoch auch möglich, dass der Empfänger 14 zumindest Informationen an den Sender 12 mittels des Kommunikationskanals 16 übermittelt.In addition, the communication channel 16 is formed between the transmitter 12 and the receiver 14 so that the transmitter 12 can transmit messages to the receiver 14. As in 2 is also shown, however, it is also possible that the receiver 14 transmits at least information to the transmitter 12 via the communication channel 16.

Die entsprechenden Nachrichten sind in 2 als „Reglerfunktion“ bezeichnet.The relevant news is in 2 referred to as the “controller function”.

Darüber hinaus sind in 2 die jeweiligen Lasten der hardwarebasierten Sicherheitsmodule 18, 20 und der Prozessoren 22, 24 dargestellt, insbesondere auch für die aus dem Stand der Technik bekannten Systeme.In addition, in 2 the respective loads of the hardware-based security modules 18, 20 and the processors 22, 24 are shown, in particular for the systems known from the prior art.

Hieraus wird deutlich, dass die Lasten erfindungsgemäß vom hardwarebasierten Sicherheitsmodul 18, 20 in Richtung des jeweiligen Prozessors 22, 24 verlagert worden sind, da zumindest die Berechnung für die abgesicherte Kommunikation, insbesondere die Berechnung eines Nachrichtenauthentifizierungscodes („Message authentication code“ - MAC), durch den jeweiligen Prozessor 22, 24 durchgeführt wird und nicht mehr durch die hardwarebasierten Sicherheitsmodule 18, 20.It is clear from this that, according to the invention, the loads have been shifted from the hardware-based security module 18, 20 towards the respective processor 22, 24, since at least the calculation for the secured communication, in particular the calculation of a message authentication code ("Message authentication code" - MAC), is carried out by the respective processor 22, 24 and no longer by the hardware-based security modules 18, 20.

Die hardwarebasierten Sicherheitsmodul 18, 20 werden erfindungsgemäß lediglich zu Beginn, nämlich während einer Initialisierungsphase, mit einer entsprechenden Aufgabe betreut, wie nachfolgend noch mit Bezug auf 3 erläutert wird, wodurch die Last für das jeweilige hardwarebasierte Sicherheitsmodul 18, 20 gegenüber dem aus der Stand der Technik bekannten Verfahren deutlich reduziert ist. Weiterhin dient somit der vertrauenswürdige Schlüssel zur Sicherstellung von Authentizität zwischen den Kommunikationspartnern, ohne dass dieser außerhalb des hardwarebasierten Sicherheitsmoduls bekannt sein muss.According to the invention, the hardware-based security modules 18, 20 are only supervised with a corresponding task at the beginning, namely during an initialization phase, as described below with reference to 3 is explained, whereby the load for the respective hardware-based security module 18, 20 is significantly compared to the method known from the prior art is reduced. Furthermore, the trustworthy key serves to ensure authenticity between the communication partners without it having to be known outside the hardware-based security module.

Dennoch ist sichergestellt, wie ein Vergleich der 2a und 2c zeigt, dass jede der Nachrichten einzeln abgesichert ist, obwohl die Last für die hardwarebasierten Sicherheitsmodule 18, 20 erfindungsgemäß sogar geringer ist als die Last bei der blockweisen Absicherung, wie ein Vergleich der 2b und 2c verdeutlicht.Nevertheless, it is ensured how a comparison of the 2a and 2c shows that each of the messages is individually secured, although the load for the hardware-based security modules 18, 20 according to the invention is even lower than the load for block-by-block protection, as a comparison of 2 B and 2c clarified.

In 3 ist dargestellt, wie die sichere Kommunikation zwischen dem Sender 12 und dem Empfänger 14 eingerichtet und durchgeführt wird.In 3 shows how secure communication between the transmitter 12 and the receiver 14 is set up and carried out.

In einer Startphase „ComStart“ wird vom Zufallszahlgenerator 26 des Senders 12 eine Zufallszahl generiert.In a starting phase “ComStart”, a random number is generated by the random number generator 26 of the transmitter 12.

Der Zufallszahlgenerator 26 kann im hardwarebasierten Sicherheitsmodul („HSM“) 18 des Senders 12 vorgesehen sein, was durch den Ausdruck „HSM_TrueRandomNumberGen()“ angegeben ist. Die Zufallszahl TRNX kann 128 Bit umfassen.The random number generator 26 may be provided in the hardware-based security module ("HSM") 18 of the transmitter 12, which is indicated by the expression "HSM_TrueRandomNumberGen()". The random number TRNX may comprise 128 bits.

In einer Initialisierungsphase „ComJoin“ erzeugt der Empfänger 14 zunächst einen Initialisierungsvektor („IV“), der 128 Bit umfassen kann. Der Initialisierungsvektor kann basierend auf der vom Zufallszahlgenerator 28 des Empfängers 14 bereitgestellten Zufallszahl erzeugt werden, was durch den Ausdruck „IV[128] = HSM_TrueRandomNumberGen()“ entsprechend in 3 angegeben ist. Auch der Zufallszahlgenerator 28 des Empfängers 14 kann im hardwarebasierten Sicherheitsmodul („HSM“) 20 des Empfängers 14 vorgesehen sein, wie aus dem obigen Ausdruck deutlich wird.In an initialization phase “ComJoin”, the receiver 14 first generates an initialization vector (“IV”), which can comprise 128 bits. The initialization vector can be generated based on the random number provided by the random number generator 28 of the receiver 14, which is indicated by the expression “IV[128] = HSM_TrueRandomNumberGen()”. 3 is specified. The random number generator 28 of the receiver 14 can also be provided in the hardware-based security module (“HSM”) 20 of the receiver 14, as is clear from the expression above.

Der Empfänger 14 übermittelt dem Initialisierungsvektor über den Kommunikationskanal 16 an den Sender 12 („ArxComJoin“), der den Initialisierungsvektor entsprechend empfängt.The receiver 14 transmits the initialization vector via the communication channel 16 to the transmitter 12 (“ArxComJoin”), which receives the initialization vector accordingly.

Der Sender 12 erzeugt während der Initialisierungsphase eine verschlüsselte Initialisierungsnachricht („CiphTxt“), die den temporären Schlüssel enthält, welcher auf der Zufallszahl („TRNX“) basiert, die der Zufallszahlgenerator 26 des Senders 12 erzeugt hat. Insbesondere entspricht der temporäre Schlüssel der Zufallszahl, die der Zufallszahlgenerator 26 des Senders 12 in der Anfangsphase „ComStart“ erzeugt hat.During the initialization phase, the sender 12 generates an encrypted initialization message (“CiphTxt”) that contains the temporary key, which is based on the random number (“TRNX”) that the random number generator 26 of the sender 12 generated. In particular, the temporary key corresponds to the random number that the random number generator 26 of the transmitter 12 generated in the initial “ComStart” phase.

Die verschlüsselte Initialisierungsnachricht („CiphTxt“) wird dabei mithilfe des vertrauenswürdigen Schlüssels erzeugt bzw. verschlüsselt, indem der Prozessor 22 des Senders 12 einen Verschlüsselungsauftrag an das hardwarebasierte Sicherheitsmodul („HSM“) 18 erhalten hat.The encrypted initialization message (“CiphTxt”) is generated or encrypted using the trustworthy key in that the processor 22 of the sender 12 has received an encryption job from the hardware-based security module (“HSM”) 18.

Grundsätzlich wird zumindest der temporäre Schlüssel, also die vom Zufallszahlgenerator 26 des Senders 12 erzeugte Zufallszahl, basierend auf dem vom Empfänger 14 empfangenen Initialisierungsvektor und dem vertrauenswürdigen Schlüssel verschlüsselt. Weiterhin werden der Nachrichtenzähler und der Blockzähler in der verschlüsselten Initialisierungsnachricht („CiphTxt“) vertraulich bereitgestellt, um ein synchronisiertes Einsteigen in eine laufende Kommunikation zu ermöglichen.Basically, at least the temporary key, i.e. the random number generated by the random number generator 26 of the sender 12, is encrypted based on the initialization vector received by the receiver 14 and the trusted key. Furthermore, the message counter and the block counter are provided confidentially in the encrypted initialization message ("CiphTxt") in order to enable synchronized entry into an ongoing communication.

Darüber hinaus erzeugt der Sender 12 ein Authentifizierungskennzeichen („AuthTag“), das zusammen mit der verschlüsselten Initialisierungsnachricht („CiphTxt“) an den Empfänger 14 übermittelt wird.In addition, the sender 12 generates an authentication tag (“AuthTag”), which is transmitted to the receiver 14 together with the encrypted initialization message (“CiphTxt”).

Das Authentifizierungskennzeichen („AuthTag“) wird basierend auf dem vertrauenswürdigen Schlüssel erzeugt.The authentication tag (“AuthTag”) is generated based on the trusted key.

Insofern werden die verschlüsselte Initialisierungsnachricht („CiphTxt“) und das Authentifizierungskennzeichen („AuthTag“) gemeinsam an den Empfänger 14 übermittelt („ArxComSecret“).In this respect, the encrypted initialization message (“CiphTxt”) and the authentication tag (“AuthTag”) are transmitted together to the recipient 14 (“ArxComSecret”).

Der Empfänger 14 empfängt die verschlüsselte Initialisierungsnachricht zusammen mit dem Authentifizierungskennzeichen, wobei der Empfänger 14 das Authentifizierungskennzeichen prüft, also mithilfe des vertrauenswürdigen Schlüssels abgleicht.The receiver 14 receives the encrypted initialization message together with the authentication identifier, whereby the receiver 14 checks the authentication identifier, i.e. compares it using the trustworthy key.

Zudem entschlüsselt der Empfänger 14 die verschlüsselte Initialisierungsnachricht mit dem vertrauenswürdigen Schlüssel (und basierend auf dem zuvor erzeugten Initialisierungsvektor), welcher über das hardwarebasierte Sicherheitsmodul 20 des Empfängers 14 bereitgestellt wird.In addition, the receiver 14 decrypts the encrypted initialization message with the trusted key (and based on the previously generated initialization vector), which is provided via the hardware-based security module 20 of the receiver 14.

Der Empfänger 14, welcher über den vertrauenswürdigen Schlüssel verfügt, kann somit den temporären Schlüssel sowie Nachrichtenzähler und Blockzähler aus der verschlüsselten Initialisierungsnachricht entschlüsseln, sodass der Empfänger 14 über die vom Sender 12 erzeugte Zufallszahl und die aktuellen Zäherlinhalte verfügt.The receiver 14, which has the trustworthy key, can thus decrypt the temporary key as well as the message counter and block counter from the encrypted initialization message, so that the receiver 14 has the random number generated by the sender 12 and the current counter contents.

Mithilfe des Authentifizierungskennzeichen („AuthTag“) kann der Empfänger 14 zudem überprüfen, ob die Entschlüsselung der verschlüsselten Initialisierungsnachricht erfolgreich war.Using the authentication tag (“AuthTag”), the recipient 14 can also check whether the decryption of the encrypted initialization message was successful.

Insofern ist der Empfänger 14 in der Lage, den temporären Schlüssel zu entschlüsseln und später zu verwenden. Durch die Werte von Nachrichtenzähler und Blockzähler ist der Empfänger 14 zudem in der Lage, diese mit dem Sender 12 zu synchronisieren.In this respect, the recipient 14 is able to decrypt the temporary key and use it later. Through the values of news counter and block counter, the receiver 14 is also able to synchronize them with the transmitter 12.

Die Initialisierungsphase „ComJoin“ ist abgeschlossen, sofern der Empfänger 14 den temporären Schlüssel sowie die Informationen des Nachrichtenzählers und Blockzählers erfolgreich aus der verschlüsselten Initialisierungsnachricht entschlüsseln konnte, sodass sich der Empfänger 14 aufschalten und eine abgesicherte Kommunikation, insbesondere eine zyklische Kommunikation, mit dem Sender 12 erfolgen kann („ComCyclic“).The initialization phase “ComJoin” is completed if the receiver 14 was able to successfully decrypt the temporary key as well as the information of the message counter and block counter from the encrypted initialization message, so that the receiver 14 connects and establishes secure communication, in particular cyclic communication, with the sender 12 can be done (“ComCyclic”).

In der Initialisierungsphase sind die hardwarebasierten Sicherheitsmodule („HSM“) 18, 20 demnach lediglich einmal zum Einsatz gekommen, wie auch aus 2c hervorgeht.In the initialization phase, the hardware-based security modules (“HSM”) 18, 20 were therefore only used once, as well 2c emerges.

In der abgesicherten Kommunikation werden die einzelnen Nachrichten mittels einer ARX-basierten Absicherung basierend auf Hash-Algorithmen aus der ARX Familie abgesichert, bei der der temporäre Schlüssel genutzt wird.In secured communication, the individual messages are secured using ARX-based protection based on hash algorithms from the ARX family, in which the temporary key is used.

Der ARX-basierte Algorithmus kann bspw. Chaskey sein.The ARX-based algorithm can be, for example, Chaskey.

Konkret wird die ARX-basierte Absicherung verwendet, um Nachrichtenauthentifizierungscodes („Message Authentication Code“ - MAC) basierend auf dem zuvor ausgetauschten temporären Schlüssel zu erzeugen, wobei die Nachrichtenauthentifizierungscodes zur Absicherung der einzelnen Nachrichten dienen. Bei den Nachrichtenauthentifizierungscodes handelt es sich insbesondere um Hash-Werte.Specifically, ARX-based security is used to generate message authentication codes (“MAC”) based on the previously exchanged temporary key, where the message authentication codes are used to secure individual messages. The message authentication codes are, in particular, hash values.

Die einzelnen Nachrichten werden also mittels des Nachrichtenauthentifizierungscodes („Message Authentication Code“ - MAC) abgesichert, welcher von dem entsprechenden Prozessor 22, 24 des Senders 12 bzw. des Empfängers 14 basierend auf dem ausgetauschten temporären Schlüssel berechnet wird, wie auch aus 2c hervorgeht.The individual messages are thus secured by means of the message authentication code (“Message Authentication Code” - MAC), which is calculated by the corresponding processor 22, 24 of the sender 12 or the receiver 14 based on the exchanged temporary key, as well as from 2c emerges.

Der Nachrichtenauthentifizierungscode wird dabei mit einem Algorithmus berechnet, der zwei Eingabeparameter erfordert, nämlich die zu schützenden Daten, also den Inhalt der zu übermittelnden Nachricht inklusive Informationen (Zählerwerte) vom Nachrichtenzähler und Blockzähler als Aktualität („Freshness“), sowie einen geheimen Schlüssel, welcher dem temporären Schlüssel entspricht. Der Algorithmus berechnet aus den beiden Parametern eine Prüfsumme („Hash-Wert“), nämlich den Nachrichtenauthentifizierungscode („MAC“ bzw. „HMAC“), welcher der jeweiligen Nachricht angehängt ist, um diese abzusichern.The message authentication code is calculated using an algorithm that requires two input parameters, namely the data to be protected, i.e. the content of the message to be transmitted including information (counter values) from the message counter and block counter as freshness, as well as a secret key, which corresponds to the temporary key. The algorithm calculates a checksum (“hash value”) from the two parameters, namely the message authentication code (“MAC” or “HMAC”), which is attached to the respective message in order to secure it.

Des Weiteren ist in 3 gezeigt, dass die einzelnen abgesicherten Nachrichten eine Zählerinformation („MsgCnt“ bzw. Nachrichtenzähler) enthalten. Hierbei kommt der Nachrichtenzähler 30 zum Einsatz, der die Nachrichten zählt, bspw. von 0 bis 255, um sicherzustellen, dass mehrere Nachrichten mit gleichem Inhalt sich dennoch voneinander unterscheiden.Furthermore, in 3 shown that the individual secured messages contain counter information (“MsgCnt” or message counter). The message counter 30 is used here, which counts the messages, for example from 0 to 255, to ensure that several messages with the same content still differ from one another.

Anschließend läuft der Nachrichtenzähler 30 über, sodass ein neuer Block gestartet wird, der wiederum vom Blockzähler 32 gezählt wird, um die Aktualität („Freshness“) der Kommunikation zu ermitteln.The message counter 30 then overflows, so that a new block is started, which in turn is counted by the block counter 32 to determine the freshness of the communication.

Der Blockzähler 32 wird bei jeder neuen Session mit 0 initialisiert, sodass dieser für jeden temporären Schlüssel von neuem beginnt. Ferner wird Blockzähler 32 um 1 inkrementiert, was bspw. bei einem Inkrement alle 256 ms und einer Blocklänge von 32bit dazu führt, dass der Blockzähler 32 erst nach 35 Jahren überläuft bei einer Kommunikation mit einer Zykluszeit von 1 ms.The block counter 32 is initialized with 0 for each new session, so that it starts anew for each temporary key. Furthermore, the block counter 32 is incremented by 1, which means that with an increment every 256 ms and a block length of 32 bits, for example, the block counter 32 only overflows after 35 years for communication with a cycle time of 1 ms.

Offensichtlich ist eine sichere Kommunikation zwischen dem Sender 12 und dem Empfänger 14 gewährleistet.Obviously, secure communication between the transmitter 12 and the receiver 14 is guaranteed.

Claims (10)

Verfahren zur sicheren Kommunikation zwischen einem Sender (12) und einem Empfänger (14) in einem Kraftfahrzeug, wobei der Sender (12) in einer Initialisierungsphase eine mit einem vertrauenswürdigen Schlüssel verschlüsselte Initialisierungsnachricht an den Empfänger (14) übermittelt, die einen temporären Schlüssel enthält, wobei der Empfänger (14) die verschlüsselte Initialisierungsnachricht mit dem vertrauenswürdigen Schlüssel entschlüsselt, um den temporären Schlüssel zu erhalten.Method for secure communication between a transmitter (12) and a receiver (14) in a motor vehicle, wherein the transmitter (12) transmits an initialization message encrypted with a trustworthy key to the receiver (14) in an initialization phase, which contains a temporary key, wherein the recipient (14) decrypts the encrypted initialization message with the trusted key to obtain the temporary key. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass der Empfänger (14) vor dem Empfang der verschlüsselten Initialisierungsnachricht einen Initialisierungsvektor erzeugt und an den Sender (12) übergibt.Procedure according to Claim 1 , characterized in that the receiver (14) generates an initialization vector before receiving the encrypted initialization message and passes it on to the transmitter (12). Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass der temporäre Schlüssel auf einer Zufallszahl basiert, insbesondere auf einer hardware-erzeugten Zufallszahl.Procedure according to Claim 1 or 2 , characterized in that the temporary key is based on a random number, in particular on a hardware-generated random number. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass der Sender (12) ein hardwarebasiertes Sicherheitsmodul (18) aufweist, das eingerichtet ist, den vertrauenswürdigen Schlüssel bereitzustellen, insbesondere wobei basierend auf dem vertrauenswürdigen Schlüssel eine Zufallszahl verschlüsselt wird.Method according to one of the preceding claims, characterized in that the transmitter (12) has a hardware-based security module (18) which is set up to provide the trusted key, in particular based on the A random number is encrypted using a trusted key. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass der Sender (12) ein Authentifizierungskennzeichen erzeugt, das an den Empfänger (14) übermittelt wird, der das Authentifizierungskennzeichen prüft, insbesondere wobei das Authentifizierungskennzeichen zusammen mit der verschlüsselten Initialisierungsnachricht übersandt wird.Method according to one of the preceding claims, characterized in that the transmitter (12) generates an authentication identifier which is transmitted to the receiver (14), which checks the authentication identifier, in particular wherein the authentication identifier is sent together with the encrypted initialization message. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass eine abgesicherte Kommunikation zwischen dem Sender (12) und dem Empfänger (14) gestartet wird, wenn der temporäre Schlüssel ausgetauscht worden ist, wobei einzelne Nachrichten der abgesicherten Kommunikation, insbesondere mittels einer Absicherung basierend auf einer sicheren Hash Funktion aus der ARX-Algorithmenfamilie, abgesichert sind, bei welcher der temporäre Schlüssel genutzt wird.Method according to one of the preceding claims, characterized in that a secured communication between the transmitter (12) and the receiver (14) is started when the temporary key has been exchanged, with individual messages of the secured communication, in particular by means of a security based on a secure hash function from the ARX algorithm family, in which the temporary key is used. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass der Sender (12) und der Empfänger (14) jeweils einen Prozessor (22, 24) aufweisen, wobei der jeweilige Prozessor (22, 24) eingerichtet ist, einen Nachrichtenauthentifizierungscode zu berechnen.Method according to one of the preceding claims, characterized in that the transmitter (12) and the receiver (14) each have a processor (22, 24), the respective processor (22, 24) being set up to calculate a message authentication code. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass ein Nachrichtenzähler (30), der die Anzahl der abgesicherten Nachrichten innerhalb eines Blocks zählt, insbesondere wobei Informationen des Nachrichtenzählers (30) in den abgesicherten Nachrichten enthalten sind und/oder in die Berechnung des Nachrichtenauthentifizierungscodes eingehen.Method according to one of the preceding claims, characterized in that a message counter (30) which counts the number of secured messages within a block, in particular wherein information from the message counter (30) is contained in the secured messages and/or in the calculation of the message authentication code enter. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass ein Blockzähler (32) vorgesehen ist, der die Anzahl der Blöcke zählt, insbesondere wobei Informationen des Blockzählers (32) in die Berechnung des Nachrichtenauthentifizierungscodes eingehen.Method according to one of the preceding claims, characterized in that a block counter (32) is provided which counts the number of blocks, in particular information from the block counter (32) being included in the calculation of the message authentication code. Kommunikationssystem (10) für ein Kraftfahrzeug, das zumindest einen Sender (12) und einen Empfänger (14) umfasst, wobei das Kommunikationssystem (10) eingerichtet ist, das Verfahren nach einem der vorhergehenden Ansprüche auszuführen.Communication system (10) for a motor vehicle, comprising at least one transmitter (12) and one receiver (14), wherein the communication system (10) is configured to carry out the method according to one of the preceding claims.
DE102022124552.7A 2022-09-23 2022-09-23 Method for secure communication between a transmitter and a receiver in a motor vehicle and communication system Pending DE102022124552A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102022124552.7A DE102022124552A1 (en) 2022-09-23 2022-09-23 Method for secure communication between a transmitter and a receiver in a motor vehicle and communication system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102022124552.7A DE102022124552A1 (en) 2022-09-23 2022-09-23 Method for secure communication between a transmitter and a receiver in a motor vehicle and communication system

Publications (1)

Publication Number Publication Date
DE102022124552A1 true DE102022124552A1 (en) 2024-03-28

Family

ID=90140063

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102022124552.7A Pending DE102022124552A1 (en) 2022-09-23 2022-09-23 Method for secure communication between a transmitter and a receiver in a motor vehicle and communication system

Country Status (1)

Country Link
DE (1) DE102022124552A1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140270163A1 (en) 2013-03-14 2014-09-18 Robert Bosch Gmbh System And Method For Counter Mode Encrypted Communication With Reduced Bandwidth
DE102020200726A1 (en) 2020-01-22 2021-07-22 Robert Bosch Gesellschaft mit beschränkter Haftung Method for exchanging cryptographic keys for quantum-secure communication between a server and a client

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140270163A1 (en) 2013-03-14 2014-09-18 Robert Bosch Gmbh System And Method For Counter Mode Encrypted Communication With Reduced Bandwidth
DE102020200726A1 (en) 2020-01-22 2021-07-22 Robert Bosch Gesellschaft mit beschränkter Haftung Method for exchanging cryptographic keys for quantum-secure communication between a server and a client

Similar Documents

Publication Publication Date Title
DE60314060T2 (en) Method and device for key management for secure data transmission
DE102013206185A1 (en) Method for detecting a manipulation of a sensor and / or sensor data of the sensor
DE102005018676B4 (en) Key management procedure for cryptographic modules
DE60119857T2 (en) Method and device for executing secure transactions
DE102018216915A1 (en) System and method for secure communications between controllers in a vehicle network
WO1997047109A1 (en) Process for cryptographic code management between a first computer unit and a second computer unit
EP2567501B1 (en) Method for cryptographic protection of an application
EP3443705B1 (en) Method and assembly for establishing a secure communication between a first network device (initiator) and a second network device (responder)
DE102004032057A1 (en) Method and device for generating a secret session key
EP3157192B1 (en) Method and system for asymmetric key derivision
DE102020003739A1 (en) Procedure for the distribution and negotiation of key material
DE102018202176A1 (en) Master-slave system for communication via a Bluetooth low-energy connection
EP3661113A1 (en) Method and device for the transmission of data in a publish-subscribe system
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
DE102019107932A1 (en) Digital certificate and procedure for the secure transmission of a public key
EP0948158A2 (en) Method for secure key distribution
EP0937845A1 (en) Releasing system as means of releasing functions
DE102018102608A1 (en) Method for user management of a field device
DE102022124552A1 (en) Method for secure communication between a transmitter and a receiver in a motor vehicle and communication system
DE102019109341B4 (en) Procedure for the secure exchange of encrypted messages
DE102016106602A1 (en) Method and device for establishing a secure communication between a first network device (initiator) and a second network device (responder)
DE102012205010A1 (en) Programming method, battery with an arrangement for carrying out the programming method and a motor vehicle with such a battery
DE102019216203A1 (en) Proof-of-work based on block encryption
EP3909217A1 (en) Method and system for information transmission
DE102021000645B3 (en) Procedure for checking cryptographic secrets for equality

Legal Events

Date Code Title Description
R163 Identified publications notified