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 PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/34—User 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)
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)
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)
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 |
-
2008
- 2008-05-14 CH CH01812/10A patent/CH701203B1/en not_active IP Right Cessation
- 2008-05-14 WO PCT/CH2008/000216 patent/WO2009137946A1/en active Application Filing
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 |