本文档用于指纹厂商 trusty TEE 方案指纹功能开发. REE方案图
REE方案
相对 REE 方案更改点: 1、需要开发 CA、TA,算法、SPI、模板保存读取都在 TA 内部。
2、REE 侧指纹驱动只负责电源和中断
4. 设备驱动 由于 Trusty/LK 不支持统一的设备驱动框架,一般对设备驱动的实现无特别要求。但在指纹驱动的开发中,需注意在驱动程序中注册操作接口给用户空间使用。目前 Trusty 支持 ioctl, read, write 3 类操作。(目前这部分没有开放,sdk 只能用于开发 TA)
6.3. 打包 指纹 ta 需要合入到 tos bin 中,需要使用打包工具把指纹 ta 打包到 tos bin 中,步骤: 1、 使用 tool 删除 tos 中带的默认指纹 ta
2、 把指纹厂商提供的指纹 ta 打包进去
详细操作说明如下: 9832a 使用指纹 patch 中的 tos.bin ,9850k 及其他平台使用 IDH 中的 tos.bin ,因为展讯发布的 tos 中已经默认包含一个指纹 ta 了,需要先把默认的指纹 ta 删除,再打包指 纹厂商提供的指纹 ta,使用打包工具(mktosimg),命令如下:
mktosimg [-h] --tos TOS [-l|-d] -u UUID --ta TA -o OUTPUT
[TOS] The orignal tos image
[TA] TA elf image(used in --ta without -l and without -d)
[OUTPUT] The new tos image with TA packed
[UUID] UUID of the TA to delete(used with -d action)
Action: -l list all TAs in the TOS bin
-d delete the TA (indicated by -u UUID) from the TOS, and save changed img to the OUTPUT
6.5. CA(Client Application) CA 主要包含两个文件,cademo_ipc.c 和 cademo.cpp cademo_ipc 实现了 IPC 部分代码,包括 trusty_cademo_call、trusty_cademo_connect、trusty_cademo_disconnect 单个函数供 cademo 调用,写自己的 ca 需要修改 cademo_ipc.h 中几个定义,其中 tademo_message 只需要改下名字,结构体本身不需要修改。 注意:CA TA 之间多次 IPC 通讯,每次 IPC 通讯,ca 接收和发送的 buffer 每次都需要重新 malloc,不能多次 IPC 使用同一个 buffer,否则可能会导致通讯失败。
文件下载,请回复 |