一种基于安全多方聚类方法的数据隐私性保护方法与流程

文档序号:31714434发布日期:2022-10-04 21:08阅读:79来源:国知局
一种基于安全多方聚类方法的数据隐私性保护方法与流程

1.本发明涉及信息安全技术领域,特别涉及一种基于安全多方聚类方法的数据隐私性保护方法。


背景技术:

2.随着云计算、物联网及移动互联网等新一代信息技术的迅速发展,新增数据量呈现爆炸式增长态势,利用这些海量数据执行计算分析,能够创造难以估量的价值。但伴随着海量数据的不断产生,安全性也成为人们无法忽略的问题,数据安全与隐私保护变得非常迫切。大数据时代的特点之一是数据由不同的实体掌握,为了实现资源共享,这些实体希望通过合作获取有价值的计算结果,但前提是合作方式能够保护各方的数据隐私。
3.安全多方计算是一种安全的协同计算技术,可以解决互不信任的多个参与方安全计算一个约定函数的问题,其“安全”体现在整个计算过程,参与方除了正确的输出以及由此可以推出的信息外,无法获知任何额外信息。其中安全两方计算最为常见。作为安全多方计算的特殊实例,安全两方计算有着较为广泛的应用场景,且在效率方面具有优势。
4.聚类是数据分析中最常用的技术之一,k-medoids聚类对噪声的鲁棒性比较好,是一种典型的聚类算法。k-medoids算法主要将样本数据划分为k个不相交的子集,使得同一集合的元素相似度更高,不同集合的元素相似度更低。作为一种无监督学习方法,k-medoids聚类的应用非常广泛。但是在实际应用场景中,数据样本往往属于不同的用户(如政府、企业、机构、个人等),出于隐私保护的目的,用户不希望与其他用户共享私有数据,因此,如何在保护数据隐私性的前提下实现多用户的k-medoids聚类计算至关重要。
5.在这种场景下,可以应用安全多方计算来解决这个问题。然而,针对聚类算法的安全多方计算方案,进而实现数据隐私性的保护却鲜有人研究。因此,针对聚类算法设计专门的安全多方计算实现数据隐私性的保护,在现实场景中成为急迫需求。


技术实现要素:

6.本发明的主要目的在于提出一种基于安全多方聚类方法的数据隐私性保护方法,可以解决上述多方计算数据隐私性得不到有效保护的技术问题,可以实现在多用户场景中k-medoids聚类算法的安全计算,可保证在半诚实模型下的安全性。
7.为实现上述目的,本发明采取的技术方案为:
8.本发明实施例提供一种基于安全多方聚类方法的数据隐私性保护方法,包括:
9.s10、聚类计算方调用paillier加密方案的密钥生成算法,生成公钥和私钥;数据拥有方利用加法同态加密方案,使用所述公钥对数据样本进行加密,并将加密后的密文上传至独立的辅助计算服务器;
10.s20、所述聚类计算方和辅助计算服务器进行交互,运行一个安全两方计算协议,计算过程均在密文状态下进行;所述安全两方计算协议以k-medoids聚类计算协议以及安全两方密文乘法计算、安全两方欧氏距离计算、安全两方最小元素标记计算、安全两方距离
之和计算为组件。
11.进一步地,所述s20步骤,包括:
12.s201、所述辅助计算服务器随机选定k个数据点作为初始簇的簇中心,计算数据点到簇中心的距离,并将数据划分到距离它最近的簇中心所在的簇;
13.s202、所述辅助计算服务器重新计算新簇的中心,计算簇内所有数据点到其中一个数据点的距离之和,选出使距离之和最小的数据点作为新簇的中心;
14.s203、重复执行上述s201~s202过程直到计算收敛或达到算法的终止条件,则聚类结束;
15.s204、辅助计算服务器将聚类中心对应的密文发送给聚类计算方,聚类计算方解密得到k个聚类中心。
16.进一步地,所述安全两方密文乘法计算为基于加法同态密文的安全两方乘法计算协议:
17.涉及两个参与方p1和p2,p1调用paillier加密生成公私钥,输入公钥pk和私钥sk;p2输入pk以及使用pk加密明文x和y得到的密文[x]和[y];
[0018]
协议执行结束后,p2得到输出[x
·
y],即明文x和y乘积的密文;p1无输出。
[0019]
进一步地,所述安全两方欧氏距离计算为基于加法同态密文的安全两方距离计算协议:
[0020]
涉及两个参与方p1和p2,p1调用paillier加密生成公私钥,输入公钥pk和私钥sk;p2输入pk以及使用pk加密l维向量x=(x1,x2,

,x
l
)和l维向量y=(y1,y2,

,y
l
)得到的密文向量([x1],[x2],

,[x
l
])和([y1],[y2],

,[y
l
]);
[0021]
协议执行结束后,p2得到距离值d=||x-y||对应的密文y||对应的密文p1无输出。
[0022]
进一步地,所述安全两方最小元素标记计算为基于加法同态密文的安全两方最小元素标记计算协议:
[0023]
协议涉及两个参与方p1和p2,p1调用paillier加密生成公私钥,输入公钥pk和私钥sk;p2输入pk以及使用pk加密k维向量d=(d1,d2…
,dk)得到的密文向量[d]=([d1],[d2]

,[dk]);
[0024]
协议执行结束后,p1没有输出;p2输出一个k维的密文向量[f]=([f1],[f2]

,[fk]),其中f
t
=1,f
j∈[1,k],j≠t
=0,t=argmin(d)表示向量d=(d1,d2…
,dk)中最小元素的序号。
[0025]
进一步地,所述安全两方距离之和计算为基于加法同态密文的两方距离之和计算协议;
[0026]
涉及两个参与方p1和p2,p1调用paillier加密生成公私钥,输入公钥pk和私钥sk;p2输入pk以及使用pk加密的样本的密文输入pk以及使用pk加密的样本的密文
[0027]
协议执行结束后,p2得到numj维密文向量p1无输出。
[0028]
与现有技术相比,本发明具有如下有益效果:
[0029]
1.在求解的任何过程中,数据始终以加密形式传递或者计算,保证了每个参与者
的数据的隐私性。
[0030]
2.该方法对噪声具有较强的抗鲁棒性。
[0031]
3.该方法的计算开销小。
附图说明
[0032]
图1为本发明实施例提供的基于安全多方聚类的数据隐私性保护交互模型图;
[0033]
图2为本发明实施例提供的基于安全多方聚类的数据隐私性保护方法的流程图。
具体实施方式
[0034]
为使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体实施方式,进一步阐述本发明。
[0035]
在本发明的描述中,需要说明的是,术语“上”、“下”、“内”、“外”“前端”、“后端”、“两端”、“一端”、“另一端”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性。
[0036]
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“设置有”、“连接”等,应做广义理解,例如“连接”,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
[0037]
本发明提供的一种基于安全多方聚类方法的数据隐私性保护方法,可以在多用户场景的联合数据集上实现安全的k-medoids聚类计算,基于安全多方计算,如图1所示,涉及由n个数据拥有方、1个聚类计算方、1个辅助计算服务器组成的系统。
[0038]
本系统假设所有实体都是半诚实的,并且聚类计算方c与辅助计算服务器as之间不能合谋。
[0039]
参照图2所示,基于安全多方聚类方法的数据隐私性保护方法,包括:
[0040]
s10、聚类计算方调用paillier加密方案的密钥生成算法,生成公钥和私钥;数据拥有方利用加法同态加密方案,使用所述公钥对数据样本进行加密,并将加密后的密文上传至独立的辅助计算服务器;
[0041]
s20、所述聚类计算方和辅助计算服务器进行交互,运行一个安全两方计算协议,计算过程均在密文状态下进行;所述安全两方计算协议以k-medoids聚类计算协议以及安全两方密文乘法计算、安全两方欧氏距离计算、安全两方最小元素标记计算、安全两方距离之和计算为组件。
[0042]
上述两个步骤分别是初始化阶段和聚类计算阶段:
[0043]
初始化阶段:第一步,聚类计算方调用paillier加密方案的密钥生成算法,生成公钥和私钥,并将公钥公开。第二步,数据拥有方利用加法同态加密方案(paillier加密方案),使用公钥对数据样本进行加密,并上传密文至独立的辅助计算服务器,随后的计算过程无需用户在线。在初始化阶段数据的安全由paillier加密方案的安全性保证。
[0044]
聚类计算阶段:聚类计算方和辅助计算服务器进行交互,运行一个安全两方计算协议,计算过程均在密文状态下进行。协议以k-medoids聚类计算协议以及安全两方密文乘法计算、安全两方欧氏距离计算、安全两方最小元素标记计算、安全两方距离之和计算为组件。具体过程为:第一步,辅助计算服务器随机选定k个数据点作为初始簇的簇中心,计算数据点到簇中心的距离,并将数据划分到距离它最近的簇中心所在的簇;第二步,辅助计算服务器重新计算新簇的中心,即计算簇内所有数据点到其中一个数据点的距离之和,选出使距离之和最小的数据点作为新簇的中心。重复执行上述过程直到计算收敛或达到算法的终止条件(即达到最大执行轮数),则聚类结束;第三步,辅助计算服务器将聚类中心对应的密文发送给聚类计算方,聚类计算方解密得到k个聚类中心。
[0045]
举例来说:如图1所示,假设系统中有n个数据拥有方(data owner,do)do1,do2,

,don,1个聚类计算方(cluster calculator,c)和1个辅助计算服务器(assisted server,as)。每个数据拥有方doi独立地拥有计算聚类所需的私有数据xi,他们愿意配合聚类计算方在他们的全体数据上进行聚类计算。出于隐私保护的考虑,doi不希望其他实体(包括聚类计算方c,辅助计算方as以及其他数据拥有者doj,j≠i)能够获取其私有数据。doi使用加法同态加密方案对样本数据加密并上传至独立的辅助计算服务器。假设系统中的所有实体都是半诚实的,并且聚类计算方c与辅助计算服务器as之间不能合谋。系统分为初始化和聚类计算两个阶段。
[0046]
具体的实现方案如下:
[0047]
本发明涉及信息安全技术领域,针对聚类计算方利用多个用户样本数据执行聚类计算的场景,研究了k-medoids聚类算法的安全多方计算方案。
[0048]
本方案包括n个数据拥有方、1个聚类计算方、1个辅助计算服务器。在本方案的实际应用中,数据样本属于不同的用户(如政府、企业、机构、个人等),他们独立地拥有计算聚类所需的私有数据,并且愿意配合聚类计算方在他们的全体数据上进行聚类计算。出于隐私保护的目的,用户不希望其他实体(包括聚类计算方、辅助计算服务器和其他用户)获取其私有数据。方案引入了一个辅助计算服务器,用户使用paillier加密方案对样本数据进行加密,并将密文上传至独立的辅助计算服务器,聚类计算方和辅助计算服务器进行交互,运行一个安全两方计算协议,计算过程均在密文状态下进行,同时,聚类计算过程无需用户在线。
[0049]
本发明构造了只需常数轮交互的安全多方k-medoids聚类计算协议,协议分为初始化和聚类计算两个阶段。在初始化阶段,用户离线加密样本数据,计算过程不需要一直在线;在聚类计算阶段,由性能强大的云服务器扮演辅助计算方,用户只需具备很小的计算能力就足够。此外,借助混合协议转换技术,无需使用昂贵的比特分解,计算效率很高。通过安全的聚类计算,将用户的样本数据划分为k个不相交的子集,使得同一集合的元素相似度更高,不同集合的元素相似度更低。本发明可广泛应用于基于用户位置信息的商业选址、图像分割、网站关键词分析、用户画像等场景中。
[0050]
1.初始化阶段
[0051]
第一步,聚类计算方调用paillier加密方案的密钥生成算法kengen,生成公钥pk和私钥sk;
[0052]
第二步,用户使用paillier加密方案对样本数据进行加密,并将密文上传至独立
的辅助计算服务器,随后的计算过程无需用户在线。具体来说,数据拥有者doi,i={1,2,

,n}使用公钥pk对矢量数据xi=(x
i,1
,x
i,2


,x
i,l
)加密,其中l是向量xi的维度,得到对应的密文[xi]=([x
i,1
],[x
i,2
],

,[x
i,l
]),并将其发送给辅助计算服务器as。其中:
[0053]
[xi]=enc(pk,xi)
[0054]
=(enc(pk,x
i,1
),enc(pk,x
i,2
),

,enc(pk,x
i,l
))
[0055]
=([x
i,1
],[x
i,2
],

,[x
i,l
])
[0056]
2.聚类计算阶段
[0057]
本阶段聚类计算方c与辅助计算服务器as进行交互,运行一个安全两方计算协议,计算过程均在密文状态下进行,此功能函数如下:
[0058][0059]
该计算协议的具体内容如下:
[0060]
[0061]
[0062][0063]
上述协议执行过程需要调用基于加法同态密文的两方乘法计算函数两方距离计算函数最小元素标记函数两方距离之和计算函数这四个函数的具体执行过程如下:
[0064]
(1)基于加法同态密文的两方乘法计算
[0065]
该计算协议涉及两个参与方p1和p2,p1调用paillier加密生成公私钥,输入公钥pk和私钥sk;p2输入pk以及使用pk加密明文x和y得到的密文[x]和[y]。协议执行结束后,p2得到输出[x
·
y],即明文x和y乘积的密文;p1无输出。函数和协议如下:
[0066][0067]
[0068][0069]
(2)基于加法同态密文的两方距离计算
[0070]
该计算协议涉及两个参与方p1和p2,p1调用paillier加密生成公私钥,输入公钥pk和私钥sk;p2输入pk以及使用pk加密l维向量x=(x1,x2,

,x
l
)和y=(y1,y2,

,y
l
)得到的密文向量([x1],[x2],

,[x
l
])和([y1],[y2],

,[y
l
])。协议执行结束后,p2得到距离值d=||x-y||对应的密文p1无输出。
[0071]
[0072][0073][0074]
(3)基于加法同态密文的最小元素标记函数
[0075]
协议涉及两个参与方p1和p2,p1调用paillier加密生成公私钥,输入公钥pk和私钥sk;p2输入pk以及使用pk加密k维向量d=(d1,d2…
,dk)得到的密文向量[d]=([d1],[d2]

,[dk])。协议执行结束后,p1没有输出;p2输出一个k维的密文向量[f]=([f1],[f2]

,[fk]),其中f
t
=1,f
j∈[1,k],j≠t
=0,t=argmin(d)表示向量d=(d1,d2…
,dk)最小元素的序号。
[0076]
[0077][0078]
下面给出最小元素标记协议的具体构造。首先,协议将p2掌握的同态密文转换为p1和p2分享的算术秘密份额,并执行a2y转换得到yao分享份额。随后,调用yao协议安全计算argmin函数获得序列中最小元素序号的yao分享份额,通过安全计算equality函数获得最小元素标记序列的yao分享份额。最后调用y2a转换得到相应的算术秘密分享份额。为方便后续运算,再将算术秘密分享份额再转换为p2掌握的同态密文形式。以上操作均可通过常数轮交互完成。
[0079]
[0080][0081]
(4)基于加法同态密文的两方距离之和计算函数
[0082]
该计算协议涉及两个参与方p1和p2,p1调用paillier加密生成公私钥,输入公钥pk和私钥sk;p2输入pk以及使用pk加密的样本的密文输入pk以及使用pk加密的样本的密文协议执行结束后,p2得到numj维密文向量p1无输出。
[0083][0084]
[0085][0086]
本发明实施例提供的基于安全多方聚类方法的数据隐私性保护方法,在聚类求解的任何过程中,数据始终以加密形式传递或者计算,保证了每个参与者的数据的隐私性;该方法对噪声具有较强的抗鲁棒性,且计算开销小。
[0087]
以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1