Android 中的生物特征身份验证是否会将任何生物特征数据传输到应用程序?

信息安全 验证 安卓 生物识别
2021-08-23 00:57:28

在我的 Android 手机上,我使用了几个提出生物特征认证的应用程序。如果我启用它,这些应用程序可以读取我的指纹数据并将其传输到第三方服务器吗?

2个回答

不会。生物识别技术永远不会离开硬件支持的密钥库 (TEE)。应用程序使用 android Biometric API对用户进行身份验证。生物特征由硬件支持的密钥库验证,该密钥库通过 API 成功或失败来回答身份验证结果。

由于它是一个系统 API,应用程序隐式信任身份验证结果。为确保验证生物特征的 TEE 不是欺诈性 TEE,您可以使用硬件支持的密钥证明来验证硬件支持的密钥库的合法性。

应用内身份验证通常保护存储在 TEE 中的应用机密。通过内存损坏伪造 API 响应不会暴露秘密,因为 TEE 在用户身份验证成功之前不会释放秘密。

Google 针对供应商的指纹 HIDL实施指南指出:

不得从传感器驱动程序或 TEE 外部访问原始指纹数据或衍生数据(例如模板)。如果硬件支持 TEE,则硬件访问必须限于 TEE 并受 SELinux 策略保护。

所以不,任何应用程序都不应访问您的指纹数据。它仅在受信任的执行环境中存储和处理,从而确保即使对设备进行生根也不会损害生物特征数据。该应用程序将仅与 FingerprintManager API 交互,通过该 API 请求生物特征认证并接收认证是否成功的响应。