DE102020214499A1 - Method for generating keys and replacing participants in a network - Google Patents

Method for generating keys and replacing participants in a network Download PDF

Info

Publication number
DE102020214499A1
DE102020214499A1 DE102020214499.0A DE102020214499A DE102020214499A1 DE 102020214499 A1 DE102020214499 A1 DE 102020214499A1 DE 102020214499 A DE102020214499 A DE 102020214499A DE 102020214499 A1 DE102020214499 A1 DE 102020214499A1
Authority
DE
Germany
Prior art keywords
key
participant
network
subscriber
main
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
DE102020214499.0A
Other languages
German (de)
Inventor
Bjoern KASPER
Thorsten SCHWEPP
Andreas SOENKENS
Jens Schmuelling
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.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
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 Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE102020214499.0A priority Critical patent/DE102020214499A1/en
Publication of DE102020214499A1 publication Critical patent/DE102020214499A1/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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

Die Erfindung betrifft ein Verfahren zum Erzeugen eines Nebenteilnehmerschlüssels (106) in einem Nebenteilnehmer eines Netzwerks (100), mit einem Empfangen eines Hauptschlüssels (102) des Netzwerks (100), einem Erzeugen des Nebenteilnehmerschlüssels (106) aus dem Hauptschlüssel (102) nach Maßgabe einer Nebenteilnehmerschlüsselerzeugungsvorschrift, und einem Speichern des Nebenteilnehmerschlüssels (106) in dem Nebenteilnehmer (120); sowie ein Verfahren zum Erzeugen eines Hauptschlüssels (102) in einem Hauptteilnehmer (110) mit einem Erzeugen eines Hauptschlüssels (102) nach Maßgabe einer Hauptschlüsselerzeugungsvorschrift; einem Senden des Hauptschlüssels (102) und eines Netzwerkidentifikators (103) an eine Schlüsselverwaltungsstelle (30), und einem Speichern des Hauptschlüssels (102) und des Netzwerkidentifikators (103) in dem Hauptteilnehmer (110). Die Erfindung betrifft auch Verfahren zum Ersetzen eines Haupt- oder Nebenteilnehmers.The invention relates to a method for generating a secondary subscriber key (106) in a secondary subscriber of a network (100), with receiving a main key (102) of the network (100), generating the secondary subscriber key (106) from the main key (102) as required a secondary subscriber key generation rule, and storing the secondary subscriber key (106) in the secondary subscriber (120); and a method for generating a master key (102) in a main subscriber (110) with generating a master key (102) in accordance with a master key generation rule; sending the master key (102) and a network identifier (103) to a key management agency (30), and storing the master key (102) and the network identifier (103) in the master subscriber (110). The invention also relates to methods for replacing a primary or secondary subscriber.

Description

Die vorliegende Erfindung betrifft, in einem Netzwerk, Verfahren zum Erzeugen eines Nebenteilnehmerschlüssels in einem Nebenteilnehmer, zum Erzeugen eines Hauptschlüssels in einem Hauptteilnehmer, zum Ersetzen eines Hauptteilnehmers durch einen Ersatzhauptteilnehmer und zum Ersetzen eines Nebenteilnehmers durch einen Ersatznebenteilnehmer, sowie eine Recheneinheit und ein Computerprogramm zu deren Durchführung.The present invention relates, in a network, to a method for generating a secondary user key in a secondary user, for generating a primary key in a primary user, for replacing a primary user with a substitute primary user and for replacing a secondary user with a substitute secondary user, as well as a computing unit and a computer program for their Execution.

Hintergrund der ErfindungBackground of the Invention

In Netzwerken mit einer Vielzahl von Netzwerkteilnehmern können kryptographische Verfahren und zugehörige kryptographische bzw. digitale Schlüssel eingesetzt werden, um beispielsweise eine Kommunikation zwischen Netzwerkteilnehmern abzusichern. Dabei kann beispielsweise eine Verschlüsselung und/oder Signierung von Botschaften, mit denen Daten übermittelt werden, vorgesehen sein.In networks with a large number of network participants, cryptographic methods and associated cryptographic or digital keys can be used in order to secure communication between network participants, for example. In this case, for example, encryption and/or signing of messages with which data are transmitted can be provided.

Es ist jedoch mit einem signifikanten Aufwand verbunden, die Netzwerkteilnehmer initial bei Inbetriebnahme oder zu einem späteren Zeitpunkt, wenn ein Austausch eines Teilnehmers notwendig sein sollte, auf sichere Weise mit solchen Schlüsseln auszurüsten. Auch die Verwaltung aller Schlüssel in einer netzwerk-externen Schlüsselverwaltungsstelle ist aufwendig und fehleranfällig.However, it is associated with a significant effort to equip the network subscribers with such keys in a secure manner initially when they are put into operation or at a later point in time when it should be necessary to replace a subscriber. The management of all keys in a network-external key management point is complex and error-prone.

Offenbarung der ErfindungDisclosure of Invention

Erfindungsgemäß werden Verfahren zum Erzeugen eines Nebenteilnehmerschlüssels in einem Nebenteilnehmer, zum Erzeugen eines Hauptschlüssels in einem Hauptteilnehmer, zum Ersetzen eines Hauptteilnehmers durch einen Ersatzhauptteilnehmer und zum Ersetzen eines Nebenteilnehmers durch einen Ersatznebenteilnehmer, in einem Netzwerk, sowie eine Recheneinheit und ein Computerprogramm zu deren Durchführung mit den Merkmalen der unabhängigen Patentansprüche vorgeschlagen. Vorteilhafte Ausgestaltungen sind Gegenstand der Unteransprüche sowie der nachfolgenden Beschreibung.According to the invention, a method for generating a secondary participant key in a secondary participant, for generating a main key in a main participant, for replacing a main participant with a substitute main participant and for replacing a secondary participant with a substitute secondary participant, in a network, as well as a computing unit and a computer program for their implementation with the Features of the independent claims proposed. Advantageous configurations are the subject of the dependent claims and the following description.

Im Rahmen der Erfindung werden insbesondere Methoden vorgestellt, mit denen sich Netzwerkteilnehmer eines Netzwerks, insbesondere eines abgeschlossenen Netzwerks wie z.B. in einem Fahrzeug, initial bei Inbetriebnahme (z.B. in einem Werk des Herstellers) oder zu einem späteren Zeitpunkt, z.B. wenn ein Austausch eines Teilnehmers notwendig sein sollte (z.B. in einer Werkstatt), auf sichere Weise mit Schlüsseln für kryptographische Zwecke auszurüsten lassen. Besonders vorteilhaft lässt sich die Erfindung dabei mit Netzwerkteilnehmern einsetzen, die einen Sicherheitsbaustein wie ein sog. „Hardware Security Module“ (Hardwaresicherheitsmodul, HSM) oder eine sog. „Secure Hardware Extension“ (sichere Hardwareerweiterung, SHE) aufweisen. Solche Sicherheitsbausteine lassen sich als abgeschlossener Sicherheitsbereich auf einem Mikrocontroller implementieren. Sie beinhalten meist einen Zufallszahlengenerator, einen separaten Speicherbereich zur sicheren Verwahrung von (kryptographischen) digitalen Schlüsseln sowie dedizierte Logik für die Verschlüsselung von Daten, z.B. nach dem AES-Standard mit 128 Bit Schlüssellänge. Ein solcher Sicherheitsbaustein lässt sich üblicherweise auch nach standardisierten Methoden mit digitalen Schlüsseln bestücken, vgl. z.B. „Specification of Secure Hardware Extensions“, AUTOSAR FO R19-11, 2019.In the context of the invention, methods are presented in particular with which network participants of a network, in particular a closed network such as in a vehicle, initially during commissioning (e.g. in a manufacturer's plant) or at a later point in time, e.g. if a participant has to be replaced should be (e.g. in a workshop) equipped with keys for cryptographic purposes in a secure manner. The invention can be used particularly advantageously with network participants that have a security component such as a so-called “hardware security module” (hardware security module, HSM) or a so-called “secure hardware extension” (secure hardware extension, SHE). Such security modules can be implemented as a closed security area on a microcontroller. They usually contain a random number generator, a separate storage area for the secure storage of (cryptographic) digital keys and dedicated logic for encrypting data, e.g. according to the AES standard with a key length of 128 bits. Such a security module can usually also be equipped with digital keys using standardized methods, see e.g. "Specification of Secure Hardware Extensions", AUTOSAR FO R19-11, 2019.

Ein Aspekt der Erfindung betrifft dabei die Erzeugung von Nebenteilnehmerschlüsseln durch Nebenteilnehmer des Netzwerks aus einem Hauptschlüssel des Netzwerks nach Maßgabe einer Nebenteilnehmerschlüsselerzeugungsvorschrift. Damit wird die Erzeugung einer Vielzahl von Nebenteilnehmerschlüsseln signifikant vereinfacht.One aspect of the invention relates to the generation of secondary subscriber keys by secondary subscribers in the network from a main key in the network in accordance with a secondary subscriber key generation rule. This significantly simplifies the generation of a large number of secondary subscriber keys.

Das Erzeugen des Hauptschlüssels in dem Hauptteilnehmer wiederum kann besonders einfach nach Maßgabe einer Hauptschlüsselerzeugungsvorschrift erfolgen. Dabei kann es sich besonders bevorzugt um ein Zufallszahlenverfahren handeln. Beispielsweise wird als Hauptschlüssel eine Zufallszahl einer vorbestimmten Größe erzeugt (z.B. 1024 Bit). Um die Verwaltung mehrerer Netzwerke durch eine (netzwerk-externe) Schlüsselverwaltungsstelle (z.B. ein „key management system“, KMS) zu ermöglichen, werden der Hauptschlüssel und ein Netzwerkidentifikator zum Zuordnen des Hauptschlüssels zu einem konkreten Netzwerk an die Schlüsselverwaltungsstelle gesandt und dort gespeichert. Somit kann eine Schlüsselverwaltungsstelle als Verwalter des Netzwerks vorgesehen sein, in welcher zu jedem verwalteten Netzwerk dessen Netzwerkidentifikator und Hauptschlüssel gespeichert sind. Als Netzwerkidentifikator kann bei einem Fahrzeug beispielsweise eine Fahrgestellnummer bzw. eine Fahrzeugidentifizierungsnummer (VIN, vehicle identifiaction number) verwendet werden.The generation of the main key in the main subscriber can in turn be carried out particularly easily in accordance with a main key generation rule. This can particularly preferably be a random number method. For example, a random number of a predetermined size (e.g. 1024 bits) is generated as the master key. In order to enable the management of multiple networks by a (network-external) key management body (e.g. a "key management system", KMS), the master key and a network identifier for assigning the master key to a specific network are sent to the key management body and stored there. A key management point can thus be provided as the manager of the network, in which the network identifier and master key of each managed network are stored. For example, a chassis number or a vehicle identification number (VIN, vehicle identification number) can be used as the network identifier for a vehicle.

Allgemein kann die Haupt- oder Nebenteilnehmerschlüsselerzeugungsvorschrift insbesondere eine Schlüsselableitungsfunktion bzw. „key derivation function“ (KDF) umfassen. Eine Schlüsselableitungsfunktion ist eine kryptographische Operation, die aus einem kryptographischen Schlüssel einen oder mehrere andere erzeugt.In general, the main or secondary subscriber key generation rule can in particular include a key derivation function (KDF). A key derivation function is a cryptographic operation that produces one or more other keys from one cryptographic key.

Um die Erzeugung von Nebenteilnehmerschlüsseln anzustoßen, wird der Hauptschlüssel zweckmäßigerweise an einen oder mehrere Nebenteilnehmer des Netzwerks versandt.In order to trigger the generation of secondary subscriber keys, the master key expediently sent to one or more secondary participants in the network.

Ist darüber hinaus der Hauptschlüssel des Netzwerks der (netzwerk-externen) Schlüsselverwaltungsstelle bekannt, müssen dort die Nebenteilnehmerschlüssel nicht bekannt sein, da sie jederzeit nach Maßgabe der Nebenteilnehmerschlüsselerzeugungsvorschrift neu erzeugt werden können. Damit wird der nötige Speicherplatz und Verwaltungsaufwand in der Schlüsselverwaltungsstelle drastisch reduziert.If, in addition, the main key of the network is known to the (network-external) key management point, the secondary subscriber keys do not have to be known there, since they can be generated again at any time in accordance with the secondary subscriber key generation rule. This drastically reduces the required storage space and administrative effort in the key management office.

Eine besonders hohe Sicherheit wird erreicht, wenn jeder Nebenteilnehmer nach der Erzeugung des oder der Nebenteilnehmerschlüssel den Hauptschlüssel löscht. Dann führt eine Kompromittierung des Nebenteilnehmers nicht zu einer Kompromittierung des ganzen Netzwerks bzw. aller Teilnehmer. Es ist insbesondere ausreichend, wenn der Hauptschlüssel nur in einem Hauptteilnehmer des Netzwerks gespeichert ist.A particularly high level of security is achieved if each secondary participant deletes the main key after the generation of the secondary participant key or keys. Then a compromise of the secondary subscriber does not lead to a compromise of the entire network or all subscribers. In particular, it is sufficient if the master key is only stored in one main participant of the network.

Ein weiterer Aspekt der Erfindung betrifft den Austausch bzw. Ersatz von Netzwerkteilnehmern (Haupt- und Nebenteilnehmern), z.B. bei einem Defekt.A further aspect of the invention relates to the exchange or replacement of network participants (main and secondary participants), e.g. in the event of a defect.

Ein Ersetzen eines Nebenteilnehmers durch einen Ersatznebenteilnehmer wird zweckmäßigerweise vom Hauptteilnehmer, in dem ein Hauptschlüssel des Netzwerks gespeichert ist, verwaltet. Insbesondere sendet der Hauptteilnehmer des Netzwerks einen geeigneten Datensatz an die Schlüsselverwaltungsstelle, wobei der Datensatz zumindest den Netzwerkidentifikator enthält. Darüber hinaus kann der Datensatz auch einen Vorgangsidentifikator enthalten, der insbesondere eine Identifizierung des Datensatzes erlaubt, wenn dieser später wieder vom Hauptteilnehmer empfangen wird. Bei dem Vorgangsidentifikator kann es sich in einfacher Ausgestaltung um eine vom Hauptteilnehmer erzeugt Zufallszahl handeln. Auch kann der Datensatz einen Nebenteilnehmer- und/oder Ersatznebenteilnehmeridentifikator enthalten, um insbesondere einen Missbrauch des Datensatzes zum Einbringen von fremden Teilnehmern in das Netzwerk zu verhindern. Ein solcher (Ersatz-)Nebenteilnehmeridentifikator kann recht allgemein ausgebildet sein und lediglich den Typ des (Ersatz-)Nebenteilnehmers charakterisieren, beispielsweise Motorsteuergerät, Batteriesteuergerät, usw. oder noch allgemeiner nur den Hersteller. Er kann jedoch auch sehr speziell sein und beispielsweise den (Ersatz-)Nebenteilnehmer konkret identifizieren, beispielsweise mittels einer Seriennummer o.ä.Replacing a secondary participant with a substitute secondary participant is expediently managed by the main participant, in which a master key of the network is stored. In particular, the main participant in the network sends an appropriate data record to the key management agency, the data record containing at least the network identifier. In addition, the data record can also contain a process identifier, which in particular allows the data record to be identified if it is later received again from the main participant. In a simple embodiment, the process identifier can be a random number generated by the main participant. The data record can also contain a secondary subscriber and/or substitute secondary subscriber identifier, in order in particular to prevent the data record from being misused to introduce foreign subscribers into the network. Such a (substitute) secondary subscriber identifier can be of quite general design and only characterize the type of (substitute) secondary subscriber, for example engine control unit, battery control unit, etc., or even more generally only the manufacturer. However, it can also be very specific and, for example, specifically identify the (substitute) secondary subscriber, for example by means of a serial number or the like.

Die Schlüsselverwaltungsstelle signiert den Datensatz mit einem privaten Schlüssel und sendet den signierten Datensatz an den Ersatznebenteilnehmer und optional auch an den Hauptteilnehmer zurück. Mit anderen Worten können der Datensatz und die Signatur direkt an den Hauptteilnehmer gesandt werden, oder über den Ersatznebenteilnehmer. Im zweiten Fall kann eine zweistufige Überprüfung stattfinden, so dass der Ersatznebenteilnehmer Datensatz und Signatur nur bei erfolgreicher Verifizierung an den Hauptteilnehmer weitersendet. The key management authority signs the data record with a private key and sends the signed data record back to the substitute secondary participant and optionally also to the main participant. In other words, the record and signature can be sent directly to the primary party, or via the backup secondary party. In the second case, a two-stage check can take place, so that the substitute secondary participant only sends the data record and signature to the main participant if the verification is successful.

Insbesondere wird bei erfolgreicher Verifizierung durch den Ersatznebenteilnehmer ein Empfangen des Hauptschlüssels durch den Ersatznebenteilnehmer ermöglicht, beispielsweise freigeschaltet o.ä.In particular, if the verification by the substitute secondary participant is successful, it is possible for the substitute secondary participant to receive the master key, for example activated or the like.

Die Schlüsselverwaltungsstelle kann dem Datensatz vor dem Signieren noch einen Zeitstempel hinzufügen, um so beispielsweise einen Gültigkeitszeitrahmen zu definieren und einen späteren Missbrauch des Datensatzes zu verhindern. Beispielsweise können die Teilnehmer so konfiguriert sein, dass die Signatur nur innerhalb eines vorbestimmten Zeitraums in Abhängigkeit vom Zeitstempel akzeptiert wird.The key management office can add a time stamp to the data record before signing it, for example to define a validity period and prevent subsequent misuse of the data record. For example, the participants can be configured in such a way that the signature is only accepted within a predetermined period of time depending on the timestamp.

Die Verifizierung kann neben der reinen Signaturverifizierung auch eine Verifizierung des Inhalts des Datensatzes umfassen, insbesondere also, ob der Datensatz auch für den konkreten Empfänger bestimmt ist. Hierfür können ein, mehrere oder alle Datensatzinhalte (insbesondere Netzwerkidentifikator, Vorgangsidentifikator, Nebenteilnehmeridentifikator, Zeitstempel) verwendet werden.In addition to pure signature verification, the verification can also include verification of the content of the data record, in particular whether the data record is also intended for the specific recipient. One, several or all data record contents (in particular network identifier, process identifier, secondary subscriber identifier, time stamp) can be used for this.

Nach erfolgreicher Verifizierung des Datensatzes sendet der Hauptteilnehmer den Hauptschlüssel an den Ersatznebenteilnehmer, der dann insbesondere nach oben beschriebener Lösung daraus einen oder mehrere Nebenteilnehmerschlüssel ableiten kann.After successful verification of the data set, the main participant sends the main key to the substitute secondary participant, who can then derive one or more secondary participant keys from it, in particular according to the solution described above.

Ein Ersetzen eines Hauptteilnehmers durch einen Ersatzhauptteilnehmer wird zweckmäßigerweise von einer externen Entität bzw. Recheneinheit, beispielsweise einem Gerät beim Hersteller oder in der Werkstatt verwaltet. Gemäß einer einfachen Variante kann dazu beispielsweise der Netzwerkidentifikator an die Schlüsselverwaltungsstelle gesendet werden, welche dann den zum Netzwerkidentifikator passenden Hauptschlüssel zurücksendet, welcher dann in dem Ersatzhauptteilnehmer gespeichert wird, insbesondere zusammen mit dem Netzwerkidentifikator. Ein so präparierter Ersatzhauptteilnehmer kann dann in das Netzwerk eingebracht werden. Damit kann ein Austausch sehr einfach erfolgen.Replacing a main subscriber with a replacement main subscriber is expediently managed by an external entity or processing unit, for example a device at the manufacturer or in the workshop. According to a simple variant, the network identifier can be sent to the key management center, for example, which then sends back the master key that matches the network identifier, which is then stored in the substitute main subscriber, in particular together with the network identifier. A substitute main subscriber prepared in this way can then be introduced into the network. This means that an exchange can be carried out very easily.

In einer Variante mit höherer Sicherheit, bei der insbesondere der Hauptschlüssel nicht in der Schlüsselverwaltungsstelle gespeichert ist bzw. sein muss, kann anstelle des Wiederverwendens des früheren Hauptschlüssels im Ersatzhauptteilnehmer dieser so eingerichtet sein, dass er einen neuen Hauptschlüssel erzeugt und diesen nach Einbringen in das Netzwerk an die Nebenteilnehmer sendet, damit diese dann neue Nebenteilnehmerschlüssel generieren können. Um die Erlaubnis zum Versenden eines neuen Hauptschlüssels nachzuweisen, kann der Ersatzhauptteilnehmer an die Nebenteilnehmer einen Datensatz enthaltend den Netzwerkidentifikator und eine Signatur, von der Schlüsselverwaltungsstelle, des Datensatzes senden. Diesen Datensatz mit Signatur hat er zweckmäßigerweise zuvor selbst erhalten und kann diesen ebenfalls als Erlaubnis zum Erzeugen eines Hauptschlüssels deuten.In a variant with higher security, in which the main key in particular is not stored in the key management office or must be, instead of reusing the previous master key in the replacement main subscriber, this can be set up so that it generates a new master key and sends it to the secondary subscribers after it has been introduced into the network, so that they can then generate new secondary subscriber keys. In order to prove permission to send a new master key, the substitute main participant can send a data record containing the network identifier and a signature, from the key management office, of the data record to the secondary participants. He has expediently received this data record with signature beforehand and can also interpret this as permission to generate a master key.

Auch hier kann der Datensatz einen Hauptteilnehmer- und/oder Ersatzhauptteilnehmeridentifikator enthalten, um insbesondere einen Missbrauch des Datensatzes zum Einbringen von fremden Hauptteilnehmern in das Netzwerk zu verhindern. Ein solcher (Ersatz-)Hauptteilnehmeridentifikator kann sehr speziell sein und beispielsweise den (Ersatz-)Hauptteilnehmer konkret identifizieren, beispielsweise mittels einer Seriennummer o.ä.Here, too, the data record can contain a main subscriber and/or substitute main subscriber identifier, in particular in order to prevent the data record from being misused to introduce foreign main subscribers into the network. Such a (substitute) main subscriber identifier can be very specific and, for example, specifically identify the (substitute) main subscriber, for example by means of a serial number or the like.

Die Schlüsselverwaltungsstelle kann auch hier dem Datensatz vor dem Signieren noch einen Zeitstempel hinzufügen, um so beispielsweise einen Gültigkeitszeitrahmen zu definieren und einen späteren Missbrauch des Datensatzes zu verhindern. Beispielsweise können die Teilnehmer so konfiguriert sein, dass die Signatur nur innerhalb eines vorbestimmten Zeitraums in Abhängigkeit vom Zeitstempel akzeptiert wird.Here, too, the key management office can add a time stamp to the data record before signing it, for example to define a validity period and prevent subsequent misuse of the data record. For example, the participants can be configured in such a way that the signature is only accepted within a predetermined period of time depending on the timestamp.

Die Verifizierung und der Erlaubnisnachweis können dann neben der reinen Signaturverifizierung auch eine Verifizierung des Inhalts des Datensatzes umfassen, insbesondere also, ob der Datensatz auch zu dem konkreten Ersatzhauptteilnehmer gehört. Hierfür können ein, mehrere oder alle Datensatzinhalte (insbesondere Netzwerkidentifikator, (Ersatz-)Hauptteilnehmeridentifikator, Zeitstempel) verwendet werden.The verification and the proof of permission can then, in addition to the pure verification of the signature, also include a verification of the content of the data record, in particular whether the data record also belongs to the specific substitute main participant. One, several or all data record contents (in particular network identifier, (substitute) main subscriber identifier, time stamp) can be used for this.

Um von der Schlüsselverwaltungsstelle signierte Datensätze verifizieren zu können, ist in dem entsprechenden Teilnehmer (Haupt-, Ersatzhaupt-, Neben-, Ersatznebenteilnehmer) zweckmäßigerweise ein dazu passender öffentlicher Schlüssel gespeichert. Dieser kann insbesondere unmittelbar nach der Herstellung gespeichert werden. Privater und öffentlicher Schlüssel bilden ein sogenanntes asymmetrischer Schlüsselpaar.In order to be able to verify data records signed by the key management office, a matching public key is expediently stored in the corresponding subscriber (main, substitute main, secondary, substitute secondary subscriber). In particular, this can be stored immediately after production. Private and public keys form what is known as an asymmetric key pair.

Die Sicherheit wird weiter erhöht, wenn eine Kommunikation zwischen Teilnehmern zum Austausch des Hauptschlüssels, insbesondere zwischen dem Hauptteilnehmer und einem (Ersatz-)Nebenteilnehmer oder der Schlüsselverwaltungsstelle, nur verschlüsselt stattfindet. Ein für diesen Zweck einzusetzender Sitzungsschlüssel kann mit bekannten Methoden ausgehandelt werden, beispielsweise gemäß dem Diffie-Hellmann-Protokoll.Security is further increased if communication between participants to exchange the master key, in particular between the main participant and a (substitute) secondary participant or the key management office, only takes place in encrypted form. A session key to be used for this purpose can be negotiated using known methods, for example according to the Diffie-Hellman protocol.

Eine erfindungsgemäße Recheneinheit, z.B. ein Steuergerät eines Kraftfahrzeugs, ist, insbesondere programmtechnisch, dazu eingerichtet, ein erfindungsgemäßes Verfahren durchzuführen.A computing unit according to the invention, e.g. a control unit of a motor vehicle, is set up, in particular in terms of programming, to carry out a method according to the invention.

Auch die Implementierung eines erfindungsgemäßen Verfahrens in Form eines Computerprogramms oder Computerprogrammprodukts mit Programmcode zur Durchführung aller Verfahrensschritte ist vorteilhaft, da dies besonders geringe Kosten verursacht, insbesondere wenn ein ausführendes Steuergerät noch für weitere Aufgaben genutzt wird und daher ohnehin vorhanden ist. Geeignete Datenträger zur Bereitstellung des Computerprogramms sind insbesondere magnetische, optische und elektrische Speicher, wie z.B. Festplatten, Flash-Speicher, EEPROMs, DVDs u.a.m. Auch ein Download eines Programms über Computernetze (Internet, Intranet usw.) ist möglich.The implementation of a method according to the invention in the form of a computer program or computer program product with program code for carrying out all method steps is advantageous because this causes particularly low costs, especially if an executing control device is also used for other tasks and is therefore available anyway. Suitable data carriers for providing the computer program are, in particular, magnetic, optical and electrical memories, such as hard drives, flash memories, EEPROMs, DVDs, etc. It is also possible to download a program via computer networks (Internet, intranet, etc.).

Weitere Vorteile und Ausgestaltungen der Erfindung ergeben sich aus der Beschreibung und der beiliegenden Zeichnung.Further advantages and refinements of the invention result from the description and the attached drawing.

Die Erfindung ist anhand von Ausführungsbeispielen in der Zeichnung schematisch dargestellt und wird im Folgenden unter Bezugnahme auf die Zeichnung beschrieben.The invention is shown schematically in the drawing using exemplary embodiments and is described below with reference to the drawing.

Figurenlistecharacter list

  • 1 zeigt eine Recheneinheit, die zur Durchführung einer bevorzugten Ausführungsform der Erfindung verwendet werden kann. 1 Figure 12 shows a computing unit that can be used to implement a preferred embodiment of the invention.
  • 2 zeigt schematisch ein initiales Erzeugen von Schlüsseln in einem Netzwerk aufweisend einen Hauptteilnehmer und mehrere Nebenteilnehmer. 2 shows schematically an initial generation of keys in a network having a main participant and several secondary participants.
  • 3 zeigt schematisch ein Ersetzen eines Nebenteilnehmers durch einen Ersatznebenteilnehmer. 3 shows schematically a replacement of a secondary participant by a substitute secondary participant.
  • 4a zeigt schematisch ein Ersetzen eines Hauptteilnehmers durch einen Ersatzhauptteilnehmer gemäß einer ersten Ausführungsform. 4a shows schematically a replacement of a main participant by a substitute main participant according to a first embodiment.
  • 4b zeigt schematisch ein Ersetzen eines Hauptteilnehmers durch einen Ersatzhauptteilnehmer gemäß einer zweiten Ausführungsform. 4b shows schematically a replacement of a main participant by a substitute main participant according to a second embodiment.

Ausführungsform(en) der Erfindungembodiment(s) of the invention

Die Erfindung wird anhand eines Netzwerks in einem Fahrzeug erläutert, wobei dies jedoch nicht einschränkend zu verstehen ist.The invention is explained using a network in a vehicle, but this is not to be understood as limiting.

In Maschinen und Fahrzeugen werden programmierbare Steuergeräte eingesetzt, um diese oder auch Komponenten davon, zu steuern. Beispielsweise kann ein Kraftfahrzeug Steuergeräte für die Motorsteuerung, für das Bremssystem usw. enthalten. Die Steuergeräte umfassen üblicherweise mindestens einen Prozessor mit einem oder mehreren Prozessor-Kernen. In diesen Prozessorkernen wird eine Steuerungssoftware ausgeführt (vereinfacht auch als Host bzw. Hostsystem bezeichnet), d.h. es werden einem Speicher gespeicherte Anwendungsprogramme ausführt, um die Steuerungsfunktion des Steuergeräts zu erzielen.Programmable control devices are used in machines and vehicles in order to control them or components thereof. For example, a motor vehicle can contain control units for engine control, for the brake system, and so on. The control units usually include at least one processor with one or more processor cores. Control software is executed in these processor cores (also referred to simply as host or host system), i.e. application programs stored in a memory are executed in order to achieve the control function of the control unit.

Die Steuergeräte eines Fahrzeugs oder einer Maschine können miteinander und oftmals auch mit externen Recheneinheiten vernetzt sein, d.h. zur Datenkommunikation verbunden sein. Aus Sicherheitsgründen ist es zweckmäßig, diese Kommunikation kryptografisch abzusichern. Dabei kann beispielsweise eine Verschlüsselung und/oder Signierung von Botschaften, mit denen Daten übermittelt werden, vorgesehen sein. Zur Implementierung der kryptografischen Absicherung können Steuergeräte mit einem Hardware-Sicherheits-Modul (HSM) oder einer sicheren Hardwareerweiterung (SHE) ausgestattet sein. Das HSM/SHE kann ein dezidierter Prozessor oder ein dezidierter Prozessorkern sein, der auf einen eigenen Datenspeicher und einen eigenen Programmspeicher zugreift, auf die andere Prozessorkerne, d.h. Prozessorkerne des Hosts, nicht zugreifen können. In dem Datenspeicher des HSM können Teilnehmerschlüssel gespeichert sein.The control units of a vehicle or a machine can be networked with each other and often also with external computing units, i.e. connected for data communication. For security reasons, it is advisable to secure this communication cryptographically. In this case, for example, encryption and/or signing of messages with which data are transmitted can be provided. To implement cryptographic protection, control units can be equipped with a hardware security module (HSM) or a secure hardware extension (SHE). The HSM/SHE can be a dedicated processor or processor core that accesses its own data memory and program memory that other processor cores, i.e. processor cores of the host, cannot access. Subscriber keys can be stored in the data memory of the HSM.

1 stellt eine Recheneinheit 2 gemäß einer bevorzugten Ausführungsform dar, die zur Durchführung eines erfindungsgemäßen Verfahrens verwendet werden kann. Die Recheneinheit 2, z.B. ein Mikrocontroller, z.B. eines Steuergeräts, weist ein Hostsystem 4 und ein Hardware-Sicherheits-Modul (HSM) 6 auf. Sie kann beispielsweise auch ein Beschleunigermodul 8 aufweisen. Weiter weist die Recheneinheit 2 eine Schnittstelle 10, die dem Datenaustausch mit anderen Recheneinheiten dient, etwa über eine Verbindungsleitung 12 auf. Die Schnittstelle 10 kann eine beliebige drahtlose oder drahtgebundene Schnittstelle sein; sie kann beispielsweise eine serielle oder parallele Schnittstelle sein. Beispiele sind insbesondere Feldbusse, z.B. ein CAN-Bus (Controller Area Network), eine Ethernet-Schnittstelle, eine SPI-Schnittstelle (Serial Peripheral Interface), eine WLAN-Schnittstelle (Wireless Local Area Network) oder ähnliches. 1 FIG. 12 shows a computing unit 2 according to a preferred embodiment, which can be used to carry out a method according to the invention. The arithmetic unit 2 , for example a microcontroller, for example a control device, has a host system 4 and a hardware security module (HSM) 6 . It can also have an accelerator module 8, for example. The processing unit 2 also has an interface 10 which is used for data exchange with other processing units, for example via a connecting line 12 . The interface 10 can be any wireless or wired interface; it can be a serial or parallel interface, for example. Examples are in particular fieldbuses, for example a CAN bus (Controller Area Network), an Ethernet interface, an SPI interface (Serial Peripheral Interface), a WLAN interface (Wireless Local Area Network) or the like.

Das Hostsystem 4, das HSM 6, das Beschleunigermodul 8 und die Schnittstelle 10 sind zumindest teilweise untereinander mit Verbindungen bzw. Leitungen 14 zum Datenaustausch verbunden. Diese Verbindungen können seriell oder parallel sein. Es sind Punkt-zu-Punkt-Verbindungen und/oder Stern-Verbindungen und/oder Bus-Verbindungen (ähnlich wie dargestellt) möglich.The host system 4, the HSM 6, the accelerator module 8 and the interface 10 are at least partially interconnected with connections or lines 14 for data exchange. These connections can be serial or parallel. Point-to-point connections and/or star connections and/or bus connections (similar to what is shown) are possible.

Weiterhin können weitere Bauelemente 16, z.B. ein Speicher, in der Recheneinheit enthalten sein, die ebenfalls mit dem Hostsystem, dem HSM, dem Beschleunigermodul und der Schnittstelle zum Datenaustausch verbunden sein können.Furthermore, further components 16, e.g. a memory, can be contained in the computing unit, which can also be connected to the host system, the HSM, the accelerator module and the interface for data exchange.

Das Hostsystem 4 und das HSM 6 weisen jeweils mindestens einen Prozessorkern, in dem Programme ausgeführt werden, um die Funktion des Hostsystems bzw. HSM zu implementieren, auf. Die Prozessorkerne des Hostsystems und des HSM können in verschiedenen Prozessormodulen oder auch in einem gemeinsamen Prozessormodul enthalten sein, wobei das Hostsystem, d.h. insbesondere dessen Prozessorkerne, keinen Zugriff auf das HSM, insbesondere dessen Prozessorkerne, hat. Das Hostsystem 4 und das HSM 6 können weitere Elemente umfassen, insbesondere jeweils einen flüchtigen (Arbeits-)Speicher und/oder einen nichtflüchtigen Speicher, z.B. Flash.The host system 4 and the HSM 6 each have at least one processor core in which programs are executed in order to implement the function of the host system or HSM. The processor cores of the host system and the HSM can be contained in different processor modules or in a common processor module, with the host system, i.e. in particular its processor cores, not having access to the HSM, in particular its processor cores. The host system 4 and the HSM 6 can include further elements, in particular a volatile (working) memory and/or a non-volatile memory, e.g. Flash.

Das Beschleunigermodul 8 ist als Hardwaremodul ausgeführt und dazu eingerichtet, kryptographische Funktionen durchzuführen, wobei dazu ein Schlüssel und Daten von einer aufrufenden Einheit (Hostsystem und/oder HSM) in das Hardwaremodul geladen werden, das Hardwaremodul dann eine entsprechend spezifizierte kryptographische Funktion unter Benutzung des geladen Schlüssels auf die geladenen Daten anwendet, und das Ergebnis dieser Anwendung der kryptographischen Funktion dann von der aufrufenden Einheit ausgelesen werden kann und/oder auch in dem Hardwarebeschleuniger weiterverwendet werden kann.The accelerator module 8 is designed as a hardware module and set up to perform cryptographic functions, with a key and data being loaded into the hardware module by a calling unit (host system and/or HSM), the hardware module then loading a correspondingly specified cryptographic function using the Key applied to the loaded data, and the result of this application of the cryptographic function can then be read by the calling unit and / or can be used in the hardware accelerator.

Das Hostsystem 4, das HSM 6, das Beschleunigermodul 8, die Schnittstelle 10 und gegebenenfalls weitere Bauelemente 16 können zumindest teilweise miteinander integriert ausgebildet sein, z.B. in einem gemeinsamen Chip (integrierte Schaltung, IC).The host system 4, the HSM 6, the accelerator module 8, the interface 10 and optionally further components 16 can be at least partially integrated with one another, e.g. in a common chip (integrated circuit, IC).

In 2 ist schematisch ein Vorgang dargestellt, bei dem ein hier beispielsweise in einem Fahrzeug befindliches Netzwerk 100 bei der Herstellung, beispielsweise bei einem Hersteller 20, initial mit Schlüsseln ausgerüstet wird. Dazu wird beim Hersteller 20 ein entsprechendes Werkzeug 22 eingesetzt.In 2 a process is shown schematically in which a network 100, for example in a vehicle, is initially equipped with keys during production, for example at a manufacturer 20. A corresponding tool 22 is used by the manufacturer 20 for this purpose.

Insbesondere umfasst das Netzwerk 100 einen Hauptteilnehmer 110 sowie eine Vielzahl von Nebenteilnehmern 120. Es sei betont, dass eine Unterscheidung zwischen Hauptteilnehmer und Nebenteilnehmer im Wesentlichen anhand der Funktionalität betreffend die Schlüsselverteilung bzw. Schlüsselspeicherung getroffen wird und mit der eigentlichen Funktion des Teilnehmers im Fahrzeug nicht zusammenhängt.In particular, the network 100 includes a main participant 110 and a large number of secondary participants 120. It should be emphasized that a distinction between the main participant and the secondary participant is made essentially on the basis of the functionality relating to the key distribution or key storage and is not related to the actual function of the participant in the vehicle .

Im vorliegenden Beispiel wird die Schlüsselerzeugung vom Werkzeug 22 mittels eines Befehls 101 an den Hauptteilnehmer 110 angestoßen. Daraufhin erzeugt der Hauptteilnehmer nach Maßgabe einer Hauptschlüsselerzeugungsvorschrift einen Hauptschlüssel 102 und speichert diesen insbesondere in einem sicheren Speicherbereich ab. Dort können auch ein Netzwerkidentifikator 103, beispielsweise in Form einer Fahrgestellnummer bzw. VIN, und ein öffentlicher Schlüssel 104 einer Schlüsselverwaltungsstelle 30 gespeichert sein. Die Schlüsselverwaltungsstelle 30 enthält unter anderem einen zu dem öffentlichen Schlüssel 104 passenden privaten Schlüssel 34.In the present example, the tool 22 initiates key generation by means of a command 101 to the main participant 110 . The main subscriber then generates a master key 102 in accordance with a master key generation rule and stores this in particular in a secure memory area. A network identifier 103, for example in the form of a chassis number or VIN, and a public key 104 of a key management office 30 can also be stored there. The key management office 30 contains, among other things, a private key 34 that matches the public key 104.

Bei der Hauptschlüsselerzeugungsvorschrift kann es sich insbesondere um ein Zufallszahlenverfahren handeln, wobei als Hauptschlüssel eine Zufallszahl mit einer vorbestimmten Größe erzeugt wird.The main key generation specification can in particular be a random number method, with a random number having a predetermined size being generated as the main key.

Der Hauptschlüssel 102 wird in einem Schritt 105 an die Vielzahl der Nebenteilnehmer 120 übertragen. Diese Übertragung erfolgt vorzugsweise auf eine nach bekannten Methoden verschlüsselte Weise. Neben dem Hauptschlüssel kann auch der Netzwerkidentifikator 103 übertragen werden. Auch in den Nebenteilnehmern kann der öffentliche Schlüssel 104 der Schlüsselverwaltungsstelle 30 gespeichert sein.The master key 102 is transmitted to the plurality of secondary participants 120 in a step 105 . This transmission preferably takes place in an encrypted manner using known methods. In addition to the master key, the network identifier 103 can also be transmitted. The public key 104 of the key management office 30 can also be stored in the secondary participants.

Jeder der Vielzahl der Nebenteilnehmer 120 erzeugt daraufhin nach Maßgabe einer Nebenteilnehmerschlüsselerzeugervorschrift einen oder mehrere Nebenteilnehmerschlüssel 106 und speichert diese sowie ggf. den Netzwerkidentifikator 103 in einem (vorzugsweise sicheren) Speicherbereich ab. Damit ist das Schlüsselerzeugungsverfahren innerhalb des Netzwerkes 100 abgeschlossen.Each of the large number of secondary subscribers 120 then generates one or more secondary subscriber keys 106 in accordance with a secondary subscriber key generation rule and stores these and, if necessary, the network identifier 103 in a (preferably secure) memory area. This completes the key generation process within network 100.

Je nach Ausgestaltung der Erfindung, d.h. insbesondere dass alle Hauptschlüssel in einer zentralen Schlüsselverwaltungsstelle beim Hersteller gespeichert sind oder nicht, können darüber hinaus der Hauptschlüssel 102 sowie der Netzwerkidentifikator 103 in einem optionalen Schritt 107, insbesondere über das Werkzeug 22, an die Schlüsselverwaltungsstelle 30 übermittelt und dort gespeichert werden. Dies erlaubt insbesondere einen sehr einfachen späteren Austausch von Hauptteilnehmern, insbesondere bei einem Defekt.Depending on the configuration of the invention, i.e. in particular whether all master keys are stored in a central key management office at the manufacturer or not, the master key 102 and the network identifier 103 can also be transmitted to the key management office 30 in an optional step 107, in particular via the tool 22, and be stored there. In particular, this allows a very simple subsequent exchange of main participants, especially in the event of a defect.

In 3 ist nun schematisch dargestellt, wie ein Ersatznebenteilnehmer 120' in das Netzwerk eingebracht werden kann. Ein solches Austauschverfahren wird insbesondere in einer Werkstatt 23 unter Verwendung eines entsprechenden Werkzeugs 24, beispielsweise eines sogenannten Testers, durchgeführt. Der Ersatznebenteilnehmer kann zu einem beliebigen Zeitpunkt innerhalb des in 3 geschilderten Verfahrens auch physikalisch in das Netzwerk 100 eingebracht werden.In 3 is now shown schematically how a substitute secondary subscriber 120 'can be introduced into the network. Such an exchange method is carried out in particular in a workshop 23 using a corresponding tool 24, for example a so-called tester. The substitute secondary participant can be called at any time within the in 3 described method can also be introduced physically into the network 100.

Der Austausch beginnt beispielsweise mit einer entsprechenden Anforderung 301, die das Werkzeug 24 an den Hauptteilnehmer 110 übermittelt. In Reaktion darauf erzeugt der Hauptteilnehmer 110 einen Vorgangsidentifikator, beispielsweise ebenfalls eine Zufallszahl, und überträgt diesen zusammen mit dem Netzwerkidentifikator in einem Schritt 302 an das Werkzeug 24. Der Netzwerkidentifikator kann jedoch auch erst durch das Werkzeug 24 dem Datensatz hinzugefügt werden.The exchange begins, for example, with a corresponding request 301, which the tool 24 transmits to the main participant 110. In response to this, the main participant 110 generates a process identifier, for example also a random number, and transmits this together with the network identifier to the tool 24 in a step 302. However, the network identifier can also only be added to the data set by the tool 24.

Der Datensatz wird dann in einen Schritt 303 an die Schlüsselverwaltungsstelle 30 übertragen, welche dem Datensatz einen Zeitstempel hinzufügt und diesen mit ihrem privaten Schlüssel 34 digital signiert.In a step 303, the data set is then transmitted to the key management point 30, which adds a time stamp to the data set and digitally signs it with its private key 34.

Ein digitales Signaturverfahren kann auf einem asymmetrischen kryptographischen System beruhen, bei dem ein Sender mit Hilfe eines geheimen Signaturschlüssels (dem sog. „Private Key“ oder privaten Schlüssel) zu einer digitalen Nachricht (d.h. zu beliebigen Daten) einen Wert berechnet, der digitale Signatur genannt wird. Dieser Wert ermöglicht es jedem, mit Hilfe des öffentlichen Verifikationsschlüssels (dem sog. „Public Key“ oder öffentlichen Schlüssel) die nicht abstreitbare Urheberschaft und Integrität der Nachricht zu prüfen.A digital signature procedure can be based on an asymmetric cryptographic system in which a sender calculates a value for a digital message (i.e. for any data) using a secret signature key (the so-called "private key" or private key), which is called the digital signature will. This value allows anyone to use the public verification key (the so-called "public key" or public key) to check the non-repudiation of authorship and integrity of the message.

Solch ein digitales Signaturverfahren umfasst dabei in der Regel drei Funktionen bzw. Routinen: Schlüsselgenerierung, Signatur-Berechnung (sign) und Signatur-Verifikation (verify). Dabei erzeugt üblicherweise die Schlüsselgenerierung ein asymmetrisches Schlüsselpaar, das aus privatem und öffentlichem Schlüssel besteht. Die sign-Routine berechnet üblicherweise bei Eingabe einer Nachricht unter Verwendung des privaten Schlüssels eine digitale Signatur, während die verify-Routine üblicherweise bei Eingabe einer Nachricht und einer digitalen Signatur unter Verwendung des öffentlichen Schlüssels überprüft, ob die Nachricht zur Signatur gehört oder nicht.Such a digital signature method usually includes three functions or routines: key generation, signature calculation (sign) and signature verification (verify). The key generation usually creates an asymmetric key pair consisting of a private and public key. The sign routine usually calculates a digital signature when entering a message using the private key, while the verify routine usually checks whether the message belongs to the signature or not when entering a message and a digital signature using the public key.

Der Datensatz mit der Signatur wird dann in einem Schritt 304 an das Werkzeug 24 und von dort in einen Schritt 305 an den Ersatznebenteilnehmer 120' übertragen.The record with the signature is then sent to the tool 24 in a step 304 and from there transmitted to the substitute secondary subscriber 120' in a step 305.

Gemäß einer ersten Variante 306a überträgt der Ersatznebenteilnehmer 120 den Datensatz mit Signatur nach erfolgreicher Verifizierung an den Hauptteilnehmer 110. Gemäß einer alternativen Variante 306b kann der Datensatz auch direkt vom Werkzeug 24 an den Hauptteilnehmer 110 übertragen werden.According to a first variant 306a, the substitute secondary participant 120 transmits the data record with signature to the main participant 110 after successful verification. According to an alternative variant 306b, the data record can also be transmitted directly from the tool 24 to the main participant 110.

In jedem Fall verifiziert auch der Hauptteilnehmer 110 den Datensatz und überträgt in einem Schritt 308 bei erfolgreicher Verifizierung den Hauptschlüssel 102 an den Ersatznebenteilnehmer 120', der daraus, wie beschrieben, seine Teilnehmerschlüssel 106 ableiten kann.In any case, the main participant 110 also verifies the data record and, in a step 308, if the verification is successful, transmits the main key 102 to the substitute secondary participant 120′, which, as described, can derive its participant key 106 from it.

Gemäß einem bevorzugten Schritt 307 erfolgt vor dem Übertragen des Hauptschlüssels im Schritt 308 ein Aushandeln eines Sitzungsschlüssels zum Ermöglichen einer verschlüsselten Übertragung des Hauptschlüssels, beispielsweise gemäß einem bekannten Diffie-Hellmann- Verfahren. Hinsichtlich des Umfangs und des Inhalts der Verifizierung wird auf die obige allgemeine Beschreibung verwiesen.According to a preferred step 307, before the master key is transmitted, in step 308 a session key is negotiated to enable encrypted transmission of the master key, for example in accordance with a known Diffie-Hellmann method. With regard to the scope and content of the verification, reference is made to the general description above.

In den 4a und 4b sind unterschiedliche Varianten betreffend einen Austausch eines Hauptteilnehmer dargestellt, einmal für den Fall, dass der Hauptschlüssel in der zentralen Schlüsselverwaltungsstelle beim Hersteller gespeichert ist (4a) und einmal für den Fall, dass der Hauptschlüssel in der zentralen Schlüsselverwaltungsstelle beim Hersteller nicht gespeichert ist (4b).In the 4a and 4b different variants are shown regarding an exchange of a main participant, once for the case that the main key is stored in the central key management center at the manufacturer ( 4a) and once for the case that the master key is not stored in the manufacturer's central key management office ( 4b) .

In 4a ist ein erstes Ausführungsbeispiel zum Austauschen eines Hauptteilnehmers durch einen Ersatzhauptteilnehmer 110' dargestellt. Dieser Austausch kann in einen beim Hersteller 20 angesiedelten Teil und in einen in der Werkstatt 23 angesiedelten Teil aufgeteilt werden. Der Austausch wird insbesondere von einem Werkzeug 22 angestoßen, wobei dazu in einem Schritt 401 der Netzwerkidentifikator 103 und optional ein Ersatzhauptteilnehmeridentifikator an die Schlüsselverwaltungsstelle 30 übertragen werden.In 4a a first exemplary embodiment for replacing a main participant with a substitute main participant 110' is shown. This exchange can be divided into a part located at the manufacturer 20 and a part located in the workshop 23 . The exchange is triggered in particular by a tool 22 , with the network identifier 103 and optionally a substitute main subscriber identifier being transmitted to the key management point 30 for this purpose in a step 401 .

In einem Schritt 402 überträgt die Schlüsselverwaltungsstelle 30 den zum Netzwerkidentifikator passenden Hauptschlüssel, gegebenenfalls zusammen mit dem Netzwerkidentifikator, an das Werkzeug 22 zurück, welches diese wiederum in einem Schritt 403 an den Ersatzhauptteilnehmer 110' überträgt. Dann sind Hauptschlüssel 102, Netzwerkidentifikator 103 und, wie hier üblich, der öffentliche Schlüssel 104 der Schlüsselverwaltungsstelle 30 in dem Ersatzhauptteilnehmer 110' gespeichert. Der Ersatzhauptteilnehmer 110' kann dann zur Werkstatt gebracht und dort in das Netzwerk 100, beispielsweise das Fahrzeug, eingebaut werden.In a step 402, the key management point 30 transmits the master key that matches the network identifier, possibly together with the network identifier, back to the tool 22, which in turn transmits it in a step 403 to the substitute main subscriber 110'. Then the master key 102, network identifier 103 and, as is usual here, the public key 104 of the key management office 30 are stored in the substitute main subscriber 110'. The replacement main subscriber 110' can then be taken to the workshop and installed there in the network 100, for example the vehicle.

In 4b ist eine alternative Ausführungsform dargestellt, bei der im Unterschied zu 4a in Schritt 402' von der Schlüsselverwaltungsstelle 30 an das Werkzeug 22 ein Datensatz mit einer Signatur, nicht jedoch der Hauptschlüssel, übertragen werden. In einem Schritt 403 wird der Datensatz mit Signatur an den Ersatznebenteilnehmer 110' gesendet. Zum Inhalt und Details des Datensatzes sei auf die obige allgemeine Beschreibung verwiesen.In 4b an alternative embodiment is shown, in which, in contrast to 4a in step 402', a data record with a signature, but not the master key, is transmitted from the key management point 30 to the tool 22. In a step 403, the data set with a signature is sent to the substitute secondary subscriber 110'. For the content and details of the data set, reference is made to the general description above.

Daraufhin verifiziert der Ersatzhauptteilnehmer 110' den übermittelten Datensatz und erzeugt bei Erfolg nach Maßgabe einer Hauptschlüsselerzeugungsvorschrift (beispielsweise einem Zufallszahlenerzeugungsverfahren) einen (neuen) Hauptschlüssel 102'.The substitute main participant 110′ then verifies the transmitted data set and, if successful, generates a (new) main key 102′ in accordance with a main key generation specification (for example a random number generation method).

Anschließend wird der Ersatzhauptteilnehmer 110' wieder in das Netzwerk eingebracht und überträgt dort in einen Schritt 404 den Datensatz mit Signatur an die Vielzahl der Nebenteilnehmer 120. Bei erfolgreicher Verifizierung des Datensatzes durch die Nebenteilnehmer 120 überträgt der Ersatzhauptteilnehmer 110' in einem Schritt 406 den neuen Hauptschlüssel 102' an die Nebenteilnehmer 120, die daraus auf beschriebene Weise ihre Nebenteilnehmerschlüssel 106' ableiten. Vorzugsweise wird vor dem Übertragen des Hauptschlüssels 102' im Schritt 406 - wie oben - in einem Schritt 405 ein Sitzungsschlüssel für eine verschlüsselte Übertragung ausgehandelt.Substitute main participant 110' is then reintroduced into the network and in step 404 transmits the data record with signature to the plurality of secondary participants 120. If the secondary participants 120 successfully verify the data record, substitute main participant 110' transmits the new main key in step 406 102' to the secondary participants 120, who derive their secondary participant keys 106' from this in the manner described. Preferably, before the transmission of the master key 102' in step 406—as above—a session key for an encrypted transmission is negotiated in a step 405.

Claims (17)

Verfahren zum Erzeugen eines Nebenteilnehmerschlüssels (106) in einem Nebenteilnehmer eines Netzwerks (100), mit folgenden durch den Nebenteilnehmer (120) durchgeführten Schritten: Empfangen eines Hauptschlüssels (102) des Netzwerks (100), Erzeugen des Nebenteilnehmerschlüssels (106) aus dem Hauptschlüssel (102) nach Maßgabe einer Nebenteilnehmerschlüsselerzeugungsvorschrift, Speichern des Nebenteilnehmerschlüssels (106) in dem Nebenteilnehmer (120).Method for generating a secondary subscriber key (106) in a secondary subscriber of a network (100), with the following steps performed by the secondary subscriber (120): receiving a master key (102) of the network (100), Generating the secondary subscriber key (106) from the main key (102) in accordance with a secondary subscriber key generation rule, storing the secondary subscriber key (106) in the secondary subscriber (120). Verfahren nach Anspruch 1, zusätzlich mit dem durch den Nebenteilnehmer (120) durchgeführten Schritt: Löschen des Hauptschlüssels (102) nach dem Erzeugen des Nebenteilnehmerschlüssels (106).procedure after claim 1 , additionally comprising the step performed by the secondary subscriber (120): deleting the master key (102) after generating the secondary subscriber key (106). Verfahren nach Anspruch 1 oder 2, zusätzlich mit den durch den Nebenteilnehmer (120) durchgeführten Schritten: Aushandeln eines Sitzungsschlüssels vor dem Empfangen des Hauptschlüssels (102), Empfangen des mit dem Sitzungsschlüssel verschlüsselten Hauptschlüssels (102), Entschlüsseln des mit dem Sitzungsschlüssel verschlüsselten Hauptschlüssels (102).procedure after claim 1 or 2 , additionally with the steps performed by the secondary participant (120): negotiating a session key before receiving the master key (102), receiving the master key encrypted with the session key (102), decrypting the master key encrypted with the session key (102). Verfahren zum Erzeugen eines Hauptschlüssels (102) in einem Hauptteilnehmer (110) eines Netzwerks (100), mit folgenden durch den Hauptteilnehmer (110) durchgeführten Schritten: Erzeugen eines Hauptschlüssels (102) nach Maßgabe einer Hauptschlüsselerzeugungsvorschrift; Senden des Hauptschlüssels (102) und eines Netzwerkidentifikators (103) an eine Schlüsselverwaltungsstelle (30), Speichern des Hauptschlüssels (102) und des Netzwerkidentifikators (103) in dem Hauptteilnehmer (110).Method for generating a master key (102) in a main participant (110) of a network (100), with the following steps performed by the main participant (110): generating a master key (102) in accordance with a master key generation rule; Sending the master key (102) and a network identifier (103) to a key management center (30), storing the master key (102) and the network identifier (103) in the master subscriber (110). Verfahren nach Anspruch 4, zusätzlich mit dem Schritt: Senden des Hauptschlüssels (102) an wenigstens einen Nebenteilnehmer (120) in dem Netzwerk.procedure after claim 4 , additionally comprising the step of: sending the master key (102) to at least one secondary participant (120) in the network. Verfahren zum Ersetzen eines Hauptteilnehmers (110) eines Netzwerks (100) durch einen Ersatzhauptteilnehmer (110'), wobei in dem Hauptteilnehmer (110) ein Hauptschlüssel (102) des Netzwerks (100) gespeichert ist, mit den Schritten: Senden eines Netzwerkidentifikators (103) an eine Schlüsselverwaltungsstelle (30), Empfangen eines dem Netzwerkidentifikator zugehörigen Hauptschlüssels (102) von der Schlüsselverwaltungsstelle (30), Speichern des Hauptschlüssels (102) und des Netzwerkidentifikators (103) in dem Ersatzhauptteilnehmer.Method for replacing a main participant (110) of a network (100) with a replacement main participant (110'), wherein a main key (102) of the network (100) is stored in the main participant (110), with the steps: Sending a network identifier (103) to a key management center (30), receiving a master key (102) associated with the network identifier from the key management center (30), storing the master key (102) and the network identifier (103) in the substitute principal. Verfahren zum Ersetzen eines Hauptteilnehmers (110) eines Netzwerks (100) durch einen Ersatzhauptteilnehmer (110'), wobei in dem Hauptteilnehmer (110) ein Hauptschlüssel (102) des Netzwerks (100) gespeichert ist, mit den Schritten: Senden eines Netzwerkidentifikators (103) an eine Schlüsselverwaltungsstelle (30), Empfangen eines dem Netzwerkidentifikator zugehörigen Datensatzes und einer Signatur des Datensatzes von der Schlüsselverwaltungsstelle (30), Erzeugen eines Hauptschlüssels (102) nach Maßgabe einer Hauptschlüsselerzeugungsvorschrift durch den Ersatzhauptteilnehmer (110'), Speichern des Hauptschlüssels (102) und des Netzwerkidentifikators (103) in dem Ersatzhauptteilnehmer (110').Method for replacing a main participant (110) of a network (100) with a replacement main participant (110'), wherein a main key (102) of the network (100) is stored in the main participant (110), with the steps: Sending a network identifier (103) to a key management center (30), receiving a data record associated with the network identifier and a signature of the data record from the key management authority (30), Generating a master key (102) in accordance with a master key generation rule by the substitute main subscriber (110'), storing the master key (102) and the network identifier (103) in the substitute principal (110'). Verfahren nach Anspruch 7, zusätzlich mit dem Schritt: Senden des Hauptschlüssels (102) und/oder des Datensatzes und der Signatur an wenigstens einen Nebenteilnehmer (120) in dem Netzwerk.procedure after claim 7 , additionally with the step: sending the master key (102) and/or the data record and the signature to at least one secondary participant (120) in the network. Verfahren nach Anspruch 7 oder 8, wobei der Datensatz einen Hauptteilnehmer- und/oder Ersatzhauptteilnehmeridentifikator und/oder einen von der Schlüsselverwaltungsstelle (30) hinzugefügten Zeitstempel enthält.procedure after claim 7 or 8th , wherein the data record contains a main subscriber and/or substitute main subscriber identifier and/or a time stamp added by the key management office (30). Verfahren zum Ersetzen eines Nebenteilnehmers (120) eines Netzwerks (100) durch einen Ersatznebenteilnehmer (120'), mit den Schritten: Senden, durch einen Hauptteilnehmer (110) des Netzwerks (100), in dem ein Hauptschlüssel (102) des Netzwerks (100) gespeichert ist, eines Datensatzes enthaltend einen Netzwerkidentifikator (103) an eine Schlüsselverwaltungsstelle (30), Signieren, durch die Schlüsselverwaltungsstelle (30), des Datensatzes mit einem Schlüsselverwaltungsstellenspezifischen privaten Schlüssel (34), Empfangen, durch den Ersatznebenteilnehmer (120'), des Datensatzes und der Signatur, Verifizieren, durch den Ersatznebenteilnehmer (120'), des Datensatzes und, bei Erfolg, Durchführen einer Nebenteilnehmermaßnahme, Empfangen, durch den Hauptteilnehmer (110), des Datensatzes und der Signatur, Verifizieren, durch den Hauptteilnehmer (110), des Datensatzes und, bei Erfolg, Senden, durch den Hauptteilnehmer (110), des Hauptschlüssels (102) an den Ersatznebenteilnehmer (120').Method for replacing a secondary subscriber (120) of a network (100) with a replacement secondary subscriber (120'), with the steps: Sending, by a main participant (110) of the network (100), in which a master key (102) of the network (100) is stored, a data record containing a network identifier (103) to a key management office (30), Signing, by the key management authority (30), the data record with a key management authority-specific private key (34), receiving, by the surrogate slave (120'), the record and the signature, verifying, by the backup secondary subscriber (120'), the record and, if successful, taking a secondary subscriber action, Receiving, by the main participant (110), the record and the signature, verifying, by the master party (110), the record and, if successful, sending, by the master party (110), the master key (102) to the backup slave (120'). Verfahren nach Anspruch 10, wobei der durch den Hauptteilnehmer (110) gesendete Datensatz weiterhin einen Vorgangsidentifikator und/oder einen Ersatznebenteilnehmeridentifikator und/oder einen Nebenteilnehmeridentifikator enthält.procedure after claim 10 wherein the record sent by the primary party (110) further includes an event identifier and/or a backup secondary party identifier and/or a secondary party identifier. Verfahren nach Anspruch 10 oder 11, zusätzlich mit dem Schritt: Erweitern, durch die Schlüsselverwaltungsstelle (30), des Datensatzes um einen Zeitstempel vor dem Signieren.procedure after claim 10 or 11 , additionally with the step: Extending, through the key management office (30), the data set by a time stamp before signing. Verfahren nach einem der Ansprüche 10 bis 12, wobei die Ersatznebenteilnehmermaßnahme ein Senden, durch den Ersatznebenteilnehmer (120'), des Datensatzes und der Signatur an den Hauptteilnehmer (110) und/oder ein Ermöglichen des Empfangens, durch den Ersatznebenteilnehmer (120'), des Hauptschlüssels (102) umfasst, und/oder wobei die Nebenteilnehmermaßnahme die durch den Nebenteilnehmer (120) durchgeführte Schritte umfasst: Aushandeln eines Sitzungsschlüssels mit dem Hauptteilnehmer (110) vor dem Empfangen des Hauptschlüssels (102), Empfangen des mit dem Sitzungsschlüssel verschlüsselten Hauptschlüssels (102), Entschlüsseln des mit dem Sitzungsschlüssel verschlüsselten Hauptschlüssels (102).Procedure according to one of Claims 10 until 12 , wherein the surrogate secondary participant action comprises sending, by the surrogate secondary participant (120'), the record and the signature to the primary participant (110) and/or allowing the surrogate secondary participant (120') to receive the master key (102), and /or wherein the secondary participant action comprises the steps performed by the secondary participant (120): negotiating a session key with the primary participant (110) prior to receiving the primary key (102), receiving the primary key (102) encrypted with the session key, decrypting the primary key with the session key encrypted master key (102). Verfahren nach einem der vorstehenden Ansprüche, mit dem Schritt: Speichern eines öffentlichen Schlüssels (104) der Schlüsselverwaltungsstelle (30) in dem Teilnehmer.Method according to one of the preceding claims, with the step: storing a public key (104) of the key management office (30) in the subscriber. Recheneinheit (110, 120, 110', 120'), die dazu eingerichtet ist, alle teilnehmerspezifischen Verfahrensschritte eines Verfahrens nach einem der vorstehenden Ansprüche durchzuführen.Processing unit (110, 120, 110', 120') which is set up to carry out all subscriber-specific method steps of a method according to one of the preceding claims. Computerprogramm, das eine Recheneinheit dazu veranlasst, alle teilnehmerspezifischen Verfahrensschritte eines Verfahrens nach einem der Ansprüche 1 bis 14 durchzuführen, wenn es auf der Recheneinheit ausgeführt wird.Computer program that causes a processing unit to perform all participant-specific method steps of a method according to one of Claims 1 until 14 to be performed when it is executed on the computing unit. Maschinenlesbares Speichermedium mit einem darauf gespeicherten Computerprogramm nach Anspruch 16.Machine-readable storage medium with a computer program stored on it Claim 16 .
DE102020214499.0A 2020-11-18 2020-11-18 Method for generating keys and replacing participants in a network Pending DE102020214499A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102020214499.0A DE102020214499A1 (en) 2020-11-18 2020-11-18 Method for generating keys and replacing participants in a network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102020214499.0A DE102020214499A1 (en) 2020-11-18 2020-11-18 Method for generating keys and replacing participants in a network

Publications (1)

Publication Number Publication Date
DE102020214499A1 true DE102020214499A1 (en) 2022-05-19

Family

ID=81345674

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102020214499.0A Pending DE102020214499A1 (en) 2020-11-18 2020-11-18 Method for generating keys and replacing participants in a network

Country Status (1)

Country Link
DE (1) DE102020214499A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102015220224A1 (en) 2015-10-16 2017-04-20 Volkswagen Aktiengesellschaft Method for protected communication of a vehicle
US20180227120A1 (en) 2015-08-05 2018-08-09 Kddi Corporation Management device, management system, key generation device, key generation system, key management system, vehicle, management method, key generation method, and computer program
US20190020636A1 (en) 2017-07-17 2019-01-17 Sonova Ag Encrypted Audio Streaming
DE102018111081A1 (en) 2018-05-08 2019-11-14 Uniscon Universal Identity Control Gmbh Method for securing a data exchange in a distributed infrastructure

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180227120A1 (en) 2015-08-05 2018-08-09 Kddi Corporation Management device, management system, key generation device, key generation system, key management system, vehicle, management method, key generation method, and computer program
DE102015220224A1 (en) 2015-10-16 2017-04-20 Volkswagen Aktiengesellschaft Method for protected communication of a vehicle
US20190020636A1 (en) 2017-07-17 2019-01-17 Sonova Ag Encrypted Audio Streaming
DE102018111081A1 (en) 2018-05-08 2019-11-14 Uniscon Universal Identity Control Gmbh Method for securing a data exchange in a distributed infrastructure

Similar Documents

Publication Publication Date Title
DE102013203415B4 (en) Create a derived key from a cryptographic key using a non-cloning function
EP2689553B1 (en) Motor vehicle control unit having a cryptographic device
DE112017007755B4 (en) KEY MANAGEMENT DEVICE AND COMMUNICATION DEVICE
DE102015214267A1 (en) Method and system for creating a secure communication channel for terminals
DE102004032057A1 (en) Method and device for generating a secret session key
EP3157192B1 (en) Method and system for asymmetric key derivision
WO2019063509A1 (en) Method and distributed database system for computer-aided execution of a program code
WO2015180867A1 (en) Production of a cryptographic key
DE102018213616A1 (en) Cryptography module and operating method therefor
DE102018217431A1 (en) Secure key exchange on one device, especially an embedded device
DE102020214508A1 (en) Method for storing a digital key in a control unit
DE102020214499A1 (en) Method for generating keys and replacing participants in a network
EP3671599A1 (en) Distributed database system, industry automation system and method for operating a distributed database system
DE102018213038A1 (en) Method for in-vehicle management of cryptographic keys
DE102018102608A1 (en) Method for user management of a field device
DE102010053698A1 (en) Safe programming of vehicle modules
DE102020214515A1 (en) Method for storing a digital key in a control unit
DE102015208176A1 (en) Device and method for authorizing a private cryptographic key in a device
DE102015016750A1 (en) Validation and execution of provisioning data on appliances
DE102020213611A1 (en) Procedure for applying cryptographic functions to data using different keys
DE102009053230A1 (en) Method for authorization of diagnostic device on control unit of authorization system in motor vehicle, involves permitting execution of services e.g. updating software of control device, by control device
DE102012021719A1 (en) Method for preparation of chip implemented or implementable in mobile terminal for secure transmission of data elements to chip from remote server, involves encrypting root key with data key and storing root key on chip in encrypted form
DE102022000857B3 (en) Procedure for the secure identification of a person by a verification authority
WO2010149191A1 (en) Data transmission between automation devices protected against manipulation
DE102022200544A1 (en) Method for the secure provision of a computer program to be protected in a computing unit

Legal Events

Date Code Title Description
R163 Identified publications notified