供内核模式应用使用的安全区域的制作方法

文档序号:9932663阅读:496来源:国知局
供内核模式应用使用的安全区域的制作方法
【技术领域】
[0001] 概括地说,本文所描述的实施例设及安全区域(secure enclave)W及从内核模式 应用访问安全区域。
【背景技术】
[0002] 安全区域是存储器孔径(memory aperture),应用可W通过该存储器孔径来处理 机密信息。例如,一些安全区域是计算机系统中的特殊范围的物理存储器内的存储器位置。 在每次上电时,在由计算机系统的处理器创建的临时密钥下对该存储器进行加密。因此,除 了处理器自身W外,计算机系统中的任何硬件设备无法访问该存储器。
[0003] 安全区域可W用于在计算机系统的任何其它组件和/或过程无法访问的存储器位 置中处理机密信息。例如,可W在安全区域内对机密信息进行加密。仅可W在用于对机密信 息进行加密的安全区域内对经加密的信息进行解密。因此,可W在不暴露用于对数据进行 加密和/或解密的密钥的情况下对该数据进行加密和解密。因此,通过使用各种函数来调用 安全区域和向安全区域传递任何必要的数据,应用可W与安全区域交互。由于安全区域的 性质W及其使用特殊加密的存储器位置,与安全区域的交互被限制于在用户模式下操作的 应用。在内核模式下操作的应用被阻止与安全区域交互。
[0004] 如将意识到的,负责对计算机系统进行初始化的应用在内核模式下操作。例如,基 本输入/输出系统("BIOS")和统一可扩展固件接口("肥Fr)是对启动计算机系统所必须的 各种平台设备(特别是操作系统所位于的存储设备)进行初始化的应用(或应用集合)。运些 应用在内核模式下操作并且可W被称为执行用于计算机系统的"预启动"操作。在预启动期 间,存在期望在安全区域中处理机密信息的情形。例如,防盗技术和全盘加密技术使用密钥 (例如,W对计算设备进行解锁、对盘进行解密等)。密钥通常使用由用户选择的密码来加 密。在预启动期间,用户提供密码并且密钥在存储器中被解密成明文。然而,因为该存储器 没有受保护,密钥可能能够被另一个应用访问。
[0005] 因此,存在由内核模式应用访问安全区域的需求,尤其是在预启动期间,提供由在 内核模式下操作的应用对机密信息的安全处理。
【附图说明】
[0006] 图1示出了用于实现由内核模式应用进行的至安全区域的访问的系统的实施例。
[0007] 图2示出了用于实现由内核模式应用进行的至安全区域的访问的系统的实施例的 一部分。
[000引图3示出了根据实施例的逻辑流。
[0009] 图4示出了存储介质的实施例。
[0010] 图5示出了根据实施例的逻辑流。
[0011] 图6示出了存储介质的实施例。
[0012]图7示出了根据实施例的处理架构。
【具体实施方式】
[0013] -般性参考本文所使用的记号和命名,可W从在计算机或计算机网络上执行的程 序过程方面呈现随后的【具体实施方式】的各部分。运些过程性描述和表示由本领域技术人员 用于将其工作的实质最有效地传达给本领域其它技术人员。在此,一般而言,过程被认为是 导致期望的结果的自相容操作序列。运些操作是需要物理量的物理操纵的那些操作。通常, 虽然不是必要地,但是运些量采取能够被存储、传输、组合、比较或W其它方式被操纵的电 信号、磁性信号和光学信号的形式。主要由于常见使用的原因,将运些信号称为位、值、元 素、符号、字符、项、数字等有时证明是方便的。然而,应当注意的是,所有运些和类似的术语 将与适当的物理量相关联,并且仅仅是应用于那些量的方便的标签。
[0014] 此外,经常在通常与由人类操作员执行的智力操作相关联的术语(例如添加或比 较)中提及运些操纵。然而,在形成一个或多个实施例的部分的本文所描述的任何操作中, 没有运样的人类操作员能力是必要的,或在大多数情况下是期望的。相反,运些操作是机器 操作。用于执行各种实施例的操作的有用机器包括如由存储在内的根据本文教导所编写的 计算机程序选择性地激活或配置的通用数字计算机,和/或包括为了所需目的而特别地构 造的装置。各种实施例还设及用于执行运些操作的装置或系统。运些装置可W为了所需目 的而被特别地构造,或者可W包括通用计算机。用于各种各样的运些机器的所需结构将根 据给定的描述而变得显而易见。
[0015] 现在参考附图,其中相似的附图标记贯穿全文用于指代相似的元件。在W下的描 述中,为了解释的目的,阐述许多具体细节,W便提供对其的透彻理解。然而,可显而易见的 是,可W在没有运些具体细节的情况下实施新颖的实施例。在其它实例中,W框图形式示出 公知的结构和设备,W便于其描述。意图是覆盖权利要求的范围内的所有修改、等同物和替 代方案。
[0016] 图1是用于实现由内核模式应用进行的至安全区域的访问的系统1000的框图。系 统1000包括计算设备100。计算设备100可W是多种类型的计算设备中的任意一种,包括但 不限于:台式计算机系统、数据录入终端、膝上型计算机、上网本计算机、平板计算机、手持 个人数字助理、智能电话、数码相机、并入到衣服或可穿戴配件(例如,眼镜、手表等)中的穿 戴在身上的计算设备、集成到运载工具(例如,汽车、自行车、轮椅等)中的计算设备、服务 器、服务器集群、服务器场、站、无线站、用户设备等。实施例不限于该上下文。
[0017] 总体而言,系统1000被配置为允许内核模式应用与安全区域交互。换言之,系统 1000被配置为允许由在内核模式下操作的应用加载和运行安全区域。应当注意的是,虽然 描述了用于加载和运行供内核模式应用使用的安全区域的单个计算设备(例如,计算设备 100),但是该计算设备的特征可W并入到多个计算设备中。
[001引如将意识到的,许多现代处理组件(例如,X86等)提供被称为"内核模式"和"用户 模式"的不同操作模式。处理组件在运两种模式之间进行切换,取决于处理组件在针对其执 行指令的特定应用具有什么权限。通常,用于初始化并向计算设备的组件(例如,驱动器、操 作系统组件、预启动应用等)提供接口功能的应用具有内核模式权限,并且因此在内核模式 下操作。换言之,当处理组件执行来自运些类型的应用的指令时,处理组件在内核模式下操 作。相反,大多数其它应用具有用户模式权限。因此,当处理组件执行来自运些类型的应用 的指令时,处理组件在用户模式下操作。
[0019] 因此,本公开内容的各种实施例提供了可W加载和运行安全区域的内核模式应 用。例如,执行"预启琳'操作的应用(例如,BIOS、肥FI等)(其通常在内核模式下操作何W 加载和运行安全区域。在特定的示例中,防盗技术和/或全盘加密技术(其在计算机系统初 始化时执行安全敏感处理)可W使用安全区域W便处理安全信息(例如,验证密码、解密必 要的启动驱动器等)。
[0020] 在各种实施例中,计算设备100包括处理器组件110、控制装置120、存储组件130和 接口 140中的一个或多个,其中接口 140用于将计算设备100禪合到网络。处理器组件可W包 括一个或多个模型专用的寄存器112(MSR)和安全区域页缓存IM(EPC)。在一些示例中,EPC 114可W存储在处理器110上的存储器缓存位置。在其他示例中,EPC 114可W存储在另一个 存储器位置(例如,本地存储器等)。在特别特定的示例中,EPC 114可W存储在平台本地存 储器(例如,DRAM等)的受加密地保护(例如,M邸等)的区域中。存储组件130存储控制例程 131、机密信息132、内核模式应用200、安全区域300、页表142(PT)、全局描述符表144(GDT) 和中断描述符表146( IDT)中的一个或多个。
[0021] 在计算设备100中,控制例程131包括在W其作用作为主处理器组件的处理器组件 110上操作的指令序列,W实现用于执行各种功能的逻辑单元。在执行控制例程131时,处理 器组件110提供针对内核模式应用200的用户模式支持,所W内核模式应用200可W与安全 区域300交互。
[0022] 在执行控制例程131时,处理器组件110可W修改GDT 142和IDT 144W提供针对内 核模式应用200的用户模式权限。另外,在执行控制例程131时,处理器组件110可W设定一 个或多个MSR 112W启用在用户模式和内核模式操作之间的切换。例如,可W设定一个或多 个MSR 112 W启用SYSCAliVSYSRE巧旨令,如将意识到的,SYSCAliVSYSRE巧旨令在用户模式与 内核模式之间切换处理组件110。
[0023] 此外,在执行控制例程131时,处理器组件110可W将很多个存储器页添加至EPC 114。另外,在执行控制例程131时,处理器组件110可W创建安全区域300。应当意识到,多种 用于创建和管理安全区域的不同技术是可用的。具体的实施方案可W取决于处理组件的类 型和/或操作系统的类型。例如,Inte隨> 安全性防护扩展⑥技术可W用于创建安全区域300 并且在安全区域300中处理机密信息132。然而,运只是一个示例,实施例不限于运方面。
[0024] 在执行控制例程131时,处理器组件110可W另外切换到用户模式操作并且代表内 核模式应用200在安全区域300中处理机密信息132。在一些示例中,如所陈述的,内核模式 应用200是预启动应用。换言之,内核模式应用可W使得在加载操作系统之前由处理组件执 行指令。例如,内核模式应用200可W是防盗应用、全盘加密应用等等。在一些示例中,在执 行控制例程131时,一旦加载操作系统,处理器组件110就可W将安全区域300传递给该操作 系统。
[00巧]在各种示例中,PT 142、GDT 144、IDT 146和EPC 114可W是定义关于系统1000尤 其是计算设备100的特性的各种数据结构。应当意识到,多种用于实现数据结构并且具体而 言用于实现页表、全局描述符表、中断描述符表和区域页缓存的不同技术是已知的。具体的 实施方案可W取决于计算设备100的类型、处理器110的类型、存储组件130的类型W及在计 算设备100上执行的软件和/或操作系统。
[00%] 在各种实施例中,处理器组件110可W包括多种多样的商业上可用的处理器组件 中的任意一种,
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1