首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >数据库匿名化:使用加性噪声

数据库匿名化:使用加性噪声
EN

Stack Overflow用户
提问于 2020-05-03 19:39:52
回答 1查看 221关注 0票数 0

我想做一个关于使用加性噪声来保护数据库免受推理攻击的实验。

我的数据库应该首先生成一个平均值为25的特定值列表,然后通过添加一个随机噪声值来匿名这些值,该值的预期值为0。

例如:

我可以在-1,1的范围内使用均匀分布的噪声,也可以使用均值的正常(高斯)噪声。

我将测试这种匿名方法的数据库100,1,000,10000值与不同的噪音。

我对使用哪个平台和如何使用感到困惑,所以我从Excel中的10个值开始,对于均匀分布的噪声值,我使用RAND()并将其添加到实际值中,对于正常的噪声,我使用的是平均值的Norm.Inv,然后将其添加到实际值中。

但是我不知道如何从黑客的角度来解释数据,当我在数据集中添加噪音时,当数据集变得更大时,我如何解释它对隐私的影响呢?

另外,我应该使用数据库工具来处理这个问题吗?

EN

回答 1

Stack Overflow用户

发布于 2020-05-05 16:26:31

据我所知,您正在试图保护您的“实验性”数据库不受推理攻击。

攻击者试图使用已经允许公共使用的查询从数据库中窃取信息。首先,试着决定你的标识符、准标识符和敏感值.

考虑一个学生管理系统,它有每个学生的平均绩点。我们知道GPA是一个敏感的信息。标识符是"student_id",准标识符是“站立”,比如说“性别”。在大多数情况下,RDBM系统的管理员允许聚合查询,例如“获取所有学生的平均GPA”或“获取高年级学生的平均GPA”等。攻击者试图从这些聚合查询中推断。如果不知道为什么只有一名高年级学生,那么查询“获得高年级学生平均平均绩点”就会返回某一特定人的平均绩点。

保护数据库免受这种攻击的方法主要有两种。身份识别和匿名化。去标识意味着从数据库中删除任何标识符和准标识符。但在某些情况下,这是行不通的。假设有一个学生在宣布成绩后参加补考。如果你在考试前后得到所有学生的平均绩点,并比较查询结果,你会看到少量的变化(比方说,从2.891到2.893)。攻击者可以从GPA总数的0.002差异中推断出该学生的补考成绩。

另一种方法是匿名。在k-匿名条件下,您可以将数据库划分为至少有k个实体的组。例如,2-匿名确保不存在单一实体的组,因此对单个实体组的聚合查询不再泄漏私有信息。

除非,you是组中的两个实体之一。

如果一个班有两个高年级学生,而你想知道高年级学生的平均成绩,那么2-匿名就可以让你知道这些信息。但是如果你是高年级学生,而且你已经知道了你的成绩,你可以推断出其他学生的成绩。

在敏感值中添加噪声是应对这些攻击的一种方法,但如果噪音太低,则对泄露的信息几乎没有任何影响(例如,对于分数而言,知道某人每100人中有57人,而不是58人)几乎没有任何区别。如果太高,就会导致功能的丧失。

当数据集变得更大时,您还询问了如何解释对隐私的影响。如果你取一个非常大的数据集的平均值,你会发现你发现的结果实际上是everyone的敏感值(这可能有点复杂,但是认为数据集是无限的,敏感信息所能获取的值是有限的,然后计算概率)。添加零均值噪声可以工作,但是随着数据集的增大,噪声的范围应该会变大。

最后,如果您使用的不是RDBMS而是电子表格的excel,我建议您想出一种方法来使用SQL查询的等价物、数据集的set标识符和准标识符,以及任何人都可以执行的公共查询。

此外,除了匿名之外,还可以查看数据集的“多样性”和“紧密性”,以及它们在数据库匿名化中的应用。

我希望这能回答你的问题。如果您有进一步的问题,请问。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61580584

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档