DE102014007789A1 - Browser-based application - Google Patents
Browser-based application Download PDFInfo
- 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
Links
- 238000004891 communication Methods 0.000 claims abstract description 51
- 238000000034 method Methods 0.000 claims abstract description 25
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring 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/53—Monitoring 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/08—Access security
- H04W12/086—Access security using security domains
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0272—Virtual private networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L67/025—Protocols 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:
Mit Bezug auf
Das System
Das mobile Endgerät
Das Endgerät
Das Endgerät
Das System
Auf dem Server
Eine Datenkommunikationsverbindung
Die sichere Laufzeitumgebung
Mit Bezug auf
In einem ersten Schritt S1 wird ein mobiles Endgerät
In analoger Weise wird in Schritt S2 ein externer Server
In Schritt S3 wird eine gesicherte Datenkommunikationsverbindung
In Schritt S4 kann nun eine browserbasierte Applikation
Auf diese Weise kann die browserbasierte Applikation
Ein nachfolgend beschriebenes, erweitertes Verfahren kann mithilfe eines erweiterten Systems
Das System
Ein Unterscheidungsmerkmal, welches die beiden Server
Wie mit Bezug auf
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
Die browserbasierte Applikation
Eine weniger sicherheitsrelevante browserbasierte Applikation
Die Auswahl, auf welchem der zur Verfügung stehenden externen Server
In dem Auswahl-Server
Alternativ kann es vorgesehen sein, dass der Nutzer des Endgeräts
In dem Fall, dass das Ausführen der entsprechenden browserbasierten Applikation
Auf diese Weise wird es möglich, ausgewählte browserbasierte Applikationen
Claims (15)
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)
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 |
-
2014
- 2014-05-23 DE DE102014007789.6A patent/DE102014007789A1/en active Pending
Patent Citations (3)
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)
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 |