Published 17-07-2019 / By Paul Beving
Auteur: Eric Spaargaren / erics70@kpnmail.nl
Review: 28-6-2019
Inleiding
In dit document
wordt er beschreven welke impact anonimiseren voor organisaties heeft. Dat wil
zeggen: er wordt in dit document in het kort inzicht gegeven in wat de nieuwe AVG-wetgeving
inhoudt, welke gevolgen dit heeft voor een organisatie, wat er komt kijken bij
het uitvoeren van anonimiseren en welke controles er uitgevoerd kunnen worden
na het anonimiseren.
AVG-wetgeving
AVG staat voor
Algemene Verordening Gegevensbescherming, dit is een nieuwe Europese wet. Het betreft het voorkomen van privacy
schending van bijvoorbeeld gegevens op je laptop of klantgegevens bij een
bedrijf. Er kunnen diverse analyses uitgevoerd worden om te bepalen waar de
risico’s liggen binnen een bedrijf. Het kan zijn dat binnen een bepaalde plaats
in het bedrijf helemaal geen persoonsgegevens liggen, dit scheelt een grote
investering. Persoonsgegevens zijn alle gegevens die informatie kunnen
verschaffen over een identificeerbare natuurlijke persoon in de zin van de wet.
Voorbeelden van persoonsgegevens zijn bijvoorbeeld voornaam, achternaam, adres,
huisnummer, postcode, woonplaats en telefoonnummer. Dit zijn gegevens die
geanonimiseerd dienen te worden om bijvoorbeeld in een testomgeving veilig te
kunnen testen.
Anonimiseren in een project
Om anonimiseren
als project op te starten binnen een bedrijf dient men met een goed stappenplan
te komen. Met name de communicatie over wanneer en wat dient er te gebeuren is essentieel.
Bij anonimiseren kan er een SQL-script gebruikt worden om de database te
anonimiseren. Het is ook mogelijk om hiervoor tooling te gebruiken, dat ook
onderdeel kan zijn van een softwareapplicatie voor anonimiseren. Een onderdeel
van de test zou kunnen zijn wat het scrip exact doet. Dat wil zeggen: welke
kolommen het script oppakt om te anonimiseren. Als men dit van tevoren goed kan
bepalen, dan weet men ook welke kolommen, na anonimiseren, in de database
geanonimiseerd zijn met nieuwe waarden. Hierop dient men een validatie uit te
voeren.
Daarnaast is het
van belang dat er hele goede afspraken gemaakt worden over welke omgevingen van
de “OTA-straat” wel en niet dienen te worden geanonimiseerd. Anonimiseren mag
nooit en te nimmer in de Productie-omgeving uitgevoerd worden omdat de testen
juist geanonimiseerd in testomgeving uitgevoerd dienen te worden. Voordat anonimiseren
plaatsvindt dient er eerst een kopie gemaakt te worden van de database uit de
P-omgeving of T-omgeving. Zorg ervoor dat de kopie van de database op een
secure plek wordt bewaard bestemd voor de DBA-er en dat men deze ook
gemakkelijk kan terugvinden.
Zoals hiervoor
aangegeven dient men van tevoren te bepalen welke kolommen in de tabel
geanonimiseerd moeten worden. Dit kan op verschillende manieren:
1.
In de tabelomgeving van
de betreffende applicatie,
2.
Middels een software
tool die zorgdraagt voor het anonimiseren van de database,
3.
In het SQL-script,
4.
In de database omgeving
(backoffice van de applicatie).
Hieronder wordt
een voorbeeld gegeven van 2 tabellen waarin aangegeven wordt welke kolommen
geanonimiseerd dienen te worden.
Voorbeeld van
persoonsgegevens in tabel “persoonsgegevens”:
Item
|
Tabelnaam_Kolomnaam
|
Anonimiseren
|
Diakrieten
|
Voornaam
|
persoonsgegevens_voornaam
|
Onherkenbaar
|
No
|
Achternaam
|
persoonsgegevens_achternaam
|
Onherkenbaar
|
No
|
Straatnaam
|
persoonsgegevens_adres
|
Onherkenbaar
|
Yes
|
Straatnummer
|
persoonsgegevens_huisnummer
|
Herkenbaar
|
Yes
|
Postcode
|
persoonsgegevens_postcode
|
Onherkenbaar
|
Yes
|
Woonplaats
|
persoonsgegevens_woonplaats
|
Onherkenbaar
|
No
|
Telefoonnummer
|
persoonsgegevens_telefoonnummer
|
Onherkenbaar
|
No
|
Voorbeeld van
persoonsgegevens in tabel “verzekeringsgegevens”:
Item
|
Tabelnaam_Kolomnaam
|
Anonimiseren
|
Diakrieten
|
Merk auto
|
verzekeringsgegevensauto_merk
|
Onherkenbaar
|
No
|
Model auto
|
verzekeringsgegevensauto_model
|
Onherkenbaar
|
Yes
|
Type
aandrijving
|
verzekeringsgegevensauto_aandrijving
|
Herkenbaar
|
No
|
Motorinhoud
|
Verzekeringsgegevensauto_inhoud
|
Herkenbaar
|
Yes
|
Electricpower
|
verzekeringsgegevensauto_ah
|
Onherkenbaar
|
Yes
|
Kleur
|
verzekeringsgegevensauto_color
|
Herkenbaar
|
No
|
Extratype
|
verzekeringsgegevensauto_extratype
|
Onherkenbaar
|
Yes
|
SQL-script
Voordat de
anonimiseren plaatsvindt dient er eerst een validatie van het SQL-script
uitgevoerd te worden. Want het zou kunnen dat er bijvoorbeeld bepaalde data
voorzien wordt van diakrieten. Deze diakrieten kunnen errors geven door de softwareapplicatie.
Dit dient men van tevoren goed af te stemmen met het software-ontwikkelteam met
de vraag: “Hoe vindt het anonimiseren plaats?”. Wat wordt er geanonimiseerd?
Welke datavelden in de tabellen worden geanonimiseerd en met welke content? Als
hier duidelijkheid over is kan men met anonimiseren starten.
Het uitvoeren van anonimiseren
Bij het uitvoeren
van de anonimiseren komt veel kijken. Het zou namelijk kunnen voorkomen dat er
toch wel een aantal gebruikers (applicaties beheerders) of testers dagelijks
gebruik maken van de softwareapplicatie dus deze dienen voor het starten van
het anonimiseren goed geïnformeerd te zijn. De softwareapplicatie is bij
anonimiseren van de database namelijk tijdelijk niet bruikbaar. Bedrijven
kunnen er ook voor kiezen om een anonimiseringsdatabase te zetten tussen de
productie en de test omgeving om hinder van de anonimisering zo veel mogelijk
te beperken. Het is belangrijk om goed contact te hebben met de DBA (database
administrator) die het script voor anonimiseren gaat uitvoeren. Het proces van
anonimiseren dient immers gezamenlijk uitgevoerd te worden. Er dient een
schaduw controle uitgevoerd te worden waarbij de tester meekijkt met de acties
die de database administrator uitvoert zoals een goede storage van de
testdatabase op de juist locatie.
De controle na anonimiseren
Bij de controle
na de anonimiseren van de database dient er gekeken te worden of de kopie van
de database nog terug te vinden is en op de juiste locatie staat. Dit is essentieel,
want het kan zijn dat na anonimiseren de applicatie niet meer functioneert of
althans dat een aantal functies niet meer werken. Indien dit het geval is kan de kopie van de
database teruggezet worden. Het terugzetten van de kopie van de database kan nodig
zijn opdat bijv. functionele regressie testen nog uitgevoerd kunnen worden of omdat
er bijvoorbeeld nog een oplevering dient plaats te vinden. Na anonimiseren
dient eerst door de DBA gekeken te worden in de database records of de data
geanonimiseerd is. Er dient bijvoorbeeld een controle uitgevoegd te worden naar
de content van voornaam, achternaam, adres, huisnummer, postcode en woonplaats.
Als deze items anoniem in de database records staan dan is het anonimiseren correct
uitgevoerd. Let op: diakrieten kunnen na anonimiseren ook in de database
records staan. Er kan een goede controle gedaan worden met diakrieten of de
functies van de applicatie nog goed functioneren. Mocht dit niet het geval zijn
dan kan besloten worden om de kopie van de database terug te zetten. Daarnaast
kan natuurlijk het SQL-script aangepast worden zodat er geen acties op het gebied
van diakrieten invulling plaatsvindt.
Samenvatting
We gaan ervan uit
dat bedrijven zich houden aan bepaalde wetgeving zoals de Algemene Verordening
Gegevensbescherming (AVG-wetgeving). Het implementeren hiervan is vaak geen
eenvoudige opdracht.
Er kan een impact
analyse en een risicoanalyse uitgevoerd worden binnen een bedrijf om te
onderzoeken welke softwaresystemen persoonsgegevens bevatten. Vervolgens dient
er bekeken te worden welke softwaresystemen geraakt kunnen worden door de
anonimisering. Er kan dan gestart worden met de mogelijkheden om aan te geven
welke data geanonimiseerd dient te worden in een softwaresysteem.
Er dienen goede
afspraken gemaakt te worden met diverse gebruikers met verschillende rollen van
de applicatie om het anonimiseren in goede banen te leiden. Een tester zal
andere autorisaties krijgen in de applicatie dan bijvoorbeeld een
eindgebruiker. Een ontwikkelaar of een functioneel beheerder zal weer meer
rechten nodig hebben. Bijvoorbeeld om productie verstoringen te analyseren. Het
adequaat inregelen hiervan vergt de nodige interne afstemming binnen zowel het
IT-bedrijf als Human Resources.
Verder moet
vastgesteld worden welke velden of tabellen in de database geanonimiseerd
dienen te worden. Enkele voorbeelden van anonimiseringssoorten zijn: velden
legen, shuffelen of hergenereren. Er bestaan aparte tooling of SQL-scripts om
dit uit te voeren.
Na anonimiseren
in de testomgeving, zal er een goede functionele test gedaan moeten worden om
te checken of alle functies goed werken. Gevalideerd moet worden of er mogelijk
datacorruptie optreedt na de anonimisering. Het onderwerp diakrieten heeft zijn
kenmerken bij het anonimiseren van de database.
Geen opmerkingen:
Een reactie posten