-
HINTERGRUND
-
Gebiet der Erfindung
-
Die vorliegende Erfindung bezieht sich auf ein System und ein Verfahren zur Durchführung von Trusted Computing mit Fernbescheinigung und Informationsisolierung auf heterogenen Prozessoren über offene Verbindungen. Die vorliegende Erfindung bezieht sich insbesondere auf eine sichere Trusted Computing-Architektur und ein entsprechendes Betriebsverfahren. Die vorliegende Erfindung betrifft die Sicherstellung der Authentizität, Vertraulichkeit und Integrität der ausgeführten Programme, der Analysemodelle und der verarbeiteten Daten, die von heterogenen Verarbeitungseinheiten wie Grafikprozessoren (GPU), Neuralprozessoren (NPU) und Videoprozessoreinheiten (VPU) usw. genutzt werden, die über offene Standardverbindungen wie Ethernet, USB und SPI usw. mit der zentralen Verarbeitungseinheit (CPU) verbunden sind.
-
Beschreibung des Standes der Technik
-
In einer Studie wurde die Idee vorgeschlagen, eine Domäne mit spezifischen Zugriffsrechten zum Schutz eines Clusters heterogener Prozessoren zu schaffen. Dieser Vorschlag erfordert jedoch das Hardware-Design eines spezifischen Network-on-Chip (NoC), das als NoC-Firewall bezeichnet wird. In der vorliegenden Erfindung wurde dieses Erfordernis durch die Einrichtung einer statischen Verbindung zwischen einem Cluster von zentralen Verarbeitungseinheiten und einer heterogenen Verarbeitungseinheit verringert. Diese einfachere (und restriktivere) Ausführung macht jede Hardwareänderung unnötig und ist daher für bestehende eingebettete Systeme zugänglicher. In einer Studie wurde die Idee vorgeschlagen, drei verschiedene Ausführungsumgebungen zur Ausführung von kritischen, vertrauenswürdigen und nicht vertrauenswürdigen Anwendungen einzurichten. Dieser Vorschlag erforderte jedoch wiederum die Verwendung eines spezifischen Network-on-Chip, das als „write once, read many-NoC“ bezeichnet wird, so dass die Prozessoren frei verschiedenen Ausführungsumgebungen zugeordnet werden können. Durch die Zuordnung bestimmter Prozessoren in einem Multiprozessorsystem zu den einzelnen Ausführungsumgebungen vereinfacht die vorliegende Erfindung die Mechanismen für die Informationsisolierung und vermeidet somit die Verwendung spezieller On-Chip-Hardware.
-
ZUSAMMENFASSUNG
-
Die vorliegende Erfindung offenbart sowohl die Computerarchitektur als auch den Computerbetrieb, die die Authentizität, Vertraulichkeit und Integrität der ausgeführten Programme, der verwendeten Modelle für Deep Learning (DL) / maschinelles Lernen (ML) und der Daten sicherstellen können, die von den heterogenen Verarbeitungseinheiten verarbeitet werden - abgekürzt als XPUs, wobei sich „X“ auf die verschiedenen Arten spezieller Verarbeitungseinheiten bezieht - unter anderem Grafikprozessoren (GPU), Neuralprozessoren (NPU), Tensor-Prozessoren (TPU) und Videoverarbeitungseinheiten (VPU), die über offene Standardverbindungen, unter anderem Ethernet, PCI, USB und SPI, ohne die Verwendung von Hardware-Speicherverwaltungseinheiten (MMU) oder Buszuteilungs-/Multiplexing-Einheiten (BAU) zur Erzwingung der Informationsisolierung, mit den zentralen Verarbeitungseinheiten (CPU) verbunden sind.
-
Die offenbarte Computerarchitektur und der offenbarte Computerbetrieb ermöglichen die Ausführung von Trusted Computing sowohl auf der XPU als auch auf der CPU mit dem Schutz der Informationsisolierung bei den Rechenaufgaben und der Unterstützung der Fernbescheinigung der Ausführungszustände der CPU und der XPU. Somit können verschiedene Rechenaufgaben auf diesen Verarbeitungseinheiten mit der Sicherstellung der Authentizität, Vertraulichkeit und Integrität ihrer Programme, DL/ML-Modelle und Daten ausgeführt werden.
-
Die vorliegende Erfindung offenbart zunächst ein Computerbetriebsverfahren zur Einrichtung einer vertrauenswürdigen normalen Ausführungsumgebung (engl. Trusted Rich Execution Environment, T-REE) in einer virtuellen Maschine (VM), die in einem ungeschützten Bereich auf der Systemhardwareplattform instanziiert ist, die aus einer oder mehreren dedizierten CPUs und einem dedizierten Bereich im gemeinsamen Speicher besteht, die über einen gemeinsamen Bus verbunden sind. Mit den Sicherheitsdiensten, die von einer vertrauenswürdigen Ausführungsumgebung (engl. Trusted Execution Environment, TEE) bereitgestellt werden, die in einem geschützten Bereich auf der Systemhardwareplattform eingerichtet ist, der aus einer oder mehreren dedizierten CPUs, einem Kryptoprozessor und einem geschützten Bereich im Speicher besteht, bietet die T-REE Authentizitäts-, Vertraulichkeits- und Integritätsschutz für die Programme, Modelle und Daten, die in der T-REE verarbeitet werden, um sie von den Programmen zu isolieren, die in den anderen T-REEs, die in ähnlicher Weise eingerichtet sind, und in den normalen Ausführungsumgebungen (engl. Rich Execution Environments, REE) verarbeitet werden, die ohne die Sicherheitsunterstützung durch die TEE arbeiten.
-
Die vorliegende Erfindung offenbart auch ein Computerbetriebsverfahren zur Erweiterung des von der T-REE gebotenen Schutzes der Informationsisolierung, der in der dedizierten CPU eingerichtet ist, so dass die XPU einbezogen ist, die über die offene Verbindung mit der CPU verbunden ist, nachdem eine gegenseitige Authentifizierung sowie eine erfolgreiche Einrichtung von sicheren Kommunikationskanälen zwischen der CPU und der XPU durch ihre zugehörigen Kryptoprozessoren erfolgreich abgeschlossen wurde.
-
Die vorliegende Erfindung offenbart auch ein Computerbetriebsverfahren zur Durchführung einer Fernbescheinigung der Ausführungszustände der XPU unter Verwendung ihres zugehörigen Kryptoprozessors und über die sichere Kommunikation, die zwischen der XPU und der dedizierten CPU in der T-REE eingerichtet ist.
-
Die vorliegende Erfindung setzt voraus, dass das Rechensystem zwei Kryptoprozessoren installiert und einen den dedizierten CPUs und den anderen der XPU zuordnet. Die beiden Kryptoprozessoren müssen die folgenden Sicherheitsfunktionen erfüllen können: (1) sicheres Booten von Software, die in der TEE und der T-REE ausgeführt wird; (2) gegenseitige Authentifizierung zwischen der dedizierten CPU und der XPU; (3) sichere Kommunikation, die einen Schutz der Authentifizierung der Datenherkunft, der Datenvertraulichkeit und der Datenintegrität zwischen der dedizierten CPU und der XPU bietet.
-
Die vorliegende Erfindung setzt außerdem voraus, dass das Rechensystem standardmäßig in der Lage ist, die Betriebssystemfunktionen der Prozessor- und Interrupt-Affinität für den Informationsaustausch über die offene Verbindung zwischen der XPU und der CPU durchzusetzen, so dass dieser Informationsaustausch an die dedizierte CPU des T-REE geleitet wird. Diese Fähigkeit ist ein Standardmerkmal von Betriebssystemen.
-
Die vorliegende Erfindung setzt außerdem voraus, dass das Rechensystem standardmäßig in der Lage ist, den sicheren Informationsaustausch zwischen der dedizierten CPU in der T-REE und der dedizierten CPU in der TEE, die über den Kryptoprozessor verfügt, zu unterstützen. Diese Fähigkeit ist ein grundlegendes Merkmal der GlobalPlatform-TEE-Standardspezifikation.
-
Es versteht sich, dass sowohl die vorangehende allgemeine Beschreibung als auch die folgende ausführliche Beschreibung Beispiele sind und der weiteren Erläuterung der beanspruchten Erfindung dienen.
-
Figurenliste
-
Ein besseres Verständnis der Erfindung ergibt sich beim Lesen der nachfolgenden ausführlichen Beschreibung der Ausführungsform unter Bezugnahme auf die beigefügten Zeichnungen. Darin zeigen:
- 1 eine schematische Darstellung, die eine funktionale Architektur des heterogenen Rechensystems mit einem Host-Computer-Subsystem, einem heterogenen Computer-Subsystem und der die beiden Subsysteme verbindenden offenen Verbindung zeigt.
- 2 eine schematische Darstellung, die eine Softwarearchitektur des heterogenen Rechensystems veranschaulicht, insbesondere die drei verschiedenen Ausführungsumgebungen: die vertrauenswürdige Ausführungsumgebung (TEE), die vertrauenswürdige normale Ausführungsumgebung (T-REE) und den erweiterten Bereich der T-REE, zusammen mit der Hardwareplattform und dem Hypervisor.
- 3 ein Flussdiagramm, das eine Boot-Sequenz zur Instanziierung der vertrauenswürdigen Ausführungsumgebung (TEE) und der vertrauenswürdigen normalen Ausführungsumgebung (T-REE) nach dem Hochfahren oder Zurücksetzen des Systems sowie die Erweiterung des T-REE-Bereichs auf die XPU nach erfolgreichem Abschluss der gegenseitigen Authentifizierung und der Einrichtung der sicheren Kommunikation zwischen der CPU und der XPU zeigt.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Im Folgenden wird ausführlich auf die vorliegenden Ausführungsformen der Erfindung Bezug genommen, von denen Beispiele in den beigefügten Zeichnungen dargestellt sind. Wo immer möglich, werden in den Zeichnungen und in der Beschreibung dieselben Bezugszeichen verwendet, um auf identische oder ähnliche Teile zu verweisen. Mit dem Aufkommen des Internets der Dinge (engl. Internet of Things, loT) werden riesige Datenmengen von verschiedenen Sensoren gesammelt und von in der Umgebung eingebetteten Computerknoten analysiert. In diesem aufkommenden Paradigma der Edge-Analytik werden häufig heterogene Rechensysteme, sogenannte Edge-Computing-Knoten, die mit CPU, GPU, NPU und VPU (zusammenfassend als XPU bezeichnet) ausgestattet sind, verwendet, um Echtzeit-Datenanalysen für mehrere Benutzer in der Nähe der Datenquelle durchzuführen. Die Anforderung der Unterstützung von Multi-Tenancy, d. h. der Fähigkeit, mehreren Benutzern die Durchführung von Rechenaufgaben auf einer gemeinsamen Plattform zu ermöglichen und dabei die Privatsphäre und Souveränität der Informationen zu wahren und die Nutzungsrichtlinien jedes Benutzers einzuhalten, erfordert, dass das heterogene Rechensystem die Isolierung von Informationen durchsetzt und dabei einen Schutz der Authentizität, Vertraulichkeit und Integrität der Daten zwischen den Rechenaufgaben der verschiedenen Benutzer bietet. Aufgrund der fehlenden Hardware-Virtualisierungsunterstützung in den eingebetteten heterogenen Rechensystemen wurde die Informationsisolierung auf Systemebene zwischen den Edge-Computing-Knoten jedoch nicht angemessen durchgesetzt.
-
Die vorliegende Erfindung liefert eine Softwaresystemarchitektur und ein prozedurales Verfahren zur Umsetzung des Schutzes der Authentizität, Vertraulichkeit und Integrität von Informationen zwischen CPUs und XPUs, die Informationen über E/A-Kanäle austauschen, ohne dass ein gemeinsamer Speicher verwendet wird. Die Erfindung umfasst ein Verfahren zur Einrichtung einer vertrauenswürdigen normalen Ausführungsumgebung (T-REE) als virtuelle Maschine (VM) in dem ungeschützten Bereich auf der Hardwareplattform eines Host-Computers, der mit einer CPU ausgestattet ist, die ein vertrauliches Trusted Computing für allgemeine Anwendungen unterstützen kann. Es umfasst auch ein Verfahren zur Erweiterung des Schutzbereichs der T-REE auf einen mit XPUs ausgestatteten heterogenen Computer, der über eine offene Verbindung mit dem Host-Computer verbunden ist. Schließlich umfasst es ein Verfahren zur Fernbescheinigung der Zustände sowohl der CPUs auf dem Host-Computer als auch der XPUs auf dem heterogenen Computer.
-
Die nachfolgenden Ausführungsformen betreffen die Systemarchitektur.
-
Es wird auf 1 Bezug genommen. 1 ist eine schematische Darstellung, die eine funktionale Architektur des heterogenen Rechensystems 100 zeigt, das eine erste Vorrichtung (als Host-Computer-Subsystem 110), eine zweite Vorrichtung (als heterogenes Computer-Subsystem 120) und die offene Verbindung 130 umfasst. Das heterogene Computer-Subsystem 120 ist über die offene Verbindung 130 statisch mit dem Host-Computer-Subsystem 110 verbunden. Die offene Verbindung 130 ist als Kommunikationskanal definiert, der standardisierte Protokolle zur Unterstützung des bidirektionalen Informationsaustauschs zwischen zwei Vorrichtungen implementiert. Die offene Verbindung 130 umfasst unter anderem Standard-Kommunikationskanäle wie Ethernet, USB und SPI, die zur Durchführung eines Informationsaustauschs ohne eigenen Datenschutz gleichzeitig von mehreren Subsystemen verwendet werden können.
-
Wie in 1 gezeigt, umfasst das Host-Computer-Subsystem 110 einen ersten dedizierten Prozessor (als dedizierte zentrale Verarbeitungseinheit (CPU) 112A in 1 gezeigt), einen zweiten dedizierten Prozessor (als dedizierte CPU 112B in 1 gezeigt), einen ersten nicht-dedizierten Prozessor (als nicht-dedizierte CPU 112C in 1 gezeigt), einen gemeinsamen Bus 115, einen ersten Kryptoprozessor (als Kryptoprozessor 113 in 1 gezeigt), ein erstes geschütztes Speichersegment (als geschützter Bereich des gemeinsamen Speichers 111A in 1 gezeigt), ein zweites geschütztes Speichersegment (als geschützter Bereich des gemeinsamen Speichers 111B in 1 gezeigt), ein erstes ungeschütztes Speichersegment (als ungeschützter Bereich des gemeinsamen Speichers 111C in 1 gezeigt). Der gemeinsame Bus 115 ist mit der offenen Verbindung 130 verbunden. Die dedizierte CPU 112A, der Kryptoprozessor 113, der geschützte Bereich des gemeinsamen Speichers 111A, der geschützte Bereich des gemeinsamen Speichers 111 B und der ungeschützte Bereich des gemeinsamen Speichers 111C sind mit dem gemeinsamen Bus 115 verbunden.
-
Der geschützte Bereich des gemeinsamen Speichers 111A und 111B ist durch eine von dem Kryptoprozessor 113 durchgeführte Speicherverschlüsselung oder durch eine Zugriffssteuerung geschützt, die von der in dem gemeinsamen Speicher integrierten Speicherverwaltungshardware durchgesetzt wird.
-
In Bezug auf das Host-Computer-Subsystem 110 ist der erste Kryptoprozessor 113 so konfiguriert, dass er die folgenden beiden Funktionsgruppen ausführt. Als Hardware-Root-of-Trust kann er ein sicheres Booten der Systemsoftware und eine Fernbescheinigung der Zustände der CPU und des gemeinsamen Speichers gegenüber einer entfernten Bescheinigungseinrichtung durchführen. Als kryptografischer Prozessor kann er den Schutz der Vertraulichkeit und Integrität der in den geschützten Bereichen des gemeinsamen Speichers gespeicherten Daten bereitstellen.
-
Im Hinblick auf die Interaktionen zwischen dem Host-Computer-Subsystem 110 und dem heterogenen Computer-Subsystem 120 ist der erste Kryptoprozessor 113 so konfiguriert, dass er die gegenseitige Authentifizierung zwischen den beiden Subsystemen durchführt. Er ist auch so konfiguriert, dass er für die Übertragung von Programmen, Modellen und Daten über die offene Verbindung 130 den Schutz der Vertraulichkeit, Integrität und Authentifizierung bereitstellt.
-
Das Host-Computer-Subsystem 110 und das heterogene Computer-Subsystem 120 übertragen Programme, Modelle und Daten über die offene Verbindung 130.
-
Das heterogene Computer-Subsystem 120 umfasst einen dritten dedizierten Prozessor (als heterogene Verarbeitungseinheit (XPU) 122 in 1 gezeigt), einen dedizierten Bus 125, einen zweiten Kryptoprozessor (als Kryptoprozessor 123 in 1 gezeigt) und einen dedizierten Speicher 121, der von der XPU 122 verwendet wird. Die XPU 122, der Kryptoprozessor 123 und der dedizierte Speicher 121 sind intern über einen dedizierten Bus 125 verbunden.
-
Der Kryptoprozessor 123 im Verarbeitungsressourcensatz 124A ist so konfiguriert, dass er die gegenseitige Authentifizierung zwischen dem heterogenen Computer-Subsystem 120 und dem Host-Computer-Subsystem 110 durchführt und den Schutz der Vertraulichkeit, Integrität und Authentifizierung für Programme, Modelle und Daten bereitstellt, die über die offene Verbindung 130 übertragen werden.
-
Darüber hinaus können die Elemente im Host-Computer-Subsystem 110 des Systems 100 entsprechend ihren Ausführungsumgebungen in einen ersten Verarbeitungsressourcensatz (als Verarbeitungsressourcensatz 114A in 1 gezeigt), einen zweiten Verarbeitungsressourcensatz (als Verarbeitungsressourcensatz 114B in 1 gezeigt) und einen dritten Verarbeitungsressourcensatz (als Verarbeitungsressourcensatz 114C in 1 gezeigt) unterteilt werden. Die Elemente in dem heterogenen Computer-Subsystem 120 des Systems 100 können in einen vierten Verarbeitungsressourcensatz (als Verarbeitungsressourcensatz 124A in 1 gezeigt) unterteilt werden.
-
Der Verarbeitungsressourcensatz 114A umfasst die dedizierte CPU 112A, den ersten geschützten Bereich des gemeinsamen Speichers 111A und den Kryptoprozessor 113. Sie befinden sich in einem geschützten Bereich des Host-Computer-Subsystems 110. Der Schutz der Ressourcen in diesem Bereich ist in der Hardware implementiert, so dass der erste Prozessorressourcensatz 114 als Hardware-Root-of-Trust für das gesamte heterogene Rechensystem 100 fungieren kann.
-
Der Verarbeitungsressourcensatz 114B umfasst die dedizierte CPU 112B und den geschützten Bereich des gemeinsamen Speichers 111B. Sie befinden sich in einem ungeschützten Bereich des Host-Computer-Subsystems 110. Der Schutz der Ressourcen in diesem Bereich kann durch Software implementiert werden, die in der dedizierten CPU 112B und dem Verarbeitungsressourcensatz 114A ausgeführt wird.
-
Der Verarbeitungsressourcensatz 114C umfasst die nicht-dedizierte CPU 112C und den ungeschützten Bereich des gemeinsamen Speichers 111C. Sie befinden sich ebenfalls in einem ungeschützten Bereich im Host-Computer-Subsystem 110. Für die Ressourcen in diesem Bereich ist kein Schutz implementiert.
-
Der vierte Verarbeitungsressourcensatz 124A umfasst die XPU 122, den dedizierten Bus 125, den Kryptoprozessor 123 und den dedizierten Speicher 121. Sie befinden sich in einem dedizierten Bereich im heterogenen Computer-Subsystem 120. Der Schutz der Ressourcen in diesem Bereich wird durch die Kombination aus der physischen Isolierung des heterogenen Computer-Subsystems 120 und dem Schutz der Vertraulichkeit, Integrität und Authentifizierung, der für den über die offene Verbindungsleitung 130 durchgeführten Austausch bereitgestellt wird, implementiert.
-
Die folgenden Ausführungsformen betreffen die strukturellen und funktionalen Unterschiede zwischen einer vertrauenswürdigen Ausführungsumgebung (TEE) und einer vertrauenswürdigen normalen Ausführungsumgebung (T-REE).
-
Es wird auf 2 Bezug genommen. 2 ist eine schematische Darstellung, die eine Softwarearchitektur 200 des heterogenen Rechensystems 100 zeigt, insbesondere die drei verschiedenen Ausführungsumgebungen: die vertrauenswürdige Ausführungsumgebung (TEE) 210, die vertrauenswürdige normale Ausführungsumgebung (T-REE) 220 und den erweiterten Bereich 230 der T-REE 220, zusammen mit dem Hypervisor 222 und der Hardwareplattform. Es wird darauf hingewiesen, dass die ungeschützte normale Ausführungsumgebung (REE) in dieser Figur nicht gezeigt wurde, da sie nicht Teil der Erfindung ist. Programme, die in der in dem Verarbeitungsressourcensatz 114C instanziierten REE ausgeführt werden, und darin verarbeite Daten sind nicht durch Vertraulichkeits-, Integritäts- oder Authentifizierungsdienste geschützt.
-
Wie in 2 gezeigt, ist der Verarbeitungsressourcensatz 114A in einem geschützten Bereich auf der Hardwareplattform des Host-Computer-Subsystems 110 so konfiguriert, dass eine vertrauenswürdige Ausführungsumgebung (TEE) 210 instanziiert wird. Der Verarbeitungsressourcensatz 114B in einem ungeschützten Bereich der Hardwareplattform ist so konfiguriert, dass er eine vertrauenswürdige normale Ausführungsumgebung (T-REE) 220 instanziiert. Der Verarbeitungsressourcensatz 114C in einem ungeschützten Bereich der Hardwareplattform ist so konfiguriert, dass er eine (nicht gezeigte) normale Ausführungsumgebung (REE) 220 instanziiert. Ein Universalbetriebssystem läuft in einer REE, die in einem Verarbeitungsressourcensatz 114C instanziiert ist.
-
Die TEE 210 umfasst ein vertrauenswürdiges Spezialbetriebssystem 211, einen TEE-Kommunikationsagenten 212 und ein oder mehrere vertrauenswürdige Spezialdienstprogramme 213. Das vertrauenswürdige Spezialbetriebssystem 211 läuft in der vertrauenswürdigen Ausführungsumgebung 210. Die vertrauenswürdigen Spezialdienstprogramme 213 laufen mit Unterstützung des vertrauenswürdigen Spezialbetriebssystems 211 in der vertrauenswürdigen Ausführungsumgebung 210.
-
Die vertrauenswürdige Ausführungsumgebung 210 ist eine Software-Ausführungsumgebung zur Ausführung von speziellen Sicherheitsfunktionen. Die TEE 210 wird in einem geschützten Bereich der Hardwareplattform einer Vorrichtung instanziiert und lässt ein vertrauenswürdiges Spezialbetriebssystem laufen.
-
Die T-REE 220 umfasst einen Hypervisor 222, ein vertrauenswürdiges Universalbetriebssystem 221 und ein oder mehrere vertrauenswürdige Universalanwendungsprogramme 223. Die T-REE 220 ist als virtuelle Maschine in dem Verarbeitungsressourcensatz 114B instanziiert. Das vertrauenswürdige Universalbetriebssystem 221 läuft in der T-REE 220. Die vertrauenswürdigen Universalanwendungsprogramme 223 laufen mit der Unterstützung des vertrauenswürdigen Universalbetriebssystems 221 in der T-REE 220.
-
Die T-REE 220 ist eine Software-Ausführungsumgebung zur Ausführung von vertrauenswürdigen Universalanwendungsprogrammen. Die T-REE 220 wird als virtuelle Maschine in einem ungeschützten Bereich der Hardwareplattform einer Vorrichtung instanziiert und lässt ein vertrauenswürdiges Universalbetriebssystem 221 laufen.
-
Bei den vertrauenswürdigen Universalanwendungsprogrammen 223 handelt es sich um Softwareprogramme, bei denen die Authentizität und Integrität des Programms von einer vertrauenswürdigen Organisation überprüft und mit digitalen Signaturen zertifiziert wurde. Es kann darauf vertraut werden, dass die Ausgabe der vertrauenswürdigen Universalanwendungsprogramme 223 frei von böswilligen Veränderungen ist, wenn sie in einer T-REE 220 ausgeführt wird.
-
Das vertrauenswürdige Universalbetriebssystem 221 ist ein Betriebssystem, das so eingerichtet ist, dass es die Ausführung von vertrauenswürdigen Universalanwendungsprogrammen 223 unterstützt. Die Authentizität und Integrität des Objektcodes des vertrauenswürdigen Universalbetriebssystems 221 werden von vertrauenswürdigen Organisationen überprüft und mit digitalen Signaturen des Objektcodes zertifiziert. Das vertrauenswürdige Universalbetriebssystem 221 wird in einem zweiten sicheren Boot-Prozess in eine T-REE 220 geladen, und das vertrauenswürdige Universalbetriebssystem 221 wird während der Instanziierung der virtuellen Maschine der T-REE initiiert und von den in der TEE 210 laufenden Sicherheitsfunktionen ausgeführt.
-
Das vertrauenswürdige Spezialdienstprogramm 213 ist ein Programm, bei dem die Authentizität und Integrität des Programms von einer vertrauenswürdigen Organisation überprüft und mit den digitalen Signaturen der vertrauenswürdigen Organisation zertifiziert wird, und das vertrauenswürdige Spezialdienstprogramm 213 führt kryptografische oder Sicherheitsfunktionen aus, wobei darauf vertraut wird, dass die Ausgabe des vertrauenswürdigen Spezialdienstprogramms 213 frei von böswilligen Änderungen ist, wenn das vertrauenswürdige Spezialdienstprogramm in einer TEE 210 ausgeführt wird.
-
Die nachfolgenden Ausführungsformen beschreiben die Einrichtung der vertrauenswürdigen Ausführungsumgebung (TEE) 210 und der vertrauenswürdigen normalen Ausführungsumgebung (T-REE) 220.
-
Es wird auf 3 Bezug genommen. 3 ist ein Flussdiagramm, das eine Boot-Sequenz zur Instanziierung der TEE 210 und der T-REE 220 nach dem Hochfahren oder Zurücksetzen des Systems und dann die Erweiterung des Bereichs der T-REE 220 auf das heterogene Computer-Subsystem 120 nach erfolgreichem Abschluss der gegenseitigen Authentifizierung zwischen dem Host-Computer-Subsystem 110 und dem heterogenen Computer-Subsystem 120 sowie die Einrichtung einer sicheren Kommunikation zwischen der dedizierten CPU 112B und der dedizierten CPU 112A und der XPU 122 zeigt.
-
Die folgenden Schritte sind zur Einrichtung der vertrauenswürdigen Ausführungsumgebung (TEE) 210 vorgesehen. Die TEE 210 lässt ein vertrauenswürdiges Spezialbetriebssystem 211 ablaufen, das in einem Verarbeitungsressourcensatz 114A in einem geschützten Bereich der Hardwareplattform im Host-Computer-Subsystem 110 während eines sicheren Booten ausgeführt wird, der von dem Kryptoprozessor 113 nach einem Hochfahren oder einer Systemrücksetzung des Host-Computer-Subsystems 110 eingeleitet wird.
-
Ein sicheres Booten ist ein Mechanismus zur Überprüfung der Authentizität und Integrität von Systemfirmware und -software durch Verifizierung einer digitalen Signatur des Hashwerts des Objektcodes, die von einer vertrauenswürdigen Organisation ausgestellt wurde, die eine andere ist als der Anbieter und der Verbraucher des Objektcodes.
-
Der Verarbeitungsressourcensatz 114A umfasst einen dedizierten Prozessor 112A und einen geschützten Bereich des gemeinsamen Speichers 111A sowie einen Kryptoprozessor 113 im Host-Computer-Subsystem 110. Der Kryptoprozessor 113 ist so konfiguriert, dass er das erste sichere Booten des vertrauenswürdigen Spezialbetriebssystems 211 in der TEE 210 durchführt, und er ist so konfiguriert, dass er einen Schutz der Vertraulichkeit und Integrität der in den geschützten Segmenten im gemeinsamen Speicher gespeicherten Daten bereitstellt.
-
Schritt 310, Ausführung des ROM-Bootvorgangs: In diesem Schritt wird die Systemprüfung durchgeführt und der Bootstrapping-Prozess eingeleitet.
-
Schritt 311, Ausführung von Stufe 1 des ersten sicheren Bootvorgangs: In diesem Schritt wird die vertrauenswürdige Firmware in dem Verarbeitungsressourcensatz 114A installiert.
-
Schritt 312, Ausführung von Stufe 2 des ersten sicheren Bootvorgangs: In diesem Schritt werden die Überprüfung und die Installation des vertrauenswürdigen Spezialbetriebssystems 211 in dem Verarbeitungsressourcensatz 114A durchgeführt. Das vertrauenswürdige Spezialbetriebssystem ist ein Betriebssystem, das so eingerichtet ist, dass es die Ausführung von kryptografischen und Sicherheitsfunktionen gemäß Standardbetriebsverfahren unterstützt. Die Authentizität und Integrität des Objektcodes des vertrauenswürdigen Spezialbetriebssystems werden von einer vertrauenswürdigen Organisation überprüft und mit digitalen Signaturen des Objektcodes zertifiziert. Das vertrauenswürdige Spezialbetriebssystem wird im ersten sicheren Bootprozess in den ersten Verarbeitungsressourcensatz geladen, der die digitalen Signaturen des Objektcodes des vertrauenswürdigen Spezialbetriebssystems beim Hochfahren oder Zurücksetzen des Host-Computer-Subsystems verifiziert. Die TEE 210 wird nach dem erfolgreichen Abschluss von Stufe 2 des ersten sicheren Bootvorgangs eingerichtet.
-
Die nachfolgenden Schritte sind dazu vorgesehen, die vertrauenswürdige normale Ausführungsumgebung (T-REE) 220 einzurichten. Die T-REE 220, in der ein vertrauenswürdiges Universalbetriebssystem 221 läuft, wird als virtuelle Maschine in einem Verarbeitungsressourcensatz 114B in einem ungeschützten Bereich der Hardwareplattform im Host-Computer-Subsystem 110 instanziiert, wobei der Verarbeitungsressourcensatz 114B einen zweiten dedizierten Prozessor 112B und den geschützten Bereich des gemeinsamen Speichers 111B umfasst.
-
Schritt 313, Ausführung von Stufe 1 des zweiten sicheren Bootvorgangs: In diesem Schritt wird ein Hypervisor installiert.
-
Schritt 314, Ausführung von Stufe 2 des zweiten sicheren Bootvorgangs: In diesem Schritt wird die Überprüfung und die Installation des vertrauenswürdigen Universalbetriebssystems 221 in dem Verarbeitungsressourcensatz 114B durchgeführt. Das vertrauenswürdige Universalbetriebssystem 221 wird in Stufe 2 eines zweiten sicheren Bootvorgangs nach dem erfolgreichen Abschluss des ersten sicheren Bootvorgangs des TEE 210 installiert, wobei das vertrauenswürdige Universalbetriebssystem durch die Verifizierung seiner digitalen Signaturen authentifiziert wird, die von einer vertrauenswürdigen Organisation generiert werden und denen somit das vertrauenswürdige Spezialbetriebssystem 211 in der TEE 210 vertraut. Die T-REE 220 wird nach dem erfolgreichen Abschluss von Stufe 2 des zweiten sicheren Bootvorgangs eingerichtet.
-
Infolgedessen sind die Programme, Modelle und Daten, die im geschützten Bereich des gemeinsamen Speichers 111A in den von der TEE 210 verwendeten Verarbeitungsressourcensätzen 114A gespeichert sind, und die Programme und Daten, die im geschützten Bereich des gemeinsamen Speichers 111B in dem von der T-REE 220 verwendeten Verarbeitungsressourcensatz 114B gespeichert sind, durch Vertraulichkeits- und Integritätsdienste geschützt.
-
Auch die Programme, Modelle und Daten, die über den TEE-Kommunikationsagenten 212 im Host-Computer-Subsystem 110 zwischen der TEE 210 und der T-REE 220 übertragen werden, sind durch Vertraulichkeits-, Integritäts- und Authentifizierungsdienste geschützt.
-
Die nachfolgenden Ausführungsformen beschreiben die Erweiterung des Bereichs der T-REE 220 durch die Einrichtung eines sicheren Informationsaustauschs zwischen der dedizierten CPU 112B und dem heterogenen Prozessor (XPU) 122.
-
In Schritt S320 wird ein Verfahren zur gegenseitigen Authentifizierung zwischen dem Kryptoprozessor 113 im Verarbeitungsressourcensatz 114A im Host-Computer-Subsystem 110 und dem Kryptoprozessor 123 im Verarbeitungsressourcensatz 124A im heterogenen Computer-Subsystem 120 durchgeführt. Infolgedessen wird eine vertrauenswürdige Beziehung zwischen dem Host-Computer-Subsystem 110 und dem heterogenen Computer-Subsystem 120 hergestellt.
-
In Schritt S321 wird eine sichere Kommunikation zwischen der dedizierten CPU 112A im Host-Computer-Subsystem 110 und der XPU 122 im heterogenen Computer-Subsystem 120 hergestellt. Die sichere Kommunikation wird durch Vertraulichkeits-, Integritäts- und Authentifizierungsdienste geschützt, die von dem Kryptoprozessor 113 im Host-Computer-Subsystem 110 und dem Kryptoprozessor 123 im heterogenen Computer-Subsystem 120 nach erfolgreichem Abschluss der gegenseitigen Authentifizierung zwischen den beiden Subsystemen 110 und 120 bereitgestellt werden.
-
In Schritt S322 wird eine sichere Kommunikation zwischen der TEE 210 und der T-REE 220 hergestellt. Die sichere Kommunikation wird zwischen der dedizierten CPU 112A im Verarbeitungsressourcensatz 114A, in dem die TEE 210 eingerichtet wurde, und der dedizierten CPU 112B im Verarbeitungsressourcensatz 114B, in dem die T-REE 220 eingerichtet wurde, durchgeführt. Die sichere Kommunikation wird durch Vertraulichkeits-, Integritäts- und Authentifizierungsdienste geschützt.
-
In Schritt S323 wird eine sichere Kommunikation zwischen der T-REE 220 und dem heterogenen Computer-Subsystem 120 über die TEE 210 hergestellt. Die sichere Kommunikation wird zwischen der dedizierten CPU 112B im Verarbeitungsressourcensatz 114B, in dem die T-REE 220 eingerichtet wurde, und der XPU 122 im heterogenen Computer-Subsystem 120 über die sichere Kommunikation zwischen dem Kryptoprozessor 113 im Host-Computer-Subsystem 110 im Verarbeitungsressourcensatz 114A, in dem die TEE 210 eingerichtet wurde, und dem Kryptoprozessor 123 im heterogenen Computer-Subsystem 120 durchgeführt. Die sichere Kommunikation wird durch Vertraulichkeits-, Integritäts- und Authentifizierungsdienste geschützt.
-
Nach der erfolgreichen Einrichtung der sicheren Kommunikation zwischen dem heterogenen Computer-Subsystem 120 und der T-REE 220 über die TEE 210 wird das heterogene Computer-Subsystem 120 in den erweiterten Bereich der T-REE 220 einbezogen.
-
Nach der erfolgreichen Einrichtung einer sicheren Kommunikation zwischen dem heterogenen Computer-Subsystem 120 und der T-REE 220 über die TEE 210 kann der Zustand der Programmausführung in der XPU 122 im heterogenen Computer-Subsystem 120 durch die Erzeugung eines signierten Hashwertes des Inhalts des dedizierten Speichers 121 unter Verwendung des Kryptoprozessors 123 und die anschließende Übermittlung des signierten Hashwertes von dem heterogenen Computer-Subsystem 120 zum Verarbeitungsressourcensatz 114B im Host-Computer-Subsystem 110, in dem die T-REE eingerichtet wurde, verifizierbar gemacht werden.
-
Als Reaktion darauf, dass die T-REE 220 inaktiv oder deaktiviert ist, wird die virtuelle Maschine, in der die T-REE 220 instanziiert wurde, beendet und der Verarbeitungsressourcensatz 114B freigegeben, während der dedizierte Prozessor 112B zu einem nicht-dedizierten Prozessor wird und der geschützte Bereich des gemeinsamen Speichers 111B zu einem Teil des ungeschützten Speichers wird.
-
Für den Fachmann ist es offensichtlich, dass verschiedene Modifikationen und Änderungen an der Struktur der vorliegenden Erfindung vorgenommen werden können, ohne von dem Umfang oder Gedanken der Erfindung abzuweichen. In Anbetracht der vorstehenden Ausführungen soll die vorliegende Erfindung Modifikationen und Änderungen der vorliegenden Erfindung abdecken, sofern sie in den Umfang der nachfolgenden Ansprüche fallen.