用于保护对称加密密钥的系统及方法

文档序号:7978655阅读:802来源:国知局
用于保护对称加密密钥的系统及方法
【专利摘要】本发明描述了用于当执行加密时保护对称加密密钥的系统和方法。在一个实施例中,计算机实现的方法包括从安全区域检索至少一个真实密钥以及通过处理器执行密钥转换指令以便基于检索到该至少一个真实密钥而生成至少一个经转换的密钥。该至少一个经转换的密钥是由该处理器使用该至少一个真实密钥加密的至少一个轮密钥的加密版本。该处理器能够解密该至少一个经转换的密钥以及加密该至少一个轮密钥。
【专利说明】用于保护对称加密密钥的系统及方法
【技术领域】
[0001]本发明实施例涉及当执行基于主机的加密时保护对称加密密钥。
[0002]背景
[0003]高级加密标准(AES)加密已经成为对称加密的行业标准并且广泛用在数据保护应用和场景中。存在三种在包括通用软件、硬件加速器以及使用特殊化指令(例如,具有新指令的AES指令(AES-NI))的软件的平台上实现AES加密的机制。这些实现方法具有不同的安全、性能以及功率含义。功率和性能特性将根据工作负荷特性而不同。在硬件加速器或IP块中执行加密实现方式的一个优点是底层AES密钥未暴露在IP实现的边界之外。在包括基于AES-NI的那些实现方式的软件实现方式上,底层加密密钥遭受更大的暴露并且总体上依赖于操作系统保护和完整性以便保护密钥不受来自软件和硬件攻击。
[0004]附图简要说明
[0005]通过举例而非通过限制在附图的示图中示出了本发明的不同实施例,并且在附图中:
[0006]图1示出根据本发明的一个实施例的当执行基于主机的加密时保护对称加密密钥的计算机实现的方法100的一个实施例的流程图;
[0007]图2示出根据本发明的一个实施例示出创建经转换密钥的机制的框图;
[0008]图3示出根据本发明的一个实施例的使用对称加密密钥进行加密的计算机实现的方法300的一个实施例的流程图;
[0009]图4示出功能框图,示出根据本发明的一个实施例的系统900 ;
[0010]图5是根据本发明的一个实施例的系统1300的框图;
[0011]图6是根据本发明的一个实施例的第二系统1400的框图;
[0012]图7是根据本发明的一个实施例的第三系统1500的框图;
[0013]详细说明
[0014]描述了用于当执行基于主机的加密时保护对称加密密钥的系统和方法。在一个实施例中,计算机实现的方法包括从安全区域检索至少一个真实密钥,以及使用处理器执行密钥转换指令以便基于接收到该至少一个真实密钥而生成至少一个经转换密钥。该至少一个经转换密钥是由该处理器使用至少一个真实密钥加密的至少一个轮密钥(round key)的加密版本。处理器能够解密至少一个经转换密钥以及加密至少一个轮密钥。当为基于主机的加密创建数据时,对该数据进行加密。
[0015]在以下说明中,列出了许多特定细节,诸如逻辑实现方式、信号和总线的大小和名称、系统组件的类型和相互关系、以及逻辑划分/集成选择,以便提供更透彻的理解。然而,本领域普通技术人员将认识到本发明的实施例可在没有这些特定细节的情况下实践。在其他情况下,未详细示出控制结构和门级电路以避免混淆本发明的实施例。通过所包括的说明,本领域普通技术人员将能够在避免不适当的实验的情况下实现适当的逻辑电路。
[0016]在以下说明中,特定术语用于描述本发明的实施例的特征。例如,术语“逻辑”表示被配置成用于执行一个或多个功能的硬件和/或软件。例如,“硬件”的示例包括但不限于或局限于集成电路、有限状态机或甚至组合逻辑。集成电路可采取处理器形式,诸如微处理器、专用集成电路、数字信号处理器、微控制器等。芯片之间的互连各自可以是点到点或各自可处于多点安排中,或某些可以是点到点,而另一些是多点安排。
[0017]本发明的实施例减轻了盗取底层密钥的许多硬件和软件攻击场景。对称密钥保护的设计为对称密钥的保护提供增强。例如,该设计包括对AES-NI实现的增强,该实现使得AES-NI能够用于高效地实现AES算法,附加益处是底层密钥将不会暴露在存储器中并且因此减轻了使用AES-NI替代专用硬件密码加速器导致的一些风险。应当注意,所提出的AES-NI增强是本设计的示例实现方式,并且其对实现对称密码术操作的任何指令集(或密码术操作的部分,诸如循环)而言将具有相似的能力。
[0018]为了当存在软件漏洞时减轻密钥材料的损失,本设计包括一种使用被传递到AESNI指令的加密形式的AES轮密钥而非真实轮密钥的方法。这些轮密钥由CPU使用在功率初始化时随机地导出的会话密钥或者通过基于融合的导出密钥内部地导出和保持的对每个CPU(或片上系统(SOC))唯一的密钥来加密。每个CPU/S0C的导出密钥还可使用熔丝(fuse)、寄存器传递语言(RTL)中的隐藏密钥以及可能的物理不可克隆的函数的组合来导出。
[0019]以下描述两个潜在的实现方式,并且一种或两种技术可在平台上实现。
[0020]图1示出根据一个实施例的当执行基于主机的加密时保护对称加密密钥的计算机实现的方法100的一个实施例的流程图。方法100由处理逻辑执行,该处理逻辑可包括硬件(电路、专用逻辑等等)、软件(诸如运行在通用计算机系统或专用机器或设备上)、或二者的组合。在一个实施例中,方法100由与在此所讨论的基于主机的平台相关联的处理逻辑执行。
[0021]在框102,处理逻辑从安全区域检索真实密钥(例如,从信任平台模块(TPM)拆封真实密钥)。在框104,处理逻辑执行辅助密钥生成(例如,AES轮密钥生成,完整密钥)的辅助密钥生成指令(例如,AESKEYGENASSIST)。在框106,处理逻辑执行接收密钥作为输入并生成经转换密钥作为输出(例如,经加密的轮密钥,经加密的完整密钥)的密钥转换指令。在框108,经转换密钥在早期平台启动的多个阶段期间存储在存储器中。经转换密钥仅对当前启动周期和平台有效。在框110,从系统存储器擦除密钥(例如,轮密钥,完整密钥)。
[0022]当主机平台从复位启动时,代码路径数量增加并且累积操作系统、设备驱动器和包含潜在的当前或未来漏洞的大量代码的代码基(code base)。因此,系统易于被利用的可能性作为T的函数而增长,其中T等于所执行的软件代码量并且与复位之后的时间量相关。如果关键密钥可被转换为仅在平台CPU内核上可用于这个特定启动的形式,那么经转换密钥的损失不暴露未转换密钥并且即使被攻击者盗取,下一次重启之后,被盗取的经转换密钥是无价值的。这仅适用于以下情况:随机数用于加密这些密钥而不是使用在生产时随机生成的并且熔入或永久地配置到CPU中的密钥(这将与每次启动时相同)。
[0023]图2示出框图,示出根据一个实施例的创建经转换密钥的机制。该机制包括在框202从TPM拆封真实密钥,执行辅助AES密钥生成(例如,AES轮密钥生成)的辅助密钥生成指令(例如,AESKEYGENASSIST),并且介绍将提取框206的真实轮密钥(例如,真实轮密钥1、2等等)作为输入并且将密钥的加密版本(例如,TransRound密钥1、TransRound密钥2等等)存储到存储单元208的新指令(例如,KEYTRANSFORM)。用于进行加密的实际密钥仅可用于CPU并且是不可提取的。这使得能够在包括启动加载器执行的早期启动或OS启动过程的早期阶段的多个阶段期间将经加密密钥放置在存储器中。经加密密钥仅对当前启动周期和平台有效。在另一个实施例中,给出单个密钥用于加密,并且在多个轮次之后,CPU自动地建立轮密钥并且存储它们。
[0024]假定真密钥密封在IP中,并且IP将仅在启动过程的这些早期阶段释放它们,诸如通过密封到平台的信任平台模块(TPM)上的平台配置的寄存器。除硬件伪随机数生成器之外,TPM还为密码术密钥的安全生成及其使用限制提供便利。其还包括多项能力,诸如远程认证以及密封存储。在一个实施例中,轮密钥被转换,而不是完整原生AES密钥,因为轮密钥是固定128位密钥并且不依赖AES密钥大小和模式要求。在一个实施例中,通过新指令转换完整密钥。一旦密钥转换指令执行从而将密钥的加密形式存储在存储器中,应当从系统存储器擦除真实轮密钥。“密钥转换”指令可在任意权限等级下操作,尽管其将一般在CPLO下是最有用的。
[0025]经加密轮密钥可被存储在内部表中。指令可被设计成更容易地查找内部表中的经加密轮密钥(例如,使得轮数进入并且使用轮数来查找该表)。
[0026]在一个实施例中,CPU对于经加密密钥具有有限的存储,并且软件指定所希望使用的密钥的索引。索引的一个优点是因为没有高速缓存(即,在表中命中或者其不工作),设计可包括内部性能优化机制,类似于如果请求解密的指令的线性地址与之前记录的匹配,仅允许查找经解密轮密钥。在这种情况下,加密指令将读取“将我的轮密钥X存储到表的条目3中”。
[0027]可在内部加密密钥保持在CPU中的情况下创建替代实现。这具有以下益处:密钥可通过任意应用被绑定到平台并且不需要依赖早期启动代码。当初始地安装应用时,应用将为平台生成经转换密钥并且然后真实密钥将不再需要。该方法提供了使得密钥在另一个平台上不可用的保护,但是不防止盗取的经转换密钥被流氓替代恶意软件堆栈使用。
[0028]图3示出根据一个实施例的使用对称加密密钥进行加密的计算机实现的方法300的一个实施例的流程图。方法300由处理逻辑执行,该处理逻辑可包括硬件(电路、专用逻辑、CPU等等)、软件(诸如运行在通用计算机系统或专用机器或设备上)、或二者的组合。在一个实施例中,方法300通过CPU执行。
[0029]在一个实施例中,为了使用经转换的轮密钥,将实现四个AES-NI指令(例如,AESENC, AESENCLAST、AESDEC,以及 AESDELAST)的新变体。新指令可被称为 AESENCTR、AESENCLASTTR、AESDECTR、以及AESDELASTTR。这些变体中的每一个将与其当前实现完全相同地操作,除了这些变体将接受经转换的轮密钥而不是原生轮密钥。例如,在框302,具有变体(AESENCTR xmml、xmm2/ml2)的处理逻辑基于来自[xmm2/ml2]的经转换轮密钥对[xmml]执行一轮AES加密。在内部,处理逻辑(例如,CPU)在框304将经转换的轮密钥解密为原生轮密钥并且然后在框306执行其当前实现(例如,AESENC)。
[0030]当AES用于加密或解密数据块时,它会对每16字节块迭代通过轮密钥。在加密或解密操作期间用于整个块的轮密钥集保持不变。这种特性使得能够主动地内部高速缓存将经转换轮密钥映射到其相应的真实轮密钥的映射。经转换轮密钥的解密仅需要在高速缓存未命中时发生。作为示例,假定设计需要在4K数据块上执行要求14个轮密钥的AES-256加密操作。在一个实施例中,轮密钥转换高速缓存可容纳总共14个密钥,并且一次仅运行一个使用转换范例的AES操作。作为基线,正常AES-NI加密要求对AESENC的256*14 = 3484次调用(例如,对于256位AES,4K/16B = 256以及14轮)。对比之下,如果假定微架构实现使用AESDEC在高速缓存未命中时解密轮密钥,则将存在对AESDEC的附加140次调用。用要求10轮的AES-128加密每个128位轮密钥,所以对于粗略地占所处理的第一块的7%的开销(加上转换高速缓存查找开销)的总共3724次AESENC/AESDEC调用,14*10 = 140。应当注意,数据集中的所有后续4K块将不引发高速缓存未命中并且将返回初始的3484次调用。因此,开销仅包括转换密钥高速缓存查找。
[0031]在另一个实施例中,使用表格或其他结构而不是高速缓存。CPU可能希望存储从其在开始处使用的随机数/熔丝生成的轮密钥并且不存储实际随机数/熔丝。当需要软件特定的轮密钥的加密或解密时,具有那些基于硬件的轮密钥显著地提高了速度。如果不存在基于硬件的轮密钥,则不需要原始的随机数或熔丝。随机数可与其他东西组合(例如,CPU上的熔丝或隐藏值),以防万一某些人能够干扰随机数。以类似的方式,熔丝可与其他东西组合。
[0032]当前,对称加密可在加速器中发生(或IP模块),在这种情况下,可保护密钥。在可能更适合某些工作负载的当前软件方法中,不存在保护密钥免受在此所述的攻击的特性。
[0033]在加密或解密算法的当前软件或AES-NI实现中,操作系统或应用内的安全漏洞使得攻击者能够盗取加密密钥和明文数据。提供密钥的加强保护存在实际价值,即使加密数据在如下所述的事件期间被泄漏或盗取。当利用未知时,这种加强保护将漏洞隐患最小化。操作系统中所识别的漏洞的挑战之一是并不总是清楚是否发生了利用。当组织识别到存在漏洞时,则可采取纠正动作,诸如部署软件补丁,以便防止漏洞被利用。与未知利用相关联的一个问题是组织不一定知道恶意攻击者已经利用了哪些平台(如果有的话)。除使用解密实现访问数据的能力之外,操作系统漏洞还可提供对存储器的访问,其中,对称密钥存储在当前软件实现中。因此,如果组织想要确保攻击者不能使用可能已经被盗取的密钥,组织将需要改变所有受影响的平台上的加密密钥以及重新加密其上存在漏洞的每个设备上的所有数据。如果密钥被盗取,密钥不仅在访问在存在漏洞时存在的数据时有用,而且在访问将用相同的密钥加密的未来数据时也有用。如果加密能力的实现方式是使得仅仅解密实现在漏洞期间是易受攻击的而密钥得到保护,则可在不撤销密钥并且不需要重新加密所有当前数据的情况下对系统打补丁。当常见软件应用到大量设备(诸如PC客户端、电话、平板计算机以及消费电子设备)上时,这是特别有益的,因为OS漏洞将影响非常大量的用户并且底层对称密钥的保护将极大地降低将平台返回已知安全状态的成本和努力。
[0034]提供密钥增强保护具有实际价值,因为解密可被移动到另一个平台或软件堆栈。获得密钥使得攻击者能够在受损系统之外的第二实现中实现解密并且不被限制为将受损实现用作监视或强制将数据从加密转换为明文的唯一手段。例如,考虑经典的“冷启动”攻击。在这种情景下,一旦获得了密钥,攻击者可重新启动机器到OS并且访问/解密平台上的任意数据。如果漏洞是允许访问解密实现的软件利用,攻击者可监视数据转换但是将需要强制通过受损实现转换攻击者所希望的任意数据。当存在大量数据并且要被访问的有价值数据的位置是未知时,这可能在许多场景中是不切实际。可对此进行演示的一种场景是当系统在启动之后的时间点识别了利用。在利用可盗取密钥的系统中,存在在未来的任意时间点追踪数据的机会。在仅仅对加密能力的访问受到损坏的场景中,数据损失将被限于可通过利用和利用检测之间的受损实现的数据量。
[0035]提供密钥增强保护具有实际价值,因为对称密钥更新和撤销是昂贵的并且经常是不切实际的。在AES中使用的对称密钥总体上被用作最低加密级别,以便为密钥正在保护的每个数据块保护静止(存储中)和运动(转移中)数据。因为需要密钥以便访问已经各自加密的每个数据块,撤销泄漏密钥是有挑战的,因为已经被加密的每个数据块需要是可访问的,从而使得可使用新的密钥材料重新对其进行加密。这不仅包括正在保护的系统上的活跃数据,而且还包括可能已经被保持在其他介质(诸如备份或离线存储)中的任何附加副本。盗取密钥将使得已经用密钥加密的所有数据(包括在设备已经不能访问的数据)受到攻击。
[0036]当前设计提供了创建经加密的轮密钥(或真实密钥)的概念:仅仅平台的应用处理器能够转换到真实轮(或真实)密钥。当前设计提供了在基于主机的软件密码操作中使用加密平台绑定/上电唯一密钥、当主机已经执行了有限代码来降低信任代码基和攻击区域时使用密钥密封机构(诸如TPM)和早期平台启动之间的交互以便将密钥移动到经转换状态、以及使用高效地高速缓存经转换密钥的机构,从而使得通过对所有轮密钥进行加密而引入最小的开销。
[0037]图4示出功能框图,示出描述根据一个实施例实现的系统900。所示出的处理系统900的实施例包括一个或多个处理器(或中央处理单元)、系统存储器910、非易失性(“NV”)存储器915、数据存储单元(“DSU”)920、通信链路925、以及芯片组930。所示出的处理系统900可表示任意计算系统,包括台式计算机、笔记本计算机、工作站、手持式计算机、服务器、刀片式服务器等等。
[0038]处理系统900的元件可按如下互连。处理器905通过芯片组930通信地耦合到系统存储器910、NV存储器915、DSU920、以及通信链路925,以便向其发送并从其接收指令或数据。在一个实施例中,NV存储器915是闪存设备。在其他实施例中,NV存储器915包括只读存储器(“ROM”)、可编程ROM、可擦可编程ROM、电可擦可编程ROM等等中的任一个。在一个实施例中,系统存储器910包括随机存取存储器(“RAM”),诸如动态RAM( “DRAM”)、同步 DRAM( “SDRAM”)、双数据速率 SDRAM( “DDR SDRAM”)、静态 RAM( “SRAM”)等等。DSU920表示用于软件数据、应用、和/或操作系统的任意存储设备但是将最典型地是非易失性存储设备。可选地,DSU920可包括集成驱动电子(“IDE”)硬盘、增强IDE( “EIDE”)硬盘、独立盘冗余阵列(“RAID”)、小型计算机系统接口( “SCSI”)硬盘等等中的一个或多个。尽管DSU920被示出为在处理系统900内部,DSU920可外部地耦合到处理系统900。通信链路925可将处理系统900耦合到网络,从而使得处理系统900可通过该网络与一个或多个其他计算机通信。通信链路925可包括调制解调器、以太网卡、吉比特以太网卡、通用串行总线(“USB”)端口、无线网络接口卡、光纤接口等等。
[0039]DSU920可包括机器可访问介质907,该介质上存储实现在此所述的方法或功能中的一个或多个的一个或多个指令集(例如,软件)。软件还可在其由处理器905执行期间完全地或至少部分地驻留在处理器905内,处理器905还构成机器可访问存储介质。
[0040]尽管机器可访问介质907在示例性实施例中被示出为单个介质,术语“机器可访问介质”应当被认为包括存储该一个或多个指令集的单个介质或多个介质(例如,中央或分布式数据库、和/或相关联高速缓存和服务器)。术语“机器可访问介质”还应当被认为包括能够存储、编码或携带指令集以便由机器执行的并且致使机器执行本发明实施例的方法中的任意一种或多种的任意介质。术语“机器可访问介质”因此应当被认为包括但不限于固态存储器、光学、以及磁介质。
[0041]因此,机器可访问介质包括提供(即,存储和/或传输)机器(例如,计算机、网络设备、个人数字助理、制造工具、任意具有一组一个或多个处理器的设备等等)可访问形式的信息的任意机构。例如,机器可访问介质包括可记录/不可记录介质(例如,只读存储器(ROM);随机存取存储器(RAM);磁盘存储介质;光存储介质;闪存设备;等等),以及电、光、声或其他形式的传播信号(例如,载波、红外信号、数字信号等等);等等。
[0042]如图4所示,处理系统900的每一个子组件包括输入/输出(“I/O”)电路950,从而彼此通信。I/o电路950可包括阻抗匹配电路,该阻抗匹配电路可被调整从而实现所希望的输入阻抗,由此减少子组件之间的信号反射和干扰。
[0043]应当认识到,为了清楚起见,处理系统900的各种其他元件已经从图4和本讨论排除。例如,处理系统900可进一步包括图形卡、附加DSU、其他永久数据存储设备等等。芯片组930还可包括用于互连子组件的系统总线及各种其他数据总线,诸如存储器控制器中枢以及输入/输出(“I/O”)控制器中枢,还包括用于将外围设备连接到芯片组930的数据总线(例如,外围组件互连总线)。相应地,处理系统900可在不具有所示出的元件中的一个或多个的情况下操作。例如,处理系统900无需包括DSU920。
[0044]图5示出根据一个实施例的系统1300的框图。系统1300可包括一个或多个处理器1310、1315,这些处理器耦合到图形存储器控制器中枢(GMCH) 1320。在图5中用虚线标明了附加处理器1315的可选性质。系统1300进一步包括耦合到该一个或多个处理单元的存储器1340。
[0045]图5示出了 GMCH1320可耦合到例如可以是动态随机存取存储器(DRAM)的存储器1340。在至少一个实施例中,DRAM可与非易失性高速缓存相关联。
[0046]GMCH1320可以是芯片组或芯片组的一部分。GMCH1320可与处理器1310、1315通信并且控制处理器1310、1315和存储器1340之间的交互。GMCHl320还可充当处理器1310、1315和系统1300的其他元件之间的加速总线接口。在至少一个实施例中,GMCHl320通过多点总线(诸如前侧总线(FSB) 1395)与处理器1310、1315通信。
[0047]进一步地,GMCHl320耦合到显示器1345 (诸如平板显示器)。GMCHl320可包括集成图形加速器。GMCH1320进一步耦合到输入/输出(I/O)控制器中枢(ICH) 1350,该中枢可用于将各种外围设备耦合到系统1300。例如,在图5的实施例中示出了外部图形设备1360以及另一个外围设备1370,该外部图形设备可以是耦合到ICH1350的离散图形设备。
[0048]可替代地,附加的或不同的处理器还可存在于系统1300中。例如,附加处理器1315可包括与处理器1310相同的附加处理器、与处理器1310异构或非对称的处理器、加速器(诸如例如,图形加速器或数字信号处理(DSP)单元)、现场可编程门阵列、或任意其他处理器。物理资源1310、315可在包括架构、微架构、热、功耗特性等等的度量谱方面存在各种不同。这些不同可有效地将其在处理元件1310、1315之间表现为非对称性和异构性。在至少一个实施例中,各种处理元件1310、1315可驻留在同一管芯封装内。
[0049]现在参考图6,示出根据本发明的实施例的第二系统1400的框图。如图6所示,多处理器系统1400是点到点互连系统,并且包括通过点到点互连1450耦合的第一处理器1470和第二处理器1480。可替代地,处理器1470、1480中的一个或多个可以是处理器之外的元件,诸如加速器或现场可编程门阵列。尽管仅示出了两个处理器1470、1480,应当理解的是本发明实施例的范围不限于此。在其他实施例中,一个或多个附加处理元件可存在于给定的处理器中。
[0050]处理器1470可进一步包括集成存储器控制器中枢(MC) 1472和点到点(P_P)接口 1476和1478。类似地,第二处理器1480可包括MC1482和P-P接口 1486和1488。处理器1470、1480可使用PtP接口电路1478、1488通过点到点(P-P)接口 1450交换数据。如图6所示,IMC1472和1482将处理器耦合到对应的存储器,即,存储器1432和存储器1434,其可以是本地地附接到对应的处理器的主存储器的多个部分。
[0051]处理器1470、1480可各自使用点到点接口电路1476、1494、1486、1498通过单独的P-P接口 1452、1454与芯片组1490交换数据。芯片组1490还可通过高性能图形接口 1439与高性能图形电路1438交换数据。
[0052]如图6所示,处理器1470和1480各自包括一个或多个处理单元1471。共享高速缓存(例如,1481)可被包括在任一个处理器内或者两个处理器之外,但是通过P-P互连与处理器连接,从而使得如果处理器被置于低功率模式,每一个或两个处理器的本地高速缓存信息可存储在共享高速缓存中。
[0053]芯片组1490可通过接口 1496耦合到第一总线1416。在一个实施例中,第一总线1416可以是外围组件互连(PCI)总线、或诸如PCI快速总线或另一种第三代I/O互连总线的总线,尽管本发明实施例的范围不限于此。
[0054]如图6所示,各种I/O设备1414可耦合到第一总线1416以及将第一总线1416耦合到第二总线1420的总线桥1418。在一个实施例中,第二总线1420可以是低引脚数(LPC)总线。在一个实施例中,各种设备可耦合到第二总线1420,包括例如键盘/鼠标1422、通信设备1426和数据存储单元1428,诸如可包括代码1430的盘驱动器或其他大容量存储设备。而且,音频1/01424可耦合到第二总线1420。注意,其他架构是可能的。例如,代替图6的点到点架构,系统可实现多点总线或其他这种架构。
[0055]现在参考图7,示出根据本发明的一个实施例的第三系统1500的框图。图6和图7中相似的元件带有相同的参考标号,并且已经从图7中省略了图7的某些方面,以便避免模糊图7的其他方面。
[0056]图7示出处理元件1470、1480可分别包括集成存储器和I/O控制逻辑(“CL”) 1472和1482。在至少一个实施例中,CL1472U482可包括存储器控制器中枢逻辑(MC),诸如上述结合图4和图5所述的逻辑。附加的,CL1472U482还可包括I/O控制逻辑。图7示出不仅存储器1432、1434耦合到CL1472、1482,而且I/O设备1514也耦合到控制逻辑1472、1482。传统I/O设备1515耦合到芯片组1490。
[0057]在一个实施例中,系统(例如,400、1300、1400、1500等等)包括能够访问至少一个真实密钥的处理器(例如,405、1310、1315、1470、1480等等)。存储器耦合到处理器。存储器存储至少一个经转换的密钥,处理器被配置成用于执行密钥转换指令以便基于该至少一个真实密钥生成至少一个经转换的密钥。存储器可包括高速缓存,该高速缓存用于存储映射以便将经转换的密钥映射到基于至该少一个真实密钥的相应轮密钥。处理器进一步被配置成用于如果发生高速缓存未命中,解密经转换的密钥。存储在高速缓存中的映射引入了有限的转换密钥高速缓存查找开销。在一个实施例中,存储器针对经转换密钥具有有限的存储,并且处理器执行指令以便指定用于选择经转换密钥的索引。存储器可包括表格或其他结构,而不是高速缓存,以便存储将经转换密钥映射到相应的真实密钥的映射。
[0058]在可替代实施例中,处理器被配置成用于接收单个密钥并且自动地生成将被处理器存储和访问的轮密钥。处理器被配置成用于执行密钥转换指令,以便响应于生成至少一个轮密钥而生成至少一个经转换的密钥。
[0059]在一个实施例中,处理器(例如,405、1310、1315、1470、1480等等)包括处理单元(例如,1471),用于从安全区域检索至少一个真实密钥以及基于该至少一个真实密钥生成至少一个轮密钥。存储器(例如,高速缓存1481)耦合到处理单元。处理单元被配置成用于执行密钥转换指令,以便基于该至少一个轮密钥而生成至少一个经转换的密钥。高速缓存存储该至少一个轮密钥以及该至少一个经转换密钥。该至少一个经转换密钥是由该处理单元使用可在功率初始化时随机地导出的会话密钥加密的至少一个轮密钥的加密版本。该处理单元(并且没有其他机器)能够解密该至少一个经转换密钥以及加密该至少一个轮密钥。在另一个实施例中,该至少一个经转换密钥是由处理单元使用用于处理单元的通过导出密钥内部导出和保持的唯一密钥加密的至少一个轮密钥的加密版本。导出密钥可通过融合获得。
[0060]应当认识到贯穿本说明书对“一个实施例”或“实施例”的参考是指在此结合实施例所述的特定特征、结构或特性包括在至少一个实施例中。因此,强调并且应当认识到在本说明书的各个部分中对“实施例”或“一个实施例”或“替代实施例”的两个或更多个参考无需全部指代同一实施例。而且,特定特征、结构或特性可在一个或多个实施例中适当地组
口 ο
[0061]在各种实施例的上述详细描述中,参考附图,这些附图是本描述的一部分并且其中通过示出而非限制示出了本发明可在其中实践的具体实施例。在附图中,贯穿若干视图,相似的标号描述基本上类似的元件。足够详细地描述了所示出的实施例,从而使得本领域普通技术人员能够实践在此公开的教导。其他实施例可被使用并从其导出,从而使得可在不背离本公开的范围的情况下做出结构和逻辑替换和改变。因此,以下详细描述不应被以限制意义进行考虑,并且各种实施例的范围仅通过所附权利要求书以及这些权利要求所给予的等效的全部范围所定义。
【权利要求】
1.一种计算机实现的方法,包括: 从安全区域检索至少一个真实密钥; 通过处理器基于检索到所述至少一个真实密钥,执行辅助至少一个轮密钥生成的辅助密钥生成指令;以及 通过所述处理器执行密钥转换指令,以便响应于所述至少一个轮密钥的生成而生成至少一个经转换的密钥。
2.如权利要求1所述的计算机实现的方法,进一步包括: 在平台的早期平台启动的多个阶段期间,将所述至少一个经转换的密钥存储在存储器中。
3.如权利要求2所述的计算机实现的方法,进一步包括: 通过与所述平台相关联的所述处理器解密所述至少一个经转换的密钥;以及 将所述至少一个轮密钥从系统存储器擦除。
4.如权利要求3所述的计算机实现的方法,其中所述至少一个经转换的密钥是由所述处理器使用所述至少一个真实密钥加密的所述至少一个轮密钥的加密版本,其中,所述至少一个真实密钥包括在功率初始化时随机地导出的会话密钥,其中,仅所述处理器能够解密所述至少一个经转换的密钥并且加密所述至少一个轮密钥。
5.如权利要求2所述的计算机实现的方法,其中所述至少一个经转换的密钥是由所述处理器使用所述至少一个真实密钥加密的所述至少一个轮密钥的加密版本,其中,所述至少一个真实密钥包括用于所述处理器的唯一密钥,所述唯一密钥是通过基于融合的导出密钥内部地导出和保持的。
6.如权利要求1所述的计算机实现的方法,其中所述至少一个经转换的密钥包括多个经转换的轮密钥。
7.如权利要求2所述的计算机实现的方法,其中从安全区域检索真实密钥包括从自信任平台模块(TPM)拆封真实密钥。
8.如权利要求7所述的计算机实现的方法,其中所述TPM与所述早期平台启动交互,以便当所述处理器已经执行有限软件代码从而减少信任代码基和攻击区域时生成所述经转换的密钥。
9.一种机器可访问介质,包括数据,当被机器访问时,所述数据致使所述机器执行包括以下的操作: 从安全区域检索至少一个真实密钥; 通过处理器基于检索到所述至少一个真实密钥,执行辅助至少一个轮密钥生成的辅助密钥生成指令;以及 通过所述处理器执行密钥转换指令,以便响应于所述至少一个轮密钥的生成而生成至少一个经转换的密钥。
10.如权利要求9所述的机器可访问介质,进一步包括: 在平台的早期平台启动的多个阶段期间,将所述至少一个经转换的密钥存储在存储器中; 通过与所述平台相关联的所述处理器解密所述至少一个经转换的密钥;以及 将所述至少一个轮密钥从系统存储器擦除。
11.如权利要求10所述的机器可访问介质,其中所述至少一个经转换的密钥是由所述处理器使用所述至少一个真实密钥加密的所述至少一个轮密钥的加密版本,其中,所述至少一个真实密钥包括在功率初始化时随机地导出的会话密钥,其中,仅所述处理器能够解密所述至少一个经转换的密钥并且加密所述至少一个轮密钥。
12.—种系统,包括: 处理器,能够访问至少一个真实密钥;以及 耦合到所述处理器的存储器,所述存储器用于存储至少一个经转换的密钥,所述处理器被配置成用于执行密钥转换指令以便基于所述至少一个真实密钥生成至少一个经转换的密钥。
13.如权利要求12所述的系统,其中所述存储器包括高速缓存,所述高速缓存用于存储映射以便将经转换的密钥映射到基于所述至少一个真实密钥的相应轮密钥。
14.如权利要求13所述的系统,其中所述处理器进一步被配置成用于如果发生高速缓存未命中,解密所述经转换的密钥。
15.如权利要求12所述的系统,其中所述存储器具有用于所述经转换的密钥的有限存储,并且所述处理器执行指令以便指定用于选择转换密钥的索引。
16.如权利要求12所述的系统,其中所述存储器包括表格或其他结构,用于存储映射以便将经转换的密钥映射到相应的真实密钥。
17.如权利要求12所述的系统,其中所述处理器被配置成用于接收单个密钥并且自动地生成将被所述处理器存储和访问的多个轮密钥,其中所述处理器被配置成用于执行所述密钥转换指令以便响应于生成至少一个轮密钥而生成至少一个经转换的密钥。
18.一种处理器,包括: 处理单元,用于从安全区域检索至少一个真实密钥以及基于所述至少一个真实密钥生成至少一个轮密钥;以及 耦合到所述处理单元的高速缓存,所述处理单元被配置成用于执行密钥转换指令以便基于所述至少一个轮密钥生成至少一个经转换的密钥,其中所述高速缓存用于存储所述至少一个轮密钥和所述至少一个经转换的密钥。
19.如权利要求18所述的处理器,其中所述至少一个经转换的密钥是由所述处理单元使用在功率初始化时随机地导出的会话密钥加密的所述至少一个轮密钥的加密版本,其中,仅所述处理单元能够解密所述至少一个经转换的密钥并且加密所述至少一个轮密钥。
20.如权利要求18所述的处理单元,其中所述至少一个转换密钥是由所述处理单元使用用于所述处理器的唯一密钥加密的所述至少一个轮密钥的加密版本,所述唯一密钥通过基于融合的导出密钥内部地导出和保持。
【文档编号】H04L9/16GK104012030SQ201180075754
【公开日】2014年8月27日 申请日期:2011年12月21日 优先权日:2011年12月21日
【发明者】S·L·格罗伯曼, J·W·布兰德特 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1