Verfahren zum Betreiben eines Steuergeräts

12-11-2015 дата публикации
Номер:
DE102014208853A1
Принадлежит: Robert Bosch GmbH
Контакты:
Номер заявки: 20-14-10208853
Дата заявки: 12-05-2014

[1]

Die Erfindung betrifft ein Verfahren zum Betreiben eines Steuergeräts und ein solches Steuergerät. Das Steuergerät der beschriebenen Art kommt insbesondere in einem Kraftfahrzeug für eine Brennkraftmaschine zur Anwendung.

Stand der Technik

[2]

Steuergeräte sind elektronische Module, die bspw. in Kraftfahrzeugen eingesetzt werden, um Abläufe zu steuern und zu regeln. Hierzu sind die Steuergeräte Komponenten des Kraftfahrzeugs zugeordnet, deren Betrieb mit dem zugeordneten Steuergerät kontrolliert wird. Hierzu liest das Steuergerät von Sensoren erfasste Daten ein und wirkt durch die Ansteuerung von Aktoren auf den Betrieb ein.

[3]

Das beschriebene Verfahren kommt in Verbindung mit einem elektronischen Sicherheitsmodul zur Anwendung, das in einem Steuergerät, insbesondere im Automotive-Bereich, in sicherheitsrelevanten Bereichen eingesetzt wird. Bei den meisten Anwendungen in den sicherheitsrelevanten Bereichen ist das unmanipulierbare oder nicht einsehbare Speichern von Daten eine wesentliche Anforderung. Hierbei werden kryptographische Schlüssel eingesetzt, die in symmetrischen oder asymmetrischen Verschlüsselungsverfahren zur Anwendung kommen.

[4]

Die verwendeten Schlüssel und Verschlüsselungsverfahren stellen Geheimnisse dar, die vor Angreifern geheim gehalten werden müssen. Andere Anwendungen in sicherheitsrelevanten Bereichen betreffen bspw. den Schutz vor unerlaubten Veränderung, bspw. das Speichern von geänderten Seriennummern oder Kilometerständen, das Unterbinden von nicht genehmigten Tuning-Maßnahmen usw.

[5]

Daher ist es erforderlich, in Steuergeräten sichere Umgebungen bereitzustellen, in denen Funktionen ausgeführt werden können, die diese Geheimnisse einsehen und/oder verändern müssen. Diese Umgebungen weisen regelmäßig eine sichere Recheneinheit bzw. CPU, die auch als secure CPU bezeichnet wird, sowie ein Speichermodul auf. Eine solche Umgebung wird hierin als Hardware-Sicherheitsmodul (HSM: Hardware Security Module) bezeichnet. Dieses stellt ein leistungsfähiges Modul mit Hardware- und Software-Komponenten dar, welches den Schutz und die Vertrauenswürdigkeit von eingebetteten Systemen verbessert. Insbesondere unterstützt das HSM dabei, sicherheitskritische Anwendungen und Daten zu schützen. Mit einem HSM können ebenfalls die Sicherheitskosten reduziert werden, während zugleich ein wirksamer Schutz vor Angreifern geboten werden kann. Bezüglich des grundlegenden Aufbaus eines HSM wird auf 3 verwiesen.

[6]

In Kraftfahrzeugen ist es bekannt, zur Ansteuerung bestimmter Komponenten, bspw. zur Ansteuerung der zum Antrieb vorgesehenen Brennkraftmaschine, mehr als ein Steuergerät einzusetzen. Somit kann ein Steuergerät und ein weiteres Steuergerät vorgesehen sein, die zusammen die Brennkraftmaschine ansteuern. Hierbei ist zu berücksichtigen, dass bei Ausfall oder bei einer Fehlfunktion eines der beiden Steuergeräte der einwandfreie Betrieb der Brennkraftmaschine ggf. nicht mehr gesichert werden kann.

[7]

Aus der Druckschrift DE1020111088764DE 10 2011 108 87 64 A1A1 ist ein Verfahren zum Betreiben eines Steuergeräts für eine Brennkraftmaschine bekannt. Bei dem Verfahren steuert das Steuergerät in einer ersten Betriebsart die Brennkraftmaschine zusammen mit mindestens einem weiteren Steuergerät an. Dabei ist vorgesehen, dass das Steuergerät das mindestens eine weitere Steuergerät auf eine Fehlfunktion überwacht und beim Vorliegen einer Fehlfunktion von der ersten Betriebsart in eine zweite Betriebsart wechselt, in der das Steuergerät einen Betrieb der Brennkraftmaschine unabhängig von dem mindestens einen weiteren Steuergerät aufrechterhalten kann. Somit kann ein zuverlässiger Betrieb der Brennkraftmaschine auch bei Fehlfunktionen gewährleistet werden.

Offenbarung der Erfindung

[8]

Vor diesem Hintergrund werden ein Verfahren mit den Merkmalen des Anspruchs 1, ein elektronisches Hardwaremodul (HSM) gemäß Anspruch 6 und ein Steuergerät nach Anspruch 9 vorgestellt. Ausgestaltungen des Verfahrens und des Moduls ergeben sich aus den abhängigen Ansprüchen und der Beschreibung.

[9]

Mit dem vorgestellten Verfahren ist es möglich, einen Notlaufbetrieb im betroffenen Steuergerät auch ohne Hauptrecheneinheit zu gewährleisten. Dabei können alle Ein- und Ausgänge des betroffenen Steuergeräts weiterhin angesteuert werden. Zudem können alle Hauptrecheneinheiten bei einer bspw. erkannten Manipulation vollständig abgeschaltet werden.

[10]

Das vorgestellte Verfahren beruht darauf, dass die HSM-Sicherheitsschicht bzw. HSM Security Layer die Möglichkeit besitzt, zwischen verschiedenen Notlaufprogrammen umzuschalten. Dabei schaltet das HSM Ein- und Ausgabeanschlüsse bzw. I/O Pins zu externen Kommunikationsschnittstellen oder zu einem internen Notlaufprogramm.

[11]

Es wird somit genutzt, dass die HSM Security Layer die Möglichkeit hat, zwischen verschiedenen Notlaufprogrammen umzuschalten. Unterschiedliche Möglichkeiten des Notlaufs, extern und intern, sind nachfolgend aufgeführt:

  • 1. Notlauf extern
    a. HSM deaktiviert Hauptrecheneinheit bzw. Hauptrechner,
    b. HSM schaltet Ein-/Ausgabe-Module auf eine externe Kommunikationsschnittstelle,
    c. Bedienung der Ein-/Ausgabe-Module erfolgt nun durch das Steuergerät, auf dem das Notlaufprogramm aktiv ist,
    d. Kommunikation kann über konventionelle oder abgesicherte Schnittstelle erfolgen.
  • 2. Notlauf intern
    a. HSM deaktiviert Hauptrecheneinheit,
    b. HSM schaltet I/O Module auf internes Notlaufprogramm im HSM.
  • 3. Notlauf Mischbetrieb aus extern und intern möglich.
  • 4. Wenn im externen Steuergerät-HSM genügend Ressourcen, bspw. bzgl. RAM, Flash, Laufzeit, vorhanden sind, kann auch ein redundantes Programm, nämlich das gleiche Programm wie auf der Hauptrecheneinheit, dort abgelegt und im Notfall ausgeführt werden.

[12]

Weitere Vorteile und Ausgestaltungen der Erfindung ergeben sich aus der Beschreibung und den beiliegenden Zeichnungen.

[13]

Es versteht sich, dass die voranstehend genannten und die nachstehend noch zu erläuternden Merkmale nicht nur in der jeweils angegebenen Kombination, sondern auch in anderen Kombinationen oder in Alleinstellung verwendbar sind, ohne den Rahmen der vorliegenden Erfindung zu verlassen.

Kurze Beschreibung der Zeichnungen

[14]

1 zeigt eine Vertrauenspyramide.

[15]

2 zeigt in einer schematischen Darstellung Funktionen eines HSM.

[16]

3 zeigt in einer schematischen Darstellung den Aufbau einer Ausführung des HSM.

[17]

4 zeigt eine Ausführung eines Steuergeräts.

[18]

5 zeigt mögliche Ausführungen des Steuergeräts.

Ausführungsformen der Erfindung

[19]

Die Erfindung ist anhand von Ausführungsformen in den Zeichnungen schematisch dargestellt und wird nachfolgend unter Bezugnahme auf die Zeichnungen ausführlich beschrieben.

[20]

Um einem IT-System dahingegen zu vertrauen, dass es immer so agiert, wie dies erwartet ist, erfordert es, aufeinanderfolgend allen Schichten zu vertrauen, die eingebunden sind, um ein vertrauenswürdiges IT-System zu erzeugen.

[21]

1 zeigt eine Pyramide des Vertrauens, die als Trust Pyramid bezeichnet wird, für ein typisches IT-System. Diese ist insgesamt mit der Bezugsziffer 10 bezeichnet und umfasst eine Schicht für eine organisatorische Sicherheit 12, eine Schicht für eine Systemsicherheit 14, eine Schicht für eine Hardware-Sicherheit 16, eine Schicht für eine Software-Sicherheit 18 und eine oberste Schicht für Vertrauen 20 bzw. Trust.

[22]

Um dem gesamten IT-System vertrauen zu können, ist es erforderlich, dass jede Schicht auf die wirksame Sicherheit der darunterliegenden Schicht vertrauen kann, ohne in der Lage zu sein, dies direkt zu verifizieren. Dies bedeutet bspw., dass sich eine perfekte Software- und Hardware-Sicherheitslösung durch eine schwache darunterliegende Sicherheitssystemgestaltung als nutzlos erweisen kann. Darüber hinaus kann gegeben sein, dass eine mögliche Schwäche in der Systemgestaltung nicht erfasst oder durch die oberen Hard- und Software-Schichten verhindert wird.

[23]

Im Gegensatz zu typischen Back- und IT-Systemen ist die Hardware-Schicht von eingebetteten Systemen oftmals physischen Angriffen ausgesetzt, die Hardware- oder Software-Funktionen durch physische Mittel beeinflussen, bspw. einen Flash-Speicher manipulieren oder Alarmfunktionen deaktivieren. Ein Ansatz, solche physischen Attacken zu erschweren, besteht darin, insbesondere manipuliergeschützte Hardware-Sicherheitsmodule (HSM) einzusetzen, wie diese bspw. in 2 gezeigt sind. Ein solches HSM schützt wichtige Informationen, bspw. Personen-Identifikationsnummern (PIN), sichere Schlüssel und kritische Operationen, bspw. eine PIN-Verifikation, eine Datenverschlüsselung, bspw. durch starke physische Abschirmung.

[24]

Wie ein HSM ausgebildet sein kann und was für Funktionen von diesem durchgeführt werden können, um die Sicherheit eines eingebetteten Systems zu verbessern, wird im Folgenden dargestellt.

[25]

2 zeigt die Kernfunktionen eines typischen Hardware-Sicherheitsmoduls. Die Darstellung zeigt eine Software-Schicht 30 und eine Hardware-Schicht 32, die vor unberechtigten Zugriffen geschützt ist.

[26]

Die Software-Schicht 30 umfasst eine Reihe von Anwendungen 34, von denen hier drei dargestellt sind. Weiterhin ist ein Betriebssystem 36 vorgesehen. Die Hardware-Schicht 32 umfasst eingebettete Standard-Hardware 38 und ein Hardware-Sicherheitsmodul (HSM) 40. In diesem HSM 40 ist ein erster Block 42 für Schnittstellen und Steuerung, ein zweiter Block 44 für sichere Verschlüsselungsfunktionen, ein dritter Block 46 für sichere Funktionen und ein sicherer Speicher 48 vorgesehen.

[27]

Der sichere Speicher 48 ist ein kleiner, nicht flüchtiger Datenspeicher, bspw. mit einer Kapazität von einigen Kilobyte, innerhalb des manipuliergeschützten HSM 40, um ein nicht autorisiertes Auslesen, eine Manipulation oder ein Löschen von kritischen Informationen, wie bspw. von kryptographischen Schlüsseln, kryptographischen Zertifikaten oder Authentifizierungsdaten, bspw. PINs oder Passwörter zu verhindern. Der sichere Speicher 48 des HSM 40 enthält weiterhin alle HSM-Konfigurationsinformationen, bspw. Informationen zum Eigentümer des HSM 40 oder Zugriffautorisierungen zu gesicherten internen Einheiten.

[28]

Im zweiten Block 44 für sichere Verschlüsselungsfunktionen sind kryptographische Algorithmen, die für eine Datenverschlüsselung und -entschlüsselung verwendet werden, bspw. AES oder 3DES, eine Datenintegritätsverstärkung, bspw. MAC oder HMAC, oder eine Datenursprungsverifikation, bspw. durch Verwenden von digitalen Signatur-Algorithmen, wie bspw. RSA oder ECC, und alle zugehörigen kryptographischen Aktivitäten, wie bspw. Schlüsselerzeugung, Schlüsselverifikation, enthalten.

[29]

Sichere Funktionen im dritten Block 46 umfassen alle geschützten Funktionen, die nicht direkt einem kryptographischen Verfahren zugeordnet sind, wobei das HSM 40 als physisch geschützter "Trust Anchor" dient. Dies kann bspw. ein physisch geschütztes Taktsignal, ein interner Zufallszahlengenerator, ein Ladeprogramm-Schutzmechanismus oder irgendeine kritische Anwendungsfunktion sein, bspw. um einen sicheren Dongle zu realisieren.

[30]

Der erste Block 42 für Schnittstellen und Steuerung umfasst die interne HSM-Logik, welche die HSM-Kommunikation mit der Außenwelt implementiert und die den Betrieb aller internen Basiskomponenten, wie diese vorstehend erwähnt sind, verwaltet.

[31]

Alle funktionalen Basiskomponenten des Hardware-Sicherheitsmoduls 40, wie dies vorstehend beschrieben ist, sind von einer kontinuierlichen physischen Grenze umgeben, was verhindert, dass interne Daten und Prozesse abgehört, kopiert bzw. nachgebildet oder manipuliert werden können. Dies könnte dazu führen, dass ein nicht autorisierter Nutzer interne Geheimnisse verwenden oder kompromittieren kann. Die kryptographische Grenze wird üblicherweise mit algorithmischen und physischen Zeitkanal-Gegenmaßnahmen mit dedizierten Zugriffsschutzmitteln implementiert, bspw. eine spezielle Abschirmung oder Beschichtungen, um einen Seitenkanalwiderstand, einen Zugriffshinweis, einen Zugriffswiderstand oder eine Zugriffsantwort zu ermöglichen.

[32]

Wie das HSM 40 die Sicherheit einer eingebetteten Produktlösung verbessern kann, wird nachstehend dargelegt:

[33]

Das HSM 40 schützt kritische Informationen, bspw. Identitäten, Signierschlüssel oder Schlüssel, durch die physische Abschirmung, die nicht durch eine Software-Anfälligkeit umgangen werden kann.

[34]

Das HSM 40 kann dabei helfen, mächtige POI-Angreifer (POI: Point of Interest) zu erfassen, abzuschwächen oder abzuhalten, indem wirksame Seitenkanal-Widerstand- und Zugriffsschutz-Barrieren implementiert werden, die u. a. starke Zugriffsrestriktionen haben, selbst für autorisierte Nutzer. Es werden bspw. einige Informationen immer exklusiv innerhalb des HSM 40 gehalten.

[35]

Das HSM 40 kann Sicherheitsmechanismen beschleunigen, bei denen bestimmte Beschleunigungsschaltkreise angewendet werden.

[36]

Mit dem HSM 40 können Sicherheitskosten reduziert werden, indem hoch optimierte Spezialschaltkreise hinzugefügt werden, bspw. für eine standardisierte Kryptographie.

[37]

Ein möglicher Aufbau des HSM ist in 3 dargestellt. Diese zeigt das HSM 70, das in eine Umgebung eingebettet ist. Die Darstellung zeigt eine Hauptrecheneinheit 72, einen Systembus 74, einen RAM-Baustein 76 mit einem gemeinsam zu nutzenden Bereich und ein Testprogramm 78 bzw. Debugger mit zugeordneter Hardware 80 und Schnittstelle 82, die wiederum ein Register 84 umfasst. Die Darstellung zeigt weiterhin einen Speicherbaustein 86 für Flash-Code mit einem Datenbereich 88 und einem sicheren Bereich 90, in dem sichere Kerndaten enthalten sind.

[38]

In dem HSM 70 sind eine Schnittstelle 100 zum Testprogram 78, ein sicherer Rechenkern 102, ein sicherer RAM-Baustein 104, ein Zufallsgenerator 106, bspw. ein TRNG oder PRNG, und Schlüssel 108, bspw. AES, vorgesehen.

[39]

4 zeigt eine Ausführung eines Steuergeräts, das insgesamt mit der Bezugsziffer 200 bezeichnet ist. Die Darstellung zeigt weiterhin ein weiteres Steuergerät 202 und noch ein weiteres Steuergerät 204. In dem Steuergerät 202 sind eine Hauptrecheneinheit 210, ein elektronisches Hardware-Sicherheitsmodul 212 und Ein-/Ausgabemodule 214 vorgesehen. Weiterhin ist eine Kommunikationsschnittstelle 216 vorgesehen.

[40]

In einer sicheren Schicht 220 des HSM 212 ist ein Notlaufprogramm 222 abgelegt. Ein sicheres Kommunikationsmodul 224 in dem HSM 212 verbindet das HSM 212 über einen sicheren HSM-Bus 226 mit dem weiteren Steuergerät 202. Ein erster Modus 260 zeigt den Normalzustand an, bei dem ein normaler Regelbetrieb stattfindet und die Hauptrecheneinheit 210 über das HSM 212 auf die Ein-/Ausgabemodule 214 zugreift. Ein zweiter Modus 262 zeigt einen externen Notlauf, bei dem auf die Kommunikationsschnittstelle 216 zugegriffen wird. In diesem Fall kann auch die Hauptrecheneinheit 210 deaktiviert werden.

[41]

Ein dritter Modus 264 zeigt einen internen Notlauf, bei dem auf das Notlaufprogramm 222 zugegriffen wird.

[42]

Die Hauptrecheneinheit 210 muss immer über das HSM 212 gehen, um auf die Ein-/Ausgabemodule 214 zugreifen zu können. Diese sind nicht direkt mit der Hauptrecheneinheit 210 verbunden. Die dazwischen liegende Schicht ist entweder das HSM 212 selbst oder eine Software, die von diesem kontrolliert wird.

[43]

5 zeigt mögliche Ausführungen des Steuergeräts. Auf der linken Seite sind eine Hauptrecheneinheit 280, ein HSM 282 und ein Ein-/Ausgabemodul 284 gezeigt. Die Hauptrecheneinheit 280 greift über das HSM 282 auf das Ein-Ausgabemodul 284 zu.

[44]

Auf der rechten Seite sind ebenfalls eine Hauptrecheneinheit 290, ein HSM 292 und ein Ein-/Ausgabemodul 294 dargestellt. In der Hauptrecheneinheit 290 ist eine sichere Schicht 296, typischerweise eine Software-Schicht, vorgesehen, die von dem HSM 292 kontrolliert wird und damit diesem zugeordnet ist. Über diese Schicht 296 erfolgt der Zugriff auf das Ein-/Ausgabemodul 294.

ZITATE ENTHALTEN IN DER BESCHREIBUNG

[45]

Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.

Zitierte Patentliteratur

[46]

  • DE 1020111088764 A1 [0007]



Es werden ein Verfahren zum Betreiben eines Steuergeräts (200, 202, 204) und ein elektronisches Hardware-Sicherheitsmodul (212) zur Durchführung des Verfahrens vorgestellt. Dabei ist eine sichere Schicht (220) vorgesehen, die dem Hardware-Sicherheitsmodul (212) zugeordnet ist, den Betrieb der Hauptrecheneinheit (210) überwacht und bei Vorliegen einer Fehlfunktion auf einen Notlaufbetrieb umschaltet.



Verfahren zum Betreiben eines Steuergeräts (200, 202, 204), das eine Hauptrecheneinheit (210, 280, 290) und ein elektronisches Hardware-Sicherheitsmodul (40, 70, 212, 282, 292) umfasst, wobei eine sichere Schicht (220, 296), die dem Hardware-Sicherheitsmodul (40, 70, 212, 282, 292) zugeordnet ist, den Betrieb der Hauptrecheneinheit (210, 280, 290) überwacht und bei Vorliegen einer Fehlfunktion auf einen Notlaufbetrieb umschaltet.

Verfahren nach Anspruch 1, bei dem die sichere Schicht (220, 296) auf einen externen Notlaufbetrieb umschaltet.

Verfahren nach Anspruch 2, bei dem die sichere Schicht (220, 296) die Hauptrecheneinheit (210, 280, 290) deaktiviert und Ein-/Ausgabemodule (214, 284, 294) auf eine externe Kommunikationsschnittstelle schaltet.

Verfahren nach einem der Ansprüche 1 bis 3, bei dem die sichere Schicht (220, 296) auf einen internen Notlaufbetrieb umschaltet.

Verfahren nach Anspruch 4, bei dem die sichere Schicht (220, 296) die Hauptrecheneinheit (210, 280, 290) deaktiviert und Ein- und Ausgabemodule (214, 284, 294) auf ein internes Notlaufprogramm umschaltet.

Elektronisches Hardware-Sicherheitsmodul, insbesondere zur Durchführung eines Verfahrens nach einem der Ansprüche 1 bis 4, mit einer sicheren Schicht (220, 296), die dazu eingerichtet ist, auf einen Notlaufbetrieb umzuschalten.

Elektronisches Hardware-Sicherheitsmodul nach Anspruch 6, das dazu eingerichtet ist, auf einen internen Notlaufbetrieb umzuschalten und hierzu über ein internes Notlaufprogramm verfügt.

Elektronisches Hardware-Sicherheitsmodul nach Anspruch 6 oder 7, das dazu eingerichtet ist, auf einen externen Notlaufbetrieb umzuschalten.

Steuergerät mit einem elektronischen Hardware-Sicherheitsmodul (40, 70, 212, 282, 292) nach einem der Ansprüche 6 bis 8.