在不透露身份的情况下证明你已满18岁:大科技公司不使用的密码学
Source: Dev.to
工程化的“是/否”而非“谁/哪里”
传统的人脸比对
在人脸比对的世界里——这是 CaraComp 所使用的核心技术——标准输出通常是基于欧氏距离分析得到的相似度分数。两个面部特征被映射到高维向量空间,然后计算它们之间的距离。在传统的验证流程中,这个向量(即嵌入)是高度敏感的生物特征数据。对其进行存储会形成生物特征的“蜜罐”。
隐私保护的年龄检查
近期的隐私保护年龄检查方案提出了一种新的架构模式:边缘上的零知识证明(ZKPs)。不再把图像或向量发送到服务器,而是把计算机视觉模型的输出作为算术电路的输入。
对开发者而言,这意味着典型的 POST /verify 接口——通常返回包含大量个人可识别信息(PII)的 JSON 对象——可以被一种工作流取代:服务器仅收到一个在计算上不可能被逆向工程为面部特征或出生日期的证明。
新的工作流
- 客户端的 CV 模型执行欧氏距离分析。
- 将结果输入 ZK‑SNARK(Zero‑Knowledge Succinct Non‑Interactive Argument of Knowledge)。
- 服务器收到检查通过的证明,而从未看到原始生物特征数据。
比对 vs. 识别
新闻评论常常把人脸比对和人脸识别混为一谈,但对开发者来说,两者的区别体现在数据库架构上:
- 人脸识别 需要对图库进行 1:N 搜索,计算成本高且侵犯隐私。
- 人脸比对(1:1)才是验证所需的方式。
通过将范围限定在比对并叠加 ZKP,便可以消除“老大哥”基础设施的需求。市场上对企业级欧氏分析的需求日益增长,且希望在不牺牲安全性的前提下保持可负担的价格(例如 $29 /月)。
性能挑战
在移动硬件上实现这些算术电路而不导致性能下降,是社区面临的关键挑战。如何在重量级的 OpenCV/TensorFlow 处理流程与严格的密码学证明生成需求之间架起桥梁,至关重要。
未来考虑
在构建这些工具时,我们必须自问:我们是在构建一道大门,还是一个追踪器? 如果一个验证栈需要存储面部特征以证明用户已满 18 岁,那么它并不是年龄检查——而是监控节点。
生物特征工程的未来不仅仅是追求更高的准确率;更在于 属性证明而不泄露数据。在设计验证流程时,思考你是更看重用户画像的完整性,还是主动迈向 零数据架构。