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

用于利用安全飞地来强化数据加密的技术制造技术

技术编号:16934832 阅读:28 留言:0更新日期:2018-01-03 05:13
公开了用于强化加密操作的技术。在一些实施例中,所述技术利用可以在用户模式下和/或在预引导情境下运行的安全飞地来强化通常由内核模式程序执行的加密操作。在一些实施例中,所述技术利用共享缓冲器和代理来使能使用在用户模式下主控的安全飞地来执行加密操作。在附加实施例中,所述技术利用一个或多个预引导应用来使能在预引导阶段中使用安全飞地,例如以便使能使用安全飞地来解密引导计算设备可能需要的数据。

Technology for intensification of data encryption using secure enclaves

The technology used to strengthen encryption operations is disclosed. In some embodiments, the technology utilizes the secure enclaves that can run in user mode and / or in the pre boot context to enhance the encryption operation usually performed by kernel mode programs. In some embodiments, the technology uses shared buffers and agents to enable encryption operations to be performed using the secure ground of the master control in the user mode. In additional embodiments, the technology utilizes one or more pre boot applications to enable safe enclaves in the pre boot stage, such as enabling the use of secure enclaves to decrypt the data that may be needed for the boot computing device.

【技术实现步骤摘要】
【国外来华专利技术】用于利用安全飞地来强化数据加密的技术
本公开总体上涉及用于利用一个或多个安全飞地(enclave)来强化数据加密的技术。更具体地,本公开涉及用于利用可以在用户模式下和/或在预引导情境下运行的安全飞地来强化通常由内核模式程序执行的数据加密操作的技术。还公开了采用这种技术的设备、系统和方法。
技术介绍
磁盘加密软件通常用于在信息被存储到数据存储设备(例如,硬盘驱动器、固态磁盘等)中或从所述数据存储设备中读取时对所述信息进行加密和解密。在这种实例中,通常由在内核模式下运行的应用使用加密密钥来执行。假若加密密钥(或者相应的解密密钥)仍受到保护,则利用加密密钥加密的数据通常是安全的。在此方面,各种各样的技术可用于防止加密和/或解密密钥免遭未授权方的访问。例如,可以通过在用户提供的密码短语中包封密钥、利用可信平台模块和/或智能卡来密封所述密钥等来保护所述密钥。虽然现有的密钥保护技术是有用的,但它们并不完全安全。这是由于以下事实:许多加密技术在正在对明文或密文进行加密操作时暴露了存储器中的密钥的明文。这为有野心的黑客和/或恶意软件获得密钥的明文提供了机会。例如,未授权的第三方可以执行所谓的“冷引导”攻击以使加密系统转储其物理存储器的内容(包括其中的密钥的明文),在此之后,所述第三方可以从所产生的转储文件中恢复密钥。可替代地,所述第三方可以执行所谓的“evilmaid(邪恶女仆)”攻击以安装键盘记录器来拦截在输入其时的用户密码短语,所述用户密码短语然后可由所述第三方使用以便恢复加密密钥的明文。类似地,可实施“blue-pill(蓝色药丸)”攻击以便在客户端系统的软件栈后方创建虚拟机监视器(VMM)。取决于实施方式,可采用所述VMM以便直接捕获加密密钥、或者捕获可用于恢复加密密钥的明文的用户密码短语。鉴于前述内容,已经增长了对用于强化磁盘加密的技术的兴趣。具体地,已经增长了对用于在执行加密操作过程中保护用于加密和解码信息的(多个)密钥的技术的兴趣。附图说明所要求保护的主题的实施例的特征和优点将随着以下具体实施方式的进行并且通过参照附图变得明显,其中,相同的数字指代相同的部件,并且在附图中:图1展示了与本公开相一致的实现安全飞地以强化数据加密操作的电子设备的示例实施例;图2展示了与本公开相一致的实现安全飞地以强化数据加密操作的电子设备的示例实施例的一部分。图3是与本公开相一致的根据一种利用安全飞地来强化数据加密的方法的一个示例的内核到用户模式接口模块的示例操作的流程图。图4是与本公开相一致的根据一种利用安全飞地来强化数据加密的方法的一个示例的飞地主控模块的示例操作的流程图。图5是与本公开相一致的一种在预引导阶段中实现安全飞地的方法的一个示例的示例操作的流程图。具体实施方式虽然在此参考用于特定应用的说明性实施例描述了本公开,但是应当理解的是,此类实施例仅是示例性的并且如由所附权利要求书限定的本专利技术并不限于此。的确,出于展示的目的,可以在一个或多个使用情况的情境下讨论在此描述的技术,其中,数据的明文在被写入磁盘(例如,硬盘驱动器、固态磁盘等)中之前被加密或者从磁盘读取的数据的密文被解密。这种讨论仅是为了示例的目的,并且应当理解的是,在此描述的技术的全部或一部分可以在其他情境中使用。能够触及在此提供的传授内容的相关领域普通技术人员将认识到在本公开内容的范围内的附加修改、应用和实施例以及本公开的实施例将在其中有效用的另外领域。大致参考在此所使用的记法和命名,之后的详细描述的部分可以按照在计算机或计算机的网络上执行的程序流程来呈现。本领域普通技术人员使用这些流程描述和表示以便将其工作的实质最有效地传达给本领域其他普通技术人员。流程在此并且通常被认为是导致所需结果的自洽操作序列。这些操作是需要对物理量进行物理操纵的操作。通常,但不一定,这些量采用能够被存储、传递、组合、比较、以及以另外方式操纵的电、磁或光信号的形式。主要出于常见用法的原因,证明有时将这些信号称为比特、值、元素、符号、字符、术语、数字等是方便的。然而,应当注意的是,所有这些术语和相似术语与适当的物理量相关联并且仅是应用于那些量的方便标签。进一步地,这些操纵经常被称为如相加或比较等术语,这些术语通常与由人类操作员执行的智力操作相关联。然而,在大多数情况下,在此所描述的形成一个或多个实施例的一部分的操作中的任何操作中不需要或不期望人类操作员的这种能力。相反,这些操作是机器操作。用于执行各实施例的操作的有用机器包括:通用数字计算机和/或包括针对所需目的而专门构造的装置,所述通用数字计算机由存储在其中根据本文的教导编写的计算机程序选择性地激活或配置。各实施例还涉及用于执行这些操作的装置或系统。这些装置可以是针对所需目的而专门构造的或者可以包括通用计算机。各种各样的这些机器的所需结构将从所给出的描述中变得明显。在本公开的上下文中,术语“计算设备”和“电子设备”可互换地用于指代可以用于至少部分地利用安全飞地来执行加密操作的广泛设备。合适的计算设备的非限制性示例包括相机、手机、计算机终端、台式计算机、电子阅读器、传真机、自助服务终端、上网本计算机、笔记本计算机、互联网设备、支付终端、个人数字助理、媒体播放器和/或记录器、服务器、机顶盒、智能电话、平板机个人计算机、电视、超级移动个人计算机、有线电话、其组合等。此类设备可以是便携式或者固定的。在没有限制的情况下,在此所描述的客户端优选地采用蜂窝电话、台式计算机、电子阅读器、膝上型计算机、机顶盒、智能电话、平板个人计算机、电视、或超级移动个人计算机的形式。如在此所使用的,术语“磁盘”、“存储设备”和“存储设备”在此可以互换地使用以指代可以用于提供非易失性数据存储的一个或多个非易失性存储器设备。在此可以使用的存储设备的非限制性示例包括磁存储设备(例如,磁性硬盘驱动器、磁光驱动器、热辅助磁记录设备、磁盘等)、固态存储设备(例如,采用非易失性固态与非(NAND)存储器或或非(NOR)存储器)、记忆棒和/或包括非易失性存储器的存储器卡、其组合等。短语“加密操作”在此用于通常指代将明文加密成密文、将密文解密成明文、或其某种组合(视情况而定)。术语“加密操作”因此应当被理解为涵盖数据的加密和解密两者,其中基于使用短语的上下文给出了适当的解释。如本文中任何实施例中所使用的,术语“模块”可以指被配置成用于执行与本公开一致的一个或多个操作的软件、固件和/或电路系统。软件可以具体化为非瞬态计算机可读存储介质上所记录的软件包、代码、指令、指令集和/或数据。固件可以具体化为存储器设备中硬编码(例如,非易失性的)的代码、指令或指令集和/或数据。如本文中任何实施例所使用的,“电路系统”可以例如单一地或以任何组合形式包括硬接线电路、可编程电路(诸如包括一个或多个个体指令处理核的计算机处理器)、状态机电路系统、软件和/或存储有可由可编程电路执行的指令的固件。所述模块可以(共同地或单独地)具体化为形成一个或多个客户端设备的一部分的电路系统(例如,作为至少部分地在硬件中实现的逻辑)。如稍后将详细描述的,本公开的技术利用一个或多个安全飞地(在此亦被称为“存储器飞地”或仅“飞地”)来强化由计算设备执行的数据加密操作。通常,安全飞地由至少一个存储器页面组成,所本文档来自技高网...
用于利用安全飞地来强化数据加密的技术

【技术保护点】
一种计算设备,所述计算设备被配置成用于利用在用户模式下执行的安全飞地来强化数据加密;所述计算设备包括:处理器;存储器;以及用户模式接口模块,至少部分地在所述处理器的内核模式下实现,其中,所述用户模式接口模块用于:在共享缓冲器中对未处理数据进行排队,所述共享缓冲器是所述用户模式接口模块和飞地主控模块可访问的,所述飞地主控模块至少部分地在所述处理器的用户模式下是可执行的,所述飞地主控模块主控安全飞地;以及向所述飞地主控模块提供经缓冲数据指示符,所述经缓冲数据指示符被配置成用于使所述安全飞地对所述未处理数据执行加密操作以便产生经处理数据。

【技术特征摘要】
【国外来华专利技术】2015.03.25 US 14/667,9161.一种计算设备,所述计算设备被配置成用于利用在用户模式下执行的安全飞地来强化数据加密;所述计算设备包括:处理器;存储器;以及用户模式接口模块,至少部分地在所述处理器的内核模式下实现,其中,所述用户模式接口模块用于:在共享缓冲器中对未处理数据进行排队,所述共享缓冲器是所述用户模式接口模块和飞地主控模块可访问的,所述飞地主控模块至少部分地在所述处理器的用户模式下是可执行的,所述飞地主控模块主控安全飞地;以及向所述飞地主控模块提供经缓冲数据指示符,所述经缓冲数据指示符被配置成用于使所述安全飞地对所述未处理数据执行加密操作以便产生经处理数据。2.如权利要求1所述的计算设备,进一步包括:存储映射器模块,所述存储映射器模块至少部分地在所述内核模式下是可执行的,其中,所述用户模式接口模块进一步用于从所述存储映射器模块接收所述未处理数据。3.如权利要求2所述的计算设备,其中,所述存储映射器模块用于拦截来自至少部分地在所述用户模式下执行的应用的一个或多个读请求,并且用于将所述一个或多个读请求所针对的未处理数据重新引导至所述用户模式接口模块。4.如权利要求2所述的计算设备,其中:所述用户模式接口模块进一步用于接收所述经处理数据;并且所述存储映射器模块进一步用于从所述用户模式接口模块接收所述经处理数据。5.如权利要求4所述的计算设备,其中,所述存储映射器模块进一步用于判定所述经处理数据是明文还是密文。6.如权利要求3所述的计算设备,其中,所述一个或多个读请求所针对的所述未处理数据包括密文,所述用户模式接口模块用于在所述共享缓冲器中对所述密文的至少一部分进行排队,并且所述加密操作包括对在所述共享缓冲器中排队的所述密文进行解密。7.如权利要求1所述的计算设备,其中,所述存储映射器模块用于拦截来自至少部分地在所述用户模式下执行的应用的一个或多个写请求,并且用于将与所述一个或多个写请求相关联的未处理数据重新引导至所述用户模式接口模块。8.如权利要求7所述的计算设备,其中,与所述一个或多个写请求相关联的所述未处理数据是明文,所述用户模式接口模块用于在所述共享缓冲器中对所述明文进行排队,并且所述加密操作包括对在所述缓冲器中排队的所述明文进行加密。9.如权利要求1至8中任一项所述的计算设备,其中:所述飞地主控模块用于向暴露于所述飞地主控模块和所述用户模式接口模块两者的代理发布系统调用;所述用户模式接口模块用于拦截所述系统调用;并且所述用户模式接口模块用于至少部分地通过释放所述系统调用来提供所述经缓冲数据指示符。10.如权利要求9所述的计算设备,其中,所述代理包括内核模式设备或数据结构。11.如权利要求1至8中任一项所述的计算设备,其中,所述安全飞地用于原位地执行所述加密操作,从而使得所述经处理数据被写入所述共享缓冲器中的与所述未处理数据的相应部分相同的位置中。12.如权利要求1至8中任一项所述的计算设备,其中,所述飞地主控模块进一步可操作用于提供完成指示符,所述完成指示符用于向所述用户模式接口模块指示由所述安全飞地执行的所述加密操作的至少一部分完成。13.一种利用在用户模式下执行的飞地来强化加密操作的方法,所述方法包括利用用于在处理器的内核模式下执行的用户模式接口模块进行的以下步骤:接收未处理数据;在共享缓冲器中对未处理数据进行排队,所述共享缓冲器是所述用户模式接口模块和飞地主控模块可访问的,所述飞地主控模块至少部分地在所述处理器的用户模式下执行,所述飞地主控模块主控安全飞地;以及向所述飞地主控模块提供经缓冲数据指示符,所述经缓冲数据指示符被配...

【专利技术属性】
技术研发人员:幸滨R·拉尔D·R·萨巴瑞迪
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国,US

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

1