CN112910631A - 一种基于云服务器辅助的高效隐私集合交集计算方法及系统 - Google Patents
一种基于云服务器辅助的高效隐私集合交集计算方法及系统 Download PDFInfo
- Publication number
- CN112910631A CN112910631A CN202110174708.9A CN202110174708A CN112910631A CN 112910631 A CN112910631 A CN 112910631A CN 202110174708 A CN202110174708 A CN 202110174708A CN 112910631 A CN112910631 A CN 112910631A
- Authority
- CN
- China
- Prior art keywords
- server
- client
- cloud
- intersection
- prf
- 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
- 238000004364 calculation method Methods 0.000 title claims abstract description 40
- 238000000034 method Methods 0.000 claims abstract description 31
- 238000004891 communication Methods 0.000 claims abstract description 10
- 239000013598 vector Substances 0.000 claims description 52
- 241000544061 Cuculus canorus Species 0.000 claims description 18
- 238000004422 calculation algorithm Methods 0.000 claims description 13
- 238000012946 outsourcing Methods 0.000 claims description 10
- 238000012856 packing Methods 0.000 claims description 8
- 238000010276 construction Methods 0.000 claims description 7
- 238000005516 engineering process Methods 0.000 claims description 7
- 238000012360 testing method Methods 0.000 claims description 4
- 230000005540 biological transmission Effects 0.000 claims description 2
- 238000012545 processing Methods 0.000 claims description 2
- 230000003993 interaction Effects 0.000 claims 2
- 238000004590 computer program Methods 0.000 claims 1
- 230000000977 initiatory effect Effects 0.000 claims 1
- 230000002452 interceptive effect Effects 0.000 claims 1
- 230000006870 function Effects 0.000 description 39
- 238000004458 analytical method Methods 0.000 description 4
- 238000004806 packaging method and process Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 101100518501 Mus musculus Spp1 gene Proteins 0.000 description 1
- 208000003443 Unconsciousness Diseases 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000007429 general method Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- 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/602—Providing cryptographic facilities or services
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/085—Secret sharing or secret splitting, e.g. threshold schemes
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Power Engineering (AREA)
- Computer And Data Communications (AREA)
- Storage Device Security (AREA)
Abstract
Description
技术领域
本发明涉及多方安全计算中隐私集合交集计算领域,具体来说,是一种不经意两方分布式伪随机函数及基于该函数和不可信云服务器辅助的高效隐私交集计算方法及其系统。
背景技术
隐私集合交集(Private Set Intersection,PSI)技术是安全保密计算技术中的重要部分,其允许各自持有私有集合数据的多方在不泄露除交集外任何额外信息的情况下计算出集合交集。隐私集合交集技术作为安全多方计算中许多复杂功能的基础板块,在隐私技术业内受到广泛关注。近几年,PSI技术发展迅速,已经应用于许多领域,如私有联系人查找,广告曝光效果计算和接触者追踪等。隐私集合交集基数(PSI cardinality,PSI-CA)指隐私交集集合中元素的数量,常被应用于私有分布式数据的一些分析。
现在已经有非常多传统的两方本地隐私集合交集方案被提出。其中一种简单通用的方法是使用隐私相等性测试协议(private equality test,PEQT)对比双方元素是否相等,如果双方各持有m个元素,这项工作最坏将需要m2次对比。通过计算哈希值将元素映射到向量对比次数能够减少到O(nlogn)。在这个基础上使用茫然传输协议拓展技术能将通信复杂度下降至O(mλ)。
以上传统的PSI方案很高效,但存有潜在限制,对客户端的硬件设备仍有较高要求又无法安全的将计算外包给不可信云,在客户持有受限设备与大型服务提供商之间执行PSI协议时,可能会出现客户端算力不足或者通信受限等问题。现有适用于客户端持有受限设备(如:手机)的PSI协议,也仅限于适用在双方集合数量不平衡的场景。传统的PSI协议适用于数据拥有者们在本地隐私的计算集合交集,并不能在不可信云环境下仍然保证数据的隐私。云计算给用户提供了经济高效的存储和计算资源,并且一直在吸引个人和企业的关注,是现代工业至关重要的技术之一。将计算外包给云服务器,客户端将无需花费大量资金来购买和维护硬件设备,这大大降低了资金支出成本。理想情况下,不受信任的云服务器应该能够对客户端的外包数据集进行计算,但不应了解有关隐私数据集或计算结果的任何信息。设计一个将计算委托给不可信云的PSI协议并不是一件简单的事情,因为不仅必须像传统的PSI模型那样保证另一方的安全性,而且还要保证不可信云服务器的安全性。迄今为止,已有非常多高效的能在云环境下保证数据安全的隐私集合交集协议被提出,但都存在一定安全隐患或者委托之后客户端计算量通信量仍然过大等问题。因此,需要一个基于不可信云服务器辅助的高效隐私交集计算方法。
秘密共享由Adi Shamir和George Blakley在1979年各自独立提出,是指将一个秘密分配给多个参与者,每个参与者都能分配到一部分秘密,当且仅当足够数量的不同秘密组合在一起时才能恢复出完整的秘密,参与者无法单独恢复秘密。本发明使用了一个基于简单异或操作但高效且被广泛使用的秘密共享方案,该方案产生n-1个与秘密s长度相同的随机字符串r1,..rn-1,同时计算ri为秘密分享值,收集n个分享值后可以计算恢复出秘密s,而任何少于n个分享值的情况都不会泄露与秘密s的相关信息。
不经意伪随机函数(Oblivious Pseudo-Random Functions,OPRF)由Freedman等人在2005年提出的一个安全两方协议,参与对象由接收方和发送方组成,协议执行时随着接收方输入值x,不经意伪随机函数计算协议产生种子值k。最终,发送方得到种子值k,接收方得到OPRF结果F(k,x)。发送方可通过种子值k计算F(k,y),其中y为想计算的任何值。OPRF主要过程可分为以下三步:(1)等待接收者输入值x;(2)生成一个随机PRF种子k将其发送给发送者;(3)将F(k,x)发送给接收者。
Pinkas等人提出了一种基于少量公钥加密和大量分组密钥加密操作的OPRF协议,能以非常低的代价高效的产生大量的OPRF实例。Kolesnikov等人又介绍了一种PRF密钥为相关对(s,k)的不经意伪随机函数BaRK-OPRF,第一个密钥s是由发送者选择的随机秘密值,执行协议生成大量OPRF实例时,所有实例都使用相同的相关密钥值s。第二个密钥的组成结构为其中x为OPRF输入值,C()为随机函数,∧表示按比特与(AND)操作。值t作为PRF输出由函数随机选择或直接由接受者选择,接受者最终能够得到Fs(k,x)=t。在BaRK-OPRF的每个OPRF实例中,接收者能够计算唯一的输入值x,发送者能够计算任意y值的PRF结果将k值代入后能得到显然,如果x=y,则Fs(k,y)=t,此时Fs(k,y)=Fs(k,x)成立。
Duong等人在BaRK-OPRF的基础上提出了一种结果满足异或同态性质的伪随机函数Odk-PRF,由于其异或同态性,计算能够通过秘密共享外包给m个由不可信云服务器扮演的接收方。Odk-PRF由一个发送方和m个接收方组成,设接收方i(1≤i≤m)持有经XOR秘密共享后关键字x的一部分xi,执行Odk-PRF协议后,发送方可以得到一个相关密钥s和PRF密钥k,接收方i则得到PRF部分结果Fs(ki,xi)。
Odk-PRF的原始结构要求m个客户端不能全部合谋,腐败人数达到秘密共享门限便可恢复x值,Odk-PRF假定存在不全合谋的多个云服务器网络提供计算能力,但在隐私集合交集计算中往往用不到如此庞大的云网络,使用Odk-PRF若只将计算外包给一台服务器又不能保证客户端集合数据的安全。因此也需要一种新的适用于将计算外包的不经意伪随机函数出现。
发明内容
本发明要解决的问题是提供一种不经意两方分布式伪随机函数及基于该函数和不可信云服务器辅助的高效隐私交集计算方法及相应的系统,该方法和系统使用秘密共享将弱设备参与方的计算外包给不可信云,使得用户能够在自身硬件设备有限的情况下也能进行隐私集合交集计算,可实现受限设备与大型服务提供商之间进行隐私集合计算时客户端将主要计算交给不可信云。
为高效的解决隐私集合交集计算安全外包问题,本发明还设计了一种不经意两方分布式伪随机函数(Oblivious two-party distributed Pseudorandom Function,Otd-PRF),使得两方参与者能够隐私的比较双方的元素是否相等,同时能安全的将其中一方的计算外包给云服务器。本发明尤其适用于弱客户端借助不可信的云服务器与有一定计算能力的服务提供商之间计算隐私集合交集,方案通信复杂度和计算复杂度均为O(n)与弱客户端集合大小承线性关系,与服务提供商集合大小无关,并且经过调整能够只对隐私集合交集基数进行计算。
本发明可以定义为有三方参与:客户端C,大型服务商S和云服务器H。假定云服务器H不与服务商S合谋。基于不可信云服务器辅助的高效隐私交集计算协议表示为Π:⊥×({0,1}*)N×({0,1}*)n→⊥×⊥×f|∩|,其中⊥表示空输入或空输出,{0,1}*表示输入项的域,N和n表示集合大小,f表示PSI函数。对于每一组分别属于H,C,S的输入⊥,大小为n的集合X和大小为N的集合Y,函数对H和S输出⊥,对C输出f|∩|=|X∩Y|。
为解决上述技术问题,本发明通过以下4种技术方案组合而成:
(1)秘密共享(Secret Sharing)
(2)布谷鸟哈希算法(Cuckoo hashing)
布谷鸟哈希算法是一种借助k个哈希函数H1,…,Hk建立密集哈希表的方法,已经被的广阔的应用在了隐私集合交集领域。原始布谷鸟哈希算法将元素x插入到哈希表B[1…β]的过程如下:(1)随机选择一个索引i,i∈[1,k],尝试将待插入元素x插入到B[Hi(x)]处。(2)若B[Hi(x)]为空则直接插入,若B[Hi(x)]已有元素y,则取出y值作为待插入元素重复步骤1,直到没有元素取出或者重复步骤达到一定上界。
在插入过程中重复插入达到一定深度时则代表密集的哈希表构建失败,为防止插入失败常常在步骤2中重复步骤达到一定上界时将y值放入一个特殊的存储空间stash中.对布谷鸟哈希映射法的选参详细分析后,能证明合理选择参数β,k可使得成功几率(1-2-λ)足够高且不再需要为防止构建失败生成额外的存储空间stash。
(3)朴素哈希法(Simple hashing)
服务端S使用布谷鸟哈希算法中相同的k个哈希函数将集合Y映射到长度为β的二维向量中,其中每个y∈Y在二维向量中出现k次。基于参数k,β,|Y|经随机算法分析能够推测一个上边界η,使得β个向量中存在向量的元素数量超过上边界η的几率为2-λ。
(4)集合信息的打包方法
集合信息的打包主要由两个方法组成:pack(S)→∏:集合S={(a1,b1),…,(aη,bη)},通过该方法处理集合S后输出一个集合的其他表示形式Π;unpack(Π,a)→v:将Π和关键字a作为参数放入此方法中可得到一个输出值v;打包方法应该满足以下性质:正确性:如果(a,b)∈S且Π←pack(S),那么(a,unpack(Π,a))∈S应该成立。不经意性:当bi均匀分布,按照方法pack({(a1,b1),…,(aη,bη)})得到集合的表示形式Π,对于不相等的ai和aj,pack(Π,ai)和pack(Π,aj)产生的结果应当不可区分。
基于不同方法的不同结构在计算和通信上有不同表现,本发明使用但不限于两种技术对集合信息打包处理方法:
基于多项式的打包结构:pack(S)方法表示构建一个(η-1)次多项式Π来表达S={(a1,b1),…,(aη,bη)}点集.unpack(Π,a)方法表示将关键字a代入到多项式Π中求取结果.显然Π满足上述不经意性和正确性。但多项式插值操作需要O(ηlog2η)步时,η取值大时多项式操作昂贵。
基于混淆布隆过滤器的打包结构:H={h1,…,hk}|hi:{0,1}*→[τ]表示一组哈希函数,GBF表示一个字符串数组GBF[1…τ],键值对(a,b)插入GBF后表现为构建过程:将数组GBF[1…τ]初始化为空⊥。对要插入的键值对(a,b),集合T={hi(a)|i∈[k],GBF[hi(a)]=⊥}表示当前GBF中未被赋值的位置,选取满足的随机值赋值给{GBF[j]|j∈[T]}(时构建失败)。最后将GBF[j]=⊥处填充随机值.构建过程计算复杂度为O(η),构建完毕后Π大小为O(η),合理选择参数可使构建失败几率为低于2-λ。
本发明将使用基于原始OPRF和Odk-PRF自行设计的不经意两方分布式伪随机函数(Otd-PRF)协议。受Odk-PRF启发,本发明后续OPRF结构中随机函数C均采用已证明安全性的具有XOR同态性的线性编码函数。
一种不经意两方分布式伪随机函数(Otd-PRF),能使得两方参与者隐私的比较双方的元素是否相等,同时能安全的将其中一方的计算外包给云服务器,实施特点可描述为:
参量:服务方S,客户端C,OPRF函数,单向哈希函数H:{0,1}*→{0,1}*
输入:客户端输入x1,服务方输入x2
1.OPRF实例生成
客户端C与服务方S执行一次OPRF函数:
-客户端C参与OPRF作为接受者输入x1;
-客户端C得到PRF结果值t;
一种基于权利要求1所述的不经意两方分布式伪随机函数(Otd-PRF)构建不可信云服务器辅助的高效隐私交集计算方法,适合于弱客户端借助不可信的云服务器与有一定计算能力的服务提供商之间计算隐私集合交集,包括如下步骤:
(1)初始化阶段:客户端C选择随机种子r发送给服务方S,双方生成β个随机数R={r1,…,rβ}←PRG(r),其中β为构造布谷鸟哈希表的向量数;
(2)外包阶段:客户端C使用布谷鸟哈希算法将集合X映射到β个向量BC[β]中,随后使用XOR秘密共享方案将各向量b∈[β]分发给云服务器H和服务方S.云服务器H得到其中服务方S则得到一组随机数xb表示第b个向量中的真实值且恒成立;
(3)服务器计算阶段:云服务器H和服务方S为每个向量b∈β生成一个Otd-PRF实例,服务方S得到Otd-PRF密钥kb,云服务器H得到tb←F(kb,xb),随后服务方S使用朴素哈希法(Simple hashing)将集合Y映射到容量为η的β个向量Bs[β]中,对于每个向量BS[b],b∈[β],服务方S使用对应密钥kb计算其中yi的PRF结果值ub,i←F(kb,yi),生成一组点集Pb={(H(ub,j),rb)|yi∈BS[b]},其中H()为双方共有的单向哈希函数,rb为初始化阶段产生的R集中的随机数,服务方S将点集Pb打包Πb←pack(Pb)并将{Πb|b∈β}发送给云服务器H,云服务器H通过持有的tb和收到的{Πb|b∈β}解出vb←unpack(Πb,H(tb))并将结果集V={v1,…,vβ}发送给客户端C;
(4)对比交集阶段:客户端C通过计算V∩R可以得到PSI输出结果X∩Y。
一种基于不经意两方分布式伪随机函数(Otd-PRF)和不可信云服务器辅助的高效隐私交集计算方法,其基数计算方法,包括如下步骤:
(1)初始化阶段:客户端C选择随机种子r发送给服务方S,客户端C生成β个随机数R={r1,…,rβ}←PRG(r),其中β为构造布谷鸟哈希表的向量数,服务方S打乱通过PRG(r)生成β个随机数后的结果得到P={p1,…,pβ},
(2)外包阶段:客户端C使用布谷鸟哈希算法将集合X映射到β个向量BC[β]中,随后使用XOR秘密共享方案将各向量b∈[β]分发给云服务器H和服务方S,云服务器H得到其中服务方S则得到一组随机数xb表示第b个向量中的真实值且恒成立,
(3)服务器计算阶段:云服务器H和服务方S为每个向量b∈β生成一个Otd-PRF实例,服务方S得到Otd-PRF密钥kb,云服务器H得到tb←F(kb,xb),随后服务方S使用朴素哈希法(Simple hashing)将集合Y映射到容量为η的β个向量Bs[β]中.对于每个向量BS[b],b∈[β],服务方S使用对应密钥kb计算其中yi的PRF结果值ub,i←F(kb,yi),生成一组点集Pb={(H(ub,j),pb)|yi∈BS[b]},其中H()为双方共有的单向哈希函数,pb为初始化阶段产生的P集中的随机数,服务方S将点集Pb打包Πb←pack(Pb)并将{Πb|b∈β}发送给云服务器H,云服务器H通过持有的tb和收到的{Πb|b∈β}解出vb←unpack(Πb,H(tb))并将结果集V={v1,…,vβ}打乱后发送给客户端C,
(4)比交集阶段:客户端C通过计算|V∩R|可以得到PSI-CA输出结果|X∩Y|。
安全性分析:Otd-PRF的安全性直接来自其构建模块OPRF和秘密共享的安全性。原始数据x的安全性在客户端和服务方不合谋的情况下由秘密共享保证。实际应用中,接收方常能够得到 但由于接收方不知道长度为κ的s,且当y≠x时,C(x)和C(y)汉明距离≥κ,Fs(k,y)对于接收方来说不包含有用任何信息。
本发明技术原理:
在本发明的原始思路中,服务方S通过点集{(y1,r1),…,(yN,rN)}插值得到唯一的(N-1)阶多项式P(y),其中R={r1,…,rN}是被客户端C和服务方S所知的随机数集.服务方S将多项式系数发送给云服务器H,云服务器H将xi∈X(假设云服务器H知道X中的元素)代入多项式计算得到P(xi)=ri′.显而易见,若有xi∈Y则必定有ri′∈R。然而由于云服务对R一无所知,因此无法根据ri′推测出任何相关信息。云服务器H将xi与对应的ri′发送给客户端C,客户端C将ri′与R中的元素进行比对能得知xi是否为双方共有。
注意,上述的简要概述需假定云服务器H知道X中的元素,使用自行设计的Otd-PRF能使云服务器H能够计算出多项式结果ri而无需知道集合X。客户端通过秘密分享将自身元素xi∈[n]分发给不合谋的不可信云服务器H和服务方S。云服务器H与服务方S产生n个Otd-PRF实例。对于每个Otd-PRF实例,云服务器H作为Otd-PRF的客户端输入xi得到PRF结果值ti,服务方S作为Otd-PRF的服务方得到PRF密钥对(ki∈[n],s),后续部分将省略相关密钥s的书写,使用PRF密钥ki表示密钥对(ki,s)。
为了使得云服务器H在xi∈Y时从多项式中得到正确的ri并保证当时只得到一个随机值,需基于PRF结果值生成多项式。服务方S持有的Otd-PRF密钥ki∈[n]和集合Y中的元素yj∈[N]将产生n*N个OPRF结果值,这意味着需要构建一个(n*N-1)阶多项式,但是高阶多项式的插值和计算操作非常昂贵.为避免多项式阶数过高,使用类似于Pinkas等人对集合的处理方法将元素映射到多个向量中后对各向量中的元素分别进行多项式操作。但集合X对于不可信云和服务方S属于隐私信息,客户端需要将集合X中的元素映射到容量为1的多个向量(一维向量)中,而服务方将集合Y中的元素映射到容量为η的多个向量(二维向量)中。客户端C将向量中的元素秘密地分享给不可信云服务器H和服务方S,之后的多项式操作将在各向量中分开进行,构建的多项式阶数将大幅减少,插值和计算等操作将更加高效。
本发明的有益效果为:
传统的隐私集合计算方法适用于数据拥有者们在本地隐私的计算集合交集,并不能在不可信云环境下仍然保证数据的隐私,与传统隐私集合交集计算方案相比,本发明的计算方法能够将将隐私集合的计算外包给不可信云服务器,要进行大数据隐私集合计算的客户端将无需花费大量资金购买和维护硬件设备,能直接降低资金支出成本。现已有部分适用于云环境的隐私集合交集计算方法,但都存在一定安全隐患或者委托之后客户端计算量通信量仍然过大等问题,本发明客户端的计算量更少,通信代价非常低且不必实时在线,适用于客户端设备受限的应用场景,所有参与方通信复杂度和计算复杂度均为O(n)与弱客户端集合大小承线性关系,与大集合大小无关,经过细微调整能够对隐私集合交集基数进行计算。
附图说明
图1为本发明的系统结构示意图。
图2为本发明流程结构示意图。
图3为不经意两方分布式伪随机函数示意图。
具体实施方式
下面结合附图对本发明的实施例作详细说明:本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
如图1、2、3所示,对本发明的实施例作了详细说明,
一种不经意两方分布式伪随机函数,其特征在于,能使得两方参与者隐私地判断各自持有的元素是否相等,实施特点可描述为:
参量:服务方S,客户端C,OPRF函数,单向哈希函数H:{0,1}*→{0,1}*,
输入:客户端输入x1,服务方输入x2,
1.OPRF实例生成,
客户端C与服务方S执行一次OPRF函数:
-客户端C参与OPRF作为接受者输入x1;
-客户端C得到PRF结果值t;
本发明提供的云辅助隐私集合交集计算方法主要可分为四个阶段。
(1)初始化阶段:客户端C选择随机种子r发送给服务方S,双方生成β个随机数R={r1,…,rβ}←PRG(r),其中β为构造布谷鸟哈希表的向量数。
(2)外包阶段:客户端C使用布谷鸟哈希算法将集合X映射到β个向量BC[β]中,随后使用XOR秘密共享方案将各向量b∈[β]分发给云服务器H和服务方S。云服务器H得到其中服务方S则得到一组随机数xb表示第b个向量中的真实值且恒成立。
(3服务器计算阶段:云服务器H和服务方S为每个向量b∈β生成一个Otd-PRF实例,服务方S得到Otd-PRF密钥kb,云服务器H得到tb←F(kb,xb)。随后服务方S使用朴素哈希法(Simple hashing)将集合Y映射到容量为η的β个向量Bs[β]中。对于每个向量BS[b],b∈[β],服务方S使用对应密钥kb计算其中yi的PRF结果值ub,i←F(kb,yi),生成一组点集Pb={(H(ub,j),rb)|yi∈BS[b]},其中H()为双方共有的单向哈希函数,rb为初始化阶段产生的R集中的随机数。服务方S将点集Pb打包Πb←pack(Pb)并将{Πb|b∈β}发送给云服务器H,云服务器H通过持有的tb和收到的{Πb|b∈β}解出vb←unpack(Πb,H(tb))并将结果集V={v1,…,vβ}发送给客户端C。
(4)对比交集阶段:客户端C通过计算V∩R可以得到PSI输出结果X∩Y。
具体实现过程包括以下参数和步骤:
参数:客户端C,服务方S,云服务器H;单项哈希函数H:{0,1}*→{0,1}*,布谷鸟哈希算法和朴素哈希算法;Otd-PRF函数;pack()和unpack()方法。
输入:客户端C输入集合X={x1,…,xn};服务方S输入集合Y={y1,…,yn};云服务器H无输入。
步骤一:系统初始化
-客户端C选择随机种子r并将其发送给服务方S;
-客户端C和服务方S通过随机种子r生成相同的数集R={r1,…,rβ}←PRG(r);
步骤二:数据外包
-客户端C通过布谷鸟哈希算法将集合X映射到β个向量中.BC[b]表示客户端第b个向量中的元素。
步骤三:服务器计算
-服务方S使用朴素哈希法(Simple hashing)将集合Y映射到β个向量中,BS[b]表示第b个向量中所有元素组成的集合。
-对于所有b∈[β],服务方S计算yi∈BS[b]的PRF值ub,i←F(kb,yi),生成点集Pb={(H(ub,j),rb)|yi∈BS[b]}后将Πb←pack(Pb)发送给云服务器H。
-云服务器H收到{Πb|b∈β}后,计算vb←unpack(Πb,H(tb))并将V={v1,…,vβ}发送给客户端C。
步骤四:客户端得到交集
客户端C收到V={v1,…,vβ}后,解出序号集O={b|rb=vb,rb∈R,vb∈V},得到交集X∩Y={BC[b]|b∈O}。
服务方S在执行步骤I时,若将通过种子r生成的随机数据集R顺序打乱而得到使用P代替R进行后续流程,步骤III中云服务器将集合V发送给客户端之前也进行一次打乱,便能保证客户端只得到隐私集合基数而各参与方不泄露任何其他信息。
本发明与现有技术相比更适用于弱设备借助不可信服务器辅助计算隐私集合交集和隐私集合交集基数。通过借助云服务器而不是升级硬件的方式实现大数据量的隐私集合交集计算更符合市场规律,本发明与现有隐私集合交集外包方法相比对客户端的硬件要求更低,计算量和通信量更少。
以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。
Claims (5)
2.一种基于权利要求1所述的不经意两方分布式伪随机函数的隐私交集计算方法,适合于弱客户端借助不可信的云服务器的辅助,与有一定计算能力的服务提供商之间计算隐私集合交集,其特征在于,包括如下步骤:
(1)初始化阶段:客户端C选择随机种子r发送给服务方S,双方生成β个随机数R={r1,...,rβ}←PRG(r),其中β为构造布谷鸟哈希表的向量数;
(2)外包阶段:客户端C使用布谷鸟哈希算法将集合X映射到β个向量BC[β]中,随后使用XOR秘密共享方案将各向量b∈[β]分发给云服务器H和服务方S.云服务器H得到其中服务方S则得到一组随机数xb表示第b个向量中的真实值且恒成立;
(3)服务器计算阶段:云服务器H和服务方S为每个向量b∈β生成一个Otd-PRF实例,服务方S得到Otd-PRF密钥kb,云服务器H得到tb←F(kb,xb),随后服务方S使用朴素哈希法(Simple hashing)将集合Y映射到容量为η的β个向量Bs[β]中,对于每个向量BS[b],b∈[β],服务方S使用对应密钥kb计算其中yi的PRF结果值ub,i←F(kb,yi),生成一组点集Pb={(H(ub,j),rb)|yi∈BS[b]},其中H()为双方共有的单向哈希函数,rb为初始化阶段产生的R集中的随机数,服务方S将点集Pb打包Πb←pack(Pb)并将{Πb|b∈β}发送给云服务器H,云服务器H通过持有的tb和收到的{Πb|b∈β}解出vb←unpack(Πb,H(tb))并将结果集V={v1,...,vβ}发送给客户端C;
(4)对比交集阶段:客户端C通过计算V∩R可以得到PSI输出结果X∩Y。
3.根据权利要求2所述的一种基于不经意两方分布式伪随机函数的隐私交集计算方法,其特征在于,其基数计算方法,包括如下步骤:
(1)初始化阶段:客户端C选择随机种子r发送给服务方S,客户端C生成β个随机数R={r1,...,rβ}←PRG(r),其中β为构造布谷鸟哈希表的向量数,服务方S打乱通过PRG(r)生成β个随机数后的结果得到P={p1,...,pβ},
(2)外包阶段:客户端C使用布谷鸟哈希算法将集合X映射到β个向量BC[β]中,随后使用XOR秘密共享方案将各向量b∈[β]分发给云服务器H和服务方S,云服务器H得到其中服务方S则得到一组随机数xb表示第b个向量中的真实值且恒成立,
(3)服务器计算阶段:云服务器H和服务方S为每个向量b∈β生成一个Otd-PRF实例,服务方S得到Otd-PRF密钥kb,云服务器H得到tb←F(kb,xb),随后服务方S使用朴素哈希法(Simple hashing)将集合Y映射到容量为η的β个向量Bs[β]中.对于每个向量BS[b],b∈[β],服务方S使用对应密钥kb计算其中yi的PRF结果值ub,i←F(kb,yi),生成一组点集Pb={(H(ub,j),pb)|yi∈BS[b]},其中H()为双方共有的单向哈希函数,pb为初始化阶段产生的P集中的随机数,服务方S将点集Pb打包Πb←pack(Pb)并将{Πb|b∈β}发送给云服务器H,云服务器H通过持有的tb和收到的(Πb|b∈β}解出vb←unpack(Πb,H(tb))并将结果集V={v1,...,vβ}打乱后发送给客户端C,
(4)比交集阶段:客户端C通过计算|V∩R|可以得到PSI-CA输出结果|X∩Y|。
4.一种基于不可信云服务器辅助的高效隐私交集计算系统,其特征在于,包括:
客户端,用于与有一定计算能力的服务商之间计算集合交集;
服务商,用于设备受限的客户端之间计算集合交集;
云辅助服务器,用于辅助客户端与服务商之间计算集合交集;
其中,
客户端,包括:
云辅助服务器选择模块,用于自由选择外包计算的云辅助服务器,并进行信道传输测试;
服务请求模块,用于向服务商发起服务请求,上传云辅助服务器通信地址;
数据加密分享模块,用于使用秘密共享方案将集合数据分享给云辅助服务器和服务商;
集合解出模块,用于使用从云辅助服务器返回的数据解出与服务商集合交集的正确结果;
服务商,包括:
客户端服务请求处理模块,用于同意或拒绝客户端服务请求;
密文共享数据接收模块,用于接收客户端分享的数据集秘密共享值;
云辅助服务器信道构建模块,用于与客户端选定云辅助服务器构建高速通信信道并进行数据交互测试;
基于云辅助服务器计算模块,用于与云辅助服务器进行交集协议的复杂计算;
云辅助服务器,包括:
密文共享数据接收模块,用于接收客户端分享的数据集秘密共享值;
服务商信道构建模块,用于与服务商构建高速信道并进行数据交互测试;
辅助计算模块,用于辅助客户端与服务商的交集计算,执行两方不经意伪随机函数和点集打包技术解集计算;
计算结果传回模块,用于将与服务商交互计算的结果传回给客户端。
5.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至4任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110174708.9A CN112910631B (zh) | 2021-02-08 | 2021-02-08 | 一种基于云服务器辅助的高效隐私集合交集计算方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110174708.9A CN112910631B (zh) | 2021-02-08 | 2021-02-08 | 一种基于云服务器辅助的高效隐私集合交集计算方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112910631A true CN112910631A (zh) | 2021-06-04 |
CN112910631B CN112910631B (zh) | 2022-11-22 |
Family
ID=76122854
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110174708.9A Active CN112910631B (zh) | 2021-02-08 | 2021-02-08 | 一种基于云服务器辅助的高效隐私集合交集计算方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112910631B (zh) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113343305A (zh) * | 2021-06-29 | 2021-09-03 | 招商局金融科技有限公司 | 隐私数据的交集计算方法、装置、设备及存储介质 |
CN113438078A (zh) * | 2021-08-26 | 2021-09-24 | 山东师范大学 | 多客户端交集数据计算过程中的隐私保护方法及系统 |
CN113489583A (zh) * | 2021-09-07 | 2021-10-08 | 华控清交信息科技(北京)有限公司 | 一种多方隐私求交中的数据处理方法、装置及电子设备 |
CN113761563A (zh) * | 2021-11-05 | 2021-12-07 | 深圳致星科技有限公司 | 数据交集计算方法、装置及电子设备 |
CN113901425A (zh) * | 2021-09-16 | 2022-01-07 | 医渡云(北京)技术有限公司 | 一种多方安全求交集的方法、装置、存储介质及设备 |
CN114154200A (zh) * | 2021-12-09 | 2022-03-08 | 山东大学 | 基于可交换弱伪随机函数的隐私集合求并方法及系统 |
CN114239074A (zh) * | 2022-02-25 | 2022-03-25 | 蓝象智联(杭州)科技有限公司 | 一种不暴露中间结果的私有数据隐匿求交方法 |
CN114386089A (zh) * | 2021-12-07 | 2022-04-22 | 北京数牍科技有限公司 | 一种基于多方条件检索的隐私集合求交方法 |
CN114386068A (zh) * | 2022-01-06 | 2022-04-22 | 北京数牍科技有限公司 | 一种抗合谋攻击的多方条件隐私保护集合求交方法及系统 |
CN114866225A (zh) * | 2022-04-05 | 2022-08-05 | 上海海洋大学 | 一种基于不经意伪随机秘密共享的超阈值多方隐私集合求交方法 |
CN114884675A (zh) * | 2022-04-29 | 2022-08-09 | 杭州博盾习言科技有限公司 | 基于比特传输的多方隐私求交方法、装置、设备及介质 |
CN115037439A (zh) * | 2022-06-08 | 2022-09-09 | 上海海洋大学 | 一种适合小集合的多方隐私集合求交方法及系统 |
CN115529118A (zh) * | 2022-08-25 | 2022-12-27 | 山东大学 | 一种基于全同态加密的隐私集合运算方法及系统 |
WO2023272736A1 (en) * | 2021-07-02 | 2023-01-05 | Alipay (Hangzhou) Information Technology Co., Ltd. | Method and system for data communication with differentially private set intersection |
CN116401693A (zh) * | 2023-06-09 | 2023-07-07 | 北京融数联智科技有限公司 | 一种具有隐私保护的数据库的一对多等值连接方法及系统 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116094844B (zh) * | 2023-04-10 | 2023-06-20 | 蓝象智联(杭州)科技有限公司 | 一种用于多方安全计算的地址核对方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107124268A (zh) * | 2017-04-01 | 2017-09-01 | 中国人民武装警察部队工程大学 | 一种可抵抗恶意攻击的隐私集合交集计算方法 |
CN107347096A (zh) * | 2017-07-07 | 2017-11-14 | 安徽大学 | 一种基于云服务器的位置隐私保护方法 |
CN109951443A (zh) * | 2019-01-28 | 2019-06-28 | 湖北工业大学 | 一种云环境下隐私保护的集合交集计算方法及系统 |
CN110336837A (zh) * | 2019-08-06 | 2019-10-15 | 福州大学 | 一种实用性的云端隐私保护外包计算系统及其计算方法 |
WO2019204711A1 (en) * | 2018-04-19 | 2019-10-24 | Google Llc | Security measures for determination of private set intersections |
US20200195618A1 (en) * | 2018-12-18 | 2020-06-18 | International Business Machines Corporation | Secure multiparty detection of sensitive data using Private Set Intersection (PSI) |
CN112182649A (zh) * | 2020-09-22 | 2021-01-05 | 上海海洋大学 | 一种基于安全两方计算线性回归算法的数据隐私保护系统 |
-
2021
- 2021-02-08 CN CN202110174708.9A patent/CN112910631B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107124268A (zh) * | 2017-04-01 | 2017-09-01 | 中国人民武装警察部队工程大学 | 一种可抵抗恶意攻击的隐私集合交集计算方法 |
CN107347096A (zh) * | 2017-07-07 | 2017-11-14 | 安徽大学 | 一种基于云服务器的位置隐私保护方法 |
WO2019204711A1 (en) * | 2018-04-19 | 2019-10-24 | Google Llc | Security measures for determination of private set intersections |
US20200195618A1 (en) * | 2018-12-18 | 2020-06-18 | International Business Machines Corporation | Secure multiparty detection of sensitive data using Private Set Intersection (PSI) |
CN109951443A (zh) * | 2019-01-28 | 2019-06-28 | 湖北工业大学 | 一种云环境下隐私保护的集合交集计算方法及系统 |
CN110336837A (zh) * | 2019-08-06 | 2019-10-15 | 福州大学 | 一种实用性的云端隐私保护外包计算系统及其计算方法 |
CN112182649A (zh) * | 2020-09-22 | 2021-01-05 | 上海海洋大学 | 一种基于安全两方计算线性回归算法的数据隐私保护系统 |
Non-Patent Citations (3)
Title |
---|
KAOUTAR ELKHIYAOUI: "Privacy preserving delegated word search in the cloud", 《2014 11TH INTERNATIONAL CONFERENCE ON SECURITY AND CRYPTOGRAPHY (SECRYPT)》, 14 July 2016 (2016-07-14) * |
VLADIMIR KOLESNIKOV: "Efficient Batched Oblivious PRF with Applications to Private Set Intersection", 《PROCEEDINGS OF THE 2016 ACM SIUSAC CONFERENCE ON COMPUTER AND COMMUNICATIONS SECURITY》, 20 August 2016 (2016-08-20) * |
邱硕: "一种高效的隐私集合交集协议", 《金陵科技学院学报》, 30 December 2018 (2018-12-30) * |
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113343305B (zh) * | 2021-06-29 | 2024-02-13 | 招商局金融科技有限公司 | 隐私数据的交集计算方法、装置、设备及存储介质 |
CN113343305A (zh) * | 2021-06-29 | 2021-09-03 | 招商局金融科技有限公司 | 隐私数据的交集计算方法、装置、设备及存储介质 |
WO2023272736A1 (en) * | 2021-07-02 | 2023-01-05 | Alipay (Hangzhou) Information Technology Co., Ltd. | Method and system for data communication with differentially private set intersection |
CN113438078A (zh) * | 2021-08-26 | 2021-09-24 | 山东师范大学 | 多客户端交集数据计算过程中的隐私保护方法及系统 |
CN113438078B (zh) * | 2021-08-26 | 2021-11-23 | 山东师范大学 | 多客户端交集数据计算过程中的隐私保护方法及系统 |
CN113489583A (zh) * | 2021-09-07 | 2021-10-08 | 华控清交信息科技(北京)有限公司 | 一种多方隐私求交中的数据处理方法、装置及电子设备 |
CN113901425A (zh) * | 2021-09-16 | 2022-01-07 | 医渡云(北京)技术有限公司 | 一种多方安全求交集的方法、装置、存储介质及设备 |
CN113761563A (zh) * | 2021-11-05 | 2021-12-07 | 深圳致星科技有限公司 | 数据交集计算方法、装置及电子设备 |
CN114386089A (zh) * | 2021-12-07 | 2022-04-22 | 北京数牍科技有限公司 | 一种基于多方条件检索的隐私集合求交方法 |
CN114154200B (zh) * | 2021-12-09 | 2024-05-24 | 山东大学 | 基于可交换弱伪随机函数的隐私集合求并方法及系统 |
CN114154200A (zh) * | 2021-12-09 | 2022-03-08 | 山东大学 | 基于可交换弱伪随机函数的隐私集合求并方法及系统 |
CN114386068A (zh) * | 2022-01-06 | 2022-04-22 | 北京数牍科技有限公司 | 一种抗合谋攻击的多方条件隐私保护集合求交方法及系统 |
CN114239074B (zh) * | 2022-02-25 | 2022-05-31 | 蓝象智联(杭州)科技有限公司 | 一种不暴露中间结果的私有数据隐匿求交方法 |
CN114239074A (zh) * | 2022-02-25 | 2022-03-25 | 蓝象智联(杭州)科技有限公司 | 一种不暴露中间结果的私有数据隐匿求交方法 |
CN114866225A (zh) * | 2022-04-05 | 2022-08-05 | 上海海洋大学 | 一种基于不经意伪随机秘密共享的超阈值多方隐私集合求交方法 |
CN114866225B (zh) * | 2022-04-05 | 2024-04-16 | 上海海洋大学 | 一种基于不经意伪随机秘密共享的超阈值多方隐私集合求交方法 |
CN114884675B (zh) * | 2022-04-29 | 2023-12-05 | 杭州博盾习言科技有限公司 | 基于比特传输的多方隐私求交方法、装置、设备及介质 |
CN114884675A (zh) * | 2022-04-29 | 2022-08-09 | 杭州博盾习言科技有限公司 | 基于比特传输的多方隐私求交方法、装置、设备及介质 |
CN115037439A (zh) * | 2022-06-08 | 2022-09-09 | 上海海洋大学 | 一种适合小集合的多方隐私集合求交方法及系统 |
CN115529118A (zh) * | 2022-08-25 | 2022-12-27 | 山东大学 | 一种基于全同态加密的隐私集合运算方法及系统 |
CN116401693B (zh) * | 2023-06-09 | 2023-07-28 | 北京融数联智科技有限公司 | 一种具有隐私保护的数据库的一对多等值连接方法及系统 |
CN116401693A (zh) * | 2023-06-09 | 2023-07-07 | 北京融数联智科技有限公司 | 一种具有隐私保护的数据库的一对多等值连接方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112910631B (zh) | 2022-11-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112910631B (zh) | 一种基于云服务器辅助的高效隐私集合交集计算方法及系统 | |
CN112906044B (zh) | 多方安全计算方法、装置、设备及存储介质 | |
US9736128B2 (en) | System and method for a practical, secure and verifiable cloud computing for mobile systems | |
Yuan et al. | Privacy preserving back-propagation neural network learning made practical with cloud computing | |
CN109886029B (zh) | 基于多项式表示的隐私保护集合交集计算方法与系统 | |
US9742739B2 (en) | Accumulating automata and cascaded equations automata for non-interactive and perennial secure multi-party computation | |
CN114866225A (zh) | 一种基于不经意伪随机秘密共享的超阈值多方隐私集合求交方法 | |
Qin et al. | Privacy-preserving wildcards pattern matching protocol for IoT applications | |
Tang et al. | Secure multi-party computation protocol for sequencing problem | |
Patel et al. | Privacy preserving distributed k-means clustering in malicious model using zero knowledge proof | |
Dolev et al. | Accumulating automata and cascaded equations automata for communicationless information theoretically secure multi-party computation | |
CN115630713A (zh) | 样本标识符不相同下的纵向联邦学习方法、设备和介质 | |
Zhang et al. | Efficient threshold private set intersection | |
EP2689554B1 (en) | Method and system for obtaining a result of a joint public function for a plurality of parties | |
Su et al. | Privacy-preserving two-party k-means clustering via secure approximation | |
CN116226466A (zh) | 一种最小社区搜索方法、装置、系统及存储介质 | |
CN115225266A (zh) | 基于云服务器辅助的多方门限隐私集合求交方法和系统 | |
Han et al. | Vector Sum Range Decision for Verifiable Multiuser Fuzzy Keyword Search in Cloud-Assisted IoT | |
Niu et al. | Server‐aided multiparty private set intersection protocols for lightweight clients and the application in intelligent logistics | |
Zhang et al. | Joint Linear and Nonlinear Computation across Functions for Efficient Privacy-Preserving Neural Network Inference | |
Ma et al. | Over-threshold multi-party private set operation protocols for lightweight clients | |
CN117579258B (zh) | 一种安全高效的分布式k-d树构建方法 | |
Ma et al. | Refereed Computation Delegation of Private Sequence Comparison in Cloud Computing. | |
US20240340172A1 (en) | Secure three-party multiplication method and system for privacy computing | |
Liu | MPC-enabled privacy-preserving machine learning |
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 |