一种针对统计查询攻击的线性-正交数据发布方法与流程

文档序号:17860382发布日期:2019-06-11 22:49阅读:243来源:国知局
一种针对统计查询攻击的线性-正交数据发布方法与流程

本发明属于计算机信息安全技术领域,涉及统计查询攻击、线性变换、正交变换、线性-正交变换、kmeans聚类,具体涉及一种针对统计查询攻击的线性-正交数据发布方法。



背景技术:

随着大数据与云计算的发展与人工智能时代的到来,各种信息管理系统都生成并存储了大量数据集以供相关领域的工作人员使用。因此,数据发布中的隐私保护问题逐渐成为了计算机信息安全领域的一个重要研究课题。

针对以表结构存储的数据集,一种常见的攻击方式是统计查询攻击。在发布以表结构存储的数据集时,发布者一般公开整个数据集的若干统计信息(如:具有某一特性的记录在整个数据集的占比),而不会直接发布任意一条记录的敏感属性值。即发布者为用户提供统计查询服务(如:求和查询)。攻击者利用该服务,可进行统计查询攻击,以获得某一记录的敏感属性值。

例如,以某一单位的员工工资为敏感属性,该敏感属性为数值型数据。现欲发布该单位员工的工资数据集,允许用户对若干名员工的工资平均值进行统计查询。记该工资数据集中第n名员工的敏感属性为xn,攻击者可通过如下步骤获得该员工的敏感属性:

步骤1、查询该数据集中前n名员工的工资平均值,记为

步骤2、查询该数据集中前(n-1)名员工的工资平均值,记为

步骤3、建立方程求得即可得出xn的值。

又例如,以某一单位的员工籍贯为敏感属性,该敏感属性为非数值型数据。现欲发布该单位员工的籍贯数据集,允许用户对若干名员工的籍贯分布进行统计查询。记该籍贯数据集中的第n名员工的敏感属性为xn,攻击者可通过如下步骤获得该员工的敏感属性:

步骤1、查询该数据集中前n名员工的籍贯分布;

步骤2、查询该数据集中前(n-1)名员工的籍贯分布;

步骤3、比对步骤1与步骤2所得结果中的分布,即可得出xn的值。

隐私保护的核心思想是切断准标识符与敏感属性的一对一关系。



技术实现要素:

为了克服上述现有技术的不足,本发明的目的是提供一种针对统计查询攻击的线性-正交数据发布方法,借鉴扰动方法的思想,对每一条记录的敏感属性做线性-正交变换,用以防御攻击者对以表结构存储的数据集的统计查询攻击。其核心在于线性-正交变换,该变换融合了线性变换与正交变换。与此同时,不同类别的敏感属性在不同的正交基下进行变换,一般会映射至不同的区间内,所以能保证整体数据集在发布之后具有统计意义下的可用性。

为了实现上述目的,本发明采用的技术方案是:

一种针对统计查询攻击的线性-正交数据发布方法,包括以下步骤:

步骤1、由发布者输入原始敏感属性数据集d和阈值p。为了尽可能地保证整体数据集在发布之后具有统计意义下的可用性,推荐p的取值范围为0.8≤p≤1;

步骤2、判断该数据集的敏感属性是否为数值型数据。若是,转入步骤3.1,否则,转入步骤3.2;

步骤3.1、由发布者把敏感属性划分为k个类别,记第i个类别的数据集为di(1≤i≤k);

步骤3.2、由程序把敏感属性映射到k个区间作为类别,记第i个类别的数据集为di(1≤i≤k);

将含有n条记录的非数值型数据集映射到k个区间;

输入:非数值型数据集d、d中的记录数目n、d中的敏感属性xi(1≤i≤n)、各个区间的长度length(length≠0);

输出:类别数目k、k个数值型数据集di(1≤i≤k);

其中,函数random(m,n)的作用是生成一个随机值r满足m≤r<n;

步骤4、为不同类别的敏感属性随机生成不同的参数值做线性-正交变换;

为不同类别的敏感属性随机生成不同的参数值做线性-正交变换;

输入:k个原始敏感数据集di(1≤i≤k)、参数α、参数β;

输出:k个发布敏感数据集d′i(1≤i≤k);

其中,函数random(m,n)的作用是生成一个随机值r满足m≤r<n;

因为正弦函数与余弦函数均是以2π为周期的函数,故生成正交基的参数θ的取值范围设定为0≤θ<2π;

方阵对应的行列式为满足正交基定义;

函数的作用是生成不大于n的最大整数;|di|表示第i个类别的敏感属性数据集的长度;

步骤5、将变换后的数据进行kmeans聚类,类别数目为k;

步骤6、验证聚类后的正确率是否满足发布者输入的阈值要求;若满足,则由发布者公开变换后的敏感属性数据集;否则,转入步骤4;具体如下步骤:

步骤6.1、将k个类别的原始敏感属性数据集按元素个数从小到大排列,记为di(1≤i≤k);

步骤6.2、将k个类别的发布敏感属性数据集按元素个数从小到大排列,记为d′i(1≤i≤k);

步骤6.3、当1≤i≤k时,计算dci=abs(|di|-|d′i|),其中,|di|表示第i个类别的原始敏感属性数据集的长度,|d′i|表示第i个类别的发布敏感属性数据集的长度,函数abs(n)的作用是求n的绝对值;

步骤6.4、计算聚类后的正确率n为数据集中的记录数目;

步骤6.5、设发布者输入的阈值为p,若acc≤p,则由发布者公开变换后的数据集;否则,转入步骤4;

验证聚类后的正确率是否满足发布者输入的阈值要求;

输入:k个类别的原始敏感属性数据集的长度|di|(1≤i≤k)、k个类别的发布敏感属性数据集的长度|d′i|(1≤i≤k)、数据集d中的记录数目n、阈值p;

输出:布尔型变量flag;

其中,函数abs(n)的作用是求n的绝对值。

进一步,步骤1所述的原始敏感属性数据集和阈值。该数据集必须是以表结构存储的数据集,其阈值p的推荐取值范围为0.8≤p≤1。

进一步,步骤2所述的敏感属性为隐私属性,是发布时需要保密的属性,可分为数值型数据与非数值型数据。

进一步,步骤3.1对于数值型敏感属性的处理与步骤3.2中对于非数值型敏感属性的处理。

进一步,步骤4所述的为不同类别的敏感属性随机生成不同的参数值做线性-正交变换,可以破坏攻击者通过统计查询攻击所获得信息的可用性,与此同时,保证整体数据集在发布之后具有统计意义下的可用性。

进一步,步骤5将变换后的数据进行kmeans聚类,其中,k的取值与步骤3中的类别数目保持一致。

进一步,步骤6验证聚类后的正确率是否满足发布者输入的阈值要求;若满足,则由发布者公开变换后的敏感属性数据集;否则,转入步骤4,定义聚类后的正确率为acc,若满足acc≤p,则由发布者公开变换后的敏感属性数据集;否则,转入步骤4。

本发明的有益效果是:

1、本发明所采用的方法,借鉴了扰动方法与泛化方法的思想,克服了传统的访问控制技术与加密技术造成的数据不可用的缺点;

2、本发明所采用的方法,切断了准标识符与敏感属性的一对一关系,克服了传统的以表结构存储的数据集易受统计查询攻击的缺点;

3、本发明所采用的方法,结合了传统的线性变换与正交变换,严格遵循正交基的数学定义与三角函数的数学性质,用阈值鉴定变换所得结果的优劣,进而保证了整体数据集在统计意义下的可用性。

附图说明

图1为本发明的流程图示意图。

图2为本发明的线性-正交变换的示意图。

具体实施方式

以下结合附图对本发明进一步叙述。

如图1、2所示,一种针对统计查询攻击的线性-正交数据发布方法,其特征在于包括以下步骤:

步骤1、由发布者输入原始敏感属性数据集d和阈值p。为了尽可能地保证整体数据集在发布之后具有统计意义下的可用性,推荐p的取值范围为0.8≤p≤1;

步骤2、判断该数据集的敏感属性是否为数值型数据。若是,转入步骤3.1,否则,转入步骤3.2;

步骤3.1、由发布者把敏感属性划分为k个类别,记第i个类别的数据集为di(1≤i≤k);

步骤3.2、由程序把敏感属性映射到k个区间作为类别,记第i个类别的数据集为di(1≤i≤k);

将含有n条记录的非数值型数据集映射到k个区间;

输入:非数值型数据集d、d中的记录数目n、d中的敏感属性xi(1≤i≤n)、各个区间的长度length(length≠0);

输出:类别数目k、k个数值型数据集di(1≤i≤k);

其中,函数random(m,n)的作用是生成一个随机值r满足m≤r<n;

步骤4、为不同类别的敏感属性随机生成不同的参数值做线性-正交变换;

为不同类别的敏感属性随机生成不同的参数值做线性-正交变换;

输入:k个原始敏感数据集di(1≤i≤k)、参数α、参数β;

输出:k个发布敏感数据集d′i(1≤i≤k);

其中,函数random(m,n)的作用是生成一个随机值r满足m≤r<n;

因为正弦函数与余弦函数均是以2π为周期的函数,故生成正交基的参数θ的取值范围设定为0≤θ<2π;

方阵对应的行列式为满足正交基定义;

函数的作用是生成不大于n的最大整数;|di|表示第i个类别的敏感属性数据集的长度;

步骤5、将变换后的数据进行kmeans聚类,类别数目为k;

步骤6、验证聚类后的正确率是否满足发布者输入的阈值要求;若满足,则由发布者公开变换后的敏感属性数据集;否则,转入步骤4;具体如下步骤:

步骤6.1、将k个类别的原始敏感属性数据集按元素个数从小到大排列,记为di(1≤i≤k);

步骤6.2、将k个类别的发布敏感属性数据集按元素个数从小到大排列,记为d′i(1≤i≤k);

步骤6.3、当1≤i≤k时,计算dci=abs(|di|-|d′i|),其中,|di|表示第i个类别的原始敏感属性数据集的长度,|d′i|表示第i个类别的发布敏感属性数据集的长度,函数abd(n)的作用是求n的绝对值;

步骤6.4、计算聚类后的正确率n为数据集中的记录数目;

步骤6.5、设发布者输入的阈值为p,若acc≤p,则由发布者公开变换后的数据集;否则,转入步骤4;

验证聚类后的正确率是否满足发布者输入的阈值要求;

输入:k个类别的原始敏感属性数据集的长度|di|(1≤i≤k)、k个类别的发布敏感属性数据集的长度|d′i|(1≤i≤k)、数据集d中的记录数目n、阈值p;

输出:布尔型变量flag;

其中,函数abs(n)的作用是求n的绝对值。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1