Since the advent of differential privacy, a number of systems supporting differentially private data analyses have been implemented and deployed. This article tracks real-world deployments, production software packages, and research prototypes.
Real-world deployments edit
Name | Organization | Year Introduced | Notes | Still in use? | |
---|---|---|---|---|---|
OnTheMap: Interactive tool for exploration of US income and commute patterns.[1][2] | US Census Bureau | 2008 | First deployment of differential privacy | Yes | |
RAPPOR in Chrome Browser to collect security metrics[3][4] | 2014 | First widespread use of local differential privacy | No | ||
Emoji analytics; analytics. Improve: QuickType, emoji; Spotlight deep link suggestions; Lookup Hints in Notes. Emoji suggestions, health type usage estimates, Safari energy drain statistics, Autoplay intent detection (also in Safari)[5] | Apple | 2017 | Yes | ||
Application telemetry[6] | Microsoft | 2017 | Application usage statistics Microsoft Windows. | yes | |
Flex: A SQL-based system developed for internal Uber analytics[7][8] | Uber | 2017 | Unknown | ||
2020 Census[9] | US Census Bureau | 2018 | Yes | ||
Audience Engagement API[10] | 2020 | Yes | |||
Labor Market Insights[11] | 2020 | Yes | |||
COVID-19 Community Mobility Reports[12] | 2020 | Unknown | |||
Advertiser Queries[13] | 2020 | ||||
U.S. Broadband Coverage Data Set[14] | Microsoft | 2021 | Unknown | ||
College Scorecard Website | IRS and Dept. of Education | 2021 | Unknown | ||
Ohm Connect[15] | Recurve | 2021 | |||
Live Birth Dataset[16][17] | Israeli Ministry of Health | 2024 | Yes |
Production software packages edit
These software packages purport to be usable in production systems. They are split in two categories: those focused on answering statistical queries with differential privacy, and those focused on training machine learning models with differential privacy.
Statistical analyses edit
Name | Developer | Year Introduced | Notes | Still maintained? |
---|---|---|---|---|
Google's differential privacy libraries[18] | 2019 | Building block libraries in Go, C++, and Java; end-to-end framework in Go,[19] . | Yes | |
OpenDP[20] | Harvard, Microsoft | 2020 | Core library in Rust,[21] SDK in Python with an SQL interface. | Yes |
Tumult Analytics[22] | Tumult Labs[23] | 2022 | Python library, running on Apache Spark. | Yes |
PipelineDP[24] | Google, OpenMined[25] | 2022 | Python library, running on Apache Spark, Apache Beam, or locally. | Yes |
PSI (Ψ): A Private data Sharing Interface | Harvard University Privacy Tools Project.[26] | 2016 | No | |
TopDown Algorithm[27] | United States Census Bureau | 2020 | Production code used in the 2020 US Census. | No |
Machine learning edit
Name | Developer | Year Introduced | Notes | Still maintained? |
---|---|---|---|---|
Diffprivlib[28] | IBM[29] | 2019 | Python library. | Yes |
TensorFlow Privacy[30][31] | 2019 | Differentially private training in TensorFlow. | Yes | |
Opacus[32] | Meta | 2020 | Differentially private training in PyTorch. | Yes |
Research projects and prototypes edit
Name | Citation | Year Published | Notes |
---|---|---|---|
PINQ: An API implemented in C#. | [33] | 2010 | |
Airavat: A MapReduce-based system implemented in Java hardened with SELinux-like access control. | [34] | 2010 | |
Fuzz: Time-constant implementation in Caml Light of a domain-specific language. | [35] | 2011 | |
GUPT: Implementation of the sample-and-aggregate framework. | [36] | 2012 | |
KTELO: A framework and system for answering linear counting queries. | [37] | 2018 |
Attacks on implementations edit
In addition to standard defects of software artifacts that can be identified using testing or fuzzing, implementations of differentially private mechanisms may suffer from the following vulnerabilities:
- Timing side-channel attacks.[35] In contrast with timing attacks against implementations of cryptographic algorithms that typically have low leakage rate and must be followed with non-trivial cryptanalysis, a timing channel may lead to a catastrophic compromise of a differentially private system, since a targeted attack can be used to exfiltrate the very bit that the system is designed to hide.
- Leakage through floating-point arithmetic.[40] Differentially private algorithms are typically presented in the language of probability distributions, which most naturally lead to implementations using floating-point arithmetic. The abstraction of floating-point arithmetic is leaky, and without careful attention to details, a naive implementation may fail to provide differential privacy. (This is particularly the case for ε-differential privacy, which does not allow any probability of failure, even in the worst case.) For example, the support of a textbook sampler of the Laplace distribution (required, for instance, for the Laplace mechanism) is less than 80% of all double-precision floating point numbers; moreover, the support for distributions with different means are not identical. A single sample from a naïve implementation of the Laplace mechanism allows distinguishing between two adjacent datasets with probability more than 35%.
- Timing channel through floating-point arithmetic.[41] Unlike operations over integers that are typically constant-time on modern CPUs, floating-point arithmetic exhibits significant input-dependent timing variability.[42] Handling of subnormals can be particularly slow, as much as by ×100 compared to the typical case.[43]
See also edit
References edit
- ^ "OnTheMap". onthemap.ces.census.gov. Retrieved 29 March 2023.
- ^ Machanavajjhala, Ashwin; Kifer, Daniel; Abowd, John; Gehrke, Johannes; Vilhuber, Lars (April 2008). "Privacy: Theory meets Practice on the Map". 2008 IEEE 24th International Conference on Data Engineering. pp. 277–286. doi:10.1109/ICDE.2008.4497436. ISBN 978-1-4244-1836-7. S2CID 5812674.
- ^ Erlingsson, Úlfar. "Learning statistics with privacy, aided by the flip of a coin".
- ^ Erlingsson, Úlfar; Pihur, Vasyl; Korolova, Aleksandra (November 2014). "RAPPOR: Randomized Aggregatable Privacy-Preserving Ordinal Response". Proceedings of the 2014 ACM SIGSAC Conference on Computer and Communications Security. pp. 1054–1067. arXiv:1407.6981. Bibcode:2014arXiv1407.6981E. doi:10.1145/2660267.2660348. ISBN 9781450329576. S2CID 6855746.
- ^ Differential Privacy Team (December 2017). "Learning with Privacy at Scale". Apple Machine Learning Journal. 1 (8).
{{cite journal}}
:|last1=
has generic name (help) - ^ Ding, Bolin; Kulkarni, Janardhan; Yekhanin, Sergey (December 2017). "Collecting Telemetry Data Privately". 31st Conference on Neural Information Processing Systems: 3574–3583. arXiv:1712.01524. Bibcode:2017arXiv171201524D.
- ^ Tezapsidis, Katie (Jul 13, 2017). "Uber Releases Open Source Project for Differential Privacy".
- ^ Johnson, Noah; Near, Joseph P.; Song, Dawn (January 2018). "Towards Practical Differential Privacy for SQL Queries". Proceedings of the VLDB Endowment. 11 (5): 526–539. arXiv:1706.09479. doi:10.1145/3187009.3177733.
- ^ Abowd, John M. (August 2018). "The U.S. Census Bureau Adopts Differential Privacy". Proceedings of the 24th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining. p. 2867. doi:10.1145/3219819.3226070. hdl:1813/60392. ISBN 9781450355520. S2CID 51711121.
- ^ Rogers, Ryan; Subramaniam, Subbu; Peng, Sean; Durfee, David; Lee, Seunghyun; Santosh Kumar Kancha; Sahay, Shraddha; Ahammad, Parvez (2020). "LinkedIn's Audience Engagements API: A Privacy Preserving Data Analytics System at Scale". arXiv:2002.05839 [cs.CR].
- ^ Rogers, Ryan; Adrian Rivera Cardoso; Mancuhan, Koray; Kaura, Akash; Gahlawat, Nikhil; Jain, Neha; Ko, Paul; Ahammad, Parvez (2020). "A Members First Approach to Enabling LinkedIn's Labor Market Insights at Scale". arXiv:2010.13981 [cs.CR].
- ^ Aktay, Ahmet; Bavadekar, Shailesh; Cossoul, Gwen; Davis, John; Desfontaines, Damien; Fabrikant, Alex; Gabrilovich, Evgeniy; Gadepalli, Krishna; Gipson, Bryant; Guevara, Miguel; Kamath, Chaitanya; Kansal, Mansi; Lange, Ali; Mandayam, Chinmoy; Oplinger, Andrew; Pluntke, Christopher; Roessler, Thomas; Schlosberg, Arran; Shekel, Tomer; Vispute, Swapnil; Vu, Mia; Wellenius, Gregory; Williams, Brian; Royce J Wilson (2020). "Google COVID-19 Community Mobility Reports: Anonymization Process Description (Version 1.1)". arXiv:2004.04145 [cs.CR].
- ^ Rogers, Ryan; Subbu, Subramaniam; Peng, Sean; Durfee, David; Lee, Seunghyun; Kancha, Santosh Kumar; Sahay, Shraddha; Ahammad, Parvez (2020). "LinkedIn's Audience Engagements API: A Privacy Preserving Data Analytics System at Scale". arXiv:2002.05839 [cs.CR].
- ^ Pereira, Mayana; Kim, Allen; Allen, Joshua; White, Kevin; Juan Lavista Ferres; Dodhia, Rahul (2021). "U.S. Broadband Coverage Data Set: A Differentially Private Data Release". arXiv:2103.14035 [cs.CR].
- ^ "EDP". EDP. Retrieved 29 March 2023.
- ^ Hod, Shlomi; Canetti, Ran (2024). "Differentially Private Release of Israel's National Registry of Live Births". arXiv:2405.00267 [cs.CR].
- ^ "Live Birth Dataset (Hebrew)". data.gov.il. Retrieved 2 May 2024.
- ^ "Google's differential privacy libraries". GitHub. 3 February 2023.
- ^ "Differential-privacy/Privacy-on-beam at main · google/Differential-privacy". GitHub.
- ^ "OpenDP". opendp.org. Retrieved 29 March 2023.
- ^ "OpenDP Library". GitHub.
- ^ "Tumult Analytics". www.tmlt.dev. Retrieved 29 March 2023.
- ^ "Tumult Labs | Privacy Protection Redefined". www.tmlt.io. Retrieved 29 March 2023.
- ^ "PipelineDP". pipelinedp.io. Retrieved 29 March 2023.
- ^ "OpenMined". www.openmined.org. Retrieved 29 March 2023.
- ^ Gaboardi, Marco; Honaker, James; King, Gary; Nissim, Kobbi; Ullman, Jonathan; Vadhan, Salil; Murtagh, Jack (June 2016). "PSI (Ψ): a Private data Sharing Interface".
- ^ "DAS 2020 Redistricting Production Code Release". GitHub. 22 June 2022.
- ^ "Diffprivlib v0.5". GitHub. 17 October 2022.
- ^ Holohan, Naoise; Braghin, Stefano; Pól Mac Aonghusa; Levacher, Killian (2019). "Diffprivlib: The IBM Differential Privacy Library". arXiv:1907.02444 [cs.CR].
- ^ Radebaugh, Carey; Erlingsson, Ulfar (March 6, 2019). "Introducing TensorFlow Privacy: Learning with Differential Privacy for Training Data".
- ^ "TensorFlow Privacy". GitHub. 2019-08-09.
- ^ "Opacus · Train PyTorch models with Differential Privacy". opacus.ai. Retrieved 29 March 2023.
- ^ McSherry, Frank (1 September 2010). "Privacy integrated queries" (PDF). Communications of the ACM. 53 (9): 89–97. doi:10.1145/1810891.1810916. S2CID 52898716.
- ^ Roy, Indrajit; Setty, Srinath T.V.; Kilzer, Ann; Shmatikov, Vitaly; Witchel, Emmett (April 2010). "Airavat: Security and Privacy for MapReduce" (PDF). Proceedings of the 7th Usenix Symposium on Networked Systems Design and Implementation (NSDI).
- ^ a b Haeberlen, Andreas; Pierce, Benjamin C.; Narayan, Arjun (2011). "Differential Privacy Under Fire". 20th USENIX Security Symposium.
- ^ Mohan, Prashanth; Thakurta, Abhradeep; Shi, Elaine; Song, Dawn; Culler, David E. "GUPT: Privacy Preserving Data Analysis Made Easy". Proceedings of the 2012 ACM SIGMOD International Conference on Management of Data. pp. 349–360. doi:10.1145/2213836.2213876. S2CID 2135755.
- ^ Zhang, Dan; McKenna, Ryan; Kotsogiannis, Ios; Hay, Michael; Machanavajjhala, Ashwin; Miklau, Gerome (June 2018). "EKTELO: A Framework for Defining Differentially-Private Computations". Proceedings of the 2018 International Conference on Management of Data. pp. 115–130. arXiv:1808.03555. doi:10.1145/3183713.3196921. ISBN 9781450347037. S2CID 5033862.
- ^ McSherry, Frank (25 February 2018). "Uber's differential privacy .. probably isn't". GitHub.
- ^ Lyu, Min; Su, Dong; Li, Ninghui (1 February 2017). "Understanding the sparse vector technique for differential privacy". Proceedings of the VLDB Endowment. 10 (6): 637–648. arXiv:1603.01699. doi:10.14778/3055330.3055331. S2CID 5449336.
- ^ Mironov, Ilya (October 2012). "On significance of the least significant bits for differential privacy". Proceedings of the 2012 ACM conference on Computer and communications security (PDF). ACM. pp. 650–661. doi:10.1145/2382196.2382264. ISBN 9781450316514. S2CID 3421585.
- ^ Andrysco, Marc; Kohlbrenner, David; Mowery, Keaton; Jhala, Ranjit; Lerner, Sorin; Shacham, Hovav (May 2015). "On Subnormal Floating Point and Abnormal Timing". 2015 IEEE Symposium on Security and Privacy. pp. 623–639. doi:10.1109/SP.2015.44. ISBN 978-1-4673-6949-7. S2CID 1903469.
- ^ Kohlbrenner, David; Shacham, Hovav (August 2017). "On the Effectiveness of Mitigations Against Floating-point Timing Channels". Proceedings of the 26th USENIX Conference on Security Symposium. USENIX Association: 69–81.
- ^ Dooley, Isaac; Kale, Laxmikant (September 2006). "Quantifying the interference caused by subnormal floating-point values" (PDF). Proceedings of the Workshop on Operating System Interference in High Performance Applications.