Vox Trust
v0.6.0 · 文件模式可用 · 未经审计

Vox Trust

不去检测伪造的声音,而是证明真实的声音。

一个开放协议及其 Rust 参考实现:在源头为人声签章,让任何人日后都能验证。

问题所在

如今只需几秒钟的录音就能克隆一个人的声音。我们的耳朵已经分不出真假,而检测工具总是在追赶一个不断移动的目标:检测越进步,生成也越进步。

证明真实,而不是猜测伪造

Vox Trust 不问“这段声音是假的吗?”,而是问“真实的声音有没有被签章?”

  1. 签章。说话者的设备在源头为音频加上带数字签名的签章。
  2. 携带。签章可以藏在可插拔的音频水印中,以便在重新编码后仍能留存。第一个实验性载体已经实现,并已公开实测:它能经受 MP3、AAC 和 Opus,但无法经受电话通话编解码器和噪声。
  3. 验证。任何使用该协议的人都可以查看是哪把密钥、在何时为音频签章,以及哪几秒被改动过。
  4. 判定。本地信任策略会把结果归为四种裁决之一。

四种裁决

已验证

来自你所信任密钥的有效签章。

未签章

没有签章,对方可能从未用过该协议。这是中性结果,不等于“伪造”。

警告

对方通常会签章,这次却没有。请谨慎对待,并请对方重新发送。

警报

签章已损坏;或签章所用密钥与你为该联系人保存的不一致;或在严格模式下,始终签章的联系人这次没有签章。

以上为策略裁决的示意。在线演示在你的浏览器中运行真实的 Rust 核心,不会上传任何内容。

横向对比

别人给伪造的声音打标记,Vox Trust 为真实的声音签章。

Google、Meta、Microsoft 和 Resemble 给自家 AI 生成的音频打标记。深度伪造检测器估计声音是否为合成。Vox Trust 让说话者为自己的声音签章,任何人都能用普通的密码学方法核验。

Vox TrustGoogle SynthIDMeta AudioSeal深度伪造检测器C2PA
为真人录音作保是否标记 AI 输出否标记 AI 输出估计若应用签名
证明与说话者本人的密钥绑定是否否否是
指出被改动的秒数是否部分否否仅整个文件
任何人都能离线验证是浏览器内否需 Google 检测器是否是
规范与代码开放是否音频未开放代码否规范
经受 MP3、AAC、Opus实验性实测 100 %官方声称实测不适用否元数据被剥离
经受电话通话尚不能11 %未公布否实测 0 %是否
验证成本毫秒级无需 AI 模型云服务神经网络云服务毫秒级

“实测”指在我们的公开基准测试中以相同语料和编解码器运行;“官方声称”指厂商公布的数据。深度伪造检测器:例如 Pindrop Pulse。每个单元格的来源见对比说明(英文)。

完整对比(英文) →

集成到你的应用

Vox Trust 是一个开放协议,设计为嵌入人们已在使用的应用:即时通讯、语音信箱、播客与新闻编辑工具、客服平台。发送时加封,接收时验证。核心为 93 KB、无依赖的 WebAssembly,可在浏览器或 Node 中运行,也提供 Rust crate。

npm install vox-trust
cargo add vox-trust-core

import { load } from "vox-trust";
const vt = await load();
const sealed = vt.seal(wav, {
  mode: "public", key: seed, createdUnix, chunkFrames: 16000,
});
const report = vt.verify(sealed, { pinnedPublicKey });
vt.decide(report.check, contact); // "verified" | "unsealed" | "warning" | "alert"

集成指南(英文)约需 10 分钟,并附 Node、浏览器和 Rust 示例。Apache-2.0,无需调用任何服务,无需账号。

另有:pip install vox-trust(Python)、随每个 release 附带的 Android 与 iOS 库、适用于 Chrome、Firefox 和 Safari 的浏览器扩展,以及供 AI 助手验证录音的 MCP 服务器。

它不是什么

  • 它不是深度伪造检测,也不是声纹识别。
  • 它不能证明说话者是真人,或确是其自称的那个人;它只证明某把密钥为这段音频签了章。密钥被盗,同样会产生有效签章。
  • “未签章”不等于“伪造”:压缩和降噪都可能抹掉水印。
  • 它无法防范控制了发送方设备的人。

完整的攻击者与局限清单见威胁模型(英文)。

目前进展

  • 规范(0.2 版:文件模式为候选发布版,音频内部分为实验性)与威胁模型,欢迎批评指正。
  • Rust 参考实现,包含文件模式(在 WAV 文件内嵌入按分段签名的清单)、信任策略、命令行工具和 WebAssembly 构建。测试向量已公开,并由同一作者编写的 Python 实现交叉验证。
  • 一个真正能完成验证的在线演示。签章过的文件只在逐比特一致的副本中有效;验证结论目前只来自文件模式。
  • 未经审计。目前没有独立评审,请勿用它来保护任何人。
  • 实测结果:实验性水印(stdm-2)在 MP3、AAC、Opus 24 和 32 kbit/s 以及 G.722 中都能保留签章(100%),MP3 再转为 Opus 转发后为 98%,速度变化 1% 时为 84%,且没有误报;但在电话通话(AMR-WB)、强噪声和回声下仍会失效。音频内的签章可以被复制到其他音频中,因此目前不给出验证结论。完整结果(英文)。

参见路线图(英文)。

站在已有工作的肩上,与之并肩

Vox Trust 的定位是补充这些工作,而不是取代它们:

  • C2PA 内容凭证,它已经把水印用作“软绑定”。
  • AudioSeal、WavMark 等音频水印,可以充当载体。
  • 公钥语音溯源方面的研究,例如 MerkleSpeech。

请帮我们找漏洞

现在最有价值的是审视:阅读威胁模型,找出我们漏掉的攻击者,或复现一项测量。欢迎在 GitHub 上提交 issue。安全漏洞请按安全政策的说明私下报告。