Datprof tmap 2013 handout

23
Anonimiseren: The basics Anonimiseren – geavanceerde praktijk situaties Vanmiddag: Deel 2 Deel 1 Bert Nienhuis

description

De handout van de twee presentaties over datamasking gegeven tijdens TMAPdag 2013. Op welke wijze is testdata te ontdoen van privacy gevoelige informatie! In het algemeen zijn er identificerende en kenmerkende gegevens. Kenmerkende gegevens zijn de gegevens die privacy-gevoelig zijn (banksaldo, ziekte, fraude), en in combinatie met identificerende gegevens(Naam, Adres, Woonplaats) ontstaat de noodzaak van anonimiseren(voor de wetgever, De Nederlandsche Bank, AFM, Concurrentie-gevoeligheid). In deze presentatie is zichtbaar hoe relaties te ontdoen zijn van deze gegevens.

Transcript of Datprof tmap 2013 handout

Page 1: Datprof tmap 2013 handout

Anonimiseren: The basics

Anonimiseren – geavanceerde praktijk situaties

Vanmiddag: Deel 2

Deel 1

Bert Nienhuis

Page 2: Datprof tmap 2013 handout

DOELEINDEN:

• TESTEN

• ONTWIKKELING

• OUTSOURCING

• MARKETING

• OPLEIDING

VEEL

ORGANISATIES GEBRUIKEN KOPIEËN VAN

PRODUCTIE DATABASES

Page 3: Datprof tmap 2013 handout

Gevoelige (persoons)gegevens

Persoonsgegevens

Proces data

Page 4: Datprof tmap 2013 handout

- 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 Bescherming Persoonsgegevens

Page 5: Datprof tmap 2013 handout

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

Page 6: Datprof tmap 2013 handout

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

Page 7: Datprof tmap 2013 handout

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

Page 8: Datprof tmap 2013 handout

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

Page 9: Datprof tmap 2013 handout

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

Page 10: Datprof tmap 2013 handout

E-Mail Hoe kunnen we e-mail adressen maskeren?

321 Voornaam Naam E-Mail

Frans

Jan

Dirk

de Boer

Huisman

Jansen

[email protected]

[email protected]

[email protected]

Scramble Vervang bestaande karakters

Voornaam Naam E-mail

de Boer

Huisman

Jansen

[email protected]

[email protected]

[email protected]

Expression Eigen functies of database functies

Frans

Jan

Dirk

Page 11: Datprof tmap 2013 handout

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é

Page 12: Datprof tmap 2013 handout

Demonstratie

• Historische shufflen ten behoeve van regressie testen • Consistent anonimiseren over tabellen • Geboortedatum met spreiding

Deel 2:

Page 13: Datprof tmap 2013 handout

Anonimiseren Geavanceerde praktijk situaties

Deel 2

Bert Nienhuis

Page 14: Datprof tmap 2013 handout

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

Page 15: Datprof tmap 2013 handout

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

Page 16: Datprof tmap 2013 handout

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

Page 17: Datprof tmap 2013 handout

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

Page 18: Datprof tmap 2013 handout

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.

Page 19: Datprof tmap 2013 handout

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

Page 20: Datprof tmap 2013 handout

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

Page 21: Datprof tmap 2013 handout

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

Page 22: Datprof tmap 2013 handout

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?

Page 23: Datprof tmap 2013 handout

Demonstratie

Voor meer informatie: bezoek onze stand!