CN104995627A - 片上系统设备中的密钥撤消 - Google Patents

片上系统设备中的密钥撤消 Download PDF

Info

Publication number
CN104995627A
CN104995627A CN201380073106.8A CN201380073106A CN104995627A CN 104995627 A CN104995627 A CN 104995627A CN 201380073106 A CN201380073106 A CN 201380073106A CN 104995627 A CN104995627 A CN 104995627A
Authority
CN
China
Prior art keywords
oem
memory device
key certificate
soc
security engine
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.)
Granted
Application number
CN201380073106.8A
Other languages
English (en)
Other versions
CN104995627B (zh
Inventor
M·E·巴列斯特罗斯
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 CN104995627A publication Critical patent/CN104995627A/zh
Application granted granted Critical
Publication of CN104995627B publication Critical patent/CN104995627B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0877Generation of secret information including derivation or calculation of cryptographic keys or passwords using additional device, e.g. trusted platform module [TPM], smartcard, USB or hardware security module [HSM]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • Stored Programmes (AREA)

Abstract

描述了涉及片上系统(也被称为SOC或SoC)设备中的密钥撤消的方法和装置。在实施例中,存储设备存储原始设备制造商(OEM)的标识符以及与所述OEM相对应的密钥版本信息。响应于确定第一OEM密钥已经被第二OEM密钥替换,所述存储设备的至少一部分由安全引擎来进行更新。还要求并且描述了其他实施例。

Description

片上系统设备中的密钥撤消
技术领域
本公开总体上涉及计算领域。更具体地,本发明的实施例总体上涉及片上系统(也被称为SOC或SoC)设备中的密钥撤消。
背景技术
对移动设备而言,安全启动是重要的过程以确保仅仅授权固件和/或软件被加载在平台上。为了支持安全启动,可以使用加密。这样的加密可以依赖于原始设备制造商(OEM)提供的公钥。然而,如果与该公钥相关联的OEM的私钥受到损坏,则可能会失去对平台的控制。同样,移动设备上的存储空间可能是有限的,这继而限制可以存储在该移动设备上的公钥的数量。因此,实现在移动平台上的安全启动,需要更多的灵活性。
附图说明
参照附图提供了具体实施方式。在图中,附图标记的最左侧数位标识在其中该附图标记首次出现的图。在不同的图中使用相同的附图标记指示类似或相同的项。
图1示出了根据实施例的SOC的部件的框图;
图2示出了在一些实施例中密钥证书如何起作用的更详细的视图的框图;
图3示出了根据实施例的密钥证书的结构。
图4示出了根据实施例的提供片上系统设备中的密钥撤消的方法的流程图。
图5和图6示出了可以被利用来实现本文讨论的一些实施例的计算系统的实施例的框图。
具体实施方式
在以下描述中,阐述了大量的具体细节,以便提供对各种实施例的充分理解。然而,可以在没有这些具体细节的情况下来实践本发明的各种实施例。在其他实例中,没有详细描述公知的方法、程序、部件以及电路,以便不使本发明的特定实施例难以理解。此外,可以使用各种手段(例如,集成半导体电路(“硬件”)、组织在一个或多个程序中的计算机可读指令(“软件”)、或者硬件和软件的某种组合)来执行本发明的实施例的各种方面。出于本公开的目的,提到的“逻辑”是要表示硬件、软件、固件(FM)、或其某种组合。
一些实施例允许片上系统(也称为SOC或SoC)设备中的(例如,OEM)密钥撤消。例如,各种实施例提供了以下内容:(1)使存储OEM(原始设备制造商)密钥所需要的熔断器的数量最小化,例如,同时支持任何数量的OEM密钥;和/或(2)管理OEM密钥的机制(例如,通过撤消和/或恢复)。
一般地,安全启动对于移动设备(例如,电话、平板、UMPC(超便携个人计算机)、膝上计算机、超级本等)而言是重要的过程,其用于确保仅在平台上加载授权的固件和/或软件(例如,每OEM需求(例如,经由BIOS(基本输入输出系统)和/或OS(操作系统))。为了支持安全启动,可以使用加密。这样的加密可以依赖于由OEM提供的一个或多个公钥。例如,为了支持安全启动,SOC制造商可以通过使用非对称加密(例如,RSA(Rivest、Shamir、以及Adleman)数字签名验证)经由UEFI(统一可扩展固件接口)安全级部件(在UEFI上下文中)或传统BIOS中的启动块,来对BIOS的第一级进行验证,由此锚定启动过程。由此,在启动过程的不同启动阶段中并且一直到主OS,信任链可以由BIOS使用来加载控制并且将控制传送到相关部件。
此外,一些SOC制造商可以使用熔断器(例如,现场可编程熔断器(FPF))来存储公钥,所述公钥由OEM选择/生成,以对在启动过程中锚定信任链的第一BIOS块进行验证。通常,OEM公钥(或利用熔断器的一部分的公钥的散列)在OEM制造时间而不是在SOC制造时间被编程,以允许OEM决定将何种密钥用于其设备,直到这些密钥准备就绪为止,并且这便于SOC供应商便于进行SOC SKU管理。随后安全引擎(其可以存在于SOC上,例如,其可以包括自有的/专用的处理器核心或协处理器)使用存储在SOC上(或对SOC可用)的OEM公钥(或散列)来对OEM BIOS的第一级的完整性和真实性进行验证。
然而,对于这样的方案,存在至少两个挑战:(1)熔断器的数量可能受到限制(例如,有时在SOC中可用的熔断器少于1k),因此仅可以存储一个或最多两个密钥(其中,每一个密钥散列为32字节=256位=256个熔断器),而保留空间以用于SOC制造商的其他用途。这有时不能给予OEM在它们的产品中利用比一个或两个更多的密钥的灵活性;以及(2)OEM可能需要密钥撤消机制,使得在暴露了OEM私钥的不可能事件中,OEM可以通过撤消损坏的密钥来重新获得对平台的控制并且引入新的密钥。如果这些问题不被解决,则可能会失去对平台的控制。此外,用来对OEM密钥证书的签名进行验证的SOC制造商公钥可以存储在安全引擎能够访问的ROM(只读存储器)中或存储在仅有安全引擎可以访问的SOC熔断器中,以确保密钥值的完整性,并且该SOC制造商的公钥在SOC制造时间被供应。
为了这个目的,一些实施例提供了以下内容:(1)使存储OEM(原始设备制造商)密钥所需要的熔断器的数量最小化,例如,同时支持任何数量的OEM密钥;以及(2)管理OEM的机制(例如,通过撤消和/或恢复)。这样的实施例不仅为OEM提供了部署各种密钥的灵活性,而且还在OEM密钥的一个或多个受到损坏的情况下提供了密钥撤消和恢复机制。
图1示出了根据实施例的SOC的部件的框图。如图1所示,SOC 100包括安全引擎102、SOC制造商熔断器104、FPF 106、一个或多个处理器核心108(例如,参照图5-6所讨论的那些)、存储器110(例如,一个或多个存储设备,例如,如参照图5-6所讨论的那些)。SOC 100可以耦合到SPI(串行外围接口)闪存或任何其他非易失性存储设备,例如移动设备112中的eMMC 112(嵌入式多媒体卡)。在实施例中,密钥证书可以驻留在安全引擎能够访问的任何NV(非易失性)存储器上,例如,在启动时间(其中存储设备可以是SPI闪存、eMMC、UFS(通用闪速存储装置)或其他)。依次地,FPF 106包括熔断器集合114。此外,SOC 100可以包括其他部件,例如,参照图5和/或6的系统所讨论的部件中的一个或多个。
如图1所示,熔断器104可以存储SOC制造商的公钥散列。此外,可以将FPF 106组织为熔断器集合。此外,熔断器集合112可以包括如图1所示的,以及如下文进一步讨论的熔断器集合类型和熔断器集合标识符(其中“FS”指代熔断器类型,“CERT”指代证书版本,“UNIT8”指代8位的无符号整数,并且“UNIT16”指代16位的无符号整数。
如上文讨论的,一些实施例提供了以下内容:(1)使存储OEM(原始设备制造商)密钥所需要的熔断器的数量最小化,例如,同时支持任何数量的OEM密钥;和/或(2)管理OEM密钥的机制(例如,通过撤消和/或恢复)。为了实现上述两个目标,使用如下的间接技术:(1)两个FPF熔断器集合;(2)OEM密钥绑定到OEM平台和验证;和/或(3)OEM密钥撤消/恢复机制。通常,间接技术指在两个部分之间增加可以提供额外的控制/功能的层的技术。在这种情况下,该层提供了熔断器的节约以及简单的密钥撤消方案。
两个FPF熔断器集合包括:(1)用于存储OEM ID(例如,最少8位)的一个静态熔断器集合(能够被写入一次),其中,该静态熔断器集合被用于将OEM密钥绑定到OEM平台;(2)用于存储版本信息(例如,最少8位)的一个动态/可更新的熔断器集合(能够被写入多于一次),其中,该熔断器集合被用于管理OEM密钥集合;(3)将上文所述的16个静态和动态熔断器(用于管理OEM密钥)与用于存储单个密钥的256个熔断器进行比较;和/或(4)可选地,可以引入另一静态熔断器集合以向使用同一SOC的OEM产品提供SKU(库存单元)识别。
OEM密钥绑定到OEM平台和验证包括:(1)SOC制造商将OEM标识符分配给它的OEM客户/合作商;(2)每一个OEM将它们各自的OEM标识符(ID)烧入FPF(例如,OEM ID的静态熔断器集合)中;(3)SOC制造商对每OEM的OEM数字证书进行签名,所述OEM数字证书将所选择的OEM密钥绑定到其特定的OEM ID(其中,OEM密钥证书包含:OEM将使用其来对BIOS/OS/调制解调器固件进行签名的任何数量的密钥、单调的版本计数器(例如,取决于实施方式,初始设置为1)、可选的SKU ID,在OEM想要单独管理SKU的情况下);(4)OEM包括它们的SOC制造商的签名的OEM密钥证书以及它们的固件/BIOS映像使用来自被包括的OEM密钥证书的特定密钥来对自己进行签名;(5)SOC安全引擎102验证:OEM密钥证书的签名(例如,由SOC制造商进行签名的证书);(6)OEM密钥证书的版本,例如,以保证密钥还没有被撤消;和/或(7)使用OEM密钥证书内的指定密钥的OEM固件/软件映像。
OEM密钥撤消/恢复机制包括:(1)SOC安全引擎102跟踪FPF(动态熔断器集合)中的OEM密钥证书版本;(2)当SOC安全引擎102在非易失性存储闪存设备112中发现更高/更新的OEM密钥证书版本时,SOC安全引擎102更新针对OEM密钥证书版本的FPF动态熔断器集合(继而,迫使密钥撤消并且防止OEM密钥证书版本回退);以及(3)如果OEM需要撤消任何或全部先前的密钥,则要求新的OEM密钥证书由SOC制造商来进行签名,例如,在所述新的OEM密钥证书中只包括期望的密钥,并且OEM密钥证书版本被递增/更新以撤消先前的OEM密钥证书(以及密钥)。
在实施例中,SOC制造商针对它的OEM来对该OEM密钥证书进行签名。用于对OEM密钥证书的签名进行验证的SOC制造商的公钥可以存储在ROM中(例如,通过安全引擎102)或在熔断器104中,以确保密钥值的完整性,所述SOC制造商的公钥随后在SOC制造时间供应。
图2示出了在一些实施例中OEM密钥证书202如何起作用的更详细的视图的框图,其中,证书提供了更大数量的OEM密钥,以及撤消机制。
如图2所示(以及参照图1所讨论的),SOC 100包括熔断器104(其可以包括SOC密钥)以及FPF 106(其存储证书版本以及OEM ID)。SPI闪存112存储OEM清单(包括签名),该OEM清单链接和选择、以及指向所示的OEM密钥证书202(例如,头部、公钥散列)。同样,OEM密钥证书的签名部分由熔断器104进行控制,并且OEM密钥证书的头部部分经由FPF熔断器106的所示出的部分来进行跟踪并且绑定到平台。此外,例如,证书版本熔断器集合跟踪OEM密钥证书版本,其提供参照图1所讨论的用于密钥撤消的机制。同样,例如,如参照图1所讨论的,OEM ID熔断器集合将OEM清单和密钥证书绑定到OEM平台。
图3示出了根据实施例的图2的OEM密钥证书202的结构。如所示出的,OEM密钥证书202包括头部(其中,密钥集合版本允许密钥撤消,当新的版本仅列出授权的密钥并且安全引擎102将该版本保持在FPF中以防止回退,并且OEM ID(例如,在FPF熔断器中)将证书绑定到特定的OEM平台)、一个或多个OEM公钥、以及签名,OEM密钥证书202可以是不变的,并且由SOC制造商或OEM版本密钥进行签名(在OEM想要维护独立于SOC供应商的内部密钥层次的情况下),并且进行签名的密钥散列与在标准熔断器中的SOC制造商的签名的密钥或FPF中的OEM密钥散列进行匹配)。通常,OEM密钥证书202被所示的OEM清单引用。如图3中所示,头部的OEM ID部分指代OEM标识符,并且签名的SAID部分指代用来生成数字签名的签名算法。
图4示出了根据实施例的提供SOC设备中的密钥撤消的方法400。在一些实施例中,图1-3和/或6中的一个或多个部件执行图4的一个或多个操作。
参照图1-4,在操作402,将密钥证书信息(例如,如参照图1-3所讨论的)存储在存储设备(例如,参照图1-3所讨论的熔断器)中。在操作404,一旦基于版本信息(例如参照图1-3所讨论的)检测到新的密钥证书,则在操作406,对新的密钥证书进行验证(例如参照图1-3所讨论的)。在操作406,如果新的密钥证书不能被认证/验证(例如参照图1-3所讨论的),则方法400重新开始操作402。一旦新的密钥证书被验证,则利用新的密钥证书信息/版本(例如,如参照图1-3所讨论的)来对存储的密钥信息进行更新。
图5示出了计算系统500的实施例的框图。在各种实施例中,系统500的一个或多个部件可以在能够执行本文中参照本发明的一些实施例所讨论的一个或多个操作的各种电子设备中提供。例如,可以使用系统500的一个或多个部件来执行参照图1-4等所讨论的操作,例如通过根据本文所讨论的操作,来处理指令、执行子例程等。进一步地,系统500可以用于膝上型计算机、移动设备、超极本、平板计算机、智能电话等中。
同样,本文所讨论的各种存储设备(例如,参照图5和/或6)可以用于存储数据、操作结果等。在一个实施例中,通过网络503接收的(例如,经由网络接口设备530和/或630,和/或在图1-4的各种元件之间进行通信的)数据可以存储在处理器502(和/或图6的602和/或604)中存在的高速缓存(例如,实施例中的L1高速缓存)中。这些处理器随后可以执行本文中讨论的操作,以提供根据本发明的各种实施例的SOC设备中的密钥撤消。
更特别地,计算系统500可以包括经由互联网络(或总线)504进行通信的一个或多个中央处理单元(CPU)502或处理器。因此,在一些实施例中,本文讨论的各种操作可以由CPU执行。此外,处理器502可以包括通用处理器、网络处理器(其处理通过计算机网络503进行通信的数据)、或其他类型的处理器(包括精简指令集计算机(RISC)处理器或复杂指令集计算机(CISC))。此外,处理器502可以具有单个或多个核心设计。具有多个核心设计的处理器502可以将不同类型的处理器核心集成在同一集成电路(IC)管芯上。同样,具有多个核心设计的处理器502可以被实现为对称或非对称的多处理器。此外,参照图1-4所讨论的操作可以由系统500的一个或多个部件执行。
芯片组506还可以与互联网络504进行通信。芯片组506可以包括图形和存储器控制中心(GMCH)508。GMCH 508可以包括与存储器512进行通信的存储器控制器510。存储器512可以存储数据,包括由CPU 502或由包括在计算系统500中的任何其他设备执行的指令序列。进一步地,存储器512可以存储本文讨论的程序或算法中的一个或多个,例如,编译器513、与可执行体相对应的指令、位置数据等。这些数据(包括指令)的一些或至少一部分可以被存储在磁盘驱动器528中和/或处理器502内的一个或多个高速缓存中。在本发明的一个实施例中,存储器512可以包括一个或多个易失性存储(或存储器)设备,例如,随机存取存储器(RAM)、动态RAM(RAM)、同步DRAM(SDRAM)、静态RAM(SRAM)、或其他类型的存储设备。也可以利用诸如硬盘等的非易失性存储器。额外的设备可以经由互联网络504进行通信,所述额外的设备例如是多个CPU和/或多个系统存储器。
GMCH 508还可以包括与显示器516进行通信的图形接口514。在本发明的一个实施例中,图形接口514可以经由加速图形端口(AGP)与显示器516进行通信。在本发明的实施例中,显示器516可以是通过例如信号转换器与图形接口514进行通信的平板显示器,所述信号转换器将存储在诸如视频存储器或系统存储器等的存储设备中的图像的数字表示转换为由显示器516解释并且显示的显示信号。在由显示器516进行解释并且随后被显示在显示器516上之前,由接口514产生的显示信号可以通过各种控制设备。
中心接口518可以允许GMCH 508与输入/输出控制中心(ICH)520进行通信。ICH 520可以将接口提供给与计算系统500进行通信的I/O(输入/输出)设备。ICH 520可以通过外围桥接器或控制器524(例如,外围部件互联(PCI)桥接器、通用串行总线(USB)控制器、或其他类型的外围桥接器或控制器)来与总线522进行通信。桥接器524可以提供CPU 502与外围设备之间的数据路径。还可以利用其他类型的拓扑结构。同样,多个总线可以与ICH 520进行通信,例如,通过多个桥接器或控制器。此外,在本发明的各种实施例中,与ICH 520进行通信的其他外设可以包括集成式驱动器电子设备(IDE)或小型计算机系统接口(SCSI)硬驱动器、USB端口、键盘、鼠标、并行端口、串行端口、软盘驱动器、数字输出支持(例如,数字视频接口(DVI))、或其他设备。
总线522可以与音频设备526、一个或多个磁盘驱动器528、以及网络接口设备530进行通信,所述网络接口设备530可以与计算机网络503进行通信。在实施例中,设备530可以是能够进行无线通信的NIC。其他设备可以经由总线522进行通信。同样,在本发明的一些实施例中,各种部件(例如,网络接口设备530)可以与GMCH 508进行通信。此外,处理器502、GMCH 508、和/或图形接口514可以被组合以形成单个芯片。
此外,计算系统500可以包括易失性和/或非易失性存储器(或存储装置)。例如,非易失性存储器可以包括以下中的一个或多个:只读存储器(ROM)、可编程ROM(PROM)、可擦除PROM(EPROM)、电EPROM(EEPROM)、磁盘驱动器(例如528)、软盘、光盘ROM(CD-ROM)、数字多功能光盘(DVD)、闪速存储器、磁-光盘、或能够存储电子数据(例如,包括指令)的其他类型的非易失性机器可读介质。在实施例中,系统500的部件可以以点对点(PtP)的配置进行布置,如参照图6所讨论的。例如,处理器、存储器、和/或输入/输出设备可以由多个点对点接口进行互联。
更具体地,图6示出了根据本发明的实施例的以点对点(PtP)配置进行布置的计算系统600。特别地,图6示出了如下的系统,其中处理器、存储器、以及输入/输出设备由多个点对点接口进行互联。参照图1-5所讨论的操作可以由系统600的一个或多个部件执行。此外,系统600可以被用于膝上型计算机、移动设备、超极本、平板计算机、智能电话等中。
如在图6中示出的,系统600可以包括多个处理器,为清楚起见,仅示出了其中的两个,处理器602和604。处理器602和604的每一个可以包括与存储器610和612耦合的本地存储器控制器606和608。存储器610和/或612可以存储各种数据,例如,参照图5的存储器512所讨论的那些。
处理器602和604可以是任何合适的处理器,例如参照图6的处理器602所讨论的那些。处理器602和604可以分别使用PtP接口电路616和618,经由点对点(PtP)接口614来交换数据。处理器602和604的每一个可以使用点对点接口电路626、628、630、和632,经由单独的PtP接口622和624来与I/O子系统620交换数据。I/O子系统620也可以使用PtP接口电路637,经由高性能图形接口636与高性能图形电路634交换数据。
本发明的至少一个实施例可以通过利用处理器602和604来提供。例如,处理器602和/或604可以执行图1-5的操作中的一个或多个。然而,本发明的其他实施例可以存在于图6的系统600内的其他电路、逻辑单元或设备中。此外,本发明的其他实施例可以在图6中示出的多个电路、逻辑单元、或设备上分布。
可以使用PtP接口电路641将I/O子系统620耦合到总线640。总线640可以具有耦合到其的一个或多个设备,例如,总线桥接器642和I/O设备643。经由总线644,总线桥接器643可以耦合到其他设备,例如,键盘/鼠标645、参照图6所讨论的网络接口设备630(例如,调制解调器、网络接口卡(NIC)、或可以耦合到计算机网络503的类似设备)、音频I/O设备、和/或数据存储设备648。数据存储设备648可以存储能够由处理器602和/或604执行的代码649。
在本发明的各种实施例中,本文所讨论的操作(例如,参照图1-6)可以被实现为硬件(例如,逻辑电路)、软件、固件、或其组合,其可以被提供作为计算机程序产品,例如,包括其上存储有用于对计算机进行编程以执行本文讨论的过程的指令(或软件程序)的有形的(例如非暂时性的)机器可读或计算机可读介质。机器可读介质可以包括例如关于图1-6所讨论的那些存储设备(包括,例如ROM、RAM、闪速存储器、硬盘驱动器、固态驱动器等)。
此外,这样的机器可读介质可以被下载作为计算机程序产品,其中,该程序可以作为载波或其他传播介质中提供的数据信号,经由通信链路(例如,总线、调制解调器、或网络连接),从远程计算机(例如,服务器)被传送到进行请求的计算机(例如,客户端)。
说明书中提到的“一个实施例”或“实施例”表示结合该实施例描述的特定特征、结构、和/或特性可以被包括在至少一种实现中。在说明书中不同位置出现的短语“在一个实施例中”可以指代或可以不都指代同一个实施例。
此外,在描述说明书和权利要求中,可以使用术语“耦合”和“连接”,及其派生词。在本发明的一些实施例中,“连接”可以用于指示两个或更多元件彼此直接物理或电气接触。“耦合”可以表示两个或更多元件可以直接物理或电气接触。然而,“耦合”也可以指两个或更多元件可以不是彼此直接接触,但是仍然可以相互协作或交互。
此外,如在本申请和权利要求中所使用的,由术语“一个或多个”接合的一系列条目可以表示所列出的术语的任何组合。例如,短语“A、B或C中的一个或多个”可以表示A;B:C;A和B;A和C;B和C;或A、B和C。
以下示例涉及另外的实施例。示例1包括一种装置,包括:存储设备,其用于存储原始设备制造商(OEM)的标识符以及与所述OEM相对应的密钥版本信息,其中,响应于确定第一OEM密钥证书已经被第二OEM密钥证书替换,则所述存储设备的至少一部分由安全引擎进行更新。在示例2中,示例1的主题可以可选地包括一种装置,其中,所述存储设备包括以下中的一个或多个:存储所述OEM标识符的静态熔断器集合、存储所述版本信息的动态熔断器集合、或提供库存单元识别的静态熔断器集合。在示例3中,示例1的主题可以可选地包括一种装置,其中,在对所述存储设备的部分进行更新之前,所述安全引擎确定所述第二OEM密钥证书是否由片上系统(SOC)制造商进行签名。在示例4中,示例3的主题可以可选地包括一种装置,其中,所述安全引擎基于所述SOC制造商的公钥来对所述第二OEM密钥证书进行验证。在示例5中,示例1的主题可以可选地包括一种装置,其中,所述存储设备、所述安全引擎、以及一个或多个处理器核心位于单个集成电路设备上。在示例6中,示例1的主题可以可选地包括一种装置,其中,所述安全引擎基于存储在非易失性存储设备中的版本信息来确定所述第二OEM密钥证书的存在。在示例7中,示例6的主题可以可选地包括一种装置,其中,所述非易失性存储设备包括以下中的一个或多个:嵌入式多媒体卡(eMMC)、串行外围接口(SPI)闪存、或UFS(通用闪速存储装置)。在示例8中,示例6的主题可以可选地包括一种装置,其中,所述非易失性存储设备存储OEM清单以及OEM密钥证书。在示例9中,示例8的主题可以可选地包括一种装置,其中,所述OEM清单包括签名。在示例10中,示例8的主题可以可选地包括一种装置,其中,所述OEM密钥证书包括以下中的一个或多个:头部、一个或多个OEM公钥散列、或签名。在示例11中,示例10的主题可以可选地包括一种装置,其中,所述头部基于存储在所述存储设备中的OEM标识符而绑定到平台。在示例12中,示例1的主题可以可选地包括一种装置,其中,所述存储设备包括多个静态和动态熔断器。在示例13中,示例1的主题可以可选地包括一种装置,其中,所述存储设备被包括在SOC设备的内部或外部。
示例14包括一种方法,包括:将原始制造商(OEM)的标识符以及与所述OEM相对应的密钥版本信息存储在存储设备中,其中,响应于确定第一OEM密钥证书已经被第二OEM密钥证书替换,所述存储设备的至少一部分由安全引擎来进行更新。在示例15中,示例14的主题可以可选地包括一种方法,其还包括:在对所述存储设备的部分进行更新之前,所述安全引擎确定所述第二OEM密钥证书是否由片上系统(SOC)制造商进行签名。在示例16中,示例14的主题可以可选地包括一种方法,其还包括:所述安全引擎基于所述SOC制造商的公钥来对所述第二OEM密钥证书进行验证。在示例17中,示例14的主题可以可选地包括一种方法,其还包括:所述安全引擎基于存储在非易失性存储设备中的版本信息来确定所述第二OEM密钥证书的存在。在示例18中,示例17的主题可以可选地包括一种方法,其还包括:非易失性存储设备存储OEM清单以及OEM密钥证书。在示例19中,示例14的主题可以可选地包括一种方法,其中,所述存储设备包括多个静态和动态熔断器。
示例20包括一种系统,包括:耦合到存储设备的处理器;以及存储原始设备制造商(OEM)的标识符以及与所述OEM相对应的密钥版本信息的存储设备,其中,响应于确定第一OEM密钥证书已经被第二OEM密钥证书替换,所述存储设备的至少一部分由安全引擎来进行更新。在示例21中,示例20的主题可以可选地包括一种系统,其中,所述存储设备包括以下中的一个或多个:存储所述OEM标识符的静态熔断器集合、存储所述版本信息的动态熔断器集合、或提供库存单元识别的静态熔断器集合。在示例22中,示例20的主题可以可选地包括一种系统,其中,在对所述存储设备的部分进行更新之前,所述安全引擎确定所述第二OEM密钥证书是否由片上系统(SOC)制造商来进行签名。在示例23中,示例22的主题可以可选地包括一种系统,其中,所述安全引擎基于所述SOC制造商的公钥来对所述第二OEM密钥证书进行验证。在示例24中,示例20的主题可以可选地包括一种系统,其中,所述存储设备、所述安全引擎、以及所述处理器的一个或多个核心位于单个集成电路设备上。在示例25中,示例20的主题可以可选地包括一种系统,其中,所述安全引擎基于存储在非易失性存储设备中的版本信息来确定所述第二OEM密钥证书的存在。在示例26中,示例25的主题可以可选地包括一种系统,其中,所述非易失性存储设备包括以下中的一个或多个:嵌入式多媒体卡(eMMC)、串行外围接口(SPI)闪存、或UFS(通用闪速存储装置)。在示例27中,示例25的主题可以可选地包括一种系统,其中,所述非易失性存储设备存储OEM清单以及OEM密钥证书。在示例28中,示例27的主题可以可选地包括一种系统,其中,所述OEM清单包括签名。在示例29中,示例27的主题可以可选地包括一种系统,其中,所述OEM密钥证书包括以下中的一个或多个:头部、一个或多个OEM公钥散列、或签名。在示例30中,示例29的主题可以可选地包括一种系统,其中,所述头部基于存储在所述存储设备中的OEM标识符来绑定到平台。在示例31中,示例27的主题可以可选地包括一种系统,其中,所述OEM密钥包括以下中的一个或多个:头部、OEM公钥、或签名。在示例32中,示例20的主题可以可选地包括一种系统,其中,所述存储设备包括多个静态和动态熔断器。
示例33包括一种用于片上系统设备中的密钥撤消的装置,所述装置包括:用于将原始设备制造商(OEM)以及与所述OEM相对应的密钥版本信息存储在存储设备中的模块;以及用于响应于确定第一OEM密钥证书已经被第二OEM密钥证书替换,所述存储设备的至少一部分由安全引擎来进行更新的模块。在示例34中,示例33的主题可以可选地包括一种装置,所述装置进一步包括用于在对所述存储设备的部分进行更新之前,确定所述第二OEM密钥证书是否由片上系统(SOC)制造商来进行签名的模块。在示例35中,示例34的主题可以可选地包括一种装置,所述装置进一步包括用于基于所述SOC制造商的公钥来对所述第二OEM密钥证书进行验证的模块。在示例36中,示例33的主题可以可选地包括一种装置,所述装置进一步包括用于基于存储在非易失性存储设备中的版本信息来确定所述第二OEM密钥证书的存在的模块。在示例37中,示例36的主题可以可选地包括一种装置,所述装置进一步包括用于存储OEM清单和OEM密钥证书的模块。
示例38包括一种计算机可读介质,其包括一个或多个指令,当所述一个或多个指令在处理器上被执行时,将所述处理器配置为执行示例14至19中任何一个的一个或多个操作。
由此,尽管已经以特定于结构特征和/或方法行为的语言描述了本发明的实施例,应该理解的是,要求保护的主题可以不被限制为所描述的具体特征或行为。确切地说,这些具体特征和行为被公开作为实现要求保护的主题的样本形式。

Claims (25)

1.一种装置,包括:
存储设备,所述存储设备存储原始设备制造商(OEM)的标识符以及与所述OEM相对应的密钥版本信息,
其中,响应于确定第一OEM密钥证书已经被第二OEM密钥证书替换,所述存储设备的至少一部分被安全引擎进行更新。
2.根据权利要求1所述的装置,其中,所述存储设备包括以下中的一个或多个:存储所述OEM的标识符的静态熔断器集合、存储所述版本信息的动态熔断器集合、或提供库存单元识别的静态熔断器集合。
3.根据权利要求1所述的装置,其中,在对所述存储设备的部分进行更新之前,所述安全引擎确定所述第二OEM密钥证书是否被片上系统(SOC)制造商进行签名。
4.根据权利要求3所述的装置,其中,所述安全引擎基于所述SOC制造商的公钥来对所述第二OEM密钥证书进行验证。
5.根据权利要求1所述的装置,其中,所述存储设备、所述安全引擎、以及一个或多个处理器核心位于单个集成电路设备上。
6.根据权利要求1所述的装置,其中,所述安全引擎基于存储在非易失性存储设备中的版本信息来确定所述第二OEM密钥证书的存在。
7.根据权利要求6所述的装置,其中,所述非易失性存储设备包括以下中的一个或多个:嵌入式多媒体卡(eMMC)、串行外围接口(SPI)闪存、或UFS(通用闪速存储装置)。
8.根据权利要求6所述的装置,其中,所述非易失性存储设备存储OEM清单以及OEM密钥证书。
9.根据权利要求8所述的装置,其中,所述OEM清单包括签名。
10.根据权利要求8所述的装置,其中,所述OEM密钥证书包括以下中的一个或多个:头部、一个或多个OEM公钥散列、或签名。
11.根据权利要求10所述的装置,其中,所述头部基于存储在所述存储设备中的OEM标识符来绑定到平台。
12.根据权利要求1所述的装置,其中,所述存储设备包括多个静态熔断器和动态熔断器。
13.根据权利要求1所述的装置,其中,所述存储设备被包括在SOC设备的内部或外部。
14.一种方法,包括:
将原始设备制造商(OEM)的标识符以及与所述OEM相对应的密钥版本信息存储在存储设备中,
其中,响应于确定第一OEM密钥证书已经被第二OEM密钥证书替换,所述存储设备的至少一部分被安全引擎进行更新。
15.根据权利要求14所述的方法,其还包括:所述安全引擎在对所述存储设备的部分进行更新之前,确定所述第二OEM证书是否被片上系统(SOC)制造商进行签名。
16.根据权利要求15所述的方法,其还包括:所述安全引擎基于所述SOC制造商的公钥来对所述第二OEM密钥证书进行验证。
17.根据权利要求14所述的方法,其还包括:所述安全引擎基于存储在非易失性存储设备中的版本信息来确定所述第二OEM密钥证书的存在。
18.根据权利要求17所述的方法,其还包括:所述非易失性存储设备存储OEM清单以及OEM密钥证书。
19.根据权利要求14所述的方法,其中,所述存储设备包括多个静态熔断器和动态熔断器。
20.一种包括一个或多个指令的计算机可读介质,当所述一个或多个指令在处理器上被执行时,将所述处理器配置为执行权利要求14至19中的任一项所述的一个或多个操作。
21.一种用于片上系统设备中的密钥撤消的装置,所述装置包括:
用于将原始设备制造商(OEM)的标识符以及与所述OEM相对应的密钥版本信息存储在存储设备中的单元;以及
用于响应于确定第一OEM密钥证书已经被第二OEM密钥证书替换,通过安全引擎来对所述存储设备的至少一部分进行更新的单元。
22.根据权利要求21所述的装置,其还包括用于在对所述存储设备的部分进行更新之前,确定所述第二OEM密钥证书是否被片上系统(SOC)制造商进行签名的单元。
23.根据权利要求22所述的装置,其还包括用于基于所述SOC制造商的公钥来对所述第二OEM密钥证书进行验证的单元。
24.根据权利要求21所述的装置,其还包括用于基于存储在非易失性存储设备中的版本信息来确定所述第二OEM密钥证书的存在的单元。
25.根据权利要求24所述的装置,其还包括用于存储OEM清单和OEM密钥证书的单元。
CN201380073106.8A 2013-03-15 2013-03-15 片上系统设备中的密钥撤消 Expired - Fee Related CN104995627B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2013/032305 WO2014143009A1 (en) 2013-03-15 2013-03-15 Key revocation in system on chip devices

Publications (2)

Publication Number Publication Date
CN104995627A true CN104995627A (zh) 2015-10-21
CN104995627B CN104995627B (zh) 2018-04-27

Family

ID=51537364

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380073106.8A Expired - Fee Related CN104995627B (zh) 2013-03-15 2013-03-15 片上系统设备中的密钥撤消

Country Status (5)

Country Link
US (1) US9479332B2 (zh)
EP (1) EP2973156B1 (zh)
KR (1) KR101687277B1 (zh)
CN (1) CN104995627B (zh)
WO (1) WO2014143009A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107330333A (zh) * 2017-06-06 2017-11-07 百富计算机技术(深圳)有限公司 保证pos机固件安全的方法及装置

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9189225B2 (en) 2012-10-16 2015-11-17 Imprivata, Inc. Secure, non-disruptive firmware updating
US9319224B2 (en) * 2013-09-27 2016-04-19 Intel Corporation Public key infrastructure for system-on-chip
WO2016007785A1 (en) * 2014-07-11 2016-01-14 Cryptography Research, Inc. Secure data provisioning
US9537662B2 (en) 2014-10-08 2017-01-03 Google Inc. Certificates for low-power or low-memory devices
US9444631B2 (en) * 2014-10-08 2016-09-13 Google Inc. Certificates for low-power or low-memory devices
US10785578B2 (en) 2014-12-12 2020-09-22 Gn Hearing A/S Hearing device with service mode and related method
US9525555B2 (en) * 2014-12-18 2016-12-20 Intel Corporation Partitioning access to system resources
US9674162B1 (en) 2015-03-13 2017-06-06 Amazon Technologies, Inc. Updating encrypted cryptographic key pair
US9893885B1 (en) 2015-03-13 2018-02-13 Amazon Technologies, Inc. Updating cryptographic key pair
US10003467B1 (en) * 2015-03-30 2018-06-19 Amazon Technologies, Inc. Controlling digital certificate use
US9479340B1 (en) 2015-03-30 2016-10-25 Amazon Technologies, Inc. Controlling use of encryption keys
US10158955B2 (en) 2015-07-02 2018-12-18 Gn Hearing A/S Rights management in a hearing device
US10158953B2 (en) 2015-07-02 2018-12-18 Gn Hearing A/S Hearing device and method of updating a hearing device
US10318720B2 (en) 2015-07-02 2019-06-11 Gn Hearing A/S Hearing device with communication logging and related method
US10104522B2 (en) * 2015-07-02 2018-10-16 Gn Hearing A/S Hearing device and method of hearing device communication
US9887848B2 (en) 2015-07-02 2018-02-06 Gn Hearing A/S Client device with certificate and related method
US9877123B2 (en) 2015-07-02 2018-01-23 Gn Hearing A/S Method of manufacturing a hearing device and hearing device with certificate
EP3113516B1 (en) * 2015-07-02 2023-05-31 GN Hearing A/S Hearing device and method of updating security settings of a hearing device
DK201570436A1 (en) * 2015-07-02 2017-01-23 Gn Hearing As Hearing device and method of updating a hearing device
DK201570433A1 (en) 2015-07-02 2017-01-30 Gn Hearing As Hearing device with model control and associated methods
US9995789B2 (en) * 2015-12-22 2018-06-12 Intel IP Corporation Secure remote debugging of SoCs
US10855462B2 (en) * 2016-06-14 2020-12-01 Honeywell International Inc. Secure in-band upgrade using key revocation lists and certificate-less asymmetric tertiary key pairs
US10587421B2 (en) 2017-01-12 2020-03-10 Honeywell International Inc. Techniques for genuine device assurance by establishing identity and trust using certificates
US10956615B2 (en) * 2017-02-17 2021-03-23 Microsoft Technology Licensing, Llc Securely defining operating system composition without multiple authoring
EP3382590B1 (en) * 2017-03-31 2019-10-16 OMRON Corporation Method for initializing a computerized system and computerized system against rollback attacks
US10831897B2 (en) * 2017-07-14 2020-11-10 Dell Products, L.P. Selective enforcement of secure boot database entries in an information handling system
WO2019081057A1 (en) 2017-10-27 2019-05-02 Giesecke+Devrient Mobile Security Gmbh RULE MEMORY
KR102256249B1 (ko) * 2018-08-16 2021-05-26 경희대학교 산학협력단 통합 보안 SoC를 이용한 IoT 디바이스의 안전한 펌웨어 업데이트 방법
US11409877B2 (en) * 2020-03-27 2022-08-09 Intel Corporation Firmware verification mechanism
CN113779652A (zh) * 2020-06-09 2021-12-10 华为技术有限公司 数据完整性保护的方法和装置
KR20220026079A (ko) 2020-08-25 2022-03-04 삼성전자주식회사 스토리지 장치
US11494330B2 (en) * 2021-06-22 2022-11-08 Intel Corporation Fuse recipe update mechanism
US11822668B2 (en) * 2021-07-12 2023-11-21 Dell Products, L.P. Systems and methods for authenticating configurations of an information handling system

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1901195A2 (en) * 2006-09-11 2008-03-19 Ricoh Company, Ltd. Unauthorized usage prevention system and information processing apparatus
US20080082828A1 (en) * 2006-09-29 2008-04-03 Infineon Technologies Ag Circuit arrangement and method for starting up a circuit arrangement
US20100185845A1 (en) * 2007-10-05 2010-07-22 Hisashi Takayama Secure boot terminal, secure boot method, secure boot program, recording medium, and integrated circuit
CN102027486A (zh) * 2008-05-13 2011-04-20 微软公司 用于数据访问的基于单元格的安全表示
CN102915414A (zh) * 2011-08-02 2013-02-06 中国银联股份有限公司 用于安全性信息交互的数据存储系统及方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6721817B1 (en) 1997-01-21 2004-04-13 Dell Usa, L.P. Original equipment manufacturer identification for configurable electronic hardware
US7802085B2 (en) 2004-02-18 2010-09-21 Intel Corporation Apparatus and method for distributing private keys to an entity with minimal secret, unique information
US7461268B2 (en) * 2004-07-15 2008-12-02 International Business Machines Corporation E-fuses for storing security version data
US20060107054A1 (en) * 2004-11-16 2006-05-18 Young David W Method, apparatus and system to authenticate chipset patches with cryptographic signatures
US7400252B2 (en) 2005-06-30 2008-07-15 Hewlett-Packard Development Company, L.P. Wireless monitoring of component compatibility in an electronics system
US9171165B2 (en) * 2009-12-23 2015-10-27 Intel Corporation Methods, systems, and apparatuses to facilitate configuration of a hardware device in a platform
US8484451B2 (en) * 2010-03-11 2013-07-09 St-Ericsson Sa Method and apparatus for software boot revocation
US8843764B2 (en) 2011-07-15 2014-09-23 Cavium, Inc. Secure software and hardware association technique

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1901195A2 (en) * 2006-09-11 2008-03-19 Ricoh Company, Ltd. Unauthorized usage prevention system and information processing apparatus
US20080082828A1 (en) * 2006-09-29 2008-04-03 Infineon Technologies Ag Circuit arrangement and method for starting up a circuit arrangement
US20100185845A1 (en) * 2007-10-05 2010-07-22 Hisashi Takayama Secure boot terminal, secure boot method, secure boot program, recording medium, and integrated circuit
CN102027486A (zh) * 2008-05-13 2011-04-20 微软公司 用于数据访问的基于单元格的安全表示
CN102915414A (zh) * 2011-08-02 2013-02-06 中国银联股份有限公司 用于安全性信息交互的数据存储系统及方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107330333A (zh) * 2017-06-06 2017-11-07 百富计算机技术(深圳)有限公司 保证pos机固件安全的方法及装置
WO2018223511A1 (zh) * 2017-06-06 2018-12-13 百富计算机技术(深圳)有限公司 保证 pos 机固件安全的方法及装置

Also Published As

Publication number Publication date
KR20150107826A (ko) 2015-09-23
US20140331064A1 (en) 2014-11-06
EP2973156A4 (en) 2016-10-05
US9479332B2 (en) 2016-10-25
WO2014143009A1 (en) 2014-09-18
CN104995627B (zh) 2018-04-27
KR101687277B1 (ko) 2016-12-16
EP2973156B1 (en) 2018-04-25
EP2973156A1 (en) 2016-01-20

Similar Documents

Publication Publication Date Title
CN104995627A (zh) 片上系统设备中的密钥撤消
KR101702289B1 (ko) 플랫폼 부트 펌웨어에 대한 신뢰의 연속성
KR101974188B1 (ko) Arm® trustzone™ 구현을 위한 펌웨어 기반 신뢰 플랫폼 모듈
US9525555B2 (en) Partitioning access to system resources
US9965270B2 (en) Updating computer firmware
US8863109B2 (en) Updating secure pre-boot firmware in a computing system in real-time
CN103080904B (zh) 提供多阶段锁步完整性报告机构
US20180330095A1 (en) Collated multi-image check in system-on-chips
US20210232691A1 (en) Automatically replacing versions of a key database for secure boots
CN105144185A (zh) 验证控制器代码和系统启动代码
WO2017133559A1 (zh) 安全启动方法及装置
US20140149730A1 (en) Systems and methods for enforcing secure boot credential isolation among multiple operating systems
US9659171B2 (en) Systems and methods for detecting tampering of an information handling system
TW201447903A (zh) 修復非依電性記憶體中受危害之系統資料之技術
US11909882B2 (en) Systems and methods to cryptographically verify an identity of an information handling system
CN111045743B (zh) 操作系统安全启动方法、管理方法、装置、设备
US11977640B2 (en) Systems and methods for authenticating the identity of an information handling system
EP3494482A1 (en) Systems and methods for storing administrator secrets in management controller-owned cryptoprocessor
US20230078138A1 (en) Computing systems employing measurement of boot components, such as prior to trusted platform module (tpm) availability, for enhanced boot security, and related methods
CN114647453B (zh) 多处理器的可信动态启动方法、系统、存储介质及终端
CN107360167B (zh) 一种认证方法及装置
US11843707B2 (en) Systems and methods for authenticating hardware of an information handling system

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20180427

Termination date: 20210315