diff --git a/materials/imgs/security_trust/confidential_computing_platform/JavaEnclave_architecture.png b/materials/imgs/security_trust/confidential_computing_platform/JavaEnclave_architecture.png index 30ee6b16d450be58c74c2c24a382c12e4fdb1bc3..dcd51f4b66af810279e1a6ee1f9c4f2e7c0d8f1f 100644 Binary files a/materials/imgs/security_trust/confidential_computing_platform/JavaEnclave_architecture.png and b/materials/imgs/security_trust/confidential_computing_platform/JavaEnclave_architecture.png differ diff --git a/security_trust/confidential_computing_platform.md b/security_trust/confidential_computing_platform.md index f352f245a5591ca853364b112cab6b8da9a1bb74..7b83335ce6c3e3d06ef957a8759a7d40f872a829 100644 --- a/security_trust/confidential_computing_platform.md +++ b/security_trust/confidential_computing_platform.md @@ -1,35 +1,35 @@ # 机密计算平台技术 tags: 安全可信, Anolis8 -机密计算是一种依赖于硬件的使用中数据保护技术,芯片厂商通过提供特殊的硬件指令、受保护的加密内存区域等手段,辅以基于硬件的密钥管理和密码学操作,为使用中的数据提供了一个受保护的受保护的可信区域。通常称之为可信执行环境(Trusted Execution Environment,简称TEE)。 +机密计算是一种依赖于硬件的使用中数据保护技术。芯片厂商通过提供特殊的硬件指令、受保护的加密内存区域等手段,辅以基于硬件的密钥管理和密码学操作,为使用中的数据提供了一个受保护的可信编程环境,通常称之为可信执行环境(Trusted Execution Environment,简称 TEE)。 -利用最底层硬件所能提供的安全性,在保持最小信任依赖的情况下,机密计算技术可以将操作系统和设备驱动程序供应商、平台和设备供应商、服务提供商及系统管理员从需要信任的实体列表中移除,从而大大降低了可信计算基(TCB, Trusted Computing Base)的大小。OpenAnolis社区为推动机密计算技术的应用,衍生出若干基于机密计算的平台技术项目,其目的是不断降低机密计算的高使用门槛。 +利用最底层硬件所能提供的安全性,在保持最小信任依赖的情况下,机密计算技术可以将操作系统和设备驱动程序供应商、平台和设备供应商、服务提供商及系统管理员从用户需要信任的实体列表中移除,从而大大降低了可信计算基(TCB, Trusted Computing Base)的大小。龙蜥社区为推动机密计算技术的应用,提供若干机密计算创新项目,目的是降低机密计算技术的使用门槛。 ## 技术方案 ### JavaEnclave -JavaEnclave(Teaclave Java TEE SDK)是一个面向Java生态的Host-Enclave机密计算编程框架,与Intel SGX SDK和OpenEnclave具有相同的编程模型。它提供了一个Pure Java的机密计算开发界面和构建工具链;创新性的采用Java静态编译技术,将Enclave模块Java敏感代码编译成native包并在SGX环境下运行。在保证机密计算极致安全的同时,将机密计算开发生态从C/C++ 扩展到Java,极大降低了机密计算应用的开发与编译构建门槛,提升了开发效率与用户体验。 +JavaEnclave(Teaclave Java TEE SDK)是一个面向 Java 生态的 Host-Enclave 机密计算编程框架,与 Intel SGX SDK 和 OpenEnclave 具有相同的编程模型。它提供了一个 Pure Java 的机密计算开发界面和构建工具链;创新性地采用 Java 静态编译技术,将 Java 敏感代码编译成 native 包并在 SGX 环境下运行。在保证机密计算极致安全的同时,将机密计算开发生态从 C/C++ 扩展到 Java,极大降低了机密计算应用的开发与编译构建门槛,提升了开发效率与用户体验。 ![JavaEnclave项目架构方案图](../materials/imgs/security_trust/confidential_computing_platform/JavaEnclave_architecture.png) -目前JavaEnclave已经在Apache开源社区开源并更名为Teaclave Java TEE SDK,作为ApacheTeaclave孵化项目的一个子项目继续发展。JavaEnclave将立足龙蜥社区云原生机密计算SIG生态,支持更多操作系统和TEE硬件平台,吸收社区广大开发者的反馈意见和贡献,持续改进并不断完善功能特性。 +目前 JavaEnclave 已经在 Apache 开源社区开源并更名为 Teaclave Java TEE SDK,作为 ApacheTeaclave 孵化项目的一个子项目继续发展。JavaEnclave 将立足龙蜥社区云原生机密计算 SIG 生态,支持更多操作系统和 TEE 硬件平台,吸收社区广大开发者的反馈意见和贡献,持续改进并不断完善功能特性。 ### Occlum -Occlum是基于Intel SGX实现的一套轻量级的具有内存安全的LibOS,大大简化了SGX应用开发的难度。使用Occlum后,用户的工作负载只需要修改极少量(甚至无需修改)源代码即可在Intel SGX上运行,以高度透明的方式保护了用户数据的机密性和完整性: +Occlum 是基于 Intel SGX 实现的一套轻量级的具有内存安全的 LibOS,大大简化了 SGX 应用开发的难度。使用 Occlum 后,用户的工作负载只需要修改极少量(甚至无需修改)源代码即可在 Intel SGX 上运行,以高度透明的方式保护用户数据的机密性和完整性。 ![Occlum LibOS技术方案图](../materials/imgs/security_trust/confidential_computing_platform/Occlum_LibOS_technical_solution.png) -今年年底即将发布的Occlum的v1.0版本采用了协程和异步架构用于提升Occlum在线程创建/切换、时钟获取和IO操作等方面的性能。 +2023年底即将发布的 Occlum v1.0 版本应用了 SGX 的 EDMM (Enclave 动态内存管理)特性,大大降低了应用运行于 Enclave 的适配难度,以及提升了 Enclave 里应用的启动速度和内存相关性能。 ### RATS-TLS -RATS-TLS设计了一种支持异构硬件机密计算技术的双向传输层安全协议,它在TLS的基础上增加了将TLS中的公钥与TEE远程证明Evidence绑定的能力,解决了不同TEE之间难以通过安全可信的方式传输数据的问题: +RATS-TLS 设计了一种支持异构硬件机密计算技术的双向传输层安全协议,它在 TLS 的基础上增加了将 TLS 中的公钥与 TEE 远程证明 Evidence 绑定的能力,解决了不同 TEE 之间难以通过安全可信的方式传输数据的问题。 ![RATS-TLS实现原理图](../materials/imgs/security_trust/confidential_computing_platform/RATS_implementation_principle.png) -从RATS-TLS项目衍生出的新项目librats已经支持多家主流芯片厂商的远程证明认证机制,并允许异构TEE之间进行双向远程证明认证。librats将支持最新定义的TCG DICE Evidence格式,并计划捐赠给CCC社区。 +从 RATS-TLS 项目衍生出的新项目 librats 已经支持多家主流芯片厂商的远程证明认证格式,并允许异构 TEE 之间进行双向远程证明认证。librats 已经支持最新定义的 TCG DICE Evidence 扩展,并计划捐赠给 CCC(机密计算联盟,Confidential Computing Consortium)。 ### SGX虚拟化 @@ -41,7 +41,7 @@ SGX虚拟化允许将SGX硬件能力透传给虚拟机和容器,以允许用 ### CCZoo -Intel发起并开源了Confidential Computing Zoo (CCZoo)。CCZoo提供了不同场景下各种典型端到端安全解决方案的参考案例,增强用户在机密计算方案实现上的开发体验,并引导用户结合参考案例快速设计满足自己需求的机密计算解决方案: +Intel发起并开源了Confidential Computing Zoo (CCZoo)。CCZoo提供了不同场景下各种典型端到端安全解决方案的参考案例,增强用户在机密计算方案实现上的开发体验,并引导用户结合参考案例快速设计满足自己需求的机密计算解决方案。 ![CCZoo项目内容图](../materials/imgs/security_trust/confidential_computing_platform/CCZoo_project_content.png) @@ -49,6 +49,6 @@ CCZoo目前提供了基于LibOS Gramine + Intel SGX + OpenAnolis容器的E2E安 ### Intel HE -Intel提供了对于同态加密技术的全栈式支持,包括一系列工具套件和加速库,如Intel HE Toolkit、Intel HE Acceleration Library (Intel HEXL) 、Intel Paillier Cryptosystem Library (IPCL),以及公允且标准的性能测试基准Homomorphic Encryption Benchmarking Framework (HEBench): +Intel提供了对于同态加密技术的全栈式支持,包括一系列工具套件和加速库,如Intel HE Toolkit、Intel HE Acceleration Library (Intel HEXL) 、Intel Paillier Cryptosystem Library (IPCL),以及公允且标准的性能测试基准Homomorphic Encryption Benchmarking Framework (HEBench)。 ![Intel HE同态加密支持方案图](../materials/imgs/security_trust/confidential_computing_platform/Intel_HE_Homomorphic_encryption_support.png)