开发者
我要评分
获取效率
正确性
完整性
易理解
在线提单
论坛求助

搭建环境

本小节主要介绍如何搭建和配置内生国密的开发与运行环境。

CCOS环境部署脚本请参考https://gitcode.com/openeuler/tee-gp-proxy/tree/master/trustzone-awared-vm/utils/ccos-env-deploy。以下为手工部署详细步骤:

在搭建环境前请参见表2获取BoostKit-boostcc-ccos-1.3.zip,解压zip包后获得hpm固件、kunpeng_sec_drv.sec和sdf-utils*.rpm。

部署hpm包

  1. 登录iBMC,依次单击iBMC管理->固件升级,选择上述压缩包中的hpm文件,单击开始升级。

  2. 升级成功后,点击电源图标对应的下电选项,下电之后等待数秒,图标变灰后,点击上电。

部署SEC驱动

TEE OS 1.3.0版本起,SEC驱动需独立加载。低版本TEE OS可跳过此部分操作。

  1. 在上述压缩包中含有与本版本匹配的SEC驱动,若部署不匹配的SEC驱动,可能影响TEE OS功能。
  2. 部署SEC驱动文件。
    1
    2
    mkdir -p /var/itrustee/tee_dynamic_drv/crypto/
    cp kunpeng_sec_drv.sec /var/itrustee/tee_dynamic_drv/crypto/
    
    • SEC驱动部署路径由itrustee_client的Makefile文件中的DYNAMIC_CRYPTO_DRV_DIR宏指定,如果需要更换部署路径,需重新编译部署teecd。
    • 启动teecd时会默认加载DYNAMIC_CRYPTO_DRV_DIR指定目录下的所有文件,因此尽量不要将其他任何文件放到该目录下。
    • 启动teecd进程时,会自动加载SEC驱动,SEC驱动未成功加载将影响TEE OS功能。因此需要在启动teecd前部署SEC驱动,若先启动了teecd,可关闭teecd,重新部署SEC驱动后,再启动teecd。
    • 当更新TEEOS镜像时,SEC驱动建议同步更新。

环境部署

  1. 获取itrustee_client源码。
    git clone https://gitcode.com/openeuler/itrustee_client.git -b iTrustee_7.10.0_release
  2. 获取itrustee_tzdriver源码。
    git clone https://gitcode.com/openeuler/itrustee_tzdriver.git -b iTrustee_7.10.0_release
  3. 获取libboundscheck源码。
    git clone https://gitcode.com/openeuler/libboundscheck.git
    cd libboundscheck
    git checkout 43f39407
  4. 将libboundscheck源码分别复制到“itrustee_client/”目录和“itrustee_tzdriver/”目录下。
    cd ..
    cp -rf libboundscheck itrustee_client
    cp -rf libboundscheck itrustee_tzdriver
  5. 安装编译依赖。
    yum install openssl-devel zlib-devel kernel-devel-$(uname -r) 
  6. 编译itrustee_tzdriver。
    cd itrustee_tzdriver && make CPU_GROUP_BINDING=y
  7. 在编译tzdriver后,将tzdriver.ko复制到指定目录。
    mkdir -p "/lib/modules/$(uname -r)/kernel/drivers/trustzone/"
    cp tzdriver.ko /lib/modules/$(uname -r)/kernel/drivers/trustzone
  8. 编译itrustee_client。
    cd ../itrustee_client
    make
    make install
  9. 安装sdf-utils。
    rpm -ivh sdf-utils*.rpm
  10. 加载tzdriver.ko。
    insmod /lib/modules/$(uname -r)/kernel/drivers/trustzone/tzdriver.ko
  11. 运行teecd进程。
    nohup /usr/bin/teecd &

1. 搭建环境过程中的安全管理可参见《TrustZone套件特性指南》安全管理章节。

2. 每次重启服务器后,需要执行上述步骤10和步骤11运行相应组件。