技术领域
本发明属于数据安全技术领域,涉及一种开放场景下信息泄露概率的计算方法。
背景技术
在现如今的大数据时代,充分探寻数据背后的价值具有无穷多的前景和应用,例如决策的制定,人际关系的挖掘,以及信息的智能推荐等等。但是,在这些极具前景的应用场景中,大数据的使用将会不可避免地带来很多隐私方面的问题。目前,很多泄露个人隐私的攻击手段已经被运用到了原本被用于研究的公开数据集中,造成了严重的后果。这些攻击手段结合网络分析,数据挖掘,以及其他技术,可以基于一定的背景知识来推测某些记录的身份,这就是臭名昭著的“记录链接攻击”。更具体地说,根据“记录链接攻击”,对于多元结构化数据,攻击者可以将直接体现用户身份的个人识别属性(例如身份证号和银行卡号),或者将不会直接暴露用户身份的准标识符(例如生日,性别和年龄)与他的背景知识结合起来,去识别数据库中特定的一组用户,从而泄露其隐私信息。
针对上述亟待解决的隐私安全问题,先前的研究中提供了一种基于攻击概率的数据库属性敏感度分级方法,该方法可以将数据库中所有属性根据攻击者攻击成功的概率进行敏感度的评分和分级,为数据使用者提供了各属性敏感度方面的参考,并为进一步的数据脱敏工作做好了铺垫。然而,该方法需要数据库管理者或相关风险评估专家,基于数据库中某些属性的已公开发布情况,以及现有的某些经验,推测出攻击者提前获取某些列的概率。显然,这种经验性的定量方式不够准确,不能客观精确地衡量这些列的获取概率,从而就会使数据敏感度量化评级的结果产生偏差,进一步影响后续的数据脱敏工作。
发明内容
本发明的目的在于克服上述现有技术的缺点,提供了一种开放场景下信息泄露概率的计算方法,该方法准确计算信息泄露的概率。
为达到上述目的,本发明所述的开放场景下信息泄露概率的计算方法包括以下步骤:
1)构建公开数据池;
2)对公开数据池中的数据进行列聚类;
3)计算步骤2)得到的各列的聚类结果被攻击者攻击成功的概率,完成开放场景下信息泄露概率的计算。
步骤1)的具体操作为:
从公开数据源中进行抽取数据,并汇集于指定的数据集中,再以此建立公开数据池。
步骤2)的具体操作为:
2a)将公开数据池中的所有数据按照属性进行分割,以建立列集合;
2b)将所有列名向量利用其余弦相似度作为距离进行聚类,得各列的聚类结果。
步骤2b)中还包括:采用词嵌入工具将各列的汉语列名转化为列名向量。
步骤2b)中,采用K-means聚类方法进行聚类。
设公开数据池有N个数据库,公开数据池的数据量为R=r
则该类别的属性列被攻击者获取的概率
本发明具有以下有益效果:
本发明所述的开放场景下信息泄露概率的计算方法在具体操作时,从攻击者的角度从发,通过对数据进行列聚类,并计算各列聚类结果被攻击者攻击成功的功率,即开放场景下信息泄露的概率,避免人工经验带来的不准确的问题,量化攻击者获取到某些属性信息的概率,并且可以直接投入到后续对各属性敏感度的量化及排序工作中,为数据管理者提供了精确的、基于客观事实的敏感度方面的参考,为进一步的数据脱敏以及数据发布工作打下了良好的基础。
附图说明
图1为本发明的流程图。
具体实施方式
下面结合附图对本发明做进一步详细描述:
参考图1,本发明所述的开放场景下信息泄露概率的计算方法包括以下步骤:
1)构建公开数据池;
具体的,从公开数据源中进行抽取数据,并汇集于指定的数据集中,再以此建立公开数据池。
2)对公开数据池中的数据进行列聚类;
步骤2)的具体操作为:
2a)将公开数据池中的所有数据按照属性进行分割,以建立列集合;
2b)采用词嵌入工具将各列的汉语列名转化为列名向量,将所有列名向量利用其余弦相似度作为距离采用K-means聚类方法进行聚类,得各列的聚类结果。
对于两个向量X和Y,其余弦距离cosθ为:
3)计算步骤2)得到的各列的聚类结果被攻击者攻击成功的概率,完成开放场景下信息泄露概率的计算。
设公开数据池有N个数据库,公开数据池的数据量为R=r
则该类别的属性列被攻击者获取的概率
实施例一
本实施例针对不同数据库的结构形式如表1、表2、表3、表4及表5所示;
表1
表2
表3
表4
表5
采用本发明进行计算的具体过程为:
1)建立数据池,用来储存学生各类已经发表的数据库;
2)将所有出现过的列分割出来,组成一个集合。如本实施例中,列集合为:{学生姓名,学生性别,年龄,家庭住址,联系电话,宿舍号,传真,身高,体重,邮政编码,平均成绩,出生年月,民族,政治面貌,姓名,性别,年纪,地址,电话,从政经历,电话号码,邮编,生日,1500米成绩,引体向上个数,BMI};
3)使用自然语言处理中的词嵌入模型,本实施例中,使用腾讯AINLP模块,利用Bert模型对集合中的每个列转化为向量,并计算其互相的余弦距离大小,作为两个列的相似程度。例如:d(年龄,年纪)=0.8448,d(学生姓名,姓名)=0.7194,,d(邮政编码,邮编)=0.9242,d(地址,电话)=0.5331,d(体重,平均成绩)=0.3648。显然,越是处于同一属性的列名,相似度越高,反之,相似度越低;
4)使用K-means方法对集合中的列名进行聚类,所得聚类结果为:{学生姓名,姓名},{学生性别,性别},{年龄,年纪},{家庭住址,地址},{电话,联系电话,电话号码},{宿舍号},{传真},{身高},{体重},{邮政编码,邮编},{平均成绩},{生日,出生年月},{民族},{政治面貌},{从政经历},{1500米成绩},{引体向上个数},{BMI};
5)本实施例中,没有列名模糊/无列名/聚类结果错误的列,因此不需要人为调整;
6)根据行的个数计算攻击者获取到该列概率的大小。
例如,对于{学生姓名,姓名}类,其被攻击者获取到的概率为:R
同理,对于{引体向上个数}类其被攻击者获取到的概率为:R
机译: 概率气体爆炸场景计算系统和使用该方法的概率气体爆炸场景计算方法
机译: 概率气体爆炸场景计算系统和使用该方法的概率气体爆炸场景计算方法
机译: 订阅广播服务时防止通过强制性信息和电子签名的漏失,防止信息泄露的方法以及防止私人信息泄露的方法