SlideShare una empresa de Scribd logo
1 de 23
Descargar para leer sin conexión
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
- Email
- Bankrekening nummer
- BSN nummer
- Adres
- Polisnummer
- Telefoonnummer
- Etc…
Persoonsgegevens
Identificerende Kenmerkende
“Elk gegeven over een geïdentificeerde of identificeerbare natuurlijke persoon”
Bron: Wet BeschermingPersoonsgegevens
Voornaam Naam Soort
ShuffleVerwissel 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
ShuffleVerwissel 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
xxxxxxx@xxxx.xx
xxxxxxx@xxxx.xx
xxxxx@xxxxxxxxxx.xx
Scramble
Vervang bestaande karakters
Voornaam Naam E-mail
de Boer
Huisman
Jansen
F.deBoer@testdata.nl
J.Huisman@testdata.nl
D.Jansen@testdata.nl
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
ShuffleVerwissel 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
ShuffleVerwissel 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 VEENSTRA987Nieuwe 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 AugustusJuni
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 AugustusJuni
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 maandRandom 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!

Más contenido relacionado

Más de DATPROF

Test Data Management in an agile environment
Test Data Management in an agile environmentTest Data Management in an agile environment
Test Data Management in an agile environmentDATPROF
 
Test automatisering en test data management | data subsets
Test automatisering en test data management | data subsetsTest automatisering en test data management | data subsets
Test automatisering en test data management | data subsetsDATPROF
 
Gebruikerssessie DATPROF februari 2015
Gebruikerssessie DATPROF februari 2015Gebruikerssessie DATPROF februari 2015
Gebruikerssessie DATPROF februari 2015DATPROF
 
Presentatie Privacy Paleis anonimiseringstool PIA
Presentatie Privacy Paleis anonimiseringstool PIAPresentatie Privacy Paleis anonimiseringstool PIA
Presentatie Privacy Paleis anonimiseringstool PIADATPROF
 
Presentatie Agile en Testdata van Bert Nienhuis | DATPROF
Presentatie Agile en Testdata van Bert Nienhuis | DATPROF Presentatie Agile en Testdata van Bert Nienhuis | DATPROF
Presentatie Agile en Testdata van Bert Nienhuis | DATPROF DATPROF
 
Test Tool Event van Sogeti | DATPROF Testdata Management
Test Tool Event van Sogeti | DATPROF Testdata Management Test Tool Event van Sogeti | DATPROF Testdata Management
Test Tool Event van Sogeti | DATPROF Testdata Management DATPROF
 
Testdata kennissessie: Pas op: Persoonsgegevens?!
Testdata kennissessie: Pas op: Persoonsgegevens?!Testdata kennissessie: Pas op: Persoonsgegevens?!
Testdata kennissessie: Pas op: Persoonsgegevens?!DATPROF
 
20130918 kennis sessie-handout
20130918 kennis sessie-handout20130918 kennis sessie-handout
20130918 kennis sessie-handoutDATPROF
 
Dutchtestingconference2013 slideshare
Dutchtestingconference2013 slideshareDutchtestingconference2013 slideshare
Dutchtestingconference2013 slideshareDATPROF
 
Privacy webslideshare
Privacy webslidesharePrivacy webslideshare
Privacy webslideshareDATPROF
 
20121119 tmapprivacy
20121119 tmapprivacy20121119 tmapprivacy
20121119 tmapprivacyDATPROF
 

Más de DATPROF (11)

Test Data Management in an agile environment
Test Data Management in an agile environmentTest Data Management in an agile environment
Test Data Management in an agile environment
 
Test automatisering en test data management | data subsets
Test automatisering en test data management | data subsetsTest automatisering en test data management | data subsets
Test automatisering en test data management | data subsets
 
Gebruikerssessie DATPROF februari 2015
Gebruikerssessie DATPROF februari 2015Gebruikerssessie DATPROF februari 2015
Gebruikerssessie DATPROF februari 2015
 
Presentatie Privacy Paleis anonimiseringstool PIA
Presentatie Privacy Paleis anonimiseringstool PIAPresentatie Privacy Paleis anonimiseringstool PIA
Presentatie Privacy Paleis anonimiseringstool PIA
 
Presentatie Agile en Testdata van Bert Nienhuis | DATPROF
Presentatie Agile en Testdata van Bert Nienhuis | DATPROF Presentatie Agile en Testdata van Bert Nienhuis | DATPROF
Presentatie Agile en Testdata van Bert Nienhuis | DATPROF
 
Test Tool Event van Sogeti | DATPROF Testdata Management
Test Tool Event van Sogeti | DATPROF Testdata Management Test Tool Event van Sogeti | DATPROF Testdata Management
Test Tool Event van Sogeti | DATPROF Testdata Management
 
Testdata kennissessie: Pas op: Persoonsgegevens?!
Testdata kennissessie: Pas op: Persoonsgegevens?!Testdata kennissessie: Pas op: Persoonsgegevens?!
Testdata kennissessie: Pas op: Persoonsgegevens?!
 
20130918 kennis sessie-handout
20130918 kennis sessie-handout20130918 kennis sessie-handout
20130918 kennis sessie-handout
 
Dutchtestingconference2013 slideshare
Dutchtestingconference2013 slideshareDutchtestingconference2013 slideshare
Dutchtestingconference2013 slideshare
 
Privacy webslideshare
Privacy webslidesharePrivacy webslideshare
Privacy webslideshare
 
20121119 tmapprivacy
20121119 tmapprivacy20121119 tmapprivacy
20121119 tmapprivacy
 

Datprof tmap 2013 handout

  • 1. Anonimiseren: The basics Anonimiseren – geavanceerde praktijk situaties Vanmiddag: Deel 2 Deel 1 Bert Nienhuis
  • 2. DOELEINDEN: • TESTEN • ONTWIKKELING • OUTSOURCING • MARKETING • OPLEIDING VEEL ORGANISATIES GEBRUIKEN KOPIEËN VAN PRODUCTIE DATABASES
  • 4. - Banksaldo - Schulden - Medicijn gebruik - Ziekte - Geloofsovertuiging - Politieke voorkeur - Salaris - Telefoonhistorie - Etc… - Naam - Geboortedatum - Email - Bankrekening nummer - BSN nummer - Adres - Polisnummer - Telefoonnummer - Etc… Persoonsgegevens Identificerende Kenmerkende “Elk gegeven over een geïdentificeerde of identificeerbare natuurlijke persoon” Bron: Wet BeschermingPersoonsgegevens
  • 5. Voornaam Naam Soort ShuffleVerwissel 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
  • 6. Voornaam Naam Soort ShuffleVerwissel 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
  • 7. 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
  • 8. 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
  • 9. 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
  • 10. E-Mail Hoe kunnen we e-mail adressen maskeren? 321 Voornaam Naam E-Mail Frans Jan Dirk de Boer Huisman Jansen xxxxxxx@xxxx.xx xxxxxxx@xxxx.xx xxxxx@xxxxxxxxxx.xx Scramble Vervang bestaande karakters Voornaam Naam E-mail de Boer Huisman Jansen F.deBoer@testdata.nl J.Huisman@testdata.nl D.Jansen@testdata.nl Expression Eigen functies of database functies Frans Jan Dirk
  • 12. Demonstratie • Historische shufflen ten behoeve van regressie testen • Consistent anonimiseren over tabellen • Geboortedatum met spreiding Deel 2:
  • 14. Voornaam Naam Naam_Upper Geboortenaam Volledige naam ShuffleVerwissel 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
  • 15. Voornaam Naam Naam_Upper Geboortenaam Volledige naam ShuffleVerwissel 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
  • 16. 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
  • 17. 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
  • 18. 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 VEENSTRA987Nieuwe rij -> Mogelijke oplossingen • Random waarde opzoeken voor nieuwe rijen • Shuffle nieuwe rijen onderling • Voeg translatie tabellen samen.
  • 19. 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
  • 20. Juli AugustusJuni 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
  • 21. Juli AugustusJuni 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 maandRandom dag tussen 1ste en laaste van de maand Random dag tussen 1ste en vandaag Random dag tussen Morgen en laatste van de maand
  • 22. 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?