data anonimiseren
Bescherm privacy gevoelige data in niet-productie databases, voldoe aan wet en regelgeving en voorkom datalekken in QA omgevingen
Software is erg belangrijk in de ondersteuning van bedrijfsprocessen. De meeste van deze software en applicaties bevatten vaker en meer privacygevoelige persoonsgegevens of kritische bedrijfsinformatie. Toch worden de databases achter deze applicaties veel gebruikt voor andere doeleinden dan het primaire proces. Databases worden gekopieerd voor ontwikkeling, testen, acceptatie, training, etc. met alle risico’s van dien. Deze data mag daarom alleen worden gebruikt als het geanonimiseerd is.
Bij het anonimiseren van test data gaat het erom dat je de data aanpast op zo’n manier dat het bruikbaar blijft voor testwerkzaamheden, maar dat het onmogelijk wordt om personen te identificeren. In dit artikel bespreken we de basics van data-anonimisering en wat je kunt doen om vandaag al je niet-productie omgevingen te maskeren.
Definitie van data anonimisering / maskering
“Het maskeren van gegevens is het proces waarbij originele privacygevoelige gegevens (personally identifiable information of sensitive data) worden getransformeerd met behulp van maskeringstechnieken om te voldoen aan databeveiliging en privacyregels.”
Deze definitie is vergelijkbaar met die op wikipedia, al denken wij dat dit proces vaak (of juist) zal worden uitgevoerd om aan beleid te voldoen. Dat is de reden waarom we de naleving van wet- en regelgeving (zoals Algemene verordening gegevensbescherming (AVG/GDPR), PCI en HIPAA) hebben toegevoegd.
Data anonimiseren versus pseudonimiseren
Er zijn verschillende termen die worden gebruikt voor de definitie van maskering van gegevens, zoals data anonimiseren of data pseudonimiseren. De termen data maskeren (Engels: data masking) en data anonimiseren zijn in onze optiek uitwisselbaar en worden beide in dit artikel gebruikt. Pseudonimiseren richt zich op het versleutelen van data en valt onder informatiebeveiliging. Gepseudonimiseerde data heeft nog de mogelijkheid om persoonsgegevens terug te halen. Anonimiseren van persoonsgegevens gaat een stap verder en zorgt er op een veilige manier voor dat een individu niet meer geïdentificeerd kan worden.
Maskeren van data – of het anonimiseren van persoonsgegevens – is het anoniem maken van persoonlijke of privacygevoelige gegevens. De belangrijkste reden is om ervoor te zorgen dat de gegevens niet naar een bepaalde persoon kunnen verwijzen, ter bescherming van een individu. Er zijn verschillende methodes om gegevens te anonimiseren. De te kiezen methode is afhankelijk van het type gegevens dat je wilt anonimiseren.
Waarom data anonimiseren?
Organisaties gebruiken geanonimiseerde data vanwege wet- en regelgeving of om data te beveiligen. Het maskeren van gegevens wordt meestal gedaan voor niet-productie doeleinden zoals softwareontwikkeling, testwerkzaamheden of trainingsdoeleinden. Het proces is niet slechts datavelden blanco maken; het omvat een transformatie van persoonlijke data naar karakteristiek onherleidbare gegevens.
Anonieme data voor testdoeleinden
Anonimiseren of maskeren van productiedata wordt in niet-productieomgevingen steeds vaker toegepast want men mag geen persoonsgegevens gebruiken voor andere doeleinden, zoals het testen van software. Door het anonimiseren van data worden persoonsgegevens van klanten steeds beschermd en mag het gebruikt worden voor het ontwikkelen en verbeteren van applicaties.
De voordelen
Data anonimiseren biedt verschillende voordelen, met als belangrijkste reden voor organisaties om te starten is om de kwetsbaarheid van gegevensbeveiliging te verminderen. De bescherming van klanten/burgers wordt steeds meer gereguleerd, nieuwe dataregels worden opgesteld of bijgewerkt. Maskering van persoonlijke informatie zorgt er echter voor dat softwareontwikkelings- en testteams toegang hebben tot data met een sterk verminderd risico.
De uitdagingen
Het anonimiseren van data is een project op zich en heeft wat aandacht nodig. De eerste uitdaging is het onherleidbaar maken van gevoelige gegevens, terwijl deze als kenmerkend voor de productie (kwaliteit) houden blijft. Dus onherleidbaar maken en tegelijkertijd bruikbaar houden voor testen. De tweede uitdaging is het creëren van gemaskeerde gegevens, consistent over meerdere systemen en databases. De derde is het omgaan met de triggers, beperkingen, bedrijfsregels en indexen tijdens het uitvoeren van de transformaties.
de AVG of GDPR
Productie databases worden minimaal één keer gekopieerd. In veel gevallen worden er zelfs wel 4 tot 10 kopieën gemaakt voor één database in productie. Een database kopiëren betekent dat je nu niet één maar bijvoorbeeld tien databases moet beveiligen. Daarom hebben de meeste regeringen gegevensprivacywetten uitgevaardigd om de klanten, burgers, tegen wangedrag te beschermen. Met geen bescherming bieden, riskeer je het volgende:
- Niet voldoen aan data-privacy wetgeving van de Europese Unie (AVG, internationaal GDPR)
- Verlies van privacy gevoelige informatie aan ongeautoriseerde gebruikers (ex-medewerkers, externen)
- Datalek veroorzaakt imagoschade door slechte publiciteit
- Klanten beëindigen de relatie: verlies in vertrouwen in je organisatie
Privacygevoelige data
Wanneer zijn gegevens persoonlijk of privacygevoelig? Een naam is bijvoorbeeld persoonlijk, maar niet per definitie privacygevoelig. De stad waarin je woont en andere adresgegevens zijn ook niet privacygevoelig. Het is openbare informatie. Het feit dat je een enorme schuld of een ziekte hebt, maakt je gegevens privacy gevoelig. Echter, als je deze gegevens (naam, woonplaats, schuld, ziekte) of herleidbare termen lostrekt van elkaar, kan niet meer terugverwezen worden naar een bepaalde persoon. Op die manier heb je geen privacygevoelige data meer.
Data maskeer methodes
Als je hebt bepaald welke data gemaskeerd of geanonimiseerd dient te worden, kun je kiezen welke techniek of methode je daarvoor gaat gebruiken. Een veelgebruikte methode is om gegevens zoals voornaam en achternaam in willekeurige volgorde te ‘shufflen’, zodat je nieuwe voornaam/achternaam combinaties krijgt. Een andere methode om data te maskeren is om een kolom, die je niet nodig hebt voor je test, leeg te maken (blank). Op deze manier worden privacygevoelige gegevens en alles risico’s ervan letterlijk uit het veld geruimd. Het ‘scramblen’ van data is een derde methode om data onherkenbaar te maken: het vervangt tekens door x en cijfers door 1.
Synthetische data generatie
Een alternatief voor een maskeermethode is het genereren van synthetische data. Deze methode vervangt privacygevoelige informatie door synthetisch gegenereerde gegevens. Het grote voordeel van deze aanpak is dat schema’s en structuren van je oorspronkelijke data behouden blijven. Deterministic Masking vervangt alle data consistent door dezelfde gegenereerde data, ongeacht in welke applicatie, platform of systeem de data zich bevindt.
Hoe anonimiseer je test data?
Het eerste wat je zou moeten doen is vaststellen of je database überhaupt persoonlijke gegevens bevat of niet. Daarvoor heb je inzicht in je data nodig. Als blijkt dat je database privacy gevoelige informatie bevat, hoe gevoelig is deze data? De gevoeligheid en de bijbehorende restricties verschillen van land tot land. Een naam is bijvoorbeeld niet zo gevoelig als iemands adres. De data op zichzelf is niet per se privacygevoelig, het is de zogenaamde characteristic of descriptive data die het gevoelig maakt. Bijvoorbeeld: of iemand een ziekte heeft, of een schuld van €500.000 heeft maakt de data waardevol en dus privacygevoelig. Wetende dat iemand Jan de Boer heet en in een bepaald dorp woont, is (meestal) openbare informatie. Een simpele zoekactie op Google onthult deze informatie. Wat je dus met je database wilt doen is de descriptive data behouden en de link met de betreffende persoon verbreken. Dit kunnen we doen door de identifying data te veranderen. Hoe doen we dat?
We starten met het identificeren van de systemen met persoonlijke gegevens. Zodra je weet welke systemen persoonlijke gegevens bevatten, kun je meer in detail treden. Welke gegevens bevat dit specifieke systeem en wat willen we ermee doen? Welke actie moet worden ondernomen, hangt van een aantal dingen af. Ten eerste is er de informatie privacy policy. De meeste organisaties hebben zo’n beleid. Sommige beleidsregels beschrijven welke gegevens geanonimiseerd moeten worden.
Data maskeer technieken
Zodra er is vastgesteld welke gegevens moeten worden geanonimiseerd, kun je antwoord geven op de vragen: “Hoe ga ik de betreffende data anonimiseren?” “Welke technieken ga ik gebruiken?” DATPROF Privacy kent een aantal ingebouwde scrambling functies waarmee je kunt beginnen:
Shuffle
De meest gebruikte ingebouwde functie is de shuffle. De shuffle neemt de afzonderlijke waarden uit een of meer kolommen en herschikt deze willekeurig. Door bijvoorbeeld voor- en achternamen afzonderlijk te wisselen, krijg je nieuwe voornaam/achternaam combinaties.
Blank
De blank functie spreekt voor zich. Hij verwijdert (leegt) een kolom. Er blijven geen gegevens achter, dus dit is alleen bruikbaar bij kolommen die niet worden gebruikt bij het testen.
Scramble
De scramble functie vervangt karakters door x’jes en cijfers door 1’tjes. Deze functie laat geen herkenbare data achter waardoor het ook niet meer gebruikt kan worden bij het testen.
Value lookup
Bij de value lookup wordt een referentietabel gebruikt als invoer voor het anonimiseren van waarden in een tabel. Deze functie heeft een referentiesleutel nodig, d.w.z. een klant-ID, om de juiste data te vinden. De value lookup wordt vaak gebruikt als onderdeel van een set-up die gegevens consistent houdt. Meestal maakt deze setup ook gebruikt van een translation table (vertaaltabel). Daarover verderop meer.
Random lookup
Bij een random lookup wordt ook een referentietabel gebruikt, op een alternatieve manier. Een random lookup vervangt waarden door random data van een andere tabel te selecteren. Dit kan handig zijn als je testcases wilt toevoegen aan bestaande gegevens. Jouw gegevens hebben bijvoorbeeld geen diakritische tekens en je wilt deze toevoegen aan de gegevens van de voornaam. Vervolgens kun je een referentietabel gebruiken, bestaande uit alle verschillende namen, inclusief namen met diakritische tekens, en deze gebruiken als lookup.
First day in month / in year
De meeste mensen realiseren zich niet dat een geboortedatum in combinatie met een postcode erg herkenbaar kan zijn. De functie first day in month / in year maakt het mogelijk om de geboortedatum te wijzigen in de eerste van de maand of van het jaar. Door dit te doen, is er minder variatie zodat het moeilijker worden om een specifieke persoon te vinden.
Custom expression
Bovengenoemde functies zullen niet in alle situaties werken. Om extra flexibiliteit toe te voegen, kun je de custom expression gebruiken. Dit geeft je de mogelijkheid om een eigen functie te maken. Of dit nu de samenstelling van een e-mailadres is of iets geavanceerder dan dat, met de custom expression kun je alles doen wat mogelijk is in de SELECT van een SQL Statement.
Anonimiseren voorbeeld
Wanneer je begint met implementeren van data maskeer regels, krijg je uiteindelijk representatieve doch onherkenbare testdata. Er zijn veel technieken welke kunnen worden gebruikt, zoals hierboven getoond. Bekijk de video om te zien hoe dat er in de praktijk uitziet.
Best practices
Er zijn verschillende praktische tips voor het maskeren van data.
Allereerst: welke data maskeer je? Wanneer anonimiseer je voldoende data om aan de regels te voldoen, maar om de testdata zo representatief mogelijk te houden zodat de testdata nog steeds bruikbaar is voor de testorganisatie?
Wat belangrijk is, is dat je moet weten waar de data is opgeslagen. Als je weet waar en hoe data is opgeslagen, kun je regels voor datamaskering toepassen. Een belangrijke best practice op dataniveau is: iets doen met geboortedata en postcodes. Uit onderzoek blijk dat als je deze gegevens ongemaskeerd laat, je behoorlijk herkenbaar bent als persoon.
Op organisatieniveau kun je bespreken waar datamaskering wordt uitgevoerd. Het is belangrijk dat dit zo veilig mogelijk is. Het is dus een goede gewoonte om dit in een staging omgeving te zien gebeuren.
Tips
We kunnen verschillende tips geven, maar de belangrijkste is: probeer eenvoudig te beginnen. We zien dat veel organisaties een data-maskeerproject opblazen. Wij raden aan om op een eenvoudige manier te beginnen en de regels voor het maskeren van data beetje bij beetje te verbeteren. Uiteindelijk kan het omgezet worden naar een groot project, wat waarschijnlijk ook zal gebeuren. Aan de andere kant; niets doen is nog erger. Dus ook al is je eerste maskeringsrun verre van perfect – het is beter dan niets!
Nog een paar tips: begin met analyseren waar de data is opgeslagen. Bespreek de maskeerregels met je CISO (Chief Information Security Officer) of DPO (Data Protection Officer). Vertel hem of haar dat het simpelweg vervangen van gegevens met ‘xxxxxxxx’ jullie organisatie niet zal helpen. Ontdek waar gemeenschappelijke gronden te vinden zijn. Mocht je externe hulp kunnen gebruiken neem dan gerust contact met ons op.
Hoe Data anonimiseren in databases
DATPROF is van toepassing op de softwarelevenscyclus van de databaseleveranciers. We willen ervoor zorgen dat je data kunt anonimiseren in de applicatie van jouw keuze. Daarom ondersteunen we alle belangrijke relationele DB’s, zoals weergegeven in de onderstaande tabel. Als jouw platform niet in de lijst staat, betekent dit niet dat we deze niet ondersteunen – in de meeste gevallen vinden we een manier om het te laten werken (of we ontwikkelen aanvullende ondersteuning).
Oracle | 11.2 and above |
---|---|
Microsoft SQL Server | 2008 2012 2014 2016* 2017* 2019* |
DB2 LUW | 10.5 and above |
DB2 for i | 7.2 | 7.3 |
PostgreSQL | 9.5 and above |
MySQL | 8.0 |
MariaDB | 10.4 |
* Check the Powershell module remarks
Software om te anonimiseren
De meeste organisaties en bedrijven hebben minimaal één of meer omgevingen met privacygevoelige data die ze willen (of moeten) maskeren en beschermen: in de cloud zijn, on premise of in een flat file bijvoorbeeld. Om deze data te transformeren op een consistente manier, kunnen specifieke data maskeer tools gebruikt worden.
Er is veel software voor het anonimiseren van data. Waar wij ons in onderscheiden is gebruiksgemak en maatwerkoplossingen. Elke klant en elk maskeerproject is anders. Daarom heeft iedere organisatie een custom made template nodig, waar wij bij ondersteunen tijdens de initiele PoC fase. Het gebruiksgemak van DATPROF Privacy stelt de gebruiker in staat om eenvoudig aanpassingen te maken of een eigen template te ontwikkelen.
Probeer het 14 dagen gratis

Maskeer privacygevoelige data en genereer synthetische test data met DATPROF Privacy. Probeer 14 dagen gratis. Geen creditcard nodig.
FAQ
Wat is data anonimisatie?
Het anonimiseren van data is het proces van het verbergen van persoonlijke en gevoelige informatie. De belangrijkste reden is ervoor te zorgen dat data niet kan terugverwijzen naar een natuurlijke persoon.
Waarom data anonimiseren?
Om persoonlijk identificeerbare informatie te beschermen moet data worden geanonimiseerd voordat je het kunt gebruiken voor doeleinden zoals testen en ontwikkelen.
Hoe moet je data anonimiseren?
Data kan worden gemaskeerd of geanonimiseerd met behulp van maskeerregels (shuffle, blank, scramble) en synthetische data generatie. Een goede data maskeer tool combineert verschillende technieken om een goed maskeer template te bouwen.
Welke gegevens moet je anonimiseren?
We maken onderscheid tussen persoonlijke informatie en karakteristieken die bij een persoon horen. Door deze informatie van elkaar te scheiden, door de data te anonimiseren en eventueel aan te vullen met synthetische data, is de data niet meer herleidbaar naar een individu en dus anoniem. Denk hierbij aan naam, adres, BSN, IBAN maar ook aan schulden, medicijngebruik, politieke overtuiging etc.
Wanneer is data privacy gevoelig?
Een naam is persoonlijk, maar niet privacy-gevoelig. De stad waar je woont is ook niet privacy-gevoelig. Het is publieke informatie. Echter, het feit dat je schulden of een ziekte hebt maakt je data privacy-gevoelig.