生物识别认证:它是什么、类型及工作原理

作者: IT Sectr 发布日期: 2026-04-04 阅读时间: 8 分钟

生物识别认证是一种基于独特生理特征验证用户身份的方法。与密码不同,生物识别数据无法远程窃取或通过暴力破解猜到。根据Statista(2025)的数据,超过80%的现代智能手机配备内置生物识别传感器

要点

  • 生物识别认证——基于独特物理特征进行识别的方法:指纹、面部、声音或虹膜
  • BiometricPrompt——用于与设备上任何生物识别传感器工作的统一Android API
  • False Acceptance Rate(FAR)现代指纹扫描仪的超声波传感器低于0.001%
  • Secure Enclave——Apple的硬件模块,将生物识别模板与操作系统隔离
  • 多因素认证将生物识别与PIN码或加密密钥结合以实现最大保护

什么是生物识别认证?

生物识别认证是根据用户独特的生理或行为特征验证其身份的过程。与传统方法(密码、PIN码或一次性令牌)不同,生物识别与个人本身相关联,无法转移给他人。

该方法的基础是测量生物识别特征并与预先存储的模板进行比较。该技术从昂贵的企业系统发展到消费设备的广泛应用。第一款配备指纹扫描仪的大众智能手机是2011年的Motorola Atrix 4G,如今生物识别传感器已安装从100美元起的价位设备中。

生物识别解决了密码认证的关键问题:人类记忆。根据Hypr(2024)的研究,普通用户拥有超过100个在线账户,但只使用5个唯一密码。生物识别消除了记住复杂组合的需要。

生物识别认证如何工作?

生物识别认证过程包括两个阶段:注册(enrollment)和验证(verification)。在注册阶段,系统捕获生物识别图像,提取特征特征并创建参考模板。在验证时,新图像与存储的模板进行比较——算法计算匹配程度并做出决定。

生物识别图像捕获

设备传感器记录原始生物识别信号:通过电容矩阵的指纹图像,通过点投影仪的三维面部地图,或通过麦克风的声音频谱。捕获质量直接影响后续识别的准确性。现代传感器为指纹每毫米使用50到300个测量点,为面部使用多达30,000个点。

特征提取和模板创建

算法从原始数据中提取独特特征:指纹——细节特征(脊线的末端和分叉),面部——眼睛之间的距离、鼻子形状和下颌轮廓。这些特征被转换为2至20KB的数学模板。原始图像不保存——仅保存特征模板,无法从中重建原始图像。

匹配和决策

系统将获得的模板与参考模板进行比较,计算相似度指标。如果值超过设定的阈值(threshold),则认证被视为成功。阈值决定了便利性和安全性之间的平衡:低阈值增加错误接受率(FAR),高阈值增加错误拒绝率(FRR)。对于移动设备,典型阈值设置在FAR 0.001%的水平,FRR约为2%。

生物识别认证的类型

移动设备支持几种类型的生物识别传感器,它们在准确性、速度和防伪性方面有所不同。每种类型都有其应用领域和安全级别。

指纹扫描仪

移动设备中最常见的生物识别类型。电容式扫描仪根据皮肤脊线和谷之间的电位差创建脊状图案图像。首次在Galaxy S10中应用的超声波扫描仪使用声波进行指纹的三维重建——即使在湿手指时也能工作,并且抗硅胶仿制品。

面部识别

两种方法:2D摄像头(简单前置摄像头)和3D扫描(结构光或ToF)。Apple Face ID向用户面部投射超过30,000个红外点,创建精确的三维地图。Neural Engine上的算法在毫秒内处理数据,并适应外观变化——胡须、眼镜、发型。

虹膜扫描仪

眼睛的虹膜是最稳定的生物识别特征之一:几乎不随年龄变化,也不像指纹那样容易受损。三星的虹膜扫描仪(Galaxy S8–S10)使用红外摄像头分析多达240个独特虹膜特征。此类系统的FAR低于0.0001%,但捕获速度低于面部扫描仪。

语音识别

语音生物识别分析声道物理特征:基频、共振峰和音色。该技术应用于语音助手——Siri和Google Assistant——中识别特定用户。主要缺点是环境噪音敏感性和攻击者录制语音的可能性。

在Android中实现生物识别认证

从Android 9(API 28)开始,Google提供统一的BiometricPrompt API,它抽象了与设备上所有类型生物识别传感器的工作。开发人员无需为指纹扫描仪和面部识别编写单独代码——BiometricPrompt自动检测可用传感器并显示标准对话框。

kotlin
val executor = ContextCompat.mainExecutor(context)
val biometricPrompt = BiometricPrompt(activity, executor,
    object : BiometricPrompt.AuthenticationCallback() {
        override fun onAuthenticationSucceeded(
            result: BiometricPrompt.AuthenticationResult
        ) {
            // 访问已授权——可以显示内容
            binding.showContent()
        }

        override fun onAuthenticationFailed() {
            // 生物识别未识别——通知用户
            binding.showError("指纹未识别")
        }

        override fun onAuthenticationError(
            errorCode: Int,
            errString: CharSequence
        ) {
            // 不可恢复的错误——生物识别不可用
            binding.showFallback()
        }
    }
)

val promptInfo = BiometricPrompt.PromptInfo.Builder()
    .setTitle("登录应用程序")
    .setSubtitle("通过指纹确认您的身份")
    .setNegativeButtonText("使用PIN")
    .build()

biometricPrompt.authenticate(promptInfo)

所示代码演示了通过BiometricPrompt进行生物识别认证的完整周期。onAuthenticationSucceeded回调在Trusted Execution Environment中成功验证模板后被调用。在没有生物识别传感器的设备上,BiometricPrompt将自动显示PIN码或图案输入屏幕——开发人员无需单独处理此场景。

重要的安全要求:所有生物识别操作必须在TEE(Trusted Execution Environment)端执行——处理器的硬件隔离区域。Android BiometricPrompt通过BiometricManager.Authenticators.BIOMETRIC_STRONG提供程序保证使用TEE,该提供程序无法从用户空间替换。

生物识别的优缺点

生物识别认证相比密码具有显著优势,但也有开发人员在设计应用程序安全性时必须考虑的基本限制。

  • 速度——指纹识别需要200–400毫秒,Face ID约1秒,比输入8个以上字符的密码快得多
  • 便利性——用户无需记住和输入凭证;触摸或注视屏幕时认证在无意识中完成
  • 不可分割性——生物识别特征始终与用户同在;与令牌或智能卡不同,不会忘在家里或丢失
  • 泄露时的不可逆性——生物识别模板泄露时无法更改,与密码不同;这是生物识别的关键缺点
  • 误识别——FAR虽然低但不为零;3D面部系统的FAR约为0.0001%,意味着每百万次尝试有1次错误识别

关键限制——生物识别不是意图的证据。用户可能被迫在物理或压力下解锁设备。因此,银行级应用的监管机构(PSD2、PCI DSS)要求多因素认证,其中生物识别只是因素之一。

生物识别数据的安全性

生物识别模板的安全性由硬件保护机制保证:iOS中的Secure Enclave和Android中的Trusted Execution Environment(TEE)。这些隔离的协处理器执行生物识别数据的捕获、处理和比较操作,主处理器和操作系统无法访问。

关键安全原则——不保存原始图像。传感器仅将特征的数学表示传递给TEE,而非指纹图像或面部照片。在Android 13+中,BiometricPrompt API额外使用TEE内生成的加密密钥对认证结果进行加密。这种方法使得从服务器窃取生物识别数据库变得无用——攻击者只获得加密的模板,而非原始数据。

国际标准ISO/IEC 24745:2022FIDO2规定了生物识别的存储要求:禁止存储原始图像,模板必须不可逆转换,传感器和比较模块之间的数据传输通道必须硬件保护。在开发移动应用时,建议使用FIDO2 WebAuthn——一种保证生物识别交易端到端加密的协议。

常见问题

用简单的话来说什么是生物识别认证?

这是通过身体独特特征进入设备或应用:指纹、面部、声音或虹膜。用户无需输入密码,只需将手指放在扫描仪上或看向摄像头——系统识别并解锁访问。

智能手机中使用哪些类型的生物识别?

主要类型:电容式和超声波指纹扫描仪、3D面部识别(Face ID、Windows Hello)、虹膜扫描仪和用于语音助手的语音生物识别。在廉价设备中也通过前置摄像头实现2D面部识别。

Face ID与指纹扫描仪有何不同?

Face ID使用带有30,000个红外点的面部三维地图,使其对照片和面具具有抵抗力。指纹扫描仪分析脊状图案。Face ID的FAR约为0.0001%,Touch ID约为0.001%。Face ID在非接触场景中更方便,但慢约0.5秒。

能否欺骗生物识别保护?

可以,但难度取决于传感器类型。简单的2D面部扫描仪可以用照片欺骗。超声波指纹扫描仪和Face ID通过硬件手段防止仿制品和面具。绕过3D传感器需要昂贵的硅胶复制品,这使得此类攻击对普通用户在经济上不可行。

生物识别数据存储在设备的什么位置?

在iPhone上存储在Secure Enclave中,在Android上存储在TEE(Trusted Execution Environment)中——硬件隔离的处理器,主操作系统和应用无法访问。原始图像不保存,只保存2–20KB的数学特征模板,无法从中重建原始指纹或面部。

总结

  • 生物识别认证——基于生理特征的识别方法,消除了密码保护的缺点
  • BiometricPrompt——通用Android API,为所有类型生物识别传感器提供统一接口
  • 超声波扫描仪的FAR低于0.001%,Face ID约为0.0001%(FRR阈值2%)
  • Secure Enclave和TEE——将生物识别模板与操作系统和应用隔离的硬件机制
  • ISO/IEC 24745——规范原始图像不保存和数据通道硬件保护的国际标准
  • 多因素认证对银行级应用是强制性的:生物识别本身不是意图的证据
  • 泄露时的不可逆性——生物识别的主要缺点:模板泄露时,与密码不同,指纹无法更改

我们将开发一款交钥匙移动应用程序

IT Sectr自2017年以来为初创企业和企业打造iOS和Android应用程序。我们将为您提供咨询并提出最佳解决方案。

讨论项目

另请阅读