CH701203B1 - The portable apparatus and method for securely exchanging data with a remote computer. - Google Patents

The portable apparatus and method for securely exchanging data with a remote computer. Download PDF

Info

Publication number
CH701203B1
CH701203B1 CH01812/10A CH18122010A CH701203B1 CH 701203 B1 CH701203 B1 CH 701203B1 CH 01812/10 A CH01812/10 A CH 01812/10A CH 18122010 A CH18122010 A CH 18122010A CH 701203 B1 CH701203 B1 CH 701203B1
Authority
CH
Switzerland
Prior art keywords
module
application
data
executed
read
Prior art date
Application number
CH01812/10A
Other languages
German (de)
Inventor
Thomas Avedik
Stephane Martignoni
Original Assignee
Crealogix Holding Ag
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 Crealogix Holding Ag filed Critical Crealogix Holding Ag
Publication of CH701203B1 publication Critical patent/CH701203B1/en

Links

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/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/34User authentication involving the use of external additional devices, e.g. dongles or smart cards

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer And Data Communications (AREA)

Abstract

In einem tragbaren Gerät (1), das ein Speichermedium umfasst, das mit einem Computer (2) verbindbar ist, wird ein Browser (120) in einem Nurlese-Speicherbereich (12) gespeichert. Bei Verbindung mit dem Computer (2) wird der Browser aus dem tragbaren Gerät (1) zur Ausführung in den Computer (2) geladen. Der Browser ist dafür ausgelegt, jegliche durch den ausgeführten Browser (20) zur Laufzeit erzeugten oder empfangenen Arbeitsdaten zu verschlüsseln und in einer versteckten Speicherzone eines Lese-/Schreib-Speicherbereichs (13) im tragbaren Gerät (1) zu speichern und in dieser versteckten Speicherzone gespeicherte Arbeitsdaten (131) je nach Bedarf zur Laufzeit abzurufen und zu entschlüsseln. Die sichere Speicherung der Laufzeit-Arbeitsdaten durch den ausgeführten Browser (20) schützt die Arbeitsdaten (131) davor, böswillig abgefangen, kopiert und/oder verändert zu werden. Das Speichern der Arbeitsdaten im externen tragbaren Gerät (1) lässt während und/oder nach der Ausführung des Browsers keine Spuren im Computer (2) zurück.In a portable device (1) comprising a storage medium connectable to a computer (2), a browser (120) is stored in a read-only memory area (12). When connected to the computer (2), the browser is loaded from the portable device (1) for execution in the computer (2). The browser is adapted to encrypt any working data generated or received by the executed browser (20) at runtime and to store it in a hidden memory zone of a read / write memory area (13) in the portable device (1) and in that hidden memory area stored working data (131) as needed at runtime and decrypt. The secure storage of the run-time work data by the executed browser (20) protects the work data (131) from being maliciously intercepted, copied and / or altered. The saving of the work data in the external portable device (1) does not leave any traces in the computer (2) during and / or after the execution of the browser.

Description

Technisches GebietTechnical area

[0001] Die vorliegende Erfindung betrifft ein tragbares Gerät und ein Kommunikationsverfahren zum sicheren Austauschen von Daten über ein Telekommunikationsnetz zwischen einem lokalen Computer und einem fernen Computer. Insbesondere betrifft die vorliegende Erfindung ein Kommunikationsverfahren, das ein tragbares Gerät verwendet, das Folgendes umfasst: ein Speichermedium, das mit einem Computer verbindbar ist, ein in einem Nurlese-Speicherbereich des Speichermediums gespeichertes Browser-Modul und einen Launcher, der dafür ausgelegt ist, das Browser-Modul bei Verbindung mit dem Computer zur Ausführung in den Computer zu laden. The present invention relates to a portable device and a communication method for securely exchanging data over a telecommunication network between a local computer and a remote computer. More particularly, the present invention relates to a communication method using a portable device, comprising: a storage medium connectable to a computer, a browser module stored in a read-only storage area of the storage medium, and a launcher adapted to Browser module when connected to the computer for execution in the computer to load.

Stand der TechnikState of the art

[0002] Zum sicheren Austauschen von Daten über ein Telekommunikationsnetz, insbesondere über ein öffentliches Netz wie das Internet, müssen Massnahmen getroffen werden, um böswillige und/oder unbeabsichtigte Manipulationen von teilnehmenden Softwareanwendungen zu vermeiden, die sich potentiell negativ auf die Integrität und/oder Privatsphäre ausgetauschter Daten auswirken. Es ist üblich und beliebt, Anwendungen und Dienste im Internet für Zugang durch herkömmliche Browser bereitzustellen. Dies hat den Vorteil, dass Benutzern keine speziellen Client-Programme zum Zugreifen auf diese Dienste bereitgestellt werden müssen. Durch die Flexibilität herkömmlicher Browser werden diese andererseits anfällig für böswillige Attacken. Zum Beispiel wird es durch die Möglichkeit, die Konfiguration eines Browsers durch Plug-ins und Add-ons zu verändern, möglich, Schadprogramme in den Browser aufzunehmen. Ausserdem ist es möglich, Sicherheits- und Datenintegritätsattacken durchzuführen, indem von einem Browser zur Laufzeit verwendete Arbeitsdaten, z.B. sitzungsspezifische Daten wie Sitzungs-Logs, Cookies (d.h. HTTP-Cookies, Tracking-Cookies oder Web-Cookies, die zum Authentifizieren oder Verfolgen und Führen von spezifischen Informationen über Benutzer verwendet werden) oder Cache-gespeicherte Daten (z.B. Cache-gespeicherte Web-Dokumente, HTML-Seiten, Bilder usw.), manipuliert werden. For securely exchanging data over a telecommunications network, particularly over a public network such as the Internet, measures must be taken to prevent malicious and / or unintentional manipulation of participating software applications potentially having a negative impact on integrity and / or privacy exchange data. It is common and popular to provide Internet applications and services for access by conventional browsers. This has the advantage that users do not need to be provided with any special client programs to access these services. The flexibility of traditional browsers makes them vulnerable to malicious attacks. For example, the ability to change the configuration of a browser through plug-ins and add-ons makes it possible to include malicious programs in the browser. In addition, it is possible to perform security and data integrity attacks by using working data used by a browser at runtime, e.g. session-specific data such as session logs, cookies (ie HTTP cookies, tracking cookies or web cookies used to authenticate or track and maintain specific information about users) or cached data (eg cached web documents , HTML pages, images, etc.).

[0003] US 2008/0 034 210 beschreibt ein Gerät mit einem Speichermedium, das mit einem Computer verbindbar ist, und einen gehärteten selbständigen Browser, der auf dem Speichermedium gespeichert ist. Herkömmliche Webbrowser können nicht im selbständigen Modus laufen. Der gehärtete Browser von US 2008/0 034 210 ist ein modifizierter Web-Browser, der für selbständigen Betrieb auf einem Nurlese-Datenträger ausgelegt ist. Gemäss US 2008/0 034 210 wird der Browser durch spezifische Sicherheitseinstellungen gehärtet, wie zum Beispiel Begrenzung der Kommunikation auf eine Liste von browsebaren Adressen, Erzwingung verschlüsselter Kommunikation, Erzwingung gegenseitiger Authentifikation und/oder Verhinderung von Zugriff auf sicherheitsbezogene Browser-Optionen. Das Gerät umfasst ferner eine Ladevorrichtung, die auf einem Nurlese-Teil des Speichermediums gespeichert ist und eine Integritätsprüfung an dem Browser ausführt, bevor der Browser im Debug-Modus gestartet wird, um dadurch ein Debug-Handle zu benutzen und zu verhindern, dass andere Programme die Browser-Softwarekomponenten debuggen. Obwohl der selbständige Browser von US 2008/0 034 210 verbesserte Sicherheit gewährleistet, ist die Funktionalität und/oder Flexibilität des selbständigen Browsers verringert, da Laufzeit-Arbeitsdaten durch den selbständigen Browser bei einer strikten selbständigen Implementierung auf Nurlesespeicher nicht gespeichert werden können. US 2008/0 034 210 describes a device having a storage medium connectable to a computer and a hardened standalone browser stored on the storage medium. Traditional web browsers can not run in standalone mode. The hardened browser of US 2008/0 034 210 is a modified web browser designed for stand-alone operation on a read only medium. According to US 2008/0 034 210, the browser is hardened by specific security settings, such as limiting communication to a list of browsable addresses, enforcing encrypted communication, enforcing mutual authentication and / or preventing access to security-related browser options. The device further includes a loader stored on a read-only portion of the storage medium and performs an integrity check on the browser before the browser is launched in debug mode to thereby use a debug handle and prevent other programs debug the browser software components. Although the stand-alone browser of US 2008/0 034 210 ensures improved security, the functionality and / or flexibility of the standalone browser is reduced, since runtime work data can not be stored by the stand-alone browser in a strict stand-alone implementation on read-only memory.

Kurzfassung der ErfindungSummary of the invention

[0004] Eine Aufgabe der vorliegenden Erfindung ist die Bereitstellung eines tragbaren Geräts und eines Kommunikationsverfahrens zum sicheren Austauschen von Daten über ein Telekommunikationsnetz zwischen Computern, wobei bei einem solchen tragbaren Gerät und einem solchen Kommunikationsverfahren die Nachteile des Stands der Technik nicht vorkommen. Insbesondere ist es eine Aufgabe der vorliegenden Erfindung, ein tragbares Gerät und ein Datenkommunikationsverfahren, das das tragbare Gerät verwendet, bereitzustellen, wobei das tragbare Gerät Folgendes umfasst: ein Speichermedium, das mit einem Computer verbindbar ist, einen in einem Nurlese-Speicherbereich des Speichermediums gespeicherten Browser und einen Launcher, der dafür ausgelegt ist, den Browser bei Verbindung mit dem Computer zur Ausführung in den Computer zu laden, wobei nicht verhindert wird, dass der ausgeführte Browser Laufzeit-Arbeitsdaten speichert und abruft. An object of the present invention is to provide a portable device and a communication method for securely exchanging data over a telecommunication network between computers, wherein the disadvantages of the prior art do not exist in such a portable device and such a communication method. In particular, it is an object of the present invention to provide a portable device and a data communication method using the portable device, the portable device comprising: a storage medium connectable to a computer stored in a read only memory area of the storage medium A browser and a launcher adapted to load the browser into the computer when connected to the computer while not preventing the running browser from saving and retrieving runtime work data.

[0005] Gemäss der vorliegenden Erfindung werden diese Aufgaben durch die Merkmale der unabhängigen Ansprüche gelöst. Zusätzlich folgen weitere vorteilhafte Ausführungsformen aus den abhängigen Ansprüchen und der Beschreibung. According to the present invention, these objects are achieved by the features of the independent claims. In addition, further advantageous embodiments follow from the dependent claims and the description.

[0006] Gemäss der vorliegenden Erfindung werden die oben erwähnten Aufgaben dadurch gelöst, dass in einem tragbaren Gerät, das ein Speichermedium, das mit einem Computer verbindbar ist, ein in einem Nurlese-Speicherbereich des Speichermediums gespeichertes Browser-Modul und einen Launcher, der dafür ausgelegt ist, das Browser-Modul bei Verbindung mit dem Computer zur Ausführung in den Computer zu laden, umfasst, das ausgeführte Browser-Modul dafür ausgelegt ist, bei Ausführung im Computer in einem Lese-/Schreib-Speicherbereich des tragbaren Geräts durch das ausgeführte Browser-Modul zur Laufzeit erzeugte oder empfangene Arbeitsdaten des tragbaren Geräts sicher zu speichern und sicher im Lese-/Schreibspeicher gespeicherte Arbeitsdaten je nach Bedarf des ausgeführten Browser-Moduls zur Laufzeit abzurufen. Zu den Laufzeit-Arbeitsdaten des ausgeführten Browsers gehören zum Beispiel Sitzungs-Logs, Cache-Daten und/oder Cookies. Zum Beispiel umfasst das tragbare Gerät eine USB-Schnittstelle (Universal Serial Bus) zur Verbindung des Speichermediums mit dem Computer. Vorzugsweise ist das Browser-Modul als ein gehärteter Browser konfiguriert, der eine Einrichtung aufweist, die Exponierung gegenüber potentiellen Sicherheitsgefahren verringert. Vorzugsweise ist mindestens ein Teil des Lese-/Schreib-Speicherbereichs im tragbaren Gerät als eine versteckte Speicherzone eingerichtet, und das Browser-Modul ist dafür ausgelegt, bei Ausführung im Computer die durch das ausgeführte Browser-Modul zur Laufzeit erzeugten oder empfangenen Arbeitsdaten in der versteckten Speicherzone zu speichern und die vom ausgeführten Browser-Modul zur Laufzeit benötigten Arbeitsdaten aus der versteckten Speicherzone abzurufen. Vorzugsweise ist das Browser-Modul dafür ausgelegt, bei Ausführung im Computer zusätzlich oder als Alternative die durch das ausgeführte Browser-Modul zur Laufzeit erzeugten oder empfangenen Arbeitsdaten zu verschlüsseln und im Lese-/Schreib-Speicherbereich zu speichern und die vom ausgeführten Browser-Modul zur Laufzeit benötigten Arbeitsdaten aus dem Lese-/Schreib-Speicherbereich abzurufen und zu entschlüsseln. Das sichere Speichern und Abrufen der Laufzeit-Arbeitsdaten des Browsers durch den Browser ermöglichen den Schutz der Arbeitsdaten davor, durch unautorisierte Programmentitäten, z.B. Schadprogramme, die dafür ausgelegt sind, sogenannte Man-in-the-Middle-Attacken zu versuchen, abgefangen, kopiert und/oder verändert zu werden. Das Speichern der Laufzeit-Arbeitsdaten des ausgeführten Browsers im Speichermedium des externen tragbaren Geräts hat darüber hinaus den Vorteil, dass während und/oder nach der Ausführung des ausgeführten Browsers keine Spuren auf dem lokalen Computer zurückgelassen werden («Zero Foot Prints»). According to the present invention, the above-mentioned objects are achieved in that in a portable device having a storage medium connectable to a computer, a browser module stored in a read-only storage area of the storage medium and a launcher therefor is configured to load the browser module into the computer when connected to the computer for execution, the executed browser module is adapted to, when executed in the computer in a read / write memory area of the portable device by the executed browser -Module safely generate stored or received work data of the portable device at runtime and safely retrieve stored in the read / write memory working data as needed by the running browser module at runtime. The running time data of the executed browser include, for example, session logs, cache data and / or cookies. For example, the portable device includes a USB (Universal Serial Bus) interface for connecting the storage medium to the computer. Preferably, the browser module is configured as a hardened browser having a facility that reduces exposure to potential security threats. Preferably, at least a portion of the read / write memory area in the portable device is set up as a hidden memory zone, and the browser module is adapted, when executed in the computer, for the working data generated or received at runtime by the executed browser module in the hidden one Save storage zone and retrieve the working data required by the running browser module at runtime from the hidden storage zone. Preferably, the browser module is designed to additionally or alternatively encode the work data generated or received by the executed browser module during runtime and to store it in the read / write memory area and the browser module executed by the executed browser module Runtime needed work data from the read / write memory area to retrieve and decrypt. The secure storage and retrieval of browser runtime data by the browser allows the protection of the work data from being corrupted by unauthorized program entities, e.g. Malicious programs designed to attempt, intercept, copy and / or modify so-called man-in-the-middle attacks. Saving the runtime work data of the running browser in the storage medium of the external portable device has the further advantage that during and / or after the execution of the running browser no traces left on the local computer ("Zero Foot Prints").

[0007] Bei einer Ausführungsform wird das Browser-Modul in verschlüsselter Form im Nurlese-Speicherbereich gespeichert, und der Launcher ist dafür ausgelegt, das Browser-Modul vor dem Laden des Browser-Moduls in den Computer zu entschlüsseln. Dieses zusätzliche Sicherheitsmerkmal verhindert ein böswilliges Verändern des Browser-Moduls. In one embodiment, the browser module is stored in encrypted form in the read only memory area, and the launcher is configured to decrypt the browser module prior to loading the browser module into the computer. This additional security feature prevents a malicious modification of the browser module.

[0008] Vorzugsweise umfasst das Browser-Modul ein eingebettetes Transportschicht-Sicherheitsmodul zum Sichern der Browser-Kommunikation über das Telekommunikationsnetz. Die Integration des Transportschicht-Sicherheitsmoduls in den Browser verhindert Attacken auf die Daten, die andernfalls im Computer zwischen dem ausgeführten Browser und einem separaten Transportschicht-Sicherheitsmodul ausgetauscht werden. Preferably, the browser module comprises an embedded transport layer security module for securing the browser communication over the telecommunication network. The integration of the transport layer security module into the browser prevents attacks on the data that would otherwise be exchanged on the computer between the running browser and a separate transport layer security module.

[0009] Bei einer Ausführungsform umfasst das tragbare Gerät ferner ein Anwendungsmodul, z.B. eine E-Banking-Anwendung, das im Nurlese-Speicherbereich gespeichert und dafür ausgelegt ist, bei Ausführung im Computer Anwendungsdaten, z.B. Finanz-(E-Banking-)Daten, die durch das ausgeführte Anwendungsmodul empfangen und/oder erzeugt werden, sicher im Lese-/Schreib-Speicherbereich zu speichern, und Anwendungsdaten, z.B. Finanz-(E-Banking-)Daten, die sicher im Lese-/Schreib-Speicherbereich gespeichert sind, abzurufen und zum ausgeführten Browser-Modul zu leiten. Wie oben im Kontext der Laufzeit-Arbeitsdaten des ausgeführten Browsers beschrieben wurde, werden die Anwendungsdaten gesichert, indem sie (online und/oder offline) in der versteckten Speicherzone des Lese-/Schreib-Speicherbereichs des tragbaren Geräts gespeichert und/oder sie in verschlüsselter Form im tragbaren Gerät gespeichert werden. In one embodiment, the portable device further comprises an application module, e.g. an e-banking application stored in the read-only memory area and adapted to execute application data when executed in the computer, e.g. Store (e-banking) data received and / or generated by the executed application module securely in the read / write memory area, and application data, e.g. Retrieve financial (e-banking) data securely stored in the read / write memory area and route it to the running browser module. As described above in the context of the runtime work data of the running browser, the application data is saved by storing (online and / or offline) in the hidden memory zone of the portable device's read / write memory area and / or encrypted it stored in the portable device.

[0010] Bei einer Ausführungsform umfasst das tragbare Gerät ferner ein Anwendungs-Proxy-Modul, das mit dem Browser-Modul gekoppelt und dafür ausgelegt ist, bei Ausführung im Computer eine Login-Anforderung vom im Computer ausgeführten Anwendungsmodul zu empfangen, die Login-Anforderung durch das Browser-Modul zu einem fernen Server weiterzuleiten, eine Login-Antwort mit sitzungsspezifischen Identifikationsdaten für eine angenommene Login-Anforderung zu empfangen und die sitzungsspezifischen Daten zum ausgeführten Anwendungsmodul weiterzuleiten. Das Anwendungs-Proxy-Modul ist ferner dafür ausgelegt, vom ausgeführten Anwendungsmodul zusammen mit den sitzungsspezifischen Identifikationsdaten eine Anwendungsdatenanforderung zu empfangen, die Anwendungsdatenanforderung mit den sitzungsspezifischen Identifikationsdaten durch das ausgeführte Browser-Modul zu einem fernen Server weiterzuleiten, durch das ausgeführte Browser-Modul eine Anwendungsdatenantwort vom fernen Server zu empfangen und die Anwendungsdatenantwort zum ausgeführten Anwendungsmodul weiterzuleiten. In one embodiment, the portable device further includes an application proxy module coupled to the browser module and configured to receive, upon execution in the computer, a login request from the application module executing in the computer, the login request forward by the browser module to a remote server, receive a login response with session-specific identification data for an accepted login request, and forward the session-specific data to the running application module. The application proxy module is further configured to receive, from the executed application module, along with the session-specific identification data, an application data request, to forward the application data request with the session-specific identification data by the executed browser module to a remote server, by the executed browser module an application data response from the remote server and forward the application data response to the running application module.

[0011] Vorzugsweise ist das Anwendungs-Proxy-Modul ferner dafür ausgelegt, beim Weiterleiten der Anforderungen vom ausgeführten Anwendungsmodul zum fernen Server ein sicher auf dem tragbaren Gerät gespeichertes kryptografisches Zertifikat mit einzuschliessen. Preferably, the application proxy module is further adapted to include in forwarding the requests from the running application module to the remote server a cryptographic certificate securely stored on the portable device.

[0012] Bei einer weiteren Ausführungsform umfasst das tragbare Gerät ferner ein Kryptografiemodul, das dafür ausgelegt ist, bei Ausführung im Computer von einem Benutzer des Computers geheime persönliche Identifikationsdaten zu empfangen, eine sichere Kommunikationsverbindung mit einem fernen Zertifikationsserver herzustellen, über die sichere Kommunikationsverbindung mit dem fernen Zertifikationsserver mindestens bestimmte der persönlichen Identifikationsdaten zur Verifikation weiterzuleiten, bei erfolgreicher Verifikation ein kryptografisches Schlüsselpaar zu erzeugen, eine Zertifikatsignieranforderung zu erzeugen und zum Zertifikationsserver weiterzuleiten und vom Zertifikationsserver ein kryptografisches Zertifikat zu empfangen und dieses sicher auf dem tragbaren Gerät zu speichern. Das Ausstatten des tragbaren Geräts mit dem Kryptografiemodul ermöglicht es dem Benutzer, einen Selbsteinschreibeprozess durchzuführen, wodurch es unnötig wird, das tragbare Gerät vor seiner Ablieferung an den Benutzer zu personalisieren. In a further embodiment, the portable device further comprises a cryptographic module adapted to receive secret personal identification data from a user of the computer when executed in the computer, to establish a secure communication connection with a remote certification server via the secure communication link with the computer to forward at least certain of the personal identification data for verification to a remote certification server, to generate a cryptographic key pair upon successful verification, to generate a certificate signing request and forward it to the certification server and to receive from the certification server a cryptographic certificate and store it securely on the portable device. Equipping the portable device with the cryptographic module allows the user to perform a self-enrollment process, making it unnecessary to personalize the portable device prior to its delivery to the user.

[0013] Zusätzlich zum tragbaren Gerät und einem Kommunikationsverfahren, das das tragbare Gerät verwendet, um einen sicheren Datenaustausch zwischen einem lokalen Computer und einem fernen Computer über ein Telekommunikationsnetz zu ermöglichen, betrifft die vorliegende Erfindung ausserdem ein Computerprogrammprodukt, das Computerprogrammcodemittel zum Steuern eines oder mehrerer Prozessoren eines Kommunikationsendgeräts umfasst, vorzugsweise ein Computerprogrammprodukt, das ein computerlesbares Medium umfasst, das die Computerprogrammcodemittel darin enthält. Vorzugsweise sind die Computerprogrammcodemittel als Erweiterung für ein (gehärtetes) Browser-Modul auf der Basis eines herkömmlichen Browsers, wie zum Beispiel Internet Explorer von Microsoft, Mozilla Firefox von der Mozilla Foundation oder Safari von Apple, ausgelegt und dafür eingerichtet, die Prozessoren so zu steuern, dass das Kommunikationsendgerät während der Laufzeit des im Kommunikationsendgerät ausgeführten Browser-Moduls durch das ausgeführte Browser-Modul zur Laufzeit erzeugte oder empfangene Arbeitsdaten sicher in einem Lese-/Schreib-Speicherbereich des tragbaren Geräts, das entfernbar mit dem Kommunikationsendgerät verbunden ist, speichert und sicher im Lese-/Schreib-Speicher gespeicherte Arbeitsdaten je nach Bedarf durch das ausgeführte Browser-Modul zur Laufzeit abruft. In addition to the portable device and a communication method using the portable device to enable secure data exchange between a local computer and a remote computer via a telecommunications network, the present invention further relates to a computer program product comprising computer program code means for controlling one or more Processors of a communication terminal, preferably a computer program product comprising a computer readable medium containing the computer program code means therein. Preferably, the computer program code means are designed and adapted to control the processors as an extension to a (hardened) browser module based on a conventional browser, such as Microsoft's Internet Explorer, Mozilla Firefox from the Mozilla Foundation, or Safari from Apple in that during the term of the browser module executed in the communication terminal, the communication terminal securely stores and stores work data generated or received at runtime in a read / write memory area of the portable device removably connected to the communication terminal by the executed browser module in the read / write memory stored work data as needed by the running browser module at runtime.

Kurze Beschreibung der ZeichnungenBrief description of the drawings

[0014] Die vorliegende Erfindung wird anhand von Beispielen mit Bezug auf die Zeichnungen ausführlicher erläutert. Es zeigen: <tb>Fig. 1<sep>ein Blockdiagramm, das schematisch ein System für sicheren Datenaustausch über ein Telekommunikationsnetz zwischen einem lokalen Computer, mit dem ein tragbares Gerät verbunden ist, und einem fernen Computer darstellt; <tb>Fig. 2<sep>ein Zeitsteuerungsdiagramm, das eine beispielhafte Sequenz von Schritten zur Selbsteinschreibung eines Benutzers unter Verwendung des tragbaren Geräts darstellt; <tb>Fig. 3<sep>ein Blockdiagramm, das schematisch eine beispielhafte Konfiguration des Systems für sicheren Datenaustausch zwischen dem lokalen und dem fernen Computer über das Telekommunikationsnetz sowie eine beispielhafte Sequenz von Schritten für ein Login in einem Anwendungsserver des fernen Computers darstellt; <tb>Fig. 4<sep>das Blockdiagramm von Fig. 3, das mit einer Darstellung einer beispielhaften Sequenz von Schritten zur Ausführung eines Anwendungs-Login vom lokalen Computer zum fernen Computer versehen ist; <tb>Fig. 5<sep>das Blockdiagramm von Fig. 3, das mit einer Darstellung einer beispielhaften Sequenz von Schritten zum Ausführen einer Anwendungsdatenanforderung vom lokalen Computer zum fernen Computer versehen ist; <tb>Fig. 6<sep>das Blockdiagramm von Fig. 3, das mit einer Darstellung einer beispielhaften Sequenz von Schritten zum Ausführen eines Anwendungs-Logout vom fernen Computer versehen ist.The present invention will be explained in more detail by way of examples with reference to the drawings. Show it: <Tb> FIG. 1 is a block diagram schematically illustrating a system for secure data exchange over a telecommunications network between a local computer to which a portable device is connected and a remote computer; <Tb> FIG. Fig. 2 is a timing diagram illustrating an exemplary sequence of self-enrollment steps of a user using the portable device; <Tb> FIG. 3 is a block diagram schematically illustrating an example configuration of the secure data exchange system between the local and remote computers over the telecommunications network and an exemplary sequence of steps for login to an application server of the remote computer; <Tb> FIG. 4 is the block diagram of FIG. 3 provided with an illustration of an exemplary sequence of steps for performing an application login from the local computer to the remote computer; <Tb> FIG. 5 is the block diagram of FIG. 3 provided with an illustration of an exemplary sequence of steps for executing an application data request from the local computer to the remote computer; <Tb> FIG. 6 is the block diagram of FIG. 3 provided with an illustration of an exemplary sequence of steps for performing an application logout from the remote computer.

Ausführliche Beschreibung der bevorzugten AusführungsformenDetailed Description of the Preferred Embodiments

[0015] In Fig. 1–6 bezieht sich die Bezugszahl 1 auf ein mobiles tragbares Gerät, das ein Speichermedium umfasst und entfernbar über eine Geräteschnittstelle 10 mit einem (lokalen) Computer 2 verbunden ist. Die Geräteschnittstelle 10 stellt eine elektrische Verbindung des tragbaren Geräts 1 mit dem Computer 2 bereit. Vorzugsweise ermöglicht die Geräteschnittstelle 10 nicht nur Datenkommunikation zwischen dem Computer 2 und dem tragbaren Gerät 1, sondern ermöglicht es dem Computer 2 auch, das tragbare Gerät 1 mit Strom zu versorgen. Zum Beispiel ist das tragbare Gerät 1 ein USB-Token-Gerät und die Geräteschnittstelle 10 eine USB-Schnittstelle. Referring to Figs. 1-6, reference numeral 1 refers to a mobile portable device that includes a storage medium and is removably connected to a (local) computer 2 via a device interface 10. The device interface 10 provides an electrical connection of the portable device 1 to the computer 2. Preferably, the device interface 10 not only enables data communication between the computer 2 and the portable device 1, but also allows the computer 2 to power the portable device 1. For example, the portable device 1 is a USB token device and the device interface 10 is a USB interface.

[0016] Der (lokale) Computer 2 ist mit einem Kommunikationsmodul zum Austauschen von Daten mit dem fernen Computersystem 4 über das Telekommunikationsnetz 3 ausgestattet. Wie in Fig. 1 dargestellt, umfasst der lokale Computer 2 Bedienungselemente 26 zur Dateneingabe, z.B. eine Tastatur, und ein Display 27 zum Zeigen von Benutzeroberflächen und Dateneingabe/-ausgabe. Der lokale Computer 2 ist ein voll funktionsfähiger herkömmlicher Computer mit Daten-/Programmspeicher und mindestens einem Prozessor zum Ausführen von in den Programmspeicher geladenen Programmen. Der lokale Computer 2 ist als ein Personal Computer (PC), ein PDA-Computer (Personal Digital Assistant) oder ein mobiles Kommunikationsendgerät, wie zum Beispiel ein Mobilfunktelefon, implementiert. The (local) computer 2 is equipped with a communication module for exchanging data with the remote computer system 4 via the telecommunication network 3. As shown in Fig. 1, the local computer 2 comprises data input controls 26, e.g. a keyboard, and a display 27 for showing user interfaces and data input / output. The local computer 2 is a fully functional conventional computer with data / program memory and at least one processor for executing programs loaded in the program memory. The local computer 2 is implemented as a personal computer (PC), a personal digital assistant (PDA) computer, or a mobile communication terminal such as a mobile phone.

[0017] Das Telekommunikationsnetz 3 umfasst das dem lokalen und fernen Computer 2, 4 durch feste Netzwerke und/oder drahtlose Netzwerke zugängliche Internet. Zum Beispiel umfasst das Telekommunikationsnetz 3 ein lokales Netzwerk (LAN), ein dienstintegriertes digitales Netzwerk (ISDN), ein GSM-Netz (Global System for Mobile Communication), ein UMTS-Netz (Universal Mobile Telephone System) oder ein anderes Mobilfunk-Telefonsystem und/oder ein drahtloses lokales Netzwerk (WLAN) für den Zugang zum Internet. The telecommunications network 3 comprises the local and remote computer 2, 4 accessible by fixed networks and / or wireless networks Internet. For example, the telecommunications network 3 comprises a Local Area Network (LAN), Integrated Services Digital Network (ISDN), Global System for Mobile Communication (GSM), Universal Mobile Telephone System (UMTS) or other mobile telephone systems, and / or a wireless local area network (WLAN) for access to the Internet.

[0018] Das ferne Computersystem 4 umfasst einen oder mehrere Computer, z.B. Web-Server, die jeweils einen oder mehrere Prozessoren aufweisen. Wie in Fig. 3–6 dargestellt, umfasst das ferne Computersystem 4 ein Anwendungssicherheits-Gateway 40 mit einer sicheren Datenspeicherung 41 für Sitzungs-Cookies, zum Beispiel das Application Security Gateway AirLock by Visonys AG, Schweiz, einen Anwendungsserver 43, eine Anwendungsdatenbank 42 und einen Zertifikationsserver 5. Zum Beispiel ist der Anwendungsserver 43 für Kunden-E-Banking aus der Ferne ausgelegt und die Anwendungsdatenbank 42 umfasst E-Banking-Daten, darunter kundenspezifische Finanzdaten, Vertragsdaten und Zertifikatdaten. Vorzugsweise (aber nicht notwendigerweise) sind Funktionsmodule, darunter der Anwendungsserver 43 und der Zertifikationsserver 5, auf dem fernen Computersystem 4 als programmierte Softwaremodule implementiert. Das Anwendungssicherheits-Gateway 40 ist vorzugsweise (aber nicht notwendigerweise) als ein Hardwaremodul implementiert. The remote computer system 4 comprises one or more computers, e.g. Web servers, each with one or more processors. As shown in FIGS. 3-6, the remote computer system 4 includes an application security gateway 40 with secure session cookie data storage 41, for example, the Application Security Gateway AirLock by Visonys AG, Switzerland, an application server 43, an application database 42, and a certification server 5. For example, the application server 43 is remotely configured for customer e-banking, and the application database 42 includes e-banking data, including customer-specific financial data, contract data, and certificate data. Preferably (but not necessarily), functional modules, including the application server 43 and the certification server 5, are implemented on the remote computer system 4 as programmed software modules. The application security gateway 40 is preferably (but not necessarily) implemented as a hardware module.

[0019] Wie in Fig. 3–6 dargestellt, umfasst das tragbare Gerät 1 einen sichtbaren öffentlichen Lese-/Schreib-Speicher-Bereich 11, z.B. ein (USB-)Flash-Laufwerk, einen Nurlesespeicher-(ROM-)Bereich 12 und einen versteckten Lese-/Schreib-Speicherbereich 13. Die versteckte Speicherzone wird so eingerichtet, dass sie dem Betriebssystem eines Computers unsichtbar ist und nur durch spezifische Programmierschnittstellen auf sie zugegriffen werden kann. As shown in Figs. 3-6, the portable device 1 comprises a visible public read / write memory area 11, e.g. a (USB) flash drive, a read only memory (ROM) area 12, and a hidden read / write memory area 13. The hidden memory area is set up to be invisible to a computer's operating system and only through specific programming interfaces they can be accessed.

[0020] Im Nurlese-Speicherbereich 12 ist Folgendes gespeichert: ein Browser-Modul 120, das ein eingebettetes Transportschicht-Sicherheitsmodul 121 (TLS-Protokoll) umfasst, ein mit dem Browser-Modul 120 gekoppeltes Anwendungs-Proxy-Modul 122, ein Anwendungsmodul 123, ein Kryptografiemodul 124 und ein Launcher 125. Diese Funktionsmodule umfassen einen Computerprogrammcode, der dafür ausgelegt ist, einen Prozessor des Computers 2 so zu steuern, dass der Computer 2 später beschriebene Funktionen ausführt. Bei einer Ausführungsform werden das Browser-Modul 120, das Anwendungs-Proxy-Modul 122 und das Anwendungsmodul 123 in verschlüsselter Form im Nurlese-Speicherbereich 12 gespeichert. Das Browser-Modul 120 wird als ein gesicherter Browser implementiert, d.h. ein gehärteter Browser mit Beschränkungen bezüglich Merkmalen, die eine potentielle Sicherheitsgefahr darstellen können. Insbesondere ist das Browser-Modul 120 dafür eingerichtet, ausführbare Erweiterungen zu sperren, wie zum Beispiel Plug-ins, Browser Helper Objects (BHO), Active-X-Objekte und/oder Javascript- und Java-Applets. Das Browser-Modul 120 ist als ein reduzierter Browser konfiguriert, der eine gesperrte Interpretation jeglicher Compiler-Symbole aufweist. Darüber hinaus ist der Zugriff auf die Browser-Ausführung bestimmende externe Objekte gesperrt, zum Beispiel ist die Verwendung von externen Document Object Models (DOM) gesperrt. Eine weitere Erhöhung der Sicherheit wird dadurch erzielt, indem das Transportschicht-Sicherheitsmodul 121 in das Browser-Modul 120 eingebettet wird, wodurch eine Trennung zwischen dem Browser-Kern und der TLS-Engine vermieden wird. The read-only memory area 12 stores: a browser module 120 comprising an embedded transport layer security module 121 (TLS protocol), an application proxy module 122 coupled to the browser module 120, an application module 123 , a cryptography module 124, and a launcher 125. These functional modules include computer program code that is configured to control a processor of the computer 2 so that the computer 2 performs functions described later. In one embodiment, browser module 120, application proxy module 122, and application module 123 are stored in encrypted form in read-only memory area 12. The browser module 120 is implemented as a secure browser, i. a hardened browser with restrictions on features that can pose a potential security threat. In particular, the browser module 120 is configured to disable executable extensions, such as plug-ins, browser helper objects (BHO), ActiveX objects, and / or Javascript and Java applets. The browser module 120 is configured as a reduced browser that has a locked interpretation of any compiler symbols. In addition, access to browser-executing external objects is blocked, for example, the use of external Document Object Models (DOM) is blocked. Further enhancement of security is achieved by embedding the transport layer security module 121 into the browser module 120, thereby avoiding separation between the browser core and the TLS engine.

[0021] Der versteckte Lese-/Schreib-Speicherbereich 13 wird verwendet, um Arbeitsdaten 131, die durch das Browser-Modul 120 zur Laufzeit erzeugt und/oder verwendet werden, Anwendungsdaten 132, die durch das Anwendungsmodul 123 online oder offline erzeugt und/oder empfangen werden, einen oder mehrere kryptographische Schlüsselpaare 133 und ein oder mehrere kryptografische Zertifikate 134 zu speichern. The hidden read / write memory area 13 is used to generate working data 131 generated and / or used by the browser module 120 at runtime, application data 132 generated by the application module 123 online or offline, and / or receive one or more cryptographic key pairs 133 and one or more cryptographic certificates 134.

[0022] In den folgenden Abschnitten werden mit Bezug auf Fig. 2–6mögliche Sequenzen von Schritten beschrieben, die durch die Funktionsmodule ausgeführt werden, um Daten sicher über das Telekommunikationsnetz 3 zwischen dem lokalen Computer 2 und dem fernen Computer 4 auszutauschen, und zwar spezifisch zwischen einem Browser und/oder einer auf dem lokalen Computer 2 ausgeführten Anwendung und einem auf dem fernen Computer 4 ausgeführten Anwendungsserver 43. In the following sections, with reference to Figs. 2-6, possible sequences of steps performed by the functional modules to exchange data securely over the telecommunications network 3 between the local computer 2 and the remote computer 4 will be described specifically between a browser and / or an application running on the local computer 2 and an application server 43 running on the remote computer 4.

[0023] In Vorbereitungsschritten wird der Benutzer des lokalen Computers 2 als Kunde bei dem Anwendungsanbieter registriert. Ein kundenspezifisches Passwort, d.h. ein persönlicher Identifikationscode (PIC), und eine Vertragsnummer werden erzeugt und in der Anwendungsdatenbank 42 gespeichert. Als Teil des Registrationsprozesses wird dem Kunden ein tragbares Gerät 1 bereitgestellt. Der PIC und die Vertragsnummer werden dem Kunden separat durch einen Kommunikationskanal wie zum Beispiel Papierpost, elektronische Post oder SMS (Short Messaging Services) zugeführt. In preparation steps, the user of the local computer 2 is registered as a customer with the application provider. A custom password, i. a personal identification code (PIC), and a contract number are generated and stored in the application database 42. As part of the registration process, a portable device 1 is provided to the customer. The PIC and the contract number are supplied to the customer separately through a communication channel such as paper mail, electronic mail or SMS (Short Messaging Services).

[0024] Zum Zugriff auf durch den Anwendungsserver 43 bereitgestellte Dienste verbindet der Benutzer das tragbare Gerät 1 mit seinem lokalen Computer 2. To access services provided by the application server 43, the user connects the portable device 1 to his local computer 2.

[0025] Wie in Fig. 2 dargestellt, wird im Schritt S1 der Launcher 125 entweder automatisch oder manuell durch den Benutzer des lokalen Computers 2 gestartet, wenn das tragbare Gerät 1 mit dem lokalen Computer 2 verbunden wird. In den folgenden Abschnitten wird die Funktionalität des Launchers 125 mit Bezug auf den ausgeführten Launcher 25 beschrieben, der entschlüsselt, geladen und im lokalen Computer 2 ausgeführt wird. As shown in Fig. 2, in step S1, the launcher 125 is started either automatically or manually by the user of the local computer 2 when the portable device 1 is connected to the local computer 2. The following sections describe the functionality of the launcher 125 with respect to the running launcher 25, which is decrypted, loaded, and executed on the local computer 2.

[0026] Im Schritt S2 prüft der ausgeführte Launcher 25, ob ein kryptografisches Zertifikat 134 im jeweiligen versteckten Lese-/Schreib-Speicherbereich 13 vorhanden ist. In step S2, the executed launcher 25 checks whether a cryptographic certificate 134 is present in the respective hidden read / write memory area 13.

[0027] Wenn kein kryptografisches Zertifikat 134 vorhanden ist, leitet der ausgeführte Launcher 25 im Schritt S3 einen Selbsteinschreibeprozess ein und zeigt in Schritt S3 einen Dialog auf dem Display 27, der den Benutzer auffordert, eine Geheimzahl (PIN) zu definieren. Die PIN wird für den Kunden in einem jeweiligen versteckten Speicherbereich 13 des tragbaren Geräts 2 gespeichert. Wenn dagegen das kryptografische Zertifikat 134 vorhanden ist und der Kunde keine Aktualisierung des Zertifikats auswählt, fordert der ausgeführte Launcher 25 den Kunden auf, seine PIN einzugeben. Nachdem die Korrektheit der PIN geprüft und verifiziert wurde, startet der Launcher im Schritt S12 das Browser-Modul 120. If there is no cryptographic certificate 134, the running launcher 25 initiates a self-enrollment process in step S3 and displays a dialog on the display 27 in step S3, prompting the user to define a PIN. The PIN is stored for the customer in a respective hidden storage area 13 of the portable device 2. On the other hand, if the cryptographic certificate 134 is present and the customer does not choose to update the certificate, the running launcher 25 prompts the customer to enter his PIN. After the correctness of the PIN has been checked and verified, the launcher starts the browser module 120 in step S12.

[0028] Im Schritt S4 stellt der ausgeführte Launcher 25 eine SSL-Sitzung (Secure Socket Layer) mit einem im fernen Computer 4 ausgeführten Zertifikationsserver 5 her. In step S4, the executed launcher 25 establishes a Secure Socket Layer (SSL) session with a certification server 5 running in the remote computer 4.

[0029] Im Schritt S5 zeigt der ausgeführte Launcher 25 einen Dialog auf dem Display 27, der den Benutzer auffordert, sein Passwort, d.h. seinen persönlichen Identifikationscode (PIC) und seine Vertragsnummer einzugeben. Der PIC und die Vertragsnummer werden durch den ausgeführten Launcher 25 sicher zum Zertifikationsserver 5 übertragen. In step S5, the running launcher 25 displays a dialog on the display 27 prompting the user to change his password, i. Enter your personal identification code (PIC) and your contract number. The PIC and the contract number are securely transmitted to the certification server 5 by the running launcher 25.

[0030] Im Schritt S6 verifiziert der Zertifikationsserver den empfangenen PIC und die empfangene Vertragsnummer in der Anwendungsdatenbank 42 und meldet das Verifikationsergebnis dem ausgeführten Launcher 25. In step S6, the certification server verifies the received PIC and the received contract number in the application database 42 and reports the verification result to the running launcher 25.

[0031] Wenn der ausgeführte Launcher 25 im Schritt S7 bestimmt, dass der PIC und die Vertragsnummer positiv durch den Verifikationsserver 5 verifiziert wurden, erzeugt der ausgeführte Launcher 25 im Schritt S8 ein kryptografisches Schlüsselpaar und speichert dieses kryptografische Schlüsselpaar 133 im jeweiligen versteckten Lese-/Schreib-Speicherbereich 13. If the executed launcher 25 determines in step S7 that the PIC and the contract number have been positively verified by the verification server 5, the executed launcher 25 generates a cryptographic key pair in step S8 and stores this cryptographic key pair 133 in the respective hidden read / write Write memory area 13.

[0032] Im Schritt S9 erzeugt der ausgeführte Launcher 25 eine Signieranforderung für den jeweiligen Kunden und überträgt sie zum Zertifikationsserver 5. Zum Beispiel ist die Signieranforderung eine Zertifikationsanforderung (PKSC #10, PEM-Format) der PKCS (Public Key Cryptography Standards) zum Anfordern der Zertifikation des öffentlichen Schlüssels und umfasst eine Sitzungskennung. In step S9, the executed launcher 25 generates a signing request for the respective customer and transmits it to the certification server 5. For example, the signing request is a request for certification (PKSC # 10, PEM format) of the Public Key Cryptography Standards (PKCS) certification of the public key and includes a session identifier.

[0033] Im Schritt S10 erzeugt der Zertifikationsserver 5 auf der Basis der empfangenen Signieranforderung ein kundenspezifisches (signiertes) kryptografisches Zertifikat, speichert es für den jeweiligen Kunden in der Anwendungsdatenbank 42 und gibt es an den ausgeführten Launcher 25 zurück. Zum Beispiel wird das digitale Zertifikat im PEM-Format bereitgestellt (Privacy Enhanced Mail, mit Base64 codiertes DER-Zertifikat [Distinguished Encoding Rules], eingeschlossen zwischen «-BEGIN CERTIFICATE-» und «-END CERTIFICATE-»). In step S10, the certification server 5 generates a customized (signed) cryptographic certificate based on the received signing request, stores it for the respective customer in the application database 42, and returns it to the running launcher 25. For example, the digital certificate is provided in PEM format (Privacy Enhanced Mail, Base64 encoded DER certificate [Distinguished Encoding Rules], enclosed between -BEGIN CERTIFICATE- and -END CERTIFICATE-).

[0034] Im Schritt S11 installiert der ausgeführte Launcher 25 das kundenspezifische kryptografische Zertifikat 134, indem er es im jeweiligen versteckten Lese-/Schreib-Speicherbereich 13 speichert. In step S11, the executed launcher 25 installs the custom cryptographic certificate 134 by storing it in the respective hidden read / write memory area 13.

[0035] Im Schritt S12 startet der ausgeführte Launcher 25 das Browser-Modul 120. Gegebenenfalls entschlüsselt der ausgeführte Launcher 25 das Browser-Modul 120 vor dem Starten seiner Ausführung im lokalen Computer 2. In den folgenden Abschnitten wird die Funktionalität des Browser-Moduls 120 (einschliesslich des Transportschicht-Sicherheitsmoduls 121) mit Bezug auf das ausgeführte Browser-Modul 20 (einschliesslich des ausgeführten Transportschicht-Sicherheitsmoduls 21) beschrieben, das entschlüsselt, geladen und im lokalen Computer 2 ausgeführt wird. In step S12, the executed launcher 25 starts the browser module 120. Optionally, the running launcher 25 decrypts the browser module 120 prior to starting its execution in the local computer 2. In the following sections, the functionality of the browser module 120 becomes (including the transport layer security module 121) with respect to the executed browser module 20 (including the executed transport layer security module 21) which is decrypted, loaded, and executed in the local computer 2.

[0036] Wenn das ausgeführte Browser-Modul 20 gestartet ist, verwendet es das eingebettete ausgeführte Transportschicht-Sicherheitsmodul 21, um eine SSL-Sitzung (Secure Socket Layer) mit dem auf dem fernen Computer 4 implementierten Anwendungsserver 43 (gegenseitige Authentifikation) herzustellen. When the executed browser module 20 is started, it uses the embedded running transport layer security module 21 to establish a Secure Socket Layer (SSL) session with the application server 43 (mutual authentication) implemented on the remote computer 4.

[0037] Wie in Fig. 3 dargestellt, überträgt im Schritt S14 das ausgeführte Browser-Modul 20 unter Verwendung des ausgeführten Transportschicht-Sicherheitsmoduls 21 eine Login-Anforderung zu einer Login-URL an dem fernen Computer 4. Die Anforderung enthält das kundenspezifische kryptografische Zertifikat 134. Das Anwendungssicherheits-Gateway 40 empfängt die Anforderung zu der Login-URL und prüft das Zertifikat des Kunden. As shown in Figure 3, in step S14, the executed browser module 20, using the executed transport layer security module 21, transmits a login request to a login URL on the remote computer 4. The request includes the custom cryptographic certificate 134. The application security gateway 40 receives the request to the login URL and checks the customer's certificate.

[0038] Im Schritt S15 leitet das Anwendungssicherheits-Gateway 40 die Login-Anforderung zu einem Login-Steuermodul des Anwendungsservers 43 weiter, wenn das Zertifikat gültig ist. Die Zertifikatinformationen werden in einem sogenannten Environment-Cookie zum Steuermodul geleitet. In step S15, the application security gateway 40 forwards the login request to a login control module of the application server 43 if the certificate is valid. The certificate information is routed to the control module in a so-called environment cookie.

[0039] Im Anwendungsserver 43 liest das Login-Steuermodul das Zertifikat aus dem Environment-Cookie und fragt im Schritt S16 die Anwendungsdatenbank 42 nach dem mit dem jeweiligen Zertifikat assoziierten Vertrag ab. Zusätzlich werden die Vertragsnummer und das Passwort (PIC) geprüft. In the application server 43, the login control module reads the certificate from the environment cookie and in step S16 queries the application database 42 for the contract associated with the respective certificate. In addition, the contract number and the password (PIC) are checked.

[0040] Im Schritt S17 gibt das Login-Steuermodul des Anwendungsservers 43 an das Anwendungssicherheits-Gateway 40 eine Antwort zurück, die einen Steuer-Cookie, der anzeigt, dass Zugang gewährt wird, und einen Vertrags-Cookie, der den jeweiligen kundenspezifischen Vertrag angibt, enthält. Das Anwendungssicherheits-Gateway 40 empfängt die Antwort, gibt auf der Basis des Steuer- und Vertrags-Cookies den Zugang zum jeweiligen Vertrag für die aktuelle Sitzung frei und speichert den Vertrags-Cookie in der sicheren Datenspeicherung 41 für Sitzungs-Cookies. In step S17, the application server 43 login control module returns to the application security gateway 40 a response indicating a control cookie indicating that access is granted and a contract cookie indicating the particular customer contract , contains. The application security gateway 40 receives the response, releases access to the current session contract based on the control and policy cookie, and stores the contract cookie in secure session cookie data storage 41.

[0041] Im Schritt S18 gibt das Anwendungssicherheits-Gateway 40 an das ausgeführte Browser-Modul 20 eine Antwort zurück, die einen durch das Anwendungssicherheits-Gateway 40 bereitgestellten Sitzungs-Cookie enthält. In step S18, the application security gateway 40 returns to the executed browser module 20 a response containing a session cookie provided by the application security gateway 40.

[0042] Im Schritt S19 empfängt das ausgeführte Browser-Modul 20 die Antwort und speichert den durch das Anwendungssicherheits-Gateway 40 bereitgestellten Sitzungs-Cookie sicher als Browser-Arbeitsdaten 131 im jeweiligen versteckten Speicherbereich 13. Vorzugsweise (aber nicht notwendigerweise) verschlüsselt das ausgeführte Browser-Modul 20 den Sitzungs-Cookie, bevor es ihn im tragbaren Gerät 2 speichert. In step S19, the executed browser module 20 receives the response and securely stores the session cookie provided by the application security gateway 40 as browser work data 131 in the respective hidden storage area 13. Preferably (but not necessarily) the executed browser encrypts Module 20 stores the session cookie before storing it in the portable device 2.

[0043] In nachfolgenden Schritten verwendet der Kunde die hergestellte Sitzung zwischen dem ausgeführten Browser-Modul 20 und dem Anwendungsserver 43, um (unter Verwendung des gespeicherten Sitzungs-Cookie zur Bezugnahme) Datenübertragungs- und/oder Datenanfrageanforderungen durchzuführen. In subsequent steps, the customer uses the established session between the executed browser module 20 and the application server 43 to perform data transfer and / or data request requests (using the stored session cookie for reference).

[0044] Für ein Logout verwendet der Kunde das ausgeführte Browser-Modul 20, um eine Logout-Anforderung zum Anwendungsserver 43 zu übertragen. Der Anwendungsserver 43 schliesst die Sitzung zum Anwendungssicherheits-Gateway 40, das seinerseits die SSL-Sitzung zum ausgeführten Browser-Modul 20 schliesst. For a logout, the customer uses the executed browser module 20 to transmit a logout request to the application server 43. The application server 43 closes the session to the application security gateway 40, which in turn closes the SSL session to the running browser module 20.

[0045] Wenn bei einer Ausführungsform die Browser-Konfiguration das Freigeben des Starts des ausgeführten Browser-Moduls 20 mit freigegebenem Anwendungs-Proxy-Modul 122 gestattet und wenn dieses Merkmal eingestellt ist, wird das Browser-Modul 120 im Schritt S12 mit freigegebenem Anwendungs-Proxy-Modul 122 gestartet. Gegebenenfalls entschlüsselt der Launcher 125 ausserdem das Anwendungs-Proxy-Modul 122 und das Anwendungsmodul 123 vor dem Starten ihrer Ausführung im lokalen Computer 2. In den folgenden Abschnitten wird die Funktionalität des Anwendungs-Proxy-Moduls 122 und des Anwendungsmoduls 123 auch mit Bezug auf das ausgeführte Anwendungs-Proxy-Modul 22 und das ausgeführte Anwendungsmodul 23 beschrieben, die jeweils entschlüsselt, geladen und im lokalen Computer 2 ausgeführt werden. [0045] In one embodiment, if the browser configuration allows the start of the running browser module 20 to be released with the application proxy module 122 enabled, and if that feature is set, then the browser module 120 will open in step S12 with the application application enabled. Proxy module 122 started. Optionally, the launcher 125 also decrypts the application proxy module 122 and the application module 123 prior to starting their execution on the local computer 2. In the following sections, the functionality of the application proxy module 122 and the application module 123 will also be described with respect to FIG executed application proxy module 22 and the executed application module 23, which are each decrypted, loaded and executed in the local computer 2.

[0046] Wie in Fig. 4 dargestellt, sendet, wenn das Anwendungsmodul durch den ausgeführte Launcher 25 gestartet wird, im Schritt S21 das ausgeführte Anwendungsmodul 23 eine Login-Anforderung unter Verwendung einer Login-URL, z.B. , zum ausgeführten Anwendungs-Proxy-Modul 22. Um zu verhindern, dass eine unautorisierte (böswillige) Anwendung das ausgeführte Proxy-Anwendungsmodul 22 verwendet, enthält die Login-Anforderung kundenspezifische Berechtigungsnachweise, Vertragsnummer und Passwort (PIC). As shown in Fig. 4, when the application module is started by the running launcher 25, in step S21 the executed application module 23 sends a login request using a login URL, e.g. to the running application proxy module 22. To prevent an unauthorized (malicious) application from using the executed proxy application module 22, the login request includes custom credentials, contract number and password (PIC).

[0047] Im Schritt S22 leitet das ausgeführte Anwendungs-Proxy-Modul 22 unter Verwendung des ausgeführten Browser-Moduls 20 die Login-Anforderung zu der tatsächlichen (realen) Login-URL an dem fernen Computer 4 weiter. Die weitergeleitete Anforderung enthält das kundenspezifische kryptografische Zertifikat 134. Das Anwendungssicherheits-Gateway 40 empfängt die Anforderung zu der Login-URL und prüft das Zertifikat des Kunden. In step S22, the executed application proxy module 22, using the executed browser module 20, forwards the login request to the actual (real) login URL at the remote computer 4. The forwarded request contains the custom cryptographic certificate 134. The application security gateway 40 receives the request to the login URL and checks the customer's certificate.

[0048] Im Schritt S23 leitet das Anwendungssicherheits-Gateway 40 die Login-Anforderung zu einem Login-Steuermodul des Anwendungsservers 43, wenn das Zertifikat gültig ist. Die Zertifikatinformationen werden in einem sogenannten Environment-Cookie zum Steuermodul geleitet. In step S23, the application security gateway 40 forwards the login request to a login control module of the application server 43 if the certificate is valid. The certificate information is routed to the control module in a so-called environment cookie.

[0049] Im Anwendungsserver 43 liest das Login-Steuermodul das Zertifikat aus dem Environment-Cookie und fragt im Schritt S24 die Anwendungsdatenbank 42 nach dem mit dem jeweiligen Zertifikat assoziierten Vertrag ab. Zusätzlich werden die Vertragsnummer und das Passwort (PIC) geprüft. In the application server 43, the login control module reads the certificate from the environment cookie and in step S24 queries the application database 42 for the contract associated with the respective certificate. In addition, the contract number and the password (PIC) are checked.

[0050] Im Schritt S25 gibt das Login-Steuermodul des Anwendungsservers 43 an das Anwendungssicherheits-Gateway 40 eine Antwort zurück, die einen Steuer-Cookie, der angibt, dass der Zugang gewährt wird, und einen Vertrags-Cookie, der den jeweiligen kundenspezifischen Vertrag angibt, enthält. Das Anwendungssicherheits-Gateway 40 empfängt die Antwort, gibt auf der Basis des Steuer- und Vertrags-Cookies Zugang zum jeweiligen Vertrag für die aktuelle Sitzung frei und speichert den Vertrags-Cookie in der sicheren Datenspeicherung 41 für Sitzungs-Cookies. In step S25, the application server 43 login control module returns to the application security gateway 40 a response indicating a control cookie indicating that the access is granted and a contract cookie containing the respective custom contract indicates contains. The application security gateway 40 receives the response, releases access to the current session contract based on the control and contract cookie, and stores the contract cookie in secure session cookie data storage 41.

[0051] Im Schritt S26 gibt das Anwendungssicherheits-Gateway 40 an das ausgeführte Anwendungs-Proxy-Modul 22 eine Antwort zurück, die einen durch das Anwendungssicherheits-Gateway 40 bereitgestellten Sitzungs-Cookie enthält. In step S26, the application security gateway 40 returns to the running application proxy module 22 a response containing a session cookie provided by the application security gateway 40.

[0052] Im Schritt S27 empfängt das ausgeführte Anwendungs-Proxy-Modul 22 die Antwort durch das ausgeführte Browser-Modul 20 und leitet die Antwort zum ausgeführten Anwendungsmodul 23 weiter. In step S27, the executed application proxy module 22 receives the response from the executed browser module 20 and forwards the response to the running application module 23.

[0053] Im Schritt S28 liest das ausgeführte Anwendungsmodul 23 die Antwort und speichert den durch das Anwendungssicherheits-Gateway 40 bereitgestellten Sitzungs-Cookie als Anwendungsdaten 132 im jeweiligen versteckten Lese-/Schreib-Speicherbereich 13. In step S28, the executed application module 23 reads the response and stores the session cookie provided by the application security gateway 40 as application data 132 in the respective hidden read / write memory area 13.

[0054] Entsprechend Benutzeranforderungen und/oder Anwendungslogik sendet das ausgeführte Anwendungsmodul 23 Anwendungsanforderungen zum Anwendungsserver 43 im fernen Computer 4, z.B. eine Anforderung zum Übertragen oder Abfragen von Anwendungsdaten, wie zum Beispiel E-Banking-Daten (Finanzdaten). Es sollte hervorgehoben werden, dass die Anwendungsdaten online durch den Kunden angegeben oder aus dem jeweiligen versteckten Speicherbereich 13 abgerufen werden können, indem sie zum Beispiel zuvor durch das ausgeführte Anwendungsmodul 23 im Offline-Modus als Anwendungsdaten 132 gespeichert wurden. Wie in Fig. 5 dargestellt, ruft das ausgeführte Anwendungsmodul 23 vor dem Erzeugen einer Anwendungsanforderung im Schritt S31 aus dem Lese-/Schreib-Speicherbereich 13 den zuvor durch das Anwendungssicherheits-Gateway 40 bereitgestellten Sitzungs-Cookie ab. According to user requirements and / or application logic, the executed application module 23 sends application requests to the application server 43 in the remote computer 4, e.g. a request to transmit or query application data, such as e-banking data (financial data). It should be emphasized that the application data may be given online by the customer or retrieved from the respective hidden storage area 13, for example, previously stored as application data 132 by the executed application module 23 in offline mode. As shown in FIG. 5, before generating an application request in step S31, the executed application module 23 retrieves from the read / write memory area 13 the session cookie previously provided by the application security gateway 40.

[0055] Im Schritt S32 sendet das ausgeführte Anwendungsmodul 23 eine Anwendungsanforderung zum ausgeführten Anwendungs-Proxy-Modul 22. Die Anwendungsanforderung enthält den an eine Anwendungs-URL, z.B. https://localhost:1234/application/[...] adressierten zuvor durch das Anwendungssicherheits-Gateway 40 bereitgestellten Sitzungs-Cookie. In step S32, the executed application module 23 sends an application request to the running application proxy module 22. The application request contains the application request to an application URL, e.g. https: // localhost: 1234 / application / [...] addressed the session cookie previously provided by the application security gateway 40.

[0056] Im Schritt S33 leitet das ausgeführte Anwendungs-Proxy-Modul 22 die Anwendungsanforderung zusammen mit dem Zertifikat des Kunden zum Anwendungssicherheits-Gateway 40 weiter. Das Anwendungssicherheits-Gateway 40 liest den in der Anwendungsanforderung enthaltenen Sitzungs-Cookie und ruft den entsprechenden Vertrags-Cookie aus der sicheren Datenspeicherung 41 für Sitzungs-Cookies ab. In step S33, the executed application proxy module 22 forwards the application request along with the customer's certificate to the application security gateway 40. The application security gateway 40 reads the session cookie included in the application request and retrieves the corresponding contract cookie from the secure session storage data 41.

[0057] Im Schritt S34 leitet das Anwendungssicherheits-Gateway 40 die Anwendungsanforderung, die den Vertrags-Cookie enthält, zum Anwendungsserver 43 weiter. Der Anwendungsserver 43 identifiziert den Kunden auf der Basis des Vertrags-Cookies. In step S34, the application security gateway 40 forwards the application request containing the contract cookie to the application server 43. The application server 43 identifies the customer based on the contract cookie.

[0058] Im Schritt S35 ruft der Anwendungsserver 43 die angeforderten Anwendungsdaten von der Anwendungsdatenbank 42 ab oder speichert die überreichten Anwendungsdaten jeweils in der Anwendungsdatenbank 42. In step S35, the application server 43 retrieves the requested application data from the application database 42 or stores the submitted application data in the application database 42, respectively.

[0059] Im Schritt S36 gibt der Anwendungsserver 43 eine Antwort an das Anwendungssicherheits-Gateway 40 zurück. In step S36, the application server 43 returns a response to the application security gateway 40.

[0060] Im Schritt S37 leitet das Anwendungssicherheits-Gateway 40 die Antwort zum ausgeführten Anwendungs-Proxy-Modul 22 weiter. In step S37, the application security gateway 40 forwards the response to the running application proxy module 22.

[0061] Im Schritt S38 leitet das ausgeführte Anwendungs-Proxy-Modul 22 die Antwort zum ausgeführten Anwendungsmodul 23 weiter. In step S38, the executed application proxy module 22 forwards the response to the executed application module 23.

[0062] Wie in Fig. 6 dargestellt, sendet das ausgeführte Anwendungsmodul 23 für ein Logout im Schritt S41 eine Logout-Anforderung zum ausgeführten Anwendungs-Proxy-Modul 22. As shown in FIG. 6, the executed logout application module 23 sends a logout request to the executed application proxy module 22 in step S41.

[0063] Im Schritt S42 leitet das ausgeführte Anwendungs-Proxy-Modul 22 die Logout-Anforderung zusammen mit dem Zertifikat des Kunden zum Anwendungssicherheits-Gateway 40 weiter. In step S42, the executed application proxy module 22 forwards the logout request along with the customer's certificate to the application security gateway 40.

[0064] Im Schritt S43 leitet das Anwendungssicherheits-Gateway 40 die Logout-Anforderung zum Anwendungsserver 43 weiter. In step S43, the application security gateway 40 forwards the logout request to the application server 43.

[0065] Im Schritt S44 schliesst der Anwendungsserver 43 die Web-Sitzung und die Sitzung in der Anwendungsdatenbank 42. In step S44, the application server 43 closes the web session and the session in the application database 42.

[0066] Im Schritt S45 gibt der Anwendungsserver 43 eine Antwort mit einem Steuer-Cookie zum Beenden der Sitzung zurück. In step S45, the application server 43 returns a response with a control cookie to end the session.

[0067] Das Anwendungssicherheits-Gateway 40 empfängt den Steuer-Cookie und schliesst die Sitzung. Im Schritt S46 sendet das Anwendungssicherheits-Gateway 40 eine Logout-Antwort zum ausgeführten Anwendungs-Proxy-Modul 22. The application security gateway 40 receives the control cookie and closes the session. In step S46, the application security gateway 40 sends a logout response to the running application proxy module 22.

[0068] Im Schritt S47 leitet das ausgeführte Anwendungs-Proxy-Modul 22 die Logout-Antwort zum ausgeführten Anwendungsmodul 23 weiter. In step S47, the executed application proxy module 22 forwards the logout response to the executed application module 23.

[0069] Im Schritt S48 entfernt das ausgeführte Anwendungsmodul 23 den Sitzungs-Cookie aus dem jeweiligen versteckten Speicherbereich 13. In step S48, the executed application module 23 removes the session cookie from the respective hidden storage area 13.

[0070] Es sollte beachtet werden, dass in der Beschreibung der Computerprogrammcode mit spezifischen Funktionsmodulen assoziiert wurde und die Sequenz von Schritten in einer spezifischen Reihenfolge dargestellt wurde. Für Fachleute ist jedoch erkennbar, dass der Computerprogrammcode anders strukturiert werden kann und dass die Reihenfolge mindestens eines Teils der Schritte geändert werden könnte, ohne vom Schutzumfang der Erfindung abzuweichen. It should be noted that in the description the computer program code has been associated with specific function modules and the sequence of steps has been presented in a specific order. However, it will be appreciated by those skilled in the art that the computer program code may be otherwise structured and that the order of at least a portion of the steps could be changed without departing from the scope of the invention.

Claims (18)

1. Tragbares Gerät (1) zum sicheren Austauschen von Daten über ein Telekommunikationsnetz (3) zwischen einem lokalen Computer (2) und einem fernen Computer (4), umfassend: ein Speichermedium, das mit dem lokalen Computer (2) verbindbar ist, wobei das Speichermedium einen Nurlese-Speicherbereich (12) und einen Lese-/Schreib-Speicherbereich (13) umfasst, ein im Nurlese-Speicherbereich (12) gespeichertes Browser-Modul (120) und einen Launcher (125), der dafür ausgelegt ist, das Browser-Modul (120) bei Verbindung mit dem lokalen Computer (2) zur Ausführung in den lokalen Computer (2) zu laden, wobei das Browser-Modul (120) dafür ausgelegt ist, Daten über das Telekommunikationsnetz (3) zwischen dem lokalen Computer (2) und dem fernen Computer (4) auszutauschen sowie bei Ausführung im lokalen Computer (2) durch das ausgeführte Browser-Modul (20) zur Laufzeit erzeugte oder empfangene Arbeitsdaten sicher im Lese-/Schreib-Speicherbereich (13) zu speichern und im Lese-/Schreib-Speicherbereich (13) sicher gespeicherte Arbeitsdaten (131) je nach Bedarf durch das ausgeführte Browser-Modul (20) zur Laufzeit abzurufen.A portable device (1) for securely exchanging data over a telecommunications network (3) between a local computer (2) and a remote computer (4), comprising: a storage medium connectable to the local computer (2), the storage medium comprising a read only memory area (12) and a read / write memory area (13), a browser module stored in the read only memory area (12) ( 120) and a launcher (125) adapted to load the browser module (120) in connection with the local computer (2) for execution in the local computer (2), wherein the browser module (120) is adapted to exchange data via the telecommunication network (3) between the local computer (2) and the remote computer (4) and when executed in the local computer (2) by the executed browser module (2). 20) to store or generate work data generated or received at runtime safely in the read / write memory area (13) and to store read data (131) securely stored in the read / write memory area (13) as required by the executed browser module (20). at runtime. 2. Tragbares Gerät (1) nach Anspruch 1, wobei mindestens ein Teil des Lese-/Schreib-Speicherbereichs (13) als eine versteckte Speicherzone eingerichtet ist und das Browser-Modul (120) dafür ausgelegt ist, bei Ausführung im Computer (2) die durch das ausgeführte Browser-Modul (20) zur Laufzeit erzeugten oder empfangenen Arbeitsdaten in der versteckten Speicherzone zu speichern und die vom ausgeführten Browser-Modul (20) zur Laufzeit benötigten Arbeitsdaten (131) aus der versteckten Speicherzone abzurufen.A portable device (1) according to claim 1, wherein at least part of the read / write memory area (13) is set up as a hidden memory zone and the browser module (120) is adapted to be executed in the computer (2). to store the working data generated or received by the executed browser module (20) at runtime in the hidden memory zone and retrieve the working data (131) required by the executed browser module (20) from the hidden memory zone at runtime. 3. Tragbares Gerät (1) nach einem der Ansprüche 1 oder 2, wobei das Browser-Modul (120) dafür ausgelegt ist, bei Ausführung im Computer (2) die durch das ausgeführte Browser-Modul (20) zur Laufzeit erzeugten oder empfangenen Arbeitsdaten zu verschlüsseln und im Lese-/Schreib-Speicherbereich (13) zu speichern und die vom ausgeführten Browser-Modul (20) zur Laufzeit benötigten Arbeitsdaten (131) aus dem Lese-/Schreib-Speicherbereich (13) abzurufen und zu entschlüsseln.A wearable device (1) according to any one of claims 1 or 2, wherein the browser module (120) is adapted, when executed in the computer (2), for the working data generated or received at runtime by the executed browser module (20) to encrypt and store in the read / write memory area (13) and retrieve from the read / write memory area (13) the working data (131) required by the executed browser module (20) at runtime and decrypt. 4. Tragbares Gerät (1) nach einem der Ansprüche 1 bis 3, wobei das Browser-Modul (120) in verschlüsselter Form im Nurlese-Speicherbereich (12) gespeichert ist und wobei der Launcher (125) dafür ausgelegt ist, das Browser-Modul (120) vor dem Laden des Browser-Moduls (120) in den Computer (2) zu entschlüsseln.The wearable device (1) of any one of claims 1 to 3, wherein the browser module (120) is stored in encrypted form in the read only memory area (12), and wherein the launcher (125) is adapted to the browser module (120) before loading the browser module (120) into the computer (2). 5. Tragbares Gerät (1) nach einem der Ansprüche 1 bis 4, wobei das Browser-Modul (120) ein eingebettetes Transportschicht-Sicherheitsmodul (121) zum Sichern der Browser-Kommunikation über ein Telekommunikationsnetz (3) umfasst.The wearable device (1) of any one of claims 1 to 4, wherein the browser module (120) comprises an embedded transport layer security module (121) for securing browser communication over a telecommunications network (3). 6. Tragbares Gerät (1) nach einem der Ansprüche 1 bis 5, das ferner ein im Nurlese-Speicherbereich (12) gespeichertes Anwendungsmodul (123), z.B. eine E-Banking-Anwendung, umfasst, das dafür ausgelegt ist, bei Ausführung im Computer (2) durch das ausgeführte Anwendungsmodul (23) empfangene und/oder erzeugte Anwendungsdaten, z.B. Finanzdaten, sicher im Lese-/Schreib-Speicherbereich (13) zu speichern und sicher im Lese-/Schreib-Speicherbereich (13) gespeicherte Anwendungsdaten (132), z.B. Finanzdaten, abzurufen und zum ausgeführten Browser-Modul (20) zu leiten.The portable device (1) according to any one of claims 1 to 5, further comprising an application module (123) stored in the read-only memory area (12), e.g. an e-banking application adapted to receive and / or generate application data received by the executed application module (23) when executed in the computer (2), e.g. Store financial data securely in the read / write memory area (13) and securely store application data (132) stored in the read / write memory area (13), e.g. Retrieve financial data and route to the executed browser module (20). 7. Tragbares Gerät (1) nach einem der Ansprüche 1 bis 6, das ferner ein mit dem Browser-Modul (120) gekoppeltes Anwendungs-Proxy-Modul (122) umfasst, das dafür ausgelegt ist, bei Ausführung im Computer (2) eine Login-Anforderung von einem im Computer (2) ausgeführten Anwendungsmodul (23) zu empfangen und die Login-Anforderung durch das Browser-Modul (120) zu einem fernen Anwendungsserver (43) weiterzuleiten, eine Login-Antwort mit sitzungsspezifischen Identifikationsdaten für eine angenommene Login-Anforderung zu empfangen und die sitzungsspezifischen Daten zum ausgeführten Anwendungsmodul (23) weiterzuleiten.The wearable device (1) of any one of claims 1 to 6, further comprising an application proxy module (122) coupled to the browser module (120) and configured to execute, when executed in the computer (2) Receive a login request from an application module (23) running in the computer (2) and forward the login request through the browser module (120) to a remote application server (43), a login response with session-specific identification data for an accepted login Receive request and forward the session-specific data to the running application module (23). 8. Tragbares Gerät (1) nach Anspruch 7, wobei das Anwendungs-Proxy-Modul (122) ferner dafür ausgelegt ist, vom ausgeführten Anwendungsmodul (23) zusammen mit den sitzungsspezifischen Identifikationsdaten eine Anwendungsdatenanforderung zu empfangen, die Anwendungsdatenanforderung mit den sitzungsspezifischen Identifikationsdaten durch das ausgeführte Browser-Modul (20) zu einem fernen Anwendungsserver (43) weiterzuleiten, durch das ausgeführte Browser-Modul (20) eine Anwendungsdatenantwort vom fernen Anwendungsserver (43) zu empfangen und die Anwendungsdatenantwort zum ausgeführten Anwendungsmodul (23) weiterzuleiten.The wearable device (1) of claim 7, wherein the application proxy module (122) is further adapted to receive an application data request from the executing application module (23) along with the session specific identification data, the application data request containing the session specific identification data running browser module (20) to a remote application server (43), by the executed browser module (20) to receive an application data response from the remote application server (43) and forward the application data response to the running application module (23). 9. Tragbares Gerät (1) nach einem der Ansprüche 1 bis 8, das ferner ein Kryptografiemodul (124) umfasst, das dafür ausgelegt ist, von einem Benutzer des Computers (2) geheime persönliche Identifikationsdaten zu empfangen, eine sichere Kommunikationsverbindung mit einem fernen Zertifikationsserver (5) herzustellen, über die sichere Kommunikations-Verbindung mit dem fernen Zertifikationsserver (5) mindestens einen Teil der persönlichen Identifikationsdaten zur Verifikation weiterzuleiten, bei erfolgreicher Verifikation ein kryptografisches Schlüsselpaar zu erzeugen, eine Zertifikatsignieranforderung zu erzeugen und zum Zertifikationsserver (5) weiterzuleiten und ein kryptografisches Zertifikat (134) vom Zertifikationsserver (5) zu empfangen und sicher auf dem tragbaren Gerät (1) zu speichern.The wearable device (1) of any one of claims 1 to 8, further comprising a cryptographic module (124) adapted to receive secret personal identification data from a user of the computer (2), a secure communication link with a remote certification server (5) establish, via the secure communication link with the remote certification server (5), at least a portion of the personal identification data for verification, upon successful verification, generate a cryptographic key pair, generate a certificate signing request and forward to the certification server (5) Receive the cryptographic certificate (134) from the certification server (5) and securely store it on the portable device (1). 10. Tragbares Gerät (1) nach einem der Ansprüche 1 bis 9, wobei das Browser-Modul (120) als ein gehärteter Browser konfiguriert ist, die vom ausgeführten Browser-Modul (20) zur Laufzeit verwendeten Arbeitsdaten (131) mindestens eine der folgenden Alternativen enthalten: Sitzungs-Logs, Cache-Daten und Cookies, und das tragbare Gerät (1) eine USB-Schnittstelle zum Verbinden des Speichermediums mit dem Computer (2) umfasst.The wearable device (1) of any one of claims 1 to 9, wherein the browser module (120) is configured as a hardened browser, the working data (131) used by the executed browser module (20) at runtime, at least one of the following Alternatives include: session logs, cache data, and cookies, and the portable device (1) includes a USB interface for connecting the storage medium to the computer (2). 11. Kommunikationsverfahren zum sicheren Austauschen von Daten über ein Telekommunikationsnetz (3) zwischen einem lokalen Computer (2) und einem fernen Computer (4), wobei das Verfahren die folgenden Schritte umfasst: Bereitstellen eines tragbaren Geräts (1), das ein Speichermedium mit einem Nurlese-Speicherbereich (12) und einem Lese-/Schreib-Speicherbereich (13) umfasst; Speichern eines Browser-Moduls (120) im Nurlese-Speicherbereich (12); Verbinden des Speichermediums mit dem lokalen Computer (2); Laden des Browser-Moduls (120) zur Ausführung im lokalen Computer (2); und Verwenden des ausgeführten Browser-Moduls (20) zum Austauschen von Daten über das Telekommunikationsnetz (3) zwischen dem lokalen Computer (2) und dem fernen Computer (4), wobei das ausgeführte Browser-Modul (20) zur Laufzeit erzeugte oder empfangene Arbeitsdaten sicher im Lese-/Schreib-Speicherbereich (13) speichert und das ausgeführte Browser-Modul (20) sicher im Lese-/Schreib-Speicherbereich (13) gespeicherte Arbeitsdaten (131) je nach Bedarf durch das ausgeführte Browser-Modul (20) zur Laufzeit abruft.A communication method for securely exchanging data over a telecommunications network (3) between a local computer (2) and a remote computer (4), the method comprising the steps of: Providing a portable device (1) comprising a storage medium having a read only memory area (12) and a read / write memory area (13); Storing a browser module (120) in the read only memory area (12); Connecting the storage medium to the local computer (2); Loading the browser module (120) for execution in the local computer (2); and Using the executed browser module (20) to exchange data over the telecommunication network (3) between the local computer (2) and the remote computer (4), wherein the executed browser module (20) ensures runtime generated or received work data in the read / write memory area (13) stores and the executed browser module (20) securely in the read / write memory area (13) stored working data (131) as required by the executed browser module (20) at runtime retrieves. 12. Verfahren nach Anspruch 11, wobei mindestens ein Teil des Lese-/Schreib-Speicherbereichs (13) als eine versteckte Speicherzone eingerichtet wird und die durch das ausgeführte Browser-Modul (20) zur Laufzeit erzeugten oder empfangenen Arbeitsdaten in der versteckten Speicherzone speichert und die vom ausgeführten Browser-Modul (20) zur Laufzeit benötigten Arbeitsdaten (131) aus der versteckten Speicherzone abruft.12. The method of claim 11, wherein at least part of the read / write memory area (13) is set up as a hidden memory zone and stores the working data generated or received by the executed browser module (20) at runtime in the hidden memory zone, and the working data (131) required by the executed browser module (20) at runtime retrieves from the hidden storage zone. 13. Verfahren nach einem der Ansprüche 11 oder 12, wobei das ausgeführte Browser-Modul (20) zur Laufzeit erzeugte oder empfangene Arbeitsdaten verschlüsselt und im Lese-/Schreib-Speicherbereich (13) speichert und das ausgeführte Browser-Modul (20) zur Laufzeit benötigte Arbeitsdaten (131) aus dem Lese-/Schreib-Speicherbereich (13) abruft und entschlüsselt.13. The method according to any one of claims 11 or 12, wherein the executed browser module (20) at runtime generated or received work data encrypted and stored in the read / write memory area (13) and the executed browser module (20) at run time retrieves required data (131) from the read / write memory area (13) and decrypts. 14. Verfahren nach einem der Ansprüche 11 bis 13, das ferner die folgenden Schritte umfasst: Speichern eines Anwendungsmoduls (123) im Nurlese-Speicherbereich (12); Laden des Anwendungsmoduls (123) zur Ausführung im lokalen Computer (2); Verschlüsseln und Speichern von von einem Benutzer des lokalen Computers (2) empfangenen und/oder durch das ausgeführte Anwendungsmodul (23) erzeugten Anwendungsdaten durch das ausgeführte Anwendungsmodul (23) im Lese-/Schreib-Speicherbereich (13); und Abrufen, Entschlüsseln und Leiten von gespeicherten Anwendungsdaten (132) zum ausgeführten Browser-Modul (20).14. The method according to any one of claims 11 to 13, further comprising the following steps: Storing an application module (123) in the read only memory area (12); Loading the application module (123) for execution in the local computer (2); Encrypting and storing application data received from a user of the local computer (2) and / or generated by the executed application module (23) by the executed application module (23) in the read / write memory area (13); and Retrieving, decrypting and directing stored application data (132) to the executed browser module (20). 15. Verfahren nach einem der Ansprüche 11 bis 14, das ferner die folgenden Schritte umfasst: Koppeln eines Anwendungs-Proxy-Moduls (122) mit dem Browser-Modul (120); Laden des Anwendungs-Proxy-Moduls (122) zur Ausführung im lokalen Computer (2); Empfangen einer Login-Anforderung vom im Computer (2) ausgeführten Anwendungsmodul (23), Weiterleiten der Login-Anforderung durch das ausgeführte Browser-Modul (20) zum fernen Computer (4), Empfangen einer Login-Antwort mit sitzungsspezifischen Identifikationsdaten für eine angenommene Login-Anforderung und Weiterleiten der sitzungsspezifischen Daten zum ausgeführten Anwendungsmodul (23) durch das ausgeführte Anwendungs-Proxy-Modul (22).15. The method according to any one of claims 11 to 14, further comprising the following steps: Coupling an application proxy module (122) to the browser module (120); Loading the application proxy module (122) for execution in the local computer (2); Receiving a login request from the application module (23) executing in the computer (2), forwarding the login request by the executed browser module (20) to the remote computer (4), receiving a login response with session-specific identification data for an accepted login Requesting and forwarding the session-specific data to the executed application module (23) by the executed application proxy module (22). 16. Verfahren nach Anspruch 15, wobei das ausgeführte Anwendungs-Proxy-Modul (22) ferner vom ausgeführten Anwendungsmodul (23) zusammen mit den sitzungsspezifischen Identifikationsdaten eine Anwendungsdatenanforderung empfängt, die Anwendungsdatenanforderung mit den sitzungsspezifischen Identifikationsdaten durch das Browser-Modul (120) zum fernen Computer (4) weiterleitet, durch das Browser-Modul (120) eine Anwendungsdatenantwort vom fernen Computer (4) empfängt und die Anwendungsdatenantwort zum ausgeführten Anwendungsmodul (23) weiterleitet.The method of claim 15, wherein the executing application proxy module (22) further receives an application data request from the executing application module (23) along with the session-specific identification data, the application data request with the session-specific identification data by the browser module (120) for remote Computer (4), receives an application data response from the remote computer (4) through the browser module (120), and forwards the application data response to the executing application module (23). 17. Verfahren nach einem der Ansprüche 11 bis 16, das ferner die folgenden Schritte umfasst: Empfangen von geheimen persönlichen Identifikationsdaten von einem Benutzer des lokalen Computers (2), Herstellen einer sicheren Kommunikationsverbindung mit einem fernen Zertifikationsserver (5), Weiterleiten mindestens eines Teils der persönlichen Identifikationsdaten zur Verifikation über die sichere Kommunikationsverbindung zum fernen Zertifikationsserver (5), Erzeugen eines kryptographischen Schlüsselpaars bei erfolgreicher Verifikation, Erzeugen und Weiterleiten einer Zertifikatsignieranforderung zum Zertifikationsserver (5), Empfangen eines kryptografischen Zertifikats vom Zertifikationsserver (5) und sicheres Speichern des kryptografischen Zertifikats (134) auf dem tragbaren Gerät (1).17. The method according to any one of claims 11 to 16, further comprising the following steps: Receiving secret personal identification data from a user of the local computer (2), establishing a secure communication connection with a remote certification server (5), forwarding at least a portion of the personal identification data for verification via the secure communication connection to the remote certification server (5), generating a cryptographic Key pairs upon successful verification, generating and forwarding a certificate signing request to the certification server (5), receiving a cryptographic certificate from the certification server (5) and securely storing the cryptographic certificate (134) on the portable device (1). 18. Computerprogrammprodukt, das Computerprogrammcodemittel umfasst zum Steuern eines oder mehrerer Prozessoren eines tragbaren Geräts (1) zum sicheren Austauschen von Daten über ein Telekommunikationsnetz (3) zwischen einem lokalen Computer (2) und einem fernen Computer (4), wobei das tragbare Gerät (1) ein Speichermedium, das mit dem lokalen Computer (2) verbindbar ist, umfasst, wobei das Speichermedium einen Nurlese-Speicherbereich (12) und einen Lese-/Schreib-Speicherbereich (13) umfasst, wobei im Nurlese-Speicherbereich (12) ein Browser-Modul (120) gespeichert ist, wobei die Computerprogrammcodemittel dergestalt sind, dass das Browser-Modul (120) bei Verbindung mit dem lokalen Computer (2) zur Ausführung in den lokalen Computer (2) geladen wird, wobei das ausgeführte Browser-Modul (20) dafür ausgelegt ist, Daten über das Telekommunikationsnetz (3) zwischen dem lokalen Computer (2) und dem fernen Computer (4) auszutauschen sowie durch das ausgeführte Browser-Modul (20) zur Laufzeit erzeugte oder empfangene Arbeitsdaten sicher im Lese-/Schreib-Speicherbereich (13) zu speichern und im Lese-/Schreib-Speicherbereich (13) sicher gespeicherte Arbeitsdaten (131) je nach Bedarf durch das ausgeführte Browser-Modul (20) zur Laufzeit abzurufen.A computer program product comprising computer program code means for controlling one or more processors of a portable device (1) for securely exchanging data over a telecommunication network (3) between a local computer (2) and a remote computer (4), the portable device (4) 1) comprises a storage medium connectable to the local computer (2), the storage medium comprising a read only memory area (12) and a read / write memory area (13), wherein in the read only memory area (12) Browser module (120) is stored, wherein the computer program code means are such that the browser module (120) is loaded in connection with the local computer (2) for execution in the local computer (2), wherein the executed browser module (20) is adapted to exchange data via the telecommunications network (3) between the local computer (2) and the remote computer (4) and by the executed browser module (20) for Run time generated or received work data safely in the read / write memory area (13) to store and read in the read / write memory area (13) securely stored work data (131) as needed by the executed browser module (20) at runtime ,
CH01812/10A 2008-05-14 2008-05-14 The portable apparatus and method for securely exchanging data with a remote computer. CH701203B1 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CH2008/000216 WO2009137946A1 (en) 2008-05-14 2008-05-14 Portable device and method for exchanging data securely with a remote computer

Publications (1)

Publication Number Publication Date
CH701203B1 true CH701203B1 (en) 2013-05-15

Family

ID=40228035

Family Applications (1)

Application Number Title Priority Date Filing Date
CH01812/10A CH701203B1 (en) 2008-05-14 2008-05-14 The portable apparatus and method for securely exchanging data with a remote computer.

Country Status (2)

Country Link
CH (1) CH701203B1 (en)
WO (1) WO2009137946A1 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8713705B2 (en) 2009-08-03 2014-04-29 Eisst Ltd. Application authentication system and method
CN103455011A (en) * 2013-09-11 2013-12-18 昆山奥德鲁自动化技术有限公司 Intelligent terminal device
US11122013B2 (en) 2017-02-16 2021-09-14 Emerald Cactus Ventures, Inc. System and method for encrypting data interactions delineated by zones
US11165825B2 (en) 2017-02-16 2021-11-02 Emerald Cactus Ventures, Inc. System and method for creating encrypted virtual private network hotspot
WO2018151851A1 (en) 2017-02-16 2018-08-23 Tenta, Llc System and method for establishing simultaneous encrypted virtual private networks from a single computing device
US11258772B2 (en) 2018-06-19 2022-02-22 Cypress Semiconductor Corporation Secured communication from within non-volatile memory device

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020162009A1 (en) * 2000-10-27 2002-10-31 Shimon Shmueli Privacy assurance for portable computing
US20070233880A1 (en) * 2005-10-20 2007-10-04 The Trustees Of Columbia University In The City Of New York Methods, media and systems for enabling a consistent web browsing session on different digital processing devices
US7624440B2 (en) * 2006-08-01 2009-11-24 Emt Llc Systems and methods for securely providing and/or accessing information

Also Published As

Publication number Publication date
WO2009137946A1 (en) 2009-11-19

Similar Documents

Publication Publication Date Title
EP2533172B1 (en) Secure access to data in a device
DE602004002140T2 (en) Universal secure data exchange for cryptographic modules
DE60214632T2 (en) Multidomain authorization and authentication
EP3077952B1 (en) Method for accessing a data memory of a cloud computer system
EP3078177B1 (en) Method for accessing a data memory of a cloud computer system using a modified domain name system (dns)
WO2013181682A1 (en) Method and device for control of a lock mechanism using a mobile terminal
EP1688857A2 (en) Method for logging a user into a computer system
DE10212620A1 (en) Secure user and data authentication via a communication network
DE10212619A1 (en) Secure user authentication over a communication network
DE102009042673A1 (en) Storage of composite services on unreliable hosts
EP3909221B1 (en) Method for securely providing a personalized electronic identity on a terminal
CH701203B1 (en) The portable apparatus and method for securely exchanging data with a remote computer.
DE69925482T2 (en) METHOD, DEVICE AND DEVICE FOR AUTHENTICATION
EP3908946B1 (en) Method for securely providing a personalized electronic identity on a terminal
EP2620892B1 (en) Method for generating a pseudonym with the help of an ID token
DE102009057800A1 (en) Method for providing secure and convenient access to online accounts via remote forwarding
US20230306103A1 (en) Pre-registration of authentication devices
EP3540623B1 (en) Method for generating a pseudonym with the help of an id token
DE102010030311A1 (en) A method for reading attributes from an ID token via a telecommunications smart card and a server computer system
EP2591583B1 (en) Method for secure communication and encryption for internet communication
EP2239673A1 (en) Method and system for storing data upon a public net
DE102011015967B4 (en) Method for decrypting digital data

Legal Events

Date Code Title Description
PFA Name/firm changed

Owner name: CREALOGIX HOLDING AG

Free format text: CREALOGIX HOLDING AG#BASLERSTRASSE 60#8048 ZUERICH (CH) -TRANSFER TO- CREALOGIX HOLDING AG#BASLERSTRASSE 60#8048 ZUERICH (CH)

PCAR Change of the address of the representative

Free format text: NEW ADDRESS: BELLERIVESTRASSE 203 POSTFACH, 8034 ZUERICH (CH)

PL Patent ceased