首页 > 其他分享 >android 13 指纹整理

android 13 指纹整理

时间:2023-10-10 21:14:57浏览次数:54  
标签:13 HAL TEE 接口 硬件 指纹 android

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. [email protected] 加载指纹 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 的实现,功能就是控制在屏幕上显示一个指纹的图标,可以向 [email protected] 发送指纹按下、抬起的动作。

标签:13,HAL,TEE,接口,硬件,指纹,android
From: https://www.cnblogs.com/ningci/p/17755738.html

相关文章

  • SQLAlchemy学习-13.分页查询'Query' object has no attribute 'paginate'
    前言用过Flask-SQLAlchemy的应该知道,它提供了一个分页查询方法paginate(),方便我们实现在后端查询分页。但是单独使用SQLAlchemy却没有paginate方法,会报错:AttributeError:'Query'objecthasnoattribute'paginate'SQLAlchemy没有paginate方法Flask-SQLAlchemy分页查询参......
  • 13-io扩展技术与存储器映射扩展
    IO扩展技术与存储器映射扩展io扩展方式代码如下:#include<REGX52.H>voidDelay_ms(unsignedintxms){ unsignedinti,j; for(i=0;i<xms;i++){ for(j=0;j<299;j++); }}void_74HC138(unsignedcharn){ switch(n){ case4: P2=(P2&0x1f......
  • 【Android面试】2023最新面试专题六:Java并发编程(一)
    1、假如只有一个cpu,单核,多线程还有用吗?详细讲解享学课堂移动互联网系统课程:架构师筑基必备技能《线程与进程的理论知识入门1》这道题想考察什么?是否了解并发相关的理论知识考察的知识点cpu多线程的基本概念操作系统的调度任务机制CPU密集型和IO密集型理论考生应该如何回答CPU的执......
  • CSP模拟51联测13 B.狗
    CSP模拟51联测13B.狗目录CSP模拟51联测13B.狗题目大意题目描述输入格式输出格式样例样例1inputoutput思路题目大意题目描述小G养了很多狗。小G一共有\(n\timesn\)条狗,在一个矩阵上。小G想让狗狗交朋友,一条狗狗最多只能交一个朋友,不必所有狗狗都有朋友。但是狗狗交朋友......
  • 不都说金九银十嘛?为什么招聘软件上的Android岗位都变少了?
    前言刷知乎刷到了这样的一个话题,在北京裸辞三个多月都没有找到合适的工作,紧接着各种压力接踵而至,压的喘不过气,各种招聘网站看了个遍没有几个符合要求的工作,七八月没周都能约到两个到三个面试,到了九月感觉会好一点因为都说是金九银十,感觉自己机会要来了,结果九月更惨网站上的工作还没......
  • LY1376 [ 20231008 NOIP 模拟赛 T0 ] 递增路径
    题意\(A\),\(B\)两人轮流在一张图上移动一个点。要求这次移动的边权必须大于上次的。\(A\)希望游戏进行的轮数多,\(B\)希望游戏进行的轮数少。对于每个\(s=1,2,...,n\)作为起点,若双方都采用最优策略,游戏会进行多少轮。Sol考虑将所有边按照从大到小的顺序排序。每......
  • [arc135f] Delete 1, 4, 7, ...
    F-Delete1,4,7,...设\(f(i)\)表示第一次操作后,第\(i\)个位置的数,那么\(f(i)=\lfloor\frac{3i+1}2\rfloor\)那么\(k\)次操作后,第\(i\)个位置上的数就是:\[f(f(...f(f(i))...))=f^k(i)\]设\(cnt_k\)表示\(k\)次操作后剩下的数的个数,那么显然有:\(cnt_i=\lfloor\frac{cnt_......
  • Android 多个选项的弹出框的简单实现
    在布局页面添加一个fab按钮(fab_user_Add),可以简单的Button按钮就可以<cc.trity.floatingactionbutton.FloatingActionButtonandroid:id="@+id/fab_user_add"android:layout_width="50dp"android:layout_height="50dp&quo......
  • 洛谷P3300 [SDOI2013] 城市规划 题解
    [SDOI2013]城市规划题意:给你一个\(6\timesn\)的网格题,单点修改,询问区间联通块数,\(n\le10^5\)。解:看起来就很显然的一道题......线段树每个点用一个ufs维护连通性;我为了方便思考把图转成横着的了。写起来真是毒瘤......重点在于:\(\bullet\)1、建立叶节点。\(\bull......
  • Flutter module集成到Android原生项目报错
    使用AAR方案集成遇到两个诡异错误环境:Flutter(Channelstable,3.3.10,onmacOS13.5.222G91darwin-x64,localezh-Hans-CN)AndroidStudio(version2022.3)Androidtoolchain-developforAndroiddevices(AndroidSDKversion34.0.0)参考文档en参考文档zh......