Archipelago

Lec 8私有信息检索(PIR)

讲义完成更新于 2026-09-16

Lec 8 私有信息检索(PIR)

MIT 6.5610 · Lecture 8 · 关键词:PIR、隐藏查询、信息论 PIR、计算 PIR、平凡下界、基于 LWE 的单服务器 PIR 说明:以标准 PIR 处理撰写,要点与本课"Private Information Retrieval"一致。


TL;DR

  • 私有信息检索(PIR)让服务器不知道用户读取了数据库中的哪一项。
  • 多服务器 PIR 依赖服务器不串通;单服务器 PIR 可建立在 LWE 等计算假设上。
  • PIR 只隐藏查询索引,不自动隐藏用户身份、访问时间、流量大小等系统元数据。

0. 问题

客户想从服务器的数据库 D=(D1,…,DN)D=(D_1,\dots,D_N) 中读取第 ii 项,但不让服务器知道 ii。

  • 平凡方案:下载整个 DD。隐私完美,但通信 O(N)O(N)。
  • PIR 目标:在隐藏 ii 的前提下,通信远小于 NN。

定理

平凡下界:单服务器信息论 PIR 必须传 Ω(N)\Omega(N)——否则服务器对 ii 有信息。故突破口只有两条:多服务器(信息论)或单服务器 + 计算假设(计算 PIR)。


1. 多服务器信息论 PIR(2 服务器异或方案)

数据库复制到两台不共谋服务器。把索引 ii 看作选择向量 ei\mathbf{e}_i(第 ii 位为 1)。

例

2-服务器 PIR

  • 客户选随机子集 S⊆[N]S\subseteq[N],发 SS 给服务器 1、S△{i}S\triangle\{i\}(对称差)给服务器 2。
  • 各服务器回所选项的异或 ⨁j∈SDj\bigoplus_{j\in S}D_j。
  • 两回复异或 = DiD_i(其余项成对抵消)。 :::

每台服务器只看到一个近均匀随机子集,对 ii 零信息。通信 O(N)O(N) 比特(用平方根分块可降到 O(N)O(\sqrt N))。代价:需要不共谋的多副本。


2. 单服务器计算 PIR(基于 LWE)

用同态加密把"选择向量"加密后交给服务器计算,服务器看不到明文选择。

思路(线性同态 PIR)

  • 客户加密选择向量 Enc(ei)\mathrm{Enc}(\mathbf{e}_i)(密文里第 ii 位是加密的 1,其余是加密的 0)发给服务器。
  • 服务器在密文上计算 ∑jEnc(ei,j)⋅Dj=Enc(Di)\sum_j \mathrm{Enc}(e_{i,j})\cdot D_j = \mathrm{Enc}(D_i)(线性同态)。
  • 回传单个密文,客户解密得 DiD_i。 :::

🔎 由 LWE 的加法同态支撑:密文相加 = 明文相加。把数据库视为矩阵 DD,则一次 PIR ≈ 密文向量与 DD 的矩阵-向量乘,服务器对 ei\mathbf{e}_i 由 LWE 不可区分而无从得知 ii。 ⚠️ 朴素方案上传选择向量本身就是 O(N)O(N) 密文。降通信的关键技巧:递归/平方根分块(把 DD 视作 N×N\sqrt N\times\sqrt N 矩阵,只需 O(N)O(\sqrt N) 上传),以及现代方案(SimplePIR/DoublePIR)用预处理 + LWE 把在线通信压到亚线性。


3. 工程视角

  • PIR 是"隐私优先检索"的核心:私有 DNS、不泄露查询词的搜索、隐私广告匹配、凭证撤销查询(CT/OCSP 隐私)。
  • 单服务器计算 PIR 部署最现实(无需多方不共谋假设),但服务器需对整库做线性扫描 → 计算成本高,靠预处理摊销。
  • 与 ORAM(L20)区别:PIR 是只读、公开库、隐藏查询;ORAM 隐藏对自有私有存储的读写访问模式。

4. 私有信息检索小结

  • PIR:隐藏查询索引,通信 ≪N\ll N。
  • 信息论 PIR 需多服务器(不共谋);单服务器必须靠计算假设。
  • 计算 PIR 用(LWE)同态:加密选择向量 → 服务器密文内积 → 回单密文。
  • 难点在通信与服务器计算的平衡,现代方案靠预处理。

PIR 只给出查询隐私,不等于系统匿名;网络标识、时间和响应大小仍需由其他机制处理。