CN112910631B - 一种基于云服务器辅助的高效隐私集合交集计算方法及*** - Google Patents

一种基于云服务器辅助的高效隐私集合交集计算方法及*** Download PDF

Info

Publication number
CN112910631B
CN112910631B CN202110174708.9A CN202110174708A CN112910631B CN 112910631 B CN112910631 B CN 112910631B CN 202110174708 A CN202110174708 A CN 202110174708A CN 112910631 B CN112910631 B CN 112910631B
Authority
CN
China
Prior art keywords
server
client
cloud server
intersection
party
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.)
Active
Application number
CN202110174708.9A
Other languages
English (en)
Other versions
CN112910631A (zh
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 CN202110174708.9A priority Critical patent/CN112910631B/zh
Publication of CN112910631A publication Critical patent/CN112910631A/zh
Application granted granted Critical
Publication of CN112910631B publication Critical patent/CN112910631B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic 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/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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/602Providing cryptographic facilities or services
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret 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

本发明提供了一种不经意两方分布式伪随机函数(Otd‑PRF),实施特点可描述为:参量:服务方S,客户端C,OPRF函数,单向哈希函数H:{0,1}*→{0,1}*,输入:客户端输入x1,服务方输入x2,1.OPRF实例生成,2.服务方计算主密钥
Figure DDA0002939432510000011
若x=y,
Figure DDA0002939432510000012
若x≠y,
Figure DDA0002939432510000013
结果不带有用信息。本发明可将主要计算交给不可信云的服务器,实际使用时客户端计算量少,通信代价低且不必实时在线,适用于客户端设备受限的应用场景。并且能够在半诚实模型下保证参与方数据安全,还可以保密地计算隐私集合交集基数。

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,同时计算
Figure BDA0002939432490000031
ri为秘密分享值,收集n个分享值后可以计算
Figure BDA0002939432490000032
恢复出秘密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。第二个密钥的组成结构为
Figure BDA0002939432490000033
其中x为OPRF输入值,C()为随机函数,∧表示按比特与(AND)操作。值t作为PRF输出由函数随机选择或直接由接受者选择,接受者最终能够得到Fs(k,x)=t。在BaRK-OPRF的每个OPRF实例中,接收者能够计算唯一的输入值x,发送者能够计算任意y值的PRF结果
Figure BDA0002939432490000041
将k值代入后能得到
Figure BDA0002939432490000042
显然,如果x=y,则Fs(k,y)=t,此时Fs(k,y)=Fs(k,x)成立。
Duong等人在BaRK-OPRF的基础上提出了一种结果满足异或同态性质的伪随机函数Odk-PRF,由于其异或同态性,计算能够通过秘密共享外包给m个由不可信云服务器扮演的接收方。Odk-PRF由一个发送方和m个接收方组成,设
Figure BDA0002939432490000043
接收方i(1≤i≤m)持有经XOR秘密共享后关键字x的一部分xi,执行Odk-PRF协议后,发送方可以得到一个相关密钥s和PRF密钥k,
Figure BDA0002939432490000044
接收方i则得到PRF部分结果Fs(ki,xi)。
收集m个PRF部分结果,可重构出由值x、相关密钥s和密钥k生成的PRF结果Fs(k,x)。其中
Figure BDA0002939432490000045
于是有
Figure BDA0002939432490000046
成立,应用具有XOR同态性的线性编码函数C能使得
Figure BDA0002939432490000047
Figure BDA0002939432490000048
成立。定义Fs(k,x):=t,其中
Figure BDA0002939432490000049
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)
产生n-1个与秘密s长度相同的随机字符串r1,..rn-1,同时计算
Figure BDA0002939432490000061
所有ri是分享值,收集n个分享值后可以计算
Figure BDA0002939432490000062
恢复出秘密s,而任何少于n个分享值的情况都不会泄露与秘密s的相关信息。
(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后表现为
Figure BDA0002939432490000081
构建过程:将数组GBF[1…τ]初始化为空⊥。对要***的键值对(a,b),集合T={hi(a)|i∈[k],GBF[hi(a)]=⊥}表示当前GBF中未被赋值的位置,选取满足
Figure BDA0002939432490000082
的随机值赋值给{GBF[j]|j∈[T]}(
Figure BDA0002939432490000083
时构建失败)。最后将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
-服务方S参与OPRF作为发送者得到PRF密钥k′和相关密钥s,其中
Figure BDA0002939432490000091
-客户端C得到PRF结果值t;
2.服务方计算主密钥
Figure BDA0002939432490000092
若x=y,
Figure BDA0002939432490000093
若x≠y,
Figure BDA0002939432490000094
Figure BDA0002939432490000095
结果不带有用信息。
一种基于权利要求1所述的不经意两方分布式伪随机函数(Otd-PRF)构建不可信云服务器辅助的高效隐私交集计算方法,适合于弱客户端借助不可信的云服务器与有一定计算能力的服务提供商之间计算隐私集合交集,包括如下步骤:
(1)初始化阶段:客户端C选择随机种子r发送给服务方S,双方生成β个随机数R={r1,…,rβ}←PRG(r),其中β为构造布谷鸟哈希表的向量数;
(2)外包阶段:客户端C使用布谷鸟哈希算法将集合X映射到β个向量BC[β]中,随后使用XOR秘密共享方案将各向量b∈[β]分发给云服务器H和服务方S.云服务器H得到
Figure BDA0002939432490000096
其中
Figure BDA0002939432490000097
服务方S则得到一组随机数
Figure BDA0002939432490000098
xb表示第b个向量中的真实值且
Figure BDA0002939432490000099
恒成立;
(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结果值ubi←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得到
Figure BDA0002939432490000101
其中
Figure BDA0002939432490000102
服务方S则得到一组随机数
Figure BDA0002939432490000103
xb表示第b个向量中的真实值且
Figure BDA0002939432490000104
恒成立,
(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结果值ubi←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的安全性在客户端和服务方不合谋的情况下由秘密共享保证。实际应用中,接收方常能够得到
Figure BDA0002939432490000111
Figure BDA0002939432490000112
但由于接收方不知道长度为κ的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并保证当
Figure BDA0002939432490000121
时只得到一个随机值,需基于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
-服务方S参与OPRF作为发送者得到PRF密钥k′和相关密钥s,其中
Figure BDA0002939432490000141
-客户端C得到PRF结果值t;
2.服务方计算主密钥
Figure BDA0002939432490000142
若x=y,
Figure BDA0002939432490000143
若x≠y,
Figure BDA0002939432490000144
Figure BDA0002939432490000145
结果不带有用信息。
本发明提供的云辅助隐私集合交集计算方法主要可分为四个阶段。
(1)初始化阶段:客户端C选择随机种子r发送给服务方S,双方生成β个随机数R={r1,…,rβ}←PRG(r),其中β为构造布谷鸟哈希表的向量数。
(2)外包阶段:客户端C使用布谷鸟哈希算法将集合X映射到β个向量BC[β]中,随后使用XOR秘密共享方案将各向量b∈[β]分发给云服务器H和服务方S。云服务器H得到
Figure BDA0002939432490000146
其中
Figure BDA0002939432490000151
服务方S则得到一组随机数
Figure BDA0002939432490000152
xb表示第b个向量中的真实值且
Figure BDA0002939432490000153
恒成立。
(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个向量中的元素。
-对于每一个xb∈BC[b],客户端C选取随机数
Figure BDA0002939432490000161
并计算
Figure BDA0002939432490000162
将集合
Figure BDA0002939432490000163
发送给云服务器H,将集合
Figure BDA0002939432490000164
发送给服务方S,
步骤三:服务器计算
-云服务器H与服务方S执行Otd-PRF生成大量Otd-PRF实例。对于所有b∈[β],服务方S得到Otd-PRF密钥kb,云服务器H得到输入
Figure BDA0002939432490000165
的PRF结果值
Figure BDA0002939432490000166
-服务方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顺序打乱而得到
Figure BDA0002939432490000171
使用P代替R进行后续流程,步骤III中云服务器将集合V发送给客户端之前也进行一次打乱,便能保证客户端只得到隐私集合基数而各参与方***露任何其他信息。
本发明与现有技术相比更适用于弱设备借助不可信服务器辅助计算隐私集合交集和隐私集合交集基数。通过借助云服务器而不是升级硬件的方式实现大数据量的隐私集合交集计算更符合市场规律,本发明与现有隐私集合交集外包方法相比对客户端的硬件要求更低,计算量和通信量更少。
以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。

Claims (4)

1.一种基于不经意两方分布式伪随机函数的隐私交集计算方法,适合于弱客户端借助不可信的云服务器的辅助,与有一定计算能力的服务方之间计算隐私交集,其特征在于,包括如下步骤:
(1)初始化阶段:客户端C选择随机种子r发送给服务方S,双方生成β个随机数R={r1,...,rβ}←PRG(r),其中β为构造布谷鸟哈希表的向量数;
(2)外包阶段:客户端C使用布谷鸟哈希算法将集合X映射到β个向量BC[β]中,随后使用XOR秘密共享方案将各向量b∈[β]分发给云服务器H和服务方S,云服务器H得到
Figure FDA0003899529720000011
其中
Figure FDA0003899529720000012
服务方S则得到一组随机数
Figure FDA0003899529720000013
xb表示第b个向量中的真实值且
Figure FDA0003899529720000014
恒成立;
(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,
一种不经意两方分布式伪随机函数,其特征在于,能使得两方参与者隐私地判断各自持有的元素是否相等,实施特点可描述为:
参量:服务方S,客户端C,OPRF函数,单向哈希函数H:{0,1}*→{0,1}*
Figure FDA0003899529720000021
输入:客户端输入x1,服务方输入x2
(1)OPRF实例生成,
客户端C与服务方S执行一次OPRF函数:
-客户端C参与OPRF作为接受者输入x1
-服务方S参与OPRF作为发送者得到PRF密钥k′和相关密钥s,其中
Figure FDA0003899529720000022
-客户端C得到PRF结果值t;
(2)服务方计算主密钥
Figure FDA0003899529720000023
若x=y,
Figure FDA0003899529720000024
若x≠y,
Figure FDA0003899529720000025
结果不带有用信息。
2.根据权利要求1所述的一种基于不经意两方分布式伪随机函数的隐私交集计算方法,其特征在于,基数计算方法,包括如下步骤:
(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得到
Figure FDA0003899529720000031
其中
Figure FDA0003899529720000032
服务方S则得到一组随机数
Figure FDA0003899529720000033
xb表示第b个向量中的真实值且
Figure FDA0003899529720000034
恒成立,
(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|。
3.一种如权利要求1所述的基于不经意两方分布式伪随机函数的隐私交集计算方法的***,其特征在于,包括:
客户端,用于与有一定计算能力的服务方之间计算集合交集;
服务方,用于设备受限的客户端之间计算集合交集;
云服务器,用于辅助客户端与服务方之间计算集合交集;
其中,
客户端,包括:
云服务器选择模块,用于自由选择外包计算的云服务器,并进行信道传输测试;
服务请求模块,用于向服务方发起服务请求,上传云服务器通信地址;
数据加密分享模块,用于使用秘密共享方案将集合数据分享给云服务器和服务方;
集合解出模块,用于使用从云服务器返回的数据解出与服务方集合交集的正确结果;
服务方,包括:
客户端服务请求处理模块,用于同意或拒绝客户端服务请求;
密文共享数据接收模块,用于接收客户端分享的数据集秘密共享值;
云服务器信道构建模块,用于与客户端选定云服务器构建高速通信信道并进行数据交互测试;
基于云服务器计算模块,用于与云服务器进行交集协议的复杂计算;
云服务器,包括:
密文共享数据接收模块,用于接收客户端分享的数据集秘密共享值;
服务方信道构建模块,用于与服务方构建高速信道并进行数据交互测试;
辅助计算模块,用于辅助客户端与服务方的交集计算,执行两方不经意伪随机函数和点集打包技术解集计算;
计算结果传回模块,用于将与服务方交互计算的结果传回给客户端。
4.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至2任一项所述方法的步骤。
CN202110174708.9A 2021-02-08 2021-02-08 一种基于云服务器辅助的高效隐私集合交集计算方法及*** Active CN112910631B (zh)

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 CN112910631A (zh) 2021-06-04
CN112910631B true 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 (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116094844A (zh) * 2023-04-10 2023-05-09 蓝象智联(杭州)科技有限公司 一种用于多方安全计算的地址核对方法

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113343305B (zh) * 2021-06-29 2024-02-13 招商局金融科技有限公司 隐私数据的交集计算方法、装置、设备及存储介质
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
CN113438078B (zh) * 2021-08-26 2021-11-23 山东师范大学 多客户端交集数据计算过程中的隐私保护方法及***
CN113489583B (zh) * 2021-09-07 2021-11-26 华控清交信息科技(北京)有限公司 一种多方隐私求交中的数据处理方法、装置及电子设备
CN113901425B (zh) * 2021-09-16 2022-12-16 医渡云(北京)技术有限公司 一种多方安全求交集的方法、装置、存储介质及设备
CN113761563B (zh) * 2021-11-05 2022-02-08 深圳致星科技有限公司 数据交集计算方法、装置及电子设备
CN114154200B (zh) * 2021-12-09 2024-05-24 山东大学 基于可交换弱伪随机函数的隐私集合求并方法及***
CN114239074B (zh) * 2022-02-25 2022-05-31 蓝象智联(杭州)科技有限公司 一种不暴露中间结果的私有数据隐匿求交方法
CN114866225B (zh) * 2022-04-05 2024-04-16 上海海洋大学 一种基于不经意伪随机秘密共享的超阈值多方隐私集合求交方法
CN114884675B (zh) * 2022-04-29 2023-12-05 杭州博盾习言科技有限公司 基于比特传输的多方隐私求交方法、装置、设备及介质
CN115037439B (zh) * 2022-06-08 2024-06-18 上海海洋大学 一种适合小集合的多方隐私集合求交方法及***
CN115529118A (zh) * 2022-08-25 2022-12-27 山东大学 一种基于全同态加密的隐私集合运算方法及***
CN116401693B (zh) * 2023-06-09 2023-07-28 北京融数联智科技有限公司 一种具有隐私保护的数据库的一对多等值连接方法及***

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107124268A (zh) * 2017-04-01 2017-09-01 中国人民武装警察部队工程大学 一种可抵抗恶意攻击的隐私集合交集计算方法
CN107347096A (zh) * 2017-07-07 2017-11-14 安徽大学 一种基于云服务器的位置隐私保护方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11494506B2 (en) * 2018-04-19 2022-11-08 Google Llc Security measures for determination of private set intersections
US11178117B2 (en) * 2018-12-18 2021-11-16 International Business Machines Corporation Secure multiparty detection of sensitive data using private set intersection (PSI)
CN109951443B (zh) * 2019-01-28 2021-06-04 湖北工业大学 一种云环境下隐私保护的集合交集计算方法及***
CN110336837B (zh) * 2019-08-06 2020-10-09 福州大学 一种实用性的云端隐私保护外包计算***及其计算方法
CN112182649B (zh) * 2020-09-22 2024-02-02 上海海洋大学 一种基于安全两方计算线性回归算法的数据隐私保护***

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107124268A (zh) * 2017-04-01 2017-09-01 中国人民武装警察部队工程大学 一种可抵抗恶意攻击的隐私集合交集计算方法
CN107347096A (zh) * 2017-07-07 2017-11-14 安徽大学 一种基于云服务器的位置隐私保护方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116094844A (zh) * 2023-04-10 2023-05-09 蓝象智联(杭州)科技有限公司 一种用于多方安全计算的地址核对方法

Also Published As

Publication number Publication date
CN112910631A (zh) 2021-06-04

Similar Documents

Publication Publication Date Title
CN112910631B (zh) 一种基于云服务器辅助的高效隐私集合交集计算方法及***
Dalskov et al. Fantastic four:{Honest-Majority}{Four-Party} secure computation with malicious security
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
CN110166446B (zh) 一种基于安全多方计算的地理加权平均中心的实现方法
CN109886029B (zh) 基于多项式表示的隐私保护集合交集计算方法与***
US9742739B2 (en) Accumulating automata and cascaded equations automata for non-interactive and perennial secure multi-party computation
Tang et al. Secure multi-party computation protocol for sequencing problem
CN115630713A (zh) 样本标识符不相同下的纵向联邦学习方法、设备和介质
Qin et al. Privacy-preserving wildcards pattern matching protocol for IoT applications
Asharov et al. Efficient secure three-party sorting with applications to data analysis and heavy hitters
CN114640444A (zh) 基于国产密码算法的隐私保护集合交集获取方法及装置
CN115065463B (zh) 一种隐私保护的神经网络预测***
Dolev et al. Accumulating automata and cascaded equations automata for communicationless information theoretically secure multi-party computation
Zhang et al. Efficient threshold private set intersection
CN117355834A (zh) 使用隐私信息检索和安全多方计算的隐私安全批量检索
CN115225266A (zh) 基于云服务器辅助的多方门限隐私集合求交方法和***
Zhou et al. A survey of security aggregation
Tan et al. Distributed secret sharing scheme based on personalized spherical coordinates space
Niu et al. Server‐aided multiparty private set intersection protocols for lightweight clients and the application in intelligent logistics
Ma et al. Over-threshold multi-party private set operation protocols for lightweight clients
Han et al. Vector Sum Range Decision for Verifiable Multiuser Fuzzy Keyword Search in Cloud-Assisted IoT
CN114398539B (zh) 双服务器协作可搜索加密方法、***、计算机设备及终端
Ma et al. Refereed Computation Delegation of Private Sequence Comparison in Cloud Computing.

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