-
Die Erfindung betrifft ein Verfahren zum Betrieb einer Mikroprozessoreinheit, insbesondere in einem mobilen Endgerät, sowie eine entsprechende Mikroprozessoreinheit und ein entsprechendes mobiles Endgerät.
-
Aus dem Stand der Technik ist es bekannt, in einer Mikroprozessoreinheit eine sog. gesicherte Laufzeitumgebung zu implementieren, um in einer isolierten Umgebung sicherheitskritische Applikationen auszuführen. Unter Mikroprozessoreinheit ist dabei die Gesamtheit der zur Ausführung der Applikationen verwendeten Hardware zu verstehen, insbesondere der eigentliche Mikroprozessor sowie entsprechende Speicher, die zur Ablage von Daten verwendet werden.
-
Herkömmliche gesicherte Laufzeitumgebungen verwenden in der Regel ein Betriebssystem mit geringem Speicherbedarf, wie das aus dem Stand der Technik bekannte MobiCore®-Betriebssystem, welches in Kombination mit einer gesicherten Laufzeitumgebung in der Form der sog. ARM TrustZone® verwendet wird. Dabei wird das in der gesicherten Laufzeitumgebung verwendete Betriebssystem in einen internen RAM-Speicher innerhalb der gesicherten Laufzeitumgebung geladen. Da der interne RAM-Speicher in seiner Größe begrenzt ist, muss das in der gesicherten Laufzeitumgebung verwendete Betriebssystem eine geringe Größe aufweisen, wodurch der durch die Mikroprozessoreinheit bereitgestellte Funktionsumfang beim Ausführen der gesicherten Laufzeitumgebung gering ist. Solange an die gesicherte Laufzeitumgebung nur sicherheitskritische Aufgaben übertragen werden, ist dies umproblematisch. In bestimmten Anwendungsfällen kann es jedoch erforderlich sein, dass eine gesicherte Laufzeitumgebung auch mit größerem Funktionsumfang durch die Mikroprozessoreinheit bereitgestellt wird. Wird die Mikroprozessoreinheit beispielsweise in einem Mobiltelefon verwendet, ist es zum Schutz gegen Abhörangriffe wünschenswert, dass eine gesicherte Laufzeitumgebung bereitgestellt wird, mit der die Sprachanruf-Funktionalität des Mobiltelefon ermöglicht wird. Dies kann durch derzeitige, in gesicherten Laufzeitumgebungen verwendete Betriebssysteme nicht erreicht werden.
-
Aufgabe der Erfindung ist es deshalb, eine Mikroprozessoreinheit derart zu betreiben, dass eine gesicherte Laufzeitumgebung mit größerem Funktionsumfang als im Stand der Technik bereitgestellt wird.
-
Diese Aufgabe wird durch das Verfahren gemäß Patentanspruch 1 bzw. die Mikroprozessoreinheit gemäß Patentanspruch 8 bzw. das mobile Endgerät gemäß Patentanspruch 10 gelöst. Weiterbildungen der Erfindung sind in den abhängigen Ansprüchen definiert.
-
Das erfindungsgemäße Verfahren dient zum Betrieb einer Mikroprozessoreinheit, welche einen Mikroprozessor umfasst, auf dem eine normale Laufzeitumgebung mit einem ersten Betriebssystem und eine gesicherte Laufzeitumgebung mit einem zweiten, gesicherten Betriebssystem implementiert ist. Die Mikroprozessoreinheit beinhaltet dabei ferner einen RAM-Speicher außerhalb der gesicherten Laufzeitumgebung, in den das erste Betriebssystem bei der Ausführung der normalen Laufzeitumgebung geladen wird. Das erste Betriebssystem ist insbesondere ein an sich bekanntes Betriebssystem für eine Mikroprozessoreinheit, z. B. ein Mobiltelefon-Betriebssystem, falls die Mikroprozessoreinheit für ein Mobiltelefon genutzt wird. Beispiele solcher Mobiltelefon-Betriebssysteme sind Android oder Symbian, welche für Smart Phones verwendet werden und einen großen Funktionsumfang bereitstellen.
-
Das erfindungsgemäße Verfahren zeichnet sich dadurch aus, dass das zweite Betriebssystem eine gesicherte Version des ersten Betriebssystems ist, welche im Rahmen der Ausführung der gesicherten Laufzeitumgebung in einen Abschnitt des RAM-Speichers geladen wird, der für die gesicherte Laufzeitumgebung vorgesehen ist. Die gesicherte Version des ersten Betriebssystems stellt dabei insbesondere ein sog. gehärtetes Betriebssystem dar. Der Begriff des „Härten” ist aus der Computertechnik hinlänglich bekannt und bezeichnet die Erhöhung der Sicherheit eines Systems, wie z. B. eines Programms oder eines Betriebssystems, indem nur bestimmte Software eingesetzt wird, die für den Betrieb des Systems notwendig ist und für welche gewährleistet ist, dass sie unter Berücksichtigung von Sicherheitsaspekten korrekt abläuft.
-
Erfindungsgemäß wird somit neben dem ursprünglichen ersten Betriebssystem ein zweites Betriebssystem verwendet, welches höheren Sicherheitsanforderungen genügt. In der Regel ist dabei der Funktionsumfang des gesicherten bzw. gehärteten Betriebssystems gegenüber dem ursprünglichen Betriebssystem reduziert, jedoch deutlich höher als der eines herkömmlichen, für eine gesicherte Laufzeitumgebung vorgesehenen Betriebssystems (wie z. B. MobiCore®), so dass auch mehr Speicher benötigt wird. Dies wird erfindungsgemäß dadurch berücksichtigt, dass das zweite gesicherte Betriebssystem in einen RAM-Speicher außerhalb der gesicherten Laufzeitumgebung geladen wird, denn dieser Speicher kann wesentlich größer als ein interner RAM-Speicher innerhalb der gesicherten Laufzeitumgebung ausgestaltet sein.
-
In einer besonders bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens wird das zweite Betriebssystem in einen RAM-Speicher in der Form eines OnSoC-RAM (SOC = System an a Chip) geladen. Ein OnSoC-RAM ist dabei zusammen mit den anderen Bestandteilen der Mikroprozessoreinheit monolithisch in einem Chip integriert. In einer bevorzugten Ausführungsform ist dabei der OnSoC-RAM über den an sich bekannten AMBA-Bus an den Mikroprozessor der Mikroprozessoreinheit gekoppelt (AMBA = Advanced Microcontroller Bus Architecture).
-
In einer weiteren, besonders bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens wird die Mikroprozessoreinheit über einen Schalter gesteuert, über den ein Benutzer zwischen der Ausführung der normalen und der gesicherten Laufzeitumgebung wechseln kann. Auf diese Weise kann durch den Benutzer festgelegt werden, in welchem Modus er die Mikroprozessoreinheit betreiben kann. Verwendet der Benutzer die Mikroprozessoreinheit bspw. in einem sicherheitskritischen Umfeld, kann er von dem ersten nicht gesicherten Betriebssystem in das zweite gesicherte Betriebssystem schalten. Das zweite Betriebssystem stellt dabei einen größeren Funktionsumfang als eine herkömmliche gesicherte Laufzeitumgebung bereit, bei der das Betriebssystem in einen internen RAM-Speicher der gesicherten Laufzeitumgebung geladen ist.
-
In einer weiteren bevorzugten Ausführungsform wird einem Benutzer über eine Anzeigeeinheit angezeigt, wenn die gesicherte Laufzeitumgebung ausgeführt wird, so dass der Benutzer immer darüber informiert ist, in welchem Modus er die Mikroprozesseinheit gerade betreibt.
-
In einer weiteren, besonders bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens ist die Mikroprozessoreinheit für ein Mobiltelefon vorgesehen und beinhaltet einen Basisband-Prozessor (auch als Base-Band-Prozessor bezeichnet) zur Verarbeitung von Kommunikationsfunktionalitäten. Um sicherzustellen, dass bestimmte Kommunikationsfunktionalitäten auch bei der Ausführung der gesicherten Laufzeitumgebung bereitgestellt werden, wird in dieser Ausführungsform ein Teil der Kommunikationsfunktionalitäten des Basisband-Prozessors im zweiten Betriebssystem implementiert. Vorzugsweise werden dabei als Kommunikationsfunktionalitäten des Basisband-Prozessors die Sprachanruf-Funktion bzw. die SMS-Funktion bzw. beide Funktionen implementiert, so dass der Benutzer zumindest Grundfunktionalitäten des Mobiltelefons nutzen kann.
-
In einer weiteren, besonders bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens wird die gesicherte Laufzeitumgebung basierend auf an sich bekannter Hardware in der Form einer sog. ARM TrustZone® realisiert. Im Unterschied zu herkömmlichen Verfahren wird nunmehr in der TrustZone anstatt des üblicherweise verwendeten MobiCore®-Betriebssystems ein gesichertes bzw. gehärtetes Betriebssystem verwendet, das aus einem für die normale Laufzeitumgebung vorgesehenen Betriebssystem abgeleitet ist.
-
Neben dem oben beschriebenen Verfahren betrifft die Erfindung ferner eine Mikroprozessoreinheit, insbesondere für ein mobiles Endgerät, umfassend einen Mikroprozessor, auf dem eine normale Laufzeitumgebung mit einem ersten Betriebssystem und eine gesicherte Laufzeitumgebung mit einem zweiten Betriebssystem implementiert ist, sowie einen RAM-Speicher außerhalb der gesicherten Laufzeitumgebung, in den das erste Betriebssystem bei der Ausführung der normalen Laufzeitumgebung geladen wird. Die Mikroprozessoreinheit zeichnet sich dadurch aus, dass das zweite Betriebssystem eine gesicherte bzw. gehärtete Version des ersten Betriebssystems ist und ein Abschnitt des RAM-Speichers für das zweite Betriebssystem vorgesehen ist, in den im Rahmen der Ausführung der gesicherten Laufzeitumgebung das zweite Betriebssystem geladen wird.
-
Vorzugsweise ist die Mikroprozessoreinheit derart ausgestaltet, dass eine oder mehrere der oben beschriebenen bevorzugten Varianten des erfindungsgemäßen Verfahrens auf der Mikroprozessoreinheit durchführbar sind.
-
Die Erfindung betrifft darüber hinaus ein mobiles Endgerät, insbesondere ein Mobiltelefon, welches die erfindungsgemäße Mikroprozessoreinheit bzw. eine oder mehrere bevorzugte Varianten der erfindungsgemäßen Mikroprozessoreinheit umfasst.
-
Ausführungsbeispiele der Erfindung werden nachfolgend anhand der beigefügten Figuren detailliert beschrieben.
-
Es zeigen:
-
1 eine Realisierung einer gesicherten Laufzeitumgebung in einer Mikroprozessoreinheit gemäß dem Stand der Technik; und
-
2 eine Realisierung einer gesicherten Laufzeitumgebung gemäß einer Ausführungsform der Erfindung.
-
Das erfindungsgemäße Verfahren wird nachfolgend basierend auf einer Mikroprozessoreinheit beschrieben, welche für ein Mobiltelefon vorgesehen wird, wobei das Verfahren jedoch auch für Mikroprozessoreinheiten in anderen mobilen Geräten eingesetzt werden kann. Die Mikroprozessoreinheit ist dabei in der Form eines sog. SoC bzw. Ein-Chip-Systems realisiert (SoC = System an a Chip), d. h. im Wesentlichen alle Komponenten der Mikroprozessoreinheit sind auf einem einzelnen IC-Chip integriert.
-
1 zeigt den Aufbau eines Ein-Chip-Systems, in dem eine gesicherte Laufzeitumgebung in herkömmlicher Weise implementiert ist. Dabei enthält der Chip den eigentlichen Mikroprozessor MP, bei dem es sich um einen ARM-Mikroprozessor handelt, auf dem in an sich bekannter Weise eine gesicherte Laufzeitumgebung in der Form einer TrustZone realisiert ist, welche mit TZ bezeichnet ist. In 1 und auch in der weiter unten beschriebenen 2 werden dabei Bereiche mit gesicherter Laufzeitumgebung immer schraffiert wiedergegeben. Zum Betrieb der gesicherten Laufzeitumgebung TZ wird in 1 das an sich bekannte MobiCore®-Betriebssystem verwendet. In die gesicherte Laufzeitumgebung werden sicherheitskritische Funktionen verlagert, wie z. B. mobile Bezahl-Anwendungen oder andere Anwendungen, für welche ein Zugriff auf persönliche benutzerspezifische Daten erforderlich ist. Im Betrieb der TrustZone TZ wird das MobiCore® Betriebssystem in einen internen RAM-Speicher innerhalb der TrustZone geladen, der in 1 mit IR bezeichnet ist. Der Abschnitt des RAM-Speichers, der das Betriebssystem MobiCore® enthält, ist dabei mit MC bezeichnet. Das Bezugszeichen MC wird im Folgenden auch zur Bezeichnung des Betriebssystems MobiCore® verwendet.
-
Neben der gesicherten Laufzeitumgebung TZ enthält der Mikroprozessor MP ferner eine normale Laufzeitumgebung, welche in 1 mit NZ bezeichnet ist. Hier ist das herkömmliche Betriebssystem der Mikroprozessoreinheit hinterlegt, welches einen erheblich größeren Speicherbedarf als das MobiCore®-Betriebssystem hat. Dieses Betriebssystem ist in der beschriebenen Ausführungsform ein sog. richOS mit einem großen Funktionsumfang, wie es bspw. in Smart Phones eingesetzt wird. Ein Beispiel eines solchen Betriebssystems ist das Mobiltelefon-Betriebssystem Android.
-
Bei der Ausführung der normalen Laufzeitumgebung wird in der Mikroprozessoreinheit der 1 der RAM-Speicher R verwendet, der als OnSoC-RAM auf dem Chip ausgebildet ist und welcher über den an sich bekannten AMBA-Bus B an den Mikroprozessor MP angebunden ist. Das herkömmliche richOS-Betriebssystem wird dabei in diesen RAM-Speicher geladen. In 1 ist der Abschnitt des RAM-Speichers, in dem das richOS-Betriebssystem enthalten ist, mit B1 bezeichnet. Dieses Bezugszeichen wird im Folgenden auch zur Bezeichnung des richOS-Betriebssystems verwendet.
-
Die Mikroprozessoreinheit der 1 beinhaltet neben dem Mikroprozessor MP ferner einen sog. Basisband-Prozessor bzw. Base-Band-Prozessor BP, mit dem die Kommunikationsfunktionalitäten des Mobiltelefons realisiert werden. Der Basisband-Prozessor BP kommuniziert deshalb mit der SIM/USIM-Karte des Mobiltelefons sowie dem Mobilfunknetz und gegebenenfalls auch mit einem Mikrofon.
-
Um den Mikroprozessor der 1 im sicheren Modus in der TrustZone TZ zu betreiben, ist innerhalb der normalen Zone NZ ein MobiCore®-Treiber D vorgesehen, der den Wechsel in die gesicherte Laufzeitumgebung auslöst. Im Rahmen der Ausführung der gesicherten Laufzeitumgebung wird gemäß 1 lediglich der interne RAM-Speicher IR verwendet, der nur ein begrenztes Speichervolumen (Ca. 128 kB) aufweist. Demzufolge ist der Funktionsumfang des MobiCore®-Betriebssystems MC deutlich geringer als der eines richOS, welches in den OnSoC-RAM-Speicher R geladen wird, der deutlich größer ausgelegt ist und meist mehrere MByte Speichervolumen aufweist.
-
Aufgrund des geringen Funktionsumfangs von MobiCore® können an die gesicherte Laufzeitumgebung nur sicherheitskritische Aufgaben delegiert werden. Somit können beim Ausführen der gesicherten Laufzeitumgebung keine weitergehenden Funktionalitäten der Mikroprozessoreinheit genutzt werden. Dies ist nachteilhaft, denn es ist in bestimmten Szenarien wünschenswert, dass im Rahmen der Ausführung der gesicherten Laufzeitumgebung auch mehr Funktionen des herkömmlichen Betriebssystems, wie z. B. die Sprachanruf-Funktionalität, kontrolliert werden. Insbesondere sollte ein Betrieb basierend auf einer gesicherten Laufzeitumgebung bei Angriffsszenarien im Behördenumfeld, wie z. B. beim Abhören von Telefonen, möglich sein. MobiCore® kann für solche Angriffsszenerien keinen Schutz gewährleisten, da die Sprachanruf-Funktionalität beim Ausführen des MobiCore®-Betriebssystems nicht bereitgestellt ist.
-
2 zeigt eine Ausführungsform einer erfindungsgemäßen Mikroprozessoreinheit, mit der die oben angesprochene Problematik gelöst wird. Dabei werden für Bauteile, welche Bauteilen der 1 entsprechen, die gleichen Bezugszeichen verwendet. Die Mikroprozessoreinheit der 2 umfasst analog zu 1 einen Mikroprozessor MP mit einer TrustZone TZ und einer normalen Zone NZ. Ebenso ist wiederum ein Basisband-Prozessor BP sowie der OnSoC-RAM-Speicher R vorgesehen. Im Unterschied zur Ausführungsform der 1 wird die TrustZone nunmehr nicht mehr basierend auf dem MobiCore®-Betriebssystem ausgeführt, sondern es wird hierfür eine gehärtete Variante des herkömmlichen richOS-Betriebssystems B1 verwendet. Das gehärtete Betriebssystem, welches in 2 mit B2 bezeichnet ist, weist dabei einen geringen Funktionsumfang als das Betriebssystem B1 auf, enthält nunmehr aber deutlich mehr Funktionen als das reine MobiCore®-Betriebssystem. Der Begriff des „Härteres” wurde bereits weiter oben beschrieben und betrifft die Reduktion des Funktionsumfangs eines Betriebssystems, um hierdurch dessen Sicherheit gegenüber Angriffen unbefugter Dritter zu erhöhen. Das gehärtete Betriebssystem stellt somit ein gegenüber dem ursprünglichen Betriebssystem gesichertes Betriebssystem mit reduziertem Funktionsumfang dar.
-
Gemäß der Ausführungsform der 2 wird nunmehr im Betrieb der TrustZone TZ dieses gehärtete Betriebssystem B2 verwendet, welches hierzu jedoch nicht mehr in den internen RAM-Speicher IR geladen wird, sondern in den OnSoC-RAM-Speicher R, denn der interne RAM-Speicher ist für das gehärtete Betriebssystem B2 nicht mehr ausreichend. Im gehärteten Betriebssystem sind in der Ausführungsform gemäß 2 auch bestimmte Kommunikationsfunktionalitäten des Basisband-Prozessors BP integriert, insbesondere die Sprachanruf-Funktionalität des Basisband-Prozessors BP. Dies wird durch einen schraffierten Bereich innerhalb des Basisband-Prozessors BP angedeutet. Das gehärtete Betriebssystem enthält dabei die entsprechenden Treiber für die Kommunikation über den Basisband-Prozessor BP.
-
Die Mikroprozessoreinheit gemäß 2 ermöglicht je nach Anwendungsfall die Verwendung sowohl des normalen Betriebssystems B1 als auch des gehärteten Betriebssystems B2. Beim Start bzw. Booten der Mikroprozessoreinheit wird dabei ein sog. TrustZone-Protection-Controller TP eingesetzt, der über den AMBA-Bus auf den RAM-Speicher R zugreift und so konfiguriert ist, dass ein Teil des OnSoC-RAM-Speichers R exklusiv für das Ausführen der TrustZone TZ zur Verfügung steht. Die Sicherheit des über diesen TrustZone-Protection-Controller partitionierten OnSoC-RAM-Speichers ist zwar nicht so hoch wie die des internen RAM-Speichers IR, jedoch reicht die Sicherheit zum Schutz eines kompletten gehärteten Betriebssystems aus. Über einen entsprechenden Schalter SW wird der Benutzer des Mobiltelefons ferner in die Lage versetzt, zwischen dem herkömmlichen Betriebssystem B1 und dem gehärteten Betriebssystem B2 umzuschalten. Die Mikroprozessoreinheit der 2 beinhaltet dabei auch eine Anzeigeeinheit L in der Form einer LED, wobei durch das Leuchten der LED dem Benutzer des Mobiltelefons signalisiert wird, dass er sich im gesicherten Modus befindet, in dem das gehärtete Betriebssystem ausgeführt wird.
-
Die im Vorangegangenen beschriebene Ausführungsform der Erfindung weist eine Reihe von Vorteilen auf. Insbesondere wird ein Benutzer der Mikroprozessoreinheit bzw. des entsprechenden Mobiltelefon in die Lage versetzt, zwischen zwei Betriebsarten des Mobiltelefon in einem Gerät auszuwahlen bzw. zu wechseln. Zum einen kann er das Mobiltelefon im unsicheren Modus basierend auf dem Betriebssystem B1 verwenden, wobei er dann die Möglichkeit hat, die Vorteile gängiger richOS-Betriebssysteme zu nutzen, wie z. B. das Herunterladen von Applikationen, die Nutzung von GPS zur Navigation und dergleichen. Ist dem gegenüber ein gesicherter Betrieb des Mobiltelefons erforderlich, kann der Benutzer in den sicheren Modus wechseln, in dem das Mobiltelefon mit dem gehärteten Betriebssystem B2 betrieben wird. Dabei stehen dem Benutzer nicht mehr alle Funktionalitäten des Mobiltelefon zur Verfügung, jedoch ist das Mobiltelefon gegenüber Angriffen Dritter geschützt. Im Unterschied zur Verwendung des MobiCore®-Betriebssystems gemäß 1 ist der Funktionsumfang des Telefons im sicheren Modus jedoch höher. Insbesondere wird die Sprachanruf-Funktionalität durch das Mobiltelefon weiterhin gewährleistet. Durch die Verwendung des gehärteten Betriebssystems in einer gesicherten Laufzeitumgebung kann erfindungsgemäß ein komplettes Mobiltelefon-Betriebssystem, wie z. B. das oben erwähnte Betriebssystem Android, geschützt werden. Die Erfindung eignet sich dabei insbesondere für Anwendungen (z. B. im Behördenumfeld bei Abhörangriffen), die eine höhere Sicherheit als eine Software-Virtualisierung basierend auf MobiCore® benötigen, aber nicht unbedingt zur Sicherheit einen internen RAM-Speicher verwenden müssen.