CN106874788B - 一种敏感数据发布中的隐私保护方法 - Google Patents
一种敏感数据发布中的隐私保护方法 Download PDFInfo
- Publication number
- CN106874788B CN106874788B CN201710043245.6A CN201710043245A CN106874788B CN 106874788 B CN106874788 B CN 106874788B CN 201710043245 A CN201710043245 A CN 201710043245A CN 106874788 B CN106874788 B CN 106874788B
- Authority
- CN
- China
- Prior art keywords
- cluster
- coordinate array
- data
- group
- node
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
- G06F21/6263—Protecting personal data, e.g. for financial or medical purposes during internet communication, e.g. revealing personal data from cookies
Landscapes
- Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Medical Informatics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种敏感数据发布中的隐私保护方法,包括:接收来自用户的数据集以及对应的多个概化输入树,遍历数据集中的每一组数据,并依次判断该组数据中的每一列数据是否存在对应的概化输入树,如果存在,则根据该数据的属性值在对应概化输入树中查找对应的节点,并将该节点的信息输入到坐标数组中,如果不存在,则直接将该数据的属性值输入坐标数组中,从而得到m行坐标数组,并为每个坐标数组添加初始值为0的标志位,建立p个簇,从m行坐标数组中随机选择其中p行坐标数组分别作为建立的p个簇的中心点。本发明使用先聚类再概化的方法,不仅提高了计算效率,也为进行大规模计算奠定了基础。
Description
技术领域
本发明属于计算机安全领域,更具体地,涉及一种敏感数据发布中的隐私保护方法。
背景技术
随着互联网技术的迅猛发展,各种互联网应用如雨后春笋般喷涌而出。不可否认,这些互联网应用很大程度地方便了我们的生活。但是在使用这些应用的同时,我们的各种行为数据也将被各大应用厂商所储存。由于研究需要或其它目的,数据持有者需要将这些数据发布出去,从而导致用户的隐私信息泄漏,大数据环境下隐私泄露问题日益突出,加密和隐藏数据发布过程中的敏感数据变得非常重要。敏感数据需要进行隐私保护,其主要目标是,消除用户敏感数据和用户身份信息之间的对应关系。
目前主流的隐私保护策略主要是采用k-匿名的隐私保护方法,实现k-匿名的算法有很多,例如有DATAFLY算法,该算法在实现k-匿名化的时候以表中的属性为一组对于数据表中的所有元组进行K-匿名化;还有MDAV算法,该算法即先对数据集中数据进行划分,针对每个k-匿名组再进行输出。
上述采用k-匿名的隐私保护方法在选取构成k-匿名组的数据的时候是通过计算两组数据之间的相似性来判断的,要么对于属性值为混合型数据时并没有做过多探讨,要么是简单地认为当两组数据在当前坐标下的属性值相同则距离为0,属性值不同则距离为1。这样必然会造成两组数据之间的相似性计算不准确,导致k-匿名组分配的不合理。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种敏感数据发布中的隐私保护方法,其目的在于,通过使用一种基于语义的概化输入树来进行数据之间的距离计算和数据的概化输出,解决上述现有的方法中存在的由于相似性计算不准确,导致k-匿名组分配不合理的技术问题。
为实现上述目的,按照本发明的一个方面,提供了一种敏感数据发布中的隐私保护方法,包括以下步骤:
(1)接收来自用户的数据集以及对应的多个概化输入树,该数据集具有m组,每组数据具有n个属性;
(2)遍历数据集中的每一组数据,并依次判断该组数据中的每一列数据是否存在对应的概化输入树,如果存在,则根据该数据的属性值在对应概化输入树中查找对应的节点,并将该节点的信息输入到坐标数组中,如果不存在,则直接将该数据的属性值输入坐标数组中,从而得到m行坐标数组,并为每个坐标数组添加初始值为0的标志位;
(3)建立标志位分别为1,2,…,p的p个簇,从m行坐标数组中随机选择其中p行坐标数组分别作为建立的p个簇的中心点,其中0<p≤m;
(4)依次对m行坐标数组中的每一行,分别获取其与p个中心点之间的距离,选取得到的p个结果中最小值对应的中心点对应的簇,将该行坐标数组添加到对应的簇中,并将当前行坐标数组的标志位设置为当前簇的标志位;
(5)重新获取步骤(4)中得到的每个簇的中心点作为新的中心点;
(6)判断步骤(5)获得的新的中心点是否与对应的原中心点是否相同,如果相同则进入步骤(7),否则返回步骤(4);
(7)针对得到的每一个簇,判断该簇中坐标数组的个数是否大于2k,其中k是用户预先设置的匿名组的数量,是则计算出该簇的中心点,获取该簇中距离该中心点最远的坐标数组s,获取距离坐标数组s最远的坐标数组u,将距离坐标数组s最近的k-1个坐标数组与s归为一个k匿名组中,将距离坐标数组u最近的k-1个坐标数组与u归为一个k匿名组中,并将这些归入k匿名组中的坐标数组从簇中删除;否则判断该簇中坐标数组的个数是否大于k,如果是则将该簇中坐标数组归为一个k匿名组,并将这些归入k匿名组中的坐标数组从簇中删除,否则将该簇中坐标数组归入上一次归入的k匿名组中,并将这些归入k匿名组中的坐标数组从簇中删除;
(8)重复步骤(7),直到簇中的坐标数组数量为0为止;
(9)根据概化输入树对得到的多个k匿名组进行概化输出。
优选地,节点的信息包括节点所在的层数、节点的属性值、以及节点的父节点。
优选地,步骤(4)中,当元素为数字时,计算距离时是采用欧氏距离计算公式。
优选地,步骤(4)中,当元素是字符串时,如果元素的属性值相同则距离为0,属性值不同则距离为1。
优选地,步骤(4)中,当元素是节点信息时,距离的计算过程是:首先比较两个节点是否相同,相同则距离为1,不同则比较其所在的层数是否相同,如果层数相同则比较其父节点是否相同,父节点相同则距离值为1/r,其中r为所在层数,父节点不同则继续判断其各自上一级父节点是否相同,如果相同,则判断距离值等于该上一级父节点所在层数的倒数,否则继续判断其上一级父节点并重复本过程;如果层数不相同,则将层数大的节点的上一级父节点与另一个节点进行比较,看二者层数是否相同,如果层数相同,则依照上述层数相同时候的原则进行判断,如果还不相同,则继续寻找其上一级父节点,并重复本过程。
优选地,步骤(5)中,当簇中的某一列元素是数字时,中心点是通过对所有元素取平均值来获得;当簇中的某一列元素是字符串时,中心点就是出现次数最多的字符串;当簇中的某一列元素是节点信息时,首先对各节点的层数取平均值,然后向下取整,在概化输入树中搜素第一个与取整后的层数相匹配的节点作为新的中心点。
优选地,步骤(9)具体为,对于k匿名组中数字类型,是通过输出该匿名组中数字的取值范围进行概化;对于k匿名组中字符串型数据,如果该k匿名组中所有的字符串均相同,则输出该字符串,否则输出通配符;对于k匿名组中节点信息,首先比较两个节点是否相同,相同则输出当前节点,不同则比较其所在的层数是否相同,如果层数相同则比较其父节点是否相同,父节点相同则输出该父节点,父节点不同则继续判断其各自上一级父节点是否相同,如果相同,则输出该上一级父节点,否则继续判断其上一级父节点并重复本过程;如果层数不相同,则将层数大的节点的上一级父节点与另一个节点进行比较,看二者层数是否相同,如果层数相同,则依照上述层数相同时候的原则进行判断,如果还不相同,则继续寻找其上一级父节点,并重复本过程。
按照本发明的另一方面,提供了一种敏感数据发布中的隐私保护系统,包括:
第一模块,用于接收来自用户的数据集以及对应的多个概化输入树,该数据集具有m组,每组数据具有n个属性;
第二模块,用于遍历数据集中的每一组数据,并依次判断该组数据中的每一列数据是否存在对应的概化输入树,如果存在,则根据该数据的属性值在对应概化输入树中查找对应的节点,并将该节点的信息输入到坐标数组中,如果不存在,则直接将该数据的属性值输入坐标数组中,从而得到m行坐标数组,并为每个坐标数组添加初始值为0的标志位;
第三模块,用于建立标志位分别为1,2,…,p的p个簇,从m行坐标数组中随机选择其中p行坐标数组分别作为建立的p个簇的中心点,其中0<p≤m;
第四模块,用于依次对m行坐标数组中的每一行,分别获取其与p个中心点之间的距离,选取得到的p个结果中最小值对应的中心点对应的簇,将该行坐标数组添加到对应的簇中,并将当前行坐标数组的标志位设置为当前簇的标志位;
第五模块,用于重新获取第四模块中得到的每个簇的中心点作为新的中心点;
第六模块,用于判断第五模块获得的新的中心点是否与对应的原中心点是否相同,如果相同则进入第七模块,否则返回第四模块;
第七模块,用于针对得到的每一个簇,判断该簇中坐标数组的个数是否大于2k,其中k是用户预先设置的匿名组的数量,是则计算出该簇的中心点,获取该簇中距离该中心点最远的坐标数组s,获取距离坐标数组s最远的坐标数组u,将距离坐标数组s最近的k-1个坐标数组与s归为一个k匿名组中,将距离坐标数组u最近的k-1个坐标数组与u归为一个k匿名组中,并将这些归入k匿名组中的坐标数组从簇中删除;否则判断该簇中坐标数组的个数是否大于k,如果是则将该簇中坐标数组归为一个k匿名组,并将这些归入k匿名组中的坐标数组从簇中删除,否则将该簇中坐标数组归入上一次归入的k匿名组中,并将这些归入k匿名组中的坐标数组从簇中删除;
第八模块,用于重复第七模块,直到簇中的坐标数组数量为0为止;
第九模块,用于根据概化输入树对得到的多个k匿名组进行概化输出。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:
(1)本发明相似性计算准确,并可以保证k-匿名组分配合理性:由于本发明采用了步骤(4)和(7),在计算数据之间距离的时候采用基于概化输入树的距离计算方式因此保证了原始数据在语义上一定程度的保留
(2)本发明减少了现有方法的执行时间;由于本发明通过步骤(5)和(6)实现了数据的聚类,并且本发明的步骤(4)、(5)和(7)均能部署在诸如Hadoop的大数据平台上,因此可减少本方法的执行时间,提高了执行效率。
附图说明
图1是本发明敏感数据发布中的隐私保护方法的流程图。
图2是本发明中使用的概化输入树的示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
以下首先就本发明的技术术语进行解释和说明:
标识符与准标识符。对于一组数据,能唯一标识用户身份的成为标识符,如姓名,身份证号等。不能唯一标识用户但存在属于用户自身信息的一条属性或属性组合的称为准标识符(Quasi-Identifiers,简称QI),准标识符能连通外部数据一起对缩小用户范围从而达到标识用户的目的。
k-匿名。给定数据表T={t1,t2,t3,t4…..tn},QI为定义在T上的准标识符。当且仅当T[QI]每一组数据个数大于或等于k的时候称T满足k-匿名。
总体而言,本发明是分成两部分来完成:
1、预处理。所谓预处理即将数据分为g个簇,每个簇内相关性大,而簇与簇之间的相关性较小。由于在分类过程中并没有进行k-匿名化,故时间消耗较小。并且也不会影响到最后k-匿名时匿名组内数据的相关性。
2、匿名化。将预处理后的每个簇分别进行k-划分。每个簇的匿名化互不影响,存在可以使用并行分布式工具高速处理的可能性。并且相比原始数据每个簇内的数据较小,每次需要比较的点间距离也就小的多,缩短了算法进行的时间。
如图1所示,本发明敏感数据发布中的隐私保护方法包括以下步骤:
(1)接收来自用户的数据集以及对应的多个概化输入树;具体而言,该数据集具有m组,每组数据具有n个属性,其中m和n都是自然数,概化输入树采用的是一种树形的结构(即父节点和子节点结合的方式),用于表示数据概化之间的关系,数据集中的不同列具有不同的属性,该列所对应的概化输入树就描述了该列属性对应的多个属性值之间的概化规则,该概化输入树的数量是小于或等于数据集中每组数据的属性数量;
例如,输入的数据集如下表所示:输入4组数据,每组数据有4个属性值。
年龄 | 位置 | 邮编 | 性别 |
22 | 武汉 | 430014 | 男 |
29 | 宜昌 | 430014 | 男 |
34 | 长沙 | 430014 | 女 |
23 | 湖南 | 430015 | 女 |
图2是一个概化输入树的示意图,可以很清楚的从该图看出,其是与上述实例中的“位置”属性相对应的概化输入图,且该输入树层数为3。
(2)遍历数据集中的每一组数据,并依次判断该组数据中的每一列数据是否存在对应的概化输入树,如果存在,则根据该数据的属性值在对应概化输入树中查找对应的节点,并将该节点的信息输入到坐标数组中,如果不存在,则直接将该数据的属性值(其可能为数字或字符串)输入坐标数组中,从而得到m行坐标数组,并为每个坐标数组添加初始值为0的标志位;具体而言,节点的信息包括节点所在的层数、节点的属性值、以及节点的父节点;
上述步骤(1)的例子,经过本步骤处理后变为:
年龄 | 位置 | 邮编 | 性别 | 标志位 |
22 | {“武汉“,3,湖北} | 430014 | 男 | 0 |
29 | {“宜昌”,3,湖北} | 430014 | 男 | 0 |
34 | {“长沙”,3,湖南} | 430014 | 女 | 0 |
23 | {“湖南”,2,中国} | 430015 | 女 | 0 |
(3)建立标志位分别为1,2,...,p的p个簇(其中0<p≤m),从m行坐标数组中随机选择其中p行坐标数组分别作为建立的p个簇的中心点;
上述步骤(1)的例子,经过本步骤处理后变为:
簇1
(4)依次对m行坐标数组中的每一行,分别获取其与p个中心点之间的距离(即每行坐标数组中所有元素与中心点中对应元素距离的和),选取得到的p个结果中最小值对应的中心点对应的簇,将该行坐标数组添加到对应的簇中,并将当前行坐标数组的标志位设置为当前簇的标志位;
具体而言,计算每行坐标数组中的元素与中心点中对应元素之间的距离是采用如下原则:
(i)元素为数字时,计算距离时是采用欧氏距离计算公式。
(ii)元素是字符串时,即用户没有输入对应的概化输入树,此时计算两点间距离时,如果元素的属性值相同则间距为0,属性值不同则间距为1;
(iii)元素是节点信息时,即用户对当前属性输入了其概化输入树,那么计算元素间间距的时候,在定义概化输入树的时候已经提到了不同节点之间的距离计算办法,具体实施办法是:首先比较两个节点是否相同,相同则距离为1,不同则比较其所在的层数是否相同,如果层数相同则比较其父节点是否相同,父节点相同则距离值为1/r,其中r为所在层数,父节点不同则继续判断其各自上一级父节点是否相同,如果相同,则判断距离值等于该上一级父节点所在层数的倒数,否则继续判断其上一级父节点并重复本过程;如果层数不相同,则将层数大的节点的上一级父节点与另一个节点进行比较,看二者层数是否相同,如果层数相同,则依照上述层数相同时候的原则进行判断,如果还不相同,则继续寻找其上一级父节点,并重复本过程。
上述步骤(1)的例子,经过本步骤处理后变为:
簇1
簇2|
(5)重新获取步骤(4)中得到的每个簇的中心点作为新的中心点;具体而言,当簇中的某一列元素是数字时,中心点是通过对所有元素取平均值来获得;当簇中的某一列元素是字符串时,中心点就是出现次数最多的字符串;当簇中的某一列元素是节点信息时,首先对各节点的层数取平均值,然后向下取整,在概化输入树中搜素第一个与取整后的层数相匹配的节点作为新的中心点。
(6)判断步骤(5)获得的新的中心点是否与对应的原中心点是否相同,如果相同则进入步骤(7),否则返回步骤(4);
(7)针对得到的每一个簇,判断该簇中坐标数组的个数是否大于2k,其中k是用户预先设置的匿名组的数量,是则计算出该簇的中心点,获取该簇中距离该中心点最远的坐标数组s(其中计算中心点和距离的过程均在上述文字中予以描述,在此不再赘述),获取距离坐标数组s最远的坐标数组u,将距离坐标数组s最近的k-1个坐标数组与s归为一个k匿名组中,将距离坐标数组u最近的k-1个坐标数组与u归为一个k匿名组中,并将这些归入k匿名组中的坐标数组从簇中删除;否则判断该簇中坐标数组的个数是否大于k,如果是则将该簇中坐标数组归为一个k匿名组,并将这些归入k匿名组中的坐标数组从簇中删除,否则将该簇中坐标数组归入上一次归入的k匿名组中,并将这些归入k匿名组中的坐标数组从簇中删除;
上述步骤(1)的例子,经过本步骤处理后变为:
匿名组1
22 | {“武汉“,3,湖北} | 430014 | 男 |
29 | “宜昌”,3,湖北} | 430014 | 男 |
匿名组2
34 | {“长沙”,3,湖南} | 430014 | 女 |
23 | {“湖南”,2,中国} | 430015 | 女 |
(8)重复步骤(7),直到簇中的坐标数组数量为0为止;
(9)根据概化输入树对得到的多个k匿名组进行概化输出;具体而言,对于k匿名组中数字类型的概化,是通过输出该匿名组中数字的取值范围进行概化;对于k匿名组中字符串型数据,如果该k匿名组中所有的字符串均相同,则输出该字符串,否则输出通配符(例如*号等);对于k匿名组中节点信息的概化,首先比较两个节点是否相同,相同则输出当前节点,不同则比较其所在的层数是否相同,如果层数相同则比较其父节点是否相同,父节点相同则输出该父节点,父节点不同则继续判断其各自上一级父节点是否相同,如果相同,则输出该上一级父节点,否则继续判断其上一级父节点并重复本过程;如果层数不相同,则将层数大的节点的上一级父节点与另一个节点进行比较,看二者层数是否相同,如果层数相同,则依照上述层数相同时候的原则进行判断,如果还不相同,则继续寻找其上一级父节点,并重复本过程。
上述步骤(1)的例子,经过本步骤处理后变为:
年龄 | 位置 | 邮编 | 性别 |
[22-29] | 湖北 | 430014 | 男 |
[22-29] | 湖北 | 430014 | 男 |
[23-34] | 湖南 | 43001* | 女 |
[23-34] | 湖南 | 43001* | 女 |
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种敏感数据发布中的隐私保护方法,其特征在于,包括以下步骤:
(1)接收来自用户的数据集以及对应的多个概化输入树,该数据集具有m组,每组数据具有n个属性;其中概化输入树采用的是一种树形的结构,即父节点和子节点结合的方式,用于表示数据概化之间的关系,数据集中的不同列具有不同的属性,该列所对应的概化输入树就描述了该列属性对应的多个属性值之间的概化规则,该概化输入树的数量是小于或等于数据集中每组数据的属性数量;
(2)遍历数据集中的每一组数据,并依次判断该组数据中的每一列数据是否存在对应的概化输入树,如果存在,则根据该数据的属性值在对应概化输入树中查找对应的节点,并将该节点的信息输入到坐标数组中,如果不存在,则直接将该数据的属性值输入坐标数组中,从而得到m行坐标数组,并为每个坐标数组添加初始值为0的标志位;
(3)建立标志位分别为1,2,…,p的p个簇,从m行坐标数组中随机选择其中p行坐标数组分别作为建立的p个簇的中心点,其中0<p≤m;
(4)依次对m行坐标数组中的每一行,分别获取其与p个中心点之间的距离,选取得到的p个结果中最小值对应的中心点对应的簇,将该行坐标数组添加到对应的簇中,并将当前行坐标数组的标志位设置为当前簇的标志位;
(5)重新获取步骤(4)中得到的每个簇的中心点作为新的中心点;
(6)判断步骤(5)获得的新的中心点是否与对应的原中心点是否相同,如果相同则进入步骤(7),否则返回步骤(4);
(7)针对得到的每一个簇,判断该簇中坐标数组的个数是否大于2k,其中k是用户预先设置的匿名组的数量,是则计算出该簇的中心点,获取该簇中距离该中心点最远的坐标数组s,获取距离坐标数组s最远的坐标数组u,将距离坐标数组s最近的k-1个坐标数组与s归为一个k匿名组中,将距离坐标数组u最近的k-1个坐标数组与u归为一个k匿名组中,并将这些归入k匿名组中的坐标数组从簇中删除;否则判断该簇中坐标数组的个数是否大于k,如果是则将该簇中坐标数组归为一个k匿名组,并将这些归入k匿名组中的坐标数组从簇中删除,否则将该簇中坐标数组归入上一次归入的k匿名组中,并将这些归入k匿名组中的坐标数组从簇中删除;
(8)重复步骤(7),直到簇中的坐标数组数量为0为止;
(9)根据概化输入树对得到的多个k匿名组进行概化输出,其具体为,对于k匿名组中数字类型,是通过输出该匿名组中数字的取值范围进行概化;对于k匿名组中字符串型数据,如果该k匿名组中所有的字符串均相同,则输出该字符串,否则输出通配符;对于k匿名组中节点信息,首先比较两个节点是否相同,相同则输出当前节点,不同则比较其所在的层数是否相同,如果层数相同则比较其父节点是否相同,父节点相同则输出该父节点,父节点不同则继续判断其各自上一级父节点是否相同,如果相同,则输出该上一级父节点,否则继续判断其上一级父节点并重复本过程;如果层数不相同,则将层数大的节点的上一级父节点与另一个节点进行比较,看二者层数是否相同,如果层数相同,则依照上述层数相同时候的原则进行判断,如果还不相同,则继续寻找其上一级父节点,并重复本过程。
2.根据权利要求1所述的敏感数据发布中的隐私保护方法,其特征在于,节点的信息包括节点所在的层数、节点的属性值、以及节点的父节点。
3.根据权利要求1所述的敏感数据发布中的隐私保护方法,其特征在于,步骤(4)中,当元素为数字时,计算距离时是采用欧氏距离计算公式。
4.根据权利要求1所述的敏感数据发布中的隐私保护方法,其特征在于,步骤(4)中,当元素是字符串时,如果元素的属性值相同则距离为0,属性值不同则距离为1。
5.根据权利要求1所述的敏感数据发布中的隐私保护方法,其特征在于,步骤(4)中,当元素是节点信息时,距离的计算过程是:首先比较两个节点是否相同,相同则距离为1,不同则比较其所在的层数是否相同,如果层数相同则比较其父节点是否相同,父节点相同则距离值为1/r,其中r为所在层数,父节点不同则继续判断其各自上一级父节点是否相同,如果相同,则判断距离值等于该上一级父节点所在层数的倒数,否则继续判断其上一级父节点并重复本过程;如果层数不相同,则将层数大的节点的上一级父节点与另一个节点进行比较,看二者层数是否相同,如果层数相同,则依照上述层数相同时候的原则进行判断,如果还不相同,则继续寻找其上一级父节点,并重复本过程。
6.根据权利要求1所述的敏感数据发布中的隐私保护方法,其特征在于,步骤(5)中,当簇中的某一列元素是数字时,中心点是通过对所有元素取平均值来获得;当簇中的某一列元素是字符串时,中心点就是出现次数最多的字符串;当簇中的某一列元素是节点信息时,首先对各节点的层数取平均值,然后向下取整,在概化输入树中搜素第一个与取整后的层数相匹配的节点作为新的中心点。
7.一种敏感数据发布中的隐私保护系统,其特征在于,包括:
第一模块,用于接收来自用户的数据集以及对应的多个概化输入树,该数据集具有m组,每组数据具有n个属性;其中概化输入树采用的是一种树形的结构,即父节点和子节点结合的方式,用于表示数据概化之间的关系,数据集中的不同列具有不同的属性,该列所对应的概化输入树就描述了该列属性对应的多个属性值之间的概化规则,该概化输入树的数量是小于或等于数据集中每组数据的属性数量;
第二模块,用于遍历数据集中的每一组数据,并依次判断该组数据中的每一列数据是否存在对应的概化输入树,如果存在,则根据该数据的属性值在对应概化输入树中查找对应的节点,并将该节点的信息输入到坐标数组中,如果不存在,则直接将该数据的属性值输入坐标数组中,从而得到m行坐标数组,并为每个坐标数组添加初始值为0的标志位;
第三模块,用于建立标志位分别为1,2,…,p的p个簇,从m行坐标数组中随机选择其中p行坐标数组分别作为建立的p个簇的中心点,其中0<p≤m;
第四模块,用于依次对m行坐标数组中的每一行,分别获取其与p个中心点之间的距离,选取得到的p个结果中最小值对应的中心点对应的簇,将该行坐标数组添加到对应的簇中,并将当前行坐标数组的标志位设置为当前簇的标志位;
第五模块,用于重新获取第四模块中得到的每个簇的中心点作为新的中心点;
第六模块,用于判断第五模块获得的新的中心点是否与对应的原中心点是否相同,如果相同则进入第七模块,否则返回第四模块;
第七模块,用于针对得到的每一个簇,判断该簇中坐标数组的个数是否大于2k,其中k是用户预先设置的匿名组的数量,是则计算出该簇的中心点,获取该簇中距离该中心点最远的坐标数组s,获取距离坐标数组s最远的坐标数组u,将距离坐标数组s最近的k-1个坐标数组与s归为一个k匿名组中,将距离坐标数组u最近的k-1个坐标数组与u归为一个k匿名组中,并将这些归入k匿名组中的坐标数组从簇中删除;否则判断该簇中坐标数组的个数是否大于k,如果是则将该簇中坐标数组归为一个k匿名组,并将这些归入k匿名组中的坐标数组从簇中删除,否则将该簇中坐标数组归入上一次归入的k匿名组中,并将这些归入k匿名组中的坐标数组从簇中删除;
第八模块,用于重复第七模块,直到簇中的坐标数组数量为0为止;
第九模块,用于根据概化输入树对得到的多个k匿名组进行概化输出,其具体为,对于k匿名组中数字类型,是通过输出该匿名组中数字的取值范围进行概化;对于k匿名组中字符串型数据,如果该k匿名组中所有的字符串均相同,则输出该字符串,否则输出通配符;对于k匿名组中节点信息,首先比较两个节点是否相同,相同则输出当前节点,不同则比较其所在的层数是否相同,如果层数相同则比较其父节点是否相同,父节点相同则输出该父节点,父节点不同则继续判断其各自上一级父节点是否相同,如果相同,则输出该上一级父节点,否则继续判断其上一级父节点并重复本过程;如果层数不相同,则将层数大的节点的上一级父节点与另一个节点进行比较,看二者层数是否相同,如果层数相同,则依照上述层数相同时候的原则进行判断,如果还不相同,则继续寻找其上一级父节点,并重复本过程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710043245.6A CN106874788B (zh) | 2017-01-19 | 2017-01-19 | 一种敏感数据发布中的隐私保护方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710043245.6A CN106874788B (zh) | 2017-01-19 | 2017-01-19 | 一种敏感数据发布中的隐私保护方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106874788A CN106874788A (zh) | 2017-06-20 |
CN106874788B true CN106874788B (zh) | 2019-10-08 |
Family
ID=59159140
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710043245.6A Active CN106874788B (zh) | 2017-01-19 | 2017-01-19 | 一种敏感数据发布中的隐私保护方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106874788B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107358116B (zh) * | 2017-06-29 | 2019-09-10 | 华中科技大学 | 一种多敏感属性数据发布中的隐私保护方法 |
CN107493268B (zh) * | 2017-07-27 | 2019-05-31 | 华中科技大学 | 一种基于前位置矢量的差分隐私保护方法 |
CN107563204B (zh) * | 2017-08-24 | 2020-12-01 | 西安电子科技大学 | 一种匿名数据的隐私泄露风险评估方法 |
CN110365468B (zh) | 2018-04-11 | 2021-09-14 | 华为技术有限公司 | 匿名化处理方法、装置、设备及存储介质 |
CN113127924A (zh) * | 2019-12-30 | 2021-07-16 | 财团法人工业技术研究院 | 数据匿名方法与数据匿名系统 |
US11301639B2 (en) | 2020-06-26 | 2022-04-12 | Huawei Technologies Co., Ltd. | Methods and systems for generating a reference data structure for anonymization of text data |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102314565A (zh) * | 2010-07-02 | 2012-01-11 | 日电(中国)有限公司 | 数据匿名化装置和方法 |
CN105608389A (zh) * | 2015-10-22 | 2016-05-25 | 广西师范大学 | 医疗数据发布的差分隐私保护方法 |
CN106096445A (zh) * | 2016-06-12 | 2016-11-09 | 徐州医科大学 | 基于抽样泛化路径的K‑Anonymity数据处理方法 |
-
2017
- 2017-01-19 CN CN201710043245.6A patent/CN106874788B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102314565A (zh) * | 2010-07-02 | 2012-01-11 | 日电(中国)有限公司 | 数据匿名化装置和方法 |
CN105608389A (zh) * | 2015-10-22 | 2016-05-25 | 广西师范大学 | 医疗数据发布的差分隐私保护方法 |
CN106096445A (zh) * | 2016-06-12 | 2016-11-09 | 徐州医科大学 | 基于抽样泛化路径的K‑Anonymity数据处理方法 |
Non-Patent Citations (2)
Title |
---|
"t-closeness: Privacy beyond k-anonymity and l-diversity";Ninghui Li等;《2007 IEEE 23rd International Conference on Data Engineering》;20071231;第106-115页 * |
"数据发布中的隐私保护方法研究";魏琼;《中国优秀硕士学位论文全文数据库 信息科技辑》;20091215;第I138-9页,正文第2,5章 * |
Also Published As
Publication number | Publication date |
---|---|
CN106874788A (zh) | 2017-06-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106874788B (zh) | 一种敏感数据发布中的隐私保护方法 | |
Fu et al. | Towards efficient content-aware search over encrypted outsourced data in cloud | |
Bahmani et al. | Efficient distributed locality sensitive hashing | |
CN101404032B (zh) | 一种基于内容的视频检索方法及系统 | |
Gupta et al. | On detecting association-based clique outliers in heterogeneous information networks | |
CN103678583B (zh) | 结构化数据比较的方法及系统 | |
CN103810192A (zh) | 一种用户的兴趣推荐方法和装置 | |
Li et al. | Optimal multi-meeting-point route search | |
CN103020256A (zh) | 一种大规模数据的关联规则挖掘方法 | |
US9934289B2 (en) | Fuzzy full text search | |
CN110490589A (zh) | 硬件钱包创建方法、装置及硬件钱包 | |
CN105677695B (zh) | 一种基于内容的计算移动应用相似性的方法 | |
CN109408681A (zh) | 一种字符串匹配方法、装置、设备及可读存储介质 | |
CN105138664A (zh) | 一种隐私保护的大数据推荐方法及系统 | |
CN104915860A (zh) | 一种商品推荐方法及装置 | |
CN107273467A (zh) | 一种支持可搜索加密的安全索引结构及其构造方法 | |
Gulzar et al. | A framework for evaluating skyline queries over incomplete data | |
CN102999495B (zh) | 一种同义词语义映射关系确定方法及装置 | |
CN102214216B (zh) | 一种层次关系数据上关键字检索结果的聚合摘要方法 | |
CN108664808B (zh) | 一种面向图书搜索服务的用户敏感主题保护方法及系统 | |
Chehreghani | Efficient computation of pairwise minimax distance measures | |
CN107229704A (zh) | 一种基于ksp算法的资源描述框架查询方法和系统 | |
da Silva Villaca et al. | A similarity search system based on the hamming distance of social profiles | |
Cui et al. | An efficient subscription index for publication matching in the cloud | |
CN102855278A (zh) | 一种仿真方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |