可信和不可信设备间计算的安全执行和卸载的系统和方法与流程

文档序号:36826268发布日期:2024-01-26 16:37阅读:16来源:国知局
可信和不可信设备间计算的安全执行和卸载的系统和方法与流程

本公开总地涉及用于执行卷积神经网络(cnn)的机制,并且更具体地,涉及用于在云基础设施内安全地执行和卸载cnn计算和操作的改进的计算机化框架。


背景技术:

1、目前,许多组织正在将其计算机化的操作、数据、系统设计和整体服务套件从本地(“on-prem”)计算平台迁移到云。这导致许多这些组织依赖云基础设施的基础技术、功能和能力来执行它们的许多(如果不是全部)计算。


技术实现思路

1、依赖云及其基础设施来执行操作和计算可以提供许多技术优势,这些技术优势的范围从管理数据的方式和如何执行操作,到执行这种管理和操作的机器和/或操作环境的类型。例如,云基础设施可以使能实现更高的可扩展性、增加的可访问性和更无忧的维护环境,以及其他优势。

2、因此,可能不属于企业或云提供商的高度敏感数据(例如,诸如个人可标识信息(pii))被加密。这种加密对传输中的数据和存储中的静态数据二者都有效。然而,这种数据在计算期间被存储器使用时没有被加密。这样,常规的操作环境在计算期间为恶意行为者提供了访问敏感数据的机会,这与托管和/或管理这种数据的机制背道而驰。

3、由于保护个人数据的法规的实施,保护使用中的敏感数据的能力对服务提供商来说从未如此重要。为了补救这一点,常规系统在重新设计常规计算基础设施以使能实现机密计算方面投入了大量的努力。这样做的目的是通过在被称为可信执行环境(tee)的隔离存储器中执行计算来保护使用中的数据。tee被设计用于防止恶意行为者访问数据或修改计算。通常,tee被设计为内置于中央处理单元(cpu)中的一组安全指令代码,其使能实现安全的基础设施并提供敏感和受管制数据的安全管理,从而向组织和数据所有者保证它们的数据受到保护。

4、使用大量敏感数据在tee中执行的一种类型的应用是卷积神经网络(cnn)。cnn被设计为一组重复的层,其中每一层计算特定的操作,例如卷积、计算给定数字组的最大值、将负数映射到零等等。

5、作为非限制性示例,cnn模型被设计成指定哪些层将以什么顺序运行。然后,通过使用数百万输入数据来训练这个设计的模型,这些输入数据被标记以供网络学习,并从而输出特定的模型参数。然后,经训练的模型用于推理(例如,执行经训练的模型)以输出给定输入数据的标签。训练需要更多的计算,并且可能花费几个小时来输出推理中要使用的网络参数。一旦模型从训练中准备好了,推理就是快得多的过程。卷积是任何cnn执行的所有操作中最昂贵的操作。

6、在常规计算平台中,运行与非敏感数据卷积的最有效技术是通过图形处理单元(gpu)来完成的。这是因为卷积操作可以转换为矩阵乘法,并且对于这种运算,gpu比cpu提供更好的效率。因此,在普通的计算中,训练将矩阵乘法的计算从cpu卸载到gpu。然而,对于机密计算,当cnn的执行在tee中受到保护时,从基于cpu的tee卸载到gpu在计算上变得不那么微不足道。

7、一种当前的技术被称为slalom,它关注于计算cnn中的卷积以用于推理,其声称矩阵乘法对于整合用于安全训练来说是几乎太具挑战性的操作。专门为用cnn推理而设计的slalom提供了一种隐私和完整性保护方法,用于将计算从tee(例如,软件保护扩展(sgx))安全地卸载到gpu(例如,不可信环境),以便加速计算。如下面更详细讨论的,然而,slalom的当前迭代有关于它们的训练和实现的计算限制的负担。也就是说,slalom的当前操作配置和实现在训练期间和卸载期间成为安全暴露的受害者,并且另外导致缓慢的执行时间(例如,这与卸载操作的目的相反),从而妨碍了cnn模型的安全和有效操作。

8、除了其他缺点以外,所公开的系统和方法通过提供在云基础设施内安全地执行和卸载cnn计算和操作的计算机化框架解决了这些缺点。也就是说,根据一些实施例,如本文所讨论的,所公开的框架提供了用于将矩阵乘法计算从tee安全地卸载到gpu的新颖机制,在一些实施例中,所述新颖机制可以针对cnn模型训练来执行。此外,在一些实施例中,所公开的框架可以操作来隐藏和保护权重,同时与“一直”更新的矩阵一起工作(例如,不执行任何预先计算)。

9、如本文所讨论的,所公开的框架提供了非原生的功能和能力,这些功能和能力提供了改进的slalom(仅出于参考目的,称为“slalom plus”)。这一改进版本与现有版本相比具有可量化的改进和益处,尤其如下所述。

10、根据一些实施例,所公开的系统和方法可以操作来改进slalom操作方式的安全性。也就是说,slalom的当前版本是在假设模型的权重已知并保持公布的情况下执行的。这最终可能导致在安全性方面更弱的系统。与此相反,所公开的框架通过在处理、存储期间和训练期间隐藏和保护模型的权重来操作,从而改进敏感数据被保护的方式。

11、在一些实施例中,所公开的系统和方法可以扩展训练模型的计算的安全卸载。slalom的现有版本只在经训练的模型就绪使用时才进行推理工作。与此相反,所公开的框架确保安全卸载是可操作的,并且被运用于模型训练处理。

12、此外,slalom的现有版本将推理处理划分为两个部分:i)离线阶段和ii)在线阶段。离线阶段用于进行繁重的计算,这些计算将在在线阶段使用。然后,在线阶段通过使用来自离线阶段的预先计算的值,在推理期间仅执行便宜的操作。在离线阶段进行的计算与在没有任何gpu加速的情况下在tee中运行的完整处理一样昂贵。因此,总的来说,slalom进行了比它应该进行的操作多得多的操作,这导致了它在其中执行的操作环境的额外费用和资源消耗。事实上,slalom的当前版本仅将昂贵的矩阵乘法推到先前时间来使事物就绪使用,并且这些预先计算的矩阵存储在tee中,这是系统上的另一个资源消耗。

13、根据一些实施例,所公开的框架通过不执行任何离线/预先计算阶段来补救这一点。所公开的框架也不使用任何额外的存储器来存储要在在线阶段使用的大数据。因此,所公开的系统和方法证明了是现有slalom版本的计算效率更高、更准确且更便宜的迭代。

14、作为非限制性示例,根据一些实施例,分别给定大小为a×b和b×c的两个矩阵x和w,现有slalom操作(包括预处理)的总时间复杂度为o(a*b*c+a*b),存储器复杂度为o(a*b)。如本文的公开所证明的,所公开的框架的改进的slalom配置和操作具有o(r*(a2+b2+c2))的时间复杂度,例如,其中“r”是小标量,例如3,而没有存储器复杂度要求。因此,该系统更高效地操作,同时确保并改进云的操作标准,以除了在传输期间和静止时之外还在使用中时保护数据。

15、虽然本文的讨论将关注于cnn的训练和执行,但是它不应该被解释为限制,因为本领域的普通技术人员将理解,根据所公开的系统和方法,可以利用其他形式的已知或将要已知的深度神经网络(dnn),而不脱离本公开的范围。

16、根据一些实施例,公开了一种在云基础设施内提供cnn计算和操作的安全执行和卸载的方法。

17、根据一个或多个实施例,本公开提供了用于施行上述技术步骤的非暂时性计算机可读存储介质。所述非暂时性计算机可读存储介质具有有形地存储在其上或有形地编码在其上的计算机可读指令,当由设备执行时,所述计算机可读指令使得至少一个处理器执行一种方法,该方法在云基础设施内提供cnn计算和操作的安全执行和卸载。

18、根据一个或多个实施例,提供了一种系统,该系统包括被配置成提供根据这样的实施例的功能的一个或多个计算设备和/或装置。根据一个或多个实施例,功能体现在由至少一个计算设备和/或装置执行的方法的步骤中。根据一个或多个实施例,由计算设备的处理器执行以实现根据一个或多个这样的实施例的功能的程序代码(或程序逻辑)被体现在非暂时性计算机可读介质中、由非暂时性计算机可读介质体现和/或体现在非暂时性计算机可读介质上。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1