← 最新论文
💻 computer science

WebAuthn PRF-Based Vault Key Wrapping and Zero-Knowledge PWA Storage Architecture

本文提出了一种用于基于 Web 的凭据保险库的客户端安全架构,该架构通过结合 WebAuthn 的 PRF 扩展、对称密码学以及优化的浏览器存储模式,实现了强大的零知识属性。

原作者: Ian Pinto

发布于 2026-07-08✓ Author reviewed
📖 1 分钟阅读☕ 轻松阅读

原作者: Ian Pinto

原始论文采用 CC BY 4.0 许可(https://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写的。如需技术准确性,请参阅原始论文。 阅读完整免责声明

想象一下,你有一个数字保险箱(“库”),用来存放你最重要的秘密,比如密码或私人笔记。通常,要打开这个保险箱,你需要一把主钥匙(密码)。但如果通过你的脸、指纹或物理安全密钥就能打开它呢?而且,如果黑客即使偷走了你保险箱的内容副本,如果没有你特定的生物识别密钥,他们仍然无法读取其中的任何一个字,那会怎样?

Ian Pinto 的这篇论文描述了一种构建这种超安全数字保险箱的新方法,适用于 Web 浏览器。它结合了几个高科技概念,构建了一个“零知识”(zero-knowledge)系统——这意味着服务器或存储系统对里面的内容一无所知,甚至连打开它的密钥也不知道。

以下是其工作原理的拆解,分为几个简单的部分:

1. 魔法密钥:WebAuthn PRF

把你的通行密钥(passkey,即你用来登录的那个工具)不仅看作是一个“是/否”的门卫,而是一个秘密配方生成器

  • 旧方式: 你证明了你是你,然后系统说“访问允许”。
  • 新方式 (PRF): 当你证明了身份时,你的设备会在内部秘密运行一个复杂的数学配方(称为伪随机函数或 PRF),并使用一个特殊的“盐”(随机成分)。这个配方会产生一个独特的、高质量的“秘密酱汁”(一个 32 字节的代码),只有你的特定设备知道如何制作。
  • 关键点: 这个秘密酱汁是在你的设备安全芯片内创建的。它永远不会离开设备,也不会保存在硬盘上。它只存在于一瞬间,足够长的时间来解锁你的保险箱,然后立即被清除干净。

2. 锁具:包裹库密钥

你的保险箱有一个主密钥(我们称之为 Key K),它实际上负责锁定数据。

  • 系统将来自通行密钥的那个转瞬即逝的“秘密酱汁”用于将 Key K 包裹在一个数字信封(加密)中。
  • 一旦被包裹,Key K 就会被锁在这个信封里。系统将这个信封保存到你的浏览器存储(IndexedDB)中。
  • 至关重要的一点: 系统绝不会保存秘密酱汁或未被包裹的 Key K。它只保存这个被锁定的信封。如果黑客窃取了存储内容,他们拿到的只是一个没有钥匙的锁着的盒子。

3. 安全屋:IndexedDB 存储

该论文提议了一种在浏览器存储(IndexedDB,类似于数字文件柜)中组织这些数据的特定方式。

  • 文件系统: 系统创建了三个特定的文件夹:
    1. 保险箱 (The Vaults): 存放被锁定的信封(被包裹的密钥)的地方。
    2. 凭据 (The Credentials): 你的通行密钥列表及其“序列号”(以确保没有人使用伪造的密钥副本)。
    3. 元数据 (The Meta): 应用的通用笔记。
  • 零知识保证: 论文认为,由于存储中仅包含被锁定的信封和公开的元数据,因此窃取了整个文件柜的窃贼无法重建密钥。他们会被困在那个只有锁着的盒子而没有钥匙的状态。

4. 备份计划:“密码回退机制”

如果你的浏览器不支持这种高级的“秘密酱汁”功能(例如在某些安卓平板电脑上)该怎么办?

  • 系统有一个名为 pw-v1 的备份计划。它不使用通行密钥的秘密酱汁,而是使用基于你输入的传统密码的非常缓慢且沉重的数学难题(scrypt)。
  • 这虽然更慢、更不方便,但它能确保即使在没有这种高级硬件功能的情况下,你仍能打开你的保险箱。这就像是在生物识别扫描仪旁边安装了一个物理钥匙孔。

5. 安全检查:防止重放攻击

论文强调了一个“重放检查”。

  • 想象一下,一名窃贼记录了你的“解锁”信号,并试图在稍后播放该信号以打开保险箱。
  • 系统维护着一个计数器(类似于汽车的里程表)。每次你解锁保险箱时,计数器就会增加。如果系统看到一个带有旧计数器数值的信号,它就知道这是一个录制信号并会拒绝它。
  • 注: 论文承认这并非对所有设备都完美适用(某些同步的通行密钥不会更新计数器),但它增加了一层防御。

6. 本论文“没有”做的事情

作者非常谨慎地说明了该系统没有防御的内容:

  • 它不能防御你电脑上的病毒。 如果黑客已经在你的浏览器内部监视你输入,他们可以在你使用密钥时将其窃取。这个系统只保护“静止状态”下的数据(即数据躺在存储中时)。
  • 它不能防御“侧信道”泄露。 如果应用在锁定前对数据进行了压缩,或者如果锁定的盒子大小会根据你的密码长度而变化,那么聪明的黑客可能会通过测量盒子的大小来猜测其中的内容。论文警告开发者要对数据进行填充(padding)(使所有盒子大小一致),以防止这种情况。

总结

这篇论文提供了一个蓝图,用于构建一个基于 Web 的密码库,该库在数学上被证明是无法被阅读的,除非拥有你特定的物理通行密钥。它利用你的通行密钥生成一个临时的、一次性的代码来锁定你的数据,确保该代码永远不会被保存,并组织存储方式,使得即使数据库被整体窃取,也只会得到锁定的盒子。这是一个“零知识”系统,存储提供商(或黑客)对你的秘密一无所知。

您所在领域的论文太多了?

获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。

试用 Digest →