Datprof tmap 2013 handout
-
Upload
datprof -
Category
Self Improvement
-
view
266 -
download
0
description
Transcript of Datprof tmap 2013 handout
Anonimiseren: The basics
Anonimiseren – geavanceerde praktijk situaties
Vanmiddag: Deel 2
Deel 1
Bert Nienhuis
DOELEINDEN:
• TESTEN
• ONTWIKKELING
• OUTSOURCING
• MARKETING
• OPLEIDING
VEEL
ORGANISATIES GEBRUIKEN KOPIEËN VAN
PRODUCTIE DATABASES
Gevoelige (persoons)gegevens
Persoonsgegevens
Proces data
- Banksaldo
- Schulden
- Medicijn gebruik
- Ziekte
- Geloofsovertuiging
- Politieke voorkeur
- Salaris
- Telefoonhistorie
- Etc…
- Naam
- Geboortedatum
- Bankrekening nummer
- BSN nummer
- Adres
- Polisnummer
- Telefoonnummer
- Etc…
Persoonsgegevens
Identificerende Kenmerkende
“Elk gegeven over een geïdentificeerde of identificeerbare natuurlijke persoon” Bron: Wet Bescherming Persoonsgegevens
Voornaam Naam Soort
Shuffle Verwissel waarden binnen een kolom
Frans
Jan
Dirk
Jansen
de Boer
Huisman
DATPROF
Klant
Klant
Klant
Leverancier
Namen Hoe kunnen we namen maskeren?
Opmerkingen
• Gezinnen
• Partnernaam/Geboortenaam
• Unieke namen in kleine sets
• Geslacht / Aanschrijftitel
Oude Situatie
Voornaam Naam Soort
Shuffle Verwissel waarden binnen een kolom
Frans
Jan
Dirk Jansen
de Boer
Huisman
DATPROF
Klant
Klant
Klant
Leverancier
Namen Hoe kunnen we namen maskeren?
Opmerkingen
• Gezinnen
• Partnernaam/Geboortenaam
• Unieke namen in kleine sets
• Geslacht / Aanschrijftitel
Nieuwe Situatie
Geboortedatum Hoe kunnen we geboortedatums maskeren?
Voornaam Naam Geboortedatum
Frans
Jan
Dirk
de Boer
Huisman
Jansen
16-02-1954
25-11-1984
27-03-1974
Opmerkingen
• Behoud leeftijdgrens
• Verschillende formaten
• Spreiding
First day Verander datum naar de 1e van dezelfde maand
Oude Situatie
Geboortedatum Hoe kunnen we geboortedatums maskeren?
Voornaam Naam Geboortedatum
Frans
Jan
Dirk
de Boer
Huisman
Jansen
01-02-1954
01-11-1984
01-03-1974
Postcode
Geboortedatum 1e van de maand 1e van het jaar
87% 3.7% 0.04% Bron: onderzoek anonimiteit door Prof. Dr. Latanya Sweeney (Harvard University)
Opmerkingen
• Behoud leeftijdgrens
• Verschillende formaten
• Spreiding
Nieuwe Situatie
BSN of Bank nummer Hoe kunnen we 11-proef nummers maskeren?
Voornaam Naam BSN
Frans
Jan
Dirk
de Boer
Huisman
Jansen
232710016
023747006
211629583
168614728
200423526
158082618
Opmerkingen
• Vaker voorkomen van nummers
• Gironummers
Expression Eigen functies of database functies
E-Mail Hoe kunnen we e-mail adressen maskeren?
321 Voornaam Naam E-Mail
Frans
Jan
Dirk
de Boer
Huisman
Jansen
Scramble Vervang bestaande karakters
Voornaam Naam E-mail
de Boer
Huisman
Jansen
Expression Eigen functies of database functies
Frans
Jan
Dirk
Voornaam Naam
de Boer
Huisman
Jansen
Tim
Şirin
René
Frans
Jan
Dirk
Voornamen
Carl-Amand-Pieter-Lodewijk
René
Tim
Lars
Şirin
Ruben
Mevlüt
Referentie tabel
Look-up Vervang waarden met waarden
Voornamen Hoe kunnen we voornamen maskeren
René
Demonstratie
• Historische shufflen ten behoeve van regressie testen • Consistent anonimiseren over tabellen • Geboortedatum met spreiding
Deel 2:
Anonimiseren Geavanceerde praktijk situaties
Deel 2
Bert Nienhuis
Voornaam Naam Naam_Upper Geboortenaam Volledige naam
Shuffle Verwissel waarden binnen een kolom
Frans
Jan
Dirk
Jansen
de Boer
Huisman
Namen Hoe kunnen we namen maskeren?
Lisa de Boer
Huisman
JANSEN
DE BOER
HUISMAN
DE BOER
HUISMAN
Pietersen
Jansen
De Boer
Huisman
De Boer - Pietersen
Expression Eigen functies of database functies
NVL2(Geboortenaam,Naam||’-’||Geboortenaam,Naam)
Oude Situatie
Voornaam Naam Naam_Upper Geboortenaam Volledige naam
Shuffle Verwissel waarden binnen een kolom
Frans
Jan
Dirk Jansen
de Boer
Huisman
Namen Hoe kunnen we namen maskeren?
Lisa
Huisman
JANSEN
DE BOER
HUISMAN
HUISMAN
Pietersen
De Boer
Huisman
Jansen
Huisman-Pietersen
Expression Eigen functies of database functies
NVL2(Geboortenaam,Naam||’-’||Geboortenaam,Naam)
Nieuwe Situatie
123
345
678
Namen Hoe kunnen we namen maskeren? Over meerdere tabellen?
Customer_ID Voornaam Naam
Vertaal Tabel
Customer_ID Naam Naam_PNEW
123 Jansen de Boer
345 De Boer Huisman
678 Huisman Jansen
Frans
Jan
Dirk
Jansen
de Boer
Huisman
123
345
678
Customer_ID Voornaam Naam Naam_Upper
Frans
Jan
Dirk
Jansen
de Boer
Huisman
JANSEN
DE BOER
HUISMAN
123
345
678
Oude Situatie
123
345
678
Namen Hoe kunnen we namen maskeren? Over meerdere tabellen?
Customer_ID Voornaam Naam
Jansen
de Boer
Huisman
Vertaal Tabel
Customer_ID Naam Naam_PNEW
123 Jansen de Boer
345 De Boer Huisman
678 Huisman Jansen
Frans
Jan
Dirk
123
345
678
Customer_ID Voornaam Naam Naam_Upper
Frans
Jan
Dirk Jansen
de Boer
Huisman
JANSEN
DE BOER
HUISMAN
123
345
678
Nieuwe Situatie
Namen Aandachtspunten bij veranderde datasets
Vertaal Tabel
Customer_ID Naam Naam_PNEW
123 Jansen de Boer
345 De Boer Huisman
678 Huisman Jansen
Customer_ID Voornaam Naam Naam_Upper
Frans
Jan
Dirk
Jansen
de Boer
Huisman
JANSEN
DE BOER
HUISMAN
123
345
678
Klaas Veenstra VEENSTRA 987 Nieuwe rij ->
Mogelijke oplossingen • Random waarde opzoeken voor nieuwe rijen • Shuffle nieuwe rijen onderling
• Voeg translatie tabellen samen.
Customer_ID Voornaam Naam Salaris
Frans
Jan
Dirk
Jansen
de Boer
Huisman
€43.000
€ 59.650
€ 34.000
123
345
678
Salaris Het manipuleren van een salaris
Expression Eigen functies of database functies
nieuw_nummer(salaris, -20, 20)
CREATE OR REPLACE function nieuw_nummer (
org_salary IN NUMBER,
min_perc IN NUMBER,
max_perc IN NUMBER) return number
is
new_salary number(10,2);
begin
new_salary := (
org_salary *
trunc(dbms_random.value(min_perc,max_perc)) /
100)
+ org_salary;
return new_salary;
end;
/
€49.020
€ 53.088
€ 40.800
Let op: Eventuele schaal verdelingen Afhankelijkheid tussen functies
Juli Augustus Juni
Vandaag
4-juni-83 20-juni-74 10-juli-74 25-juli-74 25-Augustus-74
Geboortedatum Hoe kunnen we geboortedatums maskeren?
First day Verander datum naar de 1e van dezelfde maand
1-juni-YYYY 1-juli-yyyy 1-augustus-yyyy
Juli Augustus Juni
Vandaag
Geboortedatum Hoe kunnen we geboortedatums maskeren?
Expression Eigen functies of database functies
Case: mensen mogen niet ten opzichte van vandaag van leeftijd veranderen
Random dag tussen 1ste en laaste van de maand Random dag tussen
1ste en laaste van de maand Random dag tussen
1ste en vandaag Random dag tussen
Morgen en laatste van de maand
Bedrijf Voornaam Naam
de Boer
Huisman
Jansen Grolsch
Philips
KLM
Frans
Jan
Dirk
Bedrijven
C&A
KLM
Menzis
DUO
Grolsch
Heineken
Philips
Referentie tabel Look-up Vervang waarden met waarden
Shell
Rabobank
AIVD
Gevoelige gegevens vervangen Hoe kunnen gevoelige gegevens vervangen?
Demonstratie
Voor meer informatie: bezoek onze stand!