android 13 指纹整理

android 13 指纹整理

术语

缩略语 英文全名 中文解释
TEE Trusted Execution Environment 可信执行环境,存在于主 CPU 中的一块安 全运行环境。
CA Client Application 客户端应用,通常指运行在 REE 的应用
TA Trusted Application 可信应用,通常指运行在 TEE 环境的应 用
REE Rich Execution Environment 富执行环境,普通 Android 运行环境,与 TEE 相对应
HAL Hardware Abstract Layer 硬件抽象层
RPMB Replay Protected Memory Block (重放保护内存块) 的简称,是eMMC中的一个具有安全特性的分区
HIDL HAL interface definition language 是用于指定 HAL 和其用户之间的接口的一种接口描述语言 (IDL)
AIDL The Android Interface Definition Language 是一种让用户抽象出 IPC 的工具。给定一个接口(在.aidl文件中指定),各种构建系统使用aidl二进制文件来构建 C++ 或 Java 绑定,以便该接口可以跨进程使用,而不管那里的运行时或位数如何

指纹初始化过程

  1. 指纹 CA 程序,由 TEE 加载并执行
  2. android.hardware.biometrics.fingerprint@2.1-service 加载指纹 HAL 库,初始化,提供服务
  3. kernel 加载硬件驱动,如:goodix_fp 一般驱动非常简单,采用 SPI 或 I2C 连接到指纹模块,注册硬件中断号,和 input 事件,如 wakeup 系统,提供 ioctl 接口,供指纹 HAL 库控制硬件
  4. 指纹录入、识别时的原始数据信息,由 TEE 存储在 RPMB 加密分区中,对安卓系统不可见,即使有 system 、root 权限。

指纹移值适配

  1. kernel 驱动添加
  2. kernel 配置 设备树文件
  3. 将 HAL 库打包到系统中
  4. 添加厂家 硬件初始化服务到 rc 文件(也可能没有)
  5. 添加配置 selinux 规则
  6. 测试

屏下指纹

Udfps (Under display finger print scanner) 代表屏下指纹扫描仪

以前指纹传感器采用独立外置元器件,如:背部指纹、侧键指纹、HOME 键指纹。三星 AMOLED 屏幕做的比较薄,可以采用屏下指纹方案。在屏幕的下面放置一个超声波或光线的指纹传感器。

http://aospxref.com/android-13.0.0_r3/xref/frameworks/base/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsController.java

在 systemUI中添加了 UdfpsController.java 的实现,功能就是控制在屏幕上显示一个指纹的图标,可以向 android.hardware.biometrics.fingerprint@2.1-service 发送指纹按下、抬起的动作。

posted @ 2023-10-10 20:57  宁次  阅读(162)  评论(0编辑  收藏  举报