OP-TEE初探

原文链接:http://blog.csdn.net/lhjncut/article/details/49907453

首先介绍一下TEE,以及它与TrustZone的关系。摘录一段维基百科上对 TEE( https://en.wikipedia.org/wiki/Trusted_execution_environment )的定义: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.

翻译一下,TEE是智能手机主处理器中的一块安全区域,保证代码和数据的机密性和完整性。TEE中的数据不会被REE中的程序非法访问。TEE中的 可信应用(TA)在隔离的环境中运行,其 安全性比手机主操作系统(Rich OS,比如Android)高,并且 提供比SE更丰富的功能。

TEE的规范由GlobalPlatform组织定义。

ARM中TrustZone技术可用于实现TEE。具体可参考ARM官网上对TrustZone的介绍。( http://www.arm.com/zh/products/processors/technologies/trustzone/index.php

OP-TEE是ST和Linaro合作开发的TEE开源实现。它的前世今生参考这篇文章( http://www.linaro.org/blog/core-dump/op-tee-open-source-security-mass-market/)。

OP-TEE主要由3部分组成:optee_client/optee_linuxdriver/optee_os。 optee_client实现了GP定义的ClientAPI规范。optee_linuxdriver实现了访问TEE的驱动模块。optee_os是OP-TEE的核心,实现了一个可信的OS。

现在开始Build OP-TEE。

第一步,准备开发环境。
安装开发用的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
下载过程很漫长,我下了5个小时。

第五步,编译源码,并启动QEMU模拟器运行OP-TEE
$ make -f qemu.mk all
$ make -f qemu.mk run-only

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值