V e r f a hr e n z u m L a d e n e i n e r S u b s k r i p t i o n i n e i n e i n g e b e t t e te s S i c h e r he i ts e l e m e n t e i ne s m o b i l e n E n d g e r ä ts
Die Erfindung betrifft ein Verfahren zum Laden einer Subskription in ein eingebettetes Sicherheitselement eines auf einem Chip ausgebildeten Systems eines mobilen Endgeräts, wobei das System einen Applikationsprozessor, einen nicht-flüchtigen Speicher und einen sicheren Prozessor umf asst, wobei der Applikationsprozessor und der sichere Prozessor über einen Bus auf den nicht-flüchtigen Speicher zugreifen können. Die Subskription wird durch einen Bereitstellungsdienst in den nicht-flüchtigen Speicher geladen, so dass der sichere Prozessor die Subskription aus dem Speicher laden und ausführen kann.
Eine UICC (Universal Integrated Chip Card) ist eine Chipkarte mit einem für Chipkartenanwendungen in der Telekommunikation optimierten Chipkartenbetriebssystem. Die UICC ist die Grundlage für die sog. USIM (Universal Subscriber Identity Modul). Die USIM ist der Träger der Identität eines Mo- bilfunkteilnehmers und hat als Hauptaufgabe die Sicherstellung der Echtheit eines mobilen Endgeräts, z.B. eines Mobilfunktelefons, gegenüber einem Mobilfunknetz werk (kurz: Netzwerk) und umgekehrt. Zusätzliche Aufgaben sind eine manipulationssichere Ausführung von Programmen, eine Benutzeridentifizierung mittels eines Codes, der sog. PIN (Personal Identification Number), sowie die Speicherung von Daten, wie beispielsweise Telefonnummern. In der Vergangenheit wurde die UICC üblicherweise als Plug-InKarte ausgeführt, welche in eine entsprechende Leseeinheit des mobilen Endgeräts eingelegt wurde. In der Zukunft ist angedacht, die UICC in integrierter (iUICC) oder eingebetteter (eUICC) Form vorzusehen. Diese auch als Sicherheitselement bezeich-
neten Komponenten werden in integrierter oder eingebetteter Form eines auf einem Chip ausgebildeten Systems (als System-on-a-Chip bekannt) des mobilen Endgeräts vorgesehen. Um die oben beschriebenen Funktionen und Aufgaben übernehmen zu können, ist es erforderlich, ein Abbild der iUICC oder der iUICC (sog. Image) in einem Speicher des Systems des mobilen
Endgeräts vorzusehen. Zum Laden des Abbildes der iUICC oder der eUICC in den nicht-flüchtigen Speicher wird ein im Applikationsprozessor ausgeführter Load Provisioning Agent (LPA) genutzt. Durch eine Schadsoftware kann der Speicherbereich, in dem das Abbild abgelegt ist, verhältnismäßig einfach gelöscht werden, wodurch ein sog.„Denial of Service" (DoS)-Angriff ermöglicht wird.
Es ist Aufgabe der vorliegenden Erfindung, ein Verfahren zum Laden einer Subskription in ein eingebettetes Sicherheitselement eines auf einem Chip ausgebildeten Systems eines mobilen Endgeräts anzugeben, welches die Durchführung eines DoS- Angriffs auf das Abbild einer iUICC oder eUICC unterbindet oder zumindest erschwert. Eine weitere Aufgabe besteht darin, ein entsprechend ausgebildetes mobiles Endgerät und eine das Endgerät sowie ein Mobilfunknetz umfassende Vorrichtung anzugeben.
Diese Aufgaben werden gelöst durch ein Verfahren gemäß den Merkmalen des Patentanspruchs 1, ein mobiles Endgerät gemäß den Merkmalen des Patentanspruchs 13 sowie eine Vorrichtung gemäß den Merkmalen des Patentanspruchs 14. Vorteilhafte Ausgestaltungen ergeben sich aus den abhän- gigen Patentansprüchen.
Die Erfindung schlägt ein Verfahren zum Laden einer Subskription in ein eingebettetes Sicherheitselement eines auf einem Chip ausgebildeten Systems eines mobilen Endgeräts vor, wobei das System einen Applikationsprozes-
sor, einen nicht-flüchtigen Speicher und einen sicheren Prozessor umfasst. Der Applikationsprozessor und der sichere Prozessor können über einen Bus auf den nicht-flüchtigen Speicher zugreifen. Bei dem Verfahren wird die Subskription durch einen Bereitstellungsdienst, den sog. Load Provisioning Agent (LPA), in den nicht-flüchtigen Speicher geladen, so dass der sichere Prozessor die Subskription aus dem Speicher laden und ausführen kann. Erfindungsgemäß ist vorgesehen, dass der Bereitstellungsdienst durch den sicheren Prozessor ausgeführt wird und die Subskription durch den Bereitstellungsdienst in einen, nur durch den sicheren Prozessor les- und schreibbaren Bereich des nicht-flüchtigen Speichers geladen wird.
Dem Verfahren liegt die Überlegung zugrunde, dass ein DoS- Angriff dadurch ermöglicht wird, dass der Bereitstellungsdienst bei derzeitigen Realisierungen im Applikationsprozessor ausgeführt wird, der einen Zugriff auf den für den sicheren Prozessor zugeordneten Bereich des nicht-flüchtigen Speichers hat, um das Abbild der Subskription in den nicht-flüchtigen Speicher einzuspielen. Der Applikationsprozessor hat somit die Möglichkeit lesend bzw. schreibend auf Bereiche des sicheren Prozessors zu zugreifen, ohne dass dies unter der Kontrolle des sicheren Prozessors erfolgt. Damit ist dieser Speicherbereich, in dem das Abbild der Subskription eingespeichert wird, nicht mehr exklusiv dem sicheren Prozessor zugeordnet, wodurch bei herkömmlichen Realisierungen ein DoS- Angriff ermöglicht wird.
Das erfindungsgemäße Verfahren ermöglicht ein dynamisches Laden der Subskription unter Umgehung der oben genannten Probleme, indem der Bereitstellungsdienst selbst bereits durch den sicheren Prozessor ausgeführt wird. Dadurch bleibt auch das Laden der Subskription unter der Kontrolle des sicheren Prozessors. Ein DoS- Angriff kann dadurch verhindert werden.
Dadurch wird die Sicherheit des Gesamtsystems, d.h. des auf einem Chip ausgebildeten Systems des mobilen Endgeräts sowie des mobilen Endgeräts selbst, signifikant erhöht. Ein Speicherbereich des sicheren Prozessors kann eindeutig und ausschließlich dem sicheren Prozessor zugeordnet werden, da andere Applikationen darauf nicht zugreifen müssen bzw. dürfen.
Bei dem mobilen Endgerät handelt es sich insbesondere um ein Mobilfunkendgerät. Ebenso kann unter einem mobilen Endgerät auch ein Tablet-PC, ein Smartdevice, ein Smartphone, ein Laptop, ein Wearable sowie ein Gerät, das im IoT (Internet of Things) Anwendung findet, verstanden werden.
Eine zweckmäßige Ausgestaltung sieht vor, dass dem (auf einem Chip ausgebildeten) System des mobilen Endgeräts ein eindeutiges Kennzeichen zugeordnet wird, wobei der Kennzeichner einen öffentlichen Schlüssel des mo- bilen Endgeräts umfasst. Der eindeutige Kennzeichner kann beispielsweise als Device-Zertifikat ausgebildet sein und den öffentlichen Schlüssel (PuK, Public Key) des mobilen Endgeräts umfassen.
Zweckmäßigerweise wird der eindeutige Kennzeichner dazu verwendet, dass sich das mobile Endgerät in einem Mobilfunknetzwerk mit dem eindeutigen Kennzeichner anmeldet. Die Anmeldung unter Verwendung des eindeutigen Kennzeichners erfolgt zweckmäßigerweise vor dem Laden der Subskription sowie vor dem Laden des Bereitstellungsdienstes in den sicheren Prozessor.
In einer zweckmäßigen Ausgestaltung empfängt das System den Bereitstellungsdienst von einem Mobilfunknetzbetreiber, wobei der Bereitstellungsdienst mit dem öffentlichen Schlüssel des mobilen Endgeräts verschlüsselt und/ oder signiert ist. Ermöglicht wird dies dadurch, dass der Mobilfunk-
netzbetreiber Zugriff auf die Datensätze der Hersteller der mobilen Endgeräte erhält und dadurch die Möglichkeit hat, die eindeutigen Kennzeichner, die jeweiligen mobilen Endgeräten zugeordnet sind, zu verifizieren. Der Mobilfunknetzbetreiber kann dadurch dem eindeutigen Kennzeichner die zum mobilen Endgerät passenden Schlüssel (PuK) zuordnen und verwenden. Hierdurch wird die Verschlüsselung des Bereitstellungsdiensts mit dem öffentlichen Schlüssel des mobilen Endgeräts ermöglicht.
Gemäß einer weiteren zweckmäßigen Ausgestaltung wird der Bereitstel- lungsdienst, der durch das mobile Endgerät bereits verifiziert und/ oder entschlüsselt ist, in den sicheren Prozessor des Systems des mobilen Endgeräts geladen. Insbesondere wird der Bereitstellungsdienst unmittelbar nach dessen Empfang in den sicheren Speicher des mobilen Endgeräts geladen. Anschließend wird der Bereitstellungsdienst in dem sicheren Prozessor ausge- führt.
Gemäß einer weiteren Ausgestaltung wird die Subskription durch den Bereitstellungsdienst von dem Mobilfunkbetreiber geladen und in dem, nur durch den sicheren Prozessor lesbaren Bereich des nicht-flüchtigen Speichers abgelegt. Mit Hilfe des Bereitstellungsdienstes kann nun das für das mobile Endgerät passende Abbild der iUICC bzw. eUICC einschließlich der Subskription geladen werden. Anschließend oder zu einem späteren Zeitpunkt kann dann der sichere Prozessor das Abbild aus dem nicht-flüchtigen Speicher, genauer dem, nur durch den sicheren Prozessor lesbaren Bereich des nicht-flüchtigen Speichers, laden, verifizieren und ausführen.
Zweckmäßigerweise wird der Bereitstellungsdienst nach dem Laden und Speichern der Subskription aus dem sicheren Prozessor gelöscht. Damit steht
der Bereitstellungsdienst nicht mehr für eine weitere Benutzung zur Verfügung.
Es ist zweckmäßig, wenn der Bereitstellungsdienst ein Mittel umfasst, dass eine nur einmalige Nutzung des Bereitstellungsdienstes für das Laden oder einen Wechsel der Subskription erlaubt. Ein solches Mittel kann beispielsweise ein fortlaufender Zähler, ein Zeitstempel, ein Umschlüsselungsverfah- ren oder Session-Keys sein. Mit solchen Ableitungsmechanismen kann sichergestellt werden, dass kein Replikat von dem bereits benutzten Bereitstel- lungsdienst erstellt und ausgeführt wird. Bei einem Wechsel des Abbilds der iUICC oder eUICC, einer Aktualisierung des Abbilds der iUICC; der eUICC, oder eines Profils oder eines Profildatenupdates, wird jeweils ein neuer Bereitstellungsdienst benötigt, der, wie oben beschrieben, geladen und ausgeführt wird. Dadurch wird die Sicherheit des Gesamtsystems zusätzlich deut- lieh erhöht. Beim Laden des Benutzungsdienstes kann zwar nicht vermieden werden, dass ein Abbild des Bereitstellungsdienstes geladen und zwischengespeichert wird. Allerdings verhindert die nicht mögliche Mehrfachnutzung des Bereitstellungdienstes die Ausführung einer Replay- Attacke oder eines Rollback- Verfahrens.
Die Erfindung schlägt ferner ein mobiles Endgerät vor, das ein auf einem Chip ausgebildetes System, das einen Bus, einen Applikationsprozessor, einen nicht-flüchtigen Speicher und einen sicheren Prozessor umfasst, aufweist, wobei der Applikationsprozessor und der sichere Prozessor über den Bus auf den nicht-flüchtigen Speicher zugreifen können, wobei das mobile Endgerät dazu ausgebildet ist, die Subskription durch einen Bereitstellungsdienst in den nicht-flüchtigen Speicher zu laden, so dass der sichere Prozessor die Subskription aus dem Speicher laden und ausführen kann. Das mobile Endgerät zeichnet sich dadurch aus, dass dieses ferner dazu ausgebildet
ist, den Bereitstellungsdienst durch den sicheren Prozessor auszuführen und die Subskription durch den Bereitstellungsdienst in einen, nur durch den sicheren Prozessor les- und schreibbaren Bereich des nicht-flüchtigen Prozessors zu laden.
Das erfindungsgemäße mobile Endgerät ist ferner dazu ausgebildet, die oben beschriebenen Schritte des erfindungsgemäßen Verfahrens durchzuführen. Damit sind die gleichen Vorteile verbunden, die vorstehend in Verbindung mit dem erfindungsgemäßen Verfahren beschrieben wurden.
Schließlich schlägt die Erfindung eine Vorrichtung zum Laden einer Subskription in ein eingebettetes Sicherheitselement eines mobilen Endgeräts vor, das ein mobiles Endgerät der hierin beschriebenen Art sowie eine Recheneinheit des Mobilfunksystems umfasst. Das mobile Endgerät und die Recheneinheit sind im Zusammenspiel zum Austausch von Daten zur Durchführung des Verfahrens der vorstehend und nachfolgenden Beschreibung ausgebildet.
Die Erfindung wird nachfolgend näher anhand eines Ausführungsbeispiels in der Zeichnung erläutert.
Fig. 1 eine schematische Darstellung einer Vorrichtung zum Laden einer Subskription in ein eingebettetes Sicherheitselement eines mobilen Endgeräts gemäß der Erfindung;
Fig. 2 eine schematische Darstellung einer Vorrichtung zum Laden einer Subskription in ein eingebettetes Sicherheitselement eines mobilen Endgeräts gemäß dem Stand der Technik; und
Fig. 3 eine schematische Darstellung eines auf einem Chip ausgebildeten Systems (System-on-a-Chip, SoC) eines mobilen Endgeräts.
Fig. 3 zeigt eine schematische Darstellung des Aufbaus eines SoC eines mobi- len Endgeräts 10. Das SoC umfasst einen Applikationsprozessor 11 (Core), einen sicheren Prozessor 12, einen nicht-flüchtigen Speicher 13, einen Bus 16 und eine Recheneinheit 17. Der Applikationsprozessor 11 kann eine Anzahl (hier: 3) an Prozessorkernen, auf denen jeweils verschiedene Anwendungen laufen, umfassen. Der sichere Prozessor 12 umfasst eine CPU 12-1, einen OTP-Bereich 12-2, einen nicht-flüchtigen Speicher (ROM) 12-3, einen flüchtigen Speicher (SP-RAM) 12-4, eine Kryptographie-Einheit 12-5, einen Speichermanager 12-6, eine Ein-/ Ausgabeeinheit 12-7 sowie eine Schlüsselverwaltungseinheit 12-8. Der nicht-flüchtige Speicher 13 umfasst eine Speichersteuerung 13-1, einen eingebetteten Speicherbereich 13-2 sowie einen weite- ren Speicherbereich 13-3.
Sowohl der Applikationsprozessor 11 als auch der sichere Prozessor 12 können über den Bus 16 mit dem nicht-flüchtigen Speicher 13 kommunizieren. Eine Kommunikation des sicheren Prozessors 12 mit dem nicht-flüchtigen Speicher 13 erfolgt dabei verschlüsselt (Pfeile ENC, DEC). Dies bedeutet, in den nicht-flüchtigen Speicher eingeschriebene Daten werden verschlüsselt (ENC), aus dem nicht-flüchtigen Speicher durch den sicheren Prozessor 12 ausgelesene Daten werden entschlüsselt (DEC). Eine Kommunikation KOMI zwischen dem sicheren Prozessor 12 und der Recheneinheit 17 erfolgt unmit- telbar und unter Umgehung des Busses 16 ebenfalls verschlüsselt. Die Kommunikation KOM2 zwischen dem Applikationsprozessor 11 und dem nichtflüchtigen Speicher 13 kann demgegenüber unverschlüsselt erfolgen.
In einer dem Fachmann bekannten Weise sind dem Applikationsprozessor 11 und dem sicheren Prozessor 12 unterschiedliche Speicherbereiche 14, 15 des nicht-flüchtigen Speichers 13 zugewiesen (vergleiche Fig. 1 und 2).
Dadurch soll verhindert werden, dass aus einer Anwendung des Applikati- onsprozessors 11 heraus auf sichere Daten des sicheren Prozessors 12 in dem nicht-flüchtigen Speicher 13 zugegriffen werden kann.
Fig. 2 zeigt eine schematische Darstellung einer Vorrichtung zum Laden einer Subskription in ein, wie in Fig. 1 ausgebildetes, eingebettetes Sicherheits- element eines mobilen Endgeräts 10. Fig. 2 zeigt dabei die bislang angewendete Vorgehens weise.
Mit dem Bezugszeichen 20 ist ein Mobilfunknetzwerk gekennzeichnet. Das Bezugszeichen 21 stellt einen Speicher dar, in dem ein Abbild 31 einer UICC gespeichert ist. Das Abbild 31 der UICC wird durch einen Bereitstellungsdienst 30' (Load Provisioning Agent, LPA), der in dem Applikationsprozessor 11 ausgeführt wird, aus dem Speicher 21 des Mobilfunknetzwerks 20 ausgelesen und als Abbild 31' in einen Speicherbereich 15 des nicht-flüchtigen Speichers 13 des SoC des mobilen Endgeräts 10, der für den sicheren Prozessor 12 reserviert ist, eingespeichert. Dazu hat der Applikationsprozessor 11 zuvor den Bereitstellungsdienst 30 (LPA) aus einem Speicherbereich 14 des nicht-flüchtigen Speichers 13 ausgelesen, welcher dem Applikationsprozessor 11 zur Nutzung zur Verfügung steht. Der Bereitstellungsdienst 30 (LPA) wird bei der herkömmlichen Lösung also in dem Applikationsprozes- sor 11 ausgeführt. Um dem sicheren Prozessor 12 das Abbild der UICC 31 zur Verfügung stellen zu können, erhält der Applikationsprozessor 11 Zugriff auf den Speicherbereich 15 des nicht-flüchtigen Speichers 13, der für den sicheren Prozessor 12 reserviert ist. Dadurch wird jedoch ein DoS- Angriff ermöglicht.
Demgegenüber zeigt Fig. 1 das erfindungsgemäße Vorgehen. Bei diesem Vorgehen wird der Bereitstellungsdienst 30 (LPA) von dem Mobilfunknetzwerk 20 unmittelbar in den sicheren Prozessor 12 des SoC des mobilen End- geräts 10 geladen. Hier ist er wiederum als Bereitstellungsdienst 30' (LPA) gekennzeichnet. Aus dem sicheren Prozessor 12 heraus lädt der Bereitstellungsdienst 30' (LPA) das Abbild 31 des UICC von dem Mobilfunknetzwerk 20. Wiederum wird dieses Abbild 31 in den Speicherbereich 15 des nicht- flüchtigen Speichers 13, der für den sicheren Prozessor 12 vorgesehen ist, eingespeichert. Hier ist das Abbild der UICC mit 31' gekennzeichnet. Durch dieses Vorgehen kann ein DoS- Angriff verhindert und die Sicherheit des Gesamtsystems erhöht werden, da der Speicherbereich 15 ausschließlich durch den sicheren Prozessor 12 gelesen und beschrieben wird. Ein Zugriff durch den Applikationsprozessor 11 ist nicht erforderlich.
Das Vorgehen des Abspeicherns des Abbilds der UICC 31 und der zugeordneten Subskription in den Speicherbereich 15 des nicht-flüchtigen Speichers 13 gemäß der Erfindung ist wie folgt: Dem SoC des mobilen Endgeräts 10 ist ein eindeutiger Kennzeichner (ID) zugeordnet. Der Kennzeichner ID wird bei der Herstellung des mobilen Endgeräts 10 in den SoC eingebracht. Der Kennzeichner ID kann als Device-Zertifikat ausgebildet sein und einen öffentlichen Schlüssel (Public Key, PuK) des mobilen Endgeräts 10 umfassen. Der Kennzeichner ID wird dazu genutzt, dass sich das mobile End gerät 10 initial bei dem Mobilfunknetzwerk 20 anmeldet. Hierzu erforderliche Kom- ponenten sind in keiner der Figuren dargestellt.
Der Netzwerkbetreiber des Mobilfunknetzwerks 20 hat Zugriff auf die Datensätze des Herstellers des mobilen End geräts 10 und somit die Möglichkeit, den Kennzeichner ID zu verifizieren. Der Mobilfunknetzbetreiber ord-
net dem Kennzeichner ID die zu dem mobilen Endgerät 10 passenden
Schlüssel (d.h. den Public Key) zu und verwendet diesen zur Verschlüsselung und Signierung des Bereitstellungsdiensts 30 (LPA). Der signierte und verschlüsselte Bereitstellungsdienst 30' wird an das mobile Endgerät 10 über das Mobilfunknetzwerk 20, eine Cloud oder ein anderes drahtloses Netzwerk übertragen (vergleiche Sl in Fig. 1) und in den sicheren Prozessor 12 geladen. Dort wird der verschlüsselte Bereitstellungsdienst 30' (LPA) verifiziert, entschlüsselt und ausgeführt. Durch die Ausführung des Bereitstellungsdienstes 30' (LPA) wird nun das für das mobile Endgerät 10 passende Abbild der UICC einschließlich der Subskription geladen (S2) und in dem für den sicheren Prozessor zugewiesenen Speicherbereich 15 abgelegt (S3 der Fig. 1). Zu einem späteren Zeitpunkt bezieht der sichere Prozessor 12 das Abbild der UICC aus dem Speicher 15 in seine Aufführungsumgebung, verifiziert das Abbild und führt es aus.
Der Bereitstellungsdienst 30' (LPA) selbst wird nach diesem Vorgang gelöscht und steht somit nicht mehr für weitere Aktivitäten zur Verfügung. Zudem beinhaltet der Bereitstellungsdienst 30' (LPA) einen Mechanismus, wie z.B. einen fortlaufenden Zähler, einen Zeitstempel, ein Umschlüsse- lungsverfahren, Session Keys oder andere Ableitungsmechanismen, um sicherzustellen, dass kein Replikat von dem bereits genutzten Bereitstellungdienst 30' (LPA) mehrmals erstellt und ausgeführt wird. Bei einem Wechsel des Abbilds der UICC, eine Aktualisierung des Abbilds oder einem Profil oder Profildatenupdate wird jeweils ein neuer Bereitstellungsdienst (LPA) benötigt, der, wie oben beschrieben, in den sicheren Prozessor 11 geladen und ausgeführt wird.
P o s i t i o ns l i s t e
10 mobile Endgerät
11 Applikationsprozessor
12 sicherer Prozessor
12-1 CPU
12-2 OTP-Bereich
12-3 nicht-flüchtiger Speicher (ROM)
12-4 flüchtiger Speicher (RAM)
12-5 Kryptographie-Einheit
12-6 Speichermanager
12-7 Ein-/ Ausgabeeinheit
12-8 Schlüsselverwaltungseinheit
13 Speicher
13-1 Speichersteuerung
13-2 eingebetteter Speicherbereich
13-3 Speicherbereich
14 Speicherbereich
15 Speicherbereich
16 Bus
17 Recheneinheit
20 Mobilfunknetzwerk
21 Speicher
30 Bereitstellungsdienst (LPA)
30' Bereitstellungsdienst (LPC)
31 UICC Abbild
31' UICC Abbild
Sl, S2, S3