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. 2.mysql授权认证

    权限系统介绍 ● 什么是权限系统 权限系统是授予来自某个主机的某个用户可以查询.插入.修改.删除等数据库操作的权限 不能明确的指定拒接某个用户的连接 权限控制(授权与收回)的执行语句包括 create ...

  2. 中电金信:从“互联网+”到“人工智能+”,TA也藏不住了!

    ​ 两会期间,人工智能频上头条 其中"人工智能+"首次进入2024政府工作报告 为人工智能产业的发展注入一剂强心针   从"互联网+"到"人工智能+& ...

  3. 我用cursor, 半就开发了一个手机壁纸小程序,真的太强了

    前言 我用chatGPT帮我写后端爬虫,分析知乎html代码,爬取知乎壁纸.然后用cursor AI工具,完全使我一个不懂前端uniapp框架的人,开发了一个小程序手机壁纸页面. 原来一周的工作量,半 ...

  4. 【微软】微软程序注册(zfile自建API)

    Zfile支持设置自己的回调地址,怎么设置呢? 参考:https://docs.zfile.vip/advanced/onedrive-api/ 上面文档写的很清楚了,我提醒两点 1.进入 https ...

  5. Argocd基于网络的终端

    https://argo-cd.readthedocs.io/en/stable/operator-manual/web_based_terminal/ 官网参考:​ ​https://argo-cd ...

  6. Qt编写安防视频监控系统64-子模块8飞行轨迹

    一.前言 飞行轨迹子模块是专为无人机打造的模块,也可以作为机器人移动模块,通过传入一个经纬度值,实时更新设备的位置和绘制轨迹,模块已经内置了接口进行处理,支持不同设备不同的轨迹颜色(这个功能好). 这 ...

  7. Qt音视频开发29-Onvif云台控制

    一.前言 云台控制也是onvif功能中最常用的,最常用的功能排第一的是拿到视频流地址,排第二的就是云台控制了,云台控制的含义就是对带云台的摄像机进行上下左右的移动,一般云台摄像机都是带有一个小电机,一 ...

  8. IM开发基础知识补课(十):大型IM系统有多难?万字长文,搞懂异地多活!

    本文由公众号"水滴与银弹"号主Kaito原创分享,原题"搞懂异地多活,看这篇就够了",为使文章更好理解,有修订. 1.引言 前几天技术群里有群友问我手上有没有I ...

  9. 开源即时通讯IM框架 MobileIMSDK v6.3 发布

    一.更新内容简介 本次更新为次要版本更新,进行了若干优化(更新历史详见:码云 Release Nodes).可能是市面上唯一同时支持 UDP+TCP+WebSocket 三种协议的同类开源IM框架. ...

  10. 获取不同型号手机小程序导航栏的高度(uniapp)

    uni.getSystemInfo({ success: function(e) { Vue.prototype.StatusBar = e.statusBarHeight; let custom = ...