WO2012019703A1 - Tragbarer datenträger mit einem web-server - Google Patents
Tragbarer datenträger mit einem web-server Download PDFInfo
- Publication number
- WO2012019703A1 WO2012019703A1 PCT/EP2011/003742 EP2011003742W WO2012019703A1 WO 2012019703 A1 WO2012019703 A1 WO 2012019703A1 EP 2011003742 W EP2011003742 W EP 2011003742W WO 2012019703 A1 WO2012019703 A1 WO 2012019703A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- control unit
- processor
- data carrier
- type
- web server
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0038—System on Chip
Definitions
- the invention relates to a portable data carrier, in particular a chip card, with a control unit, which is coupled for exchanging data via a first communication connection with a data memory and via a second communication connection with a processor.
- the control unit can be further coupled via an interface of the data carrier with an external device.
- a web server and at least one application are implemented.
- the invention further relates to a method for operating a portable data carrier of the type described above.
- a Web server is a program that interprets HTTP requests and returns the associated responses to the requesting device by implementing a Web server in a portable data carrier, such as a microSD card It is intended to simplify and standardize the application-level communication with the data carrier, thereby enabling a data carrier, such as static or dynamic web pages, to be exchanged in the same way as computers.
- the web server can be implemented in the operating system of a so-called smartcard chip provided in the portable data carrier (ie a processor of the data carrier).
- a portable data carrier for example a micro SD card.
- the control unit 2 can be coupled via an interface 7, for example an SD interface, with an external device for data exchange.
- a communication link 4 data communication between the control unit 2, for example a flash controller, and the data memory 3, for example a flash memory, can be realized.
- the control unit 2 can exchange data with the processor 5 embodied, for example, as a smartcard chip.
- Reference numeral 8 denotes the web server which is operated by the operating system of the processor 5.
- the control unit 2 can merely tunnel an http request received via the interface 7 for processing by the web server 8 on the processor 5.
- the result of the processing of the http request by the processor 5 is tunneled back to the requesting external device by the control unit 2 via the interface 7.
- the processor 5 has no communication connection to the data memory 3, so that http requests can not relate to information stored therein.
- a processor in the form of a smart card chip has a lower performance than that of e.g. formed as a flash controller control unit 2 is the case.
- the web server 8 could be provided in the control unit 2, which in turn may be configured as a flash controller in the example shown in FIG.
- One problem with this variant is the portability and security of the applications using the web server.
- These applications are often called "servlets" designated.
- the applications represent implementations of services of service providers.
- a service provider typically wishes to be able to operate a once developed application (servlet) on different data media from different manufacturers.
- this problem is usually solved by the use of Java, with which the applications are made executable on a virtual machine. In the embodiment shown in FIG. 2, this would require the provision of a virtual machine in the control unit 2. If the service offered by a service provider is critical to security, then the virtual machine in the control unit 2 providing the service must be secured. However, this procedure involves a great deal of effort.
- the invention provides a portable data carrier, in particular a chip card, with a control unit which is coupled to a data connection over a first MedurtikationsMIS with a data memory and a second communication connection to a processor and coupled via an interface of the data carrier with an external device is.
- a portable data carrier in particular a chip card
- a control unit which is coupled to a data connection over a first MedurtikationsENS with a data memory and a second communication connection to a processor and coupled via an interface of the data carrier with an external device is.
- the disk is a web server and at least one application using the web server implemented.
- the web server is implemented in the control unit such that http requests of a first type are processed by the control unit and http requests of a second type are forwarded by the control unit to the processor for processing.
- the at least one application is a JavaCard application which, when the data carrier is used, is executed by a virtual machine of the processor and processes the http request of the second type.
- the web server is implemented in the control unit such that the http request of the second type is at least partially forwarded by the control unit to the processor for processing. For example, only those parts of the request that are needed to create the dynamic parts of the response are forwarded. This procedure increases the efficiency in the operation of the data carrier according to the invention.
- a parallel operation of the processor and the control unit is provided in the processing of HTTP requests, whereby the processing speed can be increased over the solutions known from the prior art.
- the web server is implemented in the control unit in such a way that all HTTP requests are preprocessed by it.
- the preprocessing takes place in particular with regard to checks or the processing of a header of the http request (header parsing).
- the preprocessing also includes determining if the received HTTP request is of the first or second type, depending on the result, either processing the HTTP request by the control unit itself or forwarding it to the processor for processing.
- the processor is a security element of the data carrier, whereby the applications using the virtual machine of the processor benefit from the associated security functions.
- the invention furthermore provides a method for operating a portable data carrier, in particular a chip card, comprising a control unit which is coupled to a data memory for exchanging data via a first communication link and to a processor via a second communications link.
- the control unit can be further coupled via an interface of the data carrier with an external device.
- a web server and in the processor at least one application.
- http requests directed to the data carrier are checked to see whether they are an http request of a first type or an http request of a second type, http requests of the first type being processed by the control unit and http requests of the second type are forwarded by the control unit to the processor and processed by the latter.
- the at least one application is a JavaCard application which, when the data carrier is used, is executed by a virtual machine of the processor and processes the HTTP request of the second type.
- Such applications are referred to as servlet, as explained above.
- the HTTP request of the second type is at least partially forwarded by the control unit to the processor for processing. For example, only the forwarded to those parts of the request needed to create the dynamic parts of the response.
- all the http requests are preprocessed by the web server in the control unit.
- preprocessing e.g. evaluated the header of the http request and made usual checks.
- the forwarding of the http request to the processor comprises a conversion of the http request.
- a conversion may be necessary, for example, if the http query directed to the data carrier does not take into account the specific characteristics of a data carrier.
- FIG. 1 shows a first possible implementation variant already described for implementing a web server in a portable data carrier
- FIG. 2 shows an already described second possible implementation variant for implementing a web server in a portable data carrier
- FIG. 3 shows a data carrier in which a web server is implemented according to the invention
- 3 shows a schematic representation of a portable data carrier according to the invention, for example in the form of a micro SD card in which a web server 8 is implemented.
- a web server (sometimes referred to as http server) is generally provided in a portable data carrier when communication interfaces to the data carrier at the application level are to be standardized and simplified.
- a web server is a program that interprets http requests and returns the corresponding responses to the device requesting an http request.
- a web server typically supports the http commands GET, HEAD, POST, PUT, DELETE, TRACE and CONNECT. For cryptographic security of the data transmission, https, ie http with SSL / TLS, can be supported instead of pure http.
- the architecture of a web server implemented on a portable data carrier is schematically as follows: Based on a necessary protocol stack is a parser that interprets incoming HTTP requests. The http command, the pertinent parameters and the passing URL (Uniform Resource Locator) are used in the interpretation. If the parser can interpret the received date, the detected http command is processed.
- the http command the pertinent parameters and the passing URL (Uniform Resource Locator) are used in the interpretation. If the parser can interpret the received date, the detected http command is processed.
- HTML files depends on the file system supported by the portable media. If the data storage provided on the portable data carrier is sufficiently large, a FAT16 or a FAT32 file system can be provided as the file system. This is often feasible if the data store is a NAND flash memory. The file system mentioned also supports the computer-aided file men. In this case, the HTML files addressed in the http commands can be returned directly in response to the device sending the request. A transformation of file names is not necessary. However, if the volume has an ISO / IEC 7816 file system, the file name requested in a standard PC notation must be translated into a filename of the volume. This can be done for example via a simple translation table.
- the data carrier 1 conventionally comprises a control unit 2, a data memory 3 and a processor 5.
- the control unit 2 represents, for example, a flash controller for controlling the data memory 3 designed as a flash memory.
- a communication connection between the control unit 2 and the data memory 3 is identified by the reference numeral 4.
- the processor 5 is preferably designed as a secure smart card chip (security element). Communication between the control unit 2 and the processor 5 takes place via a communication link 6.
- the control unit 2 can be connected in operation via an interface 7 to an external device, e.g. a read-write device of a computer, be coupled and via the interface 7 exchange data with the external device.
- the web server 8 is implemented according to the invention in the control unit 2.
- the Web server 8 takes on the one hand, the preprocessing of a directed to the disk 1 http request.
- the preprocessing includes usual checks (checks) as well as the header parsing header check, etc.
- the web server checks to see if the http request is of a first or second type.
- An http request is of the first type if it can be answered by a static content response.
- An http request is of the second type if its Response includes dynamic content, which must be generated by an application running on the disk.
- http requests of the first type are processed by the control unit itself in that the control unit accesses data stored in the data memory 3, http requests of the second type are processed by an application 10 running on the processor 5.
- This application, a so-called servlet is preferably a JavaCard application which, when the data carrier is used, is executed by a virtual machine 9 of the processor 5 and processes the HTTP request of the second type.
- controller 2 determines that the http request is a second type request, it forwards it to application 10 of the processor for further processing. As part of the redirection may be made a format conversion. The processing is carried out - as explained - by running on the processor 5 application 10. It may be sufficient under certain circumstances, only a part of the HTTP request of the second type to forward the processor. In particular, only those parts of the request that are needed to create the dynamic parts of the response need to be forwarded.
- the application can generate 10 answers with dynamic content.
- the answer is sent back to the control unit 2, which then optimally processes it further and transmits it to the device sending the http request.
- the proposed implementation of the web server in the arithmetic unit uses a Java Virtual Machine of the processor. Through this implementation The virtual machine does not have to be provided in the arithmetic unit, the flash controller of the data memory. This reduces the cost and complexity of the architecture.
- JavaCard applications provided in the processor benefit from all the advantages of the JavaCard platform.
- a once developed JavaCard application can be ported to any other Java Card platform.
- the application can use the security functions of the processor.
- the data carrier according to the invention has a "two-controller architecture", which is formed by the arithmetic unit and the processor of the data carrier, wherein the processing of an http request and the preparation of an http response by the control unit in parallel with the processing of information by the application of the smart card chip take place, resulting in a high performance.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Abstract
Die Erfindung beschreibt einen tragbaren Datenträger (1), insbesondere Chipkarte, mit einer Steuereinheit (2), die zum Austausch von Daten über eine erste Kommunikationsverbindung (4) mit einem Datenspeicher (3) und über eine zweite Kommunikationsverbindung (6) mit einem Prozessor (5) gekoppelt ist sowie über eine Schnittstelle (7) des Datenträgers (1) mit einem externen Gerät koppelbar ist. In dem Datenträger (1) sind ein Web-Server (8) und zumindest eine Anwendung (10) implementiert. Der Web-Server (8) ist in der Steuereinheit (2) derart implementiert, dass http-Anfragen eines ersten Typs durch die Steuereinheit (2) verarbeitet werden und http-Anfragen eines zweiten Typs von der Steuereinheit (2) an den Prozessor (5) zur Verarbeitung weitergeleitet werden.
Description
T r a g b a r e r D a t e n t r ä g e r m i t e i n e m W e b - S e r v e r
Die Erfindung betrifft einen tragbaren Datenträger, insbesondere eine Chipkarte, mit einer Steuereinheit, die zum Austausch von Daten über eine erste Kommunikationsverbindung mit einem Datenspeicher und über eine zweite Kommunikationsverbindung mit einem Prozessor gekoppelt ist. Die Steuereinheit ist weiter über eine Schnittstelle des Datenträgers mit einem externen Gerät koppelbar. In dem Datenträger sind ein Web-Server und zumindest eine Anwendung implementiert. Die Erfindung betrifft weiter ein Verfahren zum Betreiben eines tragbaren Datenträgers der oben beschriebenen Art.
Aus dem„Handbuch für Chipkarten" von Wolfgang Rankl, Wolfgang Ef- fing, 5. Auflage, 2008, Carl Hanser Verlag, Kapitel 23.3, Seiten 992 bis 994, sind tragbare Datenträger mit darauf implementierten http-Servern bekannt, welche auch als Web-Server bezeichnet werden. Ein Web-Server ist ein Programm, das http- Anfragen interpretiert und die dazugehörigen Antworten an das die Anfrage stellende Gerät zurücksendet. Durch die Implementie- rung eines Web-Servers in einem tragbaren Datenträger, wie z.B. einer mikro SD-Karte, soll die Kommunikation mit dem Datenträger auf Anwendungsebene vereinfacht und vereinheitlicht werden. Hierdurch soll erreicht werden, dass mit einem Datenträger Daten, wie beispielsweise statische oder dynamische Webseiten, in der gleichen Weise wie mit Computern ausge- tauscht werden können.
In einer möglichen Ausgestaltungsvariante kann der Web-Server im Betriebssystem eines in dem tragbaren Datenträger vorgesehenen sog. Smartcard-Chip (d.h. einem Prozessor des Datenträgers) implementiert werden. Dies ist exemplarisch in Fig. 1 dargestellt. Fig. 1 zeigt einen tragbaren Datenträger 1, beispielsweise eine mikro SD-Karte. In dieser sind eine Steuereinheit
2, ein Datenspeicher 3 sowie ein Prozessor 5 angeordnet. Die Steuereinheit 2 ist über eine Schnittstelle 7, beispielsweise ein SD-Interface, mit einem externen Gerät zum Datenaustausch koppelbar. Über eine Kommunikationsverbindung 4 ist eine Datenkommunikation zwischen der Steuereinheit 2, bei- spielsweise einem Flash-Controller, und dem Datenspeicher 3, beispielsweise einem Flash-Speicher, realisierbar. Über eine Kommunikationsverbindung 6 kann die Steuereinheit 2 Daten mit dem beispielsweise als Smartcard-Chip ausgebildeten Prozessor 5 austauschen. Mit dem Bezugszeichen 8 ist dabei der Web-Server gekennzeichnet, der durch das Betriebssystem des Prozes- sors 5 betrieben wird.
In der in Fig. 1 gezeigten möglichen Variante zur Implementierung eines Web-Servers in einem Datenträger kann die Steuereinheit 2 eine über die Schnittstelle 7 empfangene http- Anfrage zur Verarbeitung durch den Web- Server 8 auf dem Prozessor 5 lediglich tunneln. Das Ergebnis der Verarbeitung der http- Anfrage durch den Prozessor 5 wird durch die Steuereinheit 2 über die Schnittstelle 7 an das die Anfrage stellende externe Gerät zurück getunnelt. Nachteil dieser Architektur ist, dass der Prozessor 5 keine Kommunikationsverbindung zu dem Datenspeicher 3 aufweist, so dass http- Anfragen sich nicht auf darin gespeicherte Informationen beziehen können. Darüber hinaus weist ein Prozessor in Gestalt eines Smartcard-Chips eine geringere Performanz auf, als dies bei einer z.B. als Flash-Controller ausgebildeten Steuereinheit 2 der Fall ist.
In einer alternativen möglichen Ausgestaltung könnte der Web-Server 8 in der Steuereinheit 2 vorgesehen werden, welche in dem in Fig. 2 dargestellten Beispiel wiederum als Flash-Controller ausgebildet sein kann. Ein Problem dieser Variante besteht in der Portabilität und Sicherheit der den Web-Server nutzenden Applikationen. Diese Applikationen werden häufig als„Servlets"
bezeichnet. Üblicherweise stellen die Applikationen (Servlets) Implementierungen von Diensten von Dienstanbietern dar. Ein Dienstanbieter möchte jedoch typischerweise eine einmal entwickelte Applikation (Servlet) auf verschiedenen Datenträgern von unterschiedlichen Herstellern betreiben kön- nen. Im Umfeld von Computern wird dieses Problem üblicherweise durch die Verwendung von Java gelöst, mit dem die Applikationen auf einer virtuellen Maschine lauffähig gemacht werden. In dem in Fig. 2 gezeigten Ausführungsbeispiel würde dies das Vorsehen einer virtuellen Maschine in der Steuereinheit 2 erfordern. Wenn der durch einen Dienstanbieter angebotene Dienst sicherheitskritisch ist, dann muss die virtuelle Maschine in der Steuereinheit 2, welche den Dienst zur Verfügung stellt, abgesichert werden. Dieses Vorgehen ist jedoch mit einem hohen Aufwand verbunden.
Es ist daher Aufgabe der vorliegenden Erfindung, einen tragbaren Datenträ- ger, insbesondere eine Chipkarte, sowie ein Verfahren zum Betreiben eines trägbaren Datenträgers anzugeben, mit dem ein Web-Server auf einfachere Weise in einem tragbaren Datenträger implementiert und betrieben werden kann. Diese Aufgaben werden gelöst durch einen tragbaren Datenträger gemäß den Merkmalen des Patentanspruches 1 sowie ein Verfahren gemäß den Merkmalen des Patentanspruches 9. Vorteilhafte Ausgestaltungen ergeben sich aus den abhängigen Patentansprüchen. Die Erfindung schafft einen tragbaren Datenträger, insbesondere eine Chipkarte, mit einer Steuereinheit, die zum Austausch von Daten üb;r eine erste Kommurtikationsverbindung mit einem Datenspeicher und über eine zweite Kommunikationsverbindung mit einem Prozessor gekoppelt ist sowie über eine Schnittstelle des Datenträgers mit einem externen Gerät koppelbar ist. In
dem Datenträger sind ein Web-Server und zumindest eine den Web-Server nutzende Anwendung implementiert. Erfindungsgemäß ist der Web-Server in der Steuereinheit derart implementiert, dass http- Anfragen eines ersten Typs durch die Steuereinheit verarbeitet werden und http- Anfragen eines zweiten Typs von der Steuereinheit an den Prozessor zur Verarbeitung weitergeleitet werden.
Bei einem erfindungsgemäßen tragbaren Datenträger ist sichergestellt, dass bei der Bearbeitung einer von einem externen Gerät empfangenen http- Abfrage ein Zugriff auf die in dem Datenspeicher enthaltenen Daten möglich ist. Darüber hinaus weist der erfindungsgemäße Datenträger gegenüber der aus dem Stand der Technik bekannten Anordnung eine erhöhte Performanz aus. In einer zweckmäßigen Ausgestaltung ist die zumindest eine Anwendung eine JavaCard- Applikation, welche bei Nutzung des Datenträgers durch eine virtuelle Maschine des Prozessors ausgeführt wird und die http- Anfrage zweiten Typs verarbeitet. Durch das Vorsehen der virtuellen Maschine auf dem Prozessor des Datenträgers kann die Sicherheit und Portabilität der Anwendungen auf einfache Weise sichergestellt werden. Darüber hinaus wird durch das Vorsehen der virtuellen Maschine in dem Prozessor anstelle der mit dem Datenspeicher verbundenen Steuereinheit sichergestellt, dass der für die virtuelle Maschine benötigte Speicherbedarf nicht dem Speicher der Steuereinheit„entzogen" wird. http- Anfragen des ersten Typs sind Anfragen, welche durch eine Antwort mit statischem Inhalt beantwortet werden können, der durch einen Zugriff der Steuerreinheit in dem Datenspeicher gespeicherte Daten erzeugbar ist. Demgegenüber sind http- Anfragen des zweiten Typs Anfragen, deren Ant-
wort dynamischen Inhalt umfasst, der durch die zumindest eine Anwendung erzeugbar ist. Diese Unterscheidung ermöglicht die Verarbeitung von http- Anfragen entsprechend ihres Erfordernisses einmal in der Steuereinheit und einmal in dem Prozessor.
Gemäß einer weiteren Ausgestaltung ist der Web-Server in der Steuereinheit derart implementiert, dass die http- Anfrage des zweiten Typs von der Steuereinheit zumindest teilweise an den Prozessor zur Verarbeitung weitergeleitet wird. Es werden beispielsweise nur diejenigen Teile der Anfrage weiter- geleitet, die für die Erstellung der dynamischen Teile der Antwort benötigt werden. Diese Vorgehensweise erhöht die Effizienz beim Betrieb des erfindungsgemäßen Datenträgers.
Gemäß einer weiteren Ausgestaltung ist ein paralleler Betrieb des Prozessors und der Steuereinheit bei der Verarbeitung von http- Anfragen vorgesehen, wodurch die Verarbeitungsgeschwindigkeit gegenüber den aus dem Stand der Technik bekannten Lösungen erhöht werden kann.
Gemäß einer weiteren zweckmäßigen Ausgestaltung ist der Web-Server in der Steuereinheit derart implementiert, dass durch diesen sämtliche http- Anfragen vorverarbeitet werden. Die Vorverarbeitung erfolgt insbesondere im Hinblick auf Überprüfungen (Checks) oder die Verarbeitung eines Headers der http- Anfrage (Header Parsing). Die Vorverarbeitung umfasst darüber hinaus die Ermittlung, ob die empfangene http- Anfrage vom ersten oder zweiten Typ ist, wobei in Abhängigkeit des Ergebnisses die http- Anfrage entweder durch die Steuereinheit selbst verarbeitet oder an den Prozessor zur Verarbeitung weiter geleitet wird.
Gemäß einer weiteren zweckmäßigen Ausgestaltung ist der Prozessor ein Sicherheitselement des Datenträgers, wodurch die die virtuelle Maschine des Prozessor nutzenden Applikationen in den Genuss der damit verbundenen Sicherheitsfunktionen gelangen.
Die Erfindung schafft weiterhin ein Verfahren zum Betreiben eines tragbaren Datenträgers, insbesondere einer Chipkarte, der eine Steuereinheit umf asst, die zum Austausch von Daten über eine erste Kommunikationsverbindung mit einem Datenspeicher und über eine zweite Koirimunikationsverbindung mit einem Prozessor gekoppelt ist. Die Steuereinheit ist weiter über eine Schnittstelle des Datenträgers mit einem externen Gerät koppelbar. In der Steuereinheit sind ein Web-Server und in dem Prozessor zumindest eine Anwendung implementiert. Bei dem erfindungsgemäßen Verfahren werden an den Datenträger gerichtete http- Anfragen daraufhin überprüft, ob sie eine http- Anfrage eines ersten Typs oder eine http- Anfrage eines zweiten Typs sind, wobei http- Anfragen des ersten Typs durch die Steuereinheit verarbeitet werden und http- Anfragen des zweiten Typs von der Steuereinheit an den Prozessor weitergeleitet und durch diesen verarbeitet werden. In einer zweckmäßigen Ausgestaltung ist die zumindest eine Anwendung eine JavaCard- Applikation, welche bei Nutzung des Datenträgers durch eine virtuelle Maschine des Prozessors ausgeführt wird und die http- Anfrage des zweiten Typs verarbeitet. Derartige Anwendungen werden, wie oben bereits erläutert, als Servlet bezeichnet.
Um die Effizienz beim Betrieb des Datenträgers zu erhöhen, wird die http- Anfrage des zweiten Typs von der Steuereinheit zumindest teilweise an den Prozessor zur Verarbeitung weitergeleitet. Es werden beispielsweise nur die-
jenigen Teile der Anfrage weitergeleitet, die für die Erstellung der dynamischen Teile der Antwort benötigt werden.
In einer weiteren Ausgestaltung des Verfahrens werden durch den Web- Server in der Steuereinheit sämtliche http- Anfragen vorverarbeitet. Im Rahmen der Vorverarbeitung werden z.B. der Header der http- Anfrage ausgewertet sowie übliche Überprüfungen vorgenommen.
In einer weiteren zweckmäßigen Ausgestaltung umfasst das Weiterleiten der http- Anfrage an den Prozessor eine Konvertierung der http- Anfrage. Eine solche Konvertierung kann beispielsweise dann notwendig sein, wenn die an den Datenträger gerichtete http- Abfrage die spezifischen Eigenheiten eines Datenträgers nicht berücksichtigt. Die Erfindung wird nachfolgend näher anhand eines Ausführungsbeispiels in der Zeichnung erläutert. Es zeigen:
Fig. 1 eine bereits beschriebene, erste mögliche Realisierungsvariante zur Implementierung eines Web-Servers in einem tragbaren Datenträger,
Fig. 2 eine bereits beschriebene, zweite mögliche Realisierungsvariante zur Implementierung eines Web-Servers in einem tragbaren Datenträger, und Fig. 3 einen Datenträger, in dem ein Web-Server erfindungsgemäß implementiert ist.
Fig. 3 zeigt eine schematische Darstellung eines erfindungsgemäßen tragbaren Datenträgers, beispielsweise in Gestalt einer mikro SD-Karte, in dem ein Web-Server 8 implementiert ist. Ein Web-Server (manchmal auch als http-Server bezeichnet) wird allgemein in einem tragbaren Datenträger vorgesehen, wenn Kommunikationsschnitt- stellen zu dem Datenträger auf Applikationsebene vereinheitlicht und vereinfacht werden sollen. Ein Web-Server ist ein Programm, das http- Anfragen interpretiert und die dazugehörigen Antworten an das eine http- Anfrage stellende Gerät zurücksendet. Dazu unterstützt ein Web-Server typischerweise die http-Kommandos GET, HEAD, POST, PUT, DELETE, TRACE und CONNECT. Zur kryptographischen Sicherung der Datenübertragung kann anstelle von reinem http auch https, d.h. http mit SSL/TLS unterstützt werden.
Die Architektur eines auf einem tragbaren Datenträger implementierten Web-Servers ist schematisch wie folgt: Aufsetzend auf einen notwendigen Protokollstapel befindet sich ein Parser, der eingehende http- Anfragen interpretiert. In die Interpretation fließen das http-Kommando, die dazugehöri- gen Parameter und der übergebende URL (Uniform Ressource Locator) ein. Kann der Parser das empfangene Datum interpretieren, so erfolgt eine Abarbeitung des erkannten http-Kommandos.
Die Speicherung von HTML-Dateien hängt von dem von dem tragbaren Da- tenträger unterstützten Dateisystem ab. Ist der auf dem tragbaren Datenträger vorgesehene Datenspeicher ausreichend groß, so kann als Dateisystem ein FAT16 oder ein FAT32-Dateisystem vorgesehen sein. Dies ist häufig dann realisierbar, wenn der Datenspeicher ein NAND-Flash-Speicher ist. Das genannte Dateisystem unterstützt auch die bei Computern üblichen Dateina-
men. In diesem Fall können direkt die in den http-Kommandos adressierten HTML-Dateien als Antwort an das die Anfrage sendende Gerät zurückgesendet werden. Eine Transformation von Dateinamen ist nicht notwendig. Verfügt der Datenträger jedoch über ein ISO/IEC 7816-Dateisystem, so muss der in einer üblichen PC-Notation angeforderte Dateiname in einen Dateinamen des Datenträgers übersetzt werden. Dies lässt sich beispielsweise über eine einfache Übersetzungstabelle durchführen.
Der in Fig. 3 schematisch dargestellte, erfindungsgemäße Datenträger 1 um- fasst in üblicher Weise eine Steuereinheit 2, einen Datenspeicher 3 sowie einen Prozessor 5. Die Steuereinheit 2 stellt beispielsweise einen Flash- Controller zur Ansteuerung des als Flash-Speichers ausgebildeten Datenspeichers 3 dar. Eine Kommunikationsverbindung zwischen der Steuereinheit 2 und dem Datenspeicher 3 ist mit dem Bezugszeichen 4 gekennzeich- net. Der Prozessor 5 ist vorzugsweise als sicherer Smartcard-Chip (Sicherheitselement) ausgebildet. Eine Kommunikation zwischen der Steuereinheit 2 und dem Prozessor 5 erfolgt über eine Kommunikationsverbindung 6. Die Steuereinheit 2 kann im Betrieb über eine Schnittstelle 7 mit einem externen Gerät, z.B. einem Lese-Schreibgerät eines Computers, gekoppelt werden und über die Schnittstelle 7 Daten mit dem externen Gerät austauschen.
Der Web-Server 8 ist erfindungsgemäß in der Steuereinheit 2 implementiert. Der Web-Server 8 übernimmt zum einen die Vorverarbeitung einer an den Datenträger 1 gerichteten http- Anfrage. Die Vorverarbeitung umfasst übliche Überprüfungen (Checks) sowie die Analyse des Headers der http- Anfrage (Header Parsing), usw. Darüber hinaus überprüft der Web-Server, ob die http- Anfrage von einem ersten oder zweiten Typ ist. Eine http- Anfrage ist vom ersten Typ, wenn diese durch eine Antwort mit statischem Inhalt beantwortet werden kann. Eine http- Anfrage ist vom zweiten Typ, wenn deren
Antwort dynamischen Inhalt umf asst, welcher durch eine auf dem Datenträger laufende Applikation erzeugt werden muss. http- Anfragen des ersten Typs werden durch die Steuereinheit selbst verar- beitet, indem die Steuereinheit auf in dem Datenspeicher 3 gespeicherte Daten zugreift, http- Anfragen des zweiten Typs werden durch eine auf dem Prozessor 5 laufende Applikation 10 verarbeitet. Bei dieser Anwendung, einem sog. Servlet, handelt es sich bevorzugt um eine JavaCard- Applikation, welche bei Nutzung des Datenträgers durch eine virtuelle Maschine 9 des Prozessors 5 ausgeführt wird und die http- Anfrage des zweiten Typs verarbeitet.
Stellt die Steuereinheit 2 fest, dass die http- Anfrage eine Anfrage vom zweiten Typ ist, so leitet sie diese zur weiteren Verarbeitung an die Anwendung 10 des Prozessors weiter. Im Rahmen der Weiterleitung kann unter Umständen eine Formatkonvertierung vorgenommen werden. Die Verarbeitung erfolgt - wie erläutert - durch die auf dem Prozessor 5 ablaufende Applikation 10. Es kann unter Umständen ausreichend sein, lediglich einen Teil der http- Anfrage des zweiten Typs an den Prozessor weiterzuleiten. Insbesondere brauchen nur diejenigen Teile der Anfrage weitergeleitet werden, die für die Erstellung der dynamischen Teile der Antwort benötigt werden.
Dabei können durch die Applikation 10 Antworten mit dynamischem Inhalt erzeugt werden. Die Antwort wird an die Steuereinheit 2 zurück gesendet, welche diese dann optimal weiterverarbeitet und an das die http- Anfrage sendende Gerät überträgt.
Die vorgeschlagene Implementierung des Web-Servers in die Recheneinheit nutzt eine Java- Virtuelle Maschine des Prozessors. Durch diese Implementie-
rung braucht die virtuelle Maschine nicht in der Recheneinheit, dem Flash- Controller des Datenspeichers, vorgesehen werden. Dies reduziert die Kosten und Komplexität der Architektur.
Darüber hinaus profitieren die in dem Prozessor vorgesehenen JavaCard- Applikationen von all den Vorteilen der JavaCard-Plattform. Eine einmal entwickelte JavaCard- Applikation kann zu jeder beliebigen anderen Java- Card-Plattform portiert werden. In dem Fall, dass der Prozessor ein Sicherheitselement ist, kann die Applikation die Sicherheitsfunktionen des Prozessors nutzen.
Dadurch, dass der Web-Server in der Steuereinheit des Datenspeichers implementiert ist, kann dieser die darin befindlichen Daten nutzen und auf diese zugreifen.
Der erfindungsgemäße Datenträger weist eine„Zwei-Controller- Architektur" auf, welche durch die Recheneinheit und den Prozessor des Datenträgers gebildet ist. Dabei können die Verarbeitung einer http- Anfrage und die Vorbereitung einer http- Antwort durch die Steuereinheit parallel zur Verarbeitung von Informationen durch die Applikation des Smartcard-Chips erfolgen. Hierdurch ergibt sich eine hohe Performanz.
Claims
P a t e n t a n s p r ü c h e
Tragbarer Datenträger (1), insbesondere Chipkarte, mit einer Steuereinheit (2), die zum Austausch von Daten über eine erste Kommunikationsverbindung (4) mit einem Datenspeicher (3) und über eine zweite Kommunikationsverbindung (6) mit einem Prozessor (5) gekoppelt ist sowie über eine Schnittstelle (7) des Datenträgers (1) mit einem externen Gerät koppelbar ist, wobei in dem Datenträger (1) ein Web-Server (8) und zumindest eine Anwendung (10) implementiert sind, dadurch gekennzeichnet, dass
der Web-Server (8) in der Steuereinheit (2) derart implementiert ist, dass http- Anfragen eines ersten Typs durch die Steuereinheit (2) verarbeitet werden und http- Anfragen eines zweiten Typs von der Steuereinheit (2) an den Prozessor (5) zumindest teilweise zur Verarbeitung weitergeleitet werden.
Datenträger nach Anspruch 1, dadurch gekennzeichnet, dass die zumindest eine Anwendung (10) bei Nutzung des Datenträgers (1) durch eine virtuelle Maschine des Prozessors (5) ausgeführt wird und die http- Anfrage zweiten Typs verarbeitet.
Datenträger nach Anspruch 2, dadurch gekennzeichnet, dass die Anwendung eine JavaCard- Applikation ist.
Datenträger nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass http- Anfragen des ersten Typs Anfragen sind, welche zumindest teilweise durch eine Antwort mit statischem Inhalt beantwortet werden können, der durch einen Zugriff der Steuereinheit (2) auf in dem Datenspeicher (3) gespeicherte Daten erzeugbar ist.
Datenträger nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass http- Anfragen des zweiten Typs Anfragen sind, deren Antwort dynamischen Inhalt umfasst, der durch die zumindest eine Anwendung (10) erzeugbar ist.
Datenträger nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass der Web-Server (8) in der Steuereinheit (2) derart implementiert ist, dass die http- Anfrage des zweiten Typs von der Steuereinheit (2) zumindest teilweise an den Prozessor (5) zur Verarbeitung weiter geleitet wird.
Datenträger nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass ein paralleler Betrieb des Prozessors (7) und der Steuereinheit (2) vorgesehen sind.
Datenträger nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass der Web-Server (8) in der Steuereinheit (2) derart implementiert ist, dass durch diesen sämtliche http- Anfragen vorverarbeitet werden.
Datenträger nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass der Prozessor (5) ein Sicherheitselement ist.
Verfahren zum Betreiben eines tragbaren Datenträgers, insbesondere einer Chipkarte, der eine Steuereinheit (2) umfasst, die zum Austausch von Daten über eine erste Kommunikationsverbindung (4) mit einem Datenspeicher (3) und über eine zweite Kommunikationsverbindung (6) mit einem Prozessor (5) gekoppelt ist sowie über eine Schnittstelle (7) des Datenträgers (1) mit einem externen Gerät kop-
pelbar ist, wobei in der Steuereinheit (2) ein Web-Server (8) und in dem Prozessor (5) zumindest eine Anwendung (10) implementiert, bei dem an den Datenträger (1) gerichtete http- Anfragen daraufhin überprüft werden, ob sie eine http- Anfrage eines ersten Typs oder eine http- Anfrage eines zweiten Typs sind, wobei http- Anfragen des ersten Typs durch die Steuereinheit (2) verarbeitet werden und http- Anfragen des zweiten Typs von der Steuereinheit (2) an den Prozessor (5) zumindest teilweise weitergeleitet und durch diesen verarbeitet werden.
Verfahren nach Anspruch 10, dadurch gekennzeichnet, dass die zumindest eine Anwendung (10) bei Nutzung des Datenträgers (1) durch eine virtuelle Maschine des Prozessors (5) ausgeführt wird und die http- Anfrage zweiten Typs verarbeitet.
Verfahren nach Anspruch 11, dadurch gekennzeichnet, dass die zumindest eine Anwendung eine JavaCard- Applikation ist.
Verfahren nach Anspruch 10 bis 12, dadurch gekennzeichnet, dass die http- Anfrage des zweiten Typs von der Steuereinheit (2) zumindest teilweise an den Prozessor (5) zur Verarbeitung weitergeleitet wird.
Verfahren nach einem der Ansprüche 10 bis 13, dadurch gekennzeichnet, dass durch den Web-Server (8) in der Steuereinheit (2) sämtliche http- Anfragen vorverarbeitet werden.
15. Verfahren nach einem der Ansprüche 10 bis 14, dadurch gekennzeichnet, dass das Weiterleiten der http- Anfrage an den Prozessor (5) eine Konvertierung der http- Anfrage umfasst.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| DE102010033995.4 | 2010-08-11 | ||
| DE201010033995 DE102010033995A1 (de) | 2010-08-11 | 2010-08-11 | Tragbarer Datenträger mit einem Web-Server |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2012019703A1 true WO2012019703A1 (de) | 2012-02-16 |
Family
ID=44509163
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/EP2011/003742 Ceased WO2012019703A1 (de) | 2010-08-11 | 2011-07-26 | Tragbarer datenträger mit einem web-server |
Country Status (2)
| Country | Link |
|---|---|
| DE (1) | DE102010033995A1 (de) |
| WO (1) | WO2012019703A1 (de) |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE10261916A1 (de) * | 2002-12-20 | 2004-07-01 | Giesecke & Devrient Gmbh | Tragbarer Datenträger mit Netzserverfunktionalität |
| EP1626349A1 (de) * | 2004-08-10 | 2006-02-15 | Axalto SA | Benutzer-Interface für Smart Card Anwendungen |
| US20090134212A1 (en) * | 2007-11-13 | 2009-05-28 | Oberthur Technologies | Smart, telephone comprising such a card and method for executing a command in such a card |
| EP2136304A1 (de) * | 2008-06-20 | 2009-12-23 | Gemplus | Verfahren zur Erzeugung eines Dokuments von einem in einer tragbaren elektronischen Vorrichtung befindlichen Webserver |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE102007040872A1 (de) * | 2007-08-29 | 2009-03-05 | Giesecke & Devrient Gmbh | Datenkommunikationsverfahren und Datenträger dafür |
| KR20090050582A (ko) * | 2007-11-16 | 2009-05-20 | 주식회사 국민은행 | 디지털 컨텐츠를 제공하는 플래시 메모리를 갖는 칩 카드 |
-
2010
- 2010-08-11 DE DE201010033995 patent/DE102010033995A1/de not_active Withdrawn
-
2011
- 2011-07-26 WO PCT/EP2011/003742 patent/WO2012019703A1/de not_active Ceased
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE10261916A1 (de) * | 2002-12-20 | 2004-07-01 | Giesecke & Devrient Gmbh | Tragbarer Datenträger mit Netzserverfunktionalität |
| EP1626349A1 (de) * | 2004-08-10 | 2006-02-15 | Axalto SA | Benutzer-Interface für Smart Card Anwendungen |
| US20090134212A1 (en) * | 2007-11-13 | 2009-05-28 | Oberthur Technologies | Smart, telephone comprising such a card and method for executing a command in such a card |
| EP2136304A1 (de) * | 2008-06-20 | 2009-12-23 | Gemplus | Verfahren zur Erzeugung eines Dokuments von einem in einer tragbaren elektronischen Vorrichtung befindlichen Webserver |
Non-Patent Citations (1)
| Title |
|---|
| WOLFGANG RANKL, WOLFGANG EFFING: "Handbuch für Chipkarten", 2008, CARL HANSER VERLAG, pages: 992 - 994 |
Also Published As
| Publication number | Publication date |
|---|---|
| DE102010033995A1 (de) | 2012-02-16 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| DE60028561T2 (de) | Bereitstellung von kundendiensten, die daten aus datenquellen abrufen, wobei die datenquellen die vom kunden geforderten formate nicht notwendigerweise unterstützen | |
| DE60211254T2 (de) | Fernereignis Behandlung in ein Paketnetzwerk | |
| DE602004011952T2 (de) | Verfahren und System zum Verbessern der Präsentation von HTML-Seiten in einem Internet-Zugriffsgerät | |
| EP1887484B1 (de) | Verfahren zum vorabübertragen strukturierter datenmengen zwischen einer clienteinrichtung und einer servereinrichtung | |
| DE10236190B4 (de) | Verfahren, System, Programmprodukt und Druckerwebdienst zum Erzeugen eines Druckauftrags zum Drucken eines Dokuments | |
| DE19704694A1 (de) | Verfahren und Vorrichtung zum Steuern eines Peripheriegerätes | |
| DE10051024A1 (de) | Methode zum Einrichten optimaler intermediärer Cachingpunkte durch Gruppierung von Programmelementen in einem Softwaresystem | |
| EP3226088A1 (de) | Anzeige- und bedieneinheit und verfahren zur bedienung eines feldgeräts mit einer anzeige- und bedieneinheit | |
| DE69932840T2 (de) | Organisationssystem für eine chipkarte und ihre verwendung als server in eine netzwerk wie das internet | |
| EP1527425B1 (de) | Verfahren zum einrichten eines dateisystems in einem datenträger | |
| DE102010033995A1 (de) | Tragbarer Datenträger mit einem Web-Server | |
| DE10261916A1 (de) | Tragbarer Datenträger mit Netzserverfunktionalität | |
| EP2137943B1 (de) | Portable datenträger als web-server | |
| EP1177667B1 (de) | Netzwerk, interpreter für ein derartiges netzwerk und verfahren zum betreiben eines netzwerkes | |
| EP2219115B1 (de) | Verfahren zum Einsatz einer Multifunktionsspeicherkarte auf Endgeräten | |
| DE102006027664A1 (de) | Kommunikationssystem zum Verarbeiten von Daten | |
| EP2495930B1 (de) | Tragbarer Datenträger mit Internet-Funktionalität | |
| EP4614320B1 (de) | Computermodul und computerimplementiertes verfahren zur datenübertragung | |
| EP2266283B1 (de) | Verarbeiten von client-anfragen | |
| WO2011042387A1 (de) | Portabler datenträger mit zusatzfunktionalität | |
| DE60211332T2 (de) | Verfahren und Chipkarte zur Verwaltung von Cookie-Dateien | |
| DE102005028393A1 (de) | Tragbarer Datenträger | |
| DE10151633A1 (de) | System und Verfahren zum Verarbeiten von Daten in einer verteilten Umgebung | |
| DE102020104646A1 (de) | Browserbasierter Fernzugriff auf Hardware-Sicherheitsmodul | |
| DE202007013423U1 (de) | Chipkarten-Terminal |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 11748259 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 11748259 Country of ref document: EP Kind code of ref document: A1 |