DE102014209037A1 - Apparatus and method for protecting the integrity of operating system instances - Google Patents

Apparatus and method for protecting the integrity of operating system instances Download PDF

Info

Publication number
DE102014209037A1
DE102014209037A1 DE102014209037.7A DE102014209037A DE102014209037A1 DE 102014209037 A1 DE102014209037 A1 DE 102014209037A1 DE 102014209037 A DE102014209037 A DE 102014209037A DE 102014209037 A1 DE102014209037 A1 DE 102014209037A1
Authority
DE
Germany
Prior art keywords
instance
data
operating system
result
decrypted
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102014209037.7A
Other languages
German (de)
Inventor
Sascha Wessel
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV
Original Assignee
Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV filed Critical Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV
Priority to DE102014209037.7A priority Critical patent/DE102014209037A1/en
Publication of DE102014209037A1 publication Critical patent/DE102014209037A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring 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

Abstract

Eine Vorrichtung (100; 200; 300) wird bereitgestellt. Die Vorrichtung (100; 200; 300) umfasst eine Prozessoreinheit (110), die einen oder mehrere Prozessoren umfasst, eine Speichereinheit (120), die nichtflüchtigen Speicher umfasst, eine Schnittstelle (130) zur Datenübertragung an ein Informationselement (900) und zum Datenempfang von dem Informationselement (900), und eine Gruppe von Betriebssysteminstanzen (140, 141, 142). Die Gruppe der Betriebssysteminstanzen (140, 141, 142) umfasst ein oder mehrere Arbeitsumgebungsinstanzen (141, 142), wobei jede Betriebssysteminstanz (140, 141, 142) der Gruppe der Betriebssysteminstanzen (140, 141, 142) Daten aufweist, wobei die Daten jeder Betriebssysteminstanz (140, 141, 142) der Gruppe der Betriebssysteminstanzen (140, 141, 142) im nichtflüchtigen Speicher der Speichereinheit (120) verschlüsselt gespeichert sind. Die Vorrichtung (100; 200; 300) ist dafür eingerichtet, wenn ein Überprüfungsergebnis ein erstes Resultat aufweist, die Daten einer Arbeitsumgebungsinstanz (141) der ein oder mehreren Arbeitsumgebungsinstanzen (141, 142) zu entschlüsseln, um entschlüsselte Daten dieser Arbeitsumgebungsinstanz (141) zu erzeugen, und abhängig von den entschlüsselten Daten dieser Arbeitsumgebungsinstanz (141), einen oder mehrere Prozesse, die dieser Arbeitsumgebungsinstanz (141) zugeordnet sind, auf der Prozessoreinheit (110) auszuführen; und die Vorrichtung (100; 200; 300) ist dafür eingerichtet, wenn das Überprüfungsergebnis ein zweites Resultat aufweist, das von dem ersten Resultat verschieden ist, die Daten keiner der ein oder mehreren Arbeitsumgebungsinstanzen (141, 142) zu entschlüsseln.A device (100; 200; 300) is provided. The device (100; 200; 300) comprises a processor unit (110) which comprises one or more processors, a memory unit (120) which comprises nonvolatile memories, an interface (130) for data transmission to an information element (900) and for data reception from the information element (900), and a group of operating system instances (140, 141, 142). The set of operating system instances (140, 141, 142) includes one or more working environment instances (141, 142), wherein each operating system instance (140, 141, 142) of the set of operating system instances (140, 141, 142) has data, the data each Operating system instance (140, 141, 142) of the group of operating system instances (140, 141, 142) are stored in encrypted form in the non-volatile memory of the memory unit (120). The apparatus (100; 200; 300) is arranged, when a check result has a first result, to decrypt the data of a working environment instance (141) of the one or more work environment instances (141, 142) to decrypt data of that work environment instance (141) and, depending on the decrypted data of that work environment instance (141), execute one or more processes associated with that work environment instance (141) on the processor unit (110); and the device (100; 200; 300) is arranged for, if the check result has a second result different from the first result, decrypting the data of none of the one or more working environment instances (141, 142).

Description

Die Anmeldung betrifft Integritätssicherung und insbesondere eine Vorrichtung und ein Verfahren zum Schutz der Integrität von Betriebssystem-Containern, bzw. virtualisierten Betriebssysteminstanzen (engl.: operating system instance).The application relates to integrity assurance and more particularly to an apparatus and method for protecting the integrity of operating system containers or virtualized operating system instances.

Kommunikationseinheiten, insbesondere mobile Kommunikationseinheiten, wie beispielsweise Smartphones stellen mittlerweile einen allgegenwärtigen Teil unseres Lebens dar. Sie werden für unterschiedlichste Aufgaben eingesetzt, im Privatleben, wie auch im geschäftlichen Bereich. Dabei haben die unterschiedlichen Aufgaben, die mit dem Smartphone durchgeführt werden, in der Regel unterschiedliche Sicherheitsanforderungen. Wird beispielsweise mit einem Smartphone Online-Banking betrieben, so bestehen hohe Sicherheitsanforderungen. Ebenso bestehen beispielsweise hohe Sicherheitsanforderungen, wenn eine mobile Kommunikationseinheit mit einem Firmennetzwerk kommuniziert.Communication units, especially mobile communication units, such as smartphones, are now an omnipresent part of our lives. They are used for a wide range of tasks, both in private life and in business. The different tasks that are performed with the smartphone usually have different security requirements. If, for example, online banking is operated with a smartphone, then there are high security requirements. Likewise, for example, there are high security requirements when a mobile communication unit communicates with a corporate network.

Isolierungskonzepte, wie etwa Virtualisierung bzw. Container Konzepte, ermöglichen das Bereitstellen von mehreren voneinander isolierten Systemumgebungen. Beispiele hierfür sind Systemvirtualisierung und Betriebssystemlevelvirtualisierung. Ein bekanntes Beispiel für Systemvirtualisierung ist Xen und ein bekanntes Beispiel für Betriebssystemlevelvirtualisierung sind die sogenannten LinuX-Containers (LXC). Die LXC zugrunde liegenden Betriebsystemmechanismen ermöglichen dabei mehrere voneinander isolierte Linux-Systeme auf einer Systemeinheit laufen zu lassen. Konkret weist bei LXC jeder Container eine eigene virtuelle Umgebung auf. Jeder der Container hat eigene Namensräume für unter anderem Prozesse und das Datei-Verzeichnissystem, die von den anderen Containern isoliert und damit nicht zugreifbar sind. Alle Container nutzen jedoch den Kernel des zugrundeliegenden Betriebssystems. Im Falle von Systemvirtualisierung nutzt jede Instanz ihren eigenen Kernel, welcher wiederum Prozesse implementiert. Auch hier steht jeder Instanz ein eigenes Datei-Verzeichnissystem zur Verfügung, das von den anderen Instanzen nicht zugreifbar ist.Isolation concepts, such as virtualization and container concepts, allow you to deploy multiple, isolated system environments. Examples include system virtualization and operating system level virtualization. A well-known example of system virtualization is Xen and a well-known example of operating system level virtualization are the so-called LinuX containers (LXC). The LXC underlying operating system mechanisms allow several isolated Linux systems to run on one system unit. Specifically, at LXC each container has its own virtual environment. Each of the containers has its own namespaces for, among other things, processes and the file directory system, which are isolated from the other containers and thus inaccessible. However, all containers use the kernel of the underlying operating system. In the case of system virtualization, each instance uses its own kernel, which in turn implements processes. Again, each instance has its own file directory system, which is inaccessible to other instances.

Wünschenswert wäre es, verbesserte Konzepte bereitzustellen, die die Sicherheit mobiler Kommunikationseinheiten verbessern.It would be desirable to provide improved concepts that enhance the security of mobile communication units.

Die Aufgabe der vorliegenden Erfindung wird durch eine Vorrichtung nach Anspruch 1, durch ein System nach Anspruch 16, durch ein Informationselement nach Anspruch 18, durch ein System nach Anspruch 19, durch ein Verfahren nach Anspruch 20 und durch ein Computerprogramm nach Anspruch 21 gelöst.The object of the present invention is achieved by a device according to claim 1, by a system according to claim 16, by an information element according to claim 18, by a system according to claim 19, by a method according to claim 20 and by a computer program according to claim 21.

Eine Vorrichtung wird bereitgestellt. Die Vorrichtung umfasst eine Prozessoreinheit, die einen oder mehrere Prozessoren umfasst, eine Speichereinheit, die nichtflüchtigen Speicher umfasst, eine Schnittstelle zur Datenübertragung an ein Informationselement und zum Datenempfang von dem Informationselement, und eine Gruppe von Betriebssysteminstanzen. Die Gruppe der Betriebssysteminstanzen umfasst ein oder mehrere Arbeitsumgebungsinstanzen, wobei jede Betriebssysteminstanz der Gruppe der Betriebssysteminstanzen Daten aufweist, und wobei die Daten jeder Betriebssysteminstanz der Gruppe der Betriebssysteminstanzen im nichtflüchtigen Speicher der Speichereinheit verschlüsselt gespeichert sind. Die Vorrichtung ist dafür eingerichtet, wenn ein Überprüfungsergebnis ein erstes Resultat aufweist, die Daten einer Arbeitsumgebungsinstanz der ein oder mehreren Arbeitsumgebungsinstanzen zu entschlüsseln, um entschlüsselte Daten dieser Arbeitsumgebungsinstanz zu erzeugen, und abhängig von den entschlüsselten Daten dieser Arbeitsumgebungsinstanz, einen oder mehrere Prozesse, die dieser Arbeitsumgebungsinstanz zugeordnet sind, auf der Prozessoreinheit auszuführen; und die Vorrichtung ist dafür eingerichtet, wenn das Überprüfungsergebnis ein zweites Resultat aufweist, das von dem ersten Resultat verschieden ist, die Daten keiner der ein oder mehreren Arbeitsumgebungsinstanzen zu entschlüsseln.A device is provided. The apparatus comprises a processor unit comprising one or more processors, a memory unit comprising nonvolatile memories, an interface for transmitting data to an information element and for receiving data from the information element, and a group of operating system instances. The set of operating system instances includes one or more working environment instances, each operating system instance of the set of operating system instances having data, and wherein the data of each operating system instance of the set of operating system instances is stored encrypted in the nonvolatile memory of the storage unit. The apparatus is arranged for, when a check result has a first result, decrypting the data of a work environment instance of the one or more work environment instances to generate decrypted data of that work environment instance, and one or more processes dependent on the decrypted data of that work environment instance Working environment instance are assigned to execute on the processor unit; and the apparatus is arranged to, if the check result has a second result different from the first result, decrypt the data of none of the one or more work environment instances.

In einer Ausführungsform kann die Gruppe der Betriebssysteminstanzen beispielsweise ferner eine Anmeldeinstanz umfassen. Dabei kann die Schnittstelle dafür eingerichtet sein, von dem Informationselement eine kryptografische Information oder sonstige Daten zu erhalten. Die Vorrichtung kann dabei dafür eingerichtet sein, basierend auf der kryptographischen Information oder den sonstigen Daten, die Daten der Anmeldeinstanz zu entschlüsseln, um entschlüsselte Daten der Anmeldeinstanz zu erzeugen, und, abhängig von den entschlüsselten Daten der Anmeldeinstanz, einen oder mehrere Prozesse, die der Anmeldeinstanz zugeordnet sind, auf der Prozessoreinheit auszuführen, um eine grafische Oberfläche bereitzustellen, die eine Benutzereingabe ermöglicht. Ferner kann in einer solchen Ausführungsform die Schnittstelle ausgebildet sein, um die Benutzereingabe oder eine Sendenachricht, die von der Benutzereingabe abhängt, an das Informationselement zu übermitteln, wobei die Schnittstelle ferner dafür eingerichtet sein kann, nach dieser Übermittlung eine Antwortnachricht zu erhalten, die das Überprüfungsergebnis umfasst. In Abhängigkeit von dem Überprüfungsergebnis kommt es dann zur Entschlüsselung und Ausführung einer der Arbeitsumgebungsinstanzen, oder aber die Entschlüsselung und entsprechend auch die Ausführung einer der Arbeitsumgebungsinstanzen unterbleibt.For example, in one embodiment, the set of operating system instances may further include a login instance. In this case, the interface can be set up to receive cryptographic information or other data from the information element. The device can be set up to decrypt the data of the logon instance based on the cryptographic information or the other data in order to generate decrypted data of the logon instance and, depending on the decrypted data of the logon instance, one or more processes that the Registration instance are assigned to run on the processor unit to provide a graphical user interface that allows user input. Further, in such an embodiment, the interface may be configured to communicate the user input or a broadcast message that depends on the user input to the information element, which interface may be further configured to receive, after this transmission, a response message containing the check result includes. Depending on the result of the check, the decryption and execution of one of the working environment instances, or the decryption and, correspondingly, the execution of one of the working environment instances, then occur.

In einer anderen Ausführungsform ist ein System ohne Anmeldeinstanz realisiert. Dabei entfällt die PIN-Eingabe, aber der Integritätsschutz wird immer noch realisiert. In another embodiment, a system without a login instance is implemented. This eliminates the PIN entry, but the integrity protection is still implemented.

Bei der Vorrichtung kann es sich bevorzugt um eine Kommunikationseinheit handeln. Besonders bevorzugt handelt es sich bei der Vorrichtung um eine mobile Kommunikationseinheit, wie z. B. ein Smartphone oder Tablet.The device may preferably be a communication unit. Particularly preferably, the device is a mobile communication unit, such. As a smartphone or tablet.

Des Weiteren wird ein Informationselement bereitgestellt. Das Informationselement umfasst eine Speichereinheit, die nichtflüchtigen Speicher umfasst, eine Prozessoreinheit, und eine Schnittstelle. In dem nichtflüchtigen Speicher der Speichereinheit sind ein oder mehrere private kryptografische Schlüssel eines oder mehrerer asymmetrischer Schlüsselpaare gespeichert. Die Schnittstelle ist ausgebildet, einen verschlüsselten kryptographischen Schlüssel oder sonstige Daten zu empfangen, wobei der verschlüsselte kryptografische Schlüssel unter Verwendung des privaten kryptografischen Schlüssels entschlüsselbar ist. Die Prozessoreinheit ist ausgebildet, den verschlüsselten kryptographischen Schlüssel oder die sonstigen Daten unter Verwendung des einen oder der mehreren privaten kryptografischen Schlüssel zu entschlüsseln, um einen entschlüsselten kryptographischen Schlüssel oder um entschlüsselte Daten zu erhalten. Die Schnittstelle ist ausgebildet, den entschlüsselten kryptographischen Schlüssel oder die entschlüsselten Daten auszugeben.Furthermore, an information element is provided. The information element comprises a memory unit comprising non-volatile memory, a processor unit, and an interface. One or more private cryptographic keys of one or more asymmetric key pairs are stored in the nonvolatile memory of the memory unit. The interface is configured to receive an encrypted cryptographic key or other data, wherein the encrypted cryptographic key is decryptable using the private cryptographic key. The processor unit is configured to decrypt the encrypted cryptographic key or other data using the one or more private cryptographic keys to obtain a decrypted cryptographic key or decrypted data. The interface is designed to output the decrypted cryptographic key or the decrypted data.

Ferner ist die Schnittstelle ausgebildet, eine verschlüsselte PIN, die unter Verwendung des privaten kryptografischen Schlüssels oder der entschlüsselten Daten entschlüsselbar ist, zu empfangen. Die Prozessoreinheit ist ausgebildet, die verschlüsselte PIN unter Verwendung des privaten kryptografischen Schlüssels oder der entschlüsselten Daten zu entschlüsseln, um eine entschlüsselte PIN zu erhalten. In anderen Ausführungsformen wird alternativ eine nicht verschlüsselte PIN im Klartext zu übertragen.Further, the interface is adapted to receive an encrypted PIN which is decryptable using the private cryptographic key or the decrypted data. The processor unit is configured to decrypt the encrypted PIN using the private cryptographic key or the decrypted data to obtain a decrypted PIN. Alternatively, in other embodiments, an unencrypted PIN is transmitted in plain text.

Die Prozessoreinheit ist ausgebildet, die (ggf. entschlüsselte) PIN mit einer gespeicherten PIN zu vergleichen, um ein Überprüfungsergebnis zu erhalten, wobei die gespeicherte PIN in dem nichtflüchtigen Speicher der Speichereinheit gespeichert ist. Dabei weist das Überprüfungsergebnis entweder ein erstes Resultat auf, wenn das Überprüfungsergebnis angibt, dass die entschlüsselte PIN und die gespeicherte PIN übereinstimmen, oder es weist ein zweites Resultat auf, das von dem ersten Resultat verschieden ist, wenn das Überprüfungsergebnis angibt, dass die entschlüsselte PIN und die gespeicherte PIN nicht übereinstimmen. Ferner ist die Prozessoreinheit ausgebildet, eine Antwortnachricht zu erzeugen, die das Überprüfungsergebnis umfasst. Die Schnittstelle ist ausgebildet, die Antwortnachricht auszugeben.The processor unit is designed to compare the (possibly decrypted) PIN with a stored PIN in order to obtain a check result, wherein the stored PIN is stored in the non-volatile memory of the memory unit. In this case, the check result either has a first result if the check result indicates that the decrypted PIN and the stored PIN match, or it has a second result different from the first result if the check result indicates that the decrypted PIN and the stored PIN do not match. Further, the processor unit is configured to generate a response message comprising the verification result. The interface is designed to output the response message.

Das Informationselement wird nachfolgend auch als „sicheres Element” bezeichnet. Bevorzugt ist das Informationselement als eine Smartcard, die wie unten beschrieben ausgestaltet.The information element is also referred to below as a "secure element". Preferably, the information element is configured as a smart card, which is configured as described below.

Ferner wird ein Verfahren bereitgestellt. Das Verfahren umfasst:

  • – Wenn ein Überprüfungsergebnis ein erstes Resultat aufweist, Entschlüsseln von Daten einer Arbeitsumgebungsinstanz einer oder mehrerer Arbeitsumgebungsinstanzen einer Gruppe von Betriebssysteminstanzen, um entschlüsselte Daten dieser Arbeitsumgebungsinstanz zu erzeugen, wobei jede Betriebssysteminstanz der Gruppe der Betriebssysteminstanzen Daten aufweist, wobei die Daten jeder Betriebssysteminstanz der Gruppe der Betriebssysteminstanzen im nichtflüchtigen Speicher einer Speichereinheit verschlüsselt gespeichert sind, und, abhängig von den entschlüsselten Daten der besagten Arbeitsumgebungsinstanz, Ausführen von einem oder mehreren Prozessen, die dieser Arbeitsumgebungsinstanz zugeordnet sind, auf einer Prozessoreinheit. Und:
  • – Wenn das Überprüfungsergebnis ein zweites Resultat aufweist, das von dem ersten Resultat verschieden ist, kein Entschlüsseln der Daten der ein oder mehreren Arbeitsumgebungsinstanzen.
Furthermore, a method is provided. The method comprises:
  • When a check result has a first result, decrypting data of a working environment instance of one or more working environment instances of a set of operating system instances to generate decrypted data of that work environment instance, each operating system instance of the set of operating system instances comprising data of each operating system instance of the set of operating system instances are stored in encrypted form in the nonvolatile memory of a memory unit and, depending on the decrypted data of said work environment instance, executing one or more processes associated with that work environment instance on a processor unit. And:
  • If the check result has a second result different from the first result, no decrypting of the data of the one or more work environment instances.

Des Weiteren wird ein Computerprogramm mit einem Programmcode zur Durchführung des oben beschriebenen Verfahrens bereitgestellt.Furthermore, a computer program with a program code for carrying out the method described above is provided.

Ausführungsformen der vorliegenden Erfindung basieren darauf, auf einer mobilen Kommunikationseinheit voneinander isolierte Betriebssysteminstanzen einzusetzen, die durch spezielle Zugriffsmechanismen vor unerlaubtem Zugriff besonders geschützt sind, und deren Datenintegrität darüber besonders gesichert wird. Eine besondere Rolle spielt dabei ein sogenanntes sicheres Element (engl.: secure element), das einen integrierten Schaltkreis aufweist, wie beispielsweise eine Chipkarte. Bei Ausführungsformen der vorliegenden Erfindung sind die Betriebssysteminstanzen der mobilen Kommunikationseinheit an ein spezielles sicheres Element gekoppelt. Im Ergebnis wird eine Kopplung des Gerätes, z. B. eines Smartphones, an das sichere Element und umgekehrt realisiert.Embodiments of the present invention are based on deploying operating systems that are isolated from one another on a mobile communication unit and that are specially protected by special access mechanisms against unauthorized access, and whose data integrity is particularly ensured. A so-called secure element, which has an integrated circuit, such as a chip card, plays a special role here. In embodiments of the present invention, the operating system instances of the mobile communication unit are coupled to a particular secure element. As a result, a coupling of the device, z. As a smartphone, to the secure element and vice versa realized.

Nachfolgend werden bevorzugte Ausführungsformen der Erfindung unter Bezugnahme auf die Zeichnungen beschrieben.Hereinafter, preferred embodiments of the invention will be described with reference to the drawings.

In den Zeichnungen ist dargestellt:The drawings show:

1a zeigt eine Vorrichtung gemäß einer ersten Ausführungsform, 1a shows a device according to a first embodiment,

1b zeigt eine Vorrichtung gemäß einer zweiten Ausführungsform, 1b shows a device according to a second embodiment,

2 zeigt einer Vorrichtung gemäß einer dritten Ausführungsform, 2 shows a device according to a third embodiment,

3 zeigt eine Vorrichtung gemäß einer vierten Ausführungsform, 3 shows a device according to a fourth embodiment,

4 zeigt eine Vorrichtung gemäß einer fünften Ausführungsform, und 4 shows a device according to a fifth embodiment, and

5 zeigt ein Informationselement gemäß einer Ausführungsform. 5 shows an information element according to an embodiment.

1a zeigt eine Vorrichtung gemäß einer Ausführungsform. 1a shows a device according to an embodiment.

Die Vorrichtung 100 umfasst eine Prozessoreinheit 110, die einen oder mehrere Prozessoren umfasst.The device 100 includes a processor unit 110 which includes one or more processors.

Ferner umfasst die Vorrichtung 100 eine Speichereinheit 120, die nichtflüchtigen Speicher umfasst.Furthermore, the device comprises 100 a storage unit 120 that includes non-volatile memory.

Des Weiteren umfasst die Vorrichtung 100 eine Schnittstelle 130 zur Datenübertragung an ein Informationselement 900 und zum Datenempfang von dem Informationselement 900.Furthermore, the device comprises 100 an interface 130 for data transmission to an information element 900 and for receiving data from the information element 900 ,

Ferner umfasst die Vorrichtung eine Gruppe von Betriebssysteminstanzen 140, 141, 142. Die Gruppe der Betriebssysteminstanzen 140, 141, 142 umfasst ein oder mehrere Arbeitsumgebungsinstanzen 141, 142.Furthermore, the device comprises a group of operating system instances 140 . 141 . 142 , The group of operating system instances 140 . 141 . 142 includes one or more work environment instances 141 . 142 ,

Jede Betriebssysteminstanz 140, 141, 142 der Gruppe der Betriebssysteminstanzen 140, 141, 142 weist Daten auf. Die Daten jeder Betriebssysteminstanz 140, 141, 142 der Gruppe der Betriebssysteminstanzen 140, 141, 142 sind im nichtflüchtigen Speicher der Speichereinheit 120 verschlüsselt gespeichert.Each operating system instance 140 . 141 . 142 the group of operating system instances 140 . 141 . 142 has data. The data of each operating system instance 140 . 141 . 142 the group of operating system instances 140 . 141 . 142 are in the nonvolatile memory of the storage unit 120 stored encrypted.

Die Vorrichtung 100 ist dafür eingerichtet, wenn ein Überprüfungsergebnis ein erstes Resultat aufweist, die Daten einer Arbeitsumgebungsinstanz 141 der ein oder mehreren Arbeitsumgebungsinstanzen 141, 142 zu entschlüsseln, um entschlüsselte Daten dieser Arbeitsumgebungsinstanz 141 zu erzeugen, und abhängig von den entschlüsselten Daten dieser Arbeitsumgebungsinstanz 141, einen oder mehrere Prozesse, die dieser Arbeitsumgebungsinstanz 141 zugeordnet sind, auf der Prozessoreinheit 110 auszuführen.The device 100 is set up, when a check result has a first result, the data of a working environment instance 141 the one or more work environment instances 141 . 142 to decrypt decrypted data of this working environment instance 141 and depending on the decrypted data of that work environment instance 141 , one or more processes that this work environment instance 141 are assigned on the processor unit 110 perform.

Ferner ist die Vorrichtung 100 dafür eingerichtet, wenn das Überprüfungsergebnis ein zweites Resultat aufweist, das von dem ersten Resultat verschieden ist, die Daten keiner der ein oder mehreren Arbeitsumgebungsinstanzen 141 zu entschlüsseln.Furthermore, the device 100 when the check result has a second result different from the first result, the data is not set to one of the one or more work environment instances 141 to decode.

In Abhängigkeit von dem Überprüfungsergebnis kommt es also zur Entschlüsselung und Ausführung einer der Arbeitsumgebungsinstanzen, oder aber die Entschlüsselung und entsprechend auch die Ausführung einer der Arbeitsumgebungsinstanzen unterbleibt.Depending on the result of the check, it is therefore possible to decrypt and execute one of the working environment instances, or else the decryption and accordingly also the execution of one of the working environment instances is omitted.

Das erste Resultat eines solchen Überprüfungsergebnisses kann beispielsweise aussagen, dass die als Benutzereingabe eine PIN eingegeben wurde, die mit der PIN übereinstimmt, die im Informationselement gespeichert ist. Enthält die Antwortnachricht stattdessen das zweite Resultat, kann die zweite Information beispielsweise besagen, dass die als Benutzereingabe eine PIN eingegeben wurde, die nicht mit der PIN übereinstimmt, die im Informationselement gespeichert ist.For example, the first result of such a check result may say that the user input has been entered with a PIN that matches the PIN stored in the information item. For example, if the response message contains the second result, the second information may indicate that the user input has been a PIN that does not match the PIN stored in the information element.

Oder aber ein Überprüfungsergebnis kann beispielsweise einen gespeicherten Hash-Wert und einen berechneten Hash-Wert miteinander vergleichen, wobei der gespeicherte und der berechnete Hash-Wert beispielsweise auf die besagte Arbeitsumgebungsinstanz bezogen sind. Dabei kann das erste Resultat beispielsweise Übereinstimmung von gespeichertem und berechnetem Hash-Wert anzeigen, wohingegen das zweite Resultat dann eine Abweichung von gespeichertem und berechnetem Hash-Wert anzeigt.Or, for example, a check result may compare a stored hash value and a computed hash value, wherein the stored and calculated hash values are related, for example, to said work environment instance. The first result may indicate, for example, a match of stored and calculated hash value, whereas the second result then indicates a deviation from the stored and calculated hash value.

In Ausführungsformen sind Prozessoreinheit 110, Speichereinheit 120 und Schnittstelle 130 der Hardware zuzurechnen. Die Betriebssysteminstanzen 140, 141, 142 sind dagegen in Ausführungsformen durch Software realisiert.In embodiments, processor unit 110 , Storage unit 120 and interface 130 attributable to the hardware. The operating system instances 140 . 141 . 142 In contrast, in embodiments are realized by software.

In 1a sind zwei Arbeitsumgebungsinstanzen 141, 142 gezeigt. Eine Vorrichtung kann aber eine Vielzahl von Arbeitsumgebungsinstanzen aufweisen. In Ausführungsformen können, während die Vorrichtung in Betrieb ist, neue Arbeitsumgebungsinstanzen erzeugt werden, und bestehende Arbeitsumgebungsinstanzen 141, 142 gelöscht werden, beispielsweise vorausgesetzt, derjenige Nutzer, der dies veranlasst, hat die notwendige Berechtigung.In 1a are two working environment instances 141 . 142 shown. However, a device may have a variety of work environment instances. In embodiments, while the device is in operation, new work environment instances may be created, and existing work environment instances 141 . 142 for example, provided that the user who initiates this has the necessary authorization.

Bei der Vorrichtung 100 handelt es sich bevorzugt um eine Kommunikationseinheit, die ausgelegt ist, an andere Kommunikationseinheiten eines drahtlosen oder drahtgebundenen Netzwerkes Nachrichten zu senden und von diesen anderen Kommunikationseinheiten Nachrichten zu empfangen. Besonders bevorzugt ist, wenn es sich bei der Vorrichtung 100 um eine mobile Kommunikationseinheit handelt, die ausgelegt ist, an andere Kommunikationseinheiten eines drahtlosen oder drahtgebundenen Netzwerkes Nachrichten zu senden und von diesen anderen Kommunikationseinheiten Nachrichten zu empfangen. Beispielsweise handelt es sich bei der Vorrichtung 100 um eine mobile Kommunikationseinheit, wie z. B. ein Smartphone oder Tablet.In the device 100 it is preferably a communication unit that is designed to send messages to and from other communication units of a wireless or wired network other communication units to receive messages. It is particularly preferred when it comes to the device 100 is a mobile communication unit designed to send messages to other communication units of a wireless or wired network and to receive messages from these other communication units. For example, the device is 100 to a mobile communication unit, such. As a smartphone or tablet.

Das Informationselement 900 wird auch als „sicheres Element” bezeichnet.The information element 900 is also called a "safe element".

1b zeigt eine Vorrichtung 100 gemäß einer weiteren Ausführungsform. In einer solchen Ausführungsform kann die Gruppe der Betriebssysteminstanzen 140, 141, 142 beispielsweise ferner eine Anmeldeinstanz 140 umfassen. Dabei kann die Schnittstelle 130 dafür eingerichtet sein, von dem Informationselement 900 eine kryptografische Information oder sonstige Daten zu erhalten. 1b shows a device 100 according to a further embodiment. In such an embodiment, the group of operating system instances may be 140 . 141 . 142 for example, a login instance 140 include. The interface can be 130 be set up by the information element 900 to receive cryptographic information or other data.

Die Vorrichtung 100 kann dafür eingerichtet sein, basierend auf der kryptographischen Information oder den sonstigen Daten, die Daten der Anmeldeinstanz 140 zu entschlüsseln, um entschlüsselte Daten der Anmeldeinstanz 140 zu erzeugen, und, abhängig von den entschlüsselten Daten der Anmeldeinstanz 140, einen oder mehrere Prozesse, die der Anmeldeinstanz 140 zugeordnet sind, auf der Prozessoreinheit 110 auszuführen, um eine grafische Oberfläche bereitzustellen, die eine Benutzereingabe ermöglicht.The device 100 may be arranged for, based on the cryptographic information or the other data, the data of the registration authority 140 to decrypt decrypted data of the login instance 140 and, depending on the decrypted data of the login instance 140 , one or more processes belonging to the login instance 140 are assigned on the processor unit 110 to provide a graphical user interface that allows user input.

Ferner kann in einer solchen Ausführungsform die Schnittstelle 130 ausgebildet sein, um die Benutzereingabe oder eine Sendenachricht, die von der Benutzereingabe abhängt, an das Informationselement 900 zu übermitteln, wobei die Schnittstelle 130 ferner dafür eingerichtet sein kann, nach dieser Übermittlung eine Antwortnachricht zu erhalten, die das Überprüfungsergebnis umfasst.Furthermore, in such an embodiment, the interface 130 be configured to the user input or a send message, which depends on the user input to the information element 900 to submit, with the interface 130 Furthermore, it may be arranged to receive a response message comprising the check result after this transmission.

In Abhängigkeit von dem Überprüfungsergebnis kommt es dann zur Entschlüsselung und Ausführung einer der Arbeitsumgebungsinstanzen 141, 142, oder aber die Entschlüsselung und entsprechend auch die Ausführung einer der Arbeitsumgebungsinstanzen 141, 142 unterbleibt.Depending on the result of the check, the decryption and execution of one of the working environment instances will then occur 141 . 142 or the decryption and, correspondingly, the execution of one of the working environment instances 141 . 142 omitted.

Betrachtet man in 1b das Gesamtsystem, dass die Vorrichtung 100 und das Informationselement (sichere Element) 900 umfasst, so kann in Ausführungsformen das Informationselement 900 dafür eingerichtet sein, der Schnittstelle 130 der Vorrichtung 100 eine kryptografische Information zu übermitteln.Looking at in 1b the overall system that the device 100 and the information element (secure element) 900 In embodiments, the information element 900 be set up for the interface 130 the device 100 to transmit a cryptographic information.

Beispielsweise können von der Vorrichtung 100 Daten gesendet werden, die dann von der Informationseinheit 900 entschlüsselt werden und zurück zur Vorrichtung 100 geschickt werden. Solche Daten können z. B. kryptografische Information sein, also ein symmetrischer Schlüssel für die Storageverschlüsselung.For example, from the device 100 Data is sent, then from the information unit 900 be decrypted and back to the device 100 sent. Such data can z. B. cryptographic information, so a symmetric key for storage encryption.

Die Vorrichtung 100 ist dafür eingerichtet, basierend auf dieser kryptographischen Information, die Daten der Anmeldeinstanz 140 zu entschlüsseln, um entschlüsselte Daten des Anmeldeinstanz 140 zu erzeugen, und, abhängig von den entschlüsselten Daten der Anmeldeinstanz 140, einen oder mehrere Prozesse, die der Anmeldeinstanz 140 zugeordnet sind, auf der Prozessoreinheit 100 auszuführen, um eine grafische Oberfläche bereitzustellen, die eine Benutzereingabe ermöglicht. Die Schnittstelle 130 der Vorrichtung 100 ist dabei ausgebildet, um die Benutzereingabe oder eine Sendenachricht, die von der Benutzereingabe abhängt, an das Informationselement 900 zu übermitteln.The device 100 is set up, based on this cryptographic information, the data of the login instance 140 to decrypt to decrypted data of the login instance 140 and, depending on the decrypted data of the login instance 140 , one or more processes belonging to the login instance 140 are assigned on the processor unit 100 to provide a graphical user interface that allows user input. the interface 130 the device 100 is adapted to the user input or a send message that depends on the user input to the information element 900 to convey.

Das Informationselement 900 ist ausgebildet, einen Vergleich zwischen einer gespeicherten Information und der Empfangsinformation durchzuführen (also z. B. zwischen einer gespeicherten PIN und einer vom Benutzer eingegebenen PIN), wobei die Empfangsinformation von der Benutzereingabe bzw. von der Sendenachricht abhängt. Ferner ist das Informationselement 900 ausgebildet, eine Antwortnachricht zu erzeugen und an die Vorrichtung zu übermitteln, wobei Antwortnachricht ein Überprüfungsergebnis umfasst, das abhängig von dem Vergleich entweder ein erstes Resultat aufweist, oder ein zweites Resultat, das von dem ersten Resultat verschieden ist.The information element 900 is configured to perform a comparison between stored information and the receive information (eg, between a stored PIN and a PIN entered by the user), the receive information depending on the user input and the send message, respectively. Furthermore, the information element 900 adapted to generate a response message and to transmit to the device, wherein response message comprises a verification result, which has either a first result depending on the comparison, or a second result, which is different from the first result.

Die Schnittstelle 130 der Vorrichtung 100 ist dafür eingerichtet, die Antwortnachricht zu erhalten. Die Vorrichtung 100 ist dafür eingerichtet, wenn das Überprüfungsergebnis das erste Resultat aufweist (wobei das erste Resultat zum Beispiel anzeigt, dass die eingegebene PIN korrekt war), die Daten einer Arbeitsumgebungsinstanz 141 der ein oder mehreren Arbeitsumgebungsinstanzen 141, 142 zu entschlüsseln, um entschlüsselte Daten dieser Arbeitsumgebungsinstanz 141 zu erzeugen, und abhängig von den entschlüsselten Daten dieser Arbeitsumgebungsinstanz 141, einen oder mehrere Prozesse, die dieser Arbeitsumgebungsinstanz 141 zugeordnet sind, auf der Prozessoreinheit 110 der Vorrichtung 100 auszuführen. Ferner ist die Vorrichtung 100 dafür eingerichtet, wenn das Überprüfungsergebnis das erste Resultat aufweist (wobei das erste Resultat zum Beispiel anzeigt, dass die eingegebene PIN nicht korrekt war), die Daten keine der ein oder mehreren Arbeitsumgebungsinstanzen 141, 142 zu entschlüsseln (und entsprechend keine der ein oder mehreren Arbeitsumgebungsinstanzen 141, 142 auszuführen).the interface 130 the device 100 is set up to receive the reply message. The device 100 is arranged for, if the check result has the first result (the first result indicating, for example, that the input PIN was correct), the data of a working environment instance 141 the one or more work environment instances 141 . 142 to decrypt decrypted data of this working environment instance 141 and depending on the decrypted data of that work environment instance 141 , one or more processes that this work environment instance 141 are assigned on the processor unit 110 the device 100 perform. Furthermore, the device 100 set up, if the check result has the first result (the first result indicating, for example, that the entered PIN was incorrect), the data is not one of the one or more working environment instances 141 . 142 to decrypt (and accordingly none of the one or more work environment instances 141 . 142 execute).

Eine alternative Ausführungsform kommt dagegen ohne Anmeldeinstanz aus, wobei der Integritätsschutz aber realisiert bleibt.An alternative embodiment, however, does without a login instance, but the integrity protection remains realized.

In Ausführungsformen kann die PIN im Informationselement 900 geändert werden. Eine PIN kann beispielsweise aus (sehr) vielen Zeichen bestehen, z. B. sogar aus beliebigen Daten.In embodiments, the PIN may be in the information element 900 be changed. For example, a PIN may consist of (very) many characters, e.g. B. even from any data.

In Ausführungsformen hat das Informationselement 900 einen internen Zustand, der durch eine korrekte PIN-Eingabe geändert wird und wodurch die Entschlüsselungsfunktionalität des Informationselements freigeschaltet wird. In embodiments, the information element 900 an internal state, which is changed by a correct PIN input and whereby the decryption functionality of the information element is enabled.

Eine weitere Ausführungsform ist beispielsweise ein virtualisiertes System basierend auf Systemvirtualisierung. Dann gibt es einen Betriebssystemkern pro Instanz und darunter einen Hypervisor, z. B. Xen.Another embodiment is, for example, a virtualized system based on system virtualization. Then there is an operating system kernel per instance and including a hypervisor, e.g. Xen.

2 zeigt eine Vorrichtung 200 gemäß einer weiteren Ausführungsform. In 2 ist der Betriebssystemkern 150 der Vorrichtung 200 dargestellt. Der Betriebssystemkern 150 ist dafür eingerichtet, basierend auf der oben bei 1b erwähnten kryptographischen Information, die Daten der Anmeldeinstanz 140 zu entschlüsseln, um die entschlüsselten Daten der Anmeldeinstanz 140 zu erzeugen, und, abhängig von den entschlüsselten Daten der Anmeldeinstanz 140, die oben erwähnten einen oder mehreren Prozesse, die der Anmeldeinstanz 140 zugeordnet sind, auf der Prozessoreinheit 110 auszuführen, um die grafische Oberfläche bereitzustellen, die die Benutzereingabe ermöglicht. 2 shows a device 200 according to a further embodiment. In 2 is the kernel 150 the device 200 shown. The operating system kernel 150 is set up based on the above at 1b mentioned cryptographic information, the data of the registration authority 140 to decrypt the decrypted data of the login instance 140 and, depending on the decrypted data of the login instance 140 , the one or more processes mentioned above, the login instance 140 are assigned on the processor unit 110 to provide the graphical interface that allows user input.

Ferner ist der Betriebssystemkern 150 dafür eingerichtet, wenn das Überprüfungsergebnis das besagte erste Resultat aufweist, die Daten der besagten Arbeitsumgebungsinstanz 141 zu entschlüsseln, um die entschlüsselten Daten dieser Arbeitsumgebungsinstanz 141 zu erzeugen, und abhängig von den entschlüsselten Daten dieser Arbeitsumgebungsinstanz 141, den einen oder die mehreren Prozesse, die dieser Arbeitsumgebungsinstanz 141 zugeordnet sind, auf der Prozessoreinheit auszuführen. Ferner ist der Betriebssystemkern 150 dafür eingerichtet, wenn das Überprüfungsergebnis das besagte zweite Resultat aufweist, die von der ersten Information verschieden ist, die Daten keiner der ein oder mehreren Arbeitsumgebungsinstanzen 141, 142 zu entschlüsseln.Furthermore, the operating system kernel 150 for, when the check result comprises said first result, the data of said work environment instance is established 141 to decrypt the decrypted data of this working environment instance 141 and depending on the decrypted data of that work environment instance 141 , the one or more processes that this work environment instance 141 are assigned to execute on the processor unit. Furthermore, the operating system kernel 150 when the check result has the said second result different from the first information, the data is not set to any of the one or more working environment instances 141 . 142 to decode.

Bevorzugt ist ferner, wenn jede der Betriebssysteminstanzen 140, 141, 142 auf dem Betriebssystem Android basiert. Dabei kann die Isolation bevorzugt auf Basis von Namespaces realisiert sein. Eine zweite Möglichkeit für ein Betriebssystem wäre beispielsweise GNU/Linux.It is further preferred if each of the operating system instances 140 . 141 . 142 based on the operating system Android. In this case, the isolation can preferably be realized on the basis of namespaces. A second option for an operating system would be, for example, GNU / Linux.

Bevorzugt ist ferner, wenn jede der Betriebssysteminstanzen auf Linux basiert. Beispielsweise können die Betriebssysteminstanzen als die oben angesprochenen, aus dem Stand der Technik bekannten LinuX-Containers (LXC) realisiert sein.It is further preferred if each of the operating system instances is based on Linux. For example, the operating system instances may be implemented as the LinuX container (LXC) known from the prior art discussed above.

3 zeigt eine Vorrichtung 300 gemäß einer weiteren Ausführungsform, wobei die Vorrichtung des Weiteren eine Betriebssysteminstanz-Verwaltungsschicht 160 aufweist. Die Betriebssysteminstanz-Verwaltungsschicht 160 kann dabei auch als Container-Verwaltungsschicht 160 bezeichnet werden. 3 shows a device 300 According to another embodiment, the device further comprises an operating system instance management layer 160 having. The operating system instance management layer 160 can also act as container management layer 160 be designated.

Die Betriebssysteminstanz-Verwaltungsschicht 160 ist ausgebildet, wenn das Überprüfungsergebnis das erste Resultat aufweist, dem Betriebssystemkern 150 einen oder mehrere Befehle zu übermitteln, wodurch der Betriebssystemkern veranlasst wird, die Daten der besagten Arbeitsumgebungsinstanz 141 zu entschlüsseln, um die entschlüsselten Daten dieser Arbeitsumgebungsinstanz 141 zu erzeugen, und abhängig von den entschlüsselten Daten dieser Arbeitsumgebungsinstanz 141, den einen oder die mehreren Prozesse, die dieser Arbeitsumgebungsinstanz 141 zugeordnet sind, auf der Prozessoreinheit 110 auszuführen, und, wobei die Betriebssysteminstanz-Verwaltungsschicht 160 ausgebildet ist, ausgebildet, wenn das Überprüfungsergebnis das zweite Resultat aufweist, dem Betriebssystemkern 150 keinen Befehl zu übermitteln, durch den der Betriebssystemkern 150 veranlasst würde, die Daten einer der Arbeitsumgebungsinstanzen 141, 142 zu entschlüsseln.The operating system instance management layer 160 is formed when the check result has the first result, the kernel 150 submit one or more commands, causing the kernel to read the data of said work environment instance 141 to decrypt the decrypted data of this working environment instance 141 and depending on the decrypted data of that work environment instance 141 , the one or more processes that this work environment instance 141 are assigned on the processor unit 110 and, wherein the operating system instance management layer 160 is formed, if the check result has the second result, the operating system kernel 150 no command to convey through which the kernel 150 would cause the data of one of the working environment instances 141 . 142 to decode.

Dabei werden in Ausführungsformen die Daten nicht sofort und vollständig entschlüsselt. Vielmehr wird in solchen Ausführungsformen der Schlüssel im Linux-Kernel hinterlegt und dann genutzt sobald Zugriffe auf das Dateisystem erfolgen; und auch dann werden nur die jeweils gerade verwendeten Blöcke ver- bzw. entschlüsselt. Beispielsweise werden in solchen Ausführungsformen die Blöcke zusätzlich noch gecacht um einen schnelleren Zugriff zu ermöglichen.In this case, in embodiments, the data is not immediately and completely decrypted. Rather, in such embodiments, the key is stored in the Linux kernel and then used as soon as accesses to the file system are made; and even then only the currently used blocks are encrypted or decrypted. For example, in such embodiments, the blocks are additionally cached for faster access.

Im Folgenden werden bevorzugte Ausführungsformen der Erfindung detailliert erläutert.In the following, preferred embodiments of the invention will be explained in detail.

Wird die mobile Kommunikationseinheit, beispielsweise ein Smartphone, gestartet, erfordern Ausführungsformen der Erfindung, dass dem Nutzer eine grafische Benutzeroberfläche bereitgestellt wird, um dem Nutzer die Eingabe einer PIN zu ermöglichen. Dies ist an sich aus dem Stand der Technik bekannt. Bei Ausführungsformen der Erfindung liegen hier jedoch bereits ein oder mehrere der folgenden Besonderheiten vor, die die erfindungsgemäße Vorrichtung vom gewöhnlichen Stand der Technik unterscheiden.If the mobile communication unit, for example a smartphone, is started, embodiments of the invention require that the user be provided with a graphical user interface in order to allow the user to enter a PIN. This is known per se from the prior art. In embodiments of the invention, however, there are already one or more of the following peculiarities which distinguish the device according to the invention from the usual state of the art.

Zum einen wird die graphische Benutzeroberfläche von einer eigenen Betriebssysteminstanz bereitgestellt, beispielsweise durch einen eigenen, der oben angesprochenen LinuX Container oder eine eigene virtuelle Betriebssysteminstanz. Diese Betriebssysteminstanz kann als Anmeldeinstanz (oder Instanz0 bzw. android0) bezeichnet werden. Wie auch die anderen Betriebssysteminstanzen, ist auch die Anmeldeinstanz von den anderen Betriebssysteminstanzen der Vorrichtung isoliert. So wird in Ausführungsformen sichergestellt, dass der Nutzer nicht ohne korrekte Eingabe der PIN auf Daten und Prozesse der Betriebssysteminstanzen zugreifen kann, die die eigentlichen Arbeitsumgebungen für den Benutzer bereitstellen.On the one hand, the graphical user interface is provided by its own operating system instance, for example by its own LinuX container mentioned above or its own virtual operating system instance. This operating system instance can be called a login instance (or instance0 or android0). Like the other operating system instances, too the logon instance is isolated from the other operating system instances of the device. Thus, in embodiments, it is ensured that the user can not access the data and processes of the operating system instances that provide the actual work environments for the user without correct PIN entry.

Vergleicht man der Anmeldeinstanz mit einem Smartphone, dass einen Sperrbildschirm verwendet, so ergeben sich auch hier deutliche Unterschiede. Zum einen ist bei einem solchen Stand der Technik Sperrbildschirm der Zugriff durch eine Codeeingabe geschützt, die auf dem Smartphone abgelegt ist. Im Gegensatz dazu liegt bei der erfindungsgemäßen mobilen Kommunikationseinheit die PIN nicht auf der mobilen Kommunikationseinheit, sondern auf dem sicheren Element, die einen integrierten Schaltkreis aufweist, wie beispielsweise eine Chipkarte.If you compare the login instance with a smartphone that uses a lock screen, there are clear differences here as well. On the one hand, in such a state of the art lock screen, the access is protected by a code input which is stored on the smartphone. In contrast, in the mobile communication unit according to the invention, the PIN is not on the mobile communication unit, but on the secure element having an integrated circuit, such as a smart card.

Ferner wird bei einem Stand der Technik Smartphone der Sperrbildschirm vom zu Grunde liegenden Betriebssystem bereitgestellt. Gelingt es, die Sperre zu umgehen bzw. zu deaktivieren, so kann auf alle Daten und Prozesse des Betriebssystems zugegriffen werden. Würde es dagegen gelingen, bei der erfindungsgemäßen mobilen Kommunikationseinheit den Sperrbildschirm zu umgehen, so wäre damit nichts gewonnen, dann hätte der Angreifer lediglich Zugriff auf die Anmeldeinstanz, aber nicht auf die weiteren, von der Anmeldeinstanz isolierten Betriebssysteminstanzen der mobilen Kommunikationseinheit, die die eigentlichen zu schützenden Daten und Prozesse umfassen.Further, in a prior art smartphone, the lock screen is provided by the underlying operating system. If it is possible to bypass or deactivate the lock, all data and processes of the operating system can be accessed. If, on the other hand, it were possible to bypass the lock screen in the mobile communication unit according to the invention, nothing would be gained, then the attacker would only have access to the login instance, but not to the other operating system instances of the mobile communication unit that are isolated from the login instance include protective data and processes.

Optional liegt in einer Ausführungsform die Anmeldeinstanz des Weiteren beispielsweise verschlüsselt vor, und kann nur unter Nutzung des sicheren Elements entschlüsselt werden.Optionally, in one embodiment, the login instance is further encrypted, for example, and can only be decrypted using the secure element.

Beispielsweise liegt die Anmeldeinstanz im nichtflüchtigen Speicher der mobilen Kommunikationseinheit in verschlüsselter Form vor. Ferner kann die Anmeldeinstanz z. B. durch einen symmetrischen Schlüssel verschlüsselt worden sein. Dieser symmetrische Schlüssen kann seinerseits mit einem öffentlichen asymmetrischen Schlüssel des sicheren Elements verschlüsselt worden sein, wobei der so verschlüsselte symmetrische Schlüssel dann im nichtflüchtigen Speicher der mobilen Kommunikationseinheit abgelegt wurde. Der private asymmetrische Schlüssel des sicheren Elements seinerseits liegt nur auf dem sicheren Element, die einen integrierten Schaltkreis oder Prozessor aufweist, wie beispielsweise eine Chipkarte. Hierdurch wird sichergestellt, dass nur unter Verwendung des sicheren Elements der symmetrische Schlüssel entschlüsselt werden kann.For example, the logon instance is encrypted in the nonvolatile memory of the mobile communication unit. Furthermore, the registration instance z. B. encrypted by a symmetric key. In turn, these symmetric locks may have been encrypted with a secure-item public asymmetric key, with the thus encrypted symmetric key then being stored in the non-volatile memory of the mobile communications unit. The private asymmetric key of the secure element in turn resides only on the secure element that has an integrated circuit or processor, such as a smart card. This ensures that the symmetric key can only be decrypted using the secure element.

Beim Starten der mobilen Kommunikationseinheit würde dann das sichere Element mit seinem privaten asymmetrischen Schüssel den verschlüsselten symmetrischen Schlüssel, mit dem die Anmeldeinstanz verschlüsselt wurde, entschlüsseln, und diesen symmetrischen Schlüssel dann dem Betriebssystem-Kernel übergeben, beispielsweise durch Übergabe des entschlüsselten symmetrischen Schlüssels an eine Betriebssysteminstanz-Verwaltungsschicht (auch als Container-Verwaltungsschicht bezeichnet; engl.: Container Managelement Layer; CML), die den entschlüsselten symmetrischen Schlüssel an den Betriebssystem-Kernel weiterreicht. Der Betriebbsystem-Kernel entschlüsselt dann mit dem erhaltenen symmetrischen Schlüssel der Anmeldeinstanz. Es ist vorteilhaft, dass der Betriebsystem-Kernel die Anmeldeinstanz entschlüsselt und dass nicht das sichere Element, etwa die Chipkarte die Entschlüsselung durchführt, denn der Betriebssytem-Kernel verfügt in aller Regel über viel größere Rechenressourcen und führt die Entschlüsselung in aller Regel viel schneller durch, als dies für die Chipkarte möglich wäre. Ferner ist es oftmals vorteilhaft, die Anmeldeinstanz mit einem symmetrischen Schlüssel statt mit einem asymmetrischen Schlüssel zu entschlüsseln, denn symmetrische Verschlüsselung und Entschlüsselung ist in aller Regel schneller als asymmetrische Verschlüsselung und Entschlüsselung.Upon starting the mobile communication unit, the secure element would then decrypt with its private asymmetric key the encrypted symmetric key with which the login instance was encrypted, and then pass that symmetric key to the operating system kernel, for example, by passing the decrypted symmetric key to an operating system instance Management layer (also referred to as container management layer, CML), which passes the decrypted symmetric key to the operating system kernel. The operating system kernel then decrypts with the obtained symmetric key of the login instance. It is advantageous that the operating system kernel decrypts the logon instance and that the secure element, such as the smart card, does not decrypt because the kernel generally has much larger computational resources and as a rule performs the decryption much faster, as this would be possible for the chip card. Furthermore, it is often advantageous to decrypt the login instance with a symmetric key rather than an asymmetric key because symmetric encryption and decryption is usually faster than asymmetric encryption and decryption.

Dadurch dass der symmetrische Schlüssel zur Ver- und Entschlüsselung der Anmeldeinstanz mittels der asymmetrischen Schlüssel des sicheren Elements gesichert werden, ergibt sich, dass der Anmeldeinstanz nur dann entschlüsselbar ist, wenn das zugehörige sichere Element, also beispielsweise die der mobilen Kommunikationseinheit zugeordnete richtige Chipkarte in die mobile Kommunikationseinheit eingelegt wurde. Mit anderen Worten wird hierdurch eine Bindung zwischen mobiler Kommunikationseinheit und sicherem Element erreicht.The fact that the symmetric key for encryption and decryption of the login instance are secured by means of the asymmetric key of the secure element, it follows that the login authority is decrypted only if the associated secure element, so for example, the mobile communication unit associated with the right smart card in the mobile communication unit has been inserted. In other words, this achieves a link between the mobile communication unit and the secure element.

Eine Bindung kann einerseits zwischen z. B. einem Smartphone und einem sicheren Element hergestellt werden als auch zwischen einer Betriebssysteminstanz und einem sicheren Element. Dies kann beispielsweise realisiert werden indem der öffentliche Schlüssel des jeweiligen Kommunikationspartners während einer initialen Provisionierungsphase im Smartphone bzw. einer Instanz bzw. einem sicheren Element gespeichert wird. Dieser öffentliche Schlüssel kann zusätzlich verschlüsselt gespeichert werden. Die Kommunikationspartner können basierend auf diesen Schlüsseln dann einen sicheren Kanal aufbauen. In einer Ausführungsform kann dadurch garantiert werden, dass in nur noch mit dem zum Zeitpunkt der Provisionierung verwendeten Kommunikationspartner kommuniziert wird.A bond can on the one hand between z. As a smartphone and a secure element and between an operating system instance and a secure element. This can be realized, for example, by storing the public key of the respective communication partner during an initial provisioning phase in the smartphone or an instance or a secure element. This public key can also be stored in encrypted form. The communication partners can then establish a secure channel based on these keys. In one embodiment, it can be guaranteed that communication is continued only with the communication partner used at the time of the provisioning.

Was das sichere Element betrifft, so kann dieses in manchen Ausführungsformen so ausgelegt sein, dass es die Form einer microSD Karte, einer SIM-Karte oder Micro-SIM-Karte hat, und ebenso wie diese in die Kommunikationseinheit eingelegt wird. As far as the secure element is concerned, in some embodiments it may be designed to take the form of a microSD card, SIM card or micro SIM card, as well as inserting it into the communication unit.

Daneben sind als sicheres Element sind beispielsweise auch Smartcards vorstellbar, die über einen internen Smart-Card-Reader oder auch externen Smartcard Reader, z. B. über einen USB-Port an die mobile Kommunikationseinheit angeschlossen sind. Um die Sicherheit zu erhöhen, könnte der Nutzer die Smart-Card nach Benutzung der Kommunikationseinheit immer wieder aus der Kommunikationseinheit bzw. dem Smartcard Reader entfernen, und an einem Ort aufbewahren, der von der mobilen Kommunikationseinheit verscheiden ist. Hierdurch wird sichergestellt, dass bei Verlust der mobilen Kommunikationseinheit nicht auf der Anmeldeinstanz der mobilen Kommunikationseinheit zugegriffen werden kann.In addition, as a secure element, for example, smart cards are also conceivable, via an internal smart card reader or external smart card reader, z. B. are connected via a USB port to the mobile communication unit. In order to increase security, the user could remove the smart card again and again from the communication unit or the smart card reader after use of the communication unit, and store it in a location that is different from the mobile communication unit. This ensures that if the mobile communication unit is lost, it is not possible to access the login instance of the mobile communication unit.

Ferner kann das sichere Element auch so ausgelegt sein, dass es mittels Near Field Kommunikation (Nahfeldkommunikation) mit der Kommunikationseinheit kommuniziert, ohne direkt in die Kommunikationseinheit oder in ein Lesegerät eingelegt zu werden.Furthermore, the secure element can also be designed so that it communicates by means of near field communication (near field communication) with the communication unit, without being inserted directly into the communication unit or into a reading device.

Bei der Nahfeldkommunikation sind wiederum unterschiedliche Ausführungsformen denkbar. Einerseits kann die Software für den Zugriff auf NFC-basierte sichere Elemente im Betriebssystem-Kern 150 erfolgen, oder aber in der Betriebssysteminstanz-Verwaltungsschicht 160 oder in der Anmeldeinstanz 140. Oder in in einem Hypervisor. Oder in einer TEE (engl.: Trusted Execution Environment). Insbesondere NFC und Bluetooth sind so komplex, dass Realisierung in der Anmeldeinstanz 140 am einfachsten zu implementieren ist. Zu bevorzugen wäre aber Realisierung in dem Betriebssystem-Kern 150 oder in der Betriebssysteminstanz-Verwaltungsschicht 160.In the near field communication, in turn, different embodiments are conceivable. On the one hand, the software for accessing NFC-based secure elements in the operating system core 150 or in the operating system instance management layer 160 or in the login instance 140 , Or in a hypervisor. Or in a TEE (English: Trusted Execution Environment). In particular NFC and Bluetooth are so complex that realization in the registration instance 140 easiest to implement. To prefer would be realization in the operating system core 150 or in the operating system instance management layer 160 ,

Auch kann das sichere Element dafür ausgelegt sein, mit der Kommunikationseinheit mittels Bluetooth zu kommunizieren. Ferner kann das sichere Element auch über LAN, WLAN, oder ein Telekommunikationsnetz, insbesondere ein Mobilfunknetz mit der Kommunikationseinheit kommunizieren, wobei dabei in aller Regel die Kommunikation zwischen Kommunikationseinheit und sicherer Einheit verschlüsselt erfolgt.Also, the secure element may be configured to communicate with the communication unit via Bluetooth. Furthermore, the secure element can also communicate via LAN, WLAN, or a telecommunication network, in particular a mobile radio network with the communication unit, in which case as a rule the communication between the communication unit and the secure unit ensues encrypted.

Ausführungsformen der Erfindung überprüfen ferner die Datenintegrität der Anmeldeinstanz. So kann die Anmeldeinstanz beispielsweise durch einen oder mehrere Hash-Werte gesichert sein.Embodiments of the invention further verify the data integrity of the filing instance. For example, the login instance may be secured by one or more hash values.

Manche Ausführungsformen halten einen Hash-Wert bereit, der einen kryptografischen Hash-Wert über die Daten der unverschlüsselten Anmeldeinstanz darstellt.Some embodiments provide a hash value that represents a cryptographic hash over the data of the unencrypted login instance.

In bevorzugten Ausführungsformen wird für die Verschlüsselung ein Standardverfahren, z. B. verwendet cryptsetup aes-cbc-essiv:sha256 oder aes-xts-plain64 für luks und als cryptografischen Hash verwendet man einen Secure Hash Algorithmus (SHA), z. B. SHA1 oder SHA256.In preferred embodiments, a standard method of encryption, e.g. For example, cryptsetup uses aes-cbc-essiv: sha256 or aes-xts-plain64 for luks, and a cryptographic hash uses a secure hash algorithm (SHA). SHA1 or SHA256.

In manchen Ausführungsformen wird der Hash-Wert im nichtflüchtigen Speicher der Kommunikationseinheit gespeichert. Es kann bevorzugt sein, den Hash-Wert der Anmeldeinstanz stattdessen auf dem sicheren Element zu speichern. Hierdurch wird die Sicherheit der Datenintegrität insbesondere vor absichtlicher Verfälschung weiter erhöht.In some embodiments, the hash value is stored in the nonvolatile memory of the communication unit. It may be preferable to instead store the hash value of the login instance on the secure element. As a result, the security of data integrity is further increased, especially against deliberate falsification.

Insbesondere kann der Hash-Wert mit in die PIN einfließen (zusammen mit der PIN des Benutzers) oder für die Anmeldeinstanz kann der Hash-Wert selbst die PIN sein. Damit lässt sich das sichere Element nur entsperren, wenn auf dem Smartphone der korrekte Hash-Wert bekannt ist. In einem „fremden” Smartphone wäre damit das sichere Element auch mit der Benutzer-PIN nicht nutzbar. Hierdurch wird wiederum eine Kopplung von Smartphone und sicherem Element erzielt.In particular, the hash value can be included in the PIN (together with the user's PIN) or for the login instance, the hash value itself can be the PIN. This unlocks the secure item only when the correct hash value is known on the smartphone. In a "foreign" smartphone, the secure element could not be used with the user PIN. This in turn achieves a coupling of the smartphone and the secure element.

Nach dem Entschlüsseln der Anmeldeinstanz wird dann die Datenintegrität der Anmeldeinstanz überprüft, indem beispielsweise der Betriebssystem-Kernel, z. B. ein Linux Kernel, nun selbst den Hash-Wert für die Anmeldeinstanz berechnet und mit dem Hash-Wert vergleicht, der beispielsweise im nichtflüchtigen Speicher der Kommunikationseinheit oder auf dem sicheren Element gespeichert vorliegt.After decrypting the login instance, the data integrity of the login instance is checked by, for example, the operating system kernel, e.g. For example, a Linux kernel now itself calculates the hash value for the login instance and compares it to the hash value that is stored, for example, in the nonvolatile memory of the communication unit or on the secure element.

Bevorzugt erfolgt die Integritätsprüfung vor dem Entschlüsseln. Besonders bevorzugt ist, wenn dies die Betriebssystem-Verwaltungsschicht durchführt. In Ausführungsformen kann dies aber auch ein Hypervisor in einem virtualisierten System übernehmen.The integrity check preferably takes place before decryption. It is particularly preferred if this performs the operating system management layer. In embodiments, however, this can also take over a hypervisor in a virtualized system.

Nur bei Übereinstimmung des berechneten und des gespeicherten Hash-Wertes wird von Datenintegrität der Anmeldeinstanz ausgegangen. Stimmen der berechnete und der gespeicherte Hash-Wert nicht überein, so wird davon ausgegangen, dass Datenintegrität nicht vorliegt.Only if the calculated and stored hash values match, data integrity of the login instance is assumed. If the calculated and stored hash values do not match, it is assumed that data integrity is not present.

In einer Ausführungsform wird der Anmeldevorgang dann abgebrochen um Zugriff auf ein manipuliertes System zu verhindern. Oder, der Zugriff gar nicht möglich, da das sichere Element dann nicht mit der korrekten PIN freigeschaltet werden kann. In einer anderen Ausführungsform wird der Anmeldeprozess zwar fortgesetzt, aber es wird eine Warnmeldung ausgegeben, dass keine Datenintegrität vorliegt, und das System möglicherweise manipuliert wurde.In one embodiment, the logon process is then aborted to prevent access to a compromised system. Or, access is not possible because the secure element can not be unlocked with the correct PIN. In another embodiment, the logon process continues, but a warning message is issued indicating that there is no data integrity and the system may have been tampered with.

In manchen Ausführungsformen wird alternativ oder zusätzlich zur Bereithaltung eines Hash-Wertes für die entschlüsselte Anmeldeinstanz ein Hash-Wert für die verschlüsselte Anmeldeinstanz bereitgehalten. Dieser Hash-Wert der verschlüsselten Anmeldeinstanz wird beispielsweise entweder im nichtflüchtigen Speicher der Kommunikationseinheit oder, bevorzugt, auf dem sicheren Element gespeichert. Vor Entschlüsselung der Anmeldeinstanz wird dann auf dieselbe Weise ein Hash-Wert für die verschlüsselten Betriebssysteminstanz berechnet und mit dem gespeicherten Hash wert verglichen. Bei Übereinstimmung des berechneten und des gespeicherten Hash-Wertes wird von Datenintegrität der Anmeldeinstanz ausgegangen. Stimmen der berechnete und der gespeicherte Hash-Wert nicht überein, so wird davon ausgegangen, dass Datenintegrität nicht vorliegt. Konsequenz bei fehlender Datenintegrität kann beispielsweise das Abbrechen des Anmeldevorgangs oder das Ausgeben einer Warnmeldung sein.In some embodiments, as an alternative or in addition to providing a hash value for the decrypted logon instance, a hash value is provided for the encrypted logon instance. This hash value of the encrypted login instance is stored, for example, either in the non-volatile memory of the communication unit or, preferably, on the secure element. Before the login instance is decrypted, a hash value for the encrypted operating system instance is then calculated and compared to the stored hash value in the same manner. If the calculated and stored hash values match, then data integrity of the login instance is assumed. If the calculated and stored hash values do not match, it is assumed that data integrity is not present. Consequence in the absence of data integrity can be, for example, canceling the logon process or issuing a warning message.

Oder aber das sichere Element wird einfach nicht freigegeben. Wenn das sichere Element nicht mit der korrekten PIN (in die in Ausführungsformen der Hash einfließen kann) freigegeben wird, kann dieses den symmetrischen Schlüssel für die Storageverschlüsselung nicht entschlüsseln. Zusätzlich könnte der eine (oder auch mehrere) asymmetrische Schlüssel im sicheren Element auch für andere Use Cases verwendet werden (z. B. VPN, E-Mail Entschlüsselung, E-Mail Signatur, SSL Authentifikation; gebunden an die Integrität der Instanzen, in denen sie verwendet werden), was dann ebenfalls nicht möglich ist, da das sichere Element noch gelockt ist.Or the secure element is simply not released. If the secure element is not released with the correct PIN (which can be included in hash embodiments), it can not decrypt the symmetric key for storage encryption. In addition, one (or more) asymmetric keys in the secure element could also be used for other use cases (eg VPN, e-mail decryption, e-mail signature, SSL authentication, linked to the integrity of the instances where they are used), which is also not possible because the secure element is still lured.

Konnte der Anmeldeinstanz dagegen entschlüsselt werden und kann von Datenintegrität der Anmeldeinstanz ausgegangen werden, so wird die Anmeldeinstanz gestartet (beispielsweise durch die Betriebssysteminstanz-Verwaltungsschicht), und eine grafische Benutzeroberfläche (GUI) wird angezeigt, mittels der der Benutzer eine PIN eingeben kann.However, if the logon instance could be decrypted and the integrity of the logon instance can be assumed, the logon instance is started (for example, by the operating system instance management layer) and a graphical user interface (GUI) is displayed by means of which the user can enter a PIN.

Beispielsweise gibt der Benutzer eine PIN über die Benutzeroberfläche ein, und die PIN wird an das sichere Element übertragen. Das sichere Element überprüft, ober die PIN mit der auf dem sicheren Element übereinstimmt, und ermittelt so, ob der Benutzer zum Zugriff berechtigt ist.For example, the user inputs a PIN via the user interface and the PIN is transmitted to the secure element. The secure item checks to see if the PIN matches the one on the secure item, and determines if the user is authorized to access it.

Ist der Benutzer nicht zum Zugriff berechtigt, so wird gemäß einer Ausführungsform auf der sicheren Einheit beispielsweise gespeichert, dass weitere PIN-Eingaben nicht mehr möglich sind, der Anmeldeprozess wird abgebrochen.If the user is not authorized to access, for example, according to one embodiment, the secure unit stores on the secure unit that further PIN entries are no longer possible, and the logon process is aborted.

Beispielsweise kann auch vorgesehen sein, dass nach einer vordefinierten Anzahl von aufeinanderfolgenden falschen PIN-Eingaben, z. B. drei aufeinanderfolgenden falschen PIN-Eingaben, auf der sicheren Einheit gespeichert wird, dass weitere PIN Eingaben nicht mehr möglich sind, und der Anmeldeprozess wird abgebrochen. Beispielsweise würde dann der Trycounter im nichtflüchtigen Speicher des sicheren Elements abgelegt und es wäre nach n Versuchen dauerhaft gelockt. In Ausführungsformen kann beispielsweise mit einer PUK wieder geunlockt werden.For example, it can also be provided that after a predefined number of consecutive incorrect PIN entries, for. For example, if three consecutive incorrect PIN entries are stored on the secure device, further PIN entries are no longer possible, and the login process is aborted. For example, the trycounter would then be placed in the nonvolatile memory of the secure element and it would be permanently lured after n attempts. In embodiments, for example, a PUK may be unsocked again.

So kann das sichere Element bei einem Start der mobilen Kommunikationseinheit beispielsweise anhand dieses gespeicherten Werts erkennen, ob weitere PIN Eingaben noch zulässig sind. Ist dies nicht der Fall, kann sie beispielsweise unmittelbar nach dem Start der mobilen Kommunikationseinheit den Anmeldeprozess abbrechen.Thus, the secure element can detect when starting the mobile communication unit, for example based on this stored value, whether further PIN entries are still allowed. If this is not the case, for example, it can abort the registration process immediately after the start of the mobile communication unit.

Hat der Nutzer dagegen die richtige PIN eingegeben, so kann vorgesehen sein, dass dem Benutzer dann in einem Menü eine Auswahl aller auf der Kommunikationseinheit verfügbaren (weiteren) Betriebssysteminstanzen angezeigt werden. Der Nutzer kann dann über das Menü eine der Betriebssysteminstanzen auswählen. Diese weiteren Betriebssysteminstanzen stellen dem Nutzer dann die Prozesse und Dateien bereit, die für den Nutzer eigentlich von Interesse sind. Insoweit kann man diese weiteren Betriebssysteminstanzen im Unterschied zur Anmeldeinstanz als „Arbeitsumgebungsinstanz” bezeichnen.If, on the other hand, the user has entered the correct PIN, it can be provided that the user is then shown a menu of a selection of all (further) operating system instances available on the communication unit. The user can then select one of the operating system instances via the menu. These other operating system instances then provide the user with the processes and files that are actually of interest to the user. In that regard, one can refer to these other operating system instances, in contrast to the login instance as a "working environment instance".

In einer alternativen Ausführungsform liegt auf der Kommunikationseinheit neben der Anmeldeinstanz nur eine Arbeitsumgebungsinstanz vor. In diesem Fall wird dem Nutzer beispielsweise nach der korrekten Eingabe der PIN kein Auswahlmenü angezeigt, sondern diese einzige Arbeitsumgebungsinstanz wird nach Eingabe und Überprüfung der PIN sofort gestartet.In an alternative embodiment, only one working environment instance is present on the communication unit besides the login instance. In this case, for example, after the PIN has been entered correctly, the user will not be presented with a selection menu, but this single working environment instance will be started immediately after entering and checking the PIN.

In anderen Ausführungsformen hat jeder der Arbeitsumgebungsinstanzen eine eigene PIN, die auf dem sicheren Element gespeichert ist. In solchen Ausführungsformen würde dann dem Nutzer nach dem Starten der Kommunikationseinheit von der Anmeldeinstanz zunächst ein grafisches Menü angezeigt, dass die verschiedenen verfügbaren Arbeitsumgebungsinstanzen auflistet. Nach Auswahl eines der Arbeitsumgebungsinstanzen wird der Nutzer dann zur Eingabe der PIN dieser Arbeitsumgebungsinstanz aufgefordert. Die eingegebene PIN wird dann (bevorzugt verschlüsselt, z. B. mit einem öffentlichen asymmetrischen Schlüssel des sicheren Elements) an das sichere Element übertragen, und vom sicheren Element überprüft. Stimmt die eingegebene PIN mit der gespeicherten PIN überein, so wird die entsprechende Arbeitsumgebungsinstanz gestartet. Stimmt die PIN nicht überein so wird entweder sofort, oder z. B. nach ein oder mehreren aufeinanderfolgenden falschen PIN Eingaben der Zugriff auf diese Betriebssysteminstanz, oder, in anderen Ausführungsformen auf alle Betriebssysteminstanzen der Kommunikationseinheit gesperrt. Wird die jeweilige Betriebssysteminstanz gesperrt, kann dies durch Speichern eines Bits in dem sicheren Element erfolgen, das anzeigt, dass die jeweilige Betriebssysteminstanz, oder der Kommunikationseinheit gesperrt ist, und dass von der Kommunikationseinheit, wenn die jeweilige Betriebssysteminstanz gestartet werden soll, abgefragt wird. Wird gemäß einer anderen Ausführungsform bei (ggf. wiederholter) falscher PIN-Eingabe einer Betriebssysteminstanz der Zugriff auf alle Betriebssysteminstanzen der Kommunikationseinheit gesperrt, kann dies durch Speichern eines Bits in dem sicheren Element erfolgen, das anzeigt, dass alle Betriebssysteminstanzen der Kommunikationseinheit gesperrt sind, und dass von der Kommunikationseinheit beispielsweise abgefragt wird, wenn die Kommunikationseinheit eingeschaltet, bzw. gestartet wird.In other embodiments, each of the work environment instances has its own PIN stored on the secure element. In such embodiments, after the communication device is started by the login instance, the user would first be presented with a graphical menu listing the various available work environment instances. After selecting one of the work environment instances, the user is then prompted to enter the PIN of that work environment instance. The entered PIN is then transmitted (preferably encrypted, eg with a public secure key public asymmetric key) to the secure element and checked by the secure element. If the entered PIN matches the stored PIN, the corresponding working environment instance becomes started. If the PIN does not match then either immediately, or z. For example, after one or more consecutive incorrect PIN entries, access to that operating system instance, or in other embodiments to all operating system instances of the communication unit, is disabled. If the respective operating system instance is disabled, this can be done by storing a bit in the secure element indicating that the respective operating system instance or the communication unit is disabled and that the communication unit queries when the respective operating system instance is to be started. If, in another embodiment, access to all operating system instances of the communication unit is blocked in the case of an (optionally repeated) incorrect PIN entry of an operating system instance, this can be done by storing a bit in the secure element indicating that all operating system instances of the communication unit are locked, and that is queried by the communication unit, for example, when the communication unit is turned on, or started.

In Ausführungsformen gibt es dabei mehrere sichere Elemente. Beispielsweise kann es in einer Ausführungsform im NFC-Usecase eine NFC-Smartcard/Token für jeden Container geben.In embodiments, there are several secure elements. For example, in one embodiment, in the NFC use case, there may be one NFC smartcard / token for each container.

Ferner ist in Ausführungsformen im NFC-all auch ein PAKE Protokoll realisiert, ähnlich wie beim neuen Personalausweis. Damit wird dann ein sicherer Kanal zwischen sicherem Element und Smartphone (was in diesem Fall die Rolle eines Terminals einnimmt) aufgebaut.Further, in embodiments in NFC-all, a PAKE protocol is also implemented, similar to the new ID card. This then establishes a secure channel between the secure element and the smartphone (which in this case plays the role of a terminal).

Bei manchen der Ausführungsformen wird die eingegebenen PIN zunächst verschlüsselt. Die PIN wird dann in verschlüsselter Form an das sichere Element weitergegeben. Zur Verschlüsselung kann beispielsweise der öffentliche asymmetrische Schlüssel des sicheren Elements verwendet werden. Das sichere Element ist nur dann in der Lage, die verschlüsselte PIN zu entschlüsseln wenn sie im Besitz des richtigen privaten asymmetrischen Schlüssels ist, wenn also das richtige sichere Element in die mobile Kommunikationseinheit eingelegt ist bzw. mit der Kommunikationseinheit verbunden ist. So kann beispielsweise verhindert werden, dass die vom Benutzer eingegebene PIN im Klartext übertragen wird und von einem Angreifer unverschlüsselt abgefangen wird. Alternativ wäre der Einsatz des oben angesprochenen PAKE Protokolls.In some embodiments, the entered PIN is first encrypted. The PIN is then passed in encrypted form to the secure element. For example, the public asymmetric key of the secure element can be used for encryption. The secure element is only able to decrypt the encrypted PIN if it is in possession of the correct private asymmetric key, ie if the correct secure element is inserted in the mobile communication unit or is connected to the communication unit. Thus, for example, it can be prevented that the PIN entered by the user is transmitted in clear text and is intercepted unencrypted by an attacker. Alternatively, the use of the above-mentioned PAKE protocol would be.

Ferner kann so auch verhindert werden, dass ein Angreifer ein sicheres Element durch ein Spy-Element austauscht, wobei sich dieses Spy-Element dann als sicheres Element ausgibt, und die von Nutzer eingegebene PIN dann im Klartext protokolliert. Ein solches Spy-Element kann die empfangene PIN nicht entschlüsseln, dann es verfügt nicht über den privaten asymmetrischen Schlüssel des wahren sicheren Elements.Furthermore, it can also be prevented that an attacker exchanges a secure element with a spy element, this spy element then posing as a secure element, and then logs the user-entered PIN in plain text. Such a spy element can not decrypt the received PIN, then it does not have the private asymmetric key of the true secure element.

Nicht nur die Anmeldeinstanz kann in verschlüsselter Form vorliegen. In bevorzugten Ausführungsformen werden auch die ein oder mehreren Arbeitsumgebungsinstanzen verschlüsselt. Wiederum können zur Verschlüsselung ein oder mehrere symmetrische Schlüssel verwendet werden.Not only the login instance can be in encrypted form. In preferred embodiments, the one or more work environment instances are also encrypted. Again, one or more symmetric keys can be used for encryption.

In einer Ausführungsform wird zur Verschlüsselung jeder der Betriebssysteminstanzen immer derselbe symmetrische Schlüssel verwendet. Auf dem sicheren Element ist ein privater asymmetrischer Schlüssel gespeichert, und der zugehörige öffentliche asymmetrische Schlüssel wird zur Verschlüsselung des einen symmetrischen Schlüssels verwendet. Der verschlüsselte symmetrische Schlüssel wird dann im nichtflüchtigen Speicher der Kommunikationseinheit oder auf dem sicheren Element gespeichert.In one embodiment, the same symmetric key is always used to encrypt each of the operating system instances. A private asymmetric key is stored on the secure element, and the associated public asymmetric key is used to encrypt the one symmetric key. The encrypted symmetric key is then stored in the non-volatile memory of the communication unit or on the secure element.

In einer weiteren Ausführungsform wird zur Verschlüsselung jeder der Betriebssysteninstanzen immer ein anderer symmetrischer Schlüssel verwendet. Auf dem sicheren Element ist ein privater asymmetrischer Schlüssel gespeichert, und der zugehörige öffentliche asymmetrische Schlüssel wird zur Verschlüsselung jedes der symmetrischen Schlüssel verwendet. Jeder der so verschlüsselten symmetrischen Schlüssel wird dann im nichtflüchtigen Speicher der Kommunikationseinheit oder auf dem sicheren Element gespeichert. Dies erhöht im Vergleich zur vorangegangenen Ausführungsform die Sicherheit, da, falls ein unverschlüsselter symmetrischer Schlüssel von einem Angreifer ermittelt wird, die weiteren Betriebssysteminstanzen nach wie vor geschützt sind.In another embodiment, a different symmetric key is always used to encrypt each of the operating system instances. A private asymmetric key is stored on the secure element and the associated public asymmetric key is used to encrypt each of the symmetric keys. Each of the symmetric keys thus encrypted is then stored in the non-volatile memory of the communication unit or on the secure element. This increases security compared to the previous embodiment because if an unencrypted symmetric key is detected by an attacker, the other operating system instances are still protected.

Wichtig ist hier aber auch die andere Seite, also einen symmetrischen Storagekey mit mehreren asymmetrischen Schlüsseln (engl.: Keys) und damit sichere Elemente zu verschlüsseln. Dann wird der symmetrische Schlüssel mehrfach mit unterschiedlichen asymmetrischen Schlüsseln verschlüsselt im Smartphone gespeichert. Dies ermöglicht die Nutzung einer Instanz mit unterschiedlichen Smartcards und ist insbesondere hilfreich, wenn die Gültigkeit einer Smartcard abläuft und der Nutzer eine neue mit einem anderen asymmetrischen Schlüssel erhält.Important here, however, is the other side, ie a symmetric storage key with several asymmetrical keys (English: keys) and thus secure elements to encrypt. Then the symmetric key is encrypted several times with different asymmetric keys stored in the smartphone. This allows the use of an instance with different smart cards and is particularly useful when the validity of a smart card expires and the user receives a new one with a different asymmetric key.

In einer weiteren Ausführungsform wird zur Verschlüsselung jeder der Betriebssysteminstanzen immer ein anderer symmetrischer Schlüssel verwendet. Ferner wird zur Verschlüsselung jedes der symmetrischen Schlüssel jeweils ein anderer öffentlicher asymmetrischer Schlüssel verwendet. Der jeweilige private asymmetrische Schlüssel zu jedem der öffentlichen asymmetrischen Schlüsseln ist auf dem sicheren Element gespeichert. Jeder der so verschlüsselten symmetrischen Schlüssel wird dann im nichtflüchtigen Speicher der Kommunikationseinheit oder auf dem sicheren Element gespeichert. Im Vergleich zu den vorangegangenen Ausführungsformen ist die Sicherheit sehr hoch, da selbst wenn der Angreifer in Besitz eines der privaten asymmetrischen Schlüssels gelangen sollte, die weiteren Betriebssysteminstanzen immer noch geschützt sind.In another embodiment, a different symmetric key is always used to encrypt each of the operating system instances. Furthermore, a different public asymmetric key is used to encrypt each of the symmetric keys. The respective private asymmetric key to each of the public asymmetric keys is on the saved secure element. Each of the symmetric keys thus encrypted is then stored in the non-volatile memory of the communication unit or on the secure element. Security is very high compared to the previous embodiments because even if the attacker were to gain possession of one of the private asymmetric keys, the other operating system instances are still protected.

In einer Ausführungsform ist die Vorrichtung 100; 200; 300 beispielsweise dafür ausgebildet, eine der Betriebssysteminstanzen 140, 141, 142 in einem Kommunikationsnetz zu übertragen. So ist gemäß einer Ausführungsform die Vorrichtung 100; 200; 300 beispielsweise eine Kommunikationseinheit eines Kommunikationsnetzes, wobei die Vorrichtung 100; 200; 300 dafür ausgebildet ist, eine der Betriebssysteminstanzen 140, 141, 142 der Vorrichtung 100; 200; 300 in dem Kommunikationsnetz an eine andere Kommunikationseinheit des Kommunikationsnetzes zu übertragen. Ein solches Kommunikationsnetz kann beispielsweise ein drahtloses oder drahtgebundenes Telekommunikationsnetz oder ein Rechnernetz sein.In one embodiment, the device is 100 ; 200 ; 300 for example, trained to be one of the operating system instances 140 . 141 . 142 in a communication network. Thus, according to one embodiment, the device 100 ; 200 ; 300 For example, a communication unit of a communication network, wherein the device 100 ; 200 ; 300 designed to be one of the operating system instances 140 . 141 . 142 the device 100 ; 200 ; 300 in the communication network to another communication unit of the communication network. Such a communication network may be, for example, a wireless or wired telecommunication network or a computer network.

Ferner wird ein System bereitgestellt, das eine erste Vorrichtung 100; 200; 300 wie oben beschrieben und eine zweite Vorrichtung 100; 200; 300 wie oben beschrieben umfasst. Die erste Vorrichtung 100; 200; 300 ist ausgelegt, eine der Betriebssysteminstanzen 140, 141, 142 der ersten Vorrichtung 100; 200; 300 von der ersten Vorrichtung 100; 200; 300 zu der zweiten Vorrichtung 100; 200; 300 zu übertragen. Die zweite Vorrichtung 100; 200; 300 ist ausgelegt, die besagte eine der Betriebssysteminstanzen 140, 141, 142 der ersten Vorrichtung 100; 200; 300 von der ersten Vorrichtung 100; 200; 300 zu empfangen.Furthermore, a system is provided which is a first device 100 ; 200 ; 300 as described above and a second device 100 ; 200 ; 300 as described above. The first device 100 ; 200 ; 300 is designed to be one of the operating system instances 140 . 141 . 142 the first device 100 ; 200 ; 300 from the first device 100 ; 200 ; 300 to the second device 100 ; 200 ; 300 transferred to. The second device 100 ; 200 ; 300 is designed, the said one of the operating system instances 140 . 141 . 142 the first device 100 ; 200 ; 300 from the first device 100 ; 200 ; 300 to recieve.

So werden in einer weiteren Ausführungsform Instanzen von einem Smartphone auf ein anderes übertragen (z. B. über einen Backend-Server auf den das Dateisystem-Image des ersten Smartphones hochgeladen wird und von dem das zweite Smartphone dieses Dateisystemimage wieder runterlädt, inkl. der verschlüsselten symmetrischen Schlüssel). Wird dann z. B. die NFC-basierte Smartcard an ein zweites Smartphone gehalten, so ist der Container dort wieder entschlüsselbar. In einer Ausführungsform erfolgt dies – ein entsprechendes Backend vorausgesetzt – für den Nutzer transparent, z. B. dadurch, dass der Nutzer seine Smartcard an ein Smartphone hält und seine Instanz(en) automatisch vom Backend heruntergeladen werden. Voraussetzung wäre nur, dass die involvierten Geräte gestützt durch eine gemeinsame PKI gegenseitig vertrauenswürdig sind.Thus, in another embodiment, instances are transferred from one smartphone to another (eg, via a backend server to which the file system image of the first smartphone is uploaded and from which the second smartphone downloads this file system image again, including the encrypted one symmetric key). Will then z. For example, if the NFC-based smartcard is held on a second smartphone, the container can be decrypted there. In one embodiment, this is done - a corresponding backend provided - transparent to the user, z. B. in that the user holds his smart card to a smartphone and its instance (s) are automatically downloaded from the backend. The only prerequisite would be that the devices involved are mutually trustworthy, supported by a common PKI.

In einer Ausführungsform kann die Vorrichtung 100; 200; 300 eingerichtet sein, eine erste zu verschlüsselnde Arbeitsumgebungsinstanz der Betriebssysteminstanzen 140, 141, 142 mit einem ersten kryptografischen Schlüssel, beispielsweise einem ersten symmetrischen Schlüssel, zu verschlüsseln, wobei die Vorrichtung 100; 200; 300 ferner eingerichtet sein kann, eine zweite zu verschlüsselnde Arbeitsumgebungsinstanz der Betriebssysteminstanzen 140, 141, 142 mit einem zweiten kryptografischen Schlüssel, beispielsweise einem zweiten symmetrischen Schlüssel, zu verschlüsseln, und wobei der erste kryptographische Schlüssel und der zweite kryptographische Schlüssel eine unterschiedliche Schlüssellänge aufweisen.In one embodiment, the device 100 ; 200 ; 300 be set up, a first to be encrypted working environment instance of the operating system instances 140 . 141 . 142 encrypt with a first cryptographic key, for example, a first symmetric key, wherein the device 100 ; 200 ; 300 Furthermore, it may be configured to include a second work environment instance of the operating system instances to be encrypted 140 . 141 . 142 encrypted with a second cryptographic key, for example a second symmetric key, and wherein the first cryptographic key and the second cryptographic key have a different key length.

So kann in einer Ausführungsform kann eine Charakteristik des symmetrischen Schlüssels von einem Schutzstatus einer Betriebssysteminstanz abhängig gemacht werden. Ist der benötigte Schutz für eine Betriebssysteminstanz geringer als für einen anderen, so kann zur Verschlüsselung der Betriebssysteminstanz mit dem geringeren benötigten Schutz ein Schlüssel verwendet werden, der zwar geringeren Schutz bietet, aber eine schnellere Verschlüsselung gewährleistet. Umgekehrt kann zur Verschlüsselung der Betriebssysteminstanz mit dem größeren benötigten Schutz ein Schlüssel verwendet werden, der zwar langsamer verschlüsselt, aber höheren Schutz bietet. Beispielsweise können Schlüssel mit unterschiedlicher Schlüssellänge verwendet werden, wobei z. B. Schlüssel mit größerer Schlüssellänge verwendet werden, wenn höherer Schutz für eine Betriebssysteminstanz benötigt wird, im Vergleich zu Schlüsseln mit kürzerer Schlüssellänge, wenn für eine Betriebssysteminstanz weniger Schutz benötigt wird. Beispielsweise kann die Schlüssellänge des symmetrischen Schlüssels je nach Schutzstatus, z. B. 128 Bit, 256 Bit oder 512 Bit betragen. Der Schutzstatus kann beispielswiese von einem Administrator oder auch von einem Benutzer zur Laufzeit definiert werden, oder vordefiniert sein.Thus, in one embodiment, a symmetric key characteristic may be made dependent on a protection status of an operating system instance. If the required protection for one operating system instance is lower than for another, a key can be used to encrypt the operating system instance with the lower protection required, while providing a lower level of protection but ensuring faster encryption. Conversely, to encrypt the operating system instance with the greater protection required, a key can be used that, while slower in encryption, provides greater protection. For example, keys with different key lengths can be used, with z. For example, larger-key-length keys may be used when greater protection is needed for an operating system instance, as compared to shorter-key length keys when less protection is required for an operating system instance. For example, the key length of the symmetric key may vary depending on the protection status, e.g. B. 128 bits, 256 bits or 512 bits. For example, the protection status can be defined by an administrator or by a user at runtime, or predefined.

Hinsichtlich des einen oder der mehreren öffentlichen asymmetrischen Schlüsseln, die von der Kommunikationseinheit zur Verschlüsselung des einen oder der mehreren symmetrischen Schlüsseln und ggf. zur Verschlüsselung der PIN verwendet werden, können diese in der Kommunikationseinheit beispielsweise dauerhaft im nichtflüchtigen Speicher der Kommunikationseinheit gespeichert sein.With regard to the one or more public asymmetric keys that are used by the communication unit for encryption of the one or more symmetric keys and possibly for encryption of the PIN, these can be permanently stored in the communication unit in the non-volatile memory of the communication unit.

In bevorzugten Ausführungsformen erhält die Kommunikationseinheit die ein oder mehreren öffentlichen asymmetrischen Schlüssel von einer Zertifizierungsstelle. Beispielsweise können die ein oder mehreren öffentlichen asymmetrischen Schlüsseln von der Zertifizierungsstelle an die Kommunikationseinheit bei Bedarf übertragen werden.In preferred embodiments, the communication unit receives the one or more public asymmetric keys from a certification authority. For example, the one or more public asymmetric keys may be transmitted from the certification authority to the communication unit as needed.

In diesem PKI-Scenario hätte jedes Smartphone (bzw. dessen Verwaltungsinstanz oder Container-Verwaltungsschicht) ein Zertifikat und jedes Secure Element ein oder mehrere Zertifikate, die alle von der CA oder einer zwischengeschalteten Instanz signiert wurden. Die Vertrauenswürdigkeit des anderen kann dann anhand des öffentlichen Zertifikats der CA überprüft werden ohne dass das Gegenüber zuvor bekannt gewesen sein müsste.In this PKI scenario, every smartphone (or its administrative or container management layer) would have a certificate and each one Secure Element One or more certificates, all signed by the CA or an intermediary instance. The trustworthiness of the other can then be checked against the public certificate of the CA without the counterparty having been previously known.

In Ausführungsformen wird auch die Datenintegrität der ein oder mehreren Arbeitsumgebungsinstanzen gesichert. Ebenso wie oben für die Anmeldeinstanz beschrieben, kann auch für den oder die Arbeitsumgebungsinstanzen ein Hash-Wert berechnet werden, der dann im nichtflüchtigen Speicher der Kommunikationseinheit oder auf dem sicheren Element gespeichert wird.In embodiments, the data integrity of the one or more work environment instances is also secured. As described above for the login instance, a hash value may also be calculated for the work environment instance (s), which is then stored in the non-volatile memory of the communication unit or on the secure element.

In Ausführungsformen wird die Berechnung des Hash-Werts für eine Arbeitsumgebungsinstanz kann dabei nach Verschlüsselung der Arbeitsumgebungsinstanz berechnet werden. Entsprechend erfolgt dann der Abgleich, ob der jeweilige Arbeitsumgebungsinstanz Datenintegrität aufweist, bevor die Arbeitsumgebungsinstanz entschlüsselt wurde.In embodiments, the calculation of the hash value for a work environment instance may be calculated after encryption of the work environment instance. Accordingly, the comparison is then made as to whether the particular work environment instance has data integrity before the work environment instance has been decrypted.

Beispielsweise wird in Ausführungsformen das verschlüsselte Festplattenimage-File gehasht, um diesen Hash dann ggf. an das sichere Element zu schicken, mit dessen Hilfe dann wiederum erst die Entschlüsselung möglich wird.For example, in embodiments, the encrypted hard disk image file is hashed to then possibly send that hash to the secure element, with the help of which, in turn, then the decryption is possible.

Die Berechnung des Hash-Werts für eine Arbeitsumgebungsinstanz kann dabei vor Verschlüsselung der Arbeitsumgebungsinstanz berechnet werden. Entsprechend erfolgt dann der Abgleich, ob der jeweilige Arbeitsumgebungsinstanz Datenintegrität aufweist, nachdem die Arbeitsumgebungsinstanz entschlüsselt wurde, und bevor die entschlüsselte Arbeitsumgebungsinstanz gestartet wird. Die Hash-Wert-Bildung nach Entschlüsselung die jeweilige Arbeitsumgebungsinstanz erfolgt dabei auf dieselbe Weise wie auch der Hash-Wert gebildet wurde, bevor die Arbeitsumgebungsinstanz verschlüsselt wurde. Beispielsweise wird ein kryptografischer Hash (z. B. SHA) eingesetzt.The calculation of the hash value for a work environment instance can be calculated before encryption of the work environment instance. Accordingly, then, the comparison is made as to whether the respective work environment instance has data integrity after the work environment instance has been decrypted and before the decrypted work environment instance is started. The hash value creation after decryption of the respective work environment instance is done in the same way as the hash value was formed before the work environment instance was encrypted. For example, a cryptographic hash (eg SHA) is used.

Stimmen der gespeicherte und der nach Entschlüsselung gebildete Hash-Wert überein, wird von Datenintegrität ausgegangen. Stimmen die Hash-Werte dagegen nicht überein, so wird von fehlender Datenintegrität ausgegangen.If the stored and decrypted hash values match, then data integrity is assumed. On the other hand, if the hash values do not match, then data integrity is assumed to be missing.

Gemäß einer Ausführungsform wird im Fall fehlender Datenintegrität die Arbeitsumgebungsinstanz nicht gestartet. Stattdessen wird dem Nutzer beispielsweise ein Fehlermeldung ausgegeben, die die fehlende Datenintegrität anzeigt.In one embodiment, in the case of lack of data integrity, the working environment instance is not started. Instead, for example, the user is given an error message indicating the lack of data integrity.

In einer alternativen Ausführungsform kann stattdessen eine Warnmeldung ausgegeben werden die den Nutzer auf die fehlende Datenintegrität der Arbeitsumgebungsinstanz hinweist, und die Kommunikationseinheit kann versuchen, die Arbeitsumgebungsinstanz dennoch zu starten. Voraussetzung ist, dass der Hash nicht in die PIN mit einfließt. Sonst würde das sichere Element den symmetrischen Schlüssel zum Entschlüsseln nicht freigeben.In an alternative embodiment, instead, a warning message may be issued informing the user of the lack of data integrity of the work environment instance, and the communication unit may attempt to start the work environment instance anyway. The condition is that the hash does not flow into the PIN. Otherwise, the secure element would not release the symmetric key for decryption.

Die Bildung eines Hash-Wertes vor Verschlüsselung der Betriebssysteminstanz ist vorteilhaft, denn so kann nach Entschlüsselung einerseits geprüft werden, ob es zu einer Veränderung der Arbeitsumgebungsinstanz durch einen Angreifer kam, und zudem, ob die Entschlüsselung der Arbeitsumgebungsinstanz korrekt ausgeführt wurde.The formation of a hash value prior to encryption of the operating system instance is advantageous, since after decryption on the one hand it can be checked whether an attacker changed the working environment instance and also whether the decryption of the working environment instance was carried out correctly.

In einer anderen Ausführungsform kann aber auch vorgesehen sein, den Hash-Wert erst nach Verschlüsselung zu bilden. Wird beispielsweise eine Betriebssysteminstanz zunächst komprimiert, so entsteht durch Kompression eine geringere Datenmenge, die dann verschlüsselt wird. Es kann vorteilhaft sein, den Hash auf der komprimierten verschlüsselten Datenmenge durchzuführen, da hierdurch die Hash-Berechnung gegebenenfalls schneller durchgeführt werden kann, wodurch sich die Effizienz der Hash-Berechnung erhöht.In another embodiment, however, it may also be provided to form the hash value only after encryption. If, for example, an operating system instance is first compressed, a smaller amount of data is created by compression, which is then encrypted. It may be advantageous to perform the hash on the compressed encrypted data set, as this may make the hash computation faster, as the case may be, thereby increasing the efficiency of the hash computation.

Sowohl für die ein oder mehreren Arbeitsumgebungsinstanzen wie auch für die Anmeldeinstanz gilt, dass die zu verschlüsselnde Instanz gemäß mancher Ausführungsformen auch komprimiert werden kann. Soll die entsprechende Instanz später gestartet werden, erfolgt entsprechend dann neben der Entschlüsselung auch die Dekomprimierung. Dies erfolgt in Ausführungsformen nicht für das gesamte Filesystem Image, sondern in einer Ausführungsform beispielsweise Block-weise.For both the one or more work environment instances and the login instance, the instance to be encrypted may also be compressed according to some embodiments. If the corresponding instance is to be started later, decompression takes place in addition to the decryption. This is done in embodiments not for the entire file system image, but in one embodiment, for example, block-wise.

Statt die Datenintegrität jeweils nur bezüglich einer Betriebssysteminstanz zu prüfen, kann beispielsweise auch ein Hash-Wert über alle in der Kommunikationseinheit vorliegende Betriebssysteminstanzen gebildet werden. Beispielsweise kann dann bei Start der Kommunikationseinheit durch Berechnung des Gesamt-Hash-Wertes und durch Vergleich mit dem gespeicherten Wert überprüft werden, ob für alle Betriebssysteminstanzen der Kommunikationseinheit Datenintegrität vorliegt.Instead of checking the data integrity only with regard to an operating system instance, for example, a hash value can also be formed across all operating system instances present in the communication unit. For example, it can then be checked at start of the communication unit by calculation of the total hash value and by comparison with the stored value, whether there is data integrity for all operating system instances of the communication unit.

Für das Vorgehen wäre hier die Trusted Computing Base (TCB) einzubeziehen. Z. B. für die Integrität einer Instanz muss nicht nur die Instanz selber integer sein, sondern auch alle anderen Komponenten, die auf diese Instanz Einfluss haben. Dies betrifft insbesondere Kernel, die Verwaltungsschicht und die Anmeldeinstanz. All diese müssen vertrauenswürdig sein und dürfen nicht von einem Angreifer kompromittiert sein. Andernfalls könnte ein Angreifer, je nachdem welche Komponente er kompromittiert hat, ggf. Zugriff auf Schlüssel, die PIN etc. Erhalten. Daher wäre hier das vorgehen all diese Komponenten zusammen zu hashen oder eine Hash-Kette zu berechnen.For this procedure, the Trusted Computing Base (TCB) should be included here. For example, for the integrity of an instance, not only the instance itself must be integer, but also all other components that influence that instance. This applies in particular to the kernel, the administrative layer and the login instance. All of these must be trustworthy and not compromised by an attacker. Otherwise an attacker could, depending on which component he compromised, if necessary Access to keys, PIN etc. Received. Therefore, this would be to hurry all these components together or calculate a hash chain.

In manchen Ausführungsformen werden die Betriebssysteminstanzen immer dann verschlüsselt und/oder die entsprechenden Hash-Werte gebildet werden, wenn der Nutzer einen Befehl zum Ausschalten der Kommunikationseinheit gibt, bzw. das Betriebssystem der Kommunikationseinheit herunterfährt. In Ausführungsformen kann vorgesehen sein, dass bei kritischem fast leeren Akkustand die Betriebssysteminstanzen verschlüsselt und/oder die entsprechenden Hash-Werte gebildet werden. Insbesondere ist in der Regel vorgesehen, dass ein Hash-Wert für eine Betriebssysteminstanz gebildet wird und/oder diese Betriebssysteminstanz verschlüsselt wird, wenn die Ausführung dieser Betriebssysteminstanz beendet wird.In some embodiments, the operating system instances are always encrypted and / or the corresponding hash values are formed when the user issues a command to turn off the communication unit or the operating system of the communication unit shuts down. In embodiments, it may be provided that, in the case of a critical almost empty battery state, the operating system instances are encrypted and / or the corresponding hash values are formed. In particular, it is generally provided that a hash value for an operating system instance is formed and / or this operating system instance is encrypted when the execution of this operating system instance is ended.

Bei anderen Ausführungsformen werden die Betriebssysteminstanzen während ihrer Ausführung kontinuierlich in zeitlichen Intervallen verschlüsselt, und ggf. wird zudem der Hash gebildet. In Ausführungsformen kann die Verschlüsselung beispielsweise Block-basiert erfolgen.In other embodiments, during their execution, the operating system instances are continuously encrypted at timed intervals and, if appropriate, the hash is also formed. In embodiments, the encryption may be block-based, for example.

In Ausführungsformen erfolgt die eigentliche persistente Speicherung tatsächlich in Intervallen und die Daten werden ansonsten gecacht. Dies ist vor allem sinnvoll, wenn der Hash in die PIN eines sicheren Elements einfließen soll. Dann muss die PIN bei jeder Änderung des Hashs geändert werden, was bei langsamen sicheren Elementen nicht beliebig oft erfolgen kann. Hier würde man dann im Smartphone zwei Zustände speichern, einmal für den alten Hash und damit für die PIN und einmal für den neuen Hash und damit für die PIN. Der alte Zustand kann dann gelöscht werden sobald das sichere Element die PIN-Änderung bestätigt.In actual embodiments, the actual persistent storage actually occurs at intervals and the data is otherwise cached. This is especially useful if the hash is to flow into the PIN of a secure element. Then the PIN must be changed every time the hash is changed, which can not be done indefinitely with slow, secure elements. Here you would then save two states in the smartphone, once for the old hash and thus for the PIN and once for the new hash and thus for the PIN. The old state can then be deleted as soon as the secure element confirms the PIN change.

In machen Ausführungsformen, wird nach jeder Befehlsausführung einer Betriebssysteminstanz der Hash für diese Betriebssysteminstanz gebildet und die Betriebssysteminstanz verschlüsselt.In some embodiments, after each instruction execution of an operating system instance, the hash for that operating system instance is formed and the operating system instance is encrypted.

Manche Ausführungsformen verwenden ein Transaktions-Konzept: Vor der Ausführung einer Transaktion durch eine Betriebssysteminstanz wird die jeweilige Betriebssysteminstanz verschlüsselt und nach der Durchführung der Transaktion wird die Betriebssysteminstanz wiederum verschlüsselt. Die Transaktionen sind so definiert, dass vor Beginn und nach der Abschluss der Transaktion die Betriebssysteminstanz in einem Zustand vorliegt, bei dem Datenintegrität vorherrscht.Some embodiments use a transaction concept: prior to the execution of a transaction by an operating system instance, the respective operating system instance is encrypted and, after the transaction has been carried out, the operating system instance is again encrypted. The transactions are defined so that, prior to and after the completion of the transaction, the operating system instance is in a state where data integrity prevails.

Es gibt spezielle Verschlüsselungsmodi um Block-basiert symmetrisch zu verschlüsseln, z. B. CBC oder XTS, siehe auch oben. In Ausführungsformen können beispielsweise diese Verschlüsselungsmodi verwendet werden.There are special encryption modes to encrypt block-based symmetric, eg. CBC or XTS, see above. For example, in embodiments, these encryption modes may be used.

Stürzt die Kommunikationseinheit während der Ausführung einer Transaktion ab oder wird beispielsweise ihre Stromversorgung unterbrochen, so ist dies unproblematisch, denn bei einem neuen Start der Kommunikationseinheit und bei Start dieser Betriebssysteminstanz wird die verschlüsselte Betriebssysteminstanz entschlüsselt, die dann in einem Zustand vorliegt, bei dem Datenintegrität besteht.If the communication unit crashes during the execution of a transaction or, for example, its power supply is interrupted, then this is not a problem, because a new start of the communication unit and at the start of this operating system instance, the encrypted operating system instance is decrypted, which then exists in a state where data integrity exists ,

Die wesentlichen Aufgaben, die mit dem Verschlüsseln und Entschlüsseln, ggf. der Komprimierung von Betriebssysteminstanzen und ggf. der Hashwert-Bildung verbunden sind, können beispielsweise von der Betriebssysteminstanz-Verwaltungsschicht 160 (oder auch Container-Verwaltungsschicht genannt; engl.: Container Management Layer; CML) gesteuert und überwacht werden. Eine solche Betriebssysteminstanz-Verwaltungsschicht kann z. B. dafür eingerichtet sein, den Betriebssystem-Kernel 150 zu instruieren, die jeweilige Betriebssysteminstanz zu verschlüsseln bzw. zu entschlüsseln und zu komprimieren. Auch kann die Betriebssysteminstanz-Verwaltungsschicht 160 dafür einen ermittelten Hash-Wert für eine Betriebssysteminstanz mit dem Hash-Wert zu vergleichen, der für diese Betriebssysteminstanz bestimmt wurde.The essential tasks that are associated with the encryption and decryption, possibly the compression of operating system instances and possibly the hash value formation, for example, by the operating system instance management layer 160 (or Container Management Layer called CML) are controlled and monitored. Such an operating system instance management layer may e.g. For example, be set up the operating system kernel 150 to instruct to encrypt or decrypt and compress the respective operating system instance. Also, the operating system instance management layer 160 to compare a detected hash value for an operating system instance with the hash value determined for that operating system instance.

4 zeigt eine Vorrichtung gemäß einer weiteren Ausführungsform. Der Anmeldeinstanz wird als „android0” bezeichnet und die Arbeitsumgebungsinstanz als „android1” und „android2”. Man kann die Arbeitsumgebungsinstanzen auch allgemein als „androidX” Instanz bezeichnen. Der Block der in 4 die Hardware 135 darstellt, umfasst in einer Ausführungsform die Prozessoreinheit 110, die Speichereinheit 120 und die Schnittstelle 130 der 1a bis 3. 4 shows a device according to another embodiment. The login instance is referred to as "android0" and the working environment instance as "android1" and "android2". One can also generally call the working environment instances an "androidX" instance. The block of in 4 the hardware 135 In one embodiment, the processor unit comprises 110 , the storage unit 120 and the interface 130 of the 1a to 3 ,

In Ausführungsformen wird die Integrität der Betriebssysteminstanzen in der Betriebssysteminstanz-Verwaltungsschicht zur Laufzeit für alle verschlüsselten Betriebssysteminstanzen durchgesetzt. Zu diesem Zweck sind, wie oben erläutert, das sichere Element und die (Kommunikations-)einheit, wie oben dargestellt, aneinander gebunden, z. B. durch asymmetrische Schlüssel. Das bedeutet, dass eine (Kommunikations-)einheit an ein bestimmtes sicheres Element (SE) gebunden ist, und nicht mit einem anderen funktioniert. In Ausführungsformen, kann das sichere Element beispielsweise Hash-Werte aller geschützten Betriebssysteminstanzen-Abbilder und Betriebsysteminstanzen-Konfigurationsdateien in dem System speichern, die nur dann wieder zugreifbar sind, wenn eine korrekte PIN eingegeben wird, und wenn zu bestimmende Hash-Werte mit den entsprechende Hash-Werten der letzten Ausführung der Betriebssysteminstanz übereinstimmen.In embodiments, the integrity of the operating system instances in the operating system instance management layer is enforced at runtime for all encrypted operating system instances. For this purpose, as explained above, the secure element and the (communication) unit, as shown above, bound together, for. B. by asymmetric keys. This means that one (communication) unit is bound to a certain secure element (SE) and does not work with another. For example, in embodiments, the secure element may store hash values of all protected operating system instance images and operating system instance configuration files in the system that are accessible again only when a correct PIN is entered and hash values to be determined with the corresponding hash values match the last run of the operating system instance.

In Ausführungsformen gewährt ein sicheres Element, das gesperrt ist, keinen Zugriff auf gespeicherte Schlüssel. Beispielsweise wird dann eine Betriebssysteminstanz, die keinen gültigen Hash aufweist, nicht entschlüsselt – zumindest, wenn die Betriebssysteminstanz-Verwaltungsschicht nicht manipuliert wurde. Für jeden der Arbeitsumgebungsinstanzen kann ein Schlüssel in dem sicheren Element gespeichert sein, der durch eine eigene PIN geschützt ist (z. B. ein privater asymmetrischer Schlüssel, mit dem ein z. B. symmetrischer Schlüssel entschlüsselt werden kann, mit dem diese Arbeitsumgebungsinstanz verschlüsselt wurde).In embodiments, a secure item that is locked does not grant access to stored keys. For example, an operating system instance that does not have a valid hash will not be decrypted - at least if the operating system instance management layer has not been tampered with. For each of the work environment instances, a key may be stored in the secure element that is protected by its own PIN (eg, a private asymmetric key that can be used to decrypt, for example, a symmetric key that encrypted that work environment instance ).

Gemäß Ausführungsformen liegt der Schlüssel der Anmeldeinstanz (in 4 „android0”) (z. B. ein symmetrischer Schlüssel, mit dem die Anmeldeinstanz verschlüsselt wurde) im sicheren Element verschlüsselt vor, ist aber nicht durch eine PIN geschützt, da er zu entschlüsseln ist, bevor eine GUI für die PIN-Eingabe bereitgestellt wird (diese GUI wird ja durch die Anmeldeinstanz bereitgestellt). Da die Anmeldeinstanz keine Nutzerdaten gespeichert hält, stellt dies kein Sicherheitsrisiko dar. In einer weiteren Ausführungsform ist die PIN der Hash der Anmeldeinstanz.According to embodiments, the key of the login instance (in 4 "Android0") (eg, a symmetric key used to encrypt the login instance) is encrypted in the secure element, but is not protected by a PIN because it has to be decrypted before providing a GUI for PIN entry (this GUI is provided by the login instance). Since the login instance does not store user data, this does not pose a security risk. In another embodiment, the PIN is the login instance hash.

In Ausführungsformen können Arbeitsumgebungsinstanzen, und, in manchen dieser Ausführungsformen, auch die Anmeldeinstanz, als Betriebssysteminstanz realisiert sein, die ein Android System realisieren. Hier kann man dann die Anmeldeinstanz als „android0” und die Arbeitsumgebungsinstanz als „android1”, „android2”, usw. oder allgemein als „androidX” bezeichnen.In embodiments, work environment instances, and, in some of these embodiments, also the login instance, may be implemented as an operating system instance implementing an Android system. Here you can then call the login instance as "android0" and the working environment instance as "android1", "android2", etc. or generally as "androidX".

4 zeigt beispielhaft den Integritätsschutz für die Anmeldeinstanz (android0) und für die Arbeitsumgebungsinstanzen (androidX). Konkret zeigt 4 eine Realisierung eines Systems einer Ausführungsform als Schichtenarchitektur. Manche der Einheiten der Schichtenarchitektur werden dabei als vertrauenswürdig eingestuft. Diese würde man sinnvollerweise zur TCB zählen und entsprechen mit in die Hash Berechnung der einzelnen Instanzen einbeziehen (direkt oder als Hash-Kette). Man könnte auch noch den Bootloader etc. Mit einbeziehen, dann hätten wir ein Secure Boot-basiertes System. Für andere Einheiten wird Schutz mittels Verschlüsselung realisiert wird. 4 exemplifies the integrity protection for the login instance (android0) and for the working environment instances (androidX). Specifically shows 4 a realization of a system of an embodiment as a layered architecture. Some of the units of the layered architecture are classified as trustworthy. These would usefully count to the TCB and correspond with include in the hash calculation of the individual instances (directly or as a hash chain). You could also include the boot loader, etc., then we would have a secure boot-based system. For other units protection is realized by means of encryption.

In anderen Ausführungsformen ist das Betriebssystem Linux-basiert. Wenigstens zwei Betriebssysteminstanzen existieren, die als unterschiedliche Linux-Systeme realisiert sind. So könnte z. B. eine der Betriebssysteminstanzen ein Firefox OS-System realisieren, eine weitere der Betriebssysteminstanzen ein Ubuntu-System realisieren und eine dritte der Betriebssysteminstanzen ein Android-System realisieren.In other embodiments, the operating system is Linux-based. At least two operating system instances exist which are realized as different Linux systems. So z. For example, one of the operating system instances will implement a Firefox OS system, another one of the operating system instances will implement an Ubuntu system, and a third of the operating system instances will implement an Android system.

Gemäß mancher Ausführungsformen erfordern auch Updates des Systems eine gültige kryptografische Signatur, die zum Beispiel in einer Ausführungsform durch das sichere Element validiert wird.In some embodiments, updates to the system also require a valid cryptographic signature that, for example, is validated by the secure element in one embodiment.

Zurückkehrend zu den 1a bis 3, kann, was die Sicherung mittels kryptografischer Verschlüsselung betrifft, in einer Ausführungsform die Schnittstelle 130 dafür eingerichtet sein, von dem Informationselement 900 als die kryptografische Information einen ersten symmetrischen kryptografischen Schlüssel zu erhalten. Dabei kann die Vorrichtung 100; 200; 300 dafür eingerichtet sein, basierend auf dem ersten symmetrischen kryptografischen Schlüssel die Daten der Anmeldeinstanz 140 zu entschlüsseln, um entschlüsselte Daten der Anmeldeinstanz 140 zu erzeugen. Ferner kann die Vorrichtung 100; 200; 300 dafür eingerichtet sein, die Benutzereingabe mit einem öffentlichen asymmetrischen kryptografischen Schlüssel zu versenden, um die besagte Sendenachricht zu erzeugen. Ferner kann die Schnittstelle ausgebildet sein, die Sendenachricht an das Informationselement zu übermitteln.Returning to the 1a to 3 , in one embodiment, may interface with the cryptographic encryption backup 130 be set up by the information element 900 as the cryptographic information to obtain a first symmetric cryptographic key. In this case, the device 100 ; 200 ; 300 be set up based on the first symmetric cryptographic key, the data of the login instance 140 to decrypt decrypted data of the login instance 140 to create. Furthermore, the device 100 ; 200 ; 300 be arranged to send the user input with a public asymmetric cryptographic key to generate the said transmission message. Furthermore, the interface can be designed to transmit the transmission message to the information element.

Gemäß einer weiteren Ausführungsform ist in dem nichtflüchtigen Speicher der Speichereinheit 120 ein verschlüsselter zweiter symmetrischer kryptographischer Schlüssel gespeichert. Die Schnittstelle 130 ist dabei dafür eingerichtet, den verschlüsselten zweiten symmetrischen kryptographischen Schlüssel an das Informationselement 900 zu übertragen, um von dem Informationselement einen unverschlüsselten zweiten kryptographischen Schlüssel zu erhalten. Die Vorrichtung 100; 200; 300 ist dafür eingerichtet, die Daten der besagten eine Arbeitsumgebungsinstanz 141 die ein oder mehreren Arbeitsumgebungsinstanzen 141, 142 unter Verwendung des unverschlüsselten zweiten kryptographischen Schlüssels zu entschlüsseln, um die entschlüsselten Daten dieser Arbeitsumgebungsinstanz 141 zu erzeugen, und, abhängig von den entschlüsselten Daten dieser Arbeitsumgebungsinstanz 141, den einen oder die mehreren Prozesse, die dieser Arbeitsumgebungsinstanz 141 zugeordnet sind, auf der Prozessoreinheit 120 auszuführen.According to another embodiment, in the non-volatile memory of the memory unit 120 stored an encrypted second symmetric cryptographic key. the interface 130 is configured to apply the encrypted second symmetric cryptographic key to the information element 900 in order to obtain from the information element an unencrypted second cryptographic key. The device 100 ; 200 ; 300 is set up the data of the said one working environment instance 141 the one or more work environment instances 141 . 142 using the unencrypted second cryptographic key to decrypt the decrypted data of that working environment instance 141 and depending on the decrypted data of that work environment instance 141 , the one or more processes that this work environment instance 141 are assigned on the processor unit 120 perform.

In einer weiteren Ausführungsform kann die Vorrichtung 100; 200; 300 dafür eingerichtet sein, eine weitere grafische Oberfläche bereitzustellen, die es dem Benutzer ermöglicht, eine der Arbeitsumgebungsinstanzen 141; 142 als ausgewählte Arbeitsumgebungsinstanz 141 auszuwählen, und die Daten der ausgewählten Arbeitsumgebungsinstanz 141 zu entschlüsseln, um entschlüsselte Daten der ausgewählten Arbeitsumgebungsinstanz 141 zu erzeugen, und abhängig von den entschlüsselten Daten der ausgewählten Arbeitsumgebungsinstanz 141, einen oder mehrere Prozesse, die der ausgewählten Arbeitsumgebungsinstanz 141 zugeordnet sind, auf der Prozessoreinheit 110 auszuführen.In a further embodiment, the device 100 ; 200 ; 300 be configured to provide another graphical interface that allows the user to select one of the working environment instances 141 ; 142 as a selected work environment instance 141 and the data of the selected work environment instance 141 to decrypt decrypted data of the selected working environment instance 141 and depending on the decrypted data the selected work environment instance 141 , one or more processes belonging to the selected work environment instance 141 are assigned on the processor unit 110 perform.

Was den Integritätsschutz durch Hash-Werte betrifft, kann in einer Ausführungsform die Vorrichtung 100; 200; 300 dafür eingerichtet sein, wenn das Überprüfungsergebnis das erste Resultat aufweist, die Daten einer 141 der ein oder mehreren Arbeitsumgebungsinstanzen 141, 142 zu entschlüsseln, um entschlüsselte Daten dieser Arbeitsumgebungsinstanz 141 zu erzeugen, wobei die Vorrichtung 100; 200; 300 ferner dafür ausgelegt ist, eine Hash-Berechnung durchzuführen, die von den entschlüsselten Daten dieser Arbeitsumgebungsinstanz 141 abhängt, um einen berechneten Hash-Wert für diesen Arbeitsumgebungsinstanz 141 zu erhalten und wobei die Vorrichtung 100; 200; 300 dafür eingerichtet ist, den berechneten Hash-Wert für diese Arbeitsumgebungsinstanz 141 mit einem gespeicherten Hash-Wert für diese Arbeitsumgebungsinstanz 141 zu vergleichen.In terms of integrity protection by hash values, in one embodiment, the device 100 ; 200 ; 300 be arranged for, if the check result has the first result, the data of a 141 the one or more work environment instances 141 . 142 to decrypt decrypted data of this working environment instance 141 to generate, the device 100 ; 200 ; 300 is further adapted to perform a hash computation of the decoded data of that working environment instance 141 depends on a calculated hash value for this work environment instance 141 to get and the device 100 ; 200 ; 300 is set up the calculated hash value for this work environment instance 141 with a stored hash value for this work environment instance 141 to compare.

Gemäß einer Ausführungsform kann die Vorrichtung 100; 200; 300 dafür eingerichtet sein, basierend auf der kryptographischen Information, die Daten der Anmeldeinstanz 140 zu entschlüsseln, um entschlüsselte Daten der Anmeldeinstanz 140 zu erzeugen, wobei die Vorrichtung 100; 200; 300 ferner dafür ausgelegt ist, eine Hash-Berechnung durchzuführen, die von den entschlüsselten Daten der Anmeldeinstanz 140 abhängt, um einen berechneten Hash-Wert für die Anmeldeinstanz 140 zu erhalten und wobei die Vorrichtung dafür eingerichtet ist, den berechneten Hash-Wert für die Anmeldeinstanz 140 mit einem gespeicherten Hash-Wert für die Anmeldeinstanz 140 zu vergleichen.According to one embodiment, the device 100 ; 200 ; 300 be set up based on the cryptographic information, the data of the login instance 140 to decrypt decrypted data of the login instance 140 to generate, the device 100 ; 200 ; 300 is further adapted to perform a hash computation of the decoded data of the logon instance 140 depends on a calculated hash value for the login instance 140 and wherein the device is adapted to receive the computed hash value for the login instance 140 with a stored hash value for the login instance 140 to compare.

Was das System umfassend die Vorrichtung 100; 200; 300 und das Informationselement 900 der 1a3 betrifft, so kann in einer Ausführungsform das Informationselement 900 dafür eingerichtet sein, der Schnittstelle 130 der Vorrichtung 100; 200; 300 einen ersten kryptographischen Schlüssel als kryptografische Information zu übermitteln. Die Vorrichtung 100; 200; 300 kann dabei dafür eingerichtet sein, basierend auf dem kryptographischen Schlüssel, die Daten der Anmeldeinstanz 140 zu entschlüsseln, um entschlüsselte Daten der Anmeldeinstanz 140 zu erzeugen, und, abhängig von den entschlüsselten Daten der Anmeldeinstanz 140, einen oder mehrere Prozesse, die der Anmeldeinstanz 140 zugeordnet sind, auf der Prozessoreinheit 110 der Vorrichtung 100; 200; 300 auszuführen, um eine grafische Oberfläche bereitzustellen, die eine Benutzereingabe ermöglicht. Die Vorrichtung 100; 200; 300 kann dabei dafür eingerichtet sein, die Benutzereingabe zu verschlüsseln, um eine verschlüsselte Benutzereingabe zu erhalten.What the system comprising the device 100 ; 200 ; 300 and the information element 900 of the 1a - 3 In one embodiment, the information element 900 be set up for the interface 130 the device 100 ; 200 ; 300 to transmit a first cryptographic key as cryptographic information. The device 100 ; 200 ; 300 can be set up for this, based on the cryptographic key, the data of the login instance 140 to decrypt decrypted data of the login instance 140 and, depending on the decrypted data of the login instance 140 , one or more processes belonging to the login instance 140 are assigned on the processor unit 110 the device 100 ; 200 ; 300 to provide a graphical user interface that allows user input. The device 100 ; 200 ; 300 may be configured to encrypt the user input to obtain encrypted user input.

Die Schnittstelle 130 der Vorrichtung 100; 200; 300 kann ausgebildet sein, um die verschlüsselte Benutzereingabe an das Informationselement 900 zu übermitteln. Ferner kann dabei das Informationselement 900 ausgebildet sein, die verschlüsselte Benutzereingabe zu entschlüsseln, um eine entschlüsselte Benutzereingabe zu erhalten. In Ausführungsformen werden dabei die oben dargestellten Konzepte implementiert.the interface 130 the device 100 ; 200 ; 300 may be configured to encrypt the encrypted user input to the information element 900 to convey. Furthermore, while the information element 900 be configured to decrypt the encrypted user input to obtain a decrypted user input. In embodiments, the concepts presented above are implemented.

Das Informationselement 900 kann dabei ausgebildet sein, einen Vergleich zwischen einer gespeicherten PIN und der entschlüsselten Benutzereingabe durchzuführen. Ferner kann das Informationselement 900 ausgebildet sein, eine Antwortnachricht zu erzeugen und an die Schnittstelle 130 der Vorrichtung 100; 200; 300 zu übermitteln, die das Überprüfungsergebnis umfasst, wobei das Überprüfungsergebnis das erste Resultat aufweist, wenn die gespeicherte PIN und die entschlüsselte Benutzereingabe übereinstimmen, und wobei das Überprüfungsergebnis das zweite Resultat aufweist, wenn die gespeicherte PIN und die entschlüsselte Benutzereingabe nicht übereinstimmen.The information element 900 may be configured to perform a comparison between a stored PIN and the decrypted user input. Furthermore, the information element 900 be formed to generate a response message and to the interface 130 the device 100 ; 200 ; 300 the verification result comprising the first result when the stored PIN and the decrypted user input match, and wherein the verification result has the second result when the stored PIN and the decrypted user input do not match.

5 zeigt ein Informationselement 900 (auch als „sicheres Element” bezeichnet) gemäß einer Ausführungsform. 5 shows an information element 900 (also referred to as "secure element") according to one embodiment.

Das Informationselement 900 umfasst eine Speichereinheit 910, die nichtflüchtigen Speicher umfasst, eine Prozessoreinheit 920, und eine Schnittstelle 930.The information element 900 includes a storage unit 910 comprising non-volatile memory, a processor unit 920 , and an interface 930 ,

In dem nichtflüchtigen Speicher der Speichereinheit 910 sind ein oder mehrere private kryptografische Schlüssel eines oder mehrerer asymmetrischer Schlüsselpaare gespeichert.In the nonvolatile memory of the storage unit 910 One or more private cryptographic keys of one or more asymmetric key pairs are stored.

Die Schnittstelle 930 ist ausgebildet, einen verschlüsselten kryptographischen Schlüssel oder sonstige Daten zu empfangen (in Ausführungsformen kann das Informationselement z. B. auch nach Freischaltung beispielsweise für Email-Signaturen, VPN, SSL etc. verwendet werden), wobei der verschlüsselte kryptografische Schlüssel unter Verwendung des privaten kryptografischen Schlüssels entschlüsselbar ist.the interface 930 is configured to receive an encrypted cryptographic key or other data (in embodiments, the information element may also be used, for example, after activation, for example, for e-mail signatures, VPN, SSL, etc.), the encrypted cryptographic key using the private cryptographic key Key is decryptable.

Die Prozessoreinheit 920 ist ausgebildet, den verschlüsselten kryptographischen Schlüssel oder die sonstigen Daten unter Verwendung des einen oder der mehreren privaten kryptografischen Schlüssel zu entschlüsseln, um einen entschlüsselten kryptographischen Schlüssel oder um entschlüsselte Daten zu erhalten.The processor unit 920 is configured to decrypt the encrypted cryptographic key or other data using the one or more private cryptographic keys to obtain a decrypted cryptographic key or decrypted data.

Die Schnittstelle 930 ist ausgebildet, den entschlüsselten kryptographischen Schlüssel oder die entschlüsselten Daten auszugeben. Ferner ist die Schnittstelle 930 ausgebildet, eine verschlüsselte PIN, die unter Verwendung des privaten kryptografischen Schlüssels oder der entschlüsselten Daten entschlüsselbar ist, zu empfangen.the interface 930 is configured to output the decrypted cryptographic key or the decrypted data. Furthermore, the interface 930 configured to receive an encrypted PIN that is decryptable using the private cryptographic key or the decrypted data.

Die Prozessoreinheit 920 ist ausgebildet, die verschlüsselte PIN unter Verwendung des privaten kryptografischen Schlüssels oder der entschlüsselten Daten zu entschlüsseln, um eine entschlüsselte PIN zu erhalten. Ferner ist die Prozessoreinheit 920 ausgebildet, die entschlüsselte PIN mit einer gespeicherten PIN zu vergleichen, um ein Überprüfungsergebnis zu erhalten, wobei die gespeicherte PIN in dem nichtflüchtigen Speicher der Speichereinheit 910 gespeichert ist. Dabei weist das Überprüfungsergebnis entweder ein erstes Resultat auf, wenn das Überprüfungsergebnis angibt, dass die entschlüsselte PIN und die gespeicherte PIN übereinstimmen, oder es weist ein zweites Resultat auf, das von dem ersten Resultat verschieden ist, wenn das Überprüfungsergebnis angibt, dass die entschlüsselte PIN und die gespeicherte PIN nicht übereinstimmen.The processor unit 920 is configured to decrypt the encrypted PIN using the private cryptographic key or the decrypted data to obtain a decrypted PIN. Furthermore, the processor unit 920 adapted to compare the decrypted PIN with a stored PIN to obtain a verification result, wherein the stored PIN in the non-volatile memory of the memory unit 910 is stored. In this case, the check result either has a first result if the check result indicates that the decrypted PIN and the stored PIN match, or it has a second result different from the first result if the check result indicates that the decrypted PIN and the stored PIN do not match.

In Ausführungsformen ist das Ändern der PIN möglich.In embodiments, changing the PIN is possible.

Gemäß Ausführungsformen kann eine gesperrte PIN durch Verwendung einer PUK wieder freigeschaltet werden.According to embodiments, a locked PIN can be re-enabled by using a PUK.

Ferner ist die Prozessoreinheit 920 ausgebildet, eine Antwortnachricht zu erzeugen, die das Überprüfungsergebnis umfasst. Die Schnittstelle 930 ist ausgebildet, die Antwortnachricht auszugeben.Furthermore, the processor unit 920 configured to generate a response message comprising the verification result. the interface 930 is configured to output the response message.

Ausführungsformen realisieren Integritätsschutz, also beispielsweise Kopplung von Instanzen an kryptografische Schlüssel in sicheren Elementen, Kopplung von Smartphones an sichere Elemente, Freigabe von sicheren Elementen erst nach korrekter PIN Eingabe, die sich wiederum vom kryptografischen Hash aller involvierten Softwarekomponenten ableitet, Nutzung der sicheren Elemente in anderen Szenarien wie VPN nach erfolgreicher Integritätsprüfung und/oder Änderung von Hashs und damit verbunden Änderungen der PIN vom sicheren Element, alternativ Änderung des gespeicherten Hashs im sicheren Element.Embodiments realize integrity protection, such as coupling instances to cryptographic keys in secure elements, coupling smartphones to secure elements, releasing secure elements only after correct PIN entry, which in turn derives from the cryptographic hash of all involved software components, utilizing the secure elements in others Scenarios such as VPN after a successful integrity check and / or hash changes and associated PIN changes from the secure element, alternatively changing the stored hash in the secure element.

Obwohl manche Aspekte im Zusammenhang mit einer Vorrichtung beschrieben wurden, versteht es sich, dass diese Aspekte auch eine Beschreibung des entsprechenden Verfahrens darstellen, sodass ein Block oder ein Bauelement einer Vorrichtung auch als ein entsprechender Verfahrensschritt oder als ein Merkmal eines Verfahrensschrittes zu verstehen ist. Analog dazu stellen Aspekte, die im Zusammenhang mit einem oder als ein Verfahrensschritt beschrieben wurden, auch eine Beschreibung eines entsprechenden Blocks oder Details oder Merkmals einer entsprechenden Vorrichtung dar. Einige oder alle der Verfahrensschritte können durch einen Hardware-Apparat (oder unter Verwendung eines Hardware-Apparats), wie zum Beispiel einen Mikroprozessor, einen programmierbaren Computer oder einer elektronischen Schaltung durchgeführt werden. Bei einigen Ausführungsbeispielen können einige oder mehrere der wichtigsten Verfahrensschritte durch einen solchen Apparat ausgeführt werden.Although some aspects have been described in the context of a device, it will be understood that these aspects also constitute a description of the corresponding method, so that a block or a component of a device is also to be understood as a corresponding method step or as a feature of a method step. Similarly, aspects described in connection with or as a method step also represent a description of a corresponding block or detail or feature of a corresponding device. Some or all of the method steps may be performed by a hardware device (or using a hardware device). Apparatus), such as a microprocessor, a programmable computer or an electronic circuit. In some embodiments, some or more of the most important method steps may be performed by such an apparatus.

Je nach bestimmten Implementierungsanforderungen können Ausführungsbeispiele der Erfindung in Hardware oder in Software implementiert sein. Die Implementierung kann unter Verwendung eines digitalen Speichermediums, beispielsweise einer Floppy-Disk, einer DVD, einer BluRay Disc, einer CD, eines ROM, eines PROM, eines EPROM, eines EEPROM oder eines FLASH-Speichers, einer Festplatte oder eines anderen magnetischen oder optischen Speichers durchgeführt werden, auf dem elektronisch lesbare Steuersignale gespeichert sind, die mit einem programmierbaren Computersystem derart zusammenwirken können oder zusammenwirken, dass das jeweilige Verfahren durchgeführt wird. Deshalb kann das digitale Speichermedium computerlesbar sein.Depending on particular implementation requirements, embodiments of the invention may be implemented in hardware or in software. The implementation may be performed using a digital storage medium such as a floppy disk, a DVD, a BluRay disc, a CD, a ROM, a PROM, an EPROM, an EEPROM or FLASH memory, a hard disk, or other magnetic or optical Memory are stored on the electronically readable control signals are stored, which can cooperate with a programmable computer system or cooperate such that the respective method is performed. Therefore, the digital storage medium can be computer readable.

Manche Ausführungsbeispiele gemäß der Erfindung umfassen also einen Datenträger, der elektronisch lesbare Steuersignale aufweist, die in der Lage sind, mit einem programmier-baren Computersystem derart zusammenzuwirken, dass eines der hierin beschriebenen Verfahren durchgeführt wird.Thus, some embodiments according to the invention include a data carrier having electronically readable control signals capable of interacting with a programmable computer system such that one of the methods described herein is performed.

Allgemein können Ausführungsbeispiele der vorliegenden Erfindung als Computerprogrammprodukt mit einem Programmcode implementiert sein, wobei der Programmcode dahin gehend wirksam ist, eines der Verfahren durchzuführen, wenn das Computerprogrammprodukt auf einem Computer abläuft.In general, embodiments of the present invention may be implemented as a computer program product having a program code, wherein the program code is operable to perform one of the methods when the computer program product runs on a computer.

Der Programmcode kann beispielsweise auch auf einem maschinenlesbaren Träger gespeichert sein.The program code can also be stored, for example, on a machine-readable carrier.

Andere Ausführungsbeispiele umfassen das Computerprogramm zum Durchführen eines der hierin beschriebenen Verfahren, wobei das Computerprogramm auf einem maschinen-lesbaren Träger gespeichert ist. Mit anderen Worten ist ein Ausführungsbeispiel des erfindungsgemäßen Verfahrens somit ein Computerprogramm, das einen Programmcode zum Durchführen eines der hierin beschriebenen Verfahren aufweist, wenn das Computerprogramm auf einem Computer abläuft.Other embodiments include the computer program for performing any of the methods described herein, wherein the computer program is stored on a machine-readable medium. In other words, an embodiment of the method according to the invention is thus a computer program which has a program code for performing one of the methods described herein when the computer program runs on a computer.

Ein weiteres Ausführungsbeispiel der erfindungsgemäßen Verfahren ist somit ein Datenträger (oder ein digitales Speichermedium oder ein computerlesbares Medium), auf dem das Computerprogramm zum Durchführen eines der hierin beschriebenen Verfahren aufgezeichnet ist.A further embodiment of the inventive method is thus a data carrier (or a digital storage medium or a computer-readable medium) on which the computer program is recorded for carrying out one of the methods described herein.

Ein weiteres Ausführungsbeispiel des erfindungsgemäßen Verfahrens ist somit ein Datenstrom oder eine Sequenz von Signalen, der bzw. die das Computerprogramm zum Durchführen eines der hierin beschriebenen Verfahren darstellt bzw. darstellen. Der Datenstrom oder die Sequenz von Signalen kann bzw. können beispielsweise dahin gehend konfiguriert sein, über eine Datenkommunikationsverbindung, beispielsweise über das Internet, transferiert zu werden.A further embodiment of the method according to the invention is thus a data stream or a sequence of signals, which represent the computer program for performing one of the methods described herein. The data stream or the sequence of signals may be configured, for example, to be transferred via a data communication connection, for example via the Internet.

Ein weiteres Ausführungsbeispiel umfasst eine Verarbeitungseinrichtung, beispielsweise einen Computer oder ein programmierbares Logikbauelement, die dahin gehend konfiguriert oder angepasst ist, eines der hierin beschriebenen Verfahren durchzuführen.Another embodiment includes a processing device, such as a computer or a programmable logic device, that is configured or adapted to perform one of the methods described herein.

Ein weiteres Ausführungsbeispiel umfasst einen Computer, auf dem das Computerprogramm zum Durchführen eines der hierin beschriebenen Verfahren installiert ist.Another embodiment includes a computer on which the computer program is installed to perform one of the methods described herein.

Ein weiteres Ausführungsbeispiel gemäß der Erfindung umfasst eine Vorrichtung oder ein System, die bzw. das ausgelegt ist, um ein Computerprogramm zur Durchführung zumindest eines der hierin beschriebenen Verfahren zu einem Empfänger zu übertragen. Die Übertragung kann beispielsweise elektronisch oder optisch erfolgen. Der Empfänger kann beispielsweise ein Computer, ein Mobilgerät, ein Speichergerät oder eine ähnliche Vorrichtung sein. Die Vorrichtung oder das System kann beispielsweise einen Datei-Server zur Übertragung des Computerprogramms zu dem Empfänger umfassen.Another embodiment according to the invention comprises a device or system adapted to transmit a computer program for performing at least one of the methods described herein to a receiver. The transmission can be done for example electronically or optically. The receiver may be, for example, a computer, a mobile device, a storage device or a similar device. For example, the device or system may include a file server for transmitting the computer program to the recipient.

Bei manchen Ausführungsbeispielen kann ein programmierbares Logikbauelement (beispielsweise ein feldprogrammierbares Gatterarray, ein FPGA) dazu verwendet werden, manche oder alle Funktionalitäten der hierin beschriebenen Verfahren durchzuführen. Bei manchen Ausführungsbeispielen kann ein feldprogrammierbares Gatterarray mit einem Mikroprozessor zusammenwirken, um eines der hierin beschriebenen Verfahren durchzuführen. Allgemein werden die Verfahren bei einigen Ausführungsbeispielen seitens einer beliebigen Hardwarevorrichtung durchgeführt. Diese kann eine universell einsetzbare Hardware wie ein Computerprozessor (CPU) sein oder für das Verfahren spezifische Hardware, wie beispielsweise ein ASIC.In some embodiments, a programmable logic device (eg, a field programmable gate array, an FPGA) may be used to perform some or all of the functionality of the methods described herein. In some embodiments, a field programmable gate array may cooperate with a microprocessor to perform one of the methods described herein. In general, in some embodiments, the methods are performed by any hardware device. This may be a universal hardware such as a computer processor (CPU) or hardware specific to the process, such as an ASIC.

Die oben beschriebenen Ausführungsbeispiele stellen lediglich eine Veranschaulichung der Prinzipien der vorliegenden Erfindung dar. Es versteht sich, dass Modifikationen und Variationen der hierin beschriebenen Anordnungen und Einzelheiten anderen Fachleuten einleuchten werden. Deshalb ist beabsichtigt, dass die Erfindung lediglich durch den Schutzumfang der nachstehenden Patentansprüche und nicht durch die spezifischen Einzelheiten, die anhand der Beschreibung und der Erläuterung der Ausführungsbeispiele hierin präsentiert wurden, beschränkt sei.The embodiments described above are merely illustrative of the principles of the present invention. It will be understood that modifications and variations of the arrangements and details described herein will be apparent to others of ordinary skill in the art. Therefore, it is intended that the invention be limited only by the scope of the appended claims and not by the specific details presented in the description and explanation of the embodiments herein.

Claims (21)

Vorrichtung (100; 200; 300), umfassend: eine Prozessoreinheit (110), die einen oder mehrere Prozessoren umfasst, eine Speichereinheit (120), die nichtflüchtigen Speicher umfasst, eine Schnittstelle (130) zur Datenübertragung an ein Informationselement (900) und zum Datenempfang von dem Informationselement (900), und eine Gruppe von Betriebssysteminstanzen (140, 141, 142), wobei die Gruppe der Betriebssysteminstanzen (140, 141, 142) ein oder mehrere Arbeitsumgebungsinstanzen (141, 142) umfasst, wobei jede Betriebssysteminstanz (140, 141, 142) der Gruppe der Betriebssysteminstanzen (140, 141, 142) Daten aufweist, wobei die Daten jeder Betriebssysteminstanz (140, 141, 142) der Gruppe der Betriebssysteminstanzen (140, 141, 142) im nichtflüchtigen Speicher der Speichereinheit (120) verschlüsselt gespeichert sind, wobei die Vorrichtung (100; 200; 300) dafür eingerichtet ist, wenn ein Überprüfungsergebnis ein erstes Resultat aufweist, die Daten einer (141) der ein oder mehreren Arbeitsumgebungsinstanzen (141, 142) zu entschlüsseln, um entschlüsselte Daten dieser Arbeitsumgebungsinstanz (141) zu erzeugen, und abhängig von den entschlüsselten Daten dieser Arbeitsumgebungsinstanz (141), einen oder mehrere Prozesse, die dieser Arbeitsumgebungsinstanz (141) zugeordnet sind, auf der Prozessoreinheit (110) auszuführen, und wobei die Vorrichtung (100; 200; 300) dafür eingerichtet ist, wenn das Überprüfungsergebnis ein zweites Resultat aufweist, das von dem ersten Resultat verschieden ist, die Daten keiner der ein oder mehreren Arbeitsumgebungsinstanzen (141, 142) zu entschlüsseln.Contraption ( 100 ; 200 ; 300 ), comprising: a processor unit ( 110 ), which comprises one or more processors, a memory unit ( 120 ), which includes non-volatile memory, an interface ( 130 ) for data transmission to an information element ( 900 ) and for receiving data from the information element ( 900 ), and a group of operating system instances ( 140 . 141 . 142 ), where the group of operating system instances ( 140 . 141 . 142 ) one or more working environment instances ( 141 . 142 ), each operating system instance ( 140 . 141 . 142 ) of the group of operating system instances ( 140 . 141 . 142 ) Data, the data of each operating system instance ( 140 . 141 . 142 ) of the group of operating system instances ( 140 . 141 . 142 ) in the nonvolatile memory of the memory unit ( 120 ) are stored encrypted, the device ( 100 ; 200 ; 300 ) is set up, if a check result has a first result, the data of a ( 141 ) of the one or more working environment entities ( 141 . 142 ) to decrypt data of this working environment instance ( 141 ) and depending on the decrypted data of that work environment instance ( 141 ), one or more processes that this working environment instance ( 141 ) are assigned to the processor unit ( 110 ), and wherein the device ( 100 ; 200 ; 300 ) is arranged for, if the check result has a second result different from the first result, the data of none of the one or more work environment instances ( 141 . 142 ) to decode. Vorrichtung (100; 200; 300) nach Anspruch 1, wobei die Gruppe der Betriebssysteminstanzen (140, 141, 142) ferner eine Anmeldeinstanz (140) umfasst, wobei die Schnittstelle (130) dafür eingerichtet ist, von dem Informationselement (900) eine kryptografische Information oder sonstige Daten zu erhalten, wobei die Vorrichtung (100; 200; 300) dafür eingerichtet ist, basierend auf der kryptographischen Information oder den sonstigen Daten, die Daten der Anmeldeinstanz (140) zu entschlüsseln, um entschlüsselte Daten der Anmeldeinstanz (140) zu erzeugen, und, abhängig von den entschlüsselten Daten der Anmeldeinstanz (140), einen oder mehrere Prozesse, die der Anmeldeinstanz (140) zugeordnet sind, auf der Prozessoreinheit (110) auszuführen, um eine grafische Oberfläche bereitzustellen, die eine Benutzereingabe ermöglicht, wobei die Schnittstelle (130) ausgebildet ist, um die Benutzereingabe oder eine Sendenachricht, die von der Benutzereingabe abhängt, an das Informationselement (900) zu übermitteln, und wobei die Schnittstelle (130) dafür eingerichtet ist, nach dieser Übermittlung eine Antwortnachricht zu erhalten, die das Überprüfungsergebnis umfasst.Contraption ( 100 ; 200 ; 300 ) according to claim 1, wherein the group of operating system instances ( 140 . 141 . 142 ) a registration authority ( 140 ), wherein the interface ( 130 ) is adapted from the information element ( 900 ) to obtain cryptographic information or other data, the device ( 100 ; 200 ; 300 ) is set up, based on the cryptographic information or other data, the data of the filing authority ( 140 ) to decrypt data of the login instance ( 140 ) and, depending on the decrypted data of the login instance ( 140 ), one or more processes, the login instance ( 140 ) are assigned to the processor unit ( 110 ) to provide a graphical user interface that allows user input where the interface ( 130 ) is adapted to the user input or a send message, which depends on the user input, to the information element ( 900 ) and the interface ( 130 ) is arranged to receive, after this transmission, a response message comprising the verification result. Vorrichtung (100; 200; 300) nach Anspruch 2, wobei die Schnittstelle (130) dafür eingerichtet ist, von dem Informationselement (900) als die kryptografische Information einen ersten symmetrischen kryptografischen Schlüssel zu erhalten, wobei die Vorrichtung (100; 200; 300) dafür eingerichtet ist, basierend auf dem ersten symmetrischen kryptografischen Schlüssel, die Daten der Anmeldeinstanz (140) zu entschlüsseln, um entschlüsselte Daten der Anmeldeinstanz (140) zu erzeugen, und wobei die Vorrichtung (100; 200; 300) dafür eingerichtet ist, die Benutzereingabe mit einem öffentlichen asymmetrischen kryptografischen Schlüssel zu versenden, um die besagte Sendenachricht zu erzeugen, und wobei die Schnittstelle (130) ausgebildet ist, die Sendenachricht an das Informationselement (900) zu übermitteln.Contraption ( 100 ; 200 ; 300 ) according to claim 2, wherein the interface ( 130 ) is adapted from the information element ( 900 ) as the cryptographic information to obtain a first symmetric cryptographic key, the device ( 100 ; 200 ; 300 ) is adapted, based on the first symmetric cryptographic key, the data of the login instance ( 140 ) to decrypt data of the login instance ( 140 ), and wherein the device ( 100 ; 200 ; 300 ) is adapted to send the user input with a public asymmetric cryptographic key to generate said broadcast message, and wherein the interface ( 130 ), the send message to the information element ( 900 ). Vorrichtung (100; 200; 300) nach einem der vorherigen Ansprüche, wobei in dem nichtflüchtigen Speicher der Speichereinheit (120) ein verschlüsselter zweiter symmetrischer kryptographischer Schlüssel gespeichert ist, wobei die Schnittstelle (130) dafür eingerichtet ist, den verschlüsselten zweiten symmetrischen kryptographischen Schlüssel an das Informationselement (900) zu übertragen, um von dem Informationselement (900) einen unverschlüsselten zweiten kryptographischen Schlüssel zu erhalten, wobei die Vorrichtung (100; 200; 300) dafür eingerichtet ist, die Daten der besagten einen (141) der ein oder mehreren Arbeitsumgebungsinstanzen (141, 142) unter Verwendung des unverschlüsselten zweiten kryptographischen Schlüssels zu entschlüsseln, um die entschlüsselten Daten dieser Arbeitsumgebungsinstanz (141) zu erzeugen, und, abhängig von den entschlüsselten Daten dieser Arbeitsumgebungsinstanz (141), den einen oder die mehreren Prozesse, die dieser Arbeitsumgebungsinstanz (141) zugeordnet sind, auf der Prozessoreinheit (110) auszuführen.Contraption ( 100 ; 200 ; 300 ) according to one of the preceding claims, wherein in the non-volatile memory of the memory unit ( 120 ) an encrypted second symmetric cryptographic key is stored, wherein the interface ( 130 ) is adapted to the encrypted second symmetric cryptographic key to the information element ( 900 ) to transmit from the information element ( 900 ) to obtain an unencrypted second cryptographic key, the device ( 100 ; 200 ; 300 ) is set up to store the data of said one ( 141 ) of the one or more working environment entities ( 141 . 142 ) using the unencrypted second cryptographic key to decrypt the decrypted data of that working environment instance ( 141 ) and, depending on the decrypted data of that work environment instance ( 141 ), the one or more processes that this work environment instance ( 141 ) are assigned to the processor unit ( 110 ). Vorrichtung (100; 200; 300) nach Anspruch 2 oder 3, wobei die Vorrichtung (100; 200; 300) dafür eingerichtet ist, eine weitere grafische Oberfläche bereitzustellen, die es dem Benutzer ermöglicht, eine der Arbeitsumgebungsinstanzen (141) als ausgewählte Arbeitsumgebungsinstanz (141, 142) auszuwählen, und die Daten der ausgewählten Arbeitsumgebungsinstanz (141) zu entschlüsseln, um entschlüsselte Daten der ausgewählten Arbeitsumgebungsinstanz (141) zu erzeugen, und abhängig von den entschlüsselten Daten der ausgewählten Arbeitsumgebungsinstanz (141), einen oder mehrere Prozesse, die der ausgewählten Arbeitsumgebungsinstanz (141) zugeordnet sind, auf der Prozessoreinheit (110) auszuführen.Contraption ( 100 ; 200 ; 300 ) according to claim 2 or 3, wherein the device ( 100 ; 200 ; 300 ) is arranged to provide another graphical interface that allows the user to select one of the working environment instances ( 141 ) as a selected work environment instance ( 141 . 142 ) and the data of the selected work environment instance ( 141 ) to decrypt data of the selected working environment instance ( 141 ) and depending on the decrypted data of the selected working environment instance ( 141 ), one or more processes corresponding to the selected work environment instance ( 141 ) are assigned to the processor unit ( 110 ). Vorrichtung (100; 200; 300) nach einem der vorherigen Ansprüche, wobei die Vorrichtung (100; 200; 300) ferner einen Betriebssystemkern (150) aufweist, wobei der Betriebssystemkern (150) dafür eingerichtet ist, wenn das Überprüfungsergebnis das besagte erste Resultat aufweist, die Daten der besagten Arbeitsumgebungsinstanz (141) zu entschlüsseln, um die entschlüsselten Daten dieser Arbeitsumgebungsinstanz (141) zu erzeugen, und abhängig von den entschlüsselten Daten dieser Arbeitsumgebungsinstanz (141), den einen oder die mehreren Prozesse, die dieser Arbeitsumgebungsinstanz (141) zugeordnet sind, auf der Prozessoreinheit (110) auszuführen, und wobei der Betriebssystemkern (150) dafür eingerichtet ist, wenn das Überprüfungsergebnis das besagte zweite Resultat aufweist, das von dem ersten Resultat verschieden ist, die Daten keiner der ein oder mehreren Arbeitsumgebungsinstanzen (141, 142) zu entschlüsseln.Contraption ( 100 ; 200 ; 300 ) according to one of the preceding claims, wherein the device ( 100 ; 200 ; 300 ) an operating system kernel ( 150 ), wherein the operating system kernel ( 150 ) is arranged for, if the check result comprises said first result, the data of said work environment instance ( 141 ) to decrypt the decrypted data of this work environment instance ( 141 ) and depending on the decrypted data of that work environment instance ( 141 ), the one or more processes that this work environment instance ( 141 ) are assigned to the processor unit ( 110 ) and the operating system kernel ( 150 ) is arranged for, if the check result has the said second result different from the first result, the data of none of the one or more work environment instances ( 141 . 142 ) to decode. Vorrichtung (100; 200; 300) nach Anspruch 6, wobei der Betriebssystemkern (150) ein Linux-Betriebssystemkern ist.Contraption ( 100 ; 200 ; 300 ) according to claim 6, wherein the operating system kernel ( 150 ) is a Linux kernel. Vorrichtung (100; 200; 300) nach Anspruch 7, wobei jede Betriebssysteminstanz (140, 141, 142) der Gruppe der Betriebssysteminstanzen (140, 141, 142) auf Linux basiert.Contraption ( 100 ; 200 ; 300 ) according to claim 7, wherein each operating system instance ( 140 . 141 . 142 ) of the group of operating system instances ( 140 . 141 . 142 ) based on Linux. Vorrichtung (100; 200; 300) nach einem der Ansprüche 6 bis 8, wobei die Vorrichtung (100; 200; 300) des Weiteren eine Betriebssysteminstanz-Verwaltungsschicht aufweist, wobei die Betriebssysteminstanz-Verwaltungsschicht (160) ausgebildet ist, wenn das Überprüfungsergebnis das besagte erste Resultat aufweist, dem Betriebssystemkern (150) einen oder mehrere Befehle zu übermitteln, wodurch der Betriebssystemkern (150) veranlasst wird, die Daten der besagten Arbeitsumgebungsinstanz (141) zu entschlüsseln, um die entschlüsselten Daten dieser Arbeitsumgebungsinstanz (141) zu erzeugen, und abhängig von den entschlüsselten Daten dieser Arbeitsumgebungsinstanz (141), den einen oder die mehreren Prozesse, die dieser Arbeitsumgebungsinstanz (141) zugeordnet sind, auf der Prozessoreinheit (110) auszuführen, und wobei die Betriebssysteminstanz-Verwaltungsschicht (160) ausgebildet ist, wenn das Überprüfungsergebnis das besagte zweite Resultat aufweist, dem Betriebssystemkern (150) keinen Befehl zu übermitteln, durch den der Betriebssystemkern (150) veranlasst würde, die Daten einer der Arbeitsumgebungsinstanzen (141, 142) zu entschlüsseln.Contraption ( 100 ; 200 ; 300 ) according to one of claims 6 to 8, wherein the device ( 100 ; 200 ; 300 ) further comprises an operating system instance management layer, the operating system instance management layer ( 160 ) is formed, if the check result has said first result, the operating system kernel ( 150 ) one or more commands, causing the kernel ( 150 ), the data of the said work environment instance ( 141 ) to decrypt the decrypted data of this work environment instance ( 141 ) and depending on the decrypted data of that work environment instance ( 141 ), the one or more processes that this work environment instance ( 141 ) assigned to the processor unit ( 110 ) and the operating system instance management layer ( 160 ) is formed, if the check result has the said second result, the operating system kernel ( 150 ) do not convey a command through which the kernel ( 150 ) would cause the data of one of the working environment instances ( 141 . 142 ) to decode. Vorrichtung (100; 200; 300) nach einem der vorherigen Ansprüche, wobei die Vorrichtung (100; 200; 300) dafür eingerichtet ist, wenn das Überprüfungsergebnis das besagte erste Resultat aufweist, die Daten der einen (141) der ein oder mehreren Arbeitsumgebungsinstanzen (141, 142) zu entschlüsseln, um entschlüsselte Daten dieser Arbeitsumgebungsinstanz (141) zu erzeugen, wobei die Vorrichtung (100; 200; 300) ferner dafür ausgelegt ist, eine Hash-Berechnung durchzuführen, die von den entschlüsselten Daten dieser Arbeitsumgebungsinstanz (141) abhängt, um einen berechneten Hash-Wert für diese Arbeitsumgebungsinstanz (141) zu erhalten und wobei die Vorrichtung (100; 200; 300) dafür eingerichtet ist, den berechneten Hash-Wert für diese Arbeitsumgebungsinstanz (141) mit einem gespeicherten Hash-Wert für diese Arbeitsumgebungsinstanz (141) zu vergleichen.Contraption ( 100 ; 200 ; 300 ) according to one of the preceding claims, wherein the device ( 100 ; 200 ; 300 ) is arranged for, if the check result has said first result, the data of the one ( 141 ) of the one or more working environment entities ( 141 . 142 ) to decrypt data of this working environment instance ( 141 ), the device ( 100 ; 200 ; 300 ) is further adapted to perform a hash computation based on the decrypted data of that working environment instance ( 141 ) depends on a calculated hash value for this work environment instance ( 141 ) and wherein the device ( 100 ; 200 ; 300 ) is set up to calculate the calculated hash value for that work environment instance ( 141 ) with a stored hash value for that work environment instance ( 141 ) to compare. Vorrichtung (100; 200; 300) nach Anspruch 2, wobei die Vorrichtung (100; 200; 300) dafür eingerichtet ist, basierend auf der kryptographischen Information, die Daten der Anmeldeinstanz (140) zu entschlüsseln, um entschlüsselte Daten der Anmeldeinstanz (140) zu erzeugen, wobei die Vorrichtung (100; 200; 300) ferner dafür ausgelegt ist, eine Hash-Berechnung durchzuführen, die von den entschlüsselten Daten der Anmeldeinstanz (140) abhängt, um einen berechneten Hash-Wert für die Anmeldeinstanz zu erhalten und wobei die Vorrichtung (100; 200; 300) dafür eingerichtet ist, den berechneten Hash-Wert für die Anmeldeinstanz (140) mit einem gespeicherten Hash-Wert für die Anmeldeinstanz (140) zu vergleichen.Contraption ( 100 ; 200 ; 300 ) according to claim 2, wherein the device ( 100 ; 200 ; 300 ) is set up, based on the cryptographic information, the data of the login instance ( 140 ) to decrypt data of the login instance ( 140 ), the device ( 100 ; 200 ; 300 ) is further adapted to perform a hash computation based on the decoded data of the log-in instance ( 140 ) to obtain a computed hash value for the login instance, and wherein the device ( 100 ; 200 ; 300 ) is set up to calculate the computed hash value for the login instance ( 140 ) with a stored hash value for the login instance ( 140 ) to compare. Vorrichtung (100; 200; 300) nach einem der vorherigen Ansprüche, wobei es sich bei der Vorrichtung (100; 200; 300) um eine Kommunikationseinheit handelt, die ausgelegt ist, an andere Kommunikationseinheiten eines drahtlosen oder drahtgebundenen Netzwerkes Nachrichten zu senden und von diesen anderen Kommunikationseinheiten Nachrichten zu empfangen.Contraption ( 100 ; 200 ; 300 ) according to one of the preceding claims, wherein the device ( 100 ; 200 ; 300 ) is a communication unit designed to send messages to other communication units of a wireless or wired network and to receive messages from these other communication units. Vorrichtung (100; 200; 300) nach einem der Ansprüche 1 bis 11, wobei es sich bei der Vorrichtung (100; 200; 300) um eine mobile Kommunikationseinheit handelt, die ausgelegt ist, an andere Kommunikationseinheiten eines drahtlosen oder drahtgebundenen Netzwerkes Nachrichten zu senden und von diesen anderen Kommunikationseinheiten Nachrichten zu empfangen.Contraption ( 100 ; 200 ; 300 ) according to any one of claims 1 to 11, wherein the device ( 100 ; 200 ; 300 ) is a mobile communication unit configured to send messages to and receive messages from other communication units to other communication units of a wireless or wired network. Vorrichtung (100; 200; 300) nach einem der vorherigen Ansprüche, wobei die Vorrichtung (100; 200; 300) eingerichtet ist, eine erste zu verschlüsselnde Arbeitsumgebungsinstanz (141, 142) der Betriebssysteminstanzen (140, 141, 142) mit einem ersten kryptografischen Schlüssel zu verschlüsseln, wobei die Vorrichtung (100; 200; 300) eingerichtet ist, eine zweite zu verschlüsselnde Arbeitsumgebungsinstanz (141, 142) der Betriebssysteminstanzen (140, 141, 142) mit einem zweiten kryptografischen Schlüssel zu verschlüsseln, und wobei der erste kryptographische Schlüssel und der zweite kryptographische Schlüssel eine unterschiedliche Schlüssellänge aufweisen.Contraption ( 100 ; 200 ; 300 ) according to one of the preceding claims, wherein the device ( 100 ; 200 ; 300 ), a first work environment instance to be encrypted ( 141 . 142 ) of the operating system instances ( 140 . 141 . 142 ) with a first cryptographic key, the device ( 100 ; 200 ; 300 ), a second work environment instance to be encrypted ( 141 . 142 ) of the operating system instances ( 140 . 141 . 142 ) with a second cryptographic key, and wherein the first cryptographic key and the second cryptographic key have a different key length. Vorrichtung (100; 200; 300) nach einem der vorherigen Ansprüche, wobei die Vorrichtung (100; 200; 300) eine Kommunikationseinheit eines Kommunikationsnetzes ist, die dafür ausgebildet ist, eine der Betriebssysteminstanzen (140, 141, 142) der Vorrichtung (100; 200; 300) in dem Kommunikationsnetz an eine andere Kommunikationseinheit des Kommunikationsnetzes zu übertragen.Contraption ( 100 ; 200 ; 300 ) according to one of the preceding claims, wherein the device ( 100 ; 200 ; 300 ) is a communication unit of a communication network that is adapted to one of the operating system instances ( 140 . 141 . 142 ) of the device ( 100 ; 200 ; 300 ) in the communication network to another communication unit of the communication network. System, umfassend: eine Vorrichtung (100; 200; 300) nach einem der Ansprüche 1 bis 15, und ein Informationselement (900), wobei das Informationselement (900) dafür eingerichtet ist, der Schnittstelle (130) der Vorrichtung (100; 200; 300) eine kryptografische Information zu übermitteln, wobei die Vorrichtung (100; 200; 300) dafür eingerichtet ist, basierend auf dieser kryptographischen Information, die Daten der Anmeldeinstanz (140) zu entschlüsseln, um entschlüsselte Daten der Anmeldeinstanz (140) zu erzeugen, und, abhängig von den entschlüsselten Daten der Anmeldeinstanz (140), einen oder mehrere Prozesse, die der Anmeldeinstanz (140) zugeordnet sind, auf der Prozessoreinheit (110) auszuführen, um eine grafische Oberfläche bereitzustellen, die eine Benutzereingabe ermöglicht, wobei die Schnittstelle (130) der Vorrichtung (100; 200; 300) ausgebildet ist, um die Benutzereingabe oder eine Sendenachricht, die von der Benutzereingabe abhängt, an das Informationselement (900) zu übermitteln, wobei das Informationselement (900) ausgebildet ist, einen Vergleich zwischen einer gespeicherten Information und der Empfangsinformation durchzuführen, wobei die Empfangsinformation von der Benutzereingabe oder von der Sendenachricht abhängt, um ein Überprüfungsergebnis zu erhalten, wobei das Überprüfungsergebnis abhängig von dem Vergleich entweder eine erstes Resultat aufweist, oder ein zweites Resultat aufweist, das von dem ersten Resultat verschieden ist, wobei das Informationselement (900) ausgebildet ist, eine Antwortnachricht zu erzeugen und an die Vorrichtung (100; 200; 300) zu übermitteln, wobei die Antwortnachricht das Überprüfungsergebnis umfasst, wobei die Schnittstelle (130) der Vorrichtung (100; 200; 300) dafür eingerichtet ist, die Antwortnachricht zu erhalten, wobei die Vorrichtung (100; 200; 300) dafür eingerichtet ist, wenn das Überprüfungsergebnis das erste Resultat aufweist, die Daten einer (141) der ein oder mehreren Arbeitsumgebungsinstanzen (141, 142) zu entschlüsseln, um entschlüsselte Daten dieser Arbeitsumgebungsinstanz (141) zu erzeugen, und abhängig von den entschlüsselten Daten dieser Arbeitsumgebungsinstanz (141), einen oder mehrere Prozesse, die dieser Arbeitsumgebungsinstanz (141) zugeordnet sind, auf der Prozessoreinheit (110) der Vorrichtung (100; 200; 300) auszuführen, und wobei die Vorrichtung (100; 200; 300) dafür eingerichtet ist, wenn das Überprüfungsergebnis das zweite Resultat aufweist, die Daten keiner der ein oder mehreren Arbeitsumgebungsinstanzen (141, 142) zu entschlüsseln.A system comprising: a device ( 100 ; 200 ; 300 ) according to one of claims 1 to 15, and an information element ( 900 ) the information element ( 900 ) is adapted to the interface ( 130 ) of the device ( 100 ; 200 ; 300 ) to transmit cryptographic information, the device ( 100 ; 200 ; 300 ) is set up, based on this cryptographic information, the data of the login instance ( 140 ) to decrypt data of the login instance ( 140 ) and, depending on the decrypted data of the login instance ( 140 ), one or more processes that the login instance ( 140 ) are assigned to the processor unit ( 110 ) to provide a graphical user interface that allows user input where the interface ( 130 ) of the device ( 100 ; 200 ; 300 ) is adapted to the user input or a send message, which depends on the user input, to the information element ( 900 ), the information element ( 900 ) is adapted to perform a comparison between a stored information and the reception information, wherein the reception information depends on the user input or on the transmission message to obtain a check result, the check result having either a first result or a second result depending on the comparison which is different from the first result, wherein the information element ( 900 ) is adapted to generate a response message and to the device ( 100 ; 200 ; 300 ), the response message comprising the check result, the interface ( 130 ) of the device ( 100 ; 200 ; 300 ) is adapted to receive the response message, the device ( 100 ; 200 ; 300 ) is set up, if the check result has the first result, the data of a ( 141 ) of the one or more working environment entities ( 141 . 142 ) to decrypt data of this working environment instance ( 141 ) and depending on the decrypted data of that work environment instance ( 141 ), one or more processes that this working environment instance ( 141 ) are assigned to the processor unit ( 110 ) of the device ( 100 ; 200 ; 300 ), and wherein the device ( 100 ; 200 ; 300 ) is arranged for, if the check result has the second result, the data of none of the one or more work environment instances ( 141 . 142 ) to decode. System nach Anspruch 16, wobei das Informationselement (900) dafür eingerichtet ist, der Schnittstelle (130) der Vorrichtung (100; 200; 300) einen ersten kryptographischen Schlüssel als kryptografische Information zu übermitteln, wobei die Vorrichtung (100; 200; 300) dafür eingerichtet ist, basierend auf dem kryptographischen Schlüssel, die Daten der Anmeldeinstanz (140) zu entschlüsseln, um entschlüsselte Daten der Anmeldeinstanz (140) zu erzeugen, und, abhängig von den entschlüsselten Daten der Anmeldeinstanz (140), einen oder mehrere Prozesse, die der Anmeldeinstanz (140) zugeordnet sind, auf der Prozessoreinheit (110) der Vorrichtung (100; 200; 300) auszuführen, um eine grafische Oberfläche bereitzustellen, die eine Benutzereingabe ermöglicht, wobei die Vorrichtung (100; 200; 300) dafür eingerichtet ist, die Benutzereingabe zu verschlüsseln, um eine verschlüsselte Benutzereingabe zu erhalten, wobei die Schnittstelle (130) der Vorrichtung (100; 200; 300) ausgebildet ist, um die verschlüsselte Benutzereingabe an das Informationselement (900) zu übermitteln, wobei das Informationselement (900) ausgebildet ist, die verschlüsselte Benutzereingabe zu entschlüsseln, um eine entschlüsselte Benutzereingabe zu erhalten, wobei das Informationselement (900) ausgebildet ist, einen Vergleich zwischen einer gespeicherten PIN und der entschlüsselten Benutzereingabe durchzuführen, wobei das Informationselement (900) ausgebildet ist, eine Antwortnachricht zu erzeugen und an die Schnittstelle (130) der Vorrichtung (100; 200; 300) zu übermitteln, die das Überprüfungsergebnis umfasst, wobei das Überprüfungsergebnis das erste Resultat aufweist, wenn die gespeicherte PIN und die entschlüsselte Benutzereingabe übereinstimmen, und wobei das Überprüfungsergebnis das zweite Resultat aufweist, wenn die gespeicherte PIN und die entschlüsselte Benutzereingabe nicht übereinstimmen.A system according to claim 16, wherein the information element ( 900 ) is adapted to the interface ( 130 ) of the device ( 100 ; 200 ; 300 ) to transmit a first cryptographic key as cryptographic information, the device ( 100 ; 200 ; 300 ) is set up, based on the cryptographic key, the data of the login instance ( 140 ) to decrypt data of the login instance ( 140 ) and, depending on the decrypted data of the login instance ( 140 ), one or more processes that the login instance ( 140 ) are assigned to the processor unit ( 110 ) of the device ( 100 ; 200 ; 300 ) to provide a graphical user interface allowing user input, the device ( 100 ; 200 ; 300 ) is adapted to encrypt the user input in order to obtain an encrypted user input, the interface ( 130 ) of the device ( 100 ; 200 ; 300 ) is adapted to the encrypted user input to the information element ( 900 ), the information element ( 900 ) is adapted to decrypt the encrypted user input in order to obtain a decrypted user input, wherein the information element ( 900 ) is adapted to perform a comparison between a stored PIN and the decrypted user input, wherein the information element ( 900 ) is adapted to generate a response message and to the interface ( 130 ) of the device ( 100 ; 200 ; 300 ), the check result comprising the first result when the stored PIN and the decrypted user input match, and wherein the check result has the second result if the stored PIN and the decrypted user input do not match. Informationselement (900), umfassend: eine Speichereinheit (910), die nichtflüchtigen Speicher umfasst, eine Prozessoreinheit (920), und eine Schnittstelle (930), wobei in dem nichtflüchtigen Speicher der Speichereinheit (910) ein oder mehrere private kryptografische Schlüssel eines oder mehrerer asymmetrischer Schlüsselpaare gespeichert sind, wobei die Schnittstelle (930) ausgebildet ist, einen verschlüsselten kryptographischen Schlüssel oder sonstige Daten zu empfangen, wobei der verschlüsselte kryptografische Schlüssel unter Verwendung des privaten kryptografischen Schlüssels entschlüsselbar ist, wobei die Prozessoreinheit (920) ausgebildet ist, den verschlüsselten kryptographischen Schlüssel oder die sonstigen Daten unter Verwendung des einen oder der mehreren privaten kryptografischen Schlüssel zu entschlüsseln, um einen entschlüsselten kryptographischen Schlüssel oder um entschlüsselte Daten zu erhalten, wobei die Schnittstelle (930) ausgebildet ist, den entschlüsselten kryptographischen Schlüssel oder die entschlüsselten Daten auszugeben, wobei die Schnittstelle (930) ausgebildet ist, eine verschlüsselte PIN, die unter Verwendung des privaten kryptografischen Schlüssels oder der entschlüsselten Daten entschlüsselbar ist, zu empfangen, wobei die Prozessoreinheit (920) ausgebildet ist, die verschlüsselte PIN unter Verwendung des privaten kryptografischen Schlüssels oder der entschlüsselten Daten zu entschlüsseln, um eine entschlüsselte PIN zu erhalten, wobei die Prozessoreinheit (920) ausgebildet ist, die entschlüsselte PIN mit einer gespeicherten PIN zu vergleichen, um ein Überprüfungsergebnis zu erhalten, wobei die gespeicherte PIN in dem nichtflüchtigen Speicher der Speichereinheit (910) gespeichert ist, wobei das Überprüfungsergebnis entweder ein erstes Resultat aufweist, wenn das Überprüfungsergebnis angibt, dass die entschlüsselte PIN und die gespeicherte PIN übereinstimmen, oder ein zweites Resultat aufweist, das von dem ersten Resultat verschieden ist, wenn das Überprüfungsergebnis angibt, dass die entschlüsselte PIN und die gespeicherte PIN nicht übereinstimmen, und wobei die Prozessoreinheit (920) ausgebildet ist, eine Antwortnachricht zu erzeugen, die das Überprüfungsergebnis umfasst, wobei die Schnittstelle (930) ausgebildet ist, die Antwortnachricht auszugeben.Information element ( 900 ), comprising: a memory unit ( 910 ) comprising nonvolatile memories, a processor unit ( 920 ), and an interface ( 930 ), wherein in the non-volatile memory of the memory unit ( 910 ) one or more private cryptographic keys of one or more asymmetric key pairs are stored, where the interface ( 930 ) is adapted to receive an encrypted cryptographic key or other data, wherein the encrypted cryptographic key is decryptable using the private cryptographic key, wherein the processor unit ( 920 ) is adapted to decrypt the encrypted cryptographic key or the other data using the one or more private cryptographic keys to obtain a decrypted cryptographic key or decrypted data, the interface ( 930 ) is adapted to output the decrypted cryptographic key or the decrypted data, the interface ( 930 ) is adapted to receive an encrypted PIN which can be decrypted using the private cryptographic key or the decrypted data, wherein the processor unit ( 920 ) is adapted to decrypt the encrypted PIN using the private cryptographic key or the decrypted data to obtain a decrypted PIN, the processor unit ( 920 ) is adapted to compare the decrypted PIN with a stored PIN to obtain a check result, wherein the stored PIN in the non-volatile memory of the memory unit ( 910 ), the check result having either a first result if the check result indicates that the decrypted PIN and the stored PIN match, or has a second result different from the first result if the check result indicates that the decrypted PIN and the stored PIN do not match, and where the processor unit ( 920 ) is adapted to generate a response message comprising the check result, the interface ( 930 ) is configured to output the response message. System, umfassend: eine erste Vorrichtung (100; 200; 300) nach einem der Ansprüche 1 bis 15, und eine zweite Vorrichtung (100; 200; 300) nach einem der Ansprüche 1 bis 15, wobei die erste Vorrichtung (100; 200; 300) ausgelegt ist, eine der Betriebssysteminstanzen (140, 141, 142) der ersten Vorrichtung (100; 200; 300) von der ersten Vorrichtung (100; 200; 300) zu der zweiten Vorrichtung (100; 200; 300) zu übertragen, und wobei die zweite Vorrichtung (100; 200; 300) ausgelegt ist, die besagte eine der Betriebssysteminstanzen (140, 141, 142) der ersten Vorrichtung (100; 200; 300) von der ersten Vorrichtung (100; 200; 300) zu empfangen.A system comprising: a first device ( 100 ; 200 ; 300 ) according to one of claims 1 to 15, and a second device ( 100 ; 200 ; 300 ) according to one of claims 1 to 15, wherein the first device ( 100 ; 200 ; 300 ), one of the operating system instances ( 140 . 141 . 142 ) of the first device ( 100 ; 200 ; 300 ) from the first device ( 100 ; 200 ; 300 ) to the second device ( 100 ; 200 ; 300 ), and wherein the second device ( 100 ; 200 ; 300 ), the said one of the operating system instances ( 140 . 141 . 142 ) of the first device ( 100 ; 200 ; 300 ) from the first device ( 100 ; 200 ; 300 ) to recieve. Verfahren, umfassend: wenn ein Überprüfungsergebnis ein erstes Resultat aufweist, Entschlüsseln von Daten einer Arbeitsumgebungsinstanz (141) einer oder mehrerer Arbeitsumgebungsinstanzen (141, 142) einer Gruppe von Betriebssysteminstanzen (140, 141, 142), um entschlüsselte Daten dieser Arbeitsumgebungsinstanz (141) zu erzeugen, wobei jede Betriebssysteminstanz (140, 141, 142) der Gruppe der Betriebssysteminstanzen (140, 141, 142) Daten aufweist, wobei die Daten jeder Betriebssysteminstanz (140, 141, 142) der Gruppe der Betriebssysteminstanzen (140, 141, 142) im nichtflüchtigen Speicher einer Speichereinheit (120) verschlüsselt gespeichert sind, und, abhängig von den entschlüsselten Daten der besagten Arbeitsumgebungsinstanz (141), Ausführen von einem oder mehreren Prozessen, die dieser Arbeitsumgebungsinstanz (141) zugeordnet sind, auf einer Prozessoreinheit (110), und wenn das Überprüfungsergebnis ein zweites Resultat aufweist, das von dem ersten Resultat verschieden ist, kein Entschlüsseln der Daten der ein oder mehreren Arbeitsumgebungsinstanzen (141, 142).A method comprising: when a check result has a first result, decrypting data from a working environment instance ( 141 ) one or more working environment instances ( 141 . 142 ) a group of operating system instances ( 140 . 141 . 142 ), decrypted data of this working environment instance ( 141 ), each operating system instance ( 140 . 141 . 142 ) of the group of operating system instances ( 140 . 141 . 142 ) Data, the data of each operating system instance ( 140 . 141 . 142 ) of the group of operating system instances ( 140 . 141 . 142 ) in the non-volatile memory of a memory unit ( 120 ) are stored encrypted, and, depending on the decrypted data of the said work environment instance ( 141 ), Executing one or more processes that this work environment instance ( 141 ) are assigned to a processor unit ( 110 ), and if the check result has a second result different from the first result, no decrypting of the data of the one or more work environment instances ( 141 . 142 ). Computerprogramm mit einem Programmcode zur Durchführung des Verfahrens nach Anspruch 20.Computer program with a program code for carrying out the method according to claim 20.
DE102014209037.7A 2014-05-13 2014-05-13 Apparatus and method for protecting the integrity of operating system instances Pending DE102014209037A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102014209037.7A DE102014209037A1 (en) 2014-05-13 2014-05-13 Apparatus and method for protecting the integrity of operating system instances

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102014209037.7A DE102014209037A1 (en) 2014-05-13 2014-05-13 Apparatus and method for protecting the integrity of operating system instances

Publications (1)

Publication Number Publication Date
DE102014209037A1 true DE102014209037A1 (en) 2015-11-19

Family

ID=54361621

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102014209037.7A Pending DE102014209037A1 (en) 2014-05-13 2014-05-13 Apparatus and method for protecting the integrity of operating system instances

Country Status (1)

Country Link
DE (1) DE102014209037A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110851888A (en) * 2019-10-12 2020-02-28 天津光电聚能专用通信设备有限公司 High-performance security encryption system with double-path heterogeneous function

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110851888A (en) * 2019-10-12 2020-02-28 天津光电聚能专用通信设备有限公司 High-performance security encryption system with double-path heterogeneous function

Similar Documents

Publication Publication Date Title
EP2899714B1 (en) Secure provision of a key
DE102013202001B4 (en) A method of providing a mobile terminal with an authentication certificate
DE112011100514T5 (en) processor security
EP2727277A1 (en) System and method for the secure transmission of data
EP3337085B1 (en) Reloading cryptographic program instructions
DE102013013179A1 (en) Method for operating a security element
EP2442251B9 (en) Individual updating of computer programs
DE112021005862T5 (en) SELF-CHECKING BLOCKCHAIN
DE102016204684A1 (en) Method and device for providing a cryptographic security function for the operation of a device
DE102014209037A1 (en) Apparatus and method for protecting the integrity of operating system instances
EP3248136B1 (en) Method for operating a computer unit with a secure runtime environment, and such a computer unit
EP3105899B1 (en) Method for starting up a production computer system
DE102014213454A1 (en) Method and system for detecting a manipulation of data records
DE102016207339A1 (en) A method for securely interacting a user with a mobile device and another entity
DE102021126509B4 (en) Portable chip device and method for performing a software module update in a portable chip device
DE102012021719A1 (en) Method for preparation of chip implemented or implementable in mobile terminal for secure transmission of data elements to chip from remote server, involves encrypting root key with data key and storing root key on chip in encrypted form
DE102021110766B3 (en) Forensics module and embedded system
DE102015207004A1 (en) Method for protected access to security functions of a security module of a host system
DE102008051578A1 (en) Data communication with a portable device
DE102020202532A1 (en) DEVICES AND METHODS FOR AUTHENTICATION
DE102023110551A1 (en) SECURING A CONTAINER ECOSYSTEM
DE102023116901A1 (en) Certificateless authentication of executable programs
DE102013105950A1 (en) A method for securely operating an encrypted connection between a client system and a server system
DE102019135121A1 (en) METHOD AND DEVICE FOR PROVIDING ADDITIONAL AUTHORIZATION FOR THE PROCESSING OF A CRYPTOGRAPHICALLY SECURED DATA SET FOR A PART OF A GROUP OF TRUSTED MODULES
DE60314815T2 (en) Remote programming method of a mobile phone and system therefor

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication