DE102019135158A1 - Method for the secure transmission of data between a server and a control device and device for performing the method - Google Patents
Method for the secure transmission of data between a server and a control device and device for performing the method Download PDFInfo
- Publication number
- DE102019135158A1 DE102019135158A1 DE102019135158.8A DE102019135158A DE102019135158A1 DE 102019135158 A1 DE102019135158 A1 DE 102019135158A1 DE 102019135158 A DE102019135158 A DE 102019135158A DE 102019135158 A1 DE102019135158 A1 DE 102019135158A1
- Authority
- DE
- Germany
- Prior art keywords
- ticket
- switching unit
- control device
- ecu
- instruction
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/84—Vehicles
Abstract
Verfahren zur Übertragung von Daten zwischen einem Server und einem Steuergerät, umfassend die Verfahrensschritte:a) Übertragen einer Funktionsanweisung an eine Vermittlungseinheit und Übermitteln der Funktionsanweisung an das/die Steuergeräte;b) Erzeugen eines der Funktionsanweisung zugehörigen Reservierungstickets und Verschlüsseln des Reservierungstickets mittels eines Codierungsschlüssels des Steuergeräts und Übermitteln des verschlüsselten Reservierungstickets an die Vermittlungseinheit;c) Verschlüsseln des verschlüsselten Reservierungstickets mit einem Codierungsschlüssel der Vermittlungseinheit und Übertragen des doppelt verschlüsselten Reservierungstickets an den Server;d) Entschlüsseln des doppelt verschlüsselten Reservierungstickets mittels des Codierungsschlüssels der Vermittlungseinheit und des Codierungsschlüssels des/der Steuergeräte;e) Erzeugen eines Sitzungsschlüssels und Erzeugen eines zu dem Reservierungsticket zugehörigen Anweisungstickets;f) Verschlüsseln des Anweisungstickets mittels dem Codierungsschlüssel des/der Steuergeräte zu einem ECU-Ticket und Verschlüsseln mittels dem Codierungsschlüssel der Vermittlungseinheit;g) Übertragen des ECU-Tickets an die Vermittlungseinheit und Entschlüsseln des ECU-Tickets;h) Übermitteln des ECU-Tickets an das/die Steuergeräte und Entschlüsseln des ECU-Tickets mittels dem Codierungsschlüssel des/der Steuergeräte;i) Überprüfen, ob das ECU-Ticket dem Reservierungsticket zugehörig ist.A method for the transmission of data between a server and a control device, comprising the steps of: a) transmitting a functional instruction to a switching unit and transmitting the functional instruction to the control device (s); b) generating a reservation ticket associated with the functional instruction and encrypting the reservation ticket using an encryption key of the Control unit and transmission of the encrypted reservation ticket to the switching unit; c) encrypting the encrypted reservation ticket with an encryption key of the switching unit and transmitting the doubly encrypted reservation ticket to the server; d) decrypting the doubly encrypted reservation ticket using the encryption key of the switching unit and the encryption key of the control unit (s) ; e) generating a session key and generating an instruction ticket associated with the reservation ticket; f) encrypting the instruction ungstickets using the coding key of the control unit (s) to form an ECU ticket and encrypting using the coding key of the switching unit; g) transferring the ECU ticket to the switching unit and decrypting the ECU ticket; h) transmitting the ECU ticket to the control unit (s) and decrypting the ECU ticket using the encryption key of the control unit (s); i) checking whether the ECU ticket is associated with the reservation ticket.
Description
Die Erfindung betrifft ein Verfahren und eine Vorrichtung, mittels welchen basierend auf Basis von generierten Tickets eine sichere Übertragung von Daten zwischen einem zentralen Server und mindestens einem Steuergerät eines Fahrzeugs bereitgestellt wird.The invention relates to a method and a device by means of which a secure transmission of data between a central server and at least one control device of a vehicle is provided on the basis of generated tickets.
Ebenso wird eine Vorrichtung bereitgestellt zum Ausführen des beschriebenen Verfahrens. Weiter weist die Vorrichtung gemäß einer ersten Ausführungsform zusätzlich zu dem zentralen Server und dem mindestens einen Steuergerät eine fahrzeugseitige Vermittlungseinheit auf. Gemäß einer weiteren Ausführungsform ist anstelle der fahrzeugseitigen Vermittlungseinheit eine externe Vermittlungseinheit vorgesehen, beispielsweise ein Diagnosegerät einer Werkstatt oder dergleichen.A device is also provided for executing the described method. Furthermore, according to a first embodiment, the device has, in addition to the central server and the at least one control unit, a vehicle-side switching unit. According to a further embodiment, an external switching unit is provided instead of the vehicle-side switching unit, for example a diagnostic device of a workshop or the like.
Im Stand der Technik ist es, abhängig von der Art und Ausgestaltung sowie des Einsatzortes, bekannt, dass eine Kommunikation des Fahrzeugs mit einem zentralen Server, beispielsweise zum Aufspielen von Updates oder dergleichen, ungesichert oder schwach gesichert ist, beispielsweise mittels einer bei allen Einheiten der vorliegenden Serie gleicher Absicherungsmaßnahme mit einem festen Codierungsschlüssel.In the prior art, it is known, depending on the type and design and the place of use, that communication of the vehicle with a central server, for example for installing updates or the like, is unsecured or weakly secured, for example by means of one in all units of the This series of the same security measure with a fixed coding key.
Sicherere Verfahren sind meistens deutlich aufwändiger und langwieriger, so dass diese meist nicht eingesetzt werden. Sichere Verfahren setzen meistens ein höheres Maß an Leistungsmerkmalen innerhalb der Steuergeräte voraus, so dass diese nur in komplexen Einheiten eingesetzt werden, wenn überhaupt.Most of the time, safer processes are significantly more complex and lengthy, so they are usually not used. Safe processes usually require a higher level of performance within the control units, so that they are only used in complex units, if at all.
Es ist demnach eine Aufgabe der vorliegenden Erfindung, ein Verfahren zur sicheren Übertragung von Daten zwischen einem Server und einem Steuergerät des Fahrzeugs bereitzustellen, welches einerseits eine hohe Sicherheit gewährleistet und dennoch eine schnelle Kommunikation und eine flexible Gestaltung der Zugriffsrechte erlaubt.It is therefore an object of the present invention to provide a method for the secure transmission of data between a server and a control unit of the vehicle which, on the one hand, ensures a high level of security and nevertheless allows fast communication and flexible configuration of the access rights.
Gelöst wird diese Aufgabe von einem Verfahren zur sicheren Übertragung von Daten zwischen einem zentralen Server und mindestens einem Steuergerät eines Fahrzeugs, umfassend die Verfahrensschritte:
- a) Übertragen einer Funktionsanweisung an eine fahrzeugseitige Vermittlungseinheit, welche mit dem zentralen Server in kommunikationstechnischer Verbindung steht, und Übermitteln der Funktionsanweisung an das oder die der Funktionsanweisung zugehörigen Steuergeräte mittels der fahrzeugseitigen Vermittlungseinheit;
- b) Erzeugen eines der Funktionsanweisung zugehörigen Reservierungstickets innerhalb des oder der Steuergeräte, bevorzugt mit Vergabe einer Ticket-Kennung zur Identifizierung der Zugehörigkeit des Reservierungstickets, und Verschlüsseln des Reservierungstickets mittels eines Codierungsschlüssels des Steuergeräts und Übermitteln des verschlüsselten Reservierungstickets an die fahrzeugseitige Vermittlungseinheit;
- c) Verschlüsseln des verschlüsselten Reservierungstickets mit einem Codierungsschlüssel der fahrzeugseitigen Vermittlungseinheit und Übertragen des doppelt verschlüsselten Reservierungstickets an den zentralen Server;
- d) Entschlüsseln des doppelt verschlüsselten Reservierungstickets mittels des Codierungsschlüssels der fahrzeugseitigen Vermittlungseinheit und des Codierungsschlüssels des oder der Steuergeräte;
- e) Erzeugen eines Sitzungsschlüssels im zentralen Server und Erzeugen eines zu dem Reservierungsticket zugehörigen Anweisungstickets, besonders bevorzugt mit einer Zugriffscodierung zur Freigabe von Funktionen im Steuergerät;
- f) Verschlüsseln des Anweisungstickets zusammen mit dem Sitzungsschlüssels mittels dem Codierungsschlüssel des oder der Steuergeräte zu einem ECU-Ticket und Verschlüsseln des ECU-Tickets mittels dem Codierungsschlüssel der fahrzeugseitigen Vermittlungseinheit;
- g) Übertragen des verschlüsselten ECU-Tickets an die fahrzeugseitige Vermittlungseinheit und Entschlüsseln des verschlüsselten ECU-Tickets mittels dem Codierungsschlüssel der fahrzeugseitigen Vermittlungseinheit;
- h) Übermitteln des ECU-Tickets an das oder die Steuergeräte und Entschlüsseln des ECU-Tickets mittels dem Codierungsschlüssel des oder der Steuergeräte;
- i) Überprüfen mittels des oder der Steuergeräte, ob das ECU-Ticket dem Reservierungsticket zugehörig ist, insbesondere, ob das ECU-Ticket dem Reservierungsticket zugehörig ist anhand der Ticket-Kennung.
- a) transferring a functional instruction to a vehicle-side switching unit which is in communication-related connection with the central server, and transmitting the functional instruction to the control unit (s) belonging to the functional instruction by means of the vehicle-side switching unit;
- b) generating a reservation ticket associated with the functional instruction within the control device or devices, preferably by assigning a ticket identifier to identify the membership of the reservation ticket, and encrypting the reservation ticket by means of a coding key of the control device and transmitting the encrypted reservation ticket to the vehicle-side switching unit;
- c) encrypting the encrypted reservation ticket with a coding key of the vehicle-side switching unit and transmitting the double-encrypted reservation ticket to the central server;
- d) decrypting the double-encrypted reservation ticket by means of the coding key of the vehicle-side switching unit and the coding key of the control device or devices;
- e) generating a session key in the central server and generating an instruction ticket associated with the reservation ticket, particularly preferably with an access code to enable functions in the control unit;
- f) encrypting the instruction ticket together with the session key using the coding key of the control device or devices to form an ECU ticket and encrypting the ECU ticket using the coding key of the vehicle-side switching unit;
- g) transmitting the encrypted ECU ticket to the vehicle-side switching unit and decrypting the encrypted ECU ticket using the coding key of the vehicle-side switching unit;
- h) transmitting the ECU ticket to the control device (s) and decrypting the ECU ticket using the coding key of the control device (s);
- i) Check by means of the control device (s) whether the ECU ticket is associated with the reservation ticket, in particular whether the ECU ticket is associated with the reservation ticket using the ticket identifier.
Das Reservierungsticket dient als eine Reservierung für eine spätere Verwendung des Anweisungstickets.The reservation ticket serves as a reservation for later use of the instruction ticket.
Vorzugsweise können nach dem Schritt i) der Überprüfung die Funktionen freigegeben werden.The functions can preferably be released after step i) of the check.
Unabhängig von der Ausführungsform sind in dem zentralen Server die jeweiligen vorhandenen Codierungsschlüssel des mindestens einen Steuergeräts, der fahrzeugseitigen Vermittlungseinheit sowie der externen Vermittlungseinheit hinterlegt. Außerdem ist in dem zentralen Server die vollständige bzw. gesamte Netztopologie hinterlegt, aus welcher ermittelt werden kann, welche Funktionalität in welchem Steuergerät zur Durchführung der geplanten Operationen freigeschalten werden müssen.Regardless of the embodiment, the respective existing coding keys of the at least one control unit, the vehicle-side switching unit, are in the central server as well as the external switching unit. In addition, the complete or entire network topology is stored in the central server, from which it can be determined which functionality in which control device must be activated in order to carry out the planned operations.
Jedes Steuergerät weist einen eigenen Codierungsschlüssel auf, sowie die fahrzeugseitige Vermittlungseinheit einen eigenen Codierungsschlüssel und die externe Vermittlungseinheit einen eigenen Codierungsschlüssel. Dies gilt beispielsweise auch für jedes mögliche Fahrzeug einer Flotte oder eines Herstellers, sowie aller externen Vermittlungseinheiten, welche beispielsweise in Werkstätten zu finden sind. Weiter sind die Schlüssel eindeutig, vorzugsweise eineindeutig, dem jeweiligen Bauteil zugeordnet.Each control unit has its own coding key, and the vehicle-side switching unit has its own coding key and the external switching unit has its own coding key. This also applies, for example, to every possible vehicle in a fleet or a manufacturer, as well as all external switching units that can be found in workshops, for example. Furthermore, the keys are uniquely, preferably uniquely, assigned to the respective component.
Im Folgenden wird zunächst die Ausführungsform eines Verfahrens mit einer fahrzeugseitigen Vermittlungseinheit beschrieben. Dabei werden alle möglichen Verfahrensschritte aufgelistet, welche jedoch nicht unbedingt zwingend notwendig sein müssen.The embodiment of a method with a vehicle-side switching unit is first described below. All possible process steps are listed, which, however, are not absolutely necessary.
Zunächst wird in einem ersten Schritt eine Funktionsanweisung an die fahrzeugseitige Vermittlungseinheit erzeugt und übertragen und von der fahrzeugseitigen Vermittlungseinheit empfangen, welche daraufhin einen Zugriffswunsch mit der Funktionsanweisung an das entsprechende Steuergerät oder die entsprechenden Steuergeräte übermittelt.In a first step, a functional instruction is generated and transmitted to the vehicle-side switching unit and received by the vehicle-side switching unit, which then transmits an access request with the functional instruction to the corresponding control unit or the corresponding control units.
Gemäß einer bevorzugten Ausführungsform wird nach Erhalt der Funktionsanweisung an dem oder den Steuergeräten, insbesondere zur Generierung des Reservierungstickets, eine in einem Zähler des jeweiligen Steuergeräts hinterlegten Nummer inkrementiert, neu in dem jeweiligen Steuergerät gespeichert und die inkrementierte Nummer als eine Ticket-Kennung in das Reservierungsticket eingetragen. Das jeweilige Steuergerät empfängt diesen Zugriffswunsch mit der Funktionsanweisung und erstellt basierend auf einem im Steuergerät befindlichen Zähler (mit einer hinterlegten Nummer), welche durch das Steuergerät aufgrund der Funktionsanweisung inkrementiert wird, vorzugsweise neu abgespeichert wird und in ein Reservierungs-Ticket eingetragen wird. Ebenso bevorzugt wird die beabsichtige Funktion der Funktionsanweisung als binärer Code und gegebenenfalls weitere Informationen, beispielsweise eine Seriennummer, beispielsweise des Steuergeräts, in dem Reservierungs-Ticket eingetragen.According to a preferred embodiment, after receiving the functional instruction on the control device (s), in particular for generating the reservation ticket, a number stored in a counter of the respective control device is incremented, newly stored in the respective control device and the incremented number as a ticket identifier in the reservation ticket registered. The respective control unit receives this access request with the function instruction and creates based on a counter located in the control unit (with a stored number), which is incremented by the control unit based on the function instruction, is preferably saved again and is entered in a reservation ticket. The intended function of the functional instruction is likewise preferably entered as a binary code and possibly further information, for example a serial number, for example of the control unit, in the reservation ticket.
Gemäß einer weiteren bevorzugten Ausführungsform wird beim Verschlüsseln des Reservierungstickets oder während oder nach dem Erzeugen des verschlüsselten Reservierungstickets im jeweiligen Steuergerät ein Timer des Steuergeräts mit einer vorbestimmten Laufzeit gestartet. Hierdurch ist es möglich, die Gültigkeitsdauer der Reservierung bzw. des Reservierungstickets zu überwachen.According to a further preferred embodiment, when the reservation ticket is encrypted or during or after the encrypted reservation ticket is generated in the respective control device, a timer of the control device is started with a predetermined runtime. This makes it possible to monitor the period of validity of the reservation or reservation ticket.
Im Anschluss wird also das nun so erstellte Reservierungsticket mittels des Codierungsschlüssels des Steuergeräts verschlüsselt und vorteilhaft ein Timer des Steuergeräts gestartet mit einer festgelegten Zeitdauer, innerhalb welcher das zu der Ticket-Reservierung bzw. dem Reservierungsticket passende Anweisungsticket an dem Steuergerät eingegangen sein müssen. Anschließend wird das verschlüsselte Reservierungsticket an die fahrzeugseitige Vermittlungseinheit übertragen.The reservation ticket now created in this way is then encrypted using the coding key of the control device and advantageously a timer of the control device is started with a defined period of time within which the instruction ticket matching the ticket reservation or the reservation ticket must have been received at the control device. The encrypted reservation ticket is then transmitted to the vehicle-side switching unit.
Gemäß einer bevorzugten Ausführungsform wird nach dem Erzeugen des Reservierungstickets in dem jeweiligen Steuergerät eine Kopie des Reservierungstickets erzeugt, welche in dem Steuergerät hinterlegt wird. Eine Kopie des Reservierungstickets verbleibt dabei als Ticket-Reservierung für eine spätere Überprüfung des Tickets im Steuergerät.According to a preferred embodiment, after the reservation ticket has been generated, a copy of the reservation ticket is generated in the respective control device and is stored in the control device. A copy of the reservation ticket remains in the control unit as a ticket reservation for later checking of the ticket.
Die fahrzeugseitige Vermittlungseinheit verschlüsselt das verschlüsselte Reservierungsticket im Anschluss noch mit seinem Codierungsschlüssel und übermittelt das nun doppelt verschlüsselte Reservierungsticket an den zentralen Server. Bei dieser Verschlüsselung ist es denkbar, dass dem Reservierungsticket weitere Informationen, wie z.B. die VIN (vehicle identification number) des Fahrzeugs, hinzugefügt wird.The vehicle-side switching unit then encrypts the encrypted reservation ticket with its coding key and transmits the reservation ticket, which is now double-encrypted, to the central server. With this encryption, it is conceivable that the reservation ticket contains further information, such as the vehicle's VIN (vehicle identification number) is added.
Besonders bevorzugt handelt es sich bei der Übertragung zwischen der fahrzeugseitigen Vermittlungseinheit und dem zentralen Server um eine kabellose Übertragung.The transmission between the vehicle-side switching unit and the central server is particularly preferably a wireless transmission.
Nachdem der zentrale Server das doppelt verschlüsselte Reservierungsticket erhalten hat, entschlüsselt der zentrale Server zunächst das doppelt verschlüsselte Reservierungsticket mit dem Codierungsschlüssel der fahrzeugseitigen Vermittlungseinheit und anschließend mit dem Codierungsschlüssel des Steuergeräts. Dem zentralen Server sind demnach die (fortlaufende) Nummer des Steuergeräts, die angeforderte Funktion und gegebenenfalls die Seriennummer und die VIN bekannt.After the central server has received the double-encrypted reservation ticket, the central server first decrypts the double-encrypted reservation ticket with the coding key of the vehicle-side switching unit and then with the coding key of the control unit. The central server therefore knows the (sequential) number of the control unit, the requested function and, if applicable, the serial number and the VIN.
Anschließend wird durch den zentralen Server ein eindeutig dem Reservierungsticket zugeordneter Sitzungsschlüssel, auch Session-Codierungsschlüssel genannt, erstellt und ebenso ein Anweisungsticket, vorzugsweise gemäß den in der Berechtigungs-Datenbank des zentralen Servers, enthaltenen Berechtigungen, erstellt. Dabei umfasst das Anweisungsticket die (fortlaufende) Ticket-Nummer des Steuergeräts bzw. des Zählers des Steuergeräts, die einen Funktionscode (in binärer Darstellung) eine Schalterleiste mit verschiedenen Schalterstellungen sowie optional eine Laufzeit des Anweisungstickets, das heißt, wie lange das Anweisungsticket Gültigkeit besitzt. Diese Laufzeit kann dabei abhängig von der vorgesehenen Operation, welche durch die Funktionsanweisung angewiesen worden ist, variabel gesetzt werden.The central server then creates a session key, also called the session coding key, which is uniquely assigned to the reservation ticket, and also creates an instruction ticket, preferably according to the authorizations contained in the authorization database of the central server. The instruction ticket includes the (consecutive) ticket number of the control unit or the counter of the control unit, the function code (in binary representation), a switch bar with various switch positions and optionally a term of the instruction ticket, i.e. how long the instruction ticket is valid. This runtime can be set variably depending on the intended operation, which has been instructed by the functional instructions.
Gemäß einer bevorzugten Ausführungsform wird nach dem Erzeugen des Reservierungstickets in dem jeweiligen Steuergerät eine Kopie des Reservierungstickets erzeugt, welche in dem Steuergerät hinterlegt wird.According to a preferred embodiment, after the reservation ticket has been generated, a copy of the reservation ticket is generated in the respective control device and is stored in the control device.
Das Anweisungsticket zusammen mit dem Session-Codierungsschlüssel wird dann mittels des zentralen Servers mit dem Codierungsschlüssel des Steuergeräts codiert zu einem ECU-Ticket, welches im Anschluss nochmals mit dem Codierungsschlüssel der fahrzeugseitigen Vermittlungseinheit zusammen mit dem Session-Codierungsschlüssel codiert wird.The instruction ticket together with the session coding key is then coded by means of the central server with the coding key of the control device to form an ECU ticket, which is then coded again with the coding key of the vehicle-side switching unit together with the session coding key.
Das nun codierte ECU-Ticket wird von dem zentralen Server an die fahrzeugseitige Vermittlungseinheit übertragen und mittels des Codierungsschlüssels der fahrzeugseitigen Vermittlungseinheit decodiert. Der fahrzeugseitigen Vermittlungseinheit liegt demnach einerseits der Session-Codierungsschlüssel vor und andererseits das ECU-Ticket, welches durch die fahrzeugseitige Vermittlungseinheit nicht decodiert werden kann, da eine Codierung mittels des Codierungsschlüssels des Steuergeräts vorliegt. Durch das Decodieren liegt der fahrzeugseitigen Vermittlungseinheit ebenso die angeforderte Operation vor sowie die Laufzeit des Tickets.The now encoded ECU ticket is transmitted from the central server to the vehicle-side switching unit and decoded by means of the coding key of the vehicle-side switching unit. The vehicle-side switching unit accordingly has the session coding key on the one hand and the ECU ticket on the other hand, which cannot be decoded by the vehicle-side switching unit, since coding by means of the control unit's coding key is present. As a result of the decoding, the vehicle-side switching unit also has the requested operation and the duration of the ticket.
Die fahrzeugseitige Vermittlungseinheit übermittelt das ECU-Ticket, welches ebenso den Session-Codierungsschlüssel umfasst, an das jeweilige Steuergerät und wird dort decodiert. Dies geschieht vorteilhaft nur dann, wenn das ECU-Ticket innerhalb der Zeitdauer, welche vom Steuergerät seit Ausstellung des Reservierungstickets gestartet und überwacht wurde, empfangen wurde.The vehicle-side switching unit transmits the ECU ticket, which also includes the session coding key, to the respective control unit and is decoded there. This advantageously only happens if the ECU ticket has been received within the period of time that has been started and monitored by the control unit since the reservation ticket was issued.
Dem Steuergerät liegt nun das decodierte ECU-Ticket vor mit der (fortlaufenden) Nummer (Nummer des Zählers), welche von dem Steuergerät vergeben worden ist, ebenso wie die Laufzeit des Tickets und der Session-Codierungsschlüssel. Das Steuergerät überprüft zusätzlich, ob die (fortlaufende) Nummer der seit der Ausstellung des Reservierungstickets hinterlegten Ticket-Reservierung mit der (fortlaufenden) Nummer des decodierten ECU-Tickets übereinstimmt. Bei positiver Übereinstimmung wird entsprechend der im Ticket freigegebenen Funktionen das Steuergerät freigegeben, um Aktionen ausführen zu können. Zusätzlich wird abhängig von der im Ticket angegebenen Laufzeit ein Timer im Steuergerät gestartet, welcher die Gültigkeitsdauer des Tickets überwacht.The control unit now has the decoded ECU ticket with the (consecutive) number (number of the counter), which has been assigned by the control unit, as well as the runtime of the ticket and the session coding key. The control unit also checks whether the (consecutive) number of the ticket reservation stored since the reservation ticket was issued matches the (consecutive) number of the decoded ECU ticket. If there is a positive match, the control unit is released in accordance with the functions released in the ticket so that actions can be carried out. In addition, depending on the duration specified in the ticket, a timer is started in the control unit, which monitors the validity period of the ticket.
Gemäß einer bevorzugten Ausführungsform werden also demnach
- - nach dem Erzeugen des Anweisungstickets und des Sitzungsschlüssels eine Kopie des Anweisungstickets und des Sitzungsschlüssels in dem zentralen Server hinterlegt;
- - nach dem Entschlüsseln des verschlüsselten ECU-Tickets in der fahrzeugseitigen Vermittlungseinheit der fahrzeugseitigen Vermittlungseinheit das Anweisungsticket und der Sitzungsschlüssel hinterlegt;
- - nach dem Entschlüsseln des ECU-Tickets in dem jeweiligen Steuergerät das Anweisungsticket und der Sitzungsschlüssel hinterlegt.
- - After generating the instruction ticket and the session key, a copy of the instruction ticket and the session key is stored in the central server;
- - After decrypting the encrypted ECU ticket, the instruction ticket and the session key are stored in the vehicle-side switching unit of the vehicle-side switching unit;
- - After decrypting the ECU ticket, the instruction ticket and the session key are stored in the respective control unit.
Das Steuergerät überprüft, ob die (fortlaufende) Nummer des Reservierungstickets mit der (fortlaufenden) Nummer des decodierten ECU-Tickets übereinstimmt.The control unit checks whether the (consecutive) number of the reservation ticket matches the (consecutive) number of the decoded ECU ticket.
Stimmen die Nummern überein, so kann eine gesicherte Übertragung von Daten anhand des Session-Codierungsschlüssels zwischen dem zentralen Server, der fahrzeugseitigen Vermittlungseinheit sowie dem/die Steuergerät/Steuergeräten durchgeführt werden. Die zu übertragenden Daten werden mittels des Session-Codierungsschlüssels codiert und decodiert.If the numbers match, a secure transmission of data can be carried out using the session coding key between the central server, the vehicle-side switching unit and the control unit (s). The data to be transmitted are encoded and decoded using the session encoding key.
Nach Ablauf der Laufzeit des Tickets oder durch explizites Schließen des Tickets durch eine entsprechende Anweisung an das Steuergerät wird das Steuergerät wieder gesichert und die gespeicherte Ticket-Reservierung bzw. das Reservierungsticket gelöscht. Die im Laufe des Prozesses erstellten Tickets und der Session-Codierungsschlüssel verlieren ihre Gültigkeit und können zu einem späteren Zeitpunkt nicht nochmals verwendet werden, um den Zugang zu dem Steuergerät wieder zu öffnen. Besonders bevorzugt werden alle erstellten Tickets und der Session-Codierungsschlüssel gelöscht. Dies bedeutet darüber hinaus, dass nach Ablauf der Laufzeit ebenso die angeforderte Funktion bzw. Operation nicht weiter ausgeführt werden kann.After the ticket has expired or by explicitly closing the ticket with a corresponding instruction to the control device, the control device is backed up and the saved ticket reservation or the reservation ticket is deleted. The tickets created in the course of the process and the session coding key lose their validity and cannot be used again at a later point in time to reopen the access to the control device. All tickets and the session coding key are particularly preferably deleted. This also means that the requested function or operation cannot be carried out after the runtime has expired.
Im Folgenden wird das Verfahren gemäß der weiteren Ausführungsform beschrieben, wobei keine fahrzeugseitige Vermittlungseinheit vorgesehen ist, sondern die Steuergeräte mit einer externen Vermittlungseinheit verbunden sind.The method according to the further embodiment is described below, wherein no vehicle-side switching unit is provided, but rather the control units are connected to an external switching unit.
Die Aufgabe wird weiterhin gelöst von einem Verfahren zur sicheren Übertragung von Daten zwischen einem zentralen Server und mindestens einem Steuergerät eines Fahrzeugs, umfassend die Verfahrensschritte:
- a) Übertragen einer Funktionsanweisung an eine externe Vermittlungseinheit, welche zunächst ohne kommunikationstechnische Verbindung mit dem zentralen Server ist, und Übermitteln der Funktionsanweisung an das oder die der Funktionsanweisung zugehörigen Steuergeräte mittels der externen Vermittlungseinheit;
- b) Erzeugen eines der Funktionsanweisung zugehörigen Reservierungstickets innerhalb des oder der Steuergeräte, bevorzugt mit Vergabe einer Ticket-Kennung zur Identifizierung der Zugehörigkeit des Reservierungstickets, und Verschlüsseln des Reservierungstickets mittels eines Codierungsschlüssels des Steuergeräts und Übermitteln des verschlüsselten Reservierungstickets an die externe Vermittlungseinheit;
- c) Herstellen einer Datenverbindung zwischen der externen Vermittlungseinheit und dem zentralen Server und Übertragen einer mit einem Codierungsschlüssel der externen Vermittlungseinheit codierten Verbindungsanforderung der externen Vermittlungseinheit an den zentralen Server;
- d) Authentifizierung der codierten Verbindungsanforderung im zentralen Server und nach positiver Authentifizierung, Erzeugen eines Sitzungsschlüssels und Verschlüsseln der authentifizierten Verbindungsanforderung zusammen mit dem Sitzungsschlüssel und Übertragen der verschlüsselten Verbindungsanforderung an die externe Vermittlungseinheit;
- e) Entschlüsseln der verschlüsselten authentifizierten Verbindungsanforderung mittels der externen Vermittlungseinheit, so dass der externen Verbindungseinheit der Sitzungsschlüssel vorliegt;
- f) Verschlüsseln des verschlüsselten Reservierungstickets mittels des Sitzungsschlüssels in der externen Vermittlungseinheit und Übertragen an den zentralen Server, Entschlüssein des doppelt verschlüsselten Reservierungstickets im zentralen Server mittels dem Sitzungsschlüssel und dem Codierungsschlüssel des jeweiligen Steuergeräts;
- g) Erzeugen eines dem Reservierungsticket zugehörigen Anweisungsticket, besonders bevorzugt mit einer Zugriffscodierung zur Freigabe von Funktionen im Steuergerät, und Verschlüsseln des Anweisungstickets mittels Codierungsschlüssels des jeweiligen Steuergeräts zu einem ECU-Ticket und Verschlüsseln des ECU-Tickets mit dem Sitzungsschlüssel;
- h) Übertragen des verschlüsselten ECU-Tickets an die fahrzeugseitige Vermittlungseinheit und Entschlüsseln des verschlüsselten ECU-Tickets mittels dem Codierungsschlüssel der fahrzeugseitigen Vermittlungseinheit;
- i) Übermitteln des ECU-Tickets an das oder die Steuergeräte und Entschlüsseln des ECU-Tickets mittels dem Codierungsschlüssel des oder der Steuergeräte;
- j) Überprüfen mittels des oder der Steuergeräte, ob das ECU-Ticket dem Reservierungsticket zugehörig ist, insbesondere, ob das ECU-Ticket dem Reservierungsticket zugehörig ist anhand der Ticket-Kennung.
- a) transmitting a functional instruction to an external switching unit, which is initially without a communication connection to the central server, and transmitting the functional instruction to the control device (s) belonging to the functional instruction by means of the external switching unit;
- b) generating a reservation ticket associated with the functional instruction within the control device or devices, preferably by assigning a ticket identifier to identify the membership of the reservation ticket, and encrypting the reservation ticket using a coding key of the control device and transmitting the encrypted reservation ticket to the external switching unit;
- c) Establishing a data connection between the external switching unit and the central server and transmitting a connection request of the external switching unit encoded with a coding key of the external switching unit to the central server;
- d) authentication of the coded connection request in the central server and after positive authentication, generation of a session key and encryption of the authenticated connection request together with the session key and transmission of the encrypted connection request to the external switching unit;
- e) decrypting the encrypted authenticated connection request by means of the external switching unit so that the session key is available to the external connection unit;
- f) encrypting the encrypted reservation ticket using the session key in the external switching unit and transmitting it to the central server, decrypting the double-encrypted reservation ticket in the central server using the session key and the coding key of the respective control device;
- g) generating an instruction ticket associated with the reservation ticket, particularly preferably with an access coding for releasing functions in the control unit, and encrypting the instruction ticket by means of the coding key of the respective control unit to form an ECU ticket and encrypting the ECU ticket with the session key;
- h) transmitting the encrypted ECU ticket to the vehicle-side switching unit and decrypting the encrypted ECU ticket using the coding key of the vehicle-side switching unit;
- i) transmitting the ECU ticket to the control device or devices and decrypting the ECU ticket using the coding key of the control device or devices;
- j) Check by means of the control device or devices whether the ECU ticket is associated with the reservation ticket, in particular whether the ECU ticket is associated with the reservation ticket, using the ticket identifier.
Vorzugsweise können nach dem Schritt j) der Überprüfung die Funktionen freigegeben werden.The functions can preferably be released after step j) of the check.
Die Aufgabe wird also gelöst von dem gleichen Verfahren wie in der vorhergehenden Ausführungsform zur abgesicherten Funktionsfreischaltung und Übertragung von Daten zwischen einem zentralen Server und mindestens einem Steuergerät eines Fahrzeugs, wobei die externe Vermittlungseinheit an die Stelle der fahrzeugseitigen Vermittlungseinheit tritt. Abweichend vom zuvor beschriebenen Verfahren wird zur Authentifizierung der externen Vermittlungseinheit beim zentralen Server ein asymmetrisches Schlüsselpaar verwendet, welches vor der Registrierung der externen Vermittlungseinheit beim zentralen Server in der externe Vermittlungseinheit generiert wurde und dessen öffentlicher Schlüssel im Rahmen der Registrierung an den zentralen Server übermittelt wurde. Das Registrierungsverfahren der externen Vermittlungseinheit beim zentralen Server ist nicht Bestandteil dieses Verfahrens und es wird vorausgesetzt, dass es die authentisierte Übermittlung des öffentlichen Schlüssels hinreichend sicher gewährleistet.The object is therefore achieved by the same method as in the previous embodiment for the secure function activation and transmission of data between a central server and at least one control unit of a vehicle, the external switching unit taking the place of the vehicle-side switching unit. In contrast to the previously described method, an asymmetrical pair of keys is used to authenticate the external switching unit to the central server, which pair was generated before the external switching unit was registered with the central server in the external switching unit and whose public key was transmitted to the central server as part of the registration. The registration procedure of the external switching unit with the central server is not part of this procedure and it is assumed that it ensures the authenticated transmission of the public key with sufficient certainty.
In dieser Ausführungsform geht die Handlungsinitiative von der externen Vermittlungseinheit aus, welche über die fahrzeugseitigen On-Board Schnittstelle mit den Steuergeräten kommuniziert. Dabei wird zunächst der Zugriffswunsch (mit Funktionsanweisung) mit der Funktionsanweisung an das entsprechende Steuergerät oder die entsprechenden Steuergeräte übermittelt.In this embodiment, the action initiative is based on the external switching unit, which communicates with the control units via the on-board interface on the vehicle. First of all, the access request (with functional instructions) and the functional instructions are transmitted to the corresponding control unit or control units.
Das jeweilige Steuergerät empfängt diesen Zugriffswunsch mit der Funktionsanweisung und erstellt basierend auf einem im Steuergerät angeordneten Zähler (mit einer hinterlegten Nummer), welche durch das Steuergerät aufgrund der Funktionsanweisung inkrementiert wird, vorzugsweise neu abgespeichert wird und in ein Reservierungsticket eingetragen wird. Ebenso wird die beabsichtige Funktion der Funktionsanweisung als binärer Code und gegebenenfalls weitere Informationen, beispielsweise eine Seriennummer, beispielsweise des Steuergeräts, in der Ticket-Reservierung bzw. dem Reservierungticket eingetragen.The respective control unit receives this access request with the function instruction and creates based on a counter arranged in the control unit (with a stored number), which is incremented by the control unit based on the function instruction, is preferably saved again and is entered in a reservation ticket. Likewise, the intended function of the function instruction is entered as a binary code and possibly further information, for example a serial number, for example of the control unit, in the ticket reservation or the reservation ticket.
Im Anschluss wird das nun so erstellte Reservierungs-Ticket mittels des Codierungsschlüssels des Steuergeräts verschlüsselt und vorteilhaft ein Timer des Steuergeräts gestartet mit einer festgelegten Zeitdauer, innerhalb welcher das zu der Ticket-Reservierung passende Anweisungsticket an dem Steuergerät eingegangen sein muss. Anschließend wird das verschlüsselte Reservierungsticket an die externe Vermittlungseinheit übertragen. Eine Kopie des Reservierungstickets verbleibt dabei für eine spätere Überprüfung des Tickets im Steuergerät.The reservation ticket created in this way is then created using the coding key of the control device is encrypted and advantageously a timer of the control device is started with a defined period of time within which the instruction ticket matching the ticket reservation must have been received at the control device. The encrypted reservation ticket is then transmitted to the external switching unit. A copy of the reservation ticket remains in the control unit for later checking of the ticket.
Bis zu diesem Schritt ist das Verfahren gemäß der weiteren Ausführungsform weitgehend identisch mit dem Verfahren der ersten Ausführungsform.Up to this step, the method according to the further embodiment is largely identical to the method of the first embodiment.
Die externe Vermittlungseinheit, welche nun zunächst keine Verbindung zu dem zentralen Server aufweist, stellt eine Datenverbindung her, unter Umständen durch einen Ortswechsel der externen Vermittlungseinheit hin zu einer Datenschnittstelle, und sendet eine Verbindungsanforderung an den zentralen Server, um eine Verbindung zu dem zentralen Server herstellen zu können.The external switching unit, which now has no connection to the central server, establishes a data connection, possibly due to a change of location of the external switching unit to a data interface, and sends a connection request to the central server in order to establish a connection to the central server to be able to.
Diese Verbindungsanforderung wird mit dem Codierungsschlüssel der externen Vermittlungseinheit signiert. Besonders bevorzugt besteht der Codierungsschlüssel aus einem privaten Schlüssel und einem öffentlichen Schlüssel, wobei der öffentliche Schlüssel in dem zentralen Server hinterlegt ist.This connection request is signed with the coding key of the external switching unit. The coding key particularly preferably consists of a private key and a public key, the public key being stored in the central server.
Nachdem der zentrale Server die mittels des Codierungsschlüssels der externen Vermittlungseinheit signierte Verbindungsanforderung erhalten hat, wird diese mittels des öffentlichen Schlüssels decodiert und authentifiziert.After the central server has received the connection request signed by means of the coding key of the external switching unit, it is decoded and authenticated by means of the public key.
Nach dem Authentifizieren der Verbindungsanforderung wird ebenso ein Session-Codierungsschlüssel erstellt und die Verbindungsanforderung zusammen mit dem Session-Codierungsschlüssel mittels des öffentlichen Schlüssels codiert und an die externe Vermittlungseinheit übermittelt.After authenticating the connection request, a session coding key is also created and the connection request is coded together with the session coding key by means of the public key and transmitted to the external switching unit.
Nach Empfangen der codierten Verbindungsanforderung mit dem Session-Codierungsschlüssel wird die codierte Verbindungsanforderung mittels des Codierungsschlüssels decodiert, insbesondere durch den privaten Schlüssel. Der externen Vermittlungseinheit liegt demnach der Session-Codierungsschlüssel vor. Eine authentifizierte Verbindung mit einem abgestimmten Session-Codierungsschlüssel liegt nun vor.After receiving the coded connection request with the session coding key, the coded connection request is decoded using the coding key, in particular by the private key. The external switching unit therefore has the session coding key. An authenticated connection with a coordinated session coding key is now available.
Anschließend wird das der externen Vermittlungseinheit weiterhin vorliegende verschlüsselte Reservierungsticket mittels des Session-Codierungsschlüssels verschlüsselt und an den zentralen Server übermittelt.The encrypted reservation ticket that is still present to the external switching unit is then encrypted using the session coding key and transmitted to the central server.
Der zentrale Server decodiert nun das mit dem Session-Codierungsschlüssel verschlüsselte Reservierungsticket (welches weiterhin mittels des Codierungsschlüssels des Steuergeräts verschlüsselt ist) zunächst mit dem Session-Codierungsschlüssel und anschließend mittels des Codierungsschlüssels des Steuergeräts. Dem zentralen Server liegt nun also die Ticketanforderung des Steuergeräts vor.The central server now decodes the reservation ticket encrypted with the session coding key (which is also encrypted using the coding key of the control device) first with the session coding key and then using the coding key of the control device. The central server now has the ticket request from the control unit.
Anschließend wird durch den zentralen Server ein Anweisungsticket gemäß den in der Berechtigungs-Datenbank enthaltenen Berechtigungen erstellt. Dabei umfasst das Anweisungsticket die (fortlaufende) Ticket-Nummer aus dem Steuergerät, einen Funktionscode bzw. (in binärer Darstellung) eine Schalterleiste mit den Schalterstellungen der freizuschaltenden Funktionen sowie optional eine Laufzeit des Anweisungstickets, das heißt, wie lange das Anweisungsticket Gültigkeit besitzt. Diese Laufzeit kann, abhängig von der vorgesehenen Operation, welche durch die Funktionsanweisung angewiesen worden ist, gesetzt werden.The central server then creates an instruction ticket in accordance with the authorizations contained in the authorization database. The instruction ticket includes the (consecutive) ticket number from the control unit, a function code or (in binary form) a switch bar with the switch positions of the functions to be enabled as well as an optional term of the instruction ticket, i.e. how long the instruction ticket is valid. This runtime can be set depending on the intended operation, which has been instructed by the functional instructions.
Das Anweisungsticket wird dann mittels des zentralen Servers mit dem Codierungsschlüssel des Steuergeräts codiert zu einem ECU-Ticket, welches im Anschluss nochmals mit dem im Rahmen der Verbindungsaufnahme der externen Vermittlungseinheit abgestimmten Session-Codierungsschlüssel codiert wird.The instruction ticket is then encoded by means of the central server with the encoding key of the control device to form an ECU ticket, which is subsequently encoded again with the session encoding key coordinated in the course of establishing the connection of the external switching unit.
Das nun codierte ECU-Ticket wird von dem zentralen Server an die externe Vermittlungseinheit übertragen und mittels des Session-Codierungsschlüssel decodiert. Der externen Vermittlungseinheit liegt demnach einerseits der Session-Codierungsschlüssel vor und andererseits das ECU-Ticket, welches durch die fahrzeugseitige Vermittlungseinheit nicht decodiert werden kann, da eine Codierung mittels des Codierungsschlüssels des Steuergeräts vorliegt. Durch das Decodieren liegt der fahrzeugseitigen Vermittlungseinheit ebenso die angeforderte Operation vor, sowie die Laufzeit des Tickets.The now coded ECU ticket is transmitted from the central server to the external switching unit and decoded using the session coding key. The external switching unit therefore has the session coding key on the one hand and the ECU ticket on the other hand, which cannot be decoded by the vehicle-side switching unit, since coding is present using the control unit's coding key. As a result of the decoding, the vehicle-side switching unit also has the requested operation and the duration of the ticket.
Die externe Vermittlungseinheit übermittelt das ECU-Ticket an das jeweilige Steuergerät und wird dort mittels des Codierungsschlüssels des Steuergeräts decodiert. Dies geschieht vorteilshaft nur dann, wenn das ECU-Ticket innerhalb der Zeitdauer, welche vom Steuergerät seit Ausstellung des Reservierungstickets gestartet wurde, empfangen wurde.The external switching unit transmits the ECU ticket to the respective control device and is decoded there by means of the coding key of the control device. This happens advantageously only if the ECU ticket was received within the period of time that has been started by the control unit since the reservation ticket was issued.
Dem Steuergerät liegt nun das decodierte ECU-Ticket vor mit der (fortlaufenden) Nummer, welche von dem Steuergerät vergeben worden ist und ebenso wie die Laufzeit des Tickets. Das Steuergerät überprüft zusätzlich, ob die (fortlaufende) Nummer der seit der Ausstellung des Reservierungstickets hinterlegten Ticket-Reservierung mit der Nummer des decodierten ECU-Tickets übereinstimmt. Bei positiver Prüfung wird abhängig von der Laufzeit entsprechend der im Ticket freigegebenen Funktionen das Steuergerät freigegeben, um Aktionen ausführen zu können.The control unit now has the decoded ECU ticket with the (consecutive) number which has been assigned by the control unit and also the duration of the ticket. The control unit also checks whether the (consecutive) number of the ticket reservation stored since the reservation ticket was issued matches the Number of the decoded ECU ticket matches. If the test is positive, the control device is released depending on the runtime in accordance with the functions released in the ticket in order to be able to carry out actions.
Stimmen die Nummern überein, so kann eine Übertragung von Daten der externen Vermittlungseinheit sowie dem/die Steuergerät/Steuergeräten durchgeführt werden.If the numbers match, data can be transferred from the external switching unit and the control unit (s).
Während der Laufzeit ist nun ein Datenaustausch zwischen der externen Vermittlungseinheit und dem jeweiligen Steuergerät möglich, insbesondere ohne weitere Verschlüsselung der Daten.Data exchange between the external switching unit and the respective control device is now possible during the runtime, in particular without further encryption of the data.
Daten, welche mittels der externen Vermittlungseinheit zwischen dem zentralen Server und dem/den Steuergerät/Steuergeräten gesichert ausgetauscht werden sollen, beispielsweise die Software des Steuergeräts bei einer Reprogrammierung, werden mit dem Codierungsschlüssel des Steuergeräts codiert und sind damit gegenüber der externen Vermittlungseinheit verborgen.Data that are to be securely exchanged between the central server and the control unit (s) by means of the external switching unit, for example the software of the control unit during reprogramming, are encoded with the coding key of the control unit and are therefore hidden from the external switching unit.
Nach Ablauf der Laufzeit des Tickets oder durch explizites Schließen des Tickets durch eine entsprechende Anweisung an das Steuergerät wird das Steuergerät wieder gesichert und die gespeicherte Ticket-Reservierung bzw. das Reservierungsticket wieder gelöscht. Die im Laufe des Prozesses erstellten Tickets verlieren ihre Gültigkeit und können zu einem späteren Zeitpunkt nicht nochmals verwendet werden, um den Zugang wieder zu öffnen.After the ticket has expired or by explicitly closing the ticket with a corresponding instruction to the control device, the control device is saved again and the saved ticket reservation or the reservation ticket is deleted again. The tickets created in the course of the process lose their validity and cannot be used again at a later time to reopen the access.
Gemäß einer weiteren, dritten Ausführungsform wird ein weiteres Verfahren dargestellt, um ein Freischalten bestimmter Funktionen in den Steuergeräten durch den zentralen Server gewährleisten zu können. Diese Ausführungsform bedarf aufgrund verminderter Absicherung der besonderen Freigabe für den Anwendungsfall und zielt insbesondere darauf ab, wenn sowohl keine Verbindung der fahrzeugseitigen Vermittlungseinheit und ebenso keine Verbindung einer externen Vermittlungseinheit zum zentralen Server bereitsteht, beispielsweise, wenn das Netzwerk aus eingebetteten System, beispielsweise das Fahrzeug, sich an einem abgelegenen Ort befindet, jedoch Daten benötigt.According to a further, third embodiment, a further method is shown in order to be able to ensure that certain functions in the control devices are enabled by the central server. Due to reduced security, this embodiment requires special approval for the application and aims in particular if there is neither a connection of the vehicle-side switching unit and also no connection of an external switching unit to the central server, for example if the network consists of an embedded system, for example the vehicle, is in a remote location but needs data.
Diese Ausführungsform weist jedoch den Nachteil auf, dass die Zeitspanne zwischen Ausstellen des Anweisungstickets und Verwendung desselben für den Zugang zum Steuergerät nicht vom Steuergerät überwacht wird, das Ticket also bevorratet werden kann. Hier kann es möglich sein, dass das Anweisungsticket, basierend auf der nächsten (fortlaufenden) im Steuergerät hinterlegten Ticket-Nummer, erstellt wird. Das heißt, dass das Ticket eine andere Nummer hat als die im Steuergerät hinterlegte, nämlich insbesondere die Nummer im Steuergerät + 1, was der Inkrementierung der (fortlaufenden) Nummer entsprechen würde. Dies setzt voraus, dass im zentralen Server für jedes Steuergerät die zuletzt verwendete Ticketnummer hinterlegt (mitgeführt) wird. Ebenso enthält das Anweisungsticket die benötigte Funktionscodierung sowie eine Information zur eindeutigen Zuordnung zum Steuergerät, wie z. B die Seriennummer.However, this embodiment has the disadvantage that the time period between issuing the instruction ticket and using the same for access to the control device is not monitored by the control device, and the ticket can therefore be stored. It may be possible here that the instruction ticket is created based on the next (consecutive) ticket number stored in the control unit. This means that the ticket has a different number than the one stored in the control unit, in particular the number in control unit + 1, which would correspond to the incrementation of the (consecutive) number. This requires that the last used ticket number is stored (carried) in the central server for each control unit. The instruction ticket also contains the required function coding and information for clear assignment to the control unit, such as. B the serial number.
Hier kann es möglich sein, dass Ticketinformationen basierend auf der nächsten (fortlaufenden) im Steuergerät hinterlegten Ticket-Nummer erstellt werden. Das heißt, dass das Ticket eine andere Nummer hat als die im Steuergerät hinterlegte, nämlich insbesondere die Nummer des Steuergeräts + 1, was der Inkrementierung der (fortlaufenden) Nummer entsprechen würde.Here it may be possible to create ticket information based on the next (consecutive) ticket number stored in the control unit. This means that the ticket has a different number than the one stored in the control unit, in particular the number of the control unit + 1, which would correspond to the incrementation of the (consecutive) number.
Ebenso wird die benötigte Funktion in das Ticket hinterlegt, und gegebenenfalls die Seriennummer sowie die VIN.The required function is also stored in the ticket, and if necessary the serial number and the VIN.
Ausgangspunkt ist in gemäß dieser Ausführungsform der zentrale Server, von dem aus Daten an Steuergeräte übermittelt werden sollen oder der Daten aus Steuergeräten anfordert, ohne eine Kommunikationsverbindung zu den Steuergeräten oder einer Vermittlungseinheit zu besitzen. Als Transportmedium dient in dieser Ausführungsform ein Datenträger, beispielsweise ein USB-Stick oder ein Speicher in einem Datenverarbeitungsmedium. Auf dem zentralen Server wird ein Session-Codierungsschlüssel erzeugt und ein Anweisungsticket mit der (fortlaufenden) Nummer, der Funktion und der Laufzeit sowie dem Session-Codierungsschlüssel erzeugt. Das Anweisungsticket wird nun anschließend mittels des Codierungsschlüssels des Steuergeräts und gegebenenfalls (falls verwendet) noch weiter mit dem öffentlichen Schlüssel einer (portablen) externen Vermittlungseinheit verschlüsselt.In this embodiment, the starting point is the central server from which data are to be transmitted to control units or which requests data from control units without having a communication connection to the control units or a switching unit. In this embodiment, a data carrier, for example a USB stick or a memory in a data processing medium, serves as the transport medium. A session coding key is generated on the central server and an instruction ticket with the (consecutive) number, the function and the runtime as well as the session coding key is generated. The instruction ticket is then subsequently encrypted using the coding key of the control device and, if appropriate (if used), even further using the public key of a (portable) external switching unit.
Dieses verschlüsselte Anweisungsticket wird, zusammen mit den zu übermittelnden Daten, welche mit dem Session-Codierungsschlüssel codiert wurden, auf einem tragbaren Datenträger, beispielsweise USB-Stick, gespeichert und zum Zielort transportiert. Am Ort des Zielsystems, beispielsweise des Fahrzeugs, werden Daten und Ticketinformationen auf entweder eine externe Vermittlungseinheit oder eine systemseitige (im Zielsystem verbaute; fahrzeugseitige) Vermittlungseinheit geladen. Es liegt also der Session-Codierungsschlüssel und das ECU-Ticket vor, welches weiter an das Steuergerät übermittelt wird und im Steuergerät mittels des Codierungsschlüssels des Steuergeräts decodiert wird.This encrypted instruction ticket, together with the data to be transmitted, which was coded with the session coding key, is stored on a portable data carrier, for example a USB stick, and transported to the destination. At the location of the target system, for example the vehicle, data and ticket information are loaded onto either an external switching unit or a system-side (installed in the target system; vehicle-side) switching unit. There is therefore the session coding key and the ECU ticket, which is further transmitted to the control unit and is decoded in the control unit using the coding key of the control unit.
Das Steuergerät vergleicht dann die (fortlaufende) Nummer des Tickets mit der in der Speichereinheit gespeicherten (fortlaufenden) Nummer; ist dabei die Nummer des Tickets gleich der inkrementieren Nummer des Steuergeräts, so wird weiter verfahren, wobei mittels eines Zeitfensters, welches von dem zentralen Server vorgegeben wurde, eine sichere Kommunikation mittels des Session-Codierungsschlüssels ermöglicht wird.The control unit then compares the (consecutive) number of the ticket with the (consecutive) number stored in the storage unit; is If the number of the ticket is equal to the incremented number of the control device, the procedure continues, whereby secure communication by means of the session coding key is made possible by means of a time window, which has been specified by the central server.
Nach Ablauf des Zeitfensters wird das Steuergerät wieder gesichert und Kommunikation unterbunden.After the time window has elapsed, the control unit is backed up and communication is prevented.
Weiter wird eine Vorrichtung bereitgestellt zum Durchführen eines der Verfahren, wobei die Vorrichtung mindestens umfasst: den zentralen Server und mindestens ein Steuergerät und eine fahrzeugseitige Vermittlungseinheit und/oder eine externe Vermittlungseinheit.Furthermore, a device is provided for performing one of the methods, the device comprising at least: the central server and at least one control unit and a vehicle-side switching unit and / or an external switching unit.
Insbesondere weisen die Vermittlungseinheiten einen sicheren Speicher zum Speichern von Tickets auf, um Tickets zeitlich begrenzt und nur zu bestimmten Funktionen zugehörig abspeichern zu können.In particular, the switching units have a secure memory for storing tickets in order to be able to save tickets for a limited time and only associated with certain functions.
Es ist zu berücksichtigen, dass die Steuergeräte nicht immer aktiv sind, sondern sich auch in einem Schlafmodus (sleep-mode) befinden können. Daher ist es besonders vorteilhaft, wenn das jeweilige Steuergerät einen auch im Schlafmodus aktiven Timer (Zeitzähler) aufweist, mittels welchen die vergangene Zeit weiter überwacht werden kann. Weiter vorteilhaft weist das jeweilige Steuergerät einen auch im Schlafmodus aktiven, jedoch stromlos flüchtigen Speicher und Ticketzähler auf, so dass die Tickets bzw. die Ticket-Informationen, insbesondere des Reservierungstickets, auch während einem Schlafmodus durch das Steuergerät erhalten werden können.It must be taken into account that the control units are not always active, but can also be in a sleep mode. It is therefore particularly advantageous if the respective control device has a timer (time counter) which is also active in sleep mode and by means of which the elapsed time can be monitored further. The respective control device further advantageously has a memory and ticket counter that is also active in the sleep mode, but is volatile in the currentless state, so that the tickets or the ticket information, in particular the reservation ticket, can also be obtained by the control device during a sleep mode.
Weiter ist insbesondere vorgeschlagen, dass es sich bei dem Schlafmodus-Zähler und - Speicher sowie dem Ticket-Zähler um einen besonders gesicherten Hardware-Bereich handelt.It is furthermore particularly proposed that the sleep mode counter and memory as well as the ticket counter be a particularly secure hardware area.
Insbesondere ist es möglich, mittels der hier vorgeschlagenen Verfahren und Vorrichtung eine abgesicherte Zugriffssteuerung mit einem individuellen Zugang zu ermöglichen, ohne dass für einen erweiterten Zugriff ein Master-Schlüssel notwendig ist. Zugriffsprofile auf das/die Steuergeräte) werden auf dem Server im Rahmen von dort definierten Berechtigungsstrukturen erstellt und sind damit über die gesamte Lebensdauer des Systems im Rahmen der im Steuergerät konstruktiv vorgesehenen Berechtigungsschalter dynamisch gestaltbar.In particular, it is possible to enable secure access control with individual access by means of the methods and apparatus proposed here without a master key being necessary for extended access. Access profiles to the control device (s) are created on the server within the framework of the authorization structures defined there and can therefore be designed dynamically over the entire service life of the system within the authorization switches provided in the control device.
Zu jedem bestimmten Zugriff wird ein gesicherter Zugriff mittels von Tickets bereitgestellt, welcher insbesondere zeitbeschränkt sein kann, wodurch eine hohe Sicherheit des Systems gewährleistet werden kann. Durch aufwändige Angriffe ermittelte Schlüssel (einhergehend mit Geheimnissen) sind im weiteren System nicht verwendbar, so dass ein erreichtes Resultat in einem schlechten Verhältnis dem Aufwand für den Angriff steht.For each specific access, secure access is provided by means of tickets, which can be time-limited in particular, as a result of which a high level of system security can be guaranteed. Keys determined by complex attacks (along with secrets) cannot be used in the further system, so that a result achieved is in a bad ratio to the effort for the attack.
Zugriffsrechte können vergeben werden, indem im zentralen Server neue Berechtigungen hinterlegt werden können, die im Anwendungsfall zur Ausstellung der entsprechenden Tickets führen.Access rights can be assigned by storing new authorizations in the central server, which in the application case lead to the issue of the corresponding tickets.
Die über die Tickets zugeteilten Zugriffsrechte auf ein Steuergerät bestehen aus einzeln schaltbaren Zugriffsfunktionen, die in der technischen Auslegung des Steuergeräts sehr feingranular und mit einer rein technischen Sichtweise geplant werden können. Durch die zuvor beschriebene abgesicherte Betätigung dieser Schalter durch einzelne Bits im Funktionscode des Tickets können Zugriffsprofile auf eine Vielzahl von vernetzten Steuergeräten sehr flexibel gestaltet werden. Dies ermöglicht die Verlagerung der Entscheidung über die Gestaltung von Zugriffsrechten, im Rahmen der aus technischer Sicht vorgesehenen Schalter, in dem Zeitraum der Benutzung des Systems.The access rights to a control unit allocated via the tickets consist of individually switchable access functions that can be planned in a very fine-grained manner in the technical design of the control unit and with a purely technical perspective. The above-described secure actuation of these switches by individual bits in the function code of the ticket allows access profiles to a large number of networked control units to be designed very flexibly. This enables the decision on the design of access rights to be relocated within the scope of the switches provided from a technical point of view during the period of use of the system.
Weiter ist es denkbar, dass eine Einteilung von Zugriffsrechten vorgenommen werden kann, basierend auf der Erfahrung oder Berechtigung der Person. Dazu werden verschiedene Steuermöglichkeiten softwareseitig mit Bits hinterlegt, auf welche die Person zugreifen kann. Abhängig davon, welche Berechtigung die jeweilige Person hat, können alle oder nur ausgewählte Bits des Steuergeräts verändert werden. Diese Berechtigungen können ebenso im zentralen Server hinterlegt sein. Fordert eine Person Zugriff auf das System an, auf das sie keine Berechtigung hat, so wird der Person kein entsprechendes Ticket ausgestellt werden.It is also conceivable that access rights can be classified based on the experience or authorization of the person. Various control options are stored on the software side with bits that the person can access. Depending on the authorization that the respective person has, all or only selected bits of the control unit can be changed. These authorizations can also be stored in the central server. If a person requests access to the system to which they have no authorization, the person will not be issued with a corresponding ticket.
Weitere vorteilhafte Ausführungsformen ergeben sich aus den Unteransprüchen.Further advantageous embodiments result from the subclaims.
Weitere Ziele, Vorteile und Zweckmäßigkeiten der vorliegenden Erfindung sind der nachfolgenden Beschreibung in Verbindung mit der Zeichnung zu entnehmen. Hierbei zeigen:
-
1 Flussdiagramm eines bevorzugten Verfahrens; -
2 Flussdiagramm eines weiteren bevorzugten Verfahrens -
3 Vorrichtung zum Durchführen eines Verfahrens gemäß einer Ausführungsform; -
4 schematische Darstellung eines Steuergeräts.
-
1 Flow diagram of a preferred method; -
2nd Flow diagram of another preferred method -
3rd Apparatus for performing a method in accordance with an embodiment; -
4th schematic representation of a control unit.
In den Figuren werden die Verfahren gemäß bevorzugten Ausführungsformen noch einmal kurz dargestellt. Ebenso wird eine Vorrichtung gemäß einer bevorzugten Ausführungsform gezeigt. Weiter ist ein Steuergerät noch kurz dargestellt.In the figures, the methods according to preferred embodiments are briefly shown again. Likewise, a device according to a preferred embodiment shown. A control unit is also briefly shown.
In der
Die Verbindung zwischen dem zentralen Server
Das mindestens eine Steuergerät
In einem ersten Schritt
In einem nächsten Schritt
Im nächsten Schritt
Anschließend im Schritt
Weiter wird im Schritt
Dieses verschlüsselte Anweisungsticket wird von dem zentralen Server
Das ebenso erhaltene ECU-Ticket (welches weiterhin mittels des Codierungsschlüssels des Steuergeräts
Das Steuergerät
Stimmen die Nummern überein, so kann eine gesicherte Übertragung von Daten anhand des Session-Codierungsschlüssels zwischen dem zentralen Server
In der
In dieser Ausführungsform geht die Handlungsinitiative von der externen Vermittlungseinheit
Im ersten Schritt
Das jeweilige Steuergerät
Im Anschluss wird das erstellte Reservierungs-Ticket mittels des Codierungsschlüssels des Steuergeräts
Im nächsten Schritt
Diese Verbindungsanforderung wird mit dem Codierungsschlüssel der externen Vermittlungseinheit
Nachdem der zentrale Server die signierte Verbindungsanforderung erhalten hat, wird diese mittels des öffentlichen Schlüssels authentifiziert und nach der Authentifizierung ein Session-Codierungsschlüssel erstellt. Die Verbindungsanforderung zusammen mit dem Session-Codierungsschlüssel wird mittels des öffentlichen Schlüssels codiert und wieder an die externe Vermittlungseinheit
Nach Empfangen der codierten Verbindungsanforderung mit dem Session-Codierungsschlüssel wird die codierte Verbindungsanforderung mittels des privaten Schlüssels decodiert. Der Vermittlungseinheit
Das Anweisungsticket wird dann mittels des zentralen Servers mit dem Codierungsschlüssel des Steuergeräts codiert zu einem ECU-Ticket, welches im Anschluss nochmals mit dem im Rahmen der Verbindungsaufnahme der externen Vermittlungseinheit abgestimmten Session-Codierungsschlüssel codiert wird (
Das nun codierte ECU-Ticket wird von dem zentralen Server an die externe Vermittlungseinheit übertragen und mittels des Session-Codierungsschlüssel decodiert. Der externen Vermittlungseinheit liegt demnach einerseits der Session-Codierungsschlüssel vor und andererseits das ECU-Ticket, welches durch die fahrzeugseitige Vermittlungseinheit nicht decodiert werden kann, da eine Codierung mittels des Codierungsschlüssels des Steuergeräts vorliegt. Durch das Decodieren liegt der fahrzeugseitigen Vermittlungseinheit ebenso die angeforderte Operation vor, sowie die Laufzeit des Tickets (
Die externe Vermittlungseinheit übermittelt das ECU-Ticket an das jeweilige Steuergerät und wird dort mittels des Codierungsschlüssels des Steuergeräts decodiert. Dies geschieht vorteilshaft nur dann, wenn das ECU-Ticket innerhalb der Zeitdauer, welche vom Steuergerät seit Ausstellung des Reservierungstickets gestartet wurde, empfangen wurde.The external switching unit transmits the ECU ticket to the respective control device and is decoded there by means of the coding key of the control device. This happens advantageously only if the ECU ticket was received within the period of time that has been started by the control unit since the reservation ticket was issued.
Dem Steuergerät liegt nun das decodierte ECU-Ticket vor mit der (fortlaufenden) Nummer, welche von dem Steuergerät vergeben worden ist und ebenso wie die Laufzeit des Tickets. Das Steuergerät überprüft zusätzlich, ob die (fortlaufende) Nummer der seit der Ausstellung des Reservierungstickets hinterlegten Ticket-Reservierung mit der Nummer des decodierten ECU-Tickets übereinstimmt. Bei positiver Prüfung wird abhängig von der Laufzeit entsprechend der im Ticket freigegebenen Funktionen das Steuergerät freigegeben, um Aktionen ausführen zu können.The control unit now has the decoded ECU ticket with the (consecutive) number which has been assigned by the control unit and also the duration of the ticket. The control unit also checks whether the (consecutive) number of the ticket reservation stored since the reservation ticket was issued matches the number of the decoded ECU ticket. If the test is positive, the control device is released depending on the runtime in accordance with the functions released in the ticket in order to be able to carry out actions.
Stimmen die Nummern überein, so kann eine Übertragung von Daten der externen Vermittlungseinheit sowie dem/die Steuergerät/Steuergeräten durchgeführt werden.If the numbers match, data can be transferred from the external switching unit and the control unit (s).
Während der Laufzeit ist nun ein Datenaustausch zwischen der externen Vermittlungseinheit und dem jeweiligen Steuergerät möglich, insbesondere ohne weitere Verschlüsselung der Daten.Data exchange between the external switching unit and the respective control device is now possible during the runtime, in particular without further encryption of the data.
Daten, welche mittels der externen Vermittlungseinheit zwischen dem zentralen Server und dem/den Steuergerät/Steuergeräten gesichert ausgetauscht werden sollen, beispielsweise die Software des Steuergeräts bei einer Re-Programmierung, werden mit dem Codierungsschlüssel des Steuergeräts codiert und sind damit gegenüber der externen Vermittlungseinheit verborgen.Data that are to be securely exchanged between the central server and the control unit (s) by means of the external switching unit, for example the software of the control unit during reprogramming, are coded with the coding key of the control unit and are therefore hidden from the external switching unit.
Nach Ablauf der Laufzeit des Tickets oder durch explizites Schließen des Tickets durch eine entsprechende Anweisung an das Steuergerät wird das Steuergerät wieder gesichert und die gespeicherte Ticket-Reservierung bzw. das Reservierungsticket wieder gelöscht. Die im Laufe des Prozesses erstellten Tickets verlieren ihre Gültigkeit und können zu einem späteren Zeitpunkt nicht nochmals verwendet werden, um den Zugang wieder zu öffnen.After the ticket has expired or by explicitly closing the ticket with a corresponding instruction to the control device, the control device is saved again and the saved ticket reservation or the reservation ticket is deleted again. The tickets created in the course of the process lose their validity and cannot be used again at a later time to reopen the access.
In der
Zu erkennen ist dabei ein zentraler Server
In der
Die über die Tickets zugeteilten Zugriffsrechte auf ein Steuergerät
Weiter ist es denkbar, dass eine Einteilung von Zugriffsrechten vorgenommen werden kann, basierend auf der Erfahrung oder Berechtigung der Person. Dazu werden verschiedene Steuermöglichkeiten softwareseitig mit Bits hinterlegt, auf welche die Person zugreifen kann. Abhängig davon, welche Berechtigung die jeweilige Person hat, werden die entsprechenden Bits im Steuergerät gesetzt. Diese Berechtigungen können ebenso im zentralen Server hinterlegt sein. Fordert eine Person Zugriff auf das System an, auf das sie keine Berechtigung hat, so wird der Person kein entsprechendes Ticket ausgestellt werden.It is also conceivable that access rights can be classified based on the experience or authorization of the person. Various control options are stored on the software side with bits that the person can access. Depending on the authorization that the respective person has, the corresponding bits are set in the control unit. These authorizations can also be stored in the central server. If a person requests access to the system to which they have no authorization, the person will not be issued with a corresponding ticket.
Die Funktionsanweisung, welche binär dargestellt werden kann, entspricht den Schalterstellungen der Schalter innerhalb des Steuergeräts
Sämtliche in den Anmeldungsunterlagen offenbarten Merkmale werden als erfindungswesentlich beansprucht, sofern sie einzeln oder in Kombination gegenüber dem Stand der Technik neu sind.All of the features disclosed in the application documents are claimed as essential to the invention, provided that they are new to the prior art, individually or in combination.
BezugszeichenlisteReference list
- 11
- zentraler Servercentral server
- 22nd
- externe Vermittlungseinheitexternal switching unit
- 33rd
- fahrzeugseitige Vermittlungseinheitvehicle-side switching unit
- 44th
- SteuergerätControl unit
- 55
- On-Board-SchnittstelleOn-board interface
- 66
- erste Verbindungseinheitfirst connection unit
- 77
- zweite Verbindungseinheitsecond connection unit
- 88th
- zentrales Gatewaycentral gateway
- 99
- Fahrzeugvehicle
- 1010th
- Schaltercounter
Claims (11)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102019102982.1 | 2019-02-06 | ||
DE102019102982 | 2019-02-06 |
Publications (1)
Publication Number | Publication Date |
---|---|
DE102019135158A1 true DE102019135158A1 (en) | 2020-08-06 |
Family
ID=71615559
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102019135158.8A Pending DE102019135158A1 (en) | 2019-02-06 | 2019-12-19 | Method for the secure transmission of data between a server and a control device and device for performing the method |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE102019135158A1 (en) |
-
2019
- 2019-12-19 DE DE102019135158.8A patent/DE102019135158A1/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2689553B1 (en) | Motor vehicle control unit having a cryptographic device | |
EP2997550B1 (en) | Method for controlling access | |
DE102017209961B4 (en) | Method and device for authenticating a user on a vehicle | |
DE102016218986B4 (en) | Method for managing access to a vehicle | |
EP3649625B1 (en) | Method for delegating access rights | |
DE102016201601B4 (en) | Methods and devices concerning in particular a motor vehicle access and / or start system | |
DE102010037271A1 (en) | A method of providing wireless vehicle access | |
DE102013215303A1 (en) | Mobile electronic device | |
DE102017214359A1 (en) | A method for safely replacing a first manufacturer's certificate already placed in a device | |
DE102015005232B4 (en) | Controlling a clearance authorization of a motor vehicle | |
WO2017153068A1 (en) | Method for monitoring access to electronically controllable devices | |
DE102014219502A1 (en) | System and method for limited access to a vehicle | |
EP3009992B1 (en) | Method and device for managing access rights | |
WO2008022606A1 (en) | Method for authentication in an automation system | |
DE102019135158A1 (en) | Method for the secure transmission of data between a server and a control device and device for performing the method | |
DE102015105322A1 (en) | Method for releasing machine functions on a spinning machine | |
DE102010052812A1 (en) | Method for remote triggering function of motor vehicle, involves storing data by storing device that is assigned to motor vehicle | |
DE102014019496A1 (en) | Method for controlling an authentication key exchange in vehicle networks and a motor vehicle | |
DE102018102608A1 (en) | Method for user management of a field device | |
WO2006089584A1 (en) | Method, device, unit and system for protecting a private communications key in a vehicle-environment communication | |
DE102018132979A1 (en) | Secure and intelligent operation of a charging infrastructure | |
EP2816777A1 (en) | Computer network, network node and method for providing certification information | |
EP3881486B1 (en) | Method for providing proof of origin for a digital key pair | |
EP3832508B1 (en) | Blocking or revoking a device certificate | |
DE102007031738B4 (en) | Method and system for securing the data transmission between at least two on-board electronic components of a motor vehicle |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R012 | Request for examination validly filed | ||
R016 | Response to examination communication |