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

搭建环境

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

建议优先使用《一键式CCOS环境部署脚本》。

以下为手工部署详细步骤:

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

部署SEC驱动

  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.1_release
  2. 获取itrustee_tzdriver源码。
    git clone https://gitcode.com/openeuler/itrustee_tzdriver.git -b iTrustee_7.10.1_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_BINDING=y

    麒麟V10和V11、UOS v20 Server操作系统上编译时,需要删掉Makefile中的-fstack-protector-strong栈保护,否则将报如下栈保护错误。

  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 &
  12. 如果使用普通用户执行CA和TA用例,则需要给该用户增加/var/itrustee/teecd目录的读写权限
    sudo setfacl -m u:your_user:rwx /var/itrustee/teecd # your_user替换为您的目标用户
    sudo setfacl -d -m u:your_user:rw /var/itrustee/teecd # your_user 替换为您的目标用户

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

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