CN114154554A - 一种基于非共谋双云服务器的隐私保护外包数据knn算法 - Google Patents

一种基于非共谋双云服务器的隐私保护外包数据knn算法 Download PDF

Info

Publication number
CN114154554A
CN114154554A CN202111266709.2A CN202111266709A CN114154554A CN 114154554 A CN114154554 A CN 114154554A CN 202111266709 A CN202111266709 A CN 202111266709A CN 114154554 A CN114154554 A CN 114154554A
Authority
CN
China
Prior art keywords
cloud server
data
mvecidxmin
protocol
mdist
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.)
Pending
Application number
CN202111266709.2A
Other languages
English (en)
Inventor
魏立斐
张蕾
陈玉娇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Ocean University
Original Assignee
Shanghai Ocean University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Ocean University filed Critical Shanghai Ocean University
Priority to CN202111266709.2A priority Critical patent/CN114154554A/zh
Publication of CN114154554A publication Critical patent/CN114154554A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • G06F18/24147Distances to closest patterns, e.g. nearest neighbour classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting 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/6245Protecting personal data, e.g. for financial or medical purposes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Storage Device Security (AREA)

Abstract

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

Description

一种基于非共谋双云服务器的隐私保护外包数据KNN算法
技术领域
本发明涉及安全多方计算以及机器学习技术领域,具体来说,是一种基于安全两方计算技术实现数据外包的隐私保护的K近邻(K Nearest Neighbor,KNN)算法,该方案基于秘密共享技术、不经意传输协议、混淆电路等技术将弱客户端的数据以及计算外包给非共谋的双云服务器,使得弱客户端在计算和存储能力有限的情况下也能实现隐私保护的KNN算法。
技术背景
随着云计算技术以及大数据技术的发展,互联网行业的巨头如谷歌、亚马逊、微软等公司开始提供基于云服务器的机器学习服务来解决医疗、金融等领域中出现的问题,这些行业巨头提供的服务使得机器学习算法在实际应用中不断优化,得以改进。但是机器学习算法的训练模型是需要大规模的数据来支撑的,在一定程度内,训练数据量越多,训练的模型准确度越高。将大量的数据外包给云服务器去存储和计算,具有成本低,灵活性高等优点,但是在实际生活中,训练数据大多数都是由互联网公司收集的用户私人数据,可能包含用户的信用卡号码、个人的身份信搜索记录、浏览记录、交易记录以及地址等隐私信息。且存在这样的可能,由于数据是来自不同的数据源,针对同一用户的不同数据源的数据推断出更多的关于用户的隐私信息。如果用户被泄露,不仅对提供基于云服务器机器学习服务公司造成经济和名誉上的损害,而且也会造成一定的社会恐慌,在未来,数据提供者也会因为担心个人的隐私问题而拒绝提供数据,而这会对未来的研究造成阻碍。
对于隐私保护的KNN算法问题,目前已有的相关工作主要是基于数据扰动方法的差分隐私和加密方法的同态加密和安全多方计算。差分隐私通过在数据集中添加单个记录,由于单个记录对数据集的计算结果的影响是微乎其微的,从而攻击而无法通过计算结果来推测数据集中的信息,进而保证了数据集的信息不会被泄露,这满足了KNN 算法中的数据隐私保护要求。这种方案计算开销小,效率高,但是可用性差,数据挖掘人员在有限的隐私预算内可以提交查询,一旦分配的隐私预算用完,数据挖掘人员将被限制进一步的查询。
同态加密可以实现密文上的代数运算,得到的计算结果仍然保持密文的状态,只有持有私钥的参与方可以解密得到计算结果,能够实现KNN算法中的数据集以及计算的中间参数的数据隐私保护。但是基于同态加密技术的方案都存在计算和存储开销大的问题。现存的同态加密算法的效率较低,因此会导致基于同态加密技术的隐私保护的 KNN算法的实用性不强。
安全多方计算技术的特点是计算便宜,实用性强,因为有很多学者致力于基于安全多方计算技术来实现隐私保护的KNN算法,混淆电路、不经意传输协议、秘密共享技术等都是属于安全多方计算领域的技术,这些技术能够满足计算过程中数据隐私的要求,但是多方之间的交互必然会导致通信开销大的问题。因此使用安全多方计算解决数据的隐私保护问题的主要挑战在于如何构建一个安全且高效的多方计算协议。
本发明提出了一种基于秘密共享和混淆电路以及不经意传输协议等技术的安全高效的双云模型下的KNN算法。首先通过秘密共享技术将数据发送给双云服务器,随后利用混淆电路、不经意传输协议设计了安全欧式距离协议,安全的比较协议,安全的排序协议等,最后通过模块化顺序组合的方式,实现了安全的KNN分类协议。与基于同态加密的解决方案不同,我们设计的方案能够实现在同等安全性级别的条件下,具有更高的效率,后者需要在密文上进行比较,乘法等计算,会产生较大的计算开销。此外本发明可适用于弱客户端,因为参与方仅需要完成秘密共享和发送数据,在计算的过程中均保持离线状态。
发明内容
传统的数据外包的隐私保护的KNN算法通常是基于同态加密进行展开,KNN算法分类或者查询中效率较低。本方案提出一种基于非共谋双云服务器的隐私保护外包数据KNN算法,借助云服务器算力高的特点,将弱客户端的数据和计算外包给双云服务器,通过使用秘密共享技术、混淆电路技术以及不经意传输协议实现数据以及计算过程中的中间参数的隐私保护,从而实现了KNN算法全过程的隐私保护。
本发明是通过以下技术方案实现的:
一种基于非共谋双云服务器的隐私保护外包数据KNN算法,包括如下步骤:
步骤1:数据预处理
该步骤主要用于解决数据外包问题,利用算术秘密共享保护数据集,将经秘密共享拆分后的数据集发送给两个云服务器,这样每个云服务器均只有数据的一部分,在本方案的设定中,双云服务器是非共谋的,两个服务器不能合谋恢复原始数据集,因此能够实现数据集的安全外包。
数据拥有者将私有的训练数据集(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表示样本的特征数。
步骤2:安全欧式距离平方计算
安全欧式距离平方协议是两方协议,数据拥有者的数据集中的点记为P,P∈X,用户的查询点记为Q,所有点的维度都是d,点P 和点Q的算术秘密共享记为
Figure RE-GDA0003496743760000041
Figure RE-GDA0003496743760000042
分别由服务器S0和云服务器S1持有,点P与点Q之间的欧式距离平方记为
Figure RE-GDA0003496743760000051
可以改写成如下形式:
Figure RE-GDA0003496743760000052
Figure RE-GDA0003496743760000053
可以重写成公式(1)的形式,可以发现其中
Figure RE-GDA0003496743760000054
Figure RE-GDA0003496743760000055
是由两方分别持有的数据,可以单独计算并不会泄露任何信息,而
Figure RE-GDA0003496743760000056
Figure RE-GDA0003496743760000057
中的第一个乘积项是由云服务器S0持有的第二个乘积项是由云服务器S1持有的,在不泄露信息的情况实现计算,需要调用步骤3的安全乘法计算协议。具体的安全欧式距离平方协议流程如下:
步骤2.1:云服务器S0计算
Figure RE-GDA0003496743760000058
步骤2.2:云服务器S1计算
Figure RE-GDA0003496743760000059
步骤2.3:云服务器S0和云服务器S1调用安全乘法计算协议,联合计算
Figure RE-GDA00034967437600000510
S0和S1分别得到乘法计算协议结果的一部分,记为zA和zB
步骤2.4:云服务器S0得到
Figure RE-GDA0003496743760000061
Figure RE-GDA0003496743760000062
云服务器S1得到
Figure RE-GDA0003496743760000063
步骤3:安全乘法计算
假定云服务器S0和S1分别持有x和y两个数据,不泄露两方分别持有的x和y的情况下,计算出xy的值。对于安全乘法协议的研究,目前主要是基于同态加密和OT协议这两项技术,ABY框架中的实验数据表明,基于OT扩展的乘法计算的速度比基于同态加密的乘法计算更加高效,基于上述的结论,因此我们将工作的重点放在了基于 OT扩展的安全乘法协议。
两方安全乘法计算协议具体步骤如下:
Step 3.1:云服务器S0将x重写成
Figure RE-GDA0003496743760000064
Step 3.2:云服务器S1作为OT的接受者,输入 (mi,0,mi,1,……,mi,N-1),其中
Figure RE-GDA0003496743760000065
mi,1= (Niy-mi,0)mod 2l,mi,x[i]=(Nix[i]y-mi,0)mod 2l
步骤3.3:云服务器S0作为OT的发送者,输入选择比特x[i]∈N,调用1-out-of-NOT协议,云服务器S0获得mi,x[i]=(Nix[i]y- mi,0)mod 2l
步骤3.4:云服务器S0计算
Figure RE-GDA0003496743760000066
步骤3.5:云服务器S1计算
Figure RE-GDA0003496743760000067
经过验证,可以发现,
Figure RE-GDA0003496743760000068
步骤4:安全最小值协议
在步骤3中,双云服务器分别持有矩阵P0.mDist和P1.mDist,接下来需要对步骤3中计算出来的距离进行排序。
以云服务器S0为例,持有以算术秘密共享形式的矩阵P0.mDist,要实现矩阵P0.mDist中相邻元素的两两比较,前人的方案提出的解决方案有以下2种思路:第一种是采用全同态,然而全同态的计算开销巨大,实用性差;第二种是将以算术秘密共享形式的矩阵P0.mDist转换成Yao共享形式,再利用混淆电路实现P0.mDist中相邻的两个元素之间的比较,但是算术秘密共享形式的数据转换成Yao共享,代价是昂贵的。本发明中提出一种新的形式比较混淆电路,避免了数据形式之间的转换。具体步骤如下:
步骤4.1:调用混淆电路比较矩阵P0.mDist中两两相邻的元素,输出01或者10用P0.vecGcMinOutput表示,1所在的位置对应两个比较元素中的较小值;
步骤4.2:将服务器输出P0.vecGcMinOutput连接构成向量 P0.mvecIdxMin,如果P0.mvecIdxMin中比特数为奇数,再 P0.mvecIdxMin的最后补1;
步骤4.3:P0.mvecIdxMin乘以P0.mDist,得到下一层待比较的元素P0.mShareMin;
步骤4.4:判断P0.mShareMin的长度是否大于1,如果小于等于 1,结束;
步骤4.5:如果P0.mShareMin的长度是奇数,将P0.mShareMin 的最后一位存储到P0.mLastNode;
步骤4.6:再次同步骤4.1调用混淆电路,得到比较结果P0.vecGcMinOutput;
步骤4.7:将所有的输出P0.vecGcMinOutput连接构成向量 P0.mvecIdxMin;
步骤4.8:P0.mvecIdxMin乘以P0.mDist,得到下一层待比较的元素P0.mShareMin,将P0.mLastNode添加到P0.mShareMin,
重复步骤4.4~4.8,得到最小值P0.mShareMin以及最小值对应位置的向量P0.mvecIdxMin,将P0.mvecIdxMin存入队列q0中;云服务器S0的操作步骤同S1得到P1.mvecIdxMin存入队列q1中。
步骤5:本步骤解决的问题是找到距离最近的K个样本,在步骤 4中,已经找到距离的一个样本,接下来就是重复K次步骤4,得到 K个样本,具体过程如下所示:
步骤5.1:将P0.mShareMin和P1.mShareMin重新赋值为最大值;
步骤5.2:重复步骤4,得到K个最小值以及最小值对应的向量 P0.mvecIdxMin。
步骤6:云服务器S0和S1根据队列中存储的P0.mvecIdxMin和 P1.mvecIdxMin统计得到的K个样本的标签数量,输出占比最大的标签LA和LB,并将LA和LB发送给数据使用者
步骤7:数据使用者根据LA+LB=L得到完整的标签L。
有益效果:本发明将秘密共享、混淆电路、不经意传输协议等安全多方计算密码学技术应用到KNN算法中,借助不合谋的双云服务器,设计了基于两方的安全的乘法、安全欧式距离、安全最小值协议,实现了KNN算法中的数据和计算的安全外包,使得具有查询需求的用户能够实现查询数据以及查询结果的隐私保护,数据拥有者的私有数据在用户的查询过程中一直以秘密共享拆分后的形式存在,保证了私有数据的隐私性。
附图说明
图1为本发明一种基于非共谋双云服务器的隐私保护外包数据 KNN算法的整体框架结构示意图。
图2为本发明一种基于非共谋双云服务器的隐私保护外包数据 KNN算法是系统流程示意图。
具体实施方式
下面结合附图对本发明的实施例作详细说明:本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
如图1、2所示,一种基于非共谋双云服务器的隐私保护外包数据KNN算法,包括如下步骤:
步骤1:数据预处理
该步骤主要用于解决数据外包问题,利用算术秘密共享保护数据集,将经秘密共享拆分后的数据集发送给两个云服务器,这样每个云服务器均只有数据的一部分,在本方案的设定中,双云服务器是非共谋的,两个服务器不能合谋恢复原始数据集,因此能够实现数据集的安全外包。
数据拥有者将私有的训练数据集(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表示样本的特征数。
步骤2:安全欧式距离平方计算
安全欧式距离平方协议是两方协议,数据拥有者的数据集中的点记为P,P∈X,用户的查询点记为Q,所有点的维度都是d,点P 和点Q的算术秘密共享记为
Figure RE-GDA0003496743760000101
Figure RE-GDA0003496743760000102
分别由服务器S0和云服务器 S1持有,点P与点Q之间的欧式距离平方记为
Figure RE-GDA0003496743760000103
可以改写成如下形式:
Figure RE-GDA0003496743760000104
Figure RE-GDA0003496743760000105
可以重写成公式(1)的形式,可以发现其中
Figure RE-GDA0003496743760000106
Figure RE-GDA0003496743760000107
是由两方分别持有的数据,可以单独计算并不会泄露任何信息,而
Figure RE-GDA0003496743760000111
Figure RE-GDA0003496743760000112
中的第一个乘积项是由云服务器S0持有的第二个乘积项是由云服务器S1持有的,在不泄露信息的情况实现计算,需要调用步骤3的安全乘法计算协议。具体的安全欧式距离平方协议流程如下:
步骤2.1:云服务器S0计算
Figure RE-GDA0003496743760000113
步骤2.2:云服务器S1计算
Figure RE-GDA0003496743760000114
步骤2.3:云服务器S0和云服务器S1调用安全乘法计算协议,联合计算
Figure RE-GDA0003496743760000115
S0和S1分别得到乘法计算协议结果的一部分,记为zA和zB
步骤2.4:云服务器S0得到
Figure RE-GDA0003496743760000116
Figure RE-GDA0003496743760000117
云服务器S1得到
Figure RE-GDA0003496743760000118
步骤3:安全乘法计算
假定云服务器S0和S1分别持有x和y两个数据,不泄露两方分别持有的x和y的情况下,计算出xy的值。对于安全乘法协议的研究,目前主要是基于同态加密和OT协议这两项技术,ABY框架中的实验数据表明,基于OT扩展的乘法计算的速度比基于同态加密的乘法计算更加高效,基于上述的结论,因此我们将工作的重点放在了基于 OT扩展的安全乘法协议。
两方安全乘法计算协议具体步骤如下:
Step 3.1:云服务器S0将x重写成
Figure RE-GDA0003496743760000119
Step 3.2:云服务器S1作为OT的接受者,输入(mi,0,mi,1,……,mi,N-1),其中
Figure RE-GDA0003496743760000121
mi,1= (Niy-mi,0)mod 2l,mi,x[i]=(Nix[i]y-mi,0)mod 2l
步骤3.3:云服务器S0作为OT的发送者,输入选择比特x[i]∈N,调用1-out-of-NOT协议,云服务器S0获得mi,x[i]=(Nix[i]y- mi,0)mod 2l
步骤3.4:云服务器S0计算
Figure RE-GDA0003496743760000122
步骤3.5:云服务器S1计算
Figure RE-GDA0003496743760000123
经过验证,可以发现,
Figure RE-GDA0003496743760000124
步骤4:安全最小值协议
在步骤3中,双云服务器分别持有矩阵P0.mDist和P1.mDist,接下来需要对步骤3中计算出来的距离进行排序。
以云服务器S0为例,持有以算术秘密共享形式的矩阵P0.mDist,要实现矩阵P0.mDist中相邻元素的两两比较,前人的方案提出的解决方案有以下2种思路:第一种是采用全同态,然而全同态的计算开销巨大,实用性差;第二种是将以算术秘密共享形式的矩阵P0.mDist转换成Yao共享形式,再利用混淆电路实现P0.mDist中相邻的两个元素之间的比较,但是算术秘密共享形式的数据转换成Yao共享,代价是昂贵的。本发明中提出一种新的形式比较混淆电路,避免了数据形式之间的转换。具体步骤如下:
步骤4.1:调用混淆电路比较矩阵P0.mDist中两两相邻的元素,输出01或者10用P0.vecGcMinOutput表示,1所在的位置对应两个比较元素中的较小值;
步骤4.2:将服务器输出P0.vecGcMinOutput连接构成向量 P0.mvecIdxMin,如果P0.mvecIdxMin中比特数为奇数,再 P0.mvecIdxMin的最后补1;
步骤4.3:P0.mvecIdxMin乘以P0.mDist,得到下一层待比较的元素P0.mShareMin;
步骤4.4:判断P0.mShareMin的长度是否大于1,如果小于等于 1,结束;
步骤4.5:如果P0.mShareMin的长度是奇数,将P0.mShareMin 的最后一位存储到P0.mLastNode;
步骤4.6:再次同步骤4.1调用混淆电路,得到比较结果 P0.vecGcMinOutput;
步骤4.7:将所有的输出P0.vecGcMinOutput连接构成向量 P0.mvecIdxMin;
步骤4.8:P0.mvecIdxMin乘以P0.mDist,得到下一层待比较的元素P0.mShareMin,将P0.mLastNode添加到P0.mShareMin,
重复步骤4.4~4.8,得到最小值P0.mShareMin以及最小值对应位置的向量P0.mvecIdxMin,将P0.mvecIdxMin存入队列q0中;云服务器S0的操作步骤同S1得到P1.mvecIdxMin存入队列q1中。
步骤5:本步骤解决的问题是找到距离最近的K个样本,在步骤 4中,已经找到距离的一个样本,接下来就是重复K次步骤4,得到 K个样本,具体过程如下所示:
步骤5.1:将P0.mShareMin和P1.mShareMin重新赋值为最大值;
步骤5.2:重复步骤4,得到K个最小值以及最小值对应的向量 P0.mvecIdxMin。
步骤6:云服务器S0和S1根据队列中存储的P0.mvecIdxMin和 P1.mvecIdxMin统计得到的K个样本的标签数量,输出占比最大的标签LA和LB,并将LA和LB发送给数据使用者
步骤7:数据使用者根据LA+LB=L得到完整的标签L。
以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。

Claims (5)

1.一种基于非共谋双云服务器的隐私保护外包数据KNN算法,其特征在于,包括如下步骤:
步骤1:数据预处理
对数据拥有者的数据和用户的测试数据通过秘密共享,随机拆分成两个部分,分别发送给云服务器S0和S1
步骤2:安全欧式距离平方计算
安全欧式距离平方协议是两方协议,数据拥有者的数据集中的点记为P,P∈X,用户的查询点记为Q,所有点的维度都是d,点P和点Q的算术秘密共享记为
Figure FDA0003327203760000015
Figure FDA0003327203760000016
分别由服务器S0和云服务器S1持有,点P与点Q之间的欧式距离平方记为
Figure FDA0003327203760000017
可以改写成如下形式:
Figure FDA0003327203760000011
Figure FDA0003327203760000012
可以重写成公式(1)的形式,可以发现其中
Figure FDA0003327203760000013
Figure FDA0003327203760000014
是由两方分别持有的数据,可以单独计算并不会泄露任何信息,而
Figure FDA0003327203760000021
Figure FDA0003327203760000022
中的第一个乘积项是由云服务器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,找到对应的样本标签,统计标签数量,将占比最大的标签LA和LB发送给用户;
步骤7:用户根据LA+LB=L,恢复秘密得到标签。
2.根据权利要求1所述的一种基于非共谋双云服务器的隐私保护外包数据KNN算法,其特征在于,所述步骤2中的安全欧式距离平方协议流程如下:
步骤2.1:云服务器S0计算
Figure FDA0003327203760000023
步骤2.2:云服务器S1计算
Figure FDA0003327203760000031
步骤2.3:云服务器S0和云服务器S1调用安全乘法计算协议,联合计算
Figure FDA0003327203760000032
S0和S1分别得到乘法计算协议结果的一部分,记为zA和zB
步骤2.4:云服务器S0得到
Figure FDA0003327203760000033
云服务器S1得到
Figure FDA0003327203760000034
3.根据权利要求1所述的一种基于非共谋双云服务器的隐私保护外包数据KNN算法,其特征在于,所述步骤3中的两方安全乘法计算协议具体步骤如下:
Step 3.1:云服务器S0将x重写成
Figure RE-FDA0003496743750000034
Step 3.2:云服务器S1作为OT的接受者,输入(mi,0,mi,1,……,mi,N-1),其中
Figure RE-FDA0003496743750000035
mi,1=(Niy-mi,0)mod 2l,mi,x[i]=(Nix[i]y-mi,0)mod 2l
步骤3.3:云服务器S0作为OT的发送者,输入选择比特x[i]∈N,调用1-out-of-N OT协议,云服务器S0获得mi,x[i]=(Nix[i]y-mi,0)mod 2l
步骤3.4:云服务器S0计算
Figure RE-FDA0003496743750000036
步骤3.5:云服务器S1计算
Figure RE-FDA0003496743750000037
经过验证,可以发现,
Figure RE-FDA0003496743750000038
4.根据权利要求1所述的一种基于非共谋双云服务器的隐私保护外包数据KNN算法,其特征在于,所述步骤4中的安全最小值协议,以云服务器S0为例,持有以算术秘密共享形式的矩阵P0.mDist,要实现矩阵P0.mDist中相邻元素的两两比较,前人的方案提出的解决方案有以下2种思路:第一种是采用全同态,然而全同态的计算开销巨大,实用性差;第二种是将以算术秘密共享形式的矩阵P0.mDist转换成Yao共享形式,再利用混淆电路实现P0.mDist中相邻的两个元素之间的比较,但是算术秘密共享形式的数据转换成Yao共享,代价是昂贵的。本发明中提出一种新的形式比较混淆电路,避免了数据形式之间的转换。具体步骤如下:
步骤4.1:调用混淆电路比较矩阵P0.mDist中两两相邻的元素,输出01或者10用P0.vecGcMinOutput表示,1所在的位置对应两个比较元素中的较小值;
步骤4.2:将服务器输出P0.vecGcMinOutput连接构成向量P0.mvecIdxMin,如果P0.mvecIdxMin中比特数为奇数,再P0.mvecIdxMin的最后补1;
步骤4.3:P0.mvecIdxMin乘以P0.mDist,得到下一层待比较的元素P0.mShareMin;
步骤4.4:判断P0.mShareMin的长度是否大于1,如果小于等于1,结束;
步骤4.5:如果P0.mShareMin的长度是奇数,将P0.mShareMin的最后一位存储到P0.mLastNode;
步骤4.6:再次同步骤4.1调用混淆电路,得到比较结果P0.vecGcMinOutput;
步骤4.7:将所有的输出P0.vecGcMinOutput连接构成向量P0.mvecIdxMin;
步骤4.8:P0.mvecIdxMin乘以P0.mDist,得到下一层待比较的元素P0.mShareMin,将P0.mLastNode添加到P0.mShareMin,
重复步骤4.4~4.8,得到最小值P0.mShareMin以及最小值对应位置的向量P0.mvecIdxMin,将P0.mvecIdxMin存入队列q0中;云服务器S0的操作步骤同S1得到P1.mvecIdxMin存入队列q1中。
5.根据权利要求1所述的一种基于非共谋双云服务器的隐私保护外包数据KNN算法,其特征在于,所述步骤5是为了找到距离最近的K个样本,在步骤4中,已经找到距离的一个样本,接下来就是重复K次步骤4,得到K个样本,具体过程如下所示:
步骤5.1:将P0.mShareMin和P1.mShareMin重新赋值为最大值;
步骤5.2:重复步骤4,得到K个最小值以及最小值对应的向量P0.mvecIdxMin。
CN202111266709.2A 2021-10-28 2021-10-28 一种基于非共谋双云服务器的隐私保护外包数据knn算法 Pending CN114154554A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111266709.2A CN114154554A (zh) 2021-10-28 2021-10-28 一种基于非共谋双云服务器的隐私保护外包数据knn算法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111266709.2A CN114154554A (zh) 2021-10-28 2021-10-28 一种基于非共谋双云服务器的隐私保护外包数据knn算法

Publications (1)

Publication Number Publication Date
CN114154554A true CN114154554A (zh) 2022-03-08

Family

ID=80458540

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111266709.2A Pending CN114154554A (zh) 2021-10-28 2021-10-28 一种基于非共谋双云服务器的隐私保护外包数据knn算法

Country Status (1)

Country Link
CN (1) CN114154554A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114494803A (zh) * 2022-04-18 2022-05-13 山东师范大学 基于安全计算的图像数据标注方法及系统
CN115396101A (zh) * 2022-10-26 2022-11-25 华控清交信息科技(北京)有限公司 一种基于秘密分享的不经意打乱方法和系统
CN116388954A (zh) * 2023-02-23 2023-07-04 西安电子科技大学 通用密态数据安全计算方法
CN117056978A (zh) * 2023-08-30 2023-11-14 西安电子科技大学 一种基于算术共享的安全并查集方法及其运算方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106209371A (zh) * 2016-07-25 2016-12-07 青岛大学 应用于rsa算法生成密钥的外包方法
WO2018184407A1 (zh) * 2017-04-07 2018-10-11 哈尔滨工业大学深圳研究生院 一种具有隐私保护的K-means聚类方法及系统
US20190007196A1 (en) * 2017-06-28 2019-01-03 Qatar University Method and system for privacy preserving computation in cloud using fully homomorphic encryption
CN110011784A (zh) * 2019-04-04 2019-07-12 东北大学 支持隐私保护的knn分类服务系统及方法
US20200042828A1 (en) * 2018-08-03 2020-02-06 Cerebri Al Inc. Privacy & proprietary-information preserving collaborative multi-party machine learning
CN112182649A (zh) * 2020-09-22 2021-01-05 上海海洋大学 一种基于安全两方计算线性回归算法的数据隐私保护系统
CN113204788A (zh) * 2021-05-11 2021-08-03 广州大学 一种细粒度属性匹配隐私保护方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106209371A (zh) * 2016-07-25 2016-12-07 青岛大学 应用于rsa算法生成密钥的外包方法
WO2018184407A1 (zh) * 2017-04-07 2018-10-11 哈尔滨工业大学深圳研究生院 一种具有隐私保护的K-means聚类方法及系统
US20190007196A1 (en) * 2017-06-28 2019-01-03 Qatar University Method and system for privacy preserving computation in cloud using fully homomorphic encryption
US20200042828A1 (en) * 2018-08-03 2020-02-06 Cerebri Al Inc. Privacy & proprietary-information preserving collaborative multi-party machine learning
CN110011784A (zh) * 2019-04-04 2019-07-12 东北大学 支持隐私保护的knn分类服务系统及方法
CN112182649A (zh) * 2020-09-22 2021-01-05 上海海洋大学 一种基于安全两方计算线性回归算法的数据隐私保护系统
CN113204788A (zh) * 2021-05-11 2021-08-03 广州大学 一种细粒度属性匹配隐私保护方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
倪凯敏等: "一种基于对称加密的隐私保护增量真值发现算法", 《物联网技术》, vol. 10, no. 11, 31 December 2020 (2020-12-31) *
孙茂华;宫哲;: "一种保护隐私集合并集外包计算协议", 密码学报, no. 02, 15 April 2016 (2016-04-15) *
魏立斐等: "机器学习的安全问题及隐私保护", 《计算机研究与发展》, vol. 57, no. 10, 31 December 2020 (2020-12-31) *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114494803A (zh) * 2022-04-18 2022-05-13 山东师范大学 基于安全计算的图像数据标注方法及系统
CN114494803B (zh) * 2022-04-18 2022-07-05 山东师范大学 基于安全计算的图像数据标注方法及系统
CN115396101A (zh) * 2022-10-26 2022-11-25 华控清交信息科技(北京)有限公司 一种基于秘密分享的不经意打乱方法和系统
CN115396101B (zh) * 2022-10-26 2022-12-27 华控清交信息科技(北京)有限公司 一种基于秘密分享的不经意打乱方法和系统
CN116388954A (zh) * 2023-02-23 2023-07-04 西安电子科技大学 通用密态数据安全计算方法
CN116388954B (zh) * 2023-02-23 2023-09-01 西安电子科技大学 通用密态数据安全计算方法
CN117056978A (zh) * 2023-08-30 2023-11-14 西安电子科技大学 一种基于算术共享的安全并查集方法及其运算方法

Similar Documents

Publication Publication Date Title
CN114154554A (zh) 一种基于非共谋双云服务器的隐私保护外包数据knn算法
Li et al. Privacy-preserving machine learning with multiple data providers
Ma et al. PDLM: Privacy-preserving deep learning model on cloud with multiple keys
CN110011784B (zh) 支持隐私保护的knn分类服务系统及方法
Liu et al. Intelligent and secure content-based image retrieval for mobile users
EP3075098A1 (en) Server-aided private set intersection (psi) with data transfer
Pang et al. Privacy-preserving association rule mining using homomorphic encryption in a multikey environment
Erkin et al. Privacy-preserving distributed clustering
CN112532383B (zh) 一种基于秘密分享的隐私保护计算方法
Beye et al. Efficient privacy preserving k-means clustering in a three-party setting
CN112769542B (zh) 基于椭圆曲线的乘法三元组生成方法、装置、设备及介质
Li et al. Efficient Encrypted Data Comparison through a Hybrid Method.
Vijayakumar et al. An improved level of security for dna steganography using hyperelliptic curve cryptography
CN114640444A (zh) 基于国产密码算法的隐私保护集合交集获取方法及装置
Hassan et al. Secure content based image retrieval for mobile users with deep neural networks in the cloud
Zhu et al. Efficient scalar product protocol and its privacy–preserving application
Zhao et al. SGBoost: An efficient and privacy-preserving vertical federated tree boosting framework
CN115510502B (zh) 一种隐私保护的pca方法及系统
CN114358323A (zh) 联邦学习环境中基于第三方高效皮尔森系数计算方法
Al Etaiwi et al. Structured encryption algorithm for text cryptography
Dong et al. FLEXBNN: fast private binary neural network inference with flexible bit-width
Cheng et al. Secure Similar Sequence Query over Multi-source Genomic Data on Cloud
Li et al. Secure and evaluable clustering based on a multifunctional and privacy-preserving outsourcing computation toolkit
Ma et al. Over-threshold multi-party private set operation protocols for lightweight clients
Hong et al. Secure Privacy-Preserving Association Rule Mining With Single Cloud Server

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