DE112020003881T5 - System und verfahren zur durchführung von trusted computing mit fernbescheinigung und informationsisolierung auf heterogenen prozessoren über eine offene verbindung - Google Patents

System und verfahren zur durchführung von trusted computing mit fernbescheinigung und informationsisolierung auf heterogenen prozessoren über eine offene verbindung Download PDF

Info

Publication number
DE112020003881T5
DE112020003881T5 DE112020003881.5T DE112020003881T DE112020003881T5 DE 112020003881 T5 DE112020003881 T5 DE 112020003881T5 DE 112020003881 T DE112020003881 T DE 112020003881T DE 112020003881 T5 DE112020003881 T5 DE 112020003881T5
Authority
DE
Germany
Prior art keywords
trusted
execution environment
ree
operating system
tee
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.)
Granted
Application number
DE112020003881.5T
Other languages
English (en)
Other versions
DE112020003881T8 (de
Inventor
John Kar-Kin Zao
Ching-Chun Huang
Ching-Yao Huang
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.)
Fiduciaedge Tech Co Ltd
Fiduciaedge Technologies Co Ltd
Original Assignee
Fiduciaedge Tech Co Ltd
Fiduciaedge Technologies Co Ltd
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 Fiduciaedge Tech Co Ltd, Fiduciaedge Technologies Co Ltd filed Critical Fiduciaedge Tech Co Ltd
Publication of DE112020003881T5 publication Critical patent/DE112020003881T5/de
Application granted granted Critical
Publication of DE112020003881T8 publication Critical patent/DE112020003881T8/de
Active 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/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6236Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database between heterogeneous systems
    • 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/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/74Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information operating in dual or compartmented mode, i.e. at least one secure mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2149Restricted operating environment

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Storage Device Security (AREA)

Abstract

System und Verfahren zur 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 Videoverarbeitungseinheiten (VPU) usw. verwendet werden, die über offene Standardverbindungen wie Ethernet, USB und SPI usw. mit der zentralen Verarbeitungseinheit (CPU) verbunden sind.

Description

  • 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.

Claims (25)

  1. System, das Folgendes umfasst: eine erste Vorrichtung, mit: einem ersten Verarbeitungsressourcensatz in einem geschützten Bereich einer Hardwareplattform, der einen ersten dedizierten Prozessor und einen ersten Kryptoprozessor sowie ein erstes geschütztes Speichersegment umfasst; und einem zweiten Verarbeitungsressourcensatz in einem ungeschützten Bereich der Hardwareplattform, der einen zweiten dedizierten Prozessor und ein zweites geschütztes Speichersegment umfasst; wobei ein vertrauenswürdiges Spezialbetriebssystem in einer vertrauenswürdigen Ausführungsumgebung (TEE) ausgeführt wird, die in dem ersten Verarbeitungsressourcensatz instanziiert ist, wobei ein erstes vertrauenswürdiges Spezialdienstprogramm mit der Unterstützung des vertrauenswürdigen Spezialbetriebssystems in der vertrauenswürdigen Ausführungsumgebung (TEE) ausgeführt wird; und ein vertrauenswürdiges Universalbetriebssystem in einer vertrauenswürdigen normalen Ausführungsumgebung (T-REE) ausgeführt wird, die in dem zweiten Verarbeitungsressourcensatz instanziiert ist, wobei ein erstes vertrauenswürdiges Universalanwendungsprogramm mit der Unterstützung des vertrauenswürdigen Spezialbetriebssystems in der vertrauenswürdigen normalen Ausführungsumgebung (T-REE) ausgeführt wird.
  2. System nach Anspruch 1, wobei die vertrauenswürdige normale Ausführungsumgebung (T-REE) als virtuelle Maschine im zweiten Verarbeitungsressourcensatz instanziiert ist.
  3. System nach Anspruch 1, wobei die Daten, die zwischen der vertrauenswürdigen Ausführungsumgebung (TEE), die im ersten Verarbeitungsressourcensatz instanziiert ist, und der vertrauenswürdigen normalen Ausführungsumgebung (T-REE), die im zweiten Verarbeitungsressourcensatz instanziiert ist, übertragen werden, durch Vertraulichkeits-, Integritäts- und Authentifizierungsdienste geschützt sind; und wobei das Programm und die Daten, die in dem ersten geschützten Speichersegment in den ersten Verarbeitungsressourcensätzen gespeichert sind, die von der vertrauenswürdigen Ausführungsumgebung (TEE) verwendet werden, und das Programm und die Daten, die in dem zweiten geschützten Speichersegment in dem zweiten Verarbeitungsressourcensatz gespeichert sind, der von der vertrauenswürdigen normalen Ausführungsumgebung (T-REE) verwendet wird, durch Vertraulichkeits- und Integritätsdienste geschützt sind.
  4. System nach Anspruch 1, wobei die erste Vorrichtung ferner einen dritten Verarbeitungsressourcensatz in einem ungeschützten Bereich der Hardwareplattform umfasst, der einen ersten nicht-dedizierten Prozessor und ein erstes ungeschütztes Speichersegment umfasst; und wobei ein Universalbetriebssystem in einer normalen Ausführungsumgebung (REE) ausgeführt wird, die in einem dritten Verarbeitungsressourcensatz instanziiert ist.
  5. System nach Anspruch 4, wobei Programme, die in der in einem dritten Verarbeitungsressourcensatz instanziierten normalen Ausführungsumgebung (REE) ausgeführt werden, und die darin verarbeiteten Daten nicht durch Vertraulichkeits-, Integritäts- oder Authentifizierungsdienste geschützt sind.
  6. System nach Anspruch 2, wobei als Reaktion darauf, dass die vertrauenswürdige normale Ausführungsumgebung (T-REE) inaktiv oder deaktiviert ist, die virtuelle Maschine, in der die vertrauenswürdige normale Ausführungsumgebung (T-REE) instanziiert wurde, beendet und der zweite Verarbeitungsressourcensatz freigegeben wird, während der zweite dedizierte Prozessor zu einem nicht-dedizierten Prozessor wird und das geschützte Speichersegment zu einem Teil des ungeschützten Speichers wird.
  7. System nach Anspruch 1, wobei die erste Vorrichtung ferner einen gemeinsamen Bus umfasst, der mit einer offenen Verbindung verbunden ist, wobei das erste geschützte Speichersegment, das zweite geschützte Speichersegment und ein erstes ungeschütztes Speichersegment mit dem gemeinsamen Bus verbunden sind und der erste Kryptoprozessor mit dem gemeinsamen Bus verbunden ist.
  8. System nach Anspruch 1, das ferner Folgendes umfasst: eine zweite Vorrichtung, und wobei die zweite Vorrichtung über eine offene Verbindung statisch mit der ersten Vorrichtung verbunden ist, und wobei die zweite Vorrichtung Folgendes umfasst: einen vierten Verarbeitungsressourcensatz in einem geschützten Bereich der Hardwareplattform, wobei der vierte Verarbeitungsressourcensatz einen dritten dedizierten Prozessor und einen zweiten Kryptoprozessor und einen dedizierten Speicher umfasst.
  9. System nach Anspruch 8, wobei die zweite Vorrichtung ferner einen dedizierten Bus, der mit der offenen Verbindung verbunden ist, einen dedizierten Speicher, der mit dem dedizierten Bus verbunden ist, und einen zweiten Kryptoprozessor, der mit dem dedizierten Bus verbunden ist, umfasst, wobei der erste Kryptoprozessor in dem ersten Verarbeitungsressourcensatz so konfiguriert ist, dass er eine gegenseitige Authentifizierung zwischen der ersten Vorrichtung und der zweiten Vorrichtung durchführt, und so konfiguriert ist, dass er einen Vertraulichkeits-, Integritäts- und Authentifizierungsschutz für die Datenübertragung über die offene Verbindung bereitstellt; und der zweite Kryptoprozessor im vierten Verarbeitungsressourcensatz so konfiguriert ist, dass er eine gegenseitige Authentifizierung zwischen der ersten Vorrichtung und der zweiten Vorrichtung durchführt, und so konfiguriert ist, dass er einen Vertraulichkeits-, Integritäts- und Authentifizierungsschutz für Daten bereitstellt, die über die offene Verbindung übertragen werden.
  10. System nach Anspruch 8, wobei die offene Verbindung ein Kommunikationskanal ist, der standardisierte Protokolle zur Unterstützung des bidirektionalen Informationsaustauschs zwischen zwei Vorrichtungen implementiert.
  11. System nach Anspruch 1, wobei eine vertrauenswürdige Ausführungsumgebung (TEE) eine Software-Ausführungsumgebung zur Ausführung spezieller Sicherheitsfunktionen ist, wobei die TEE in einem geschützten Bereich der Hardwareplattform einer Vorrichtung instanziiert ist und ein vertrauenswürdiges Spezialbetriebssystem laufen lässt.
  12. System nach Anspruch 1, wobei eine vertrauenswürdige normale Ausführungsumgebung (T-REE) eine Software-Ausführungsumgebung zur Ausführung vertrauenswürdiger Universalanwendungsprogramme ist, wobei die T-REE als virtuelle Maschine in einem ungeschützten Bereich der Hardwareplattform einer Vorrichtung instanziiert ist und ein vertrauenswürdiges Universalbetriebssystem laufen lässt.
  13. System nach Anspruch 1, wobei ein vertrauenswürdiges Spezialbetriebssystem ein Betriebssystem ist, das so eingerichtet ist, dass es die Ausführung von kryptographischen und Sicherheitsfunktionen gemäß Standardbetriebsverfahren unterstützt, wobei die Authentizität und Integrität des Objektcodes des vertrauenswürdigen Spezialbetriebssystems von einer vertrauenswürdigen Organisation verifiziert und mit digitalen Signaturen des Objektcodes zertifiziert wird, wobei das vertrauenswürdige Spezialbetriebssystem in einem ersten sicheren Bootprozess in eine vertrauenswürdige Ausführungsumgebung (TEE) geladen wird und das vertrauenswürdige Spezialbetriebssystem beim Hochfahren oder Zurücksetzen der Vorrichtung initiiert wird und digitale Signaturen verifiziert.
  14. System nach Anspruch 1, wobei ein vertrauenswürdiges Universalbetriebssystem ein Betriebssystem ist, das so eingerichtet ist, dass es die Ausführung von vertrauenswürdigen Universalanwendungsprogrammen unterstützt, wobei die Authentizität und Integrität des Objektcodes des vertrauenswürdigen Universalbetriebssystems von einer vertrauenswürdigen Organisation verifiziert und mit digitalen Signaturen des Objektcodes zertifiziert wird, wobei das vertrauenswürdige Universalbetriebssystem in einem zweiten sicheren Boot-Prozess in eine vertrauenswürdige normale Ausführungsumgebung (T-REE) geladen wird und das vertrauenswürdige Universalbetriebssystem bei der Instanziierung der virtuellen Maschine der T-REE initiiert und von Sicherheitsfunktionen ausgeführt wird, die in der TEE laufen.
  15. System nach Anspruch 1, wobei ein vertrauenswürdiges Spezialdienstprogramm ein Programm mit einer Programmauthentizität und Programmintegrität ist, das von einer vertrauenswürdigen Organisation verifiziert und mit den digitalen Signaturen der vertrauenswürdigen Organisation zertifiziert wurde, und das vertrauenswürdige Spezialdienstprogramm kryptographische oder Sicherheitsfunktionen durchführt, wobei darauf vertraut wird, dass die Ausgabe des vertrauenswürdigen Spezialdienstprogramms frei von böswilliger Veränderung ist, wenn das vertrauenswürdige Spezialdienstprogramm in der vertrauenswürdigen Ausführungsumgebung (TEE) ausgeführt wird.
  16. System nach Anspruch 1, wobei ein vertrauenswürdiges Universalanwendungsprogramm ein Programm mit einer Programmauthentizität und Programmintegrität ist, das von einer vertrauenswürdigen Organisation verifiziert und mit seinen digitalen Signaturen zertifiziert wurde, wobei darauf vertraut wird, dass die Ausgabe des vertrauenswürdigen Universalanwendungsprogramms frei von böswilliger Veränderung ist, wenn es in der vertrauenswürdigen normalen Ausführungsumgebung (T-REE) ausgeführt wird.
  17. Verfahren, das Folgendes umfasst: Einrichten einer vertrauenswürdigen Ausführungsumgebung (TEE), die ein vertrauenswürdiges Spezialbetriebssystem umfasst, das bei einem ersten sicheren Bootvorgang, der durch den ersten Kryptoprozessor nach einem Hochfahren oder einer Systemrücksetzung der ersten Vorrichtung initiiert wird, in einem ersten Verarbeitungsressourcensatz in einem geschützten Bereich der Hardwareplattform in einer ersten Vorrichtung instanziiert ist, wobei der erste Verarbeitungsressourcensatz einen ersten dedizierten Prozessor und ein erstes geschütztes Speichersegment und einen ersten Kryptoprozessor umfasst; und Einrichten einer vertrauenswürdigen normalen Ausführungsumgebung (T-REE), die ein vertrauenswürdiges Universalbetriebssystem umfasst, das bei einem zweiten sicheren Bootvorgang nach dem erfolgreichen ersten sicheren Bootvorgang der vertrauenswürdigen Ausführungsumgebung (TEE) in dem ersten Verarbeitungsressourcensatz als virtuelle Maschine in einem zweiten Verarbeitungsressourcensatz in einem ungeschützten Bereich der Hardwareplattform in der ersten Vorrichtung instanziiert ist, wobei der zweite Verarbeitungsressourcensatz einen zweiten dedizierten Prozessor und ein zweites geschütztes Speichersegment umfasst.
  18. Verfahren nach Anspruch 17, wobei das vertrauenswürdige Universalbetriebssystem in der vertrauenswürdigen normalen Ausführungsumgebung (T-REE) in der ersten Vorrichtung durch den zweiten sicheren Bootvorgang nach dem erfolgreichen Abschluss des ersten sicheren Bootvorgangs der vertrauenswürdigen Ausführungsumgebung instanziiert wird, wobei das vertrauenswürdige Universalbetriebssystem durch Verifizierung digitaler Signaturen authentifiziert wird, die von einer vertrauenswürdigen Organisation erzeugt werden und denen das vertrauenswürdige Spezialbetriebssystem in der vertrauenswürdigen Ausführungsumgebung (TEE) vertraut.
  19. Verfahren nach Anspruch 17, wobei Daten, die über den TEE-Kommunikationsagenten zwischen der vertrauenswürdigen normalen Ausführungsumgebung (T-REE) und der vertrauenswürdigen Ausführungsumgebung (TEE) in der ersten Vorrichtung übertragen werden, durch Vertraulichkeits-, Integritäts- und Authentifizierungsdienste geschützt werden.
  20. Verfahren nach Anspruch 17, das ferner Folgendes umfasst: Einrichten einer vertrauenswürdigen Beziehung zwischen der ersten Vorrichtung und einer zweiten Vorrichtung nach der erfolgreichen Einrichtung einer vertrauenswürdigen Ausführungsumgebung (TEE) in dem ersten Verarbeitungsressourcensatz in der ersten Vorrichtung durch Ausführen eines Verfahrens zur gegenseitigen Authentifizierung zwischen dem ersten Kryptoprozessor in dem ersten Verarbeitungsressourcensatz in der ersten Vorrichtung und einem zweiten Kryptoprozessor in einem vierten Verarbeitungsressourcensatz in der zweiten Vorrichtung.
  21. Verfahren nach Anspruch 17, das ferner Folgendes umfasst: Einrichten einer sicheren Kommunikation mit Vertraulichkeits-, Integritäts- und Authentifizierungsschutz zwischen dem ersten Kryptoprozessor in der ersten Vorrichtung und einem zweiten Kryptoprozessor in einer zweiten Vorrichtung nach dem erfolgreichen Abschluss der gegenseitigen Authentifizierung zwischen der ersten Vorrichtung und der zweiten Vorrichtung.
  22. Verfahren nach Anspruch 17, das ferner Folgendes umfasst: Einrichten einer sicheren Übertragung von Programm und Daten zwischen dem zweiten dedizierten Prozessor im zweiten Verarbeitungsressourcensatz in der ersten Vorrichtung und einem dritten dedizierten Prozessor in einem vierten Verarbeitungsressourcensatz auf der zweiten Vorrichtung mit Vertraulichkeits-, Integritäts- und Authentifizierungsschutz durch sichere Übertragung zwischen dem ersten Kryptoprozessor im ersten Verarbeitungsressourcensatz in der ersten Vorrichtung und dem zweiten Kryptoprozessor im vierten Verarbeitungsressourcensatz in der zweiten Vorrichtung.
  23. Verfahren nach Anspruch 17, wobei der Zustand der Programmausführung in dem dritten dedizierten Prozessor in dem vierten Verarbeitungsressourcensatz in der zweiten Vorrichtung durch die Erzeugung eines signierten Hashwertes des Inhalts des dedizierten Speichers unter Verwendung des zweiten Kryptoprozessors verifiziert wird, gefolgt von der Übertragung des signierten Hashwertes von dem dritten dedizierten Prozessor auf der zweiten Vorrichtung zu dem zweiten dedizierten Prozessor in dem zweiten Verarbeitungsressourcensatz in der ersten Vorrichtung, wobei die vertrauenswürdige normale Ausführungsumgebung (T-REE) im zweiten Verarbeitungsressourcensatz instanziiert wird.
  24. Verfahren nach Anspruch 17, wobei ein erster Kryptoprozessor in der ersten Vorrichtung so konfiguriert ist, dass er den ersten sicheren Bootvorgang des vertrauenswürdigen Spezialbetriebssystems in der vertrauenswürdigen Ausführungsumgebung (TEE) durchführt, und so konfiguriert ist, dass er eine gegenseitige Authentifizierung zwischen der ersten Vorrichtung und der zweiten Vorrichtung durchführt, und so konfiguriert ist, dass er einen Vertraulichkeits- und Integritätsschutz für Daten bereitstellt, die in den geschützten Segmenten in dem gemeinsamen Speicher gespeichert sind, und einen Vertraulichkeits-, Integritäts- und Authentifizierungsschutz für die Datenübertragung über einen gemeinsam genutzten Bus und eine offene Verbindung bereitstellt; und ein zweiter Kryptoprozessor so konfiguriert ist, dass er eine gegenseitige Authentifizierung zwischen der ersten Vorrichtung und der zweiten Vorrichtung durchführt, und so konfiguriert ist, dass er einen Vertraulichkeits-, Integritäts- und Authentifizierungsschutz für die über die offene Verbindung übertragenen Daten bereitstellt.
  25. Verfahren nach Anspruch 17, wobei es sich bei dem ersten sicheren Bootvorgang und dem zweiten sicheren Bootvorgang um einen Mechanismus zur Überprüfung der Authentizität und Integrität der Systemfirmware und -software handelt, indem eine digitale Signatur des Hashwertes des Objektcodes verifiziert wird, der von einer vertrauenswürdigen Organisation ausgegeben wurde, die sich von Anbieter und Verbraucher des Objektcodes unterscheidet.
DE112020003881.5T 2019-08-16 2020-08-14 System und verfahren zur durchführung von trusted computing mit fernbescheinigung und informationsisolierung auf heterogenen prozessoren über eine offene verbindung Active DE112020003881T8 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201962887678P 2019-08-16 2019-08-16
US62/887,678 2019-08-16
PCT/CA2020/051115 WO2021030903A1 (en) 2019-08-16 2020-08-14 System and method for performing trusted computing with remote attestation and information isolation on heterogeneous processors over open interconnect

Publications (2)

Publication Number Publication Date
DE112020003881T5 true DE112020003881T5 (de) 2022-05-12
DE112020003881T8 DE112020003881T8 (de) 2022-06-09

Family

ID=74659487

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112020003881.5T Active DE112020003881T8 (de) 2019-08-16 2020-08-14 System und verfahren zur durchführung von trusted computing mit fernbescheinigung und informationsisolierung auf heterogenen prozessoren über eine offene verbindung

Country Status (6)

Country Link
US (1) US20220309182A1 (de)
JP (1) JP7416480B2 (de)
CN (1) CN114600108A (de)
DE (1) DE112020003881T8 (de)
TW (1) TWI759827B (de)
WO (1) WO2021030903A1 (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230030816A1 (en) * 2021-07-30 2023-02-02 Red Hat, Inc. Security broker for consumers of tee-protected services
CN113821803B (zh) * 2021-11-24 2022-02-15 飞腾信息技术有限公司 安全架构系统、安全管理方法和计算设备
TWI830522B (zh) * 2022-03-29 2024-01-21 聯發科技股份有限公司 能夠增強記憶體保護的方法及計算系統
CN115664836B (zh) * 2022-11-07 2023-10-03 海光信息技术股份有限公司 数据传输方法、装置、计算机设备及存储介质
CN116527257B (zh) * 2023-06-27 2023-10-31 粤港澳大湾区数字经济研究院(福田) 异构计算系统及基于异构计算系统的资源处理方法

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7694121B2 (en) * 2004-06-30 2010-04-06 Microsoft Corporation System and method for protected operating system boot using state validation
US8380987B2 (en) 2007-01-25 2013-02-19 Microsoft Corporation Protection agents and privilege modes
US8868925B2 (en) * 2008-12-09 2014-10-21 Nvidia Corporation Method and apparatus for the secure processing of confidential content within a virtual machine of a processor
US8990582B2 (en) * 2010-05-27 2015-03-24 Cisco Technology, Inc. Virtual machine memory compartmentalization in multi-core architectures
US8375221B1 (en) * 2011-07-29 2013-02-12 Microsoft Corporation Firmware-based trusted platform module for arm processor architectures and trustzone security extensions
US9292712B2 (en) * 2012-09-28 2016-03-22 St-Ericsson Sa Method and apparatus for maintaining secure time
US9147086B1 (en) * 2013-06-07 2015-09-29 Amazon Technologies, Inc. Trusted computing host
US9507961B2 (en) * 2013-07-01 2016-11-29 Qualcomm Incorporated System and method for providing secure access control to a graphics processing unit
US9456003B2 (en) * 2013-07-24 2016-09-27 At&T Intellectual Property I, L.P. Decoupling hardware and software components of network security devices to provide security software as a service in a distributed computing environment
US10049048B1 (en) * 2013-10-01 2018-08-14 Facebook, Inc. Method and system for using processor enclaves and cache partitioning to assist a software cryptoprocessor
JP6417539B2 (ja) * 2013-12-27 2018-11-07 パナソニックIpマネジメント株式会社 情報処理装置
US10097513B2 (en) * 2014-09-14 2018-10-09 Microsoft Technology Licensing, Llc Trusted execution environment extensible computing device interface
US10073972B2 (en) * 2014-10-25 2018-09-11 Mcafee, Llc Computing platform security methods and apparatus
US10754967B1 (en) * 2014-12-15 2020-08-25 Marvell Asia Pte, Ltd. Secure interrupt handling between security zones
JP6304837B2 (ja) 2016-03-16 2018-04-04 インテル・コーポレーション 仮想マシンおよびネストにされた仮想マシンマネージャの認証されたランチ
US20180060077A1 (en) * 2016-08-26 2018-03-01 Qualcomm Incorporated Trusted platform module support on reduced instruction set computing architectures
CN106548077B (zh) * 2016-10-19 2019-03-15 沈阳微可信科技有限公司 通信系统和电子设备
KR102511451B1 (ko) * 2016-11-09 2023-03-17 삼성전자주식회사 리치 실행 환경에서 보안 어플리케이션을 안전하게 실행하는 컴퓨팅 시스템
US20190370549A1 (en) * 2017-02-10 2019-12-05 Visa International Service Association Augmented and virtual reality operations system
JP2019061538A (ja) 2017-09-27 2019-04-18 大日本印刷株式会社 コンピュータプログラム、デバイス及び抑制方法
CN108154032B (zh) * 2017-11-16 2021-07-30 中国科学院软件研究所 具有内存完整性保障功能的计算机系统信任根构建方法
CN108737373B (zh) * 2018-04-12 2020-09-22 国家计算机网络与信息安全管理中心 一种针对大型网络设备隐匿技术的安全取证方法
US10922441B2 (en) * 2018-05-04 2021-02-16 Huawei Technologies Co., Ltd. Device and method for data security with a trusted execution environment
US10880099B2 (en) * 2018-05-23 2020-12-29 Wipro Limited Method and system for protecting computing devices from malwares
US11048800B2 (en) * 2018-12-17 2021-06-29 Intel Corporation Composable trustworthy execution environments

Also Published As

Publication number Publication date
US20220309182A1 (en) 2022-09-29
JP7416480B2 (ja) 2024-01-17
TWI759827B (zh) 2022-04-01
CN114600108A (zh) 2022-06-07
JP2022544912A (ja) 2022-10-24
DE112020003881T8 (de) 2022-06-09
TW202113648A (zh) 2021-04-01
WO2021030903A1 (en) 2021-02-25

Similar Documents

Publication Publication Date Title
DE112018002031B4 (de) Sichern einer betriebssystemkonfiguration unter verwendung von hardware
DE112020003881T5 (de) System und verfahren zur durchführung von trusted computing mit fernbescheinigung und informationsisolierung auf heterogenen prozessoren über eine offene verbindung
DE10195999B3 (de) Computersystem mit einer in einem Chipsatz enthaltenen Speichersteuereinrichtung zum Kontrollieren von Zugriffen auf einen isolierten Speicher für eine isolierte Ausführung
DE10394383B4 (de) Verfahren und Vorrichtung zum Laden eines vertrauenswürdigen Betriebssystems
DE102008021567B4 (de) Computersystem mit sicherem Hochlaufmechanismus auf der Grundlage einer Verschlüsselung mit symmetrischem Schlüssel
DE102011103218B4 (de) Systeme, Verfahren und Vorrichtung zum Virtualisieren von TPM- Zugriffen
DE112015004555B4 (de) Verarbeiten eines Gast-Ereignisses in einem von einem Hypervisor gesteuerten System
DE10297273B4 (de) Verfahren zur Bereitstellung von Systemintegrität und Legacy-Umgebungsemulation
DE60006217T2 (de) Techniken zum gewähren des zugriffs durch eine kontextsperre in einem gerät mit kleinem platzbedarf unter verwendung von einem eingangspunktobjekt
DE102008011925B4 (de) Sicheres Initialisieren von Computersystemen
DE112005001739B4 (de) Nachverfolgung geschützter Speicherbereiche zur Beschleunigung von Antivirusprogrammen
DE69731714T2 (de) Dynamische Dienstklassen für eine internationale kryptographische Struktur
DE112016005833T5 (de) Datenverarbeitungsgeräte
DE112008002888T5 (de) Hardwarevorrichtungsschnittstelle, die Transaktionsauthentifizierung unterstützt
DE10292364T5 (de) Sichere Maschinenplattform, die mit Betriebssystemen und awendungsspezifischen Steuerprogrammen eine Schnittstelle bildet
DE112016006003T5 (de) Vertrauenswürdiger Start sicherer Enklaven in virtuellen Umgebungen
US20070261120A1 (en) Method & system for monitoring integrity of running computer system
DE202014011092U1 (de) Sicherheitsarchitektur für virtuelle Maschinen
DE112020000280B4 (de) Transparente interpretation von gastbefehlen in einer sicheren virtuellen maschinenumgebung
DE102019128261A1 (de) Datenfreigabesteuerung auf der Basis von Authentifizierung und Verbindungsstreckenschutz
DE102018115670A1 (de) Technologien für die Ausführung von nicht vertrauenswürdigem Code mit Prozessor-Sandbox-Unterstützung
DE60002687T2 (de) Techniken zum gewähren des zugriffs durch eine kontextsperre in einem gerät mit kleinem platzbedarf unter verwendung von laufzeitumgebungsprivilegien
DE112020000303T5 (de) Testen von speicherschutz-hardware in einer umgebung einer sicheren virtuellen maschine
DE202017007430U1 (de) Erkennen von Bussperrbedingungen und Vermeiden von Bussperren
WO2021122734A1 (de) Verfahren und vorrichtung zum betreiben einer recheneinrichtung

Legal Events

Date Code Title Description
R012 Request for examination validly filed