System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 高性能异构可信执行环境实现方法及系统技术方案_技高网

高性能异构可信执行环境实现方法及系统技术方案

技术编号:40679507 阅读:6 留言:0更新日期:2024-03-18 19:18
本发明专利技术提供了一种高性能异构可信执行环境实现方法及系统,包括:构建XpuTEE监视器,管理所有的XpuEnclave;所述XpuEnclave由至少一个CEnclave和若干个XEnclave组成;所述CEnclave是CPU上的隔离环境;所述XEnclave是GPU上的隔离环境;同属于一个XpuEnclave的CEnclave和XEnclave通过XpuEnclave通道实现快速通信;所述XpuTEE监视器可直接访问运行在CPU上的CEnclave,所述XpuTEE监视器使用MMIO访问GPU上的XEnclave。

【技术实现步骤摘要】

本专利技术涉及计算机,具体地,涉及高性能异构可信执行环境实现方法及系统,更为具体地,涉及基于软件的高性能异构可信执行环境。


技术介绍

1、经过了近几年的发展,人工智能技术已经在很多领域得到了广泛的应用,如自动驾驶、人脸识别、医疗图像等领域。海量的训练数据和高价值的人工智能模型使数据隐私问题成为人们关注的焦点。由于其广泛的资源需求,现代人工智能应用通常部署在高性能数据中心,例如chatgpt训练的地方,使用了超过10k的nvidia a100gpu。因为软件栈的复杂性和潜在的漏洞(如linux内核超过3.6亿行代码和超过3k个漏洞),以及潜在的恶意员工都威胁着人工智能应用的数据隐私。一方面,数据中心本身的平台管理员可能存在恶意行为,另一方面,现有平台通常存在非常深的软件栈,由此带来的大量软件漏洞与攻击面,一旦云平台软件系统被挟持,那么其中机器学习应用的安全性也将无法保证。即使是在企业内部的机器中进行训练,其训练过程也可能受到内部恶意员工或者攻击者的破坏。因此,如何保障机器学习应用的安全性,防止其受到被挟持操作系统的攻击,成为了一个受到学术界与工业界广泛关注的问题。

2、可信执行环境(tee)被广泛用于保护应用程序免受不可信系统软件的攻击,tee保证任何tee外的组件都不能访问或修改tee内部组件的数据流和控制流。目前已经存在许多构建tee的方法,几乎所有cpu制造商,包括intel,amd和arm,都引入了他们的硬件tee扩展。然而,现代人工智能应用在很大程度上依赖于异构加速器,如gpu、npu等,这些加速器被广泛用于加速人工智能应用的计算。然而,这些加速器并不能直接被cpu端的tee所保护,因此,cpu端的tee对人工智能应用的安全性提升是非常有限的。

3、因此,为了保护人工智能应用的数据安全,需要在人工智能加速器上构建可信执行环境,保证恶意的操作系统不能访问加速器的数据和篡改加速器的计算过程,gpu是人工智能应用的常见加速器,构建gpu tee是保护人工智能应用的有效方式。

4、gpu通过pcie与cpu连接,拥有自己的设备内存,gpu内存有更高的带宽,以匹配gpu线程的高度并行性。gpu还支持虚拟内存,其页表默认存储在gpu内存中,并由gpu驱动程序初始化,对于dma,复制引擎(或dma引擎)可以在gpu内存和其他内存之间复制数据。同时,指令处理单元(command processor)从命令队列(gpu通道)中获取用户空间或内核空间驱动程序提交的命令,并将这些命令分发给各个内部引擎。最后,gpu暴露给cpu一些mmio寄存器和一些由pcie基地址寄存器(bar)指定的设备内存。在gpu上执行操作时,软件必须通过gpu通道提交命令,通道有缓冲区,这里统一称为通道缓冲区。gpu有两种不同特权的通道:特权通道和非特权通道。非特权通道不能执行特权方法,任何从这种通道运行特权操作的尝试都会导致中断并将调用软件驱动程序。当创建通道时,驱动程序在gpu内存中创建相应的结构,对于pcie bar没有暴露的gpu内存区域,软件需要通过gpu通道发送命令,让dma引擎将数据复制到这些区域。cuda驱动程序作为应用程序的用户空间驱动程序,可以通过mmio直接访问gpu通道状态的一小部分。

5、nvidia h100 gpu包含许多安全功能,可以限制不可信的软件对gpu内容的访问,其gpu内部存在有片上安全处理器,支持多种类型和级别的加密,并提供硬件保护的内存区域。nvidia h100 gpu的机密计算功能,需要和机密虚拟机配合使用,在一个机密虚拟机被cpu端的tee保护的情况下,一个机密虚拟机可以和若干个开启安全计算模式的h100 gpu相关联,或者若干个mig计算实例相关联。此后,gpu会和cpu上的机密虚拟机之间建立安全通道的机制,gpu和cpu的数据传输都会通过硬件加解密,同时,相关的硬件可以保证不可信的虚拟机监控器不能直接访问处于安全计算模式的gpu。nvidia h100 gpu允许用户验证他们正在与启用机密计算的nvidia gpu进行通信,并且检验gpu的安全状态。

6、目前,其gpu内部的细节仍未公开,其具体的gpu安全保护机制还无法从现有的公开信息中获取。

7、nvidia的机密计算技术使用条件较为苛刻,无法使用在存量硬件上。首先需要使用h100 gpu,但现有的数据中心中存在大量的存量gpu,这些gpu无法直接从应用在h100gpu中的机密计算机制中获益,同时,该技术需要机密虚拟机的支持,现有的机密虚拟机只有少部分的cpu能够支持,绝大部分的存量cpu都无法支持nvidia的机密计算技术,因此其使用的场景是较为有限的,且需要额外的更换硬件的从成本。

8、现有的部分学术工作通常cpu或gpu的硬件修改从而对gpu tee进行支持,目前已有部分此类工作。

9、graviton是由微软研究院与里斯本大学合作完成的工作,发表在2018年的osdi大会上。graviton系统的主要目的是通过软硬件方案,对运行在gpu上的人工智能程序进行保护。系统假设在cpu上已经使用了诸如intel sgx等现有tee技术对cpu上的应用程序进行保护,graviton则进一步通过硬件层的加密技术,确保人工智能应用能够在gpu上被安全运行。具体来说,graviton系统通过构建加密信道的方式,确保gpu上代码与数据的隐私性。在cpu内部,有一个名为指令处理单元(command processor)的模块,该模块负责接收cpu发起的gpu操作指令。graviton系统对指令处理单元进行了扩展,在其中添加了一系列可信信道管理指令,用于可信信道的创建、销毁和信道属性配置。当需要运用gpu进行人工智能计算时,应用可首先通过远程验证的方式从gpu中的指令处理单元中获取一个加密信道的密钥,之后,当每次需要向gpu提交指令或上传数据时,都使用该密钥对指令以及数据的隐私性与完整性进行保护,这样能够保证恶意的系统软件无法破坏gpu中人工智能应用的代码与数据隐私性。当密文指令与数据被传递到gpu之后,gpu中的指令处理单元将能够在gpu内部解密这些指令与数据,并直接利用明文状态的指令与数据进行计算,其核心是利用cpu-gpu传输过程的加密,确保没有信道密钥的恶意操作系统无法窃取在gpu上所运行的指令与数据。

10、hix是一种通过对cpu硬件进行修改从而支持gpu tee的系统,发表在2019年的asplos大会上。hix系统尝试直接扩展intel的sgx技术,通过将gpu驱动保护在专用的gpuenclave中,从而进一步构建基于gpu的tee。因为该工作不需要修改gpu硬件,所以理论上可以支持已有的gpu设备。intel sgx技术本身构建的enclave抽象无法直接使用gpu,为解决这一问题,hix系统通过构建一个专用的gpu enclave来保护gpu驱动。gpu enclave能够直接通过mmio对gpu进行安全访问,而一般的enclave则能够通过与gpu enclave进行安全的跨e本文档来自技高网...

【技术保护点】

1.一种高性能异构可信执行环境实现方法,其特征在于,包括:

2.根据权利要求1所述的高性能异构可信执行环境实现方法,其特征在于,为所述XpuTEE监视器创建独立的执行环境,防止操作系统修改XpuTEE监视器。

3.根据权利要求1所述的高性能异构可信执行环境实现方法,其特征在于,所述XpuTEE监视器包括:内存权限控制模块、PCIe保护模块、通道管理模块以及Enclave认证模块;

4.根据权利要求3所述的高性能异构可信执行环境实现方法,其特征在于,所述内存权限管理模块包括:在操作系统和设备内存中构造enclave内存以阻止不受信任的CPU软件或GPU任务访问受保护的内存,通过对CPU MMU、IOMMU和GPU MMU进行独占控制,来管理CPU和GPU上的内存映射关系;

5.根据权利要求3所述的高性能异构可信执行环境实现方法,其特征在于,所述内存权限控制模块包括:CPU内存映射、GPU内存映射和IOMMU内存映射,并通过内存的映射构建CEnclave和XEnclave;

6.一种高性能异构可信执行环境实现系统,其特征在于,包括:

7.根据权利要求6所述的高性能异构可信执行环境实现系统,其特征在于,为所述XpuTEE监视器创建独立的执行环境,防止操作系统修改XpuTEE监视器。

8.根据权利要求6所述的高性能异构可信执行环境实现系统,其特征在于,所述XpuTEE监视器包括:内存权限控制模块、PCIe保护模块、通道管理模块以及Enclave认证模块;

9.根据权利要求8所述的高性能异构可信执行环境实现系统,其特征在于,所述内存权限管理模块包括:在操作系统和设备内存中构造enclave内存以阻止不受信任的CPU软件或GPU任务访问受保护的内存,通过对CPU MMU、IOMMU和GPU MMU进行独占控制,来管理CPU和GPU上的内存映射关系;

10.根据权利要求8所述的高性能异构可信执行环境实现系统,其特征在于,所述内存权限控制模块包括:CPU内存映射、GPU内存映射和IOMMU内存映射,并通过内存的映射构建CEnclave和XEnclave;

...

【技术特征摘要】

1.一种高性能异构可信执行环境实现方法,其特征在于,包括:

2.根据权利要求1所述的高性能异构可信执行环境实现方法,其特征在于,为所述xputee监视器创建独立的执行环境,防止操作系统修改xputee监视器。

3.根据权利要求1所述的高性能异构可信执行环境实现方法,其特征在于,所述xputee监视器包括:内存权限控制模块、pcie保护模块、通道管理模块以及enclave认证模块;

4.根据权利要求3所述的高性能异构可信执行环境实现方法,其特征在于,所述内存权限管理模块包括:在操作系统和设备内存中构造enclave内存以阻止不受信任的cpu软件或gpu任务访问受保护的内存,通过对cpu mmu、iommu和gpu mmu进行独占控制,来管理cpu和gpu上的内存映射关系;

5.根据权利要求3所述的高性能异构可信执行环境实现方法,其特征在于,所述内存权限控制模块包括:cpu内存映射、gpu内存映射和iommu内存映射,并通过内存的映射构建cenclave和xenclave;

...

【专利技术属性】
技术研发人员:华志超樊树霖夏虞斌陈海波
申请(专利权)人:上海交通大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1