首页 / 专利库 / 电脑零配件 / 固件 / 软件 / 恶意软件 / 用于对系统中的多个可信执行环境进行控制的系统、设备和方法

用于对系统中的多个可信执行环境进行控制的系统、设备和方法

阅读:1034发布:2020-07-19

专利汇可以提供用于对系统中的多个可信执行环境进行控制的系统、设备和方法专利检索,专利查询,专利分析的服务。并且在 实施例 中,一种系统被适配用于:将虚拟可信 执行环境 的至少一个测量结果记录在所述系统的存储装置中,并且生成密封于此测量结果的状态的秘密;使用所述虚拟可信执行环境创建隔离环境,所述隔离环境包括安全飞地和应用,所述虚拟可信执行环境用于保护所述隔离环境;在所述应用中接收与所述虚拟可信执行环境相关联的第一测量结果引证以及与所述安全飞地相关联的第二测量结果引证;将关于所述第一和第二测量结果引证的引证信息传达给远程证明服务,以使得所述远程证明服务能够验证所述虚拟可信执行环境和所述安全飞地,并且,响应于所述验证,所述秘密将被提供至所述虚拟可信执行环境和所述隔离环境。描述并要求保护了其他实施例。,下面是用于对系统中的多个可信执行环境进行控制的系统、设备和方法专利的具体信息内容。

1.一种方法,包括:
将虚拟可信执行环境的至少一个测量结果记录在系统的可信平台模的存储装置中,并且生成密封于所述可信平台模块的状态的秘密;
使用所述虚拟可信执行环境创建隔离环境,所述隔离环境包括安全飞地、应用和驱动器,所述驱动器用于与所述虚拟可信执行环境接口连接,所述虚拟可信执行环境用于保护所述隔离环境;
在所述应用中接收与所述虚拟可信执行环境相关联的第一测量结果引证以及与所述安全飞地相关联的第二测量结果引证;以及
将关于所述第一测量结果引证和所述第二测量结果引证的引证信息传达给远程证明服务,以使得所述远程证明服务能够验证所述虚拟可信执行环境和所述安全飞地,其中,响应于所述验证,所述秘密将被提供至所述虚拟可信执行环境和所述隔离环境。
2.如权利要求1所述的方法,进一步包括:通过对所述可信平台模块的多个平台配置寄存器(PCR)进行扩展来记录所述至少一个测量结果。
3.如权利要求2所述的方法,进一步包括:测量引导代码、固件操作系统;以及通过对所述可信平台模块的所述多个PCR中的至少一些PCR进行扩展来记录所述测量结果。
4.如权利要求2所述的方法,进一步包括:将反恶意软件代理的测量结果扩展到所述可信平台模块的所述多个PCR中的第一PCR;执行所述反恶意软件代理以创建所述隔离环境;
以及将所述隔离环境的测量结果扩展到所述第一PCR。
5.如权利要求4所述的方法,进一步包括:将无效测量结果扩展到所述第一PCR以使所述第一PCR的状态中毒。
6.如权利要求5所述的方法,进一步包括:在扩展所述无效测量结果之前生成密封于所述可信平台模块的状态的所述秘密,以防止对所述秘密的未经授权的访问
7.如权利要求1所述的方法,其中,所述应用用于将所述第一测量结果引证的第一信息与所述第二测量结果引证的第二信息进行组合以生成用于传达给所述远程证明服务的所述引证信息。
8.如权利要求7所述的方法,进一步包括:从所述远程证明服务接收关于成功认证的响应。
9.如权利要求8所述的方法,进一步包括:响应于所述响应,将所述秘密分发到所述安全飞地以及所述隔离环境的驱动器。
10.如权利要求9所述的方法,其中,所述驱动器和所述安全飞地用于使用所述秘密来执行相互证明,并且此后使得数据能够在所述驱动器与所述安全飞地之间传达。
11.一种机器可读存储介质,包括机器可读指令,所述机器可读指令当被执行时用于实现如权利要求1至10中任一项所述的方法。
12.一种系统,包括:
处理器,所述处理器包括:
主机域,所述主机域具有至少一个核以及用于提供可信存储通道和可信控制通道的第一安全代理;
可信执行代理,所述可信执行代理包括第一存储装置,所述第一存储装置用于存储与第一内容相关联的第一内容许可证,所述可信执行代理包括第一逻辑,所述第一路基用于:
检测所述系统是否被ROOT;
以及如果是,则实施与所述第一内容相关联的一个或多个安全策略;
以及
虚拟化引擎,所述虚拟化引擎用于提供可信存储环境,所述可信存储环境具有在所述主机域与所述可信执行代理之间的共享文件系统;
以及
存储装置,所述存储装置耦合到所述处理器以存储受所述第一内容许可证保护的所述第一内容,其中,所述存储装置用于维持所述可信存储环境。
13.如权利要求12所述的系统,其中,所述可信存储通道用于与所述可信存储环境进行通信,并且所述可信控制通道用于与架构飞地进行通信,其中,所述架构飞地用于与所述可信执行环境进行通信。
14.如权利要求12所述的系统,其中,所述虚拟化引擎用于创建包括所述可信存储环境的虚拟盘。
15.如权利要求12所述的系统,其中,所述存储装置包括第一级存储器和第二级存储器,其中,所述处理器包括用于与所述第一级存储器进行通信的存储器控制器,所述第一级存储器包括存储器侧高速缓存,所述存储器侧高速缓存对软件透明并且由所述存储器控制器进行管理。
16.如权利要求15所述的系统,其中,所述可信存储环境用于将所述第一内容存储在所述第二级存储器中并且将所述第一内容许可证存储在所述第一级存储器中。
17.如权利要求16所述的系统,其中,所述可信执行代理用于将删除消息传达给所述处理器的存储器保护引擎,所述存储器保护引擎用于将所述删除消息传达给所述第二级存储器,以使所述第二级存储器删除所述第一内容。
18.如权利要求12所述的系统,其中,所述可信执行代理用于通过以下各项中的至少一项来实施所述一个或多个安全策略:删除所述第一内容;防止加载所述第一内容;以及选择性地加扰所述第一内容和所述第一内容许可证。
19.如权利要求12所述的系统,其中,所述可信执行代理用于记录在所述系统被ROOT时播放所述第一内容的尝试,并且用于将与所述尝试相关联的信息传达给与所述第一内容相关联的第一内容提供方。
20.如权利要求12所述的系统,其中,所述可信执行代理包括以下各项中的至少一项:
与输入/输出适配器接口相关联的融合式安全引擎;以及具有多个受保护分区的安全存储器飞地。
21.如权利要求12所述的系统,其中,当所述系统被ROOT之前,所述第一内容被存储在所述存储装置中,并且所述第一内容许可证用于表明如果所述系统变为被ROOT则将删除所述第一内容,所述第一内容和所述第一内容许可证与第一内容提供方相关联,并且其中,在检测到所述系统被ROOT之后,与第二内容提供方相关联并存储在所述存储装置中的第二内容将被维持在所述存储装置中。
22.如权利要求12所述的系统,其中,所述虚拟化引擎用于启用所述可信存储环境的多个实例,所述多个实例包括:
用于在所述主机域上执行的第一个可信存储环境实例;
用于在可管理性引擎上执行的第二可信存储环境实例;以及
用于以所述主机域的可信虚拟化模式执行的第三可信存储环境实例。
23.一种系统,包括:
用于提供具有第一可信执行环境和第二可信执行环境的系统的装置,所述第一可信执行环境和所述第二可信执行环境中的每一个都是隔离环境并且至少部分地基于共享秘密而彼此相互认证;
用于在所述第一可信执行环境中接收所述系统已被启用以进行根访问的指示的装置;
以及
用于将所述根访问的状态传达给所述第二可信执行环境以响应于根访问状态而使所述第二执行环境实施与存储在所述系统中的安全内容相关联的安全策略的装置,所述安全策略实施包括以下各项中的至少一项:删除所述安全内容;以及撤销与所述安全内容相关联的许可证。
24.如权利要求23所述的系统,进一步包括:用于经由所述第二可信执行环境提供虚拟化存储系统的装置,所述虚拟化存储系统具有在所述第一可信执行环境与所述第二可信执行环境之间的共享文件系统,所述共享文件系统用于存储所述安全内容,并且其中,所述第二可信执行环境将所述许可证存储在与所述共享文件系统分离的可信存储装置中。

说明书全文

用于对系统中的多个可信执行环境进行控制的系统、设备和

方法

技术领域

[0001] 实施例涉及计算机系统的安全性。

背景技术

[0002] 为了提高计算机系统的安全性,一些系统可能提供有可信执行环境。这样的环境可以与在系统内执行的其他代码或其他实体隔离并因此受到保护,以防止如由恶意软件或其他已知的安全攻击的未经授权的访问。然而,依然可能存在许多安全问题。此外,当多个隔离环境在平台内可用时,它们通常不相互信任,并且因此某些使用模式变得复杂。
[0003] 在系统中可能出现的另一安全问题是,在将诸如经许可的视频、音乐或其他内容的安全内容下载到系统之后,装置就变为被ROOT。然而在ROOT状态下,即使防止所述被ROOT装置下载附加安全内容,在被ROOT系统中仍可能不希望地发生对所述安全内容的未经授权的访问。附图说明
[0004] 图1是根据本发明的实施例的计算系统的高级框图
[0005] 图2是根据本发明的一个实施例的用于在计算系统内创建多个可信环境并执行远程证明的高级方法的流程图
[0006] 图3是如本文所述的用于在创建安全环境中执行准备操作的方法的流程图。
[0007] 图4是根据本发明的一个实施例的用于执行另外的准备操作的方法的流程图。
[0008] 图5是根据本发明的一个实施例的用于执行隔离环境之间的相互认证的示例方法的流程图。
[0009] 图6是根据本发明的另一实施例的计算机系统的框图。
[0010] 图7是根据实施例的另一系统的框图。
[0011] 图8是用于在系统的引导环境中执行安全内容清除操作的方法的流程图。
[0012] 图9是用于在系统的运行时环境期间执行安全内容清除操作的方法的另一流程图。
[0013] 图10是根据另一实施例的用于执行安全内容清除操作的方法的流程图。
[0014] 图11是可以与实施例一起使用的示例系统的框图。
[0015] 图12是根据本发明的另一实施例的系统的框图。

具体实施方式

[0016] 在各实施例中,计算系统的多个安全环境(包括基于飞地的安全环境和基于虚拟化的安全环境)可以被认证并彼此相互证明。以这种方式,在这样的相互证明之后,隔离环境可以在系统运行期间共享信息,如供用户使用的安全信息和其他认证。情况就是这样,因为一些处理器使平台能够支持多种不同的可信执行环境(TEE)技术。可以使用实施例来确保这些技术之间的证明。
[0017] 如将在特定实施例中描述的,可以使用 软件防护扩展(SGX)飞地来实现一个可信执行环境,并且可以使用虚拟化技术(VT)虚拟可信执行环境来实现第二TEE。这些技术连同平台基础设施软件可以各自通过将存储器区域与富操作系统(OS)隔离并提供围绕存储器区域的访问控制规则来提供TEE,以便仅允许对经授权实体访问。
[0018] 在另一实施例中,平台芯片组中的或集成到处理器包的非核中的知识产权(IP)可以在SGX飞地和融合式安全引擎(CSE)之间进行通信。此外,对于涉及CSE到SGX和CSE到VT的组合,可以扩展SGX和VT实体之间的证明。在这样的实施例中,CSE可以保留存储器映射的IO区域,使得允许访问经授权实体的存储器区域隔离机制可以与诸如CSE的安全协处理器一起被采用。
[0019] 实施例允许多个TEE提供可验证的证据,证明对应的TEE是有效/良好的并且是所述平台本地的。也就是说,SGX飞地可以证明它被授权给VMM,并且反之亦然,并且都驻留在同一物理平台上。以这种方式,安全解决方案可以跨越两种TEE技术,并且向远程方提供有意义的证明。一个示例安全解决方案是针对SGX飞地使用基于VT的可信I/O,例如,你即密码(You-Are-the-Password:YAP)场景,其中然后将包含虹膜扫描生物特征信息的VT增强页表(EPT)保护的相机数据传送到SGX飞地,以便与预先供应的模板进行匹配。在处理器的标准操作模式(也称为富执行环境(REE))之外执行的这种操作可以提供更高的安全性保证,因为REE易受恶意软件攻击,并且因此不适合于保护用户数据(如生物特征)的隐私,以及易于重放攻击,例如欺骗生物特征认证匹配。
[0020] 现在参考图1,示出了根据本发明的实施例的计算系统的高级框图。如图1所示,系统100可以是从小型穿戴式和/或便携式装置(如给定的可穿戴装置、智能电话、平板计算机等)到较大系统(如台式计算机、服务器计算机等)范围内的任何类型的计算平台。如所看到的,系统100包括系统硬件110。虽然这种系统硬件的许多不同实现方式是可能的,但在典型情况下,硬件至少包括一个或多个处理器、一个或多个存储器和存储装置、和一个或多个生物特征认证装置、以及一个或多个通信接口以及其他组件。在特定实现方式中,硬件110可以进一步包括安全硬件,所述安全硬件在实施例中可以采用可信平台模块(TPM)的形式。
[0021] 仍然参考图1,虚拟可信执行环境(TEE)120可以在这个系统硬件上执行。在实施例中,虚拟可信执行环境120可以被实现为存储器核(MemCore)虚拟机监视器(VMM),以提供基于虚拟化的TEE。
[0022] 进而,可以使用虚拟化可信执行环境120启动隔离环境130。在图1所示的实施例中,隔离环境130包括驱动器132,所述驱动器在实施例中是与虚拟化TEE 120接口连接并进一步与目标应用134接口连接的环0存储器核驱动器,所述目标应用在实施例中可以是环3应用。进而,应用134可以与目标飞地136接口连接,所述目标飞地在实施例中可以是经由存储器环境的受保护部分提供的给定安全飞地。进而,目标飞地136可以与引证飞地(quoting enclave)138进行通信。在各实施例中,引证飞地138可以被适配用于签署代表目标飞地136的引证(quote),例如使用基于 的增强隐私ID(EPID)。
[0023] 如图1进一步展示的,系统100可以经由给定的网络(如基于互联网的网络)耦合到验证服务器180,所述验证服务器可以被实现为特定实体的远程证明服务的一个或多个服务器。在所示的实施例中,目标应用134可以控制与这个验证服务器180的通信。应当理解,尽管在图1的实施例中以这种较高层次示出,但许多变体和替代方案是可能的。
[0024] 在实施例中,可以使用TPM测量到的MemCore VMM 120的启动来在不可信的第三方代码被安装之前建立有效/良好的MemCore VMM。名称MemCore指提供基于VT的TEE的VMM(和环0代理)软件。在实施例中,这个MemCore通过定义仅包括目标数据和被授权访问所述目标数据的代码的页表,对存储器的区域(称为“存储器视图”)使用基于扩展页表(EPT)的隔离/保护。
[0025] 可以包括不可信和可信飞地代码的SGX应用(例如,应用134)与引证飞地和其他与SGX相关的运行时代码一起被启动。这些与SGX相关的实体可以由MemCore包封在(多个)隔离的存储器区域130中,使得它们无法与外部实体通信或被外部实体覆灭。因为SGX EPC存储器的地址转换经受页转换和许可检查,所以EPT保护应用于SGX飞地页高速缓存(EPC)存储器。
[0026] SGX和TPM提供某些局部性保证、软件测量、引证和密封存储能。提供关于所启动的MemCore VMM的可验证证据的引证可以源自TPM;并且关于SGX飞地的引证可以源自其对应的引证机制。SGX组件的MemCore隔离防止中间人攻击,并且与SGX和TPM引证属性一起使用,以确保平台上的局部性。针对MemCore的TPM引证和SGX引证可以被绑并发送到远程验证服务。如果通过验证,则MemCore和SGX彼此进行相互认证,并且它们建立共享秘密K,所述共享秘密可以在后续引导中使用,而不需要网络访问或验证服务。一旦MemCore和这个第一SGX飞地相互认证,根据需要,其他SGX飞地就可以被列入白名单并且通过SGX本地证明和通信被MemCore认证。
[0027] 现在参考图2,示出了用于在计算系统内创建多个可信环境并通过远程证明服务来证明所述可信环境的高级方法的流程图。应当理解,在图2所示的实施例中,操作可以由所述系统内的许多不同的实体执行,包括硬件、软件、和/或固件的各种组合,包括被配置用于执行所述方法的一个或多个部分的操作的硬件控制逻辑。如所看到的,方法200开始于将虚拟TEE测量结果记录在TPM中(框210)。这个测量结果可以是虚拟控制实体,如用于控制进入和退出虚拟机的VMM、超级管理程序或其他管理程序控制逻辑或在虚拟可信执行环境下执行的其他虚拟化逻辑。在实施例中,所述记录可以是虚拟可信执行环境的可信状态的测量结果,并且可以被存储在安全存储装置中,所述安全存储装置被包括在TPM(如一个或多个平台配置寄存器(PCR))中或以其他方式与其相关联。
[0028] 接下来,控制转到框220,在所述框中可以使用虚拟可信执行环境使秘密密封于这个TPM状态。在实施例中,可以是加密生成的秘密值(如密钥、凭证或其他签名)的所述秘密可以被存储在适当存储装置(如与TEE相关联的可信存储装置)中。
[0029] 仍然参考图2,接下来在框230处,可以创建隔离环境。更确切地,虚拟TEE可以创建此隔离环境。在实施例中,此隔离环境可以包括各种逻辑或其他模块。在代表性实施例中,这种模块包括环3(即,用户模式)应用、可信驱动器(其在实施例中可以是与虚拟TEE接口连接的环0(即,管理程序模式)驱动器)、安全飞地和测量结果飞地,所述测量结果飞地可以被配置用于响应于请求而提供测量结果。
[0030] 接下来在框240处,隔离环境和虚拟可信执行环境的引证可以被提供至远程证明服务。在实施例中,隔离环境内的应用可以请求测量结果引证,可以从安全飞地(其进而从测量结果飞地获得测量结果)和虚拟TEE中接收所述测量结果引证。注意,在不同的实现方式中,来自这两个不同测量结果的某些测量结果信息可以以某种方式连接以向远程证明服务提供总体测量结果引证。在实施例中,可以执行对所述两个测量结果引证进行简单的组合。在其他情况下,所述两个测量结果引证的仅一部分可以被提取并包含在测量结果引证中,所述测量结果引证可以作为加密blob被发送。
[0031] 仍然参考图2,接下来在框250处,可以从远程实体接收成功证明报告。在实施例中,发送测量结果引证的应用可以接收这个成功报告。进而,所述应用可以处理所接收的报告(框260),所述报告在实施例中可以包括原始秘密,所述原始秘密可被发送到对应的实体(即,隔离环境和虚拟TEE)以进行安全存储。因此,这些分开且隔离的实体可以使用这个共享秘密来执行未来的相互认证或证明。应当理解,尽管在图2的实施例中以这种较高层次示出,但许多变体和替代方案是可能的。
[0032] 在实施例中,认证技术的第一部分包括将VT TEE(MemCore)的测量结果记录在TPM中并且使秘密K密封于TPM的当前状态。这个部分利用安全和测量到的引导保护并且将MemCore的测量结果扩展到TPM PCR来完成。当启动MemCore时,生成秘密K并将使其密封于当前PCR状态,从而确保在引导过程中每次在平台和PCR位于同一状态时仅由同一实体(MemCore)提取秘密K。
[0033] 接下来,可以创建环境以获取来自MemCore和目标SGX飞地的引证。在实施例中,这个隔离环境包括目标飞地、引证飞地、目标应用(目标飞地的非飞地部分)以及MemCore驱动器。可以使用MemCore保护来启动这整个环境,从而确保在这个可信计算基础(TCB)之外的未经授权方不能拦截或插入或影响这些可信方之间的任何通信。目标应用获得包括密封秘密K的MemCore环境的测量结果引证。这个引证包含关于通过签名的TPM值和TCG日志的引导链的信息,允许知识渊博的第三方评估此信息并对平台的引导链作出声明。另外,目标应用从目标飞地获得关于与平台相关联的SGX测量结果的测量结果引证。基于SGX的应用(飞地)可以向后端服务器证明自身。目标应用将两个引证(来自TPM和SGX)组合在单个blob中,并将其发送到单个安全套接字层(SSL)会话中的后端证明服务器。
[0034] 在所述引证的后端证明之后,可以分发共享秘密K。因此,如果后端服务器可以正确验证所述两个TEE,则它将包括共享秘密K的成功响应发送回飞地和MemCore两者。所述两个TEE对来自服务器的成功响应进行评估,并且然后使用共享秘密进行未来通信。来自后端证明服务器的额外挑战临时值可以作为交换的一部分包括在内,以证明活跃。
[0035] 通过这整个绑定过程,MemCore保护确保了被绑定的飞地位于MemCoreTEE可信边界内。此初始绑定是一次性过程,其在未来重启期间可被避免,除非系统环境的某些核组件改变。因此,未来的操作不会实施冗长的初始化过程,而是可信环境通过共享秘密K彼此建立信任。
[0036] 因此,实施例提供了基于VT EPT的TEE(基于MemCore)和SGX飞地的双向认证技术,而无需指令集架构扩展,从而在初始绑定过程期间在飞地上使用MemCore保护并且使用此保护来在各方之间传达秘密。
[0037] 在高级别处,证明可以作为OS安装的一部分被执行。在实施例中,最终用户可以下载并安装SGX/MemCore保护的环境。进而,应用安装程序注意到MemCore安装丢失并且启动安装过程。如果SGX安装丢失,则其首先被安装。然后建立所有架构飞地。还可以验证与SGX后端证明服务的通信。此后,安装了MemCore元件,目的是在SGX和MemCore之间建立公共的秘密“K”。在基于WindowsTM的平台上,此MemCore可以被安装为MicrosoftTM早期启动反恶意软件(ELAM)代码的一部分,从而允许早期测量到的引导位于引导链内。接下来,用TPM和后端服务器进行AIK供应过程。未来使用AIK来获得TPM测量结果引证。注意,MemCore安装可以包括对基于EPT的存储器视图(页表)和相关联的自我保护的环0代理进行管理的VMM中的底层可信存储器服务层环境。如果当前环境中存在VMM(如WindowsTM Hyper-V),则MemCore VMM可以被安装为Hyper-VTM的顶部上的嵌套VMM。如果根VMM不存在,则MemCore VMM被安装为根VMM。此后,安装了经签名的MemCore驱动器和目标应用。此时,请求重新引导,这导致使用安全/测量到的引导来重新引导新环境。
[0038] 接下来,MemCore的测量结果可以被制成TPM。在一个实施例中,作为安全/测量到的引导平台的一部分,固件和OS测量结果被扩展到PCR 0至14。ELAM驱动器测量结果被扩展到PCR 15。进而,ELAM驱动器启动ELAM签名的MemCore环境,并且将测量结果扩展到PCR 15。生成密封于当前PCR[0..15]状态的秘密K。此后,将无效或伪测量结果扩展到PCR 5以使当前PCR 15状态中毒,确保没有其他方能够提取或修改K。
[0039] 现在参考图3,示出了如本文所述的用于在创建安全环境中执行准备操作的方法的流程图。如图3所示,方法300可以开始于测量虚拟TEE,如上所讨论的(框310)。接下来,在菱形315处判定测量结果是否有效。若否,则控制转到框320,在所述框中可以将无效测量结果报告给例如计算系统的用户、与计算系统相关联的管理实体、远程证明服务或者一个或多个其他目的地(或它们的组合)。
[0040] 仍然参考图3,如果相反地测量结果有效,则控制转到框325,在所述框中测量结果可以被扩展到可信平台模块的安全存储装置,例如,到TPM的一个或多个PCR(框325)。此后,在框330处,可以生成秘密并使其密封于TPM的安全状态(框330)。在CSE安全协处理器的情况下,协处理器具有专用闪速存储器(SRAM)(其为安全存储装置)。TPM还具有专用非易失性闪速存储器。
[0041] 接下来,在框335处,可以使TPM状态的至少一部分中毒。以这种方式,未经授权的实体无法成功使用密封于先前TPM状态的秘密。在实施例中,无效或伪测量结果值可以被扩展到TPM的至少一个PCR,从而使TPM状态中毒。仍然参考图3,接下来控制转到框340,在所述框中可以创建隔离环境。更确切地,如以上所讨论的,虚拟TEE可以创建此隔离环境,所述隔离环境在给定实施例中可以包括不同的实体。
[0042] 接下来在框345处,可以获得虚拟TEE的测量结果引证和目标飞地的测量结果引证(例如,隔离环境的给定安全飞地)。在实施例中,可以响应于在隔离环境内执行的环3应用的请求而获得这些测量结果引证。在框350处,这些测量结果引证可被组合,其中,经组合的测量结果信息被传达到给定的证明服务,例如远程证明服务。此后,在菱形355处,判定是否接收到成功响应。若是,则存储所述秘密(框370)。更确切地,这个秘密可以被安全地存储在可访问目标飞地和虚拟TEE两者的各个存储位置中。因此(如框380所示),这些实体可以稍后使用这样的秘密来执行相互认证,如在这些实体在系统操作期间进行交互的情况下。如果相反地没有接收到成功报告,则控制代替地转到框360,在所述框中所述实体可以被配置使得它们不信任其他实体,如通过将给定的其他实体放置在不可信实体黑名单上。因此,取决于特定的安全策略,可以禁止与其他实体的交互。
[0043] 接下来,描述了用于创建可以从MemCore和飞地安全地获得引证的受保护环境的示例流程。在此,启动了如图1所示的新环境,所述新环境包括目标飞地、引证飞地、目标应用以及MemCore驱动器。这些组件的执行(代码/数据)和动态存储器可以被单个MemCore视图保护,使得目标应用的数据区域只能由所述可信组件之一写入。目标应用使用已密封的秘密从MemCore请求TPM测量结果引证。目标应用从目标飞地请求测量结果引证。当所述引证到达时,目标应用确保引证仅来自所请求的实体,因为不允许其他实体借助MemCore视图写入其存储器区域。可选地,可以使用从外部证明/验证服务器接收到的活跃临时值(liveliness nonce)来请求这些引证。目标应用将所述两个引证组合成单个blob。
[0044] 接下来,描述了示例远程证明。在此,后端证明服务可以验证所述引证并且分发共享秘密。目标应用创建与后端证明/验证服务器的SSL会话。如果将活跃临时值作为测量结果引证的一部分包括在内,则此步骤可以更早完成。后端证明服务器验证所述两个引证,并且将成功响应提供至所述飞地和MemCore环境。所述响应还包括共享秘密K。所述响应被分发给目标飞地。在验证所述响应之后,目标飞地现在也具有共享秘密K。所述飞地可以使用飞地专用加密密钥对共享秘密K进行加密,并且将其存储在未来通信可访问到的位置中。所述响应还被分发给MemCore驱动器,所述驱动器现在已经确认SGX-MemCore绑定协议已经完成。K可以密封于MemCore和TPM状态,从而允许这在未来引导中得以检索。两个环境现在都可以继续在未来通信中使用共享秘密K。在涉及重新引导的未来操作中,共享秘密K仅适用于经正确验证的MemCore环境。因此,实施例在MemCore VMM与飞地之间建立共享秘密K,以用于未来引导,而无需与后端验证服务器交互。
[0045] 现在参考图4,示出了一种用于执行另外的准备操作(例如,关于隔离环境的创建和初始化)的方法的流程图。如所看到的,方法400开始于建立一个或多个架构飞地(框410)。这样的架构飞地可以是使得能够执行安全操作的独立且隔离的存储器区域。接下来在框420处,可以用远程源(例如远程认证服务)来验证通信。在实施例中,此通信链路可以根据安全的SSL连接来建立。此后在框430处,可以安装虚拟TEE。如以上所讨论的,此虚拟TEE可以是用于控制在其下执行的一个或多个虚拟化环境的VMM、超级管理程序或其他控制实体。
[0046] 接下来在框440处,可以执行与可信平台模块和远程证明服务的通信以供应证明身份密钥(AIK)。此后,在框450处,虚拟TEE驱动器和目标应用可以被安装在隔离环境内。作为一个这样的示例,目标应用可以是由远程证明服务提供的认证应用,以实现对计算系统的安全用户认证。最后在框460处,可以响应于重新引导请求而重新引导所述计算系统。以这种方式,可以启动包括此目标应用和驱动器的隔离环境。应当理解,尽管在图4的实施例中以这种较高层次示出,但许多变体和替代方案是可能的。
[0047] 可以在许多不同的背景下使用如本文所述的隔离环境。出于讨论的目的,一种这样的用途是通过相互认证过程来实现分开的隔离环境(即隔离环境和虚拟TEE)之间的交互,使得此后所述两个实体可以相互信任以执行期望的操作。
[0048] 一个示例应用是使用针对SGX的基于VT(MemCore)的可信I/O和传感器保护。这种保护可以是使信赖方(如行)能够用于评估给定平台的数据(例如,用于认证目的的生物特征或键盘数据)的置信度的信息。这样的能力可以用于YAP认证服务。在可信I/O解决方案中,驱动器敏感数据传输保护是使用MemCore来实现的,并且驱动器敏感数据处理保护使用SGX。作为示例,可以在MemCore中完成从生物特征传感器传达到SGX存储器数据缓冲器保护的虹膜扫描数据保护。SGX飞地然后可以保护数据处理,以生成虹膜扫描模板和未来匹配结果。所述SGX飞地还可以与YAP后端服务器进行通信。
[0049] 现在参考图5,其示出了用于在隔离环境之间执行相互认证的示例方法的流程图。如所看到的,方法500开始于接收用于认证的用户请求(框510)。应当理解,可以从寻求访问计算系统中已经存在的或者诸如在执行金融交易的过程中经由远程位置可访问的安全信息的用户接收到这样的请求。假设用户具有金融机构的帐户或者用户试图执行商业交易,在所述情况下用户将提供安全支付信息,例如具有以下形式:信用卡信息、银行帐户信息或具有金融或其他安全或敏感性质的其他此类信息。控制接下来转到框520,在所述框中可以发生虚拟TEE与隔离环境的相互认证。更确切地,这种相互认证可以使用先前存储的共享秘密来发生。
[0050] 接下来,由于这种相互认证过程,可以判定环境是否彼此相互认证(菱形530)。若否,则控制转到框540,在所述框中所述两个实体彼此不相互信任。因此,有可能可以防止用户认证的或访问所请求的信息的进一步操作。
[0051] 否则,如果发生成功认证,则控制转到框550,在所述框中可以接收用户输入。更确切地,此用户输入可以在虚拟TEE中被接收并且被提供至隔离环境。例如,用户输入可以是经由键盘输入的用户信息,如用户名、密码或其他信息。在其他情况下或组合地,可以通过虚拟TEE提供一个或多个生物特征信息源。应当注意,虚拟TEE与隔离环境之间的这种通信可以经由可信通道发生。因此,这个安全路径不能被任何其他实体窥探。此后在框560处,可以使用此信息在隔离环境中发生用户认证。例如,应用本身可以被配置用于在本地执行用户认证。或者所述应用可以与后端远程证明服务进行通信,以执行此用户认证。如果在菱形570处确定用户被认证,则控制转到框580,在所述框中可以将认证成功报告给例如远程实体(例如,用户正在寻求以执行交易的网站)。然而,如果用户认证不成功,则控制转到框
590,在所述框中可以报告失败。
[0052] 在各实施例中,当计算装置处于ROOT状态时,可以为计算装置可用的安全内容提供增强的保护。这种ROOT状态是指装置已经进入具有超级用户特权功能的控制环境,使得以此ROOT状态模式访问的用户可以执行各种敏感操作。这样的操作可以包括危及诸如数字权限管理(DRM)内容和/或企业权限管理(ERM)内容的安全内容的安全性的活动。因此,实施例可以提供用于应用一个或多个安全策略措施来防止在检测到ROOT状态时不正当地访问或使用安全内容的能力。
[0053] 当装置变为被ROOT时,还可以使用实施例来保护安全内容。使用实施例,在可信存储环境(TSE)中供应和管理(多个)脱机/下载的内容。TSE可以使用若干项技术来实例化,包括:系统管理模式(SMM)处理器;用于存储驱动器的SGX飞地;具有已分区OPAL驱动器的虚拟化引擎(VE)IP块;以及存储器分区单元(MPU)。TSE可以由平台TEE(例如,SGX飞地或融合式安全可管理性引擎(CSME))和主机处理器两者访问。
[0054] 主机SGX飞地/基于SMM的虚拟化引擎使用被TSE暴露的存储通道,所述TSE在VE上运行以便在VE暴露的文件系统上存储和管理内容,从而避免了显著的性能开销。主机SGX飞地/基于SMM的虚拟化引擎使用被架构飞地暴露的控制通道,以与平台CSME进行通信从而存储DRM许可证/密钥。以这种方式,平台CSME或SGX飞地VE可以在检测到平台将处于ROOT状态时选择性地且安全地执行内容和相关联的许可证/密钥删除。另外,平台TEE在试图检索/播放由于ROOT导致的内容许可后拒绝时具有监测和采取基于策略的动作的能力。使用实施例,被用于虚拟或物理分区的VE暴露的TSE对于来自物联网(IOT)装置、可穿戴式装置到平板电脑/PC中的装置而言是安全且可扩展的。
[0055] 现在参考图6,示出了根据本发明的另一实施例的计算环境的框图。如图6所示,环境600可以是任何类型的基于网络的计算环境。在所示的实施例中,计算环境600包括处理器610,所述处理器可以是可例如经由网络660耦合到远程内容提供方680的任何类型的基于网络的计算装置。在各实施例中,内容提供方680可以是基于的DRM内容和许可证提供TM TM方。作为示例,内容提供方可以是诸如Netflix 、Hulu 的视频内容提供方,或者是或根据订阅或其他模型使安全内容可用的任何其他远程内容提供方。在许多情况下,此安全内容可以被内容密钥和/或内容许可证中的一者或多者保护,所述内容密钥和/或内容许可证可以经由网络660配备有这样的内容。
[0056] 如图6所示,处理器610可以是通用处理器,例如多核处理器和/或片上系统。在所示的实施例中,处理器610包括主机域620,所述主机域可以是处理器的主机域。可以使用所述处理器的一个或多个核来实现这样的主机域。在所示的实施例中,主机域620包括安全飞地624,所述安全飞地可以经由受保护且隔离的存储器分区来实现并且可以包括DRM存储通道626和DRM控制通道628。
[0057] 如所展示的,DRM存储通道626可以与虚拟化引擎(VE)630进行通信。VE的实施例可以包括使存储控制器虚拟化的SoC的IP块。具有存储控制器虚拟化的MemCore可以是另一实施例。VE 630是可将虚拟化盘(VD)提供为主机处理器与TEE之间的共享文件系统的防篡改硬件IP块。在所示的实施例中,虚拟化引擎630包括可信存储环境(TSE)632。可信存储环境632可以被实现为主机域620与TEE 640之间的共享文件系统。应当注意,TEE 640具有独立于主机CPU的防篡改隔离执行和存储环境。应当注意,此可信存储环境可以提供在存储装置
650中以便存储,所述存储装置可以是任何类型的存储装置,包括盘驱动器、闪速存储器、多级存储器结构等。
[0058] 仍然参考图6,TEE 640包括逻辑645。应当注意,TEE 640可以是被实现为SoC的IP块的第二或第三TEE,所述SoC是安全微控制器或协处理器。上述用于通过证明进行TEE-TEE安全会话密钥建立的方法可以结合所描述的任何其他TEE环境应用于框640。在一个示例中,逻辑645可以是安全DRM清除(SDRCLR)逻辑645。这样的逻辑可以被适配用于检测系统600的ROOT并且根据一个或多个安全策略来执行关于安全内容的一个或多个执行机制。如进一步展示的,TEE 640包括安全存储装置648。在各实施例中,安全存储装置648可以安全地存储与安全内容相关联的内容许可证和/或密钥。
[0059] 如所看到的,主机域620与TEE 640之间的通信可以经由架构飞地635。可以使用由TCG和UEFI论坛定义的可信/安全引导过程来实现被ROOT平台的检测。实施例将DRM内容密钥访问链接到用于非ROOT OS镜像的完整性寄存器值。然而,检测不能保证DRM内容的删除。因此,TEE采取进一步行动,以通知TSE从存储器中删除DRM内容或根据安全策略采取其他操作。应当理解,虽然在图6的实施例中示出此具体的系统实现方式,但是许多变化和替代方案是可能的。
[0060] 应当理解,可以以各种不同的系统配置来执行安全内容策略实施。现在参考图7,示出了根据实施例的另一系统的框图。在图7所示的实现方式中,系统具有多级安排,包括较近的本地存储器740和更远但更大的第二级存储器760。如图7所示,系统700是给定的计算系统,并且包括中央处理单元(CPU)710。如图所示,CPU 710是包括多个核7120-712n的多核处理器。进而,核712与存储器保护引擎(mPT)720进行通信,所述存储器保护引擎进而与IO接口730和内部存储器控制器725进行接口连接。如所看到的,内部存储器控制器725可以与第一存储器740进行交互,所述第一存储器可以被实现用作硬件管理的、软件透明的存储器侧高速缓存的第一级存储器。在不同的实施例中,第一级存储器740可以被实现为动态随机存取存储器(DRAM)。如进一步展示的,还可以与第二级存储器760发生通信,所述第二级存储器可以是更远程的、容量更大的持久性存储器。如所看到的,外部存储器控制器750可以接口连接在CPU 710与第二级存储器760之间。如进一步展示的,IO接口730还可以与一个或多个IO适配器770进行适配。
[0061] 现在参考图8,示出了一种用于在系统的引导环境中执行安全内容清除操作的方法的流程图。如图8所示,方法800可以在系统启动期间通过系统的硬件、软件和/或固件的各种组合来执行。因此,假设确定引导正在发生(在菱形810处),控制转到框815,在所述框中可以使用平台TEE来验证安全引导并且检测是否已经发生了任何引导加载程序解。接下来,判定验证是否成功(即,正在进行安全引导并且未检测到解锁)。若是,则控制直接转到框840,在所述框中可以在主机处理器(例如,主机域)与TEE之间安装共享文件系统分区。此后,可以发生连续的引导流程操作。
[0062] 如果相反地验证未被确定为成功,则控制从菱形820转到框825,在所述框中判定平台是否已经被ROOT。在不同的实施例中,TEE可以以不同的方式检测平台ROOT。无论如何,接下来在菱形830处判定如果平台是否被ROOT。若否,则控制转到上面讨论的框840。否则,如果存在被ROOT的平台,则控制转到框835,在所述框中可以启动安全DRM清除操作以执行安全策略实施动作。应当注意,根据特定的安全策略,不同的此类操作是可能的。作为示例,这样的动作可以包括销毁经许可的内容和/或相关联的许可证和/或密钥。可替代地,可以防止OS引导。和/或除了这些动作之外,可以向用户/OEM警告所述ROOT状况。在执行这样的操作之后,此后控制转到框840。
[0063] 现在参考图9,示出了用于一种在系统的引导环境中执行安全内容清除操作的方法的流程图。如图9所示,方法850可以在系统的运行时期间通过系统的硬件、软件和/或固件的各种组合来执行。如所看到的,方法850开始于判定平台是否被配置用于安全的DRM清除操作(菱形855)。若是,则控制接下来转到菱形860,以判定平台是否被ROOT。若否,则控制转到框870,在所述框中正常的平台操作可以继续。应当注意,在这样的操作过程中,可以定期进行心跳检查(菱形872)。作为这种心跳检查的一部分,可以判定平台是否被ROOT(如以上在菱形860处)。
[0064] 否则,如果在菱形860处确定平台被ROOT,则控制转到框865,在所述框中可以采取给定的安全DRM清除策略实施动作,如以上所讨论的那样。此后,控制转到框870,其中正常的平台操作可以继续。应当理解,尽管在图9的实施例中以这种较高层次示出,但许多变体和替代方案是可能的。
[0065] 现在参考图10,示出了根据另一实施例的用于执行安全内容清除操作的方法的流程图。更确切地,在图10中,方法875可以用于在如图1所示的环境(即,多个分开的隔离环境,如在虚拟TEE下执行的MemCore隔离环境)中执行安全清除操作。如所看到的,方法870从框880开始,在所述框中可以在虚拟TEE中接收到被ROOT装置状态的指示。应当注意,可以从诸如在虚拟TEE(例如,图1的MemCore VMM)内运行的安全引导小应用程序的给定实体接收此被ROOT装置状态。还应注意,在另一实施例中,MemCore TEE可以检测OS或对等TEE的ROOT。对等TEE还可以检测另一对等TEE的ROOT。接下来,在菱形885处,可以判定是否存在系统中所存储的可信内容、许可证和/或密钥。更确切地,可以判定在可信存储环境中是否存在受一组相应许可证和/或密钥保护的、如可以存储在TEE的安全存储装置中的安全内容。如果确定这样的信息存储在系统中(其可以在系统被ROOT之前已经被获得和存储),则控制转到框890,在所述框中所述被ROOT装置状态可以被传达给可信存储环境。进而,所述可信存储环境(其可以至少部分地由本文所描述的隔离环境实现)可以实施各种安全策略,如以上所讨论的,所述安全策略可以包括删除这样的内容许可证和/或密钥、撤销一个或多个许可证、在系统保持处于被ROOT装置状态等时防止访问这样的信息等。应当理解,尽管以这种较高层次示出,但许多变体和替代方案是可能的。
[0066] 实施例可以进一步安全地删除或以其他方式保护与由特定内容提供方所强制执行的特定DRM/ERM方案相关联的选择性内容。例如,实施例可以删除仅与NetFlixTM或HuluTM或两者相关联的内容和许可证。实施例还可以通过使用计量能力将在被ROOT装置上播放内容的尝试记录并安全地传达给例如一个或多个所选择的内容提供方。更进一步地,实施例可以根据ROOT状态检测来选择性地使用TSE和TEE来加扰内容和相关联的许可证。
[0067] 现在参考图11,示出了可以与实施例一起使用的示例系统的框图。如所看到的,系统900可以是其上可以存储有安全内容的智能电话或其他无线通信器。基带处理器905被配置用于对待从系统发射或由系统接收的通信信号执行各种信号处理。进而,基带处理器905耦合至应用处理器910,所述应用处理器可以是所述系统的用于执行OS和(除了许多熟知的社交媒体和多媒体app等用户应用之外)其他系统软件的主CPU。应用处理器910可以进一步被配置用于对装置执行各种其他计算操作。应用处理器910可以配置有一个或多个可信执行环境以执行本文所描述的实施例。
[0068] 应用处理器910可以耦合到用户界面/显示器920,例如触摸屏显示器。此外,应用处理器910可以耦合到包括非易失性存储器(即闪速存储器930)和系统存储器(即DRAM 935)的存储器系统。在一些实施例中,闪速存储器930可以包括在其中可以存储敏感信息(包括受限于一个或多个内容许可证中规定的限制的下载内容)的安全部分932。如进一步看到的,应用处理器910还耦合到采集装置945,如可以记录视频和/或静止图像的一个或多个图像采集装置。
[0069] 仍参考图11,通用集成电路卡(UICC)940包括订阅者身份模块,所述订阅者身份模块在一些实施例中包括用于存储安全用户信息的安全存储装置942。系统900可以进一步包括可以耦合到应用处理器910的安全处理器950。在各实施例中,所述一个或多个可信执行环境的至少一部分及其使用可以经由安全处理器950来实现。多个传感器925可以耦合到应用处理器910,以便能够输入各种感测信息,例如加速度计和其他环境信息。另外,可以使用一个或多个认证装置995来接收例如在认证操作中使用的用户生物特征输入。
[0070] 如进一步展示的,提供了近场通信(NFC)非接触式接口960,所述接口在NFC近场中通过NFC天线965进行通信。虽然在图11中示出了单独的天线,但是应当理解,在一些实现方式中,可以提供一个天线或不同的天线集合来实现各种无线功能。
[0071] 功率管理集成电路(PMIC)915耦合到应用处理器910以执行平台级功率管理。为此,PMIC 915可以向应用处理器910发出功率管理请求,以根据需要进入一定的低功率状态。此外,基于平台限制,PMIC 915还可以控制系统900的其他组件的功率平。
[0072] 为了能够发射和接收通信,各种电路可耦合于基带处理器905与天线990之间。具体地,可存在射频(RF)收发器970和无线局域网(WLAN)收发器975。通常,RF收发器970可用于根据如3G或4G无线通信协议(如根据码分多址(CDMA)、全球移动通信系统(GSM)、长期演进(LTE)或其他协议)等给定无线通信协议来接收和发射无线数据和呼叫。此外,可以存在GPS传感器980,其中位置信息被提供至安全处理器950以供使用,如本文所述。还可提供如无线电信号(例如,AM/FM以及其他信号)的接收或发射的其他无线通信。另外,经由WLAN收发器975,还可以实现如根据蓝牙TM或IEEE 802.11标准的本地无线通信。
[0073] 现在参考图12,示出了根据本发明另一实施例的系统的框图。如图12所示,多处理器系统1000是点对点互连系统,且包括经由点对点互连1050耦合的第一处理器1070和第二处理器1080。如图12所示,处理器1070和1080中的每一个处理器可以是包括第一和第二处理器核(即,处理器核1074a和1074b以及处理器核1084a和1084b)的多核处理器(如SoC),尽管所述处理器中可能潜在地存在更多的核。此外,处理器1070和1080各自可以包括安全引擎1075和1085以创建TEE并且执行本文描述的内容管理和其他安全操作的至少一部分。
[0074] 仍参考图12,第一处理器1070进一步包括存储器控制器中枢(MCH)1072和点对点(P-P)接口1076和1078。类似地,第二处理器1080包括MCH 1082和P-P接口1086和1088。如图11所示,MCH 1072和1082将处理器耦合至对应的存储器(即存储器1032和存储器1034),所述存储器可以是本地附接至相应处理器的主存储器(例如,DRAM)的部分。第一处理器1070和第二处理器1080可以分别经由P-P互连1052和1054耦合至芯片组1090。如图11所示,芯片组1090包括P-P接口1094和1098。
[0075] 此外,芯片组1090包括接口1092,以便通过P-P互连1039将芯片组1090与高性能图形引擎1038耦合。进而,芯片组1090可以经由接口1096耦合至第一总线1016。如图12所示,各个输入/输出(I/O)装置1014可以与总线桥接器1018一起耦合至第一总线1016,所述总线桥接器将第一总线1016耦合至第二总线1020。在一个实施例中,各种设备可以耦合至第二总线1020,包括例如,键盘/鼠标1022、通信装置1026和数据存储单元1028(如非易失性存储装置或可以包括代码1030的其他大容量存储设备)。如进一步看到的,数据存储单元1028还包括可信存储装置1029,以便存储受一个或多个内容许可限制的下载内容以及其他信息。进一步地,音频I/O 1024可以耦合到第二总线1020。
[0076] 在示例1中,一种方法包括:将虚拟可信执行环境的至少一个测量结果记录在系统的可信平台模块的存储装置中,并且生成密封于所述可信平台模块的状态的秘密;使用所述虚拟可信执行环境创建隔离环境,所述隔离环境包括安全飞地、应用和驱动器,所述驱动器用于与所述虚拟可信执行环境接口连接,所述虚拟可信执行环境用于保护所述隔离环境;在所述应用中接收与所述虚拟可信执行环境相关联的第一测量结果引证以及与所述安全飞地相关联的第二测量结果引证;以及将关于所述第一测量结果引证和所述第二测量结果引证的引证信息传达给远程证明服务,以使得所述远程证明服务能够验证所述虚拟可信执行环境和所述安全飞地,其中,响应于所述验证,所述秘密将被提供至所述虚拟可信执行环境和所述隔离环境。
[0077] 在示例2中,如示例1所述的方法进一步包括:通过对所述可信平台模块的多个PCR进行扩展来记录所述至少一个测量结果。
[0078] 在示例3中,如以上示例中的一项或多项所述的方法进一步包括:测量引导代码、固件和操作系统;以及通过对所述可信平台模块的所述多个PCR中的至少一些PCR进行扩展来记录所述测量结果。
[0079] 在示例4中,如以上示例中的一项或多项所述的方法进一步包括:将反恶意软件代理的测量结果扩展到所述可信平台模块的所述多个PCR中的第一PCR;执行所述反恶意软件代理以创建所述隔离环境;以及将所述隔离环境的测量结果扩展到所述第一PCR。
[0080] 在示例5中,如以上示例中的一项或多项所述的方法进一步包括:将无效测量结果扩展到所述第一PCR以使所述第一PCR的状态中毒。
[0081] 在示例6中,如示例5所述的方法进一步包括:在扩展所述无效测量结果之前生成密封于所述可信平台模块的状态的所述秘密,以防止对所述秘密的未经授权的访问。
[0082] 在示例7中,所述应用用于将所述第一测量结果引证的第一信息与所述第二测量结果引证的第二信息进行组合以生成用于传达给所述远程证明服务的所述引证信息。
[0083] 在示例8中,如示例7所述的方法进一步包括:从所述远程证明服务接收关于成功认证的响应。
[0084] 在示例9中,如示例8所述的方法进一步包括:响应于所述响应,将所述秘密分发到所述安全飞地以及所述隔离环境的驱动器。
[0085] 在示例10中,所述驱动器和所述安全飞地用于使用所述秘密来执行相互证明,并且此后使得数据能够在所述驱动器与所述安全飞地之间传达。
[0086] 在另一示例中,一种计算机可读介质,包括用于执行以上示例中任一项所述的方法的指令。
[0087] 在另一示例中,一种计算机可读介质,包括有待由至少一台机器使用以制造用于执行以上示例中任一项所述的方法的至少一个集成电路的数据。
[0088] 在另一示例中,一种设备,包括用于执行以上示例中任一项所述的方法的装置。
[0089] 在示例11中,一种系统,包括:处理器,所述处理器包括:主机域,所述主机域具有至少一个核以及用于提供可信存储通道和可信控制通道的第一安全代理;可信执行代理,所述可信执行代理包括第一存储装置,所述第一存储装置用于存储与第一内容相关联的第一内容许可证,所述可信执行代理包括第一逻辑,所述第一逻辑用于:检测所述系统是否被ROOT;以及如果是,则实施与所述第一内容相关联的一个或多个安全策略;以及虚拟化引擎,所述虚拟化引擎用于提供可信存储环境,所述可信存储环境具有在所述主机域与所述可信执行代理之间的共享文件系统;以及存储装置,所述存储装置耦合到所述处理器以存储受所述第一内容许可证保护的所述第一内容,其中,所述存储装置用于维持所述可信存储环境。
[0090] 在示例12中,所述可信存储通道用于与所述可信存储环境进行通信,并且所述可信控制通道用于与架构飞地进行通信,其中所述架构飞地用于与所述可信执行环境进行通信。
[0091] 在示例13中,所述虚拟化引擎用于创建包括所述可信存储环境的虚拟盘。
[0092] 在示例14中,如以上示例中的一项或多项所述的系统的所述存储装置包括第一级存储器和第二级存储器,其中所述处理器包括用于与所述第一级存储器进行通信的存储器控制器,所述第一级存储器包括存储器侧高速缓存,所述存储器侧高速缓存对软件透明并且由所述存储器控制器进行管理。
[0093] 在示例15中,如示例14所述的可信存储环境用于将所述第一内容存储在所述第二级存储器中并且将所述第一内容许可证存储在所述第一级存储器中。
[0094] 在示例16中,如示例15所述的可信执行代理用于将删除消息传达给所述处理器的存储器保护引擎,所述存储器保护引擎用于将所述删除消息传达给所述第二级存储器,以使所述第二级存储器删除所述第一内容。
[0095] 在示例17中,如以上示例中的一项或多项所述的可信执行代理用于通过以下各项中的至少一项来实施所述一个或多个安全策略:删除所述第一内容;防止加载所述第一内容;以及选择性地加扰所述第一内容和所述第一内容许可证。
[0096] 在示例18中,如以上示例中的一项或多项所述的可信执行代理用于记录在所述系统被ROOT时播放所述第一内容的尝试,并且用于将与所述尝试相关联的信息传达给与所述第一内容相关联的第一内容提供方。
[0097] 在示例19中,如以上示例中的一项或多项所述的可信执行代理包括以下各项中的至少一项:与输入/输出适配器接口相关联的融合式安全引擎;以及具有多个受保护分区的安全存储器飞地。
[0098] 在示例20中,当所述系统被ROOT之前,所述第一内容被存储在所述存储装置中,并且所述第一内容许可证用于表明如果所述系统变为被ROOT则将删除所述第一内容,所述第一内容和所述第一内容许可证与第一内容提供方相关联,并且其中,在检测到所述系统被ROOT之后,,与第二内容提供方相关联并存储在所述存储装置中的第二内容将被维持在所述存储装置中。
[0099] 在示例21中,所述虚拟化引擎用于启用所述可信存储环境的多个实例,所述多个实例包括:用于在所述主机域上执行的第一个可信存储环境实例;用于在可管理性引擎上执行的第二可信存储环境实例;以及用于以所述主机域的可信虚拟化模式执行的第三可信存储环境实例。
[0100] 在示例22中,一种方法,包括:提供具有第一可信执行环境和第二可信执行环境的系统,所述第一可执行环境和所述第二可信执行环境中的每一个都是隔离环境并且至少部分地基于共享秘密而彼此相互认证;在所述第一可信执行环境中接收所述系统已被启用以进行根访问的指示;以及将所述根访问的状态传达给所述第二可信执行环境以响应于根访问状态而使所述第二执行环境实施与存储在所述系统中的安全内容相关联的安全策略,所述安全策略实施包括以下各项中的至少一项:删除所述安全内容;以及撤销与所述安全内容相关联的许可证。
[0101] 在示例23中,所述方法进一步包括:经由所述第二可信执行环境提供虚拟化存储系统,所述虚拟化存储系统具有在所述第一可信执行环境与所述第二可信执行环境之间的共享文件系统,所述共享文件系统用于存储所述安全内容,并且其中,所述第二可信执行环境将所述许可证存储在与所述共享文件系统分离的可信存储装置中。
[0102] 在示例24中,一种系统,包括:用于提供具有第一可信执行环境和第二可信执行环境的系统的装置,所述第一可执行环境和所述第二可信执行环境中的每一个都是隔离环境并且为至少部分地基于共享秘密彼此相互认证的;用于在所述第一可信执行环境中接收所述系统已被启用以进行根访问的指示的装置;以及用于将所述根访问的状态传达给所述第二可信执行环境以响应于根访问状态而使所述第二执行环境实施与存储在所述系统中的安全内容相关联的安全策略的装置,所述安全策略实施包括以下各项中的至少一项:删除所述安全内容以及撤销与所述安全内容相关联的许可证。
[0103] 在示例25中,所述系统进一步包括用于经由所述第二可信执行环境提供虚拟化存储系统的装置,所述虚拟化存储系统具有在所述第一可信执行环境与所述第二可信执行环境之间的共享文件系统,所述共享文件系统用于存储所述安全内容,并且其中,所述第二可信执行环境将所述许可证存储在与所述共享文件系统分离的可信存储装置中。
[0104] 应理解的是,以上示例的各种组合都是可能的。
[0105] 实施例可以用于多种不同类型的系统中。例如,在一个实施例中,通信装置可以被安排成用于执行本文中所描述的各种方法和技术。当然,本发明的范围不限于通信装置,并且相反,其他实施例可以涉及用于处理指令的其他类型的装置,或者包括指令的一种或多种机器可读介质,所述指令响应于在计算装置上被执行而使所述装置执行本文中所描述的方法和技术中的一者或多者。
[0106] 实施例可以在代码中实现并且可存储在非瞬态存储介质上,所述非瞬态存储介质具有存储在其上的指令,所述指令可用于对系统编程来执行指令。实施例还可以在数据中实现并且可存储在非瞬态存储介质上,所述非瞬态存储介质如果由至少一台机器执行则使所述至少一台机器制造用于执行一个或多个操作的至少一个集成电路。存储介质可以包括但不限于任何类型的盘,包括:软盘、光盘、固态驱动(SSD)、紧凑型光盘只读储存器(CD-ROM)、可擦写光盘(CD-RW)、和磁光盘、半导体器件(如只读存储器(ROM))、随机存取存储器(RAM)(如动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM))、可擦可编程只读存储器(EPROM)、闪存存储器、电可擦可编程只读存储器(EEPROM)、磁卡或光卡、或者适合于存储电子指令的任何其他类型的介质。
[0107] 虽然已经关于有限数量的实施例对本发明进行了描述,但是本领域技术人员将理解来自其中的许多修改和变体。旨在使得所附权利要求覆盖所有此类落在本发明的真实精神和范围内的修改和变体。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈