项目简介
本项目是基于OP-TEE框架的TEEP(Trusted Execution Environment Provisioning)协议演示系统,使用Armadillo-IoT Gateway G4作为演示设备,通过TEEP Broker和TEEP Agent的交互,展示TEEP协议在真实设备上的运行情况,以及如何在可信执行环境(TEE)中安全执行任务。
项目的主要特性和功能
- TEEP协议演示:借助TEEP Broker和TEEP Agent的交互,呈现TEEP协议在真实设备上的运行情况。
- 可信执行环境(TEE):运用OP-TEE框架,保障任务在安全环境中执行。
- 多模块支持:集成QCBOR、t_cose和libteep等多个开源库,处理CBOR编码、COSE签名和TEEP协议核心功能。
- 跨平台支持:支持在QEMU模拟器和Armadillo-IoT Gateway G4设备上运行。
安装使用步骤
1. 环境准备
确保安装必要依赖项,如build-essential
、libcap-ng-dev
和libattr1-dev
等。
bash
$ sudo apt install build-essential libcap-ng-dev libattr1-dev
2. 下载项目代码
将teep_armadillo_trial
项目和OP-TEE SDK放在同一目录下。
bash
$ mkdir -p awesomeproject
$ cd awesomeproject
$ cd awesomeproject/optee
$ repo sync
$ cd build
$ make toolchains
$ make QEMU_VIRTFS_ENABLE=y QEMU_USERNET_ENABLE=y CFG_CORE_ASLR=n MBEDTLS_ECDSA_DETERMINISTIC=y
3. 编译项目
进入teep_armadillo_trial
目录,应用补丁并编译项目。
bash
$ cd awesomeproject/teep_armadillo_trial
$ cd libs
$ patch -u -p1 -d . < libs.patch
$ cd ..
$ make -f Makefile.qemu # 或者使用 Makefile.armadillo 编译
4. 运行程序
在OP-TEE的构建目录下运行QEMU模拟器。
bash
$ cd awesomeproject/optee/build
$ make run-only QEMU_VIRTFS_ENABLE=y QEMU_USERNET_ENABLE=y CFG_CORE_ASLR=n MBEDTLS_ECDSA_DETERMINISTIC=y QEMU_VIRTFS_HOST_DIR=$(pwd)/../..
运行后,启动三个终端模拟器,分别用于QEMU、REE(Rich Execution Environment)和TEE(Trusted Execution Environment)。
QEMU终端
在QEMU终端中输入c
命令启动模拟器。
bash
QEMU 7.0.0 monitor - type 'help' for more information
(qemu) c
REE终端
登录REE后,挂载QEMU主机的文件系统并运行TEEP Broker。
bash
Welcome to Buildroot, type root or test to login
buildroot login: root
许可证
本项目采用BSD 2-Clause许可证,详细信息请参阅项目根目录下的LICENSE
文件。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】