CN112639783A - 同时的镜像测量和执行 - Google Patents

同时的镜像测量和执行 Download PDF

Info

Publication number
CN112639783A
CN112639783A CN201980056817.1A CN201980056817A CN112639783A CN 112639783 A CN112639783 A CN 112639783A CN 201980056817 A CN201980056817 A CN 201980056817A CN 112639783 A CN112639783 A CN 112639783A
Authority
CN
China
Prior art keywords
image
memory device
processing resource
measurement
executes instructions
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
CN201980056817.1A
Other languages
English (en)
Inventor
O·杜瓦尔
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.)
Micron Technology Inc
Original Assignee
Micron Technology Inc
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 Micron Technology Inc filed Critical Micron Technology Inc
Publication of CN112639783A publication Critical patent/CN112639783A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/4406Loading of operating system
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)

Abstract

与同时测量和执行镜像有关的设备和方法。用于同时测量和执行镜像的设备可包含存储器装置、第一处理资源和第二处理资源。第一处理资源可执行存储于所述存储器装置中的指令,以响应于测量镜像的第一部分而执行所述镜像的所述第一部分且响应于测量所述镜像的第二部分而执行所述镜像的所述第二部分。所述第二处理资源可执行存储于所述存储器装置中的指令以与由所述第一处理资源进行的所述镜像的所述第一部分的执行同时测量所述镜像的所述第一部分且测量所述镜像的所述第二部分。

Description

同时的镜像测量和执行
技术领域
本公开大体上涉及存储器,且更具体地说,涉及与当前测量和执行镜像相关联的设备和方法。
背景技术
存储器装置通常被提供为计算机或其它电子装置中的内部半导体集成电路。存在许多不同类型的存储器,包含易失性和非易失性存储器。易失性存储器可需要电力来维持其数据,且包含随机存取存储器(RAM)、动态随机存取存储器(DRAM)和同步动态随机存取存储器(SDRAM)等等。非易失性存储器可通过当未被供电时保持所存储的数据来提供永久数据,且可包含NAND快闪存储器、NOR快闪存储器、只读存储器(ROM)、电可擦除可编程ROM(EEPROM)、可擦除可编程ROM(EPROM)、铁电RAM(FeRAM),以及电阻可变存储器,例如相变随机存取存储器(PCRAM)、三维(3D)交叉点(例如,3D XPoint)、电阻性随机存取存储器(RRAM)和磁阻随机存取存储器(MRAM)等等。
还利用存储器作为易失性和非易失性数据存储装置以用于广泛范围的电子应用。非易失性存储器可用于例如个人计算机、便携式记忆棒、数码相机、蜂窝电话、便携式音乐播放器例如MP3播放器、影片播放器和其它电子装置。存储器单元可布置成阵列,其中所述阵列在存储器装置中使用。
各种计算***包含耦合到存储器(例如,存储器***)的许多处理资源,所述存储器与执行指令集(例如,程序、应用程序等)相关联地被存取。计算***可产生对应于应用程序的镜像。计算***也可执行作为镜像的部分的应用程序。应用程序可为例如操作***(OS)。操作***执行可在启动时间开始。可提供应用程序作为源代码。源代码可经编译以产生可执行文件。可部分地从一或多个可执行文件创建镜像。
附图说明
图1是说明根据现有技术的用于加载和执行镜像的方法的流程图。
图2是根据本公开的若干实施例的呈包含处理资源和存储器装置的计算***形式的设备的框图,所述计算***能够同时测量和执行镜像。
图3说明根据本公开的若干实施例的与用于同时测量和执行镜像的方法相关联的流程图。
图4说明根据本公开的若干实施例的与用于同时测量和执行镜像的方法相关联的流程图。
图5说明根据本公开的若干实施例的与产生镜像相关联的流程图。
图6是根据本公开的若干实施例的包括时序约束的地址空间的框图。
具体实施方式
本公开包含与镜像的同时测量和执行有关的设备和方法。实例设备可包含存储器装置和第一处理资源,所述第一处理资源响应于测量镜像的第一部分而执行镜像的第一部分且响应于测量镜像的第二部分而执行镜像的第二部分。实例设备还可包含第二处理资源,所述第二处理资源与第一处理资源对镜像的第一部分的执行同时地测量镜像所述第一部分且测量镜像的第二部分。
安全启动可包含使存储于存储器中的镜像与可用加密密钥验证的签名相关联。可评估所述签名以确定镜像是否已由受信任代理产生。如本文所使用,受信任代理是被授权产生镜像和/或在存储器中存储镜像的实体。受信任代理可包含计算***的经授权用户和/或经配置以产生镜像和/或在存储器中存储镜像的经授权计算机可读指令。
利用加密密钥和签名以确定镜像是否已由受信任代理产生的过程可称为测量。可测量所述镜像以确定镜像是否已由受信任代理产生。
测量镜像可能延迟启动时间。所述延迟在时间关键应用程序中可能超过容限阈值。时间关键应用程序可包含例如在汽车中操作的应用程序。汽车应用程序可为时间关键的,因为用以测量镜像的持续时间可对汽车的状态和/或在汽车中操作的应用程序具有影响。举例来说,测量镜像的延迟可对汽车具有负面影响。可通过认证镜像的一部分且循序地延行经认证部分来认证镜像。可循序地认证和执行镜像的部分以验证镜像的部分已由受信任代理产生。举例来说,镜像可从存储器复制到对应于处理资源的高速缓冲存储器。处理资源可从高速缓冲存储器检索镜像且循序地执行镜像的不同部分。
在若干实例中,可直接从存储器测量和执行镜像。举例来说,可直接从例如快闪存储器等非易失性存储器以及其它类型的非易失性存储器测量和执行镜像。从存储器测量和/或执行镜像可称为就地执行。换句话说,处理资源可从存储器执行镜像。直接从存储器执行镜像可包含避免在执行镜像之前复制镜像。举例来说,直接执行镜像可包含避免在从非易失性存储器执行镜像之前将镜像复制到易失性存储器。
就地执行的镜像也可经认证以执行镜像的安全执行。镜像可划分成若干部分。可在不同时间测量和执行镜像的部分而不会损害安全性。
举例来说,可在执行镜像的同时测量镜像。可在执行镜像的不同部分的同时测量镜像的部分。同时测量和执行镜像可减少运行应用程序的延迟。举例来说,同时测量和执行镜像可减少启动时间的延迟。
在本公开的以下详细描述中,参考形成本公开的一部分的附图,并且在附图中通过图示的方式示出可以如何实践本公开的多个实施例。足够详细地描述这些实施例以使得所属领域的一般技术人员能够实践本发明的实施例,且应理解,可利用其它实施例且可在不脱离本发明的范围的情况下进行过程、电气和/或结构性改变。
如本文中所使用,“若干”某物可指此类事物中的一或多个。举例来说,若干存储器装置可指一或多个存储器装置。“多个”某物意指两个或多于两个。另外,如本文中所使用的例如“N”的指定符,尤其相对于图式中的附图标记,指示如此指定的若干特定特征可与本公开的若干实施例一起包含。
本文中的图遵循编号惯例,其中第一数字对应于图号,且剩余的数字标识所述图式中的元件或组件。可通过使用类似数字来识别不同图之间的类似元件或组件。如应了解,可添加、交换和/或去除本文中的各种实施例中展示的元件,从而提供本公开的数个额外实施例。另外,图中所提供的元件的比例和相对比例既定说明本公开的各种实施例,并且不会以限制性意义来使用。
图1是说明用于加载和执行镜像的方法100的现有技术的流程图。在102,方法100包含对计算装置供电(例如,接通)。在104,所述方法包含起动一个板。板指代电路板。电路板是计算装置的组件。板可促进计算***的装置之间的通信。板也可对包括计算***的装置提供电力。板可促进通信,通过计算***的装置借以耦合的电连接来提供电力。起动电路板可包含向集成在电路板中的非易失性存储器(例如,快闪存储器)提供电力和向电路板的电连接/组件提供电力。起动电路板还可包含起动存储于非易失性存储器中的基本输入/输出***。起动电路板还可包含进行若干测试以确保***健康。初始化电路板可包含使用存储于非易失性存储器中的机器可读指令加载操作***。
在106,方法100包含加载完整镜像。在108,所述方法包含执行镜像。
对装置供电可包含向计算装置提供电力。在向计算装置提供电力之后可即刻起动板。在图1的实例中,加载镜像包含加载完整镜像。镜像可从非易失性存储器装置(例如,快闪或硬盘等等)加载到易失性存储器(例如,DRAM和/或SRAM等等)。加载可包含存储或复制镜像。加载完整镜像包含加载整个镜像而不对镜像做出更改和/或改变。在执行镜像之前加载镜像。举例来说,在执行完整镜像之前加载完整镜像。
加载镜像和执行镜像可在执行通电事件之后即刻完成的执行操作***(OS)的部分。图1示出启动序列,所述启动序列由于启动序列的不安全性质而不具有延迟。启动序列是不安全的,因为未测量镜像。
为了保证镜像安全,可创建镜像的签名;随后将镜像和其签名存储于存储器装置中。也可在执行镜像之前测量镜像。可在执行镜像之前验证镜像的完整性。验证镜像的内容在自从其签名产生时尚未经修改可称为测量镜像。可使用加密密钥创建签名。以加密密钥产生的签名可称为加密测量。因此,由于图1中的加密测量而未引入延迟,因为在图1中未执行加密测量。
加密测量可对镜像的执行引入延迟。举例来说,在108处运行镜像之前测量镜像可引入对应于用以测量镜像的持续时间的延迟。
图2是根据本公开的若干实施例的呈包含处理资源213、存储器装置215和单独处理资源217的计算***211的形式的设备的框图,所述计算***能够同时测量和执行镜像。计算***211包括主机209、存储器装置215和处理资源。主机包含处理资源213。存储器装置215包含处理资源217和阵列219。在一些实例中,处理资源217可为独立处理资源。举例来说,处理资源217可在存储器装置215的外部。
如本文所使用,“设备”可以指但不限于多种结构或结构的组合,例如电路或电路***、一或多个裸片、一或多个模块、一或多个装置或一或多个***。举例来说,主机209和/或存储器装置215可单独地称为“设备”。
存储器装置215可包括多个通道,所述多个通道各自具有与其对应的若干装置。所述装置可共同称为存储器装置215。装置215中的每一个可为例如包括多个存储体的“芯片”。控制器可服务于多个存储器通道,或控制器可被实施为多个单独控制器(例如,每一通道一个)。存储器装置215可为非易失性存储器装置或易失性存储器装置。易失性存储器可需要电力来维持其数据,且包含随机存取存储器(RAM)、动态随机存取存储器(DRAM)和同步动态随机存取存储器(SDRAM)等等。非易失性存储器可通过当未被供电时保持所存储的数据来提供永久数据,且可包含NAND快闪存储器、NOR快闪存储器、只读存储器(ROM)、电可擦除可编程ROM(EEPROM)、可擦除可编程ROM(EPROM)、铁电RAM(FeRAM),以及电阻可变存储器,例如相变随机存取存储器(PCRAM)、三维(3D)交叉点(例如,3D XPoint)、电阻性随机存取存储器(RRAM)和磁阻随机存取存储器(MRAM)等等。在加载镜像的实例中,镜像可从非易失性存储器加载到易失性存储器。在并不加载镜像的实例中,可直接从非易失性存储器执行镜像。
在此实例中,计算***包含耦合到控制器(例如,经由接口)的主机211,所述控制器耦合到存储器装置215(例如,经由接口205)。计算***211可为膝上型计算机、个人计算机、数码相机、数字记录和重放装置、移动电话、PDA、存储卡读卡器、接口集线器、传感器、具有物联网(IoT)功能的装置以及其它***,且主机209可包含能够存取存储器装置215(例如,经由控制器)的处理资源213(例如,一或多个处理器)。主机209可负责可(例如,经由控制器从存储器装置215)对其加载的OS和/或各种应用程序的执行。
存储器装置215通过控制器可从主机209接收存储器存取请求(例如,呈读取和写入命令的形式,分别可称为加载和存储命令)。控制器可通过接口205例如采用合适的协议在主机209与存储器装置215之间传送命令和/或数据,所述接口可包括例如总线的物理接口。此类协议可以是定制或专有的,或接口205可采用标准化协议,例如***组件互连高速(PCIe)、Gen-Z、CCIX等等。
作为实例,接口205可包括组合的地址、命令和数据总线或者用于相应地址、命令和数据信号的单独总线。控制器可包括呈硬件、固件或软件或此三者的任何组合的形式的控制电路。作为实例,控制器可包括状态机、定序器和/或某一其它类型的控制电路,其可以耦合到印刷电路板的专用集成电路(ASIC)的形式实施。在若干实施例中,控制器可与主机209位于同一位置(例如,芯片上***(SOC)配置)。并且,控制器可与存储器装置215位于同一位置。
存储器装置215可称为存储器***。存储器装置215可包含若干存储器装置,其可共同称为存储器装置215。存储器装置215可包含存储器单元的存储器阵列219。举例来说,存储器装置215可包括若干物理存储器“芯片”或裸片,其可各自包含若干存储器单元阵列(例如,存储体)和与存取阵列219(例如,从阵列读取数据和将数据写入到阵列)相关联的对应支持电路(例如,地址电路、I/O电路、控制电路、读取/写入电路等)。作为实例,存储器装置215可包含若干DRAM装置、SRAM装置、PCRAM装置、RRAM装置、FeRAM、相变存储器、3DXPoint和/或快闪存储器装置。在若干实施例中,存储器装置215可充当用于计算***的主存储器。
在一些实例中,处理资源213可包括中央处理单元(CPU)。CPU是主机209内的电子电路,其通过执行对应用程序特定的算术、逻辑控制和/或输入/输出(I/O)操作来执行应用程序的指令。应用程序可包含呈镜像形式的可执行计算机可读指令。
处理资源217可为例如密码处理器。在一些实例中,密码处理器可驻留于存储器装置215的外部。密码处理器可为执行加密操作的处理资源。在一些实例中,密码处理器可为执行加密操作的专用处理资源。在若干实例中,处理资源217可为除密码处理器外的处理资源,例如图形处理单元(GPU)以及其它类型的处理资源。
可执行加密操作以测量数据以便保证数据安全。加密操作可包含签名和签名验证操作。签名操作可利用算法和加密密钥对数据进行签名。签名验证操作可利用相似和加密密钥验证数据。用以对数据进行签名和验证数据的加密密钥可为不同的密钥。举例来说,可使用私钥对数据进行签名,同时可使用公钥验证数据。可使用例如椭圆曲线数字签名的算法对数据进行签名,其涉及数据的加密散列函数以及散列和私钥的椭圆函数。数据和其签名经组合和存储。同一数据可随后通过使用相似步骤但现在是通过公钥验证其签名来进行测量。如果签名验证成功,那么镜像可受信任。受信任镜像是由持有加密密钥的受信任代理产生的镜像。
在一些实例中,加密密钥可为对称密钥。对称密钥可用于加密和解密。对称加密密钥和对称解密密钥可为同一密钥,或可利用变换以从一个密钥产生另一密钥。
在一些实例中,处理资源可同时测量镜像和执行(例如,运行)镜像。举例来说,处理资源213可在处理资源217测量镜像的同时执行镜像。处理资源213可在处理资源217测量镜像的第二部分的同时执行镜像的第一部分。
在一些实例中,处理资源213可执行存储于存储器装置215(例如,阵列219)中的镜像。举例来说,处理资源213可执行镜像而不将镜像存储(例如,复制)到易失性存储器。镜像可复制到高速缓冲存储器221,所述高速缓冲存储器包含在处理资源213本地存储数据的硬件和/或软件装置。在一些实例中,镜像和/或镜像的部分也可复制到处理资源213的程序寄存器。存储于高速缓冲存储器221中的数据可为存储于阵列219中的数据的重复(例如,副本)。
在一些实例中,在镜像从易失性存储器复制到高速缓冲存储器221/处理资源213的程序寄存器之前,可将镜像从存储器装置215加载(例如,复制)到易失性存储器。处理资源213可执行存储于阵列219中的镜像,而不将对应于镜像的数据存储于除高速缓冲存储器221和/或程序寄存器外的非易失性存储器中。
图3说明根据本公开的若干实施例的与用于同时测量和执行镜像的方法相关联的流程图310。在一些实例中,可以是存储器装置的部分的第一处理资源可从作为主机的部分的第二处理资源接收指令。指令可请求认证和包括镜像的数据的递送。举例来说,请求可包含对包括镜像的数据的一部分的请求。在一些实例中,请求可包含对应于包括镜像的数据的所述部分的存储器地址。请求还可包含包括基本存储器地址的地址范围和界定对应于包括镜像的数据的部分的地址范围的存储器空间范围。
在312-1,第一处理资源(例如,图2中的处理资源217)可测量镜像的第一部分。第一处理资源可从第一处理资源本地的存储器阵列检索镜像。举例来说,包含于存储器装置215中的第一处理资源可从也包含于存储器装置中的存储器阵列检索包括镜像的第一部分的数据的第一部分。
第一处理资源可测量包括镜像的数据的第一部分。测量可基于由第一处理资源实施的认证方案验证镜像是真实的。第一处理资源可用测量的结果响应第二处理资源。
第二处理资源可确定是否加载镜像的第一部分。如果镜像未经认证,如由第一处理资源测量,那么第二处理资源可避免继续。在314-1,第二处理资源可基于镜像的第一部分由第一处理资源认证的确定而加载镜像的第一部分。镜像的第一部分可从非易失性存储器复制到易失性存储器。镜像的第一部分可进一步从易失性存储器复制到高速缓冲存储器。举例来说,镜像的第一部分可加载到1级高速缓冲存储器、2级高速缓冲存储器和/或3级高速缓冲存储器以及其它类型的高速缓冲存储器。
在其中未加载镜像的实例中,镜像的第一部分可从非易失性存储器装置检索并且可直接提供到第二处理资源而无需在易失性存储器中存储镜像的第一部分。因此,在其中镜像未复制到易失性存储器的实例中,加载(314-1、314-2、...和314-N)可被从存储器装置检索镜像的部分所取代。
在316-1和312-2,镜像的第一部分可与镜像的第二部分的测量同时执行。镜像的第一部分的同时测量和执行可构成执行流的分叉。举例来说,执行流的第一分支可由第一处理资源控制,而执行流的第二分支由第二处理资源控制。如本文所使用,执行流是通过时间参考的有序指令集的执行。因此,执行流的分叉可构成不同指令集的执行或避免在给定时间执行指令。举例来说,第二处理资源可在同一时间周期期间在第一处理资源测量镜像的第二部分的同时执行镜像的第一部分。
镜像的第一部分可在316-1由第二处理资源执行。可在312-2测量镜像的第二部分。镜像的第一部分可与镜像的第二部分的测量同时执行,因为第二处理资源在第一处理资源测量镜像的第二部分的同时执行镜像的第一部分。
在一些实例中,第二处理资源可引导镜像的第二部分的测量和镜像的第一部分的同时执行。举例来说,第二处理资源可执行镜像的第一部分且等待镜像的第二部分的测量结束。响应于结束镜像的第二部分的测量,第一处理资源可向第二处理资源通知镜像的第二部分的测量的结束。
第一处理资源可利用寄存器向第二处理资源提供通知。在一些实例中,用以提供通知的寄存器可由代管第一处理资源的存储器装置和/或代管第二处理资源的主机代管。寄存器可称为状态寄存器。状态寄存器可指示镜像的第二部分准备好被存取和/或镜像的第二部分已成功地被测量。成功地测量镜像的一部分可包含测量的成功终止,无论测量是否得出第二部分是真实的还是不真实的结论。
在一些实例中,状态寄存器可包含多个状态寄存器。所述多个状态寄存器可描述测量是否终止,测量是否确定镜像的真实的部分,和/或测量是否确定镜像的部分是不真实的。
第二处理资源在终止镜像的第一部分的执行之后即刻可存取状态寄存器。响应于确定镜像的第二部分的测量是否结束,第二处理资源可等待镜像的第二部分的结束或可在314-2加载镜像的第二部分。
为了等待镜像的第二部分的测量的结束,第二处理资源可执行循环。环路是重复提供对指令的存取的控制流语句。对指令的重复存取被描述为迭代。因此,循环的每一迭代提供对同一指令集的存取。在一些实例中,循环可不提供对指令的存取并且可用以保持对第二处理资源的指令流的控制以等待镜像的第二部分的测量的结束。
在循环的每一迭代之前,第二处理资源可确定镜像的第二部分的测量是否已终止。镜像的第二部分的测量的终止的确定可利用状态寄存器来完成。循环可以是任何类型的循环,包含while循环和for循环以及其它类型的循环。可在循环的迭代的发起之前、循环的迭代期间或循环的每一迭代之后执行所述确定。
在其它实例中,第二处理资源可使用时序约束来引导镜像的第二部分的测量和镜像的第一部分的同时执行。镜像的第一部分可包含时间限制和/或时间准则,第二处理资源可使用所述时间限制和/或时间准则以确定镜像的第一部分的执行、镜像的第二部分的测量、镜像的第二部分的加载,和/或镜像的第二部分的执行。
举例来说,镜像的第一部分可包含对应于镜像的第一部分的执行的第一持续时间。第一持续时间描述由第二处理资源用以执行镜像的第一部分的持续时间。镜像的第一部分还可包含对应于镜像的第二部分的测量的第二持续时间。镜像的第二部分描述由第一处理资源用以测量镜像的第二部分的持续时间。第二处理资源可比较第一持续时间和第二持续时间以确定最长持续时间。第二处理资源可避免加载和/或执行镜像的第二部分直到最长持续时间已到期为止。
可从镜像的第一部分的执行期间的时间或从镜像的第一部分的执行的开始跟踪最长持续时间。举例来说,可从第一持续时间和第二持续时间进行比较之后的时间测量最长持续时间。也可从标记镜像的第一部分的执行的开始的时间测量最长持续时间。如果最长持续时间是第二持续时间,那么可从标记镜像的第一部分的测量的开始的时间跟踪最长持续时间。
在一些实例中,最长持续时间未由第二处理资源计算,而是可包含于镜像的第一部分中。在此类实例中,第二处理资源可在镜像的第一部分的执行期间提取最长持续时间,且可在镜像的第一部分的执行期间开始跟踪最长持续时间的到期。
包含于镜像的第一部分中的所述持续时间可例如包含于镜像的第一部分的标头中和/或镜像的第一部分的主体中。在一些实例中,镜像的每一部分可包含至少包括持续时间的标头。在其它实例中,并非镜像的每个部分都包含持续时间。举例来说,由于不需要同步性,镜像的最后部分可不包含持续时间。镜像的最后(PN)部分可执行而无需同时测量镜像的不同部分。
在312-2,第二处理资源可指示第一处理资源测量镜像的第二部分。第二处理资源可提供镜像的第二部分的地址、地址范围和/或识别符。第一处理资源可使用由第一处理资源提供的地址、地址范围和/或识别符来识别和测量镜像的第二部分。第一处理资源可将测量的结果的指示提供到第二处理资源。
在确定镜像的第二部分的测量已结束且镜像的第二部分经认证之后,第二处理资源可即刻加载镜像的第二部分,类似于在314-1的镜像的第一部分的加载。在316-2和312-3,第二处理资源可执行镜像的第二部分且第一处理资源可同时测量镜像的第三部分,如在316-1和312-2所描述。镜像的第二部分的加载和/或执行可构成第一处理资源与第二处理资源的执行流的合并器。
第二处理资源可执行且第一处理资源可同时测量镜像的多个部分。第二处理资源可执行镜像的PN-1部分且通过第一处理资源引导镜像的PN的同时测量。在镜像的PN部分的成功测量之后,第二处理资源可即刻在314-N加载镜像的PN部分且在316-N执行镜像的PN。
图4说明根据本公开的若干实施例的与用于同时测量和执行镜像的方法相关联的流程图410。在由流程图410提供的实例中,镜像是OS的镜像。镜像可包含第二级启动加载器(SSBL)。在一些实例中,镜像可包含第一级启动加载器(FSBL)和/或SSBL。图4可包含在启动序列期间使用的流程图410。
第一级启动加载器(FSBL)可包含于主启动记录中。可从安全存储器检索FSBL使得在一些情况下不测量FSBL。FSBL可包括由第二处理资源使用以测量、加载和执行SSBL的信息。举例来说,FSBL可包含镜像的地址。作为另一实例,FSBL可包含SSBL的地址。SSBL可加载OS且将执行传送到OS。
在412-1可测量SSBL。第二处理资源可从FSBL存取SSBL的地址或识别符。第二处理资源可将SSBL的地址提供到第一处理资源。第一处理资源可从存储器装置检索SSBL且可测量SSBL。第一处理资源可将测量的确定提供到第二处理资源。
基于SSBL的测量的确定,第一处理资源可在414-1加载SSBL。举例来说,如果确定SSBL是安全的,那么第二处理资源可加载或移动SSBL。如果加载SSBL,那么将SSBL从易失性存储器从非易失性存储器复制。如果未移动(例如,加载)SSBL,那么将SSBL的副本提供到第二处理资源而无需在易失性存储器中存储SSBL。
在416-2和412-2,执行SSBL且同时测量镜像的其余部分。在图4中提供的实例中,镜像可包括两个部分,第一部分可为SSBL且第二部分可为镜像的其余部分。在其它实例中,镜像的其余部分可进一步划分成额外部分。
在414-2,可将镜像的其余部分从非易失性存储器加载到易失性存储器。在416-2,可执行镜像的其余部分。镜像的其余部分可为OS。因此,可在414-2测量且在416-2加载OS。
图5说明根据本公开的若干实施例的与产生镜像相关联的流程图520。流程图520包含编译器524、测绘器566、重排序单元570、驱动器574和打包器580。打包器580可为安全打包工具。编译器524可包含编译器和链接器。编译器524、测绘器566、重排序单元570、驱动器574和打包器580可以硬件和/或软件实施。
编译器524可接收对应于镜像的源代码522。源代码可包含多个标签。标签可在开发期间添加到源代码。标签可识别源代码522的不同区段。源代码522的不同区段可含有能够测量和执行的代码而不需要在特定区段之外的代码。
编译器524可包含软件或硬件以将以第一编程语言编写的机器可读指令变换为以第二编程语言编写的机器可读指令。举例来说,编译器524可接收包括以第一编程语言编写的机器可读指令的源代码522,且可产生可包括呈第二编程语言的机器可读指令的可执行指令。
编译器524可产生可执行指令528。可执行指令528是无序的且包括标签。举例来说,可执行指令528可包含具备源代码522的标签,且带有标签产生的不同区段可为无序的。标签的次序可对应于可执行指令528的不同区段的执行流。举例来说,第二区段可继续进行可执行指令528中的第三区段,但可在第三区段的执行之后执行。因此,在第二区段可在第三区段之后执行的条件下,第二区段在第三区段之前的发生可使可执行指令528为无序的。
测绘器566可接收可执行指令529、根文件***562和启动序列文件564。文件***562可描述其中执行镜像532的文件***。启动序列文件564可描述启动序列且可提供用以鉴于启动序列执行最终镜像532的额外信息。
测绘器566可为模拟测绘器。模拟简档可为以机器可执行指令实施的测绘器。测绘器566也可为硬件。
测绘器566可基于实施于可执行指令529中的标签来标记代码区段。举例来说,可执行指令529的开始到第一标签可经标记为第一区段,从第一标签到第二标签可经标记为第二区段等。可存在比标签多一个的区段。测绘器566可产生包括标签和区段的可执行指令568,其中可执行指令568是无序的。
测绘器566也可识别在来自可执行指令529的每一标签之间调用的非易失性存储器加载命令。在一些实例中,编译器524可产生可执行指令528的单个集合,且测绘器566可接收可执行指令529的多个集合。测绘器566可用区段编号来标记由每一加载命令定为目标的非易失性存储器的区域。测绘器566可存储非易失性存储器的标记且可在数据向量578中提供标记。
重排序单元570可使用标签和代码区段重排序可执行指令568。重排序单元570可产生包括标签的有序可执行指令572。可执行指令572的次序可对应于可执行指令568的执行流。举例来说,如果第三区段在第二区段之前执行,那么重排序单元570可重排序第三区段和第二区段,此第三区段在第二区段之前发生和/或执行。
第三区段和第二区段的次序可决定测量、加载和/或执行第三区段和第二区段的次序。举例来说,在第二区段之前重排序第三区段提供在第二区段之前的第三区段的测量、加载和/或执行。可在测量第二区段之前测量和/或加载第三区段。重排序分别提供第三区段和第二区段的同时执行和测量。
重排序单元570可重排序可执行指令568且可修改可执行指令568以与重排序对应。举例来说,重排序单元570可更新可与每一代码区段相关联的跳跃命令和/或链接器信息以及可执行指令的其它部分。更新跳跃命令和/或链接器信息可提供反映代码区段的经更新排序的跳跃命令和/或链接器信息。举例来说,重排序单元570可基于代码区段的重排序而更新指针信息。
驱动器574可接收可执行指令572且可产生可执行指令576。可执行指令576可为有序的且可包含存储器调用(例如,存储器装置调用)。驱动器574可对由可执行定为目标的平台是特定的。平台描述主机、处理资源、存储器装置和/或执行镜像532的计算装置的其它组件。驱动器574可包含用以与存储器装置通信的低等级命令。驱动器574可直接在可执行指令572中注入命令以产生可执行指令576。命令可放置于可执行指令572中标签存在的地方。驱动器574可用对存储器装置的命令集(例如,调用)来代替标签。在一些实例中,驱动器574可在可执行指令572中***测量命令和加载命令以代替可执行指令572中的标签,其中标签识别镜像的区段(例如,部分)的测量命令和加载命令。
打包器580可接收根文件***562、启动序列文件564和可执行指令576。在一些实例中,打包器580也可接收具有经标记存储器装置区域的数据向量578。打包器580可产生包括单独代码区段(例如,部分)的镜像532。打包器580也可产生配置文件582。配置文件582可由存储器装置使用以与存储器装置外部的处理资源同步进行测量。由存储器装置实施的测量命令利用由存储器装置实施的配置。举例来说,存储器装置可经配置以利用配置文件582执行测量。
图6是根据本公开的若干实施例的包括时序约束的地址空间640的框图。地址空间640可存储镜像的多个部分651-1、651-2、651-3和651-4,称为部分651。
部分651-1可存储于从地址0x0000000开始的地址范围中。部分651-2可存储于从地址0x0080000开始的地址范围中。部分651-3可存储于从地址0x0010000开始的地址范围中。部分651-4可存储于从地址0x0100000开始的地址范围中。
图5的重排序单元570可对部分651的执行进行排序,使得部分651-1在部分651-2执行之前执行,部分651-2在部分651-3执行之前执行,且部分651-3在部分651-4执行之前执行。在一些实例中,重排序单元570可对部分651的同时执行和测量进行排序,使得部分651-1与部分651-2的测量同时执行,部分651-2与部分651-3的测量同时执行,且部分651-3与部分651-4的测量同时执行。
重排序单元570可使用对应于部分651中的每一个的地址对部分651的同时执行和测量进行排序。举例来说,重排序单元570可使部分651-1与地址0x0080000关联以指示部分651-1将与部分651-2的测量同时执行。执行部分651-1的处理资源可将地址0x0080000提供到密码处理器且继续部分651-1的执行。密码处理器可使用地址0x0080000检索部分651-2,且可如先前定义与部分651-1的执行同时测量部分651-2。
如果密码处理器响应于测量部分651-2而确定部分651-2不安全,那么密码处理器可向处理资源指示此情况。处理资源可通过基于测量的结果避免加载或执行部分651-2而防止不安全的存储器存取。
在一些实施例中,处理资源可关于镜像的一部分的测量轮询密码处理器。处理资源可轮询密码处理器而不是等待密码处理器以测量的结果进行响应。处理资源可通过存取存储器装置的寄存器来轮询存储器装置和/或密码处理器以确定镜像的部分651是否已经测量和/或检索测量的结果。
尽管已在本文中说明并描述了具体实施例,但所属领域的一般技术人员应了解,经计算以实现相同结果的布置可取代所展示的具体实施例。本公开希望涵盖本公开的各种实施例的调适或变化。应理解,以上描述是以说明方式而非限制方式进行的。对于所属领域的技术人员而言在审阅以上描述之后上述实施例的组合以及本文中未具体描述的其它实施例将是显而易见的。本公开的各种实施例的范围包含其中使用上述结构和方法的其它应用。因此,本公开的各种实施例的范围应该参考所附权利要求书以及此权利要求书所授予的等效物的完整范围来确定。
在前述具体实施方式中,出于简化本公开的目的而将各种特征一起分组在单个实施例中。本公开的此方法不应被理解为反映本公开的所公开实施例必须比在每项权利要求中明确叙述那样使用更多特征的意图。相反地,如所附权利要求书所反映,本发明主题在于比单个所公开的实施例的所有特征少。因此,所附权利要求书特此并入于具体实施方式中,其中每项权利要求就其自身而言作为单独实施例。

Claims (20)

1.一种设备,其包括:
存储器装置;
第一处理资源,其执行存储于所述存储器装置中的指令以进行以下操作:
响应于测量镜像的第一部分而执行所述镜像的所述第一部分;
响应于测量所述镜像的第二部分而执行所述镜像的所述第二部分;以及
第二处理资源,其执行存储于所述存储器装置中的指令以进行以下操作:
测量所述镜像的所述第一部分;以及
与由所述第一处理资源进行的所述镜像的所述第一部分的执行同时测量所述镜像的所述第二部分。
2.根据权利要求1所述的设备,其中所述第一处理资源执行指令以执行所述镜像的所述第一部分和所述第二部分进一步执行指令以从所述存储器装置执行所述第一部分和所述第二部分。
3.根据权利要求2所述的设备,其中所述第一处理资源执行指令以执行所述镜像的所述第一部分和所述第二部分进一步执行指令以从所述存储器装置执行所述第一部分和所述第二部分而无需将所述第一部分和所述第二部分加载到高速缓冲存储器。
4.根据权利要求1所述的设备,其中所述第一处理资源进一步经配置以利用循环结构确定所述镜像的所述第一部分和所述镜像的所述第二部分的所述测量的完成。
5.根据权利要求1到4中任一权利要求所述的设备,其中所述第一部分是第二级启动加载器SSBL,且其中所述第二部分是操作***OS。
6.根据权利要求1到4中任一权利要求所述的设备,其中所述第一部分是第一级启动加载器FSBL,且所述第二部分是SSBL。
7.根据权利要求1所述的设备,其中所述处理资源执行指令以测量所述镜像的所述第一部分且测量所述镜像的所述第二部分进一步执行指令以认证和验证所述镜像的所述第一部分和所述镜像的所述第二部分。
8.一种方法,其包括:
在编译器处接收源代码,所述源代码对应于操作***OS且包括标签;
从所述源代码产生包括所述标签的可执行文件;
产生包括所述标签的有序可执行文件以组织镜像的多个区段的同时测量和执行;以及
从包括所述标签的所述有序可执行文件产生所述镜像。
9.根据权利要求8所述的方法,其中所述标签是在开发期间提供的,且所述方法进一步包括使用包括所述标签的所述可执行文件产生包括所述标签和所述多个区段的无序可执行文件。
10.根据权利要求8到9中任一权利要求所述的方法,其进一步包括用存储器装置命令代替所述有序可执行文件上的所述标签。
11.根据权利要求8所述的方法,其进一步包括产生用于存储器装置测量所述镜像的所述区段的配置文件,以配置所述存储器装置来测量所述镜像的所述多个区段。
12.根据权利要求8所述的方法,其进一步包括同时测量和处理所述镜像的所述多个区段。
13.根据权利要求8所述的方法,其进一步包括在执行区段之前等待所述区段的所述测量结束。
14.根据权利要求8所述的方法,其进一步包括使用循环结构等待所述区段的所述测量结束。
15.根据权利要求8所述的方法,其进一步包括在所述循环结构的每一迭代期间确定状态寄存器是否指示所述区段的所述测量的结束。
16.根据权利要求15所述的方法,其进一步包括确定状态寄存器是否指示所述区段的成功测量。
17.一种装置,其包括:
存储器装置;
处理资源,其执行存储于所述存储器装置中的指令以进行以下操作:
在启动序列期间且从所述存储器装置,响应于由密码处理器进行的镜像的第一部分的测量将所述镜像的所述第一部分复制到易失性存储器装置;
响应于复制所述镜像的所述第一部分而与由所述密码处理器进行的所述镜像的第二部分的测量同时执行所述镜像的所述第一部分;
从所述存储器装置,响应于由所述密码处理器进行的所述镜像的第二部分的测量将所述镜像的所述第二部分复制到所述易失性存储器装置;
响应于复制所述镜像的所述第二部分而与由所述密码处理器进行的所述镜像的第三部分的测量同时执行所述镜像的所述第二部分;
从所述存储器装置,响应于由所述密码处理器进行的所述镜像的所述第三部分的测量而复制所述镜像的所述第三部分;以及
响应于复制所述镜像的所述第三部分而执行所述镜像的所述第三部分。
18.根据权利要求17所述的装置,其中所述处理资源执行指令以执行所述镜像的所述第一部分、所述第二部分和所述第三部分进一步执行指令以进行以下操作:
轮询所述存储器装置以确定所述镜像的所述第一部分、所述第二部分和所述第三部分已经测量。
19.根据权利要求18所述的装置,其中所述处理资源执行指令以轮询所述存储器装置进一步执行指令以存取所述存储器装置的寄存器以确定所述镜像的所述第一部分、所述第二部分和所述第三部分已经测量。
20.根据权利要求18所述的装置,其中所述处理资源执行指令以复制所述镜像的所述第二部分且复制所述镜像的所述第三部分进一步执行指令以合并所述密码处理器的执行流与所述处理资源的执行流。
CN201980056817.1A 2018-08-31 2019-08-30 同时的镜像测量和执行 Pending CN112639783A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/118,492 US11055105B2 (en) 2018-08-31 2018-08-31 Concurrent image measurement and execution
US16/118,492 2018-08-31
PCT/US2019/048945 WO2020047341A1 (en) 2018-08-31 2019-08-30 Concurrent image measurement and execution

Publications (1)

Publication Number Publication Date
CN112639783A true CN112639783A (zh) 2021-04-09

Family

ID=69639978

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980056817.1A Pending CN112639783A (zh) 2018-08-31 2019-08-30 同时的镜像测量和执行

Country Status (3)

Country Link
US (3) US11055105B2 (zh)
CN (1) CN112639783A (zh)
WO (1) WO2020047341A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210089486A (ko) * 2020-01-08 2021-07-16 삼성전자주식회사 키를 안전하게 관리하기 위한 장치 및 방법

Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002008873A1 (en) * 2000-07-25 2002-01-31 Macrovision Coporation System and method of verifying the authenticity of dynamically connectable executable images
US20050149729A1 (en) * 2003-12-24 2005-07-07 Zimmer Vincent J. Method to support XML-based security and key management services in a pre-boot execution environment
CN1761947A (zh) * 2003-03-21 2006-04-19 思科技术公司 用于动态镜像库寻址的***和方法
US20080072068A1 (en) * 2006-09-19 2008-03-20 Wang Liang-Yun Methods and apparatuses for securing firmware image download and storage by distribution protection
CN101512654A (zh) * 2005-08-30 2009-08-19 Dt索夫特有限公司 用于将旋转介质数据保存在镜像文件中的方法
US20100088699A1 (en) * 2007-03-27 2010-04-08 Takayuki Sasaki Virtual machine operation system, virtual machine operation method and program
US20120180024A1 (en) * 2011-01-07 2012-07-12 International Business Machines Corporation Synchronizing development code and deployed executable versioning within distributed systems
US20150019793A1 (en) * 2013-07-09 2015-01-15 Micron Technology, Inc. Self-measuring nonvolatile memory devices with remediation capabilities and associated systems and methods
US20150106609A1 (en) * 2013-10-16 2015-04-16 Xilinx, Inc. Multi-threaded low-level startup for system boot efficiency
WO2015090196A1 (zh) * 2013-12-18 2015-06-25 国家电网公司 一种在配电终端中建立可信环境的方法
US9165143B1 (en) * 2013-03-15 2015-10-20 Xilinx, Inc. Image file generation and loading
CN106790719A (zh) * 2017-03-21 2017-05-31 杭州迪普科技股份有限公司 一种存储镜像配置信息的方法及装置
CN107368744A (zh) * 2016-04-11 2017-11-21 恩德莱斯和豪瑟尔分析仪表两合公司 用于更新固件组件的方法以及测量和控制技术的设备
US20180089436A1 (en) * 2016-09-29 2018-03-29 Intel Corporation Methods And Apparatus To Facilitate Blockchain-based Boot Tracking
CN108011862A (zh) * 2016-10-31 2018-05-08 中兴通讯股份有限公司 镜像仓库授权、访问、管理方法及服务器和客户端
CN108139650A (zh) * 2015-09-24 2018-06-08 徕卡生物***公司 线扫描成像中的实时聚焦
CN108270846A (zh) * 2017-12-19 2018-07-10 西安电子科技大学 一种云环境下支持安全操作***动态部署的便携式装置
US10057243B1 (en) * 2017-11-30 2018-08-21 Mocana Corporation System and method for securing data transport between a non-IP endpoint device that is connected to a gateway device and a connected service

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5021945A (en) 1985-10-31 1991-06-04 Mcc Development, Ltd. Parallel processor system for processing natural concurrencies and method therefor
US6035374A (en) 1997-06-25 2000-03-07 Sun Microsystems, Inc. Method of executing coded instructions in a multiprocessor having shared execution resources including active, nap, and sleep states in accordance with cache miss latency
US7210127B1 (en) 2003-04-03 2007-04-24 Sun Microsystems Methods and apparatus for executing instructions in parallel
US20060095726A1 (en) * 2004-08-31 2006-05-04 Ivivity, Inc. Independent hardware based code locator
US7624260B2 (en) 2006-05-04 2009-11-24 Qnx Software Systems Gmbh & Co. Kg System executing a fast boot wake-up
US20070288738A1 (en) * 2006-06-09 2007-12-13 Dale Jason N System and method for selecting a random processor to boot on a multiprocessor system
US8254568B2 (en) 2007-01-07 2012-08-28 Apple Inc. Secure booting a computing device
US7917741B2 (en) * 2007-04-10 2011-03-29 Standard Microsystems Corporation Enhancing security of a system via access by an embedded controller to a secure storage device
IL187044A0 (en) * 2007-10-30 2008-02-09 Sandisk Il Ltd Fast secure boot implementation
TWI412999B (zh) * 2010-03-31 2013-10-21 Wistron Corp 平行化快速啟動方法及具有多處理單元之電子裝置
US8751833B2 (en) * 2010-04-30 2014-06-10 Arm Limited Data processing system
US8996851B2 (en) * 2010-08-10 2015-03-31 Sandisk Il Ltd. Host device and method for securely booting the host device with operating system code loaded from a storage device
US8358653B1 (en) * 2010-08-17 2013-01-22 Xilinx, Inc. Generating a pipeline of a packet processor from a parsing tree
CN103765400B (zh) 2011-04-07 2016-05-04 威盛电子股份有限公司 一种乱序执行微处理器中的有条件存储指令
US9378019B2 (en) 2011-04-07 2016-06-28 Via Technologies, Inc. Conditional load instructions in an out-of-order execution microprocessor
KR20120123885A (ko) * 2011-05-02 2012-11-12 삼성전자주식회사 저장 장치의 인증 장치 및 인증 장치 연결 수단을 구비한 저장 장치
US8856724B2 (en) * 2011-06-20 2014-10-07 Ebay Inc. Systems and methods for incremental software development
EP2783284B1 (en) * 2011-11-22 2019-03-13 Solano Labs, Inc. System of distributed software quality improvement
US9361244B2 (en) * 2011-12-29 2016-06-07 Intel Corporation Apparatus for hardware accelerated runtime integrity measurement
US9141802B2 (en) * 2012-09-25 2015-09-22 Intel Corporation Computing device boot software authentication
US9098291B1 (en) * 2012-12-04 2015-08-04 The Mathworks, Inc. Transforming modeling environment code/model into a non-modeling environment format
US20170235661A1 (en) * 2013-03-05 2017-08-17 NetSuite Inc. Integration of Software Systems via Incremental Verification
US9830456B2 (en) * 2013-10-21 2017-11-28 Cisco Technology, Inc. Trust transference from a trusted processor to an untrusted processor
US10924340B1 (en) * 2013-12-30 2021-02-16 Vmware, Inc. Extending computing capacity via cloud replication
US9536094B2 (en) * 2014-01-13 2017-01-03 Raytheon Company Mediated secure boot for single or multicore processors
KR102324336B1 (ko) * 2015-03-20 2021-11-11 한국전자통신연구원 사용자 장치 및 그것에 대한 무결성 검증 방법
JP2018523218A (ja) * 2015-07-17 2018-08-16 エンハンス,インク. コンパイルされたソフトウェア内の機械命令を修正する方法およびシステム
US10846103B2 (en) * 2015-10-06 2020-11-24 Micron Technology, Inc. Methods and systems for representing processing resources
WO2017134665A1 (en) * 2016-02-03 2017-08-10 Cocycles System for organizing, functionality indexing and constructing of a source code search engine and method thereof
US10565382B1 (en) * 2016-12-22 2020-02-18 Amazon Technologies, Inc. Maintaining keys for trusted boot code
KR102002517B1 (ko) * 2017-06-30 2019-07-22 주식회사 페스카로 전자식 제어기 보안 기능 설정 방법 및 시스템
FR3071040B1 (fr) * 2017-09-12 2019-09-06 Valeo Vision Module lumineux pour l’eclairage et/ou la signalisation d’un vehicule automobile
US10657260B2 (en) * 2017-09-19 2020-05-19 Sling Media Pvt Ltd Electronic devices and methods supporting unsecured system-on-chip secure boot functionalities
US10769272B2 (en) * 2017-09-29 2020-09-08 Intel Corporation Technology to protect virtual machines from malicious virtual machine managers
US20190205061A1 (en) * 2017-12-29 2019-07-04 Intel Corporation Processor, method, and system for reducing latency in accessing remote registers
US10719606B2 (en) * 2018-02-23 2020-07-21 Infineon Technologies Ag Security processor for an embedded system
US11379620B2 (en) * 2019-11-22 2022-07-05 T-Mobile Usa, Inc. Selective replacement of information within communication metadata

Patent Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002008873A1 (en) * 2000-07-25 2002-01-31 Macrovision Coporation System and method of verifying the authenticity of dynamically connectable executable images
CN1761947A (zh) * 2003-03-21 2006-04-19 思科技术公司 用于动态镜像库寻址的***和方法
US20050149729A1 (en) * 2003-12-24 2005-07-07 Zimmer Vincent J. Method to support XML-based security and key management services in a pre-boot execution environment
CN101512654A (zh) * 2005-08-30 2009-08-19 Dt索夫特有限公司 用于将旋转介质数据保存在镜像文件中的方法
US20080072068A1 (en) * 2006-09-19 2008-03-20 Wang Liang-Yun Methods and apparatuses for securing firmware image download and storage by distribution protection
US20100088699A1 (en) * 2007-03-27 2010-04-08 Takayuki Sasaki Virtual machine operation system, virtual machine operation method and program
US20120180024A1 (en) * 2011-01-07 2012-07-12 International Business Machines Corporation Synchronizing development code and deployed executable versioning within distributed systems
US9165143B1 (en) * 2013-03-15 2015-10-20 Xilinx, Inc. Image file generation and loading
US20150019793A1 (en) * 2013-07-09 2015-01-15 Micron Technology, Inc. Self-measuring nonvolatile memory devices with remediation capabilities and associated systems and methods
US20150106609A1 (en) * 2013-10-16 2015-04-16 Xilinx, Inc. Multi-threaded low-level startup for system boot efficiency
WO2015090196A1 (zh) * 2013-12-18 2015-06-25 国家电网公司 一种在配电终端中建立可信环境的方法
CN108139650A (zh) * 2015-09-24 2018-06-08 徕卡生物***公司 线扫描成像中的实时聚焦
CN107368744A (zh) * 2016-04-11 2017-11-21 恩德莱斯和豪瑟尔分析仪表两合公司 用于更新固件组件的方法以及测量和控制技术的设备
US20180089436A1 (en) * 2016-09-29 2018-03-29 Intel Corporation Methods And Apparatus To Facilitate Blockchain-based Boot Tracking
CN108011862A (zh) * 2016-10-31 2018-05-08 中兴通讯股份有限公司 镜像仓库授权、访问、管理方法及服务器和客户端
CN106790719A (zh) * 2017-03-21 2017-05-31 杭州迪普科技股份有限公司 一种存储镜像配置信息的方法及装置
US10057243B1 (en) * 2017-11-30 2018-08-21 Mocana Corporation System and method for securing data transport between a non-IP endpoint device that is connected to a gateway device and a connected service
CN108270846A (zh) * 2017-12-19 2018-07-10 西安电子科技大学 一种云环境下支持安全操作***动态部署的便携式装置

Also Published As

Publication number Publication date
US20240111545A1 (en) 2024-04-04
WO2020047341A1 (en) 2020-03-05
US20210334109A1 (en) 2021-10-28
US11726795B2 (en) 2023-08-15
US11055105B2 (en) 2021-07-06
US20200073675A1 (en) 2020-03-05

Similar Documents

Publication Publication Date Title
KR102557005B1 (ko) 인증 가속화를 위해 신뢰할 수 있는 저장 장치에 대한 검사 생성
US11960632B2 (en) Data attestation in memory
US20220158823A1 (en) Validating data stored in memory using cryptographic hashes
US11829464B2 (en) Apparatus and method for authentication of software
US20240111545A1 (en) Concurrent image measurement and execution
US11928215B2 (en) Firmware verification mechanism
EP4156011A1 (en) Method and apparatus to authenticate a memory module
US20200265137A1 (en) Memory device and system
CN113796045A (zh) 确认车辆的电子控制单元
JP2022526934A (ja) ブロックチェーンを基にしたメモリコマンドの正当性確認
US11768942B2 (en) License-protected boot device
US10331453B2 (en) System management mode trust establishment for OS level drivers
KR102510506B1 (ko) 스토리지 장치 및 스토리지 장치의 동작 방법
US20240211278A1 (en) Storage device and operating method thereof
EP4184359A1 (en) Storage device and operating method of storage device
US20230396449A1 (en) Device identifier composition engine 3-layer architecture
US20230188326A1 (en) System on chip, security system, and method of performing authentication
CN116069691A (zh) 存储器控制器和存储装置
KR20230064538A (ko) 메모리 컨트롤러 및 스토리지 장치
CN116108442A (zh) 安全处理器及其操作方法和包括该安全处理器的存储装置
CN117150496A (zh) 装置标识符组合引擎3层架构

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