作品简介

TrustZone技术是一种提高ARM芯片安全性的技术,OP-TEE是基于ARM的TrustZone技术搭建的可信执行环境。两者的结合可为系统软件提供硬件级别的安全保护。本书主要分为4篇,总计25章,第一篇介绍了TrustZone技术的背景、实现原理、系统基本框架以及OP-TEE开发环境的搭建;第二篇分析了OP-TEE在REE和TEE中各组件的作用和联系,为将OP-TEE集成到基于ARMv7/ARMv8处理器的开发平台打下基础;第三篇详细介绍OP-TEE内核的中断处理、进程管理和通信等主要功能的实现原理,使读者对TEEOS的架构设计有进一步的认识;第四篇介绍基于OP-TEE在加密、解密、安全存储、在线支付等方面的实际应用,以及如何开发基于OP-TEE的可信应用程序和安全驱动软件。本书适合以ARM芯片为核心的手机或嵌入式系统功能与应用开发人员和技术支持人员,以及有志于研究和学习ARM芯片安全技术的大专院校学生。

帅峰云,黄腾,宋洋编著。

作品目录

  • 推荐序
  • 前言
  • 致谢
  • 第一篇 基础技术篇
  • 第1章 可信执行环境
  • 1.1 系统存在的安全问题
  • 1.2 TEE如何保护数据安全
  • 1.3 现有TEE解决方案
  • 1.4 为什么选择OP-TEE
  • 第2章 ARM的TrustZone技术
  • 2.1 TrustZone技术
  • 2.2 ARM安全扩展组件
  • 2.3 TrustZone技术对资源隔离的实现
  • 2.4 小结
  • 第3章 ARM可信固件
  • 3.1 为什么使用ATF
  • 3.2 ATF的主要功能
  • 3.3 ATF与TEE的关系
  • 3.4 小结
  • 第4章 OP-TEE运行环境的搭建及编译
  • 4.1 获取OP-TEE代码并搭建运行环境
  • 4.2 运行CA和TA示例
  • 4.3 OP-TEE源代码结构
  • 4.4 OP-TEE编译
  • 4.5 小结
  • 第二篇 系统集成篇
  • 第5章 QEMU运行OP-TEE的启动过程
  • 5.1 bios.bin的入口函数
  • 5.2 OP-TEE镜像的加载和启动
  • 5.3 Linux内核镜像的加载和启动
  • 5.4 rootfs的挂载
  • 5.5 OP-TEE驱动的启动
  • 5.6 tee_supplicant的启动
  • 5.7 小结
  • 第6章 安全引导功能及ATF的启动过程
  • 6.1 安全引导的作用
  • 6.2 安全引导的原理
  • 6.3 ATF的启动过程
  • 6.4 小结
  • 第7章 OP-TEE OS的启动过程
  • 7.1 OP-TEE镜像启动过程
  • 7.2 ARM64位与ARM32位OP-TEE启动过程的差异
  • 7.3 小结
  • 第8章 OP-TEE在REE侧的上层软件
  • 8.1 OP-TEE的软件框架
  • 8.2 REE侧libteec库提供的接口
  • 8.3 REE侧的守护进程——tee_supplicant
  • 8.4 各种RPC请求的处理
  • 8.5 小结
  • 第9章 REE侧OP-TEE的驱动
  • 9.1 OP-TEE驱动模块的编译保存
  • 9.2 REE侧OP-TEE驱动的加载
  • 9.3 REE侧用户空间对驱动的调用过程
  • 9.4 OP-TEE驱动中重要的结构体变量
  • 9.5 OP-TEE驱动与OP-TEE之间共享内存的注册和分配
  • 9.6 libteec库中的接口在驱动中的实现
  • 9.7 tee_supplicant接口在驱动中的实现
  • 9.8 小结
  • 第三篇 OP-TEE内核篇
  • 第10章 ARM核安全态和非安全态间的切换
  • 10.1 ARMv7基本知识
  • 10.2 Monitor模式下的处理过程
  • 10.3 ARMv8基本知识
  • 10.4 EL3的处理过程
  • 10.5 小结
  • 第11章 OP-TEE对安全监控模式调用的处理
  • 11.1 OP-TEE的线程向量表
  • 11.2 ARMv7中Monitor模式对安全监控模式调用的处理
  • 11.3 ARMv8中EL3处理安全监控模式调用的实现
  • 11.4 OP-TEE对快速安全监控模式调用的处理
  • 11.5 OP-TEE对标准安全监控模式调用的处理
  • 11.6 小结
  • 第12章 OP-TEE对中断的处理
  • 12.1 系统的中断处理
  • 12.2 中断控制器
  • 12.3 异常向量表配置
  • 12.4 OP-TEE的线程向量表
  • 12.5 全局handle变量的初始化
  • 12.6 ARMv7 Monitor对FIQ事件的处理
  • 12.7 ARMv8 EL3阶段对FIQ事件的处理
  • 12.8 OP-TEE对FIQ事件的处理
  • 12.9 OP-TEE对IRQ事件的处理
  • 12.10 小结
  • 第13章 OP-TEE对TA操作的各种实现
  • 13.1 创建会话在OP-TEE中的实现
  • 13.2 调用TA命令操作在OP-TEE中的实现
  • 13.3 关闭会话操作在OP-TEE中的实现
  • 13.4 小结
  • 第14章 OP-TEE的内存和缓存管理
  • 14.1 物理内存和缓存数据的硬件安全保护
  • 14.2 ARM核对内存的访问
  • 14.3 OP-TEE对内存区域的管理
  • 14.4 MMU的初始化和映射页表
  • 14.5 OP-TEE内存安全权限检查
  • 14.6 系统的共享内存
  • 14.7 数据是否需要写入Cache
  • 14.8 小结
  • 第15章 OP-TEE中的线程管理
  • 15.1 OP-TEE中的线程
  • 15.2 线程状态切换
  • 15.3 线程运行时的资源
  • 15.4 线程运行时资源的使用关系
  • 15.5 OP-TEE中线程的调度
  • 15.6 线程的死锁
  • 15.7 小结
  • 第16章 OP-TEE的系统调用
  • 16.1 OP-TEE系统调用的作用
  • 16.2 OP-TEE系统调用的实现
  • 16.3 小结
  • 第17章 OP-TEE的IPC机制
  • 17.1 IPC机制的作用
  • 17.2 IPC机制的原理
  • 17.3 IPC的实现
  • 17.4 小结
  • 第四篇 应用开发篇
  • 第18章 TA镜像的签名和加载
  • 18.1 TA镜像文件的编译和签名
  • 18.2 TA镜像的加载
  • 18.3 TA镜像合法性的验证
  • 18.4 加载TA镜像到OP-TEE的用户空间
  • 18.5 TA运行上下文的初始化
  • 18.6 小结
  • 第19章 OP-TEE中的密码学算法
  • 19.1 算法使用示例
  • 19.2 OP-TEE中的SHA算法
  • 19.3 OP-TEE中的AES算法
  • 19.4 OP-TEE中的RSA算法
  • 19.5 小结
  • 第20章 OP-TEE的安全存储
  • 20.1 安全存储简介
  • 20.2 安全存储使用示例
  • 20.3 安全存储功能使用的密钥
  • 20.4 安全文件、dirf.db文件的数据格式和操作过程
  • 20.5 安全存储文件的创建
  • 20.6 安全文件的打开操作
  • 20.7 安全文件的读写操作
  • 20.8 安全文件中数据的加解密
  • 20.9 小结
  • 第21章 可信应用及客户端应用的开发
  • 21.1 TA及CA的基本概念
  • 21.2 GP标准
  • 21.3 GP标准对TA属性的定义
  • 21.4 GP标准定义的接口
  • 21.5 TA和CA的实现
  • 21.6 TA和CA的集成
  • 21.7 TA和CA的调试
  • 21.8 TA和CA的使用
  • 21.9 小结
  • 第22章 安全驱动的开发
  • 22.1 安全设备的硬件安全隔离
  • 22.2 OP-TEE中安全驱动的框架
  • 22.3 安全驱动的开发过程和示例
  • 22.4 安全驱动示例的测试
  • 22.5 小结
  • 第23章 终端密钥在线下发系统
  • 23.1 密钥在线下发系统的框架
  • 23.2 密钥在线下发的数据包格式
  • 23.3 密钥在线下发系统示例
  • 23.4 离线工具的使用
  • 23.5 小结
  • 第24章 基于OP-TEE的在线支付系统
  • 24.1 在线支付系统的基本框架
  • 24.2 可信通信通道
  • 24.3 数据交互协议
  • 24.4 在线支付系统示例的实现
  • 24.5 示例的集成
  • 24.6 组包操作嵌入内核
  • 24.7 支付系统与生物特征的结合
  • 24.8 小结
  • 第25章 TEE可信应用的使用领域
  • 25.1 在线支付
  • 25.2 数字版权保护
  • 25.3 身份验证
  • 25.4 其他领域
  • 术语表
展开全部