diff --git a/SUMMARY.md b/SUMMARY.md index b19793b7eb504f6c6417168a7e354bcc1334fd8e..422efbfb566d0c3d8092cbf675bbe5f4dfbd6131 100644 --- a/SUMMARY.md +++ b/SUMMARY.md @@ -25,6 +25,8 @@ * [安全可信](./security_trust/README.md) * [龙蜥操作系统漏洞管理](./security_trust/anolis_cve_management.md) * [安全合规](./security_trust/anolis_security_compliance.md) + * [机密计算平台技术](./security_trust/confidential_computing_platform.md) + * [机密容器](./security_trust/confidential_container.md) * [编程语言](./lang_runtime/README.md) * [Alibaba Dragonwell](./lang_runtime/dragonwell.md) * [C++编译器和基础库](./lang_runtime/cpp_compiler_and_libs.md) diff --git a/materials/imgs/security_trust/confidential_computing_platform/CCZoo_project_content.png b/materials/imgs/security_trust/confidential_computing_platform/CCZoo_project_content.png new file mode 100644 index 0000000000000000000000000000000000000000..9e8675491857aa8a1782362622b70d43b2ebfca8 Binary files /dev/null and b/materials/imgs/security_trust/confidential_computing_platform/CCZoo_project_content.png differ diff --git a/materials/imgs/security_trust/confidential_computing_platform/Intel_HE_Homomorphic_encryption_support.png b/materials/imgs/security_trust/confidential_computing_platform/Intel_HE_Homomorphic_encryption_support.png new file mode 100644 index 0000000000000000000000000000000000000000..56cc6b7be15869793cc9b83d78f3f69a81767a61 Binary files /dev/null and b/materials/imgs/security_trust/confidential_computing_platform/Intel_HE_Homomorphic_encryption_support.png differ diff --git a/materials/imgs/security_trust/confidential_computing_platform/JavaEnclave_architecture.png b/materials/imgs/security_trust/confidential_computing_platform/JavaEnclave_architecture.png new file mode 100644 index 0000000000000000000000000000000000000000..30ee6b16d450be58c74c2c24a382c12e4fdb1bc3 Binary files /dev/null and b/materials/imgs/security_trust/confidential_computing_platform/JavaEnclave_architecture.png differ diff --git a/materials/imgs/security_trust/confidential_computing_platform/Occlum_LibOS_technical_solution.png b/materials/imgs/security_trust/confidential_computing_platform/Occlum_LibOS_technical_solution.png new file mode 100644 index 0000000000000000000000000000000000000000..e79ea604175e31218045ba5e25b237d8b58394d2 Binary files /dev/null and b/materials/imgs/security_trust/confidential_computing_platform/Occlum_LibOS_technical_solution.png differ diff --git a/materials/imgs/security_trust/confidential_computing_platform/RATS_implementation_principle.png b/materials/imgs/security_trust/confidential_computing_platform/RATS_implementation_principle.png new file mode 100644 index 0000000000000000000000000000000000000000..78b4af46676a3d71be2d3220aec431a86af4e5ea Binary files /dev/null and b/materials/imgs/security_trust/confidential_computing_platform/RATS_implementation_principle.png differ diff --git a/materials/imgs/security_trust/confidential_computing_platform/SGX_virtualization_technology.png b/materials/imgs/security_trust/confidential_computing_platform/SGX_virtualization_technology.png new file mode 100644 index 0000000000000000000000000000000000000000..3d1017dca09f8e4f1c76125b60c10353095767bc Binary files /dev/null and b/materials/imgs/security_trust/confidential_computing_platform/SGX_virtualization_technology.png differ diff --git a/materials/imgs/security_trust/confidential_container/BigDL_PPML_on_TDX_CC.png b/materials/imgs/security_trust/confidential_container/BigDL_PPML_on_TDX_CC.png new file mode 100644 index 0000000000000000000000000000000000000000..932abb1c7cd9500c1f350f4278af63d2c616b0dc Binary files /dev/null and b/materials/imgs/security_trust/confidential_container/BigDL_PPML_on_TDX_CC.png differ diff --git a/materials/imgs/security_trust/confidential_container/confidential_container_solutions.png b/materials/imgs/security_trust/confidential_container/confidential_container_solutions.png new file mode 100644 index 0000000000000000000000000000000000000000..d81662570c461cae96b2b8c37e546fdd72e60fdc Binary files /dev/null and b/materials/imgs/security_trust/confidential_container/confidential_container_solutions.png differ diff --git a/security_trust/confidential_computing_platform.md b/security_trust/confidential_computing_platform.md new file mode 100644 index 0000000000000000000000000000000000000000..f352f245a5591ca853364b112cab6b8da9a1bb74 --- /dev/null +++ b/security_trust/confidential_computing_platform.md @@ -0,0 +1,54 @@ +# 机密计算平台技术 +tags: 安全可信, Anolis8 + +机密计算是一种依赖于硬件的使用中数据保护技术,芯片厂商通过提供特殊的硬件指令、受保护的加密内存区域等手段,辅以基于硬件的密钥管理和密码学操作,为使用中的数据提供了一个受保护的受保护的可信区域。通常称之为可信执行环境(Trusted Execution Environment,简称TEE)。 + +利用最底层硬件所能提供的安全性,在保持最小信任依赖的情况下,机密计算技术可以将操作系统和设备驱动程序供应商、平台和设备供应商、服务提供商及系统管理员从需要信任的实体列表中移除,从而大大降低了可信计算基(TCB, Trusted Computing Base)的大小。OpenAnolis社区为推动机密计算技术的应用,衍生出若干基于机密计算的平台技术项目,其目的是不断降低机密计算的高使用门槛。 + +## 技术方案 + +### JavaEnclave + +JavaEnclave(Teaclave Java TEE SDK)是一个面向Java生态的Host-Enclave机密计算编程框架,与Intel SGX SDK和OpenEnclave具有相同的编程模型。它提供了一个Pure Java的机密计算开发界面和构建工具链;创新性的采用Java静态编译技术,将Enclave模块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硬件平台,吸收社区广大开发者的反馈意见和贡献,持续改进并不断完善功能特性。 + +### Occlum + +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操作等方面的性能。 + +### RATS-TLS + +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社区。 + +### SGX虚拟化 + +SGX虚拟化允许将SGX硬件能力透传给虚拟机和容器,以允许用户将敏感工作负载运行在基于Intel SGX Enclave的TEE中。 + +![SGX虚拟化技术实现方案图](../materials/imgs/security_trust/confidential_computing_platform/SGX_virtualization_technology.png) + +目前SGX虚拟化已支持Anolis OS 8,可为云上用户提供基于Intel SGX Enclave技术的应用级安全防护能力。 + +### CCZoo + +Intel发起并开源了Confidential Computing Zoo (CCZoo)。CCZoo提供了不同场景下各种典型端到端安全解决方案的参考案例,增强用户在机密计算方案实现上的开发体验,并引导用户结合参考案例快速设计满足自己需求的机密计算解决方案: + +![CCZoo项目内容图](../materials/imgs/security_trust/confidential_computing_platform/CCZoo_project_content.png) + +CCZoo目前提供了基于LibOS Gramine + Intel SGX + OpenAnolis容器的E2E安全解决方案参考案例,其中包括在线推理服务和横向联邦学习等。后续,CCZoo计划基于OpenAnolis,提供更多的机密计算参考案例,为用户提供相应的容器镜像,实现敏捷部署。 + +### Intel HE + +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) diff --git a/security_trust/confidential_container.md b/security_trust/confidential_container.md new file mode 100644 index 0000000000000000000000000000000000000000..6ce375fadebb85dcdd7b86777bf28fcb911ff2de --- /dev/null +++ b/security_trust/confidential_container.md @@ -0,0 +1,22 @@ +# 机密容器 +tags: 安全可信, Anolis8 + +机密容器是机密计算技术和云原生技术结合的产物。机密容器基于硬件(HW-TEE)实现资源隔离、数据加密以及远程证明,能够防止云服务提供商和任何高权限的第三方对执行环境中的数据进行窃取和篡改,从而有效地保护用户数据和资产安全。 + +机密容器具有如下特点:能够对数据,尤其是运行态的数据,提供机密性、完整性和安全性保护;能够为敏感工作负载的部署和运行提供全链路的安全保障;能够提供方法证明机密工作负载当前运行的环境是真实可信的;用户保持和普通容器几乎相同的使用体验,免运维成本部署敏感应用负载。 + +## 技术方案 + +龙蜥机密容器解决方案支持多种HW-TEE,提供Pod级机密容器和进程级机密容器两种解决方案,满足用户不同场景的使用需求。 + +在Pod级机密容器领域,近年来,多家硬件厂商陆续发布针对虚拟化场景的机密计算解决方案,给创建基于轻量级虚拟机的机密容器提供了硬件基础。基于CoCo(Confidential Container),龙蜥社区理事单位阿里巴巴和Intel等硬件厂商合作构造了Pod级机密容器解决方案,用户可以零修改地将他们的工作负载运行在该解决方案中。目前社区已经实现了对Intel TDX等硬件平台的支持,后续还计划增加更多的HW-TEE解决方案的支持。 + +在进程级机密容器领域,阿里巴巴和Intel把SGX技术和容器技术相结合,创新性地开发出了Inclavare Containers机密容器项目, 该项目同时也成为Cloud Native Computing Foundation(CNCF)的第一个机密容器项目。Enclave-cc是基于Inclavare Containers实现的进程级机密容器解决方案,并且满足了CoCo社区设定的安全模型。后续enclave-cc将成为CoCo社区中的进程级机密容器的参考实现,丰富enclave-cc的上下游软件生态链,并持续提升方案的产品化能力。 + +![机密容器解决方案图](../materials/imgs/security_trust/confidential_container/confidential_container_solutions.png) + +## 应用案例 + +大数据分析和人工智能的应用日益广泛,这也带来了隐私安全风险以及监管要求。分布式隐私保护机器学习(Privacy Preserving Machine Learning, PPML)解决方案基于Intel BigDL开源人工智能解决方案平台,能够在不透出原始数据的前提下,实现数据的有效流动和高效处理。龙蜥社区理事单位阿里巴巴和Intel结合机密容器解决方案和Intel BigDL PPML开源方案, 构建了一个分布式的隐私保护机器学习模型,能够实现端到端(包括数据输入, 数据分析,机器学习,深度学习的各个阶段)的数据保护。 + +![BigDL PPML on TDX-CC](../materials/imgs/security_trust/confidential_container/BigDL_PPML_on_TDX_CC.png)