打开TrustZone功能
TrustZone采用硬件隔离资源的方式来确保TEE环境的安全。在功能使能的情况下,TEE环境资源在系统启动时即刻被通过安全的方法设定,并且这部分资源将在服务器上电生命周期内一直为TEE环境独占,对REE不可见也不可访问。
用户创建安全计算应用需要预打开TrustZone特性,iTrustee基于TrustZone技术实现了整套安全解决方案,包含正常模式的客户端应用(Client Application,CA)、安全模式的可信应用(Trusted Application,TA)、安全模式下的可信操作系统。首先需要部署TA和CA应用开发环境。
搭建TA和CA应用开发环境
环境要求:
- 需要TA应用开发者证书以及config二进制文件。TA开发者证书作为TA身份的唯一标识,包含TA uuid和TA应用名称,config二进制文件用于管控TA在TEE中可用资源信息。详细操作步骤请参见调测环境TA应用开发者证书申请。
- TA/CA应用开发环境对硬件、系统版本无特殊要求,只需要基于iTrustee SDK套件开发TA/CA应用即可。请在以下表中获取相关软件包。
此处以iTrustee SDK中的itrustee_sdk-1.0版本和rsa-demo代码为例介绍TA和CA编译环境部署,操作系统版本为openEuler 20.03 LTS SP1。
- 获取iTrustee SDK开发套件。
- 编译rsa-demo应用。
详细操作步骤请参见《Kunpeng BoostKit机密计算TrustZone套件 特性指南》中的搭建TA和CA应用开发环境。
搭建TA和CA应用运行环境
| 项目 | 版本 | 
|---|---|
| 服务器 | 鲲鹏服务器 | 
| 主板 | 鲲鹏主板 | 
| iBMC | 1711单板(型号BC82SMMAB),固件版本不低于3.01.12.49 | 
| BIOS | 固件版本不低于1.83 | 
| TEE OS | 固件版本不低于1.1.0 | 
| CPU | 鲲鹏920处理器(型号7260、5250、5220) | 
| 机箱 | 不限,建议8盘或12盘 | 
| 软件包名称 | 版本(分支)要求 | 软件包说明 | 获取方法 | 
|---|---|---|---|
| itrustee_tzdriver | master | iTrustee REE侧patch包源码。 | |
| itrustee_client | master | iTrustee REE侧patch包源码。 | |
| libboundscheck | master | 边界检查函数库。 | |
| BoostKit-2280_2280Pro-S920S03_teeos_1.4.0.zip | 1.4.0 | TEE OS hpm固件包,适用于鲲鹏服务器、 鲲鹏主板S920S03机型升级。 | 华为企业网网站下载: | 
| BoostKit-2480Pro_teeos_1.4.0.zip | 1.4.0 | TEE OS hpm固件包,适用于鲲鹏服务器机型。 | 华为企业网网站下载: | 
CA应用需要REE侧patch才能实现与TEE侧的TA应用通信,REE侧patch与TEE OS固件包存在版本配套关系,请参考表4。此处以openEuler 20.03 LTS SP1和最新的TEE OS 1.4.0为例介绍REE侧patch的编译、部署。
| TEE OS hpm固件版本 | itrustee_tzdriver配套代码tag | itrustee_client配套代码tag | libboundscheck配套代码分支 | 
|---|---|---|---|
| 1.1.0<=version<=1.2.0 | v1.0.0 | v1.0.0 | master | 
| 1.2.0 | v1.2.0 | v1.2.0 | master | 
| 1.3.0<=version<=1.4.0 | v1.3.0 | v1.3.0 | master | 
| 1.4.0 | master | master | master | 
- (可选)安装TrustZone License。
- 配置BIOS。
- 获取iTrustee patch包。
- (可选)部署SEC驱动。
- 加载REE侧模块。
- 检查TrustZone环境。
详细操作步骤请参见《Kunpeng BoostKit机密计算TrustZone套件 特性指南》中的搭建TA和CA应用运行环境。
加载TA和CA应用,编译rsa-demo应用生成的CA和TA应用。详细操作步骤请参见《Kunpeng BoostKit机密计算TrustZone套件 特性指南》中的加载TA和CA应用。
