22、生物识别数据合规:指纹、面部、声纹数据定义、本地处理要求、不可逆加密存储方案

好,咱们今天聊一个很敏感、也很实在的话题——生物识别数据合规。

说实话,我最早接触这块是在一个金融App的项目里。当时产品经理一拍脑袋说「加个刷脸登录吧」,我第一反应是「技术上不难啊」。但等我真正去翻GDPR和《个人信息保护法》的时候,才发现——嗯,这事没那么简单。

你想想看,指纹、人脸、声纹,这些东西跟密码不一样。密码忘了可以重置,但你的脸丢了,能重置吗?不能。所以法律对这类数据的保护要求,是最高级别的。

一、什么是生物识别数据?

先明确一下定义。根据GDPR第4条,生物识别数据是指:

  • 通过特定技术处理得到的、与自然人的身体、生理或行为特征相关的个人数据
  • 能够唯一识别该自然人
  • 典型例子:指纹、面部图像、虹膜、声纹、掌纹、DNA等

我个人习惯把生物识别数据分成两类:

类别 示例 特点
生理特征 指纹、人脸、虹膜 相对稳定,不易变化
行为特征 声纹、步态、击键习惯 可能受情绪、环境影响

我在项目中遇到过最头疼的,其实是声纹。因为用户感冒了声音就变了,识别率下降,用户投诉说「你们App是不是坏了」——但合规上,声纹依然属于敏感生物识别数据,处理要求一点不能降。

二、本地处理要求:为什么必须「本地化」?

说白了,生物识别数据最核心的合规原则就是——能本地处理,绝不传云端

为什么?

  • 一旦上传到服务器,数据就脱离了用户的控制范围
  • 服务器一旦被攻破,生物特征就彻底泄露了
  • GDPR和《个人信息保护法》都要求对敏感个人信息采取「更严格的保护措施」

我自己的经验是,Android平台上实现本地处理,主要靠这几个东西:

  • Android Biometric API:官方提供的生物识别认证接口,数据不出设备
  • Android Keystore System:密钥存储在硬件安全模块(TEE/SE)中
  • BiometricPrompt:统一的人机交互界面,避免开发者自己采集原始生物特征

核心原则:你的App永远不应该直接访问原始指纹图像或人脸照片。你只能通过系统API得到一个「认证成功/失败」的布尔值。

举个例子,如果你用Camera API自己拍用户的脸,然后上传到服务器做比对——嗯,这基本就踩了红线了。我曾经审计过一个第三方SDK,它就是这么干的,我直接写了「不合规,禁止集成」的结论。

三、不可逆加密存储方案

好,那如果某些场景下确实需要存储生物特征模板(比如设备本地存储),怎么存才合规?

答案是:不可逆加密

什么叫不可逆?就是你存了之后,自己也没办法还原出原始的人脸照片或指纹图像。常见的做法是:

  • 使用哈希算法(如SHA-256)对特征向量做摘要
  • 加盐(Salt)防止彩虹表攻击
  • 密钥由TEE(可信执行环境)管理,App拿不到

下面是一个典型的本地存储流程:

// 伪代码示例:不可逆存储生物特征模板
1. 系统API返回特征向量(byte[])
2. 生成随机盐值(16字节以上)
3. 使用PBKDF2或Argon2进行慢哈希
4. 存储:盐值 + 哈希结果
5. 比对时:用同样的盐值重新哈希,比对结果

避坑指南:我曾经见过一个团队直接用MD5加密指纹模板——这基本等于没加密。MD5是设计用来做校验和的,不是用来保护敏感数据的。记住,生物特征泄露了,用户一辈子都换不了。

四、知识体系结构图

下面这张图是我梳理的生物识别数据合规核心逻辑,你可以对照着看:

生物识别数据合规 数据定义 生理特征 vs 行为特征 GDPR第4条 / 个保法第28条 本地处理要求 Biometric API / Keystore 数据不出设备 / TEE安全区 不可逆加密 PBKDF2 / Argon2慢哈希 加盐 + 密钥由TEE管理 核心红线:不采集原始数据、不上传云端、不可逆存储 违反后果:最高营业额5%罚款 / 5000万人民币

五、合规检查清单

最后,我整理了一份自查清单,你在做生物识别功能时逐条核对就行:

  1. 是否明确告知用户? —— 单独弹窗,不能藏在隐私政策里
  2. 是否取得单独同意? —— 不能一揽子同意,必须单独勾选
  3. 是否本地处理? —— 原始数据不出设备
  4. 是否不可逆存储? —— 哈希加盐,密钥由TEE管理
  5. 是否有删除机制? —— 用户撤回同意后,必须能彻底删除
  6. 是否有备用方案? —— 不能强制使用生物识别,必须提供密码/PIN作为替代

特别注意:Android 10及以上版本,系统对生物识别数据的保护已经做得比较完善了。但如果你要兼容低版本,或者使用第三方SDK,一定要仔细审计——我见过太多「本地处理」的SDK,实际上偷偷把特征值传到了自己的服务器上。

嗯,关于生物识别数据合规,核心就是这几点。说白了,技术上不难,难的是你有没有这个意识。每次产品经理说「加个刷脸吧」,我都会反问一句:「你准备好合规文档了吗?」


公众号:蓝海资料掘金营,微信deep3321