我正试图为以下问题建立一个解决方案,我认为这与密码有关:
甲方有一套指标M,如一组人的身份证;乙方有更多人的信息,我们将这组人命名为N。让我们假设M是N的子集。乙方同意为业务目的提供甲方要求的人的信息。虽然甲方希望从乙方获得所有的M信息,但不希望在此过程中向乙方透露任何M的ID。
有人知道这是否可能吗?
谢谢。
发布于 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-匿名仍然显示出客户机感兴趣的大型数据库的微小子集。
发布于 2020-03-03 15:09:17
我建议的一个解决这个问题的好办法是:
https://crypto.stackexchange.com/questions/77949
复制相似问题