Processing

Please wait...

Settings

Settings

Goto Application

1. WO2020221776 - METHOD AND DEVICE FOR TRANSFERRING A BOOT CODE WITH IMPROVED DATA SECURITY

Note: Text based on automatic Optical Character Recognition processes. Please use the PDF version for legal matters

[ DE ]

Patentansprüche

1. Verfahren zur Übertragung eines Boot-Codes, mit verbesserter

Datensicherheit, von einem Programmiergerät (10) zu einem

Mikrocontroller (20), mit den Schritten:

a) Erstellen, mittels des Programmiergeräts (10), eines ersten Public-Keys, eines ersten Private-Keys und eines Passworts;

b) Generieren, mittels des Programmiergeräts (10), eines Bootlader-Binary zur Ausführung auf dem Mikrocontroller (20), wobei das Bootlader-Binary mindestens umfasst:

- einen Urlader zur Ausführung auf dem Mikrocontroller (20),

- das Passwort,

- den mittels des Passworts verschlüsselten ersten Public-Key,

- eine Menge von mittels des Passworts verschlüsselten

Bootlader-Routinen zur Ausführung auf dem Mikrocontroller (20), wobei die Menge der verschlüsselten Bootlader-Routinen umfasst: eine Generierungsroutine zum Generieren eines zweiten

Public-Keys und eines zweiten Private-Keys, und eine Entschlüsselungsroutine zur Entschlüsselung des ersten Public-Keys; und

- eine Entschlüsselungsroutine, zur Ausführung auf dem

Mikrocontroller, zur Entschlüsselung der mittels des Passworts verschlüsselten Bootlader-Routinen;

c) Abschätzen, mittels des Programmiergeräts (10), einer tolerierbaren Gesamtbearbeitungsdauer, welche aus den Bearbeitungsdauern der Schritte d) bis f) besteht.

d) Übertragen des Bootlader-Binary von dem Programmiergerät (10) an den Mikrocontroller (20);

e) Ausführen, mittels des Mikrocontrollers (20),

des Urlader-Codes,

der Entschlüsselungsroutine zur Entschlüsselung der mittels des Passworts verschlüsselten Bootlader-Routinen, und der entschlüsselten Bootlader-Routinen;

f) Übertragen mindestens des zweiten Public-Keys von dem Mikrocontroller (20) an das Programmiergerät (10);

g) Wenn die tatsächlichen Bearbeitungsdauern der Schritte d) bis f) außerhalb der tolerierbaren Gesamtbearbeitungsdauer liegen, Abbrechen des Verfahrens; und

h) Wenn die tatsächlichen Bearbeitungsdauern der Schritte d) bis f) innerhalb der tolerierbaren Gesamtbearbeitungsdauer liegen,

Verschlüsseln, mittels des Programmiergeräts (10), des Boot-Codes mittels des zweiten Public-Keys und Übertragen eines verschlüsselten Boot-Codes von dem Programmiergerät (10) an den Mikrocontroller (20).

2. Verfahren nach Anspruch 1 ,

wobei die tolerierbare Gesamtbearbeitungsdauer durch eine maximale Gesamtbearbeitungsdauer, eine minimale Gesamtbearbeitungsdauer oder ein Zeitfenster zwischen der maximalen Gesamtbearbeitungsdauer und der minimalen Gesamtbearbeitungsdauer definiert ist.

3. Verfahren nach Anspruch 1 oder 2,

wobei die Menge der verschlüsselten Bootlader-Routinen weiterhin eine Routine zur Erzeugung einer Pause einer vordefinierten Dauer umfasst.

4. Verfahren nach einem der vorhergehenden Ansprüche,

wobei die Menge der verschlüsselten Bootlader-Routinen weiterhin eine Ausleseschutzroutine umfasst.

5. Verfahren nach einem der vorhergehenden Ansprüche,

wobei die Menge der Bootlader-Routinen weiterhin eine Routine zum Auslesen einer Seriennummer des Mikrocontrollers umfasst, und wobei der Boot-Code weiterhin die Seriennummer umfasst, mit dem weiteren Schritt:

f1 ) Übertragen zusätzlich der Seriennummer von dem Mikrocontroller (20) an das Programmiergerät (10).

6. Verfahren nach einem der vorhergehenden Ansprüche, wobei das

Bootlader-Binary weiterhin den ersten Public-Key umfasst, mit dem weiteren Schritt:

f2) Wenn der von dem Mikrocontroller (20) gesendete erste Public-Key sich von dem, von dem Programmiergerät (10) gesendeten, ersten Public-Key unterscheidet, Abbrechen des Verfahrens.

7. Programmiergerät (10) zur Übertragung eines Boot-Codes, mit

verbesserter Datensicherheit, zu einem Mikrocontroller (20), wobei das Programmiergerät (10) dazu eingerichtet ist,

einen ersten Private-Key und ein Passwort zu erstellen;

ein Bootlader-Binary zur Ausführung auf dem Mikrocontroller (20) zu generieren, wobei das Bootlader-Binary mindestens umfasst:

- einen Urlader,

- das Passwort,

- den mittels des Passworts verschlüsselten ersten Public-Key,

- eine Menge von mittels des Passworts verschlüsselten

Bootlader-Routinen zur Ausführung auf dem Mikrocontroller (20), wobei die Menge der verschlüsselten Bootlader-Routinen umfasst: eine Generierungsroutine zum Generieren eines zweiten

Public-Keys und eines zweiten Private-Keys, und eine Entschlüsselungsroutine zur Entschlüsselung des ersten Public-Keys; und

- eine Entschlüsselungsroutine, zur Ausführung auf dem

Mikrocontroller, zur Entschlüsselung der mittels des Passworts verschlüsselten Bootlader-Routinen;

eine tolerierbare Gesamtbearbeitungsdauer abzuschätzen;

das Bootlader-Binary von dem Programmiergerät (10) an den

Mikrocontroller (20) zu übertragen;

von dem Mikrocontroller (20) mindestens einen zweiten Public-Key zu empfangen;

wenn die tatsächlichen Bearbeitungsdauern von dem Übertragen des Bootlader-Binary bis zu dem Empfangen des zweiten Public-Keys außerhalb der tolerierbaren Gesamtbearbeitungsdauer liegen, abbrechen des Verfahrens; und

wenn die tatsächlichen Bearbeitungsdauern von dem Übertragen des Bootlader-Binary bis zu dem Empfangen des zweiten Public-Keys innerhalb der tolerierbaren Gesamtbearbeitungsdauer liegen, verschlüsseln des Boot-Codes mittels des zweiten Public-Keys und übertragen des

verschlüsselten Boot-Codes an den Mikrocontroller (20).

8. Mikrocontroller (20) zur Übertragung eines Boot-Codes, mit verbesserter Datensicherheit, von einem Programmiergerät (10), wobei der

Mikrocontroller (20) dazu eingerichtet ist,

ein Bootlader-Binary von dem Programmiergerät (10) zu empfangen, wobei das Bootlader-Binary mindestens einen Urlader-Code, das Passwort, eine Entschlüsselungsroutine zur Entschlüsselung von mittels des Passworts verschlüsselten Bootlader-Routinen, und eine Menge von mittels des Passworts verschlüsselten Bootlader-Routinen umfasst;

den Urlader-Code, die Entschlüsselungsroutine, und die entschlüsselten Bootlader-Routinen auszuführen;

mindestens den zweiten Public-Key an das Programmiergerät (10) zu übertragen; und

einen verschlüsselten Boot-Code von dem Programmiergerät (10) zu empfangen.

9. Verwendung eines Programmiergeräts (10) nach Anspruch 7, eines

Mikrocontrollers (20) nach Anspruch 8 und/oder eines Verfahrens nach einem der Ansprüche 1 bis 6 zur Übertragung eines Boot-Codes, mit verbesserter Datensicherheit, von dem Programmiergerät (10) zu dem Mikrocontroller (20).

10. Programmelement, welches, wenn es auf einem Programmiergerät (10) ausgeführt wird, das Programmiergerät (10) anleitet, das Verfahren nach einem der Ansprüche 1 bis 6 durchzuführen.

11. Computerlesbares Medium, auf dem ein Programmelement nach Anspruch 10 gespeichert ist.