Beschreibung description
Verfahren zur Bereitstellung von Zufallszahlen für Steuereinheiten eines Fahrzeugnetzwerks sowie Fahrzeugnetzwerk zur Durchführung dieses Verfahrens Method for providing random numbers for vehicle network control units and vehicle network for carrying out this method
Die Erfindung betrifft ein Verfahren zur Bereitstellung von Zufallszahlen für über ein Fahrzeugnetzwerk kommunizierende Steuereinheiten. Die Erfindung betrifft ferner ein Fahrzeug- netzwerk zur Durchführung des erfindungsgemäßen Verfahrens. The invention relates to a method for providing random numbers for control units communicating via a vehicle network. The invention further relates to a vehicle network for carrying out the method according to the invention.
In den letzten Jahren wurden Fahrzeuge mit einer Vielzahl von fahrzeugbasierten Steuereinheiten (ECU) (elektronischen In recent years, vehicles with a variety of vehicle-based control units (ECU) (electronic
Steuereinheiten) zur Steuerung der jeweiligen Funktionsein- heiten ausgestattet. Die ECUs werden jeweils über fahrzeug¬ basierte Netzwerke (Fahrzeugnetzwerk) miteinander verbunden, um zusammenzuarbeiten. Für die Steuerung dieser ECUs sowie für die Kommunikation zwischen diesen ECUs werden in der Regel softwarebasierte Anwendungen verwendet, welche entsprechende Funktionalitäten im Zusammenwirken mit geeigneter Hardware umsetzen. Dabei spielt immer mehr der Schutz solcher Anwendungen gegen unbefugten Zugriff eine Rolle. Deswegen besteht für die sichere Kommunikation dieser ECUs untereinander sowie mit einem externen Kommunikationspartner (bspw. Server oder andere Fahrzeuge) und für Schlüsselaustauschprotokolle ein erhöhter Bedarf kryptographisch sicherer Zufallszahlen. Diese müssen innerhalb kürzester Zeit nach dem Starten des Fahrzeuges (i.d.R. innerhalb von 100ms) zur Verfügung stehen. In deterministischen Systemen von Netzwerkknoten wie Mikro- controllern ist es in der Regel sehr schwer, ausreichend Entropie zur Erzeugung von Zufallszahlen zu sammeln. Dies trifft insbesondere auch für Fahrzeugnetzwerke mit Steuereinheiten zu, die solche MikroController enthalten. Control units) for controlling the respective functional units. The ECUs are connected via vehicle ¬ based networks (vehicle network) to each other in order to cooperate. For the control of these ECUs as well as for the communication between these ECUs software-based applications are usually used, which implement corresponding functionalities in interaction with suitable hardware. The protection of such applications against unauthorized access plays an increasingly important role. For this reason, there is an increased need for cryptographically secure random numbers for the secure communication of these ECUs with one another and with an external communication partner (for example servers or other vehicles) and for key exchange protocols. These must be available within a very short time after starting the vehicle (usually within 100ms). In deterministic systems of network nodes such as microcontrollers, it is usually very difficult to gather enough entropy to generate random numbers. This is especially true for vehicle networks with control units that contain such microcontroller.
Es ist bekannt für die Erzeugung sicherer Zufallszahlen in den einzelnen Steuereinheiten jeweils echte Zufallszahlengenera-
toren (TRNG, True Random Number Generator) zu verbauen, die die Anforderung hinsichtlich der kurzfristigen Bereitstellung von Zufallszahlen lösen sollen. Diese können jedoch nach dem Startvorgang oft nicht schnell genug gute Zufallszahlen liefern und erhöhen außerdem die Kosten für jeweils eine ECU. It is known for the generation of secure random numbers in each control units each true random number generator obstruct (TRNG, True Random Number Generator) to resolve the short-term random number provisioning requirement. However, these can often not deliver good random numbers fast enough after startup, and they also increase the cost of one ECU each.
Ein wichtiges Merkmal eines Zufallszahlengenerators (RNG) ist seine Entropie, d.h. die Zufälligkeit und Unvorhersagbarkeit der von einem Zufallszahlengenerator erzeugten Zufallszahlen. An important feature of a random number generator (RNG) is its entropy, i. the randomness and unpredictability of the random numbers generated by a random number generator.
Zur Realisierung eines Zufallszahlengenerators wird eine Entropie-Quelle, also ein nichtdeterministisch arbeitendes System eingesetzt, welches die zur Verfügung stehende „Zu¬ fälligkeit" (Entropie) bestimmt. Ferner ist ein Extraktions- mechanismus zum Messen der zufällig schwankenden Größe aus der Entropie-Quelle erforderlich, mit welchem möglichst viel Entropie „gesammelt" werden soll. Schließlich werden diese von der Entropie-Quelle gelieferten Rohdaten aufbereitet, um Un¬ zulänglichkeiten der Entropie-Quelle oder des Extraktionsme- chanismus zu kompensieren. For the realization of a random number generator is an entropy source, that is used a non-deterministic operating system that determines the available "to ¬ maturity" (entropy). Further, an extraction mechanism for measuring of the randomly fluctuating size from the entropy source is required with which as much entropy as possible should be "collected". Finally, this raw data supplied from the entropy source are processed to Un ¬ zulänglichkeiten to compensate for the entropy of the source or Extraktionsme- mechanism.
Die Aufgabe der Erfindung besteht darin, ein Verfahren zur Bereitstellung von sicheren Zufallszahlen für über ein Fahrzeugnetzwerk kommunizierende Steuereinheiten zur kryptogra- phischen Verwendung in fahrzeuginternen Komponenten zu schaffen, welches innerhalb kürzester Zeit nach einem Fahrzeugstart zur Verfügung steht und kostengünstig realisierbar ist. Ferner ist es Aufgabe der Erfindung ein Fahrzeugnetzwerk zur Durchführung des erfindungsgemäßen Verfahrens bereitzustellen. The object of the invention is to provide a method for providing secure random numbers for communicating via a vehicle network control units for cryptographic use in in-vehicle components, which is available within a very short time after a vehicle start and is inexpensive to implement. It is another object of the invention to provide a vehicle network for carrying out the method according to the invention.
Die erstgenannte Aufgabe wird gelöst durch ein Verfahren mit den Merkmalen des Patentanspruchs 1. The first object is achieved by a method having the features of patent claim 1.
Dieses erfindungsgemäße Verfahren zur Bereitstellung von fallszahlen für über ein Fahrzeugnetzwerk kommunizierende Steuereinheiten weist folgende Verfahrensschritte auf:
a) Bereitstellen eines Zufallszahlengenerators, welcher zum Übermitteln von Zufallszahlen an die Steuereinheiten mit dem Fahrzeugnetzwerk verbunden wird, wobei der Zufallszahlengenerator eine Aggregationskomponente, eine Speichereinheit und eine Verteilungskomponente aufweist, This inventive method for providing case numbers for control units communicating via a vehicle network has the following method steps: a) providing a random number generator which is connected to the vehicle network for transmitting random numbers to the control units, the random number generator having an aggregation component, a memory unit and a distribution component,
b) Ausbilden von mehreren Steuereinheiten mit jeweils wenigstens einer Entropie-Quelle, wobei die von den Entropie-Quellen erzeugten Rohdaten zur Erzeugung von Zufallszahlen über das Fahrzeugnetzwerk der Aggregationskomponente des Zufallszah- lengenerators übermittelt werden, b) forming a plurality of control units each having at least one entropy source, the raw data generated by the entropy sources being transmitted via the vehicle network to the aggregation component of the random number generator for generating random numbers,
c) Kombinieren der von den Entropie-Quellen an die Aggregationskomponente übermittelten Rohdaten, c) combining the raw data transmitted from the entropy sources to the aggregation component,
d) Durchführen einer Qualitätssicherung der kombinierten Rohdaten der Entropie-Quellen, indem nur solche kombinierte Rohdaten als qualifizierte Rohdaten verwendet werden, welche sowohl nichtdeterministisch auftreten als auch ein Mindestmaß an Entropie enthalten, d) performing quality assurance of the combined raw data of the entropy sources, by using only such combined raw data as qualified raw data, which are both nondeterministic and contain a minimum level of entropy,
e) Nachverarbeiten der qualifizierten Rohdaten, indem diese mittels einer kryptographischen Einwegfunktion in einen ag- gregierten Datenblock umgewandelt werden, e) reprocessing the qualified raw data by converting them into an aggregated data block by means of a one-way cryptographic function,
f) Sicheres Speichern des aggregierten Datenblocks als Zu¬ fallszahl in der Speichereinheit, und f) Secure storage of aggregated data block as to ¬ random number in the memory unit, and
g) Übermitteln einer in der Speichereinheit gespeicherten Zufallszahl an eine Steuereinheit über das Fahrzeugnetzwerk mittels der Verteilungskomponente. g) transmitting a random number stored in the memory unit to a control unit via the vehicle network by means of the distribution component.
Mit diesem erfindungsgemäßen Verfahren wird ein Fahrzeugnetzwerk mit ECUs geschaffen, in welchem sichere Zufallszahlen aus verschiedenen Entropiequellen generiert und in einem Zu- fallszahlengenerator als zentrale Netzwerkkomponente desWith this method according to the invention, a vehicle network with ECUs is created in which secure random numbers are generated from different entropy sources and stored in a random number generator as the central network component of the
Fahrzeugnetzwerks persistent, vertraulich und manipulations¬ sicher gespeichert werden, so dass diese Vorhaltung von sicheren Zufallszahlen in der Speichereinheit dazu führt, dass bei kurzen Startzeiten des Fahrzeugnetzwerks Zufallszahlen mit ausrei- chender Entropie zur Verfügung stehen, die über das Fahrzeugnetzwerk den anderen Steuereinheiten für kryptografische Operationen zur Verfügung gestellt werden.
Mit einer solchen Vorhaltung von sicheren Zufallszahlen in der Speichereinheit des Zufallszahlengenerators benötigen die Steuereinheiten keine individuellen Zufallsgeneratoren, wodurch die Kosten für das Fahrzeugnetzwerk gesenkt werden können. Außerdem vereinfacht die zentralisierte Architektur hin¬ sichtlich der Erzeugung von Zufallszahlen mittels des zentralen Zufallszahlengenerators die nachträgliche Hinzunahme weiterer Entropie-Quellen oder Änderungen an der Software des Zu- fallszahlengenerators, bspw. im Zuge von Security-Updates . Vehicle network persistent, confidentially and manipulation ¬ safely stored, so that this provision of safe random numbers in the memory unit leads to random numbers with sufficient entropy are available at short start times of the vehicle network, the other control units for cryptographic operations via the vehicle network to provide. With such provision of secure random numbers in the storage unit of the random number generator, the control units do not require individual random number generators, which can reduce the cost of the vehicle network. In addition, the centralized architecture through ¬ clearly simplifies the generation of random numbers by means of the central random number generator, the subsequent addition of further entropy sources or changes in the software of the random number generator, for example. In the course of security updates.
Nach einer vorteilhaften Weiterbildung der Erfindung wird gemäß Verfahrensschritt g jede Zufallszahl nur einmalig übermittelt, um die wiederholte Verwendung von Zufallszahlen zu verhindern. According to an advantageous development of the invention, according to method step g, each random number is transmitted only once in order to prevent the repeated use of random numbers.
Eine weitere vorteilhafte Ausgestaltung sieht vor, dass auch der Zufallszahlengenerator mit wenigstens einer Entropie-Quelle ausgebildet wird. Mit der zunehmenden Anzahl von Entro¬ pie-Quellen kann die Zufälligkeit und Unvorhersagbarkeit der hieraus erzeugten Zufallszahlen verbessert werden. A further advantageous embodiment provides that the random number generator is also formed with at least one entropy source. With the increasing number of Entro ¬ pie sources, the randomness and unpredictability of the random numbers generated therefrom can be improved.
Nach einer vorteilhaften Ausgestaltung der Erfindung werden als Entropie-Quellen die Messungenauigkeiten von in dem Fahrzeug eingesetzten Sensoren verwendet. Dies betreffen vorzugsweise ein Motordrehzahl-Sensor und/oder ein die Lenkbewegungen eines Lenkrades des Fahrzeugs erfassender Sensor und/oder ein Radar-Sensor und/oder wenigstens ein Lichtsen-sor und/oder ein die Position des Bremspedals des Fahrzeugs erfassender Sensor. Bei der Verwendung von Sensoren als Entropie-Quellen werden deren Messungenauigkeiten gemessen und als Bit-Zahl digitalisiert, wobei als Rohdaten die n niederwertigsten Bits der Bitzahl verwendet werden. Des Weiteren können weiterbildungsgemäß als Entropie-Quellen Bussignale eines Datenbusses des Fahrzeugs und/oder Regelsignale eines Regelsystems des Fahrzeugs verwendet werden. Hierzu werden
vorzugsweise die Zeitdauer zwischen zwei nicht-periodischen Nachrichten gleichen Typs auf dem Datenbus als Entropiequelle verwendet . Schließlich können weiterbildungsgemäß als Entropie-Quellen Ergebnisse kryptografischer Berechnungen verwendet werden. Hierzu werden vorzugsweise als kryptografische Berechnungen Hash-Summen und/oder Message-Authentication-Codes (MACs) Signaturen und/oder verschlüsselte Daten verwendet. According to an advantageous embodiment of the invention, the measurement inaccuracies of sensors used in the vehicle are used as entropy sources. This preferably relates to an engine rpm sensor and / or a sensor which detects the steering movements of a steering wheel of the vehicle and / or a radar sensor and / or at least one light sensor and / or a sensor which detects the position of the brake pedal of the vehicle. When using sensors as entropy sources, their measurement inaccuracies are measured and digitized as a bit number, using as raw data the n least significant bits of the number of bits. Furthermore, according to further development, bus signals of a data bus of the vehicle and / or control signals of a control system of the vehicle can be used as entropy sources. To do this Preferably, the time duration between two non-periodic messages of the same type on the data bus used as entropy source. Finally, as entropy sources, results of cryptographic computations can be used as training. For this purpose, as a cryptographic calculations, hash sums and / or message authentication codes (MACs), signatures and / or encrypted data are preferably used.
Nach einer weiteren vorteilhaften Weiterbildung der Erfindung wird die Qualitätssicherung gemäß Verfahrensschritt d mit statistischen Analysemethoden durchgeführt. Hierzu wird eine bestimmte Metrik eingesetzt, die sicherstellt dass die aus- gewählten Daten nichtdeterministisch auftreten, andernfalls werden sie verworfen, d. h. die von den Entropie-Quellen gelieferten Rohdaten müssen gleichverteilt sein und dürfen keine statistische Schieflage oder statistische Muster enthalten. Diese Anforderungen werden durch Anwendung von bekannten statistischen Analysemethoden sichergestellt. Außerdem werden die ausgewählten Rohdaten erst dann weiterverarbeitet, wenn diese ein gewisses Mindestmaß an Entropie enthalten. Hierfür werden die auf Gleichverteilung geprüften Rohdaten durch kryptografische Hash-Funktionen durchmischt und komprimiert, um die Entropie zu erhöhen. According to a further advantageous development of the invention, the quality assurance according to method step d is carried out with statistical analysis methods. For this purpose, a certain metric is used, which ensures that the selected data does not appear deterministic, otherwise they are discarded, ie. H. the raw data provided by the sources of entropy must be equally distributed and must not contain any statistical imbalance or statistical patterns. These requirements are ensured by applying known statistical analysis methods. In addition, the selected raw data will not be processed until it has some minimum entropy. For this purpose, the raw data checked for uniform distribution are mixed and compressed by cryptographic hash functions in order to increase the entropy.
Das sichere Speichern der erzeugten Zufallszahlen als aggregierten Datenblock gemäß Verfahrensschritt f vor der Verteilung mittels der Verteilungskomponente des Zufallszahlengenerators wird mit einem Verschlüsselungsalgorithmus mit einem vorge¬ gebenen Operationsmodi durchgeführt. Damit wird die Vertrau¬ lichkeit und Integrität der Zufallszahlen bis zur Verwendung durch die Steuereinheiten gewährleistet. Die zweitgenannte Aufgabe wird gelöst durch ein Fahrzeugnetzwerk mit den Merkmalen des Patentanspruches 13.
Ein solches Fahrzeugnetzwerk zur Bereitstellung von Zufallszahlen mit einer Mehrzahl von kommunizierenden Steuereinheiten umfasst folgende Komponenten: The secure storage of the generated random numbers as an aggregated data block according to method step f before the distribution by means of the distribution component of the random number generator is performed with an encryption algorithm with a given operating modes ¬ . Thus, the confidentiality and integrity ¬ friendliness of the random numbers is to use guaranteed by the control units. The second object is achieved by a vehicle network with the features of claim 13. Such a vehicle network for providing random numbers with a plurality of communicating control units comprises the following components:
- einen Zufallszahlengenerator, welcher zum Übermitteln von Zufallszahlen an die Steuereinheiten mit dem Fahrzeugnetzwerk verbunden ist, wobei der Zufallszahlengenerator eine Aggregationskomponente, eine Speichereinheit und eine Vertei¬ lungskomponente aufweist, - wherein said random number generator has a random number generator, which is connected for transmitting random numbers to the control units with the vehicle network, an aggregation component, a memory unit and a defense ¬ lung component,
- mehrere Steuereinheiten mit jeweils mindestens einer Ent- ropie-Quelle, wobei die von den Entropie-Quellen erzeugten a plurality of control units each having at least one source of entropy generated by the entropy sources
Rohdaten zur Erzeugung der Zufallszahlen über das Fahrzeugnetzwerk der Aggregationskomponente des Zufallszahlengenerators über mittelbar ist, wobei Raw data for generating the random numbers over the vehicle network of the aggregation component of the random number generator is indirectly, wherein
- die Aggregationskomponente ausgebildet ist, die von den Entropie-Quellen übermittelten Rohdaten zu kombinieren und diese einer Qualitätssicherung zu unterziehen, indem nur solche kombinierte Rohdaten als qualifizierte Rohdaten verwendbar sind, welche sowohl nichtdeterministisch auftreten als auch ein Mindestmaß an Entropie enthalten, the aggregation component is designed to combine the raw data transmitted by the entropy sources and to ensure quality assurance by using only such combined raw data as qualified raw data which both occur nondeterministically and also contain a minimum degree of entropy,
- die Aggregationskomponente zum Nachverarbeiten der quali¬ fizierten Rohdaten ausgebildet ist, wonach diese mittels einer kryptographischen Einwegfunktion in einen aggregierten Datenblock unwandelbar sind und dieser Datenblock als Zufallszahl in der Speichereinheit sicher speicherbar ist, und - the aggregation component is configured for post-processing of the raw data quali ¬ fied, after which they are unchangeable by means of a cryptographic one-way function in an aggregated data block and the data block is stored as a secure random number in the memory unit, and
g) die Speichereinheit ausgebildet ist, eine gespeicherteg) the memory unit is formed, a stored
Zufallszahl an eine Steuereinheit über das Fahrzeugnetzwerk mittels der Verteilungskomponente zu übermitteln. Transmit random number to a control unit via the vehicle network by means of the distribution component.
Dieses erfindungsgemäße Fahrzeugnetzwerk weist auch die vor- teilhaften Eigenschaften auf, die im Zusammenhang mit dem erfindungsgemäßen Verfahren aufgeführt sind. This vehicle network according to the invention also has the advantageous properties which are listed in connection with the method according to the invention.
Vorteilhafte Ausgestaltungen des erfindungsgemäßen Fahrzeugnetzwerks sind durch die Merkmale der abhängigen Patentansprüche 14 bis 20 gegeben.
Das erfindungsgemäße Verfahren wird nachfolgend anhand von Ausführungsbeispielen eines erfindungsgemäßen Fahrzeugnetzwerks unter Bezugnahme auf die beigefügten Figuren beschrieben und erläutert. Es zeigen: Advantageous embodiments of the vehicle network according to the invention are given by the features of the dependent claims 14 to 20. The inventive method will be described below with reference to embodiments of a vehicle network according to the invention with reference to the accompanying figures and explained. Show it:
Figur 1 eine schematische Darstellung eines Ausführungs¬ beispiels des erfindungsgemäßen Fahrzeugnetzwerks zur Durchführung des erfindungsgemäßen Verfahrens, FIG. 1 shows a schematic representation of an exemplary embodiment of the vehicle network according to the invention for carrying out the method according to the invention,
Figur 2 eine detailliertere schematische Darstellung des Figure 2 is a more detailed schematic representation of
Fahrzeugnetzwerks nach Figur 1, und Vehicle network according to Figure 1, and
Figur 3 eine schematische Darstellung der Erzeugung von Figure 3 is a schematic representation of the generation of
Zufallszahlen mittels eines Zufallszahlengenerators des Fahrzeugnetzwerks gemäß Figur 2. Random numbers by means of a random number generator of the vehicle network according to FIG. 2.
Die Figur 1 zeigt die Struktur eines erfindungsgemäßen Fahrzeugnetzwerks 1, mit welchem das erfindungsgemäße Verfahren zur Bereitstellung von Zufallszahlen mittels dieses Fahrzeugnetzwerks 1 realisiert wird. 1 shows the structure of a vehicle network 1 according to the invention, with which the inventive method for providing random numbers by means of this vehicle network 1 is realized.
Dieses Fahrzeugnetzwerk 1 besteht aus mehreren Steuereinheiten (ECU) 2, 3, 4 und 5 sowie einer Steuereinheit 6 mit einem Zufallszahlengenerator 7. Diese Steuereinheiten kommunizieren miteinander über einen Datenbus 10, bspw. einem CAN-Bus . This vehicle network 1 consists of several control units (ECU) 2, 3, 4 and 5 and a control unit 6 with a random number generator 7. These control units communicate with each other via a data bus 10, for example. A CAN bus.
Mittels des Zufallszahlengenerators 7, der im folgenden Ent¬ ropie-Pool genannt und ebenso mit dem Bezugszeichen 7 bezeichnet wird, werden Zufallszahlen erzeugt und vorgehalten, um diese bei Bedarf bestimmten Steuereinheiten für kryptografische Operationen zur Verfügung zu stellen. By means of the random number generator 7, which is hereinafter referred to Ent ¬ ropie pool and also referred to by the reference numeral 7, are generated random numbers and maintained to provide these particular if required control units for cryptographic operations.
Ein solcher Entropie-Pool 7 kann, wie dies bspw. in Figur 1 angedeutet ist, in einer Steuereinheit 6 als Software-Komponente integriert werden. Hierzu kann eine bereits existierende Steuereinheit 6 oder eine für diesen Zweck realisierte Steu¬ ereinheit 6 verwendet werden.
Die Figur 2 zeigt im Detail den Aufbau des Fahrzeugnetzwerks 1. Hiernach besteht der Entropie-Pol 7 aus folgenden Hauptkomponenten : As is indicated, for example, in FIG. 1, such an entropy pool 7 can be integrated in a control unit 6 as a software component. For this purpose, an existing control unit 6 or implemented for this purpose STEU ¬ ereinheit can be used. 6 FIG. 2 shows the structure of the vehicle network 1 in detail. Hereinafter, the entropy pole 7 consists of the following main components:
- einer Aggregationskomponente 7.1, an aggregation component 7.1,
- einem als sicherer Speicher ausgeführten Speichereinheit 7.2, und a memory unit 7.2 executed as secure memory, and
- einer Verteilungskomponente. - a distribution component.
Die für die Erzeugung von Zufallszahlen erforderlichen Entropie-Quellen sind gemäß Figur 2 in einigen Steuereinheiten, nämlich in den Steuereinheiten 2, 3 und 4 realisiert, indem diese Steuereinheiten 2, 3 und 4 einen Entropie-Agenten als Komponente aufweisen, die wenigstens eine Entropie-Quelle enthält. So ist der Entropie-Agent 3.1 der Steuereinheit 2 mit einer Entro¬ pie-Quelle 2.10, der Entropie-Agent 3.1 der Steuereinheit 3 mit zwei Entropie-Quellen 3.10 und 3.11 und der Entropie-Agent 4.1 der Steuereinheit 4 mit einer Entropie-Quelle 4.10 ausgeführt. The entropy sources required for the generation of random numbers are realized according to FIG. 2 in some control units, namely in the control units 2, 3 and 4, in that these control units 2, 3 and 4 comprise an entropy agent as component which at least one entropy Source contains. Thus, the entropy Agent 3.1 of the control unit 2 with a Entro ¬ pie source 2.10, the entropy Agent 3.1 of the control unit 3 with two entropy sources 3.10 and 3.11 and the entropy Agent 4.1 of the control unit 4 with an entropy source 4:10 executed.
Auch der Entropie-Pool 7 weist neben den oben aufgeführten Hauptkomponenten zwei Entropie-Agenten 7.4 und 7.5 mit einer Entropie-Quelle 7.40 bzw. mit zwei Entropie-Quellen 7.50 und 7.51 auf . In addition to the main components listed above, the entropy pool 7 also has two entropy agents 7.4 and 7.5 with an entropy source 7.40 or with two entropy sources 7.50 and 7.51.
Die Entropie-Agenten 3.1, 3.1, 4.1 der Steuereinheiten 2, 3 und 4 sowie die Entropie-Agenten 7.4 und 7.5 des Entropie-Pools 7 sind über eine unidirektionale Verbindung al, a2 und a3 sowie a4 und a5 mit der Aggregationskomponente 7.1 des Entropie-Pools 7 verbunden. Über diese Kommunikationsverbindungen al bis a5 werden die für die Erzeugung von Zufallszahlen erforderlichen Rohdaten der entsprechenden Entropie-Quellen der Entropie-Agenten dieser Aggregationskomponente 7.1 übermittelt. Diejenigen Steuereinheiten, die Zufallszahlen zur Durchführung von kryptographischen Berechnungen benötigen, weisen als Komponente einen Zufallszahlen-Kollektor auf. So weist die
Steuereinheit 4 einen Zufallszahlen-Kollektor 4.2 und die Steuereinheit 5 einen Zufallszahlen-Kollektor 5.2 auf. Diese Zufallszahlen-Kollektoren 4.2 und 5.2 sind jeweils über eine unidirektionale Verbindung bl und b2 mit der Verteilungskom- ponente 7.3 des Entropie-Pools 7 verbunden. Über diese Kom¬ munikationsverbindungen bl und b2 werden mittels der Verteilungskomponente 7.3 die in der Speichereinheit 7.2 abgelegten Zufallszahlen dem Zufallszahlen-Kollektor 4.2 und dem Zufallszahlen-Kollektor 5.2 übermittelt. The entropy agents 3.1, 3.1, 4.1 of the control units 2, 3 and 4 and the entropy agents 7.4 and 7.5 of the entropy pool 7 are connected via a unidirectional connection a1, a2 and a3 and a4 and a5 with the aggregation component 7.1 of the entropy Pools 7 connected. Via these communication links al to a5, the raw data required for the generation of random numbers of the corresponding entropy sources of the entropy agents of this aggregation component 7.1 are transmitted. Those controllers which require random numbers to perform cryptographic calculations have as component a random number collector. This is how the Control unit 4 a random number collector 4.2 and the control unit 5 a random number collector 5.2. These random number collectors 4.2 and 5.2 are each connected to the distribution component 7.3 of the entropy pool 7 via a unidirectional connection b1 and b2. About this Kom ¬ munikationsverbindungen bl and b2, the data stored in the memory unit 7.2 random numbers are transmitted to the random number and the random numbers collector 4.2 Collector 5.2 by means of the distribution component 7.3.
Aus Figur 2 ist ersichtlich, dass das Fahrzeugnetzwerk 1 Steuereinheiten aufweist, die als Produzenten von Entropie mit einem Entropie-Agenten ausgeführt sind und Steuereinheiten aufweist, die nur als Konsumenten von Zufallszahlen auftreten und daher nur einen Zufallszahlen-Kollektor und keinen Entropie-Agenten umfassen. So sind die beiden Steuereinheiten 2 und 3 als Produzenten von Entropie nur mit einem Entropie-Agenten 3.1 und 3.1 ausgestattet, während die Steuereinheit 5 als Konsument von Zufallszahlen nur einen Zufallszahlen-Kollektor 5.2 auf- weist. Die Steuereinheit 4 tritt dagegen sowohl als Produzent von Entropie als auch als Konsument von Zufallszahlen auf und weist daher sowohl einen Entropie-Agenten 4.1 und einen Zufallszahlen-Kollektor 4.2 auf. Die unidirektionalen Kommunikationsverbindungen al, a2 und a3 sowie bl und b2 können über den Datenbus 10 oder über eine separate Kommunikationsstruktur realisiert werden. From Figure 2 it can be seen that the vehicle network 1 comprises control units which are implemented as producers of entropy with an entropy agent and have control units which only occur as consumers of random numbers and therefore comprise only a random number collector and no entropy agent. Thus, the two control units 2 and 3, as producers of entropy, are equipped only with an entropy agent 3.1 and 3.1, whereas the control unit 5, as a consumer of random numbers, has only a random number collector 5.2. In contrast, the control unit 4 acts both as a producer of entropy and as a consumer of random numbers and therefore has both an entropy agent 4.1 and a random number collector 4.2. The unidirectional communication links al, a2 and a3 and bl and b2 can be realized via the data bus 10 or via a separate communication structure.
Zur Erstellung der Zufallszahlen benutzt der Entropie-Pool 7 sowohl die in den entsprechenden Steuereinheiten 2, 3 und 4 implementierten Entropie-Quellen 2.10, 3.10 und 3.11 sowie 4.10 als auch die eigenen Entropie-Quellen 7.40, 7.50 und 7.51. To generate the random numbers, the entropy pool 7 uses both the entropy sources 2.10, 3.10 and 3.11 and 4.10 implemented in the corresponding control units 2, 3 and 4, and the own entropy sources 7.40, 7.50 and 7.51.
Zur Realisierung dieser Entropie-Quellen können unterschied- liehe zufällige Ereignisse eingesetzt werden.
Solche zufälligen Ereignisse können auf physikalischen Phänomenen beruhen, wie bspw. analoge Messungenauigkeiten von im Fahrzeug eingesetzten Sensoren. Da Messungenauigkeiten in der Regel durch nichtdeterministische Umgebungseinflüsse zustande kommen, können Sie als Quelle für Entropie genutzt werden. Hierfür eignen sich bspw. folgende Sensoren im Fahrzeug: For the realization of these entropy sources, different random events can be used. Such random events may be due to physical phenomena, such as analog inaccuracies of sensors used in the vehicle. Since measurement inaccuracies are usually caused by non-deterministic environmental influences, they can be used as a source of entropy. For example, the following sensors in the vehicle are suitable for this:
- Motordrehzahl-Sensor - Engine speed sensor
- Sensor zur Detektion von Lenkbewegungen - Sensor for the detection of steering movements
- Radar-Sensor - Radar sensor
- Lichtsensoren - Light sensors
- Sensoren zur Detektion der Position des Bremspedals. - Sensors for detecting the position of the brake pedal.
Bei der Verwendung solcher Sensoren als Entropie-Quellen werden deren Messungenauigkeiten gemessen und als Bit-Zahl digitalisiert, wobei als Rohdaten die n niederwertigsten Bits der Bitzahl verwendet werden. Werden solche Rohdaten bspw. auf dem Datenbus 10 an alle Netzwerk-Teilnehmer versendet, können diese Daten auch von den Entropie-Agenten 7.4 und 7.5 des Entro- pie-Pools direkt von dem Datenbus 10 abgegriffen und an die Aggregationskomponente 7.1 zur weiteren Verarbeitung übermittelt werden. Using such sensors as entropy sources, their measurement inaccuracies are measured and digitized as a bit number, using as raw data the n least significant bits of the bit number. If such raw data are sent, for example, on the data bus 10 to all network subscribers, these data can also be tapped directly from the data bus 10 by the entropy agents 7.4 and 7.5 of the entropy pool and transmitted to the aggregation component 7.1 for further processing ,
Es können auch Ereignisse, die in Komponenten des Fahrzeug- netzwerks 1 auftreten, wie bspw. in dem Datenbus 10 oder in einem Regelsystem, wie bspw. eines Komfortsystems oder eines As¬ sistenzsystems des Fahrzeugs als Entropie-Quelle verwendet werden . So ist bei der Verwendung des Datenbusses 10, der bspw. als CAN-Bus ausgeführt ist, die Zeit, die zwischen zwei It is also possible events that occur in the components of the vehicle network 1, such as. In the data bus 10 or in a control system, such as, a system or a comfort As ¬ sistenzsystems of the vehicle be used as the entropy source. Thus, when using the data bus 10, which is designed, for example, as a CAN bus, the time between two
nicht-periodischen Nachrichten gleichen Typs auf dem CAN-Bus vergeht, aufgrund der komplexen deterministischer Vorgänge nur schwer vorhersagbar und kann deshalb als Entropie-Quelle genutzt werden. Solche nicht-periodischen Nachrichten lassen sich in drei verschiedene Kategorien einordnen:
- Zeitfenster zwischen dem Auftreten von Werten bestimmter nicht-zyklischer Nachrichttypen auf dem Datenbus, bspw.: Non-periodic messages of the same type on the CAN bus passes, due to the complex deterministic processes is difficult to predict and can therefore be used as entropy source. Such non-periodic messages can be classified into three different categories: Time window between the occurrence of values of certain non-cyclic message types on the data bus, for example:
• Zeitfenster für das Auftreten eines bestimmten Bremswertes • Time window for the occurrence of a specific braking value
• Zeit zwischen dem Heben und Senken der Fensterscheibe • Time between raising and lowering the window
· Zeitfenster zwischen dem Öffnen der Tankklappe · Time window between opening the fuel filler flap
• Zeit, in der ein bestimmter Gang genutzt wird. • Time in which a particular gear is used.
- Zeitfenster zwischen der Folge von bestimmten Werten einer bestimmen Nachricht oder einer Sequenz von mehreren Nach- richtentypen auf dem Datenbus, bspw.: Time window between the sequence of certain values of a particular message or a sequence of several message types on the data bus, for example:
• Zeitfenster zwischen einem bestimmten Bremswertemuster • Time window between a specific braking pattern
• Bestimmtes Schaltmuster einer Folge von Gängen und Verweilzeit in den Gängen bei der Gangschaltung. - Dauer einer bestimmten Sequenz von Nachrichtentypen auf dem Datenbus, welche unabhängig voneinander sind ohne die ei¬ gentlichen Werte der Nachricht zu beachten, bspw.: • Specific shift pattern of a sequence of gears and dwell time in the gears in the gearshift. - duration of a given sequence of message types on the data bus, the message should be noted which are independent of each other without the egg ¬ tual values, eg .:
o Bestimmtes Muster beim Anfahren: Mischung von Beschleunigung, Gang, Benzinzufuhr o Specific pattern at start-up: mixture of acceleration, gear, fuel supply
Bei der Verwendung des Regelsystems eines Komfortsystems, bspw. einer Klimaanlage als Entropie-Quelle wird die in der Regelung gemessene Differenz zwischen einem Soll- und Ist-Wert erfasst. Schließlich ist es auch möglich, die Ergebnisse von krypto- graphischen Berechnungen als Entropie-Quelle zu verwenden, da die Ergebnisse kryptographischer Berechnungen meist eine hohe Entropie aufweisen, um die Sicherheit der zu schützenden Eigenschaften (Vertraulichkeit, Integrität, Authentizität) zu gewährleisten. Beispiele für Ergebnisse kryptographischer Berechnungen sind: When using the control system of a comfort system, for example. An air conditioner as entropy source, the difference between a setpoint and actual value measured in the control is detected. Finally, it is also possible to use the results of cryptographic computations as an entropy source, since the results of cryptographic computations usually have a high degree of entropy in order to ensure the security of the properties to be protected (confidentiality, integrity, authenticity). Examples of results of cryptographic calculations are:
- Hash-Summen - hash buzz
- Message-Authentication-Codes (MACs) - Message Authentication Codes (MACs)
- Signaturen - Signatures
- Verschlüsselte Daten.
Prinzipiell ist die Installation eines Entropie-Agenten an jeder Stelle im Fahrzeug denkbar, wo solche kryptographischen Berechnungen durchgeführt werden und ist fahrzeugherstellerab- hängig. Für die Erzeugung von Entropie sollten nur solche kryptographischen Verfahren und Protokolle verwendet werden, bei denen eine Wiederholung von Werten unwahrscheinlich ist. - Encrypted data. In principle, the installation of an entropy agent at any point in the vehicle is conceivable where such cryptographic calculations are carried out and is vehicle-manufacturer-dependent. For the generation of entropy, only those cryptographic methods and protocols should be used in which a repetition of values is unlikely.
Wird beispielsweise die Integrität bestimmter Nachrichten auf dem CAN-Bus mittels Message-Authentication-Codes geschützt, können die entsprechenden Nachrichten von einem Entropie-Agenten 7.4 oder 7.5 innerhalb des Entropie-Pools 7 direkt an Hand ihrer Object-ID identifiziert und abgegriffen werden. Der Entropie-Agent 7.4 oder 7.5 kann dann den MAC extrahieren und an die Aggregationskomponente 7.1 weiterleiten. If, for example, the integrity of certain messages on the CAN bus is protected by means of message authentication codes, the corresponding messages can be identified and tapped by an entropy agent 7.4 or 7.5 within the entropy pool 7 directly on the basis of their object ID. The entropy agent 7.4 or 7.5 can then extract the MAC and forward it to the aggregation component 7.1.
Wird die Kommunikation einer Steuereinheit des Fahrzeugnetzwerks 1 mit dem Backend über das Internet beispielweise mit Protokollen wie TLS verschlüsselt, kann ein Entropie-Agent innerhalb der Steuereinheit den Chiffretext der Kommunikation für die Ent- ropiegewinnung nutzen und an die Aggregationskomponente 7.1 weiterleiten . If the communication of a control unit of the vehicle network 1 with the backend via the Internet is encrypted, for example with protocols such as TLS, an entropy agent within the control unit can use the ciphertext of the communication for the recovery and forward it to the aggregation component 7.1.
Die an die Aggregationskomponente 7.1 des Entropie-Pools 7 übermittelten digitalen Rohdaten müssen aufbereitet und zur Eignung als Zufallszahl qualifiziert, wie dies schematisch mit Figur 3 angedeutet ist. Nach Figur 3 werden die Rohdaten der unterschiedlichen Entropiequellen „Sensoren", „Bussignal/Regelsignale" und „kryptografische Berechnungen" einer Qualitätssicherung unterzogen, indem nur solche aus den ver- schiedenen Entropie-Quellen kombinierte Rohdaten als qualifizierte Rohdaten verwendet werden, welche sowohl nichtde¬ terministisch auftreten als auch ein Mindestmaß an Entropie enthalten. Diese qualifizierten Rohdaten werden anschließend einer Nachverarbeitung zugeführt, bevor diese qualifizierten und nachbearbeiteten Rohdaten als Zufallszahlen in der als sicherer Speicher ausgeführten Speichereinheit 7.2 gespeichert werden.
Zur Durchführung der Qualitätssicherung werden die verwendeten Rohdaten, die Kombinationen aus den verschiedenen Entropie-Quellen darstellen, mit einer bestimmten Metrik bewertetet, indem mit den unten aufgeführten Testverfahren sichergestellt wird, dass die von den Entropie-Quellen zur Verfügung gestellten Rohdaten gleichverteilt und keine statistische Schieflage oder statistische Muster enthalten. Die gewählte Metrik stellt sicher, dass die gewählten Rohdaten nichtdeterministisch auftreten und verwirft diese anderenfalls. Außerdem werden die angesammelten Entropiedaten nur dann zur Weiterverarbeitung freigegeben, wenn diese ein gewisses Mindestmaß an Entropie enthalten. Hierfür werden die auf Gleichverteilung geprüften Rohdaten durch kryptografische Hash-Funktionen durchmischt und komprimiert, um die Entropie zu erhöhen. Generell können dafür alle statistischen und deterministischen Online-Testverfahren zur Bestimmung von Zufallszahlen herangezogen werden. Folgende Testverfahren können dafür beispielsweise genutzt werden: The digital raw data transmitted to the aggregation component 7.1 of the entropy pool 7 must be prepared and qualified for suitability as a random number, as is indicated schematically in FIG. According to FIG. 3, the raw data of the different entropy sources "sensors", "bus signal / control signals" and "cryptographic calculations" are subjected to quality assurance by using only those raw data combined from the various entropy sources as qualified raw data, which are both non-de ¬ This qualified raw data is then postprocessed before this qualified and postprocessed raw data is stored as random numbers in the secure storage 7.2 storage unit. To perform quality assurance, the raw data used, representing combinations of the different entropy sources, is evaluated with a specific metric by ensuring, using the test procedures listed below, that the raw data provided by the entropy sources is equally distributed and not statistically skewed or statistical patterns. The selected metric ensures that the selected raw data does not occur deterministically and rejects it otherwise. In addition, the accumulated entropy data are only released for further processing if they contain a certain minimum degree of entropy. For this purpose, the raw data checked for uniform distribution are mixed and compressed by cryptographic hash functions in order to increase the entropy. In general, all statistical and deterministic online test methods can be used to determine random numbers. The following test methods can be used, for example:
- Chi-Square test, serial test zur Bestimmung einer Normal- Verteilung, - Chi-Square test, serial test to determine a normal distribution,
- Minimum test, Brithday-test , Frequency test zur Festeilung von Veteilungsschieflagen, - Minimum test, brithday-test, frequency test to fix divisional lopscences,
- Rank of matrices test, overlapping sum test zur Erkennung von repetetiven Muster, und - Rank of matrices test, overlapping sum test for the detection of repetitive patterns, and
- Correlation test, Kolmogrov-Smirnov test zur Bestimmung von Ähnlichkeiten von Verteilung, welche nicht der Normalverteilung entsprechen . - Correlation test, Kolmogrov-Smirnov test for the determination of similarities of distribution, which do not correspond to the normal distribution.
Zur Nachverarbeiten dieser derart qualifizierten Rohdaten, werden diese mittels einer kryptographischen Einwegfunktion in einen aggregierten Datenblock umgewandelt, der als Zufallszahl verwendet wird. Hierzu können alle kryptographischen Hash- funktionen und Einwegfunktionen basierend auf For post-processing of such qualified raw data, these are converted by means of a one-way cryptographic function into an aggregated data block which is used as a random number. All cryptographic hash functions and one-way functions can be based on this
Block-Cipher-Mode-Konstruktionen genutzt werden. Bei einer Einwegfunktion f gibt es praktisch kein durchführbares Verfahren, um aus einem gegebenen Funktionswert f (x) dieser Funktion den zugehörigen x-Wert zu finden.
Solche krypotgraphischen Einwegfunktionen sind bspw.: Block cipher mode constructions are used. In the case of a one-way function f, there is practically no feasible method for finding the associated x value from a given function value f (x) of this function. Such cryptographic one-way functions are, for example:
Hashfunktion mit allen beliebigen Bitlängen, wie: Hash function with any bit length, such as:
SHA-1 SHA-1
SHA-2 SHA-2
SHA-3 SHA-3
SHAKE SHAKE
RIPEMD RIPEMD
Photon photon
Spongent, oder Spongent, or
- Block-Cipher-Mode-Konstruktionen (unabhängig vom verwendeten Block-Cipher) , wie: Block cipher mode constructions (regardless of the block cipher used), such as:
Davies-Meyer-Construction Davies-Meyer Construction
Matyas-Meyer-Oseas-Construction Matyas-Meyer-Oseas-Construction
Miyaguchi-Preneel-Construction . Der letzte Aufbereitungsschritt der von den Entropie-Quellen erhaltenen Rohdaten besteht in dem sicheren Speichern der als aggregierten Datenblock erzeugten Zufallszahlen in der Speichereinheit 7.2 des Entropie-Pools 7. Das sichere Speichern muss die Vertraulichkeit und Integrität der Zufallszahlen bis zu ihrer Verwendung bei den als Konsumenten ausgeführten Steuereinheiten 4 und 5 gewährleisten. Dies kann durch Verwendung von Ver- schlüsslungsalgorithmen mit speziellem Operationsmodus gewährleistet werden. Ein Operationsmodus ist eine bestimmte Nutzungsweise eines Blockciphers , der die Verarbeitung von einem oder mehreren Klartext (en) und Chiffrat-Blöck (en) mit dem kryptographischen Algorithmus beschreibt. Die verschiedenen Operationsmodi sind im nächsten Absatz aufgeführt: Miyaguchi-Preneel Construction. The final rendering step of the raw data obtained from the entropy sources is to safely store the random numbers generated as aggregated data blocks in the storage unit 7.2 of the entropy pool 7. Secure storage must preserve the confidentiality and integrity of the random numbers until they are used as consumers ensure executed control units 4 and 5. This can be ensured by using encryption algorithms with special operation mode. An operation mode is a particular usage of a block cipher that describes the processing of one or more plain text (s) and ciphertext blocks with the cryptographic algorithm. The different operation modes are listed in the next paragraph:
- Block-Cipher mit speziellem Operationsmodus unabhängig vom Block Cipher, zum Beispiel: Block cipher with special operation mode independent of block cipher, for example:
• SIV-Mode • SIV mode
• CCM-Mode
• CMAC Message authentication mode • CCM mode • CMAC message authentication mode
• CBC-MAC • CBC MAC
• O-MAC • O-MAC
• P-MAC • P-MAC
- Authenticated Encryption-Schemes , wie zum Beispiel: - Authenticated encryption schemes, such as:
• Alle derzeitigen Teilnehmer des Cae- sar-Contests (https: //competitions .cr.yp.to/caesar. html ) • All current participants of the Caesar contest (https: // competitions .cr.yp.to / caesar. Html)
• GCM-Mode • GCM mode
· OCB-Mode · OCB mode
-Asymmetrische Signatur- und Verschlüsselungsverfahren, wie zum Beispiel : -Assymmetric signature and encryption techniques, such as:
• ECIES • ECIES
· DSA · DSA
• ECDSA • ECDSA
• RSA • RSA
Die derart erzeugten Zufallszahlen werden in der Speichereinheit 7.2 zur Verteilung an die Konsumenten (d. h. Steuereinheiten mit einem Zufallszahlen-Kollektor) durch die Verteilungskomponente 7.3 vorgehalten. The random numbers thus generated are held in the storage unit 7.2 for distribution to the consumers (i.e., random number collector controllers) by the distribution component 7.3.
Die Verteilungskomponente 7.3 stellt sicher, dass die gene- rierten Zufallszahlen an die Zufallszahlenkollektor-Komponenten der Konsumenten verteilt werden und blockiert die weitere Ausgabe, wenn die Speichereinheit 7.2 mit aktuellen Zufalls¬ zahlen leer ist. Außerdem stellt die Verteilungskomponente 7.3 sicher, dass Zufallszahlen nur einmalig an die Steuereinheiten 4 und 5 als Konsumenten übermittelt werden, wodurch eine wiederholte Verwendung von Zufallszahlen verhindert wird.
The distribution component 7.3 ensures that the generation tured random numbers are distributed to the random number collector components of consumers and blocks the further output when the memory unit 7.2 are charged with current random ¬ is empty. In addition, the distribution component 7.3 ensures that random numbers are transmitted only once to the control units 4 and 5 as consumers, thereby preventing repeated use of random numbers.