DE112020000134T5 - Sicherer, mehrstufiger zugriff auf verschleierte daten für analysen - Google Patents

Sicherer, mehrstufiger zugriff auf verschleierte daten für analysen Download PDF

Info

Publication number
DE112020000134T5
DE112020000134T5 DE112020000134.2T DE112020000134T DE112020000134T5 DE 112020000134 T5 DE112020000134 T5 DE 112020000134T5 DE 112020000134 T DE112020000134 T DE 112020000134T DE 112020000134 T5 DE112020000134 T5 DE 112020000134T5
Authority
DE
Germany
Prior art keywords
data
obfuscated
obfuscation
user
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
DE112020000134.2T
Other languages
English (en)
Inventor
Martin Schmatz
Navaneeth Rameshan
Patricia Sagmeister
Yiyu Chen
Mitch Gusat
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 DE112020000134T5 publication Critical patent/DE112020000134T5/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/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • 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
    • 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/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
    • 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/088Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms
    • 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/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • 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/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • H04L9/0897Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB
    • 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/16Obfuscation or hiding, e.g. involving white box
    • 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/42Anonymization, e.g. involving pseudonyms

Landscapes

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

Abstract

In einem auf einem Computer implementierten Verfahren zum Bereitstellen von verschleierten Daten für Benutzer wird zunächst eine Benutzeranforderung zum Zugreifen auf Daten empfangen; anschließend wird eine Berechtigungsstufe erkannt, die der empfangenen Anforderung zugehörig ist. Als Nächstes wird in einer geschützten Enklave auf verschleierte Daten zugegriffen, wobei die Daten der empfangenen Anforderung entsprechen. Die Daten, auf die zugegriffen wird, sind mit einem Verschleierungsalgorithmus verschleiert worden, der eine Verschleierungsstufe erzielt, die mit der erkannten Berechtigungsstufe kompatibel ist. Abschließend werden dem Benutzer von der geschützten Enklave aus die verschleierten Daten, auf die zugegriffen wird, bereitgestellt. Verwandte Systeme und Computerprogrammprodukte werden ebenfalls offenbart.

Description

  • HINTERGRUND
  • Die Erfindung bezieht sich allgemein auf das Gebiet von auf einem Computer implementierten Verfahren und Systemen zum Bereitstellen von verschleierten Daten für Benutzer, z.B. zum Durchführen von Analysen auf Grundlage solcher Daten. Im Besonderen bezieht sie sich auf Verfahren, die sich auf Verschleierungsalgorithmen stützen, die Verschleierungsstufen erzielen, die mit Berechtigungsstufen von Benutzern kompatibel sind, die solche Daten anfordern.
  • Analysen beziehen sich auf die systematische rechnerische Auswertung von Daten und weisen insbesondere die Erfassung und Interpretation von in Daten verborgenen Mustern auf. Analysen von Daten können folglich einen Wert aus Daten erstellen. Unternehmen können zum Beispiel Analysen auf Daten anwenden, um solche Muster zu verstehen und Geschäftsentwicklungen vorherzusagen und/oder die Leistungsfähigkeit des Geschäfts zu verbessern.
  • Allerdings schränken Probleme im Zusammenhang mit Dateneigentum, Datenschutz, behördlichen Anforderungen und Diskriminierung die tatsächlichen Möglichkeiten für Analysen ein. Beispielsweise bestehen zahlreiche Datenschutzbedenken, die aus dem Datenschutzrecht (allgemeinen Datenschutzverordnungen), Betriebsgeheimnissen, vertraulichen Informationen usw. herrühren. Infolgedessen ist nur ein kleiner Teil von Daten für Analysen verfügbar, der mit Sorgfalt behandelt werden muss.
  • KURZDARSTELLUNG
  • Gemäß einem Aspekt wird die vorliegende Erfindung als auf einem Computer implementiertes Verfahren zum Bereitstellen von verschleierten Daten für Benutzer verkörpert. Zunächst wird eine Benutzeranforderung zum Zugreifen auf Daten empfangen. Eine der empfangenen Anforderung zugehörige Berechtigungsstufe wird erkannt. Als Nächstes wird in einer geschützten Enklave auf verschleierte Daten zugegriffen, die der empfangenen Anforderung entsprechen. Bei den Daten, auf die zugegriffen wird, handelt es sich um Daten, die mit einem Verschleierungsalgorithmus verschleiert worden sind, der eine Verschleierungsstufe erzielt, die mit der erkannten Berechtigungsstufe kompatibel ist. Abschließend werden dem Benutzer von der geschützten Enklave aus die verschleierten Daten, auf die zugegriffen wird, bereitgestellt.
  • Nachdem die verschleierten Daten dem Benutzer bereitgestellt worden sind, führt Letzterer typischerweise Analysen (oder sonstige kognitive Operationen) auf Grundlage der verschleierten Daten durch.
  • Bei dem vorliegenden Ansatz werden alle kritischen Operationen (beginnend mit der Verschleierung) bevorzugt in einer geschützten Enklave durchgeführt. Auf diese Weise kann die Sicherheit in einem Ökosystem aufrechterhalten werden, in dem zahlreiche Benutzer mit einer großen Menge an Daten interagieren können, die verschiedenen Zugriffsrechten unterliegen. Der vorliegende Ansatz macht es gemäß bevorzugten Ausführungsformen möglich, dass Benutzern ermöglicht wird, Analysen auf Grundlage von massiv, z.B. in einem Data Lake (Datensee), verfügbaren Daten durchzuführen, wobei Datennutzungsberechtigungen (wie z.B. durch die Dateneigner festgelegt) erhalten bleiben und sonstige potenzielle Anforderungen (rechtliche, behördliche, vertragliche usw.) eingehalten werden. Infolgedessen können verschiedene Benutzer möglicherweise Zugriff auf dieselben Daten, aber mit unterschiedlichen Verschleierungsstufen erhalten. Solche Stufen stellen Zwischenstufen der Zugänglichkeit zwischen öffentlich verfügbaren Daten und vollständig privaten Daten dar.
  • Bei Ausführungsformen weist das Verfahren des Weiteren vor dem Bereitstellen der verschleierten Daten ein Verschlüsseln der verschleierten Daten, auf die zugegriffen wird, mit einem Benutzerschlüssel in der geschützten Enklave auf. Der Benutzerschlüssel wird dem Benutzer letztendlich zusätzlich zu den verschlüsselten, verschleierten Daten bereitgestellt. Auf diese Weise werden sämtliche Daten, die die geschützte Enklave verlassen, mit Ausnahme des Benutzerschlüssels (aus Sicherheitsgründen) verschlüsselt; der Benutzer kann die bereitgestellten verschlüsselten Daten mithilfe dieses Benutzerschlüssels entschlüsseln.
  • Das Verfahren weist bevorzugt des Weiteren ein Bereitstellen (von der geschützten Enklave aus) einer verschlüsselten Version des Benutzerschlüssels für den Benutzer zusätzlich zu einer unverschlüsselten Version davon auf. Zu einem späteren Zeitpunkt kann der Benutzer gegebenenfalls trotzdem noch ein erneutes Empfangen des Benutzerschlüssels (in unverschlüsselter Form) durch Bereitstellen der verschlüsselten Version des Schlüssels für das System anfordern.
  • Bei bevorzugten Ausführungsformen steht die geschützte Enklave in Datenaustausch mit einem Schlüsselverwaltungssystem, und das Verfahren weist des Weiteren ein Erzeugen des Benutzerschlüssels, der zum nachfolgenden Verschlüsseln der verschleierten Daten verwendet wird, in dem Schlüsselverwaltungssystem auf.
  • Die geschützte Enklave steht bevorzugt mit einer ersten Datenbank in Datenaustausch, die unverschleierte Daten in verschlüsselter Form speichert. In diesem Fall wird auf die verschleierten Daten wie folgt zugegriffen (wiederum in der geschützten Enklave). Zunächst werden verschlüsselte Daten von der ersten Datenbank bezogen, wobei die Daten noch nicht verschleiert sind. Bei den von der ersten Datenbank bezogenen Daten handelt es sich um Daten, die Daten entsprechen, wie sie in der empfangenen Anforderung angefordert wurden. Anschließend werden die von der ersten Datenbank bezogenen, verschlüsselten Daten entschlüsselt. Die entschlüsselten Daten werden abschließend mithilfe des Verschleierungsalgorithmus verschleiert. D.h., Daten werden aus Daten, die aus einem sicheren Speicher stammen, nach Bedarf verschleiert.
  • Bei Ausführungsformen weist das Verfahren des Weiteren ein fortlaufendes Verschlüsseln von Daten in einer geschützten Enklave und ein fortlaufendes Speichern der resultierenden verschlüsselten Daten in der ersten Datenbank auf. Die erste Datenbank ist bevorzugt als Data Lake konfiguriert.
  • Bei bevorzugten Ausführungsformen steht die geschützte Enklave mit einer zweiten Datenbank in Datenaustausch, die verschleierte Daten in verschlüsselter Form speichert. Der Zugriff auf die verschleierten Daten kann dann ein Prüfen aufweisen, ob die Daten, wie sie in der empfangenen Anforderung angefordert wurden, bereits in der zweiten Datenbank verfügbar sind. Wenn ja, werden die verschlüsselten (und verschleierten) Daten, die den angeforderten Daten entsprechen, von der zweiten Datenbank bezogen. Die bezogenen verschlüsselten, verschleierten Daten werden anschließend entschlüsselt, um in der Lage zu sein, nachfolgend die entschlüsselten, verschleierten Daten dem Benutzer bereitzustellen. Wie oben erwähnt, werden die bereitgestellten Daten bevorzugt (bevor sie exportiert werden) erneut verschlüsselt, allerdings mit einem anderen Schlüssel. Anderenfalls, wenn die angeforderten Daten nicht bereits in der zweiten Datenbank verfügbar sind, werden verschlüsselte Daten, die den angeforderten Daten entsprechen, von der ersten Datenbank bezogen, wie oben beschrieben.
  • Das Verfahren weist bevorzugt des Weiteren ein Verschlüsseln der verschleierten Daten in der geschützten Enklave mit einem Verwaltungsschlüssel und ein Speichern der entsprechend verschlüsselten, verschleierten Daten in der zweiten Datenbank auf. Auf diese Weise wird die zweite Datenbank gewissermaßen als Cache verwendet, um die Effizienz des Systems zu verbessern.
  • Wie bereits erwähnt, kann die geschützte Enklave in Datenaustausch mit einem Schlüsselverwaltungssystem stehen. Daher weist das Verfahren bevorzugt des Weiteren ein Erzeugen des Verwaltungsschlüssels, der zum Verschlüsseln der verschleierten Daten verwendet wird, in dem Schlüsselverwaltungssystem auf.
  • Bei Ausführungsformen gibt die empfangene Anforderung eine bestimmte Verschleierungsstufe an. In diesem Fall wird nur dann auf die verschleierten Daten zugegriffen, wenn die bestimmte Verschleierungsstufe mit der erkannten Berechtigungsstufe kompatibel ist.
  • Bei Varianten kann die Anforderung ein Ziel angeben, das mit den Daten, auf die in der Anforderung Bezug genommen wird, erreicht werden soll. In diesem Fall handelt es sich bei den verschleierten Daten, auf die zugegriffen wird, um Daten, die mit einem Verschleierungsalgorithmus verschleiert worden sind, der in Übereinstimmung mit dem Ziel ausgewählt worden ist, vorausgesetzt, dass die resultierende Verschleierungsstufe mit der erkannten Berechtigungsstufe kompatibel ist.
  • Bei sonstigen Varianten kann die Anforderung einen Verschleierungsalgorithmus angeben. In dem Fall werden die verschleierten Daten mit dem angegebenen Verschleierungsalgorithmus verschleiert, das Verfahren weist jedoch des Weiteren ein Auswählen einer Verschleierungsstufe auf, die durch diesen Algorithmus erzeugt wird, damit diese Verschleierungsstufe mit der erkannten Berechtigungsstufe kompatibel ist.
  • Alle solche Varianten (d.h., die eine bestimmte Verschleierungsstufe, ein Ziel oder den Verschleierungsalgorithmus selbst angeben) können möglicherweise als Optionen in der Benutzeroberfläche vorgeschlagen werden.
  • Es können verschiedene Verschleierungsalgorithmen in Betracht gezogen werden. Der Verschleierungsalgorithmus kann sich zum Beispiel auf eines oder mehrere der Folgenden stützen: naive Anonymisierung, K-Anonymität, differentielle Privatsphäre, homomorphe Verschlüsselung, Datenzusammenfassung und Datenerhebung.
  • Gemäß einem weiteren Aspekt wird die Erfindung als durch einen Computer unterstütztes System verkörpert. Das System weist ein Anforderungsverarbeitungsmodul und eine geschützte Enklave auf, die z.B. jeweils in einem Server bereitgestellt werden. In Übereinstimmung mit den vorliegenden Verfahren ist das Anforderungsverarbeitungsmodul so konfiguriert, dass es eine Benutzeranforderung zum Zugreifen auf Daten empfängt und eine Berechtigungsstufe erkennt, die einer empfangenen Benutzeranforderung zugehörig ist. Darüber hinaus ist dieses Modul dazu geeignet, Daten (über die geschützte Enklave) mit einem oder mehreren Verschleierungsalgorithmen zu verschleiern, wobei Letztere unterschiedliche Verschleierungsstufen erzielen. Darüber hinaus ist dieses Modul so ausgestaltet, dass es auf verschleierte Daten zugreift, die Benutzeranforderungen entsprechen, wobei die Daten mit einem oder mehreren der Verschleierungsalgorithmen verschleiert werden, um eine Verschleierungsstufe zu erzielen, die mit einer Berechtigungsstufe kompatibel ist, die beim Empfangen einer Anforderung erkannt wird. Abschließend kann dieses Modul als Reaktion auf Benutzeranforderungen verschleierte Daten bereitstellen, auf die über die geschützte Enklave zugegriffen wird.
  • Das Anforderungsverarbeitungsmodul ist des Weiteren bevorzugt so konfiguriert, dass es in der geschützten Enklave verschleierte Daten, auf die es zugreift, mit einem Benutzerschlüssel verschlüsselt und dem Benutzer als Reaktion auf eine Benutzeranforderung zusätzlich zu den verschlüsselten, verschleierten Daten einen solchen Benutzerschlüssel bereitstellt.
  • Bei Ausführungsformen weist das System des Weiteren ein Schlüsselverwaltungssystem auf, das dazu geeignet ist, einen solchen Benutzerschlüssel zu erzeugen. Es kann ansonsten in Datenaustausch mit einem solchen Schlüsselverwaltungssystem stehen.
  • Das System weist des Weiteren bevorzugt eine erste Datenbank, die unverschleierte Daten in verschlüsselter Form speichert, und eine zweite Datenbank auf, die verschleierte Daten in verschlüsselter Form speichert, wie zuvor erörtert.
  • Gemäß einem weiteren Aspekt wird die Erfindung als Computerprogrammprodukt zum Bereitstellen von verschleierten Daten für Benutzer verkörpert. Das Computerprogrammprodukt weist ein durch einen Computer lesbares Speichermedium auf, in dem Programmanweisungen verkörpert sind. Die Programmanweisungen sind durch einen oder mehrere Prozessoren ausführbar, um zu bewirken, dass Schritte gemäß den vorliegenden Verfahren implementiert werden.
  • Durch einen Computer unterstützte Systeme, Verfahren und Computerprogrammprodukte, die die vorliegende Erfindung verkörpern, werden im Folgenden mithilfe von nichtbeschränkenden Beispielen und unter Bezugnahme auf die beigefügten Zeichnungen beschrieben.
  • Figurenliste
  • Im Folgenden werden bevorzugte Ausführungsformen der vorliegenden Erfindung lediglich als Beispiel und unter Bezugnahme auf die folgenden Zeichnungen beschrieben. Gleiche Bezugszeichen beziehen sich überall in den einzelnen Ansichten auf übereinstimmende oder funktional ähnliche Elemente:
    • 1 stellt schematisch ausgewählte Komponenten eines Systems gemäß Ausführungsformen der vorliegenden Erfindung dar;
    • 2 ist ein Schaubild, in dem gemäß bevorzugten Ausführungsformen der vorliegenden Erfindung ausgewählte Komponenten des Systems zusammen mit in dem System durchgeführten Basisoperationen dargestellt werden; und
    • 3 ist ein ausführlicher Ablaufplan, der Schritte eines bevorzugten Verfahrens zum Bereitstellen von verschleierten Daten für Benutzer gemäß Ausführungsformen der vorliegenden Erfindung veranschaulicht.
  • Die beigefügten Zeichnungen zeigen vereinfachte Darstellungen von Einheiten und Teilen davon, wie sie in Ausführungsformen beinhaltet sind. Ähnlichen oder funktional ähnlichen Elementen in den Figuren sind dieselben Bezugszeichen zugewiesen worden, sofern nichts anderes angegeben wird.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Unter allgemeiner Bezugnahme auf 1 bis 3 wird im Folgenden eine erste Ausführungsform der Erfindung beschrieben, die ein auf einem Computer implementiertes Verfahren zum Bereitstellen von verschleierten Daten für Benutzer betrifft.
  • Zur Veranschaulichung wird der folgende Kontext angenommen. Dateneigner 5 speichern S200 Daten, die sie erzeugen oder auf andere Weise besitzen, in einem Datenspeichermittel 25, das zum Beispiel als Data Lake konfiguriert sein kann. Solche Daten werden typischerweise verschlüsselt gespeichert, z.B. über einen Verschlüsselungs-Server 20. Daneben möchten einige Benutzer 10 möglicherweise Analysen an solchen Daten durchführen. Zu diesem Zweck interagieren die Benutzer 10 mit einem Server 30, der einen Teil eines durch einen Computer unterstützten Ökosystems 1 bildet, wie in 1 dargestellt. Es ist zu beachten, dass es sich bei solchen Benutzern um eine beliebige Entität (menschlich, juristisch und/oder durch einen Computer unterstützt, z.B. um einen automatisierten Prozess) handeln kann. In allen Fällen werden die Benutzeranforderungen jedoch über eine durch einen Computer unterstützte Entität vermittelt. Das heißt, es werden durch einen Computer unterstützte Interaktionen angenommen.
  • Die vorliegenden Verfahren schlagen vor, Anforderungen von Benutzern 10 auf Grundlage von Berechtigungsstufen der Benutzer zu verarbeiten. Als Reaktion auf solche Anforderungen werden dem Benutzer Daten in verschleierter (d.h., veränderter) Form geliefert, wobei die Verschleierungsstufe der bereitgestellten Daten von den Berechtigungsstufen der Benutzer abhängt. Im vorliegenden Zusammenhang bedeutet Verschleierung, dass die ursprünglichen Daten so verändert werden, dass nicht alle in den ursprünglichen Daten enthaltenen Informationen erhalten bleiben. D.h., die ursprünglichen Informationen gehen zumindest zum Teil verloren, um möglicherweise verschiedene Anforderungen zu erfüllen, die zum Beispiel aus durch die Eigner festgelegten Berechtigungen, dem Datenschutzrecht und den behördlichen Anforderungen stammen. Es ist zu beachten, dass Daten, die an die Benutzer 10 zurückgegeben werden, niemals dazu gedacht sind, gesetzliche Bestimmungen zu verletzen oder zu umgehen.
  • Im Detail wird angenommen, dass eine Anforderung S10, S12 zum Zugreifen auf Daten von einem Benutzer 10 empfangen wird, z.B. an einem Anforderungsverarbeitungsmodul, das in einem Server 30 implementiert ist. Anschließend wird eine der Anforderung zugehörige Berechtigungsstufe erkannt S10, um Maßnahmen zu ergreifen, um diese Anforderung zu erfüllen (falls möglich). Es ist zu beachten, dass diese Berechtigungsstufe beim Empfangen der Anforderung oder als Teil der Anforderung selbst oder sogar vor dem Empfangen der Anforderung erkannt werden kann. Ein beliebiger Berechtigungsprüfungsmechanismus kann in Betracht gezogen werden.
  • Als Nächstes wird in einer geschützten Enklave 32 auf verschleierte Daten zugegriffen S30 bis S50, wobei es sich bei den Daten um Daten handelt, die in der empfangenen Anforderung angesprochenen Daten entsprechen. Bei den Daten, auf die zugegriffen wird, handelt es sich um Daten, die mit einem geeigneten Verschleierungsalgorithmus verschleiert S50 werden oder worden sind. D.h., dieser Algorithmus muss eine Verschleierungsstufe erzielen, die mit der zuvor erkannten S10 Berechtigungsstufe kompatibel ist S12, S14. Ein Kernprinzip der vorliegenden Verfahren besteht folglich darin, eine Datenzugriffsberechtigung mit der Stärke des Datenverschleierungsalgorithmus zu verknüpfen, der zum Verschleiern der Daten verwendet wird. Beispiele für Verschleierungsalgorithmen werden im Folgenden erörtert.
  • Abschließend werden die verschleierten Daten, auf die in den Schritten S30 bis S50 zugegriffen worden ist, von der geschützten Enklave 32 aus dem anfordernden Benutzer 10 bereitgestellt S82. Nachdem sie die verschleierten Daten 36 empfangen S82 haben, können die Benutzer 10 zum Beispiel Analysen, Auswertungen oder eine beliebige Art von kognitiven Operationen auf Grundlage der bereitgestellten S82 verschleierten Daten 35 durchführen S100.
  • Bei einer geschützten Enklave handelt es sich um ein durch einen Computer unterstütztes Gebiet mit eingeschränktem Zugriff. Eine solche Enklave kann zum Beispiel einfach aus einem oder mehreren privaten (und bevorzugt verschlüsselten) Bereichen des Speichers eines durch einen Computer unterstützten Systems bestehen, die z.B. dank eines Satzes von Anweisungen einer Zentraleinheit (central processing unit), CPU, zugeordnet sind. D.h., solche Anweisungen ermöglichen es einem Code auf Benutzerebene, private (und bevorzugt verschlüsselte) Speicherbereiche zuzuordnen, die vor Prozessen geschützt sind, die selbst auf höheren Berechtigungsstufen ausgeführt werden. Ein sicherer Boot-Server mit Speicherverschlüsselung ist, wenn er ausschließlich für eine einzelne Anwendung mit strenger Zugriffskontrolle und begrenzter Netzwerksichtbarkeit verwendet wird, ein Beispiel für eine geschützte Enklave.
  • Eine geschützte Enklave kann des Weiteren so konfiguriert sein, dass ein Netzwerkzugriff durch diese Enklave eingeschränkt ist. Beispielsweise kann eine Netzwerkenklave von dem sie umgebenden Netzwerk getrennt sein, um einen Zugriff darauf auf ausgewählte Entitäten, Anwendungen oder Dienste des umgebenden Netzwerks zu beschränken. Allgemeiner ausgedrückt, die spezifischen Ressourcen der geschützten Enklave können so ausgestaltet sein, dass sie Interaktionen mit externen Entitäten oder Netzwerken einschränken. Der Zugriff kann ansonsten dank Mitteln zur sicheren Zugriffssteuerung, darunter z.B. dedizierte Ressourcen wie interne Firewalls und Mittel zur Netzwerk-Zugangssteuerung, eingeschränkt sein.
  • Die geschützte Enklave kann insbesondere als virtualisierte, vorintegrierte, dienstorientierte Architektur(service-oriented architecture, SOA)-Plattform implementiert sein. Dennoch kann diese Plattform möglicherweise ein Hosting für vertrauenswürdige Anwendungen bereitstellen und ihnen ermöglichen, mit Benutzern und sonstigen externen Systemen zu interagieren, allerdings in einer gesteuerten und sicheren Weise.
  • Im Allgemeinen kann eine beliebige geschützte Enklave, wie sie hier verwendet wird, zum Beispiel in Hardware (z.B. in einem sicheren Boot-Server mit ausschließlicher Verwendung) oder in Software (z.B. auf Grundlage von Intel® Software Guard Extensions SGX) oder zSeries Secure Service Containers (SSC) implementiert sein. Intel ist eine eingetragene Marke der Intel Corporation oder ihrer Tochtergesellschaften in den USA und anderen Ländern.
  • Im vorliegenden Fall werden alle kritischen Operationen (beginnend mit dem Verschleierungsschritt S50) in einer geschützten Enklave durchgeführt. Auf diese Weise kann die Sicherheit in einem Ökosystem aufrechterhalten werden, in dem zahlreiche Benutzer mit einer großen Menge an Daten interagieren können, deren Zugriff verschiedenen Typen und Stufen von Berechtigungen unterliegt.
  • Bei einfachen Implementierungen fordert S12 ein Benutzer 10 an, auf Daten auf einer bestimmten Verschleierungsstufe zuzugreifen. Die der Anforderung zugehörige Berechtigungsstufe (d.h., die Berechtigungsstufe des Benutzers) wird erkannt S10 (vor oder nach dem Erkennen S10 der gewünschten Verschleierungsstufe), wie in 3 angenommen. Und wenn die bestimmte erkannte S10 Verschleierungsstufe mit der erkannten S12 Berechtigungsstufe kompatibel ist, wird auf Verschleierte zugegriffen S30 bis S50, wie zuvor beschrieben, und sie werden an den Benutzer geliefert S82.
  • Bei sonstigen, anspruchsvolleren Implementierungen kann der Benutzer seine Ziele angeben (z.B. in Bezug auf Analysen, die an solchen Daten durchgeführt werden sollen), in welchem Fall das System automatisch einen geeigneten Algorithmus oder eine durch den Algorithmus erzeugte Verschleierungsstufe auswählt, wie im Folgenden ausführlich erörtert wird.
  • Man kann die Berechtigungsstufe durch Vereinbarung so definieren, dass die höchste Berechtigungsstufe einen Zugriff auf Daten mit einer beliebigen Verschleierungsstufe ermöglicht. Ähnlich wie bei den Berechtigungsstufen in dem Anweisungssatz intel x86 kann die Berechtigungsstufe z.B. von 0 (mit den meisten Berechtigungen) bis n > 0 reichen, wobei n über weniger Berechtigungen als n - 1 verfügt, was über weniger Berechtigungen als n - 2 verfügt, usw. Auf diese Weise wäre jede Ressource, die für die Stufe n verfügbar ist, auch für die Berechtigungsstufen 0 bis n verfügbar. Die Verschleierungsstufe kann folglich in ähnlicher Weise von 0 (entsprechend einer niedrigen Veränderungsstufe) bis m > 1 (entsprechend einer höheren Veränderungsstufe) codiert sein. Bei einer gewünschten Datenverschleierungsstufe / und einer für den Anforderer erkannten Datenzugriffs-Berechtigungsstufe k wird ein Zugriff auf die angeforderten Daten folglich nur ermöglicht, wenn die Berechtigungsstufe höher (im Sinne eines Privilegs) als oder gleich wie die Datenverschleierungsstufe ist, d.h., wenn / ≤ k. Folglich kann ein berechtigter Benutzer mit einer hohen Berechtigungsstufe (z.B. ein Dateneigner) typischerweise auf Daten mit einer beliebigen Verschleierungsstufe zugreifen.
  • Da die schließlich gelieferten S82 Daten 36 verschleiert sind, können alle Rechte, die mit den gelieferten S82 Daten verbunden sind, unter Berücksichtigung der Berechtigungsstufe des Anforderers beachtet werden.
  • Wie die Erfinder der vorliegenden Erfindung erkannt haben, macht es der vorliegende Ansatz möglich, dass Benutzern ermöglicht wird, Analysen auf Grundlage von massiv, z.B. in einem Data Lake, verfügbaren Daten durchzuführen, wobei die Datennutzungsberechtigungen, wie durch die Dateneigner festgelegt, erhalten bleiben und/oder sonstige Anforderungen eingehalten werden. All dies wird im Folgenden unter Bezugnahme auf jeweilige Ausführungsformen der Erfindung ausführlich beschrieben.
  • Zunächst könnten unter Bezugnahme auf 3 die vorliegenden Verfahren des Weiteren ein Verschlüsseln S64 der verschleierten Daten, auf die zugegriffen wird, mit einem Benutzerschlüssel in der geschützten Enklave 32 aufweisen. Schritt S64 wird ausgeführt, bevor die verschleierten Daten dem Benutzer bereitgestellt S82 werden. Der Benutzerschlüssel wird dem Benutzer 10 zusätzlich zu den verschlüsselten, verschleierten Daten bereitgestellt (d.h., geliefert) S82. Auf diese Weise werden alle Daten 36, die die geschützte Enklave verlassen, aus Sicherheitsgründen verschlüsselt (mit Ausnahme des Benutzerschlüssels); der Benutzer kann die bereitgestellten Daten dennoch mithilfe des bereitgestellten Benutzerschlüssels entschlüsseln.
  • Bei Ausführungsformen kann dem Benutzer 10 (von der geschützten Enklave 32 aus) des Weiteren zusätzlich zu einer unverschlüsselten Version des Schlüssels eine verschlüsselte Version des Benutzerschlüssels bereitgestellt S82 werden. Auf diese Weise kann der Benutzer die bereitgestellten Daten zunächst auf Grundlage des bereitgestellten (unverschlüsselten) Benutzerschlüssels entschlüsseln und anschließend diesen Schlüssel (aus Sicherheitsgründen) löschen. Zu einem späteren Zeitpunkt kann der Benutzer gegebenenfalls trotzdem noch ein erneutes Empfangen des Benutzerschlüssels (in unverschlüsselter Form) durch Bereitstellen der verschlüsselten Version des Schlüssels anfordern (ein symmetrisches Verschlüsselungsschema wird hier in Betracht gezogen).
  • Bei dem Benutzerschlüssel handelt es sich um einen Chiffrierschlüssel, der für den Benutzer erzeugt wird, z.B. über ein Schlüsselverwaltungssystem (key management system, KMS). Wie in 1 zu sehen, kann die geschützte Enklave 32 zum Beispiel in Datenaustausch mit einem KMS 40 stehen. Auf diese Weise kann darauf vertraut werden, dass Letztere den Benutzerschlüssel erzeugt S62, der in der geschützten Enklave 32 empfangen und nachfolgend zum Verschlüsseln S64 der verschleierten Daten verwendet wird. Bei dem KMS kann es sich möglicherweise um ein hierarchisches Schlüsselverwaltungssystem (HKMS) handeln: Der Benutzerschlüssel kann zum Beispiel ein Schlüssel auf Benutzerebene sein, der auf einer bestimmten hierarchischen Stufe des HKMS gemäß per se bekannten Verfahren erzeugt wird.
  • Bei Ausführungsformen steht die geschützte Enklave 32 mit einer ersten Datenbank 25 (z.B. einem Data Lake) in Datenaustausch, die unverschleierte Daten in verschlüsselter Form speichert. In diesem Fall können zunächst verschlüsselte Daten aus dieser Datenbank 25 bezogen S22 werden, und anschließend kann in der geschützten Enklave 32 auf diese zugegriffen werden, wobei die verschlüsselten Daten entsprechen, wie sie in der empfangenen S10 Anforderung angefordert worden sind. Als Nächstes werden die bezogenen S22 verschlüsselten Daten entschlüsselt S40, S42 bis S44 (weiterhin in der geschützten Enklave 32), und die entschlüsselten Daten werden anschließend mithilfe eines in geeigneter Weise ausgewählten Verschleierungsalgorithmus verschleiert S50. D.h., Daten werden aus Daten, die aus einem sicheren Speicher 25 stammen, nach Bedarf verschleiert. Der Entschlüsselungsprozess S40 kann erneut in vorteilhafter Weise ein KMS einbeziehen, d.h., die Entschlüsselung S44 kann zunächst ein Zugreifen S42 auf einen Schlüssel (z.B. einen Hauptschlüssel) aus dem KMS erfordern.
  • Wie in 1 und 2 dargestellt, können die Daten fortlaufend durch die Dateneigner 5 erzeugt S200 und somit fortlaufend verschlüsselt S15 (z.B. dank eines dedizierten Servers 20) und in der ersten Datenbank 25 gespeichert werden. Es ist zu beachten, dass der Verschlüsselungsschritt S15 bevorzugt ebenfalls in einer geschützten Enklave 22 durchgeführt wird, die nicht unbedingt der in dem Server 30 bereitgestellten Enklave 32 entspricht. Vielmehr kann die Enklave 22 in einem dedizierten Verschlüsselungs-Server 20 bereitgestellt werden, der zum Speichern von Eignerdaten in dem Speicher 25 verwendet wird.
  • Wie zuvor angedeutet, kann die erste Datenbank 25 zum Beispiel als Data Lake, d.h., als Speicherdatenablage, konfiguriert sein, der eine große Menge an Roh- oder optimierten Daten in einem nativen Format enthält. Ein Data Lake stützt sich typischerweise auf einen Hadoop-kompatiblen Objektspeicher, dem entsprechend Daten einer Organisation in eine Hadoop-Plattform geladen werden. Anschließend können Geschäftsanalyse- und Datenfilterungswerkzeuge möglicherweise auf die Daten angewendet werden, wo sie sich in dem Hadoop-Verbund befinden. Jedoch können Data Lakes auch ohne Einbinden von Hadoop abhängig von den Bedürfnissen und Zielen der Organisation wirksam verwendet werden. Allgemeiner ausgedrückt, bei einem Data Lake handelt es sich um einen großen Daten-Pool, bei dem das Schema und die Datenanforderungen typischerweise nicht definiert sind, bis die Daten abgefragt werden.
  • Im vorliegenden Kontext können die Dateneigner zum Beispiel die erforderlichen Verschleierungsstufen als Funktion der Vertrauensstufen der Datenbenutzer angeben. Infolgedessen können verschiedene Benutzer möglicherweise Zugriff auf dieselben Daten, aber mit unterschiedlichen Verschleierungsstufen erhalten. Solche Stufen stellen Zwischenstufen der Zugänglichkeit zwischen öffentlich verfügbaren Daten und vollständig privaten Daten dar.
  • Weiterhin unter Bezugnahme auf 1 und 3 steht die geschützte Enklave 32 bevorzugt in Datenaustausch mit einer zweiten Datenbank 35. Letztere speichert Daten, die bereits verschleiert S50 worden sind (z.B. als Reaktion auf vorherige Abfragen), in verschlüsselter Form. In diesem Fall wird auf die verschleierten Daten typischerweise zugegriffen S30 bis S50, indem zunächst geprüft S18 wird, ob die angeforderten Daten bereits in der zweiten Datenbank 35 verfügbar sind. Wenn ermittelt wird, dass die angeforderten Daten tatsächlich bereits in der Datenbank 35 verfügbar sind (S18: Ja), werden verschlüsselte Versionen solcher verschleierten Daten aus dieser Datenbank 35 bezogen S21 (sie werden in die geschützte Enklave geladen). Die bezogenen S21 Daten werden anschließend entschlüsselt S30, S32 bis S34 (z.B. durch Beziehen S32 eines Schlüssels von einem KMS, z.B. eines Hauptschlüssels) und nachfolgend dem Benutzer 10 bereitgestellt S60, S82. Anderenfalls, wenn in Schritt S18 ermittelt wird, dass die angeforderten Daten nicht bereits in der zweiten Datenbank 35 verfügbar sind, werden die angeforderten Daten von der ersten Datenbank 25 bezogen und entschlüsselt, bevor sie verschleiert und an den Benutzer weitergegeben werden, wie zuvor beschrieben.
  • Um das System effizienter zu machen, werden Daten, die verschleiert S50 werden müssen, anschließend in der zweiten Datenbank 35 gespeichert, die gewissermaßen als Cache arbeitet, wie in dem Ablaufplan von 3 zu sehen. Das heißt, Daten, die kürzlich verschleiert S50 worden sind, können zunächst (in der geschützten Enklave 32) mithilfe eines Verwaltungsschlüssels (der sich von den Benutzerschlüsseln unterscheidet) verschlüsselt S70, S72 bis S74 und anschließend in der zweiten Datenbank 35 gespeichert S90 werden. Wiederum können die durch ein KMS 40 bereitgestellten Schlüssel verwendet werden. D.h., der Verwaltungsschlüssel, der zum Verschlüsseln S74 der verschleierten Daten verwendet wird, kann von einem KMS zur Verwendung in der geschützten Enklave 32 bezogen werden S72. Nachdem sie in der zweiten Datenbank gespeichert S90 worden sind, sind die verschleierten Daten für nachfolgende, ähnliche Abfragen leicht verfügbar (S10 bis S18: Ja, S21).
  • Wie in 3 angenommen, kann die empfangene S12 Anforderung bereits eine bestimmte, gewünschte Verschleierungsstufe angeben. In diesem Fall wird auf die verschleierten Daten nur dann zugegriffen S30 bis S50, wenn die angegebene Verschleierungsstufe mit der in Schritt S10 erkannten Berechtigungsstufe kompatibel ist (S14: Ja).
  • Bei anspruchsvolleren Ansätzen kann die empfangene Anforderung ein Ziel angeben, das mit den Daten, auf die in der Anforderung Bezug genommen wird, erreicht werden soll (z.B. im Hinblick auf Analysen). In diesem Fall kann das System den Verschleierungsalgorithmus in Schritt S50 (in Übereinstimmung mit dem Ziel) automatisch auswählen oder auf zwischengespeicherte Daten zugreifen, die zuvor mit einem geeigneten Algorithmus verschleiert worden sind. In allen Fällen stellt das System sicher, dass es sich bei den Daten, auf die zugegriffen S30 bis S50 wird, um Daten handelt, die mit einem Verschleierungsalgorithmus verschleiert S50 worden sind, der in Übereinstimmung mit dem Ziel ausgewählt worden ist, vorausgesetzt, dass die resultierende Verschleierungsstufe mit der erkannten Berechtigungsstufe kompatibel ist.
  • Die empfangene Anforderung kann insbesondere ein Ziel angeben, das im Hinblick auf mit solchen Daten durchzuführenden Analysen erreicht werden soll, und der Verschleierungsalgorithmus wird in Übereinstimmung mit dem Ziel ausgewählt. Beispielsweise möchte der Benutzer möglicherweise Entwicklungen aus Datenbereichsabfragen, Zählungen usw. aufdecken. In diesem Fall kann die erzeugte Verschleierung gleichbedeutend mit anonymisierten Histogrammen/auf Skizzen beruhenden Zählschemata usw. sein.
  • Bei sonstigen Ansätzen kann die empfangene Anforderung den gewünschten Verschleierungsalgorithmus selbst angeben. In diesem Fall werden die verschleierten Daten, auf die zugegriffen wird S30 bis S50, mit dem angegebenen Verschleierungsalgorithmus verschleiert, das System wählt jedoch eine Verschleierungsstufe aus, die durch den Algorithmus erzeugt wird, damit diese Stufe mit der zuvor erkannten Berechtigungsstufe kompatibel ist (wenn dies nicht möglich ist, wird eine Fehlermeldung zurückgegeben). Es kann zum Beispiel ein Standardsatz von Verschleierungsalgorithmen verfügbar sein, in welchem Fall der Benutzer aufgefordert wird, einen bestimmten Algorithmus auszuwählen.
  • Es ist zu beachten, dass die Benutzeroberfläche oder das Programm, das dazu verwendet wird, Benutzerabfragen zu ermöglichen, Benutzern mehrere Optionen bereitstellen kann, einschließlich der oben genannten, wodurch Benutzer somit entweder eine Verschleierungsstufe auswählen, ein Ziel oder den Verschleierungsalgorithmus selbst angeben können.
  • Zu solchen Algorithmen können insbesondere Algorithmen zur naiven Anonymisierung, K-Anonymitätsalgorithmen, Algorithmen für die differentielle Privatsphäre, Eigenschaften erhaltende Algorithmen zur homomorphen Verschlüsselung, Datenzusammenfassungsalgorithmen und/oder Datenerhebungsalgorithmen usw. zählen. Alle derartigen Algorithmen modifizieren die ursprüngliche Information auf unterschiedliche Weisen und möglicherweise mit unterschiedlichen Intensitäten. D.h., es können somit verschiedene Zwischenstufen der Zugänglichkeit bereitgestellt werden. In allen Fällen wird Zugriff jedoch nur gewährt, wenn der angegebene Algorithmus mit der Zugriffsebene des Benutzers kompatibel ist.
  • Unter besonderer Bezugnahme auf 1 und 2 wird im Folgenden eine weitere Ausführungsform der Erfindung beschrieben, die ein durch einen Computer unterstütztes System 1 betrifft. Bestimmte Merkmale eines solchen Systems sind bereits implizit unter Bezugnahme auf die vorliegenden Verfahren beschrieben worden und werden im Folgenden nur kurz beschrieben. Ein solches System 1 enthält zumindest ein Anforderungsverarbeitungsmodul, das typischerweise in Software auf einem Server 30 implementiert ist.
  • Das System (z.B. der Server 30) ist ansonsten so ausgestaltet, dass es eine geschützte Enklave 32 in Hardware und/oder Software bereitstellt (d.h., ausbildet). In allen Fällen ist das Anforderungsverarbeitungsmodul so konfiguriert, dass es die zuvor beschriebenen Schritte durchführt, d.h., Empfangen von Benutzeranforderungen zum Zugreifen auf Daten, Erkennen von solchen Anforderungen zugehörigen Berechtigungsstufen und Durchführen kritischer Operationen S30 bis S70, wie zuvor erörtert. Das heißt, das Anforderungsverarbeitungsmodul ist dazu geeignet, Daten (über die geschützte Enklave 32) mit einem oder mehreren Verschleierungsalgorithmen zu verschleiern, um unterschiedliche Verschleierungsstufen bereitzustellen. Dieses Modul ist ansonsten so konfiguriert, dass es auf verschleierte Daten zugreift, die Benutzeranforderungen entsprechen.
  • Wie zuvor erörtert, können verschleierte Daten möglicherweise zwischengespeichert werden. In allen Fällen sind oder müssen die Daten jedoch mit einem oder mehreren der Verschleierungsalgorithmen verschleiert worden sein, um eine Verschleierungsstufe zu erzielen, die mit für die Benutzer erkannten Berechtigungsstufen kompatibel ist. Abschließend stellt das Modul als Reaktion auf Benutzeranforderungen verschleierte Daten bereit, wie über die geschützte Enklave 32 auf sie zugegriffen wird.
  • Wie erörtert, kann das Anforderungsverarbeitungsmodul des Weiteren so konfiguriert sein, dass es die verschleierten Daten mit Benutzerschlüsseln verschlüsselt, bevor es Benutzerschlüssel zusätzlich zu den verschlüsselten, verschleierten Daten an Benutzer weitergibt. Das System 1 kann insbesondere ein KMS 40 aufweisen (oder so ausgestaltet sein, dass es Daten mit diesem austauscht), das dazu geeignet ist, solche Benutzerschlüssel sowie einen beliebigen Schlüssel zu erzeugen, der durch das System beim Durchführen von zuvor unter Bezugnahme auf die Schritte S30, S40, S60 und S70 beschriebenen Operationen benötigt wird.
  • Darüber hinaus weist das System 1 bevorzugt eine erste Datenbank 25 (in der unverschleierte Daten in verschlüsselter Form gespeichert werden) und eine zweite Datenbank 35 auf, die bereits verschleierte Daten (in verschlüsselter Form) speichert, wobei Letztere als Cache dient.
  • Gemäß einer weiteren Ausführungsform kann die Erfindung als Nächstes des Weiteren als Computerprogrammprodukt zum Bereitstellen von verschleierten Daten für Benutzer verkörpert sein. Das Computerprogrammprodukt weist ein durch einen Computer lesbares Speichermedium auf, in dem Programmanweisungen verkörpert sind. Die Programmanweisungen sind durch einen oder mehrere Prozessoren (z.B. des Servers 30) ausführbar, um zu bewirken, dass Schritte implementiert werden, wie sie zuvor unter Bezugnahme auf die vorliegenden Verfahren beschrieben worden sind.
  • Bei der vorliegenden Erfindung kann es sich dementsprechend um ein System, ein Verfahren und/oder ein Computerprogrammprodukt mit einem beliebigen Integrationsgrad technischer Details handeln. Das Computerprogrammprodukt kann (ein) durch einen Computer lesbare(s) Speichermedium (oder -medien) enthalten, auf dem/denen durch einen Computer lesbare Programmanweisungen gespeichert ist/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 eine Einheit 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 Festwertspeicher (ROM), ein löschbarer programmierbarer Festwertspeicher (EPROM bzw. Flash-Speicher), ein statischer Direktzugriffsspeicher (SRAM), ein tragbarer Kompaktspeicherplatten-Festwertspeicher (CD-ROM), eine DVD (digital versatile disc), ein Speicher-Stick, eine Diskette, eine mechanisch codierte Einheit wie zum Beispiel Lochkarten oder erhabene 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, Router, 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, Konfigurationsdaten für integrierte Schaltungen 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 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 entfernt angeordneten Computer oder vollständig auf dem entfernt angeordneten 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 Verwenden eines Internet-Dienstanbieters). In einigen Ausführungsformen können elektronische Schaltungen, darunter zum Beispiel programmierbare Logikschaltungen, feldprogrammierbare Gate-Arrays (FPGA) oder programmierbare Logik-Arrays (PLA) die durch einen Computer lesbaren Programmanweisungen ausführen, indem sie Zustandsdaten 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 Blockschaubilder 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 Blockschaubilder sowie Kombinationen von Blöcken in den Ablaufplänen und/oder den Blockschaubildern mittels durch einen Computer lesbare Programmanweisungen implementiert 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 Mittel zum Implementieren der in dem Block bzw. den Blöcken des Ablaufplans und/oder des Blockschaubildes 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 des Blockschaubildes 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 des Ablaufplans und/oder des Blockschaubildes festgelegten Funktionen/Schritte umsetzen.
  • Der Ablaufplan und die Blockschaubilder in den Figuren veranschaulichen die Architektur, die Funktionalität und den Betrieb möglicher Implementierungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung. In diesem Zusammenhang kann jeder Block in dem Ablaufplan oder den Blockschaubildern 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 Blockschaubilder und/oder des Ablaufplans sowie Kombinationen aus Blöcken in den Blockschaubildern und/oder dem Ablaufplan durch spezielle auf Hardware beruhende Systeme implementiert werden können, welche die festgelegten Funktionen oder Schritte durchführen, oder Kombinationen aus Spezial-Hardware und Computeranweisungen ausführen.
  • Die vorliegende Erfindung ist zwar unter Bezugnahme auf eine begrenzte Anzahl von Ausführungsformen, Varianten und die beigefügten Zeichnungen beschrieben worden, für Fachleute ist jedoch ersichtlich, dass verschiedene Änderungen vorgenommen werden können und gleichartige Elemente ausgetauscht werden können, ohne vom Umfang der vorliegenden Erfindung abzuweichen. Im Besonderen kann ein (einheitenähnliches oder verfahrensähnliches) Merkmal, das bei einer bestimmten Ausführungsform, Variante erwähnt worden ist oder in einer Zeichnung dargestellt worden ist, mit einem weiteren Merkmal in einer weiteren Ausführungsform, Variante oder Zeichnung kombiniert oder durch dieses ersetzt werden, ohne vom Umfang der vorliegenden Erfindung abzuweichen. Verschiedene Kombinationen der Merkmale, die im Hinblick auf jegliche der obigen Ausführungsformen oder Varianten beschrieben worden sind, können dementsprechend in Betracht gezogen werden, die innerhalb des Umfangs der beigefügten Ansprüche bleiben. Darüber hinaus können zahlreiche kleinere Modifizierungen vorgenommen werden, um eine bestimmte Situation oder ein bestimmtes Material an die Lehren der vorliegenden Erfindung anzupassen, ohne von ihrem Umfang abzuweichen. Daher soll die vorliegende Erfindung nicht auf die bestimmten offenbarten Ausführungsformen beschränkt sein, sondern die vorliegende Erfindung soll alle Ausführungsformen enthalten, die in den Umfang der beigefügten Ansprüche fallen. Darüber hinaus können zahlreiche andere Varianten als die oben ausdrücklich erwähnten in Betracht gezogen werden.

Claims (34)

  1. Auf einem Computer implementiertes Verfahren zum Bereitstellen von verschleierten Daten für Benutzer, wobei das Verfahren aufweist Empfangen einer Anforderung zum Zugreifen auf Daten von einem Benutzer; Erkennen einer Berechtigungsstufe, die der empfangenen Anforderung zugehörig ist; Zugreifen auf verschleierte Daten, die der empfangenen Anforderung entsprechen, in einer geschützten Enklave, wobei die Daten, auf die zugegriffen wird, mit einem Verschleierungsalgorithmus verschleiert worden sind, der eine Verschleierungsstufe erzielt, die mit der erkannten Berechtigungsstufe kompatibel ist, und Bereitstellen der verschleierten Daten, auf die zugegriffen wird, für den Benutzer von der geschützten Enklave aus.
  2. Verfahren nach Anspruch 1, wobei das Verfahren des Weiteren aufweist vor dem Bereitstellen der verschleierten Daten Verschlüsseln der verschleierten Daten, auf die zugegriffen wird, mit einem Benutzerschlüssel in der geschützten Enklave, und Bereitstellen des Benutzerschlüssels für den Benutzer zusätzlich zu den verschlüsselten, verschleierten Daten.
  3. Verfahren nach Anspruch 2, wobei das Verfahren des Weiteren ein Bereitstellen einer verschlüsselten Version des Benutzerschlüssels für den Benutzer zusätzlich zu einer unverschlüsselten Version davon von der geschützten Enklave aus aufweist.
  4. Verfahren nach Anspruch 2, wobei die geschützte Enklave in Datenaustausch mit einem Schlüsselverwaltungssystem steht und das Verfahren des Weiteren ein Erzeugen des Benutzerschlüssels, der zum nachfolgenden Verschlüsseln der verschleierten Daten verwendet wird, in dem Schlüsselverwaltungssystem aufweist.
  5. Verfahren nach Anspruch 1, wobei die geschützte Enklave mit einer ersten Datenbank in Datenaustausch steht, die unverschleierte Daten in verschlüsselter Form speichert, und das Zugreifen auf die verschleierten Daten in der geschützten Enklave aufweist Beziehen von verschlüsselten Daten, die Daten entsprechen, wie sie in der empfangenen Anforderung angefordert wurden, von der ersten Datenbank, Entschlüsseln der bezogenen verschlüsselten Daten, und Verschleiern der entschlüsselten Daten mithilfe des Verschleierungsalgorithmus.
  6. Verfahren nach Anspruch 5, wobei das Verfahren des Weiteren ein fortlaufendes Verschlüsseln von Daten in einer geschützten Enklave und ein fortlaufendes Speichern der resultierenden verschlüsselten Daten in der ersten Datenbank aufweist.
  7. Verfahren nach Anspruch 6, wobei es sich bei der ersten Datenbank um einen Data Lake handelt.
  8. Verfahren nach Anspruch 5, wobei die geschützte Enklave mit einer zweiten Datenbank in Datenaustausch steht, die verschleierte Daten in verschlüsselter Form speichert, und das Zugreifen auf die verschleierten Daten des Weiteren aufweist Prüfen, ob die Daten, wie sie in der empfangenen Anforderung angefordert wurden, bereits in der zweiten Datenbank verfügbar sind, wenn ja, Beziehen von verschlüsselten, verschleierten Daten, die den angeforderten Daten entsprechen, von der zweiten Datenbank, und Entschlüsseln der bezogenen verschlüsselten, verschleierten Daten, um in der Lage zu sein, nachfolgend die entschlüsselten, verschleierten Daten dem Benutzer bereitzustellen, anderenfalls werden die verschlüsselten Daten, die Daten entsprechen, wie sie in der empfangenen Anforderung angefordert wurden, von der ersten Datenbank bezogen.
  9. Verfahren nach Anspruch 8, wobei das Verfahren des Weiteren ein Verschlüsseln der verschleierten Daten in der geschützten Enklave mit einem Verwaltungsschlüssel und ein Speichern der entsprechend verschlüsselten, verschleierten Daten in der zweiten Datenbank aufweist.
  10. Verfahren nach Anspruch 9, wobei die geschützte Enklave in Datenaustausch mit einem Schlüsselverwaltungssystem steht und das Verfahren des Weiteren ein Erzeugen des Verwaltungsschlüssels, der zum Verschlüsseln der verschleierten Daten verwendet wird, in dem Schlüsselverwaltungssystem aufweist.
  11. Verfahren nach Anspruch 1, wobei die empfangene Anforderung eine bestimmte Verschleierungsstufe angibt; und nur dann auf die verschleierten Daten zugegriffen wird, wenn die bestimmte Verschleierungsstufe mit der erkannten Berechtigungsstufe kompatibel ist.
  12. Verfahren nach Anspruch 1, wobei die empfangene Anforderung des Weiteren ein Ziel angibt, das mit den Daten, auf die in der Anforderung Bezug genommen wird, erreicht werden soll; und die verschleierten Daten, auf die zugegriffen wird, Daten aufweisen, die mit einem Verschleierungsalgorithmus verschleiert worden sind, der in Übereinstimmung mit dem Ziel ausgewählt worden ist, vorausgesetzt, dass die resultierende Verschleierungsstufe mit der erkannten Berechtigungsstufe kompatibel ist.
  13. Verfahren nach Anspruch 1, wobei die empfangene Anforderung des Weiteren einen Verschleierungsalgorithmus angibt; und die verschleierten Daten, auf die zugegriffen wird, Daten aufweisen, die mit dem angegebenen Verschleierungsalgorithmus verschleiert worden sind, und das Verfahren des Weiteren ein Auswählen einer Verschleierungsstufe aufweist, die durch den Algorithmus erzeugt wird, damit diese Verschleierungsstufe mit der erkannten Berechtigungsstufe kompatibel ist.
  14. Verfahren nach Anspruch 1, wobei sich der Verschleierungsalgorithmus auf eines oder mehrere stützt von: einer naiven Anonymisierung, einer K-Anonymität, einer differentiellen Privatsphäre, einer homomorphen Verschlüsselung, Datenzusammenfassung und Datenerhebung.
  15. Verfahren nach Anspruch 1, wobei das Verfahren des Weiteren, nachdem die verschleierten Daten, auf die zugegriffen wird, dem Benutzer bereitgestellt worden sind, ein Durchführen von Analysen auf Grundlage der bereitgestellten verschleierten Daten aufweist.
  16. Durch einen Computer unterstütztes System, das aufweist: ein Anforderungsverarbeitungsmodul; und eine geschützte Enklave, wobei das Anforderungsverarbeitungsmodul konfiguriert ist zu einem: Empfangen einer Benutzeranforderung zum Zugreifen auf Daten; Erkennen einer Berechtigungsstufe, die einer empfangenen Benutzeranforderung zugehörig ist; und über die geschützte Enklave, Verschleiern von Daten mit einem oder mehreren Verschleierungsalgorithmen, wobei Letztere unterschiedliche Verschleierungsstufen erzielen, und Zugreifen auf verschleierte Daten, die einer Benutzeranforderung entsprechen, wobei die Daten mit einem oder mehreren der Verschleierungsalgorithmen verschleiert werden, um eine Verschleierungsstufe zu erzielen, die mit einer erkannten Berechtigungsstufe kompatibel ist, und als Reaktion auf eine Benutzeranforderung Bereitstellen von verschleierten Daten, auf die über die geschützte Enklave zugegriffen wird.
  17. Durch einen Computer unterstütztes System nach Anspruch 16, wobei das Anforderungsverarbeitungsmodul des Weiteren konfiguriert ist zu einem Verschlüsseln von verschleierten Daten, auf die es zugreift, mit einem Benutzerschlüssel in der geschützten Enklave, und Bereitstellen eines solchen Benutzerschlüssels für den Benutzer zusätzlich zu verschlüsselten, verschleierten Daten als Reaktion auf eine Benutzeranforderung.
  18. Durch einen Computer unterstütztes System nach Anspruch 17, wobei das System des Weiteren ein Schlüsselverwaltungssystem aufweist, das dazu geeignet ist, einen solchen Benutzerschlüssel zu erzeugen.
  19. Durch einen Computer unterstütztes System nach Anspruch 16, wobei das System des Weiteren eine erste Datenbank, die unverschleierte Daten in verschlüsselter Form speichert, und eine zweite Datenbank aufweist, die verschleierte Daten in verschlüsselter Form speichert.
  20. Durch einen Computer unterstütztes System nach Anspruch 17, wobei das System in der Lage ist zu einem Bereitstellen einer verschlüsselten Version des Benutzerschlüssels für den Benutzer zusätzlich zu einer unverschlüsselten Version davon von der geschützten Enklave aus.
  21. Durch einen Computer unterstütztes System nach Anspruch 17, wobei die geschützte Enklave in Datenaustausch mit einem Schlüsselverwaltungssystem steht und das System in der Lage ist, in dem Schlüsselverwaltungssystem den Benutzerschlüssel zu erzeugen, der zum nachfolgenden Verschlüsseln der verschleierten Daten verwendet wird.
  22. Durch einen Computer unterstütztes System nach Anspruch 16, wobei die geschützte Enklave mit einer ersten Datenbank in Datenaustausch steht, die unverschleierte Daten in verschlüsselter Form speichert, und der Mechanismus zum Zugreifen auf die verschleierten Daten in der geschützten Enklave aufweist, Beziehen von verschlüsselten Daten, die Daten entsprechen, wie sie in der empfangenen Anforderung angefordert wurden, von der ersten Datenbank, Entschlüsseln der bezogenen verschlüsselten Daten, und Verschleiern der entschlüsselten Daten mithilfe des Verschleierungsalgorithmus.
  23. Durch einen Computer unterstütztes System nach Anspruch 22, wobei das System des Weiteren ein Mittel zum fortlaufenden Verschlüsseln von Daten in einer geschützten Enklave und ein Mittel zum fortlaufenden Speichern der resultierenden verschlüsselten Daten in der ersten Datenbank aufweist.
  24. Durch einen Computer unterstütztes System nach Anspruch 23, wobei es sich bei der ersten Datenbank um einen Data Lake handelt.
  25. Durch einen Computer unterstütztes System nach Anspruch 22, wobei die geschützte Enklave mit einer zweiten Datenbank in Datenaustausch steht, die verschleierte Daten in verschlüsselter Form speichert, und der Mechanismus zum Zugreifen auf die verschleierten Daten des Weiteren aufweist Prüfen, ob die Daten, wie sie in der empfangenen Anforderung angefordert wurden, bereits in der zweiten Datenbank verfügbar sind, wenn ja, Beziehen von verschlüsselten, verschleierten Daten, die den angeforderten Daten entsprechen, von der zweiten Datenbank, und Entschlüsseln der bezogenen verschlüsselten, verschleierten Daten, um in der Lage zu sein, nachfolgend die entschlüsselten, verschleierten Daten dem Benutzer bereitzustellen, anderenfalls werden die verschlüsselten Daten, die Daten entsprechen, wie sie in der empfangenen Anforderung angefordert wurden, von der ersten Datenbank bezogen.
  26. Durch einen Computer unterstütztes System nach Anspruch 25, wobei das System des Weiteren ein Mittel zum Verschlüsseln der verschleierten Daten in der geschützten Enklave mit einem Verwaltungsschlüssel und ein Mittel zum Speichern der entsprechend verschlüsselten, verschleierten Daten in der zweiten Datenbank aufweist.
  27. Durch einen Computer unterstütztes System nach Anspruch 26, wobei die geschützte Enklave in Datenaustausch mit einem Schlüsselverwaltungssystem steht und das System des Weiteren ein Mittel zum Erzeugen des Verwaltungsschlüssels, der zum Verschlüsseln der verschleierten Daten verwendet wird, in dem Schlüsselverwaltungssystem aufweist.
  28. Durch einen Computer unterstütztes System nach Anspruch 16, wobei die empfangene Anforderung eine bestimmte Verschleierungsstufe angibt; und nur dann auf die verschleierten Daten zugegriffen wird, wenn die bestimmte Verschleierungsstufe mit der erkannten Berechtigungsstufe kompatibel ist.
  29. Durch einen Computer unterstütztes System nach Anspruch 16, wobei die empfangene Anforderung des Weiteren ein Ziel angibt, das mit den Daten, auf die in der Anforderung Bezug genommen wird, erreicht werden soll; und die verschleierten Daten, auf die zugegriffen wird, Daten aufweisen, die mit einem Verschleierungsalgorithmus verschleiert worden sind, der in Übereinstimmung mit dem Ziel ausgewählt worden ist, vorausgesetzt, dass die resultierende Verschleierungsstufe mit der erkannten Berechtigungsstufe kompatibel ist.
  30. Durch einen Computer unterstütztes System nach Anspruch 16, wobei die empfangene Anforderung des Weiteren einen Verschleierungsalgorithmus angibt; und die verschleierten Daten, auf die zugegriffen wird, Daten aufweisen, die mit dem angegebenen Verschleierungsalgorithmus verschleiert worden sind, und das Verfahren des Weiteren ein Auswählen einer Verschleierungsstufe aufweist, die durch den Algorithmus erzeugt wird, damit diese Verschleierungsstufe mit der erkannten Berechtigungsstufe kompatibel ist.
  31. Durch einen Computer unterstütztes System nach Anspruch 16, wobei sich der Verschleierungsalgorithmus auf eines oder mehrere stützt von: einer naiven Anonymisierung, einer K-Anonymität, einer differentiellen Privatsphäre, einer homomorphen Verschlüsselung, Datenzusammenfassung und Datenerhebung.
  32. Durch einen Computer unterstütztes System nach Anspruch 16, wobei das System des Weiteren ein Mittel zum Durchführen von Analysen auf Grundlage der bereitgestellten verschleierten Daten aufweist, nachdem die verschleierten Daten, auf die zugegriffen wird, dem Benutzer bereitgestellt worden sind.
  33. Computerprogrammprodukt zum Bereitstellen von verschleierten Daten für Benutzer, wobei das Computerprogrammprodukt ein durch einen Computer lesbares Speichermedium aufweist, in dem Programmanweisungen verkörpert sind, wobei die Programmanweisungen durch einen oder mehrere Prozessoren so ausführbar sind, dass der eine oder die mehreren Prozessor(en) veranlasst wird/werden zu einem: Empfangen einer Anforderung zum Zugreifen auf Daten von einem Benutzer; Erkennen einer Berechtigungsstufe, die der empfangenen Anforderung zugehörig ist; Zugreifen auf verschleierte Daten, die der empfangenen Anforderung entsprechen, über eine geschützte Enklave, wobei die Daten, auf die zugegriffen wird, mit einem Verschleierungsalgorithmus verschleiert worden sind, der eine Verschleierungsstufe erzielt, die mit der erkannten Berechtigungsstufe kompatibel ist, und Bereitstellen der verschleierten Daten, auf die zugegriffen wird, für den Benutzer von der geschützten Enklave aus.
  34. Computerprogramm, das ein Programmcodemittel aufweist, das dazu geeignet ist, das Verfahren eines der Ansprüche 1 bis 15 durchzuführen, wenn das Programm auf einem Computer ausgeführt wird.
DE112020000134.2T 2019-02-15 2020-02-11 Sicherer, mehrstufiger zugriff auf verschleierte daten für analysen Pending DE112020000134T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/278,028 US11416633B2 (en) 2019-02-15 2019-02-15 Secure, multi-level access to obfuscated data for analytics
US16/278,028 2019-02-15
PCT/IB2020/051074 WO2020165756A1 (en) 2019-02-15 2020-02-11 Secure, multi-level access to obfuscated data for analytics

Publications (1)

Publication Number Publication Date
DE112020000134T5 true DE112020000134T5 (de) 2021-07-29

Family

ID=72040646

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112020000134.2T Pending DE112020000134T5 (de) 2019-02-15 2020-02-11 Sicherer, mehrstufiger zugriff auf verschleierte daten für analysen

Country Status (6)

Country Link
US (1) US11416633B2 (de)
JP (1) JP7438607B2 (de)
CN (1) CN113396415A (de)
DE (1) DE112020000134T5 (de)
GB (1) GB2595167A (de)
WO (1) WO2020165756A1 (de)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11308234B1 (en) * 2020-04-02 2022-04-19 Wells Fargo Bank, N.A. Methods for protecting data
US11902424B2 (en) * 2020-11-20 2024-02-13 International Business Machines Corporation Secure re-encryption of homomorphically encrypted data
US20220253541A1 (en) * 2021-02-10 2022-08-11 Bank Of America Corporation System for electronic data obfuscation through alteration of data format
US11580249B2 (en) 2021-02-10 2023-02-14 Bank Of America Corporation System for implementing multi-dimensional data obfuscation
US11907268B2 (en) * 2021-02-10 2024-02-20 Bank Of America Corporation System for identification of obfuscated electronic data through placeholder indicators
US20220271914A1 (en) * 2021-02-24 2022-08-25 Govermment of the United of America as represented by the Secretary of the Navy System and Method for Providing a Secure, Collaborative, and Distributed Computing Environment as well as a Repository for Secure Data Storage and Sharing
US11941151B2 (en) * 2021-07-16 2024-03-26 International Business Machines Corporation Dynamic data masking for immutable datastores

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040199517A1 (en) * 2003-04-02 2004-10-07 Fabio Casati Method and system for operating a data warehouse for event management
US7266847B2 (en) * 2003-09-25 2007-09-04 Voltage Security, Inc. Secure message system with remote decryption service
US20070112869A1 (en) * 2005-11-15 2007-05-17 Solix, Inc. System and method for managing data in a database
US8347396B2 (en) * 2007-11-30 2013-01-01 International Business Machines Corporation Protect sensitive content for human-only consumption
US20110154061A1 (en) * 2009-12-21 2011-06-23 Babu Chilukuri Data secure memory/storage control
US11301592B2 (en) 2010-01-28 2022-04-12 Pure Storage, Inc. Distributed storage with data obfuscation and method for use therewith
US8544104B2 (en) * 2010-05-10 2013-09-24 International Business Machines Corporation Enforcement of data privacy to maintain obfuscation of certain data
US20110282862A1 (en) * 2010-05-14 2011-11-17 Telcordia Technologies, Inc. System and method for preventing nformation inferencing from document collections
US8543821B1 (en) 2011-10-28 2013-09-24 Amazon Technologies, Inc. Scalably displaying sensitive data to users with varying authorization levels
US9361481B2 (en) 2013-11-01 2016-06-07 Anonos Inc. Systems and methods for contextualized data protection
CN104679781A (zh) 2013-12-02 2015-06-03 中国移动通信集团福建有限公司 一种数据模糊处理的方法及装置
US10049185B2 (en) * 2014-01-28 2018-08-14 3M Innovative Properties Company Perfoming analytics on protected health information
CN106605220A (zh) 2014-07-02 2017-04-26 道库门特公司Ip信托单位 用于选择性文档修订的方法及系统
US10055601B1 (en) * 2014-07-31 2018-08-21 Larry Hamid Method and system for securing data
US9584517B1 (en) * 2014-09-03 2017-02-28 Amazon Technologies, Inc. Transforms within secure execution environments
CA2962432C (en) 2014-09-23 2023-04-18 FHOOSH, Inc. Secure high speed data storage, access, recovery, and transmission
GB2535183B (en) * 2015-02-11 2017-02-15 Livedrive Internet Ltd Methods and systems for virtual file storage and encryption
US9904793B2 (en) * 2015-03-23 2018-02-27 Intel Corporation Systems, methods, and apparatus to provide private information retrieval
US10230739B2 (en) * 2015-06-26 2019-03-12 Board Of Regents, The University Of Texas System System and device for preventing attacks in real-time networked environments
US9953176B2 (en) 2015-10-02 2018-04-24 Dtex Systems Inc. Method and system for anonymizing activity records
US20170124258A1 (en) 2015-11-04 2017-05-04 Mmodal Ip Llc Dynamic De-Identification of Healthcare Data
US11295635B2 (en) 2015-12-14 2022-04-05 Hitachi, Ltd. Data processing system and data processing method
US10686767B2 (en) * 2016-02-02 2020-06-16 Apple Inc. Method for securing user data with DRM keys
JP6353861B2 (ja) 2016-03-30 2018-07-04 ビートレンド株式会社 情報配信方法、情報配信システム及び情報配信プログラム
WO2017187207A1 (en) * 2016-04-29 2017-11-02 Privitar Limited Computer-implemented privacy engineering system and method
CN106611129A (zh) 2016-12-27 2017-05-03 东华互联宜家数据服务有限公司 数据脱敏方法、装置及系统
US10931652B2 (en) 2017-01-24 2021-02-23 Microsoft Technology Licensing, Llc Data sealing with a sealing enclave
CN110999208A (zh) 2017-08-02 2020-04-10 日本电信电话株式会社 加密通信装置、加密通信系统、加密通信方法及程序
US20190121998A1 (en) * 2017-10-20 2019-04-25 Dornerworks, Ltd. Computer system data guard
US11468186B2 (en) 2017-10-30 2022-10-11 Equifax Inc. Data protection via aggregation-based obfuscation
US10803197B1 (en) * 2018-04-13 2020-10-13 Amazon Technologies, Inc. Masking sensitive information in records of filtered accesses to unstructured data
US10897480B2 (en) * 2018-07-27 2021-01-19 The Boeing Company Machine learning data filtering in a cross-domain environment
US20200174990A1 (en) * 2018-11-29 2020-06-04 Anthony Turner Pratkanis Accountably Redactable Data Structures
US20200193057A1 (en) * 2018-12-13 2020-06-18 Amaris.Ai Pte. Ltd. Privacy enhanced data lake for a total customer view

Also Published As

Publication number Publication date
CN113396415A (zh) 2021-09-14
WO2020165756A1 (en) 2020-08-20
GB2595167A (en) 2021-11-17
GB202111724D0 (en) 2021-09-29
JP2022520323A (ja) 2022-03-30
US11416633B2 (en) 2022-08-16
US20200265159A1 (en) 2020-08-20
JP7438607B2 (ja) 2024-02-27

Similar Documents

Publication Publication Date Title
DE112020000134T5 (de) Sicherer, mehrstufiger zugriff auf verschleierte daten für analysen
EP1290530B1 (de) Verschlüsseln von abzuspeichernden daten in einem iv-system
DE102011077218B4 (de) Zugriff auf in einer Cloud gespeicherte Daten
DE112018004390B4 (de) Sichere zugriffsverwaltung für werkzeuge innerhalb einer sicheren umgebung
DE112014000584T5 (de) Erreichen von Speichereffizienz bei durchgängiger Verschlüsselung unter Verwendung von nachgelagerten (Downstream-)Decryptern
DE102009017221A1 (de) Information-Rights-Management
DE112021004937T5 (de) Sicheres erneutes verschlüsseln von homomorph verschlüsselten daten
DE112011103580B4 (de) Verfahren, sichere Einheit, System und Computerprogrammprodukt für das sichere Verwalten des Benutzerzugriffs auf ein Dateisystem
DE102016105062A1 (de) Nähengestützte Berechtigungsprüfung für einheitenübergreifend verteilte Daten
WO2010105912A1 (de) Verfahren zur erzeugung von asymmetrischen kryptografischen schlüsselpaaren
DE112020002343T5 (de) Verteilung von Sicherheitsberechtigungsnachweisen
DE112020002859T5 (de) Verschlüsselter wissens-graph
DE112022003368T5 (de) Verschlüsselungsüberwachungsregister und -system
DE112021006008T5 (de) Sichere übertragung grosser datenmengen
DE102021128519A1 (de) Dokumentzugangskontrolle auf grundlage von dokumentkomponenten-layouts
DE102021130942A1 (de) Mehrstufiger schutz für datenzentrierte objekte
EP3552141B1 (de) Server-computersystem zur bereitstellung von datensätzen
EP3588357B1 (de) System mit zertifikat-basierter zugriffskontrolle
EP3552140B1 (de) Datenbankindex aus mehreren feldern
DE112019003808B4 (de) Zweckspezifische Zugriffssteuerung auf Grundlage einer Datenverschlüsselung
DE112021005979T5 (de) Sichere gemeinsame nutzung von speicher
DE112022003983T5 (de) Berechtigte, sichere datenverschiebung
EP2491513B1 (de) Verfahren und system zum bereitstellen von edrm-geschützten datenobjekten
DE102013019487A1 (de) Verfahren, Vorrichtungen und System zur Online-Datensicherung
DE112021002780T5 (de) Systemgenerierter datensatz-verschlüsselungsschlüssel

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R084 Declaration of willingness to licence