建立安全执行环境之间的物理局部性的制作方法

文档序号:8512726阅读:240来源:国知局
建立安全执行环境之间的物理局部性的制作方法
【专利说明】
[0001] 背景
技术领域
[0002] 本公开关于信息处理领域,尤其是信息处理系统安全的领域。
【背景技术】
[0003] 机密信息由多个信息处理系统存储、传送和使用。因此,机密信息的安全处理、传 递和存储技术得以发展。这些技术包括用以在信息处理系统内创建和维持安全的、受保护 的或独立的容器、分区或环境的多种方法,以及用以在操作于上述容器、分区或环境中的应 用或代理之间传递信息的多种方法。
[0004] 例如,如果第一代理需要第二代理的服务,则第二代理可以在提供服务之前要求 关于第一代理的授权和可靠性的证明。第二代理需要对于第一代理不会盗用信息、攻击系 统或以其他方式引起损害的保证。当获得这样的保证时,可发布一个会话密钥,该会话密钥 为被请求和交付的服务提供保密性、完整性或两者。
【附图说明】
[0005] 通过以下附图举例且非限制地阐明本发明。
[0006] 图1阐明了依据本发明一实施例的一种用于建立安全执行环境之间的物理局部 性的系统。
[0007] 图2阐明了依据本发明一实施例的一种用于建立安全执行环境之间的物理局部 性的方法。
【具体实施方式】
[0008] 描述了用于建立安全执行环境之间的物理局部性的发明实施例。在本描述中,可 能为了更彻底地理解本发明而提出多个特定细节,诸如组件和系统配置。然而,本领域技术 人员应当知道,本发明可以脱离上述特定细节而实施。此外,一些众所周知的结构、电路和 其他特征并未详细示出,从而避免对本发明的不必要的混淆。
[0009] 在以下描述中,提到"一个实施例"、"一实施例"、"示例性实施例"、"多个实施例" 等表示这样描述的发明实施例可包含特定特征、结构或特性,但是不止一个且非每一个实 施例一定包含该特定的特征、结构或特性。进一步地,一些实施例可具有部分、全部或完全 没有其他实施例所描述的特征。
[0010] 如权利要求使用的,除非有另外的指定,使用序数形容词"第一"、"第二"、"第三" 等描述元件时,仅表示涉及元件的特定实例或类似元件的多个实例,并非有意暗示如此描 述的元件必须遵循特定的时间或空间顺序、等级或任何其他形式。
[0011] 已经开发了多种方法,用以在信息处理系统中创建和维持可信的、安全的、受保护 的或独立的容器、分区或执行环境。一种这样的方法包括安全专区,如2012年06月19日 申请的,名称为"提供安全应用执行的方法和装置",序列号为13/527547的共同未决美国 专利申请所述,其提供了关于一种可信的、安全的、受保护的或独立的容器、分区或执行环 境的至少一个实施例的信息。然而,这些参考内容并非有意以任何方式限制本发明实施例 的范围,在本发明的范围和精神之内还可以采用其他实施例。
[0012] 此外,多种方法可以一起使用。例如,管理引擎、可操纵引擎、融合安全引擎或其他 相似芯片、系统或平台逻辑的操作或执行,可以视为一种可信的或安全的执行环境,其可与 另一不同形式的可信的或安全的执行环境,例如安全专区来通信。因此,本发明任意实施例 中用到的任何可信的、安全的、受保护的或独立的容器、分区或执行环境的任何实例在此都 可涉及安全执行环境。
[0013] 本发明实施例可用于建立安全执行环境之间的物理局部性,这可用以减轻对安全 执行环境之间的通信的攻击。例如,可使用加密协议,例如西格玛协议,在第一和第二端点 之间建立安全通信通道,认证密钥在此交换使得两个端点能够知道对方端点的身份。本发 明实施例还可供两个端点验证其是处于相同的硬件平台上。因此,本发明实施例可用于阻 止已经感染了第二端点(例如,硬件输入/输出(I/O)或其他外围设备)的恶意软件重定 向至第三端点的通道,该第三端点与第一端点不共享物理局部性(例如,第三端点可以是 远程计算机系统或平台)。
[0014] 图1阐明了依据本发明一个实施例的系统100, 一种信息处理系统,用于建立安全 执行环境之间的物理局部性。系统100可表示任意类型的信息处理系统,诸如服务器、台式 电脑、便携式计算机、机顶盒、手持设备如平板或智能电话或者嵌入式控制系统。系统100 包括处理器110和130,外围控制代理(PCA) 142,和输入/输出装置152。
[0015] 实施本发明的系统可包括任意数量的每种上述组件和任意其他组件或其他元件, 诸如系统存储器、芯片集组件、其他外围装置等等。任意系统实施例中的任意或所有其他组 件或其他元件可以通过任意数量的总线、点对点或其他有线或无线接口或连接方式连接, 耦合或互相通信。系统100的任意组件或其他部分,无论是否显示在图1中,可以被集成, 或者另外包含在单个芯片(片上系统或SOC)、管芯、衬底或封装之上或之内。
[0016] 处理器110和130的每一个可以表示一个或多个被集成在单个衬底上或包装在单 个封装内的处理器,每个处理器可包括多个线程和/或多个执行核的任意组合。被表示为 处理器110或处理器130或在其内的每个处理器可以是任意种类的处理器,包括通用微处 理器,诸如Intel? Core?.处理器家族、Intel? Atom?处理器家族或Intel?·公司的其他处理 器家族中的处理器,或另一公司的另一种处理器,或专用处理器或微控制器,并且不必来自 同一个处理器家族。
[0017] 处理器110和130的每一个可依据指令集架构而操作,指令集架构包括第一指令 以创建安全执行环境,第二指令以向安全执行环境增加内容,第三指令以测量安全执行环 境的内容,第四指令以初始化安全执行环境,第五指令以生成安全执行环境的内容和/或 身份的报告,第六指令以获取供安全执行环境使用的密钥。虽然采用具有任意指令集架 构的处理器可以实践本发明实施例,且不限于Intel?公司的处理器家族的架构,然而这些 指令可以是已知架构的一套软件保护延伸的一部分,并且在此可以分别是ECREATE指令, EADD指令,EEXTEND指令,EINIT指令,EREP0RT指令,EGETKEY指令。可通过使用嵌入于硬 件、微代码、固件和/或其他结构中的电路和/或逻辑的任何组合,在处理器中实现对这些 指令的支持。
[0018] 处理器110和130可以通过内部处理器链接120互相连接或耦合,链接120可表 示任意种类的总线、点对点或其他有线或无线接口或连接方式,包括互连结构中的链接,互 连结构例如Intel?·快速路径互连,或2012年10月22日申请的,名称为高性能互连架构的 方法、装置、系统的,序列号为61/717, 091的美国共同未决专利申请所描述的高性能互连 的一种实施例,或依据任意其他通信架构的任意其他种类的连接。
[0019] PCA 142可以表示任意组件,包括逻辑、电路或其他硬件,用于管理信息处理系统 100中的系统逻辑、外围设备和输入/输出适配器以及装置,其中的任何一个可以集成在 PCA 142中和/或可与PCA 142通信,并且用于控制和/或翻译这些设备和信息处理系统 100中的任意其他组件之间的信息传递,诸如处理器110和130、系统存储器和/或系统存 储器控制器(可被集成在处理器110和或130中)。PCA 142可以通过接口 140连接或耦 合到处理器130,接口 140可表示任意种类的总线、点对点或其他有线或无线接口或连接方 式,包括快速外围组件互连(PCIe)总线或直接媒体接口(DMI)总线。
[0020] 在本实施例中,PCA 142包括管理引擎144,其可包括任意硬件或固件用以提供和 /或支持监视、维持、更新、升级和/或修复系统100的功能性,可包括供应密钥和建立到 远程平台的安全通信通道,或者可以表示任意其他可操纵引擎,融合安全引擎,或其他芯片 集、系统或平台逻辑,其操作或执行可被视为可信的或安全的执行环境。
[0021] PCA 142还包括局部性现时标志存储位置146,其可表示存储有现时标志的寄存 器或任意尺寸的任意其他类型的存储器。局部性现时标志可以由处理器,通过特定总线 消息或其他协议或者如接下来将进一步描述的方式,存储在局部性现时标志存储位置146 中,其中处理器初始化或发起可信的或安全的执行环境或者操作于可信执行环境或安全执 行环境中。
[0022] 输入/输出装置152可以表示任意输入/输出或外围设备和/或任意类似装置的 控制器或适配器。输入/输出装置152可以被集成到或者独立于任意其他组件,例如芯片集 组件。输入/输出装置152可以通过接口 150连接或耦合到处理器110,接口 150可表示任 意种类的总线、点对点或其他有线或无线接口或连接方式,包括快速外围组件互连(PCIe) 总线或直接媒体接口(DMI)总线。此外,接口 150可表示到任意其他组件的接口或者连接, 诸如外围控制代理、总线桥、芯片集组件和/或输入/输出适配器或控制器,其可依次连接 或耦合到处理器110。
[0023] 回到处理器110和130,每一个处理器包括一对执行核(处理器110的核112和 114以及处理器130的核132和134),链接单元(分别是119和139),以及接口单元(分别 是118和138)。链接单元119和139的每一个可包括任意电路或其他硬件,处理器110或 处理器130 (分别地)借助其可以互相通信和/或与系统100中的一个或多个其他处理器 通信,例如通过链接120。接口单元118和138的每一个可包括任意电路或其他硬件,处理 器110或处理器130 (分别地)借助其可以与系统100中的任何其他组件分别通信,例如输 入/输出装置152 (例如,通过接口 150)和PCA 142 (例如,通过接口 140)。
[0024] 核112和132中分别示出了安全专区111和131。每一者可以是分别由核112和 132执行的ECREATE、EADD、EEXTEND和EINIT指令所创建、构造和初始化的安全专区,或者 可以表示任意其他种类的可信的或安全的执行环境。
[0025] 处理器110和130中还分别示出了局部性现时标志存储位置116和136。每一者 可表示存储有现时标志的寄存器或者任意尺寸的任意其他类型的存储器。在系统100的 每次启动期间采样随机数发生器,并且将该随机或伪随机值分配至具有局部性现时标志存 储位置的系统100中的每个组件,从而填入局部性现时标志存储位置116和136,以及系统 100中的任意其他局部性现时标志存储位置,例如局部性现时标志存储位置146。因此,在 系统100的操作期间,每个局部性现时标志存储位置116、136和146,以及系统100中的任 意其他局部性现时标志存储位置,都存储着相同的局部性现时标志。
[0026] 每个局部性现时标志在启动时指定硬件的局部域。因此,运行于该域内的固件和 软件可以使用局部性现时标志
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1