-
Die vorliegende Erfindung betrifft ein Verfahren und ein System zum sicheren Ausführen einer browserbasierten Applikation für einen Nutzer eines mobilen Endgeräts.
-
Eine browserbasierte Applikation im Sinne der vorliegenden Erfindung ist eine Anwendung, welche zumindest teilweise in einer Browser-Funktionalität, d. h. einem herkömmlichen Webbrowser, ausgeführt wird. Zum Ausführen der browserbasierten Applikation ist dabei in der Regel eine Datenkommunikation mit einem Webserver erforderlich, auf welchem die Applikation zumindest teilweise ausgeführt wird. Solche browserbasierten Applikationen finden gegenwärtig großen Zuspruch, da sie für den Nutzer in einfacher Weise zu verwenden sind, ohne dass eine Installation der Applikation auf dem Endgerät erforderlich ist. Weiterhin sind diese Applikationen von dem entsprechenden Browser in der Regel unabhängig von einem auf dem Endgerät des Nutzers installierten Betriebssystem ausführbar.
-
Mobile Endgeräte, wie beispielsweise Smartphones oder Tablets, sind vielfach Ziel von Angriffen durch Schadcode, wie beispielsweise sogenannte „Trojaner”, „Keylogger” oder dergleichen. Entsprechende Gefährdungen können durch den Einsatz einer gesicherten Laufzeitumgebung, beispielsweise eines „Trusted Execution Environments” (TEE) gemäß der GlobalPlatformTM Specification, zumindest eingegrenzt werden. Besonders sicherheitsrelevante Applikationen, wie beispielsweise Bezahl-Applikationen oder Authentisierungs-Applikationen, können dann in einer solchen gesicherten Laufzeitumgebung ausgeführt werden. Schadcode hat dann darauf keinen Zugriff.
-
Browserbasierte Applikationen können auf diese Weise allerdings praktisch nicht geschützt werden. Dies liegt daran, dass eine Browser-Funktionalität zum Ausführen einer browserbasierten Applikation in der Regel nicht in einer gesicherten Laufzeitumgebung eines mobilen Endgeräts ausgeführt werden kann. Dafür reichen die seitens der gesicherten Laufzeitumgebung bereitgestellten Ressourcen (Rechenkapazität, Speicherkapazität) derzeit nicht aus.
-
Aufgabe der vorliegenden Erfindung ist es demnach, ein Verfahren und ein System zum sicheren Ausführen einer browserbasierten Applikation für einen Nutzer eines mobilen Endgerätes vorzuschlagen.
-
Diese Aufgabe wird durch ein Verfahren und ein System mit den Merkmalen der unabhängigen Ansprüche gelöst. Vorteilhafte Ausgestaltungen und Weiterbildungen sind in den abhängigen Ansprüchen angegeben.
-
Die vorliegende Erfindung basiert auf dem Grundgedanken, die Browser-Funktionalität nicht in dem Endgerät selbst, sondern in einem externen Server bereitzustellen. Zwischen dem Endgerät des Nutzers und dem externen Server wird eine Ende-zu-Ende gesicherte Datenkommunikationsverbindung aufgebaut, welche eine gesicherte Laufzeitumgebung des Endgerätes mit einer entsprechend gesicherten Server-Laufzeitumgebung des Servers verbindet. Zusätzlich verwaltet die gesicherte Laufzeitumgebung des Endgerätes eine gesicherte Ein- und Ausgabeschnittstelle des Endgerätes. Die Server-Laufzeitumgebung ihrerseits kontrolliert die Browser-Funktionalität zum Ausführen einer browserbasierten Applikation. Dem Endgerät werden dann über die gesicherte Datenkommunikationsverbindung lediglich Ausgabedaten der browserbasierten Applikation, beispielsweise in Form eines Videostreams, bereitgestellt.
-
Im Einzelnen umfasst eine bevorzugte Ausführungsform zum sicheren Ausführen einer browserbasierten Applikation für einen Nutzer eines mobilen Endgerätes die folgenden Schritte:
Es wird ein mobiles Endgerät mit einer sicheren Laufzeitumgebung bereitgestellt. Wie erwähnt, kann die sichere Laufzeitumgebung beispielsweise als ein „Trusted Execution Environment” gemäß der GlobalPlatformTM Specification ausgestaltet sein. Eine solche gesicherte Laufzeitumgebung existiert auf dem Endgerät in der Regel zusätzlich zu einem gewöhnlichen Betriebssystem, wie beispielsweise Android. Die sichere Laufzeitumgebung kann durch eine spezifische Hardware-Architektur, wie beispielsweise ARM TrustZone®, bereitgestellt werden. Alternativ ist es auch möglich, eine gesicherte Laufzeitumgebung durch eine Kombination von Hardware und Softwaremitteln bereitzustellen. Grundsätzlich kann eine gesicherte Laufzeitumgebung auch nur durch Softwaremittel ausgebildet werden.
-
In dem Endgerät wird in einem weiteren Schritt eine gesicherte Eingabeschnittstelle und eine gesicherte Ausgabeschnittstelle bereitgestellt. Die Eingabeschnittstelle dient dabei in gewohnter Weise zum Eingeben von Daten in das Endgerät, insbesondere zum Eingeben von geheimen Daten, wie beispielsweise einer PIN, einer TAN, eines Passwortes und dergleichen.
-
Gemäß einer bevorzugten Ausführungsform wird die gesicherte Eingabeschnittstelle als eine gesicherte Tastatur bereitgestellt. Die Tastatur kann dabei eine herkömmliche physische Tastatur sein. Alternativ kann die Tastatur auch als virtuelle Tastatur auf einem berührungsempfindlichen Display des Endgeräts ausgebildet sein.
-
Wesentlich für die vorliegende Erfindung ist es, dass die gesicherte Eingabeschnittstelle unter der Kontrolle der sicheren Laufzeitumgebung des Endgerätes betrieben wird. Auf diese Weise kann selbst in dem Fall, dass das Endgerät, d. h. diejenige Umgebung, welche durch das gewöhnliche Betriebssystem des Endgerätes gesteuert wird, von Schadcode befallen ist, eine Eingabe in das Endgerät, welche über die gesicherte Eingabeschnittstelle erfolgt, von dem Schadcode nicht abgehört und/oder manipuliert werden.
-
In analoger Weise wird eine gesicherte Ausgabeschnittstelle auf dem Endgerät bereitgestellt. Auch die gesicherte Ausgabeschnittstelle wird unter der Kontrolle der gesicherten Laufzeitumgebung betrieben. Auf diese Weise wird es effektiv verhindert, dass eine Ausgabe durch auf dem Endgerät befindlichen Schadcode ausgelesen und/oder manipuliert werden kann. Gemäß einer bevorzugten Ausführungsform des Verfahrens wird die gesicherte Ausgabeschnittstelle als gesichertes Display bereitgestellt. Eine solche gesicherte Ausgabeschnittstelle dient insbesondere zum Ausgeben von sicherheitsrelevanten Daten, beispielsweise einem Einmal-Passwort (OTP) oder dergleichen, aber auch zum Ausgeben anderer schätzenswerter Inhalte.
-
Gemäß einer besonders bevorzugten Ausführungsform werden sowohl die gesicherte Eingabeschnittstelle als auch die gesicherte Ausgabeschnittstelle durch ein berührungsempfindliches Display des Endgerätes bereitgestellt.
-
Es versteht sich, dass alternativ oder zusätzlich weitere Ein- und/oder Ausgabeschnittstellen vorgesehen sein können, welche in gleicher Weise gesichert sind, d. h. unter der Kontrolle der sicheren Laufzeitumgebung des Endgerätes operieren. Mögliche Ein- und Ausgangsschnittstellen können beispielsweise durch ein Mikrofon und/oder einen Lautsprecher des Endgeräts bereitgestellt werden. Auf diese Weise wird eine gesicherte sprachbasierte Kommunikation mit dem Endgerät möglich.
-
Auf der anderen Seite wird zumindest ein gesicherter externer Server mit einer sicheren Server-Laufzeitumgebung bereitgestellt. Die sichere Server-Laufzeitumgebung operiert in analoger Weise zu der sicheren Laufzeitumgebung des Endgerätes. D. h. der Server umfasst in der Regel ein herkömmliches Betriebssystem, welches zusätzlich und neben der sicheren Server-Laufzeitumgebung operiert. Sicherheitsrelevante Applikationen können in der Server-Laufzeitumgebung oder unter Kontrolle der Server-Laufzeitumgebung ausgeführt werden. Weiterhin kann die sichere Server-Laufzeitumgebung Kommunikations- und sonstige Schnittstellen des Servers kontrollieren und absichern.
-
Auf dem externen Server wird eine Browser-Funktionalität bereitgestellt. Diese Browser-Funktionalität wird, wie bereits erwähnt, unter der Kontrolle der sicheren Server-Laufzeitumgebung betrieben. Gemäß einer bevorzugten Variante wird die Browser-Funktionalität in der gesicherten Server-Laufzeitumgebung selbst ausgeführt. Im Gegensatz zu dem mobilen Endgerät mit seinen begrenzten Ressourcen ist eine Server-Hardware in der Lage, auch in einer sicheren Server-Laufzeitumgebung eine solch komplexe Anwendung wie eine Browser-Funktionalität auszuführen.
-
Zwischen dem mobilen Endgerät und dem externen Server wird dann über die sichere Laufzeitumgebung des mobilen Endgerätes und die sichere Server-Laufzeitumgebung eine gesicherte Datenkommunikation aufgebaut. Der Aufbau der Datenkommunikation kann über ein beliebiges geeignetes Kommunikationsnetzwerk erfolgen, beispielsweise über ein Mobilfunknetzwerk und/oder das Internet.
-
Schließlich wird die browserbasierte Applikation durch die Browser-Funktionalität auf dem externen Server ausgeführt. Ein- und Ausgabedaten der browserbasierten Applikation werden dabei über die gesicherte Datenkommunikationsverbindung übertragen. Weiter werden Eingabedaten für die browserbasierte Applikation über die gesicherte Eingabeschnittstelle des mobilen Endgerätes eingegeben und Ausgabedaten der browserbasierten Applikation werden über die gesicherte Ausgabeschnittstelle des mobilen Endgerätes ausgegeben.
-
Auf die beschriebene Weise kann die browserbasierte Applikation für den Nutzer des mobilen Endgerätes in vollständig gesicherter Weise ausgeführt werden. Das Verfahren stellt eine gesicherte Ende-zu-Ende Verbindung zwischen dem Endgerät des Nutzers und dem externen Server her. Das Ausführen der browserbasierten Applikation ist dabei bereits bei der Eingabe der Eingabedaten gesichert, weiter dann bei der Ausführung der browserbasierten Applikation in der Browser-Funktionalität des externen Servers und schließlich bei der Ausgabe von Ausgabedaten über die gesicherte Ausgabeschnittstelle des Endgerätes. Eine Manipulation der browserbasierten Applikation, d. h. der Applikation selbst oder von Ein- und/oder Ausgabedaten derselben, kann wie beschrieben verhindert werden. Endgeräteseitig erfolgt eine Absicherung dadurch, dass Ein- und Ausgabedaten vor dem Zugriff durch Schadcode durch die sichere Laufzeitumgebung auf dem Endgerät und die dadurch gesicherten Ein- und Ausgabeschnittstellen geschützt sind. Auch die Datenkommunikation zwischen dem Endgerät und dem externen Server ist durch die gesicherte Datenkommunikationsverbindung vor unerlaubtem Zugriff gesichert. Auf diese Weise kann auch in diesem Abschnitt eine Manipulation ausgeschlossen werden. Schließlich kann auch die browserbasierte Applikation selbst sowie die Ausführung der browserbasierten Applikation durch die Browser-Funktionalität als gesichert angesehen werden, da die Browser-Funktionalität unter der Kontrolle der sicheren Server-Laufzeitumgebung des externen Servers ausgeführt wird.
-
Eine bevorzugte Ausführungsform eines erfindungsgemäßen Systems zum Ausführen einer browserbasierten Applikation für einen Nutzer eines mobilen Endgeräts umfasst demnach folgende Komponenten:
Das System umfasst zumindest ein mobiles Endgerät mit einer sicheren Laufzeitumgebung. Als mobiles Endgerät kann, wie bereits erwähnt, beispielsweise ein mobiles Telekommunikationsendgerät, ein Smartphone, ein Tablet-Computer, ein Notebook, oder dergleichen zum Einsatz kommen. Die sichere Laufzeitumgebung ist eingerichtet, für einen Nutzer des Endgeräts eine gesicherte Eingabeschnittstelle und eine gesicherte Ausgabeschnittstelle der vorstehend beschriebenen Art bereitzustellen.
-
Das System umfasst weiterhin zumindest einen externen Server mit einer sicheren Server-Laufzeitumgebung und einer Browser-Funktionalität. Die Browser-Funktionalität des dabei eingerichtet, unter der Kontrolle der sicheren Server-Laufzeitumgebung betrieben zu werden.
-
Die sichere Laufzeitumgebung des mobilen Endgerätes und die sichere Server-Laufzeitumgebung des externen Servers sind eingerichtet, eine gesicherte Datenkommunikation zwischen dem mobilen Endgerät und dem externen Server aufzubauen. Weiterhin sind die entsprechende Laufzeitumgebungen eingerichtet, Ein- und Ausgabedaten einer durch die Browser-Funktionalität auf dem externen Server ausgeführten browserbasierten Applikation über die gesicherte Datenkommunikationsverbindung zu übertragen und über die gesicherten Ein- und Ausgangsschnittstellen des mobilen Endgerätes Eingabedaten für die browserbasierte Applikation entgegenzunehmen und Ausgabedaten der browserbasierten Applikation auszugeben.
-
Wie bereits erwähnt, kann die Browserfunktionalität dadurch unter der Kontrolle der sicheren Server-Laufzeitumgebung betrieben werden, dass die Browser-Funktionalität in der sicheren Server-Laufzeitumgebung selbst ausgeführt wird. Auf diese Weise kann die höchste Sicherheitsstufe für ein Ausführen der Browser-Funktionalität sowie ein Ausführen einer browserbasierten Applikation durch die Browser-Funktionalität hergestellt werden.
-
Gemäß einer alternativen Ausführungsform kann die Browser-Funktionalität dadurch unter der Kontrolle der sicheren Server-Laufzeitumgebung betrieben werden, dass die Browser-Funktionalität zwar außerhalb der sicheren Server-Laufzeitumgebung ausgeführt wird, dass aber die sichere Server-Laufzeitumgebung die Integrität der Browser-Funktionalität sowie regelmäßig oder unregelmäßig die ordnungsgemäße Ausführung der Browser-Funktionalität prüft. Auf diese Weise kann die Browser-Funktionalität und eine dadurch ausgeführte browserbasierten Applikation sicher ausgeführt werden, wenn auch mit einem Sicherheitsniveau, welches geringfügig unter dem Sicherheitsniveau der zuvor genannten Ausführungsform liegt.
-
Die sichere Server-Laufzeitumgebung kann weiterhin ausgebildet sein, ein so genanntes „Secure Boot” des Servers sicherzustellen. Damit kann insbesondere sichergestellt werden, dass vor dem Start des Betriebssystems keine Schadsoftware in dem Server installiert werden kann. Weiterhin kann die sichere Server-Laufzeitumgebung eingerichtet sein, auch die Integrität des mobilen Endgeräts und/oder die Integrität der darauf installierten und ausgeführten Software zu überprüfen.
-
Wie bereits erwähnt, kann die sichere Server-Laufzeitumgebung durch eine so genannte „Trusted Server Execution Environment” (TSEE), analog einem TEE auf dem mobilen Endgerät, ausgebildet sein. Alternativ kann der externe Server aber auch einen dezidierten Krypto-Prozessor umfassen, welcher die gesicherte Server-Laufzeitumgebung bereitstellt.
-
Als weitere alternative Varianten einer serverseitigen sicheren Laufzeitumgebung kann ein TPM („Trusted Platform Module”) bereitgestellt werden. Auch ein solches Hardwaremittel kann einen „Secure Boot” des Servers sicherstellen und die Integrität der Browser-Funktionalität sowie der weiteren Software-Umgebung beim Start des Servers sicherstellen.
-
Weiter alternativ kann die sichere Server-Laufzeitumgebung mittels eines Hardware-Sicherheitsmoduls (HSM) bereitgestellt werden, welches in gleicher Weise wie das vorstehend genannte TPM operieren kann.
-
Die sichere Server-Laufzeitumgebung kann weiterhin eingerichtet sein, Webseiten, die seitens der Browser-Funktionalität aufgerufen werden, auf Integrität und Sicherheit hin zu prüfen, insbesondere auch aufgerufene browserbasierte Applikationen.
-
Zur Erhöhung der Sicherheit des Verfahrens kann es zusätzlich vorgesehen sein, dass verschiedene Browsersitzungen auf dem externen Server in jeweils eigenen virtuellen Maschinen ausgeführt werden. Dabei kann eine Hypervisor-Funktionalität auf dem Server die verschiedenen Virtualisierungsebenen effektiv absichern. Es kann zusätzlich vorgesehen sein, dass Browsersitzungen nach einer gewissen Zeit zwischen verschiedenen virtuellen Maschinen verschoben werden.
-
Die gesicherte Datenkommunikationsverbindung zwischen dem Endgerät und dem externen Server wird vorzugsweise als eine verschlüsselte Datenkommunikationsverbindung aufgebaut. Dabei können herkömmliche, bekannte Verschlüsselungsverfahren Anwendung finden. Auf diese Weise kann selbst dann verhindert werden, wenn es einem Angreifer gelingt, Daten auf dem Weg zwischen dem Endgerät und dem externen Server auszuspähen, dass der Angreifer sinnvolle Informationen aus den entsprechend ausgelesenen Daten ziehen kann.
-
Eine alternative oder zusätzliche Maßnahme zum Bereitstellen einer gesicherten Datenkommunikationsverbindung besteht darin, die Datenkommunikationsverbindung einseitig oder beidseitig zu authentisieren. Auch hier können herkömmliche Authentisierungsverfahren zur Anwendung kommen. Auf diese Weise kann verhindert werden, dass ein Angreifer sich in den Aufbau der Datenkommunikation einschaltet und sich fälschlicherweise als eine der beiden Parteien, d. h. dem Server gegenüber als Endgerät bzw. dem Endgerät gegenüber als externer Server, ausgibt.
-
Gemäß einer weiteren bevorzugten Variante werden die Ausgabedaten der browserbasierten Applikation dem Endgerät, wie bereits angedeutet, lediglich als Bilddaten, vorzugsweise als Videostream, bereitgestellt. Der Bearbeitungsaufwand im Endgerät wird dadurch minimiert, ohne dass das Ausführen der browserbasierten Applikation dadurch beeinträchtigt wird.
-
Gemäß einer weiteren bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens wird, zusätzlich zu dem bereits beschriebenen externen Server, ein weiterer externer Server bereitgestellt. Bevorzugt ist dieser weitere externe Server physisch getrennt von dem bereits erwähnten externen Server. Der weitere externe Server umfasst eine weitere Browser-Funktionalität. In der Regel wird das Sicherheitsniveau, unter welchem die weitere Browser-Funktionalität auf dem weiteren externen Server ausgeführt wird, von dem Sicherheitsniveau abweichen, unter welchem die Browser-Funktionalität auf dem externen Server unter der Kontrolle der sicheren Server-Laufzeitumgebung ausgeführt wird.
-
Wie nachstehend beschrieben, wird es auf diese Weise möglich, browserbasierte Applikationen, abhängig vom erwünschten Sicherheitsniveau, auf verschiedenen externen Servern auszuführen. Sicherheitsrelevante browserbasierte Applikationen, wie beispielsweise Bezahl-Anwendungen oder dergleichen, können unter einem sehr hohen Sicherheitsniveau ausgeführt werden, während andere browserbasierte Applikationen, welche grundsätzlich nicht sicherheitsrelevant sind, wie beispielsweise Browserspiele oder dergleichen, unter einem herabgesetzten oder herkömmlichen Sicherheitsniveau, über einen anderen Server bereitgestellt werden können.
-
Um dies zu ermöglichen, wird gemäß dieser Ausführungsform anstelle einer gesicherten Datenkommunikation zwischen dem mobilen Endgerät und dem externen Server eine Datenkommunikationsverbindung zwischen dem mobilen Endgerät und dem weiteren externen Server aufgebaut. Diese Datenkommunikationsverbindung kann auch eine gesicherte Datenkommunikationsverbindung sein. Eine browserbasierte Applikation wird dann durch die weitere Browser-Funktionalität des weiteren externen Servers ausgeführt, nicht mehr durch die Browser-Funktionalität auf dem externen Server.
-
Auch gemäß dieser Ausführungsform werden Ein- und Ausgabedaten der browserbasierten Applikation über die zuvor zwischen Endgerät und weiterem externen Server aufgebaute Datenkommunikationsverbindung übertragen. Weiterhin werden auch gemäß dieser Ausführungsform Ein- und Ausgabedaten der browserbasierten Applikation über entsprechende Ein- und Ausgabeschnittstellen des Endgerätes ausgegeben. Es ist dabei möglich, dass die erwähnten gesicherten Ein- und Ausgabeschnittstellen des Endgeräts verwendet werden. Alternativ können auch herkömmliche, ungesicherte Eingabeschnittstellen des Endgeräts zum Eingeben von Eingabedaten sowie ungesicherte Ausgabeschnittstellen des Endgerätes zum Ausgeben von Ausgabedaten verwendet werden.
-
Gemäß einer ersten Variante dieser Ausführungsform kann es vorgesehen sein, dass ein Nutzer des Endgerätes auswählt, welche browserbasierte Applikation auf welchem der bereitstehenden externen Server ausgeführt werden soll. In gewisser Weise kann der Nutzer des Endgeräts einen entsprechenden „Kanal” vor dem Ausführen der browserbasierten Applikation selbst auswählen. Sicherheitsrelevante browserbasierte Applikationen können in einer besonders gesicherten Umgebung auf einem ersten externen Server ausgeführt werden, weniger sicherheitsrelevante Applikationen können auf einem weniger gesicherten zweiten externen Server ausgeführt werden. Weiterhin kann dem Nutzer die Möglichkeit bereitgestellt werden, die Art und den Grad der Absicherung der Datenkommunikation abhängig von der auszuführenden browserbasierten Applikation einzustellen. Schließlich kann dem Nutzer im Zusammenhang mit einer weniger sicherheitsrelevanten Applikation die Möglichkeit gegeben werden, Daten Ein- und/oder Datenausgabe über eine herkömmliche Ein-/Ausgangsschnittstelle des mobilen Endgerätes durchzuführen.
-
Gemäß einer zweiten Variante dieser Ausführungsform kann die Auswahl, auf welchem der externe Server die browserbasierte Applikation ausgeführt werden soll, von einem Auswahl-Server getroffen werden. Der Auswahl-Server wird dabei zwischen dem Endgerät und dem jeweiligen externen Server angeordnet. Der Auswahl-Server kann bei der Auswahl vorgegebenen Auswahlkriterien folgen, welche in dem Server in gesicherte Weise gespeichert sind. Diese Auswahlkriterien können insbesondere von der ausgewählten, auszuführenden browserbasierten Applikation selbst abhängen. Weitere Auswahlkriterien können sein, durch welche Instanz oder Webseite die browserbasierte Applikation bereitgestellt wird. Instanzen, welche als vertrauenswürdig angesehen werden, können von unbekannten oder als nicht vertrauenswürdig angefertigt angesehenen Instanzen unterschieden werden.
-
Die vorliegende Erfindung wird im Folgenden mit Bezug auf die beiliegenden Zeichnungen bespielhaft beschrieben. Darin zeigen:
-
1 Komponenten einer ersten Ausführungsform eines erfindungsgemäßen Systems;
-
2 Schritte einer bevorzugten Ausführungsform eines erfindungsgemäßen Verfahrens und
-
3 Komponenten einer zweiten Ausführungsform eines erfindungsgemäßen Systems.
-
Mit Bezug auf 1 ist ein System 600 zum sicheren Ausführen einer browserbasierten Applikation 210 für einen Nutzer eines mobilen Endgerätes 10 schematisch dargestellt.
-
Das System 600 umfasst ein mobiles Endgerät 10, das in 1 in Form eines Smartphones dargestellt ist. Das Endgerät 10 kann beispielsweise auch als Tablet-Computer, Notebook, Mobilfunkendgerät oder dergleichen ausgebildet sein.
-
Das mobile Endgerät 10 umfasst zusätzlich zu einem gewöhnlichen Betriebssystem (nicht gezeigt) eine sichere Laufzeitumgebung 12. Im gezeigten Beispiel entspricht die sichere Laufzeitumgebung einem in der Einleitung bereits erwähntem „Trusted Execution Environment” (TEE).
-
Das Endgerät 10 umfasst weiterhin eine gesicherte Eingabeschnittstelle 15 und eine gesicherte Ausgabeschnittstellen 16. Im gezeigten Beispiel sind beide Schnittstellen 15, 16 durch ein berührungsempfindliches Display des Endgerätes 10 ausgebildet. Über das Display 16 können beliebige Informationen ausgegeben werden und mittels einer virtuellen Tastatur 15 können beliebige Daten in das Endgerät 10 eingegeben werden. Sowohl die gesicherte Eingabeschnittstelle 15 als auch die gesicherte Ausgabeschnittstelle 16 werden unter der Kontrolle der sicheren Laufzeitumgebung 12 betrieben.
-
Das Endgerät 10 kann weitere Ein- und Ausgabeschnittstellen umfassen (nicht gezeigt). Diese können einerseits ebenfalls von der gesicherten Laufzeitumgebung 12 kontrolliert werden, andererseits in der Weise ungesichert sein, dass sie unter der Kontrolle des gewöhnlichen Betriebssystems des Endgeräts 10 operieren.
-
Das System 600 umfasst weiterhin einen externen Server 100. Der externe Server 100 umfasst, analog zu der sicheren Laufzeitumgebung 12 des Endgeräts 10, eine sichere Server-Laufzeitumgebung 120. Diese kann analog zu einem „Trusted Execution Environment” des Endgeräts 10 ausgebildet sein und wird im gezeigten Beispiel als „Trusted Server Execution Environment” (TSEE) bezeichnet. Ein gewöhnliches Betriebssystem, welches neben der sicheren Laufzeitumgebung 120 des Servers 100 auf dem Server 100 operiert, ist in 1 nicht gezeigt.
-
Auf dem Server 100 wird eine Browser-Funktionalität 200 bereitgestellt, beispielsweise in Form eines gewöhnlichen Webbrowsers. Die Browser-Funktionalität 200 wird im gezeigten Beispiel innerhalb der sicheren Server-Laufzeitumgebung 120 ausgeführt. Eine durch die Browser-Funktionalität 200 ausführbare browserbasierte Applikation 210 ist exemplarisch dargestellt.
-
Eine Datenkommunikationsverbindung 500 zwischen dem Endgerät 10 und dem Server 100 kann über ein beliebiges Datenkommunikationsnetzwerk 1000 erfolgen, beispielsweise über ein Mobilfunknetzwerk oder über das Internet.
-
Die sichere Laufzeitumgebung 12 des mobilen Endgeräts 10 und die sichere Server-Laufzeitumgebung 120 des externen Server 100 sind eingerichtet, eine gesicherte Datenkommunikationsverbindung 500 zwischen dem Endgerät 10 und dem externen Server 100 aufzubauen. Aus Sicht eines Nutzers des Endgerätes 10 befindet sich der externe Server 100 „in der Cloud”.
-
Mit Bezug auf 2 wird im Folgenden beschrieben, wie ein System nach 1 verwendet werden kann, um es einem Nutzer eines mobilen Endgerätes 10 zu ermöglichen, auf sichere Weise eine browserbasierte Applikation 210 auszuführen.
-
In einem ersten Schritt S1 wird ein mobiles Endgerät 10 mit einer sicheren Laufzeitumgebung 12 (TEE) bereitgestellt. In einem Teilschritt TS1.1 wird in dem Endgerät 10 eine gesicherte Eingabeschnittstelle 15 und eine gesicherte Ausgabeschnittstelle 16 bereitgestellt, welche unter der Kontrolle der gesicherten Laufzeitumgebung 12 operieren.
-
In analoger Weise wird in Schritt S2 ein externer Server 100 mit einer sicheren Server-Laufzeitumgebung (TSEE) 120 bereitgestellt. Auf dem Server 100 wird eine Browser-Funktionalität 200 bereitgestellt, welche eingerichtet ist, unter der Kontrolle der sicheren Server-Laufzeitumgebung 120 ausgeführt zu werden, wie dies mit Bezug auf Teilschritt TS2.1 dargestellt ist.
-
In Schritt S3 wird eine gesicherte Datenkommunikationsverbindung 500 zwischen dem mobilen Endgerät 10 und dem externen Server 100 über die sichere Laufzeitumgebung 12 des mobilen Endgeräts 10 und die sichere Server-Laufzeitumgebung 120 des externen Servers 100 aufgebaut. Vorzugsweise ist diese gesicherte Datenkommunikationsverbindung 500 verschlüsselt und beidseitig authentisiert.
-
In Schritt S4 kann nun eine browserbasierte Applikation 210 durch die Browser-Funktionalität 200 auf dem externen Server 100 ausgeführt werden. Wie mit Bezug auf die Teilschritte TS4.1 und TS4.2 dargestellt, werden dazu Ein- und Ausgabedaten der browserbasierten Applikation 210 über die zuvor aufgebaute, gesicherte Datenkommunikationsverbindung 500 übertragen. Weiterhin erfolgt eine Ein- und Ausgabe der Ein- und Ausgabedaten über die gesicherten Schnittstellen 15, 16 des mobilen Endgeräts 10.
-
Auf diese Weise kann die browserbasierte Applikation 210 für den Nutzer des Endgeräts 10 effizient und in vollständig gesicherter Weise ausgeführt werden. Ein- und Ausgabedaten sind endgeräteseitigt dadurch geschützt, dass die entsprechenden Schnittstellen 15, 16 von der sicheren Laufzeitumgebung 12 des Endgeräts 10 kontrolliert werden. Eine Übertragung von Ein- und Ausgabedaten zwischen dem Endgerät 10 und dem externen Server 100 ist dadurch manipulationsgeschützt, dass die entsprechende Datenkommunikationsverbindung gesichert ist, vorzugsweise, wie erwähnt, verschlüsselt und beidseitig authentisiert. Eine Manipulation von Anwendungsdaten auf der Seite des Servers 100 kann dadurch ausgeschlossen werden, dass die Browser-Funktionalität 200, welche die browserbasierte Applikation 210 ausführt, unter der Kontrolle der sicheren Server-Laufzeitumgebung 120 ausgeführt wird. Diese stellt überdies sicher, dass die browserbasierte Applikation 210 selbst nicht manipuliert ist oder Schadcode umfasst.
-
Ein nachfolgend beschriebenes, erweitertes Verfahren kann mithilfe eines erweiterten Systems 600', welches in 3 gezeigt ist, durchgeführt werden.
-
Das System 600' gemäß 3 umfasst zusätzlich zu dem System 600 aus 1 einen weiteren externen Server 100', welcher vorzugsweise physisch von dem externen Server 100 getrennt ist. Der weitere externe Server 100' umfasst ebenfalls eine geeignete sichere Server-Laufzeitumgebung TSEE', welche eingerichtet ist, die Integrität und Ausführung einer weiteren Browser-Funktionalität 200' zu kontrollieren. Diese Browser-Funktionalität 200' ist eingerichtet, in gewöhnlicher Weise eine browserbasierte Applikation 210 auszuführen. Es versteht sich, dass zusätzliche externe Server vorgesehen sein können, welche in entsprechender Weise, d. h. wie der externe Server 100 oder der weitere externe Server 100', ausgebildet sind.
-
Ein Unterscheidungsmerkmal, welches die beiden Server 100, 100' unterscheidet, ist das Sicherheitsniveau, unter welchem eine browserbasierte Applikation 210 auf dem jeweiligen Server 100, 100' ausgeführt wird.
-
Wie mit Bezug auf 1 bereits erläutert, wird die Browser-Funktionalität 200 auf dem Server 100 in der sicheren Server-Laufzeitumgebung 120 selbst ausgeführt. Dadurch wird ein sehr hohes Sicherheitsniveau erreicht. Im Gegensatz dazu wird die Browser-Funktionalität 200' auf den Server 100' nicht in der sicheren Server-Laufzeitumgebung 120', sondern als gewöhnliche Applikation unter dem gewöhnlichen Server-Betriebssystem (nicht gezeigt) ausgeführt. Die sichere Server-Laufzeitumgebung 120' kontrolliert allerdings vor dem Start der Browser-Funktionalität 200' deren Integrität, so dass das Starten einer manipulierten Browser-Funktionalität 200' ausgeschlossen werden kann. Weiterhin prüft die sichere Server-Laufzeitumgebung 120' auf dem weiteren externen Server 100' in regelmäßigen oder unregelmäßigen Abständen die Ausführung der Browser-Funktionalität 200', um solche Manipulationen auszuschließen, welche während des Betriebs der Browser-Funktionalität 200' erfolgen.
-
In einer weiter abgeschwächter Weise kann es beispielsweise vorgesehen sein, einen zusätzlichen externen Server (nicht gezeigt) vorzusehen, welcher über keine sichere Laufzeitumgebung verfügt, sondern lediglich über ein herkömmliches Server-Betriebssystem, d. h. dessen Browser-Funktionalität ohne weitere Sicherheitsmaßnahmen unter der Kontrolle des Server-Betriebssystems ausgeführt wird.
-
Ein solches in 3 gezeigtes System 600' erlaubt es nun, das mit Bezug auf 2 beschriebene Verfahren zu modifizieren und zu erweitern.
-
Die browserbasierte Applikation 210 kann mittels des modifizierten Systems 600' unter verschiedenen Sicherheitsniveaus ausgeführt werden. Besonders sicherheitsrelevante Applikationen 210, wie beispielsweise eine Bezahl-Applikation, können weiterhin in der mit Bezug auf 2 beschriebenen, vollständig gesicherten Weise durch die Browser-Funktionalität 200 auf dem externen Server 100 unter der Kontrolle der gesicherten Server-Laufzeitumgebung 120 ausgeführt werden.
-
Eine weniger sicherheitsrelevante browserbasierte Applikation 210 könnte dann alternativ durch die Browser-Funktionalität 200' auf dem externen Server 100' ausgeführt werden. Die dazu zwischen dem Endgerät 10 und dem externen Server 100' aufgebaute Datenkommunikationsverbindung 500, 500' könnte in gleicher Weise gesichert sein wie die zuvor beschriebene Datenkommunikationsverbindung 500 zwischen den Endgerät 10 und dem externen Server 100. Auf eine entsprechende Absicherung könnte aber auch graduell oder vollständig verzichtet werden.
-
Die Auswahl, auf welchem der zur Verfügung stehenden externen Server 100, 100' eine browserbasierte Applikation 210 nun ausgeführt werden soll, kann einerseits, wie mit Bezug auf 3 schematisch dargestellt, durch einen Auswahl-Server 300 getroffen werden. Ein solcher Auswahl-Server 300 wird in dem System 600' zwischen dem Endgerät 10 und den entsprechenden externen Servern 100, 100' angeordnet. D. h. eine Datenkommunikation zwischen dem Endgerät 10 und einem der beiden externen Server 100, 100' verläuft über den Auswahl-Server 300.
-
In dem Auswahl-Server 300 können verschiedene Auswahl-Vorgaben gespeichert sein, welche definieren, welcher der zur Verfügung stehenden externen Server 100, 100' ausgewählt werden soll, um eine spezifische browserbasierte Applikation 210 auszuführen. Dabei kann insbesondere die browserbasierte Applikation 210 selbst ein Entscheidungskriterium sein. Weitere Kriterien können beispielsweise die Instanz oder Seite sein, welche die browserbasierte Applikation herausgibt oder anbietet.
-
Alternativ kann es vorgesehen sein, dass der Nutzer des Endgeräts 10 selbst entscheidet, auf welchem der zur Verfügung stehenden externen Server 100, 100' eine seitens des Nutzers aufgerufene browserbasierte Applikation 210 ausgeführt werden soll. Mit anderen Worten kann der Nutzer selbst auswählen, zu welchem der zur Verfügung stehenden externen Server 100, 100' eine Datenkommunikationsverbindung 500, 500' aufgebaut werden soll.
-
In dem Fall, dass das Ausführen der entsprechenden browserbasierten Applikation 210 ein herabgesetztes Sicherheitsniveau zulässt, kann der Nutzer vorzugsweise selbst entscheiden, unter welchen Sicherheitsbedingungen die browserbasierte Applikation 210 ausgeführt werden soll. Dazu kann der Nutzer beispielsweise entscheiden, wie stark die Datenkommunikationsverbindung 500, 500' zwischen dem Endgerät 10 und dem ausgewählten externen Server 100' gesichert werden soll (verschlüsselt, und falls ja, auf welche Weise; authentisiert, und falls ja, ein- oder zweiseitig und auf Basis welcher Schlüssel oder Zertifikate). Weiter kann nutzerseitig vorgegeben werden, ob die gesicherten Ein- und Ausgabeschnittstellen 15, 16 zur Datenein- und -ausgabe verwendet werden sollen, oder ob zusätzliche oder alternative herkömmliche, d. h. im Wesentlichen ungesicherte Ein- und Ausgabeschnittstellen verwendet werden können.
-
Auf diese Weise wird es möglich, ausgewählte browserbasierte Applikationen 210 in dem mit Bezug auf 3 schematisch dargestellten System 600' unter spezifisch ausgewählten Sicherheitsbedingungen auszuführen. Vorzugsweise existieren dabei in dem Endgerät 10 und/oder dem Auswahl-Server 300 Einstellungen, welche es notwendig machen, dass besonders sicherheitsrelevante Applikationen 210 lediglich auf vollständig gesicherte Weise, d. h. wie mit Bezug auf 2 beschrieben, ausgeführt werden können. Das Gleiche kann für Applikationen 210 vorgesehen sein, die von nicht bekannten oder als nicht vertrauenswürdig angesehener Seite angeboten oder herausgegeben werden.