OpenEuler Sec-Select:揭秘基于鲲鹏/昇腾的机密计算安全解决方案
OpenEuler Sec-Select:揭秘基于鲲鹏/昇腾的机密计算安全解决方案
【免费下载链接】sec-selectThe repo aims to provide security-related best practices such as confidential computing solutions etc, based on Kunpeng and Ascend related hardware platforms.项目地址: https://gitcode.com/openeuler/sec-select
前往项目官网免费下载:https://ar.openeuler.org/ar/
OpenEuler Sec-Select 是一个基于鲲鹏和昇腾硬件平台的安全解决方案仓库,旨在提供机密计算等安全相关的最佳实践。该项目通过多种创新技术和工具,为用户打造安全可靠的计算环境,保护敏感数据和应用程序免受未授权访问和攻击。
什么是机密计算?
机密计算是一种新兴的安全技术,它通过在硬件层面创建一个受保护的执行环境(通常称为安全飞地或可信执行环境),确保数据在处理过程中的机密性和完整性。即使操作系统或 hypervisor 被攻破,安全飞地内的数据和代码也能保持安全。
OpenEuler Sec-Select 项目正是围绕这一核心概念,提供了一系列基于鲲鹏和昇腾平台的机密计算解决方案。
核心解决方案:CCA / VirtCCA 机密计算支持
在 OpenEuler Sec-Select 中,一个重要的解决方案是 CCA(Confidential Compute Architecture)和 VirtCCA 机密计算支持。该方案的详细实现可以在src/rsi.rs(CCA)和src/tsi.rs(VirtCCA)中找到。
RSI(Realm Services Interface)实现
RSI 是 CCA 架构中的一个关键组件,它定义了安全飞地(Realm)与安全监控器(Realm Manager)之间的接口。OpenEuler Sec-Select 实现了以下 RSI 函数:
| RSI 函数 | SMC FID | 功能 |
|---|---|---|
rsi_request_version | 0xC4000190 | 请求 RSI ABI 版本 |
rsi_features | 0xC4000191 | 查询 RSI 特性 |
rsi_measurement_read | 0xC4000192 | 读取 Realm 测量值 |
rsi_measurement_extend | 0xC4000193 | 扩展 Realm 测量值 |
rsi_attestation_token_init | 0xC4000194 | 初始化认证令牌请求 |
rsi_attestation_token_continue | 0xC4000195 | 继续获取认证令牌 |
rsi_get_realm_config | 0xC4000196 | 获取 Realm 配置 |
rsi_ipa_state_set | 0xC4000197 | 设置 IPA 状态(接受/共享/销毁) |
rsi_ipa_state_get | 0xC4000198 | 获取 IPA 状态 |
rsi_host_call | 0xC4000199 | 主机调用 |
CCA 内存管理
在 CCA Realm 环境中,内存有两种状态:
- Protected (加密):Realm 私有内存,hypervisor 不可访问
- Shared (解密):与 hypervisor 共享的内存,用于 I/O 通信
内存状态转换通过 RSI 调用实现:
accept_memory(start, end)→rsi_set_memory_range_protected:将内存标记为 Realm 受保护mark_shared(start, end)→rsi_set_memory_range_shared:将内存标记为共享(解密)mark_private(start, end)→rsi_set_memory_range_protected:将共享内存恢复为受保护
OpenClaw-CCA:基于 CCA 的安全解决方案
除了基础的 CCA 支持外,OpenEuler Sec-Select 还提供了 OpenClaw-CCA 解决方案,这是一个基于 CCA 的完整安全架构。
OpenClaw-CCA 架构主要包含以下几个部分:
外部信任基础设施:包括管理员、GTA(Global Trust Authority)和 RBS(Resource Broker Service),负责生成和验证信任证据,管理策略和敏感资源。
CCA 机密 VM(Realm):基于鲲鹏 950 + openEuler 24.03-SP4 构建的安全执行环境,包含 openClaw LLM 网关和 LUKS 加密卷。
受保护数据:包括 API 密钥、长期内存、会话状态以及日志和审计记录等敏感数据。
OpenClaw-CCA 的工作流程
OpenClaw-CCA 的工作流程可以概括为以下几个步骤:
- CCA Realm 启动,测量关键组件(如 cryptsetup、openclaw、shadow hash 等)。
- 收集 TEE REM3 值,初始化挑战请求。
- 提交证据,请求远程认证。
- RBS 转发证据进行远程认证。
- GTA 验证远程节点完整性,返回验证结果。
- 验证成功后,释放密码。
- cryptsetup 将密码传递给 LUKS 解锁。
- 卷解锁后,openclaw 读取服务 LLM 网关。
如何开始使用 OpenEuler Sec-Select?
要开始使用 OpenEuler Sec-Select 项目,您可以按照以下步骤操作:
- 克隆仓库:
git clone https://gitcode.com/openeuler/sec-select - 浏览解决方案目录,了解各个安全解决方案的详细信息。
- 参考各个解决方案的文档,如
solutions/confidential-migvm/docs/和solutions/openclaw-cca/docs/,了解具体的部署和使用方法。
总结
OpenEuler Sec-Select 为基于鲲鹏和昇腾平台的机密计算提供了全面的解决方案。通过 CCA/VirtCCA 支持和 OpenClaw-CCA 等创新技术,该项目为用户提供了安全可靠的计算环境,保护敏感数据和应用程序的安全。无论是企业用户还是个人开发者,都可以从这些安全最佳实践中受益,构建更加安全的系统和应用。
如果您对机密计算感兴趣,或者正在寻找基于鲲鹏/昇腾平台的安全解决方案,OpenEuler Sec-Select 绝对值得一试!
【免费下载链接】sec-selectThe repo aims to provide security-related best practices such as confidential computing solutions etc, based on Kunpeng and Ascend related hardware platforms.项目地址: https://gitcode.com/openeuler/sec-select
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
