sql >> Database >  >> RDS >> Database

Statische en dynamische gegevensmaskering in FieldShield

Meestal wordt statische gegevensmaskering uitgevoerd op productiegegevens in rust, zodat deze veilig worden opgeslagen, of wanneer ze worden gerepliceerd naar niet-productieomgevingen voor test- of ontwikkelingsdoeleinden. Dynamische gegevensmaskering (DDM) wordt uitgevoerd op gegevens in productietabellen tijdens zoekopdrachten, zodat degenen die niet geautoriseerd zijn om originele kolomwaarden te zien, in plaats daarvan geredigeerde weergaven van de waarden in hun app te zien krijgen.

Het is bekend dat IRI FieldShield een product voor statische gegevensmaskering is. Maar het kan ook worden gebruikt om gegevens in databases en platte bestanden op een meer dynamische manier te maskeren en te ontmaskeren. We hebben gevallen gezien waarin een van beide, of beide, vereist is wanneer de gegevens die risico lopen in rust (statisch) of in beweging (dynamisch) zijn en moeten worden beschermd.

DDM via 'redaction in flight' is beschikbaar bij IRI via:API-aanroepbare maskeerbibliotheken die u op geauthenticeerde, aangepaste basis kunt maken vanuit C-, C++-, Java- of .NET-applicaties (zie SDK hier); SQL (procedure)-aanroepen; en binnenkort een speciaal JDBC-stuurprogramma dat wordt beheerd via een proxyserver. Dit artikel behandelt de eerste methode voor dynamische un maskeren in combinatie met statische gegevensmaskering.

Om zowel statische als dynamische gegevensmaskering te demonstreren, hebben we IRI Workbench gebruikt, de gratis grafische front-end voor FieldShield en andere IRI-software, gebouwd op Eclipse™. In scenario's voor gegevensbeveiliging, naleving en testgegevens maken Workbench-gebruikers verbinding met hun bronnen, voeren ze detectie en classificatie uit en bouwen en voeren ze statische gegevensmaskeringsfuncties uit.

Meer specifiek definiëren ze hun dataklassen en zoekcriteria en passen ze vervolgens consistente maskeringsregels toe om deze te beschermen. Dit helpt hen om hun gegevens beter te beheren en de referentiële integriteit van hun bronnen te behouden. En het helpt hen te voldoen aan de wetgeving inzake gegevensprivacy en zakelijke behoeften.

Workbench ondersteunt ook her-ID-risicoscores, subsets van databases, het genereren en vullen van testgegevens en vele andere gegevensbeheermogelijkheden die zijn ingeschakeld in het IRI Voracity-platform, waaronder FieldShield.

In Eclipse zijn betekent ook dat Workbench de ontwikkeling van Java-applicaties ondersteunt, en dus uw programma's die dynamisch gegevens kunnen maskeren of ontmaskeren met behulp van bibliotheekfuncties die compatibel zijn met de statische functies. Nogmaals, de API is gedocumenteerd in de FieldShield SDK.

Dit artikel geeft een snel voorbeeld van het gebruik van FieldShield in Workbench voor het maskeren van statische gegevens van een databasetabel en het vervolgens dynamisch ontmaskeren van die gegevens in een Java-programma. Alles is geconfigureerd in IRI Workbench.

Instellen

Eerst hebben we een voorbeeldtabel gemaakt en ingevuld in MySQL met behulp van het SQL-plakboek van de Data Tools Platform-invoegtoepassing (DTP). We hebben kolommen gedefinieerd voor:gebruikersnaam, e-mail, tijd en opmerkingen:

Statische gegevensmaskering

We gebruikten de wizard 'Nieuwe gegevensmaskeringstaak ...' uit het bovenste werkbalkmenu in Workbench om die tabel en de metagegevens ervan snel te verkrijgen en een taak te bouwen om de e-mailkolom statisch te maskeren met behulp van een van de AES 256-coderingsfuncties in FieldShield, enc_aes256. In het FieldShield-script dat de wizard heeft gemaakt, kunnen we de functie zien die eenmaal op de kolom moet worden toegepast en vervolgens op nieuwe rijen in de tabel wanneer dezelfde taak wordt geactiveerd of gepland om opnieuw te worden uitgevoerd.

Eenmaal uitgevoerd, zal de tabel in de MySQL-database de e-mailkolom versleuteld hebben.

Dynamische gegevens (on)maskering

Om dynamische ontmaskering van gegevens, of decodering in dit geval, te demonstreren, hebben we de bijbehorende decoderingsfunctie, dec_aes256, in de FieldShield API-bibliotheek voor Java aangeroepen:

Soortgelijke oproepen zijn mogelijk vanuit .NET-talen. Deze basis-app laat zien hoe u verbinding maakt met de MySQL-tabel, de gebruiker valideert en zowel de statisch gecodeerde cijfertekstwaarde uit de tabel als de dynamisch gedecodeerde originele e-mailwaarde in platte tekst in de console weergeeft:

Natuurlijk had je de decodering ook in Workbench op statische wijze kunnen uitvoeren met een vergelijkbare, zelfstandige FieldShield-taak als deze:

Het bovenstaande script decodeert de versleutelde e-mailwaarden terug naar hun oorspronkelijke leesbare tekst in elke rij van de database. De uitvoer kan de brontabel zelf zijn (om deze te herstellen), andere doelen (bijvoorbeeld om te testen) of beide. Scripts voor meerdere taken die het maskeren of ontmaskeren van meerdere tabellen aanpakken, kunnen automatisch worden gemaakt via FieldShield-wizards in Workbench (en behouden de referentiële integriteit) met of zonder gedefinieerde gegevensklassen.

In dit geval kunt u controleren of de waarden zijn gedecodeerd naar hun oorspronkelijke vorm door verbinding te maken met uw MySQL-database en de velden te selecteren die u wilt zien, of door simpelweg de tabel in Workbench weer te geven. De gedecodeerde weergave is de originele tabel:

Het komt erop neer dat u gegevens statisch of dynamisch kunt maskeren en ontmaskeren met IRI FieldShield. Gebruik de zelfstandige modus voor statische bewerkingen en de API-modus voor dynamische. De maskeerfuncties zijn compatibel en elke oplossing is ingeschakeld in dezelfde ruit.

  1. Meer ont-/maskeringsfuncties, plus vele andere transformatie- en herformatteringsfuncties (via een IRI CoSort- of Voracity-licentie), kunnen tegen die gegevens worden uitgevoerd in hetzelfde taakscript en I/O-pas .

  1. UML-notatie

  2. Hoe maak je een echte één-op-één relatie in SQL Server

  3. Hoe gebruik je COUNT in SQL?

  4. Hoe kan ik PostgreSQL upgraden van versie 9.6 naar versie 10.1 zonder gegevens te verliezen?