CN107667356A - 存储器加密排除方法和设备 - Google Patents

存储器加密排除方法和设备 Download PDF

Info

Publication number
CN107667356A
CN107667356A CN201680030294.XA CN201680030294A CN107667356A CN 107667356 A CN107667356 A CN 107667356A CN 201680030294 A CN201680030294 A CN 201680030294A CN 107667356 A CN107667356 A CN 107667356A
Authority
CN
China
Prior art keywords
memory
service
encryption
equipment
firmware
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201680030294.XA
Other languages
English (en)
Inventor
N·J·亚当斯
V·J·齐默
B·V·帕特尔
R·普尔纳查得兰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of CN107667356A publication Critical patent/CN107667356A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1408Protection against unauthorised use of memory or access to memory by using cryptography
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/1425Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
    • G06F12/1441Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block for a range
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/572Secure firmware programming, e.g. of basic input output system [BIOS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/575Secure boot
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4403Processor initialisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1052Security improvement

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Stored Programmes (AREA)
  • Storage Device Security (AREA)

Abstract

本文公开了与存储器加密排除相关联的设备、方法和存储介质。在各实施例中,一种设备可包括一个或多个处理器、存储器以及用来向操作系统提供基本输入/输出服务的固件。附加地,该设备可包括用来控制对存储器的访问的存储器控制器,其中该存储器控制器包括加密引擎,该加密引擎用来在数据被存储到存储器的经加密的区域之前使用加密密钥来加密数据,其中加密引擎在将执行从由一个或多个处理器操作的操作系统转移到固件的预引导阶段的重置之际重新生成加密密钥。此外,该设备可包括一个或多个存储位置,这些存储位置用来存储一个或多个存储器参数以留出存储器的一个或多个范围作为一个或多个加密已排除区域。

Description

存储器加密排除方法和设备
相关申请
本申请要求于2015年6月24日提交的标题为“MEMORY ENCRYPTION EXCLUSIONMETHOD AND APPARATUS(存储器加密排除方法和设备)”的美国专利申请14/749,301的优先权。
技术领域
本公开涉及计算领域。更具体而言,本公开涉及在存储器中提供一个或多个加密排除区域。
背景技术
本文中所提供的背景描述用于总地呈现本公开的上下文的目的。除非在本文中另有指示,本部分中描述的材料不是本申请中的权利要求的现有技术,并且不因为包含在本部分中而被承认为现有技术。
在提供计算平台(下文中被称为平台)方面的历史挑战之一包括固件更新的无缝实现以及将其他遥测信息传递回平台。传统上,供应商具有其自己的实用程序、自定义驱动程序和引导环境来编排其更新。统一可扩展固件接口(UEFI)技术的应急引入了对有效载荷及应用使用封装体(Capsule)或二进制团块(binary blob)来运载这些更新和/或提供遥测信息的能力。连同运行时应用编程接口(API)UpdateCapsule()服务一起,操作系统(OS)运行时能够在OS活动时编排更新或传递遥测信息(即,不需要重启进入定制环境中,等等)。微软公司的8将这种能力提供给了片上系统(SOC)平台。在 OS以及其他OS上的跟进被期待向附加的平台提供这种能力。有关封装体的进一步信息,请参阅可从公司获得的2013年9月第0.9版的“针对EFI的平台创新框架封装体说明书( Platform Innovation on Framework for EFI Capsule Specification)”。
然而,其他平台硬件保护技术正在与封装体机制竞争。具体而言,封装体更新API通常使用系统存储器作为封装体数据的运输工具,该封装体数据通过非存储器破坏性重启被传达到平台固件中。然而,像“总存储器加密”(TME)之类的新技术认为平台固件是敌对的,并且任何通过重启/重置返回到固件中的调用都可能被认为是一种其中OS机密可能会被泄露给可能已经被包括了的固件的攻击途径(attack vector)。作为结果,TME硬件实现通常通过重启/重置来争夺加密密钥以减轻这种担忧。
附图说明
通过下列具体实施方式结合附图,将容易理解实施例。为了便于该描述,相同的附图标记指示相同的结构元件。在附图中,通过示例而非限制地说明实施例。
图1例示了根据各个实施例的具有本公开的存储器加密排除技术的计算设备。
图2例示了根据各个实施例的用于在存储器中配置加密排除区域的各种示例存储器参数。
图3更详细地例示了根据各个实施例的使用基址和掩码的示例加密排除。
图4例示了根据各个实施例的用于在重置期间提供加密排除区域的示例过程。
图5例示了根据各个实施例的用于验证封装体的示例过程。
图6例示了根据各个实施例的适于使用以实施本公开的各方面的示例计算机系统。
图7例示了根据各个实施例的具有用于实施参考图4-5所述的方法的指令的存储介质。
详细描述
本文公开了与存储器加密排除相关联的设备、方法和存储介质。在各实施例中,一种设备可包括一个或多个处理器、存储器以及用来向操作系统提供基本输入/输出服务的固件。附加地,该设备可包括用来控制对存储器的访问的存储器控制器,其中该存储器控制器包括加密引擎,该加密引擎用来在数据被存储到存储器的经加密的区域之前使用加密密钥来加密数据,其中加密引擎在将执行从由一个或多个处理器操作的操作系统转移到固件的预引导阶段的重置之际重新生成加密密钥。此外,该设备可包括一个或多个存储位置,这些存储位置用来存储一个或多个存储器参数以留出存储器的一个或多个范围作为一个或多个加密已排除区域。
在各实施例中,固件的基本输入/输出服务可包括一个或多个加密排除服务,这些加密排除服务配置该一个或多个存储器参数来留出存储器的范围以提供存储器的加密已排除区域或者复原存储器先前留出的范围以不再将该区域排除在加密之外。
在各实施例中,固件的基本输入/输出服务还可包括系统重置服务,其中系统重置服务包括一个或多个加密排除服务中的第一加密排除服务,其中第一加密排除服务在将执行从操作系统转移到固件的预引导阶段的重置的开始期间的调用之际设置一个或多个存储器参数以留出存储器的范围作为加密已排除区域。附加地,作为重置设备的一部分的系统重置服务可将由操作系统创建的封装体从经加密的区域复制到加密已排除区域中。此外,固件的基本输入/输出服务可包括初始化服务,该初始化服务包括第二加密排除服务,其中第二加密排除服务在预引导阶段的结束期间的调用之际重置一个或多个存储器参数来复原存储器的留出的范围以不再将该区域排除在加密之外。
在以下详细描述中,参考形成本文一部分的附图,其中相同的标记指示全文中相同的部分,并且其中通过说明示出了可以实现的实施例。应理解,可利用其它实施例并作出结构或逻辑改变而不背离本公开的范围。因此,以下详细描述不旨在作为限制,并且实施例的范围由所附权利要求及其等效方案来限定。
所附说明书公开了公开的方面。可以设计本公开的替代实施例及其等效物而不背离本公开的精神或范围。应当注意,下文公开的相同的元件由附图中相同的附图标记指示。
可以按在理解要求保护的主题中最有帮助的方式轮流将各操作描述为多个分立动作或操作。然而,不应将描述的顺序解释为意味着这些操作必然取决于顺序。具体而言,可以不按照呈现的顺序执行这些操作。可以以不同于描述的实施例的顺序执行描述的操作。在附加的实施例中,可以执行各种附加操作和/或可以省略描述的操作。
对于本公开的目的,短语“A和/或B”意思是(A)、(B)或(A和B)。对于本公开的目的,短语“A、B和/或C”意思是(A)、(B)、(C)、(A和B)、(A和C)、(B和C)或(A、B和C)。
说明书可使用短语“在一个实施例中”或“在多个实施例中”,其每一个可指代相同或不同实施例中的一个或多个。此外,相对于本公开的实施例使用的术语“包含”、“包括”、“具有”等同义。
如本文中所使用的那样,术语“模块”可以是指执行提供所描述功能的一个或多个软件或固件程序、组合逻辑电路和/或其他合适的组件的专用集成电路(ASIC)、电子电路、处理器(共享的、专用的或成组的)和/或存储器(共享的、专用的或成组的),或可以是上述各项的部分,或可包括上述各项。
现在参考图1,其中示出了根据各个实施例的具有本公开的存储器加密排除技术的计算设备。如所例示的,计算设备100可包括一个或多个处理器102、存储器104和存储器控制器106。处理器102中的每一个可以是本领域已知的具有一个或多个处理器核的多个处理器中的任何一个。同样地,存储器104可以是本领域中适于存储数据的任何已知的易失性或非易失性存储器。存储器控制器106可被配置成控制对存储器104的访问。在各实施例中,存储器控制器106可包括加密引擎122,该加密引擎122被配置成默认地在将数据存储到存储器104之前使用加密密钥来加密数据,除非该数据正被存储到存储器104的被排除在加密之外的区域中。附加地,加密引擎122可在重置之际争夺加密密钥,从而导致所有经加密的数据在进入重置之际被“丢失”。在各实施例中,存储器控制器106还可包括一个或多个存储位置(例如,寄存器)以存储被配置成定义存储器104的将被排除在对存储在其中的数据进行加密之外的一个或多个区域或范围的一个或多个参数。换言之,在默认情况下,存储器控制器106提供总存储器加密(TME),该总存储器加密通过可选择地将存储器104的一个或多个区域或范围排除在外来得到增强。除了可选择地将存储器104的一个或多个区域或范围排除在外以外,存储器控制器104可以是本领域已知的多个存储器控制器中的任何一个。可选择地将存储器104的一个或多个区域或范围排除在加密之外以及其使用将在下面参考图2-5进一步描述。
仍然参考图1,计算设备100还可包括多个输入/输出(I/O)设备108。I/O设备的示例可包括诸如以太网、WiFi、3G/4G、近场通信、通用串行总线(USB)等的通信或联网接口,诸如固态、磁性/或光学驱动器之类的存储设备,诸如键盘、鼠标、触敏屏幕等的输入设备,以及诸如显示设备、打印机等的输出设备。
附加地,计算设备100可包括固件110、OS 112和应用114。应用114可以是本领域已知的多个应用中的任何一个。OS 112可包括各种服务和实用程序130,包括用于创建具有将被固件110使用或用来更新固件110的数据的一个或多个封装体的服务。在各实施例中,OS112可促使系统重置以将一个或多个封装体传递到固件110。因此,OS 112可同样是本领域中已知的多个OS中的任何一个。
固件110可包括多个基本输入/输出服务。在各实施例中,这些基本输入/输出服务可包括将在预引导/初始化阶段期间(例如,在计算设备100的启动时)被执行的初始化服务126以及用来重置计算设备100的重置服务128。在各实施例中,固件110可实现和支持UEFI,并且初始化服务126可实现和支持多个预引导阶段,包括预EFI初始化(PEI)阶段、驱动程序执行环境(DXE)和引导设备选择阶段(BDS)。对于这些实施例,初始化服务126可进一步支持在预引导阶段期间对封装体的验证和/或处理。
在各实施例中,固件110的基本输入/输出服务可包括一个或多个加密排除服务,这些加密排除服务将一个或多个存储器参数配置成留出存储器的一个或多个范围以提供存储器的一个或多个加密已排除区域或者复原存储器的先前留出的一个或多个范围以不再将该一个或多个区域排除在加密之外。在各实施例中,重置服务128可包括一个或多个加密排除服务中的第一加密排除服务,该第一加密排除服务在重置开始时将参数存储124中的存储器参数配置成留出存储器104的一个或多个范围作为一个或多个加密已排除区域,并且使用该一个或多个加密已排除区域来将由OS 112创建的一个或多个封装体转移到固件110以供在预引导阶段期间进行验证和处理。对于这些实施例,初始化服务126可包括一个或多个加密排除服务中的第二加密排除服务,该第二加密排除服务在预引导阶段结束时将参数存储器124中的存储器参数配置成复原存储器104的先前留出的一个或多个范围以不再被排除在对被存储到该一个或多个区域中的数据进行加密之外。
在各实施例中,作为重置服务128的补充或替代,初始化服务126的第二加密排除服务可被配置成在每次上电时的预引导阶段期间将参数存储124中的存储器参数配置成留出存储器104的一个或多个范围作为一个或多个加密已排除区域。如此创建的一个或多个加密已排除区域可跨重置而保持,直到计算设备100断电。
在各实施例中,加密排除服务(无论其为重置服务128的一部分还是初始化服务126的一部分)可在特殊的受保护的存储器区域之外被执行。特殊的受保护的存储器区域的示例可以是在特殊的受保护的执行模式(诸如系统管理模式)期间被调换入的特殊存储器区域。可例如通过诸如不可屏蔽中断之类的中断来进入特殊的受保护的执行模式。
为了便于理解,一般将在留出存储器的一个范围作为加密已排除区域的上下文中呈现剩下的描述,然而,本公开不限于此。本描述适用于在任何一个时刻将存储器的两个或更多个范围设置为两个或更多个加密已排除区域。
现在参考图2,其中例示了根据各个实施例的用于在存储器中配置加密排除区域的各种示例存储器参数。如图所示,参数存储124可包括两个存储位置202和204,以用于存储两个存储器参数、加密排除基址和加密排除掩码。加密排除基址可标识加密排除区域的起始地址。加密排除掩码可用于掩蔽写操作的存储器地址的某些位,并与加密排除基址结合来(根据加密排除基址)有效地定义加密已排除区域的范围。如前所述,在各实施例中,存储位置202和204可以是存储器控制器106的两个单独的寄存器。对于所例示的实施例,加密排除基址和加密排除掩码可分别被存储在存储位置/寄存器202和204的位12及以上的位(直到最高有效位(MSB))中。基址和掩码字段的大小可取决于存储器104的大小,并且/或者最大范围的加密已排除区域可被留出。对于所例示的实施例,存储位置/寄存器204的位11可被用来存储启用指示符,以指示将存储器104的范围留出作为加密已排除区域的特征是否被启用,例如,用值0来指示特征被禁用,且用值1来指示特征被启用。
现在参考图3,其中更详细地例示了根据各个实施例的使用基址和掩码的示例加密排除。如图所示,写地址306可以与基址204和掩码202组合312,以生成控制信号来控制选择器310选择是将纯文本数据304还是将(由加密引擎122加密的)经加密的数据302写入存储器106。各操作有效地为范围/区域322实现加密排除。尽管为了便于理解,组合(掩蔽)逻辑312、选择器310和加密引擎122被示为分开的元件,但是在各实施例中,这些元件中的两个或更多个可被组合进相同的电路块。
现在参考图4,其中例示了根据各个实施例的用于在重置期间提供加密排除区域的示例过程。将其中加密排除区域在重置开始时被动态创建并在重置结束时被移除的实施例的上下文中描述用于在存储器中提供加密排除区域的示例过程400。如图所示,对于所例示的实施例,用于在存储器中提供加密排除区域的过程400可包括在框402-420处执行的操作。框402-406处的操作可例如由图1的OS 112来执行,并且框408-420处的操作可例如由图1的固件110来执行。具体而言,框408-412处的操作可通过例如重置服务128来执行,并且框414-420处的操作可通过例如初始化服务126来执行。在替代实施例中,过程400可包括更多或更少的操作,或者一些操作可以以不同的顺序来被执行。
过程400可以在框402处开始。在框402处,可例如由OS 112来准备封装体。如前所述,封装体可包括将由固件110使用或者用于更新固件110的数据。需要注意,对于这些实施例,在封装体的创建期间,不存在加密已排除区域,作为结果,被存储在存储器中的封装体被加密。
接下来,在框404处,系统可被重置以将执行控制从OS 112转移到固件110的预引导阶段。此时,重置服务128可被调用并被给予控制。过程400可行进到框408。
在框408处,存储器中的加密已排除区域可例如通过重置服务128,更具体而言,通过重置服务128的加密排除服务来被建立。加密已排除区域可例如通过配置适用的存储器参数(诸如前面描述的基址和掩码)来被建立。在各实施例中,如前所述,重置服务128的加密排除服务可脱离特殊的受保护的存储器来被执行,该特殊的受保护的存储器在特殊的受保护的执行模式下被调换入。特殊的受保护的执行模式可经由中断来被调用。
接下来,在框410处,封装体数据可例如通过重置服务128来被复制到加密已排除区域中,从而导致封装体数据以其纯文本形式被存储在存储器中。在各实施例中,封装体数据可从加密区域中的各个不毗连的存储器块被复制到加密已排除区域中的毗连的存储器块中。
然后,在框412处,热重置可例如通过重置服务128来被执行,从而导致固件110进入预引导阶段,并且执行控制被转移到初始化服务126。
在框414处,可开始对与PEI阶段相关联的操作的执行。具体而言,在框416处,封装体的验证可被执行。在框418处,与预引导DXE和BDS阶段相关联的操作(包括封装体处理)可被执行。在各实施例中,BDS阶段可包括根据封装体的标题节段中的切换块(HOB)中的描述信息来提取封装体数据。并且,所提取的封装体数据在DXE阶段期间被处理。
在操作完成之际,存储器参数可例如通过初始化服务126,更具体而言,通过初始化服务126的加密排除服务来被再次重新配置,以将加密已排除区域恢复为默认加密区域。在各实施例中,如前所述,初始化服务126的加密排除服务可脱离特殊的受保护的存储器来被执行,该特殊的受保护的存储器在特殊的受保护的执行模式下被调换入。特殊的受保护的执行模式可经由中断来被调用。在将加密已排除区域恢复为默认加密区域之际,预引导阶段可以以被返回到OS 112的执行控制来结束,其中OS 112和应用114的执行可继续。与预引导PEI、DXE和BDS阶段相关联的各操作是平台相关的,并且在本领域中是已知的,因此除了封装体验证以外将不再作进一步描述。
现在参考图5,其中例示了根据各个实施例的用于验证封装体的示例过程。用于验证封装体的示例过程500可包括在框502-512处执行的操作。框502-512处的操作可例如通过图1的固件110的初始化服务126来被执行。在替代实施例中,过程500可包括更多或更少的操作,或者一些操作可以以不同的顺序来被执行。
过程500可以在框502处开始。在框502处,可作出关于封装体是否被签名的确定。如果封装体被签名,则过程500可行进到框504。在框504处,可作出验证签名的尝试。在框506处,可作出关于验证签名的尝试是否成功的确定。如果验证成功,则处理可在框508处继续。如果验证不成功,则过程500可行进到框512。
返回到框502,如果封装体没有被签名,则过程500可行进到框510。在框510处,可作出关于未经签名的封装体是否可被平台接受的另一确定。可以以平台相关的方式来作出该确定。如果未经签名的封装体可被平台接受,则过程500可行进到框508,并且如前所述从该处继续,否则过程500可进行到框512。
在框512处,安全违规已被确定。安全违规可以以平台相关的方式来被处置。在各实施例中,平台可被关闭并被禁用。
图6例示了可适于使用以实践本公开的所选方面的示例计算机系统。如图所示,计算机600可包括一个或多个处理器或处理器核602、只读存储器(ROM)603以及系统存储器604。出于本申请(包括权利要求书)的目的,术语“处理器”指的是物理处理器,且术语“处理器”和“处理器核”可被认为是同义的,除非上下文另外清楚地作出要求。附加地,计算机系统600可包括大容量存储设备606。大容量存储设备606的示例可包括但不限于磁带驱动器、硬盘驱动器、压缩盘只读存储器(CD-ROM)等等。此外,计算机系统600可包括输入/输出设备608(诸如显示器、键盘、光标控制等)和通信接口610(诸如网络接口卡、调制解调器等)。可经由系统总线612(其可表示一个或多个总线)将这些元件彼此耦合。在多个总线的情况下,可由一个或多个总线桥(未示出)来桥接它们。
这些元件中的每一个可执行其本领域中已知的常规功能。具体而言,ROM603可包括基本输入/输出系统服务(BIOS)605,包括如前所述的图1的初始化服务126和重置服务128。可采用系统存储器604和大容量存储设备606来存储编程指令的工作副本和永久副本,这些编程指令实现与如前所述的应用112和客OS 114相关联的操作,并且被统称为计算逻辑622。可由受处理器602支持的汇编指令或可编译成此类指令的诸如C之类的高级语言来实现各种元件。
这些元件610-612的数量、能力和/或容量可取决于计算机系统600是否被用作诸如可穿戴设备、智能电话、计算机平板、膝上型计算机等的移动设备还是被用作诸如台式计算机、服务器、游戏控制台、机顶盒、信息娱乐控制台等的固定设备而不同。否则,元件610-612的构成是已知的,并相应地将不作进一步描述。
如本领域技术人员将理解的那样,本公开可以具体化为方法或计算机程序产品。相应地,除了如先前所述被具体化在硬件中之外,本公开还可采取完全软件的实施例(包括固件、驻留软件、微代码等)的形式或者采取组合全部可被统称为“电路”、“模块”或“系统”的软件和硬件方面的实施例的形式。此外,本公开可采取计算机程序产品的形式,该计算机程序产品具体化在表达的任何有形的或非暂态介质中,该表达具有具体化在该介质中的计算机可用的程序代码。图7示出示例计算机可读的非暂态存储介质,其适用于存储指令,响应于由设备对这些指令的执行,这些指令使该设备实施本公开的所选择的多个方面。如所示出的那样,非暂态计算机可读存储介质702可包括多条编程指令704。编程指令704可被配置成使得设备(例如,计算机600)能够响应于对这些编程指令的执行来实现固件110、OS112和/或应用114(的各方面)。在替代实施例中,相反可将这些编程指令704设置在多个计算机可读非暂态存储介质702上。在其他实施例中,可将编程指令704设置在诸如信号之类的计算机可读暂态存储介质702上。
可以利用一个或多个计算机可用或计算机可读介质的任意组合。计算机可用或计算机可读介质例如可以是但不限于,电子、磁、光、电磁、红外或半导体系统、装置、设备或传播介质。计算机可读介质的更加具体的示例(非排他性列表)将包括下述项:具有一条或多条线的电连接件、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、光纤、便携式压缩盘只读存储器(CD-ROM)、光存储设备、诸如支持互联网或内联网的传输介质的传输介质或磁存储设备。注意,计算机可用或计算机可读介质甚至可以是其上打印有程序的纸张或另一合适的介质,因为程序可以经由例如对纸张或其他介质的光学扫描而被电子地捕获,随后如有必要被编译、解释,或以其他合适的方式处理,并随后存储在计算机存储器中。在本文档的上下文中,计算机可用或计算机可读介质可以是可包含、存储、通信、传播、或传输程序以供指令执行系统、装置或设备使用或结合指令执行系统、装置或设备一起使用的任何介质。计算机可用介质可包括被传播的数据信号,随其体现在基带中或作为载波的一部分的计算机可用程序代码。可使用任何合适的介质来传送该计算机可用程序代码,包括但不限于无线、有线、光纤缆线、RF等。
用于执行本公开的操作的计算机程序代码可以一种或多种编程语言的任意组合来编写,包括面向对象编程语言(例如Java、Smalltalk、C++等等)以及常规程序化编程语言(诸如“C”编程语言或类似的编程语言)。该程序代码可作为部分地在用户的计算机上并且部分地在远程计算机上或完全地在远程计算机或服务器上的独立的软件包完全地在用户的计算机上、部分地在用户的计算机上执行。在后一场景中,可通过任意类型的网络(包括局域网(LAN)或广域网(WAN))将远程计算机连接至用户的计算机,或可作出至外部计算机的该连接(例如,通过使用因特网服务提供商的因特网)。
参照根据本公开的各实施例的流程图说明和/或方法、装备(系统)和计算机程序产品的框图描述了本公开。将会理解,可由计算机程序指令来实现流程图说明和/或框图的每一个框以及流程图说明和/或框图中的框的组合。可将这些计算机程序指令提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器来生产机器,使得经由计算机或其他可编程数据处理装置的处理器执行的这些指令创建用于实现流程图和/或框图的一个或多个框中所指定的功能/动作的装置。
也可将这些计算机程序指令存储在可指示计算机或其他可编程数据处理装备按特定方式运作的计算机可读介质中,使得存储在该计算机可读介质中的这些指令生产制品,该制品包括实现流程图和/或框图的一个或多个框中所指定的功能/动作的指令装备。
也可将这些计算机程序指令加载到计算机或其他可编程数据处理装备上以使一系列操作步骤在该计算机或其他可编程装备上执行来产生计算机实现的进程,使得在该计算机或其他可编程装备上执行的这些指令提供用于实现流程图和/或框图的一个或多个框中所指定的功能/动作的进程。
多个图中的流程图和框图示出根据本公开的各实施例的系统、方法和计算机程序产品的可能的实现的架构、功能和操作。就这一点而言,流程图或框图中的每一个框可表示包括用于实现所指定的逻辑功能的一条或多条可执行指令的代码模块、代码段或代码部分。还应当注意,在一些替代实现中,框中所标注的多个功能可不按图中所标注的顺序发生。例如,取决于所涉及的功能,实际上可基本上同时执行连续地示出的两个框,或者有时可按相反的顺序来执行这些框。也将注意,可由执行所指定功能或动作的基于专用硬件的的系统或专用硬件和计算机指令的多种组合来实现框图和/或流程图说明中的每一个框和框图和/或流程图说明中的多个框的组合。
本文中所使用的术语仅用于描述特定实施例,并且并不旨在限制本公开。如本文中所使用的那样,单数形式的“一个”(“a”、“an”)和“该”(“the”)旨在也包括复数形式,除非上下文另外清楚地指示。还将理解,当在本说明书中使用术语“包括”(“comprise”(作谓语)和/或“comprising”(作定语))时,其指定所陈述的特征、整数、步骤、操作、元件和/或组件的存在,但不排除除此之外的一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组的存在。
可将多个实施例实现为诸如计算机可读介质的计算机程序产品之类的计算机进程、计算系统或制品。计算机程序产品可以是可由计算机系统读取的计算机存储介质以及用于执行计算机进程的编码计算机程序指令。
所附权利要求书中的所有装置或步骤以及功能元件的对应的结构、材料、动作及等效物旨在包括用于结合明确要求其权利的其他要求保护的元件来执行功能的任何结构、材料或动作。已出于说明和描述的目的呈现了本公开的描述,但是该描述不旨在是穷举性的,也不限于按所公开形式的本公开。许多修改和变型对本领域普通技术人员将是显而易见的,而不背离本公开的范围和精神。选择并描述实施例是为了最好地解释本公开的原理和实际应用,并且使其他本领域普通技术人员能够理解对具有各种修改的实施例的公开适用于所构想的特定使用。
回过头参考图6,对于一个实施例,处理器602中的至少一个可以与具有固件110和/或OS 112的各方面的存储器被封装在一起。对于一个实施例,处理器602中的至少一个可以与具有固件110和/或OS 112的各方面的存储器封装在一起以形成系统级封装(SiP)。对于一个实施例,处理器602中的至少一个可以与具有固件110和/或OS 112的各方面的存储器集成在同一管芯上。对于一个实施例,处理器602中的至少一个可以与具有固件110和/或OS 112的各方面的存储器封装在一起以形成片上系统(SoC)。对于至少一个实施例,SoC可被用在例如但不限于智能电话或计算平板中。
因此,已描述了本公开的各种示例实施例,它们包括但不限于:
示例1可以是一种用于计算的设备,包括:一个或多个处理器和存储器;与一个或多个处理器和存储器耦合的固件,该固件用于向由一个或多个处理器操作的操作系统提供基本输入/输出服务;与存储器耦合的存储器控制器,该存储器控制器用于控制对存储器的访问,其中该存储器控制器可包括用于在数据被存储到存储器的经加密的区域之前使用加密密钥来加密数据的加密引擎,其中加密引擎在将执行从由一个或多个处理器操作的操作系统转移到固件的预引导阶段的重置之际重新生成加密密钥;以及一个或多个存储位置,所述一个或多个存储位置用于存储一个或多个存储器参数以留出存储器的一个或多个范围作为一个或多个加密已排除区域。
示例2可以是示例1,其中一个或多个存储位置可包括第一存储位置和第二存储位置,第一存储位置用于存储一个或多个加密已排除区域中的第一加密已排除区域的基址,第二存储位置用于存储地址掩码以有效地定义第一加密已排除区域从基址扩展的范围。
示例3可以是示例1,其中一个或多个存储位置可包括存储器控制器的一个或多个寄存器。
示例4可以是示例1,其中固件的基本输入/输出服务可包括一个或多个加密排除服务,这些加密排除服务将一个或多个存储器参数配置成留出存储器的一个或多个范围以提供存储器的一个或多个加密已排除区域或者复原存储器的一个或多个先前留出的范围以不再将该一个或多个区域排除在加密之外。
示例5可以是示例4,其中固件的基本输入/输出服务可包括系统重置服务,其中系统重置服务可包括一个或多个加密排除服务中的第一加密排除服务,其中第一加密排除服务在将执行从操作系统转移到固件的预引导阶段的重置的开始期间的调用之际可设置一个或多个存储器参数以留出存储器的一个或多个范围作为一个或多个加密已排除区域。
示例6可以是示例5,其中固件的基本输入/输出服务可包括系统初始化服务;并且其中系统重置服务在留出存储器的一个或多个范围作为一个或多个加密已排除区域之际可执行热启动以使设备进入引导阶段,并且调用系统初始化服务来初始化设备。
示例7可以是示例6,其中系统初始化服务可包括一个或多个加密排除服务中的第二加密排除服务;其中第二加密排除服务在初始化阶段结束时的调用之际可重置一个或多个存储器参数来复原存储器的留出的一个或多个范围以不再将该一个或多个区域排除在加密之外。
示例8可以是示例4-7中的任一个,其中固件的基本输入/输出服务可包括系统初始化服务,其中系统初始化服务可包括一个或多个加密排除服务中的第一加密排除服务,其中第一加密排除服务可在设备的初始化期间的调用之际设置一个或多个存储器参数以留出存储器的一个或多个范围作为一个或多个加密已排除区域。
示例9可以是示例4-7中的任一个,其中固件的基本输入/输出服务可包括系统重置服务,其中作为重置设备的一部分,系统重置服务可将由操作系统创建的封装体从经加密的区域复制到一个或多个加密已排除区域中的一个或多个中。
示例10可以是示例9,其中固件的基本输入/输出服务还可包括系统初始化服务;并且其中系统初始化服务可在设备的预引导阶段期间处理封装体。
示例11可以是一种用于计算的方法,包括:由计算设备的存储器控制器控制对计算设备的存储器的访问,其中控制可包括在数据被存储到存储器的经加密的区域之前使用加密密钥对数据进行加密,以及在将执行从正由计算设备的一个或多个处理器操作的操作系统转移到计算设备的固件的预引导阶段的重置之际重新生成加密密钥;以及通过固件的基本输入/输出服务来配置一个或多个存储器参数以留出存储器的一个或多个范围作为存储器的一个或多个加密已排除区域。
示例12可以是示例11,其中配置可包括配置第一存储位置为存储一个或多个加密已排除区域中的第一加密已排除区域的基址,以及配置第二存储位置来存储地址掩码以有效地定义第一加密已排除区域从基址扩展的范围。
示例13可以是示例11,其中配置可包括固件的基本输入/输出服务的一个或多个加密排除服务配置一个或多个存储器参数来留出存储器的一个或多个范围以提供存储器的一个或多个加密已排除区域或者复原存储器的一个或多个先前留出的范围以不再将该一个或多个区域排除在加密之外。
示例14可以是示例13,其中固件的基本输入/输出服务可包括系统重置服务,其中系统重置服务可包括一个或多个加密排除服务中的第一加密排除服务,其中配置可包括第一加密排除服务在将执行从操作系统转移到固件的预引导阶段的重置的开始期间的调用之际设置一个或多个存储器参数以留出存储器的一个或多个范围作为一个或多个加密已排除区域。
示例15可以是示例14,其中固件的基本输入/输出服务可包括系统初始化服务;并且其中该方法还可包括系统重置服务在留出存储器的一个或多个范围作为一个或多个加密已排除区域之际执行热启动以使计算设备进入引导阶段,并且调用系统初始化服务来初始化计算设备。
示例16可以是示例15,其中系统初始化服务可包括一个或多个加密排除服务中的第二加密排除服务;其中该方法还可包括第二加密排除服务在初始化阶段结束时的调用之际重置一个或多个存储器参数来复原存储器的留出的一个或多个范围以不再将该一个或多个区域排除在加密之外。
示例17可以是示例13-16中的任一个,其中固件的基本输入/输出服务可包括系统初始化服务,其中系统初始化服务可包括一个或多个加密排除服务中的第一加密排除服务,其中配置可包括第一加密排除服务在设备的初始化期间的调用之际设置一个或多个存储器参数以留出存储器的一个或多个范围作为一个或多个加密已排除区域。
示例18可以是示例13-16中的任一个,其中固件的基本输入/输出服务可包括系统重置服务,其中该方法还可包括作为重置计算设备的一部分,系统重置服务将由操作系统创建的封装体从经加密的区域复制到一个或多个加密已排除区域中的一个或多个中。
示例19可以是示例18,其中固件的基本输入/输出服务还可包括系统初始化服务;并且其中该方法还可包括系统初始化服务在设备的预引导阶段期间处理封装体。
示例20可以是包括指令的一个或多个计算机可读介质,这些指令促使计算设备响应于由计算设备的处理器执行指令而向由处理器操作的操作系统提供基本输入/输出服务;其中提供基本输入/输出服务可包括配置一个或多个存储器参数以留出计算设备的存储器的一个或多个范围作为一个或多个加密已排除区域;其中对存储器的访问由存储器控制器控制,其中对访问的控制可包括在数据被存储到存储器的经加密的区域之前使用加密密钥对数据进行加密,以及在将执行从操作系统转移到固件的预引导阶段的重置之际重新生成加密密钥。
示例21可以是示例20,其中配置一个或多个存储位置可包括配置第一存储位置来存储一个或多个加密已排除区域中的第一加密已排除区域的基址,以及配置第二存储位置来存储地址掩码以有效地定义第一加密已排除区域从基址扩展的范围。
示例22可以是示例20,其中固件的基本输入/输出服务可包括一个或多个加密排除服务,这些加密排除服务配置一个或多个存储器参数来留出存储器的一个或多个范围以提供存储器的一个或多个加密已排除区域或者复原存储器的一个或多个先前留出的范围以不再将该一个或多个区域排除在加密之外。
示例23可以是示例22,其中固件的基本输入/输出服务可包括系统重置服务,其中系统重置服务可包括一个或多个加密排除服务中的第一加密排除服务,其中第一加密排除服务在将执行从操作系统转移到固件的预引导阶段的重置的开始期间的调用之际可设置一个或多个存储器参数以留出存储器的一个或多个范围作为一个或多个加密已排除区域。
示例24可以是示例23,其中固件的基本输入/输出服务可包括系统初始化服务;并且其中系统重置服务在留出存储器的一个或多个范围作为一个或多个加密已排除区域之际可执行热启动以使计算设备进入引导阶段,并且调用系统初始化服务来初始化计算设备。
示例25可以是示例24,其中系统初始化服务可包括一个或多个加密排除服务中的第二加密排除服务;其中第二加密排除服务在初始化阶段结束时的调用之际可重置一个或多个存储器参数来复原存储器的留出的一个或多个范围以不再将该一个或多个区域排除在加密之外。
示例26可以是示例,其中固件的基本输入/输出服务可包括系统初始化服务,其中系统初始化服务可包括一个或多个加密排除服务中的第一加密排除服务,其中第一加密排除服务在计算设备的初始化期间的调用之际可设置一个或多个存储器参数以留出存储器的一个或多个范围作为一个或多个加密已排除区域。
示例27可以是示例,其中固件的基本输入/输出服务可包括系统重置服务,其中作为重置计算设备的一部分,系统重置服务可将由操作系统创建的封装体从经加密的区域复制到一个或多个加密已排除区域中的一个或多个中。
示例28可以是一个示例,其中固件的基本输入/输出服务还可包括系统初始化服务;并且其中系统初始化服务可在计算设备的预引导阶段期间处理封装体。
示例29可以是一种用于计算的设备,包括:用于控制对计算设备的存储器的访问的装置,其中用于控制的装置可包括用于在数据被存储到存储器的经加密的区域之前使用加密密钥对数据进行加密的装置,以及用于在将执行从正由计算设备的一个或多个处理器操作的操作系统转移到计算设备的固件的预引导阶段的重置之际重新生成加密密钥的装置;以及用于配置一个或多个存储器参数以留出存储器的一个或多个范围作为存储器的一个或多个加密已排除区域的装置。
示例30可以是示例29,其中用于配置的装置可包括用于配置第一存储位置来存储一个或多个加密已排除区域中的第一加密已排除区域的基址的装置,以及用于配置第二存储位置来存储地址掩码以有效地定义第一加密已排除区域从基址扩展的范围的装置。
示例31可以是示例29,其中用于配置的装置可包括一个或多个用于排除加密的装置,一个或多个用于排除加密的装置具有用于配置一个或多个存储器参数来留出存储器的一个或多个范围以提供存储器的一个或多个加密已排除区域或者复原存储器的一个或多个先前留出的范围以不再将该一个或多个区域排除在加密之外的装置。
示例32可以是示例31,还包括用于重置设备的装置,用于重置设备的装置包括用于排除加密的装置中用于在将执行从操作系统转移到固件的预引导阶段的重置的开始期间的调用之际设置一个或多个存储器参数以留出存储器的一个或多个范围作为一个或多个加密已排除区域的一个装置。
示例33可以是示例32,还包括用于初始化设备的装置,该用于初始化设备的装置包括用于重置设备的装置,该用于重置设备的装置用于在留出存储器的一个或多个范围作为一个或多个加密已排除区域之际执行热启动以使设备进入引导阶段并且初始化设备。
示例34可以是示例33,其中用于初始化设备的装置可包括用于排除加密的装置中的第二装置,该第二装置用于在初始化阶段结束时的调用之际重置一个或多个存储器参数来复原存储器的留出的一个或多个范围以不再将该一个或多个区域排除在加密之外。
示例35可以是示例31-34,其中用于初始化设备的装置可包括用于排除加密的装置中的第一装置,该第一装置用于在设备的初始化期间的调用之际重置一个或多个存储器参数来留出存储器的一个或多个范围作为一个或多个加密已排除区域。
示例36可以是示例31-34,还包括用于重置设备的装置,该用于重置设备的装置用于作为重置设备的一部分,将由操作系统创建的封装体从经加密的区域复制到一个或多个加密已排除区域中的一个或多个中。
示例37可以是示例36,还包括用于初始化设备的装置,该用于初始化设备的装置用于在设备的预引导阶段期间处理封装体。
对于本领域技术人员将是显而易见的是,可在所公开的设备和相关联的方法的所公开的实施例中作出各种修改和变型,而不背离本公开的精神和范围。因此,如果修改和变型落入任何权利要求及其等效方案的范围之内,则本公开旨在涵盖以上所公开的多个实施例的修改和变型。

Claims (25)

1.一种用于计算的设备,包括:
一个或多个处理器,以及存储器;
固件,与所述一个或多个处理器和存储器耦合,所述固件用于向由所述一个或多个处理器操作的操作系统提供基本输入/输出服务;
与所述存储器耦合的存储器控制器,所述存储器控制器用于控制对所述存储器的访问,其中所述存储器控制器包括用于在数据被存储到所述存储器的经加密的区域之前使用加密密钥来加密所述数据的加密引擎,其中所述加密引擎在将执行从由所述一个或多个处理器操作的所述操作系统转移到所述固件的预引导阶段的重置之际重新生成所述加密密钥;以及
一个或多个存储位置,所述一个或多个存储位置用于存储一个或多个存储器参数以留出所述存储器的一个或多个范围作为一个或多个加密已排除区域。
2.根据权利要求1所述的设备,其特征在于,所述一个或多个存储位置包括第一存储位置和第二存储位置,所述第一存储位置用于存储所述一个或多个加密已排除区域中的第一加密已排除区域的基址,所述第二存储位置用于存储地址掩码以有效地定义所述第一加密已排除区域从所述基址扩展的范围。
3.根据权利要求1所述的设备,其特征在于,所述一个或多个存储位置包括所述存储器控制器的一个或多个寄存器。
4.根据权利要求1所述的设备,其特征在于,所述固件的基本输入/输出服务包括一个或多个加密排除服务,所述加密排除服务配置所述一个或多个存储器参数来留出所述存储器的一个或多个范围以提供所述存储器的一个或多个加密已排除区域或者复原所述存储器的一个或多个先前留出的范围以不再将所述一个或多个区域排除在加密之外。
5.根据权利要求4所述的设备,其特征在于,所述固件的基本输入/输出服务包括系统重置服务,其中所述系统重置服务包括所述一个或多个加密排除服务中的第一加密排除服务,其中所述第一加密排除服务用于在将执行从所述操作系统转移到所述固件的预引导阶段的重置的开始期间的调用之际设置所述一个或多个存储器参数以留出所述存储器的一个或多个范围作为所述一个或多个加密已排除区域。
6.根据权利要求5所述的设备,其特征在于,所述固件的基本输入/输出服务包括系统初始化服务;并且其中所述系统重置服务在留出所述存储器的一个或多个范围作为所述一个或多个加密已排除区域之际用于执行热启动以使所述设备进入引导阶段,并且调用所述系统初始化服务来初始化所述设备。
7.根据权利要求6所述的设备,其特征在于,所述系统初始化服务包括所述一个或多个加密排除服务中的第二加密排除服务;其中所述第二加密排除服务在所述初始化阶段结束时的调用之际用于重置所述一个或多个存储器参数来复原所述存储器的留出的一个或多个范围以不再将所述一个或多个区域排除在加密之外。
8.根据权利要求4-7中任一项所述的设备,其特征在于,所述固件的基本输入/输出服务包括系统初始化服务,其中所述系统初始化服务包括所述一个或多个加密排除服务中的第一加密排除服务,其中所述第一加密排除服务在所述设备的初始化期间的调用之际用于设置所述一个或多个存储器参数以留出所述存储器的一个或多个范围作为所述一个或多个加密已排除区域。
9.根据权利要求4-7中任一项所述的设备,其特征在于,所述固件的基本输入/输出服务包括系统重置服务,其中所述系统重置服务用于作为重置所述设备的一部分,将由所述操作系统创建的封装体从所述经加密的区域复制到所述一个或多个加密已排除区域中的一个或多个中。
10.根据权利要求9所述的设备,其特征在于,所述固件的基本输入/输出服务还包括系统初始化服务;并且其中所述系统初始化服务用于在所述设备的预引导阶段期间处理所述封装体。
11.一种用于计算的方法,包括:
由计算设备的存储器控制器控制对所述计算设备的存储器的访问,其中控制包括在数据被存储到所述存储器的经加密的区域之前使用加密密钥对所述数据进行加密,以及在将执行从正由所述计算设备的一个或多个处理器操作的操作系统转移到所述计算设备的固件的预引导阶段的重置之际重新生成所述加密密钥;以及
通过所述固件的基本输入/输出服务来配置一个或多个存储器参数以留出所述存储器的一个或多个范围作为所述存储器的一个或多个加密已排除区域。
12.根据权利要求11所述的方法,其特征在于,配置包括配置第一存储位置来存储所述一个或多个加密已排除区域中的第一加密已排除区域的基址,以及配置第二存储位置来存储地址掩码以有效地定义所述第一加密已排除区域从所述基址扩展的范围。
13.根据权利要求11所述的方法,其特征在于,配置包括所述固件的基本输入/输出服务的一个或多个加密排除服务配置所述一个或多个存储器参数来留出所述存储器的一个或多个范围以提供所述存储器的一个或多个加密已排除区域或者复原所述存储器的一个或多个先前留出的范围以不再将所述一个或多个区域排除在加密之外。
14.根据权利要求13所述的方法,其特征在于,所述固件的基本输入/输出服务包括系统重置服务,其中所述系统重置服务包括所述一个或多个加密排除服务中的第一加密排除服务,其中配置包括所述第一加密排除服务在将执行从所述操作系统转移到所述固件的预引导阶段的重置的开始期间的调用之际设置所述一个或多个存储器参数以留出所述存储器的一个或多个范围作为所述一个或多个加密已排除区域。
15.根据权利要求14所述的方法,其特征在于,所述固件的基本输入/输出服务包括系统初始化服务;并且其中所述方法还包括所述系统重置服务在留出所述存储器的一个或多个范围作为所述一个或多个加密已排除区域之际执行热启动以使所述计算设备进入引导阶段,并且调用所述系统初始化服务来初始化所述计算设备。
16.根据权利要求15所述的方法,其特征在于,所述系统初始化服务包括所述一个或多个加密排除服务中的第二加密排除服务;其中所述方法还包括所述第二加密排除服务在所述初始化阶段结束时的调用之际重置所述一个或多个存储器参数来复原所述存储器的留出的一个或多个范围以不再将所述一个或多个区域排除在加密之外。
17.根据权利要求13所述的方法,其特征在于,所述固件的基本输入/输出服务包括系统初始化服务,其中所述系统初始化服务包括所述一个或多个加密排除服务中的第一加密排除服务,其中配置包括所述第一加密排除服务在所述设备的初始化期间的调用之际设置所述一个或多个存储器参数以留出所述存储器的一个或多个范围作为所述一个或多个加密已排除区域。
18.根据权利要求13所述的方法,其特征在于,所述固件的基本输入/输出服务包括系统重置服务,其中所述方法还包括作为重置所述计算设备的一部分,所述系统重置服务将由所述操作系统创建的封装体从所述经加密的区域复制到所述一个或多个加密已排除区域中的一个或多个中。
19.根据权利要求18所述的方法,其特征在于,所述固件的基本输入/输出服务还包括系统初始化服务;并且其中所述方法还包括所述系统初始化服务在所述设备的预引导阶段期间处理所述封装体。
20.一个或多个包括指令的计算机可读介质,所述指令促使所述计算设备响应于由所述计算设备的处理器执行所述指令而向由所述处理器操作的操作系统提供基本输入/输出服务,以实现根据权利要求11-19的方法中的任一个。
21.一种用于计算的设备,包括:
用于控制对计算设备的存储器的访问的装置,其中用于控制的装置包括用于在数据被存储到所述存储器的经加密的区域之前使用加密密钥对所述数据进行加密的装置,以及用于在将执行从正由所述计算设备的一个或多个处理器操作的操作系统转移到所述计算设备的固件的预引导阶段的重置之际重新生成所述加密密钥的装置;以及
用于配置一个或多个存储器参数以留出所述存储器的一个或多个范围作为所述存储器的一个或多个加密已排除区域的装置。
22.根据权利要求21所述的设备,其特征在于,用于配置的装置包括一个或多个用于排除加密的装置,所述一个或多个用于排除加密的装置具有用于配置所述一个或多个存储器参数来留出所述存储器的一个或多个范围以提供所述存储器的一个或多个加密已排除区域或者复原所述存储器的一个或多个先前留出的范围以不再将所述一个或多个区域排除在加密之外的装置。
23.根据权利要求22所述的设备,其特征在于,还包括用于重置所述设备的装置,所述用于重置所述设备的装置包括用于排除加密的装置中用于在将执行从所述操作系统转移到所述固件的预引导阶段的重置的开始期间的调用之际设置所述一个或多个存储器参数以留出所述存储器的一个或多个范围作为所述一个或多个加密已排除区域的一个装置;
用于初始化所述设备的装置,所述用于初始化所述设备的装置包括所述用于重置所述设备的装置,所述用于重置所述设备的装置用于在留出所述存储器的一个或多个范围作为所述一个或多个加密已排除区域之际执行热启动以使所述设备进入引导阶段并且初始化所述设备;
用于初始化所述设备的装置包括所述用于排除加密的装置中的第二装置,所述第二装置用于在所述初始化阶段结束时的调用之际重置所述一个或多个存储器参数来复原所述存储器的留出的一个或多个范围以不再将所述一个或多个区域排除在加密之外。
24.根据权利要求22-23中任一项所述的设备,其特征在于,用于初始化所述设备的装置包括所述用于排除加密的装置中的第一装置,所述第一装置用于在所述设备的初始化期间的调用之际重置所述一个或多个存储器参数来留出所述存储器的一个或多个范围作为所述一个或多个加密已排除区域。
25.根据权利要求22-23中的任一项所述的设备,其特征在于,还包括:用于重置所述设备的装置,所述用于重置所述设备的装置用于作为重置所述设备的一部分,将由所述操作系统创建的封装体从所述经加密的区域复制到所述一个或多个加密已排除区域中的一个或多个中;以及用于初始化所述设备的装置,所述用于初始化所述设备的装置用于在所述设备的预引导阶段期间处理所述封装体。
CN201680030294.XA 2015-06-24 2016-05-11 存储器加密排除方法和设备 Pending CN107667356A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/749,301 US20160378686A1 (en) 2015-06-24 2015-06-24 Memory encryption exclusion method and apparatus
US14/749,301 2015-06-24
PCT/US2016/031916 WO2016209395A1 (en) 2015-06-24 2016-05-11 Memory encryption exclusion method and apparatus

Publications (1)

Publication Number Publication Date
CN107667356A true CN107667356A (zh) 2018-02-06

Family

ID=57586099

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680030294.XA Pending CN107667356A (zh) 2015-06-24 2016-05-11 存储器加密排除方法和设备

Country Status (5)

Country Link
US (1) US20160378686A1 (zh)
EP (1) EP3314443A4 (zh)
KR (1) KR20180011866A (zh)
CN (1) CN107667356A (zh)
WO (1) WO2016209395A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10958990B2 (en) * 2017-05-03 2021-03-23 Intel Corporation Trusted platform telemetry mechanisms inaccessible to software
US11301261B2 (en) * 2019-10-22 2022-04-12 Dell Products L.P. System and method for displaying an image through a platform initialization process
CN114817936B (zh) * 2022-05-31 2024-06-25 苏州浪潮智能科技有限公司 基于异构内存的内存全加密管理方法、装置、设备及介质

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7974416B2 (en) * 2002-11-27 2011-07-05 Intel Corporation Providing a secure execution mode in a pre-boot environment
KR100604828B1 (ko) * 2004-01-09 2006-07-28 삼성전자주식회사 펌웨어 암호화 방법 및 해독 방법과 그 처리 장치
US8181020B2 (en) * 2005-02-02 2012-05-15 Insyde Software Corp. System and method for securely storing firmware
DE112009004491T5 (de) * 2009-03-23 2012-09-06 Hewlett-Packard Development Co., L.P. System und Verfahren zum sicheren Speichern von Daten in einem elektronischen Gerät
US8589302B2 (en) * 2009-11-30 2013-11-19 Intel Corporation Automated modular and secure boot firmware update
US8566574B2 (en) * 2010-12-09 2013-10-22 International Business Machines Corporation Secure encrypted boot with simplified firmware update
US8972746B2 (en) * 2010-12-17 2015-03-03 Intel Corporation Technique for supporting multiple secure enclaves
US9025358B2 (en) * 2011-10-13 2015-05-05 Zeno Semiconductor Inc Semiconductor memory having both volatile and non-volatile functionality comprising resistive change material and method of operating
US8924952B1 (en) * 2012-06-27 2014-12-30 Amazon Technologies, Inc. Updating software utilizing multiple partitions
US20140010365A1 (en) * 2012-07-06 2014-01-09 Vincent Von Bokern Replaceable encryption key provisioning
US20150033034A1 (en) * 2013-07-23 2015-01-29 Gideon Gerzon Measuring a secure enclave

Also Published As

Publication number Publication date
WO2016209395A1 (en) 2016-12-29
EP3314443A1 (en) 2018-05-02
KR20180011866A (ko) 2018-02-02
US20160378686A1 (en) 2016-12-29
EP3314443A4 (en) 2019-03-20

Similar Documents

Publication Publication Date Title
CN103514010B (zh) 自动应用更新
CN105830082B (zh) 虚拟机保证
CN105900104B (zh) 安全元件中的小应用程序迁移
JP5940159B2 (ja) 非トラステッド・ユーザ端末にオペレーティング・システム・イメージをプロビジョニングするための方法、コンピュータ・プログラム、デバイス、装置
CN110088731A (zh) 使用非易失性ram的内核软重置
US20170097830A1 (en) Nand-based verified boot
CN109791500A (zh) 虚拟机实例和客户可编程逻辑之间的中间主机集成电路
CN105453097B (zh) 受约束驱动程序平台在用户模式下在沙箱中运行驱动程序
CN110073646A (zh) 安全IoT设备更新
CN110178136A (zh) 现场可编程门阵列程序的签名验证
CN110263541A (zh) 安全引导计算设备
CN107346401A (zh) 用于安全地执行程序的信息保障系统
CN105900105A (zh) 用于多操作系统环境的介质保护策略实施
CN107003889A (zh) 用于提供全球平台兼容可信执行环境的系统和方法
CN107667356A (zh) 存储器加密排除方法和设备
CN107003871A (zh) 用于使用预引导更新机制来提供硬件订阅模式的技术
CN107533615A (zh) 用于利用安全飞地来强化数据加密的技术
CN114035842B (zh) 固件配置方法、计算系统配置方法、计算装置以及设备
EP2811368B1 (en) Inhibition device, method for controlling inhibition device, device under control, electronic equipment, control program, and recording medium
CN110799979A (zh) 用于多核处理器的安全密钥存储
CN108292233A (zh) 开启虚拟机的应用处理器
CN104156200A (zh) 用于卡内容管理操作的声明式配置和执行的方法和系统
ITMI20120944A1 (it) Unità di controllo di circuiti di alimentazione per uno o più punti di carico di un sistema elettronico con nvm esterna di personalizzazione
CN106708596A (zh) 一种输入输出虚拟化资源的调整方法及处理器
CN104301297B (zh) 生成指示命令的分组和发出命令的执行结果的方法和装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20180206

WD01 Invention patent application deemed withdrawn after publication