生物特征认证是一种基于人类独特物理特征验证身份的方法。与密码或 PIN 码不同,生物特征数据不会遗忘,也不会意外泄露给攻击者。根据 Grand View Research, 2024 的数据,全球生物识别技术市场已达到 593 亿美元,并在智能手机和支付系统的大规模应用推动下,以每年 19.5% 的速度持续增长。
要点
生物特征认证 是基于用户独特的生理或行为特征验证用户身份的过程。在移动设备中,该技术用于解锁屏幕、确认支付和访问受保护的应用程序。
生物特征系统由三个组件组成:捕获生物特征样本(指纹、面部、声音)的传感器、提取独特特征的算法以及将样本与存储模板进行匹配的比较模块。根据 NIST 的数据,现代面部识别算法在标准光照下仅 0.08% 的情况下出错。
生物特征方法正在取代传统密码,因为它们与个人绑定,无法在传输过程中被截获。根据 Goode Intelligence 的报告,到 2027 年,超过 80% 的智能手机将配备生物特征传感器。
生物特征识别的重要优势是速度。指纹认证的平均时间为 0.2 秒,面部认证为 0.4 秒。相比之下,输入六位数 PIN 码平均需要 2.5 秒。按每天数十次解锁计算,这可以显著节省时间并减轻用户的认知负担。
生物特征传感器根据 Android CDD 和 Apple App Review 确定的安全级别进行分类。Class 3(Strong)— 最可靠的传感器,通过支付认证。Class 2(Weak)— 用于面部识别的普通摄像头,仅适合屏幕解锁。Class 1 — 仅用于便利,无安全保证。
现代移动设备中使用四种主要类型的生物特征传感器。每种传感器在精度、速度和抗攻击性方面都有其自身特点。传感器的选择 由成本、机身尺寸和特定手机型号的安全要求决定。
这是智能手机中最常见的生物特征传感器类型。Apple 在 Touch ID 中使用的电容式扫描仪分析乳头状纹线脊线和谷线之间的电位差。超声波扫描仪(Qualcomm 3D Sonic)可穿透污垢和保护玻璃,提供 98.6% 的精度。
2D 摄像头使用普通照片,工作速度更快,但安全性较低。3D 系统(Face ID、Huawei 3D Face Unlock)在面部投射 30,000 个红外点并构建精确的深度图。被他人面部意外解锁的概率为 1:1,000,000 — 比 Touch ID 低 20 倍。
虹膜扫描仪使用带有红外照明的摄像头分析虹膜上多达 200 个独特点。该技术曾用于 Samsung Galaxy Note 7–9,但由于使用不便而被 3D 面部识别取代。语音生物特征识别 基于 100 多个声学参数(音色、基频和发音)构建声纹。它用于银行系统中的电话验证。
| 传感器类型 | 精度 (FAR) | 速度 | 成本 |
|---|---|---|---|
| 电容式指纹 | 1:50,000 | 0.2 秒 | 低 |
| 超声波指纹 | 1:100,000 | 0.3 秒 | 中 |
| 3D 面部 (TrueDepth) | 1:1,000,000 | 0.4 秒 | 高 |
| 虹膜扫描仪 | 1:2,000,000 | 0.6 秒 | 高 |
生物特征认证过程分为两个阶段:注册(enrolment)和验证。在注册阶段,传感器拍摄多张生物特征样本图像,算法提取特征并将它们以数学模板的形式存储。模板 不是图像,而是一组无法还原为原始图像的数值向量。
在验证时,新样本与存储的模板进行比较,系统输出结果:匹配或拒绝。基于神经网络的现代算法(Apple A 芯片中的 Neural Engine、Snapdragon 中的 NPU)在 100–400 毫秒内处理此比较。根据 Apple Security Guide,Neural Engine 每秒执行高达 1 万亿次操作,专门用于生物特征计算。
移动生物特征识别的关键特性 — 所有计算均在设备上、在处理器隔离区域内完成。对于 Android,这是 Trusted Execution Environment(TEE),对于 iOS — Secure Enclave。生物特征数据永远不会离开芯片,也不会通过互联网传输。
生物特征识别的安全性 通过硬件隔离和模板的加密保护来保证。Apple A7–A18 处理器中的 Secure Enclave 是一个具有独立固件的单独协处理器,使用每个设备唯一的密钥加密生物特征数据。只有操作系统可以通过安全通道访问 Secure Enclave。
在 Android 设备上,Secure Enclave 的角色由基于 ARM TrustZone 的 Trusted Execution Environment(TEE)承担。TEE 将生物特征计算与主操作系统和应用程序隔离开来。根据 Google Security Blog,Android 12+ 要求所有 Strong 级别的生物特征操作必须使用 TEE。
生物特征传感器也受到保护,防止使用伪造样本进行攻击。指纹传感器检查血流或脉搏的存在,Face ID 的红外摄像头识别活体皮肤纹理,不会对照片、面具或硅胶模型做出反应。活体检测(Liveness detection) — Android Biometric Class 3 认证的强制组件。
生物特征认证比密码方便得多:用户无需记住字符组合,过程只需几分之一秒。速度 是 Apple Pay 和 Google Pay 移动支付系统采用生物特征识别的主要驱动因素。
生物特征识别的主要缺点 — 在泄露情况下无法更改标识符。如果密码可以更改,指纹或面部特征将永远伴随个人。因此,生物特征系统始终以 PIN 码或密码作为备用方法进行补充。
其他风险包括外观变化(疤痕、肿胀、与年龄相关的改变)时精度下降以及强制解锁的法律先例。美国最高法院在 2019 年裁定,警方可以要求通过 Face ID 或 Touch ID 解锁手机,但不能强制输入密码(第五修正案)。
Android 为所有生物特征传感器提供统一的 BiometricPrompt API。以下是使用 Jetpack Biometric Library 进行认证的示例。该库自动检测设备上可用的传感器并调用相应的对话框。
class BiometricAuthActivity : AppCompatActivity() {
private lateinit var biometricPrompt: BiometricPrompt
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_auth)
val executor = ContextCompat.getMainExecutor(this)
val callback = object : BiometricPrompt.AuthenticationCallback() {
override fun onAuthenticationSucceeded(
result: BiometricPrompt.AuthenticationResult
) {
unlockApp()
}
override fun onAuthenticationFailed() {
showError("生物特征未识别")
}
}
biometricPrompt = BiometricPrompt(this, executor, callback)
val promptInfo = BiometricPrompt.PromptInfo.Builder()
.setTitle("确认您的身份")
.setSubtitle("使用指纹或 Face ID")
.setAllowedAuthenticators(
BiometricManager.Authenticators.BIOMETRIC_STRONG
)
.build()
biometricPrompt.authenticate(promptInfo)
}
}
示例中使用 BIOMETRIC_STRONG — 根据 Android 分类的最高安全级别。它仅支持 Class 3 传感器:内置指纹扫描仪和 3D 面部识别。Class 2(BIOMETRIC_WEAK)包括普通摄像头,未通过支付认证。
生物特征识别正在积极发展:新的识别方法正在取代指纹和面部。行为生物特征识别(keystroke dynamics、gait analysis)分析用户的打字风格和步态,无需特殊传感器。该技术已用于银行系统中的欺诈检测。
多模态生物特征识别 — 在一个系统中组合多种方法 — 正在成为高端智能手机的标准。例如,Samsung Galaxy S25 结合了超声波指纹扫描仪和 3D 面部识别,根据光照条件和手部状态选择最佳方法。根据 Goode Intelligence 的数据,多模态生物特征识别市场到 2029 年将增长到 120 亿美元。
常见问题
普通 2D 摄像头可以用高质量照片欺骗,但 3D 传感器(TrueDepth、Intel RealSense)在面部投射红外点并确定深度。照片无法创建 3D 浮雕,因此系统能识别伪造。超声波指纹扫描仪也会检查皮肤表面下的结构。
生物特征模板存储在隔离的硬件模块中 — Secure Enclave(iOS)或 Trusted Execution Environment(Android)。主操作系统的处理器无法直接访问模板。数据使用绑定到特定设备的密钥加密,不通过互联网传输。
Biometric API 自动切换到备用方法 — PIN 码或密码。划伤或烧伤愈合后,可以重新注册指纹。如果面部发生显著变化(创伤、手术),建议删除旧面部模板并通过系统设置创建新模板。
根据 FAR(误接受率)统计,最安全的是 虹膜扫描(1:2,000,000)。第二位是 3D 面部识别(1:1,000,000),第三位是超声波指纹扫描仪(1:100,000)。然而,对于移动设备,3D 面部识别因其非接触性和便利性被认为是最佳选择。
是的,所有大型银行都支持使用生物特征认证进行登录和交易确认。Google Pay 和 Apple Pay 要求每次超限支付进行生物特征认证。中国的银行应用使用基于 Face ID 和指纹扫描仪的生物特征识别进行登录。
总结
我们将开发一款交钥匙移动应用程序
IT Sectr自2017年以来为初创企业和企业打造iOS和Android应用程序。我们将为您提供咨询并提出最佳解决方案。