L2-Reconstruction Attacks

本节课的目的在于正式地讨论隐私,但是我们不讨论算法本身有多隐私,取而代之去讨论一个算法隐私性有多么的不可靠。并且聚焦于 Dinur 与 Nissim 在论文所提出的一些启发差分隐私的理论。

同时,我们会重点分析一种称为重构攻击(Reconstruction Attacks)的攻击形式。

裂解聚合(Cracking Aggregation)

聚合(Aggregation)是一种常用的隐私保护方式,例如说在人口中将相同特征的个体聚合在一起

这是一个典型的例子

其标为\(D\)的因为数量太少而被抛弃

  • 首先注意到表中有4位黑人,三位女黑人,为此可以推断出有一位男黑人
  • 然后再通过\(2B\)行通过排列组合以及中位数和平均数推断出三位公民的年龄大致处于

总结反思

  • 虽然发动聚合裂解攻击都是一个\(NP\)难问题,但是通过人工启发式的做法就能排除掉大部分的无效数据
  • 同理这种攻击在美国2010年人口普查中足以重构出\(46%\)的人口的小数据,同时对于\(71\)的人口,其误差不大于一年。通过一些附加的商业数据集,可以重新辨别出\(50\)万人的姓名

查询(Queries),全然非隐私(BNP)以及Dinur-Nissim攻击

从这里开始严谨完备地定义我们的模型。

  • 给定一个带有几个数据(points)的列表

    • 首先定义每一个数据为行(rows)
    • 定义特征或者说每条数据的维度为列(columns)
    • 有一些特征为唯一标识符,例如说名字,邮政编码以及出生年月日和性别等,这里的标识符都是完全公开的
    • 其中一个二进制位特征作为使用的隐私符号
    • 其中\(d\in \{0,1\}^n\)为隐私符的向量

模型架构

对于一个数据分析器(Data analyst)会对列表执行一系列的查询(Queries),而且一个管理者(Curator)则通过手段去保护数据集中每个人的隐私

对于一个具体的数据分析器有能力去询问有多少符合条件的人其隐私码为\(1\),例如说:“叫作爱丽丝或者查理再或者戴维”的查询结果为\(2\)。

再一步抽象起见,一个数据分析器有能力给出一个向量来查询指定的人,例如说给出一个向量\(S\in\{0,1\}^n\),其中的\(1\)为欲查询的个人而\(0\)为非查询的个人。称为子集查询(Subset queries),这种指定查询可能会异常复杂,但是我们暂且避之不谈,当然后面关于Cohen-Nissim攻击的部分会提到他。

对于查询\(S\)数学表述:

\[A(S) = d \cdot S
\]

当管理者接受到一个查询集\(S\),然后就会返回一个响应(response),称为\(r(S)\)。也就是说整个流程简化为:

\[r(S)=A(S)
\]

当然这意味着就会极易造成侵犯隐私,为此分析器只能执行当个查询\(S=\{i\}\),以揭示某个人\(i\)的隐私符。

理所当然,管理者会输出一个带噪音的\(A(S)\):具体来说,就是输出一个\(r(S)\),其中\(r(S)\)对于某个界限\(E\),符合\(|r(S)-A(S)|\le E\)。留意到其差值\(r(S)-A(S)\)并不一定是随机分布的,而管理者可能输出符合与\(A(S)\)存在距离\(E\)的\(r(S)\)

定义(1)

若一个算法是完全非隐私(Blatantly Non-Private,缩写为\(BNP\)),那么攻击者将可以重建一个数据库\(c\in \{0,1\}^n\),与真正数据库\(d\)完全匹配,而未能识别的条目数量为\(o(n)\)。

如果一个算法是\(BNP\)的,那么这个算法之下毫无隐私可言。这就是重构攻击(reconstruction attack),随后我们可以证明出一般的方案都是\(BNP\)

定理(2)

如果一个分析器可以访问\(2^n\)次的子集查询,而管理者可以加入界限\(E\)的噪音。那么攻击者有能力重构整个数据库,只不过带了\(4E\)的偏移

尤其当\(E=n/401\),攻击者就能复原出$99 % \(准确的数据库。也就是说,当\)E=o(n)\(,则该算法属于\)BNP$

定理证明:

假设攻击者发动了\(2^n\)次询问,也就是说其能输出查找所有可能的数据库查询组合\(S\)。随后我们遍历所有待定的数据库\(c\in \{0,1\}^n\),滤掉所有\(|\sum_{i\in S}c_i -r(S)|\le E\)的\(c\)。然后输出符合的\(c\)。

定理(3)

若数据分析有能力进行\(O(n)\)次子集查询,并且管理者会加入\(E=O(\alpha\sqrt n)\)的界限的噪音。那么一个计算高效的攻击者可以重构一个有\(O(\alpha^2)\)偏移的数据库

总结

  • 第一种攻击需要\(2^n\)次的查询以消除\(O(n)\)的噪音
  • 第二种攻击需要\(\Omega(n)\)次的查询以消除\(O(\sqrt n)\)的噪音(还有加强版本)

而差分隐私允许进行\(O(n)\)次查询的同时增加总模长为\(O(\sqrt n)\)的噪音,一般是通过拉普拉斯或者高斯机制去实现。

一般来说,如果数据分析仅请求\(m<<n\)次的查询,那么管理者只需要增加总模长为\(O(\sqrt{(m)})\)的噪音。

数据挖掘 | 数据隐私(2) | 差分隐私 | 数据重构化攻击(Reconstruction Attacks)的更多相关文章

  1. 使用Typescript重构axios(十六)——请求和响应数据配置化

    0. 系列文章 1.使用Typescript重构axios(一)--写在最前面 2.使用Typescript重构axios(二)--项目起手,跑通流程 3.使用Typescript重构axios(三) ...

  2. 从ofo牵手理财平台看,用户隐私数据的使用有底线吗?

    智慧生活的到来既是社会变迁的拐点,又不可避免地带来一种挥之不去的焦虑.这种焦虑的由来,是因个人隐私数据在智慧生活下变成一种"黑暗财富".随着相关数据挖掘.收集.分析技术的成熟,人们 ...

  3. MindSpore:基于本地差分隐私的 Bandit 算法

    摘要:本文将先简单介绍Bandit 问题和本地差分隐私的相关背景,然后介绍基于本地差分隐私的 Bandit 算法,最后通过一个简单的电影推荐场景来验证 LDP LinUCB 算法. Bandit问题是 ...

  4. MindArmour差分隐私

    MindArmour差分隐私 总体设计 MindArmour的Differential-Privacy模块,实现了差分隐私训练的能力.模型的训练主要由构建训练数据集.计算损失.计算梯度以及更新模型参数 ...

  5. 差分隐私(Differential Privacy)定义及其理解

    1 前置知识 本部分只对相关概念做服务于差分隐私介绍的简单介绍,并非细致全面的介绍. 1.1 随机化算法 随机化算法指,对于特定输入,该算法的输出不是固定值,而是服从某一分布. 单纯形(simplex ...

  6. iOS10-配置获取隐私数据权限声明

    iOS10中,苹果加强了对用户隐私数据的保护,在访问以下数据的时候都需要在info.list重配置privacy,进行声明,否则程序无法正常运行. Contacts, Calendar, Remind ...

  7. 数据视化Echarts+百度地图API实现市县区级下钻

    开始 这两天公司有个页面需要做数据可视化的展示,数据视化采用的是Echarts+百度地图API做展示,需要用到县级区级下钻的一个联动效果发现网上关于Echarts做到县区级下钻的资料很少,有的话也不是 ...

  8. 使用sklearn进行数据挖掘-房价预测(3)—绘制数据的分布

    使用sklearn进行数据挖掘系列文章: 1.使用sklearn进行数据挖掘-房价预测(1) 2.使用sklearn进行数据挖掘-房价预测(2)-划分测试集 3.使用sklearn进行数据挖掘-房价预 ...

  9. android 数据重构(仿淘宝浏览记录,足迹)

    数据结构 ->数据重构 原因 处理这个数据的主要原因是,后台服务器返回的数据格式在ios那边因为其控件可以对数据进行分区显示,可以直接处理,而在android上我们显示控件就是listview, ...

  10. 《python for data analysis》第七章,数据规整化

    <利用Python进行数据分析>第七章的代码. # -*- coding:utf-8 -*-# <python for data analysis>第七章, 数据规整化 imp ...

随机推荐

  1. LeetCode题集-9 - 回文数

    题目:给你一个整数 x ,如果 x 是一个回文整数,返回 true :否则,返回 false . 回文数 是指正序(从左向右)和倒序(从右向左)读都是一样的整数. 例如,121 是回文,而 123 不 ...

  2. 深入理解 Servlet:从基础概念到高级特性与实战应用

    一.Servlet简介与工作原理 Servlet是Java Web开发中的重要组件,它运行在服务器端,用于处理客户端的请求并返回响应.其工作原理涉及多个组件和步骤,从客户端发起请求到服务器端的处理和响 ...

  3. ubuntu opencv安装与卸载

    安装opencv 1.在下面网站上下载所需版本的源文件Releases - OpenCVhttps://opencv.org/releases/ 2.解压并进入该文件夹 3.命令行执行如下指令    ...

  4. Xrm.Internal.openDialog打开对话框自定义页面

    在Dynamics CRM平台中使用自定义页面拓展功能实现有多种方式,比如嵌套iframe,比如直接打开一个新页面,再就是打开对话框了,对话框里为自定义页面. 调用方式很简单,先把自定义页面上传好后, ...

  5. Note - 两类容斥

    \(\S1.\) 等价容斥   (乱取的名字.)   题目将组合对象构成的 "等价类" 进行了定义和限定. 我们往往无法计数 "等价类真的长这样" 的方案, 而 ...

  6. 微服务实战系列(五)-注册中心Eureka与nacos区别-copy

    1. 场景描述 nacos最近用的比较多,介绍下nacos及部署吧,刚看了下以前写过类似的,不过没写如何部署及与eureka区别,只展示了效果,补补吧. 2.解决方案 2.1 nacos与eureka ...

  7. C:.c文件和.h文件的关系

    参考:1      2 问题 在进行C语言文件移植时,遇到 "通常是每个.c文件对应一个.h文件",之前了解过.h文件是头文件,用来引用其他文件的, 但在codeblocks C语 ...

  8. 从零开始构建一个gradle工程

    gradle init --type java-application 首先,确保您已经安装了Java和Gradle.您可以从官方网站下载并按照说明进行安装. 创建一个新的项目文件夹,并进入该文件夹. ...

  9. 3. 使用sql查询csv/json文件内容,还能关联查询?

    1. 简介 我们在前面的文章提到了calcite可以支持文件系统的数据源适配, 其实官方已经提供了相应的能力, 其支持csv和json的查询适配, 废话不多说, 直接展示. 2. Maven < ...

  10. 首批!天翼云率先通过ITU国际标准认证!

    近日,天翼云通过国内唯一人工智能云平台领域的ITU国际标准评估--中国信通院组织的ITU-T F.AICP-GA人工智能云平台技术规范国际标准和<智算工程平台能力要求>国内标准一致性评估, ...