FernUniversität in Hagen

Größe: px
Ab Seite anzeigen:

Download "FernUniversität in Hagen"

Transkript

1 FernUniversität in Hagen Seminarband zum Kurs 1912/19912 im WS 2014/2015 Sicherheit und Privatsphäre in Datenbanksystemen Präsenzphase: Betreuer: Dr. Thomas Behr Fakultät für Mathematik und Informatik Datenbanksysteme für neue Anwendungen FernUniversität in Hagen Hagen

2

3 Zeitplan und Inhaltsverzeichnis Freitag, Uhr Vorstellungsrunde 9 30 Uhr F. Kamfenkel Einführung Uhr A. Kounitzky Verschlüsselung Uhr T. Kontny Privatssphäre messen Uhr T. Müller Algorithmen zum Schutz der Privatssphäre Uhr S. Schlößer Absichtliches Stören von Daten Uhr S. Nieto-Ernst Attacken Uhr D. Zwewdie Ejeta Spezielle Indexe Samstag, Uhr E. Blechschmidt Location Based Services Uhr R. Titze Trajectory Daten Uhr H. Brieschke Verbund von Datenbanken Uhr F. Schlachter Datenbanken in einer Cloud Uhr Abschluss

4

5 FernUniversität in Hagen - Seminar / im Wintersemester 2014 / 2015 Sicherheit und Privatsphäre in Datenbanksystemen Thema 1 Einleitung Referent: Felix Kamfenkel

6

7 Thema 1 - Einleitung Felix Kamfenkel 1 Inhaltsverzeichnis 1) Einleitung ) Anforderungen an Datenbanken ) Discretionary vs. Mandatory Access Control ) DAC und MAC in unterschiedlichen Datenbank-Arten ) Relationale Datenbanken ) DAC ) MAC ) Objektbasierte Datenbanken ) DAC ) MAC ) XML-Datenbanken ) NoSQL-Datenbanken ) Fazit ) Literaturverzeichnis... 21

8 Thema 1 - Einleitung Felix Kamfenkel 2 1) Einleitung Das weltweite jährlich generierte Datenaufkommen liegt momentan bei ungefähr 8500 Exabyte. Bereits bis zum Jahr 2020 wird es auf mehr als Exabyte angewachsen sein das entspricht einer Verdoppelung des Volumens ungefähr alle zwei Jahre. Dieser Trend wird sich in den kommenden Dekaden sogar noch beschleunigen, da im Rahmen der zunehmenden Verbreitung des Internet der Dinge eine Vielzahl von Geräten Sensordaten produzieren wird. Das weltweite Informationswachstum 1 bleibt somit auf absehbare Zeit hoch (EMC Digital Universe 2014). Die dabei erzeugten Daten können in aufbereiteter Form durch (Big-Data-)Analysen für Unternehmen wichtige Wettbewerbsvorteile und neue Geschäftsmodelle bedeuten Daten sind auf diese Weise das neue Öl (Büst 2013). Um als wertvoller Rohstoff nutzbar sein zu können, müssen sie jedoch strukturiert gespeichert werden und für die gewünschten Analysen jederzeit zur Verfügung stehen, was sich nur mittels leistungsfähiger Datenbankmanagementsysteme bewältigen lässt. Die Aufgaben dieser Systeme gehen dabei über die reine Verwaltung des Informationsbestandes hinaus, da die gespeicherten Informationen immer öfter das Ziel von Kriminellen sind: So hat sich die Zahl der weltweiten Hacker-Angriffe auf rund Stück pro Tag erhöht (PwC 2014). Dies ist umso bedenklicher, da die Sensibilität der gespeicherten Informationen immer mehr zunimmt, beispielsweise im Rahmen der digitalen Patientenakte oder Bewegungsprofilen von Personen. Der Schutz der Daten rückt somit bei Datenbankmanagementsystemen immer stärker in den Fokus. Dieser Schutz beinhaltet nicht nur die Abwehr von illegitimer Nutzung, sondern auch den Schutz der Privatsphäre der Nutzer bei der legitimen Analyse der Daten und deren Veröffentlichung im Rahmen normaler Tätigkeiten unterschiedlicher Institutionen. Die Herstellung von Sicherheit und Privatsphäre in Datenbanken ist somit eine Daueraufgabe von hoher Wichtigkeit. 2) Anforderungen an Datenbanken Um den an sie gestellten Anforderungen gerecht zu werden und den Daten-Rohstoff schützen zu können, müssen Datenbanken eine Reihe von (Grund-)Anforderungen erfüllen. Dabei handelt es 1 Definitorisch korrekt bezeichnen Daten eine zur Verarbeitung bereitstehende Folge von Zeichen. Informationen entstehen durch die Interpretation der Daten gemäß einer bestimmten Vorschrift zur Deckung eines Informationsbedarfes (Voß & Gutenschwager 2001: 8ff; Ferstl & Sinz 2006: 131f). Für die vorliegende Ausarbeitung ist der Unterschied zwischen den beiden Begriffen jedoch bedeutungslos. Sie werden daher synonym verwendet.

9 Thema 1 - Einleitung Felix Kamfenkel 3 sich um Vertraulichkeit, Integrität, Verfügbarkeit und Privatheit 2 (Bertino & Sandhu 2005; Bertino et al 1995) 3. Nachfolgend werden die vier Eigenschaften kurz charakterisiert und jeweils einige ihrer wichtigsten Aspekte vorgestellt. Vertraulichkeit bezeichnet den Schutz von Daten vor unberechtigtem Zugriff. Dazu werden Mechanismen benötigt, mit denen man jeden Zugriff auf die gespeicherten Informationen kontrollieren kann. Damit solche Zugriffskontrollmechanismen möglich sind, muss das System zumindest in der Lage sein, seine einzelnen Benutzer zu identifizieren (verschiedene Personen oder Programme auseinanderzuhalten) und sie zu authentifizieren (sicherzustellen, dass die jeweils identifizierte Entität auch wirklich diejenige ist, als die sie sich ausgibt). Darüber hinaus fällt unter die Anforderung der Vertraulichkeit auch die Verschlüsselung von Daten. Diese ist häufig wünschenswert, da es trotz der Kontrolle der Zugriffe immer noch Personen mit sehr weitreichendem Einblick in die Datenbestände geben kann, beispielsweise Systemadministratoren. Damit die gespeicherten Inhalte auch vor der Kenntnisnahme oder gar einem Missbrauch durch diese Individuen geschützt sind, werden kryptographische Methoden angewandt. Der Begriff Integrität bezeichnet im weitesten Sinne die Richtigkeit von Daten, also ihre Vollständigkeit und semantische sowie syntaktische Korrektheit. Um Integrität in einer Datenbank herstellen und erhalten zu können, ist zum einen wiederum die Zugriffskontrolle relevant, da sonst jeder Benutzer alle Daten einfach verändern könnte. Zum anderen wird im System eine Reihe sogenannter Integritätsbedingungen spezifiziert. Dabei handelt es sich um Vorgaben darüber, welche Zustände die in einer Datenbank enthaltenen Elemente annehmen dürfen, damit die Datenbank konsistent ist. So lassen sich beispielweise Bedingungen für spezifische Wertebereiche formulieren (etwa, dass ein Rabattsatz nur zwischen 0 und 100 Prozent liegen darf) oder die Zulässigkeit bestimmter Beziehungen zwischen Datenobjekten sicherstellen. Werden trotzdem unzutreffende Änderungen durchgeführt, etwa, weil nicht alle Integritätsbedingungen spezifiziert werden konnten, lässt sich durch die Verwendung digitaler Signaturen zumindest ermitteln, woher die Modifikationen stammen. Selbstverständlich müssen die gespeicherten Daten jederzeit (oder zumindest ohne großen Aufwand) verfügbar sein, um für die Institution, von der sie gespeichert werden, einen Nutzen zu haben. Diese Verfügbarkeit muss auch dann gegeben sein, wenn mehrere Nutzer parallel auf den gespeicherten Datenbeständen arbeiten. Die dafür nötige Koordination wird vom Transaktions- 2 Um eine einheitlichere Sprache zu ermöglichen, wurden die in den zu Grunde liegenden englischen Texten genannten Begriffe ins Deutsche übersetzt. Dies geschah allerdings nur insoweit ein gängiger deutscher Alternativbegriff existiert. Begriffe, die durch eine Übersetzung missverständlich oder unnötig umständlich wären, wurden auf Englisch beibehalten. 3 Die beiden genannten Arbeiten liegen dieser Ausarbeitung als Basistexte zu Grunde. Soweit nicht andere Quellen angegeben sind, beziehen sich die nachfolgenden Ausführungen immer auf Informationen aus den zwei Basistexten. Es werden daher im Folgenden keine Literaturverweise für diese Texte mehr angegeben.

10 Thema 1 - Einleitung Felix Kamfenkel 4 management des Systems übernommen. Desweiteren sind für die Verfügbarkeit die Recovery- Maßnahmen der Datenbank relevant, die dafür sorgen, dass die Informationen auch nach einem Systemausfall (oder sogar währenddessen) noch zur Verfügung stehen. In einem etwas weiter gefassten Kontext zählen zur Gewährleistung von Verfügbarkeit zudem sämtliche Maßnahmen, die zur Abwehr von Denial-of-Service-Attacken und ähnlichen Angriffen dienen. Von zunehmender Bedeutung ist schließlich die Privatheit von Daten. Obwohl oft synonym verwendet, bezeichnet dieser Begriff nicht dasselbe wie Vertraulichkeit: Techniken zur Vertraulichkeit können zwar auch zum Schutz der Privatheit eingesetzt werden, zum Beispiel, um den Zugriff von Fremden auf Informationen zu blockieren. Zur Herstellung von Privatheit müssen allerdings noch zusätzliche Schritte unternommen werden, da diese auch noch nötig ist, wenn Daten bereits veröffentlicht wurden und somit nicht mehr vertraulich sind. Geeignete Maßnahmen sind hier beispielweise die Verfremdung bzw. das absichtliche Stören von Daten während einer Analyse oder bei einer Publizierung. Generell ist in diesen Fällen wichtig, dass die gesammelten Informationen nur für Zwecke verwendet werden, zu denen die Betroffenen ihre Zustimmung erteilt haben. Bei der Privatheit sind somit nicht nur technische Aspekte von Bedeutung, sondern zudem auch rechtliche. 3) Discretionary vs. Mandatory Access Control Die nachfolgenden Seiten befassen sich mit dem Aspekt der Vertraulichkeit von Daten, und in diesem Zusammenhang insbesondere mit der Zugriffskontrolle. Bezüglich dieser gibt es zwei grundlegend verschiedene Modelle: Discretionary Access Control (DAC) und Mandatory Access Control (MAC) 4. Beide Arten repräsentieren unterschiedliche Ideen der Realisierung eines Zugriffsschutzes. Es ist dabei egal, ob ein relationales, ein objektbasiertes 5 oder ein NoSQL- Datenbankmanagementsystem zugrunde gelegt wird, es besteht immer die Wahl zwischen DAC und MAC. Die Grundideen beider Zugriffsmodelle sind Folgende: Bei der DAC erfolgt eine Klassifikation der Zugriffsrechte anhand der Benutzer bzw. der Programme, die auf die Datenbank zugreifen. Wenn beispielsweise eine Lese-Anfrage für ein bestimmtes Element gestellt wird, prüft das System, ob eine Lese-Autorisierung bei diesem Element für den nachfragenden Benutzer vorhanden ist. Falls ja, wird der Zugriff erlaubt, falls nein, wird die Anfrage abgelehnt. Unter einer Autorisierung versteht man dabei eine Berechtigung für eine bestimmte Zugriffsart auf ein bestimmtes Datenelement für einen bestimmten Benutzer, die 4 Auf Deutsch übersetzt etwa: Benutzerbestimmbare Zugriffskontrolle und Verpflichtende Zugriffskontrolle. 5 Mit dem Ausdruck objektbasiert sind sowohl objektorientierte als auch objektrelationale Datenbankmanagementsysteme gemeint. Siehe dazu auch Abschnitt 4.3.

11 Thema 1 - Einleitung Felix Kamfenkel 5 dem Datenbankmanagementsystem explizit mitgeteilt werden muss und systemintern dauerhaft in einer Autorisierungstabelle gespeichert wird. Bei der DAC gibt das System die Daten somit auf Grund der Tatsache heraus, dass ein bestimmtes Subjekt (oder Programm) den Zugriff darauf verlangt. Bei der MAC ist dies nicht der Fall. Hier ist zwar ebenfalls die Identität des anfragenden Subjekts relevant, allerdings zusätzlich auch die Identität des angefragten Datenobjekts. Es werden somit nicht nur die aktiven Nachfrager der Informationen klassifiziert, sondern auch die passiven Entitäten (Relationen, Tupel, etc.), die die Informationen speichern. Beiden Parteien werden bei der MAC sogenannte Zugriffsklassen zugeordnet. Im einfachsten Fall besteht eine Zugriffsklasse aus einer Stufe bzw. einem Level eines hierarchisch geordneten Satzes von Elementen. So könnte zum Beispiel ein Satz mit den Sicherheitsstufen Streng Geheim, Vertraulich und Öffentlich existieren, und die Zugriffsklasse einer wichtigen Relation als Streng Geheim festgelegt sein. Diese vertikale Gliederung in Schutzstufen lässt sich durch das Hinzufügen von nicht hierarchisch geordneten Bereichen zu einem horizontalen und vertikalen Gitter-Modell erweitern. Den bereits genannten Stufen könnten etwa zusätzlich die Bereiche Heer, Luftwaffe und Marine zugeordnet sein. Die Zugriffsklasse der wichtigen Relation wäre dann nicht mehr nur Streng Geheim, sondern zum Beispiel (Streng Geheim, Heer) 6. Eine Zugriffsklasse Z 1 dominiert ( ) eine andere Zugriffsklasse Z 2, wenn die Sicherheitsstufe von Z 1 höher oder gleich der von Z 2 ist, und (im Falle des Gitter-Modells) zusätzlich der Bereich von Z 2 in dem von Z 1 enthalten ist. Die Zugriffsklasse (Streng Geheim, Heer) dominiert somit beispielsweise die Klasse (Vertraulich, Heer), da die Sicherheitsstufe höher ist und die Bereiche ineinander enthalten bzw. in diesem Fall deckungsgleich sind. Wenn weder Z 1 Z 2 noch Z 2 Z 1 gilt, sind die Zugriffsklassen nicht vergleichbar. Dies wäre etwa bei (Streng Geheim, Heer) und (Vertraulich, Marine) der Fall: Obwohl die Sicherheitsstufe der ersten Zugriffsklasse höher ist als die der zweiten, ist der Bereich Marine nicht in dem Bereich Heer enthalten, und damit eine der Bedingungen für die Dominanz verletzt. Die Dominanz-Beziehung zwischen den Zugriffsklassen entscheidet nun darüber, ob ein Zugriff erfolgen darf oder nicht. In quasi allen Umsetzungen des MAC-Modells gelten dabei zwei Prinzipien, die nach ihren Urhebern auch Bell-LaPadula-Prinzipien genannt werden: Erstens darf ein Daten nachfragendes Subjekt nur Objekte lesen, deren Zugriffsklasse von seiner eigenen dominiert wird. Dadurch kann ein Benutzer keine Daten einsehen, die über seiner Sicherheitsfreigabe liegen (No Read-Up-Prinzip). Zweitens darf ein Subjekt nur die Objekte schreiben, deren Zugriffsklasse die Klasse des Subjektes dominiert. Dies macht es für einen Benutzer unmöglich, 6 Die Zugriffsklassen aus dem Beispiel sind durchaus passend, da MAC-Modelle zuerst im Militärbereich Anwendung fanden.

12 Thema 1 - Einleitung Felix Kamfenkel 6 Daten von einer höheren Sicherheitsstufe in eine niedrigere zu überführen (No Write-Down- Prinzip). Sind zwei Zugriffsklassen nicht miteinander vergleichbar, ist keinerlei Zugriff möglich, da zwischen den beiden Klassen ja keine Dominanzbeziehung besteht. Die Auswirkungen des DAC- und MAC-Modells auf die Sicherheit des Zugriffsschutzes kann man sich am besten an einem Beispiel verdeutlichen. Dazu sei angenommen, dass ein von einer fremden Interessengruppe bestochener Saboteur S in einer Abteilung arbeitet, die von einer integeren Managerin M geführt wird. Der Saboteur interessiert sich für eine Tabelle mit wertvollen Informationen, die der exklusiven Verantwortung der Managerin untersteht. S entwickelt folgende Strategie, um an die gewünschte Tabelle zu kommen: Zunächst erstellt er eine eigene Tabelle, in der die zu stehlenden Informationen später stehen sollen. An dieser Tabelle vergibt er nicht nur sich selbst ein Zugriffsrecht, sondern auch der Managerin, wobei diese natürlich nichts von ihrer neuen Zugriffsmöglichkeit weiß. Im nächsten (etwas schwierigeren) Schritt modifiziert S eine Anwendung von M und fügt einen Schadcode ein, der die Anwendung zu einem trojanischen Pferd macht. Die Schadfunktion der Anwendung besteht darin, die Informationen aus der Tabelle mit den geheimen Daten auszulesen und in die Kopie-Tabelle zu schreiben. Unter einem DAC-Modell würde dieser Datendiebstahl funktionieren, da die Anwendung von M natürlich mit der gleichen Zugriffsklasse arbeitet wie M selbst, und somit auf die Tabelle mit den sensiblen Informationen zugreifen darf. Da der Managerin ebenso Zugriff auf die Kopie gewährt wurde, funktioniert auch das Übertragen der Daten problemlos. Unter einem MAC-Modell hingegen würde der Datenklau nicht funktionieren. Auch hier wäre es dem trojanischen Pferd zwar möglich, die geheimen Informationen zu lesen. Hier gilt allerdings das No Write-Down-Prinzip, weshalb die Anwendung die Daten nicht in die Kopie-Tabelle übertragen kann: Da S die Tabelle erstellt hat, ist er auch der Eigentümer daran 7. Die Tabelle wird bei einem MAC-Modell deshalb automatisch der Zugriffsklasse des Saboteurs zugeordnet und da diese unter der von M liegt, kann die Anwendung der Managerin keine Daten in die Kopie schreiben. Der Nachteil der DAC besteht folglich darin, dass keine Kontrolle darüber besteht, wie Daten verteilt werden, wenn sie, wie hier im Beispiel, einmal von einem zum Zugriff berechtigen Nutzer oder Programm extrahiert wurden. MAC-Modelle haben diese Schwäche nicht und sind daher generell als sicherer einzustufen 8. 7 Üblicherweise ist der Ersteller eines Datenobjekts auch der Eigentümer dieses Objekts. 8 Vorbehaltlich natürlich von Schwächen, die sich durch die konkrete Implementierung ergeben.

13 Thema 1 - Einleitung Felix Kamfenkel 7 4) DAC und MAC in unterschiedlichen Datenbank-Arten Nachfolgend werden für unterschiedliche Arten von Datenbanken jeweils wichtige Aspekte von DAC und MAC vorgestellt. Zunächst werden dabei relationale Systeme besprochen, im Anschluss objektbasierte. Danach geht das Kapitel auf XML- und NoSQL-Systeme ein. Die Darstellung baut dabei sukzessive aufeinander auf; das bedeutet, dass die für relationale Datenbanken erläuterten Eigenheiten grundlegend auch für objektbasierte gelten, sowie das für objektbasierte Systeme Gesagte auch für XML und NoSQL Bei jeder Datenbankart kommen allerdings auf Grund des anderen Datenmodells verschiedene Erweiterungen und Besonderheiten hinzu. 4.1) Relationale Datenbanken Relationale Datenbanken sind nach wie vor am weitesten verbreitet und weisen deshalb auch den umfangreichsten Forschungsstand auf. Sowohl für DAC als auch für MAC existiert bei dieser Datenbankart eine Vielzahl verschiedener Umsetzungen. Die nachfolgenden Absätze sollen unabhängig von den konkreten Modellen die grundlegenden Probleme und Anforderungen diskutieren, die sich bei DAC und MAC ergeben ) DAC Eine der ersten DAC-Implementierungen war das Modell des System R. Auch heute noch basieren quasi alle aktuellen Datenbankmanagementsysteme auf diesem ursprünglichen Modell der Zugriffskontrolle, auch wenn dieses über die Jahre um zahlreiche Erweiterungen ergänzt wurde. Nachfolgend werden die wichtigsten Aspekte und Features von DAC-Modellen in modernen relationalen Datenbanken aufgeführt. Dabei geht die Diskussion auf verschiedene Zugriffsmodi, rollenbasierte und inhaltsbasierte Zugriffskontrolle, Möglichkeiten der Administration von Autorisierungen, negative Autorisierungen sowie kontextbasierte Zugriffskontrolle ein. Eine sehr grundlegende Anforderung ist die Fähigkeit zur Unterscheidung der möglichen Zugriffsarten. Die Standardmodi, die bereits im System R vorhanden waren, sind SELECT (Auswahl bestimmter Tupel), INSERT (Einfügen von Tupeln), DELETE (Löschen von Tupeln) und UPDATE (Änderung von Tupeln). Moderne Datenbanken bieten den Benutzern darüber hinaus noch weitere Zugriffsarten an, beispielsweise die Verwendung von Triggern (Spezifikation einer Aktion, die ausgelöst wird, wenn ein bestimmtes Ereignis eintritt), die natürlich ebenfalls kontrolliert werden müssen. Nicht alle der genannten Operationen sind dabei auch immer zulässig;

14 Thema 1 - Einleitung Felix Kamfenkel 8 insbesondere bei der Verwendung von Sichten können sich Einschränkungen ergeben. In diesem Fall wäre zum Beispiel die Insert-Operation unter Umständen nicht möglich. Zweitens stellt sich natürlich die Frage, wem man diese unterschiedlichen Arten von Zugriffsberechtigungen überhaupt erteilen kann. Ursprünglich waren dies lediglich einzelne User oder bestimmte im System hinterlegte Gruppen. Durch die Zuordnung eines Benutzers zu einer Gruppe werden dabei sämtliche zur Gruppe gehörigen Einstellungen auf den jeweiligen Benutzer übertragen. Eine besonders wichtige Form der Gruppendefinition und mittlerweile fest etablierte Erweiterung in diesem Bereich ist das Rollenkonzept 9 : Dabei geht man davon aus, dass eine Rolle bestimmte Funktionen eines Mitarbeiters repräsentiert und mit spezifischen Verantwortlichkeiten verbunden ist. Die zur Ausführung nötigen Autorisierungen werden dabei der Rolle gewährt, nicht dem Benutzer. Damit dieses Konzept funktionieren kann, müssen alle Benutzer gegenüber dem System immer in einer Rolle auftreten. Die Verwaltung von Autorisierungen wird dann deutlich einfacher, weil man nicht mehr mit den Zugriffsberechtigungen jedes einzelnen Users umgehen muss, sondern nur noch mit denen der einzelnen Rollen. Insbesondere Positionswechsel im Unternehmen werden auf diese Weise erleichtert. Die Rollen können zur weiteren Vereinfachung sogar noch hierarchisch gruppiert werden, wodurch eine Vererbung von Autorisierungen ermöglicht wird. Rollenmodelle unterstützen auch in einer sehr effizienten Weise die Aufgabentrennung im Unternehmen. Diese wird üblicherweise verwendet, um Missbrauch durch Benutzer mit (zu) vielen Rechten zu verhindern. So wäre es beispielsweise nicht wünschenswert, wenn ein Mitarbeiter, der das Recht hat, Schecks auszustellen, auch gleichzeitig für die Aufgabe von Bestellungen verantwortlich ist. Bei der Aufgabentrennung kann zwischen einer statischen und einer dynamischen Variante unterschieden werden: Bei statischer Trennung gibt es üblicherweise Einschränkungen bezüglich der Rollenüberschneidungen. Dabei ist insbesondere wichtig, dass zwei sich gegenseitig ausschließende Rollen nicht denselben Benutzer haben dürfen, da sonst das Konzept an sich wirkungslos wäre. Bei dynamischer Aufgabentrennung benutzt man ein Session-Konzept, so dass die Anzahl und Art der Rollen, die ein User annehmen kann, durch die bisherige Verwendung von Rollen während der aktuellen Session oder früherer Sessions eingeschränkt ist. Eine Session ist dabei eine atomare Arbeitseinheit, zum Beispiel eine Transaktion. So könnte man etwa verhindern, dass ein User während einer Transaktion zwischen Rollen hin und her springen kann und sich auf diese Weise mehr Rechte sichern kann, als ihm zustehen. Der Benutzer könnte damit zwar grundsätzlich Mitglied mehrerer konfligierender Rollen sein, allerdings nicht im Rah- 9 Rollenbasierte Zugriffskontrolle wird hier als Unterform der DAC verstanden. Teilweise wird sie allerdings auch als eigene Form der Zugriffskontrolle eingeordnet (siehe zum Beispiel Lee & Yu 2008: 1).

15 Thema 1 - Einleitung Felix Kamfenkel 9 men der gleichen Arbeitseinheit. Drittens ist wichtig, dass Zugriffsberechtigungen anhand des Inhalts der jeweiligen Daten vergeben werden können. Hier stellt sich zunächst die Frage, auf welcher Ebene man den Zugriffschutz etabliert. Prinzipiell können dies Relationen, Tupel oder einzelne Attribute sein. Auf Tupelebene könnte man zum Beispiel festlegen, dass Angestellte in der Finanzabteilung nur Kundenkonten bis zu einer gewissen Höhe einsehen können, weil die Premium-Kunden nur vom oberen Management betreut werden sollen. Zur Realisierung dieses Vorhabens gibt es prinzipiell zwei Möglichkeiten: die Erstellung einer Sicht oder die Abfragemodifikation. Im erstgenannten Fall würden die Mitarbeiter der Finanzabteilung eine Sicht erhalten, die alle größeren Konten ausblendet. Im letztgenannten Fall würde man mit einer DENY-Anweisung den Zugriff auf Premium-Konten verbieten. Jeder Anfrage werden dann automatisch die in der Anweisung spezifizierten Verbote in Form einer zusätzlichen Bedingung in der WHERE-Klausel hinzugefügt. Diese Modifikation ist natürlich flexibler als die Verwendung von Sichten (zumal auf Sichten nicht alle Operationen möglich sind), verbraucht allerdings auch mehr Ressourcen, da das System jede Anfrage umformulieren muss. Viertens kann man zwischen unterschiedlichen Formen der Administrationsweise von Autorisierungen unterscheiden. Dabei gibt es zwei idealtypische Möglichkeiten, die sich gewissermaßen an den äußersten Polen eines Spektrums gegenüberstehen: Zum einen kann die Administration zentralisiert ausgeführt werden. In diesem Fall bestimmen nur wenige Personen (im Extremfall nur eine) über Vergabe von Autorisierungen; üblicherweise wird es sich dabei um die Datenbank- oder Systemadministratoren handeln. Zum anderen ist eine dezentrale Administration möglich. Diesen Ansatz nennt man auch eigentumsbasierte Administration, da hier die Eigentümer der Daten über die Vergabe von Autorisierungen entscheiden dürfen. Dabei kann das Vergaberecht mittels der GRANT-Option auch delegiert werden. Soll dieses Recht von einem Benutzer wieder entzogen werden, wird die REVOKE-Operation verwendet. Üblicherweise soll dann der Zustand wiederhergestellt werden, der vor der Vergabe des GRANT herrschte. Beispielsweise könnte der Besitzer einer Relation einem anderen Benutzer A das Leserecht inklusive der GRANT-Option erteilt haben. A hat danach wiederum einem weiteren Benutzer B ebenfalls das Leserecht gewährt. Entscheidet sich nun der Besitzer der Relation, Benutzer A die gewährten Rechte wieder zu entziehen, muss auch B seine Zugriffsrechte verlieren, damit der ursprüngliche Zustand vor der Vergabe aller Rechte an A wiederhergestellt ist. Da bei diesem Vorgehen eine Kaskade von Rechteentzügen entstehen kann, nennt man diese Art der REVOKE-Operation auch kaskadierendes REVOKE. Alternativ kann man auch eine nicht-kaskadierende REVOKE-Operation verwenden. Dabei werden nur dem von der Operation Betroffenen seine GRANT-Privilegien entzogen, ohne die Ausdehnung auf andere Benutzer, die

16 Thema 1 - Einleitung Felix Kamfenkel 10 Rechte von dem User erhalten haben. Benutzer B aus dem Beispiel könnte sein Leserecht also behalten. Inhaltlich wird dabei einfach so getan, als hätte B zu dem Zeitpunkt, als er sein Recht von A erhalten hat, dieses stattdessen von dem Besitzer der Relation erhalten. Eine fünfte Möglichkeit der Zugriffskontrolle, die in den meisten Datenbankmanagementsystemen vorhanden ist, ist die Vergabe von negativen Autorisierungen. Normalerweise wird bei DAC-Modellen eine sogenannte Closed-World-Policy angewendet. Dabei wird davon ausgegangen, dass eine nicht vorhandene Autorisierung im System bedeutet, dass auch keine Zugriffberechtigung besteht. Diese Politik hat den Nachteil, dass ein Benutzer, der bis jetzt noch keinen Zugriff auf ein Datenelement hat, den Zugriff durchaus irgendwann in der Zukunft unberechtigterweise erlangen könnte. Um diesen Fall zu verhindern, gibt es negative Autorisierungen. Wie der Name bereits erahnen lässt, spezifiziert man für den betreffenden Benutzer damit explizit das Verbot, auf ein Objekt zuzugreifen. Damit die negative Autorisierung wirksam sein kann, müssen diese Verbote bei der Zugriffskontrolle Vorrang haben (Denial-Takes-Precedence-Prinzip). Gilt beispielsweise ein Leseverbot für einen Benutzer X bei einem bestimmten Datenelement, und ein anderer Benutzer Y räumt ihm ein Leserrecht darauf ein, gilt weiterhin das Verbot. Einige DAC-Modelle bieten die Möglichkeit, diese negativen Autorisierungen dennoch zu überschreiben. Dazu wird das Konzept der sogenannten More-Specific-Authorization verwendet. Das bedeutet, dass eine spezifischere Autorisierung eine allgemeinere außer Kraft setzt. Ist der grade genannte Nutzer X Mitglied einer Gruppe, für die das Leseverbot gilt, und Nutzer Y räumt X eine benutzerbezogene Leseerlaubnis ein, dann ist die Erlaubnis (nur für den User) spezifischer als das Verbot (für die ganze Gruppe) und ein Zugriff ist möglich. Sind Erlaubnis und Verbot nicht vergleichbar, gewinnt natürlich weiterhin das Verbot. Um bei negativen Autorisierungen nicht jede Zugriffsart (SELECT, INSERT, etc.) einzeln verbieten zu müssen, existiert ein spezieller Null-Zugriffsmodus für negative Autorisierungen, der alle Zugriffsarten umfasst. Ist für einen Nutzer ein Null-Zugriff bei einer bestimmten Relation spezifiziert, darf er dort keinen der Zugriffsmodi ausüben. Schließlich wird sechstens in den meisten DAC-Modellen auch ein kontextbasierter Zugriff angeboten, wobei sich dafür verschiedene Kontextfaktoren spezifizieren lassen. Dies kann zum Beispiel die Zeit sein, indem zeitlich begrenzte oder periodische Zugriffsautorisierungen vergeben werden. So könnte in einem Unternehmen als Sicherheitsvorkehrung festgelegt werden, dass kein Angestellter nachts oder an Wochenenden auf wichtige Dateien zugreifen darf. Da in dieser Zeit (zumindest üblicherweise) niemand an den Daten arbeitet, ist die Wahrscheinlichkeit nämlich hoch, dass der Zugriff gar nicht von einem Angestellten stammt, sondern von einem Angreifer. Neben der Zeit könnte man natürlich auch andere Kontextfaktoren heranziehen, um die Zu-

17 Thema 1 - Einleitung Felix Kamfenkel 11 griffsentscheidung zu steuern, beispielweise ließe sich der Ort des Zugriffs im genannten Bei- darin begrenzen. spiel auf das Bürogebäude des Unternehmens oder bestimmte Abteilungen Ebenso ist die Spezifikation eines bestimmten Kontextes für Applikationen möglich; hier könnte etwa festgelegt werden, dass s ein Programm nur in einem bestimmten Zustand auf eine Daten- bank zugreifen darf ) MAC Die MAC zeichnet sich durch die Definition hierarchischer Zugriffsklassen aus, die jeweils aus einem Sicherheitslevel und (optional) einem Bereich bestehen. Mit den Klassen werden sowohl Datenobjekte als auch User belegt und bei Anfragen nach den Prinzipien No Read-Up und No Write-Down verfahren. Es stellt sich dann die Frage, welche Dateneinheiten klassifiziert werden sollen. Dabei kann es durchaus gewünscht sein, dass nicht einer ganzen Tabelle die gleiche Zugriffsklasse zugeordnet werden soll, sondern jedem Tupel, jedem Attribut (quasi jeder Spalte) oder sogar jedem Einzel- Modell zu einem element (jedem Attributwert) eine eigene. In diesen Fällen muss das relationale sogenannten Multilevel-Relationalmodell erweitert werden. Dazu wird jedem Attribut ein zusätzliches Klassifikationsattribut zugeordnet und darüber hinaus noch ein Klassifikationsattribut für das Tupel insgesamt ergänzt. Abbildung 1 zeigt eine Beispiel für eine Datentabelle aus einem Multilevel-Relationalmodell mit den Attributen Name, Abteilung und Gehalt. Die zugehörigen Klassifikationsattribute sind je- für das gesamte weils rechts daneben aufgeführt, wobei C.Tupel das Klassifikationsattribut Tupel ist. Der Einfachheit halber existieren im Beispiel nur die Zugriffsklassen Low und High. Wie man an der Entität Sam sieht, kann jedem Attribut unabhängig von den Werten der anderen eine eigene Klassifizierung zugeordnet werden. Der Wert des Tupel-Klassifikationsattributes entspricht dem höchsten Wert (dem Supremum) aus den restlichen Klassifikationsattributen der Entität (Galinović & Antončic 2007: 128). Abbildung 1: Beispiel einer Multilevel-Relation und High-Instanz

18 Thema 1 - Einleitung Felix Kamfenkel 12 In einem Multilevel-Relationalmodell gibt es zu einem gegebenen Relationsschema nun nicht eine Relation, die für alle Benutzer gleich ist, sondern mehrere Relationsinstanzen, die sich nach Zugriffsklassen unterscheiden. Bei den zwei Klassen Low und High existieren daher zwei Relazwischen diesen ist, tionsinstanzen, eine Low-Instanz nz und eine High-Instanz. Der Unterschied dass nicht in jeder Instanz alle Tupel angezeigt werden können, sondern nur eine Teilmenge: Auf jedem Zugriffslevel sind nur die Daten sichtbar, deren Zugriffsklassen von der des Levels domi- somit dadurch niert werden. Die Relationsinstanzen für eine bestimmte Zugriffsklasse können erzeugt werden, dass alle Elemente in der Multilevel-Relation maskiert werden, deren Zugriffs- werden kön- klassen höher oder nicht vergleichbar sind. Für das obige Beispiel bedeutet t dies, dass in der High-Instanz alle Daten angezeigt nen, da auf diesem höchsten Zugriffslevel alle anderen dominiert werden. Man könnte auch saund daher auch alle gen, dass ein Benutzer mit Sicherheitsstufe High ja alle Daten lesen darf Tupel angezeigt bekommen muss. Die High-Instanz ist deshalb die gleiche Tabelle, die auch bereits in Abbildung 1 gezeigt ist. Die nachfolgende Abbildung 2 zeigt die Low-Instanz der Multilevel-Relation. Hier müssen alle Tupel vorhanden sein, die Low-Attribute beinhalten schließlich sollen alle Benutzer, die auf diesem Zugriffslevel arbeiten, die für sie lesbaren Attribute auch sehen können. Beim Tupel Sam muss dabei das als High klassifizierte Gehalt, das Benutzer dieses Levels wegen der No Read- Up-Bedingung nicht sehen dürfen, mit einem Null-Wert maskiert werden. Da nach der Maskie- C.Tupel für Sam rung nur noch als Low klassifizierte Attribute in dem Tupel enthalten sind, sinkt ebenfalls auf diese Stufe. Abbildung 2: Low-Instanz der Multilevel-Relation Generell müssen bei Multilevel-Relationen zwei Bedingungen erfüllt sein, damit eine korrekte Bildung von Relationsinstanzen n möglich ist: Zum einen müssen die Werte des Primärschlüssels für jedes Tupel einheitlich klassifiziert sein. Wäre das nicht der Fall, könntente man in manchen Relationsinstanzen nicht mit dem Primärschlüssel auf Tupel zugreifen, da einige seiner Attribute durch Null-Werte maskiert sein könnten. Zum anderen muss die Zugriffsklasse der Nichtschlüskönnte man sonst in selattribute gleich oder höher sein als die des Primärschlüssels. Auch hier manchen Fällen nicht korrekt auf die Daten zugreifen, da in manchen Relationsinstanzen Tupel

19 Thema 1 - Einleitung Felix Kamfenkel 13 ohne Primärschlüssel auftretenten würden, wenn dieser auf Grund einer niedrigeren Zugriffsklasse maskiert werden müsste. Neben diesen unbedingt einzuhaltenden Bedingungen besteht in MAC-Modellen zuzulassen. Der Begriff bezeichnet das Auftreten mehrerer Da- die Option, sogenannte Polyinstanziierungng tenelemente mit gleichem Namen aber verschiedenen Zugriffsklassen. Bei den Elementen kann es sich sowohl um Relationen, Tupel oder Attribute handeln. So könnte es zum Beispiel zwei Relationen namens Militärfahrzeuge geben, wobei die eine als Streng Geheim und die andere als Öffentlich klassifiziert ist. Bei Tupeln bedeutet Polyinstanziierung, dass es Entitäten mit demselbenen Primärschlüsselwert, jedoch mit unterschiedlichen n Zugriffsklassen des Primärschlüssels gibt. Es könnten somit beihier der Primärschlüssel spielsweise zwei Tupel namens Ann existieren, wobei der Name (der ja ist) in beiden Entitäten unterschiedlich klassifiziert ist. Dieser Fall ist in Abbildung 3 dargestellt, in der die bereits bekannte Multilevel-Relation um ein zusätzliches Ann-Tupel erweitert wurde. Bei der Attribut-Polyinstanziierung kann es schließlich unterschiedlich klassifizierte Werte für ein Attribut geben, die jedoch zu einem Tupel mit gleichem Primärschlüsselwert und gleicher Klassifizierung des Schlüssels gehören. Dies ist für die zwei Jerry-Tupel el aus Abbildung 3 der Fall, die eine gleiche Klassifizierung des Namens, aber unterschiedlich klassifizierte Werte für das Gehalt aufweisen. Abbildung 3: Polyinstanziierung Polyinstanziierung kann generell durch zwei Situationen entstehen: Zum einen, wenn ein Benut- dass es bereits ein zer eines niedrigen Levels ein Datenelement einfügen will, ohne zu wissen, gleichnamiges Element auf einem höheren oder nicht vergleichbaren Level gibt. Dies wird auch unsichtbare Polyinstanziierung genannt, weil die einfügende Person das konfligierende Tupel

20 Thema 1 - Einleitung Felix Kamfenkel 14 oder Attribut auf der höheren Ebene wegen des No Read-Up-Prinzips nicht sehen kann 10. Zum anderen kann Polyinstanziierung aber auch unter Kenntnis des Benutzers geschehen, und zwar dann, wenn er auf einem hohen Level Daten einfügt, die auf einem niedrigeren Level schon vorhanden sind. Der Benutzer sieht in diesem Fall die betreffenden Daten auf der niedrigeren Stufe, kann sie aber des No Write-Down-Prinzips nicht selbst verändern. Somit muss er entweder auf das Einfügen verzichten oder die Polyinstanziierung in Kauf nehmen. Falls man sich entscheidet, polyinstanziierte Elemente in einem Modell zuzulassen, stellt sich natürlich die Frage, welche Bedeutung diese Elemente in Bezug auf die reale Welt haben. Üblicherweise gilt dabei die Regel, dass polyinstanziierte Tupel verschiedene Entitäten der realen Welt beschreiben. Das ist hier bei Ann der Fall; gemäß den Einträgen der Multilevel-Relation gibt es somit zwei Personen dieses Namens, die für das Unternehmen arbeiten. Polyinstanziierte Werte wiederum beziehen sich auf dieselbe realweltliche Entität. Die beiden Jerry-Tupel aus Abbildung 3 beschreiben folglich dieselbe Person, wobei Benutzer mit niedriger Sicherheitsfreigabe die Information angezeigt bekommen, Jerry würde Euro verdienen. Die Nutzer mit hoher Freigabe wissen es besser und sehen das tatsächliche Gehalt von Euro. Wie man sieht, ist es durch Polyinstanziierung durchaus möglich, Nutzern auf einem niedrigeren Level nicht nur die wahren Tatsachen zu verbergen, sondern ihnen sogar bewusst falsche Informationen zukommen zu lassen und sie damit gewissermaßen auf eine falsche Fährte zu locken. Die bisher diskutierten Anforderungen bezogen sich auf die Erweiterung des relationalen Modells zum Multilevel-Relationalmodell. Für die erfolgreiche Umsetzung von MAC in einer Datenbank muss jedoch nicht nur das Datenmodell geändert werden, sondern auch die Systemarchitektur. Andernfalls bleiben unter Umständen Informationskanäle bestehen, die sich potenzielle Angreifer zunutze machen können, um Informationen von einer höheren zu einer niedrigeren oder nicht vergleichbaren Sicherheitsstufe zu senden. Diese Geheimkanäle kann man prinzipiell in die zwei Arten Speicherkanal und Timingkanal unterteilen: Im ersten Fall werden, wie der Name bereits vermuten lässt, Daten in der Sicherheitshierarchie von oben nach unten umgespeichert. Dazu schreibt ein Prozess bzw. eine Transaktion auf dem höheren Niveau in eine Speicherressource, die von einem anderen Prozess auf einer niedrigeren Ebene ausgelesen werden kann. Im zweiten Fall signalisiert man Informationen durch das Timing von bestimmten Vorkommnissen. Um solche Timingkanäle sicher vermeiden zu können, ist es nötig, die Transaktionsalgorithmen des Systems speziell für die MAC abzuändern. 10 Der Benutzer darf natürlich nicht benachrichtigt werden, wenn zu einem von ihm eingefügten Element bereits ein gleichnamiges mit höherer Klassifikation existiert schließlich würde man ihn damit ungewollt über die Existenz des höher klassifizierten Elements in Kenntnis setzen.

21 Thema 1 - Einleitung Felix Kamfenkel 15 Ein Beispiel ist das bekannte Zwei-Phasen-Sperrprotokoll: Es ist hier möglich, dass eine Transaktion auf einem hohen Level einer mit ihr kooperierenden Transaktion auf einem niedrigen Level Signale gibt, indem Elemente auf der niedrigeren Ebene bewusst mit Lesesperren belegt werden. Die Transaktion auf der unteren Ebene kann solche Elemente während der Sperre nicht schreiben. Über die Dauer der verstreichenden Wartezeit bis zur Freigabe, die von der niedrigeren Transaktion gemessen werden kann, lassen sich nun Informationen in der Hierarchie der Zugriffsklassen von oben nach unten übertragen. 4.2) Objektbasierte Datenbanken Unter einer objektbasierten Datenbank wird hier ein System verstanden, das die Prinzipien der Objektorientierung entweder in ein relationales System integriert (objektrelational), oder ein rein objektorientiertes Datenmodell verwendet. Zwischen objektorientierten und relationalen Datenbankmanagementsystemen bestehen einige wichtige (auch für XML und NoSQL gültige) Unterschiede, die sich auf die Realisierung von DAC- und MAC-Modellen auswirken: So sind erstens die verwalteten Elemente bei objektbasierten Datenbanken deutlich komplexer. Dabei kann es sich zum Beispiel um Multimedia- oder CAD-Informationen handeln. Diese umfangreicheren Datenmodelle verkomplizieren die Zugriffskontrolle, da es natürlich möglich sein sollte, die erhöhte Komplexität auch auszunutzen und auf die gespeicherten Objekte (sowie ihre Methoden, Attribute, etc.) flexibel zugreifen zu können. Zweitens ist auch bei der Spezifikation von Usern eine erhöhte Flexibilität vonnöten, da objektbasierte Datenbanken oft bei webbasierten Anwendungen zum Einsatz kommen, die sehr heterogene und dynamische Benutzerpopulationen haben. Das führt dazu, dass sogenannte Teil- bzw. partielle Identitäten von Benutzern verwendet werden, die zum Beispiel auf (zusätzlichen) Merkmalen wie Alter oder Nationalität beruhen. Drittens muss die Zugriffskontrolle für verschiedene Informationsverbreitungsstrategien möglich sein. Eine solche Strategie bezeichnet die Art, wie Daten einem Benutzer geliefert werden. Normalerweise kommt in Datenbanken eine Pull-Strategie zum Einsatz; das heißt, ein Benutzer oder ein Programm fragen die Daten beim System ab, die sie haben wollen. Im Internet ist es heutzutage allerdings auch nötig, Informationen im Rahmen einer Push-Strategie ohne vorherige Anfrage zu liefern, beispielsweise bei Newslettern. Viertens sind im Rahmen der zunehmenden Vernetzung zwischen Unternehmen sehr komplizierte Workflows entstanden, an denen oft mehrere verschiedene Firmen beteiligt sind, etwa im Bereich des Lieferkettenmanagements. Die dafür nötigen Daten müssen einer ganzen Reihe von Personen und Programmen offenstehen und gemeinschaftlich verändert werden können. Die Zu-

22 Thema 1 - Einleitung Felix Kamfenkel 16 griffskontrolle muss in diesem Rahmen dafür sorgen, dass die Festlegungen zum Fluss der Daten zwischen den Beteiligten eingehalten werden können ) DAC Wie bereits erwähnt, sind die Datenmodelle in objektbasierten Datenbanken sehr viel komplexer als in relationalen. Diese Erweiterung hat eine deutlich höhere Granularität der Zugriffsmöglichkeiten zur Folge. Die Zugriffskontrolle muss hier insbesondere mit Anfragen auf Klassen, Instanzen, Attribute und Methoden umgehen können. Dabei stellen sich einige Fragen, deren Lösungen nicht direkt auf der Hand liegen: Beispielsweise könnte ein Benutzer B aus einer Klasse, die einem anderen Benutzer A gehört, eine Instanz erzeugen. Wem von beiden gehört nun die Instanz? Insbesondere die DAC stößt im objektbasierten Kontext schnell an ihre Grenzen, weil nur in den seltensten Fällen alle Zugriffsmöglichkeiten berücksichtigt und als Autorisierungen im System gespeichert werden können. Daher behilft man sich damit, zusätzlich auch implizite Autorisierungen zu verwenden, die aus den explizit formulierten Berechtigungen abgeleitet werden. So könnte beispielsweise die explizite Autorisierung eines Benutzers, lesend auf ein Objekt zuzugreifen, bedeuten, dass er auch die implizite Berechtigung hat, alle mit diesem Objekt in Verbindung stehenden Objekte zu lesen. Solche impliziten Autorisierungen werden mittels spezieller Implikationsregeln abgeleitet, die für Objekte, Subjekte und Zugriffsmodi formuliert werden und natürlich im System hinterlegt sein müssen. In der Regel wird die Ableitung impliziter Autorsierungen auf das zu Grunde liegende Datenmodell beschränkt sein bzw. sich an diesem orientieren. Das bedeutet, dass die nicht explizit formulierten Berechtigungen entlang der semantischen Beziehungen der Objekte gefolgert werden. Prinzipiell sind im Rahmen logikbasierter Zugriffskontrolle allerdings beliebig komplexe Implikationsregeln möglich. Hier existiert eine ganze Reihe unterschiedlicher Modelle (z.b. Purevjii et al 2005; Coetzee & Eloff 2012). Logikbasierte Ansätze können zudem bei der Verwaltung der Zugriffskontrollregeln eingesetzt werden (Kolovski 2011). Die Freiheit, nicht jede Autorisierung einzeln spezifizieren zu müssen, führt zu einer großen Vereinfachung der Zugriffkontrolle und kann selbstverständlich mit anderen bereits erörterten Konzepten kombiniert werden. So könnte beispielsweise der Fall eintreten, dass man von 1000 Instanzen einer Klasse lediglich eine einzige schützen möchte. Statt nun 999 einzelne Autorisierungen vergeben zu müssen, reichen zwei Berechtigungen: Eine explizite Autorisierung auf die Klasse, die sich an alle Instanzen vererbt, und eine negative Autorisierung auf die zu schützende Instanz.

23 Thema 1 - Einleitung Felix Kamfenkel 17 Die Möglichkeit impliziter Berechtigungen ergibt sich (in erster Linie) aus der Struktur des jeweiligen Datenmodells. Eine andere, besonders wichtige Eigenschaft der Objektorientierung, die Kapselung, lässt sich jedoch auch für die Zugriffskontrolle ausnützen. Kapselung bedeutet, dass man den Zugriff auf ein Objekt nur über bestimmte Methoden erlaubt und dadurch eine Trennung zwischen seinem Status und seiner Schnittstelle nach außen herstellt. Man versteckt dadurch die Information, wie bestimmte Funktionalitäten oder Attribute implementiert sind, vor den Benutzern bzw. Programmen. Offensichtlich ist dadurch eine sehr effektive Zugriffskontrolle auf das Objekt (und natürlich die darin gespeicherten Daten) möglich: Die Methoden fungieren als eine Art Schutzschicht, weil die Benutzer und Programme nicht direkt auf die Werte des Objekts zugreifen können, sondern immer den Weg über die angebotene Schnittstelle nehmen müssen. Man verlegt durch die Verwendung von Methoden somit im Prinzip einen Teil der Zugriffskontrolllogik in die Daten hinein. Dabei wird auch die Komplexität stark reduziert, da Änderungen eines Objektes für Programme transparent sind, solange sich die Schnittstelle (also die Methoden) nicht ändert. Andernfalls müsste man die Programme gleich mit umschreiben. Berechtigungen zum Zugriff müssen dann natürlich auf Methoden vergeben werden. Hier gibt es unterschiedliche Ansätze; zum Beispiel kann man sogenannte Guard Functions (Wach- oder Beschützerfunktionen) einsetzen, die vor einem Methodenaufruf immer zuerst aktiviert werden und prüfen, ob der Zugriff berechtigt ist. Ebenso ist die Verwendung von Proxy-Funktionen möglich. Dabei handelt es sich um überladene Methoden, die je nach Kontext bzw. Benutzer eine andere Ausführung (eben einen anderen Proxy) realisieren. Bei nicht rein objektorientierten, sondern lediglich objektrelationalen Systemen, kann man statt Methoden auch Stored Procedures (gespeicherte Prozeduren) verwenden. Diese haben zwar in der Regel keine starke Kapselung, können allerdings trotzdem ähnlich wie Methoden als zusätzliche Zugriffskontrollschicht verwendet werden ) MAC Auch die MAC ist nicht direkt vom relationalen auf den objektbasierten Fall übertragbar. Das Problem liegt hier vor allem darin, dass die Definition von Subjekt und Objekt nicht eindeutig ist: Im Falle relationaler Datenbanken sind die Datenobjekte passive Entitäten, die lediglich Informationen speichern. Bei den Subjekten handelt es sich um die aktiven Nachfrager dieser Informationen, die die Aktionen der Datenbank durch ihre Anfragen anstoßen. Im objektbasierten Fall sind die Objekte allerdings nicht mehr ausschließlich passiv, da sie nicht nur an sich selbst,

24 Thema 1 - Einleitung Felix Kamfenkel 18 sondern auch an anderen Objekten Methodenaufrufe durchführen. Die Objekte sind hier somit sozusagen Subjekt und Objekt zugleich. Ein naheliegendes Konzept zur Implementierung der MAC im objektbasierten Fall ist ein Nachrichtenfilter. Da die Kommunikation zwischen allen Objekten über Nachrichten abläuft, kann man mittels eines Filters relativ einfach kontrollieren, dass keine Inhalte von einem Objekt auf einem höheren Level an Objekte auf tieferen Levels fließen. Auch bei der MAC erschwert zudem die Vielfalt der möglichen Beziehungen zwischen Entitäten die Umsetzung. Man steht hier prinzipiell vor der Entscheidung, ob man sogenannte Single- oder Multilevel-Modelle implementieren möchte. Im ersten Fall wird festgelegt, dass alle Elemente eines Objekts (vorwiegend natürlich die Attribute und Methoden) eine Klassifizierung auf der gleichen Stufe haben müssen. Bei der Multi-Level-Variante darf jedes Element eine unterschiedliche Zugriffsklasse haben. Die Single-Level-Methode hat den Vorteil, dass sie relativ einfach zu implementieren ist; die Multi-Level-Variante ist natürlich deutlich komplizierter. Man behilft sich daher in der Regel damit, dass man ein Pseudo-Multilevel-Modell erzeugt, indem man ein Objekt mit mehreren Zugriffsklassen auf mehrere Objekte mit jeweils nur einer Zugriffsklasse abbildet (sogenannter Multilevel Object View Approach). Dieser Ansatz kann zum Bespiel durch Vererbungshierarchien realisiert werden, in denen die Objekte mit niedriger Klassifizierung an der Wurzel ansiedelt sind. Davon ausgehend werden jeweils Unterklassen gebildet, die die niedrig klassifizierten Attribute und Methoden erben und selbst immer höhere Zugriffsklassen haben. Eine andere Methode ist die Verwendung zusammengesetzter Objekte. Dabei setzt man in einem Objekt mit einer hohen Zugriffsklasse Referenzen auf zugehörige Objekte mit niedrigerer Zugriffsklasse. 4.3) XML-Datenbanken Die Probleme, Anforderungen und Besonderheiten für DAC und MAC in XML-Systemen sind in hohem Maße ähnlich wie bei objektbasierten Datenbanken. Dies ist leicht nachvollziehbar, da ein XML-Dokument mit seiner Struktur aus Elementen, (optionalen) Attributen und Verlinkungen zu anderen Dokumenten stark an miteinander in Beziehung stehende Objekte erinnert. Auch XML-Dokumente verfügen zudem über eine hohe Granularität, schließlich muss es hier möglich sein, Zugriffskontrolle für Attribute, Elemente, Dokumente und sogar Gruppen von Dokumenten umzusetzen. Der vorwiegend webbasierte Einsatz und die Verwendung in komplexen Workflows (meist als Datenaustauschformat) sind weitere Gemeinsamkeiten. Das für objektbasierte Datenbanken Gesagte ist somit im Kern auch hier zutreffend und die vorgestellten Techniken können (größtenteils) eingesetzt werden.

25 Thema 1 - Einleitung Felix Kamfenkel 19 Allerdings gibt es einige Unterschiede, die kurz erwähnt werden sollen: Zum einen gibt es keine Methoden, die für die Zugriffskontrolle verwendet werden können. Zum anderen werden bei XML keine Nachrichten zwischen den Dokumenten ausgetauscht, die man mittels eines Filters überwachen könnte. Drittens ergeben sich durch die Verwendung von Document Type Descriptions (DTDs) bzw. XMLSchema einige Veränderungen: Durch DTDs können Zugriffskontrollbedingungen für Gruppen von Dokumenten spezifiziert werden. Dabei muss man allerdings berücksichtigen, dass nicht unbedingt für jedes Dokument eine DTD oder ein Schema existieren muss (im Gegensatz zu Instanzen, die immer zu einer Klasse gehören). Falls im System mit einer Closed-World-Policy gearbeitet wird, also zur Zugriffserlaubnis eine Autorisierung vorhanden sein muss, wäre bei einer Spezifikation der Berechtigungen auf DTD-Ebene unter Umständen kein Zugriff auf einige Dokumente möglich. 4.4) NoSQL-Datenbanken NoSQL-Systeme sind in den letzten Jahren immer populärer geworden. Sie vereinen Aspekte aus allen bisher genannten Datenbank-Arten 11 ; dies gilt auch im Hinblick auf die Anforderungen und Herausforderungen, die sich bei der Implementierung einer wirkungsvollen Zugriffskontrolle stellen. Da es bei NoSQL-Systemen kein festes Schema gibt (Sadalage & Fowler 2012), können prinzipiell die Aspekte aller genannten Datenbank-Arten auftreten. Allerdings gibt es einen wichtigen Unterschied: Im Gegensatz zu den bisher genannten Datenbankarten, zu denen in der Regel vielfältige Umsetzungen der Zugriffskontrolle existieren, steckt diese in NoSQL-Systemen noch in den Kinderschuhen. Viele Systeme boten bis vor Kurzem nicht einmal eine Authentifizierung der Benutzer an. Obwohl viele Hersteller mittlerweile nachgebessert haben, sind die Möglichkeiten der Zugriffskontrolle nach wie vor sehr beschränkt (siehe z.b. MongoDB 2015; Redis 2015). Dies ist der Tatsache geschuldet, dass NoSQL-Datenbanken in der Regel in ganz spezifischen Anwendungszusammenhängen eingesetzt werden (wohingegen relationale Systeme eher Universallösungen sind). Dabei geht man davon aus, dass eine sichere Systemumgebung vorliegt und somit keine bzw. nur rudimentäre Sicherheitsvorkehrungen nötig sind. Die Zugriffskontrolle muss daher in der Regel in die Client-Software implementiert werden (Shermin 2013: 3, 49). 11 Die Unterscheidung, zu welcher Art von Datenbank ein System im konkreten Fall zählt, ist nicht immer eindeutig. So ist beispielsweise eine Vielzahl der NoSQL-Datenbanken objektorientiert und kann daher auch zu diesen Systemen gezählt werden. Der Begriff NoSQL bezeichnet allgemein nicht-relationale Datenbanken ohne vordefiniertes Schema, die SQL nicht als ihre Sprache benutzen, auf Rechner-Clustern laufen und häufig Open-Source-Projekte sind (Sadalage & Fowler 2012).

26 Thema 1 - Einleitung Felix Kamfenkel 20 5) Fazit Bei allen Datenbank-Arten kann die Zugriffskontrolle prinzipiell auf zwei verschiedene Arten organisiert werden: als DAC und als MAC. Erstere basiert auf der Klassifikation der User, letztere auf der Klassifikation der User und Datenobjekte. Beide bieten je nach Art des Datenmodells jeweils bestimmte Vor- und Nachteile und haben bestimmte Herausforderungen bei der Implementierung, wobei von der Grundidee MAC sicherer ist. Obwohl sich die DAC zuerst durchgesetzt hat und gewissermaßen noch immer eine Art Standard ist, gibt es mittlerweile in fast allen kommerziellen Datenbankmanagementsystemen (zum Beispiel von Oracle oder IBM) auch MAC-Implementierungen (IBM 2014; Oracle 2013). Die Anzahl der Datenbanken wächst rasant, ebenso die Wichtigkeit der darin gespeicherten Daten. Wegen der oft gewaltigen Mengen, die es zu speichern und zu analysieren gilt, ist die Performance der Datenbanken von immer größerer Bedeutung. Die Zugriffskontrolle steht zur dieser prinzipiell in einer Tradeoff-Beziehung: Je umfangreicher die Berechtigungsprüfung ausfällt, desto mehr Ressourcen verbraucht sie natürlich und desto länger dauert ein Zugriff. Eine Strategie zur Erhöhung der Performance bei großen Datenmengen ist der Einsatz von Systemen, die auf Clustern von Rechnern laufen. Die Anfragen können dann von vielen Servern parallel bearbeitet werden. Gleichzeitig stellt der Umgang mit den Anfragen eine immer größere Herausforderung dar, da die Zugriffe auf die Daten aus sehr heterogenen Umfeldern kommen und zunehmend firmenextern sind. Eine effiziente und effektive Zugriffskontrolle für verteilte Systeme ist daher von großer Bedeutung. Performance und die damit in Verbindung stehende Zugriffskontrolle in verteilten Systemen (insbesondere in NoSQL-Datenbanken) sind somit wichtige Forschungsgebiete der kommenden Jahre. Weitere aktuelle Forschungsthemen im Bereich Sicherheit und Privatsphäre in Datenbanken finden sich in den Beiträgen dieses Seminarbandes.

27 Thema 1 - Einleitung Felix Kamfenkel 21 6) Literaturverzeichnis Bertino, Elisa & Sandhu, Ravi S. (2005): Database security concepts, approaches, and challenges. IEEE Transactions on Dependable and Secure Computing, 2(1). S Bertino, Elisa; Jajodia, Sushil; Samarati, Pierangela (1995): Database security: Research and practice. Information Systems, 20(7). S Büst, René (2013): Daten sind das neue Öl. Daten als Wettbewerbsvorteile in der Cloud verarbeiten. Wirtschaftsinformatik und Management, 2. Springer Gabler Verlag. S Coetzee, Marijke & Eloff, Jan H. P. (2012): An access control framework for web services. In: Information management & computer security, 13(1). S EMC Digital Universe (2014): White Paper. The Digital Universe of Opportunities: Rich Data and the Increasing Value of the Internet of Things. URL: ( ). Ferstl, Otto K.; Sinz, Elmar J. (2006): Grundlagen der Wirtschaftsinformatik. Oldenbourg Verlag: München, Wien. Galinović, Andro & Antončić, Vlatka (2007): Polyinstantiation in Relational Databases with Multilevel Security. Proceedings of the ITI th International Conference on Information Technology Interfaces. S IBM (2014): Database Security Guide. URL: ( ). Kolovski, Vladimir (2011): Logic-Based Access Control Policy Specification and Management. URL: ( ). Lee, Dongwon & Yu, Ting (2008): XML Access Control. URL: ( ). MongoDB (2015): The MongoDB 2.6 Manual. Security. URL: ( ). Oracle (2013): Oracle Label Security with Oracle Database 12c. URL: pdf?ssSourceSiteId=ocomen ( ). PwC (2014): Managing Cyber Risks in an interconnected World. Key findings from The Global State of Information Security Survey URL: jhtml ( ).

28 Thema 1 - Einleitung Felix Kamfenkel 22 Purevjii, Bat-Odon; Aritsugi, Masayoshi; Imai, Sayaka; Kanamori, Yoshinari; Pancake, Cherri M. (2005): Security Management Protecting Personal Data with Various Granularities A Logic-Based Access Control Approach. In: Computational Intelligence and Security. Lecture Notes in Computer Science. Volume Springer: Berlin. S Redis (2015): Redis Security. URL: ( ). Sadalage, Pramod J. & Fowler, Martin (2012): NoSQL Distilled A Brief Guide to the World of Polyglot Persistence. Addison-Wesley: Upper Saddle River u.a. Shermin, Motahera (2013): An Access Control Model for NoSQL Databases. University of Western Ontario Electronic Thesis and Dissertation Repository. Paper 1797.URL: ( ). Voß, Stefan; Gutenschwager, Kai (2001): Informationsmanagement. Springer: Berlin u.a.

29 FernUniversität in Hagen - Seminar / im Wintersemester 2014/15 Sicherheit und Privatsphäre in Datenbanksystemen Thema 2 Verschlüsselung Referentin: Alexandra Kounitzky

30 Sicherheit und Privatsphäre in Datenbanksystemen - Thema 2: Verschlüsselung Inhaltsverzeichnis 1 Einleitung Verschlüsselung Klassifizierung der Verschlüsselungsverfahren Symmetrische Verschlüsselungsverfahren Asymmetrische Verschlüsselungsverfahren Das RSA-Kryptosystem Das Public-Key-Verfahren Signaturen Das RSA-Verfahren/RSA-Algorithmus Gröβen beim RSA-Verfahren Primzahlen Beispiel Sicherheit des RSA-Verfahrens Aktuell OPES Grundlagen und Konzept Model Flatten Transform Fazit Literaturverzeichnis... 16

31 Sicherheit und Privatsphäre in Datenbanksystemen - Thema 2: Verschlüsselung 1 Einleitung Eine Datenbank ist eine integrierte Ansammlung von Daten, die allen Benutzern eines Anwendungsbereiches als gemeinsame Basis aktueller Information dient [Schlageter (2013, S. 3)]. Das Datenbankmanagementsystem kontrolliert die Datenbank, hierbei können Daten gespeichert, verändert und gelöscht werden, sowie Anfragen an die Datenbank gestellt werden. Um eine Datenbank vertraulich, integer und verfügbar zu halten, werden technische, administrative und physische Kontrollen gefordert. Die Sicherheit von Datenbanken ist deshalb so wichtig, weil private und vertrauliche Informationen wie Kundendaten aus juristischer Sicht geschützt werden müssen. Diese legislativen Maβnahmen bilden die erste Ebene einer sicheren Datenbank. Weiter sind auch organisatorische Maβnahmen zu treffen, die z.b. das Gebäude betreffen. Hierbei geht es um das Bauwerk selbst, sowie die Versorgungsleitungen und den Schutz gegen Blitzeinschlag, Brandgefahr, Vandalismus usw. Auch müssen die Räume (Serverräume, Datenträgerräume) vor unbefugtem Zutritt geschützt werden. Sind diese Voraussetzungen gegeben, kommt eine Identitätskontrolle, wobei sich jeder Benutzer identifizieren muss. Dies kann mit einem Passwort, Chipkarten oder Fingerabdrücken usw. geschehen und wird vom Datenbanksystem übernommen. Hat sich ein Benutzer erfolgreich identifiziert, werden die Daten durch Zugriffskontrollen geschützt. Die Zugriffsbedingungen werden in einer Berechtigungsmatrix gehalten. Die Zugriffsbedingungen können auch wertabhängig (z.b. lohnabhängig) verteilt werden. Als letzte Instanz kommen die kryptographischen Methoden, welche in den folgenden Abschnitten vorgestellt werden. Abbildung 1 - Die verschiedenen Ebenen des Datenschutzes [Schlageter et al. (2013, S. 4)] 1

32 Sicherheit und Privatsphäre in Datenbanksystemen - Thema 2: Verschlüsselung Im Kapitel zwei wird kurz auf die Verschlüsselung im Allgemeinen eingegangen, unter Berücksichtigung der symmetrischen und asymmetrischen Verschlüsselungsverfahren. Das dritte Kapitel behandelt das RSA-Verfahren, basierend auf A Method for Obtaining Digital Signatures and Public-Key Cryptosystems von Rivest, Shamit und Adleman [Rivest et al. (1978)]. Bei der Verschlüsselung von Daten in einer Datenbank, kann es zu Problemen kommen. Die Integration von Verschlüsselungstechniken auf Datenbanksystemen verursachen Laufzeitprobleme, denn vor der Verarbeitung der Daten im Rechner, müssen die Daten entschlüsselt werden. Das Problem bei verschlüsselten Daten einer Datenbank liegt darin, dass wenn man bei einer SQL-Anfrage z.b. in einer Spalte einer Tabelle verschlüsselte Informationen hat und ein Vergleichsoperator darauf anwenden möchte, so muss die ganze Tabelle gescannt werden, um die Abfrage zu evaluieren. Denn die Verschlüsselungstechniken berücksichtigen die Reihenfolge nicht und somit können Datenbankindizes wie B-Bäume für Query-Anfragen nicht mehr benutzt werden. Eine mögliche Lösung zu diesem Problem wird im 4. Kapitel betrachtet, wobei das Verschlüsselungsschema OPES zur Sprache kommt, welches auf dem Skript Order Preserving Encryption for Numeric Data von Agrawal, Kiernan, Srikant und Xu beruht [Agrawal et al. (2004)]. 2

33 Sicherheit und Privatsphäre in Datenbanksystemen - Thema 2: Verschlüsselung 2 Verschlüsselung Unter Verschlüsselung versteht man aus einem Klartext mit Hilfe eines Verschlüsselungsalgorithmus/Schlüssels einen Geheimtext (cipher text) zu erstellen. Der Entschlüsselung entspricht die umgekehrte Transformation. Klartext Geheimtext Abbildung 2 Verschlüsselung Die Übertragung der verschlüsselten Nachricht kann auf zwei verschiedene Weisen durchgeführt werden. Zum einen gibt es eine Leitungsverschlüsselung, bei der der Absender die Nachricht verschlüsselt und diese an den ersten Empfänger schickt. Dieser entschlüsselt die Nachricht und verschlüsselt sie wieder für den nächsten Empfänger usw. Das Verfahren wird auch Punkt-zu-Punkt-Verschlüsselung genannt und hat den Vorteil, dass nur die beiden direkten Nachbarn sich auf einen Verschlüsselungsalgorithmus, sowie Schlüssel einigen müssen. Hingegen müssen alle Computer in der Kette sicher und vertrauenswürdig sein. Eine andere Methode ist die Ende-zu-Ende-Verschlüsselung bei der der Absender die Nachricht verschlüsselt und diese dann von Computer zu Computer unverändert übertragen wird. Erst der Empfänger entschlüsselt dann die Nachricht. 2.1 Klassifizierung der Verschlüsselungsverfahren Verschlüsselungsoperationen Bei der Verschlüsselungsoperation wird unterschieden, welche Grundoperation bei der Verschlüsselung angewendet wird, um einen Klartext in einen Geheimtext zu übersetzen. Eine Möglichkeit ist die Ersetzung (substitution). Hierbei wird jedes Zeichen vom Klartext durch ein bestimmtes Zeichen des Geheimtextes ersetzt. Bei der anderen Möglichkeit werden die Zeichen des Klartextes neu angeordnet, sprich ihre Reihenfolge wird verändert. Deshalb nennt man diese Grundoperation Umordnung (transposition) Verarbeitung des Klartextes Die Verarbeitung eines Klartextes kann entweder durch Block- oder Stromverschlüsselung stattfinden. Wird der Klartext in Blöcke fester Gröβe eingeteilt, so spricht man von einer Blockverschlüsselung. Der letzte Block wird in der Regel künstlich aufgefüllt, damit auch er der festgelegten Gröβe entspricht. Wird der Klartext hingegen als Folge von Bits betrachtet, so 1 nach [Wohlfeil 2013, S ] 3

34 Sicherheit und Privatsphäre in Datenbanksystemen - Thema 2: Verschlüsselung wird jedes Klartextzeichen zuerst verschlüsselt und ausgegeben bis das nächste kommt und man spricht von einer Stromverschlüsselung. Dieser Algorithmus wird auch als Online-Algorithmus bezeichnet, denn die Zeichen werden übersetzt, ohne Kenntnis über die Zukunft, sprich der nachfolgenden Zeichen Anzahl der Schlüssel Die dritte Klassifizierung der Verschlüsselungsverfahren beruht auf der Anzahl Schlüssel. Ein symmetrisches Verfahren braucht nur einen Schlüssel, wobei bei einem asymmetrischen zwei benötigt werden. Beide Verfahren werden kurz im nächsten Abschnitt vorgestellt. Ausserdem gibt es noch ein hybrides Verschlüsselungsverfahren, bei welchem zuerst ein geheimer Schlüssel generiert wird, welcher dann mit dem Public-Key-Verfahren verschlüsselt und dem Empfänger übergeben wird. Die Nachricht wird dann symmetrisch mit dem übergebenen Schlüssel verschlüsselt. 2.2 Symmetrische Verschlüsselungsverfahren Symmetrische Verschlüsselungsverfahren nennt man auch Secret-Key-Verfahren, da der Sender und Empfänger nur einen geheimen Schlüssel austauschen. Sprich, zum Verschlüsselung und Entschlüsseln existiert nur ein Schlüssel. Ein Beispiel: Cäsar-Chiffre: Dieses Verschlüsselungsverfahren basiert darauf, dass die Klartextzeichen um drei Zeichen im Alphabet verschoben werden. a wird zu d, b zu e usw. Diese Chiffrierung lässt sich sehr einfach berechnen: Chiffre(x) = (x + 3) mod 26 Weiter können symmetrische Verschlüsselungsverfahren in monoalphabetische und polyalphabetische Chiffre unterschieden werden. Im Vergleich zur Cäsar-Chiffre, werden bei den mono- und polyalphabetischen Chiffren die Reihenfolge der Ersetzungszeichen nicht mehr bestimmt (sprich nach dem Alphabet). Bei der monoalphabetischen Chiffre existiert für jedes Klartextzeichen ein Geheimtextzeichen. Der Entzifferung dient z.b. eine Häufigkeitsanalyse. Bei der polyalphabetischen Chiffre wird ein Klartextzeichen nicht immer durch das gleiche Geheimtextzeichen ersetzt es existiert mehr als ein Geheimtextzeichen für ein Klartextzeichen. Eine weitere Möglichkeit ist die Transpositionsverschlüsselung, die mathematisch auf der Permutation beruht. Man vertauscht hierbei z.b. das erste Zeichen mit dem Fünften, das zweite mit dem Achten usw. 2.3 Asymmetrische Verschlüsselungsverfahren Die Idee eines asymmetrischen Verschlüsselungsverfahrens kam in den 70er Jahren auf und wurde von Diffie und Hellmann sowie Ralph Merkle entwickelt. Ein bekanntes asymmetrisches Verschlüsselungsverfahren ist das RSA-Verfahren, welches im nächsten Kapitel vorgestellt wird. Es wird auch Public-Key-Verfahren genannt, da Sender und Empfänger je zwei Schlüssel besitzen einen öffentlichen und einen geheimen. 4

35 Sicherheit und Privatsphäre in Datenbanksystemen - Thema 2: Verschlüsselung 3 Das RSA-Kryptosystem Das RSA-Kryptosystem wurde nach seinen Entdeckern Ronald Rivest, Adi Shamir und Leonard Adleman benannt und 1978 publiziert. Das Verfahren kann zur Verschlüsselung und Erzeugung digitaler Signaturen verwendet werden. 3.1 Das Public-Key-Verfahren Beim Public-Key-Verfahren brauchen der Absender, sowie der Empfänger zwei zusammengehörende Schlüssel, je zum Ver- und Entschlüsseln. Der Verschlüsselungsschlüssel des Empfängers ist öffentlich. Deshalb nennt man dieses Verfahren auch Public-Key- Verfahren. Der Verschlüsselungsschlüssel entspricht dem Public-Key, sprich dem öffentlichen Schlüssel. Der Schlüssel zum Entschlüsseln einer Nachricht ist hingegen privat. Damit die Sicherheit gegeben ist, gilt es einige Bedingungen zu befolgen. Zum einen darf man den privaten Schlüssel nicht aus dem öffentlichen Schlüssel ableiten können. Zum anderen darf ein Geheimtext nicht mit Hilfe eines öffentlichen Schlüssels entschlüsselt werden können. Somit können alle Benutzer die gleiche Methode anwenden. Die Sicherheit des Verfahrens beruht auf der Sicherheit der Schlüssel. Bedingungen gemäss [Eckert (2012, S. 248)] : Ausgang der Bedingungen liefert ein kryptografisches System KS bestehend aus M (Nachricht/Message), E (Verschlüsselungsfunktion), D (Entschlüsselungsfunktion), sowie den Schlüsselpaaren KE, KD. 1. Schlüsselpaare (KE, KD) müssen leicht und effizient zu erzeugen sein, wobei KE öffentlich bekannt sein darf. Für alle M gilt D(E(M, KE), KD) = M 2. E und D müssen wie die Schlüsselpaare effizient zu berechnen sein. 3. KD ist nicht aus KE mit vertretbarem Aufwand berechenbar. Die Programmierung der Entschlüsselung wird durch die Veröffentlichung des Public Keys nicht preisgegeben. 4. Gilt folgende Eigenschaft, so ist das Kryptosystem auch zur Erstellung digitaler Unterschriften benutzbar. Für alle M gelte: E(D(M, KD), KE) = D(E(M, KE), KD) = M 3.3 Signaturen Signaturen werden gebraucht, um dem -Verkehr eine Unterschrift beizufügen. Für eine Signatur müssen die vier oben genannten Bedingungen erfüllt sein. Als Beispiel nehmen wir die bekannten Figuren Bob und Alice. Bob will Alice eine signierte Nachricht senden. S = Signatur, M = Nachricht, C = Geheimtext, DB = Entschlüsselungsschlüssel Bob, DA = Entschlüsselungsschlüssel Alice, EB = Verschlüsselungsschlüssel Bob, EA = Verschlüsselungsschlüssel Alice 5

36 Sicherheit und Privatsphäre in Datenbanksystemen - Thema 2: Verschlüsselung Zuerst muss Bob sich eine Signatur für den Klartext erstellen: S = DB(M) Dann verschlüsselt Bob die Signatur S mit dem Verschlüsselungsschlüssel von Alice: EA(S) Die verschlüsselte Signatur sendet Bob an Alice. Er braucht den Klartext nicht mitzuschicken, da dieser bereits in S vorhanden ist. Alice öffnet nun die verschlüsselte Signatur, sprich den Geheimtext (C). C entschlüsselt sie mit ihrem Entschlüsselungsschlüssel DA, was die Signatur S ergibt: DA(C) = S Nun weiβ Alice, dass die Nachricht von Bob stammt. Mit Hilfe des Verschlüsselungsschlüssels von Bob kann sie die Nachricht M extrahieren: M = EB(S). Bob kann nun nicht mehr abstreiten, diese Nachricht geschickt zu haben, denn Alice besitzt das Nachrichten-Unterschrift Paar (M, S). Alice kann die Nachricht hingegen auch nicht verändern, denn sonst müsste sie auch eine Signatur S erstellen, wozu sie natürlich ohne den Entschlüsselungsschlüssel von Bob nicht in der Lage ist. Eine Signatur zeigt die Authentizität einer Nachricht, da nur der Sender seinen privaten Schlüssel kennt und die Nachricht damit unterschreiben kann. Eine mit einer Signatur versehene Nachricht kann später nicht mehr verändert werden die spezifische Signatur kann nicht für eine andere Nachricht verwendet werden. Zudem ist die signierte Nachricht ein Beweis dafür, von wem die Nachricht stammt. Dies kann nicht widerrufen werden. 3.4 Das RSA-Verfahren/RSA-Algorithmus Die Nachricht M muss zuerst als Integer zwischen 0 und n-1 dargestellt werden. Dies ist notwendig, denn für die Verschlüsselung muss die Nachricht in numerischer Form vorliegen. Mit diesem Verfahren können nur Nachrichten verschlüsselt werden, die kleiner als n sind, wird eine Nachricht länger, so muss sie in Blöcke geteilt werden. Die Nachricht wird mit dem Verschlüsseln nicht grösser. Der Klartext, sowie der Geheimtext sind Integer zwischen 0 und n-1. Die Nachricht wird damit verschlüsselt, dass man sie in die e-te Potenz modulo n setzt. C E(M) M e (mod n) Verschlüsselung der Nachricht (Klartext) M D(C) C d (mod n) Entschlüsselung des Geheimtextes (ciphertext) C Untenstehend eine grobe Abfolge der Funktionsweise. Im Unterkapitel 3.8 ist ein Beispiel zu finden: 1. Zuerst wird n (RSA-Modul) erzeugt. Dazu müssen zwei groβe Primzahlen p und q zufällig bestimmt werden. = 2. Im nächsten Schritt wird d bestimmt, so dass a) d ein Integer zwischen 0 und n-1 ist und 6

37 Sicherheit und Privatsphäre in Datenbanksystemen - Thema 2: Verschlüsselung b) d relativ prim, sprich teilerfremd zu φ(n) ist 2, was dem entspricht, dass der ggt( 1 1, ) = 1 ist. Dies ist bei jeder Primzahl gegeben, welche gröβer ist als max,. 3. Für den öffentlichen Schlüssel fehlt noch e: Wie d, ist auch e ist ein Integer zwischen 0 und n-1, mit 1 1 = 1. Anders gesagt, e ist multiplikative Inverse modulo (p 1)(q 1) zu d. Für die Berechnung [Rivest et al. (1978, S. 10)] von e wird der euklidische Algorithmus gebraucht um den ggt von φ(n) und d zu berechnen mit x0 φ(n), x1 = d, xi+ 1 xi-1 (mod xi) bis ein xk gefunden wird, das null ist. Danach muss der ggt(x0, x1) = xk-1 bestimmt werden. Für jedes xi werden Zahlen ai und bi berechnet, so dass xi = ai * x0 + bi * x1 ist. Wenn xk-1 = 1 ist, dann ist bk-1 die multiplikative Inverse von x1 (mod x0). 4. Nun entspricht (e, n) dem öffentlichen Schlüssel und 5. (d, n) dem geheimen Schlüssel. Die Ver- und Entschlüsselung eines Textes kann nun wie oben beschrieben durchgeführt werden. Nimmt man die Formeln von oben zusammen, so gilt = Dieses Verfahren kann auch für Signaturen eingesetzt werden, wie im Unterkapitel 3.3 beschrieben: = 3.5 Gröβen beim RSA-Verfahren Heutzutage gilt ein Schlüssel von 2048 Bit (617 Dezimalstellen) als sicher. Die Länge des Schlüssels wird an der Anzahl Speicherbits gemessen, die ein Computer braucht, um diesen Wert darzustellen. Die Gröβe von n wirkt sich direkt auf die Sicherheit des RSA-Verfahrens aus. Je gröβer n ist, desto sicherer ist das Verfahren, denn umso länger ist die Berechnungszeit. Die Faktorisierung von einem 512-Bit RSA-Modul gelang im Jahre Der Aufwand betrug gut 7 Monate und wurde mit einem Cray C916 Supercomputer, sowie mit über 300 Workstations und PCs erreicht [Eckert (2012, S. 357)]. Die Primzahlen p und q sollten zudem mindestens eine Gröβe einer 100-stelligen Dezimalzahl haben, so dass das Modul n mindestens eine 200-stellige Dezimalzahl wird [Schneier ( 1996, S. 467)]. Die Primzahlen sollten aber auch verschieden lang sein, denn gleich lange Primzahlen sind einfacher zu faktorisieren. 2 φ(n) = 1 1 ist die Eulersche Phi-Funktion, welche für eine natürliche Zahl n angibt, wie viele teilerfremde natürliche Zahlen es zu n gibt, die positiv, aber nicht gröβer als n sind. 7

38 Sicherheit und Privatsphäre in Datenbanksystemen - Thema 2: Verschlüsselung 3.6 Primzahlen Die Primzahlen sollen zufällig gewählt werden, unabhängig von der vorherig gewählten Primzahl und alle Primzahlen sollen gleich wahrscheinlich gewählt werden. Am Rechner kann man solche Zufallszahlen hingegen nicht echt simulieren. Also nimmt man eine ungerade Zahl n0 und testet, ob n0, n0 + 2, n0 + 4 eine Primzahl ist. Man entscheidet sich dann für die Primzahl, welche gröβer oder gleich n0 ist. Für diese Aufgabe braucht man einen Primzahltest. Bei solchen Tests wird eine Zahl n getestet. Besteht n den Test nicht, so handelt es sich dabei um eine zusammengesetzt Zahl und somit nicht um eine Primzahl. Besteht n hingegen den Test, so ist noch nicht gegeben, dass n auch wirklich eine Primzahl ist. Hierbei seien folgende Primzahltests erwähnt, die in [Hartlieb und Unger (2014, S )] und [Stinson ( 1995, S )] nachgelesen werden können: Der Fermat-Test, welcher auf dem kleinen Satz von Fermat beruht Der Solovay-Strassen-Test ist ein Monte-Carlo-Algorithmus. Damit ist gemeint, dass der Test nur mit einer gewissen Wahrscheinlichkeit eine Aussage trifft. Wiederholt man hingegen den Test, so ist eine Vergröβerung der Wahrscheinlichkeit möglich [Wikipedia: Monte-Carlo-Algorithmus]. Der Rabin-Miller-Test ist wie der Solovay-Strassen-Test ein Monte-Carlo- Algorithmus. 3.7 Beispiel Nun folgt ein kleines Beispiel, wie man mit dem eben vorgestellten Verschlüsselungsverfahren eine Nachricht verschlüsseln und entschlüsseln kann. Primzahl p = 29 Primzahl q = 43 Somit wird n = pq berechnet: 9 3 = 1 φ(n) = (p 1)(q 1) = 1176 Nun muss d gewählt werden, so das gilt ggt(d, φ(n)) = 1 d = 107 Der nächste Schritt berechnet das zu d inverse Element e: x0 = φ(n) = 1176 a0 = 1 b0 = = x1 = d = 107 a1 = 0 b1 = = x2 = x0 mod x1 = 106 a2 = 1 b2 = = x3 = x1 mod x2 = 1 a3 = -1 b3 = 11 1 = Nun soll das Wort Datenbanksystem verschlüsselt werden. Mit n = 1247 kann man zwei Buchstaben pro Block kodieren mit A = 00, B = 01 usw : e = 11, sprich im binären System = 1011 Die Blöcke werden folgendermaβen verschlüsselt: 8

39 Sicherheit und Privatsphäre in Datenbanksystemen - Thema 2: Verschlüsselung 1 = = 1 usw Die Entschlüsselung geht folgendermaβen: 1 = = 1 usw Sicherheit des RSA-Verfahrens Es konnten keine grundlegenden Schwachstellen gefunden werden, doch auch die Sicherheit ist nicht bewiesen. Die Sicherheit basiert darauf, dass eine Faktorisierung (sprich Primfaktorenzerlegung) von groβen Zahlen sehr schwer und aufwändig ist. Natürlich basiert die Sicherheit auch auf der Geheimhaltung der Werte p, q und (p 1)(q 1). Ein Sicherheitsproblem bleibt jedoch bestehen. Die öffentlichen Schlüssel sind für jeden zugänglich. Werden die Primzahlen hingegen groβ genug gewählt, so ist es für einen Angreifer kaum möglich in akzeptabler Zeit die Berechnung des privaten Schlüssels aus dem öffentlichen Schlüssel durchzuführen. 3.9 Aktuell Das RSA-Verfahren war in den USA patentiert. Inzwischen (seit dem ) ist das Patent abgelaufen. Bei speziellen RSA-Challenges wird versucht, speziell vorgegebene Zahlen zu faktorisieren. Hiermit wird herausgefunden, wie groβ die Schlüssellänge gewählt werden muss, damit das RSA-Verfahren noch als sicher gilt. Diese Challenge existiert seit 1991 und wurde 2007 beendet, als eine 1039-Bit-Zahl (312 Dezimalstellen) erfolgreich faktorisiert wurde. Inzwischen gibt es auch Verfahren, die die gleiche Sicherheit wie die eines RSA-Verfahrens aufweisen, aber mit deutlich geringerer Schlüssellänge auskommen. Die Grundlage solcher Verfahren ist die mathematische Theorie elliptischer Kurven, auf die ich hier nicht weiter eingehe. Es sei verwiesen auf [Hartlieb und Unger (2014, Kurseinheit 6)]. 9

40 Sicherheit und Privatsphäre in Datenbanksystemen - Thema 2: Verschlüsselung 4 OPES Order Preserving Encryption Scheme zu Deutsch ordnungserhaltendes Verschlüsselungsschema wurde entwickelt, um auch die Bereichssuche in verschlüsselten Datenbanken effizient durchführen zu können. Angenommen eine Spalte einer Tabelle enthält verschlüsselte Informationen. Würden diese Informationen bei einer Abfrage (Query) mit einem Vergleichsoperator gebraucht, so bräuchte es bei den existierenden Verschlüsselungstechniken einen gesamten Tabellenscan, denn Datenbankindexe wie B- Bäume können nicht mehr dienen, da die Reihenfolge nicht beibehalten wurde. Dies verursacht erhebliche Leistungseinbuβen. 4.1 Grundlagen und Konzept Die Grundidee von OPES ist als Input eine vom Benutzer bereitgestellte Zielverteilung zu nehmen und die Klartextwerte in solch einer Weise zu transformieren, dass die Transformation die Reihenfolge beibehält, während die transformierten Werte der Zielverteilung folgen [Agrawal et al. (2004)]. Es wird von einer Datenbank ausgegangen, die aus einzelnen Tabellen besteht, welche ihrerseits aus einer einzigen Spalte bestehen, wobei der Spaltenbereich als Teilmenge von Integer-Werten besteht. Die Klar- und Geheimtextwerte werden folgendermaβen dargestellt: Klartextwerte (engl. plaintext): P = p1, p2,, p p, pi < pi+ 1 Geheimtextwerte (engl. ciphertext): C = c1, c2,, c p, ci < ci+ 1 OPES bietet die Möglichkeit Vergleichsoperatoren bei Abfragen anzuwenden, ohne damit verknüpfte Werte vorher entschlüsseln zu müssen. Tabelle 1 stellt eine Auflistung dar, welche Operatoren anwendbar sind und welche eine Entschlüsselung benötigen. Entschlüsselung nicht notwendig Entschlüsselung notwendig Gleichheit = SUM Bereich < > AVG MIN, MAX COUNT GROUP BY ORDER BY Tabelle 1 Operatoren mit und ohne Entschlüsselung OPES bietet den Vorteil, dass es sehr einfach in bereits existierende Datenbanksysteme integriert werden kann und dort somit auch die Indexstrukturen beibehalten werden können. Wird ein Wert einer Spalte verändert oder gar ein neuer eingeführt, so kann diese Änderung vorgenommen werden, ohne dass Änderungen in der Verschlüsselung von anderen Daten notwendig sind. Die erhaltenen Resultate von Abfrageprozessen, welche mit OPES verschlüsselt wurden sind sehr genau. Anfällig für Angriffe ist vor allem das Speicherungssystem der Datenbanksoftware. Ein Angriff kann im Extremfall physisch geschehen, indem das Speichermedium entfernt wird, hingegen 10

41 Sicherheit und Privatsphäre in Datenbanksystemen - Thema 2: Verschlüsselung ist auch ein virtueller Angriff möglich. Der Angreifer kann sich Zugang zu Datenbankdateien verschaffen in dem er den Pfad der Datenbanksoftware umgeht. Als Voraussetzung dieser Ausarbeitung wird der Datenbanksoftware vertraut um Abfragekonstanten zu verschlüsseln und umgekehrt Abfrageresultate wieder zu entschlüsseln. Ein Gegner kann hingegen keinen Zugang zu Werten des Hauptspeichers einer Datenbanksoftware erlangen. Speicherresidente Daten gelten immer als verschlüsselt. Im folgenden Abschnitt wird der dazugehörende Algorithmus kurz erläutert: Von einer benutzerspezifischen Zielverteilung werden zuerst P eindeutige Werte generiert und anschliessend in der Tabelle T sortiert. ci = T[i] stellen die verschlüsselten Werte ci von pi dar. Dieser Wert entspricht also dem i-ten Klartextwert in der sortierten Liste von P Klartextwerten, welcher verschlüsselt wird in den i-ten Wert der sortierten Liste von P Werten, welche von der Zielverteilung vorgegeben wurden. Hier entspricht T dem Verschlüsselungsschüssel, welcher natürlich geheim gehalten werden muss. Vorteile: Da die verschlüsselten Werte nur durch die benutzerspezifische Zielverteilung, aber ohne Gebrauch von Informationen der Originalverteilung generiert wurden, werden keine Informationen über die Originalwerte ausser der Reihenfolge preisgegeben. Dies gibt die Sicherheit, dass auch wenn ein Gegner alle verschlüsselten Werte kennt, er trotzdem nicht auf T schliessen kann. Nachteile: Trotz aller Vorteile kommen auch Schwächen zum Vorschein. Zum einen ist die Gröβe der Verschlüsselungsschlüssel doppelt so groβ wie die Anzahl der einzelnen Werte der Datenbank. Zum anderen sind Updates nicht ganz unproblematisch. Möchte man einen neuen Wert p hinzufügen, wobei pi < p < pi+ 1 gilt, so müssen auch alle pj, j > i neu verschlüsselt werden Phasen Vorgehen bei der Verschlüsselung einer gegebenen Datenbank P: Gegeben sei eine Datenbank P mit Klartextwerten, welche verschlüsselt werden soll. Am Ende wird nur die verschlüsselte Datenbank C auf der Festplatte gespeichert. Damit OPES die Verschlüsselung vornehmen kann, werden alle Klartextwerte benötigt, welche P repräsentieren, sowie eine Datenbank mit Musterwerten der Zielverteilung. Im Zuge der Verschlüsselung wird gleich eine Zusatz-/Hilfsinformation K kreiert, welche dann dem Datenbanksystem der Verschlüsselung von neuen Werten, sowie der Entschlüsselung von kodierten Werten dient. Wie T im letzten Abschnitt, übernimmt hier K die Funktion des geheimen Verschlüsselungsschlüssels. In [Agrawal et al. (2004, 3.2)] wurde der Arbeitsprozess von OPES in drei Phasen vorgestellt, welche in den Unterkapitel genauer unter die Lupe genommen werden: 1. Model: In der ersten Phase werden der Input sowie die Zielverteilung als stückweislineare Splines modelliert. 11

42 Sicherheit und Privatsphäre in Datenbanksystemen - Thema 2: Verschlüsselung 2. Flatten: Danach wird die Klartextdatenbank P in eine flache Datenbank 3 F transformiert, so dass die Werte in F gleichmässig verteilt werden. 3. Transform: Im letzten Schritt wird die Flat-Datenbank F in eine verschlüsselte (Cipher- ) Datenbank C transformiert, so dass die Werte in C gemäss der Zielverteilung verteilt werden. Es gelte im Allgemeinen: pi < pj fi < fj ci < cj 4.2 Model Die Techniken für die Modellierung der Datenverteilung kann grob in drei Kategorien [König und Weikum (1999, S. 425)] aufgeteilt werden. Die Histogramm-basierte Technik: Histogramme ist die am häufigsten gebrauchte Form für Datensynopsis in der Anwendung und findet vor allem in DB2, Oracle, Microsoft SQL Server und anderen seine Anwendung. Die Werteverteilung bei Histogrammen geschieht durch Annäherung der Gruppierung von Attributwerten in Buckets, sowie der Abschätzung der richtigen Attributwerte. Die Häufigkeit basiert auf der Annahme der gleichmäβigen Verteilung in die Buckets. Die parametrische Technik: Bei der parametrischen Technik erfolgt die Werteverteilung durch Annäherung und unter Berücksichtigung einer limitierten Anzahl von freien Parametern mit Hilfe einer mathematischen Verteilfunktion. Die Werte für diese Parameter werden so ausgesucht, dass sie zur aktuellen Verteilung passen. Wenn das Modell dann eine passende Verteilung aufweist, ergibt dies eine genaue und kompakte Annäherung. Die Sampling-Technik: Die Sampling-Technik berechnet ihre Schätzungen durch das Sammeln und Verarbeiten der Zufallsproben von Daten. Eine hohe Genauigkeit und Wahrscheinlichkeit garantieren die Qualität der Schätzung. Im Folgenden wird von einer Kombination einer Histogramm-basierten, sowie parametrischen Technik ausgegangen. Hierbei werden zuerst die Datenwerte in Buckets verteilt, danach folgt die Modellierung der Verteilung innerhalb jedes Buckets als lineare Spline. Unter der Spline versteht man die Linie, die die Dichte von den zwei Endpunkten eines Buckets verbindet. Für die Bestimmung der Anzahl Buckets wird das Minimum Description Length (MDL) Prinzip verwendet, welches von J. Rissanen in [Rissanen (1983)] und [Grünwald (1998)] detailliert beschrieben wird. Die Bucket-Grenzen werden durch zwei Phasen bestimmt die Wachstumsphase und die Reduzierungsphase. 3 Eine flache Datenbank bezeichnet eine Datenbank, welche keine komplexen Beziehungen zwischen Entitäten machen kann, wie es relationale Datenbanken haben. Solche flache Datenbanken werden nur für kleine einfache Datenbanken benutzt, wie eine Kontaktliste eines Handys. 12

43 Sicherheit und Privatsphäre in Datenbanksystemen - Thema 2: Verschlüsselung Growth Phase - Wachstumsphase In der Wachstumsphase ist der Raum rekursiv in feinere Partitionen gesplittet. Jede weitere Partitionierung eines Buckets reduziert die Maximalabweichung der Dichtefunktion innerhalb der neugeformten Buckets im Vergleich zu ihren Elternbuckets. Gegeben sei ein Bucket [pl, ph) mit h l 1 sortierten Punkten {pl+1, pl+2,, ph-1}. Festgelegt wird zudem eine Grenze der Anzahl Punkte für die Beendigung der Bucketteilung. Vorgehen: 1. Eine lineare Spline ist für den gegebenen Bucket zu finden. 2. Für jeden Punkt ps im Bucket ist seinen Erwartungswert zu berechnen, falls die Punkte gemäβ der durch die lineare Spline modellierte Dichtenverteilung verteilt wurden. 3. Der Bucket wird an dem Punkt gesplittet, welcher die gröβte Abweichung vom Erwartungswert hat. 4. Die Teilung der Buckets wird dann beendet, wenn die Anzahl von Punkten kleiner als die vorher festgelegte Grenze ist Prune Phase Reduzierungsphase/Verschmelzung In der Reduzierungsphase werden einige Buckets reduziert, sprich in gröβere Buckets verschmolzen. Die Idee dahinter ist, die Anzahl der Buckets zu verkleinern, aber gleichzeitig die Werte innerhalb der Buckets nach dem Abbilden gleichmässig verteilt zu haben. Um diese Balance zu erreichen wird wiederum das Minimum Description Length Prinzip von J. Rissanen gebraucht. Um die Berechnung von lokalen und globalen Vorteilen (benefits) zu verstehen, müssen die Begriffe DataCost und IncrModelCost geklärt werden: DataCost(p1, p2) = Kosten für die Beschreibung der Daten im Intervall [p1, p2) IncrModelCost = Zunahme der Modellierungskosten wegen der Partitionierung von einem Bucket in zwei Für die Reduzierungsphase benötigt man die Berechnung des lokalen, sowie globalen Vorteils. Als LB wird der lokale Vorteil bezeichnet (engl. local benefit). Er wird bei der Teilung eines Buckets am Punkt ps wie folgt berechnet: LB(pl, ph) = DataCosdt(pl, ph) DataCost(pl, ps) DataCost(ps, ph) IncrModelCost Weiter wird der globale Vorteil (GB) berechnet, der bei der Teilung eines Buckets am Punkt ps entsteht und weitere Vorteile von zukünftigen rekursiven Teilungen ermöglicht. GB(pl, ph) = LB(pl, ph) + GB(pl, ps)+gb(ps, ph) Ist GB > 0, so wird die Teilung beibehalten und die Buckets werden nicht verschmolzen. In allen anderen Fällen wird die Teilung bei ps und alle anderen Teilungen in [pl, ph) reduziert/verschmolzen. Die Berechnungen erfolgen bottom up, sprich von unten nach oben. Dies induziert lineare Kosten zur Anzahl Teilungen. Der Grund für die getrennte Behandlung (und nicht der Beendigung der Bucketteilung wenn LB ) der Wachstums- und Reduzierungsphase liegt darin, dass der Vorteil der Partitionierung erst bei einer feingliedrigen Granularität zum Vorschein kommt und es oft 13

44 Sicherheit und Privatsphäre in Datenbanksystemen - Thema 2: Verschlüsselung vorkommt, dass der lokale Vorteil kleiner Null ist, auch wenn der globale Vorteil weit gröβer als null ist. 4.3 Flatten In der Flatten-Etappe geht es darum den Klartextbucket B in einen Bucket B f im abgeflachten Raum so abzubilden, dass die Länge von B f proportional zur Anzahl Werte in B ist. Dies bewirkt eine Streckung der dichten Klartextbuckets und eine Komprimierung der dünnen Buckets. Die erste Phase, der Modellierungsphase erbrachte einen Satz von Buckets {B1,, Bm}. Für jeden dieser Buckets existiert eine Abbildungsfunktion M, welche durch zwei Parameter charakterisiert wird, einerseits durch den quadratischen Koeffizienten s, andererseits durch den Skalierungsfaktor z. In die Datenstruktur K f wird wie oben geschrieben, m+1 Bucketgrenzen, m quadratische Koeffizienten und m Skalierungsfaktoren gespeichert. Diese Datenstruktur wird gebraucht um die neuen Klartextwerte zu verflachen (verschlüsseln) und sie allenfalls wieder zu entflachen (entschlüsseln). Dementsprechend nimmt K f die Funktion des Verschlüsselungsschlüssels ein. Dieser Verschlüsselungsschlüssel wird nur zum Zeitpunkt der initialen Verschlüsselung der Datenbank berechnet und wird danach nicht mehr erneuert, auch nicht, wenn der Datenbank neue Werte übergeben werden. Dies ermöglicht die stufenweise Updatemöglichkeit, die OPES auszeichnet. Möchte man einen Klartextwert p abflachen, so muss zuerst ein Bucket Bi bestimmt werden, in welchen p fällt. Dies geschieht mit Hilfe der Bucketgrenzen, welche in K f gespeichert sind. Ist aus dem Flattextwert wieder den Klartextwert herzustellen, so braucht man die Informationen, welche in K f gespeichert sind, um den flache Bucket B f i zu bestimmen, welches angibt, wo der Flatwert f liegt. Auf ihn kann dann die inverse Abbildungsfunktion 4 M -1 angewendet werden. 4.4 Transform Die Transformationsphase spielt sich ähnlich ab, wie die Flatten-Phase. Ist ein gleichmässig verteilter Satz von Flat-Werten gegeben, so ist das Ziel, ihn in eine Zielverteilung abzubilden. Abbildung 3 Zielverteilung, Schritte 1-3 [Agrawal et al. (2004)] 4 1 = ± 2 +4 wobei z dem Skalierungsfaktor und s dem quadratischen Koeffizienten entspricht [Agrawal et al. 2004, Punkt 5.5] 14

45 Sicherheit und Privatsphäre in Datenbanksystemen - Thema 2: Verschlüsselung 1. Als Erstes erfolgt die Berechnung der Buckets, welche für die Transformation der Klartextverteilung in die abgeflachte Verteilung benötigt werden. 2. Die Bucketverteilung in der Zielverteilung wird unabhängig von der Bucketverteilung der Klartextverteilung vorgenommen. Aus der Zielverteilung werden die Buckets für die abgeflachte Verteilung berechnet. 3. Dann wird die Zielverteilung, sowie die abgeflachte Zielverteilung so skaliert, dass die Breite der gleichmässigen Verteilung, welche durch Abflachung der skalierten Zielverteilung generiert wurde, gleich der Breite der gleichmässigen Verteilung ist, welche durch Abflachung der Klartextverteilung generiert wurde (Schritt 1). Durch die Modellierung der Zielverteilung wird ein Satz von Buckets {B t 1,, B t k} erzeugt. Für jeden Bucket B t der Länge w t, wird zudem die Abbildungsfunktion M t und die damit assoziierten Parameter der quadratische Koeffizient s t und der Skalierungsfaktor z t erschaffen. Die Gröβe des Verschlüsselungsschlüssels K ist abhängig von der Anzahl Buckets, welche für die Partitionierung und Verteilung gebraucht werden. Die gröβte Gröβe liegt bei ca. dreimal der Anzahl von Buckets. 5 Fazit In dieser Ausarbeitung wurden nach einer kurzen Einführung und Erläuterung der Verschlüsselung die Verschlüsselungsverfahren RSA und OPES behandelt. Ein Verschlüsselungsverfahren gilt so lange als sicher, bis es gebrochen wurde. Das RSA- Verschlüsselungsverfahren zu knacken ist mindestens so schwierig wie die Faktorisierung von n. Die bekannten Faktorisierungsalgorithmen stammen von Fermat und Legendre. Bis jetzt wurde aber noch kein Algorithmus gefunden, der eine 200-stellige Zahl in einer vernünftigen Zeit faktorisieren kann. Sobald hingegen ein Algorithmus für die Faktorisierung einer x- stelligen Zahl herausgefunden wird, gilt das RSA-Verfahren vermutlich nicht mehr als sicher, denn die Sicherheit des RSA-Verfahrens basiert auf der Schwierigkeit der Faktorisierung von groβen Zahlen. OPES erlaubt den Gebrauch von Datenbankindizes wie B-Bäume zur Beantwortung von Query-Anfragen mit Vergleichsoperatoren welche direkt an der verschlüsselten numerischen Spalte angewendet werden können. Auch können neue Werte hinzugefügt oder alte Werte verändert werden, ohne eine Änderung in der Verschlüsselung der anderen Werte vornehmen zu müssen. OPES bezieht sich bis jetzt nur auf numerische Daten, was in Zukunft auch auf nicht-numerische Daten mit variabler String-Länge ausgeweitet werden soll. 15

46 Sicherheit und Privatsphäre in Datenbanksystemen - Thema 2: Verschlüsselung 6 Literaturverzeichnis Agrawal, Rakesh; Kiernan, Jerry; Srikant, Ramakrishnan; Xu, Yirong (2004): Order Preserving Encryption for Numeric Data. Eckert, Claudia (2012): IT-Sicherheit. Konzepte, Verfahren, Protokolle. 7., überarb. und erw. Aufl. München: Oldenbourg. Grünwald, Peter (1998): Introducing the Minimum Description Length Principle. Hartlieb, Silke; Unger, Luise (2014): Mathematische Grundlagen der Kryptografie: FernUniversität in Hagen. König, Arnd Christian; Weikum, Gerhard (1999): Combining Histograms and Parametric Curve Fitting for Feedback-Driven Query Result-Size Estimation. In Proc. of the 25th Int'l Conference on Very Large Databases. Edinburgh, Scottland, S Rissanen, Jorma (1983): A Universal Prior for Integers and Estimations by Minimum Description Length. In: The Annals of Statistics, Institut of Mathematical Statistics (Vol. 11, No. 2), S Rivest, R. L.; Shamir, A.; Adleman L. (1978): A Method for Obaining Digital Signatures and Public Key Cryptosystems. Schlageter, Gunter (2013): Datenbanksysteme / Datenbanken I: FernUniversität in Hagen. Schlageter, Gunter; Wilkes, Wolfgang; Balzer, Michael (2013): Datenbanksysteme / Datenbanken II. Fortgeschrittene Konzepte und Realisierungsaspekte: FernUniversität in Hagen. Schneier, Bruce (1996): Applied cryptography. Protocols, algorithms, and source code in C. 2nd ed. New York: Wiley. Stinson, Douglas R. (1995): Cryptography. Theory and practice. Boca Raton: CRC Press (The CRC Press series on discrete mathematics and its applications). Wikipedia: Monte-Carlo-Algorithmus. Online verfügbar unter zuletzt geprüft am Wohlfeil, Stefan (2013): Sicherheit im Internet: FernUniversität in Hagen. 16

47 SSeminar SEM INARABEIT- PRIVATSPHÄRE M ESSEN Seminar 1912/ Sicherheit und Privat sphäre in Datenbanksystemen, WS 2014/ 2015, Fernuniversität Hagen Von Thomas Kontny

48 Seminararbeit Thema 4, Privatsphäre messen von Thomas Kontny, WS 2014 / 2015 INHALT I.) Einleitung:... 2 II.) M ulti-level-datenbanken / / M ultiple Queries... 4 III.) Definition des M odells der k-anonymität sowie Schwächen des M odells ) Definition des M odells ) Definition QI ) Das k-anonymitätsmodell: ) Schwachstellen und Attackenpotential des M odells... 7 IV.) Definition/ Vorgehensweise der Generalisierungs-und Anonymisierungstechniken für Tabellen mit privaten Attributen... 9 V.) Definition und Erklärung der Bayes-optimalen Privatsphäre ) Theorem 1: ) Grenzen der Bayes-optimalen Privatsphäre VI.) l-diversität: Eine praktikable Privatsphären Definition ) Das l-diversitätsprinzip ) Diversitätsprinzip 2: Fazit:

49 Seminararbeit Thema 4, Privatsphäre messen von Thomas Kontny, WS 2014 / 2015 I. ) EI N LEITU N G: Die folgende Ausarbeitung beschäftigt sich mit dem Thema Privatsphäre messen. Grundsätzlich ist die Frage zu stellen, warum überhaupt personenbezogene und private Daten veröffentlich werden müssen. Ein grundsätzliches Verbot von Veröffentlichung sensibler Daten, würde dieses Problem anscheinend lösen. Das erste Problem besteht darin festzustellen, welche Daten privat, vertraulich beziehungsweise sicherheitskritisch sind. Aus der Sicht des Datenhalters können Daten völlig unkritisch sein, jedoch aus der Sicht des Betroffenen (Person, Gruppe, Nation) könnten diese Daten schützenswert sein. Da es in der Regel keine direkte Kommunikation zwischen dem Datenhalter und den weiterführenden Verarbeitern gibt, muss der Datenhalter nach eigenem Ermessen die Entscheidung fällen, welche Daten veröffentlicht werden. Das andere Problem des Datenhalters liegt darin noch genug Information in den Daten zu belassen, dass diese überhaupt noch interessant für andere sind. Wenn zu viele sensible Informationen entfernt werden, kann die Datei/Tabelle/Datenbank unbrauchbar sein. Aufgrund dieses Qualitätsverlustes werden weitere Statistiken und Auswertungen zwecklos. Falls er kritische Daten veröffentlichen sollte, könnte er die Privatsphäre eines Einzelnen oder die Sicherheit Mehrerer gefährden. 1 Eine gängige Praxis für Organisationen liegt darin, für eingehende und ausgehende personenspezifische Daten alle offensichtlichen identifizierenden Attribute ( Identifier ) wie {Name}, {Adresse} und {Telefonnummer} zu entfernen. Dies geschieht auf der Annahme, dass Anonymität dadurch erzielt wird, da die Daten anonym aussehen. 2 Die übriggebliebene Datei kann jedoch durch Rückidentifizierung mittels Verbindung mit anderen Daten wieder personenbezogen hergestellt werden. In einer Studie zum U.S. Zensus von 1990 wurde herausgefunden, dass 87% der U.S amerikanischen Bevölkerung (216 Mio. von 248 Mio.) eindeutig durch ihre {Postleitzahl}(5-stellig), {Geschlecht} und durch ihr {Geburtsdatum}zugeordnet werden können. Daten, die diese Attribute enthalten, können daher nicht als anonym bezeichnet werden. Leider werden gerade gesundheitsspezifische Daten in dieser Form häufig veröffentlicht. 3 1 Sweeney, Latanya (2002): k-anonymity: A model for protecting privacy, International Journal on Uncertainty, Fuzziness and Knowledge-based systems, S.1. 2 Vgl. ebd., S.2. 3 Vgl. ebd., S

50 Seminararbeit Thema 4, Privatsphäre messen von Thomas Kontny, WS 2014 / 2015 Beispiel: GIC Datenbank in Verbindung mit Wählerlisten Im US-Bundesstaat Massachusetts ist die GROUP INSURANCE COMISSION (GIC) dafür verantwortlich, Krankenversicherungen für Staatsdiener zu erwerben. Zu diesem Zwecke sammelt die GIC patientenspezifische Daten mit annähernd hundert Attributen pro Betroffenen. Dies betrifft circa Staatsdiener und ihre Familien, die ebenfalls krankenversichert werden. Da man glaubte, dass diese Daten Anonymität garantieren, wurden Kopien an die Forschung und die Wirtschaft gegeben. Diese Datei in Verbindung mit der frei verfügbaren Wählerliste von Cambridge Massachusetts, die die Attribute {Name};{Adresse};{Postleitzahl};{Geburtsdatum}und {Geschlecht} enthält, kann über die Attribute {Postleitzahl}, {Geburtsdatum} sowie {Geschlecht} verbunden werden. Siehe Abbildung 1. ABBILDUNG 1 Über diese Verlinkung konnten bestimme Einzelpersonen lokalisiert werden und ihre jeweilige Krankengeschichte, Diagnosen, Medikationen und Heilpläne offenbart werden. Somit sind hochsensible und private Daten von über Menschen in öffentliche Hand geraten. Als berühmtes Beispiel kann der Gouverneur William Weld genannt werden, dessen Daten ebenfalls in der GIC Datenbank enthalten waren. Er lebt in Cambridge Massachusetts. Laut Wählerliste haben nur 6 Personen sein Geburtsdatum, nur 3 waren männlich und er war der einzige in seinem Postleitzahlengebiet. Das Beispiel zeigt, wie einfach eine Identifizierung durch mehrere angeblich nichtidentifizierende Attribute möglich ist. Je mehr Personen mit den gleichen Daten in der Datenbank inbegriffen sind, desto schwieriger wird eine Zuordnung. Die Angabe des genauen Geburtsdatums ist natürlich sehr einschränkend, es bleibt zu fragen, ob 3

51 Seminararbeit Thema 4, Privatsphäre messen von Thomas Kontny, WS 2014 / 2015 nicht die Angabe des Geburtsjahres bei einer Veröffentlichung der Daten ausreichen würde und die Weiterverwertbarkeit trotzdem nicht maßgeblich einschränkt. 4 II. ) M U LTI -LEVEL-DATEN BAN KEN / / M U LTIPLE Q U ERIES In sogenannte Multi-Level-Datenbanken (MDB Multilevel relational database system ) versucht man durch unterschiedliche Sicherheitsniveaus die Daten in unterschiedliche Sicherheitsklassen einzugruppieren und nur den jeweils angemessenen Empfängern freizuschalten. So möchte man garantieren, dass keine sicherheitskritischen Daten an den falschen Adressaten veröffentlicht werden. Durch Unterdrückung der sensiblen Daten werden alle personenbezogenen sowie rückschlussermöglichenden Daten einfach nicht veröffentlicht. Leider kann dies schlagartig zu Verschlechterung der Datenqualität sowie der Weiterverwendbarkeit für Statistiken und Analysen führen. Die große Herausforderung des Datenhalters liegt darin, so qualitativ hochwertige Daten wie möglich zu liefern, ohne dabei die Anonymität der Einzelnen zu gefährden und diese zu offenbaren. Die große Schwierigkeit liegt darin, dass es keine messbare Einheit für Privatsphäre gibt, es liegt im Ermessen des Datenhalters was schützenswert ist und was der Öffentlichkeit zugänglich gemacht werden soll. Zumal der Datenhalter auch nicht jeden eventuellen Angriff abschätzen kann, da er nicht o. E. weiß, welche Daten sonst bereits in öffentlicher Hand sind mittels derer eine genaue Zuordnung möglich wäre. Ebenfalls ist die Verjährung der Daten individuell einschätzbar, wie alt dürfen private Daten sein, damit sie problemlos veröffentlicht werden können? Da dies nicht eindeutig zu klären ist, sind MDBs kein probates Mittel, um die Privatsphäre zu schützen. Ähnlich ist die Vorgehensweise bei Mehrfachabfragen aus Datenbanken, die über Assoziation private Informationen offenbaren könnten. Eine Relation R(Arzt, Patient, Medikation) ist unsensibel solange nur die Verbindung Arzt Patient oder Arzt-Medikation abgefragt wird. Jedoch eine Abfrage Patient Medikation ist sehr sensibel, da man aufgrund der Medikation leicht auf die zu behandelnde Krankheit schließen kann. Daher werden sogenannte Abfrage-Restriktionen eingeführt, die bestimmte sensible Abfragemöglichkeiten unterdrücken. Da es aber aufgrund des immensen Anstiegs an personenrelevanten Daten kaum mehr zu überblicken ist, welche Abfragen über welche Daten Rückschlüsse auf 4 Vgl. ebd., S

52 Seminararbeit Thema 4, Privatsphäre messen von Thomas Kontny, WS 2014 / 2015 private, sensible Daten zulassen, ist dies auch kein probates Mittel, um die Privatsphäre zu schützen. 5 Die zu Verfügung gestellten Daten sollten daher schon im Vorhinein soweit ausreichend anonymisiert werden, dass auch Mehrfachabfragen keine privaten Daten offenbaren. III.) DEFIN ITION DES M ODELLS DER K-AN ON YM ITÄT SOW IE SCH W ÄCHEN DES M ODELLS 1.) DEFINITION DES M ODELLS: Definition 1: Sei B(A1,..,An) eine Tabelle mit einer endlichen Anzahl von Datensätzen (Tupel). Der gesamte Satz an Attributen von B sei {A1,.,An}. Die endgültige zu veröffentlichende Tabelle muss so aufgebaut und anonymisiert sein, dass es nicht möglich ist, durch Hinzuziehen von anderen Datenquellen personenspezifische Informationen zu offenbaren und diese genau einer Person zuzuordnen. Der Datenhalter muss alle risikoreichen Attribute Ai lokalisieren, die zu einem Rückschluss auf bestimmte Personen benutzt werden könnten. Hierzu gehören nicht nur die offensichtlichen Attribute wie {Name}, {Adresse} oder {Telefonnummer}, sondern auch diese, die in Kombination mit externen Datenquellen als indirekte Identifikationsattribute fungieren können ({Geburtsdatum} oder {Geschlecht}). Diese nennen wir Quasi-Identifizierer (kurz: QI). 6 2.) DEFIN ITION QI Definition 2: Bezogen auf das vorgestellte Beispiel mit der Wählerliste und der GIC Datei sind die Attribute {GebDatum, PLZ, Geschlecht} Quasi-Identifizierer. 7 Generell: Attribute, die in privaten Datenbanken sowie in öffentlichen Datenbanken erscheinen, sind Kandidaten für QI. Da es nicht immer eindeutig ist (wie im obigen Fall) welche Attribute als QI benutzt werden können, da der Datenhalter keine vollständige Kenntnis über die vorhandenen externen Daten hat und über deren Verlinkungsmöglichkeiten, ist es 5 Vgl. ebd., S Vgl. ebd., S.6. 7 Vgl. ebd., S.7. 5

53 Seminararbeit Thema 4, Privatsphäre messen von Thomas Kontny, WS 2014 / 2015 sinnvoll, gewisse Richtlinien und Modelle zur Erstellung von anonymisierten Daten, aufzustellen. 3.) DAS K-ANON YM ITÄTSM ODELL: Sei RT(A1,..,An) eine Tabelle und QIRT seien die Attribute, die als QI dienen. RT soll der k-anonymität genügen, wenn für jede mögliche Ausprägung von Werten in RT[QIRT] mindestens k gleiche Datensätze auftreten. 8 Anders gesagt genügt eine Tabelle der k-anonymität sobald für jeden Datensatz in der Tabelle mindestens k-1 gleiche Ausprägungen der jeweiligen QI-Attribute enthalten sind. Die folgende Tabelle T zeigt den Fall für k=2 und QIT={Race (Rasse), Birth(Geburtsjahr), Gender(Geschlecht), ZIP(Postleitzahl)}. ABBILDUNG 2 Wie in der Abbildung 2 ersichtlich, ist jede mögliche Ausprägung in T[QIT] mindestens zweimal enthalten. Also t1[qit] = t2[qit], t3[qit ]= t4[qit], t5[qit] = t6[qit], t7[qit ]= t8[qit] = t9[qit], und t10[qit] = t11[qit]. Allgemein: Sei RT(A1,, An) eine Tabelle, QIRT =(Ai,,Aj) seien die Quasi- Identifizierer bezogen auf RT, Ai,,Aj A 1,.,A n und RT genügt der k-anonymität. Dann erscheint jede Sequenz von Werten in RT[Ax] mindestens k-mal in RT[QIRT] für x=i,,j. 9 8 Vgl. ebd., S.8 9 Vgl. ebd., S.9. 6

54 Seminararbeit Thema 4, Privatsphäre messen von Thomas Kontny, WS 2014 / ) SCHW ACHSTELLEN UN D ATTACKEN POTEN TIAL DES M ODELLS a) Unsorted matching attack Die Schwachstelle auf der die Attacke basiert, ist die Reihenfolge wie die Tupel in der Tabelle organisiert sind. Häufig werden Tabellen nach den jeweiligen Attributen aufsteigend sortiert. Ändert man nun diese Reihenfolge bei der Veröffentlichung der anonymisierten Tabelle nicht und veröffentlich dazu noch eine zweite, die ebenfalls auf der gleichen Ausgangstabelle basiert, kann man diese leicht wieder zusammenfügen, da die Sortierreihenfolge die gleiche ist. 10 Lösung: Die veröffentlichten Tabellen sollten zufällig sortiert sein. Beispiel: Wie in Abbildung 3 ersichtlich, wurden aus der Ausgangstabelle PT mit den QI={Race,ZIP} zwei anonymisierte Tabellen GT1 und GT2 erstellt, die jeweils k=2 genügen. Da die Positionen der Tupel jedoch nicht verändert wurden, kann man diese leicht wieder tabellenübergreifend zusammenfügen und hat die Ausgangstabelle wieder hergestellt. ABBILDUNG 3 b) Complementary release attack Da nicht immer alle veröffentlichten Attribute auch QI sein müssen, kann es sein, dass durch unterschiedliche Veröffentlichungen von Untermengen der Basisdatei unterschiedliche Anonymisierungen stattfinden, die jeweils der k-anonymität entsprechen, jedoch beim Zusammensetzen der jeweiligen veröffentlichten Tabellen über ein anscheinend nicht QI-Attribut die k-anonymität wieder aufheben. Daher 10 Vgl. ebd., S.10. 7

55 Seminararbeit Thema 4, Privatsphäre messen von Thomas Kontny, WS 2014 / 2015 müssen alle möglichen Attribute geprüft werden, ob auf diesen eine Verlinkung möglich ist und falls ja, müssen diese als QI deklariert werden. 11 c) Temporal Attack Ähnlich zu b) ist das Problem der zeitlich bedingten Attacke. Da Dateien laufend geändert werden, also Datensätze ergänzt, gelöscht und verändert werden, kann es im zeitlichen Verlauf dazu kommen, dass verschiedene Versionen von veröffentlichten Dateien im Umlauf sind. Diese können ebenfalls wieder für sich k-anonym sein, jedoch in der Verlinkung sensible Daten offenbaren, da über ein Nicht-QI-Attribut verlinkt werden kann, das einzigartig sein könnte. 12 Lösung: Daher sollten alle Attribute in die Anonymitätsbetrachtung mit einbezogen werden. d) Homogenity Attack Einen anderen Ansatz wählt die Homogenitätsattacke. Falls in der anonymisierten Tabelle das sensible Attribut zu wenige verschiedene Ausprägungen inne hat, und der Parameter k zu klein gewählt wird, besteht eine relativ hohe Wahrscheinlichkeit, dass alle Ausprägungen des sensiblen Attributs gleich sind und keine Anonymisierung stattfindet. Beispiel: Sei eine Tabelle T mit unterschiedlichen Datensätzen enthalten, das sensible Attribut hat in der gesamten Tabelle 3 verschiedene Ausprägungen und ist nicht mit den nicht-sensiblen Attributen verbunden. Wir wählen k = 5, so dass ( / 5) = Gruppen entstehen. Da die Wahrscheinlichkeit, dass alle 5 Ausprägungen gleich sind, bei ( ) liegt (=1,23%), kommt es bei insgesamt 148 Gruppen dazu. Das würde bedeuten, dass die privaten Informationen von 740 Personen ungeschützt sind. 13 e) Background Knowledge Attack Es besteht die Möglichkeit noch zusätzliche Hintergrundinformation zu den vorhandenen hinzuzuziehen aus statistischen Datenbanken, die beispielsweise Wahrscheinlichkeiten von Erkrankungen nach ethnischer Zugehörigkeit, Alter, Berufsgruppe, Jahrgang o.ä. angeben. So kann man über das Ausschlussverfahren, 11 Vgl. ebd., S Vgl. ebd., S M achanavajjhala,a., u.a.(2005): l-diversity: Privacy beyond k-anonymity, / mvnak, S2. 8

56 Seminararbeit Thema 4, Privatsphäre messen von Thomas Kontny, WS 2014 / 2015 die vorhandene Vielfalt der Attributausprägungen des sensiblen Attributs reduzieren und so eventuell eindeutige Zuordnungen herstellen. 14 FAZIT: Das Modell der k-anonymität ist nicht ohne Einschränkung ausreichend, um die eindeutige Zuordnung von sensiblen Attributen zu bestimmten Personen zu verhindern. Eine gewisse Vielfalt von Ausprägungen der sensiblen Attribute ist zusätzlich notwendig. IV.) DEFIN ITION / VORGEHEN SW EI SE DER GEN ERALISIERU N GS- U N D AN ON YM ISIERU N GSTECHN IKEN FÜ R TABELLEN M IT PRIVATEN ATTRIBU TEN Definition 3: Block-Generalisierung/Anonymisierung: Ein Block D* = {P1,P2,,} ist eine Generalisierung/Anonymsierung des Blocks D wenn = D und Pi Pj = so lange i j. Gegeben sei eine Tabelle T = {t1,,tn} mit einer Menge von nicht-sensiblen Attributen N und eine Generalisierung D*N des Bereichs (N), wir konstruieren nun eine Tabelle T* = {t1 *,.,tn * } durch Ersetzung der Werte von ti[n] mit dem anonymisierten Wert DN*(ti[N]), um einen neuen Datensatz (Tupel) ti* zu erhalten. ti* dass Das Tupel ti* nennt sich Generalisierung von Tupel ti. Wir benutzen die Notation ti ti* generalisiert/anonymisiert ti.ausgeweitet auf die Tabellen bedeutet T T*, dass T* ist eine Generalisierung von T. Typischerweise werden sortierbare Attribute in Intervalle aufgeteilt und kategorisierte Attribute werden in benutzerdefinierte Ebenen aufgeteilt wie z.b. Gemeinden in Städte, Städte zu Regionen und Regionen in Bundesländer. 15 Beispiel: Die Tabelle 1 in Abb.4 ist eine Generalisierung der Tabelle 2. Wir verallgemeinern die Spalte {ZipCode (Postleitzahl)}, indem wir nur die ersten 3 oder 4 Stellen anzeigen. Die Postleitzahlen 1485* repräsentieren alle, die mit diesen 4 Stellen beginnen. Das Attribut {Age(Alter}wird in 3 unterschiedliche Gruppen aufgeteilt <30, zwischen 30 und 40 und >=40. Die Nationalität wird gar nicht angegeben, da hier eine Generalisierung wenig sinnvoll ist. 14 Vgl. ebd., S Vgl. ebd., S.3. 9

57 Seminararbeit Thema 4, Privatsphäre messen von Thomas Kontny, WS 2014 / 2015 TABELLE 1 (PATIENTENDATEI) TABELLE 2 (4-ANONYM PATIENTENDATEI) V.) DEFIN ITION U N D ERKLÄRU N G DER BAYES- OPTIM ALEN PRIVATSPHÄRE In diesem Abschnitt stellen wir eine Vorstellung von Privatsphäre namens Bayes-Optimale- Privatsphäre dar. Es bezieht die Problematik der Attacke mittels Hintergrundinformationen ein und benutzt die Wahrscheinlichkeitsverteilung über die Attribute sowie Bayesianische Rückschlusstechniken, um auf private Attribute zurückzuführen. Der Einfachheit halber benutzen wir nur ein mehrdimensionales nichtsensibles Attribut Q für unsere Betrachtung, dessen Werte mittels Anonymisierung von der Grundtabelle T in die anonymisierte Tabelle T* überführt werden. Wir nehmen an, dass T eine einfacher, zufälliger Teilausschnitt einer größeren Population Ω ist. Zum anderen betrachten wir auch nur ein einziges privates Attribut S. In Bezugnahme auf die Attacke mittels Hintergrundinformationen nehmen wir an, dass der Angreifer teilweise Wissen von sensiblen sowie nichtsensiblen Attributen hat. Im schlimmsten anzunehmenden Fall kennt er die vollständige Verteilung von Q und S, d.h. er kennt die Häufigkeit der jeweiligen Attribute in Ω. Der Angreifer versucht einen bestimmten Datensatz t T zu finden, der in T* zu einem Datensatz t* generalisiert wurde. Er kennt die nichtsensiblen Attribute des gesuchten Datensatzes t[q] = q. Das Ziel ist es jetzt mittels des Hintergrundwissens den Wert des sensiblen Attributes t[s] = s herauszufinden. Bevor er die veröffentlichte Tabelle T* geprüft hat, beruht seine Kenntnis ausschließlich auf seinem Hintergrundwissen bzw. Kenntnis von q und sein Wissen, dass die Information von s irgendwo in T* enthalten ist. Daher gilt folgende Formel: α(q,s) = Pf (t[s] = s t[q] = q) Nachdem er nun die veröffentlichte Tabelle T* gesichtet hat, hat sich seine Ansicht geändert, da er nun gezielt aufgrund seiner bisherigen Informationen den Suchbereich einschränken kann und je nach Ausprägung der Tabelle das gesuchte Attribut s finden kann. 10

58 Seminararbeit Thema 4, Privatsphäre messen von Thomas Kontny, WS 2014 / 2015 Daher gilt folgende Formel: β(q,s,t*) = Pf (t[s] = s t[q] = q t* ε T*, t t*) Um nun eine neue Definition von Privatsphäre zu erstellen, müssen die Parameter f (Wahrscheinlichkeit des Attributs) und T* (generalisierte Tabelle von T) gegeben sein. In der nun folgenden Formel wird die bedingte Wahrscheinlichkeit benutzt P (A B), die die Anzahl der Datensätze als Basis hat die die Bedingung A B erfüllt im Verhältnis zur Anzahl der Datensätze, die nur von Bedingung B erfüllt werden ) THEOREM 1 : Sei q ein Wert eines nichtsensiblen Attributs Q in der Grundtabelle T; sei q* ein generalisierter Wert von q in der veröffentlichten Tabelle T*; sei s ein möglicher Wert des sensiblen Attributs; sei n(q*,s ) die Anzahl der Datensätze t* T* mit t*[q] = q und t*[s] = s ; und sei f(s q*) die bedingte Wahrscheinlichkeit des sensiblen Attributs s unter der Bedingung, dass das nichtsensible Attribut q aus der Grundtabelle nach T* als q* generalisiert wurde. (,, ) = ( ) (, ) ( ) (, ) ( ) ( ) Der Bruch setzt die Anzahl der Datensätze eines bestimmten sensiblen Attributs s im Block q* (gewichtet mit der bedingten Wahrscheinlichkeit von s in der Ausgangsdatei q (Anteil Datensätze von s in Grunddatei) zur bedingten Wahrscheinlichkeit von s in q* (Anteil Datensätze von s im Block q*) mit der Summe der Anzahl aller möglichen Ausprägungen von s im Block q*(gewichtet mit der bedingten Wahrscheinlichkeit aller jeweiligen s zur Ausgangdatei q zur bedingten Wahrscheinlichkeit von s im Block q*) ins Verhältnis. Sind nun gewisse Hintergrundinformationen bei einem Adressaten/Angreifer vorhanden, kann es durch die Veröffentlichung von T* zu zwei kritischen Offenlegungen von privaten Informationen kommen: Definition 4: (Positive Offenlegung) Wenn der Adressat mit einer hohen Wahrscheinlichkeit den Wert eines sensiblen Attributs zuordnen kann, weil dieser in einer großen Anzahl n den gleichen Wert im Block q* annimmt und enthalten ist und somit auch die bedingten Wahrscheinlichkeit f ( s q*) sehr hoch ist, ist der Wert von β(q,s,t*) > 1 δ (mit δ>0) und es existiert ein t T so dass t[q] = q und t[s] = s. Der Bruch von β nimmt im Zähler also nur einen unwesentlich kleineren Wert als im Nenner an, da nur ein geringer Wert im Zähler für ein s s hinzuaddiert wird. Je größer generell die Wahrscheinlichkeit von s in q bei gleichem f(s q*), desto näher liegt der Wert für β nahe 1. Sprich kommt ein Attribut s sehr häufig in q sowie in q* vor, so nähert sich der Wert für β der 1 an und eine Offenlegung ist sehr wahrscheinlich. 16 Vgl. ebd., S.4. 11

59 Seminararbeit Thema 4, Privatsphäre messen von Thomas Kontny, WS 2014 / 2015 Definition 5: (Negative Offenlegung) Wenn im Umkehrschluss der Adressat mit einer hohen Wahrscheinlichkeit einige mögliche Werte eines sensiblen Attributs ausschließen kann (aufgrund seines Hintergrundwissens) dann ergibt sich eine negative Offenlegung wenn β(q,s,t*) < ε (mit ε >0) und es existiert ein t T so dass t[q] = q aber t[s] s. Der Adressat kann dann leicht mittels Ausschlußverfahren das richtige s herausfinden, da er für alle Attribute s s die Wahrscheinlichkeit f(s q) = 0 setzen kann und so nur noch die Ausprägung für s übrig bleibt. Fazit: Die veröffentlichten Daten sollten dem Adressaten nur unwesentlich mehr Information liefern, als er eh schon durch seine Hintergrundinformation hat. Mit anderen Worten soll es kein großes Delta zwischen der Vorstellung des Adressaten vor bzw. nach Veröffentlichung der generalisierten Daten geben ) GREN ZEN DER BAYES-OPTIM ALEN PRIVATSPHÄRE Für unsere Betrachtung sind mehr die theoretischen Eigenschaften der Bayes-optimalen- Privatsphäre von Interesse als die wirkliche praktische Umsetzung. Da es einige Schwachstellen gibt, die wie folgt aussehen: 1.) Aufgrund von unzureichendem Wissen des Datenhalters kann er nicht die gesamte Verteilung der sensiblen/nicht-sensiblen Attribute der gesamten Population Ω, aus der T entspringt, kennen ( Insufficient Knowledge). 2.) Ebenso ist der Wissensstand des Adressaten/Angreifers nicht komplett bezüglich der sensiblen/nicht-sensiblen Attribute abschätzbar, so dass der Datenhalter nur partiell darauf eingehen kann ( Adversary s Knowledge is Unknown). 3.) Durch Informationsaustausch zwischen Betroffenen und Adressaten kann es zu weiterem Austausch von sensiblen Daten kommen, auf deren Basis der Adressat zu weiteren Schlussfolgerungen kommt, die der Datenhalter ebenfalls nicht abschätzen kann. ( Instance-Level Knowledge) 4.) Aufgrund dessen, dass die veröffentlichten Daten mehrere und unterschiedliche Adressaten haben könnten, kann der Datenhalter überhaupt nicht abschätzen, ob er die Daten gegenüber Privatpersonen, Vereinen, Unternehmen oder sogar gegenüber der Einsicht des Staates schützen muss. ( Multiple Adversaries) Vgl. ebd., S Vgl. ebd., S

60 Seminararbeit Thema 4, Privatsphäre messen von Thomas Kontny, WS 2014 / 2015 VI.) L-DIVERSITÄT: EIN E PRAKTIKABLE PRIVATSPHÄREN DEFIN ITION 1.) DAS L- DIVERSITÄTSPRINZIP Gemäß des Theorems kann man berechnen wie die Erwartung des Adressaten/Angreifers ist. Sei q* ein Block aller nicht-sensiblen Attribute, die im generalisierten Tableau zusammengefasst wurden in q*. Wenn wir uns nun den Fall der positiven Offenlegung( Positive Disclosure ) ansehen, möchte der Adressat/Angreifer den genauen Wert von s ermitteln, sprich t[s] = s. Dies kann nur geschehen wenn die folgende Abschätzung gilt:, ( ),, ( ) ( ) (, ) ( ) Diese Bedingung kann zwei verschiedene Ursachen haben. Zum einen kann es an der fehlenden Vielfalt der sensiblen Attribute innerhalb der jeweiligen q*-blöcke liegen ( Lack of Diversity ) und/oder es liegt am fundierten Hintergrundwissen des Adressaten/Angreifers ( Strong Background Knowledge ). 19 Liegt der erste Fall vor ( Lack of Diversity ) dann gilt folgendes:, (, ) (, ) Die Anzahl des bestimmten Wertes von s für Attribut S ist überproportional höher als alle anderen s s. In diesem Fall haben fast alle Datensätze innerhalb eines Blocks den gleichen Wert s für das sensible Attribut S, somit ist das Ergebnis des Quotienten β (q,d,t*) 1, da im Nenner (fast) ausschließlich nur die s = s summiert werden und damit quasi Gleiche wie im Zähler steht. Lösung: Es sollten pro Block ausreichend verschiedene Wert für s enthalten sein in der gleichen Häufigkeit. Ein q*-block sollte mindestens l 2 verschiedene sensible Attribute enthalten, so dass die l-häufigsten Werte innerhalb des q*-blocks grob in derselben Häufigkeit auftreten. Man sagt, dass ein q*-block wohl-repräsentiert bezüglicher l-sensiblen Attributen ist. Liegt der zweite Fall vor ( Strong Background Knowledge ) dann gilt folgendes: 19 Vgl. ebd., S.6. 13

61 Seminararbeit Thema 4, Privatsphäre messen von Thomas Kontny, WS 2014 / 2015, ( ) ( ) 0 Selbst wenn ein q*-block ausreichend viele verschiedene Werte für S inne hat in ausreichender Häufigkeit, so kann es sein, dass ein Adressat durch fundiertes Hintergrundwissen einige Ausprägungen s für S ausschließen kann und somit die Menge an Werten von S nachhaltig reduziert. 20 Beispiel: In einer medizinischen Datenbank sucht ein Angreifer die Diagnose für seinen 30jährigen männlichen Nachbarn. Im betreffenden q*-block sind 5 verschiedene Datensätze enthalten mit 3 verschiedenen Ausprägungen der Diagnosen (Herzinfarkt, Gelbfieber und Krebs). Wenn nun der Angreifer weiß, dass der Nachbar nie in gelbfiebergefährdete Gebiete fährt und auch ein Herzinfarkt aufgrund seines Alters und seiner relativ sportlichen Figur aus der Betrachtung fällt, kommt nur noch eine Krebserkrankung in Betracht. Auch Informationen über Angehörige der betroffenen Person oder direkte Informationen aus Gesprächen können die Vielfalt der S Attribute schnell reduzieren (Instance-Level Knowledge). Wäre der q*-block eventuell nicht einmal nach dem Geschlecht unterteilt dann wären Diagnosen wie Brustkrebs o.ä. sogar ohne weiteres Wissen auszuschließen. Wenn wir nun mindestens l verschiedene wohl repräsentierte Ausprägungen in einem q*-block haben, muss der Angreifer mindestens l-1 maßgebliche Informationen haben, um diese l-1 möglichen Werte von S zu eliminieren. Leider kann auch bei einem großen l der Datenhalter niemals wissen, wie gut die externen Benutzer seiner Datei informiert sind. Eine 100% Sicherheit gegen Offenbarung von sensiblen Daten ist auch hiermit nicht gewährleistet. 20 Vgl. ebd., S.6. 14

62 Seminararbeit Thema 4, Privatsphäre messen von Thomas Kontny, WS 2014 / ) DIVERSITÄTSPRIN ZIP 2: Ein q*-block ist l-divers wenn er mindestens l wohl-repräsentierte Werte für die sensiblen Attribute S beinhaltet. Eine Tabelle ist l-divers wenn jeder q*-block l-divers ist. Beispiel: TABELLE 1 (PATIENTENDATEI) TABELLE 2 (4-ANONYM PATIENTENDATEI) TABELLE 3 (3-DIVERS PATIENTENDATEI) In Tabelle 1 kann man eine Basistabelle sehen mit den nicht-sensiblen Attributen {PLZ, Alter, Nationalität}, das sensible Attribut ist {Krankheit}. In Tabelle 2 kann man die k = 4 anonymisierte zu veröffentlichende Datei sehen. In dieser Datei liegt in der letzten q*-gruppe (Zeile 9 bis 12) ein Fall von fehlender Vielfalt des sensiblen Attributs vor (Lack of Diversity). Jeder Datensatz und damit jede Person aus der Gruppe hat Krebs (Cancer). Dieses Angriffspotential ist in Tabelle 3 nicht mehr vorhanden, da jede Gruppe so gewählt wurde, dass mindestens 3 verschiedene Ausprägungen des sensiblen Attributs pro Gruppe auftauchen. Diese Tabelle ist somit 3-divers. 15

63 Seminararbeit Thema 4, Privatsphäre messen von Thomas Kontny, WS 2014 / 2015 Bis jetzt ist jedoch nicht genau geklärt, was wohl-vertreten bedeutet, daher die folgenden Definitionen. 21 Definition 6.1) (Entropie der L-Diversität): Eine Tabelle ist Entropie l-divers für jeden Block q* wenn folgendes gilt: Hierbei ist (, ) = (, ) (, ) (, ) log, log( ) der Anteil der Datensätze im q*-block gleich dem Wert des bestimmten sensiblen Attributes s im Verhältnis zur Summe aller sensiblen Attribute. Als Konsequenz dieser Bedingung hat jeder q*-block mindestens l unterschiedliche Werte für die sensiblen Attribute. Diese Entropie-Bedingung kann zu strikt sein, wenn einige positive Offenlegungen erlaubt sind (beispielsweise erlaubt eine Klinik die Herausgabe der Information, dass der Patient Herzprobleme hat, weil generell viele Patienten im Krankenhaus diese Probleme haben.) Diese Einschränkung erlaubt es ein neues Prinzip der l-diversität namens Rekursive l-diversität zu definieren. Seien s1,.,sm die möglichen Werte des sensiblen Attributes S im q*-block. Wir sortieren die Anzahlen n (q*,s1),, n(q*,sm) in aufsteigender Reihenfolge und benennen die Elemente der resultierenden Sequenz r1,,rm. Eine Möglichkeit über l-diversität nachzudenken ist die folgende: Der Angreifer muss mindestens l-1 mögliche Werte von S eliminieren, um eine positive Offenlegung zu erzwingen. Dies bedeutet, dass er beispielsweise in einer l=2 diversen Tabelle keines der sensiblen Attribute zu häufig auftreten sollte, um eine ungefähre Gleichverteilung der Werte von S zu gewährleisten. Ein q*-block ist (c,2)-divers wenn r1 < c(r2+ +rm) ist für eine benutzerspezifische Konstante c. Für l > 2 sagen wir, dass ein q*-block rekursiver (c,l)- Diversität genügt, wenn wir ein mögliches sensibles Attribut eliminieren können in q* und immer noch einen (c,l-1) diversen Block haben. Diese rekursive Definition kann wie folgt kurz zusammengefasst werden: 21 Vgl. ebd., S.7. 16

64 Seminararbeit Thema 4, Privatsphäre messen von Thomas Kontny, WS 2014 / 2015 Definition 6.2) Rekursive (c,l)-diversität: In einem q*-block kennzeichnet ri die Anzahl wie oft das i-häufigste sensible Attribut im q*- Block auftaucht. Mit einer gegebenen Konstante c, genügt der q*-block der rekursiven (c,l)- Diversität falls r1 < (c(rl + rl+1+..+rm). Eine Tabelle T* genügt rekursiver (c,l) Diversität falls jeder q*-block der l-diversität genügt. Nun überlegen wir uns, dass Y die Menge von sensiblen Attributen ist, deren positive Offenlegung erlaubt sei (eventuell weil dieses Attribut sehr häufig vorkommt, beispielsweise die Diagnose Herzinfarkt im Krankenhaus oder weil diese Diagnose unproblematisch ist wie Patient gesund ). Da wir uns nun über diese Attribute keine Sorgen machen, sei sy das meist häufige sensible Attribut in q*, das nicht in Y ist und sei ry die dazugehörige Häufigkeit. Ein q*- Block genügt dann l-diversität wenn wir die l-2 häufigsten Werte von S (ohne ry), ohne dass wir dadurch sy zu häufig in der resultierenden Tabelle auftreten lassen. Also haben wir nach der Entfernung der häufigsten Attribute eine Tabelle die (l-y+1)-divers ist. Dies führt zur folgenden Definition: Definition 6.3) Positive Offenlegungs-Rekursive (c,l)-diversität: Y kennzeichnet die Menge von sensiblen Attributen, für die wir die positive Offenlegung erlauben. In einem gegebenen q*-block sei der meist häufigste sensible Wert, der nicht in Y ist, der y-te häufigste sensible Wert. Lassen wir ri die Häufigkeit des i- häufigsten sensiblen Wertes im q*-block sein. Solch ein q*-block genügt pd (positive disclosure)-rekursiver (c,l)- Diversität wenn eine der beiden folgenden Bedingungen gilt: 1 < 1 < + Wenn nun ry = 0 ist dann hat der q*-block nur noch sensible Attribute enthalten, die offengelegt werden können und so sind beide Bedingungen trivial erfüllt. Wenn c > 1 ist, wird die zweite Bedingung zur Bedingung y > l -1 reduziert, weil ry rl-1. Die zweite Bedingung sagt aus, dass trotz die l-1 häufigsten Werten offengelegt werden können, wir trotzdem nicht wollen, das ry zu häufig auftritt, wenn l-2 davon bereits eliminiert wurden. Nun kommen wir noch abschließend zur negativen Offenlegung von sensiblen Attributen: Seien W die Menge der Attribute, für die negative Offenlegung nicht erlaubt ist, sei c2 eine Konstante < 100, die die prozentuelle Häufigkeit in jedem q*-block von s ε W darlegt. 17

65 Seminararbeit Thema 4, Privatsphäre messen von Thomas Kontny, WS 2014 / 2015 Definition 6.4) Negative/Positive Offenlegungs-Rekursiv (c1,c2,l)-diversität: Sei W die Menge der sensiblen Attribute, die nicht durch negative Offenlegung veröffentlich werden sollen. Eine Tabelle genügt dieser npd (negative/positive disclosure)-rekursiven (c1,c2,l)- Diversität, wenn sie der vorher genannten pd-rekursiven (c1,l)-diversität genügt und wenn jedes s ε W in mindestens c2 Prozent der Datensätze in q* auftaucht. 22 FAZIT: Ausgehend von der Frage warum man überhaupt private und sensible Daten veröffentlicht, da es ja hundertprozentige Sicherheit geben würde, wenn man sich im allgemeinen juristisch einigen würde, keine personenrelevanten Daten in irgendeiner Form zu veröffentlichen, ist dies in meinen Augen eindeutig zu beantworten: Da in zahlreichen Bereichen der Forschung wie Gesundheit, Medizin, Soziologie, Psychologie, Technik, Wissenschaft o.ä. auf empirische Daten zurückgegriffen werden muss, um neue Erkenntnisse zu erlangen, ist es unabdingbar auf personenrelevante Daten zurückzugreifen. Da es auch durch Veröffentlichungsverbote nicht gewährleistet wäre, dass diese Daten geschützt sind, wie die andauernden Meldungen von Hackerangriffe und anschließender Veröffentlichung von Kontodaten, Passwortdaten etc. zeigen, ist es vernünftiger, diese Daten freiweilig in bereinigter und anonymisierter Form freizugeben. So kommen wir zu der Frage welche Daten wirklich schützenswert sind und welche relativ problemlos weitergegeben werden können. Angefangen mit den relativ problemlosen persönlichen Daten wie Adresse, Wohnort und Telefonnummer, die man bei jeder Anmeldung eines Onlineshops,bei SocialMedia-Communities oder Newsgroups angibt und oft sogar hier zu leichtfertig damit ist, sollte dies kein Problem geben, zumal der Informationsgehalt ohne weitere verlinkte Informationen nicht sehr hoch ist. Ein Wählerverzeichnis oder ein Telefonbuch geben ähnliche Auskünfte. Anders sieht es bei Informationen über die Gesundheit ( Krankheitsgeschichte, Behinderungen, Medikation), Geldsituation ( Gehalt, Kontostand, Verbindlichkeiten) etc. aus. Wenn Daten dieser Art in einer Tabelle/Datenbank gespeichert sind und zu Forschungszwecken veröffentlicht werden sollen, müssen diese soweit anonymisiert werden, so dass eine direkte Zuordnung einer einzigen Person nicht möglich ist. Eine nicht praktikable Lösung ist die Unterdrückung von bestimmten Abfragen oder das Setzen von verschiedenen Sicherheitsniveaus, da es sehr schwierig ist einzuschätzen, wer welche Daten sehen darf und welche Daten wie schützenswert sind. Es gibt keine offizielle Maßeinheit für Privatsphäre. Auch das Löschen von sogenannten Primärschlüsseln wie Name, Sozialversicherungs/Ausweisnummer ist nicht ausreichend, da wie dargestellt über sogenannte Quasi-Identifizierer (QI) und Verlinkung von öffentlichen Daten wie Wählerlisten wieder auf die Einzelperson zurückgeschlossen werden kann. 22 Vgl. ebd., S.8. 18

66 Seminararbeit Thema 4, Privatsphäre messen von Thomas Kontny, WS 2014 / 2015 Eine Möglichkeit diese QI zu anonymisieren ist das Prinzip der k-anonymität. Dadurch ist gewährleistet, dass pro Merkmal ( alle Datensätze, die die gleich Ausprägung der QI haben) mindestens k-verschiedene Datensätze vorhanden sind, also es immer k-1 andere Personen mit den gleichen Quasi-Identifizierern gibt. Dies setzt natürlich voraus, dass man immer weiß, welche die QI sind. Hier liegt meiner Meinung nach die große Schwäche dieses Prinzips. Aufgrund der Nichtkenntnis wer die Empfänger und Bearbeiter der veröffentlichten Datei sind, weiß man auch nicht wie gut deren Hintergrundwissen ist, welche anderen Tabellen/Datenbanken zur Verfügung stehen und wie groß der Wert und auch der Schaden ist, wenn private Daten offenbart werden. Beispielsweise haben Arbeitgeber/Versicherer und auch Behörden/Ämter großes Interesse daran zu erfahren, wie es um die Gesundheit oder um die wirtschaftliche Situation eines Einzelnen steht und da diese Institution über viele Verbindungen in die Wirtschaft/Forschung verfügen, sind die verlinkbaren Daten sehr breit gestreut. Das kann beispielsweise ein Mitarbeiter eines Krankenhauses oder einer Krankenkasse kaum abschätzen, wenn er nur in diesem Bereich tätig ist. Und wenn das sensible, schützenswerte Attribut pro QI-Block gleich ist oder die Ausprägungen zwar abweichen aber alle sehr kritisch sind ( wie Krankheitsdiagnosen Krebs, Multiple Sklerose oder Depressionen ), kann das alles sehr nachteilig bei Veröffentlichung für den Betroffenen sein. Zynisch gesagt kann sich ein potentieller Arbeitgeber aussuchen, warum er den Bewerber nicht einstellen möchte. Daher ist das Prinzip der l-diversität ergänzend zur k-anonymität sehr hilfreich, da hier der Fokus nicht auf den QI liegt, sondern auf der Qualität des sensiblen Attributs. Der Datenhalter muss gar nicht genau wissen, ob ein Attribut ein QI sein könnte und ob ein Empfänger der anonymisierten Daten durch diese Information unter Einbezug externer Daten hier die einzelne Person bestimmen kann. Solange es gewährleistet ist, dass es mindestens l-verschiedene Ausprägungen des sensiblen Attributs pro Datenblock ( Gruppe der Datensätze mit gleicher Ausprägung der QI) gibt, ist eine eindeutige Aussage über das Individuum nicht möglich. Dies kann natürlich im schlimmsten Falle genauso nachteilig sein, da alle l-unterschiedlichen Attribute nicht problemlos in ihrer Aussage sind, jedoch ist bei groß gewähltem l die Wahrscheinlichkeit geringer. Die Schwäche des Prinzips liegt ebenfalls darin, dass der Datenhalter nicht den Informationshintergrund des Empfängers kennt, dieser könnte durch Ausschlussverfahren die Diversität nachhaltig reduzieren, jedoch ist dies bei einer wohlverteilten Häufigkeit der Werte des sensiblen Attributs durchaus zu minimieren. Die Abschätzung der Entropie-l-Diversität ist hierzu ein Maß. Vom Performance-Aspekt sind beide Anonymisierungsmethoden sehr ähnlich, die l-diversität ist teils sogar noch schneller, daher gibt es auch hier kein Kontra für dieses Prinzip. Daher ist die Methode der l-diversität in jedem Fall für Anonymisierungen von der Öffentlichkeit zugänglich gemachten privaten Daten zu empfehlen, da das Grundproblem der genauen Kenntnis des Datenhalters der Verteilung der sensiblen bzw. nicht-sensiblen Attribute, nicht länger nötig ist. Der Datenhalter braucht nicht mehr einzuschätzen, welche 19

67 Seminararbeit Thema 4, Privatsphäre messen von Thomas Kontny, WS 2014 / 2015 Hintergrundinformationen die Angreifer haben könnten, solange der Parameter l groß genug gewählt wird. Es ist in jedem Fall im Sinne des betroffenen Individuums zu handeln und ein genügend großes l zu wählen, so dass trotz jeglicher anderer Informationen nicht auf den Einzelnen zu schließen ist. Dies sollte auch auf die Gefahr hin geschehen, dass die Brauchbarkeit der Daten für den Empfänger dadurch eventuell reduziert werden könnte. Der Schutz des Einzelnen muss auf jeden Fall hier Priorität haben. Quellennachweis: 1.) Sweeney, Latanya (2002): k-anonymity: A model for protecting privacy, International Journal on Uncertainty, Fuzziness and Knowledge-based Systems. 2.) Machanavajjhala, Ashwin / Gehrke, Johannes / Kifer, Daniel (2005): l-diversity: Privacy Beyond k-anonymity, Journal on Uncertainty, Fuzziness and Knowledge-based Systems. 20

68

69 Seminararbeit Algorithmen zum Schutz der Privatsphäre Tobias Müller Fakultät für Mathematik und Informatik FernUniversität in Hagen

70 Inhaltsverzeichnis 1 Einleitung Problematik Algorithmen zum Schutz der Privatsphäre Anwendungsfälle K-Anonymity Aufwand und optimale K-Anonymisierung Algorithmus Bewertung der erreichten Privatsphäre L-Diversity Beispiel Schwierigkeit der Sterne-Minimierung Algorithmus: Tupel Minimierung Erste Phase Zweite Phase Dritte Phase Bewertung Resümee 16

71 1 Einleitung 3 1 Einleitung Die Privatsphäre ist ein nicht veräußerbares Grundrecht (Art. 2 Abs. 1 i.v.m. Art. 1 Abs. 1 GG), welches jedem Menschen zusteht. Die Sicherstellung dieses Rechtes ist die Aufgabe der staatlichen Institutionen. Ein gewisses Maß an Anonymität ist zugleich ein wichtiges Element unserer Demokratie. Man bedenke, an dieser Stelle beispielsweise das Wahlgeheimnis. Die Möglichkeit, Informationen ohne Angabe der eigenen Person veröffentlichen zu können, ermöglicht Menschen (neudeutsch Whistleblowern) anonym Skandale an die Öffentlichkeit zu bringen, somit besitzt die Anonymität eine Reihe von Vorteilen, die eine moderne und freie Gesellschaft nicht vermissen sollte. Im Gegenzug hat die Anonymität aber auch Nachteile: Menschen können verleumdet werden, ohne dass das Opfer die Möglichkeit hat, gegen die Behauptungen vorzugehen. Die Politik hat durch das Bundesdatenschutzgesetz eine Abwägung für beide Seiten getroffen. Das Bundesdatenschutzgesetz setzt die europäischen Richtlinien (Richtlinie 95/46/EG) zum Datenschutz um. Dieses Gesetzbuch regelt die elektronische Verarbeitung von personenbezogenen Daten. 1.1 Problematik Bei wenigen Datensätzen ist es noch möglich, diese manuell zu anonymisieren. Für dieses Vorgehen, wäre z.b. das Weglassen der Buchstaben nach dem ersten Buchstaben zu nennen. Aus Tobias Müller wird dann Tobias M. Es ist aber offensichtlich, dass selbst dieses einfache Vorgehen schon keine zufriedenstellenden Ergebnisse liefert, sofern ein weiteres Feld mit dem Wohnort dieser Person enthalten ist und es nur einen Tobias Müller in diesem Ort gibt. Wenige Datensätze führen bei strenger Beachtung der Gewährleistung der Anonymität schon zu großem Aufwand. Sobald die kleine Dimension verlassen wird und man sich im Bereich von einigen tausend Datensätzen bewegt, ist es zwingend erforderlich, ein systematisches Vorgehen zu definieren. Dieses systematische Vorgehen lässt sich in Form eines Algorithmus formulieren. In Kapitel zwei und drei werden zwei verschiedene Algorithmen, die hierfür verwendet werden können, vorgestellt. 1.2 Algorithmen zum Schutz der Privatsphäre Es gibt eine Reihe von Algorithmen, deren Ziel die Erreichung eines oder mehrerer Privacy- Kriterien sind. Diese Seminararbeit beschäftigt sich zum Einen mit einem Algorithmus für die Erreichung der K-Anonymity und zum Anderen zur Erreichung der L-Diversity. K-Anonymity und L-Diversity sind Qualitätskriterien für die Bewertung der erreichten Anonymität. Die Qualitätskriterien unterscheiden sich im Grad der Schwierigkeit, des Informationsverlustes und der Strategie zur Verhinderung der Deanonymisierung eines Individuums. Neben den beiden erwähnten Kriterien gibt es noch eine Reihe Weiterer. Ein bekannter Vertreter ist die T-Closeness, auf die jedoch nicht näher eingegangen wird. Im Englischen wird das automatisierte Vorgehen für die Anonymisierung von Daten als "Data Masking" bezeichnet. Weitere semantisch gleiche Bezeichnungen sind: Data Obfuscation, Data Sanitization und Data Scrambling. [1] Nachfolgend sind die häufigsten Methoden aufgezählt, die ein Data Masking realisieren können: Seminararbeit, FernUniversität in Hagen, WS2014/2015 Tobias Müller

72 1 Einleitung 4 Zufällige Namen und Bezeichnungen Die reellen Namen werden durch zufällige Namen ersetzt. Dieses Vorgehen kann auf Vornamen, Nachnamen oder dem vollständigen Namen angewendet werden. Des Weiteren können auch Firmennamen oder Marken durch zufällige Namen ersetzt werden. Vermischung von Werten Die vorhandenen Werte können mit anderen Werten aus anderen Zeilen vertauscht werden. Relative Werte Anstatt der Verwendung von absoluten Zahlenwerten können diese durch relative Werte, die zueinander in Beziehung stehen, ersetzt werden. Ersetzung von Werten Bestimmte Werte werden durch immer wiederkehrende Ersetzungen ausgetauscht. Angabe von Wertebereichen Die Originalwerte werden in einem Intervall abgebildet. Beispielsweise könnte das konkrete Geburtsdatum lediglich durch das entsprechende Jahrzehnt ausgedrückt werden. 1.3 Anwendungsfälle Die Anwendungsfälle sind thematisch sehr weit: gefächert von der Medizinforschung bis hin zum Verkauf von personenbezogenen Umfragen. Bei der Veröffentlichung von neuen Forschungsergebnissen ist es häufig notwendig, die zugrundeliegende Datenbasis mit anzugeben. Eine solche Veröffentlichung in Rohform würde jedoch in hohem Maße gegen das geltende Bundesdatenschutzgesetz verstoßen. Es ist also erforderlich, die Daten so unkenntlich zu machen, dass sie nicht mehr mit einer konkreten Person in Verbindung gebracht werden können. Trotzdem sollen die relevanten Daten so weit wie möglich erhalten bleiben. Beispielsweise macht es für die Medizinforschung einen großen Unterschied, ob das Geburtsdatum einer Testperson direkt angegeben wird oder in relativ großen Intervallen (z.b. Alter 0-39, Alter 40-79, usw.) veröffentlicht wird. Für die Wirkung eines Medikaments kann das Alter der Person eine entscheidende Eigenschaft sein. Es gilt somit ein Verhältnis zu erschaffen bei dem, zum Einen die Möglichkeit der Identifizierung einer einzelnen Person ausgeschlossen, zum Anderen der Erhalt der relevanten Informationen sichergestellt ist. Seminararbeit, FernUniversität in Hagen, WS2014/2015 Tobias Müller

73 2 K-Anonymity 5 2 K-Anonymity K-Anonymity ist ein Qualitätsmaß, um die Anonymität einer Datenmenge auszudrücken. K- Anonymity bedeutet, dass ein Eintrag von mindestens K anderen Einträgen durch seine Quasi- Identifier ununterscheidbar ist. Desto größer K ist, umso größer ist der Schutz vor der Deanonymisierung von einzelnen Personen. Quasi-Identifier sind Kombinationen von personenbezogenen Merkmalen. Die Spalte Name wird als ein eindeutiger Identifier zur Anonymisierung weggelassen. Andere Attribute dieser Art könnten die Personalausweisnummer sein. Es ist auch ersichtlich, dass diese Attribute bei der Veröffentlichung einer medizinischen Studie keine Rolle spielen sollten. Die Spalten Geburtsdatum, Geschlecht und Postleitzahl (PLZ) bilden zusammen den Quasi-Identifier. Das Attribut Finanzen ist das zu schützende sensible Attribut. Folgende Tabelle zeigt eine nicht anonymisierte Datenmenge mit persönlichen und sensiblen Informationen. Name Geburtsdatum Geschlecht PLZ Finanzen Hans Peter M liquide Tobias Mayer M pleite Fritz von Neufeld M reich Anna Müller W reich Katharina Walther W liquide Viviane Tzaki W pleite Ulrike Petry W liquide Friedrich Oehler M reich Thorsten Ziller M liquide Sarah Oberle W liquide Isabelle Bruder W pleite Peter Müller M pleite Dieter Weikert M pleite Für die Erreichung einer 2-Anonymity dieser Tabelle gibt es mehrere Möglichkeiten. Die folgende Variante wird exemplarisch gezeigt. Name Geburtsdatum Geschlecht PLZ Finanzen 1 **.**.1991 M 973** liquide 2 **.**.1991 M 973** pleite 3 **.**.1991 M 973** reich 4 **.**.1957 W 808** reich 5 **.**.1957 W 808** liquide 6 **.**.1957 W 808** pleite 7 **.**.1957 W 808** liquide 8 **.**.1964 M 570** reich 9 **.**.1964 M 570** liquide 10 **.**.1977 W 128** liquide 11 **.**.1977 W 128** pleite 12 **.**.1999 M 322** pleite 13 **.**.1999 M 322** pleite Diese Tabelle besteht aus fünf Äquivalenzklassen. Die Datensätze innerhalb einer Äquivalenz- Seminararbeit, FernUniversität in Hagen, WS2014/2015 Tobias Müller

74 2 K-Anonymity 6 klasse unterscheiden sich nicht bezüglich ihres Quasi-Identifiers. Die geringste Datensatzanzahl in einer Äquivalenzklasse beträgt zwei. K ist somit zwei. Es handelt sich um eine 2-Anonymity. Durch die Veröffentlichung einer Tabelle mit K-Anonymity soll verhindert werden, dass Angreifer ein Indivduum in der Menge einer Äquivalenzklasse identifizieren können. Eine Veröffentlichung dieser Tabelle erschwert also die Identifizierung einer Person. Probleme dieses Privacy-Kriteriums werden im Kapitel 2.3 angesprochen. Die Erreichung der K-Anonymity kann durch verschiedene Methoden erreicht werden: Generalisierung der Daten Die Daten werden allgemeiner ausgedrückt. Beispielsweise könnte das konkrete Alter einer Person durch ein Intervall ausgedrückt werden. Rauschen Die Informationen können durch Rauschen leicht verfälscht werden. Daten vertauschen Dummy-Datensätze hinzufügen Durch das Hinzufügen weiterer oft erfundenen Datensätze können homogene Datenmengen besser geschützt werden. Unterdrücken von Datensätzen Datensätze, welche hohe Kosten bei der Erreichung der K-Anonymität verursachen, können entfernt werden. 2.1 Aufwand und optimale K-Anonymisierung Es lässt sich erahnen, dass der Aufwand für die Anonymisierung für größere K-Werte ansteigt, da die Datensätze verstärkt generalisiert werden müssen, um einen gemeinsamen Quasi- Identifier zu erhalten. Der Aufwand beziehungsweise die Kosten der Anonymisierung können vereinfacht als der Verlust an Informationen aufgefasst werden. Durch die obige Veränderung ist die PLZ beispielsweise nun deutlich unschärfer. Der Informationsgehalt der Daten ist somit gesunken. Ziel eines Algorithmus für die K-Anonymity muss also die Erreichung einer anonymisierten Version mit möglichst geringem Informationsverlust sein. Eine Version mit minimalem Informationsverlust ist die optimale K-Anonymisierung. "Data Privacy Through Optimal k-anonymization" stellt zwei Kostenmetriken für die Berechnung der Kosten vor: [BaAg05] Die disverbibility metric ordnet jedem Tupel einen Strafwert zu. Dieser Wert setzt sich aus der Anzahl der Tupel zusammen, die in der transformierten Tabelle von diesem nicht zu unterscheiden sind. Wenn ein Tupel sich also in einer Äquivalenzklasse mit h Elementen befindet, so wäre dessen Strafwert gleich h. Wenn dieses Tupel jedoch unterdrückt wird, so wird ihm als Strafwert die Anzahl der Tupel vom Anfangsdatenset zugewiesen. Die classification metric sieht keinen Strafpunkt für einen nicht unterdrückten Tupel vor, sofern dieser zur Mehrheitsklasse innerhalb seiner Äquivalenzklasse gehört. Alle anderen Tupel, welche nicht zur Mehrheitsklasse gehören, erhalten den Wert 1 als Strafpunkt. Die Kosten werden in beiden Metriken aufsummiert und sind ein Indikator für die Kosten einer Anonymisierung. Seminararbeit, FernUniversität in Hagen, WS2014/2015 Tobias Müller

75 2 K-Anonymity Algorithmus Das Ziel des Algorithmus ist die Erreichung der K-Anonymity mit möglichst geringen Kosten. Die Lösung mit den geringsten Kosten wird als optimale Lösung bezeichnet. Der Algorithmus zur Suche der optimalen Lösung ist als Suchproblem in einer Potenzmenge realisiert. Es wird also jede Teilmenge eines gegebenen Alphabets nach einer Lösung mit den geringsten Kosten durchsucht. Es werden nun per Suchalgorithmus alle Varianten des Alphabetes durchlaufen. Aus anderen Themenfeldern gibt es eine Reihe von Algorithmen die systematisch diesen Suchbaum (alle Teilmengen der Potenzmenge als Knoten) durchlaufen und auf Basis einer Kostenrechnung eine Unterdrückung von Elementen des Alphabets vornehmen, um das Optimierungsproblem zu lösen. Ein bekannter Vertreter ist der OPUS-Algorithmus. Die möglichen Anonymisierungen (Knoten des Graphen) werden nun bezüglich der Kosten getestet. Wenn der Baum vollständig durchlaufen worden ist, kann die Anonymisierung mit den geringsten Kosten verwendet werden. Zunächst könnte man glauben, dass jede mögliche Kombination des Alphabets geprüft werden müsse. Die Anzahl der Teilmengen einer Menge mit z Elementen ist 2 z. Zusammenfassend kann gesagt werden, dass für jeden Knoten die Kosten berechnet werden und falls diese Kosten geringer sind als das bisherige Minimum, bildet dieser Knoten die derzeitig beste Lösung des Optimierungsproblems. Für die Feststellung, ob ein Wert ausgeschlossen werden kann, wird also eine Abschätzung gegen die aktuelle unterste Kostengrenze benötigt. Die unterste Kostengrenze ergibt sich in Abhängigkeit von der Kostenmetrik. Es ist ersichtlich, dass das vollständige Durchlaufen des Baumes z.b. durch Breiten- oder Tiefensuche ziemlich rechenaufwendig ist. Aus diesem Grund wird versucht, bestimmte Kombinationen bezüglich der optimalen Lösung auszuschließen. Realisiert wird dies, indem man versucht, einzelne Werte oder Kombinationen des Alphabets frühzeitig von der Suche auszuschließen. Anfänglich wird versucht, den kompletten Knoten zu unterdrücken. Danach werden die noch abzuarbeitenden Werte überprüft. Des Weiteren bedeutet es, dass die Werte in den Kinderknoten auch nicht mehr berücksichtigt werden müssen. Das Vorgehen kann daher zu einer signifikanten Einsparung an Rechenzeit führen. Wichtig ist jedoch, dass dieser Ausschluss an Werten nur dann funktioniert, wenn ersichtlich ist, dass alle Kombinationen mit diesen Werten nicht zu einer neuen optimalen Kostenbewertung führen. Auf die Berechnung der untersten Kostengrenze für die Unterdrückung von Werten wird an dieser Stelle nicht weiter eingegangen. Es sei auf [BaAg05] Abschnitt 5.2 verwiesen. Eine weitere Möglichkeit (PRUNE-USELESS-VALUES im Pseudocode) ist die Unterdrückung von noch zu verarbeitenden Werten für die weitere Spezialisierung eines Knotens. Wenn diese Spezialisierungen alle kleiner als K sind, ist die einzige Folge davon, dass diese unterdrückt werden. Dieser Effekt hat keine Auswirkungen auf die, welche nicht unterdrückt bleiben. Es ist daher offensichtlich, dass diese nicht zu einer Verbesserung der Kosten führen. Der vorgestellte Algorithmus fängt mit der maximal möglichen Anonymisierung der Tabelle an. Konkret bedeutet dies, dass alle Daten anonymisiert (generalisiert) sind. Beispielsweise würde das Geburtsdatum in der Tabelle einfach als "*" dargestellt werden. Als Ausgangssituation dient ein Graph, in welchem die möglichen Anonymisierungen als Knoten enthalten sind, und ein Alphabet (z.b. 1,2,3,4,5,6,7,8,9) mit den möglichen Werten. Das Alphabet könnte so übersetzt werden: Seminararbeit, FernUniversität in Hagen, WS2014/2015 Tobias Müller

76 2 K-Anonymity 8 Nr. Wert 1 Alter: 10 bis 29 Jahre 2 Alter: 30 bis 39 Jahre 3 Alter: 40 bis 49 Jahre 4 Geschlecht: männlich 5 Geschlecht: weiblich 6 Familienstand: verheiratet 7 Familienstand: verwitwet 8 Familienstand: geschieden 9 Familienstand: ledig Der gesamte Algorithmus, bestehend aus den Funktionen K-OPTIMIZE und PRUNE, kann wie folgt als Pseudocode formuliert werden. [BaAg05] K-OPTIMIZE( k, head set H, tail set T, best cost c ) ;; This function returns the lowest cost of any ;; anonymization within the sub-tree rooted at ;; H that has a cost less than c (if one exists). ;; Otherwise, it returns c. T PRUNE-USELESS-VALUES( H, T ) c MIN( c, COMPUTE-COST( H )) T PRUNE( H, T, c ) T REORDER-TAIL( H, T ) while T is non-empty do v the first value in the ordered set T H new H {v} T T-{v} ;; preserve ordering c K-OPTIMIZE( k, H new, T, c ) T PRUNE( H, T, c ) return c Die Funktion K-OPTIMIZE wird initial mit ( k, /0, all, ) aufgerufen. Für aktuelle minimale Kosten c kann ein Wert aus einem anderen Algorithmus verwendet werden, sodass eine obere Grenze zumindest existiert. Alternativ kann auch ein Wert von einer vorherigen Berechnung mit einem größeren k verwendet werden. Der erste Aufruf realisiert einen Tiefendurchlauf durch den Baum, welcher aus den Kombinationen des Alphabets besteht. Die Wurzel ist zunächst die absolute Generalisierung. Das Head-Set ist eine leere Menge. Konkret bedeutet dies, dass alle Attribute durch "*" ausgedrückt werden. Das Tail-Set beinhaltet die Zahlen, die noch hinzuzufügen sind. Im Falle der Wurzel wären diese alle von 1 bis 9. In der nächsten Ebene (die Kinder der Wurzel) besteht das Head-Set des Knoten jeweils aus einem Element. Das erste Kind hätte beispielsweise den Wert 1, das Zweite den Wert 2, usw. Das Tail-Set des Knotens beinhaltet nun alle Werte außer dem Wert im Head-Set stehend. In der nächsten Ebene stehen nun zwei Werte im Head-Set. Das übrige Vorgehen kann nun analog fortgesetzt werden. Seminararbeit, FernUniversität in Hagen, WS2014/2015 Tobias Müller

77 2 K-Anonymity 9 Die Funktion REORDER-TAIL bewirkt eine Neuordnung der Tail-Menge. Es wird für die Werte der Grad der Aufspaltung betrachtet, welcher in der nächsten Ebene des Baumes entsteht. Die Werte werden absteigend nach diesem Grad sortiert. Diese Strategie hat sich unter Einbeziehung der Kostenmetrik als gute Lösung erwiesen. PRUNE( k, head set H, tail set T, best cost c ) ;; This function creates and returns a new ;; tail set by removing values from T that ;; cannot lead to anonymizations with cost ;; lower than c if COMPUTE-LOWER-BOUND( k, H, H T ) c then return /0 T new T for each v in T do H new H {v} if PRUNE( H, T new - {v}, c ) then T new T new - {v} if T new T then return PRUNE( H, T new, c ) else return T new Die Funktion PRUNE ruft sich selbst erneut auf, da durch die Entfernung eines Wertes sich auch die unterste Kostengrenze ändert. Dies macht einen erneuten Aufruf notwendig. Der Baum wird nun durch den Algorithmus rekursiv im Tiefendurchlauf durchlaufen. Das Ergebnis, das nach der Terminierung entsteht, ist die optimale Lösung des Optimierungsproblems, also die Anonymisierung mit den geringsten Kosten. Der Algorithmus lässt erahnen, dass mit einem geringer werdenden K auch die Performance signifikant sinkt. Die Wahl dieses Wertes sollte also mit Bedacht gewählt werden. Seminararbeit, FernUniversität in Hagen, WS2014/2015 Tobias Müller

78 2 K-Anonymity Bewertung der erreichten Privatsphäre Die K-Anonymity ist nur auf den ersten Blick eine gute Lösung. Es gibt mehrere Nachteile der K-Anonymity. [Hauf][MaGe] Die mehrfache Veröffentlichung der Daten mit unterschiedlichen Versionen der K-Anonymity erlaubt es, die Datensätzen mittels der veränderten Quasi-Identifier miteinander zu verbinden. Da bekannt ist, dass die Person in beiden Tabellen vorhanden sein muss, kann hierdurch mit geringen Aufwand eine Person identifiziert werden. Vor der Veröffentlichung muss daher eine Vorangegangene hinsichtlich der Erhaltung der Anonymität durch die neue Veröffentlichung geprüft werden. Beispielsweise würde ein Herr Felix Reiter mit bekanntem Quasi-Identifier identifiziert werden können, sofern die beiden Gruppen, welche durch die Quasi-Identifier gegeben sind durch ein weiteres Merkmal, welches in beiden Tabellen übereinstimmt, miteinander verknüpft werden. Ein weitere Möglichkeit die Anonymität eines Individuums aufzuheben, ist die mehrmalige Veröffentlichung einer gleich sortierten Tabelle. Durch die Verwendung von Quasi-Identifiers ist es aber trotzdem möglich, eine Person aus der Datenmenge heraus identifizieren zu können. Hierbei werden externe Datenquellen mit der anonymisierten Tabelle verknüpft. Dies ist nur dann möglich, wenn die Tupel durch ihre Lage verbunden werden können und bestimmte Merkmale in den Tabellen gegeben sind: Zum Einen müsste die selbe Reihenfolge vorliegen und zum Anderen die selben Personen enthalten sein. Um dies zu erschweren, sollten die k-anonymisierten Tabellen mit unterschiedlichen Reihenfolgen publiziert werden. Aber auch für den Fall, dass eine Person nicht identifiziert werden kann, muss die K-Anonymity kritisch betrachtet werden. Das Qualitätsmaß an sich bietet nämlich auch Nachteile. Falls alle Daten homogen sind und bekannt ist, dass ein Individuum sich in den Daten befindet, kann darauf auf persönliche Attribute geschlossen werden. Diese Attacke wird Homogenitätsangriff genannt. Eine weitere Attacke bietet die Situation, dass korrelierendes Wissen zur Person dem Angreifer bekannt ist. Der Angreifer kann nun nach dem Ausschlussprinzip die Person und somit die übrigen Attribute ermitteln. Seminararbeit, FernUniversität in Hagen, WS2014/2015 Tobias Müller

79 3 L-Diversity 11 3 L-Diversity Die K-Anonymity besitzt einige Nachteile, welche durch die L-Diversity beseitigt werden sollen. Die K-Anonmity ist - wie bereits dargelegt - kein absoluter Schutz vor Deanonymisierung der sensitiven Daten. Zum Einen kann versucht werden, die persönlichen (sensitiven) Attributwerte vorherzusagen. Zum Anderen kann per Ausschlussverfahren versucht werden, nicht zutreffende Attribute auszuschließen und so die Richtigen zu erraten. Ersteres würde sofort zum Verlust der Anonymität führen. Diese Nachteile sind deswegen unbedingt zu vermeiden. Grundsätzlich können die Algorithmen in theoretische und heuristische Algorithmen gegliedert werden. Die theoretischen Algorithmen schaffen bei einem möglichst geringen Informationsverlust jedoch meist nur K-Anonymity. Die heuristischen Algorithmen liefern eine deutlich bessere Performance und können mehrere Privacy-Kriterien (L-Diversity, T-Closeness) erfüllen. Vom Prinzip her ist bei der L-Diversity das Ziel, dass das Wissen über einen Datensatz vor und nach der Veröffentlichung möglichst gering bleiben soll. Das Hintergrundwissen wird als Wahrscheinlichkeitsfunktion über die Attribute modelliert. Bei der Erreichung der L-Diversity müssen zwei zentrale Problemstellungen gelöst werden. Zum Einen sollen so wenig Attribute wie möglich durch Sterne "*" ersetzt werden müssen, da so der Informationsgehalt abnimmt und relevante Daten verloren gehen können. Diesen Vorgang kann man auch Generalisierung nennen. Das Gegenteil der Generalisierung ist die Spezialisierung. Wenn man beispielsweise lediglich das Geburtsjahr publiziert, dann ist dies die Generlisierung des genauen Geburtsdatum (mit Tag und Monat der Geburt). Zum Anderen ist die Anzahl der betroffenen Tupel minimal zu halten. Beide Probleme werden später durch eine Kostenmetrik modelliert. Vereinfacht ausgedrückt, bedeuten hohe Kosten einen hohen Verlust an Information. Es gibt mehrere Ausprägungen bzw. Definitionen der L-Diversity [Hauf]: Entropy L-Diversity Die Form setzt voraus, dass jede Äquivalenzklasse, der aus den selben Tupeln besteht, mindestens L verschiedene Werte für das persönliche Merkmal aufweist. Diese Erfordernis schützt das Attribut vor einem L-1 Hintergrundwissen. Ein hohes L schützt daher umso mehr. Recursive( c, L )-Diversity Bei dieser Variante wird die Häufigkeit der Werte beachtet. Keines der Werte darf zu häufig vorkommen. c gibt an wie die Werte verteilt sind. Konkret bedeutet ein kleines c eine geringe Verteilung der Werte. Ein großes c lässt auf eine hohe Verteilung der Werte schließen. Der Parameter L gibt die Anzahl der Werte an, welche ausgeschlossen werden, bevor ein Wert als zu häufig kategorisiert werden kann. Positive Disclosure-Recursive( c, L )-Diversity Nicht alle Werte eines sensitiven Attributes haben negative Auswirkungen bei einer Deanonymisierung. Beispielsweise könnte der Wert "liquide" als positiver Wert angenommen werden. Individuen, von denen dieser Wert bekannt ist, müssen nicht mit negativen Auswirkungen rechnen. Im Kontext dieser Variante bedeutet dies, dass größere Häufungen dieser Werte erlaubt sind. Seminararbeit, FernUniversität in Hagen, WS2014/2015 Tobias Müller

80 3 L-Diversity 12 Positive/Negative Disclosure-Recursive( c1, c2, L )-Diversity Durch den zweiten Parameter wird der Anteil der nicht ausschließbaren Werte definiert, die in einer Tupel-Gruppe nicht unterdrückt werden dürfen. Multiple Sensitive Attribute Diese Form erlaubt mehrere sensible Attribute. Das Ziel ist letztendlich den Schutz zu gewährleisten auch, wenn schon ein anderes sensibles Attribut dem Angreifer bekannt ist. In der nachfolgenden Darstellung werden wir uns auf die Entropy L-Diversity beschränken, da sie am häufigsten Verwendung findet. 3.1 Beispiel Eine 2-Diversity verlangt, dass maximal 1/2 aller Tupel in der jeweiligen Quasi-Identifier(QI)- Gruppe die selben persönlichen Attribute haben. Die anonymisierte Tabelle aus der Einleitung über die K-Anonymity würde somit nicht dem Qualitätsmaß der 2-Diversity genügen, da die QI-Gruppe in Zeile 12 bis 13 mehr als 50% Ähnlichkeit haben. Die folgende Tabelle würde diese Voraussetzung jedoch erfüllen: Name Geburtsdatum Geschlecht PLZ Finanzen 1 **.**.1991 M 973** liquide 2 **.**.1991 M 973** pleite 3 **.**.1991 M 973** reich 4 **.**.1957 W 808** reich 5 **.**.1957 W 808** liquide 6 **.**.1957 W 808** pleite 7 **.**.1957 W 808** liquide 8 **.**.1964 M 570** reich 9 **.**.1964 M 570** liquide 10 * W * liquide 11 * W * pleite 12 **.**.1999 M 322** pleite 13 **.**.1999 M 322** reich Es mussten vier Werte komplett durch Sterne ersetzt werden, da diese Werte nicht besser spezialisiert werden konnten, unter Erhaltung der Anforderungen, das alle QI-Gruppen die gleichen Werte haben müssen. Die Generalisierung erstreckt sich über zwei Tupel. 3.2 Schwierigkeit der Sterne-Minimierung Wie schon angesprochen sollten so wenig Werte wie möglich generalisiert werden. Die Sternminimierung ist ein NP-Problem. Die Analyse von [XiYi10] zeigt, dass die Berechnung der optimalen L-Diversity für Werte m l 3 ein NP-schweres Optimierungsproblem ist, wobei m die Anzahl der verschiedenen Werte des zu schützenden "sensitive attribute" (SA) ist. In diesem Fall wäre das die Spalte Finanzen. Konkret bedeutet dies, dass es eine nicht deterministische Turingmaschine gibt, welche das Problem in Polynomialzeit lösen kann. [2] Seminararbeit, FernUniversität in Hagen, WS2014/2015 Tobias Müller

81 3 L-Diversity 13 Der Nachweis hierfür wurde über das dreidimensionale Matching-Problem erbracht. [XiYi10] Man ging dabei von drei gleich großen Dimensionen aus, welche drei disjunkte Mengen an QI-Werte-Tupel enthalten. Auf die Herleitung soll an dieser Stelle nicht weiter eingegangen werden. 3.3 Algorithmus: Tupel Minimierung Dieses Kapitel beschäftigt sich mit dem zweiten Problem der Tupel-Minimierung. Es wird ein Algorithmus vorgestellt, welcher mit einer Güte von l arbeitet. Dieser führt zu einer (l d)- Approximation, wobei d die Anzahl der Attribute des QI-Tupels ist. Diese Grenze nach Oben entsteht durch den ersten l-diversity-algorithmus mit einer Worst-Case-Grenze für den Informationsverlust. Der Algorithmus basiert im Vergleich zu anderen Werken auf einer Reihe neuartiger heuristischen Annahmen, die in der Praxis deutlich bessere Ergebnisse als die Worst- Case-Grenze liefern. Der Algorithmus ist in drei Phasen organisiert. Ein Tabelle mit sensiblen Informationen wird in QI-Gruppen organisiert. Die Tupel in diesen Gruppen haben alle die selben QI-Attribute (z.b. Geburtsjahr). Der Algorithmus soll nun so wenig Tupel wie möglich aus diesen QI-Gruppen entfernen. Es müssen am Ende des Algorithmus jedoch folgende Bedingungen erfüllt sein: 1. Alle QI-Gruppen sind l-eligible. 2. Die Menge aller entfernten Tupel sind l-eligible. l eligible bedeutet, dass bei gegebenem L und der Tupelmenge S maximal S /l den selben SA-Wert haben dürfen Erste Phase In der ersten Phase wird nun geprüft, ob die erste Bedingung erfüllt ist. Falls diese Bedingung erfüllt ist, wird als nächstes geprüft, ob auch die zweite erfüllt ist. Wenn ja, endet der Algorithmus umgehend. Der SA-Wert, der am häufigsten in einer QI-Gruppe auftritt, wird als Pillar bezeichnet. Es ist durchaus möglich, dass eine Gruppe mehrere Pillar-Werte hat. Zunächst wird in der ersten Phase für jede QI-Gruppe der Pillar-Wert bestimmt. Es wird nun pro QI-Gruppe ein Tupel mit dem Pillar-Wert entfernt bis die QI-Gruppe die erste Bedingung erfüllt. Es ist aber durchaus möglich, dass eine Gruppe mehrere Pillar-Werte hat. In diesem Fall wird zufällig einer gewählt. Es ist jedoch nicht ausreichend nur Tupel von dem einen Pillar-Wert zu entfernen. Daher ist es erforderlich auch Tupel aus den anderen Pillar-Werten zu entfernen bis die Bedingung erfüllt ist. Am Ende wird nun noch geprüft, ob die Menge der entfernen Tupel l-eligible ist. Hierfür wird geprüft, ob R l h(r) gilt. R ist die Menge der entfernten Tupel. h(r) liefert die Anzahl der Tupel, welche den Pillar-Wert enthalten. Wenn die Gleichung erfüllt ist, endet der Algorithmus. Andernfalls geht es mit der zweiten Phase weiter Zweite Phase Wenn der Algorithmus in der ersten Phase noch nicht terminiert ist, werden nun in der zweiten Phase Tupel entfernt ohne die erste Bedingung zu verletzten. Der Algorithmus wird terminiert Seminararbeit, FernUniversität in Hagen, WS2014/2015 Tobias Müller

82 3 L-Diversity 14 sobald die zweite Bedingung erfüllt ist. Wenn dies nicht der Fall ist, geht der Algorithmus in die dritte Phase über. Das Ziel dieser Phase ist die Erhöhung von R und dabei h(r) konstant zu halten, während Tupel aus den QI-Gruppen unter Einhaltung der ersten Bedingung entfernt werden. Die Erhöhung von R wird solange fortgeführt bis die Gleichung R l h(r) erfüllt ist. Für die weiteren Erklärungen werden zusätzliche Begriffe eingeführt. Nach der ersten Phase muss für jede QI-Gruppe gelten: Q l h(q). Q ist dünn, sofern gilt: Q = l h(q). Wenn Q größer ist, wird Q als dick bezeichnet. Wenn Q einen oder mehrere Pillar-Werte hat, die zugleich Pillar-Werte der Restmenge R sind, wird diese Gruppe als in Konflikt stehende Gruppe bezeichnet. Wenn die Gruppe Q sowohl eine dünne als auch eine in Konflikt stehende Gruppe ist, wird diese Gruppe als tot bezeichnet. Im anderen Fall ist diese Gruppe lebend. Tote Gruppen können keine weiteren Tupel verlieren ohne h(r) zu erhöhen oder die erste Bedingung zu verletzen. Ein SA-Wert wird als lebend bezeichnet, sofern es mindestens eine lebende QI- Gruppe gibt, in welcher dieser Wert auftritt. In jedem Durchlauf wird nun ein lebender SA-Wert v genommen, sodass h(r,v) minimal ist. Es handelt sich also um den Wert, der am wenigsten in den entfernten Tupeln auftritt. Wenn es mehrere dieser Werte gibt, wird einer zufällig aus diesen ausgewählt. Es kann auch passieren, dass kein Wert ausgewählt werden kann. In diesem Fall wird in die dritte Phase übergegangen. Ansonsten wird eine QI-Gruppe betrachtet, in welcher h(q,v)>0 gilt. In Abhängigkeit davon, ob Q dick ist, wird aus dieser Gruppe nun ein Tupel mit diesem SA-Wert v entfernt. Wenn Q dünn ist, kann es sich nicht um eine in Konflikt stehende Gruppe handeln. Deswegen kann von jedem Pillar-Wert ein Tupel entfernt werden. Dieses Vorgehen kann nicht h(r, v) erhöhen. Der Algorithmus endet nun, sofern R l-eligible ist. Andernfalls findet ein erneuter Durchlauf statt Dritte Phase In dieser Phase werden größere Mengen an Tupeln in der Hoffnung entfernt, dass dies zur Erreichung der zweiten Bedingung führt. In den meisten Fällen terminiert der Algorithmus bereits in den ersten beiden Phasen. Nach der zweiten Phase sind alle QI-Gruppen dünn, in Konflikt stehend und es gilt für die R-Menge: R < l h(r). Die zweite Phase hat lediglich R erhöht und h(r) konstant gelassen. Da dieses Vorgehen nicht zum Erfolgt gereicht hat, wird auch zugelassen h(r) zu erhöhen. Die dritte Phase ist rundenbasiert, wobei jede Runde aus zwei Schritten besteht. Im ersten Schritt werden einige QI-Gruppen als Menge S ausgewählt. Aus diesen Gruppen wird nun jeweils ein Tupel mit den Pillar-Werten entfernt. Im Ergebnis steigt nun h(r) an, ermöglicht aber auch, dass die QI-Gruppen dick werden können. Da sich nun auch die Pillar-Werte von R ändern, kann es passieren, dass bisher in Konflikt stehende Gruppen nicht mehr in Konflikt stehen. Eine entscheidende Rolle spielt die Wahl der QI-Gruppen für S. Initial wird der Menge P die Menge der Pillar-Werte von R zugewiesen. C(Q) besteht aus den Pillar-Werten der QI-Gruppe Q. Solange P nicht leer ist, wird die QI-Gruppe ausgewählt, die C(Q) P minimiert. Es wird P nun diese Menge C(Q) P zugewiesen. Im zweiten Schritt, werden für jede QI-Gruppe, welche nach dem ersten Schritt wieder lebend geworden ist, Tupel entfernt, bis diese wieder tot ist. Wenn die QI-Gruppe dick ist, wird von jedem SA-Wert, welcher nicht ein Pillar von R ist, ein Tupel entfernt. Im anderen Fall wird zunächst geprüft, ob die Gruppe in Konflikt steht. Wenn dies zutrifft, wird die Gruppe nicht weiter bearbeitet. Andernfalls wird von jedem Pillar-Wert aus dieser Gruppe ein Tupel entfernt. Sobald R an irgendeiner Stelle in dieser Phase l-eligible Seminararbeit, FernUniversität in Hagen, WS2014/2015 Tobias Müller

83 3 L-Diversity 15 wird, terminiert der Algorithmus. Ansonsten wird die nächste Runde durchlaufen Bewertung Die Performance des Algorithmus hängt sehr stark von der Anzahl der verschiedenen QI-Tupel ab. Eine hohe Anzahl an QI-Tupeln führt letztlich zu einer hohen Anzahl an QI-Gruppen, deren Werteanzahl mit einer hohen Wahrscheinlichkeit unter l liegt. Es kann daher passieren, dass alle Tupel in die Menge R verschoben werden. Letztlich führt dies zu einer hohen Anzahl an Sternen und somit einer hohen Generalisierung der Daten. Diese Gefahr besteht bei QI-Tupeln mit Attributen, die relativ viele verschiedene Werte enthalten, darunter zählt beispielsweise das Geburtsdatum. Nichtsdestotrotz zeigt der Algorithmus bei Attributen mit wenigen und mittelvielen Attributen eine gute Performance. Als Richtwert für eine gute Performance können Attribute mit weniger oder gleich zwanzig verschiedenen Werten angenommen werden. Andernfalls könnte man beispielsweise beim Geburtsdatum lediglich auf das Geburtsjahr und nicht auf das vollständige Datum zurückgreifen. Je nachdem in welcher Phase der Algorithmus endet, ist die Lösung: Erste Phase: optimal Zweite Phase: ein additiver Fehler von(l 1) entsteht Dritte Phase: ein vielfacher Fehler von l entsteht Seminararbeit, FernUniversität in Hagen, WS2014/2015 Tobias Müller

84 4 Resümee 16 4 Resümee Letztlich sind weder die K-Anonymity noch die L-Diversity ein absoluter Garant für die Gewährleistung der Anonymität eines Individuums. Die K-Anonymity schützt die Daten vor Verknüpfung mit den zugehörigen sensiblen Informationen des Individuums. Die L-Diversity verhindert durch ein vorausgesetztes Maß an Diversifikation der sensiblen Attribute in den Äquivalenzklassen die Offenlegung von Attributen durch Erraten oder nach dem Ausschlussprinzip. Beide Gütekriterien für die Anonymität von Daten haben somit ihre Nachteile. Eine Kombination beider Kriterien und deren Verfahren können hingegen zur Erreichung einer hohen Qualität führen. Neben den beiden Vorgestellten gibt es noch weitere Erweiterungen. Eines der Bekannteren ist die T-Closeness. Es erfordert, dass die Werte der/des sensiblen Attributes in den Äquivalenzklassen gleichmäßig über die gesamte Tabelle verteilt sind. Dies bedeutet, dass von einem Wert die relative Häufigkeit in einer Äquivalenzklasse nur bis zu einem gewissen Grad von den übrigen relativen Häufigkeiten in den anderen Äquivalenzklassen abweichen darf. Die vorgestellten Algorithmen für die Erreichung der K-Anonymity und der L-Diversity sind relativ ausgereift und zeigen in der Praxis eine gute Effizienz zwischen Aufwand und erreichter Anonymisierung. Seminararbeit, FernUniversität in Hagen, WS2014/2015 Tobias Müller

85 Literatur 17 Literatur [BaAg05] Roberto J. Bayardo und Rakesh Agrawal (2005). Data Privacy Through Optimal k-anonymization. Proceedings of the 21st International Conference on Data Engineering (ICDE 2005). [XiYi10] Xiaokui Xiao, Ke Yi und Yufei Tao (2010). The Hardness and Approximation Algorithms for L-Diversity. EDBT 2010, March 22 26, 2010, Lausanne, Switzerland. [Hauf] [MaGe] Dietmar Hauf, IPD Uni-Karlsruhe. Allgemeine Konzepte K-Anonymity, l-diversity and T-Closeness. Ashwin Machanavajjhala, Johannes Gehrke und Daniel Kifer. L-Diversity: Privacy Beyond k-anonymity. [1] Wikipedia - Data Masking; Aufgerufen am [2] Wikipedia - NP-Schwere; Aufgerufen am Seminararbeit, FernUniversität in Hagen, WS2014/2015 Tobias Müller

86

87 Stephan Schlößer Absichtliches Stören von Daten Seminar Wintersemester 2014/2015 Sicherheit und Privatsphäre in Datenbanken FernUniversität in Hagen - Seminar im Wintersemester 2014/2015 Sicherheit und Privatsphäre in Datenbanksystemen Thema 6: Absichtliches Stören von Daten Referent: Stephan Schlößer 1

88 Stephan Schlößer Absichtliches Stören von Daten Seminar Wintersemester 2014/2015 Sicherheit und Privatsphäre in Datenbanken Einleitung Einführung Überblick über das Thema Datenbanken spielen eine wichtige Rolle sowohl in Wissenschaft als auch Wirtschaft. Typischerweise enthalten Datenbanken jeglicher Organisationen sowohl vertrauliche als auch nicht-vertrauliche Daten. Zielsetzung bei der Datenbankadministration sollte es sein, einen möglichst großen Teil aller Daten zur Entscheidungsfindung und wissenschaftlichen Analyse zur Verfügung zu stellen, ohne dabei in die Privatsphäre von einzelnen Individuen einzugreifen, indem vertrauliche Daten offen gelegt werden. Dazu können statistische Datenbanksysteme eingesetzt werden, die es für vertrauliche Informationen nur ermöglichen Gesamtstatistiken, wie Mittelwerte, Varianzen oder Korrelationen, abzufragen, ohne dabei einzelne vertrauliche Datensätze offen zu legen. Um zu verhindern, dass böswillige Abfragen trotzdem einzelne vertrauliche Daten offen legen, sollten die ursprünglichen Daten so verändert werden, dass die Gesamtstatistiken möglichst wenig beeinflusst, die einzelnen vertraulichen Daten aber möglichst stark gestört werden. Zur Störung von Daten existieren unterschiedliche Verfahren, von denen im Folgenden mehrere vorgestellt und bewertet werden. Anmerkungen zur Notation Im Folgenden werden Vektoren (hier in der Regel der Tupel aller Werte eines Attributs einer Datenbank) durch Fettdruck gekennzeichnet. Außerdem werden folgende Zeichen verwendet: X Y S Vektor der ursprünglichen vertraulichen Attribute Vektor der gestörten vertraulichen Attribute Vektor der nicht-vertraulichen Attribute Vektor der Mittelwerte von Q Kovarianzmatrix zwischen Q und P Motivation Motivation zum Stören von Daten Das reine Beschränken des Zugangs auf Datenbankabfragen von statistischen Kennzahlen für vertrauliche Attribute ist nicht ausreichend zum Schutz vor unerlaubten Enthüllungen. Durch böswillige Abfragen kann ein Nutzer, besonders wenn er ausreichende Kenntnisse der entsprechenden Organisation hat, Zugang zu vertraulichen Daten erhalten. Z.B. kann bei Kenntnis der Identität des bestbezahlten Mitarbeiters in einer Unternehmensdatenbank dessen Gehalt einfach über eine Abfrage des Maximums der Gehaltswerte ermittelt werden, auch wenn diese als vertraulich behandelt sind. 2

89 Stephan Schlößer Absichtliches Stören von Daten Seminar Wintersemester 2014/2015 Sicherheit und Privatsphäre in Datenbanken Weiterhin könnte ein Nutzer, durch Kenntnis dass in einem Unternehmen nur ein weiblicher Angestellter arbeitet, alleine durch Abfrage der Mittelwerte von vertraulichen Informationen aller weiblichen Mitarbeiter die genauen Werte bezüglich dieser einen Mitarbeiterin finden. Es wäre möglich den Zugriff auf statistische Datenbankabfragen zu verbieten, die zu wenige oder sehr viele Datensätze beinhalten. (Restricted Query Set Size) (Tendick und Matloff, 1994) 1 Das heißt nur Abfragen zuzulassen die mindestens k und höchstens n-k Datensätze einbeziehen (in einer Datenbank mit n Datensätzen ). Mit steigendem Parameter k steigt dann zwar die Sicherheit, aber es lassen sich auch immer weniger aussagekräftige statistische Abfragen durchführen. Um möglichst viele Arten von Abfragen zu ermöglichen wurden Methoden entwickelt, die die vertraulichen Daten verändern und jegliche Statistiken werden mit Hilfe dieser veränderten Daten berechnet. (Tendick und Matloff, 1994) 1 Anforderungen und potentielle Probleme beim Stören von Daten Die Veränderung (Störung) der vertraulichen Daten soll so geschehen, dass die erhaltenen Statistiken möglichst gering dadurch beeinflusst werden, die gestörten Daten aber nur wenig auf die ursprünglichen vertraulichen Daten schließen lassen. Außerdem sollte es auch möglich sein vertrauliche Attribute als Selektionsvariablen in Datenbankabfragen zu verwenden (Confidential Attributes Used for Selection CAUS), da sonst viele statistische Analysen behindert werden können. (Tendick und Matloff, 1994) 1 Durch die Störung der vertraulichen Daten können jedoch, je nach dem auf welche Art sie verändert werden, unterschiedliche Verzerrungen in den erhaltenen Statistiken entstehen, die Ergebnisse und Entscheidungen stark beeinflussen können. Außerdem kann, je nach Grad der Störung, von den gestörten Attributwerten zumindest auf die Größenordnung der ursprünglichen Werte geschlossen werden. Vorstellung eines Beispiels Das folgende Beispiel, an dem die unterschiedlichen Methoden zur Datenstörung demonstriert werden, ist einem Paper von Muralidhar, Parsa und Sarathy (1999) 2 entnommen. Es handelt sich dabei um eine beispielhafte Bank, die Daten zu Kunden und ihren Einlagen, in Form von direkten Spareinlagen und außerbörslich gehandelten Geschäften (CDs etc.), in ihrer Datenbank gespeichert hat. Diese Daten sind, aus der Sicht eines Bankmitarbeiters, nichtvertrauliche Daten. Zusätzlich hat die Bank jedoch weitere Daten zu Wohneigentum, Aktien/Anleihen und ausstehenden Verbindlichkeiten ihrer Kunden erhoben, um z.b. neue Finanzprodukte gezielter entwickeln oder ihre operationale Strategie mit Hilfe umfangreicherer Informationen planen zu können. Die Kunden haben diese Informationen unter der Voraussetzung herausgegeben, dass nur aggregierte Informationen verwendet werden und die individuellen Daten für niemanden offen gelegt werden. Es handelt sich dabei also, auch aus der Sicht eines Bankmitarbeiters, um vertrauliche Informationen. Die Datenbank enthält insgesamt Kunden-Datensätze. In Tabelle 1 sind dazu als beispielhafte Gesamtstatistiken wie Mittelwerte, Standardabweichungen und 3

90 Stephan Schlößer Absichtliches Stören von Daten Seminar Wintersemester 2014/2015 Sicherheit und Privatsphäre in Datenbanken Korrelationskoeffizienten zwischen den einzelnen Attributen angegeben. Mittelwert und Standardabweichung sind dabei jeweils in 1000er Dollar angegeben. Tabelle 1: Statistiken für die Beispieldatenbank nach Muralidhar, Parsa und Sarathy (1999) 2 Attribut Wohneigentum Spareinlagen Aktien/ Anleihen Verbindlichkeiten Spareinlagen CDs, etc. Wohneigentum ,00 1,00 Aktien/ Anleihen 50 10,00 0,70 1,00 Korrelationen Verbindlichkeiten 80 20,00 0,80 0,75 1,00 Mittelwert Standardabweichung 20 5,00 0,50 0,40 0,25 1,00 CDs, etc ,00 0,30 0,20 0,15 0,60 1,00 Hauptteil Maße für statistische Verzerrungen und Sicherheit in gestörten Daten Bevor die Entwicklung der Methoden zur Störung von Daten betrachtet werden kann, muss festgestellt werden, wie die durch deren Anwendung entstehenden Verzerrungen bewertet werden können und wie die Sicherheit gegenüber Freilegung der vertraulichen Daten gemessen werden kann. Statistische Verzerrung gestörter Daten Alle folgenden Methoden haben gemeinsam, dass der Mittelwert der Attribute, bei einer ausreichend großen Datenmenge, durch die Störung nicht verändert wird. Der Stör-Term wird normalerweise mit einem Mittelwert von 0 (bzw. 1 im multiplikativen Fall) erzeugt und so gleichen sich die Abweichungen der gestörten Daten im Mittel wieder aus. Es folgt eine Klassifizierung der unterschiedlichen Arten von Verzerrungen, die bei der Störung auftreten können. (Muralidhar, Parsa und Sarathy 1999) 2 Typ A Verzerrung Durch Störung eines einzelnen Attributes kann die Varianz dieses Attributes gesteigert werden, was sich auch auf andere Gesamtstatistiken, wie z.b. die Verteilung von Quantilen, auswirkt. Diese Verzerrung der Statistiken zu einzelnen Attributen wird als Typ A Verzerrung bezeichnet. Als Beispiel wird dazu die Änderung der Standardabweichung betrachtet werden. Typ B Verzerrung Durch die Störung der Attribute können sich die Beziehungen von vertraulichen (und damit gestörten) Attributen untereinander ändern. Diese, durch Änderungen der Varianzen oder Kovarianzen hervorgerufene, Verzerrung wird als Typ B Verzerrung bezeichnet. 4

91 Stephan Schlößer Absichtliches Stören von Daten Seminar Wintersemester 2014/2015 Sicherheit und Privatsphäre in Datenbanken Im Beispiel werden dazu die Korrelationskoeffizienten zwischen den vertraulichen Attributen betrachtet. Typ C Verzerrung Die Störung kann auch zur Veränderung der Beziehungen zwischen vertraulichen (gestörten) und nicht-vertraulichen (nicht-gestörten) Attributen führen. Auch diese Verzerrung hängt mit der Änderung der Varianzen und/oder der Änderung der Kovarianzen zwischen gestörten und nichtgestörten Attributen zusammen. Sie wird als Typ C Verzerrung bezeichnet. Im Beispiel werden dazu die Korrelationskoeffizienten zwischen vertraulichen und nichtvertraulichen Attributen betrachtet. Typ D Verzerrung Wenn die grundlegende Verteilung der Datenbank keine multivariante Normalverteilung ist und/oder die Störterme nicht multivariant normalverteilt sind, kann die Form der gestörten Datenbank nicht immer vorausgesagt werden. Dadurch können Werte wie Quantile, konditionale Mittelwerte oder Summen verändert sein. Die Auswirkungen dieser Verzerrungen auf die statistischen Maße sind die gleichen wie bei der Typ A Verzerrung, da jedoch die grundlegende Ursache eine andere ist, wird dies als eigener Fall betrachtet und als Typ D Verzerrung bezeichnet. Im Beispiel ist die grundlegende Verteilung der Datenbank eine multivariante Normalverteilung und es wird grundsätzlich davon ausgegangen, dass die Störterme auch aus einer multivarianten Normalverteilung erzeugt werden, so dass diese Art von Verzerrung nicht auftritt. Sicherheit gestörter Daten Sicherheit von Einzelattributen Die Sicherheit einzelner Attribute wird als die Varianz des Unterschieds zwischen den tatsächlichen Werten X und den gestörten Werten Y berechnet. (Adam und Wortmann, 1989) 3 Zur besseren Vergleichbarkeit wird dieser Wert noch mit der Varianz des ursprünglichen Attributes normalisiert: 1 = Dieser Wert misst die Sicherheit, die durch die Störung gegeben ist, wenn der originale Attributwert nur aus dem gestörten Attributwert abgeschätzt werden soll. Sicherheit von Linearkombinationen von Attributen Zusätzlich zur reinen Abschätzung der vertraulichen Attributwerte aus den gestörten Werten, könnten Linearkombinationen der vertraulichen Attributwerte mit Hilfe von Linearkombinationen der beobachteten Werte der gestörten Attribute und der Werte der nichtvertraulichen Attribute abgeschätzt werden. Es lässt sich zeigen dass die beobachtete Varianz bei einer solchen Abschätzung von Linearkombinationen vertraulicher Attribute niedriger ist, als im Fall von einzelnen gestörten Attributen. (Tendick, 1991) 4 5

92 Stephan Schlößer Absichtliches Stören von Daten Seminar Wintersemester 2014/2015 Sicherheit und Privatsphäre in Datenbanken Um die Sicherheit gegenüber der Abschätzung von Linearkombinationen zu messen, wird per kanonischer Korrelationsanalyse der maximale Anteil an Varianz λ berechnet, der durch Linearkombinationen von bekannten Attributen (sowohl nicht-vertrauliche, als auch gestörte) für die originalen vertraulichen Attribute erklärt werden kann. (Johnson und Wichern, 1992) 5 = 1 Für jegliche Linearkombination vertraulicher Attribute bleibt also mindestens ein Anteil der Varianz in Höhe von S2 durch Linearkombinationen beliebiger bekannter Attribute unerklärt. Evolution der Methoden zur Datenstörung Im Folgenden wird die Entwicklung der Methoden zur Datenstörung dargestellt und die einzelnen Methoden in Hinsicht auf Sicherheit und statistische Verzerrung bewertet. Simple Additive Data Perturbation Die Simple Additive Data Pertubation (SADP) ist die einfachste Form der Additive Data Pertubation Methoden, zu denen alle, bis auf die multiplikative Variante, der im Folgenden vorgestellten Methoden gehören. Dabei wird ein Stör-Term e zu den ursprünglichen vertraulichen Attributwerten X addiert, um die gestörten Werte Y zu erhalten: = + Die Verteilung des Stör-Terms hat einen Mittelwert von 0, so dass sich die addierten Werte im Mittel gegenseitig ausgleichen. Im einfachen Fall der SADP wird jedes Attribut Xi unabhängig von den anderen gestört und einfach eine normalverteilte Zufallsvariable mit Mittelwert 0 und Varianz dxi zum jeweiligen Attributwert addiert. Durch den Parameter d kann der Grad der Störung im konkreten Fall gewählt werden. Mit steigendem d und damit auch steigender Varianz der Stör-Terme steigt die Sicherheit, aber auch der Grad der Verzerrung. In Tabelle 2 sind die Statistiken der Beispieldatenbank nach Störung per SADP mit d = 1,0 wiedergegeben. (Muralidhar, Parsa und Sarathy, 1999) 2 Man kann sehen, dass sich die Mittelwerte nicht geändert haben, jedoch die Standardabweichungen unterschiedlich sind. Es entsteht also eine Typ A Verzerrung. Weiterhin sind die Korrelationen zwischen den vertraulichen Attributen untereinander und zwischen vertraulichen Attributen und nicht-vertraulichen Attributen verändert. Also entsteht eine Typ B und Typ C Verzerrung. Durch die Addition der Stör-Term wurden die Varianzen der Attribute erhöht und die ursprüngliche Korrelationsstruktur verzerrt. Solange die Stör-Terme multivariant Normalverteilt sind, sind auch die Werte in der neuentstandenen gestörten Datenbank multivariant normalverteilt und es entsteht keine Typ D Verzerrung. Die Sicherheit für einzelne Attribute ist mit 1,00 im adäquaten Bereich, jedoch ist die Sicherheit für Linearkombinationen mit 0,26 relativ gering. 6

93 Stephan Schlößer Absichtliches Stören von Daten Seminar Wintersemester 2014/2015 Sicherheit und Privatsphäre in Datenbanken Tabelle 2: Beispieldatenbank nach Störung per SADP Attribut Wohneigentum Spareinlagen Aktien/ Anleihen Verbindlichkeiten Spareinlagen CDs, etc. Wohneigentum ,28 1,00 Aktien/ Anleihen 50 14,14 0,35 1,00 Korrelationen Verbindlichkeiten 80 28,28 0,40 0,38 1,00 Mittelwert Standardabweichung 20 5,00 0,36 0,28 0,18 1,00 CDs, etc ,00 0,21 0,14 0,12 0,60 1,00 Sicherheitsmaß Einzelattribut: 1,00 Sicherheitsmaß Linearkombinationen: 0,26 Correlated-Noise Additive Data Perturbation Dies von Kim (1986) 6 und Tendick (1991) 4 vorgeschlagene Modifikation der SADP Methode, Correlated-Noise Additive Data Pertubation (CADP), stört die einzelnen Attribute nun nicht mehr unabhängig voneinander, sondern nutzt miteinander korrelierte Stör-Terme. Dazu wird zum Vektor der vertraulichen Attribute X ein Stör-Vektor e addiert, der aus einer multivarianten Normalverteilung mit einem Nullvektor als Mittelwertvektor und der mit d skalierten Kovarianzen von X als Kovarianzmatrix d XX addiert. In Tabelle 3 sind die Statistiken der Beispieldatenbank nach Störung per CADP mit d = 1,0 wiedergegeben. (Muralidhar, Parsa und Sarathy, 1999) 2 Auch hier sind die Standardabweichungen verzerrt (Typ A Verzerrung), aber die Korrelationen zwischen den vertraulichen Attributen sind nicht verändert. (keine Typ B Verzerrung) Die Beziehungen zwischen den vertraulichen und den nicht-vertraulichen Attributen wurden jedoch verzerrt. (Typ C Verzerrung) Da sowohl die Ausgangsdatenbank, als auch die Stör-Terme, multivariant normalverteilt sind, gibt es keine Typ D Verzerrung. Die Sicherheit für Einzelattribute ist mit 1,00 genauso hoch wie bei der SADP-Methode, während die Sicherheit für Linearkombinationen mit 0,39 höher, aber immer noch relativ gering ist. 7

94 Stephan Schlößer Absichtliches Stören von Daten Seminar Wintersemester 2014/2015 Sicherheit und Privatsphäre in Datenbanken Tabelle 3: Beispieldatenbank nach Störung per CADP Attribut Wohneigentum Spareinlagen Aktien/ Anleihen Verbindlichkeiten Spareinlagen CDs, etc. Wohneigentum ,28 1,00 Aktien/ Anleihen 50 14,14 0,70 1,00 Korrelationen Verbindlichkeiten 80 28,28 0,80 0,75 1,00 Mittelwert Standardabweichung 20 5,00 0,36 0,28 0,18 1,00 CDs, etc ,00 0,21 0,14 0,11 0,60 1,00 Sicherheitsmaß Einzelattribut: 1,00 Sicherheitsmaß Linearkombinationen: 0,39 Bias-Corrected Correlated-Noise Additive Data Perturbation Tendick und Matloff (1994) 1 entwickelten eine modifizierte Form der CADP, die Bias- Corrected Correlated-Noise Additive Data Pertubation (BCADP) Methode. Augenmerk wurde dabei vor allem auf das Ausschalten der Typ A Verzerrung gelegt, da sich diese, solange auch vertrauliche Attribute zur Selektion genutzt werden können, auch auf die Abfrage von bedingten Mittelwerten und auf die Statistik von Verhältnissen auswirkt. (Tendick und Matloff, 1994) 1 Hierbei werden die, durch die CADP gestörten Attributwerte, einer linearen Transformation unterzogen, die auch die Mittelwerte der vertraulichen Attribute beinhaltet: Y = 1/d 1 X + e + / 1 Mit 1 = 1 +,5, = 1 1, als Mittelwertvektor von X und d dem gewünschten Niveau der Störung. Stör-Vektor e hat eine multivariante Normalverteilung mit einem Nullvektor als Mittelwert- Vektor und Kovarianzmatrix dσ (genau wie bei der CADP). In Tabelle 4 sind die Statistiken der Beispieldatenbank nach Störung per BCADP mit d = 1,0 wiedergegeben. (Muralidhar, Parsa und Sarathy, 1999) 2 Man kann sehen dass die Typ A Verzerrung tatsächlich ausgeschaltet wurde, da die Standardabweichungen den ursprünglichen entsprechen. Genau wie bei der CADP gibt es auch keine Typ B oder Typ D Verzerrung, jedoch sind die Beziehungen zwischen vertraulichen und nicht-vertraulichen Attributen immer noch verändert. (Typ C Verzerrung) Die Sicherheit für Einzelattribute ist durch die geringere Varianz der Unterschiede zwischen gestörten und ursprünglichen Attributwerten jedoch nur noch bei 0,58. Die Sicherheit für Linearkombinationen bleibt wie bei der CADP-Methode bei 0,39. 8

95 Stephan Schlößer Absichtliches Stören von Daten Seminar Wintersemester 2014/2015 Sicherheit und Privatsphäre in Datenbanken Tabelle 4: Beispieldatenbank nach Störung per BCADP Attribut Wohneigentum Spareinlagen Aktien/ Anleihen Verbindlichkeiten Spareinlagen CDs, etc. Wohneigentum ,00 1,00 Aktien/ Anleihen 50 10,00 0,70 1,00 Korrelationen Verbindlichkeiten 80 20,00 0,80 0,75 1,00 Mittelwert Standardabweichung 20 5,00 0,36 0,28 0,18 1,00 CDs, etc ,00 0,21 0, ,60 1,00 Sicherheitsmaß Einzelattribut: 0,58 Sicherheitsmaß Linearkombinationen: 0,39 Multiplicative Data Perturbation Eine weitere Möglichkeit der Störung ist es, den Stör-Term nicht zu den vertraulichen Attributwerten zu addieren, sondern diese miteinander zu multiplizieren. Bei der Multiplicative Data Pertubation (MDP) wird jedes Attribut X unabhängig von den anderen mit einem Stör-Term e multipliziert, welcher aus einer Normalverteilung mit Mittelwert 1 und Varianz dx erzeugt wird. Auch hier kann durch den Parameter d der durch die Störung entstehende Grad an Sicherheit und Verzerrung eingestellt werden. Da die Mittelwerte der Stör-Term-Verteilung 1 betragen, sollte sich auch hier, bei einer ausreichenden Anzahl von Werten, der Mittelwert der gestörten Attribute nicht ändern. In Tabelle 5 sind die Statistiken der Beispieldatenbank nach Störung per MDP mit d = 1,0 wiedergegeben. (Muralidhar, Parsa und Sarathy, 1999) 2 Man sieht dass sich die Standardabweichungen geändert haben (Typ A Verzerrung) und auch die Beziehungen zwischen vertraulichen Attributen untereinander, sowie zwischen vertraulichen und nicht-vertraulichen Attributen verändert sind. (Typ B und Typ C Verzerrung) Durch die Multiplikation ist die entstehende Verteilung nicht mehr garantiert multivariant normal, so dass hier auch eine Typ D Verzerrung entsteht. Die Sicherheit für Einzelattribute ist mit 1,04 gut, jedoch ist die Sicherheit für Linearkombinationen mit 0,27 relativ gering. 9

96 Stephan Schlößer Absichtliches Stören von Daten Seminar Wintersemester 2014/2015 Sicherheit und Privatsphäre in Datenbanken Tabelle 5: Beispieldatenbank nach Störung per MDP Attribut Wohneigentum Spareinlagen Aktien/ Anleihen Verbindlichkeiten Spareinlagen CDs, etc. Wohneigentum ,57 1,00 Aktien/ Anleihen 50 14,28 0,35 1,00 Korrelationen Verbindlichkeiten 80 28,57 0,39 0,37 1,00 Mittelwert Standardabweichung 20 5,00 0,35 0,28 0,18 1,00 CDs, etc ,00 0,21 0,14 0,11 0,60 1,00 Sicherheitsmaß Einzelattribut: 1,04 Sicherheitsmaß Linearkombinationen: 0,27 General Additive Data Perturbation Um die Verzerrung der Beziehungen zwischen vertraulichen und nicht-vertraulichen Attributen auszuschalten und die Sicherheit von Linearkombinationen zu verbessern, wurde von Muralidhar, Parsa und Sarathy (1999) 2 eine weitere Form der additiven Störmethoden entwickelt. Die Genereal Additive Data Pertubation (GADP) Methode kann, wie man aus dem Namen schließen kann, als verallgemeinerte Form der additiven Störmethoden angesehen werden. Diese Methode berücksichtigt auch die Beziehungen zwischen vertraulichen und nichtvertraulichen Attributen zur Erzeugung der gestörten Attribute. Sei = {, } die Gesamtmenge von p vertraulichen und q nicht vertraulichen Attributen in der Datenbank mit Mittelwertvektor = [, ] und der Kovarianzmatrix [ Σ Σ Σ ]. Zur Störung der Daten wird ein bedingter Zufallsvektor = für die i-te Beobachtung in der Datenbank = = [ 1,,,, 1,,, ] erzeugt. Die Verteilung von = ist eine multivariante Normalverteilung mit folgendem Erwartungswert und folgender Varianz: (Graybill, 1976) 7 = = + Σ Σ 1 = = Σ Σ Σ 1 Σ Wobei Σ = [Σ Σ ] ist. Alle diese bedingten Zufallsvektoren zusammengenommen sind dann die gestörten Werte von X. Diese Werte sind multivariant normalverteilt mit Erwartungswert und der Kovarianzmatrix Σ. (Johnson und Wichern, 1992) 5 Außerdem basieren die gestörten Werte nicht nur auf den vertraulichen, sondern auch auf den nicht-vertraulichen Attributen. 10

97 Stephan Schlößer Absichtliches Stören von Daten Seminar Wintersemester 2014/2015 Sicherheit und Privatsphäre in Datenbanken Im Gegensatz zu den anderen Störmethoden gibt es hier somit 3 Parameter, die gewählt werden können, um Sicherheit und Verzerrung zu beeinflussen, nämlich die 3 Kovarianzmatrizen Σ, Σ, Σ. Durch geeignete Wahl der Parameter können durch die GADP alle anderen vorgestellten additiven Methoden der Störung repliziert werden. Z.B. erhält man das gleiche Ergebnis der Störung wie bei der BCADP, wenn man die Parameter als Σ = Σ, Σ = 1 1 Σ und Σ = 1 1 Σ wählt. Mit günstig gewählten Parametern kann bei der GADP jede Form der zuvor diskutierten Verzerrungen vermieden werden. Sei G die gesamte Kovarianzmatrix von den vertraulichen Attributen X, den nicht vertraulichen Attributen S und den gestörten vertraulichen Attributen Y. Σ Σ = [ Σ Σ ] Σ Σ Σ Eine Beobachtung der ungestörten Datenbank würde die Kovarianzmatrix [ Σ Σ während eine Beobachtung nach der Störung die Kovarianzmatrix [ Σ Σ Σ ] ergibt. Σ ] ergeben, Setzt man nun die Parameter Σ = Σ XX, Σ = Σ erhält man die Kovarianzmatrix [ Σ Σ Σ XX ] und man kann erkennen dass die Matrix der transponierten Form der Matrix der ungestörten Datenbank entspricht. Es werden also in diesem Fall genau die gleichen Werte beobachtet und es gibt keine Typ A, B oder C Verzerrung. Solange die Voraussetzung der multivarianten Normalverteilung erfüllt ist, gibt es auch keine Typ D Verzerrung. Die Wahl des verbleibenden Parameters Σ bleibt dann von der gewünschten Sicherheitsstufe abhängig. Der Parameter kann so gewählt werden, dass die Sicherheit maximiert wird, ohne Verzerrungen einzuführen. Da die nicht-vertraulichen Attribute S immer beobachtet und auch aus ihnen alleine die vertraulichen abgeschätzt werden können, ist die maximale Sicherheit von der Beziehung zwischen X und S abhängig. Sei der kanonische Korrelationskoeffizient zwischen X und S. Dann kann ein Anteil von der Varianz in Linearkombinationen von X alleine durch Linearkombinationen von S erklärt werden. Also kann nur ein Anteil von 1 unerklärt bleiben. Diese maximal mögliche Sicherheit kann durch Wahl von Σ = Σ erreicht werden. In Tabelle 6 sind die Statistiken der Beispieldatenbank nach Störung per GADP mit Σ = Σ, Σ = Σ und Σ =,35Σ wiedergegeben. (Muralidhar, Parsa und Sarathy, 1999) 2 Wie erwartet lässt sich weder Typ A, noch Typ B oder Typ C Verzerrung in den gestörten Daten beobachten. Die Sicherheit für Einzelattribute ist mit 1,30 gut und die Sicherheit für Linearkombinationen mit 0,65 beim theoretisch höchsten Wert. 11

98 Stephan Schlößer Absichtliches Stören von Daten Seminar Wintersemester 2014/2015 Sicherheit und Privatsphäre in Datenbanken Tabelle 6: Beispieldatenbank nach Störung per GADP Attribut Wohneigentum Spareinlagen Aktien/ Anleihen Verbindlichkeiten Spareinlagen CDs, etc. Wohneigentum ,00 1,00 Aktien/ Anleihen 50 10,00 0,70 1,00 Korrelationen Verbindlichkeiten 80 20,00 0,80 0,75 1,00 Mittelwert Standardabweichung 20 5,00 0,50 0,40 0,25 1,00 CDs, etc ,00 0,30 0,20 0,15 0,60 1,00 Sicherheitsmaß Einzelattribut: 1,30 Sicherheitsmaß Linearkombinationen: 0,65 Endteil Schlussfolgerungen Mit der GADP-Methode lassen sich vertrauliche Daten, bei richtiger Wahl der Parameter, so stören, dass keine Verzerrungen in daraus berechneten statistischen Maßzahlen auftreten und sowohl eine hohe Sicherheit bezüglich der Abschätzung von Einzelattributen, als auch eine maximale Sicherheit in Bezug auf Linearkombinationen gegeben ist. Die anderen additiven Störmethoden wurden nach und nach zur allgemeinen Form der GADP- Methode verfeinert und so gibt es kaum einen Grund diese anzuwenden. Nur die MDP-Methode verfolgt einen anderen Ansatz, aber solange diese nicht ähnlich weiterentwickelt wird, scheint sie nur zu größeren Verzerrungen, bei schlechterer Sicherheit zu führen. Ein weiterer Vorteil der GADP-Methode ist der Einfluss von 3 Parametern, so dass sie sehr flexibel für eine konkrete Datenbank implementiert werden kann. Außerdem werden bei GADP auch die Beziehungen zwischen nicht-vertraulichen und vertraulichen Attributen berücksichtigt. Nachteilig lässt sich hervorheben, dass all dies nur gilt, wenn die Datenbank einer multivarianten Normalverteilung folgt. Die Autoren heben jedoch hervor, dass Simulationsstudien darauf hinweisen, dass die GADP auch im nicht-normalverteilten Fall gute Ergebnisse liefert, diese Fälle aber generell schwer theoretisch zu analysieren sind. (Muralidhar, Parsa und Sarathy, 1999) 2 Weiterhin ist die GADP sicher nicht so einfach zu implementieren wie z.b. die SDP-Methode. Ein Datenbankadministrator braucht zumindest solide Kenntnisse in Statistik, um die Methode mit den richtigen Parametern fehlerfrei zu implementieren. 12

99 Stephan Schlößer Absichtliches Stören von Daten Seminar Wintersemester 2014/2015 Sicherheit und Privatsphäre in Datenbanken Literaturliste 1. Tendick and Matloff, A Modified Random Pertubation Method for Database Security. ACM Transactions on Database Systems, Vol.19, No.1, March 1994, pp Muralidhar, Parsa and Sarathy, A General Additive Data Pertubation Method for Database Security. Management Science, Vol. 45, No. 10, October 1999, pp Adam and Wortmann, Security control methods for statistical databases: A comparative study. ACM Comput. Surveys 21(4) pp Tendick, Optimal noise addition for preserving confidentiality in multivariate data. J. Statist. Planning and Inference 27(2) pp Johnson und Wichern, Applied Multivariate Statistical Analysis. Prentice-Hall, Englewood Cliffs, NJ. 6. Kim, A method for limiting disclosure in microdata based on random noise and transformation. ASA Proc. Survey Res. Section Graybill, Theory and Applicatin of the Linear Model. Duxbury Press, North Scituate, MA. 13

100

101 Seminar / im Wintersemester 2014/2015 Sicherheit und Privatsphäre in Datenbanksystemen Thema 9: Attacken Referent: Stella Nieto-Ernst

102 1 1 Einführung in die Sicherheitsaspekte Als Informationssicherheit bezeichnet man Eigenschaften von informationsverarbeitenden und - lagernden (technischen oder nicht-technischen) Systemen, die die Schutzziele: Vertraulichkeit, Verfügbarkeit und Integrität sicherstellen. Informationssicherheit dient dem Schutz vor Gefahren bzw. Bedrohungen, der Vermeidung von wirtschaftlichen Schäden und der Minimierung von Risiken. Jedes noch so gut geplante und umgesetzte IT-System kann Schwachstellen besitzen. Sind bestimmte Angriffe zum Umgehen der vorhandenen Sicherheitsvorkehrungen möglich, ist das System verwundbar. Nutzt ein Angreifer eine Schwachstelle oder eine Verwundbarkeit zum Eindringen in ein IT-System, sind die Vertraulichkeit, Datenintegrität und Verfügbarkeit bedroht (englisch: threat). Angriffe auf die Schutzziele bedeuten für Unternehmen Angriffe auf reale Unternehmenswerte, im Regelfall das Abgreifen oder Verändern von unternehmensinternen Informationen. [1] 1.1 Angreifermodelle Zur Erfassung der möglichen Bedrohungen für ein System ist es zunächst erforderlich, potenzielle Angriffe zu beschreiben. Auf Angreifer muss entsprechend des Schadenspotentials der Angreifer und der Schutzziele des Angegriffenen reagiert werden können. Dazu ist die Analyse der einzelnen Schutzziele und des Angreifermodells notwendig. Um ein möglichst hohes Sicherheitsniveau zu gewährleisten, wird im Angreifermodell grundsätzlich die maximal berücksichtigte Stärke des Angreifers definiert. 1.2 Verschlüsselungsverfahren zum Erreichen der definierten Schutzziele Es gibt Gründe, die eindeutig dafür sprechen, Datenbanken zu verschlüsseln. Vorsichtsmaßnahmen nach Ermessen reichen nicht aus. Das Ziel der Verschlüsselung ist es, die Vertraulichkeit von Daten zu erreichen. Bei unverschlüsselten Daten spricht man von Klartext. Dieser wird durch Verschlüsselung in Kryptotext oder Chiffretext überführt. Nur die berechtigten Parteien sollen dann in der Lage sein, den Chiffretext wieder in Klartext zu überführen, also an die Nachricht oder Daten zu gelangen. Die Transformation von Chiffretext zu Klartext wird als Entschlüsselung bezeichnet. Die Kryptoanalyse (in neueren Publikationen auch Kryptanalyse) bezeichnet im ursprünglichen Sinne das Studium von Methoden und Techniken, um Informationen aus verschlüsselten Texten zu gewinnen. Diese Informationen können sowohl der verwendete Schlüssel als auch der Originaltext sein. Heutzutage bezeichnet der Begriff Kryptoanalyse allgemeiner die Analyse von kryptographischen Verfahren (nicht nur zur Verschlüsselung) mit dem Ziel, diese entweder zu brechen, d. h. ihre Schutzfunktion aufzuheben bzw. zu umgehen, oder ihre Sicherheit nachzuweisen und zu quantifizieren. Kryptoanalyse ist damit das Gegenstück zur Kryptographie. Beide sind Teilgebiete der Kryptologie. In der Kryptologie haben die Begriffe Entzifferung und Entschlüsselung unterschiedliche Bedeutung: Als (befugte) Entschlüsselung bezeichnet man das Verfahren, mit Hilfe des bekannten Schlüssels den Geheimtext wieder in den Klartext zurückzuverwandeln und so die Nachricht lesen zu können. Die (unbefugte) Entzifferung hingegen ist die Kunst, dem Geheimtext ohne Kenntnis des Schlüssels die Nachricht zu entringen. Statt des Verbs entziffern wird in der Kryptanalyse auch der Ausdruck brechen oder umgangssprachlich auch knacken verwendet. [2]

103 2 2 Motivation der Facharbeit Im ersten Kapitel wurden die wesentlichen Sicherheitsaspekten erläutert, was einen Überblick verschafft bzgl. der Wichtigkeit der Schutzmechanismen. Die Angriffsabwehr bedarf der Kenntnis über möglichen Schwachstellen. Bei Datenbanksystemen stellt die sogenannte Anfragen- Logdatei also das Protokollieren von Anfragen an ein Datenbanksystem einen Schwachpunkt, ein Leck, dar, denn daraus kann ein Angreifer Informationen gewinnen. In dieser Arbeit werden zwei mögliche Angriffsszenarien erläutert: Anfragen-Logdatei-Attacke auf verschlüsselte Datenbanken [3] Rückschluss- Attacke gegen verschlüsselte Bereichsanfragen in ausgelagerten Datenbanken [4] 3 Anfragen-Logdatei-Attacke auf verschlüsselte Datenbanken [3] In der Literatur gibt es mehr als ein Dutzend vorgeschlagene Mechanismen zum Verschlüsseln von Daten zwecks Geheimhaltung. Ein Datenbanksystem jedoch ist mehr als nur Daten, untrennbarer Aspekt eines Datenbanksystems ist nämlich die Interaktion mit dem Benutzer über Anfragen. Tahmineh Sanamrad und Donald Kossmann entwickelten erstmalig neue Angreifermodelle, die in erster Linie auf den bekannten Angreifermodellen basieren: Angriff bei bekanntem Kryptotext (ciphertext-only attack ), Angriff bei bekanntem Klartext (known-plaintext attack ) und Angriff bei frei wählbarem Klartext (chosen-plaintext attack ). Ziel ihrer Arbeit war, auf Zugriffberechtigten-Angreifer angepasste Modelle vorzustellen, die unabhängig vom eigentlichen Verschlüsselungsschema darauf abzielten, das Datenbanksystem mittels des Spähens der Anfragen-Logdatei zu brechen. In dem Papier gehen die Autoren von einer Client-Server-Architektur aus, wobei der Client vertrauenswürdig ist, dagegen der Server absolut nicht. Die Autoren gehen auch davon aus, dass eine dünne Verschlüsselungsschicht auf der vertrauenswürdigen Seite oder auf dem Server selbst vorhanden ist. Die Hauptaufgabe dieser Verschlüsselungsschicht ist es, die als Klartext von den Benutzern geschriebenen Anfragen so anzupassen, dass das verschlüsselte Datenbanksystem sie bearbeiten kann. Nach Erhalt der Anfragenergebnisse entschlüsselt die Verschlüsselungsschicht die verschlüsselten Ergebnisse und sendet diese an den Benutzer. Die Frage ist: Wie sicher sind diese umgeschriebenen Anfragen, die an einen nicht vertrauenswürdigen Datenbank-Server gesendet wurden? Die Verschlüsselungsschicht schreibt die Anfragen gemäß dem Verschlüsselungsschema um, das für die Verschlüsselung der Daten festgelegt wurde. Es gibt dennoch eine Reihe von Beispielen die zeigen, wie die Anfragen selbst als Leck anzusehen sind. Zum Beispiel können manche Anfragen Geheimnisse bezüglich des zugrundeliegenden Verschlüsselungsschemas offenbaren. Außerdem liefert die Anfragen- Logdatei selbst Informationen an den Angreifer, z.b. Zeitstempel, Eingabefrequenz etc. 3.1 Allgemein bekannte Angreifermodelle auf verschlüsselte Daten Zunächst werden die drei Basis-Angriffsszenarien und deren Notation genauer erläutert. Die neu entwickelten Angreifermodelle werden anschließend mit Hilfe der Methode der Reduktion bewiesen. Notation Zunächst bezeichnet x einen Klartext aus der Menge der möglichen Klartexte X. Entsprechend bezeichnet y einen Kryptotext aus der Menge aller möglichen Kryptotexte Y.

104 3 Enc(τ,x) ist die Verschlüsselungsfunktion eines beliebigen Verschlüsselungsschemas. x $ X bedeutet einfach, dass ein Vektor von Klartexten absolut willkürlich ausgewählt wurde. Experiment Ein Experiment ist ein probabilistisches System, das mit einem Angreifer A verbunden ist. Abbildung 1 Ein Experiment tritt in Wechselwirkung mit einem Angreifer und zeigt am Ende, ob der Angreifer Erfolg hatte oder nicht Angreifer (Adversary) Ein Angreifer A ist oder hat Zugriff auf einen Algorithmus, der mit einem Experiment interagiert, mit dem Ziel erfolgreich zu sein. Nutzeffekt (Advantage) Der Nutzeffekt eines Angreifers A, der ein Experiment EXP startet, ist die Erfolgswahrscheinlichkeit von A. Das Experiment gibt eine 1 auf der rechten Schnittstelle aus, wenn es erfolgreich ist. Notation: Adv EXP (A) Angriff bei bekanntem Kryptotext (ciphertext-only attack CoA ) Wenn ein Angreifer in einem Angriff bei bekanntem Kryptotext erfolgreich ist, bedeutet das, dass folgendes Experiment erfolgreich war: Experiment 1 : $ $ Τ (, ) $ ( ) if x x then return 1 else return 0 ( ) Experiment 1 wählt zufällig mit gleicher Wahrscheinlichkeit einen Vektor mit Klartexten, x. Anschließend verschlüsselt er die Kartexte unter Verwendung der Funktion (, ) um einen Vektor mit den dazu entsprechenden Kryptotexten y zu erhalten. Der Angreifer erhält y und startet A(y), Der Angreifer ist erfolgreich, wenn der Klartext x, den er zurückgibt in dem Klartext-Vektor x erhalten ist. Notation des Nutzeffekts = ( ) Angriff mit bekanntem Klartext (known plaintext attack KPA) Ununterscheidbarkeit bei einem Angriff mit bekanntem Klartext wird durch folgendes Experiment erfasst: Experiment 2 : $ $ Τ ( ) (, ) ( ) (, ) $ ( ).., $ {, } (, ) $ (,, (, ), )

105 4 If then return 1 else return 0 Der Angreifer A1 wählt zufällig mit gleicher Wahrscheinlichkeit einen Vektor mit Klartexten x. Danach verschlüsselt er die Klartexte unter Verwendung der Funktion (, ) um einen Vektor mit den dazu entsprechenden Kryptotexten y zu erhalten. Anschließend wählt der Angreifer zufällig zwei Klartexte ( 1, 2 ).. 1, 2 und steckt sie in das Experiment. Das Experiment wählt willkürlich einen von beiden (, ). D.h. der Angreifer kennt beides x und y bzw. ( 1, 2 ) und. Basierend auf und der Information, die er aus x und y gewinnen kann, kann der Angreifer versuchen, heraus zu finden, welcher der beiden Klartexte( 1, 2 ) entschlüsselt wurde. Notation des Nutzeffekts = ( ) Angriff bei frei wählbarem Klartext (chosen-plaintext attack - CPA ) Ununterscheidbarkeit unter einem Angriff mit bekanntem Klartext wird durch folgendes Experiment erfasst: Experiment 3 : ( ) $ Τ ( ) (, ) (, ) ( ).., $ {, } (, ) $ (,, (, ), ) If then return 1 else return 0 Der Angreifer A1 wählt einen Vektor mit Klartexten x. Danach verschlüsselt er die Klartexte unter Verwendung der Funktion (, ) um einen Vektor mit den dazu entsprechenden Kryptotexten y zu erhalten. Anschließend wählt der Angreifer zwei Klartexte ( 1, 2 ).. 1, 2 und steckt sie in das Experiment. Das Experiment wählt willkürlich einen von beiden (, ). Also der Angreifer kennt beides x und y bzw. ( 1, 2 ) und. Basierend auf und der Information, die er aus x und y gewinnen kann, der Angreifer kann versuchen, heraus zu finden, welcher der beiden Klartexte( 1, 2 ) entschlüsselt wurde. Notation des Nutzeffekts = ( ). 3.2 Einzuführenden Angreifermodelle Neue benötigte Definitionen Um neue Zutrittsberechtigter- Angreifermodelle zu definieren werden zusätzliche Funktionen benötigt, die die Anfragenumschreibung erfassen. Notation. Qx bezeichnet die Menge aller Anfragen, die der Client an die Verschlüsselungsschicht sendet und Qy die Menge aller umgeschriebenen Anfragen. Dementsprechend wird eine vom Client gesendete, ursprüngliche Anfrage als qx Qx bezeichnet und eine an den nicht

106 5 vertrauenswürdigen Server gesendete, umgeschriebene Anfrage wird als qy Qy bezeichnet. bezeichnet eine Untermenge von Anfragen aus Qx und dementsprechend Qy. Anfrage (Query). Hier geht es immer um SQL-Anfragen, allerdings können die Zutrittsberechtigter- Angreifermodelle auf andere Anfragentypen angewandt werden. Anfragebeispiel. Die Relation customer(id,name,age,salary,city) in der verschlüsselten Datenbank soll betrachtet werden. Folgende Anfrage qx wird von dem Client an den Server gesendet: SELECT SUM(salary) FROM customer WHERE city = Zürich and age <= 30 Da die Datenbank verschlüsselt ist, wird die Client-Anfrage durch die Verschlüsselungsschicht abgefangen und so umgeschrieben, dass die Anfrage von der chiffrierten Datenbank abgearbeitet werden kann. Anfragen-Tokens (Query-Tokens). Diese Tokens sind Teile der Daten in der SQL-Anfrage. Anfragen-Tokens können in Klartext vorhanden sein. Z.B. in dem oberen Beispiel, wären Zürich und 30 Anfragen-Tokens. Anfrage-Tokens können auch als chiffrierter Text verfügbar sein. Anfrage-Umschreibfunktion (Query Rewrite Function QRF). Die Anfrage- Umschreibfunktion ist eine Funktion, die als Eingabe die originale Anfrage q x und das Verschlüsselungsschema ES hat, und als Ausgabe die umgeschriebene Anfrage q y, also QRF(ES,q x )=q y. q x wird unterschiedlich umgeschrieben, immer entsprechend dem Verschlüsselungsschema. Zum Beispiel, wenn die Daten in der Datenbank nach dem Verschlüsselungsschema AES verschlüsselt wurden, dann wird aus dem Anfragebeispiel, q x die ungeschriebene Anfrage q y : SELECT salary, age FROM customer WHERE city = EncAES ( Zurich ) Anfrage-Generator (Query Generator QGen). Der Anfrage-Generator ist eine Funktion, die als Eingabe einen Vektor von Anfragen-Token x in Klartext hat und daraus eine Menge von SQL- Anfragen unter Verwendung der Anfragen-Token x generiert. QGen ist unabhängig vom Verschlüsselungsschema ES, QGen besitzt eine Umkehrfunktion, x = QGen -1 ( ), die als Ausgabe einen Vektor von Anfragen-Token x in Klartext hat. Abbildung 2 QGen hat als Eingabe einen Vektor von Anfragen-Token x in Klartext und bildet daraus eine Menge von SQL-Anfragen Anfrage-Simulator (Query Simulator QSim ). Parallel zu QGen jedoch in der Kryptotext- Dimension benutzt der Anfrage-Simulator einen Vektor von Anfragen-Token x in Kryptotext y als Eingabe und generiert daraus eine Menge von SQL-Anfragen unter Verwendung der

107 6 Anfragen-Token y. QSim ist unabhängig des Verschlüsselungsschema ES und darf die Anfrage- Logdatei in Qy verwenden. QGen besitzt eine Umkehrfunktion, y = QGen -1 ( ). Abbildung 3 QSimn hat als Eingabe Anfragen-Token y in Kryptotext, und bildet daraus eine Menge von umgeschrieben SQL-Anfragen QGen bzw. QSim sind Funktionen, die ihre Eingaben x bzw. y nicht ändern, sie verpacken diese lediglich in eine SQL-Anfrage. Abbildung 4 zeigt die oben eingeführten Funktionen. Diese Funktionen werden als Grundlagen für die Entwicklung der neuen Angreifermodelle und Beweise verwendet. Abbildung 4 Basisfunktionen, die in dem Log-Dateien-Angriff benutzt werden Tahmineh Sanamrad und Donald Kossmann stellten drei Angreifermodelle vor. Dort wurde bewiesen, dass jedes Angreifermodell auf ein bekanntes Angreifermodell reduziert werden konnte. Wir definieren den Datenbank-Angreifer A DB : Dieser Angreifer soll Zugriff auf alles haben, was auf dem Datenbankserver vorhanden ist, also auf den Satz der umgeschriebenen Anfrage Q y, auf die verschlüsselten Daten Y und schließlich auf die verschlüsselten Ergebnismengen, die das Ergebnis der laufenden Qy auf Y sind. Wir gehen auch davon aus, dass das Datenbankschema öffentlich ist, d.h. ein Datenbank-Angreifer kennt die Tabellen, Attribute, Attributtypen, Fremdschlüssel und so weiter. Beweis durch Reduktion: Wenn A auf B reduzierbar ist, dann kann die Lösung von A nicht schwerer als die Lösung von B sein. Um A zu beweisen reicht es aus, eine effiziente Transformation φ zu finden von der Lösung von Problem B, T auf die Lösung von Problem A, S, z.b. S =φ (T) Nur Anfrage-Angriff (Query-Only Attack QoA) Von einem Nur-Anfrage Angriff (QoA) spricht man, wenn der Datenbank-Angreifer A DB nur Zugriff auf die umgeschriebene Anfrage -Log-Datei hat, nämlich Q y. Der Nutzeffekt eines Datenbank-Angreifers, A DB, der ein Experiment 4: startet, ist die

108 7 Erfolgswahrscheinlichkeit von A DB. Das Experiment gibt eine 1 auf der rechten Schnittstelle aus, wenn es erfolgreich ist. ( ) = Pr [ ( ) = 1 Das Experiment ( ) ist wie folgt definiert: Experiment 4 : ( ) $ ( ) (, ) $ ( ) if x t x then return 1 else return 0 Im Folgenden wird bewiesen, dass der in vorgestellte Angriff bei bekanntem Kryptotext (ciphertext-only attack CoA) auf einen Nur-Anfrage-Angriff reduziert werden kann. Lemma 1. Gegeben sind ein Verschlüsselungsschema ES und eine Teilmenge von umgeschriebenen Anfragen Q y, ES ist mindestens so sicher gegen einen Nur-Anfrage Angriff wie ES sicher gegen einen Angriff bei bekanntem Kryptotext (ciphertext-only attack CoA) ist. ( ) ( ) Beweis. Sei ES ein beliebiges Verschlüsselungsschema und sei A DB ein Gegner mit einem nichttrivialen QoA Nutzeffekt gegen ES, dann können wir einen bei bekanntem Kryptotext - Angreifer gegen ES konstruieren. Gemäß Definition in dem Experiment 1 für einen solchen Angriff kennt A einen Vektor verschlüsselter Werte, y. A startet QSim (y) um zu simulieren. Schließlich startet A A DB ( ). Die Kommunikation von A mit A DB ahmt das QoA-Experiment 4 nach. Offensichtlich ist A effizient, da QSim sublinear zu der Größe seiner Eingabe ist Angriff mit bekannter Anfrage (Known-Query Attack - KQA) Von diesem Angriff spricht man, wenn der Datenbank-Angreifer A DB Zugriff auf eine Anzahl von (qx, qy) Paaren hat. Zum Beispiel nehmen wir an, q x ist: SELECT SUM(salary) FROM customer WHERE city = Zurich and age <= 30 Und unter Verwendung vom Verschlüsselungsschema ES ist q y : SELECT salary, age FROM customer WHERE city =EncES( Zurich ) Query-Logdateien versorgen Datenbank-Angreifer zusätzlich mit Informationen bzgl. der Clients, die die Anfragen starten, wie Zeitstempel der Anfrage und deren Frequenz. Ein Angreifer, der Hintergrundwissen über die Business-Logik hat, kann diese zusätzlichen Protokollinformationen

109 8 verwenden, um die ursprünglichen Anfragen zu erraten, die Clients eingereicht haben. Im Allgemeinen können statistische Angriffe auf Anfragen-Logdateien als KQA klassifiziert werden. Der Nutzeffekt eines Datenbank-Angreifers, A DB, der ein Experiment 5: startet, ist die Erfolgswahrscheinlichkeit von A DB, die Umschreibung von zwei Anfragen derselben Struktur (wie in Experiment 5 gezeigt) zu unterscheiden. Das Experiment gibt eine 1 auf der rechten Schnittstelle aus, wenn es erfolgreich ist. ( ) = Pr [ ( ) = 1 Das Experiment ( ) ist wie folgt definiert: Experiment 5 : ( ) $ (, ) (, ) $.., $ {, } (, ) $ (,, (, ), ) If then return 1 else return 0 Lemma 2. Gegeben sind ein Verschlüsselungsschema ES und eine Menge von ursprünglichen und umgeschrieben Anfragepaaren (, ), ES ist mindestens so sicher gegen einen Angriff mit bekannter Anfrage wie ES sicher gegen einen Angriff mit bekanntem Klartext ( known plaintext attack KPA)- s ist. ( ) ( ) Beweis. Sei ES ein beliebiges Verschlüsselungsschema und sei A DB ein Gegner mit einem nichttrivialen IND-KQA Nutzeffekt gegen ES, dann können wir einen IND-KPA Angreifer gegen ES konstruieren. Gemäß Definition in dem Experiment 2 für einen solchen Angriff kennt A Klartext/Kryptotext-Paare. A hat außerdem Zugriff auf eine begrenzte QRF, die nur mit funktioniert. Als erstes startet QGen (x) = und anschließend Q (, ) =. Zusätzlich bekommt A x 1, x 2 und y b, so dass er = ( ), = ( ) und = ( ) konstruieren kann. Schließlich startet A A DB (,, (, ), ). Die Kommunikation von A mit A DB ahmt das IND-KPA -Experiment 5 nach. Offensichtlich ist A effizient, da QGen, QRF und QSim linear zu der Größe deren Eingabe sind. Ununterscheidbarkeit gegen einen Angriff mit bekanntem Klartext kann zu Ununterscheidbarkeit gegen einen Angriff mit bekannter Anfrage reduziert werden, wie Lemma 2 zeigt.

110 Angriff bei frei wählbarer Anfrage (Chosen-Query Attack - CQA) Von einem solchen Angriff spricht man, wenn der Datenbank-Angreifer, A DB, Zugriff auf eine Anfrage-Umschreibungsfunktion, QRF (ES) hat. Zum Beispiel kann ein Angreifer beliebige Anfragen an die Verschlüsselungsschicht senden und die umgeschriebenen Anfragen auf dem anderen Ende erspähen. Der Nutzeffekt eines Datenbank-Angreifers, A CQA = (A CQ,A DB ), der ein Experiment 6 startet, ist die Erfolgswahrscheinlichkeit von A CQA. die Umschreibung von zwei selbst ausgewählten Anfragen zu unterscheiden. Das Experiment gibt eine 1 auf der rechten Schnittstellen aus, wenn es erfolgreich ist. Experiment 6 : ( ) $ (, ) (, ) $ ( ).., $ {, } (, ) $ (,, (, ), ) If then return 1 else return 0 ( ) = Pr [ ( ) = 1 Lemma 3. Gegeben sind ein Verschlüsselungsschema ES und eine Menge von ursprünglichen und umgeschrieben Anfrage (, ), wobei, vom Angreifer gewählt wurde, ES ist mindestens so sicher gegen einen Angriff bei frei wählbarer Anfrage wie ES sicher gegen einen Angriff bei frei wählbarem Klartext (chosen-plaintext attack - CPA ) s ist. ( ) ( ) Beweis. Sei ES ein beliebiges Verschlüsselungsschema und sei A CQA ein Angreifer mit einem nicht-trivialen IND-CQA Nutzeffekt gegen ES, dann können wir einen CPA Angreifer A gegen ES konstruieren. Gemäß Definition in dem Experiment 3 für solchen Angriff kennt A Klartext/Kryptotext-Paare, wobei die Klartexte vom Angreifer gewählt wurden. A hat außerdem Zugriff auf eine vollentwickelte QRF. Als erstes startet QGen (x) = und anschließend Q (, ) =. Zusätzlich bekommt A x 1, x2 und y b, so dass der Angreifer( = ( ), ( = ( ) ) und ( = ( ) konstruieren kann. Schließlich startet A A DB (,, (, ), ). Die Kommunikation von A mit A CQA ahmt das IND-CQA Experiment nach. Offensichtlich ist A effizient, da QGen, QRF und QSim linear zu der Größe deren Eingabe sind.

111 10 Ununterscheidbarkeit gegen einen Angriff mit bekanntem Klartext kann zu Ununterscheidbarkeit gegen einen Angriff mit bekannter Anfrage reduziert werden wie Lemma 3 zeigt. 4 Rückschluss- Attacke gegen verschlüsselte Bereichsanfragen in ausgelagerten Datenbanken [4] Eine Rückschluss-Attacke ist eine Data-Mining-Technik mit dem Zweck Wissen über ein Thema oder eine Datenbank mittels Datenanalyse unrechtmäßig zu gewinnen. Eine Rückschluss-Attacke tritt auf, wenn ein Benutzer in der Lage ist, robuste Informationen über eine Datenbank aus trivialen Informationen zu schließen, ohne direkt darauf zuzugreifen. Das Datenbank-as-a-Service (DAS) Modell wird in den letzten Jahren als neue Technologie angepriesen. Ausgelagerten Datenbanken auf Remote-Servern ebnen den Weg für den kostengünstigen Know-how-Austausch zwischen Datenbankprofis unter den verschiedenen Organisationen. Allerdings ist eine effektive Anfrageausführung auf einer verschlüsselten Datenbank ein nicht leicht zu lösendes Problem. Hacigümüs et al. [5] waren die ersten, die die Idee einer verschlüsselten Datenbank vorschlugen, die eine begrenzte Ausführung von SQL-Abfragen in dem Remote-Server unterstützt, ohne die Datenelemente zu entschlüsseln. Seitdem gab es weitere Vorschläge in dieser Richtung, sogenannte Protokolle (protocols), die aber meistens von Bereichsanfragen ausgingen. Das in der Literatur vorgeschlagen DAS-Modell besteht aus drei Einheiten: dem Benutzer, dem Client und dem Server. Jede Zeile in der ausgelagerten Datenbank wird einzeln verschlüsselt und Etuple genannt. Es wird angenommen, dass der Remote-Server im DAS-Modell, "ehrlich, aber neugierig" ist. Das heißt, dass der Server nicht vom Protokoll abweichen wird, dennoch ist das Anliegen des Servers so viel Wissen über die verschlüsselten Daten wie möglich zu erfahren. Die Anfragenabarbeitung entspricht der vom Kapitel 3. Es gibt zwei Hauptansätze, die das Bereichsanfragen unterstützende DAS-Modell umsetzen. 1. Die Precise Query Protocols (PQPs): Diese verwenden ausgefeilte Verschlüsselungstechniken, die dem Server die Ausführung von Bereichsanfragen ermöglichen, ohne die Gefahr von falsch Positiven. Das bedeutet, dass der Server für eine bestimmte verschlüsselte Bereichsanfrage die genaue Menge von Etuples, die die Anfrage erfüllt, zurückgibt. 2. Bucketization: Dieser Ansatz erleichtert die Ausführung von Bereichsanfragen auf Kosten des Wirkungsgrads in Bezug auf die Anzahl von falsch Positiven. In der Tat, im Bucketization-Ansatz wird jedes Anfrage-Attribut in einige zusammenhängende Buckets auf der Grundlage einer Bucketization-Strategie eingeteilt. Bei der Anfragenausführung enthält die Ergebnismenge alle enthaltenden Etuples aus dem Bucket, der dem in der Anfrage angegebenen Bereich entspricht. Diese Vorgehensweise bringt naturgemäß eine gewisse Anzahl an falsch Positiven in der Ergebnismenge in Abhängigkeit von der Bucketbreite. 4.1 Erläuterung der Grundidee anhand eines Beispiels Die Gefährdung der Offenlegung über ein Zugriffsmuster (Access pattern disclosure) allein stellt keine erhebliche Bedrohung für die allgemeine Datensicherheit eines DAS-Modell dar.

112 11 Allerdings, wenn die Offenlegung über ein Zugriffsmuster mit hinreichender Menge Hintergrundwissen kombiniert wird, kann diese Gefährdung zu einer erheblichen Verletzung der Privatsphäre führen. In [4] wird diese Behauptung durch Betrachtung des folgenden hypothetischen Szenarios aufgezeigt. Angenommen eine Bank lagert ihre Datenbank aus Kostengründe aus. Betrachtet man die Tabelle der Konteninhaber kann man die Meinung vertreten, dass die Namen der Konteninhaber an sich nicht als sensible Information anzusehen sind, so dass der Remote-Server (z.b. Mallory) diese Information irgendwie erhalten kann. Selbstredend versucht die Bank sensiblere Informationen (z.b. Kontoguthaben) sicher zu halten. Also werden die Tupel in der Konten-Tabelle verschlüsselt gespeichert. Da jedoch Mallory den Klartext der Verteilung der Namen hat, könnte sie Anfragen und Antworten überwachen, um eine Zuordnung der einzelnen Namen zu den dazu passenden Etuples mit hinreichender Genauigkeit zu schätzen. Da die Tupel verschlüsselt sind, wird Mallory trotzdem immer noch nicht irgendwelche zweckdienliche Informationen erfahren. Aber, wenn z.b. die Bank einer Behörde bei einem Fall von Geldwäsche helfen muss, wird die Bank bestimmt die Liste der Verdächtigen verschlüsseln, dennoch wird es wahrscheinlich vorkommen, dass die Behörde eine Anfrage nach den Verdächtigen an den Remote-Server sendet. Mallory kann dann die bereits erarbeitete Zuordnung benutzen, um die Liste der Verdächtigen zu erhalten. D.h. eine Zuordnung zwischen nicht empfindlichen Daten und Etuples kann zu einer erheblichen Verletzung der Privatsphäre führen. In [4] wird gezeigt, dass das DAS-Modell Zugriffsmuster offenlegt, die zu einer Gefährdung führen könnten. Die Autoren raten dringlich dazu, die hier besprochenen Protokolle nur dann zu verwendet, wenn die Angreifer keinerlei sonstige Hintergrundwissen über die Klartexte besitzen, und sie somit keine Rückschlüsse ziehen können. 4.2 Angriffsmodell gegen den Precise Query Protocol Hier werden lediglich Bereichsanfragen berücksichtigt, obgleich das Modell sich auch für Gleichheitsanfragen eignet. Sei R eine Relation mit dem sensiblen Attribut A, die Domäne (vorher definierter Wertebereich) von A ist D, wobei D = n, d.h. D hat n diskrete Elemente Bedrohungsmodell Im vorgeschlagenen Modell wird davon ausgegangen, dass der Angreifer (z.b. Mallory) Zugriff auf eine Sequenz von m Bereichsanfragen in der Form, Q = [s1,f1], [s2,f2],, [sm,fm], und die entsprechenden Ergebnisse E1, E2,,Em hat. Außerdem wird angenommen, dass sowohl der Server wie auch der Angreifer "ehrlich, aber neugierig" sind. Eine weitere Annahme ist, dass Mallory Zugriff auf folgende Hintergrundinformation hat: 1. Der Angreifer kennt (genau oder schätzungsweise) die Klartext-Verteilung von der Spalte A in der ursprünglichen Datenbank. 2. Außerdem kennt der Angreifer die richtigen Bereiche von k Anfragen in Q, wobei k Null sein kann, also die sogenannten bekannte Anfragen Angriffsmodell Das Ziel des Angriffes ist es, aus einer Sequenz von m Bereichsanfragen die Werte für s1, s m und f1,,f m aus der Domäne D so genau wie möglich zu schätzen. Das Problem wird als ein nach T (Menge von Beschränkungen) beschränktes Optimierungsproblem auf folgende Weise modelliert:

113 [ 1, 1 ],, [, ] [ ( 1, 1 ],,,, ) 2 (1) Attacke gegen Bucketization In diesem Abschnitt wird eine Rückschluss-Attacke gegen den Bucketizationsansatz vorgestellt. Intuitiv kann man davon ausgehen, dass der Bucketizationsansatz robuster gegenüber der Gefährdung der Offenlegung über ein Zugriffsmuster ist. Die Tatsache, dass man die Daten in Buckets aufteilt, fügt naturgemäß eine Störung dem Anfragen-Zugriffmuster hinzu. Interessanterweise, wenn man das Attacke-Ziel leicht ändert, kann man jedoch brauchbare Information aus dem Bucketizationsansatz entdecken. In der Bucketization wird jede Bereichsanfrage in eine Liste von Buckets umgewandelt und die Bucket-Kennungen werden an den Server im Klartext gesendet. Daher sieht der Angreifer eine Reihe von Bucket-Kennungen und die Menge von Etuples, die für diesen Bucket-Satz zurück erhalten wurde. Es sollte beachtet werden, dass ein Angreifer für diesen Angriff nicht im Voraus die Werte irgendeiner Anfrage kennen darf. Erneut ist die Lösung des obigen Problems eine Approximation und zwar die Schätzung der Bucket-Grenzen. Daher ist die Offenbarung des genauen Anfragenbereiches nicht garantiert. Wenn jedoch die Buckets klein genug sind, kann ein Angreifer immer noch eine sehr gute Annäherung an die tatsächlichen Abfragewerte erhalten. 4.4 Durchgeführte Experimente und Ergebnisse Experimentanordnung In [4] werden zwei reale Datenbanken untersucht, die Adult Datenbank aus dem UCI Machine Learning Repository [6] und die North Carolina Voter Datenbank [7]. Hier werde ich aus Platzgründen nur die North Carolina Voter Datenbank berücksichtigen. Diese Datenbank enthält Instanzen. Das Anfrage-Attribut ist das Alter, die Domäne ist in diesem Fall [1,100], jedoch gehen die Autoren davon aus, dass auch für größere Domänen die von Ihnen aufgestellten Thesen auch gelten. Nach Ansicht der Autoren ist das in 4.2 beschriebenes Modell schwer zu bewerkstelligen und der Brute-Force-Ansatz nicht effizient genug. Die Autoren wählten aus empirischen Gründen den Ansatz der simulierten Abkühlung (Simulated Annealing) [8]. Außerdem wurde auch aus Effizienzgründen die Stapelverarbeitung gewählt. Die Stapelverarbeitung reduziert die Anzahl der erforderlichen bekannten Anfragen, die meisten in diesem Papier berichteten Experimente kommen mit nur 2 bekannten Anfragen aus, auch bei Anfragen mit einer Satzgröße von 100. In der Tat konnte das Modell eine Anfrage mit Satzgröße von 150 mit mehr als 70% Präzision mit nur 2 bekannten Anfragen ermitteln. Die Laufzeit des Angriffs war auch sehr annehmbar. Eine Laufzeit-Verbesserung ist sicherlich auch mit einer parallelen Stapelverarbeitung vorstellbar. Es wurde eine Bewertungsmetrik mit den Toleranzbereichen von 0-Toleranz, 0,1-Toleranz und 0,2-Toleranz definiert Ergebnisse Es handelt sich um eine empirische Evaluation und es gilt die oben definierte Experimentanordnung.

114 Genauigkeit Abbildung 5 Genauigkeit für verschiedene Datensatzgröße Bei der 0-Toleranz-Grenze steigt die Genauigkeit mit der Satzgröße, allerdings ab 25 K gibt es keine Verbesserung der Genauigkeit. Auch für die 0-Toleranz-Grenze ist ab dieser Größe eine 80%-ige Genauigkeit erreicht. Da diese Größe in der realen Welt gängig ist, kann man davon ausgehen, dass dieser Angriff erfolgreich sein kann Einfluss der Änderung der Anzahl der bekannten Anfragen und Einfluss der Änderung der Größe des Stapels bei der Stapelverarbeitung Abbildung 6 (a) Einfluss der Anzahl der bekannten Anfragen; (b) Einfluss der Änderung der Größe des Stapels bei der Stapelverarbeitung Bei (a) sieht man eine Verbesserung der Genauigkeit von 0 zu 2 bekannten Anfragen, ab dann nicht mehr in relevanter Weise. Das ist wohl der Grund, warum die Zahl 2 als Parameter in festgelegt wurde. Bei (b) kann man keine wesentliche Beeinflussung wahrnehmen. Lediglich die Laufzeit verschlechterte sich, deswegen wurden die Experimente mit der Stapelgröße von 5 durchgeführt

115 4.4.3 Experiment: Attacke gegen Bucketization 14 Abbildung 7 Attacke gegen Bucketization Die Metriken hier sind ähnlich wie in den Bereichsanfragen. Es wurde allerdings nur eine 0- Toleranzgrenze verwendet. Es wurden drei Bucketizationsansätze herangezogen: Zufällige Bucketization, Bucketization gleicher Breite und Bucketization gleicher Tiefe. Beide letzteren geben sehr gute Resultate auch bei der 0-Toleranzgrenze, deswegen sollte die zufällige Bucketization bevorzugt werden, um die Daten sicherer zu machen. 5 Zusammenfassung Die zwei Angriffsszenarien, die in dieser Ausarbeitung behandelt wurden, befassen sich mit dem Leck : Anfragen-Logdatei bei verschlüsselten Datenbanken. Ferner waren die Angreifer Zugriffsberechtigte, also besaßen sie Hintergrundwissen. In [3] wurde gezeigt, warum es wichtig ist, zusätzliche und verbesserte Angreifermodelle bei der Sicherheitsanalyse einer verschlüsselten Datenbank in Betracht zu ziehen. Da eine verschlüsselte Datenbank nicht nur aus Daten sondern auch aus Anfragen besteht, ist die Sicherheit der Anfragen-Logdateien so wichtig wie die Datensicherheit an sich. Letztlich wurde durch Reduktion bewiesen, dass das Brechen einer Datenbankverschlüsselung mit einem Zutrittsberechtigter Angriff mindestens so schwer ist, wie das Brechen des zugrunde liegenden Verschlüsselungsschema bei einem normalen Angriff. M. S. Islam, M. Kuzu, and M. Kantarcioglu schlagen in [4] ein Modell vor, das Anfragenzugriffsmuster wirksam einsetzt, um eine erhebliche Menge von sensiblen Informationen in verschlüsselten ausgelagerten Datenbanken offenzulegen. Sie konnten empirisch belegen, dass das Modell auf realen Datenbanken anwendbar ist. Die empirischen Ergebnisse legen den Schluss nah, dass das vorgeschlagene Modell verschlüsselte Bereichsanfragen unter strengen Metriken mit hoher Genauigkeit vorhersagen kann. Außerdem wurde gezeigt, dass eine Abwandlung dieses Angriffes auf dem Bucketizationsansatz angesetzt werden kann, um die Bucket-Grenzen mit hoher Genauigkeit zu ermitteln. Daher empfahlen die Autoren, dass wenn die Datensicherheit von hoher Priorität ist, es besser ist solche Protokolle wie Oblivious RAM zu verwenden, auch wenn diese vergleichsweise ineffizient sind. Allerdings, wenn es sicher ist, dass der Angreifer keine Hintergrundinformation besitzen kann, dann kann man auf effizientere Protokolle ausweichen.

116 15 6 Ausblick Die Modelle in [3] können als Basis für weitere Anstrengungen dienen, die darauf zielen die Anfrage-Logdatei-Sicherheit für alle bestehenden oder bevorstehenden Datenbankverschlüsselungssystem oder -schemen zu analysieren. Die Wahrung der Privatsphäre und die Verbesserung der Anfragenperfomance sind zwei stark verknüpfte Herausforderung für ausgelagerte Datenbanken. Zukünftige Arbeiten werden sich sicherlich mit dem Datenkonsistenz-Management in den verschlüsselten Datenbanken beschäftigen. 7 Literaturverzeichnis [1] Wikipedia-Informationssicherheit, [Online]. Available: [2] Wikipedia-Kryptoanalyse, [Online]. Available: [3] T. S. a. D. Kossmann, Query log attack on encrypted databases, In Willem Jonker and Milan Petkovic, editors, Secure Data Management - 10th VLDB Workshop, p , Springer, [4] M. K. a. M. K. Mohammad Saiful Islam, Inference attack against encrypted range queries on outsourced databases, In Elisa Bertino, Ravi S. Sandhu, and Jaehong Park, editors, Fourth ACM Conference on Data and Application Security and Privacy, CODASPY 14, San Antonio, TX, USA -March 03-05, pp , [5] C. L. a. S. M. H. Hacigümüs B. Iyer, Executing SQL over encrypted data in the database-serviceprovider model, SIGMOD, p , [6] Adult Data Set. Uci machine learning repository, [Online]. Available: [7] North Carolina Voter Data, [Online]. Available: ftp:// [8] C. G. a. M. V. S. Kirkpatrick, Optimization by simulated annealing, Science, p. 220: , 1983.

117 FernUniversität in Hagen Seminar Im Wintersemester 2014/2015 Sicherheit und Privatsphäre in Datenbanksystemen Thema 11 Spezielle Indexe Referent: Debru Zewdie Ejeta Abgabe am:

118 Inhaltsverzeichnis I Inhaltsverzeichnis Abbildungsverzeichnis...II 1 Einführung Anonymisierung im Bereich des LBS Anforderung an die mehrdimensionalen Indexstrukturen Anfragetypen bei der mehrdimensionalen Indexstrukturen Problemstellung Stand der bisherigen Forschung k-anonymisierung zum Schutz der Privatsphäre der Benutzer PIR-basierter Ansatz zum Schutz der Privatsphäre beim LBS Anonymisierung mittels Indexstrukturen zum Schutz der Privatsphäre R-Baum basierte Ansätze B + -Baum basierte Ansätze zum Schutz der Privatsphäre bei Nutzung von LBS Quad-Tree basierte Ansätze Fachliche Würdigung OST-Baum PEB Baum Der B ob -Baum Darstellung der Ergebnisse Zusammenfassung Anhang Literaturverzeichnis... 20

119 II Abbildungsverzeichnis Abbildungsverzeichnis Abbildung 1: R-Baum basierte Datenmodell und dessen Indexstruktur, Seite 8 Abbildung 2: Struktur des OST-Baums, mit eingebetteten Profilinformation, Seite 8 Abbildung 3: Aufbau des B + Baums mit der Unterscheidung der innere Knoten und Blattknoten, Seite 10 Abbildung 4: Aufbau des B ob -Baums mit der Unterscheidung der innere Knoten und Blattknoten, Seite 10

120 1 Einführung 1 Einführung Um gezielt auf einen bestimmten Datensatz bzw. bestimmte Datensätze in einer großen Datenmenge der Datenbank effizient zuzugreifen, bedarf es der Verfügbarkeit (einer) geeigneten Indexstruktur(en) (IS) auf die Daten, die auch als Zugriffspfade bezeichnet werden können. Im Bereich der spatio-temporalen Daten (räumliche-zeitliche Objekten oder auch als Moving Objects bezeichnet) kommen mehrdimensionale Indexstrukturen zum Einsatz. Im Gegensatz zu den eindimensionalen Indexen, wobei die Indexeinträge über einen einzigen Suchschlüssel aufgebaut sind, werden die Indexeinträge im mehrdimensionalen Fall durch mehrere Suchschlüssel aufgebaut. Je nach den zugrundeliegenden Organisationsprinzipien und weiteren charakterisierenden Eigenschaften können diese mehrdimensionalen Indexstrukturen weiter untergeteilt werden, siehe auch Tabelle 1 in Abschnitt 4 für eine zusammenfassende Darstellung dieser Eigenschaften. Während die Suche nach einem oder mehrerer Datensätze von der Verfügbarkeit von IS profitiert und beschleunigt werden kann, verursachen diese extra Strukturen auch die Verlangsamung der Wartungsaufgaben des DBMS und erhöhen den Speicherplatzbedarf. Zusätzlich zu dem Einpflegen der Daten im Hauptdatenbestand müssen die entsprechenden Informationen und Einträge auch in die Indexe eingepflegt werden und es muss extra Speicherplatz dafür reserviert werden. Im Bereich der Location Based Services (LBS) kommen die Speicherung und Verarbeitung von mehrdimensionalen Daten zum Einsatz und man benötigt dafür mehrdimensionale IS. Allgemein folgt der strukturelle Aufbau eines Eintrags einer IS dem Muster: <Suchschlüssel, Zeiger>, wobei der Zeiger die Adresse bzw. der Identifikator des (der) gesuchten Datensatzes (-sätze) darstellt. Im Fall der mehrdimensionalen IS bildet der Suchschlüssel eine Menge von Schlüsseln, die als k 1, k2,, kd für d-dimensionalen Datenraum und d N und d > 1 dargestellt werden kann. Zusätzlich zu den Suchschlüsseln und Zeigern kann man auch in Indexeinträge weitere Information einbetten, wie dies z. B. im Fall der Anonymisierung der Daten durch Einbettung weiterer Information zustande kommen kann. Im Folgenden wird eine kurze Einführung zur Anonymisierung im Bereich des LBS und zu den allgemeinen Anforderungen an die mehrdimensionalen IS dargestellt. 1.1 Anonymisierung im Bereich des LBS Bei der Benutzung eines LBS ist es entscheidend, dass der Schutz der Privatsphäre des Dienstsuchenden gewährleistet wird und dabei die Qualität des Services auch im akzeptablen Bereich gehalten wird. Zur Realisierung dieses Ziels werden in der Literatur unterschiedliche Lösungsansätze und Techniken diskutiert, wie diese in Abschnitt 3 dieser Seminararbeit genauer erläutert werden. Dabei wird die Lokalität (räumliche wie auch zeitliche) des Dienstsuchenden als sensible Information aufgefasst und bei den Bestrebungen zum Schutz der Privatsphäre geht es in erster Linie

121 2 Einführung darum, diese Information zu verschleiern, damit diese nicht mehr eindeutig oder zumindest nicht mehr sehr leicht einer bestimmten Person zugeordnet werden kann. Allgemein kann man Informationen anonymisieren, indem man durch Hinzufügen von Rauschen, Unterdrückung von Informationen oder Informationsverallgemeinerung die betroffene Information nicht mehr (leicht) identifizierbar macht. 1.2 Anforderung an die mehrdimensionalen Indexstrukturen An die mehrdimensionalen und speziell an die spatio-temporale IS wird die Anforderung gestellt, dass sie allgemein die folgenden Aufgaben des DBMS unterstützen und dessen Antwortzeit bei der Aufgabenverarbeitung verkürzen. Unterstützung und Beschleunigung der relevanten Anfragetypen, siehe Unterabschnitt 1.3 unten. Da im Bereich der spatio-temporalen Daten und damit auch der LBS, Änderungen der Daten häufiger sind als bei den entsprechenden statischen Daten, sollen die Updatekosten in Grenzen gehalten werden bzw. optimal bleiben. Unterstützung der möglichst weitgehenden Erhaltung der physischen Topologie der Objekte bei den gespeicherten Daten, z. B. bei Clusterbildung. Integrationsfähigkeiten in die bestehenden Systeme, wie z. B. das Relationale Datenmodell. Flexibilität bei neuen Anforderungen, die auch als Erweiterbarkeit bezeichnet werden kann. Speziell bei LBS sollen die IS den Schutz der Privatsphäre des Benutzers gewährleisten oder unterstützen. 1.3 Anfragetypen bei der mehrdimensionalen Indexstrukturen Der zu betrachtenden Weltausschnitt wird allgemein als mehrdimensionaler Datenraum D dargestellt. Die Objekte werden als Sammlung von N Sätzen des Typs T = (A1, A2,, An) mit den Attributen A1 bis An dargestellt und in die Speicherungsstrukturen abgebildet. Jeder Satz wird als ein geordnetes n-tupel t = (a1, a2,, an) dargestellt und die Attribute A1, A2,, Ak (k n) sind als Schlüssel definiert, spannen also den Suchraum auf. Eine Anfrage Q spezifiziert bis zu k Schlüssel des Suchraums Qualifikationsbedingungen, die auch als Prädikate bezeichnet werden können. Dann können die folgenden Anfragetypen unterschieden bzw. definiert werden. Exakte Anfrage (exact match query), spezifiziert für jeden Schlüssel einen Wert als Q = (A1 = a1) (A2 = a2) (Ak = ak).

122 3 Einführung Bereichsanfrage (range query), spezifiziert einen Bereich (also ein Intervall) als ri = (li ai u i ) für jede Schlüsseldimension, also 1 i k, und die Query Q = (A 1 r 1 ) (A k r k ), wobei li die untere Grenze und ui die obere Grenze des Intervalls darstellen. Werden statt allen Schlüssel nur Teilschlüssel in die beiden genannten Anfragetypen spezifiziert, dann wird die Query auch als partielle Anfrage bezeichnet. Nächster-Nachbar Anfrage (nearest neighbour query), die auch als möglichst ähnliche oder möglichst nahe an einem gegebenen Objekt definiert werden kann, spezifiziert eine vordefinierte Distanz zum gegebenen Objekt. Dafür muss eine anwendungsspezifische Distanzfunktion F definiert werden. Gegeben sei weiterhin auch eine Sammlung von Objekten B in k-dimensionalen Raum, und gesucht werden die nächsten Nachbarn q von Objekt p in B mit der Bedingung: ( r B) {r q [F r,p F q, p ] } mit q, p B Falls die zu betrachtenden Objekte als räumlich ausgedehnte Objekte statt nur als Punkt-Objekte aufgefasst werden sollen, dann werden diese durch Approximation der Objekte durch einrahmende Rechtecke bzw. Polygone dargestellt, die auch als bounding box (MAR) bezeichnet werden. Bei solchen Objekttypen gibt es zwei weitere Anfragetypen, die wie folgt formuliert werden können. Punktanfrage (point query) die für einen gegebenen Punkt alle ihn enthaltenden Objekte zurückliefert. Gebietsanfrage (region query), die für ein gegebenes Gebiet alle dies enthaltenden Objekte zurückliefert. Soweit die Anfrage zeitbezogen ist, dann gibt es folgende drei weitere Anfragetypen: Zeitpunktanfrage (time-slice query) die zu einem gegebenen Zeitpunkt alle prädikaterfüllende Objekte zurückliefert Zeitraumanfrage (window query), die zu einem gegebenen Zeitintervall alle prädikaterfüllende Objekte zurückliefert Bewegungsanfrage (moving query), die zu einem gegebenen Zeitintervall alle dem prädikaterfüllende Objekte in einem bewegenden Raum (Intervall) zurückliefert. Im Rahmen dieser Seminararbeit werden anhand einer Literaturauswertung die wichtigsten Eigenschaften der IS für spatio-temporalen Daten dargestellt, deren Anwendbarkeit zum Schutz der Privatsphäre erläutert und ein Vergleich der Effizienz dieser Strukturen mit anderen Techniken zum Schutz der Privatsphäre vorgenommen. Der restliche Teil dieser Arbeit wird so aufgegliedert, dass die Problemstellung im Abschnitt zwei nach diesem einführenden Teil im ersten Abschnitt

123 4 Einführung folgt, wobei eine formale Definition der Anforderung zum Schutz der Privatsphäre bei der Nutzung des LBS dargestellt wird. In Teil drei folgt dann die zusammenfassende Darstellung der bisherigen Forschungsergebnisse zu den Themen Spezielle Indexen und Anforderung zum Schutz der Privatsphäre. Teil vier befasst sich mit der Würdigung der Erfüllung der Anforderung aus Sicht der theoretischen und praktischen Forschungsberichterstattung zu den genannten Themengebieten. In Teil fünf wird dann eine vergleichende Darstellung der Ergebnisse aus dieser Seminararbeit diskutiert. Teil sechs schließt diese Seminararbeit mit einer zusammenfassenden Schlussfolgerung der Ergebnisse dieser Seminararbeit.

124 5 Problemstellung 2 Problemstellung Für eine breitere Akzeptanz der LBS und dessen erfolgreicher Einsatz in breiteren Anwendungsgebieten der Wirtschaft und sozio-kulturelles Leben der Gesellschaft, wie z. B. Ermittlung der nahliegende Sehenswürdigkeiten, Einrichtungen wie Krankenhäuser, Hotels, Arztpraxen und ähnliches, Notruf-Situation, Wetterbericht usw. ist es entscheidend, dass bei der Benutzung des angebotenen Services der Schutz der Privatsphäre des Dienstsuchenden gewährleistet wird. Die Verfolgung des Zieles zum Schutz der Privatsphäre ist dabei zum Teil gegenläufig zum Ziel der Verbesserung der Servicequalität und diese beiden Anforderungen sind in Einklang zu bringen [QUOC11-1, MANL08, JENS04]. Zur Erfüllung dieser Anforderung wurden unterschiedliche Anonymisierungen der betroffenen (sensiblen) Informationen des Dienstsuchenden vorgeschlagen, die durch unterschiedliche Techniken der Daten- bzw. Informationsverallgemeinerung bzw. generalisierung, verschleiert (spatio-temporale cloaking oder obfuscation genannt) werden können. Zu den genannten räumlich-zeitlich Verschleierungs- oder Verhüllen durch Areal- und Temporaltransformationstechniken, zählen auch die hierfür konzipierten Indexierungstechniken. Hierdurch werden die Lokalität (örtliche und zeitliche) des Dienstsuchenden verschleiert, bevor diese an dritte Beteiligte, wie z. B. Serviceanbieter, gesendet werden soll. Unter diesen Indexierungstechniken können beispielsweise der B ob -Baum, der PEB-Baum, S STP Baum und der OST-Baum genannt werden. Es gibt auch weitere Anonymisierungstechniken, die ebenfalls durch Informationsverallgemeinerung erreicht werden können, wie z. B. k-anonymisierung [GRUT03] und die auf Informationsverschlüsselung basierten Private Information Retrieval (PIR) Protokolle [GHIN08]. Im Rahmen dieser Seminararbeit werden die strukturelle Aufbauweise der genannten Indexierungstechniken und deren theoretische Eignung für die Erreichung des gewünschten Grads der Anonymisierung bei gleichzeitiger Bewahrung der Effizienz der Anfrage- und Wartungsaufgaben (Query-und Update Processing) des DBMS näher untersucht und gewürdigt. Es wird ein Vergleich hinsichtlich der Erreichung des gesetzten Ziels der Anonymisierung der Privatinformation durch diese IS mit den anderen (oben erwähnten) Anonymisierungstechniken vorgenommen. Die Erfüllung der Anforderungen an solche IS zur effizienten Unterstützung der Anfrage- und Wartungsaufgaben des DBMS und die Gewährleistung des Schutzes der Privatsphäre bei der Nutzung des LBS werden kritisch gewürdigt.

125 6 Stand der bisherigen Forschung 3 Stand der bisherigen Forschung Zum Schutz der Privatsphäre bei der Nutzung von LBS werden in der Literatur unterschiedliche Lösungsansätze vorgeschlagen und deren Effizienz zur Erfüllung der Anforderung diskutiert. Diese Lösungsansätze können grob in drei Bereiche unterteilt werden, [QUOC11-1]: Ansätze mittels der so genannten k-anonymisierung, welche die Verallgemeinerung der Information mittels der spatio-temporal cloaking unter der Einschaltung eines dritten Dienstanbieters vorsieht. Ansätze mittels der so genannten PIR (Private Information Retrieval), die auf der Verwendung eines Protokolls basieren. Ansätze mittels der Benutzung der Indexstrukturen des Datenbanksystems, durch Einbettung von zusätzlichen Informationen, wie z. B. Privatsphäre-Richtlinien, Sicherheitseinstellung und ähnliche Profile des Dienstsuchenden, direkt in die Indexstrukturen des DBMS, um diese etwa den Kontext bewusst (context-aware) zu machen, realisiert werden können [QUOC11-2]. Dabei wird auch als Maß der Erfüllung der Anforderung zum Schutz der Privatsphäre ein Wahrscheinlichkeitsmodell herangezogen, das darauf hindeuten soll, in wie fern die Identifizierung bzw. Rückschluss auf einen bestimmten Benutzer aus der bekanntgemachten Privatinformationen erschwert werden kann. Im Folgenden werden die ersten zwei Ansätze kurz erläutert und der dritte Ansatz etwas detaillierter dargestellt. 3.1 k-anonymisierung zum Schutz der Privatsphäre der Benutzer Die k-anonymisierung beruht auf der Verschleierung der privaten Information mittels Verallgemeinerung der betroffenen Information durch Hinzufügung von zusätzlichen k-1 Daten, wonach die Daten des Dienstsuchenden nicht mehr von den übrigen k-1 Benutzerinformationen unterscheidbar sein soll. k steht dabei für eine Zahl, die vom Dienstsuchenden spezifiziert werden kann und als Anonymitätsvoraussetzung bezeichnet wird. Der Ablauf dieses Vorgehens wird im Folgenden grob skizziert [GRUT03]. Der Benutzer sendet eine Anfrage q an einen (vertrauenswürdigen) Anonymisierungsdienst mit entsprechenden Privatinformation, der seinerseits dann die Anfrage durch Hinzufügung von weiteren k-1 Daten die Information in eine Cloaking-Region CR (verhüllte Region) verallgemeinert und diese CR statt die ursprüngliche Anfrage an den LBS-Provider schickt. Der Provider wird dann alle infragekommenden Objekte, die so genannte Points of Interest (POI), an dem Anonymisierungsdienst zurückschicken, der seinerseits dann aus dieser Information die für den ursprünglichen Dienstsuchenden interessierenden Objekte ausfiltert und diese zurückgibt.

126 7 Stand der bisherigen Forschung 3.2 PIR-basierter Ansatz zum Schutz der Privatsphäre beim LBS Hierbei wird die Erzielung der Anonymität dadurch erreicht, dass die an den Dienstanbieter gesendete Privatinformation des Dienstsuchenden zuerst verschlüsselt und dann übermittelt wird. Dafür muss auf dem Server und dem Client das dafür benötigte Protokoll installiert sein um diese Kommunikation zu unterstützen. In [GHIN08] wird beschrieben, dass die erreichte Wahrscheinlichkeit zum Schutz der Privatsphäre um die Ordnung von 1/U ist, wobei U die Menge der gesamten Nutzer des Dienstes, z. B. die in einem Land registrierte Benutzer, darstellt. Es wird auch in den genannten Quellen zugegeben, dass die Methode allgemein rechenintensiv ist und für den praktischen Einsatz auf mobilen Geräten mit beschränkter Rechenkapazität bedenklich sein kann. 3.3 Anonymisierung mittels Indexstrukturen zum Schutz der Privatsphäre Bei diesem Ansatz wird die Verhüllung der genauen Lokalität durch Vergrößerung des räumlichen und zeitlichen Raums der Anfragequelle (spatio-temporal cloaking) erreicht. Dabei wird die genaue örtliche und zeitliche Lokalität des Dienstsuchenden durch Vergrößerung verschleiert, um eine anonyme Benutzung des Services zu gewährleisten. Unter diesem Ansatz kann man die unterschiedlichen Indexierungsstrukturen, wie z. B. R-Baum basierte, Quad-Baum basierte und auch B + -basierte Strukturen, benennen R-Baum basierte Ansätze Unter den Indexstrukturen, die zum Schutz der Privatsphäre eingesetzt werden können und die nach den Organisationsprinzipien des R-Baums aufgebaut sind, können der TPR * -Baum [TAOY03], der OST-Baum [QUOC11-2] und der S STP -Baum [ATLU07] genannt werden. Der TPR-Baum (Time Parameterized Rectangle-Tree) ist dafür konzipiert, die räumliche Lokalität des Objektes als Funktion der Zeit darzustellen und damit eine zukunftsorientierte Anfrage (predictive query) über das gespeicherte Moving Object zu ermöglichen. Statt statischer Positionsdaten über das betroffene Objekt wird eine lineare Funktion, die die benötigten Information dynamisch ermitteln kann, über das Objekt gespeichert, und diese Funktion nimmt als Parameter die Zeit und die Geschwindigkeit des Objekts. Durch diese Vorgehensweise versucht man den häufig aufzutretenden Updatebedarf des Objektes (einschließlich der Lokalität des Dienstsuchenden) zu minimieren, da das Moving-Objekt häufig seine örtliche Lokalität im Laufe der Zeit ändert. Die modifizierten Indexstrukturen, Abb. 1, werden durch Anpassung der entsprechenden Algorithmen der Anfrage- und Wartungsaufgaben bedient, siehe auch Anhang.

127 8 Stand der bisherigen Forschung Einzufügendes Objekt b k N 5 N 6 a f N3 N1 c d N 1 N 2 N 3 N 4 N5 e window query N2 i h N4 g j a b c d e f g h i j Abb. 1: R-Baum basiertes Datenmodell und dessen Indexstruktur, entnommen Tao et al., 2003 Die Indexstrukturen des OST-Baums werden speziell zum Schutz der Privatsphäre konzipiert und speichern in die Knoten des Baums entsprechend zusätzliche Informationen als Benutzerprofil. Das Profil wird als ein 4-elementiges Tupel aufgebaut und enthält <SPid, Userid, S, t> und hierbei stehen SPid und Userid jeweils für die Identität des Service-Providers und des Benutzers und S und t für die Approximation oder Fenstergröße der räumlichen und zeitlichen Lokalität der Anfragequelle. Bei der Beantwortung der Anfragen werden diese Informationen zur Verschleierung (obfuscation) der Privatinformation des Dienstsuchenden angewendet. Die zu verschleiernde Information erstreckt sich hierbei auch über die temporale Dimension, zusätzlich zu der N1 N3 N9 N4 N11 N5 N14 N13 N10 N8 N2 N6 N12 N18 N17 N15 N16 N7 N19 N1 N2 P a1 N 3 N4 N5 P a2, a3 N 6 N 7 P a4 N 8 N9 N10 P N 11 N12 P N 13 N14 P N 15 N16 P N 17 N18 N19 P Abb. 2: Struktur des OST-Baums, mit eingebetteten Profilinformation a5

128 9 Stand der bisherigen Forschung räumlichen, und erhöht damit den Anonymisierungsgrad (vgl. auch den Ausdruck für Relevanz in Abschnitt 5). Die Profil-Informationen können entweder direkt in den Knoten des Baums selbst untergebracht werden oder extern gespeichert sein und ein Zeiger darauf in den Knoten eingerichtet sein, siehe auch Abb. 2 für ein Beispiel [QUOC11-2]. Die Festlegung der Fenstergröße des S und t wird von den in fragekommenden Dienstanbieters abhängen bzw. entspricht dem Vertrauensgrad des Dienstsuchenden an diesen B + -Baum basierte Ansätze zum Schutz der Privatsphäre bei Nutzung von LBS In [MANL08] wird bemängelt, dass Indexstrukturen auf Basis des R-Baums, wie z. B. der TPR- Baum oder seine Nachkömmlinge für effiziente Anfragen eingesetzt werden können, aber erhöhte Updatekosten verursachen und auch nicht leicht in existierende relationale DB-Systeme integriert werden können. Die als Alternative dafür entwickelte Struktur STRIPES, die auf den Organisationsprinzipien des Quad-Trees aufgebaut ist, kann zwar für effizientere Updatekosten eingesetzt werden aber sie leidet unter erhöhten Speicherbedarf und kann auch nicht leicht in das relationale Modell integriert werden. Deshalb wurde als eine bessere Lösung eine Indexstruktur auf Basis des B + -Baums (Abb. 3) vorgeschlagen und um die temporale Eigenschaft des Objektes zu berücksichtigen, wurden die Struktur und die Algorithmen für die Operationen auch entsprechend angepasst, siehe Anhang für den modifizierten Algorithmus. Zunächst wurde in dieser Richtung die Indexstruktur des B x -Baum vorgeschlagen, der sich im Wesentlichen dadurch vom B + -Baum unterscheidet, dass die Blattknoten Informationen über die Objektlokalität zum gegebenen Zeitpunkt enthalten, während die inneren Knoten gleich gehalten werden wie die des B + -Baums. Die Lokalität des Objekts wird als ein Vektorpaar O =(, ) dargestellt, wobei die Position und die Geschwindigkeit des Objekts darstellen, und diese dann mittels einer so genannten Space-filling curve (Fass-Kurve) als 1-dimensionaler Wert repräsentiert. Dieser Wert wird dann mit dem Zeitintervall des Updates tu kombiniert bzw. verkettet, der dann in einer 1-dimensionalen Indexstruktur, wie den B + -Baum, indexiert wird. Der B x -Baum kann von der strukturellen Effizienz des B + -Baums zwar profitieren, ist aber nicht optimal für Moving-Objektes angelegt [QUOC11-1]. Deshalb wurde als eine bessere Alternative dafür der B dual -Baum vorgeschlagen, der zusätzlich explizit die Objektgeschwindigkeit in seiner Indexstruktur berücksichtigt und deshalb besser für so genannte predictive-query geeignet sein soll. Der B ob - Baum wurde auf der Grundlage des B dual -Baums konzipiert und speichert noch weitere Information in seinen Knoten, die für die Verschleierung der Privatinformation des Dienstsuchenden beim LBS dienen sollte [QUOC11-1]. Die Aufbauweise der IS des B ob -Baums ist in Abb.4 angegeben.

129 10 Stand der bisherigen Forschung C R 1 Z 1 R 2 Z 2 R p Z p Freier Platz Innere Knoten Zi = Zeiger auf die Söhne, Ri = Referenzschlüssel und k p 2k V S 1 D 1 S 2 D 2 S j D j Freier Platz N Blattknoten V= Vorgänger, Sj = Schlüssel, Dj = Daten und N= Nachfolger, k * j 2 k * Abb 3: Aufbau des B + Baums mit der Unterscheidung der inneren Knoten-und Blattknoten. P 1 S 1 K 1 K i-1 P i S i K i K q-1 P q S q Innere Knoten X<=K i K i-1 <=X<=K i K x q-1 <=X x x K 1 P...:::: r1 K 2 P r2..:: K i P ri K q-1 P q-1 Pnext Blattknoten Abb. 4: Aufbau des B ob -Baums mit der Unterscheidung der inneren Knoten und Blattknoten Quad-Tree basierte Ansätze Auf dem Organisationsprinzip des Quad-Tree baut die als STRIPES (a Scalable Trajectory Index for Predicted Positions in Moving-Object Databases) bezeichnete Indexierungstechnik auf, [PATE04]. Diese wird durch eine so genannte Dualtransformation des Datenraums aus einem d- Dimensionen Raum in einem 2d-dimensionalen Raum als Punktobjekte dargestellt, welcher dann durch Zerlegungsverfahren rekursiv jeweils in 4 untergeordnete Quadranten unterteilt wird. Ein Knoten enthält neben den Schlüsseln und den Daten vier Zeiger auf die Teilbäume der Quadranten, welche hier aus Platzgründen nicht wiedergegeben werden können. Charakteristisch für das Organisationsprinzip des Quad-Trees ist auch, dass dieses keine Einhaltung der Topologie der Datenwelt ermöglicht und kein Mechanismus zum balancierten Zugriff bereitgestellt wird, [HÄRD01], siehe auch Tabelle 1 in Abschnitt 4 für eine zusammenfassende Darstellung der Organisationsprinzipien.

130 11 Fachliche Würdigung 4 Fachliche Würdigung Zur Verbreitung und allgemeiner Akzeptanz von LBS spielt der Schutz der Privatsphäre eine entscheidende Rolle. Zum Schutz der Privatsphäre werden in der Literatur unterschiedliche Lösungsansätze diskutiert, welche auf der k-anonymisierung der Privatinformation, auf Einbettung von zusätzlichen Profilinformationen in die Indexstrukturen des DBMS und auf Verschlüsselung der betroffenen sensiblen Information des Dienstsuchenden beruhen, wie bereits im Teil 3 diskutiert wurde. Im Rahmen dieser Seminararbeit wurde der Ansatz der Verhüllung (spatial-temporal-cloaking) mittels der eingesetzten IS des DBMS näher betrachtet. Als Beispiel wurden die Indexstrukturen auf Basis des Organisationsprinzips des R-Baums, des Quad-Trees und des B + -Baums näher betrachtet. Im Folgenden werden beispielhaft der OST-Baum, der PEB-Baum und der B ob -Baum auf die Erfüllung der gesetzten Anforderung näher untersucht. Die zur erfüllende Anforderung bezieht sich dabei auf die Gewährleistung des Schutzes der Privatsphäre bei Nutzung des LBS unter gleichzeitiger Einhaltung der Effizienz bei Anfrage- und Wartungsarbeiten des DBMS. 4.1 OST-Baum Der OST-Baum (Obfuscating Spatio-Temporal data-tree) baut auf der Grundlage des TPR- Baums auf und unterstützt den Schutz der Privatsphäre durch Einbettung zusätzlicher Profilinformationen des Benutzers als <SPid, Userid, S, t> in die Knoten des Baums, die zu seinen Vorteilen zählt. Andererseits leidet der OST-Baum auch unter den Einschränkungen der wohl-bekannten R- Baum Indexstruktur, u. a., die durch die zulässige Überlappung der Datenregionen in den Indexstrukturen verursachte Schwierigkeit der Erhaltung der strikten lokalen Ordnungserhaltung [HÄRD01]. Diese mündet wiederum in die Notwendigkeit der Traversierung mehrerer Pfade bei der Suche eines gegebenen Datensatzes und damit erhöhten Zugriffsaufwand. Darüber hinaus verursacht solche Überlappung einen erhöhten Speicherbedarf. 4.2 PEB Baum Der PEB-Baum (Policy Embeded B x -Tree) und der unter 4.3 beschriebene B ob -Baum wurden auf Grundlage des B x -Baums, und damit auf Grundlage des allgemeineren B + -Baums, aufgebaut und enthalten weitere Informationen als die, die im B x -Baum enthalten sind. Durch Einbettung der so genannten Location Privacy Policy (LPP), etwa Richtlinien der Lokalitätsprivatsphäre, des Benutzers in den Indexstrukturen des Baums ermöglicht der PEB-Baum die Verschleierung der Privatinformation anhand dieser extra Information. Anders als der B ob -Baum und weiteren lokalitätsverhüllende Strategien zielt der PEB-Baum auf den Schutz der Privatsphäre gegen eine Gefahr, die

131 12 Fachliche Würdigung möglicherweise von anderen Benutzern selbst ausgehen könnte. Durch eine geschickte Kombination der Information der Privatsphäre mit der Lokalitätsinformationen macht dessen Indexstruktur die effiziente Anfragebearbeitung und Wartungsarbeiten, die sie vom B + -Baum erbt, möglich. [LIND11]. Da hierbei der Anfrageverarbeitungsalgorithmus zusätzliche Informationen als die reinen spatiotemporalen IS auswerten muss, wird dieser auch entsprechend komplexer und verursacht einen erhöhten Aufwand bei den IO- und CPU-Zeiten. Die Wartungsarbeiten sind aber mit denen des B + -Baums vergleichbar. Die entsprechenden Bereichsanfragen und nächster Nachbaranfragen sind auch angepasst, wie in Anhang wieder gegeben wird. Der LPP wird als Tupel wie (role, loc r, t int ) aufgebaut, wobei role die Beziehungsart zu weiteren Benutzern, loc r die räumliche Region und t int das Zeitintervall für die Begrenzung beschreiben. 4.3 Der B ob -Baum Der B ob -Baum wurde auch dafür konzipiert, genauso wie die beiden oben genannten IS, dass die für den Verschleierungsalgorithmus benötigten Informationen aus Effizienzgründen direkt auf der Ebene der DB abgelegt sind. Hierbei wird wiederum durch die Einbettung zusätzlicher Information für den Schutz der Privatinformation in die IS selbst unter Beibehaltung der effizienten Performanz des B + -Baums die notwendige Verschleierung realisiert. Die IS des B ob -Baums wird durch die so genannte Eindimensionale Einbettung der mehrdimensionalen Suchschlüssel mittels der sogenannten space-filling-curve (Fass-Kurve) zur Realisierung der effizienten Anfrage-und Updatekosten der eindimensionalen Baumstruktur aufgebaut. Dies soll die Nachteile des Organisationsprinzips des R-Baums bzw. seiner Nachkömmlinge, wie TPR-Baum und OST-Baum, vermeiden Allgemein wird ein d-dimensionales Moving-Object (ein Punktobjekt) o zum Zeitpunkt o.tref, Koordinaten o[1],, o[d] und Geschwindigkeiten o.v[1], o.v[d] als 2d-dimensionaler Vektor wie folgend transformiert. o dual = (o[1](tref),, o[d](tref), o.v[1],, o.v[d]) wobei o[i](tref) die i te Koordinate zum Zeitpunkt Tref (Tref > o.tref) darstellt und gegeben durch o[i](tref) = o[i] + o.v[i] *(Tref-o.tref). Dieser 2d-dimensionale Punkt wird durch die Hilbert-Kurve als 1-dimensionaler Wert dargestellt und dieser dann mittels B + -Baum indexiert. Die Anonymisierung wird dabei durch die Einbettung eines 3-tupligen Profils <idsp, iduser, s> in die Indexstruktur realisiert, wobei idsp und iduser jeweils für die Identität des Serviceproviders und des Benutzers stehen, und für die Approximation des Gebiets der Anfragequelle steht. Die

132 13 Fachliche Würdigung Größe von ist abhängig vom Vertrauensgrad des Benutzers an den Serviceprovider. Bei der Suche wird mitberücksichtigt und je größer dieser Wert ist desto früher bricht die Traversierung der Baumstruktur ab, also näher an der Wurzel und reduziert damit auch den Zugriffsaufwand. Prinzipiell wird hierbei Ungenauigkeit (schlechtere Servicequalität) aber damit auch besserer Schutz der Privatsphäre mit weniger Zugriffsaufwand und damit auch erhöhte Effizienz erkauft. Die folgende Tabelle (Tabelle 1) zeigt einige empirische Eigenschaften der unterschiedlichen Organisationsprinzipien der unterschiedlichen mehrdimensionalen Indexstrukturen. Organisationsprinzip Organisation der Organisation des umgebenden Datenraums Datensätze 1-Dimens. Divide & Dimensionsverfeinerung Überlappende Kriterien Einbettung Conquer Regionen Beispiele Quad-baum Mehrschlüssel-hashing Fass-Kurve k-d-b-baum Grid-File R-Baum Objektdarstellung Punktobjekte Punktobjekte Punktobjekte -Punkt. Obj. Räuml. Objekte -Räuml. Obj. nach Transf. Zugriffskosten log4n 1 logmn 2 logmn (exakten Anfrage) Bestimmung der knn- und Bereichanfragen Rekursive Baumstruktur - möglich Rekursive Baumstruktur Berechnung des Behälters Rekursive Baumstruktur (knn-q nicht möglich) Dynamische Reorganisation - - Split-Verf. Zelle/Region Split-Verf. Dimensionsverfeinerung Split-Verf. Zelle/Region Erhaltung der Topologie nein nein ja ja ja Nein Trennung von nein ja ja ja ja Ja ZPS und Daten Cluster-Bildung nein ja ja ja ja ja Tabelle 1: Organisationsprinzipien der Mehrdimensionalen Indexstrukturen, entnommen aus Härder & Rahm 2001, mit kleiner eigener Modifizierung.

133 Darstellung der Ergebnisse 5 Darstellung der Ergebnisse Im Laufe dieser Seminararbeit wurden unterschiedliche Möglichkeiten zum Schutz der Privatsphäre im Bereich der LBS anhand von ausgewählter Literatur aufgezeigt. Insbesondere wurden die Techniken der Einbettung von extra Informationen in die IS des DBMS zum Schutz der Privatsphäre detaillierter erörtert. Zur vergleichenden Darstellung der Effektivität der unterschiedlichen Anonymisierungstechniken wird nun ein Wahrscheinlichkeitsmodell herangezogen und zu den Effizienzmerkmalen bei der Anfrage- und Wartungsaufgaben werden die allgemein bekannten empirischen Eigenschaften, wie z. B. Tabelle 1 in Abschnitt 4, der zugrundeliegenden Organisationsprinzipien der jeweiligen IS betrachtet. Bei k-anonymisierung wird die Wahrscheinlichkeit P, dass ein Rückschluss auf eine bestimmte Person, die möglicherweise hinter der bekanntgemachten Privatinformation stehen könnte, wird durch P = 1/k gegeben, wobei k-für den Anonymisierungsgrad steht. K kann vom Benutzer je nach eigenem Bedarf festgelegt werden, aber kann nicht überall unbegrenzt erhöht werden, da diese allgemein von der Anzahl der angemeldeten Benutzer und weiteren Benutzungsumgebungsmerkmalen abhängt. Bei dem PIR-basierten Modell wird P durch P = 1/U angegeben, wobei U für die gesamte Menge der angemeldeten Systembenutzer steht, z. B. die Gesamtanzahl der registrierten Benutzer in einem Land. Es gilt im Allgemeinen, dass U k ist. Bei der Verschleierung (obfuscation) anhand der IS des DBMS wird im Allgemeinen eine so genannte Relevanz Ri (relevance) als Maßstab zum Schutz der Privatsphäre herangezogen. Diese kann wie folgt dargestellt werden: Ri = 2 wobei Ai, das tatsächliche Gebiet des Benutzers, dessen Genauigkeit allein von der Bemessungstechnologie abhängt und Af das transformierte (verschleierte) Gebiet darstellen [ARDA09]. Beim Schutz der Privatsphäre geht es nun darum, Ri möglichst zu verkleinern. Wird zum räumlichen Aspekt auch der temporale Aspekt für die Verschleierung mit einbezogen, so wird der obige Ausdruck wie folgt angepasst Ri = 2 1, wobei das Zeitintervall darstellt. Zusammenfassend können die bisher gesagten Eigenschaften der Anonymisierungstechniken wie in die Tabelle 2 überblicksartig dargestellt werden. Die allgemeinen Effizienzeigenschaften der zugrundliegenden Organisationsprinzipien sind bereits in Tabelle 1 wiedergegeben und können für einen Vergleich herangezogen werden. Organisationsprinzipien auf Basis der 1-dimensionalen IS des B + -Baums werden allgemein als effizienter angenommen. 14

134 15 Darstellung der Ergebnisse k-anonymisierung PIR-Protokoll Eingebettete IS Anonymisierung schlecht bis mittel gut mittel Query-Performanz schlecht bis mittel schlecht gut Speicherbedarf mittel mittel mittel Updatekosten hoch hoch niedrig Tabelle 2. Vergleichende Eigenschaften der unterschiedlichen Anonymisierungstechniken Im Rahmen dieser Seminararbeit wurde keine erschöpfende Auswertung der verfügbaren Literatur im Themengebiet durchgeführt. Es werden lediglich ausgewählte Quellen beispielhaft studiert und die Bilanz der bisherigen Forschungsergebnisse nach eigener Ansicht ausgewertet. In diesem Rahmen sieht es so aus, dass die unterschiedlichen IS mit unterschiedlichen Einschränkungen behaftet und die jeweiligen IS auch auf nur bestimmte Aufgabengebiete zugeschnitten sind. Eine der Anforderungen ist dabei, dass Erweiterbarkeit zu unterstützen gilt [HÄRD01]. Bei manchen IS, z. B. STRIPES, wird einer der wichtigsten Anfragetypen, die knn-anfrage, nicht unterstützt, daher kann diese IS nur begrenzt eingesetzt werden. Die zukünftige Forschung in diesem Gebiet kann auf diese wichtige Eigenschaft der Applikationsentwicklung mehr fokussieren und nicht nur das relationale Modell sondern auch andere (neuere) Datenmodelle in Betracht ziehen.

135 16 Zusammenfassung 6 Zusammenfassung Bei der Nutzung von LBS wird als entscheidend beachtet, dass der Schutz der Privatsphäre gewährleistet wird. Dafür werden unterschiedliche Anonymisierungstechniken vorgeschlagen und auf deren Effizienz hin untersucht. Bei der Anonymisierung kann man nicht von einer vollständigen Verschleierung der betroffenen Lokalitätsinformation ausgehen, da diese Informationen für die benötigten Dienste ausgewertet werden müssen. Stattdessen wird allgemein durch Hinzufügung von extra Information die Genauigkeit dieser Informationen absichtlich verschlechtert und Ungenauigkeiten verschafft. Dies soll die Wiederidentifizierung der betroffenen Person aus der bekannt gemachten sensiblen Information erschweren, um den Schutz der Privatsphäre zu gewährleisten. Von den vorgeführten Anonymisierungstechniken kann der Ansatz mittels des PIR-Protokolls als der effizienteste Mechanismus zum Schutz der Privatsphäre betrachtet werden, da diese die betragsmäßig kleinste Wahrscheinlichkeit verschafft. Andererseits zeigt auch dieser Ansatz ein erhebliches Performanz-Defizit bezüglich der weiteren Aufgabenanforderung des DBMS, und damit ein erhebliches Bedenken für dessen breiteren Einsatz im Bereich der LBS. Der Ansatz mittels der so genannten k-anonymisierung zeigte eine bessere Performanz aber der Grad der Anonymisierung ist nicht unbeschränkt, zudem wird der Ansatz bei der so sogenannten Korrelationsattacke als unzureichend betrachtet. Als bessere Alternative wurden die Anonymisierungstechniken durch Einbettung von zusätzliche Informationen in die IS des DBMS vorgeschlagen und auf ihre Effizienz untersucht. Aus Sicht der Performanz können solche Strategien als die bessere Alternative angesehen werden, aber ihre allgemeine Akzeptanz für den Schutz der Privatsphäre unter allen Benutzungsumgebungen des Dienstes kann nur als bescheiden beschrieben werden. Die einzelnen Techniken können nur bestimmte Anforderungen besser erfüllen und nicht universell für alle Szenarien einsetzbar und damit erfüllen sie nicht eine der wichtigsten Eigenschaft der IS, die Erweiterbarkeit, genügend. Dies zeigt sich auch daran, dass bereits eine Fülle von IS in der Literatur diskutiert wird, und diese sich unterscheiden voneinander nur um bestimmten Aspekte. Dies kann dazu führen, dass für jeden Anwendungsbereich eine eigene IS zu entwickeln und einzusetzen ist. Dies wäre auch nicht ganz optimal. Deswegen kann im Rahmen dieser Seminararbeit der Vorschlag gemacht werden, dass die Forschung zukünftig die Richtung der Erweiterbarkeit auch eine geeignete Fokussierung widmet.

136 17 Anhang Anhang A. B x -tree 1. Der angepasste Algorithmus zur Bereichsanfrage des B x -Baums Algorithm Range_query (q, tq) Input: q ist he query range and tq ist he query time. for j 0 to n if partition Tj of the B x -tree is valid at tq then //zu q' q' TimeParameterizedRegion(q, tq) //eine Funktion zur Vergrößerung der Anfrage von q calculate start and end points i1,... i2m for q' for k 1 to m do locate keaf node containing point i2k-1 repeat store candidate objects in L follow the right pointer to the sibling node until node with point i2k is reached for each object in L do if the object s position at tq is inside q then add the object to the result_set return result_set 2. Der angepasste Algorithmus zur Nächste Nachbaranfrage des B x -Baums Algorithm knn_query(q(qx1, qx2), k, tq) Input: a query point q(qx1, qx2), a number k of neighbors, and a query time tq Construct range Rq1 with q as center and extension rq R'q1 TimeParameterisedRegion(Rq1, tq) flag true //not enough objects i 1 //first query region is being searched while flag if i = 1 then find all objects in region R'q1 else find all objects in region R'qi - R'qi-1 if k objects exist in inscribed circle of R'qi then flag false else i i + 1 Rqi Enlarge (Rqi-1, rq)

137 18 Anhang R'qi TimeParameterizedRegion(Rqi, tq) Return k NNs with respect to q B. B ob -Baum Suchalgorithmus Input: a dual Vekcor of a moving object o dual, area of an obfuscated region S Output: the region that ist area equals S and contains a moving point with a dual vector o dual,. Transform o dual into the Hilbert value h. while (n is not a leaf node) do: search node n for an entry i such that Ki-1 < h < Ki if S = Si then return the region corresponding to the Hilber interval [Ki-1-Ki]. else if S > Si then return ExtendCell (Ki-1, Ki, S) //ExtenCell ist ein Algorithmus, der dem Hilbert-Intervall //[Ki, Kj] entsprechenden Region durch Hinzufügung von zusätzlichen und zugänglichen Zelle //erweitert, bis diese gleich S groß wird. else n n.pi // der i te Zeiger im Knoten n search leaf node n for an entry (Ki, Pri) with h = Ki if found then retrieve the user s exact location else the search value h is not in the database C. PEB-Baum Bereichsuchealgorithmus Algorithm PRQ (q, tq, uid, friend_list) Input: R is the query range and tq is the query time, uid is the ID of the user who issues the query, friend_list is the list of users related to uid. Output: result_list SVmin smallest sequence value in friend_list SVmax largest sequence value in friend_list next.timestamp 0 more true while more R Enlarge (next_timestamp, R, tq) ZV _intervals ZVconvert(R ) for each (ZVstart; ZVend) in ZV _intervals StartPnt TID SVmin SVstart.EndPnt TID SVmax ZVend current_leaf leaf node containing StartPnt

138 19 Anhang for each user u in current_leaf do if u passes location and policy evaluation then add u to result_list if current_leaf contains EndPnt then next_timestamp current_timestamp + 1..else current_leaf current_leaf.right_sibling..if next_timestamp n current_leaf = then more false end while return result_list

139 20 Literaturverzeichnis Literaturverzeichnis ARDA09 ATLU07 GHIN08 GRUT03 HÄRD01 JENS04 LIND11 MANL08 PATEl04 QUOC11-1 QUOC11-2 TAOY03 Ardagna, C.A., Cremonini, M., Vimercati, S.D.C., Samarati, P.: An Obfuscation-Based Approach for Protecting Location Privacy. IEEE Transactions on Dependable and Secure Computing Vol. 8, No. 1, January-February 2011, (2009) Atluri, V., Shin, H.: Efficient Security Policy Enforcement in a Location Based Service Environment. In DBSEC, USA, pp , Ghinita, G., Kalnis, P., Khoshgozaran, A., Shahabi, C., Kian Lee, T.: Private Queries in Location Based Services: Anonymizers are not Necessary. In: Proceedings of the 2008 ACM SIGMOD international conference on Management of data, Vancouver, Canada, 2008, pp Gruteser, M., Grunwald, D.: Anonymous Usage of Location Based Services Through Spatial-Temporal Cloaking, in Proc. ACM MobiSys, 2003, pp Datenbanksysteme: Konzepte und Techniken der Implementierung (buch), 2. Auflage, 2001, Springer, Berlin, pp Jensen, C.S., Lin, D., Ooi, B.C.: Query and Update Efficient B + -tree based Indexing of Moving Objects. In: VLDB, Canada, pp (2004) Lin, D., Jensen, C. S., Zhang, R.: A Moving Object Index for Efficient Query Processing with Peer-Wise Location Privacy. In Proc. of the VLDB Endowment 5(1), Man Lung Yiu, Yufei Tao, and Nikos Mamoulis. The B dual -tree: indexing moving objects by space filling curves in the dual space.vldb J., 17(3): , Patel, J. M., Chen, Y., Chakka, V. P.: STRIPES: An Efficient Index for Predicted Trajectories. In Proc. ACM SIGMOD, International Conference on Management of Data , To, Q. C., Dang, T. K., Küng, J.: B ob -tree: An efficient B + -tree based index structure for geographic-aware obfuscation. In Ngoc Thanh Nguyen, Chonggun Kim, and Adam Janiak (editors), Intelligent Information and Database Systems -Third International Conference, ACI- IDS 2011, Daegu, Korea, April 20-22, 2011, Proceedings, Part I, volume 6591 of Lecture Notes in Computer Science, pages Springer, To, Q.C., Dang, T.K., Küng, J.: OST-tree: An Access Method for Obfuscating Spatiotemporal Data in Location-based Services. In: Proceedings of the 4th IFIP International Conference on New Technologies, Mobility and Security (NTMS2011), IEEE Computer Society, Paris, France, 7-10 February, 2011 Tao, Y., Papadias, D., Sun, J.: The TPR * -Tree: An Optimized Spatio- Temporal Access Method for Predictive Queries. In: VLDB, pp (2003).

140

141 FernUniversität in Hagen - Seminar / im Wintersemester 2014/2015 Sicherheit und Privatsphäre in Datenbanken Thema 12 Location Based Services Referent: Enrico Blechschmidt

142 Thema 12: Location Based Services Seite 2 von 20 Inhaltsverzeichnis 1 Einleitung 3 2 Location Based Services (LBS) Anwendungsgebiete und Beispiele Vor- und Nachteile dieser Dienste Technische Umsetzung 7 3 Privatsphäre und Anonymisierung Gefährdung der Privatsphäre Schutz durch Anonymisierung Geografischer Raum Verschleierung im Graphen Anonymisierung durch umgebungsbasierte LBS Einfluss der Anonymisierung auf die Qualität von LBS 17 4 Fazit und Aussichten 18 Literaturverzeichnis 19

143 Thema 12: Location Based Services Seite 3 von 20 1 Einleitung Durch den technischen Fortschritt ist die Verbreitung von Geräten (z. B. Smartphone, Navigationsgeräten), welche zur präzisen und genauen Ermittlung des aktuellen Aufenthaltsortes einer Person genutzt werden können, in den letzten Jahren stark angestiegen. Dadurch ist auch das Angebot sowie die damit verbundenen Möglichkeiten, standortbezogene Dienste (Location Based Services) bereitzustellen und zu nutzen weiter gewachsen. Neben der aktuellen Position können durch den Anbieter des Dienstes exakte räumliche und zeitliche Informationen einer Person erfasst und gesammelt werden. Diese sensiblen und persönlichen Daten können dazu verwendet werden, die Inhalte, die dem Benutzer geboten werden, immer mehr zu personalisieren und auf das Verhalten der Person abzustimmen. Gleichzeitig kann von diesen Informationen auch eine Reihe von Gefahren ausgehen. Durch entsprechende Anonymisierung der Daten können diese Gefahren jedoch relativiert werden, was sich allerdings auch auf die Qualität der zur Verfügung gestellten Informationen und Dienste auswirken kann. Um dennoch eine ausreichende Qualität zu gewährleisten, ist eine entsprechende Balance zwischen Preisgabe von persönlichen Daten und gewünschter Anonymität zu finden. In den nachfolgenden Kapiteln wird zunächst allgemein auf Location Based Services (LBS) (Kapitel 2) eingegangen, wobei mögliche Anwendungsgebiete genannt und anhand von Beispielen näher erläutert werden. Gleichzeitig wird erklärt, welche Vor- und Nachteile sich für die Nutzer sowie die Dienstleister dieser Dienste ergeben und wie LBS technisch umgesetzt werden können. Anschließend, im Kapitel 3, wird speziell das Thema Privatsphäre und Anonymisierung aufgegriffen, indem auf die Gefahren für die Privatsphäre eingegangen wird und wie diese durch Anonymisierung minimiert werden können. Weiterhin wird erläutert, welche Rolle Graphen sowie deren Verschleierung in Bezug auf LBS spielen und welchen Einfluss die Anonymisierung auf die Qualität der bereitgestellten Informationen haben kann.

144 Thema 12: Location Based Services Seite 4 von 20 2 Location Based Services (LBS) 2.1 Anwendungsgebiete und Beispiele Eine Vielzahl von technischen Geräten ist heutzutage in der Lage, die aktuelle Position seines Benutzers zu ermitteln und diese an den Anbieter von standortbezogenen Diensten zu senden. Dadurch ist es möglich, entsprechende Informationen oder Dienstleistungen in Bezug auf den momentanen Standort abzurufen bzw. zu nutzen. Neben den klassischen GPS-Geräten wie dem Navigationsgerät sind mittlerweile auch Uhren, Fotokameras und Sportgeräte in der Lage, mit Hilfe von drahtlosen Netzwerken oder GPS-Empfängern geografische Koordinaten zu übermitteln und auszuwerten, wodurch auch die Anwendungsgebiete zur Nutzung dieser Informationen immer neue Formen annehmen. Neben der Navigation z. B. im Auto können dem Nutzer bei Bedarf sogenannte Points of Interest (POI), wie Tankstellen, Restaurants oder Sehenswürdigkeiten angezeigt werden. Aber auch im Bereich des Marketings werden diese Bewegungsdaten zielgerichtet eingesetzt, um dem Benutzer, in Abhängigkeit seines aktuellen Aufenthaltsorts, für ihn relevante Informationen zur Verfügung zu stellen oder durch gezielte Marketingaktionen sein Kaufinteresse anzuregen oder gar erst zu wecken. Neben den bereits erwähnten Anwendungsgebieten finden LBS u. a. auch in den Bereichen Social-Media, Notrufsysteme (z. B. Not-Ruf-Apps) und öffentlichen Verkehrsmitteln (z. B. Fahrpläne) Verwendung. Das vermutlich am häufigsten verwendete Gerät zur Nutzung von standortbezogenen Diensten ist das Smartphone. Der meist ständige Begleiter verfügt oft über Global Positioning System (GPS), Field Communication (NFC) oder Wireless LAN (WLAN) und ist so in der Lage, LBS zu nutzen. Nachfolgend werden einige bekannte Beispiele genannt und kurz erläutert. Point of Interest Mit Hilfe von geografischen Standortinformationen können in der Nähe befindliche Objekte angezeigt werden. Dabei muss es sich nicht immer, wie der Wortlaut eventuell vermuten lässt, um interessante Punkte handeln, da das Interesse an diesen Punkt je nach benötigter Information variieren kann. Für jemanden der einen Brief verschicken möchte, ist der nächstgelegene Briefkasten von größerer Bedeutung, als für jemanden der gerade auf der Suche nach einer Tankstelle ist (vgl. Openstreetmap).

145 Thema 12: Location Based Services Seite 5 von 20 Geocaching Das Geocaching ist eine Art moderne Schatzsuche. Hierbei werden sogenannte Caches von Cache-Versteckern versteckt und anschließend die Position des Cache inklusive einiger Hinweise sowie dem Wichtigsten, den Koordinaten des Cache, in einer der datenbankbasierenden Internetseiten (z. B. Opencaching.de) veröffentlicht. Mit Hilfe eines GPS-Empfängers und den Koordinaten aus der Datenbank kann man sich anschließend auf die Suche nach dem Schatz begeben. Ist dieser gefunden, meist eine Dose mit Logbuch, einem Bleistift sowie Tauschmaterial, trägt man sich in das Logbuch ein und kann ggf. den Tauschgegenstand durch etwas Neues ersetzen oder einfach dort belassen (vgl. Geocaching). Facebook Auch heute noch ist Facebook, mit Millionen Nutzern, eines der beliebtesten und meist genutzten Social Networks weltweit (vgl. Statista2). In Deutschland liegt Facebook mit 33,36 Millionen Nutzern weit vor Xing (5,34 Mio.) und Twitter.com (3,83 Mio.) (vgl. Statista). Dementsprechend groß ist auch das Angebot an immer neuen Funktionen, um immer mehr neue User zu werben und damit natürlich auch das Interesse als Marketingplattform für Unternehmen weiter auszubauen. Facebook bietet zudem eine Reihe von Location Based Services. So kann man z. B. seinen Freunden bzw. der Öffentlichkeit mitteilen, wo man sich momentan befindet und was man dort gerade macht oder aber an welchem Ort ein bestimmtes Foto aufgenommen wurde. Über Facebook Places hat man die Möglichkeit sich aktuelle Informationen (wie beliebte Orte in der Nähe, Öffnungszeiten usw.) zum derzeitigen Aufenthaltsort anzeigen zulassen. Eine weitere beliebte Funktion stellt Freunde in der Nähe dar. Ist diese Einstellung aktiviert, werden alle Freunde die sich in der Nähe aufhalten angezeigt und ggf. sogar benachrichtigt (vgl. Andreas Pfitzmann/Marit Koehntopp). Gutschein-Apps Durch Gutscheine bzw. sogenannte Coupons lassen sich meist einige Euro sparen. Neben Gutscheinen aus Zeitschriften und Flyern gibt es auch die mobile Variante, bei der man Coupons direkt auf seinem Smartphone abrufen kann. Je nach Funktionsumfang werden auch hier, beispielweise bei der App der Firma GETTINGS, LBS zur Verfügung gestellt. Auf Basis des aktuellen Standorts werden eventuelle Vergünstigungen aus den unterschiedlichsten Kategorien (wie beispielsweise Möbel, Kleidung oder Nahrung) dem Benutzer angezeigt (vgl. Tor).

146 Thema 12: Location Based Services Seite 6 von Vor- und Nachteile von Location Based Services Wie bereits erwähnt ergeben sich aus der Nutzung von Location Based Services eine Menge Vorteile für den Anwender. Er ist in der Lage jederzeit entsprechende Informationen in Bezug auf seinen aktuellen Standort in Anspruch zu nehmen und sich so z. B. navigieren zu lassen. Aber auch in Bezug auf die soziale Komponente kommen diese Services zum Einsatz. Durch Dienste wie z. B. Facebook hat man die Möglichkeit seinen aktuellen Standort zu offenbaren und so eventuelle Freunde, die sich in der Nähe aufhalten, zu finden, um sich mit ihnen zu treffen. Zusätzlich kann man andere teilhaben lassen, welche Orte man bereits besucht hat oder auf interessante (oder auch nicht interessante) Orte hinzuweisen. Neben diesen Vorteilen ergeben sich jedoch auch Nachteile, die je nach persönlicher Einschätzung, mehr oder weniger gravierend sein können. Gerade marketingbasierende Dienste, die gezielt personalisierte Werbung einsetzen oder die Inanspruchnahme der bereits erwähnten Coupon-Apps können zum Kauf verleiten. Die Anwender sollten sich bewusst sein, dass bei jeder Nutzung Daten vom Benutzer an den Dienstanbieter gesendet werden. Je nach Gerät, Anwendung und Berechtigungen (z. B. bei Smartphone-Apps) kann dies von einfachen Koordinaten bis hin zu weitaus persönlicheren Informationen reichen. Werden die Daten nun zusätzlich vom Dienstanbieter protokolliert und analysiert, lassen sich eventuell Rückschlüsse auf das Verhalten oder gar auf die Identität der Person ziehen, (vgl. Marco Gruteser/Dirk Grunwald, Kapitel 1). Je mehr Informationen ein Anbieter über den Benutzer gesammelt, hat desto gezielter kann er diese einsetzen, um so die Qualität seiner angeboten Dienste bzw. die Erfolgschance seines Marketings zu erhöhen. Sollte der Dienstanbieter nun über seine AGBs sogar die Weitergabe der erfassten Daten legitimiert haben, so steht der Weitergabe oder gar einem Verkauf an Dritte nichts mehr im Wege. In diesem Fall hätte der Nutzer keinen Überblick mehr, wer alles Zugriff auf die vom Dienstanbieter gesammelten Daten hat und wozu diese eventuell noch verwendet werden. Diesen Gefahren sollte man sich zu mindestens bewusst sein, wenn man sich dazu entschließt, LBS zu nutzen. In Kapitel 3 wird nochmals gezielt auf die Gefährdung der Privatsphäre eingegangen.

147 Thema 12: Location Based Services Seite 7 von Technische Umsetzung von Location Based Services Die Grundvoraussetzung zur Nutzung von standortbezogenen Diensten ist die Verwendung eines mobilen Endgerätes, welches in der Lage ist Funksignale zum Beispiel in Form von Global Positioning System (GPS), Global System for Mobile Communications (GSM), Universal Mobile Telecommunications System (UMTS), Wireless LAN (WLAN); Bluetooth oder aber Near Field Communication (NFC) zu senden bzw. zu empfangen. Entsprechend der verwendeten Technik kann die Genauigkeit von wenigen Millimetern (bei NFC) bis hin zu einigen Kilometern, z. B. bei der Funkzellenortung (CellID) welche bei GSM zum Einsatz kommt, variieren (vgl. Goldmedia GmbH Strategy Consulting, Seite 10). Nachfolgend wird sehr vereinfacht dargestellt wie die Informationsbereitstellung von LBS durch ein GPS-Signal erfolgt: Abb. 1: Informationsbereitstellung von LBS durch ein GPS-Signal, Quelle: Goldmedia GmbH Strategy Consulting Seite, 9

148 Thema 12: Location Based Services Seite 8 von 20 3 Privatsphäre und Anonymisierung bei der Nutzung von LBS 3.1 Gefährdung der Privatsphäre Der Schutz der Privatsphäre wird u. a. durch das Persönlichkeitsrecht gemäß Art. 2 Abs. 1 in Verbindung mit Art. 1 Abs. 1 des Grundgesetzes der BRD definiert (vgl. JuraForum). Laut Gruteser und Grunwald erfolgt eine Einteilung in zwei Klassen von Gefahren in Bezug auf Location Based Services. Zum einem die Verletzung der Privatsphäre bei der Kommunikation (communication privacy) und zum anderen die Bekanntgabe des aktuellen Aufenthaltsortes (location privacy) einer Person (vgl. Marco Gruteser/Dirk Grunwald, Kapitel 4.1). Communication privacy Unter der Annahme, dass der Nutzer des LBS unbekannt also anonym ist, kann der LBS Anbieter als auch der Angreifer auf das Netzwerk nicht feststellen, wer der eigentliche Absender einer Nachricht war. Ähnlich wie bei nicht LBS-basierten Web-Diensten gibt es aber ein Kernproblem und zwar die Standortinformation. Ein Angreifer kann nun versuchen mit Hilfe einer weiteren anonymen Nachricht und den dazu gehörigen Positionsangaben, diese mit bereits gesammelten Informationen zu verknüpfen und so festzustellen ob diese Nachricht vom selben Absender wie die 1. Nachricht versendet wurde. Angenommen ein Nutzer (S = Subject) sendet eine Nachricht (M =Message) mit seinem Aufenthaltsort (L = Location) an einen LBS und ein Angreifer (A = Adversary) hat Zugriff auf diese Information, dann kann dies dazu führen, dass die Anonymität sowie die location privacy gefährdet ist. Nachfolgend werden 3 mögliche Angriffsszenarien beschrieben: 1. Ortsbezogene Identifikation (Restricted Space Identification): Falls A weiß, dass eine bestimmte Position zu S gehört, dann lernt A das S in L ist und S gesendet hat. Wird beispielsweise eine anonyme Nachricht verschickt, so kann der Angreifer versuchen mit Hilfe der Koordinaten eine Adresse abzuleiten. Über eine Datenbank, z. B. dem Telefonbuch, kann er nun versuchen herauszubekommen, wer dort wohnt und weiß so, wer sich vermutlich hinter dieser, ehemals anonymen, Nachricht verbirgt.

149 Thema 12: Location Based Services Seite 9 von Identifikation durch Überwachung (Observation Identification): Weiß A, wo sich S momentan aufhält, (L) und findet eine M die von L verschickt wurde, so weiß A das S diese M geschickt hat. Beispiel: Der Nutzer hat in einer vorherigen Nachricht seine Identität und seine momentane Position mitgeteilt und versucht nun vom selben Standort eine anonyme Nachricht zu verschicken, so kann der Angreifer die 2. Nachricht dem bekannten Nutzer, anhand der Positionsdaten, zuordnen. 3. Identifikation über Standorterfassung (Location Tracking) Wenn A weiß, dass S momentan an Position L i und zusätzlich noch weiß das L i zu einer Reihe von L 1, L 2 L n gehört, dann kann er daraus ableiten, dass S alle Orte diese Reihe besucht hat. (vgl. Marco Gruteser/Dirk Grunwald, Kapitel 4.1) Location privacy Durch die Benutzung von Location Based Services wird dem Dienstanbieter und/oder Dritten, der Standort des Benutzers mitgeteilt wird. Nach Duckham und Kulik können sich hierdurch 3 Bereiche von Gefahren ergeben (vgl. Matt Duckham/Lars Kulik, Kapitel 2.1): 1. Location-based spam (ortbezogener Spam): Der aktuelle Standort könnte von unseriösen Unternehmen dazu verwendet werden Individuen unaufgefordert mit Produkten oder Dienstleistungen in Abhängigkeit des momentanen Aufenthaltsortes zu bombardieren. 2. Personal wellbeing and safety (persönliches Wohlbefinden und Sicherheit): Die Information über die derzeitige Position einer Person könnte auch dazu verwendet werden, um diese beispielsweise zu verfolgen (stalken) oder aber sogar physischen Schaden zuzuführen. 3. Intrusive inferences (Rückschlüsse): Durch die Informationen, an welchen Positionen sich eine Person aufhält oder welche Orte diese besucht, könnten auch Rückschlüsse auf andere personenbezogene Daten, wie Wohn- und Arbeitsort, Gesundheitszustand oder aber persönliche Vorlieben gezogen werden. (vgl. Matt Duckham/Lars Kulik, Kapitel 2.1)

150 Thema 12: Location Based Services Seite 10 von Schutz durch Anonymisierung Ist man innerhalb einer Gruppe von Subjekten nicht identifizierbar, spricht man von Anonymität (vgl. Andreas Pfitzmann/Marit Koehntopp, Seite 10). Bei der Benutzung von WEB-Diensten, LBS oder sonstigen Kommunikationsdiensten erfolgt die Verbindung meist über Identifikationsmerkmale wie IP-Adresse, Rufnummer, Nutzerkennung oder Geräte-ID. Diese eindeutigen Kennungen lassen sich nun einer Person oder Institution zuordnen, wodurch der Sachverhalt der Anonymität nicht mehr gewährleistet ist. Es existieren verschiedene Ansätze, um trotz dieser eindeutigen IDs seine Identität zu verschleiern und so einen gewissen Grad an Anonymität zu erlangen. Nachfolgend werden 2 dieser Ansätze näher erläutert. Onion Routing Beim Onion Routing, auch besser bekannt unter dem Namen TOR (The Onion Routing), erfolgt die Kommunikation über mehrere, verschlüsselte Schichten bzw. Stationen (daher auch der Vergleich mit einer Zwiebel). Diese Schichten werden im TOR-Netzwerk nodes genannt. Möchte nun ein Nutzer, nachfolgend als Client bezeichnet, anonym, z. B. eine Website aufrufen oder eine Nachricht versenden, muss zuerst eine Liste der verfügbaren TOR nodes abgerufen werden. Anschließend wird eine zufällige Route, bestehend aus mindestens 3 nodes, gewählt. Jeder dieser nodes kennt nur den vorherigen node nicht aber den vorvorherigen oder gar den ursprünglichen Client. Die Kommunikation zwischen Client und node sowie unterhalb der nodes erfolgt ausschließlich verschlüsselt. Lediglich die Verbindung zwischen dem letzten node, auch Exit node genannt, erfolgt unverschlüsselt. Nachdem nun der Exit node die gewünschten Informationen vom Server erhalten hat, gelangt die Nachricht wieder, auf demselben verschlüsselten Weg, zurück zum eigentlichen Client. Wurde einmal eine Route aufgebaut, kann darüber weiter kommuniziert werden. Um einer Überwachung vorzubeugen, wird nach etwa 10 Minuten eine neue Route gewählt, über die dann die Kommunikation erfolgt. Das Problem am TOR-Netzwerk besteht darin, dass theoretisch jeder solch einen oder sogar mehrere node(s) betreiben kann. Wählt nun ein Client zufällig genau 3 nodes eines Betreibers, hat dieser die Möglichkeit, die komplette Route zurückzuverfolgen und so die Identität des Clients (zu mindestens dessen IP-Adresse) zu ermitteln (vgl. Tor).

151 Thema 12: Location Based Services Seite 11 von 20 k-anonymität Von k-anonymität wird gesprochen, wenn mindestens k-1 Objekte dieselben Informationen zugeordnet werden können. Das heißt, je mehr Objekte dieselben Angaben besitzen, umso höher ist die Menge k-1 und damit auch der Grad der k-anonymität (vgl. Marco Gruteser/Dirk Grunwald, Kapitel 5.1). In Bezug auf LBS kann festgestellt werden, dass je nachdem wie detailliert die Informationen bezüglich des aktuellen Standortes eines Nutzers vorhanden sind, desto schwieriger wird es, den Sachverhalt der k-anonymität herzustellen. In der Regel werden alle Informationen eines Nutzers in einer Datenbank, genauer gesagt, in einem Datensatz (tuple) zusammengefasst. Existieren nun mindestens zwei Datensätze mit identischen Informationen, so sind diese k-anonym, weil die Datensätze nicht von einander unterscheidbar sind. Durch entsprechende Verallgemeinerung der erfassten Daten kann auch der Anonymisierungsgrad erhöht werden (vgl. Marco Gruteser/Dirk Grunwald, Kapitel 5.1). Wurden zum Beispiel die exakten Koordinaten eines LBS Nutzers erfasst, könnten diese anstatt einer genauen Position auch einem bestimmten Gebiet zugeordnet werden. Zusätzlich wäre es möglich, statt der exakten Uhrzeit einfach den entsprechenden Tag zu protokollieren. Allein durch diese Generalisierung ist die Wahrscheinlichkeit, dass sich weitere Personen, die sich an diesem Tag in diesem Gebiet aufgehalten haben, höher. Daraus ergibt sich wiederrum eine größere k-1 Menge, wodurch sich auch der Grad der k-anonymität erhöht.

152 Thema 12: Location Based Services Seite 12 von 20 Beispiel einer Anonymisierung, anhand von möglichen Daten eines LBS-Anbieters: Tabelle mit erfassten Daten (rote Kreise) IP-Adresse Koordinaten Zeit , , 09: , , 11: , , 13:02 Anonymisierte Tabelle (grünes Rechteck): IP-Adresse Koordinaten Zeit 212.* 51.37*, 7.49* , 00: * 51.37*, 7.49* , 00: * 51.37*, 7.49* , 00:00 Abb.2: k-anonymität durch ein Gebiet anstatt durch exakte Koordinaten

153 Thema 12: Location Based Services Seite 13 von Geografischer Raum Mit Hilfe von Graphen (G) lassen sich sehr flexible Modelle eines geografischen Raumes darstellen. Hierbei besteht ein Graph aus mindestens zwei Elementen aus der Menge der Knoten/Eckpunkte (V für vertices) sowie mindestens einem Element aus der Menge der Kanten (E für Edges), welche jeweils zwei Punkte aus V verbindet. Formelle Beschreibung: G = (V, E) Abb. 3: Beispiel für einen einfachen Graphen Als Beispiel für Graphen wird oft ein Straßenverkehrsnetz angeführt. Hierbei stellen bestimmte Orte oder Regionen die Knoten dar und Straßen, als Verbindung zwischen diesen Punkten, die Kanten. Den in einem Graphen vorhandenen Kanten können zusätzlich, mit Hilfe der Funktion R, eine Gewichtung zugeordnet werden. Diese kann zum Beispiel dafür verwendet werden, um Entfernungen oder Reisezeiten anzugeben (vgl. Matt Duckham/Lars Kulik, Kapitel 5.1). Früher wurde der geografische Raum meist als Kartesisches Koordinatensystem (2-Dimensonales Koordinatensystem) abgebildet. Wird der geografische Raum jedoch durch einen Graphen dargestellt, ergeben sich einige zusätzliche Vorteile: - Mit Hilfe von Graphen können Einschränkungen bezüglich der Bewegungen, z. B. durch Straßennetze oder aber einer gegebenen Reisezeit, abgebildet werden. - Graphen können sowohl im kartesischen Koordinatensystem (z. B. als Vektor-Modell in räumlichen Datenbanken oder Geoinformationssystemen (GIS)) also auch in Räumen mit mehr als 2 Dimensionen (z. B. Euklidischer Raum) dargestellt werden. - Graphen sind rechnerisch effiziente, diskrete Strukturen. (Vgl. Matt Duckham/Lars Kulik, Kapitel 5.1)

154 Thema 12: Location Based Services Seite 14 von Verschleierung in einem Graphen Ein bestimmter Punkt im geografischen Raum wird mit Hilfe eines Knoten dargestellt. Die Verschleierung von wird nun durch eine Menge, eine Anzahl unpräziser Ortsangaben in Bezug auf, symbolisiert, wobei gilt und. Desweiteren gilt für jedes Element, dass dieses nicht von zu unterscheiden ist. Weiterhin wird angenommen, dass sich die Person zu jedem Zeitpunkt an exakt einem dieser Punkte aufhält, der jedoch nicht bekannt ist. Demzufolge kann der Grad der Privatsphäre, der durch die Ungenauigkeit des momentanen Aufenthaltsortes zustande kommt, über die Mächtigkeit (Anzahl der Knoten) der Menge bestimmt werden. Je größer die Menge ist, desto höher ist auch der Grad der Privatsphäre in Bezug auf den aktuellen Standort einer Person. Abb. 4: Beispiel für einen Graphen inklusive Verschleierung Abbildung 4 zeigt einen Graphen G = (V, E), inklusive der Menge der Verschleierung = {a, c, e, i, m} was gleichzeitig den Grad der Privatsphäre von 5 entspricht. Die Person muss sich an einem der Punkte von aufhalten. Es sei noch angemerkt, dass es nicht unbedingt notwendig ist, dass alle Punkte für die Verschleierung mit dem Graphen G verbunden sind. (Vgl. Matt Duckham/Lars Kulik, Kapitel 5.2)

155 Thema 12: Location Based Services Seite 15 von Anonymisierung durch umgebungsbasierte LBS Viele standortbezogene Dienste sind in der Lage, sich in der Nähe befindliche Informationen anzeigen zulassen. Wie bereits erwähnt, können dies beispielsweise Points of Interest (z. B. Restaurants oder Sehenswürdigkeiten) oder aber wie bei Facebook, sich in der Nähe aufhaltende Freunde, sein. Die einfachste Möglichkeit hierbei ist die Abfrage in einer Datenbank auf Grundlage des momentanen Aufenthaltsorts. Entsprechend der Suchanfrage, der momentanen Koordinaten und mit Hilfe einer kategorisierten Datenbank, können zutreffende Suchergebnisse bereitgestellt werden. Mögliche Suchanfragen könnten wie folgt lauten: - Wo finde ich das nächste Fastfood Restaurant? - Wie weit ist der nächste Briefkasten entfernt? - Was sind in der Nähe befindliche Sehenswürdigkeiten? Das Problem hierbei ist jedoch, dass durch die Übermittlung der exakten Koordinaten die Anonymität in Bezug auf den momentanen Standort nicht mehr gewährleistet ist. Durch die Nutzung von gewichteten Graphen kann der Zustand der Anonymität jedoch zu einem gewissen Grad wiederhergestellt werden. Hierbei werden nicht die momentanen Koordinaten des aktuellen Standorts übermittelt, sondern lediglich das Gebiet, in dem man sich aufhält (z. B. der Stadtpark). Für dieses Gebiet werden anschließend entsprechende Suchanfragen durchgeführt und die unterschiedlichen, gewichteten Graphen mit Hilfe von geeigneten Algorithmen analysiert und anschließend zutreffende Suchergebnisse selektiert und ausgegeben. (Vgl. Matt Duckham/Lars Kulik, Kapitel 5.3) Bei der Wahl der alternativen Positionen sind natürlich etwaige Beschränkungen zu berücksichtigen, d. h. es dürfen nur diese gewählt, werden bei denen die Suchkriterien auch weiterhin zutreffen (z. B. Suche nur im Umkreis von 5km).

156 Thema 12: Location Based Services Seite 16 von 20 Die nachfolgende Abbildung 5 zeigt anhand einer Suche in der Nähe befindlichen Fastfood Restaurants, wie die Verschleierung der aktuellen Position durch Nutzung von gewichteten Graphen innerhalb eines Gebietes erfolgen kann. Abbildung 5a gibt einen Überblick über den aktuellen Lageplan inklusive des momentan Aufenthaltsortes des LBS Nutzers. In b) wurden nun für alle Suchergebnisse ein Graph mit der entsprechenden Gewichtung (d = distance) eingezeichnet. Wird nun anstelle der aktuellen Position des Nutzers, der Stadtpark als Standort gesetzt (siehe Abbildung 5c), ergeben sich mehrere mögliche Positionen inklusive der dazugehörigen, gewichteten Graphen. Der Nutzer kann so den Dienst anonym verwenden (vgl. Matt Duckham/Lars Kulik, Kapitel 5.3). a) Lageplan b) Positionen als gewichteter Graph c) Verschleierung der exakten Position Abb. 5: Verschleierung der aktuellen Position durch Nutzung von gewichteten Graphen

157 Thema 12: Location Based Services Seite 17 von Einfluss der Anonymisierung auf die Qualität von Location Based Services Wird durch Anonymisierung zum Beispiel die Identität einer Person oder ihr momentaner Standort verschwiegen, kann dies, je nach Art der Information bzw. des Services oder der verwendeten Anonymisierung, Einfluss auf die Qualität des Location Based Services haben. Gerade bei der anonymen Nutzung von umgebungsbasierten LBS können keine genauen Entfernungen angegeben werden, da dem LBS Anbieter nicht die aktuelle Position sondern lediglich ein beliebiger Punkt aus dem Gebiet, in dem sich der Benutzer aufhält, mitgeteilt wird. Durch diese unpräzise Standortinformation kann es passieren, dass es sogar zu einer Verschiebung bei der Reihenfolge der Ergebnisse kommt, da eventuell ein Ergebnis näher bei der vermeintlichen Position liegt, als ein 2. Ergebnis welches dem tatsächlichen Aufenthaltsort am nächsten liegt. Um dennoch eine akzeptable Mischung zwischen der Preisgabe von persönlichen Daten des Benutzers (wie z. B. der aktuellen Position) sowie der Qualität des Services zu erhalten, werden in der Literatur verschiedene Algorithmen erläutert, mit denen auch bei anonymer Nutzung umgebungsbasierter LBS, mit Hilfe von gewichteten Graphen, gute Ergebnisse erzielt werden können. Ein weiteres Merkmal für die Qualität eines Dienstes kann neben den Ergebnissen, die der Service liefert, auch beispielsweise die Geschwindigkeit, mit der die Ergebnisse zur Verfügung stehen sowie die Erreichbarkeit sein. Gerade bei der Verwendung des bereits erwähnten Onion Routing kann dieses Qualitätsmerkmal beeinträchtig sein. Sei es durch die Geschwindigkeitseinbußen, die durch das Routing über die Clients sowie die Verschlüsselung entstehen oder gar eventuelle Restriktionen (z. B. durch Internetzensur), die durch den Exit node auftreten können.

158 Thema 12: Location Based Services Seite 18 von 20 4 Fazit und Aussichten Der Markt von Location Based Services wird sich nach Analysen auch in den nächsten Jahren weiter rasant entwickeln (Goldmedia GmbH Strategy Consulting, Seite 18). Allein in den letzten Jahren sind laut der Analyse von Goldmedia die Anbieter von 130 im Jahre 2011 auf 927 im Jahre 2014 gestiegen (Goldmedia GmbH Strategy Consulting, Seite 13). Tendenz weiter wachsend. LBS hält in immer neuen Bereichen Einzug, sei es als Vermittler für private Taxifahrten wie der zuletzt oft diskutierte Dienst UBER (vgl. Uber) oder aber die neuen Tarife von KFZ- Versicherungen, bei denen, über eine Art Blackbox, das Fahrverhalten des KFZ-Lenkers aufgezeichnet und auf Basis dessen der Beitrag zur KFZ-Versicherung berechnet wird (vgl. Sparkasse). Durch die weite Verbreitung von Location Based Services steigen auch die Akzeptanz sowie die Nutzung dieser Dienste. Dadurch wird aber auch die bereitwillige Preisgabe von personenbezogenen Daten immer mehr als selbstverständlich angesehen, was von den Anbietern der LBS natürlich gern gesehen wird. Mit Hilfe dieser Daten sind sie in der Lage, die Angebote noch besser auf die jeweiligen Nutzer abzustimmen und so die Qualität aber auch die Absatzchancen, z. B. durch besseres Marketing, weiter zu steigern. Die Weitergabe von personenbezogenen Daten und sei es nur der aktuelle Standort, hat jedoch auch negative Folgen. Wie in dieser Arbeit erwähnt, können über Daten der Nutzer eventuell auch Rückschlüsse auf Identität, Verhalten oder Vorlieben einer Person gezogen werden, was nicht im Interesse der einzelnen Person liegt bzw. liegen sollte. Zwar existieren verschiedene Arten der Anonymisierung, jedoch bieten auch diese keinen 100%igen Schutz der Privatsphäre der Benutzer. Sei es durch, ein einfaches Ausschlussverfahren, wenn zum Beispiel Daten zwar anonym sind, diese jedoch nur einer einzigen Person zugeordnet werden können oder aber durch gezielte Angriffe wie in Kapitel 3.1 erwähnt. Daher sollten Nutzer von Location Based Services immer daran denken, dass ihre personenbezogenen Daten sowie ihre Privatsphäre durch die Nutzung dieser Dienste gefährdet sein könnten. Das Recht auf Selbstbestimmung und Privatsphäre sollte auch bei allen Annehmlichkeiten, die durch LBS bereitgestellt werden, nicht ins Hintertreffen geraten oder gar vergessen werden.

159 Thema 12: Location Based Services Seite 19 von 20 Literaturverzeichnis Andreas Pfitzmann/Marit Koehntopp: Anonymity, unobservability, and pseudonymity a proposal for terminology. In Hannes Federrath, editor, Designing Privacy Enhancing Technologies Proceedings of the International Workshop on Design Issues in Anonymity and Unobservability, volume 2009 of LNCS. Springer, Facebook: Abruf am Geocaching: Spielregeln, Abruf am Goldmedia GmbH Strategy Consulting: Klaus Goldhammer/Tim Prien/Florian Kerkau/Jan Schlüter, Location-based Services Monitor 2014 JuraForum: Definition Privatsphäre, Abruf am Marco Gruteser/Dirk Grunwald: Anonymous Usage of Location-Based Services Through Spatial and Temporal Cloaking, veröffentlicht in Proceedings of the 1st International Conference on Mobile Systems, Applications and Services, Seite 31 42, ACM, 2003 Matt Duckham/Lars Kulik: A Formal Model of Obfuscation and Negotiation for Location Privacy, veröffentlicht in Pervasive Computing, Third International Conference, 2005, Seite , Springer, 2005 Openstreetmap: Points of interest, Abruf am Sparkasse: S-Drive, ein Telematik-Sicherheits-Services der Sparkasse, Abruf am

160 Thema 12: Location Based Services Seite 20 von 20 Statista: Das Statistik-Portal, Top 10 Soziale Netzwerke nach der Anzahl der Besucher im September 2013, Abruf am Statista2: Das Statistik-Portal, Anzahl der monatlich aktiven Facebook-Nutzer weltweit von 2008 bis zum 3. Quartal 2014 (in Millionen), Abruf am Tor: Overview, Abruf am Uber: Privatpersonen als Taxifahrer, Abruf am

161 FernUniversität in Hagen Anonymisierung und Nutzung von "Trajectory" Daten Seminararbeit Vorgelegt der Fakultät für Mathematik und Informatik der FernUniversität in Hagen Lehrgebiet Datenbanksysteme für neue Anwendungen Wintersemester 2014/2015

162 Inhaltsverzeichnis I Inhaltsverzeichnis Abbildungsverzeichnis Abkürzungsverzeichnis II III 1 Einleitung 4 2 Grundlagen und Definitionen Trajektorie Daten Anonymität Klassen zur Erhaltung der Privatsphäre 7 3 Anonymisierung von Trajektorien Methode zur Anonymisierung von Trajektorien Notation und Annahmen Methode zur Anonymisierung von Trajektorien Bestimmung der Point Links Bildung von anonymisierten Trajektorien mittels Point Matching Erweiterung der Methode aufgrund qualitativer Aspekte Rekonstruktion und Nutzbarkeit der anonymisierten Daten 20 4 Fazit und Ausblick 22 5 Anhang Ergebnis des Berechnungsalgorithmus OPTsigma nach zwei Schleifendurchläufen Darstellung des Prozesses Gruppenbildung der Trajektorien Abbildung Literaturverzeichnis 25

163 Abbildungsverzeichnis II Abbildungsverzeichnis ABBILDUNG 1: KLASSEN ZUR ERHALTUNG DER PRIVATSPHÄRE 8 ABBILDUNG 2: PROZESS ANONYMISIEREN VON TRAJEKTORIEN (OPTSIGMA) 12 ABBILDUNG 3: BESTIMMUNG DER PL IM 2 DIMENSIONALEN RAUM 12 ABBILDUNG 4: VERSCHIEDENE BOUNDING BOXES 14 ABBILDUNG 5: POINT MATCHING 14 ABBILDUNG 6: PROZESS GRUPPENBILDUNG DER TRAJEKTORIEN 19 ABBILDUNG 7: PROZESS GRUPPE VON TRAJEKTORIEN ANONYMISIEREN 19 ABBILDUNG 8: GENERIERUNG EINES SAMPLES 20

164 Abkürzungsverzeichnis III Abkürzungsverzeichnis NGO Non Government Organisations/Nichtregierungsorganisationen QI PL Quasi-Identifizierer Point Linking LCM Log cost metric PM Point Matching CPU Central Processing Unit GPS Global Position System LBS Location based Service BB Bounding Box BPMN Business Prozess Model and Notation

165 Einleitung 1 Einleitung Aufgrund der weiten Verbreitung und Nutzung von Smartphones mit ihren Möglichkeiten von CPU-Kapazität, Internetzugang und GPS-Komponenten ist es möglich, regelmäßig zeitindizierte Georeferenzdaten aufzuzeichnen, zu übertragen und adäquate Dienste zu nutzen. Auch die Tendenz in der Automobilbranche die Komponenten Reise- bzw. Fahrtdaten und Internet-Fähigkeit zu kombinieren, um "smarte" Nutzungen zu realisieren, führt zur Möglichkeit Daten zu erfassen und zu verbreiten. In den verschiedenen Institutionen (Kommerziell, NGO's, Staaten, Forschung und Wissenschaft) besteht ein großes Interesse an der Nutzung dieser erfassten Daten. Im Gegensatz dazu steht der Bedarf zum Schutz privater Daten und damit das Vermeiden spezifischer Gefahren, welche durch die Offenlegung der Daten entstehen können. Nicht nur die aktuelle Politik beschäftigt sich mit dem Datenschutz (dpa/heise/öttinger 2014). Datenschutz ist seit langer Zeit in Bundesdeutschen- und europäischen Gesetzen festgeschrieben (Bundesdatenschutzgesetz, Richtlinie 95/46/EG des Europäischen Parlaments). Der Inhalt dieser Arbeit bewegt sich im Spannungsfeld der vielfältigen Nutzung von Raum-Zeitdaten und dem Schutz der Privatsphäre. Dazu wird eine Methode beschrieben, welche die Anonymisierung von Bewegungsdaten ermöglicht. Zusätzlich soll die Nutzbarkeit der anonymisierten Daten untersucht werden.

166 Grundlagen und Definitionen 2 Grundlagen und Definitionen Innerhalb dieses Kapitels werden die Rahmenbedingungen für die weiteren Abschnitte geschaffen. Dazu werden Bezeichnungen, Definitionen und Grundlagen erläutert. 2.1 Trajektorie Daten Die vorliegende Arbeit beschäftigt sich mit der Nutzung und Anonymisierung von trajectory Daten. In (Nergiz, et al. 2009) Seite 51 werden trajectory Daten als sequences of spatio-temporal-points modelliert. Damit sind räumliche Punkte in einer zeitlich chronologischen Reihenfolge gemeint. In (Giannotti und Pedreschi 2008) Seite 5 ist ein trajectory beschrieben als set of localisation points. Der zeitliche Bezug wird zusätzlich durch die Beschreibung des Datentupels in der Form: (userid, time, cellid, in) genannt. In vorliegender Arbeit ist ein trajectoy-datensatz ein Datensatz mit Datentupel in der Form von Koordinaten und Zeitstempel und wird Trajektorie genannt. Die Koordinaten beschreiben dabei die Position einer Identität in einem geeigneten universellen Referenzsystem. Der Zeitstempel ist als absolute bzw. relative Zeit zu verstehen. Werden relative Zeitstempel genutzt, so sind diese chronologisch nur innerhalb des Datensatzes nutzbar. 2.2 Anonymität Im deutschen Duden (Duden kein Datum) werden als Bedeutungen des Wortes Anonym sowohl die Ausprägung ungenannt - ohne Namensnennung als auch die Ausprägung unpersönlich - durch Fremdheit geprägt aufgeführt. Daraus ableiten kann man, dass durch Anonymität die Person immer fremd und damit für eine dritte Person nicht identifizierbar ist. In (Pfitzmann und Köhntopp 2000) beschreiben die Autoren Anonymität als einen Zustand, in dem der Einzelne innerhalb einer gegebenen Menge von Gleichartigen nicht eindeutig identifizierbar ist. Dabei kann der Zustand sowohl räumlicher als auch zeitlicher Natur sein.

167 Grundlagen und Definitionen Auch in (Verykios, Damiani und Gkoulalas-Divanis 2008) ist Anonymität in dem Sinne spezifiziert, dass die Datensätze mehrerer Person (Anzahl > 1) in einem spezifischen Zeitintervall und einem räumlichen Bereich nicht zu unterscheiden sind. Während der Duden in der zweiten Ausprägung eine absolute Anonymität bzw. Nicht-Identifizierbarkeit definiert, gleichen die beiden folgenden Definitionen einer Verschleierung der Identität durch das Verstecken innerhalb einer Gruppe. Für den Datenschutz ist eine absolute Anonymität erstrebenswert. Vorliegende Arbeit beschreibt die Methode eine relative Anonymität zu erzeugen und folgt damit den Ansätzen von (Nergiz, et al. 2009). In (Nergiz, et al. 2009) wird bei einer Anonymisierung der Daten nicht von einer vollkommenen Unkenntlichkeit der Identität geschrieben, sondern es wird ein Ansatz zur Herstellung einer k-anonymität beschrieben. Damit ist ein Standard gemeint, der die Identifizierung innerhalb einer Gruppe mit k-1 weiteren Mitgliedern unmöglich macht. Die Anonymität gilt in diesem Fall nicht generell, sondern beschränkt sich auf die Gruppe mit k-mitgliedern. Je größer das k, desto größer die Anonymität (Nergiz und Saygin 2011) Seite 98. Bei Trajektorien ist dabei eine Besonderheit hervorzuheben: Es sollten nicht einzelne Datenpunkte anonymisiert werden, sondern es erfordert die Anonymisierung der Trajektorie als Ganzes. Ansonsten ist nicht gewährleistet, dass einzelne Datenpunkte als Quasi-Identifizierer (QI) genutzt werden können (Startpunkt - Wohnung; Ankunftspunkt Arbeitsstelle). Ein QI ist eine Kombination von Attributen, welche ein Individuum implizit identifiziert. In einem k-anonymisierten Datensatz gibt es für den oder die QI mehrere Individuen, auf die dieser Schlüssel passt. Bspw. könnte mit einer Personalnummer eine gewissen Bandbreite zusammengefasst [p1-pn] werden.

168 Grundlagen und Definitionen In (Nergiz, et al. 2009) Seite 54 wird beschrieben, dass eine k- Anonymität vorliegt, wenn man eine vorhandene, ursprünglichen Trajektorie minimal zu k anderen Trajektorien im anonymisierten Datensatz zuordnen kann. (Nergiz, et al. 2009) definiert konkreter, dass ein k-anonymisierter Datensatz T* genau dann die Anonymisierung des originalen Datensatzes T ist, wenn gilt: 1. für jede Trajektorie aus der Trajektorie-Menge T* gibt es mindestens k-1 Trajektorien mit exakt den gleichen Raum- Zeit-Koordinaten ( Set of Points ). 2. Die Trajektorien in T und T* können so sortiert werden, dass die i-te originäre Trajektorie tri als Teilmenge ( subset ) der anonymisierten Trajektorien tr* die Bedingung erfüllt, dass die i-te originäre Trajektorie tri auch eine Teilmenge der i-ten anonymisierten Trajektorie tri* ist. In der Abbildung 3 im Abschnitt wird gezeigt, dass damit eine anonymisierte Trajektorie tri* grobgranularer als die originären Trajektorien tri sein können. In der oben genannten Definition unter Punkt 2 ist es erforderlich, dass bei sortierten Trajektorien die originäre Trajektorie eine Teilmenge der anonymisierten Trajektorien ist oder, wie die Grafik 3 darstellt, in tri* enthalten ist. Damit ist eine Teilmenge im Sinne von (Nergiz, et al. 2009) eine Trajektorie dann, wenn alle Punkte innerhalb der anonymisierten Koordinaten bzw. deren Ausdehnung liegt. 2.3 Klassen zur Erhaltung der Privatsphäre In diesem Abschnitt sollen die möglichen Verfahren zum Schutz von privaten Daten beschrieben werden. Im Rahmen dieser Arbeit können die einzelnen Methoden nur kurz erläutert werden. Das Verfahren der Anonymisierung wird in dem anschließenden Abschnitt ausführlich beschrieben.

169 Grundlagen und Definitionen In Anlehnung an (Verykios, Damiani und Gkoulalas-Divanis, Privacy and Security in Spatiotemporal Data and Trajectories 2008) Seite 215 zeigt die folgende Abbildung Möglichkeiten, um Trajektorie Daten vor unberechtigtem Zugriff zu schützen und damit die Privatsphäre zu erhalten. Klassen zur Erhaltung der Privatsphäre policy based krypthografische Verfahren locadon based k Anonymität Abbildung 1: Klassen zur Erhaltung der Privatsphäre In den policy-based Verfahren werden Regelsätze verwendet, welche den Zugriff auf Daten regelt. Dabei werden für Datenobjekte definiert, welche Subjekte welche Operationen durchführen können. Die Operationen können Lese-, Schreib- bzw. Löschoperationen sein. Bei den Subjekten kann es sich um Maschinen oder Personen handeln. Die Ausgestaltung der policies ist vielfältig variierbar. So nennt (Verykios, Damiani und Gkoulalas-Divanis 2008) Seite 224 die Möglichkeit, aufgrund des Orts Zugriff zu erlauben oder auch nicht ( location policy ). Bei den kryptografischen Verfahren werden Daten verschlüsselt. Damit ist es nur den Instanzen möglich, Daten zu nutzen, die den jeweiligen Schlüssel besitzen. Innerhalb des Verfahrens können

170 Grundlagen und Definitionen auch nur Teile verschlüsselt oder durch einen Hash geschützt werden. Bei den location based Verfahren wird aufgrund der Position eines Nutzers von bspw. Location based Services (lbs) entschieden, ob Daten und in welcher Form diese Daten freigegeben werden. Damit ähnelt das Verfahren der weiter oben angesprochenen location policy. Der Unterschied ist die differenziertere Ausgestaltung. Eine Abwandlung dieser Verfahren ist es, durch zusätzliche künstliche Trajektorie die wahre Position bzw. den Trajektorie zu verschleiern. Das Verfahren der k-anonymität ist Inhalt dieser Arbeit und die Methode wird in den folgenden Abschnitten erläutert.

171 Anonymisierung von Trajektorien 3 Anonymisierung von Trajektorien In diesem Abschnitt befinden sich die Kerninhalte der Arbeit. Diese sind die Anonymisierung von Trajektorien, die Analyse der Qualität der Anonymisierung und die Untersuchung der Nutzung der anonymen Datensätze bzw. der aus der Anonymisierung rekonstruierten Datensätze. Wie in (Nergiz, et al. 2009) Seite 52 wird dabei von statischen Trajektorien bzw. Daten ausgegangen, welche im Gegensatz zu dynamischen Daten nicht laufend on the fly anonymisiert werden müssen. Diese Annahme ist wesentlich für das Verfahren, das im Folgenden beschrieben wird. 3.1 Methode zur Anonymisierung von Trajektorien Es wird das Verfahren beschrieben, welches zur speziellen k- Anonymität der Datensätze führt Notation und Annahmen Der Raum in dem die Trajektorien aufgezeichnet werden, wird diskret (begrenzt bzw. abzählbar) in ein Gitter mit den Kantenlängen e x e aufgeteilt und alle Messungen sind in Einheiten dieses Gitters normalisiert. Die Zeit ist diskret in der Einheit e(t) und ist endlich. Ein Raum-Zeit-Tupel wird über Interpolation in diskrete Einheiten des Gitters umgewandelt. Dabei kann die Granularität des Gitters bzw. der Zeiteinheiten individuell festgelegt werden. Ein Datensatz T mit Trajektorien tri ist eine Mange von einzelnen Trajektorien tri und wird beschrieben als T={tr1, tr2,..., trn}. Eine Trajektorie tri={p1,p2,...,pm} ist ein geordneter Satz von Raum-Zeit-Punkten bzw. Volumen. Dabei ist die Komponente Raum bspw. durch eine x-, y- und z-komponente definiert. Ist die Granularität des oben beschriebenen Gitters nicht atomar (Kantenlänge ungleich 1), so sind die einzelnen Koordinaten (xi, yi, zi) Strecken xi : [xi1-xi2], yi : [yi1-yi2], zi : [zi1-zi2] mit der Kanten-

172 Anonymisierung von Trajektorien länge xi = xi1-xi2, yi = yi1-yi2, zi = zi1-zi2 und bilden ein Volumen. Für die Zeitkomponenten gilt entsprechend ti : [ti1-ti2] und das Intervall ti hat eine Dauer von ti = ti1-ti2. Sind die Kantenlängen und die Zeiträume 1, so sind die Datenpunkte bzw. die Trajektorie atomar. Um innerhalb einer Trajektorie auf einen bestimmten Punkt zu verweisen, wird eine Punktnotation genutzt. So beschreibt tri.pj den j-ten Punkt in der i-ten Trajektorie. Der Datenpunkt pk=(xi,yi,zi,ti) beschreibt den Aufenthaltsort eines Individuums in einem gewissen Zeitintervall, mit einer von der Granularität des Gitters abhängigen Genauigkeit. Damit in den folgenden Abschnitten nicht nur die Methode zur Anonymisierung sondern auch die Qualität der Anonymisierung geprüft werden kann, wird angenommen, dass ein Teil der Trajektorie eines Individuums bekannt bzw. öffentlich verfügbar ist. Auch dann soll aufgrund der zusätzlichen anonymisierten Daten nicht auf das Individuum rückgeschlossen werden können. (Nergiz, et al. 2009) Seite 53 (Vgl. Abschnitt 3.2) Methode zur Anonymisierung von Trajektorien In diesem Abschnitt wird die Methode beschrieben, um Trajektorien zu anonymisieren. Dabei soll, wie in Abschnitt 2.2 definiert, das Ziel der k-anonymität erreicht werden. Das Vorgehen ist als Prozess in der Syntax BPMN 2.0 in Abbildung 2 modelliert. Im Bild ist erkennbar, dass nach dem Start aus einer Gruppe von Trajektorien genau zwei Trajektorien ausgewählt werden müssen. Der Algorithmus für die Auswahl der zwei Trajektorien und für die Gruppierung (k Trajektorien als Input) wird im Abschnitt 3.2 beschrieben. Vorerst wird davon ausgegangen, dass es ein Verfahren gibt, welches die geeigneten Trajektorien sowohl für

173 Anonymisierung von Trajektorien die Gruppe als auch für die Auswahl der zwei Trajektorien identifiziert. Die Punkte der Trajektorien bilden die Basis für die Berechnung der Anonymisierung. Dazu werden zuerst die Distanzen der Punkte zueinander berechnet und ggf. zu Point Links (PL) zusammengefasst. Anschließend werden die PL zur Menge der Matching Points (PM) hinzugefügt. Das genaue Vorgehen wird in den beiden folgenden Abschnitten erläutert. Abbildung 2: Prozess Anonymisieren von Trajektorien (OPTsigma) Bestimmung der Point Links Wie Abbildung 3 zeigt, werden bei einem Point Link (PL) mehrere Raum-Zeit-Punkte verschiedener Trajektorien tr={tr1,...,trn} zu einem übergeordneten Volumen zusammengefasst PL = {p1,...,pn}. Abbildung 3: Bestimmung der PL im 2-dimensionalen Raum Dabei ist pi ein Element von tri. Es werden demnach von verschiedenen Trajektorien ein oder mehrere Punkte zu einem übergeord-

174 Anonymisierung von Trajektorien neten Punkt bzw. Fläche/Raum verlinkt, der damit eine größere räumliche bzw. zeitliche Ausdehnung hat als die originären Punkte. Dabei werden sukzessive weitere Trajektorien zum bestehenden Ergebnis ergänzt. Erkennbar an den grauen Flächen, welche die Point Links der Trajektorie tr1 und tr2 darstellen. Die Flächen werden durch die Trajektorie Drei ggf. vergrößert. Dies entspricht einer Domäne oder Bandbreite einer Anonymisierung in normalen Datenbanken. Dieser Umstand ist dann wichtig, wenn es um die Nutzung der anonymisierten Trajektorien geht und die Ausdehnung der Punkte ein relevanter Faktor ist. Die Nutzung wird in Abschnitt 3.3 beschrieben. Die Verlinkung kann sowohl im Raum und/oder in der Zeit vorgenommen werden. In dieser Arbeit wird die Verknüpfung nur über den Raum beschrieben. In folgender Abbildung 4 ist das Point Linking grafisch dargestellt und entspricht dem Pseudo-Code (OPTsigma Zeile 6-13) aus (Nergiz, et al. 2009). Im speziellen kann man erkennen, dass für den ersten Punkt der ersten Trajektorie (tr1.p1) geprüft wird, bei welcher Kombination mit Punkten der zweiten Trajektorie (tr2.p1,...,tr2.p4) die geringste räumliche Ausdehnung ( Bounding Box ) entsteht. Die Punkte einer Trajektorie, die mit keinem anderen Punkt verlinkt werden können, werden unterdrückt ( supressed ). Da immer jeweils ein Punkt der einen Trajektorie mit einem Punkt der anderen Trajektorie verlinkt wird, geschieht das u.a. bei unterschiedlichen Punktezahlen. Im Anhang sind Ergebnisse des Pseudo- Codes für die ersten zwei Schleifendurchgänge angehängt.

175 Anonymisierung von Trajektorien Abbildung 4: verschiedene Bounding Boxes Die Größe der Bounding Box und die Anzahl der unterdrückten Punkte ist ein Qualitätsmerkmal der Anonymisierung und wird im Abschnitt 3.2 wieder aufgegriffen. Ziel des Algorithmus ist es, die Summe aller BB zu minimieren Bildung von anonymisierten Trajektorien mittels Point Matching Anschließend werden die in den PL zusammengefassten Punkte zu einem Point Matching PM = {PL1,...,PLm} mit bspw. PL2 = {tr1.p2,tr2.p2,tr3.p3} verbunden. Dies ist in folgender Abbildung dargestellt. Abbildung 5: Point Matching Ein PM kann als grobgranularer Trajektorie verstanden werden. Dazu muss aber gelten, dass für i<j und alle möglichen k,

176 Anonymisierung von Trajektorien PLi.tk1<PLj.tk1. Damit ist realisiert, dass die chronologische Reihenfolge der PL erhalten bleibt. Bei mehr als zwei Trajektorien ist gemäß (Nergiz, et al. 2009) Seite 55 nicht jede Anonymisierung optimal. Es sollte eine Anonymisierung gefunden werden, welche die Distanz der zur Anonymisierung genutzten originalen Trajektorien minimiert bzw. eine vorher definierte Größe nicht überschreitet. Dazu muss das Verfahren erweitert werden. Im ersten Schritt müssen die geeigneten Gruppen von k Trajektorien gebildet werden und diese dann schrittweise mittels des Algorithmus OPTsigma anonymisiert werden. Zur Bildung von Gruppen ist in (Nergiz, et al. 2009) der Pseudo-Code TGA beschrieben. Dieser wird im Abschnitt 3.2 erläutert. In diesem Abschnitt wurde ein Verfahren zur Anonymisierung von zwei Trajektorien beschrieben. Für die Erweiterung der Methode auf k Trajektorien ist eine Qualitätsbetrachtung und die Spezifikation zu optimierender Parameter notwendig, da ansonsten willkürlich k Elemente aus dem Datensatz T zur Anonymisierung genutzt werden könnten. Qualitätsaspekte sind im folgenden Abschnitt beschrieben. 3.2 Erweiterung der Methode aufgrund qualitativer Aspekte Die qualitative Betrachtung der Methode zur Anonymisierung bewegt sich weiterhin im Spannungsfeld zwischen dem Schutz der Privatsphäre und der optimalen Nutzung der Trajektorien. Im ersten Teil dieses Abschnitts werden die Aspekte des Datenschutzes betrachtet und gegebenenfalls die Methode zur Anonymisierung erweitert. Im zweiten Teil ist die Optimierung für die Nutzung der Daten beschrieben. Wie im Abschnitt 3.1 schon angedeutet, ist die optimale Gruppierung der Trajektorien ein wesentliches Element dieses Teils der Arbeit.

177 Anonymisierung von Trajektorien Für den Datenschutz ist in (Nergiz, et al. 2009) Seite 60 eine Schwierigkeit bei der Anonymisierung mit der Methode aus 3.1. genannt. Die Bildung der BB beinhaltet die Gefahr, dass immer Punkte auf den Kanten oder sogar in den Eckpunkten liegen. Damit ist eine Identifizierung potenzieller QI gegeben und muss verhindert werden. Als Lösung wird die Vergrößerung der BB vorgeschlagen. Damit ein potenzieller Angreifer nicht einfach einen immer wiederkehrenden Abstand subtrahieren kann, sollte die Vergrößerung zufällig gewählt werden. In (Nergiz, et al. 2009) Seite 53 wird die Anonymisierung geprüft, indem zwei Angriffsvektoren wie folgt definiert werden: 1. Angreifer kennt Teile der originären Trajektorien. 2. Angreifer kennt die gesamte Trajektorie und will bspw. bei location based service (LBS) wissen, ob die Anfrage einer bestimmten Person zuzuordnen ist. Für den ersten Angriffsvektor ist es ausreichend, dass für den Angreifer ausschließlich die anonymisierte Trajektorie sichtbar wird. Damit kann der bekannte Teil der Trajektorie ( Plain Text ) minimal k Personen zugeordnet werden. Für den zweiten Angriffsvektor sollte die Abfrage für ein LBS aus einer zufällig rekonstruierten Trajektorie ausgeführt werden. Diese unterscheidet sich von der originären Trajektorie und kann damit einer bestimmten Person nicht zugeordnet werden. Die Rekonstruktion und die Bildung von Samples ist somit ein wesentliches Element für die Erhaltung der Privatsphäre und wird in Abschnitt 3.3 erläutert. Für die Nutzbarkeit der anonymisierten Daten ist die Anforderung der jeweiligen Anwendung relevant. Aufgrund der Vielzahl von Anwendungen kann im Rahmen dieser Arbeit nicht auf alle möglichen Varianten der Anforderungen eingegangen werden.

178 Anonymisierung von Trajektorien Somit kann die Frage, ob eine anonymisierte oder rekonstruierte Trajektorie zu den gleichen Ergebnissen (bei den unterschiedlichen Anwendungen) führen würde wie die ursprüngliche Trajektorie, nicht hinreichend geklärt werden. Dennoch können im Rahmen der Arbeit Aspekte zur Verbesserung der Anonymisierung untersucht werden. Intuitiv ist eine Anonymisierung nahe (räumlich bzw. zeitlich) an der ursprüngliche Trajektorie besser als eine weit entfernte Trajektorie. Sollen also mehr als zwei Trajektorien anonymisiert werden, müssen die Trajektorien in geeignete Gruppen eingeteilt werden. Für die qualitative Beschreibung einer k-anonymisierung eines Datensatzes von n Trajektorien (n ist vielfaches von k) können dann u.a. die Point Links bzw. die BB beurteilt werden. (Nergiz, et al. 2009) Seite 55 beschreibt die Optimierung der Anonymisierung wie folgt. Finding the optimal anonymization of two trajectories is the same as finding the point matching between the two trajectories such that anonymizing the trajectories through the matching minimizes the log cost. und formuliert dazu auf Seite 53 eine iterative log cost metric (LCM).!"# (, )= log, h log (!",!"), Formel [1] Log Cost Metric (LCM) Die BB berechnet sich gemäß folgender Formel. =!"#$% log +log +log Formel [2] LCM, speziell Berechnung der BB

179 Anonymisierung von Trajektorien In Formel 1 werden zwei Fälle beschrieben. Im ersten Fall wird für alle nicht zuzuordnenden Punkte der Trajektorien das universelle Volumen gewertet. Dieses ist die maximale Raum- und Zeitausdehnung oder auch die universale Raum-Zeit. Im zweiten Fall werden die konkreten Raum-Zeit-Ausdehnungen und damit die BB der jeweiligen Punkte berechnet. Die BB berechnet sich nach Formel 2. In dieser Arbeit wird die Formel aus (Nergiz, et al. 2009) ohne den Parameter für die Zeit aufgeführt. Dieses Vorgehen verändert die Ergebnisse und die daraus abzuleitenden Rückschlüsse nicht. Für die Distanz von zwei Trajektorien ergibt sich damit folgendes Ergebnis: a. Summe aller BB. b. Zuzüglich der universellen Raum-Zeit pro unterdrückten Punkt. Unterdrückt werden Punkt dann, wenn sie bezogen auf die Punkte der korrespondierenden Trajektorie ungünstig in der Mitte zwischen zwei günstigeren Punkten liegen. (Nergiz, et al. 2009) beschreibt auf Seite 62, dass bei den Experimenten zur Gruppierung der Trajektorien diejenigen gruppiert werden, welche räumlich nahe beieinander liegen und die gleiche Länge haben. Haben die Trajektorien sehr unterschiedliche Punkteanzahlen und Abstände würden viele Punkte unterdrückt und die Anonymisierung ist im Sinne der Kosten teuer. Bei der Bildung der Gruppen sollten demnach die Trajektorien ausgewählt werden, welche jeweils die geringste Distanz zueinander haben. Daraus ergibt sich die Aufgabe, alle Distanzen untereinander zu ermitteln und damit ist ein Aufwand von (n^2-n)/2 Berechnungen erforderlich. In (Nergiz, et al. 2009) Seite 57 wird zur Bestimmung der k Trajektorien für die Gruppe G mit der geringsten Distanz zueinander ein Pseudo-Algorithmus beschrieben, der im folgenden Bild in der

180 Anonymisierung von Trajektorien BPMN 2.0 Syntax dargestellt ist (siehe Anhang für eine größere Darstellung). Abbildung 6: Prozess Gruppenbildung der Trajektorien Für die Gruppenbildung wird zuerst eine zufällige Trajektorie ausgewählt und als Repräsentantin der Gruppe (repg) definiert. Anschließend wird die Trajektorie mit der geringsten Distanz zu repg gesucht (Alg. OPTsigma). Die so identifizierte Trajektorie wird der Gruppe G hinzugefügt. Optional (multitga) wird die neue Trajektorie mit repg anonymisiert (OPTsigma) und bildet dann das neue repg. Der Vorgang der Gruppierung wird solange wiederholt (repeat), bis die Gesamtzahl der verbleibenden Trajektorien kleiner k ist. Die Gruppe der k Trajektorien wird anschließend mit dem (Nergiz, et al. 2009) Seite 60 Algorithmus anontraj anonymisiert. Der Pseudo Code ist als BPMN Modell in folgender Abbildung dargestellt. Abbildung 7: Prozess Gruppe von Trajektorien anonymisieren

181 Anonymisierung von Trajektorien 3.3 Rekonstruktion und Nutzbarkeit der anonymisierten Daten Im Abschnitt 3.2. wurde beschrieben, wie k Trajektorien in eine anonymisierte Trajektorie überführt werden. Diese unterscheidet sich von den originären Trajektorien durch ihre Granularität. Aus bspw. atomaren Punkten wurden Volumen bzw. Bounding Boxes (siehe Abbildung 3). Es gibt Anwendungen, die mit diesem gröberen Input ausreichend gut arbeiten können. Andere Anwendungen benötigen atomare Trajektorien. In (Nergiz, et al. 2009) Seite 60 ff. wird zur Bildung atomarer Trajektorien die Rekonstruktion bzw. die Bildung konkreter Samples beschrieben. Dabei wird zufällig ein Punkt pro PM ausgewählt, diese Punkte chronologisch geordnet und zu einer Trajektorie zusammengestellt. Abbildung 8: Generierung eines Samples In (Nergiz, et al. 2009) Seite 61 Abschnitt 6.2. wird erwähnt, dass die Wahrscheinlichkeit, aus dem anonymisierten Trajektorie ein Sample zu generieren, welcher einer originären Trajektorie entspricht, ungleich Null ist. Die Wahrscheinlichkeit berechnet sich wie folgt. = 1

182 Anonymisierung von Trajektorien oder 0, wenn Punkte unterdrückt wurden. Die Wahrscheinlichkeit ist umgekehrt proportional zur Größe der BB. Je größer die BB desto unwahrscheinlicher ist es, genau den richtigen Punkt zufällig auszuwählen. Ist der Punkt der originären Trajektorien in der Anonymisierung unterdrückt worden, so kann er auch nicht innerhalb einer Bounding Box liegen und erhöht nicht die Wahrscheinlichkeit, die originäre Trajektorie zufällig zu rekonstruieren. Eine gute Anonymisierung maximiert diese Wahrscheinlichkeit ( (Nergiz, et al. 2009) Seite 61). Dies verdeutlicht erneut das Spannungsfeld zwischen der Nutzung und dem Schutz der Daten. In (Nergiz, et al. 2009) Seite 61 wird über die Nutzbarkeit des Samples folgendes geschrieben. The Success of the anonymization heavily depends on the success of reconstructed data in explaining the original data. Für komplexe Datenstrukturen wird in (Nergiz, et al. 2009) Seite 65 Angaben über erklärende Parameter gegeben. In einfachen Datenstrukturen wären das Mittelwerte und Standardabweichungen mit denen überprüft werden kann, ob rekonstruierte Daten den originären Daten entsprechen. Die Überprüfung kann im Rahmen dieser Arbeit nicht geleistet werden.

183 Fazit und Ausblick 4 Fazit und Ausblick In dieser Arbeit wurde eine Methode untersucht, Trajektorien zu anonymisieren und sowohl die Anforderungen an den Datenschutz als auch an die weitere Nutzung zu erfüllen. Die vorgestellte Methode führt dabei nicht zu einer grundsätzlichen Anonymität sondern erreicht eine sog. k-anonymität. Dabei war es wesentlich, das Anonymisierungsverfahren insofern zu optimieren, dass die resultierende und anonymisierte Trajektorie räumlich und/oder zeitlich nahe an der ursprünglichen Trajektorie liegt. Dazu wurde eine Kostenfunktion definiert, die zu minimieren war. Ein in dieser Arbeit nicht betrachteter Aspekt ist die Anonymisierung von Trajektorien als laufender Datenfluss (Stream). Viele Anwendungen nutzen Echtzeit Daten, um bspw. Dienste am lokalen Ort zur aktuellen Zeit anzubieten. Eine Anonymisierung im nachhinein ist für diese Anwendungen nicht geeignet. Für zukünftige Untersuchungen wäre dies ein interessantes Forschungsgebiet.

184 Anhang 5 Anhang 5.1 Ergebnis des Berechnungsalgorithmus OPTsigma nach zwei Schleifendurchläufen.

185 Anhang 5.2 Darstellung des Prozesses Gruppenbildung der Trajektorien Abbildung 6

186 Literaturverzeichnis 6 Literaturverzeichnis dpa/heise/öttinger Guenther-Oettinger-verspricht-mehr-Datenschutz html (Zugriff am ). Duden. Duden. D: D. Giannotti, Fosca, und Dino Pedreschi. A Vision of Convergence. In Mobility, Data Mining and Privacy, von Fosca Giannotti und Dino Pedreschi, Berlin Heidelberg: Springer, Nergiz, Mehmet Ercan, Maurizio Atzori, Yücel Saygin, und Baris Güc. Towards Trajectory Anonymisation: a Generalization- Based Approach (Zugriff am ). Nergiz, Mehmet Erkan, und Yücel Saygin. Condensation-based Methods in Emerging Application Domains. In Privacy-Aware Knowledge Discovery: Novel Applications and New Techniques, von Bonchi Francesco und Ferrari Elena, Boca Raton: CRC Press, Pfitzmann, A, und M Köhntopp. Designing Privacy Enhancing Technologies. In Designing Privacy Enhancing Technologies, von Hannes Federrath, 1-9. Berkeley: Springer, Verykios, V.S., M.L. Damiani, und A. Gkoulalas-Divanis. Privacy and Security in Spatiotemporal Data and Trajectories. In Mobility, Data Mining and Privacy, von Fosca Giannotti und Dino Pedreschi, Berlin-Heidelberg: Springer, 2008.

187

188

189 Seminar / im Wintersemester 2014/2015 Sicherheit und Privatsphäre in Datenbanksystemen Thema 14 Verbund von Datenbanken Referent: Heiko Brieschke

190 FernUniversität in Hagen, Seminar 01912/19912 WS2014/2015, Sicherheit und Privatsphäre in Datenbanksystemen, Thema 14: Verbund von Datenbanken Inhaltsverzeichnis 1 Allgemeiner Überblick / Zusammenfassung der Basisartikel Zugangskontrolle in Datenbankverbünden: Wie rechtliche Fragen die Sicherheit prägen Privatsphäre bewahrende statistische Datenanalyse auf Datenbankverbünden Schichten-Architektur nach dem Beispiel des Information-Queensland- Projektes Darstellung und Beschreibung der 3-Schichten-Architektur Agenturschicht Aggregationsschicht Benutzerschicht Allgemeine Problemstellungen der Datensicherheit innerhalb des Information-Queensland-Projektes Das estnische X-Road-Datenbanksystem Datenschutzmechanismen für den Datenaustausch im X-Road-System Sichere Mehrparteien-Berechnungen (SMC) als eine Datenschutz fördernde Technik SHAREMIND - als eine Lösungsarchitektur im X-ROAD-System Praktische Umsetzung von SMC Literatur von 18

191 FernUniversität in Hagen, Seminar 01912/19912 WS2014/2015, Sicherheit und Privatsphäre in Datenbanksystemen, Thema 14: Verbund von Datenbanken 1 Allgemeiner Überblick / Zusammenfassung der Basisartikel Die Aufgabenbeschreibung des Themas lautete: Sollen Daten, die in verschiedenen Datenbanken gespeichert sind, zusammengefügt werden, ist es meist nicht zweckmäßig, die Daten in einer neuen Datenbank zu speichern, da lokale Anwendungen auf den existierenden Datenbanken weiterlaufen sollen. Vielmehr bleiben die bereits existierenden Datenbanken bestehen und werden um externe Schemata erweitert, die dann im globalen Datenbanksystem zusammengefasst werden. Anfragen gegen das globale System werden automatisch auf die verschiedenen Datenbanken verteilt und zu einem Gesamtergebnis zusammengefasst. Solche speziellen Formen von Datenbankarchitekturen erfordern spezielle Sicherheitsmechanismen. Diese Seminararbeit basiert auf den beiden Basisartikeln [BNC + 07] Zugangskontrolle in Datenbankverbünden: Wie rechtliche Fragen die Sicherheit prägen und [BKL + 14] Privatsphäre bewahrende statistische Datenanalyse auf Datenbankverbünden. Im Folgenden möchte ich mit einer kurzen Darstellung des Inhalts dieser beiden Basisartikel beginnen. 1.1 Zugangskontrolle in Datenbankverbünden: Wie rechtliche Fragen die Sicherheit prägen Dieser Artikel beschreibt ein von der Regierung Queenslands entwickeltes föderiertes Datenbanksystem zur Speicherung georäumlicher Daten. Es werden die wechselseitigen Beziehungen, die zwischen den rechtlichen Gesichtspunkten einerseits und der Informationstechnologie andererseits bestehen und wie diese das architektonische Design und die anschließende Umsetzung von Sicherheitsmaßnahmen bestimmten dargestellt. Zu Beginn des Artikels werden nach einer kurzen Einleitung die Hintergründe des Projektes, der Zweck der Forschung und die angewandte Methodik erläutert. Weiterhin werden Details der Queensland E-Government-Initiative im Rahmen der australischen Geo-Daten-Entwicklung erklärt. Danach wird ein Überblick über die vorgeschlagene technische Architektur gegeben, welche im Rahmen dieser Seminararbeit im Folgenden ausführlicher dargestellt wird. Weiter erfolgt in dem Artikel eine Prüfung der rechtlichen Konzepte, die für die Systemarchitektur und die Aggregation der verschiedenen Daten relevant sind. Dann werden Maßnahmen zur Sicherstellung der Datensicherheit, mit besonderem Schwerpunkt auf die Zugriffskontrolle, beschrieben. Hier wird speziell darauf eingegangen, welchen Einfluss rechtliche Erwägungen auf die Gestaltung 3 von 18

192 FernUniversität in Hagen, Seminar 01912/19912 WS2014/2015, Sicherheit und Privatsphäre in Datenbanksystemen, Thema 14: Verbund von Datenbanken und Umsetzung der Schutzmaßnahmen haben. Schließlich gibt der Artikel noch einen Ausblick auf zukünftige Arbeiten. 1.2 Privatsphäre bewahrende statistische Datenanalyse auf Datenbankverbünden Dieser Artikel beschreibt die Implementierung einer sicheren Mehrparteien-Berechnung (secure multi-party computation - SMC) in einem föderierten Datenbanksystem. Es wird die Umsetzung auf zwei realen Plattformen, die Sharemind sichere Mehrparteien- Berechnung und der estnischen X-Road-Datenbanksystem-Plattform beschrieben. Nach einer Einführung in das Thema werden zuerst die Vorteile der Kombination von Daten in einem föderierten Datenbanksystem dargestellt, sowie die betrachtete X-Road-Systemplattform beschrieben und anschließend verschiedene Kandidaten für Mikroschutzmechanismen diskutiert. Danach wird die sichere Mehrparteien- Berechnung (SMC) erklärt, eine Privatsphärendefinition für SMC-Anwendungen gegeben und erklärt, wie dieses in Datenanalysealgorithmen zu erfüllen ist. Dann wird gezeigt, wie eine föderierte Datenbankumgebung, wie das X-Road-System mit SMC zu kombinieren ist, damit dieses eine sichere Datenanalyseumgebung bietet. Anschließend wird die Validierung der Notwendigkeit der vorgeschlagenen Lösung durch eine Reihe von Interviews mit potenziellen Endkunden dargestellt. Weiter wird das erste Pilotprojekt, bei dem die vorgeschlagene Technologie zum Einsatz kommt, beschrieben. Abschließend wird die Implementierung statistischer Analysealgorithmen in einer SMC-Umgebung beschrieben und ihre Leistungsfähigkeit mit einer Reihe von Benchmarktests analysiert. 4 von 18

193 FernUniversität in Hagen, Seminar 01912/19912 WS2014/2015, Sicherheit und Privatsphäre in Datenbanksystemen, Thema 14: Verbund von Datenbanken 2 3-Schichten-Architektur nach dem Beispiel des Information-Queensland-Projektes 2.1 Darstellung und Beschreibung der 3-Schichten-Architektur Abbildung 1, aus dem Basistext [BNC + 07] übernommen, gibt einen Überblick über die vorgeschlagene technische Architektur des Information-Queensland-Projektes. Es handelt sich hierbei um eine 3-Schichten-Architektur. Sie besteht aus der Agentur-, der Aggregations- und der Benutzerschicht. 5 von 18

194 FernUniversität in Hagen, Seminar 01912/19912 WS2014/2015, Sicherheit und Privatsphäre in Datenbanksystemen, Thema 14: Verbund von Datenbanken Agenturschicht Die unterste Schicht der Architektur bildet die Agenturschicht. In dieser sind alle an dem System beteiligten lokalen Datenbanken der jeweiligen Behörden angesiedelt. Jede Behörde ist für die in ihren Datenbanken gespeicherten Daten selbst verantwortlich, sowohl in Hinblick auf die Datenkonsistenz als auch auf die Datensicherheit. Jede Behörde entscheidet also selbst, wer auf welche Daten zugreifen darf. Durch diese lokale Datenhaltung ist es ohne Anpassung der bisher verwendeten Zugangssoftware und Programme möglich, alle bisherigen rein lokalen Aufgaben unverändert weiter zu erfüllen. Zusätzlich kommen jetzt noch weitere Datenanfragen des Information-Queensland-Systems hinzu. Diese Anfragen werden durch Komponenten der über der Agenturschicht liegenden Aggregationsschicht durchgeführt Aggregationsschicht Die Aggregationsschicht bildet die mittlere Schicht der technischen Architektur des Information-Queensland-Projektes. Sie besteht im Wesentlichen aus einem Web-Server und einem Datenverarbeitungsserver. Hierbei übernimmt der Webserver die Datenkommunikation mit den Benutzern des Information-Queensland-Projektes, indem er zum einen die Datenanforderungen der Benutzer entgegennimmt und an den Datenverarbeitungsserver weiterreicht und zum anderen die vom Datenverarbeitungsserver aufbereiteten Daten an die Benutzer zurückgibt. Die zentrale Komponente der Aggregationsschicht stellt jedoch der Datenverarbeitungsserver dar. Er zerlegt die Benutzeranfragen in einzelne Datenanforderungen an die verschiedenen Agentur-Datenbanken und setzt die Einzelantworten der Agentur-Datenbanken zu einem Gesamtergebnis zusammen, welches dann dem Benutzer zur Verfügung gestellt wird. Die Aggregationsschicht stellt auf Grundlage der verschiedenen lokalen Datenschemata der einzelnen Agenturdatenbanken ein globales Datenschema bzw. wie im Basistext bezeichnet ein Datenklassifikationsschema zur Verfügung. Hierbei besteht die Schwierigkeit und somit mögliche Probleme darin, die teilweise inkonsistenten Datenklassifikationen der einzelnen Behörden zu harmonisieren. Eine weitere Aufgabe der Aggregationsschicht ist es, bestimmte Aggregationen von Daten zu verhindern, deren Veröffentlichung für sich alleine kein Sicherheitsproblem darstellen, die Kombination dieser Daten aber zu schützenswerten Informationen werden, die nicht mehr veröffentlicht werden sollten. Im Basistext wird hierfür als Beispiel die Kombination von Strom- und Wasserversorgungsnetzen in geografischen Karten angeführt, aus denen dann beispielsweise Informationen hervorgehen, die aus Verteidigungsgründen geheim bleiben sollten Benutzerschicht Die Benutzerschicht stellt die oberste Schicht in der technischen Architektur des Information-Queensland-Projektes dar. In ihr sind die Benutzer des Systems angesiedelt, die unter Verwendung eines Webbrowsers die Möglichkeit haben, Anfragen 6 von 18

195 FernUniversität in Hagen, Seminar 01912/19912 WS2014/2015, Sicherheit und Privatsphäre in Datenbanksystemen, Thema 14: Verbund von Datenbanken an die Aggregationsschicht zu stellen. Die von der Aggregationsschicht aufbereiteten Antwortdaten werden den Benutzern ebenfalls im Webbrowser angezeigt. 2.2 Allgemeine Problemstellungen der Datensicherheit innerhalb des Information-Queensland-Projektes Durch die Aggregierung der Daten der verschiedenen Behörden mussten in dem Gesamtkonzept verschiedene gemeinsame Problemlösungen zwischen allen teilnehmenden Behörden entschieden und letztlich auch umgesetzt werden, die so, bei der bisherigen rein lokalen Datenhaltung jeder Behörde, nicht vorhanden waren. Hier sind vor allen Dingen die Autorisierungsrichtlinien zu nennen. Für die einzelne Behörde ist es schwierig bis unmöglich zu entscheiden, welche Daten für wen freigegeben werden, da im Voraus nicht feststellbar ist, zu welchen Endergebnissen die lokalen Daten in der Aggregationsschicht zusammengefasst werden. Andererseits, wenn die Festlegung der Autorisierungsrichtlinien komplett in die Aggregationsschicht verschoben würde, widerspräche dies dem Grundsatz, das jede Behörde selbst für die Sicherheitsrichtlinien ihrer Daten verantwortlich ist. Außerdem wäre in diesem Fall nicht klar, welche Behörde oder Behörden für die Festlegung der Autorisierungsrichtlinien verantwortlich ist. Ein weiteres Problem ist die Festlegung der Stelle an der die Authentifizierung und Autorisierung innerhalb des Information-Queensland-Projektes erfolgen soll. Generell bieten sich hier zwei Stellen an. Zum Ersten bei der Aggregationsschicht und zum Zweiten bei der Agenturschicht. Innerhalb der Agenturschicht gibt es nochmals 2 unterschiedliche Stellen bzw. Möglichkeiten, entweder über Web-Service-Gateways oder beim direkten Zugang zu den Daten unter Verwendung der in den eingesetzten Datenbanksystemen integrierten Zugriffsschutzmechanismen. Wird die Autorisierung in der Aggregationsschicht vorgenommen, so müssen die einzelnen Behörden ihre Verantwortung hierüber an diese abgeben. Auch ehemals rein lokale Datenzugriffe müssen dann durch die Aggregationsschicht autorisiert werden. Andererseits muss bei der Autorisierung in der Agenturschicht diese in jeder Agentur durchgeführt werden an die eine Teilabfrage gestellt wird. Dies kann zu entsprechenden Laufzeitverlusten bei der Anfragebearbeitung führen. 7 von 18

196 FernUniversität in Hagen, Seminar 01912/19912 WS2014/2015, Sicherheit und Privatsphäre in Datenbanksystemen, Thema 14: Verbund von Datenbanken 3 Das estnische X-Road-Datenbanksystem Im 2. Basisartikel [BKL + 14] wird eine sichere Mehrparteienberechnung (secure multiparty computation - SMC) und deren Integration in das estnische X-Road-System dargestellt. Das X-Road-System ist eine plattformunabhängige Datenaustauschschicht. Das System sorgt für eine ausreichende Sicherheit bei der Behandlung von Datenbankanfragen und deren Beantwortung. Die X-Road-Infrastruktur besteht aus Soft- und Hardwarekomponenten, sowie Organisationsmethoden für die standardisierte Nutzung nationaler Datenbanken. Das X-Road-System hat eine verteilte und redundant ausgelegte Architektur. Somit ist auch kein Single Point of Failure vorhanden. Die gesamte Kommunikation läuft über das öffentliche Internet, ist aber über SSL verschlüsselt. Außerdem wird jede Anfrage und Antwort an und von einer Datenbank bilateral authentifiziert, sodass Sender und Empfänger stets bekannt sind. Diese Authentifizierung erfolgt auf Grundlage von 8 von 18

197 FernUniversität in Hagen, Seminar 01912/19912 WS2014/2015, Sicherheit und Privatsphäre in Datenbanksystemen, Thema 14: Verbund von Datenbanken Zertifikaten, die durch ein Zertifikatszentrum erstellt und anschließend in einem zentralen Server abgelegt sind. Dieser zentrale Server erteilt die jeweiligen Zugriffsgenehmigungen. Dabei kann jede Organisation über eine Schnittstelle zur Administration des Sicherheitsservers selbst bestimmen, welche Daten an wen veröffentlicht werden sollen. Des Weiteren ist jeder Datenbank ein Adapterserver vorgeschaltet. Dieser übernimmt die Transformation der internen Datenbankschemata in das XML-Format, welches innerhalb des X-Road-Systems zum Informationstransport verwendet wird. Anschließend werden die XML-Nachrichten durch die Security-Server verschlüsselt und von jeder Anfrage für die spätere Nachweisbarkeit ein Log-Hash zum Zentralserver gesendet. Die technischen Angaben sowie die Übersichtsdarstellung wurden zusätzlich den beiden Artikeln [httc] und [httd] entnommen. 3.1 Datenschutzmechanismen für den Datenaustausch im X-Road-System Für den Datenaustausch im X-Road-System bietet dieses seit Anfang 2011 eine Möglichkeit, verschiedene Datenbanken ohne Offenlegung der Identität der betroffenen Personen, zu verküpfen. Hierzu wird Pseudonomisierung verwendet. Technisch erfolgt dies durch eine Verschlüsselung der ID-Codes jeder Person mit einem gemeinsamen symmetrischen AES-Schlüssel, welcher allerdings über Offline-Mittel, also nicht über das Internet, X-Road o.ä. verteilt werden muss. Diese Methode bietet zwar einen gewissen Grundschutz gegen neugierige Datenanalysten, sie ist aber völlig unzureichend entschlossenen und gezielten Angriffen zu widerstehen. Da die Datenfelder der Datensätze nicht verschlüsselt sind, ist es weiterhin möglich, diese mit anderen öffentlich verfügbaren Daten über eine Person (zum Beispiel Geschlecht, Alter, Bildung, Wohnort) zu verknüpfen und so auf die Identität der jeweiligen Person zu schließen. Es ist somit praktisch unmöglich auf eine Lösung die auf Pseudonomisierung basiert, eine Sicherheitsgarantie der Privatsphäre zu geben. Aus diesem Grund werden im Basisartikel 2 weitere Mikrodaten-Schutzmechanismen vorgestellt, die k-anonymität und als Verbesserung dieser die l-diversity. Das Konzept der k-anonymität wurde 2002 von Latanya Sweeney mit dem Ziel veröffentlicht, wissenschaftliche Daten zu veröffentlichen und dabei garantieren zu können, dass die Individuen, von denen diese Daten handeln, nicht reidentifiziert werden können, während die Daten selbst weiterhin nutzbar sind. Nach diesem Konzept bietet eine Veröffentlichung von Daten k-anonymität, wenn die identifizierenden Informationen jedes einzelnen Individuums von mindestens k-1 anderen Individuen ununterscheidbar sind und somit eine korrekte Verknüpfung mit den zugehörigen sensiblen Attributen erschwert wird.[swe02] Im folgenden werde ich jetzt das Verfahren zur Erzeugung einer k-anonymen Datenbank darstellen. Die Informationen hierfür wurden dem Wikipedia-Eintrag [htta] zu diesem Thema mit Stand Dezember 2014 entnommen. 9 von 18

198 FernUniversität in Hagen, Seminar 01912/19912 WS2014/2015, Sicherheit und Privatsphäre in Datenbanksystemen, Thema 14: Verbund von Datenbanken In diesem Zusammenhang versteht man unter einer Datenbank eine Tabelle mit n Zeilen und m Spalten. In jeder Zeile ist ein (nicht notwendig einzigartiger) Datensatz eines Individuums gespeichert. Die Werte in den einzelnen Spalten sind die Attribute, die dem jeweiligen Individuum entsprechen. Bei den Attributen ist zwischen Identifikatoren, Quasi-Identifikatoren und den sensiblen Daten zu unterscheiden. Über die Identifikatoren können die Individuen eindeutig identifiziert werden. Bei den Quasi- Identifikatoren handelt es sich um Attribute, die für sich genommen keine Identifikation ermöglichen, in Kombination mit anderen allgemein zugänglichen Daten jedoch die Identifikation erlauben. Die sensiblen Daten enthalten die schützenswerten Informationen, deren genauer Wert eines speziellen Individuums nicht preisgegeben werden soll. Die Anonymisierung kann jetzt mit verschiedenen Mitteln, zum Beispiel durch Unterdrücken von Informationen oder durch Generalisieren von Daten erreicht werden. Ausgangspunkt des folgenden Beispiels ist die nicht anonymisierte Tabelle mit Patientendaten eines fiktiven Krankenhauses: Durch Generalisierung des Identifikators und der Quasi-Identifikatoren entsteht folgende Tabelle: Hieraus ergeben sich jetzt die folgenden 4 Äquivalenzklassen, wobei jede Äquiva- 10 von 18

199 FernUniversität in Hagen, Seminar 01912/19912 WS2014/2015, Sicherheit und Privatsphäre in Datenbanksystemen, Thema 14: Verbund von Datenbanken lenzklasse mindestens 2 Elemente enthält und somit eine 2-Anonymität gewährleistet ist. Das Konzept der k-anonymität hat aber auch bekannte Mängel, die eine Deanonymisierung ermöglichen könnten. Hierzu zählen zum Beispiel die Homogenitätsattacke und die Hintergrundwissensattacke. Die nachfolgenden Erklärungen sind dem Artikel [Hau07] entnommen worden. Die Homogenitätsattacke setzt voraus, dass in einer Äquivalenzklasse alle Datensätze identische sensible Daten besitzen. Wenn jetzt ein Angreifer von der Existenz einer Person in dieser Datenbank Kenntnis hat und es ihm möglich ist die Person der entsprechenden Äquivalenzklasse zuzuordnen, erfährt er auch die sensiblen Daten zu dieser Person. Bei der Hintergrundwissensattacke ist es einem Angreifer eventuell möglich, wenn er von der Existenz einer Person in dieser Datenbank weiß und er diese Person der richtigen Äquivalenzklasse zuordnen kann und er durch das Zusatzwissen verschiedene sensible Attribute für diese Person ausschließen kann, diese Person trotz k-anonymität eindeutig zuzuordnen. Um diese aufgezeigten Schwächen der k-anonymität zu überwinden, wurde der l-diversity-ansatz entwickelt. Die folgende Darstellung des l-diversity-ansatzes wurde ebenfalls dem Artikel [Hau07] entnommen. Bei diesem Ansatz wird die zugrunde liegende Tabelle in sensitive und nicht sensitive Attribute unterteilt. Es wird im Folgenden davon ausgegangen, dass alle nicht sensitiven Attribute die Quasi-Identifikatoren bilden und die Tabelle nur ein sensitives Attribut besitzt. Da nun nicht jedes Hintergrundwissen bekannt sein kann, gibt es in der Praxis keinen optimalen Schutz gegen den Ausschluss sensitiver Attribute. l-diversity bietet daher nur ein Schutzmaß gegen Angriffe, bei denen das sensitive Attribut vorhergesagt wird. Der Schutz besteht nun darin, das sensitive Attribut, welches mit einer Person in Verbindung steht, in einer Menge von l anderen sensitiven Attributen zu verstecken. Damit müsste ein Angreifer mindestens über l-1 Hintergrundwissen verfügen, um über Ausschluss der falschen sensitiven Attribute auf das Richtige schließen zu können. 11 von 18

200 FernUniversität in Hagen, Seminar 01912/19912 WS2014/2015, Sicherheit und Privatsphäre in Datenbanksystemen, Thema 14: Verbund von Datenbanken 3.2 Sichere Mehrparteien-Berechnungen (SMC) als eine Datenschutz fördernde Technik Secret Sharing (Geheimnisteilung) ist ein Konzept, bei dem ein geheimer Wert unter mehreren Parteien aufgeteilt wird. Dadurch ist keine Partei alleine in der Lage den geheimen Wert zu rekonstruieren. Je nach Verteilschema werden hier einfache und erweiterte Verfahren unterschieden. Diese unterscheiden sich dadurch, dass bei den einfachen Verfahren alle Teilgeheimnisse und bei den erweiterten Verfahren nur eine Teilmenge der Teilgeheimnisse zur Rekonstruktion des Geheimwertes benötigt werden. Ein typisches Geheimnis nach diesem Konzept ist der geheime Schlüssel eines RSA-Kryptosystems. Wird dieser auf verschiedene Parteien aufgeteilt, so ist es keiner Partei alleine möglich, Signaturen für dieses Kryptosystem zu erstellen. Andererseits stellt aber die Kompromittierung eines Teilschlüssels keine Gefahr für das Gesamtsystem dar. Es gibt verschiedene Verfahren wie das Secret Sharing angewendet werden kann. Die folgende Darstellung eines einfachen Verfahrens wurde dem Wikipediaartikel [httb] mit Stand Dezember 2014 zu diesem Thema entnommen und sieht wie folgt aus: - Gegeben ist der geheime Wert x. - Jetzt wähle man die Teilgeheimnisse x i mit i 1,...,n sodass gilt: x = x 1 +x x n - Hierbei müssen diex i, i = 2...n Zufallswerte besitzen und x 1 wird dann so gewählt, dass die oben angegebene Bedingung erfüllt ist. Da diex i, i = 2...n Zufallswerte sind, gilt dies auch für x 1. Eine andere Möglichkeit besteht darin, die Addition im oberen Beispiel durch eine Exklusiv-ODER-Verknüpfung zu ersetzen. Hierbei gilt dann: - gegeben ist wieder der geheime Wert x. - Jetzt wähle man die Teilgeheimnisse x i derart, dass gilt: x = x 1 x 2... x n Auch hier ist die Rekonstruktion nur möglich, wenn alle x i, i = 1...n bekannt sind. Neben den einfachen Sharing-Verfahren gibt es auch noch die erweiterten Sharing- Verfahren. Die meisten Implementierungen dieser Verfahren sind akademische Forschungsimplementierungen, die ein spezielles Problem in einem bestimmten Umfeld lösen und somit als allgemeiner Lösungsansatz nicht brauchbar sind. Es gibt jedoch auch schon fortgeschrittene Implementierungen mit programmierbaren Protokoll-Suiten. Im Basisartikel wird hier die Sharemind-Umgebung näher betrachtet, da diese zum Erstellungszeitpunkt des Artikels diejenige mit der größten Auswahl an praktischen Funktionen war. 12 von 18

201 FernUniversität in Hagen, Seminar 01912/19912 WS2014/2015, Sicherheit und Privatsphäre in Datenbanksystemen, Thema 14: Verbund von Datenbanken Die Sharemind-Anwendungsserver sind eine praktische Implementierung sicherer Mehrparteienberechnungstechnologie, die die Privatsphäre bewahrende Berechnungen auf freigegebenen Geheimdaten erlaubt. Im Folgenden wird erklärt, wie eine SMC-Bereitstellung auf dem Sharemind-System abläuft. Generell gibt es in einem SMC-System 3 grundlegende Rollen. Diese sind: - die Eingangspartei I - die Berechnungspartei C - die Ergebnispartei R Die Eingangsparteien sammeln die zu verarbeitenden Daten und senden diese an das SMC-System. Das SMC-System selbst ist auf den Berechnungsparteien gehostet. Hier werden aus den verschiedenen Eingabedaten die gewünschten Berechnungen durchgeführt und die Ergebnisse den Ergebnisparteien zur Verfügung gestellt. Für die Modellierung einer SMC-Anwendung wird jetzt folgende Notation verwendet: Sei I k = (I 1,...,I k ) die Liste der Eingangsparteien, C m = (C 1,...,C m ) die Liste der Berechnungsparteien und R n = (R 1,...,R n ) die Liste der Ergebnisparteien. Weiter sei Π ein SMC-Protokoll für die Ausführung einer bestimmten Aufgabe. Im Folgenden bezeichnet ICR eine Partei, die alle 3 Rollen erfüllt, ebenso bezeichnet IC eine Partei, die die Rollen I und C erfüllt, usw.. Außerdem werden hochgestellte Zahlen (k,m,n 1) verwendet um darzustellen, dass es mehrere Parteien im System gibt, die die gleiche Rolle ausfüllen. Realen Parteien können nun mehr als eine dieser Rollen zugewiesen werden. Die Menge {I,C,R} hat 7 nicht-leere Teilmengen und es gibt 2 7 = 128 Möglichkeiten, diese zu kombinieren. Es sind aber nur die Kombinationen interessant, in denen alle 3 Rollen vorhanden sind. Somit bleiben noch = 112 mögliche Kombinationen. In einer realen Umgebung machen jetzt nicht alle 112 möglichen Kombinationen Sinn, aber jede Bereitstellung von SMC kann mithilfe dieser 112 Kombinationen dargestellt werden. Hierauf aufbauend werden im Basisartikel folgende Erwartungen und Definitionen für den Datenschutz aufgestellt. Ein SMC-Verfahren Π von Parteien I k,c m,r n bewahrt die Privatsphäre der Eingangsparteien, wenn folgende Bedingungen erfüllt sind: Quell-Datenschutz: Bei der Durchführung der Berechnung Π können die Rechenparteien keine Berechnungsergebnisse mit den Eingangsdaten einer bestimmten Eingangspartei verknüpfen. 13 von 18

202 FernUniversität in Hagen, Seminar 01912/19912 WS2014/2015, Sicherheit und Privatsphäre in Datenbanksystemen, Thema 14: Verbund von Datenbanken kryptographischer Datenschutz: Bei der Durchführung der Berechnung Π lernen die Berechnungsparteien nichts über die Zwischenwerte, die verwendet werden, um die Ergebnisse zu berechnen. Dies schließt auch die Einzelwerte an den Eingängen der Eingangsparteien mit ein, es sei denn, der entsprechende Wert gehört zu den erlaubten Ausgabewerten von Π. Eine weitere Ausnahme ist, wenn es sich um Eingabedaten bei nur einer vorhandenen Eingangspartei handelt. eingeschränkte Ausgänge: Bei der Auswertung der Berechnung Π dürfen die Ergebnisparteien nichts über die Zwischenwerte, die zur Berechnung der Ergebnisse verwendet wurden, erfahren. Hierin inbegriffen sind auch die Einzelwerte in den Eingängen der Eingangsparteien, außer einer dieser Werte ist unter den zulässigen Ausgaben der Berechnung Π. Darüber hinaus kann eine Ergebnispartei jedoch den Eingangswert seines Eingangs erfahren, wenn sie gleichzeitig Eingangspartei ist. Ausgangs-Datenschutz: Die Ausgabe der Berechnung Π enthält keinen signifikanten Teil der privaten Eingabe. Aus dieser Definition werden im Basisartikel jetzt folgende allgemeine Richtlinien für die Gestaltung von Privatsphäre bewahrenden Algorithmen dargestellt. Für den Quell-Datenschutz wird verlangt, dass die Berechnungsparteien für keinen Zwischenwert eine Eingangspartei zuordnen können, die zu diesem beigetragen hat. Dies kann zum Beispiel durch das Mischen der Eingangsdaten erreicht werden. Kryptographischer Datenschutz wird durch die Verwendung von SMC-Protokollen erreicht, die die Eingabedaten in geschützten Formen (z.b. verschlüsselt) den Berechnungsparteien zur Verfügung stellen. Dadurch wird verhindert, dass die Berechnungsparteien die privaten Eingabedaten selbst rekonstruieren können. Ferner muss der Schutzmechanismus für die privaten Eingabedaten während der gesamten Ausführung des Algorithmus eingehalten werden, das heißt, die Berechnungsparteien dürfen den Schutzmechanismus zur Durchführung der Berechnung nicht entfernen. Beispiele geeigneter Techniken hierfür sind zum Beispiel homomorphes Secret Sharing und homomorphe Verschlüsselung. Bei den eingeschränkten Ausgängen dürfen die Berechnungsparteien nur die Ergebniswerte den Ergebnisparteien veröffentlichen, deren Veröffentlichung durch die Berechnung Π erlaubt sind. Alle anderen Ergebniswerte müssen geschützt bleiben. Daraus folgt trivialerweise, dass zwischen den Berechnungsparteien nur erlaubte Verfahren ausgeführt werden dürfen. Alle Anfragen der Ergebnisparteien, deren Berechnung nicht zwischen den Berechnungsparteien vereinbart wurden, müssen durch diese abgelehnt werden. In der Praxis überwachen hierfür alle Berechnungsparteien ihre Kopie des auszuführenden Codes und wenn sie mit der Ausführung nicht einverstanden sind, kann der Code zurückgewiesen werden. Dies stoppt effektiv das Berechnungsverfahren, da 14 von 18

203 FernUniversität in Hagen, Seminar 01912/19912 WS2014/2015, Sicherheit und Privatsphäre in Datenbanksystemen, Thema 14: Verbund von Datenbanken der Code von allen beteiligten Berechnungsparteien parallel für die Gesamtberechnung abgearbeitet werden muss. Der Ausgangs-Datenschutz ist das komplexeste Datenschutzziel und erfordert teilweise kreative Ansätze. Der komplexeste Teil der Algorithmusentwicklung ist hier die Kontrolle, dass durch den Algorithmus nicht Teile der Eingangswerte über die Ausgaben veröffentlicht werden. Um dieses Ziel zu erreichen, gibt es viele Möglichkeiten. Als Beispiele werden im Basisartikel die Entropieschätzung der Eingangswerte und die differenzielle Privatheit genannt. Unabhängig von der genauen Vorgehensweise muss der Algorithmusdesigner das Potenzial der Auswirkungen der Veröffentlichung der Ergebnisse der Berechnung analysieren. 3.3 SHAREMIND - als eine Lösungsarchitektur im X-ROAD-System Im Folgenden komme ich zur Darstellung aus dem Basisartikel, wie die Sharemind- Architektur in das estnische X-Road-System zu integrieren ist, um eine sichere Mehrparteienberechnung in föderierten Datenbanken zu ermöglichen. Zuerst müssen die SMC-Knoten innerhalb des X-Road-Systems bereitgestellt werden. Diese Knoten müssen entweder an die X-Road-Sicherheitsserver gekoppelt werden oder es sind eigenständige Server mit einer hohen Netzwerkbandbreite. Eine notwendige Bedingung für diese Sharemind-Knoten ist jedoch, dass sie von unabhängigen Dritten betrieben werden. Dadurch ist eine gewisse Zusammenarbeit der einzelnen Behörden sichergestellt, da die Realisierung der gewünschten Berechnungen eine Abstimmung der einzelnen Behörden, die die Eingangsdaten für die Berechnung in ihren Datenbanken gespeichert haben, notwendig ist. Aufgrund der notwendigen Abstimmung aller an der Berechnung beteiligten Behörden ist sichergestellt, dass interne Angreifer keine Möglichkeit haben, selbstständig weitergehende Auswertungen vorzunehmen. Bei einem Außenangriff, zum Beispiel dem Diebstahl eines einzelnen Sharemind-Knotens, sind die sensiblen Daten aber ebenfalls nicht gefährdet. Es muss in diesem Fall aber sichergestellt werden, dass durch die Erlangung noch weiterer sensibler Daten dann nicht doch die sensiblen Informationen offengelegt werden. Nachdem die dargestellte Sharemind-Infrastruktur eingerichtet ist, erfolgt eine sichere Mehrparteienberechnung nach folgendem Ablauf. Wenn die Service-Consumer eine Abfrage erhalten, die die Datenbanken mehrerer Dienstleister umfasst, so nehmen die Service-Consumer in einem ersten Schritt Kontakt mit den Sicherheitsservern der beteiligten X-Road-Service-Anbieter auf. Die jeweiligen Sicherheitsserver leiten die Datenanfrage über das interne Datennetz des jeweiligen Anbieters dann an die Datenbank des Anbieters weiter. Danach werden die Antwortdaten mit Hilfe von Secret Sharing zerlegt und den zuvor bestimmten Sharemind- Rechenparteien zugeleitet. Wenn dies abgeschlossen ist, wird der initiierende Service- Consumer hierüber informiert. Dieser beauftragt seinerseits nun die ausgewählten und mit den Eingangsdaten für die Berechnung versorgten Sharemind-Berechnungsparteien 15 von 18

204 FernUniversität in Hagen, Seminar 01912/19912 WS2014/2015, Sicherheit und Privatsphäre in Datenbanksystemen, Thema 14: Verbund von Datenbanken die tatsächliche Berechnung auf den übermittelten Eingangsdaten auszuführen. Sobald die Berechnung abgeschlossen ist, sendet jede beteiligte Sharemind-Berechnungspartei ihre Ergebniswerte zurück an den anfordernden Service-Consumer. Dieser rekonstruiert anschließend aus allen erhaltenen Einzelantworten der Sharmind-Berechnungsparteien die endgültige Antwort auf die gestellte Anforderung und gibt sie an den Anforderer zurück. Für jede Berechnungsanforderung müssen die Eingangsdaten geteilt und von allen beteiligten X-Road-Serviceprovidern auf dieselben Sharemind-Berechnungsparteien verteilt werden. Dies ist eine nicht-triviale Aufgabe. Hierzu können die X-Road-Serviceprovider eine Präferenzliste der Sharemind-Berechnungsparteien verwalten, in welcher hinterlegt ist, welchen Sharemind-Berechnungsparteien sie ihre geheim genutzten Daten anvertrauen. Nach Empfang einer Berechnungsanfrage durch einen Service-Consumer müssen sich die beteiligten Serviceprovider über ein gemeinsames Bündel für die Berechnung zu verwendender Sharemind-Berechnungsparteien einigen. Hierbei kann es dazu kommen, dass die gefundene Schnittmenge an vertrauenswürdigen Sharemind-Berechnungsparteien nicht groß genug ist. Um diesen Engpass zu vermeiden, wäre es alternativ auch möglich, alle im X-Road-System vorhandenen Sharemind-Berechnungsparteien mit der gleichen Vertraulichkeit einzustufen. Dann müssten die Serviceprovider nur die zu verwendenden Sharemind-Berechnungsparteien, ohne Prioritäten beachten zu müssen, festlegen und die jeweiligen Sicherheitsserver der beteiligten Dienstleister darüber informieren. Benötigt ein X-Road-Serviceprovider jetzt mehr Kontrolle über den Berechnungsprozess, so kann er die Sharemind-Rechenknoten bei sich selbst hosten. Dies gäbe ihm auch die Möglichkeit, eine sichere Mehrparteienberechnung zu stoppen, wenn er vermutet, dass hierbei etwas falsch läuft. Allerdings darf dabei nicht außer Acht gelassen werden, dass dieser Ansatz der generellen Forderung widerspricht, die Sharemind- Berechnungsparteien durch einen unabhängigen Dritten zu betreiben. 3.4 Praktische Umsetzung von SMC Bei der praktischen Nutzung der sicheren Mehrparteienberechnung besteht das erste wesentliche Problem darin, zwischen den verschiedenen Serviceprovidern als Eingangsparteien der sicheren Mehrparteienberechnung ein gemeinsames Datenmodell zu entwickeln, welches auch Schlüsselwerte für die Verknüpfung von Daten von verschiedenen Serviceprovidern beinhaltet. Aus Effizienzgründen ist es oft nützlich, die Vorverarbeitung der Daten bei den Eingangsparteien vorzunehmen und anschließend erst die aufbereiteten Daten an die Berechnungsparteien zu senden. Hierdurch wird der Datenschutz nicht beeinträchtigt, da die Daten von den Eingangsparteien selbst bearbeitet werden. Bei dieser Aufbereitung der Daten kann es jetzt vorkommen, dass einzelne Werte in den Datensätzen fehlen. Um dieses Problem zu beheben, gibt es zwei mögliche Optionen. Zum einen ist es möglich einen speziellen Wert einzusetzen, der ausschließlich für einen nicht vorhandenen Wert steht oder es wird für jedes Attribut des Datensatzes ein zusätzliches Attribut geschaffen, in dem dann eine 1, falls der Wert vorhanden, 16 von 18

205 FernUniversität in Hagen, Seminar 01912/19912 WS2014/2015, Sicherheit und Privatsphäre in Datenbanksystemen, Thema 14: Verbund von Datenbanken und eine 0, falls der Wert nicht vorhanden ist, eingefügt wird. Ähnlich wird auch bei der Filterung der Daten vorgegangen. Hier wird ein Vektor erzeugt, der für jeden Datensatz, der die gesuchte Bedingung erfüllt, mit 1 belegt wird und ansonsten mit 0. Sollen jetzt mehrere Filter miteinander kombiniert werden, so brauchen die zugehörigen Vektoren nur multipliziert zu werden. Die Verknüpfung von mehreren Tabellen in Sharemind erfolgt über sichere JOIN-Operationen ähnlich dem im X-Road-System verwendeten AES-Blockchiffre. Hierbei werden die Schlüsselwerte der JOIN-Operation zuerst verschlüsselt und die anschließende JOIN-Operation wird auf den verschlüsselten Klartexten ausgeführt. Der Schlüssel für die Verschlüsselung ist während der JOIN-Operation nicht bekannt und damit ein Entschlüsseln der sensiblen Daten nicht möglich. 17 von 18

206 FernUniversität in Hagen, Seminar 01912/19912 WS2014/2015, Sicherheit und Privatsphäre in Datenbanksystemen, Thema 14: Verbund von Datenbanken Literaturverzeichnis [BKL + 14] Bogdanov, Dan ; Kamm, Liina ; Laur, Sven ; Pruulmann- Vengerfeldt, Pille ; Talviste, Riivo ; Willemson, Jan: Privacy- Preserving Statistical Data Analysis on Federated Databases. In: Preneel, Bart (Hrsg.) ; Ikonomou, Demosthenes (Hrsg.): Privacy Technologies and Policy - Second Annual Privacy Forum Bd. 8450, Springer, 2014, S [BNC + 07] Burdon, Mark ; Nieto, Juan Manuel G. ; Christensen, Sharon ; Dawson, Ed ; W.D.Duncan ; Lane, Bill: Access control in federated databases: How legal issues shape security. In: Wimmer, Maria (Hrsg.) ; Scholl, Hans J. (Hrsg.) ; Grönlund, Ake (Hrsg.): Lecture Notes in Computer Science, Springer, 2007, S [Hau07] Hauf, Dietmar: Allgemeine Konzepte K-Anonymity, l-diversity and T- Closeness, 2007 [htta] k-anonymität. Stand Dezember 2014 [httb] Secret-Sharing. Stand Dezember 2014 [httc] X-ROAD FACTSHEET. X-road-factsheet-2014.pdf [httd] TECHNICAL FACTSHEET. Xroad-technical-factsheet-2014.pdf [Swe02] Sweeney, Latanya: k-anonymity: A model for protecting privacy. In: International Journal of Uncertainty, Fuzziness and Knowledge-Based Systems 10 (2002), Nr. 5, S von 18

207 Seminar 01912/19912 im Wintersemester 2014/2015 Sicherheit und Privatsphäre in Datenbanksystemen Thema 15 Datenbanken in einer Cloud Referent: Florian Schlachter

208 INHALTSVERZEICHNIS INHALTSVERZEICHNIS Inhaltsverzeichnis Abkürzungsverzeichnis 3 I Cloud-Dienste für Datenbanksysteme 4 1 Einführung 4 2 Motivation zur Nutzung von Cloud-Diensten 4 3 Probleme im Vergleich zum konventionellen Betrieb 5 II Mögliche Lösungsansätze 5 4 Verschlüsselung zur Erhöhung des Datenschutzes Grundlagen Architekturen Grundlagen Einsatz eines Proxys Verzicht des Proxys Metadaten im Client Metadaten im Server Verhaltensanalyse zur Bekämpfung von Bedrohungen Grundlagen Architekturen Einsatz von Deep Packet Inspection Analyse von Logfiles mithilfe von IaaS Weitere Ansätze Ansätze für den Cloudbenutzer Transparent Data Encryption (TDE) Einsatz eines angepassten DBMS Einsatz von Proxys Ansätze für den Cloudanbieter Isolation und Verifikation der Serverumgebung Einsatz sicherer Hardware III Zusammenfassung 13 IV Literaturverzeichnis 15 2

209 Abkürzungsverzeichnis Abkürzungsverzeichnis Abkürzungsverzeichnis AES DS ECB Advanced Encryption Standard Datenbankserver Electronic Code Book ENISA European Union Agency for Network and Information Security IaaS IBAS NIST PaaS SaaS SQL Infrastructure as a service Insider Behavior Analysis Server National Institute of Standards and Technology Platform as a service Software as a service Structured Query Language 3

210 2 MOTIVATION ZUR NUTZUNG VON CLOUD-DIENSTEN Teil I Cloud-Dienste für Datenbanksysteme 1 Einführung Cloud-Dienste für den privaten als auch den gewerblichen Gebrauch gewannen in den letzten Jahren zunehmend an Bedeutung. Immer mehr Provider stellen mit ihren Dienstleistungen ( Services ) unterschiedlichste Arten von Ressourcen zur Verfügung, die vom Endkunden nach Bedarf genutzt werden können und in der Regel nutzungsabhängig abgerechnet werden. Die zu mietenden Ressourcen lassen sich einem der drei vom NIST definierten Modelle Software, Platform und Infrastructure zuordnen [10] man spricht daher auch von Software/Platform/Infrastructure as a Service (SaaS/PaaS/IaaS, vgl. Abb. 1). Kennzeichnend für alle Modelle ist ein gewisser Grad an Abstraktion sowie die Möglichkeit der einfachen Skalierung. Abbildung 1: Cloudmodelle 1 Computerressourcen (Rechenleistung, Speicher, usw.) in Form eines virtuellen Computers werden im Rahmen von IaaS, das allgemeinste der drei Modelle, vom Provider zur Verfügung gestellt. Mit IaaS hat der Nutzer direkten Kontakt mit dem Betriebssystem und steht entsprechend in der Pflicht der Verwaltung des Systems. PaaS stellt dem Endanwender eine Plattform zur Verfügung, die von der zugrundeliegenden Hardware und Software abstrahiert und sich ausschließlich auf die auszuführende Anwendungslogik konzentriert. Wird die Anwendungslogik vom Provider zur Verfügung gestellt, handelt es sich um SaaS. Datenbanksysteme können von Endnutzern sowohl auf Cloud-Servern betrieben (IaaS) als auch in Form eines Services (Database as a Service; analog zu PaaS) genutzt werden. Abhängig von dem Ort der Cloud-Installation wird zwischen Public (Anbieter und Nutzer unterschiedlich), Hybrid (Mischform Public/Private) und Private Cloud (Anbieter/Nutzer identisch) unterschieden. [10] Für die vorliegende Ausarbeitung sind insbesondere Public und Hybrid Clouds von Bedeutung, da diese Formen die gewünschte Datensicherheit negativ beeinflussen. 2 Motivation zur Nutzung von Cloud-Diensten DBaaS und individuelle Datenbanksysteme auf Cloud-Servern (IaaS) weisen jeweils unterschiedliche Vorund Nachteile auf. IaaS bietet größere Flexibilität, insbesondere mit Blick auf mögliche Modifikationen des eingesetzten Datenbanksystems. Diese Flexiblität erkauft man sich mit anfallenden Kosten für Administration und Wartung. Ebenfalls mit Blick auf Skalierungsmöglichkeiten und Hochverfügbarkeit ist der Nutzer üblicherweise auf 1 Eigenes Werk. 4

211 3 PROBLEME IM VERGLEICH ZUM KONVENTIONELLEN BETRIEB sich alleine gestellt und muss auf die am Markt verfügbaren Datenbanksysteme und ihre Funktionalitäten zurückgreifen. Sofern die Software jedoch horizontal skaliert, lassen sich mit IaaS die notwendigen Hardwareressourcen schnell erweitern und entsprechend der neuen Anforderungen anpassen. Anbieter von Databases as a Service hingegen weisen nicht denselben Grad von Flexiblität auf, eliminieren jedoch die Nachteile von IaaS-Lösungen. So werden üblicherweise keine Fixkosten für eine Wartung und Administration der Laufzeitumgebungen und der Datenbanksysteme fällig; stattdessen übernimmt dies der Provider. Wie für Clouddienste üblich, werden DBaaS-Lösungen regelmäßig nutzungsabhängig abgerechnet. 2 Abhängig von den Zielen und Anwendungszwecken wird zwischen Providern unterschieden, die ihre eigens entwickelten Datenbanksysteme zur Verfügung stellen und denen, die bekannte und etablierte Datenbanksysteme einsetzen. Gründe für ein eigenes Datenbanksystem können beispielsweise ein besonderer Anwendungszweck sein oder die Verbesserung der horizontalen Skalierung auf der eigenen Cloudplattform. Allen Datenbanksystemen ist gemein, dass diese entweder über eine einfach zu erlernende oder über eine bereits bekannte Schnittstelle (zum Beispiel SQL) angesprochen werden können. Der Nutzer von DBaaS ist regelmäßig nicht mit Fragestellungen rund um Hochverfügbarkeit oder Skalierung konfrontiert; stattdessen ist die Sicherstellung dieser Merkmale Aufgabe des Providers. IaaS- als auch DBaaS-Anbieter weisen in der Regel eine erhöhte Ausfallsicherheit und Schutz gegen Datenverluste auf. Insbesondere durch eine automatische Replikation, regelmäßige automatische Backups und ein automatisiertes Failover der Ressourcen kann so oftmals eine Hochverfügbarkeit der Ressourcen gewährleistet werden. Mögliche Kosteneinsparungen, Flexibilität und Skalierungsmöglichkeiten sowie Hochverfügbarkeit sind nach einer ENISA-Umfrage von Unternehmen die wichtigsten Gründe für eine Nutzung von Clouddiensten. [12] 3 Probleme im Vergleich zum konventionellen Betrieb Einhergehend mit der Nutzung einer Infrastruktur, die von Dritten betrieben wird und wie es bei Cloud- Diensten üblich ist, ergibt sich ein Bedarf an Konzepten, um einen hohen Grad an Datensicherheit und Datenschutz zu gewährleisten. Ein geringerer Datenschutz geht mit dem Überlassen von Daten bei einem Fremdanbieter automatisch einher. Ohne geeignete Schutzmaßnahmen wären Zugriffe auf die beim Anbieter hinterlegten Daten durch Mitarbeiter des Diensteanbieters oder durch andere unberechtige Dritter denkbar. Vertraulichkeit, Datenschutz und Datensicherheit sind zugleich jene Punkte, die Unternehmen im Einsatz von Clouddiensten besonders wichtig erscheinen. [12] Kryptographie ist ein Instrument, um die in der Cloud gespeicherten Daten vor Manipulation und unbefugter Einsicht durch Dritte zu schützen. So weist zum Beispiel Amazon, einer der größten Anbieter von Clouddienstleistungen, in seinen Geschäftsbedingungen darauf hin, Verschlüsselung zum Schutz der eigenen Daten vor unbefugtem Zugriff einzusetzen. [1] Um Bedrohungen, die durch Missbrauch von Zugangsdaten entstehen, zu unterbinden oder auf solche schnell reagieren zu können, lässt sich neben der Kryptographie eine Benutzer-Verhaltensanalyse durchführen. Sie erlaubt es, ungewöhnliche Muster zu erkennen und zu melden. Beide Lösungsansätze werden im Folgenden unter Punkt 4 auf der nächsten Seite bzw. Punkt 5 auf Seite 9 detaillierter vorgestellt. Sowohl für Cloudanbieter als auch -nutzer stehen zudem weitere Sicherheitsmaßnahmen zur Verfügung, die unter Punkt 6 auf Seite 12 übersichtsartig dargestellt werden. 2 Üblich ist beispielsweise eine Abrechnung nach genutzter CPU-Zeit und Speicherplatz. 5

212 4 VERSCHLÜSSELUNG ZUR ERHÖHUNG DES DATENSCHUTZES Teil II Mögliche Lösungsansätze 4 Verschlüsselung zur Erhöhung des Datenschutzes 4.1 Grundlagen Kryptographische Methoden erlauben es, den Datenschutz und die Datensicherheit zu gewährleisten. Einsetzbar ist die Kryptographie sowohl für Databases as a Service als auch für IaaS-Lösungen. Um einen möglichst großen Funktionsumfang der Datenbanksysteme jedoch ausschöpfen zu können, sind sogenannte homomorphe Verschlüsselungssysteme notwendig, wie nachfolgend ausgeführt wird. Kryptosysteme eignen sich je nach ihren Eigenschaften und abhängig von der jeweiligen Situation nur bedingt oder auch gar nicht für die Verschlüsselung von Daten in Cloud-Umgebungen. Grund hierfür ist insbesondere der Verlust vieler Funktionen des Datenbanksystems. So ist es mit Verschlüsselungssystemen unter Umständen nicht möglich, Datenbankanfragen/-berechnungen (zum Beispiel der Form select sum(umsatz) from bestellungen where id >= 150) auf verschlüsselten Daten durchzuführen. Vielmehr wäre es unter Umständen notwendig, den gesamten Datenbestand an den Client zu übertragen und zunächst lokal zu entschlüsseln. Die eigentliche Anfrage müsste anschließend auf den nunmehr im Klartext vorliegenden Daten ausgeführt werden (ineffizient). Um effiziente Datenbankanfragen zu ermöglichen, bedarf es daher Verfahren, die Anfragen und Berechnungen auf verschlüsselten Daten direkt im Datenbanksystem erlauben. Solche Verfahren werden unter dem Begriff der homomorphen Verschlüsselungssysteme subsumiert. Abhängig vom Grad der unterstützten Funktionen seitens des Verschlüsselungsverfahrens, wird zwischen voll-homomorphen und partiell-homomorphen Verschlüsselungssystemen unterschieden (vgl. Abbildung 2). [2, S. 43ff.] Abbildung 2: Homomorphe Verschlüsselungssysteme 3 Partiell-homomorphe Verschlüsselungssysteme unterstützen mathematische Operationen (entweder die Multiplikation oder die Addition) auf Geheimtext in der Art, dass nach Entschlüsselung des Resultats der Klartext dem gewünschten Ergebnis entspricht. RSA ist beispielsweise ein partiell-homomorphes Verschlüsselungssystem bezüglich der Multiplikation. [14] Unterstützt ein Verschlüsselungssystem beide Operationen, wird von 3 Entnommen aus [2, S. 43]. 6

213 4 VERSCHLÜSSELUNG ZUR ERHÖHUNG DES DATENSCHUTZES 4.2 Architekturen einem voll-homomorphen Verschlüsselungssystem gesprochen. Voll-homomorphe Verschlüsselungssysteme sind derzeitig noch Gegenstand intensiver Forschung. Im Jahr 2009 wurde erstmals ein solches System vorgestellt [7], dessen praktischer Einsatz jedoch weiterhin aufgrund seiner Komplexität und des benötigen Speichers unmöglich erscheint. [14] Deterministische Verfahren, zum Beispiel der Advanced Encryption Standard (AES) im ECB 4 -Modus, unterstützen auf effiziente Weise den Gleichheitsoperator. Hierzu werden die Nutzdaten, auf denen ein Vergleich durchgeführt werden soll, in der Clouddatenbank mit AES/ECB verschlüsselt abgelegt. Wird eine Datenbankanfrage ausgeführt, wird der gesuchte Wert zunächst lokal verschlüsselt (mit demselben Verfahren und demselben Schlüssel) und als Vergleichswert in die Anfrage eingefügt. Aufgrund der deterministischen Eigenschaft von AES/ECB führt bei Verwendung des stets identischen Schlüssels ein Klartext stets zum selben Geheimtext. Deterministische Modi wie ECB sind anfällig für Angriffe, da diese verhältnismäßig einfach Datenmuster erkennen lassen. Ordnungserhaltende Verschlüsselungssysteme erlauben es, Anfragen mit Ordnungsrelationen auf verschlüsselten Daten durchzuführen. Eine solche Verschlüsselung ist eine Erweiterung herkömmlicher deterministischer Verfahren. Eine Analyse der Sicherheit ordnungserhaltener Verschlüsselung wurde in [3] vorgenommen mit dem Ergebnis, dass solche Verfahren ebenfalls (wie deterministische Verfahren) Informationen über die zugrundeliegenden Klartextdaten preisgeben könnten. Die vorgestellten Möglichkeiten zur Verschlüsselung von Daten müssen beim jeweiligen Datenbankdesign berücksichtigt werden. Für jedes Feld muss ermittelt werden, welche Operationen auf diesem zukünftig ausgeführt werden sollen. Abhängig hiervon wird man sich entweder für eine nicht-homomorphe (reguläre) Verschlüsselung, eine deterministische Verschlüsselung (zum Beispiel für Vergleiche, wie es für den Primary Key einer Tabelle oft der Fall sein kann), eine ordnungserhaltende Verschlüsselung (für Bereichsanfragen) oder eine partiell-homomorphe Verschlüsselung (für Berechnungen) entscheiden. Mögliche Softwarearchitekturen für die Anwendung einer solchen Verschlüsselung werden im Folgenden vorgestellt. 4.2 Architekturen Die Ausführungen dieses Kapitels basieren, wenn nicht anders angegeben, auf [6] Grundlagen Die eingesetzte Architektur sollte darauf abzielen (neben der sicheren Aufbewahrung der Nutzdaten), die Vorteile von Clouddiensten (insbesondere Verfügbarkeit, Skalierbarkeit und Elastizität) bei gleichzeitig erlaubtem Direktzugriff durch verschiedene Clients, die geographisch verteilt sein dürfen, nicht einzuschränken. Einhergehend mit diesen Anforderungen sollte die Architektur konkurrierende Lese- als auch Schreibzugriffe auf die Daten erlauben. Metadaten und Encryption engine sind zwei essentielle Komponenten einer jeden Architektur, die im Folgenden kurz vorgestellt werden. Um eine Ver- und Entschlüsselung zu ermöglichen, bedarf es sogenannter Metadaten. Diese enthalten insbesondere die zur Ver- und Entschlüsselung notwendigen Schlüssel und sind immer dann notwendig, wenn Anfragen an eine verschlüsselte Datenbank gestellt werden. Es ist daher für die Sicherheit kritisch, dass die Metadaten sicher (zum Beispiel getrennt von der eigentlichen, veschlüsselten Datenbank) aufbewahrt werden, da anderenfalls ein Zugriff auf die Klartextdaten möglich wird. 4 Electronic Code Book 7

214 4.2 Architekturen 4 VERSCHLÜSSELUNG ZUR ERHÖHUNG DES DATENSCHUTZES Zuständig für die Verwaltung der Metadaten und deren korrekter Anwendung ist die Encryption engine. Metadaten und Encryption engine müssen im Herrschaftsbereich des Cloudnutzers liegen; nur so kann gewährleistet werden, dass der Cloudanbieter keinen Zugriff auf die Klartextdaten erhält (s. o.) Einsatz eines Proxys Eine denkbare Architektur wäre der Einsatz eines Proxys (vgl. Abbildung 3). Der Proxy hält die Encryption engine als auch die Metadaten zentral vor. Alle Clients verbinden sich zu diesem Proxy und führen ihre Anfragen wie gewohnt aus; der Proxy übernimmt die Kommunikation mit der Clouddatenbank, sorgt für eine Übersetzung der Anfragen und wendet die Ver-/Entschlüsselung auf die Daten an. Abbildung 3: Proxy-basierte Architektur 5 Diese Architektur führt jedoch mit dem Proxy einen sogenannten Single Point of Failure (SPOF) ein und widerspricht damit den zunächst vorgestellten Zielen, die Vorteile der Cloud vollständig auszunutzen. Einer Skalierung dieser Proxy-Architektur stehen Synchronisationsprobleme (bezüglich sich ändernder Metadaten) entgegen, die es zu lösen gilt. Eine Verlagerung des Proxys in die Cloud scheint zunächst ebenfalls aus oben genannten Gründen (Metadaten müssen ausschließlich durch den Cloudnutzer lesbar sein) nicht möglich. Für eine solche architektonische Trennung von dem eigentlichen Client und den im Proxy enthaltenen Aufgaben spricht hingegen insbesondere, dass sie die Komplexität in den Clients klein hält. Diese können nahezu unverändert ihre regulären Anfragen an die Datenbank stellen und erhalten vom Proxy den Service der transparenten Verschlüsselung Verzicht des Proxys Metadaten im Client Um im Vergleich zur zuvor vorgestellten Architektur die Cloudvorteile gänzlich ausnutzen zu können, bietet es sich an, die Encryption engine und die Metadaten in die Clients zu verschieben. Jeder Client hält damit beide Komponenten vor (besitzt quasi je einen eigenen Proxy) und verbindet sich eigenständig zur Clouddatenbank (vgl. Abbildung 4 auf der nächsten Seite). Diese Architektur leidet jedoch an denselben Skalierungs- und Synchronisationsproblemen wie die Architektur mittels Proxy: Die Metadaten müssen über alle Clients stets konsistent gehalten werden Metadaten im Server Der folgende Architekturvorschlag adressiert das zuletzt verbliebene Problem: Die Synchronisation der Metadaten. Gelöst wird dieses Problem, indem die Metadaten in die Clouddatenbank verschoben werden. 5 Entnommen aus [6, S. 182]. 8

215 5 VERHALTENSANALYSE ZUR BEKÄMPFUNG VON BEDROHUNGEN Um diese weiterhin unter Verschluss zu halten und nur dem Cloudnutzer (bzw. den Clients) zur Verfügung zu stellen und somit die Sicherheit zu bewahren, werden die Metadaten in der Cloud verschlüsselt. Es bleibt dem Cloudnutzer überlassen, wie er die Schlüsseldistribution für den Zugriff auf die Metadaten realisiert (zum Beispiel per Pre-Shared-Key, Schlüsselserver, o. ä.). Diese Architektur ist in Abbildung 5 dargestellt. Ferretti et al. [6, S. 185ff.] haben gezeigt, dass diese Architektur konsistenzerhaltend bezüglich Modifikationen der Nutz- und Metadaten ist. Abbildung 4: Proxy-lose Architektur (Metadaten im Client) 6 Abbildung 5: Proxy-lose Architektur (Metadaten verschlüsselt im DBMS) 7 5 Verhaltensanalyse zur Bekämpfung von Bedrohungen 5.1 Grundlagen Während zwar eine Verschlüsselung die Daten vor einer Einsicht unbefugter Dritter schützt, schützt sie jedoch nicht gegen Bedrohungen, die von autorisierten Benutzern wie (ehemaligen) Mitarbeitern oder Geschäftspartnern ausgehen. Je mehr Kenntnis ein Angreifer über interne Systeme wie das Datenbanksystem hat, desto größer stellt sich das Bedrohungspotential dar. Diesen Aspekt haben Chagarlamudi et al. [4] untersucht und kamen zu dem Schluss, dass Insiderangriffe weitaus bedrohlicher sein können als externe Angriffe. Dieser Bedrohungsvektor ist die Motivation für die folgenden Ausführungen, die eine Verhaltensanalyse für Datenbanksysteme vorschlagen. Die Ausführungen basieren, sofern nicht anders angegeben, auf Moon et al. 6 Entnommen aus [6, S. 183]. 7 Entnommen aus [6, S. 184]. 9

216 5.2 Architekturen 5 VERHALTENSANALYSE ZUR BEKÄMPFUNG VON BEDROHUNGEN [11]. Mittels einer Verhaltensanalyse soll gewöhnliches von ungewöhnlichem Benutzerverhalten abgegrenzt werden und, sofern ein unübliches Verhalten eines Nutzers erkannt wurde, dieses entsprechend an die zuständige Instanz (zum Beispiel ein Sicherheitsteam) berichtet werden. Um die Anwendbarkeit dieser Verhaltensanalyse zu gewährleisten, werden zunächst einige Annahmen getroffen. Zum einen muss das eingesetzte Datenbanksystem Informationen (zum Beispiel die ausgeführten Anfragen aller Benutzer) bereitstellen, um diese einer Analyse unterziehen zu können. Dies schließt regelmäßig Databases as a service-lösungen aus, die eine solche Schnittstelle und Monitoring nicht zur Verfügung stellen. IaaS liefert die gewünschte Flexibilität, um die eingesetzte Datenbank an die benötigten Rahmenbedingungen (Monitoring, Logging) anzupassen. Während das Verhalten eines Datenbankadministrators (DBA) noch überwacht werden kann, gilt dies für Systemadministratoren auf Datenbankebene nicht mehr. Es wird daher die Annahme getroffen, dass den Systemadministratoren vollständig vertraut werden kann. Eine solche Architektur zur Verhaltensanalyse sollte drei Anforderungen erfüllen. Das System sollte sowohl in der Lage sein, (1) große Mengen von Logdaten zu analysieren, (2) entsprechend der Auslastung des Datenbanksystems horizontal nach oben oder nach unten zu skalieren sowie (3) nach Aufforderung unabhängig von der Größe des aktuellen Logging-Datenbestandes eine geeignete Analyse ausgeben zu können. 5.2 Architekturen Einsatz von Deep Packet Inspection Liu and Huang [8] haben einen Ansatz vorgestellt, der explizit auf existierende Datenbankmonitoringtools verzichtet, da diese unter Umständen zu einer Reduzierung der Datenbankperformance führen können (vgl. [9]). Stattdessen nutzen sie eine Technik, die unter dem Begriff Deep Packet Inspection (DPI) bekannt ist. Mit DPI werden ein- und ausgehende Netzwerkpakete außerhalb der Datenbank auf Betriebssystemebene abgefangen und deren Inhalt (zum Beispiel SQL-Anweisungen) untersucht. DPI erfasst dabei jedoch keine lokalen Zugriffe auf die Datenbank (da solche keine Netzwerkpakete verursachen), weshalb sich diese Lösung nur bedingt für das Sammeln von zuverlässigen Loginformationen eignet. Zudem wird keine Lösung vorgestellt, wie eine solche Architektur in einem verteilten Umfeld skalieren und auf verteilte Systeme angewendet werden kann Analyse von Logfiles mithilfe von IaaS Eine zweistufige Architektur, die alle drei aufgestellten Anforderungen erfüllt, ist in Abbildung 6 dargestellt und besteht zum einen aus dem Datenbankserver (DS) und einem Insider Behavior Analysis Server (IBAS), der für die eigentliche Verhaltensanalyse zuständig ist. Auf dem Datenbankserver ist eine Präprozessorkomponente für die Überwachung von Logdateien und Veränderungen der Datenbankdateien platziert, die Veränderungen und Transaktionen an den IBAS übermittelt. Abbildung 6: High-level Übersicht einer zweistufigen Analysearchitektur 8 10

217 5 VERHALTENSANALYSE ZUR BEKÄMPFUNG VON BEDROHUNGEN 5.2 Architekturen Der IBAS selbst nimmt die Loginformationen entgegen, wertet sie für den jeweiligen Akteur (Insider) aus und prüft, ob sich Abweichungen vom bisherigen Verhalten des Akteurs ergeben. Sofern die Anfrage innerhalb einer Toleranzgrenze liegt, wird das Verhaltensmuster des Akteurs entsprechend aktualisiert. Wird ein abweichendes Verhalten festgestellt, wird die zuständige organisatorische Einheit (zum Beispiel ein Sicherheitsteam) über den Vorfall informiert. IBAS besteht aus diversen Komponenten (vgl. Abbildung 7), um sowohl das kurz- als auch langfristige Verhalten eines Akteurs analysieren zu können. Abbildung 7: Blick in den Insider behavior analysis server (IBAS) 9 Um eine kurzfristige und nahezu in Echtzeit ablaufende Analyse zu ermöglichen, setzt diese Architektur auf eine In-Memory-Datenbank (IMDB). Die IMDB hält in jedem IBAS eine Datenbasis, um kurzfristige Attacken zu erkennen. Die Behavior Analysis Component (BAC) analysiert sowohl das kurz- als auch langfristige Verhalten von Akteuren und meldet entsprechende Abweichungen, die vom Sicherheitsteam über die Behavior Analysis Display Application (BADA) eingesehen werden können. Um die Verhaltensanalyse problemlos dem jeweiligen Workload der Datenbanken anpassen zu können und eine Echtzeitanalyse zu erlauben, wird die Architektur in einer Cloud (in der Regel als Infrastructure as a service) stationiert. Die einzelnen IBASs werden untereinander mittels Chord koordiniert und verbunden. Die sich ergebende Struktur wird unter dem Begriff Distributed Insider Behavior Analysis Server (DIBAS) subsumiert und ist in Abbildung 8 skizziert. Abbildung 8: Distributed Insider behavior analysis server (DIBAS) 10 8 Entnommen aus [11, S. 264]. 9 Entnommen aus [11, S. 265]. 10 Entnommen aus [11, S. 267]. 11

218 6 WEITERE ANSÄTZE 6 Weitere Ansätze 6.1 Ansätze für den Cloudbenutzer Transparent Data Encryption (TDE) Transparent Data Encryption (TDE) ist eine Funktion, die insbesondere kommerzielle Anbieter von DBMS implementieren. Es erlaubt die verschlüsselte Sicherung der Datenbank auf einem unsicheren Speicher und verhindert somit, dass das Datenbanksystem als Zugriffsebene umgangen wird. Gegenüber dem DBMS authentifizierte Benutzer können transparent auf die Klartextdaten zugreifen, während Benutzer auf Dateisystemebene nur die verschlüsselten Daten einsehen können. [13, 6] TDE ist regelmäßig nur im IaaS-Szenario anwendbar, da es eine individuelle Konfiguration und ein DBMS mit dieser Funktion benötigt Einsatz eines angepassten DBMS Neben den bereits vorgestellten, nicht-invasiven 11 Möglichkeiten zur Wahrung der Datensicherheit wurden in der Literatur weitere Verfahren vorgestellt, die eine (unter Umständen kostenintensive) Anpassung eines Datenbanksystems notwendig machen und damit nur im IaaS-Fall zur Anwendung kommen können. Damiani et al. [5] schlägt beispielsweise die Erweiterung einer verschlüsselten Datenbank um Indizes vor, um Anfragen auf den verschlüsselten Daten durchführen zu können, und zeigt Verfahren auf, wie diese Indizes effizient und sicher generiert werden können. Fraglich ist, inwieweit die Kosten für eine Modifikation des DBMS in Relation zu den potentiellen Einsparungen durch den Einsatz von Clouddiensten stehen. [6, S. 180] Einsatz von Proxys Eine weitere Möglichkeit, ein Datenbanksystem vor unerwünschten oder bedrohlichen Anfragen zu schützen, ist die Einführung eines Proxys, der jede eingehende Anfrage untersucht und gegebenenfalls an das DBMS lokal weiterreicht. Ein solcher Ansatz wird beispielsweise von Vitess 12 verfolgt. Vitess dient insbesondere der Skalierung einer MySQL-Datenbankinfrastruktur, implementiert jedoch auch Schutzmechanismen zum Schutz der Daten und der Server. Die Architektur ist in Abbildung 9 dargestellt. Der Proxy vttablet nimmt Anfragen entgegen, prüft diese (zum Beispiel auf Anfragen, die zu einer Überlastung des Datenbanksystems führen könnten) und reicht diese nach der Prüfung an das eigentliche Datenbanksystem weiter oder lehnt die entsprechende Anfrage ab. Eine direkte Kommunikation mit dem DBMS unter Umgehung des Proxys ist nicht möglich. Einsetzbar ist diese Form des Schutzes nur bei Infrastructure as a service-lösungen, da nur diese die benötige Flexibilität anbieten. 6.2 Ansätze für den Cloudanbieter Auch Anbieter von Clouddienstleistungen haben die Möglichkeit, über diverse Ansätze die Sicherheit ihrer Cloudumgebungen zu erhöhen. Zwei von den Möglichkeiten werden im Folgenden vorgestellt. 11 Bei allen vorgestellten Methoden war es bislang nicht notwendig, das DBMS anzupassen. 12 Ein Softwarepaket, das Google für YouTube entwickelt hat: (abgerufen am 10. Januar 2015). 12

219 6 WEITERE ANSÄTZE 6.2 Ansätze für den Cloudanbieter Abbildung 9: Vitess-Softwarearchitektur Isolation und Verifikation der Serverumgebung Um die Sicherheit von Cloudumgebungen zu erhöhen, bietet sich sowohl eine physische als auch logische Isolation der zugrundeliegenden Plattform an. Eine physische Isolation kann durch eine geeignete Wahl eines besonders gesicherten Serverstandortes erfolgen. Striktere organisatorische Richtlinien können hier ebenfalls zur Missbrauchspräventation eingesetzt werden (zum Beispiel Vier-Augen-Prinzip bei einer Serveradministration). Eine weitere Isolation kann über den Einsatz virtueller Maschinen erreicht werden. Ein in der Praxis umgesetztes Beispiel einer besonders isolierten Serverumgebung ist der Service GovCloud von Amazon, der speziell an die erhöhten Sicherheitsbedürfnisse der US-Regierung und -Behörden angepasst wurde. 14 Neben der Isolation bietet sich als weitere Möglichkeit zur Erhöhung der Sicherheit die Verifikation der Serverumgebung an. Im Rahmen dessen findet eine Verifikation des Betriebssystemkernels und anderer Systembestandteilen statt. In der Praxis erscheint diese Lösung jedoch aufgrund der großen Komplexität praktisch nicht oder nur mit sehr hohen Kosten realisierbar Einsatz sicherer Hardware Ein weiterer denkbarer Weg die Sicherheit in Cloudumgebungen zu erhöhen, wäre der Einsatz besonders gesicherter Hardware. Sichere Co-/Crypto-Prozessoren oder andere Hardware-Sicherheitsmodule könnten gegebenenfalls Schlüssel oder andere zu schützende Ressourcen verwalten beziehungsweise kryptographische Operationen sicher durchführen. Der Einsatz einer solchen Hardware bleibt jedoch aufgrund der hohen Kosten, Komplexität und limitierten Ressourcen weiterhin Spezialfällen vorbehalten. 13 Entnommen (abgerufen am 11. Januar 2015). 14 Vgl. 13

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem Fachbericht zum Thema: Anforderungen an ein Datenbanksystem von André Franken 1 Inhaltsverzeichnis 1 Inhaltsverzeichnis 1 2 Einführung 2 2.1 Gründe für den Einsatz von DB-Systemen 2 2.2 Definition: Datenbank

Mehr

Autorisierung. Sicherheit und Zugriffskontrolle & Erstellen einer Berechtigungskomponente

Autorisierung. Sicherheit und Zugriffskontrolle & Erstellen einer Berechtigungskomponente Autorisierung Sicherheit und Zugriffskontrolle & Erstellen einer Berechtigungskomponente Dokumentation zum Referat von Matthias Warnicke und Joachim Schröder Modul: Komponenten basierte Softwareentwickelung

Mehr

Primzahlen und RSA-Verschlüsselung

Primzahlen und RSA-Verschlüsselung Primzahlen und RSA-Verschlüsselung Michael Fütterer und Jonathan Zachhuber 1 Einiges zu Primzahlen Ein paar Definitionen: Wir bezeichnen mit Z die Menge der positiven und negativen ganzen Zahlen, also

Mehr

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Dateiname: ecdl5_01_00_documentation_standard.doc Speicherdatum: 14.02.2005 ECDL 2003 Basic Modul 5 Datenbank - Grundlagen

Mehr

geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Gehen wir einmal davon aus, dass die von uns angenommenen

geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Gehen wir einmal davon aus, dass die von uns angenommenen geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Vollständigkeit halber aufgeführt. Gehen wir einmal davon aus, dass die von uns angenommenen 70% im Beispiel exakt berechnet sind. Was würde

Mehr

SANDBOXIE konfigurieren

SANDBOXIE konfigurieren SANDBOXIE konfigurieren für Webbrowser und E-Mail-Programme Dies ist eine kurze Anleitung für die grundlegenden folgender Programme: Webbrowser: Internet Explorer, Mozilla Firefox und Opera E-Mail-Programme:

Mehr

Datensicherung. Beschreibung der Datensicherung

Datensicherung. Beschreibung der Datensicherung Datensicherung Mit dem Datensicherungsprogramm können Sie Ihre persönlichen Daten problemlos Sichern. Es ist möglich eine komplette Datensicherung durchzuführen, aber auch nur die neuen und geänderten

Mehr

Berechtigungen im Kalender Anleitung für die Rechtevergabe im Outlook Kalender 2010. FHNW, Services, ICT

Berechtigungen im Kalender Anleitung für die Rechtevergabe im Outlook Kalender 2010. FHNW, Services, ICT Berechtigungen im Kalender Anleitung für die Rechtevergabe im Outlook Kalender 2010 FHNW, Services, ICT Windisch, März 2013 Berechtigungen im Kalender 1 1 Gruppen 3 1.1 Die Gruppe/der Benutzer Standard

Mehr

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster Es gibt in Excel unter anderem die so genannten Suchfunktionen / Matrixfunktionen Damit können Sie Werte innerhalb eines bestimmten Bereichs suchen. Als Beispiel möchte ich die Funktion Sverweis zeigen.

Mehr

Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers

Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers Ist Excel das richtige Tool für FMEA? Einleitung Wenn in einem Unternehmen FMEA eingeführt wird, fangen die meisten sofort damit an,

Mehr

1 Mathematische Grundlagen

1 Mathematische Grundlagen Mathematische Grundlagen - 1-1 Mathematische Grundlagen Der Begriff der Menge ist einer der grundlegenden Begriffe in der Mathematik. Mengen dienen dazu, Dinge oder Objekte zu einer Einheit zusammenzufassen.

Mehr

Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten

Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten Was sind Berechtigungen? Unter Berechtigungen werden ganz allgemein die Zugriffsrechte auf Dateien und Verzeichnisse (Ordner) verstanden.

Mehr

Kostenstellen verwalten. Tipps & Tricks

Kostenstellen verwalten. Tipps & Tricks Tipps & Tricks INHALT SEITE 1.1 Kostenstellen erstellen 3 13 1.3 Zugriffsberechtigungen überprüfen 30 2 1.1 Kostenstellen erstellen Mein Profil 3 1.1 Kostenstellen erstellen Kostenstelle(n) verwalten 4

Mehr

Cookies. Krishna Tateneni Jost Schenck Übersetzer: Jürgen Nagel

Cookies. Krishna Tateneni Jost Schenck Übersetzer: Jürgen Nagel Krishna Tateneni Jost Schenck Übersetzer: Jürgen Nagel 2 Inhaltsverzeichnis 1 Cookies 4 1.1 Regelungen......................................... 4 1.2 Verwaltung..........................................

Mehr

Kapitel 4 Die Datenbank Kuchenbestellung Seite 1

Kapitel 4 Die Datenbank Kuchenbestellung Seite 1 Kapitel 4 Die Datenbank Kuchenbestellung Seite 1 4 Die Datenbank Kuchenbestellung In diesem Kapitel werde ich die Theorie aus Kapitel 2 Die Datenbank Buchausleihe an Hand einer weiteren Datenbank Kuchenbestellung

Mehr

Professionelle Seminare im Bereich MS-Office

Professionelle Seminare im Bereich MS-Office Der Name BEREICH.VERSCHIEBEN() ist etwas unglücklich gewählt. Man kann mit der Funktion Bereiche zwar verschieben, man kann Bereiche aber auch verkleinern oder vergrößern. Besser wäre es, die Funktion

Mehr

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als

Mehr

Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER

Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER Abamsoft Finos in Verbindung mit der Webshopanbindung wurde speziell auf die Shop-Software shop to date von DATA BECKER abgestimmt. Mit

Mehr

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

Suche schlecht beschriftete Bilder mit Eigenen Abfragen Suche schlecht beschriftete Bilder mit Eigenen Abfragen Ist die Bilderdatenbank über einen längeren Zeitraum in Benutzung, so steigt die Wahrscheinlichkeit für schlecht beschriftete Bilder 1. Insbesondere

Mehr

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank In den ersten beiden Abschnitten (rbanken1.pdf und rbanken2.pdf) haben wir uns mit am Ende mysql beschäftigt und kennengelernt, wie man

Mehr

S TAND N OVEMBE R 2012 HANDBUCH DUDLE.ELK-WUE.DE T E R M I N A B S P R A C H E N I N D E R L A N D E S K I R C H E

S TAND N OVEMBE R 2012 HANDBUCH DUDLE.ELK-WUE.DE T E R M I N A B S P R A C H E N I N D E R L A N D E S K I R C H E S TAND N OVEMBE R 2012 HANDBUCH T E R M I N A B S P R A C H E N I N D E R L A N D E S K I R C H E Herausgeber Referat Informationstechnologie in der Landeskirche und im Oberkirchenrat Evangelischer Oberkirchenrat

Mehr

Einfache und effiziente Zusammenarbeit in der Cloud. EASY-PM Office Add-Ins Handbuch

Einfache und effiziente Zusammenarbeit in der Cloud. EASY-PM Office Add-Ins Handbuch Einfache und effiziente Zusammenarbeit in der Cloud EASY-PM Office Add-Ins Handbuch Inhaltsverzeichnis 1. Einführung... 3 2. Ribbonmenü... 4 3. Dokument... 5 3.1 Öffnen... 5 3.2 Speichern... 6 3.3 Speichern

Mehr

Kommunikations-Management

Kommunikations-Management Tutorial: Wie kann ich E-Mails schreiben? Im vorliegenden Tutorial lernen Sie, wie Sie in myfactory E-Mails schreiben können. In myfactory können Sie jederzeit schnell und einfach E-Mails verfassen egal

Mehr

Zeichen bei Zahlen entschlüsseln

Zeichen bei Zahlen entschlüsseln Zeichen bei Zahlen entschlüsseln In diesem Kapitel... Verwendung des Zahlenstrahls Absolut richtige Bestimmung von absoluten Werten Operationen bei Zahlen mit Vorzeichen: Addieren, Subtrahieren, Multiplizieren

Mehr

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Zählen und Zahlbereiche Übungsblatt 1 1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Für alle m, n N gilt m + n = n + m. in den Satz umschreiben:

Mehr

KURZANLEITUNG CLOUD OBJECT STORAGE

KURZANLEITUNG CLOUD OBJECT STORAGE KURZANLEITUNG CLOUD OBJECT STORAGE Version 1.12 01.07.2014 SEITE _ 2 INHALTSVERZEICHNIS 1. Einleitung... Seite 03 2. Anmelden am Cloud&Heat Dashboard... Seite 04 3. Anlegen eines Containers... Seite 05

Mehr

EasyWk DAS Schwimmwettkampfprogramm

EasyWk DAS Schwimmwettkampfprogramm EasyWk DAS Schwimmwettkampfprogramm Arbeiten mit OMEGA ARES 21 EasyWk - DAS Schwimmwettkampfprogramm 1 Einleitung Diese Präsentation dient zur Darstellung der Zusammenarbeit zwischen EasyWk und der Zeitmessanlage

Mehr

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom 21.10.2013b

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom 21.10.2013b AGROPLUS Buchhaltung Daten-Server und Sicherheitskopie Version vom 21.10.2013b 3a) Der Daten-Server Modus und der Tresor Der Daten-Server ist eine Betriebsart welche dem Nutzer eine grosse Flexibilität

Mehr

ENTDECKEN SIE DIE VORTEILE VON SUBSCRIPTION SUBSCRIPTION-VERTRÄGE VERWALTEN

ENTDECKEN SIE DIE VORTEILE VON SUBSCRIPTION SUBSCRIPTION-VERTRÄGE VERWALTEN ENTDECKEN SIE DIE VORTEILE VON SUBSCRIPTION SUBSCRIPTION-VERTRÄGE VERWALTEN Autodesk Subscription bietet Ihnen eine breite Palette an Leistungen, mit denen Sie das Optimum aus Ihrer Autodesk-Software herausholen.

Mehr

Benutzerverwaltung Business- & Company-Paket

Benutzerverwaltung Business- & Company-Paket Benutzerverwaltung Business- & Company-Paket Gemeinsames Arbeiten mit der easyfeedback Umfragesoftware. Inhaltsübersicht Freischaltung des Business- oder Company-Paketes... 3 Benutzerverwaltung Business-Paket...

Mehr

Grundfunktionen und Bedienung

Grundfunktionen und Bedienung Kapitel 13 Mit der App Health ist eine neue Anwendung in ios 8 enthalten, die von vorangegangenen Betriebssystemen bislang nicht geboten wurde. Health fungiert dabei als Aggregator für die Daten von Fitness-

Mehr

Das große ElterngeldPlus 1x1. Alles über das ElterngeldPlus. Wer kann ElterngeldPlus beantragen? ElterngeldPlus verstehen ein paar einleitende Fakten

Das große ElterngeldPlus 1x1. Alles über das ElterngeldPlus. Wer kann ElterngeldPlus beantragen? ElterngeldPlus verstehen ein paar einleitende Fakten Das große x -4 Alles über das Wer kann beantragen? Generell kann jeder beantragen! Eltern (Mütter UND Väter), die schon während ihrer Elternzeit wieder in Teilzeit arbeiten möchten. Eltern, die während

Mehr

.htaccess HOWTO. zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage

.htaccess HOWTO. zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage .htaccess HOWTO zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage Stand: 21.06.2015 Inhaltsverzeichnis 1. Vorwort...3 2. Verwendung...4 2.1 Allgemeines...4 2.1 Das Aussehen der.htaccess

Mehr

Bedienungsanleitung. Matthias Haasler. Version 0.4. für die Arbeit mit der Gemeinde-Homepage der Paulus-Kirchengemeinde Tempelhof

Bedienungsanleitung. Matthias Haasler. Version 0.4. für die Arbeit mit der Gemeinde-Homepage der Paulus-Kirchengemeinde Tempelhof Bedienungsanleitung für die Arbeit mit der Gemeinde-Homepage der Paulus-Kirchengemeinde Tempelhof Matthias Haasler Version 0.4 Webadministrator, email: webadmin@rundkirche.de Inhaltsverzeichnis 1 Einführung

Mehr

OP-LOG www.op-log.de

OP-LOG www.op-log.de Verwendung von Microsoft SQL Server, Seite 1/18 OP-LOG www.op-log.de Anleitung: Verwendung von Microsoft SQL Server 2005 Stand Mai 2010 1 Ich-lese-keine-Anleitungen 'Verwendung von Microsoft SQL Server

Mehr

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER Inhalt 1 Einleitung... 1 2 Einrichtung der Aufgabe für die automatische Sicherung... 2 2.1 Die Aufgabenplanung... 2 2.2 Der erste Testlauf... 9 3 Problembehebung...

Mehr

Seite 1 von 14. Cookie-Einstellungen verschiedener Browser

Seite 1 von 14. Cookie-Einstellungen verschiedener Browser Seite 1 von 14 Cookie-Einstellungen verschiedener Browser Cookie-Einstellungen verschiedener Browser, 7. Dezember 2015 Inhaltsverzeichnis 1.Aktivierung von Cookies... 3 2.Cookies... 3 2.1.Wofu r braucht

Mehr

Erweiterung AE WWS Lite Win: AES Security Verschlüsselung

Erweiterung AE WWS Lite Win: AES Security Verschlüsselung Erweiterung AE WWS Lite Win: AES Security Verschlüsselung Handbuch und Dokumentation Beschreibung ab Vers. 1.13.5 Am Güterbahnhof 15 D-31303 Burgdorf Tel: +49 5136 802421 Fax: +49 5136 9776368 Seite 1

Mehr

Installationsanleitung CLX.PayMaker Home

Installationsanleitung CLX.PayMaker Home Installationsanleitung CLX.PayMaker Home Inhaltsverzeichnis 1. Installation und Datenübernahme... 2 2. Erste Schritte Verbindung zur Bank einrichten und Kontoinformationen beziehen... 4 3. Einrichtung

Mehr

icloud nicht neu, aber doch irgendwie anders

icloud nicht neu, aber doch irgendwie anders Kapitel 6 In diesem Kapitel zeigen wir Ihnen, welche Dienste die icloud beim Abgleich von Dateien und Informationen anbietet. Sie lernen icloud Drive kennen, den Fotostream, den icloud-schlüsselbund und

Mehr

etutor Benutzerhandbuch XQuery Benutzerhandbuch Georg Nitsche

etutor Benutzerhandbuch XQuery Benutzerhandbuch Georg Nitsche etutor Benutzerhandbuch Benutzerhandbuch XQuery Georg Nitsche Version 1.0 Stand März 2006 Versionsverlauf: Version Autor Datum Änderungen 1.0 gn 06.03.2006 Fertigstellung der ersten Version Inhaltsverzeichnis:

Mehr

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt Inhaltsverzeichnis Aufgabe... 1 Allgemein... 1 Active Directory... 1 Konfiguration... 2 Benutzer erstellen... 3 Eigenes Verzeichnis erstellen... 3 Benutzerkonto erstellen... 3 Profil einrichten... 5 Berechtigungen

Mehr

Die neue Datenraum-Center-Administration in. Brainloop Secure Dataroom Service Version 8.30

Die neue Datenraum-Center-Administration in. Brainloop Secure Dataroom Service Version 8.30 Die neue Datenraum-Center-Administration in Brainloop Secure Dataroom Service Version 8.30 Leitfaden für Datenraum-Center-Manager Copyright Brainloop AG, 2004-2014. Alle Rechte vorbehalten. Dokumentversion:

Mehr

Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer

Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer Klassendiagramme Ein Klassendiagramm dient in der objektorientierten Softwareentwicklung zur Darstellung von Klassen und den Beziehungen,

Mehr

Task: Nmap Skripte ausführen

Task: Nmap Skripte ausführen Task: Nmap Skripte ausführen Inhalt Einfache Netzwerkscans mit NSE Ausführen des Scans Anpassung der Parameter Einleitung Copyright 2009-2015 Greenbone Networks GmbH Herkunft und aktuellste Version dieses

Mehr

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang sysplus.ch outlook - mail-grundlagen Seite 1/8 Outlook Mail-Grundlagen Posteingang Es gibt verschiedene Möglichkeiten, um zum Posteingang zu gelangen. Man kann links im Outlook-Fenster auf die Schaltfläche

Mehr

Inkrementelles Backup

Inkrementelles Backup Inkrementelles Backup Im Gegensatz zu einer kompletten Sicherung aller Daten werden bei einer inkrementellen Sicherung immer nur die Dateien gesichert, die seit der letzten inkrementellen Sicherung neu

Mehr

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes.

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes. Binäre Bäume Definition: Ein binärer Baum T besteht aus einer Menge von Knoten, die durch eine Vater-Kind-Beziehung wie folgt strukturiert ist: 1. Es gibt genau einen hervorgehobenen Knoten r T, die Wurzel

Mehr

Anmeldeverfahren. Inhalt. 1. Einleitung und Hinweise

Anmeldeverfahren. Inhalt. 1. Einleitung und Hinweise Anmeldeverfahren Inhalt In dieser Anleitung finden Sie eine detaillierte Beschreibung der verschiedenen Anmeldeverfahren bzw. Zugangsberechtigungen anhand der verschiedenen Szenarien, die für Sie in der

Mehr

Installationsanleitung CLX.PayMaker Office

Installationsanleitung CLX.PayMaker Office Installationsanleitung CLX.PayMaker Office Inhaltsverzeichnis 1. Installation und Datenübernahme... 2 2. Erste Schritte Verbindung zur Bank einrichten und Kontoinformationen beziehen... 4 3. Einrichtung

Mehr

Archiv - Berechtigungen

Archiv - Berechtigungen Archiv - Berechtigungen - 1 Inhaltsverzeichnis 1. Grunddefinitionen...3 1.1. Mögliche Definitionen...3 1.1.1. Programme...3 1.1.2. Prinzipale...3 1.1.3 Archivzugriff...3 1.2. Leserichtung...3 1.2.1. Ordnerbezogen...3

Mehr

Agentur für Werbung & Internet. Schritt für Schritt: Newsletter mit WebEdition versenden

Agentur für Werbung & Internet. Schritt für Schritt: Newsletter mit WebEdition versenden Agentur für Werbung & Internet Schritt für Schritt: Newsletter mit WebEdition versenden E-Mail-Adresse im Control Panel einrichten Inhalt Vorwort 3 Einstellungen im Reiter «Eigenschaften» 4 Einstellungen

Mehr

How to do? Projekte - Zeiterfassung

How to do? Projekte - Zeiterfassung How to do? Projekte - Zeiterfassung Stand: Version 4.0.1, 18.03.2009 1. EINLEITUNG...3 2. PROJEKTE UND STAMMDATEN...4 2.1 Projekte... 4 2.2 Projektmitarbeiter... 5 2.3 Tätigkeiten... 6 2.4 Unterprojekte...

Mehr

pro4controlling - Whitepaper [DEU] Whitepaper zur CfMD-Lösung pro4controlling Seite 1 von 9

pro4controlling - Whitepaper [DEU] Whitepaper zur CfMD-Lösung pro4controlling Seite 1 von 9 Whitepaper zur CfMD-Lösung pro4controlling Seite 1 von 9 1 Allgemeine Beschreibung "Was war geplant, wo stehen Sie jetzt und wie könnte es noch werden?" Das sind die typischen Fragen, mit denen viele Unternehmer

Mehr

Novell Client. Anleitung. zur Verfügung gestellt durch: ZID Dezentrale Systeme. Februar 2015. ZID Dezentrale Systeme

Novell Client. Anleitung. zur Verfügung gestellt durch: ZID Dezentrale Systeme. Februar 2015. ZID Dezentrale Systeme Novell Client Anleitung zur Verfügung gestellt durch: ZID Dezentrale Systeme Februar 2015 Seite 2 von 8 Mit der Einführung von Windows 7 hat sich die Novell-Anmeldung sehr stark verändert. Der Novell Client

Mehr

TECHNISCHE INFORMATION LESSOR LOHN/GEHALT BEITRAGSNACHWEIS-AUSGLEICH BUCH.-BLATT MICROSOFT DYNAMICS NAV

TECHNISCHE INFORMATION LESSOR LOHN/GEHALT BEITRAGSNACHWEIS-AUSGLEICH BUCH.-BLATT MICROSOFT DYNAMICS NAV MICROSOFT DYNAMICS NAV Inhaltsverzeichnis TECHNISCHE INFORMATION: Einleitung... 3 LESSOR LOHN/GEHALT Beschreibung... 3 Prüfung der Ausgleichszeilen... 9 Zurücksetzen der Ausgleichsroutine... 12 Vorgehensweise

Mehr

Benutzeranleitung Superadmin Tool

Benutzeranleitung Superadmin Tool Benutzeranleitung Inhalt 1 Einleitung & Voraussetzungen... 2 2 Aufruf des... 3 3 Konto für neuen Benutzer erstellen... 3 4 Services einem Konto hinzufügen... 5 5 Benutzer über neues Konto informieren...

Mehr

Monitoring-Service Anleitung

Monitoring-Service Anleitung Anleitung 1. Monitoring in CrefoDirect Wie kann Monitoring über CrefoDirect bestellt werden? Bestellung von Monitoring beim Auskunftsabruf Beim Auskunftsabruf kann das Monitoring direkt mitbestellt werden.

Mehr

4. BEZIEHUNGEN ZWISCHEN TABELLEN

4. BEZIEHUNGEN ZWISCHEN TABELLEN 4. BEZIEHUNGEN ZWISCHEN TABELLEN Zwischen Tabellen können in MS Access Beziehungen bestehen. Durch das Verwenden von Tabellen, die zueinander in Beziehung stehen, können Sie Folgendes erreichen: Die Größe

Mehr

White Paper. Konfiguration und Verwendung des Auditlogs. 2012 Winter Release

White Paper. Konfiguration und Verwendung des Auditlogs. 2012 Winter Release White Paper Konfiguration und Verwendung des Auditlogs 2012 Winter Release Copyright Fabasoft R&D GmbH, A-4020 Linz, 2011. Alle Rechte vorbehalten. Alle verwendeten Hard- und Softwarenamen sind Handelsnamen

Mehr

Ishikawa-Diagramm. 1 Fallbeispiel 2. 2 Was ist ein Ishikawa-Diagramm 2. 3 Vorgehen bei der Erstellung eines Ishikawa-Diagramms 2.

Ishikawa-Diagramm. 1 Fallbeispiel 2. 2 Was ist ein Ishikawa-Diagramm 2. 3 Vorgehen bei der Erstellung eines Ishikawa-Diagramms 2. Ishikawa-Diagramm 1 Fallbeispiel 2 2 Was ist ein Ishikawa-Diagramm 2 3 Vorgehen bei der Erstellung eines Ishikawa-Diagramms 2 4 Vorteile 5 5 Nachteile 5 6 Fazit 5 7 Literaturverzeichnis 6 1 Fallbeispiel

Mehr

Der vorliegende Konverter unterstützt Sie bei der Konvertierung der Datensätze zu IBAN und BIC.

Der vorliegende Konverter unterstützt Sie bei der Konvertierung der Datensätze zu IBAN und BIC. Anleitung Konverter Letzte Aktualisierung dieses Dokumentes: 14.11.2013 Der vorliegende Konverter unterstützt Sie bei der Konvertierung der Datensätze zu IBAN und BIC. Wichtiger Hinweis: Der Konverter

Mehr

40-Tage-Wunder- Kurs. Umarme, was Du nicht ändern kannst.

40-Tage-Wunder- Kurs. Umarme, was Du nicht ändern kannst. 40-Tage-Wunder- Kurs Umarme, was Du nicht ändern kannst. Das sagt Wikipedia: Als Wunder (griechisch thauma) gilt umgangssprachlich ein Ereignis, dessen Zustandekommen man sich nicht erklären kann, so dass

Mehr

PTV VISWALK TIPPS UND TRICKS PTV VISWALK TIPPS UND TRICKS: VERWENDUNG DICHTEBASIERTER TEILROUTEN

PTV VISWALK TIPPS UND TRICKS PTV VISWALK TIPPS UND TRICKS: VERWENDUNG DICHTEBASIERTER TEILROUTEN PTV VISWALK TIPPS UND TRICKS PTV VISWALK TIPPS UND TRICKS: VERWENDUNG DICHTEBASIERTER TEILROUTEN Karlsruhe, April 2015 Verwendung dichte-basierter Teilrouten Stellen Sie sich vor, in einem belebten Gebäude,

Mehr

Das RSA-Verschlüsselungsverfahren 1 Christian Vollmer

Das RSA-Verschlüsselungsverfahren 1 Christian Vollmer Das RSA-Verschlüsselungsverfahren 1 Christian Vollmer Allgemein: Das RSA-Verschlüsselungsverfahren ist ein häufig benutztes Verschlüsselungsverfahren, weil es sehr sicher ist. Es gehört zu der Klasse der

Mehr

Robot Karol für Delphi

Robot Karol für Delphi Robot Karol für Delphi Reinhard Nitzsche, OSZ Handel I Version 0.1 vom 24. Januar 2003 Zusammenfassung Nach der Einführung in die (variablenfreie) Programmierung mit Robot Karol von Freiberger und Krško

Mehr

Guide DynDNS und Portforwarding

Guide DynDNS und Portforwarding Guide DynDNS und Portforwarding Allgemein Um Geräte im lokalen Netzwerk von überall aus über das Internet erreichen zu können, kommt man um die Themen Dynamik DNS (kurz DynDNS) und Portweiterleitung(auch

Mehr

Erstellen einer E-Mail in OWA (Outlook Web App)

Erstellen einer E-Mail in OWA (Outlook Web App) Erstellen einer E-Mail in OWA (Outlook Web App) Partner: 2/12 Versionshistorie: Datum Version Name Status 13.09.2011 1.1 J. Bodeit Punkte 7 hinzugefügt, alle Mailempfänger unkenntlich gemacht 09.09.2011

Mehr

Urlaubsregel in David

Urlaubsregel in David Urlaubsregel in David Inhaltsverzeichnis KlickDown Beitrag von Tobit...3 Präambel...3 Benachrichtigung externer Absender...3 Erstellen oder Anpassen des Anworttextes...3 Erstellen oder Anpassen der Auto-Reply-Regel...5

Mehr

Anwendungshinweise zur Anwendung der Soziometrie

Anwendungshinweise zur Anwendung der Soziometrie Anwendungshinweise zur Anwendung der Soziometrie Einführung Die Soziometrie ist ein Verfahren, welches sich besonders gut dafür eignet, Beziehungen zwischen Mitgliedern einer Gruppe darzustellen. Das Verfahren

Mehr

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten In dem Virtuellen Seminarordner werden für die Teilnehmerinnen und Teilnehmer des Seminars alle für das Seminar wichtigen Informationen,

Mehr

1. Weniger Steuern zahlen

1. Weniger Steuern zahlen 1. Weniger Steuern zahlen Wenn man arbeitet, zahlt man Geld an den Staat. Dieses Geld heißt Steuern. Viele Menschen zahlen zu viel Steuern. Sie haben daher wenig Geld für Wohnung, Gewand oder Essen. Wenn

Mehr

Anleitung RÄUME BUCHEN MIT OUTLOOK FÜR VERWALTUNGSANGESTELLTE

Anleitung RÄUME BUCHEN MIT OUTLOOK FÜR VERWALTUNGSANGESTELLTE Anleitung RÄUME BUCHEN MIT OUTLOOK FÜR VERWALTUNGSANGESTELLTE Dezernat 6 Abteilung 4 Stand: 14.Oktober 2014 Inhalt 1. Einleitung 3 2. Räume & gemeinsame Termine finden 3 3. Rüstzeit 8 4. FAQ: Oft gestellte

Mehr

IAWWeb PDFManager. - Kurzanleitung -

IAWWeb PDFManager. - Kurzanleitung - IAWWeb PDFManager - Kurzanleitung - 1. Einleitung Dieses Dokument beschreibt kurz die grundlegenden Funktionen des PDFManager. Der PDF Manager dient zur Pflege des Dokumentenbestandes. Er kann über die

Mehr

Kurzanleitung GigaMove

Kurzanleitung GigaMove Kurzanleitung GigaMove Dezember 2014 Inhalt Kurzerklärung... 1 Erstellen eines neuen Benutzerkontos... 2 Login... 5 Datei bereitstellen... 6 Bereitgestellte Datei herunterladen... 6 Datei anfordern...

Mehr

Lieber SPAMRobin -Kunde!

Lieber SPAMRobin -Kunde! Lieber SPAMRobin -Kunde! Wir freuen uns, dass Sie sich für SPAMRobin entschieden haben. Mit diesem Leitfaden möchten wir Ihnen die Kontoeinrichtung erleichtern und die Funktionen näher bringen. Bitte führen

Mehr

Speicher in der Cloud

Speicher in der Cloud Speicher in der Cloud Kostenbremse, Sicherheitsrisiko oder Basis für die unternehmensweite Kollaboration? von Cornelius Höchel-Winter 2013 ComConsult Research GmbH, Aachen 3 SYNCHRONISATION TEUFELSZEUG

Mehr

Tipps und Tricks zu Netop Vision und Vision Pro

Tipps und Tricks zu Netop Vision und Vision Pro Tipps und Tricks zu Netop Vision und Vision Pro Zulassen, filtern, sperren: Das Internet im Unterricht gezielt einsetzen Das Internet ist ein dynamisches Gebilde, das viel Potenzial für den Unterricht

Mehr

Dieser Ablauf soll eine Hilfe für die tägliche Arbeit mit der SMS Bestätigung im Millennium darstellen.

Dieser Ablauf soll eine Hilfe für die tägliche Arbeit mit der SMS Bestätigung im Millennium darstellen. Millennium SMS Service Schnellübersicht Seite 1 von 6 1. Tägliche Arbeiten mit der SMS Bestätigung Dieser Ablauf soll eine Hilfe für die tägliche Arbeit mit der SMS Bestätigung im Millennium darstellen.

Mehr

Netzwerkeinstellungen unter Mac OS X

Netzwerkeinstellungen unter Mac OS X Netzwerkeinstellungen unter Mac OS X Dieses Dokument bezieht sich auf das D-Link Dokument Apple Kompatibilität und Problemlösungen und erklärt, wie Sie schnell und einfach ein Netzwerkprofil unter Mac

Mehr

In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken.

In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken. In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access Die Grundlagen der Datenbanken kurspc15 Inhaltsverzeichnis Access... Fehler! Textmarke nicht

Mehr

Im Folgenden wird Ihnen an einem Beispiel erklärt, wie Sie Excel-Anlagen und Excel-Vorlagen erstellen können.

Im Folgenden wird Ihnen an einem Beispiel erklärt, wie Sie Excel-Anlagen und Excel-Vorlagen erstellen können. Excel-Schnittstelle Im Folgenden wird Ihnen an einem Beispiel erklärt, wie Sie Excel-Anlagen und Excel-Vorlagen erstellen können. Voraussetzung: Microsoft Office Excel ab Version 2000 Zum verwendeten Beispiel:

Mehr

Enigmail Konfiguration

Enigmail Konfiguration Enigmail Konfiguration 11.06.2006 Steffen.Teubner@Arcor.de Enigmail ist in der Grundkonfiguration so eingestellt, dass alles funktioniert ohne weitere Einstellungen vornehmen zu müssen. Für alle, die es

Mehr

Lizenzierung von System Center 2012

Lizenzierung von System Center 2012 Lizenzierung von System Center 2012 Mit den Microsoft System Center-Produkten lassen sich Endgeräte wie Server, Clients und mobile Geräte mit unterschiedlichen Betriebssystemen verwalten. Verwalten im

Mehr

Um dies zu tun, öffnen Sie in den Systemeinstellungen das Kontrollfeld "Sharing". Auf dem Bildschirm sollte folgendes Fenster erscheinen:

Um dies zu tun, öffnen Sie in den Systemeinstellungen das Kontrollfeld Sharing. Auf dem Bildschirm sollte folgendes Fenster erscheinen: Einleitung Unter MacOS X hat Apple die Freigabe standardmäßig auf den "Public" Ordner eines Benutzers beschränkt. Mit SharePoints wird diese Beschränkung beseitigt. SharePoints erlaubt auch die Kontrolle

Mehr

Verschlüsseln Sie Ihre Dateien lückenlos Verwenden Sie TrueCrypt, um Ihre Daten zu schützen.

Verschlüsseln Sie Ihre Dateien lückenlos Verwenden Sie TrueCrypt, um Ihre Daten zu schützen. HACK #39 Hack Verschlüsseln Sie Ihre Dateien lückenlos Verwenden Sie TrueCrypt, um Ihre Daten zu schützen.»verschlüsseln Sie Ihren Temp-Ordner«[Hack #33] hat Ihnen gezeigt, wie Sie Ihre Dateien mithilfe

Mehr

Microsoft Access 2013 Navigationsformular (Musterlösung)

Microsoft Access 2013 Navigationsformular (Musterlösung) Hochschulrechenzentrum Justus-Liebig-Universität Gießen Microsoft Access 2013 Navigationsformular (Musterlösung) Musterlösung zum Navigationsformular (Access 2013) Seite 1 von 5 Inhaltsverzeichnis Vorbemerkung...

Mehr

Alle alltäglichen Aufgaben können auch über das Frontend durchgeführt werden, das in den anderen Anleitungen erläutert wird.

Alle alltäglichen Aufgaben können auch über das Frontend durchgeführt werden, das in den anderen Anleitungen erläutert wird. Der Admin-Bereich im Backend Achtung: Diese Anleitung gibt nur einen groben Überblick über die häufigsten Aufgaben im Backend-Bereich. Sollten Sie sich nicht sicher sein, was genau Sie gerade tun, dann

Mehr

XAMPP-Systeme. Teil 3: My SQL. PGP II/05 MySQL

XAMPP-Systeme. Teil 3: My SQL. PGP II/05 MySQL XAMPP-Systeme Teil 3: My SQL Daten Eine Wesenseigenschaft von Menschen ist es, Informationen, in welcher Form sie auch immer auftreten, zu ordnen, zu klassifizieren und in strukturierter Form abzulegen.

Mehr

Software Engineering Klassendiagramme Assoziationen

Software Engineering Klassendiagramme Assoziationen Software Engineering Klassendiagramme Assoziationen Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Lesen von Multiplizitäten (1) Multiplizitäten werden folgendermaßen

Mehr

Herstellen von Symbolen mit Corel Draw ab Version 9

Herstellen von Symbolen mit Corel Draw ab Version 9 Herstellen von Symbolen mit Corel Draw ab Version 9 Einleitung : Icon Design-Überblick: 1) Gestalten in Corel Draw 10.0 3) Vorlage für Photopaint für Import von Corel 4) Einfügen in die PSD-Datei und Bearbeiten

Mehr

Spam filtern mit dem Webmail-Interface

Spam filtern mit dem Webmail-Interface Zentrum für Bildungsinformatik Muesmattstrasse 29 CH-3012 Bern T +41 31 309 22 61 F +41 31 309 22 99 bildungsinformatik@phbern.ch bildungsinformatik.phbern.ch Spam filtern mit dem Webmail-Interface Inhalt

Mehr

Einleitung: Frontend Backend

Einleitung: Frontend Backend Die Internetseite des LSW Deutschland e.v. hat ein neues Gesicht bekommen. Ab dem 01.01.2012 ist sie in Form eines Content Management Systems (CMS) im Netz. Einleitung: Die Grundlage für die Neuprogrammierung

Mehr

Anleitung für Berichte in Word Press, auf der neuen Homepage des DAV Koblenz

Anleitung für Berichte in Word Press, auf der neuen Homepage des DAV Koblenz Anleitung für Berichte in Word Press, auf der neuen Homepage des DAV Koblenz Diese Anleitung soll als Kurzreferenz und Schnellanleitung dienen um einfach und schnell Berichte auf der Homepage www.dav-koblenz.de

Mehr

Die Dateiablage Der Weg zur Dateiablage

Die Dateiablage Der Weg zur Dateiablage Die Dateiablage In Ihrem Privatbereich haben Sie die Möglichkeit, Dateien verschiedener Formate abzulegen, zu sortieren, zu archivieren und in andere Dateiablagen der Plattform zu kopieren. In den Gruppen

Mehr

SharePoint Demonstration

SharePoint Demonstration SharePoint Demonstration Was zeigt die Demonstration? Diese Demonstration soll den modernen Zugriff auf Daten und Informationen veranschaulichen und zeigen welche Vorteile sich dadurch in der Zusammenarbeit

Mehr

EinfÅhrung in die objektorientiere Programmierung (OOP) unter Delphi 6.0. EDV Kurs 13/2

EinfÅhrung in die objektorientiere Programmierung (OOP) unter Delphi 6.0. EDV Kurs 13/2 EinfÅhrung in die objektorientiere Programmierung (OOP) unter Delphi 6.0 EDV Kurs 13/2 Inhaltsverzeichnis 1 Objekte... 1 2 Klassen... 3 2.1 Beziehungen zwischen Klassen... 4 2.1.1 Vererbung... 4 2.1.2

Mehr

Anleitung zum erfassen von Last Minute Angeboten und Stellenangebote

Anleitung zum erfassen von Last Minute Angeboten und Stellenangebote Anleitung zum erfassen von Last Minute Angeboten und Stellenangebote Zweck dieser Anleitung ist es einen kleinen Überblick über die Funktion Last Minute auf Swisshotelportal zu erhalten. Für das erstellen

Mehr