CN109933603B - 保护数据隐私和查询隐私的结果可验证的数据查询方法 - Google Patents
保护数据隐私和查询隐私的结果可验证的数据查询方法 Download PDFInfo
- Publication number
- CN109933603B CN109933603B CN201910197749.2A CN201910197749A CN109933603B CN 109933603 B CN109933603 B CN 109933603B CN 201910197749 A CN201910197749 A CN 201910197749A CN 109933603 B CN109933603 B CN 109933603B
- Authority
- CN
- China
- Prior art keywords
- query
- ciphertext
- result
- data
- privacy
- 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
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种保护数据隐私和查询隐私的结果可验证的数据查询方法,用于三方模型中,包括:(1)查询者将公钥发给中间人和拥有者;(2)中间人设一个网格,并告知另两者;(3)查询者在每个格点处对查询函数做泰勒展开成多阶多项式函数,并加密多项式系数,将多项式函数和密文发给中间人;(4)中间人进行审计,若审计确认存在隐私泄露,则拒绝回答并结束查询,否则将多项式函数和密文转发给拥有者;(5)拥有者在网格中找到距请求数据集最近格点,利用对应的多项式系数计算多项式函数,得到的查询结果密文经中间人发给查询者;(6)查询者解密查询结果密文获得明文查询结果。该方法能同时保护拥有者的数据和查询者的查询隐私。
Description
技术领域
本发明涉及数据安全领域,尤其涉及一种保护数据隐私和查询隐私的结果可验证的数据查询方法。
背景技术
数据查询服务至少涉及两个参与方,数据拥有者(以下简称拥有者)和查询者,有时还需要引入一个中间方来达到保护安全隐私的目的。现有的与数据查询相关的安全隐私保护工作主要分为4类:保护数据隐私的统计查询,查询审计,可验证计算,和查询者隐私保护。以下依次做详细介绍。
保护数据隐私的统计查询:查询者想要查询数据的函数的结果,这个函数一般是统计函数,例如求和、平均值、最大值、方差等。数据拥有者想在保护数据的隐私前提下,提供服务给查询者。现有技术一般使用差分隐私机制来保护隐私。差分隐私由美国哈佛大学的辛西娅·多克(Dwork)教授提出,可以通过多种机制实现:拉普拉斯机制,指数机制,随机应答机制等。这类现有技术的不足之处是它们没有保护查询者的隐私(查询函数和查询结果)。
查询审计:除了用差分隐私,另一种保护数据安全的方法是查询审计,即拥有者审核查询者的查询函数,如果回答这个查询会导致数据泄露(查询者利用查询结果推断某个数据值),就拒绝回答。拥有者需要记录查询者的查询历史(查询函数和结果),每接收到一个新的查询请求时,根据查询历史和当前查询函数推断查询者能否推算出数据值或得到一个很小的解空间(数据值的可能范围),从而决定是否拒绝回答。Kenthapadi教授在2005年提出了可模拟审计,该方法可以在多项式时间内对线性组合查询函数进行审计。同样,这类现有技术的不足之处是它们没有保护查询者的隐私。
可验证计算:这类工作的目的是让查询者可以快速验证查询结果的正确性,确保数据拥有者确实计算了被请求的查询函数。现有可验证计算方案大多利用了混淆电路、基于属性加密、同态MAC等技术。这类工作大多数没有考虑数据隐私和查询隐私。
查询者隐私保护:这类现有工作较少见。Canetti教授等人在2001年利用安全多方计算来避免拥有者知道哪些数据被用于查询函数的计算,但他们的技术并没有保护查询函数本身。Fiore教授等人利用BGV同态加密来隐藏查询函数的系数,但仅限二次函数。
发明内容
基于现有技术所存在的问题,本发明的目的是提供一种保护数据隐私和查询隐私的结果可验证的数据查询方法,能在数据查询服务中同时保护数据拥有者的数据安全和查询者的查询隐私,并且保证查询结果正确性可验证,从而打消双方的安全隐私顾虑,促进数据共享和交易。
本发明的目的是通过以下技术方案实现的:
本发明实施例提供一种保护数据隐私和查询隐私的结果可验证的数据查询方法,用于包括相互通信的中间人、数据的拥有者和数据的查询者的数据查询场景中,包括以下步骤:
(1)查询者将自己的公钥发送给中间人和拥有者;
(2)中间人在数据空间中设置一个网格,并将所述网格告知所述拥有者和查询者;
(3)查询者在所述网格的每个格点处对查询函数做泰勒展开成多阶多项式函数,并对多项式系数加密得到密文,将所述多项式函数和多项式系数的密文发送给中间人;
(4)中间人根据历史查询函数和当前查询函数进行审计,得出确认是否存在数据泄露的审计结果,中间人根据所述审计结果若确认存在隐私泄露,则拒绝回答并结束本次查询,否则将所述多项式函数和多项式系数的密文转发给拥有者;
(5)拥有者在所述网格中找到距离所述多项式函数所请求的数据集最近的格点,利用该格点对应的多项式系数来计算所述多项式函数得到查询结果密文,将所述查询结果密文经中间人发送给查询者;
(6)查询者解密所述查询结果密文获得明文查询结果,完成本次查询。
本发明实施例提供一种保护数据隐私和查询隐私的结果可验证的数据查询方法,用于包括相互通信的中间人、云、数据的拥有者和数据的查询者的数据查询场景中,包括以下步骤:
(21)查询者将自己的公钥发送给中间人和拥有者;
(22)中间人在数据空间中设置一个网格,并将所述网格告知所述拥有者和查询者;
(23)查询者在所述网格的每个格点处对查询函数做泰勒展开成多阶多项式函数,并对多项式系数加密得到密文,将所述多项式函数和多项式系数的密文发送给中间人;
(24)中间人根据历史查询函数和当前查询函数进行审计,得出确认是否存在数据泄露的审计结果,中间人根据所述审计结果若确认存在隐私泄露,则拒绝回答并结束本次查询,否则将所述多项式函数和多项式系数的密文转发给拥有者;
(25)拥有者在所述网格中找到距离所述多项式函数所请求的数据集最近的格点,将该格点对应标识发给云;
(26)云利用不知情传输从中间人处获取所述标识对应格点的多项式系数的密文;
(27)中间人将多项式函数发给云;
(28)云通过同态加密计算所述多项式函数得到查询结果密文,将所述查询结果密文发给中间人;
(29)中间人将查询结果密文发送给查询者;
(210)查询者选择一个作为噪音的随机数进行加密得到噪音密文,将所述噪音密文与查询结果密文进行同态加密得到带噪音的查询结果密文,并发送给拥有者;
(211)拥有者解密所述带噪音的查询结果密文得到带噪音的查询结果,并将该带噪音的查询结果发送给查询者;
(212)查询者对收到的所述带噪音的查询结果去除噪音后,获得查询结果。
本发明实施例进一步提供一种保护数据隐私和查询隐私的结果可验证的数据查询方法,用于包括相互通信的中间人、云、数据的拥有者和数据的查询者的数据查询场景中,包括以下步骤:
(31)查询者将自己的公钥发送给中间人和拥有者;
(32)中间人在数据空间中设置一个网格,并将所述网格告知所述拥有者和查询者;
(33)查询者在所述网格的每个格点处对查询函数做泰勒展开成多阶多项式函数,并对多项式系数加密得到密文,将所述多项式函数和多项式系数的密文发送给中间人;
(34)查询者将该多项式函数的敏感度发给中间人;
(35)中间人检查查询者汇报的敏感度是否过小,如果过小,则结束本次查询,否则继续执行后续步骤;
(36)中间人根据历史查询函数和当前查询函数进行审计,得出确认是否存在数据泄露的审计结果,中间人根据所述审计结果若确认存在隐私泄露,则拒绝回答并结束本次查询,否则将所述多项式函数和多项式系数的密文转发给拥有者;
(37)拥有者在所述网格中找到距离所述多项式函数所请求的数据集最近的格点,将该格点对应标识发给云;
(38)云利用不知情传输从中间人处获取所述标识对应的多项式系数的密文对应的混淆电路的输入;
(39)中间人将所述多项式函数和对应的所述混淆电路发送给云;
(310)云通过不知情传输从中间人处获取数据集对应的混淆电路的输入,并通过同态加密和混淆电路来计算多项式函数得到结果密文,将结果密文发送给中间人;
(311)中间人利用混淆电路对结果密文解码,得到多项式函数的查询结果密文,所述中间人利用拉普拉斯机制生成差分隐私的噪音,利用同态加密将查询结果密文加噪后发送给查询者;
(312)查询者选择一个作为噪音的随机数进行加密得到噪音密文,将所述噪音密文与查询结果密文进行同态加密得到带噪音的查询结果密文,并发送给拥有者;
(313)拥有者解密所述带噪音的查询结果密文得到带噪音的查询结果,并将该带噪音的查询结果发送给查询者;
(314)查询者对收到的所述带噪音的查询结果去除噪音后,获得查询结果。
由上述本发明提供的技术方案可以看出,本发明实施例提供的保护数据隐私和查询隐私的结果可验证的数据查询方法,其有益效果为:
该方法利用同态加密和分段泰勒多项式来近似查询函数,从而既能保护查询隐私,又不妨碍对数据隐私的保护,且处理过程仅有多项式时间复杂度,达到了同时保护拥有者的数据隐私和查询者的查询隐私(包括函数形式、参数、结果),并且可应用于任意k阶连续可导函数(k为可人为设定的参数),解决了现有技术不能同时保护两者隐私的主要原因是这两个目标互相冲突:保护数据隐私需要去审计查询函数或计算查询函数的敏感性来加差分隐私噪音,但保护查询隐私要求不能让任何人知道查询函数是什么的问题。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。
图1为本发明实施例提供的数据查询方法应用的三方模型的示意图。
图2为本发明实施例提供的数据查询方法的交互流程图。
图3为本发明实施例提供的数据查询方法应用的四方模型的示意图。
图4为本发明实施例提供的数据查询方法的交互流程图。
图5为本发明实施例提供的数据查询方法中的数据空间网格化和查询审计、分段多项式函数的示意图。
图6为本发明实施例提供的另一种数据查询方法的交互流程图。
具体实施方式
下面结合本发明的具体内容,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。本发明实施例中未作详细描述的内容属于本领域专业技术人员公知的现有技术。
如图1、2所示,本发明实施例提供一种保护数据隐私和查询隐私的结果可验证的数据查询方法,用于包括相互通信的中间人、数据的拥有者和数据的查询者的数据查询场景(可简称为三方模型)中,包括以下步骤:
(1)查询者将自己的进行同态加密用的公钥发送给中间人和拥有者;
(2)中间人在拥有者拥有的数据空间中设置一个网格,并将所述网格告知所述拥有者和查询者;
(3)查询者在所述网格的每个格点处对查询函数做泰勒展开成多阶多项式函数,并对多项式系数用所述公钥进行同态加密得到密文,将所述多项式函数和多项式系数的密文发送给中间人;
(4)中间人根据历史查询函数和当前查询函数进行审计,得出确认是否存在数据泄露的审计结果,中间人根据所述审计结果若确认存在隐私泄露,则拒绝回答并结束本次查询,否则将所述多项式函数和多项式系数的密文转发给拥有者;
(5)拥有者在所述网格中找到距离所述多项式函数所请求的数据集最近的格点,利用该格点对应的多项式系数来计算所述多项式函数得到查询结果密文,将所述查询结果密文经中间人发送给查询者;
(6)查询者解密所述查询结果密文获得明文查询结果,完成本次查询。
上述方法的步骤(4)中,利用同态加密操作密文(该密文是指查询函数的多项式系数的密文),并与查询者交互一次获得审计结果的明文。优选的,审计可采用现有的任一查询审计机制。
上述方法的步骤(5)中,将所述查询结果密文经中间人发送给查询者时,中间人将记录本次查询的多项式函数、多项式系数的密文、密文结果,用于后续的查询审计中。
上述方法的步骤(5)中,拥有者利用该格点对应的多项式系数来计算多项式函数得到查询结果密文为:
利用同态加密来操作密文。
如图3、4所示,本发明实施例还提供一种保护数据隐私和查询隐私的结果可验证的数据查询方法,用于包括相互通信的中间人、云、数据的拥有者和数据的查询者的数据查询场景(可简称为四方模型)中,包括以下步骤:
(21)查询者将自己的进行同态加密用的公钥发送给中间人和拥有者;
(22)中间人在拥有者拥有的数据空间中设置一个网格,并将所述网格告知所述拥有者和查询者;
(23)查询者在所述网格的每个格点处对查询函数做泰勒展开成多阶多项式函数,并对多项式系数用所述公钥进行同态加密得到密文,将所述多项式函数和多项式系数的密文发送给中间人;
(24)中间人根据历史查询函数和当前查询函数进行审计,得出确认是否存在数据泄露的审计结果,中间人根据所述审计结果若确认存在隐私泄露,则拒绝回答并结束本次查询,否则将所述多项式函数和多项式系数的密文转发给拥有者;
(25)拥有者在所述网格中找到距离所述多项式函数所请求的数据集最近的格点,将将该格点对应标识发给云;
(26)云利用不知情传输(即oblivious transfer)从中间人处获取所述标识对应格点的多项式系数的密文;
(27)中间人将多项式函数发给云;
(28)云通过同态加密计算所述多项式函数得到查询结果密文,将所述查询结果密文发给中间人;
(29)中间人将查询结果密文发送给查询者;
(210)查询者选择一个作为噪音的随机数进行加密得到噪音密文,将所述噪音密文与查询结果密文进行同态加密得到带噪音的查询结果密文,并发送给拥有者;
(211)拥有者解密所述带噪音的查询结果密文得到带噪音的查询结果,并将该带噪音的查询结果发送给查询者;
(212)查询者对收到的所述带噪音的查询结果去除噪音后,获得查询结果。
上述方法的步骤(24)中,利用同态加密操作密文,并与查询者交互一次获得审计结果的明文。
上述方法的步骤(28)中,将所述查询结果密文经中间人发送给查询者时,中间人将记录本次查询的多项式函数、多项式系数的密文、密文结果,用于后续的查询审计中。
如图3、6所示,本发明实施例进一步提供一种保护数据隐私和查询隐私的结果可验证的数据查询方法,用于包括相互通信的中间人、云、数据的拥有者和数据的查询者的数据查询场景(可简称为四方模型)中,包括以下步骤:
(31)查询者将自己的进行同态加密的公钥发送给中间人和拥有者;
(32)中间人在拥有者拥有的数据空间中设置一个网格,并将所述网格告知所述拥有者和查询者;
(33)查询者在所述网格的每个格点处对查询函数做泰勒展开成多阶多项式函数,并对多项式系数用所述公钥通过同态加密得到密文,将所述多项式函数和多项式系数的密文发送给中间人;
(34)查询者将该多项式函数的敏感度发给中间人;
(35)中间人检查查询者汇报的敏感度是否过小,如果过小,则结束本次查询,否则继续执行后续步骤;
(36)中间人根据历史查询函数和当前查询函数进行审计,得出确认是否存在数据泄露的审计结果,中间人根据所述审计结果若确认存在隐私泄露,则拒绝回答并结束本次查询,否则将所述多项式函数和多项式系数的密文转发给拥有者;
(37)拥有者在所述网格中找到距离所述多项式函数所请求的数据集最近的格点,将将该格点对应标识发给云;
(38)云利用不知情传输从中间人处获取所述标识对应的多项式系数的密文对应的混淆电路的输入;
(39)中间人将所述多项式函数和对应的所述混淆电路发送给云;
(310)云通过不知情传输从中间人处获取数据集对应的混淆电路的输入,并通过同态加密和混淆电路来计算多项式函数得到结果密文,将结果密文发送给中间人;
(311)中间人利用混淆电路对结果密文解码,得到多项式函数的查询结果密文,所述中间人利用拉普拉斯机制生成差分隐私的噪音,利用同态加密将查询结果密文加噪后发送给查询者;
(312)查询者选择一个作为噪音的随机数进行加密得到噪音密文,将所述噪音密文与查询结果密文进行同态加密得到带噪音的查询结果密文,并发送给拥有者;
(313)拥有者解密所述带噪音的查询结果密文得到带噪音的查询结果,并将该带噪音的查询结果发送给查询者;
(314)查询者对收到的所述带噪音的查询结果去除噪音后,获得查询结果。
上述方法的步骤(34)中,利用同态加密操作密文,并与查询者交互一次获得审计结果的明文。
上述方法的步骤(310)中,将所述结果密文经中间人发送给查询者时,中间人将记录本次查询的多项式函数、多项式系数的密文、密文结果,用于后续的查询审计中。
上述方法中,密文均为用查询者的公钥通过同态加密而得到的密文,各密文只有查询者能够解密出原文。
下面对本发明实施例具体作进一步地详细描述。
本发明实施例提供的保护数据隐私和查询隐私的结果可验证的数据查询方法,为了实现全方位的隐私保护,引入第三方(以下简称为中间人)来协调拥有者和查询者。如图1所示,数据查询有两种可能的模型:(1)数据存储在拥有者本地时,或(2)为了节省存储开销,拥有者把数据加密后存储在公有云上,这时引入了第四方(以下简称为云)。下文中这两个模型简称为三方模型和四方模型,本发明在两个模型中设计的数据查询的方法会有少量差异。
保护查询隐私:将查询者请求的函数表示为f(X),其中X是数据集。查询者以点A为参考,构建f的k阶多变量泰勒多项式,表示为fk(X)。X与A越接近,用fk(X)来近似f(X)也就越准确。但是,查询者无法获知X,也就无法选择一个与X相近的参考点A。为了解决这个问题,需要中间人在初始化阶段随机地在数据空间中放置一个网格,并告诉拥有者和查询者格点的位置。为了能准确的用泰勒多项式近似f(X),查询者需要以每个格点为参考点对f(X)进行泰勒展开,得到一个k阶多项式。查询者将这些多项式的系数通过同态加密加密之后发给中间人和/或拥有者,拥有者选择离X最近的格点对应的泰勒多项式,这个多项式系数将被用来计算函数值fk(X)(通过同态加密在密文上进行相应的操作),最后将结果fk(X)发至查询者。因为泰勒展开的参考点离X很近,从而严格限制了近似导致的偏差。如果暂时将查询审计视为一个黑盒函数QA,其对应的同态操作为QAHE,那么保护隐私的数据查询协议如图2(三方协议)、图4(四方协议)所示。
保护数据隐私:参与方可选择利用查询审计和/或差分隐私来保护数据隐私。
(1)查询审计。任意现有的查询审计方案可以在修改后融合到的技术框架下,使其在不能直接看到查询函数的情况下也能审计这些查询。下面以可模拟审计[Kenthapadi,2005]为例介绍(原文为:Simulatable Auditing;参见下载地址:https://theory.stanford.edu/~nmishra/SimulatableAuditing.pdf提供的文件)。这里不详细介绍该算法,其中关键步骤是计算两个多面体的体积比。在本发明技术框架下,空间被划分成很多个小格子,因此需要在每个小格子里找到多面体,计算其体积,求和,然后再计算体积比(如图5所示)。
(2)差分隐私:使用拉普拉斯机制实现差分隐私,需要根据函数的敏感度(如果改变X的一个维度的值,fk(X)可能会改变的最大值)选择相应的噪音,然后加到函数结果中。然而,在本发明的技术框架下,查询者的函数是其个人隐私,需要对其他参与方保密,导致中间人无法得知函数的敏感度。对此,解决办法是让查询者主动汇报函数的敏感度δ。不诚实的查询者可能会低报敏感度,以降低中间人对函数结果加噪的幅度,获得更精确的查询结果。因此,中间人需要随机抽样检查,即随机选择两个X点(只有一个维度的值不同),计算fk(X)的差值是否小于δ。一旦发现某个样本中fk(X)的差值大于δ,说明δ过小,中间人则严厉惩罚查询者。惩罚力度需要严厉到使查询者不敢冒险谎报函数敏感度。
在实现查询审计或差分隐私过程中,中间人需要解密若干密文获得明文,因而需要和查询者(三方模型中)或拥有者(四方模型中)交互一次让其帮忙解密。为了保护隐私并防止数据被篡改,中间人不能直接让其解密,而需要将该密文混入若干随机数的密文中,一起让其解密。解密后,中间人验证随机数是否一致,若出现不一致,证明解密人篡改数据了,中间人则惩罚解密人。
保证查询结果可验证性:利用现有的混淆电路技术来实现可验证计算,由中间人将函数转化为混淆电路,迫使拥有者或云在混淆电路上诚实地计算函数,一旦拥有者或云不诚实计算,中间人将无法解码计算结果就会发现他们不诚实。将该方法融合进本发明的技术框架即可得到既完整保护隐私又可验证结果正确性的三方协议和四方协议。例如,四方模型的数据查询方法的流程如图6所示。
本发明的方法利用同态加密和分段泰勒多项式来近似查询函数,从而既能保护查询隐私,又不妨碍对数据隐私的保护,且处理过程仅有多项式时间复杂度,达到了同时保护拥有者的数据隐私和查询者的查询隐私(包括函数形式、参数、结果),并且可应用于任意k阶连续可导函数(k为可人为设定的参数),解决了现有技术不能同时保护两者隐私的主要原因是这两个目标互相冲突:保护数据隐私需要去审计查询函数或计算查询函数的敏感性来加差分隐私噪音,但保护查询隐私要求不能让任何人知道查询函数是什么的问题。
实施例1:
如图1、2所示,在三方模型下,本发明保护隐私的数据查询方法,具体步骤如下:
(1)查询者将自己的进行同态加密用的公钥广播出去;
(2)中间人在拥有者拥有的数据空间设置格点(即网格)并告诉拥有者和查询者;
(3)查询者在每个格点处对f(X)做泰勒展开成k阶多项式,将多项式系数用公钥进行同态加密;
(4)查询者将多项式的函数形式和系数的密文发给中间人;
(5)中间人根据历史查询函数和当前查询函数进行审计,评估数据泄露风险,此过程需要利用同态加密来操作密文,并和查询者交互一次以获得审计结果的明文;
(6)中间人根据审计结果决定是否拒绝回答,如果有隐私泄露,则结束对话,否则将多项式函数形式和系数密文转发给拥有者;
(7)拥有者找到距离X最近的格点;
(8)拥有者利用该格点对应的多项式系数来计算多项式的结果,此过程需要利用同态加密来操作密文;
(9)拥有者将密文结果发至中间人;
(10)中间人将此次查询的多项式函数形式、系数密文、结果密文记录下来,以用于将来的查询审计;
(11)中间人将密文结果发至查询者;
(12)查询者解密密文结果,获得明文结果。
实施例2
如图3、4所示,在四方模型下,本发明保护隐私的数据查询方法,具体步骤如下:
(1)查询者将自己进行同态加密用的公钥广播出去;
(2)中间人在拥有者拥有的数据空间设置格点(即网格)并告诉拥有者和查询者;
(3)查询者在每个格点处对f(X)做泰勒展开成k阶多项式,将多项式系数加密;
(4)查询者将多项式的函数形式和系数的密文发给中间人;
(5)中间人根据历史查询函数和当前查询函数进行审计,评估数据泄露风险,此过程需要利用同态加密来操作密文,并和查询者交互一次以获得审计结果的明文;
(6)中间人根据审计结果决定是否拒绝回答,如果有隐私泄露,则结束对话,否则让拥有者继续执行协议;
(7)拥有者找到距离X最近的格点;
(8)拥有者将该格点对应下标发给云;
(9)云通过这个下标,利用不知情传输从中间人处获取下标对应的多项式系数的密文;
(10)中间人将多项式函数形式发给云;
(11)云通过同态加密来计算多项式函数;
(12)云将结果密文发给中间人;
(13)中间人将此次查询的多项式函数形式、系数密文、结果密文记录下来,以用于将来的查询审计;
(14)中间人将密文结果发至查询者;
(15)查询者随机选择一个数s作为噪音;
(16)查询者加密s,将该密文与结果密文进行同态加,并将其发给拥有者;(16)拥有者解密该带噪音的结果;
(17)拥有者将该带噪音的结果发给查询者;
(18)查询者去除噪音,获得查询结果。
实施例3
如图3、5所示,在四方模型下,本发明保护隐私且查询结果可验证的数据查询方法,具体步骤如下:
(1)查询者将自己的进行同态加密用的公钥广播出去;
(2)中间人在拥有者拥有的数据空间设置格点(即网格)和差分隐私的预算并告诉拥有者和查询者;
(3)查询者在每个格点处对f(X)做泰勒展开成k阶多项式,将多项式系数用公钥进行同态加密;
(4)查询者将多项式函数的函数形式和系数的密文发给中间人;
(5)查询者将该多项式函数的敏感度发给中间人;
(6)中间人检查查询者汇报的敏感度是否过小;
(7)如果过小,中间人结束对话,否则继续执行协议;
(8)中间人根据历史查询函数和当前查询函数进行审计,评估数据泄露风险,此过程需要利用同态加密来操作密文,并和查询者交互一次以获得审计结果的明文;
(9)中间人根据审计结果决定是否拒绝回答,如果有隐私泄露,则结束对话,否则让拥有者继续执行协议;
(10)拥有者找到距离X最近的格点;
(11)拥有者将该格点对应下标发给云;
(12)云通过这个下标,利用不知情传输从中间人处获取下标对应的多项式系数的密文对应的混淆电路的输入(即密文的密文);
(13)中间人将多项式函数形式和对应的混淆电路发给云;
(14)云通过不知情传输从中间人处获取数据X对应的混淆电路的输入(即密文的密文);
(15)云通过同态加密和混淆电路来计算多项式函数;
(16)云将结果密文发给中间人;
(17)中间人利用混淆电路将结果解码,得到多项式函数结果的密文;
(18)中间人将此次查询的多项式函数形式、系数密文、结果密文记录下来,以用于将来的查询审计;
(19)中间人利用拉普拉斯机制生成差分隐私的噪音;
(20)中间人利用同态加密将密文结果加噪后发至查询者;
(21)查询者任意选择一个数s;
(22)查询者加密s,将该密文与结果密文进行同态加,并将其发给拥有者;
(23)拥有者解密该结果;
(24)拥有者将该带噪音的结果发给查询者;
(25)查询者减去s,获得查询结果。
本领域普通技术人员可以理解:实现上述实施例方法中的全部或部分流程是可以通过程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。
Claims (10)
1.一种保护数据隐私和查询隐私的结果可验证的数据查询方法,其特征在于,用于包括相互通信的中间人、数据的拥有者和数据的查询者的数据查询场景中,包括以下步骤:
(1)查询者将自己的同态加密的公钥发送给中间人和拥有者;
(2)中间人在拥有者拥有的数据空间中设置一个网格,并将所述网格告知所述拥有者和查询者;
(3)查询者在所述网格的每个格点处对查询函数做泰勒展开成多阶多项式函数,并对多项式系数用所述公钥进行同态加密得到密文,将所述多项式函数和多项式系数的密文发送给中间人;
(4)中间人根据历史查询函数和当前查询函数进行审计,得出确认是否存在数据泄露的审计结果,中间人根据所述审计结果若确认存在隐私泄露,则拒绝回答并结束本次查询,否则将所述多项式函数和多项式系数的密文转发给拥有者;
(5)拥有者在所述网格中找到距离所述多项式函数所请求的数据集最近的格点,利用该格点对应的多项式系数来计算所述多项式函数得到查询结果密文,将所述查询结果密文经中间人发送给查询者;
(6)查询者解密所述查询结果密文获得明文查询结果,完成本次查询。
2.根据权利要求1所述的保护数据隐私和查询隐私的结果可验证的数据查询方法,其特征在于,所述方法的步骤(4)中,利用同态加密操作密文,并与查询者交互一次获得审计结果的明文。
3.根据权利要求1或2所述的保护数据隐私和查询隐私的结果可验证的数据查询方法,其特征在于,所述方法的步骤(5)中,将所述查询结果密文经中间人发送给查询者时,中间人将记录本次查询的多项式函数、多项式系数的密文、密文结果,用于后续的查询审计中。
4.根据权利要求1或2所述的保护数据隐私和查询隐私的结果可验证的数据查询方法,其特征在于,所述方法的步骤(5)中,拥有者利用该格点对应的多项式系数来计算多项式函数得到查询结果密文为
利用同态加密来操作密文。
5.一种保护数据隐私和查询隐私的结果可验证的数据查询方法,其特征在于,用于包括相互通信的中间人、云、数据的拥有者和数据的查询者的数据查询场景中,包括以下步骤:
(21)查询者将自己进行同态加密用的公钥发送给中间人和拥有者;
(22)中间人在拥有者拥有的数据空间中设置一个网格,并将所述网格告知所述拥有者和查询者;
(23)查询者在所述网格的每个格点处对查询函数做泰勒展开成多阶多项式函数,并对多项式系数用所述公钥进行同态加密得到密文,将所述多项式函数和多项式系数的密文发送给中间人;
(24)中间人根据历史查询函数和当前查询函数进行审计,得出确认是否存在数据泄露的审计结果,中间人根据所述审计结果若确认存在隐私泄露,则拒绝回答并结束本次查询,否则将所述多项式函数和多项式系数的密文转发给拥有者;
(25)拥有者在所述网格中找到距离所述多项式函数所请求的数据集最近的格点,将该格点对应标识发给云;
(26)云利用不知情传输从中间人处获取所述标识对应格点的多项式系数的密文;
(27)中间人将多项式函数发给云;
(28)云通过同态加密计算所述多项式函数得到查询结果密文,将所述查询结果密文发给中间人;
(29)中间人将查询结果密文发送给查询者;
(210)查询者选择一个作为噪音的随机数进行加密得到噪音密文,将所述噪音密文与查询结果密文进行同态加密得到带噪音的查询结果密文,并发送给拥有者;
(211)拥有者解密所述带噪音的查询结果密文得到带噪音的查询结果,并将该带噪音的查询结果发送给查询者;
(212)查询者对收到的所述带噪音的查询结果去除噪音后,获得查询结果。
6.根据权利要求5所述的保护数据隐私和查询隐私的结果可验证的数据查询方法,其特征在于,所述方法的步骤(24)中,利用同态加密操作密文,并与查询者交互一次获得审计结果的明文。
7.根据权利要求5或6所述的保护数据隐私和查询隐私的结果可验证的数据查询方法,其特征在于,所述方法的步骤(28)中,将所述查询结果密文经中间人发送给查询者时,中间人将记录本次查询的多项式函数、多项式系数的密文、密文结果,用于后续的查询审计中。
8.一种保护数据隐私和查询隐私的结果可验证的数据查询方法,其特征在于,用于包括相互通信的中间人、云、数据的拥有者和数据的查询者的数据查询场景中,包括以下步骤:
(31)查询者将自己进行同态加密用的公钥发送给中间人和拥有者;
(32)中间人在拥有者拥有的数据空间中设置一个网格,并将所述网格告知所述拥有者和查询者;
(33)查询者在所述网格的每个格点处对查询函数做泰勒展开成多阶多项式函数,并对多项式系数用所述公钥进行同态加密得到密文,将所述多项式函数和多项式系数的密文发送给中间人;
(34)查询者将该多项式函数的敏感度发给中间人;
(35)中间人检查查询者汇报的敏感度是否过小,如果过小,则结束本次查询,否则继续执行后续步骤;
(36)中间人根据历史查询函数和当前查询函数进行审计,得出确认是否存在数据泄露的审计结果,中间人根据所述审计结果若确认存在隐私泄露,则拒绝回答并结束本次查询,否则将所述多项式函数和多项式系数的密文转发给拥有者;
(37)拥有者在所述网格中找到距离所述多项式函数所请求的数据集最近的格点,将该格点对应标识发给云;
(38)云利用不知情传输从中间人处获取所述标识对应的多项式系数的密文对应的混淆电路的输入;
(39)中间人将所述多项式函数和对应的所述混淆电路发送给云;
(310)云通过不知情传输从中间人处获取数据集对应的混淆电路的输入,并通过同态加密和混淆电路来计算多项式函数得到结果密文,将结果密文发送给中间人;
(311)中间人利用混淆电路对结果密文解码,得到多项式函数的查询结果密文,所述中间人利用拉普拉斯机制生成差分隐私的噪音,利用同态加密将查询结果密文加噪后发送给查询者;
(312)查询者选择一个作为噪音的随机数进行加密得到噪音密文,将所述噪音密文与查询结果密文进行同态加密得到带噪音的查询结果密文,并发送给拥有者;
(313)拥有者解密所述带噪音的查询结果密文得到带噪音的查询结果,并将该带噪音的查询结果发送给查询者;
(314)查询者对收到的所述带噪音的查询结果去除噪音后,获得查询结果。
9.根据权利要求8所述的保护数据隐私和查询隐私的结果可验证的数据查询方法,其特征在于,所述方法的步骤(34)中,利用同态加密操作密文,并与查询者交互一次获得审计结果的明文。
10.根据权利要求8或9所述的保护数据隐私和查询隐私的结果可验证的数据查询方法,其特征在于,所述方法的步骤(310)中,将所述结果密文经中间人发送给查询者时,中间人将记录本次查询的多项式函数、多项式系数的密文、密文结果,用于后续的查询审计中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910197749.2A CN109933603B (zh) | 2019-03-15 | 2019-03-15 | 保护数据隐私和查询隐私的结果可验证的数据查询方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910197749.2A CN109933603B (zh) | 2019-03-15 | 2019-03-15 | 保护数据隐私和查询隐私的结果可验证的数据查询方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109933603A CN109933603A (zh) | 2019-06-25 |
CN109933603B true CN109933603B (zh) | 2022-09-30 |
Family
ID=66987255
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910197749.2A Active CN109933603B (zh) | 2019-03-15 | 2019-03-15 | 保护数据隐私和查询隐私的结果可验证的数据查询方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109933603B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111092871B (zh) * | 2019-12-11 | 2021-06-08 | 支付宝(杭州)信息技术有限公司 | 一种个人信息保护的数据共享方法、装置及电子设备 |
CN112685760A (zh) * | 2021-01-08 | 2021-04-20 | 浙江泰科数联信息技术有限公司 | 一种区块链上可授权的金融数据隐私处理与共享的方法 |
US11907403B2 (en) * | 2021-06-10 | 2024-02-20 | Hong Kong Applied Science And Technology Research Institute Co., Ltd. | Dynamic differential privacy to federated learning systems |
CN114357522A (zh) * | 2022-01-13 | 2022-04-15 | 厦门荷月信息科技有限公司 | 一种隐私计算分组查询方法及*** |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102176709A (zh) * | 2010-12-13 | 2011-09-07 | 北京交通大学 | 一种带隐私保护的数据共享与发布的方法和装置 |
CN108632385A (zh) * | 2018-05-15 | 2018-10-09 | 上海海事大学 | 基于时间序列的多叉树数据索引结构云存储隐私保护方法 |
WO2018205549A1 (zh) * | 2017-05-09 | 2018-11-15 | 深圳市全同态科技有限公司 | 一种全同态加密的密文查询方法和*** |
-
2019
- 2019-03-15 CN CN201910197749.2A patent/CN109933603B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102176709A (zh) * | 2010-12-13 | 2011-09-07 | 北京交通大学 | 一种带隐私保护的数据共享与发布的方法和装置 |
WO2018205549A1 (zh) * | 2017-05-09 | 2018-11-15 | 深圳市全同态科技有限公司 | 一种全同态加密的密文查询方法和*** |
CN108632385A (zh) * | 2018-05-15 | 2018-10-09 | 上海海事大学 | 基于时间序列的多叉树数据索引结构云存储隐私保护方法 |
Non-Patent Citations (1)
Title |
---|
一种新型隐私数据库秘密同态检索协议;白健;《计算机应用研究》;20170321(第03期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN109933603A (zh) | 2019-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109933603B (zh) | 保护数据隐私和查询隐私的结果可验证的数据查询方法 | |
CN108810895B (zh) | 基于区块链的无线Mesh网络身份认证方法 | |
Liu et al. | An efficient privacy-preserving outsourced calculation toolkit with multiple keys | |
CN113194469B (zh) | 基于区块链的5g无人机跨域身份认证方法、***及终端 | |
Khalid et al. | A survey on privacy and access control schemes in fog computing | |
CN111342976B (zh) | 一种可验证的理想格上门限代理重加密方法及*** | |
Gu et al. | Conjugacy systems based on nonabelian factorization problems and their applications in cryptography | |
Chen | Cryptography standards in quantum time: new wine in old wineskin? | |
CN112152779B (zh) | 一种抗强合谋攻击的格基同态代理重加密方法 | |
Eichlseder et al. | Analyzing the linear keystream biases in AEGIS | |
Gong et al. | A data privacy protection scheme for Internet of things based on blockchain | |
Kohlweiss et al. | Accountable metadata-hiding escrow: A group signature case study | |
Damgård et al. | Adaptively secure multi-party computation from LWE (via equivocal FHE) | |
CN115242553A (zh) | 一种支持安全多方计算的数据交换方法及*** | |
CN113329371B (zh) | 一种基于puf的5g车联网v2v匿名认证与密钥协商方法 | |
CN112434281B (zh) | 一种面向联盟链的多因子身份认证方法 | |
Adelin et al. | Facing emerging challenges in connected vehicles: a formally proven, legislation compliant, and post-quantum ready security protocol | |
Rottondi et al. | A protocol for metering data pseudonymization in smart grids | |
CN108632295B (zh) | 防止终端反复攻击服务器的方法 | |
Zhu et al. | Outsourcing set intersection computation based on bloom filter for privacy preservation in multimedia processing | |
CN116506174A (zh) | 适用于车联网支持用户隐藏身份的多服务器数据传输方法 | |
Peng et al. | On the security of fully homomorphic encryption for data privacy in Internet of Things | |
CN110766400B (zh) | 基于区块链的交易记录处理方法、记账节点及介质 | |
CN115525907A (zh) | 恶意敌手模型下的向量相似度判断方法及通信设备 | |
Mihaljevic et al. | On wireless communications privacy and security evaluation of encryption techniques |
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 |