【ARM64 ATF 系列 3.1 -- OpenTee】
TEE是智能手机主处理器中的一块安全区域,保证代码和数据的机密性和完整性。TEE中的数据不会被REE中的程序非法访问。TEE 中的可信应用(TA)在隔离的环境中运行,其安全性比手机主操作系统(Rich OS,比如Android)高,并且提供比SE更丰富的功能。TEE的规范由GlobalPlatform组织定义。ARM 中 TrustZone 技术可用于实现TEE。具体可参考ARM官网上对Trust
1.1 TEE 简介
TEE 是智能手机主处理器中的一块安全区域,保证代码和数据的机密性和完整性。TEE
中的数据不会被 REE 中的程序非法访问。TEE 中的可信应用(TA)在隔离的环境中运行,其安全性比手机主操作系统(Rich OS,比如Android)高,并且提供比SE更丰富的功能。TEE的规范由GlobalPlatform组织定义。
The Trusted Execution Environment (TEE) is a secure area of the main
processor of a smart phone (or any connected device including tablets,
set-top boxes and televisions). It guarantees code and data loaded
inside to be protected with respect to confidentiality and integrity.
ARM 中 TrustZone 技术可用于实现 TEE。具体可参考ARM官网上对TrustZone的介绍。OP-TEE 是 ST 和 Linaro 合作开发的 TEE
开源实现。它的前世今生。
1.1.1 OP-TEE的组成
OP-TEE 主要由 3 部分组成:
- optee_client;
- optee_linux driver;
- optee_os。
optee_client: 实现了GP 定义的 ClientAPI 规范,包含了 TEE 客户端库的源代码,提供了TEE的客户端接口。
optee_linuxdriver: 实现了访问TEE的驱动模块。包含了 TEE 客户端库的源代码,提供了TEE的客户端接口。
optee_os: 是 OP-TEE
的核心,实现了一个可信的 OS, 包含了 TEE 操作系统本身的源代码,提供了 TEE 的内部接口。有的公司对应的是 SecureOS
。
tee-supplicant
是 host 端的一个守护程序,用于向 optee
加载或卸载TA
。
tee-supplicant
& 是让 tee-supplican
t程序后台执行。
1.1.2 OP-TEE BUILD
可以参考:
-
第一步: 准备开发环境。
安装开发用的Linux操作系统。 我在Win7 64位上安装了Ubuntu 14.04 LTS 64位的VMWare虚拟机。 -
第二步:安装依赖的工具
先安装repo。由于GFW的原因,无法直接访问Android官网安装repo, 可以百度其他安装方法。不再详述。然后在Ubuntu中启动一个Terminal,执行如下命令,安装依赖的其他工具。
$ sudo apt-get install android-tools-fastboot autoconf bison cscope curl \
flex gdisk libc6:i386 libfdt-dev libglib2.0-dev \
libpixman-1-dev libstdc++6:i386 libz1:i386 netcat \
python-crypto python-serial uuid-dev xz-utils zlib1g-dev
- 第三步:下载OP-TEE源代码
下载源代码的方法很简单,执行如下命令即可。
$ mkdir -p $HOME/devel/optee
$ cd $HOME/devel/optee
$ repo init -u https://github.com/OP-TEE/manifest.git -m default_stable.xml -b master
$ repo sync
- 第四步:获取工具链,即交叉编译器。
$ cd build
$ make -f toolchain.mk toolchains
- 第五步: 编译源码,并启动QEMU模拟器运行OP-TEE。
$ make -f qemu.mk all
$ make -f qemu.mk run-only
更多推荐
所有评论(0)