diff --git a/docs/zh/server/security/secgear/introduction-to-secGear.md b/docs/zh/server/security/secgear/introduction-to-secGear.md index dd0bacf3dd7c87cfc026400e6933a72978a74906..c6f9b20e048fdd6736b689b803e8f2f1bf8e5fde 100644 --- a/docs/zh/server/security/secgear/introduction-to-secGear.md +++ b/docs/zh/server/security/secgear/introduction-to-secGear.md @@ -18,7 +18,7 @@ secGear机密计算统一开发框架技术架构如图所示,主要包括三 ### 零切换 -#### 客户痛点 +#### 用户痛点 传统应用做机密计算拆分改造后,REE侧逻辑存在频繁调用TEE侧逻辑时或REE与TEE存在频繁大块数据交互时。由于REE与TEE之间的每次调用,都需要经过REE用户态 、REE内核态、驱动、TEE内核态、TEE用户态之间的上下文切换,调用传递的大块数据也要经过多次拷贝,并且驱动底层数据块大小限制等因素,频繁的REE与TEE交互性能直线下降,严重影响机密计算应用的落地。 @@ -72,15 +72,15 @@ secGear机密计算统一开发框架技术架构如图所示,主要包括三 }; ``` -### 安全通道 +### 安全传输 -#### 客户痛点 +#### 用户痛点 -数据拥有者在请求云上机密计算服务时,需要把待处理数据上传到云上TEE环境中处理,由于TEE没有网络,用户数据需要经过网络先传输到REE,REE接收到数据的明文后,再传入TEE中。用户数据的明文暴露在REE内存中,存在安全风险。 +数据拥有者在请求云上机密计算服务时,需要把待处理数据上传到云上TEE环境中处理,在传输过程中存在数据泄露风险。针对不同网络访问能力的TEE环境,可采用如下解决方案。 -#### 解决方案 +#### 解决方案1:安全通道 -安全通道是一种结合机密计算远程证明,实现数据拥有者与云上TEE之间安全的密钥协商技术,协商出仅数据拥有者与云上TEE拥有的sessionkey,再通过sessionkey加密用户数据,网络传输的是sessionkey加密后的数据,REE接收到密文数据,再传入TEE中解密,处理。 +该方案针对TEE没有网络的场景,用户数据需要经过网络先传输到REE,由REE再传入TEE中。该方案结合机密计算远程证明,实现数据拥有者与云上TEE之间安全的密钥协商技术,协商出仅数据拥有者与云上TEE拥有的sessionkey,再通过sessionkey加密用户数据,网络传输的是sessionkey加密后的数据,REE接收到密文数据,再传入TEE中解密、处理,该方案称为安全通道。 #### 使用方法 @@ -113,9 +113,31 @@ secGear机密计算统一开发框架技术架构如图所示,主要包括三 安全通道仅封装密钥协商过程、加解密接口,不建立网络连接,协商过程复用业务的网络连接。其中客户端和服务端的网络连接由业务建立和维护,在安全通道客户端和服务端初始化时传入消息发送钩子函数和网络连接指针。 详见[安全通道样例](https://gitee.com/openeuler/secGear/tree/master/examples/secure_channel)。 +#### 解决方案2:RA_TLS + +该方案针对TEE具备网络通信能力的场景,例如:机密虚机/机密容器,具体过程:TA使用自签发证书,证书中包含远程证明材料,在TLS握手过程中使用远程证明服务,对证书中包含的证明材料校验,验证失败则结束握手,否则正常执行握手动作,该方案称为RA_TLS。 +该方案较方案1取消中间数据接收者,同时增加远程证明过程,既实现对TEE环境的校验,又能实现数据加密传输到TA。 + +#### 使用方法 + +RA_TLS以lib库形式提供,使用样例参考[RA_TLS样例](https://gitee.com/openeuler/secGear/tree/master/examples/ra_tls) + +| 头文件 | 库文件 | 依赖 | +|-----------|--------------|---------------------| +| ra_tls.h | libra_tls.so | cjson,curl,TLS库(例如openssl) | + +##### 接口列表 + +| 接口名 | 所属头文件 | 功能 | 备注 | +|-----------------------------|-----------------------|------------------------|---- | +|ra_tls_generate_certificate |ra_tls.h |TA生成自签名证书 |- | +|ra_tls_set_addr |ra_tls.h |设置远程证明Agent地址 |- | +|ra_tls_cert_extension_expired|ra_tls.h |护照模式下检查证书是否过期|仅用于护照模式| +|ra_tls_verify_callback |ra_tls.h |用于握手过程中回调校验证书|- | + ### 远程证明 -#### 客户痛点 +#### 用户痛点 随着机密计算技术的发展,逐渐形成几大主流技术(如Arm Trustzone/CCA、Intel SGX/TDX、擎天Enclave、海光CSV等),产品解决方案中可能存在多种机密计算硬件,甚至不同TEE之间的协同,其中远程证明是任何一种机密计算技术信任链的重要一环,每种技术的远程证明报告格式及验证流程各有差异,用户对接不同的TEE,需要集成不同TEE证明报告的验证流程,增加了用户的集成负担,并且不利于扩展新的TEE类型。 @@ -156,8 +178,9 @@ secGear远程证明统一框架是机密计算远程证明相关的关键组件 2.用户使用本地点对点TEE校验插件完成报告验证。 > ![](./public_sys-resources/icon-note.gif) **说明:** +> > 点对点验证和远程证明服务验证时的证明代理不同,在编译时可通过编译选项,决定编译有证明服务和点对点模式的证明代理。 - +> #### 应用场景 在金融、AI等场景下,基于机密计算保护运行中的隐私数据安全时,远程证明是校验机密计算环境及应用合法性的技术手段,远程证明统一框架提供了易集成、易部署的组件,帮助用户快速使能机密计算远程证明能力。 @@ -190,3 +213,6 @@ secGear的密钥托管功能与Kuasar容器运行时形成完整的机密容器 | REE | Rich Execution Environment | 富执行环境 | | TEE | Trusted Execution Environment | 可信执行环境 | | EDL | Enclave Description Language | 安全应用描述语言 | +| TA | Trusted Application | 可信应用 | +| RA | Remote Attestation | 远程证明 | +| TLS | Transport Layer Security | 传输层安全 | \ No newline at end of file