隐私计算实训营第六讲-隐语PIR介绍及开发实践
文章目录
- 隐私计算实训营第六讲-隐语PIR介绍及开发实践
- 1.隐语实现PIR总体介绍
- 1.1按服务器数量分类
- 1.2按查询类型分类
- 2. Index PIR - SealPIR
- 3. Keyword PIR - Labeled PSI
- 4.隐语PIR功能分层
- 5.隐语PIR后续计划
- PIR协议开发
- PIR调用框架
- PIR产品化
1.隐语实现PIR总体介绍
隐语实现的PIR(Private Information Retrieval)是一项使用户能够在不向服务器透露查询内容的情况下,从服务器数据库查询数据的技术。这种技术主要用于保护用户的查询隐私,防止服务端知晓或推断用户的查询意图或感兴趣的数据。隐语实现的PIR技术可以按照不同的维度进行分类,主要分为服务器数量分类和查询类型分类。
1.1按服务器数量分类
-
单服务器方案(Single Server):
- 在单服务器方案中,所有的数据都存储在一个服务器上。用户需要从这个单一的数据源中查询信息,同时确保其查询内容对服务器保持私密。这要求使用高度复杂的加密技术来保护查询内容,同时确保查询效率。
-
多服务器方案(Multi Server):
- 多服务器方案涉及到多个服务器,数据可以分散存储在这些服务器上。用户的查询被设计为分布式的,每个服务器只处理查询的一部分,而没有任何一个服务器能够单独确定用户的完整查询内容。通过这种方法,即使某些服务器被攻破,用户的查询隐私仍然得到保护。
1.2按查询类型分类
-
Index PIR:
- 在Index PIR中,用户根据数据的索引进行查询。这种类型的PIR假设用户已经知道他们所需要数据的确切位置(即数据库中的索引)。用户的查询旨在检索特定索引处的数据,而不向服务器透露该索引是什么。
-
Keyword PIR:
- Keyword PIR允许用户根据关键字进行查询。这意味着用户不需要知道数据的具体位置;相反,他们可以根据数据内容的关键字进行搜索。这种方法更加灵活,允许用户根据内容特征而不是具体的数据库结构来检索信息。
隐匿查询(Private Information Retrieval, PIR)是一种允许用户从服务器查询数据,同时确保服务器无法知道用户查询的是哪些数据的技术。这种技术主要用于保护用户的查询隐私,防止服务器了解或推断出用户的兴趣点或敏感信息。隐匿查询可以根据不同的维度进行分类,包括服务器数量(单服务器方案和多服务器方案)以及查询类型(Index PIR和Keyword PIR)。
2. Index PIR - SealPIR
SealPIR是一种实现Index PIR的技术,其主要贡献包括:
- 将多个数据打包到一个同态加密(HE)明文中。
- 将查询的数据库索引(db_index)转换为明文索引(plaintext_index)。
- 将查询向量压缩到一个密文中,显著减少了通信量。
- 服务器端可以通过计算扩展得到查询的密文向量。
- 支持多维查询,例如,通过将数据转换为根号n乘以根号n的矩阵来实现2维查询,以减少扩展计算量。
- 支持同时进行多个查询,使用cuckoo hash来实现。
3. Keyword PIR - Labeled PSI
Labeled PSI是实现Keyword PIR的一种方法,其核心思想是通过点值表示得到插值多项式的系数表示。隐语(Secretnote)实现的Labeled PSI的主要工作包括:
- 以微软的开源代码功能为核心,实现了基于隐语的OPRF(Oblivious Pseudo-Random Function)。
- 支持多种椭圆曲线加密(ECC)算法,包括FourQ, Secp256k1, SM2。
- 实现了标签(Label)的自动填充功能。
- 增加了服务的预处理结果保存功能,这样可以在离线阶段和查询阶段进行多次查询。
这些技术的发展和实现显著提高了数据查询时的隐私保护,使得用户在不暴露查询意图的情况下,仍能从服务器获取所需信息。
4.隐语PIR功能分层
5.隐语PIR后续计划
隐语PIR(Private Information Retrieval)项目的未来发展计划主要围绕以下几个方面展开:
PIR协议开发
- SOTA PIR跟踪: 持续关注并跟踪最新的、处于技术领先地位(State Of The Art, SOTA)的PIR技术和研究成果,以保持隐语PIR技术的先进性和竞争力。
- Spiral PIR: 开发和集成Spiral PIR协议,这是一种高效的PIR实现,可能特指一种旨在优化数据检索过程以减少查询时间和提高数据隐私的技术。
- Simple PIR: 实现和优化Simple PIR方案,可能指的是一种更为简化的PIR实现,旨在降低系统复杂度,提高易用性和可访问性。
PIR调用框架
- PSI/PIR独立代码库: 建立一个独立的代码库,用于存放和管理与PSI(Private Set Intersection私有集合交集)和PIR相关的所有代码和文档,以方便开发者使用和贡献。
PIR产品化
- 了解产品需求: 通过市场调研和用户反馈,深入了解客户和市场对PIR技术的具体需求,以指导产品的开发方向和功能设计。
- 设计落地方案: 根据产品需求,设计实际可行的落地方案,包括技术路线图、功能实现、用户界面设计等,确保PIR技术能够以产品形态满足市场需求,解决实际问题。