DE112019001433T5 - Datenanonymisierung - Google Patents

Datenanonymisierung Download PDF

Info

Publication number
DE112019001433T5
DE112019001433T5 DE112019001433.1T DE112019001433T DE112019001433T5 DE 112019001433 T5 DE112019001433 T5 DE 112019001433T5 DE 112019001433 T DE112019001433 T DE 112019001433T DE 112019001433 T5 DE112019001433 T5 DE 112019001433T5
Authority
DE
Germany
Prior art keywords
data set
data
entity
relationship
database system
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
DE112019001433.1T
Other languages
English (en)
Inventor
Martin Oberhofer
Albert Maier
Yannick Saillet
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 DE112019001433T5 publication Critical patent/DE112019001433T5/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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity

Abstract

Die vorliegende Offenbarung bezieht sich auf ein Verfahren zur Datenanonymisierung eines Datenbanksystems. Das Verfahren weist auf: Ermitteln, ob eine erste Datenmenge und eine zweite Datenmenge des Datenbanksystems eine Beziehung aufweisen, die auf eine Entität hinweist, die Werte in den beiden Datenmengen aufweist. Eine Anforderung zumindest einer der ersten und der zweiten Datenmenge kann von einem Benutzer empfangen werden. Falls die erste Datenmenge und die zweite Datenmenge die Beziehung aufweisen, kann zumindest eine der ersten und der zweiten Datenmenge so modifiziert werden, dass der Hinweis auf die Entität für den Benutzer nicht zugänglich ist. Und die angeforderte Datenmenge kann bereitgestellt werden.

Description

  • HINTERGRUND
  • Die vorliegende Erfindung bezieht sich auf das Gebiet digitaler Computersysteme und im Besonderen auf ein Verfahren zur Datenanonymisierung.
  • Datenschutzbestimmungen untersagen die Nutzung der Daten einer Person für eine bestimmte Art von Analyse, sofern sie nicht ausdrücklich ihre Zustimmung zu dieser Verwendung geben hat. Andererseits kann es zulässig sein, personenbezogene Daten zu sammeln und zu speichern und sie für Analysen zu verwenden, sofern die Daten anonymisiert werden. Wenn die durch eine Steuereinheit verarbeiteten Daten es der Steuereinheit zum Beispiel nicht ermöglichen, eine Person zu erkennen, können die Daten analysiert werden. Dies erfordert jedoch, dass die Anonymisierung korrekt und ausreichend angewendet wird, um die Erkennung der den persönlichen Daten zugehörigen Entitäten zu verhindern.
  • KURZDARSTELLUNG
  • Verschiedene Ausführungsformen stellen ein Verfahren zur Datenanonymisierung, ein Computersystem und ein Computerprogrammprodukt bereit, wie durch den Gegenstand der unabhängigen Ansprüche beschrieben. Vorteilhafte Ausführungsformen werden in den abhängigen Ansprüchen beschrieben. Ausführungsformen der vorliegenden Erfindung können frei miteinander kombiniert werden, wenn sie sich nicht gegenseitig ausschließen.
  • In einem Aspekt bezieht sich die Erfindung auf ein Verfahren zur Datenanonymisierung eines Datenbanksystems. Das Verfahren weist auf:
    1. (a) Ermitteln, ob eine erste Datenmenge und eine zweite Datenmenge des Datenbanksystems eine Beziehung aufweisen, die auf eine Entität hinweist, die Werte (z.B. Attributwerte) in den beiden Datenmengen aufweist;
    2. (b) Empfangen einer Anforderung zumindest einer der ersten und der zweiten Datenmenge von einem Benutzer;
    3. (c) falls die erste Datenmenge und die zweite Datenmenge die Beziehung aufweisen, Modifizieren zumindest einer der ersten und der zweiten Datenmenge so, dass der Hinweis auf die Entität für den Benutzer nicht zugänglich ist;
    4. (d) Bereitstellen der angeforderten Datenmenge.
  • In einem weiteren Aspekt bezieht sich die Erfindung auf ein Computerprogrammprodukt, das ein durch einen Computer lesbares Speichermedium aufweist, in dem ein durch einen Computer lesbarer Programmcode verkörpert ist, wobei der durch einen Computer lesbare Programmcode dazu konfiguriert ist, sämtliche Schritte des Verfahrens gemäß vorhergehenden Ausführungsformen zu implementieren.
  • In einem weiteren Aspekt bezieht sich die Erfindung auf ein Computersystem zur Datenanonymisierung eines Datenbanksystems. Das Computersystem ist konfiguriert zu einem:
    1. (a) Ermitteln, ob eine erste Datenmenge und eine zweite Datenmenge des Datenbanksystems eine Beziehung aufweisen, die auf eine Entität hinweist, die Werte in den beiden Datenmengen aufweist;
    2. (b) Empfangen einer Anforderung zumindest einer der ersten und der zweiten Datenmenge von einem Benutzer;
    3. (c) falls die erste Datenmenge und die zweite Datenmenge die Beziehung aufweisen, Modifizieren zumindest einer der ersten und der zweiten Datenmenge so, dass der Hinweis auf die Entität für den Benutzer nicht zugänglich ist;
    4. (d) Bereitstellen der angeforderten Datenmenge.
  • Figurenliste
  • Im Folgenden werden Ausführungsformen der Erfindung lediglich als Beispiel unter Bezugnahme auf die Zeichnungen ausführlicher beschrieben, in denen:
    • 1 ein Blockschaubild eines Speichersystems gemäß der vorliegenden Offenbarung darstellt;
    • 2 ein Ablaufplan eines Verfahrens zur Datenanonymisierung von Daten eines Datenbanksystems ist;
    • 3 eine Cloud-Computing-Umgebung gemäß einer Ausführungsform der vorliegenden Erfindung darstellt; und
    • 4 Abstraktionsmodellschichten gemäß einer Ausführungsform der vorliegenden Erfindung darstellt.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Die Beschreibungen der verschiedenen Ausführungsformen der vorliegenden Erfindung erfolgen zur Veranschaulichung, sind jedoch nicht erschöpfend oder auf die offenbarten Ausführungsformen beschränkt gemeint. Viele Modifizierungen und Varianten sind für Fachleute ersichtlich, ohne vom Umfang und Wesensgehalt der beschriebenen Ausführungsformen abzuweichen. Die hierin verwendete Terminologie wurde gewählt, um die Grundgedanken der Ausführungsformen, die praktische Anwendung oder die technische Verbesserung gegenüber auf dem Markt erhältlichen Technologien am besten zu erläutern oder um anderen Fachleuten zu ermöglichen, die hierin offenbarten Ausführungsformen zu verstehen.
  • Der Begriff „Datenmenge“ oder „Daten-Ressource“ bezieht sich auf eine Sammlung eines oder mehrerer Datenelemente. Bei einem Datenelement kann es sich zum Beispiel um ein Dokument, einen Datenwert oder einen Datensatz handeln. Beispielsweise kann die Datenmenge in Form einer Sammlung verwandter Datensätze bereitgestellt werden, die in einer Datei enthalten sind, z.B. kann es sich bei der Datenmenge um eine Datei handeln, die Datensätze aller Kursteilnehmer in einer Klasse enthält. Bei einem Datensatz handelt es sich um eine Sammlung verwandter Datenelemente, z.B. Rollennummer, Geburtstag, eine Klasse eines Kursteilnehmers. Ein Datensatz stellt eine Entität dar, wobei die Entität ein individuelles und eigenständiges Vorhandensein, z.B. eines Kursteilnehmers, aufweist. Bei der Datenmenge kann es sich zum Beispiel um eine Tabelle einer Datenbank oder eine Datei eines Hadoop-Dateisystems usw. handeln. In einem weiteren Beispiel kann die Datenmenge ein Dokument wie etwa eine HTML-Seite oder sonstige Dokumenttypen aufweisen. Das Dokument kann zum Beispiel Daten eines Patienten aufweisen.
  • Beispielsweise kann es sich bei einer Entität, die Werte in zwei Datenmengen aufweist, etwa um eine Entität handeln, die zumindest einen Datensatz in zumindest einer der ersten und der zweiten Datenmenge aufweist. Beispielsweise kann die Beziehung darauf hinweisen, dass ein Patient X, der einen Datensatz in der ersten Datenmenge aufweist, darüber hinaus einen weiteren verwandten Datensatz in der zweiten Datenmenge aufweist (z.B. können die beiden Datensätze des Patienten X über seine Adresse verknüpft sein, wobei der erste Datensatz keinen vollständigen Namen aufweist, wohingegen der zweite Datensatz den vollständigen Namen des Patienten X enthält). Somit handelt es sich bei dem Patienten X um die Entität, auf die durch die Beziehung zwischen der ersten und der zweiten Datenmenge hingewiesen wird.
  • Eine Beziehung zwischen zwei Datenmengen kann eine Verknüpfung zwischen einer/einem oder mehreren Spalten/Attributen einer Datenmenge mit einer oder mehreren Spalten der sonstigen Datenmengen sein. Beispielsweise kann es sich bei der Beziehung um eine Primär-Fremd-Schlüssel(PK-FK)-Beziehung handeln. In einem weiteren Beispiel kann die Beziehung eine Verknüpfung von einem Dokument mit einem weiteren Dokument aufweisen, zum Beispiel eine Verknüpfung von einem XML-Dokument, die auf ein weiteres Dokument verweist, das mehr Daten zu derselben Entität enthält, oder eine Verknüpfung von einem unstrukturierten Dokument, das verwandte Daten enthält. Wenn die Daten als Triplets in einem Tripelspeicher (z.B. RDF-Daten) gespeichert sind oder die Daten in einer Graph-DB gespeichert sind, kann die Beziehung eine Verknüpfung zwischen einer Entität mit einer weiteren Entität sein. Die Beziehung kann zum Beispiel ermöglichen, die erste und die zweite Datenmenge miteinander zu verbinden, so dass die Datensätze der ersten Datenmenge und die Datensätze der zweiten Datenmenge, die eine selbe Entität darstellen, in einem neuen einzelnen Datensatz einer verbundenen Datenmenge zusammengeführt werden, die die kombinierten Daten darstellt, die in den beiden Datenmengen für dieselbe Entität enthalten sind. Die kombinierten Daten können vertrauliche Daten dieser Entität offenbaren, obwohl die beiden Datensätze jeweils anonymisiert sind.
  • Der Begriff „Benutzer“ bezieht sich auf eine Entität, z.B. auf eine Person, einen Computer oder eine Anwendung, die auf einem Computer ausgeführt wird, einen Container, ein Dateisystem, ein Verzeichnis. Der Benutzer kann beispielsweise eine Gruppe von Benutzern darstellen. Das Datenbanksystem kann einen oder mehrere Speicher zum Speichern von Datenmengen aufweisen. Das Datenbanksystem kann zum Beispiel von einem Dokumentenspeicher, einem Tripelspeicher, einer Graph-DB und einer relationalen Datenbank zumindest eines aufweisen. Die erste und die zweite Datenmenge können in demselben oder in verschiedenen Speichern des Datenbanksystems gespeichert werden.
  • Zum Zeitpunkt eines Zugreifens auf eine Daten-Ressource zum Verarbeiten kann zum Beispiel eine Prüfung durchgeführt werden, um festzustellen, ob die Ressource sicherheitsrelevante Daten enthält und anonymisiert werden muss. Wenn ja, werden geeignete Anonymisierungsmaßnahmen mithilfe einer vordefinierten Datenmaskierungstechnik angewendet. Wenn zwei oder mehr Daten-Ressourcen für eine kombinierte Verwendung markiert sind, wird eine Prüfung durchgeführt, ob dies zu einer möglichen Verletzung der Anonymisierung führen würde. Wenn ja, werden geeignete Anonymisierungsmaßnahmen mithilfe einer vordefinierten Maskierungstechnik angewendet. Die Prüfung kann an technischen Metadaten implementiert werden, die für die Daten-Ressourcen erstellt und in einem Information Governance Catalog registriert worden sind.
  • Das vorliegende Verfahren kann den Verlust einer Datenanonymisierung verhindern, wenn zwei oder mehr Daten-Ressourcen zusammengeführt werden, wobei jede einzeln ausreichend anonymisiert ist, die zusammen verwendeten Daten-Ressourcen jedoch die Datenanonymisierung verletzen. Das vorliegende Verfahren kann im Besonderen bei Big-Data- und Data-Lake-Architekturen von Vorteil sein, bei denen ein einzelnes System wie ein großer Hadoop-Verbund in dem Data-Lake Zehntausende von Daten-Ressourcen speichert, die für Datenwissenschaftler verfügbar sind, die zusammen zu analysieren sind und zahlreiche Kombinationen aufweisen, die möglicherweise nicht im Voraus berücksichtigt werden. Für solche Systeme kann das vorliegende Verfahren eine Möglichkeit bereitstellen vorauszusehen, welche Daten-Ressourcen zusammen in einer Datenanalyse verwendet werden können. Beispielsweise kann das vorliegende Verfahren eine Verletzung der Anonymisierung vermeiden, wobei eine Verletzung der Anonymisierung die folgenden Merkmale aufweisen kann. Über zwei oder mehr Daten-Ressourcen hinweg können ein oder mehrere Attribute verbunden sein. Über zwei oder mehr Daten-Ressourcen hinweg musste in einer Daten-Ressource eine bestimmte Entität oder Attributgruppe oder ein bestimmtes Attribut entsprechend einer Information-Governance-Richtlinie maskiert werden. Und über zwei oder mehr Daten-Ressourcen hinweg ist zumindest in einer Daten-Ressource die geschützte Domäne in einer der sonstigen Ressourcen nicht maskiert, was ermöglicht, dass nach dem Verbinden die Anonymisierung verletzt wird.
  • Ein weiterer Vorteil kann darin bestehen, dass das vorliegende Verfahren proaktive und automatisierte Datenschutzmaßnahmen ermöglichen kann, indem bei Bedarf eine Datenanonymisierung gewährleistet wird, die ein optimales Gleichgewicht zwischen Datenschutz und Nutzbarkeit von Daten bereitstellt. Beispielsweise können die beiden Datenmengen jeweils anonymisiert sein und können keine Quelle für sicherheitsrelevante Daten sein, wenn unabhängig voneinander auf sie zugegriffen wird. Da der Benutzer jedoch die erste und die zweite Datenmenge kombinieren kann, um auf die Entität zuzugreifen, wirkt das vorliegende Verfahren a posteriori, indem es die Modifizierung bereits zum Zeitpunkt des Empfangens der Anforderung einer der beiden Datenmengen durchführt, wodurch der Fall vorweggenommen wird, in dem der Benutzer unter Umständen die zweite Datenmenge in einer späteren Phase getrennt anfordert. Mit anderen Worten, dies kann den Fall verhindern, in dem ein Datenwissenschaftler anonymisierte Datenmengen gewinnt, bei denen jede Datenmenge die Governance-Richtlinien einhält, die Anonymisierung jedoch umgangen werden kann, indem mehrere richtlinienkonforme Datenmengen verbunden werden, wodurch eine resultierende Datenmenge gewonnen wird, die die Richtlinie nicht mehr einhält.
  • Das vorliegende Verfahren kann des Weiteren unbeabsichtigte Datenlecks verhindern, die zu Reputationsverlust und/oder Geldstrafen führen können.
  • Ein weiterer Vorteil kann darin bestehen, dass das vorliegende Verfahren eine verbesserte Einhaltung von Vorschriften bereitstellt, die leicht zu prüfen sind, da der Prozess auf Grundlage eines Information Governance Catalog mit vollständiger Datenabstammung und sonstigen Prüfprotokollen metadatengesteuert sein kann. Gemäß einer Ausführungsform umfassen die erste und die zweite Datenmenge Datensätze, wobei es sich bei jedem Datensatz um eine Kombination von Attributwerten einer jeweiligen Entität handelt, wobei die Entität, auf durch die Beziehung hingewiesen wird, eine Entität zumindest eines Datensatzes der ersten und/oder der zweiten Datenmenge ist. Beispielsweise kann ein beispielhaftes Verfahren zur Datenanonymisierung eines Datenbanksystems bereitgestellt werden. Das beispielhafte Verfahren weist auf: Ermitteln, ob eine erste Datenmenge und eine zweite Datenmenge des Datenbanksystems eine Beziehung aufweisen, die auf eine Entität zumindest eines Datensatzes der beiden Datenmengen hinweist; Empfangen einer Anforderung zumindest einer der ersten und der zweiten Datenmenge von einem Benutzer; falls die erste Datenmenge und die zweite Datenmenge die Beziehung aufweisen, Modifizieren zumindest einer der ersten und der zweiten Datenmenge so, dass der Hinweis auf die Entität für den Benutzer nicht zugänglich ist; und Bereitstellen der angeforderten Datenmenge.
  • Gemäß einer Ausführungsform weist das Verfahren des Weiteren ein Ermitteln von Beziehungen zwischen sämtlichen Datenmengen des Datenbanksystems und ein Bereitstellen einer Metadatenstruktur auf, die Daten zu den ermittelten Beziehungen aufweist, wobei das Ermitteln, ob die erste und die zweite Datenmenge die Beziehung aufweisen, mithilfe der Metadatenstruktur durchgeführt wird. Auf diese Weise kann das Verfahren automatisch durchgeführt werden, ohne dass eine ausdrückliche, bedarfsgesteuerte Ermittlung der Beziehung erforderlich ist. Dies kann im Besonderen in großen Systemen von Vorteil sein, in denen zahlreiche Datenanforderungen pro Zeiteinheit empfangen werden. Da die Metadatenstruktur einmalig erstellt und nicht für jede empfangene Anforderung erneut verarbeitet wird, kann dies Verarbeitungszeit einsparen.
  • Gemäß einer Ausführungsform weist das Verfahren des Weiteren auf: als Reaktion auf eine Änderung in dem Datenbanksystem ein erneutes Ermitteln der Beziehungen zwischen Datenmengen des Datenbanksystems und ein entsprechendes Aktualisieren der Metadatenstruktur. Dies kann eine aktuelle Datenquelle bereitstellen und kann auf diese Weise einen Zugriff auf Daten durch Durchführen einer sorgfältigen Anonymisierung weiter gewährleisten.
  • Beispielsweise kann eine vordefinierte Funktion (z.B. ein Algorithmus zur Erkennung einer PK-FK-Beziehung) verwendet werden, um alle möglichen Beziehungen (z.B. PK-FK-Beziehungen) zwischen sämtlichen Datenmengen in dem Datenbanksystem zu ermitteln und alle diese ermittelten Beziehungen in der Metadatenstruktur zu speichern. Wenn neue Datenmengen hinzugefügt werden, kann dieselbe Funktion erneut ausgeführt werden, wobei der Schwerpunkt auf einem Erkennen der Beziehungen liegt, bei denen sich zumindest eine Seite der Beziehung in der neuen Datenmenge befindet. Die Metadatenstruktur kann entsprechend aktualisiert werden. Wenn eine Datenmenge entfernt wird, können mögliche Beziehungen oder sämtliche Beziehungen, die die entfernte Datenmenge betreffen, aus der Liste entfernt werden. Diese Ausführungsform kann fortlaufend im Hintergrund ausgeführt werden, um Änderungen in der Liste der in dem Datenbanksystem verfügbaren Datenmengen zu erkennen und den Algorithmus zur Erkennung einer PK-FK-Beziehung auszulösen, um die Liste von Beziehungen zu aktualisieren, sobald eine Änderung erkannt wird.
  • Gemäß einer Ausführungsform wird die Modifizierung als Reaktion auf ein Ermitteln durchgeführt, dass ein Zugriff auf die Entität durch den Benutzer eine vordefinierte steuernde Richtlinie (oder Regel) verletzen würde. Dies kann einen selektiven Zugriff auf Daten und auf diese Weise eine optimale Steuerung eines Datenzugriffs ermöglichen.
  • Als Beispiel könnte eine steuernde Richtlinie angeben, „Wenn ein Benutzer eine Rolle A aufweist und eine Datenmenge Spalten enthält, die in einem Katalog als sicherheitsrelevante personenbezogene Daten markiert sind, und die Datenmenge darüber hinaus Spalten enthält, die als Kennung oder Quasikennung markiert sind, muss die Datenmenge anonymisiert werden“. Beispielsweise wird für einen bestimmten (berechtigten) Benutzer die Modifizierung möglicherweise nicht durchgeführt und werden die Daten möglicherweise ohne Modifizierung bereitgestellt. Für sonstige (nicht vertrauenswürdige) Benutzer wird die Modifizierung jedoch durchgeführt. In diesem Fall erfordert die steuernde Richtlinie, dass auf die Entität (z.B. den vollständigen Namen einer Person) durch den angegebenen Benutzertyp, jedoch nicht durch einen sonstigen Benutzertyp zugegriffen werden kann.
  • Gemäß einer Ausführungsform weist das Ermitteln, ob die Beziehung auf die Entität hinweist, auf: Erkennen einer oder mehrerer Quellspalten der ersten Datenmenge, die auf jeweilige Zielspalten der zweiten Datenmenge verweisen, Kombinieren der Quell- und Zielspalten und Ermitteln auf Grundlage des Kombinationsergebnisses, ob die Beziehung auf die Entität hinweist oder nicht darauf hinweist. Gemäß einer Ausführungsform wird die Kombination mithilfe einer oder mehrerer SQL-Join-Operationen durchgeführt. Dies kann eine nahtlose Integration dieser Ausführungsformen in vorhandene Datenbanksysteme ermöglichen, um einen Zugriff auf Daten in solchen Systemen zu gewährleisten.
  • Gemäß einer Ausführungsform handelt es sich bei der ermittelten Beziehung um eine Primär-Fremd-Schlüssel-Beziehung. Eine PK-FK-Beziehung besteht aus einem Paar von Spalten oder einem Paar einer Gruppe von Spalten, zwischen denen eine Einschlussabhängigkeit besteht. Darüber hinaus können die Spalte und die Gruppe von Spalten, die den Primärschlüssel ausbilden, eindeutig sein. Die Suche nach Einschlussabhängigkeiten in einer Gruppe von Datenmengen kann zum Beispiel durchgeführt werden, indem sie mit den MinHash- oder Domänensignaturtechniken kombiniert werden und die Kardinalität der Spalten verwendet wird, um die Suche auf Kombinationen zu beschränken, bei denen eine Seite der Beziehung eindeutig oder nahezu eindeutig ist. Dies kann einen Mechanismus aktivieren, der es ermöglicht, alle möglichen PK-FK-Beziehungen einer Gruppe von Datenmengen und auf diese Weise alle möglichen Arten des Verbindens der Daten in einer Gruppe von Datenmengen vollautomatisch und in einer vertretbaren Zeit zu ermitteln.
  • Gemäß einer Ausführungsform weist das Verfahren des Weiteren ein Durchführen des Ermittelns, ob die erste Datenmenge und die zweite Datenmenge die Beziehung aufweisen, als Reaktion auf das Empfangen der Anforderung und auf das Ermitteln auf, dass die erste und die zweite Datenmenge für den Benutzer zugänglich sind. Dies kann einen bedarfsgesteuerten Ansatz ermöglichen, bei dem die Ermittlung der Datenmengen nur unter bestimmten Bedingungen durchgeführt wird. Dies kann im Besonderen bei Systemen mit einer geringen Zugriffshäufigkeit auf Daten von Vorteil sein, da es möglicherweise nicht erforderlich ist, automatisch die Beziehungen für sämtliche Daten zu ermitteln, wenn nur ein Teil der Daten verwendet werden soll. Dies kann Verarbeitungs-Ressourcen einsparen.
  • Gemäß einer Ausführungsform weist das Modifizieren der ersten und/oder der zweiten Datenmenge ein Maskieren einer oder mehrerer Spalten der angeforderten Datenmenge auf. Die Modifizierung der ersten und/oder der zweiten Datenmenge wird mithilfe eines Anonymisierungsalgorithmus durchgeführt. Bei dem Anonymisierungsalgorithmus handelt es sich zumindest um einen der folgenden: Generalisierung, Neubearbeitung, Unterdrückung, Stichprobenentnahme, Zufallsverarbeitung, Datenauslagerung, Maskierung, Aufzählung.
  • Diese Ausführungsform kann einen Vorteil darin aufweisen, dass persönlich erkennbare Daten innerhalb von relevanten Datenmengen auf eine Weise modifiziert werden können, dass Daten, die z.B. ermöglichen würden, eine einzelne Person zu erkennen, weggelassen werden, wohingegen gleichzeitig Daten, die für die Analyse zweckdienlich sind, beibehalten werden können.
  • Gemäß einer Ausführungsform wird das Ermitteln der Beziehung automatisch durchgeführt. Beispielsweise kann das Ermitteln der Beziehung auf Grundlage einer Zeitspanne durchgeführt werden.
  • Gemäß einer Ausführungsform wird das Ermitteln der Beziehung automatisch als Reaktion auf ein Erkennen einer Änderung in dem Datenbanksystem durchgeführt. Beispielsweise kann die Änderung in dem Datenbanksystem ein Hinzufügen von zumindest einer der ersten und/oder der zweiten Datenmenge zu dem Datenbanksystem oder eine Änderung der ersten und/oder der zweiten Datenmenge aufweisen.
  • 1 stellt ein allgemeines durch einen Computer unterstütztes System 100 dar, das zum Implementieren von Verfahrensschritten geeignet ist, wie sie mit der Offenbarung einhergehen.
  • Es ist ersichtlich, dass die hierin beschriebenen Verfahren zumindest zum Teil nichtinteraktiv und über durch einen Computer unterstützte Systeme wie zum Beispiel Server oder eingebettete Systeme automatisiert sind. Bei beispielhaften Ausführungsformen können die hierin beschriebenen Verfahren jedoch in einem (teilweise) interaktiven System implementiert werden. Diese Verfahren können des Weiteren in Software 112, 122 (einschließlich Firmware 122), Hardware (einem Prozessor) 105 oder einer Kombination von diesen implementiert werden. Bei beispielhaften Ausführungsformen werden die hierin beschriebenen Verfahren in Software als ausführbares Programm implementiert und durch einen digitalen Spezial- oder Universalcomputer wie etwa einen Personalcomputer, einen Arbeitsplatzrechner, einen Minicomputer oder einen Großrechner ausgeführt. Das allgemeinste System 100 enthält daher einen Universalcomputer 101.
  • Bei beispielhaften Ausführungsformen enthält der Computer 101 im Hinblick auf die Hardware-Architektur, wie in 2 dargestellt, einen Prozessor 105, einen Speicher (Hauptspeicher) 110, der mit einer Speichersteuereinheit 115 verbunden ist, und eine oder mehrere Eingabe- und/oder Ausgabe(E/A)-Einheiten (oder Peripheriegeräte) 20, 145, die zur Datenübertragung über eine lokale Eingabe-/Ausgabe-Steuereinheit 135 verbunden sind. Bei der Eingabe-/Ausgabe-Steuereinheit 135 kann es sich um einen oder mehrere Busse oder sonstige drahtgebundene oder drahtlose Verbindungen nach dem Stand der Technik handeln, ohne auf diese beschränkt zu sein. Die Eingabe-/Ausgabe-Steuereinheit 135 kann zusätzliche Elemente wie zum Beispiel Steuereinheiten, Puffer (Caches), Treiber, Zwischenverstärker und Empfänger aufweisen, die der Einfachheit halber weggelassen werden, um Datenübertragungen zu ermöglichen. Des Weiteren kann die lokale Schnittstelle Adress-, Steuer- und/oder Datenverbindungen enthalten, um entsprechende Datenübertragungen zwischen den oben genannten Komponenten zu ermöglichen. Wie hierin beschrieben, können die E/A-Einheiten 20, 145 im Allgemeinen eine beliebige allgemeine Verschlüsselungskarte oder Chip-Karte nach dem Stand der Technik enthalten.
  • Bei dem Prozessor 105 handelt es sich um eine Hardware-Einheit zum Ausführen von Software, im Besonderen derjenigen, die in dem Speicher 110 gespeichert ist. Der Prozessor 105 kann ein beliebiger nach Kundenwünschen angefertigter oder handelsüblicher Prozessor, eine Zentraleinheit (central processing unit, CPU), ein Hilfsprozessor von mehreren Prozessoren, die dem Computer 101 zugehörig sind, ein Mikroprozessor auf Grundlage eines Halbleiters (in Form eines Mikro-Chips oder eines Chip-Satzes), ein Makroprozessor oder allgemein eine beliebige Einheit zum Ausführen von Software-Anweisungen sein.
  • Der Speicher 110 kann ein beliebiges flüchtiges Speicherelement (z.B. einen Direktzugriffsspeicher (random access memory, RAM, wie etwa einen DRAM, SRAM, SDRAM usw.)) und nichtflüchtige Speicherelemente (z.B. einen ROM, einen löschbaren, programmierbaren Festwertspeicher (erasable programmable read only memory, EPROM), einen elektrisch löschbaren, programmierbaren Festwertspeicher (electronically erasable programmable read only memory, EEPROM), einen programmierbaren Festwertspeicher (programmable read only memory, PROM) oder eine Kombination von diesen enthalten. Es ist zu beachten, dass der Speicher 110 eine verteilte Architektur aufweisen kann, wobei sich verschiedene Komponenten entfernt voneinander befinden, auf die jedoch durch den Prozessor 105 zugegriffen werden kann.
  • Die Software in dem Speicher 110 kann ein oder mehrere getrennte Programme enthalten, von denen jedes eine geordnete Auflistung ausführbarer Anweisungen zum Implementieren logischer Funktionen, insbesondere Funktionen, die in Ausführungsformen dieser Erfindung enthalten sind, aufweist. In dem Beispiel von 2 enthält eine Software in dem Speicher 110 Anweisungen 112, z.B. Anweisungen zum Verwalten von Datenbanken, wie etwa ein Datenbankverwaltungssystem.
  • Die Software in dem Speicher 110 soll darüber hinaus typischerweise ein geeignetes Betriebssystem (operating system, OS) 111 enthalten. Das OS 111 steuert im Wesentlichen die Ausführung sonstiger Computerprogramme wie zum Beispiel möglicherweise der Software 112 zum Implementieren von Verfahren, wie hierin beschrieben.
  • Die hierin beschriebenen Verfahren können in Form eines Quellprogramms 112, eines ausführbaren Programms 112 (eines Objektcodes), eines Skripts oder einer beliebigen sonstigen Entität vorliegen, die einen Satz von durchzuführenden Anweisungen 112 aufweist. Wenn es sich um ein Quellprogramm handelt, muss das Programm über einen Compiler, Assembler, Interpreter oder dergleichen, der in dem Speicher 110 enthalten sein kann, umgesetzt werden, um in Verbindung mit dem OS 111 korrekt zu funktionieren. Des Weiteren können die Verfahren als objektorientierte Programmiersprache, die über Klassen von Daten und Verfahren verfügt, oder als prozedurale Programmiersprache, die über Routinen, Unterroutinen und/oder Funktionen verfügt, geschrieben sein.
  • Bei beispielhaften Ausführungsformen können eine herkömmliche Tastatur 150 und Maus 155 mit der Eingabe-/Ausgabe-Steuereinheit 135 verbunden werden. Zu sonstigen Ausgabeeinheiten wie etwa den E/A-Einheiten 145 können Eingabeeinheiten, etwa ein Drucker, ein Scanner, ein Mikrophon und dergleichen zählen, ohne auf diese beschränkt zu sein. Schließlich können die E/A-Einheiten 10, 145 des Weiteren Einheiten, die Daten zwischen Ein- und Ausgängen übertragen, wie zum Beispiel eine Netzwerk-Schnittstellenkarte (network interface card, NIC) oder einen Modulator/Demodulator (zum Zugreifen auf sonstige Dateien, Einheiten, Systeme oder ein Netzwerk), einen Hochfrequenz-(HF-) oder einen sonstigen Sender-Empfänger, eine Telefonschnittstelle, eine Brücke, einen Router und dergleichen enthalten, ohne auf diese beschränkt zu sein. Bei den E/A-Einheiten 10, 145 kann es sich um eine beliebige allgemeine Verschlüsselungskarte oder Chip-Karte nach dem Stand der Technik handeln. Das System 100 kann des Weiteren eine Anzeigesteuereinheit 125 enthalten, die mit einer Anzeige 130 verbunden ist. Bei beispielhaften Ausführungsformen kann das System 100 des Weiteren eine Netzwerk-Schnittstelle zum Verbinden mit einem Netzwerk 165 enthalten. Bei dem Netzwerk 165 kann es sich um ein Netzwerk auf Grundlage von IP zur Datenübertragung zwischen dem Computer 101 und einem beliebigen externen Server, Client und dergleichen über eine Breitbandverbindung handeln. Das Netzwerk 165 überträgt und empfängt Daten zwischen dem Computer 101 und externen Systemen 30, die daran beteiligt sein können, einen Teil oder sämtliche der Schritte der hierin erörterten Verfahren durchzuführen. Bei beispielhaften Ausführungsformen kann es sich bei dem Netzwerk 165 um ein verwaltetes IP-Netzwerk handeln, das durch einen Dienstanbieter verwaltet wird. Das Netzwerk 165 kann drahtlos implementiert werden, z.B. mithilfe von drahtlosen Protokollen und Technologien wie z.B. WiFi, WiMax usw. Bei dem Netzwerk 165 kann es sich auch um ein Netzwerk mit Paketvermittlung wie zum Beispiel um ein lokales Netzwerk, ein Weitverkehrs-Netzwerk, ein Hochgeschwindigkeits-Netzwerk, ein Internet-Netzwerk oder einen sonstigen, ähnlichen Typ von Netzwerkumgebung handeln. Das Netzwerk 165 kann ein festes drahtloses Netzwerk, ein drahtloses lokales Netzwerk (local area network, LAN), ein drahtloses Weitverkehrs-Netzwerk (wide area network, WAN), ein persönliches Netzwerk (personal area network, PAN), ein virtuelles privates Netzwerk (VPN), ein Intranet oder ein sonstiges geeignetes Netzwerksystem sein, und es enthält Geräte zum Empfangen und Übertragen von Signalen.
  • Wenn es sich bei dem Computer 101 um einen PC, einen Arbeitsplatzrechner, eine intelligente Einheit oder dergleichen handelt, kann die Software in dem Speicher 110 des Weiteren ein grundlegendes Eingabe-/Ausgabe-System (basic input output system, BIOS) 122 enthalten. Das BIOS ist ein Satz von wesentlichen Software-Routinen, die Hardware beim Starten initialisieren und testen, das OS 111 starten und die Übertragung von Daten zwischen den Hardware-Einheiten unterstützen. Das BIOS ist in dem ROM gespeichert, so dass das BIOS ausgeführt werden kann, wenn der Computer 101 aktiviert wird.
  • Wenn der Computer 101 in Betrieb ist, ist der Prozessor 105 zum Ausführen von in dem Speicher 110 gespeicherter Software 112, zum Übertragen von Daten in den und aus dem Speicher 110 und zum allgemeinen Steuern von Vorgängen des Computers 101 der Software entsprechend konfiguriert. Die hierin beschriebenen Verfahren und das OS 111 werden vollständig oder zum Teil, üblicherweise jedoch letzteres, durch den Prozessor 105 gelesen, möglicherweise innerhalb des Prozessors 105 zwischengespeichert und anschließend ausgeführt.
  • Wenn die hierin beschriebenen Systeme und Verfahren in der Software 112 implementiert sind, wie in 1 dargestellt, können die Verfahren auf einem beliebigen durch einen Computer lesbaren Medium wie zum Beispiel dem Speicher 120 zur Verwendung durch oder in Verbindung mit einem beliebigen auf einen Computer bezogenen System oder Verfahren gespeichert werden. Der Speicher 120 kann einen Plattenspeicher wie zum Beispiel einen HDD-Speicher aufweisen.
  • Das System 100 weist des Weiteren ein Datenbanksystem 150 auf. Das Datenbanksystem 150 weist Datenmengen 151.1 bis 151.N auf. Metadaten, die die Datenmengen 151.1 bis N beschreiben oder auf diese hinweisen, können in einem Katalog 153 gespeichert sein. Der Katalog 153 kann zum Beispiel eine Datenprofilerstellung der Datenmengen 151.1 bis N aufweisen. Die Datenprofilerstellung kann darauf hinweisen, zu welcher semantischen Domäne ein bestimmtes Attribut oder eine bestimmte Gruppe von Attributen gehört. Der Katalog 153 kann des Weiteren Klassifizierungsdaten zu den Datenmengen 151.1 bis N aufweisen. Beispielsweise kann eine vordefinierte Funktion zum Analysieren von Datenklassifizierungen jede Spalte der Datenmengen 151.1 bis N Kategorien zuweisen, z.B. kann jede Kategorie durch eine Klassifizierungskennung erkannt werden. Der Katalog 153 kann zum Beispiel jede Klassifizierungskennung und zugehörige Spalten speichern. Der Katalog 153 kann des Weiteren Governance-Richtlinien aufweisen. Eine Governance-Richtlinie kann zum Beispiel darauf hinweisen, welche Attribute durch Anonymisierung geschützt werden müssen (z.B. eine Kreditkartennummer, Personennamen und Adressen usw.) und welcher Anonymisierungsalgorithmus zu verwenden ist. Der Katalog 153 kann des Weiteren Datenmodelle aufweisen, wobei ein Datenmodell Einzelheiten darüber bereitstellt, wie Daten strukturiert, zugeordnet und verknüpft sind. Das Datenbanksystem 150 wird nur zur Veranschaulichung als eine einzelne Komponente dargestellt. Es können jedoch auch sonstige Beispiele für Datenbanksysteme verwendet werden. Beispielsweise kann das Datenbanksystem 150 mehrere Speicher aufweisen. Die mehreren Speicher können miteinander verbunden sein.
  • 2 ist ein Ablaufplan eines Verfahrens zur Datenanonymisierung von Daten eines Datenbanksystems 150.
  • In Schritt 201 kann ermittelt werden, ob eine erste Datenmenge, z.B. 151.2, und zumindest eine zweite Datenmenge, z.B. 151.4, des Datenbanksystems 150 eine Beziehung aufweisen, die auf eine Entität zumindest eines Datensatzes der beiden Datenmengen hinweist (oder auf eine Entität mit Werten in zumindest einer der beiden Datenmengen hinweist). Ein Hinweis auf die Entität (z.B. der vollständige Name einer Person) erfüllt möglicherweise nicht die Governance-Richtlinien, daher kann eine Anonymisierung erforderlich sein. Falls das Datenbanksystem mehrere Speicher aufweist, können die erste und die zweite Datenmenge in demselben oder in verschiedenen Speichern gespeichert werden. Die Beziehung kann zum Beispiel ein Verbinden von Attributwerten in der ersten Datenmenge und der zweiten Datenmenge miteinander ermöglichen, so dass das Verbindungsergebnis eine selbe Entität darstellt (siehe z.B. das im Folgenden beschriebene Beispiel für Datensätze mit Anrufdetails). Die verbundenen Attributwerte können zu der Entität in beiden Datenmengen, auf die hingewiesen wird, gehören oder können zu der angegebenen Entität in einer der beiden Datenmengen gehören, und die andere Datenmenge kann Attributwerte einer weiteren Entität aufweisen, z.B. im Zusammenhang mit der Entität, auf die hingewiesen wird. Beispielsweise handelt es sich bei der ersten Datenmenge um eine Patientenakte, die Attributwerte eines Patienten X mit einer bestimmten Adresse aufweist, und die zweite Datenmenge (z.B. ein Social-Media-Profil) kann Attributwerte eines Verwandten des Patienten X aufweisen, der dessen Vornamen und derselben bestimmten Adresse zugehörig ist. Die Kombination der beiden Datenmengen kann den Vornamen des Patienten X offenbaren. In diesem Beispiel ist die Entität, auf die hingewiesen wird, der Patient X, und die andere Entität ist der Verwandte.
  • Die Ermittlung von Schritt 201 kann zum Beispiel für die beiden Datenmengen 151.2 und 152.4 bei Bedarf durchgeführt werden, z.B. nach Empfangen der Anforderung von Schritt 203. In einem weiteren Beispiel kann die Ermittlung von Schritt 201 als Teil einer Gesamtermittlung von Beziehungen sämtlicher Datenmengen 151.1 bis N des Datenbanksystems 150 durchgeführt werden. Dies kann automatisch für die beiden Datenmengen 151.2 und 152.4 und die sonstigen Datenmengen des Datenbanksystems 150 durchgeführt werden. Die automatische Ausführung von Schritt 201 kann zum Beispiel auf Grundlage einer Zeitspanne, z.B. jeden Tag, oder bei einem Erkennen einer Änderung im Datenbanksystem 150 durchgeführt werden, z.B. ist eine Datenmenge geändert worden, ist eine neue Datenmenge hinzugefügt worden.
  • Schritt 201 kann zum Beispiel durchgeführt werden, indem zunächst geprüft wird, ob zumindest eine der ersten und der zweiten Datenmenge 151.2 und 151.4 nur anonymisiert verwendet werden kann. Diese Prüfung kann anhand vordefinierter steuernder Richtlinien und/oder Datenmodelle des Katalogs 153 durchgeführt werden. Wenn keine der ersten und der zweiten Datenmenge 151.2 und 151.4 anonymisiert verwendbar ist, endet das Verfahren.
  • In einem Beispiel kann das Ermitteln von Schritt 201 durchgeführt werden, indem geprüft wird, ob zumindest ein Attribut der ersten oder der zweiten Datenmenge 151.2 und 151.4, das nicht anonymisiert ist, semantisch dieselbe Geschäftsentität oder Attributgruppe oder dasselbe Attribut darstellt, die/das zum Verbinden eines einzelnen Datensatzes über die beiden Datenmengen 151.2 und 151.4 hinweg verwendet werden könnte. Dies kann mithilfe der Klassifizierungsdaten für Datenterme, z.B. des Katalogs 153, über die Datenmengen hinweg erfolgen, um zu ermitteln, ob dasselbe Termklassifikationsmerkmal über die Datenmengen hinweg verwendet wird, und/oder indem die Datenprofilerstellungsergebnisse über die Datenmengen 151.2 und 151.4 hinweg verwendet werden, um zu ermitteln, ob PK/FK-Bedingungen (z.B. Einschlussabhängigkeiten) zwischen den Datenmengen festgestellt werden. Dies kann darauf hindeuten, dass bestimmte Attribute zum Durchführen von Join-Operationen zwischen Daten-Ressourcen für bestimmte Attribute verwendet werden könnten.
  • In einem weiteren Beispiel kann das Ermitteln von Schritt 201 durchgeführt werden, indem über die Datenmengen 151.2 und 151.4 hinweg geprüft wird, ob eine von diesen Daten enthält, die dieselbe geschäftliche Bedeutung wie die zumindest eine Daten-Ressource aufweisen, die einen oder mehrere Bereiche aufweist, die nur zur anonymisierten Verwendung zugelassen sind. Dies kann mithilfe der Klassifizierungsdaten des Katalogs 153 durchgeführt werden.
  • Die Ermittlung von Schritt 201 kann zum Beispiel mithilfe des BINDER-Algorithmus oder der Minhash-Technik durchgeführt werden.
  • In Schritt 203 kann eine Anforderung zumindest einer der ersten und der zweiten Datenmenge von einem Benutzer empfangen werden. Die Anforderung kann vor oder nach Schritt 201 empfangen werden.
  • In Schritt 205 kann zumindest ein Teil der ersten und/oder der zweiten Datenmenge so modifiziert werden, dass der Hinweis auf die Entität für den Benutzer nicht zugänglich ist. Wenn zum Beispiel eine der beiden Datenmengen Anforderungen zur Datenmaskierung aufweist und die sonstigen Datenmengen keine Anforderungen zur Datenmaskierung aufweisen, kann die andere Datenmenge modifiziert werden, wenngleich sie möglicherweise nicht die angeforderte ist.
  • In Schritt 207 kann die angeforderte Datenmenge dem Benutzer bereitgestellt werden. Bei der angeforderten Datenmenge kann es sich um die modifizierte von Schritt 205 handeln.
  • Bei PK-FK-Beziehungen kann ein beispielhaftes Verfahren wie folgt durchgeführt werden. Wenn ein Datenwissenschaftler mit einer Datenmenge oder einer Gruppe von Datenmengen arbeiten möchte, kann das vorliegende Verfahren eine vorberechnete Liste aller möglichen PK-FK-Beziehungen zwischen diesen Datenmengen und auch den sonstigen Datenmengen prüfen, die für denselben Datenwissenschaftler verfügbar sind. Die Liste aller möglichen Beziehungen, die in dem vorherigen Schritt gewonnen wurde, wird dazu verwendet, die Metadaten sämtlicher Ergebnismengen abzurufen, die durch alle möglichen Verbindungen gewonnen werden könnten, die mit diesen Beziehungen zwischen den angeforderten Datenmengen und den sonstigen Datenmengen erstellt werden könnten, die für den Datenwissenschaftler verfügbar sind. Beispielsweise können die Ergebnismengen entsprechend einem Worst-Case-Szenario erzeugt werden, indem die maximalen Verbindungskombinationen simuliert werden, die aus denselben angeforderten Datenmengen erstellt werden können. Es wird eine Prüfung der Einhaltung der Governance-Richtlinien des Katalogs durch die möglichen Ergebnismengen durchgeführt, die durch diese möglichen Verbindungen gewonnen werden könnten. Auf Grundlage des Ergebnisses der vorherigen Prüfung kann der Datenwissenschaftler entweder die angeforderten Datenmengen anonymisiert empfangen, so dass sie die Governance-Richtlinien einhalten (z.B. so, dass selbst die Verbindungsergebnisse des Worst-Case-Szenarios die Governance-Richtlinien einhalten würden), oder der Datenwissenschaftler kann einen Vorschlag empfangen, dass einige Datenmengen, die ebenfalls verfügbar sind, entfernt werden sollten, bevor die neu angeforderten Datenmengen mit einem geringeren Anonymisierungsgrad geladen werden können.
  • Es folgt ein Beispiel, das den Vorteil des vorliegenden Verfahrens darstellt.
  • Beispielsweise erfordert eine Governance-Richtlinie, dass nur anonymisierte Einzelheiten von Datensätzen mit Anrufdetails (Call Detail Records, CDRs) gespeichert werden. Es werde beispielsweise angenommen, dass die erste Datenmenge den folgenden CDR aufweist, der durch Modifizierung, z.B. durch Maskieren der Werte der Attribute Name des Kunden, Adresse des Kunden und Telefonnummer des Kunden anonymisiert wird.
    1. (a) Kunden-ID: 1122334455
    2. (b) Name des Kunden: abc7878df343
    3. (c) Adresse des Kunden: fgh7878er90
    4. (d) Telefonnummer des Kunden: iop7878tz11
    5. (e) Einheit: Apple iPhone 6 mit ID xyz
    6. (f) Beginn des Anrufs: 14.40 Uhr, 25. Oktober 2016
    7. (g) Ende des Anrufs: 14.50 Uhr, 25. Oktober 2016
    8. (h) Dauer: 10 Min.
    9. (i) angerufene Telefonnummer: 0049-(0)7031-888-9911
    10. (j) während des Anrufs verwendete Antenne: 52.5200° N, 13.4050° O
  • Und die zweite Datenmenge weist einen Social-Media-Beitrag, der auf einer Plattform (z.B. Twitter, Facebook, Linkedln) veröffentlicht wird, mit den folgenden Attributwerten auf:
    1. (a) Zeitpunkt des Beitrags: 14.39 Uhr, 25. Oktober 2016
    2. (b) Ort: 52.5200° N, 13.4050° O
    3. (c) Einheit: Apple iPhone 6 mit ID xyz
    4. (d) ID des Beitrags: John Smith
    5. (e) Inhalt: „Sieh dir diese coolen Sachen an auf ...“
  • Untersuchungen haben gezeigt, dass die Überlagerung der Metadaten in den Social-Media-Beiträgen mit Zeitpunkten, Orten usw. der Beiträge in Kombination mit nur dem Ort des Anrufs (Antennenstandorte) und einer zeitlichen Abstimmung mit der anonymisierten Version des CDR in vielen Fällen eine Aufhebung der Anonymisierung von 80 % oder mehr der CDRs zulässt, was ermöglicht, die Personen hinter dem CDR zu erkennen, indem die anonymisierten CDRs mit Social-Media-Profilen verbunden werden, die eine Erkennung ermöglichen.
  • Obwohl zwei Datenmengen, die jeweils für sich genommen harmlos sind, bereitgestellt werden, werden folglich dadurch, dass sie zusammengeführt werden, die Anonymisierungsbemühungen einer der beiden Datenmengen zunichtegemacht. Wenn bei dem vorliegenden Verfahren die erste Datenmenge angefordert wird, können, wenngleich diese erste Datenmenge für sich genommen die Identität des Anrufers möglicherweise nicht enthält, die Spalten, die die Einheit und den Zeitpunkt des Anrufs kennzeichnen, maskiert oder verallgemeinert werden, so dass sie nicht mehr dazu verwendet werden können, die erste Datenmenge mit der zweiten Datenmenge zu verbinden, was zusätzliche Daten bereitstellen würde, die die Erkennung des Benutzers ermöglichen würden.
  • In einem Beispiel wird ein weiteres beispielhaftes Verfahren bereitgestellt. Das Verfahren weist auf: Empfangen einer Anforderung einer Datenmenge einer Gruppe von Datenmengen von einem Benutzer; Ermitteln, welche weiteren Datenmengen für den Benutzer verfügbar sind; Ermitteln sämtlicher möglichen Primär-/Fremd-Schlüssel-Beziehungen für die Kombination aus (i) der Datenmenge oder der Gruppe von Datenmengen und (ii) den weiteren Datenmengen, die für den Benutzer verfügbar sind; Ermitteln von Metadaten für mögliche Ergebnismengen von Verbindungen für sämtliche möglichen Primär-/Fremd-Schlüssel-Beziehungen; Prüfen der Einhaltung von Governance-Richtlinien durch die möglichen Ergebnismengen; gegebenenfalls Anonymisieren einiger der angeforderten Daten, um die Governance-Richtlinien einzuhalten, bevor Zugriff auf die angeforderte Datenmenge oder Gruppe von Datenmengen gewährt wird. Das Ermitteln sämtlicher möglichen Primär-/Fremd-Schlüssel-Beziehungen kann zum Beispiel wie folgt durchgeführt werden: Ermitteln sämtlicher möglichen ein- und mehrspaltigen Einschlussabhängigkeiten in der Gruppe von Datenmengen (z.B. mithilfe des BINDER-Algorithmus); Ermitteln möglicher Paare von Spalten zum Erstellen einer Schlüsselbeziehung mithilfe von Merkmalen (Signaturen), die auf Grundlage der Spaltenwerte berechnet werden; Erkennen von Spaltenpaaren auf Grundlage der Kardinalität der Spalten, wobei eine Spalte eindeutig oder nahezu eindeutig ist (das heißt, alle ihre Werte sind unterschiedlich), was zu sämtlichen möglichen Primär-/Fremd-Schlüssel-Beziehungen führt.
  • Verschiedene Ausführungsformen werden in den folgenden nummerierten Abschnitten näher beschrieben.
    1. 1. Ein Verfahren zur Datenanonymisierung eines Datenbanksystems, das aufweist:
      • Ermitteln, ob eine erste Datenmenge und eine zweite Datenmenge des Datenbanksystems eine Beziehung aufweisen, die auf eine Entität hinweist, die Werte in den beiden Datenmengen aufweist;
      • Empfangen einer Anforderung zumindest einer der ersten und der zweiten Datenmenge von einem Benutzer;
      • falls die erste Datenmenge und die zweite Datenmenge die Beziehung aufweisen, Modifizieren zumindest einer der ersten und der zweiten Datenmenge so, dass der Hinweis auf die Entität für den Benutzer nicht zugänglich ist;
      • Bereitstellen der angeforderten Datenmenge.
    2. 2. Das Verfahren von Abschnitt 1, wobei die erste und die zweite Datenmenge Datensätze aufweisen, wobei es sich bei jedem Datensatz um eine Kombination von Attributwerten einer jeweiligen Entität handelt, wobei die Entität, auf die durch die Beziehung hingewiesen wird, eine Entität zumindest eines Datensatzes der ersten und/oder der zweiten Datenmenge ist.
    3. 3. Das Verfahren eines beliebigen der vorhergehenden Abschnitte, das des Weiteren ein Ermitteln von Beziehungen zwischen sämtlichen Datenmengen des Datenbanksystems und ein Bereitstellen einer Metadatenstruktur aufweist, die Daten zu den ermittelten Beziehungen aufweist, wobei das Ermitteln, ob die erste und die zweite Datenmenge die Beziehung aufweisen, mithilfe der Metadatenstruktur durchgeführt wird.
    4. 4. Das Verfahren von Abschnitt 3, das des Weiteren aufweist: als Reaktion auf eine Änderung in dem Datenbanksystem ein erneutes Ermitteln der Beziehungen zwischen Datenmengen des Datenbanksystems und ein entsprechendes Aktualisieren der Metadatenstruktur.
    5. 5. Das Verfahren eines beliebigen der vorhergehenden Abschnitte, wobei die Modifizierung als Reaktion auf ein Ermitteln durchgeführt wird, dass ein Zugriff auf die Entität durch den Benutzer eine vordefinierte steuernde Richtlinie verletzen würde.
    6. 6. Das Verfahren eines beliebigen der vorhergehenden Abschnitte, wobei das Ermitteln, ob die Beziehung auf die Entität hinweist, aufweist: Erkennen einer oder mehrerer Quellspalten der ersten Datenmenge, die auf jeweilige Zielspalten der zweiten Datenmenge verweisen, Kombinieren der Quell- und Zielspalten und Ermitteln auf Grundlage des Kombinationsergebnisses, ob die Beziehung auf die Entität hinweist oder nicht darauf hinweist.
    7. 7. Das Verfahren von Abschnitt 6, wobei die Kombination mithilfe einer SQL-Join-Operation durchgeführt wird.
    8. 8. Das Verfahren eines der vorhergehenden Abschnitte, wobei es sich bei der ermittelten Beziehung um eine Primär-Fremd-Schlüssel-Beziehung handelt.
    9. 9. Das Verfahren eines beliebigen der vorhergehenden Abschnitte, das des Weiteren ein Durchführen des Ermittelns, ob die erste Datenmenge und die zweite Datenmenge die Beziehung aufweisen, als Reaktion auf das Empfangen der Anforderung und auf das Ermitteln aufweist, dass die erste und die zweite Datenmenge für den Benutzer zugänglich sind.
    10. 10. Das Verfahren eines der vorhergehenden Abschnitte, wobei das Modifizieren der angeforderten Datenmenge ein Maskieren einer oder mehrerer Spalten der angeforderten Datenmenge aufweist.
    11. 11. Das Verfahren eines der vorhergehenden Abschnitte, wobei das Ermitteln der Beziehung automatisch durchgeführt wird.
    12. 12. Das Verfahren von Abschnitt 11, wobei das Ermitteln der Beziehung automatisch als Reaktion auf ein Erkennen einer Änderung in dem Datenbanksystem durchgeführt wird.
  • Aspekte der vorliegenden Erfindung werden 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.
  • 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) 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 oder entweder Quellcode oder Objektcode handeln, die in einer beliebigen Kombination aus einer oder mehreren Programmiersprachen geschrieben sind, 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 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 werden 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 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 Mittel zum Implementieren der in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaubilder 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 Blockschaubilder angegebenen Funktion/Schritts implementieren.
  • 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 Blockschaubilder festgelegten Funktionen/Schritte implementieren.
  • Die Ablaufpläne und die Blockschaubilder 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 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 der Ablaufpläne sowie Kombinationen aus Blöcken in den Blockschaubildern und/oder den Ablaufplänen 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.
  • Es versteht sich von vornherein, dass, wenngleich diese Offenbarung eine ausführliche Beschreibung zu Cloud-Computing enthält, eine Implementierung der hierin angeführten Lehren nicht auf eine Cloud-Computing-Umgebung beschränkt ist. Stattdessen können Ausführungsformen der vorliegenden Erfindung gemeinsam mit jeder beliebigen Art von jetzt bekannter oder später entwickelter Datenverarbeitungsumgebung implementiert werden.
  • Bei Cloud-Computing handelt es sich um ein Modell zum Erbringen von Dienstleistungen, um einen praktischen, bedarfsgesteuerten Netzwerkzugriff auf einen gemeinsam genutzten Pool von konfigurierbaren Datenverarbeitungs-Ressourcen (z.B. Netzwerken, Netzwerkbandbreite, Servern, Verarbeitung, Arbeitsspeicher, Speicher, Anwendungen, virtuellen Maschinen und Diensten) zu ermöglichen, die schnell mit möglichst geringem Verwaltungsaufwand oder Zusammenwirken mit einem Anbieter des Dienstes bereitgestellt und freigegeben werden können. Dieses Cloud-Modell kann zumindest fünf Eigenschaften, zumindest drei Dienstmodelle und zumindest vier Implementierungsmodelle enthalten.
  • Bei den Eigenschaften handelt es sich um die Folgenden:
  • On-Demand Self-Service: Ein Cloud-Nutzer kann einseitig automatisch nach Bedarf für Datenverarbeitungsfunktionen wie Server-Zeit und Netzwerkspeicher sorgen, ohne dass ein menschliches Zusammenwirken mit dem Anbieter der Dienste erforderlich ist.
  • Broad Network Access: Es sind Funktionen über ein Netzwerk verfügbar, auf die durch Standardmechanismen zugegriffen wird, welche die Verwendung durch heterogene Thin- oder Thick-Client-Plattformen (z.B. Mobiltelefone, Laptops und PDAs) unterstützen.
  • Resource-Pooling: Die Datenverarbeitungs-Ressourcen des Anbieters werden zusammengeschlossen, um mehreren Nutzern unter Verwendung eines Multi-Tenant-Modells zu dienen, wobei verschiedene physische und virtuelle Ressourcen dynamisch nach Bedarf zugewiesen und neu zugewiesen werden. Es gibt eine gefühlte Standortunabhängigkeit, da der Nutzer allgemein keine Kontrolle bzw. Kenntnis über den genauen Standort der bereitgestellten Ressourcen hat, aber in der Lage sein kann, einen Standort auf einer höheren Abstraktionsebene festzulegen (z.B. Land, Staat oder Rechenzentrum).
  • Rapid Elasticity: Funktionen können für eine schnelle horizontale Skalierung (scale out) schnell und elastisch bereitgestellt werden, in einigen Fällen auch automatisch, und für ein schnelles Scale-in schnell freigegeben werden. Für den Nutzer erscheinen die für das Bereitstellen verfügbaren Funktionen häufig unbegrenzt, und sie können jederzeit in jeder beliebigen Menge gekauft werden.
  • Measured Service: Cloud-Systeme steuern und optimieren die Verwendung von Ressourcen automatisch, indem sie eine Messfunktion auf einer gewissen Abstraktionsebene nutzen, die für die Art von Dienst geeignet ist (z.B. Speicher, Verarbeitung, Bandbreite sowie aktive Benutzerkonten). Die Nutzung von Ressourcen kann überwacht, gesteuert und gemeldet werden, wodurch sowohl für den Anbieter als auch für den Nutzer des verwendeten Dienstes Transparenz geschaffen wird.
  • Bei den Dienstmodellen handelt es sich um die Folgenden:
    • Software as a Service (SaaS): Die dem Nutzer bereitgestellte Funktion besteht darin, die in einer Cloud-Infrastruktur laufenden Anwendungen des Anbieters zu verwenden. Auf die Anwendungen kann von verschiedenen Client-Einheiten durch eine Thin-Client-Schnittstelle wie zum Beispiel einen Web-Browser (z.B. eMail auf Grundlage des Web) zugegriffen werden. Der Nutzer verwaltet bzw. steuert die zugrunde liegende Cloud-Infrastruktur nicht, darunter das Netzwerk, Server, Betriebssysteme, Speicher bzw. sogar einzelne Anwendungsfunktionen, mit der möglichen Ausnahme von eingeschränkten benutzerspezifischen Anwendungskonfigurationseinstellungen.
  • Platform as a Service (PaaS): Die dem Nutzer bereitgestellte Funktion besteht darin, durch einen Nutzer erstellte bzw. erhaltene Anwendungen, die unter Verwendung von durch den Anbieter unterstützten Programmiersprachen und Tools erstellt wurden, in der Cloud-Infrastruktur einzusetzen. Der Nutzer verwaltet bzw. steuert die zugrunde liegende Cloud-Infrastruktur nicht, darunter Netzwerke, Server, Betriebssysteme bzw. Speicher, hat aber die Kontrolle über die eingesetzten Anwendungen und möglicherweise über Konfigurationen des Application Hosting Environment.
  • Infrastructure as a Service (laaS): Die dem Nutzer bereitgestellte Funktion besteht darin, das Verarbeiten, Speicher, Netzwerke und andere grundlegende Datenverarbeitungs-Ressourcen bereitzustellen, wobei der Nutzer in der Lage ist, beliebige Software einzusetzen und auszuführen, zu der Betriebssysteme und Anwendungen gehören können. Der Nutzer verwaltet bzw. steuert die zugrunde liegende Cloud-Infrastruktur nicht, hat aber die Kontrolle über Betriebssysteme, Speicher, eingesetzte Anwendungen und möglicherweise eine eingeschränkte Kontrolle über ausgewählte Netzwerkkomponenten (z.B. Host-Firewalls).
  • Bei den Implementierungsmodellen handelt es sich um die Folgenden:
    • Private Cloud: Die Cloud-Infrastruktur wird einzig und allein für eine Organisation betrieben. Sie kann durch die Organisation oder einen Dritten verwaltet werden und kann sich in den eigenen Räumen oder in fremden Räumen befinden.
  • Community Cloud: Die Cloud-Infrastruktur wird von mehreren Organisationen gemeinsam genutzt und unterstützt eine spezielle Benutzergemeinschaft, die gemeinsame Angelegenheiten hat (z.B. Mission, Sicherheitsanforderungen, Richtlinien sowie Überlegungen bezüglich der Einhaltung von Vorschriften). Sie kann durch die Organisationen oder einen Dritten verwaltet werden und kann in den eigenen Räumen oder fremden Räumen stehen.
  • Public Cloud: Die Cloud-Infrastruktur wird der allgemeinen Öffentlichkeit oder einer großen Industriegruppe zur Verfügung gestellt und sie gehört einer Cloud-Dienste verkaufenden Organisation.
  • Hybrid Cloud: Die Cloud-Infrastruktur ist eine Zusammensetzung aus zwei oder mehreren Clouds (privat, Benutzergemeinschaft oder öffentlich), die zwar einzelne Einheiten bleiben, aber durch eine standardisierte oder proprietäre Technologie miteinander verbunden sind, die Daten- und Anwendungsportierbarkeit ermöglicht (z.B. Cloud-Zielgruppenverteilung für den Lastenausgleich zwischen Clouds).
  • Eine Cloud-Computing-Umgebung ist dienstorientiert mit Fokus auf Statusunabhängigkeit, geringer Kopplung, Modularität und semantischer Interoperabilität. Im Zentrum des Cloud-Computing befindet sich eine Infrastruktur, die ein Netzwerk von miteinander verbundenen Knoten aufweist.
  • Unter Bezugnahme auf 3 wird eine veranschaulichende Cloud-Computing-Umgebung 50 dargestellt. Wie dargestellt, weist die Cloud-Computing-Umgebung 50 einen oder mehrere Cloud-Computing-Knoten 100 auf, mit denen von Cloud-Nutzern verwendete lokale Datenverarbeitungseinheiten wie zum Beispiel ein persönlicher digitaler Assistent (PDA) oder ein Mobiltelefon 54A, ein Desktop-Computer 54B, ein Laptop-Computer 54C und/oder ein Automobil-Computersystem 54N, Daten miteinander austauschen können. Die Knoten 100 können Daten miteinander austauschen. Sie können physisch oder virtuell in einem oder mehreren Netzwerken zusammengefasst werden (ohne Abbildung), zum Beispiel in privaten, Gemeinschafts-, öffentlichen oder Hybrid-Clouds, wie hierin oben beschrieben, oder in einer Kombination von diesen. Dies ermöglicht der Cloud-Computing-Umgebung 50, Infrastruktur, Plattformen und/oder Software als Dienstleistungen anzubieten, für die ein Cloud-Kunde keine Ressourcen auf einer lokalen Datenverarbeitungseinheit vorhalten muss. Es versteht sich, dass die in 3 dargestellten Typen von Datenverarbeitungseinheiten 54A bis N lediglich der Veranschaulichung dienen sollen und dass die Datenverarbeitungsknoten 100 und die Cloud-Computing-Umgebung 50 mit einem beliebigen Typ einer durch einen Computer unterstützen Einheit über einen beliebigen Typ von Netzwerk und/oder eine über ein Netzwerk adressierbare Verbindung (z.B. mithilfe eines Web-Browsers) Daten austauschen können.
  • Unter Bezugnahme auf 4 wird ein Satz von funktionalen Abstraktionsschichten 400 dargestellt, die durch die Cloud-Computing-Umgebung 50 bereitgestellt werden. Es sollte von vornherein klar sein, dass die in 4 dargestellten Komponenten, Schichten und Funktionen lediglich veranschaulichend sein sollen und Ausführungsformen der Erfindung nicht darauf beschränkt sind. Wie dargestellt, werden die folgenden Schichten und entsprechenden Funktionen bereitgestellt:
  • Eine Hardware- und Software-Schicht 60 enthält Hardware- und Software-Komponenten. Zu Beispielen für Hardware-Komponenten zählen: Großrechner 61; Server 62 auf Grundlage einer RISC-Architektur (Reduced Instruction Set Computer, Computer mit reduziertem Anweisungssatz); Server 63; Blade-Server 64; Speichereinheiten 65; und Netzwerke sowie Netzwerkkomponenten 66. Bei einigen Ausführungsformen zählen zu Software-Komponenten eine Netzwerkanwendungs-Server-Software 67 und eine Datenbank-Software 68.
  • Eine Virtualisierungsschicht 70 stellt eine Abstraktionsschicht bereit, von der die folgenden Beispiele für virtuelle Entitäten bereitgestellt werden können: virtuelle Server 71; ein virtueller Speicher 72; virtuelle Netzwerke 73, darunter virtuelle private Netzwerke; virtuelle Anwendungen und Betriebssysteme 74; und virtuelle Clients 75.
  • In einem Beispiel kann die Verwaltungsschicht 80 die im Folgenden beschriebenen Funktionen bereitstellen. Eine Ressourcen-Bereitstellung 81 bietet eine dynamische Beschaffung von Datenverarbeitungs-Ressourcen und sonstigen Ressourcen, die zum Durchführen von Aufgaben innerhalb der Cloud-Computing-Umgebung genutzt werden. Messung und Preisbildung 82 stellen eine Kostenüberwachung während der Nutzung von Ressourcen innerhalb der Cloud-Computing-Umgebung sowie Abrechnung oder Rechnungsstellung für die Nutzung dieser Ressourcen bereit. In einem Beispiel können diese Ressourcen Anwendungs-Software-Lizenzen aufweisen. Die Sicherheit stellt die Identitätsüberprüfung für Cloud-Nutzer und Aufgaben sowie Schutz für Daten und sonstige Ressourcen bereit. Ein Benutzerportal 83 stellt Nutzern und Systemadministratoren einen Zugriff auf die Cloud-Computing-Umgebung bereit. Eine Dienstgüteverwaltung 84 stellt eine Zuordnung und Verwaltung von Cloud-Computing-Ressourcen bereit, so dass erforderliche Dienstgütegrade erreicht werden. Eine Planung und Erfüllung von Dienstgütevereinbarungen (Service Level Agreement, SLA) 85 stellen eine Vorbereitung für und eine Bereitstellung von Cloud-Computing-Ressourcen bereit, für die eine künftige Erfordernis gemäß einer SLA erwartet wird.
  • Eine Verarbeitungsprozessschicht 90 stellt Beispiele für eine Funktionalität bereit, für die die Cloud-Computing-Umgebung verwendet werden kann. Zu Beispielen für Verarbeitungsprozesse und Funktionen, die von dieser Schicht aus bereitgestellt werden können, zählen: Zuordnung und Navigation 91; Software-Entwicklung und Lebenszyklusverwaltung 92; Bereitstellung von virtuellen Schulungen 93; Datenanalyseverarbeitung 94, Transaktionsverarbeitung 95; und Verarbeitung 96 einer Datenanonymisierung. Eine Verarbeitung 96 einer Datenanonymisierung kann sich auf eine Datenanonymisierung eines Datenbanksystems beziehen, indem Beziehungen zwischen allen Datenmengen des Datenbanksystems ermittelt werden und eine Metadatenstruktur bereitgestellt wird, die Daten zu den ermittelten Beziehungen aufweist, wobei das Ermitteln mithilfe der Metadatenstruktur durchgeführt wird. Als Reaktion auf eine Änderung des Datenbanksystems kann die Verarbeitung 96 der Datenanonymisierung die Beziehungen zwischen Datenmengen des Datenbanksystems neu ermitteln und die Metadatenstruktur entsprechend aktualisieren.
  • Die Beschreibungen der verschiedenen Ausführungsformen der vorliegenden Erfindung erfolgten zur Veranschaulichung, sind jedoch nicht erschöpfend oder auf die offenbarten Ausführungsformen beschränkt gemeint. Zahlreiche Modifizierungen und Varianten sind für Fachleute ersichtlich, ohne vom Umfang der beschriebenen Ausführungsformen abzuweichen. Die hierin verwendete Terminologie wurde gewählt, um die Grundgedanken der Ausführungsformen, die praktische Anwendung oder die technische Verbesserung gegenüber auf dem Markt erhältlichen Technologien am besten zu erläutern oder um anderen Fachleuten zu ermöglichen, die hierin offenbarten Ausführungsformen zu verstehen.

Claims (15)

  1. Verfahren zur Datenanonymisierung eines Datenbanksystems, das aufweist: Ermitteln, ob eine erste Datenmenge und eine zweite Datenmenge des Datenbanksystems eine Beziehung aufweisen, die auf eine Entität hinweist, die Werte sowohl in der ersten Datenmenge als auch der zweiten Datenmenge aufweist; Empfangen einer Anforderung zumindest einer der ersten Datenmenge und der zweiten Datenmenge von einem Benutzer; falls die erste Datenmenge und die zweite Datenmenge die Beziehung aufweisen, Erstellen einer angeforderten Datenmenge durch Modifizieren zumindest einer der ersten Datenmenge und der zweiten Datenmenge so, dass die Entität für den Benutzer nicht zugänglich ist; und Bereitstellen der angeforderten Datenmenge.
  2. Verfahren nach Anspruch 1, wobei die erste Datenmenge und die zweite Datenmenge Datensätze aufweisen, wobei es sich bei jedem Datensatz um eine Kombination von Attributwerten einer jeweiligen Entität handelt, wobei die jeweilige Entität die Beziehung aufweist, die auf die Entität zumindest eines Datensatzes der ersten Datenmenge und der zweiten Datenmenge hinweist.
  3. Verfahren nach einem der vorhergehenden Ansprüche, das des Weiteren ein Ermitteln von Beziehungen zwischen sämtlichen Datenmengen des Datenbanksystems und ein Bereitstellen einer Metadatenstruktur aufweist, die Daten zu den ermittelten Beziehungen aufweist, wobei das Ermitteln, ob die erste Datenmenge und die zweite Datenmenge die Beziehung aufweisen, mithilfe der Metadatenstruktur durchgeführt wird.
  4. Verfahren nach Anspruch 3, das des Weiteren als Reaktion auf eine Änderung in dem Datenbanksystem ein erneutes Ermitteln der Beziehungen zwischen der ersten Datenmenge und der zweiten Datenmenge des Datenbanksystems und ein entsprechendes Aktualisieren der Metadatenstruktur aufweist.
  5. Verfahren nach einem der vorhergehenden Ansprüche, wobei das Modifizieren zumindest einer der ersten Datenmenge und der zweiten Datenmenge als Reaktion auf ein Ermitteln durchgeführt wird, dass ein Zugriff auf die Entität durch den Benutzer eine vordefinierte steuernde Richtlinie verletzen würde.
  6. Verfahren nach einem der vorhergehenden Ansprüche, wobei das Ermitteln, ob die Beziehung auf die Entität hinweist, aufweist: Erkennen einer oder mehrerer Quellspalten der ersten Datenmenge, die auf jeweilige Zielspalten der zweiten Datenmenge verweisen; Kombinieren der Quellspalten und der Zielspalten; und Ermitteln auf Grundlage des Kombinierens der Quellspalten und der Zielspalte, ob die Beziehung auf die Entität hinweist oder nicht darauf hinweist.
  7. Verfahren nach Anspruch 6, wobei das Kombinieren der Quellspalten und der Zielspalten mithilfe einer SQL-Join-Operation durchgeführt wird.
  8. Verfahren nach einem der vorhergehenden Ansprüche, wobei es sich bei der ermittelten Beziehung um eine Primär-Fremd-Schlüssel-Beziehung handelt.
  9. Verfahren nach einem der vorhergehenden Ansprüche, das des Weiteren ein Durchführen des Ermittelns, ob die erste Datenmenge und die zweite Datenmenge die Beziehung aufweisen, als Reaktion auf das Empfangen der Anforderung und auf ein Ermitteln aufweist, dass die erste und die zweite Datenmenge für den Benutzer zugänglich sind.
  10. Verfahren nach einem der vorhergehenden Ansprüche, wobei das Modifizieren der angeforderten Datenmenge ein Maskieren einer oder mehrerer Spalten der angeforderten Datenmenge aufweist.
  11. Verfahren nach einem der vorhergehenden Ansprüche, wobei das Ermitteln der Beziehung automatisch durchgeführt wird.
  12. Verfahren nach Anspruch 11, wobei das Ermitteln der Beziehung automatisch als Reaktion auf ein Erkennen einer Änderung in dem Datenbanksystem durchgeführt wird.
  13. Computerprogrammprodukt, das ein durch einen Computer lesbares Speichermedium aufweist, in dem ein durch einen Computer lesbarer Programmcode verkörpert ist, wobei der durch einen Computer lesbare Programmcode dazu konfiguriert ist, sämtliche Schritte des Verfahrens zu implementieren, das aufweist: Ermitteln, ob eine erste Datenmenge und eine zweite Datenmenge eines Datenbanksystems eine Beziehung aufweisen, die auf eine Entität hinweist, die Werte sowohl in der ersten Datenmenge als auch der zweiten Datenmenge aufweist; Empfangen einer Anforderung zumindest einer der ersten Datenmenge und der zweiten Datenmenge von einem Benutzer; falls die erste Datenmenge und die zweite Datenmenge die Beziehung aufweisen, Erstellen einer angeforderten Datenmenge durch Modifizieren zumindest einer der ersten Datenmenge und der zweiten Datenmenge so, dass die Entität für den Benutzer nicht zugänglich ist; und Bereitstellen der angeforderten Datenmenge.
  14. Computersystem zur Datenanonymisierung von Daten eines Datenbanksystems, das konfiguriert ist zu einem: Ermitteln, ob eine erste Datenmenge und eine zweite Datenmenge des Datenbanksystems eine Beziehung aufweisen, die auf eine Entität hinweist, die Werte sowohl in der ersten Datenmenge als auch der zweiten Datenmenge aufweist; Empfangen einer Anforderung zumindest einer der ersten Datenmenge und der zweiten Datenmenge von einem Benutzer; falls die erste Datenmenge und die zweite Datenmenge die Beziehung aufweisen, Erstellen einer angeforderten Datenmenge durch Modifizieren einer der ersten Datenmenge und der zweiten Datenmenge so, dass die Entität für den Benutzer nicht zugänglich ist; und Bereitstellen der angeforderten Datenmenge.
  15. Verfahren zur Datenanonymisierung eines Datenbanksystems, das aufweist: Empfangen einer Anforderung einer ersten Datenmenge des Datenbanksystems von einem Benutzer; Ermitteln, ob die erste Datenmenge und zumindest eine Entität von einer zweiten Datenmenge des Datenbanksystems eine Beziehung aufweisen, die auf eine Entität zumindest eines Datensatzes sowohl der ersten Datenmenge als auch der zweiten Datenmenge hinweist; falls die erste Datenmenge und die zumindest eine Entität von der zweiten Datenmenge die Beziehung aufweisen, Erstellen einer angeforderten Datenmenge durch Modifizieren der zumindest einen Entität der ersten Datenmenge und der zweiten Datenmenge so, dass die Entität für den Benutzer nicht zugänglich ist; und Bereitstellen der angeforderten Datenmenge.
DE112019001433.1T 2018-03-19 2019-03-19 Datenanonymisierung Pending DE112019001433T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/924,345 2018-03-19
US15/924,345 US11106820B2 (en) 2018-03-19 2018-03-19 Data anonymization
PCT/IB2019/052201 WO2019180599A1 (en) 2018-03-19 2019-03-19 Data anonymization

Publications (1)

Publication Number Publication Date
DE112019001433T5 true DE112019001433T5 (de) 2020-12-10

Family

ID=67905697

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112019001433.1T Pending DE112019001433T5 (de) 2018-03-19 2019-03-19 Datenanonymisierung

Country Status (6)

Country Link
US (1) US11106820B2 (de)
JP (1) JP7266354B2 (de)
CN (1) CN111868727B (de)
DE (1) DE112019001433T5 (de)
GB (1) GB2586716B (de)
WO (1) WO2019180599A1 (de)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7164333B2 (ja) * 2018-06-27 2022-11-01 株式会社日立製作所 個人情報分析システム
US11113417B2 (en) * 2018-07-10 2021-09-07 Sap Se Dynamic data anonymization using taint tracking
EP3850559A4 (de) * 2018-09-20 2021-11-10 Huawei Technologies Co., Ltd. Systeme und verfahren für graphbasierte abfrageanalyse
US20220100899A1 (en) * 2020-09-25 2022-03-31 International Business Machines Corporation Protecting sensitive data in documents
AU2022213420A1 (en) * 2021-01-31 2023-07-27 Ab Initio Technology Llc Dataset multiplexer for data processing system
JP2022121227A (ja) * 2021-02-08 2022-08-19 富士フイルムビジネスイノベーション株式会社 情報処理装置及びプログラム
US11941151B2 (en) * 2021-07-16 2024-03-26 International Business Machines Corporation Dynamic data masking for immutable datastores
CN117171261A (zh) * 2023-07-31 2023-12-05 蒲惠智造科技股份有限公司 面向多数据库单元的弹性扩展智能调用方法和系统

Family Cites Families (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7203315B1 (en) * 2000-02-22 2007-04-10 Paul Owen Livesay Methods and apparatus for providing user anonymity in online transactions
US20030140043A1 (en) * 2002-01-23 2003-07-24 New York Society For The Relief Of The Ruptured & Cripple Maintaining The Hosp For Special Surgery Clinical research data management system and method
JP4429619B2 (ja) * 2003-04-15 2010-03-10 三菱電機株式会社 情報提供装置
US7814119B2 (en) * 2004-03-19 2010-10-12 Hitachi, Ltd. Control of data linkability
JP4427443B2 (ja) * 2004-12-28 2010-03-10 株式会社東芝 個人情報分離装置および個人情報分離プログラム
US7680767B2 (en) * 2006-03-23 2010-03-16 Microsoft Corporation Mapping architecture with incremental view maintenance
JP2008140202A (ja) * 2006-12-04 2008-06-19 Hitachi Ltd 情報提供制御装置、情報提供制御方法、及び、プログラム
US8606626B1 (en) * 2007-01-31 2013-12-10 Experian Information Solutions, Inc. Systems and methods for providing a direct marketing campaign planning environment
US20090100527A1 (en) * 2007-10-10 2009-04-16 Adrian Michael Booth Real-time enterprise data masking
US7979410B2 (en) * 2008-07-30 2011-07-12 Oracle International Corp. Maintaining referential integrity while masking
WO2010028395A1 (en) * 2008-09-08 2010-03-11 Credit Suisse Securities (Usa) Llc Apparatuses, methods and systems for providing a virtual development and deployment environment including real and synthetic data
US10348693B2 (en) * 2009-12-15 2019-07-09 Microsoft Technology Licensing, Llc Trustworthy extensible markup language for trustworthy computing and data services
US8666998B2 (en) 2010-09-14 2014-03-04 International Business Machines Corporation Handling data sets
US20120109935A1 (en) * 2010-11-02 2012-05-03 Microsoft Corporation Object model to key-value data model mapping
IL218803A (en) * 2011-03-22 2017-06-29 Boukobza Eric System and method for disguising information
CA2837848A1 (en) * 2011-06-02 2012-12-06 Nec Corporation Distributed anonymization system, distributed anonymization device, and distributed anonymization method
JP5685205B2 (ja) * 2012-01-13 2015-03-18 富士通フロンテック株式会社 プログラム、情報処理装置およびアクセス支援方法
JPWO2013121738A1 (ja) * 2012-02-17 2015-05-11 日本電気株式会社 分散匿名化装置及び分散匿名化方法
EP2653984A1 (de) * 2012-04-18 2013-10-23 Software AG Verfahren und System zur Anonymisierung von Daten während des Exports
JP5687656B2 (ja) * 2012-05-24 2015-03-18 株式会社野村総合研究所 データ変換装置
JP5966696B2 (ja) * 2012-07-05 2016-08-10 富士通株式会社 制御プログラム、情報処理装置およびシステム
CN102867022B (zh) 2012-08-10 2015-01-14 上海交通大学 通过部分删除某些项目达到对集合型数据匿名化的系统
US9298941B2 (en) * 2012-11-12 2016-03-29 EPI-USE Systems, Ltd. Secure data copying
US9747456B2 (en) * 2013-03-15 2017-08-29 Microsoft Technology Licensing, Llc Secure query processing over encrypted data
WO2015066523A2 (en) 2013-11-01 2015-05-07 Anonos Inc. Dynamic de-identification and anonymity
US9230132B2 (en) 2013-12-18 2016-01-05 International Business Machines Corporation Anonymization for data having a relational part and sequential part
CN103853818B (zh) * 2014-02-12 2017-04-12 博易智软(北京)技术股份有限公司 多维数据的处理方法和装置
US9491192B2 (en) * 2014-07-08 2016-11-08 Marcio Veloso Antunes Universal relationships, system and method to build and operate a repository to manage and share trusted information of entities and their relationships
US8978153B1 (en) * 2014-08-01 2015-03-10 Datalogix, Inc. Apparatus and method for data matching and anonymization
US9798895B2 (en) * 2014-09-25 2017-10-24 Mcafee, Inc. Platform identity architecture with a temporary pseudonymous identity
EP3219051A4 (de) 2014-11-14 2018-05-23 Inc. Bitnobi Systeme und verfahren zur gesteuerten gemeinsamen nutzung von grossen datenmengen
US20160140544A1 (en) 2014-11-17 2016-05-19 Mastercard International Incorporated Systems and methods for effectively anonymizing consumer transaction data
US10324914B2 (en) * 2015-05-20 2019-06-18 Commvalut Systems, Inc. Handling user queries against production and archive storage systems, such as for enterprise customers having large and/or numerous files
US10089489B2 (en) * 2015-06-02 2018-10-02 ALTR Solutions, Inc. Transparent client application to arbitrate data storage between mutable and immutable data repositories
US20170104756A1 (en) 2015-10-13 2017-04-13 Secupi Security Solutions Ltd Detection, protection and transparent encryption/tokenization/masking/redaction/blocking of sensitive data and transactions in web and enterprise applications
US9858426B2 (en) 2015-11-03 2018-01-02 Palo Alto Research Center Incorporated Computer-implemented system and method for automatically identifying attributes for anonymization
US20180129712A1 (en) * 2016-11-09 2018-05-10 Ca, Inc. Data provenance and data pedigree tracking
US10540153B2 (en) * 2016-12-03 2020-01-21 Thomas STACHURA Spreadsheet-based software application development
US10713384B2 (en) * 2016-12-09 2020-07-14 Massachusetts Institute Of Technology Methods and apparatus for transforming and statistically modeling relational databases to synthesize privacy-protected anonymized data
US10769295B2 (en) * 2018-01-18 2020-09-08 Sap Se Join operations on encrypted database tables

Also Published As

Publication number Publication date
JP7266354B2 (ja) 2023-04-28
WO2019180599A1 (en) 2019-09-26
GB2586716A (en) 2021-03-03
JP2021516811A (ja) 2021-07-08
CN111868727A (zh) 2020-10-30
US11106820B2 (en) 2021-08-31
GB2586716B (en) 2022-10-12
US20190286849A1 (en) 2019-09-19
CN111868727B (zh) 2023-07-21
GB202015103D0 (en) 2020-11-11

Similar Documents

Publication Publication Date Title
DE112016003355B4 (de) Sicherer Einsatz einer Anwendung über Einsatzorte hinweg
DE112019001433T5 (de) Datenanonymisierung
DE112020001688B4 (de) Richtlinienbasiertes auslösen einer überarbeitung von zugriffssteuerungsinformationen
DE112013001308T5 (de) Verwalten von mandantenspezifischen Datensätzen in einer mandantenfähigen Umgebung
DE112018004411T5 (de) Zugriffssteuerung in mikrodienst-architekturen
DE112021002245T5 (de) Verhindern einer unberechtigten bereitstellung von paketen in clustern
DE102016105062A1 (de) Nähengestützte Berechtigungsprüfung für einheitenübergreifend verteilte Daten
DE102016103713A1 (de) Erkennung virtueller Maschineneinheiten auf der Grundlage eines Katalogs
DE112021001766T5 (de) Inhaltskontrolle durch datenaggregationsdienste dritter
DE112021003401T5 (de) Schattenexperimente für serverlose multi-tenant-cloud-dienste
DE102012220390A1 (de) Verwenden des geografischen Ortes zum Ermitteln von Element- und Gebietsdaten zum Bereitstellen an eine Datenverarbeitungseinheit
DE112020005373T5 (de) Mechanismus zur authentifizierung durch nutzung von positionsbestätigung
DE112018002954T5 (de) Bereitstellen eines konfigurationsabhängigen arbeitsablaufs
DE112017005772T5 (de) Zeitpunktgesteuerte sicherungen über einen speicher-controller in eine objektspeicher-cloud
DE102021130396A1 (de) Datenzugriffsüberwachung und -steuerung
DE112021000338T5 (de) Auslagern der statistikerfassung
DE112021002201T5 (de) Datenschutzorientierte Datensicherheit in einer Cloud-Umgebung
DE112019002052T5 (de) Datenschutzsensibilisierung bei der bereitstellung von arbeitslasten
DE102014116744A1 (de) Management von Informationstechnologieressourcen
DE102021123058A1 (de) Maskieren von sensiblen informationen in einem dokument
DE102016204594A1 (de) Abgleichen von datenquellen ohne tags mit datenanalyseanwendungen ohne tags
DE102021125847A1 (de) Auf blockchain beruhende reservierung und delegierung von diensten
DE112020004806T5 (de) Cluster-sicherheit auf der grundlage von inhalten virtueller maschinen
DE112020005306T5 (de) Implementierung von arbeitslasten in einer multi-cloud-umgebung
DE112018005283T5 (de) Deduplizierung für dateien in einem cloud-computing-speicher und in datenübertragungswerkzeugen

Legal Events

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