首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >客户端如何私下查询数据库的子集?

客户端如何私下查询数据库的子集?
EN

Cryptography用户
提问于 2020-03-02 11:45:28
回答 2查看 151关注 0票数 1

我正试图为以下问题建立一个解决方案,我认为这与密码有关:

甲方有一套指标M,如一组人的身份证;乙方有更多人的信息,我们将这组人命名为N。让我们假设M是N的子集。乙方同意为业务目的提供甲方要求的人的信息。虽然甲方希望从乙方获得所有的M信息,但不希望在此过程中向乙方透露任何M的ID。

有人知道这是否可能吗?

谢谢。

EN

回答 2

Cryptography用户

发布于 2020-03-02 13:42:19

您正在寻找PIR,私人信息检索或OT,不经意转移,也可能是PSI,私人集交集。

PIR使客户端能够在服务器不了解查询的情况下查询数据库的i-th条目。但是,客户端也可以学习其他索引的值。

在没有泄漏的情况下,OT是一个更强的PIR。

PSI使客户端能够找到它们的秘密集和服务器的秘密集的交集。您可能需要在PIR之前进行PSI,以便在查找非会员之前过滤掉它们,以降低通信成本。反应性PSI可能会降低恶意客户端枚举服务器集的能力。

一个更弱的替代方案也可能会引起人们的兴趣。如果数据库很大,但分区比较合理,而且客户端愿意透露他们正在查询的区域,那么您可以使用k-匿名。

例如。我有没有查过普恩的密码使用密码哈希的前5个十六进制字符来标识大型密码哈希数据库的分区。然后,将较小但仍很大的分区过滤到精确的散列/键,并读取其值。

虽然服务器不知道用户的密码,但是相关查询可以唯一地识别用户,如果它们有多个与公共用户名或电子邮件地址相关联的已泄漏密码。也就是说,可能只有一个用户的两个密码哈希以"12345“和"abcde”开头。

如果客户端搜索"Bobby“和"Carol”的信息,而这两个人存在于不同的分区中,那么服务器可能会链接这两个查询以恢复您的查询。即使所有查询都是独立的,没有任何关系,k-匿名仍然显示出客户机感兴趣的大型数据库的微小子集。

票数 1
EN

Cryptography用户

发布于 2020-03-03 15:09:17

我建议的一个解决这个问题的好办法是:

  1. A部分要求B部分的所有内容(例如json文件);
  2. 一旦A部分拥有N,则A部分可以过滤并从N中获取一个较小的子集;
  3. 最后,A部分只需将过滤后的子集放入M中。
票数 0
EN
页面原文内容由Cryptography提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://crypto.stackexchange.com/questions/77949

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档