DE102021206609A1 - Secure environment, controller and system comprising these entities - Google Patents

Secure environment, controller and system comprising these entities Download PDF

Info

Publication number
DE102021206609A1
DE102021206609A1 DE102021206609.7A DE102021206609A DE102021206609A1 DE 102021206609 A1 DE102021206609 A1 DE 102021206609A1 DE 102021206609 A DE102021206609 A DE 102021206609A DE 102021206609 A1 DE102021206609 A1 DE 102021206609A1
Authority
DE
Germany
Prior art keywords
status information
secure environment
status
control device
store
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102021206609.7A
Other languages
German (de)
Inventor
Markus Gueller
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.)
Infineon Technologies AG
Original Assignee
Infineon Technologies AG
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 Infineon Technologies AG filed Critical Infineon Technologies AG
Priority to DE102021206609.7A priority Critical patent/DE102021206609A1/en
Publication of DE102021206609A1 publication Critical patent/DE102021206609A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/575Secure boot
    • 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/64Protecting data integrity, e.g. using checksums, certificates or signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)

Abstract

Eine Sichere-Umgebung-Vorrichtung für ein System weist eine erste Schnittstelle, die mit einer Host-Entität verbindbar ist, eine zweite Schnittstelle, die mit einer Steuerentität verbindbar ist und einen Informationsspeicher auf, der konfiguriert ist zum Speichern von Objekten. Die Sichere-Umgebung-Vorrichtung weist einen ersten Statusspeicher auf, der konfiguriert ist zum Speichern erster Statusinformationen, die sich auf einen Status des Systems beziehen, wobei die ersten Statusinformationen von der Host-Entität empfangen werden. Die Sichere-Umgebung-Vorrichtung weist einen zweiten Statusspeicher auf, der konfiguriert ist zum Speichern zweiter Statusinformationen, die sich auf den Status des Systems beziehen, wobei die zweiten Statusinformationen von der Steuervorrichtung empfangen werden. Die Sichere-Umgebung-Vorrichtung ist konfiguriert zum Bereitstellen eines Objekts von dem Informationsspeicher an die Host-Entität oder an die Steuervorrichtung basierend auf den zweiten Statusinformationen.A secure environment device for a system has a first interface connectable to a host entity, a second interface connectable to a control entity, and an information store configured to store objects. The secure environment device includes a first status store configured to store first status information related to a status of the system, the first status information being received from the host entity. The secure environment device includes a second status memory configured to store second status information related to the status of the system, the second status information being received from the controller. The secure environment device is configured to provide an object from the information store to the host entity or to the control device based on the second status information.

Description

Die vorliegende Offenbarung bezieht sich auf eine Sichere-Umgebung-Vorrichtung für ein System, auf eine Steuervorrichtung für ein System und auf ein System, das eine Sichere-Umgebung-Vorrichtung und eine Steuervorrichtung aufweist. Die vorliegende Offenbarung bezieht sich ferner auf eine sichere Umgebung mit einer Außerband-Verwaltung und insbesondere auf eine vertrauenswürdige Umgebung mit einer Außerband-Verwaltung von vertrauenswürdigen Plattformzuständen.The present disclosure relates to a secure environment device for a system, a controller for a system, and a system including a secure environment device and a controller. The present disclosure further relates to a secure environment with out-of-band management, and more particularly to a trusted environment with out-of-band management of trusted platform states.

in einem sicheren System kann ein Host die Integrität des Systems durch die Nutzung einer sicheren Umgebung verifizieren, unter Verwendung von Root-of-Trust for Storage (RTS), Root-of-Trust for Measurement (RTM) und Root-of-Trust for Reporting (RTR). Basierend auf Messungen unter Verwendung von RTM kann ein Bericht, der RTR verwendet, erzeugt werden, der zum Wiedergewinnen eines Schlüssels oder Datenobjekts führen kann, der/das in dem System unter Verwendung von RTS zu verwenden ist.in a secure system, a host can verify the integrity of the system using a secure environment using Root-of-Trust for Storage (RTS), Root-of-Trust for Measurement (RTM), and Root-of-Trust for Reporting (RTR). Based on measurements using RTM, a report using RTR can be generated, which can lead to retrieval of a key or data object to be used in the system using RTS.

Es gibt einen Bedarf, einen Status des Systems sicher zu messen, zu speichern und zu berichten.There is a need to securely measure, store and report a status of the system.

Somit besteht eine Aufgabe darin, eine Lösung zum sicheren Messen, Speichern und Berichten eines Status des Systems zu schaffen.Thus, one object is to provide a solution for securely measuring, storing and reporting a status of the system.

Gemäß einem Ausführungsbeispiel weist eine Sichere-Umgebung-Vorrichtung für ein System eine erste Schnittstelle, die mit einer Host-Entität verbindbar ist, und eine zweite Schnittstelle auf, die mit einer Steuervorrichtung verbindbar ist, zum Beispiel einer vertrauenswürdigen Umgebung. Die Sichere-Umgebung-Vorrichtung weist zumindest ein Objekt und einen Statusspeicher auf, der konfiguriert ist zum Speichern von Statusinformationen, die sich auf einen Status des Systems beziehen, wobei die Statusinformationen von der Steuervorrichtung empfangen werden. Die sichere Umgebung ist konfiguriert zum Freigeben des Objekts basierend auf den Statusinformationen.According to an embodiment, a secure environment device for a system has a first interface connectable to a host entity and a second interface connectable to a control device, for example a trusted environment. The secure environment device includes at least one object and a status store configured to store status information related to a status of the system, the status information being received from the control device. The secure environment is configured to release the object based on the status information.

Gemäß einem Ausführungsbeispiel ist eine Steuervorrichtung für ein System konfiguriert zum Untersuchen eines Status des Systems, um Statusinformationen zu erzeugen. Die Steuervorrichtung weist eine Schnittstelle auf, die mit einer sicheren Umgebung des Systems verbindbar ist, wobei die Steuervorrichtung konfiguriert ist zum Speichern der Statusinformationen in einem Speicher der sicheren Umgebung.According to one embodiment, a controller for a system is configured to examine a status of the system to generate status information. The controller has an interface connectable to a secure environment of the system, wherein the controller is configured to store the status information in a memory of the secure environment.

Weitere Ausführungsbeispiele sind in den abhängigen Ansprüchen definiert.Further embodiments are defined in the dependent claims.

Vorteilhafte Ausführungsbeispiele der vorliegenden Offenbarung werden nachfolgend unter Bezugnahme auf die beiliegenden Zeichnungen näher erläutert. Es zeigen:

  • 1a ein schematisches Blockdiagramm einer Sichere-Umgebung-Vorrichtung gemäß einem Ausführungsbeispiel;
  • 1b ein schematisches Blockdiagramm einer Sichere-Umgebung-Vorrichtung gemäß einem Ausführungsbeispiel mit zumindest zwei Statusspeichereinheiten;
  • 2 ist ein schematisches Blockdiagramm einer Steuervorrichtung gemäß einem Ausführungsbeispiel;
  • 3 ein schematisches Blockdiagramm eines Systems gemäß einem Ausführungsbeispiel;
  • 4 ein schematisches Blockdiagramm eines Systems gemäß einem Ausführungsbeispiel, in dem die Sichere-Umgebung-Vorrichtung Statusinformationen von der Host-Entität und von der Steuervorrichtung empfangen kann; und
  • 5 ein schematisches Blockdiagramm eines Systems gemäß einem Ausführungsbeispiel, in dem die Steuervorrichtung mit einer zusätzlichen Komponente verbunden ist.
Advantageous exemplary embodiments of the present disclosure are explained in more detail below with reference to the attached drawings. Show it:
  • 1a 12 is a schematic block diagram of a secure environment device according to an embodiment;
  • 1b 12 shows a schematic block diagram of a secure environment device according to an embodiment with at least two state storage units;
  • 2 12 is a schematic block diagram of a control device according to an embodiment;
  • 3 12 is a schematic block diagram of a system according to an embodiment;
  • 4 12 is a schematic block diagram of a system according to an embodiment in which the secure environment device can receive status information from the host entity and from the control device; and
  • 5 12 is a schematic block diagram of a system according to an embodiment, in which the control device is connected to an additional component.

Gleiche oder äquivalente Elemente oder Elemente mit gleicher oder äquivalenter Funktionalität sind in der folgenden Beschreibung mit gleichen oder äquivalenten Bezugszeichen bezeichnet, selbst wenn dieselben in unterschiedlichen Figuren erscheinen.The same or equivalent elements or elements with the same or equivalent functionality are denoted in the following description with the same or equivalent reference numbers, even if they appear in different figures.

In der folgenden Beschreibung wird eine Mehrzahl von Einzelheiten aufgeführt, um eine gründlichere Erläuterung von Ausführungsbeispielen der vorliegenden Offenbarung bereitzustellen. Für Fachleute auf diesem Gebiet ist jedoch klar, dass Ausführungsbeispiele der vorliegenden Offenbarung ohne diese spezifischen Einzelheiten praktiziert werden können. In anderen Fällen sind gut bekannte Strukturen und Vorrichtungen in Blockdiagrammform und nicht im Einzelnen gezeigt, um das Behindern von Ausführungsbeispielen der vorliegenden Offenbarung zu vermeiden. Außerdem können Merkmale der hierin nachfolgend beschriebenen unterschiedlichen Ausführungsbeispiele miteinander kombiniert werden, es sei denn, dies ist speziell anderweitig angemerkt.In the following description, numerous details are set forth in order to provide a more thorough explanation of exemplary embodiments of the present disclosure. However, it will be appreciated by those skilled in the art that embodiments of the present disclosure may be practiced without these specific details. In other instances, well-known structures and devices are shown in block diagram form rather than in detail in order to obscure example embodiments of the present disclosure. Furthermore, features of the different embodiments described hereinafter may be combined with each other unless specifically noted otherwise.

1a zeigt ein schematisches Blockdiagramm einer Sichere-Umgebung-Vorrichtung 101 gemäß einem Ausführungsbeispiel. Die Sichere-Umgebung-Vorrichtung 10 kann für ein Datensystem, ein Computersystem oder ein sicheres System verwendet werden. Als sichere Umgebung kann ein System angesehen werden, das die gesteuerte Speicherung und Nutzung von Informationen implementiert. im Fall von Rechendatenverlust kann die sichere Umgebung spezifische Daten schützen, wie zum Beispiel persönliche und/oder vertrauliche Daten. Die Sichere-Umgebung-Vorrichtung kann Kryptographie als Mittel zum Schützen von Informationen verwenden. 1a 1 shows a schematic block diagram of a secure environment device 10 1 according to an embodiment. The secure environment device 10 can be used for a data system, a computer system, or a secure system. A secure environment can be viewed as a system that implements the controlled storage and use of information. in case of computing data loss, the secure environment can protect specific data, such as personal and/or confidential data. The secure environment device can use cryptography as a means of protecting information.

Die Sichere-Umgebung-Vorrichtung 101 weist eine erste Schnittstelle 12 auf, die mit einer Host-Entität verbindbar ist. Beispielsweise kann die Schnittstelle 12 Zugriff auf eine verdrahtete oder drahtlose Verbindung bereitstellen, zum Beispiel einen Bus oder dergleichen.The secure environment device 10 1 has a first interface 12 connectable to a host entity. For example, interface 12 may provide access to a wired or wireless connection, such as a bus or the like.

Die Sichere-Umgebung-Vorrichtung 101 weist eine Schnittstelle 14 auf, die mit einer Steuervorrichtung, zum Beispiel einer vertrauenswürdigen Umgebung, verbindbar ist. Die Schnittstelle 14 kann eine gleiche oder andere Zugriffstechnologie verwenden als die Schnittstelle 12. Die Schnittstellen 12 und 14 sind für eine Verbindung mit unterschiedlichen Vorrichtungen implementiert, zum Beispiel der Host-Entität und der Steuervorrichtung.The secure environment device 10 1 has an interface 14 which can be connected to a control device, for example a trusted environment. Interface 14 may use the same or different access technology than interface 12. Interfaces 12 and 14 are implemented to connect to different devices, for example the host entity and the controller.

Die Sichere-Umgebung-Vorrichtung 101 weist ein oder mehrere Objekte auf, die durch das Objekt 18 dargestellt sind. Beispielsweise weist die sichere Umgebung einen Informationsspeicher 16 auf, der zum Speichern eines oder mehrerer Objekte 18 konfiguriert ist, zum Beispiel einer Information oder eines Datenelements, wie zum Beispiel eines Schlüssels oder anderen Datentyps. Das heißt, gemäß Beispielen kann das Objekt vom Informationstyp oder vom Schlüsseltyp sein. Alternativ kann das Objekt 18 eine andere Komponente aufweisen oder sein, die hinsichtlich des Zugriffs geschützt ist. Beispielsweise kann das Objekt 18 zumindest einen Teil eines Datenspeichers aufweisen, zum Beispiel eines nichtflüchtigen Datenspeichers. Das heißt, das Objekt 18 kann vom Strukturtyp, z.B. Speicher sein. Die sichere Umgebung kann eine Mehrzahl von Objekten aufweisen, die von einem gleichen oder unterschiedlichen Typ sind.Secure environment device 10 1 includes one or more objects represented by object 18 . For example, the secure environment includes an information store 16 configured to store one or more objects 18, for example information or an item of data, such as a key or other type of data. That is, according to examples, the object may be information type or key type. Alternatively, the object 18 may include or be another component that is protected from access. For example, the object 18 may include at least a portion of data storage, such as non-volatile data storage. That is, the object 18 can be of a structure type, eg memory. The secure environment may include a plurality of objects that are of the same or different types.

Die Sichere-Umgebung-Vorrichtung 101 weist einen Statusspeicher 26 auf, der konfiguriert ist zum Speichern von Statusinformationen 28, die sich auf einen Status des Systems beziehen, mit dem die Sichere-Umgebung-Vorrichtung während des Betriebs verbunden sein kann. Die Statusinformationen 28 können von der Steuervorrichtung empfangen werden, die über die Schnittstelle 14 verbunden ist.The secure environment device 10 1 has a status store 26 configured to store status information 28 relating to a status of the system to which the secure environment device may be connected during operation. The status information 28 can be received by the control device, which is connected via the interface 14 .

Die Sichere-Umgebung-Vorrichtung 101 kann konfiguriert sein zum Bereitstellen eines flexiblen schnittstellenspezifischen Zugriffssteuerung(AC; AC = Access Control)-Mechanismus basierend auf der Schnittstelle 14. Das heißt, der Steuervorrichtung kann Zugriff gewährt werden, während ein Zugriff für andere Entitäten beschränkt ist.The secure environment device 10 1 can be configured to provide a flexible interface-specific access control (AC) mechanism based on the interface 14. That is, the control device can be granted access while restricting access for other entities is.

Die Sichere-Umgebung-Vorrichtung 101 kann eine Zugriffssteuerung in Bezug auf das Objekt 18 bereitstellen, insbesondere eine Mehrzahl von zugreifbaren Objekten. Zugriff kann basierend auf den Statusinformationen 28 gesteuert werden, zum Beispiel gewährt oder abgelehnt werden. Zugriff kann der Steuervorrichtung und/oder der Host-Entität gewährt werden.The secure environment device 10 1 may provide access control to the object 18, specifically a plurality of accessible objects. Access can be controlled based on the status information 28, e.g. granted or denied. Access can be granted to the controller and/or the host entity.

Die Sichere-Umgebung-Vorrichtung 101 kann konfiguriert sein zum Speichern der Statusinformationen 28 in dem Statusspeicher 26 unabhängig von der Host-Entität.The secure environment device 10 1 may be configured to store the state information 28 in the state store 26 independently of the host entity.

Das heißt, die Host-Entität 12 kann Zugriff darauf haben, die Statusinformationen 28 zu speichern. Im Vergleich zu der Hostvorrichtung kann die Steuervorrichtung die Statusinformationen 28 in dem Statusspeicher 26 speichern. Die Statusinformationen 28 können sich auf eine oder mehrere dieser Komponenten beziehen.That is, host entity 12 may have access to store status information 28 . Compared to the host device, the control device can store the status information 28 in the status memory 26 . Status information 28 may relate to one or more of these components.

1b zeigt ein schematisches Blockdiagramm einer Sichere-Umgebung-Vorrichtung 102 gemäß einem Ausführungsbeispiel. Einige spezifische Einzelheiten sind in Verbindung mit der Sichere-Umgebung-Vorrichtung 102 beschrieben, wobei die Sichere-Umgebung-Vorrichtung 102 auf einer Sichere-Umgebung-Vorrichtung 101 basiert und zusätzliche Funktionalität in Bezug auf einen zusätzlichen Statusspeicher aufweist, d.h. im Vergleich zu der Sichere-Umgebung-Vorrichtung 101 weist die Sichere-Umgebung-Vorrichtung 102 eine erste Statusspeichereinheit 22 und eine zweite Statusspeichereinheit als Statusspeicher 26 der Sichere-Umgebung-Vorrichtung 101 auf. 1b 10 shows a schematic block diagram of a secure environment device 10 2 according to an embodiment. Some specific details are described in connection with the secure environment device 10 2 , where the secure environment device 10 2 is based on a secure environment device 10 1 and has additional functionality in relation to an additional state memory, ie in comparison to the secure environment device 10 1 points the secure environment device 10 2 has a first status storage unit 22 and a second status storage unit as the status storage 26 of the secure environment device 10 1 .

Die Sichere-Umgebung-Vorrichtung 102 weist die erste Schnittstelle 12 auf, die mit einer Host-Entität verbindbar ist. Die Sichere-Umgebung-Vorrichtung 102 weist die zweite Schnittstelle 14 auf, die mit einer Steuervorrichtung, zum Beispiel einer vertrauenswürdigen Umgebung, verbindbar ist.The secure environment device 10 2 has the first interface 12 connectable to a host entity. The secure environment device 10 2 has the second interface 14 connectable to a control device, for example a trusted environment.

Als Sichere-Umgebung-Vorrichtung 101 weist die Sichere-Umgebung-Vorrichtung 102 ein oder mehrere Objekte auf, die durch das Objekt 18 dargestellt sind. Beispielsweise weist die sichere Umgebung einen Informationsspeicher 16 auf, der zum Speichern eines oder mehrerer Objekte 18 konfiguriert ist, zum Beispiel einer Information oder eines Datenelements, wie zum Beispiel eines Schlüssels oder anderen Datentyps. Das heißt, das Objekt 18 kann vom Informationstyp oder vom Schlüsseltyp sein. Alternativ kann das Objekt 18 eine andere Komponente aufweisen oder sein, die hinsichtlich des Zugriffs geschützt ist. Beispielsweise kann das Objekt 18 zumindest einen Teil eines Datenspeichers aufweisen, zum Beispiel eines nichtflüchtigen Datenspeichers. Das heißt, das Objekt 18 kann vom Strukturtyp, z.B. Speicher, sein. Die sichere Umgebung kann eine Mehrzahl von Objekten aufweisen, die vom gleichen oder unterschiedlichen Typ sind.As secure environment device 10 1 , secure environment device 10 2 includes one or more objects represented by object 18 . For example, the secure environment includes an information store 16 configured to store one or more objects 18, for example information or an item of data, such as a key or other type of data. That is, the object 18 can be information type or key type. Alternatively, the object 18 may include or be another component that is protected from access. For example, the object 18 may include at least a portion of data storage, such as non-volatile data storage. That is, the object 18 can be of a structure type, eg storage. The secure environment may include a plurality of objects that are of the same or different types.

Die Sichere-Umgebung-Vorrichtung 102 weist einen ersten Statusspeicher oder eine erste Speichereinheit 22 auf, die konfiguriert ist zum Speichern erster Statusinformationen 24, die sich auf einen Status des Systems beziehen, mit dem die Sichere-Umgebung-Vorrichtung während des Betriebs verbunden sein kann. Die ersten Statusinformationen 24 können von der Host-Entität, die über die erste Schnittstelle 12 verbunden ist, und/oder von der Steuervorrichtung empfangen werden, die über die zweite Schnittstelle 14 verbunden ist.The secure environment device 10 2 has a first status memory or storage unit 22 configured to store first status information 24 relating to a status of the system to which the secure environment device is connected during operation can. The first status information 24 can be received from the host entity connected via the first interface 12 and/or from the control device connected via the second interface 14 .

Gleichartig dazu weist die Sichere-Umgebung-Vorrichtung 102 einen zweiten Statusspeicher oder eine zweite Statusspeichereinheit als den Statusspeicher 26 auf, der konfiguriert ist zum Speichern der Statusinformationen, die in Verbindung mit der Sichere-Umgebung-Vorrichtung 101 als zweite Statusinformationen 28 beschrieben sind, die sich auf den Status des Systems beziehen. Die zweiten Statusinformationen 28 können von der Steuervorrichtung empfangen werden, die über die zweite Schnittstelle 14 mit der Sichere-Umgebung-Vorrichtung 102 verbunden sein kann.Similarly, the secure environment device 10 2 has a second status memory or a second status storage unit as the status memory 26 configured to store the status information described in connection with the secure environment device 10 1 as the second status information 28 , which relate to the status of the system. The second status information 28 may be received by the controller, which may be connected to the secure environment device 10 2 via the second interface 14 .

Das heißt, die Host-Entität 12 kann Zugriff auf die Speicherung von Statusinformationen 24 haben. Im Vergleich zu der Hostvorrichtung kann die Steuervorrichtung die ersten Statusinformationen 24 in dem ersten Statusspeicher 22 und/oder die zweiten Statusinformationen 28 in dem zweiten Statusspeicher 26 speichern. Ein Zugriff der Host-Entität auf den zweiten Statusspeicher 26 kann begrenzt oder verhindert werden, während ein Zugriff auf die Steuervorrichtung auf den ersten Statusspeicher 22 freigegeben werden kann. Die ersten Statusinformationen 24 und die zweiten Statusinformationen 28 können sich auf ein gleiches System beziehen, wobei das System eine Mehrzahl von Komponenten aufweisen kann. Die Statusinformationen 24 und/oder 28 können sich auf eine oder mehrere dieser Komponenten beziehen, so dass die Statusinformationen 24 und die Statusinformationen 28 die gleichen oder unterschiedliche Informationen anzeigen können, obwohl dieselben sich auf das gleiche System beziehen.That is, the host entity 12 may have access to the status information 24 storage. Compared to the host device, the control device can store the first status information 24 in the first status memory 22 and/or the second status information 28 in the second status memory 26 . Host entity access to the second state memory 26 may be limited or prevented, while controller access to the first state memory 22 may be enabled. The first status information 24 and the second status information 28 can relate to the same system, with the system being able to have a plurality of components. Status information 24 and/or 28 may relate to one or more of these components, such that status information 24 and status information 28 may indicate the same or different information, although pertaining to the same system.

Gemäß Ausführungsbeispielen können sich die ersten Statusinformationen beispielsweise auf einen Hardware-Status, einen Firmware-Status, einen Software-Status von einer oder mehreren Komponenten des Systems beziehen. Die zweiten Statusinformationen 28 können sich beispielsweise auf einen Hardware-Status, einen Firmware-Status und/oder einen Software-Status von einer oder mehreren Komponenten beziehen, die im Vergleich zu den ersten Statusinformationen 24die gleichen oder unterschiedliche Komponenten sind.According to embodiments, the first status information can relate to a hardware status, a firmware status, a software status of one or more components of the system, for example. The second status information 28 can, for example, relate to a hardware status, a firmware status and/or a software status of one or more components that are the same or different components compared to the first status information 24 .

Die Sichere-Umgebung-Vorrichtung 102 ist konfiguriert zum Freigeben eines Objekts, wie zum Beispiel des Objekts 18, das in dem Informationsspeicher 16 gespeichert ist. Freigeben des Objekts kann ein oder mehrere Operationen basierend auf dem Objekt 18 erlauben. Beispielsweise kann das Objekt 18 für Lesezugriff und/oder Schreibzugriff freigegeben werden, falls das Objekt beispielsweise vom Speichertyp ist. Alternativ oder zusätzlich kann sich die Freigabe auf eine Freigabe für die Nutzung beziehen, die die Nutzung des Objekts erlaubt, zum Beispiel für eine Signieroperation oder dergleichen, wenn das Objekt 18 vom Schlüsseltyp ist, wobei diese Beispiele die Ausführungsbeispiele nicht auf solche Operationen beschränken sollen.The secure environment device 10 2 is configured to release an object, such as the object 18 , stored in the information store 16 . Releasing the object may allow one or more operations based on the object 18. For example, the object 18 can be enabled for read access and/or write access if the object is of the memory type, for example. Alternatively or additionally, the enablement may refer to an enablement for use that allows the object to be used, for example for a signing operation or the like, when the object 18 is of the key type, although these examples are not intended to limit the embodiments to such operations.

Das Objekt 18 kann basierend auf den zweiten Statusinformationen für die Host-Entität und/oder für die Steuervorrichtung freigegeben werden. Beispielsweise können die Statusinformationen dahingehend bewertet werden, ob dieselben einen vordefinierten Wert aufweisen und basierend darauf kann das Datenobjekt 18 freigegeben werden oder nicht. Beispielsweise können die zweiten Statusinformationen 28 eine spezifische Hardware-Version und/oder Software-Version von einer oder mehreren Komponenten des Systems anzeigen. Das Datenobjekt 18 kann beispielsweise nur in einem Fall bereitgestellt werden, in dem eine korrekte oder erwartete oder vordefinierte Version der Komponente in dem System vorliegt. Dies ermöglicht es, die Freigabe des Objekts 18 in einem nicht korrekten System zu verhindern. Alternativ oder zusätzlich können mehrere oder eine Mehrzahl von Objekten Teil der sicheren Umgebung sein. Ein spezifisches Objekt oder ein spezifischer Satz von Objekten davon kann freigegeben werden, wobei das freigegebene Objekt oder die Objekte mit den gespeicherten zweiten Statusinformationen 28 übereinstimmen können, während andere Objekte basierend auf einer Nichtübereinstimmung mit anderen vordefinierten Werten nicht freigegeben werden. Das heißt, das freizugebende Objekt kann beispielsweise basierend auf den zweiten Statusinformationen 28 ausgewählt werden, zum Beispiel basierend auf einer Hardware-Version, Firmware-Version und/oder einer Software-Version einer oder mehrerer Komponenten des Systems.The object 18 can be released for the host entity and/or for the control device based on the second status information. For example, the status information to that effect can be evaluated whether they have a predefined value and based on this the data object 18 can be released or not. For example, the second status information 28 can indicate a specific hardware version and/or software version of one or more components of the system. For example, the data object 18 can only be provided in a case where there is a correct or expected or predefined version of the component in the system. This makes it possible to prevent the object 18 from being released in an incorrect system. Alternatively or additionally, several or a plurality of objects can be part of the secure environment. A specific object or a specific set of objects thereof can be released, where the released object or objects can match the stored second status information 28, while other objects are not released based on a mismatch with other predefined values. This means that the object to be released can be selected based on the second status information 28, for example based on a hardware version, firmware version and/or a software version of one or more components of the system.

Die Sichere-Umgebung-Vorrichtung 102 kann konfiguriert sein zum Speichern der zweiten Statusinformationen 28 in dem zweiten Statusspeicher 26 unabhängig von der Host-Entität. Gemäß einem Ausführungsbeispiel kann der Steuervorrichtung Zugriff auf den ersten Statusspeicher 22 gewährt werden, so dass die Steuervorrichtung die ersten Statusinformationen 24 in dem ersten Statusspeicher 22 speichern kann. Gemäß einem Ausführungsbeispiel können beide Zugriffe auf den ersten Statusspeicher 22 und den zweiten Statusspeicher 26 unabhängig voneinander sein, zumindest in Bezug auf einen Schreibzugriff und optional auch auf einen Lesezugriff. Gemäß einem Ausführungsbeispiel kann der Host-Entität Lesezugriff auf den zweiten Statusspeicher 26 gewährt werden, d.h. dieselbe kann die zweiten Statusinformationen 28 lesen, während die Sichere-Umgebung-Vorrichtung 102 konfiguriert sein kann, um der Host-Entität keinen Schreibzugriff auf die zweiten Statusinformationen 28 zu gewähren. Dies kann es der Host-Entität erlauben, sich auf Ergebnisse zu verlassen, die durch die Steuervorrichtung bestimmt werden, während gleichzeitig eine Manipulation der zweiten Statusinformationen 28 durch die Hostvorrichtung gesichert wird. Dies kann eine Zugriffssteuerung auf den zweiten Statusspeicher 24 ermöglichen.The secure environment device 10 2 may be configured to store the second state information 28 in the second state store 26 independently of the host entity. According to an exemplary embodiment, the control device can be granted access to the first status memory 22 so that the control device can store the first status information 24 in the first status memory 22 . According to one embodiment, both accesses to the first status memory 22 and the second status memory 26 can be independent of one another, at least with regard to write access and optionally also to read access. According to one embodiment, the host entity may be granted read access to the second state memory 26, ie read the second state information 28, while the secure environment device 10 2 may be configured to not allow the host entity write access to the second state information 28 to grant. This may allow the host entity to rely on results determined by the controller device while at the same time securing manipulation of the second status information 28 by the host device. This can enable access control to the second status memory 24 .

Gemäß Ausführungsbeispielen kann die Steuervorrichtung Statusinformationen 28 in oder von dem zweiten Statusspeicher 26 erweitern oder lesen. Es ist möglich, dass die Steuervorrichtung auch die ersten Statusinformationen 24 des ersten Statusspeichers 22 erweitert und/oder liest. Die Host-Entität kann jedoch die ersten Statusinformationen 24 des ersten Statusspeichers 22 erweitern, während dieselbe keinen oder nur begrenzten Zugriff auf den zweiten Statusspeicher 26 hat, z.B. kann der Host darauf beschränkt sein, die Statusinformationen 28 zu erweitern und/oder dieselben zu lesen. Anders ausgedrückt, selbst wenn die Host-Entität die ersten Statusinformationen 24 erweitern kann, ist dies kein Sicherheitsproblem, da die Erweiterungsoperation die spezifische Eigenschaft hat, dass dieselbe immer die vorhergehenden Statusinformationen umfasst und dadurch den vorhergehenden Status nicht direkt schreiben/überschreiben kann.According to embodiments, the control device can expand or read status information 28 in or from the second status memory 26 . It is possible that the control device also expands and/or reads the first status information 24 of the first status memory 22 . However, the host entity may expand the first state information 24 of the first state store 22 while having no or limited access to the second state store 26, e.g. the host may be restricted to expand the status information 28 and/or read the same. In other words, even if the host entity can extend the first status information 24, this is not a security problem because the extension operation has the specific property that it always includes the previous status information and thereby cannot write/overwrite the previous status directly.

Gemäß einem Ausführungsbeispiel kann die Sichere-Umgebung-Vorrichtung 102 eine Root-of-Trust-for-Storage(RTS)- und eine Root-of-Trust-for-Reporting(RTR)-Funktionalität für das System aufweisen.According to one embodiment, the secure environment device 10 2 may provide root-of-trust-for-storage (RTS) and root-of-trust-for-reporting (RTR) functionality for the system.

Gemäß einem Ausführungsbeispiel kann die Sichere-Umgebung-Vorrichtung 102 konfiguriert sein, ein Objekt, wie zum Beispiel das Objekt 18, nur freizugeben, wenn die zweiten Statusinformationen 28 gleich den zweiten vordefinierten Statusinformationen sind. Beispielsweise wird ein jeweiliges Objekt, zum Beispiel ein Schlüssel, nur freigegeben, wenn ein korrekter Status, wie zum Beispiel ein Hardware-Status, ein Software-Status und/oder ein Firmware-Status bestimmt wird und/oder ein Objekt, das dem bestimmten Status entspricht, ausgewählt ist, um von einem Satz von Objekten freigegeben zu werden.According to one embodiment, the secure environment device 10 2 may be configured to release an object, such as the object 18, only when the second status information 28 is equal to the second predefined status information. For example, a respective object, for example a key, is only released when a correct status, such as a hardware status, a software status and/or a firmware status is determined and/or an object corresponding to the determined status corresponds is selected to be released from a set of objects.

Gemäß einem Ausführungsbeispiel kann die Sichere-Umgebung-Vorrichtung 102 konfiguriert sein, ein Objekt nur freizugeben, wenn die ersten Statusinformationen 24 gleich den vordefinierten Statusinformationen sind, zum Beispiel eine Zugriffssteuerung basierend auf den ersten Statusinformationen 24 zu implementieren. Optional kann eine zusätzliche Verifizierung prüfen, ob die zweiten Statusinformationen 28 außerdem gleich den zweiten vordefinierten Statusinformationen sind, das heißt Implementieren einer weiteren Zugriffssteuerung basierend auf den zweiten Statusinformationen 28. Anders ausgedrückt, gemäß einem Ausführungsbeispiel kann das Freigeben eines Objekts nur auf den ersten Statusinformationen 24 basieren.According to an embodiment, the secure environment device 10 2 may be configured to release an object only when the first status information 24 is equal to the predefined status information, for example to implement an access control based on the first status information 24 . Optionally, an additional verification can check whether the second status information 28 is also equal to the second predefined status information, i.e. implementing a further access control based on the second status information 28. In other words, according to an embodiment, the release of an object can only be based on the first status information 24 based.

Die Schnittstelle 14 ermöglicht es, einen flexiblen schnittstellenspezifischen Zugriffssteuerung(AC)-Mechanismus bereitzustellen, wie zum Beispiel einen sicheren Kanal (Secure Channel) zum Modifizieren der Statusinformationen. Diese AC kann spezifisch sein zum Modifizieren der Statusinformationen 28. Zusätzliche AC oder AC, die als eine Alternative implementiert werden, beziehen sich auf einen Zugriff auf Objekte oder andere Informationen.The interface 14 makes it possible to provide a flexible interface-specific access control (AC) mechanism, such as a secure channel (Secure Channel) for modifying the status information. This AC can be specific to modifying the status information 28. Additional AC or AC implemented as an alternative relate to access to objects or other information.

Die Sichere-Umgebung-Vorrichtung 102 kann ein Trusted-Platform-Module(TPM)-Bauelement aufweisen oder ein solches sein.The secure environment device 10 2 may include or be a Trusted Platform Module (TPM) device.

2 zeigt ein schematisches Blockdiagramm einer Steuervorrichtung 20 gemäß einem Ausführungsbeispiel. Die Steuervorrichtung 20 kann implementiert sein, um Teil eines Systems zu sein, zum Beispiel eines gleichen Systems im Vergleich zu der Sichere-Umgebung-Vorrichtung 102. Die Steuervorrichtung 20 ist konfiguriert zum Messen oder Bestimmen eines Status des Systems, um Statusinformationen 32 zu erzeugen, die beispielsweise die Statusinformationen 28 sein können, die in der Sichere-Umgebung-Vorrichtung 102 gespeichert sind. Während das Messen des Status sich mehr auf das Untersuchen des Status der Software oder Firmware beziehen kann, kann sich das Bestimmen mehr auf das Untersuchen von Hardware-Komponenten beziehen, während ein Ausdruck den anderen nicht ausschließt. 2 shows a schematic block diagram of a control device 20 according to an embodiment. The control device 20 may be implemented to be part of a system, for example a similar system compared to the secure environment device 10 2 . The controller 20 is configured to measure or determine a status of the system to generate status information 32, which may be, for example, the status information 28 stored in the secure environment device 10 2 . While measuring status may relate more to examining the status of software or firmware, determining may relate more to examining hardware components, while one term is not exclusive of the other.

Der Status kann sich auf eine oder mehrere Komponenten des Systems beziehen. Die untersuchten Komponenten können die Steuervorrichtung 20 selbst und/oder andere Komponenten aufweisen.The status can relate to one or more components of the system. The components examined may include the control device 20 itself and/or other components.

Die Steuervorrichtung 20 weist eine Schnittstelle 34 auf, die mit einer Sichere-Umgebung-Vorrichtung 102 des Systems verbindbar ist. Das heißt, die Schnittstelle 34 kann mit der Schnittstelle 14 übereinstimmen. Gemäß einem Ausführungsbeispiel ist die Steuervorrichtung 20 konfiguriert zum Speichern, d.h. Erzeugen, d.h. Erweitern bestehender Statusinformationen in einem Speicher der Sichere-Umgebung-Vorrichtung 102. Beispielsweise können die Statusinformationen 32 einen tatsächlichen Status darstellen und die Statusinformationen 28 können Informationen darstellen, die darauf basierend erhalten werden. Beispielsweise können existierende Statusinformationen durch die Nutzung tatsächlicher Statusinformationen 32 erweitert werden.The control device 20 has an interface 34 which can be connected to a secure environment device 10 2 of the system. That is, interface 34 may match interface 14. According to an embodiment, the control device 20 is configured to store, ie create, ie expand existing status information in a memory of the secure environment device 10 2 . For example, status information 32 may represent an actual status and status information 28 may represent information obtained based thereon. For example, existing status information can be expanded by using actual status information 32 .

Erweitern von Statusinformationen kann sich auf das Erweitern existierender Statusinformationen unter Verwendung einer Erweiterungsoperation beziehen, wie zum Beispiel „mit einer Erweiterungsoperation, die wie folgt definiert ist: Status Neu = Digest Algorithmus ( Status Alt Status Gemessen )

Figure DE102021206609A1_0001
die anzeigt, dass neue Statusinformationen 28, angezeigt als StatusNeu, basierend auf einem Digest-Algorithmus erhalten werden, z. B. einer Hash-Operation basierend auf einem existierenden alten Status StatusALT, die zusammen mit einem bestimmten gemessenen Status StatusGemessen einer Verkettung unterzogen wird, Statusinformationen 32.Augmenting state information may refer to augmenting existing state information using an augment operation, such as "with an augment operation defined as follows: status New = digest algorithm ( status Old status Measured )
Figure DE102021206609A1_0001
indicating that new status information 28, indicated as Status New , is obtained based on a digest algorithm, e.g. B. a hash operation based on an existing old status Status ALT , which is concatenated together with a certain measured status Status Measured , status information 32.

Anders ausgedrückt, der StatusGemessen kann als Statusinformationen 32 an die Sichere-Umgebung-Vorrichtung geliefert werden und der StatusNeu kann so berechnet werden, wie es in der sicheren Umgebung beschrieben ist, was zu Statusinformationen 28 führt.In other words, the Measured status can be provided as status information 32 to the secure environment device and the New status can be calculated as described in the secure environment, resulting in status information 28 .

Obwohl Ausführungsbeispiele das direkte Speichern der Statusinformationen 32 nicht verhindern, beziehen sich einige Ausführungsbeispiele auf eine Steuervorrichtung 20, die den Status 32 bestimmt oder misst und denselben an die sichere Umgebung sendet oder derselben bereitstellt. Die sichere Umgebung kann eine interne Erweiterungsoperation durchführen, was zu Statusinformationen 28 führen kann.Although embodiments do not prevent the status information 32 from being stored directly, some embodiments relate to a controller 20 determining or measuring the status 32 and sending or providing it to the secure environment. The secure environment may perform an internal augmentation operation, which may result in status information 28.

Zum Erzeugen der Statusinformationen 32 kann die Steuervorrichtung 20 einen Status von zumindest einer Komponente 36 des Systems auswerten, um den gemessenen Status zu erhalten. Solche Komponenten können beispielsweise ein flüchtiger und/oder nichtflüchtiger Speicher, eine Verarbeitungseinheit, andere Typen von Hardware, Software und/oder Firmware sein. Die Steuervorrichtung 20 kann die Statusinformationen 32 direkt über eine Verbindung 38 zu der Komponente 36 erzeugen, kann aber auch als Alternative oder zusätzlich einen Zugriff auf eine Messinfrastruktur verwenden, die den Status für die Steuervorrichtung 20 misst.To generate the status information 32, the control device 20 can evaluate a status of at least one component 36 of the system in order to obtain the measured status. Such components may be, for example, volatile and/or non-volatile memory, a processing unit, other types of hardware, software, and/or firmware. The control device 20 can generate the status information 32 directly via a connection 38 to the component 36, but can also use access to a measurement infrastructure that measures the status for the control device 20 as an alternative or in addition.

Das heißt, die Verbindung 36 kann eine direkte Verbindung oder eine indirekte Verbindung zu der Komponente 36 und/oder zusätzlichen Komponenten sein.That is, connection 36 may be a direct connection or an indirect connection to component 36 and/or additional components.

Gemäß einem Ausführungsbeispiel weist die Steuervorrichtung 20 eine Root-of-Trust-for-Measurement(RTM)-Funktionalität für das System auf.According to one embodiment, the controller 20 has a root-of-trust-for-measurement (RTM) functionality for the system.

Gemäß einem Ausführungsbeispiel kann die Steuervorrichtung 20 konfiguriert sein, die Statusinformationen 32 wiederholt zu bestimmen und die gespeicherten Statusinformationen, z. B. die zweiten Statusinformationen 28 in dem Speicher der Sichere-Umgebung-Vorrichtung, z. B. dem zweiten Statusspeicher 26, zu erweitern und/oder zurückzusetzen. Gemäß einem Ausführungsbeispiel kann die Rücksetzoperation über die zweite Schnittstelle 14 ausgelöst werden. Gemäß einigen Ausführungsbeispielen kann die zweite Schnittstelle 14 die einzige Schnittstelle sein, um die Rücksetzoperation auszulösen.According to one embodiment, the controller 20 may be configured to repeatedly determine the status information 32 and store the status information, e.g. B. the second status information 28 in the memory of the secure environment device, e.g. B. the second status memory 26 to expand and / or reset. According to one embodiment, the reset operation can be triggered via the second interface 14 . According to some embodiments, the second interface 14 may be the only interface to trigger the reset operation.

3 zeigt ein schematisches Blockdiagramm eines Systems 30 gemäß einem Ausführungsbeispiel. Das System 30 weist die Sichere-Umgebung-Vorrichtung 102 und die Steuervorrichtung 20 auf, die über eine Verbindung zwischen der zweiten Schnittstelle 14 der Sichere-Umgebung-Vorrichtung 102 und der Schnittstelle 34 der Steuervorrichtung 20 mit der Sichere-Umgebung-Vorrichtung verbunden ist. Die Statusinformationen 32, die durch die Steuervorrichtung 20 bereitgestellt werden, können den zweiten Statusinformationen 28 entsprechen, die in Verbindung mit 1 beschrieben wurden. 3 12 shows a schematic block diagram of a system 30 according to an embodiment. The system 30 includes the secure environment device 10 2 and the controller 20 connected to the secure environment device via a connection between the second interface 14 of the secure environment device 10 2 and the interface 34 of the controller 20 is. The status information 32 provided by the controller 20 may correspond to the second status information 28 associated with 1 have been described.

Das System 30 weist ferner eine Host-Vorrichtung 42 auf, die beispielsweise eine Verarbeitungseinheit aufweist, wie zum Beispiel eine zentrale Verarbeitungseinheit (CPU) oder dergleichen. Die Host-Entität 42 ist über die erste Schnittstelle 12 mit der Sichere-Umgebung-Vorrichtung 102 verbunden und ist konfiguriert zum Bestimmen der ersten Statusinformationen 24 und zum Speichern derselben in dem ersten Statusspeicher 22 basierend auf einem gewährten Zugriff auf denselben.The system 30 further includes a host device 42, which may include, for example, a processing unit such as a central processing unit (CPU) or the like. The host entity 42 is coupled to the secure environment device 10 2 via the first interface 12 and is configured to determine the first state information 24 and store it in the first state store 22 based on granted access thereto.

Die Sichere-Umgebung-Vorrichtung 102 kann das Objekt 18 für die Host-Entität 42 auf Anforderung hin und basierend auf den ersten Statusinformationen 24, den zweiten Statusinformationen 28 oder einer Kombination derselben freigeben und/oder kann das Objekt 18 für die Steuervorrichtung 20 auf Anforderung hin und basierend auf den ersten Statusinformationen 24, den zweiten Statusinformationen 28 oder einer Kombination derselben freigeben. Wie beschrieben werden bei einem Ausführungsbeispiel Objekte für die Steuervorrichtung 20 nur freigegeben, wenn die Objekte nicht für die Host-Entität 42 freigegeben werden. Bei solch einem Ausführungsbeispiel kann statt der Host-Entität 42 die Steuervorrichtung 20 die Objekte anfordern.The secure environment device 10 2 may release the object 18 to the host entity 42 upon request and based on the first status information 24, the second status information 28, or a combination thereof and/or may release the object 18 to the controller 20 Release request and based on the first status information 24, the second status information 28 or a combination thereof. As described, in one embodiment, objects are shared with controller 20 only when the objects are not shared with host entity 42 . In such an embodiment, instead of the host entity 42, the controller 20 may request the objects.

Gemäß einem Ausführungsbeispiel können sowohl die Host-Entität 42 als auch die Steuervorrichtung 20 eine Freigabe von Objekten anfordern. Beispielsweise kann die Frage, ob und/oder welches Objekt für die Host-Entität 42 freizugeben ist, auf den ersten Statusinformationen 24 und/oder den zweiten Statusinformationen 28 basieren. Wenn mach sich beispielsweise beim Bereitstellen eines Objekts an die Host-Entität 42 auf die zweiten Statusinformationen 28 verlässt, kann ausgenutzt werden, dass die Steuervorrichtung 20 als eine sichere Vorrichtung betrachtet wird. Es besteht jedoch ein zusätzlicher Vorteil, wenn man sich auf die Statusinformationen 32 verlässt, die durch die Steuervorrichtung 20 bereitgestellt werden. Die Host-Entität 42 kann eine Boot-Operation durchführen oder kann im Rücksetzzustand gehalten werden, zum Beispiel über die Steuervorrichtung oder eine andere Entität. Während solchen Instanzen kann ein regelmäßiger Betrieb der Host-Entität 42 unterbrochen werden oder noch nicht bereitgestellt werden. Während solchen Zeiten kann die Steuervorrichtung 20 jedoch betriebsfähig sein und vorteilhafte Statusinformationen des Systems 30 bereitstellen. Das heißt, die Steuervorrichtung 20 kann konfiguriert sein zum Bestimmen und Speichern der ersten Statusinformationen 24 und/oder der zweiten Statusinformationen 28/32 vor einer Boot-Prozedur des Systems 30, die durch die Host-Entität 42 gesteuert wird. Dies verhindert nicht das Erzeugen der zweiten Statusinformationen 28/32 nach einer solchen Bootprozedur. Alternativ oder zusätzlich können die ersten und/oder zweiten Statusinformationen bestimmt und gespeichert werden, während das System eine Leistungsverwaltungsprozedur ausführt, wie zum Beispiel einen Schlafmodus oder einen Ruhezustandsmodus. Alternativ oder zusätzlich können die ersten und/oder zweiten Statusinformationen basierend auf einer Richtlinie der Steuervorrichtung bestimmt und gespeichert werden, die dazu führen kann, dass jede geeignete Zeitinstanz identifiziert wird, zum Beispiel durch die Richtlinie.According to one embodiment, both host entity 42 and controller 20 may request release of objects. For example, the question of whether and/or which object is to be released for the host entity 42 can be based on the first status information 24 and/or the second status information 28 . For example, if mach relies on the second status information 28 when providing an object to the host entity 42, exploitation can be made of the fact that the control device 20 is regarded as a secure device. However, there is an additional benefit of relying on the status information 32 provided by the controller 20 . The host entity 42 can perform a boot operation or can be kept in the reset state, for example via the controller or another entity. During such instances, regular operation of the host entity 42 may be disrupted or not yet provisioned. However, during such times, controller 20 may be operational and provide beneficial system 30 status information. That is, the controller 20 may be configured to determine and store the first status information 24 and/or the second status information 28/32 prior to a boot procedure of the system 30 controlled by the host entity 42. This does not prevent the generation of the second status information 28/32 after such a boot procedure. Alternatively or additionally, the first and/or second status information may be determined and stored while the system is performing a power management procedure, such as a sleep mode or a hibernation mode. Alternatively or additionally, the first and/or second status information may be determined and stored based on a policy of the controller, which may result in each appropriate time instance being identified, for example by the policy.

Wie beschrieben, können sich die ersten Statusinformationen 24 und die zweiten Statusinformationen 28 auf eine gleiche Komponente oder unterschiedliche Komponenten des Systems und/oder einen gleichen oder unterschiedlichen Satz von Komponenten beziehen, wobei jeder Satz zumindest eine Komponente aufweist, wobei die unterschiedlichen Sätze eine gleiche oder unterschiedliche Anzahl von Komponenten aufweisen.As described, the first status information 24 and the second status information 28 can relate to the same component or different components of the system and/or a same or different set of components, with each set having at least one component, with the different sets having a same or have different numbers of components.

4 zeigt ein schematisches Blockdiagramm eines Systems 40 gemäß einem Ausführungsbeispiel. Das System 40 weist die Host-Entität 42 auf, die beispielsweise eine CPU ist. Ferner kann die Komponente 36 als externe nichtflüchtige Speicherkomponente des Systems 40 implementiert sein. 4 12 shows a schematic block diagram of a system 40 according to an embodiment. The system 40 includes the host entity 42, which is, for example, a CPU. Furthermore, component 36 may be implemented as an external non-volatile memory component of system 40 .

Bei diesem Ausführungsbeispiel können sowohl die Host-Entität 42 als auch die Steuervorrichtung 20, die eine vertrauenswürdige Umgebung bilden, z.B. als eine eingebettete Steuerung, Zugriff auf die Komponente 36 haben. Die Host-Entität 42 kann eine Datenverbindung 44 mit der Komponente 36 aufweisen und kann angepasst sein, um zumindest eine Leseoperation 46 an der nichtflüchtigen Speicherkomponente durchzuführen. Die Datenverbindung 44 kann eine direkte oder eine indirekte Verbindung sein. Eine indirekte Verbindung kann umfassen, dass die Host-Entität 42 keine direkte physikalische Verbindung zu der Komponente 36 aufweist, sondern indirekten Zugriff aufweist, z.B. über die Steuervorrichtung.In this embodiment, component 36 can be accessed by both host entity 42 and controller 20 forming a trusted environment, eg, as an embedded controller. The host entity 42 may have a data connection 44 with the component 36 and may be adapted to perform at least one read operation 46 on the non-volatile memory component. The data connection 44 can be a direct connection or an indirect connection. An indirect connection may include the host entity 42 not having a direct physical connection to the component 36 but having indirect access, eg via the controller.

Ferner kann die Host-Entität 42 konfiguriert sein zum Bestimmen der ersten Statusinformationen 24 als einen Speicherstatus und kann solche Informationen speichern, die als StatusH angezeigt sind, d.h. Statusinformationen, die durch den Host bestimmt werden. Die Host-Entität kann solche Informationen während einer jeweiligen Operation 48 in den ersten Statusspeicher 22 erweitern. Eine solche Messung kann jedoch optional sein basierend auf dem Implementieren der Steuervorrichtung 20 mit der Fähigkeit für solche Messungen.Furthermore, the host entity 42 may be configured to designate the first status information 24 as a storage status and may store such information indicated as status H , ie status information designated by the host. The host entity may add such information to the first state store 22 during a respective operation 48 . However, such a measurement may be optional based on implementing the controller 20 with the capability for such measurements.

Die Sichere-Umgebung-Vorrichtung 102 kann eine Zugriffssteuerung (AC) 52 an Objekten durchführen, die in dem Informationsspeicher 16 gespeichert sind und kann Objekte von dem Informationsspeicher 16 über die erste Schnittstelle oder Hostschnittstelle 12 bereitstellen. Dadurch kann die Host-Entität 42 das bereitgestellte Objekt verwenden 54.The secure environment device 10 2 may perform access control (AC) 52 on objects stored in the information store 16 and may provide objects from the information store 16 via the first interface or host interface 12 . This allows the host entity 42 to use the provided object 54.

Als weitere Operation des Systems 40 kann die Steuervorrichtung 20 eine Gültigkeitsprüfung 56 der Komponente 36 durchführen, zum Beispiel in einem Fall, wo die Host-Entität 42 zurückgesetzt wird. Das heißt, dieselbe kann die Komponente 36 auf eine gleiche oder andere Eigenschaften im Vergleich zu dem Speicherstatus 24 untersuchen. Die jeweiligen zweiten Statusinformationen 28/32 können in den zweiten Statusspeicher 26 oder den ersten Statusspeicher 22 erweitert werden. Die Statusspeicher 22 und 26 können unabhängige Speicher implementieren, wie zum Beispiel Register mit geschützter Integrität (IPR;IPR = Integrity Protected Registers). Um die jeweiligen Statusinformationen bereitzustellen, können dieselben ausgelöst werden über eine Anfrage von der Sichere-Umgebung-Vorrichtung 102 und/oder können regelmäßig oder unregelmäßig bereitgestellt werden, z. B. durch die Steuervorrichtung 20 ausgelöst.As a further operation of the system 40, the controller 20 may perform a validity check 56 of the component 36, for example in a case where the host entity 42 is reset. That is, it can examine the component 36 for the same or different properties compared to the memory status 24 . The respective second status information 28/32 can be expanded into the second status memory 26 or the first status memory 22. State memories 22 and 26 may implement independent memories, such as Integrity Protected Registers (IPR). In order to provide the respective status information, the same can be triggered via a request from the secure environment device 10 2 and/or can be provided regularly or irregularly, e.g. B. triggered by the control device 20.

Die Sichere-Umgebung-Vorrichtung 102 kann eine weitere Zugriffssteueroperation 28 in den gleichen oder unterschiedlichen Objekten des Informationsspeichers 16 ausführen, basierend auf den zweiten Statusinformationen 28/32, die in 4 als StatusTE angezeigt sind.The secure environment device 10 2 may perform another access control operation 28 on the same or different information storage 16 objects based on the second status information 28/32 contained in 4 are displayed as status TE .

Zum Auffordern der Steuervorrichtung 20, die zweiten Statusinformationen 28/32 bereitzustellen und/oder zum Empfangen dieser Statusinformationen kann die zweite Schnittstelle 14 verwendet werden.The second interface 14 can be used to request the control device 20 to provide the second status information 28/32 and/or to receive this status information.

Die Sichere-Umgebung-Vorrichtung 102 kann mit zusätzlichen Statusinformationen, den zweiten Statusinformationen 28 und einer getrennten Schnittstelle 14, die auch als eine Außerband-Antwortsender (Out of Band Responder)-Schnittstelle bezeichnet werden kann, erweitert werden. Die zusätzliche Schnittstelle kann die Zugriffssteuerung (AC) von Objekten, wie zum Beispiel Schlüsseln, in Abhängigkeit von Status 24 (StatusH) und/oder Status 28 (StatusTE) ermöglichen. Die Außerband-Antwortsender-Schnittstelle kann einen flexiblen schnittstellenspezifischen Zugriffssteuerung(AC)-Mechanismus, wie zum Beispiel einen sicheren Kanal, für Sichere-Umgebung(SE)-Dienste bereitstellen, die den StatusH und/oder StatusTE modifizieren. Das heißt im Vergleich zu der Host-Entität 42 kann eine andere Entität über die Schnittstelle 14 Zugriff auf einen gesicherten Speicher haben, um Statusinformationen zu speichern.The secure environment device 10 2 may be augmented with additional status information, the second status information 28 and a separate interface 14, which may also be referred to as an out-of-band responder interface. The additional interface may allow access control (AC) of objects such as keys depending on status 24 (status H ) and/or status 28 (status TE ). The out-of-band responder interface may provide a flexible interface-specific access control (AC) mechanism, such as a secure channel, for Secure Environment (SE) services that modify H and/or TE status. That is, as compared to the host entity 42, another entity may have access to secured storage via the interface 14 to store status information.

Zwischen der vertrauenswürdigen Umgebung 20 und der Sichere-Umgebung-Vorrichtung 102 kann eine Steuerschnittstelle 14 angeordnet sein, um SE-Dienste zu verwenden, um StatusTE sicher zu aktualisieren oder zu erweitern. Die Host-Entität kann eine bekannte Host-Entität sein und kann den Speicherstatus mit einer Leseoperation 46 lesen und kann standardisierte SE-Dienste verwenden, um den Speicherstatus in den StatusH zu aktualisieren und Schlüsselobjekte über die Hostschnittstelle 12 zu verwenden. Das System 40 kann somit eine Lösung für eine vertrauenswürdige Umgebung bereitstellen, um (unabhängig von dem Host) Objekte/Schlüssel in einer sicheren Umgebung sicher freizugeben, die dann über die Host-Entität und/oder die Steuervorrichtung verwendet werden können.A control interface 14 may be arranged between the trusted environment 20 and the secure environment device 10 2 to use SE services to update or extend status TE securely. The host entity can be a known host entity and can read the memory state with a read operation 46 and can use standardized SE services to update the memory state to the H state and use key objects via the host interface 12 . The system 40 can thus provide a trusted environment solution to securely release (independent of the host) objects/keys in a secure environment, which can then be used via the host entity and/or the controller.

Eine bekannte sichere Umgebung kann ein diskretes standardisiertes TPM aufweisen oder sein, mit einem allgemeinen Objekt(Schlüssel)-Speicher, StatusH und einer Hostschnittstelle, um Zugriffssteuerung (AC) von Objekten/Schlüsseln in Abhängigkeit von StatusH durchzusetzen. Bei einem bekannten System kann eine vertrauenswürdige Umgebung validieren, dass die Plattformstatusinformationen einer nichtflüchtigen Speicherkomponente korrekt sind. Gemäß Ausführungsbeispielen werden solche Informationen dann in einem Statusspeicher der Sichere-Umgebung-Vorrichtung 102 gespeichert. In einem solchen bekannten System kann nur die Host-Entität als eine Funktion des Plattformzustands Objekte/Schlüssel in der sicheren Umgebung freigeben, die dann über die Host-Entität verwendet werden können. Ausführungsbeispiele schaffen eine Lösung, wie eine vertrauenswürdige Umgebung Objekte/Schlüssel in der sicheren Umgebung unabhängig von der Host-Entität sicher freigeben kann, wobei die Objekte/Schlüssel möglicherweise durch die Host-Entität verwendet werden.A known secure environment may include or be a discrete standardized TPM, with a general object (key) store, state H , and a host interface to enforce access control (AC) of objects/keys dependent on state H. In a known system, a trusted environment can validate that the platform state information is non-volatile gen storage component are correct. According to embodiments, such information is then stored in a state memory of the secure environment device 10 2 . In such a known system only the host entity can release objects/keys in the secure environment as a function of the platform state, which can then be used via the host entity. Embodiments provide a solution for a trusted environment to securely release objects/keys in the secure environment independent of the host entity, where the objects/keys may be used by the host entity.

Bei einer bekannten Struktur kann eine sichere Umgebung selbst einen StatusSE bestimmen, z.B. von der Komponente, die durch die Host-Entität ausgewertet wird, und kann eine getrennte Nichtflüchtiger-Speicher(NVM)-Masterschnittstelle aufweisen, um es der sicheren Umgebung selbst zu ermöglichen, den SpeicherstatusSE zu aktualisieren („freigeben“), um Zugriffssteuerung (AC) von Objekten (Schlüsseln) in Abhängigkeit von StatusH und/oder StatusSE durchzusetzen. Obwohl dies die sichere Umgebung durchsetzen kann, die selbst (möglicherweise unabhängig von der Host-Entität) Objekte (Schlüssel) in der sicheren Umgebung freigeben kann, die dann über den Host verwendet werden können, funktioniert diese Lösung nicht für existierende vertrauenswürdige Umgebungen, um Objekte in die sichere Umgebung freizugeben, die dann über die Host-Entität verwendet werden können.In a known structure, a secure environment can itself determine a status SE , eg of the component evaluated by the host entity, and can have a separate non-volatile memory (NVM) master interface to enable the secure environment itself to update (“enable”) the storage status SE to enforce access control (AC) of objects (keys) depending on status H and/or status SE . Although this can enforce the secure environment which itself (possibly independent of the host entity) can release objects (keys) in the secure environment which can then be used via the host, this solution does not work for existing trusted environments to objects to the secure environment, which can then be used via the host entity.

Wie beschrieben, können sich die Statusinformationen 28, die durch die Steuervorrichtung 20 bereitgestellt werden, im Vergleich zu den Statusinformationen 24, die durch die Host-Entität bereitgestellt werden, auf eine gleiche Komponente oder unterschiedliche Komponenten des Systems beziehen.As described, the status information 28 provided by the controller 20 may relate to the same component or different components of the system as compared to the status information 24 provided by the host entity.

5 zeigt ein schematisches Blockdiagramm eines Systems 50, das das System 40 erweitert. Beispielsweise kann die Sichere-Umgebung-Vorrichtung 102 einen TPM-Chip aufweisen. Die Steuervorrichtung 20 kann als eine eingebettete Steuerung implementiert sein und/oder die Host-Entität 42 kann eine CPU aufweisen, während die externe Komponente 361 einen NOR-Flash-Speicher aufweisen kann, der betrieben wird, um eine Systemfirmware zu speichern. Das heißt, die NVM-Speicherkomponente 361 kann einen SPI-NOR-Flash aufweisen, der die Systemfirmware/BIOS speichert, z.B. für die Host-Entität 42. Die Komponente 361 kann durch die Host-Entität 42 gelesen werden, kann aber beispielsweise über die Datenverbindung 441 mit der Steuervorrichtung 20 verbunden werden. Die Host-Entität 42 kann jedoch die ersten Statusinformationen 24 als einen Speicherstatus der Komponente 361 bestimmen, über die indirekte Verbindung, die beispielsweise eine direkte oder indirekte Datenverbindung 62 zu der Steuervorrichtung 20 verwendet, z. B. eine eSPI-Verbindung. 5 12 shows a schematic block diagram of a system 50 that extends the system 40. FIG. For example, the secure environment device 10 2 may include a TPM chip. Controller 20 may be implemented as an embedded controller and/or host entity 42 may include a CPU, while external component 36 1 may include NOR flash memory operated to store system firmware. That is, the NVM memory component 36 1 may include an SPI NOR flash storing system firmware/BIOS, eg, for the host entity 42. The component 36 1 may be read by the host entity 42, but may, for example be connected to the control device 20 via the data connection 44 1 . However, the host entity 42 may determine the first status information 24 as a memory status of the component 36 1 via the indirect connection using, for example, a direct or indirect data connection 62 to the controller 20, e.g. B. an eSPI connection.

Die Steuervorrichtung 20 kann durch eine andere Datenverbindung 442, z. B. eine SPI-Verbindung, mit einer anderen Komponente 362 des Systems 50 verbunden sein. Die Komponente 362 kann einen SPI-NOR-Flash-Speicher aufweisen, der im Vergleich zu der Komponente 361 betrieben werden kann, um eine andere Firmware zu speichern, die als EC(eingebettete Steuerung)-Firmware angezeigt ist, die verwendet wird, um die Steuervorrichtung 20 zu betreiben. Das heißt, die Steuervorrichtung 20 kann mit einem getrennten eigenen, z. B. privaten SPI-NOR-Flash verbunden sein, der die eingebettete Steuerungsfirmware speichert. Die Komponente 362 kann nach den ersten Statusinformationen 24 und/oder den zweiten Statusinformationen 28/32 ausgewertet werden. 5 zeigt die Steuervorrichtung, die zu konfigurieren ist zum Erweitern der ersten Statusinformationen 24 in den ersten Statusspeicher 22.The controller 20 can be controlled by another data link 44 2 , e.g. an SPI connection, to another component 36 2 of the system 50 . Component 36 2 may include SPI NOR flash memory operable compared to component 36 1 to store different firmware indicated as EC (embedded controller) firmware used to operate the controller 20. That is, the control device 20 can be equipped with a separate dedicated, e.g. B. private SPI NOR flash that stores the embedded controller firmware. The component 36 2 can be evaluated according to the first status information 24 and/or the second status information 28/32. 5 shows the control device to be configured to expand the first status information 24 in the first status memory 22.

Der Betrieb des Systems 50 kann beispielsweise eine erste Phase aufweisen, beispielsweise eine Einrichtungs/Bereitstellungsphase und eine zweite Phase, z. B. eine Plattform-Boot-Phase. Die erste Phase kann vor der zweiten Phase ausgeführt werden, ist aber nicht notwendigerweise die erste Phase. Die zweite Phase kann nach der ersten Phase ausgeführt werden, was Zwischenphasen ermöglicht, aber nicht erfordert.For example, the operation of the system 50 may have a first phase, e.g., a setup/provisioning phase, and a second phase, e.g. B. a platform boot phase. The first phase can be performed before the second phase, but is not necessarily the first phase. The second phase can be performed after the first phase, allowing but not requiring intermediate phases.

A. Einrichtungs/BereitstellungsphaseA. Setup/Deployment Phase

1. Während der ersten Phase kann in einem ersten Schritt die Sichere-Umgebung-Vorrichtung 102 einen allgemeinen Objekt/Schlüsselspeicher für die Verwendung, z.B. einen TPM-Schlüsselspeicher, z.B. dem Informationsspeicher 16 bereitstellen. Während eines bestimmen Lebenszyklus oder Bereitstellungsprozesses kann eine Bereitstellungssoftware, die auf der Host-Entität 42 läuft, bewirken, dass die Host-Entität ein Objekt, wie zum Beispiel ein TPM-Schlüsselobjekt, über die TPM-SPI-Hostschnittstelle 12 definiert und/oder erzeugt/bereitstellt, um dessen Nutzung über die Zugriffssteuerung 52 mit einem spezifischen anerkannten Plattformzustand zu verbinden, der in dem PCRTE und/oder PCRH erwartet wird, z.B. vordefinierte Statusinformationen.1. During the first phase, in a first step, the secure environment device 10 2 may provide a generic object/key store for use, eg, a TPM key store, eg, the information store 16 . During a particular life cycle or provisioning process, provisioning software running on the host entity 42 may cause the host entity to define and/or create an object, such as a TPM key object, via the TPM SPI host interface 12 /provided to connect its usage via the access control 52 to a specific acknowledged platform state expected in the PCR TE and/or PCR H , e.g. predefined status information.

B. Plattform-Boot-PhaseB. Platform Boot Phase

1. Während der zweiten Phase kann die Host-Entität 42 in einem ersten Schritt in dem Rücksetzzustand gehalten werden. Wenn die Host-Entität 42 in dem Rücksetzzustand gehalten wird, kann die Steuervorrichtung 20 eines oder mehrere der folgenden durchführen/wiedergewinnen:

  • • eine statische Messung der Systemfirmware, die in der Komponente 361 gespeichert ist, z. B. über einen Zugriff auf den SPI-NOR-Flash 361 in der Bootphase
  • • optional eine statische Messung der eigenen eingebetteten Steuerfirmware, die in der Komponente 362 gespeichert ist
  • • optional Authentifizierungsmessungen von Komponentenfirmware über ein Protokoll über einen I2C-Bus (nicht gezeigt) und/oder andere Messungen, um Messergebnisse zu erhalten.
1. During the second phase, the host entity 42 can be kept in the reset state in a first step. When host entity 42 is maintained in the reset state, controller 20 may perform/recover one or more of the following:
  • • a static measurement of the system firmware stored in component 36 1 , e.g. B. via access to the SPI NOR Flash 36 1 in the boot phase
  • • optionally a static measurement of own embedded control firmware stored in component 36 2
  • • optionally, component firmware authentication measurements via protocol over an I2C bus (not shown) and/or other measurements to obtain measurement results.

2. Während der zweiten Phase kann die Steuervorrichtung 20 in einem zweiten Schritt eine Kommunikation auf der TPM-Außerband-I2C-Schnittstelle initiieren, d.h. unter Verwendung der zweiten Schnittstelle 14. Beispielsweise kann die Steuervorrichtung 20 gemäß einem Protokoll arbeiten, wie zum Beispiel dem Global Platform Secure Channel Protocol 03 (GP SCP03).2. During the second phase, in a second step, the controller 20 may initiate communication on the TPM out-of-band I2C interface, i.e. using the second interface 14. For example, the controller 20 may operate according to a protocol such as the Global Platform Secure Channel Protocol 03 (GP SCP03).

3. Während der zweiten Phase kann die Steuervorrichtung 20 in einem dritten Schritt das Messergebnis/den Messstatus von Schritt 1 in den ersten Statusspeicher 22 und/oder den zweiten Statusspeicher 26 erweitern, der z.B. ein oder mehrere Plattformkonfigurationsregister PCR aufweist, um die zweiten Statusinformationen 28 (StatusTE) zu speichern, die den StatusTE des TPM darstellen. Der Zugriffssteuermechanismus an der TPM-Außerband-Schnittstelle 14 kann als flexible Lokalität bezeichnet werden, die beispielsweise den kryptographischen sicheren Kanal GP SCP03 über I2C zwischen der Sichere-Umgebung-Vorrichtung 102 und der Steuervorrichtung 20 darstellt, der verwendet wird, um Zugriff auf das Plattformkonfigurationsregister 26 (PCRTE) zu steuern.3. During the second phase, the control device 20 can, in a third step, expand the measurement result/the measurement status from step 1 into the first status memory 22 and/or the second status memory 26, which, for example, has one or more platform configuration registers PCR, to include the second status information 28 (Status TE ) representing the status TE of the TPM. The access control mechanism at the TPM out-of-band interface 14 can be referred to as a flexible locale representing, for example, the cryptographic secure channel GP SCP03 over I2C between the secure environment device 10 2 and the control device 20 used to access the platform configuration register 26 (PCR TE ).

4. Während der zweiten Phase kann die Steuervorrichtung 20 in einem vierten Schritt die Host-Entität 42 von dem Rücksetzzustand freigeben und mit dem Booten beginnen.4. During the second phase, in a fourth step, the controller 20 may release the host entity 42 from the reset state and begin booting.

5. Während der zweiten Phase kann die Host-Entität 42 in einem fünften Schritt, z.B. verursacht durch jeweilige Software, nur den TPM-Schlüsselobjekt-SchlüsselTE verwenden, der in Schritt 1 bei der Bereitstellungsphase erzeugt wird, um Daten zu signieren oder zu entschlüsseln, über die TPM-SPI-Hostschnittstelle 12, falls der berichtete Plattformzustand im PCRTE und/oder PCRH von Schritt 3 die Zugriffssteuerung eines spezifischen anerkannten Plattformzustands erfüllt, der während der Bereitstellungsphase definiert wird.5. During the second phase, in a fifth step, eg caused by respective software, the host entity 42 can only use the TPM key object key TE , which is generated in step 1 at the deployment phase, to sign or decrypt data , via the TPM SPI host interface 12 if the reported platform state in the PCR TE and/or PCR H of step 3 satisfies the access control of a specific recognized platform state defined during the provisioning phase.

Ausführungsbeispiele ermöglichen es einem Hersteller eines Systems, z. B. einer PC-Plattform, der auch die Steuervorrichtung bereitstellen kann, ein hohes Maß an Kontrolle über die Nutzung von TPM-Objekten auf der Host-Entität 42 zu haben, d.h., Host-CPU und/oder Host-Software als eine Funktion des Plattformzustands, unabhängig von dem CPU-Hersteller.Embodiments allow a manufacturer of a system, e.g. B. a PC platform that can also provide the controller to have a high degree of control over the use of TPM objects on the host entity 42, i.e., host CPU and/or host software as a function of the platform health, regardless of the CPU manufacturer.

Anders ausgedrückt, gemäß diesem Ausführungsbeispiel kann die Sichere-Umgebung-Vorrichtung ein TPM-Chip, der RTS- und RTR-Funktionalität umfasst, sein oder einen solchen aufweisen, und die OoB-Entität ist ein Plattform-RoT-Chip, der RTM-Funktionalität umfasst, oder weist einen solchen auf.In other words, according to this embodiment, the secure environment device may be or include a TPM chip that includes RTS and RTR functionality, and the OoB entity is a platform RoT chip that includes RTM functionality includes or exhibits such.

1. Während die Haupt-CPU/SoC in dem Rücksetzzustand gehalten wird, führt die RTM Folgendes durch/gewinnt wieder

  • • statische Messungen von Systemfirmware über Zugriff auf die SPI-NV-Speicherkomponente beim Booten
  • • authentifizierte Messungen der Komponentenfirmware durch ein Protokoll über einen I1C-Bus
  • • statische Messung der eigenen Plattform-RoT-Firmware
1. While the main CPU/SoC is kept in the reset state, the RTM performs/recovers the following
  • • Static measurements of system firmware via access to the SPI-NV memory component at boot
  • • Authenticated component firmware measurements through a protocol over an I1C bus
  • • static measurement of own platform RoT firmware

2. Die RTM verwendet die TPM-Außerband-Schnittstelle, wie zum Beispiel einen I2C-Bus, um das Messergebnis/den Messstatus in ein Register mit geschützter Integrität (IPR) zu erweitern, das Teil der Root-of-Trust for Storage (RTS) ist. Ein Zugriffssteuermechanismus an der TPM-Außerband-Schnittstelle, die als flexible Lokalität bezeichnet wird, der einen kryptographisch sicheren Kanal über I2C zwischen TPM und Plattform-RoT darstellt, wird verwendet, um Zugriff auf das/die IPR zu steuern. Die Haupt-CPU/SoC wird von dem Rücksetzzustand freigegeben und beginnt mit dem Booten.2. The RTM uses the TPM out-of-band interface, such as an I2C bus, to extend the measurement result/status into a Protected Integrity (IPR) register that is part of the Root-of-Trust for Storage (RTS ) is. An access control mechanism at the TPM out-of-band interface called flexible locality that provides a cryptographically secure channel over I2C between the TPM and Platform RoT is used to control access to the IPR(s). The main CPU/SoC is released from the reset state and starts booting.

3. Der RTS stellt einen allgemeinen Objekt/Schlüsselspeicher bereit für die Nutzung, wie zum Beispiel einen TPM-Schlüsselspeicher und ermöglicht es der Host-Software über die TPM-Hostschnittstelle, eine flexible Zugriffssteuerung für Schlüssel zu definieren, wie zum Beispiel die Nutzung eines Identitätsschlüssels, um Messwerte zu spezifizieren, die in dem IPR gespeichert sind, das über die TPM-Außerband-Schnittstelle bereitgestellt wurde.3. The RTS provides a common object/key store for use, such as a TPM key store, and allows host software via the TPM host interface to define flexible access control for keys, such as use of an identity key to specify measurements stored in the IPR provided over the TPM out-of-band interface.

Als eine Alternative kann die Plattform-RoT den TPM-Schlüsselspeicher über die TPM-OoB-Schnittstelle vollständig unabhängig von der Haupt-CPU/SoC verwenden. Dieselbe kann eine flexible Zugriffssteuerung verschlüsselt definieren, wie zum Beispiel eine Nutzung, die an spezifische Messwerte oder an den sicheren Kanal der flexiblen Lokalität der OoB-Schnittstelle gebunden ist.As an alternative, the platform RoT can use the TPM key store via the TPM OoB interface completely independently of the main CPU/SoC. It can encryptly define flexible access control, such as usage tied to specific metrics or to the flexible locality secure channel of the OoB interface.

4. RTR kann Messergebnisse signieren, die in dem IPR gespeichert sind. Diese signierten Messungen, die durch die TPM-Außerband-Schnittstelle bereitgestellt wurden, können dann über die TPM-Hostschnittstelle wiedergewonnen werden.4. RTR can sign measurement results stored in the IPR. These signed measurements provided by the TPM out-of-band interface can then be retrieved via the TPM host interface.

Als eine Alternative könnten die unterzeichneten Messungen der Verwaltungsinfrastruktur über einen getrennten Kanal bereitgestellt werden, wie zum Beispiel eine Basisbandverwaltungssteuerung, falls dies über die Plattform unabhängig von der Haupt-CPU/SoC unterstützt wird. In diesem Fall werden die Messungen über die TPM-Außerband-Schnittstelle der Plattform-RoT bereitgestellt, die beispielsweise mit einer Basisbandverwaltungssteuerung verbunden ist.As an alternative, the signed measurements could be provided to the management infrastructure via a separate channel, such as a baseband management controller, if supported across the platform independent of the main CPU/SoC. In this case, the measurements are provided via the platform RoT's TPM out-of-band interface, which is connected to, for example, a baseband management controller.

Ausführungsbeispiele ermöglichen die Verwendung eines standardisierten sicherheitszertifizierten sicheren Elements, wie zum Beispiel eines TPM. Genauer gesagt stellt dasselbe einen allgemeinen TPMT-Speicher bereit, der es der Host-Software ermöglicht, Zugriffssteuerung für TPM/NVM-Objekte auf standardisierte Weise zu definieren (und zu nutzen), basierend auf statischen oder dynamischen Messprozessen, vollständig unabhängig von der Haupt-CPU einer vollständigen Plattformfirmware. Ausführungsbeispiele ermöglichen es der Plattform-RoT (Root of Trust), auf einen allgemeinen TPM-Schlüsselspeicher zuzugreifen, vollständig unabhängig von der Haupt-CPU (SoC, System auf einem Chip).Example embodiments enable the use of a standardized security-certified secure element, such as a TPM. More specifically, it provides a general TPMT store that allows host software to define (and use) access controls for TPM/NVM objects in a standardized way, based on static or dynamic measurement processes, completely independent of the main CPU of a full platform firmware. Embodiments allow the platform Root of Trust (RoT) to access a common TPM key store completely independent of the main CPU (SoC, System on a Chip).

Ausführungsbeispiele können ein oder mehrere von RTM, RTS und RTR verwenden.

  1. 1. Root-of-Trust for Measurement (RTM) kann die anfängliche Integritätsmessung der Firmware durchführen. Der Messprozess kann bei dem Plattformrücksetz/bootprozess (der eine statische RTM) darstellt, statisch sein oder während einer Plattformlauftime dynamisch sein, ohne die Notwendigkeit, die Plattform neu zu booten (was eine D-RTM darstellt).
  2. 2. Die RTM kann das Messergebnis/den Messstatus in ein Register mit geschützter Integrität (IPR) erweitern, das Teil der Root-of-Trust for Storage (RTS) ist.
  3. 3. Root-of-Trust for Storage kann Integritäts und Vertrauenswürdigkeitsspeicher für Daten bereitstellen. Für das TPM enthält es einen allgemeinen Objekt/Schlüsselspeicher für vertraulich geschützte Objekte, wie zum Beispiel kryptographische Schlüssel. Dies ermöglicht der externen Host-Software, Schlüssel zur erzeugen und zu verwenden, und flexible Zugriffssteuerrichtlinien für Schlüssel auf einen definierten gemessenen Plattformstatus zu definieren.
Embodiments may use one or more of RTM, RTS, and RTR.
  1. 1. Root of Trust for Measurement (RTM) can perform the initial integrity measurement of the firmware. The measurement process can be static at the platform reset/boot process (representing a static RTM) or dynamic during platform runtime without the need to reboot the platform (representing a D-RTM).
  2. 2. The RTM can extend the measurement result/status into a Protected Integrity (IPR) register that is part of the Root-of-Trust for Storage (RTS).
  3. 3. Root-of-Trust for Storage can provide integrity and trust storage for data. For the TPM, it contains a common object/key store for sensitive protected objects such as cryptographic keys. This allows the external host software to generate and use keys, and define flexible key access control policies on a defined metered platform state.

Root-of-Trust for Reporting (RTR) kann zuverlässig Authentizitäts- und Nachweisbarkeitsdienste bereitstellen für den Zweck des Bestätigens des Ursprungs und der Integrität der Plattformcharakteristika/des Plattformstatus.Root-of-Trust for Reporting (RTR) can reliably provide authenticity and non-repudiation services for the purpose of confirming the origin and integrity of platform characteristics/status.

Daher ist es möglich, die Hardware, Software und/oder Firmware-Charakteristika/Status einer vertrauenswürdigen Rechenplattform, die gebootet hat und auf der Plattform läuft, sicher zu messen, zu speichern und zu berichten. Dies kann es einem Prüfer, wie zum Beispiel einem entfernten Server ermöglichen, den aktuellen Hardware/Firmware/Software-Status der Plattform zu verifizieren. Ferner können Ausführungsbeispiele das Problem lösen, Zugriffssteuerung für lokale Objekte, wie zum Beispiel kryptographische Schlüssel, auf einen autorisierten Firmware/Software-Status der Plattform bereitzustellen.Therefore, it is possible to securely measure, store, and report the hardware, software, and/or firmware characteristics/status of a trusted computing platform that has booted and is running on the platform. This may allow a verifier, such as a remote server, to verify the current hardware/firmware/software status of the platform. Furthermore, embodiments may solve the problem of providing access control for local objects, such as cryptographic keys, to an authorized firmware/software state of the platform.

Einige hierin beschriebene Aspekte können wie folgt ausgedrückt werden:

  • Aspekt 1. Eine Sichere-Umgebung-Vorrichtung (10) für ein System, wobei die Sichere-Umgebung-Vorrichtung folgende Merkmale aufweist:
    • eine erste Schnittstelle (12), die mit einer Host-Entität (42) verbindbar ist;
    • eine zweite Schnittstelle (14), die mit einer Steuervorrichtung (20) verbindbar ist;
    • zumindest ein Objekt (18);
    • einen Statusspeicher (26), der konfiguriert ist zum Speichern von Statusinformationen (28, 32), die sich auf den Status des Systems beziehen, wobei die Statusinformationen (28, 32) von einer Steuervorrichtung (20) empfangen werden;
    • wobei die Sichere-Umgebung-Vorrichtung konfiguriert ist zum Freigeben eines Objekts (18) für einen Zugriff basierend auf den Statusinformationen (28, 32).
  • Aspekt 2. Die Sichere-Umgebung-Vorrichtung gemäß Aspekt 1, wobei der Statusspeicher eine erste Statusspeichereinheit (22) und eine zweite Statusspeichereinheit (26) aufweist, wobei die Statusinformationen zweite Statusinformationen (28) sind; wobei die Sichere-Umgebung-Vorrichtung konfiguriert ist zum Speichern erster Statusinformationen (24), die sich auf einen Status des Systems beziehen, wobei die ersten Statusinformationen (24) von der Host-Entität (42) empfangen werden; und wobei die Sichere-Umgebung-Vorrichtung konfiguriert ist zum Speichern der zweiten Statusinformationen (28), die von der Steuervorrichtung (20) empfangen werden.
  • Aspekt 3. Die Sichere-Umgebung-Vorrichtung gemäß Aspekt 1 oder 2, die konfiguriert ist zum Speichern der Statusinformationen (28, 32) in den Statusspeicher (26), unabhängig von der Host-Entität (42).
  • Aspekt 4. Die Sichere-Umgebung-Vorrichtung gemäß einem der vorherigen Aspekte, die konfiguriert ist, es der Host-Entität (42) zu ermöglichen, die zweiten Statusinformationen (28, 32) zu nutzen, während der Host-Entität (42) kein Schreibzugriff auf die zweiten Statusinformationen (28, 32) gewährt wird.
  • Aspekt 5. Die Sichere-Umgebung-Vorrichtung gemäß einem der vorhergehenden Aspekte, die eine Root-of-Trust-for-Storage- und eine Root-of-Trust-for-Reporting-Funktionalität für das System aufweist.
  • Aspekt 6. Die Sichere-Umgebung-Vorrichtung gemäß einem der vorhergehenden Aspekte, die konfiguriert ist, um ein Objekt (18) nur freizugeben, wenn die zweiten Statusinformationen (28, 32) gleich zweiten vordefinierten Statusinformationen sind.
  • Aspekt 7. Die Sichere-Umgebung-Vorrichtung gemäß einem der vorhergehenden Aspekte, die konfiguriert ist, ein Objekt (18) nur freizugeben, wenn:
    • die ersten Statusinformationen (24) gleich ersten vordefinierten Statusinformationen sind; und
    • die zweiten Statusinformationen (28, 32) gleich zweiten vordefinierten Statusinformationen sind.
  • Aspekt 8. Die Sichere-Umgebung-Vorrichtung gemäß einem der vorhergehenden Aspekte, die ein Trusted-Platform-Module-Bauelement aufweist.
  • Aspekt 9. Die Sichere-Umgebung-Vorrichtung gemäß einem der vorhergehenden Aspekte, wobei die Sichere-Umgebung-Vorrichtung konfiguriert ist für einen flexiblen schnittstellenspezifischen Zugriffssteuerung(AC)-Mechanismus, der auf der Schnittstelle (14) basiert.
  • Aspekt 10. Eine Steuervorrichtung für ein System, wobei die Steuervorrichtung (20) konfiguriert ist zum Untersuchen eines Status des Systems zum Erzeugen von Statusinformationen (32); wobei die Steuervorrichtung (20) eine Schnittstelle aufweist, die mit einer Sichere-Umgebung-Vorrichtung (10) des Systems verbindbar ist; wobei die Steuervorrichtung (20) konfiguriert ist zum Speichern der Statusinformationen (32) in einem Speicher der Sichere-Umgebung-Vorrichtung.
  • Aspekt 11. Die Steuervorrichtung gemäß Aspekt 10, wobei die Steuervorrichtung (20) eine Root-of-Trust-for-Measurement-Funktionalität für das System aufweist.
  • Aspekt 12. Die Steuervorrichtung gemäß Aspekt 10 oder 11, die konfiguriert ist zum Untersuchen eines Status der Steuervorrichtung zum Bestimmen zumindest eines Teils des Status des Systems.
  • Aspekt 13. Die Steuervorrichtung gemäß einem der Aspekte 10 bis 12, wobei die Steuervorrichtung (20) konfiguriert ist zum wiederholten Bestimmen der Statusinformationen (32) und zum Erweitern und/oder Zurücksetzen der gespeicherten Statusinformationen in dem Speicher der sicheren Umgebung.
  • Aspekt 14. Die Steuervorrichtung gemäß einem der Aspekte 10 bis 13, wobei die Steuervorrichtung (20) konfiguriert ist zum Bestimmen der Statusinformationen (32) basierend auf zumindest einer von einer Software-Version von zumindest einer Komponente des Systems, einer Firmware-Version von zumindest einer Komponente des Systems und einer Hardware-Version von zumindest einer Komponente des Systems.
  • Aspekt 15. System, das folgende Merkmale aufweist:
    • eine Sichere-Umgebung-Vorrichtung (10) gemäß einem der Aspekte 1 bis 9;
    • eine Steuervorrichtung (20) gemäß einem der Aspekte 10 bis 14, die über die zweite Schnittstelle (14) mit der Sichere-Umgebung-Vorrichtung (10) verbunden ist; und
    • eine Host-Entität (42), die über die erste Schnittstelle (12) mit der Sichere-Umgebung-Vorrichtung verbunden ist;
    • wobei die Steuervorrichtung (20) konfiguriert ist zum Untersuchen eines Status des Systems zum Erzeugen der Statusinformationen (24, 28, 32) und zum Speichern der Statusinformationen (28, 32) in der Sichere-Umgebung-Vorrichtung.
  • Aspekt 16. Das System gemäß Aspekt 15, bei dem die Steuervorrichtung (20) konfiguriert ist zum Bestimmen und Speichern der ersten Statusinformationen (24) oder der zweiten Statusinformationen (28, 32) vor einer Bootprozedur oder während einer Leistungsverwaltungsprozedur des Systems, gesteuert durch die Host-Entität (42) oder basierend auf einer Richtlinie der Steuervorrichtung (20).
Some aspects described herein can be expressed as follows:
  • Aspect 1. A secure environment device (10) for a system, the secure environment device having the following features:
    • a first interface (12) connectable to a host entity (42);
    • a second interface (14) which can be connected to a control device (20);
    • at least one object (18);
    • a status memory (26) configured to store status information (28, 32) related to the status of the system, the status information (28, 32) being received from a controller (20);
    • wherein the secure environment device is configured to enable an object (18) for access based on the status information (28, 32).
  • Aspect 2. The secure environment apparatus according to aspect 1, wherein the status storage comprises a first status storage unit (22) and a second status storage unit (26), the status information being second status information (28); wherein the secure environment device is configured to store first status information (24) related to a status of the system, the first status information (24) being received from the host entity (42); and wherein the secure environment device is configured to store the second status information (28) received from the control device (20).
  • Aspect 3. The secure environment device according to aspect 1 or 2, configured to store the state information (28, 32) in the state memory (26) independently of the host entity (42).
  • Aspect 4. The secure environment apparatus of any preceding aspect, configured to allow the host entity (42) to utilize the second status information (28, 32) while the host entity (42) does not Write access to the second status information (28, 32) is granted.
  • Aspect 5. The secure environment apparatus according to any preceding aspect, having root of trust for storage and root of trust for reporting functionality for the system.
  • Aspect 6. The secure environment apparatus of any preceding aspect, configured to release an object (18) only if the second status information (28, 32) equals second predefined status information.
  • Aspect 7. The secure environment device according to any of the preceding aspects, configured to release an object (18) only if:
    • the first status information (24) equals first predefined status information; and
    • the second status information (28, 32) equals second predefined status information.
  • Aspect 8. The secure environment apparatus of any preceding aspect, comprising a Trusted Platform Module device.
  • Aspect 9. The secure environment device according to any of the preceding aspects, wherein the secure environment device is configured for a flexible interface specific access control (AC) mechanism based on the interface (14).
  • Aspect 10. A controller for a system, the controller (20) being configured to examine a status of the system to generate status information (32); the control device (20) having an interface connectable to a secure environment device (10) of the system; wherein the control device (20) is configured to store the status information (32) in a memory of the secure environment device.
  • Aspect 11. The controller of aspect 10, wherein the controller (20) has root-of-trust-for-measurement functionality for the system.
  • Aspect 12. The controller according to aspect 10 or 11, configured to examine a status of the controller to determine at least a part of the status of the system.
  • Aspect 13. The controller according to any one of aspects 10 to 12, wherein the controller (20) is configured to repeatedly determine the status information (32) and to expand and/or reset the stored status information in the secure environment memory.
  • Aspect 14. The controller according to any one of aspects 10 to 13, wherein the controller (20) is configured to determine the status information (32) based on at least one of a software version of at least one component of the system, a firmware version of at least a component of the system and a hardware version of at least one component of the system.
  • Aspect 15. A system having the following characteristics:
    • a secure environment device (10) according to any one of aspects 1 to 9;
    • a controller (20) according to any one of aspects 10 to 14 connected to the secure environment device (10) via the second interface (14); and
    • a host entity (42) connected to the secure environment device via the first interface (12);
    • wherein the control device (20) is configured to examine a status of the system for generating the status information (24, 28, 32) and for storing the status information (28, 32) in the secure environment device.
  • Aspect 16. The system according to aspect 15, wherein the controller (20) is configured to determine and store the first status information (24) or the second status information (28, 32) prior to a boot procedure or during a power management procedure of the system controlled by the host entity (42) or based on a policy of the controller (20).

Obwohl manche Aspekte im Zusammenhang mit einer Vorrichtung beschrieben wurden, versteht es sich, dass diese Aspekte auch eine Beschreibung des entsprechenden Verfahrens darstellen, sodass ein Block oder ein Bauelement einer Vorrichtung auch als ein entsprechender Verfahrensschritt oder als ein Merkmal eines Verfahrensschrittes zu verstehen ist. Analog dazu stellen Aspekte, die im Zusammenhang mit einem oder als ein Verfahrensschritt beschrieben wurden, auch eine Beschreibung eines entsprechenden Blocks oder Details oder Merkmals einer entsprechenden Vorrichtung dar.Although some aspects have been described in the context of a device, it is understood that these aspects also represent a description of the corresponding method, so that a block or a component of a device is also to be understood as a corresponding method step or as a feature of a method step. Similarly, aspects described in connection with or as a method step also constitute a description of a corresponding block or detail or feature of a corresponding device.

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

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

Allgemein können Ausführungsbeispiele der vorliegenden Erfindung als Computerprogrammprodukt mit einem Programmcode implementiert sein, wobei der Programmcode dahin gehend wirksam ist, eines der Verfahren durchzuführen, wenn das Computerprogrammprodukt auf einem Computer abläuft. Der Programmcode kann beispielsweise auch auf einem maschinenlesbaren Träger gespeichert sein.In general, embodiments of the present invention can be implemented as a computer program product with a program code, wherein the program code is effective to perform one of the methods when the computer program product runs on a computer. The program code can also be stored on a machine-readable carrier, for example.

Andere Ausführungsbeispiele umfassen das Computerprogramm zum Durchführen eines der hierin beschriebenen Verfahren, wobei das Computerprogramm auf einem maschinenlesbaren Träger gespeichert ist.Other exemplary embodiments include the computer program for performing one of the methods described herein, the computer program being stored on a machine-readable carrier.

Mit anderen Worten ist ein Ausführungsbeispiel des erfindungsgemäßen Verfahrens somit ein Computerprogramm, das einen Programmcode zum Durchführen eines der hierin beschriebenen Verfahren aufweist, wenn das Computerprogramm auf einem Computer abläuft.In other words, an exemplary embodiment of the method according to the invention is therefore a computer program that has a program code for performing one of the methods described herein when the computer program runs on a computer.

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

Ein weiteres Ausführungsbeispiel des erfindungsgemäßen Verfahrens ist somit ein Datenstrom oder eine Sequenz von Signalen, der bzw. die das Computerprogramm zum Durchführen eines der hierin beschriebenen Verfahren darstellt bzw. darstellen. Der Datenstrom oder die Sequenz von Signalen kann bzw. können beispielsweise dahin gehend konfiguriert sein, über eine Datenkommunikationsverbindung, beispielsweise über das Internet, übertragen zu werden.A further exemplary embodiment of the method according to the invention is therefore a data stream or a sequence of signals which the computer program for carrying out one of the herein described method represents or represent. For example, the data stream or sequence of signals may be configured to be transmitted over a data communications link, such as the Internet.

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

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

Bei manchen Ausführungsbeispielen kann ein programmierbares Logikbauelement (beispielsweise ein feldprogrammierbares Gatterarray, ein FPGA) dazu verwendet werden, manche oder alle Funktionalitäten der hierin beschriebenen Verfahren durchzuführen. Bei manchen Ausführungsbeispielen kann ein feldprogrammierbares Gatterarray mit einem Mikroprozessor zusammenwirken, um eines der hierin beschriebenen Verfahren durchzuführen. Allgemein werden die Verfahren vorzugsweise durch eine beliebige Hardwarevorrichtung durchgeführt.In some embodiments, a programmable logic device (e.g., a field programmable gate array, an FPGA) may be used to perform some or all of the functionality of the methods described herein. In some embodiments, a field programmable gate array may cooperate with a microprocessor to perform any of the methods described herein. In general, the methods are preferably performed by any hardware device.

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

Claims (16)

Eine Sichere-Umgebung-Vorrichtung (10) für ein System, wobei die Sichere-Umgebung-Vorrichtung folgende Merkmale aufweist: eine erste Schnittstelle (12), die mit einer Host-Entität (42) verbindbar ist; eine zweite Schnittstelle (14), die mit einer Steuervorrichtung (20) verbindbar ist; zumindest ein Objekt (18); einen Statusspeicher (26), der konfiguriert ist zum Speichern von Statusinformationen (28, 32), die sich auf den Status des Systems beziehen, wobei die Statusinformationen (28, 32) von einer Steuervorrichtung (20) empfangen werden; wobei die Sichere-Umgebung-Vorrichtung konfiguriert ist zum Freigeben eines Objekts (18) für einen Zugriff basierend auf den Statusinformationen (28, 32).A secure environment device (10) for a system, the secure environment device having the following features: a first interface (12) connectable to a host entity (42); a second interface (14) which can be connected to a control device (20); at least one object (18); a status memory (26) configured to store status information (28, 32) related to the status of the system, the status information (28, 32) being received from a controller (20); wherein the secure environment device is configured to enable an object (18) for access based on the status information (28, 32). Die Sichere-Umgebung-Vorrichtung gemäß Anspruch 1, bei der der Statusspeicher eine erste Statusspeichereinheit (22) und eine zweite Statusspeichereinheit (26) aufweist, wobei die Statusinformationen zweite Statusinformationen (28) sind; wobei die Sichere-Umgebung-Vorrichtung konfiguriert ist zum Speichern erster Statusinformationen (24), die sich auf einen Status des Systems beziehen, wobei die ersten Statusinformationen (24) von der Host-Entität (42) empfangen werden; und wobei die Sichere-Umgebung-Vorrichtung konfiguriert ist zum Speichern der zweiten Statusinformationen (28), die von der Steuervorrichtung (20) empfangen werden.The Secure Environment Device according to claim 1 , in which the status memory has a first status memory unit (22) and a second status memory unit (26), the status information being second status information (28); wherein the secure environment device is configured to store first status information (24) related to a status of the system, the first status information (24) being received from the host entity (42); and wherein the secure environment device is configured to store the second status information (28) received from the control device (20). Die Sichere-Umgebung-Vorrichtung gemäß Anspruch 1 oder 2, die konfiguriert ist zum Speichern der Statusinformationen (28, 32) in den Statusspeicher (26), unabhängig von der Host-Entität (42).The Secure Environment Device according to claim 1 or 2 configured to store the state information (28, 32) in the state store (26) independently of the host entity (42). Die Sichere-Umgebung-Vorrichtung gemäß einem der vorherigen Anspruche, die konfiguriert ist, es der Host-Entität (42) zu ermöglichen, die zweiten Statusinformationen (28, 32) zu nutzen, während der Host-Entität (42) kein Schreibzugriff auf die zweiten Statusinformationen (28, 32) gewährt wird.The secure environment apparatus of any preceding claim configured to allow the host entity (42) to utilize the second status information (28, 32) while the host entity (42) does not have write access to the second status information (28, 32) is granted. Die Sichere-Umgebung-Vorrichtung gemäß einem der vorhergehenden Ansprüche, die eine Root-of-Trust-for-Storage- und eine Root-of-Trust-for-Reporting-Funktionalität für das System aufweist.The secure environment apparatus of any preceding claim having root of trust for storage and root of trust for reporting functionality for the system. Die Sichere-Umgebung-Vorrichtung gemäß einem der vorhergehenden Ansprüche, die konfiguriert ist, ein Objekt (18) nur freizugeben, wenn die zweiten Statusinformationen (28, 32) gleich zweiten vordefinierten Statusinformationen sind.The secure environment apparatus of any preceding claim configured to release an object (18) only if the second status information (28, 32) equals second predefined status information. Die Sichere-Umgebung-Vorrichtung gemäß einem der vorhergehenden Ansprüche, die konfiguriert ist, ein Objekt (18) nur freizugeben, wenn: die ersten Statusinformationen (24) gleich ersten vordefinierten Statusinformationen sind; und die zweiten Statusinformationen (28, 32) gleich zweiten vordefinierten Statusinformationen sind.The secure environment apparatus of any preceding claim configured to release an object (18) only if: the first status information (24) equals first predefined status information; and the second status information (28, 32) is equal to second predefined status information. Die Sichere-Umgebung-Vorrichtung gemäß einem der vorhergehenden Ansprüche, die ein Trusted-Platform-Module-Bauelement aufweist.The secure environment apparatus of any preceding claim, comprising a Trusted Platform Module device. Die Sichere-Umgebung-Vorrichtung gemäß einem der vorhergehenden Ansprüche, wobei die Sichere-Umgebung-Vorrichtung konfiguriert ist für einen flexiblen schnittstellenspezifischen Zugriffssteuerung(AC)-Mechanismus, der auf der Schnittstelle (14) basiert.The secure environment device of any preceding claim, wherein the secure environment device is configured for a flexible interface specific access control (AC) mechanism based on the interface (14). Eine Steuervorrichtung für ein System, wobei die Steuervorrichtung (20) konfiguriert ist zum Untersuchen eines Status des Systems zum Erzeugen von Statusinformationen (32); wobei die Steuervorrichtung (20) eine Schnittstelle aufweist, die mit einer Sichere-Umgebung-Vorrichtung (10) des Systems verbindbar ist; wobei die Steuervorrichtung (20) konfiguriert ist zum Speichern der Statusinformationen (32) in einem Speicher der Sichere-Umgebung-Vorrichtung.A controller for a system, the controller (20) being configured to examine a status of the system to generate status information (32); the control device (20) having an interface connectable to a secure environment device (10) of the system; wherein the control device (20) is configured to store the status information (32) in a memory of the secure environment device. Die Steuervorrichtung gemäß Anspruch 10, wobei die Steuervorrichtung (20) eine Root-of-Trust-for-Measurement-Funktionalität für das System aufweist.The control device according to claim 10 , wherein the control device (20) has a root-of-trust-for-measurement functionality for the system. Die Steuervorrichtung gemäß Anspruch 10 oder 11, die konfiguriert ist zum Untersuchen eines Status der Steuervorrichtung zum Bestimmen zumindest eines Teils des Status des Systems.The control device according to claim 10 or 11 configured to examine a status of the controller to determine at least a portion of the status of the system. Die Steuervorrichtung gemäß einem der Ansprüche 10 bis 12, wobei die Steuervorrichtung (20) konfiguriert ist zum wiederholten Bestimmen der Statusinformationen (32) und zum Erweitern und/oder Zurücksetzen der gespeicherten Statusinformationen in dem Speicher der sicheren Umgebung.The control device according to one of Claims 10 until 12 wherein the control device (20) is configured to repeatedly determine the status information (32) and to expand and/or reset the stored status information in the memory of the secure environment. Die Steuervorrichtung gemäß einem der Ansprüche 10 bis 13, wobei die Steuervorrichtung (20) konfiguriert ist zum Bestimmen der Statusinformationen (32) basierend auf zumindest einer von einer Software-Version von zumindest einer Komponente des Systems, einer Firmware-Version von zumindest einer Komponente des Systems und einer Hardware-Version von zumindest einer Komponente des Systems.The control device according to one of Claims 10 until 13 , wherein the control device (20) is configured to determine the status information (32) based on at least one of a software version of at least one component of the system, a firmware version of at least one component of the system and a hardware version of at least one component of the system. System, das folgende Merkmale aufweist: eine Sichere-Umgebung-Vorrichtung (10) gemäß einem der Ansprüche 1 bis 9; eine Steuervorrichtung (20) gemäß einem der Ansprüche 10 bis 14, die über die zweite Schnittstelle (14) mit der Sichere-Umgebung-Vorrichtung (10) verbunden ist; und eine Host-Entität (42), die über die erste Schnittstelle (12) mit der Sichere-Umgebung-Vorrichtung verbunden ist; wobei die Steuervorrichtung (20) konfiguriert ist zum Untersuchen eines Status des Systems zum Erzeugen der Statusinformationen (24, 28, 32) und zum Speichern der Statusinformationen (28, 32) in der Sichere-Umgebung-Vorrichtung.System having the following features: a secure environment device (10) according to any one of Claims 1 until 9 ; a control device (20) according to any one of Claims 10 until 14 connected to the secure environment device (10) via the second interface (14); and a host entity (42) connected to the secure environment device via the first interface (12); wherein the control device (20) is configured to examine a status of the system for generating the status information (24, 28, 32) and for storing the status information (28, 32) in the secure environment device. Das System gemäß Anspruch 15, bei dem die Steuervorrichtung (20) konfiguriert ist zum Bestimmen und Speichern der ersten Statusinformationen (24) oder der zweiten Statusinformationen (28, 32) vor einer Bootprozedur oder während einer Leistungsverwaltungsprozedur des Systems, gesteuert durch die Host-Entität (42) oder basierend auf einer Richtlinie der Steuervorrichtung (20).The system according to claim 15 wherein the control device (20) is configured to determine and store the first status information (24) or the second status information (28, 32) before a boot procedure or during a power management procedure of the system, controlled by the host entity (42) or based on a directive of the controller (20).
DE102021206609.7A 2021-06-25 2021-06-25 Secure environment, controller and system comprising these entities Pending DE102021206609A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102021206609.7A DE102021206609A1 (en) 2021-06-25 2021-06-25 Secure environment, controller and system comprising these entities

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102021206609.7A DE102021206609A1 (en) 2021-06-25 2021-06-25 Secure environment, controller and system comprising these entities

Publications (1)

Publication Number Publication Date
DE102021206609A1 true DE102021206609A1 (en) 2022-12-29

Family

ID=84388652

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021206609.7A Pending DE102021206609A1 (en) 2021-06-25 2021-06-25 Secure environment, controller and system comprising these entities

Country Status (1)

Country Link
DE (1) DE102021206609A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8104077B1 (en) 2006-01-03 2012-01-24 Symantec Corporation System and method for adaptive end-point compliance
US20150067813A1 (en) 2010-01-22 2015-03-05 Interdigital Patent Holdings, Inc. Method and Apparatus for Trusted Federated Identity Management and Data Access Authorization
US9608997B2 (en) 2005-12-21 2017-03-28 International Business Machines Corporation Methods and systems for controlling access to computing resources based on known security vulnerabilities
US10841316B2 (en) 2014-09-30 2020-11-17 Citrix Systems, Inc. Dynamic access control to network resources using federated full domain logon

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9608997B2 (en) 2005-12-21 2017-03-28 International Business Machines Corporation Methods and systems for controlling access to computing resources based on known security vulnerabilities
US8104077B1 (en) 2006-01-03 2012-01-24 Symantec Corporation System and method for adaptive end-point compliance
US20150067813A1 (en) 2010-01-22 2015-03-05 Interdigital Patent Holdings, Inc. Method and Apparatus for Trusted Federated Identity Management and Data Access Authorization
US10841316B2 (en) 2014-09-30 2020-11-17 Citrix Systems, Inc. Dynamic access control to network resources using federated full domain logon

Similar Documents

Publication Publication Date Title
DE102008021567B4 (en) Computer system with secure boot mechanism based on symmetric key encryption
DE102020122712A1 (en) INTEGRITY MANIFESTO CERTIFICATE
DE102009013384B4 (en) System and method for providing a secure application fragmentation environment
DE102015209116A1 (en) Method and update gateway for updating an embedded controller
DE102015209108A1 (en) Method and decision gateway for authorizing a function of an embedded controller
DE102020116791A1 (en) Device and method for computer-aided processing of data
EP2899714A1 (en) Secure provision of a key
DE10392528T5 (en) Microcode patch authentication
DE10393662T5 (en) Providing a safe execution mode in a preboot environment
EP3259698A1 (en) Autonomously booting system with a security module
DE10254621A1 (en) Device and method for creating a trustworthy environment
DE102018126136A1 (en) Biometric authentication technologies before booting
DE112019006586T5 (en) SECURING NODE GROUPS
DE112015007220T5 (en) Techniques for coordinating device startup safety
EP3337085B1 (en) Reloading cryptographic program instructions
DE102009014981A1 (en) Apparatus, system and method for modifying a pre-boot rule
DE102022108380A1 (en) MANAGE THE STORAGE OF SECRETS IN MEMORIES OF BASEBOARD MANAGEMENT CONTROLLER
DE102016210788A1 (en) Component for processing a worthy of protection date and method for implementing a security function to protect a worthy of protection date in such a component
DE102020121075A1 (en) Establishment and procedure for the authentication of software
WO2020200729A1 (en) Method for configuring a security module with at least one derived key
DE102022109212A1 (en) Securing communications with security processors using platform keys
DE102022109208A1 (en) Management of use of management control secrets based on firmware ownership history
EP2911080A1 (en) Method and device for secure initialisation of a computer
DE102021101891A1 (en) DETERMINE WHETHER A CALCULATION ACTION SHOULD BE PERFORMED BASED ON ANALYSIS OF ENDORSEMENT INFORMATION FROM A SECURITY COPROCESSOR
DE102018213616A1 (en) Cryptography module and operating method therefor

Legal Events

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