收录于 · 差分隐私合集

这一系列的文章都是基于 https://zhuanlan.zhihu.com/c_1293586488769040384 的.我只是增加了一些批注和进行了一些删减

本文的主要内容是按照 Dwork 在2013年写的 The Algorithmic Foundations of Differential Privacy 1 展开的,但是也会穿插自己的一些理解。

整体的逻辑是按照三部分展开:

1 - 什么是差分隐私

差分隐私 顾名思义就是用来防范 差分攻击 的,我最早接触到 差分攻击 的概念是数据库课上老师介绍的。举个简单的例子,假设现在有一个婚恋数据库,2个单身8个已婚,只能查有多少人单身。刚开始的时候查询发现,2个人单身;现在张三跑去登记了自己婚姻状况,再一查,发现3个人单身。所以张三单身。

图1-1 差分攻击示意图

这里张三作为一个样本的的出现,使得攻击者获得了奇怪的知识。而差分隐私需要做到的就是使得攻击者的知识不会因为这些新样本的出现而发生变化。

那怎么做到呢?加入随机噪声。比如刚才的例子,本来两次查询结构是确定的2和3,现在加入随机噪声后,变成了两个随机变量,画出它们概率分布图。

图1-2 概率分布图

现在,如果张三不在数据库的话,得到结果可能是2.5;张三在的话,得到的结果也可能是2.5;两个数据集查询得到某一个结果的概率很接近,以至于我们根本分不清这个结果来自于哪一个数据集,这样也就实现了攻击者的知识不会因为张三这个样本的出现与否而发生变化。

这些只是概念上的理解,总结一下就是对查询的结果加入噪声,使得攻击者无法辨别某一样本是否在数据集中。一个形象的说法就是,双兔傍地走安能辨我是雄雌。

2 - 公式化的理解

刚才只是讲到概念上的理解,现在从数学上理解一下。上面的查询函数可以用 表示(这里暂时只考虑输出结果为1维的情况),随机噪声可以用 表示,最终得到的查询结果就是 ,对于两个汉明距离为1的数据集 ,对于任意的输出集合 ,应该有: