包围区抽象模型制造技术

技术编号:22061464 阅读:37 留言:0更新日期:2019-09-07 18:44
描述了包围区安全平台的抽象编程模型,包括:根据包围区抽象协议从包围区接收请求,将请求转换成本机包围区协议,以及向本机平台发送经转换的请求。该请求可以例如是:创建证明报告,将数据密封到包围区,用以调用包围区的客户端中的函数、读取单调计数器、进行可信时间测量、或者分配与包围区和包围区客户两者共享的存储器的请求。

Abstract model of bounding area

【技术实现步骤摘要】
【国外来华专利技术】包围区抽象模型
本公开涉及安全计算系统。
技术介绍
安全隔离区域或可信执行环境提供安全容器(本文中称为包围区(enclave))以用于在计算机上执行可信代码,该计算机也可以在隔离区域之外的区域中具有较少可信代码。包围区的隔离区域包括在驻留在包围区之外的代码的执行期间受到保护的存储器的一部分。隔离存储器可以包含用于包围区的代码和数据两者,并且除了对从包围区存储器读取或向包围区存储器写入的限制之外,对该存储器的保护可以包括执行包含在包围区存储器中的代码的限制。诸如存储器隔离和执行限制等包围区安全性的各方面可以例如由计算机处理器中的硬件强制执行。软件证明可以提供对特定包围区的隔离安全性以及在该特定包围区的隔离存储器区域内加载的包围区代码的信任。证明可以另外提供所证明的包围区在其上运行的硬件和软件平台的完整性的证据。诸如微软的虚拟安全模式(VSM)和英特尔的软件保护扩展(SGX)等包围区系统部分地通过将包围区与以用户模式或内核模式运行的其他代码隔离来提供安全性。完整性和机密性保证可以提供对在包围区中运行的代码的真实性以及包围区代码的安全执行具有更高信任级别的包围区。可以通过特定包围区的软件证明来提供完整性保证。软件证明可以包括在包围区内的内容(指令和数据)的加密签名的散列,并且可以与关于包围区环境的数据组合。当包围区与硬件安全模块(HSM)(诸如符合可信计算组(TCG)可信平台模块(TPM)标准的硬件)结合使用时,包围区可以提供附加级别的安全性和机密性保证。除了通过将可信本地包围区与包围区的隔离之外的不可信本地代码隔离而提供的安全性之外,包围区的软件证明可以支持远程的可信计算。远程包围区的证明可以提供对包围区中的指令执行的完整性以及由包围区处理的数据的机密性的信任。当由来自可信制造方的硬件提供远程包围区的证明时,即使当包围区驻留在由不可信方拥有和维护的未知计算机上时,也可以信任包围区。例如,当在基于因特网云的计算资源上租用计算资源时,通常就是这种情况。
技术实现思路
提出了用于抽象包围区平台的方法和系统。该方法可以包括由包围区抽象平台从包围区客户端接收用于使用包围区的第一请求。第一请求可以符合客户端抽象协议。可以将第一请求转换为符合与包围区本机平台相关联的包围区本机协议的第二请求。然后可以将第二请求发送给包围区本机平台。例如,第一请求可以是用于实例化包围区的请求、用于验证包围区的证明报告的请求、用于调入包围区的请求、或者用于分配与包围区和包围区客户两者共享的存储器的请求。本机平台可以符合英特尔软件保护扩展(SGX)包围区架构,并且本机平台可以符合微软虚拟安全模式(VSM)包围区架构。附图说明图1描绘了包围区系统的示例高级框图。图2描绘了针对具有机密性保证的消息传递的示例过程。图3描绘了针对具有完整性保证的消息传递的示例过程。图4描绘了针对具有新鲜度保证的消息传递的示例过程。图5描绘了针对包围区的软件证明的示例过程。图6描绘了示例Diffe-Hellman(棣弗-赫尔曼)密钥交换(DKE)协议。图7描绘了用于软件证明的示例信任链。图8是用于示例本地包围区系统的软件组件接口的框图。图9是用于具有抽象层的示例本地包围区系统的软件组件接口的框图。图10是用于具有抽象层的示例远程包围区系统的软件组件接口的框图。图11描绘了示例通用计算环境。图12描绘了抽象本机包围区平台的方法的示例流程图。图13描绘了抽象本机包围区平台的方法的示例流程图。图14描绘了用抽象包围区身份执行包围区操作的方法的示例流程图。图15描绘了用抽象包围区身份执行包围区操作的方法1500的示例流程图。图16描绘了具有抽象包围区身份等价性的示例系统。图17描绘了具有两个等价包围区的并行处理的示例流程图。图18描绘了具有两个等价包围区的串行处理的示例流程图。图19是示例分布式数据密封系统的框图。图20是分布式数据密封和解封的示例流程图。图21是示例性密钥保管库包围区的框图。图22是一些密钥保管库包围区操作的示例流程图。图23是利用保管库锁定密钥的密钥保管库包围区操作的示例流程图。具体实施方式公开了一种用于包围区的抽象模型,其简化了包围区客户端的开发和在包围区内运行的软件的开发。抽象模型可以是本机包围区平台架构(诸如英特尔的SGX和微软的VSM)的简化和统一。抽象层软件组件可以在包围区客户端与一个或多个本机平台之间,在包围区内的软件与一个或多个本机包围区平台之间,以及在包围区内的软件与包围区客户端之间转换通信。这样的抽象平台可以提供使得单个版本的包围区软件和包围区客户端软件能够在诸如SGX和VSM的多个本机包围区平台之上运行的益处。除了简化为包围区和包围区客户端编写软件的任务之外,它还允许包围区的最终用户在支持任何所支持的本机包围区架构的计算机上运行包围区和包围区客户端软件,而无需找到针对特定计算机的本机包围区平台而定制的包围区和包围区客户端软件两者的版本。例如,包围区抽象模型可以包括用于以下操作的基元:管理包围区的生命周期,包围区的本地和远程证明,将数据密封到包围区,进出包围区的程序传输控制,以及其他安全特征,诸如单调计数器和可信时间。还呈现了包围区的抽象或分层身份,其将包围区的身份抽象到包围区内容的单个二进制或单个散列之外。呈现软件组件接口,诸如应用编程接口(API)或应用二进制接口(ABI),以用于使用抽象模型基元开发包围区和包围区客户端程序。抽象身份可以包括可以用于安全地标识包围区实例组的嵌套身份或身份层级。本文中的包围区实例可以是指加载到同一机器上的包围区中并且具有相同身份的相同包围区二进制代码。另一方面,新版本的二进制代码或加载到不同机器上的相同二进制代码可能被视为不同的实例。这些不同的实例在身份层级中的更高级别也可以具有相同的身份。抽象的包围区身份使得相关的包围区二进制的组能够被标识为相关的。例如,同一包围区的不同版本(诸如在修复错误之前和之后的包围区二进制的版本)可以被赋予相同的名称,而与版本无关。在更高的抽象层,一族包围区中的所有包围区都可以被赋予单个族名称或身份。在这种情况下,可以一起标识执行相关但不同功能的所有包围区。其他身份层或身份分组如下所述。抽象身份的任何层可以用于各种密码操作,诸如密封数据、包围区的证明、或保证数据新鲜度(经由单调计数器)。例如,通过将由一个包围区实例产生的数据密封到更高级别的身份,该数据随后可以由具有相同更高级别包围区身份的不同包围区实例安全地消费。通过将数据密封到例如包围区族,作为该族的成员的任何包围区实例并且仅该族的成员将能够解封数据。从包围区实例对族身份的证明可以提供包围区实例是该族的成员的确保。与身份抽象相关联的单调计数器可以提供与作为抽象身份的成员的所有包围区实例相关的新鲜度保证。所公开的抽象模型包括可以简化包围区和包围区主机的软件开发的软件组件接口,诸如应用编程接口(API)或应用二进制接口(ABI)。API是用于创建软件的一组编程子例程定义、协议和工具。API可以定义软件组件的输入和输出、由软件组件使用的数据类型、以及独立于软件组件的任何特定实现的软件组件的功能或操作。API可以用诸如C、C++、C#等高级计算机语言定义。API的形式化定义可以促进软件组件之间的交互,例如在不同时间或由不本文档来自技高网
...

【技术保护点】
1.一种用于由包括处理器和存储器的计算系统抽象包围区平台的方法,所述方法包括:由所述计算系统上实现的包围区抽象平台从包围区接收第一请求,其中所述第一请求符合包围区抽象协议;将所述第一请求转换为第二请求,其中所述第二请求符合与包围区本机平台相关联的包围区本机协议;以及向所述包围区本机平台发送所述第二请求。

【技术特征摘要】
【国外来华专利技术】2017.01.24 US 15/414,4481.一种用于由包括处理器和存储器的计算系统抽象包围区平台的方法,所述方法包括:由所述计算系统上实现的包围区抽象平台从包围区接收第一请求,其中所述第一请求符合包围区抽象协议;将所述第一请求转换为第二请求,其中所述第二请求符合与包围区本机平台相关联的包围区本机协议;以及向所述包围区本机平台发送所述第二请求。2.根据权利要求1所述的方法,其中:所述第一请求包括用于创建以下至少一项的请求:所述包围区的证明报告,或所述包围区的证明引用;并且发送所述第二请求创建以下至少一项:所述包围区的证明报告,或所述包围区的证明引用。3.根据权利要求1所述的方法,其中:所述第一请求包括用于将数据密封到所述包围区的请求;并且发送所述第二请求将所述数据密封到所述包围区。4.根据权利要求1所述的方法,其中:所述第一请求包括分配与所述包围区的客户端共享的存储器的请求;并且发送所述第二请求分配与所述包围区的客户端共享的存储器。5.根据权利要求1所述的方法,其中:所述包围区抽象协议使用第一调用协定;所述包围区本机协议使用不同于所述第一调用协定的第二调用协定;并且将所述第一请求转换为所述第二请求包括将所述第一调用协定转换成所述第二调用协定。6.根据权利要求1所述的方法,其中:所述包围区抽象协议包括从以第一证明报告格式的第一证明报告得出的第一参数;所述包围区本机协议包括从以第二证明报告格式的第二证明报告得出的第二参数,所述第二证明报告格式不同于所述第一证明报告格式;并且将所述第一请求转换为所述第二请求包括将所述第一参数转换成所述第二参数。7.根据权利要求1所述的方法,其中所述包围区抽象协议包括指示第一包围区身份的第一参数;所述包围区本机协议包括指示第二包围区身份的第二参数;并且将所述第一请求转换为所述第二请求包括将所述第一包围区身份转换成所述第二包围区身份。8.根据权利要求1所述的方法,还包括:确定所述包围区本机平台包括用于包围区的处理器指令;并且其中发送所述第二请求包括执...

【专利技术属性】
技术研发人员:M·科斯塔
申请(专利权)人:微软技术许可有限责任公司
类型:发明
国别省市:美国,US

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

1