-
Stand der Technik
-
Die Offenbarung bezieht sich auf ein Verfahren zum Verarbeiten von mit einem Hardware-Sicherheitsmodul einer Recheneinrichtung assoziierten Daten.
-
Die Offenbarung bezieht sich ferner auf eine Vorrichtung zum Verarbeiten von mit einem Hardware-Sicherheitsmodul einer Recheneinrichtung assoziierten Daten.
-
Offenbarung der Erfindung
-
Beispielhafte Ausführungsformen beziehen sich auf ein Verfahren zum Verarbeiten von mit einem Hardware-Sicherheitsmodul einer Recheneinrichtung assoziierten Daten, wobei mehrere Computerprogramme durch die Recheneinrichtung ausführbar sind, aufweisend: Annehmen wenigstens eines Auftrags eines ersten Computerprogramms, beispielsweise der mehreren Computerprogramme, für das Hardware-Sicherheitsmodul, Weiterleiten des wenigstens einen Auftrags des ersten Computerprogramms an das Hardware-Sicherheitsmodul, Annehmen wenigstens eines Auftrags eines zweiten Computerprogramms, beispielsweise der mehreren Computerprogramme, für das Hardware-Sicherheitsmodul, Weiterleiten des wenigstens einen Auftrags des zweiten Computerprogramms an das Hardware-Sicherheitsmodul. Dies ermöglicht bei weiteren beispielhaften Ausführungsformen vorteilhaft eine Verwendung von Funktionen des Hardware-Sicherheitsmoduls durch die mehreren Computerprogramme.
-
Bei weiteren beispielhaften Ausführungsformen stellt das Hardware-Sicherheitsmodul beispielsweise ein oder mehrere Funktionen bezüglich einer Sicherheit bereit, beispielsweise ein oder mehrere kryptografische Funktionen, z.B. Verschlüsseln und/oder Entschlüsseln und/oder Bilden (und/oder Überprüfen) von Signaturen und/oder Bilden von Hashwerten und/oder Bilden (und/oder Überprüfen) von Nachrichtenauthentifizierungscodes, message authentication code, MAC, usw..
-
Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass das Verfahren aufweist: Annehmen eines mit dem wenigstens einen Auftrag des ersten Computerprogramms assoziierten Ergebnisses des Hardware-Sicherheitsmoduls, Weiterleiten des mit dem wenigstens einen Auftrag des ersten Computerprogramms assoziierten Ergebnisses des Hardware-Sicherheitsmoduls an wenigstens eines der mehreren Computerprogramme, beispielsweise an das erste Computerprogramm.
-
Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass das Verfahren aufweist: Annehmen eines mit dem wenigstens einen Auftrag des zweiten Computerprogramms assoziierten Ergebnisses des Hardware-Sicherheitsmoduls, Weiterleiten des mit dem wenigstens einen Auftrag des zweiten Computerprogramms assoziierten Ergebnisses des Hardware-Sicherheitsmoduls an wenigstens eines der mehreren Computerprogramme, beispielsweise an das zweite Computerprogramm.
-
Bei weiteren beispielhaften Ausführungsformen können z.B. die vorstehend beispielhaft genannten Aufträge und/oder Ergebnisse zumindest Teile der mit dem Hardware-Sicherheitsmodul der Recheneinrichtung assoziierten Daten aufweisen.
-
Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass wenigstens eines der folgenden Elemente ereignisgesteuert und/oder prioritätsgesteuert ausgeführt wird: a) das Annehmen des wenigstens einen Auftrags des ersten Computerprogramms, b) das Weiterleiten des wenigstens einen Auftrags des ersten Computerprogramms, c) das Annehmen des wenigstens einen Auftrags des zweiten Computerprogramms, d) das Weiterleiten des wenigstens einen Auftrags des zweiten Computerprogramms, e) das Annehmen des mit dem wenigstens einen Auftrag des ersten Computerprogramms assoziierten Ergebnisses des Hardware-Sicherheitsmoduls, f) das Weiterleiten des mit dem wenigstens einen Auftrag des ersten Computerprogramms assoziierten Ergebnisses des Hardware-Sicherheitsmoduls, g) das Annehmen des mit dem wenigstens einen Auftrag des zweiten Computerprogramms assoziierten Ergebnisses des Hardware-Sicherheitsmoduls, h) das Weiterleiten des mit dem wenigstens einen Auftrag des zweiten Computerprogramms assoziierten Ergebnisses des Hardware-Sicherheitsmoduls.
-
Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass das Verfahren aufweist: Überwachen einer Verwendung von Ressourcen, beispielsweise von mit einer Sicherheit assoziierten Ressourcen, der Recheneinrichtung, beispielsweise des Hardware-Sicherheitsmoduls, beispielsweise durch wenigstens ein Computerprogramm der mehreren Computerprogramme.
-
Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass das Überwachen aufweist: Ermitteln, ob wenigstens ein Computerprogramm der mehreren Computerprogramme, beispielsweise ausschließlich, die dem wenigstens einen Computerprogramm zugewiesenen Ressourcen, beispielsweise Schlüssel, z.B. kryptografische Schlüssel, und/oder Zertifikate, verwendet.
-
Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass das Verfahren aufweist: Steuern eines Betriebs und/oder Einleiten einer Fehlerreaktion basierend auf dem Überwachen und/oder Ermitteln.
-
Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass das Verfahren aufweist: Verwenden eines „Hypervisor Call“-Verfahrens und/oder eines „Trap and Emulate“-Verfahrens, beispielsweise für ein Umleiten des wenigstens einen Auftrags des ersten Computerprogramms und/oder des zweiten Computerprogramms.
-
Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass das Verfahren wenigstens eines der folgenden Elemente aufweist: a) Verwenden mehrerer unterschiedlicher Ausführungsebenen, beispielsweise execution levels, beispielsweise für wenigstens ein Computerprogramm der mehreren Computerprogramme und/oder für ein das Verfahren gemäß den Ansprüchen 1 bis 8 ausführendes Computerprogramm, beispielsweise zum Emulieren eines Zugriffs, beispielsweise wenigstens eines Computerprogramms der mehreren Computerprogramme, beispielsweise auf das Hardware-Sicherheitsmodul, b) Verwenden einer Speicherschutzeinrichtung, beispielsweise für ein Separieren von mittels der Recheneinrichtung ausführbaren Prozessen bzw. Computerprogrammen .
-
Weitere beispielhafte Ausführungsformen beziehen sich auf eine Vorrichtung zur Ausführung des Verfahrens gemäß den Ausführungsformen.
-
Weitere beispielhafte Ausführungsformen beziehen sich auf ein computerlesbares Speichermedium, umfassend Befehle, die bei der Ausführung durch einen Computer diesen veranlassen, das Verfahren gemäß den Ausführungsformen auszuführen.
-
Weitere beispielhafte Ausführungsformen beziehen sich auf ein Computerprogramm, umfassend Befehle, die bei der Ausführung des Programms durch einen Computer diesen veranlassen, das Verfahren gemäß den Ausführungsformen auszuführen.
-
Weitere beispielhafte Ausführungsformen beziehen sich auf ein Datenträgersignal, das das Computerprogramm gemäß den Ausführungsformen überträgt und/oder charakterisiert.
-
Weitere beispielhafte Ausführungsformen beziehen sich auf eine Verwendung des Verfahrens gemäß den Ausführungsformen und/oder der Vorrichtung gemäß den Ausführungsformen und/oder des computerlesbaren Speichermediums gemäß den Ausführungsformen und/oder des Computerprogramms gemäß den Ausführungsformen und/oder des Datenträgersignals gemäß den Ausführungsformen für wenigstens eines der folgenden Elemente: a) Bereitstellen von Funktionen, beispielsweise Security-Funktionalitäten, des Hardware-Sicherheitsmoduls, beispielsweise mehrfach und/oder unabhängig voneinander, für mehrere Computerprogramme, beispielsweise Anwender-Softwares, b) Unterstützen einer Separierung von Prozessen bzw. Computerprogrammen, c) Emulieren einer Funktionalität mehrerer, beispielsweise jeweils wenigstens eine sicherheitsrelevante Funktion, beispielsweise sicheres nichtflüchtiges Speichern, beispielsweise secure flashing, aufweisender, Steuergeräte unter Verwendung der Recheneinrichtung bzw. Vorrichtung, d) Virtualisieren von Funktionen des Hardware-Sicherheitsmoduls, e) Bereitstellen einer, beispielsweise auf der Recheneinrichtung bzw. auf der Vorrichtung, beispielsweise einem Mikrocontroller, basierten Integrationsplattform, beispielsweise zur Integration von mehreren Anwendungen bzw. Anwendungsprogrammen, von denen beispielsweise wenigstens zwei Anwendungsprogramme Zugriff auf wenigstens eine, beispielsweise virtualisierte, Funktion des Hardware-Sicherheitsmoduls benötigen.
-
Weitere Merkmale, Anwendungsmöglichkeiten und Vorteile der Erfindung ergeben sich aus der nachfolgenden Beschreibung von Ausführungsbeispielen der Erfindung, die in den Figuren der Zeichnung dargestellt sind. Dabei bilden alle beschriebenen oder dargestellten Merkmale für sich oder in beliebiger Kombination den Gegenstand der Erfindung, unabhängig von ihrer Zusammenfassung in den Ansprüchen oder deren Rückbeziehung sowie unabhängig von ihrer Formulierung bzw. Darstellung in der Beschreibung bzw. in der Zeichnung.
-
In der Zeichnung zeigt:
- 1 schematisch ein vereinfachtes Flussdiagramm gemäß beispielhaften Ausführungsformen,
- 2 schematisch ein vereinfachtes Blockdiagramm gemäß beispielhaften Ausführungsformen,
- 3 schematisch ein vereinfachtes Flussdiagramm gemäß beispielhaften Ausführungsformen,
- 4 schematisch ein vereinfachtes Flussdiagramm gemäß beispielhaften Ausführungsformen,
- 5 schematisch ein vereinfachtes Flussdiagramm gemäß beispielhaften Ausführungsformen,
- 6 schematisch ein vereinfachtes Blockdiagramm gemäß beispielhaften Ausführungsformen,
- 7 schematisch ein vereinfachtes Blockdiagramm gemäß beispielhaften Ausführungsformen,
- 8 schematisch ein vereinfachtes Blockdiagramm gemäß beispielhaften Ausführungsformen,
- 9 schematisch ein vereinfachtes Blockdiagramm gemäß beispielhaften Ausführungsformen,
- 10 schematisch Aspekte von Verwendungen gemäß beispielhaften Ausführungsformen.
-
Beispielhafte Ausführungsformen, vgl. 1, 2, beziehen sich auf ein Verfahren zum Verarbeiten von mit einem Hardware-Sicherheitsmodul 12 (2) einer Recheneinrichtung 10 (6) assoziierten Daten, wobei mehrere Computerprogramme ASW1, ASW2 (2) durch die Recheneinrichtung ausführbar sind, aufweisend: Annehmen 100 (1) wenigstens eines Auftrags ASW1-A eines ersten Computerprogramms ASW1 (2), beispielsweise der mehreren Computerprogramme ASW1, ASW2, für das Hardware-Sicherheitsmodul 12, Weiterleiten 102 des wenigstens einen Auftrags ASW1-A des ersten Computerprogramms ASW1 an das Hardware-Sicherheitsmodul 12, Annehmen 104 wenigstens eines Auftrags ASW2-A eines zweiten Computerprogramms ASW2, beispielsweise der mehreren Computerprogramme, für das Hardware-Sicherheitsmodul 12, Weiterleiten 106 des wenigstens einen Auftrags ASW2-A des zweiten Computerprogramms ASW2 an das Hardware-Sicherheitsmodul 12. Dies ermöglicht bei weiteren beispielhaften Ausführungsformen vorteilhaft eine Verwendung von Funktionen des Hardware-Sicherheitsmoduls 12 durch die mehreren Computerprogramme.
-
Bei weiteren beispielhaften Ausführungsformen können ein oder mehrere der vorstehend beispielhaft genannten Schritte 100, 102, 104, 106 beispielsweise durch den Block B1 gemäß 2 ausgeführt werden, der bei weiteren beispielhaften Ausführungsformen beispielsweise durch ein (weiteres) Computerprogramm realisierbar ist, das bei weiteren beispielhaften Ausführungsformen z.B. auch durch die Recheneinrichtung 10 ausführbar ist.
-
Bei weiteren beispielhaften Ausführungsformen stellt das Hardware-Sicherheitsmodul 12 beispielsweise ein oder mehrere Funktionen bezüglich einer Sicherheit bereit, beispielsweise ein oder mehrere kryptografische Funktionen, z.B. Verschlüsseln und/oder Entschlüsseln und/oder Bilden (und/oder Überprüfen) von Signaturen und/oder Bilden von Hashwerten und/oder Bilden (und/oder Überprüfen) von Nachrichtenauthentifizierungscodes, message authentication code, MAC, usw..
-
Bei weiteren beispielhaften Ausführungsformen, 3, ist vorgesehen, dass das Verfahren aufweist: Annehmen 110 eines mit dem wenigstens einen Auftrag ASW1-A (1, 2) des ersten Computerprogramms ASW1 assoziierten Ergebnisses ASW1-E des Hardware-Sicherheitsmoduls 12, Weiterleiten 112 des mit dem wenigstens einen Auftrag des ersten Computerprogramms assoziierten Ergebnisses ASW1-E des Hardware-Sicherheitsmoduls 12 an wenigstens eines der mehreren Computerprogramme, beispielsweise an das erste Computerprogramm ASW1.
-
Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass das Verfahren aufweist: Annehmen 114 eines mit dem wenigstens einen Auftrag ASW2-A des zweiten Computerprogramms ASW2 assoziierten Ergebnisses ASW2-E des Hardware-Sicherheitsmoduls 12, Weiterleiten 116 des mit dem wenigstens einen Auftrag des zweiten Computerprogramms assoziierten Ergebnisses ASW2-E des Hardware-Sicherheitsmoduls 12 an wenigstens eines der mehreren Computerprogramme, beispielsweise an das zweite Computerprogramm ASW2.
-
Bei weiteren beispielhaften Ausführungsformen kann es sich bei dem wenigstens einen Auftrag ASW1-A des ersten Computerprogramms ASW1 um einen Auftrag an das Hardware-Sicherheitsmoduls 12 zur Bildung eines ersten Hashwerts, beispielsweise zur Verwendung durch das erste Computerprogramm ASW1, handeln, und bei dem zugehörigen Ergebnis ASW1-E kann es sich z.B. um den gebildeten Hashwert handeln.
-
Bei weiteren beispielhaften Ausführungsformen kann es sich bei dem wenigstens einen Auftrag ASW2-A des zweiten Computerprogramms ASW2 um einen Auftrag an das Hardware-Sicherheitsmoduls 12 zur Bildung eines zweiten Hashwerts, beispielsweise zur Verwendung durch das zweite Computerprogramm ASW2, handeln, und bei dem zugehörigen Ergebnis ASW2-E kann es sich z.B. um den gebildeten Hashwert handeln.
-
Bei weiteren beispielhaften Ausführungsformen kann das erste Computerprogramm ASW1 z.B. eine erste durch die Recheneinrichtung 10 ausführbare Anwendersoftware sein, und das zweite Computerprogramm ASW2 z.B. eine zweite durch die Recheneinrichtung 10 ausführbare Anwendersoftware.
-
Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass wenigstens eines der folgenden Elemente ereignisgesteuert und/oder prioritätsgesteuert ausgeführt wird: a) das Annehmen 100 (1) des wenigstens einen Auftrags ASW1-A des ersten Computerprogramms ASW1, b) das Weiterleiten 102 des wenigstens einen Auftrags ASW1-A des ersten Computerprogramms ASW1, c) das Annehmen 104 des wenigstens einen Auftrags ASW2-A des zweiten Computerprogramms ASW2, d) das Weiterleiten 106 des wenigstens einen Auftrags ASW2-A des zweiten Computerprogramms ASW2, e) das Annehmen 110 (3) des mit dem wenigstens einen Auftrag ASW1-A des ersten Computerprogramms ASW1 assoziierten Ergebnisses ASW1-E des Hardware-Sicherheitsmoduls 12, f) das Weiterleiten 112 des mit dem wenigstens einen Auftrag des ersten Computerprogramms assoziierten Ergebnisses ASW1-E des Hardware-Sicherheitsmoduls 12, g) das Annehmen 114 des mit dem wenigstens einen Auftrag ASW2-A des zweiten Computerprogramms ASW2 assoziierten Ergebnisses ASW2-E des Hardware-Sicherheitsmoduls 12, h) das Weiterleiten 116 des mit dem wenigstens einen Auftrag des zweiten Computerprogramms assoziierten Ergebnisses ASW2-E des Hardware-Sicherheitsmoduls 12.
-
Bei weiteren beispielhaften Ausführungsformen können manche der vorstehend genannten Elemente 100, 102, .., 116 zumindest zeitweise ereignisgesteuert und/oder manche, z.B. manche andere der vorstehend genannten Elemente 100, 102, .., 116, zumindest zeitweise prioritätsgesteuert ausgeführt werden.
-
Bei weiteren beispielhaften Ausführungsformen, 4, ist vorgesehen, dass das Verfahren aufweist: Überwachen 120 einer Verwendung RES-VERW von Ressourcen, beispielsweise von mit einer Sicherheit assoziierten Ressourcen, der Recheneinrichtung 10, beispielsweise des Hardware-Sicherheitsmoduls 12, beispielsweise durch wenigstens ein Computerprogramm ASW1, ASW2 der mehreren Computerprogramme. Damit kann z.B. ermittelt werden, welches der Computerprogramme ASW1, ASW2 welche Ressourcen verwendet.
-
Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass das Überwachen 120 aufweist: Ermitteln 120a, ob wenigstens ein Computerprogramm ASW1 der mehreren Computerprogramme ASW1, ASW2, beispielsweise ausschließlich, die dem wenigstens einen Computerprogramm ASW1 zugewiesenen Ressourcen, beispielsweise Schlüssel, z.B. kryptografische Schlüssel, und/oder Zertifikate, verwendet (oder z.B. ggf. auch weitere, nicht dem wenigstens einen Computerprogramm ASW1 zugewiesene Ressourcen).
-
Bei weiteren beispielhaften Ausführungsformen ist vorgesehen, dass das Verfahren aufweist: Steuern 122 eines Betriebs und/oder Einleiten einer Fehlerreaktion basierend auf dem Überwachen 120 und/oder Ermitteln 120a.
-
Bei weiteren beispielhaften Ausführungsformen, 5, ist vorgesehen, dass das Verfahren aufweist: Verwenden 130 eines „Hypervisor Call“-Verfahrens und/oder eines „Trap and Emulate“-Verfahrens, beispielsweise für ein Umleiten des wenigstens einen Auftrags ASW1-A, ASW2-A des ersten Computerprogramms ASW1 und/oder des zweiten Computerprogramms ASW2, z.B. für ein Umleiten an das Computerprogramm B1 (2), das die Aufträge an das Hardware-Sicherheitsmodul 12 weiterleitet. Der optionale Block 132 gemäß 5 symbolisiert einen Betrieb der Computerprogramme ASW1, ASW2, z.B. basierend auf dem Umleiten 130.
-
Bei weiteren beispielhaften Ausführungsformen, 9, ist vorgesehen, dass das Verfahren wenigstens eines der folgenden Elemente aufweist: a) Verwenden 140 mehrerer unterschiedlicher Ausführungsebenen, beispielsweise execution levels, beispielsweise für wenigstens ein Computerprogramm ASW1, ASW2 der mehreren Computerprogramme und/oder für ein das Verfahren gemäß den Ausführungsformen ausführendes Computerprogramm B1 (2), beispielsweise zum Emulieren 140a eines Zugriffs, beispielsweise wenigstens eines Computerprogramms ASW1 der mehreren Computerprogramme, beispielsweise auf das Hardware-Sicherheitsmodul 12, b) Verwenden 142 einer Speicherschutzeinrichtung, beispielsweise für ein Separieren 142a von mittels der Recheneinrichtung 10 ausführbaren Prozessen bzw. Computerprogrammen ASW1, ASW2, PRG-SP (6).
-
Weitere beispielhafte Ausführungsformen, 6, beziehen sich auf eine Vorrichtung 200 zur Ausführung des Verfahrens gemäß den Ausführungsformen.
-
Die Vorrichtung 200 weist eine mehrere Rechenkerne 202a, 202b, 202c aufweisende Recheneinrichtung („Computer“) 202 und eine der Recheneinrichtung 202 zugeordnete Speichereinrichtung 204 zur zumindest zeitweisen Speicherung wenigstens eines der folgenden Elemente auf: a) Daten DAT, b) Computerprogramm(e) PRG, insbesondere zur Ausführung eines Verfahrens gemäß den Ausführungsformen.
-
Bei weiteren beispielhaften Ausführungsformen kann auch die Vorrichtung 200 als „Recheneinrichtung“ 10 bezeichnet werden.
-
Bei weiteren beispielhaften Ausführungsformen weisen die Computerprogramm(e) PRG wenigstens eines der folgenden Elemente auf: erste Anwendungs-Software ASW1, zweite Anwendungs-Software ASW2, ein zur Ausführung des Verfahrens gemäß den Ausführungsformen ausgebildetes Computerprogramm PRG-SP, s. auch Block B1 gemäß 2.
-
Bei weiteren beispielhaften Ausführungsformen kann das zur Ausführung des Verfahrens gemäß den Ausführungsformen ausgebildete Computerprogramm PRG-SP z.B. auch als „Sicherheits-Proxy“ bezeichnet werden, weil es z.B. für eine Virtualisierung bzw. Weiterleitung von Anfragen der Anwendungs-Software ASW1, ASW2 an das Hardware-Sicherheitsmodul 12 verwendbar ist.
-
Bei weiteren beispielhaften Ausführungsformen kann z.B. ein Rechenkern 202c als Hardware-Sicherheitsmodul 12 ausgebildet sein bzw. zumindest einen Teil des Hardware-Sicherheitsmoduls 12 bilden. Bei weiteren beispielhaften Ausführungsformen können die weiteren Rechenkerne 202a, 202b z.B. zur Ausführung der Anwendungs-Software ASW1, ASW2 ausgebildet sein.
-
Bei weiteren beispielhaften Ausführungsformen kann das Computerprogramm PRG-SP, z.B. ebenso wie die Anwendungs-Software ASW1, ASW2, durch einen oder mehrere Rechenkerne 202a, 202b der Vorrichtung 10, 200 ausgeführt werden.
-
Bei weiteren beispielhaften Ausführungsformen weist die Speichereinrichtung 204 einen flüchtigen Speicher 204a (z.B. Arbeitsspeicher (RAM)) auf, und/oder einen nichtflüchtigen Speicher 204b (z.B. Flash-EEPROM).
-
Bei weiteren beispielhaften Ausführungsformen weist die Recheneinrichtung 202 wenigstens eines der folgenden Elemente auf: Mikroprozessor (µP), Mikrocontroller (µC), anwendungsspezifischer integrierter Schaltkreis (ASIC), System on Chip (SoC), programmierbarer Logikbaustein (z.B. FPGA, field programmable gate array), Hardwareschaltung (z.B. gemäß 7), oder beliebige Kombinationen hieraus.
-
Weitere beispielhafte Ausführungsformen beziehen sich auf ein computerlesbares Speichermedium SM, umfassend Befehle PRG, die bei der Ausführung durch einen Computer 202 diesen veranlassen, das Verfahren gemäß den Ausführungsformen auszuführen.
-
Weitere beispielhafte Ausführungsformen beziehen sich auf ein Computerprogramm PRG, PRG-SP, B1 (2), umfassend Befehle, die bei der Ausführung des Programms PRG, PRG-SP, B1 durch einen Computer 202 diesen veranlassen, das Verfahren gemäß den Ausführungsformen auszuführen.
-
Weitere beispielhafte Ausführungsformen beziehen sich auf ein Datenträgersignal DCS, das das Computerprogramm PRG, PRG-SP, B1 gemäß den Ausführungsformen charakterisiert und/oder überträgt. Das Datenträgersignal DCS ist beispielsweise über eine optionale Datenschnittstelle 206 der Vorrichtung 200 übertragbar, z.B. empfangbar, z.B. ebenso wie mit dem Hardware-Sicherheitsmodul 12 der Recheneinrichtung 10 assoziierte Daten D.
-
Block 208 symbolisiert eine optionale Speicherschutzeinrichtung, die bei weiteren beispielhaften Ausführungsformen beispielsweise für das Separieren 142a ( 9) von mittels der Recheneinrichtung 10, 202 ausführbaren Prozessen bzw. Computerprogrammen ASW1, ASW2 verwendbar ist.
-
7 zeigt schematisch ein vereinfachtes Blockdiagramm gemäß weiteren beispielhaften Ausführungsformen. Block B10 symbolisiert eine erste Partition der z.B. als Mikrocontroller bzw. eingebettetes System ausgebildeten Vorrichtung 10, 200 (6), die z.B. mit einer ersten Anwender-Software ASW1 assoziiert ist, Block B11 symbolisiert eine weitere Partition der Vorrichtung 10, 200 (6), die z.B. mit einem Computerprogramm PRG-SP zur Ausführung des Verfahrens gemäß den Ausführungsformen, z.B. mit einem Security Proxy PRG-SP, assoziiert ist, und Block B12 symbolisiert eine weitere Partition der Vorrichtung 10, 200 (6), die z.B. mit einer zweiten Anwender-Software ASW2 assoziiert ist. Block B13 symbolisiert einen optionalen Partition-Manager, und Block 14 symbolisiert ein Hardware-Sicherheitsmodul.
-
Bei weiteren beispielhaften Ausführungsformen ist der Partition-Manager B13 dazu ausgebildet, einen Datenaustausch zwischen den Blöcken B10, B11, B12, B14 zu ermöglichen. Doppelpfeil A1 symbolisiert beispielhaft einen Datenaustausch zwischen Block B10 und Block B11, Doppelpfeil A2 symbolisiert beispielhaft einen Datenaustausch zwischen Block B12 und Block B11, und Doppelpfeil A3 symbolisiert beispielhaft einen Datenaustausch zwischen Block B11 und Block B14.
-
Beispielhaft kann es sich bei dem Datenaustausch A1, A2 jeweils z.B. um Hypervisor-Aufrufe handeln, und bei dem Datenaustausch A3 kann es sich z.B. um einen physischen Datenaustausch bzw. Zugriff von der Partition B11 auf das Hardware-Sicherheitsmodul B14 (und/oder umgekehrt) handeln.
-
Bei weiteren beispielhaften Ausführungsformen werden die mit den Blöcken B10, B11, B12 assoziierten Computerprogramme ASW1, PRG-SP, ASW2 in einer ersten Ausführungsebene (z.B. execution level) z.B. der Vorrichtung 10, 200 ( 6) ausgeführt, wohingegen der Partition-Manager B13 in einer zweiten Ausführungsebene ausgeführt wird, die z.B. höher ist als die erste Ausführungsebene. Mögliche Ausführungsebenen sind bei weiteren beispielhaften Ausführungsformen z.B. „User“, „Super User“, und „Hypervisor (level)“.
-
8 zeigt schematisch ein vereinfachtes Blockdiagramm gemäß weiteren beispielhaften Ausführungsformen, das eine zu 7 ähnliche Konfiguration aufweist. Die Elemente B10', B11', B12', B13', B14', A1', A2', A3' gemäß 8 entsprechen bei manchen beispielhaften Ausführungsformen beispielsweise zumindest in etwa den Elementen B10', B11', B12', B13', B14', A1, A2, A3 gemäß 7.
-
Block B15 gemäß 8 symbolisiert eine der Partition B10' zugeordnete Treibersoftware, die z.B. zur Erstellung von Aufträgen ASW1-A für das Hardware-Sicherheitsmodul B14' und/oder zum Empfangen von Ergebnissen ASW1-E von dem Hardware-Sicherheitsmodul B14' ausgebildet ist, wobei der diesbezügliche Datenaustausch beispielhaft nicht direkt zwischen den Blöcken B10', B14' erfolgt, sondern z.B. jeweils zwischen den Blöcken B10', B11' (Datenaustausch A1') und B11', B14' (Datenaustausch A3').
-
Block B16 gemäß 8 symbolisiert eine der Partition B12' zugeordnete Treibersoftware, die z.B. zur Erstellung von Aufträgen ASW2-A für das Hardware-Sicherheitsmodul B14' und/oder zum Empfangen von Ergebnissen ASW2-E von dem Hardware-Sicherheitsmodul B14' ausgebildet ist, wobei der diesbezügliche Datenaustausch beispielhaft nicht direkt zwischen den Blöcken B12', B14' erfolgt, sondern z.B. jeweils zwischen den Blöcken B12', B11' (Datenaustausch A2') und B11', B14' (Datenaustausch A3').
-
Die Blöcke B15a, B16a, B17 symbolisieren jeweils z.B. für den Datenaustausch A1', A2', A3' vorgesehene Speicherbereiche, beispielsweise aufweisend ein oder mehrere Speicherregister, wobei der Sicherheits-Proxy PRG-SP beispielsweise eine Mehrzahl solcher Speicherbereiche aufweisen kann (in 8 beispielhaft durch eine Tabelle B17 symbolisiert), von denen jeder z.B. einer anderen Partition B10', B12' bzw. einer jeweiligen Anwendungs-Software ASW1, ASW2 zugeordnet ist.
-
Der Block B14'a symbolisiert eine optionale Firmware des Hardware-Sicherheitsmoduls B14', und der Block B14'b symbolisiert weitere für den Datenaustausch A3' nutzbare Speicherbereiche, beispielsweise sog. bridge register(s).
-
Das Prinzip gemäß den Ausführungsformen ermöglicht vorteilhaft eine Emulation von Zugriffen z.B. durch die Anwender-Software ASW1, ASW2 auf das Hardware-Sicherheitsmodul 12, B14, B14', wodurch z.B. durch das Hardware-Sicherheitsmodul 12, B14, B14' bereitstellbare Funktionen bzw. Funktionalitäten mehrfach, z.B. für die jeweilige Anwender-Software ASW1, ASW2, und z.B. getrennt voneinander bezüglich der jeweiligen Anwender-Software ASW1, ASW2, bereitstellbar sind, was bei weiteren beispielhaften Ausführungsformen auch als „quasi-Virtualisierung“ bezeichnet werden kann. Vorteilhaft kann eine (z.B. einzige) physikalische Hardware-Schnittstelle zwischen dem Hardware-Sicherheitsmodul 12, B14, B14' und z.B. den weiteren Rechenkernen 202a, 202b verwendet werden, wobei Aufgaben für das Hardware-Sicherheitsmodul 12, B14, B14' z.B. gemäß den Ausführungsformen (s. z.B. 1) von mehreren Programmen ASW1, ASW2 empfangbar und an das Hardware-Sicherheitsmodul 12, B14, B14' weiterleitbar sind. Dadurch können Kosten gespart werden. Für eine Übertragung von Ergebnissen des Hardware-Sicherheitsmoduls 12, B14, B14' an die jeweiligen Programme ASW1, ASW2 bzw. Partitionen B10, B12 gilt Entsprechendes.
-
Weitere beispielhafte Ausführungsformen, 10, beziehen sich auf eine Verwendung 300 des Verfahrens gemäß den Ausführungsformen und/oder der Vorrichtung 10, 200 gemäß den Ausführungsformen und/oder des computerlesbaren Speichermediums SM gemäß den Ausführungsformen und/oder des Computerprogramms PRG, PRG-SP, B1 gemäß den Ausführungsformen und/oder des Datenträgersignals DCS gemäß den Ausführungsformen für wenigstens eines der folgenden Elemente: a) Bereitstellen 302 von Funktionen, beispielsweise Security-Funktionalitäten, des Hardware-Sicherheitsmoduls 12, beispielsweise mehrfach und/oder unabhängig voneinander, für mehrere Computerprogramme, beispielsweise Anwender-Softwares ASW1, ASW2, b) Unterstützen 304 einer Separierung von Prozessen bzw. Computerprogrammen ASW1, ASW2, c) Emulieren 306 einer Funktionalität mehrerer, beispielsweise jeweils wenigstens eine sicherheitsrelevante Funktion, beispielsweise sicheres nichtflüchtiges Speichern, beispielsweise secure flashing, aufweisender, Steuergeräte unter Verwendung der Recheneinrichtung 10 bzw. Vorrichtung 200, d) Virtualisieren 308 von Funktionen des Hardware-Sicherheitsmoduls 12, e) Bereitstellen 310 einer, beispielsweise auf der Recheneinrichtung 10 bzw. auf der Vorrichtung 200, beispielsweise einem Mikrocontroller, basierten Integrationsplattform, beispielsweise zur Integration von mehreren Anwendungen bzw. Anwendungsprogrammen ASW1, ASW2, von denen beispielsweise wenigstens zwei Anwendungsprogramme Zugriff auf wenigstens eine, beispielsweise virtualisierte, Funktion des Hardware-Sicherheitsmoduls 12 benötigen.