0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

玩转机密计算从secGear开始

openEuler 来源:openEuler 2023-01-13 15:25 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

随着网络与计算业务的快速发展,数据成为数字经济的关键生产要素,如何高质量挖掘数据价值,构建安全、合规、可信的数据流通,成为推动数字经济健康发展的关键。此外,根据我国个人信息保护法、欧盟通用数据保护条例 GDPR 等的要求可以看出,数据隐私监管保护的范围在扩大,保护力度日益增强。因此,对关键数据和业务进行安全保护,不仅是技术挑战,也是满足安全合规的必要条件。

当前保护数据的通行方案通常作用于静态存储或网络传输状态的数据,难以有效保护正在被使用的数据,因此,隐私计算技术应运而生。

作为隐私计算的重要分支,机密计算是一种利用硬件可信执行环境 (Trusted Execution Environment, TEE) 保护使用中数据的技术 [1]。如下图所示,在非安全世界(Rich Execution Environment, REE)中,基于硬件隔离出的 TEE 环境就像是一个黑盒子,可防止外部(包括操作系统、特权用户、恶意程序等)对 TEE 内使用中的应用程序和数据进行未经授权的访问或篡改,从而实现数据在第三方平台的 “可用而不可见”,消除数据上云的安全顾虑,推动数据安全流通。

2c672aa6-9297-11ed-bfe3-dac502259ad0.png

机密计算痛点

当前业界主流处理器/芯片均实现了各自的机密计算技术,例如 ARM TrustZone、CCA,Intel SGX、TDX, AMD SEV 等;此外,基于 PCIe TDISP 特性,GPU、DPU 等芯片也在积极构建机密计算环境,如 Nvidia H100 GPU,Nvidia Bluefield、AMD smartNIC 系列 DPU 等。综合来看,各种 TEE 技术的核心要素是提供硬件隔离运行环境,并依托信任根提供度量、内存加密等安全能力。

由于各处理器架构的 TEE 设计思路、实现方式不同,导致各家 SDK 接口迥异、开发流程复杂,造成开发机密计算应用开发难度高、可移植性差、生态隔离。对于应用开发者来说,其开发的安全应用与体系结构强绑定,例如基于 SGX SDK 开发的应用就很难移植到 ARM TrustZone 上,因为安全 OS SDK 提供的接口和 SGX SDK 存在很大差异。

secGear 机密计算统一开发框架

综上可知,业界机密计算技术种类繁多,SDK 也各不相同,接口复杂,开发困难,不同 TEE 间应用生态隔离,给机密计算应用开发者带来了较高的开发、维护成本,影响机密计算生态的发展。openEuler secGear 机密计算统一开发框架,致力于兼容业界主流 TEE,屏蔽 TEE 差异,对开发者提供统一、简易的开发接口,实现不同架构共源码,使开发者聚焦业务,降低机密计算应用开发维护成本,打通各 TEE 应用生态,助力机密计算生态建设。

secGear 从逻辑上分为三层,如下图所示。

Base Layer:机密计算 SDK 统一层,屏蔽 TEE 及 SDK 差异,实现不同架构共源码。

Middleware Layer:通用组件层,机密计算软件货架,无需从头造轮子,帮助用户快速构建机密计算解决方案。

Server Layer:机密计算服务层,提供典型场景机密计算解决方案。

2c849028-9297-11ed-bfe3-dac502259ad0.png

secGear 遵循木兰宽松许可证(MulanPSL-2.0 License)[2], 开发者可基于 secGear 贡献开源中间件或解决方案,也可以基于 secGear 构建商用解决方案。目前除了社区开源的 MindSpore 纵向联邦机密计算解决方案,也不乏基于 secGear 的客户解决方案,如 GaussDB 全密态数据库,BJCA 密码模块、openLookeng 联邦 SQL 等。

典型应用场景

本章节介绍几个基于 secGear 的实际业务场景解决方案,便于大家学习理解、借鉴,进而结合自身业务构建对应的机密计算解决方案。

BJCA 基于 TEE 的密码模块

在政策和业务的双驱动下,密码应用保障基础设施一直在向虚拟化演进,随着业务上云,密码服务支撑也需要构建全新的密码交付模式,实现密码、云服务与业务应用的融合,因此数字认证(BJCA)推出基于 TEE 的密码模块,数字认证既可以利用鲲鹏 TEE 环境构建合规的密码计算模块,支撑密码云服务平台,同时也可以基于鲲鹏主机构建 “机密计算平台”,为云计算、隐私计算、边缘计算等各类场景提供 “高速泛在、弹性部署、灵活调度” 的密码服务支撑。基于鲲鹏处理器的内生式密码模块已经成为密码行业变革型的创新方案,并作为内生可信密码计算新起点[3]。

2c9d3998-9297-11ed-bfe3-dac502259ad0.png

传统密码模块中算法协议以及处理的数据是隐私数据,可基于 TEE 保护。如图所示,基于 secGear 机密计算开发框架将密码模块拆分成两部分:管理服务、算法协议。

管理服务:运行在 REE 侧,负责对外提供密码服务,转发请求到 TEE 中处理。

算法协议:运行在 TEE 侧,负责用户数据加解密等处理。

由于密码服务可能存在高并发、大数据请求,此时 REE 与 TEE 存在频繁交互以及大数据拷贝,会导致性能直线下降,针对类似场景可使用 secGear 零切换特性优化,减少调用切换及数据拷贝次数,实现性能倍增。

GaussDB 基于 TEE 的全密态数据库

云数据库俨然已成为数据库业务未来重要的增长点,绝大多数的传统数据库服务厂商正在加速提供更优质的云数据库服务。然而云数据库所面临的风险相较于传统数据库更复杂多样,无论是应用程序漏洞、系统配置错误,还是恶意管理员都可能对数据安全与隐私保护造成巨大风险。

云数据库的部署网络由 “私有环境”向“ 开放环境”转变,系统运维管理角色被拆分为业务管理员和运维管理员。业务管理员拥有业务管理的权限,属于企业业务方,而运维管理员属于云服务提供商。数据库运维管理员虽然被定义成系统运维管理,其实际依旧享有对数据的完全使用权限,通过运维管理权限或提权来访问数据甚至篡改数据;再者,由于开放式的环境和网络边界的模糊化,用户数据在整个业务流程中被更充分的暴露给攻击者,无论是传输、存储、运维还是运行态,都有可能遭受来自攻击者的攻击。因此对于云数据库场景,如何解决第三方可信问题,如何更加可靠的保护数据安全相比传统数据库面临着更大挑战,其中数据安全、隐私不泄露是整个云数据库面临的首要安全挑战。

面对上述挑战,基于 TEE 的 GaussDB 全密态数据库的设计思路是:用户自己持有数据加解密密钥,数据以密文形态存在于数据库服务侧的整个生命周期过程中,并在数据库服务端 TEE 内完成查询运算。

2cbb51da-9297-11ed-bfe3-dac502259ad0.png

如图所示,全密态数据库的特点如下:

数据文件以密文形式存储,不存储密钥明文信息。

DB 数据密钥保存在客户端。

客户端发起查询请求时,在服务端 REE 侧执行密态 SQL 语法得到相关密文记录,送入 TEE 中。

客户端通过 secGear 安全通道将 DB 数据密钥加密传输到服务端 TEE 中,在 TEE 中解密得到 DB 数据密钥,用 DB 数据密钥将密文记录解密得到明文记录,执行 SQL 语句,得到查询结果,再将 DB 数据密钥加密后的查询结果发送给客户端。

其中步骤 3 在数据库高并发请求场景下,会频繁触发 REE-TEE 之间调用以及大量的数据传输,导致性能直线下降,通过 secGear 零切换特性优化,减少调用切换及数据拷贝次数,实现性能倍增。

openLooKeng 基于 TEE 的联邦 SQL

openLooKeng 联邦 SQL 是跨数据中心查询的一种,典型场景如下,有三个数据中心:中心数据中心 A,边缘数据中心 B 和边缘数据中心 C。openLooKeng 集群部署在三个数据中心中,当数据中心 A 收到一次跨域查询请求时,会下发执行计划到各数据中心,在边缘数据中心 B 和 C 的 openLookeng 集群完成计算后,通过网络将结果传递给数据中心 A 中的 openLookeng 集群完成聚合计算。在以上方案中,计算结果在不同数据中心的 openLookeng 集群之间传递,避免了网络带宽不足,一定程度上解决了跨域查询问题。但是计算结果是从原始数据计算得到的,可能带有敏感信息,导致数据出域存在一定安全和合规风险。怎么保护聚合计算过程中边缘数据中心的计算结果,在中心数据中心实现 “可用而不可见” 呢?这里我们一起看看与机密计算结合的解决方案。其基本思想是:数据中心 A 中,openLookeng 集群将聚合计算逻辑及算子拆分出独立的模块,部署到鲲鹏 TEE 环境上中;其他边缘数据中心的计算结果通过安全通道传输到数据中心 A 的 TEE 中;所有数据最终在 TEE 中完成聚合计算,从而保护聚合计算过程中边缘数据中心的计算结果不会被数据中心 A 上 REE 侧特权程序或恶意程序获取、篡改。

2cd97764-9297-11ed-bfe3-dac502259ad0.png

如图所示,具体查询流程如下:

用户在数据中心 A 下发跨域查询请求,openLooKeng 的 Coordinator 根据查询 SQL 及数据源分布,拆解下发执行计划到本地工作节点以及边缘数据中心的 coordinator,边缘数据中心的 coordinator 再下发到本地工作节点。

各工作节点执行计划,得到本地计算结果。

边缘数据中心通过 secGear 安全通道将本地计算结果加密后经网络传到数据中心 A 的 REE 侧,并中转到 TEE 中,在 TEE 中解密计算结果。

数据中心 A 在 TEE 中对数据中心 A、B、C 的计算结果执行聚合计算,得到最终执行结果,并返回给用户。

其中步骤 4,在存在大量查询请求时,会频繁触发 REE-TEE 调用,并且有大量数据的拷贝,导致性能直线下降。通过 secGear 零切换特性优化,减少调用切换及数据拷贝次数,实现性能倍增。

MindSpore 基于 TEE 的纵向联邦特征保护

纵向联邦学习是联邦学习的一个重要分支,当不同的参与方拥有来自相同一批用户但属性不同的数据时,可以利用纵向联邦学习进行协同训练,方案流程如图所示。

2cf227a0-9297-11ed-bfe3-dac502259ad0.png

拥有属性的参与方(Follower 方)都会持有一个底层网络,参与方属性输入底层网络得到中间结果,再将中间结果发送给拥有标签的参与方(Leader 方)。

Leader 方使用各参与方的中间结果和标签来训练顶层网络,再将计算得到的梯度回传给各参与方来训练底层网络。

此方案避免了 Follower 方直接上传自己的原始数据,保护原始数据不出域,一定程度上保护了隐私安全。然而,攻击者还是有可能从上传的中间结果反推出用户信息,导致存在隐私泄露风险。因此我们需要对训练时出域的中间结果和梯度提供更强的隐私保护方案,来满足安全合规要求。

借鉴之前三个场景的安全风险及解决方案可以发现,想要达到中间结果出域后的 “可用不可见”,正是机密计算的 “拿手好戏”。基于 TEE 的纵向联邦特征保护方案如图所示[4]。

2d091438-9297-11ed-bfe3-dac502259ad0.png

Follower 方的中间结果通过 secGear 的安全通道加密后传输到 Leader 方,Leader 方非安全世界接收到加密的中间结果后中转到安全世界,在安全世界通过安全通道接口解密。

在安全世界中将中间结果输入到联邦拆分层计算模块,完成结果计算。

以上过程中 Follower 方的中间结果明文只存在于安全世界内存中,对 Leader 方来说就是黑盒子,无法访问。

展望

2023 年 openEuler secGear 将持续演进,并发布支持零切换、安全通道、远程证明等功能的稳定版本,可用于构建商用的端到端机密计算解决方案。同时,openEuler 也会持续构建通用的中间件或服务,也期待您的参与贡献,共同推动机密计算应用生态的发展。secGear 将一如既往地持续关注 AMD SEV、Intel TDX、ARM CCA 等技术,为打造安全易用的机密计算统一开发框架而不懈努力。

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 数据
    +关注

    关注

    8

    文章

    7315

    浏览量

    93993
  • 网络传输
    +关注

    关注

    0

    文章

    149

    浏览量

    18326
  • 数字经济
    +关注

    关注

    2

    文章

    1117

    浏览量

    20104

原文标题:玩转机密计算从 secGear 开始

文章出处:【微信号:openEulercommunity,微信公众号:openEuler】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    低成本AI边缘计算盒子DIY:基于迅为RK3568和开源模型,轻松玩转智能识别

    低成本AI边缘计算盒子DIY:基于迅为RK3568和开源模型,轻松玩转智能识别
    的头像 发表于 11-12 13:42 1307次阅读
    低成本AI边缘<b class='flag-5'>计算</b>盒子DIY:基于迅为RK3568和开源模型,轻松<b class='flag-5'>玩转</b>智能识别

    如何直接main函数开始仿真?

    段地址也要修改) 2. 修改前三条指令: 80000000:10010117auipcsp,0x10010#堆栈指针90010000开始80000004:293000efjalra
    发表于 11-05 06:10

    阻抗计算入门到精通

    在 PCB 设计领域,“阻抗” 是决定信号能否稳定传输的关键。不少工程师曾因忽视阻抗匹配,遭遇信号反射、串扰等问题,导致产品调试反复卡壳。其实,只要掌握阻抗计算的核心逻辑,参数准备到软件实操都能轻松应对。今天这篇文章,用通俗语言拆解阻抗
    的头像 发表于 10-16 10:58 1532次阅读
    阻抗<b class='flag-5'>计算</b><b class='flag-5'>从</b>入门到精通

    学习Linux应该哪里开始

    、交叉编译、网络栈、文件系统……到底哪里开始学,才能既不绕弯路,又能学得“有感觉”? 今天, 深圳市钡铼技术有限公司 就来带你拆解这个问题。 一、先理解:Linux 到底是什么? 很多人学 Linux,一上来就打开虚拟机敲命令。但真正入门前,先
    的头像 发表于 10-16 09:51 307次阅读
    学习Linux应该<b class='flag-5'>从</b>哪里<b class='flag-5'>开始</b>?

    如何在 MCU/MUP 上安全地存储机密数据?

    如何在 MCU/MUP 上安全地存储机密数据
    发表于 09-08 06:44

    硬件设备的开机密钥:电路设计深度解析

    开机电路设计如同为硬件设备编写了一串“开机密钥”,它通过复杂的信号传递与逻辑判断,确保系统断电状态到正常工作模式的平稳过渡。这一设计的精妙程度,直接定义了设备的启动效率与可靠性。 本文应工程师朋友
    的头像 发表于 06-23 16:08 546次阅读
    硬件设备的开<b class='flag-5'>机密</b>钥:电路设计深度解析

    零死角玩转STM32——系统篇

    本文共4册,由于资料内存过大,分开上传,有需要的朋友可以去主页搜索下载哦~ 《零死角玩转 STM32》系列教程由初级篇、中级篇、高级篇、系统篇、四个部分组成,更适合初学者,步步为营,入门到精通
    发表于 05-21 14:08

    零死角玩转STM32——高级篇

    本文共4册,由于资料内存过大,分开上传,有需要的朋友可以去主页搜索下载哦~ 《零死角玩转 STM32》系列教程由初级篇、中级篇、高级篇、系统篇、四个部分组成,更适合初学者,步步为营,入门到精通
    发表于 05-21 14:02

    零死角玩转STM32——中级篇

    本文共4册,由于资料内存过大,分开上传,有需要的朋友可以去主页搜索下载哦~ 《零死角玩转 STM32》系列教程由初级篇、中级篇、高级篇、系统篇、四个部分组成,更适合初学者,步步为营,入门到精通
    发表于 05-21 13:56

    零死角玩转STM32——初级篇

    本文共4册,由于资料内存过大,分开上传,有需要的朋友可以去主页搜索下载哦~ 《零死角玩转 STM32》系列教程由初级篇、中级篇、高级篇、系统篇、四个部分组成,更适合初学者,步步为营,入门到精通
    发表于 05-21 13:48

    电机联轴控制的旋转机械定转子模态分析

    介绍了一种电机联轴控制的旋转机械结构。振动模态分析是电机优化设计的重要步骤,本文利用ANSYS有限元软件对定转子模态模型进行了详细的计算和分析,得到了其模态固有频率和振型。仿真结果对振动实验和定转子
    发表于 04-24 21:07

    边缘计算 到云端计算

    边缘计算与云端计算的区别与联系   一、核心区别‌ 数据处理位置‌ 边缘计算‌:在靠近数据源的设备或边缘节点(如传感器、本地服务器)完成计算,减少数据传输距离‌。 云端
    的头像 发表于 03-27 08:30 670次阅读
    <b class='flag-5'>从</b>边缘<b class='flag-5'>计算</b> 到云端<b class='flag-5'>计算</b>

    磁悬浮轴承——电力电子在高速旋转机械领域的应用

    本文是生活中的电、电源与电力电子科普征文大赛的二等奖作品,原标题《磁悬浮轴承——电力电子在高速旋转机械领域的应用》,作者:蒋栋,孙宏博,杨佶昌,刘自程,帅逸轩,来自华中科技大学,强电磁工程与新技术
    的头像 发表于 02-08 11:26 2543次阅读
    磁悬浮轴承——电力电子在高速旋<b class='flag-5'>转机</b>械领域的应用

    零死角玩转STM32F103—指南者

    电子发烧友网站提供《零死角玩转STM32F103—指南者.pdf》资料免费下载
    发表于 01-20 14:18 49次下载

    科技云报到:大模型到云端,“AI+云计算”还能讲出什么新故事

    科技云报到:大模型到云端,“AI+云计算”还能讲出什么新故事
    的头像 发表于 01-07 13:27 612次阅读