欧盟数字身份钱包(EUDI Wallet)的一则 GitHub 议题,最近把“年龄验证”这件看似简单的小事,重新拉回到隐私与监控的老战场。9 月 1 日,开发者 rmayr 在 eu-digital-identity-wallet/av-doc-technical-specification 仓库提交 Issue #26,要求规范明确补上几条安全和隐私限制:认证提供方不能塞入可追踪字段,签发后不能保留用户与凭证的关联,依赖方在会话结束后也不应继续存储年龄证明。

这不是吹毛求疵的文字游戏。我对这件事的判断很直接:如果这些限制不被写进规范,所谓“年龄验证”就很容易从“只判断是否成年”,滑向“谁在何时访问了什么服务”的行为记录系统。真正关键的,不是系统能不能验年龄,而是它能不能在验完之后什么都不留下。

争议点不在算法,而在规范有没有把边界写死

Issue #26 指向的是规范第 4.3 和第 4.4 节。提出者的核心意见有三条:一是年龄证明(Proof of Age attestation)里不应包含任何会破坏不可关联性的附加数据;二是在零知识证明(ZKP)还不是强制项的情况下,认证提供方(AP)不应在签发后继续保存“哪个用户拿到了哪份证明”的绑定关系;三是网站或平台这类依赖方(RP)也不应在会话结束后继续保存年龄证明。

这三条建议看上去像补丁,实质上是在追问一个更大的问题:EUDI Wallet 的年龄验证,到底是“最少披露”的身份基础设施,还是“披着隐私外衣的身份分发系统”。原帖里甚至点到一个尴尬现实:只要 ZKP 展示还不是强制要求,AP 泄露数据、并与 RP 串联识别用户的风险就一直存在。技术上能做到隐私友好,不代表部署时一定会这么做。

欧洲最怕的事,是把合规口号做成可追踪基础设施

这个争议之所以重要,是因为欧盟这几年在数字身份上一直强调两条线并行:一条是更强的线上身份能力,另一条是更严格的数据保护。2024 年,欧盟新版 eIDAS 2.0 正式生效,EUDI Wallet 被定位为成员国未来的数字身份基础设施。按政策叙事,它应该让公民在跨境场景中更方便地证明“我是谁”或“我满足某个条件”,同时尽量少暴露额外信息。

问题恰恰出在“尽量”二字。历史上,很多身份系统都是在原则上承诺数据最小化,最后却因为审计、风控、反滥用、运营便利等理由,把日志、标识符、会话记录一层层留了下来。英国 2023 年《Online Safety Act》推动年龄校验时,就引发过类似争论:平台口头上说只看年龄,隐私组织担心的却是“年龄证明”最后与访问记录绑定。美国一些成人网站在州级年龄验证法压力下,干脆退出市场或阻断访问,原因也不是验不过,而是合规成本和隐私风险都太高。

这里有一个单看原帖不容易意识到的限制:欧盟项目的技术规范往往要给成员国、供应商、证件发行方留下实现空间。好处是兼容现实系统,坏处是如果约束写得不够死,最保守、最方便审计的实现方案,往往就是“多存一点”。工程里,默认留存通常比默认删除更常见。

同样是年龄验证,不同路线的隐私后果差很多

rmayr 在帖中提到,真正的修复办法是把零知识证明展示做成强制要求,路线可以是 BBS 类选择性披露方案,或基于 mdoc 的新型 ZKP 方案。这一点说到了行业分水岭:不是所有“年龄验证”都一样,架构不同,后果差别很大。

路线平台能看到什么追踪风险落地难度
传统身份证/证件上传全量身份信息,常伴随生日、姓名、照片
第三方年龄校验服务至少能看到请求关系和部分身份元数据中高
选择性披露凭证只看到“已成年”等结果和必要证明中高
零知识年龄证明理论上只看到结论,不暴露身份或可关联标识

对普通用户,这不是学术差别,而是日常使用的代价差别。你去访问一个受年龄限制的网站,最理想的状态是对方只知道“你成年了”;糟糕的状态则是认证方知道你申请了证明,网站保存了证明,双方还能把记录拼起来。前者是权限判断,后者接近行为画像。

如果你是开发者或服务提供商,接下来最现实的变化也很具体:

  • 接入方会更关心凭证能否“会后即焚”
  • 法务会追问日志保存是否违反 GDPR 最小化原则
  • 钱包和认证服务商要在审计需求与不可关联性之间做取舍
  • 若 ZKP 被强制,产品上线周期和实现成本都会上升

现在最缺的不是口号,而是可执行的删除义务

这起讨论下面,后续评论里已经出现更激烈的批评,直接把问题上升到《欧盟基本权利宪章》第 7 条和第 8 条:隐私权与个人数据保护权。虽然评论措辞带有明显情绪,但它反映出的担忧很真实——数字身份项目一旦允许建立“谁下载、谁使用、谁访问过什么”的注册表,公众对它的敌意会急剧上升。

我的判断是,这个 Issue 眼下不算行业爆炸性新闻,也不会单凭一个帖子就改写 EUDI Wallet 的路线;不重要的地方在于,它还只是公开仓库中的一条改进建议,不是正式采纳决定。重要的地方在于,它精确击中了欧洲数字身份项目最脆弱的一环:不是加密算法不够先进,而是制度承诺能否落实成默认不留痕、默认不可串联、默认最少披露的产品行为。

接下来最该盯的,不是宣传材料里会不会继续写“privacy by design”,而是规范文本里会不会出现更硬的措辞,比如 SHALL NOT store、SHALL NOT include、mandatory ZKP。对这类系统来说,真正保护用户的,往往不是愿景,而是那几个不容讨价还价的动词。