一种基于非共谋双云服务器的隐私保护外包数据KNN算法制造技术

技术编号:32564832 阅读:16 留言:0更新日期:2022-03-09 16:49
本发明专利技术提出了一种基于秘密共享、混淆电路、不经意传输协议等技术的双云模型安全高效的KNN算法。首先通过秘密共享技术将数据发送给双云服务器,随后利用混淆电路、不经意传输协议设计了安全欧式距离协议、安全比较协议、安全排序协议等,最后通过模块化顺序组合的方式,实现了安全的KNN算法。与基于同态加密的解决方案不同,我们设计的方案能够实现在同等安全性级别的条件下,具有更高的效率,后者需要在密文上进行比较、乘法等计算,会产生较大的计算开销。与基于差分隐私的解决方案相比,本方案对用户的查询没有隐私预算的要求,用户可以进行无限次的查询。本发明专利技术提出的方案中可适用于弱客户端,在计算的过程中均保持离线状态。态。态。

【技术实现步骤摘要】
一种基于非共谋双云服务器的隐私保护外包数据KNN算法


[0001]本专利技术涉及安全多方计算以及机器学习
,具体来说,是一种基于安全两方计算技术实现数据外包的隐私保护的K近邻(KNearest Neighbor,KNN)算法,该方案基于秘密共享技术、不经意传输协议、混淆电路等技术将弱客户端的数据以及计算外包给非共谋的双云服务器,使得弱客户端在计算和存储能力有限的情况下也能实现隐私保护的KNN算法。
技术背景
[0002]随着云计算技术以及大数据技术的发展,互联网行业的巨头如谷歌、亚马逊、微软等公司开始提供基于云服务器的机器学习服务来解决医疗、金融等领域中出现的问题,这些行业巨头提供的服务使得机器学习算法在实际应用中不断优化,得以改进。但是机器学习算法的训练模型是需要大规模的数据来支撑的,在一定程度内,训练数据量越多,训练的模型准确度越高。将大量的数据外包给云服务器去存储和计算,具有成本低,灵活性高等优点,但是在实际生活中,训练数据大多数都是由互联网公司收集的用户私人数据,可能包含用户的信用卡号码、个人的身份信搜索记录、浏览记录、交易记录以及地址等隐私信息。且存在这样的可能,由于数据是来自不同的数据源,针对同一用户的不同数据源的数据推断出更多的关于用户的隐私信息。如果用户被泄露,不仅对提供基于云服务器机器学习服务公司造成经济和名誉上的损害,而且也会造成一定的社会恐慌,在未来,数据提供者也会因为担心个人的隐私问题而拒绝提供数据,而这会对未来的研究造成阻碍。
[0003]对于隐私保护的KNN算法问题,目前已有的相关工作主要是基于数据扰动方法的差分隐私和加密方法的同态加密和安全多方计算。差分隐私通过在数据集中添加单个记录,由于单个记录对数据集的计算结果的影响是微乎其微的,从而攻击而无法通过计算结果来推测数据集中的信息,进而保证了数据集的信息不会被泄露,这满足了KNN 算法中的数据隐私保护要求。这种方案计算开销小,效率高,但是可用性差,数据挖掘人员在有限的隐私预算内可以提交查询,一旦分配的隐私预算用完,数据挖掘人员将被限制进一步的查询。
[0004]同态加密可以实现密文上的代数运算,得到的计算结果仍然保持密文的状态,只有持有私钥的参与方可以解密得到计算结果,能够实现KNN算法中的数据集以及计算的中间参数的数据隐私保护。但是基于同态加密技术的方案都存在计算和存储开销大的问题。现存的同态加密算法的效率较低,因此会导致基于同态加密技术的隐私保护的 KNN算法的实用性不强。
[0005]安全多方计算技术的特点是计算便宜,实用性强,因为有很多学者致力于基于安全多方计算技术来实现隐私保护的KNN算法,混淆电路、不经意传输协议、秘密共享技术等都是属于安全多方计算领域的技术,这些技术能够满足计算过程中数据隐私的要求,但是多方之间的交互必然会导致通信开销大的问题。因此使用安全多方计算解决数据的隐私保护问题的主要挑战在于如何构建一个安全且高效的多方计算协议。
[0006]本专利技术提出了一种基于秘密共享和混淆电路以及不经意传输协议等技术的安全高效的双云模型下的KNN算法。首先通过秘密共享技术将数据发送给双云服务器,随后利用混淆电路、不经意传输协议设计了安全欧式距离协议,安全的比较协议,安全的排序协议等,最后通过模块化顺序组合的方式,实现了安全的KNN分类协议。与基于同态加密的解决方案不同,我们设计的方案能够实现在同等安全性级别的条件下,具有更高的效率,后者需要在密文上进行比较,乘法等计算,会产生较大的计算开销。此外本专利技术可适用于弱客户端,因为参与方仅需要完成秘密共享和发送数据,在计算的过程中均保持离线状态。

技术实现思路

[0007]传统的数据外包的隐私保护的KNN算法通常是基于同态加密进行展开,KNN算法分类或者查询中效率较低。本方案提出一种基于非共谋双云服务器的隐私保护外包数据KNN算法,借助云服务器算力高的特点,将弱客户端的数据和计算外包给双云服务器,通过使用秘密共享技术、混淆电路技术以及不经意传输协议实现数据以及计算过程中的中间参数的隐私保护,从而实现了KNN算法全过程的隐私保护。
[0008]本专利技术是通过以下技术方案实现的:
[0009]一种基于非共谋双云服务器的隐私保护外包数据KNN算法,包括如下步骤:
[0010]步骤1:数据预处理
[0011]该步骤主要用于解决数据外包问题,利用算术秘密共享保护数据集,将经秘密共享拆分后的数据集发送给两个云服务器,这样每个云服务器均只有数据的一部分,在本方案的设定中,双云服务器是非共谋的,两个服务器不能合谋恢复原始数据集,因此能够实现数据集的安全外包。
[0012]数据拥有者将私有的训练数据集(X,L)经算术秘密共享随机拆分成(X0,L0)和(X1,L1)两个子数据集,分别发送给云服务器S0和S1,其中X是一个n
×
d的矩阵,n表示样本数,d表示样本的特征数,L是一个n维的列向量,表示数据集X中样本对应的标签。同理,将数据使用者拥有的数据集Y做同样的数据预处理,拆分成Y0和Y1,分别发送给云服务器S0和S1,Y是一个m
×
d的矩阵,m表示样本数,d表示样本的特征数。
[0013]步骤2:安全欧式距离平方计算
[0014]安全欧式距离平方协议是两方协议,数据拥有者的数据集中的点记为P,P∈X,用户的查询点记为Q,所有点的维度都是d,点P 和点Q的算术秘密共享记为和分别由服务器S0和云服务器S1持有,点P与点Q之间的欧式距离平方记为可以改写成如下形式:
[0015][0016]将可以重写成公式(1)的形式,可以发现其中和是由两方分别持有的数据,可以单独计算并不会泄露任何信息,而而中的第一个乘积项是由云服务器S0持有的第二个乘积项是由云服务器S1持有的,在不泄露信息的情况实现计算,需要调用步骤3的安全乘法计算协议。具体的安全欧式距离平方协议流程如下:
[0017]步骤2.1:云服务器S0计算
[0018]步骤2.2:云服务器S1计算
[0019]步骤2.3:云服务器S0和云服务器S1调用安全乘法计算协议,联合计算S0和S1分别得到乘法计算协议结果的一部分,记为z
A
和z
B

[0020]步骤2.4:云服务器S0得到得到云服务器S1得到
[0021]步骤3:安全乘法计算
[0022]假定云服务器S0和S1分别持有x和y两个数据,不泄露两方分别持有的x和y的情况下,计算出xy的值。对于安全乘法协议的研究,目前主要是基于同态加密和OT协议这两项技术,ABY框架中的实验数据表明,基于OT扩展的乘法计算的速度比基于同态加密的乘法计算更加高效,基于上述的结论,因此我们将工作的重点放在了基于 OT扩展的安全乘法协议。
[0023]两方安全乘法计算协议具体步骤如下:
[0024]Step 3.1:云服务器S0将x重写成
[0025]Step 3.2:云服务器S1作为OT的接受者,输入 (m
本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于非共谋双云服务器的隐私保护外包数据KNN算法,其特征在于,包括如下步骤:步骤1:数据预处理对数据拥有者的数据和用户的测试数据通过秘密共享,随机拆分成两个部分,分别发送给云服务器S0和S1;步骤2:安全欧式距离平方计算安全欧式距离平方协议是两方协议,数据拥有者的数据集中的点记为P,P∈X,用户的查询点记为Q,所有点的维度都是d,点P和点Q的算术秘密共享记为和分别由服务器S0和云服务器S1持有,点P与点Q之间的欧式距离平方记为可以改写成如下形式:将可以重写成公式(1)的形式,可以发现其中和是由两方分别持有的数据,可以单独计算并不会泄露任何信息,而而中的第一个乘积项是由云服务器S0持有的第二个乘积项是由云服务器S1持有的,在不泄露信息的情况实现计算,需要调用步骤3的安全乘法计算协议;步骤3:将欧式距离平方公式重写成步骤2中公式(1)的形式,双云服务器利用两方安全乘法协议计算公式(1)中的第三项;双云服务器各自计算公式(1)中的第一项和第二项,加上步骤3中得到的两方安全乘法协议计算结果,双云服务器得到P0.mDist和P1.mDist;步骤4:双云服务器现在分别拥有P0.mDist和P1.mDist,利用安全最小值协议得到P0.mDist和P1.mDist中的最小值P0.mShareMin和P1.mShareMin以及最小值对应的位置P0.mvecIdxMin和P1.mvecIdxMin,并将的P0.mvecIdxMin和P1.mvecIdxMin存入队列q0和q1;步骤5:双云服务器将P0.mDist和P1.mDist中的最小值P0.mShareMin和P1.mShareMin重新赋值成最大值;步骤6:重复K次步骤4和5,根据队列q0和q1中存储的P0.mvecIdxMin和P1.mvecIdxMin,找
到对应的样本标签,统计标签数量,将占比最大的标签L
A
和L
B
发送给用户;步骤7:用户根据L
A
+L
B
=L,恢复秘密得到标签。2.根据权利要求1所述的一种基于非共谋双云服务器的隐私保护外包数据KNN算法,其特征在于,所述步骤2中的安全欧式距离平方协议流程如下:步骤2.1:云服务器S0计算步骤2.2:云服务器S1计算步骤2.3:云服务器S0和云服务器S1调用安全乘法计算协议,联合计算S0和S1分别得到乘法计算协议结果的一部分,记为z
A
和z
B
。步骤2.4:云服务器S0得到云服务器S1得到3.根据权利要求1所述的一种基于非共谋双云服务器的隐私保护外包数据KNN算法,其特征在于,所述步骤3中的两方安全乘法计算协议具体步骤如下:Step 3.1:云服务器S0将x重写成Step 3.2:云服务器S1作为OT的接受者,输入(m
i,0
,m
i,1
,
……
,m
i,N
‑1),其中m
i,1
=(N
i
y

m
i,0
)mod 2
l
,m
i,x[i]
=(N
i
...

【专利技术属性】
技术研发人员:魏立斐张蕾陈玉娇
申请(专利权)人:上海海洋大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1