CA应用需要REE侧patch才能实现与TEE侧的TA应用通信,REE侧patch与TEE OS固件包存在版本配套关系,请参考表1。本文以openEuler 20.03 LTS SP1 和最新的TEE OS 1.3.0为例介绍REE侧patch的编译、部署。
TEE OS hpm固件版本 |
itrustee_tzdriver配套代码分支(标签) |
itrustee_client配套代码分支(标签) |
libboundscheck配套代码分支 |
---|---|---|---|
1.1.0 |
v1.0.0(tag点) |
v1.0.0(tag点) |
master |
1.2.0 |
v1.2.0(tag点) |
v1.2.0(tag点) |
master |
1.3.0 |
master |
master |
master |
itrustee_tzdriver和itrustee_client代码仓的master分支始终表示最新版本,历史版本以标签的方式标识。
如果服务器iBMC中“许可证管理”已经显示“SEC特性”已处于开启状态,可跳过本章节;否则请参考以下步骤完成TrustZone许可证导入使能“SEC特性”。
请联系华为一线业务负责人申请TrustZone许可证。获取许可证后,请参考以下步骤完成服务器许可证安装。
安装完毕后,iBMC显示“SEC特性”处于开启状态。
重启服务器,进入BIOS打开TrustZone特性开关,并配置TEE侧安全内存大小。
下载地址:https://gitee.com/openeuler/itrustee_client
代码分支:master
下载地址:https://gitee.com/openeuler/itrustee_tzdriver
代码分支:master
下载地址:https://gitee.com/openeuler/libboundscheck
代码分支:master
1
|
yum install openssl-devel zlib-devel |
若使用其他操作系统,须将YUM改为对应的包管理工具,同时由于不同包管理工具对软件命名的差异,依赖名字也要进行相应的修改。例如,Ubuntu操作系统通过apt-get命令安装依赖:
apt-get -y install zlib1g-dev libssl-dev
1
|
cd itrustee_tzdriver && make |
用户需要根据实际情况,将KDIR修改为实际使用的内核头文件路径。请注意,编译使用的内核头文件版本必须与tzdriver.ko最终运行环境的内核版本保持一致,否则可能会出现因内核版本差异导致tzdriver.ko加载失败的情况。可使用uname -r指令查看当前运行环境的内核版本。
1
|
cd itrustee_client && make |
编译完成后,会生成dist目录,存放生成的可执行二进制和动态库。
1 2 3 |
cp -rf dist/*.so /usr/lib64 && ldconfig cp -rf dist/teecd /usr/bin cp -rf dist/tlogcat /usr/bin |
unzip BoostKit-teeos_1.3.2.SPC5.zip
mkdir -p /var/itrustee/tee_dynamic_drv/crypto/ cp kunpeng_sec_drv.sec /var/itrustee/tee_dynamic_drv/crypto/
1 2 |
cd itrustee_tzdriver/ insmod tzdriver.ko && lsmod | grep tzdriver |
1 2 |
/usr/bin/teecd & ps aux | grep teecd |
teecd必须以绝对路径运行,即“/usr/bin/teecd”。“&”符号表示后台执行。
1
|
tlogcat |
查看当前TEE OS具体版本信息。
tlogcat -v
查看TEE日志存储路径为/var/log/tee
tlogcat -f