提供生物特征识别认证能力,即基于人体固有的生理特征和行为特征来识别用户身份,供第三方应用调用,可应用于设备解锁、支付、应用登录等身份认证场景。
当前生物特征识别能力提供 2D 人脸识别、3D 人脸识别两种人脸识别能力,设备具备哪种识别能力,取决于设备的硬件能力和技术实现。3D 人脸识别技术识别率、防伪能力都优于 2D 人脸识别技术,但具有 3D 人脸能力的设备才可以使用 3D 人脸识别技术。
生物特征识别:通过计算机与光学、声学、生物传感器和生物统计学原理等高科技手段密切结合,利用人体固有的生理特性和行为特征来进行个人身份的鉴定。
人脸识别:基于人的脸部特征信息进行身份识别的一种生物特征识别技术,用摄像机或摄像头采集含有人脸的图像或视频流,并自动在图像中检测和跟踪人脸,进而对检测到的人脸进行脸部识别,通常也叫做人像识别、面部识别、人脸认证。
人脸识别会在摄像头和 TEE之间建立安全通道,人脸图像信息通过安全通道传递到 TEE 中,由于人脸图像信息从 REE侧无法获取,从而避免了恶意软件从 REE 侧进行攻击。对人脸图像采集、特征提取、活体检测、特征比对等处理完全在 TEE 中,基于 TrustZone 进行安全隔离,外部的人脸框架只负责人脸的认证发起和处理认证结果等数据,不涉及人脸数据本身。
人脸特征数据通过 TEE 的安全存储区进行存储,采用高强度的密码算法对人脸特征数据进行加密和完整性保护,外部无法获取到加密人脸特征数据的密钥,保证用户的人脸特征数据不会泄露。本能力采集和存储的人脸特征数据不会在用户未授权的情况下被传出TEE,这意味着,用户未授权时,无论是系统应用还是三方应用都无法获得人脸特征数据,也无法将人脸特征数据传送或备份到任何外部存储介质。
当前生物特征识别支持 2D 人脸识别、3D 人脸识别,可应用于设备解锁、应用登录、支付等身份认证场景。
BiometricAuthentication 类提供了生物认证的相关方法,包括检测认证能力、认证和取消认证等,用户可以通过人脸等生物特征信息进行认证操作。在执行认证前,需要检查设备是否支持该认证能力,具体指认证类型、安全级别和是否本地认证。如果不支持,需要考虑使用其他认证能力。
开发前请完成以下准备工作>
1.在应用配置权限文件中,增加 ohos.permission.ACCESS_BIOMETRIC 的权限声明。
2.在使用生物特征识别认证能力的代码文件中增加 import ohos.biometrics.authentication.BiometricAuthentication。
开发过程:
1.获取 BiometricAuthentication 的单例对象,代码示例如下>
2.检测设备是否具有生物认证能力:
2D 人脸识别建议使用 SECURE_LEVEL_S2,3D 人脸识别建议使用 SECURE_LEVEL_S3。代码示例如下>
3.设置需要关联认证结果的 Signature 对象或 Cipher 对象或 Mac 对象,代码示例如下>
4.在新线程里面执行认证操作,避免阻塞其他操作,代码示例如下>
5.获得认证过程中的提示信息,代码示例如下>
6.认证成功后获取已设置的 Signature 对象或 Cipher 对象或 Mac 对象,代码示例如下>
7.认证过程中取消认证,代码示例如下: