-
Die Erfindung betrifft ein Verfahren zur sicheren Implementierung einer sicheren Laufzeitumgebung eines mobilen Endgeräts.
-
Von der Firma ARM sind Mikroprozessoren mit einer zweigeteilten Laufzeitumgebung bekannt, die eine erste, unsichere und eine zweite, sichere Laufzeitumgebung umfasst. Durch Global Platform Device Technology: TEE System Architecture, ständig aktualisiert, werden solche zweigeteilten Laufzeitumgebungen auch für mobile Endgeräte wie Mobiltelefone, Smartphones, Tablet-PCs und dergleichen vorgeschlagen. Die erste, unsichere Laufzeitumgebung REE (Rich Execution Environment) wird durch ein Normalbetriebssystem gesteuert, bei einem mobilen Endgerät beispielsweise iOS, Android, Windows Phone oder Symbian. Die zweite, sichere Laufzeitumgebung TEE (Trusted Execution Environment) wird durch ein Sicherheitsbetriebssystem gesteuert. Anhand eines im Endgerät implementierten Geräteschlüssels kann sich die sichere Laufzeitumgebung eines im Feld befindlichen Endgeräts gegenüber einem Hintergrundsystem authentisieren.
-
DE 10 2011 010627 A1 beschreibt, gemäß dem Oberbegriff von Anspruch 1, ein Verfahren zur sicheren Initialisierung einer gesicherten Laufzeitumgebung in einem Chip eines mobilen Endgeräts. Im Endgerät ist ein nicht-initialisierte (inkomplettes) Sicherheitsbetriebssystem implementiert, das in einem vorbereitenden Schritt in den Chip implementiert worden ist. Durch Einprogrammieren eines Geräteschlüssels in den Chip wird das Sicherheitsbetriebssystem komplettiert und dadurch die sichere Laufzeitumgebung initialisiert. Der Geräteschlüssel wird nur nach einer erfolgreichen Seriennummern-Verifizierung des Chips in den Chip programmiert. Die Seriennummern-Verifizierung erfolgt in einem kryptografisch gesicherten, in einer Produktionsumgebung des Endgerät-Herstellers installiertes Hardware Security Modul HSM. Geräteschlüssel wird durch das HSM in Reaktion auf die erfolgreiche Seriennummern-Verifizierung erzeugt und über einen kryptografisch gesicherten Kanal in den Chip programmiert.
-
DE 10 2005 007 581 A1 beschreibt eine selbstpersonalisierende Chipkarte.
DE 10 2007 053 744 A1 beschreibt die sichere Initialisierung einer in einem Endgerät betriebenen SIM-Karte beim ersten Hochfahren des Endgeräts im Feld mit Daten aus externem nicht-flüchtigen Speicher NVM.
DE 69900566 T2 (=
EP 0957461 B1 ) beschreibt eine Chipkarte mit einer Funktionalität zur Selbstpersonalisierung.
-
Die in
DE 10 2011 010627 A1 beschriebene Initialisierung der sicheren Laufzeitumgebung TEE kann nur in einer Produktionsumgebung erfolgen, die Zugriff auf das Hardware Security Module hat. An Netzbetreiber oder Endkunden gelieferte Endgeräte, also ins Feld entlassene Endgeräte, sind daher bereits mit einem kompletten Sicherheitsbetriebssystem und einer fertig initialisierten Laufzeitumgebung ausgestattet, unabhängig davon, ob die sichere Laufzeitumgebung benötigt wird oder nicht. Eine flexiblere Möglichkeit zur Bereitstellung sicherer Laufzeitumgebungen wäre wünschenswert.
-
Der Erfindung liegt die Aufgabe zu Grunde, ein flexibles Verfahren zur Implementierung einer sicheren Laufzeitumgebung zu schaffen, das insbesondere auf ein bereits im Feld befindliches Endgerät anwendbar ist.
-
Die Aufgabe wird gelöst durch ein Verfahren nach Anspruch 1. Vorteilhafte Ausgestaltungen der Erfindung sind in den abhängigen Ansprüchen angegeben.
-
Das Verfahren nach Anspruch 1 ist zum Implementieren einer sicheren Laufzeitumgebung in ein mobiles Endgerät eingerichtet. Das Implementieren der sicheren Laufzeitumgebung besteht dabei i. W. im Implementieren eines Sicherheitsbetriebssystem. Nach vollendeter Implementierung des Sicherheitsbetriebssystems ist im Betrieb des Endgeräts unter Steuerung dieses Sicherheitsbetriebssystems die sichere Laufzeitumgebung herstellbar. Bei dem Verfahren wird in einem vorbereitenden Schritt eine zu ihrer Funktionsfähigkeit noch zu initialisierende, also zum jetzigen Zeitpunkt noch nicht-initialisierte und somit noch nicht – bzw. nicht vollumfänglich – funktionsfähige, Laufzeitumgebung im Endgerät implementiert. In einem Initialisierungsschritt wird ein Geräteschlüssel in das Endgerät implementiert, wodurch die sichere Laufzeitumgebung initialisiert wird und dadurch unter Steuerung des zu Grunde liegenden Sicherheitsbetriebssystems funktionsfähig gemacht wird. Bis hierhin entspricht das Verfahren in den relevanten Merkmalen noch dem in
DE 10 2011 010627 A1 offenbarten Verfahren.
-
Gemäß der Erfindung wird in dem Endgerät weiter ein in dem Endgerät betreibbarer entfernbarer tragbarer Datenträger betrieben, der entweder den bereits den Geräteschlüssel selbst oder eine Einrichtung zum Erzeugen eines Geräteschlüssels aufweist, oder der Geräteschlüssel in dem Datenträger, durch die Einrichtung zum Erzeugen eines Geräteschlüssels erzeugt wird, und eine Einrichtung zum Erzeugen eines Geräteschlüssels aufweist. Weiter wird gemäß der Erfindung, um den Initialisierungsschritt durchzuführen: (i) entweder der bereits vorhandene Geräteschlüssel bereitgestellt, oder – im Fall der Einrichtung zum Erzeugen des Schlüssels – (ii) der Geräteschlüssel in dem Datenträger erzeugt, und zwar durch die Einrichtung zum Erzeugen eines Geräteschlüssels. Weiter wird der Geräteschlüssel von dem Datenträger an das Endgerät übertragen und im Endgerät implementiert.
-
Dadurch, dass der Geräteschlüssel aus einem im Endgerät betriebenen Datenträger in das Endgerät übertragen wird, kann der Geräteschlüssel äußerst flexibel ohne Abhängigkeit von spezieller Produktions-Infrastruktur in das Endgerät geladen werden, und weitgehend an jedem beliebigen Ort. Insbesondere ist das erfindungsgemäße Implementieren des Geräteschlüssels auch für ein bereits im Feld befindliches Endgerät geeignet und anwendbar.
-
Daher ist gemäß Anspruch 1 ein flexibles Verfahren zur Implementierung einer sicheren Laufzeitumgebung in ein Endgerät geschaffen, das insbesondere auf ein bereits im Feld befindliches Endgerät anwendbar ist.
-
Die erste Alternative, bei der ein Geräteschlüssel im Datenträger bereits abgespeichert ist, ist einfacher, da der Geräteschlüssel bereits bereitsteht. Die zweite Alternative, bei der der Geräteschlüssel erst im Datenträger erzeugt wird, ist besonders sicher, da der Datenträger mit erzeugtem Geräteschlüssel erst in Verbindung mit dem Endgerät bereitstellbar ist, nicht aber unabhängig vom Endgerät.
-
Wahlweise wird der (erzeugte oder bereitgestellte) Geräteschlüssel zusätzlich an ein Hintergrundsystem übertragen, das zur Authentisierung der sicheren Laufzeitumgebung vorgesehen ist. Der Geräteschlüssel wird insbesondere entweder vom Datenträger oder vom Endgerät an das Hintergrundsystem übertragen.
-
Wahlweise wird der (ggf. im Datenträger erzeugte oder bereitgestellte) Geräteschlüssel über einen kryptographisch gesicherten Kanal vom Datenträger an das Endgerät übertragen oder/und ggf. über einen kryptographisch gesicherten Kanal an das Hintergrundsystem übertragen.
-
Wahlweise umfasst der gesicherte Kanal einen im Datenträger gespeicherten symmetrischen oder asymmetrischen Datenträger-Schlüssel und einen im Endgerät bzw. im Hintergrundsystem gespeicherten, dem Datenträger entsprechenden Gegenschlüssel. Gemäß einer ersten Alternative ist im Datenträger und im Endgerät (bzw. ggf. Hintergrundsystem) derselbe symmetrische Schlüssel gespeichert. Gemäß einer zweiten Alternative ist im Datenträger ein geheimer privater Schlüssel eines asymmetrischen Kryptosystems gespeichert und im Endgerät (bzw. ggf. Hintergrundsystem) der dem privaten Schlüssel entsprechende öffentliche Schlüssel gespeichert.
-
Wahlweise wird vor dem Initialisierungsschritt durch den Datenträger verifiziert, dass im Endgerät eine noch zu initialisierende, nicht-initialisierte Laufzeitumgebung implementiert ist und nur im Fall erfolgreicher Verifizierung der Initialisierungsschritt durchgeführt wird.
-
Gerade die Alternative, bei welcher der Geräteschlüssel erst im Datenträger erzeugt wird, bietet interessante Ausgestaltungsmöglichkeiten und Anwendungsfälle der Erfindung. Wahlweise weist die Einrichtung zum Erzeugen eines Geräteschlüssels eine Begrenzungseinrichtung auf, durch welche bewirkt wird, dass der Initialisierungsschritt nur in Abhängigkeit davon durchgeführt wird, dass ein oder mehrere vorbestimmte Vorgaben erfüllt sind. Als Vorgabe kann dabei eine oder mehrere der folgenden vorgesehen sein: Einhalten einer zulässigen Höchstzahl von durchgeführten Initialisierungsschritten mit dem Datenträger; gerätespezifische Eigenschaften des Endgeräts; ein Netzwerk, mit dem das Endgerät eingerichtet ist zu kommunizieren, erfüllt vorbestimmte Kriterien.
-
Beispielsweise kann pro Datenträger nur ein einziger Initialisierungsschritt durchführbar sein, und sobald der Installationsschritt durchgeführt worden ist und somit der Geräteschlüssel erzeugt worden ist, sind keine weiteren Initialisierungsschritte mehr möglich, also keine weiteren Geräteschlüssel mehr erzeugbar. Alternativ ist nur höchstens eine vorbestimmte Anzahl von Initialisierungsschritten möglich. Hierdurch das der Anbieter der sicheren Laufzeitumgebung eine detaillierte Kontrollmöglichkeit über das Initialisieren von TEES, um fälschliche Initialisierungen von TEEs zu verhindern.
-
Gemäß einem weiteren Beispiel ist der Initialisierungsschritt und somit die Geräteschlüsselerzeugung nur für bestimmte Endgeräte möglich, z. B. solche mit einem bestimmten Normal-Betriebssystem (nur Android, nur Windows-Phone, nur iOS etc.), oder nur für Endgeräte eines bestimmten Herstellers, oder für ein Endgerät mit einer bestimmten Seriennummer, Konfiguration, oder dergleichen, oder Kombinationen der vorgenannten Möglichkeiten. Auch diese Vorgaben können helfen, fälschliche Initialisierungen von TEEs zu verhindern.
-
Wahlweise ist als Datenträger eine Teilnehmeridentitätskarte zum Betreiben des Endgeräts in einem Netzwerk vorgesehen, insbesondere eine SIM-Karte, USIM-Karte oder UICC, oder eine andere kryptographisch gesicherte Chipkarte.
-
Wahlweise wird der Geräteschlüssel unter Verwendung von für den Datenträger spezifischer Datenträgerinformation erzeugt. Diese Ausführungsform ist insbesondere für Ausführungsformen interessant, bei denen der Datenträger als Teilnehmerkarte für ein Mobilfunksystem gestaltet ist, also als (U)SIM-Karte, UICC oder dergleichen. Indem der Geräteschlüssel unter Verwendung von für den Datenträger spezifischer Datenträgerinformation erzeugt wird, lässt sich als Geräteschlüssel ein Device-Binding-Schlüssel erzeugen, mit dem eine Bindung zwischen Endgerät und Teilnehmerkarte herstellbar ist („Device-Binding”, „SIM-Lock”). Das Endgerät ist dann im Mobilfunksystem nur noch mit derjenigen Teilnehmerkarte verwendbar, die den Geräteschlüssel erzeugt hat. Hierdurch wird die Initialisierung der sicheren Laufzeitumgebung TEE mit einer Device-Binding-Funktionalität gekoppelt. Das durch die sichere Laufzeitumgebung TEE qualitativ aufgewertete Endgerät, ist somit nur noch gemäß dem Device-Bindung nutzbar. Beispielsweise kann, je nach Ausgestaltung des Device-Binding, verhindert werden, dass von Netzbetreibern subventionierte Endgeräte mit TEE vor Ablauf der Amortisation der Subvention mit Teilnehmerkarten anderer Netzbetreiber betrieben werden, wodurch dem subventionierenden Netzbetreiber Umsätze und Gewinne entgehen würden.
-
Im Unterschied zum herkömmlichen Device-Binding oder SIM-Lock, das schon während der Produktion beim Hersteller des Endgeräts eingerichtet wird, erfolgt das erfindungsgemäße Device-Binding oder SIM-Lock im Feld, durch den Endkunden. Hierdurch kann der Endgeräte-Hersteller Produktionszeit sparen.
-
Die beschriebene Device-Binding-Funktionalität lässt sich prinzipiell auch ausgehend von einem anderen Datenträger als einer Teilnehmerkarte verwirklichen.
-
Bei einem Verfahren zur Inbetriebnahme eines mobilen Endgeräts mit einem in dem Endgerät betriebenen entfernbaren tragbaren Datenträger, ist in dem Endgerät erfindungsgemäß ein Geräteschlüssel implementiert worden. Anlässlich der Inbetriebnahme des mobilen Endgeräts mit dem entfernbaren tragbaren Datenträger wird ein Verifizierungsschritt durchgeführt, in dem überprüft wird, ob die bei der Erzeugung des Geräteschlüssels verwendete Datenträgerinformation demjenigen Datenträger entspricht, mit dem das Endgerät inbetriebgenommen wird, und nur falls dies der Fall ist, die Inbetriebnahme des Endgeräts mit dem Datenträger durchgeführt wird. Bei dem Verfahren zur Inbetriebnahme ist somit ein Geräteschlüssel verwendet, der die Funktion eines Device-Binding-Schlüssels hat. Im Verifizierungsschritt wird die Bindung zwischen Endgerät und Teilnehmerkarte verifiziert („Device-Binding”, „SIM-Lock”), so dass das Endgerät nur mit einer solchen Teilnehmerkarte betreibbar ist, die gemäß dem Device-Binding oder SIM-Lock zulässig ist.
-
Im Folgenden wird die Erfindung an Hand von Ausführungsbeispielen und unter Bezugnahme auf die Zeichnung näher erläutert, in der zeigt:
-
1 ein System zur Veranschaulichung der Erfindung.
-
1 zeigt ein System zur Veranschaulichung der Erfindung, umfassend: als Teilnehmerkarte 1 eine SIM-Karte, als mobiles Endgerät ein Mobiltelefon 2, sowie eine Datenbank 3 eines Hintergrundsystems.
-
Nachfolgend wird das Implementieren einer sicheren Laufzeitumgebung in das Mobiltelefon 2 beschrieben. In der Produktionsumgebung des Endgeräte-Herstellers des Mobiltelefon 2 wird ein Sicherheitsbetriebssystem in das Endgerät implementiert, dem noch der Geräteschlüssel fehlt, so dass das Sicherheitsbetriebssystem noch nicht betriebsbereit ist, also noch keine sichere Laufzeitumgebung TEE lauffähig ist. Das so vorbereitete Mobiltelefon 2 wird an den Endkunden ausgegeben.
-
Der Endkunde entscheidet sich dafür, das Mobiltelefon 2 künftig mit einer sicheren Laufzeitumgebung TEE betreiben zu wollen und wählt zudem einen Netzbetreiber aus, unter dessen Federführung er künftig das Mobiltelefon betreiben will. Der Netzbetreiber bietet beispielsweise, zur Auswahl durch den Endkunden, normale SIM-Karten an, sowie SIM-Karten mit einer Zusatzfunktionalität zum Initialisieren einer sicheren Laufzeitumgebung TEE. Der Endkunde wählt also eine SIM-Karte 1 des ausgewählten Netzbetreibers aus, die die Zusatzfunktionalität bietet, die sichere Laufzeitumgebung TEE zu initialisieren.
-
In der SIM-Karte 1 ist ein Device-Binding-Applet installiert. Im Mobiltelefon 2 ist eine Binding-Applikation (z. B. Android App) implementiert.
-
Bei erstmaliger Inbetriebnahme des Mobiltelefons 2 mit der SIM-Karte 1 wird durch die Binding-Applikation des Mobiltelefons 2 das Device-Binding-Applet der SIM-Karte 1 aufgerufen. Wahlweise erfolgt dieser Aufruf von der Binding-Applikation des Mobiltelefons 2 an das Device-Binding-Applet der SIM-Karte direkt über den Radio Interface Layer RIL. Das Device-Binding-Applet der SIM-Karte 1 (verifiziert ggf. Berechtigungen zur Ausführung auf dem Mobiltelefon 2,) prüft ob ein zu initialisierendes TEE überhaupt auf dem Mobiltelefon 2 vorhanden ist, und erzeugt einen Geräteschlüssel, der als Device-Binding-Schlüssel KB gestaltet ist. Hierzu wird insbesondere in den Geräteschlüssel Information eingebracht, die für die individuelle SIM-Karte 1 spezifisch ist. Ein Geräte-Schlüssel, der kein Device-Binding-Schlüssel ist, also kein SIM-Lock herstellt, wäre genauso möglich.
-
Zwischen der SIM-Karte 1 und der noch nicht initialisierten sicheren Laufzeitumgebung TEE wird ein sicherer Kanal aufgebaut. Die Schlüssel für den sicheren Kanal können für eine Vielzahl von SIM-Karten identisch sein, z. B. für eine ganze Produktions-Charge, insbesondere da sie noch nicht für ein Device-Binding gedacht sind. Gemäß einer ersten Alternative ist für den sicheren Kanal sind das Device-Binding-Applet der SIM-Karte 1 und die sichere Laufzeitumgebung TEE mit einem symmetrischen Schlüssel vorpersonalisiert und führen eine gegenseitige Authentisierung durch. Gemäß einer zweiten Alternative eines sicheren Kanals ist im Applet in der SIM-Karte 1 ein privater Schlüssel gespeichert und in der sicheren Laufzeitumgebung TEE der entsprechende öffentliche Schlüssel gespeichert.
-
Über den sicheren Kanal wird der zuvor erzeugte Geräteschlüssel, der als Device-Binding-Schlüssel KB gestaltet ist, in die sichere Laufzeitumgebung TEE eingebracht. Hierdurch ist das TEE im Mobiltelefon 2 fertig initialisiert. Weiter wird der Geräteschlüssel KB über einen weiteren sicheren Kanal (Ausgestaltungsmöglichkeiten analog wie für den ersten sicheren Kanal weiter oben) in eine Datenbank 3 im Hintergrundsystem (Backend) eingespielt. Bevorzugt wird der Geräteschlüssel KB durch das Mobiltelefon 2, genauer durch die Binding-Applikation, an das Hintergrundsystem übertragen, da dies eine effiziente Übertragungsmöglichkeit ist.
-
Anhand des empfangenen Geräteschlüssels KB kann das Hintergrundsystem künftig mit der sicheren Laufzeitumgebung TEE des Mobiltelefon 2 Authentisierungsvorgänge durchführen, wobei die sichere Laufzeitumgebung TEE sich gegenüber dem Hintergrundsystem authentisiert.
-
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
-
- DE 102011010627 A1 [0003, 0005, 0008]
- DE 102005007581 A1 [0004]
- DE 102007053744 A1 [0004]
- DE 69900566 T2 [0004]
- EP 0957461 B1 [0004]