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分钟,保证教会你在Vue3中实现一个定高的虚拟列表

    前言 虚拟列表对于大部分一线开发同学来说是一点都不陌生的东西了,有的同学是直接使用第三方组件.但是面试时如果你简历上面写了虚拟列表,却给面试官说是通过三方组件实现的,此时空气可能都凝固了.所以这篇文章 ...

  2. 渗透测试-前端加密分析之RSA响应加密

    本文是高级前端加解密与验签实战的第7篇文章,本系列文章实验靶场为Yakit里自带的Vulinbox靶场,本文讲述的是绕过请求包和响应包加密来爆破登录界面. 分析 这里的公私钥同上文一样是通过服务端获取 ...

  3. 综述😋Security and Privacy Challenges of ✌Large Language Models A Survey

  4. 如何通过C#修改Windows操作系统时间

    C#的System.DateTime类提供了对日期时间的封装,用它进行时间的转换和处理很方便,但是我没有在其中找到任何可以用来修改系统时间的成员.用过VC.VB等的朋友可能知道,我们可以调用Win32 ...

  5. 第三方JavaScript库有时会附带*.map文件的所用

    第三方JavaScript库有时会附带*.map文件的所用:起到对源***.js文件进行源码转换和压缩的作用. 详见参考链接:JavaScript Source Map 详解

  6. 开源即时通讯IM框架MobileIMSDK的H5端技术概览

    一.基本介绍 MobileIMSDK的H5端是一套纯JS编写的基于标准WebSocket的即时通讯库: 1)超轻量级.极少依赖: 2)纯JS编写.高度提炼,简单易用: 3)基于标准WebSocket协 ...

  7. IM开发者的零基础通信技术入门(十):零基础,史上最强5G技术扫盲

    本文引用了"鲜枣课堂"的<史上最强5G科普>文章内容.为了更好的内容呈现,在引用和收录时内容有改动,转载时请注明原文来源. 1.内容概述 ➊ 5G技术的关注度越来越高: ...

  8. Verilog5_有限状态机

    一.有限状态机(Finite State Machine, FSM)基本概念 有限状态机是由寄存器组和组合逻辑构成的硬件时序电路:         其状态只能在同一时钟跳变沿从一个状态转向另一个状态: ...

  9. 我的新书《C#上位机开发实战指南》出版了

    -Begin- 大家好!我是付工. 2022年的时候,我萌生了编写一本上位机书籍的想法,希望能给更多的上位机学习者提供一些帮助,经历了2年多的时间,今年的8月份,这本书终于出版了. 初衷 十年前,我也 ...

  10. CDS标准视图:PM通知单 I_LocationAnalysisCube

    视图名称:PM通知单 I_LocationAnalysisCube 视图类型:分析 视图代码: 点击查看代码 @EndUserText.label: 'Location Analysis - Cube ...