Das Ziel der Datenmaskierung besteht darin, die Merkmale zu löschen, die es ermöglichen, sensible Daten zu identifizieren, machen sie anonym, aber immer noch verwendbar. Daher, das Risiko des Diebstahls sensibler Informationen für die Organisation wird eliminiert.
Die Idee ist, dass mit dem Datenmaskierung Wir geben Entwicklern Zugang zu Qualitätsdaten. Sie werden in Produktionsprozessen zu Testzwecken benötigt, aber wie wir in anderen Beiträgen gesehen haben, wir können dort nicht mit den tatsächlichen Daten arbeiten. Auf diese Weise stellen wir sicher, dass unsere sensiblen Daten sicher sind.
Auch wenn das einfach erscheint, wir könnten auf einige Probleme stoßen. Schauen wir uns ein einfaches Thema und vier Probleme an, die wir finden können, wenn wir Techniken der Datenmaskierung.
Ein einfaches Thema: Datenverschleierung
Entwickler arbeiten gerne mit Produktionsdaten. Aber heute, wegen Datenschutzproblemen, Unternehmen sind nicht sehr daran interessiert, Entwicklern vollen Zugriff auf ihre Daten zu gewähren. Auch für diejenigen, die aus einem Produktions-Backup stammen. Sie sind sehr besorgt darüber, dass Entwickler mit Kundenlisten arbeiten, Kreditkartennummern, Geburtstagsdaten, Adressen, Namen, etc. und dass sie diese Daten anschließend an die Konkurrenz vermarkten können.
Unternehmen möchten Datenmaskierungstechniken verwenden, um alle Produktionsdaten schnell zu verschleiern. Sie möchten die Produktionsdatenbanken in der Entwicklung wiederherstellen, Führen Sie ein Verfahren aus und lassen Sie Entwickler ihre Anwendungen testen, ohne tatsächliche Produktionsdaten zu sehen.
Sie wollen nicht alle Felder verschleiern. Als Beispiel, Finanztransaktionen sollten monetäre Daten ähnlich den tatsächlichen speichern, um die Überprüfung der Berichte zu erleichtern. Wir können keine zufälligen Steuersätze wie die Mehrwertsteuer haben, als Beispiel, weil wir brauchen, dass sie sich beim Betrachten einer Rechnung vorhersehbar verhalten.
Aber wie gesagt, Dies ist der einfache Teil der Datenmaskierung. Das Verschleiern von Daten ist etwas, das mit Leichtigkeit durchgeführt werden kann. Aber es hat kompliziertere Auswirkungen. Lass sie uns sehen.
Ärger 1: Speicherprofilpflege mit verschlüsselten Daten
Der einfachste Weg, Ihre Daten zu verbergen, besteht darin, sie zu verschlüsseln. Trotz dieses, Datenverschlüsselung führt tendenziell zu einer völlig anderen Datengröße. Wenn Sie ein Beispiel in Aktion sehen möchten, du kannst besuchen diese Seite Verschlüsselungsdemo. Klicken Sie zufällig, um einen Schlüssel zu generieren, Geben Sie Klartext ein und klicken Sie auf Verschlüsseln.
Wie du siehst, die Daten sind plötzlich viel größer. Dies kann für einige Arten von Daten kein Hindernis sein, aber es ist ein großes Problem für Felder mit ganzen Zahlen, Termine und Kreditkarten, als Beispiel. Die Verschlüsselung von Kundennamen macht jeden Datensatz plötzlich viel größer und ändert die Art und Weise, wie Abfragen durchgeführt werden. Im Idealfall, verschleierte Daten müssen dieselbe Größe wie die Originaldaten haben.
Ärger 2: Statistiken sicher verteilen
In einem typischen Telefonbuch gibt es viele Personen mit dem Nachnamen Garcia. Wenn Sie sich ein typisches Histogramm von Nachnamensdaten ansehen, einige Nachnamen werden viele Aufzeichnungen haben und andere nicht viele.
Ein Datenbankverwaltungssystem wie SQL Server generiert Statistiken mit Histogrammen, die die Verteilung der Daten in jeder Spalte anzeigen, und verwendet diese Statistiken dann zum Erstellen von Ausführungsplänen.. Wenn wir SQL-Abfragen in der Entwicklung testen, wir wollen ähnliche Variationen.
Es ist einfach, Daten durch Datenmaskierung zu verschleiern, mache es einfach zufällig. Wenn wir ein Datumsfeld haben, Wir verwenden nur einen Zufallszahlengenerator, aber es wird nicht die gleiche Verteilung wie unsere Originaldaten haben.
Im Idealfall, die verschleierten Daten sollten eine ähnliche Verteilung wie die Originaldaten haben. Wenn wir Leute an einem Tisch haben 1000 Aufzeichnungen, alle, die den Nachnamen García haben, müssen auf die gleiche Weise verschleiert werden, damit sie den gleichen Nachnamen haben. Wenn meine Leutetabelle hat 500 Personen mit dem Namen Garcia und andere 500 Menschen mit eindeutigen Nachnamen, meine verschleierten Daten müssen auch haben 501 einzigartige verschiedene Nachnamen, einer davon wird haben 500 Datensätze in Tabelle.
Ärger 3: Aufrechterhaltung der referenziellen Integrität während der Datenmaskierung
Manchmal, private Daten sind Teil des Primärschlüssels der Tabelle. Datenbank-Design-Ideen beiseite, die Realität ist, dass manche Leute Dinge wie ihre Sozialversicherungsnummer als Teil eines Primärschlüssels haben. Oder noch schlimmer, manche Leute legen keine Fremdschlüsselbeziehungen in Datenbanken ab, Am Ende haben sie also zwei Felder für die Sozialversicherungsnummer in zwei verschiedenen Tabellen, die zusammengeführt werden müssen.
Wir können Fremdschlüsseln nicht vertrauen, weil viele Leute die referenzielle Integrität in Datenbanken nicht verwenden.
Außerdem können mehrere Datenbanken beteiligt sein. Manchmal, Kunden haben Kundendaten in einer Datenbank, Verkaufsinformationen in einem anderen und Konfigurationsdaten in einem anderen, und sie müssen alle verknüpft sein.
Im Idealfall, die Antwort wäre, Joins zu bestimmen, bei denen Sie die gleichen Daten in beiden Tabellen speichern können, während es Benutzern ermöglicht wird, Felder anzugeben, die binden, auch wenn die Fremdschlüssel nicht in der Datenbank angegeben sind. Diese Konfiguration muss einmalig erstellt und gespeichert werden, damit Benutzer es nicht jedes Mal wiederholen müssen, wenn sie die Produktion aktualisieren.
Ärger 4: Geschwindigkeit der Datenmaskierungstools
Diese Situationen beinhalten oft große Datenmengen und die Leute möchten die Entwicklung über Nacht mit einer verschleierten Produktionskopie aktualisieren.. Dies bedeutet, dass, wie gewöhnlich, Es ist nicht praktikabel, alle Ihre Daten auf einen Anwendungsserver zu exportieren und es dann erneut zu versuchen. Es ist auch nicht praktikabel, dieselbe Tabelle wiederholt zu aktualisieren, einmal für jede zu verschleiernde Spalte.
Benutzer möchten, dass Statusaktualisierungen ungefähr wissen, wie viel von der Datenbank verschleiert wurde, wie viel noch zu tun ist und wenn es nicht gelingt, die Dinge auf halbem Weg zu reparieren und von der Stelle zurückzukommen, wo das Scan-Tool aufgehört hat. Datenmaskierung.



