摘要 | 第5-6页 |
ABSTRACT | 第6-7页 |
第一章 绪论 | 第13-21页 |
1.1 课题背景及意义 | 第13-14页 |
1.2 国内外研究现状 | 第14-19页 |
1.2.1 可信操作系统现状 | 第14-16页 |
1.2.2 安全移动支付现状 | 第16-17页 |
1.2.3 面向智能终端的系统安全方案 | 第17-19页 |
1.2.3.1 外接硬件安全模块 | 第18页 |
1.2.3.2 内部硬件安全模块 | 第18页 |
1.2.3.3 软件虚拟化 | 第18-19页 |
1.3 本文主要工作 | 第19-20页 |
1.4 本文结构安排 | 第20-21页 |
第二章 TrustZone技术 | 第21-27页 |
2.1 TrustZone硬件架构 | 第21-24页 |
2.1.1 系统架构 | 第22-23页 |
2.1.1.1 AMBA3 AXI系统总线 | 第22页 |
2.1.1.2 AMBA3 APB总线 | 第22页 |
2.1.1.3 内存别名 | 第22-23页 |
2.1.2 处理器架构 | 第23-24页 |
2.1.2.1 执行环境切换 | 第23-24页 |
2.1.2.2 L1内存的安全 | 第24页 |
2.1.2.3 安全中断 | 第24页 |
2.1.2.4 处理器的安全配置 | 第24页 |
2.2 TrustZone软件架构 | 第24-25页 |
2.2.1 安全软件系统 | 第24-25页 |
2.2.2 系统的安全引导 | 第25页 |
2.3 监视器软件 | 第25-26页 |
2.4 本章小结 | 第26-27页 |
第三章 基于TrustZone的可信操作系统设计 | 第27-35页 |
3.1 为什么选择TEE软件架构 | 第27-28页 |
3.2 基于GlobalPlatform标准的TEE软件架构 | 第28-31页 |
3.2.1 REE与TEE的接 | 第28-29页 |
3.2.2 可信OS组件 | 第29页 |
3.2.3 可信应用程序 | 第29-30页 |
3.2.4 共享内存 | 第30页 |
3.2.5 TEE Client API | 第30页 |
3.2.6 TEE Internal API | 第30-31页 |
3.3 ARM TrustZone软件架构 | 第31-32页 |
3.3.1 什么是TrustZone Software | 第31页 |
3.3.2 基于ARM TrustZone的TEE软件架构 | 第31-32页 |
3.4 基于TrustZone的可信操作系统架构 | 第32-34页 |
3.5 本章小节 | 第34-35页 |
第四章 T-OS的设计与实现 | 第35-56页 |
4.1 T-OS系统设计 | 第35-38页 |
4.1.1 可信应用 | 第36页 |
4.1.2 主任务 | 第36-37页 |
4.1.3 驱动程序 | 第37页 |
4.1.4 必备模块 | 第37-38页 |
4.1.5 扩展模块 | 第38页 |
4.2 内存管理的实现 | 第38-47页 |
4.2.1 分页存储管理 | 第38-42页 |
4.2.2 动态内存管理 | 第42-47页 |
4.2.2.1 方法选择 | 第43页 |
4.2.2.2 边界标识法的原理 | 第43-46页 |
4.2.2.3 边界标识法的实现 | 第46-47页 |
4.3 任务管理的实现 | 第47-53页 |
4.3.1 任务状态 | 第47-48页 |
4.3.2 任务控制块 | 第48-49页 |
4.3.3 任务创建与销毁 | 第49-51页 |
4.3.3.1 任务的创建 | 第49-50页 |
4.3.3.2 任务的销毁 | 第50-51页 |
4.3.4 任务调度 | 第51-53页 |
4.3.4.1 概述 | 第51-52页 |
4.3.4.2 任务调度的实现 | 第52-53页 |
4.4 T-OS的隔离 | 第53-54页 |
4.4.1 内存隔离 | 第53-54页 |
4.4.2 外设隔离 | 第54页 |
4.5 T-OS的尺度掌控 | 第54页 |
4.6 本章小节 | 第54-56页 |
第五章 双操作系统通信的实现 | 第56-74页 |
5.1 通信框架 | 第56-59页 |
5.1.1 通信过程 | 第56-58页 |
5.1.2 通信约定 | 第58-59页 |
5.2 数据类型定义 | 第59-67页 |
5.2.1 TEEC_Result | 第59页 |
5.2.2 TEEC_UUID | 第59-60页 |
5.2.3 TEEC_SharedMemory | 第60页 |
5.2.4 TEEC_TempMemoryReference | 第60-61页 |
5.2.5 TEEC_RegisteredMemoryReference | 第61页 |
5.2.6 TEEC_Value | 第61页 |
5.2.7 TEEC_Parameter | 第61-62页 |
5.2.8 TEEC_Param | 第62-63页 |
5.2.9 TEEC_Operation | 第63页 |
5.2.10 TEEC_Context | 第63页 |
5.2.11 TEEC_Session | 第63-64页 |
5.2.12 OPEN_SESSION_DATA | 第64-65页 |
5.2.13 CLOSE_SESSION_DATA | 第65页 |
5.2.14 INVOKE_SESSION_DATA | 第65-66页 |
5.2.15 TEE_OPERATION_TYPE | 第66页 |
5.2.16 TZ_CMD_DATA | 第66-67页 |
5.3 常量/宏定义 | 第67-68页 |
5.3.1 TEE Client API中的常量 | 第67-68页 |
5.3.2 驱动程序的宏定义 | 第68页 |
5.4 应用层接.的实现 | 第68-71页 |
5.4.1 TEEC_InitializeContext | 第68-69页 |
5.4.2 TEEC_OpenSession | 第69-70页 |
5.4.3 TEEC_CloseSession | 第70页 |
5.4.4 TEEC_Invoke Command | 第70-71页 |
5.5 驱动程序的实现 | 第71-73页 |
5.5.1 切换到监视器函数 | 第71页 |
5.5.2 打开会话接 | 第71-72页 |
5.5.3 关闭会话接 | 第72页 |
5.5.4 调用会话命令接 | 第72-73页 |
5.6 监视器的实现 | 第73页 |
5.7 本章小节 | 第73-74页 |
第六章 可信操作系统的验证--安全支付案例的实现 | 第74-85页 |
6.1 当前PC安全支付方法回顾 | 第74-75页 |
6.2 普通移动支付的潜在危险 | 第75-76页 |
6.3 移动安全支付解决方案 | 第76-78页 |
6.4 移动安全支付实现 | 第78-84页 |
6.4.1 银行服务端的实现 | 第78-79页 |
6.4.2 T-OS端安全支付服务的实现 | 第79-81页 |
6.4.3 Android端在线商店的实现 | 第81-82页 |
6.4.4 安全支付模型Demo展示 | 第82-84页 |
6.5 本章小节 | 第84-85页 |
第七章 系统评估 | 第85-88页 |
7.1 监视器效率 | 第85页 |
7.2 T-OS大小 | 第85-86页 |
7.3 健壮性测试 | 第86-87页 |
7.3.1 双系统通信测试 | 第86页 |
7.3.2 Android稳定性测试 | 第86-87页 |
7.4 本章小节 | 第87-88页 |
第八章 总结与展望 | 第88-89页 |
致谢 | 第89-90页 |
参考文献 | 第90-92页 |
在学期间取得的与学位论文相关的研究成果 | 第92-93页 |