搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
文献来源:
出版时间 :
手机安全和可信应用开发指南:TrustZone与OP-TEE技术详解
0.00     定价 ¥ 79.00
图书来源: 浙江图书馆(由JD配书)
此书还可采购21本,持证读者免费借回家
  • 配送范围:
    浙江省内
  • ISBN:
    9787111609568
  • 作      者:
    帅峰云 黄腾 宋洋
  • 出 版 社 :
    机械工业出版社
  • 出版日期:
    2018-10-01
收藏
编辑推荐
本书作为国内本专门介绍手机安全核心技术-TrustZone和TEE的参考书,由几位业内技术专家倾力合作撰写。本书结合OP-TEE开源项目介绍ARM的TrustZone技术的具体实现,揭示了移动终端安全系统中神秘部分的技术原理和应用实现,并提供直观的示例,方便读者边学边练、上手实践。
展开
内容介绍
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的可信应用程序和安全驱动软件。
展开
精彩书评

万物互联与人工智能时代,安全变得越来越关键。TEE提供了自底向上的,由点及面的安全能力。TEE也从一个新兴的安全技术逐渐转变成一个得到广泛认可与普及的通用安全技术。在TEE高速发展的几年时间涌现了许多优秀的开源TEE项目,其中OP-TEE无疑是其中的佼佼者。本书以OP-TEE为例,较为全面的介绍TEE的相关技术原理与实践经验,是一本难得的TEE入门级书籍,感谢作者的付出和坚持。

                                   ---- 孟庆洋(原北京豆荚科技有限公司 CEO&CTO)

 

随着移动互联网的发展,移动终端已变成互联网金融、内容分发的重要载体,在于黑产不断对抗升级的过程中,TrustZone技术已担当起移动终端重要安全堡垒的角色。OP-TEE则是一款经典的开源trustos。本书从TrustZone架构开始引出,结合着对OP-TEE的深入浅出的详细分析,可以让读者快速的对TrustZone有一个非常 清晰的理解。该书比较适合初、中级安全从业者阅读。

                                         ----黄冕(互联网金融身份认证联盟副秘书长)

 

信息安全是现代社会的所有参与者必须考虑和解决的问题。作为信息终端的提供方和使用者,信息安全的保护尤为重要。Linaro为此提供了完全开源开放的安全运行环境OP-TEE。本书从理论到实践系统地阐述了OP-TEE技术和应用,从硬件到软件全面介绍了TrustZone和TEE整个安全体系。无论对于手机安全应用的开发者,还是嵌入式安全系统的研制者都是极好的参考。感谢作者为大家奉献一本专业技术参考书

                                                                           -----王子亮 (Linaro大中华区技术总监)

 

现行的移动终端设备及IOT设备越来越多的需要引入TEE来加强安全能力,从而保障支付、指纹、人脸识别等用户私有数据的私密性和安全性。本书是一部带你进入TEE的入门级书籍,如果你目前正要开展TEE相关的研究或工作,它可以一步步的带你熟悉并理解开源OP-TEE项目的实现机制及应用方法,为你现在的安全项目带来实际有意义的参考。

                                        -----尉鲁飞 (阿里云飞天七十九部 安全专家)


展开
目录
推荐序
前言
致谢
第一篇 基础技术篇
第1章 可信执行环境 2
1.1 系统存在的安全问题 2
1.2 TEE如何保护数据安全 2
1.3 现有TEE解决方案 3
1.3.1 智能手机领域的TEE 4
1.3.2 智能电视领域的TEE 4
1.3.3 IoT领域及其他领域的TEE 5
1.4 为什么选择OP-TEE 5
第2章 ARM的TrustZone技术
2.1 TrustZone技术 6
2.1.1 片上系统硬件框架 6
2.1.2 ARMv7架构的TrustZone技术 7
2.1.3 ARMv8架构的TrustZone技术 8
2.2 ARM安全扩展组件 8
2.2.1 AXI总线上安全状态位的扩展 9
2.2.2 AXI-to-APB桥的作用 9
2.2.3 TrustZone地址空间控制组件 9
2.2.4 TrustZone内存适配器组件 10
2.2.5 TrustZone保护控制器组件 11
2.2.6 TrustZone中断控制器组件 12
2.2.7 Cache和MMU的扩展 12
2.3 TrustZone技术对资源隔离的实现 13
2.3.1 中断源的隔离 13
2.3.2 片上RAM和片上ROM的隔离 13
2.3.3 片外DRAM的隔离 13
2.3.4 外围设备的隔离 14
2.4 小结 14
第3章 ARM可信固件 15
3.1 为什么使用ATF 15
3.2 ATF的主要功能 15
3.3 ATF与TEE的关系 15
3.4 小结 16
第4章 OP-TEE运行环境的搭建及编译 17
4.1 获取OP-TEE代码并搭建运行环境 17
4.1.1 OP-TEE开发环境的搭建 17
4.1.2 获取OP-TEE的源代码 17
4.1.3 获取编译OP-TEE的toolchain 18
4.1.4 编译QEMU 19
4.1.5 运行OP-TEE 19
4.1.6 运行xtest和optee_example_hello_world 19
4.2 运行CA和TA示例 19
4.2.1 示例代码的获取和集成 20
4.2.2 目录和文件创建 21
4.2.3 CA端代码的修改 22
4.2.4 TA端代码的修改 22
4.2.5 TA和CA在OP-TEE的集成 22
4.3 OP-TEE源代码结构 24
4.4 OP-TEE编译 25
4.4.1 编译目标的依赖关系 25
4.4.2 bios.bin镜像的生成过程 27
4.4.3 run-only目标的执行 28
4.5 小结 32
第二篇 系统集成篇
第5章 QEMU运行OP-TEE的启动过程 34
5.1 bios.bin的入口函数 34
5.2 OP-TEE镜像的加载和启动 36
5.3 Linux内核镜像的加载和启动 37
5.4 rootfs的挂载 38
5.5 OP-TEE驱动的启动 38
5.6 tee_supplicant的启动 39
5.7 小结 39
第6章 安全引导功能及ATF的启动过程 40
6.1 安全引导的作用 40
6.2 安全引导的原理 40
6.2.1 ARMv7安全引导的过程 41
6.2.2 ARMv8安全引导的过程 42
6.3 ATF的启动过程 43
6.3.1 ATF中bl1的启动 44
6.3.2 ATF中bl2的启动 49
6.3.3 ATF中bl31的启动 54
6.3.4 ATF中bl32的启动 57
6.3.5 ATF启动过程小结 59
6.4 小结 59
第7章 OP-TEE OS的启动过程 60
7.1 OP-TEE镜像启动过程 60
7.1.1 OP-TEE OS的入口函数 60
7.1.2 OP-TEE的内核初始化过程 60
7.1.3 OP-TEE服务项的启动 67
7.1.4 OP-TEE驱动的挂载 69
7.2 ARM64位与ARM32位OP-TEE启动过程的差异 69
7.3 小结 71
第8章 OP-TEE在REE侧的上层软件 72
8.1 OP-TEE的软件框架 72
8.2 REE侧libteec库提供的接口 73
8.2.1 libteec库提供的接口说明 73
8.2.2 CA调用libteec库中接口的流程 84
8.3 REE侧的守护进程—tee_supplicant 84
8.3.1 tee_supplicant编译生成和自启动 84
8.3.2 tee_supplicant入口函数 85
8.3.3 tee_supplicant存放RPC请求的结构体 87
8.3.4 tee_supplicant中的无限循环 87
8.3.5 tee_supplicant获取TA的RPC请求 89
8.3.6 TA RPC请求的解析 89
8.3.7 RPC请求的处理 90
8.3.8 回复RPC请求 90
8.4 各种RPC请求的处理 91
8.4.1 加载TA镜像 91
8.4.2 操作REE侧的文件系统 92
8.4.3 操作RPMB 93
8.4.4 分配共享内存 93
8.4.5 释放共享内存 94
8.4.6 记录程序执行效率 95
8.4.7 网络套接字操作 97
8.5 小结 97
第9章 REE侧OP-TEE的驱动 98
9.1 OP-TEE驱动模块的编译保存 98
9.2 REE侧OP-TEE驱动的加载 99
9.2.1 设备号和class的初始化 100
9.2.2 optee_driver_init函数 101
9.2.3 挂载驱动的probe操作 101
9.2.4 获取切换到Monitor模式或EL3的接口 103
9.2.5 驱动版本和API版本校验 105
9.2.6 判定OP-TEE是否预留共享内存空间 106
9.2.7 配置驱动与OP-TEE之间的共享内存 106
9.2.8 分配和设置tee0和teepriv0的设备信息结构体变量 109
9.2.9 tee0和teepriv0设备的注册 111
9.2.10 请求队列的初始化 112
9.2.11 使能TEE中共享内存的缓存 112
9.2.12 OP-TEE驱动挂载的总结 113
9.3 REE侧用户空间对驱动的调用过程 113
9.4 OP-TEE驱动中重要的结构体变量 114
9.4.1 OP-TEE驱动的file_operation结构体变量tee_fops 114
9.4.2 tee0设备的tee_driver_ops结构体变量optee_ops 114
9.4.3 teepriv0设备的操作结构体变量optee_supp_ops 115
9.4.4 共享驱动缓存操作变量tee_shm_dma_buf_ops 115
9.5 OP-TEE驱动与OP-TEE之间共享内存的注册和分配 116
9.6 libteec库中的接口在驱动中的实现 117
9
展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

请选择您读者所在的图书馆

选择图书馆
浙江图书馆
点击获取验证码
登录
没有读者证?在线办证