欧盟年龄验证项目强制硬件绑定认证,引发 Linux、开源访问担忧 欧盟的开源[年龄验证项目](https://github.com/eu-digital-identity-wallet)引发了争议。一名维护者确认硬件绑定认证是该项目架构的强制要求这引发了人们对 Linux、自定义 Android ROM 以及独立编译应用程序的担忧。这场争论始于该项目 Android 应用的 GitHub 仓库。一名用户认为将凭证与特定硬件环境绑定会增加支持开源系统的难度。“硬件绑定认证是这个项目的一项要求并非可以随意舍弃的实现细节。”[一名维护者回应道](https://github.com/eu-digital-identity-wallet/av-app-android-wallet-ui/issues/117#issuecomment-4946898620)。该项目欢迎提出替代架构方案并表示很快会发布专门的安全审查和威胁模型。该解决方案能让用户在不透露姓名、确切出生日期或完整身份文件的情况下证明自己已达到一定年龄。为防止凭证被修改后的客户端复制、克隆或重复使用该项目依赖存储在受保护硬件如 Android TEE、StrongBox 或苹果的 Secure Enclave中的密钥。然而批评者认为这种方法使系统依赖少数经批准的设备、操作系统和认证提供商从而危及系统安全。该项目的技术规范要求年龄验证应用在可用时使用原生加密硬件。不过参考实现并未普遍强制要求进行更严格的检查如 root 检测、Google Play Integrity 和苹果 App Attest这些检查可能由个别部署者自行决定。这一区别很重要因为硬件支持的密钥存储不需要服务器批准整个设备、操作系统或应用程序版本。维护者的表述让人们对生产部署的严格程度存在一定的不确定性。此外还有一个单独的治理限制。年龄证明提供商预计只会向欧盟委员会维护的合规应用列表中的应用程序颁发凭证。这意味着发布源代码并不能自动保证社区构建的版本可以使用该实际服务。值得注意的是Linux 并未被明确禁止。桌面 Linux 用户可以访问网站并使用支持的移动钱包扫描二维码。然而当前架构并未提供原生 Linux 钱包其他移动操作系统可能难以满足所需的信任条件。由此可见这场争议远不止涉及单一的 Android 实现。不过目前该项目的立场仍是必须进行硬件绑定。预计进行的安全审查和威胁模型可能会更详细地解释为何做出这样的权衡以及是否有其他信任根源或限制较少的实现方式仍能符合要求。在此之前核心问题仍未得到解决一个由欧盟资助的开源身份系统在现实世界中的访问不仅取决于可用的源代码还取决于经批准的应用程序、支持的安全硬件、可信的操作环境以及凭证提供商的政策时是否还能真正保持开源。