1.一种纵向联邦k‑Means隐私保护方法,其特征在于,所述方法包括:参与者分别对自身的样本数据加密,并上传至云服务器;
云服务器随机选取出k个聚类中心,并利用安全乘法协议计算出每个参与者的子距离差,并将子距离差发送给对应的参与者;
每个参与者将收到的子距离差划分份额,自身保留一份份额后继续分发剩余份额给其他参与者,计算自身保留的份额和收到的份额之和,并将结果发送给云服务器;
云服务器计算所有参与者发送的子距离差份额,确定每个样本距离最近的聚类中心,将样本划分到距离最近的聚类中心所在的聚类中;
云服务器按照聚类结果计算出每个聚类中所有样本的每个特征之和,更新聚类中心;
云服务器判断出新的聚类中心与原聚类中心之间的距离差值是否小于阈值;
若小于阈值,则结束聚类操作,否则用新的聚类中心代替原聚类中心,并进行下一轮迭代。
2.根据权利要求1所述的一种纵向联邦k‑Means隐私保护方法,其特征在于,所述利用安全乘法协议计算出每个参与者的子距离差包括:云服务器从上传的加密数据中随机挑选k个样本作为k个初始聚类中心;
云服务器计算每个样本与每个聚类中心的距离dis,每个距离dis被划分为n个子距离disi,即dis=dis1+dis2+…+disn,其中1≤i≤n,n表示参与者数量;
云服务器将每个样本与任意两个聚类中心的对应参与者的子距离做差后,得到对应参与者的子距离差值difi;
云服务器利用安全乘法协议计算出每个子距离差值的密文E(difi)。
3.根据权利要求1所述的一种纵向联邦k‑Means隐私保护方法,其特征在于,所述云服务器按照聚类结果计算每个聚类中所有样本的每个特征之和,并利用随机数计算出新的聚类中心包括:
云服务器计算出每个聚类中所有样本的每个特征之和al的密文;
云服务器随机挑选出第一随机数和第二随机数;
云服务器利用所述第一随机数对每个特征之和al的密文进行隐藏,利用所述第二随机数对每个聚类中的样本数量mc的密文进行隐藏;
云服务器将隐藏处理后的每个特征之和的密文以及样本数量的密文发送给参与者;
参与者对接收到的密文采用其自身的私钥进行解密,并将两种密文按照除法方式处理,将除法计算结果发送给云服务器;
云服务器抵消掉收到的计算结果中的两个随机数,获取新的聚类中心。
4.根据权利要求3所述的一种纵向联邦k‑Means隐私保护方法,其特征在于,所述云服务器计算出每个聚类中样本的每个特征之和al的密文表示为E(al)=ΠE(sl),其中,al表示每个聚类中所有样本的第l个特征之和;s表示属于每个聚类的样本;sl表示样本s的第l个特征;其中 表示参与者拥有的样本特征数量;E(·)表示加密操作。
5.根据权利要求3所述的一种纵向联邦k‑Means隐私保护方法,其特征在于,所述第一随机数能被第二随机数整除。
6.根据权利要求3所述的一种纵向联邦k‑Means隐私保护方法,其特征在于,所述云服务器利用所述第一随机数对每个特征之和al的密文进行隐藏,利用所述第二随机数对每个聚类中的样本数量mc的密文进行隐藏分别表示为其中r1表示第一随机数;r2表示第二随机数;E(·)表示加密操作。
7.根据权利要求3所述的一种纵向联邦k‑Means隐私保护方法,其特征在于,所述云服务器抵消掉收到的计算结果中的两个随机数,获取新的聚类中心包括计算其中μ′c是新的聚类中心;r1表示第一随机数;r2表示第二随机数;E(·)表示加密操作。
8.一种纵向联邦k‑Means隐私保护装置,其特征在于,包括:同态加密模块,用于对参与者的样本数据加密;
数据传输模块,用于实现参与者与云服务器之间的通信以及参与者之间的通信;
距离计算模块,用于利用安全乘法协议计算出每个参与者的子距离差;
分配模块,用于将收到的子距离差划分份额,参考者自身保留一份份额后继续分发剩余份额给其他参与者;
汇总模块,用于汇总每个参与者持有子距离份额和收到的份额之和;
k‑Means模块,用于在随机选取出k个聚类中心后,确定每个样本距离最近的聚类中心,将样本划分到距离最近的聚类中心所在的聚类中,按照聚类结果计算每个聚类中所有样本的每个特征之和,并利用随机数计算出新的聚类中心;
判断模块,用于判断新的聚类中心与原聚类中心之间的距离差值是否小于阈值,若小于阈值,则结束聚类操作;否则,用新的聚类中心代替原聚类中心,并进行下一轮迭代。
9.一种电子设备,其特征在于,包括:处理器;
用于存储机器可执行的存储器;
其中,通过读取并执行所述存储器存储的与一种纵向联邦k‑Means隐私保护方法的控制逻辑对应的机器可执行指令,所述处理器被促使:参与者分别对自身的样本数据加密,并上传至云服务器;
云服务器随机选取出k个聚类中心,并利用安全乘法协议计算出每个参与者的子距离差,并将子距离差发送给对应的参与者;
每个参与者将收到的子距离差划分份额,自身保留一份份额后继续分发剩余份额给其他参与者,计算自身保留的份额和收到的份额之和,并将结果发送给云服务器;
云服务器计算所有参与者发送的子距离差份额,确定每个样本距离最近的聚类中心,将样本划分到距离最近的聚类中心所在的聚类中;
云服务器按照聚类结果计算出每个聚类中所有样本的每个特征之和,更新聚类中心;
云服务器判断出新的聚类中心与原聚类中心之间的距离差值是否小于阈值;
若小于阈值,则结束聚类操作,否则用新的聚类中心代替原聚类中心,并进行下一轮迭代。