Touch ID — 由Apple开发的指纹扫描系统,用于验证iPhone、iPad和Mac用户。该技术于2013年在iPhone 5S上首次亮相,成为智能手机中首个大规模生物识别传感器。根据 Apple Security White Paper, 2024,指纹与他人模板意外匹配的概率为1比50,000,传感器本身可以在一个设备上区分多达五个已注册的指纹。
要点
Touch ID — 是一种嵌入在Home按钮(iPhone 5S至iPhone 8/SE)或侧边按钮(iPad Air 4+、iPad mini 6+)中的生物识别传感器。它由蓝宝石玻璃(防刮擦)、电容式传感器阵列和手指检测环组成,触摸时激活扫描仪。
首次启动时,用户注册其指纹 — 传感器从不同角度拍摄多张手指图像,并创建数学模板。据Apple称,扫描仪在皮下水平(皮肤表层下方)读取乳突纹线,这可以防止从表面提取指纹。
Touch ID最多支持五个指纹 — 可以添加双手的手指或家庭成员的指纹。由于360度识别,传感器在任何手指位置都能工作。自2013年推出以来,Touch ID已用于解锁iPhone、确认App Store购买、通过Apple Pay支付以及第三方应用程序中的授权。
电容式指纹扫描仪 Touch ID由放置在硅芯片表面的500点每英寸(ppi)微型电容阵列组成。每个电容测量手指和传感器之间的电容。乳突纹线的脊线(凸起)更靠近传感器,产生更大的电容,而谷线产生较小的电容。
50,000个相邻电容之间的电容差形成分辨率为500 ppi的指纹图像。0.1毫米厚的蓝宝石玻璃保护传感器免受划伤并提供电绝缘。据Apple称,蓝宝石的硬度仅次于钻石 — 这可以防止传感器即使在数百万次触摸后也能磨损。
第二代Touch ID扫描仪(从iPhone 8开始)使用改进的电容阵列,密度更高 — 800 ppi而不是500。这使得扫描速度提高了30%,并提高了对湿或干手指的准确性。新指纹的注册时间从12次触摸减少到8次。
| 参数 | Touch ID 第一代 | Touch ID 第二代 |
|---|---|---|
| 传感器分辨率 | 500 ppi | 800 ppi |
| 注册所需触摸次数 | 12 | 8 |
| 扫描速度 | 0.3秒 | 0.2秒 |
| 设备 | iPhone 5S、6、6S、7 | iPhone 8、SE(2-3代)、iPad |
| 蓝宝石保护 | 是 | 是 |
第一代Touch ID在iPhone 5S中首次亮相,一直使用到iPhone 7。传感器嵌入在机械Home按钮中,分辨率为500 ppi。随着时间的推移,Apple改进了处理算法:iOS 10添加了自适应学习 — 指纹模板在每次扫描时逐渐更新,捕获图案的新部分。
第二代Touch ID随iPhone 8和iPad Pro 2018一起推出。主要变化:更密集的电容阵列(800 ppi),湿手指性能更好,以及与Secure Enclave的新集成 — 第七代SEP使加密操作速度提高了40%。iPhone SE(第2代和第3代)保留了第二代Touch ID,作为喜欢Home按钮的用户对Face ID的替代方案。
在MacBook Pro上,Touch ID作为独立传感器实现,位于Touch Bar键的右侧(或没有Touch Bar的型号上的Touch ID按钮中)。在Mac上使用相同的Secure Enclave T2或M芯片。根据Apple Platform Security,在Mac上,Touch ID为每个用户存储单独的模板,并在启用访客模式时自动关闭。
从iOS 10开始,Touch ID支持自适应学习 — 算法在每次成功验证后逐渐扩展指纹模板。如果用户用手指的不同部分触摸传感器,模板会丰富新的细节特征(脊线分支和终点)。自适应学习在指纹注册后的前两周内将识别准确率提高15-20%。
Secure Enclave — Apple A7-A18和M1-M4芯片中的专用协处理器,将生物识别数据与主操作系统隔离。在注册指纹时,传感器通过安全的外围通道将图像直接发送到Secure Enclave。iOS只收到“模板已保存”的通知或“匹配/不匹配”的比较结果。
指纹的数学模板以加密形式存储在Secure Enclave内部。加密密钥基于芯片唯一标识符(UID)生成,该标识符在生产阶段编程且不可读取。根据Apple Security White Paper,包括iOS在内的任何应用程序都无法访问指纹模板 — API只返回验证成功与否的布尔值。
Touch ID还受到防伪造指纹攻击的保护。电容式传感器测量活体组织的电导率,因此干燥或硅胶指纹复制品不起作用。额外保护:在5次失败尝试后,Touch ID锁定并需要输入密码,在48小时不活动后,设备在生物识别前也会要求输入密码。
尽管可靠性高,Touch ID仍有局限性。扫描仪可能在手指严重污染(油漆、油污、污垢)、皮肤病(湿疹、银屑病)或皮肤过于干燥时无法工作。湿手指是传感器故障的最常见原因,因为水会分流电容器的电容。Apple建议从不同角度注册同一手指的多个指纹,以提高成功读取的可能性。
要通过Apple Pay使用Touch ID付款,用户将手指放在传感器上,同时将iPhone靠近终端。交易由Secure Enclave生成的加密签名确认。卡号和指纹不会传递给卖家 — 使用令牌化。每笔交易都分配有一个唯一代码(令牌),该代码不能重复使用。Apple Pay的Touch ID适用于iPhone 5S及更新机型,以及带有传感器的iPad和Mac。
随着2017年iPhone X的发布,Apple开始从Touch ID过渡到Face ID,但两种技术仍然相关。当面部被口罩遮挡、手机放在桌子上或用户无法看屏幕时,Touch ID很方便。Face ID在正常使用时更快 — 无需触摸按钮,只需看一眼屏幕即可。
Touch ID在多用户支持方面胜出 — 多达5个指纹对比Face ID的一个面部。这对家庭iPad或企业设备来说很方便。然而,Touch ID在基本安全级别上输了(FAR 1:50,000对比Face ID的1:1,000,000)。
LocalAuthentication框架对于Face ID和Touch ID的工作方式相同 — 开发人员无需为不同类型的生物识别编写不同的代码。系统自动检测可用的传感器并显示相应的对话框。下面是一个检查设备上生物识别可用性的示例。
import LocalAuthentication
class BiometricHelper {
static func checkBiometryStatus() {
let context = LAContext()
var error: NSError?
switch context.canEvaluatePolicy(
.deviceOwnerAuthenticationWithBiometrics,
error: &error
) {
case true:
let type = context.biometryType
switch type {
case .touchID:
print("Touch ID 可用")
case .faceID:
print("Face ID 可用")
case .none:
print("生物识别未设置")
@unknown default:
print("未知类型")
}
case false:
print("生物识别不可用: \(error)")
}
}
}
biometryType属性返回可用生物识别传感器的类型:.touchID、.faceID或.none。这是以编程方式确定设备上安装了什么传感器的唯一方法。对于Touch ID,iOS会自动显示带有指纹图标的标准对话框,不需要额外的界面配置。
常见问题
如果皮肤受损(割伤、烧伤、划伤),Touch ID可能无法识别指纹。在这种情况下,手机会要求密码。愈合后,建议重新注册指纹 — 旧模板不会自动更新。iOS在5次失败尝试后会删除生物识别并要求输入密码。
可以,Touch ID在一个设备上最多支持5个指纹。可以添加家庭成员或同事的指纹。但是,所有添加的指纹具有相同的访问级别 — 解锁手机、确认购买和访问应用程序。无法限制特定指纹的权限。
Touch ID的电容式传感器测量手指和电容器之间的电位差。手指上的水会扭曲每个电容器的电容,使乳突纹线图像无法读取。第二代 Touch ID(iPhone 8+)由于传感器阵列更密集,部分改善了湿手指的操作,但问题尚未完全解决。
普通的布质或皮革手套会阻挡手指和电容式传感器之间的电接触,因此Touch ID无法工作。带有导电线的特殊手套(支持电容式触摸)可能有效,但由于电容失真,识别准确率会降低。
指纹在硬件级别受到保护。Secure Enclave用设备的唯一密钥(UID)加密模板,并且没有用于数据提取的API。即使物理提取Secure Enclave芯片并分析数据总线,指纹也无法访问。Apple声明,无论是政府还是公司本身都无法从设备获取指纹。
总结
我们将开发一款交钥匙移动应用程序
IT Sectr自2017年以来为初创企业和企业打造iOS和Android应用程序。我们将为您提供咨询并提出最佳解决方案。