DE112018000143T5 - Datenmaskierung - Google Patents

Datenmaskierung Download PDF

Info

Publication number
DE112018000143T5
DE112018000143T5 DE112018000143.1T DE112018000143T DE112018000143T5 DE 112018000143 T5 DE112018000143 T5 DE 112018000143T5 DE 112018000143 T DE112018000143 T DE 112018000143T DE 112018000143 T5 DE112018000143 T5 DE 112018000143T5
Authority
DE
Germany
Prior art keywords
data
encryption key
masked
new
computer
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
DE112018000143.1T
Other languages
English (en)
Inventor
Anja Lehmann
Christian Cachin
Jan Camenisch
Eduarda Freire Stogbuchner
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE112018000143T5 publication Critical patent/DE112018000143T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/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/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • G06F21/6254Protecting personal data, e.g. for financial or medical purposes by anonymising data, e.g. decorrelating personal data from the owner's identification
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/04Masking or blinding

Landscapes

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

Abstract

Eine Datenmaskierung wird für mindestens ein vorher festgelegtes Datenelement in zu sendenden Daten bereitgestellt, indem eine Einweg-Funktion auf dieses Datenelement angewendet wird, um einen ersten Wert zu erzeugen, ein maskiertes Datenelement erzeugt wird, indem der erste Wert über ein deterministisches Verschlüsselungsschema unter Verwendung eines aktuellen Verschlüsselungsschlüssels für eine aktuelle Epoche verschlüsselt wird, und dieses Datenelement durch das maskierte Datenelement ersetzt wird. Ein Datenanbieter-Computer sendet die maskierten Daten an den Datenbenutzer-Computer. Nach Ablauf der aktuellen Epoche erzeugt der Datenanbieter-Computer einen neuen Verschlüsselungsschlüssel für das Verschlüsselungsschema in einer neuen Epoche, erzeugt Maskierungsaktualisierungsdaten, die von dem aktuellen und dem neuen Verschlüsselungsschlüssel abhängen, und sendet die Maskierungsaktualisierungsdaten an den Datenbenutzer-Computer. Die Maskierungsaktualisierungsdaten erlauben das Aktualisieren, an dem Datenbenutzer-Computer, von maskierten, mit dem aktuellen Verschlüsselungsschlüssel erzeugten Datenelementen auf maskierte, mit dem neuen Verschlüsselungsschlüssel erzeugte Datenelemente.

Description

  • HINTERGRUND
  • Die vorliegende Erfindung betrifft allgemein die Datenmaskierung und insbesondere Verfahren, Vorrichtungen und Computerprogrammprodukte, wobei Daten an einem Datenanbieter-Computer (data provider (DP) computer) maskiert und an einen (nicht vertrauenswürdigen) Datenbenutzer-Computer (data user (DU) computer) gesendet werden.
  • Datenmaskierung ist ein Prozess, der verwendet wird, wenn Daten, die sensible Informationen enthalten, in eine weniger vertrauenswürdige Umgebung kopiert werden müssen. Datenmaskierung hat den Zweck, die Daten zu desensibilisieren, um sensible Datenelemente zu verbergen (oder „zu maskieren“), so dass die Daten als Ganzes für ihren vorgesehenen Zweck von Nutzen bleiben. Zum Beispiel kann ein Datensatz Informationen wie zum Beispiel Sozialversicherungsnummern, Passdaten, Kreditkartennummern, Patientenaktendetails usw. enthalten, die nicht in die Hände von nicht vertrauenswürdigen Parteien gelangen sollten. Zu typischen Anwendungsfällen gehören das Versenden eines Datensatzes für die statistische Analyse, das Ausführen einer Anwendung in einer Testumgebung mit einer realistischen Arbeitslast, das Erfassen von Servicequalitätsinformationen von Kunden und die Transaktionsverarbeitung. Bedenken hinsichtlich des Datenschutzes haben in den letzten Jahren einhergehend mit einem Trend, Dienste und Dienstleistungen an Dritte und in die Cloud auszulagern, zugenommen. Eine Maskierung verhindert die Offenlegung von sensiblen Daten in nicht vertrauenswürdigen Umgebungen und berücksichtigt rechtliche Fragen in Verbindung mit der grenzüberschreitenden Übertragung von Daten.
  • Aus Sicherheitsgründen sollte ein Datenmaskierungsprozess dergestalt sein, dass ein maskiertes Datenelement keine Informationen über die ursprünglichen, nicht maskierten Daten preisgibt. Die Nutzbarkeit erfordert es jedoch, dass ein maskierter Datensatz die referenzielle Integrität bewahrt. Das heißt, wenn dasselbe Datenelement in dem nicht maskierten Datensatz mehrfach vorkommt, sollte es immer wieder demselben maskierten Wert zugeordnet werden.
  • Viele Datenmaskierungstechniken wurden vorgeschlagen und befinden sich heute im kommerziellem Einsatz. Zum Beispiel kann eine Maskierung über Hashing vorgenommen werden. Hier wird ein Datenelement zusammen mit einem langfristigen Hashschlüssel des Datenanbieters gehasht. Das Datenelement wird dann durch den resultierenden Hashwert in den an den Benutzer gesendeten maskierten Daten ersetzt. Andere bekannte Verfahren beruhen auf Substitution, Shuffling, Löschen („Nulling“), Verschleierung oder Perturbationstechniken. Solche Verfahren können jedoch nicht die für die Datensicherheit erforderlichen zunehmend stringenten Garantieren bereitstellen. Überdies erlauben diese Verfahren kein Rekeying von maskierten Daten. Die Verbindung zwischen einem gegebenen Datenelement und seiner maskierten Form ändert sich nie und für die Maskierung verwendete Schlüssel können nicht geändert werden. Beim Hashen kann der Hashschlüssel zum Beispiel nicht geändert werden, ohne die referenzielle Integrität zu brechen. Für sicherheitskritische Umgebungen, z.B. Finanzinstitutionen, sind regelmäßige Rekeying-Operationen und periodische Aktualisierungen der Beziehung zwischen nicht maskierten und maskierten Daten notwendig. Periodische Aktualisierungen verringern auch das Risiko der Offenlegung, wenn Daten im Laufe der Zeit allmählich nach außen gelangen. Da maskierte Datensätze oftmals groß sind, wäre die Durchführung einer solchen Aktualisierung von Grund auf, bei der der Datenanbieter den vollständigen Datensatz mit einem neuen Schlüssel erneut maskiert und ihn erneut an den Benutzer sendet, äußerst ineffizient.
  • KURZDARSTELLUNG
  • Gemäß Ausführungsformen der vorliegenden Erfindung wird ein durch einen Computer ausgeführtes Verfahren zur Datenmaskierung an einem Datenanbieter-Computer bereitgestellt. Das Verfahren weist den Zugriff auf Daten, die an einen Datenbenutzer-Computer gesendet werden sollen, und das Erzeugen von maskierten Daten, indem für mindestens ein vorher festgelegtes Datenelement in den zu sendenden Daten eine Einweg-Funktion auf dieses Datenelement angewendet wird, um einen ersten Wert zu erzeugen, das Erzeugen eines maskierten Datenelements, indem der erste Wert über ein deterministisches Verschlüsselungsschema unter Verwendung eines aktuellen Verschlüsselungsschlüssels für eine aktuelle Epoche verschlüsselt wird, und das Ersetzen dieses Datenelements durch das maskierte Datenelement auf. Das Verfahren beinhaltet das Senden der maskierten Daten an den Datenbenutzer-Computer und nach Ablauf der aktuellen Epoche das Erzeugen eines neuen Verschlüsselungsschlüssels für das Verschlüsselungsschema in einer neuen Epoche, das Erzeugen von Maskierungsaktualisierungsdaten, die von dem aktuellen und dem neuen Verschlüsselungsschlüssel abhängen, und das Senden der Maskierungsaktualisierungsdaten an den Datenbenutzer-Computer. Die Maskierungsaktualisierungsdaten erlauben das Aktualisieren, an dem Datenbenutzer-Computer, von maskierten, mit dem aktuellen Verschlüsselungsschlüssel erzeugten Datenelementen auf maskierte, mit dem neuen Verschlüsselungsschlüssel erzeugte Datenelemente.
  • Ausführungsformen dieser Erfindung stellen sichere Datenmaskierungsverfahren bereit, bei denen Maskierungsschlüssel aktualisiert und maskierte Daten mit einem geänderten Schlüssel erneut verschlüsselt (re-keyed) werden können, während die referenzielle Integrität bewahrt wird. Die Rekeying-Operation, um zuvor maskierte Daten zu aktualisieren, kann von dem Datenbenutzer in einer nicht vertrauenswürdigen Domäne durchgeführt werden, ohne die Sicherheit der maskierten Daten zu beeinträchtigen.
  • Ausführungsformen der Erfindung können in einem statischen Datenmaskierungsfall verwendet werden, in dem alle von dem Benutzer benötigten Daten (z.B. eine ganze Datenbank oder ein anderer vollständiger Datensatz) in einem Schritt maskiert und an den Benutzer gesendet werden. Verfahren, welche die Erfindung enthalten, sind jedoch auch in dynamischen Datenmaskierungsfällen äußerst vorteilhaft. In einem dynamischen Datenmaskierungsfall werden Daten maskiert und nach Bedarf an den Benutzer gesendet, z.B. als Reaktion auf eine Reihe von Zugriffsanforderungen von dem Benutzer. Daten können während der Verarbeitung („on-the-fly“) maskiert und nach Bedarf an den Benutzer gesendet werden. In beiden Fällen können Daten, die während der aktuellen Epoche maskiert und gesendet werden, für eine neue Epoche mit einem geänderten Schlüssel erneut verschlüsselt werden, wobei die von dem Datenanbieter gesendeten Maskierungsaktualisierungsdaten verwendet werden. Die Schritte des Erzeugens des neuen Verschlüsselungsschlüssels, des Erzeugens der Maskierungsaktualisierungsdaten und des Sendens der Maskierungsaktualisierungsdaten an den Datenbenutzer-Computer können nach Ablauf von jeweils dieser neuen Epoche und nachfolgender neuer Epochen durchgeführt werden, wobei maskierte Daten für jede aufeinanderfolgende Epoche wiederholt mit einem geänderten Schlüssel erneut verschlüsselt werden können. In einem dynamischen Fall kann der neue Verschlüsselungsschlüssel für jede neue Epoche als der aktuelle Verschlüsselungsschlüssel in dem Datenmaskierungsschritt verwendet werden, um weitere Daten zu maskieren, die in dieser Epoche versendet werden. Im Einzelnen kann der Datenanbieter-Computer während einer jeden (von mindestens einigen) der neuen Epochen auf weitere Daten, die an den Datenbenutzer-Computer gesendet werden sollen, zugreifen und für diese weiteren Daten den Schritt des Erzeugens von maskierten Daten durchführen, wobei der neue Verschlüsselungsschlüssel als der aktuelle Verschlüsselungsschlüssel für diese Epoche verwendet wird. Die weiteren maskierten Daten können dann an den Datenbenutzer-Computer gesendet werden. Da die Rekeying-Operation, welche die Maskierungsaktualisierungsdaten verwendet, maskierte Datenelemente, die mit einem aktuellen Verschlüsselungsschlüssel erzeugt werden, in maskierte Datenelemente, die mit dem neuen Verschlüsselungsschlüssel erzeugt werden, umwandelt, wird die referenzielle Integrität zwischen maskierten Daten, die in vorherigen Epochen versendet wurden, und beliebigen weiteren Daten, die unter Verwendung des neuen Verschlüsselungsschlüssels für eine beliebige gegebene Epoche maskiert werden, bewahrt.
  • In dem Datenmaskierungsschritt von bevorzugten Ausführungsformen wird der erste Wert, der einem Datenelement entspricht, erzeugt, indem die Einweg-Funktion auf dieses Datenelement und einen geheimen Schlüssel des Datenanbieter-Computers angewendet wird. Die Verwendung des geheimen Schlüssels in dieser ersten Ebene des Maskierungsprozesses bietet zusätzliche Sicherheit vor Offenlegung der Daten. Die zweite, die Verschlüsselungsebene des Maskierungsprozesses, und die zugehörigen Maskierungsaktualisierungsdaten können auf verschiedene Arten erstellt werden, um verschiedene Sicherheitsgarantien gemäß der Sicherheit der zugrunde liegenden Kryptographie bereitzustellen. In einigen Ausführungsformen kann das Verschlüsselungsschema ein symmetrisches Verschlüsselungsschema aufweisen und die Maskierungsaktualisierungsdaten können den aktuellen Verschlüsselungsschlüssel und den neuen Verschlüsselungsschlüssel aufweisen. Hier kann der Datenbenutzer zuvor empfangene Daten mit einem geänderten Schlüssel erneut verschlüsseln, indem er jedes maskierte Datenelement unter Verwendung des aktuellen Verschlüsselungsschlüssels über einen Entschlüsselungsalgorithmus des Verschlüsselungsschemas entschlüsselt, um den ersten Wert zu erhalten, und den ersten Wert über das Verschlüsselungsschema unter Verwendung des neuen Verschlüsselungsschlüssels erneut verschlüsselt. Dies bietet einen ausreichend hohen Grad an Sicherheit für viele Anwendungen.
  • In einigen Ausführungsformen weisen die Maskierungsaktualisierungsdaten eine vorher festgelegte Funktion δ des aktuellen und des neuen Verschlüsselungsschlüssels auf und das Verschlüsselungsschema weist einen Algorithmus Enc(k, X) zur Verschlüsselung eines Werts X mit einem Verschlüsselungsschlüssel k auf, so dass Enc(δ, (Enc(se, X)) = Enc(se+1, X), wobei se der aktuelle Verschlüsselungsschlüssel und se+1 der neue Verschlüsselungsschlüssel ist. Hier kann der Datenbenutzer zuvor empfangene Daten mit einem geänderten Schlüssel erneut verschlüsseln, indem er jedes maskierte Datenelement über den Verschlüsselungsalgorithmus Enc(k, X) unter Verwendung des Verschlüsselungsschlüssels key k = δ verschlüsselt. Dies bietet außergewöhnliche Sicherheit, da der Prozess der erneuten Maskierung den ursprünglich verschlüsselten ersten Wert für ein Datenelement nicht einmal offenlegt. Bei einer effizienten Ausführung eines solchen Schemas ist der Algorithmus Enc(k, X) = Xk und δ = se+1/se.
  • Ausführungsformen der Erfindung stellen ein durch einen Computer ausgeführtes Verfahren zur Verwaltung von maskierten Daten an einem Datenbenutzer-Computer bereit. Das Verfahren weist das Empfangen von maskierten Daten von einem Datenanbieter-Computer, wobei die maskierten Daten mindestens ein maskiertes Datenelement enthalten, das erzeugt wird, indem eine Einweg-Funktion auf ein Datenelement angewendet wird, um einen ersten Wert zu erzeugen, und der erste Wert über ein deterministisches Verschlüsselungsschema unter Verwendung eines aktuellen Verschlüsselungsschlüssels für eine aktuelle Epoche verschlüsselt wird, sowie das anschließende Speichern der maskierten Daten auf. Das Verfahren beinhaltet des Weiteren, nach Ablauf der aktuellen Epoche, das Empfangen von Maskierungsaktualisierungsdaten von dem Datenanbieter-Computer, die von dem aktuellen Verschlüsselungsschlüssel und einem neuen Verschlüsselungsschlüssel für das Verschlüsselungsschema in einer neuen Epoche abhängen. Die Maskierungsaktualisierungsdaten werden verwendet, um jedes maskierte Datenelement, das mit dem aktuellen Verschlüsselungsschlüssel erzeugt wurde, in den gespeicherten maskierten Daten auf ein mit dem neuen Verschlüsselungsschlüssel erzeugtes maskiertes Datenelement zu aktualisieren.
  • Ausführungsformen der Erfindung stellen Computerprogrammprodukte bereit, von denen jedes ein durch einen Computer lesbares Speichermedium aufweist, das durch einen Datenanbieter-Computer oder einen Datenbenutzer-Computer ausführbare Programmanweisungen enthält, um diesen Computer dazu zu veranlassen, ein Verfahren durchzuführen, wie vorstehend beschrieben wurde. Mindestens eine zusätzliche Ausführungsform stellt ein System bereit, das einen Datenanbieter-Computer und einen Datenbenutzer-Computer aufweist, die so ausgelegt sind, dass sie vorstehend beschriebene Verfahren ausführen.
  • Ausführungsformen der Erfindung werden nachstehend anhand eines veranschaulichenden und nicht einschränkenden Beispiels unter Bezugnahme auf die beiliegenden Zeichnungen ausführlicher beschrieben.
  • Figurenliste
  • Ausführungsformen der Erfindung werden nun lediglich beispielhaft unter Bezugnahme auf die beiliegenden Zeichnungen beschrieben, bei denen:
    • 1 eine schematische Darstellung eines Systems zur Ausführung von Datenmaskierungsschemata ist, welche die Erfindung enthalten;
    • 2 eine verallgemeinerte schematische Darstellung eines Computers in dem System von 1 ist;
    • 3 Schritte angibt, die im System 1 beim Betrieb eines Datenmaskierungsschemas durchgeführt werden;
    • 4 des Weiteren Schritte angibt, die im System 1 beim Betrieb eines Datenmaskierungsschemas durchgeführt werden;
    • 5 ausführlichere Schritte angibt, die in einer Ausführungsform des Datenmaskierungssystems durchgeführt werden;
    • 6 des Weiteren ausführlichere Schritte angibt, die in einer Ausführungsform des Datenmaskierungssystems durchgeführt werden;
    • 7 ausführlichere Schritte angibt, die in einer weiteren Ausführungsform des Datenmaskierungssystems durchgeführt werden; und
    • 8 des Weiteren ausführlichere Schritte angibt, die in einer weiteren Ausführungsform des Datenmaskierungssystems durchgeführt werden.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Bei der vorliegenden Erfindung kann es sich um ein System, ein Verfahren und/oder ein Computerprogrammprodukt handeln. Das Computerprogrammprodukt kann (ein) durch einen Computer lesbare(s) Speichermedium (oder -medien) beinhalten, auf dem/denen durch einen Computer lesbare Programmanweisungen gespeichert sind, um einen Prozessor dazu zu veranlassen, Aspekte der vorliegenden Erfindung auszuführen.
  • Bei dem durch einen Computer lesbaren Speichermedium kann es sich um eine physische Einheit handeln, die Anweisungen zur Verwendung durch ein System zur Ausführung von Anweisungen behalten und speichern kann. Bei dem durch einen Computer lesbaren Speichermedium kann es sich zum Beispiel um eine elektronische Speichereinheit, eine magnetische Speichereinheit, eine optische Speichereinheit, eine elektromagnetische Speichereinheit, eine Halbleiterspeichereinheit oder jede geeignete Kombination daraus handeln, ohne auf diese beschränkt zu sein. Zu einer nicht erschöpfenden Liste spezifischerer Beispiele des durch einen Computer lesbaren Speichermediums gehören die folgenden: eine tragbare Computerdiskette, eine Festplatte, ein Direktzugriffsspeicher (RAM), ein Nur-Lese-Speicher (ROM), ein löschbarer programmierbarer Nur-Lese-Speicher (EPROM bzw. Flash-Speicher), ein statischer Direktzugriffsspeicher (SRAM), ein tragbarer Kompaktspeicherplatte-Nur-Lese-Speicher (CD-ROM), eine DVD (digital versatile disc), ein Speicher-Stick, eine Diskette, eine mechanisch kodierte Einheit wie zum Beispiel Lochkarten oder gehobene Strukturen in einer Rille, auf denen Anweisungen gespeichert sind, und jede geeignete Kombination daraus. Ein durch einen Computer lesbares Speichermedium soll in der Verwendung hierin nicht als flüchtige Signale an sich aufgefasst werden, wie zum Beispiel Funkwellen oder andere sich frei ausbreitende elektromagnetische Wellen, elektromagnetische Wellen, die sich durch einen Wellenleiter oder ein anderes Übertragungsmedium ausbreiten (z.B. durch ein Glasfaserkabel geleitete Lichtimpulse) oder durch einen Draht übertragene elektrische Signale.
  • Hierin beschriebene, durch einen Computer lesbare Programmanweisungen können von einem durch einen Computer lesbaren Speichermedium auf jeweilige Datenverarbeitungs-/Verarbeitungseinheiten oder über ein Netzwerk wie zum Beispiel das Internet, ein lokales Netzwerk, ein Weitverkehrsnetz und/oder ein drahtloses Netzwerk auf einen externen Computer oder eine externe Speichereinheit heruntergeladen werden. Das Netzwerk kann Kupferübertragungskabel, Lichtwellenübertragungsleiter, drahtlose Übertragung, Leitwegrechner, Firewalls, Vermittlungseinheiten, Gateway-Computer und/oder Edge-Server aufweisen. Eine Netzwerkadapterkarte oder Netzwerkschnittstelle in jeder Datenverarbeitungs-/Verarbeitungseinheit empfängt durch einen Computer lesbare Programmanweisungen aus dem Netzwerk und leitet die durch einen Computer lesbaren Programmanweisungen zur Speicherung in einem durch einen Computer lesbaren Speichermedium innerhalb der entsprechenden Datenverarbeitungs-/Verarbeitungseinheit weiter.
  • Bei durch einen Computer lesbaren Programmanweisungen zum Ausführen von Arbeitsschritten der vorliegenden Erfindung kann es sich um Assembler-Anweisungen, ISA-Anweisungen (Instruction-Set-Architecture), Maschinenanweisungen, maschinenabhängige Anweisungen, Mikrocode, Firmware-Anweisungen, zustandssetzende Daten oder entweder Quellcode oder Objektcode handeln, die in einer beliebigen Kombination aus einer oder mehreren Programmiersprachen geschrieben werden, darunter objektorientierte Programmiersprachen wie Smalltalk, C++ o.ä. sowie herkömmliche prozedurale Programmiersprachen wie die Programmiersprache „C“ oder ähnliche Programmiersprachen. Die durch einen Computer lesbaren Programmanweisungen können vollständig auf dem Computer des Benutzers, teilweise auf dem Computer des Benutzers, als eigenständiges Software-Paket, teilweise auf dem Computer des Benutzers und teilweise auf einem fernen Computer oder vollständig auf dem fernen Computer oder Server ausgeführt werden. In letzterem Fall kann der entfernt angeordnete Computer mit dem Computer des Benutzers durch eine beliebige Art Netzwerk verbunden sein, darunter ein lokales Netzwerk (LAN) oder ein Weitverkehrsnetz (WAN), oder die Verbindung kann mit einem externen Computer hergestellt werden (zum Beispiel über das Internet unter Verwendung eines Internet-Dienstanbieters). In einigen Ausführungsformen können elektronische Schaltungen, darunter zum Beispiel programmierbare Logikschaltungen, im Feld programmierbare Gatter-Anordnungen (FPGA, field programmable gate arrays) oder programmierbare Logikanordnungen (PLA, programmable logic arrays) die durch einen Computer lesbaren Programmanweisungen ausführen, indem sie Zustandsinformationen der durch einen Computer lesbaren Programmanweisungen nutzen, um die elektronischen Schaltungen zu personalisieren, um Aspekte der vorliegenden Erfindung durchzuführen.
  • Aspekte der vorliegenden Erfindung sind hierin unter Bezugnahme auf Ablaufpläne und/oder Blockschaltbilder bzw. Schaubilder von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es wird darauf hingewiesen, dass jeder Block der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder sowie Kombinationen von Blöcken in den Ablaufplänen und/oder den Blockschaltbildern bzw. Schaubildern mittels durch einen Computer lesbare Programmanweisungen ausgeführt werden können.
  • Diese durch einen Computer lesbaren Programmanweisungen können einem Prozessor eines Universalcomputers, eines Spezialcomputers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung bereitgestellt werden, um eine Maschine zu erzeugen, so dass die über den Prozessor des Computers bzw. der anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführten Anweisungen ein Mittel zur Umsetzung der in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder festgelegten Funktionen/Schritte erzeugen. Diese durch einen Computer lesbaren Programmanweisungen können auch auf einem durch einen Computer lesbaren Speichermedium gespeichert sein, das einen Computer, eine programmierbare Datenverarbeitungsvorrichtung und/oder andere Einheiten so steuern kann, dass sie auf eine bestimmte Art funktionieren, so dass das durch einen Computer lesbare Speichermedium, auf dem Anweisungen gespeichert sind, ein Herstellungsprodukt aufweist, darunter Anweisungen, welche Aspekte der/des in dem Block bzw. den Blöcken des Ablaufplans und/oder der Blockschaltbilder bzw. Schaubilder angegebenen Funktion/Schritts umsetzen.
  • Die durch einen Computer lesbaren Programmanweisungen können auch auf einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder eine andere Einheit geladen werden, um das Ausführen einer Reihe von Prozessschritten auf dem Computer bzw. der anderen programmierbaren Vorrichtung oder anderen Einheit zu verursachen, um einen auf einem Computer ausgeführten Prozess zu erzeugen, so dass die auf dem Computer, einer anderen programmierbaren Vorrichtung oder einer anderen Einheit ausgeführten Anweisungen die in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder festgelegten Funktionen/Schritte umsetzen.
  • Die Ablaufpläne und die Blockschaltbilder bzw. Schaubilder in den Figuren veranschaulichen die Architektur, die Funktionalität und den Betrieb möglicher Ausführungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung. In diesem Zusammenhang kann jeder Block in den Ablaufplänen oder Blockschaltbildern bzw. Schaubildern ein Modul, ein Segment oder einen Teil von Anweisungen darstellen, die eine oder mehrere ausführbare Anweisungen zur Ausführung der bestimmten logischen Funktion(en) aufweisen. In einigen alternativen Ausführungen können die in dem Block angegebenen Funktionen in einer anderen Reihenfolge als in den Figuren gezeigt stattfinden. Zwei nacheinander gezeigte Blöcke können zum Beispiel in Wirklichkeit im Wesentlichen gleichzeitig ausgeführt werden, oder die Blöcke können manchmal je nach entsprechender Funktionalität in umgekehrter Reihenfolge ausgeführt werden. Es ist ferner anzumerken, dass jeder Block der Blockschaltbilder bzw. Schaubilder und/oder der Ablaufpläne sowie Kombinationen aus Blöcken in den Blockschaltbildern bzw. Schaubildern und/oder den Ablaufplänen durch spezielle auf Hardware beruhende Systeme umgesetzt werden können, welche die festgelegten Funktionen oder Schritte durchführen, oder Kombinationen aus Spezial-Hardware und Computeranweisungen ausführen.
  • Das in 1 gezeigte System weist einen Datenanbieter-Computer 2 und einen Datenbenutzer-Computer 3 auf, die zum Datenaustausch über ein Netzwerk 4 (wobei das Netzwerk 4 im Allgemeinen ein oder mehrere Komponentennetzwerke und/oder Internetzwerke, darunter das Internet, aufweisen können) betrieben werden können. Der Datenanbieter-(DP-)Computer 2 hat Zugriff auf einen Datensatz im Speicher, der hier durch die Datenbank 5 dargestellt ist, welche betriebsfähig mit dem DP-Computer 2 verbunden ist. Die Datenbank 5 enthält Daten, die im Betrieb an den Datenbenutzer-(DU-)Computer 3 gesendet werden sollen. Der DP-Computer 2 führt einen dynamischen Datenmaskierungsprozess aus, wobei nach Bedarf auf Daten zugegriffen, Daten maskiert und Daten an den DU-Computer 3 gesendet werden können. Im Einzelnen können die Daten, die zu einem bestimmten Zeitpunkt an den DU-Computer 3 gesendet werden sollen, bestimmte Datenelemente enthalten, die maskiert werden müssen, bevor die Daten versendet werden. Solche Datenelemente werden am DP-Computer 2 vorher festgelegt und können auf irgendeine geeignete Weise, z.B. durch den Typ, die Kategorie, die Beschaffenheit, die Position usw., der fraglichen Daten definiert werden. Zum Beispiel kann der DP-Computer 2 einen Satz von Maskierungsregeln ausführen, der die zu maskierenden Datenelemente festlegt. Einzelne Datenelemente können beispielsweise Datenfelder oder Teile (z.B. Bytes) davon oder eine beliebige andere definierte Einheit von Daten aufweisen. Jedoch sind die bestimmten Datenelemente und die angewendeten Maskierungskriterien zu den hierin beschriebenen Maskierungsschemata orthogonal. Der DU-Computer 3 empfängt die maskierten Daten über das Netzwerk 4 und speichert die maskierten Daten im Speicher, der hier durch die Datenbank 6 dargestellt ist, welche mit dem DU-Computer 3 betriebsfähig verbunden ist. Der DU-Computer 3 verwaltet des Weiteren in der Datenbank 6 gespeicherte, maskierte Daten, wie nachstehend beschrieben ist.
  • Das im System 1 ausgeführte Maskierungsschema arbeitet in aufeinanderfolgenden Zeiträumen oder „Epochen“. Kurz gesagt, in irgendeiner bestimmten Epoche e werden durch den DP-Computer 2 versendete Daten maskiert, indem ein Maskierungsschlüssel ke für diese Epoche verwendet wird. Nach Ablauf einer beliebigen Epoche e wird ein neuer Maskierungsschlüssel ke+1 für die neue Epoche am DP-Computer 2 erzeugt. Zuvor versendete maskierte Daten werden ebenfalls am DU-Computer 3 mit einem geänderten Schlüssel erneut verschlüsselt, damit sie mit dem neuen Maskierungsschlüssel konsistent sind. Die Rekeying-Operation verwendet durch den DP-Computer 2 bereitgestellte Maskierungsaktualisierungsdaten, wie nachstehend näher beschrieben ist.
  • Die Epochen können im System 1 auf unterschiedliche Arten definiert werden und verschiedene Epochen können jeweils eine feste oder veränderliche Dauer haben. Zum Beispiel können neue Epochen in regelmäßigen Abständen, deren Dauer wie gewünscht festgelegt werden kann, periodisch eingeleitet werden. Eine neue Epoche kann auch als Reaktion auf ein bestimmtes Ereignis, z.B. das Erkennen eines böswilligen Eingriffs in das System, eingeleitet werden.
  • Der DP-Computer 2 kann von einem Dateneigentümer betrieben werden und der Datensatz 5 kann proprietäre Daten aufweisen, die von dem Dateneigentümer gespeichert werden.
  • Alternativ kann der DP-Computer 2 von einer Entität betrieben werden, die mit der Durchführung der Datenmaskierung für den Dateneigentümer betraut ist. Im Allgemeinen können zu maskierende Datensätze daher in einer Speichervorrichtung, die sich lokal im DP-Computer 2 befindet, oder in einer entfernt angeordneten Speichervorrichtung gespeichert werden, auf die der DP-Computer 2 zum Beispiel durch einen Datenaustausch mit einem anderen Computer (z.B. einem Dateneigentümer-Computer) über ein Netzwerk zugreifen kann.
  • Der Datenspeicher 5, 6 kann im Allgemeinen eine beliebige, geeignete Datenspeichervorrichtung aufweisen, darunter ein oder mehrere Datenspeichermedien. Typische Ausführungen weisen eine Datenspeichervorrichtung auf, die ein oder mehrere Platten, wie zum Beispiel Magnet- oder optische Platten, aufweist, welche sich in einem Computer, z.B. in einem Festplattenlaufwerk, befinden können oder durch eine Plattenvorrichtung, auf die extern zugegriffen werden kann, z.B. in einer Anordnung von Festplattenlaufwerken wie einem RAID-Array, bereitgestellt werden können.
  • Der DP-Computer 2 und der DU-Computer 3 können jeweils durch einen Universal- oder Spezialcomputer ausgeführt sein, der eine oder mehrere (reale oder virtuelle) Maschinen aufweisen kann, welche Funktionalität zur Ausführung der hierin beschriebenen Operationen bereitstellen. Diese Funktionalität kann durch Logik bereitgestellt werden, welche in Hardware oder Software oder einer Kombination daraus ausgeführt sein kann. Solche Logik kann in dem allgemeinen Kontext von durch ein Computersystem ausführbaren Anweisungen, wie zum Beispiel Programmmodulen, die durch eine Datenverarbeitungsvorrichtung ausgeführt werden, beschrieben werden. Im Allgemeinen können Programmmodule Routinen, Programme, Objekte, Komponenten, Logik, Datenstrukturen und so weiter enthalten, die bestimmte Aufgaben durchführen oder bestimmte abstrakte Datentypen realisieren. Die Datenverarbeitungsvorrichtung kann in verteilten Cloud-Computing-Umgebungen betrieben werden, in denen Aufgaben von fernen Verarbeitungseinheiten durchgeführt werden, die über ein Datenübertragungsnetzwerk verbunden sind. In einer verteilten Cloud-Computing-Umgebung können sich Daten und Programmmodule sowohl in lokalen als auch in entfernt angeordneten Speichermedien eines Computersystems, darunter auch in Hauptspeichereinheiten, befinden.
  • Das Blockschaltbild von 2 zeigt eine beispielhafte Datenverarbeitungsvorrichtung zur Umsetzung eines Computers 2, 3 des Systems 1. Die Vorrichtung ist hier in Form einer Universal-Datenverarbeitungseinheit 10 gezeigt. Zu den Komponenten des Computers 10 können eine Verarbeitungsvorrichtung wie zum Beispiel ein oder mehrere Prozessoren, die von der Verarbeitungseinheit 11 dargestellt werden, ein Systemspeicher 12 und ein Bus 13 gehören, der verschiedene Systemkomponenten verbindet, darunter den Systemspeicher 12 mit der Verarbeitungseinheit 11.
  • Der Bus 13 stellt eine oder mehrere von beliebigen diversen Arten von Busstrukturen, darunter einen Hauptspeicher-Bus oder einen Hauptspeicher-Controller, einen peripheren Bus, einen Accelerated Graphics Port und einen Prozessor- oder lokalen Bus, der eine beliebige von verschiedensten Busarchitekturen nutzt, dar. Als Beispiel, ohne darauf beschränkt zu sein, gehören zu solchen Architekturen der Bus „Industry Standard Architecture (ISA)“, der Bus „Micro Channel Architecture (MCA)“, der Bus „Enhanced ISA (EISA)“, der lokale Bus „Video Electronics Standards Association (VESA)“ und der Bus „Peripheral Component Interconnect (PCI)“.
  • Der Computer 10 enthält üblicherweise verschiedenste durch einen Computer lesbare Datenträger. Solche Datenträger können jedwede verfügbaren Datenträger sein, auf die der Computer 10 zugreifen kann, darunter flüchtige und nicht flüchtige Datenträger sowie auswechselbare und nicht auswechselbare Datenträger. Zum Beispiel kann der Systemspeicher 12 durch einen Computer lesbare Datenträger in Form von flüchtigem Hauptspeicher, wie beispielsweise einem Direktzugriffsspeicher (RAM) 14 und/oder einem Cachespeicher 15, einschließen. Der Computer 10 kann darüber hinaus weitere auswechselbare/nicht auswechselbare, flüchtige/nicht flüchtige Speichermedien eines Computersystems enthalten. Lediglich als Beispiel kann das Speichersystem 16 für Leseoperationen von und für Schreiboperationen auf einen nicht auswechselbaren, nicht flüchtigen Magnetdatenträger (der üblicherweise als „Festplattenlaufwerk“ bezeichnet wird) bereitgestellt werden. Obgleich nicht gezeigt, können auch ein Magnetplattenlaufwerk für Leseoperationen von und Schreiboperationen auf eine auswechselbare, nicht flüchtige Magnetplatte (z.B. eine „Diskette“) und ein optisches Plattenlaufwerk für Leseoperationen von oder Schreiboperationen auf eine auswechselbare, nicht flüchtige optische Platte, wie zum Beispiel ein CD-ROM, DVD-ROM, oder andere optische Datenträger bereitgestellt werden. In diesen Fällen kann jedes Plattenlaufwerk über eine oder mehrere Datenträger-Schnittstellen mit dem Bus 13 verbunden werden.
  • Der Hauptspeicher 12 kann mindestens ein Programmprodukt enthalten, das über ein oder mehrere Programmmodule verfügt, die so konfiguriert sind, dass sie Funktionen von Ausführungsformen der Erfindung ausführen. Als Beispiel kann das Programm/Dienstprogramm 17, das über (mindestens) einen Satz von Programmmodulen 18 verfügt, im Hauptspeicher 12 gespeichert werden, ebenso wie ein Betriebssystem, ein oder mehrere Anwendungsprogramme, andere Programmmodule und Programmdaten. Zu dem Betriebssystem, dem einen oder den mehreren Anwendungsprogrammen, den anderen Programmmodulen und Programmdaten oder einer bestimmten Kombination daraus kann jeweils eine Ausführung einer Netzwerkumgebung gehören. Die Programmmodule 18 führen im Allgemeinen die Funktionen und/oder die methodischen Vorgehensweisen von erfindungsgemäßen Ausführungsformen, die hierin beschrieben sind, aus.
  • Der Computer 10 kann auch Daten austauschen mit: einer oder mehreren externen Einheiten 19 wie zum Beispiel einer Tastatur, einem Zeigegerät, einem Bildschirm 20 usw.; einer oder mehreren Einheiten, die einem Benutzer den Dialogverkehr mit dem Computer 10 ermöglichen; und/oder beliebigen Einheiten (z.B. Netzkarte, Modem usw.), die dem Computer 10 den Datenaustausch mit einer oder mehreren anderen Datenverarbeitungseinheiten ermöglichen. Ein solcher Datenaustausch kann über Eingabe-/Ausgabe-(E/A-)Schnittstellen 21 erfolgen. Auch kann der Computer 10 mit einem oder mehreren Netzwerken wie zum Beispiel einem lokalen Netzwerk (LAN), einem allgemeinen Weitverkehrsnetz (WAN) und/oder einem öffentlichen Netz (z.B. dem Internet) über den Netzadapter 22 Daten austauschen. Wie abgebildet ist, tauscht der Netzadapter 22 mit den anderen Komponenten des Computers 10 über den Bus 13 Daten aus. Es sollte sich verstehen, dass auch andere Hardware- und/oder Software-Komponenten in Verbindung mit dem Computer 10 verwendet werden könnten, wenngleich diese nicht gezeigt sind. Zu Beispielen gehören, ohne darauf beschränkt zu sein: Mikrocode, Einheitentreiber, redundante Verarbeitungseinheiten, externe Anordnungen von Festplattenlaufwerken, RAID-Systeme, Bandlaufwerke und Speichersysteme zur Datenarchivierung usw.
  • In einer Konfigurationsprozedur vor dem Betrieb des Systems 1 erzeugt der DP-Computer 2 den ersten Maskierungsschlüssel k0 für die erste Epoche e = 0. In den zu beschreibenden Ausführungsformen weist der Maskierungsschlüssel ke für jede Epoche e (mindestens) einen Verschlüsselungsschlüssel se für ein deterministisches Verschlüsselungsschema ENC auf. (Ein deterministisches Verschlüsselungsschema ist ein Schema, bei dem der Verschlüsselungsalgorithmus Enc(k, X) zur Verschlüsselung einer Klartextnachricht X mit einem Schlüssel k immer denselben Geheimtext für denselben Schlüssel k und den Klartext X erzeugt). Die 3 und 4 geben grundlegende Schritte des dynamischen Datenmaskierungsschemas beim nachfolgenden Betrieb des Systems 1 an.
  • 3 gibt Schritte an, die zur Datenübertragung zwischen dem DP-Computer 2 und dem DU-Computer 3 in einer aktuellen Epoche e durchgeführt werden. Im Schritt 30 greift der DP-Computer 2 auf Daten zu, die an den DU-Computer 2 gesendet werden sollen. Die zu liefernden Daten können auf unterschiedliche Arten festgelegt werden, z.B. als Teil eines ursprünglichen Datensatzes, der zur Verarbeitung versendet werden soll, oder als Reaktion auf eine Datenanforderung vom DU-Computer 3 oder wenn neue Daten in der Datenbank 5 verfügbar werden und so weiter. In jedem Fall greift der DP-Computer 2 auf die Datenbank 5 zu, um die benötigten Daten abzurufen. Im Schritt 31 kennzeichnet der DP-Computer jedwede Datenelemente, die hier mit xi bezeichnet sind, in den zu sendenden Daten, die gemäß den zuvor erörterten Maskierungskriterien maskiert werden müssen. Unter der Annahme, dass die Daten mindestens eines dieser vorher festgelegten Datenelemente xi enthalten, erzeugt der DP-Computer dann maskierte Daten über den Prozess der Schritte 32 bis 34. Im Einzelnen wendet der DP-Computer 2 für jedes Datenelement xi im Schritt 32 eine Einweg-Funktion, die hier mit F bezeichnet ist, auf (mindestens) dieses Datenelement xi an, um einen ersten Wert, der mit hi bezeichnet ist, zu erzeugen. (Wie in der Technik hinlänglich bekannt ist, ist eine Einweg-Funktion eine Funktion, die schwer umzukehren ist. Das heißt, wenn sie auf eine Eingabe X angewendet wird, erzeugt die Funktion eine Ausgabe Y, so dass es schwierig ist (d.h. rechnerisch unmöglich), X aus gegebenem Yzu erraten). Im Schritt 33 erzeugt der DP-Computer dann ein maskiertes Datenelement yi,e , indem er den ersten Wert hi über ein deterministisches Verschlüsselungsschema ENC unter Verwendung des aktuellen Verschlüsselungsschlüssels se für die aktuelle Epoche e verschlüsselt. Im Schritt 34 ersetzt der DP-Computer 2 das ursprüngliche Datenelement xi durch das entsprechende maskierte Datenelement yi,e in den zu sendenden Daten. Im Schritt 35 sendet der DP-Computer 2 dann die resultierenden maskierten Daten (die sowohl maskierte als auch nicht maskierte Datenelemente enthalten können) an den DU-Computer 3 über das Netzwerk 4. Als Reaktion auf den Empfang der maskierten Daten im Schritt 36 speichert der DU-Computer die maskierten Daten in der Datenbank 6 und die Datenübertragung ist abgeschlossen.
  • 4 gibt die Schritte an, die im System 1 nach Ablauf der aktuellen Epoche e durchgeführt werden. Im Schritt 40 erzeugt der DP-Computer 2 einen neuen Verschlüsselungsschlüssel se+1 für das Verschlüsselungsschema ENC in der neuen Epoche (e + 1). Im Schritt 41 erzeugt der DP-Computer 2 Maskierungsaktualisierungsdaten, die hier mit δ bezeichnet sind. Die Maskierungsaktualisierungsdaten δ hängen von dem aktuellen und dem neuen Verschlüsselungsschlüssel se, se+1 ab und erlauben am DU-Computer 3 die Aktualisierung von maskierten, mit dem aktuellen Verschlüsselungsschlüssel se erzeugten Datenelementen yi,e auf maskierte, mit dem neuen Verschlüsselungsschlüssel se+1 erzeugte Datenelemente yi,e+1 . Der DP-Computer 2 sendet die Maskierungsaktualisierungsdaten δ im Schritt 42 an den DU-Computer 3 und aktualisiert den Epochenzähler e im Schritt 43 auf (e + 1). Der neue Verschlüsselungsschlüssel se+1 wird somit der aktuelle Verschlüsselungsschlüssel se für eine weitere Datenübertragung in der neuen aktuellen Epoche. Als Reaktion auf den Empfang der Maskierungsaktualisierungsdaten δ im Schritt 44 verwendet der DU-Computer 3 die Maskierungsaktualisierungsdaten, um die in der Datenbank 6 gespeicherten maskierten Daten mit einem geänderten Schlüssel erneut zu verschlüsseln. Im Einzelnen verwendet der DU-Computer 3 die Maskierungsaktualisierungsdaten δ, um jedes maskierte Datenelement yi,e (das mit dem alten aktuellen Verschlüsselungsschlüssel se erzeugt wurde) in den gespeicherten maskierten Daten auf ein maskiertes Datenelement yi,e+1 zu aktualisieren, das mit den neuen aktuellen Verschlüsselungsschlüssel se+1 erzeugt wird. Der Aktualisierungsprozess ist dann abgeschlossen.
  • Der Prozess von 4 wird erneut nach Ablauf der neuen Epoche und einer jeden nachfolgenden neuen Epoche durchgeführt, wobei der Verschlüsselungsschlüssel se für jede neue Epoche aktualisiert wird, und bereits an den DU-Computer 3 gesendete maskierte Daten werden unter Verwendung der Maskierungsaktualisierungsdaten δ mit einem geänderten Schlüssel erneut verschlüsselt, damit sie mit dem neuen Verschlüsselungsschlüssel konsistent sind. Jedwede weiteren Daten, die in einer neuen Epoche an den DU-Computer 3 gesendet werden, werden über den Prozess von 3 übertragen, wobei der neue Verschlüsselungsschlüssel als der aktuelle Verschlüsselungsschlüssel für diese Epoche verwendet wird.
  • Man wird feststellen, dass der Maskierungsprozess zwei Ebenen aufweist: eine statische, innere Ebene, welche die Einweg-Funktion F verwendet, und eine epochenspezifische äußere Ebene, welche die deterministische Verschlüsselung verwendet. Dadurch können der Maskierungsschlüssel aktualisiert und maskierte Daten für jede neue Epoche mit einem geänderten Schlüssel erneut verschlüsselt werden, ohne die ursprünglichen, nicht maskierten Datenelemente xi offenzulegen. Der Maskierungsprozess ist unumkehrbar: Ein maskierter Wert yi,e gibt keine Informationen über die ursprünglichen Daten xi preis (selbst wenn der Verschlüsselungsschlüssel se offenbart wird). Die Rekeying-Operation kann von dem nicht vertrauenswürdigen DU-Computer im Schritt 44 durchgeführt werden und stellt sicher, dass die referenzielle Integrität zwischen maskierten Daten, die in vorherigen Epochen versendet wurden, und jedweden weiteren Daten, die unter Verwendung des neuen Verschlüsselungsschlüssels für eine bestimmte Epoche maskiert werden, bewahrt wird. Das Schema stellt somit eine dynamische Datenmaskierung mit Schlüsselentwicklung bereit, bei der eine Offenlegung des Schlüssels keine Beziehungen zwischen Daten offenbart, die in der Vergangenheit maskiert wurden, und bei der Rekeying-Aktualisierungen an zuvor maskierten Daten von einer nicht vertrauenswürdigen Entität durchgeführt werden können.
  • Eine Ausführung des vorstehenden Schemas kann wie folgt formalisiert werden.
  • Schlüssel entwickelnde Dynamische Datenmaskierung. Das Schlüssel entwickelnde dynamische Datenmaskierungsschema DDM besteht aus einem Datenraum X, einem maskierten Raum y ,
    Figure DE112018000143T5_0001
    und einem Satz von Polynomialzeit-Algorithmen DDM.setup, DDM.next, DDM.mask und DDM.upd, die die folgenden Bedingungen erfüllen.
  • DDM.setup. Der Algorithmus DDM.setup ist ein von dem Datenanbieter ausgeführter probabilistischer Algorithmus. Nach der Eingabe eines Sicherheitsparameters λ gibt dieser Algorithmus par, einen Satz von Systemparametern, und k0 , einen Maskierungsschlüssel für die Epoche e = 0 zurück. Das heißt, ( p a r , k 0 ) r DDM .setup ( λ ) ,
    Figure DE112018000143T5_0002
    wobei r anzeigt, dass der Algorithmus probabilistisch ist.
  • DDM.next. Dieser probabilistische Algorithmus wird ebenfalls von dem Datenanbieter ausgeführt. Nach der Eingabe par, einer Epoch e ≥ 0 und eines Maskierungsschlüssels ke für diese Epoche gibt er einen Maskierungsschlüssel ke+1 und einen Maskenaktualisierungswert δe+1 für die Epoch e + 1 aus. Das heißt, ( k e + 1 , δ e + 1 ) r DDM .next  ( p a r , e , k e ) .
    Figure DE112018000143T5_0003
  • DDM.mask. Dies ist ein deterministischer, injektiver Algorithmus, der von dem Datenanbieter ausgeführt wird. Für die Systemparameter par, einige Eingabedaten x X ,
    Figure DE112018000143T5_0004
    eine Epoche e und ihren entsprechenden Maskierungsschlüssel ke gibt der Algorithmus einen maskierten Wert y e Y
    Figure DE112018000143T5_0005
    aus. Das heißt, ye ← DDM.mask(par, x, e, ke ).
  • DM.upd. Dieser deterministische Algorithmus wird von dem Datenbenutzer ausgeführt und verwendet den Maskenaktualisierungswert. Nach der Eingabe von maskierten Daten ye von der Epoche e und dem Maskenaktualisierungswert δe+1 aktualisiert DDM.upd ye auf ye+1 , das heißt, ye+1 ← DDM.upd(ye , δe+1 ).
  • Beispielhafte Ausführungsformen des vorstehenden Schemas sind nachstehend ausführlich beschrieben. Einige Vorbemerkungen werden zuerst gemacht.
  • Deterministische symmetrische Verschlüsselung. Ein symmetrisches Verschlüsselungsschema SE besteht aus einem Schlüsselraum K
    Figure DE112018000143T5_0006
    und drei Polynomialzeit-Algorithmen SE.KeyGen, SE.Enc, SE.Dec, die die folgenden Bedingungen erfüllen.
  • SE.KeyGen. Der Schlüsselerzeugungsalgorithmus SE.KeyGen ist ein probabilistischer Algorithmus, der als Eingabe einen Sicherheitsparameter λ verwendet und einen Verschlüsselungsschlüssel s K
    Figure DE112018000143T5_0007
    erzeugt. Das heißt, s r SE .KeyGen ( λ ) .
    Figure DE112018000143T5_0008
  • SE.Enc. Der deterministische Verschlüsselungsalgorithmus verwendet einen Schlüssel s E X und eine Nachricht m E ℳ, wobei ℳ der Nachrichtenraum ist, und gibt einen Geheimtext C zurück. Wir schreiben C ← SE.Enc(s, m) für die Operation der Ausführung von SE.Enc an s und m, wobei C den ausgegebenen Geheimtext bezeichnet.
  • SE.Dec. Der deterministische Entschlüsselungsalgorithmus SE.Dec verwendet einen Schlüssel s K
    Figure DE112018000143T5_0009
    und einen Geheimtext C, um eine Nachricht m E (ℳ ∪ {⊥}) zurückzugeben, wobei 1 ein Fehlersymbol bezeichnet. Wir schreiben m <- SE.Dec(s, C) für die Operation der Ausführung von SE.Dec an s und C, wobei m die Ausgabenachricht bezeichnet.
  • Hashfunktionen. Wir verwenden des Weiteren Hashfunktionen H : K × D R ,
    Figure DE112018000143T5_0010
    wobei ℌ eine Familie von Hashfunktionen bezeichnet und eine ganz bestimmte Instanz ausgewählt wird, indem ein Hashschlüssel h k r K
    Figure DE112018000143T5_0011
    ausgewählt wird. Eine Hashberechnung für die Eingabe x wird als h←ℌ(hk,x) bezeichnet. Für unsere Konstruktionen verwenden wir eine Hashfunktion, die (schwach) kollisionsresistent, pseudozufällig und schwer umzukehren ist (Einweg).
  • Entscheidende Diffie-Hellman-Gruppen. Die nachstehende zweite Konstruktion beruht auf der Entscheidenden Diffie-Hellman-Annahme. Wir definieren einen Entscheidenden Diffie-Hellman-Parametergenerator als einen Polynomialzeit-Algorithmus DDHgen, der nach der Eingabe eines Sicherheitsparameters λ eine ganze Zahl p zusammen mit der Beschreibung einer zyklischen Gruppe G g
    Figure DE112018000143T5_0012
    der Ordnung p erzeugt.
  • Vertraulichkeit von Schlüssel entwickelnden DDM-Schemata. Das Hauptziel von DDM besteht darin, Vertraulichkeit für Datenwerte zu erreichen, wobei sichergestellt wird, dass ein Gegner keine Informationen über die maskierten Werte erlangen und diese nicht mit Eingabedaten verknüpfen kann, die in vergangenen Epochen maskiert wurden. Wir beziehen uns auf drei auf Ununterscheidbarkeit beruhende Begriffe für die Vertraulichkeit von maskierten Werten und einen Begriff, der ausschließt, dass ein Gegner die Maskierung rückgängig machen und den eingegebenen Wert aus einem maskierten Wert wiederherstellen kann, wie folgt:
  • IND-HOCH: Indistinguishability with Honest Owner and Corrupted Host. Dies ist das grundlegendste Sicherheitskriterium, das sich auf den Schlüssel entwickelnden dynamischen Aspekt von DDM konzentriert. Es betrachtet den Eigentümer (Dateneigentümer) als ehrlich und gestattet die Beschädigung des Hosts (Datenbenutzers) während der Interaktion. Der Gegner erlangt Zugriff auf die Aktualisierungswerte für alle Epochen im Anschluss an die Beschädigung und sollte dennoch (grob gesagt) nicht in der Lage sein, Werte zu unterscheiden, die vor der Beschädigung maskiert wurden.
  • IND-COHH: Indistinguishability with Corrupted Owner and Honest Host. Bei der Modellierung einer Beschädigung des Eigentümers (Datenanbieters) zu irgendeinem Zeitpunkt bringt der Gegner den Maskierungsschlüssel der beschädigten Epoche und alle Geheimnisse des Eigentümers in Erfahrung. Daraufhin kann der Gegner die Kontrolle über den Eigentümer übernehmen, sollte aber nicht die Entsprechung zwischen Werten in Erfahrung bringen, die vor der Beschädigung maskiert wurden. Es wird angenommen, dass der Host (Datenbenutzer) (meistens) ehrlich bleibt.
  • IND-COTH: Indistinguishability with Corrupted Owner and Transiently Corrupted Host. Als eine Verfeinerung der ersten beiden Begriffe kann der Gegner den Host (Datenbenutzer) während mehrerer Epochen nach seiner Wahl vorübergehend beschädigen, und er kann auch den Eigentümer (Datenanbieter) ein Mal beschädigen. Der Gegner bringt die Aktualisierungswerte der jeweiligen Epochen, in denen er den Host beschädigt, in Erfahrung und er bringt den Maskierungsschlüssel der Epoche in Erfahrung, in der er den Eigentümer beschädigt. Datenwerte, die vor der Offenlegung der Geheimnisse des Eigentümers maskiert wurden, sollten unverknüpfbar bleiben.
  • Nichtumkehrbarkeit: Dieser Begriff modelliert den Fall, in dem der Eigentümer (Datenanbieter) gleich in der ersten Epoche beschädigt wird und der Gegner somit alle Geheimnisse in Erfahrung bringt. Dennoch sollte die Maskierungsoperation eine Einwegoperation in dem Sinn sein, dass das Feststellen eines maskierten Werts dem Gegner keinen Vorteil beim Erraten der entsprechenden Eingabe aus dem Eingabebereich verschafft.
  • Die 5 und 6 geben den Betrieb des Systems 1 mit einem einen Schlüssel entwickelnden Datenmaskierungsschema DDMSE an, das auf einem deterministischen symmetrischen Verschlüsselungsschema SE = (SE.KeyGen, SE.Enc; SE.Dec) und einer Familie von kollisionsresistenten verschlüsselten Hashfunktionen H : K × D R
    Figure DE112018000143T5_0013
    beruht. Bei dieser Konstruktion weist der Maskierungsschlüssel ke für jede Epoche e einen eindeutigen, zufälligen symmetrischen Schlüssel se für das Verschlüsselungsschema SE und einen langfristigen (festen) geheimen Hashschlüssel hk des Datenanbieters auf. Der anfängliche Maskierungsschlüssel k0 = (s0, hk) für die Epoche e = 0 wird vom DP-Computer 2 in einer Konfigurationsoperation erzeugt, indem s 0 r SE .KeyGen ( λ )
    Figure DE112018000143T5_0014
    berechnet und h k r K
    Figure DE112018000143T5_0015
    gewählt wird.
  • Zuerst Bezug nehmend auf die Datenübertragungsprozedur von 5 entsprechen die Schritte 50 und 51 den Schritten 30 bzw. 31 von 3. Im Schritt 52 berechnet der DP-Computer 2 für jedes zu maskierende Datenelement xi den ersten Wert hi , indem er die Hashfunktion ℌ auf dieses Datenelement xi und den geheimen Hashschlüssel hk anwendet, d.h. hi ← ℌ(hk, xi ). Im Schritt 53 erzeugt der DP-Computer 2 das maskierte Datenelement yi,e, indem er den Hashwert hi über das Verschlüsselungsschema SE unter Verwendung des Verschlüsselungsschlüssels se für die aktuelle Epoche e verschlüsselt, d.h. yi,e <- SE.Enc(se , hi ). Die nachfolgenden Schritte 54 bis 56 entsprechen den Schritten 34 bis 36 von 3.
  • Der Aktualisierungsprozess von 6 wird nach Ablauf einer jeden aktuellen Epoche e durchgeführt. Im Schritt 60 erzeugt der DP-Computer 2 den neuen Verschlüsselungsschlüssel se+1 für die nächste Epoche als s e + 1 r SE .KeyGen ( λ ) .
    Figure DE112018000143T5_0016
    se+1 Die im Schritt 61 erzeugten Maskierungsaktualisierungsdaten weisen den aktuellen Verschlüsselungsschlüssel se und den neuen Verschlüsselungsschlüssel se+1 auf, d.h. δ = (se, se+1 ). Nachdem δ im Schritt 62 an den DU-Computer 3 gesendet wurde, löscht der DP-Computer se und δ und aktualisiert den Epochenzähler e im Schritt 63. Der neue Verschlüsselungsschlüssel se+1 wird somit der aktuelle Verschlüsselungsschlüssel se für eine Datenübertragung in der neuen Epoche. Nach dem Empfang der Maskierungsaktualisierungsdaten δ = (se, se+1 ) im Schritt 64 verschlüsselt der DU-Computer 3 die in der Datenbank 6 gespeicherten maskierten Daten erneut mit einem geänderten Schlüssel. Das Rekeying wird erreicht, indem: (a) jedes maskierte Datenelement yi,e unter Verwendung des aktuellen Verschlüsselungsschlüssels se über den Entschlüsselungsalgorithmus SE.Dec entschlüsselt wird, um den ersten Wert hi zu erhalten; und (b) der erste Wert hi über den Verschlüsselungsalgorithmus SE.Enc unter Verwendung des neuen Verschlüsselungsschlüssels se+1 erneut verschlüsselt wird, wodurch man yi,e+1 erhält. Der DU-Computer löscht die Maskierungsaktualisierungsdaten δ dann im Schritt 65 und der Aktualisierungsprozess ist abgeschlossen.
  • Die vorstehende Konstruktion kann in Bezug auf Algorithmen eines einen Schlüssel entwickelnden DDM-Schemas wie folgt definiert werden:
  • DDMSE.setup(λ).
    • (a) Führe s 0 r SE .KeyGen ( λ )
      Figure DE112018000143T5_0017
      aus, um einen symmetrischen Verschlüsselungsschlüssel s0 zu erhalten.
    • (b) Wähle zufällig einen Hashschlüssel h k r K
      Figure DE112018000143T5_0018
      aus.
    • (c) Sei k0 ← (s0 , hk) und par = ⊥. Gib (par, k0 ) aus
  • DDMSE.next(par, e, ke ).
    • (a) Parse ke als (se, hk).
    • (b) Führe s e + 1 r SE .KeyGen ( λ )
      Figure DE112018000143T5_0019
      aus, um einen symmetrischen Verschlüsselungsschlüssel s", zu erhalten.
    • (c) Sei ke+1 ← (se+1, hk) und sei δe+1= (se, se+1).
    • (d) Gib (ke+1, δe+1) aus.
  • DDMSE.mask(par, xi , e, ke ).
    1. (a) Parse ke als (se, hk).
    2. (b) Berechne den Wert yi,e ← SE.Enc(se , ℌ(hk, xi )).
    3. (c) Gib yi,e aus.
  • DDMSE.upd(yi,e, δe+1).
    1. (a) Parse δe+1 als (se, se+1).
    2. (b) Berechne den Wert yi,e+1 ← SE.Enc(se+1. SE.Dec(se , ye )).
    3. (c) Gib yi,e+1 aus.
  • Die oben erwähnte Konstruktion ergibt ein effizientes DDM-Schema, das die Sicherheitsbegriffe IND-HOCH und IND-COHH sowie das Erfordernis der Nichtumkehrbarkeit erfüllt.
  • Die 7 und 8 geben den Betrieb des Systems 1 mit einem einen Schlüssel entwickelnden Datenmaskierungsschema DDMDL an, das auf der Annahme eines diskreten Logarithmus beruht, wobei die Aktualisierung auf eine Weise durchgeführt wird, bei der ein Proxy erneut verschlüsselt wird. Dieses Schema verwendet wieder eine Familie von kollisionsresistenten verschlüsselten Hashfunktionen, H : K × D R ,
    Figure DE112018000143T5_0020
    und ein deterministisches Verschlüsselungsschema. Bei diesem Schema weisen die Maskierungsaktualisierungsdaten jedoch eine vorher festgelegte Funktion δ des aktuellen und des neuen Verschlüsselungsschlüssels se, se+1 auf, und das Verschlüsselungsschema weist einen Algorithmus Enc(k, X) auf, um einen Wert X mit einem Verschlüsselungsschlüssel k zu verschlüsseln, so dass: Enc ( δ , ( Enc ( s e , X ) ) = Enc ( s e + 1 , X ) .
    Figure DE112018000143T5_0021
  • Daher können die maskierten Datenelemente aktualisiert werden, indem jedes maskierte Datenelement über den Algorithmus Enc(k, X) unter Verwendung des Verschlüsselungsschlüssels k = δ verschlüsselt wird.
  • Wie zuvor weist der Maskierungsschlüssel ke für jede Epoche e einen zufälligen epochenspezifischen Schlüssel se und einen langfristigen Hashschlüssel hk des Datenanbieters auf. Der anfängliche Maskierungsschlüssel k0 = (s0 , hk) für die Epoche e = 0 wird vom DP-Computer 2 in einer Konfigurationsoperation erzeugt. In diesem Beispiel wird der Schlüssel s0 erzeugt, indem ein Exponent s 0 r p
    Figure DE112018000143T5_0022
    zufällig gewählt wird, wobei ℤp die Gruppe der ganzen Zahlen modulo p ist. Der Hashschlüssel wird wie zuvor erzeugt, indem h k r K
    Figure DE112018000143T5_0023
    gewählt wird.
  • In der Datenübertragungsprozedur von 7 entsprechen die Schritte 70 bis 72 jeweils den Schritten 50 bis 52 von 5. Im Schritt 73 erzeugt der DP-Computer 2 hier das maskierte Datenelement yi,e , indem er den Hashwert hi für ein Datenelement xi unter Verwendung des Verschlüsselungsschlüssels se über den Algorithmus Enc(se , X) = Xs e verschlüsselt, d.h. yi,e <-(hi )s e . Die nachfolgenden Schritte 74 bis 76 entsprechen den Schritten 54 bis 56 von 5. In dem Aktualisierungsprozess von 8 erzeugt der DP-Computer 2 den neuen r Verschlüsselungsschlüssel s", im Schritt 80 als s e + 1 r p .
    Figure DE112018000143T5_0024
    Die Maskierungsaktualisierungsdaten werden im Schritt 81 als Quotient des aktuellen und des neuen Verschlüsselungsschlüssels erzeugt: δ = se+1/se. Nachdem δ im Schritt 82 an den DU-Computer 3 gesendet wurde, löscht der DP-Computer se und δ und aktualisiert den Epochenzähler e im Schritt 83. Der neue Verschlüsselungsschlüssel se+1 wird somit der aktuelle Verschlüsselungsschlüssel se für eine Datenübertragung in der neuen Epoche. Nach dem Empfang der Maskierungsaktualisierungsdaten δ = se+1/se verschlüsselt der DU-Computer 3 im Schritt 84 die maskierten Daten in der Datenbank 6 erneut mit einem geänderten Schlüssel, indem er jedes maskierte Datenelement yi,e über den Algorithmus (k, X) unter Verwendung des Verschlüsselungsschlüssels k = δ verschlüsselt. Folglich ist Enc(δ, Enc ( δ , y i , e ) = ( y i , e ) δ = ( h i ) s e s e + 1 s e = ( h i ) s e + 1 ,
    Figure DE112018000143T5_0025
    wobei das maskierte Datenelement auf yi,e+1 aktualisiert wird. Der DU-Computer löscht die Maskierungsaktualisierungsdaten δ im Schritt 85 und der Aktualisierungsprozess ist abgeschlossen.
  • Die zweite Konstruktion kann in Bezug auf Algorithmen eines einen Schlüssel entwickelnden DDM-Schemas wie folgt definiert werden:
  • DDMDL .setup(λ).
    • (a) Wähle zufällig einen Exponenten s 0 r p
      Figure DE112018000143T5_0026
      und einen Hashschlüssel h k r K .
      Figure DE112018000143T5_0027
    • (c) Sei k0 ← (s0 , hk) und p a r = ( G , p , g , H ) .
      Figure DE112018000143T5_0028
      Gib (par, k0 ) aus
  • DDMDL .next(par, e, ke ).
    • (a) Parse ke als (se, hk).
    • (b) Wähle zufällig einen Exponenten s e + 1 r p ,
      Figure DE112018000143T5_0029
    • (c) Sei ke+1 ← (se+1, hk) und sei δe+1= se+1/se.
    • (d) Gib (ke+1, δe+1) aus.
  • DDMDL.mask(par, xi , e, ke ).
    1. (a) Parse ke als (se, hk).
    2. (b) Berechne yi,e ← (ℌ(hk, xi ))s e
    3. (c) Gib yi,e aus.
  • DDMSE.upd(yi,e, δe+1).
    1. (a) Berechne yi,e+1 ← (yi,e)δ e+1 .
    2. (b) Gib yi,e+1 aus.
  • Die zweite Konstruktion ergibt ein außergewöhnlich sicheres und effizientes DDM-Schema, das Nichtumkehrbarkeit und alle drei Sicherheitsbegriffe IND-HOCH, IND-COHH und IND-COTH erfüllt. Um maskierte Werte zu aktualisieren, erhält der Datenbenutzer nicht die Verschlüsselungsschlüssel an sich, sondern nur den Quotienten aus dem aktuellen und dem neuen Exponenten. Während dies dem Datenbenutzer erlaubt, die maskierten Daten immer wieder zu aktualisieren, gibt es nicht den inneren Hash in dem Aktualisierungsprozess preis und gewährleistet Unverknüpfbarkeit von maskierten Werten über Epochen hinweg, wobei auf diese Weise der stärkste Begriff der IND-COTH-Sicherheit erfüllt wird.
  • Man wird feststellen, dass die vorstehenden Ausführungsformen dynamische Datenmaskierungsschemata bieten, die auf einer beweisbar sicheren Kryptographie beruhen und eine Schlüsselentwicklung mit effizientem und konsistentem Rekeying von maskierten Daten in einer nicht vertrauenswürdigen Domäne unterstützen.
  • Viele Ab- und Veränderungen können natürlich an den beschriebenen beispielhaften Ausführungsformen vorgenommen werden. Zum Beispiel kann der Fachmann alternative Konstruktionen für Algorithmen Enc(k, X) und Maskenaktualisierungswerte δ, die Enc(δ, (Enc(se , X)) = Enc(se+1, X) erfüllen, in Betracht ziehen. Andere Einweg-Funktionen F können in der inneren Maskierungsebene verwendet werden. Während die Verwendung eines statischen geheimen Schlüssels hk in dieser Ebene die Sicherheit erhöht, kann die Einweg-Funktion in einigen Ausführungsformen auch ohne einen statischen Schlüssel hk auf ein Datenelement xi angewendet werden. Die Verwendung des statischen Schlüssels kann zum Beispiel in den Ausführungsformen, die den inneren Hash hi nicht preisgeben, weniger wichtig sein.
  • Während die vorstehende erste Konstruktion ein symmetrisches Verschlüsselungsschema verwendet, könnte auf Wunsch ein asymmetrisches Verschlüsselungsschema verwendet werden, wenn auch mit Effizienzverlust. Bei der asymmetrischen Verschlüsselung werden verschiedene Schlüssel eines Schlüsselpaars zur Ver- und Entschlüsselung verwendet, wobei die Maskierungsaktualisierungsdaten den Entschlüsselungsschlüssel für eine aktuelle Epoche und den Verschlüsselungsschlüssel für die nächste Epoche enthalten würden. Während die spezifischen Beispiele dynamische Datenmaskierungsschemata beschreiben, können die beschriebenen Grundsätze des Weiteren zum Vorteil in statischen Datenmaskierungsfällen angewendet werden.
  • Die Beschreibungen der verschiedenen Ausführungsformen der vorliegenden Erfindung erfolgten zum Zweck der Veranschaulichung, sollen jedoch nicht erschöpfend oder auf die offenbarten Ausführungsformen beschränkt sein. Viele Veränderungen und Varianten sind für den Fachmann erkennbar, ohne vom Umfang und Wesen der beschriebenen Ausführungsformen abzuweichen. Die hierin verwendete Terminologie wurde gewählt, um die Grundgedanken der Ausführungsformen, die praktische Anwendung oder technische Verbesserung gegenüber auf dem Markt befindlichen Technologien am besten zu erklären bzw. um anderen Fachleuten das Verständnis der hierin offenbarten Ausführungsformen zu ermöglichen.

Claims (25)

  1. Durch einen Computer ausgeführtes Verfahren zur Datenmaskierung an einem Datenanbieter-Computer, wobei das Verfahren aufweist: Zugreifen, unter Verwendung eines Prozessorsystems, auf Daten, die an einen Datenbenutzer-Computer gesendet werden sollen; Erzeugen, unter Verwendung des Prozessorsystems, von maskierten Daten, indem für mindestens ein vorher festgelegtes Datenelement in den zu sendenden Daten eine Einweg-Funktion auf dieses Datenelement angewendet wird, um einen ersten Wert zu erzeugen, ein maskiertes Datenelement erzeugt wird, indem der erste Wert über ein deterministisches Verschlüsselungsschema unter Verwendung eines aktuellen Verschlüsselungsschlüssels für eine aktuelle Epoche verschlüsselt wird, und dieses Datenelement durch das maskierte Datenelement ersetzt wird; Senden der maskierten Daten an den Datenbenutzer-Computer; und nach Ablauf der aktuellen Epoche Erzeugen eines neuen Verschlüsselungsschlüssels für das Verschlüsselungsschema in einer neuen Epoche, Erzeugen von Maskierungsaktualisierungsdaten, die von dem aktuellen und dem neuen Verschlüsselungsschlüssel abhängen, und Senden der Maskierungsaktualisierungsdaten an den Datenbenutzer-Computer; wobei die Maskierungsaktualisierungsdaten das Aktualisieren, an dem Datenbenutzer-Computer, von maskierten, mit dem aktuellen Verschlüsselungsschlüssel erzeugten Datenelementen auf maskierte, mit dem neuen Verschlüsselungsschlüssel erzeugte Datenelemente erlauben.
  2. Verfahren nach Anspruch 1, das das Durchführen der Schritte des Erzeugens des neuen Verschlüsselungsschlüssels, des Erzeugens der Maskierungsaktualisierungsdaten und des Sendens der Maskierungsaktualisierungsdaten an den Datenbenutzer-Computer nach Ablauf von jeweils der neuen Epoche und nachfolgender neuer Epochen beinhaltet.
  3. Verfahren nach Anspruch 2, das während einer jeden von mindestens einigen der neuen Epochen beinhaltet: Zugreifen auf weitere Daten, die an den Datenbenutzer-Computer gesendet werden sollen; Durchführen, für die weiteren Daten, des Schritts des Erzeugens von maskierten Daten unter Verwendung des neuen Verschlüsselungsschlüssels als aktuellen Verschlüsselungsschlüssel für diese Epoche und Senden der weiteren maskierten Daten an den Datenbenutzer-Computer.
  4. Verfahren nach Anspruch 1, wobei das Verschlüsselungsschema ein symmetrisches Verschlüsselungsschema aufweist und die Maskierungsaktualisierungsdaten den aktuellen Verschlüsselungsschlüssel und den neuen Verschlüsselungsschlüssel aufweisen.
  5. Verfahren nach Anspruch 4, das das Anwenden der Einweg-Funktion auf das Datenelement und einen geheimen Schlüssel des Datenanbieter-Computers beinhaltet, um den ersten Wert zu erzeugen.
  6. Verfahren nach Anspruch 5, wobei die Einweg-Funktion eine Hashfunktion aufweist.
  7. Verfahren nach Anspruch 1, wobei die Maskierungsaktualisierungsdaten eine vorher festgelegte Funktion δ des aktuellen und des neuen Verschlüsselungsschlüssels aufweisen und das Verschlüsselungsschema einen Algorithmus Enc(k, X) aufweist, um einen Wert X mit einem Verschlüsselungsschlüssel k zu verschlüsseln, so dass: Enc(δ, (Enc(se, X)) = Enc(se+1, X) wobei se der aktuelle Verschlüsselungsschlüssel und se+1 der neue Verschlüsselungsschlüssel ist.
  8. Verfahren nach Anspruch 7, wobei der Algorithmus Enc(k, X) = Xk und δ = se+1/ se.
  9. Verfahren nach Anspruch 8, das das Anwenden der Einweg-Funktion auf das Datenelement und einen geheimen Schlüssel des Datenanbieter-Computers beinhaltet, um den ersten Wert zu erzeugen.
  10. Verfahren nach Anspruch 9, wobei die Einweg-Funktion eine Hashfunktion aufweist.
  11. Durch einen Computer ausgeführtes Verfahren zum Verwalten von maskierten Daten an einem Datenbenutzer-Computer, wobei das Verfahren aufweist: Empfangen, unter Verwendung eines Prozessorsystems, von maskierten Daten von einem Datenanbieter-Computer, wobei die maskierten Daten mindestens ein maskiertes Datenelement enthalten, das erzeugt wird, indem eine Einweg-Funktion auf ein Datenelement angewendet wird, um einen ersten Wert zu erzeugen, und der erste Wert über ein deterministisches Verschlüsselungsschema unter Verwendung eines aktuellen Verschlüsselungsschlüssels für eine aktuelle Epoche verschlüsselt wird; Speichern, unter Verwendung eines Hauptspeichers, der maskierten Daten; nach Ablauf der aktuellen Epoche Empfangen von Maskierungsaktualisierungsdaten von dem Datenanbieter-Computer, die von dem aktuellen Verschlüsselungsschlüssel und einem neuen Verschlüsselungsschlüssel für das Verschlüsselungsschema in einer neuen Epoche abhängen; und Verwenden der Maskierungsaktualisierungsdaten, um jedes mit dem aktuellen Verschlüsselungsschlüssel erzeugte maskierte Datenelement in den gespeicherten maskierten Daten auf ein mit dem neuen Verschlüsselungsschlüssel erzeugtes maskiertes Datenelement zu aktualisieren.
  12. Verfahren nach Anspruch 11, das nach Ablauf von jeweils der neuen Epoche und nachfolgender neuer Epochen beinhaltet: Empfangen von Maskierungsaktualisierungsdaten von dem Datenanbieter-Computer, die von dem Verschlüsselungsschlüssel für diese Epoche und einem neuen Verschlüsselungsschlüssel für das Verschlüsselungsschema in der nächsten Epoche abhängen; und Verwenden dieser Maskierungsaktualisierungsdaten, um jedes maskierte Datenelement in den gespeicherten maskierten Daten auf ein mit dem neuen Verschlüsselungsschlüssel erzeugtes maskiertes Datenelement zu aktualisieren.
  13. Verfahren nach Anspruch 12, das während einer jeden von mindestens einigen der neuen Epochen beinhaltet: Empfangen von weiteren maskierten Daten von dem Datenanbieter-Computer, die mindestens ein maskiertes Datenelement enthalten, das erzeugt wird, indem die Einweg-Funktion auf ein Datenelement angewendet wird, um einen ersten Wert zu erzeugen, und der erste Wert über das Verschlüsselungsschema unter Verwendung des Verschlüsselungsschlüssels für diese Epoche verschlüsselt wird; und Speichern der weiteren maskierten Daten.
  14. Verfahren nach Anspruch 11, wobei das Verschlüsselungsschema ein symmetrisches Verschlüsselungsschema aufweist und die Maskierungsaktualisierungsdaten den aktuellen Verschlüsselungsschlüssel und den neuen Verschlüsselungsschlüssel aufweisen, wobei das Verfahren beinhaltet: Verwenden der Maskierungsaktualisierungsdaten, um jedes maskierte Datenelement in den gespeicherten maskierten Daten zu aktualisieren, indem dieses maskierte Datenelement unter Verwendung des aktuellen Verschlüsselungsschlüssels über einen Entschlüsselungsalgorithmus des Verschlüsselungsschemas entschlüsselt wird, um den ersten Wert zu erhalten, und der erste Wert über das Verschlüsselungsschema unter Verwendung des neuen Verschlüsselungsschlüssels erneut verschlüsselt wird.
  15. Verfahren nach Anspruch 11, wobei die Maskierungsaktualisierungsdaten eine vorher festgelegte Funktion δ des aktuellen und des neuen Verschlüsselungsschlüssels aufweisen und das Verschlüsselungsschema einen Algorithmus Enc(k, X) zur Verschlüsselung eines Werts X mit einem Verschlüsselungsschlüssel k aufweist, so dass Enc(δ, (Enc(se, X)) = Enc(se+1, X), wobei se der aktuelle Verschlüsselungsschlüssel und se+1 der neue Verschlüsselungsschlüssel ist, wobei das Verfahren beinhaltet: Verwenden der Maskierungsaktualisierungsdaten, um jedes maskierte Datenelement in den gespeicherten maskierten Daten zu aktualisieren, indem dieses maskierte Datenelement über den Algorithmus Enc(k, X) unter Verwendung des Verschlüsselungsschlüssels k = δ verschlüsselt wird.
  16. Verfahren nach Anspruch 15, wobei der Algorithmus Enc(k, X) = Xk und δ = se+1/ se.
  17. Computerprogrammprodukt zur Datenmaskierung, wobei das Computerprogrammprodukt ein durch einen Computer lesbares Speichermedium aufweist, in dem Programmanweisungen enthalten sind, wobei die Programmanweisungen durch einen Datenanbieter-Computer ausführbar sind, um den Datenanbieter-Computer dazu zu veranlassen: auf Daten zuzugreifen, die an einen Datenbenutzer-Computer gesendet werden sollen; maskierte Daten zu erzeugen, indem für mindestens ein vorher festgelegtes Datenelement in den zu sendenden Daten eine Einweg-Funktion auf dieses Datenelement angewendet wird, um einen ersten Wert zu erzeugen, ein maskiertes Datenelement erzeugt wird, indem der erste Wert über ein deterministisches Verschlüsselungsschema unter Verwendung eines aktuellen Verschlüsselungsschlüssels für eine aktuelle Epoche verschlüsselt wird, und dieses Datenelement durch das maskierte Datenelement ersetzt wird; die maskierten Daten an den Datenbenutzer-Computer zu senden; und nach Ablauf der aktuellen Epoche einen neuen Verschlüsselungsschlüssel für das Verschlüsselungsschema in einer neuen Epoche zu erzeugen, Maskierungsaktualisierungsdaten zu erzeugen, die von dem aktuellen und dem neuen Verschlüsselungsschlüssel abhängen, und die Maskierungsaktualisierungsdaten an den Datenbenutzer-Computer zu senden; wobei die Maskierungsaktualisierungsdaten das Aktualisieren, an dem Datenbenutzer-Computer, von maskierten, mit dem aktuellen Verschlüsselungsschlüssel erzeugten Datenelementen auf maskierte, mit dem neuen Verschlüsselungsschlüssel erzeugte Datenelemente erlauben.
  18. Computerprogrammprodukt nach Anspruch 17, wobei die Programmanweisungen des Weiteren ausführbar sind, um den Datenanbieter-Computer dazu zu veranlassen, die Schritte des Erzeugens des neuen Verschlüsselungsschlüssels, des Erzeugens der Maskierungsaktualisierungsdaten und des Sendens der Maskierungsaktualisierungsdaten an den Datenbenutzer-Computer nach Ablauf der neuen Epoche und einer jeden der nachfolgenden neuen Epochen durchzuführen.
  19. Computerprogrammprodukt nach Anspruch 17, wobei die Programmanweisungen so ausführbar sind, dass: die Einweg-Funktion auf das Datenelement und einen geheimen Schlüssel des Datenanbieter-Computers angewendet wird, um den ersten Wert zu erzeugen; die Maskierungsaktualisierungsdaten eine vorher festgelegte Funktion δ des aktuellen und des neuen Verschlüsselungsschlüssels aufweisen; und das Verschlüsselungsschema einen Algorithmus Enc(k, X) zur Verschlüsselung eines Werts X mit einem Verschlüsselungsschlüssel k aufweist, so dass Enc(δ, (Enc(se, X)) = Enc(se+1, X), wobei se der aktuelle Verschlüsselungsschlüssel und se+1 der neue Verschlüsselungsschlüssel ist.
  20. Computerprogrammprodukt zur Verwaltung von maskierten Daten, wobei das Computerprogrammprodukt ein durch einen Computer lesbares Speichermedium aufweist, in dem Programmanweisungen enthalten sind, wobei die Programmanweisungen durch einen Datenbenutzer-Computer ausführbar sind, um den Datenbenutzer-Computer dazu zu veranlassen: als Reaktion auf den Empfang von maskierten Daten von einem Datenanbieter-Computer, welche mindestens ein maskiertes Datenelement enthalten, das erzeugt wird, indem eine Einweg-Funktion auf ein Datenelement angewendet wird, um einen ersten Wert zu erzeugen, und der erste Wert über ein deterministisches Verschlüsselungsschema unter Verwendung eines aktuellen Verschlüsselungsschlüssels für eine aktuelle Epoche verschlüsselt wird, die maskierten Daten zu speichern; als Reaktion auf den Empfang von Maskierungsaktualisierungsdaten von dem Datenanbieter-Computer nach Ablauf der aktuellen Epoche, welche von dem aktuellen Verschlüsselungsschlüssel und einer neuen Verschlüsselung für das Verschlüsselungsschema in einer neuen Epoche abhängen, die Maskierungsaktualisierungsdaten zu verwenden, um jedes mit dem aktuellen Verschlüsselungsschlüssel erzeugte maskierte Datenelement in den gespeicherten maskierten Daten auf ein mit dem neuen Verschlüsselungsschlüssel erzeugtes maskiertes Datenelement zu aktualisieren.
  21. Computerprogrammprodukt nach Anspruch 20, wobei die Programmanweisungen des Weiteren ausführbar sind, um den Datenbenutzer-Computer dazu zu veranlassen: als Reaktion auf den Empfang von Maskierungsaktualisierungsdaten von dem Datenanbieter-Computer nach Ablauf der neuen Epoche und nachfolgender neuer Epochen, welche von dem Verschlüsselungsschlüssel für diese Epoche und einem neuen Verschlüsselungsschlüssel für das Verschlüsselungsschema in der nächsten Epoche abhängen, diese Maskierungsaktualisierungsdaten zu verwenden, um jedes maskierte Datenelement in den gespeicherten maskierten Daten auf ein mit dem neuen Verschlüsselungsschlüssel erzeugtes maskiertes Datenelement zu aktualisieren.
  22. Computerprogrammprodukt nach Anspruch 20, wobei die Maskierungsaktualisierungsdaten eine vorher festgelegte Funktion δ des aktuellen und des neuen Verschlüsselungsschlüssels aufweisen, und wobei das Verschlüsselungsschema einen Algorithmus Enc(k, X) zur Verschlüsselung eines Werts X mit einem Verschlüsselungsschlüssel k aufweist, so dass Enc(δ, (Enc(se, X)) = Enc(se+1, X), wobei se der aktuelle Verschlüsselungsschlüssel und se+1 der neue Verschlüsselungsschlüssel ist, wobei die Programmanweisungen ausführbar sind, um den Datenbenutzer-Computer dazu zu veranlassen, die Maskierungsaktualisierungsdaten zu verwenden, um jedes maskierte Datenelement in den gespeicherten maskierten Daten zu aktualisieren, indem dieses maskierte Datenelement über den Algorithmus Enc(k, X) unter Verwendung des Verschlüsselungsschlüssels k = δ verschlüsselt wird.
  23. System, das einen Datenanbieter-Computer und einen Datenbenutzer-Computer aufweist, die zum Datenaustausch über ein Netzwerk betreibbar sind, wobei: der Datenanbieter-Computer so ausgelegt ist, dass er: auf Daten zugreift, die an einen Datenbenutzer-Computer gesendet werden sollen; maskierte Daten erzeugt, indem für mindestens ein vorher festgelegtes Datenelement in den zu sendenden Daten eine Einweg-Funktion auf dieses Datenelement angewendet wird, um einen ersten Wert zu erzeugen, ein maskiertes Datenelement erzeugt wird, indem der erste Wert über ein deterministisches Verschlüsselungsschema unter Verwendung eines aktuellen Verschlüsselungsschlüssels für eine aktuelle Epoche verschlüsselt wird, und dieses Datenelement durch das maskierte Datenelement ersetzt wird; die maskierten Daten an den Datenbenutzer-Computer sendet und nach Ablauf der aktuellen Epoche einen neuen Verschlüsselungsschlüssel für das Verschlüsselungsschema in einer neuen Epoche erzeugt, Maskierungsaktualisierungsdaten erzeugt, die von dem aktuellen und dem neuen Verschlüsselungsschlüssel abhängen, und die Maskierungsaktualisierungsdaten an den Datenbenutzer-Computer sendet; und der Datenbenutzer-Computer so ausgelegt ist, dass er als Reaktion auf den Empfang der maskierten Daten von dem Datenanbieter-Computer die maskierten Daten speichert und als Reaktion auf den Empfang der Maskierungsaktualisierungsdaten von dem Datenanbieter-Computer die Maskierungsaktualisierungsdaten verwendet, um jedes maskierte, mit dem aktuellen Verschlüsselungsschlüssel erzeugte Datenelement in den gespeicherten maskierten Daten auf ein mit dem neuen Verschlüsselungsschlüssel erzeugtes maskiertes Datenelement aktualisiert.
  24. System nach Anspruch 23, wobei: der Datenanbieter-Computer des Weiteren so ausgelegt ist, dass er die Schritte des Erzeugens des neuen Verschlüsselungsschlüssels, des Erzeugens der Maskierungsaktualisierungsdaten und des Sendens der Maskierungsaktualisierungsdaten an den Datenbenutzer-Computer nach Ablauf der neuen Epoche und einer jeden der nachfolgenden neuen Epochen durchführt; und der Datenbenutzer-Computer des Weiteren so ausgelegt ist, dass er als Reaktion auf den Empfang der Maskierungsaktualisierungsdaten von dem Datenanbieter-Computer nach Ablauf einer jeden der neuen Epochen diese Maskierungsaktualisierungsdaten verwendet, um jedes maskierte Datenelement in den gespeicherten maskierten Daten auf ein mit dem neuen Verschlüsselungsschlüssel erzeugtes maskiertes Datenelement zu aktualisieren.
  25. System nach Anspruch 23, wobei: der Datenanbieter-Computer so ausgelegt ist, dass: die Einweg-Funktion auf das Datenelement und einen geheimen Schlüssel des Datenanbieter-Computers angewendet wird, um den ersten Wert zu erzeugen; die Maskierungsaktualisierungsdaten eine vorher festgelegte Funktion δ des aktuellen und des neuen Verschlüsselungsschlüssels aufweisen; und das Verschlüsselungsschema einen Algorithmus Enc(k, X) zur Verschlüsselung eines Werts X mit einem Verschlüsselungsschlüssel k aufweist, so dass Enc(δ, (Enc(se, X)) = Enc(se+1, X), wobei se der aktuelle Verschlüsselungsschlüssel und se+1 der neue Verschlüsselungsschlüssel ist; und der Datenbenutzer-Computer so ausgelegt ist, dass er die Maskierungsaktualisierungsdaten verwendet, um jedes maskierte Datenelement in den gespeicherten maskierten Daten zu aktualisieren, indem dieses maskierte Datenelement über den Algorithmus Enc(k, X) unter Verwendung des Verschlüsselungsschlüssels k = δ verschlüsselt wird.
DE112018000143.1T 2017-01-27 2018-01-02 Datenmaskierung Pending DE112018000143T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/417,851 2017-01-27
US15/417,851 US10754970B2 (en) 2017-01-27 2017-01-27 Data masking
PCT/IB2018/050012 WO2018138587A1 (en) 2017-01-27 2018-01-02 Data masking

Publications (1)

Publication Number Publication Date
DE112018000143T5 true DE112018000143T5 (de) 2019-07-25

Family

ID=62978393

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112018000143.1T Pending DE112018000143T5 (de) 2017-01-27 2018-01-02 Datenmaskierung

Country Status (6)

Country Link
US (3) US10754970B2 (de)
JP (1) JP2020506597A (de)
CN (1) CN110214325B (de)
DE (1) DE112018000143T5 (de)
GB (1) GB2574141B (de)
WO (1) WO2018138587A1 (de)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10754970B2 (en) 2017-01-27 2020-08-25 International Business Machines Corporation Data masking
US10572262B2 (en) * 2017-07-17 2020-02-25 Arm Limited Register mapping of register specifiers to registers depending on a key value used for mapping at least two of the register specifiers
SG11202010346TA (en) 2018-05-14 2020-11-27 Nchain Holdings Ltd Computer-implemented systems and methods for using a blockchain to perform an atomic swap
US11200218B2 (en) 2019-04-17 2021-12-14 International Business Machines Corporation Providing consistent data masking using causal ordering
US11507699B2 (en) * 2019-09-27 2022-11-22 Intel Corporation Processor with private pipeline
US11960623B2 (en) * 2020-03-27 2024-04-16 EMC IP Holding Company LLC Intelligent and reversible data masking of computing environment information shared with external systems
CN114039915B (zh) * 2020-07-20 2023-04-18 美商光禾科技股份有限公司 根据存取控制列表进行封包处理的方法和系统
US20220035939A1 (en) * 2020-08-03 2022-02-03 Jpmorgan Chase Bank, N.A. Method and system for dynamic data masking
US12088718B2 (en) * 2020-10-19 2024-09-10 International Business Machines Corporation Masking sensitive information in a document
CN112182657B (zh) * 2020-10-26 2022-06-28 天津市城市规划设计研究总院有限公司 城市规划中大数据的脱敏方法
US11907402B1 (en) 2021-04-28 2024-02-20 Wells Fargo Bank, N.A. Computer-implemented methods, apparatuses, and computer program products for frequency based operations
US11941151B2 (en) * 2021-07-16 2024-03-26 International Business Machines Corporation Dynamic data masking for immutable datastores
CN114205142B (zh) * 2021-12-09 2023-05-30 建信金融科技有限责任公司 数据传输方法、装置、电子设备和存储介质
US11934327B2 (en) * 2021-12-22 2024-03-19 Microsoft Technology Licensing, Llc Systems and methods for hardware acceleration of data masking using a field programmable gate array
US11989318B2 (en) 2022-01-04 2024-05-21 Bank Of America Corporation System and method for dynamic masking of data in a network

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69828401D1 (de) 1998-10-12 2005-02-03 St Microelectronics Srl Verschlüsselungs-Methode und -Station für Paketvermittlungsnetzwerke auf der Grundlage digitaler chaotischer Modelle
US20020041684A1 (en) * 1999-01-29 2002-04-11 Mototsugu Nishioka Public-key encryption and key-sharing methods
CA2427181A1 (en) * 2000-10-26 2002-11-28 General Instrument Corporation Initial free preview for multimedia multicast content
JP4079319B2 (ja) 2002-12-25 2008-04-23 インターナショナル・ビジネス・マシーンズ・コーポレーション 識別情報生成装置、識別情報解決装置及びこれらを用いた情報システム、並びに、これらの制御方法及びプログラム
JP2005252384A (ja) * 2004-03-01 2005-09-15 Rikogaku Shinkokai 暗号化データ保管サーバシステム、暗号化データ保管方法及び再暗号化方法
KR100657273B1 (ko) * 2004-08-05 2006-12-14 삼성전자주식회사 비밀 그룹에서 구성원 가입에 따른 그룹키 갱신 방법 및이를 이용한 비밀 그룹 통신 시스템
US9106409B2 (en) * 2006-03-28 2015-08-11 Telefonaktiebolaget L M Ericsson (Publ) Method and apparatus for handling keys used for encryption and integrity
US8130959B2 (en) * 2006-09-07 2012-03-06 International Business Machines Corporation Rekeying encryption for removable storage media
JP2008269173A (ja) * 2007-04-18 2008-11-06 Hitachi Ltd 計算機システム、ストレージシステムおよびデータ管理方法
CN101246789A (zh) * 2007-12-27 2008-08-20 北京儒田科技有限公司 多档微动开关
US8271747B2 (en) 2008-07-31 2012-09-18 Rambus Inc. Mask key selection based on defined selection criteria
US20100185843A1 (en) * 2009-01-20 2010-07-22 Microsoft Corporation Hardware encrypting storage device with physically separable key storage device
JP2011019129A (ja) * 2009-07-09 2011-01-27 Nec Corp データ管理システム及びデータ管理方法
US8375224B2 (en) * 2009-11-10 2013-02-12 Oracle International Corporation Data masking with an encrypted seed
US8892598B2 (en) * 2010-06-22 2014-11-18 Cleversafe, Inc. Coordinated retrieval of data from a dispersed storage network
JP5827467B2 (ja) * 2010-11-12 2015-12-02 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 電子文書中の部分テキストデータをマスクする方法、装置、サーバ及びコンピュータプログラム
JP2013031151A (ja) * 2011-06-20 2013-02-07 Renesas Electronics Corp 暗号通信システムおよび暗号通信方法
US8726139B2 (en) 2011-12-14 2014-05-13 Advanced Micro Devices, Inc. Unified data masking, data poisoning, and data bus inversion signaling
WO2013136324A1 (en) 2012-02-21 2013-09-19 Green Sql Ltd. Dynamic data masking system and method
TWI616762B (zh) * 2012-12-12 2018-03-01 財團法人資訊工業策進會 動態資料遮罩方法以及資料庫系統
US8817988B1 (en) * 2012-12-31 2014-08-26 Emc Corporation Variable epoch scheduler for proactive cryptography systems
US9626517B2 (en) * 2013-01-23 2017-04-18 Seagate Technology Llc Non-deterministic encryption
US10148430B1 (en) * 2013-04-17 2018-12-04 Amazon Technologies, Inc Revocable stream ciphers for upgrading encryption in a shared resource environment
US10460314B2 (en) * 2013-07-10 2019-10-29 Ca, Inc. Pre-generation of session keys for electronic transactions and devices that pre-generate session keys for electronic transactions
US9087205B2 (en) * 2013-10-11 2015-07-21 Sap Se Shared encrypted storage
US10607726B2 (en) * 2013-11-27 2020-03-31 Accenture Global Services Limited System for anonymizing and aggregating protected health information
JP6208586B2 (ja) * 2014-01-16 2017-10-04 株式会社日立製作所 検索可能暗号処理システムおよび検索可能暗号処理方法
US20150288680A1 (en) * 2014-04-02 2015-10-08 Cleversafe, Inc. Distributing registry information in a dispersed storage network
US11563566B2 (en) * 2014-10-27 2023-01-24 Micro Focus Llc Key splitting
CN106156650B (zh) 2015-04-16 2019-11-19 深圳市腾讯计算机系统有限公司 数据保护系统及方法
CN106126220A (zh) 2016-06-21 2016-11-16 乐视控股(北京)有限公司 一种数据管理方法及装置
US10754970B2 (en) * 2017-01-27 2020-08-25 International Business Machines Corporation Data masking

Also Published As

Publication number Publication date
WO2018138587A1 (en) 2018-08-02
US11194921B2 (en) 2021-12-07
GB2574141B (en) 2020-05-20
GB201911905D0 (en) 2019-10-02
US20180218166A1 (en) 2018-08-02
JP2020506597A (ja) 2020-02-27
GB2574141A (en) 2019-11-27
US10740484B2 (en) 2020-08-11
CN110214325A (zh) 2019-09-06
US10754970B2 (en) 2020-08-25
CN110214325B (zh) 2023-07-28
US20180218164A1 (en) 2018-08-02
US20200089903A1 (en) 2020-03-19

Similar Documents

Publication Publication Date Title
DE112018000143T5 (de) Datenmaskierung
DE112021004937T5 (de) Sicheres erneutes verschlüsseln von homomorph verschlüsselten daten
DE69815599T2 (de) Verfahren und Vorrichtung zum Schutz von Anwendungsdaten in sicheren Speicherbereichen
DE112018003077T5 (de) Ein cluster von sicheren ausführungsplattformen
DE112013000642B4 (de) Verwaltung und Abruf von verschlüsselten biometrischen Daten
DE112014000584T5 (de) Erreichen von Speichereffizienz bei durchgängiger Verschlüsselung unter Verwendung von nachgelagerten (Downstream-)Decryptern
WO2013083375A1 (de) Vorrichtung und verfahren zum entschlüsseln von daten
DE112014000965T5 (de) Verarbeiten eines Gastereignisses in einem hypervisorgesteuerten System
DE112021001766T5 (de) Inhaltskontrolle durch datenaggregationsdienste dritter
DE112020003357T5 (de) Undurchsichtige verschlüsselung für datendeduplizierung
DE102019113249A1 (de) Wertevergleichsserver, wertevergleichsverschlüsselungssystem und wertevergleichsverfahren
DE112021005561T5 (de) Implementieren einer widerstandsfähigen deterministischen verschlüsselung
DE112018007433T5 (de) Registrierungsvorrichtung, servervorrichtung, durchsuchbares verschlüsselungssystem, durchsuchbares verschlüsselungs-verfahren, registrierungsprogramm und serverprogramm
DE112021003270T5 (de) Deduplizierung von mit mehreren schlüsseln verschlüsselten daten
DE112021002747T5 (de) Sicheres wiederherstellen von geheimen schlüsseln
DE112021006372T5 (de) Sichere bereitstellung einer datenverarbeitungsressource unter verwendung einer homomorphen verschlüsselung
DE112019002265T5 (de) Verfahren und System zur semantikbeibehaltenden Standortverschlüsselung
DE112022001272T5 (de) Mit post-quanten-kryptografie gesicherte ausführungsumgebungen für edge-einheiten
DE112020000268T5 (de) Sichere protokollierung von ereignissen der datenspeicherungsvorrichtungen
DE112019001957T5 (de) Sichere operationen mit verschlüsselten daten
DE102021128519A1 (de) Dokumentzugangskontrolle auf grundlage von dokumentkomponenten-layouts
DE112021005119T5 (de) Zugriff auf software durch heterogene verschlüsselung
DE112022004877T5 (de) Analyse und debugging von vollhomomorpher verschlüsselung
DE112019003808B4 (de) Zweckspezifische Zugriffssteuerung auf Grundlage einer Datenverschlüsselung
DE112022000479T5 (de) Verschlüsselte datenübertragung durch verwenden von zählermodus-verschlüsselung und geheimschlüsseln

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R082 Change of representative

Representative=s name: RICHARDT PATENTANWAELTE PARTG MBB, DE

R084 Declaration of willingness to licence