认识secGear
概述
随着云计算的快速发展,越来越多的企业把计算业务部署到云上,面对第三方云基础设施,云上用户数据安全面临着巨大的挑战。机密计算是一种基于硬件可信执行环境的隐私保护技术,旨在依赖最底层硬件,构建最小信任依赖,将操作系统、Hypervisor、基础设施、系统管理员、服务提供商等都从信任实体列表中删除,视为未经授权的实体,从而减少潜在的风险,保护可信执行环境中数据的机密性、完整性。然而随着机密计算技术的兴起,业界机密计算技术种类繁多(如主流的Intel SGX、ARM Trustzone、RSIC-V keystone等),各技术SDK也千差万别,给开发者带来较大的开发维护成本,长远考虑,还造成了机密计算应用生态隔离。为方便开发者快速构建保护云上数据安全的机密计算解决方案,openEuler推出机密计算统一开发框架secGear。
架构介绍
secGear机密计算统一开发框架整体架构如图所示,主要提供三大能力。
- 架构兼容:屏蔽不同SDK接口差异,提供统一开发接口,实现不同架构共源码。
- 易开发:提供开发工具、通用安全组件等,帮助用户聚焦业务,开发效率提升50%。
- 高性能:提供零切换特性,提升典型场景下REE-TEE交互性能10倍+。
关键特性
零切换
客户痛点
传统应用做机密计算拆分改造后,REE侧逻辑存在频繁调用TEE侧逻辑时或REE与TEE存在频繁大块数据交互时,由于REE与TEE之间的每次调用,都需要经过REE用户态 、REE内核态、驱动、TEE内核态、TEE用户态之间的上下文切换,调用传递的大块数据也要经过多次拷贝,并且驱动底层数据块大小限制等因素,频繁的REE与TEE交互性能直线下降,严重影响机密计算应用的落地。
解决方案
零切换是一种通过共享内存减少REE与TEE上下文切换及数据拷贝次数,优化REE与TEE交互性能的技术。
远程证明
客户痛点
机密计算技术为了解决云上数据安全而生,然而由于数据泄露危害较大,仅从技术理论上证明机密计算技术的安全性,租户依然有所顾虑,影响机密计算的推广应用。
解决方案
机密计算厂商纷纷推出远程证明技术,可以让租户随时检测云上可信执行环境及应用的可信状态,彻底打消租户的顾虑。
远程证明是一种动态度量技术,可以对可信执行环境和运行在环境里的应用进行实时度量,生成证明报告,并使用预置根密钥签名,防止证明报告被篡改。
secGear远程证明基于各厂商SDK远程证明能力,封装统一远程证明接口,当前仅支持鲲鹏平台。
安全通道
客户痛点
数据拥有者在请求云上机密计算服务时,需要把待处理数据上传到云上TEE环境中处理,由于TEE没有网络,用户数据需要经过网络先传输到REE,REE接收到数据的明文后,再传入TEE中。用户数据的明文暴露在REE内存中,存在安全风险。
解决方案
安全通道是一种结合机密计算远程证明,实现数据拥有者与云上TEE之间安全的密钥协商技术,协商出仅数据拥有者与云上TEE拥有的sessionkey,再通过sessionkey加密用户数据,网络传输的是sessionkey加密后的数据,REE接收到密文数据,再传入TEE中解密、处理。
缩略语
缩略语 | 英文全名 | 中文解释 |
---|---|---|
REE | Rich Execution Environment | 富执行环境 |
TEE | Trusted Execution Environment | 可信执行环境 |
EDL | Enclave Description Language | 安全应用描述语言 |