DE102019110440A1 - Replay-Schutz für Speicher auf der Basis eines Schlüsselauffrischens - Google Patents

Replay-Schutz für Speicher auf der Basis eines Schlüsselauffrischens Download PDF

Info

Publication number
DE102019110440A1
DE102019110440A1 DE102019110440.8A DE102019110440A DE102019110440A1 DE 102019110440 A1 DE102019110440 A1 DE 102019110440A1 DE 102019110440 A DE102019110440 A DE 102019110440A DE 102019110440 A1 DE102019110440 A1 DE 102019110440A1
Authority
DE
Germany
Prior art keywords
encryption
data
key
circuitry
memory
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
DE102019110440.8A
Other languages
English (en)
Inventor
Karanvir Grewal
David Durham
Rajat Agarwal
Sergej Deutsch
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of DE102019110440A1 publication Critical patent/DE102019110440A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1466Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/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/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • 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
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/121Timestamp
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/062Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party

Landscapes

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

Abstract

Die vorliegende Offenbarung betrifft Systeme und Verfahren zum Bereitstellen von Schutz vor Replay-Attacken auf Speicher durch Auffrischen oder Aktualisieren von Verschlüsselungsschlüsseln. Das offenbarte replay-geschützte Datenverarbeitungssystem Verschlüsselungsauffrischen von Speicher verwenden, so dass nicht autorisierte Kopien von Daten für eine begrenzte Zeitdauer (z.B. 500 Millisekunden oder weniger) benutzbar sind. Das replay-geschützte Datenverarbeitungssystem verschlüsselt anfänglich geschützte Daten vor Speicherung im Speicher. Nach einer vorbestimmten Zeit oder nachdem eine Anzahl von Speicherzugriffen stattgefunden haben, entschlüsselt das replay-geschützte Datenverarbeitungssystem die Daten mit dem existierenden Schlüssel und verschlüsselt die Daten neu mit einem neuen Schlüssel. Nicht autorisierte Kopien von Daten (wie etwa die durch ein Widersachersystem/-programm erstellten) werden nicht mit nachfolgenden neuen Schlüsseln aufgefrischt. Wenn ein Widersacherprogramm versucht, die nicht autorisierten Kopien von Daten zu benutzen, werden die nicht autorisierten Kopien von Daten mit den falschen Schlüsseln entschlüsselt, wodurch die entschlüsselten Daten unverständlich werden.

Description

  • TECHNISCHES GEBIET
  • Die vorliegende Offenbarung betrifft die Datenverarbeitungssystemsicherheit und insbesondere Schutz vor Speicher-Replay-Attacken.
  • STAND DER TECHNIK
  • Eine Replay-Attacke (die auch als Playback-Attacke bekannt ist) ist eine Form von Cybersicherheitsattacke, die gültige Benutzerinformationen verwendet, um unbefugte Operationen auszuführen. Zu Replay-Attacken gehören Man-in-the-Middle-Attacken und Speicher-Replay-Attacken. Um eine Man-in-the-Middle-Attacke durchzuführen, kann ein Widersacher Netzwerkdaten abfangen und die Daten neu senden, um sich für einen autorisierten Benutzer auszugeben, um Zugang zu Benutzerinformationen zu erhalten. Um eine Speicher-Replay-Attacke durchzuführen, kann ein Widersacher ein Programm einsetzen, das Speicherstellen liest, um zum Beispiel Authentifizierungs-Berechtigungsnachweise (z.B. einen Benutzernamen und ein Passwort) zu erhalten. Das Programm des Widersachers legt die Authentifizierungs-Berechtigungsnachweise dann einem oder mehreren anderen Programmen vor, um dem Programm als autorisierter Benutzer zu erscheinen. Selbst wenn die Authentifizierungs-Berechtigungsnachweise unter Verwendung traditioneller Techniken verschlüsselt werden, kann der Widersacher die Daten in ihrer verschlüsselten Form vorlegen und erfolgreich unbefugten Zugang zu Programmen oder Informationen erhalten. Ein Widersacher kann auch einen alten Wert einer Variable in einem Opfersystem wieder abspielen, um den Ausführungsfluss umzulenken, um unbefugten Zugang zu vertraulichen Daten zu erhalten oder sogar die Kontrolle über das gesamte System zu gewinnen. Obwohl Widersacher ein Programm verwenden können, um Kopien von Speicher zu erhalten, um Replay-Attacken durchzuführen, können Widersacher Replay-Attacken auch durch physisches Verbinden mit einem Opfersystem durchführen, um Daten zu kopieren und wieder abzuspielen.
  • Figurenliste
  • Merkmale und Vorteile verschiedener Ausführungsformen des beanspruchten Gegenstands werden im Verlauf der folgenden ausführlichen Beschreibung und bei Bezugnahme auf die ersichtlich, wobei gleiche Bezugszahlen gleiche Teile bezeichnen. Es zeigen:
    • 1 eine Blockdarstellung einer Datenverarbeitungsumgebung, die ein replay-geschütztes Datenverarbeitungssystem gemäß mindestens einer hier beschriebenen Ausführungsform umfasst;
    • 2A eine Blockdarstellung eines Systems zum Schutz vor Replay-Attacken gemäß mindestens einer hier beschriebenen Ausführungsform;
    • 2B eine Blockdarstellung eines Systems zum Schutz vor Replay-Attacken gemäß mindestens einer hier beschriebenen Ausführungsform;
    • 3 eine Blockdarstellung eines Verschlüsselungs-Auffrischsystems zum Aktualisieren eines Verschlüsselungsschlüssels gemäß mindestens einer hier beschriebenen Ausführungsform;
    • 4 ein Flussdiagramm eines beispielhaften Verfahrens zum Schutz von Daten vor Replay-Attacken gemäß mindestens einer hier beschriebenen Ausführungsform;
    • 5 ein Flussdiagramm eines beispielhaften Verfahrens zum Schutz von Daten vor Replay-Attacken gemäß mindestens einer hier beschriebenen Ausführungsform; und
    • 6 eine schematische Darstellung einer beispielhaften elektronischen prozessorgestützten Vorrichtung, die Prozessorschaltkreise umfasst, die Verschlüsselungsschaltkreise zum Schutz vor Replay-Attacken umfassen, gemäß mindestens einer hier beschriebenen Ausführungsform.
  • Obwohl die folgende ausführliche Beschreibung unter Bezugnahme auf beispielhafte Ausführungsformen fortfährt, werden für Fachleute viele Alternativen, Modifikationen und Varianten dieser ersichtlich sein.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Es werden Systeme und Verfahren offenbart, die Schutz vor Replay-Attacken auf Speicher durch Auffrischen oder Aktualisieren von Verschlüsselungsschlüsseln bereitstellen. Eine Speicher-Replay-Attacke wird durchgeführt, indem ein Schnappschuss eines Teils eines Speichers (z.B. Hauptspeicher) zu einem Zeitpunkt aufgenommen wird und diese Speicherstelle zu einem späteren Zeitpunkt, nachdem ein Programm den Speicherinhalt geändert hat, mit dem erfassten (alten) Inhalt überschrieben wird. Selbst wenn Speicherdaten verschlüsselt sind und Integrität geschützt wird, ist ein Replay von altem Inhalt immer noch möglich. Replay-Attacken können verwendet werden, um Zugriff auf Finanzdaten, persönlich identifizierbare Informationen (PII) oder andere geheime oder wertvolle Informationen zu erhalten. Replay-Attacken können auch verwendet werden, um Operationen eines Programms umzulenken, Sicherheit zu deaktivieren (z.B. die Angabe der Existenz von Malware zu deaktivieren), unbefugte Finanztransaktionen durchzuführen, die Kontrolle eines Datenverarbeitungssystems zu übernehmen oder andere Operationen auszuführen, die von einer bestimmten Menge von Datenwerten autorisiert werden oder darauf basieren.
  • Das offenbarte replay-geschützte Datenverarbeitungssystem kann mindestens drei Techniken verwenden, um die Wahrscheinlichkeit erfolgreicher Replay-Attacken zu verringern. Das replay-geschützte Datenverarbeitungssystem kann die Verschlüsselung verschlüsselter Daten (z.B. zweimal verschlüsselter Daten) periodisch auffrischen, kann die Verschlüsselung von Integritätsprüfwerten periodisch auffrischen oder kann die Verschlüsselung an anderweitig im Klartext befindlichen Daten (z.B. einzelverschlüsselten Daten) periodisch auffrischen. Die periodisch aufgefrischte Verschlüsselung von Daten oder von Integritätsprüfwerten verringert das Gelegenheitsfenster für einen Widersacher zum erfolgreichen Durchführen einer Replay-Attacke.
  • Unbefugte Kopien von Daten (wie etwa die durch ein Widersachersystem/-programm erstellten) werden nicht mit nachfolgenden neuen Schlüsseln aufgefrischt. Wenn ein Widersacher oder Widersacherprogramm versucht, die unbefugten Kopien von Daten zu verwenden, werden die unbefugten Kopien von Daten mit den falschen Schlüsseln entschlüsselt, wodurch die entschlüsselten Daten unverständlich werden.
  • Um die Verschlüsselungs-Auffrischoperationen auszuführen, können die replay-geschützten Systeme erste Verschlüsselungsschaltkreise, zweite Verschlüsselungsschaltkreise und Integritätsprüfschaltkreise umfassen. Die zweiten Verschlüsselungsschaltkreise können dafür ausgelegt sein, die kryptographischen Auffrischoperationen auszuführen. Die zweiten Verschlüsselungsschaltkreise können dafür ausgelegt sein, die kryptographischen Auffrischoperationen an Daten oder an Integritätsprüfwerten oder beidem auszuführen. Die Integritätsprüfwerte werden durch die Integritätsprüfschaltkreise berechnet und werden unter Verwendung eines domänenspezifischen Integritätsschlüssels über Klartextdaten oder Chiffretextdaten berechnet. Wenn unbefugte oder unerwartete Änderungen an den Daten im Speicher vorgenommen werden, fallen die Integritätsprüfwerte bei Integritätsprüfungen durch und geben potentielle Verfälschung des Speichers an. Bei einer Ausführungsform stellen Integritätsprüfwerte weniger als 10% des belegten Speichers dar, und die zweiten Verschlüsselungsschaltkreise führen Verschlüsselungs-Auffrischoperationen an den Integritätsprüfwerten aus, statt an den im Speicher gespeicherten Daten, um das Verschlüsselungs-Auffrischoperationen zugeordnete Overhead zu reduzieren. Diese und andere Ausführungsformen werden in 1-6 offenbart und in der nachfolgenden Beschreibung.
  • 1 ist eine Blockdarstellung einer Datenverarbeitungsumgebung 100, die dafür ausgelegt ist, die Wahrscheinlichkeit erfolgreicher Replay-Attacken auf Datenverarbeitungssysteme zu verringern, gemäß mindestens einer hier beschriebenen Ausführungsform. Anders ausgedrückt verwendet die Datenverarbeitungsumgebung 100 Techniken (z.B. Verfahren und Systeme), die eine technologische Lösung eines Problems/einer Anfälligkeit der Cybersicherheit sind, das bzw. die beim Betrieb herkömmlicher Zentralverarbeitungseinheiten (CPU) und Datenverarbeitungssysteme besteht. Folglich stellt die vorliegende Offenbarung Ausführungsformen spezifischer Verbesserungen der Computerfunktionalität bereit. Die Datenverarbeitungsumgebung 100 umfasst einen Widersacher 102, der mittels eines oder mehrerer Netzwerke 106 oder mittels einer oder mehrerer physischer Verbindungen 107 (z.B. Speicher-Interposer) kommunikativ mit einem replay-geschützten Datenverarbeitungssystem 104 gekoppelt ist, gemäß einer Ausführungsform. 1 zeigt ein Beispiel für eine erfolglose Replay-Attacke durch das Widersacher-Datenverarbeitungssystem 102 gegen das replay-geschützte Datenverarbeitungssystem 104 gemäß einer Ausführungsform.
  • Der Widersacher 102 kann ein Datenverarbeitungssystem sein, das ein Programm B aufweist, das ein Softwareprogramm ist, das an das replay-geschützte Datenverarbeitungssystem 104 abgeliefert, darauf installiert und/oder durch dieses ausgeführt werden kann. Wenn es durch das replay-geschützte Datenverarbeitungssystem 104 ausgeführt wird, versucht das Programm B, eine unbefugte Kopie (zum Beispiel) eines Passworts aus dem Speicherraum von Programm A zu verwenden, um Zugang zu (zum Beispiel) Finanzdaten zu erhalten, die durch das Programm C verwaltet werden. Das replay-geschützte Datenverarbeitungssystem 104 schützt das Passwort und andere Daten von Programm A vor der Replay-Attacke durch periodische Auffrischen der Verschlüsselungsschlüssel von Teilen des Speichers mit neuen Verschlüsselungsschlüsseln, so dass die unbefugte Kopie eines Passworts während der Verwendung der unbefugten Kopie (z.B. einer veralteten oder nicht aufgefrischten Kopie) des Passworts durch das Programm B falsch entschlüsselt wird. Obwohl das Beispiel der Replay-Attacke als unter Verwendung eines Programms B durchgeführt gezeigt ist, kann der Widersacher 102 vielfältige Techniken verwenden, um Speicher zu kopieren, zu speichern und später zu überschreiben, um eine Speicher-Replay-Attacke durchzuführen. Zum Beispiel kann der Widersacher 102 die physischen Verbindungen 107, wie etwa Speicher-Interposer oder -Sonden, verwenden, um Daten aus Speicherstellen im Cache- oder Hauptspeicher zu lesen und die Speicherstellen zu einem späteren Zeitpunkt mit der Kopie der Daten zu überschreiben.
  • Um Schutz vor einer Replay-Attacke bereitzustellen, umfasst das replay-geschützte Datenverarbeitungssystem 104 Prozessorkerne 108, optionale Verschlüsselungsschaltkreise 110 und optional Integritätsprüfschaltkreise 111 und Speicherraum 112, der flüchtig oder nichtflüchtig ist, der mindestens teilweise replay-geschützt ist, gemäß einer Ausführungsform.
  • Die Prozessorkern 108 und die Verschlüsselungsschaltkreise 110 können eine beliebige Anzahl und/oder Kombination von aktuell verfügbaren und/oder zukünftig entwickelten Einzel- oder Mehrkern-Zentralverarbeitungseinheiten umfassen. Bei Ausführungsformen können die Prozessorkerne 108 und die Verschlüsselungsschaltkreise 110 einen Vielzweckprozessor umfassen, wie etwa einen Mikroprozessor des Typs Core® i3, i5, i7, 2 Duo und Quad, Xeon®, Itanium®, Atom® oder Quark®, erhältlich von Intel® (Intel Corporation in SANTA CLARA, CA). Als Alternative können die Prozessorkerne 108 und die Verschlüsselungsschaltkreise 110 einen oder mehrere Prozessoren von einem anderen Hersteller oder Lieferanten umfassen, wie etwa Advanced Micro Devices (AMD®, Inc.), ARM Holdings® Ltd, MIPS®, usw. Die Prozessorkerne 108 und die Verschlüsselungsschaltkreise 110 können einen Spezialprozessor umfassen, wie zum Beispiel einen Netzwerk- oder Kommunikationsprozessor, eine Komprimierungsengine, einen Grafikprozessor, einen Coprozessor, einen eingebetteten Prozessor oder dergleichen. Die Prozessorkerne 108 und die Verschlüsselungsschaltkreise 110 können als eine einzige Halbleiterkapselung oder als Kombination von gestapelten oder anderweitig verbundenen Halbleiterkapselungen und/oder -Chips implementiert werden. Die Prozessorkerne 108 und die Verschlüsselungsschaltkreise 110 können Teil eines oder mehrerer Substrate, die eine beliebige Anzahl von Prozesstechnologien verwenden, wie zum Beispiel BiCMOS, CMOS oder NMOS, sein und/oder darauf implementiert sein.
  • Die Verschlüsselungsschaltkreise 110 können dafür ausgelegt sein, in dem Speicherraum 112 gespeicherte Daten zu verschlüsseln und zu entschlüsseln, um Replay-Attackenschutz für das replay-geschützte Datenverarbeitungssystem 104 bereitzustellen. Die Verschlüsselungsschaltkreise 110 können in Verbindung mit den Integritätsprüfschaltkreisen 111 verwendet werden, um Replay-Attackendetektion bereitzustellen. Zum Beispiel können die Verschlüsselungsschaltkreise 110 dafür ausgelegt sein, die Verschlüsselung von Daten oder Integritätsprüfwerten zu verschlüsseln und periodisch aufzufrischen, und die Integritätsprüfschaltkreise 111 können dafür ausgelegt sein, Integritätsprüfwerte 119 zu erzeugen und Verfälschung von Daten zu detektieren. Die Verschlüsselungsschaltkreise 110 können gemäß einer Ausführungsform einen Verschlüsselungsalgorithmus 114 auf Daten 115 gemäß einer Verschlüsselungs-Auffrischrichtlinie 116 anwenden. Die Verschlüsselungsschaltkreise 110 sind gemäß einer Ausführungsform dafür ausgelegt, die Daten 115 von den Prozessorkernen 108 zu empfangen, die Daten 115 zu verschlüsseln und eine verschlüsselte Version der Daten 115 in dem Speicherraum 112 zu speichern. Gemäß einer Ausführungsform sind die Verschlüsselungsschaltkreise 110 dafür ausgelegt, die Daten 115 aus dem Speicherraum 112 zu empfangen, die Daten 115 zu entschlüsseln und die entschlüsselte Version der Daten 115 den Prozessorkernen 108 bereitzustellen. Die Verschlüsselungsschaltkreise 110 sind gemäß einer Ausführungsform ausgelegt zum kryptographischen Auffrischen der Daten 115 durch Lesen der Daten 115 aus dem Speicherraum 112; teilweises Entschlüsseln der Daten 115, Neuverschlüsseln der Daten 115 und Schreiben der neuverschlüsselten Daten 115 zurück in den Speicherraum 112 entweder periodisch oder auf der Basis einer Anzahl von Speicherzugriffen, um mindestens einen Teil des Speicherraums 112 vor Replay-Attacken zu schützen.
  • Die Verschlüsselungsschaltkreise 110 können dafür ausgelegt sein, einen oder mehrere von vielfältigen Verschlüsselungsalgorithmen 114 auf die Daten 115 anzuwenden. Gemäß verschiedenen Ausführungsformen kann der Verschlüsselungsalgorithmus 114, aber ohne Beschränkung darauf, AES, RSA, Dreifach-DES, Blowfish, Twofish und dergleichen umfassen. Die Verschlüsselungsalgorithmen 114 können mit Verwendung der Integritätsprüfgüte 119 zur Detektion von Speicherverfälschung kombiniert werden, zusätzlich zu der Verhinderung von Replay-Attacken. Der Verschlüsselungsalgorithmus 114 kann einen ersten Verschlüsselungsalgorithmus und einen zweiten Verschlüsselungsalgorithmus repräsentieren. Bei einer Ausführungsform wenden die Verschlüsselungsschaltkreise 110 auf der Basis einer ersten Domäne, einer ersten Eigenschaft, eines ersten Zwecks oder einer ersten Verwendung für die Daten 115 einen ersten Verschlüsselungsalgorithmus auf die Daten 115 an. Die erste Domäne, die erste Eigenschaft, der erste Zweck oder die erste Verwendung für die Daten 115 wäre zum Beispiel, aber ohne Beschränkung darauf, eine Art von Programm, dem die Daten zugeordnet sind; ob die Daten einem vertrauenswürdigen Programm zugeordnet sind oder nicht; ob die Daten einem Betriebssystem, Virtuellmaschinenmanager oder einer virtuellen Maschine zugeordnet sind; welche Speicheradressen die Daten belegen; usw. Gemäß einer Ausführungsform sind der erste Verschlüsselungsalgorithmus und die erste Domäne, die erste Eigenschaft, der erste Zweck oder die erste Verwendung für die Daten 115 eine Implementierung von MKTME (Multi-Key Total Memory Encryption), entwickelt von der Intel Corporation, Santa Clara, Kalifornien. Die Verschlüsselungsoperationen des ersten Verschlüsselungsalgorithmus und von MKTME können die „Intel Architecture Memory Encryption Technologies Specification“, Revision 1.1 vom Dezember 2017 einhalten oder damit kompatibel sein. Nach dem Anwenden des ersten Verschlüsselungsalgorithmus können die Verschlüsselungsschaltkreise 110 dafür ausgelegt sein, auf der Basis einer zweiten Domäne, einer zweiten Eigenschaft, eines zweiten Zwecks oder einer zweiten Verwendung für die Daten 115 einen zweiten Verschlüsselungsalgorithmus auf die Daten 115 anzuwenden. Die zweite Domäne, die zweite Eigenschaft, der zweite Zwecke oder die zweite Verwendung für die Daten 115 wäre zum Beispiel, aber ohne Beschränkung darauf, eine Zeitdauer (z.B. 500 Millisekunden oder weniger als 10 Sekunden), eine Anzahl von Speicherzugriffen (z.B. 5 Milliarden Zugriffe auf den Speicherraum 112) oder eine Kombination einer Zeitdauer und einer Anzahl von Speicherzugriffen. Somit können die Verschlüsselungsschaltkreise 110 dafür ausgelegt sein, für eine erste Domäne einen ersten Verschlüsselungsalgorithmus auf die Daten 115 anzuwenden, und dafür ausgelegt sein, für eine zweite Domäne einen zweiten Verschlüsselungsalgorithmus auf die Daten 115 anzuwenden. Durch Anwenden eines zweiten Verschlüsselungsalgorithmus auf die Daten 115 und periodisches Auffrischen der Verschlüsselung (z.B. auf der Basis von Zeit und/oder Speicherzugriffen) können die Verschlüsselungsschaltkreise 110 gemäß einer Ausführungsform erfolgreiche Replay-Attacken (durch abgestandene oder alte Kopien von Daten) von in dem Speicherraum 112 gespeicherten Daten verhindern oder deren Wahrscheinlichkeit verringern.
  • Die Verschlüsselungsschaltkreise 110 können dafür ausgelegt sein, den Verschlüsselungsalgorithmus 114 gemäß der Verschlüsselungsauffrischrichtlinie 116 auf die Daten 115 anzuwenden. Die Verschlüsselungs-Auffrischrichtlinie 116 kann Eigenschaften oder Kriterien definieren, mittels derer die Verschlüsselungsschaltkreise 110 die Daten 115 verschlüsseln und/oder entschlüsseln, um Replay-Attackenschutz bereitzustellen. Die Verschlüsselungsauffrischrichtlinie 116 kann gemäß einer Ausführungsform die erste Domäne der Verschlüsselung, die zweite Domäne der Verschlüsselung oder sowohl die erste Domäne der Verschlüsselung als auch die zweite Domäne der Verschlüsselung definieren. Gemäß einer Ausführungsform definiert die Verschlüsselungsauffrischrichtlinie 116 die zweite Domäne der Verschlüsselung als Auffrischung der Verschlüsselung mindestens eines Teils des Speicherraums 112 auf der Basis einer vergangenen Zeitdauer (z.B. weniger als 1000 Millisekunden, alle 500 Millisekunden usw.), eine Anzahl von Speicherzugriffen, die aufgetreten sind, oder einer Kombination der Zeitdauer und Anzahl von Speicherzugriffen enthaltend.
  • Ausführungsform der Replay-Schutztechniken umfassen Doppelverschlüsselung mit verschiedenen Schlüsseln. Der Replay-Schutz erlaubt verringerte Rundenverschlüsselung (Diffusion) mit einem Auffrischungsschlüssel, da er nur in einem kurzen Zeitfenster arbeiten muss, bevor ein Schlüsselauffrischen geschieht, um so einem Widersacher zu wenig Zeit dafür zu geben, sie zu durchbrechen (obwohl Vollrundenverschlüsselung auch verwendet werden kann). Der Auffrischungsschlüssel operiert zuletzt an einem Speicher und zuerst an einer Last, was Patrouillen-Scrubbing zusammen mit Schlüsselauffrischung erlaubt, ohne dass der domänenweise Schlüssel bekannt sein muss.
  • Replay-Schutz kann mit Integrität zum Detektieren von Replay-Versuchen arbeiten, aber selbst Verschlüsselung alleine kann Replay der tatsächlichen Daten verhindern, da die Daten durch einen Replay-Versuch verfälscht werden (so das er immer noch Replay verhindert, möglicherweise ohne die resultierende Verfälschung zu detektieren).
  • 1 enthält ein veranschaulichendes Beispiel auf hoher Ebene dafür, wie die Verschlüsselungsschaltkreise 110 Replay-Attackenschutz für das replay-geschützte Datenverarbeitungssystem 104 bereitstellen können. Der Widersacher 102 kann ein Programm B umfassen, das dafür ausgelegt ist, einen oder mehrere nicht autorisierte Teile des Speicherraums 112 zu lesen. Das Widersacher-Datenverarbeitungssystem 102 kann das Programm B auf das replay-geschützte Datenverarbeitungssystem 104 anwenden, indem es zum Beispiel das Programm B in den Speicherraum 112 herunterlädt, wenn ein Benutzer des replay-geschützten Datenverarbeitungssystems 104 einen Internet-Hyperlink zu einer bösartigen Website anklickt.
  • In Operation 120 führt das Programm B eine unbefugte Kopieoperation zu einem Zeitpunkt t1 eines kryptographisch aufgefrischten Passworts 122 aus. Das kryptographisch aufgefrischte Passwort 122 befindet sich in einem Teil des Speicherraums 112, der mit Verschlüsselungsschlüsseln verschlüsselt ist, die gemäß der Verschlüsselungsauffrischrichtlinie 116 (z.B. auf der Basis einer Zeitdauer und/oder auf der Basis einer Anzahl von Speicherzugriffen) periodisch durch den Verschlüsselungsalgorithmus 114 aufgefrischt werden. Die Verschlüsselungsschaltkreise 110 und der Verschlüsselungsalgorithmus 114 stellen zeitlichen Schutz für das kryptographisch aufgefrischte Passwort 122 bereit, so dass Kopien des Passworts und anderer Daten in dem Speicherraum 112 für kurze Zeitdauern korrekt durch die Verschlüsselungsschaltkreise 110 entschlüsselt werden können, bis kryptographische Auffrischungen die Verschlüsselungsschlüssel ändern.
  • Die nichtautorisierte Kopie kann zur Kopie des Passworts zum Zeitpunkt t1 126 führen. Der Widersacher 102 kann eine verschlüsselte Kopie des Passworts zum Zeitpunkt t1 126 an einer Anzahl von Orten speichern. Die verschlüsselte Kopie des Passworts zum Zeitpunkt t1 126 kann im Cache, im Hauptspeicher, an einer oder mehreren externen Speicherstellen und dergleichen gespeichert werden.
  • In Operation 123 führt der Widersacher 102 (z.B. unter Verwendung des Programms B) zum Zeitpunkt t2 ein Speicherüberschreiben durch. Das Speicherüberschreiben kopiert die verschlüsselte Kopie des Passworts bei t1 126 über die Speicherstelle, die durch das kryptographisch aufgefrischte Passwort 122 eingenommen wurde. Der Zeitpunkt t2 kommt einige Zeit nach dem Zeitpunkt t1. Der Zeitpunkt t1 ist der Zeitpunkt des Kopierens des kryptographisch aufgefrischten Passworts 122.
  • In Operation 124 führt das Speicherüberschreiben zu einem Replay-Attackenversuch. Die Replay-Attacke ist ein Versuch, die Kopie des Passworts zum Zeitpunkt t1 126 auf eine Authentifizierungsroutine 128 eines Programms C anzuwenden, um Zugang zu Finanzdaten 130 zu erhalten. Die Authentifizierungsroutine 128 nimmt einen Teil des Speicherraums 112 ein, der dem Programm C zugeordnet oder zugewiesen ist. Da die verschlüsselte Kopie des Passworts zum Zeitpunkt t1 126 kopiert und nicht durch den Verschlüsselungsalgorithmus 114 aufgefrischt wird, führt ein Versuch durch das Programm B oder das Programm C, die Kopie des Passworts zum Zeitpunkt t1 126 zu verwenden, zu einer nicht erkennbaren Repräsentation des kryptographisch aufgefrischten Passworts 122.
  • In Operation 132 verweigert das Programm C Zugriff auf die Finanzdaten 130 für das Programm B.
  • In diesem vereinfachten Beispiel für eine fehlgeschlagene Replay-Attacke wird ein Passwort als Beispiel für Daten verwendet, die kopiert und zum Überschreiben von Speicherstellen verwendet werden können, um eine Replay-Attacke durchzuführen. Obwohl das Beispiel von Passwortdaten ein Beispiel für Daten ist, die für eine Replay-Attacke verwendet werden, können viele andere Arten von Daten verwendet werden. Zusätzliche Beispiele für Daten, die für eine Replay-Attacke verwendet werden können, wären, aber ohne Beschränkung darauf, ein einzelnes Bit von Daten zur Prüfung auf Malware, System-Authentifizierungsdaten, Web-gestützte Authentifizierungsdaten, Daten, die einen Dollarbetrag, einen Geoort, PII, Gesundheitsversorgungsinformationen, Devisen, Geschäftstransaktionen, Kommunikationsnachrichten, Steuerprotokolle und dergleichen repräsentieren. Außerdem kann wie oben beschrieben der Widersacher 102 ein Datenverarbeitungssystem sein, das durch ein oder mehrere Netzwerke 106 mit dem replay-geschützten Datenverarbeitungssystem 104 gekoppelt sein kann, und/oder der Widersacher 102 kann eine Person sein, die eine oder mehrere physische Verbindungen 107 verwendet, um Daten in Speicher zu kopieren und zu überschreiben, um die Replay-Attacke durchzuführen.
  • 2A und 2B zeigen zusätzliche beispielhafte Ausführungsformen von replay-geschützten Datenverarbeitungssystemen im Einklang mit Ausführungsformen der vorliegenden Offenbarung.
  • 2A zeigt eine beispielhafte Ausführungsform eines replay-geschützten Datenverarbeitungssystems 200 im Einklang mit Ausführungsformen der vorliegenden Offenbarung. Das replay-geschützte Datenverarbeitungssystem 200 kann Daten 202 durch Verschlüsseln und Entschlüsseln der Daten 202 zwischen den Prozessorkernen 108 und den Speicherschaltkreisen 204 schützen. Das replay-geschützte Datenverarbeitungssystem 200 ist eine beispielhafte Implementierung des (in 1 gezeigten) replay-geschützten Datenverarbeitungssystems 104 gemäß einer Ausführungsform. Das replay-geschützte Datenverarbeitungssystem 200 kann gemäß einer Ausführungsform eine Replay-Attacke auf die Speicherschaltkreise 204 verhindern oder die Wahrscheinlichkeit dieser verringern, indem die Daten 202 gemäß einer ersten Verschlüsselungsrichtlinie mit einem ersten Verschlüsselungsalgorithmus verschlüsselt werden und indem die Daten 202 gemäß einer zweiten Verschlüsselungsrichtlinie mit einem zweiten Verschlüsselungsalgorithmus verschlüsselt werden. Um die Daten 202 vor einer Replay-Attacke zu schützen, umfasst das replay-geschützte Datenverarbeitungssystem 200 gemäß einer Ausführungsform erste Verschlüsselungsschaltkreise 206, zweite Verschlüsselungsschaltkreise 208 und Integritätsprüfschaltkreise 210.
  • Das replay-geschützte Datenverarbeitungssystem 200 kann mit den ersten Verschlüsselungsschaltkreisen 206 die Daten 202 gemäß einer ersten Verschlüsselungsrichtlinie verschlüsseln. Die ersten Verschlüsselungsschaltkreise 206 können die Daten 202 und einen ersten Schlüssel 212 auf einen ersten Verschlüsselungsalgorithmus 214 anwenden, um gemäß einer Ausführungsform erste verschlüsselte Daten 216 zu erzeugen. Gemäß einer Ausführungsform können die ersten Verschlüsselungsschaltkreise 206 die ersten verschlüsselten Daten 216 und einen ersten Schlüssel 212 auf einen ersten Entschlüsselungsalgorithmus 218 anwenden, um den Verschlüsselungsprozess umzukehren und die Daten 202 wiederherzustellen. Der erste Verschlüsselungsalgorithmus 214 und der erste Entschlüsselungsalgorithmus 218 können derselbe Verschlüsselungsalgorithmus sein. Gemäß verschiedenen Ausführungsformen wären der erste Verschlüsselungsalgorithmus 214 und der erste Entschlüsselungsalgorithmus 218 zum Beispiel, aber ohne Beschränkung darauf, AES, AES-XTS, RSA, Dreifach-DES, Blowfish, Twofish und dergleichen.
  • Gemäß einer Ausführungsform können die ersten Verschlüsselungsschaltkreise 206 eine Schlüssel-ID 220 und eine Schlüsseltabelle 222 verwenden, um den ersten Schlüssel 212 zu identifizieren. Die Schlüssel-ID 220 kann durch die ersten Verschlüsselungsschaltkreise 206 durch Analysieren einer Speicheradresse für die Daten 202 identifiziert werden. Insbesondere kann die Schlüssel-ID 220 durch ein oder mehrere Bit einer Speicheradresse für die Daten 202 repräsentiert werden. Bei einer Ausführungsform kann die Schlüssel-ID 220 durch ein oder mehrere höchstwertige Bit (z.B. die drei höchstwertigen Bit) der Speicheradresse für die Daten 202 definiert werden. Bei einer anderen Ausführungsform kann die Schlüssel-ID 220 den Daten 202 auf eine gewisse Außerbandweise zugeordnet sein. Die ersten Verschlüsselungsschaltkreise 206 können gemäß einer Ausführungsform die Schlüssel-ID 220 auf die Schlüsseltabelle 222 anwenden, um den ersten Schlüssel 212 zu identifizieren (oder um irgendeinen Schlüssel zu identifizieren, der zum Verschlüsseln der Daten 202 zu verwenden ist). Die Schlüsseltabelle 222 umfasst gemäß einer Ausführungsform eine Anzahl von Schlüssel-IDs (z.B. Schlüssel-ID1, Schlüssel-ID2, ... Schlüssel-IDm), die jeweils einem entsprechenden Verschlüsselungsschlüssel (z.B. Schlüssel A, Schlüssel B, ... Schlüssel n) zugeordnet sind. Die Schlüssel-IDs können anderen Schlüsseln neu zugewiesen werden, oder es können verschiedene Schlüssel spezifischen Schlüssel-IDs zugewiesen werden.
  • Gemäß einer Ausführungsform können die ersten Verschlüsselungsschaltkreise 206 den ersten Schlüssel 212 unter Verwendung einer oder mehrerer Techniken (außer der Schlüssel-ID 220 und der Schlüsseltabelle 222) gemäß in einer ersten Verschlüsselungsrichtlinie 224 enthaltenen Definitionen auswählen. Die erste Verschlüsselungsrichtlinie 224 kann eine erste Domäne, eine erste Eigenschaft, einen ersten Zweck oder eine erste Verwendung für die Daten 202 umfassen, wie zum Beispiel, aber ohne Beschränkung darauf, eine Art von Programm, dem die Daten zugeordnet sind; ob die Daten einem vertrauenswürdigen Programm zugeordnet sind oder nicht; ob die Daten einem Betriebssystem, Virtuellmaschinenmanager, einer virtuellen Maschine zugeordnet sind oder nicht; und welche Speicheradressen die Daten einnehmen. Anders ausgedrückt können als vereinfachtes Beispiel für eine potentielle erste Domäne, wenn die Daten 202 einem Betriebssystem zugeordnet sind, die Daten 202 mit Schlüssel A verschlüsselt werden, aber wenn die Daten 202 Nicht-Verwaltungsprogrammen zugeordnet sind, können die Daten mit einem Schlüssel B verschlüsselt werden.
  • Gemäß einer Ausführungsform können die ersten Verschlüsselungsschaltkreise 206 eine Implementierung von MKTME (Multi-Key Total Memory Encryption), entwickelt von der Intel Corporation, Santa Clara, Kalifornien, umfassen. Die ersten Verschlüsselungsschaltkreise 206 können die „Intel Architecture Memory Encryption Technologies Specification“, Revision 1.1 vom Dezember 2017 einhalten oder damit kompatibel sein.
  • Das replay-geschützte Datenverarbeitungssystem 200 kann die zweiten Verschlüsselungsschaltkreise 208 verwenden, um die Daten 202 ein zweites Mal zu verschlüsseln, indem die ersten verschlüsselten Daten 216 gemäß einer zweiten Verschlüsselungsrichtlinie verschlüsselt werden. Gemäß einer Ausführungsform kann das replay-geschützte Datenverarbeitungssystem 200 eine Replay-Attacke auf die Speicherschaltkreise 204 verhindern oder deren Wahrscheinlichkeit verringern, indem die Daten 202 gemäß einer ersten Verschlüsselungsrichtlinie 224 mit dem ersten Verschlüsselungsalgorithmus 214 verschlüsselt werden und indem die ersten verschlüsselten Daten 216 mit einem zweiten Verschlüsselungsalgorithmus 228 verschlüsselt werden.
  • Gemäß einer Ausführungsform können die zweiten Verschlüsselungsschaltkreise 208 die ersten verschlüsselten Daten 216 und einen zweiten Schlüssel 226 auf einen zweiten Verschlüsselungsalgorithmus 228 anwenden, um zweite verschlüsselte Daten 230 zu erzeugen. Die zweiten Verschlüsselungsschaltkreise 208 können die zweiten verschlüsselten Daten 230 und den zweiten Schlüssel 226 auf einen zweiten Entschlüsselungsalgorithmus 232 anwenden, um die ersten verschlüsselten Daten 216 wiederherzustellen. Der zweite Verschlüsselungsalgorithmus 228 und der zweite Entschlüsselungsalgorithmus 232 können derselbe Verschlüsselungsalgorithmus sein. Gemäß verschiedenen Ausführungsformen wären der zweite Verschlüsselungsalgorithmus 228 und der zweite Entschlüsselungsalgorithmus 232 zum Beispiel, aber ohne Beschränkung darauf, AES, AES-XTS, RSA, Dreifach-DES, Blowfish, Twofish und dergleichen.
  • Die zweiten Verschlüsselungsschaltkreise 208 können einen zweiten Schlüsselerzeugungsalgorithmus 234 umfassen und verwenden, um den zweiten Schlüssel 226 zu erzeugen und/oder zu bestimmen. Gemäß einer Ausführungsform kann der zweite Schlüsselerzeugungsalgorithmus 234 ein Pseudozufalls-Schlüsselgenerator sein, der auf einem oder mehreren Hardware-, Software- oder anderweitigen internen Verschlüsselungs-Seeds (z.B. Sekunden Zeit) basieren kann.
  • Die zweiten Verschlüsselungsschaltkreise 208 können gemäß einer Ausführungsform den zweiten Schlüssel 226 auf der Basis einer zweiten Verschlüsselungsrichtlinie 236 unter Verwendung des zweiten Schlüsselerzeugungsalgorithmus 234 selektiv erzeugen. Die zweite Verschlüsselungsrichtlinie 236 kann eine Implementierung der (in 1 gezeigten) Verschlüsselungsauffrischrichtlinie 116 sein. Die zweite Verschlüsselungsrichtlinie 236 schützt die Daten 202 und die ersten verschlüsselten Daten 216 gemäß einer Ausführungsform vor einer Replay-Attacke durch Ändern des zweiten Schlüssels 226 gemäß einer begrenzten Zeitdauer oder gemäß einer vorbestimmten Anzahl von Speicherzugriffen der Speicherschaltkreise 204. Obwohl der erste Verschlüsselungsalgorithmus 214 die Daten 202 davor schützen kann, in Klartext entschlüsselt zu werden, kann eine Replay-Attacke die ersten verschlüsselten Daten 216 in ihrer verschlüsselten Form benutzen, um Zugang zu Programmen oder Daten (z.B. den Finanzdaten 130 des Programms 10) zu erhalten. Durch schnelles Ändern des Werts des zweiten Schlüssels 226 (z.B. alle 500 Millisekunden, alle 1000 Speicherzugriffe) wird eine zweimal verschlüsselte Kopie von Daten in den Speicherschaltkreisen 204 mit der falschen Version des zweiten Schlüssels 226 entschlüsselt, wenn ein Widersacher versucht, eine abgestandene (z.B. nicht aufgefrischte) Version von Daten zu verwenden.
  • Die zweiten verschlüsselten Daten 230 werden gemäß einer Ausführungsform in den Speicherschaltkreisen 204 gespeichert. Die zweiten verschlüsselten Daten 230 können gemäß einer Ausführungsform durch die zweiten Verschlüsselungsschaltkreise 208 in die Speicherschaltkreise 204 geschrieben werden. Gemäß einer Implementierung können die zweiten Verschlüsselungsschaltkreise 208 in Speichercontrollerschaltkreisen eines oder mehrerer Speichercontroller des replay-geschützten Datenverarbeitungssystems 200 enthalten sein. Die Speicherschaltkreise 204 können auch Integritätsprüfwerte 238 speichern, mit denen verifiziert werden kann, dass die zweiten verschlüsselten Daten 230 nicht manipuliert oder anderweitig geändert wurden.
  • Um zu identifizieren, wann in den Speicherschaltkreisen 204 gespeicherte Informationen verfälscht wurden oder anderweitig eine nicht autorisierte Änderung erfahren haben, verwendet das replay-geschützte Datenverarbeitungssystem 200 die Integritätsprüfschaltkreise 210 zum Erzeugen und Validieren der Integritätsprüfwerte 238 gemäß einer Ausführungsform unter Verwendung eines getrennten Integritätsschlüssels. Gemäß einer Ausführungsform umfassen die Integritätsprüfschaltkreise 210 einen Integritätsprüfalgorithmus 242, der die Integritätsprüfwerte 238 erzeugt. Die Integritätsprüfschaltkreise 210 können die Daten 202, die ersten verschlüsselten Daten 216 und eine Speicheradresse 240 für die Daten 202 dem Integritätsprüfalgorithmus 242 bereitstellen, um die Integritätsprüfwerte 238 zu erzeugen.
  • 2B zeigt ein Beispiel für ein replay-geschütztes Datenverarbeitungssystem 250, das dafür ausgelegt ist, einen zweiten Verschlüsselungsalgorithmus auf Integritätsprüfwerte anzuwenden, um eine erfolgreiche Replay-Attacke durch einen Widersacher zu verhindern oder ihre Wahrscheinlichkeit zu verringern, im Einklang mit Ausführungsformen der vorliegenden Offenbarung.
  • Das replay-geschützte Datenverarbeitungssystem 250 umfasst zweite Verschlüsselungsschaltkreise 252, die gemäß einer Ausführungsform dafür ausgelegt sind, die mit den ersten verschlüsselten Daten 216 in den Speicherschaltkreisen 204 zu speichernden verschlüsselten Integritätsprüfwerte 254 zu erzeugen. Die zweiten Verschlüsselungsschaltkreise 252 wenden die Integritätsprüfwerte 238 und den zweiten Schlüssel 226 auf den zweiten Verschlüsselungsalgorithmus 228 an, um die verschlüsselten Integritätsprüfwerte 254 zu erzeugen. Ein Vorteil des Verschlüsselns der Integritätsprüfwerte 238 besteht darin, dass weniger Quantitäten von Informationen durch die zweiten Verschlüsselungsschaltkreise 252 verschlüsselt werden müssten, während die offenbarten Vorteile gegenüber Replay-Attacken weiterhin bereitgestellt werden.
  • 3 zeigt ein Verschlüsselungsauffrischsystem 300 zum Aktualisieren eines Verschlüsselungsschlüssels mit Quantitäten von Zeit oder Operationen, wodurch es schwierig oder sehr unwahrscheinlich würde, dass eine Replay-Attacke erfolgreich ist, im Einklang mit Ausführungsformen der Offenbarung. Das Verschlüsselungsauffrischsystem 300 kann zweite Verschlüsselungsschaltkreise 302 umfassen, die dafür ausgelegt sind, die Verschlüsselung der in den Speicherschaltkreisen 304 gespeicherten Daten aufzufrischen oder zu aktualisieren, um erfolgreiche Replay-Attacken zu verhindern oder ihre Wahrscheinlichkeit zu reduzieren.
  • Die Speicherschaltkreise 304 speichern gemäß einer Ausführungsform kryptographisch aufgefrischte Daten 306. Die kryptographisch aufgefrischten Daten 306 können mit neuem Schlüssel verschlüsselte Daten 308 und mit existierendem Schlüssel verschlüsselte Daten 310 umfassen. Die mit neuem Schlüssel verschlüsselten Daten 308 repräsentieren gemäß einer Ausführungsform Daten, die mit einem aktualisierten oder neuen Verschlüsselungsschlüssel aktualisiert oder aufgefrischt wurden, und die mit existierendem Schlüssel verschlüsselten Daten 310 repräsentieren Daten, die zuvor verschlüsselt wurden, zum Beispiel vor dem Ablauf von durch die Verschlüsselungsauffrischrichtlinie 116 definierten Kriterien.
  • Die zweiten Verschlüsselungsschaltkreise 302 können den zweiten Verschlüsselungsalgorithmus 228, den zweiten Entschlüsselungsalgorithmus 232, einen existierenden Schlüssel 312 und einen neuen Schlüssel 314 umfassen. Die zweiten Verschlüsselungsschaltkreise 302 können eine Implementierung der zweiten Verschlüsselungsschaltkreise 208 oder 252 sein. Die zweiten Verschlüsselungsschaltkreise 302 können die mit existierendem Schlüssel verschlüsselten Daten 310 unter Verwendung des existierenden Schlüssels 312 und des zweiten Entschlüsselungsalgorithmus 232 entschlüsseln. Nach dem Entschlüsseln der mit existierendem Schlüssel verschlüsselten Daten 310 können die zweiten Verschlüsselungsschaltkreise 302 die entschlüsselten Daten unter Verwendung des zweiten Verschlüsselungsalgorithmus 228 mit dem neuen Schlüssel 314 erneut verschlüsseln. Die zweiten Verschlüsselungsschaltkreise 302 können die Neuverschlüsselungsoperationen unter Verwendung eines Zeigers 316 verfolgen, der Speicherstellen in den Speicherschaltkreisen 304 identifiziert, die neu verschlüsselt wurden und die nicht neu verschlüsselt wurden. Im Einklang mit Ausführungsformen der Offenbarung können die Verschlüsselungsauffrischoperationen gemäß der Verschlüsselungsauffrischrichtlinie 116 erreicht werden, um erfolgreiche Replay-Attacken auf durch die Speicherschaltkreise 304 gespeicherte Informationen zu verhindern oder ihre Wahrscheinlichkeit zu reduzieren.
  • 4 zeigt ein Verfahren 400 zum Schützen von Daten vor Replay-Attacken im Einklang mit Ausführungsformen der vorliegenden Offenbarung.
  • In Operation 402 beginnt das Verfahren 400.
  • In Operation 404 kann das Verfahren 400 Daten mit einem ersten Verschlüsselungsalgorithmus und einem ersten Schlüssel verschlüsseln, um erste verschlüsselte Daten zu erzeugen.
  • In Operation 406 kann das Verfahren 400 die ersten verschlüsselten Daten mit einem zweiten Verschlüsselungsalgorithmus und einem zweiten Schlüssel verschlüsseln, um zweite verschlüsselte Daten zu erzeugen.
  • In Operation 408 kann das Verfahren 400 die zweiten Verschlüsselungsdaten zwischen Verschlüsselungsschaltkreisen und Speicherschaltkreisen transferieren.
  • In Operation 410 endet das Verfahren 400.
  • 5 zeigt ein Verfahren zum Schützen von Daten vor Replay-Attacken im Einklang mit Ausführungsformen der vorliegenden Offenbarung.
  • In Operation 502 beginnt das Verfahren 500.
  • In Operation 504 kann das Verfahren 500 Integritätsprüfwerte für Daten durch Anwenden eines Integritätsprüfalgorithmus auf die Daten erzeugen.
  • In Operation 504 können die Integritätsprüfwerte gegebenenfalls über den zuvor unter Verwendung des ersten Verschlüsselungsschlüssels verschlüsselten Daten erzeugt werden.
  • In Operation 506 kann das Verfahren 500 die Integritätsprüfwerte durch Anwenden eines Verschlüsselungsalgorithmus und eines zweiten Verschlüsselungsschlüssels auf die Integritätsprüfwerte verschlüsseln, um verschlüsselte Integritätsprüfwerte zu erzeugen.
  • In Operation 508 kann das Verfahren 500 die verschlüsselten Integritätsprüfwerte und die Daten zu Speicherschaltkreisen transferieren.
  • In Operation 510 endet das Verfahren 500.
  • 6 ist eine schematische Darstellung einer beispielhaften elektronischen prozessorgestützten Vorrichtung 600, die Prozessorschaltkreise 602 umfasst, die Verschlüsselungsschaltkreise zum Schutz vor Replay-Attacken umfassen, gemäß mindestens einer hier beschriebenen Ausführungsform. Die prozessorgestützte Vorrichtung 600 kann zusätzlich eines oder mehrere der folgenden Elemente umfassen: eine grafische Verarbeitungseinheit 612, eine Schnittstelle 620 für drahtlose Eingabe/Ausgabe (E/A), eine verdrahtete E/A-Schnittstelle 630, Speicherschaltkreise 640, Power-Management-Schaltkreise 650, eine nichttransitorische Speicherungsvorrichtung 660 und eine Netzwerkschnittstelle 670. Die folgende Besprechung gibt eine kurze allgemeine Beschreibung der Komponenten, die die beispielhafte prozessorgestützte Vorrichtung 600 bilden. Beispielhafte nicht einschränkende prozessorgestützte Vorrichtungen 600 wären Smartphones, Wearable-Computer, tragbare Datenverarbeitungsvorrichtungen, in der Hand gehaltene Datenverarbeitungsvorrichtungen, Desktop-Datenverarbeitungsvorrichtungen, Blade-Servervorrichtungen, Workstations und ähnliches.
  • Die prozessorgestützte Vorrichtung 600 umfasst Prozessorschaltkreise 602, die gemäß einer Ausführungsform die Prozessorkerne 109, erste Verschlüsselungsschaltkreise 206 und zweite Verschlüsselungsschaltkreise 208 und/oder 252 umfasst. Bei Ausführungsformen kann die prozessorgestützte Vorrichtung 600 zusätzlich Grafikprozessorschaltkreise 612 umfassen. Bei Ausführungsformen umfasst die prozessorgestützte Vorrichtung 600 Prozessorschaltkreise 602 mit der Fähigkeit zum Ausführen von maschinenlesbaren Anweisungssätzen 614, Lesen von Daten und/oder Anweisungssätzen 614 aus einer oder mehreren Speicherungsvorrichtungen 660 und Schreiben von Daten in die eine oder mehreren Speicherungsvorrichtungen 660. Bei einigen Ausführungsformen umfasst die prozessorgestützte Vorrichtung 600 Grafikprozessorschaltkreise 612 mit der Fähigkeit zum Ausführen von maschinenlesbaren Anweisungssätzen 614 und Erzeugen eines Ausgangssignals, das eine Anzeigeausgabe für einen Systembenutzer bereitstellen kann. Für Fachleute auf dem relevanten Gebiet ist erkennbar, dass die dargestellten Ausführungsformen sowie andere Ausführungsformen mit anderen prozessorgestützten Vorrichtungskonfigurationen praktiziert werden können, darunter tragbare elektronische oder in der Hand gehaltene elektronische Vorrichtungen, zum Beispiel Smartphones, tragbare Computer, Wearable-Computer, Verbraucherelektronik, PCs („Personal Computers“), Netzwerk-PCs, Minicomputer, Server-Blades, Zentralrechner und dergleichen.
  • Die Prozessorschaltkreise 602 können eine beliebige Anzahl von festverdrahteten oder konfigurierbaren Schaltungen umfassen, von denen einige oder alle programmierbare und/oder konfigurierbare Kombinationen von elektronischen Komponenten, Halbleitervorrichtungen und/oder Logikelementen umfassen können, die teilweise oder ganz in einem PC, Server oder anderen Datenverarbeitungssystem mit der Fähigkeit zum Ausführen von maschinenlesbaren Anweisungen angeordnet sind.
  • Die prozessorgestützte Vorrichtung 600 umfasst eine Bus- oder ähnliche Kommunikationsverbindung 616, die verschiedene Systemkomponenten, darunter die Prozessorschaltkreise 602, die Grafikprozessorschaltkreise 612, eine oder mehrere drahtlose E/A-Schnittstellen 620, eine oder mehrere verdrahtete E/A-Schnittstellen 630, eine oder mehrere Speicherungsvorrichtungen 660 und/oder eine oder mehrere Netzwerkschnittstellen 670, kommunikativ miteinander koppelt und den Austausch von Informationen und/oder Daten zwischen ihnen erleichtert. Die prozessorgestützte Vorrichtung 600 kann hier im Singular erwähnt werden, was aber nicht die Ausführungsformen auf eine einzige prozessorgestützte Vorrichtung 600 beschränken soll, da bei bestimmten Ausführungsformen mehr als eine prozessorgestützte Vorrichtung 600 vorliegen kann, die eine beliebige Anzahl von kommunikativ gekoppelten, kolokalisierten oder entfernt vernetzten Schaltungen oder Vorrichtungen beinhaltet, umfasst oder enthält.
  • Die Prozessorschaltkreise 602 können eine beliebige Anzahl, Art oder Kombination von aktuell verfügbaren oder zukünftig entwickelten Vorrichtungen umfassen, die in der Lage sind, maschinenlesbare Anweisungssätze auszuführen. Die Prozessorschaltkreise 602 können, aber ohne Beschränkung darauf, einen beliebigen aktuellen oder zukünftig entwickelten Einzel- oder Mehrkanalprozessor oder Mikroprozessor umfassen, wie etwa eine oder mehrere SOCs (Systeme auf einem Chip); CPUs (Zentralverarbeitungseinheiten); DSPs (Digitalsignalprozessoren); GPUs (Grafikverarbeitungseinheiten); ASICs (anwendungsspezifische integrierte Schaltungen), programmierbare Logikeinheiten, FPGAs (Field Programmable Gate Arrays) und dergleichen. Sofern es nicht anders beschrieben wird, weist die Konstruktion und Funktionsweise der verschiedenen in 6 gezeigten Blöcke einen herkömmlichen Entwurf auf. Folglich müssen solche Blöcke hier nicht weiter ausführlich beschrieben werden, da sie von Fachleuten auf dem relevanten Gebiet verstanden werden. Der Bus 616, der mindestens einige der Komponenten der prozessorgestützten Vorrichtung 600 verbindet, kann beliebige aktuell verfügbare oder zukünftig entwickelte serielle oder parallele Busstrukturen oder Architekturen verwenden.
  • Der Systemspeicher 640 kann Festwertspeicher („ROM“) 642 und Direktzugriffsspeicher („RAM“) 646 umfassen. Ein Teil des ROM 642 kann verwendet werden, um ein BIOS („Basic Input/Output System“) 644 zu speichern oder anderweitig zu behalten. Das BIOS 644 stellt Grundfunktionalität für die prozessorgestützte Vorrichtung 600 bereit, indem zum Beispiel bewirkt wird, dass die Prozessorschaltkreise 602 eine oder mehrere maschinenlesbaren Anweisungssätze 614 laden und/oder ausführen. Bei Ausführungsformen bewirken mindestens einige der einen oder mehreren maschinenlesbaren Anweisungssätze 614, dass mindestens ein Teil der Prozessorschaltkreise 602 eine dedizierte spezifische und konkrete Maschine, zum Beispiel eine Textverarbeitungsmaschine, eine Digitalbild-Beschaffungsmaschine, eine Medien-Wiedergabemaschine, ein Spielsystem, eine Kommunikationsvorrichtung, ein Smartphone oder ähnliches bereitstellt, erzeugt, produziert, transitioniert und/oder als solche fungiert.
  • Die prozessorgestützte Vorrichtung 600 kann mindestens eine Schnittstelle 620 für drahtlose Eingabe/Ausgabe (E/A) umfassen. Die mindestens eine drahtlose E/A-Schnittstelle 620 kann kommunikativ mit einer oder mehreren physischen Ausgabevorrichtungen 622 (taktilen Vorrichtungen, Videoanzeigen, Audioausgabevorrichtungen, Druckexemplar-Ausgabevorrichtungen usw.) gekoppelt sein. Die mindestens eine drahtlose E/A-Schnittstelle 620 kann kommunikativ an eine oder mehrere physische Eingabevorrichtungen 624 (Zeigevorrichtungen, Berührungsschirme, Tastaturen, taktile Vorrichtungen usw.) angeschlossen sein. Die mindestens eine drahtlose E/A-Schnittstelle 620 kann eine beliebige aktuell verfügbare oder zukünftig entwickelte drahtlose E/A-Schnittstelle umfassen. Beispielhafte drahtlose E/A-Schnittstellen wären, aber ohne Beschränkung darauf, BLUETOOTH®, NFC (Nahfeldkommunikation) und ähnliches.
  • Die prozessorgestützte Vorrichtung 600 kann eine oder mehrere verdrahtete Schnittstellen 630 für Eingabe/Ausgabe (E/A) umfassen. Die mindestens eine verdrahtete E/A-Schnittstelle 630 kann kommunikativ mit einer oder mehreren physischen Ausgabevorrichtungen 622 (taktilen Vorrichtungen, Videoanzeigen, AudioAusgabevorrichtungen, Druckexemplar-Ausgabevorrichtungen usw.) gekoppelt sein. Die mindestens eine verdrahtete E/A-Schnittstelle 630 kann kommunikativ mit einer oder mehreren physischen Eingabevorrichtungen 624 (Zeigevorrichtungen, Berührungsschirmen, Tastaturen, taktilen Vorrichtungen usw.) gekoppelt sein. Die verdrahtete E/A-Schnittstelle 630 kann eine beliebige aktuell verfügbare oder zukünftig entwickelte E/A-Schnittstelle umfassen. Beispielhafte verdrahtete E/A-Schnittstellen wären, aber ohne Beschränkung darauf, USB (Universal Serial Bus), IEEE 1394 („FireWire“) und ähnliches.
  • Die prozessorgestützte Vorrichtung 600 kann eine oder mehrere kommunikativ gekoppelte nichttransitorische Datenspeicherungsvorrichtungen 660 umfassen. Die Datenspeicherungsvorrichtungen 660 können eine oder mehrere Festplatten (HDDs) und/oder eine oder mehrere Halbleiter-Speicherungsvorrichtungen (SSDs) umfassen. Die eine oder mehreren Datenspeicherungsvorrichtungen 660 können beliebige aktuell oder zukünftig entwickelte Speicherungsgeräte, Netzwerkspeicherungsvorrichtungen und/oder -systeme umfassen. Nichteinschränkende Beispiele für solche Datenspeicherungsvorrichtungen 660 wären, aber ohne Beschränkung darauf, beliebige aktuell oder zukünftig entwickelte nichttransitorische Speicherungsgeräte oder -vorrichtungen wie etwa eine oder mehrere magnetische Speicherungsvorrichtungen, eine oder mehrere optische Speicherungsvorrichtungen, eine oder mehrere elektroresistive Speicherungsvorrichtungen, eine oder mehrere molekulare Speicherungsvorrichtungen, eine oder mehrere Quantenspeicherungsvorrichtungen oder verschiedene Kombinationen davon. Bei einigen Implementierungen können die eine oder mehreren Datenspeicherungsvorrichtungen 660 eine oder mehrere wechselbare Speicherungsvorrichtungen umfassen, wie etwa ein oder mehrere Flash-Laufwerke, Flash-Speicher, Flash-Speicherungseinheiten oder ähnliche Geräte oder Vorrichtungen mit der Fähigkeit zum kommunikativen Koppeln mit und Entkoppeln von der prozessorgestützten Vorrichtung 600.
  • Die eine oder mehreren Datenspeicherungsvorrichtungen 660 können Schnittstellen oder Steuerungen (nicht gezeigt) umfassen, die kommunikativ die jeweilige Speicherungsvorrichtung oder das jeweilige Speicherungssystem mit dem Bus 616 koppeln. Die eine oder mehreren Datenspeicherungsvorrichtungen 660 können maschinenlesbare Anweisungssätze, Datenstrukturen, Programmmodule, Datenspeicher, Datenbasen, logische Strukturen und/oder andere Daten speichern, behalten oder anderweitig enthalten, die für die Prozessorschaltkreise 602 und/oder die Grafikprozessorschaltkreise 612 und/oder eine oder mehrere auf den Prozessorschaltkreisen 602 und/oder den Grafikprozessorschaltkreisen 612 oder durch diese ausgeführte Anwendungen nützlich sind. In einigen Fällen können eine oder mehrere Datenspeicherungsvorrichtungen 660 zum Beispiel über den Bus 616 oder über eine oder mehrere verdrahtete Kommunikationsschnittstellen 630 (z.B. USB (Universal Serial Bus)); eine oder mehrere drahtlose Kommunikationsschnittstellen 620 (z.B. Bluetooth®, Nahfeldkommunikation oder NFC) und/oder eine oder mehrere Netzwerkschnittstellen 670 (IEEE 802.3 oder Ethernet, IEEE 802.11 oder WiFi® usw.) mit dem Prozessorschaltkreisen 602 gekoppelt sein.
  • Die prozessorlesbaren Anweisungssätze 614 und andere Programme, Anwendungen, Logiksätze und/oder Module können ganz oder teilweise im Systemspeicher 640 gespeichert werden. Solche Anweisungssätze 614 können ganz oder teilweise aus der einen oder den mehreren Datenspeicherungsvorrichtungen 660 transferiert werden. Die Anweisungssätze 614 können ganz oder teilweise während der Ausführung durch die Prozessorschaltkreise 602 und/oder Grafikprozessorschaltkreise 612 im Systemspeicher 640 geladen, gespeichert oder anderweitig behalten werden. Die prozessorlesbaren Anweisungssätze 614 können maschinenlesbaren und/oder prozessorlesbaren Code, Anweisungen oder ähnliche Logik mit der Fähigkeit zum Bereitstellen der hier beschriebenen Speech-Coaching-Funktionen und -Fähigkeiten, umfassen.
  • Die prozessorgestützte Vorrichtung 600 kann Power-Management-Schaltkreise 650 umfassen, die einen oder mehrere Betriebsaspekte der Energiespeicherungsvorrichtung 652 steuern. Bei Ausführungsformen kann die Energiespeicherungsvorrichtung 652 eine oder mehrere primäre (d.h. nicht wiederaufladbare) oder sekundäre (d.h. wiederaufladbare) Batterien oder ähnliche Energiespeicherungsvorrichtungen umfassen. Bei Ausführungsformen kann die Energiespeicherungsvorrichtung 652 einen oder mehrere Superkondensatoren oder Ultrakondensatoren umfassen. Bei Ausführungsformen können die Power-Management-Schaltkreise 650 den Fluss von Energie von einer externen Energiequelle 654 zu der Energiespeicherungsvorrichtung 652 und/oder der prozessorgestützten Vorrichtung 600 ändern, justieren oder steuern. Die Energiequelle 654 wäre zum Beispiel, aber ohne Beschränkung darauf, ein Solarstromsystem, ein kommerzielles Stromnetz, ein tragbarer Generator, eine externe Energiespeicherungsvorrichtung oder eine beliebige Kombination davon.
  • Der Zweckmäßigkeit halber werden die Prozessorschaltkreise 602, die Grafikprozessorschaltkreise 612, die drahtlose E/A-Schnittstelle 620, die verdrahtete E/A-Schnittstelle 630, die Power-Management-Schaltkreise 650, die Speicherungsvorrichtung 660 und die Netzwerkschnittstelle 670 als über den Bus 616 kommunikativ miteinander gekoppelt dargestellt, um dadurch Konnektivität zwischen den oben beschriebenen Komponenten bereitzustellen. Bei alternativen Ausführungsformen können die oben beschriebenen Komponenten auf andere Weise als in 6 dargestellt kommunikativ gekoppelt sein. Zum Beispiel können eine oder mehrere der oben beschriebenen Komponenten direkt mit anderen Komponenten gekoppelt sein oder können über eine oder mehrere (nicht gezeigte) dazwischentretende Komponenten miteinander gekoppelt sein. In einem anderen Beispiel können eine oder mehrere der oben beschriebenen Komponenten in die Prozessorschaltkreise 602 und/oder die Grafikprozessorschaltkreise 612 integriert sein. Bei einigen Ausführungsformen kann der Bus 616 ganz oder teilweise weggelassen werden und die Komponenten werden direkt unter Verwendung geeigneter verdrahteter oder drahtloser Verbindungen miteinander gekoppelt.
  • Wie in der vorliegenden Anmeldung und in den Ansprüchen verwendet, kann eine Liste von Posten, die durch den Ausdruck „und/oder“ verbunden werden, eine beliebige Kombination der aufgelisteten Posten bedeuten. Zum Beispiel kann der Ausdruck „A, B und/oder C“ A, B; C; A und B; A und C; B und C; oder A, B und C bedeuten. Wie in der vorliegenden Anmeldung und in den Ansprüchen verwendet, kann eine Liste von Posten, die durch den Ausdruck „mindestens eines von“ verbunden wird, eine beliebige Kombination der aufgelisteten Posten bedeuten. Zum Beispiel können die Ausdrücke „mindestens eines von A, B oder C“ A; B; C; A und B; A und C; B und C; oder A, B und C bedeuten.
  • Wie in jeder vorliegenden Ausführungsform gebraucht, können sich die Ausdrücke „System“ oder „Modul“ zum Beispiel auf Software, Firmware und/oder Schaltkreise beziehen, die dafür ausgelegt sind, beliebige der oben erwähnten Operationen auszuführen. Software kann als Softwarepaket, Code, Anweisungen, Anweisungssätze und/oder Daten realisiert sein, die auf nichttransitorischen computerlesbaren Speicherungsmedien aufgezeichnet werden. Firmware kann als Code, Anweisungen oder Anweisungssätze und/oder Daten realisiert sein, die in Speichervorrichtungen fest codiert (z.B. nichtflüchtig) sind. Wie in einer beliebigen vorliegenden Ausführungsform gebraucht, kann der Ausdruck „Schaltkreise“ zum Beispiel einzeln oder in beliebiger Kombination festverdrahtete Schaltkreise, programmierbare Schaltkreise wie Computerprozessoren, die einen oder mehrere einzelne Anweisungsverarbeitungskerne umfassen, Automatenschaltkreise und/oder Firmware, die Anweisungen speichert, die durch programmierbare Schaltkreise ausgeführt werden, oder zukünftige Datenverarbeitungskonzepte, darunter zum Beispiel massiver Parallelismus, analoge oder Quanten-Datenverarbeitung, Hardware-Ausführungsformen von Beschleunigern wie Neuronalnetzprozessoren und Nicht-Silizium-Implementierungen von Obigem. Die Schaltkreise können zusammen oder einzeln als Schaltkreise realisiert sein, die einen Teil eines größeren Systems bilden, zum Beispiel einer integrierten Schaltung (IC), eines Systems auf einem Chip (SoC), von Desktop-Computern, Laptop-Computern, Tablet-Computern, Servern, Smartphones usw.
  • Beliebige der hier beschriebenen Operationen können in einem System implementiert werden, das ein oder mehrere Medien (z.B. nichttransitorische Speicherungsmedien) umfasst, in denen einzeln oder in Kombination Anweisungen gespeichert sind, die, wenn sie durch einen oder mehrere Prozessoren ausgeführt werden, die Verfahren ausführen. Der Prozessor kann hier zum Beispiel eine Server-CPU, eine Mobilvorrichtungs-CPU und/oder andere programmierbare Schaltkreise umfassen. Außerdem ist beabsichtigt, dass hier beschriebene Operationen über mehrere physische Vorrichtungen verteilt werden können, wie etwa Verarbeitungsstrukturen an mehr als einem unterschiedlichen physischen Ort. Das Speicherungsmedium kann eine beliebige Art von greifbarem Medium umfassen, zum Beispiel eine beliebige Art von Datenträger wie Festplatten, Disketten, optische Datenträger, CD-ROMs (Compact Disk Read-Only Memories), CD-RWs (Compact Disk Rewritables) und magnetooptische Datenträger, Halbleitervorrichtungen wie ROMs (Festwertspeicher), RAMs (Direktzugriffsspeicher) wie dynamische und statische RAMs, EPROMs (löschbare programmierbare Festwertspeicher), EEPROMs (elektrisch löschbare programmierbare Festwertspeicher), Flash-Speicher, SSDs (Solid State Disks), eMMCs (Embedded Multimedia Cards), SDIO-Karten (Secure Digital Input/Output), magnetische oder optische Karten oder eine beliebige Art von Medien, die für das Speichern von elektronischen Anweisungen geeignet ist. Es können andere Ausführungsformen als Software implementiert werden, die durch eine programmierbare Steuervorrichtung ausgeführt wird.
  • Die folgenden Beispiele betreffen weiteren Ausführungsformen. Die folgenden Beispiele der vorliegenden Offenbarung können Themenmaterial wie etwa mindestens eine Vorrichtung, ein Verfahren, mindestens ein maschinenlesbares Medium zum Speichern von Anweisungen, die wenn sie ausgeführt werden, eine Maschine dazu veranlassen, Schritte auf der Basis des Verfahrens auszuführen, Mittel zum Ausführen von Schritten auf der Basis des Verfahrens und/oder ein System zur Bildung von magnetisch ausgekleideten Durchgangslöchern in einem Halbleiterkapselungssubstrat umfassen.
  • Beispiele
  • Beispiele der vorliegenden Offenbarung umfassen Themenmaterial wie etwa ein Verfahren, eine Einrichtung, eine Vorrichtung oder ein System in Bezug auf den Schutz von Datenverarbeitungssystemen vor Speicher-Replay-Attacken, wie nachfolgende besprochen.
  • Beispiel 1. Gemäß diesem Beispiel wird eine Vorrichtung bereitgestellt. Die Vorrichtung umfasst erste Verschlüsselungsschaltkreise zum Verschlüsseln von Daten mit einem ersten Verschlüsselungsalgorithmus und einem ersten Schlüssel, um erste verschlüsselte Daten zu erzeugen, wobei die ersten Verschlüsselungsschaltkreise zum Verschlüsseln der Daten auf der Basis einer ersten Domäne dienen; mit den ersten Verschlüsselungsschaltkreisen gekoppelte zweite Verschlüsselungsschaltkreise, wobei die zweiten Verschlüsselungsschaltkreise die ersten verschlüsselten Daten mit einem zweiten Verschlüsselungsalgorithmus und einem zweiten Schlüssel verschlüsseln, um zweite Verschlüsselungsdaten zu erzeugen, wobei die zweiten Verschlüsselungsschaltkreise zum Verschlüsseln der ersten verschlüsselten Daten auf der Basis einer zweiten Domäne dienen, um ein Zeitfenster für eine Replay-Attacke zu begrenzen; und mit den zweiten Verschlüsselungsschaltkreisen gekoppelte Speichercontrollerschaltkreise zum Transfer der zweiten Verschlüsselungsdaten zwischen den zweiten Verschlüsselungsschaltkreisen und Speicherschal tkreisen.
  • Beispiel 2. Dieses Beispiel umfasst die Elemente von Beispiel 1, wobei die erste Domäne eines oder mehrere von einzelnen Computerprogrammen, Computerprogrammeigenschaften, Speicheradressengruppen oder Privileg-Niveaus umfasst, wobei die zweite Domäne Zeit, Speicherzugriffe der Speicherschaltkreise oder eine Kombination der Zeit und der Speicherzugriffe der Speicherschaltkreise umfasst.
  • Beispiel 3. Dieses Beispiel umfasst die Elemente von Beispiel 2, wobei die zweiten Verschlüsselungsschaltkreise zum Auffrischen des zweiten Schlüssels auf der Basis eines Ablaufs einer vorbestimmten Dauer der Zeit oder auf der Basis einer vorbestimmten Anzahl der Speicherzugriffe der Speicherschaltkreise dienen.
  • Beispiel 4. Dieses Beispiel umfasst die Elemente von Beispiel 3, wobei zum Auffrischen des zweiten Schlüssels die zweiten Verschlüsselungsschaltkreise ausgelegt sind zum Entschlüsseln der zweiten Verschlüsselungsdaten zu den ersten Verschlüsselungsdaten mit dem zweiten Schlüssel, die zweiten Verschlüsselungsschaltkreise ausgelegt sind zum Verschlüsseln der ersten Verschlüsselungsdaten mit einem dritten Verschlüsselungsschlüssel und die zweiten Verschlüsselungsschaltkreise ausgelegt sind zum Umdefinieren des dritten Verschlüsselungsschlüssels als den zweiten Schlüssel.
  • Beispiel 5. Dieses Beispiel umfasst die Elemente von Beispiel 1, wobei die erste Domäne mindestens teilweise durch eine erste Verschlüsselungsrichtlinie bestimmt wird, die auf der Basis von Eigenschaften der Daten definiert, welcher von mehreren Verschlüsselungsschlüsseln auf die Daten anzuwenden ist.
  • Beispiel 6. Dieses Beispiel umfasst die Elemente von Beispiel 1, wobei der erste Schlüssel einer von mehreren ersten Schlüsseln ist, der durch die ersten Verschlüsselungsschaltkreise mindestens teilweise auf der Basis einer Schlüsselkennung ausgewählt wird, wobei die Schlüsselkennung durch einen Teil einer Speicheradresse für die Daten definiert wird.
  • Beispiel 7. Dieses Beispiel umfasst die Elemente von Beispiel 1, wobei die zweiten Verschlüsselungsschaltkreise in den Speichercontrollerschaltkreisen oder in den Speicherschaltkreisen hergestellt sind.
  • Beispiel 8. Gemäß diesem Beispiel wird ein Verfahren bereitgestellt. Das Verfahren umfasst Verschlüsseln von Daten mit einem ersten Verschlüsselungsalgorithmus und einem ersten Schlüssel mit ersten Verschlüsselungsschaltkreisen, um erste verschlüsselte Daten zu erzeugen, wobei Auswahl des ersten Schlüssels mindestens teilweise auf einer ersten Verschlüsselungsrichtlinie basiert; Verschlüsseln der ersten verschlüsselten Daten mit einem zweiten Verschlüsselungsalgorithmus und einem zweiten Schlüssel mit zweiten Verschlüsselungsschaltkreisen, um zweite Verschlüsselungsdaten zu erzeugen, wobei Auswahl des zweiten Schlüssels mindestens teilweise auf einer zweiten Verschlüsselungsrichtlinie basiert, um ein Zeitfenster für eine Replay-Attacke zu begrenzen; und Transferieren der zweiten Verschlüsselungsdaten zwischen den zweiten Verschlüsselungsschaltkreisen und Speicherschaltkreisen.
  • Beispiel 9. Dieses Beispiel umfasst die Elemente von Beispiel 8, wobei die erste Verschlüsselungsrichtlinie den ersten Schlüssel auf der Basis von einem oder mehreren von einzelnen Computerprogrammen, Computerprogrammeigenschaften, Speicheradressengruppen oder Privileg-Niveaus auswählt, wobei die zweite Verschlüsselungsrichtlinie den zweiten Schlüssel auf der Basis von Zeit, Speicherzugriffen er Speicherschaltkreise, Speicheradressenbereichen oder einer Kombination der Zeit und der Speicherzugriffe der Speicherschaltkreise auswählt.
  • Beispiel 10. Dieses Beispiel umfasst die Elemente von Beispiel 8, ferner umfassend: Entschlüsseln der zweiten Verschlüsselungsdaten zu den ersten Verschlüsselungsdaten mit dem zweiten Schlüssel; Verschlüsseln der ersten Verschlüsselungsdaten mit einem dritten Verschlüsselungsschlüssel; und Umdefinieren des dritten Verschlüsselungsschlüssels als den zweiten Schlüssel.
  • Beispiel 11. Dieses Beispiel umfasst die Elemente von Beispiel 8, wobei der erste Schlüssel einer von mehreren ersten Schlüsseln ist, der durch die ersten Verschlüsselungsschaltkreise mindestens teilweise auf der Basis einer Schlüsselkennung ausgewählt wird, wobei die Schlüsselkennung durch einen Teil einer Speicheradresse für die Daten definiert wird.
  • Beispiel 12. Gemäß diesem Beispiel wird eine Vorrichtung bereitgestellt. Die Vorrichtung umfasst Integritätsprüfschaltkreise zum Anwenden eines Integritätsprüfalgorithmus auf Daten, um Integritätsprüfwerte für die Daten zu erzeugen, auf der Basis eines ersten Integritätsschlüssels; mit den Integritätsprüfschaltkreisen gekoppelte Verschlüsselungsschaltkreise, wobei die Verschlüsselungsschaltkreise zum Verschlüsseln der Integritätsprüfwerte mit einem Verschlüsselungsalgorithmus und einem Schlüssel dienen, um verschlüsselte Integritätsprüfwerte zu erzeugen, wobei die Verschlüsselungsschaltkreise zum Auffrischen des Schlüssels auf der Basis einer Zeitdauer, eines Speicherzugriffszählwerts oder der Zeitdauer und des Speicherzugriffszählwerts dienen; und Speichercontrollerschaltkreise zum Transferieren der verschlüsselten Integritätsprüfwerte und der Daten zwischen den Verschlüsselungsschaltkreisen und Speicherschaltkreisen.
  • Beispiel 13. Dieses Beispiel umfasst die Elemente von Beispiel 12, wobei die Vorrichtung ferner Folgendes umfasst: zwischen Prozessorschaltkreise und die ersten Verschlüsselungs- und die Integritätsprüfschaltkreise geschaltete zweite Verschlüsselungsschaltkreise, wobei die zweiten Verschlüsselungsschaltkreise zum Verschlüsseln der Daten mindestens teilweise auf der Basis einer Domäne dienen.
  • Beispiel 14. Dieses Beispiel umfasst die Elemente von Beispiel 13, wobei die Domäne eines oder mehrere von einzelnen Computerprogrammen, Computerprogrammeigenschaften, Speicheradressengruppen oder Privileg-Niveaus umfasst.
  • Beispiel 15. Dieses Beispiel umfasst die Elemente von Beispiel 12, wobei die Zeitdauer weniger als 10 Sekunden beträgt.
  • Beispiel 16. Dieses Beispiel umfasst die Elemente von Beispiel 12, wobei die Verschlüsselungsschaltkreise in den Speichercontrollerschaltkreisen oder Speicherschaltkreisen enthalten sind.
  • Beispiel 17. Dieses Beispiel umfasst die Elemente von Beispiel 12, wobei die Verschlüsselungsschaltkreise in den Speichercontrollerschaltkreisen enthalten sind.
  • Beispiel 18. Dieses Beispiel umfasst die Elemente von Beispiel 12, wobei die Speichercontrollerschaltkreise die Integritätsprüfwerte den Daten in den Speicherschaltkreisen zuordnen.
  • Beispiel 19. Dieses Beispiel umfasst die Elemente von Beispiel 12, wobei der Speicherzugriffszählwert auf einer Anzahl von Speicherzugriffen eines spezifischen Bereichs von Speicheradressen basiert.
  • Beispiel 20. Dieses Beispiel umfasst die Elemente von Beispiel 12, wobei der Speicherzugriffszählwert in dem Bereich von 1 Milliarde bis 10 Milliarden Speicherzugriffen liegt.
  • Beispiel 21. Dieses Beispiel umfasst die Elemente von Beispiel 12, wobei die Verschlüsselungsschaltkreise zum Auffrischen des Schlüssels Folgendes umfassen: Erzeugen eines neuen Schlüssels; Lesen der verschlüsselten Integritätsprüfwerte; Entschlüsseln der verschlüsselten Integritätsprüfwerte mit dem alten Schlüssel; Verschlüsseln der Integritätsprüfwerte mit einem neuen Schlüssel; und Schreiben der verschlüsselten Integritätsprüfwerte in Speicher.
  • Beispiel 22. Gemäß diesem Beispiel wird eine computerlesbare Vorrichtung bereitgestellt, die Anweisungen speichert, die, wenn sie durch einen oder mehrere Prozessoren ausgeführt werden, das Verfahren nach einem der Beispiele 8 bis 11 ausführt.
  • Beispiel 23. Gemäß diesem Beispiel wird eine Vorrichtung mit Mitteln zum Ausführen des Verfahrens nach einem der Beispiele 8 bis 11 bereitgestellt.
  • Die Begriffe und Ausdrücke, die hier verwendet wurden, werden als Begriffe der Beschreibung und nicht der Beschränkung verwendet, und es besteht keine Absicht bei der Verwendung solcher Begriffe und Ausdrücke, irgendwelche Äquivalente der gezeigten und beschriebenen Merkmale (oder Teile davon) auszuschließen, und es versteht sich, dass verschiedene Modifikationen in dem Schutzumfang der Ansprüche möglich sind. Dementsprechend sollen die Ansprüche alle solche Äquivalente abdecken.

Claims (31)

  1. Vorrichtung, umfassend: erste Verschlüsselungsschaltkreise zum Verschlüsseln von Daten mit einem ersten Verschlüsselungsalgorithmus und einem ersten Schlüssel, um erste verschlüsselte Daten zu erzeugen, wobei die ersten Verschlüsselungsschaltkreise zum Verschlüsseln der Daten auf der Basis einer ersten Domäne dienen; mit den ersten Verschlüsselungsschaltkreisen gekoppelte zweite Verschlüsselungsschaltkreise, wobei die zweiten Verschlüsselungsschaltkreise die ersten verschlüsselten Daten mit einem zweiten Verschlüsselungsalgorithmus und einem zweiten Schlüssel verschlüsseln, um zweite Verschlüsselungsdaten zu erzeugen, wobei die zweiten Verschlüsselungsschaltkreise zum Verschlüsseln der ersten verschlüsselten Daten auf der Basis einer zweiten Domäne dienen, um ein Zeitfenster für eine Replay-Attacke zu begrenzen; und mit den zweiten Verschlüsselungsschaltkreisen gekoppelte Speichercontrollerschaltkreise zum Transfer der zweiten Verschlüsselungsdaten zwischen den zweiten Verschlüsselungsschaltkreisen und Speicherschaltkreisen.
  2. Vorrichtung nach Anspruch 1, wobei die erste Domäne eines oder mehrere von einzelnen Computerprogrammen, Computerprogrammeigenschaften, Speicheradressengruppen oder Privileg-Niveaus umfasst, wobei die zweite Domäne Zeit, Speicherzugriffe der Speicherschaltkreise oder eine Kombination der Zeit und der Speicherzugriffe der Speicherschaltkreise umfasst.
  3. Vorrichtung nach Anspruch 2, wobei die zweiten Verschlüsselungsschaltkreise zum Auffrischen des zweiten Schlüssels auf der Basis eines Ablaufs einer vorbestimmten Dauer der Zeit oder auf der Basis einer vorbestimmten Anzahl der Speicherzugriffe der Speicherschaltkreise dienen.
  4. Vorrichtung nach Anspruch 3, wobei zum Auffrischen des zweiten Schlüssels die zweiten Verschlüsselungsschaltkreise ausgelegt sind zum Entschlüsseln der zweiten Verschlüsselungsdaten zu den ersten Verschlüsselungsdaten mit dem zweiten Schlüssel, die zweiten Verschlüsselungsschaltkreise ausgelegt sind zum Verschlüsseln der ersten Verschlüsselungsdaten mit einem dritten Verschlüsselungsschlüssel und die zweiten Verschlüsselungsschaltkreise ausgelegt sind zum Umdefinieren des dritten Verschlüsselungsschlüssels als den zweiten Schlüssel.
  5. Vorrichtung nach einem der Ansprüche 1 bis 4, wobei die erste Domäne mindestens teilweise durch eine erste Verschlüsselungsrichtlinie bestimmt wird, die auf der Basis von Eigenschaften der Daten definiert, welcher von mehreren Verschlüsselungsschlüsseln auf die Daten anzuwenden ist.
  6. Vorrichtung nach Anspruch 1, wobei der erste Schlüssel einer von mehreren ersten Schlüsseln ist, der durch die ersten Verschlüsselungsschaltkreise mindestens teilweise auf der Basis einer Schlüsselkennung ausgewählt wird, wobei die Schlüsselkennung durch einen Teil einer Speicheradresse für die Daten definiert wird.
  7. Vorrichtung nach einem der Ansprüche 1 bis 4, wobei die zweiten Verschlüsselungsschaltkreise in den Speichercontrollerschaltkreisen oder in den Speicherschaltkreisen hergestellt sind.
  8. Computerlesbare Vorrichtung mit Anweisungen, die, wenn sie durch mindestens einen Prozessor ausgeführt werden, bewirken, dass der mindestens eine Prozessor Operationen ausführt, umfassend: Verschlüsseln von Daten mit einem ersten Verschlüsselungsalgorithmus und einem ersten Schlüssel mit ersten Verschlüsselungsschaltkreisen, um erste verschlüsselte Daten zu erzeugen, wobei Auswahl des ersten Schlüssels mindestens teilweise auf einer ersten Verschlüsselungsrichtlinie basiert; Verschlüsseln der ersten verschlüsselten Daten mit einem zweiten Verschlüsselungsalgorithmus und einem zweiten Schlüssel mit zweiten Verschlüsselungsschaltkreisen, um zweite Verschlüsselungsdaten zu erzeugen, wobei Auswahl des zweiten Schlüssels mindestens teilweise auf einer zweiten Verschlüsselungsrichtlinie basiert, um ein Zeitfenster für eine Replay-Attacke zu begrenzen; und Transferieren der zweiten Verschlüsselungsdaten zwischen den zweiten Verschlüsselungsschaltkreisen und Speicherschaltkreisen.
  9. Computerlesbare Vorrichtung nach Anspruch 8, wobei die erste Verschlüsselungsrichtlinie den ersten Schlüssel auf der Basis eines oder mehrerer von einzelnen Computerprogrammen, Computerprogrammeigenschaften, Speicheradressengruppen oder Privileg-Niveaus auswählt, wobei die zweite Verschlüsselungsrichtlinie den zweiten Schlüssel auf der Basis von Zeit, Speicherzugriffen der Speicherschaltkreise oder eine Kombination der Zeit und Speicherzugriffe der Speicherschaltkreise auffrischt.
  10. Computerlesbare Vorrichtung nach Anspruch 8, wobei die Operationen ferner Folgendes umfassen: Entschlüsseln der zweiten Verschlüsselungsdaten zu den ersten Verschlüsselungsdaten mit dem zweiten Schlüssel; Verschlüsseln der ersten Verschlüsselungsdaten mit einem dritten Verschlüsselungsschlüssel; und Umdefinieren des dritten Verschlüsselungsschlüssels als den zweiten Schlüssel.
  11. Computerlesbare Vorrichtung nach Anspruch 8, wobei der erste Schlüssel einer von mehreren ersten Schlüsseln ist, der durch die ersten Verschlüsselungsschaltkreise mindestens teilweise auf der Basis einer Schlüsselkennung ausgewählt wird, wobei die Schlüsselkennung durch einen Teil einer Speicheradresse für die Daten definiert wird.
  12. Vorrichtung, umfassend: Integritätsprüfschaltkreise zum Anwenden eines Integritätsprüfalgorithmus auf Daten, um Integritätsprüfwerte für die Daten zu erzeugen, auf der Basis eines ersten Integritätsschlüssels; mit den Integritätsprüfschaltkreisen gekoppelte Verschlüsselungsschaltkreise, wobei die Verschlüsselungsschaltkreise zum Verschlüsseln der Integritätsprüfwerte mit einem Verschlüsselungsalgorithmus und einem Schlüssel dienen, um verschlüsselte Integritätsprüfwerte zu erzeugen, wobei die Verschlüsselungsschaltkreise zum Auffrischen des Schlüssels auf der Basis einer Zeitdauer, eines Speicherzugriffszählwerts oder der Zeitdauer und des Speicherzugriffszählwerts dienen; und Speichercontrollerschaltkreise zum Transferieren der verschlüsselten Integritätsprüfwerte und der Daten zwischen den Verschlüsselungsschaltkreisen und Speicherschal tkreisen.
  13. Vorrichtung nach Anspruch 12, wobei die Verschlüsselungsschaltkreise erste Verschlüsselungsschaltkreise sind, wobei die Vorrichtung ferner Folgendes umfasst: zwischen Prozessorschaltkreise und die ersten Verschlüsselungs- und die Integritätsprüfschaltkreise geschaltete zweite Verschlüsselungsschaltkreise, wobei die zweiten Verschlüsselungsschaltkreise zum Verschlüsseln der Daten mindestens teilweise auf der Basis einer Domäne dienen.
  14. Vorrichtung nach Anspruch 13, wobei die Domäne eines oder mehrere von einzelnen Computerprogrammen, Computerprogrammeigenschaften, Speicheradressengruppen oder Privileg-Niveaus umfasst.
  15. Vorrichtung nach einem der Ansprüche 12 bis 14, wobei die Zeitdauer weniger als 10 Sekunden beträgt.
  16. Vorrichtung nach einem der Ansprüche 12 bis 14, wobei die Verschlüsselungsschaltkreise in den Speichercontrollerschaltkreisen oder Speicherschaltkreisen enthalten sind.
  17. Vorrichtung nach einem der Ansprüche 12 bis 14, wobei die Speichercontrollerschaltkreise die Integritätsprüfwerte den Daten in den Speicherschaltkreisen zuordnen.
  18. Vorrichtung nach einem der Ansprüche 12 bis 14, wobei der Speicherzugriffszählwert auf einer Anzahl von Speicherzugriffen eines spezifischen Bereichs von Speicheradressen basiert.
  19. Vorrichtung nach einem der Ansprüche 12 bis 14, wobei
  20. Vorrichtung nach einem der Ansprüche 12 bis 14, wobei die Verschlüsselungsschaltkreise zum Auffrischen des Schlüssels Folgendes umfassen: Erzeugen eines neuen Schlüssels; Lesen der verschlüsselten Integritätsprüfwerte; Entschlüsseln der verschlüsselten Integritätsprüfwerte mit dem alten Schlüssel; Verschlüsseln der Integritätsprüfwerte mit einem neuen Schlüssel; und Schreiben der verschlüsselten Integritätsprüfwerte in Speicher.
  21. Vorrichtung nach einem der Ansprüche 12 bis 14, wobei die Verschlüsselungsschaltkreise zum Auffrischen des Schlüssels Folgendes umfassen: Lesen der verschlüsselten Integritätsprüfwerte; Erzeugen eines neuen Schlüssels; Entschlüsseln der verschlüsselten Integritätsprüfwerte mit dem Schlüssel; Verschlüsseln der Integritätsprüfwerte mit einem neuen Schlüssel; und Schreiben der verschlüsselten Integritätsprüfwerte in Speicher.
  22. Verschlüsselungsverfahren, umfassend: Auswählen eines ersten Verschlüsselungsschlüssels durch erste Verschlüsselungsschaltkreise auf der Basis einer ersten Verschlüsselungsrichtlinie; Verschlüsseln von Daten mit einem ersten Verschlüsselungsalgorithmus und dem ersten Verschlüsselungsschlüssel durch die ersten Verschlüsselungsschaltkreise, um erste verschlüsselte Daten zu erzeugen; Auswählen eines zweiten Verschlüsselungsschlüssels durch zweite Verschlüsselungsschaltkreise auf der Basis einer zweiten Verschlüsselungsrichtlinie, um ein Zeitfenster für eine Replay-Attacke zu begrenzen; Verschlüsseln der ersten verschlüsselten Daten mit einem zweiten Verschlüsselungsalgorithmus und dem zweiten Verschlüsselungsschlüssel durch die zweite Verschlüsselungsschaltkreise, um zweite Verschlüsselungsdaten zu erzeugen; und Transferieren der zweiten Verschlüsselungsdaten zwischen den zweiten Verschlüsselungsschaltkreisen und Speicherschaltkreisen durch Speichercontroll erschal tkreise.
  23. Verschlüsselungsverfahren nach Anspruch 22, wobei Auswählen des ersten Verschlüsselungsschlüssels auf der Basis der ersten Verschlüsselungsrichtlinie ferner Folgendes umfasst: Auswählen des ersten Schlüssels durch die ersten Verschlüsselungsschaltkreise auf der Basis von einem oder mehreren von einzelnen Computerprogrammen, Computerprogrammeigenschaften, Speicheradressengruppen oder Privileg-Niveaus, wobei die zweite Verschlüsselungsrichtlinie den zweiten Schlüssel auf der Basis von Zeit, Speicherzugriffen der Speicherschaltkreise oder eine Kombination der Zeit und der Speicherzugriffe der Speicherschaltkreise auffrischt.
  24. Verschlüsselungsverfahren nach Anspruch 22, ferner umfassend: Entschlüsseln der zweiten Verschlüsselungsdaten zu den ersten Verschlüsselungsdaten mit dem zweiten Schlüssel durch die zweiten Verschlüsselungsschaltkreise; Verschlüsseln der ersten Verschlüsselungsdaten mit einem dritten Verschlüsselungsschlüssel durch die zweiten Verschlüsselungsschaltkreise; und Umdefinieren des dritten Verschlüsselungsschlüssels als den zweiten Schlüssel.
  25. Verschlüsselungsverfahren nach Anspruch 22, wobei Auswählen des ersten Verschlüsselungsschlüssels auf der Basis der ersten Verschlüsselungsrichtlinie ferner Folgendes umfasst: Auswählen des ersten Schlüssels durch die ersten Verschlüsselungsschaltkreise aus mehreren ersten Schlüsseln basierend auf einer Schlüsselkennung, die durch einen Teil einer Speicheradresse für die Daten definiert wird.
  26. Verschlüsselungssystem, umfassend: Mittel zum Auswählen eines ersten Verschlüsselungsschlüssels durch erste Verschlüsselungsschaltkreise auf der Basis einer ersten Verschlüsselungsrichtlinie; Mittel zum Verschlüsseln von Daten mit einem ersten Verschlüsselungsalgorithmus und dem ersten Verschlüsselungsschlüssel durch die ersten Verschlüsselungsschaltkreise, um erste verschlüsselte Daten zu erzeugen; Mittel zum Auswählen eines zweiten Verschlüsselungsschlüssels durch zweite Verschlüsselungsschaltkreise auf der Basis einer zweiten Verschlüsselungsrichtlinie, um ein Zeitfenster für eine Replay-Attacke zu begrenzen; Mittel zum Verschlüsseln der ersten verschlüsselten Daten mit einem zweiten Verschlüsselungsalgorithmus und dem zweiten Verschlüsselungsschlüssel durch die zweite Verschlüsselungsschaltkreise, um zweite Verschlüsselungsdaten zu erzeugen; und Mittel zum Transferieren der zweiten Verschlüsselungsdaten zwischen den zweiten Verschlüsselungsschaltkreisen und Speicherschaltkreisen durch Speichercontroll erschal tkreise.
  27. Verschlüsselungssystem nach Anspruch 26, wobei die Mittel zum Auswählen des ersten Verschlüsselungsschlüssels auf der Basis der ersten Verschlüsselungsrichtlinie ferner Folgendes umfassen: Mittel zum Auswählen des ersten Schlüssels durch die ersten Verschlüsselungsschaltkreise auf der Basis von einem oder mehreren von einzelnen Computerprogrammen, Computerprogrammeigenschaften, Speicheradressengruppen oder Privileg-Niveaus, wobei die zweite Verschlüsselungsrichtlinie den zweiten Schlüssel auf der Basis von Zeit, Speicherzugriffen der Speicherschaltkreise oder eine Kombination der Zeit und der Speicherzugriffe der Speicherschaltkreise auffrischt.
  28. Verschlüsselungssystem nach Anspruch 26, ferner umfassend: Mittel zum Entschlüsseln der zweiten Verschlüsselungsdaten zu den ersten Verschlüsselungsdaten mit dem zweiten Schlüssel durch die zweiten Verschlüsselungsschaltkreise; Mittel zum Verschlüsseln der ersten Verschlüsselungsdaten mit einem dritten Verschlüsselungsschlüssel durch die zweiten Verschlüsselungsschaltkreise; und Mittel zum Umdefinieren des dritten Verschlüsselungsschlüssels als den zweiten Schlüssel.
  29. Verschlüsselungssystem nach Anspruch 26, wobei die Mittel zum Auswählen des ersten Verschlüsselungsschlüssels auf der Basis der ersten Verschlüsselungsrichtlinie ferner Folgendes umfassen: Mittel zum Auswählen des ersten Schlüssels durch die ersten Verschlüsselungsschaltkreise aus mehreren ersten Schlüsseln basierend auf einer Schlüsselkennung, die durch einen Teil einer Speicheradresse für die Daten definiert wird.
  30. Nichttransitorische computerlesbare Vorrichtung, die Anweisungen speichert, die, wenn sie durch einen oder mehrere Prozessoren ausgeführt werden, das Verfahren nach einem der Ansprüche 22 bis 25 ausführt.
  31. Vorrichtung mit Mitteln zum Ausführen des Verfahrens nach einem der Ansprüche 22 bis 25.
DE102019110440.8A 2018-06-29 2019-04-23 Replay-Schutz für Speicher auf der Basis eines Schlüsselauffrischens Pending DE102019110440A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/023,941 US11019098B2 (en) 2018-06-29 2018-06-29 Replay protection for memory based on key refresh
US16/023,941 2018-06-29

Publications (1)

Publication Number Publication Date
DE102019110440A1 true DE102019110440A1 (de) 2020-01-02

Family

ID=65230725

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102019110440.8A Pending DE102019110440A1 (de) 2018-06-29 2019-04-23 Replay-Schutz für Speicher auf der Basis eines Schlüsselauffrischens

Country Status (3)

Country Link
US (1) US11019098B2 (de)
CN (1) CN110659506A (de)
DE (1) DE102019110440A1 (de)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11562083B2 (en) * 2018-07-30 2023-01-24 Hewlett Packard Enterprise Development Lp Data access management for a composition
US11659001B2 (en) 2019-12-12 2023-05-23 General Electric Company Non-intrusive replay attack detection system
US11743241B2 (en) * 2020-12-30 2023-08-29 International Business Machines Corporation Secure data movement
CN115296791A (zh) * 2022-06-20 2022-11-04 河海大学 一种用于现场总线的防重放攻击装置及方法

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6085323A (en) * 1996-04-15 2000-07-04 Kabushiki Kaisha Toshiba Information processing system having function of securely protecting confidential information
CA2334597C (en) * 1998-07-02 2007-09-04 Cryptography Research, Inc. Leak-resistant cryptographic indexed key update
US7475241B2 (en) * 2002-11-22 2009-01-06 Cisco Technology, Inc. Methods and apparatus for dynamic session key generation and rekeying in mobile IP
US8423758B2 (en) * 2004-05-10 2013-04-16 Tara Chand Singhal Method and apparatus for packet source validation architecture system for enhanced internet security
US9774445B1 (en) * 2007-09-04 2017-09-26 Netapp, Inc. Host based rekeying
US20090187771A1 (en) * 2008-01-17 2009-07-23 Mclellan Jr Hubert Rae Secure data storage with key update to prevent replay attacks
US8434142B2 (en) * 2010-02-26 2013-04-30 Telefonaktiebolaget L M Ericsson (Publ) Method for mitigating on-path attacks in mobile IP network
US9323943B2 (en) * 2013-04-30 2016-04-26 Hewlett Packard Enterprise Development Lp Decrypt and encrypt data of storage device
JP6151140B2 (ja) * 2013-09-13 2017-06-21 株式会社日立製作所 情報の暗号化・復号化方法、情報提供システムおよびプログラム
US9483664B2 (en) * 2014-09-15 2016-11-01 Arm Limited Address dependent data encryption
US10116557B2 (en) * 2015-05-22 2018-10-30 Gray Research LLC Directional two-dimensional router and interconnection network for field programmable gate arrays, and other circuits and applications of the router and network
US9954681B2 (en) * 2015-06-10 2018-04-24 Nxp Usa, Inc. Systems and methods for data encryption
US9990249B2 (en) 2015-12-24 2018-06-05 Intel Corporation Memory integrity with error detection and correction
US10310774B2 (en) 2015-12-24 2019-06-04 Intel Corporation Techniques for data storage protection and integrity checking
US10585809B2 (en) 2016-04-01 2020-03-10 Intel Corporation Convolutional memory integrity
US10884952B2 (en) * 2016-09-30 2021-01-05 Intel Corporation Enforcing memory operand types using protection keys

Also Published As

Publication number Publication date
US20190044973A1 (en) 2019-02-07
CN110659506A (zh) 2020-01-07
US11019098B2 (en) 2021-05-25

Similar Documents

Publication Publication Date Title
DE102019110440A1 (de) Replay-Schutz für Speicher auf der Basis eines Schlüsselauffrischens
DE102019109088A1 (de) Schutz von schlüsseln und sensitiven daten gegen angriffe in einer mikroprozessorarchitektur
DE102008006759B4 (de) Prozessor-Anordnung und Verfahren zum Betreiben der Prozessor-Anordnung ohne Verringerung der Gesamtsicherheit
DE19782169C2 (de) Kryptographisch geschütztes Seitenwechsel-Subsystem
DE102019110327A1 (de) Technologien zum verifizieren von speicherintegrität über mehrere speicherbereiche hinweg
DE102019113352A1 (de) Technologien für sichere e/a mit speicherverschlüsselungs-engines
EP3259698B1 (de) Autonom bootendes system mit einem sicherheitsmodul
DE69725833T2 (de) Gesicherte zweiteilige Benutzer-Authentifizierung in einem Rechnernetz
DE102013108394A1 (de) Verfahren zum Verwalten eines Schlüssels für sicheres Speichern von Daten und Vorrichtung dafür
DE102019102229A1 (de) Techniken zum Erkennen und Korrigieren von Fehlern in Daten
DE102020125599A1 (de) Vertrauenswürdige lokale speicherverwaltung in einer virtualisierten gpu
DE102016002549A1 (de) Verfahren zur mehrschichtig geschützten Sicherung von (Anmelde-) Daten insbesondere Passwörtern
DE102013114953B4 (de) System-on-Chip mit eingebettetem Sicherheitsmodul
DE112014006112T5 (de) Applet-Migration in einem sicheren Element
DE102011082184A1 (de) Sicherheitsschutz für Speicherinhalt von Prozessorhauptspeicher
DE102018125747A1 (de) Unterstützung für eine höhere anzahl von gleichzeitigenschlüsseln in einer kryptografie-engine mit mehrerenschlüsseln
DE102009013332A1 (de) Verfahren und Vorrichtung zum Erzeugen eines kryptografischen Schlüssels
DE112010005842T5 (de) Verwürfeln einer Adresse und Verschlüsseln von Schreibdaten zum Speichern einer Speichervorrichtung
DE112005002845T5 (de) Verfahren, Vorrichtung und System zur sicheren Datenspeicherung
DE112014000584T5 (de) Erreichen von Speichereffizienz bei durchgängiger Verschlüsselung unter Verwendung von nachgelagerten (Downstream-)Decryptern
DE102009013384A1 (de) System und Verfahren zur Bereitstellung einer sicheren Anwendungsfragmentierungsumgebung
DE112021000648T5 (de) Speichervorrichtung, die gegen cyber-angriffe und fehlfunktionen widerstandsfähig ist
DE102018125786A1 (de) Verschlüsselte Systemspeicherverwaltung
DE102013203126A1 (de) Transparentes Zugreifen auf verschlüsselte nicht-relationale Daten in Echtzeit
DE102019128528A1 (de) Datenkryptografievorrichtungen und speichersysteme