当前位置: 首页 > 专利查询>英特尔公司专利>正文

将可信执行环境用于代码和数据的安全性制造技术

技术编号:16112795 阅读:73 留言:0更新日期:2017-08-30 06:08
实施例包括处理器,所述处理器耦合至存储器以便执行包括以下各项在内的操作:在所述存储器的受保护非特权用户地址空间中创建第一可信执行环境(TXE),所述第一TXE对第一数据和第一可执行代码中的至少一者进行第一测量并且当所述第一测量处于所述第一TXE内时使用持久性第一基于硬件的加密密钥来对所述第一测量进行加密;在所述非特权用户地址空间中创建第二TXE,所述第二TXE对第二数据和第二可执行代码中的至少一者进行第二测量;在所述非特权用户地址空间中创建第三TXE;在所述第一TXE与所述第三TXE之间创建第一安全通信通道并且在所述第二TXE与所述第三TXE之间创建第二安全通信通道;以及在所述第一TXE与所述第三TXE之间经由所述第一安全通信通道传达所述第一测量。

【技术实现步骤摘要】
【国外来华专利技术】将可信执行环境用于代码和数据的安全性
技术介绍
计算机系统对需要保护免于篡改和窃取的越来越多重要、敏感且有价值的信息进行处理。存在必须将秘密保存在平台上的许多软件应用。一些示例应用是财务/银行应用和医疗记录应用。每个秘密文件夹可能对其他秘密文件夹相互不信任,并且每个秘密可以独立于其他秘密而被保护。为了应对这种篡改和窃取,可以使用可信软件执行环境(TXE)。TXE阻止不可信软件访问可信软件和数据。软件防护扩展(SGX)是TXE的示例并且包括添加到架构中的一组指令和存储器访问变化。这些扩展允许应用将保护容器(有时被称为飞地)实例化。飞地是应用的地址空间中提供保密性和完整性的保护区域(甚至在存在特权软件的情况下)。阻止来自不驻留在飞地中的软件对飞地存储器区域的试图访问,甚至是来自如虚拟机监视器、BIOS或操作系统等特权软件的访问。附图说明根据所附权利要求书、以下对一个或多个示例实施例的详细描述和相应附图,本专利技术的实施例的特征和优点将变得显而易见。在认为适当的情况下,在附图当中重复参考标记以表示相应或相似的元件。图1包括本专利技术的实施例中的多个TXE。图2包括本专利技术的实施例中的多个TXE。图3包括本专利技术的实施例中的进程。图4包括本专利技术的实施例中的进程。图5包括本专利技术的实施例中的进程。图6包括与本专利技术的实施例一起使用的系统。具体实施方式在以下描述中,虽然阐述了许多特定细节,但是可以在没有这些特定细节的情况下实践本专利技术的实施例。未详细示出公知的电路、结构和技术,以避免模糊对本说明书的理解。“实施例”、“各种实施例”等指示如此描述的(多个)实施例可以包括特定特征、结构或特性,但并不是每个实施例必定包括所述特定特征、结构或特性。一些实施例可具有针对其他实施例而描述的特征中的一些特征、全部特征或不具有所述特征。“第一”、“第二”、“第三”等描述了共同对象并指示正提及相似对象的不同实例。这种形容词并不暗示如此描述的对象在或者时间上、空间上、排名上、或以其他方式必须采取给定的顺序。如以上所提出的,软件应用经常遭受来自恶意软件的篡改。如果恶意软件未被检查到,则恶意软件攻击代码流和数据,从而减小数据完整性。许多应用开发者并未意识到恶意软件风险和/或并不知道怎么保护他们的应用免于恶意软件威胁。这种开发者可以依赖于操作系统(OS)或防病毒(AV)软件来保护应用免受恶意软件的影响。然而,这种方法受限于OS不被感染的能力以及AV软件具有准确的恶意软件签名的能力。然而,实施例以新颖的方式使用TXE(例如,SGX)来有效地应对恶意软件。此外,实施例以容易实施的方式来这样做。例如,许多开发者并未意识到TXE和/或并不知道如何使用TXE来防护他们的应用。然而,实施例通过例如提供编程者可以用于容易地将他的或她的应用链接至TXE的一个或多个库来解决这些问题。实施例(1)对代码执行添加保护并确保数据完整性,(2)服务于一系列软件应用,(3)对开发者应用的应用具有很小的影响,并且(4)是高度可配置的。具体地,实施例使用链接至应用(例如,每应用进程1个可信代理)并且耦合至“可信管理器”(例如,每设备1个可信管理器)的一个或多个“可信代理”。可信管理器负责控制所述一个或多个可信代理的整体行为并且负责管理所有可信代理的数据。可信管理器和任何可信代理经由一个或多个安全通信通道(在包括可信和管理代理的设备的存储器内,或者经由具有不包括在设备中的实体的web)彼此通信并且与其他实体通信。可信代理在应用进程空间中运行并且收集与应用(例如,一个或多个应用的关键代码和/或数据)相对应的信息(例如,测量)。可以使用SGX来实施可信管理器和/或可信代理。可以将(多个)测量(由可信代理收集的)传递至可信管理器(经由安全通道)并且由可信管理器对其进行处理/验证。在另一个实施例中,可以将(多个)测量安全地发送给“后端服务”(比如,远离但耦合至包括(多个)可信代理和可信管理器的计算节点的计算节点),在所述后端服务处执行对测量的验证。可以将对“不良”测量(例如,已经被篡改/修改的代码和/或数据)的任何检测报告给用户和/或应用提供商和/或“后端服务”以供进一步处理。因此,可信管理器可以监测设备上的(多个)可信代理的测量,并且/或者后端服务可以监测可信管理器的测量。实施例可以进一步通过实施“保活(keepalive)”机构来应对恶意软件。“保活(keepalive)”信号(或者有时被称为“保活(keepalive)”信号)是由一个设备发送给另一个设备以便检查这两个设备之间的通信链路正在运行或者以便阻止此链路被破坏的信号(例如,消息)。例如,可以以预定义间隔发送保活信号。在发送信号之后,如果没有收到任何应答,则假设链路或可信代理停止运行或被损坏(可能由恶意软件损坏)。保活消息往往很短并且不占用很多带宽。然而,它们的精确格式和使用条件取决于通信协议。实施例拥有许多优点。例如,实施例可以包括可以在安全容器中运行关键代码并且可以对所述关键代码(或其部分)进行测量的TXE。实施例可以执行对篡改的自组织发现,不论恶意软件的性质(或者恶意软件的签名)如何。实施例几乎不依赖于OS的完整性和/或AV更新。实施例对不同代码/数据部分进行配置(在不同时间)以便进行测量。用于测量的“目标”部分是可配置的并且可由所有者、应用作者等控制。进一步地,通过将应用链接至(静态地或动态地)TXE环境,解决方案是“通用的”并且可以容易地与各种应用一起工作。因此,使能所述服务需要应用开发者的很少努力。最终,各种实施例使用安全的保活机构来阻止拒绝服务(DoS)攻击。DoS或分布式拒绝服务(DDoS)攻击是试图使机器或网络资源不可用于其预期用户。尽管用于执行DoS攻击的方式变化,但是这种攻击通常由临时或无限期地中断或暂停连接至互联网的主机的服务的努力组成。DoS攻击可以涉及使用外部通信请求来使目标机器饱和,到如此程度以至于目标机器无法对合法流量做出响应或者很慢地响应以至于被致使基本上不可用。这种攻击通常导致服务器过载。概括地说,可以通过以下方式来实施DoS攻击:或者强迫(多个)目标计算机复位;或者消耗其资源,从而使得其不再可以提供其预期服务;或者妨碍预期用户与受害程序之间的通信介质,从而使得它们不再可以充分地通信。DoS攻击还可以包括拒绝设备(比如,图1的系统100)内的服务(例如,拒绝对硬件机构的软件访问)。例如,这种DoS攻击可以包括拒绝对可信代理或可信管理器的适当操作;和/或拒绝对可信代理与可信管理器之间和/或可信管理器与后端服务之间的通信通道的操作。图1包括本专利技术的实施例中的多个TXE。计算节点100可以包括可信管理器TXE105,所述可信管理器TXE可以经由安全通信通道130、131、132而耦合至可信代理TXE101、102、103。可信代理TXE101、102、103可以对应于软件应用110、111、112。其他软件应用113、114、115、116可以不发起或对应于TXE。TXE101、102、103和/或105中的任何TXE可以经由安全通信通道133、134耦合至基于云的后端服务远程计算节点120。在实施例中,TXE101、102、103、105是在设备100上运行的环3服务。在实施例中,应用110、本文档来自技高网...
将可信执行环境用于代码和数据的安全性

【技术保护点】
一种由至少一个处理器执行的方法,所述方法包括:在至少一个存储器的受保护非特权用户地址空间中创建第一可信执行环境(TXE),所述第一TXE对第一数据和第一可执行代码中的至少一者进行第一测量并且当所述第一测量处于所述第一TXE内时使用持久性第一基于硬件的密钥来对所述第一测量进行加密;在所述非特权用户地址空间中创建第二TXE,所述第二TXE对第二数据和第二可执行代码中的至少一者进行第二测量;在所述非特权用户地址空间中创建第三TXE;在所述第一TXE与所述第三TXE之间创建第一安全通信通道并且在所述第二TXE与所述第三TXE之间创建第二安全通信通道;以及在所述第一TXE与所述第三TXE之间经由所述第一安全通信通道传达所述第一测量。

【技术特征摘要】
【国外来华专利技术】2014.12.16 US 14/572,0601.一种由至少一个处理器执行的方法,所述方法包括:在至少一个存储器的受保护非特权用户地址空间中创建第一可信执行环境(TXE),所述第一TXE对第一数据和第一可执行代码中的至少一者进行第一测量并且当所述第一测量处于所述第一TXE内时使用持久性第一基于硬件的密钥来对所述第一测量进行加密;在所述非特权用户地址空间中创建第二TXE,所述第二TXE对第二数据和第二可执行代码中的至少一者进行第二测量;在所述非特权用户地址空间中创建第三TXE;在所述第一TXE与所述第三TXE之间创建第一安全通信通道并且在所述第二TXE与所述第三TXE之间创建第二安全通信通道;以及在所述第一TXE与所述第三TXE之间经由所述第一安全通信通道传达所述第一测量。2.如权利要求1所述的方法,包括:经由包括指令的库将所述第一TXE链接至所述第一可执行代码和所述第一数据中的所述至少一者,所述指令响应于被执行而使所述至少一个处理器创建所述第一TXE。3.如权利要求1所述的方法,包括:在所述第一TXE与所述第三TXE之间建立保活服务。4.如权利要求1所述的方法,包括:所述第一TXE在所述非特权用户地址空间中对附加数据和附加可执行代码中的至少一者进行附加测量。5.如权利要求4所述的方法,其中,所述第一可执行代码和所述附加可执行代码两者至少对应于第一软件应用的一部分。6.如权利要求5所述的方法,包括:所述第一软件应用对所述第一TXE进行初始化。7.如权利要求6所述的方法,包括:所述第一软件应用在对所述第一TXE进行初始化之后周期性地启动所述第一TXE。8.如权利要求7所述的方法,包括:对所述第一数据和所述第一可执行代码中的至少一者进行测量,并且在所述第一TXE与所述第三TXE之间经由所述第一安全通信通道传达所述测量,当所述测量仍处于所述第一TXE内时,基于所述第一基于硬件的密钥对所述测量进行加密。9.如权利要求1所述的方法,包括:将所述第一测量存储在所述至少一个存储器中;其中,所述第一TXE包括虚拟存储器区域,所述虚拟存储器区域限定所述第一TXE并且阻止在所述第一TXE之外执行的软件对所述第一TXE之内的软件和数据进行访问。10.如权利要求9所述的方法,包括:当所述第一测量被存储在所述至少一个存储器中时,所述第三TXE访问所述第一测量。11.如权利要求10所述的方法,其中,所述至少一个存储器在所述第一TXE与所述第三TXE之间共享。12.如权利要求11所述的方法,包括:将所述第二测量存储在所述至少一个存储器中。13.如权利要求1所述的方法...

【专利技术属性】
技术研发人员:N·奈什尔A·贝伦宗B·柴金
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国,US

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

1