DE102018217431A1 - Secure key exchange on one device, especially an embedded device - Google Patents

Secure key exchange on one device, especially an embedded device Download PDF

Info

Publication number
DE102018217431A1
DE102018217431A1 DE102018217431.8A DE102018217431A DE102018217431A1 DE 102018217431 A1 DE102018217431 A1 DE 102018217431A1 DE 102018217431 A DE102018217431 A DE 102018217431A DE 102018217431 A1 DE102018217431 A1 DE 102018217431A1
Authority
DE
Germany
Prior art keywords
update
public key
key
signed
embedded
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102018217431.8A
Other languages
German (de)
Inventor
Peter Hoch
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Siemens Schweiz AG
Original Assignee
Siemens Schweiz AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Siemens Schweiz AG filed Critical Siemens Schweiz AG
Priority to DE102018217431.8A priority Critical patent/DE102018217431A1/en
Publication of DE102018217431A1 publication Critical patent/DE102018217431A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/572Secure firmware programming, e.g. of basic input output system [BIOS]

Abstract

Verfahren und Vorrichtung zum Austauschen eines Update-Public-Keys auf einem Gerät, insbesondere einem eingebetteten Gerät, wobei ein mit einem Master-Private-Key signiertes Update für eine Aktualisierung des Update-Public-Keys auf das Gerät geladen wird, wobei das Update einen neuen Update-Public-Key für das Gerät enthält; wobei die Integrität des Updates durch das Gerät durch Prüfen der entsprechenden Signatur des Updates mit dem auf dem Gerät vorhandenen Master-Public-Key überprüft wird; und wobei der bisherige Update-Public-Key des Gerätes mit dem neuen Update-Public-Key aus dem Update überschrieben wird.Method and device for exchanging an update public key on a device, in particular an embedded device, an update signed with a master private key being loaded onto the device for an update of the update public key, the update being a contains new update public key for the device; wherein the integrity of the update is checked by the device by checking the corresponding signature of the update with the master public key present on the device; and the previous update public key of the device is overwritten with the new update public key from the update.

Description

Die Erfindung betrifft ein Verfahren und eine Vorrichtung zum Austauschen eines Update-Public-Keys auf einem Gerät, insbesondere einem eingebetteten Gerät.The invention relates to a method and a device for exchanging an update public key on a device, in particular an embedded device.

Eingebettete Geräte sind hochspezialisierte Geräte für spezifische Zwecke. Üblicherweise sind eingebettete Geräte in einen spezifischen technischen Kontext bzw. in eine übergeordnetes technisches System eingebettet, z.B. im Home-Entertainment (Unterhaltungselektronik, z.B. Set-Top-Boxen oder Router), in medizintechnischen Systemen, oder in der Flugzeug- und Fahrzeugtechnik. Aber auch z.B. Geldautomaten sind Beispiele für eingebettete Geräte.Embedded devices are highly specialized devices for specific purposes. Usually, embedded devices are embedded in a specific technical context or in a higher-level technical system, e.g. in home entertainment (consumer electronics, e.g. set-top boxes or routers), in medical technology systems, or in aircraft and vehicle technology. But also e.g. ATMs are examples of embedded devices.

An die Prozessoren für eingebettete Geräte werden oft hohe Echtzeitanforderungen, aber auch Anforderungen wie geringer Energieverbrauch oder geringe Speicherkapazität gestellt.The processors for embedded devices often have high real-time requirements, but also requirements such as low energy consumption or low storage capacity.

Die Software bzw. Firmware für eingebettete Geräte kann im Arbeitsspeicher (ROM) aber auch in einem persistenten Flash-Speicher untergebracht sein.The software or firmware for embedded devices can also be stored in the main memory (ROM) in a persistent flash memory.

Software- bzw. Firmware-Updates für eingebettete Geräte erfolgen üblicherweise über einen entsprechenden Internet-Download. Um die Integrität dieser Updates sicherzustellen werden sie signiert. Es besteht dabei die Gefahr, dass durch einen solchen Download Schadsoftware oder ein kompromittierter Schlüssel (Key) auf das eingebettete Gerät gelangen kann und somit die Integrität des Gerätes kompromittiert. Oder der private Key wurde kompromittiert und ein Image mit Schadsoftware, das mit dem kompromittierten Key signiert wurde, wird in das Gerät geladen.Software or firmware updates for embedded devices are usually carried out via a corresponding Internet download. To ensure the integrity of these updates, they are signed. There is a risk that malicious software or a compromised key can get onto the embedded device through such a download and thus compromise the integrity of the device. Or the private key was compromised and an image with malware that was signed with the compromised key is loaded into the device.

Es besteht das Problem, dass bei der Ersetzung eines kompromittierten Schlüssels auf das eingebettete Gerät wieder ein kompromittierter Schlüssel übertragen werden kann.The problem is that when a compromised key is replaced on the embedded device, a compromised key can be transferred again.

Es ist daher die Aufgabe der vorliegenden Erfindung, ein sicheres Verfahren für die Ersetzung eines kompromittierten Schlüssels eines eingebetteten Gerätes bereitzustellen.It is therefore the object of the present invention to provide a secure method for the replacement of a compromised key of an embedded device.

Die Aufgabe wird gelöst durch ein Verfahren zum Austauschen eines Update-Public-Keys (Update-Öffentlicher-Schlüssel) auf einem Gerät, insbesondere einem eingebetteten Gerät, das Verfahren umfassend die folgenden Schritte:

  • Laden eines mit einem Master-Private-Keys (Master/Haupt-Privater-Schlüssel) signierten Updates (z.B. Software-Update) für eine Aktualisierung des Update-Public-Keys auf das Gerät, wobei das Update einen neuen Update-Public-Key für das Gerät enthält;
  • Überprüfen der Integrität des Updates durch das Gerät durch Überprüfen der entsprechenden Signatur des Updates mit dem auf dem Gerät vorhandenen Master-Public-Key (Master/Haupt-Öffentlicher-Schlüssel);
  • Überschreiben des bisherigen Update-Public-Keys des Gerät mit dem neuen Update-Public-Key aus dem Update. Das Verfahren ermöglicht u.a. ein sicheres Austauschen eine Zertifikates oder Schlüssel (Key) für eine Verschlüsselung bzw. Entschlüsselung bei einem eingebetteten Gerät (z.B. IP-Router) ohne Internetverbindung. Das Verfahren erfolgt mit Vorteil mit geeigneten asymmetrischen Verschlüsselungsverfahren mit privaten (Private Keys) und öffentlichen (Public Keys) Schlüsseln.
The object is achieved by a method for exchanging an update public key (update public key) on a device, in particular an embedded device, the method comprising the following steps:
  • Loading an update (e.g. software update) signed with a master private key (master / main private key) for an update of the update public key on the device, the update being a new update public key for the device contains;
  • Checking the integrity of the update by the device by checking the corresponding signature of the update with the master public key (master / main public key) present on the device;
  • Overwrite the previous update public key of the device with the new update public key from the update. The method enables, among other things, a secure exchange of a certificate or key for encryption or decryption with an embedded device (for example an IP router) without an Internet connection. The method is advantageously carried out using suitable asymmetrical encryption methods with private (private keys) and public (public keys) keys.

Eine Signatur (d.h. eine digitale Signatur) wird von einem Sender für eine Nachricht oder elektronisches Artefakt (z.B. ein Software-Update) durch ein asymmetrisches kryptographisches Verfahren mit einem Private-Key (geheimer Signaturschlüssel; privater Schlüssel) erstellt. Ein Empfänger kann mit dem Public-Key (öffentlicher Schlüssel bzw. Verifikationsschlüssel) die Integrität der Nachricht oder des Artefaktes (z.B. Software-Update, Firmware-Update) prüfen. Üblicherweise wird der Private-Key bei einer digitalen Signatur nicht direkt auf die Nachricht oder das Artefakt angewendet, sondern auf deren Hash-Wert, der mittels einer Hashfunktion (wie z. B. SHA-256) aus der Nachricht bzw. aus dem Artefakt berechnet wird.A signature (i.e. a digital signature) is created by a sender for a message or an electronic artifact (e.g. a software update) using an asymmetric cryptographic procedure with a private key (secret signature key; private key). A recipient can use the public key (public key or verification key) to check the integrity of the message or artifact (e.g. software update, firmware update). Usually, the private key for a digital signature is not applied directly to the message or the artifact, but to its hash value, which is calculated from the message or the artifact using a hash function (such as SHA-256) becomes.

Bei einem Update (d.h. Software-Update) kann es sich z.B. um Firmware, Betriebssystem, oder Applikationssoftware (Applikationen) handeln.An update (i.e. software update) can e.g. are firmware, operating system, or application software (applications).

Eine erste vorteilhafte Ausgestaltung der Erfindung liegt darin, dass das Verfahren weiter umfasst:

  • Laden eines mit einem Update-Private-Keys (Update-Privater-Schlüssel) signiertem Updates für eine Aktualisierung der Firmware auf das Gerät;
  • Überprüfen der Integrität des Updates durch das Gerät durch Überprüfen der entsprechenden Signatur des Updates mit dem auf dem Gerät vorhandenen Update-Public-Key (Update-Öffentlicher-Schlüssel), wobei das Gerät mit der im Update enthaltenen Firmware aktualisiert wird, wenn das Update mit dem Update-Private-Key signiert wurde. Weiterhin ermöglicht das Verfahren eine sichere Aktualisierung der Firmware bei einem eingebetteten Gerät ohne Internetverbindung. Firmware-Updates können somit schnell und sicher auf das eingebettete Gerät geladen werden.
A first advantageous embodiment of the invention is that the method further comprises:
  • Loading an update signed with an update private key for updating the firmware on the device;
  • Checking the integrity of the update by the device by checking the corresponding signature of the update with the update public key present on the device, the device being updated with the firmware contained in the update if the update is carried out with the update private key was signed. The method also enables the firmware to be updated safely an embedded device without an internet connection. Firmware updates can thus be loaded quickly and securely onto the embedded device.

Eine weitere vorteilhafte Ausgestaltung der Erfindung liegt darin, dass sich im Gerät die zu aktualisierenden Speicherbereiche für das jeweilige Update in Abhängigkeit der Signatur unterscheiden. Bei den Speicherbereichen kann es sich um Bereiche im Arbeitsspeicher (RAM) oder um Bereiche eines persistenten Speichers (z.B. Flash-Speicher) des Gerätes (z.B. IP Router) handeln. So können z.B. Bereiche eines Speichers, die den Update-Public-Key enthalten, nur mit Master-Private-Key signierten Updates ersetzt werden. Bereiche eines Speichers die Firmware, Bootloader, Betriebssystem (OS) oder Applikationen enthalten, können nur mit Update-Private-Key signierten Updates (d.h. Software-Updates) ersetzt werden.Another advantageous embodiment of the invention is that the memory areas to be updated for the respective update differ in the device depending on the signature. The memory areas can be areas in the main memory (RAM) or areas of a persistent memory (eg flash memory) of the device (eg IP router). For example, areas of a memory that contain the update public key can only be replaced with updates signed with the master private key. Areas of a memory the firmware, boot loader, operating system ( OS ) or applications, can only be replaced with updates-private key signed updates (ie software updates).

Eine weitere vorteilhafte Ausgestaltung der Erfindung liegt darin, dass im Gerät (z.B. im eingebetteten Gerät) für Bootloader, Betriebssystem (OS) und Applikationen jeweils verschiedene Update-Public-Keys hinterlegt sind. Dies erhöht die Sicherheit bei Software-Updates.A further advantageous embodiment of the invention is that in the device (for example in the embedded device) for bootloader, operating system ( OS ) and applications each have different update public keys. This increases the security of software updates.

Eine weitere vorteilhafte Ausgestaltung der Erfindung liegt darin, dass ein signiertes Update (Software-Update) eindeutige Gerätemerkmale umfasst, wobei das Update nach Prüfung der Signatur nur durchgeführt wird, wenn die im Update vorhandenen Gerätemerkmale mit den Gerätemerkmalen des Gerätes übereinstimmen. Mit Vorteil umfasst das Update auch Geräteeigenschaften (z.B. Seriennummer). Diese Geräteeigenschaften werden nach dem Prüfen der Signatur geprüft. Falls die Geräteeigenschaften nicht übereinstimmen, wird das Update abgelehnt und nicht auf das Gerät geladen. Dadurch können z.B. Sicherheitseinstellungen gelockert werden um eine Fehlersuche zu ermöglichen. Auch können dadurch Updates auf bestimmte Geräte begrenzt werden, da sonst alle Geräte „unsecure“ (unsicher bzw. kompromittiert) werden können. Vorteilhafterweise kann das Updatetool (z.B. ein Diagnosewerkzeug oder Engineeringsystem) diese unsicheren Geräte erkennen. Somit ist z.B. die Freischaltung eines Features durch ein Update für ein spezielles Gerät möglich.A further advantageous embodiment of the invention is that a signed update (software update) includes unique device features, the update being carried out after checking the signature only if the device features present in the update match the device features of the device. The update also advantageously includes device properties (e.g. serial number). These device properties are checked after checking the signature. If the device properties do not match, the update will be rejected and will not be downloaded to the device. This can e.g. Security settings are relaxed to enable troubleshooting. Updates can also be limited to certain devices, as otherwise all devices can be "unsecure" (unsafe or compromised). The update tool (e.g. a diagnostic tool or engineering system) can advantageously detect these unsafe devices. Thus e.g. the activation of a feature is possible through an update for a special device.

Eine weitere vorteilhafte Ausgestaltung der Erfindung liegt darin, dass die eindeutigen Gerätemerkmale Wildcards (Platzhalter) enthalten. Somit können Geräte mit einer bestimmten Charakteristik (Eigenschaft) für ein bestimmtes Update freigeschaltet werden (z.B. alle Geräte, die vor dem 1.1.2018 produziert wurden). Dies ermöglicht u.a. ein selektives Deployment (selektive Auslieferung) von Software-Updates, die z.B. Fertigungsprobleme in einem bestimmten Zeitraum abmildern.A further advantageous embodiment of the invention is that the unique device features contain wildcards (placeholders). This means that devices with a specific characteristic (property) can be activated for a specific update (e.g. all devices that were produced before 1.1.2018). Among other things, this enables a selective deployment (selective delivery) of software updates, e.g. Mitigate manufacturing problems over a period of time.

Eine weitere vorteilhafte Ausgestaltung der Erfindung liegt darin, dass vor dem Update die Geräteintegrität des Gerätes (z.B. eingebetteten Gerätes) durch eine vertrauenswürdige Instanz sicherstellt wird. Mit Vorteil wird auch die Integrität der Vorrichtung (z.B. Engineeringsystem, Diagnosewerkzeug), die das Update bereitstellt, durch eine vertrauenswürdige Instanz sicherstellt, mit Vorteil erfolgt dies vor der Bereitstellung des Updates (Software-Updates). Eine vertrauenswürdige Instanz kann z.B. ein entsprechender Zertifizierungsserver sein.A further advantageous embodiment of the invention is that the device integrity of the device (e.g. embedded device) is ensured by a trustworthy entity before the update. The integrity of the device (e.g. engineering system, diagnostic tool) that provides the update is also advantageously ensured by a trustworthy entity; this is advantageously done before the update is provided (software updates). A trustworthy entity can e.g. be a corresponding certification server.

Eine weitere vorteilhafte Ausgestaltung der Erfindung liegt in einem Verfahren zur Durchführung eines Firmware-Updates, insbesondere für ein eingebettetes Gerät (EG), umfassend die folgenden Schritte:

  • Laden eines mit einem Update-Private-Keys (UPRK) signierten Updates (UP) für eine Aktualisierung der Firmware (FW) auf das Gerät (EG);
  • Überprüfen der Integrität des Updates (UP) durch das Gerät (EG) durch Überprüfen der entsprechenden Signatur des Updates (UP) mit dem auf dem Gerät (EG) vorhandenen Update-Public-Key (UPBK), wobei das Gerät (EG) mit der im Update (UP) enthaltenen Firmware (FW) aktualisiert wird, wenn das Update (UP) mit dem Update-Private-Key (UPRK) signiert wurde.
A further advantageous embodiment of the invention resides in a method for carrying out a firmware update, in particular for an embedded device ( EG ), comprising the following steps:
  • Load one with an update private key ( UPRK ) signed updates ( UP ) for an update of the firmware ( FW ) on the device ( EG );
  • Check the integrity of the update ( UP ) through the device ( EG ) by checking the corresponding signature of the update ( UP ) with the on the device ( EG ) existing update public key ( UPBK ), the device ( EG ) with that in the update ( UP ) included firmware ( FW ) is updated when the update ( UP ) with the update private key ( UPRK ) was signed.

Eine weitere vorteilhafte Ausgestaltung der Erfindung liegt in einer Vorrichtung (z.B. Engineerung Tool, Diagnosewerkzeug), die eingerichtet ist zur Durchführung des erfinderischen Verfahrens. Die Vorrichtung ist mit entsprechender Software (insbesondere zum Signieren, Verschlüsseln der Updates) und Hardware (Prozessor, Speicher, Ein-/Ausgabemittel, Kommunikationsmittel) ausgestattet bzw. damit nachrüstbar. Die Vorrichtung (z.B. Engineerung Tool, Diagnosewerkzeug) zur Signierung der Updates steht in einer sicheren Umgebung vorzugsweise beim Hersteller.A further advantageous embodiment of the invention resides in a device (e.g. engineering tool, diagnostic tool) that is set up to carry out the inventive method. The device is equipped with appropriate software (in particular for signing, encrypting the updates) and hardware (processor, memory, input / output means, communication means) or can be retrofitted therewith. The device (e.g. engineering tool, diagnostic tool) for signing the updates is preferably in a safe environment at the manufacturer.

Das Tool (Update-Tool), mit dem die signierten Updates auf ein Gerät (z.B. eingebettetes Gerät) geladen werden, enthält die signierten Updates und keinen private key.The tool (update tool), with which the signed updates are loaded onto a device (e.g. embedded device), contains the signed updates and no private key.

Mit Vorteil ist die Vorrichtung zum Austauschen eines Update-Public-Keys auf einem Gerät, insbesondere einem eingebetteten Gerät, dazu eingerichtet, dass ein mit einem Master-Private-Key signiertes Update für eine Aktualisierung des Update-Public-Keys auf das Gerät geladen wird, wobei das Update einen neuen Update-Public-Key für das Gerät enthält; wobei die Integrität des Updates durch das Gerät durch Prüfen der entsprechenden Signatur des Updates mit dem auf dem Gerät vorhandenen Master-Public-Key überprüft wird; und wobei der bisherige Update-Public-Key des Gerätes mit dem neuen Update-Public-Key aus dem Update überschrieben wird.The device for exchanging an update public key on a device, in particular an embedded device, is advantageously set up in such a way that an update signed with a master private key is loaded onto the device for an update of the update public key , the update containing a new update public key for the device; the integrity of the update by the device by checking the corresponding signature of the Updates are checked with the master public key on the device; and the previous update public key of the device is overwritten with the new update public key from the update.

Die Aufgabe wird weiterhin gelöst durch eine Vorrichtung zum Austauschen eines Update-Public-Keys auf einem Gerät, insbesondere einem eingebetteten Gerät, wobei die Vorrichtung dazu eingerichtet ist, ein mit einem Master-Private-Key signiertes Update für eine Aktualisierung des Update-Public-Keys auf das Gerät zu laden, wobei das Update einen neuen Update-Public-Key für das Gerät enthält; wobei die Integrität des Updates durch das Gerät durch Prüfen der entsprechenden Signatur des Updates mit dem auf dem Gerät vorhandenen Master-Public-Key überprüft wird; und wobei der bisherige Update-Public-Key des Gerätes mit dem neuen Update-Public-Key aus dem Update überschrieben wird. Bei der Vorrichtung handelt es sich z.B. um eine Engineeringsystem oder ein Diagnosewerkzeug, welche mit entsprechender Software (insbesondere zum Signieren, Verschlüsseln der Updates) und Hardware (Prozessor, Speicher, Ein-/Ausgabemittel, Kommunikationsmittel) ausgestattet sind. Die Vorrichtung (z.B. Engineerung Tool, Diagnosewerkzeug) zur Signierung der Updates (mit dem private key) steht in einer sicheren Umgebung vorzugsweise beim Hersteller. Das Tool (Update-Tool), mit dem die signierten Updates auf ein Gerät (z.B. eingebettetes Gerät) geladen werden, enthält die signierten Updates und keinen private key.The object is further achieved by a device for exchanging an update public key on a device, in particular an embedded device, the device being set up to update an update signed with a master private key for updating the update public key. Load keys onto the device, the update containing a new update public key for the device; wherein the integrity of the update is checked by the device by checking the corresponding signature of the update with the master public key present on the device; and the previous update public key of the device is overwritten with the new update public key from the update. The device is e.g. an engineering system or a diagnostic tool that is equipped with appropriate software (in particular for signing, encrypting the updates) and hardware (processor, memory, input / output means, communication means). The device (e.g. engineering tool, diagnostic tool) for signing the updates (with the private key) is preferably in a safe environment at the manufacturer. The tool (update tool), with which the signed updates are loaded onto a device (e.g. embedded device), contains the signed updates and no private key.

Die Aufgabe wird weiterhin gelöst durch ein System zur Auslieferung (Deployment) von sicheren Updates für eine Aktualisierung der Firmware auf Geräte, insbesondere eingebettete Geräte,
wobei eine Vorrichtung (z.B. Engineeringsystem oder ein Diagnosewerkzeug) dazu eingerichtet ist, das Update mit einem Update-Private-Key zu signieren;
wobei die Vorrichtung weiter dazu eingerichtet ist, das mit dem Update-Private-Key signierte Update auf das Gerät zu laden;
wobei das das Gerät dazu eingerichtet ist, durch Überprüfen der entsprechenden Signatur des Updates mit dem auf dem Gerät vorhandenen Update-Public-Key die Integrität des Updates zu überprüfen, wobei das Gerät dazu eingerichtet ist, dass es mit der im Update enthaltenen Firmware aktualisiert wird, wenn das Update mit dem Update-Private-Key der Vorrichtung signiert wurde. Das System ermöglicht eine effiziente Auslieferung (Deployment) von sicheren Updates (z.B. Software, Firmware, Betriebssystem, Applikationen) insbesondere für eingebettete Geräte. Mit Vorteil erfolgt die Auslieferung (Deployment) der Updates ohne Internetverbindung des eingebetteten Gerätes.
The task is further solved by a system for the delivery (deployment) of secure updates for updating the firmware on devices, in particular embedded devices,
a device (for example an engineering system or a diagnostic tool) is set up to sign the update with an update private key;
wherein the device is further configured to load the update signed with the update private key onto the device;
the device being set up to check the integrity of the update by checking the corresponding signature of the update with the update public key present on the device, the device being set up to be updated with the firmware contained in the update if the update was signed with the device's update private key. The system enables an efficient delivery (deployment) of secure updates (e.g. software, firmware, operating system, applications), especially for embedded devices. Advantageously, the delivery (deployment) of the updates takes place without an internet connection of the embedded device.

Die Erfindung sowie vorteilhafte Ausführungen der vorliegenden Erfindung werden am Beispiel der nachfolgenden Figur erläutert. Dabei zeigt:

  • 1 ein beispielhaftes Szenario zum Austauschen eines Update-Public-Keys auf einem Gerät, insbesondere einem eingebetteten Gerät,
  • 2 ein beispielhaftes Szenario zur Aktualisierung der Firmware auf einem Gerät, insbesondere einem eingebetteten Gerät, und
  • 3 ein beispielhaftes Flussdiagramm für ein Verfahren zum Austauschen eines Update-Public-Keys auf einem Gerät, insbesondere einem eingebetteten Gerät.
The invention and advantageous embodiments of the present invention are explained using the example of the following figure. It shows:
  • 1 an exemplary scenario for exchanging an update public key on a device, in particular an embedded device,
  • 2nd an exemplary scenario for updating the firmware on a device, in particular an embedded device, and
  • 3rd an exemplary flow chart for a method for exchanging an update public key on a device, in particular an embedded device.

Eingebettete Geräte sind hochspezialisierte Geräte für spezifische Zwecke. Üblicherweise sind eingebettete Geräte in einen spezifischen technischen Kontext bzw. in eine übergeordnetes technisches System eingebettet, z.B. im Home-Entertainment (Unterhaltungselektronik, z.B. Set-Top-Boxen oder Router), in medizintechnischen Systemen, oder in der Flugzeug- und Fahrzeugtechnik.Embedded devices are highly specialized devices for specific purposes. Usually, embedded devices are embedded in a specific technical context or in a higher-level technical system, e.g. in home entertainment (consumer electronics, e.g. set-top boxes or routers), in medical technology systems, or in aircraft and vehicle technology.

Die Integrität eines Updates (Software-Update) soll von einem Gerät (insbesondere einem eingebetteten Gerät) geprüft werden können und es soll möglich sein einen erkannten kompromittierten Schlüssel auszutauschen. Um die Integrität eines Updates sicherzustellen, werden Updates mit einem Public-Private-Key Kryptologie-Verfahren signiert. Die Zertifikate zur Signatur werden mit Vorteil von einer Zertifizierungsstelle ausgegeben und mit einem Root-Zertifikat signiert. Wenn sich bei der Installation die Signatur zu einem vertrauenswürdigen auf dem PC (Personal Computer) installierten Root-Zertifikat zurückverfolgen lässt, wird davon ausgegangen, dass das Update vertrauenswürdig ist und es wird installiert.The integrity of an update (software update) should be able to be checked by a device (in particular an embedded device) and it should be possible to exchange a detected compromised key. To ensure the integrity of an update, updates are signed using a public-private key cryptology procedure. The certificates for the signature are advantageously issued by a certification authority and signed with a root certificate. If the signature can be traced back to a trusted root certificate installed on the PC (personal computer) during installation, it is assumed that the update is trustworthy and it will be installed.

Falls ein Zertifikat kompromittiert wurde kann es von der Zertifizierungsstelle zurückgezogen werden und diese Information wird über das Internet Benutzer bzw. Geräte verteilt. Ein PC kann dann feststellen, dass die Signatur gültig ist, dass Zertifikat aber zurückgezogen wurde und das Update als unsicher einzustufen ist.If a certificate has been compromised, it can be withdrawn by the certification body and this information is distributed over the Internet to users or devices. A PC can then determine that the signature is valid, but that the certificate has been withdrawn and the update can be classified as unsafe.

Dieses Verfahren ist für ein kleines eingebettetes Gerät (kleines embedded Device) ohne Internetverbindung zu aufwendig bzw. ohne Internetverbindung nicht möglich.This method is too complex for a small embedded device (small embedded device) without an Internet connection or is not possible without an Internet connection.

Wenn in einem Entwicklungsprozess (Softwareentwicklungsprozess) mit Continuous Integration auf einem Buildsystem (Werkzeuge für die Softwareerstellung, wie Editor, Konfigurationsmanagementsystem, Compiler etc) neue Software übersetzt wird, ist es vorteilhaft wenn die übersetzten Updates gleicht signiert werden, damit sie automatisiert in die Testgeräte geladen werden können. Dazu muss der Private-Key auf dem Buildsystem verfügbar sein. Es ist schwierig den Private-Key so zu schützen, dass er nicht missbraucht werden kann. Eine Kompromittierung des Private-Key ist also möglich.If new software is translated in a development process (software development process) with continuous integration on a build system (tools for software creation, such as editor, configuration management system, compiler, etc.), it is advantageous if the translated updates are signed in the same way so that they are automatically integrated into the Test devices can be loaded. To do this, the private key must be available on the build system. It is difficult to protect the private key in such a way that it cannot be misused. A compromise of the private key is therefore possible.

Die vorliegende Erfindung ermöglicht es u.a. Updates, die mit einem kompromittierten Private-Key signiert wurden, zu erkennen und das Laden solcher Updates auf das eingebettete Gerät zu unterbinden.The present invention enables i.a. Detect updates that have been signed with a compromised private key and prevent such updates from being loaded onto the embedded device.

Beispielhaftes Szenario für die Durchführung eines Updates (Software-Updates) für ein eingebettetes Gerät:Example scenario for performing an update (software update) for an embedded device:

  1. 1. Ein beim Hersteller signiertes Update wird in das Gerät geladen.1. An update signed by the manufacturer is loaded into the device.
  2. 2. Das Gerät prüft die Integrität des Updates indem es die Signatur prüft. Dazu ist ein Public-Key im Gerät gespeichert.2. The device checks the integrity of the update by checking the signature. A public key is stored in the device for this purpose.
  3. 3. Falls die Signatur gültig ist, wird das Update auf das Gerät eingespielt.3. If the signature is valid, the update is imported to the device.

Wenn jetzt der Fall eintritt, dass der Private-Key kompromittiert wurde, muss der Public-Key im Gerät erneuert werden. Zu diesem Zweck ist bei der Herstellung des Gerätes ein zweiter Public-Key (Master-Public-Key) hinterlegt worden. Mit einem Update, welches mit diesem Master-Key signiert wurde, kann man den normalen Public-Key im Gerät austauschen.If the private key is compromised, the public key in the device must be replaced. For this purpose, a second public key (master public key) has been stored in the manufacture of the device. With an update that has been signed with this master key, you can replace the normal public key in the device.

Zu diesem Zweck ist das Update Image (Speicherabbild bzw. Datenträgerabbild wo sich das Update befindet) in Bereiche aufgeteilt. Diese Bereiche einhalten jeweils eine UpdateAction. Es gibt verschiedene UpdateActions. Die UpdateActions unterscheiden sich durch den Speicherbereich, den sie updaten können. Diese Bereiche sind z.B. Parameter, BootLoader, Hauptprogramm, Public-Key, Master-Public-Key, UpdateModul.For this purpose, the update image (memory image or disk image where the update is located) is divided into areas. Each of these areas complies with an UpdateAction. There are various UpdateActions. The UpdateActions differ in the memory area that they can update. These areas are e.g. Parameters, BootLoader, main program, public key, master public key, update module.

Je nachdem wie das Update signiert wurde, können nur bestimmte Actions ausgeführt werden. So ist beispielsweise das Austauschen des UpdateModuls und der Public-Keys nur bei Updates möglich, die mit dem Master-Key signiert wurden.Depending on how the update was signed, only certain actions can be carried out. For example, the update module and the public key can only be exchanged for updates that have been signed with the master key.

Beispielhaftes Szenario für die Durchführung eines Updates mit Key-Update auf einem eingebetteten Gerät Embedded device:Example scenario for performing an update with a key update on an embedded device Embedded device:

  1. 1. Ein beim Hersteller mit dem Master-Update-Key signiertes Update für den Public-Key wird in das Gerät geladen.1. An update for the public key signed by the manufacturer with the master update key is loaded into the device.
  2. 2. Das Gerät prüft die Integrität des Updates indem es die Signatur prüft. Es stellt fest, dass das Update mit dem Master-Key signiert wurde.2. The device checks the integrity of the update by checking the signature. It determines that the update was signed with the master key.
  3. 3. Die UpdateActions werden ausgeführt. Jetzt ist im Gerät ein neuer Public-Key vorhanden.3. The UpdateActions are executed. A new public key is now available in the device.
  4. 4. Ein beim Hersteller mit dem neuen Key signiertes Update wird in das Gerät geladen.4. An update signed by the manufacturer with the new key is loaded into the device.
  5. 5. Das Gerät prüft die Integrität des Updates unter Zuhilfenahme des neuen Public-Keys.5. The device checks the integrity of the update using the new public key.
  6. 6. Falls die Signatur gültig ist, werden die UpdateActions ausgeführt.6. If the signature is valid, the UpdateActions are carried out.

Es sind auch UpdateActions möglich, die bei der Ausführung bestimmte Geräteeigenschaften prüfen und ein Ausführen von weiteren UpdateActions ablehnen.UpdateActions are also possible, which check certain device properties during execution and refuse to execute further UpdateActions.

Ein Vorteil liegt insbesondere darin, dass, wenn die Prüfung der Integrität im Gerät stattfindet, kann sie nicht über eine Replay-Attacke umgangen werden.One particular advantage is that if the integrity check is done in the device, it cannot be bypassed using a replay attack.

Erfindungsgemäss werden im Gerät (eingebetteten Gerät) mehrere Public-Keys (mindestens zwei) abgelegt. Dadurch ist ein sicherer Austausch eines kompromittierten Keys (Schlüssels) im Gerät möglich. Mit Vorteil wird in UpdateImage wird in mehrere Bereiche aufgeteilt. Jedem Bereich wird eine UpdateAction zugeordnet. Eine UpdateAction ist einem Key zugeordnet und wird nur ausgeführt wenn das Image auch mit dem zugehörigen Private-Key signiert wurde. Mit Vorteil gibt es UpdateActions, die bei der Ausführung im Gerät bestimmte Geräteeigenschaften prüfen und eine weitere Ausführung des Updates unterbinden können wenn die Prüfung fehlschlägt.According to the invention, several public keys (at least two) are stored in the device (embedded device). This enables a secure exchange of a compromised key (key) in the device. It is advantageous to split into several areas in UpdateImage. An update action is assigned to each area. An UpdateAction is assigned to a key and is only executed if the image was also signed with the associated private key. There are advantageously UpdateActions, which check certain device properties when executed in the device and can prevent further execution of the update if the check fails.

1 zeigt ein beispielhaftes Szenario zum Austauschen eines Update-Public-Keys UPBK auf einem Gerät, insbesondere einem eingebetteten Gerät EG, wobei ein mit einem Master-Private-Key MPRK signiertes Update UP für eine Aktualisierung des Update-Public-Keys UPBK auf das Gerät EG geladen wird, wobei das Update UP einen neuen Update-Public-Key NUPBK für das Gerät EG enthält; wobei die Integrität des Updates UP durch das Gerät EG durch Prüfen der entsprechenden Signatur des Updates UP mit dem auf dem Gerät EG vorhandenen Master-Public-Key MPBK überprüft wird; und wobei der bisherige Update-Public-Key UPBK des Gerätes EG mit dem neuen Update-Public-Key NUPBK aus dem Update UP überschrieben wird. 1 shows an exemplary scenario for exchanging an update public key UPBK on a device, especially an embedded device EG , one with a master private key MPRK signed update UP for an update of the update public key UPBK on the device EG is loaded, the update UP a new update public key NUPBK for the device EG contains; taking the integrity of the update UP through the device EG by checking the corresponding signature of the update UP with that on the device EG existing master public key MPBK is checked; and where the previous update public key UPBK of the device EG with the new update public key NUPBK from the update UP is overwritten.

Mit Vorteil erfolgt durch eine Vorrichtung ES das Laden eines mit einem Update-Private-Keys UPRK signierten Updates UP für eine Aktualisierung der Firmware FW auf das Gerät EP. Mit Vorteil erfolgt ein Überprüfen der Integrität des Updates UP durch das Gerät EG durch Überprüfen der entsprechenden Signatur des Updates UP mit dem auf dem Gerät EG vorhandenen Update-Public-Key UPBK, wobei das Gerät EG mit der im Update UP enthaltenen Firmware FW aktualisiert wird, wenn das Update UP mit dem Update-Private-Key UPRK der Vorrichtung ES signiert wurde.This is advantageously done by a device IT loading one with an update private key UPRK signed updates UP for an update of the firmware FW on the device EP. The integrity of the update is advantageously checked UP through the device EG by checking the corresponding signature of the update UP with that on the device EG existing update public key UPBK , the device EG with that in the update UP contained Firmware FW is updated when the update UP with the update private key UPRK the device IT was signed.

Das Update UP wird von der Vorrichtung ES (z.B. Engineeringsystem oder Diagnosewerkzeug) für das Gerät EG bereitgestellt und auf das Gerät EG über eine geeignete Kommunikationsverbindung KV1 geladen. Bei der Kommunikationsverbindung KV1 kann es sich um eine geeignete drahtgebundene (z.B. USB-Schnittstelle) oder drahtlose (z.B. Funk, Bluetooth, WLAN) Verbindung handeln.The update UP is from the device IT (e.g. engineering system or diagnostic tool) for the device EG provided and on the device EG via a suitable communication link KV1 loaded. With the communication link KV1 it can be a suitable wired (e.g. USB interface) or wireless (e.g. radio, Bluetooth, WLAN) connection.

Die Vorrichtung ES (z.B. Engineeringsystem, Diagnosewerkzeug) ist mit entsprechender Software (insbesondere zum Signieren) und Hardware (Prozessor, Speicher, Ein-/Ausgabemittel, Kommunikationsmittel) ausgestattet, z.B. mit Prozessor P2 und Speichermittel SP2 (Arbeitsspeicher und Flashspeicher). Die Vorrichtung, die das Update ausführt, wird mit Vorteil dem Anwender übergeben. Mit Vorteil enthält die Vorrichtung das signierte Update, das auf das Gerät (z.B. eingebettetes Gerät) geladen werden soll und keinen private key (privaten Schlüssel) .The device IT (eg engineering system, diagnostic tool) is equipped with appropriate software (especially for signing) and hardware (processor, memory, input / output means, communication means), for example with a processor P2 and storage means SP2 (RAM and flash memory). The device that carries out the update is advantageously handed over to the user. The device advantageously contains the signed update that is to be loaded onto the device (for example an embedded device) and not a private key.

Das Tool zum Signieren der Updates (mit dem private key) steht beim Hersteller in einer gesicherten Umgebung.The tool for signing the updates (with the private key) is in a secure environment at the manufacturer.

Beim Update UP kann es sich um Software, Firmware FW, Betriebs-system oder Applikationssoftware handeln, die die aktuell im Gerät EG vorhandene Software, Firmware FW, Betriebssystem oder Applikationen ersetzen.When updating UP can be software, firmware FW , Operating system or application software that are currently in the device EG existing software, firmware FW , Replace the operating system or applications.

Auch das Gerät EG ist mit entsprechender Software (z.B. Software zum Überprüfen der Updates UP) und Hardware ausgestattet, z.B. mit Prozessor P1 und Speichermittel SP1 (Arbeitsspeicher (RAM) und persistente Speicher (z.B. Flashspeicher)). Durch das Update UP kann im Gerät EG aktuelle Software bzw. Firmware FW im Arbeitsspeicher oder im Flashspeicher ersetzt werden.Even the device EG comes with appropriate software (e.g. software for checking the updates UP ) and hardware, e.g. with processor P1 and storage means SP1 (Main memory (RAM) and persistent memory (e.g. flash memory)). Through the update UP can in the device EG current software or firmware FW be replaced in the working memory or in the flash memory.

Mit Vorteil ist die Vorrichtung ES dazu eingerichtet ist, ein mit einem Master-Private-Key MPRK signiertes Update UP für eine Aktualisierung des Update-Public-Keys UPBK auf das Gerät EG zu laden, wobei das Update UP einen neuen Update-Public-Key NUPBK für das Gerät EG enthält; wobei die Integrität des Updates UP durch das Gerät EG durch Prüfen der entsprechenden Signatur des Updates UP mit dem auf dem Gerät EG vorhandenen Master-Public-Key MPBK überprüft wird; und wobei der bisherige Update-Public-Key UPBK des Gerätes EG mit dem neuen Update-Public-Key NUPBK aus dem Update UP überschrieben wird.The device is advantageous IT is set up, one with a master private key MPRK signed update UP for an update of the update public key UPBK on the device EG to load, the update UP a new update public key NUPBK for the device EG contains; taking the integrity of the update UP through the device EG by checking the corresponding signature of the update UP with that on the device EG existing master public key MPBK is checked; and where the previous update public key UPBK of the device EG with the new update public key NUPBK from the update UP is overwritten.

Mit Vorteil unterscheiden sich im Gerät EG die zu aktualisierenden Speicherbereiche für das jeweilige Update UP in Abhängigkeit der Signatur.Advantageously differ in the device EG the memory areas to be updated for the respective update UP depending on the signature.

Mit Vorteil sind im Gerät EG für Bootloader, Betriebssystem (OS) und Applikationen jeweils verschiedene Update-Public-Keys UPBK hinterlegt.With advantage are in the device EG for bootloader, operating system ( OS ) and applications each have different update public keys UPBK deposited.

Mit Vorteil umfasst ein signiertes Update UP eindeutige Gerätemerkmale, wobei das Update UP nach Prüfung der Signatur nur durchgeführt wird, wenn die im Update UP vorhandenen Gerätemerkmale mit den Gerätemerkmalen (z.B. Seriennummer) des Gerätes EG übereinstimmen. Mit Vorteil enthalten die eindeutigen Gerätemerkmale Wildcards.A signed update is advantageous UP unique device features, the update UP after checking the signature is only carried out if the in the update UP existing device features with the device features (e.g. serial number) of the device EG to match. The unique device features advantageously contain wildcards.

Mit Vorteil erfolgt das Austauschen des Update-Public-Keys UPBK auf dem Gerät EG (eingebettete Gerät) durch die Vorrichtung ES nur, wenn das eingebettete Gerät EG und die Vorrichtung ES in einer ausschliesslichen Kommunikationsverbindung KV1 (mit Vorteil bidirektional) miteinander verbunden sind. D.h., dass das eingebettete Gerät EG und die Vorrichtung ES von der Umgebung und insbesondere vom Internet I datentechnisch isoliert sind. Z.B. durch eine Inselverbindung zwischen Gerät und Tool; ohne Internet. Dies erhöht die Sicherheit, denn es können somit während eines Updates keine Attacken (z.B. Man-in-the-middle-Attacken) erfolgen.The update public key is advantageously exchanged UPBK on the device EG (embedded device) through the device IT only if the embedded device EG and the device IT in an exclusive communication connection KV1 (advantageously bidirectionally) are connected to one another. Ie that the embedded device EG and the device IT are isolated from the environment and in particular from the Internet I. For example, through an island connection between device and tool; without internet. This increases security because no attacks (e.g. man-in-the-middle attacks) can occur during an update.

Mit Vorteil erfolgt das Austauschen des Update-Public-Keys UPBK auf dem Gerät EG (eingebettete Gerät) durch die Vorrichtung ES nur, wenn das eingebettete Gerät EG von anderen Geräten und insbesondere vom Internet I isoliert ist und neu gebootet wurde. Dadurch wird sichergestellt, dass sich im Arbeitsspeicher (RAM) des eingebetteten Gerätes EG keine persistente Schad-Software befindet.The update public key is advantageously exchanged UPBK on the device EG (embedded device) through the device IT only if the embedded device EG is isolated from other devices and in particular from the Internet I and has been rebooted. This ensures that there is memory in the embedded device EG there is no persistent malware.

Optional kann das Gerät EG z.B. für eine Kommunikation mit einer übergeordneten Steuerstelle über eine geeignete Kommunikationsverbindung KV2 (z.B. WLAN) mit dem Internet I verbunden sein.Optionally, the device EG eg for communication with a higher-level control unit via a suitable communication connection KV2 (eg WLAN) must be connected to the Internet I.

2 zeigt ein beispielhaftes Szenario zur Aktualisierung der Firmware FW auf einem Gerät EG, insbesondere einem eingebetteten Gerät. Die Darstellung gemäss der 2 zeigt ein System zur Auslieferung (Deployment) von sicheren Updates NFW für eine Aktualisierung der Firmware FW auf Geräten EG, insbesondere eingebetteten Geräten. Weiterhin ist die Vorrichtung ES dazu eingerichtet, das mit dem Update-Private-Key UPRK signierte Update NFW auf das Gerät EG zu laden. Das Gerät EG ist dazu eingerichtet, durch Überprüfen der entsprechenden Signatur des Updates NFW mit dem auf dem Gerät EG vorhandenen Update-Public-Key UPBK die Integrität des Updates NFW zu überprüfen, wobei das Gerät EG dazu eingerichtet ist, dass es mit der im Update NFW enthaltenen neuen Firmware NFW aktualisiert wird, wenn das Update NFW (d.h. die neue Firmware für das Gerät) mit dem Update-Private-Key UPRK der Vorrichtung ES signiert wurde. Vorrichtung ES und Gerät EG sind mit der entsprechenden Hardware (Prozessoren P1, P2 und Speicher SP1, SP2 (RAM und Flash)) und Software (z.B. Verschlüsselungssoftware für eine asymmetrische Kryptographie) 2nd shows an example scenario for updating the firmware FW on one device EG , especially an embedded device. The representation according to the 2nd shows a system for the delivery (deployment) of secure updates NFW for an update of the firmware FW on devices EG , especially embedded devices. Furthermore, the device IT set up with the update private key UPRK signed update NFW on the device EG to load. The device EG is set up by checking the corresponding signature of the update NFW with that on the device EG existing update public key UPBK the integrity of the update NFW to check, the device EG is set up with that in the update NFW contained new firmware NFW updated will when the update NFW (ie the new firmware for the device) with the update private key UPRK the device IT was signed. contraption IT and device EG are equipped with the appropriate hardware (processors P1 , P2 and memory SP1 , SP2 (RAM and Flash)) and software (e.g. encryption software for asymmetric cryptography)

Mit Vorteil erfolgt das Austauschen des Update-Public-Keys UPBK auf dem Gerät EG (eingebettete Gerät) durch die Vorrichtung ES nur, wenn das eingebettete Gerät EG und die Vorrichtung ES in einer ausschliesslichen Kommunikationsverbindung KV1 (mit Vorteil bidirektional) miteinander verbunden sind. The update public key is advantageously exchanged UPBK on the device EG (embedded device) through the device IT only if the embedded device EG and the device IT in an exclusive communication connection KV1 (advantageously bidirectionally) are connected to one another.

D.h., dass das eingebettete Gerät EG und die Vorrichtung ES von der Umgebung und insbesondere vom Internet I datentechnisch isoliert sind. Z.B. durch eine Inselverbindung zwischen Gerät und Tool; ohne Internet. Dies erhöht die Sicherheit, denn es können somit während eines Updates keine Attacken (z.B. Man-in-the-middle-Attacken) erfolgen.Ie that the embedded device EG and the device IT are isolated from the environment and in particular from the Internet I. For example, through an island connection between device and tool; without internet. This increases security because no attacks (e.g. man-in-the-middle attacks) can occur during an update.

Mit Vorteil erfolgt das Austauschen des Update-Public-Keys UPBK auf dem Gerät EG (eingebettete Gerät) durch die Vorrichtung ES nur, wenn das eingebettete Gerät EG von anderen Geräten und insbesondere vom Internet I isoliert ist und neu gebootet wurde. Dadurch wird sichergestellt, dass sich im Arbeitsspeicher (RAM) des eingebetteten Gerätes EG keine persistente Schad-Software befindet.The update public key is advantageously exchanged UPBK on the device EG (embedded device) through the device IT only if the embedded device EG is isolated from other devices and especially from the Internet I and has been rebooted. This ensures that there is memory in the embedded device EG there is no persistent malware.

Eine weitere vorteilhafte Ausgestaltung der Erfindung liegt in einem Verfahren zur Durchführung eines Firmware-Updates, insbesondere für ein eingebettetes Gerät (EG), umfassend die folgenden Schritte:

  • Laden eines mit einem Update-Private-Keys (UPRK) signierten Updates (UP) für eine Aktualisierung der Firmware (FW) auf das Gerät (EG);
  • Überprüfen der Integrität des Updates (UP) durch das Gerät (EG) durch Überprüfen der entsprechenden Signatur des Updates (UP) mit dem auf dem Gerät (EG) vorhandenen Update-Public-Key (UPBK), wobei das Gerät (EG) mit der im Update (UP) enthaltenen Firmware (FW) aktualisiert wird, wenn das Update (UP) mit dem Update-Private-Key (UPRK) signiert wurde.
A further advantageous embodiment of the invention resides in a method for carrying out a firmware update, in particular for an embedded device ( EG ), comprising the following steps:
  • Load one with an update private key ( UPRK ) signed updates ( UP ) for an update of the firmware ( FW ) on the device ( EG );
  • Check the integrity of the update ( UP ) through the device ( EG ) by checking the corresponding signature of the update ( UP ) with the on the device ( EG ) existing update public key ( UPBK ), the device ( EG ) with that in the update ( UP ) included firmware ( FW ) is updated when the update ( UP ) with the update private key ( UPRK ) was signed.

3 zeigt ein beispielhaftes Flussdiagramm für ein Verfahren zum Austauschen eines Update-Public-Keys UPBK auf einem Gerät EG, insbesondere einem eingebetteten Gerät. Das Verfahren umfassend die folgenden Schritte:

  • (VS1) Laden eines mit einem Master-Private-Keys signiertem Updates für eine Aktualisierung des Update-Public-Keys auf das Gerät, wobei das Update einen neuen Update-Public-Key für das Gerät enthält;
  • (VS2) Überprüfen der Integrität des Updates durch das Gerät durch Überprüfen der entsprechenden Signatur des Updates mit dem auf dem Gerät vorhandenen Master-Public-Key;
  • (VS3) Überschreiben des bisherigen Update-Public-Keys des Gerät mit dem neuen Update-Public-Key aus dem Update.
3rd shows an exemplary flow diagram for a method for exchanging an update public key UPBK on one device EG , especially an embedded device. The process includes the following steps:
  • ( VS1 ) Loading an update signed with a master private key for an update of the update public key onto the device, the update containing a new update public key for the device;
  • ( VS2 ) Checking the integrity of the update by the device by checking the corresponding signature of the update with the master public key present on the device;
  • ( VS3 ) Overwrite the previous update public key of the device with the new update public key from the update.

Verfahrensschritt (VS1) „Laden eines mit einem Master-Private-Keys signiertem Updates für eine Aktualisierung des Update-Public-Keys auf das Gerät, wobei das Update einen neuen Update-Public-Key für das Gerät enthält“ wird von einer entsprechend eingerichteten Vorrichtung (z.B. Engineeringsystem) durchgeführt.Process step ( VS1 ) "Loading an update signed with a master private key for an update of the update public key on the device, the update containing a new update public key for the device" is carried out by an appropriately configured device (eg engineering system ) carried out.

Optional umfasst das Verfahren die folgenden Schritte:

  • Laden eines mit einem Update-Private-Keys signierten Updates für eine Aktualisierung der Firmware auf das Gerät;
  • Überprüfen der Integrität des Updates durch das Gerät durch Überprüfen der entsprechenden Signatur des Updates mit dem auf dem Gerät vorhandenen Update-Public-Key, wobei das Gerät mit der im Update enthaltenen Firmware aktualisiert wird, wenn das Update mit dem Update-Private-Key signiert wurde.
The process optionally includes the following steps:
  • Downloading an update signed with an update private key to update the firmware on the device;
  • Checking the integrity of the update by the device by checking the corresponding signature of the update with the update public key present on the device, the device being updated with the firmware contained in the update when the update is signed with the update private key has been.

Mit Vorteil unterscheiden sich im Gerät EG die zu aktualisierenden Speicherbereiche für das jeweilige Update UP in Abhängigkeit der Signatur.Advantageously differ in the device EG the memory areas to be updated for the respective update UP depending on the signature.

Mit Vorteil sind im Gerät EG für Bootloader, Betriebssystem (OS) und Applikationen jeweils verschiedene Update-Public-Keys UPBK hinterlegt.With advantage are in the device EG for bootloader, operating system ( OS ) and applications each have different update public keys UPBK deposited.

Mit Vorteil umfasst ein signiertes Update UP eindeutige Gerätemerkmale, wobei das Update UP nach Prüfung der Signatur nur durchgeführt wird, wenn die im Update UP vorhandenen Gerätemerkmale mit den Gerätemerkmalen (z.B. Seriennummer) des Gerätes EG übereinstimmen. Mit Vorteil enthalten die eindeutigen Gerätemerkmale Wildcards.A signed update is advantageous UP unique device features, the update UP after checking the signature is only carried out if the in the update UP existing device features with the device features (e.g. serial number) of the device EG to match. The unique device features advantageously contain wildcards.

Mit Vorteil wird vor dem Laden des Updates UP die Geräteintegrität des Gerätes EG durch eine vertrauenswürdige Instanz sicherstellt, z.B. durch einen Zertifizierungsserver.It is advantageous to download the update UP the device integrity of the device EG ensured by a trustworthy entity, e.g. by a certification server.

Eine weitere vorteilhafte Ausgestaltung der Erfindung liegt darin, dass das Verfahren nur durchgeführt wird, wenn das eingebettete Gerät und die Vorrichtung in einer ausschliesslichen Kommunikationsverbindung (mit Vorteil bidirektional) miteinander verbunden sind. D.h., dass das eingebettete Gerät und die Vorrichtung von der Umgebung und insbesondere vom Internet datentechnisch isoliert sind. Z.B. durch eine Inselverbindung zwischen Gerät EG und Vorrichtung; ohne Internet. Mit Vorteil handelt es sich bei der ausschliesslichen Kommunikationsverbindung um eine Punkt-zu-Punkt-Verbindung, mit Vorteil um eine sichere Punkt-zu-Punkt-Verbindung.A further advantageous embodiment of the invention is that the method is only carried out when the embedded device and the device are connected to one another in an exclusive communication connection (advantageously bidirectionally). This means that the embedded device and the device are isolated from the environment and in particular from the Internet in terms of data technology. For example, through an island connection between the device EG and device; without internet. The exclusive communication connection is advantageously a point-to-point connection, and advantageously a secure point-to-point connection.

Mit Vorteil wird vor der Durchführung der Verfahrensschritte das eingebettete Gerät EG von anderen Geräten und insbesondere vom Internet isoliert und jeweils neu gebootet. Dadurch wird sichergestellt, dass sich im Arbeitsspeicher (RAM) des eingebetteten Gerätes EG keine persistente Schad-Software befindet.The embedded device is advantageous before carrying out the method steps EG isolated from other devices and especially from the Internet and rebooted. This ensures that there is memory in the embedded device EG there is no persistent malware.

Das erfindungsgemässe Verfahren ermöglicht insbesondere ein sicheres Firmware-Update für eingebettete Geräte ohne Internetverbindung.The method according to the invention in particular enables a secure firmware update for embedded devices without an Internet connection.

Weitere Aspekte der vorliegenden Erfindung:Further aspects of the present invention:

  • - Updates werden mit einem Private Key (Update-Private-Key) signiert und die Signatur wird vom Endgerät geprüft. Dazu ist ein Public Key (Update-Public-Key) im Endgerät vorhanden.- Updates are signed with a private key (update private key) and the signature is checked by the end device. A public key (update public key) is available in the end device for this purpose.
  • - In der Entwicklung werden im Buildsystem automatisch UpdateFiles mit dem Update-Private-Key signiert. Aus diesem Grund muss der Update-Private-Key auf den Buildrechnern und zum Test auf allen Entwicklerrechnern vorhanden sein. Potentiell kann er also relativ einfach „gestohlen“ werden, da viele Leute darauf Zugriff haben.- During development, update files are automatically signed in the build system with the update private key. For this reason, the update private key must be available on the build computers and for testing on all developer computers. So it can potentially be "stolen" relatively easily since many people have access to it.
  • - Es wird im Endgerät ein weiterer Public Key (Master-Public-Key) hinterlegt. Updates, die mit einem dazu passenden Private Key (Master-Private-Key) signiert wurden, können den Update-Public-Key austauschen.- Another public key (master public key) is stored in the end device. Updates that have been signed with a matching private key (master private key) can exchange the update public key.
  • - Auf den Master-Private-Key kann besser „aufgepasst“ werden, da der Update-Public-Key Austausch nur manuell vorgenommen wird.- It is easier to "watch" the master private key because the update public key exchange is only carried out manually.
  • - Im Update können auch Geräteeigenschaften (z.B. Seriennummer) hinterlegt werden. Diese Geräteeigenschaften werden nach dem Prüfen der Signatur geprüft. Falls die Geräteeigenschaften nicht übereinstimmen wird das Update abgelehnt. Dadurch können z.B. Sicherheitseinstellungen gelockert werden um eine Fehlersuche zu ermöglichen. Hier ist es wichtig diese Updates auf bestimmte Geräte zu begrenzen, da sonst alle Geräte unsecure werden können. Vorteilhafterweise kann das Updatetool (z.B. Engineeringsystem) diese Unsecure (unsichere) Geräte erkennen. Verfahren und Vorrichtung zum Austauschen eines Update-Public-Keys auf einem Gerät, insbesondere einem eingebetteten Gerät, wobei ein mit einem Master-Private-Key signiertes Update für eine Aktualisierung des Update-Public-Keys auf das Gerät geladen wird, wobei das Update einen neuen Update-Public-Key für das Gerät enthält; wobei die Integrität des Updates durch das Gerät durch Prüfen der entsprechenden Signatur des Updates mit dem auf dem Gerät vorhandenen Master-Public-Key überprüft wird; und wobei der bisherige Update-Public-Key des Gerätes mit dem neuen Update-Public-Key aus dem Update überschrieben wird.- Device properties (e.g. serial number) can also be stored in the update. These device properties are checked after checking the signature. If the device properties do not match, the update is rejected. This can e.g. Security settings are relaxed to enable troubleshooting. Here it is important to limit these updates to certain devices, otherwise all devices can become unsecure. The update tool (e.g. engineering system) can advantageously recognize these unsecure (unsafe) devices. Method and device for exchanging an update public key on a device, in particular an embedded device, an update signed with a master private key being loaded onto the device for an update of the update public key, the update being a contains new update public key for the device; wherein the integrity of the update is checked by the device by checking the corresponding signature of the update with the master public key present on the device; and the previous update public key of the device is overwritten with the new update public key from the update.

BezugszeichenlisteReference list

EGEG
Eingebettetes GerätEmbedded device
ESIT
EngineeringsystemEngineering system
KV1, KV2KV1, KV2
KommunikationsverbindungCommunication link
SP1, SP2SP1, SP2
SpeicherStorage
P1, P2P1, P2
Prozessorprocessor
MPRKMPRK
Master-Private-KeyMaster private key
MPBKMPBK
Master-Public-KeyMaster public key
UPBKUPBK
Update-Public-KeyUpdate public key
NUPBKNUPBK
Neuer-Update-Public-KeyNew update public key
UPUP
Software-UpdateSoftware update
UPRKUPRK
Update-Private-KeyUpdate private key
FWFW
FirmwareFirmware
NFWNFW
Neue FirmwareNew firmware
VS1 - VS3VS1 - VS3
VerfahrensschrittProcedural step

Claims (11)

Verfahren zum Austauschen eines Update-Public-Keys (UPBK) auf einem Gerät (EG), insbesondere einem eingebetteten Gerät (EG), das Verfahren umfassend die folgenden Schritte: (VS1) Laden eines mit einem Master-Private-Key (MPRK) signiertem Updates (UP) für eine Aktualisierung des Update-Public-Keys (UPBK) auf das Gerät (EG), wobei das Update (UP) einen neuen Update-Public-Key (NUPBK) für das Gerät (EG) enthält; (VS2) Überprüfen der Integrität des Updates (UP) durch das Gerät (EG) durch Überprüfen der entsprechenden Signatur des Updates (UP) mit dem auf dem Gerät (EG) vorhandenen Master-Public-Key (MPBK); (VS3) Überschreiben des bisherigen Update-Public-Keys (UPBK) des Gerätes (EG) mit dem neuen Update-Public-Key (NUPBK) aus dem Update (UP).Method for exchanging an update public key (UPBK) on a device (EG), in particular an embedded device (EG), the method comprising the following steps: (VS1) Loading an update (UP) signed with a master private key (MPRK) for an update of the update public key (UPBK) on the device (EG), the update (UP) being a new update public -Key (NUPBK) for the device (EG) contains; (VS2) checking the integrity of the update (UP) by the device (EG) by checking the corresponding signature of the update (UP) with the master public key (MPBK) present on the device (EG); (VS3) Overwrite the previous update public key (UPBK) of the device (EG) with the new update public key (NUPBK) from the update (UP). Verfahren nach Anspruch 1, weiter umfassend die folgenden Schritte: Laden eines mit einem Update-Private-Keys (UPRK) signierten Updates (UP) für eine Aktualisierung der Firmware (FW) auf das Gerät (EG); Überprüfen der Integrität des Updates (UP) durch das Gerät (EG) durch Überprüfen der entsprechenden Signatur des Updates (UP) mit dem auf dem Gerät (EG) vorhandenen Update-Public-Key (UPBK), wobei das Gerät (EG) mit der im Update (UP) enthaltenen Firmware (FW) aktualisiert wird, wenn das Update (UP) mit dem Update-Private-Key (UPRK) signiert wurde.Procedure according to Claim 1 , further comprising the following steps: Loading an update (UP) signed with an update private key (UPRK) for an update of the firmware (FW) on the device (EG); Checking the integrity of the update (UP) by the device (EG) by checking the corresponding signature of the update (UP) with the update public key (UPBK) present on the device (EG), the device (EG) with the firmware (FW) contained in the update (UP) is updated if the update (UP) was signed with the update private key (UPRK). Verfahren nach einem der vorstehenden Ansprüche, wobei sich im Gerät (EG) die zu aktualisierenden Speicherbereiche für das jeweilige Update (UP) in Abhängigkeit der Signatur unterscheiden.Method according to one of the preceding claims, wherein in the device (EG) the memory areas to be updated for the respective update (UP) differ depending on the signature. Verfahren nach Anspruch nach einem der vorstehenden Ansprüche, wobei im Gerät (EG) für Bootloader, Betriebssystem (OS) und Applikationen jeweils verschiedene Update-Public-Keys (UPBK) hinterlegt sind.Method according to claim according to one of the preceding claims, wherein different update public keys (UPBK) are stored in the device (EG) for bootloader, operating system (OS) and applications. Verfahren nach einem der vorstehenden Ansprüche, wobei ein signiertes Update (UP) eindeutige Gerätemerkmale umfasst, wobei das Update (UP) nach Prüfung der Signatur nur durchgeführt wird, wenn die im Update (UP) vorhandenen Gerätemerkmale mit den Gerätemerkmalen des Gerätes (EG) übereinstimmen.Method according to one of the preceding claims, wherein a signed update (UP) comprises unique device features, the update (UP) being carried out after checking the signature only if the device features present in the update (UP) match the device features of the device (EG) . Verfahren nach Anspruch 5, wobei die eindeutigen Gerätemerkmale Wildcards enthalten.Procedure according to Claim 5 , where the unique device features contain wildcards. Verfahren nach einem der vorstehenden Ansprüche, wobei vor dem Update (UP) die Geräteintegrität des Gerätes (EG) durch eine vertrauenswürdige Instanz sichergestellt wird.Method according to one of the preceding claims, wherein the device integrity of the device (EG) is ensured by a trustworthy entity before the update (UP). Verfahren zur Durchführung eines Firmware-Updates, insbesondere für ein eingebettetes Gerät (EG), umfassend die folgenden Schritte: Laden eines mit einem Update-Private-Keys (UPRK) signierten Updates (UP) für eine Aktualisierung der Firmware (FW) auf das Gerät (EG); Überprüfen der Integrität des Updates (UP) durch das Gerät (EG) durch Überprüfen der entsprechenden Signatur des Updates (UP) mit dem auf dem Gerät (EG) vorhandenen Update-Public-Key (UPBK), wobei das Gerät (EG) mit der im Update (UP) enthaltenen Firmware (FW) aktualisiert wird, wenn das Update (UP) mit dem Update-Private-Key (UPRK) signiert wurde.Method for carrying out a firmware update, in particular for an embedded device (EG), comprising the following steps: Loading an update (UP) signed with an update private key (UPRK) for an update of the firmware (FW) on the device (EG); Checking the integrity of the update (UP) by the device (EG) by checking the corresponding signature of the update (UP) with the update public key (UPBK) present on the device (EG), the device (EG) with the firmware (FW) contained in the update (UP) is updated if the update (UP) was signed with the update private key (UPRK). Vorrichtung, die eingerichtet ist zur Durchführung eines Verfahrens nach den vorstehenden Ansprüchen.Device which is set up to carry out a method according to the preceding claims. Vorrichtung (ES) zum Austauschen eines Update-Public-Keys (UPBK) auf einem Gerät (EG), insbesondere einem eingebetteten Gerät (EG), wobei die Vorrichtung (ES) dazu eingerichtet ist, ein mit einem Master-Private-Key (MPRK) signiertes Update (UP) für eine Aktualisierung des Update-Public-Keys (UPBK) auf das Gerät (EG) zu laden, wobei das Update (UP) einen neuen Update-Public-Key (NUPBK) für das Gerät (EG) enthält; wobei die Integrität des Updates (UP) durch das Gerät (EG) durch Prüfen der entsprechenden Signatur des Updates (UP) mit dem auf dem Gerät (EG) vorhandenen Master-Public-Key (MPBK) überprüft wird; und wobei der bisherige Update-Public-Key (UPBK) des Gerätes (EG) mit dem neuen Update-Public-Key (NUPBK) aus dem Update (UP) überschrieben wird.Device (ES) for exchanging an update public key (UPBK) on a device (EG), in particular an embedded device (EG), the device (ES) being set up to receive a master private key (MPRK ) to load signed update (UP) for an update of the update public key (UPBK) on the device (EG), the update (UP) containing a new update public key (NUPBK) for the device (EG) ; wherein the integrity of the update (UP) is checked by the device (EG) by checking the corresponding signature of the update (UP) with the master public key (MPBK) present on the device (EG); and the previous update public key (UPBK) of the device (EG) is overwritten with the new update public key (NUPBK) from the update (UP). System zur Auslieferung von sicheren Updates (UP) für eine Aktualisierung der Firmware (FW) auf Geräte (EG), insbesondere eingebettete Geräte (EG), wobei eine Vorrichtung (ES) dazu eingerichtet ist, das Update (UP) mit einem Update-Private-Key (UPRK) zu signieren; wobei die Vorrichtung weiter dazu eingerichtet ist, das mit dem Update-Private-Key (UPRK) signierte Update (UP) auf das Gerät (EG) zu laden; wobei das das Gerät (EG) dazu eingerichtet ist, durch Überprüfen der entsprechenden Signatur des Updates (UP) mit dem auf dem Gerät (EG) vorhandenen Update-Public-Key (UPBK) die Integrität des Updates (UP) zu überprüfen, wobei das Gerät (EG) dazu eingerichtet ist, dass es mit der im Update (UP) enthaltenen Firmware (FW) aktualisiert wird, wenn das Update (UP) mit dem Update-Private-Key (UPRK) der Vorrichtung (ES) signiert wurde.System for the delivery of secure updates (UP) for updating the firmware (FW) on devices (EG), in particular embedded devices (EG), wherein a device (ES) is set up to sign the update (UP) with an update private key (UPRK); the device being further configured to load the update (UP) signed with the update private key (UPRK) onto the device (EG); wherein the device (EG) is set up to check the integrity of the update (UP) by checking the corresponding signature of the update (UP) with the update public key (UPBK) present on the device (EG), the Device (EG) is set up so that it is updated with the firmware (FW) contained in the update (UP) if the update (UP) was signed with the update private key (UPRK) of the device (ES).
DE102018217431.8A 2018-10-11 2018-10-11 Secure key exchange on one device, especially an embedded device Pending DE102018217431A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102018217431.8A DE102018217431A1 (en) 2018-10-11 2018-10-11 Secure key exchange on one device, especially an embedded device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102018217431.8A DE102018217431A1 (en) 2018-10-11 2018-10-11 Secure key exchange on one device, especially an embedded device

Publications (1)

Publication Number Publication Date
DE102018217431A1 true DE102018217431A1 (en) 2020-04-16

Family

ID=69954783

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102018217431.8A Pending DE102018217431A1 (en) 2018-10-11 2018-10-11 Secure key exchange on one device, especially an embedded device

Country Status (1)

Country Link
DE (1) DE102018217431A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10316951A1 (en) * 2003-04-12 2004-10-21 Daimlerchrysler Ag Method for checking the data integrity of software in ECUs
US20160028549A1 (en) * 2014-07-24 2016-01-28 Yasuaki YUJI Information processing system and electronic device
EP2442251B9 (en) * 2010-10-14 2016-10-05 Kobil Systems GmbH Individual updating of computer programs

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10316951A1 (en) * 2003-04-12 2004-10-21 Daimlerchrysler Ag Method for checking the data integrity of software in ECUs
EP2442251B9 (en) * 2010-10-14 2016-10-05 Kobil Systems GmbH Individual updating of computer programs
US20160028549A1 (en) * 2014-07-24 2016-01-28 Yasuaki YUJI Information processing system and electronic device

Similar Documents

Publication Publication Date Title
EP3125492B1 (en) Method and system for generating a secure communication channel for terminals
EP2367128B1 (en) Device and method for electronic signatures
DE102008006759B4 (en) Processor assembly and method of operating the processor assembly without reducing overall security
DE102013108020A1 (en) Authentication scheme for activating a special privilege mode in a secure electronic control unit
DE102016205289A1 (en) Method, processor and device for checking the integrity of user data
DE102013108022A1 (en) Method for activating the development mode of a secure electronic control unit
WO2019034509A1 (en) Method for the secure replacement of a first manufacturer certificate already incorporated into a device
DE112011103580T5 (en) A method, secure device, system, and computer program product for securely managing user access to a file system
EP3226464A1 (en) Data structure for use as positive list in an apparatus, method for updating a positive list and apparatus
WO2017102295A1 (en) Method and security module for providing a security function for a device
DE102018217431A1 (en) Secure key exchange on one device, especially an embedded device
EP3681102B1 (en) Method for validation of a digital user certificate
EP3288215A1 (en) Method and device for outputting authenticity certifications and a security module
EP1924945B1 (en) Method for improving the trustworthiness of electronic devices and data carrier therefor
EP3627755A1 (en) Method for secure communication in a communication network having a plurality of units with different security levels
WO2011080079A1 (en) Method and system for making edrm-protected data objects available
EP3671599A1 (en) Distributed database system, industry automation system and method for operating a distributed database system
EP3105899B1 (en) Method for starting up a production computer system
EP3752911B1 (en) Method for installing a program code packet onto a device, device, and motor vehicle
DE102010052246A1 (en) Method for access to an operating system, removable storage medium and use of a removable storage medium
EP3618348B1 (en) Distributed database system, industry automation system and method for operating a distributed database system
EP3337085B1 (en) Reloading cryptographic program instructions
DE102015208176A1 (en) Device and method for authorizing a private cryptographic key in a device
EP3576368A1 (en) Method and system for controlling a release of a resource
DE102020110034A1 (en) Monitoring system with multi-level inquiry verification

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R082 Change of representative

Representative=s name: MAIER, DANIEL OLIVER, DIPL.-ING. UNIV., DE

R016 Response to examination communication