保护数据隐私和查询隐私的结果可验证的数据查询方法技术

技术编号:21453895 阅读:21 留言:0更新日期:2019-06-26 04:46
本发明专利技术公开了一种保护数据隐私和查询隐私的结果可验证的数据查询方法,用于三方模型中,包括:(1)查询者将公钥发给中间人和拥有者;(2)中间人设一个网格,并告知另两者;(3)查询者在每个格点处对查询函数做泰勒展开成多阶多项式函数,并加密多项式系数,将多项式函数和密文发给中间人;(4)中间人进行审计,若审计确认存在隐私泄露,则拒绝回答并结束查询,否则将多项式函数和密文转发给拥有者;(5)拥有者在网格中找到距请求数据集最近格点,利用对应的多项式系数计算多项式函数,得到的查询结果密文经中间人发给查询者;(6)查询者解密查询结果密文获得明文查询结果。该方法能同时保护拥有者的数据和查询者的查询隐私。

【技术实现步骤摘要】
保护数据隐私和查询隐私的结果可验证的数据查询方法
本专利技术涉及数据安全领域,尤其涉及一种保护数据隐私和查询隐私的结果可验证的数据查询方法。
技术介绍
数据查询服务至少涉及两个参与方,数据拥有者(以下简称拥有者)和查询者,有时还需要引入一个中间方来达到保护安全隐私的目的。现有的与数据查询相关的安全隐私保护工作主要分为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)查询者对收到的所述带噪音的查询结果去除噪音后,获得查询结果。由上述本专利技术提供的技术方案可以看出,本专利技术实施例提供的保护数据隐私和查询隐私本文档来自技高网
...

【技术保护点】
1.一种保护数据隐私和查询隐私的结果可验证的数据查询方法,其特征在于,用于包括相互通信的中间人、数据的拥有者和数据的查询者的数据查询场景中,包括以下步骤:(1)查询者将自己的同态加密的公钥发送给中间人和拥有者;(2)中间人在拥有者拥有的数据空间中设置一个网格,并将所述网格告知所述拥有者和查询者;(3)查询者在所述网格的每个格点处对查询函数做泰勒展开成多阶多项式函数,并对多项式系数用所述公钥进行同态加密得到密文,将所述多项式函数和多项式系数的密文发送给中间人;(4)中间人根据历史查询函数和当前查询函数进行审计,得出确认是否存在数据泄露的审计结果,中间人根据所述审计结果若确认存在隐私泄露,则拒绝回答并结束本次查询,否则将所述多项式函数和多项式系数的密文转发给拥有者;(5)拥有者在所述网格中找到距离所述多项式函数所请求的数据集最近的格点,利用该格点对应的多项式系数来计算所述多项式函数得到查询结果密文,将所述查询结果密文经中间人发送给查询者;(6)查询者解密所述查询结果密文获得明文查询结果,完成本次查询。

【技术特征摘要】
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)查询者选择一个作为噪音的随机数进行加密得到噪音密文,将所述噪音密文与查询结果密文进行同态加密得到带噪音的查询结果密文,并发送给拥有者;(21...

【专利技术属性】
技术研发人员:李向阳钱建威杜皓华侯嘉慧
申请(专利权)人:中国科学技术大学
类型:发明
国别省市:安徽,34

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1