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

认证变量的管理方法和装置制造方法及图纸

技术编号:14759550 阅读:90 留言:0更新日期:2017-03-03 07:56
实施例包括一种装置,所述装置包括:耦合至安全非易失性存储设备的带外密码处理器;以及其上存储有固件指令的至少一个存储介质,所述固件指令用于在运行时期间且在所述装置的操作系统已经引导之后使得所述密码处理器:(a)将密钥存储在所述安全非易失性存储设备内,(b)当所述密钥在所述密码处理器内时用所述密钥对对象进行签名以产生签名,并且(c)验证所述签名。在此对其他实施例进行描述。

【技术实现步骤摘要】
【国外来华专利技术】
实施例解决了可信计算。
技术介绍
基本输入/输出系统(BIOS)软件是用于引导(即,执行引导操作,如加载并启动操作系统(OS)、测试硬件等)并在计算机系统中执行低层操作的低层软件。可以使用统一可扩展固件接口(UEFI)开源标准(例如,在www**uefi**org/specs/处可获得的UEFI规范版本2.4)实现BIOS(或模拟低层软件),所述开源标准是定义了操作系统(OS)和平台固件(持久性存储器与存储在所述持久性存储器中的程序代码和数据的组合)之间的软件接口的规范。UEFI包括被称为UEFI变量的成分,这些成分用于UEFI安全引导技术中。UEFI变量用于保存MRC(存储器参考代码)配置数据、PCH(平台控制中枢)配置数据、SA(系统代理)配置数据、密钥等。UEFI安全引导技术是标准化的(例如,UEFI2.3.1c规范),并且一些UEFI技术用开源安排(例如,edk2**sourceforge**net)来实现。可信平台模块(TPM)是硬件设备,所述硬件设备是添加有密码功能的安全微控制器/密码处理器。它与用于防止对计算节点的未授权访问的支持软件和固件一起工作。TPM包含用于执行加密/解密的硬件引擎。在数字签名和密钥包装操作期间,TPM使用其内置的加密引擎。尽管高级引导软件协议(例如,UEFI安全引导)和安全密码处理器(例如,TPM)可用,但是恶意软件等仍然对真正的可信计算造成了威胁。附图说明从所附权利要求书、对一个或多个示例实施例的以下详细说明、以及相应附图中,本专利技术实施例的特征和优点将变得显而易见,在附图中:图1包括本专利技术关于使能/禁用安全区域(SecureEnclave)的实施例的过程。图2包括本专利技术关于变量(UEFI变量)存储的反回退的实施例的过程。图3包括本专利技术关于在多个OS之间进行安全切换的实施例的过程。图4包括本专利技术用于当固件正试图访问安全密码处理器时避免OS与固件之间冲突的实施例的过程。图5包括用于本专利技术实施例的系统。具体实施方式在以下说明中,提出了许多特定细节,但是可以在没有这些特定细节的情况下实践本专利技术的实施例。未详细示出公知的电路、结构和技术,以避免模糊对本说明书的理解。“一个实施例”、“各实施例”等指示这样描述的一个或多个实施例可以包括具体特征、结构、或特性,但并不是每个实施例必定包括这些具体特征、结构、或特性。某些实施例可具有针对其他实施例所描述的特征的一部分、全部、或不具有任何这些特征。“第一”、“第二”、“第三”等描述了共同对象并指示正提及的相似对象的不同实例。此类形容词并不暗示这样描述的对象在或者时间上、空间上、排名上、或以其他方式必须按照给定的顺序。实施例提供了对密码处理器(例如,TPM2.0)和密码处理器的签名服务的运行时访问,因此固件可以使用密码处理器创建在密码处理器内部的密钥,使用所述密钥对对象(例如,UEFI变量)进行签名,并且然后验证这个签名。这使能了至少三种使用情况。首先,使用情况包括使能/禁用可信执行环境的能力,比如但不限于:安全区域(有时称为软件防护扩展(SGX))、管理引擎(ME)等。第二,另一种使用情况包括变量回退保护。这通过将所述一个或多个变量以密码方式绑定(例如,使用密码散列)至密码处理器(例如,绑定至位于密码处理器内的安全存储器,从而使得当SMM中的UEFI代码无法担当内容的保护者或防护时,密码处理器在电力循环期间可以充当对正在被掺杂的SPI闪存的完整性检查),可以有助于制止对某些存储器区域(例如,存储在串行外围接口(SPI)闪存存储器中的UEFI变量)上的离线攻击。在美国专利号6,848,046(已转让给美国加利福尼亚州圣克拉拉市的英特尔公司)中可以找到关于SMM的UEFI/PI使用的更多信息。第三,又另一种使用情况包括在运行时期间访问密码处理器使得密码处理器操纵(例如,切换)变量的固件,所述固件在针对另一操作系统进行交换时使能/禁用一个操作系统(OS)(例如,在运行于单个平台上的两个OS之间切换)。这种实施例可以进一步包括在运行时期间访问密码处理器使得密码处理器为第一OS分配第一数量的存储器并为第二OS分配第二数量的存储器的固件。现在接下来是对关于各实施例的更加详细的讨论。对由密码处理器签名的变量的运行时访问和/或操纵上文提到了UEFI变量。UEFI变量易受恶意活动的影响。确切地,原始设备制造商(OEM)/独立BIOS销售商(IBV)将变量数据存储在闪存区域中并使用系统管理模式(SMM)维持变量数据的完整性(即,不存在保密性控制,因此任何人都可以读取,但只有可信实体可以写入)。从而,这些变量易受恶意活动影响,如“Shack攻击”,这是一种低预算硬件攻击,其中攻击者对设备进行物理访问,但没有足够的设备或专家在集成电路封装的内部进行攻击。这些攻击者试图使用JTAG调试、边界扫描I/O、和内置自测试设施连接至所述设备。他们可使用逻辑探头和网络分析仪来探听总线线路、引脚和系统信号来被动地监视所述系统。攻击者还可能能够进行简单的主动硬件攻击,如强迫引脚和总线线路处于高电压或低电压,对存储器设备进行重新编程,并用恶意替代物来代替硬件部件。其他威胁包括“ROMswipe”/“replacement”类型攻击等,如例如黄欣国(BunnieHuang)的XBOX1攻击(例如,见http://***.uefidk.com/sites/default/files/resources/Platform_Security_Review_Intel_Cisco_White_Paper.pdf的第18页)中所描述的。为了更好地保护这些变量,实施例通过使用密码处理器进行签名并验证那些变量或保持密码校验和(如TPMNVData中变量的SHA256散列)来将UEFI变量(和用于存储配置信息等的模拟容器或机制)以密码方式绑定至平台。这是可能的,因为例如TPM标准版本2.0支持平台层级结构,并且结果是,平台固件(如半导体集成代码(SIC))和OS都可以使用TPM,这与之前的TPM标准(例如,只有OS可以使用TPM的TPM标准1.2)的情况不同。结果是,(固件需要访问的)UEFI变量可以由TPM在运行时期间进行签名和/或由UEFIPISMM代码进行散列,并且随后的散列值存储在TPM中(以便进行后续的与在重新引导时生成的散列进行比较,从而观察TPM中的值和从SPI闪存导出的值是否“相同”)。TPM还具有用于管理对已签名变量的访问/操纵的机制。例如,TPM具有较强的访问控制(例如,用于防止读取变量的读锁定以及用于防止向变量写入的写锁定)。从而,TPM可以例如对变量实现READ_LOCK保护(为了保密性)和WRITE_LOCK保护(为了完整性)。如下面将进一步阐述的,实施例包括将私钥存储于TPM中。所述密钥可以用于对UEFI变量(或任何其他数据)进行签名。结果是,不需要保密性声明,并且只需要完整性保护。这提升了在目标平台上针对可信实体对数据进行安全签名的能力。在实施例中,可信实体是SMM。在这种实施例中,SMM(在运行时)与其他可以要求SMM作为其代表执行动作的实体建立信任。要注意的是,虽然在某些实施例中UEFI变量使用本文档来自技高网...
<a href="http://www.xjishu.com/zhuanli/55/201580028293.html" title="认证变量的管理方法和装置原文来自X技术">认证变量的管理方法和装置</a>

【技术保护点】
一种装置,包括:耦合至安全非易失性存储设备的带外密码处理器;以及其上存储有固件指令的至少一个存储介质,所述固件指令用于在运行时期间且在所述装置的操作系统已经引导之后使得所述密码处理器:(a)将密钥存储在所述安全非易失性存储设备内,(b)当所述密钥在所述密码处理器内时用所述密钥对对象进行签名以产生签名,并且(c)验证所述签名。

【技术特征摘要】
【国外来华专利技术】2014.06.27 US 14/317,9091.一种装置,包括:耦合至安全非易失性存储设备的带外密码处理器;以及其上存储有固件指令的至少一个存储介质,所述固件指令用于在运行时期间且在所述装置的操作系统已经引导之后使得所述密码处理器:(a)将密钥存储在所述安全非易失性存储设备内,(b)当所述密钥在所述密码处理器内时用所述密钥对对象进行签名以产生签名,并且(c)验证所述签名。2.如权利要求1所述的装置,包括处理器,其中,所述对象包括统一可扩展固件接口(UEFI)变量,所述固件包括平台初始化(PI)固件,所述密码处理器是用固件和硬件中的至少一项实现的可信产品模块(TPM),并且所述TPM在所述处理器带外。3.如权利要求1所述的装置,其中,所述对象包括固件变量。4.如权利要求3所述的装置,其中,所述密钥是私钥,并且所述密码处理器包括所述安全非易失性存储设备;其中,所述至少一个存储介质上存储有固件指令,所述固件指令用于使得所述密码处理器向所述密码处理器的外部传达对应于所述私钥的公钥同时将所述私钥留存在所述密码处理器内。5.如权利要求1所述的装置,其中,所述至少一个存储介质上存储有固件指令,所述固件指令用于使得所述密码处理器执行以下各项中的至少一项:(a)在所述密码处理器内创建所述对象;以及(b)创建所述密钥。6.如权利要求1所述的装置,其中,所述至少一个存储介质上存储有固件指令,所述固件指令用于:初始化包括可信软件执行环境的安全区域,所述可信软件执行环境防止在所述安全区域外部执行的软件访问在所述安全区域内部的软件和数据。7.如权利要求6所述的装置,其中,初始化所述安全区域基于使能所述对象,所述对象包括固件变量。8.如权利要求1所述的装置,其中,所述至少一个存储介质上存储有用于禁用所述安全区域的固件指令。9.如权利要求1所述的装置,其中,所述至少一个存储介质上存储有固件指令,所述固件指令用于在运行时期间确定在不包括在所述密码处理器内的存储器中所存储的至少一个变量的测量结果。10.如权利要求9所述的装置,其中,所述至少一个存储介质上存储有用于将所述测量结果存储在所述安全非易失性存储设备内的固件指令。11.如权利要求10所述的装置,其中,所述至少一个存储介质上存储有固件指令,所述固件指令用于:在预引导操作期间且在运行时之前,将所述测量结果与在不包括在所述密码处理器内的所述存储器中所存储的所述至少一个变量的第二测量结果进行比较。12.如权利要求1所述的装置,其中,所述至少一个存储介质上存储有固件指令,所述固件指令用于在系统管理模式(SMM)运行时期间使得所述密码处理器:(a)将所述密钥存储在所述安全非易失性存储设备中,(b)用所述密钥对所述对象进行签名,并且(c)验证所述签名。13.如权利要求1所述的装置,其中,所述至少一个存储介质上存储有固件指令,所述固件指令...

【专利技术属性】
技术研发人员:V·J·齐默N·J·亚当斯G·P·姆督苏鲁L·G·罗森鲍姆M·A·罗斯曼
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国;US

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

1