CN110233730B - 一种基于k均值聚类的隐私信息保护方法 - Google Patents
一种基于k均值聚类的隐私信息保护方法 Download PDFInfo
- Publication number
- CN110233730B CN110233730B CN201910428240.4A CN201910428240A CN110233730B CN 110233730 B CN110233730 B CN 110233730B CN 201910428240 A CN201910428240 A CN 201910428240A CN 110233730 B CN110233730 B CN 110233730B
- Authority
- CN
- China
- Prior art keywords
- ciphertext
- data
- clustering
- client
- csp
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
- G06F18/23213—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/008—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
Landscapes
- Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Probability & Statistics with Applications (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computing Systems (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种基于K均值聚类的隐私信息保护方法,该方法的步骤包括:多个客户端CUi进行数据加密,得到加密密文上传至云服务端;客户端CUi、云服务端CSP和辅助云服务端ACSP进行数据交互计算,得到重加密密钥;云服务端收到加密密文,进行重加密得到同一公钥的重加密密文,再将重加密密文转换为Paillier加密的密文;云服务端获得Paillier加密的密文后计算聚类;云服务端先将聚类结果的密文转换双向加法同态代理重加密的密文,再转换为客户端公钥下的密文,最后将聚类结果的密文返回给客户端进行解密。本发明实现了对不同公钥的密文进行聚类,将同一公钥下的聚类结果转换为不同公钥下的聚类结果返回给客户端,同时保护了客户端的私人数据和聚类中心的隐私。
Description
技术领域
本发明涉及信息安全技术领域,具体涉及一种基于K均值聚类的隐私信息保护方法。
背景技术
智能移动设备根据人们的不同需求嵌入了各种记录数据的传感器。智能移动设备的广泛使用和无线网络的广泛覆盖推动一种无线传感器网络的应用-参与式感知的发展。社会参与式感知通过利用在线社交网络作为基础设施来解决参与式感知的局限性。在社会参与式感知系统中,多用户使用智能设备收集大量的感知数据,这些感知数据可以通过社交网络共享和分析。通过联合(虚拟)社区所有数据并利用K均值聚类算法分析用户感知数据,参与用户获得分析的结果。在社会参与式感知中K均值聚类方案中,多用户和社区的之间外包计算存在一些安全与隐私问题:(1)如何保护用户的个人隐私;(2)如何在K均值聚类过程不能泄露任何额外信息;(3)如何保证最后分析的结果只有参与用户知道,社区的特征信息(聚类中心)不被参与用户知道。
在社会参与式感知中,用户对收集到私有数据进行分析,可以通过社交网络联合社区的数据进行外包计算聚类,同时不能让社区的云服务提供商知道用户的信息和用户不能知道社区的任何信息。例如,用户通过带手环等智能设备产生了关于身体状况的数据,将数据传入智能手机,通过web服务共享和分析身体状况的数据,这样可以了解自己在这个社区的群体中健康状况是属于哪种类别。一旦用户知道身体状况所属的类别,就可以根据自己的生活习惯做出调整或者制定适合自己的运动目标。一旦用户信息的健康信息被泄露,可能导致用户个人财产的损失甚至危害个人安全。
发明内容
为了克服现有技术存在的缺陷与不足,本发明提供一种基于K均值聚类的隐私信息保护方法,本发明实现了对不同公钥的密文进行聚类,也实现了将同一公钥下的聚类结果转换为不同公钥下的聚类结果返回给客户端,同时保护了客户端的私人数据和聚类中心的隐私。
为了达到上述目的,本发明采用以下技术方案:
本发明提供一种基于K均值聚类的隐私信息保护方法,包括下述步骤:
S3:密文转换:云服务端CSP收到加密密文采用双向加法同态代理重加密的重加密算法和重加密密钥进行重加密,得到同一公钥的重加密密文再与辅助云服务端ACSP进行数据交互,将重加密密文转换为Paillier加密的密文E(pkp′,xi);
S4:云服务端CSP获得Paillier加密的密文E(pkp′,xi)后计算聚类,具体步骤为:
初始化聚类中心:客户端CUi定义聚类中心的数量,设置每个聚类中心对应一个类别,初始化聚类中心后,根据数据xi对应的聚类中心的索引初始化位图向量Vi的密文发送至云服务端CSP;
数据划分:云服务端CSP将接收到位图向量Vi组成位图矩阵Vn×k,并与辅助云服务端ACSP进行数据密文交互计算距离的密文,根据与聚类中心的距离的密文,将数据划分到最近的聚类中心,更新每个数据对应的位图矩阵Vn×k;
更新聚类中心:根据更新后位图矩阵Vn×k的密文和Paillier加密的数据密文E(pkp′,xi)计算新的聚类中心;
判断聚类是否终止:通过比较位图矩阵Vn×k更新前后是否有变化,判断是否终止聚类迭代过程;
S5:返回结果至客户端:云服务端CSP先将聚类结果的密文转换双向加法同态代理重加密的密文,再将双向代理重加密的辅助云服务端ACSP公钥下密文转换为不同客户端公钥下的密文,最后将聚类结果的密文返回给客户端,客户端CUi解密得到聚类结果。
作为优选的技术方案,还包括密钥对生成步骤,具体步骤如下所述:
云服务端CSP调用ElGamal加密算法中的Gengroup函数生成公共参数PP=(p,G1,g),G1是价为素数p的乘法群,其中g是乘法群G1的生成元,同时把生成的公共参数PP发送至客户端CUi和辅助云服务端ACSP;
辅助云服务端ACSP调用双向加法同态代理重加密的KeyGen(PP)算法,计算公钥对应的私钥是随机选取 由集合{1,...,p-1}中与p互素的整数构成,得到辅助云服务端密钥对(skACSP,pkACSP),同时调用Paillier加密系统的KeyGen(κ)算法得到辅助云服务端ACSP输出密钥对(skp′,pkp′),其中,算法输入κ表示安全系数。
作为优选的技术方案,步骤S1所述数据加密的具体步骤为:
客户端CUi数据设为向量xi={xi,1,…,xi,d},客户端CUi调用双向加法同态代理重加密算法得到加密密文:
作为优选的技术方案,步骤S2所述重加密密钥生成的具体步骤为:
作为优选的技术方案,步骤S3所述密文转换的具体步骤为:
S31:云服务端CSP采用双向加法同态代理重加密中重加密算法ReEnc将来自不同客户端的加密密文转换成同一公钥的加密密文,计算公式为:
限据g计算得到x′i,j,其中i∈{1,...,n},j∈{1,...,d},再加密并用Paillier加密系统下的公钥加密pkp′和Paillier加密系统的加密算法得E(pkp′,x′i),计算公式为:
最后云服务端CSP将接收到密文去掉噪声恢复原始数据的密文E(pkp′,xi)={E(pkp′,xi,1),…,E(pkp′,xi,d)}。
作为优选的技术方案,步骤S4所述初始化聚类中心的具体步骤为:
客户端CUi设定聚类中心的数量k的值,定义类别label={λ1,…,λk},选取任意一个聚类中心μj={μj,1,…,μj,d},每个聚类中心对应一个类别λj,采用辅助云服务端ACSP的公钥pkp′和Paillier加密,得到初始化聚类中心的密文多元组E(pkp′,μj):
E(pkp′,μj)=<E(pkp′,μj,1),…,E(pkp′,μj,d),E(pkp′,λj)>;
其中,j∈{1,2,…,k};
客户端CUi计算:vi,j=E(pkp′,0),vi,j表示数据xi是否属于第j个聚类中心,当vi,j=E(pkp′,0)表示数据xi不属于第j个聚类中心,vi,j=E(pkp′,1)表示数据xi属于第j个聚类中心;
初始化位图向量Vi:Vi={vi,1,…,vi,k}={E(pkp′,0),...,E(pkp′,0)},将E(pkp′,μj)发送至云服务端CSP,同时每个客户端CUi发送位图向量Vi到云服务端CSP。
作为优选的技术方案,步骤S4中所述数据划分的具体步骤为:
云服务端CSP根据每个数据向量xi与k个聚类中心计算距离得到的k个距离值,先比较k个距离值的大小,得到最小值对应的聚类中心,再把xi划分到对应的聚类中心,采用密文比较更小值算法进行迭代计算得到最小值元组Ti,min:
根据每个向量xi对应距离值最小值元组Ti,min中[λi,min]=E(pkp′,λmin)和密文集合{E(pkp′,λ1),…,E(pkp′,λk)},通过计算得到E(pkp′,t′i,j(λmin-λj))判断λmin与λj是否相等,更新位图向量中对应位置vi,j,最后更新位图矩阵Vn×k中向量(vi,1,…,vi,k)。
作为优选的技术方案,步骤S4中所述更新聚类中心的具体步骤为:
其中云服务端与辅助云服务端运用Paillier的SM算法得到E(pkp′,v′t,j·xt,i),CSP计算:
再组成:E(pkp′,sj)={E(pkp′,sj,1),…,E(pkp′,sj,d)};
云服务端CSP根据更新后位图矩阵V′n×k={(v′1,1,...,v′1,k),..,(v′n,1,..,v′n,k)}计算:
CSP根据聚类中心E(pkp′,μj)=<E(pkp′,μj,1),…,E(pkp′,μj,d),E(pkp′,λj)〉中的E(pkp′,λj)以及计算得到的E(pkp′,sj)、E(pkp′,hj),组成新的聚类中心E(pkp′,μ′j)=<E(pkp′,sj),E(pkp′,hj),E(pkp′,λj)>;
其中,j∈{1,2,…,k}、sj/hj表示中心值向量明文,E(pkp′,sj)与E(pkp′,hj)表示中心值向量密文形式,E(pkp′,λj)表示中心对应的类别,E(pkp′,hj)代表是属于中心的数据记录条数总和的密文,E(pkp′,sj,i)表示属于λj这个类别的数据中第i个属性值总和的密文。
作为优选的技术方案,步骤S4中所述判断聚类是否终止的具体步骤为:
所述通过比较位图矩阵Vn×k更新前后是否有变化,包括明文比较和密文比较;
所述明文比较:先将更新前的位图矩阵Vn×k和更新后的位图矩阵V′n×k进行一一对应相乘得到新的位图矩阵Ψn×k,再把新的位图矩阵Ψn×k中全部值做加法运算,最后把运算后结果与n值相比较,n值表示客户端的数量;
所述密文比较:先将更新前的位图矩阵Vn×k和更新后的位图矩阵V′n×k进行一一对应相乘得到新的位图矩阵Ψn×k,再把新的位图矩阵Ψn×k中全部值做加法运算,再解密得到运算结果M与n值相比较:
当M=n时,辅助云服务端发送T给云服务端,聚类过程结束;当M≠n时,辅助云服务端发送F给云服务端,继续循环进行数据划分和更新聚类中心步骤,直至更新后的位图矩阵V′n×k没有变化。
作为优选的技术方案,步骤S5所述返回结果至客户端,具体步骤为:
云服务端CSP给每个数据密文E(pkp′,xi)在聚类结束后计算得到的Ti,min中类别密文[λi,min]加噪音得到[λ′i,min],将[λ′i,min]发送到辅助云服务端;
辅助云服务端ACSP接收到[λ′i,min]进行解密,再调双向加法同态代理重加密的加密算法和产生的公钥加密pkACSP加密得到[λ″i,min],再把密文[λ″i,min]发送给云服务端CSP;
云服务端CSP得到[λ″i,min]之后去掉噪声后得到[λ″′i,min];
本发明与现有技术相比,具有如下优点和有益效果:
(1)本发明采用双向加法同态代理重加密算法实现了对不同公钥的密文进行聚类,也实现了将同一公钥下的聚类结果转换为不同公钥下的聚类结果返回给客户端,同时保护了客户端的私人数据和聚类中心的隐私。
(2)本发明采用的双向加法同态代理重加密算法支持加法同态性质,执行密文加法运算是能够减少计算,使得聚类运算效率高。
附图说明
图1为本实施例基于K均值聚类的隐私信息保护方法的流程示意图;
图2为本实施例基于K均值聚类的隐私信息保护方法的明文比较运算示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
实施例
本实施例假设社区的两个云服务端不合谋,同时利用双向加法同态代理重加密算法,实现了不同公钥的密文进行聚类,还有同一公钥下的聚类结果转换成不同公钥下的聚类结果返回给客户端,同时保护了客户端的私人数据和社区信息(聚类中心)的隐私。
如图1所示,本实施例提供一种基于K均值聚类的隐私信息保护方法,具体步骤如下所述:
S0:密钥对生成步骤:
首先云服务端CSP调用ElGamal加密中Gengroup函数生成公共参数PP=(p,G1,g),G1是价为素数p的乘法群,其中g是乘法群G1的生成元,同时把产生的参数发送给其他参与者和辅助云服务端ACSP;
辅助云服务端ACSP也调用该算法得到密钥对 同时ACSP调用了Paillier加密系统的KeyGen(κ)算法,其中,算法的输入κ是一个安全系数,选取两个大素数p和q,同时满足|p|=|q|=κ,计算:
N=p·q;
λ=lcm((p-1),(q-1));
μ=(L(gλmod N2))-1
输出值为辅助云服务端ACSP公钥pkp′=(g,N)和私钥skp′=(λ,μ),辅助云服务端ACSP得到输出密钥对(skp′,pkp′);
S1:数据加密:
参与的客户端CUi拥有的数据用向量xi={xi,1,…,xi,d}(i∈{1,2,…,n})表示,为了保护自己的私人信息需要在上传数据给CSP前加密数据;参与的客户端CUi调用双向加法同态代理重加密的加密算法得:
S2:重加密密钥生成:
重加密密钥生成主要通过CSP、参与的客户端CUi和ACSP进行安全交互,其过程如下:
这个过程需要在安全协议SSL通信,才可以得到保证安全性。
S3:云服务端进行密文转换:
S31:CSP收到加密的数据集首先考虑到这些密文是属于不同公钥下,需要把来自不同参与客户端加密的数据集转换成同一公钥的数据集,其就是将转换到通过调用双向加法同态代理重加密中重加密的ReEnc算法和重加密密钥进行重加密,主要计算
其中i∈{1,...,n},j∈{1,...,d}。
(3)最后CSP将接收到密文去掉噪声恢复原来数据的密文E(pkp′,xi);S4:云服务端获得Paillier加密的密文E(pkp′,xi)后计算聚类:
CSP得到了E(pkp′,xi)(i∈{1,2,…,n})密文数据集,CSP与ACSP交互计算聚类过程,包括初始化聚类中心、数据划分、更新聚类中心、判断聚类是否终止步骤。外包过程需要保护聚类中心值和类别,不要泄露额外信息;
S41:初始化聚类中心:
参与的客户端CUs协商确定k的值,定义类别表示为label={λ1,…,λk},随机选取k个中心μj={μj,1,…,μj,d}(j∈{1,2,…,k}),每个中心对应一个类别λj;加密中心则需要用ACSP的Paillier加密下公钥加密,初始化中心的密文形式表示为多元组(pkp′,μj)=<E(pkp′,μj,1),…,E(pkp′,μj,d),E(pkp′,λj)>;
其中,j∈{1,2,…,k};
客户端CUi计算:
vi,j=E(pkp′,0)
其中i∈{1,2,…,n},j∈{1,2,…,k},位图向量Vi={vi,1,…,vi,k}={E(pkp′,0),...,E(pkp′,0)},根据数据xi属于哪个聚类中心的索引初始化的,由于该数据没有划分到最近聚类中心,因此位图向量全是E(pkp′,0)。其中vi,j表示数据xi是否属于第j个聚类中心,vi,j=E(pkp′,0)说明数据xi不属于第j个聚类中心,vi,j=E(pkp′,1)说明数据xi属于第j个聚类中心,将E(pkp′,μj)(j∈{1,2,…,k})不按顺序发送给CSP,同时每个CUi发送Vi给CSP;
S42:数据划分:
CSP将接收到CUi位图向量Vi={vi,1,…,vi,k}组成一个位图矩阵Vn×k={(v1,1,…,v1,k),…,(vn,1,…,vn,k)}。得到初始化中心E(pkp′,μj)(j∈{1,2,…,k})之后,接下来就是对接收到的参与客户端CUi的数据密文E(pkp′,xi)进行计算聚类。数据划分过程分三个步骤,主要内容如下:
S421:计算距离:先计算每个数据对应k个中心的距离值,在这些距离值中找最小值,就归属于这个中心的类别。计算数据和中心之间的距离值过程分两种情况:第一种是中心值为初始化的,第二种是中心值为迭代后的。接下来分别描述两种情况的过程:
第一种情况为中心值为初始化时,直接对于xi与每个中心μj计算平方欧氏距离值,其公式是:
其中i∈{1,2,…,n},j∈{1,2,…,k}。计算过程:
①CSP根据E(pkp′,xi,i′)和E(pkp,μj,i′)计算:
E(pkp′,(xi,i′-μj,i′))=E(pkp′,xi,i′)·E(pkp′,μj,i′)N-1
②CSP与ACSP交互并运用Paillier的SM算法计算得:
E(pkp′,(xi,i′-μj,i′)2)=SM(E(pkp′,xi,i′-μj,i′),E(pkp′,xi,i′-μj,i′))
③CSP再计算:
距离值为[Di,j]=E(pkp′,Di,j),类别值为[λi,j]=E(pkp′,λj)
其中sj={sj,1,…,Sj,d}。计算距离转变成计算;
计算距离过程如下:
①通过CSP和ASCP交互并采用了Paillier加密方案中SM算法计算得:
E(pkp′,xi,i′·hj)=SM(E(pkp′,xi,i′),E(pkp′,hj))
E(pkp′,hj 2)=SM(E(pkp′,hj),E(pkp′,hj))
其中(i′∈{1,…,d});
②CSP根据E(pkp′,xi,i′·hj)和E(pkp′,sj,i′)计算:
E(pkp′,xi,i′·hj-sj,i′)=E(pkp′,xi,i′·hj)·E(pkp′,sj,i′)N-1;
其中i′∈{1,…,d},再与ACSP交互并采用Paillier加密方案中SM算法计算得:
E(pkp′,(xi,i′·hj-sj,i′)2)=SM(E(pkp′,xi,i′·hj-sj,i′),E(pkp′,xi,i′·hj-sj,i′));
③最后CSP计算:
S422:数据根据与聚类中心的距离划分到最近聚类中心:CSP根据每个数据向量xi与k个聚类中心计算距离得到的k个距离值,先比较这k个距离值的大小得到最小值对应的聚类中心,再把xi划分于这个聚类中心,数据向量xi就属于该聚类中心所对应的类别,每个xi有k个距离值{[Di,1],…,[Di,j]}或者集合{[Di,1],…,[Di,j]}中求最小值过程与集合中求最小值过程是类似的;
本实施例通过计算更大值(PMAX)算法进行改变为计算更小值(PMIN)算法,将PMIN算法作为密文比较算法。
PMINk(<[Di,1],[λi,1]>,…,<[Di,k],[λi,k]>)算法主要是根据迭代和分层设计的。每次迭代过程中,需要执行PMIN算法的输出值作为下一次迭代的输入,因此就会生成一个二进制树自底而上的形式执行,该算法只有CSP知道最后结果的密文形式,而ACSP在比较过程不会得到任何额外的信息。
②迭代:需要CSP和ACSP参与,其中第一次迭代时,i′从1到循环,对集合Sb={Ti,1,Ti,2,…,Ti,k}中两两进行PMIN算法得到更小值赋值到Ti,2i′-1,同时Ti,2i′中每个元素都变成0,还有num也变成第二次迭代时,循环次,计算集合Sb中{Ti,1,Ti,3,…,}的两两比较得到较小值,之后将当迭代到次时,根据第二次迭代以此类推计算,到最后计算出最小值的Ti,min。
S423:更新每个数据对应的位图向量:当CSP得到了(x1,…,xn)对应的距离值最小值元组(T1,min,…,Tn,min)。每个向量xi对应位图矩阵中Vn×k中(vi,1,…,vi,k),需要根据每个元组中[λi,min]=E(pkp′,2min)密文集合{E(pkp′,λ1),…,E(pkp′,λk)},通过计算得到E(pkp′,t′i,j(λmin-λj))可以判断λmin与λj是否相等,根据λmin与λj相等,更新位图向量中对应位置v′i,j=E(pkp′,1),否则更新位图向量中对应位置v′i,j=E(pkp′,0),这样更新位图矩阵Vn×k中向量(vi,1,…,vi,k)。更新主要是找到λmin对应属于哪个类别进行更新(vi,1,…,vi,k)。详细过程如下:
①CSP:根据每个向量xi对应Ti,min和密文集合{E(pkp′,λ1),…,E(pkp′,λk)},设j从1到k,对Ti,min中E(pkp′,λmin)进行计算:
设Φ={Λ1,…,Λk},同时产生一个随机置换函数π,计算Φ′=π(Φ),随机置换函数π将Φ={Λ1,…,Λk}中每个Λj(j∈{1,…,k})值的位置随机置换得Φ′,把Φ′发送到ASCP。
②ACSP:将Φ′={Λ′1,…,Λ′k}中Λ′j′(j′∈{1,…,k})解密,计算:
ηj′=D(skp′,Λ′j′)=L(Λ′j′mod N2)·μmod N;
其中skp′=(λ,μ),Λ′j′∈{E(pkp′,t′i,1(λmin-λ1)),...,E(pkp′,t′i,k(λmin-λk))},j′∈{1,…,k},判断解密ηj′的值:
i.当ηj′==0时,计算wj′=E(pkp′,1);
ii.当ηj′≠0时,计算wj′=E(pkp′,0);
将W={w1,…,wk}={E(pkp′,0),...,E(pkp′,1),...,E(pkp′,0)}再发送给CSP,在W中E(pkp′,1)的位置表示这个数据xi归属于最近聚类中心的索引;
假设:
③CSP:将接收到的W={w1,…,wk},计算
Γ=π-1(W);
其中j′值与j值不同的。
S43:更新聚类中心:
CSP根据更新后位图矩阵V′n×k={(v′1,1,…,v′1,k),…,(v′n,1,…,v′n,k)}的密文和数据密文{E(pkp′,xi),...,E(pkp′,xn)}(i∈{1,2,…,n})计算新的聚类中心值。设三元组E(pkp′,μ′j)=<E(pkp′,sj),E(pkp′,hj),E(pkp′,λj)>代表更新后的中心,其中
E(pkp′,sj)={E(pkp′,sj,1),…,E(pkp′,sj,d)}(j∈{1,2,…,k})
其中,sj/hj代表是中心值向量明文,E(pkp′,sj)与E(pkp′,hj)共同表示中心值向量密文形式,E(pkp′,λj)代表是该中心对应的类别,E(pkp′,hj)代表是属于这个中心的数据记录条数总和的密文,E(pkp′,sj,i)表示属于λj这个类别的数据中第i个属性值总和的密文。
E(pkp′,sj)={E(pkp′,sj,1),…,E(pkp′,sj,d)}和E(pkp′,hj)主要计算过程:
更新聚类中心过程如下:
根据更新后位图矩阵V′n×k={(v′1,1,…,v′1,k),…,(v′n,1,…,v′n,k)}的密文和E(pkp′,xi)(i∈{1,2,…,n}),计算其中CSP与ACSP运用Paillier的SM算法得到E(pkp′,v′t,j·xt,i),CSP计算:
再组成E(pkp′,sj)={E(pkp′,sj,1),…,E(pkp′,sj,d)};
CSP根据更新后位图矩阵V′n×k={(v′1,1,…,v′1,k),…,(v′n,1,…,v′n,k)}计算:
CSP根据聚类中心E(pkp′,μj)=<E(pkp′,μj,1),…,E(pkp′,μj,d),E(pkp′,λj)>中E(pkp′,λj)以及计算得E(pkp′,sj)和E(pkp′,hj),组成新的聚类中心E(pkp′,μ′j)=<E(pkp′,sj),E(pkp′,hj),E(pkp′,λj)>,
其中j∈{1,2,…,k},sj/hj表示中心值向量明文,E(pkp′,sj)与E(pkp′,hj)表示中心值向量密文形式,E(pkp′,λj)代表是该中心对应的类别,E(pkp′,hj)代表是属于中心的数据记录条数总和的密文,E(pkp′,Sj,i)表示属于λj这个类别的数据中第i个属性值总和的密文。
S44:判断聚类是否终止:
更新完中心之后,把判断之前的中心位置和更新后的中心位置是否有所变化改为判断数据聚类结果是否有所变化,可以把这个比较简化成比较更新前位图矩阵Vn×k和更新变化后位图矩阵V′n×k是否有所变化,其中矩阵中vi,j∈(0,1),v′i,j∈(0,1),其中i∈{1,2,…,n},j∈{1,2,…,k}。位图矩阵V′n×k中第i行向量中出现一次v′i,j=1的位置,表示第i个数据属于最近聚类中心的索引,同时说明第i个数据是属于λj类别。如果更新前位图矩阵Vn×k和更新变化后位图矩阵V′n×k有变化,说明数据聚类结果有变化,继续聚类迭代过程;如果没有变化,说明说明数据聚类结果没有变化,终止聚类过程。
如图2所示,明文比较两个矩阵是否变化的过程是先将更新前的矩阵Vn×k和更新后的矩阵V′n×k进行一一对应相乘得到新的矩阵Ψn×k,再把新的矩阵Ψn×k中全部值做加法运算;最后把运算之后结果与n相比较。密文比较中先做密文运算操作,再解密运算结果与n值相比较,n值表示客户端的数量。
接下来描述密文比较过程如下:
根据矩阵Vn×k的密文和矩阵V′n×k的密文中一个个对应计算E(pkp,vi,j·v′i,j)(i∈{1,…,n},j∈{1,…,k}),其过程是CSP和ACSP交互并运用到Paillier的SM算法计算得到E(pkp,vi,j·v′i,j)。
a)当M==n时,ACSP就会发送T给CSP,
b)当M≠n时否则就会发送F给CSP。
当CSP接收到T时,表示更新前的位图矩阵Vn×k和更新后的位图矩阵V′n×k没有变化,聚类过程结束,当收到F时,表示更新前的位图矩阵Vn×k和更新后的位图矩阵V′n×k有变化,继续循环数据划分和更新聚类中心过程,直至更新后的位图矩阵V′n×k没有变化;
S5:返回结果给客户端
CSP:给类别密文[λi,min]=E(pkp′,λmin)(i∈{1,2,…,n})加噪音得到[λ′i,min]=E(pkp′,λ′min)。先随机选取z′i,加密z′i得E(pkp′,z′i)。再计算[λ′i,min]=E(pkp′,λmin+z′i)=E(pkp′,λ′min)(i∈{1,2,…,n}),把[λ′i,min](i∈{1,2,…,n})发送给ACSP;
本实施例分析Rong等人提出的PPCOM方案与本实施例的基于K均值聚类的隐私信息保护方法的计算代价,设Exp、Mul分别表示模的指数运算和乘法运算。PKC-DD加密中加密需要2Exp+1Mul,正常解密算法需要1Exp+1Mul,主私钥解密算法需要2Exp+2Mul,双向代理重加密中加密算法需要3Exp+1Mul,解密算法需要1Exp+1Mul,双向代理重加密中重加密算法需要1Exp,Paillier加密中加密算法需要2Exp+1Mul,解密需要1Exp+2Mul。从密文转换、加法、乘法、两个距离密文比较、聚类的数据划分、更新中心、判断聚类是否终止过程分析计算代价,如下表1所示:
表1计算代价对比表
密文转换过程中主要解决了将不同公钥下密文转换到同一公钥下,本实施例提出的方案与PPCOM方案相对比,本实施例在密文转换过程降低计算代价。两个距离密文比较中,本实施例方案的计算代价明显比Rong等人提出的PPCOM方案的少。Rong等人提出的PPCOM方案中采用的加密算法是支持乘法同态性质,本实施例方案采用的加密算法是支持加法同态性质,所以执行密文加法运算减少计算。从整体来说,本实施例基于K均值聚类的隐私信息保护方法的聚类效率比Rong等人提出的PPCOM方案高。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
Claims (7)
1.一种基于K均值聚类的隐私信息保护方法,其特征在于,包括下述步骤:
步骤S2所述重加密密钥生成的具体步骤为:
S3:密文转换:云服务端CSP收到加密密文采用双向加法同态代理重加密的重加密算法和重加密密钥进行重加密,得到同一公钥的重加密密文再与辅助云服务端ACSP进行数据交互,将重加密密文转换为Paillier加密的密文E(pkp′,xi);
步骤S3所述密文转换的具体步骤为:
S31:云服务端CSP采用双向加法同态代理重加密中重加密算法ReEnc将来自不同客户端的加密密文转换成同一公钥的加密密文,计算公式为:
根据g计算得到x′i,j,其中i∈{1,...,n},j∈{1,...,d},再加密并用Paillier加密系统下的公钥加密pkp′和Paillier加密系统的加密算法得E(pkp′,x′i),计算公式为:
最后云服务端CSP将接收到密文去掉噪声恢复原始数据的密文E(pkp′,xi)={E(pkp′,xi,1),…,E(pkp′,xi,d)};
S4:云服务端CSP获得Paillier加密的密文E(pkp′,xi)后计算聚类,具体步骤为:
初始化聚类中心:客户端CUi定义聚类中心的数量,设置每个聚类中心对应一个类别,初始化聚类中心后,根据数据xi对应的聚类中心的索引初始化位图向量Vi的密文发送至云服务端CSP;
数据划分:云服务端CSP将接收到位图向量Vi组成位图矩阵Vn×k,并与辅助云服务端ACSP进行数据密文交互计算距离的密文,根据与聚类中心的距离的密文,将数据划分到最近的聚类中心,更新每个数据对应的位图矩阵Vn×k;
更新聚类中心:根据更新后位图矩阵Vn×k的密文和Paillier加密的数据密文E(pkp′,xi)计算新的聚类中心;
判断聚类是否终止:通过比较位图矩阵Vn×k更新前后是否有变化,判断是否终止聚类迭代过程;
S5:返回结果至客户端:云服务端CSP先将聚类结果的密文转换双向加法同态代理重加密的密文,再将双向代理重加密的辅助云服务端ACSP公钥下密文转换为不同客户端公钥下的密文,最后将聚类结果的密文返回给客户端,客户端CUi解密得到聚类结果;
步骤S5所述返回结果至客户端,具体步骤为:
云服务端CSP给每个数据密文E(pkp′,xi)在聚类结束后计算得到的Ti,min中类别密文[λi,min]加噪音得到[λ′i,min],将[λ′i,min]发送到辅助云服务端;
辅助云服务端ACSP接收到[λ′i,min]进行解密,再调双向加法同态代理重加密的加密算法和产生的公钥加密pkACSP加密得到[λ″i,min],再把密文[λ″i,min]发送给云服务端CSP;
云服务端CSP得到[λ″i,min]之后去掉噪声后得到[λ″′i,min];
2.根据权利要求1所述的基于K均值聚类的隐私信息保护方法,其特征在于,还包括密钥对生成步骤,具体步骤如下所述:
云服务端CSP调用ElGamal加密算法中的Gengroup函数生成公共参数PP=(p,G1,g),G1是价为素数p的乘法群,其中g是乘法群G1的生成元,同时把生成的公共参数PP发送至客户端CUi和辅助云服务端ACSP;
4.根据权利要求1所述的基于K均值聚类的隐私信息保护方法,其特征在于,步骤S4所述初始化聚类中心的具体步骤为:
客户端CUi设定聚类中心的数量k的值,定义类别label={λ1,…,λk},选取任意一个聚类中心μj={μj,1,…,μj,a},每个聚类中心对应一个类别λj,采用辅助云服务端ACSP的公钥pkp′和Paillier加密,得到初始化聚类中心的密文多元组E(pkp′,μj):
E(pkp′,μj)=<E(pkp′,μj,1),…,E(pkp′,μj,a),E(pkp′,λj)>;
其中,j∈{1,2,…,k};
客户端CUi计算:vi,j=E(pkp′,0),vi,j表示数据xi是否属于第j个聚类中心,当vi,j=E(pkp′,0)表示数据xi不属于第j个聚类中心,vi,j=E(pkp′,1)表示数据xi属于第j个聚类中心;
初始化位图向量Vi:Vi={vi,1,…,vi,k}={E(pkp′,0),...,E(pkp′,0)},将E(pkp′,μj)发送至云服务端CSP,同时每个客户端CUi发送位图向量Vi到云服务端CSP。
5.根据权利要求1所述的基于K均值聚类的隐私信息保护方法,其特征在于,步骤S4中所述数据划分的具体步骤为:
云服务端CSP根据每个数据向量xi与k个聚类中心计算距离得到的k个距离值,先比较k个距离值的大小,得到最小值对应的聚类中心,再把xi划分到对应的聚类中心,采用密文比较更小值算法进行迭代计算得到最小值元组Ti,min:
根据每个向量xi对应距离值最小值元组Ti,min中[λi,min]=E(pkp′,λmin)和密文集合{E(pkp′,λ1),…,E(pkp′,λk)},通过计算得到E(pkp′,t′i,j(λmin-λj))判断λmin与λj是否相等,更新位图向量中对应位置vi,j,最后更新位图矩阵Vn×k中向量(vi,1,…,vi,k)。
6.根据权利要求1所述的基于K均值聚类的隐私信息保护方法,其特征在于,步骤S4中所述更新聚类中心的具体步骤为:
其中云服务端与辅助云服务端运用Paillier的SM算法得到E(pkp′,v′t,j·xt,i),CSP计算:
再组成:E(pkp′,sj)={E(pkp′,sj,1),…,E(pkp′,sj,d)};
云服务端CSP根据更新后位图矩阵V′n×k={(v′1,1,...,v′1,k),..,(v′n,1,..,v′n,k)}计算:
CSP根据聚类中心E(pkp′,μj)=<E(pkp′,μJ,1),…,E(pkp′,μj,d),E(pkp′,λj)>中的E(pkp′,λj)以及计算得到的E(pkp′,sj)、E(pkp′,hj),组成新的聚类中心E(pkp′,μ′j)=<E(pkp′,sj),E(pkp′,hj),E(pkp′,λj)>;
其中,j∈{1,2,…,k}、sj/hj表示中心值向量明文,E(pkp′,sj)与E(pkp′,hj)表示中心值向量密文形式,E(pkp′,λj)表示中心对应的类别,E(pkp′,hj)代表是属于中心的数据记录条数总和的密文,E(pkp′,sj,i)表示属于λj这个类别的数据中第i个属性值总和的密文。
7.根据权利要求1所述的基于K均值聚类的隐私信息保护方法,其特征在于,步骤S4中所述判断聚类是否终止的具体步骤为:
所述通过比较位图矩阵Vn×k更新前后是否有变化,包括明文比较和密文比较;
所述明文比较:先将更新前的位图矩阵Vn×k和更新后的位图矩阵V′n×k进行一一对应相乘得到新的位图矩阵Ψn×k,再把新的位图矩阵Ψn×k中全部值做加法运算,最后把运算后结果与n值相比较,n值表示客户端的数量;
所述密文比较:先将更新前的位图矩阵Vn×k和更新后的位图矩阵V′n×k进行一一对应相乘得到新的位图矩阵Ψn×k,再把新的位图矩阵Ψn×k中全部值做加法运算,再解密得到运算结果M与n值相比较:
当M=n时,辅助云服务端发送T给云服务端,聚类过程结束;当M≠n时,辅助云服务端发送F给云服务端,继续循环进行数据划分和更新聚类中心步骤,直至更新后的位图矩阵V′n×k没有变化。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910428240.4A CN110233730B (zh) | 2019-05-22 | 2019-05-22 | 一种基于k均值聚类的隐私信息保护方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910428240.4A CN110233730B (zh) | 2019-05-22 | 2019-05-22 | 一种基于k均值聚类的隐私信息保护方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110233730A CN110233730A (zh) | 2019-09-13 |
CN110233730B true CN110233730B (zh) | 2022-05-03 |
Family
ID=67860897
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910428240.4A Active CN110233730B (zh) | 2019-05-22 | 2019-05-22 | 一种基于k均值聚类的隐私信息保护方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110233730B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111143865B (zh) * | 2019-12-26 | 2022-12-30 | 国网湖北省电力有限公司 | 一种密文数据上标签自动生成的用户行为分析系统及方法 |
CN111064558B (zh) * | 2020-01-09 | 2023-04-07 | 浙江理工大学 | 一种基于云计算的同态加密矩阵连乘安全外包方法 |
CN111310817B (zh) * | 2020-02-10 | 2022-02-11 | 深圳大学 | 谱聚类方法、装置、系统、计算机设备和存储介质 |
CN111526148B (zh) * | 2020-04-26 | 2022-02-25 | 中山大学 | 一种云计算环境下加密音频的安全去噪系统及方法 |
CN111444545B (zh) * | 2020-06-12 | 2020-09-04 | 支付宝(杭州)信息技术有限公司 | 针对多方的隐私数据进行聚类的方法和装置 |
CN112152779B (zh) * | 2020-09-29 | 2022-05-06 | 黑龙江大学 | 一种抗强合谋攻击的格基同态代理重加密方法 |
CN112287375A (zh) * | 2020-11-21 | 2021-01-29 | 上海同态信息科技有限责任公司 | 一种密态欧式距离的计算方法 |
CN112508203B (zh) * | 2021-02-08 | 2021-06-15 | 同盾控股有限公司 | 基于联邦学习的数据聚类处理方法、装置、设备及介质 |
CN113114454B (zh) * | 2021-03-01 | 2022-11-29 | 暨南大学 | 一种高效隐私的外包k均值聚类方法 |
CN113468553B (zh) * | 2021-06-02 | 2022-07-19 | 湖北工业大学 | 一种面向工业大数据的隐私保护分析系统及方法 |
CN115114980A (zh) * | 2022-06-28 | 2022-09-27 | 支付宝(杭州)信息技术有限公司 | 联合训练用户聚类模型的、用户聚类方法及装置 |
CN115499117B (zh) * | 2022-11-17 | 2023-03-24 | 深圳市迪博企业风险管理技术有限公司 | 区块链交易网络的密钥对生成方法及数据传输方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107145792A (zh) * | 2017-04-07 | 2017-09-08 | 哈尔滨工业大学深圳研究生院 | 基于密文数据的多用户隐私保护数据聚类方法及系统 |
CN107241182A (zh) * | 2017-06-29 | 2017-10-10 | 电子科技大学 | 一种基于向量同态加密的隐私保护层次聚类方法 |
EP3244567A1 (en) * | 2016-05-13 | 2017-11-15 | ABB Schweiz AG | Encryption for low-end devices through random number generation offloading |
CN109615021A (zh) * | 2018-12-20 | 2019-04-12 | 暨南大学 | 一种基于k均值聚类的隐私信息保护方法 |
CN109688143A (zh) * | 2018-12-28 | 2019-04-26 | 西安电子科技大学 | 一种面向云环境中隐私保护的聚类数据挖掘方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3203679A1 (en) * | 2016-02-04 | 2017-08-09 | ABB Schweiz AG | Machine learning based on homomorphic encryption |
-
2019
- 2019-05-22 CN CN201910428240.4A patent/CN110233730B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3244567A1 (en) * | 2016-05-13 | 2017-11-15 | ABB Schweiz AG | Encryption for low-end devices through random number generation offloading |
CN107145792A (zh) * | 2017-04-07 | 2017-09-08 | 哈尔滨工业大学深圳研究生院 | 基于密文数据的多用户隐私保护数据聚类方法及系统 |
CN107241182A (zh) * | 2017-06-29 | 2017-10-10 | 电子科技大学 | 一种基于向量同态加密的隐私保护层次聚类方法 |
CN109615021A (zh) * | 2018-12-20 | 2019-04-12 | 暨南大学 | 一种基于k均值聚类的隐私信息保护方法 |
CN109688143A (zh) * | 2018-12-28 | 2019-04-26 | 西安电子科技大学 | 一种面向云环境中隐私保护的聚类数据挖掘方法 |
Non-Patent Citations (2)
Title |
---|
Mutual Privacy Preserving k-Means Clustering in Social Participatory Sensing;Kai Xing等;《IEEE Transactions on Industrial Informatics》;20170418;全文 * |
同态加密的分布式K均值聚类算法研究;姚禹丞;《计算机技术与发展》;20170110;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110233730A (zh) | 2019-09-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110233730B (zh) | 一种基于k均值聚类的隐私信息保护方法 | |
Liu et al. | An efficient privacy-preserving outsourced calculation toolkit with multiple keys | |
CN110008717B (zh) | 支持隐私保护的决策树分类服务系统及方法 | |
Wenxiu et al. | Privacy-preserving data processing with flexible access control | |
CN107145791B (zh) | 一种具有隐私保护的K-means聚类方法及系统 | |
Liu et al. | Achieving reliable and secure services in cloud computing environments | |
Paulet et al. | Privacy-preserving and content-protecting location based queries | |
US9736128B2 (en) | System and method for a practical, secure and verifiable cloud computing for mobile systems | |
US7590236B1 (en) | Identity-based-encryption system | |
KR102116877B1 (ko) | 오류를 갖는 페어링을 이용한 새로운 암호 시스템들 | |
CN105122721B (zh) | 用于管理针对加密数据的托管安全计算的方法和系统 | |
CN101807991B (zh) | 密文政策属性基加密系统和方法 | |
Hassan et al. | An efficient outsourced privacy preserving machine learning scheme with public verifiability | |
CN106788985A (zh) | 一种第三方可监管的隐身地址实现方法 | |
CN110147681A (zh) | 一种支持灵活访问控制的隐私保护大数据处理方法及系统 | |
CN111526002B (zh) | 一种基于格的多身份的全同态加密方法 | |
CN113518092A (zh) | 实现多方隐私的集合交集方法 | |
Peng | Danger of using fully homomorphic encryption: A look at Microsoft SEAL | |
CN110445797B (zh) | 一种具有隐私保护的两方多维数据比较方法和系统 | |
CN104158880A (zh) | 一种用户端云数据共享解决方法 | |
CN111639345B (zh) | 基于同态加密的安全的多方云计算的方法和系统 | |
CN104135473A (zh) | 一种由密文策略的属性基加密实现身份基广播加密的方法 | |
CN113162751B (zh) | 具备加同态性的加密方法、系统及可读存储介质 | |
Li et al. | Efficient privacy-preserving access control of mobile multimedia data in cloud computing | |
CN115664629A (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 |