DE102023110485A1 - DETECTING AND RESPOND TO ENVIRONMENTAL SECURITY ATTACKS ON SEMICONDUCTOR PACKAGING - Google Patents
DETECTING AND RESPOND TO ENVIRONMENTAL SECURITY ATTACKS ON SEMICONDUCTOR PACKAGING Download PDFInfo
- Publication number
- DE102023110485A1 DE102023110485A1 DE102023110485.3A DE102023110485A DE102023110485A1 DE 102023110485 A1 DE102023110485 A1 DE 102023110485A1 DE 102023110485 A DE102023110485 A DE 102023110485A DE 102023110485 A1 DE102023110485 A1 DE 102023110485A1
- Authority
- DE
- Germany
- Prior art keywords
- reset
- logic gates
- security
- canary
- controller
- 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
Links
- 239000004065 semiconductor Substances 0.000 title claims abstract description 100
- 230000007613 environmental effect Effects 0.000 title claims description 63
- 238000004806 packaging method and process Methods 0.000 title 1
- 241000287219 Serinus canaria Species 0.000 claims abstract description 133
- 230000004044 response Effects 0.000 claims abstract description 68
- 238000000034 method Methods 0.000 claims abstract description 30
- 230000001105 regulatory effect Effects 0.000 claims abstract description 10
- 238000012545 processing Methods 0.000 claims description 84
- 230000009466 transformation Effects 0.000 claims description 20
- 230000007257 malfunction Effects 0.000 claims description 16
- 230000009471 action Effects 0.000 claims description 15
- 239000013598 vector Substances 0.000 claims description 14
- 230000008569 process Effects 0.000 abstract description 20
- 230000000694 effects Effects 0.000 description 67
- 238000007726 management method Methods 0.000 description 60
- 238000001514 detection method Methods 0.000 description 40
- 230000006870 function Effects 0.000 description 28
- 230000015654 memory Effects 0.000 description 26
- 230000008901 benefit Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 9
- 238000012544 monitoring process Methods 0.000 description 9
- 238000000844 transformation Methods 0.000 description 9
- 238000004519 manufacturing process Methods 0.000 description 8
- 238000013461 design Methods 0.000 description 7
- 230000002093 peripheral effect Effects 0.000 description 6
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 229910052710 silicon Inorganic materials 0.000 description 5
- 239000010703 silicon Substances 0.000 description 5
- 230000004913 activation Effects 0.000 description 4
- 230000006399 behavior Effects 0.000 description 4
- 230000001276 controlling effect Effects 0.000 description 4
- 238000001914 filtration Methods 0.000 description 4
- 238000005259 measurement Methods 0.000 description 4
- 230000035945 sensitivity Effects 0.000 description 4
- 238000010200 validation analysis Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 239000004744 fabric Substances 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 238000013024 troubleshooting Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000000630 rising effect Effects 0.000 description 2
- 238000007789 sealing Methods 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 238000011144 upstream manufacturing Methods 0.000 description 2
- 206010000117 Abnormal behaviour Diseases 0.000 description 1
- 101100498818 Arabidopsis thaliana DDR4 gene Proteins 0.000 description 1
- 235000010678 Paulownia tomentosa Nutrition 0.000 description 1
- 240000002834 Paulownia tomentosa Species 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 230000005672 electromagnetic field Effects 0.000 description 1
- 230000001747 exhibiting effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000001976 improved effect Effects 0.000 description 1
- 238000010348 incorporation Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3234—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving additional secure or trusted devices, e.g. TPM, smartcard, USB or software token
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/575—Secure boot
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/72—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09C—CIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
- G09C1/00—Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0637—Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
Abstract
Ein Prozess beinhaltet die Erzeugung eines Ausgabewertes durch eine Kanarienschaltung eines Halbleiterpakets. Das Halbleiterpaket enthält eine Hardware-Root-of-Trust-Engine für ein elektronisches System. Der Prozess umfasst den Vergleich des Ausgabewerts mit einem erwarteten Wert durch die Canary-Schaltung. Der Prozess beinhaltet, dass das Halbleiterpaket in Reaktion auf ein Ergebnis des Vergleichs eine Reaktion des Halbleiterpakets auf eine Rücksetzanforderung reguliert.A process includes generating an output value by a canary circuit of a semiconductor package. The semiconductor package includes a hardware root of trust engine for an electronic system. The process includes comparing the output value to an expected value by the canary circuit. The process includes the semiconductor package regulating a response of the semiconductor package to a reset request in response to a result of the comparison.
Description
HINTERGRUNDBACKGROUND
Eine Computerplattform kann Gegenstand eines Sicherheitsangriffs sein, um z. B. auf Informationen zuzugreifen, die auf der Computerplattform gespeichert sind, oder um Komponenten der Computerplattform zu beschädigen. Um das Ausmaß des potenziellen Schadens durch Sicherheitsangriffe zu verhindern oder zumindest zu begrenzen, kann die Computerplattform über verschiedene Sicherheitsstufen verfügen. So kann die Computerplattform beispielsweise über verschiedene Mechanismen zur Zugangsbeschränkung verfügen, wie etwa Firewalls, Passwörter und Schlüssel. Als weiteres Beispiel kann die Computerplattform einen Sicherheitsprozessor haben. Der Sicherheitsprozessor kann eine Reihe von sicherheitsrelevanten Funktionen bereitstellen, um die Computerplattform gegen Sicherheitsangriffe zu schützen. Eine sicherheitsrelevante Funktion kann zum Beispiel die sichere Speicherung von Plattformgeheimnissen sein. Ein weiteres Beispiel für eine sicherheitsrelevante Funktion kann die Validierung von Firmware sein. Ein weiteres Beispiel für eine sicherheitsrelevante Funktion kann die Sicherung von Firmware-Updates sein. Weitere Beispiele für sicherheitsrelevante Funktionen sind die Erzeugung kryptografischer Schlüssel, die Versiegelung kryptografischer Schlüssel und die Entsiegelung kryptografischer Schlüssel.A computer platform can be the subject of a security attack, e.g. B. to access information stored on the computer platform or to damage components of the computer platform. To prevent or at least limit the extent of potential damage from security attacks, the computing platform may have various levels of security. For example, the computing platform may have various mechanisms for restricting access, such as firewalls, passwords and keys. As another example, the computer platform may have a security processor. The security processor can provide a number of security-related functions to protect the computing platform against security attacks. A security-relevant function can, for example, be the secure storage of platform secrets. Another example of a security-relevant function can be the validation of firmware. Another example of a security-related function can be securing firmware updates. Other examples of security-related functions include cryptographic key generation, cryptographic key sealing, and cryptographic key unsealing.
KURZBESCHREIBUNG DER ZEICHNUNGENBRIEF DESCRIPTION OF DRAWINGS
-
1 ist ein schematisches Diagramm einer Computerplattform mit einer digitalen Canary-Schaltung und einem Reset-Regler zum Schutz eines Sicherheitsprozessors der Computerplattform gegen umweltbedingte Sicherheitsangriffe gemäß einem Implementierungsbeispiel.1 is a schematic diagram of a computing platform having a digital canary circuit and a reset controller for protecting a security processor of the computing platform against environmental security attacks, according to an example implementation. -
2 ist eine schematische Darstellung einer sicheren Enklave des Sicherheitsprozessors gemäß einem Ausführungsbeispiel.2 is a schematic representation of a secure enclave of the security processor according to one embodiment. -
3 ist ein Blockdiagramm des Rückstellreglers gemäß einem Ausführungsbeispiel.3 is a block diagram of the reset controller according to an embodiment. -
4 ist ein Flussdiagramm, das einen Prozess darstellt, der vom Sicherheitsprozessor durchgeführt wird, um eine Reaktion des Sicherheitsprozessors auf eine Rücksetzanforderung gemäß einer Beispielimplementierung zu regulieren.4 is a flowchart illustrating a process performed by the security processor to regulate a response of the security processor to a reset request, according to an example implementation. -
5 zeigt eine Silizium-Root-of-Trust-Engine (SRoT-Engine) des Sicherheitsprozessors und veranschaulicht die Einbindung einer digitalen Canary-Schaltung in die SRoT-Engine gemäß einem Implementierungsbeispiel.5 shows a silicon root of trust engine (SRoT engine) of the security processor and illustrates the integration of a digital canary circuit into the SRoT engine according to an implementation example. -
6 zeigt die räumliche Vermischung von Logikgattern der Root-of-Trust-Engine und Logikgattern der Canary-Schaltung gemäß einem Implementierungsbeispiel.6 shows the spatial mixing of logic gates of the root-of-trust engine and logic gates of the canary circuit according to an implementation example. -
7 zeigt einen Verarbeitungskern des Sicherheitsprozessors und veranschaulicht den Einbau einer digitalen Canary-Schaltung in den Verarbeitungskern gemäß einem Implementierungsbeispiel.7 shows a processing core of the security processor and illustrates the incorporation of a digital canary circuit into the processing core according to an implementation example. -
8 zeigt die räumliche Vermischung von Logikgattern des Verarbeitungskerns und Logikgattern der Kanarienschaltung gemäß einem Implementierungsbeispiel.8th shows the spatial mixing of logic gates of the processing core and logic gates of the canary circuit according to an implementation example. -
9 ist ein Blockdiagramm einer digitalen Canary-Schaltung gemäß einem Implementierungsbeispiel.9 is a block diagram of a digital canary circuit according to an implementation example. -
10 ist ein Flussdiagramm eines Prozesses zur Erkennung von und Reaktion auf Manipulationsaktivitäten gemäß einer Beispielimplementierung.10 is a flowchart of a process for detecting and responding to tampering activities according to an example implementation. -
11 ist ein Blockdiagramm eines Baseboard Management Controllers (BMC) mit einer Canary-Schaltung zur Erkennung von Manipulationen und einem Controller zur Durchführung einer Reaktionsmaßnahme als Reaktion auf eine erkannte Manipulation gemäß einer Beispielimplementierung.11 is a block diagram of a baseboard management controller (BMC) with a canary circuit for detecting tampering and a controller for taking a response action in response to a detected tampering, according to an example implementation. -
12 ist ein Blockdiagramm einer Computerplattform mit einer Canary-Schaltung zur Erkennung von Manipulationen und einem Reset-Regler zur Regulierung einer Reset-Haltezeit als Reaktion auf erkannte Manipulationen gemäß einem Implementierungsbeispiel.12 is a block diagram of a computer platform having a canary circuit for detecting tampering and a reset controller for regulating a reset hold time in response to detected tampering, according to an example implementation.
AUSFÜHRLICHE BESCHREIBUNGDETAILED DESCRIPTION
Eine Computerplattform kann einen Sicherheitsprozessor enthalten, der einen oder mehrere sicherheitsbezogene Dienste für die Computerplattform ausführen kann. So kann ein Sicherheitsprozessor beispielsweise Firmware-Anweisungen als Teil des sicheren Startvorgangs der Computerplattform validieren. Als spezifischeres Beispiel kann ein Sicherheitsprozessor eine Root-of-Trust-Engine enthalten, um als Reaktion auf das Zurücksetzen oder Einschalten der Computerplattform Firmware-Anweisungen zu validieren, die mit einer kryptografischen Vertrauenskette verbunden sind. Als weitere Beispiele kann ein Sicherheitsprozessor eines oder mehrere der folgenden Verfahren durchführen: Speichern von Messungshashes, Laden von Referenzmessungshashes, Speichern von kryptografischen Schlüsseln, Abrufen von kryptografischen Schlüsseln, Erzeugen von kryptografischen Schlüsseln, Abrufen einer kryptografischen Plattformidentität, Erstellen von Zertifikaten, Speichern von Zertifikaten, Hinzufügen von Zertifikaten, Löschen von Zertifikaten, Versiegeln von kryptografischen Schlüsseln und Entsiegeln von kryptografischen Schlüsseln.A computing platform may include a security processor that may perform one or more security-related services for the computing platform. For example, a security processor may validate firmware instructions as part of the secure boot process of the computing platform. As a more specific example, a security processor may include a root of trust engine to validate firmware instructions associated with a cryptographic chain of trust in response to a reset or power-on of the computing platform. As further examples, a security processor may perform one or more of the following: storing measurement hashes, loading reference measurement hashes, storing cryptographic keys, retrieving cryptographic keys, generating cryptographic keys, retrieving a cryptographic platform identity, creating certificates, storing certificates, adding certificates, deleting certificates, sealing cryptographic keys, and unsealing cryptographic keys.
Eine mögliche Methode, eine Computerplattform anzugreifen, besteht darin, eine Umgebungsbedingung des Sicherheitsprozessors der Plattform so zu manipulieren, dass die Umgebungsbedingung weit außerhalb der Spezifikationen des Sicherheitsprozessors für diese Bedingung liegt. In diesem Zusammenhang bezieht sich eine „Umgebungsbedingung“ eines Sicherheitsprozessors auf einen Parameter oder ein Merkmal des Betriebszustands des Sicherheitsprozessors, der/das einen erwarteten Betriebsbereich hat und durch einen Stimulus von außerhalb des Sicherheitsprozessors beeinflusst werden kann. Eine Umgebungsbedingung für einen Sicherheitsprozessor kann beispielsweise die Höhe einer Versorgungsspannung sein, die dem Sicherheitsprozessor zugeführt wird, die Rate eines Taktsignals, das der Sicherheitsprozessor empfängt, die Chiptemperatur des Sicherheitsprozessors, der Strahlungspegel des Sicherheitsprozessors oder die Stärke eines elektromagnetischen Feldes, dem der Sicherheitsprozessor ausgesetzt ist. Die gezielte Manipulation einer Umgebungsbedingung eines Sicherheitsprozessors, so dass die Umgebungsbedingung außerhalb des entsprechenden erwarteten Bereichs liegt, wird hier als ein „durch die Umgebungsbedingung bedingter“ Sicherheitsangriff bezeichnet.One possible method of attacking a computer platform is to manipulate an environmental condition of the platform's security processor such that the environmental condition is well outside the security processor's specifications for that condition. In this context, an "environmental condition" of a security processor refers to a parameter or characteristic of the operating state of the security processor that has an expected operating range and can be affected by a stimulus external to the security processor. For example, an environmental condition for a security processor may be the level of a supply voltage supplied to the security processor, the rate of a clock signal received by the security processor, the chip temperature of the security processor, the radiation level of the security processor, or the strength of an electromagnetic field to which the security processor is exposed. Deliberately manipulating an environmental condition of a security processor such that the environmental condition is outside the corresponding expected range is referred to herein as an "environmental condition-induced" security attack.
Ein Beispiel für einen umweltbedingten Sicherheitsangriff ist, dass ein Sicherheitsprozessor mit einer Versorgungsspannung versorgt wird, die größer ist als die Höchstgrenze der Versorgungsspannung des Sicherheitsprozessors. Ein weiteres Beispiel ist, dass die Rate eines Taktsignals, das einem Sicherheitsprozessor zugeführt wird, größer sein kann als die für den Sicherheitsprozessor festgelegte maximale Taktfrequenz. Ein weiteres Beispiel ist, dass die Umgebungstemperatur für einen Sicherheitsprozessor manipuliert werden kann (z. B. kann ein Lüfter ausgeschaltet werden, ein Kühlkörper kann entfernt werden, thermische Energie kann der Umgebung zugeführt werden oder ein anderer Mechanismus kann verwendet werden, um die Umgebungstemperatur zu erhöhen), um zu bewirken, dass die Chiptemperatur des Sicherheitsprozessors die für den Sicherheitsprozessor angegebene maximale Chiptemperatur übersteigt.An example of an environmental security attack is that a security processor is supplied with a supply voltage that is greater than the maximum limit of the security processor's supply voltage. Another example is that the rate of a clock signal supplied to a security processor may be greater than the maximum clock frequency set for the security processor. Another example is that the ambient temperature for a security processor can be manipulated (e.g. a fan can be turned off, a heat sink can be removed, thermal energy can be added to the environment, or some other mechanism can be used to increase the ambient temperature increase) to cause the security processor chip temperature to exceed the maximum chip temperature specified for the security processor.
Das Ziel eines umweltbedingten Sicherheitsangriffs auf einen Sicherheitsprozessor besteht darin, den Sicherheitsprozessor zu einer Fehlfunktion oder zu einer oder mehreren Störungen zu veranlassen, um einem Angreifer die Möglichkeit zu geben, in das ansonsten geschlossene System des Sicherheitsprozessors einzudringen. Die Funktionsstörung kann sich auf unterschiedliche Weise äußern. Die Fehlfunktion eines Sicherheitsprozessors kann beispielsweise dazu führen, dass sich Bit-Zustände umkehren, dass Programmanweisungen beschädigt werden, dass das Verhalten bei der Programmausführung von dem erwarteten Verhalten abweicht, dass geschützte Anweisungen ausgeführt werden, die nicht ausgeführt werden sollten, dass die Ausführung von Anweisungen, die nicht umgangen werden sollten, umgangen wird, dass Firmware validiert wird, die nicht validiert werden sollte, oder dass der Sicherheitsprozessor ganz allgemein ein anormales Verhalten zeigt. Anders ausgedrückt: Ein durch die Umgebungsbedingungen bedingter Sicherheitsangriff kann einen Angriffspfad darstellen, der die Sicherheitsvorkehrungen des Sicherheitsprozessors umgeht, die ansonsten vorhanden sind, wenn der Sicherheitsprozessor ordnungsgemäß funktioniert. Da ein umweltbedingter Sicherheitsangriff einen Sicherheitsprozessor dazu veranlasst, außerhalb seiner Konstruktionsspezifikationen zu arbeiten, ist es möglich, dass die genaue(n) Ursache(n) der Fehlfunktion nicht bekannt und nicht vorhersehbar ist/sind.The goal of an environmental security attack on a security processor is to cause the security processor to malfunction or to cause one or more malfunctions, allowing an attacker to penetrate the otherwise closed system of the security processor. The malfunction can manifest itself in a number of ways. For example, a security processor malfunction can result in bit states being reversed, program instructions being corrupted, program execution behavior deviating from expected behavior, protected instructions being executed that should not be executed, execution of instructions that should not be bypassed being bypassed, firmware being validated that should not be validated, or the security processor generally exhibiting abnormal behavior. In other words, an environmental security attack can provide an attack path that bypasses the security processor's safeguards that would otherwise be in place if the security processor were functioning properly. Because an environmental security attack causes a security processor to operate outside of its design specifications, it is possible that the exact cause(s) of the malfunction are unknown and unpredictable.
Gemäß Ausführungsbeispielen verfügt ein Sicherheitsprozessor über eine oder mehrere digitale Canary-Schaltungen, um einen durch Umgebungsbedingungen verursachten Sicherheitsangriff auf den Sicherheitsprozessor zu erkennen. Wie hier verwendet, bezieht sich der Begriff „Canary-Schaltung“ auf eine Schaltung, die aufgrund eines umweltbedingten Sicherheitsangriffs eine Fehlfunktion aufweist und eine beobachtbare Anzeige liefert, wenn die Fehlfunktion auftritt, so dass die Anzeige auch als Indikator für einen umweltbedingten Sicherheitsangriff dienen kann. In Übereinstimmung mit einigen Implementierungen führt ein Canary-Schaltkreis eine oder mehrere kryptographische Chiffriertransformationen durch, die eine Ausgabe auf der Grundlage einer bekannten Eingabe erzeugen, und die Ausgabe kann als Indikator verwendet werden. Auf diese Weise weist eine Abweichung der Ausgabe der Canary-Schaltung von einer erwarteten Ausgabe auf eine Fehlfunktion hin und zeigt einen durch die Umgebungsbedingungen verursachten Sicherheitsangriff an.According to embodiments, a security processor has one or more digital canary circuits to detect a security attack on the security processor caused by environmental conditions. As used herein, the term "canary circuit" refers to a circuit that malfunctions due to an environmental security attack and provides an observable indication when the malfunction occurs, such that the indication may also serve as an indicator of an environmental security attack. In accordance with some implementations, a canary circuit performs one or more cryptographic cipher transformations that produce an output based on a known input, and the output may be used as an indicator. In this way, a deviation of the canary circuit output from an expected output indicates a malfunction and indicates a security attack caused by the environmental conditions.
Der Canary-Schaltkreis kann über eine relativ komplexe Logik verfügen (z. B. eine Kette seriell gekoppelter AES-Chiffriertransformationen), die so ausgelegt ist, dass sie zu dem Zeitpunkt oder in der Nähe des Zeitpunkts ausfällt, zu dem eine geschützte Komponente (z. B. eine Root-of-Trust-Engine oder ein Sicherheitsverarbeitungskern) des Sicherheitsprozessors aufgrund eines durch die Umgebungsbedingungen verursachten Angriffs ausfällt. Gemäß Ausführungsbeispielen liefert die digitale Canary-Schaltung eine Manipulationsanzeige als Reaktion auf einen Ausgangswert, der von ihrer komplexen Logik erzeugt wird und nicht mit einem erwarteten Wert übereinstimmt. Um sicherzustellen, dass die digitale Canary-Schaltung einer ähnlichen Umgebung ausgesetzt ist wie das zu schützende Bauteil, werden die Logikgatter der Canary-Schaltung räumlich mit den Logikgattern des zu schützenden Bauteils vermischt, wie hier beschrieben. Wie hier weiter beschrieben, ermöglicht die hohe Empfindlichkeit der Canary-Schaltung gegenüber einem durch die Umgebungsbedingungen bedingten Sicherheitsangriff eine rechtzeitige Reaktion auf die Manipulation.The canary circuit may have relatively complex logic (e.g., a chain of serially coupled AES cipher transformations) that is designed to fail at or near the time a protected component (e.g., a root-of-trust engine or a security processing core) of the security processor fails due to an attack caused by the environmental conditions. According to embodiments, the digital canary circuit provides a tamper indication in response to an output value generated by its complex logic that does not match an expected value. To ensure that the digital canary circuit is exposed to a similar environment as the component to be protected, the logic gates of the canary circuit ation is spatially mixed with the logic gates of the component to be protected, as described here. As further described here, the high sensitivity of the canary circuit to an environmental-related security attack enables a timely response to the manipulation.
Wenn ein Sicherheitsprozessor einem durch Umgebungsbedingungen verursachten Sicherheitsangriff ausgesetzt wird, kann in Verbindung mit dem wiederholten Zurücksetzen des Sicherheitsprozessors die Wahrscheinlichkeit erhöht werden, dass der Sicherheitsangriff erfolgreich ist. So kann der Sicherheitsprozessor beispielsweise Teil einer Computerplattform sein, die über einen sicheren Startvorgang verfügt, um sicherzustellen, dass authentifizierte Firmware und Software auf der Computerplattform ausgeführt werden. Beim sicheren Hochfahren baut die Computerplattform eine kryptografische Vertrauenskette für die maschinenlesbaren Anweisungen (z. B. eine Firmware und Software) auf, die von der Computerplattform ausgeführt werden. Die Vertrauenskette kann mit einer Anfangsverbindung oder einem Vertrauensanker beginnen, der das Anfangsglied oder den Anfang der Vertrauenskette darstellt. Im Allgemeinen wird beim sicheren Booten jeder Satz maschinenlesbarer Anweisungen, der jedem Glied der Vertrauenskette entspricht, als vertrauenswürdig eingestuft und dann geladen und ausgeführt, um zu prüfen, ob der nächste Satz maschinenlesbarer Anweisungen, der dem nächsten Nachfolgeglied entspricht, vertrauenswürdig ist, bevor der nächste Satz geladen und ausgeführt werden darf.Exposing a security processor to a security attack caused by environmental conditions, coupled with repeated resetting of the security processor, can increase the likelihood that the security attack will be successful. For example, the security processor may be part of a computer platform that has a secure boot process to ensure that authenticated firmware and software are running on the computer platform. During secure boot, the computing platform establishes a cryptographic chain of trust for the machine-readable instructions (e.g., firmware and software) executed by the computing platform. The chain of trust can begin with an initial link or a trust anchor, which represents the initial link or beginning of the chain of trust. In general, secure boot involves trusting each set of machine-readable instructions corresponding to each link in the trust chain and then loading and executing it to check whether the next set of machine-readable instructions corresponding to the next successor link is trusted before the next one Set can be loaded and executed.
Da ein Sicherheitsprozessor eine Rolle beim Aufbau einer Vertrauenskette für eine Computerplattform spielen kann, wenn Komponenten des Sicherheitsprozessors aus dem Reset freigegeben werden, ist jeder Reset des Sicherheitsprozessors eine weitere Gelegenheit für eine induzierte Fehlfunktion des Sicherheitsprozessors, die einem Angreifer Vorteile bringt. Der Sicherheitsprozessor kann beispielsweise eine oder mehrere Komponenten enthalten, die ein oder mehrere Glieder einer kryptografischen Vertrauenskette bilden, und die Fehlfunktion einer oder mehrerer solcher Komponenten kann Angriffspunkte darstellen.Because a security processor can play a role in establishing a chain of trust for a computer platform, when components of the security processor are released from reset, each reset of the security processor is another opportunity for an induced malfunction of the security processor that provides an advantage to an attacker. For example, the security processor may include one or more components that form one or more links in a cryptographic chain of trust, and the malfunction of one or more such components may provide points of attack.
Ein spezifischeres Beispiel: Ein Sicherheitsprozessor kann eine Root-of-Trust-Engine enthalten, die einen Vertrauensanker für die Vertrauenskette einer Computerplattform setzt, wenn die Root-of-Trust-Engine aus dem Reset freigegeben wird. Durch eine Fehlfunktion des Sicherheitsprozessors zu dem Zeitpunkt oder in der Nähe des Zeitpunkts, zu dem die Root-of-Trust-Engine aus der Rücksetzphase entlassen wird, kann die Fehlfunktion beispielsweise dazu führen, dass ein bösartiger Satz von anfänglichen Firmware-Anweisungen fälschlicherweise authentifiziert (d. h. als vertrauenswürdig eingestuft) wird. Ein weiteres Beispiel: Firmware, die von einem Verarbeitungskern eines Sicherheitsprozessors ausgeführt wird, kann vertrauenswürdig sein, aber der Verarbeitungskern kann nach dem Zurücksetzen einen bösartigen Satz von Firmware-Anweisungen, der dem nächsten Glied der Vertrauenskette entspricht, fälschlicherweise authentifizieren. Ein weiteres Beispiel: Der anfängliche Firmware-Satz kann vertrauenswürdig sein, aber der Verarbeitungskern kann, nachdem er aus der Rücksetzphase entlassen wurde, die anfänglichen Fehler- und/oder Sicherheitsprüfungen nicht korrekt durchführen oder allgemein ein unerwartetes Ausführungsverhalten zeigen.As a more specific example, a security processor may contain a root-of-trust engine that sets a trust anchor for a computing platform's chain of trust when the root-of-trust engine is released from reset. For example, a malfunction of the security processor at or near the time that the root of trust engine is released from the reset phase could result in a malicious set of initial firmware instructions being falsely authenticated ( i.e. classified as trustworthy). As another example, firmware executed by a processing core of a security processor may be trusted, but the processing core may, after being reset, falsely authenticate a malicious set of firmware instructions corresponding to the next link in the chain of trust. As another example, the initial firmware set may be trustworthy, but the processing core, after being released from the reset phase, may not correctly perform the initial error and/or security checks or generally exhibit unexpected execution behavior.
Gemäß den hier beschriebenen Beispielen verfügt ein Halbleitergehäuse über einen Reset-Regler, der das Reset-Verhalten des Halbleitergehäuses steuert oder regelt. In Übereinstimmung mit den Beispielimplementierungen bezieht sich die Steuerung oder Regelung der „Rücksetzreaktion“ des Halbleitergehäuses auf die Zeit, die das Halbleitergehäuse im Rücksetzzustand gehalten wird, durch den Rücksetzregler. Anders ausgedrückt, steuert oder regelt der Reset-Regler gemäß Beispielimplementierungen eine „Reset-Haltezeit“, d. h. die kontinuierliche Zeit zwischen dem Beginn des Resets und dem Ende des Resets (auch als Freigabe des Resets bezeichnet). Die Steuerung der Rücksetz-Haltezeit durch den RücksetzRegler kann verwendet werden, um die Zeitrate, mit der das Halbleiterpaket zurückgesetzt werden kann, effektiv zu drosseln oder zu begrenzen, und diese Drosselung kann auferlegt und/oder erhöht werden, wenn eine Manipulation des Halbleiterpakets erkannt wird.According to the examples described herein, a semiconductor package includes a reset controller that controls or regulates the reset behavior of the semiconductor package. According to the example implementations, controlling or regulating the “reset response” of the semiconductor package refers to the amount of time the semiconductor package is held in the reset state by the reset controller. In other words, according to example implementations, the reset controller controls or regulates a “reset hold time,” which is the continuous time between the start of the reset and the end of the reset (also referred to as the release of the reset). Control of the reset hold time by the reset controller can be used to effectively throttle or limit the rate at which the semiconductor package can be reset, and this throttling can be imposed and/or increased when tampering with the semiconductor package is detected.
Im Allgemeinen steuert der Reset-Regler die Reaktion des Halbleitergehäuses auf eine „Reset-Anforderung“. In diesem Zusammenhang bezieht sich eine „Rücksetzanforderung“ auf eine Angabe, die bereitgestellt oder erzeugt wird, um eine oder mehrere Komponenten des Halbleitergehäuses zurückzusetzen. Eine Rücksetzanforderung kann beispielsweise durch ein elektrisches Rücksetzsignal ausgelöst werden. Viele verschiedene Komponenten, sowohl innerhalb des Halbleitergehäuses als auch außerhalb des Halbleitergehäuses, können die Aktivierung des Rücksetzsignals bewirken. Beispielsweise kann eine Stromüberwachungsschaltung außerhalb des Halbleitergehäuses das Rücksetzsignal auslösen. Ein weiteres Beispiel ist ein interner Watchdog-Timer des Halbleitergehäuses, der das Rücksetzsignal auslöst, wenn der Timer abläuft. Ein weiteres Beispiel ist, dass ein interner Schaltkreis das Rücksetzsignal als Reaktion auf das Schreiben eines bestimmten Bits in einem Steuerregister aktivieren kann.In general, the reset controller controls the response of the semiconductor package to a "reset request". In this context, a "reset request" refers to an indication provided or generated to reset one or more components of the semiconductor package. For example, a reset request may be triggered by an electrical reset signal. Many different components, both inside the semiconductor package and outside the semiconductor package, can cause the reset signal to be activated. For example, a power monitoring circuit outside the semiconductor package can trigger the reset signal. Another example is an internal watchdog timer of the semiconductor package that triggers the reset signal when the timer expires. Another example is that an internal circuit can activate the reset signal in response to a specific bit being written to a control register.
Das Rücksetzsignal kann einen ersten Zustand (z. B. einen aktivierten Zustand, wie einen logischen Nullzustand) haben, um das Halbleiterpaket in den Reset zu versetzen (oder die Einleitung des Resets anzufordern), und einen zweiten Zustand (z. B. einen deaktivierten Zustand, wie einen logischen Ein-Zustand), um das Halbleiterpaket aus dem Reset zu entlassen. In Übereinstimmung mit Beispielimplementierungen empfängt der Rücksetzregler ein Eingangsrücksetzsignal (z. B. das Rücksetzsignal, das aktiviert wird, um die Rücksetzanforderung bereitzustellen) und liefert ein Ausgangsrücksetzsignal an den/die Rücksetzanschluss/-anschlüsse von einer oder mehreren Komponenten des Halbleitergehäuses. Die Rücksetzsteuerung regelt die Rücksetzhaltezeit, d. h. die Verzögerung zwischen dem Zeitpunkt, zu dem die Rücksetzsteuerung das Ausgangsrücksetzsignal aktiviert (um die Rücksetzung zu beginnen), und dem Zeitpunkt, zu dem das Ausgangsrücksetzsignal das Ausgangsrücksetzsignal deaktiviert (um die Rücksetzung freizugeben).The reset signal may have a first state (e.g., an activated state, such as a logic zero state) to reset the semiconductor package (or request initiation of the reset), and a second state (e.g., deactivated state, such as a logical on state) to release the semiconductor package from reset. In accordance with example implementations, the reset controller receives an input reset signal (e.g., the reset signal activated to provide the reset request) and provides an output reset signal to the reset terminal(s) of one or more components of the semiconductor package. The reset control regulates the reset hold time, that is, the delay between the time when the reset control activates the output reset signal (to begin the reset) and the time when the output reset signal deactivates the output reset signal (to enable the reset).
Gemäß Ausführungsbeispielen kann der Rücksetzregler die Rücksetz-Haltezeit unabhängig von der Rücksetz-Haltezeit regeln, die durch das Eingangsrücksetzsignal angezeigt werden kann. Anders ausgedrückt, kann der Rücksetzregler, obwohl er die Rücksetzung als Reaktion auf die Aktivierung des Eingangs-Rücksetzsignals einleitet, die Rücksetzfreigabe des Rücksetzreglers unabhängig von der Zeit sein, in der das Eingangs-Rücksetzsignal nicht mehr aktiviert ist.According to embodiments, the reset controller may regulate the reset hold time independently of the reset hold time, which may be indicated by the input reset signal. In other words, although the reset controller initiates reset in response to activation of the input reset signal, the reset enable of the reset controller may be independent of the time that the input reset signal is no longer activated.
In Übereinstimmung mit Beispielimplementierungen regelt der Rücksetzregler die Rücksetz-Haltezeit (d.h. er regelt die Rücksetz-Reaktionszeit des Halbleitergehäuses) auf der Grundlage, ob eine der Kanarienschaltungen des Halbleitergehäuses eine Manipulationsaktivität erkannt hat oder nicht. Beispielsweise kann der Rücksetzregler in Übereinstimmung mit Beispielimplementierungen zunächst eine erste kleinere Rücksetz-Haltezeit vorgeben (z. B. eine Rücksetz-Haltezeit vorgeben, die der Rücksetz-Haltezeit des Eingangs-Rücksetzsignals entspricht, oder eine vordefinierte Mindest-Rücksetz-Haltezeit vorgeben), und der Rücksetzregler kann die Rücksetz-Haltezeit als Reaktion auf eine Canary-Schaltung, die die Erkennung von Manipulationsaktivitäten anzeigt, erhöhen.In accordance with example implementations, the reset controller regulates the reset hold time (i.e., it regulates the reset response time of the semiconductor package) based on whether or not one of the canary circuits of the semiconductor package has detected tamper activity. For example, in accordance with example implementations, the reset controller may first specify a first smaller reset hold time (e.g., specify a reset hold time that corresponds to the reset hold time of the input reset signal, or specify a predefined minimum reset hold time), and the reset controller can increase the reset hold time in response to a canary circuit indicating detection of tampering activity.
Gemäß Ausführungsbeispielen kann der Rücksetzregler die Rücksetz-Haltezeit als Reaktion auf die Erkennung einer Manipulationsaktivität regulieren, die nicht auf die Erkennung eines durch die Umgebungsbedingungen bedingten Sicherheitsangriffs durch eine Canary-Schaltung zurückzuführen ist. In diesem Zusammenhang bezieht sich die Erkennung von „Manipulationsaktivitäten“ auf die Erkennung oder Identifizierung einer Signatur eines oder mehrerer Ereignisse, wobei diese Signatur mit einer Signatur (einem zeitlichen Muster von Ereignissen, einem Attribut eines Ereignisses, einer bestimmten Abfolge von Ereignissen) eines Sicherheitsangriffs übereinstimmt.According to embodiments, the reset controller may regulate the reset hold time in response to detection of tamper activity that is not due to detection of an environmental security attack by a canary circuit. In this context, detection of "tamper activity" refers to detection or identification of a signature of one or more events, where this signature matches a signature (a temporal pattern of events, an attribute of an event, a particular sequence of events) of a security attack.
Als Beispiele für Manipulationsaktivitäten, die nicht auf einen durch die Umgebungsbedingungen bedingten Sicherheitsangriff zurückzuführen sind, können Manipulationsaktivitäten erkannt werden, wenn ein Schaltsensor anzeigt, dass die Computerplattform (z. B. ein Blade-Server) aus einem Gehäuse (z. B. einem Rack) entfernt wurde, oder wenn ein Schaltsensor anzeigt, dass eine Gehäuseabdeckung der Computerplattform geöffnet wurde. Als weitere Beispiele können Manipulationsaktivitäten erkannt werden, wenn die Höhe der Versorgungsspannung eine bestimmte Höchstgrenze überschreitet, wenn die Eingangstaktrate eine bestimmte Höchstrate überschreitet oder wenn die Chiptemperatur eine bestimmte Höchsttemperatur überschreitet.As examples of tampering activity that is not due to an environmental security attack, tampering activity can be detected when a switch sensor indicates that the computing platform (e.g., a blade server) is ejected from an enclosure (e.g., a rack ) has been removed, or if a switch sensor indicates that a computer platform cover has been opened. As further examples, tampering activities can be detected when the level of the supply voltage exceeds a certain maximum limit, when the input clock rate exceeds a certain maximum rate or when the chip temperature exceeds a certain maximum temperature.
Das Halbleiterpaket kann als Reaktion auf eine erkannte Manipulationsaktivität eine oder mehrere Aktionen einleiten und/oder durchführen, die über die Änderung der Rücksetzreaktion des Pakets hinausgehen können, um der erkannten Manipulationsaktivität entgegenzuwirken, sie zu melden und/oder abzuschwächen. So kann beispielsweise als Reaktion auf eine erkannte Manipulationsaktivität eine Abschaltung des Halbleitergehäuses eingeleitet werden. Ein weiteres Beispiel ist, dass das Halbleiterpaket die Erkennung von Manipulationsaktivitäten protokollieren kann. Als weiteres Beispiel kann das Halbleiterpaket als Reaktion auf die erkannte Manipulationsaktivität eine Warnung (z. B. das Senden einer Nachricht oder einer anderen Benachrichtigung an einen Systemadministrator) senden oder das Senden einer solchen einleiten. Ein weiteres Beispiel ist, dass das Halbleiterpaket Geheimnisse, die in einem sicheren Speicher gespeichert sind, als Reaktion auf eine erkannte Manipulationsaktivität löschen kann.The semiconductor package may initiate and/or perform one or more actions in response to detected tampering activity, which may go beyond changing the package's reset response, to counteract, report, and/or mitigate the detected tampering activity. For example, a shutdown of the semiconductor package may be initiated in response to detected tampering activity. As another example, the semiconductor package may log detection of tampering activity. As another example, the semiconductor package may send or initiate sending an alert (e.g., sending a message or other notification to a system administrator) in response to detected tampering activity. As another example, the semiconductor package may delete secrets stored in secure storage in response to detected tampering activity.
Wie in
Bei dem Halbleitergehäuse 153 kann es sich um eine beliebige Anzahl verschiedener Halbleitergehäuse handeln, wie z. B. ein oberflächenmontierbares Gehäuse, ein Durchgangslochgehäuse, ein Ball-Grid-Array-Gehäuse, ein Small-Outline-Gehäuse, ein Chip-Scale-Gehäuse oder einen anderen Behälter, der einen oder mehrere Halbleiterchips 157 enthält.The
Zusätzlich zur Erkennung von Manipulationsaktivitäten durch eine Canary-Schaltung 134 kann eine spezielle Schaltung zur Erkennung von Manipulationen des Halbleitergehäuses in einigen Ausführungsformen eine Manipulationsaktivität erkennen. Darüber hinaus kann in einigen Ausführungsformen eine Manipulationsaktivität durch den Reset-Regler 135 erkannt werden. Beispielsweise überwacht der Reset-Regler 135 in einigen Ausführungsbeispielen ein Zeitmuster von Reset-Anforderungen für das Halbleiterpaket 153, um festzustellen, ob die Zeitrate der Reset-Anforderungen einen vordefinierten Schwellenwert überschreitet (was auf die Erkennung von Manipulationsaktivitäten hinweist). Das Halbleiterpaket 153 kann gemäß Beispielimplementierungen als Reaktion auf eine erkannte Manipulationsaktivität eine oder mehrere Reaktionsmaßnahmen einleiten und/oder durchführen, um der Manipulationsaktivität entgegenzuwirken, die Manipulationsaktivität zu melden und/oder die aus der Manipulationsaktivität resultierenden Auswirkungen abzuschwächen.In addition to detecting tampering activity by a
Der Reset-Regler 135 und die Canary-Schaltung(en) 134 können je nach der jeweiligen Implementierung Teil einer Reihe verschiedener Halbleitergehäuse sein. Wie in
In weiteren Ausführungsformen kann ein Halbleiterpaket einen Reset-Regler 135 und eine oder mehrere Canary-Schaltungen 134 enthalten; das Halbleiterpaket kann jedoch keinen Sicherheitsprozessor enthalten. Beispielsweise kann ein Halbleiterpaket (oder „Sockel“) einer Zentraleinheit (CPU) gemäß einigen Implementierungen einen Reset-Governor 135, eine oder mehrere Canary-Schaltungen 134 und einen oder mehrere Verarbeitungskerne (z. B. CPU-Kerne) enthalten, und das CPU-Halbleiterpaket kann keinen Sicherheitsprozessor enthalten. Als weiteres Beispiel kann ein Halbleiterpaket gemäß weiteren Implementierungen einen Reset-Governor 135 und eine oder mehrere Canary-Schaltungen 134 enthalten, wobei das Halbleiterpaket keine Verarbeitungskerne oder einen Sicherheitsprozessor enthält.In further embodiments, a semiconductor package may include a
Der Sicherheitsprozessor 130 kann in Abhängigkeit von der jeweiligen Implementierung verschiedene Formen annehmen. Beispielsweise kann der Sicherheitsprozessor 130 gemäß einigen Implementierungen einem eigenständigen sicherheitsspezifischen Halbleiterpaket entsprechen, das ein Hardware-Root-of-Trust enthält, ein Firmware-Image für eine Computerplattform validiert und den Start der Computerplattform auf der Grundlage eines Ergebnisses dieser Validierung steuert. Ein weiteres Beispiel ist, dass der Sicherheitsprozessor 130 gemäß einigen Implementierungen ein vertrauenswürdiges Plattformmodul (TPM) sein kann. Als weiteres Beispiel kann der Sicherheitsprozessor 130 gemäß einigen Implementierungen ein Co-Prozessor eines CPU-Halbleiterpakets mit mehreren CPU-Kernen (oder „Sockel“) sein.The
Bei der in
Im hier verwendeten Kontext ist ein „BMC“ oder „Baseboard Management Controller“ ein spezialisierter Dienstprozessor, der den physischen Zustand eines Servers oder anderer Hardware mithilfe von Sensoren überwacht und über ein Verwaltungsnetzwerk mit einem Verwaltungssystem kommuniziert. Der Baseboard-Management-Controller kann auch mit Anwendungen kommunizieren, die auf Betriebssystemebene ausgeführt werden, und zwar über einen IOCTL-Schnittstellentreiber (Input/Output Controller), eine REST-Anwendungsprogrammschnittstelle (API) oder einen anderen Systemsoftware-Proxy, der die Kommunikation zwischen dem Baseboard-Management-Controller und Anwendungen erleichtert. Der Baseboard-Management-Controller kann auf Hardware-Ebene auf Hardware-Geräte zugreifen, die sich in einem Servergehäuse befinden, einschließlich des Systemspeichers. Der Baseboard-Management-Controller kann in der Lage sein, die Hardware-Geräte direkt zu verändern. Der Baseboard-Management-Controller kann unabhängig vom Betriebssystem des Systems arbeiten, in dem der Baseboard-Management-Controller angeordnet ist. Ein Baseboard-Management-Controller kann sich auf der Hauptplatine oder der Hauptplatine des Servers oder eines anderen zu überwachenden Geräts befinden.As used herein, a "BMC" or "Baseboard Management Controller" is a specialized service processor that monitors the physical state of a server or other hardware using sensors and communicates with a management system over a management network. The baseboard management controller can also communicate with applications running at the operating system level through an Input/Output Controller (IOCTL) interface driver, a REST application program interface (API), or another system software proxy that facilitates communication between the baseboard management controller and applications. The baseboard management controller can be at the hardware level Access hardware devices located in a server chassis, including system memory. The baseboard management controller may be able to modify the hardware devices directly. The baseboard management controller can operate independently of the operating system of the system in which the baseboard management controller is located. A baseboard management controller can be located on the motherboard or motherboard of the server or other device being monitored.
Die Tatsache, dass ein Basisplatinen-Verwaltungscontroller auf einer Hauptplatine des verwalteten Servers/der verwalteten Hardware montiert oder anderweitig mit dem verwalteten Server/der verwalteten Hardware verbunden oder daran angebracht ist, verhindert nicht, dass der Basisplatinen-Verwaltungscontroller als „getrennt“ von dem Server/der Hardware betrachtet wird. Wie hierin verwendet, hat ein Baseboard-Management-Controller Verwaltungsfunktionen für Teilsysteme eines Computergeräts und ist von einer Verarbeitungsressource getrennt, die ein Betriebssystem eines Computergeräts ausführt. Der Baseboard-Management-Controller ist getrennt von einem Prozessor, z. B. einer Zentraleinheit, die ein High-Level-Betriebssystem oder einen Hypervisor auf einem System ausführt.The fact that a baseboard management controller is mounted on a motherboard of the managed server/hardware or is otherwise connected or attached to the managed server/hardware does not prevent the baseboard management controller from being considered "separate" from the server/hardware. As used herein, a baseboard management controller has management functions for subsystems of a computing device and is separate from a processing resource that executes an operating system of a computing device. The baseboard management controller is separate from a processor, such as a central processing unit, that executes a high-level operating system or hypervisor on a system.
Bei der Computerplattform 100 handelt es sich gemäß Ausführungsbeispielen um eine modulare Einheit, die einen Rahmen oder ein Chassis umfasst. Darüber hinaus kann diese modulare Einheit Hardware enthalten, die auf dem Chassis montiert und in der Lage ist, maschinenlesbare Anweisungen auszuführen. Ein Blade-Server ist ein Beispiel für eine Computerplattform 100, wie sie in einigen Implementierungen verwendet wird. Die Computerplattform 100 kann in Übereinstimmung mit weiteren Implementierungen eine Reihe verschiedener anderer Formen haben, wie z. B. einen in einem Gestell montierten Server, einen eigenständigen Server, einen Client, einen Desktop, ein Smartphone, einen tragbaren Computer, eine Netzwerkkomponente, ein Gateway, einen Netzwerk-Switch, ein Speicher-Array, ein tragbares elektronisches Gerät, einen tragbaren Computer, einen Tablet-Computer, einen Thin-Client, einen Laptop-Computer, einen Fernseher, einen modularen Switch, ein Gerät der Unterhaltungselektronik, ein Gerät, ein Edge-Processing-System, ein Sensorsystem, eine Uhr, eine herausnehmbare Peripheriekarte oder im Allgemeinen jede andere prozessorbasierte Plattform.The
In Übereinstimmung mit Beispielimplementierungen kann die Computerplattform 100 mit einer Netzwerkstruktur 161 verbunden sein. Die Netzwerkstruktur 161 kann mit einem oder mehreren Typen von Kommunikationsnetzwerken verbunden sein, wie (als Beispiele) Fibre-Channel-Netzwerke, Compute-Express-Link (CXL)-Strukturen, dedizierte Verwaltungsnetzwerke, lokale Netzwerke (LANs), Weitverkehrsnetzwerke (WANs), globale Netzwerke (z. B. das Internet), drahtlose Netzwerke oder eine beliebige Kombination davon.In accordance with example implementations,
In Übereinstimmung mit Beispielimplementierungen kann die BMC 129 einen Satz von Firmware-Anweisungen ausführen, die als „Firmware-Management-Stack“ bezeichnet werden, um eine Vielzahl von verwaltungsbezogenen Funktionen für einen Host 101 der Computerplattform 100 auszuführen. So kann die BMC 129 beispielsweise verwaltungsbezogene Funktionen wie Betriebssystem-Laufzeitdienste, Ressourcenerkennung und -initialisierung sowie Pre-Operating-Systemdienste bereitstellen. Die verwaltungsbezogenen Funktionen können auch Fernverwaltungsfunktionen umfassen. Zu den Fernverwaltungsfunktionen können beispielsweise Tastatur-Video-Maus-Funktionen (KVM), virtuelle Stromversorgungsfunktionen (z. B. fernaktivierte Funktionen zur Ferneinstellung eines Stromversorgungszustands, wie z. B. eines Energiesparzustands, eines Einschaltzustands, eines Rücksetzzustands oder eines Ausschaltzustands), virtuelle Medienverwaltungsfunktionen und eine oder mehrere andere verwaltungsbezogene Funktionen für den Host 101 gehören.In accordance with example implementations, the
Ein „Host“ (oder „Host-Instanz“) ist mit einer Instanz des Betriebssystems 113 (z. B. einer Linux- oder Windows-Betriebssysteminstanz) verbunden und wird durch einen entsprechenden Satz von Ressourcen der Computerplattform 100 bereitgestellt. Bei der in
In Übereinstimmung mit einigen Implementierungen kann die Computerplattform 100 mehrere Hosts 101 enthalten (z. B. kann jeder Host 101 einem zugehörigen CPU-Multicore-Paket (oder „Sockel“) entsprechen). Das BMC 129 kann verwaltungsbezogene Dienste und sicherheitsbezogene Dienste für jeden Host 101 bereitstellen.In accordance with some implementations, the
Im Allgemeinen können die Speichervorrichtungen, die den Systemspeicher 104 bilden, sowie andere hier beschriebene Speicher und Speichermedien aus nicht transitorischen Speichervorrichtungen wie Halbleiterspeichervorrichtungen, Flash-Speichervorrichtungen, Memristoren, Phasenwechsel-Speichervorrichtungen, einer Kombination aus einer oder mehreren der vorgenannten Speichertechnologien usw. gebildet werden. Darüber hinaus können die Speichervorrichtungen flüchtige Speichervorrichtungen (z. B. dynamische Direktzugriffsspeicher (DRAM), statische Direktzugriffsspeicher (SRAM) usw.) oder nichtflüchtige Speichervorrichtungen (z. B. Flash-Speicher, Festwertspeicher (ROM) usw.) sein, sofern hier nicht anders angegeben.In general, the memory devices that make up the
In Übereinstimmung mit einigen Implementierungen können eine oder mehrere NICs 124 intelligente Eingabe-/Ausgabe-Peripheriegeräte oder „intelligente E/A-Peripheriegeräte“ sein, die Backend-E/A-Dienste für eine oder mehrere Anwendungen 115 (oder Anwendungsinstanzen) bereitstellen, die auf der Computerplattform 100 ausgeführt werden. In Übereinstimmung mit einigen Implementierungen können eines oder mehrere der PCIe-Geräte 110 intelligente E/A-Peripheriegeräte sein.In accordance with some implementations, one or
In Übereinstimmung mit Beispielimplementierungen umfasst der BMC 129 einen oder mehrere Hauptverwaltungsprozessorkerne 154 (hier als „Hauptverarbeitungskerne 154“ bezeichnet), die maschinenlesbare Anweisungen ausführen, um Verwaltungsfunktionen für einen Host 101 als Teil der Verwaltungsebene des BMC durchzuführen. Diese Anweisungen können einem Firmware-Management-Stack des BMC 129 entsprechen. Der (die) Hauptverarbeitungskern(e) 154 führt (führen) den Firmware-Verwaltungsstapel aus, um dem BMC 129 zu ermöglichen, eine Vielzahl von Verwaltungsfunktionen für den Host 101 auszuführen, wie z. B. die Überwachung von Sensoren, die Überwachung des Betriebssystemstatus, die Überwachung des Energiestatus, die Protokollierung von Computersystemereignissen, die Bereitstellung einer Fernkonsole, die Bereitstellung von ferngesteuerten Funktionen und anderen virtuellen Präsenztechnologien sowie andere Verwaltungsaktivitäten. In Übereinstimmung mit Beispielimplementierungen kann die BMC 129 mit einem Fernverwaltungsserver 190 über eine NIC 158 der BMC 129 kommunizieren. In Übereinstimmung mit weiteren Implementierungen kann das BMC 129 mit dem Fernverwaltungsserver 190 über eine NIC 124 kommunizieren.In accordance with example implementations, the
Neben der Bereitstellung von Verwaltungsfunktionen für den/die Host(s) 101 kann die BMC 129 sicherheitsbezogene Merkmale bereitstellen, die den/die Host(s) 101 vor Sicherheitsangriffen schützen. Insbesondere umfasst die Sicherheitsebene des BMC in Übereinstimmung mit Beispielimplementierungen eine sichere Enklave 140. In diesem Zusammenhang bezieht sich eine „sichere Enklave“ auf ein Teilsystem der BMC 129, für das der Zugriff in das und aus dem Teilsystem streng kontrolliert wird. Wie hier weiter beschrieben, kann die sichere Enklave 140 in Übereinstimmung mit Beispielimplementierungen neben ihren anderen Merkmalen den Rücksetzregler 135, eine oder mehrere Canary-Schaltungen 134, einen sicheren Speicher 144 und den Sicherheitsverarbeitungskern 142 umfassen.In addition to providing management functions for the host(s) 101, the
Gemäß Beispielimplementierungen führt die sichere Enklave 140 kryptografische Funktionen für den/die Host(s) 101 aus und ist vollständig innerhalb einer kryptografischen Begrenzung angeordnet. Eine „kryptografische Grenze“ bezieht sich in diesem Zusammenhang auf eine kontinuierliche Grenze oder einen Perimeter, der die logischen und physischen Komponenten eines kryptografischen Teilsystems enthält, wie z. B. BMC-Komponenten, die die sichere Enklave 140 bilden.According to example implementations, the
Die sichere Enklave 140 der BMC 129 ist in Übereinstimmung mit Beispielimplementierungen von der Verwaltungsebene der BMC (und anderen nicht sicheren Komponenten der BMC 129, die sich außerhalb der sicheren Enklave 140 befinden) isoliert. Gemäß Beispielimplementierungen umfasst die sichere Enklave 140 eine Hardware- oder Silizium-RoT (hier als „SRoT“ bezeichnet), die über die SRoT-Engine 143 bereitgestellt werden kann.The
Insbesondere speichert die sichere Enklave 140 in Übereinstimmung mit Beispielimplementierungen einen unveränderlichen Fingerabdruck, der von der SRoT-Engine 143 verwendet wird, um einen anfänglichen Teil der Firmware 170 zu validieren (d. h. die Vertrauenswürdigkeit des anfänglichen Teils zu überprüfen), bevor dieser anfängliche Teil der Firmware 170 ausgeführt wird. In Übereinstimmung mit Beispielimplementierungen hält die BMC 129 als Reaktion auf das Einschalten oder Zurücksetzen der BMC 129 ihren Hauptverarbeitungskern bzw. ihre Hauptverarbeitungskerne 154 im Reset, und die BMC 129 hält den Sicherheitsverarbeitungskern 142 der sicheren Enklave 140 im Reset. Als Reaktion auf das Einschalten/Zurücksetzen validiert die SRoT-Engine 143 einen anfänglichen Teil der Firmware 170 und lädt ihn dann in einen Speicher 151 der sicheren Enklave 140, so dass diesem Firmware-Teil nun vertraut wird. Die BMC 129 gibt dann den Sicherheitsverarbeitungskern 142 aus dem Reset frei, damit der Sicherheitsverarbeitungskern 142 booten und die geladenen Firmware-Befehle ausführen kann.In particular, in accordance with example implementations, the
Durch Ausführen der Firmware-Anweisungen kann der Sicherheitsverarbeitungskern 142 dann einen anderen Teil der Firmware 170 validieren, der einem Teil des Management-Firmware-Stacks des BMC entspricht, und nach der Validierung diesen Teil des Firmware-Stacks in einen Speicher 155 des BMC 129 laden. Der Teil des Management-Firmware-Stacks kann dann von dem/den Hauptverarbeitungskern(en) 154 des BMC ausgeführt werden (wenn er aus dem Reset freigegeben wird), was den/die Hauptverarbeitungskern(e) 154 veranlasst, zusätzliche Teile der Firmware 170 zu laden und die geladenen Teile in einem Speicher 164 abzulegen. Der Zugriff auf den Speicher 164 kann zusätzliche Trainings- und Initialisierungsschritte beinhalten (z. B. Trainings- und Initialisierungsschritte, die in der DDR4-Spezifikation festgelegt sind). Diese Anweisungen können von dem validierten Teil des Firmware-Management-Stacks des BMC im Speicher 155 ausgeführt werden. In Übereinstimmung mit Beispielimplementierungen kann die sichere Enklave 140 den Speicher 155 sperren, um Änderungen oder Manipulationen an den validierten Firmware-Abschnitten, die im Speicher 155 gespeichert sind, zu verhindern.By executing the firmware instructions, the
Daher kann gemäß Beispielimplementierungen eine kryptografische Vertrauenskette, die in der SRoT der BMC verankert ist, von der SRoT auf den Firmware-Management-Stack ausgedehnt werden, der von den Hauptverarbeitungskernen 154 der BMC ausgeführt wird. Darüber hinaus kann der Firmware-Verwaltungsstapel, der von dem/den Hauptverarbeitungskern(en) 154 ausgeführt wird, gemäß Beispielimplementierungen Hostsystem-Firmware validieren, beispielsweise UEFI 111-Firmware (Unified Extensible Firmware Interface), wodurch die Vertrauenskette auf die Hostsystem-Firmware ausgedehnt wird.Therefore, according to example implementations, a cryptographic chain of trust anchored in the SRoT of the BMC may be extended from the SRoT to the firmware management stack executed by the
In Übereinstimmung mit Beispielimplementierungen ist die BMC 129 so konstruiert, dass sie eine bestimmte Domäne oder Entität der BMC 129 daran hindert, sich einzuschalten oder aus dem Reset zu kommen, bis die sichere Enklave 140 die Domäne/Entität validiert. Darüber hinaus kann die BMC 129 in Übereinstimmung mit Beispielimplementierungen Komponenten der BMC 129 daran hindern, auf Ressourcen der BMC 129 und Ressourcen der Computerplattform 100 zuzugreifen, bis die sichere Enklave 140 die Ressourcen genehmigt/validiert hat. Das BMC 129 kann Busfilterung und -überwachung durchführen (z. B. Busfilterung und -überwachung für einen SPI-Bus (Serial Peripheral Interface), einen SMB-Bus (System Management Bus), einen I2 C-Bus (Inter-Integrated Component), einen I3 C-Bus (Improved I2 C) usw.), um unerwünschten Zugriff auf Busgeräte zu verhindern. Beispielsweise kann der BMC 129 eine Busfilterung und -überwachung für einen Bus 167 (z. B. einen SPI-Bus) durchführen, der mit einem nichtflüchtigen Speicher 168 verbunden ist, in dem die Firmware 170 gespeichert ist.In accordance with example implementations, the
In Übereinstimmung mit Beispielimplementierungen kann der Rücksetzregler 135 auf demselben Halbleiterchip 157 wie die sichere Enklave 140 hergestellt werden. Wie hierin beschrieben, hat der Sicherheitsprozessor 130 gemäß Beispielimplementierungen zwar einen gestaffelten Reset, bei dem der Sicherheitsverarbeitungskern 142 und die SRoT-Engine 143 gleichzeitig in den Reset versetzt werden, aber der Sicherheitsverarbeitungskern 142 und die SRoT-Engine 143 werden zu unterschiedlichen Zeiten aus dem Reset freigegeben. Auf diese Weise wird gemäß Beispielimplementierungen zuerst die SRoT-Engine 143 aus dem Reset freigegeben (während der Sicherheitsverarbeitungskern 142 im Reset gehalten wird), um den Anfangsteil der Firmware 170 zu validieren. In Übereinstimmung mit Beispielimplementierungen gibt die SRoT-Engine 143 den Sicherheitsverarbeitungskern 142 aus der Rückstellung frei, nachdem die SRoT-Engine validiert hat, und lädt dann den Anfangsteil der Firmware 170 in den Speicher 151 für die Ausführung des Verarbeitungskerns. In Übereinstimmung mit Beispielimplementierungen steuert die Reset-Haltezeit (die durch den Reset-Regler 135 geregelt wird) die Zeit, die die SRoT-Engine 143 im Reset gehalten wird. Durch die Festlegung einer steuerbaren Reset-Haltezeit für den Reset-Zustand kann der Reset-Regler 135 Reset-Anforderungen drosseln oder begrenzen, um die Rate zu begrenzen, mit der der Sicherheitsprozessor 130 zurückgesetzt werden kann.In accordance with example implementations, the
In Übereinstimmung mit einigen Implementierungen regelt die Rücksetzsteuerung 135 die Dauer der Rücksetz-Haltezeit in Abhängigkeit davon, ob eine Manipulationsaktivität erkannt wurde oder nicht. Zum Beispiel kann der Rücksetzregler 135 in Übereinstimmung mit Beispielimplementierungen eine erste, kleinere Rücksetzhaltezeit festlegen, wenn eine Manipulationserkennungshistorie (z. B. eine Historie, die durch nichtflüchtige Speicherbits dargestellt wird) keine vorherige Manipulationserkennung anzeigt, und der Rücksetzregler 135 kann die Rücksetzhaltezeit als Reaktion auf eine erkannte Manipulationsaktivität erhöhen. In Übereinstimmung mit einigen Implementierungen kann ein Hinweis auf eine Manipulationsaktivität das Ergebnis eines Sensors eines Manipulationserkennungsschaltkreises des Sicherheitsprozessors 130 sein, der eine Umgebungsbedingung erkennt (z. B. die Rate, die einen Schwellenwert überschreitet, der eine Versorgungsspannung, eine Taktrate oder eine Chiptemperatur definiert), die über einen bestimmten Bereich für die Umgebungsbedingung hinausgeht. In Übereinstimmung mit Implementierungsbeispielen kann eine Canary-Schaltung 134 des Sicherheitsprozessors 130 einen durch die Umgebungsbedingungen bedingten Sicherheitsangriff erkennen und einen entsprechenden Hinweis auf eine Manipulationserkennung geben.In accordance with some implementations, the
In Übereinstimmung mit einigen Implementierungen kann die Rücksetzsteuerung 135 Manipulationsaktivitäten auf der Grundlage des Zeitmusters der Rücksetzanforderungen, die dem Sicherheitsprozessor 130 bereitgestellt werden, erkennen. In einigen Implementierungen kann die Rücksetzsteuerung 135 beispielsweise eine Manipulationsaktivität erkennen, wenn die Rate der Rücksetzanforderungen einen vordefinierten Schwellenwert überschreitet (z. B. wenn die Rate einen Schwellenwert überschreitet, der eine maximale Anzahl N von Rücksetzanforderungen innerhalb eines Zeitraums T definiert).In accordance with some implementations, the
Wie in
Der Sicherheitsverarbeitungskern 142 kann einen Befehls-Cache 209 und einen Daten-Cache 211 enthalten. Der flüchtige Speicher 151 kann beispielsweise ein statischer Direktzugriffsspeicher (SRAM) sein und Daten speichern, die Messungen der vertrauenswürdigen Datenbasis (Trusted Computing Base, TCB) darstellen, beispielsweise eine oder mehrere PCR-Banken. Der sichere Speicher 144 kann zum Beispiel ein nichtflüchtiger RAM (NVRAM) sein. Die sichere Enklave 140 kann Register 240 enthalten. Bei den Registern 240 kann es sich um Softwareregister, Hardwareregister oder eine Kombination aus Hardware- und Softwareregistern handeln, abhängig von der jeweiligen Implementierung. In einigen Implementierungen umfassen die Register 240 beispielsweise kryptografisch sichere Register, wie Software-PCRs. Darüber hinaus können die Register 240 gemäß Beispielimplementierungen Betriebsregister umfassen, wie z. B. Hardware-Register, die Steuer-, Status- und Konfigurationsfunktionen für die sichere Enklave 140 bereitstellen.The
Die sichere Enklave 140 umfasst in Übereinstimmung mit Beispielimplementierungen eine sichere Brücke 214, die über eine sichere Verbindung 218 den Zugang zur sicheren Enklave 140 kontrolliert (d. h. eine Firewall für die sichere Enklave 140 einrichtet). Bei der Verbindung 218 kann es sich beispielsweise um einen Bus 218 (z. B. einen SPI-Bus) oder eine interne Verbindungsstruktur handeln, wie z. B. eine Advanced Microcontroller Bus Architecture (AMBA)-Struktur oder eine Advanced eXtensible Interface (AXI)-Struktur. Die sichere Brücke 214 kann eine zusätzliche vorgelagerte Schnittstelle bereitstellen, damit die sichere Enklave 140 die Verbindung 218 „erreichen“ kann. Die sichere Enklave 140 kann die vorgelagerte Schnittstelle nutzen, um ihre Firmware zu erhalten und im Allgemeinen die Firmware 170 zu validieren (
Wie ebenfalls in
Die Manipulationserkennungsschaltung 234 kann in Übereinstimmung mit Beispielimplementierungen Manipulationsanzeigesignale 237 überwachen, die von Kanarienschaltungen 134 der sicheren Enklave 140 bereitgestellt werden, um festzustellen, ob eine durch die Umgebungsbedingungen bedingte Manipulationsaktivität von einer der Kanarienschaltungen 134 erkannt wurde. Darüber hinaus kann die Manipulationserkennungsschaltung 234 in Übereinstimmung mit einigen Implementierungen über eine oder mehrere Kommunikationsleitungen 274 einen Hinweis auf eine erkannte Manipulationsaktivität von der Rücksetzsteuerung 135 empfangen (z. B. einen Hinweis darauf, dass die Rücksetzsteuerung 135 erkannt hat, dass die Zeitrate der Rücksetzanforderungen einen vordefinierten Schwellenwert überschreitet).The
In Übereinstimmung mit einigen Implementierungen kann die Manipulationserkennungsschaltung 234 einen Rücksetzindikator 283 (z. B. ein in einem nichtflüchtigen Speicher gespeichertes Bit) überwachen, der mit einer Echtzeituhr (RTC) 280 verbunden ist, um eine mit der RTC 280 verbundene Manipulationsaktivität zu erkennen. Auf diese Weise kann die RTC-Vorrichtung 280, wie hierin weiter beschrieben, in Übereinstimmung mit Beispielimplementierungen vom Rücksetzregler 135 verwendet werden, um die Rücksetzhaltezeit zu messen. Die RTC-Vorrichtung 280 kann mit einer Pufferbatterie 285 (z. B. einer „Münz“-Batterie) verbunden sein, und wenn die Pufferbatterie 285 entfernt wird, können flüchtige Speicher der RTC-Vorrichtung 280 gelöscht werden, wodurch die RTC-Vorrichtung 280 zurückgesetzt wird.In accordance with some implementations, the
Gemäß einigen Implementierungen kann der Rücksetzregler 135 beispielsweise einen Alarmtimer der RTC-Vorrichtung 280 verwenden, so dass die RTC-Vorrichtung 280 eine Anzeige erzeugt (z. B. ein Interruptsignal aktiviert), wenn der Timer eine Zeit erreicht, die der Rücksetzregler 135 in ein Register der RTC-Vorrichtung 280 schreibt. Der Reset-Governor 135 kann die von der RTC-Vorrichtung 280 gelieferte Anzeige verwenden, um die Freigabe eines Resets auszulösen (d. h. die Dauer der Reset-Haltezeit einzustellen). Wenn die RTC-Vorrichtung 280 zurückgesetzt wird, kann jedoch auch die Rücksetz-Haltezeit effektiv zurückgesetzt werden, um so die Auferlegung einer längeren Rücksetz-Haltezeit zu vereiteln, was für einen Angreifer von Vorteil sein kann.For example, according to some implementations, the
In Übereinstimmung mit Beispielimplementierungen kann das Entfernen der Stützbatterie 281 erkannt werden, und als Reaktion auf diese Erkennung kann der Zustand der Rücksetzanzeige 283 auf einen Wert gesetzt werden, der anzeigt, dass die RTC-Vorrichtung 280 zurückgesetzt wurde. Beispielsweise kann eine Schaltung das Entfernen der Stützbatterie 285 erkennen, indem sie Daten in einem nichtflüchtigen Speicher speichert, die einen oder mehrere Registerwerte (z. B. Daten, die ein aktuelles Datum oder einen anderen Wert darstellen) der RTC-Vorrichtung 280 repräsentieren, und regelmäßig den/die entsprechenden aktuellen Registerwert(e) mit dem/den gespeicherten Wert(en) vergleicht, um zu sehen, ob der/die aktuelle(n) Registerwert(e) zeitlich zurückgegangen ist/sind. In Übereinstimmung mit einigen Implementierungen kann die RTC-Vorrichtung 280 ihre Rücksetzung erkennen und die Rücksetzanzeige 283 setzen, um die Rücksetzung anzuzeigen. In Übereinstimmung mit weiteren Implementierungen kann die Manipulationserkennungsschaltung 234 die Einstellung der Rücksetzanzeige 283 steuern. Es wird darauf hingewiesen, dass, obwohl in
In Übereinstimmung mit Beispielimplementierungen kann die Manipulationserkennungsschaltung 234, wenn eine Manipulation durch die Manipulationserkennungsschaltung 234 erkannt wird, eine oder mehrere Aktionen einleiten und/oder durchführen, um auf die erkannte Manipulationsaktivität zu reagieren. Zum Beispiel kann die Manipulationserkennungsschaltung 234 über Kommunikationsleitungen 290 mit der Businfrastruktur 205 kommunizieren, um eine oder mehrere Reaktionsmaßnahmen einzuleiten, um der Manipulationsaktivität entgegenzuwirken, die Manipulationsaktivität zu melden und/oder die Auswirkungen der Manipulationsaktivität zu mildern. Als weiteres Beispiel kann die Manipulationserkennungsschaltung 234 über eine oder mehrere Kommunikationsleitungen 274 mit dem Rücksetzregler 135 kommunizieren, um den Rücksetzregler 135 zu veranlassen, die Rücksetzhaltezeit zu erhöhen. Als weiteres Beispiel kann die Manipulationserkennungsschaltung 234 die sichere Enklave 140 veranlassen, sensible Informationen zu entfernen (z. B. bestimmte Geheimnisse zu löschen, die im sicheren Speicher 144 gespeichert sind); ein Signal oder eine Nachricht zu übermitteln, um eine externe Komponente zu alarmieren (z. B, einen Hauptverarbeitungskern 154, das Betriebssystem 113 (
In Übereinstimmung mit einigen Implementierungen kann der Rücksetzregler 135 einen Ausgang 282 haben, der ein Ausgangsrücksetzsignal liefert. Der Ausgang 282 kann mit einem Rücksetzanschluss 203 des SRoT-Motors 143 gekoppelt sein, so dass der Rücksetzregler 135 ein Ausgangsrücksetzsignal aktivieren kann, um den SRoT-Motor 143 in den Rücksetzzustand zu versetzen, und das Ausgangsrücksetzsignal deaktivieren kann, um den SRoT-Motor 143 aus dem Rücksetzzustand zu lösen. Wie in
Gemäß einigen Implementierungen gibt der Rücksetzregler 135 den SRoT-Motor 143 aus der Rücksetzung frei (z. B. hebt das Ausgangsrücksetzsignal auf), wenn das Eingangsrücksetzsignal aufgehoben wird, oder in relativ kurzer Zeit danach, wenn keine Manipulationsaktivität festgestellt wurde. Wenn jedoch eine Manipulationsaktivität erkannt wurde, gibt der Rücksetzregler 135 den SRoT-Motor 143 mit einer relativ längeren Verzögerung aus der Rücksetzung frei (z. B. gibt der Rücksetzregler 135 eine längere Rücksetz-Haltezeit vor), wie in Beispielen gezeigt wird.According to some implementations, the
Neben anderen Merkmalen kann die sichere Enklave 140 in Übereinstimmung mit einigen Implementierungen, wie in
Die sichere Enklave 140 kann in Übereinstimmung mit Beispielimplementierungen kryptografische Beschleuniger 244 enthalten, wie z. B. symmetrische und asymmetrische kryptografische Beschleuniger, die den Sicherheitsverarbeitungskern 142 bei Operationen wie Schlüsselerzeugung, Signaturvalidierung, Verschlüsselung, Entschlüsselung usw. unterstützen. Darüber hinaus können die kryptografischen Beschleuniger 244 einen echten Zufallszahlengenerator enthalten, um eine vertrauenswürdige Entropiequelle für kryptografische Operationen bereitzustellen.The
In Übereinstimmung mit Beispielimplementierungen kann die sichere Enklave 140 einmalig programmierbare (OTP-)Sicherungen 258 enthalten, die Daten speichern, die wirklich unveränderliche Attribute darstellen, wie z. B. eine Silizium-Root-of-Trust-Signatur nach Secure Hash Algorithm 2 (SHA-2) (z. B. den unveränderlichen Fingerabdruck, der von der SRoT-Engine 143 verwendet wird), einen eindeutigen Identifikator (z. B. einen Identifikator, der verwendet wird, um ein Plattform-Identitätszertifikat zu platzieren), einen Fingerabdruck zur Sicherheitsfreigabe und so weiter. Die sichere Enklave 140 kann auch andere Komponenten aufweisen, die, wie ein Fachmann wissen kann, in einer prozessorbasierten Architektur vorhanden sein können, wie z. B. Zeitgeber 254, ein Unterbrechungscontroller 250 (der Unterbrechungsauslösungsimpulse von den Zeitgebern 254 und anderen Quellen empfängt) und so weiter.In accordance with example implementations, the
Darüber hinaus kann die sichere Enklave 140 Schnittstellen zur Unterstützung der anfänglichen Entwicklung und Fehlersuche der sicheren Enklave 140 (im Vorproduktionsmodus der sicheren Enklave 140) enthalten, die jedoch vollständig deaktiviert werden können oder (für den Produktionsmodus der sicheren Enklave 140) geänderte Funktionen aufweisen können, wenn bestimmte Sicherungen (z. B. bestimmte OTP-Sicherungen 258) durchgebrannt sind. Zu diesen Schnittstellen kann beispielsweise ein Universal Asynchronous Receiver/Transmitter (UART) 262 gehören, der für die Fehlersuche und Entwicklung der sicheren Enklave 140 verwendet werden kann und dann für den Produktionsmodus der sicheren Enklave 140 auf eine reine Sendekonfiguration gesichert wird. Gemäß einigen Implementierungen kann der UART 262 beispielsweise von den OTP-Sicherungen 258 so konfiguriert werden, dass er im Produktionsmodus der sicheren Enklave 140 einseitig Statusinformationen von der sicheren Enklave 140 liefert. Als weiteres Beispiel können die OTP-Fuses 258 in Übereinstimmung mit weiteren Implementierungen den UART 262 für den Produktionsmodus deaktivieren, so dass die gesamte Kommunikation mit dem UART 262 deaktiviert wird, um jegliche Kommunikation über die kryptografische Grenze 204 zu verhindern. Als weiteres Beispiel für eine Schnittstelle, die bei der anfänglichen Entwicklung und Fehlersuche der sicheren Enklave 140 hilfreich sein kann, aber für den Produktionsmodus modifiziert/deaktiviert werden kann, kann die sichere Enklave 140 eine Joint Test Action Group (JTAG)-Schnittstelle (nicht dargestellt) für den Sicherheitsprozessor enthalten; und diese JTAG-Schnittstelle kann für den Produktionsmodus der sicheren Enklave 140 deaktiviert werden.In addition, the
In
Eine Quelle für die Rücksetzanforderung 350 kann beispielsweise eine Stromüberwachungsschaltung sein. Ein weiteres Beispiel: Gemäß einigen Implementierungen kann eine Rücksetzanforderungsquelle 350 eine Schaltung sein, die eine Rücksetzanforderung 201 als Reaktion darauf erzeugt, dass der Sicherheitsverarbeitungskern 142 (
Wie in
Genauer gesagt, in Übereinstimmung mit einigen Implementierungen schreibt der Controller 304 als Reaktion auf die Aktivierung des Eingangs-Rücksetzsignals Daten, die einen Zeitwert darstellen, in ein Alarm-Timer-Register 360 der RTC-Vorrichtung 280. Der Zeitwert stellt eine zukünftige RTC-Zeit dar, die von der aktuellen RTC-Zeit um die Rücksetz-Haltezeit versetzt ist. Die RTC-Vorrichtung 280 misst auf diese Weise die Rücksetz-Haltezeit und erzeugt eine Anzeige (z. B. ein Interrupt-Signal), um anzuzeigen, dass die Rücksetz-Haltezeit abgelaufen ist. Die Rücksetzfreigabeverzögerungsschaltung 310 wartet in Übereinstimmung mit Beispielimplementierungen darauf, dass die RTC-Vorrichtung 280 die Anzeige erzeugt, die die Messung der Rücksetzhaltezeit darstellt. Als Reaktion darauf, dass die RTC-Vorrichtung 280 die Anzeige erzeugt, setzt die Rücksetzfreigabeverzögerungsschaltung 310 das Ausgangsrücksetzsignal am Ausgang 282 durch, um die Rücksetzung freizugeben.More specifically, in accordance with some implementations, in response to the activation of the input reset signal, the
Der Controller 304 kann in Übereinstimmung mit Beispielimplementierungen die Rücksetz-Haltezeit regulieren (und daher den entsprechenden Wert in das Alarmzeitregister schreiben), je nachdem, ob eine Manipulationsaktivität erkannt wurde. Wenn beispielsweise keine Manipulationsaktivität erkannt wurde, kann der Controller 304 Daten in das Alarmregister der RTC-Vorrichtung 280 schreiben, die einen Zeitversatz darstellen, der einer minimalen Rücksetz-Haltezeit entspricht. Wenn eine Manipulationsaktivität erkannt wurde, kann die Steuereinheit 304 Daten in das Alarmregister der RTC-Vorrichtung 280 schreiben, die eine vordefinierte längere Rücksetz-Haltezeit darstellen, die von der aktuellen Zeit versetzt ist.The
In Übereinstimmung mit einigen Implementierungen kann die Steuerung 304 die Rücksetz-Haltezeit auf der Grundlage der Art der erkannten Manipulation regulieren. Beispielsweise kann die Steuereinheit 304 als Reaktion auf einen durch die Umgebungsbedingungen bedingten Sicherheitsangriff eine längere Rücksetz-Haltezeit vorschreiben als eine Rücksetz-Haltezeit, die für andere Arten von Manipulationsaktivitäten vorgeschrieben ist. Darüber hinaus kann die Steuereinheit 304 gemäß einigen Implementierungen die Rücksetz-Haltezeit für bestimmte Arten von Manipulationen (z. B. einen umweltbedingten Sicherheitsangriff) nach oben korrigieren, jedoch nicht für andere Arten von Manipulationen (z. B. eine erkannte Öffnung der Abdeckung).In accordance with some implementations, the
In Übereinstimmung mit einigen Implementierungen kann die Steuereinheit 304 mehr als zwei Rücksetz-Haltezeiten festlegen. Darüber hinaus kann die Steuereinheit 304 die Rücksetz-Haltezeit auf der Grundlage eines Verlaufs der Erkennung von Manipulationsaktivitäten regulieren. Beispielsweise kann die Steuereinheit 304 eine erste Rücksetz-Haltezeit als Reaktion auf eine anfängliche Erkennung einer Manipulationsaktivität festlegen, und die Steuereinheit kann eine zweite Rücksetz-Haltezeit, die größer als die erste Rücksetz-Haltezeit ist, als Reaktion auf eine nachfolgende Erkennung einer Manipulationsaktivität festlegen.In accordance with some implementations, the
Das Steuergerät 304 kann aus der Sicht des Rücksetzreglers 135 die Manipulationshistorie in Übereinstimmung mit einigen Implementierungen zurücksetzen. Beispielsweise kann das Steuergerät 304 eine Historie der Erkennung von Manipulationsaktivitäten für den Rücksetzregler 135 in einem nichtflüchtigen Speicher speichern, die Rücksetz-Haltezeit auf der Grundlage dieser Historie regulieren und nach Ablauf einer vorbestimmten Zeit, in der keine (für den Rücksetzregler 135 relevanten) Manipulationsaktivitäten erkannt wurden, die Historie der Erkennung von Manipulationsaktivitäten löschen. In Übereinstimmung mit weiteren Implementierungen löscht das Steuergerät 304 den Verlauf der Erkennung von Manipulationsaktivitäten, unabhängig von der Zeit, die seit der letzten Erkennung von Manipulationen vergangen ist.The
Gemäß Beispielimplementierungen kann das Steuergerät 304 aus einem oder mehreren Hardware-Verarbeitungskernen bestehen, die maschinenausführbare Befehle ausführen, um die hier beschriebenen Funktionen des Rückstellreglers 135 auszuführen. In Übereinstimmung mit weiteren Implementierungen kann der gesamte oder ein Teil des Rückstellreglers 135 von dedizierter Hardware (z. B. Logikgattern) ausgeführt werden, die eine oder mehrere Funktionen für den Rückstellregler 135 ausführt, ohne maschinenausführbare Befehle auszuführen. Auf diese Weise kann diese Hardware je nach der jeweiligen Implementierung ein anwendungsspezifischer integrierter Schaltkreis (ASIC), ein feldprogrammierbares Gate-Array (FPGA), ein komplexer programmierbarer Logikbaustein (CPLD) usw. sein.According to example implementations,
Gemäß einigen Implementierungen kann die Rücksetzverzögerungsschaltung 310 aus Logik bestehen, z. B. aus kombinatorischen Logikgattern und Flipflops. Gemäß weiteren Implementierungen kann der Betrieb der Rücksetzverzögerungsschaltung 310 nicht von einem RTC-Gerät abhängen. Beispielsweise kann die Rücksetzfreigabe-Verzögerungsschaltung 310 gemäß einigen Implementierungen die Rücksetz-Haltezeit unter Verwendung einer Kette von seriell gekoppelten Verzögerungselementen messen, und der Controller 304 kann die Anzahl der Verzögerungselemente der Kette steuern, um die Rücksetz-Haltezeit zu regulieren. Als weiteres Beispiel kann das Verzögerungselement für die Rücksetzfreigabe in Übereinstimmung mit weiteren Implementierungen eine Zeitgeberschaltung oder ein anderes Verzögerungselement zur Messung der Rücksetzhaltezeit enthalten.According to some implementations, the
In
Gemäß
Der Prozess 400 umfasst ferner die Bestimmung gemäß Entscheidungsblock 430, ob das Zeitmuster der jüngsten Rücksetzanzeigen auf eine Manipulationsaktivität hinweist. Wenn dies der Fall ist, geht die Steuerung in Übereinstimmung mit Beispielimplementierungen zum Block 412 über, um entsprechende Maßnahmen durchzuführen. Andernfalls, wenn keine neue Manipulationsaktivität erkannt wurde, umfasst der Prozess 400 gemäß dem Prozess 400 die Bestimmung (Entscheidungsblock 438), ob ein vordefiniertes Kriterium oder Kriterien für die Wiederherstellung einer anfänglichen Rücksetz-Haltezeit (z. B. eine vordefinierte Mindestrücksetz-Haltezeit) erfüllt wurden. Als Beispiel kann der Prozess 400 in Übereinstimmung mit einigen Implementierungen nach Ablauf einer vorbestimmten Zeitspanne beinhalten, dass der Rücksetzungsregler eine anfängliche Rücksetzungshaltezeit wiederherstellt (Block 439).The
Gemäß Beispielimplementierungen können ein oder mehrere Canary-Schaltungen in der Nähe der jeweiligen zu schützenden Komponenten eines Sicherheitsprozessors angeordnet sein. So kann beispielsweise bei einigen Implementierungen ein Canary-Schaltkreis in der Nähe einer SRoT-Engine und ein anderer Canary-Schaltkreis in der Nähe eines Sicherheitsverarbeitungskerns des Sicherheitsprozessors angeordnet sein.According to example implementations, one or more canary circuits may be located near the respective components of a security processor to be protected. For example, in some implementations, one canary circuit may be located near an SRoT engine and another canary circuit may be located near a security processing core of the security processor.
Gemäß weiteren Implementierungen können Komponenten der zu schützenden Komponente räumlich mit Komponenten der zugehörigen Canary-Schaltung vermischt sein. Beispielsweise können in einigen Implementierungen Komponenten einer Canary-Schaltung mit Komponenten einer SRoT-Engine räumlich vermischt sein. Wie in
Der SRoT-Motor 143 kann ferner kanäre Logikelemente 512 einer kanären Schaltung enthalten. Jedes kanäre Logikelement 512 kann ein oder mehrere Logikgatter 516 (hier als „kanäre Logikgatter 516“ bezeichnet) enthalten, die kombinatorische Logikgatter sein können. Ein kanäres Logikelement 512 kann beispielsweise ein Flip-Flop, ein Register, ein Zähler, ein Zeitgeber, eine Verzögerungsschaltung, eine Vergleichsschaltung, eine Schaltung zur Implementierung eines Zustands einer Zustandsmaschine, eine Schaltung zur Durchführung einer Verschlüsselungs-Chiffre (z. B. eines AES-Chiffre-Blocks) oder allgemein eine Gruppe von Logikgattern sein, die eine Funktion für die kanäre Schaltung ausführen.The
Wie mit der Bezugsziffer 514 in
In
Wie in
Bei dem in
Bei dieser Beispielimplementierung können die kanarischen Logikgatter 516 und die SRoT-Logikgatter 520 durch die Verwendung eines Layout-Design-Tools, das zur Platzierung der Transistoren, Metallverbindungen und anderer Merkmale des Halbleiterchips verwendet wird, räumlich vermischt werden. Beispielsweise können Benutzereingaben in das Layout-Entwurfswerkzeug die Grenzen eines ersten X-Y-Fensters für die kanarischen Logikgatter 516 und ferner die Grenzen eines zweiten X-Y-Fensters für die SRoT-Logikgatter 520 festlegen, das sich zumindest teilweise mit dem ersten X-Y-Fenster überlappt. Beispielsweise kann das erste X-Y-Fenster für eine Zelle angegeben werden, die einer Canary-Schaltung entspricht, und das zweite X-Y-Fenster kann für eine Zelle angegeben werden, die einer SRoT-Engine entspricht. Das Layout-Entwurfswerkzeug kann die Transistoren, Verbindungen und anderen Merkmale der Canary-Schaltung und der SRoT-Engine auf dem Halbleiterchip entsprechend dem ersten und dem zweiten X-Y-Fenster gemäß den Platzierungsregeln platzieren und eine Datei mit Daten erzeugen, die das Layout beschreiben.In this example implementation, the
Ein weiteres Beispiel: Gemäß einigen Implementierungen können Benutzereingaben an ein Layout-Entwurfswerkzeug übermittelt werden, um bestimmte Positionen für die kanarischen Logikgatter 516 und die SRoT-Logikgatter 520 in einer Weise zu spezifizieren, die die Gatter 516 und 520 entlang einer oder mehrerer Dimensionen des Halbleiterchips räumlich zusammenführt. Als weiteres Beispiel kann in Übereinstimmung mit einigen Implementierungen eine Benutzereingabe an ein Layout-Entwurfswerkzeug gegeben werden, um spezifische Positionen für Transistoren der kanarischen Logikgatter 516 und SRoT-Logikgatter 520 in einer Weise zu spezifizieren, die die Transistoren (und daher die Gatter 516 und 520) entlang einer oder mehrerer Dimensionen des Halbleiterchips räumlich zusammenführt.As another example, in accordance with some implementations, user input may be provided to a layout design tool to specify specific positions for the
In Übereinstimmung mit weiteren Implementierungen kann sich die räumliche Vermischung der kanarischen Logikgatter 516 und SRoT-Gatter 520 entlang der Z-Achse 603 erstrecken.In accordance with other implementations, the spatial mixing of the
Ein weiteres Beispiel: In einigen Ausführungsformen können Komponenten einer Kanarienschaltung mit Komponenten eines Sicherheitsverarbeitungskerns räumlich vermischt sein. Wie in
Wie in
In
Wie in
Wie in
In Übereinstimmung mit Beispielimplementierungen führt die Canary-Schaltung 134 eine Anzahl von AES-Transformationsiterationen (über entsprechende Stufen 912) in einem einzigen Zyklus eines Taktsignals 921 durch. Genauer gesagt kann das Taktsignal 921 in Übereinstimmung mit einigen Implementierungen das gleiche Taktsignal sein, das die Operationen des Sicherheitsverarbeitungskerns 142 (
Gemäß Beispielimplementierungen erzeugt die Kette 908 ein Ausgangssignal 916, das einem erwarteten Ausgangssignal 920 entspricht, wenn die Canary-Schaltung 134 ordnungsgemäß funktioniert und keine Fehlfunktion aufweist (z. B. Fehlfunktion aufgrund einer umweltbedingten Bedingung). Andernfalls stimmt die Ausgabe 916 nicht mit der erwarteten Ausgabe 920 überein, und diese Nichtübereinstimmung veranlasst die Canary-Schaltung 134, einen Hinweis auf eine erkannte Manipulationsaktivität zu geben (z. B. die Erkennung eines umweltbedingten Sicherheitsangriffs anzuzeigen).According to example implementations, when the
Wie in
Aufgrund der Art der AES-Transformation kann eine einzige logische Wertänderung, die der Transformation entspricht, dazu führen, dass sich mehrere Bits im Ausgang der Transformation ändern. Daher verstärkt die Verwendung der AES-Transformation und insbesondere die Verwendung mehrerer kaskadierter AES-Transformationen den Fehlfunktionsindikator (die Differenz zwischen dem Ausgang 916 und dem erwarteten Ausgang 920) und führt dementsprechend dazu, dass die Canary-Schaltung 134 sehr empfindlich auf einen durch die Umgebungsbedingungen verursachten Sicherheitsangriff reagiert.Due to the nature of the AES transformation, a single logical value change corresponding to the transformation can cause multiple bits in the output of the transformation to change. Therefore, the use of the AES transform, and in particular the use of multiple cascaded AES transforms, amplifies the malfunction indicator (the difference between the
Gemäß einigen Implementierungen nimmt die Weiterleitung des Eingangsvektors 904 durch alle Transformationen (z. B. AES-Transformationen) aufgrund der Komplexität der Logik (z. B. der AES-Stufen 912) der Canary-Schaltung 134 einen erheblichen Teil (z. B. 80 bis 90 Prozent oder einen höheren Prozentsatz) des Taktzyklus in Anspruch. In Übereinstimmung mit Implementierungsbeispielen kann die Anzahl der AES-Stufen 912 der Kette 908 so eingestellt werden, dass die Kette 908 die Timing-Spezifikationen während eines einzelnen Taktzyklus kaum erfüllt. Beispielsweise kann unter Berücksichtigung von Fertigungsschwankungen die Anzahl der AES-Stufen 912 für das voraussichtlich langsamste Silizium so gewählt werden, dass der Ausgang 916 am Ende des Taktzyklus bereitgestellt wird. Gemäß Ausführungsbeispielen ist die Canary-Schaltung 134 absichtlich so ausgelegt, dass sie die erste, wenn nicht sogar eine der ersten Schaltungen des Sicherheitsprozessors 130 ist, die im Falle eines durch die Umgebungsbedingungen verursachten Sicherheitsangriffs eine Fehlfunktion aufweist (z. B. entspricht die Ausgabe 916 nicht der erwarteten Ausgabe 920).According to some implementations, due to the complexity of the logic (e.g. AES stages 912) of the
Die Steuerlogik 940 ist in Übereinstimmung mit Beispielimplementierungen so aufgebaut, dass sie den Ausgang 916 für jeden Zyklus des Taktsignals 921 abtastet. Beispielsweise kann die Steuerlogik 940 in Übereinstimmung mit Beispielimplementierungen den Eingangsvektor 904 an die Kette 908 in Reaktion auf bestimmte Flanken (z. B. positiv verlaufende oder ansteigende Flanken) des Taktsignals 921 liefern, und der Komparator 924 kann den Ausgang 916 bei bestimmten Flanken (z. B. ansteigenden Flanken) des Taktsignals 921 abtasten. Daher beginnen gemäß einigen Implementierungen die Transformationen zu Beginn der Taktzyklen, und das Ergebnis der Transformationen wird am Ende der Taktzyklen abgetastet.The
Um die Logikgatter der kanarischen Schaltung 134 für jeden Taktzyklus aufzufrischen, so dass die Logikgatter während des Taktzyklus übergehen (und nicht statisch bleiben), liefert die Steuerlogik 940 verschiedene Eingangsvektoren 904 an die Kette 908 in abwechselnden Taktzyklen. Auf diese Weise kann die Steuerlogik 940, wie in
In Übereinstimmung mit einigen Implementierungen kann die Steuerlogik 940 abwechselnd zwei verschiedene Eingangsvektoren an die Kette 908 für jeweils abwechselnde Taktzyklen liefern. In Übereinstimmung mit weiteren Implementierungen kann die Steuerlogik 940 zwischen mehr als zwei Eingangsvektoren abwechseln. In Übereinstimmung mit weiteren Implementierungen kann der Kette 908 für jeden Taktzyklus derselbe Eingangsvektor zugeführt werden.In accordance with some implementations,
Gemäß
Gemäß
Wie in
In Übereinstimmung mit Beispielimplementierungen umfasst die Erzeugung des Ausgabewerts die Bereitstellung einer Eingabe für eine Kette seriell gekoppelter Stufen, um die Kette zu veranlassen, den Ausgabewert bereitzustellen. Jede Stufe der Kette ist mit einer kryptografischen Transformation verbunden. Ein besonderer Vorteil besteht darin, dass die Canary-Schaltung die Umgebungsbedingungen der zu schützenden Komponente genau erfasst, um durch die Umgebungsbedingungen bedingte Sicherheitsangriffe schnell zu erkennen und darauf zu reagieren.In accordance with example implementations, generating the output value includes providing an input to a chain of serially coupled stages to cause the chain to provide the output value. Each stage of the chain is associated with a cryptographic transformation. A particular advantage is that the canary circuit accurately detects the environmental conditions of the component to be protected in order to quickly detect and respond to security attacks caused by the environmental conditions.
Gemäß Implementierungen umfasst die Erzeugung der Ausgabe die Bereitstellung einer Eingabe für eine Kette seriell gekoppelter AES-Blockchiffre-Transformationsstufen, um die Kette zu veranlassen, den Ausgabewert bereitzustellen. Ein besonderer Vorteil ist, dass die Canary-Schaltung die Umgebungsbedingungen der zu schützenden Komponente genau erfasst, um umweltbedingte Sicherheitsangriffe schnell zu erkennen und darauf zu reagieren.According to implementations, generating the output includes providing an input to a chain of serially coupled AES block cipher transformation stages to cause the chain to provide the output value. A particular advantage is that the canary circuit accurately records the environmental conditions of the component to be protected in order to quickly detect and respond to environmental security attacks.
Gemäß Ausführungsbeispielen umfasst der Prozess die Bereitstellung eines Taktsignals für einen Verarbeitungskern des Halbleitergehäuses. Das Taktsignal hat einen Takt, und die Erzeugung des Ausgabewerts umfasst die Durchführung der Erzeugung innerhalb einer Zeit, die kleiner als der Takt ist. Ein besonderer Vorteil ist, dass die Canary-Schaltung die Umgebungsbedingungen des zu schützenden Bauteils genau erfasst, um umweltbedingte Sicherheitsangriffe schnell zu erkennen und darauf zu reagieren.According to embodiments, the process includes providing a clock signal to a processing core of the semiconductor package. The clock signal has a clock, and generating the output value includes performing the generation within a time less than the clock. A particular advantage is that the canary circuit accurately records the environmental conditions of the component to be protected in order to quickly detect and respond to environmental security attacks.
In Übereinstimmung mit Beispielimplementierungen umfasst das Erzeugen der Ausgabe das Bereitstellen einer Eingabe für die Logik der Kanarienschaltung und das Verwenden der Logik zum Erzeugen der Ausgabe für jeden Zyklus einer Vielzahl von Zyklen eines Taktsignals. Das Erzeugen der Ausgabe umfasst das Variieren der Eingabe über die Vielzahl von Zyklen und das Variieren des erwarteten Wertes über die Vielzahl von Zyklen entsprechend der Variation der Eingabe. Ein besonderer Vorteil ist, dass die Canary-Schaltung die Umgebungsbedingungen der zu schützenden Komponente genau erfasst, um umweltbedingte Sicherheitsangriffe schnell zu erkennen und darauf zu reagieren.In accordance with example implementations, generating the output includes providing an input to the logic of the canary circuit and using the logic to generate the output for each cycle of a plurality of cycles of a clock signal. Generating the output includes varying the input over the plurality of cycles and varying the expected value over the plurality of cycles according to the variation in the input. A particular advantage is that the canary circuit accurately senses the environmental conditions of the component being protected to quickly detect and respond to environmental security attacks.
In Übereinstimmung mit Beispielimplementierungen umfasst der Prozess ferner, als Reaktion auf die Rücksetzanforderung, das Versetzen der Hardware-Root-of-Trust-Engine in den Rücksetzzustand. Die Regelung der Reaktion des Halbleitergehäuses auf das Rücksetzsignal umfasst die Regelung einer Verzögerung zwischen einem ersten Zeitpunkt, zu dem die Hardware-Root-of-Trust-Engine in den Reset versetzt wird, und einem zweiten Zeitpunkt, zu dem die Hardware-Root-of-Trust-Engine aus dem Reset freigegeben wird. Ein besonderer Vorteil ist, dass die Canary-Schaltung die Umgebungsbedingungen der zu schützenden Komponente genau erfasst, um umweltbedingte Sicherheitsangriffe schnell zu erkennen und darauf zu reagieren.Consistent with example implementations, the process further includes, in response to the reset request, placing the hardware root of trust engine into the reset state. Controlling the response of the semiconductor package to the reset signal includes controlling a delay between a first time at which the hardware root of trust engine is reset and a second time at which the hardware root of -Trust engine is released from the reset. A particular advantage is that the canary circuit accurately records the environmental conditions of the component to be protected in order to quickly detect and respond to environmental security attacks.
In Übereinstimmung mit Beispielimplementierungen umfasst die Erzeugung des Ausgabewerts die Bereitstellung eines Eingangs für Logikgatter der Canary-Schaltung. Die Logikgatter der Canary-Schaltung sind räumlich mit den Logikgattern der Hardware-Root-of-Trust-Engine vermischt. Die Logikgatter der Canary-Schaltung werden verwendet, um die Ausgabe zu erzeugen. Ein besonderer Vorteil besteht darin, dass die Canary-Schaltung die Umgebungsbedingungen der zu schützenden Komponente genau erfasst, um umweltbedingte Sicherheitsangriffe schnell zu erkennen und darauf zu reagieren.Consistent with example implementations, generating the output value involves providing an input to logic gates of the canary circuit. The logic gates of the canary circuit are spatially intermixed with the logic gates of the hardware root of trust engine. The logic gates of the canary circuit are used to generate the output. A particular advantage is that the canary circuit accurately senses the environmental conditions of the component being protected to quickly detect and respond to environmental security attacks.
Gemäß Ausführungsbeispielen umfasst die Erzeugung des Ausgabewerts die Bereitstellung eines Eingangs für die Logikgatter der kanarischen Schaltung. Die Logikgatter der kanarischen Schaltung sind räumlich mit den Logikgattern eines Sicherheitsverarbeitungskerns des Halbleitergehäuses vermischt. Die Logikgatter der Canary-Schaltung werden zur Erzeugung des Ausgangs verwendet. Ein besonderer Vorteil besteht darin, dass die Canary-Schaltung die Umgebungsbedingungen des zu schützenden Bauteils genau erfasst, um durch die Umgebungsbedingungen bedingte Sicherheitsangriffe schnell zu erkennen und darauf zu reagieren.According to embodiments, generating the output value includes providing an input to the logic gates of the canary circuit. The logic gates of the canary circuit are spatially mixed with the logic gates of a security processing core of the semiconductor package. The logic gates of the canary circuit are used to generate the output. A particular advantage is that the canary circuit accurately records the environmental conditions of the component to be protected in order to quickly detect and respond to security attacks caused by the environmental conditions.
Gemäß Ausführungsbeispielen umfasst der Prozess einen Verarbeitungskern eines Sicherheitsprozessors des Halbleitergehäuses, der maschinenlesbare Anweisungen ausführt, um einen Sicherheitsdienst für das elektronische System bereitzustellen. Der Canary-Schaltkreis versagt aufgrund eines umweltbedingten Sicherheitsangriffs auf das Halbleiterpaket. Die Fehlfunktion beinhaltet, dass der Vergleich ein Ergebnis liefert, das bedeutet, dass der Ausgangswert nicht dem erwarteten Wert entspricht. Die Regelung der Reaktion des Halbleiterpakets auf das Rücksetzsignal umfasst die Erhöhung einer Rücksetz-Haltezeit für das Halbleiterpaket in Abhängigkeit von dem Ergebnis des Vergleichs. Ein besonderer Vorteil besteht darin, dass die Canary-Schaltung die Umgebungsbedingungen des zu schützenden Bauteils genau erfasst, um durch die Umgebungsbedingungen bedingte Sicherheitsangriffe schnell zu erkennen und darauf zu reagieren.According to embodiments, the process includes a processing core of a security processor of the semiconductor package executing machine-readable instructions to provide a security service for the electronic system. The canary circuit fails due to an environmental security attack on the semiconductor package. The malfunction includes that the comparison produces a result that means that the output value does not match the expected value. Controlling the response of the semiconductor package to the reset signal includes increasing a reset hold time for the semiconductor package depending on the result of the comparison. A particular advantage is that the canary circuit accurately senses the environmental conditions of the device to be protected in order to quickly detect and respond to environmental security attacks.
Obwohl die vorliegende Offenbarung in Bezug auf eine begrenzte Anzahl von Implementierungen beschrieben wurde, werden Fachleute, die über die Vorteile dieser Offenbarung verfügen, zahlreiche Modifikationen und Variationen davon schätzen. Es ist beabsichtigt, dass die beigefügten Ansprüche alle derartigen Modifikationen und Variationen abdecken.Although the present disclosure has been described with respect to a limited number of implementations, those skilled in the art having the benefit of this disclosure will appreciate numerous modifications and variations thereto. It is intended that the appended claims cover all such modifications and variations.
Claims (20)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202263412005P | 2022-09-30 | 2022-09-30 | |
US63/412,005 | 2022-09-30 |
Publications (1)
Publication Number | Publication Date |
---|---|
DE102023110485A1 true DE102023110485A1 (en) | 2024-04-04 |
Family
ID=90246637
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102023110485.3A Pending DE102023110485A1 (en) | 2022-09-30 | 2023-04-25 | DETECTING AND RESPOND TO ENVIRONMENTAL SECURITY ATTACKS ON SEMICONDUCTOR PACKAGING |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE102023110485A1 (en) |
-
2023
- 2023-04-25 DE DE102023110485.3A patent/DE102023110485A1/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210266183A1 (en) | Dynamic certificate management as part of a distributed authentication system | |
US11256797B2 (en) | Remote attestation for multi-core processor | |
DE102012212471B3 (en) | Apparatus for realizing physical degradation / tamper detection of a digital IC by means of a (digital) PUF and distinguishing between a degradation due to physical manipulation and aging processes | |
DE112016006003T5 (en) | Trustworthy startup of secure enclaves in virtual environments | |
DE102022108380A1 (en) | MANAGE THE STORAGE OF SECRETS IN MEMORIES OF BASEBOARD MANAGEMENT CONTROLLER | |
EP3646224B1 (en) | Secure key storage for multi-core processor | |
DE102021109189B4 (en) | Perform verification check in response to change in base register of page table | |
DE102010054614A1 (en) | Intrusion into a secured computing environment using multiple authenticated code modules | |
DE112018006401T5 (en) | TRANSPARENTLY ASSIGNED FLASH MEMORY SECURITY | |
DE102022108625A1 (en) | MULTIPLE PHYSICAL REQUEST INTERFACES FOR SECURITY PROCESSORS | |
CN113568799A (en) | Simulation of physical security devices | |
DE102014002302B4 (en) | System and method for determining the operational robustness of a system on a chip | |
US20230246827A1 (en) | Managing use of management controller secrets based on firmware ownership history | |
DE102021107211B4 (en) | Storage Module Authentication Extension | |
DE112019007230T5 (en) | Multi-mode protected storage | |
DE102023110485A1 (en) | DETECTING AND RESPOND TO ENVIRONMENTAL SECURITY ATTACKS ON SEMICONDUCTOR PACKAGING | |
Gross et al. | Fpganeedle: Precise remote fault attacks from fpga to cpu | |
DE102023110486A1 (en) | RESPONSE TO RESETS RULES IN RESPONSE TO THE DETECTION OF TAMPERING ACTIVITIES | |
Nath et al. | ArtiFact: Architecture and CAD flow for efficient formal verification of SoC security policies | |
DE102021108965A1 (en) | PASSWORD-BASED ACCESS CONTROL FOR PROGRAMMABLE LOGIC COMPONENTS | |
US20240111862A1 (en) | Detecting and responding to environmental condition-induced security attacks on semiconductor packages | |
DE102014208848A1 (en) | Method for monitoring an electronic security module | |
US20240111909A1 (en) | Governing responses to resets responsive to tampering activity detection | |
Noubir et al. | Towards malicious exploitation of energy management mechanisms | |
CN117807644A (en) | Managing responses to resets in response to tamper activity detection |