Database
 sql >> Datenbank >  >> RDS >> Database

Statische und dynamische Datenmaskierung in FieldShield

Normalerweise wird die statische Datenmaskierung für ruhende Produktionsdaten durchgeführt, damit sie sicher gespeichert werden, oder wenn sie zu Test- oder Entwicklungszwecken in Nicht-Produktionsumgebungen repliziert werden. Dynamische Datenmaskierung (DDM) wird bei Daten in Produktionstabellen während Abfragen durchgeführt, sodass diejenigen, die nicht zum Anzeigen der ursprünglichen Spaltenwerte berechtigt sind, stattdessen geschwärzte Ansichten der Werte in ihrer Anwendung sehen.

Es ist allgemein bekannt, dass IRI FieldShield ein statisches Datenmaskierungsprodukt ist. Es kann aber auch verwendet werden, um Daten in Datenbanken und Flatfiles auf dynamischere Weise zu maskieren und zu demaskieren. Wir haben Anwendungsfälle gesehen, die eines oder beides erfordern, wenn die gefährdeten Daten ruhen (statisch) oder in Bewegung (dynamisch) sind und geschützt werden müssen.

DDM über „Redaction in Flight“ ist von IRI verfügbar über:API-aufrufbare Maskierungsbibliotheken, die Sie auf authentifizierter, benutzerdefinierter Basis aus C-, C++-, Java- oder .NET-Anwendungen erstellen können (siehe SDK hier); SQL-(Prozedur-)Aufrufe; und bald ein spezieller JDBC-Treiber, der über einen Proxy-Server verwaltet wird. Dieser Artikel befasst sich mit der ersten Methode für dynamisches un Maskierung in Verbindung mit statischer Datenmaskierung.

Um sowohl die statische als auch die dynamische Datenmaskierung zu demonstrieren, haben wir IRI Workbench verwendet, das kostenlose grafische Front-End für FieldShield und andere IRI-Software, die auf Eclipse™ basiert. In Datensicherheits-, Compliance- und Testdatenszenarien verbinden sich Workbench-Benutzer mit ihren Quellen, führen Erkennung und Klassifizierung durch und erstellen und führen dann statische Datenmaskierungsfunktionen aus.

Genauer gesagt definieren sie ihre Datenklassen und Suchkriterien und wenden dann konsistente Maskierungsregeln an, um sie zu schützen. Dies hilft ihnen, ihre Daten besser zu verwalten und die referenzielle Integrität ihrer Quellen zu bewahren. Und es hilft ihnen, Datenschutzgesetze und Geschäftsanforderungen einzuhalten.

Workbench unterstützt auch Re-ID-Risikobewertung, Datenbank-Subsetting, Generierung und Auffüllung von Testdaten und viele andere Datenverwaltungsfunktionen, die in der IRI Voracity-Plattform aktiviert sind, zu der FieldShield gehört.

In Eclipse zu sein bedeutet auch, dass Workbench die Entwicklung von Java-Anwendungen und damit Ihre Programme unterstützt, die Daten mithilfe von Bibliotheksfunktionen, die mit den statischen Funktionen kompatibel sind, dynamisch maskieren oder demaskieren können. Auch hier ist die API im FieldShield SDK dokumentiert.

Dieser Artikel enthält ein kurzes Beispiel für die Verwendung von FieldShield in Workbench für die statische Datenmaskierung einer Datenbanktabelle und die anschließende dynamische Demaskierung dieser Daten in einem Java-Programm. Alles wird in IRI Workbench konfiguriert.

Einrichten

Zuerst haben wir mithilfe des SQL-Sammelalbums des Data Tools Platform (DTP)-Plug-ins eine Beispieltabelle in MySQL erstellt und gefüllt. Wir haben Spalten definiert für:Benutzername, E-Mail, Uhrzeit und Kommentare:

Statische Datenmaskierung

Wir haben den Assistenten „Neuer Datenmaskierungsjob …“ aus dem oberen Symbolleistenmenü in Workbench verwendet, um diese Tabelle und ihre Metadaten schnell zu erfassen und einen Job zu erstellen, um die E-Mail-Spalte mit einer der AES 256-Verschlüsselungsfunktionen in FieldShield, enc_aes256, statisch zu maskieren. In dem vom Assistenten erstellten FieldShield-Skript können wir sehen, dass die Funktion einmal auf die Spalte angewendet wird und dann auf neue Zeilen in der Tabelle, wenn derselbe Job ausgelöst oder für eine erneute Ausführung geplant wird.

Nach der Ausführung wird die E-Mail-Spalte der Tabelle in der MySQL-Datenbank verschlüsselt.

Dynamische Datenmaskierung

Um die dynamische Datendemaskierung oder in diesem Fall die Entschlüsselung zu demonstrieren, haben wir die entsprechende Entschlüsselungsfunktion dec_aes256 in der FieldShield-API-Bibliothek für Java aufgerufen:

Ähnliche Aufrufe sind aus .NET-Sprachen möglich. Diese grundlegende App zeigt, wie Sie eine Verbindung zur MySQL-Tabelle herstellen, den Benutzer validieren und sowohl den statisch verschlüsselten Chiffretextwert aus der Tabelle als auch den dynamisch entschlüsselten ursprünglichen Klartext-E-Mail-Wert in der Konsole anzeigen:

Natürlich hätten Sie die Entschlüsselung auch statisch in Workbench mit einer ähnlichen, eigenständigen FieldShield-Aufgabe wie dieser durchführen können:

Das obige Skript entschlüsselt die Ciphertext-E-Mail-Werte zurück in ihren ursprünglichen Klartext in jeder Zeile der Datenbank. Die Ausgabe kann die Quelltabelle selbst (um sie wiederherzustellen), andere Ziele (z. B. zum Testen) oder beides sein. Mehrere Aufgabenskripte, die das Maskieren oder Demaskieren mehrerer Tabellen ansprechen, können automatisch über FieldShield-Assistenten in Workbench erstellt werden (und die referenzielle Integrität bewahren) mit oder ohne definierte Datenklassen.

In diesem Fall können Sie überprüfen, ob die Werte in ihre ursprüngliche Form entschlüsselt wurden, indem Sie eine Verbindung zu Ihrer MySQL-Datenbank herstellen und die Felder auswählen, die Sie sehen möchten, oder indem Sie einfach die Tabelle in Workbench anzeigen. Die entschlüsselte Ansicht ist die Originaltabelle:

Unter dem Strich können Sie Daten mit IRI FieldShield statisch oder dynamisch maskieren und demaskieren. Verwenden Sie den Standalone-Modus für statische Operationen und den API-Modus für dynamische. Die Maskierungsfunktionen sind kompatibel und jede Lösung wird in derselben Konsole aktiviert.

  1. Weitere Un-/Maskierungsfunktionen sowie viele andere Transformations- und Neuformatierungsfunktionen (über eine IRI CoSort- oder Voracity-Lizenz) können für diese Daten im selben Jobskript und E/A-Pass ausgeführt werden .