De-‑anonymizing ¡Data ¡
CompSci ¡590.03 ¡ Instructor: ¡Ashwin ¡Machanavajjhala ¡
1 ¡ Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡
Source ¡(h?p://xkcd.org/834/) ¡
De-anonymizing Data CompSci 590.03 Instructor: Ashwin - - PowerPoint PPT Presentation
Source (h?p://xkcd.org/834/) De-anonymizing Data CompSci 590.03 Instructor: Ashwin Machanavajjhala Lecture 2 : 590.03 Fall 13 1 Outline Recap
CompSci ¡590.03 ¡ Instructor: ¡Ashwin ¡Machanavajjhala ¡
1 ¡ Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡
Source ¡(h?p://xkcd.org/834/) ¡
– Passive ¡A?acks ¡ – AcQve ¡A?acks ¡
Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡ 2 ¡
StaQsQcal ¡Privacy ¡(Untrusted ¡Collector) ¡Problem ¡
3 ¡
Individual ¡ ¡ ¡1 ¡ r1 ¡ Individual ¡ ¡ ¡2 ¡ r2 ¡ Individual ¡ ¡ ¡3 ¡ r3 ¡ Individual ¡ ¡ ¡N ¡ rN ¡
Server ¡
DB ¡
Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡
– heads ¡with ¡probability ¡p, ¡and ¡ ¡ – tails ¡with ¡probability ¡1-‑p ¡(p ¡> ¡½) ¡
Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡ 4 ¡
True ¡Answer ¡= ¡Yes ¡ True ¡Answer ¡= ¡No ¡ Heads ¡ Yes ¡ No ¡ Tails ¡ No ¡ Yes ¡
¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡= ¡0, ¡ ¡if ¡the ¡ith ¡respondent ¡says ¡“no” ¡ ¡ P(Yi ¡= ¡1) ¡= ¡(True ¡answer ¡= ¡yes ¡AND ¡coin ¡= ¡heads) ¡OR ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡(True ¡answer ¡= ¡no ¡ ¡AND ¡coin ¡= ¡tails) ¡ ¡ ¡ ¡ ¡ ¡= ¡πp ¡+ ¡(1-‑π)(1-‑p) ¡= ¡pyes ¡ P(Yi ¡= ¡0) ¡= ¡π(1-‑p) ¡+ ¡(1-‑π)p ¡= ¡pno ¡ ¡
Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡ 5 ¡
Yes ¡ No ¡ Heads ¡ Yes ¡ No ¡ Tails ¡ No ¡ Yes ¡
n1 ¡pno (n-‑n1) ¡ ¡ ¡
¡ πhat ¡= ¡{n1/n ¡– ¡(1-‑p)}/(2p-‑1) ¡
Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡ 6 ¡
P(Bob’s ¡true ¡answer ¡is ¡“yes” ¡| ¡Bob ¡says ¡“yes”) ¡ ¡= ¡P(Bob ¡says ¡“yes” ¡AND ¡ ¡Bob’s ¡true ¡answer ¡is ¡“yes”) ¡/ ¡P(Bob ¡says ¡yes) ¡ ¡ ¡= ¡P(Bob ¡says ¡“yes” ¡| ¡Bob’s ¡true ¡answer ¡is ¡“yes”)P(Bob’s ¡true ¡answer ¡is ¡“yes”) ¡
P(Bob ¡says ¡“yes” ¡| ¡Bob’s ¡true ¡answer ¡is ¡“yes”)P(Bob’s ¡true ¡answer ¡is ¡“yes”) ¡ + ¡P(Bob ¡says ¡“yes” ¡| ¡Bob’s ¡true ¡answer ¡is ¡“no”)P(Bob’s ¡true ¡answer ¡is ¡“no”) ¡ ¡ = ¡pθ ¡/ ¡pθ ¡+ ¡(1-‑p)(1-‑θ) ¡ ¡ ¡≤ ¡ ¡p/(1-‑p) ¡θ ¡
Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡ 7 ¡
¡P(Bob’s ¡true ¡answer ¡is“yes”) ¡= ¡θ ¡
Adversary’s ¡posterior ¡belief: ¡ ¡ ¡ ¡P(Bob’s ¡true ¡answer ¡is ¡“yes” ¡| ¡Bob ¡says ¡“yes”) ¡≤ ¡ ¡p/(1-‑p) ¡θ ¡
¡ Adversary’s ¡posterior ¡belief ¡is ¡always ¡bounded ¡by ¡p/1-‑p ¡Fmes ¡the ¡ adversary’s ¡prior ¡belief ¡(irrespecFve ¡of ¡what ¡the ¡prior ¡is) ¡ ¡ ¡
Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡ 8 ¡
– p/1-‑p ¡= ¡infinity ¡: ¡no ¡privacy ¡ – ¡πhat ¡ ¡= ¡ ¡n1/n ¡= ¡true ¡answer ¡
– p/1-‑p ¡= ¡1: ¡perfect ¡privacy ¡ – ¡We ¡cannot ¡esFmate ¡πhat ¡since ¡the ¡answers ¡are ¡independent ¡of ¡the ¡input. ¡ – Pyes ¡= ¡πp ¡+ ¡(1-‑π)(1-‑p) ¡ ¡= ¡½(π ¡+ ¡1 ¡– ¡π) ¡= ¡½ ¡= ¡Pno ¡
Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡ 9 ¡
StaQsQcal ¡Privacy ¡(Trusted ¡Collector) ¡Problem ¡
10 ¡
Individual ¡ ¡ ¡1 ¡ r1 ¡ Individual ¡ ¡ ¡2 ¡ r2 ¡ Individual ¡ ¡ ¡3 ¡ r3 ¡ Individual ¡ ¡ ¡N ¡ rN ¡
Server ¡
DB ¡
Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡
11 ¡
Individual ¡ ¡ ¡1 ¡ r1 ¡ Individual ¡ ¡ ¡2 ¡ r2 ¡ Individual ¡ ¡ ¡3 ¡ r3 ¡ Individual ¡ ¡ ¡N ¡ rN ¡
Hospital ¡
DB ¡
Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡
Correlate ¡Genome ¡to ¡disease ¡ How ¡many ¡allergy ¡paDents? ¡
‘ ¡
answering ¡a ¡few ¡quesQons, ¡server ¡will ¡run ¡out ¡of ¡privacy ¡budget ¡ and ¡not ¡be ¡able ¡to ¡answer ¡any ¡more ¡quesQons. ¡ ¡
Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡ 12 ¡
13 ¡
Individual ¡ ¡ ¡1 ¡ r1 ¡ Individual ¡ ¡ ¡2 ¡ r2 ¡ Individual ¡ ¡ ¡3 ¡ r3 ¡ Individual ¡ ¡ ¡N ¡ rN ¡
Hospital ¡
DB ¡
Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡
I ¡wont ¡tell ¡you ¡what ¡quesDons ¡ ¡ I ¡am ¡interested ¡in! ¡
wriQngcenterunderground.wordpress.com ¡
14 ¡
Individual ¡ ¡ ¡1 ¡ r1 ¡ Individual ¡ ¡ ¡2 ¡ r2 ¡ Individual ¡ ¡ ¡3 ¡ r3 ¡ Individual ¡ ¡ ¡N ¡ rN ¡
Hospital ¡
DB ¡
Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡
D’B ¡
Answer ¡any ¡# ¡of ¡quesDons ¡ ¡ directly ¡on ¡DB’ ¡without ¡ ¡ any ¡modificaDons. ¡ ¡ ¡
– E.g., ¡Health ¡Insurance ¡Portability ¡and ¡ProtecQon ¡Act ¡ – Remove ¡18 ¡a?ributes ¡regarded ¡as ¡Personally ¡IdenQfying ¡InformaQon ¡(PII) ¡ – Name ¡ – Geography ¡smaller ¡than ¡state ¡ – Date ¡(more ¡detailed ¡than ¡year) ¡ – Tel ¡/ ¡Fax ¡/ ¡email ¡ – SSN ¡ – IDs ¡(Medical ¡record ¡ ¡/ ¡Health ¡insurance ¡/ ¡Accounts/ ¡CerQficates ¡/ ¡Devices) ¡ – Vehicle ¡ID ¡/ ¡License ¡plate ¡ – URLs ¡/ ¡IP ¡addresses ¡ ¡ – Full ¡face ¡photos ¡/ ¡biometrics ¡/ ¡geneQc ¡code ¡ ¡
Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡ 15 ¡
¡ ¡ ¡Registered ¡
¡ ¡ ¡affiliaQon ¡ ¡
¡ ¡ ¡voted ¡
date
Medical ¡Data ¡ Voter ¡List ¡
¡ ¡ ¡ ¡uniquely ¡idenFfied ¡ ¡ ¡ ¡ ¡using ¡ZipCode, ¡ ¡ ¡ ¡ ¡ ¡Birth ¡Date, ¡and ¡Sex. ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡
Quasi ¡IdenFfier ¡
87 ¡% ¡of ¡US ¡populaQon ¡
16 ¡ Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡
Algorithms ¡for ¡idenQfying ¡individual ¡records ¡and ¡their ¡sensiQve ¡ values ¡from ¡naively ¡anonymized ¡data ¡using ¡background ¡ knowledge ¡(usually ¡other ¡public ¡datasets) ¡ ¡
– Record ¡Linkage ¡ – EnQty ¡ResoluQon ¡ – Fuzzy ¡matching ¡ – … ¡ – See ¡tutorial ¡and ¡lectures ¡in ¡big-‑data ¡class ¡for ¡more ¡info ¡… ¡
Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡ 17 ¡
– Passive ¡A?acks ¡ – AcQve ¡A?acks ¡
Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡ 18 ¡
Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡ 19 ¡
3 ¡ 4 ¡ 2 ¡ 1 ¡ 5 ¡ 1 ¡ 1 ¡ 1 ¡ 5 ¡ 5 ¡ 1 ¡ 5 ¡ 2 ¡ 2 ¡ 1 ¡ 4 ¡ 2 ¡ 1 ¡ 4 ¡ 3 ¡ 3 ¡ 5 ¡ 4 ¡ 3 ¡ 1 ¡ 3 ¡ 2 ¡ 4 ¡ Movies ¡ Users ¡ RaFng ¡+ ¡ TimeStamp ¡ Record ¡(r) ¡ Column/A]ribute ¡
Support: ¡Set ¡(or ¡number) ¡
record ¡or ¡column ¡
– <name/id>, ¡set ¡of ¡known ¡movie ¡raQngs ¡ – E.g., ¡a ¡single ¡record ¡about ¡someone ¡you ¡know ¡ – IMDB ¡raQngs ¡which ¡are ¡public ¡ ¡
Match ¡individuals ¡in ¡the ¡NeLlix ¡data ¡to ¡individuals ¡in ¡the ¡AUX ¡
Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡ 20 ¡
Compute ¡the ¡similarity ¡between ¡candidate ¡matching ¡pairs ¡
– Based ¡on ¡a?ributes ¡of ¡the ¡individuals ¡
For ¡each ¡record ¡in ¡AUX, ¡find ¡the ¡best ¡matching ¡record ¡in ¡D ¡(or ¡no ¡ match) ¡… ¡or ¡vice ¡versa ¡
– Remaining ¡set ¡of ¡pairs ¡are ¡candidates ¡matches ¡
Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡ 21 ¡
For ¡two ¡records ¡x ¡and ¡y, ¡compute ¡a ¡vector ¡similarity ¡scores ¡of ¡ component ¡a?ribute. ¡ ¡
– [ ¡ ¡Same ¡raQng ¡for ¡movie ¡X, ¡ ¡ ¡ ¡ ¡ ¡ ¡Same ¡raQng ¡for ¡movie ¡Y, ¡ ¡ ¡ ¡Number ¡of ¡Drama ¡movies ¡rated ¡in ¡both ¡records, ¡ ¡…. ¡ ¡ ¡ ¡] ¡
– Boolean ¡(match ¡or ¡not-‑match) ¡ – Real ¡values ¡based ¡on ¡distance ¡funcQons ¡ – Real ¡values ¡based ¡on ¡set ¡or ¡vector ¡similarity ¡
Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡ 22 ¡
– Levenstein, ¡Smith-‑Waterman, ¡Affine ¡
– Jaccard, ¡Dice ¡
– Cosine ¡similarity, ¡TFIDF ¡
– SecondString, ¡h?p://secondstring.sourceforge.net/ ¡ – Simmetrics: ¡h?p://sourceforge.net/projects/simmetrics/ ¡ – LingPipe, ¡h?p://alias-‑i.com/lingpipe/index.html ¡
– Jaro-‑Winkler, ¡Sor-‑TFIDF, ¡Monge-‑Elkan ¡
– Soundex ¡
Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡ 23 ¡
Permit ¡efficient ¡scalable ¡ implementaFon ¡
– Levenstein, ¡Smith-‑Waterman, ¡Affine ¡
– Jaccard, ¡Dice ¡
– Cosine ¡similarity, ¡TFIDF ¡
– SecondString, ¡h?p://secondstring.sourceforge.net/ ¡ – Simmetrics: ¡h?p://sourceforge.net/projects/simmetrics/ ¡ – LingPipe, ¡h?p://alias-‑i.com/lingpipe/index.html ¡
– Jaro-‑Winkler, ¡Sor-‑TFIDF, ¡Monge-‑Elkan ¡
– Soundex ¡
Good ¡for ¡Names ¡ Good ¡for ¡Text ¡(reviews/ ¡tweets), ¡ sets, ¡class ¡membership, ¡… ¡ Useful ¡for ¡ abbreviaFons, ¡ alternate ¡names. ¡ Handle ¡Typographical ¡ errors ¡
Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡ 24 ¡
For ¡each ¡movie ¡m, ¡ ¡ ¡ Sim(r[m], ¡raux[m]) ¡= ¡1 ¡ ¡ ¡ ¡ ¡if ¡m ¡was ¡rated ¡in ¡both ¡records ¡with ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡similar ¡values ¡and ¡at ¡similar ¡Qmes ¡ ¡ ¡ ¡= ¡0 ¡ ¡ ¡ ¡ ¡otherwise ¡
Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡ 25 ¡
Problem: ¡Given ¡a ¡vector ¡of ¡component-‑wise ¡similariQes ¡for ¡a ¡pair ¡of ¡ records ¡(x,y), ¡compute ¡P(x ¡and ¡y ¡match). ¡ ¡ ¡ SoluQons: ¡
0.05*Sim[m1]+ ¡0.02*Sim[m2] ¡+ ¡0.03*Sim[m3] ¡+ ¡... ¡ ¡ ¡
– How ¡to ¡pick ¡weights. ¡
similarity ¡on ¡common ¡a?ribute ¡(blockbuster) ¡
¡ ¡ ¡ ¡Threshold ¡determines ¡match ¡or ¡non-‑match. ¡
– Hard ¡to ¡tune ¡a ¡threshold. ¡ ¡
¡
Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡ 26 ¡
Problem: ¡Given ¡a ¡vector ¡of ¡component-‑wise ¡similariQes ¡for ¡a ¡pair ¡of ¡ records ¡(x,y), ¡compute ¡P(x ¡and ¡y ¡match). ¡ ¡ ¡ SoluQons: ¡
Threshold ¡determines ¡match ¡or ¡non-‑match. ¡ ¡
– (Sim[m1]> ¡0.7 ¡AND ¡Sim[m2] ¡> ¡0.8) ¡ ¡ OR ¡(Sim[m1]> ¡0.9 ¡AND ¡Sim[m3] ¡> ¡0.9) ¡
– Manually ¡formulaQng ¡the ¡right ¡set ¡of ¡rules ¡is ¡hard. ¡ ¡
Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡ 27 ¡
– E.g., ¡γ ¡= ¡[“Is ¡x.name ¡= ¡y.name?”, ¡“Is ¡x.address ¡= ¡y.address?” ¡…] ¡ – Assume ¡binary ¡vector ¡for ¡simplicity ¡
¡
Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡ 28 ¡
matches ¡ ¡
¡
¡ ¡ ¡ ¡
Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡ 29 ¡
tl tU
MATCH ¡ NON-‑MATCH ¡ UNCERTAIN ¡
¡
¡ ¡
match ¡
Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡ 30 ¡
with ¡error ¡bounds ¡μ ¡and ¡λ, ¡if ¡
– L* ¡meets ¡the ¡type ¡I ¡and ¡type ¡II ¡requirements ¡ – L* ¡has ¡the ¡least ¡ ¡condiQonal ¡probabiliQes ¡of ¡not ¡making ¡a ¡decision. ¡ ¡ That ¡is ¡for ¡all ¡other ¡decision ¡rules ¡L ¡(with ¡error ¡bounds ¡μ ¡and ¡λ), ¡ ¡
Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡ 31 ¡
– Assume ¡a?ributes ¡are ¡independent ¡(Naïve ¡Bayes ¡AssumpQon) ¡to ¡simplify ¡ the ¡problem ¡ – Use ¡Training ¡datasets ¡to ¡compute ¡ ¡
– Given ¡some ¡training ¡data ¡ – Classify ¡pairs ¡of ¡records ¡as ¡matches ¡or ¡non-‑matches ¡ – More ¡advanced ¡techniques ¡use ¡acQve ¡learning ¡ ¡
See ¡tutorial ¡for ¡more ¡details ¡… ¡ ¡
Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡ 32 ¡
Problem: ¡Given ¡a ¡vector ¡of ¡component-‑wise ¡similariQes ¡for ¡a ¡pair ¡of ¡ records ¡(x,y), ¡compute ¡P(x ¡and ¡y ¡match). ¡ ¡ ¡ SoluQons: ¡
0.05*Sim[m1]+ ¡0.02*Sim[m2] ¡+ ¡0.03*Sim[m3] ¡+ ¡... ¡ ¡ ¡
– How ¡to ¡pick ¡weights. ¡
similarity ¡on ¡common ¡a?ribute ¡(blockbuster) ¡
¡ ¡ ¡ ¡Threshold ¡determines ¡match ¡or ¡non-‑match. ¡
– Hard ¡to ¡tune ¡a ¡threshold. ¡ ¡
¡
Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡ 33 ¡
SCHEME ¡USED ¡IN ¡NETFLIX ¡ATTACK ¡ ¡ Wt ¡= ¡1/log(support(m)) ¡
Compute ¡the ¡similarity ¡between ¡candidate ¡matching ¡pairs ¡
– Based ¡on ¡a?ributes ¡of ¡the ¡individuals ¡
For ¡each ¡record ¡in ¡AUX, ¡find ¡the ¡best ¡matching ¡record ¡in ¡D ¡(or ¡no ¡ match) ¡… ¡or ¡vice ¡versa ¡
– Remaining ¡set ¡of ¡pairs ¡are ¡candidates ¡matches ¡
Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡ 34 ¡
high ¡probability ¡of ¡matching ¡the ¡same ¡record ¡in ¡D ¡
Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡ 35 ¡
SoluQons: ¡
score ¡… ¡(NETFLIX ¡ATTACK ¡SOLUTION) ¡
– Edge ¡weights: ¡log ¡odd ¡of ¡matching ¡
Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡ 36 ¡
Weighted ¡ ¡Edges ¡
¡
Compute ¡the ¡similarity ¡between ¡candidate ¡matching ¡pairs ¡
– Based ¡on ¡a?ributes ¡of ¡the ¡individuals ¡
For ¡each ¡record ¡in ¡AUX, ¡find ¡the ¡best ¡matching ¡record ¡in ¡D ¡(or ¡no ¡ match) ¡… ¡or ¡vice ¡versa ¡
– Remaining ¡set ¡of ¡pairs ¡are ¡candidates ¡matches ¡
Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡ 37 ¡
– Techniques ¡can ¡be ¡inefficient ¡when ¡these ¡databases ¡are ¡very ¡large ¡
– IdenQfy ¡pairs ¡of ¡records ¡that ¡don’t ¡match ¡(with ¡very ¡high ¡probability) ¡
Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡ 38 ¡
Set ¡of ¡all ¡Pairs ¡
Matching ¡Pairs ¡
Pairs ¡of ¡Records ¡ ¡ saFsfying ¡ ¡ Blocking ¡criterion ¡
– (predicates ¡of) ¡a?ribute ¡values ¡ – character ¡ngrams ¡ – opQmal ¡blocking ¡funcQons ¡… ¡ ¡
– E.g., ¡order ¡imposed ¡by ¡a ¡random ¡hash ¡funcQon ¡
¡
Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡ 39 ¡
¡Surprising ¡property: ¡For ¡a ¡random ¡permutaQon ¡π, ¡ ¡ ¡ ¡ ¡ ¡How ¡to ¡build ¡a ¡blocking ¡scheme ¡such ¡that ¡only ¡pairs ¡with ¡ Jacquard ¡similarity ¡> ¡s ¡fall ¡in ¡the ¡same ¡block ¡(with ¡high ¡prob)? ¡ ¡
` ¡ Probability ¡that ¡ ¡ (x,y) ¡menFons ¡are ¡ ¡ blocked ¡together ¡ Similarity(x,y) ¡
Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡ 40 ¡
Suppose ¡d ¡is ¡a ¡distance ¡metric ¡on ¡a ¡domain. ¡ ¡ A ¡family ¡of ¡funcQons ¡F ¡is ¡said ¡to ¡be ¡(d1, ¡d2, ¡p1, ¡p2)-‑sensiDve ¡if ¡for ¡all ¡ f ¡in ¡F, ¡ ¡
¡ ¡then ¡P[f(x) ¡= ¡f(y)] ¡> ¡p1 ¡
¡ ¡then ¡P[f(x) ¡= ¡f(y)] ¡< ¡p2 ¡
Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡ 41 ¡
Probabilty
declared a candidate d p d p
1 2 1 2
Distance
strongly ¡disQnguish ¡pairs ¡that ¡are ¡close ¡from ¡pairs ¡that ¡are ¡far. ¡
family ¡for ¡the ¡Jaccard ¡distance. ¡ ¡
Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡ 42 ¡
¡
…
k ¡blocks ¡ Band ¡of ¡r ¡minHashes ¡
Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡ 43 ¡
– Pairs ¡with ¡Jaccard ¡similarity ¡> ¡0.8 ¡are ¡close, ¡ ¡ and ¡similarity ¡< ¡0.4 ¡are ¡far ¡
minHashes” ¡(AND ¡construcFon ¡on ¡F) ¡
– F1 ¡is ¡(0.2, ¡0.6, ¡0.85, ¡0.45) ¡= ¡(0.2, ¡0.6, ¡0.328, ¡0.01)-‑sensiQve ¡
Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡ 44 ¡
‘Far’ ¡objects ¡are ¡blocked ¡ together ¡with ¡very ¡low ¡ probability ¡
– F1 ¡is ¡(0.2, ¡0.6, ¡0.85, ¡0.45) ¡= ¡(0.2, ¡0.6, ¡0.328, ¡0.01)-‑sensiQve ¡
minHashes ¡each” ¡(OR ¡construcFon ¡on ¡F1) ¡
– F2 ¡is ¡(0.2, ¡0.6, ¡1 ¡– ¡(1-‑0.85)10, ¡1 ¡– ¡(1-‑0.45)10) ¡ ¡ ¡ ¡= ¡(0.2, ¡0.6, ¡0.98,0.09)-‑sensiQve ¡
Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡ 45 ¡
‘Far’ ¡objects ¡are ¡blocked ¡ together ¡with ¡very ¡low ¡ probability ¡ ‘Close’ ¡objects ¡are ¡blocked ¡ together ¡with ¡very ¡high ¡ probability ¡
– (0.2, ¡0.6, ¡0.8, ¡0.4)-‑sensiQve ¡ ¡
– (0.2, ¡0.6, ¡0.328, ¡0.01)-‑sensiQve ¡
each” ¡
– (0.2, ¡0.6, ¡0.98,0.09)-‑sensiQve ¡
Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡ 46 ¡
Sim(s) ¡ P(same ¡block) ¡ 0.9 ¡ 0.9986 ¡ 0.8 ¡ 0.98 ¡ 0.7 ¡ 0.84 ¡ 0.6 ¡ 0.55 ¡ 0.5 ¡ 0.27 ¡ 0.4 ¡ 0.09 ¡ 0.3 ¡ 0.02 ¡ 0.2 ¡ 0.003 ¡ 0.1 ¡ 0.00009 ¡
Pairwise ¡Matching: ¡
comparison ¡vector ¡ Record ¡Linkage: ¡
Blocking: ¡ ¡
Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡ 47 ¡
– Comparison ¡Vector: ¡for ¡each ¡movie, ¡1 ¡if ¡similar ¡raQngs ¡at ¡similar ¡Qmes ¡in ¡ both ¡records ¡ – Weighted ¡sum: ¡weights ¡inversely ¡proporQonal ¡to ¡popularity ¡of ¡movie ¡ – Threshold: ¡prespecified ¡α ¡
– Best ¡score: ¡Pick ¡the ¡record ¡in ¡D ¡with ¡highest ¡score ¡such ¡that ¡second ¡highest ¡ score ¡is ¡much ¡smaller ¡
Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡ 48 ¡
Theorem ¡1: ¡Consider ¡a ¡matching ¡threshold ¡α ¡= ¡1 ¡– ¡ε. ¡If ¡the ¡auxiliary ¡ record ¡r ¡contains ¡m ¡randomly ¡chosen ¡a?ributes ¡s.t. ¡ ¡ ¡ ¡ ¡ ¡Then ¡the ¡best ¡matching ¡record ¡r’ ¡in ¡D ¡is ¡such ¡that ¡ ¡ ¡
Pr ¡[Sim(r, ¡r’) ¡ ¡> ¡1 ¡– ¡ε ¡– ¡δ ¡ ¡] ¡> ¡1 ¡– ¡ε ¡
Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡ 49 ¡
idenQfy ¡the ¡user’s ¡record ¡from ¡the ¡“anonymized” ¡dataset ¡with ¡ high ¡probability ¡
the ¡NeLlix ¡dataset. ¡
match ¡records ¡in ¡D ¡
Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡ 50 ¡
¡
– Passive ¡A?acks ¡ – AcQve ¡A?acks ¡
Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡ 51 ¡
enQty, ¡and ¡each ¡edge ¡represents ¡certain ¡relaQonship ¡between ¡two ¡ enQQes ¡
Facebook, ¡Yahoo! ¡Messenger, ¡etc. ¡ ¡
52 ¡ Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡
– removes ¡the ¡label ¡of ¡each ¡node ¡and ¡publish ¡only ¡the ¡structure ¡of ¡the ¡ network ¡
– Nodes ¡may ¡sQll ¡be ¡re-‑idenQfied ¡based ¡on ¡network ¡structure ¡ Alice ¡ Ed ¡ Bob ¡ Fred ¡ Cathy ¡ Grace ¡ Diane ¡
53 ¡ Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡
– Each ¡node ¡represents ¡an ¡individual ¡ – Each ¡edge ¡between ¡two ¡individuals ¡indicates ¡that ¡they ¡have ¡exchanged ¡ emails ¡ Alice ¡ Ed ¡ Bob ¡ Fred ¡ Cathy ¡ Grace ¡ Diane ¡
54 ¡ Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡
Alice ¡ Ed ¡ Bob ¡ Fred ¡ Cathy ¡ Grace ¡ Diane ¡
55 ¡ Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡
Alice ¡ Ed ¡ Bob ¡ Fred ¡ Cathy ¡ Grace ¡ Diane ¡
56 ¡ Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡
Alice ¡ Ed ¡ Bob ¡ Fred ¡ Cathy ¡ Grace ¡ Diane ¡
57 ¡ Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡
Alice ¡ Ed ¡ Bob ¡ Fred ¡ Cathy ¡ Grace ¡ Diane ¡
58 ¡ Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡
the ¡anonymized ¡network ¡
Alice ¡ Ed ¡ Bob ¡ Fred ¡ Cathy ¡ Grace ¡ Diane ¡
59 ¡ Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡
Alice ¡ Ed ¡ Bob ¡ Fred ¡ Cathy ¡ Grace ¡ Diane ¡
60 ¡ Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡
Alice ¡ Ed ¡ Bob ¡ Fred ¡ Cathy ¡ Grace ¡ Diane ¡
61 ¡ Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡
Alice ¡ Ed ¡ Bob ¡ Fred ¡ Cathy ¡ Grace ¡ Diane ¡
62 ¡ Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡
Alice ¡ Ed ¡ Bob ¡ Fred ¡ Cathy ¡ Grace ¡ Diane ¡
63 ¡ Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡
Alice ¡ Ed ¡ Bob ¡ Fred ¡ Cathy ¡ Grace ¡ Diane ¡
64 ¡ Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡
[Liu ¡and ¡Terzi, ¡SIGMOD ¡2008] ¡
knowledge ¡about ¡the ¡network ¡structure, ¡e.g., ¡a ¡subgraph ¡of ¡the ¡
[Zhou ¡and ¡Pei, ¡ICDE ¡2008, ¡Hay ¡et ¡ ¡al., ¡VLDB ¡2008, ¡] ¡
nodes ¡in ¡the ¡anonymized ¡network ¡are ¡labeled. ¡ [Pang ¡et ¡al., ¡SIGCOMM ¡CCR ¡2006] ¡
65 ¡ Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡
– Some ¡individuals ¡share ¡the ¡sensiQve ¡a?ribute, ¡while ¡others ¡keep ¡it ¡private ¡
sensiFve ¡a]ributes ¡using ¡
– Links ¡in ¡the ¡social ¡network ¡ – Groups ¡that ¡the ¡individuals ¡ ¡ belong ¡to ¡ ¡
profiles ¡as ¡training ¡data. ¡[Zheleva ¡and ¡Getoor, ¡WWW ¡2009] ¡
66 ¡ Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡
public ¡profiles. ¡
67 ¡ Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡
node ¡in ¡the ¡social ¡network. ¡
– Feature ¡value ¡Lx[y] ¡= ¡1 ¡if ¡and ¡only ¡if ¡(x,y) ¡is ¡an ¡edge. ¡ ¡ – Train ¡a ¡model ¡on ¡all ¡pairs ¡(Lx, ¡sensiDve ¡value(x)), ¡for ¡x’s ¡with ¡public ¡ sensiQve ¡values. ¡ – Use ¡learnt ¡model ¡to ¡predict ¡private ¡sensiQve ¡values ¡
68 ¡ Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡
group ¡in ¡the ¡social ¡network. ¡
– Feature ¡value ¡Gx[y] ¡= ¡1 ¡if ¡and ¡only ¡if ¡x ¡belongs ¡to ¡group ¡y. ¡ ¡ – Train ¡a ¡model ¡on ¡all ¡pairs ¡(Gx, ¡sensiDve ¡value(x)), ¡where ¡x’s ¡sensiQve ¡value ¡ is ¡public. ¡ – Use ¡model ¡to ¡predict ¡private ¡sensiQve ¡values ¡
69 ¡ Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡
Flickr ¡ ¡ (LocaFon) ¡ Facebook ¡ (Gender) ¡ Facebook ¡ (PoliFcal ¡View) ¡ Dogster ¡ ¡ (Dog ¡Breed) ¡ Baseline ¡ 27.7% 50% 56.5% 28.6% LINK ¡ 56.5% 68.6% 58.1% 60.2% GROUP ¡ 83.6% 77.2% 46.6% 82.0%
[Zheleva ¡and ¡Getoor, ¡WWW ¡2009] ¡
70 ¡ Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡
[Backstrom ¡et ¡al., ¡WWW ¡2007] ¡ ¡
– Creates ¡a ¡few ¡‘fake’ ¡Facebook ¡user ¡accounts. ¡
– Create ¡friends ¡using ¡‘fake’ ¡accounts. ¡ ¡
71 ¡ Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡
can ¡be ¡idenQfied ¡in ¡the ¡anonymous ¡data. ¡
72 ¡ Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡
73 ¡ Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡
special ¡graph ¡structure. ¡ ¡
74 ¡ Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡
75 ¡ Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡
W ¡= ¡{w1, ¡…, ¡wk} ¡
X ¡= ¡{x1, ¡…, ¡xk} ¡
with ¡probability ¡0.5. ¡ Large ¡graph ¡
76 ¡ Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡
nodes ¡in ¡S. ¡ ¡
– There ¡is ¡a ¡funcQon ¡mapping ¡each ¡node ¡in ¡S ¡to ¡a ¡node ¡in ¡S’ ¡ – (u,v) ¡is ¡an ¡edge ¡in ¡G[S] ¡if ¡and ¡only ¡if ¡(f(u), ¡f(v)) ¡is ¡an ¡edge ¡in ¡S’ ¡
– Think: ¡permuQng ¡the ¡nodes ¡
Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡ 77 ¡
isomorphic ¡to ¡G[X] ¡(call ¡it ¡H). ¡
Large ¡graph ¡ (size ¡N) ¡
78 ¡ Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡
Subgraph ¡isomorphism ¡is ¡NP-‑hard ¡
– i.e., ¡Finding ¡X ¡could ¡be ¡hard. ¡ ¡
¡ But ¡since ¡X ¡has ¡a ¡path, ¡with ¡random ¡ edges, ¡there ¡is ¡a ¡simple ¡brute ¡force ¡ with ¡pruning ¡search ¡algorithm. ¡ ¡ ¡ Run ¡Time: ¡O(N ¡2O(log ¡log ¡N) ¡ ¡) ¡ Large ¡graph ¡ (size ¡N) ¡
2 ¡
79 ¡ Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡
4.4 ¡million ¡nodes, ¡ ¡ 77 ¡million ¡edges ¡
by ¡adding ¡10 ¡nodes. ¡
Probability ¡of ¡Successful ¡A]ack ¡ [Backstrom ¡et ¡al., ¡WWW ¡2007] ¡
80 ¡ Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡
knowledge ¡of ¡the ¡structure ¡of ¡the ¡graph ¡
accurately ¡inferring ¡private ¡sensiQve ¡values. ¡ ¡ ¡ ¡
81 ¡ Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡
Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡ 82 ¡
2008 ¡
networks, ¡hidden ¡paferns, ¡and ¡structural ¡steganography”, ¡WWW ¡2007 ¡
mixed ¡public ¡and ¡private ¡user ¡profiles”, ¡WWW ¡2009 ¡
Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡ 83 ¡