0Pricing
Cryptology Academy · 课时

访问模式泄露威胁

了解即使数据已加密,内存和存储访问模式仍会如何泄露敏感信息。

访问模式泄露威胁 是 CoddyKit 上的免费 Cryptology Academy 课时。 这是第 1 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Cryptology Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Cryptology Academy 课程共包含 4 节课。

加密无法隐藏一切

加密可以保护数据内容不被未授权方获取,但单靠加密无法隐藏数据的访问元数据。访问模式——读取或写入了哪些记录、何时进行以及频率如何——即使数据本身已完全加密,也可能泄露敏感信息。内容隐私与访问隐私之间的这一差距,正是不经意 RAM 的核心动机。

访问模式会暴露什么

访问模式分析可能会暴露以下信息:用户查询了哪些数据库记录(可以根据其访问的记录推断医疗状况)、通信模式(即使消息内容已加密,也能知道谁联系了谁)、金融活动(可以根据用户请求哪些价格来推断交易策略),以及行为模式(可以根据访问时间和频率推断日常活动规律)。这些推断可能与数据内容本身一样敏感。

CryptDB 与加密数据库攻击

CryptDB(MIT,2011 年)是一个用于查询加密数据库、影响深远的系统。Grubbs、McPherson、Naveed、Ristenpart 和 Spooner 于 2016 年开展的后续研究表明,CryptDB 及类似的保序加密方案会泄露访问模式,从而 ermöglichen推断攻击。攻击者如果拥有关于访问分布的辅助数据集,即使不破解加密,也能仅凭访问频率和顺序推断出明文值。

加密存储上的频率分析

如果加密云存储服务记录访问了哪些密文块,对手就可以执行频率分析。由于用户往往更频繁地访问热门文件,密文块的访问频率直方图会反映明文的访问分布。将加密频率直方图与已知的访问模式进行匹配,就可以识别哪些加密文件对应热门内容类别。

云服务提供商威胁模型

在诚实但好奇(半诚实)威胁模型中,云服务提供商会正确遵循协议,但会观察客户端数据的所有访问模式。许多云服务提供商出于计费、调试和性能优化的正当目的记录访问模式。即使没有恶意意图,这些日志也会带来风险:云服务提供商遭到入侵、恶意员工或政府传票,都可能暴露敏感的访问模式。

ORAM:解决方案概念

不经意 RAM(ORAM)由 Goldreich 和 Ostrovsky 于 1996 年提出,是一种向服务器隐藏访问模式的密码学原语。在 ORAM 方案中,无论实际访问的是哪个内存位置,对任意内存位置执行的每次访问(读取或写入)都会产生相同分布的、服务器可见的操作。观察服务器的对手只能看到均匀随机的访问模式。

ORAM 的应用

凡是需要保护访问模式隐私的场景,ORAM 都有广泛的应用:安全云存储(隐藏用户访问了哪些文件)、不经意数据库查询(隐藏查询返回了哪些行)、SGX 飞地(防止针对飞地内存的访问模式侧信道)、私有信息检索(隐藏用户检索了哪个数据库条目)以及安全多方计算(隐藏中间状态的访问模式)。

朴素 ORAM

最简单的 ORAM 方案非常直接:要访问任意一个块,就读取并重写整个存储中的每一个块。这样可以隐藏访问了哪个块(因为每次访问看起来都完全相同),但每次逻辑访问都会产生 O(n) 的通信开销,因此对于大型数据集完全不实用。实际的 ORAM 方案力求在保持完美或统计不经意性的同时,将这一开销降至 O(polylog n)。

ORAM 开销下界

Goldreich 和 Ostrovsky 证明了一个下界:任何服务器存储开销为 O(1) 的 ORAM,每次访问至少要承担 Omega(log n) 的通信开销。这个对数下界适用于确定性 ORAM。实际构造的目标是实现 O(log^2 n) 或 O(log n) 的开销,使其接近这一理论最小值。该下界表明,完美隐藏访问模式必然要付出代价。

加密搜索与 ORAM

可搜索对称加密(SSE)支持在加密数据上进行搜索。基本的 SSE 方案会泄露搜索模式(搜索了哪些关键词)和访问模式(返回了哪些文档)。前向隐私 SSE 会隐藏新文档的搜索模式,但还需要 ORAM 来隐藏访问了哪些文档。将 SSE 与 ORAM 结合可以提供最强的隐私保障,但会带来显著的性能代价。

何时值得承担 ORAM 的开销

ORAM 并非总是必要。是否使用 ORAM 取决于威胁模型:对手是否会观察访问模式?对于采用全盘加密的本地存储,如果对手是远程对手,可能不需要 ORAM。对于不受信任的云服务提供商所提供的云存储,使用 ORAM 是合适的。当访问模式泄露确实构成威胁,且数据的敏感性足以证明成本合理时,这种开销(通常为 20–50 倍带宽)就是值得的。

访问模式泄露测验

以下哪项正确描述了即使数据已经加密,访问模式仍然敏感的原因?

访问模式泄露回顾

加密数据内容并不能隐藏访问模式,访问模式可能通过频率分析和时间信息泄露敏感信息。在诚实但好奇模型中,云服务提供商可以观察客户端访问了哪些密文块。CryptDB 攻击展示了如何从加密数据库的访问模式中进行实际推断。ORAM 通过让所有访问对服务器来说看起来完全相同来解决这一问题。朴素方案(每次访问都读取所有内容)具有 O(n) 的开销,因而不实用;实际的 ORAM 可以实现 O(log^2 n) 的开销。

常见问题解答

「访问模式泄露威胁」课时是免费的吗?

是的 — 「访问模式泄露威胁」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Cryptology Academy 课程的其余内容,请升级到 CoddyKit PRO。 Cryptology Academy 课程共包含 4 节课。

「访问模式泄露威胁」这节课中我会学到什么?

了解即使数据已加密,内存和存储访问模式仍会如何泄露敏感信息。 你通过在浏览器中直接运行的动手代码来练习 Cryptology Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 Cryptology Academy 需要有经验吗?

无需任何先前经验。CoddyKit 上的 Cryptology Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 1 节课,共 4 节。

「访问模式泄露威胁」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 Cryptology Academy 课中编写并运行代码吗?

能。每节 Cryptology Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. 访问模式泄露威胁
  2. Path ORAM:隐藏内存访问
  3. Circuit ORAM 与实际性能
  4. 云存储与安全处理器中的 ORAM
← 返回 Cryptology Academy