安全区域内的日志记录的制作方法
【专利说明】安全区域内的日志记录
[0001] 背景
[0002] 1 ?领域
[0003] 本公开涉及信息处理领域,并且更具体地涉及信息处理系统中的安全性领域。
[0004] 2.相关技术描述
[0005] 机密信息由许多信息处理系统存储、传输和使用。因此,已经开发了提供机密信息 的安全处理和存储的技术。这些技术包括用于在信息处理系统内创建和维护安全、受保护 或隔离分区或环境的各种方法。
[0006] 附图简要说明
[0007] 通过举例而非限制在附图中示出本发明。
[0008] 图1示出根据本发明的实施例的包括在安全区域内进行日志记录的系统。
[0009] 图2示出根据本发明的实施例的安全区域单元。
[0010] 图3示出根据本发明实施例的用于在安全区域内进行日志记录的方法。
[0011] 详细描述
[0012] 描述了用于安全区域(secureenclave)内的日志记录的本发明的实施例。在本 描述中,可列出众多特定细节(诸如组件和系统配置),以便提供本发明的更透彻理解。然 而,本领域普通技术人员将认识到可在没有这些特定细节的情况下实践本发明。此外,未详 细示出某些公知的结构、电路等等,以便避免不必要地混淆本发明。
[0013] 在以下描述中,对"一个实施例"、"实施例"、"示例实施例"、"各实施例"等等的引 用指示如此描述的本发明的实施例(多个)可包括具体特征、结构、或特性,然而多个实施 例可以包括但不是每个实施例都需要包括该具体特征、结构、或特性。进一步地,某些实施 例可具有针对其他实施例所描述的特征中的某些、全部或没有。
[0014] 如在权利要求书中所使用的,除非以其他方式指明,用于描述元件的顺序形容词 "第一"、"第二"、"第三"等等的使用仅指示元件的具体实例或者类似元件的不同实例并且不 旨在暗示这些如此描述的元件必须按特定顺序(或者按时间、按空间排序或者以任何其他 方式)。
[0015] 而且,术语"位"、"标志"、"字段"、"条目"等等可用于描述寄存器、表格、数据库或 其他数据结构中的任何类型的存储位置,不管是用硬件还是用软件实现,但并不旨在将本 发明的实施例限制为任何特定存储位置中的任何特定类型的存储位置或任何数量的位或 其他元素。术语"清零"可用于指示存储逻辑值零或者以其他方式致使将其存储在存储位 置中,并且术语"置位"可用于指示存储逻辑值1、全1或某种其他指定值或以其他方式致使 将其存储在存储位置中;然而,这些术语不旨在将本发明的实施例限制为任何特定的逻辑 惯例,因为可在本发明的实施例中使用任何逻辑惯例。
[0016] 如在背景部分中所描述的,已经开发了用于在信息处理系统内创建和维护安全、 受保护或隔离分区或环境的各种方法。一种这种方法涉及如在于2012年6月19日提交 的序列号为13/527, 547标题为"提供安全应用执行的方法和装置(MethodandApparatus toProvideSecureApplicationExecution)"的共同未决的美国专利申请所描述的安全 区域,该申请通过引用作为安全区域的至少一个实施例的示例并入在此。然而,并入的引用 不旨在以任何方式限制本发明的实施例的范围并且可使用其他实施例同时仍保留在本发 明的精神和范围内。
[0017] 图1示出系统100,即根据本发明的实施例的包括安全区域内的分页的信息处理 系统。系统100可表示任何类型的信息处理系统,诸如服务器、桌上计算机、便携式计算机、 机顶盒、手持式设备、或嵌入式控制系统。系统100包括处理器110、存储器120、以及信息 存储设备130。体现本发明的系统可包括任何数量的这些组件中的每一个组件以及任何其 他组件或其他元件,诸如信息存储设备、外围设备和输入/输出设备。本系统实施例或任何 系统实施例中的任何或全部组件或其他元件可通过任何数量的总线、点到点、或其他有线 或无线接口或连接而连接、耦合、或以其他方式与彼此通信。
[0018] 系统存储器120可以是动态随机存取存储器或者处理器110可读的任何其他类型 的介质。信息存储设备130可包括任何类型的永久或非易失性存储器或存储设备,诸如闪 存和/或固态驱动、磁驱动或光盘驱动。
[0019] 处理器110可表示集成在单个衬底上或者封装在单个封装中的一个或多个处理 器,每个处理器可包括呈任何组合的多个线程和/或多个执行核。被表示为处理器110的 每个处理器可以是任何类型的处理器,包括通用处理器,诸如英特尔?酷睿?处理器族、 英特尔?凌动?处理器族中的处理器、或来自英特尔?公司的其他处理器族或来自另一 家公司的另一个处理器或专用处理器或微控制器。处理器110可包括指令单元111、执行 单元112、处理存储设备113、接口单元114、处理器控制单元115、高速缓存单元116以及安 全区域单元117。处理器110还可包括未在图1中示出的任何其他电路、结构、或逻辑,和/ 或在图1中的其他地方示出或描述的任何电路、结构、或逻辑。
[0020] 指令单元111可表示用于取出、接收、解码、和/或调度指令的任何电路、结构或其 他硬件,诸如指令解码器。可在本发明的范围内使用任何指令格式;例如,指令可包括操作 码和一个或多个操作数,其中该操作码可被解码为一个或多个微指令或微操作以便由执行 单元112执行。
[0021] 执行单元112可包括用于处理数据并执行指令、微指令、和/或微操作的任何电 路、结构、或其他硬件,诸如算术单元、逻辑单元、浮点单元、移位器等等。
[0022] 处理存储设备113可表示可用于处理器110内的任何目的的任何类型的存储设 备,例如,其可包括任何数量的数据寄存器、指令寄存器、状态寄存器、配置寄存器、控制寄 存器、其他可编程或硬编码寄存器或寄存器组、或任何其他存储结构。
[0023] 接口单元114可表示任何电路、结构、或其他硬件(诸如总线单元、消息传送单元、 或任何其他单元、端口、或接口),以便允许处理器110通过任何类型的总线、点到点、或其 他连接直接或通过任何其他组件(诸如存储器控制器或总线桥)与系统100内的其他组件 通信。
[0024] 处理器控制单元115可包括任何逻辑、微代码、电路、或其他硬件以便控制处理器 110的这些单元和其他元件的操作以及在处理器110之内、向内、以及向外的数据传送。处 理器控制单元115可通过致使处理器110执行由指令单元111接收的指令和从由指令单元 111接收的指令导出的微指令或微操作来致使处理器110执行或参与执行本发明的方法实 施例,诸如以下描述的方法实施例。
[0025] 高速缓存单元116可表示信息处理系统100的存储器层次内的用静态随机存取存 储器或任何其他存储器技术实现的一个或多个高速缓存存储器级别。高速缓存单元116可 包括根据用于信息处理系统内的高速缓存的任何已知的方法专用于或者在处理器110内 的任何一个或多个执行核或处理器之间共享的高速缓存存储器的任何组合。
[0026] 安全区域单元117可表示用于创建和维护安全、受保护或隔离环境的任何逻辑、 电路、硬件或其他结构,该环境诸如在此描述的安全区域,应用或其他软件可在该安全区域 内运行、执行、加载或以其他方式在信息处理系统(诸如系统100)中存在。出于本描述的 目的,这种环境的每个实例可被称为安全区域,尽管本发明的实施例不限于将安全区域用 作安全、受保护或隔离环境的那些实施例。在一个实施例中,可使用英特尔?酷睿?处理 器族或来自英特尔?公司的其他处理器族内的处理器的指令集内的指令创建并维护安全 区域。
[0027] 图2示出安全区域单元200,其实施例可用作系统100内的安全区域单元117。安 全区域单元200的全部或部分可被包括在处理器110的任何一个或多个其他单元内,诸如 指令单元111、执行单元112、处理器存储设备113、处理器控制单元115和高速缓存单元 116〇
[0028] 安全区域单元200可包括加密单元210,该加密单元可包括用于执行任何一个或 多个加密算法和相应的解密算法的任何逻辑、电路或其他硬件并且可包括与处理器110内 的另一个加密单元共享的逻辑、电路或其他硬件。
[0029] 安全区域单元200还可包括区域页高速缓存(EPC) 220。在一个实施例中,EPC220 可以是高速缓存单元116的专用部分,诸如末级高速缓存的部分。其他实施例是可能的,包 括其中EPC220的全部或部分可位于处理器110外部的实施例。EPC220可用于为一个或 多个安全区域存储未经加密的代码和数据。访问控制逻辑214、范围寄存器216和EPC映 射(EPCM)218可用于防止访问EPC220内的页,除非由该页所分配给的安全区域内在处理 器110上运行的应用访问。
[0030] 安全区域单元200还可包括EPC分页单元230。EPC分页单元230可包括用于提 供根据本发明的实施例将页移出和移入EPC220的任何逻辑、电路或其他硬件。EPC分页单 元230可包括用于解码和执行EWB指令、ELD指令和EPA指令的微代码、逻辑、电路和/或 其他硬件。
[0031] 这些指令可由操作系统或其他软件用于管理EPC220以及提供虚拟存储器空间 以便由比EPC220的尺寸更大的一个或多个安全区域使用。EWB指令可用于将页(诸如页 222)从EPC220逐出到系统存储器120。ELD指令可用于将页从系统存储器120加载到EPC 220。EPA指令可用于分配特殊EPC页,被称为版本阵列页,其上存储用于所逐出页的版本信 息。
[0032] 安全区域单元200还可包括EPC存储器管理单元(MMU) 240。EPCMMU单元240可 包括用于解码和执行EADD指令、EAUG指令、EMOD指令、EACCEPT指令和EREMOVE指令的微 代码、逻辑、电路和/或其他硬件。这些指令可由操作系统和/或其他软件用于动态地增加 和减小EPC220内的分配给一个或多个安全区域的存储器空间的尺寸。
[0033] EADD指令是可由操作系统用来将EPC220内的页分配给安全区域的特权指令。不 像使用EAUG指令分配页,使用EADD指令分配页不涉及安全区域使用EACCEPT指令接受分 配。EAUG指令是可由操作系统用来将EPC220内的未测量的归零的页分配给现有安全区域 的特权