CN102103673B - 在隐藏执行环境中提供完整性验证和证明 - Google Patents
在隐藏执行环境中提供完整性验证和证明 Download PDFInfo
- Publication number
- CN102103673B CN102103673B CN201010610084.2A CN201010610084A CN102103673B CN 102103673 B CN102103673 B CN 102103673B CN 201010610084 A CN201010610084 A CN 201010610084A CN 102103673 B CN102103673 B CN 102103673B
- Authority
- CN
- China
- Prior art keywords
- processor
- cmac
- hiding
- page
- storage
- 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.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
-
- 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/55—Detecting local intrusion or implementing counter-measures
- G06F21/554—Detecting local intrusion or implementing counter-measures involving event detection and direct action
-
- 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/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- 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
-
- 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/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
Abstract
在一个实施例中,处理器包括微代码存储,该微代码存储包括用于创建和执行要在系统软件不可见的隐藏环境中执行的隐藏资源管理器(HRM)的处理器指令。处理器还可包括用于存储安全信息的扩展寄存器,安全信息包括隐藏环境的至少一个内核代码模块的度量以及该至少一个内核代码模块的验证状态。描述并要求保护其他实施例。
Description
背景技术
计算机系统由包括一个或多个处理器、存储器、输入/输出设备等的硬件元件的集合构成。此外,系统中可存在不同类型的软件,包括诸如操作系统(OS)、虚拟机监视器(VMM)等系统软件。此外,可提供应用软件以执行用户需要的特定任务,诸如文字处理、电子邮件、游戏等。为了实现软件与底层处理器硬件之间的通信,软件的指令可被转换成可使用存储在处理器中的微代码来实现的较小指令,诸如微指令(uops)。
一般而言,整个范围的存储器对于诸如OS或VMM之类的系统软件是可见的。然而,为了提供安全操作等,可在存储器中提供隐藏分区,隐藏分区包括可使用资源管理器来运行、可以在处理器微代码中实现、且可对OS/VMM隐藏的代码。然而,提供此类隐藏资源产生了各种安全和证明问题,从而增加了复杂性。
作为一个示例,当系统被置于某些低功率状态时,诸如根据高级配置与电源接口(ACPI)(修订版2.0标准,2003年4月25日)的所谓挂起(S3)状态,系统存储器处于自刷新状态。然而,处理器断电,且因此存储器上没有有效的保护。因此,在系统处于S3状态时,敌方可能能够修改存储器的内容,且若存储器在恢复(S0状态)时未被验证,这可能导致对系统存储器的隐藏存储器分区的代码注入攻击。虽然在进入S3之前对存储器进行散列并在从S3恢复进入S0时验证这些内容可避免此类代码注入攻击,但这也有缺点,包括由于散列以及随后验证存储器内容要完成的附加工作而延长了在S0与S3之间切换所需的时间量。
附图说明
图1是根据本发明一个实施例的平台的框图。
图2是根据本发明一个实施例的完整性检验值(ICV)阵列的框图。
图3是根据本发明一个实施例的隐藏存储器完整性运算和保护的概览的框图。
图4是根据本发明一个实施例的用于转换到低功率状态的方法的流程图。
图5是用于从低功率模式恢复正常功率模式中的执行的方法的流程图。
图6是根据本发明一个实施例的验证方法的流程图。
图7是根据本发明一个实施例的高级启动方法的流程图。
图8是根据本发明一个实施例的启动操作的流程图。
图9是根据本发明一个实施例的证明方法的流程图。
图10是根据本发明一个实施例的处理器的框图。
具体实施方式
各实施例可提供对隐藏存储器分区的完整性的高效验证,这可以在退出低功率状态进入正常操作状态时使用。此外,各实施例可用于提供对隐藏环境的证明以使得要在该环境中执行的各软件可在执行之前被验证。此类证明可完全在处理器内实现且无需经由互连访问其他组件,从而提高了速度并降低了复杂性以及经由与互连和其他组件交互带来的安全威胁的可能性。
为了提供主机操作系统(OS)/虚拟机监视器(VMM)与隐藏分区之间的存储器隔离,处理器可利用有效地阻止主机OS/VMM生成的对隐藏存储器的访问的一个或多个硬件范围寄存器。同样,为了控制从隐藏分区对主机OS/VMM存储器的访问,在隐藏分区下可存在页表。为了更好地理解隐藏环境中的操作,提供对提供此类环境的平台的概览是有益的。
现在参见图1,所示为根据本发明一个实施例的平台的框图。如图1中所示,平台10可以是任何类型的计算机系统,诸如服务器计算机、台式计算机、膝上型计算机、笔记本计算机等。该平台包括用于一起操作以执行所请求操作的各种硬件和软件。如所见的,平台硬件包括处理器20,处理器20在一个实施例中可以是包括多个处理器核22a-22n的多核处理器。如以下将进一步讨论的,每个核22可包括用于在隐藏环境中执行的微代码,其中该环境对于诸如OS或VMM之类的其他系统软件隐藏。如进一步所见的,处理器20包括用以与系统存储器30通信的存储器控制器中枢(MCH)24,系统存储器30在一个实施例中可以是动态随机存取存储器(DRAM)。
平台10的其他硬件可包括外围设备控制器中枢(PCH)40,其可包括虚拟化引擎42(VE)和可管理性引擎(ME)44,它们可提供对诸如存储50(例如,海量存储,诸如盘驱动器、光存储或其他非易失性存储)之类的各种外围设备的控制功能。此外,网络接口控制器(NIC)55可实现平台10与网络的其他代理之间的通信,该网络诸如有线网络,例如局域网(LAN);无线网络,诸如无线LAN(WLAN)、或宽范围无线网络(诸如蜂窝网络)。尽管在图1的实施例中示出该特定硬件,但是应理解本发明的范围在这方面不受限制。
如图1中进一步所见,还存在各种软件。首先,示出了隐藏资源管理器(HRM)25。如所见的,该软件层可充当底层处理器硬件与隐藏分区70之间的接口。在一个实施例中,HRM 25可实现为存储在处理器的微代码存储中的处理器微代码。注意,该微代码和存储可与用于提供处理器指令以对应于指令集架构(ISA)的用户级指令的常规微代码和微代码存储分开。然而,在一些实施例中,隐藏微代码和常规微代码可被存储在单个微代码存储的不同分区中。
资源管理器可执行以向隐藏分区70的代码提供服务。如所见的,该隐藏分区中可存在各种代码,其可存储在例如系统存储器30中被分段且对其他系统软件(即OS和VMM)隐藏的分区中。隐藏分区70包括各种代码,包括一个或多个隐藏内核和驱动程序72,它们可提供内核服务以及用于与平台的各种设备接口的驱动程序。除了可在隐藏执行环境中执行的一个或多个应用75以外,可存在附加的核心能力代码74。尽管本发明的范围在这方面不受限制,但隐藏执行环境可用于诸如实现为遵循正规安全模型的比通用OS提供更高完整性的操作。此外,平台10包括常规软件,常规软件包括主机OS/VMM分区60,主机OS/VMM分区60可包括各种主机设备驱动程序62和主机应用程序64。此类代码可存储在系统存储器30的另一分区中。HRM 25可向OS/VMM分区提供系统硬件的抽象。
各实施例可提供可由在隐藏环境中执行的处理器微代码来实现的机制,以减少执行S3到S0以及S0到S3转换所需花的时间量。将系统转换到S3导致处理器断电且存储器被置于自刷新模式。此时,对存储器没有保护,且各种运行时保护不可操作。这样,包括隐藏存储器在内的存储器可能容易受不同安全威胁攻击。注意,状态S1和S2适用于处理器组件(例如,仅核心和核外)且不涉及系统存储器。其他低功率状态S4和S5使系统存储器断电,因此所有内容丢失。
虽然下面列出的不是详尽的,但是应理解,威胁可采取许多不同形式。例如,一个此类威胁可能是恶意代码注入,其中攻击者可在S3功率状态转换期间修改/替换存储器镜像。其他威胁利用散列算法,其中攻击者可利用密码散列算法的弱点来寻找具有有效页的散列签名的攻击存储器页,且随后该攻击页被注入存储器。一旦突破即可到处运行(BORE)攻击是其中已获得攻击页的攻击者可将该攻击页注入大量类似地配置的系统上的攻击。可发生重放攻击,其中攻击者存档所有存储器页和完整性检验值,并随后替换当前存储器页和完整性值。当攻击者可交换具有相同密码消息认证码(CMAC)值的页时,发生页交换攻击。
某些威胁可通过使HRM先度量(例如,散列和验证)自刷新的存储器镜像然后才允许其执行来解决。在一个实施例中,该方法进行逐页完整性检验,其值被记录在完整性检验值(ICV)阵列中。散列由HRM微代码执行。在一个实施例中,ICV阵列的每个条目包含以下信息:完整性检验值,其可以是页的安全散列算法(SHA)散列或根据网络工作组请求注解(RFC)4493,2006年6月的高级加密标准-基于密码的消息认证码(AES-CMAC)操作;ICV有效指示符,其可为真/假以指示该页自上次执行ICV运算以来是否已被修改;以及直接存储器访问(DMA)页指示符,其可为真/假以指示该页是否可由设备使用DMA来访问。
在一个实施例中,HRM可使用后台任务来周期性地对隐藏页进行散列。在每次转换到隐藏环境之前,可调用后台任务对存储器中的一组固定的页进行散列。例如,若隐藏镜像的大小为64MB,则有16384页要进行完整性保护。后台任务可以循环方式在这16K页中轮转并在每一轮执行对16页的散列。因此,后台任务将需要被调用1K次以执行对分配给隐藏执行环境(HEE)的全部16K页的散列。对页进行散列所花的时间归结于HEE且从执行配额中减去。
ICV运算可根据不同的散列算法。例如,代替SHA1散列,可使用诸如SHA2操作之类的更强散列算法来投入散列算法使用。然而,可存在与使用SHA2算法相关联的性能惩罚和存储器开销成本。SHA256需要大约20个循环/字节,而SHA512需要约12个循环/字节。SHA2算法还产生通常相当大的消息摘要。SHA256具有256比特(32字节)的消息摘要(MD),而SHA512具有64字节的MD。该开销乘以存储器中的页数(16-64MB),这增加了相当多的开销。
因此,在许多实施例中,可使用SHA2的替换,诸如AES-CMAC操作,其比SHA算法快得多。另外,可使用CMAC来代替SHA2函数,因为其具有抗次原像。
现在参见图2,所示为根据本发明一个实施例的ICV阵列的框图。如图2中所示,隐藏执行环境可将其信息(即,代码和数据)存储在存储器的隐藏分区中。如图2中具体示出的,存储器110的多个页1101-110n可被分区用于隐藏执行环境。在隐藏环境的后台操作期间,HRM可执行对这些页中的每个页的散列并将散列值存储在ICV阵列120中。如所见的,ICV阵列120可包括多个条目125a-125n,每个条目对应于隐藏分区110的一页。每个此类条目包括用于存储CMAC或散列值的ICV字段126、以及有效指示符122和DMA指示符124,如上所述。在一个实施例中,ICV阵列120也可存储在隐藏分区110的一部分中,但各实现可将该ICV阵列存储在其他位置。也可使用仅HRM知道的加密密钥来计算和加密ICV阵列120的散列。这样,仅HRM能修改ICV阵列。
在S0到S3转换时,HRM可生成隐藏存储器页的ICV值。因此在一个实施例中,在S0到S3转换时,HRM通过计算每个存储器页的CMAC值连同以上描述的指示符来动态地构造ICV阵列。该ICV阵列可被存储在未使用的存储器页中。此后,可使用根据本发明一个实施例的完整性运算和保护来保护隐藏存储器。
现在参见图3,所示为根据本发明一个实施例的隐藏存储器完整性运算和保护的概览的框图。如图3中所示,隐藏分区110可包括多个存储器页P1-Pn,其中每一页可使用页表条目105中存在的信息来访问。此类页表条目可存在于处理器中,处理器可在转换后援缓冲器(TLB)或其他结构中高速缓存此类条目,或者这些条目可存在于隐藏分区自身内。注意,隐藏分区的页表条目可存储在单独的页表中。
为了执行完整性运算,每个存储器页可被提供给AES-CMAC函数150,其在一个实施例中可使用处理器核心、核外、集成输入/输出控制器、外围设备控制器、存储器控制器、或安全联合处理器中存在的加速器或其他专用硬件来实现。通过作为CMAC计算的一部分使用每个平台特有的私钥K1,来自另一平台的CMAC值不能被用于攻击目标平台,因为攻击者不能容易地猜出每个平台的K1。
在一个实施例中,该密钥可以为128比特且可以是每个平台特有的。在一个实施例中,AES-CMAC计算可使用核心中所包含的AES加速器,其可执行用户级ISA指令以实现AES算法。通过AES加速器,AES-CMAC在一个实施例中可在大约3.5个循环/字节处起作用,从而提供用于页完整性保护的高效且安全的方法。每个页的所得CMAC值可被存储在ICV阵列120中。在一个实施例中,每页的存储器开销是每CMAC为64比特。从源于128比特K1值的128比特CMAC选择高位比特。此外,可利用函数160使用相同的密钥K1类似地执行对整个ICV阵列120的完整性运算,由此将阵列CMAC值(CMACA)存储在存储165中。在一个实施例中,该CMACA值可为64比特。
为了标识为其计算这些完整性值的实例,根据网络工作组请求注解3602(2003年9月)的AES-密码块链式(CBC)加密函数170可用于使用存储在存储175中的第二私钥K2生成加密块(blob)190,其用于对密钥值K1和存储在计数器180中的计数器值C1执行加密。在一个实施例中,K2是从HRM存储密钥(仅HRM知道的对称密钥)导出的。进而可从处理器中或芯片组中的一组融合获得HRM存储密钥。在各个实施例中,计数器可以是单调计数器。
在不同实现中,单调计数器资源可使用多种技术来实现。作为示例,计数器可通过访问TPM或ME来实现。在该示例中,HRM可拥有TPM以确保对计数器资源的访问,或者HRM可访问例如处理器中存在的永久寄存器。作为另一示例,HRM可通过与ME建立信任关系(例如,执行密钥交换)来访问隐藏存储区域(例如,闪存或其他非易失性存储器)。作为又一示例,HRM可例如通过与存储设备建立信任关系(例如,执行密钥交换)来访问该存储设备,诸如硬盘驱动器或固态驱动器(HDD/SSD)。
所得块190可被存储并且随后在转换回操作状态以后被访问以确定隐藏分区的存储器是否仍完好。C1在被包含在该块中之后被递增到恢复计数器值C2。此后,C2可例如使用“读-递增-写(read-increment-write)”原子操作被写入永久存储器,以确保能检测到回放攻击。在其他实施例中,该递增可发生在从S3状态恢复之后。
注意,在一些实施例中,页交换攻击可通过在CMAC中包括取自页元数据的页索引值来解决。页索引值是由依赖于硬件保护来阻挠攻击者的HRM确定的。HRM中的程序隐错可能导致一个以上页CMAC上包括重复的页索引值。替换技术可使用第二单调计数器作为更可靠的唯一标识器。
现在参见图4,所示为根据本发明一个实施例的用于转换到低功率状态的方法的流程图。如图4中所示,方法200可始于接收要转换到低功率状态(从S0到S3的转换)的指令(框210)。使用隐藏环境的微代码,可使用私钥K1计算隐藏存储器的每一页的AES-CMAC值(框220)。这些CMAC值可被存储在ICV阵列中(框230)。一旦完成所有这些运算,可使用相同密钥K1计算整个阵列的AES-CMAC值(框240)。该CMAC值可被存储在另一存储中(框250)。
仍参见图4,随后可将单调计数器值C1和K1写入存储器(框260)。作为示例,这些值可被存储在临时存储位置(诸如高速缓存位置)中或隐藏分区内。随后可使用私钥K2来加密该存储器,由此生成加密块(框270)。该块随后可被存储在S3永久存储器中(框280)。作为示例,该块可被存储于在S3模式期间保持自刷新的隐藏分区的预定区域中。尽管在图4的实施例中示出了该特定实现,但本发明的范围在这方面不受限制。
现在参见图5,所示为用于从低功率模式恢复正常功率模式中的执行的方法的流程图。如所见的,方法300可始于在HRM中接收恢复通知(框310)。对于S3恢复,HRM可例如经由基本输入/输出系统(BIOS)接收要恢复隐藏镜像的通知(框310)。HRM创建隐藏环境的容器并随后确定隐藏存储器中是否存在有效ICV阵列。若是,则可通过验证该ICV阵列的CMAC(CMACA)以及每一页的CMAC来确定该ICV阵列的有效性(菱形320)。若ICV阵列完整性不是完好的,则HRM继续隐藏初始化作为正常复位路径,即存储器中的镜像被丢弃且例如从非易失性存储执行新加载代码加载(框325)。
若ICV阵列的完整性没被损害,则HRM将所有HEE页标记为不存在于隐藏页表中(框330)并将控制转移给隐藏引导加载程序进入点(框335)。当引导加载程序开始执行时,代码和数据页访问(框340)向HRM中生成页表故障(菱形345)。若ICV阵列中存在页的有效ICV(菱形350),则HRM对故障页计算ICV并将其与ICV阵列中的ICV匹配以验证该页的完整性(框355)。若得到验证(370),该页随后被映射到隐藏页表作为只读页(以跟踪页的改变)(框375)。此后,可允许对该页的访问(框380)。
仍参见图5,若在菱形350确定相应的ICV阵列条目不存在该页的有效ICV(例如,由有效指示符所指示的),则控制传递到框360,在此可用初始化代码来加载该页。此外,如所见的,若存在有效ICV条目,但计算出的ICV与相应的所存储ICV值不匹配,则在菱形370的验证失败,且可报告安全破坏(框390)。尽管在图5的实施例中示出了该特定实现,但是应理解,本发明的范围在这方面不受限制。例如,在一些实现中,还可执行对访客OS可访问的(例如,系统存储器的非隐藏存储器分区的)存储器页的验证,其中HRM实现此类验证。
现在参见图6,所示是根据本发明一个实施例的验证方法的流程图。如图6中所示,方法400可由HRM在从S3状态恢复时验证ICV阵列时实现。如所见的,方法400可始于接收要确定ICV完整性的请求(框410)。相应地,HRM可从HRM的存储密钥推导加密密钥K2(框420)并相应地使用K2解密该块以获得密钥K1和计数器值C1(框430)。还应注意,可在此时之前或在此时调用功率状态转换以从S3恢复并递增恢复计数器值C2,恢复计数器值C2可在恢复时从永久存储获得(框440)。
在菱形450,HRM可确定C1值与C2值是否相差预定阈值(例如,1)以上。若是,则验证失败且可报告安全破坏(框460)。若该比较是所期望的,则控制传递到框470,在此可验证ICV阵列的CMAC值以及每个隐藏执行环境页的CMAC值(框470)。若计算出的值匹配所存储的值,则在菱形475可确定验证成功且可作出成功验证的报告(框480)。否则,验证失败且控制传递到框460。
通过基于AES-CMAC执行对存储器页的散列以及CMAC值阵列的AES-CMAC(CMACA),各实施例可实现用于阻止次原像攻击的更高效技术。此外,使用通过加密CMACA值所包括的单调计数器值可阻止攻击者用来自先前功率状态转换的页来替换所有存储器页。另外,通过在页CMAC运算中包括页索引值,可防止出现在不同地址位置的具有相同CMAC值的相同页的恶意替换。
各实施例可进一步实现使用微处理器的微代码来实例化的隐藏可管理性环境以向外部实体证明该环境,同时对用户的隐私目标敏感。此外,该环境的完整性度量可被微代码记录,从而它们随后可被远程或外部实体使用和验证。
为了实现此类证明活动,微代码可创建信任根,其中保护证明函数免受外部威胁。处理器的扩展寄存器可被用于存储完整性度量。随后可使用私钥(例如,所谓的EPID)来对扩展寄存器的内容进行数字签名。进而,相应的公钥可密码地验证EPID私钥的签名。在一些实施例中,负责确定平台的隐私和安全策略的实体还可提供所有者ID值。
非对称代码签名密钥可被用于验证在执行/启动时加载到隐藏环境中的固件的完整性。进而,完整性清单可包含可接受完整性度量的白名单。该清单可保护指示可启动到隐藏环境中的所有应用的启动控制策略。
一般而言,可发生引导到安全隐藏环境中的两个操作阶段:1)启动阶段;以及2)证明阶段。在启动阶段,固件被加载到通过HRM对主存储器隐藏的存储器页中。首先使用非对称代码签名密钥来验证完整性清单。随后使用该清单中所包含的白名单(例如,散列值)来验证要加载的模块。
代码度量记录在仅HRM能访问的扩展寄存器中,从而其值不能被不信任代码更新或重置。如以下将描述的,在一个实施例中,要验证的第一对象是隐藏环境的暂时内核,称为内核0、引导加载程序,其被用于启动隐藏环境的永久内核(内核1)。内核0从HRM接收代码签名密钥并对内核1执行代码完整性度量和验证。度量被给予HRM以存储在扩展寄存器中。内核1随后使用由内核0提供的启动控制策略来验证应用代码完整性。应用的完整性度量可被记录在称为启动历史的日志文件中。以下进一步描述证明阶段的详情。
现在参见图7,所示是根据本发明一个实施例的高级启动方法的流程图。如图7所示,方法500可始于系统重置(框510)。HRM代码可被执行以验证暂时内核(框520)。若暂时内核得到验证(菱形530),则控制传递到框540,在此暂时内核的度量可被存储在处理器的扩展寄存器中(框540)。否则,若验证失败,则可报告失败(框535)。
如所见的,当验证指示有效的暂时内核时,该暂时内核可被启动(框550)并被执行以验证隐藏内核(框560)。该隐藏内核可以是隐藏执行环境的永久内核。相应地,在菱形565,可确定隐藏内核是否得到验证。若是,则隐藏内核的度量可被存储在扩展寄存器中(框575),且可使用隐藏内核来验证要执行的一个或多个应用(框580)。否则,若隐藏内核没有得到验证,则控制传递到框570,在此可报告失败。尽管在图7的实施例中示出了该特定实现,但本发明的范围在这方面不受限制。
应用的启动取决于向下直至HRM的每个在前层的成功启动,其细节在图8中示出,图8描述了根据本发明一个实施例的启动操作的流程500`。如所见的,HRM层510`作为重置补丁(Patch-at-Reset)机制的一部分被隐式地启动,其中执行微代码(以及因此HRM)。HRM代码本身作为制造的一部分被签名。代码镜像中包括代码签名密钥(HPK),其是制造商发行的Rivest ShamirAdelman(RSA)2048或更大的公钥。HEE内核0代码在复位之后由HRM加载。内核0和内核1镜像可位于非易失性存储中。这些镜像包括可执行代码以及包含该代码的完整性散列的签名清单。
当HRM加载内核0代码时,其计算内核0代码的散列(例如,AES-CMAC散列),该散列与清单中的散列值作比较。使用HPK代码签名密钥来验证清单签名。若内核0镜像完整性得到验证,则可用该散列值以及指示成功验证的标志(例如,K0_成功_比特=真)来更新可位于处理器内的扩展寄存器515`。否则,该寄存器被更新为指示失败的验证(例如,K0_成功_比特=假)。
当HRM仅在该标志比特被置位(例如,K0_成功_比特=真)的情况下才启动内核0并且将HPK公钥传递给内核0时,可发起内核0层520`。否则,HRM不允许内核0或内核1对扩展寄存器的使用。在一个实施例中,内核0是暂时内核,其目的是为了启动内核1。内核0加载内核1清单,其包括内核1代码、该代码的散列、包含内核1上可接受运行的应用的白名单的应用启动控制策略(AppLCP)、以及HPK的签名。AppLCP(应用LCP)被散列并被扩展到扩展寄存器515`中。AppLCP格式可包括扩展寄存器中扩展的散列中所包括的版本信息。当内核0加载内核1代码时,其计算内核1代码的散列(例如,AES-CMAC散列),该散列与内核1清单中的散列值作比较。使用HPK代码签名密钥来验证清单签名。在一个实施例中,所有内核1核心服务和共享库都被包括在内核1完整性度量中。
若内核1镜像完整性得到验证,则用该散列值以及指示成功验证的标志(例如,K1_成功_比特=真)来更新扩展寄存器515`。否则,用设置成指示失败的验证(即,K1_成功_比特=假)的标志来更新它。内核1计算AppLCP完整性散列。该散列被给予扩展寄存器515`以进行更新。此时,内核1层530`被启动。作为该启动的一部分,AppLCP被传递给内核1。内核1通过计算要启动的每个应用的完整性散列来安全地加载应用。与AppLCP分开的策略确定要加载哪些应用。若内核1计算出的散列(AES-CMAC)与AppLCP中所包含的散列值匹配,则应用完整性检验成功。应用启动结果的历史可被记录在启动历史535`中。此时,隐藏环境准备好执行。
在证明阶段,验证程序可发起获得环境完整性的证据的请求。该验证程序向内核1提供不重性数(例如,不重性数1),这确保证明结果是新的(即,不是来自先前请求的回放)。内核1随后可用不重性数1构造传递给HRM的启动历史的散列以进行处理。
HRM将该启动历史散列、不重性数、扩展寄存器以及所有者ID(以下描述)纳入随后用私钥来数字签名的消息中。经签名的证明记录被返回给内核1且随后被转发给原始验证程序。验证程序使用其先前接收到的私钥的公共副本来检查该EPID签名。验证程序应用解释设计成估量与同隐藏环境的交互相关联的风险的证明记录的策略。
因此在各个实施例中,可完全在处理器中提供证明而无需与微处理器核心分开的分立证明控制器。这避免了对信任将核心与证明控制器联合的总线架构和互连的需要。此外,各实施例可将证明与隐藏环境组合,因为片上处理器资源能实例化隐藏可管理性环境。
即,证明与隐藏环境集成于在处理器核心上运行的微代码中。微代码具有与处理器微代码相似的信任根,它可受托来正确地管理EPID、扩展寄存器以及代码签名密钥。使用EPID来签名接收到的证明允许验证程序知道该证明记录是可信的,因为它是由给定制造商所提供的硬件构造的。在其中使用由用户生成的私钥(例如,所有者ID)的一个实施例中,在证明记录中包括该所有者ID允许该平台的所有者通过确定该所有者ID应当多么独特或不独特来控制隐私属性。
HEE环境的证明始于验证程序的证明请求消息。验证程序是有能力与内核1交互的任何环境。现在参见图9,所示是根据本发明一个实施例的证明方法600的流程图。如图9中所示,验证程序610计算对其中证明有意义的事务所特有的不重性数(不重性数1)。该事务可以长期存活(跨越几年),诸如证书登记过程;或者可以短期存活(跨越几秒),诸如服务网页的超文本传输协议(HTTP)会话。验证程序完全控制如何构造不重性数1。不重性数1可阻止对获得证明的事务的回放攻击。验证程序610将不重性数1作为证明请求的一部分提供给内核1620,该证明请求指定哪些应用将被包括在该证明中。
内核1查询启动历史625以获得给定应用(例如,应用X)的完整性值和启动状态。该信息随后连同不重性数1一起被转发给HRM 630。HRM构造证明记录,该证明记录包括由内核1传递来的信息以及私钥,诸如作为隐藏部署的一部分提供给消费者环境的所有者ID。如所见的,所有者ID 635可被存储在处理器内部或处理器外部与HRM相关联的非易失性存储中。当该平台首次被加载到环境中时,有可能形成所有者ID,其允许该平台的所有者为硬件建立其自己的身份,这不同于由制造商定义的身份。这样,硬件的所有者可确定如何命名该平台以及决定需要多么多或多么少的独特性。因此,基于组织的隐私策略,该所有者ID可揭示确定量的个人可标识信息。使用从例如核外中的融合推导出的HRM交换密钥(HWK)来加密所有者ID。所交换的所有者ID随后可连同内核0、内核1、应用、清单和应用数据被存储在非易失性存储中。来自扩展寄存器638(其可以是例如核外所包含的机器专用寄存器(MSR))的信息,包括内核1和内核0的完整性度量以及AppLCP的散列,被提供给证明记录,该证明记录使用EPID私钥来签名。
经签名的结果被转发给验证程序610,其中使用EPID公钥来验证EPID签名。将证明记录不重性数1与原始不重性数1作比较以检测回放攻击。检查消费者提供的所有者ID以确定这是否是该验证程序拥有的平台。可咨询所发布的应用、内核1和内核0镜像的白名单以验证应用X正在预期环境中执行。作为一个示例,指派给部署到消费者的环境高速缓存中的平台的所有者ID被存档在目录服务中,其中一般部署在网络或企业内的验证代理可查询它们。验证程序还可访问也存档在目录服务中的经所有者批准的内核、应用和配置的白名单。
现在参见图10,所示为根据本发明一个实施例的处理器的框图。如图10中所示,处理器700可以是多级管线化无序处理器。图10中用相对简化的视图示出处理器700以说明根据本发明一个实施例的用于隐藏执行环境的各种特征。
如图10中所示,处理器700包括前端单元710,其可用于读取要执行的宏指令并准备它们供以后在处理器中使用。例如,前端单元710可包括读取单元701、指令高速缓存703、以及指令解码器705。如所见的,前端单元710可进一步包括ISA微代码存储706,其存储处理器的ISA的处理器指令。此外,单独的隐藏微代码存储708可存储用于隐藏执行环境的处理器指令。读取单元701可例如从存储器或指令高速缓存703读取宏指令并将它们馈送给指令解码器705以将它们解码成原语,即供处理器执行的微操作。
仍参见图10,前端单元710与执行单元720之间耦合了无序(OOO)引擎715,其可用于接收微指令并准备它们以供执行。更具体地,OOO引擎715可包括各种缓冲器以将微指令流重排序并分配执行所需的各种资源,以及将逻辑寄存器的重命名提供到各寄存器文件(诸如寄存器文件730和矢量寄存器文件735)内的存储位置上。寄存器文件730可包括用于整数和浮点运算的单独寄存器文件。矢量寄存器文件735可提供矢量大小的单元的存储,例如每寄存器为256或512比特。可存在诸如扩展寄存器725和非易失性存储722等附加存储。如上所述,扩展寄存器725可用于存储用于在隐藏执行环境中的证明操作期间使用的信息。除了其他信息,非易失性存储722可存储私钥和处理器标识符,包括例如EPID和所有者ID。
执行单元720中可存在各种资源,包括例如各种整数、浮点、和单指令多数据(SIMD)逻辑单元,以及其他专用硬件,诸如加密加速器。结果可被提供给回收逻辑,即重排序缓冲器(ROB)740。更具体地,ROB 740可包括用以接收与被执行的指令相关联的信息的各种阵列和逻辑。该信息随后被ROB740检查以确定指令是否能被有效回收且结果数据被提交给处理器的架构状态,或者是否发生了阻止指令的正确回收的一个或多个异常。当然,ROB 740可处理与回收相关联的其他操作。
如图10中所示,ROB 740耦合到高速缓存750,其在一个实施例中可以是低级高速缓存(例如,L1高速缓存),但本发明的范围在这方面不受限制。另外,执行单元720可直接耦合到高速缓存750。从高速缓存750可发生与高级高速缓存、系统存储器等的数据通信。尽管在图10的实施例中示出该高级图,但是应理解本发明的范围在这方面不受限制。
各实施方式可以用代码实现,并且可以存储在其上存储有指令的存储介质上,这些指令可用于给系统编程以便执行这些指令。存储介质可以包括但不限于任何类型的盘,包括软盘、光盘、光学盘、固态驱动器(SSD)、致密盘只读存储器(CD-ROM)、可重写致密盘(CD-RW)和磁光盘、诸如只读存储器(ROM)的半导体器件、诸如动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)之类的随机存取存储器(RAM)、可擦除可编程只读存储器(EPROM)、闪存、电可擦除可编程只读存储器(EEPROM)、磁卡或者光卡、或者适于存储电子指令的任何其它类型的介质。
尽管本发明以有限的几个实施例予以描述,本领域的技术人员将会从其中意识到许多改变和变型。所附权利要求旨在覆盖所有此类改变和变型,只要其落于本发明的实质精神和范围内。
Claims (20)
1.一种用于在隐藏执行环境中提供完整性验证和证明的装置,包括:
用于执行指令的处理器,所述处理器包括至少一个核心以及第一微代码存储器、第二微代码存储器和扩展寄存器,所述第一微代码存储器包括用于执行所述处理器的指令集架构ISA的指令的第一处理器指令,所述第二微代码存储器包括用于创建和执行要在系统软件不可见的隐藏环境中执行的隐藏资源管理器HRM的第二处理器指令,所述扩展寄存器用于存储安全信息,所述安全信息包括所述隐藏环境的至少一个内核代码模块的度量以及所述至少一个内核代码模块的验证状态,
其中所述处理器进一步包括加速器,用于执行密码消息认证码CMAC运算以及将所述CMAC运算存储在完整性检验值ICV阵列的条目中。
2.如权利要求1所述的装置,其特征在于,所述扩展寄存器还用于存储要在所述隐藏环境中执行的至少一个应用的启动控制策略的散列。
3.如权利要求1所述的装置,其特征在于,所述处理器用于完全在所述处理器内执行所述隐藏环境中的证明。
4.如权利要求3所述的装置,其特征在于,所述证明是在不与耦合到所述处理器的任何代理通信的情况下执行的。
5.如权利要求1所述的装置,其特征在于,所述加速器用于为耦合到所述处理器的存储器的隐藏分区的多个页中的每一页执行所述CMAC运算。
6.如权利要求1所述的装置,其特征在于,所述处理器包括由所述处理器的制造商存储的用于标识所述制造商的第一标识符以及由包括所述处理器的系统的所有者存储的第二标识符,其中所述第二标识符具有可控制量的独特性。
7.如权利要求1所述的装置,其特征在于,所述处理器用于从所述处理器中的一组融合获得私钥。
8.一种用于在隐藏执行环境中提供完整性验证和证明的方法,包括:
使用第一私钥生成系统的系统存储器的隐藏分区的多个页的密码消息认证码CMAC,并将所述CMAC中的每一个存储在完整性检验值ICV阵列的相应条目中;
使用第二私钥将所述第一私钥以及计数器值加密到加密块中;
使所述系统从第一功率状态转换到低功率状态,所述系统存储器在所述低功率状态中不受所述系统的处理器保护;以及
在所述系统从所述低功率状态转换到所述第一功率状态时使用所述加密块以及所述ICV阵列来验证所述隐藏分区。
9.如权利要求8所述的方法,其特征在于,所述第二私钥是由在隐藏环境中执行的所述处理器的微代码从存储密钥推导出的。
10.如权利要求8所述的方法,其特征在于,还包括使用所述第一私钥生成所述ICV阵列的CMAC并将所述ICV阵列的CMAC存储在第二存储器中。
11.如权利要求8所述的方法,其特征在于,还包括在使所述系统转换到所述低功率状态之前将所述计数器值存储在永久存储器中,以及在从所述低功率状态返回之后递增所存储的计数器值,其中在所述处理器处于所述低功率状态时,所述系统存储器处于自刷新模式。
12.如权利要求8所述的方法,其特征在于,还包括在使所述系统转换到所述低功率状态之前递增所述计数器值以及将递增后的计数器值存储在非易失性存储器中。
13.如权利要求12所述的方法,其特征在于,验证所述隐藏分区包括:
使用所述第二私钥解密所述加密块以获得所述第一私钥和所述计数器值,其中所述第二私钥是由所述处理器的微代码生成的;
将所述计数器值与存储在所述非易失性存储器中的所述递增后的计数器值作比较;以及
验证所述ICV阵列的CMAC以及所述页的CMAC。
14.如权利要求13所述的方法,其特征在于,还包括若所述比较得到大于预定阈值的差则指示所述验证失败。
15.如权利要求13所述的方法,其特征在于,还包括若所述ICV阵列的计算出的CMAC不匹配所述ICV阵列的所存储CMAC或者至少一个所述页的计算出的CMAC不匹配存储在所述ICV阵列中的相应CMAC,则指示所述验证失败。
16.一种用于在隐藏执行环境中提供完整性验证和证明的系统,包括:
用于执行指令的处理器,所述处理器包括至少一个核心以及微代码存储器和扩展寄存器,所述微代码存储器包括用于创建和执行要在系统软件不可见的隐藏环境中执行的隐藏资源管理器HRM的处理器指令,所述扩展寄存器用于存储安全信息,所述安全信息包括所述隐藏环境的至少一个内核代码模块的度量以及所述至少一个内核代码模块的验证状态,其中所述HRM用于使用第一私钥生成隐藏存储器分区的多个页中每一页的密码消息认证码CMAC、并将所述CMAC中的每一个存储在完整性检验值ICV阵列的相应条目中,使用第二私钥将所述第一私钥以及计数器值加密到加密块中,以及在所述系统转换出低功率状态时使用所述加密块和所述ICV阵列的每个所述条目来验证所述隐藏存储器分区中由所述HRM指派以供在所述隐藏环境中使用的页;以及
耦合到所述处理器且包括所述隐藏存储器分区的系统存储器,当所述处理器处于所述低功率状态时,所述系统存储器将处于自刷新状态。
17.如权利要求16所述的系统,其特征在于,所述处理器用于完全在所述处理器内执行所述隐藏环境中的证明而不与耦合到所述处理器的任何代理通信。
18.如权利要求16所述的系统,其特征在于,所述处理器进一步包括加速器,用于执行CMAC运算以及将所述CMAC中的每一个存储在所述ICV阵列的条目中。
19.如权利要求16所述的系统,其特征在于,所述处理器包括由所述处理器的制造商存储的用于标识所述制造商的第一标识符以及由包括所述处理器的系统的所有者存储的第二标识符,其中所述第二标识符具有可控制量的独特性。
20.如权利要求16所述的系统,其特征在于,所述HRM用于实现所述系统存储器中访客操作系统可访问的存储器分区的页的验证。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/639,616 | 2009-12-16 | ||
US12/639,616 US8510569B2 (en) | 2009-12-16 | 2009-12-16 | Providing integrity verification and attestation in a hidden execution environment |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102103673A CN102103673A (zh) | 2011-06-22 |
CN102103673B true CN102103673B (zh) | 2014-08-06 |
Family
ID=44144243
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010610084.2A Expired - Fee Related CN102103673B (zh) | 2009-12-16 | 2010-12-15 | 在隐藏执行环境中提供完整性验证和证明 |
Country Status (9)
Country | Link |
---|---|
US (3) | US8510569B2 (zh) |
EP (1) | EP2513837A4 (zh) |
JP (1) | JP5390703B2 (zh) |
KR (1) | KR101371784B1 (zh) |
CN (1) | CN102103673B (zh) |
BR (1) | BRPI1010193A2 (zh) |
DE (1) | DE112010004885T5 (zh) |
TW (2) | TWI567581B (zh) |
WO (1) | WO2011084210A2 (zh) |
Families Citing this family (197)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8819450B2 (en) * | 2008-11-25 | 2014-08-26 | Dell Products L.P. | System and method for providing data integrity |
US8589625B2 (en) | 2010-09-15 | 2013-11-19 | Pure Storage, Inc. | Scheduling of reconstructive I/O read operations in a storage environment |
US11614893B2 (en) | 2010-09-15 | 2023-03-28 | Pure Storage, Inc. | Optimizing storage device access based on latency |
US11275509B1 (en) | 2010-09-15 | 2022-03-15 | Pure Storage, Inc. | Intelligently sizing high latency I/O requests in a storage environment |
US8468318B2 (en) | 2010-09-15 | 2013-06-18 | Pure Storage Inc. | Scheduling of I/O writes in a storage environment |
US8589655B2 (en) | 2010-09-15 | 2013-11-19 | Pure Storage, Inc. | Scheduling of I/O in an SSD environment |
US8732426B2 (en) | 2010-09-15 | 2014-05-20 | Pure Storage, Inc. | Scheduling of reactive I/O operations in a storage environment |
US9244769B2 (en) | 2010-09-28 | 2016-01-26 | Pure Storage, Inc. | Offset protection data in a RAID array |
US8775868B2 (en) | 2010-09-28 | 2014-07-08 | Pure Storage, Inc. | Adaptive RAID for an SSD environment |
US8627464B2 (en) * | 2010-11-02 | 2014-01-07 | Microsoft Corporation | Globally valid measured operating system launch with hibernation support |
US9087196B2 (en) * | 2010-12-24 | 2015-07-21 | Intel Corporation | Secure application attestation using dynamic measurement kernels |
CN103329093B (zh) | 2011-01-19 | 2017-09-12 | 国际商业机器公司 | 用于更新执行环境中的代码的方法和系统 |
US20120254526A1 (en) * | 2011-03-28 | 2012-10-04 | Advanced Micro Devices, Inc. | Routing, security and storage of sensitive data in random access memory (ram) |
US9111099B2 (en) * | 2011-05-31 | 2015-08-18 | Red Hat, Inc. | Centralized kernel module loading |
US11636031B2 (en) | 2011-08-11 | 2023-04-25 | Pure Storage, Inc. | Optimized inline deduplication |
US8589640B2 (en) | 2011-10-14 | 2013-11-19 | Pure Storage, Inc. | Method for maintaining multiple fingerprint tables in a deduplicating storage system |
CN103765427B (zh) | 2011-09-07 | 2017-02-15 | 英特尔公司 | 检验设备的固件完整性 |
JP5905586B2 (ja) | 2011-09-30 | 2016-04-20 | インテル・コーポレーション | 仮想マシンおよびネストにされた仮想マシンマネージャの認証されたランチ |
US9069586B2 (en) | 2011-10-13 | 2015-06-30 | Mcafee, Inc. | System and method for kernel rootkit protection in a hypervisor environment |
US8973144B2 (en) * | 2011-10-13 | 2015-03-03 | Mcafee, Inc. | System and method for kernel rootkit protection in a hypervisor environment |
US10803970B2 (en) * | 2011-11-14 | 2020-10-13 | Seagate Technology Llc | Solid-state disk manufacturing self test |
CN104012032B (zh) * | 2011-12-22 | 2017-04-19 | 英特尔公司 | 处理sha‑1安全散列算法的方法和设备 |
WO2013101083A1 (en) * | 2011-12-29 | 2013-07-04 | Intel Corporation | An apparatus for hardware accelerated runtime integrity measurement |
US10303503B2 (en) * | 2011-12-31 | 2019-05-28 | Intel Corporation | Hardware protection of virtual machine monitor runtime integrity watcher |
WO2013101248A1 (en) * | 2011-12-31 | 2013-07-04 | Intel Corporation | Hardware protection of virtual machine monitor runtime integrity watcher |
US8719540B1 (en) | 2012-03-15 | 2014-05-06 | Pure Storage, Inc. | Fractal layout of data blocks across multiple devices |
US20130254906A1 (en) * | 2012-03-22 | 2013-09-26 | Cavium, Inc. | Hardware and Software Association and Authentication |
EP2831787B1 (en) * | 2012-03-30 | 2020-07-08 | Irdeto B.V. | Method and system for preventing and detecting security threats |
US20130305391A1 (en) * | 2012-05-14 | 2013-11-14 | Rosemount Aerospace, Inc. | Common Computing Apparatus Providing Distinct Non-Certified And Certified Computing Platforms |
US9043903B2 (en) | 2012-06-08 | 2015-05-26 | Crowdstrike, Inc. | Kernel-level security agent |
US9367688B2 (en) | 2012-06-22 | 2016-06-14 | Intel Corporation | Providing geographic protection to a system |
US8973095B2 (en) | 2012-06-25 | 2015-03-03 | Intel Corporation | Authenticating a user of a system via an authentication image mechanism |
US8800052B2 (en) * | 2012-06-29 | 2014-08-05 | Intel Corporation | Timer for hardware protection of virtual machine monitor runtime integrity watcher |
US9367691B2 (en) | 2012-07-31 | 2016-06-14 | Hewlett-Packard Development Company, L.P. | Modify executable bits of system management memory page table |
JP6026666B2 (ja) * | 2012-09-14 | 2016-11-16 | インテル・コーポレーション | 方法、装置、プログラム、及びコンピュータ可読記憶媒体 |
US8745415B2 (en) | 2012-09-26 | 2014-06-03 | Pure Storage, Inc. | Multi-drive cooperation to generate an encryption key |
US11032259B1 (en) | 2012-09-26 | 2021-06-08 | Pure Storage, Inc. | Data protection in a storage system |
US10623386B1 (en) | 2012-09-26 | 2020-04-14 | Pure Storage, Inc. | Secret sharing data protection in a storage system |
US8838997B2 (en) * | 2012-09-28 | 2014-09-16 | Intel Corporation | Instruction set for message scheduling of SHA256 algorithm |
US9215249B2 (en) | 2012-09-29 | 2015-12-15 | Intel Corporation | Systems and methods for distributed trust computing and key management |
US8924727B2 (en) | 2012-10-12 | 2014-12-30 | Intel Corporation | Technologies labeling diverse content |
US10095433B1 (en) | 2012-10-24 | 2018-10-09 | Western Digital Technologies, Inc. | Out-of-order data transfer mechanisms for data storage systems |
US9064109B2 (en) | 2012-12-20 | 2015-06-23 | Intel Corporation | Privacy enhanced key management for a web service provider using a converged security engine |
US9646039B2 (en) | 2013-01-10 | 2017-05-09 | Pure Storage, Inc. | Snapshots in a storage system |
US11768623B2 (en) | 2013-01-10 | 2023-09-26 | Pure Storage, Inc. | Optimizing generalized transfers between storage systems |
US10908835B1 (en) | 2013-01-10 | 2021-02-02 | Pure Storage, Inc. | Reversing deletion of a virtual machine |
US11733908B2 (en) | 2013-01-10 | 2023-08-22 | Pure Storage, Inc. | Delaying deletion of a dataset |
US9681378B2 (en) * | 2013-04-12 | 2017-06-13 | Microsoft Technology Licensing, Llc | Energy efficient data handling for mobile devices |
US10223156B2 (en) | 2013-06-09 | 2019-03-05 | Apple Inc. | Initiating background updates based on user activity |
US9705869B2 (en) | 2013-06-27 | 2017-07-11 | Intel Corporation | Continuous multi-factor authentication |
US10263770B2 (en) | 2013-11-06 | 2019-04-16 | Pure Storage, Inc. | Data protection in a storage system using external secrets |
US10365858B2 (en) | 2013-11-06 | 2019-07-30 | Pure Storage, Inc. | Thin provisioning in a storage device |
US11128448B1 (en) | 2013-11-06 | 2021-09-21 | Pure Storage, Inc. | Quorum-aware secret sharing |
CN103607279B (zh) * | 2013-11-14 | 2017-01-04 | 中国科学院数据与通信保护研究教育中心 | 基于多核处理器的密钥保护方法及系统 |
US9535712B2 (en) * | 2013-12-04 | 2017-01-03 | Insyde Software Corp. | System and method to store data securely for firmware using read-protected storage |
US9208086B1 (en) | 2014-01-09 | 2015-12-08 | Pure Storage, Inc. | Using frequency domain to prioritize storage of metadata in a cache |
US9509502B2 (en) | 2014-03-13 | 2016-11-29 | Intel Corporation | Symmetric keying and chain of trust |
US9348997B2 (en) | 2014-03-13 | 2016-05-24 | Intel Corporation | Symmetric keying and chain of trust |
US9521125B2 (en) | 2014-03-13 | 2016-12-13 | Intel Corporation | Pseudonymous remote attestation utilizing a chain-of-trust |
US10289405B2 (en) | 2014-03-20 | 2019-05-14 | Crowdstrike, Inc. | Integrity assurance and rebootless updating during runtime |
US10656864B2 (en) | 2014-03-20 | 2020-05-19 | Pure Storage, Inc. | Data replication within a flash storage array |
US10430487B2 (en) | 2014-04-04 | 2019-10-01 | Paypal, Inc. | System and method to share content utilizing universal link format |
US9432796B2 (en) | 2014-05-30 | 2016-08-30 | Apple Inc. | Dynamic adjustment of mobile device based on peer event data |
US9779268B1 (en) | 2014-06-03 | 2017-10-03 | Pure Storage, Inc. | Utilizing a non-repeating identifier to encrypt data |
US9218244B1 (en) | 2014-06-04 | 2015-12-22 | Pure Storage, Inc. | Rebuilding data across storage nodes |
US11399063B2 (en) | 2014-06-04 | 2022-07-26 | Pure Storage, Inc. | Network authentication for a storage system |
US9218407B1 (en) | 2014-06-25 | 2015-12-22 | Pure Storage, Inc. | Replication and intermediate read-write state for mediums |
US10496556B1 (en) | 2014-06-25 | 2019-12-03 | Pure Storage, Inc. | Dynamic data protection within a flash storage system |
US9785801B2 (en) * | 2014-06-27 | 2017-10-10 | Intel Corporation | Management of authenticated variables |
US10296469B1 (en) | 2014-07-24 | 2019-05-21 | Pure Storage, Inc. | Access control in a flash storage system |
US9690922B2 (en) * | 2014-07-28 | 2017-06-27 | Avago Technologies General Ip (Singapore) Pte. Ltd. | System, apparatus, and method for anti-replay protection of data stored in a non-volatile memory device |
US9495255B2 (en) | 2014-08-07 | 2016-11-15 | Pure Storage, Inc. | Error recovery in a storage cluster |
US9558069B2 (en) | 2014-08-07 | 2017-01-31 | Pure Storage, Inc. | Failure mapping in a storage array |
US9864761B1 (en) | 2014-08-08 | 2018-01-09 | Pure Storage, Inc. | Read optimization operations in a storage system |
US9928385B2 (en) * | 2014-08-29 | 2018-03-27 | The Boeing Company | Periodic memory refresh in a secure computing system |
US10430079B2 (en) | 2014-09-08 | 2019-10-01 | Pure Storage, Inc. | Adjusting storage capacity in a computing system |
US10164841B2 (en) | 2014-10-02 | 2018-12-25 | Pure Storage, Inc. | Cloud assist for storage systems |
US9489132B2 (en) | 2014-10-07 | 2016-11-08 | Pure Storage, Inc. | Utilizing unmapped and unknown states in a replicated storage system |
US10430282B2 (en) | 2014-10-07 | 2019-10-01 | Pure Storage, Inc. | Optimizing replication by distinguishing user and system write activity |
CN104270252B (zh) * | 2014-10-16 | 2018-03-02 | 广州柏诚智能科技有限公司 | 热量表远程抄表系统及该系统实现可信增强的方法 |
US9727485B1 (en) | 2014-11-24 | 2017-08-08 | Pure Storage, Inc. | Metadata rewrite and flatten optimization |
US9773007B1 (en) | 2014-12-01 | 2017-09-26 | Pure Storage, Inc. | Performance improvements in a storage system |
US9552248B2 (en) | 2014-12-11 | 2017-01-24 | Pure Storage, Inc. | Cloud alert to replica |
US9588842B1 (en) | 2014-12-11 | 2017-03-07 | Pure Storage, Inc. | Drive rebuild |
US9864769B2 (en) | 2014-12-12 | 2018-01-09 | Pure Storage, Inc. | Storing data utilizing repeating pattern detection |
US10545987B2 (en) | 2014-12-19 | 2020-01-28 | Pure Storage, Inc. | Replication to the cloud |
US10296354B1 (en) | 2015-01-21 | 2019-05-21 | Pure Storage, Inc. | Optimized boot operations within a flash storage array |
US11947968B2 (en) | 2015-01-21 | 2024-04-02 | Pure Storage, Inc. | Efficient use of zone in a storage device |
US9710165B1 (en) | 2015-02-18 | 2017-07-18 | Pure Storage, Inc. | Identifying volume candidates for space reclamation |
US10082985B2 (en) | 2015-03-27 | 2018-09-25 | Pure Storage, Inc. | Data striping across storage nodes that are assigned to multiple logical arrays |
US10178169B2 (en) | 2015-04-09 | 2019-01-08 | Pure Storage, Inc. | Point to point based backend communication layer for storage processing |
US10140149B1 (en) | 2015-05-19 | 2018-11-27 | Pure Storage, Inc. | Transactional commits with hardware assists in remote memory |
US10491708B2 (en) | 2015-06-05 | 2019-11-26 | Apple Inc. | Context notifications |
US9547441B1 (en) | 2015-06-23 | 2017-01-17 | Pure Storage, Inc. | Exposing a geometry of a storage device |
US10310740B2 (en) | 2015-06-23 | 2019-06-04 | Pure Storage, Inc. | Aligning memory access operations to a geometry of a storage device |
US10339316B2 (en) | 2015-07-28 | 2019-07-02 | Crowdstrike, Inc. | Integrity assurance through early loading in the boot phase |
US11250134B2 (en) * | 2015-08-21 | 2022-02-15 | Cryptography Research, Inc. | Secure computation environment |
US11341136B2 (en) | 2015-09-04 | 2022-05-24 | Pure Storage, Inc. | Dynamically resizable structures for approximate membership queries |
US11269884B2 (en) | 2015-09-04 | 2022-03-08 | Pure Storage, Inc. | Dynamically resizable structures for approximate membership queries |
KR20170028825A (ko) | 2015-09-04 | 2017-03-14 | 퓨어 스토리지, 아이앤씨. | 압축된 인덱스들을 사용한 해시 테이블들에서의 메모리 효율적인 스토리지 및 탐색 |
US10073964B2 (en) | 2015-09-25 | 2018-09-11 | Intel Corporation | Secure authentication protocol systems and methods |
KR101678793B1 (ko) * | 2015-10-07 | 2016-11-22 | (주)에이티솔루션즈 | 보안운영체제를 통한 앱 무결성 검증 방법 |
US9843453B2 (en) | 2015-10-23 | 2017-12-12 | Pure Storage, Inc. | Authorizing I/O commands with I/O tokens |
KR102411770B1 (ko) | 2015-11-13 | 2022-06-22 | 삼성전자주식회사 | 전자 장치를 보호하기 위한 장치 및 방법 |
US10235526B2 (en) * | 2015-12-18 | 2019-03-19 | Intel Corporation | Secure resume from a low power state |
US10567170B2 (en) * | 2015-12-24 | 2020-02-18 | Mcafee, Llc | Hardware-generated dynamic identifier |
KR101786006B1 (ko) | 2016-01-29 | 2017-10-17 | 한국과학기술원 | 머클 트리 기반 메모리 무결성 검증 방법 및 장치 |
US10833863B2 (en) * | 2016-02-29 | 2020-11-10 | Intel Corporation | Device provisioning service |
JP6304837B2 (ja) * | 2016-03-16 | 2018-04-04 | インテル・コーポレーション | 仮想マシンおよびネストにされた仮想マシンマネージャの認証されたランチ |
US10452297B1 (en) | 2016-05-02 | 2019-10-22 | Pure Storage, Inc. | Generating and optimizing summary index levels in a deduplication storage system |
US10133503B1 (en) | 2016-05-02 | 2018-11-20 | Pure Storage, Inc. | Selecting a deduplication process based on a difference between performance metrics |
US10790978B2 (en) | 2016-05-25 | 2020-09-29 | Intel Corporation | Technologies for collective authorization with hierarchical group keys |
US10203903B2 (en) | 2016-07-26 | 2019-02-12 | Pure Storage, Inc. | Geometry based, space aware shelf/writegroup evacuation |
KR102538096B1 (ko) | 2016-09-13 | 2023-05-31 | 삼성전자주식회사 | 어플리케이션을 검증하는 디바이스 및 방법 |
US10162523B2 (en) | 2016-10-04 | 2018-12-25 | Pure Storage, Inc. | Migrating data between volumes using virtual copy operation |
US10191662B2 (en) | 2016-10-04 | 2019-01-29 | Pure Storage, Inc. | Dynamic allocation of segments in a flash storage system |
US10545861B2 (en) | 2016-10-04 | 2020-01-28 | Pure Storage, Inc. | Distributed integrated high-speed solid-state non-volatile random-access memory |
US10756816B1 (en) | 2016-10-04 | 2020-08-25 | Pure Storage, Inc. | Optimized fibre channel and non-volatile memory express access |
US10481798B2 (en) | 2016-10-28 | 2019-11-19 | Pure Storage, Inc. | Efficient flash management for multiple controllers |
US10185505B1 (en) | 2016-10-28 | 2019-01-22 | Pure Storage, Inc. | Reading a portion of data to replicate a volume based on sequence numbers |
US10359942B2 (en) | 2016-10-31 | 2019-07-23 | Pure Storage, Inc. | Deduplication aware scalable content placement |
US10452290B2 (en) | 2016-12-19 | 2019-10-22 | Pure Storage, Inc. | Block consolidation in a direct-mapped flash storage system |
US11550481B2 (en) | 2016-12-19 | 2023-01-10 | Pure Storage, Inc. | Efficiently writing data in a zoned drive storage system |
US11093146B2 (en) | 2017-01-12 | 2021-08-17 | Pure Storage, Inc. | Automatic load rebalancing of a write group |
US10387228B2 (en) | 2017-02-21 | 2019-08-20 | Crowdstrike, Inc. | Symmetric bridge component for communications between kernel mode and user mode |
US10528488B1 (en) | 2017-03-30 | 2020-01-07 | Pure Storage, Inc. | Efficient name coding |
WO2018194568A1 (en) * | 2017-04-18 | 2018-10-25 | Hewlett-Packard Development Company, L.P. | Executing processes in sequence |
US11403019B2 (en) | 2017-04-21 | 2022-08-02 | Pure Storage, Inc. | Deduplication-aware per-tenant encryption |
US10944671B2 (en) | 2017-04-27 | 2021-03-09 | Pure Storage, Inc. | Efficient data forwarding in a networked device |
US10339154B2 (en) * | 2017-05-24 | 2019-07-02 | Sap Se | Decentralized image management |
US10402266B1 (en) | 2017-07-31 | 2019-09-03 | Pure Storage, Inc. | Redundant array of independent disks in a direct-mapped flash storage system |
US10831935B2 (en) | 2017-08-31 | 2020-11-10 | Pure Storage, Inc. | Encryption management with host-side data reduction |
US10776202B1 (en) | 2017-09-22 | 2020-09-15 | Pure Storage, Inc. | Drive, blade, or data shard decommission via RAID geometry shrinkage |
US10789211B1 (en) | 2017-10-04 | 2020-09-29 | Pure Storage, Inc. | Feature-based deduplication |
US10884919B2 (en) | 2017-10-31 | 2021-01-05 | Pure Storage, Inc. | Memory management in a storage system |
CN108055132B (zh) | 2017-11-16 | 2020-04-28 | 阿里巴巴集团控股有限公司 | 一种业务授权的方法、装置及设备 |
US10860475B1 (en) | 2017-11-17 | 2020-12-08 | Pure Storage, Inc. | Hybrid flash translation layer |
US10740459B2 (en) | 2017-12-28 | 2020-08-11 | Crowdstrike, Inc. | Kernel- and user-level cooperative security processing |
US11144638B1 (en) | 2018-01-18 | 2021-10-12 | Pure Storage, Inc. | Method for storage system detection and alerting on potential malicious action |
US11010233B1 (en) | 2018-01-18 | 2021-05-18 | Pure Storage, Inc | Hardware-based system monitoring |
US10970395B1 (en) | 2018-01-18 | 2021-04-06 | Pure Storage, Inc | Security threat monitoring for a storage system |
US10853090B2 (en) * | 2018-01-22 | 2020-12-01 | Hewlett Packard Enterprise Development Lp | Integrity verification of an entity |
US10467527B1 (en) | 2018-01-31 | 2019-11-05 | Pure Storage, Inc. | Method and apparatus for artificial intelligence acceleration |
US11036596B1 (en) | 2018-02-18 | 2021-06-15 | Pure Storage, Inc. | System for delaying acknowledgements on open NAND locations until durability has been confirmed |
US11494109B1 (en) | 2018-02-22 | 2022-11-08 | Pure Storage, Inc. | Erase block trimming for heterogenous flash memory storage devices |
US11934322B1 (en) | 2018-04-05 | 2024-03-19 | Pure Storage, Inc. | Multiple encryption keys on storage drives |
US10678433B1 (en) | 2018-04-27 | 2020-06-09 | Pure Storage, Inc. | Resource-preserving system upgrade |
US11385792B2 (en) | 2018-04-27 | 2022-07-12 | Pure Storage, Inc. | High availability controller pair transitioning |
US10678436B1 (en) | 2018-05-29 | 2020-06-09 | Pure Storage, Inc. | Using a PID controller to opportunistically compress more data during garbage collection |
US11436023B2 (en) | 2018-05-31 | 2022-09-06 | Pure Storage, Inc. | Mechanism for updating host file system and flash translation layer based on underlying NAND technology |
US10776046B1 (en) | 2018-06-08 | 2020-09-15 | Pure Storage, Inc. | Optimized non-uniform memory access |
US11714910B2 (en) * | 2018-06-13 | 2023-08-01 | Hewlett Packard Enterprise Development Lp | Measuring integrity of computing system |
US11281577B1 (en) | 2018-06-19 | 2022-03-22 | Pure Storage, Inc. | Garbage collection tuning for low drive wear |
DE102018213616A1 (de) * | 2018-06-20 | 2019-12-24 | Robert Bosch Gmbh | Kryptografiemodul und Betriebsverfahren hierfür |
US11869586B2 (en) | 2018-07-11 | 2024-01-09 | Pure Storage, Inc. | Increased data protection by recovering data from partially-failed solid-state devices |
US11133076B2 (en) | 2018-09-06 | 2021-09-28 | Pure Storage, Inc. | Efficient relocation of data between storage devices of a storage system |
US11194759B2 (en) | 2018-09-06 | 2021-12-07 | Pure Storage, Inc. | Optimizing local data relocation operations of a storage device of a storage system |
US10795829B2 (en) * | 2018-09-28 | 2020-10-06 | Intel Corporation | Device, method and system to selectively provide data validation functionality |
US10846216B2 (en) | 2018-10-25 | 2020-11-24 | Pure Storage, Inc. | Scalable garbage collection |
US11113409B2 (en) | 2018-10-26 | 2021-09-07 | Pure Storage, Inc. | Efficient rekey in a transparent decrypting storage array |
CN112292678A (zh) * | 2019-01-04 | 2021-01-29 | 百度时代网络技术(北京)有限公司 | 用于验证将要由主机系统的数据处理加速器执行的内核对象的方法与系统 |
US11194473B1 (en) | 2019-01-23 | 2021-12-07 | Pure Storage, Inc. | Programming frequently read data to low latency portions of a solid-state storage array |
US10936506B2 (en) * | 2019-02-22 | 2021-03-02 | Chengdu Haiguang Integrated Circuit Design Co., Ltd. | Method for tagging control information associated with a physical address, processing system and device |
US11588633B1 (en) | 2019-03-15 | 2023-02-21 | Pure Storage, Inc. | Decommissioning keys in a decryption storage system |
US11163912B2 (en) | 2019-03-25 | 2021-11-02 | Micron Technology, Inc. | Data attestation in memory |
US11334254B2 (en) | 2019-03-29 | 2022-05-17 | Pure Storage, Inc. | Reliability based flash page sizing |
US11397674B1 (en) | 2019-04-03 | 2022-07-26 | Pure Storage, Inc. | Optimizing garbage collection across heterogeneous flash devices |
US11775189B2 (en) | 2019-04-03 | 2023-10-03 | Pure Storage, Inc. | Segment level heterogeneity |
US10990480B1 (en) | 2019-04-05 | 2021-04-27 | Pure Storage, Inc. | Performance of RAID rebuild operations by a storage group controller of a storage system |
US11099986B2 (en) | 2019-04-12 | 2021-08-24 | Pure Storage, Inc. | Efficient transfer of memory contents |
US11151256B2 (en) * | 2019-05-13 | 2021-10-19 | Dell Products, L.P. | Detecting security threats by monitoring chains of configuration changes made to basic input/output system (BIOS) or unified extensible firmware interface (UEFI) attributes |
US11487665B2 (en) | 2019-06-05 | 2022-11-01 | Pure Storage, Inc. | Tiered caching of data in a storage system |
US11281394B2 (en) | 2019-06-24 | 2022-03-22 | Pure Storage, Inc. | Replication across partitioning schemes in a distributed storage system |
US10929046B2 (en) | 2019-07-09 | 2021-02-23 | Pure Storage, Inc. | Identifying and relocating hot data to a cache determined with read velocity based on a threshold stored at a storage device |
US11422751B2 (en) | 2019-07-18 | 2022-08-23 | Pure Storage, Inc. | Creating a virtual storage system |
US11086713B1 (en) | 2019-07-23 | 2021-08-10 | Pure Storage, Inc. | Optimized end-to-end integrity storage system |
US11963321B2 (en) | 2019-09-11 | 2024-04-16 | Pure Storage, Inc. | Low profile latching mechanism |
US11403043B2 (en) | 2019-10-15 | 2022-08-02 | Pure Storage, Inc. | Efficient data compression by grouping similar data within a data segment |
US11755751B2 (en) | 2019-11-22 | 2023-09-12 | Pure Storage, Inc. | Modify access restrictions in response to a possible attack against data stored by a storage system |
US11687418B2 (en) | 2019-11-22 | 2023-06-27 | Pure Storage, Inc. | Automatic generation of recovery plans specific to individual storage elements |
US11720692B2 (en) | 2019-11-22 | 2023-08-08 | Pure Storage, Inc. | Hardware token based management of recovery datasets for a storage system |
US11341236B2 (en) | 2019-11-22 | 2022-05-24 | Pure Storage, Inc. | Traffic-based detection of a security threat to a storage system |
US11657155B2 (en) | 2019-11-22 | 2023-05-23 | Pure Storage, Inc | Snapshot delta metric based determination of a possible ransomware attack against data maintained by a storage system |
US11520907B1 (en) | 2019-11-22 | 2022-12-06 | Pure Storage, Inc. | Storage system snapshot retention based on encrypted data |
US11720714B2 (en) | 2019-11-22 | 2023-08-08 | Pure Storage, Inc. | Inter-I/O relationship based detection of a security threat to a storage system |
US11625481B2 (en) | 2019-11-22 | 2023-04-11 | Pure Storage, Inc. | Selective throttling of operations potentially related to a security threat to a storage system |
US11651075B2 (en) | 2019-11-22 | 2023-05-16 | Pure Storage, Inc. | Extensible attack monitoring by a storage system |
US11675898B2 (en) | 2019-11-22 | 2023-06-13 | Pure Storage, Inc. | Recovery dataset management for security threat monitoring |
US11615185B2 (en) | 2019-11-22 | 2023-03-28 | Pure Storage, Inc. | Multi-layer security threat detection for a storage system |
US11500788B2 (en) | 2019-11-22 | 2022-11-15 | Pure Storage, Inc. | Logical address based authorization of operations with respect to a storage system |
US11941116B2 (en) | 2019-11-22 | 2024-03-26 | Pure Storage, Inc. | Ransomware-based data protection parameter modification |
US11645162B2 (en) | 2019-11-22 | 2023-05-09 | Pure Storage, Inc. | Recovery point determination for data restoration in a storage system |
US11455395B2 (en) | 2020-06-17 | 2022-09-27 | Hewlett Packard Enterprise Development Lp | Perform verification check in response to change in page table base register |
US11829612B2 (en) | 2020-08-20 | 2023-11-28 | Micron Technology, Inc. | Security techniques for low power mode of memory device |
US20220197829A1 (en) * | 2020-12-21 | 2022-06-23 | Intel Corporation | High capacity hidden memory |
US20220198064A1 (en) * | 2020-12-22 | 2022-06-23 | International Business Machines Corporation | Provisioning secure/encrypted virtual machines in a cloud infrastructure |
TWI812042B (zh) * | 2021-03-30 | 2023-08-11 | 新唐科技股份有限公司 | 安全系統 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1662869A (zh) * | 2002-06-26 | 2005-08-31 | 英特尔公司 | 休眠保护 |
US7051366B1 (en) * | 2000-06-21 | 2006-05-23 | Microsoft Corporation | Evidence-based security policy manager |
CN101515316A (zh) * | 2008-02-19 | 2009-08-26 | 北京工业大学 | 一种可信计算终端及可信计算方法 |
CN101533447A (zh) * | 2008-05-24 | 2009-09-16 | 威盛电子股份有限公司 | 提供安全执行环境的微处理器及其执行安全编码的方法 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5167029A (en) * | 1989-12-13 | 1992-11-24 | International Business Machines Corporation | Data processing system and associated process using memory cards having data modify functions utilizing a data mask and an internal register |
US5493669A (en) * | 1993-03-03 | 1996-02-20 | Motorola, Inc. | Data processor for simultaneously searching two fields of the rename buffer having first and second most recently allogated bits |
US5664156A (en) * | 1994-09-16 | 1997-09-02 | Philips Electronics North America Corporation | Microcontroller with a reconfigurable program status word |
CN1183841A (zh) * | 1995-02-13 | 1998-06-03 | 英特特拉斯特技术公司 | 用于安全交易管理和电子权利保护的系统和方法 |
US6990579B1 (en) | 2000-03-31 | 2006-01-24 | Intel Corporation | Platform and method for remote attestation of a platform |
US6986052B1 (en) | 2000-06-30 | 2006-01-10 | Intel Corporation | Method and apparatus for secure execution using a secure memory partition |
US7036020B2 (en) | 2001-07-25 | 2006-04-25 | Antique Books, Inc | Methods and systems for promoting security in a computer system employing attached storage devices |
US7835520B2 (en) * | 2003-02-20 | 2010-11-16 | Zoran Corporation | Unique identifier per chip for digital audio/video data encryption/decryption in personal video recorders |
DE10338032B4 (de) | 2003-08-19 | 2009-12-17 | Infineon Technologies Ag | Prozessor mit elektronischen Sicherungen zum Speichern von Geheimdaten |
US7103779B2 (en) * | 2003-09-18 | 2006-09-05 | Apple Computer, Inc. | Method and apparatus for incremental code signing |
US7500098B2 (en) * | 2004-03-19 | 2009-03-03 | Nokia Corporation | Secure mode controlled memory |
US7725703B2 (en) * | 2005-01-07 | 2010-05-25 | Microsoft Corporation | Systems and methods for securely booting a computer with a trusted processing module |
US8510859B2 (en) | 2006-09-26 | 2013-08-13 | Intel Corporation | Methods and arrangements to launch trusted, co-existing environments |
US20080184028A1 (en) * | 2007-01-29 | 2008-07-31 | Dell Products L.P. | Methods, Apparatus and Products for Establishing a Trusted Information Handling System |
US7945786B2 (en) | 2007-03-30 | 2011-05-17 | Intel Corporation | Method and apparatus to re-create trust model after sleep state |
US20080320263A1 (en) * | 2007-06-20 | 2008-12-25 | Daniel Nemiroff | Method, system, and apparatus for encrypting, integrity, and anti-replay protecting data in non-volatile memory in a fault tolerant manner |
JP4775744B2 (ja) * | 2007-10-19 | 2011-09-21 | インテル・コーポレーション | 信頼できる共存環境をラウンチする方法およびプログラム |
US20090132837A1 (en) | 2007-11-15 | 2009-05-21 | Mcm Portfolio Llc | System and Method for Dynamically Selecting Clock Frequency |
US8171321B2 (en) | 2007-12-26 | 2012-05-01 | Intel Corporation | Method and apparatus for cost and power efficient, scalable operating system independent services |
-
2009
- 2009-12-16 US US12/639,616 patent/US8510569B2/en active Active
-
2010
- 2010-10-27 WO PCT/US2010/054312 patent/WO2011084210A2/en active Application Filing
- 2010-10-27 BR BRPI1010193A patent/BRPI1010193A2/pt not_active Application Discontinuation
- 2010-10-27 EP EP10842398.9A patent/EP2513837A4/en not_active Withdrawn
- 2010-10-27 KR KR1020127018367A patent/KR101371784B1/ko not_active IP Right Cessation
- 2010-10-27 JP JP2012517933A patent/JP5390703B2/ja not_active Expired - Fee Related
- 2010-10-27 DE DE112010004885T patent/DE112010004885T5/de not_active Ceased
- 2010-11-03 TW TW105114136A patent/TWI567581B/zh not_active IP Right Cessation
- 2010-11-03 TW TW099137764A patent/TWI544356B/zh not_active IP Right Cessation
- 2010-12-15 CN CN201010610084.2A patent/CN102103673B/zh not_active Expired - Fee Related
-
2013
- 2013-03-01 US US13/782,484 patent/US8887267B2/en not_active Expired - Fee Related
-
2014
- 2014-09-25 US US14/496,186 patent/US9195824B2/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7051366B1 (en) * | 2000-06-21 | 2006-05-23 | Microsoft Corporation | Evidence-based security policy manager |
CN1662869A (zh) * | 2002-06-26 | 2005-08-31 | 英特尔公司 | 休眠保护 |
CN101515316A (zh) * | 2008-02-19 | 2009-08-26 | 北京工业大学 | 一种可信计算终端及可信计算方法 |
CN101533447A (zh) * | 2008-05-24 | 2009-09-16 | 威盛电子股份有限公司 | 提供安全执行环境的微处理器及其执行安全编码的方法 |
Also Published As
Publication number | Publication date |
---|---|
JP5390703B2 (ja) | 2014-01-15 |
EP2513837A2 (en) | 2012-10-24 |
US8510569B2 (en) | 2013-08-13 |
JP2012531000A (ja) | 2012-12-06 |
KR101371784B1 (ko) | 2014-03-07 |
US20130179693A1 (en) | 2013-07-11 |
TWI567581B (zh) | 2017-01-21 |
TW201145069A (en) | 2011-12-16 |
WO2011084210A3 (en) | 2011-09-09 |
KR20120093439A (ko) | 2012-08-22 |
US20150013002A1 (en) | 2015-01-08 |
EP2513837A4 (en) | 2013-06-19 |
US8887267B2 (en) | 2014-11-11 |
BRPI1010193A2 (pt) | 2016-03-29 |
WO2011084210A2 (en) | 2011-07-14 |
DE112010004885T5 (de) | 2012-09-20 |
US20110145598A1 (en) | 2011-06-16 |
TWI544356B (zh) | 2016-08-01 |
US9195824B2 (en) | 2015-11-24 |
TW201701178A (zh) | 2017-01-01 |
CN102103673A (zh) | 2011-06-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102103673B (zh) | 在隐藏执行环境中提供完整性验证和证明 | |
KR102092453B1 (ko) | 보안되는 실행 컨텍스트 데이터 | |
JP5972924B2 (ja) | Tpmアクセスを仮想化するシステム | |
CN100447736C (zh) | 包括固件接口运行时环境保护字段的设备和方法 | |
TW201500960A (zh) | 在配有適用統一可延伸韌體介面(uefi)之韌體之計算裝置中的安全性變數變化檢測技術 | |
CN102509046A (zh) | 带有休眠支持的全局有效的测量的操作系统发动 | |
CN111264044A (zh) | 芯片、生成私钥的方法和可信证明的方法 | |
US8108905B2 (en) | System and method for an isolated process to control address translation | |
WO2020145944A1 (en) | Securing node groups | |
US20230342472A1 (en) | Computer System, Trusted Function Component, and Running Method | |
US20140283032A1 (en) | Inter-processor attestation hardware | |
CN114547656A (zh) | 一种云环境下基于Intel SGX的两阶段远程证明方法 | |
US20230015334A1 (en) | Deriving dependent symmetric encryption keys based upon a type of secure boot using a security processor | |
Yadav | SECURE BOOTLOADER IN EMBEDDED SYSTEM USING MISRA-C | |
You et al. | KVSEV: A Secure In-Memory Key-Value Store with Secure Encrypted Virtualization | |
CN114817936A (zh) | 基于异构内存的内存全加密管理方法、装置、设备及介质 | |
CN116956267A (zh) | 平台证书的基于管理控制器的验证 | |
CN117390630A (zh) | 安全启动方法、安全架构系统及计算设备 | |
CN117390631A (zh) | 安全启动方法、安全架构系统及计算设备 | |
Malipatlolla | Sustainable Trusted Computing: A Novel Approach for a Flexible and Secure Update of Cryptographic Engines on a Trusted Platform Module | |
Akram et al. | Trusted Platform Module: State-of-the-Art to Future Challenges |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20140806 Termination date: 20181215 |
|
CF01 | Termination of patent right due to non-payment of annual fee |