WO2011018060A1 - Verfahren und vorrichtung zum ausführen von anwendungen in einer sicheren, autonomen umgebung - Google Patents
Verfahren und vorrichtung zum ausführen von anwendungen in einer sicheren, autonomen umgebung Download PDFInfo
- Publication number
- WO2011018060A1 WO2011018060A1 PCT/DE2010/000435 DE2010000435W WO2011018060A1 WO 2011018060 A1 WO2011018060 A1 WO 2011018060A1 DE 2010000435 W DE2010000435 W DE 2010000435W WO 2011018060 A1 WO2011018060 A1 WO 2011018060A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- application
- data
- sealed
- smart card
- executed
- 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/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/77—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in smart cards
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/51—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
Definitions
- the invention relates generally to the
- Computer system is connectable. Furthermore, the invention relates to such a secure device for executing applications. In today's information society comes the
- Authenticity is achieved by being able to uniquely associate an information or action with a particular person or system.
- Cryptographic solutions Authentication, signature and encryption based on cryptographic solutions are established worldwide and usable. Cryptographic solutions serve to
- the present invention has for its object to provide a method and a secure device with which the communication and data security can be increased when complex applications must run because of limited functionality and capacity of a smart card outside the smart card.
- the above-mentioned technical problem is solved on the one hand by a method for executing applications in a secure device.
- the secure device may be a modular, wearable device that interfaces with an external device
- Computer system can be connected.
- the external one can be connected.
- the external one can be connected.
- Communication device can also be a personal computer, PDA 7 MDA, mobile phone or similar
- a sealed instruction to invoke an application stored in the device is authenticated by a smart card located in the device. In the device, but outside the smart card, will
- Device may be executed, the application is executed after successful authentication by the device.
- Authentication and testing steps are interchangeable in their chronological order.
- a secret secured against read-out is stored in the device.
- the secret can be a primal mystery, which for example in the
- Test step according to claim in this case comprises the
- the application is also sealed, the authenticity of which is determined before the application is executed
- the security within the secure device can be further improved by having controllable interfaces on the device and by the application, preferably during the process, only controllable via a predetermined interface
- Communication device can communicate. Communicating involves exchanging data, results and
- controllable interfaces selected For example, the application contains a port address. This ensures that the application uses only one
- predetermined communication device can communicate.
- the communication and data security can be further improved by the fact that applications, data and / or control commands only at predetermined interfaces of
- Data stored in the communication device advantageously only be output via a predetermined interface of the device and thus transmitted only to a predetermined external communication device.
- the method not only allows applications to run in a secure and autonomous environment.
- data can also be stored in the device.
- the data sealed in the device is stored. Prior to storing the data, the sealed data is authenticated by the smart card. Only after successful
- Authentication of the sealed data is stored in the device.
- unsealed data for example data that is generated by an application running in the device, safely in the device, this data is sealed in the device itself.
- unsealed data for example data that is generated by an application running in the device, safely in the device, this data is sealed in the device itself.
- the device To store data, sealed or unsealed, through a secure controllable process in the device that can be triggered by an external communication device, the device receives a sealed command to invoke an application to
- the Device may be executed, the execution of the Application started after successful authentication.
- the application then controls the deposition of the data in a memory device of the device.
- sealed instructions for calling an application to read the data stored in the device are required. The reading can be done by an external
- Communication device are triggered by sending a sealed call command to the secure device
- the sealed call command is authenticated by the smart card. Only after successful authentication and after the
- Determining that the application may be executed by the device the execution of the application is started, wherein the data during the expiration of the
- Application can be read and output via a predetermined interface.
- the data and communication security can be further increased by providing only a predetermined memory area for storing data in the device in a targeted manner. For this purpose, first a sealed command for calling an application, which is a predeterminable memory area of a
- This call command is preferably from an external controller to secure
- Transfer device Again, it is checked in the device that this application may be executed by the device. Furthermore, the received sealed call command is authenticated by the smart card. If the application is allowed to be carried out by the device the execution of the application after successful
- the application is executed by the device.
- an interface of the device is preferably defined, via which the external or a other external communication device receives a transparent access to the smart card.
- the device has at least one controllable
- Memory device for storing at least one
- control device serves to control the execution of an application.
- a smart card is provided, the sealed commands for calling
- the device has a test device implemented outside the chip card, which checks whether an application may be executed by the device.
- Control means is arranged to execute a called application only if the call command has been successfully authenticated by the smart card and the checking means has determined that the application is allowed to be executed by the device.
- An advantageous development provides for a memory device secured against readout in which a secret is stored.
- the tester is in this case designed to test the application against the secret in order to determine whether the application may be executed by the apparatus.
- Smart card for authenticating sealed applications and / or data formed.
- the programmable controller is arranged to execute a called application only if the invocation command and the application by the smart card succeed
- the secure device is preferably a portable module, which may include, for example, a microSD card.
- FIG. 10 shows an exemplary communication system 10 in which a portable security module 20 as secure
- the Device can be connected via an interface 40 with an external communication device 120.
- the communication device 120 is, for example, a
- the interface 40 may be a wired interface
- the interface 40 can be connected.
- the interface 40 can be connected.
- Security module 20 may exist a radio connection.
- the interface 40 can be connected to a corresponding contact section of the computer 120.
- the security module 20 has a programmable microprocessor 100 which is connected to a memory 110 in which applications can be stored. As will be explained in more detail below, such an application under the control of
- Microprocessor 100 run in the security module 20, in an encapsulated manner.
- the applications that can be stored in the memory 110 are so-called isolated, d. H. encapsulated applications that can only be executed after rigorous safety checks in the safety module 20.
- Data memory 50 in which, for example, data coming from the computer 120, or data generated by a running application, can be stored.
- the data memory 50 can be addressed via an access logic 60, which only under certain
- Access logic 60 may also be part of the microprocessor 100.
- a further memory 70 is provided, in which applications, also called applications, can be stored, which can be loaded into the memory 110 in order to be executed by the microprocessor 100.
- applications also called applications
- To be executed applications can be loaded for example via the computer 120 in the security module 20.
- the security module 20 has a memory 80 secured against read-out, preferably in the case of Production of the security module a primal secret
- a chip card 90 is arranged, which can be controlled via the microprocessor 100.
- the chip card 90 is preferably in a correspondingly formed receiving area of the
- Security module 20 detachably inserted. In this way, it is possible to easily replace the smart card 90.
- the smart card 90 can also be unsolvable with the
- the security module 20 has three further interfaces 41, 42 and 43, to which, depending on the application, any external
- Communication devices such as a PDA, an MDA, a mobile phone or external storage devices or database systems can be connected.
- the interfaces can in turn be designed as wireless or as wired interfaces.
- a contactless communication device 30 may be implemented in the security module 20 via which the
- the microprocessor 100 may further be configured to recognize the external communication devices connected to the respective interfaces. It should be noted at this point that sensors 40 can be connected to the interfaces 40 to 43, whose
- the microprocessor 100 is further capable of selectively targeting one of the. In response to corresponding control commands
- Select communication device 30 via the respective Data, applications and / or commands can be transmitted or received.
- Security module 20 explained in more detail with reference to some embodiments.
- a temperature sensor (not shown) to be connected, the data to be stored in the data memory 50.
- an application A is already stored in the memory 70, which controls the readout of sensor data from the temperature sensor and storage of sensor data in the data memory 50.
- the application A can be transferred from the computer 120 to the security module 20 and deposited in the application server 70.
- the computer 120 which may be in a trust center, for example, encrypts the application A, for example, with a public key that is in the memory 80
- the microprocessor 100 can examine the encrypted application A against the original secret.
- the application A can be sealed in the computer 120, that is, for example, provided with a digital signature.
- Microprocessor 100 has been selected to download applications, for example via the computer 120 can.
- applications for example via the computer 120 can.
- Microprocessor 100 only the interface 41st
- Security module 20 is transmitted, first, for example, from the computer 120, a sealed command to invoke the exemplary application A. The on the
- Interface 40 call command received from the computer 120 is forwarded under control of the microprocessor 100 to the smart card 90, which is an authentication of
- the microprocessor 100 reads the application A from the application memory 70 and loads the application A into the memory 110.
- the microprocessor 100 now uses the original secret stored in the memory 80 to cache the application A cached in the memory 110 to check whether they from the security module 20 at all
- Security module 20 may be executed, the microprocessor 100 starts the flow of the application A.
- Application A now controls a process in which a request to the temperature sensor (not shown) is first transmitted via the predetermined interface 41 to transmit its sensor data to the security module 20. Control data selecting the interface 41 to
- sensor data may be included in application A. Under the control of the application A, the sensor data received at the interface 41 are then stored in the memory 50.
- Application memory 70 stored applications including the application A, have been tested before their call from the microprocessor 100 against the original secret. In this way it can be ensured that in the Application Speherher 70 only applications are stored, which may be executed by the security module 20 also.
- the called application A is executed only by the security module 20 when the
- Security module 20 autonomously, that is independent of the environment checks whether a called application may be executed by him or not. Both that
- Security module 20 as well as the process performed by the security module can be used as secure encapsulation
- the security module 20 can ensure that only sealed data can be stored in the data memory 50. According to one exemplary embodiment, it is conceivable that the sensor data coming via the interface 41 is already in sealed form by the temperature sensor (not
- the memory 110 is shown.
- the memory 110 is not limited.
- filed application A can control the forwarding of the received sealed sensor data to the smart card 90 in this case.
- the chip card 90 has the task of authenticating the sealed snare data. If successful
- the access logic 60 is enabled and the received sealed sensor data may be stored in the data memory 50. It should be noted at this point that the authentication of the sealed sensor data in the smart card 90 and the storage of the sensor data in the data memory 50 can also be controlled by a separate application. For example, this application may occur during the course of the
- the command to invoke the separate application generated by application A may be a sealed command, which in turn is authenticated in the smart card 90 before the
- Security module 20 are sealed. For this purpose is
- Sealing application in sealed and encrypted form is already deposited in the fürsspeieher 70.
- the sealed invoke command is authenticated by the smart card 90 as previously described.
- the microprocessor 100 loads the sealing application into the smart card 90 to authenticate the application.
- the microprocessor 100 performs with the application a check against the stored in the memory 80 original secret.
- the microprocessor 100 loads the sealing application into the memory 110 and starts its execution. Under control of the sealing application, the sensor data to be stored in the data memory 50 is sealed. After sealing the authenticity of the sealed sensor data is checked by means of the chip card 90. In a successful verification of authenticity, the now sealed
- the security module 20 can ensure that at the interface 41
- the computer 120 may in turn transmit a sealed command to invoke an application B which provides a predetermined storage area of the memory device 50 for writing and / or reading data.
- the call command can be generated internally by an application, for example application A. Assume that the application B is already stored in the application memory 70 and
- Microprocessor 100 the application B in the memory 110th
- the microprocessor 100 starts the application, which ensures that a specific memory area is provided in the data memory 50, in which the sensor data arriving at the interface 41 can be stored. Providing the predetermined
- Memory area can be done by setting a specific address space.
- the computer 120 first transmits a sealed command for calling a
- Application C is already stored in the application memory 70, the authenticity of which has been successfully tested in the chip card 90 and which has also been checked successfully by the microprocessor 100 against the original secret 80.
- the sealed call command received via the interface 40 is passed to the smart card 90, which determines the authenticity of the
- the microprocessor 100 reads out the sensor data from the data memory 50.
- the application C also ensures that the data is transmitted via the interface 40 to the computer 120.
- the security module 20 is further configured such that it is suitable for an external communication device, e.g. B. for the computer 120, a transparent access to the
- Chip card can set up. From the perspective of the computer 120, the security module 20 then acts like a
- the transparent access is established by in turn on the computer 120 a
- a sealed command for invoking an application D to control transparent access to the smart card 90 is generated and transmitted via the interface 40 to the security module 20.
- the application D has already been preloaded into the application memory 70 via a shared interface of the security module 20 and has been successfully tested in accordance with the test methods described above.
- the application D is thus for execution in Security module 20 released.
- the sealed command to call the application D is passed to the smart card 90, which can check the authenticity of the sealed command.
- the microprocessor 100 loads the application D into the memory 110 and starts execution.
- Transparent access means that the interface 40 is connected directly to the smart card 90. Communication between the smart card 90 and an external device may also be via the wireless
- a display device and an input device can also be connected to the interfaces 40 to 43 and to the communication device 30.
- Wireless communication device 30 may be any wireless communication device.
- Security module 20 for example with a
- An application may also be stored in the application memory 70, which performs voice encryption and / or voice decoding in conjunction with a mobile telephone. In this case, a corresponding sealed call command on the mobile phone
- Communication device 30 are transmitted to the security module 20, which is authenticated in the manner described above in the smart card 90.
- Decryption application loaded into the memory 110 and executed by the microprocessor 100 accordingly. To this Way, all the voice traffic on the
- the security module 20 can internally execute arbitrary invocation commands and applications upon successful verification.
- applications to be executed in the security module 20 can be called by a running application.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Storage Device Security (AREA)
Abstract
Die Erfindung stellt unter Verwendung einer herkömmlichen Chipkarten (90), auch Smart Card genannt, eine autonome und sichere Umgebung bereit, in der komplexe Anwendungen ablaufen können. Hierzu wird ein Verfahren zum Ausführen von Anwendungen in einer sicheren Vorrichtung (20) t, welche mit einer externen Kommunikationseinrichtung (120) verbindbar ist, zur Verfügung gestellt. Gemäß dem Verfahren wird ein versiegelter Befehl zum Aufrufen einer in der Vorrichtung (20) abgelegten Anwendung durch eine in der Vorrichtung angeordneten Chipkarte (90) authentifiziert. Weiterhin wird geprüft, ob die Anwendung von der Vorrichtung (20) ausgeführt werden darf. Diese Prüfung erfolgt innerhalb der Vorrichtung (20, 100)), aber außerhalb der Chipkarte (90). Wenn die Anwendung von der Vorrichtung (20) ausgeführt werden darf, wird sie nach erfolgreicher Authentifizierung in der Vorrichtung ausgeführt.
Description
Verfahren und Vorrichtung zum Ausführen von
Anwendungen in einer sicheren, autonomen Umgebung
Die Erfindung bezieht sich ganz allgemein auf das
technische Gebiet der sicheren Kapselung steuerbarer
Prozesse, Anwendungen und Daten und insbesondere auf ein Verfahren zum Ausführen von Anwendungen in einer sicheren, Vorrichtung, welche mit einer externen
Kommunikationseinrichtung, vorzugsweise einem
Rechnersystem, verbindbar ist. Weiterhin betrifft die Erfindung eine derartige sichere Vorrichtung zum Ausführen von Anwendungen. In der heutigen Informationsgesellschaft kommt der
Kommunikations- und Datensicherheit ein sehr hoher
Stellenwert zu. Sie dient vornehmlich der Gewährleistung eines sicheren, vertraulichen und authentischen
Datenaustauschs und der sicheren Datenhaltung und deren Archivierung. Um Daten sicher übertragen zu können, werden Informationen vor der Übertragung an der Quelle so
abgesichert, dass eine nachträgliche Verfälschung erkannt werden kann. Um die Vertraulichkeit zu gewährleisten, muss verhindert werden, dass Informationen auf dem Weg vom
Sender zum Empfänger oder nach einer Ablage durch
unautorisierte Personen mitgelesen werden können.
Authentizität wird dadurch erreicht, dass eine Information oder Aktion einer bestimmten Person oder einem bestimmten System eindeutig zugeordnet werden kann.
Technische Realisierungen für die Identifikation,
Authentifizierung, Signatur und Verschlüsselung auf der Basis von kryptografischen Lösungen sind weltweit etabliert
und nutzbar. Kryptografische Lösungen dienen dazu,
Schlüsselmaterial geheim zu halten. Diese Aufgabe können Chipkarten, wie zum Beispiel Smart Cards, lösen. Geheim zu haltende Schlüssel werden entweder in sogenannten
Trustcenter-Umgebungen erzeugt und in Chipkarten
geschrieben oder innerhalb der Chipkarte selbst erzeugt und darin geheim gehalten. Moderne Smart Cards sind in der Lage, die notwendigen kryptografischen Prozesse in einem integrierten Chip selbst zu verarbeiten. Die geheimen
Schlüssel müssen dann die Smart Card nicht mehr verlassen. Obwohl Chipkarten in der Lage sind, Schlüssel geheim zu halten und diese für Rechenprozesse zu nutzen, kann die Smart Card nicht verhindern, dass Daten, die kryptografisch behandelt werden sollen vorher in einer umgebenden
Anwendung abgegriffen werden können.
Der vorliegenden Erfindung liegt die Aufgabe zugrunde, ein Verfahren und eine sichere Vorrichtung bereitzustellen, mit denen die Kommunikations- und Datensicherheit erhöht werden kann, wenn komplexe Anwendungen wegen einer eingeschränkten Funktionalität und Kapazität einer Chipkarte außerhalb der Chipkarte ablaufen müssen.
Ein Kerngedanke der Erfindung ist darin zu sehen, unter Verwendung herkömmlicher Chipkarten, auch Smart Card genannt, die beispielsweise der Normreihe ISO7816
angehören, eine autonome und sichere Umgebung zu schaffen, in der komplexe Anwendungen ablaufen können. Innerhalb dieser sicheren, autonomen Umgebung kann die
Vertraulichkeit und Unversehrtheit der Datenverarbeitung, Datenspeicherung und Datenübertragung in einer ansonsten offenen, im Wesentlichen ungesicherten Umgebung
sichergestellt werden. Diese Maßnahme kann auch als sichere
Kapselung steuerbarer Anwendungen und Daten angesehen werden.
Das oben genannte technische Problem wird zum einen durch ein Verfahren zum Ausführen von Anwendungen in einer sicheren Vorrichtung gelöst. Bei der sicheren Vorrichtung kann es sich um eine modulare, tragbare Vorrichtung handeln, welche mit einer externen
Kommunikationseinrichtung, beispielsweise einem
Rechnersystem verbunden werden kann. Die externe
Kommunikationseinrichtung kann auch ein Personal Computer, PDA7 MDA, Mobiltelefon oder eine ähnliche
Kommunikationseinrichtung sein. Um eine sichere Kapselung steuerbarer Anwendungen zu gewährleisen, wird ein versiegelter Befehl zum Aufrufen einer in der Vorrichtung abgelegten Anwendung durch eine in der Vorrichtung angeordneten Chipkarte authentifiziert. In der Vorrichtung, aber außerhalb der Chipkarte, wird
geprüft, ob die Anwendung von der Vorrichtung überhaupt ausgeführt werden darf. Wenn die Anwendung von der
Vorrichtung ausgeführt werden darf, wird die Anwendung nach erfolgreicher Authentifizierung durch die Vorrichtung ausgeführt .
Durch die doppelte Sicherung der Ausführung einer Anwendung wird eine Kapselung, das heißt eine Ausführung von
isolierten Anwendungen ermöglicht. Denn die aufgerufene Anwendung wird nur dann von der Vorrichtung ausgeführt, wenn die Anwendung eindeutig für die Vorrichtung bestimmt ist und von einer berechtigten Stelle aufgerufen wurde. Die Vorrichtung bietet somit eine sichere und autonome Umgebung für den Ablauf von Anwendungen und die Speicherung und/oder Archivierung von Informationen.
Angemerkt sei an dieser Stelle, dass die Verfahrensschritte des Anspruchs 1 und der übrigen Verfahrensansprüche nicht zwingend in der Reihenfolge, in der sie angegeben worden sind, ausgeführt werden müssen. Insbesondere die
Authentifizierungs- und Prüfschritte sind hinsichtlich ihrer zeitlichen Abfolge austauschbar.
Um die Sicherheit in der Vorrichtung, welche die Kapselung, das heißt Ausführung von isolierten Anwendungen ermöglicht, zu erhöhen, wird in der Vorrichtung ein gegen Auslesen gesichertes Geheimnis abgelegt. Das Geheimnis kann ein Urgeheimnis sein, welches beispielsweise bei der
Herstellung der Vorrichtung eingebracht wird. Der
Prüfschritt nach Anspruch umfasst in diesem Fall den
Schritt des Prüfens der Anwendung gegen das Geheimnis, um zu ermitteln, ob die Anwendung von der Vorrichtung
ausgeführt werden darf . Um die Anwendung gegen das
Urgeheimnis prüfen zu können, kann die Anwendung
beispielsweise mit einem öffentlichen Schlüssel
verschlüsselt worden sein, der mit dem Geheimnis
entschlüsselt werden kann. Derartige asymmetrische
Verschlüsselungsverfahren sind hinlänglich bekannt.
Um die Kommunikations- und Datensicherheit weiter zu steigern, wird ferner die Anwendung versiegelt, wobei vor der Ausführung der Anwendung die Authentizität der
Anwendung in der Chipkarte geprüft wird.
Durch die doppelte Sicherung der Anwendung wird
sichergestellt, dass die Vorrichtung nur dann die Anwendung ausführt, wenn die Anwendung eindeutig für die Vorrichtung bestimmt ist und von einer berechtigten Stelle abgesendet wurde . Angemerkt sei an dieser Stelle, dass mit den Formulierungen „versiegelter Befehl" und „versiegelte Anwendung" zum
Ausdruck gebracht wird, dass die Anwendung und der Befehl
mittels eines Versiegelungverfahrens zum Beispiel digital signiert werden.
Da das Verfahren in einer ansonsten ungesicherten Umgebung ausgeführt werden kann, kann die Sicherheit innerhalb der sicheren Vorrichtung dadurch weiter verbessert werden, dass die Vorrichtung steuerbare Schnittstellen aufweist und dass die Anwendung, zweckmäßigerweise während des Ablaufs, nur über eine vorbestimmte Schnittstelle, der steuerbaren
Schnittstellen mit einer extern verbundenen
Kommunikationseinrichtung kommunizieren kann. Kommunizieren umfasst das Austauschen von Daten, Ergebnissen und
Steuerbefehlen. Zweckmäßigerweise wird die vorbestimmte Schnittstelle in Abhängigkeit von der aufgerufenen Anwendung aus den
steuerbaren Schnittstellen ausgewählt. Beispielsweise ist in der Anwendung eine Portadresse enthalten. Dadurch wird sichergestellt, dass die Anwendung nur mit einer
vorbestimmten Kommunikationseinrichtung kommunizieren kann.
Die Kommunikations- und Datensicherheit kann weiterhin dadurch verbessert werden, dass Anwendungen, Daten und/oder Steuerbefehle nur an vorbestimmten Schnittstellen der
Vorrichtung empfangen werden können. Anwendungen, die von der Vorrichtung ausgeführt werden sollen, können demzufolge nur an einer vorher ausgewählten, vorbestimmten
Schnittstelle empfangen werden.
Kommunikationseinrichtungen, die an anderen Schnittstellen angeschlossen sind, können keine Anwendungen, Daten
und/oder Steuerbefehle zur Vorrichtung übertragen. Das heißt, dass auch Befehle zum Aufrufen von Anwendungen nur über vorbestimmte Schnittstellen die Vorrichtung erreichen können .
In umgekehrter Kommunikationsrichtung können wiederum
Daten, die in der Kommunikationsvorrichtung abgelegt sind,
vorteilhafter Weise nur über eine vorbestimmte Schnittstelle der Vorrichtung ausgegeben und somit nur zu einer vorbestimmten externen Kommunikationseinrichtung übertragen werden.
Das Verfahren ermöglicht nicht nur eine Ausführung von Anwendungen in einer sicheren und autonomen Umgebung. Zudem können in der Vorrichtung auch Daten gespeichert werden. Um eine hohe Datensicherheit zu gewährleisten, werden die in der Vorrichtung versiegelten Daten gespeichert. Vor dem Speichern der Daten werden die versiegelten Daten von der Chipkarte authentifiziert. Erst nach erfolgreicher
Authentifizierung der versiegelten Daten werden diese in der Vorrichtung gespeichert.
Um unversiegelte Daten, beispielsweise Daten, die von einer in der Vorrichtung ablaufenden Anwendung erzeugt werden, in der Vorrichtung sicher abspeichern zu können, werden diese Daten in der Vorrichtung selbst versiegelt. Hierzu wird eine in der Vorrichtung abgelegte Anwendung zum
Versiegeln von Daten geprüft, ob diese Anwendung von der Vorrichtung ausgeführt werden darf. Nach erfolgreicher Prüfung wird die Anwendung ausgeführt, um das Versiegeln der zu speichernden Daten zu steuern.
Um Daten, versiegelte oder unversiegelte, durch einen sicheren kontrollierbaren Prozess in der Vorrichtung zu speichern, der von einer externen Kommunikationseinrichtung ausgelöst werden kann, empfängt die Vorrichtung einen versiegelten Befehl zum Aufrufen einer Anwendung zum
Speichern von Daten in der Vorrichtung. In der Vorrichtung wird die entsprechende Anwendung geprüft, ob sie von der Vorrichtung ausgeführt werden darf. Weiterhin wird der versiegelte Aufruf-Befehl durch die Chipkarte
authentifiziert. Erst wenn die Anwendung von der
Vorrichtung ausgeführt werden darf, wird das Ausführen der
Anwendung nach erfolgreicher Authentifizierung gestartet. Die Anwendung steuert dann das Ablegen der Daten in einer Speichereinrichtung der Vorrichtung. Um eine hohe Daten- und Kommunikationssicherheit beim Auslesen von Daten aus der Vorrichtung gewährleisten zu können, werden versiegelte Befehle zum Aufrufen einer Anwendung zum Lesen der in der Vorrichtung gespeicherten Daten benötigt. Das Auslesen kann von einer externen
Kommunikationseinrichtung ausgelöst werden, indem sie einen versiegelten Aufrufbefehl zur sicheren Vorrichtung
überträgt. In der Vorrichtung wird dann geprüft, ob diese Anwendung zum Lesen von Daten von der Vorrichtung
ausgeführt werden darf. Weiterhin wird der versiegelte Aufruf-Befehl durch die Chipkarte authentifiziert. Erst nach erfolgreicher Authentifizierung und nach der
Feststellung, dass die Anwendung von der Vorrichtung ausgeführt werden darf, wird die Ausführung der Anwendung gestartet, wobei die Daten während des Ablaufs der
Anwendung gelesen und über eine vorbestimmte Schnittstelle ausgegeben werden können.
Die Daten- und Kommunikationssicherheit kann weiterhin dadurch gesteigert werden, dass in gezielter Weise nur ein vorbestimmter Speicherbereich zum Speichern von Daten in der Vorrichtung bereitgestellt wird. Hierzu wird zunächst ein versiegelter Befehl zum Aufrufen einer Anwendung, welche einen vorbestimmbaren Speicherbereich einer
Speichereinrichtung zum Schreiben und/oder Auslesen von Daten bereitstellt. Dieser Aufruf-Befehl wird vorzugsweise von einer externen Steuereinrichtung zur sicheren
Vorrichtung übertragen. Wiederum wird in der Vorrichtung geprüft, on diese Anwendung von der Vorrichtung ausgeführt werden darf. Weiterhin wird der empfangene versiegelte Aufruf-Befehl durch die Chipkarte authentifiziert. Wenn die Anwendung von der Vorrichtung ausgeführt werden darf, wird
die Ausführung der Anwendung nach erfolgreicher
Authentifizierung gestartet. Während des Ablaufs der
Anwendung wird der vorbestimmbare Speicherbereich,
vorzugsweise ein Adressenraum, definiert. Nur in diesen Speicherbereich können dann Daten abgelegt und ausgelesen werden.
Denkbar ist, dass ein bestimmter Speicherbereich in
Abhängigkeit von einer auszuführenden Anwendung und/oder in Abhängigkeit von einer ausgewählten Schnittstelle definiert wird.
An dieser Stelle sei angemerkt, dass die Befehle zum
Aufrufen von Anwendungen, welche in der Vorrichtung
ausgeführt werden sollen, entweder intern, beispielsweise von einer laufenden Anwendung erzeugt oder von einer externen Kommunikationseinrichtung zur Vorrichtung
übertragen werden. Damit eine extern angeschaltete Kommunikationsvorrichtung die Funktionalität der in der Vorrichtung angeordneten Chipkarte mitbenutzen darf, kann ein transparenter Zugriff auf die Chipkarte freigegeben werden. Hierzu wird von einer externen Kommunikationseinrichtung ein versiegelter Befehl zum Aufrufen einer Anwendung zur Steuerung eines
transparenten Zugriffs auf die Chipkarte zur Vorrichtung übertragen. In der Vorrichtung wird wiederum geprüft, ob diese Anwendung von der Vorrichtung ausgeführt werden darf. Weiterhin wird der versiegelte Aufruf-Befehl durch die Chipkarte authentifiziert. Wenn die Anwendung von der
Vorrichtung ausgeführt werden darf und die
Authentifizierung erfolgreich war, wird die Anwendung durch die Vorrichtung ausgeführt . Nach erfolgreicher Ausführung der Anwendung wird vorzugsweise eine Schnittstelle der Vorrichtung definiert, über die die externe oder eine
andere externe Kommunikationseinrichtung einen transparenten Zugriff auf die Chipkarte erhält.
Das oben genannte technische Problem wird zum Anderen durch eine sichere Vorrichtung zum Ausführen von Anwendungen gelöst, welche zur Durchführung des Verfahrens ausgebildet ist.
Die Vorrichtung weist wenigstens eine ansteuerbare
Schnittstelle zum Verbinden mit einer externen
Kommunikationseinrichtung auf. Ferner ist eine erste
Speichereinrichtung zum Speichern wenigstens einer
Anwendung vorgesehen. Eine programmierbare
Steuereinrichtung dient unter anderem dazu, die Ausführung einer Anwendung zu steuern. Zudem ist eine Chipkarte vorgesehen, die versiegelte Befehle zum Aufrufen von
Anwendungen authentifizieren kann. Die Vorrichtung weist eine außerhalb der Chipkarte implementierte Prüfeinrichtung auf, die prüft, ob eine Anwendung von der Vorrichtung ausgeführt werden darf. Die programmierbare
Steuereinrichtung ist derart ausgebildet, dass sie eine aufgerufene Anwendung nur ausführt, wenn der Aufruf-Befehl durch die Chipkarte erfolgreich authentifiziert worden ist und die Prüfeinrichtung ermittelt hat, dass die Anwendung von der Vorrichtung ausgeführt werden darf.
Eine vorteilhafte Weiterbildung sieht eine gegen Auslesen gesicherte Speichereinrichtung vor, in der ein Geheimnis abgelegt ist. Die Prüfeinrichtung ist in diesem Fall zum Prüfen der Anwendung gegen das Geheimnis ausgebildet, um zu ermitteln, ob die Anwendung von der Vorrichtung ausgeführt werden darf .
Um die sichere Funktionalität der Vorrichtung und die
Daten- und KommunikationsSicherheit zu erhöhen, ist die
Chipkarte zum Authentifizieren von versiegelten Anwendungen
und/oder Daten ausgebildet. Zudem ist die programmierbare Steuereinrichtung derart ausgebildet, dass sie eine aufgerufene Anwendung nur ausführt, wenn der Aufruf-Befehl und die Anwendung durch die Chipkarte erfolgreich
authentifiziert worden sind.
Bei der sicheren Vorrichtung handelt es sich vorzugsweise um ein tragbares Modul, welches zum Beispiel eine microSD Karte enthalten kann.
Die Erfindung wird nachfolgend anhand einiger
Ausführungsbeispiele in Verbindung mit der beiliegenden Figur näher erläutert . Die Figur zeigt ein beispielhaftes Kommunikationssystem 10, bei dem ein tragbares Sicherheitsmodul 20 als sichere
Vorrichtung über eine Schnittstelle 40 mit einer externen Kommunikationseinrichtung 120 verbunden sein kann. Die Kommunikationseinrichtung 120 ist beispielsweise ein
Rechner oder Rechnersystem. Bei der Schnittstelle 40 kann es sich um eine drahtgebundene Schnittstelle,
beispielsweise eine USB-Schnittstelle handeln, an die der Rechner 120 mittels eines USB- Verbindungskabels
angeschlossen sein kann. Die Schnittstelle 40 kann
allerdings auch als drahtlose Schnittstelle ausgebildet sein, wobei dann zwischen Rechner 120 und dem
Sicherheitsmodul 20 eine Funkverbindung bestehen kann.
Denkbar ist auch, dass der Rechner 120 einen
Aufnahmebereich aufweist, in welchen das Sicherheitsmodul 20 eingeführt werden kann. Die Schnittstelle 40 kann in diesem Fall mit einem korrespondierenden Kontaktabschnitt des Rechners 120 verbunden werden.
Weiterhin weist das Sicherheitsmodul 20 einen programmierbaren Mikroprozessor 100 auf, der mit einem Speicher 110 verbunden ist, in welchem Anwendungen abgelegt werden können. Wie nachfolgend noch näher erläutert wird, kann eine solche Anwendung unter Steuerung des
Mikroprozessors 100 in dem Sicherheitsmodul 20 ablaufen, und zwar in gekapselter Weise. Bei den im Speicher 110 ablegbaren Anwendungen handelt es sich um sogenannte isolierte, d. h. gekapselte Anwendungen, die nur nach strengen Sicherheitsprüfungen im Sicherheitsmodul 20 ausgeführt werden können.
Darüber hinaus kann das Sicherheitsmodul 20 einen
Datenspeicher 50 aufweisen, in welchem zum Beispiel vom Rechner 120 kommende Daten, oder Daten, die von einer ablaufenden Anwendung erzeugt werden, gespeichert werden können. Der Datenspeicher 50 kann über eine Zugriffslogik 60 angesprochen werden, die nur unter bestimmten
Voraussetzungen den Zugriff auf den Datenspeicher 50 zum Schreiben und/oder Lesen von Daten freigibt. Die
Zugriffslogik 60 kann auch Bestandteil des Mikroprozessors 100 sein.
In dem Sicherheitsmodul 20 ist ein weiterer Speicher 70 vorgesehen, in welchem Anwendungen, auch Applikationen genannt, gespeichert werden können, die in den Speicher 110 geladen werden können, um vom Mikroprozessor 100 ausgeführt werden zu können. Die vom Sicherheitsmodul 20
auszuführenden Anwendungen können beispielsweise über den Rechner 120 in das Sicherheitsmodul 20 geladen werden.
Weiterhin verfügt das Sicherheitsmodul 20 über einen gegen Auslesen gesicherten Speicher 80, in den vorzugsweise bei
Herstellung des Sicherheitsmoduls ein Urgeheimnis
eingebracht wird.
Ferner ist in dem Sicherheitsmodul 20 eine Chipkarte 90 angeordnet, welche über den Mikroprozessor 100 angesteuert werden kann. Die Chipkarte 90 ist vorzugsweise in einem entsprechend ausgebildeten Aufnahmebereich des
Sicherheitsmoduls 20 lösbar eingesetzt. Auf diese Weise ist es möglich, die Chipkarte 90 einfach auszuwechseln. Die Chipkarte 90 kann aber auch unlösbar mit dem
Sicherheitsmodul verbunden sein.
Im vorliegenden Beispiel weist das Sicherheitsmodul 20 drei weitere Schnittstellen 41, 42 und 43 auf, an die je nach Anwendungsfall beliebige externe
Kommunikationseinrichtungen, wie zum Beispiel ein PDA, ein MDA, ein Mobiltelefon oder externe Speichereinrichtungen oder Datenbankensysteme angeschlossen werden können. Die Schnittstellen können wiederum als drahtlose oder als drahtgebundene Schnittstellen ausgebildet sein. Weiterhin kann eine kontaktlose Kommunikationseinrichtung 30 in dem Sicherheitsmodul 20 implementiert sein, über die die
Vorrichtung ohne zusätzliche äußere Antenne mit einer externen kontaktlosen Kommunikationseinheit kommunizieren kann. Der Mikroprozessor 100 kann ferner dazu ausgebildet sein, die an die jeweiligen Schnittstellen angeschlossenen externen Kommunikationseinrichtungen zu erkennen. Angemerkt sei an dieser Stelle, dass an die Schnittstellen 40 bis 43 auch Sensoren angeschlossen werden können, deren
Sensordaten im Datenspeicher 50 gesichert abgelegt werden können. Wie nachfolgend noch weiter ausgeführt wird, ist der Mikroprozessor 100 ferner in der Lage, unter Ansprechen auf entsprechende Steuerbefehle gezielt eine der
Schnittstellen 40 bis 43 und/oder die
Kommunikationseinrichtung 30 auszuwählen, über die jeweils
Daten, Anwendungen und/oder Befehle übertragen oder empfangen werden können.
Nachfolgend wird die Funktionsweise des tragbaren
Sicherheitsmoduls 20 anhand einiger Ausführungsbeispiele näher erläutert .
Gemäß einem beispielhaften Szenario kann an der
Schnittstelle 41 ein Temperatursensor (nicht dargestellt) angeschlossen sein, dessen Daten im Datenspeicher 50 gespeichert werden sollen. Angenommen sei, dass im Speicher 70 bereits eine Anwendung A abgelegt ist, die das Auslesen von Sensordaten aus dem Temperatursensor und Speichern von Sensordaten im Datenspeicher 50 steuert. Die Anwendung A kann vom Rechner 120 zum Sicherheitsmodul 20 übertragen und im Anwendungsspeieher 70 hinterlegt werden. Der Rechner 120, der beispielsweise in einem Trust-Center stehen kann, verschlüsselt die Anwendung A beispielsweise mit einem öffentlichen Schlüssel, der mit dem im Speicher 80
abgelegten Urgeheimnis derart in Verbindung steht, dass der Mikroprozessor 100 die verschlüsselte Anwendung A gegen das Urgeheimnis prüfen kann. Optional kann die Anwendung A im Rechner 120 versiegelt, das heißt beispielsweise mit einer digitalen Signatur versehen werden. Wie später noch
erläutert wird, wird die digitale Signatur der Anwendung A zur Authentifizierung der Anwendung mittels der Chipkarte 90 benötigt. Weiterhin sei angenommen, dass die
Schnittstelle 40 im vorliegenden Beispiel vom
Mikroprozessor 100 ausgewählt worden ist, um Anwendungen beispielsweise über den Rechner 120 herunterladen zu können. Darüber hinaus sei angenommen, dass der
Mikroprozessor 100 lediglich die Schnittstelle 41
freigegeben hat, um Sensordaten empfangen zu können.
Um Sensordaten über die Schnittstelle 41 zum
Sicherheitsmodul 20 übertragen zu können, wird zunächst, beispielsweise vom Rechner 120, ein versiegelter Befehl zum Aufrufen der beispielhaften Anwendung A. Der über die
Schnittstelle 40 vom Rechner 120 empfangene Aufrufbefehl wird unter Steuerung des Mikroprozessors 100 zur Chipkarte 90 weitergeleitet, die eine Authentifizierung des
empfangenen Aufrufbefehls vornimmt. Angenommen sei nunmehr, dass die Chipkarte 90 den Aufrufbefehl erfolgreich
authentifiziert hat. Die erfolgreiche Authentifizierung des Aufrufbefehls wird dann dem Mikroprozessor 100 mitgeteilt. Unter Ansprechen auf die erfolgreiche Authentifizierung des Aufrufbefehls liest der Mikroprozessor 100 die Anwendung A aus dem Anwendungsspeicher 70 aus und lädt die Anwendung A in den Speicher 110. Der Mikroprozessor 100 verwendet nunmehr das im Speicher 80 gespeicherte Urgeheimnis, um die im Speicher 110 zwischengespeicherte Anwendung A darauf hin zu prüfen, ob sie vom Sicherheitsmodul 20 überhaupt
ausgeführt werden darf. Ergibt die Prüfung, dass die im Speicher 110 zwischengespeicherte Anwendung A vom
Sicherheitsmodul 20 ausgeführt werden darf, startet der Mikroprozessor 100 den Ablauf der Anwendung A. Die
Anwendung A steuert nun einen Prozess, bei dem über die vorbestimmte Schnittstelle 41 zunächst eine Aufforderung zum Temperatursensor (nicht dargestellt) übertragen wird, seine Sensordaten zum Sicherheitsmodul 20 zu übertragen. Steuerdaten, die die Schnittstelle 41 auswählen, um
Sensordaten zu empfangen, können beispielsweise in der Anwendung A enthalten sein. Unter Steuerung der Anwendung A werden die an der Schnittstelle 41 empfangenen Sensordaten dann im Speicher 50 abgelegt.
Angemerkt sei an dieser Stelle, dass die im
Anwendungsspeicher 70 abgelegten Anwendungen, also auch die Anwendung A, bereits vor ihrem Aufruf vom Mikroprozessor 100 gegen das Urgeheimnis geprüft worden sind. Auf diese Weise kann sichergestellt werden, dass im
Anwendungsspeieher 70 nur Anwendungen abgelegt werden, die von dem Sicherheitsmodul 20 auch ausgeführt werden dürfen.
Wichtig ist darauf hinzuweisen, dass bei dem beschriebenen Ausführungsbeispiel die aufgerufene Anwendung A nur dann vom Sicherheitsmodul 20 ausgeführt wird, wenn der
entsprechender Aufruf-Befehl und die Anwendung A
erfolgreich in der Chipkarte 90 authentifiziert wurden und darüber hinaus die verschlüsselte Anwendung erfolgreich gegenüber dem Urgeheimnis geprüft worden ist. Diese
Sicherheitsmechanismen sorgen dafür, dass das
Sicherheitsmodul 20 autonom, das heißt unabhängig von der Umgebung prüft, ob eine aufgerufene Anwendung von ihm ausgeführt werden darf oder nicht. Sowohl das
Sicherheitsmodul 20 als auch das vom Sicherheitsmodul ausgeführte Verfahren können als sichere Kapselung
aufgefasst werden, da das Sicherheitsmodul und die von ihm ausgeführten Operationen gegen die Umgebung abgekapselt sind. Denn nicht nur die auszuführenden Operationen
unterliegen strengen Sicherheitsprüfungen; sondern auch die gezielte Auswahl der Schnittstellen, über die ein
Kommunikationsaustausch stattfinden kann, bieten eine hohe Kommunikationssicherheit . Weiterhin kann das Sicherheitsmodul 20 gewährleisten, dass nur versiegelte Daten im Datenspeicher 50 abgelegt werden können. Gemäß einem Ausführungsbeispiel ist denkbar, dass die über die Schnittstelle 41 kommenden Sensordaten bereits in versiegelter Form vom Temperatursensor (nicht
dargestellt) übertragen werden. Die im Speicher 110
abgelegte Anwendung A kann in diesem Fall die Weiterleitung der empfangenen versiegelten Sensordaten zur Chipkarte 90 steuern. Die Chipkarte 90 hat die Aufgabe, die versiegelten Snesordaten zu authentifizieren. Bei erfolgreicher
Authentifizierung wird die Zugriffslogik 60 freigegeben und die empfangenen versiegelten Sensordaten können in den Datenspeicher 50 abgelegt werden.
Angemerkt sei an dieser Stelle, dass die Authentifizierung der versiegelten Sensordaten in der Chipkarte 90 und das Speichern der Sensordaten im Datenspeicher 50 auch von einer separaten Anwendung gesteuert werden kann. Diese Anwendung kann beispielsweise während des Ablaufs der
Anwendung A von dieser aufgerufen werden. Auch die separate Anwendung muss vor der Ausführung erfolgreich gegen das im Speicher 80 abgelegte Urgeheimnis geprüft werden. Der von der Anwendung A erzeugte Befehl zum Aufrufen der separaten Anwendung kann ein versiegelter Befehl sein, der wiederum in der Chipkarte 90 authentifiziert wird, bevor die
separate Anwendung aufgerufen und ausgeführt werden kann. Liegen die empfangenen Sensordaten nicht in versiegelter Form vor, so können die unversiegelten Daten im
Sicherheitsmodul 20 versiegelt werden. Hierzu wird
beispielsweise wiederum vom Rechner 120 ein versiegelter Befehl zum Aufrufen einer Versiegelungsanwendung zum
Sicherheitsmodul 20 übertragen. Angenommen sei, dass die
Versiegelungsanwendung in versiegelter und verschlüsselter Form bereits im Anwendungsspeieher 70 hinterlegt ist. Der versiegelte Aufruf-Befehl wird, wie zuvor beschrieben, mittels der Chipkarte 90 authentifiziert. Nach
erfolgreicher Authentifizierung oder auch vorher schon lädt der Mikroprozessor 100 die Versiegelungsanwendung in die Chipkarte 90, um die Anwendung zu authentifizieren. Darüber hinaus führt der Mikroprozessor 100 mit der Anwendung eine Prüfung gegen das im Speicher 80 abgelegte Urgeheimnis durch. Für den Fall, dass der Aufruf-Befehl und die
Versiegelungsanwendung erfolgreich in der Chipkarte 90 authentifiziert worden sind und die Versiegelungsanwendung erfolgreich gegen das Urgeheimnis geprüft worden ist, lädt der Mikroprozessor 100 die Versiegelungsanwendung in den Speicher 110 und startet deren Ausführung. Unter Steuerung der Versiegelungsanwendung werden die im Datenspeicher 50 abzulegenden Sensordaten versiegelt. Nach der Versiegelung
wird die Authentizität der versiegelten Sensorsaten mittels der Chipkarte 90 geprüft. Bei einer erfolgreichen Prüfung der Authentizität werden die nunmehr versiegelten
Sensordaten im Datenspeicher 50 abgelegt.
Um die Daten- und Kommunikationssicherheit des
Sicherheitsmoduls 20 zu erhöhen, kann das Sicherheitsmodul 20 dafür sorgen, dass die an der Schnittstelle 41
ankommenden Sensordaten in einem vorbestimmten
Speicherbereich des Datenspeichers 50 abgelegt werden. Um dies zu erreichen, kann wiederum vom Rechner 120 ein versiegelter Befehl zum Aufrufen einer Anwendung B, welche einen vorbestimmten Speicherbereich der Speichereinrichtung 50 zum Schreiben und/oder Lesen von Daten bereitstellt, übertragen werden. Der Aufrufbefehl kann alternativ auch intern von einer Anwendung, beispielsweise der Anwendung A erzeugt werden. Angenommen sei, dass die Anwendung B bereits im Anwendungsspeieher 70 abgelegt ist und
erfolgreich auf Authentizität und gegen das Urgeheimnis geprüft worden ist. Nunmehr wird der Befehl zum Aufrufen der Anwendung B zur Chipkarte 90 weitergeleitet, die daraufhin den versiegelten Aufruf-Befehl authentifiziert. Nach erfolgreicher Authentifizierung liest der
Mikroprozessor 100 die Anwendung B in den Speicher 110.
Anschließend startet der Mikroprozessor 100 die Anwendung, welche dafür sorgt, dass in dem Datenspeicher 50 ein bestimmter Speicherbereich bereitgestellt wird, in dem die an der Schnittstelle 41 ankommenden Sensordaten gespeichert werden können. Das Bereitstellen des vorbestimmten
Speicherbereichs kann dadurch erfolgen, dass ein bestimmter Adressenraum festgelegt wird.
Angenommen sei nunmehr, dass die im Datenspeicher 50 abgelegten Sensordaten beispielsweise an den Rechner 120 ausgegeben werden sollen. Hierzu überträgt der Rechner 120 zunächst einen versiegelten Befehl zum Aufrufen einer
Anwendung C zum Lesen der in dem Datenspeicher 50
hinterlegten Daten. Wiederum sei angenommen, dass die
Anwendung C bereits im Anwendungsspeieher 70 abgelegt ist, deren Authentizität in der Chipkarte 90 erfolgreich geprüft und die ferner erfolgreich durch den Mikroprozessor 100 gegen das Urgeheimnis 80 geprüft worden ist. Der über die Schnittstelle 40 empfangene versiegelte Aufruf-Befehl wird zur Chipkarte 90 geleitet, die die Authentizität des
Befehls prüft. Bei erfolgreicher Authentifizierung des Aufruf-Befehls lädt der Mikroprozessor 100 die Anwendung C in den Speicher 110 und startet die Ausführung der
Anwendung C. Unter Steuerung der Anwendung C liest der Mikroprozessor 100 die Sensordaten aus dem Datenspeicher 50 aus. Optional sorgt die Anwendung C auch dafür, dass die Daten über die Schnittstelle 40 zum Rechner 120 übertragen werden.
Angemerkt sei an dieser Stelle, dass die Anwendung C
Informationen enthalten kann, die den Mikroprozessor 100 veranlassen, die Schnittstelle 40 zur Ausgabe von Daten freizugeben.
Das Sicherheitsmodul 20 ist ferner derart ausgebildet, dass es für eine externe Kommunikationseinrichtung, z. B. für den Rechner 120, einen transparenten Zugriff auf die
Chipkarte einrichten kann. Aus dem Blickwinkel des Rechners 120 fungiert das Sicherheitsmodul 20 dann wie eine
herkömmliche Smart Card. Der transparente Zugriff wird eingerichtet, indem wiederum am Rechner 120 ein
versiegelter Befehl zum Aufrufen einer Anwendung D zur Steuerung eines transparenten Zugriffs auf die Chipkarte 90 erzeugt und über die Schnittstelle 40 zum Sicherheitsmodul 20 übertragen wird. Der einfachen Erläuterung wegen sei angenommen, dass auch die Anwendung D bereits vorab über eine freigegebene Schnittstelle des Sicherheitsmoduls 20 in den Anwendungsspeieher 70 geladen und entsprechend der zuvor beschriebenen Prüfverfahren erfolgreich geprüft worden ist. Die Anwendung D ist somit zur Ausführung im
Sicherheitsmodul 20 freigegeben. Der versiegelte Befehl zum Aufruf der Anwendung D wird der Chipkarte 90 übergeben, die die Authentizität des versiegelten Befehls prüfen kann. Nach erfolgreicher Authentifizierung des Befehls lädt der Mikroprozessor 100 die Anwendung D in den Speicher 110 und startet die Ausführung. Vorteilhafterweise besteht, solange die Anwendung aktiv ist, ein transparenter Zugriff für den Rechner 120 auf die Chipkarte 90, so dass der Rechner 120 und die Chipkarte 90 in herkömmlicher Weise miteinander kommunizieren können. Transparenter Zugriff bedeutet, dass die Schnittstelle 40 direkt mit der Chipkarte 90 verbunden ist. Eine Kommunikation zwischen der Chipkarte 90 und einer externen Einrichtung kann auch über die drahtlose
Kommunikationseinrichtung 30 abgewickelt werden.
An dieser Stelle sei angeführt, dass an die Schnittstellen 40 bis 43 und an die Kommunikationseinrichtung 30 auch eine Anzeigeeinrichtung und eine Eingabevorrichtung (nicht dargestellt) angeschlossen werden können. Über die
drahtlose Kommunikationseinrichtung 30 kann das
Sicherheitsmodul 20 beispielsweise mit einem
Mobilfunktelefon kommunizieren, um die zuvor beschriebenen Funktionalitäten, Operationen und Kommunikationen
auszuführen.
In dem Anwendungsspeicher 70 kann auch eine Anwendung abgelegt sein, die in Verbindung mit einem Mobilfunktelefon eine Sprachverschlüsselung und/oder Sprachentschlüsselung durchführt. In diesem Fall kann vom Mobilfunktelefon ein entsprechend versiegelter Aufruf-Befehl über die
Kommunikationseinrichtung 30 zum Sicherheitsmodul 20 übertragen werden, welches in der zuvor beschriebenen Weise in der Chipkarte 90 authentifiziert wird. Nach
erfolgreicher Authentifizierung wird die zuvor erfolgreich geprüfte Verschlüsselungs- und/oder
Entschlüsselungsanwendung in den Speicher 110 geladen und vom Mikroprozessor 100 entsprechend ausgeführt. Auf diese
Weise kann der gesamte Sprachverkehr auf der
Mobilfunkstrecke verschlüsselt übertragen werden.
Es soll nicht unerwähnt bleiben, dass die beschriebenen Aufruf-Befehle und Anwendungen lediglich beispielhafter
Natur sind. Das Sicherheitsmodul 20 kann beliebige Aufruf- Befehle und Anwendungen nach erfolgreicher Prüfung intern ausführen kann. Zudem können in dem Sicherheitsmodul 20 auszuführende Anwendungen von einer laufenden Anwendung aufgerufen werden.
Claims
1. Verfahren zum Ausführen von Anwendungen in einer
sicheren Vorrichtung (20) , welche mit einer externen Kommunikationseinrichtung (120) verbindbar ist, mit folgenden Verfahrensschritten:
- Authentifizieren eines versiegelten Befehls zum Aufrufen einer in der Vorrichtung (20) abgelegten Anwendung durch eine in der Vorrichtung angeordneten Chipkarte (90) ;
- Prüfen, ob die Anwendung von der Vorrichtung
ausgeführt werden darf, wobei die Prüfung innerhalb der Vorrichtung (20, 100)) aber außerhalb der
Chipkarte (90) erfolgt; und
- wenn die Anwendung von der Vorrichtung (20)
ausgeführt werden darf, Ausführung der Anwendung nach erfolgreicher Authentifizierung durch die Vorrichtung.
2. Verfahren nach Anspruch 1,
dadurch gekennzeichnet, dass
in der Vorrichtung (20) ein gegen Auslesen gesichertes Geheimnis abgelegt wird, und dass
der Prüfschritt den Schritt des Prüfens der Anwendung gegen das Geheimnis enthält, um zu ermitteln, ob die Anwendung von der Vorrichtung ausgeführt werden darf.
3. Verfahren nach Anspruch 1 oder 2 ,
dadurch gekennzeichnet, dass
die Anwendung versiegelt wird und dass
vor der Ausführung der Anwendung in der Chipkarte (90) eine Authentifizierung der Anwendung durchgeführt wird.
4. Verfahren nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass
die Vorrichtung steuerbare Schnittstellen (40, 41, 42, 43) aufweist und dass die Anwendung nur über eine vorbestimmte Schnittstelle (40) mit einer extern verbundenen Kommunikationseinrichtung (120)
kommunizieren kann.
5. Verfahren nach Anspruch 4,
dadurch gekennzeichnet, dass
die vorbestimmte Schnittstelle (40) in Abhängigkeit von der aufgerufenen Anwendung aus den steuerbaren
Schnittstellen ausgewählt wird.
6. Verfahren nach einem der vorstehenden Ansprüche,
dadurch gekennzeichnet, dass
Anwendungen, Daten und/oder Steuerbefehle nur an vorbestimmten Schnittstellen der Vorrichtung (20) empfangen werden können.
7. Verfahren nach einem der vorstehenden Ansprüche,
dadurch gekennzeichnet, dass
Daten nur über eine vorbestimmte Schnittstelle der Vorrichtung ausgegeben werden können.
8. Verfahren nach einem der vorstehenden Ansprüche,
dadurch gekennzeichnet, dass
in der Vorrichtung (20) zu speichernde Daten
versiegelt werden,
die versiegelten Daten von der Chipkarte (90)
authentifiziert werden, und dass
die versiegelten Daten nach erfolgreicher Authentifizierung in der Vorrichtung gespeichert werden.
9. Verfahren nach Anspruch 8 ,
dadurch gekennzeichnet, dass
die Versiegelung der Daten in der Vorrichtung erfolgt und folgende Schritte umfasst:
Prüfen einer in der Vorrichtung (20) abgelegten
Anwendung zum Versiegeln von Daten, ob diese Anwendung von der Vorrichtung ausgeführt werden darf; und
Ausführen der Anwendung zum Versiegeln der zu
speichernden Daten nach erfolgreicher Prüfung.
10. Verfahren nach einem der vorstehenden Ansprüche,
gekennzeichnet durch folgende Schritte:
- Empfangen eines versiegelten Befehls zum Aufrufen einer Anwendung zum Speichern von Daten in der
Vorrichtung;
- Prüfen, in der Vorrichtung (20, 100), ob diese
Anwendung von der Vorrichtung ausgeführt werden darf;
- Authentifizieren des versiegelten Aufruf-Befehls durch die Chipkarte (90) ; und,
- wenn die Anwendung von der Vorrichtung (20)
ausgeführt werden darf, Ausführung der Anwendung nach erfolgreicher Authentifizierung.
11. Verfahren nach Anspruch 10,
gekennzeichnet durch folgende Schritte:
- Empfangen, von einer externen
Kommunikationseinrichtung (120) , eines versiegelten
Befehls zum Aufrufen einer Anwendung zum Lesen der in der Vorrichtung (20) gespeicherten Daten;
- Prüfen, in der Vorrichtung (20, 100), ob diese Anwendung von der Vorrichtung ausgeführt werden darf;
- Authentifizieren des versiegelten Aufruf-Befehls durch die Chipkarte (90) ; und,
- wenn die Anwendung von der Vorrichtung ausgeführt werden darf, Ausführung der Anwendung nach
erfolgreicher Authentifizierung, wobei die Daten während des Ablaufs der Anwendung gelesen und über eine vorbestimmte Schnittstelle ausgegeben werden können .
12. Verfahren nach Anspruch 10 oder 11,
gekennzeichnet durch folgende Schritte :
- Empfangen eines versiegelten Befehls zum Aufrufen einer Anwendung, welche einen vorbestimmbaren
Speicherbereich einer Speichereinrichtung (50) der
Vorrichtung (20) zum Schreiben und/oder Auslesen von Daten bereitstellt;
- Prüfen, in der Vorrichtung (20, 100), ob diese Anwendung von der Vorrichtung ausgeführt werden darf; - Authentifizieren des versiegelten Aufruf-Befehls durch die Chipkarte (90) ; und,
- wenn die Anwendung von der Vorrichtung (20)
ausgeführt werden darf, Ausführung der Anwendung nach erfolgreicher Authentifizierung.
13. Verfahren nach einem der vorstehenden Ansprüche,
gekennzeichnet durch folgende Schritte :
- Empfangen, von einer externen
Kommunikationseinrichtung (120) , eines versiegelten Befehls zum Aufrufen einer Anwendung zur Steuerung eines transparenten Zugriffs auf die Chipkarte (90) ;
- Prüfen, in der Vorrichtung (20, 100) , ob diese
Anwendung von der Vorrichtung ausgeführt werden darf; - Authentifizieren des versiegelten Aufruf-Befehls durch die Chipkarte (90) ; und,
- wenn die Anwendung von der Vorrichtung ausgeführt werden darf, Ausführung der Anwendung nach
erfolgreicher Authentifizierung durch die Vorrichtung.
14. Sichere Vorrichtung (20) zum Ausführen von
Anwendungen, mit
wenigstens einer ansteuerbaren Schnittstelle (30, 40- 43) zum Verbinden mit einer externen
Kommunikationseinrichtung (120) ,
einer ersten Speichereinrichtung (70) zum Speichern wenigstens einer Anwendungen,
einer programmierbaren Steuereinrichtung (100) zum Ausführen einer Anwendung,
eine Chipkarte (90) zum Authentifizieren von
versiegelten Befehlen zum Aufrufen von Anwendungen, eine außerhalb der Chipkarte (90) implementierte
Prüfeinrichtung (100) zum Prüfen, ob eine Anwendung von der Vorrichtung ausgeführt werden darf;
wobei die programmierbare Steuereinrichtung (100) derart ausgebildet ist, dass sie eine aufgerufene Anwendung nur ausführt, wenn der Aufrufbefehl durch die Chipkarte (90) erfolgreich authentifiziert worden ist und die Prüfeinrichtung (100) ermittelt hat, dass die Anwendung von der Vorrichtung ausgeführt werden darf.
15. Sichere Vorrichtung nach Anspruch 14,
gekennzeichnet durch
eine gegen Auslesen gesicherte Speichereinrichtung (80) , in der ein Geheimnis abgelegt ist, wobei die Prüfeinrichtung (100) zum Prüfen der Anwendung gegen das Geheimnis ausgebildet ist, um zu ermitteln, ob die Anwendung von der Vorrichtung ausgeführt werden darf.
16. Sichere Vorrichtung nach Anspruch 14 oder 15,
dadurch gekennzeichnet, dass
die Chipkarte (90) zum Authentifizieren von
versiegelten Anwendungen und/oder Daten ausgebildet ist und dass
die programmierbare Steuereinrichtung (100) derart ausgebildet ist, dass sie eine aufgerufene Anwendung nur ausführt, wenn der Aufrufbefehl und die Anwendung durch die Chipkarte (90) erfolgreich authentifiziert worden sind.
17. Sichere Vorrichtung nach einem der Ansprüche 14 bis
16,
dadurch gekennzeichnet, dass
die Vorrichtung (20) als tragbares Modul ausgebildet ist.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP10720337.4A EP2465067B1 (de) | 2009-08-12 | 2010-04-17 | Verfahren und vorrichtung zum ausführen von anwendungen in einer sicheren, autonomen umgebung |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102009037223A DE102009037223A1 (de) | 2009-08-12 | 2009-08-12 | Verfahren und Vorrichtung zum Ausführen von Anwendungen in einer sicheren, autonomen Umgebung |
DE102009037223.7 | 2009-08-12 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2011018060A1 true WO2011018060A1 (de) | 2011-02-17 |
Family
ID=42335001
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/DE2010/000435 WO2011018060A1 (de) | 2009-08-12 | 2010-04-17 | Verfahren und vorrichtung zum ausführen von anwendungen in einer sicheren, autonomen umgebung |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP2465067B1 (de) |
DE (1) | DE102009037223A1 (de) |
WO (1) | WO2011018060A1 (de) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3151503A1 (de) * | 2015-09-29 | 2017-04-05 | Siemens Aktiengesellschaft | Verfahren und system zur authentifizierung einer umgebenden web-anwendung durch eine einzubettende web-anwendung |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1997005551A1 (en) * | 1995-07-31 | 1997-02-13 | Verifone, Inc. | Method and apparatus for operating resources under control of a security module or other secure processor |
WO2000025278A1 (en) * | 1998-10-27 | 2000-05-04 | Visa International Service Association | Delegated management of smart card applications |
WO2006021178A2 (de) * | 2004-08-26 | 2006-03-02 | Deutsche Telekom Ag | Verfahren und sicherheitssystem zur sicheren und eindeutigen kodierung eines sicherheitsmoduls |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10340181A1 (de) * | 2003-09-01 | 2005-03-24 | Giesecke & Devrient Gmbh | Verfahren zur kryptographischen Absicherung der Kommunikation mit einem tragbaren Datenträger |
EP1536606A1 (de) * | 2003-11-27 | 2005-06-01 | Nagracard S.A. | Verfahren zur Authentifizierung von Anwendungen |
-
2009
- 2009-08-12 DE DE102009037223A patent/DE102009037223A1/de not_active Withdrawn
-
2010
- 2010-04-17 EP EP10720337.4A patent/EP2465067B1/de active Active
- 2010-04-17 WO PCT/DE2010/000435 patent/WO2011018060A1/de active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1997005551A1 (en) * | 1995-07-31 | 1997-02-13 | Verifone, Inc. | Method and apparatus for operating resources under control of a security module or other secure processor |
WO2000025278A1 (en) * | 1998-10-27 | 2000-05-04 | Visa International Service Association | Delegated management of smart card applications |
WO2006021178A2 (de) * | 2004-08-26 | 2006-03-02 | Deutsche Telekom Ag | Verfahren und sicherheitssystem zur sicheren und eindeutigen kodierung eines sicherheitsmoduls |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3151503A1 (de) * | 2015-09-29 | 2017-04-05 | Siemens Aktiengesellschaft | Verfahren und system zur authentifizierung einer umgebenden web-anwendung durch eine einzubettende web-anwendung |
US10462117B2 (en) | 2015-09-29 | 2019-10-29 | Siemens Aktiengesellschaft | Method and system for authenticating a surrounding web application by a web application that is to be embedded |
Also Published As
Publication number | Publication date |
---|---|
DE102009037223A1 (de) | 2011-02-17 |
EP2465067B1 (de) | 2016-12-21 |
EP2465067A1 (de) | 2012-06-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3031227B1 (de) | Verfahren zum betreiben eines sicherheitselements | |
DE102011081421A1 (de) | System zur sicheren Übertragung von Daten und Verfahren | |
DE102014220616A1 (de) | Verfahren zum Laden von ausführbaren Programminstruktionen in eine Chipkarte im Wirkbetrieb | |
EP3391278B1 (de) | Id-token mit geschütztem mikrocontroller | |
EP3337085B1 (de) | Nachladen kryptographischer programminstruktionen | |
EP2673731B1 (de) | Verfahren zur programmierung eines mobilendgeräte-chips | |
EP3206151B1 (de) | Verfahren und system zur authentifizierung eines mobilen telekommunikationsendgeräts an einem dienst-computersystem und mobiles telekommunikationsendgerät | |
DE112013002396T5 (de) | Anwendungsprogrammausführungsgerät | |
EP1425723B1 (de) | Initialisieren einer chipkarte | |
DE102012016164A1 (de) | Sicherheitselement und Verfahren zur Installation von Daten in dem Sicherheitselement | |
EP2465067B1 (de) | Verfahren und vorrichtung zum ausführen von anwendungen in einer sicheren, autonomen umgebung | |
EP3373545A1 (de) | Sicherheitseinheit insbesondere ein für iot-gerät und verfahren zur ausführung einer oder mehrerer applikationen zum gesicherten datenaustausch mit einem oder mehrere web-dienste bereitstellenden servern | |
EP2752785A1 (de) | Verfahren zur Personalisierung eines Secure Elements (SE) und Computersystem | |
DE102008047639A1 (de) | Verfahren und Vorrichtung zum Zugriff auf ein maschinenlesbares Dokument | |
DE102009042284A1 (de) | Verfahren zum Aufbauen eines gesicherten Kommunikationskanals | |
DE102021126509B4 (de) | Tragbare Chipvorrichtung und Verfahren zum Ausführen eines Softwaremodul-Updates in einer tragbaren Chipvorrichtung | |
EP2893483A1 (de) | Verfahren zur personalisierung eines secure elements (se) und computersystem | |
EP3361436B1 (de) | Verfahren zur freigabe einer transaktion | |
EP3469511B1 (de) | Speicherverwaltung eines sicherheitsmoduls | |
DE102014209037A1 (de) | Vorrichtung und Verfahren zum Schutz der Integrität von Betriebssysteminstanzen | |
DE102015207004A1 (de) | Verfahren zum geschützten Zugriff auf Sicherheitsfunktionen eines Sicherheitsmoduls eines Hostsystems | |
EP2613491A1 (de) | Ausführung von kryptografischen Operationen mit Daten eines Nutzerendgeräts | |
DE102021005350A1 (de) | Autorisieren einer Anwendung auf einem Sicherheitselement | |
DE102009048239A1 (de) | Personalisieren eines Telekommunikationsmoduls | |
DE202015102717U1 (de) | Programmierschnittstelle für eine oder mehrere Anwendungen eines tragbaren Kommunikationsendgeräts zur Kommunikation mit einer Chipkartenanwendung |
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: 10720337 Country of ref document: EP Kind code of ref document: A1 |
|
REEP | Request for entry into the european phase |
Ref document number: 2010720337 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2010720337 Country of ref document: EP |