T
traeai
登录
返回首页
Microsoft Research Blog

Vega: 人工智能时代的数字身份零知识证明

8.7Score
Vega: 人工智能时代的数字身份零知识证明

TL;DR · AI 摘要

微软研究团队推出Vega零知识证明系统,可在不暴露凭证本身的情况下验证政府颁发的身份信息,支持移动端100毫秒内生成证明,无需可信设置,即将开源。

核心要点

  • Vega可在100毫秒内生成零知识证明,无需可信设置,支持移动设备运行
  • 采用fold-and-reuse技术,重复验证跳过大部分计算工作
  • 支持移动驾照和欧盟数字身份钱包等真实世界格式

结构提纲

按章节快速跳转。

  1. §Vega系统概述

    Vega允许用户证明政府颁发凭证中的事实而无需透露凭证本身,凭证永远不会离开设备。

  2. 零知识证明在商品客户端设备上100毫秒内生成,无可信设置,使私有身份验证在规模上变得实用。

  3. Fold-and-reuse证明意味着重复展示跳过首次证明后的大部分昂贵工作。

  4. Vega针对移动驾照和欧盟数字身份钱包等真实世界格式,使用Rust构建并即将开源。

  5. AI代理代表人类行动时需要快速、隐私保护的方式证明凭证,当前验证方法要求用户上传敏感文档存在安全风险。

思维导图

用一张图看清主题之间的关系。

查看大纲文本(无障碍 / 无 JS 友好)
  • Vega零知识证明系统
    • 核心功能
      • 凭证验证不暴露凭证
      • 移动端快速生成
    • 技术优势
      • 无可信设置
      • Fold-and-reuse优化
    • 应用场景
      • AI代理验证
      • 政府凭证

金句 / Highlights

值得收藏与分享的关键句。

  • Vega允许用户从政府颁发的凭证中证明事实——年龄、人格、专业状态——而无需透露凭证本身。凭证永远不会离开设备。

    At a glance

    ⬇︎ 下载 PNG𝕏 分享到 X
  • 零知识证明在商品客户端设备上100毫秒内生成,无可信设置,使私有身份验证在规模上变得实用。

    At a glance

    ⬇︎ 下载 PNG𝕏 分享到 X
  • Fold-and-reuse证明意味着重复展示——向不同服务或通过AI代理——在首次证明后跳过大部分昂贵的工作。

    At a glance

    ⬇︎ 下载 PNG𝕏 分享到 X
  • 这些不是边缘案例。它们是要求用户共享最敏感文档来证明单个信息位的系统的可预测后果。
    ⬇︎ 下载 PNG𝕏 分享到 X
#零知识证明#数字身份#隐私保护#微软#Rust
打开原文
图片 1:三个白色线条风格的图标居中显示在蓝绿色渐变纹理背景上:一个盾牌、一个圆圈内的对勾,以及一张带有用户轮廓的身份证——代表安全、验证和数字身份。

一目了然

  • Vega 让用户能够证明政府颁发的凭证中的事实——年龄、身份、专业状态——而无需透露凭证本身。凭证永远不会离开设备。
  • 零知识证明在普通客户端设备上可在 100 毫秒内生成,无需可信设置,使大规模私有身份验证变得实用。
  • 折叠和重用证明意味着重复展示——向不同服务或通过 AI 代理——在首次证明后跳过大部分昂贵的工作。
  • Vega 针对真实世界的格式,如移动驾照和欧盟数字身份钱包,使用 Rust 构建,并将很快开源。

AI 正在改变人们与数字世界互动的方式,从 AI 驱动的助手到代表用户行事的自主代理。随着这些能力的增长,强大的数字身份的价值也在增长:用户需要可靠的方式来建立信任,无论是证明他们是人类还是与 AI 代理服务共享凭证。政府颁发的凭证仍然是信任的最强基础,但今天的验证方法通常要求人们交出它们。随着 AI 代理开始代表人类行事并与去中心化系统交互,对快速、保护隐私的凭证证明方式的需求只会增长。

这些需求已经在政策中显现。各国政府正在迅速推进数字身份的正式化。欧盟数字身份(EUDI)框架旨在让所有欧盟公民都能获得数字钱包,而像欧盟年龄验证蓝图和英国《网络安全法》这样的努力都要求基于政府身份证的年龄检查方法。应用程序提供商面临双重困境:他们必须要么使用不太准确的方法,如基于 AI 的年龄估算,要么通过要求上传身份证来损害用户隐私。

凭证被上传、处理,有时存储,最终(希望如此)被删除。但高调的数据泄露事件反复暴露了用户为常规验证而分享的政府身份证。这些不是边缘案例。它们是一个要求用户分享最敏感文件以证明单个信息位的系统的可预见后果。

这是我们着手用 Vega 回答的问题:我们能否在从不透露凭证本身的情况下证明关于凭证的某些内容?

通往 Vega 的道路:从想法到实践

零知识证明(ZKP)是使这成为可能的加密工具。这个想法很简单:它们允许用户证明一个声明,比如"我超过 21 岁",而不透露任何其他信息。实际上,这意味着用户可以从他们的驾照证明自己的年龄,而验证者永远看不到驾照,无论是网站、应用程序还是由 AI 代理中介的服务。证明直接在颁发的凭证上工作,因此发行者不需要改变任何东西。

这并不是一个新想法。挑战一直在于实用性。之前的系统要么需要可信设置,在逻辑更改时必须重复,要么为了避开可信设置而牺牲性能,通常在此过程中产生大的证明。对于实际使用,证明需要快速生成、足够小以便快速传输,并且足够高效以在移动设备上运行。

我们已经花费了数年时间致力于实用解决方案。保护隐私的身份一直是激励性应用(在新标签页中打开),Vega 的证明系统借鉴了该工作线的几个构建模块:

  • [Spartan(在新标签页中打开)](https://eprint.iacr.org/2019/550) 展示了如何高效地证明 R1CS,这是表达通用证明系统语句的标准方式,具有简洁的证明且无需可信设置。
  • **Nova(在新标签页中打开)** 引入了折叠方案,它让证明者可以将许多计算实例压缩成一个。
  • [HyperNova(在新标签页中打开)](https://eprint.iacr.org/2023/573) 表明 Nova 的折叠也为零知识提供了关键构建模块:将真实实例与随机实例折叠隐藏了底层的秘密数据,这种技术被称为"NovaBlindFold"。
  • [NeutronNova(在新标签页中打开)](https://eprint.iacr.org/2024/1605) 提供了同时处理一批实例的最高效折叠方案。

Vega 将这些构建模块组合成单一证明系统。一个关键设计目标是简单性。Spartan、Nova 和 NeutronNova 以直接方式组合,电路由少量标准组件构建,没有异域多字段构造,也没有可信设置。在这个简单基础上,Vega 添加了跨同一凭证的多个证明重用工作的能力,以及以最小开销实现零知识的新方法。结果是一个易于审计、扩展到新凭证格式并部署的系统。

性能

Vega 在普通客户端设备上从典型的移动驾照(约 2 千字节)生成零知识年龄证明,耗时 92 毫秒。生成的证明大小为 108 KB,可在 23 毫秒内完成验证。无需可信设置。证明者密钥为 464 KB;可以轻松存储在任何手机上。对于较小的凭证,证明时间降至 62 毫秒,证明大小为 83 KB,验证时间为 17 毫秒。实际上,用户点击按钮提交凭证后,92 毫秒后证明就完成了。服务方只能获得请求的事实;凭证永远不会离开手机。

图片 2

Azure AI Foundry 实验室

通过这些来自微软研究院的实验性技术,了解 AI 未来发展的潜在方向。

内部机制:折叠、重用和查找

Vega 的速度来源于两个理念:折叠和重用证明以及以查找为中心的电路设计。下图显示了端到端的证明流水线。

图片 3:图表显示两阶段零知识证明工作流程。在"每个凭证一次"阶段,凭证输入被拆分为步骤电路和核心电路,然后提交并缓存可重用数据。在"每次展示一次"阶段,使用缓存的提交对会话特定数据进行重新随机化,生成步骤实例和核心实例。步骤实例通过 NeutronNova 折叠成一个,与核心实例在 Spartan 证明步骤中结合,然后通过 NovaBlindFold 处理以添加零知识特性,最终得到具有大小和性能指标的 ZK 证明。

Vega 的证明流水线。 工作分为两个阶段。每个凭证一次的阶段将凭证拆分为步骤和核心电路并提交可重用数据。每个展示一次的阶段对缓存的提交进行重新随机化以实现不可链接性,通过 NeutronNova 将所有 SHA-256 步骤实例折叠成一个,使用 Spartan 证明折叠的步骤和核心电路,并通过 NovaBlindFold 应用零知识。最终输出是在 92 毫秒内生成的 108 kB 证明,可在 23 毫秒内完成验证。

哈希问题,以及折叠如何解决它

凭证证明必须做两件昂贵的事情:使用 SHA-256 对凭证字节进行哈希以及验证发行者的数字签名。签名验证通常是瓶颈,但 Vega 通过在签名算术为本地运算的字段中工作来避免这种成本。因此,哈希成为主要成本。SHA-256 通过同时对一个 64 字节块应用相同的压缩函数来工作。简单的电路只是展开所有这些迭代,因此其大小随凭证长度增长。对于典型的移动驾照,这是 30 个压缩块,全部包含在一个电路中。

我们采用不同的方法。不是展开整个哈希,我们定义一个小的"步骤"电路来证明单个 SHA-256 压缩步骤,然后为每个块实例化一次。由于这些步骤实例在结构上相同,我们可以使用 NeutronNova 的折叠方案将它们折叠成一个实例。证明者需要将 30 个步骤实例折叠成一个,但这种折叠成本很小。Spartan 只需要证明一个步骤大小的电路,以及一个处理其余检查的单独"核心"电路,包括签名验证和年龄谓词,而不是包含 30 个展开块的单一电路。证明密钥只需要描述一个步骤和一个核心,因此无论凭证长度如何都能保持较小。

这里有一个微妙的隐私问题需要解决。凭证长度不同,如果电路大小随凭证变化,就会泄露信息。为了防止这种情况,所有步骤电路共享一个中间摘要的已提交表。核心电路使用私有索引选择适当的摘要。如果证明者选择了错误的条目,发行者的签名检查将失败。

以低成本实现零知识

证明系统需要是零知识的:验证者除了被证明的声明外不应学到任何东西。现有的实现方法通常工程复杂度较高,可能给证明者带来显著开销。我们找到了更简单的方法。

标准的第一步是使用隐藏加密承诺来提交证明者发送的每条消息,这样验证者看到的是承诺而不是值。更难的问题是证明这些隐藏值会通过验证者的检查。我们将这些检查表示为一个小约束系统,只有几百个约束,因为验证者只执行对数数量的操作。然后我们通过 Nova 的折叠方案将这个约束系统与随机实例折叠。这一步隐藏了底层数据,所以零知识开销随着这个小约束系统扩展,而不是完整的秘密数据。

证明一次,多次展示

向一个网站提交凭证的用户可能会再次向另一个网站提交,然后再向另一个网站提交。在 AI 代理代表用户处理许多此类交互的世界中,同一代证可能需要每天提交数十次。凭证本身在这些展示之间不会改变。改变的是会话随机数,即来自验证者的新的随机值,以及可能的日期或谓词阈值。

Vega 利用这种结构,将证明者的私密数据分割成三个部分。_共享_ 数据(SHA-256 表)和 _预提交_ 部分,比如颁发者签名和字段位置,在凭证首次加载时计算并提交一次。_在线_ 部分,比如设备签名和今天的日期,则每次都会重新提交。在每次证明之前,预计算的承诺会用新的随机数刷新,这比重新计算更便宜,并确保关于同一凭证的两个证明无法被关联起来。

避免解析器

Vega 效率的另一个重要部分来自于它如何处理凭证格式。移动驾照以简洁二进制对象表示法(CBOR)编码,构建一个完整的 CBOR 解析器作为电路既复杂又昂贵。但我们意识到实际上并不需要解析器。凭证字节由可信的颁发者签名,所以我们知道它们是格式正确的。我们只需要深入获取特定字段即可。

我们将凭证视为可按字节寻址的查找表。证明者说"设备公钥从字节 847 开始"并提供字节。电路检查三件事:字节确实与已认证的凭证匹配,字段开头出现正确的 CBOR 前缀以便证明者不能声称错误的字段,以及地址是连续的以便证明者不能拼接来自无关位置的字节。这用少量查找替换了一个完整的解析器。

上面描述的相同查找概念驱动了隐藏长度的哈希:电路构建所有中间 SHA-256 摘要的表,并在真实消息结束的位置选择正确的一个。

设备绑定

零知识凭证证明只有在与持有凭证的人绑定时才有用。没有设备绑定,获得泄露凭证的人可以为任何会话生成有效证明。在一个 AI 代理的世界中这变得更加重要:如果代理可以代表用户呈现证明,我们需要密码学保证证明源自用户的设备,而不是来自攻击者或未授权的代理。

Vega 通过要求持有者的设备使用绑定到手机安全元件的设备私钥对新鲜会话随机数进行签名来解决这个问题。电路通过查找从凭证中提取设备公钥,并验证针对会话随机数哈希的设备签名。由于设备私钥永远不会离开安全硬件,仅拥有已签名凭证不足以生成有效证明。

这指向何方

Vega 用 Rust 实现,很快将开源。驱动 Vega 的证明系统已经作为开源 spartan2(在新标签页中打开) 项目在 GitHub 上可用。与 Darya Kaviani 合作的 论文 将在即将到来的旧金山 IEEE 安全与隐私研讨会上发表。

虽然我们专注于移动驾照作为一个具体且及时的应用,特别是考虑到像欧盟数字身份钱包这样的新兴框架,但证明系统和电路技术是通用的。它们适用于任何具有稳定字节编码和数字签名的凭证格式。

我们看到了几个相同原语变得越来越重要的方向。

代理代表人类携带身份。随着自主 AI 代理开始代表人们行动,无论是预订旅行、与服务交互还是签订协议,这些代理都需要证明关于他们所代表人类的事实。例如,"我的委托人超过 18 岁"或"我的委托人是有执照的医生。"代理应该能够在从不持有底层凭证的情况下携带这些证明。在人类设备上生成的零知识证明,通过设备绑定绑定到代理的会话,让代理能够呈现身份信号而不持有秘密。

连接链下身份到链上系统。去中心化系统越来越需要现实世界的身份信号,比如 KYC 合规性、合格投资者状态和司法管辖区检查。今天,这是通过向中心化中介上传文档来处理的,然后中介发布链上证明。用户失去隐私两次:一次是对中介,另一次是在链上,其中证明可能在不同交互间被关联。对链下凭证的 ZKP 可以直接桥接这个:用户从他们的政府颁发凭证中证明一个事实,链上验证者只收到证明。没有中介看到凭证,而重随机化确保重复证明是不可关联的。

随着数字身份要求的扩展和 AI 重塑人类和代理建立信任的方式,隐私保护凭证验证的需求只会增长。我们将 Vega 视为更广泛转变中的一步:从证明关于自己的事实需要放弃身份的世界,转向密码学让你保留身份的世界。

AI 可能会生成不准确的信息,请核实重要内容

Vega: 人工智能时代的数字身份零知识证明 | Microsoft Research Blog | traeai