-
Die vorliegende Erfindung betrifft ein Verfahren zum Freischalten eines Leistungsmerkmales einer elektronischen Vorrichtung. Die vorliegende Erfindung betrifft darüber hinaus eine entsprechende Vorrichtung, ein entsprechendes Computerprogramm sowie ein entsprechendes maschinenlesbares Speichermedium.
-
Stand der Technik
-
In der Softwaretechnik wird als Aktivierung oder Freischaltung eine Aufhebung von Zugriffsbeschränkungen bezeichnet, welche die Voraussetzung für die Nutzung bestimmter Leistungsmerkmale (features) eines gegebenen Produktes bildet. Im Gegensatz zur Produktregistrierung erfolgt bei der Freischaltung in der Regel keine Übermittlung personenbezogener Daten, sondern eine Bindung der aktivierten Merkmale an eine elektronische Vorrichtung. Bis zur erfolgreichen Aktivierung ist die Nutzung der betreffenden Leistungsmerkmale der Vorrichtung in diesem Fall nicht oder nur (zeitlich) eingeschränkt möglich.
-
WO 2003 041409 A1 offenbart ein Verfahren zur Freischaltung verschlüsselter Informationen mit einem Freischalt-Code, der einem Nutzer von einem Anbieter der verschlüsselten Informationen zur Verfügung gestellt wird. Nach diesem Ansatz erfolgt die Freischaltung auf eine Nutzungszeit begrenzt und der Freischalt-Code enthält die Nutzungszeit, wobei die Nutzungszeit in einem Endgerät des Nutzers aus dem Freischalt-Code ermittelt und zur Freigabe mit der aktuellen Zeit verglichen wird.
-
Offenbarung der Erfindung
-
Die Erfindung stellt ein Verfahren zum Freischalten eines Leistungsmerkmales einer elektronischen Vorrichtung, eine entsprechende Vorrichtung, ein entsprechendes Computerprogramm sowie ein entsprechendes maschinenlesbares Speichermedium gemäß den unabhängigen Ansprüchen bereit.
-
Der vorgeschlagene Ansatz fußt auf der Erkenntnis, dass eine bedarfsgerechte Freischaltung von Leistungsmerkmalen die Umsetzung neuartiger Geschäftsmodelle auf der Grundlage nutzungsabhängiger Tarife (pay per use) ermöglicht und insofern hochrelevant für viele Geschäftsbereiche, darunter den Automobilbereich, ist. Es ist jedoch zu beobachten, dass Mechanismen nach dem Stand der Technik zur Merkmalsaktivierung insbesondere im Automobilbereich unschwer zu umgehen sind, da sie die Speicherung kritischer Informationen – z. B. geheimer Schlüssel oder der zu deren Ableitung benötigter Daten – im Klartext und mitunter ohne Bindung an ein bestimmtes elektronisches Gerät vorsehen.
-
Erfindungsgemäß ist dagegen von einem Angreifer mit den folgenden Fähigkeiten auszugehen:
- • Zugriff auf alle zwischen dem typischerweise eingebetteten (embedded) Zielgerät und der Merkmalsaktivierungsstelle – zum Beispiel einem Backend des Herstellers – ausgetauschten Protokollnachrichten,
- • Zugang zu den Kommunikationsschnittstellen des eingebetteten Gerätes sowie
- • Zugriff auf den persistenten Speicher des eingebetteten Gerätes, aber ohne die Möglichkeit, die Freischaltungsprozedur zu ändern, die hierzu beispielsweise in einem Festwertspeicher (read-only memory, ROM) abgelegt ist.
-
Eine Ausführungsform der Erfindung nimmt sich des Problems der sicheren Freischaltung von Leistungsmerkmalen auf eine kryptografisch sichere Art und Weise an. Konkret bietet sie eine Lösung dafür, dass der Merkmalsaktivierungsbefehl für ein Gerät (oder Fahrzeug) nicht wiederverwendet werden kann, um die gleichen oder ähnliche Funktionen auf einem anderen Gerät (oder Fahrzeug) zu aktivieren. Mit anderen Worten erfüllt eine Ausgestaltung der Erfindung das Ziel, ein System bereitzustellen, bei dem jeder Aktivierungsbefehl an ein bestimmtes elektronisches Gerät (und somit wiederum an ein bestimmtes Fahrzeug) gebunden ist.
-
Durch die in den abhängigen Ansprüchen aufgeführten Maßnahmen sind vorteilhafte Weiterbildungen und Verbesserungen des im unabhängigen Anspruch angegebenen Grundgedankens möglich. So kann vorgesehen sein, dass die einzigartigen Hardware-/Software-Eigenschaften eines Steuergerätes (electronic control unit, ECU) gleichsam in den Merkmalsaktivierungsbefehl „eingebacken” werden, um die Vorrichtung zu identifizieren. Als Ergebnis ist jeder Aktivierungsbefehl nur für diese spezielle ECU gültig. Mit anderen Worten kann ein Angreifer den Aktivierungsbefehl nicht abfangen oder rekonstruieren, um sein Wissen für ein zweites Gerät wiederzuverwenden. Hierzu ist von der Annahme auszugehen, dass die besagten Eigenschaften nur dem Hersteller bekannt sind und es hinreichend schwierig ist, entsprechende Werte aus einer im Einsatz befindlichen ECU zu gewinnen. Dabei ist zu berücksichtigen, dass die erforderlichen Anstrengungen, um diese Werte zu gewinnen, vom etwaigen Angreifer für jede neue ECU wiederholt werden müssten.
-
Um das vorgeschlagene Aktivierungsschema abzusichern ist es vorteilhaft, dass nur der berechtigte Hersteller oder legitime Service-Provider in der Lage ist, die Befehle zur Freischaltung einzelner Leistungsmerkmale zu erzeugen. Unter anderem gewährleistet dies, dass selbst dann, wenn die kennzeichnenden Eigenschaften aus der ECU (oder vom Server des Herstellers) gewonnen werden, ein Angreifer noch nicht in der Lage ist, die Funktionen zu aktivieren. Gemäß einem weiteren Aspekt kann daher vorgesehen sein, die Quelle des Aktivierungsbefehles anhand ihrer digitalen Signatur zu authentifizieren.
-
Kurze Beschreibung der Zeichnungen
-
Ausführungsbeispiele der Erfindung sind in den Zeichnungen dargestellt und in der nachfolgenden Beschreibung näher erläutert. Es zeigt:
-
1 das Flussdiagramm eines Verfahrens gemäß einer ersten Ausführungsform.
-
2 schematisch ein Steuergerät gemäß einer zweiten Ausführungsform.
-
Ausführungsformen der Erfindung
-
1 illustriert den vereinfachten Ablauf eines erfindungsgemäßen Verfahrens (10). Dieses Verfahren (10) kann beispielsweise in Software oder Hardware oder in einer Mischform aus Software und Hardware beispielsweise in einem Steuergerät (20) implementiert sein, wie die schematische Darstellung der 2 verdeutlicht. In letzterer Abbildung sowie den folgenden Erläuterungen bezeichnet
- • ω das unverarbeitete Ansprechverhalten einer physikalisch nicht klonbaren Funktion (physical unclonable function, PUF),
- • γ ein Software-Wasserzeichen,
- • H eine kryptografische Hashfunktion,
- • f eine Menge freizuschaltender Leistungsmerkmale,
- • sigS eine Signatur des Herstellers auf der Grundlage eines asymmetrischen (public-key) Kryptosystems und
- • ∥ die Konkatenation.
-
Eine zentrale Idee der Ausführungsform besteht darin, die zur Freischaltung des Leistungsmerkmales autorisierende Nachricht an die elektronische Vorrichtung (20) zu binden, indem eindeutige Hardware- und Software-Features der Vorrichtung (20) in das Verfahren (10) zur Aktivierung des betreffenden Merkmales einbezogen werden.
-
Zwei Parteien sind an dem vorgeschlagenen Merkmalsaktivierungsschema beteiligt: Ein Server (21) des Herstellers oder anderweitigen Dienstleisters und die elektronische Vorrichtung (20) selbst.
-
Im vorliegenden Beispiel ist die elektronische Vorrichtung (20) eine ECU in einem Auto. Die Vorrichtung (20) hat eine Reihe einzigartiger Hardware-/Software-Eigenschaften, darunter das charakteristische Rauschsignal von Sensoren (23, 24) und anderen Mikrosystemen (microelectromechanical systems, MEMS), das unverarbeitete Ansprechverhalten schwacher PUFs oder PUF-ähnlicher Strukturen, eindeutige Kennungen verschiedener Hardwaremodule oder die Wasserzeichen von im Direktzugriffsspeicher (random-access memory, RAM) oder einem nichtflüchtigen Speicher (26) – beispielsweise Flash oder ROM – abgelegter Software. Wenn sie kombiniert werden, ergeben diese Eigenschaften eine einzigartige Identität der Vorrichtung (20).
-
Der Hersteller, das heißt die zweite am vorliegenden Schema beteiligte Einheit, kennt die Werte der kennzeichnenden Hardware-/Software-Eigenschaften für jede einzelne Vorrichtung (20). Nachfolgend seien die Hardware-Eigenschaften für die jeweilige mit ECU_ID identifizierte Vorrichtung (20) als ωECU_ID und deren Software-Eigenschaften als γECU_ID bezeichnet. Unter diesen Voraussetzungen wird das Verfahrensziel in der vorgeschlagenen Ausführungsform in sieben Schritten erreicht:
- 1. Der Server (21) erzeugt anhand der einzigartigen Eigenschaften der Hardwarekomponenten (23, 24, 25, 26) und Softwarekomponenten der Vorrichtung (20), auf welcher die Leistungsmerkmale f freigeschaltet werden sollen, den Streuwert hECU_ID ← H(ωECU_ID, γECU_ID).
- 2. Als nächstes erzeugt der Server (21) eine Signatur sigS(f ∥ hECU_ID) für die freizuschaltenden Leistungsmerkmale und den Streuwert der einzigartigen Hardware-/Software-Eigenschaften und fügt die in 2 gezeigte Nachricht m zusammen. Die Nachricht m wird sodann an die Vorrichtung (20) gesendet.
- 3. Die Vorrichtung (20) umfasst einen Festwertspeicher, auf dem ein Computerprogramm (30) zur Freischaltung des Leistungsmerkmales abgelegt ist, sodass das Computerprogramm (30) nicht manipuliert werden kann, nachdem die Vorrichtung (20) in Betrieb genommen wurde. Dieses Computerprogramm (30) verifiziert zunächst die in der empfangenen Nachricht m enthaltene Signatur. Falls die Signatur ungültig ist, endet das Computerprogramm (30) unverzüglich.
- 4. Falls die Signatur gültig ist, liest das Computerprogramm (30) etliche Hardwareeigenschaften der Vorrichung (20) aus, die sich z. B. aus dem unverarbeiteten Ansprechverhalten schwacher ungesteuerter PUF-ähnlicher Funktionseinheiten der Vorrichtung (20) ergeben, und bündelt sie gleichsam zu einem einzigen „Fingerabdruck” ω der Hardware.
- 5. Als nächstes liest das Computerprogramm (30) etliche Softwareeigenschaften, z. B. Wasserzeichen oder andere Eigenschaften der (System-)Software, aus und bündelt sie zu einem einzigen „Fingerabdruck” γ der Software.
- 6. Im nächsten Schritt errechnet das Computerprogramm (30) auf der Vorrichtung (20) den Streuwert h ~ ← H(ω ∥ γ).
- 7. Schließlich vergleicht das Computerprogramm (30) den lokal errechneten Streuwert h mit dem empfangenen Streuwert h. Falls beide Werte übereinstimmen, werden die angeforderten Leistungsmerkmale f freigeschaltet; andernfalls endet das Computerprogramm (30) ohne Freischaltung der Leistungsmerkmale.
-
Die Werte der Parameter ω und γ müssen während der Übertragung des Merkmalsaktivierungsbefehls m vom Server (21) an die Vorrichtung (20) geheim gehalten werden. Im obigen Beispiel wird dies durch Verwendung einer kryptografischen Hash-Funktion H erreicht. Die Eigenschaften von H gewährleisten, dass die Werte von ω und γ nicht aus der Nachricht m zurückgewonnen werden können.
-
Es sei bemerkt, dass das in 2 dargestellte Schema nur ein Beispiel dafür ist, wie das erfindungsgemäße Konzept umgesetzt werden kann. Alternativ kann beispielsweise, um die Sicherheit des Verfahrens noch weiter zu verbessern, der Streuwert gemäß hECU_ID ← H(f ∥ ωECU_ID, γECU_ID) berechnet und danach die Signatur sigS(hECU_ID) für die Botschaft m verwendet werden. Damit kann ein Angreifer auch für dasselbe Fahrzeug keinen gültigen Hashwert für weitere Features erzeugen, nachdem er eine erste Freischaltungsbotschaft beobachtet hat. Verallgemeinert erfordert eine Ausführungsform der Erfindung im Wesentlichen
- 1. einen Mechanismus zum „Personalisieren” des Befehles zum Freischalten der Leistungsmerkmale auf der Grundlage jedweder einzigartigen Eigenschaften der betreffenden elektronischen Vorrichtung (20), beispielsweise der ECU der obigen Ausführungsform,
- 2. einen Mechanismus, um die Integrität und Authentizität des Merkmalsaktivierungsbefehls – d. h. der Quelle (21) von m – zu gewährleisten sowie
- 3. einen Mechanismus, um sicherzustellen, dass die Werte von ω und γ nicht während der Übertragung des Merkmalsaktivierungsbefehles m abgefangen werden.
-
Eine Ausführungsform der Erfindung kann mit den oben genannten Mechanismen realisiert werden, unabhängig davon, wie sich diese Mechanismen konkret gestalten. Zum Beispiel kann ω eine Reihe von einzigartigen Hardwarekennungen oder spezifischen Charakteristiken der Hardware wie deren mit hoher Genauigkeit gemessener Stromverbrauch sein. In ähnlicher Weise könnte γ z. B. das Timing-Verhalten der jeweiligen Software-Version sein, die auf der Vorrichtung (20) ausgeführt wird. Solange diese Eigenschaften einzigartig für die Vorrichtung (20) sind, ist eine Übertragung des erfindungsgemäßen Funktionsprinzips vorstellbar.
-
Entsprechendes gilt für die zur Konstruktion des Merkmalsaktivierungsbefehles m verwendeten Mechanismen. Die Erzeugung einer Signatur ist nur eine Möglichkeit, die Authentizität der Nachricht zu gewährleisten, und die Verwendung einer kryptografischen Hashfunktion nur eine Möglichkeit, die Werte von ω und γ während der Übertragung von m zu verbergen. Beispielsweise kann der gleiche Effekt durch die Verschlüsselung von m mit einem öffentlichen Schlüssel der Vorrichtung (20) erreicht werden, sofern letztere ein einzigartiges Schlüsselpaar besitzt.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
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
-