tee-gp-proxy部署指南在openEuler和麒麟系统上的完整安装流程【免费下载链接】tee-gp-proxyThis project aims to provide an implementation for RPC invoking TEE to facilitate the use of Kunpeng confidential computing in cloud scennarios.项目地址: https://gitcode.com/openeuler/tee-gp-proxy前往项目官网免费下载https://ar.openeuler.org/ar/tee-gp-proxy是openEuler社区推出的关键组件旨在通过RPC调用方式实现REE侧CA对TrustZone的访问特别适用于鲲鹏机密计算场景。本指南将带您快速完成在openEuler和麒麟系统上的部署流程让您轻松开启机密计算之旅。一、项目简介什么是tee-gp-proxytee-gp-proxy项目提供了两种核心解决方案满足不同场景下的机密计算需求1.1 机密计算资源池方案通过在Host上部署基于Socket的Proxy支持多个远程客户端VM或容器共享TEE资源池。客户端可像本地访问一样使用TEE能力适合集成化部署TEE机密计算节点。图1tee-gp-proxy机密计算资源池架构图展示了跨节点TEE资源共享的实现方式1.2 TrustZone感知的机密VM方案该方案让Guest OS能够直接感知Host硬件的TEE能力通过内存映射和拷贝方式实现高效通讯同时确保VM及其应用的安全隔离。图2TrustZone感知的机密VM架构图展示了虚拟机环境下TEE资源访问的实现二、环境准备部署前的必要配置2.1 系统要求操作系统openEuler 22.03 或 麒麟V10 SP3架构aarch64鲲鹏处理器依赖软件libvirt 和 qemu虚拟化支持cmake 3.5.1编译工具grpc 和 protobufRPC通信支持开发工具链gcc, g等2.2 基础依赖安装在openEuler系统上执行以下命令安装必要依赖# 安装基础编译工具 yum install -y gcc g cmake make # 安装虚拟化相关组件 yum install -y qemu qemu-img qemu-kvm libvirt virt-install # 安装grpc和protobuf依赖 yum install -y grpc-devel protobuf-devel protobuf-compiler对于麒麟系统可使用相同命令安装大部分依赖部分包名可能需要调整。三、快速部署使用自动化部署脚本项目提供了便捷的自动化部署脚本支持Host和VM两种部署模式适用于openEuler和麒麟系统。3.1 获取项目源码git clone https://gitcode.com/openeuler/tee-gp-proxy cd tee-gp-proxy3.2 运行部署脚本# 进入部署脚本目录 cd trustzone-awared-vm/utils/ccos-env-deploy # 查看帮助信息 ./deploy.sh -h # 执行默认部署推荐 ./deploy.sh # 自定义部署示例指定工作目录和服务器型号 ./deploy.sh -w /opt/ccos-deploy -m 920v200部署脚本会自动检测系统环境Host或VM并根据配置文件deploy.conf完成以下操作安装依赖软件包克隆必要的代码仓库编译内核模块和用户态组件配置系统服务和环境变量四、手动部署分步编译与配置如果您需要更灵活的部署方式可以按照以下步骤手动编译和配置。4.1 编译gpproxy服务端# 进入gpproxy目录 cd cc-resource-pooling/teeproxy/gpproxy # 创建构建目录 mkdir build cd build # 生成Makefile cmake .. # 编译 make -j4 # 安装 make install安装完成后gpproxy可执行文件将被安装到系统目录配置文件和证书默认位于~/.gpp/目录下。4.2 编译teecc客户端库# 进入teecc目录 cd cc-resource-pooling/teeproxy/libteecc # 创建构建目录 mkdir build cd build # 生成Makefile cmake .. # 编译 make -j4 # 安装 make installteecc库文件将安装到系统库目录头文件位于/usr/include/teecc/配置文件默认位于~/.teecc/目录。4.3 配置文件修改gpproxy配置~/.gpp/gpproxy_config.yamlGPPROXY_ADDRESS: [::]:50051 NAME_SERVER_KEY: server_key.pem NAME_SERVER_CERT: server_crt.pem NAME_CLIENTCA_CERT: ca_crt.pem GRPC_TLS: 1 FORCE_VALIDATE_JWT: 1teecc配置~/.teecc/teecc_config.yamlGPPROXY_ADDRESS: gpserver.org:50051 NAME_SERVERCA_CERT: ca_crt.pem NAME_CLIENT_KEY: client_key.pem NAME_CLIENT_CERT: client_crt.pem GRPC_TLS: 1五、麒麟系统特殊配置5.1 制作麒麟系统镜像如果需要在麒麟系统上部署虚拟机环境可按照以下步骤制作镜像准备麒麟ISO文件放置于/root目录创建镜像文件qemu-img create -f qcow2 /root/kylin-v10-sp3-arm64.qcow2 40G创建并安装虚拟机virt-install --name kylin-xc --ram 4096 --vcpus 4 --os-typelinux \ --disk path/root/kylin-v10-sp3-arm64.qcow2,formatqcow2,devicedisk,busvirtio \ --network networkdefault,modelvirtio \ --cdrom /root/Kylin-Server-V10-SP3-General-Release-2303-ARM64.iso \ --graphics vnc,listen0.0.0.0,port7890通过VNC完成系统安装设置网络和用户信息图3麒麟系统VNC安装界面通过MobaXterm连接进行图形化安装5.2 配置网络安装完成后进入虚拟机修改网络配置# 编辑网络配置文件 vi /etc/sysconfig/network-scripts/ifcfg-enp1s0 # 将ONBOOT设置为yes ONBOOTyes # 重启网络服务 service network restart图4麒麟系统网络配置界面修改ONBOOT参数启用网络六、验证部署确保系统正常运行6.1 检查服务状态# 检查gpproxy服务 systemctl status gpproxy # 检查vtzb_proxy服务VM模式 systemctl status vtzb_proxy6.2 运行测试用例项目提供了多个测试用例位于cc-resource-pooling/demo/clientapp/目录# 进入测试用例目录 cd cc-resource-pooling/demo/clientapp/testcase1 # 编译测试用例 mkdir build cd build cmake .. make # 运行测试 ./testcase七、常见问题解决7.1 编译错误缺少grpc或protobuf确保已安装grpc和protobuf开发包yum install -y grpc-devel protobuf-devel7.2 服务启动失败证书问题重新生成证书cd ~/.gpp/certs ./gen_ca_keycrt.sh ./gen_server_keycrt.sh7.3 虚拟机网络不通检查网络配置确保ONBOOTyes并重启网络服务service network restart八、官方资源与文档项目文档cc-resource-pooling/docs/部署指南trustzone-awared-vm/docs/TA虚拟化部署特性编译构建和部署指导书.docx配置文件示例gpproxy_config.yamlteecc_config.yaml通过本指南您已成功在openEuler或麒麟系统上部署了tee-gp-proxy。如有其他问题欢迎查阅项目文档或参与社区讨论。【免费下载链接】tee-gp-proxyThis project aims to provide an implementation for RPC invoking TEE to facilitate the use of Kunpeng confidential computing in cloud scennarios.项目地址: https://gitcode.com/openeuler/tee-gp-proxy创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考