DE102014007789A1 - Browser-based application - Google Patents

Browser-based application Download PDF

Info

Publication number
DE102014007789A1
DE102014007789A1 DE102014007789.6A DE102014007789A DE102014007789A1 DE 102014007789 A1 DE102014007789 A1 DE 102014007789A1 DE 102014007789 A DE102014007789 A DE 102014007789A DE 102014007789 A1 DE102014007789 A1 DE 102014007789A1
Authority
DE
Germany
Prior art keywords
secure
browser
server
runtime environment
external server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102014007789.6A
Other languages
German (de)
Inventor
Daniel Albert
Denny Brandl
Michael Fiedler
Johannes Luyken
Frank Schäfer
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
GIESECKE+DEVRIENT MOBILE SECURITY GERMANY GMBH, DE
Original Assignee
Giesecke and Devrient GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Giesecke and Devrient GmbH filed Critical Giesecke and Devrient GmbH
Priority to DE102014007789.6A priority Critical patent/DE102014007789A1/en
Publication of DE102014007789A1 publication Critical patent/DE102014007789A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/08Access security
    • H04W12/086Access security using security domains
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0272Virtual private networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • H04L67/025Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Telephone Function (AREA)

Abstract

Ein Verfahren zum sicheren Ausführen einer browserbasierten Applikation (210) für einen Nutzer eines mobilen Endgerätes (10) umfasst die folgenden Schritte: Ein mobiles Endgerät mit einer sicheren Laufzeitumgebung (12) wird bereitgestellt (S1), welches eine gesicherte Eingabeschnittstelle (15) und eine gesicherte Ausgabeschnittstelle (16) des Endgeräts kontrolliert (TS1.1). Weiter wird ein externer Server (100) mit einer sicheren Server-Laufzeitumgebung (120) und einer Browser-Funktionalität (200) bereitgestellt (S2), welcher unter der Kontrolle der Server-Laufzeitumgebung betrieben wird (TS2.1). 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 (S3). Die browserbasierte Applikation wird dann durch die Browser-Funktionalität auf dem externen Server ausgeführt (S4), wobei Ein- und Ausgabedaten der browserbasierten Applikation über die gesicherte Datenkommunikationsverbindung übertragen (TS4.1) und Ein- und Ausgabedaten der browserbasierten Applikation über die gesicherten Schnittstelle ein- und ausgegeben werden (TS4.2).A method for securely executing a browser-based application (210) for a user of a mobile terminal (10) comprises the following steps: A mobile terminal with a secure runtime environment (12) is provided (S1) having a secure input interface (15) and a secured output interface (16) of the terminal (TS1.1). Furthermore, an external server (100) with a secure server runtime environment (120) and a browser functionality (200) is provided (S2) which is operated under the control of the server runtime environment (TS2.1). Secured data communication is then established between the mobile terminal and the external server via the secure runtime environment of the mobile terminal and the secure server runtime environment (S3). The browser-based application is then executed by the browser functionality on the external server (S4), wherein input and output data of the browser-based application via the secure data communication connection transmitted (TS4.1) and input and output data of the browser-based application via the secure interface - and output (TS4.2).

Description

Die vorliegende Erfindung betrifft ein Verfahren und ein System zum sicheren Ausführen einer browserbasierten Applikation für einen Nutzer eines mobilen Endgeräts.The present invention relates to a method and a system for the secure execution of a browser-based application for a user of a mobile terminal.

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.A browser-based application in the sense of the present invention is an application which at least partially functions in a browser functionality, ie. H. a conventional web browser. For carrying out the browser-based application, data communication with a web server is generally required, on which the application is at least partially executed. Such browser-based applications are currently very popular because they are easy to use for the user without the need to install the application on the terminal. Furthermore, these applications can be executed by the corresponding browser as a rule independently of an operating system installed on the user's terminal.

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.Mobile terminals, such as smartphones or tablets, are often the target of attacks by malicious code, such as so-called "Trojans", "keyloggers" or the like. Corresponding threats can at least be limited by the use of a secure runtime environment, for example a "Trusted Execution Environ- ment" (TEE) according to the GlobalPlatform TM Specification. Particularly security-relevant applications, such as payment applications or authentication applications, can then be executed in such a secure runtime environment. Malware then has no access to it.

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.However, browser-based applications can not be protected in this way. This is because a browser functionality for executing a browser-based application usually can not be executed in a secure runtime environment of a mobile terminal. For this, the resources provided by the secure runtime environment (computing capacity, storage capacity) are currently insufficient.

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.The object of the present invention is therefore to propose a method and a system for the secure execution of a browser-based application for a user of a mobile terminal.

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.This object is achieved by a method and a system having the features of the independent claims. Advantageous embodiments and further developments are specified in the dependent claims.

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.The present invention is based on the idea of providing the browser functionality not in the terminal itself but in an external server. Between the terminal of the user and the external server, an end-to-end secured data communication connection is established, which connects a secure runtime environment of the terminal with a correspondingly secured server runtime environment of the server. In addition, the secure runtime environment of the terminal manages a secure input and output interface of the terminal. The server runtime, in turn, controls the browser functionality for running a browser-based application. The terminal is then provided via the secure data communication connection only output data of the browser-based application, for example in the form of a video stream.

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.
More specifically, a preferred embodiment for securely executing a browser-based application for a user of a mobile terminal comprises the following steps:
It provides a mobile terminal with a secure runtime environment. As mentioned, the secure runtime environment may, for example, be configured as a "Trusted Execution Environment" according to the GlobalPlatform Specification. Such secure runtime environment typically exists on the terminal in addition to a common operating system such as Android. The secure runtime environment can be provided by a specific hardware architecture, such as ARM TrustZone ®. Alternatively, it is also possible to provide a secure runtime environment through a combination of hardware and software. Basically, a secure runtime environment can also be formed only by software means.

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.In the terminal, a secure input interface and a secure output interface is provided in a further step. The input interface is used in the usual way for entering data into the terminal, in particular for entering secret data, such as a PIN, a TAN, a password and the like.

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.According to a preferred embodiment, the secure input interface is provided as a secure keyboard. The keyboard can be a conventional physical keyboard. Alternatively, the keyboard can also be designed as a virtual keyboard on a touch-sensitive display of the terminal.

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.It is essential for the present invention that the secure input interface be under the control of the secure runtime environment of the Terminal is operated. In this way, even in the case that the terminal, ie the environment controlled by the ordinary operating system of the terminal, is infected by malicious code, an input to the terminal, which is via the secure input interface, can not be intercepted by the malicious code and / or manipulated.

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.In a similar manner, a secure output interface is provided on the terminal. The secure output interface is also operated under the control of the secure runtime environment. In this way, it is effectively prevented that an output can be read out and / or manipulated by malicious code located on the terminal. According to a preferred embodiment of the method, the secure output interface is provided as a secure display. Such a secure output interface is used in particular for outputting security-relevant data, for example a one-time password (OTP) or the like, but also for outputting other valuable contents.

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.According to a particularly preferred embodiment, both the secure input interface and the secure output interface are provided by a touch-sensitive display of the terminal.

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.It is understood that alternatively or additionally further input and / or output interfaces can be provided, which are secured in the same way, d. H. operate under the control of the secure runtime environment of the terminal. Possible input and output interfaces can be provided for example by a microphone and / or a loudspeaker of the terminal. In this way, a secure voice-based communication with the terminal is possible.

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.On the other hand, at least one secure external server with a secure server runtime environment is provided. The secure server runtime environment operates in an analogous manner to the secure runtime environment of the terminal. Ie. the server typically includes a conventional operating system that operates in addition to and alongside the secure server runtime environment. Security-relevant applications can be executed in the server runtime environment or under control of the server runtime environment. Furthermore, the secure server runtime environment can control and secure communication and other interfaces of the server.

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.A browser functionality is provided on the external server. As mentioned earlier, this browser functionality operates under the control of the secure server runtime environment. According to a preferred variant, the browser functionality is executed in the secure server runtime environment itself. In contrast to the mobile terminal with its limited resources, server hardware is capable of performing such a complex application as browser functionality even in a secure server runtime environment.

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.Secured data communication is then established between the mobile terminal and the external server via the secure runtime environment of the mobile terminal and the secure server runtime environment. The structure of the data communication can take place via any suitable communication network, for example via a mobile radio network and / or the 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.Finally, the browser-based application is executed by the browser functionality on the external server. Input and output data of the browser-based application are transmitted via the secure data communication connection. Furthermore, input data for the browser-based application are entered via the secure input interface of the mobile terminal and output data of the browser-based application are output via the secure output interface of the mobile terminal.

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.In the manner described, the browser-based application for the user of the mobile terminal can be executed in a completely secure manner. The method establishes a secure end-to-end connection between the user's terminal and the external server. The execution of the browser-based application is already secured when entering the input data, then continue with the execution of the browser-based application in the browser functionality of the external server and finally in the output of output data via the secure output interface of the terminal. A manipulation of the browser-based application, ie the application itself or of input and / or output data of the same, can be prevented as described. At the terminal end, protection is provided by the fact that input and output data are protected from access by malicious code by the secure runtime environment on the terminal and the input and output interfaces secured thereby. The data communication between the terminal and the external server is secured by the secure data communication connection against unauthorized access. In this way, a manipulation can be excluded in this section. Finally, the browser-based application itself and the execution of the browser-based application by the browser functionality can be considered as secured because the browser functionality runs under the control of the external server's secure server runtime environment.

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.
A preferred embodiment of a system according to the invention for executing a browser-based application for a user of a mobile terminal accordingly comprises the following components:
The system comprises at least one mobile terminal with a secure runtime environment. As already mentioned, a mobile telecommunication terminal, a smartphone, a tablet computer, a notebook or the like can be used as the mobile terminal. The secure runtime environment is set up to provide a secure input interface and a secure output interface of the type described above to a user of the terminal.

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.The system further includes at least one external server with a secure server runtime environment and browser functionality. The browser functionality of being set up to operate under the control of the secure server runtime environment.

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.The secure runtime environment of the mobile terminal and the secure server runtime environment of the external server are set up to establish secure data communication between the mobile terminal and the external server. Furthermore, the corresponding runtime environments are set up to transmit input and output data of a browser-based application executed by the browser functionality on the external server via the secure data communication connection and to accept input data for the browser-based application via the secure input and output interfaces of the mobile terminal and output data of the output browser-based application.

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.As mentioned earlier, the browser functionality can be operated under the control of the secure server runtime environment by running the browser functionality in the secure server runtime environment itself. In this way, the highest security level for performing the browser functionality and running a browser-based application can be made by the browser functionality.

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.According to an alternative embodiment, the browser functionality may be operated under the control of the secure server runtime environment, while the browser functionality is executed outside of the secure server runtime environment, but that the secure server runtime environment preserves the integrity of the browser functionality as well Regularly or irregularly checks the proper execution of the browser functionality. In this way, the browser functionality and a browser-based application executed thereby can be safely executed, albeit with a security level slightly below the security level of the aforementioned embodiment.

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.The secure server runtime environment can also be designed to ensure a so-called "secure boot" of the server. This can be ensured in particular that no malware can be installed in the server before the start of the operating system. Furthermore, the secure server runtime environment may be set up to also check the integrity of the mobile device and / or the integrity of the software installed and executed thereon.

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.As already mentioned, the secure server runtime environment can be formed by a so-called "Trusted Server Execution Environment" (TSEE), analogous to a TEE on the mobile terminal. Alternatively, however, the external server may also include a dedicated crypto processor that provides the secure server runtime environment.

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.As a further alternative variants of a server-side secure runtime environment, a TPM ("Trusted Platform Module") can be provided. Even such a hardware means can ensure a "secure boot" of the server and ensure the integrity of the browser functionality and the other software environment when starting the server.

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.Still alternatively, the secure server runtime environment may be provided by means of a hardware security module (HSM) which may operate in the same way as the aforementioned TPM.

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.The secure server runtime environment may also be set up to check for integrity and security of web pages called by the browser functionality, especially browser-based applications that are called.

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.To increase the security of the method, it can additionally be provided that different browser sessions are executed on the external server in their own virtual machines. Hypervisor functionality on the server can effectively hedge the various layers of virtualization. It can additionally be provided that browser sessions are moved after a certain time between different virtual machines.

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. The secure data communication connection between the terminal and the external server is preferably established as an encrypted data communication connection. In this case, conventional, known encryption methods can be used. In this way, even if an attacker succeeds in spying on data on the way between the terminal and the external server, it can be prevented that the attacker can extract meaningful information from the correspondingly read-out data.

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.An alternative or additional measure for providing a secure data communication connection is to authenticate the data communication connection on one or both sides. Again, conventional authentication methods can be used. In this way, an attacker can be prevented from becoming involved in the establishment of data communication and mistakenly identified as one of the two parties, i. H. opposite the server as a terminal or the terminal opposite as an external server, outputs.

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.According to a further preferred variant, the output data of the browser-based application to the terminal, as already indicated, only as image data, preferably as a video stream, provided. The processing effort in the terminal is thereby minimized without affecting the execution of the browser-based application.

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.According to a further preferred embodiment of the method according to the invention, in addition to the external server already described, another external server is provided. Preferably, this further external server is physically separate from the already mentioned external server. The additional external server includes another browser functionality. In general, the level of security under which the other browser functionality will be executed on the other external server will differ from the level of security under which the browser functionality is executed on the external server under the control of the secure server runtime environment.

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.As described below, this makes it possible to run browser-based applications on different external servers, depending on the desired level of security. Security-relevant browser-based applications, such as payment applications or the like, can be executed at a very high security level, while other browser-based applications, which are fundamentally non-security-relevant, such as browser games or the like, under a reduced or conventional security level, provided via another server can be.

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.In order to make this possible, instead of secure data communication between the mobile terminal and the external server, a data communication connection is established between the mobile terminal and the further external server according to this embodiment. This data communication connection can also be a secure data communication connection. A browser-based application is then executed by the additional browser functionality of the other external server, not by the browser functionality on the external 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.Also according to this embodiment, input and output data of the browser-based application are transmitted via the previously established between the terminal and further external server data communication connection. Furthermore, according to this embodiment, input and output data of the browser-based application are output via corresponding input and output interfaces of the terminal. It is possible that the mentioned secure input and output interfaces of the terminal are used. Alternatively, conventional unsecured input interfaces of the terminal for inputting input data and unsecured output interfaces of the terminal for outputting output data may also be used.

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.According to a first variant of this embodiment, it may be provided that a user of the terminal selects which browser-based application is to be executed on which of the available external servers. In some ways, the user of the terminal may select a corresponding "channel" before running the browser-based application himself. Security-relevant browser-based applications can be executed in a particularly secure environment on a first external server, less security-relevant applications can be executed on a less secure second external server. Furthermore, the user can be provided with the option of setting the type and degree of protection of the data communication depending on the browser-based application to be executed. Finally, in connection with a less security-relevant application, the user can be given the option of performing data input and / or data output via a conventional input / output interface of the mobile terminal.

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.According to a second variant of this embodiment, the selection on which the external server the browser-based application is to be executed, be taken by a selection server. The selection server is arranged between the terminal and the respective external server. The selection server may follow in the selection predetermined selection criteria stored in the server in a secure manner. These selection criteria may depend in particular on the selected, browser-based application to be executed itself. Further selection criteria may be by which instance or website the browser-based application is provided. Instances that are considered trustworthy can be distinguished by unknown or untrusted instances.

Die vorliegende Erfindung wird im Folgenden mit Bezug auf die beiliegenden Zeichnungen bespielhaft beschrieben. Darin zeigen:The present invention will be described below by way of example with reference to the accompanying drawings. Show:

1 Komponenten einer ersten Ausführungsform eines erfindungsgemäßen Systems; 1 Components of a first embodiment of a system according to the invention;

2 Schritte einer bevorzugten Ausführungsform eines erfindungsgemäßen Verfahrens und 2 Steps of a preferred embodiment of a method according to the invention and

3 Komponenten einer zweiten Ausführungsform eines erfindungsgemäßen Systems. 3 Components of a second embodiment of a system according to the invention.

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.Regarding 1 is a system 600 for the secure execution of a browser-based application 210 for a user of a mobile terminal 10 shown schematically.

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.The system 600 includes a mobile terminal 10 , this in 1 is shown in the form of a smartphone. The terminal 10 may for example be designed as a tablet computer, notebook, mobile device or the like.

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).The mobile device 10 includes a secure runtime environment in addition to a common operating system (not shown) 12 , In the example shown, the secure runtime environment corresponds to a Trusted Execution Environment (TEE) already mentioned in the introduction.

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.The terminal 10 also includes a secure input interface 15 and a secure output interface 16 , In the example shown, both interfaces 15 . 16 through a touch-sensitive display of the terminal 10 educated. About the display 16 Any information can be output and by means of a virtual keyboard 15 can any data in the terminal 10 be entered. Both the secure input interface 15 as well as the secure output interface 16 Be under the control of the secure runtime environment 12 operated.

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.The terminal 10 may include further input and output interfaces (not shown). On the one hand, these can also be derived from the secure runtime environment 12 on the other hand be unsecured in such a way that they are under the control of the ordinary operating system of the terminal 10 operate.

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.The system 600 also includes an external server 100 , The external server 100 includes, analogous to the secure runtime environment 12 of the terminal 10 , a secure server runtime environment 120 , This can be analogous to a "Trusted Execution Environment" of the terminal 10 be formed and is referred to in the example shown as "Trusted Server Execution Environment" (TSEE). An ordinary operating system, in addition to the secure runtime environment 120 of the server 100 on the server 100 operates, is in 1 Not shown.

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.On the server 100 becomes a browser functionality 200 provided, for example in the form of a standard web browser. The browser functionality 200 In the example shown, this is within the secure server runtime environment 120 executed. One through the browser functionality 200 executable browser-based application 210 is shown as an example.

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.A data communication connection 500 between the terminal 10 and the server 100 can over any data communication network 1000 carried out, for example via a mobile network or via the 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”.The secure runtime environment 12 of the mobile terminal 10 and the secure server runtime environment 120 the external server 100 are set up, a secured data communication connection 500 between the terminal 10 and the external server 100 build. From the perspective of a user of the terminal 10 is the external server 100 "In the 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.Regarding 2 is described below as a system after 1 can be used to make it a user of a mobile device 10 to securely enable a browser-based application 210 perform.

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 a first step S1 becomes a mobile terminal 10 with a secure runtime environment 12 (TEE) provided. In a substep TS1.1 is in the terminal 10 a secure input interface 15 and a secure output interface 16 provided under the control of the secured runtime environment 12 operate.

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 an analogous manner, in step S2, an external server 100 with a secure server Runtime environment (TSEE) 120 provided. On the server 100 becomes a browser functionality 200 provided, which is set up under the control of the secure server runtime environment 120 to be executed as shown with reference to substep TS2.1.

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 step S3, a secured data communication connection 500 between the mobile device 10 and the external server 100 over the secure runtime environment 12 of the mobile terminal 10 and the secure server runtime environment 120 the external server 100 built up. Preferably, this secure data communication connection 500 encrypted and authenticated on both sides.

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.In step S4 can now be a browser-based application 210 through the browser functionality 200 on the external server 100 be executed. As shown with reference to the substeps TS4.1 and TS4.2, input and output data of the browser-based application are added 210 via the previously established secure data communication connection 500 transfer. Furthermore, an input and output of the input and output data via the secure interfaces 15 . 16 of the mobile terminal 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.In this way, the browser-based application 210 for the user of the terminal 10 be performed efficiently and in a fully secured manner. Input and output data are protected at the end of the terminal in that the corresponding interfaces 15 . 16 from the safe runtime environment 12 of the terminal 10 to be controlled. A transmission of input and output data between the terminal 10 and the external server 100 is tamper-resistant in that the corresponding data communication connection is secured, preferably, as mentioned, encrypted and authenticated on both sides. A manipulation of application data on the server side 100 This can be ruled out by the browser functionality 200 which is the browser-based application 210 running under the control of the secure server runtime environment 120 is performed. This also ensures that the browser-based application 210 itself is not tampered with or contains malicious code.

Ein nachfolgend beschriebenes, erweitertes Verfahren kann mithilfe eines erweiterten Systems 600', welches in 3 gezeigt ist, durchgeführt werden.An extended procedure described below can be performed using an advanced system 600 ' which is in 3 is shown to be performed.

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.The system 600 ' according to 3 includes in addition to the system 600 out 1 another external server 100 ' which is preferably physically from the external server 100 is disconnected. The other external server 100 ' also includes a suitable secure server runtime environment TSEE ', which is set up to ensure the integrity and performance of another browser functionality 200 ' to control. This browser functionality 200 ' is set up, in the usual way a browser-based application 210 perform. It is understood that additional external servers can be provided, which in a corresponding manner, ie as the external server 100 or the other external server 100 ' , are formed.

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.A distinguishing feature which the two servers 100 . 100 ' is the security level under which a browser-based application 210 on the respective server 100 . 100 ' is performed.

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.As with respect to 1 already explained, the browser functionality 200 on the server 100 in the secure server runtime environment 120 even executed. This achieves a very high level of safety. In contrast, the browser functionality 200 ' on the server 100 ' not in the secure server runtime environment 120 ' but executed as a common application under the ordinary server operating system (not shown). The secure server runtime 120 ' controls however before the start of the browser functionality 200 ' their integrity, allowing the start of a manipulated browser functionality 200 ' can be excluded. Furthermore, the secure server runtime environment checks 120 ' on the other external server 100 ' at regular or irregular intervals the execution of the browser functionality 200 ' in order to exclude such manipulation, which during operation of the browser functionality 200 ' respectively.

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.In a further weakened manner, provision may be made, for example, for providing an additional external server (not shown) which does not have a secure runtime environment but only a conventional server operating system, ie. H. its browser functionality is executed without further security measures under the control of the server operating system.

Ein solches in 3 gezeigtes System 600' erlaubt es nun, das mit Bezug auf 2 beschriebene Verfahren zu modifizieren und zu erweitern.Such in 3 shown system 600 ' now allows that with respect to 2 to modify and extend the method described.

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.The browser-based application 210 can by means of the modified system 600 ' be executed under different security levels. Particularly safety-relevant applications 210 , such as a payment application, can continue in the with reference to 2 described, fully secured way through the browser functionality 200 on the external server 100 under the control of the secured server runtime 120 be executed.

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.A less secure browser-based application 210 could then alternatively by the browser functionality 200 ' on the external server 100 ' be executed. The to between the terminal 10 and the external server 100 ' established data communication connection 500 . 500 ' could be secured in the same way as the previously described data communication connection 500 between the terminal 10 and the external server 100 , However, a corresponding safeguard could also be waived gradually or completely.

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.The selection on which the available external server 100 . 100 ' a browser-based application 210 can now be executed, on the one hand, as with respect to 3 schematically represented by a selection server 300 to be hit. Such a selection server 300 will be in the system 600 ' between the terminal 10 and the corresponding external servers 100 . 100 ' arranged. Ie. a data communication between the terminal 10 and one of the two external servers 100 . 100 ' passes through the selection 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.In the selection server 300 For example, various selection defaults may be stored which define which of the available external servers 100 . 100 ' should be selected to a specific browser-based application 210 perform. In particular, the browser-based application 210 itself a decision criterion. Further criteria may be, for example, the instance or page which publishes or offers the browser-based application.

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.Alternatively, it may be provided that the user of the terminal 10 even decides on which of the available external servers 100 . 100 ' a browser-based application called by the user 210 to be executed. In other words, the user can himself choose to which of the available external servers 100 . 100 ' a data communication connection 500 . 500 ' should be built.

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.In the event that running the appropriate browser-based application 210 If a reduced level of security permits, the user can preferably decide for himself under what security conditions the browser-based application 210 to be executed. For example, the user can decide how strong the data communication connection 500 . 500 ' between the terminal 10 and the selected external server 100 ' to be secured (encrypted, and if so, how, authenticated, and if so, one or two-sided and based on which keys or certificates). Furthermore, the user can specify whether the secure input and output interfaces 15 . 16 to be used for data input and output, or whether additional or alternative conventional, ie substantially unsecured input and output interfaces can be used.

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.In this way it becomes possible, selected browser-based applications 210 in the respect to 3 schematically illustrated system 600 ' under specifically selected safety conditions. Preferably exist in the terminal 10 and / or the selection server 300 Settings that make it necessary for particularly security-relevant applications 210 only in a fully secured manner, ie as related to 2 described, can be executed. The same can be done for applications 210 provided or published by unknown or untrusted sites.

Claims (15)

Verfahren zum sicheren Ausführen einer browserbasierten Applikation (210) für einen Nutzer eines mobilen Endgeräts (10), umfassend die Schritte: – Bereitstellen (S1) eines mobilen Endgeräts (10) mit einer sicheren Laufzeitumgebung (12); – Bereitstellen (TS1.1) einer gesicherten Eingabeschnittstelle (15) und einer gesicherten Ausgabeschnittstelle (16) auf dem mobilen Endgerät (10) für den Nutzer des mobilen Endgeräts (10), wobei die Schnittstellen (15, 16) unter der Kontrolle der sicheren Laufzeitumgebung (12) des mobilen Endgeräts (10) betrieben werden; – Bereitstellen (S2) eines externen Servers (100) mit einer sicheren Server-Laufzeitumgebung (120); – Bereitstellen (S2.1) einer Browser-Funktionalität (200) auf dem externen Server (100), welche unter der Kontrolle der sicheren Server-Laufzeitumgebung (120) betrieben wird; – Aufbauen (S3) einer gesicherter 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); – Ausführen (S4) der browserbasierten Applikation (210) durch die Browser-Funktionalität (200) auf dem externen Server (100), wobei Ein- und Ausgabedaten der browserbasierten Applikation (210) über die gesicherte Datenkommunikationsverbindung (500) übertragen (TS4.1) und über die gesicherte Ein- und Ausgabeschnittstelle (15, 16) des mobilen Endgeräts ein- und ausgegeben (TS4.2) werden.Method for the secure execution of a browser-based application ( 210 ) for a user of a mobile terminal ( 10 ), comprising the steps: - providing (S1) a mobile terminal ( 10 ) with a secure runtime environment ( 12 ); - providing (TS1.1) a secure input interface ( 15 ) and a secure output interface ( 16 ) on the mobile terminal ( 10 ) for the user of the mobile terminal ( 10 ), the interfaces ( 15 . 16 ) under the control of the secure runtime environment ( 12 ) of the mobile terminal ( 10 ) operate; Providing (S2) an external server ( 100 ) with a secure server runtime environment ( 120 ); Providing (S2.1) a browser functionality ( 200 ) on the external server ( 100 ), which are under the control of the secure server runtime environment ( 120 ) is operated; Establishing (S3) a secured data communication connection ( 500 ) between the mobile terminal ( 10 ) and the external server ( 100 ) via the secure runtime environment ( 12 ) of the mobile terminal ( 10 ) and the secure server runtime environment ( 120 ) of the external server ( 100 ); - Execute (S4) the browser-based application ( 210 ) by the browser functionality ( 200 ) on the external server ( 100 ), whereby input and output data of the browser-based application ( 210 ) via the secure data communication connection ( 500 ) (TS4.1) and via the secure input and output interface ( 15 . 16 ) of the mobile terminal are input and output (TS4.2). Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Browser-Funktionalität (200) dadurch unter der Kontrolle der sicheren Server-Laufzeitumgebung betrieben (120) wird, dass die Browser-Funktionalität (200) in der sicheren Server-Laufzeitumgebung (120) ausgeführt wird. Method according to claim 1, characterized in that the browser functionality ( 200 ) under the control of the secure server runtime environment ( 120 ), that the browser functionality ( 200 ) in the secure server runtime environment ( 120 ) is performed. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Browser-Funktionalität (200) dadurch unter der Kontrolle der sicheren Server-Laufzeitumgebung (120) betrieben wird, dass die Browser-Funktionalität (200) außerhalb der sicheren Server-Laufzeitumgebung (120) ausgeführt wird, wobei die sichere Server-Laufzeitumgebung (120) die Integrität der Browser-Funktionalität (200) sowie deren ordnungsgemäße Ausführung prüft.Method according to claim 1, characterized in that the browser functionality ( 200 ) under the control of the secure server runtime environment ( 120 ) that the browser functionality ( 200 ) outside the secure server runtime environment ( 120 ), whereby the secure server runtime environment ( 120 ) the integrity of the browser functionality ( 200 ) and their proper execution. Verfahren nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass als gesicherte Eingabeschnittstelle (15) eine gesicherte, vorzugsweise virtuelle Tastatur bereitgestellt wird.Method according to one of claims 1 to 3, characterized in that as a secure input interface ( 15 ) a secured, preferably virtual keyboard is provided. Verfahren nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, dass als gesicherte Ausgabeschnittstelle (16) ein gesichertes Display bereitgestellt wird.Method according to one of claims 1 to 4, characterized in that as a secure output interface ( 16 ) a secured display is provided. Verfahren nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, dass die gesicherte Datenkommunikationsverbindung (500) als verschlüsselte Datenkommunikationsverbindung aufgebaut wird.Method according to one of claims 1 to 5, characterized in that the secure data communication connection ( 500 ) is established as an encrypted data communication connection. Verfahren nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, dass die gesicherte Datenkommunikationsverbindung (500) als ein- oder beidseitig authentisierte Datenkommunikationsverbindung aufgebaut wird.Method according to one of claims 1 to 6, characterized in that the secure data communication connection ( 500 ) is established as a one or both sides authenticated data communication connection. Verfahren nach einem der Ansprüche 1 bis 7, dadurch gekennzeichnet, dass Ausgabedaten der browserbasierten Applikation (210) dem Endgerät (10) als Bilddaten, vorzugweise als Videostream, bereitgestellt werden.Method according to one of claims 1 to 7, characterized in that output data of the browser-based application ( 210 ) the terminal ( 10 ) are provided as image data, preferably as a video stream. Verfahren nach einem der Ansprüche 1 bis 8, dadurch gekennzeichnet, dass zumindest ein weiterer externer Server (100') mit einer weiteren Browser-Funktionalität (200') bereitgestellt wird, wobei sich das Sicherheitsniveau, unter welchem die weitere Browser-Funktionalität (200') auf dem weiteren externen Server (100') ausgeführt wird, von dem Sicherheitsniveau unterscheidet, unter welchem die Browser-Funktionalität (200) auf dem externen Server (100) unter der Kontrolle der sicheren Server-Laufzeitumgebung (120) ausgeführt wird.Method according to one of claims 1 to 8, characterized in that at least one further external server ( 100 ' ) with another browser functionality ( 200 ' ), the security level under which the further browser functionality ( 200 ' ) on the other external server ( 100 ' ) is different from the security level under which the browser functionality ( 200 ) on the external server ( 100 ) under the control of the secure server runtime environment ( 120 ) is performed. Verfahren nach Anspruch 9, dadurch gekennzeichnet, dass, anstelle einer gesicherten Datenkommunikationsverbindung (500) zwischen dem mobilen Endgerät (100) und dem externen Server (100), eine Datenkommunikationsverbindung (500, 500') zwischen dem mobilen Endgerät (10) und dem weiteren externen Server (100') aufgebaut wird, und dass die browserbasierte Applikation (210) durch die weitere Browser-Funktionalität (200') des weiteren externen Servers (100) anstelle der Browser-Funktionalität (200) des externen Servers (100) ausgeführt wird, wobei Ein- und Ausgabedaten der browserbasierten Applikation (210) über die Datenkommunikationsverbindung (500, 500') übertragen und über Ein- und Ausgabeschnittstellen (15, 16) des mobilen Endgeräts (10) ein- und ausgegeben werden.A method according to claim 9, characterized in that, instead of a secure data communication connection ( 500 ) between the mobile terminal ( 100 ) and the external server ( 100 ), a data communication connection ( 500 . 500 ' ) between the mobile terminal ( 10 ) and the other external server ( 100 ' ) and that the browser-based application ( 210 ) by the further browser functionality ( 200 ' ) of the further external server ( 100 ) instead of the browser functionality ( 200 ) of the external server ( 100 ), wherein input and output data of the browser-based application ( 210 ) via the data communication connection ( 500 . 500 ' ) and via input and output interfaces ( 15 . 16 ) of the mobile terminal ( 10 ) are input and output. Verfahren nach Anspruch 10, dadurch gekennzeichnet, dass der externe Server (100; 100'), auf welchem die browserbasierte Applikation (210) ausgeführt werden soll, nutzerseitig auswählbar ist.Method according to claim 10, characterized in that the external server ( 100 ; 100 ' ) on which the browser-based application ( 210 ) is to be executed, user-selectable. Verfahren nach Anspruch 10, dadurch gekennzeichnet, dass die Auswahl, auf welchem der externen Server (100; 100') die browserbasierte Applikation (210) ausgeführt werden soll, von einem Auswahl-Server (300) getroffen wird.Method according to claim 10, characterized in that the selection on which the external server ( 100 ; 100 ' ) the browser-based application ( 210 ) from a selection server ( 300 ) is taken. System (600; 600') zum sicheren Ausführen einer browserbasierten Applikation (210) für einen Nutzer eines mobilen Endgeräts (10), umfassend: – ein mobiles Endgerät (10) mit einer sicheren Laufzeitumgebung (12), wobei die sichere Laufzeitumgebung (12) eingerichtet ist, für einen Nutzer des Endgeräts (10) eine gesicherte Eingabeschnittstelle (15) und eine gesicherte Ausgabeschnittstelle (16) bereitzustellen; – einen externen Server (100) mit einer sicheren Server-Laufzeitumgebung (120) und einer Browser-Funktionalität (200), welche eingerichtet ist, unter der Kontrolle der sicheren Server-Laufzeitumgebung (120) betrieben zu werden, wobei die sichere Laufzeitumgebung (12) des mobilen Endgeräts (10) und die sichere Server-Laufzeitumgebung (120) des externen Servers (100) eingerichtet sind, – eine gesicherte Datenkommunikationsverbindung (500) zwischen dem mobilen Endgerät (10) und dem externen Server (100) aufzubauen und – Ein- und Ausgabedaten einer durch die Browser-Funktionalität (200) auf dem externen Server (100) ausgeführten browserbasierten Applikation (210) über die gesicherte Datenkommunikationsverbindung (500) zu übertragen und über die gesicherte Ein- und Ausgabeschnittstelle (15, 16) des mobilen Endgeräts (10) entgegenzunehmen und auszugegeben.System ( 600 ; 600 ' ) for the secure execution of a browser-based application ( 210 ) for a user of a mobile terminal ( 10 ), comprising: - a mobile terminal ( 10 ) with a secure runtime environment ( 12 ), whereby the secure runtime environment ( 12 ) is set up for a user of the terminal ( 10 ) a secure input interface ( 15 ) and a secure output interface ( 16 ) to provide; - an external server ( 100 ) with a secure server runtime environment ( 120 ) and a browser functionality ( 200 ), which is set up under the control of the secure server runtime environment ( 120 ), whereby the secure runtime environment ( 12 ) of the mobile terminal ( 10 ) and the secure server runtime environment ( 120 ) of the external server ( 100 ), - a secured data communication connection ( 500 ) between the mobile terminal ( 10 ) and the external server ( 100 ) and - input and output data through the browser functionality ( 200 ) on the external server ( 100 ) browser-based application ( 210 ) via the secure data communication connection ( 500 ) and via the secure input and output interface ( 15 . 16 ) of the mobile terminal ( 10 ) and issued. System (600') nach Anspruch 13, weiter umfassend – einen weiteren externen Server (100') mit einer weiteren Browser-Funktionalität (200'), wobei sich das Sicherheitsniveau, unter welchem die Browser-Funktionalität (200') auf dem weiteren externen Server (100') ausgeführt werden kann, von dem Sicherheitsniveau unterscheidet, unter welchem die Browser-Funktionalität (200) auf dem externen Server (100) unter der Kontrolle der sicheren Server-Laufzeitumgebung (120) ausgeführt werden kann, wobei die Laufzeitumgebung (12) des mobilen Endgeräts (10) und der weitere externe Server (100') eingerichtet sind, – eine Datenkommunikationsverbindung (500, 500) zwischen dem mobilen Endgerät (10) und dem weiteren externen Server (100') aufzubauen und – Ein- und Ausgabedaten einer durch die Browser-Funktionalität (200') auf dem weiteren externen Server (100') ausgeführten browserbasierten Applikation (210) über die Datenkommunikationsverbindung (500, 500') zu übertragen und über Ein- und Ausgabeschnittstellen (15, 16) des mobilen Endgeräts (10) entgegenzunehmen und auszugegeben.System ( 600 ' ) according to claim 13, further comprising - another external server ( 100 ' ) with another browser functionality ( 200 ' ), whereby the security level under which the browser Functionality ( 200 ' ) on the other external server ( 100 ' ) is different from the security level under which the browser functionality ( 200 ) on the external server ( 100 ) under the control of the secure server runtime environment ( 120 ), the runtime environment ( 12 ) of the mobile terminal ( 10 ) and the other external server ( 100 ' ), - a data communication connection ( 500 . 500 ) between the mobile terminal ( 10 ) and the other external server ( 100 ' ) and - input and output data through the browser functionality ( 200 ' ) on the other external server ( 100 ' ) browser-based application ( 210 ) via the data communication connection ( 500 . 500 ' ) and via input and output interfaces ( 15 . 16 ) of the mobile terminal ( 10 ) and issued. System (600') nach Anspruch 13 oder 14, weiter umfassend – einen Auswahl-Server (300), welcher zwischen dem mobilen Endgerät (10) und den externen Servern (100; 100') angeordnet ist und welcher eingerichtet ist auszuwählen, auf welchem der externen Server (100; 100') die browserbasierte Applikation (210) ausgeführt werden soll.System ( 600 ' ) according to claim 13 or 14, further comprising - a selection server ( 300 ), which between the mobile terminal ( 10 ) and the external servers ( 100 ; 100 ' ) and which is set up to select which of the external servers ( 100 ; 100 ' ) the browser-based application ( 210 ) to be executed.
DE102014007789.6A 2014-05-23 2014-05-23 Browser-based application Pending DE102014007789A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102014007789.6A DE102014007789A1 (en) 2014-05-23 2014-05-23 Browser-based application

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102014007789.6A DE102014007789A1 (en) 2014-05-23 2014-05-23 Browser-based application

Publications (1)

Publication Number Publication Date
DE102014007789A1 true DE102014007789A1 (en) 2015-11-26

Family

ID=54431527

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102014007789.6A Pending DE102014007789A1 (en) 2014-05-23 2014-05-23 Browser-based application

Country Status (1)

Country Link
DE (1) DE102014007789A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE112005003513T5 (en) * 2005-03-23 2008-02-07 Beijing Lenovo Software Ltd. security chip
DE102009052389A1 (en) * 2009-11-09 2011-05-12 Giesecke & Devrient Gmbh Method for secure interaction with a security element
WO2013079113A1 (en) * 2011-12-01 2013-06-06 Fundacio Privada Barcelona Digital Centre Tecnologic Secure cloud browsing client-server system and method of secure remote browsing using the same

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE112005003513T5 (en) * 2005-03-23 2008-02-07 Beijing Lenovo Software Ltd. security chip
DE102009052389A1 (en) * 2009-11-09 2011-05-12 Giesecke & Devrient Gmbh Method for secure interaction with a security element
WO2013079113A1 (en) * 2011-12-01 2013-06-06 Fundacio Privada Barcelona Digital Centre Tecnologic Secure cloud browsing client-server system and method of secure remote browsing using the same

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
GRUSCHKA, N. [et al.]: Browser as a Service (BaaS): Security and Performance Enhancements for the Rich Web, 17th GI/ITG Conference on Communication in Distributed Systems (KiVS'11), 11 March 2011 (2011-03-11), XP55023357, DOI: 10.4230/OASIcs.KiVS. 2011.208, URL: http://drops.dagstuhl.de/opus/volltexte/2011/2975/pdf/22.pdf [recherchiert im Internet am 19.01.2015] *
PAJUNEN, L. [et al.]: Position Paper for Workshop on Declarative Models of Distributed Web, Nokia Research Center, Nokia Corporation, 2007, Applications, URL: (http://www.w3.org/2007/02/dmdwa-ws/), [recherchiert im Internet am 23.01.2015] *

Similar Documents

Publication Publication Date Title
DE102004062203B4 (en) Data processing device, telecommunication terminal and method for data processing by means of a data processing device
DE102007057900B4 (en) Authenticate suspicious data using keytables
WO2014075830A1 (en) Method and arrangement for secure communication between network units in a communication network
EP2764464A1 (en) Microprocessor system with secured runtime environment
DE102009052389A1 (en) Method for secure interaction with a security element
WO2020074354A1 (en) Method and device for isolating sensitive non-trusted program code on mobile terminals
DE112010004580T5 (en) Secure pin management of a user-trusted unit
EP3403214B1 (en) Method and apparatus for providing a cryptographic security function for the operation of a device
EP2434424A1 (en) Method for increasing the security of security-relevant online services
WO2016096118A1 (en) Method for operating a computer unit, and such a computer unit
EP3497606B1 (en) Individual encryption of control commands
DE102014007789A1 (en) Browser-based application
DE102009048756B4 (en) A method and key device for enhancing the security of an encrypted data store from which a computer boots
EP3105899B1 (en) Method for starting up a production computer system
AT503263A2 (en) DEVICE FOR CREATING DIGITAL SIGNATURES
EP2863605B1 (en) Mobile end device system with safety operation system
DE102010052246A1 (en) Method for access to an operating system, removable storage medium and use of a removable storage medium
DE102008051578A1 (en) Data communication with a portable device
EP2569726B1 (en) Method for checking whether program instructions have been executed by a portable terminal
DE202007002971U1 (en) Digital signatures generating device for e.g. personal computer, has smart card read/write device for connecting smart card, and interface that is connected to computer by protocol that is provided in operating system of computer
EP3109788B1 (en) Micro-core based user environment, network architecture and secure back end for preventing information loss
EP4307147A1 (en) Application program for generating environment information
DE102011015967B4 (en) Method for decrypting digital data
EP1890269B1 (en) Provision of a function of a security token
DE102020133065A1 (en) Interactive confirmation platform for conditionally dependent relations

Legal Events

Date Code Title Description
R163 Identified publications notified
R081 Change of applicant/patentee

Owner name: GIESECKE+DEVRIENT MOBILE SECURITY GMBH, DE

Free format text: FORMER OWNER: GIESECKE & DEVRIENT GMBH, 81677 MUENCHEN, DE

R012 Request for examination validly filed
R081 Change of applicant/patentee

Owner name: GIESECKE+DEVRIENT EPAYMENTS GMBH, DE

Free format text: FORMER OWNER: GIESECKE+DEVRIENT MOBILE SECURITY GMBH, 81677 MUENCHEN, DE

Owner name: GIESECKE+DEVRIENT MOBILE SECURITY GERMANY GMBH, DE

Free format text: FORMER OWNER: GIESECKE+DEVRIENT MOBILE SECURITY GMBH, 81677 MUENCHEN, DE

R081 Change of applicant/patentee

Owner name: GIESECKE+DEVRIENT MOBILE SECURITY GERMANY GMBH, DE

Free format text: FORMER OWNER: GIESECKE+DEVRIENT EPAYMENTS GMBH, 81677 MUENCHEN, DE