an efficient k-anonymization algorithm for privacy ...k-anonymity. tools for anonymization...

12
An Efficient k-anonymization Algorithm for Privacy Preserving Data Sharing Md Nurul Huda Trans-disciplinary Research Integration Center (TRIC) Noboru Sonehara National Institute of Informatics (NII), Tokyo Date: 2012/02/16

Upload: others

Post on 06-Nov-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: An Efficient k-anonymization Algorithm for Privacy ...k-anonymity. Tools for anonymization Generalization Publish more general values Suppression Remove tuples, i.e., do not publish

An Efficient k-anonymization Algorithm for Privacy Preserving Data Sharing

Md Nurul Huda Trans-disciplinary Research Integration Center (TRIC)

Noboru Sonehara National Institute of Informatics (NII), Tokyo

Date: 2012/02/16

Page 2: An Efficient k-anonymization Algorithm for Privacy ...k-anonymity. Tools for anonymization Generalization Publish more general values Suppression Remove tuples, i.e., do not publish

k-anonymity

Tools for anonymization

Generalization ◦ Publish more general values

Suppression ◦ Remove tuples, i.e., do not publish outliers

2

Original Microdata 3-anonymous data Age Education Marital S Sex Zip S. Info 58 College Divorced Male 53715 Info_1 42 BA Married Male 55410 Info_2 34 College Married Male 90210 Info_3 51 HSG Never Female 02274 Info_4 46 College Never Female 02237 Info_5

………… ……….. …….. ………………

Age Education Marital S Sex Zip S. Info 50~ <Bachelor Married Male 537** Info_x,

Info_y, Info_z

50~ <Bachelor Married Male 537** 50~ <Bachelor Married Male 537** 40~ <Bachelor Never Female 022** Info_p,

Info_q, Info_r

40~ <Bachelor Never Female 022** 40~ <Bachelor Never Female 022**

………… ……….. …….. ………………

Page 3: An Efficient k-anonymization Algorithm for Privacy ...k-anonymity. Tools for anonymization Generalization Publish more general values Suppression Remove tuples, i.e., do not publish

Global Recoding vs. Local recoding Global Recoding always recodes a specific value to its same

general value Local Recoding can recode a specific value to different

general values

3

537**

5371*

53715 53710

5370*

53706 53703

Global Recoding

537155371*

Local Recoding

(53710-53715) (53712-53720)

53715 53715

(a) (b)

53715(53710-53715) 53715(53712-53720)

Gen

eral

izat

ion

less

more

Page 4: An Efficient k-anonymization Algorithm for Privacy ...k-anonymity. Tools for anonymization Generalization Publish more general values Suppression Remove tuples, i.e., do not publish

Global Recoding vs. Local recoding

Information loss is proportional to group sizes.

4

537**

5371*

53723

Global Recoding (k=3) Local Recoding (k=3)

53718 53719 53720 53724 53729

5372*

537** 5372*

53723 53718 53719 53720 53724 53729

53718-53720 53723-53729

Wider scope of utilization Ex: Can query “attribute value

between 53710 and 53720”

Higher Info loss Lower Info loss

Page 5: An Efficient k-anonymization Algorithm for Privacy ...k-anonymity. Tools for anonymization Generalization Publish more general values Suppression Remove tuples, i.e., do not publish

Data Quality (Information Loss) and Privacy Loss

000999430520)(

0704247)(

1

1

−−

=

−−

=

GNCP

GNCP

Zip

Age

5

Age ZipCode Disease 42-47 430-520 Ulcer 42-47 430-520 Pneumonia 51-55 270-320 Flu 51-55 270-320 Gastritis 62-67 410-550 Dyspepsia 62-67 410-550 Flu

ii GS

P 11−=

Page 6: An Efficient k-anonymization Algorithm for Privacy ...k-anonymity. Tools for anonymization Generalization Publish more general values Suppression Remove tuples, i.e., do not publish

LowCost Algorithm LowCost(Input T) Source=T While |Source|>k do {

Condition=“” Sort Asc Attribute on |Di| For i=1 to |Ai|

Find Largest |Gi| so that Cost(Gi) is minimized Condition = Condition + “Ai between Gi(min_value) and Gi(max_value)” Source=“Select * from Source where” + Condition

} T`=T`+ “Select * from Source where” + Condition Source = Source- “Select * from Source where” + Condition

} Output (T`)

6

Assumptions Data are ordered based on

group sizes on each column Attributes are ordered based on

attribute cardinality

Page 7: An Efficient k-anonymization Algorithm for Privacy ...k-anonymity. Tools for anonymization Generalization Publish more general values Suppression Remove tuples, i.e., do not publish

Anonymization Example

o "Sex = ‘Male’” o " Sex = ‘Male’ and Zip = 637 and

Birth between #2006/03/26# and #2003/04/16#"

1. Find the Largest Group with Minimum Cost Attr (A2) 2. Create Clause: “Sex =1” 3. Update data source for next Attr: (A3) …………………………………………… 4. Make Equivalence Class and Move to Anonymous table

o “Sex = ‘Male’ and Zip = 637“

Male: 1 Female: 0

A2 A3 A1

Page 8: An Efficient k-anonymization Algorithm for Privacy ...k-anonymity. Tools for anonymization Generalization Publish more general values Suppression Remove tuples, i.e., do not publish

Comparison of NCP Cost (Per record)

8

0

0.5

1

1.5

2

2.5

0 10 20 30 40 50

NC

P

k (n=500)

DataflyGreedyIncognitoLowCostMondrian

0

0.5

1

1.5

2

2.5

0 10 20 30 40 50

NC

P

k (n=1000)

Datafly

Greedy

Incognito

LowCost

Mondrian

0

0.2

0.4

0.6

0.8

1

1.2

0 10 20 30 40 50

NC

P

k (n=1500)

DataflyGreedyIncognitoLowCostMondrian

0

0.2

0.4

0.6

0.8

1

1.2

0 10 20 30 40 50

NC

P

k (n=2000)

DataflyGreedyIncognitoLowCostMondrian

Page 9: An Efficient k-anonymization Algorithm for Privacy ...k-anonymity. Tools for anonymization Generalization Publish more general values Suppression Remove tuples, i.e., do not publish

Comparison of Utility-privacy measure (Per Data unit)

9

−×

−= ∑∑∑

=

=

=

=

=

=

Gl

l l

ni

i

dj

j

EA GSG

NCPnd

UP ji

ji11 1

111.11 ,

,

Page 10: An Efficient k-anonymization Algorithm for Privacy ...k-anonymity. Tools for anonymization Generalization Publish more general values Suppression Remove tuples, i.e., do not publish

Comparison of Utility-privacy measure (per data unit)

10

Page 11: An Efficient k-anonymization Algorithm for Privacy ...k-anonymity. Tools for anonymization Generalization Publish more general values Suppression Remove tuples, i.e., do not publish

Summary

An efficient k-anonymization algorithm (MinCost) has been presented ◦ Gives high quality for third-party use without

compromising privacy level ◦ Better performance compared to existing

algorithms

Future Work: make MinCost algorithm satisfy l-diversity

Page 12: An Efficient k-anonymization Algorithm for Privacy ...k-anonymity. Tools for anonymization Generalization Publish more general values Suppression Remove tuples, i.e., do not publish