From 4198b8d3a5e691fba0e877d4e3b4a81b987bccfd Mon Sep 17 00:00:00 2001 From: fria <138676274+friadev@users.noreply.github.com> Date: Tue, 30 Sep 2025 11:27:09 -0500 Subject: [PATCH] update(blog)!: Privacy-Enhancing Technologies: Differential Privacy (#3068) Signed-off-by: Jonah Aragon --- .../images/differential-privacy/cover.webp | Bin 0 -> 109294 bytes blog/posts/differential-privacy.md | 250 ++++++++++++++++++ blog/posts/multi-party-computation.md | 2 + 3 files changed, 252 insertions(+) create mode 100644 blog/assets/images/differential-privacy/cover.webp create mode 100644 blog/posts/differential-privacy.md diff --git a/blog/assets/images/differential-privacy/cover.webp b/blog/assets/images/differential-privacy/cover.webp new file mode 100644 index 0000000000000000000000000000000000000000..89c72f1a851c5f4f2bb781099885fe6d74e66565 GIT binary patch literal 109294 zcmeEtWpEr>madqYnJi`oi9rNBVyqCyI43Y3R@kS zEML9?Ug>;qM;`&>-C6Fn=KK|kR_^A2T0#JwX_vz}_+6)t*YQMWn62-#dEz3~`&R(r zOLn|(ryHI7;A6G{;$HR`VDGuxH*{@rg;$^r%{}0fj%0Dky3JoA?WtlzBOJKrYX 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

mZW|p*Khx2T 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 z

!bN0k2$8efPdBLJ+ww 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

*r=nh%nr-QNtBAz^AAR? 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 D^UOZv literal 0 HcmV?d00001 diff --git a/blog/posts/differential-privacy.md b/blog/posts/differential-privacy.md new file mode 100644 index 00000000..3ddc78e6 --- /dev/null +++ b/blog/posts/differential-privacy.md @@ -0,0 +1,250 @@ +--- +date: + created: 2025-09-30T16:30:00Z +categories: + - Explainers +authors: + - fria +tags: + - Privacy Enhancing Technologies +schema_type: BackgroundNewsArticle +description: Differential privacy is a mathematically rigorous framework for adding a controlled amount of noise to a dataset so that no individual can be reidentified. Learn how this technology is being implemented to protect you. +preview: + cover: blog/assets/images/differential-privacy/cover.webp +--- +# What is Differential Privacy? + +!["Differential Privacy" text with a series of ones and zeros being obscured with a blur filter](../assets/images/differential-privacy/cover.webp) + + +Is it possible to collect data from a large group of people but protect each individual's privacy? In this entry of my series on [privacy-enhancing technologies](../tags.md/#tag:privacy-enhancing-technologies), we'll discuss differential privacy and how it can do just that. + +## Problem + +It's useful to collect data from a large group of people. You can see trends in a population. But it requires a lot of individual people to give up personally identifiable information. Even things that seem innocuous like your gender can help identify you. + +Latanya Sweeney in a [paper](https://dataprivacylab.org/projects/identifiability/paper1.pdf) from 2000 used U.S. Census data to try and re-identify people solely based on the metrics available to her. She found that 87% of Americans could be identified based on only 3 metrics: ZIP code, date of birth, and sex. + +Obviously, being able to identify individuals based on publicly available data is a huge privacy issue. + +## History + +### Before Differential Privacy + +Being able to collect aggregate data is essential for research. It's what the U.S. Census does every 10 years. + +Usually we're more interested in the data as a whole and not data of individual people as it can show trends and overall patterns in groups of people. However, in order to get that data we must collect it from individuals. + +It was thought at first that simply [removing names and other obviously identifying details](https://simons.berkeley.edu/news/differential-privacy-issues-policymakers#:~:text=Prior%20to%20the%20line%20of%20research%20that%20led%20to%20differential%20privacy%2C%20it%20was%20widely%20believed%20that%20anonymizing%20data%20was%20a%20relatively%20straightforward%20and%20sufficient%20solution%20to%20the%20privacy%20challenge.%20Statistical%20aggregates%20could%20be%20released%2C%20many%20people%20thought%2C%20without%20revealing%20underlying%20personally%20identifiable%20data.%20Data%20sets%20could%20be%20released%20to%20researchers%20scrubbed%20of%20names%2C%20but%20otherwise%20with%20rich%20individual%20information%2C%20and%20were%20thought%20to%20have%20been%20anonymized.) from the data was enough to prevent re-identification, but [Latanya Sweeney](https://latanyasweeney.org/JLME.pdf) (a name that will pop up a few more times) proved in 1997 that even without names, a significant portion of individuals can be re-identified from a dataset by cross-referencing external data. + +Previous attempts at anonymizing data have relied on been highly vulnerable to re-identification attacks. + +#### AOL Search Log Release + +A famous example is the AOL search log release. AOL had been logging its users searches for research purposes. When they released the data, they only replaced the users' real names with an identifier. Researchers were able to identify [user 4417749](https://archive.nytimes.com/www.nytimes.com/learning/teachers/featured_articles/20060810thursday.html) as Thelma Arnold based on the identifying details of her searches. + +#### Strava Heatmap Incident + +In 2018, the fitness app Strava announced a major update to its heatmap, showing the the workout patterns of users of fitness trackers like Fitbit. + +Analyst [Nathan Ruser](https://x.com/Nrg8000/status/957318498102865920) indicated that these patterns can reveal military bases and troop movement patterns. This is obviously a huge op-sec problem and can endanger the lives of troops. + +It was also possible to [deanonymize](https://steveloughran.blogspot.com/2018/01/advanced-denanonymization-through-strava.html) individual users in some circumstances. + +#### Randomized Response + +One of the earliest ideas for anonymizing data was [randomized response](https://uvammm.github.io/docs/randomizedresponse.pdf), first introduced all the way back in 1965 in a paper by Stanley L. Warner. The idea behind it is quite clever. + +For certain questions like "have you committed tax fraud?" respondents will likely be hesitant to answer truthfully. The solution? Have the respondent flip a coin. If the coin is tails, answer yes. If the coin lands on heads, answer truthfully. + +| Respondent | Answer | Coin Flip (not included in the actual dataset just here for illustration) | +| --- | --- | --- | +| 1 | Yes | Tails (Answer Yes) | +| 2 | No | Heads (Answer Truthfully) | +| 3 | Yes | Tails (Answer Yes) | +| 4 | Yes | Tails (Answer Yes) | +| 5| No | Heads (Answer Truthfully) | + +Because we know the exact probability that a "Yes" answer is fake, 50%, we can remove it and give a rough estimate of how many respondents answered "Yes" truthfully. + +Randomized Response would lay the groundwork for differential privacy, but it wouldn't truly be realized for many decades. + +#### Unrelated Question Randomized Response + +A variation used later in a [paper](https://www.jstor.org/stable/2283636) by Greenberg et al. called **unrelated question randomized response** would present each respondent with either a sensitive question or a banal question like "is your birthday in January?" to increase the likelihood of people answering honestly, since the researcher doesn't know which question was asked. + +| Respondent | Question (not visible to researcher) | Answer | +| --- | --- | --- | +| 1 | Have you ever committed tax evasion? | No | +| 2 | Is your birthday in January? | Yes | +| 3 | Is your birthday in January? | No | +| 4 | Have you ever committed tax evasion? | Yes | +| 5 | Have you ever committed tax evasion? | No | + +#### k-Anonymity + +Latanya Sweeney and Pierangela Samarati introduced [k-anonymity](https://dataprivacylab.org/dataprivacy/projects/kanonymity/paper3.pdf) to the world back in 1998. + +It's interesting that even all the way back in 1998 concerns constant data collection were already relevant. + +> Most actions in daily life are recorded on some computer somewhere. That information in turn is often shared, exchanged, and sold. Many people may not care that the local grocer keeps track of which items they purchase, but shared information can be quite sensitive or damaging to individuals and organizations. Improper disclosure of medical information, financial information or matters of national security can have alarming ramifications, and many abuses have been cited. + +In a dataset, you might have removed names and other obviously identifying information, but there might be other data such as birthday, ZIP code, etc., that might be unique to one person in the dataset. If someone were to cross-reference this data with outside data, it could be possible to deanonymize individuals. + +k-anonymity means that for each row, at least k-1 other rows are identical. So for a k of 2, at least one other row is identical to each row. + +##### Generalization + +This is achieved through a few techniques, one of which is generalization. Generalization is reducing the precision of data so that it's not as unique. + +For example, instead of recording an exact age, you might give a range like 20-30. You've probably noticed this on surveys you've taken before. Data like this that's not directly identifiable but could be used to re-identify someone is referred to as *quasi-identifiers*. + +##### Suppression + +Sometimes even with generalization, you might have outliers that don't satisfy the k-anonymity requirements. + +In these cases, you can simply remove the row entirely. + +##### Attacks on k-Anonymity + +k-anonymity has been [demonstrated](https://www.usenix.org/system/files/sec22-cohen.pdf) to not prevent re-identification of individuals despite the data in a dataset being properly k-anonymized by "statistical experts". + +Researchers were able to deanonymize 3 students from a k-anonymized dataset from Harvard and MIT's EdX platform by cross-referencing data from LinkedIn, putting potentially thousands of students at risk of re-identification. + +### Dawn of Differential Privacy + +Most of the concepts I write about seem to come from the 70s and 80s, but differential privacy is a relatively new concept. It was first introduced in a paper from 2006 called [*Calibrating Noise to Sensitivity in Private Data Analysis*](https://desfontain.es/PDFs/PhD/CalibratingNoiseToSensitivityInPrivateDataAnalysis.pdf). + +The paper introduces the idea of adding noise to data to achieve privacy, similar to randomized response. However, differential privacy is much more mathematically rigorous and provable. + +Of course, adding noise to the dataset reduces its accuracy. Ɛ defines the amount of noise added to the dataset, with a small Ɛ meaning more privacy but less accurate data and vice versa. It's also referred to as the "privacy loss parameter" or "privacy budget". + +#### Central Differential Privacy + +This early form of differential privacy relied on adding noise to the data *after* it was already collected, meaning you still have to trust a central authority with the raw data. + +## Google RAPPOR + +In 2014, Google introduced [Randomized Aggregatable Privacy-Preserving Ordinal Response](https://arxiv.org/pdf/1407.6981) (RAPPOR), their [open source](https://github.com/google/rappor) implementation of differential privacy. + +Google RAPPOR implements and builds on previous techniques such as randomized response and adds significant improvements on top. + +### Local Differential Privacy + +In Google's implementation, noise is added to data on-device before it's sent off to any server. This removes the need to trust the central authority to handle your raw data, an important step in achieving truly anonymous data collection. + +### Bloom Filters + +Google RAPPOR makes use of a clever technique called bloom filters that saves space and improves privacy. + +Bloom filters work by starting out with an array of all 0's + +`[0, 0, 0, 0, 0, 0, 0, 0, 0]` + +Then, you run data such as the word "apple" through a hashing algorithm, which will give 1's in specific positions, say position 1, 3, and 5. + +`[0, 1, 0, 1, 0, 1, 0, 0, 0]` + +When you want to check if data is present, you run the data through the hashing algorithm and check if the corresponding positions are 1's. If they are, the data *might* be present (other data might have flipped those same bits at some point). If any of the 1's are 0's, then you know for sure that the data is not in the set. + +### Permanent Randomized Response + +A randomization step is performed flipping some of the bits randomly. This response is then "memoized" so that the same random values are used for future reporting. This protects against an "averaging" attack where an attacker sees multiple responses from the same user and can eventually recover the real value by averaging them out over time. + +### Instantaneous Randomized Response + +On top of the permanent randomized data, another randomization step is performed. This time, different randomness is added on top of the permanent randomness so that every response sent is unique. This prevents an attacker from determining a user from seeing the same randomized pattern over and over again. + +Both the permanent and instantaneous randomized response steps can be fine-tuned to for the desired privacy. + +### Chrome + +Google first used differential privacy in their Chrome browser for detection of [malware](https://blog.chromium.org/2014/10/learning-statistics-with-privacy-aided.html). + +Differential privacy is also used in Google's [Privacy Sandbox](https://privacysandbox.google.com/private-advertising/aggregation-service/privacy-protection-report-strategy). + +### Maps + +Google Maps uses DP for its [place busyness](https://safety.google/privacy/data/#:~:text=To%20offer%20features%20like%20place%20busyness%20in%20Maps%2C%20we%20apply%20an%20advanced%20anonymization%20technology%20called%20differential%20privacy%20that%20adds%20noise%20to%20your%20information%20so%20it%20can%E2%80%99t%20be%20used%20to%20personally%20identify%20you.) feature, allowing Maps to show you how busy an area is without revealing the movements of individual people. + +### Google Fi + +[Google Fi](https://opensource.googleblog.com/2019/09/enabling-developers-and-organizations.html) uses differential privacy as well to improve the service. + +## OpenDP + +[OpenDP](https://opendp.org) is a community effort to build open source and trustworthy tools for differential privacy. Their members consist of academics from prestigious universities like Harvard and employees at companies like Microsoft. + +There's been an effort from everyone to make differential privacy implementations open source, which is a breath of fresh air from companies that typically stick to closed source for their products. + +## Apple + +[Apple](https://www.apple.com/privacy/docs/Differential_Privacy_Overview.pdf) uses local differential privacy for much of its services, similar to what Google does. They add noise before sending any data off device, enabling them to collect aggregate data without harming the privacy of any individual user. + +They limit the number of contributions any one user can make via a *privacy budget* (this is the same as Ɛ) so you won't have to worry about your own contributions being averaged out over time and revealing your own trends. + +This allows them to find new words that people use that aren't included by default in the dictionary, or find which emojis are the most popular. + +Some of the things they use differential privacy for include + +- QuickType suggestions +- Emoji suggestions +- Lookup Hints +- Safari Energy Draining Domains +- Safari Autoplay Intent Detection +- Safari Crashing Domains +- Health Type Usage + +That's just based on their initial white paper, they've likely increased their use of DP since then. + +### Sketch Matrix + +Apple uses a similar method to Google, with a matrix initialized with all zeros. The input for the matrix is encoded with the SHA-256 hashing algorithm, and then bits are flipped randomly at a probability dependent on the epsilon value. + +Apple only sends a random row from this matrix instead of the entire thing in order to stay within their privacy budget. + +### See What's Sent + +You can see data sent with differential privacy in iOS under Settings > Privacy > Analytics > Analytics Data, it will begin with `DifferentialPrivacy`. On macOS, you can see these logs in the Console. + +## U.S. Census + +Differential privacy isn't just used by big corporations, in 2020 famously the U.S. Census used DP to protect the data of U.S. citizens for the first time. + +As a massive collection of data from numerous U.S. citizens, it's important for the census bureau to protect the privacy of census participants while still preserving the overall aggregate data. + +### Impetus + +Since the 90s, the U.S. Census used a less formal injection of statistical noise into their data, which they did all the way through 2010. + +After the 2010 census, the bureau tried to [re-identify individuals](https://www2.census.gov/library/publications/decennial/2020/census-briefs/c2020br-03.pdf) in the census data. + +>The experiment resulted in reconstruction of a dataset of more than 300 million individuals. The Census Bureau then used that dataset to match the reconstructed records to four commercially available data sources, to attempt to identify the age, sex, race, and Hispanic origin of people in more than six million blocks in the 2010 Census. + +Considering 309 million people lived in the U.S. in 2010, that's a devastating breach of personal privacy. Clearly more formal frameworks for protecting the privacy of individuals were needed. + +>Nationwide, roughly 150 million individuals—almost one-half of the population, have a unique combination of sex and single year of age at the block level. + +They could keep adding noise until these attacks are impossible, but that would make the data nigh unusable. Instead, differential privacy offers a mathematically rigorous method to protect the data from future re-identification attacks without ruining the data by adding too much noise. They can be sure thanks to the mathematical guarantees of DP. + +## DPrio + +Mozilla has been constantly working to make their telemetry more private over the years. Firefox uses [Prio](https://blog.mozilla.org/security/2019/06/06/next-steps-in-privacy-preserving-telemetry-with-prio/), a [Distributed Aggregation Protocol](https://datatracker.ietf.org/doc/html/draft-ietf-ppm-dap)-based telemetry system. It uses Multi-Party Computation to split the processing of user data between multiple parties. + +To accomplish this, [Mozilla](https://blog.mozilla.org/en/firefox/partnership-ohttp-prio/) partnered with [Divvi Up](https://divviup.org/blog/divvi-up-in-firefox/) as their DAP provider, and [Fastly](https://www.fastly.com/blog/firefox-fastly-take-another-step-toward-security-upgrade) as their OHTTP provider. OHTTP acts as a multi-hop proxy to separate traffic between two parties when making a connection: neither Mozilla nor Fastly will know both who you are and what you're connecting to. + +In 2023 researchers from Mozilla also conducted research into making Prio differentially private. The so-named "[DPrio](https://petsymposium.org/popets/2023/popets-2023-0086.pdf)" would combine multi-party computation, OHTTP, and differential privacy in a very impressive display of privacy protection. Unfortunately I couldn't find any evidence to suggest that DPrio has been implemented, but something to keep a lookout for in the future. + +## Future of Differential Privacy + +Differential privacy unlocks the potential for data collection with minimal risk of data exposure for any individual. Already, DP has allowed for software developers to improve their software, for new possibilities in research in the health sector and in government organizations. + +Adoption of scientifically and mathematically rigorous methods of data collection allows for organizations to collect aggregate data will allow for increased public trust in organizations and subsequently greater potential for research that will result in improvements to our everyday lives. + +I think for there to be more public trust there needs to be a bigger public outreach. That's my goal with this series, I'm hoping to at least increase awareness of some of the technology being deployed to protect your data, especially since so much of the news we hear is negative. Armed with the knowledge of what's available, we can also demand companies and organizations use these tools if they aren't already. + +It's heartening to see the level of openness and collaboration in the research. You can see a clear improvement over time as each paper takes the previous research and builds on it. I wish we saw the same attitude with all software. + +## Further Research + +Any programmers interested in learning how to implement differential privacy can check out the book *[Programming Differential Privacy](https://programming-dp.com)* to see Python examples. diff --git a/blog/posts/multi-party-computation.md b/blog/posts/multi-party-computation.md index b2e450f4..cbf5143b 100644 --- a/blog/posts/multi-party-computation.md +++ b/blog/posts/multi-party-computation.md @@ -9,6 +9,8 @@ tags: - Privacy Enhancing Technologies schema_type: BackgroundNewsArticle description: Learn about Secure Multi-Party Computation and how it can be used to solve real-world privacy problems. +preview: + cover: blog/assets/images/multi-party-computation/cover.webp --- # What is Multi-Party Computation?