https://www.hdzikao.com

安全多方计算-匿踪查询(匿踪查询教你“悄咪咪的网上冲浪”)【--匿踪查询教你“悄咪咪的网上冲浪”】

[导读] 大家好,今天小热关注到一个比较有意思的话题,就是关于匿踪的问题,于是小编就整理了2个相关介绍匿踪的解答,让我们一起看看吧。 文章目录: 安全多方计算-匿踪查询 匿踪查询教你“悄

安全多方计算-匿踪查询(匿踪查询教你“悄咪咪的网上冲浪”)【--匿踪查询教你“悄咪咪的网上冲浪”】

大家好,今天小热关注到一个比较有意思的话题,就是关于匿踪的问题,于是小编就整理了2个相关介绍匿踪的解答,让我们一起看看吧。

文章目录:

  1. 安全多方计算-匿踪查询
  2. 匿踪查询教你“悄咪咪的网上冲浪”

一、安全多方计算-匿踪查询

安全多方计算是一种隐私保护技术,其中“匿踪查询”(Private Information Retrieval - PIR)尤为实用。在场景中,如检查部门调查可疑间谍时,直接精确查询可能导致隐私泄露,从而引发不可控局面。匿踪查询技术允许在不泄露查询条件和结果的情况下进行查询,保护了用户隐私。

使用简单密码学技术无法有效保护查询过程中的信息泄露。因此,匿踪查询技术通过独特的设计确保数据源方仅知有查询存在,但不知查询详情。这使得检查部门能够在保护隐私的同时完成调查。

匿踪查询分为基于不经意传输、基于同态加密和基于关键词的三种实现方案。其中,基于不经意传输的PIR方案与基于同态加密的PIR方案需要检索用户提前感知被检索数据在数据库中的位置。通过隐私求交的方式实现,可以在不泄露可能需要进行范围查询的情况下完成。

基于不经意传输的PIR实现采用n选1的OT协议,而基于同态加密的PIR实现则采用Paillier加法半同态加密算法。基于keyword的PIR方案则允许用户根据关键词进行查询,利用Paillier同态加密与拉格朗日插值多项式实现。

性能分析表明,匿踪查询技术在保护隐私的同时,也具备一定的查询效率。具体实现细节涉及算法优化与效率提升,以满足实际应用需求。

参考资料包括多项科研论文与技术文档,涵盖了匿踪查询技术的理论基础与实现方法。这些资源为理解匿踪查询技术提供了深入的理论支撑。

个人简介:杜宝坤,隐私计算领域专家,从0到1构建了京东联邦学习解决方案9N-FL,主导了联邦学习框架与业务落地。擅长从全链路思考与决策,涉及工程架构、大数据、机器学习算法与框架等多个领域。

公众号「秃顶的码农」提供了一系列技术文章,涵盖隐私计算、联邦学习、机器学习框架等主题,按照学习路线排序,方便连续阅读。知乎号关注专利,提供技术交流平台。一切有为法,如梦幻泡影,如露亦如电,应作如是观。

二、匿踪查询教你“悄咪咪的网上冲浪”

之前,我们介绍了一种简洁高效的「多方隐私集合求交协议」,该协议是针对多方隐私集合求交场景设计的,解决了基于两方协议简单扩展到多方时产生的数据安全问题,详见前文《 叮!多方隐私集合求交发来“会议邀请”》。

本文将介绍另一种使用广泛的隐私计算技术--匿踪查询。匿踪查询顾名思义就是查询方的查询记录是隐藏的,数据方不知道查询方查了哪条数据。具体定义是查询方向数据方发送要查询的id,通过交互使得数据方返回给查询方该id的对应信息,如果未查到则返回空,在整个过程中查询方无法知道查询id之外的数据,数据方也无法知道查询方查询的是哪个id。

例如:现在有个股神,很多人都关注他炒股的一举一动,把他关注的股票作为购买的参考,但是股神不想泄露这些信息以免影响股票价格,这个时候,股神就可以使用「匿踪查询技术」来查询股票信息,保证他查询数据时的隐私性。

知识点科普

不经意传输-OT. Oblivious transfer

不经意传输:接收方想要获取发送方n个数据里的第i个,但是需要保证接收方只能拿到第i个数据,无法拿到其他数据,发送方也无法知道接收方拿的是第几个数据。

从不经意传输的定义来看和匿踪查询是比较接近的,但是不经意传输是需要查询者知道自己要查询的数据是在哪个位置,通常情况下查询者在查询前是无法知道具体要查询的位置。

隐私信息检索-PIR. Private Information Retrieval

隐私信息检索:查询方向数据库请求查询指定位置的数据,但需要保护查询方的查询位置不被数据库感知。和不经意传输技术不同的是,隐私信息检索是无需保护数据库的隐私的,数据库对于查询方来说是公开的,相当于是安全性弱化的不经意传输。

除开安全性的区别外,隐私信息检索的一个侧重研究目标就是减少通信量,根据上面的定义可以看出隐私信息检索的一种最简单实现就是数据库直接将所有数据发给查询方,查询方本地查询获取数据就行,但是这种方案效率太低了,特别是数据库数据量比较大时,数据传输时间太长,长到查询方的本地查询时间都可以忽略不计。因此现在有很多研究都是建立在多数据库服务副本的前提下去做查询时数据传输量的优化,以减少查询时间。

匿踪查询算法流程解读

一种比较简单的、实现匿踪查询的思路:先通过某种方法定位到要查询的数据在查询方数据集里的哪个位置,然后通过不经意传输技术根据这个位置去拿要查询数据key对应的value。定位查询数据位置的方法,有一种方案是通过执行隐私集合求交算法,这样查询方就可以定位到查询数据对应的位置或者确定本次查询是否命中了。

接下来介绍另一种基于同态加密和多项式的匿踪查询算法流程[1],查询方拥有查询数据q,数据方拥有键值对,,...,。

正确性分析

通过基于键值对来构造多项式的方式来构造两个不同作用的多项式,F(x)用于查询方来判定该次查询是否命中,G(x)用于查询方在确定查询命中后,拿到查询到的数据。

安全性分析

对于查询方来说:他的查询数据是通过自己生成的秘钥对中的公钥加密后发送给数据方的,数据方是无法解开拿到查询数据的,只能通过同态加密的性质进行计算。

对于数据方来说:他的数据未直接发送给参与方,而是将加密后的查询数据带入到多项式中进行同态计算,再将两个多项式分别计算后的结果发送给查询方,查询方未拿到其他数据的相关信息,也就无法进行反推。

总结

「匿踪查询」本质是在传统的key-value查询的基础上,加入了隐私保护,使得查询方无法拿到数据方其他数据,数据方也无法知晓查询方查的是哪个key,实现了双向隐私保护,且可以通过提前hash取模分桶预处理的方式,在数据量比较大的时候通过离线预处理操作可以极大提高在线查询时的效率,能做到毫秒级响应,在金融、政务等跨机构数据共享计算的实际场景中有广泛应用前景。

[1]Fast private set intersection from homomorphic encryption.

到此,以上就是小编对于匿踪的问题就介绍到这了,希望介绍关于匿踪的2点解答对大家有用。

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

相关文章阅读