DE102014219450A1 - Rechensystem - Google Patents

Rechensystem Download PDF

Info

Publication number
DE102014219450A1
DE102014219450A1 DE102014219450.4A DE102014219450A DE102014219450A1 DE 102014219450 A1 DE102014219450 A1 DE 102014219450A1 DE 102014219450 A DE102014219450 A DE 102014219450A DE 102014219450 A1 DE102014219450 A1 DE 102014219450A1
Authority
DE
Germany
Prior art keywords
critical resource
processing unit
computing system
value
response value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102014219450.4A
Other languages
English (en)
Inventor
Berndt Gammel
Tomaz Felicijan
Stefan Mangard
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Infineon Technologies AG
Original Assignee
Infineon Technologies AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Infineon Technologies AG filed Critical Infineon Technologies AG
Publication of DE102014219450A1 publication Critical patent/DE102014219450A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • G06F21/445Program or device authentication by mutual authentication, e.g. between devices or programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/002Countermeasures against attacks on cryptographic mechanisms
    • H04L9/004Countermeasures against attacks on cryptographic mechanisms for fault attacks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2103Challenge-response
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2143Clearing memory, e.g. to prevent the data from being stolen

Landscapes

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

Abstract

Ein Rechensystem ist ausgelegt, um vor einer Verletzung der Integrität zu schützen. Das Rechensystem umfasst eine Verarbeitungseinheit und eine kritische Ressource, wobei die kritische Ressource von der Verarbeitungseinheit steuerbar ist, so dass sie gesperrt oder entsperrt sein kann. Die kritische Ressource ist ausgelegt, um einen Abfragewert intermittierend an die Verarbeitungseinheit zu übertragen, die Verarbeitungseinheit ist ausgelegt, um eine Transformation auf den Abfragewert anzuwenden, so dass ein Antwortwert erhalten wird und der Antwortwert zurück an die kritische Ressource gesendet wird. Die kritische Ressource ist ausgelegt, um den Antwortwert auf Korrektheit zu überprüfen, so dass ein Überprüfungsergebnis erhalten wird, und um die Steuerbarkeit einer Abhängigkeit vom Überprüfungsergebnis zu unterwerfen.

Description

  • Technisches Gebiet
  • Ausführungsformen der Erfindung beziehen sich auf ein Rechensystem, welches ausgelegt ist, um vor einer Verletzung der Integrität zu schützen, ein Verfahren zum Schutz eines Rechensystems vor einer Verletzung der Integrität, ein nicht-transitorisches computerlesbares Speichermedium und einen integrierten Chip.
  • Hintergrund
  • Der Schutz vor einer Verletzung der Integrität wird zunehmend wichtiger. Dies gilt ebenfalls für Sicherheitscontroller, sichere Speicher, Radiofrequenzidentifikationsvorrichtungen (Radio Frequency Identification Devices, RFIDs) sowie viele andere Vorrichtungen, welche Schutz vor einer Verletzung der Integrität erfordern, die beispielsweise durch physische Angriffe verursacht wird. Im Folgenden bedeutet der Begriff „Angriff” Extrahieren eines Geheimnisses oder Manipulieren von Daten zugunsten eines Angreifers.
  • Zu diesem Zweck umfasst eine Verletzung der Integrität induzierende Fehler während der Ausführung eines Programms auf dem Sicherheitscontroller, dem sicheren Speicher, der RFID-Vorrichtung usw. oder während des Betriebs eines endlichen Automatens (Finite State Machine, FSM) auf der jeweiligen Vorrichtung. Fehler können durch mehrere Mittel, beispielsweise durch Spannungsspitzen, Laserlicht, ionisierende Strahlung, Sondennadeln usw., induziert werden. Ein aus einer Vielzahl von Beispielen von induzierenden Fehlern umfasst die Störung eines Adressenzeigers zu einem Ausgangspuffer während eines Ausgabevorgangs in einer Weise, dass der Adressenzeiger zur Speicherstelle eines Geheimschlüssels zeigt, welcher zum Verschlüsseln und Entschlüsseln von Nachrichten verwendet wird. Ein solcher Angriff würde darin resultieren, dass die Ausgaberoutine den Geheimschlüssel aus der Vorrichtung sendet, anstatt wie beabsichtigt den Inhalt des Ausgabepuffers zu senden.
  • In einem weiteren Beispiel wird eine Verletzung der Integrität durch Manipulieren eines Programmzählers in einer Weise, dass eine Programmierroutine für einen nichtflüchtigen Speicher aufgerufen wird, anstatt wie beabsichtigt eine andere Routine aufzurufen, initiiert. Dieses Beispiel einer Verletzung der Integrität resultiert darin, dass wichtige Daten mit Werten unter der Kontrolle des jeweiligen Angreifers überschrieben werden könnten.
  • Schutzmechanismen wie Zugriffsrechts-Flags in Speicherverwaltungseinheiten werden verwendet, um vor einer Verletzung der Integrität zu schützen. Schutzstufen (Kernel, Benutzer usw.) sowie Datenredundanz, redundante Operationen usw. sind bekannt. Jedoch wurden diese Schutzmechanismen ebenfalls einer Verletzung der Integrität unterworfen.
  • Kurzfassung
  • Eine Ausführungsform der Erfindung stellt ein Rechensystem bereit, welches ausgelegt ist, um vor einer Verletzung der Integrität zu schützen, wobei das Rechensystem eine Verarbeitungseinheit und eine kritische Ressource umfasst, wobei die kritische Ressource von der Verarbeitungseinheit steuerbar ist, so dass sie gesperrt oder entsperrt sein kann, wobei die kritische Ressource ausgelegt ist, um einen Abfragewert intermittierend an die Verarbeitungseinheit zu übertragen, wobei die Verarbeitungseinheit ausgelegt ist, um eine Transformation auf den Abfragewert anzuwenden, um einen Antwortwert zu erhalten und den Antwortwert zurück an die kritische Ressource zu senden, und die kritische Ressource ausgelegt ist, um den Antwortwert auf Korrektheit zu überprüfen, um so ein Überprüfungsergebnis zu erhalten und die Steuerbarkeit einer Abhängigkeit vom Überprüfungsergebnis zu unterwerfen.
  • Eine weitere Ausführungsform stellt ein Verfahren zum Schutz eines Rechensystems vor einer Verletzung der Integrität bereit, wobei das Rechensystem eine Verarbeitungseinheit und eine kritische Ressource umfasst, wobei die kritische Ressource von der Verarbeitungseinheit steuerbar ist, so dass sie gesperrt oder entsperrt sein kann, wobei das Verfahren umfasst: intermittierendes Übertragen eines Abfragewerts von der kritischen Ressource an die Verarbeitungseinheit; Anwenden einer Transformation auf den Abfragewert, so dass ein Antwortwert erhalten wird; Senden des Antwortwerts von der Verarbeitungseinheit zurück an die kritische Ressource; Überprüfen des Antwortwerts auf Korrektheit, so dass ein Überprüfungsergebnis erhalten wird; und Unterwerfen der Steuerbarkeit der kritischen Ressource einer Abhängigkeit vom Überprüfungsergebnis.
  • Eine weitere Ausführungsform stellt ein nicht-transitorisches computerlesbares Speichermedium bereit, welches Programmanweisungen speichert, die, wenn sie von einem Rechensystem ausgeführt werden, das Rechensystem vor einer Verletzung der Integrität schützen, wobei das Rechensystem eine Verarbeitungseinheit und eine kritische Ressource umfasst, wobei die kritische Ressource von der Verarbeitungseinheit steuerbar ist, so dass sie gesperrt oder entsperrt sein kann, die Programmanweisungen umfassend: ersten Programmcode zum Veranlassen des Rechensystems, die Verarbeitung des intermittierenden Übertragens eines Abfragewerts von der kritischen Ressource an die Verarbeitungseinheit auszuführen; zweiten Programmcode zum Veranlassen des Rechensystems, die Verarbeitung der Anwendung einer Transformation auf den Abfragewert, so dass ein Antwortwert erhalten wird, auszuführen; dritten Programmcode zum Veranlassen des Rechensystems, die Verarbeitung des Sendens des Antwortwerts von der Verarbeitungseinheit zurück zur kritischen Ressource auszuführen; vierten Programmcode zum Veranlassen des Rechensystems, die Verarbeitung der Prüfung des Antwortwerts auf Korrektheit auszuführen, so dass ein Überprüfungsergebnis erhalten wird; und fünften Programmcode zum Veranlassen des Rechensystems, die Verarbeitung des Unterwerfens der Steuerbarkeit der kritischen Ressource einer Abhängigkeit vom Überprüfungsergebnis auszuführen.
  • Eine weitere Ausführungsform stellt einen integrierten Chip bereit, welcher eine zentrale Verarbeitungseinheit und eine kryptographische periphere Vorrichtung umfasst, wobei die kryptographische periphere Vorrichtung von der zentralen Verarbeitungseinheit steuerbar ist, so dass sie gesperrt oder entsperrt sein kann, wobei die kryptographische periphere Vorrichtung ausgelegt ist, um intermittierend einen Abfragewert an die zentrale Verarbeitungseinheit zu übertragen, wobei die zentrale Verarbeitungseinheit ausgelegt ist, um eine Transformation auf den Abfragewert anzuwenden, so dass ein Antwortwert erhalten wird und der Antwortwert zurück an die kryptographische periphere Vorrichtung gesendet wird, und die kryptographische periphere Vorrichtung ausgelegt ist, um den Antwortwert auf Korrektheit zu überprüfen, um so ein Überprüfungsergebnis zu erhalten, und die Steuerbarkeit einer Abhängigkeit vom Überprüfungsergebnis unterworfen wird, wobei die zentrale Verarbeitungseinheit ausgelegt ist, um die kryptographische periphere Vorrichtung zu steuern, so dass sie gesperrt ist, wenn die kryptographische periphere Vorrichtung nicht von einem Programm erforderlich ist, welches auf der zentralen Verarbeitungseinheit ausgeführt wird, und entsperrt ist, wenn die kryptographische periphere Vorrichtung vom Programm erforderlich ist, welches auf der zentralen Verarbeitungseinheit ausgeführt wird.
  • Fachleute auf diesem Gebiet werden weitere Merkmale und Vorteile beim Lesen der folgenden ausführlichen Beschreibung und beim Betrachten der beigefügten Zeichnungen erkennen.
  • Kurze Beschreibung der Zeichnungen
  • Ausführungsformen der vorliegenden Erfindung werden im Folgenden mit Bezug auf die Figuren beschrieben.
  • 1 zeigt ein Blockschaltbild eines Rechensystems;
  • 2 zeigt ein schematisches Sequenzdiagramm, um ein Verfahren zum Schutz eines Rechensystems gemäß einer Ausführungsform der Erfindung zu veranschaulichen;
  • 3 zeigt ein schematisches Sequenzdiagramm, um ein Verfahren zum Schutz eines Rechensystems gemäß einer weiteren Ausführungsform der Erfindung zu veranschaulichen;
  • 4 zeigt ein schematisches Sequenzdiagramm, um ein Verfahren zum Schutz eines Rechensystems, welches mehr als zwei Schritte erfordert, gemäß einer weiteren Ausführungsform der Erfindung zu veranschaulichen;
  • 5 zeigt ein schematisches Sequenzdiagramm, um ein Verfahren zum Schutz eines Rechensystems, welches Zugriff auf mehr als ein Sperrregister erfordert, gemäß einer weiteren Ausführungsform der Erfindung zu veranschaulichen; und
  • 6 zeigt ein Flussdiagramm, welches Schritte umfasst, die von einem Verfahren zum Schutz eines Rechensystems vor einer Verletzung der Integrität durchgeführt werden.
  • Ausführliche Beschreibung
  • Verschiedene Ausführungsformen der hier offenbarten Lehren werden nachfolgend unter Bezugnahme auf 1 bis 6 erläutert. In den Zeichnungen sind gleiche Bezugszeichen für Objekte mit gleichen oder ähnlichen Funktionen bereitgestellt, so dass Objekte, welche durch identische Bezugszeichen in den verschiedenen Ausführungsformen bezeichnet sind, austauschbar sind und die Beschreibung wechselseitig aufeinander anwendbar ist.
  • 1 zeigt ein schematisches Blockschaltbild eines Rechensystems 10, welches eine Verarbeitungseinheit 12 umfasst, die mit einer Mehrzahl von kritischen Ressourcen 14_1 bis 14_N verbunden ist. Die kritischen Ressourcen 14_1 bis 14_N sind mit der Verarbeitungseinheit 12 durch die entsprechenden Lese-/Schreibleitungen 16_1 bis 16_N verbunden, wodurch Kommunikation in beiden Richtungen ermöglicht wird. Als Beispiel wird die Verarbeitungseinheit 12 mit einer weiteren Ressource 18, beispielsweise ein nicht-kryptographischer Prozessor oder eine periphere USB-Vorrichtung, verbunden gezeigt.
  • Schutz gegen Fehlerangriffe, d. h. Verletzung der Integrität, wird durch das Deaktivieren jeder der kritischen Ressourcen 14_1 bis 14_N erzielt, welche während einer Operation des Rechensystems 10 nicht erforderlich sind. Insbesondere wird der Schutz vor einer Verletzung der Integrität durch Deaktivieren des Zugriffs auf eine Anzahl der Mehrzahl der kritischen Ressourcen 14_1 bis 14_N erzielt, welche während einer Operation des Rechensystems 10 nicht erforderlich sind. Als ein Beispiel werden im Rahmen eines Verschlüsselungsprozesses die jeweiligen der Mehrzahl von kritischen Ressourcen 14_1 bis 14_N wie beispielsweise eine periphere UART-Vorrichtung, um ein unerwünschtes Lecken von Schlüsseln nach außen zu vermeiden, auf deaktiviert eingestellt, während ein Geheimschlüssel von einem Speicher, welcher den besagten Geheimschlüssel speichert, an eine Verschlüsselungsvorrichtung oder -routine übertragen wird. Obwohl nicht gezeigt, sind sowohl der Speicher als auch die Verschlüsselungseinrichtung im Rechensystem 10 enthalten.
  • Wie oben erwähnt, sind die jeweiligen der Mehrzahl von kritischen Ressourcen 14_1 bis 14_N im Verlauf des Verschlüsselungsprozesses deaktiviert. Mit anderen Worten steuert die Verarbeitungseinheit 12 die jeweiligen der Mehrzahl von kritischen Ressourcen 14_1 bis 14_N so, dass sie gesperrt sind im Falle, dass die kritischen Ressourcen nicht für eine Operation des Rechensystems 10 erforderlich sind, und entsperrt sind im Falle, dass die kritischen Ressourcen für die Operation des Rechensystems 10 erforderlich sind. Nur als Vorsichtsmaßnahme wird darauf hingewiesen, dass Zwischenzustände ebenso eingestellt werden können: Die Einschränkung von allen kritischen Ressourcen kann schrittweiser Natur sein. Beispielsweise kann nur eine echte Teilmenge von Funktionalitäten der kritischen Ressource deaktiviert sein, während andere aktiv gelassen werden. Folglich kann das Sperren lediglich zu einer Deaktivierung eines Unterteils von Funktionalitäten der jeweiligen gesperrten kritischen Ressource führen.
  • Nach Beendigung des Verschlüsselungsprozesses wird der Geheimschlüssel in der Verschlüsselungsvorrichtung gelöscht. Anschließend werden die jeweiligen der Mehrzahl von kritischen Ressourcen 14_1 bis 14_N aktiviert und das Verschlüsselungsergebnis wird ausgegeben. Auf diese Weise kann der Geheimschlüssel nicht leicht aus dem Speicher oder der Verschlüsselungsvorrichtung zu wenigstens einer der Mehrzahl von kritischen Ressourcen 14_1 bis 14_N lecken, wobei das Leck beispielsweise durch eine Verletzung der Integrität induziert sein könnte.
  • Das Verfahren zum Deaktivieren und Aktivieren der jeweiligen der Mehrzahl von kritischen Ressourcen 14_1 bis 14_N, wie oben erwähnt, kann beispielsweise direkt durch die periphere Vorrichtungen oder beispielsweise eine zentrale periphere Zugriffseinheit (Peripheral Access Unit, PAU) ausgeführt werden. Für einen Angreifer ist eine der Anzahl von Möglichkeiten, um der digitalen Gegenmaßnahme zu entweichen, welche verwendet wird, um vor einer Verletzung der Integrität zu schützen, wie oben erwähnt, die Aktivierung von wenigstens einer der Mehrzahl von kritischen Ressourcen 14_1 bis 14_N durch einen einfachen Angriff. Mit anderen Worten kann während des Prozesses der Übertragung des Geheimschlüssels aus dem Speicher zur Verschlüsselungsvorrichtung und während des Verschlüsselungsprozesses selbst wenigstens eine der Mehrzahl von kritischen Ressourcen 14_1 bis 14_N vom Angreifer durch eine Verletzung der Integrität zur Aktivierung forciert werden. Dabei kann der Geheimschlüssel während der Übertragung aus dem Speicher oder der Verschlüsselungsvorrichtung zur wenigstens einen kritischen Ressource, welche durch eine Verletzung der Integrität aktiviert wurde, ausspioniert werden.
  • Ein Sperrmechanismus für kritische Ressourcen ist vorgesehen, wobei der Sperrmechanismus hindern kann, d. h. die verbotene Aktivierung der nicht verbotenen Aktivierung der kritischen Ressource verhindern kann. Hierzu werden Sperr- und Entsperrsequenzen erzeugt, welche verwendet werden, um die kritische Ressource zu sperren und zu entsperren. Insbesondere werden die jeweiligen der Mehrzahl von kritischen Ressourcen 14_1 bis 14_N durch die Verarbeitungseinheit 12 gesteuert, so dass sie gesperrt oder entsperrt sind. Daher wird die unbefugte Aktivierung einer jeweiligen kritischen Ressource gesperrt.
  • Unter Rückbezug auf 1 umfassen die kritischen Ressourcen 14_1 bis 14_N jeweils die Registerstapel 20_1 bis 20_N. Jedes der Registerstapel 20_1 bis 20_N umfasst eine Mehrzahl von Registern. Ferner umfassen die kritischen Ressourcen 14_1 bis 14_N jeweils die endlichen Automaten 22_1 bis 22_N. Jedes der Register eines jeweiligen der Registerstapel 20_1 bis 20_N ist mit einem jeweiligen der endlichen Automaten 22_1 bis 22_N verbunden.
  • Um den oben erwähnten Sperrmechanismus zu erzielen, überträgt wenigstens eine der kritischen Ressourcen 14_1 bis 14_N intermittierend einen Abfragewert an die Verarbeitungseinheit 12 über eine jeweilige der Lese-/Schreibleitungen 16_1 bis 16_N. Dieser Abfragewert wird im Voraus in einem der Register der jeweiligen kritischen Ressource gespeichert. Man beachte, dass dieser Abfragewert ebenfalls Hardware-implementiert sein kann. Bei dieser Option kann die Bereitstellung der Register weggelassen werden.
  • Die Verarbeitungseinheit 12 wendet wiederum eine Transformation auf den empfangenen Abfragewert an, so dass ein Antwortwert erhalten wird. Dann überträgt die Verarbeitungseinheit 12 den Antwortwert zurück an die jeweilige kritische Ressource über die jeweilige Lese-/Schreibleitung. Ferner prüft die kritische Ressource den Antwortwert auf Korrektheit, um so ein Überprüfungsergebnis zu erhalten. Je nach Überprüfungsergebnis unterwirft die kritische Ressource die Steuerbarkeit.
  • Mit anderen Worten besteht die oben erwähnte Sequenz aus einer Sequenz von Lese- und Schreiboperationen zu den Registern des Stapels von Registern 20_1 bis 20_N der jeweiligen kritischen Ressource 14_1 bis 14_N. Während der Lese- und Schreiboperationen werden spezielle Werte in beiden Richtungen übertragen. Der endliche Automat 22_1 bis 22_N, welcher jeweils in jeder kritischen Ressource 14_1 bis 14_N umfasst ist, verfolgt die Sequenz der Operationen und übertragenen Werte und gewährt nur dann Zugriff, wenn die Sequenz und Werte korrekt sind.
  • Als ein zusätzlicher Parameter der Sequenz können Informationen in Bezug auf eine Zeitbasis verwendet werden. Beispielsweise ist eine Ressource entsperrt, eine Operation wird darauf durchgeführt, und dann ist die Ressource ausgelegt, um nach dieser Operation automatisch wieder zu sperren. In diesem Fall würde die Entsperrung lediglich für eine Operation durchgeführt werden, und die Sperrung würde automatisch nach der Ausführung der Operation durchgeführt werden. Die Zeitbasis könnte folglich den entsperrten Zustand lediglich für eine vorläufige Zeit gewähren und diese vorläufige Natur der Entsperrung angeben oder sogar die gemessene vorläufige Zeit beispielsweise nach Anzahl der Ausführungen der Operation oder Zeit angeben. Man beachte, dass die kritische Ressource die Übertragung des Abfragewerts an die jeweiligen kritischen Ressourcen 14_1 bis 14_N nach Empfang eines Befehls von der Verarbeitungseinheit 12 initiiert, welche die jeweilige kritische Ressource 14_1 bis 14_N steuert, so dass sie entsperrt wird. Neben der Überprüfung des Antwortwerts auf Korrektheit, so dass ein Überprüfungsergebnis erhalten wird, wie oben erwähnt, unterwirft die kritische Ressource die Steuerbarkeit einer Abhängigkeit vom Überprüfungsergebnis basierend auf dem Antwortwert einer Sequenz von Abfragewerten. Als Option, im Falle, dass die kritische Ressource die Mehrzahl von Registern in den Registerstapeln 20_1 bis 20_N umfasst, liest die wenigstens eine kritische Ressource 14_1 bis 14_N die Sequenz von Abfragewerten von verschiedenen der Mehrzahl von Registern.
  • Zusammengefasst wird das Rechensystem 10 bereitgestellt, umfassend Verarbeitungseinheit 12, welche ausgelegt ist, um die jeweilige kritische Ressource zu steuern, so dass sie gesperrt ist im Falle, dass die kritische Ressource nicht für eine Operation des Rechensystems 10 erforderlich ist, und entsperrt ist im Falle, dass die kritische Ressource für die Operation des Rechensystems 10 erforderlich ist.
  • Das Rechensystem 10 kann ferner Sequenzen zwischen der Verarbeitungseinheit 12, beispielsweise einer zentralen Verarbeitungseinheit, auch als ein Requester (Anforderer) bezeichnet, und einer Mehrzahl von kritischen Ressourcen 14_1 bis 14_N, welche auch als kryptographische periphere Vorrichtungen bezeichnet werden, austauschen. Insbesondere beziehen sich die kritischen Ressourcen 14_1 bis 14_N auf Module, welche Daten handhaben, die geheim gehalten werden sollten oder integral sein müssen.
  • Dies gilt für einen Speicherbereich, welcher einen Geheimschlüssel enthält, beispielsweise in einem Direktzugriffsspeicher (Random Access Memory, RAM) oder nicht-flüchtigen Speicher (Non-Volatile Memory, NVM). Ferner sind die oben erwähnten kritischen Ressourcen 14_1 bis 14_N durch eine periphere Vorrichtung definiert, welche mit dem Geheimnis funktionieren, beispielsweise ein Verschlüsselungsmodul. In einem anderen Beispiel können die kritischen Ressourcen 14_1 bis 14_N durch periphere Vorrichtungen veranschaulicht werden, welche dieses Geheimnis offenbaren können, aber in der Regel nicht dazu vorgesehen sind, beispielsweise eine Ausgabevorrichtung wie eine periphere Universal Asynchronous Receiver Transmitter(UART)- oder Universal Serial Bus(USB)-Vorrichtung.
  • 2 zeigt ein Sequenzdiagramm, welches ein Beispiel einer Sperrsequenz umfassend Lese- und Schreiboperationen zwischen einer kritischen Ressource (auf der rechten Seite der Figur in Betracht gezogen) und einer Verarbeitungseinheit (auf der linken Seite der Figur in Betracht gezogen) darstellt. Die in dieser Darstellung gezeigte Sperrsequenz umfasst das Übertragen eines Abfragewerts x = v(L1), welcher aus einem Register L1 der kritischen Ressource gelesen wird, zur Verarbeitungseinheit (siehe 1). Die Verarbeitungseinheit wendet wiederum eine Transformation T auf den Abfragewert x = v(L1) an, um das Ergebnis der Formel y = T(x) zu erhalten, wobei das Ergebnis y als Antwortwert definiert ist.
  • Nach dieser Transformation überträgt die Verarbeitungseinheit den Antwortwert y zurück zur kritischen Ressource. Insbesondere wird der Antwortwert y zum Register L1 der kritischen Ressource geschrieben. Nach dem Schreiben von y zum Register L1 überprüft die kritische Ressource diesen Antwortwert y auf Korrektheit, so dass ein Überprüfungsergebnis erhalten wird, und unterwirft die Steuerbarkeit einer Abhängigkeit vom Überprüfungsergebnis. Darüber hinaus oder als Option überprüft die kritische Ressource die Sequenz der Lese- und Schreiboperationen auf Korrektheit, so dass ein Überprüfungsergebnis erhalten wird, und unterwirft die Steuerbarkeit einer Abhängigkeit vom Überprüfungsergebnis. Insbesondere überprüft der endliche Automat (siehe 1) der kritischen Ressource, dass die Leseoperation aus dem Register L1 von der Schreiboperation zum Register L1 unter Verwendung des korrekten Werts vref = T(v) gefolgt wird.
  • Man beachte, dass die kritische Ressource ausgelegt ist, um die Steuerbarkeit einer Abhängigkeit vom Überprüfungsergebnis des Antwortwerts einer Sequenz von Abfragewerten zu unterwerfen. Die kritische Ressource ist beim Unterwerfen der Steuerbarkeit einer Abhängigkeit vom Überprüfungsergebnis ausgelegt, um eine Anzahl von Zugriffen der Verarbeitungseinheit auf die kritische Ressource zu zählen, während die kritische Ressource entsperrt ist, so dass sie automatisch gesperrt wird, wenn die Anzahl der Zugriffe einen vorbestimmten Wert überschreitet.
  • 3 zeigt ein Sequenzdiagramm, welches ein Beispiel einer Sperrsequenz umfassend Lese- und Schreiboperationen zwischen einer kritischen Ressource und einer Verarbeitungseinheit (siehe 1) darstellt. Die in dieser Darstellung gezeigte Sperrsequenz umfasst das Übertragen eines Abfragewerts x = v(t0, L1), welcher aus einem Register L1 der kritischen Ressource gelesen wird, zur Verarbeitungseinheit (siehe 1). Im Gegensatz zu der in 2 gezeigten Sequenz ist der Wert v, welcher aus dem Register L1 gelesen wird, nun ein Sequenzwert oder Zufallswert v(t0, L1) auf einer Zeitbasis. Die Verarbeitungseinheit wendet wiederum eine Transformation T auf den Abfragewert x = v(t, L1) an, um das Ergebnis der Formel y = Tt(x) zu erhalten, wobei das Ergebnis y als Antwortwert definiert ist. Nach Ausführung dieser Transformation überträgt die Verarbeitungseinheit den Antwortwert y zurück zur kritischen Ressource. Insbesondere wird der Antwortwert y zum Register L1 geschrieben. Nach dem Schreiben von y zum Register L1 überprüft die kritische Ressource diesen Antwortwert y auf Korrektheit, so dass ein Überprüfungsergebnis erhalten wird, und unterwirft die Steuerbarkeit einer Abhängigkeit vom Überprüfungsergebnis. Mit anderen Worten muss die Transformation T Tt(v(t, L1)) berechnen und zurückschreiben.
  • Dabei kann, unter Annahme einer Verletzung der Integrität, diese Verletzung den Wert T nicht zu einer Konstante (Vref) forcieren, welche zuvor hätte ausspioniert sein können. Dies erschwert abermals eine Verletzung der Integrität. Ferner hängt diese Transformation in dem in 3 gezeigten Beispiel ebenfalls vom Zeitindex t ab, d. h. T = Tt. Daher ist die Transformation zu jedem Zeitpunkt unterschiedlich.
  • Darüber hinaus oder als Option überprüft die kritische Ressource die Sequenz der Lese- und Schreiboperationen auf Korrektheit, so dass ein Überprüfungsergebnis erhalten wird, und unterwirft die Steuerbarkeit einer Abhängigkeit vom Überprüfungsergebnis. Die kritische Ressource ist beim Unterwerfen der Steuerbarkeit einer Abhängigkeit vom Überprüfungsergebnis ausgelegt, um eine Anzahl von Zugriffen der Verarbeitungseinheit auf die kritische Ressource zu zählen, während die kritische Ressource entsperrt ist, so dass sie automatisch gesperrt wird, wenn die Anzahl der Zugriffe einen vorbestimmten Wert überschreitet.
  • Insbesondere überprüft der endliche Automat (jeweils 1) der kritischen Ressource, dass die Leseoperation aus dem Register L1 von der Schreiboperation zum Register L1 unter Verwendung des korrekten Werts vref = Tt(v(t, L1)) gefolgt wird.
  • 4 zeigt ein weiteres beispielhaftes Sequenzdiagramm, welches Sperr- oder Entsperrsequenzen darstellt, die mehr als zwei Schritte erfordern. Insbesondere 4 zeigt ein Sequenzdiagramm, welches ein Beispiel einer Mehrzahl von Sperrsequenzen umfassend Lese- und Schreiboperationen zwischen einer kritischen Ressource und einer Verarbeitungseinheit darstellt.
  • Die in dieser Darstellung gezeigte Sperrsequenz umfasst das Übertragen eines Abfragewerts x = v1(t, L1), welcher aus einem Register L1 der kritischen Ressource gelesen wird, zur Verarbeitungseinheit (siehe 1). Im Gegensatz zu der in 2 gezeigten Sequenz ist der Wert v, welcher aus dem Register L1 gelesen wird, nun ein Sequenzwert oder Zufallswert v1(t, L1). Die Verarbeitungseinheit wendet wiederum eine Transformation T auf den Abfragewert x = v1(t, L1) an, um das Ergebnis der Formel y1 = T1,t(x1) zu erhalten, wobei das Ergebnis y1 als Antwortwert definiert ist. Nach dieser Transformation überträgt die Verarbeitungseinheit den Antwortwert y1 zurück zur kritischen Ressource. Insbesondere wird der Antwortwert y1 zum Register L1 geschrieben, um als Abfragewert für eine nächste Übertragung zur Verarbeitungseinheit zu dienen. Nach dem Schreiben von y1 zum Register L1 überprüft die kritische Ressource diesen Antwortwert y1 auf Korrektheit, so dass ein Überprüfungsergebnis erhalten wird, und unterwirft die Steuerbarkeit einer Abhängigkeit vom Überprüfungsergebnis. Mit anderen Worten muss die Transformation T T1,t(v1(t, L1)) berechnen und zurückschreiben.
  • Wenn y1 = T1,t(v1(t, L1)) nicht wahr ist, wird die Sequenz gestoppt und ein Integritätsverletzungsalarm ausgegeben. Wenn y1 = T1,t(v1(t, L1)) jedoch wahr ist, geht die Sequenz zu einer Sequenz der Übertragung des Abfragewerts x = v2(t, L1), welcher aus dem Register L1 der kritischen Ressource gelesen wird, an die Verarbeitungseinheit weiter. Man beachte, dass dieser Abfragewert zuvor in der Sequenz in das Register L1 zurückgeschrieben wurde. Die Verarbeitungseinheit wendet wiederum eine Transformation T2,t auf den Abfragewert x2 = v2(t, L1) an, um das Ergebnis der Formel y2 = T2,t(x2) zu erhalten, wobei das Ergebnis y2 als Antwortwert definiert ist. Nach dieser Transformation überträgt die Verarbeitungseinheit den Antwortwert y2 zurück zur kritischen Ressource. Insbesondere wird der Antwortwert y2 zum Register L1 geschrieben. Nach dem Schreiben von y2 zum Register L1 überprüft die kritische Ressource diesen Antwortwert y2 auf Korrektheit, so dass ein Überprüfungsergebnis erhalten wird, und unterwirft die Steuerbarkeit einer Abhängigkeit vom Überprüfungsergebnis. Mit anderen Worten muss die Transformation T T2,t(v2(t, L1)) berechnen und zurückschreiben.
  • Wenn y2 = T2,t(v2(t, L1)) nicht wahr ist, wird die Sequenz gestoppt und ein Integritätsverletzungsalarm ausgegeben. Wenn y2 = T2,t(v2(t, L1)) jedoch wahr ist, werden die obigen Sequenzen N-mal wiederholt, wobei N eine ganze Zahl ist, welche vorbestimmt ist oder von einem Operator eingestellt wird.
  • Darüber hinaus oder als Option überprüft die kritische Ressource die Sequenz der Lese- und Schreiboperationen auf Korrektheit, so dass ein Überprüfungsergebnis erhalten wird, und unterwirft die Steuerbarkeit einer Abhängigkeit vom Überprüfungsergebnis. Die kritische Ressource ist beim Unterwerfen der Steuerbarkeit einer Abhängigkeit vom Überprüfungsergebnis ausgelegt, um eine Anzahl von Zugriffen der Verarbeitungseinheit auf die kritische Ressource zu zählen, während die kritische Ressource entsperrt ist, so dass sie automatisch gesperrt wird, wenn die Anzahl der Zugriffe einen vorbestimmten Wert überschreitet.
  • Insbesondere überprüft der endliche Automat der kritischen Ressource N-mal, dass die Leseoperation aus dem Register L1 von der Schreiboperation zum Register L1 unter Verwendung des korrekten Werts vref = TN,t(vN(t, L1)) gefolgt wird.
  • Im Vergleich zu den in 2 und 3 angegebenen Sequenzen wird eine höhere Zuverlässigkeit bei der Erkennung einer Verletzung der Integrität bereitgestellt. Man beachte, dass sich diese Zuverlässigkeit erhöht, je größer N ist.
  • 5 zeigt ein weiteres beispielhaftes Sequenzdiagramm, welches Sperr- oder Entsperrsequenzen darstellt, die Zugriff auf mehr als ein Register erfordern. In diesem Beispiel ist die kritische Ressource ausgelegt, um die Steuerbarkeit einer Abhängigkeit vom Überprüfungsergebnis des Antwortwerts einer Sequenz von Abfragewerten zu unterwerfen, wobei die kritische Ressource die Mehrzahl von Registern umfasst und ausgelegt ist, um die Sequenz von Abfragewerten aus verschiedenen der Mehrzahl von Registern zu lesen.
  • Die in 5 gezeigten Sequenzen umfassen das Übertragen eines Abfragewerts x = vx(t, L1), welcher aus einem Register Lx einer Mehrzahl von Registern der kritischen Ressource gelesen wird, zur Verarbeitungseinheit (siehe 1). Der aus dem Register Lx gelesene Wert ist nun ein Sequenzwert oder Zufallswert vx(t, L1). Die Verarbeitungseinheit wendet wiederum eine Transformation T1,t auf den Abfragewert x1 = vx(t, Lx) an, um das Ergebnis der Formel y1 = T1,t(x1) zu erhalten, wobei das Ergebnis y1 als Antwortwert definiert ist. Nach Ausführung dieser Transformation überträgt die Verarbeitungseinheit den Antwortwert y1 zurück zur kritischen Ressource. Insbesondere wird der Antwortwert y1 zum Register Ly zurückgeschrieben, welches sich vom Register Lx unterscheidet, um als Abfragewert für eine nächste Übertragung zur Verarbeitungseinheit zu dienen. Nach dem Schreiben von y1 zum Register Ly überprüft die kritische Ressource diesen Antwortwert y1 auf Korrektheit, so dass ein Überprüfungsergebnis erhalten wird, und unterwirft die Steuerbarkeit einer Abhängigkeit vom Überprüfungsergebnis. Mit anderen Worten muss die Transformation T T1,t(vx(t, Lx) berechnen und zurückschreiben.
  • Wenn y1 = T1,t(vx(t, Lx)) nicht wahr ist, wird die Sequenz gestoppt und ein Integritätsverletzungsalarm ausgegeben. Wenn y1 = T1,t(vx(t, Lx)) jedoch wahr ist, geht die Sequenz zu einer Sequenz der Übertragung des Abfragewerts x = vz(t, Lz), welcher aus dem Register Lz (welches sich von den Registern Lx und Ly unterscheidet) der kritischen Ressource gelesen wird, an die Verarbeitungseinheit weiter. Die Verarbeitungseinheit wendet wiederum eine Transformation T2,t auf den Abfragewert x2 = vz(t, Lz) an, um das Ergebnis der Formel y2 = T2,t(x2) zu erhalten, wobei das Ergebnis y2 als Antwortwert definiert ist. Nach Ausführung dieser Transformation überträgt die Verarbeitungseinheit den Antwortwert y2 zurück zur kritischen Ressource. Insbesondere wird der Antwortwert y2 zu einem nächsten Register Lw (welches sich von den Registern Lx, Ly und Lz unterscheidet) geschrieben. Nach dem Schreiben von y2 zum Register Lw überprüft die kritische Ressource diesen Antwortwert y2 auf Korrektheit, so dass ein Überprüfungsergebnis erhalten wird, und unterwirft die Steuerbarkeit einer Abhängigkeit vom Überprüfungsergebnis. Mit anderen Worten muss die Transformation T T2,t(vz(t, Lz)) berechnen und zurückschreiben.
  • Wenn y2 = T2,t(vz(t, Lz)) nicht wahr ist, wird die Sequenz gestoppt und ein Integritätsverletzungsalarm ausgegeben. Wenn y2 = T2,t(vz(t, Lz)) jedoch wahr ist, werden die obigen Sequenzen N-mal wiederholt, wobei N eine ganze Zahl ist, welche vorbestimmt ist oder von einem Operator eingestellt wird.
  • Darüber hinaus oder als Option überprüft die kritische Ressource die Sequenz der Lese- und Schreiboperationen auf Korrektheit, so dass ein Überprüfungsergebnis erhalten wird, und unterwirft die Steuerbarkeit einer Abhängigkeit vom Überprüfungsergebnis. Die kritische Ressource ist beim Unterwerfen der Steuerbarkeit einer Abhängigkeit vom Überprüfungsergebnis ausgelegt, um eine Anzahl von Zugriffen der Verarbeitungseinheit auf die kritische Ressource zu zählen, während die kritische Ressource entsperrt ist, so dass sie automatisch gesperrt wird, wenn die Anzahl der Zugriffe einen vorbestimmten Wert überschreitet. Ferner ist die kritische Ressource beim Unterwerfen der Steuerbarkeit einer Abhängigkeit vom Überprüfungsergebnis ausgelegt, um eine Zeitdauer zu messen, während die kritische Ressource entsperrt ist, so dass sie automatisch gesperrt wird, wenn die Zeitdauer einen vorbestimmten Wert überschreitet.
  • Insbesondere überprüft der endliche Automat der kritischen Ressource N-mal, dass die Leseoperation aus dem Register LN von der Schreiboperation zum Register LN unter Verwendung des korrekten Werts v = TN,t(vv(t, Lv)) gefolgt wird.
  • Zusammengefasst ist die kritische Ressource ausgelegt, dass sie die Steuerbarkeit einer Abhängigkeit vom Überprüfungsergebnis des Antwortwerts einer Sequenz von Abfragewerten unterwirft, wobei die kritische Ressource eine Mehrzahl von Registern umfasst und ausgelegt ist, um die Sequenz von Abfragewerten aus verschiedenen der Mehrzahl von Registern zu lesen.
  • Im Vergleich zu den in 2 bis 4 angegebenen Sequenzen wird aufgrund der Mehrzahl von Zugriffen auf mehr als ein Register eine höhere Zuverlässigkeit bei der Erkennung einer Verletzung der Integrität bereitgestellt. Man beachte, dass sich diese Zuverlässigkeit erhöht, wenn N erhöht wird.
  • Ferner ändert die kritische Ressource intermittierend den Speicherinhalt des Registers. Als Option kann dies unter Verwendung einer Zufalls- oder Pseudozufallssequenz von Werten durchgeführt werden. Als eine weitere Option ändert die Verarbeitungseinheit die Transformation sequentiell in einer deterministischen Art und Weise. Insbesondere kann ein rückgekoppeltes Schieberegister verwendet werden, um die Aufgabe einer Registerwertänderung durchzuführen.
  • Mit anderen Worten zählt die kritische Ressource beim Unterwerfen der Steuerbarkeit einer Abhängigkeit vom Überprüfungsergebnis eine Anzahl von Zugriffen der Verarbeitungseinheit auf die kritische Ressource, während die kritische Ressource entsperrt ist, so dass sie automatisch gesperrt wird, wenn die Anzahl der Zugriffe einen vorbestimmten Wert überschreitet.
  • Die kritische Ressource misst beim Unterwerfen der Steuerbarkeit einer Abhängigkeit vom Überprüfungsergebnis eine Zeitdauer, während die kritische Ressource entsperrt ist, so dass sie automatisch gesperrt wird, wenn die Zeitdauer einen vorbestimmten Wert überschreitet. Man beachte, dass die Verarbeitungseinheit die kritische Ressource steuert, so dass sie gesperrt ist im Falle, dass die kritische Ressource nicht für eine Operation des Rechensystems erforderlich ist, und entsperrt ist im Falle, dass die kritische Ressource für die Operation des Rechensystems erforderlich ist.
  • Wie oben beschrieben, kann die Sperrung gemäß den in 2 bis 4 gezeigten Sequenzdiagrammen nur für eine Operation oder eine feste Anzahl von Operationen gültig sein. Die kritische Ressource kehrt automatisch in den gesperrten oder entsperrten Zustand zurück. Für die nächste Operation muss die Ressource jedoch wieder entsperrt sein. Wenn mehr als ein Zugriff erlaubt ist, kann die kritische Ressource beispielsweise die Anzahl der Zugriffe zählen und überprüfen, ob die erlaubte Anzahl erreicht oder überschritten wurde. Im letzteren Fall wird der Zugriff verweigert.
  • Jedoch kann die Sperrung oder Entsperrung ebenfalls mit einer zeitlichen Dimension, d. h. einer Dauer, versehen sein. Als ein Beispiel kann die kritische Ressource die verstrichene Zeit zwischen Zugriffsoperationen basierend auf einer speziellen Zeitbasis messen, z. B. Zyklen und/oder ab der Entsperrung, und wenn die gemessene Zeit den Grenzwert überschreitet, dann wird die kritische Ressource wieder gesperrt.
  • 6 zeigt ein Verfahren zum Schutz eines Rechnersystems vor einer Verletzung der Integrität. Das Rechensystem umfasst eine Verarbeitungseinheit und eine kritische Ressource, wobei die kritische Ressource von der Verarbeitungseinheit steuerbar ist, so dass sie gesperrt oder entsperrt sein kann.
  • Das Verfahren umfasst einen Schritt S1 der intermittierenden Übertragung eines Abfragewerts von der kritischen Ressource an die Verarbeitungseinheit. Dieser Schritt kann die Initiierung der Übertragung des Abfragewerts an die kritische Ressource nach Empfang eines Kommentars von der Verarbeitungseinheit umfassen, welche die kritische Ressource steuert, so dass sie entsperrt wird.
  • Das Verfahren umfasst ferner einen Schritt S2 der Anwendung einer Transformation auf den Abfragewert, so dass ein Antwortwert erhalten wird. Ferner ist ein Schritt S3 zum Senden des Antwortwerts von der Verarbeitungseinheit zurück zur kritischen Ressource umfasst. Das Verfahren umfasst den nachfolgenden Schritt S4 zur Überprüfung des Antwortwerts auf Korrektheit, so dass ein Überprüfungsergebnis erhalten wird. Als Option werden das Lesen des Abfragewerts aus dem Register und das Zurückschreiben des Antwortwerts an das Register durchgeführt, so dass er als ein Abfragewert für eine nächste Übertragung an die Verarbeitungseinheit dienen kann. Das Verfahren umfasst ferner den Schritt S5 des Unterwerfens der Steuerbarkeit der kritischen Ressource einer Abhängigkeit vom Überprüfungsergebnis.
  • Darüber hinaus kann das Verfahren einen Schritt des Unterwerfens der Steuerbarkeit einer Abhängigkeit vom Überprüfungsergebnis des Antwortwerts einer Sequenz von Abfragewerten und Lesen der Sequenz von Abfragewerten aus verschiedenen der Mehrzahl von Registern umfassen.
  • Eine beispielhafte Sequenz ist ein Datenstrom oder eine Sequenz von Signalen, welcher bzw. welche ein Computerprogramm zur Durchführung des hierin beschriebenen Verfahrens repräsentiert. Der Datenstrom oder die Sequenz von Signalen kann beispielsweise so ausgelegt sein, dass er bzw. sie über eine Datenkommunikationsverbindung übertragen wird.
  • Im Allgemeinen können Ausführungsformen der vorliegenden Erfindung als ein Computerprogrammprodukt mit einem Programmcode implementiert werden, wobei der Programmcode zur Durchführung des Verfahrens ausgelegt ist, wenn das Computerprogrammprodukt auf einer Verarbeitungseinheit ausgeführt wird. Der Programmcode kann beispielsweise auf einem nicht-transitorischen computerlesbaren Speichermedium gespeichert sein.
  • Insbesondere kann das hierin beschriebene Verfahren von einem Rechensystem umfassend ein nicht-transitorisches computerlesbares Speichermedium ausgeführt werden, welches Programmanweisungen speichert, die, wenn sie vom Rechensystem ausgeführt werden, das Rechensystem vor einer Verletzung der Integrität schützt. Das Rechensystem umfasst eine Verarbeitungseinheit und eine kritische Ressource, wobei die kritische Ressource von der Verarbeitungseinheit steuerbar ist, so dass sie gesperrt oder entsperrt sein kann.
  • Die Programmanweisungen umfassen einen ersten Programmcode zum Veranlassen, dass das Rechensystem eine Verarbeitung der intermittierenden Übertragung eines Abfragewerts von der kritischen Ressource an die Verarbeitungseinheit ausführt. Ferner umfasst ist ein zweiter Programmcode zum Veranlassen, dass das Rechensystem eine Verarbeitung der Anwendung einer Transformation auf den Abfragewert ausführt, so dass ein Antwortwert erhalten wird. Ferner umfasst ist ein dritter Programmcode zum Veranlassen, dass das Rechensystem eine Verarbeitung des Sendens des Antwortwerts von der Verarbeitungseinheit zurück zur kritischen Ressource ausführt.
  • Ferner umfasst ist ein vierter Programmcode zum Veranlassen, dass das Rechensystem eine Verarbeitung der Überprüfung des Antwortwerts auf Korrektheit ausführt, so dass ein Überprüfungsergebnis erhalten wird. Ferner umfasst ist ein fünfter Programmcode zum Veranlassen, dass das Rechensystem eine Verarbeitung des Unterwerfens der Steuerbarkeit der kritischen Ressource einer Abhängigkeit vom Überprüfungsergebnis ausführt.
  • Weitere Ausführungsformen umfassen einen integrierten Chip mit einer zentralen Verarbeitungseinheit und einer kryptographischen peripheren Vorrichtung, wobei die kryptographische periphere Vorrichtung von der zentralen Verarbeitungseinheit steuerbar ist, so dass sie gesperrt oder entsperrt sein kann. Die kryptographische periphere Vorrichtung ist ausgelegt, um einen Abfragewert intermittierend an die zentrale Verarbeitungseinheit zu übertragen, die zentrale Verarbeitungseinheit ist ausgelegt, um eine Transformation auf den Abfragewert anzuwenden, so dass ein Antwortwert erhalten wird und der Antwortwert zurück an die kryptographische periphere Vorrichtung gesendet wird.
  • Ferner ist die kryptographische periphere Vorrichtung ausgelegt, um den Antwortwert auf Korrektheit zu überprüfen, so dass ein Überprüfungsergebnis erhalten wird, und um die Steuerbarkeit einer Abhängigkeit vom Überprüfungsergebnis zu unterwerfen. Die zentrale Verarbeitungseinheit ist ausgelegt, um die kryptographische periphere Vorrichtung zu steuern, so dass sie gesperrt ist, wenn die kryptographische periphere Vorrichtung nicht von einem Programm benötigt wird, welches auf der zentralen Verarbeitungseinheit ausgeführt wird, und entsperrt ist, wenn die kryptographische periphere Vorrichtung vom Programm benötigt wird, welches auf der zentralen Verarbeitungseinheit ausgeführt wird.
  • Obwohl einige Aspekte im Zusammenhang mit einer Vorrichtung beschrieben wurden, ist es klar, dass diese Aspekte ebenfalls eine Beschreibung des entsprechenden Verfahrens repräsentieren, wobei ein Block oder eine Vorrichtung einem Verfahrensschritt oder einem Merkmal eines Verfahrensschritts entspricht. In analoger Weise repräsentieren im Zusammenhang mit einem Verfahrensschritt beschriebene Aspekte ebenfalls eine Beschreibung eines entsprechenden Blocks oder Elements oder Merkmals einer entsprechenden Vorrichtung.
  • Die oben beschriebenen Ausführungsformen veranschaulichen lediglich die Prinzipien der vorliegenden Erfindung. Es versteht sich, dass Modifikationen und Variationen der hierin beschriebenen Auslegungen und Details für andere Fachleute auf diesem Gebiet offensichtlich sein werden. Es ist daher die Absicht, nur durch den Schutzbereich der bevorstehenden Patentansprüche und nicht durch die spezifischen Details, welche hierin mittels Beschreibung und Erklärung der Ausführungsformen präsentiert werden, eingeschränkt zu sein.

Claims (22)

  1. Rechensystem, welches ausgelegt ist, um vor einer Verletzung der Integrität zu schützen, das Rechensystem umfassend eine Verarbeitungseinheit und eine kritische Ressource, wobei die kritische Ressource von der Verarbeitungseinheit steuerbar ist, so dass sie gesperrt oder entsperrt sein kann, wobei die kritische Ressource ausgelegt ist, um einen Abfragewert intermittierend an die Verarbeitungseinheit zu übertragen, wobei die Verarbeitungseinheit ausgelegt ist, um eine Transformation auf den Abfragewert anzuwenden, um einen Antwortwert zu erhalten und den Antwortwert zurück an die kritische Ressource zu senden, und die kritische Ressource ausgelegt ist, um den Antwortwert auf Korrektheit zu überprüfen, um so ein Überprüfungsergebnis zu erhalten und die Steuerbarkeit einer Abhängigkeit vom Überprüfungsergebnis zu unterwerfen.
  2. Rechensystem nach Anspruch 1, wobei die kritische Ressource ausgelegt ist, um die Übertragung des Abfragewerts an die kritische Ressource nach Empfang eines Befehls von der Verarbeitungseinheit zu initiieren, welche die kritische Ressource steuert, so dass sie entsperrt wird.
  3. Rechensystem nach Anspruch 1 oder 2, wobei die kritische Ressource ausgelegt ist, um die Steuerbarkeit einer Abhängigkeit vom Überprüfungsergebnis des Antwortwerts einer Sequenz von Abfragewerten zu unterwerfen.
  4. Rechensystem nach einem der Ansprüche 1 bis 3, wobei die kritische Ressource ausgelegt ist, um die Steuerbarkeit einer Abhängigkeit vom Überprüfungsergebnis des Antwortwerts einer Sequenz von Abfragewerten zu unterwerfen, wobei die kritische Ressource eine Mehrzahl von Registern umfasst und ausgelegt ist, um die Sequenz von Abfragewerten aus verschiedenen der Mehrzahl von Registern zu lesen.
  5. Rechensystem nach einem der Ansprüche 1 bis 4, wobei die kritische Ressource ein Register umfasst, wobei die kritische Ressource ausgelegt ist, um den Abfragewert aus dem Register zu lesen und den Antwortwert zum Register zurückzuschreiben, um als Abfragewert für eine nächste Übertragung an die Verarbeitungseinheit zu dienen.
  6. Rechensystem nach Anspruch 5, wobei die kritische Ressource ausgelegt ist, um die Steuerbarkeit einer Abhängigkeit vom Überprüfungsergebnis des Antwortwerts einer Sequenz von Abfragewerten zu unterwerfen.
  7. Rechensystem nach Anspruch 5 oder 6, wobei die kritische Ressource ausgelegt ist, um einen Speicherinhalt des Registers intermittierend zu ändern.
  8. Rechensystem nach einem der Ansprüche 5 bis 7, wobei die kritische Ressource ausgelegt ist, um einen Speicherinhalt des Registers unter Verwendung einer Zufalls- oder Pseudozufallssequenz von Werten intermittierend zu ändern.
  9. Rechensystem nach einem der Ansprüche 1 bis 8, wobei die Verarbeitungseinheit ausgelegt ist, um die Transformation sequentiell in einer deterministischen Art und Weise zu ändern.
  10. Rechensystem nach einem der Ansprüche 1 bis 9, wobei die kritische Ressource beim Unterwerfen der Steuerbarkeit einer Abhängigkeit vom Überprüfungsergebnis ausgelegt ist, um eine Anzahl von Zugriffen der Verarbeitungseinheit auf die kritische Ressource zu zählen, während die kritische Ressource entsperrt ist, so dass sie automatisch gesperrt wird, wenn die Anzahl der Zugriffe einen vorbestimmten Wert überschreitet.
  11. Rechensystem nach einem der Ansprüche 1 bis 9, wobei die kritische Ressource beim Unterwerfen der Steuerbarkeit einer Abhängigkeit vom Überprüfungsergebnis ausgelegt ist, um eine Zeitdauer zu messen, während die kritische Ressource entsperrt ist, so dass sie automatisch gesperrt wird, wenn die Zeitdauer einen vorbestimmten Wert überschreitet.
  12. Rechensystem nach einem der Ansprüche 1 bis 11, wobei die Verarbeitungseinheit ausgelegt ist, um die kritische Ressource zu steuern, so dass sie gesperrt ist im Falle, dass die kritische Ressource nicht für eine Operation des Rechensystems erforderlich ist, und entsperrt ist im Falle, dass die kritische Ressource für die Operation des Rechensystems erforderlich ist.
  13. Verfahren zum Schutz eines Rechensystems vor einer Verletzung der Integrität, wobei das Rechensystem eine Verarbeitungseinheit und eine kritische Ressource umfasst, wobei die kritische Ressource von der Verarbeitungseinheit steuerbar ist, so dass sie gesperrt oder entsperrt sein kann, wobei das Verfahren umfasst: intermittierendes Übertragen eines Abfragewerts von der kritischen Ressource an die Verarbeitungseinheit; Anwenden einer Transformation auf den Abfragewert, so dass ein Antwortwert erhalten wird; Zurücksenden des Antwortwerts von der Verarbeitungseinheit an die kritische Ressource; Überprüfen des Antwortwerts auf Korrektheit, so dass ein Überprüfungsergebnis erhalten wird; und Unterwerfen der Steuerbarkeit der kritischen Ressource einer Abhängigkeit vom Überprüfungsergebnis.
  14. Verfahren nach Anspruch 13, umfassend: Initiieren der Übertragung des Abfragewerts an die kritische Ressource nach Empfang eines Befehls von der Verarbeitungseinheit, welche die kritische Ressource steuert, so dass sie entsperrt wird.
  15. Verfahren nach Anspruch 13 oder 14, umfassend: Unterwerfen der Steuerbarkeit einer Abhängigkeit vom Überprüfungsergebnis des Antwortwerts einer Sequenz von Abfragewerten.
  16. Verfahren nach einem der Ansprüche 13 bis 15, wobei die kritische Ressource eine Mehrzahl von Registern umfasst, wobei das Verfahren umfasst: Unterwerfen der Steuerbarkeit einer Abhängigkeit vom Überprüfungsergebnis des Antwortwerts einer Sequenz von Abfragewerten; und Lesen der Sequenz von Abfragewerten von verschiedenen der Mehrzahl von Registern.
  17. Verfahren nach einem der Ansprüche 13 bis 15, wobei die kritische Ressource ein Register umfasst, wobei das Verfahren umfasst: Lesen des Abfragewerts aus dem Register und Zurückschreiben des Antwortwerts an das Register, so dass er als Abfragewert für eine nächste Übertragung an die Verarbeitungseinheit dient.
  18. Verfahren nach einem der Ansprüche 13 bis 15, umfassend: Unterwerfen der Steuerbarkeit einer Abhängigkeit vom Überprüfungsergebnis des Antwortwerts einer Sequenz von Abfragewerten.
  19. Verfahren nach Anspruch 13, wobei das Unterwerfen der Steuerbarkeit einer Abhängigkeit vom Überprüfungsergebnis die Zählung einer Anzahl von Zugriffen der Verarbeitungseinheit auf die kritische Ressource umfasst, während die kritische Ressource entsperrt ist, so dass sie automatisch gesperrt wird, wenn die Anzahl der Zugriffe einen vorbestimmten Wert überschreitet.
  20. Verfahren nach einem der Ansprüche 13 bis 18, wobei das Unterwerfen der Steuerbarkeit einer Abhängigkeit vom Überprüfungsergebnis die Messung einer Zeitdauer umfasst, während die kritische Ressource entsperrt ist, so dass sie automatisch gesperrt wird, wenn die Zeitdauer einen vorbestimmten Wert überschreitet.
  21. Nicht-transitorisches computerlesbares Speichermedium, welches Programmanweisungen speichert, die, wenn sie von einem Rechensystem ausgeführt werden, das Rechensystem vor einer Verletzung der Integrität schützen, wobei das Rechensystem eine Verarbeitungseinheit und eine kritische Ressource umfasst, wobei die kritische Ressource von der Verarbeitungseinheit steuerbar ist, so dass sie gesperrt oder entsperrt sein kann, die Programmanweisungen umfassend: ersten Programmcode zum Veranlassen, dass das Rechensystem eine Verarbeitung der intermittierenden Übertragung eines Abfragewerts von der kritischen Ressource an die Verarbeitungseinheit ausführt; zweiten Programmcode zum Veranlassen, dass das Rechensystem eine Verarbeitung der Anwendung einer Transformation auf den Abfragewert ausführt, so dass ein Antwortwert erhalten wird; dritten Programmcode zum Veranlassen, dass das Rechensystem eine Verarbeitung des Zurücksendens des Antwortwerts von der Verarbeitungseinheit zur kritischen Ressource ausführt; vierten Programmcode zum Veranlassen, dass das Rechensystem eine Verarbeitung der Überprüfung des Antwortwerts auf Korrektheit ausführt, so dass ein Überprüfungsergebnis erhalten wird; und fünften Programmcode zum Veranlassen, dass das Rechensystem eine Verarbeitung des Unterwerfens der Steuerbarkeit der kritischen Ressource einer Abhängigkeit vom Überprüfungsergebnis ausführt.
  22. Integrierter Chip mit einer zentralen Verarbeitungseinheit und einer kryptographischen peripheren Vorrichtung, wobei die kryptographische periphere Vorrichtung von der zentralen Verarbeitungseinheit steuerbar ist, so dass sie gesperrt oder entsperrt sein kann, wobei die kryptographische periphere Vorrichtung ausgelegt ist, um einen Abfragewert intermittierend an die zentrale Verarbeitungseinheit zu übertragen, wobei die zentrale Verarbeitungseinheit ausgelegt ist, um eine Transformation auf den Abfragewert anzuwenden, um einen Antwortwert zu erhalten und den Antwortwert zurück an die kryptographische periphere Vorrichtung zu senden, und die kryptographische periphere Vorrichtung ausgelegt ist, um den Antwortwert auf Korrektheit zu überprüfen, um so ein Überprüfungsergebnis zu erhalten und die Steuerbarkeit einer Abhängigkeit vom Überprüfungsergebnis zu unterwerfen, wobei die zentrale Verarbeitungseinheit ausgelegt ist, um die kryptographische periphere Vorrichtung zu steuern, so dass sie gesperrt ist, wenn die kryptographische periphere Vorrichtung nicht von einem Programm benötigt wird, welches auf der zentralen Verarbeitungseinheit ausgeführt wird, und entsperrt ist, wenn die kryptographische periphere Vorrichtung vom Programm benötigt wird, welches auf der zentralen Verarbeitungseinheit ausgeführt wird.
DE102014219450.4A 2013-09-30 2014-09-25 Rechensystem Pending DE102014219450A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/040,840 2013-09-30
US14/040,840 US9195857B2 (en) 2013-09-30 2013-09-30 Computational system

Publications (1)

Publication Number Publication Date
DE102014219450A1 true DE102014219450A1 (de) 2015-04-02

Family

ID=52673386

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102014219450.4A Pending DE102014219450A1 (de) 2013-09-30 2014-09-25 Rechensystem

Country Status (2)

Country Link
US (1) US9195857B2 (de)
DE (1) DE102014219450A1 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3964959A1 (de) * 2020-09-03 2022-03-09 ARM Limited Datenverarbeitung

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6377691B1 (en) * 1996-12-09 2002-04-23 Microsoft Corporation Challenge-response authentication and key exchange for a connectionless security protocol
US6154819A (en) * 1998-05-11 2000-11-28 Intel Corporation Apparatus and method using volatile lock and lock-down registers and for protecting memory blocks
US7174457B1 (en) * 1999-03-10 2007-02-06 Microsoft Corporation System and method for authenticating an operating system to a central processing unit, providing the CPU/OS with secure storage, and authenticating the CPU/OS to a third party
DE60105368T2 (de) * 2000-10-13 2005-09-22 Matsushita Electric Industrial Co., Ltd., Kadoma Kontaktlose Chipkarte, Antwortverfahren und entsprechendes Programm
US20030145216A1 (en) * 2002-01-25 2003-07-31 Matsushita Elec. Ind. Co., Ltd. Semiconductor integrated circuit and data carrier with said integrated circuit
US20040225881A1 (en) * 2002-12-02 2004-11-11 Walmsley Simon Robert Variant keys
WO2005001647A2 (en) * 2003-06-23 2005-01-06 Concord Communications, Inc. Time skew correction in data time stamping
US20050005093A1 (en) * 2003-07-01 2005-01-06 Andrew Bartels Methods, systems and devices for securing supervisory control and data acquisition (SCADA) communications
US20080109889A1 (en) * 2003-07-01 2008-05-08 Andrew Bartels Methods, systems and devices for securing supervisory control and data acquisition (SCADA) communications
JP4483271B2 (ja) * 2003-11-19 2010-06-16 ソニー株式会社 無線通信装置,無線通信装置の応答データ処理方法
US7721321B2 (en) * 2004-12-04 2010-05-18 Schweitzer Engineering Laboratories, Inc. Method and apparatus for reducing communication system downtime when configuring a cryptographic system of the communication system
JP4578485B2 (ja) * 2005-01-05 2010-11-10 富士通株式会社 携帯情報処理装置を用いた情報処理端末における認証システム
JP4622951B2 (ja) * 2006-07-26 2011-02-02 ソニー株式会社 通信システムおよび通信方法、情報処理装置および方法、デバイス、プログラム、並びに記録媒体
JP5342649B2 (ja) * 2008-11-24 2013-11-13 サーティコム コーポレーション ハードウェアベースセキュリティのためのシステムおよび方法
US8949941B2 (en) * 2010-11-18 2015-02-03 The Boeing Company Geothentication based on network ranging

Also Published As

Publication number Publication date
US20150095660A1 (en) 2015-04-02
US9195857B2 (en) 2015-11-24

Similar Documents

Publication Publication Date Title
DE2615861C3 (de) Schaltungsanordnung zur Prüfung von Programmen
DE69635868T2 (de) Verfahren und vorrichtung zum kryptographisch gesteuerten betrieb eines zusatzgeräts
DE60209589T2 (de) Elektronisches Gerät und Verfahren für Fehlerbeseitigungsberechtigung
DE3048365C2 (de)
DE69533312T2 (de) Geschütztes speichersystem und verfahren dafür
EP1099197B1 (de) Vorrichtung zum liefern von ausgangsdaten als reaktion auf eingangsdaten und verfahren zum überprüfen der authentizität und verfahren zum verschlüsselten übertragen von informationen
WO2008116647A1 (de) Transponder mit zugriffsschutz und verfahren zum zugriff auf den transponder
DE102015112143B4 (de) Ein Verfahren zum Bestimmen einer Integrität einer Ausführung eines Codefragments und ein Verfahren zum Bereitstellen einer abstrahierten Repräsentation eines Programmcodes
DE60013424T2 (de) Datenverarbeitungsvorrichtung und integrierter Schaltkreis
DE102007045776A1 (de) Verfahren zum Schutz mindestens von Teilen von auf mindestens einem Server und/oder in mindestens einer Datenbank abgelegten, einem durch ein RFID-Tag identifizierten Produkt zugeordnete Produktdaten vor unberechtigtem Zugriff
DE102016210788B4 (de) Komponente zur Verarbeitung eines schützenswerten Datums und Verfahren zur Umsetzung einer Sicherheitsfunktion zum Schutz eines schützenswerten Datums in einer solchen Komponente
DE102014208838A1 (de) Verfahren zum Betreiben eines Steuergeräts
EP1158384A1 (de) Sicherheits-Datenverarbeitungseinheit sowie dazugehöriges Verfahren
EP2111586B1 (de) Ein-chip-computer und tachograph
EP0280035B1 (de) Verfahren zum Sichern von Programmen und zur Integritätskontrolle gesicherter Programme
EP3314339B1 (de) Verfahren, server, firewall, steuergerät, und system zur programmierung eines steuergeräts eines fahrzeugs
DE19626972A1 (de) Verfahren und Vorrichtung zur vorläufigen Freigabe für die Anwendung eines von einer elektronischen Kassette geschützten Programms
DE102007041370B4 (de) Chipkarte, elektronisches Gerät, Verfahren zur Herstellung einer Chipkarte und Verfahren zur Inbenutzungnahme einer Chipkarte
DE112018002723T5 (de) System, verfahren und vorrichtung zur verschleierung von vorrichtungsoperationen
DE102014219450A1 (de) Rechensystem
DE112014004611T5 (de) Steuersystem und Authentifikationsvorrichtung
DE102013101709A1 (de) Schaltkreis-Anordnung, Verfahren zum Bilden einer Schaltkreis-Anordnung und Verfahren zum Prüfen der Integrität
DE102013108073B4 (de) Datenverarbeitungsanordnung und verfahren zur datenverarbeitung
EP1355269B1 (de) Datenverarbeitungsvorrichtung und Verfahren zum Betreiben eines Datenverarbeitungsmoduls
DE602004001293T2 (de) Programmintegritätsprüfung mittels Statistiken

Legal Events

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