CN112487481A - 一种具有隐私保护的可验证多方k-means联邦学习方法 - Google Patents
一种具有隐私保护的可验证多方k-means联邦学习方法 Download PDFInfo
- Publication number
- CN112487481A CN112487481A CN202011453852.8A CN202011453852A CN112487481A CN 112487481 A CN112487481 A CN 112487481A CN 202011453852 A CN202011453852 A CN 202011453852A CN 112487481 A CN112487481 A CN 112487481A
- Authority
- CN
- China
- Prior art keywords
- user
- cloud server
- sample
- calculates
- dis
- 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.)
- Granted
Links
Images
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
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Medical Informatics (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioethics (AREA)
- Evolutionary Computation (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Databases & Information Systems (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Probability & Statistics with Applications (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种具有隐私保护的可验证多方k‑means联邦学习方法,属于数据挖掘技术领域。数据水平分布在多用户上,每个用户将各自的数据加密上传至云服务器;云服务器随机挑选初始聚心,利用安全乘法协议和安全距离计算协议计算数据和初始聚心的欧几里得距离的平方;云服务器利用安全位分解协议和安全比较协议进行距离比较,并对数据进行划分;各用户利用秘密共享协议更新聚类中心,加密后上传至云服务器;云服务器计算新聚类中心和原聚类中心的距离,如果小于阈值,则结束聚类操作,否则更新聚类中心进行下一次迭代。
Description
技术领域
本发明属于数据挖掘技术领域,涉及一种具有隐私保护的可验证多方k-means联邦学习方法。
背景技术
随着互联网技术快速发展,数据剧增,大数据分析和机器学习算法被广泛运用到各个领域。其中k-means聚类是数据挖掘中经常使用的方法,通过计算样本和聚类中心的距离,把每个对象分配给距离它最近的聚类中,使得一个聚类中的样本相似度很高。但是在现实的数据挖掘中,往往会涉及到多个领域的数据,数据源之间存在着难以打破的壁垒。在大多数行业中,数据以孤岛形式存在,因此如何在满足数据隐私、安全和监管要求的前提下进行数据分析,具有很大的发展前景,也就是联邦学习。
当代行业中往往包括多个数据拥有者,例如:企业、银行、机构等,各个数据拥有者拥有一部分数据,并且数据拥有者数据集的用户特征重叠较多,而用户重叠较少,将数据集按照横向(也就是用户维度)划分,并取出用户特征相同而用户不完全相同的那部分数据进行训练(横向联邦学习),最终各个数据拥有者都得到k-means聚类结果。并且,在数据分析过程中,数据拥有者不希望泄露自己的原始数据。
以往的k-means隐私保护方案,大多存在以下问题:
①大多数方案是两方的k-means聚类算法,没有考虑数据分布在多方的情况;
②在现有的多方k-means联邦学习中,部分数据拥有者不想再继续共享自己的数据,或者新的数据拥有者希望以共享自身数据为代价加入原有的联邦学习中;
③没有考虑数据拥有者增加或者减少自身数据;
④没有考虑数据拥有者不希望和自身敌对的数据拥有者共同得到数据分析结果,甚至共享错误信息。
发明内容
有鉴于此,本发明的目的在于提供一种具有隐私保护的可验证多方k-means联邦学习方法,本发明利用同态加密和秘密共享保证各方隐私安全,并且支持联邦学习环境下的k-means聚类。除此之外,本发明对基础的秘密共享方案进行改进,改进后的方案支持数据拥有者的动态变化(增加或减少,但是都要保证大于两方),也支持数据拥有者本身的数据动态变化(增加或减少),并且添加验证机制,利用区块链的不可篡改机制,保证辅助验证信息的数据完整性(数据完整性名词是否需要修改),各个数据拥有者可对信息进行验证。
为达到上述目的,本发明提供如下技术方案:
一种具有隐私保护的可验证多方k-means联邦学习方法,包括以下步骤:
S1:每个用户分别加密各自的样本数据,并上传至云服务器;
S2:云服务器随机选取k个聚类中心;
S3:云服务器利用安全乘法协议和安全距离计算协议计算用户各个样本与聚类中心的欧几里得距离的平方;
S4:云服务器对距离密文进行安全位分解;
S5:云服务器利用安全距离比较协议对每个用户的各个样本进行划分;
S6:用户计算每个聚类中自己所拥有样本之和和样本数;
S7:用户计算每个样本的秘密值和辅助验证值,并利用秘密共享协议计算出新的聚类中心,上传至云服务器;
S8:云服务器计算新的聚类中心和原聚类中心的距离,如果小于阈值,则结束聚类操作,否则,更新聚类中心并进行下一轮迭代;
S9:用户及用户样本动态变化。
进一步,所述步骤S1中具体包括以下步骤:
S11:每个用户生成公钥pkp,skp,其中1≤p≤part,part是用户的个数;
进一步,步骤S11具体包括:
S111:每个用户选取两个大素数p,q,并保证gcd(pq,(p-q)(q-1))=1;
S112:每个用户计算n=pq,λ=(p-1,q-1);
S114:每个用户的公钥是pk=(n,g),公钥是sk=(λ,μ)。
进一步,步骤S12具体包括:
S122:每个用户将加密后的Cp上传至云服务器。
进一步,所述步骤S2具体包括以下步骤:
S21:云服务器随机挑选出k个聚类中心φ={μc|1≤c≤k},其中μc={μc,j|1≤j≤l};
进一步,所述步骤S3包括以下步骤:
进一步,步骤S33中SM(E(x),E(y))=E(xy)的计算包括:
S331:云服务器挑选两个不一样的随机数rx,ry∈Zn;
S332:云服务器计算x′=E(x)E(y),y′=E(rx)E(ry);
S333:云服务器将x′,y′发送给用户p;
S334:用户p计算hx=D(x′),hy=D(y′),h=hxhy mod n,h′=E(h);
S335:用户p将h′发送给云服务器;
S337:云服务器计算E(xy)=s′E(rxrx)N-1。
进一步,所述步骤S4包括以下步骤:
S41:云服务器将距离E(dis)分解成dis明文情况下按位加密的结果SBD(E(dis))=<E(dis0),…,E(disw-1)>,其中0≤dis≤2w-1;
S42:云服务器计算γ=SVR(E(dis),<E(dis0),…,E(disw-1)>);
S43:云服务器收到用户发送的γ,如果γ=1,则返回<E(dis0),…,E(disw-1)>,否则回到S411。
进一步,步骤S41具体包括:
S411:云服务器计算l=2-1mod N,T=E(dis);
S412:云服务器计算E(disi)=Encrypted_LSB(T,i),其中i=0,1,…,w-1;
S413:云服务器计算Z=T*E(disi)N-1mod N2;
S414:云服务器计算T=Zlmod N2。
进一步,步骤S412具体包括:
S4121:云服务器计算Y=T*E(r)mod N2,其中r是随机数,且r∈ZN;
S4122:云服务将Y发送给用户;
S4123:用户计算y=D(Y),如果y是偶数,则α=E(0),否则α=E(1);
S4124:用户将α发送给云服务器;
S4125:云服务器计算E(disi),其中如果r是偶数,则E(disi)=α,否则E(disi)=E(1)*αN-1mod N2;
S4126:云服务器返回E(disi)。
进一步,步骤S42具体包括:
S422:云服务器计算V=U*E(dis)N-1mod N2;
S423:云服务器计算W=Vr′mod N2,其中r′随机数,且r′∈Zn;
S424:云服务器将W发送给用户;
S425:用户计算D(W),如果D(W)=0,则γ=1,否则γ=0;
S426:用户将γ发送给云服务器。
进一步,所述步骤S5包括以下步骤:
S53:云服务器定义num=k;
S54:云服务器定义u=1;
S55:云服务器定义v=1;
S56:云服务器判断,如果u=1,则
否则
S59:云服务器判断每个样本距离哪个聚类中心最近,并把该样本归到这个类中。
进一步,步骤S56中SMIN(E(x),E(y))的计算包括:
S561:云服务器随机选取一个函数F,其中函数F随机使得x>y或者x>y;
S562:云服务器计算Wi,Γi,Gi,Hi,Φi,其中1≤i≤w;
S563:用户计算Mj=D(L′j),并且,如果存在Mj=1,则α=1,否则α=0,其中1≤j≤w;
S564:用户计算M′j=Γ′j,其中1≤j≤w;
S565:用户将M′,E(α)发送给云服务器;
进一步,步骤S562具体包括:
S5621:调用S33步骤计算E(xiyi)=SM(E(xi),E(yi))随机选取一个函数F,其中函数F随机使得x>y或者x>y;
S5625:云服务器计算Φi=E(-1)*Hi;
S5627:云服务器计算Γ′=π1(Γ),L′=π2(L)其中π1,π2是一个置换函数;
S5628:云服务器将Γ′,L′发送给用户。
进一步,所述步骤S6包括如下步骤:
S61:云服务器把聚类结果发送给各个用户;
S62:各个用户计算每个簇中自己所拥有的样本之和ai以及样本数bi,其中i=1,…,k;
S64:各个用户计算bτ=|Cτ|,其中Cτ表示第τ个簇;
S65:各个用户定义Vτs∈(aτ,bτ)。
进一步,所述步骤S7包括以下步骤:
S71:随机选取part个随机数{x1,…,xpart}公开;
S72:每个用户计算每个样本的秘密值和辅助验证值;
S73:用户利用秘密共享协议计算出新的聚类中心,并上传至云服务器。
进一步,步骤S72具体包括:
S721:用户p,随机选取dp个part-1阶多项式:
其中p=1,2,…,part,j=1,2,…,dp,保存记录多项式的系数;
S722:用户p计算每个样本对应其他用户的秘密值:
进一步,步骤S73具体包括:
S733:云平台利用拉格朗日插值法恢复出aτ,bτ,并计算新的聚类中心μ′τ,其中τ=1,2,…,k。
进一步,所述步骤S8包括以下步骤:
S81:云服务器计算新聚类中心和原聚类中心的差值ε=|μ′τ-μτ|,其中τ=1,2,…,k;
S82:如果ε≤θ,则结束聚类操作,否则用μ′τ代替μτ,并返回S3,其中τ=1,2,…,k;
进一步,所述步骤S9包括以下步骤:
S91:用户动态增加;
S92:用户动态减少;
S93:用户样本动态增加;
S94:用户p减少样本v。
进一步,步骤S91具体包括:
S911:增加用户生成一个随机数xpart+1并添加增加标识符广播给其他用户;
S912:用户part+1随机选择dpart+1个多项式:
其中j=1,2,…,dpart+1,并且保存多项式的系数;
S913:用户part+1计算每个样本对应其他用户的秘密值:
S915:添加用户与原始用户开始新的k-means聚类算法。
进一步,步骤S92具体包括:
S921:减少用户p广播之前生成的随机数xp并添加减少标识符广播给其他用户;
S923:剩下的用户开始新的k-means聚类算法。
进一步,步骤S93具体包括:
S934:用户添加样本后与其他用户开始新的k-means聚类算法。
进一步,步骤S94具体包括:
S941:用户删除样本v对应的多项式及秘密值;
S942:用户添加样本后与其他用户开始新的k-means聚类算法。
本发明的有益效果在于:
本发明提出了一种在无可信任第三方并且样本数据水平分布在多用户的环境下,用户在与其他用户完全无联系的情况下共享自身样本数据,保证自身数据隐私安全的情况下实现k-means聚类算法,得到自身数据的聚类划分结果,实现k-means的横向联邦学习。
本发明中用户扩展为多方,也就是用户不少于三方的情况下进行k-means聚类算法;算法操作中的距离计算和比较不需要用户密钥直接解密出明文,而是在密文状态下进行操作,保证了用户自身的数据隐私安全;利用改进的秘密共享方案实现聚类中心的更新操作,并且增加了验证机制,保证了k-means聚类算法的结果是真实的;提供了用户动态增加减少和用户样本增加减少情况下继续进行k-means聚类算法的功能,使得方案更加具有普适性,能够得到更好的应用。
本发明的其他优点、目标和特征在某种程度上将在随后的说明书中进行阐述,并且在某种程度上,基于对下文的考察研究对本领域技术人员而言将是显而易见的,或者可以从本发明的实践中得到教导。本发明的目标和其他优点可以通过下面的说明书来实现和获得。
附图说明
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作优选的详细描述,其中:
图1为本发明系统模型图;
图2为本发明方法流程图;
图3为用户加密并上传数据流程图;
图4为随机挑选初始聚类中心流程图;
图5为安全乘法协议;
图6为安全距离计算协议;
图7为安全位分解协议;
图8为安全距离比较协议;
图9为判断新聚类中心和原聚类中心是否足够相近流程图;
图10为用户动态变化流程图;
图11为样本动态变化流程图;
图12为本发明所述验证机制流程图。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
其中,附图仅用于示例性说明,表示的仅是示意图,而非实物图,不能理解为对本发明的限制;为了更好地说明本发明的实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。
本发明实施例的附图中相同或相似的标号对应相同或相似的部件;在本发明的描述中,需要理解的是,若有术语“上”、“下”、“左”、“右”、“前”、“后”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此附图中描述位置关系的用语仅用于示例性说明,不能理解为对本发明的限制,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。
针对现有数据挖掘中存在的数据隐私安全问题,本发明对现有具有隐私保护的数据挖掘算法进行研究,最终提出一种样本数据水平划分情况下的具有隐私保护的多方动态可验证k-means聚类算法,本发明支持样本数据水平分布在不少于三方情况下的,基于云平台的区块链的存储计算外包和安全认证。用户将自身数据加密后上传至云平台,通过云平台、用户、区块链的相互协同,实现在多方联合数据集上的横向联邦学习。
如图1所示,将多用户横向联邦学习系统用户划分为三个层次。其中层次1是云服务器,与传统使用的云服务器不同的是,该方案中的云服务器出了需要存储用户加密后的样本数据,还要在k-means聚类算法操作过程中与用户进行交互,实现距离计算和比较的功能,减轻用户的存储和计算压力;层次2是拥有样本数据的用户,其中样本数据以水平分布的形式存在于不少于三方的用户上,用户需要对自身样本数据进行加密并上传至云服务器,并在k-means聚类算法操作过程中与云服务器交互实现距离计算和比较的功能,除此之外,还要和除自身之外的其他所有用户交互,利用秘密共享协议进行聚类中心更新;层次3是区块链服务器,用户会生成辅助验证值并上链,利用区块链的不可篡改特性,用于其他用户对收到的信息进行验证。
本方法中采用了paillier加密,其中paillier加密支持密文加法操作,即具有加同态,它是一个四元组的概率性加密,表示为Encpa={KenGen,Encrypt,Decrypt,Evaluate}。其中paillier加密方法具有如下性质:
E(x)E(y)=E(x+y),E(x)y=E(xy)。
本发明提出的具有隐私保护的可验证多方k-means联邦学习方法,如图2所示,包括以下步骤:
S1:每个用户分别加密各自的样本数据,并上传至云服务器;
可选地,参见图3,所述步骤S1包括如下步骤:
S11:每个用户生成公钥pkp,skp,其中1≤p≤part,part是用户的个数,包括:
S111:每个用户选取两个大素数p,q,并保证gcd(pq,(p-q)(q-1))=1;
S112:每个用户计算n=pq,λ=(p-1,q-1);
S114:每个用户的公钥是pk=(n,g),公钥是sk=(λ,μ);
S122:每个用户将加密后的Cp上传至云服务器;
S2:云服务器随机选取k个聚类中心;
可选地,参见图4,所述步骤S2包括如下步骤:
S21:云服务器随机挑选出k个聚类中心φ={μc|1≤c≤k},其中μc={μc,j|1≤j≤l};
S3:云服务器利用安全乘法协议和安全距离计算协议计算用户各个样本与聚类中心的欧几里得距离的平方;
可选地,参见图5、图6,所述步骤S3包括如下步骤:
S331:云服务器挑选两个不一样的随机数rx,ry∈Zn;
S332:云服务器计算x′=E(x)E(y),y′=E(rx)E(ry);
S333:云服务器将x′,y′发送给用户p;
S334:用户p计算hx=D(x′),hy=D(y′),h=hxhy mod n,h′=E(h);
S335:用户p将h′发送给云服务器;
S337:云服务器计算E(xy)=s′E(rxrx)N-1;
S4:云服务器对距离密文进行安全位分解;
可选地,参见图7,所述步骤S4包括如下步骤:
S41:云服务器将距离E(dis)分解成dis明文情况下按位加密的结果SBD(E(dis))=<E(dis0),…,E(disw-1)>,其中0≤dis≤2w-1,包括:
S411:云服务器计算l=2-1mod N,T=E(dis);
S412:云服务器计算E(disi)=Encrypted_LSB(T,i),其中i=0,1,…,w-1,包括:
S4121:云服务器计算Y=T*E(r)mod N2,其中r是随机数,且r∈ZN;
S4122:云服务将Y发送给用户;
S4123:用户计算y=D(Y),如果y是偶数,则α=E(0),否则α=E(1);
S4124:用户将α发送给云服务器;
S4125:云服务器计算E(disi),其中如果r是偶数,则E(disi)=α,否则E(disi)=E(1)*αN-1mod N2;
S4126:云服务器返回E(disi);
S413:云服务器计算Z=T*E(disi)N-1mod N2;
S414:云服务器计算T=Zl mod N2;
S42:云服务器计算γ=SVR(E(dis),<E(dis0),…,E(disw-1)>),包括:
S422:云服务器计算V=U*E(dis)N-1mod N2;
S423:云服务器计算W=Vr′mod N2,其中r′随机数,且r′∈Zn;
S424:云服务器将W发送给用户;
S425:用户计算D(W),如果D(W)=0,则γ=1,否则γ=0;
S426:用户将γ发送给云服务器;
S43:云服务器收到用户发送的γ,如果γ=1,则返回<E(dis0),…,E(disw-1)>,否则回到S411;
S5:云服务器利用安全距离比较协议对每个用户的各个样本进行划分;
可选地,参见图8,所述步骤S5包括如下步骤:
S53:云服务器定义num=k;
S54:云服务器定义u=1;
S55:云服务器定义v=1;
S561:云服务器随机选取一个函数F,其中函数F随机使得x>y或者x>y;
S562:云服务器计算Wi,Γi,Gi,Hi,Φi,其中1≤i≤w,包括:
S5621:调用S33步骤计算E(xiyi)=SM(E(xi),E(yi))随机选取一个函数F,其中函数F随机使得x>y或者x>y;
S5625:云服务器计算Φi=E(-1)*Hi;
S5627:云服务器计算Γ′=π1(Γ),L′=π2(L)其中π1,π2是一个置换函数;
S5628:云服务器将Γ′,L′发送给用户;
S563:用户计算Mj=D(L′j),并且,如果存在Mj=1,则α=1,否则α=0,其中1≤j≤w;
S564:用户计算M′j=Γ′j,其中1≤j≤w;
S565:用户将M′,E(α)发送给云服务器;
S59:云服务器判断每个样本距离哪个聚类中心最近,并把该样本归到这个类中。
S6:用户计算每个聚类中自己所拥有样本之和和样本数;
可选地,所述步骤S6包括如下步骤:
S61:云服务器把聚类结果发送给各个用户;
S62:各个用户计算每个簇中自己所拥有的样本之和ai以及样本数bi,其中i=1,…,k;
S64:各个用户计算bτ=|Cτ|,其中Cτ表示第τ个簇;
S65:各个用户定义Vτs∈(aτ,bτ);
S7:用户计算每个样本的秘密值和辅助验证值,并利用秘密共享协议计算出新的聚类中心,上传至云服务器;
可选地,如图12所示,所述步骤S7包括如下步骤:
S71:随机选取part个随机数{x1,…,xpart}公开;
S72:每个用户计算每个样本的秘密值和辅助验证值,包括:
S73:用户利用秘密共享协议计算出新的聚类中心,并上传至云服务器,包括:
S733:云平台利用拉格朗日插值法恢复出aτ,bτ,并计算新的聚类中心μ′τ,其中τ=1,2,…,k;
S8:云服务器计算新的聚类中心和原聚类中心的距离,如果小于阈值,则结束聚类操作,否则,更新聚类中心并进行下一轮迭代;
可选地,参见图9,所述步骤S8包括如下步骤:
S81:云服务器计算新聚类中心和原聚类中心的差值ε=|μ′τ-μτ|,其中τ=1,2,…,k;
S82:如果ε≤θ,则结束聚类操作,否则用μ′τ代替μτ,并返回S3,其中τ=1,2,…,k;
S9:用户及用户样本动态变化;
可选地,参见图10-11,所述步骤S9包括如下步骤:
S91:用户动态增加,包括:
S911:增加用户生成一个随机数xpart+1并添加增加标识符广播给其他用户;
S915:添加用户与原始用户开始新的k-means聚类算法;
S92:用户动态减少,包括:
S921:减少用户p广播之前生成的随机数xp并添加减少标识符广播给其他用户;
S923:剩下的用户开始新的k-means聚类算法;
S93:用户样本动态增加,包括:
S934:用户添加样本后与其他用户开始新的k-means聚类算法;
S94:用户p减少样本v,包括:
S941:用户删除样本v对应的多项式及秘密值;
S942:用户添加样本后与其他用户开始新的k-means聚类算法
最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。
Claims (10)
1.一种具有隐私保护的可验证多方k-means联邦学习方法,其特征在于:包括以下步骤:
S1:每个用户分别加密各自的样本数据,并上传至云服务器;
S2:云服务器随机选取k个聚类中心;
S3:云服务器利用安全乘法协议和安全距离计算协议计算用户各个样本与聚类中心的欧几里得距离的平方;
S4:云服务器对距离密文进行安全位分解;
S5:云服务器利用安全距离比较协议对每个用户的各个样本进行划分;
S6:用户计算每个聚类中自己所拥有样本之和和样本数;
S7:用户计算每个样本的秘密值和辅助验证值,并利用秘密共享协议计算出新的聚类中心,上传至云服务器;
S8:云服务器计算新的聚类中心和原聚类中心的距离,如果小于阈值,则结束聚类操作,否则,更新聚类中心并进行下一轮迭代;
S9:用户及用户样本动态变化。
2.根据权利要求1所述的具有隐私保护的可验证多方k-means联邦学习方法,其特征在于:所述步骤S1中具体包括以下步骤:
S11:每个用户生成公钥pkp,skp,其中1≤p≤part,part是用户的个数;具体包括:
S111:每个用户选取两个大素数p,q,并保证gcd(pq,(p-q)(q-1))=1;
S112:每个用户计算n=pq,λ=(p-1,q-1);
S114:每个用户的公钥是pk=(n,g),公钥是sk=(λ,μ);
具体包括:
S122:每个用户将加密后的Cp上传至云服务器。
4.根据权利要求1所述的具有隐私保护的可验证多方k-means联邦学习方法,其特征在于:所述步骤S3包括以下步骤:
S331:云服务器挑选两个不一样的随机数rx,ry∈Zn;
S332:云服务器计算x′=E(x)E(y),y′=E(rx)E(ry);
S333:云服务器将x′,y′发送给用户p;
S334:用户p计算hx=D(x′),hy=D(y′),h=hxhy mod n,h′=E(h);
S335:用户p将h′发送给云服务器;
S337:云服务器计算E(xy)=s′E(rxrx)N-1;
5.根据权利要求1所述的具有隐私保护的可验证多方k-means联邦学习方法,其特征在于:所述步骤S4包括以下步骤:
S41:云服务器将距离E(dis)分解成dis明文情况下按位加密的结果SBD(E(dis))=<(E(dis0),…,E(disw-1)>,其中0≤dis≤2w-1,具体包括:
S411:云服务器计算l=2-1mod N,T=E(dis);
S412:云服务器计算E(disi)=Encrypted_LSB(T,i),其中i=0,1,…,w-1,具体包括:
S4121:云服务器计算Y=T*E(r)mod N2,其中r是随机数,且r∈ZN;
S4122:云服务将Y发送给用户;
S4123:用户计算y=D(Y),如果y是偶数,则α=E(0),否则α=E(1);
S4124:用户将α发送给云服务器;
S4125:云服务器计算E(disi),其中如果r是偶数,则E(disi)=α,否则E(disi)=E(1)*αN-1mod N2;
S4126:云服务器返回E(disi);
S413:云服务器计算Z=T*E(disi)N-1mod N2;
S414:云服务器计算T=Zlmod N2;
S42:云服务器计算γ=SVR(E(dis),<E(dis0),…,E(disw-1)>),具体包括:
S422:云服务器计算V=U*E(dis)N-1mod N2;
S423:云服务器计算W=Vr′mod N2,其中r′随机数,且r′∈Zn;
S424:云服务器将W发送给用户;
S425:用户计算D(W),如果D(W)=0,则γ=1,否则γ=0;
S426:用户将γ发送给云服务器;
S43:云服务器收到用户发送的γ,如果γ=1,则返回<E(dis0),…,E(disw-1)>,否则回到S411。
6.根据权利要求1所述的具有隐私保护的可验证多方k-means联邦学习方法,其特征在于:所述步骤S5包括以下步骤:
S53:云服务器定义num=k;
S54:云服务器定义u=1;
S55:云服务器定义v=1;
S56:云服务器判断,如果u=1,则
否则
其中SMIN(E(x),E(y))的计算包括:
S561:云服务器随机选取一个函数F,其中函数F随机使得x>y或者x>y;
S562:云服务器计算Wi,Γi,Gi,Hi,Φi,其中1≤i≤w,具体包括:
S5621:调用S33步骤计算E(xiyi)=SM(E(xi),E(yi))随机选取一个函数F,其中函数F随机使得x>y或者x>y;
S5625:云服务器计算Φi=E(-1)*Hi;
S5627:云服务器计算Γ′=π1(Γ),L′=π2(L)其中π1,π2是一个置换函数;
S5628:云服务器将Γ′,L′发送给用户;
S563:用户计算Mj=D(L′j),并且,如果存在Mj=1,则α=1,否则α=0,其中1≤j≤w;
S564:用户计算M′j=Γ′j,其中1≤j≤w;
S565:用户将M′,E(α)发送给云服务器;
S59:云服务器判断每个样本距离哪个聚类中心最近,并把该样本归到这个类中。
8.根据权利要求1所述的具有隐私保护的可验证多方k-means联邦学习方法,其特征在于:所述步骤S7包括以下步骤:
S71:随机选取part个随机数{x1,…,xpart}公开;
S72:每个用户计算每个样本的秘密值和辅助验证值,具体包括:
S721:用户p,随机选取dp个part-1阶多项式:
其中p=1,2,…,part,j=1,2,…,dp,保存记录多项式的系数;
S722:用户p计算每个样本对应其他用户的秘密值:
S73:用户利用秘密共享协议计算出新的聚类中心,并上传至云服务器,具体包括:
S733:云平台利用拉格朗日插值法恢复出aτ,bτ,并计算新的聚类中心μ′τ,其中τ=1,2,…,k。
9.根据权利要求1所述的具有隐私保护的可验证多方k-means联邦学习方法,其特征在于:所述步骤S8包括以下步骤:
S81:云服务器计算新聚类中心和原聚类中心的差值ε=|μ′τ-μτ|,其中τ=1,2,…,k;
S82:如果ε≤θ,则结束聚类操作,否则用μ′τ代替μτ,并返回S3,其中τ=1,2,…,k。
10.根据权利要求1所述的具有隐私保护的可验证多方k-means联邦学习方法,其特征在于:所述步骤S9包括以下步骤:
S91:用户动态增加,具体包括:
S911:增加用户生成一个随机数xpart+1并添加增加标识符广播给其他用户;
S912:用户part+1随机选择dpart+1个多项式:
其中j=1,2,…,dpart+1,并且保存多项式的系数;
S913:用户part+1计算每个样本对应其他用户的秘密值:
S915:添加用户与原始用户开始新的k-means聚类算法;
S92:用户动态减少,具体包括:
S921:减少用户p广播之前生成的随机数xp并添加减少标识符广播给其他用户;
S922:其他用户删除自身每个样本对应用户p的秘密值fi j(xp),其中j=1,2,…,di,i=1,2,…,part,且i≠p;
S923:剩下的用户开始新的k-means聚类算法;
S93:用户样本动态增加,具体包括:
S934:用户添加样本后与其他用户开始新的k-means聚类算法;
S94:用户p减少样本v,具体包括:
S941:用户删除样本v对应的多项式及秘密值;
S942:用户添加样本后与其他用户开始新的k-means聚类算法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011453852.8A CN112487481B (zh) | 2020-12-09 | 2020-12-09 | 一种具有隐私保护的可验证多方k-means联邦学习方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011453852.8A CN112487481B (zh) | 2020-12-09 | 2020-12-09 | 一种具有隐私保护的可验证多方k-means联邦学习方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112487481A true CN112487481A (zh) | 2021-03-12 |
CN112487481B CN112487481B (zh) | 2022-06-10 |
Family
ID=74916704
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011453852.8A Active CN112487481B (zh) | 2020-12-09 | 2020-12-09 | 一种具有隐私保护的可验证多方k-means联邦学习方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112487481B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113239393A (zh) * | 2021-04-29 | 2021-08-10 | 重庆邮电大学 | 纵向联邦k-Means隐私保护方法、装置及电子设备 |
CN113468553A (zh) * | 2021-06-02 | 2021-10-01 | 湖北工业大学 | 一种面向工业大数据的隐私保护分析系统及方法 |
CN113657525A (zh) * | 2021-08-23 | 2021-11-16 | 同盾科技有限公司 | 基于KMeans的跨特征联邦聚类方法及相关设备 |
CN115114980A (zh) * | 2022-06-28 | 2022-09-27 | 支付宝(杭州)信息技术有限公司 | 联合训练用户聚类模型的、用户聚类方法及装置 |
WO2022226903A1 (zh) * | 2021-04-29 | 2022-11-03 | 浙江大学 | 一种面向k-means聚类算法的联邦学习方法 |
WO2023134070A1 (zh) * | 2022-01-12 | 2023-07-20 | 平安科技(深圳)有限公司 | 去中心的联邦聚类方法、装置、电子设备及存储介质 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107145792A (zh) * | 2017-04-07 | 2017-09-08 | 哈尔滨工业大学深圳研究生院 | 基于密文数据的多用户隐私保护数据聚类方法及系统 |
CN107145791A (zh) * | 2017-04-07 | 2017-09-08 | 哈尔滨工业大学深圳研究生院 | 一种具有隐私保护的K‑means聚类方法及系统 |
WO2018034079A1 (ja) * | 2016-08-18 | 2018-02-22 | 日本電気株式会社 | 秘密計算システム、秘密計算方法、秘密計算装置、分散情報生成装置およびそれらの方法とプログラム |
CN108154185A (zh) * | 2017-12-27 | 2018-06-12 | 武汉理工大学 | 一种隐私保护的k-means聚类方法 |
CN108712260A (zh) * | 2018-05-09 | 2018-10-26 | 曲阜师范大学 | 云环境下保护隐私的多方深度学习计算代理方法 |
CN109688143A (zh) * | 2018-12-28 | 2019-04-26 | 西安电子科技大学 | 一种面向云环境中隐私保护的聚类数据挖掘方法 |
CN110163292A (zh) * | 2019-05-28 | 2019-08-23 | 电子科技大学 | 基于向量同态加密的隐私保护k-means聚类方法 |
CN110443063A (zh) * | 2019-06-26 | 2019-11-12 | 电子科技大学 | 自适性保护隐私的联邦深度学习的方法 |
US20190347278A1 (en) * | 2018-05-09 | 2019-11-14 | Sogang University Research Foundation | K-means clustering based data mining system and method using the same |
CN110609831A (zh) * | 2019-08-27 | 2019-12-24 | 浙江工商大学 | 基于隐私保护和安全多方计算的数据链接方法 |
CN111079180A (zh) * | 2019-12-17 | 2020-04-28 | 重庆邮电大学 | 一种基于条件隐私保护的健康记录系统的安全认证方法 |
CN111260081A (zh) * | 2020-02-14 | 2020-06-09 | 广州大学 | 一种非交互式隐私保护多方机器学习方法 |
EP3703309A1 (en) * | 2019-02-28 | 2020-09-02 | Sap Se | Efficient cloud-based secure computation of the median using homomorphic encryption |
-
2020
- 2020-12-09 CN CN202011453852.8A patent/CN112487481B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018034079A1 (ja) * | 2016-08-18 | 2018-02-22 | 日本電気株式会社 | 秘密計算システム、秘密計算方法、秘密計算装置、分散情報生成装置およびそれらの方法とプログラム |
CN107145791A (zh) * | 2017-04-07 | 2017-09-08 | 哈尔滨工业大学深圳研究生院 | 一种具有隐私保护的K‑means聚类方法及系统 |
CN107145792A (zh) * | 2017-04-07 | 2017-09-08 | 哈尔滨工业大学深圳研究生院 | 基于密文数据的多用户隐私保护数据聚类方法及系统 |
CN108154185A (zh) * | 2017-12-27 | 2018-06-12 | 武汉理工大学 | 一种隐私保护的k-means聚类方法 |
US20190347278A1 (en) * | 2018-05-09 | 2019-11-14 | Sogang University Research Foundation | K-means clustering based data mining system and method using the same |
CN108712260A (zh) * | 2018-05-09 | 2018-10-26 | 曲阜师范大学 | 云环境下保护隐私的多方深度学习计算代理方法 |
CN109688143A (zh) * | 2018-12-28 | 2019-04-26 | 西安电子科技大学 | 一种面向云环境中隐私保护的聚类数据挖掘方法 |
EP3703309A1 (en) * | 2019-02-28 | 2020-09-02 | Sap Se | Efficient cloud-based secure computation of the median using homomorphic encryption |
CN110163292A (zh) * | 2019-05-28 | 2019-08-23 | 电子科技大学 | 基于向量同态加密的隐私保护k-means聚类方法 |
CN110443063A (zh) * | 2019-06-26 | 2019-11-12 | 电子科技大学 | 自适性保护隐私的联邦深度学习的方法 |
CN110609831A (zh) * | 2019-08-27 | 2019-12-24 | 浙江工商大学 | 基于隐私保护和安全多方计算的数据链接方法 |
CN111079180A (zh) * | 2019-12-17 | 2020-04-28 | 重庆邮电大学 | 一种基于条件隐私保护的健康记录系统的安全认证方法 |
CN111260081A (zh) * | 2020-02-14 | 2020-06-09 | 广州大学 | 一种非交互式隐私保护多方机器学习方法 |
Non-Patent Citations (4)
Title |
---|
BHARATH K. K. SAMANTHULA等: "An efficient and probabilistic secure bit-decomposition", 《 PROCEEDINGS OF THE 8TH ACM SIGSAC SYMPOSIUM ON INFORMATION, COMPUTER AND COMMUNICATIONS SECURITY》 * |
TENG-KAI YU 等: "Multi-party k-Means Clustering with Privacy Consideration", 《INTERNATIONAL SYMPOSIUM ON PARALLEL AND DISTRIBUTED PROCESSING WITH APPLICATIONS》 * |
吴春英: "高效的可验证秘密共享方案", 《计算机工程》 * |
靳亚宾: "云环境下具有隐私保护的K-means聚类算法研究与设计", 《中国优秀博硕士学位论文全文数据库(硕士) 信息科技辑》 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113239393A (zh) * | 2021-04-29 | 2021-08-10 | 重庆邮电大学 | 纵向联邦k-Means隐私保护方法、装置及电子设备 |
CN113239393B (zh) * | 2021-04-29 | 2022-03-22 | 重庆邮电大学 | 纵向联邦k-Means隐私保护方法、装置及电子设备 |
WO2022226903A1 (zh) * | 2021-04-29 | 2022-11-03 | 浙江大学 | 一种面向k-means聚类算法的联邦学习方法 |
CN113468553A (zh) * | 2021-06-02 | 2021-10-01 | 湖北工业大学 | 一种面向工业大数据的隐私保护分析系统及方法 |
CN113468553B (zh) * | 2021-06-02 | 2022-07-19 | 湖北工业大学 | 一种面向工业大数据的隐私保护分析系统及方法 |
CN113657525A (zh) * | 2021-08-23 | 2021-11-16 | 同盾科技有限公司 | 基于KMeans的跨特征联邦聚类方法及相关设备 |
CN113657525B (zh) * | 2021-08-23 | 2024-04-26 | 同盾科技有限公司 | 基于KMeans的跨特征联邦聚类方法及相关设备 |
WO2023134070A1 (zh) * | 2022-01-12 | 2023-07-20 | 平安科技(深圳)有限公司 | 去中心的联邦聚类方法、装置、电子设备及存储介质 |
CN115114980A (zh) * | 2022-06-28 | 2022-09-27 | 支付宝(杭州)信息技术有限公司 | 联合训练用户聚类模型的、用户聚类方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112487481B (zh) | 2022-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112487481B (zh) | 一种具有隐私保护的可验证多方k-means联邦学习方法 | |
CN110008717B (zh) | 支持隐私保护的决策树分类服务系统及方法 | |
Liu et al. | An efficient privacy-preserving outsourced calculation toolkit with multiple keys | |
US7533270B2 (en) | Signature schemes using bilinear mappings | |
CN108111294B (zh) | 一种基于ML-kNN的保护隐私的多标记分类方法 | |
CN113364576B (zh) | 一种基于区块链的数据加密存证与共享方法 | |
CN107196926B (zh) | 一种云外包隐私集合比较方法与装置 | |
WO2019014425A1 (en) | SAFE PARTY WITH SEVERAL PARTIES KNOWING NO VOICE IMPRESSIONS | |
JP4981072B2 (ja) | 復号可能かつ検索可能な暗号化のための方法およびシステム | |
US20160119119A1 (en) | Compact fuzzy private matching using a fully-homomorphic encryption scheme | |
CN106487506B (zh) | 一种支持预加密和外包解密的多机构kp-abe方法 | |
JP2014002365A (ja) | プライバシーを保護することができる暗号化データの問い合わせ方法及びシステム | |
CN110674941B (zh) | 基于神经网络的数据加密传输方法及系统 | |
CN110933044A (zh) | 一种分布式存储系统中可公开审计的数据持有性证明方法 | |
Zhang et al. | A privacy protection scheme for IoT big data based on time and frequency limitation | |
CN115062323A (zh) | 增强隐私保护的多中心联邦学习方法及计算机设备 | |
CN111147508A (zh) | 一种抗关键词猜测攻击的可搜索属性基加密方法 | |
CN115021993B (zh) | 一种可验证的公钥可搜索加密系统及方法 | |
CN110176995A (zh) | 后量子安全的格上无证书签密方法 | |
CN115242369A (zh) | 基于多密钥同态加密的联邦学习隐私保护方法及其装置 | |
CN113794561A (zh) | 一种公钥可搜索加密方法及系统 | |
Gaffar et al. | The multi layer auto encoder neural network (ML-AENN) for encryption and decryption of text message | |
Rodinko et al. | Improvement of the high nonlinear S-boxes generation method | |
CN112398637A (zh) | 一种基于无证书签密的等式测试方法 | |
CN110784300A (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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20230810 Address after: Room 801, 85 Kefeng Road, Huangpu District, Guangzhou City, Guangdong Province Patentee after: Yami Technology (Guangzhou) Co.,Ltd. Address before: 400065 Chongqing Nan'an District huangjuezhen pass Chongwen Road No. 2 Patentee before: CHONGQING University OF POSTS AND TELECOMMUNICATIONS |
|
TR01 | Transfer of patent right |