DE102018217431A1 - Secure key exchange on one device, especially an embedded device - Google Patents
Secure key exchange on one device, especially an embedded device Download PDFInfo
- 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
Links
- 230000000875 corresponding Effects 0.000 claims abstract description 22
- 230000015654 memory Effects 0.000 claims description 26
- 238000000034 method Methods 0.000 claims description 9
- 238000004891 communication Methods 0.000 description 12
- 230000001010 compromised Effects 0.000 description 12
- 230000002085 persistent Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 238000004519 manufacturing process Methods 0.000 description 2
- 210000002023 Somites Anatomy 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000003936 working memory Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/572—Secure 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.
- 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.
- 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 (
Eine weitere vorteilhafte Ausgestaltung der Erfindung liegt darin, dass im Gerät (z.B. im eingebetteten Gerät) für Bootloader, Betriebssystem (
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 (
- 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.
- 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.
-
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. Ein beim Hersteller signiertes Update wird in das Gerät geladen.1. An update signed by the manufacturer is loaded into the device.
- 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. 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. 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. 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. 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. 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. 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. 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.
Mit Vorteil erfolgt durch eine Vorrichtung
Das Update
Die Vorrichtung
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
Auch das Gerät
Mit Vorteil ist die Vorrichtung
Mit Vorteil unterscheiden sich im Gerät
Mit Vorteil sind im Gerät
Mit Vorteil umfasst ein signiertes Update
Mit Vorteil erfolgt das Austauschen des Update-Public-Keys
Mit Vorteil erfolgt das Austauschen des Update-Public-Keys
Optional kann das Gerät
Mit Vorteil erfolgt das Austauschen des Update-Public-Keys
D.h., dass das eingebettete Gerät
Mit Vorteil erfolgt das Austauschen des Update-Public-Keys
Eine weitere vorteilhafte Ausgestaltung der Erfindung liegt in einem Verfahren zur Durchführung eines Firmware-Updates, insbesondere für ein eingebettetes Gerät (
- 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.
- 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.
- (
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.
- (
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 (
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.
- 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
Mit Vorteil sind im Gerät
Mit Vorteil umfasst ein signiertes Update
Mit Vorteil wird vor dem Laden des Updates
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
Mit Vorteil wird vor der Durchführung der Verfahrensschritte das eingebettete Gerät
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)
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)
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 |
-
2018
- 2018-10-11 DE DE102018217431.8A patent/DE102018217431A1/en active Pending
Patent Citations (3)
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 |