CN109983465B - 增强的安全引导 - Google Patents
增强的安全引导 Download PDFInfo
- Publication number
- CN109983465B CN109983465B CN201680091114.9A CN201680091114A CN109983465B CN 109983465 B CN109983465 B CN 109983465B CN 201680091114 A CN201680091114 A CN 201680091114A CN 109983465 B CN109983465 B CN 109983465B
- Authority
- CN
- China
- Prior art keywords
- firmware
- processing element
- encrypted
- routine
- boot
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 claims abstract description 30
- 238000012546 transfer Methods 0.000 claims abstract description 27
- 238000012545 processing Methods 0.000 claims description 102
- 230000015654 memory Effects 0.000 claims description 57
- 230000009471 action Effects 0.000 claims description 11
- 230000006399 behavior Effects 0.000 claims description 9
- 230000004044 response Effects 0.000 claims description 5
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 17
- 229910052710 silicon Inorganic materials 0.000 description 17
- 239000010703 silicon Substances 0.000 description 17
- 230000008569 process Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 230000000977 initiatory effect Effects 0.000 description 8
- 230000002085 persistent effect Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000002708 enhancing effect Effects 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 241000700605 Viruses Species 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- ZXQYGBMAQZUVMI-GCMPRSNUSA-N gamma-cyhalothrin Chemical compound CC1(C)[C@@H](\C=C(/Cl)C(F)(F)F)[C@H]1C(=O)O[C@H](C#N)C1=CC=CC(OC=2C=CC=CC=2)=C1 ZXQYGBMAQZUVMI-GCMPRSNUSA-N 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000013442 quality metrics Methods 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/575—Secure boot
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/572—Secure firmware programming, e.g. of basic input output system [BIOS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/033—Test or assess software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2107—File encryption
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2149—Restricted operating environment
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Stored Programmes (AREA)
- Storage Device Security (AREA)
Abstract
一种用于计算系统的预引导初始化技术允许加密制造商和原始设备制造商固件例程两者,以及在制造商和原始设备制造商固件例程之间传送数据,其利用在现场可编程熔丝中利用原件设备制造商密钥而预置的密钥来加密。通过加密固件例程和传送数据,增强了预引导初始化过程的安全性。原始设备制造商可更新产品数据也可以利用原始设备制造商密钥来加密。附加的安全性可以通过使用可信执行环境的可信输入/输出能力向用户显示信息和从用户接收信息来提供。此外,可以使用无线凭证交换组件来实现配置的多个安全阶段。
Description
技术领域
本文描述的实施例大体上涉及处理器的引导环境,并且特别涉及用于增强引导环境的安全性的技术。
背景技术
现今的处理器的引导过程可能涉及由芯片制造商提供的一些硅初始化代码和由原始设备制造商(OEM)提供的其他初始化代码,这两者在加载操作系统并开始执行之前执行。硅初始化过程通常开始于执行芯片制造商硅初始化代码,然后是OEM硅初始化代码。在芯片制造商硅初始化代码和OEM硅初始化代码之间发生数据的传送。
现今,芯片制造商硅初始化代码和OEM硅初始化代码以及数据的传送通常“透明地”进行,这可以允许访问硅初始化代码和数据的传送两者的二进制内容。这种访问使得保护硅初始化代码中包含的知识产权变得困难,并且为恶意软件提供了扰乱引导过程的机会。
虽然已经做出一些努力来允许加密芯片制造商的硅初始化固件,但是没有办法允许加密OEM硅初始化代码或在芯片制造商的硅初始化代码和OEM硅初始化代码之间传送的数据。例如,统一可扩展固件接口(UEFI)论坛限定了称为硬件安全可测试性接口(HSTI)的接口,该接口由芯片制造商的硅初始化代码产生,并且意图成不可由集成HSTI的OEM修改。然而,芯片制造商的硅初始化代码可能会暴露处理器芯片的安全配置寄存器上的许多细节,并且OEM可能会推翻HSTI或对HSTI进行反向工程以了解芯片制造商将希望保持隐藏的信息。
现今的UEFI规范安全引导需要操作系统(OS)供应商OS加载器通过未加密进行签名。类似地,UEFI信任锚被存储为经认证或签名的变量。虽然这种签名技术可以提供完整性保护,但它们不提供保密性。
存在对现有代码和数据的开放性的其他担忧。例如,高级配置和电源接口(ACPI)传送表目前以明文形式暴露,而可能是攻击的途径。在另一个示例中,可更新产品数据(UPD)可以由用户配置,但对配置过程的攻击是可能的。
不仅允许完整性保护而且也允许预引导代码和数据的保密性的更安全的引导过程将是合期望的。
附图说明
图1是图示根据一个实施例的用于能够进行增强安全引导的计算系统的架构的框图;
图2是图示根据一个实施例的用于增强安全引导的技术的流程图;
图3是图示根据一个实施例的用于安全地预置计算设备的技术的泳道图(swimlane chart);
图4是图示根据一个实施例的供本文描述的技术使用的计算设备的框图。
具体实施方式
在以下描述中,出于解释的目的,阐述了许多具体细节以便提供对本发明的透彻理解。然而,对于本领域技术人员将显而易见的是,可以在没有这些具体细节的情况下实践本发明。在其他情况下,结构和设备以框图形式示出,以避免模糊本发明。没有下标或后缀的数字标号应理解为引用了与数字标号对应的所有带下标和后缀的实例。此外,本公开中使用的语言主要是出于可读性和指导目的而选择的,并且可能未被选择来描绘或限制本发明的主题,这样的发明主题必须依靠权利要求来确定。说明书中对“一个实施例”或“实施例”的引用意味着结合实施例描述的特定特征、结构或特性包括在本发明的至少一个实施例中,并且对“一个实施例”或“实施例”的多个引用不应理解为必须全部指代相同的实施例。
术语“一”、“一个”和“该”不意图成指代单个实体,除非明确地如此限定,而是包括具体示例可以用于说明的一般类。因此,术语“一”或“一个”的使用可以意味着至少一个的任何数量,包括“一个”、“一个或多个”、“至少一个”、以及“一个或多于一个”。
术语“或”意味着任何替代方案和替代方案的任何组合,包括所有替代方案,除非替代方案被明确地指示为相互排斥。
当与项目列表组合时,短语“至少一个”意味着来自列表的单个项目或列表中的项目的任何组合。短语不要求所有列出的项目,除非明确地如此限定。
如本文所使用的,术语“恶意软件”可以指用于破坏可编程设备的操作、收集敏感信息、或获得对私有系统或网络的访问的任何软件。恶意软件包括计算机病毒(包括蠕虫、特洛伊木马等)、自动运行型木马、勒索软件、间谍软件、广告软件、恐吓软件、以及任何其他类型的恶意程序。
如本文所使用的,术语“介质”可以指单个物理介质或多个介质,它们一起存储描述为存储在介质上的信息。
如本文所使用的,术语“存储器”可以指单个存储器设备或多个存储器设备,它们一起存储描述为存储在介质上的信息。存储器可以是任何类型的存储设备,包括随机存取存储器、只读存储器、光学和机电磁盘驱动器等。
如本文所使用的,术语“固件”意指由制造商或OEM编程到固件设备中的软件。固件可以用于计算机的初始化或者可以提供操作功能,并且可以包括代码和数据两者。
如本文所使用的,“固件设备”是包含固件的持久物理储存库,通常作为在正常操作下为只读的但在特殊条件下可以更新的设备。固件设备通常是闪存组件,但也可以是某种其他类型的持久存储装置。可以将单个物理固件设备划分为更小的片段以形成多个逻辑固件设备。类似地,可以将多个物理固件设备聚合到一个更大的逻辑固件设备中。
如本文所使用的,“固件卷”是逻辑固件设备。用于固件数据和/或代码的基本存储库是固件卷。每个固件卷被组织到文件系统中。因此,文件是用于固件的存储的基本单元。
下面描述的实施例提供了密钥层次结构和流的新颖组合,从而提供了更健壮的处理器环境。下面描述的实施例解决了将OEM固件与芯片制造商授权的二进制文件组合的问题,包括阻止对二进制内容的访问,使得芯片制造商和OEM两者能够加密它们的早期初始化代码。在处理器的重置后立即创建安全的安全区,并用于芯片制造商的早期初始化代码。在动态随机存取存储器(DRAM)中创建第二安全区以供OEM初始化代码使用,并且加密的传送块(eHOB)用于在安全区之间提供数据的安全传送。
因此,例如,通过将HSTI放入安全区或从安全区发出的经验证的加密固件中,隐藏HSTI细节,并加密来自安全区的输出,使得只有可信实体才能解密来自安全区的输出,机器的安全态势只暴露给那些可信方。
现今的UEFI安全引导需要OS供应商的操作加载器被签名但不加密。通过允许加密芯片制造商的初始化代码和OEM的初始化代码两者,可传递信任也可以应用到操作加载器。对于锁定的物联网(IOT)设备或其他器具,采用所公开技术的系统可以为芯片制造商的平台提供差异化信任主张,同时保留企业对企业集成的开放性。
现今的UEFI中的信任锚被存储为经认证或签名的变量,但不被加密。通过采用基于安全区的流来托管UEFI变量驱动器,我们可以允许对这些变量进行加密,因而提供变量的完整性和保密性两者。例如,OEM现今可以将UEFI变量用于需要加密的比如密码的资产,但是存在暴露给OEM或芯片制造商固件流的相对较少的加密能力。
所公开的技术还可以用于保护当前以纯文本形式暴露的ACPI传送表。
在一些实施例中,其中可更新的产品数据的预配置默认值可以在引导期间在运行时被用户配置(用一般文字诸如存储器配置、预引导认证密码短语、服务器存储器热插拔MRC配置)改写。通过下面描述的流程,这可以使用在预引导环境中具有早期安全区的可信I/O来保护。
图1是图示根据一个实施例的用于可以提供安全引导的计算机系统的架构100的框图。硬件110图示了计算机系统的硬件,包括CPU 118。固件120提供用于初始化和配置硬件110的例程。统一可扩展固件接口(UEFI)层130限定了固件120和启用UEFI的操作系统(OS)150之间的接口。预引导工具140的集合还可以与UEFI层130对接。在硬件110的初始化和OS 150的引导之后,应用软件160可以在OS 150的控制下在硬件110上运行。
硬件110包括CPU或处理元件单元118,其包含处理器高速缓存119。由固件提供给CPU的指令、OS或应用软件当由CPU执行时使得CPU执行所编程的动作。可信执行环境(TEE)112可以提供用于执行经认证的代码的安全区域,并且可以包括OS 150或应用软件160不可访问的受保护存储器113。现场可编程熔丝(FPF)114的集合提供如以下描述的那样可以由芯片制造商和OEM使用的非易失性存储器的区域。可以由处理器芯片的制造商提供任何数量的FPF。无线凭证交换(WCE)能力116提供在安全条件下从工厂车间到用户使用射频标识芯片执行附加配置的能力。
下面的讨论大体上涉及预引导固件120,它为每个可以具有其自己的固件例程的硬件制造商和OEM提供了一种方式,以提供用于使制造商的固件将信息传递给OEM固件的安全方式。然而,还描述了附加的特征,诸如在预引导时允许安全用户配置输入的安全方式以及允许使用WCE能力116进行现场配置的安全方式。
图2是图示根据一个实施例的用于执行增强的安全引导的技术200的流程图。在重启CPU时,处理器片上微代码将固件接口表(FIT)定位在预定位置处。在一些实施例中,FIT位于4GB-0x40的固定地址处。FIT提供了启动固件例程的指示器(pointer)。在一些实施例中,启动固件例程可以包括Intel固件支持包(FSP)例程。在典型环境中,在FIT中的预定固定偏移处找到启动固件例程地址。
在框205中,检查由FIT指向的位置以确定启动固件例程是否为启动认证代码模块(ACM),即,已经由制造商签名的例程。如果FIT指向启动ACM之外的其他内容,则在框220中,安全引导过程可以记录错误并以不安全模式引导以进行恢复。在一些实施例中,可以记录任何非预期行为,并且可以响应于记录的非预期行为采取预置的基于策略的动作。如果FIT确实指向启动ACM,则在框210中启动ACM被启动。在此阶段,启动ACM通常分配临时存储器来使用,直到持久存储器从处理器高速缓存变得可用。在一些实施例中,启动ACM是可以根据需要或期望加载其他固件例程的例程。
在框215中,启动ACM确定处理元件是否能够在重置处理期间创建存储器安全区。一些处理元件可能不能创建这样的安全区。如果否,则不创建安全区,并且启动ACM可能是经签名的ACM,但不是经加密的ACM。
如果处理元件能够在重置处理期间创建安全区,则创建安全区并将代码加载到安全区中。在一些实施例中,使用Intel SGX指令集ECREATE指令创建安全区,其中安全区在处理器高速缓存中创建,诸如图4的高速缓存472/482。处理元件优选地在无驱逐模式(NEM)下操作,同时使用高速缓存作为存储器。当启动ACM被加载到安全区存储器中时,处理元件的存储器加密引擎(MEE)在ACM代码进入处理元件时解密启动ACM,并在代码离开处理元件时使用制造商的私钥对其进行加密。
一旦在框225中诸如利用SGX EINIT指令创建并开始了安全区,ACM就可以在安全区中执行,以执行硅初始化和由制造商所期望的其他功能。
在框230中,启动ACM可以确定OEM加密UPD是否可用以及密钥是否在处理器芯片的现场可编程熔丝中可用。如果可用,则UPD在安全区中被解密并在框240中用于初始化计算机的主存储器。该主存储器通常是DRAM,但可以是对于制造商可用的任何类型的存储器。如果没有找到OEM加密UPD,则一些实施例可以认为,可以采取错误或警告条件以及适当的基于策略的动作(如框220所示),从而导致诸如到恢复模式的引导或引导故障及用户警告等的动作。在没有找到OEM加密UPD的情况下,其他实施例可以采取其他动作。
一旦主存储器可用并初始化,则启动ACM在主存储器中创建安全区并在框245中将启动ACM从高速缓存存储器安全区迁移到主存储器安全区。
在框250中,要传递给OEM固件的数据被存储在传送块(HOB)中,然后使用从FPF获得的OEM加密密钥被加密为经加密的HOB(eHOB)。尽管通常使用对称加密算法来执行加密,但是也可以使用非对称加密技术,其中OEM公钥用于创建eHOB。实施例可以使用用于eHOB的任何期望的数据结构。
在框255中,启动ACM代码——现在在主存储器的安全区中运行而不是在处理器高速缓存中运行——寻找经加密的OEM固件卷。在一些实施例中,OEM固件卷列在由管理引擎硬件所维护的清单中。尽管常规上使用存储在FPF中的OEM公钥对OEM固件卷进行签名,但是本文描述的实施例允许使用OEM的私钥来加密OEM固件卷。如果没有找到经加密的OEM固件卷,则启动ACM认为错误条件并将控制传递到框220,如上所述。
在框260中,在安全区中运行的启动ACM代码解密OEM固件卷并将控制传送给OEM固件卷,向OEM固件卷传递在框250中创建的eHOB。然后,在框265中,OEM固件卷可以解密eHOB并获得由OEM固件卷中包含的OEM固件使用的传送数据。然后,OEM固件可以完成计算机的初始化,找到用于OS的加载器,并启动加载器。然后初始化在OS引导时完成。
通过在安全区中运行制造商固件和OEM固件两者,并通过在eHOB中将数据从制造商固件传递到OEM固件,可以保护制造商固件和OEM固件两者免受修改并保护其免受检查,并且还可以保护传送数据免受修改和检查两者,使得只有可信实体才能解密固件和数据,从而确保机器的安全态势仅暴露给可信方。
在一些实施例中,预引导认证过程阻止使用计算机,直到用户提供了正确的密码或其他凭证。在其他实施例中,用户可能能够在预引导时提供系统配置信息。在这两种情况下,强化用户输入过程将是有利的。通过将诸如Intel可管理性引擎之类的可信执行环境(TEE)112的安全存储和能力用于处理具有诸如键盘的用户输入设备和诸如显示器的用户输出设备的I/O,然后建立从TEE到由预引导启动ACM使用的安全区的安全通道,我们可以确保没有软件可以观察到由用户的输入条目或针对用户显示的信息。
在图3所示的另一个实施例中,图1中描述的架构的另一个特征可以用于允许多个安全配置事件。通常嵌入到处理元件SOC中的无源射频标识(RFID)组件116提供无线凭证交换(WCE)能力,其允许在各种时间预置凭证。在制造时,如框310所示,WCE元件可以用于使用RFID编程器在框312中预置FPF和密钥。在框314中,然后可以启用SOC硬件以支持在平台重置上执行的经加密的启动ACM和OEM配置代码,如上所述。优选地,WCE元件116是位置感知的,从而允许对可以访问和编程WCE 116的位置进行地理围栏控制。
在通道320中,OEM可以将诸如预置密钥之类的元件预置给由上述的经加密的OEM启动代码使用的FPF。然后,在通道330中所示的下一阶段中,供应商或本地供应链(诸如零售店)可以使用WCE元件116来预置特定于该供应商的附加定制,诸如附加的UPD元件。因此,在由零售商预置之后,设备行为可能与其在制造期间的不同。当消费者购买并注册设备时,在通道340中,WCE元件可以用于执行挑战-响应协议以进行验证。最后,在通道350中,诸如经由TEE 112提供的可信I/O允许用户安全地提供预引导认证密码短语,而不会为计算机上的不法代码打开访问密码短语的机会。
现在参考图4,框图图示了可以用于实现本文根据一个实施例描述的技术的可编程设备400。图4中图示的可编程设备400是多处理器可编程设备,其包括第一处理元件470和第二处理元件480。虽然示出了两个处理元件470和480,但是可编程设备400的实施例也可以仅包括一个这样的处理元件。
可编程设备400被示为点对点互连系统,其中第一处理元件470和第二处理元件480经由点对点互连450耦合。图4所示的任何或所有互连可以实现为多点总线而不是点对点互连。
如图4所示,处理元件470和480中的每一个可以是多核处理器,包括第一和第二处理器核(即,处理器核474a和474b以及处理器核484a和484b)。这样的核474a、474b、484a、484b可以被配置为执行指令代码。然而,其他实施例可以根据需要使用作为单核处理器的处理元件。在具有多个处理元件470、480的实施例中,每个处理元件可以根据需要用不同数量的核实现。
每个处理元件470、480可以包括至少一个共享高速缓存446。共享的高速缓存446a、446b可以存储由处理元件的一个或多个组件利用的数据(例如指令),诸如分别为核474a、474b和484a、484b。例如,共享的高速缓存可以本地缓存存储在存储器432、434中的数据,以供处理元件470、480的组件更快地访问。在一个或多个实施例中,共享的高速缓存446a、446b可以包括一个或多个中级高速缓存,诸如级别2(L2)、级别3(L3)、级别4(L4)或其他级别的高速缓存、最后级别高速缓存(LLC)或其组合。
虽然为了图的清楚起见,图4图示了具有两个处理元件470、480的可编程设备,但本发明的范围并不限于此,并且可以存在任何数量的处理元件。或者,处理元件470、480中的一个或多个可以是除处理器之外的元件,诸如图形处理单元(GPU)、数字信号处理(DSP)单元、现场可编程门阵列或任何其他可编程处理元件。处理元件480可以对于处理元件470是异构的或不对称的。在品质度量谱方面处理元件470、480之间可以存在各种差异,包括架构、微架构、热、功耗特性等。这些差异可以有效地使其表现为处理元件470、480之间的不对称性和异构性。在一些实施例中,各种处理元件470、480可以驻留在相同的管芯封装中。
第一处理元件470还可以包括存储器控制器逻辑(MC)472和点对点(P-P)互连476和478。类似地,第二处理元件480可以包括MC 482和P-P互连486和488。如图4所示,MC 472和482将处理元件470、480耦合到相应的存储器,即存储器432和存储器434,其可以是本地附接到相应处理器的主存储器的部分。虽然MC逻辑472和482被示为集成到处理元件470、480中,但是在一些实施例中,存储器控制器逻辑可以是处理元件470、480之外的离散逻辑,而不是集成在其中。
处理元件470和处理元件480可以通过链路452和454经由相应的P-P互连476和486耦合到I/O子系统490。如图4所示,I/O子系统490包括P-P互连494和498。此外,I/O子系统490包括用于将I/O子系统490与高性能图形引擎438耦合的接口492。在一个实施例中,总线(未示出)可以被用来将图形引擎438耦合到I/O子系统490。或者,点对点互连439可以耦合这些组件。
继而,I/O子系统490可以经由接口496耦合到第一链路416。在一个实施例中,第一链路416可以是外围组件互连(PCI)总线,或者诸如PCI快速总线或另一I/O互连总线之类的总线,但本发明的范围并不限于此。
如图4所示,各种I/O设备414、424可以耦合到第一链路416,以及可以将第一链路416耦合到第二链路420的桥接器418。在一个实施例中,第二链路420可以是低引脚数(LPC)总线。各种设备可以耦合到第二链路420,包括例如键盘/鼠标412、(一个或多个)通信设备426(其继而可以与计算机网络403通信)、以及数据存储单元428,诸如磁盘驱动器或其他大容量存储设备,其在一个实施例中可以包括代码430。代码430可以包括用于执行上述的技术中的一种或多种的实施例的指令。此外,音频I/O 424可以耦合到第二链路420。
FPF 431、TEE 433和WCE元件435连接到处理元件470和480。尽管图示为直接点对点连接,但是实现可以以任何期望方式连接这些元件中的每一个。
注意,可以考虑其他实施例。例如,代替图4的点对点架构,系统可以实现多点总线或另一种这样的通信拓扑。尽管链路416和420在图4中示为总线,但是可以使用任何期望类型的链路。另外,图4的元件可以使用比图4中所示的更多或更少的集成芯片来划分。
图4中描绘的可编程设备是可以用于实现本文所讨论的各种实施例的可编程设备的实施例的示意图示。图4中描绘的可编程设备的各种组件可以组合在片上系统(SoC)架构中。
实施例可以以硬件、固件和软件中的一个或组合来实现。实施例还可以实现为存储在计算机可读存储介质上的指令,其可以由至少一个处理元件读取和执行以执行本文描述的操作。计算机可读存储介质可以包括用于以机器(例如计算机)可读的形式存储信息的任何非暂时性机制。例如,计算机可读存储设备可以包括只读存储器(ROM)、随机存取存储器(RAM)、磁盘存储介质、光存储介质、闪速存储器设备以及其他存储设备和介质。
如本文所述的实施例可以包括逻辑或多个组件、模块或机制,或者可以在逻辑或多个组件、模块或机制上操作。模块可以是通信地耦合到一个或多个处理元件的硬件、软件或固件,以便执行本文描述的操作。模块可以是硬件模块,并且因此,模块可以被认为是能够执行指定操作的有形实体,并且可以以某种方式配置或布置。电路可以以指定的方式布置(例如在内部或相对于诸如其他电路的外部实体)为模块。一个或多个可编程设备(例如独立客户端或服务器计算机系统)或一个或多个硬件处理元件的全部或部分可以由固件或软件(例如指令、应用部分或应用)配置为进行操作以执行指定操作的模块。软件可以驻留在计算机可读介质上。软件在由模块的底层硬件执行时使得硬件执行指定的操作。因此,术语硬件模块被理解为包含有形实体,是被物理构造、具体配置(例如硬连线)、或临时(例如暂时)配置(例如编程)成以指定方式操作或执行本文所述的任何操作的部分或所有的实体。在模块被临时配置的情况下,不需要在任何一个时刻实例化每个模块。例如,在模块包括使用软件配置的通用硬件处理元件的情况下;通用硬件处理元件可以在不同时间被配置为相应的不同模块。软件可以相应地对硬件处理器进行编程,例如,以在一个时刻构成特定模块并在不同的时刻构成不同的模块。模块也可以是软件或固件模块,其进行操作以执行本文描述的方法。
下面的示例涉及另外的实施例。
示例1是具有增强的安全引导能力的计算系统,包括:硬件处理元件;一组现场可编程熔丝,其连接到处理元件;被编程为在处理元件的预引导初始化期间配置处理元件的固件,包括:第一加密固件例程,被编程为在处理元件的重启时在受保护的安全区中执行处理元件的第一初始化阶段,其包括在被执行时使得处理元件进行如下操作的固件指令:创建传送数据以供第二初始化阶段使用;利用一组现场可编程熔丝中预置的原始设备制造商密钥加密传送数据;使用原始设备制造商密钥解密第二加密固件例程;和将加密传送数据传递给第二加密固件例程,以执行处理元件的第二初始化阶段。
在示例2中,示例1的主题可选地包括:其中,第一加密固件例程还包括在被执行时使得处理元件进行如下操作的固件指令:在处理元件高速缓存存储器中创建受保护的安全区;在受保护的安全区中执行第一加密固件例程的第一部分;初始化主存储器;在主存储器中创建第二受保护的安全区;和在第二受保护的安全区中执行第一加密固件例程的第二部分。
在示例3中,示例1的主题可选地包括:其中,第一加密固件例程还包括在被执行时使得处理元件进行如下操作的固件指令:使用原始设备制造商密钥解密原始设备制造商可更新产品数据。
在示例4中,示例3的主题可选地包括:其中,第一加密固件例程还包括在被执行时使得处理元件进行如下操作的固件指令:使用经解密的原始设备制造商可更新产品数据执行主存储器初始化。
在示例5中,示例1-4中任一项的主题可选地包括:还包括:可信执行环境;和被编程用于在可信执行环境中执行的固件,包括在被执行时使得可信执行环境进行如下操作的指令:使用可信执行环境的可信输入/输出能力来从用户获得预引导认证信息。
在示例6中,示例1-4中任一项的主题可选地包括:还包括:无线凭证交换组件;和被编程用于使用无线凭证交换组件的固件,包括在被执行时使得无线凭证交换组件进行如下操作的指令:接收供应商特定的预引导初始化定制信息。
在示例7中,示例6的主题可选地包括:其中,无线凭证交换组件和固件允许在多个供应链阶段处的预引导认证行为的定制。
在示例8中,示例7的主题可选地包括:其中,无线凭证交换固件使用地理围栏来控制其中可以执行预引导认证行为的定制的位置。
在示例9中,示例1-4中任一项的主题可选地包括:其中,第二加密固件例程被存储在原始设备制造商固件卷中。
示例10是安全地引导计算系统的方法,包括:利用原始设备制造商密钥预置一组现场可编程熔丝;在计算系统的处理元件的重启时在第一初始化阶段中执行第一加密固件例程,包括:创建传送数据以供第二初始化阶段使用;利用一组现场可编程熔丝中预置的原始设备制造商密钥加密传送数据;使用原始设备制造商密钥解密第二加密固件例程;和将加密传送数据传递给第二加密固件例程,以执行处理元件的第二初始化阶段。
在示例11中,示例10的主题可选地包括:其中,执行第一加密固件例程还包括:在处理元件高速缓存存储器中创建受保护的安全区;在受保护的安全区中执行第一加密固件例程的第一部分;初始化主存储器;在主存储器中创建第二受保护的安全区;和在第二受保护的安全区中执行第一加密固件例程的第二部分。
在示例12中,示例10-11中任一项的主题可选地包括:其中,执行第一加密固件例程还包括:使用原始设备制造商密钥解密原始设备制造商可更新产品数据。
在示例13中,示例10-11中任一项的主题可选地包括:还包括:在可信执行环境中执行固件例程,包括:使用可信执行环境的可信输入/输出能力来从用户获得预引导认证信息。
在示例14中,示例10-11中任一项的主题可选地包括:还包括:执行计算系统的用于无线凭证交换组件的固件,包括:接收供应商特定的预引导初始化定制信息。
在示例15中,示例10-11中任一项的主题可选地包括:还包括:从原始设备制造商固件卷中读取第二加密固件例程。
示例16是机器可读介质,其上存储有用于提供计算系统的处理元件的增强安全引导的固件指令,包括在被执行时使得处理元件进行如下操作的固件指令:执行第一加密固件例程,其被编程为在处理元件的重启时在受保护的安全区中执行处理元件的第一初始化阶段,其包括在被执行时使得处理元件进行如下操作的固件指令:创建传送数据以供第二初始化阶段使用;利用一组现场可编程熔丝中预置的原始设备制造商密钥加密传送数据;使用原始设备制造商密钥解密第二加密固件例程;和将加密传送数据传递给第二加密固件例程,以执行处理元件的第二初始化阶段。
在示例17中,示例16的主题可选地包括:其中,第一加密固件例程还包括在被执行时使得处理元件进行如下操作的固件指令:在处理元件高速缓存存储器中创建受保护的安全区;在受保护的安全区中执行第一加密固件例程的第一部分;初始化主存储器;在主存储器中创建第二受保护的安全区;和在第二受保护的安全区中执行第一加密固件例程的第二部分。
在示例18中,示例16-17中任一项的主题可选地包括:其中,第一加密固件例程还包括在被执行时使得处理元件进行如下操作的固件指令:使用原始设备制造商密钥解密原始设备制造商可更新产品数据。
在示例19中,示例16-17中任一项的主题可选地包括:其中,第一加密固件例程还包括在被执行时使得处理元件进行如下操作的固件指令:使用经解密的原始设备制造商可更新产品数据执行主存储器初始化。
在示例20中,示例16-17中任一项的主题可选地包括:还包括:可信执行环境;和被编程用于在可信执行环境中执行的固件,包括在被执行时使得可信执行环境进行如下操作的指令:使用可信执行环境的可信输入/输出能力来从用户获得预引导认证信息。
在示例21中,示例16-17中任一项的主题可选地包括:还包括:无线凭证交换组件;和被编程用于使用无线凭证交换组件的固件,包括在被执行时使得无线凭证交换组件进行如下操作的指令:接收供应商特定的预引导初始化定制信息。
在示例22中,示例16-17中任一项的主题可选地包括:其中,第二加密固件例程被存储在原始设备制造商固件卷中。
在示例23中,示例16-17中任一项的主题可选地包括:其中,指令还包括在被执行时使得处理元件进行如下操作的指令:记录预引导动作;和响应于非预期的预引导行为而采取预置的基于策略的动作。
示例24是具有增强的安全引导能力的处理元件,包括:用于执行第一加密固件例程的部件,所述第一加密固件例程被编程为在处理元件的重启时在受保护的安全区中执行处理元件的第一初始化阶段,包括:用于创建传送数据以供第二初始化阶段使用的部件;用于利用一组现场可编程熔丝中预置的原始设备制造商密钥加密传送数据的部件;用于使用原始设备制造商密钥解密第二加密固件例程的部件;和用于将加密传送数据传递给第二加密固件例程以执行处理元件的第二初始化阶段的部件。
在示例25中,示例24的主题可选地包括:其中,第一加密固件例程还包括:用于在处理元件高速缓存存储器中创建受保护的安全区的部件;用于在受保护的安全区中执行第一加密固件例程的第一部分的部件;用于初始化主存储器的部件;用于在主存储器中创建第二受保护的安全区的部件;和用于在第二受保护的安全区中执行第一加密固件例程的第二部分的部件。
在示例26中,示例24-25中任一项的主题可选地包括:其中,第一加密固件例程还包括:用于使用原始设备制造商密钥解密原始设备制造商可更新产品数据的部件。
在示例27中,示例24-25中任一项的主题可选地包括:其中,第一加密固件例程还包括:用于使用经解密的原始设备制造商可更新产品数据执行主存储器初始化的部件。
在示例28中,示例24-25中任一项的主题可选地包括:还包括:可信执行环境;和被编程用于在可信执行环境中执行的固件,包括:用于使用可信执行环境的可信输入/输出能力来从用户获得预引导认证信息的部件。
在示例29中,示例24-25中任一项的主题可选地包括:还包括:无线凭证交换组件;和被编程用于使用无线凭证交换组件的固件,包括:用于接收供应商特定的预引导初始化定制信息的部件。
在示例30中,示例24-25中任一项的主题可选地包括:其中,第二加密固件例程被存储在原始设备制造商固件卷中。
在示例31中,示例16-17中任一项的主题可选地包括:其中,还包括:用于记录预引导动作的部件;和用于响应于非预期的预引导行为而采取预置的基于策略的动作的部件。
应当理解,上面的描述是说明性的而不是限制性的。例如,上述实施例可以彼此组合地使用。在阅读以上描述后,许多其他实施例对于本领域技术人员将是显而易见的。因此,本发明的范围应参考所附权利要求以及这样的权利要求所赋予的等同物的全部范围来确定。
Claims (23)
1.一种具有增强的安全引导能力的计算系统,包括:
硬件处理元件;
一组现场可编程熔丝,其连接到处理元件;
被编程为在处理元件的预引导初始化期间配置处理元件的固件,包括:
第一加密固件例程,被编程为在处理元件的重启时在受保护的安全区中执行处理元件的第一初始化阶段,其包括在被执行时使得处理元件进行如下操作的固件指令:
创建传送数据以供第二初始化阶段使用;
利用一组现场可编程熔丝中预置的原始设备制造商密钥加密传送数据;
使用原始设备制造商密钥解密第二加密固件例程;和
将加密传送数据传递给第二加密固件例程,以执行处理元件的第二初始化阶段。
2.如权利要求1所述的计算系统,其中,第一加密固件例程还包括在被执行时使得处理元件进行如下操作的固件指令:
在处理元件高速缓存存储器中创建受保护的安全区;
在受保护的安全区中执行第一加密固件例程的第一部分;
初始化主存储器;
在主存储器中创建第二受保护的安全区;和
在第二受保护的安全区中执行第一加密固件例程的第二部分。
3.如权利要求1所述的计算系统,其中,第一加密固件例程还包括在被执行时使得处理元件进行如下操作的固件指令:
使用原始设备制造商密钥解密原始设备制造商可更新产品数据。
4.如权利要求3所述的计算系统,其中,第一加密固件例程还包括在被执行时使得处理元件进行如下操作的固件指令:
使用经解密的原始设备制造商可更新产品数据执行主存储器初始化。
5.如权利要求1-4中任一项所述的计算系统,还包括:
可信执行环境;和
被编程用于在可信执行环境中执行的固件,包括在被执行时使得可信执行环境进行如下操作的指令:
使用可信执行环境的可信输入/输出能力来从用户获得预引导认证信息。
6.如权利要求1-4中任一项所述的计算系统,还包括:
无线凭证交换组件;和
被编程用于使用无线凭证交换组件的固件,包括在被执行时使得无线凭证交换组件进行如下操作的指令:
接收供应商特定的预引导初始化定制信息。
7.如权利要求6所述的计算系统,其中,无线凭证交换组件和固件允许在多个供应链阶段处的预引导认证行为的定制。
8.如权利要求7所述的计算系统,其中,无线凭证交换组件使用地理围栏来控制其中可执行预引导认证行为的定制的位置。
9.如权利要求1-4中任一项所述的计算系统,其中,第二加密固件例程被存储在原始设备制造商固件卷中。
10.一种安全地引导计算系统的方法,包括:
利用原始设备制造商密钥预置一组现场可编程熔丝;
在计算系统的处理元件的重启时在受保护的安全区中在第一初始化阶段中执行第一加密固件例程,包括:
创建传送数据以供第二初始化阶段使用;
利用一组现场可编程熔丝中预置的原始设备制造商密钥加密传送数据;
使用原始设备制造商密钥解密第二加密固件例程;和
将加密传送数据传递给第二加密固件例程,以执行处理元件的第二初始化阶段。
11.如权利要求10所述的方法,其中,执行第一加密固件例程还包括:
在处理元件高速缓存存储器中创建所述受保护的安全区;
在受保护的安全区中执行第一加密固件例程的第一部分;
初始化主存储器;
在主存储器中创建第二受保护的安全区;和
在第二受保护的安全区中执行第一加密固件例程的第二部分。
12.如权利要求10-11中任一项所述的方法,其中,执行第一加密固件例程还包括:
使用原始设备制造商密钥解密原始设备制造商可更新产品数据。
13.如权利要求10-11中任一项所述的方法,还包括:
在可信执行环境中执行固件例程,包括:
使用可信执行环境的可信输入/输出能力来从用户获得预引导认证信息。
14.如权利要求10-11中任一项所述的方法,还包括:
执行计算系统的用于无线凭证交换组件的固件,包括:
接收供应商特定的预引导初始化定制信息。
15.如权利要求10-11中任一项所述的方法,还包括:
从原始设备制造商固件卷中读取第二加密固件例程。
16.一种机器可读介质,其上存储有用于提供计算系统的处理元件的增强安全引导的固件指令,包括在被执行时使得处理元件进行如下操作的固件指令:
执行第一加密固件例程,其被编程为在处理元件的重启时在受保护的安全区中执行处理元件的第一初始化阶段,其包括在被执行时使得处理元件进行如下操作的固件指令:
创建传送数据以供第二初始化阶段使用;
利用一组现场可编程熔丝中预置的原始设备制造商密钥加密传送数据;
使用原始设备制造商密钥解密第二加密固件例程;和
将加密传送数据传递给第二加密固件例程,以执行处理元件的第二初始化阶段。
17.如权利要求16所述的机器可读介质,其中,第一加密固件例程还包括在被执行时使得处理元件进行如下操作的固件指令:
在处理元件高速缓存存储器中创建受保护的安全区;
在受保护的安全区中执行第一加密固件例程的第一部分;
初始化主存储器;
在主存储器中创建第二受保护的安全区;和
在第二受保护的安全区中执行第一加密固件例程的第二部分。
18.如权利要求16-17中任一项所述的机器可读介质,其中,第一加密固件例程还包括在被执行时使得处理元件进行如下操作的固件指令:
使用原始设备制造商密钥解密原始设备制造商可更新产品数据。
19.如权利要求16-17中任一项所述的机器可读介质,其中,第一加密固件例程还包括在被执行时使得处理元件进行如下操作的固件指令:
使用经解密的原始设备制造商可更新产品数据执行主存储器初始化。
20.如权利要求16-17中任一项所述的机器可读介质,还包括:
可信执行环境;和
被编程用于在可信执行环境中执行的固件,包括在被执行时使得可信执行环境进行如下操作的指令:
使用可信执行环境的可信输入/输出能力来从用户获得预引导认证信息。
21.如权利要求16-17中任一项所述的机器可读介质,还包括:
无线凭证交换组件;和
被编程用于使用无线凭证交换组件的固件,包括在被执行时使得无线凭证交换组件进行如下操作的指令:
接收供应商特定的预引导初始化定制信息。
22.如权利要求16-17中任一项所述的机器可读介质,其中,第二加密固件例程被存储在原始设备制造商固件卷中。
23.如权利要求16-17中任一项所述的机器可读介质,其中,指令还包括在被执行时使得处理元件进行如下操作的指令:
记录预引导动作;和
响应于非预期的预引导行为而采取预置的基于策略的动作。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2016/100172 WO2018053855A1 (en) | 2016-09-26 | 2016-09-26 | Enhanced secure boot |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109983465A CN109983465A (zh) | 2019-07-05 |
CN109983465B true CN109983465B (zh) | 2023-05-16 |
Family
ID=61689818
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680091114.9A Active CN109983465B (zh) | 2016-09-26 | 2016-09-26 | 增强的安全引导 |
Country Status (3)
Country | Link |
---|---|
US (2) | US10885199B2 (zh) |
CN (1) | CN109983465B (zh) |
WO (1) | WO2018053855A1 (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018053855A1 (en) | 2016-09-26 | 2018-03-29 | Mcafee, Inc. | Enhanced secure boot |
US10979232B2 (en) * | 2018-05-31 | 2021-04-13 | Motorola Solutions, Inc. | Method for provisioning device certificates for electronic processors in untrusted environments |
WO2020140261A1 (en) * | 2019-01-04 | 2020-07-09 | Baidu.Com Times Technology (Beijing) Co., Ltd. | Method and system for protecting data processed by data processing accelerators |
CN113454624A (zh) * | 2019-04-30 | 2021-09-28 | 惠普发展公司,有限责任合伙企业 | 网络凭据的存储 |
EP4062278A4 (en) * | 2019-11-22 | 2023-08-16 | Hewlett-Packard Development Company, L.P. | DATA MANAGEMENT |
US11836514B2 (en) * | 2021-01-19 | 2023-12-05 | Dell Products L.P. | System and method of utilizing memory medium fault resiliency with secure memory medium portions |
US12124856B2 (en) | 2021-03-24 | 2024-10-22 | Intel Corporation | Platform hardening for bootloaders via reference firmware |
US11809564B2 (en) * | 2021-10-22 | 2023-11-07 | Dell Products, L.P. | Secure importation of cryptographic credentials to an information handling system |
CN119377920A (zh) * | 2024-12-23 | 2025-01-28 | 湖北芯擎科技有限公司 | Hsm固件的防逆向和滥用方法、装置、设备及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101578609A (zh) * | 2007-01-07 | 2009-11-11 | 苹果公司 | 安全启动计算设备 |
CN102436566A (zh) * | 2012-01-12 | 2012-05-02 | 冶金自动化研究设计院 | 一种动态可信度量方法及安全嵌入式系统 |
CN103856322A (zh) * | 2012-11-28 | 2014-06-11 | 英飞凌科技股份有限公司 | 用于将为设备设计的嵌入代码和/或数据安全传送至客户的方法及系统 |
EP2911080A1 (de) * | 2014-02-24 | 2015-08-26 | Fraunhofer-ges. zur Förderung der Angewandten Forschung E.V. | Verfahren und Vorrichtung zum sicheren Initialisieren eines Computers |
CN104951316A (zh) * | 2014-03-25 | 2015-09-30 | 华为技术有限公司 | 一种内核可信启动方法和装置 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6564326B2 (en) * | 1999-07-06 | 2003-05-13 | Walter A. Helbig, Sr. | Method and apparatus for enhancing computer system security |
US7095858B2 (en) * | 2001-05-10 | 2006-08-22 | Ranco Incorporated Of Delaware | System and method for securely upgrading firmware |
US20050021968A1 (en) * | 2003-06-25 | 2005-01-27 | Zimmer Vincent J. | Method for performing a trusted firmware/bios update |
US20060059372A1 (en) | 2004-09-10 | 2006-03-16 | International Business Machines Corporation | Integrated circuit chip for encryption and decryption having a secure mechanism for programming on-chip hardware |
KR100792287B1 (ko) * | 2006-07-27 | 2008-01-07 | 삼성전자주식회사 | 자체 생성한 암호화키를 이용한 보안방법 및 이를 적용한보안장치 |
CA2700994A1 (en) * | 2007-10-04 | 2009-04-09 | Memory Experts International Inc. | A method of providing firmware to a processor-based electronic device |
US8972746B2 (en) * | 2010-12-17 | 2015-03-03 | Intel Corporation | Technique for supporting multiple secure enclaves |
US8843764B2 (en) * | 2011-07-15 | 2014-09-23 | Cavium, Inc. | Secure software and hardware association technique |
EP2742453B1 (en) * | 2011-08-12 | 2020-01-08 | ABB Schweiz AG | Method and system for protected transmission of files |
US8873747B2 (en) | 2012-09-25 | 2014-10-28 | Apple Inc. | Key management using security enclave processor |
US9418229B2 (en) * | 2013-10-28 | 2016-08-16 | Disney Enterprises, Inc. | Firmware security |
EP2884417B1 (de) * | 2013-12-10 | 2019-09-04 | Wincor Nixdorf International GmbH | Verfahren zur Abwehr von Cold-Boot Angriffen auf einen Computer in einem Selbstbedienungs-Terminal |
US9430658B2 (en) * | 2014-12-16 | 2016-08-30 | Freescale Semiconductor, Inc. | Systems and methods for secure provisioning of production electronic circuits |
US9710651B2 (en) * | 2015-04-10 | 2017-07-18 | Vixs Systems Inc. | Secure processor for SoC initialization |
US10248791B2 (en) * | 2015-07-20 | 2019-04-02 | Intel Corporation | Technologies for secure hardware and software attestation for trusted I/O |
US9779248B1 (en) * | 2016-03-30 | 2017-10-03 | Microsoft Technology Licensing, Llc | Protection of secured boot secrets for operating system reboot |
WO2018053855A1 (en) | 2016-09-26 | 2018-03-29 | Mcafee, Inc. | Enhanced secure boot |
-
2016
- 2016-09-26 WO PCT/CN2016/100172 patent/WO2018053855A1/en active Application Filing
- 2016-09-26 CN CN201680091114.9A patent/CN109983465B/zh active Active
- 2016-09-26 US US16/336,422 patent/US10885199B2/en active Active
-
2021
- 2021-01-04 US US17/140,801 patent/US11354417B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101578609A (zh) * | 2007-01-07 | 2009-11-11 | 苹果公司 | 安全启动计算设备 |
CN102436566A (zh) * | 2012-01-12 | 2012-05-02 | 冶金自动化研究设计院 | 一种动态可信度量方法及安全嵌入式系统 |
CN103856322A (zh) * | 2012-11-28 | 2014-06-11 | 英飞凌科技股份有限公司 | 用于将为设备设计的嵌入代码和/或数据安全传送至客户的方法及系统 |
EP2911080A1 (de) * | 2014-02-24 | 2015-08-26 | Fraunhofer-ges. zur Förderung der Angewandten Forschung E.V. | Verfahren und Vorrichtung zum sicheren Initialisieren eines Computers |
CN104951316A (zh) * | 2014-03-25 | 2015-09-30 | 华为技术有限公司 | 一种内核可信启动方法和装置 |
Non-Patent Citations (3)
Title |
---|
基于CK-Core的安全芯片Bootloader开发与应用;张锋等;《信息科技》;20131115;全文 * |
基于可信根的嵌入式终端安全性研究;秦坤文;《信息科技》;20150115;全文 * |
嵌入式终端可信计算环境的关键技术;王震宇等;《信息科技》;20081120;全文 * |
Also Published As
Publication number | Publication date |
---|---|
WO2018053855A1 (en) | 2018-03-29 |
US20190370470A1 (en) | 2019-12-05 |
US20210124829A1 (en) | 2021-04-29 |
CN109983465A (zh) | 2019-07-05 |
US10885199B2 (en) | 2021-01-05 |
US11354417B2 (en) | 2022-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11354417B2 (en) | Enhanced secure boot | |
US8832457B2 (en) | Methods and apparatus for authenticating components of processing systems | |
EP1944712B1 (en) | Methods and apparatus for protecting data | |
EP3125149B1 (en) | Systems and methods for securely booting a computer with a trusted processing module | |
CN106537407B (zh) | 可信根 | |
US7421588B2 (en) | Apparatus, system, and method for sealing a data repository to a trusted computing platform | |
US8478973B2 (en) | System and method for providing a secure application fragmentation environment | |
US8332604B2 (en) | Methods to securely bind an encryption key to a storage device | |
CN105205401B (zh) | 基于安全密码芯片的可信计算机系统及其可信引导方法 | |
US20090063108A1 (en) | Compatible trust in a computing device | |
US20110093693A1 (en) | Binding a cryptographic module to a platform | |
US20080235754A1 (en) | Methods and apparatus for enforcing launch policies in processing systems | |
US20130145139A1 (en) | Regulating access using information regarding a host machine of a portable storage drive | |
US11068599B2 (en) | Secure initialization using embedded controller (EC) root of trust | |
JP2008052704A (ja) | コンピュータおよび共有パスワードの管理方法 | |
WO2020076408A2 (en) | Trusted booting by hardware root of trust (hrot) device | |
CN104221027A (zh) | 硬件和软件关联和认证 | |
US12105806B2 (en) | Securing communications with security processors using platform keys | |
US10853086B2 (en) | Information handling systems and related methods for establishing trust between boot firmware and applications based on user physical presence verification | |
US11960737B2 (en) | Self-deploying encrypted hard disk, deployment method thereof, self-deploying encrypted hard disk system and boot method thereof | |
Regenscheid | BIOS protection guidelines for servers | |
CN116956267A (zh) | 平台证书的基于管理控制器的验证 | |
CN113454624A (zh) | 网络凭据的存储 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |