一种基于秘密共享的外包隐私保护交集计算方法与流程

文档序号:22396771发布日期:2020-09-29 18:06阅读:241来源:国知局
一种基于秘密共享的外包隐私保护交集计算方法与流程

本发明涉及安全多方计算领域,特别涉及一种基于秘密共享的外包隐私保护交集计算方法。



背景技术:

隐私保护交集计算(privatesetintersection,psi)协议是安全多方计算领域的重要协议,能够使得两个参与方在不泄露各自输入隐私信息的前提下计算双方的交集结果,是信息安全隐私保护技术领域的研究热点。

psi协议拥有很多的实际应用场景,例如社交网络中的关系路径、在线推荐系统、人类基因组医学研究等。现有psi协议借助许多不同的工具来实现高效性和安全性的权衡,例如不经意传输协议、不同的哈希函数及公钥加密体系等,但这些方案通常仅限于两个参与方,而实际场景往往需要多方参与者共同计算,因此具有较低的扩展性和实用性。此外,这些方案都需要双方参与者在本地进行交集计算,而本地计算资源往往具有较低的计算能力和有限的计算空间。

terada等人[teradas,yoneyamak,“improvedverifiabledelegatedprivatesetintersection”2018internationalsymposiumoninformationtheoryanditsapplications(isita).ieee,2018:520-524.]采用具有强大计算和存储能力的云计算将数据集外包给云服务器,为客户端完成交集计算,该方案采用可能效率低下的同态加密来确保数据集的隐私性。inbar等人[inbarr,omrie,pinkasb,“efficientscalablemultipartyprivateset-intersectionviagarbledbloomfilters,”internationalconferenceonsecurityandcryptographyfornetworks.springer,cham,2018:235-252.]将psi协议扩展到多方参与者,该方案允许两个以上的参与者共同计算其数据集的交集,而只有一个参与者最终能够获得结果。但是这些方案都没有考虑多中心服务器存储数据库的情况,即现实场景中往往会把多个数据集存储在多个中心服务器,显然采用传统公钥加密体系保证数据集的机密性较为复杂且低效。

因此,急需研发一种能够保证多中心服务器下存储的多方数据集进行安全高效地交集计算的方法。



技术实现要素:

本发明的目的在于克服以上现有技术存在的不足,提供一种基于秘密共享的外包隐私保护交集计算方法,该方法可在保证数据机密性的前提下,高效地完成多方数据集间的交集计算,且具有较高的实用性和可扩展性。

本发明的目的通过以下的技术方案实现:一种基于秘密共享的外包隐私保护交集计算方法,包括以下步骤:

s1、多方数据库提供者将其各自持有的数据集按秘密共享的方式上传至两个代理中心服务器;

s2、客户端向两个代理中心服务器发起数据集交集计算请求;

s3、两个代理中心服务器分别在本地进行预运算操作;

s4、两个代理中心服务器运行安全多方计算中的gmw协议,并将计算结果发送给客户端;

s5、客户端获得两个代理中心服务器的计算结果,并根据结果判断所请求数据集是否存在于数据提供者的数据集中。

优选的,所述步骤s1中每个数据库提供者用dbi表示,其中1≤i≤n,n表示数据库提供者的数量,dbi持有一个数据集xi={xi1,xi2,…,xij,…,xim},其中1≤j≤m,m表示每个数据库提供者dbi的数据集大小,两个代理中心服务器分别用d'和d”表示,每个数据库提供者将其数据集以秘密共享方式分成di'和di”两个份额,并分别传到两个代理中心服务器,步骤如下:

s101、数据库提供者为每个数据集xi中的每个元素xij产生一个随机数rij,并与其真实值xij进行异或运算,产生结果其中表示异或运算;

s102、数据库提供者将生成的所有的随机数集合r={ri1,ri2,…,rij,…,rim}发送给代理中心服务器d';

s103、数据库提供者将计算的所有的结果集合s={si1,si2,…,sij,…,sim}发送给代理中心服务器d”。

优选的,所述的两个中心代理服务器需要将数据库提供者发送的数据按顺序存储,并记录该顺序作为数据的标签。此后,如果数据提供者想要更新数据,则告诉服务器需新增或删除数据所对应的标签,因此具有较高的可扩展性。

优选的,所述的中心代理服务器是两个半诚实的云服务器,即能正确遵循协议的步骤进行计算,而不会互相串通,但可能尝试了解关于数据集的更多信息。由于数据库提供者是将自己的秘密共享份额存储到代理服务器中,从而保证了提供者数据集的机密性。

优选的,所述步骤s2中客户端用c表示,其要请求的数据集为y={y1,…,yk,…,yn},其中1≤k≤n,n表示客户端c要请求交集计算的数据集的大小,向两个代理中心服务器发起数据集交集计算请求的步骤如下:

s201、客户端c为要请求的数据集y中的某一条数据yk生成一个随机数rk',并与其真实值yk进行异或运算,产生结果

s202、客户端c将对数据yk生成的随机数rk'发送给代理中心服务器d';

s203、客户端c将数据yk和随机数rk'的异或结果sk'发送给代理中心服务器d”。

优选的,所述客户端c向代理中心服务器发送的待请求数据集同样是按秘密共享的份额发送的,因此能保证客户端c数据集的隐私。

优选的,所述步骤s3中,两个代理中心服务器分别在本地进行预运算的操作为:

s301、代理中心服务器d'将随机数rk'和其随机数集合r={ri1,ri2,…,rij,…,rim}中的每个元素进行异或运算,得到输入集合

s302、代理中心服务器d”将异或结果sk'和其结果集合s={si1,si2,…,sij,…,sim}中的每个元素进行异或运算,得到输入集合

优选的,所述步骤s4中执行的安全多方计算中的gmw协议,采用了加密电路的技术,即:保证两方输入x和y为秘密的前提下,计算两方输入的任意函数结果,记为f=(x,y)。具体步骤如下:

s401、函数f由一个电路c进行表示和计算,电路c有两条输入线w1,w2和一条输出线o,以及电路门xor组成。代理中心服务器d'和d”分别拥有输入线w1和w2;

s402、代理中心服务器d'依次对输入集合中的每个元素进行相同的计算:选择随机数aj并计算将aj发送给d”,作为电路c输入线w1的输入;

s403、代理中心服务器d”依次对输入集合中的每个元素进行相同的计算:选择随机数bj并计算将bj发送给d”,作为电路c输入线w2的输入;

s404、代理中心服务器d'和d”分别得到输出线o的值的一部分rd'和rd”。

优选的,所述的步骤s5中客户端c判断所请求数据集是否存在于数据提供者的数据集中,判断方法如下:

s501、客户端c分别获得两个中心代理服务器d'和d”的计算结果rd'和rd”;

s502、客户端c将获得的结果rd'和rd”进行异或计算,得到若结果为0,代表客户端所请求的数据在数据库中存在;反之,则不存在。

优选的,在联机操作之前添加身份认证的步骤,验证客户端c的身份。以避免客户端c是恶意参与方的情况。

优选的,所述的客户端c扩展至两个或两个以上,同样基于秘密共享将所有客户端的集合元素分为两个份额发送至两个代理中心服务器,由代理中心服务器运行安全多方计算gmw协议来实现psi协议。

本发明与现有技术相比,具有如下优点和有益效果:

1)本发明采用云服务器提供更强大的计算和存储能力,能有效降低本地的计算成本。

2)本发明借助秘密共享实现多中心服务器数据集存储和计算,具有较高的实用性,并能满足较高的数据机密性要求。

3)本发明将隐私保护交集计算协议的参与者由两方扩展到多方,既允许数据集提供者为多方也允许客户端为多方,因此能满足较高的实用性和可扩展性要求。

附图说明

图1是本发明实施例中主要结构示意图;

图2是本发明实施例中主要步骤示意图。

具体实施方式

为了更好的理解本发明的技术方案,下面结合附图详细描述本发明提供的实施例,但本发明的实施方式不限于此。

本实施例一种基于秘密共享的外包隐私保护交集计算方法,首先采用秘密共享的方法将多个数据库提供者的数据集进行聚合,并将psi协议的计算委托给两个半诚实的代理中心服务器;其次由客户端发起数据集交集计算请求,计算所持数据集是否存在于数据库提供者所持的数据库中;然后由代理中心服务器进行本地预运算,并采用安全多方计算中的gmw协议进行计算;最后由代理中心服务器将计算结果发送给客户端,客户端根据结果判断所请求的数据集是否存在于数据库提供者的数据库中。

实施例1

如图1-2所示,本实施例所述的技术方案主要包括三方元素,即数据库提供者、代理中心服务器及客户端。数据库提供者是多个独立的数据库机构,提供原始数据集;代理中心服务器有两个,设定双方为半诚实的参与方,不会互相串通,通过安全多方计算协议进行通信,并作为psi协议的参与方完成协议的主要计算;客户端有一个,作为psi协议的一方参与者与代理中心服务器进行协议通信并获得最终计算结果。

下面结合附图,对本实施例所述基于秘密共享的外包隐私保护交集计算方法进行详细说明。

步骤s1、多方数据库提供者将其各自持有的数据集按秘密共享的方式上传至两个代理中心服务器;

所述的每个数据库提供者用dbi表示,其中1≤i≤n,n表示数据库提供者的数量,dbi持有一个数据集xi={xi1,xi2,…,xij,…,xim},其中1≤j≤m,m表示每个数据库提供者dbi的数据集大小,两个代理中心服务器分别用d'和d”表示。每个数据库提供者将其数据集以秘密共享方式分成两个份额:di'和di”,并分别传到两个代理中心服务器,具体步骤如下::

s101、数据库提供者为每个数据集xi中的每个元素xij产生一个随机数rij,并与其真实值xij进行异或运算,产生结果其中表示异或运算;

s102、数据库提供者将生成的所有的随机数集合r={ri1,ri2,…,rij,…,rim}发送给代理中心服务器d';

s103、数据库提供者将计算的所有的结果集合s={si1,si2,…,sij,…,sim}发送给代理中心服务器d”。

所述的两个中心代理服务器需要将数据库提供者发送的数据按顺序存储,并记录该顺序作为数据的标签。此后,如果数据提供者想要更新数据,则告诉服务器需新增或删除数据所对应的标签。

所述的中心代理服务器是两个半诚实的云服务器,即能正确遵循协议的步骤进行计算,而不会互相串通,但可能尝试了解关于数据集的更多信息。由于数据库提供者是将自己的秘密共享份额存储到代理服务器中,从而保证了提供者数据集的机密性。

步骤s2、客户端向两个代理中心服务器发起数据集交集计算请求;

所述的客户端用c表示,其将请求的数据集y={y1,…,yk,…,yn},其中1≤k≤n,n表示客户端c要请求的数据集的大小,向两个代理中心服务器发起交集计算请求的步骤如下:

s201、客户端c为要请求的数据集y中的某一条数据yk生成一个随机数rk',并与其真实值yk进行异或运算,产生结果

s202、客户端c将对数据yk生成的随机数rk'发送给代理中心服务器d';

s203、客户端c将数据yk和随机数rk'的异或结果sk'发送给代理中心服务器d”。

所述的客户端c向代理中心服务器发送的待请求数据集同样是按秘密共享的份额发送的,因此能保证客户端c数据集的隐私。

步骤s3、两个代理中心服务器分别在本地进行预运算操作,具体操作步骤如下:

s301、代理中心服务器d'将随机数rk'和其随机数集合r={ri1,ri2,…,rij,…,rim}中的每个元素进行异或运算,得到输入集合

s302、代理中心服务器d”将异或结果sk'和其结果集合s={si1,si2,…,sij,…,sim}中的每个元素进行异或运算,得到输入集合

步骤s4、两个代理中心服务器运行安全多方计算(gmw)协议,并将计算结果发送给客户端;

所述的多方安全计算中的gmw协议,采用了加密电路的技术,即:保证两方输入x和y为秘密的前提下,计算两方输入的任意函数结果,记为f=(x,y)。具体步骤如下:

s401、函数f由一个电路c进行表示和计算,电路c有两条输入线w1,w2和一条输出线o,以及电路门xor组成。代理中心服务器d'和d”分别拥有输入线w1和w2;

s402、代理中心服务器d'依次对输入集合中的每个元素进行相同的计算:选择随机数aj并计算将aj发送给d”,作为电路c输入线w1的输入;

s403、代理中心服务器d”依次对输入集合中的每个元素进行相同的计算:选择随机数bj并计算将bj发送给d”,作为电路c输入线w2的输入;

s404、代理中心服务器d'和d”分别得到输出线o的值的一部分rd'和rd”。

所述的gmw协议能保证在计算过程中不会泄露任何信息,因为代理中心服务器获取的数据来源均是数据集通过秘密共享的份额,是均匀分布的随机值,与具体内容无关。

步骤s5、客户端获得两个代理中心服务器的计算结果,并根据结果判断所请求数据集是否存在于数据提供者的数据集中,判断决策如下:

s501、客户端c分别获得两个中心代理服务器d'和d”的计算结果rd'和rd”;

s502、客户端c将获得的结果rd'和rd”进行异或计算,得到若结果为0,代表客户端所请求数据在数据库中存在;反之,则不存在。

所述的客户端c可以是恶意参与方,可能会伪造数据集发送到代理服务器,并尝试从结果中推断出更多信息,但所述的步骤s5采用的决策可以隐藏输出,除了有效结果外,不会泄露其他任何信息。此外,还可以在联机操作之前添加身份认证的步骤,验证客户端c的身份。

所述的客户端c可以扩展至两个或两个以上,同样基于秘密共享将所有客户端的集合元素分为两个份额发送至两个代理中心服务器,由代理中心服务器运行安全多方计算gmw协议来实现psi协议。因此本方案具有较高的可扩展性。

本领域普通技术人员可以意识到,结合本发明中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1