Touch ID:它是什么,指纹如何工作

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

Touch ID 是 Apple 的生物识别验证系统,基于通过嵌入 Home 按钮或电源按钮中的容电传感器扫描指纹。该技术于 2013 年首次登场 iPhone 5S,成为移动市场上的第一个大规模生物识别传感器。据 Apple Platform Security (2025)Touch ID 的偶然匹配概率为 0.001% — 50 000 个指纹中只有 1 个。

主要内容

  • Touch ID — Apple 的容电指纹扫描器,嵌入 iPhone、iPad 和 Mac 设备的 Home 按钮或侧边按钮
  • 容电矩阵 以 500 PPI 分辨率根据皮肤崁起和沟壑之间的电势差异读取乳突纹
  • Secure Enclave — 特离的協处理器,加密并存储指纹的数学模板,iOS 无法访问
  • FAR 0.001% — 在日常使用中大约 2% 的 FRR 阈值下,错误识别他人指纹的概率
  • 最多 5 个指纹 可保存在 Secure Enclave 中,用于不同手指或多个用户

什么是 Touch ID?

Touch ID 是 Apple 为 iPhone、iPad 和 Mac 设备上的用户验证而开发的生物识别指纹传感器。该技术基于容电扫描:传感器上的一层薄薄的蓝宝石玻璃保护着一个 500 点容电矩阵,该矩阵可读取乳突纹的最细微细节——细节、气孔和线条方向。

与当时 Android 设备中流行的光学扫描器不同,Touch ID 的容电方法由于手指与传感器直接接触而提供更高的精度。 Home 按钮周围的陶瓷环(detection ring)检测手指触摸并仅在存在活性接触时激活矩阵,避免因意外触碰金属物品而导致的虚假触发。

第一代 Touch ID(iPhone 5S,iPad Air 2)厚度为 170 微米,传感器分辨率为 500 PPI。第二代(iPhone 6S, iPhone SE 第 1 代)将传感器更新为 170 微米矩阵,改善了对湿手指的识别。第三代用于带有键盘 Touch ID 按钮的 MacBook Air 和 MacBook Pro 中,传感器直接连接到 Apple T2 或 Silicon Secure Enclave 芯片。

Touch ID 如何工作?

通过 Touch ID 验证的过程包括两个阶段:注册(enrollment)和验证(verification)。两个阶段均在 Secure Enclave 内执行——这是一个特离的安全協处理器,即使拥有 root 权限,iOS 也无法访问。

指纹注册(Enrollment)

用户从不同角度多次将手指放在 Home 按钮上。容电矩阵以 500 PPI 的分辨率扫描大小为 8×8 毫米的指纹区域。系统从不同倾斜角度收集同一指纹的最多 12 个不同片段,这是为了在手指旋转 360 度时能够识别。每个片段被转换为数学模板,并合并成一个指纹参考模板。

验证(Verification)

当手指触碰时,detection ring 向 Secure Enclave 发送信号,启动扫描。矩阵在 200–300 毫秒内捕获当前指纹,提取细节(乳突线的终止点和分岐点)并与存储的模板进行比较。Secure Enclave 在 50–100 个点上进行比较,计算相似度度量。如果匹配度超过阈值,验证被认为成功。

失败尝试和锁定

3 次失败尝试后,Touch ID 将被锁定 10 秒钟。5 次失败尝试后,将要求输入设备密码,Touch ID 将关闭直到第一次成功输入密码。重启设备或自上次解锁后 48 小时后,Touch ID 也需要密码——这是 Secure Enclave 的硬件要求,无法通过软件方式绕过。

Touch ID 硬件架构

Touch ID 传感器是一个多层结构,每层执行其功能:从机械保护到触摸检测和指纹采集。来自传感器的所有数据通过加密信道直接传输到 Secure Enclave。

材料功能
蓝宝石玻璃合成蓝宝石保护矩阵免受划伤;透过手指的电场
Detection ring不锈钢检测手指触摸并激活传感器
容电矩阵CMOS 传感器 500 PPI读取皮肤崁起和沟壑之间的电容差异
数据总线加密信道不经 OS 访问,直接将数据传输到 Secure Enclave
Secure EnclaveARM TrustZone存储模板、比较并做出验证决定

关键架构决策是 操作系统无法访问原始数据。iOS 既看不到指纹图像,也看不到模板本身。Secure Enclave 仅返回二进制结果:成功或拒绝。这排除了在应用程序或操作系统层面上软件截取生物识别数据的可能性。

Touch ID 与 Face ID 的比较

Touch ID 和 Face ID 是 Apple 的两项归纳的生物识别技术。尽管目标相同(用户验证),但它们在架构、使用场景和安全特性上各有不同。比较有助于开发者理解在设计应用程序验证时应考虑哪些限制。

  • FAR — Touch ID:0.001%(50 000 分之 1),Face ID:0.0001%(1 000 000 分之 1)。Face ID 由于三维扫描而精确 10 倍
  • 速度 — Touch ID 在 200–300 毫秒内响应(简单触碰),Face ID 在 600–1000 毫秒内响应(扫描 + 视线检查)。简单解锁时 Touch ID 更快
  • 耐湿性 — Touch ID 无法用于湿或油腻的手指;Face ID 对脸部湿气不敏感,但在红外摄像头被污染时会出错
  • 多场景 — Touch ID 允许为不同手指或不同用户存储最多 5 个指纹。Face ID 仅支持一张脸加一个替代外观
  • 形态因素 — Touch ID 需要实物按钮或机身上的专用区域;Face ID 需要屏幕的海滩约或动态岛

在 iOS 开发中,两种 API 均可通过单一框架 LocalAuthentication 获得。调用 canEvaluatePolicy(.deviceOwnerAuthenticationWithBiometrics) 将返回生物识别的可用性,而不管其类型如何。这意味着带有生物识别验证的应用程序可以在所有 Apple 设备上正确运行。

Touch ID 和 Secure Enclave 的安全性

Touch ID 的安全架构基于三个原则:硬件特离、与设备的加密绑定以及不存储原始图像。这些原则通过 Secure Enclave 实现——这是一个在其自己的 SEPOS 固件下运行的協处理器。

Secure Enclave 在生产阶段生成唯一的设备标识符(UID),嵌入芯片中,无法通过 JTAG 或探针站读取。指纹模板由源自 UID 的密钥加密,并存储在 Secure Enclave 内部的加密闪存中。每次设备启动时,SEPOS 通过硬件验证器检查固件完整性——如果固件被修改,Secure Enclave 将永久锁定。

Touch ID 符合 FIDO2 的生物识别验证要求,用于 Apple Pay 中的支付授权。PCI DSS 标准承认 Touch ID 是移动支付的可接受验证因子,前提是与设备 PIN 码结合使用形成多因素方案。设备受協时,攻击者无法从 Secure Enclave 中提取指纹模板——数据将在每次通过系统模式的未经授权访问尝试中被销毁。

通过 LocalAuthentication 实现 Touch ID

在 iOS 开发中,Touch ID 集成通过 LocalAuthentication 框架实现——与 Face ID 使用的 API 相同。代码对两种生物识别类型均普适,无需指定特定传感器。系统会自动确定用户设备上可用的生物识别方法。

swift
import LocalAuthentication

func authenticateWithTouchID() {
    let context = LAContext()
    context.localizedReason = "请确认您的身份以访问数据"

    var error: NSError?
    guard context.canEvaluatePolicy(
        .deviceOwnerAuthenticationWithBiometrics,
        error: &error
    ) else {
        // Touch ID 不可用——显示密码输入屏幕
        showPasscodeScreen()
        return
    }

    context.evaluatePolicy(
        .deviceOwnerAuthenticationWithBiometrics,
        localizedReason: "用您的手指触碰 Touch ID"
    ) { success, authError in
        DispatchQueue.main.async {
            if success {
                // Touch ID 已确认
                self.unlockContent()
            } else {
                // 验证错误
                handleError(authError)
            }
        }
    }
}

该代码展示了通过 Touch ID 验证的标准实现。canEvaluatePolicy 方法检查 Secure Enclave 中已注册指纹的存在以及设备上传感器的可用性。如果设备装的是 Face ID 而非 Touch ID,相同的代码将无需修改即可运行——LAContext 将自动选择可用的传感器。三次失败尝试后,硬件锁定将触发,用户必须输入设备密码。

为了将生物识别验证与特定操作(例如,Apple Pay 中的支付签名)进行加密绑定,使用带有 SecAccessControl 参数的 evaluateAccessControl 方法。这种方法将 Touch ID 的结果与 Keychain 中的密钥绑定:成功的验证将解锁对秘密密钥的访问,以执行加密操作。没有成功的指纹扫描,密钥将保持锁定在 Secure Enclave 中,排除了软件绕过生物识别检查的可能性。

Touch ID 使用场景

Touch ID 用于多个关键场景,既在 iOS 系统层面也在第三方应用程序中。每个场景使用单一的 LocalAuthentication API,但对安全策略提出不同的要求——从简单解锁到加密签名的交易授权。

主要场景包括解锁设备、App Store 和 iTunes 中的购买授权、通过 Apple Pay 确认支付、从 iCloud Keychain 自动填写密码以及通过 LocalAuthentication 在第三方应用程序中验证。在每个场景中,Touch ID 作为密码输入的替代品:用户触碰传感器,Secure Enclave 确认身份,然后执行操作无需输入凭证。

在 iOS 14+ 中,出现了额外的 API ASAuthorizationAppleIDRequest,将 Touch ID 与 Apple ID 集成,用于通过 Safari 无密码登录网站。用户触碰 Touch ID,浏览器将从 Secure Enclave 接收加密签名的令牌,服务器可以验证该令牌而无需存储密码。这一机制是 Apple Passkeys 生态系统的基础。

常见问题

Touch ID 可以存储多少个指纹?

Secure Enclave 中最多可以存储 5 个指纹。可以存储同一用户的不同手指(大拇指、食指、中指),或添加家庭成员的指纹以共享设备访问。尝试添加第六个指纹时,系统将建议删除一个现有指纹。每个指纹作为独立的加密模板存储。

Touch ID 可以用于湿手指吗?

第一代 Touch ID(iPhone 5S, iPhone 6)无法用于湿手指——水会产生导电薄膜,干扰容电读取。第二代(iPhone 6S 及更新版本)由于提高了传感器敏感度而改善了对湿手指的识别。为了最佳性能,建议擦干手指。

可以用硅胶指纹欺骗 Touch ID 吗?

理论上可以——从 500 PPI 扫描中获取的高质量硅胶指纹复制品可以通过 Touch ID 验证。但制作这样的复制品需要实验室条件和原始指纹。Secure Enclave 提供额外保护:限制尝试次数,并在 5 次失败后锁定传感器,使自动暴力破解攻击不可行。

在 Touch ID 的上下文中,Secure Enclave 是什么?

Secure Enclave 是 Apple A 系列芯片上的特离協处理器,在 SEPOS 下运行。它拥有自己的固件、单独的数据总线连接传感器以及硬件 AES-256 加密模块。Secure Enclave 存储指纹的数学模板,在验证时进行比较,并仅向 iOS 返回二进制结果:成功或错误。

2026 年哪些设备支持 Touch ID?

2026 年,Touch ID 出现在 iPhone SE(第 3 代)、iPad(第 9 代和第 10 代)、iPad Air(第 4 代和第 5 代)、iPad mini(第 6 代)以及所有配备 Apple Silicon 芯片的 MacBook。旗舰机 iPhone 15 和 16 Pro 仅使用 Face ID。在 Mac 上,Touch ID 按钮位于键盘右上角,直接连接到芯片的 Secure Enclave。

总结

  • Touch ID — Apple 的容电指纹扫描器,精度 FAR 0.001%,响应时间 200–300 毫秒
  • Secure Enclave — 硬件安全模块,将生物识别模板与操作系统和第三方应用程序隔离
  • 500 PPI 容电矩阵通过蓝宝石玻璃基于皮肤崁起和沟壑之间的电势差读取乳突纹
  • 5 个指纹最多可存储在 Secure Enclave 中;每个指纹是来自 12+ 个不同角度片段的组合模板
  • 尝试限制 — 5 次失败尝试将锁定 Touch ID,直到输入设备密码
  • FIDO2 和 Apple Pay使用 Touch ID 作为金融交易的加密确认验证因子
  • LocalAuthentication — 统一的 iOS API,用于处理 Touch ID 和 Face ID,使应用程序代码不受生物识别类型影响

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

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

讨论项目

另请阅读