CN101178759A - 可信设备集成电路和对其中的存储器件进行虚拟化的方法 - Google Patents
可信设备集成电路和对其中的存储器件进行虚拟化的方法 Download PDFInfo
- Publication number
- CN101178759A CN101178759A CNA2007101674247A CN200710167424A CN101178759A CN 101178759 A CN101178759 A CN 101178759A CN A2007101674247 A CNA2007101674247 A CN A2007101674247A CN 200710167424 A CN200710167424 A CN 200710167424A CN 101178759 A CN101178759 A CN 101178759A
- Authority
- CN
- China
- Prior art keywords
- register
- value
- encryption
- impact damper
- request
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
具有虚拟化寄存器的可信设备为可信设备内存储的散列值以及其它信息提供数量可扩展的存储器件。可信设备包括如下缓冲器,通过使用专用设备密钥来加密寄存器值,将寄存器虚拟化到外部存储器件以及从外部存储器件虚拟化到该缓冲器。寄存器可以是可信设备的平台控制寄存器(PCR)或者其它存储器件,该可信设备可以是可信平台模块(TPM)。根据寄存器编号来访问寄存器。当获取外部地存储的值时,可以对它们进行解密并且放置于缓冲器中。缓冲器可以实施高速缓存机制,比如最近最常使用算法,从而减少加密/解密和进行获取的开销。可以在引导时间利用寄存器影射技术以保证篡改外部存储的虚拟化寄存器不会损及可信设备。
Description
技术领域
本发明一般地涉及处理系统中的安全性,并且具体地涉及一种用于对可信设备中的存储器件进行虚拟化的方法和装置。
背景技术
如今的安全计算系统中的数据和代码保护越来越需要对可信计算机制的集成。具体而言,在大规模服务器系统中,可从平台访问的数据可以包括实际存储器件或者通向存储器件的路径,该存储器件可能会影响到非常广泛和有价值的信息。因此,必须确保服务器系统安全从而不仅保护这些系统使其不会受到经由外部网络的外部攻击而且在允许组件访问数据之前以及在执行需要可信平台的任何代码之前理想地保证各计算组件的身份。
用于实施可信平台的典型机制是在各可移动(removable)子系统中并入在可信计算组(TCG)所公布的标准中称为可信平台模块(TPM)的可信设备。TPM用来验证子系统的身份是否匹配于特定可信身份并且也能够用来验证TPM是否安装于正确的子系统中。可信设备的唯一性由特定设备所特有的设备密钥来保证。该密钥是在设备的制造过程中硬连线或者安装的而不能通过任何接口从该设备来读取。
TPM设备密钥用来使用可信设备执行各种安全性检查。可信设备包括处理单元和寄存器以及可选的专用加密电路,使得利用设备密钥来执行的验证、加密和解密对于设备而言是“密封的”。在TPM中称为平台控制寄存器(PCR)的一组寄存器中存储必须被安全地维护的信息,比如代表了在系统中执行的软件模块的散列值、附加的密码密钥以及其它信息,从而使得能够确信TPM的查询准确地代表了可信平台的状态。
然而,由于TPM中的存储器件是密封的,所以存储空间必然受到限制,因为代表了平台状态的寄存器被包含于TPM内。由于TMP的应用增加到包括存储设备和其它应用,其中需要大量寄存器来描述平台中存在的受保护单元,所以增加了TPM的成本。
因此,将需要提供一种具有可扩展寄存器的可信设备以及一种用于确保寄存器扩展的安全性的方法,从而使得能够克服可信设备内的存储限制。
发明内容
在一种方法和装置中实现提供具有可扩展寄存器的可信设备这一目的。该装置是可信设备集成电路,并且该方法的各部分可以具体体现在用于在可信设备内的处理芯内执行的计算机程序产品中。
可信设备包括用于安全地将值存储到可信设备外部的缓冲器和存储器件以及从可信设备外部的缓冲器和存储器件获取值的存储缓冲器和控制逻辑。可信设备所专用的密钥用来对称地加密和解密这些值,从而使得当这些值在可信设备以外传送时不会受损。寄存器编号用来对外部存储的值进行索引,从而如按照索引大小以及可用外部存储器件的大小所指定的那样,能够在可信设备内支持任意多数量的虚拟寄存器。
缓冲器可以根据最近最常使用规则或者其它规则来实施高速缓存机制,从而能够获取频繁读取的寄存器而无需进行外部获取和解密。可以在启动时利用寄存器影射技术以保证篡改外部存储和加密的寄存器值不会损及可信设备的完整性。
根据如附图中所示对本发明优选实施例的如下具体描述,本发明的前述以及其它目的、特征和优点将变得明显。
附图说明
在所附权利要求中阐述了被认为是本发明之特征所在的新颖特征。然而,通过参照应结合附图来阅读的对示例性实施例的如下具体描述,将最好地理解本发明本身及其优选实施方式、更多目的和优点,在附图中相同的参考标号标识相同的组件,并且:
图1是本发明的实施例实施于其中的分布式计算系统的框图。
图2是根据本发明实施例的可信设备的框图。
图3是描绘了根据本发明实施例的虚拟寄存器读取方法的流程图。
图4是描绘了根据本发明实施例的虚拟寄存器写入方法的流程图。
图5是描绘了根据本发明另一实施例的虚拟寄存器方法的流程图。
具体实施方式
本发明涉及可信设备,并且具体地涉及如可信平台模块(TPM)之类的可信设备,这些TPM一般是具有平台控制寄存器(PCR)和其它特征的集成电路,这些PCR和特征用于安全地验证处理节点或者其它计算机单元的身份,以及验证系统状态,比如处理节点执行的软件模块。本发明提供一种机制和方法,通过该机制和方法,能够经由对称加密/解密过程来提供可任意扩展的存储集,比如可信设备内的PCR集和/或其它寄存器,从而根据需要将寄存器值传送到外部存储设备以及从外部存储设备传送寄存器值。还考虑到了本发明的技术不仅适用于可信设备而且适用于如下的任何设备,对该设备而言,对寄存器或者其它存储器件进行安全的导入和导出是有用的。
现在参照附图并且特别是参照图1,描绘了本发明的实施例实施于其中的分布式处理系统的框图。应当理解,所示实施例并非旨在于进行限制,而仅仅是举例说明本发明的方法和技术可以应用到的这类处理系统。所示系统包括多个分布式处理节点14A-14D,这些节点可以形成机架式服务器(rack server)的一部分,该服务器用于执行要求高安全级别的基于Web的客户端处理如金融交易服务,或者这些节点可以形成另一分布式计算系统的一部分,在该计算系统中必须确保数据是安全的而不会受到非授权访问或者篡改。各分布式处理节点14A-14D耦合到对应的节点服务处理器12A-12D,该处理器控制对应的处理节点14A-14D的启动/关闭以及与对应的分布式处理节点14A-14D的操作相关联的其它服务如故障检测。系统控制由系统服务处理器10提供,该处理器与各节点服务处理器14A-14D通信以确立顶级系统控制和提供系统级状态融合(coalescing)。系统服务处理器10由系统管理程序(hypervisor)控制,该系统管理程序管理由处理节点14A-14D执行的顶级软件环境,该环境可以包括由系统管理程序虚拟化的多个不同操作系统。分布式处理节点14A-14D通过高速总线或者网络17连接到其它分布式处理节点组和I/O设备。
在图1中描绘的系统内的安全性由系统服务处理器10中的TPM13提供,该TPM可以集成于服务处理器集成电路内或者可以是系统服务处理器10子系统模块中安装的分立集成电路。类似地,各节点服务处理器12A-12D包括节点级TPM13A-13D。TPM13、13A-13D各包括至少一个专用设备密钥,该密钥对于TPM13、13A-13D外部的设备是不可访问的,并且用来加密和在以后解密由外部设备和程序提供的信息,该信息提供唯一地标识安装有TPM13、13A-13D的平台模块的数字签名。PCR被提供于TPM13、13A-13D内而在本发明中被虚拟化,从而能够提供任意大的PCR集而无需用于TPM13、13A-13D内各PCR的同时的存储器件(例如唯一标识符)。虽然如这里描述的本发明实施例提供了能够用来满足可信计算组(TCG)规范要求的TPM内的PCR,但是考虑到了其它类型的可信设备也能够通过将本发明的技术应用于这些其它类型的可信设备来增强。另外,考虑到了本发明的技术不仅适用于可信设备而且适用于任何如下设备,对该设备而言以安全的方式对寄存器或者其它存储器件进行导入和导出是有用的。因此,可以安全地虚拟化的存储器件可以是除了TPM内的PCR之外的寄存器或者其它存储器件,但是特别地适用于如下文描述的示例性组合。另外,尽管下文的示例性实施例描述了在存储到设备外部存储器件以及从设备外部存储器件进行获取的过程中使用单个设备专用密钥来对称地加密和解密寄存器值,但是应当知道可以提供专门的设备专用密钥来用于对寄存器进行虚拟化的特定目的,和/或可以利用多个设备专用密钥。例如,特定设备专用密钥可以用于特定操作系统和/或应用,并且此类密钥的阵列按照索引与多个应用和/或操作系统相关联。另外,非对称加密/解密也可以用来对寄存器进行虚拟化,其结果是性能上的损失。
现在参照图2,示出了TPM13的细节而这些细节也与TPM13A-13D的内部细节相同。外部总线连接29用来经由总线接口电路22与TPM13内的其它电路通信。密码处理器26根据所需的不同协议来提供加密/解密服务,并且访问所存储的设备专用密钥(DPK)23以唯一地加密仅能够由TPM13解密的数据值。用于各TPM13、13A-13D的DPK值23是唯一的,虽然TPM13和13A-13D的其它硬件细节是相同的。本发明经由控制逻辑25和缓冲器24来提供虚拟化的PCR存储器件,该控制逻辑可以是TPM13内部的处理器内核执行固件,而该缓冲器提供用于一个或者多个PCR的临时存储。在所示实施例中,缓冲器24中的各寄存器存储位置包括标记域24A、值域24B和高速缓存控制域24C。值域24B保持能够响应于PCR获取或者存储请求而通过总线接口22读取和写入的实际PCR值。然而,缓冲器24并不包括对可经由总线接口而访问的所有PCR的存储而是仅包括对全部PCR存储器件中被高速缓存的部分的存储。标记域24A在大小上设置为提供寄存器数目范围,从而能够代表TPM将需要的PCR的最大数目。
标记域24A用来标识当前被高速缓存在缓冲器24中的PCR并且包含值域24B中所含的对应的值的PCR寄存器编号。当进行对于读取或者写入特定PCR的请求时,控制逻辑25检查缓冲器24内各位置的标记域24A,并且如果所请求的PCR不存在,则将它载入到缓冲器24内的空闲位置。通过经由总线接口22从外部存储器件获取加密的缓冲器值并且使用DPK23和密码处理器26来解密该缓冲器值从而执行加载。如果在缓冲器24内没有空闲位置可用,则利用高速缓存算法如最近最少使用(LRU)逐出算法。尽管这里描述的实施例根据需要对单个高速缓存值进行操作,但是应当知道缓冲器24可以操作为或者包括预取缓冲器(prefetch buffer)并且可以响应于单个请求而获取多个虚拟寄存器值,例如可以同时加载虚拟化寄存器组(bank)或者相邻虚拟化寄存器,希望也有可能访问寄存器组或者相邻寄存器中的其它寄存器。控制逻辑25扫描MRU域24C以确定缓冲器24中最近最少使用的位置,并且通过使用密码处理器26和DPK23来加密该值并且经由总线接口22将该值存储于外部存储器件中来使该值刷新(flush)到外部存储器件。当收到针对缓冲器中不存在的寄存器的寄存器写入请求时,根据由控制逻辑25所实施的特定算法是否将寄存器写入视为出于“确定哪些寄存器值应当被高速缓存于缓冲器24中”这一目的的“寄存器使用”事件,能够执行类似的逐出加载操作,或者可以将该值加密并且直接写入到外部存储器件。另外,可以利用或者不利用写入高速缓存,因为如果对缓冲器24进行写入,则可以使虚拟寄存器的外部存储器件更新和/或无效或者可以不使虚拟寄存器的外部存储器件更新和/或无效,直至比如刷新写入值之时为止。考虑到了可以利用各种高速缓存算法,比如经由访问计数而不是更简单的MRU/LRU方案来测量寄存器访问频率。
虽然图2中所示电路使用TPM总线接口22来存储加密的虚拟化PCR寄存器,从而能够将系统存储器用于存储,但是考虑到了可以可选地利用专门的和分立的总线。例如,能够实施通向外部闪存的专门接口,从而使得虚拟化的加密寄存器信息对于系统中的其它设备而言是不可访问的。这样的实施方案可以在为能够选择外部存储器大小的系统集成商提供灵活的解决方案的同时通过设计通用性和减少片上存储器件来提供低成本的TPM 13。一般而言,由于本发明的虚拟化的安全性质,以及系统存储器的通常较大的大小和现成的可用性,所示实施例提供了一种通用且低成本的解决方案来提供较大的虚拟化PCR集。
为了在重新引导过程中确保PCR虚拟化的安全性,可以利用一个完整的影子寄存器组。影子寄存器能够被完全虚拟化并且代表如同已加密一样的PCR的相同映像。当重新引导与TPM 13相关联的平台或者特定模块时,对常规PCR存储器件进行重置,但是保留虚拟化的影子寄存器值。然后,能够将影子PCR与在重新引导之后的实际PCR进行比较,并且如果出现失配,则能够采取适当的安全措施。一旦已经出现可信的重新引导,就能够对影子PCR进行重置以匹配于实际PCR。
现在参照图3,在流程图中图示了根据本发明实施例的PCR读取方法。应当知道可以利用各种算法来实施本发明,由此所示方法仅仅是能够用来实施本发明的方法的一个例子。当收到对于来自指定寄存器编号(位置)的寄存器值的请求时(步骤30),针对寄存器编号扫描缓冲器24标记值24A(步骤31)。如果寄存器值已经在缓冲器中(判决32),则提供该值作为请求结果,并且将该寄存器标记为MRU(步骤38)。如果寄存器值在缓冲器中不存在(判决32),则对LRU寄存器值进行定位(步骤33)、加密(步骤34)并且写入到外部普通寄存器和影子寄存器存储器件(步骤35)。对所请求的寄存器值的加密版本进行获取(步骤36)并且解密到缓冲器24(步骤37),然后提供该加密版本作为请求结果,并且将缓冲器24中用于该值的存储位置标记为MRU(步骤38)。
现在参照图4,在流程图中图示了根据本发明实施例的PCR写入方法。应当知道可以利用各种算法来实施本发明,因此所示方法仅仅是能够用来实施本发明的方法的一个例子。当收到对于将寄存器值写入到指定寄存器编号(位置)的请求时(步骤40),针对寄存器编号扫描缓冲器24标记值24A(步骤41)。如果寄存器值已经在缓冲器中(判决42),则更新该值并将该寄存器标记为MRU(步骤48)。如果寄存器值在缓冲器中不存在(判决42),则对LRU寄存器值进行定位(步骤43)、加密(步骤44)并且写入到外部普通寄存器和影子寄存器存储器件(步骤45)。释放的LRU寄存器位置然后被改写为由该写入请求所提供的寄存器值,并且将该位置标记为MRU(步骤46)。还对所提供的值进行加密并且写入到外部PCR普通和影子寄存器存储器件(步骤47)。
尽管上述实施例提供了用于通过寄存器虚拟化来为TPM提供较大的PCR集的完全基于硬件的解决方案,但是根据本发明的可选实施例考虑到了另一种实施方式,该实施方式不仅提供任意大的PCR集而且能够运用现有硬件和服务来提供对PCR的虚拟化。在可选实施例中,修改管理TPM请求的设备驱动器以通过请求TPM对请求者传递给设备驱动器的寄存器值进行加密和解密来对寄存器存储器件进行虚拟化。这样,能够扩展具有有限数目的PCR的现有TPM,或者能够忽略TPM内的PCR,并且设备驱动器然后使用TPM来提供对虚拟化的寄存器值的加密和解密服务。
现在参照图5,图示了这样的设备驱动器的操作。当设备驱动器收到与虚拟化的PCR寄存器值相关联的请求时(步骤50),如果可选地使用TPM的固定数目的PCR,则能够对寄存器编号与TPM所支持的PCR的数目进行比较(判决51)并且针对所提供的请求以普通方式(TPM PCR读取/写入)来处理该请求(步骤52)。对于虚拟化的寄存器,如果该请求是读取请求(判决53),则设备驱动器从存储器获取虚拟化的PCR加密值(步骤54)并且将该加密值提供给TPM以供解密(步骤55)。然后,将解密结果提供给请求者(步骤56)。如果该请求是写入请求(判决53),则设备驱动器将寄存器值提供给TPM以供加密(步骤57)并且在普通和影子虚拟化存储位置存储加密结果(步骤58)。应当知道可以进行设备驱动器技术与上述硬件技术的组合。例如,一个实施例可以包括如下TPM,该TPM具有基于高速缓存的PCR存储器件,但是受设备驱动器管理,该设备驱动器仅响应于TPM表明PCR值不在缓冲器24中而获取和解密虚拟化的PCR。
尽管已经参照本发明的优选实施例具体示出和描述了本发明,但是本领域技术人员应当知道在不脱离本发明的精神和范围的情况下,可以在实施例中做出形式和细节上的前述以及其它改变。
Claims (16)
1.一种用于对受保护的处理系统中可信设备集成电路内的存储器件进行虚拟化的方法,所述方法包括:
接收对于与寄存器编号相关联的第一值的请求;
使用所述寄存器编号从所述可信设备集成电路外部的存储器件获取所述第一值的加密版本;
使用专用设备密钥来解密所述第一值的所述获取的加密版本以获得所述第一值,由此在所述可信设备集成电路中的缓冲器中存储所述第一值;以及
通过提供来自所述缓冲器的所述第一值对所述请求做出响应。
2.根据权利要求1所述的方法,还包括:
加密所述缓冲器中存储的第二值;以及
在可根据所述寄存器编号来访问的所述存储器件中存储所述可信设备集成电路外部的所述加密的结果,由此能够在以后根据所述寄存器编号来获取所述加密的结果。
3.根据权利要求2所述的方法,其中由在所述受保护的处理系统内执行的设备驱动器来执行所述接收、获取、响应和存储,并且其中由所述可信设备响应于所述设备驱动器对所述可信设备的请求来执行所述解密和加密。
4.根据权利要求2所述的方法,还包括:还将所述加密的结果存储到可根据所述寄存器编号来访问的影子寄存器,由此能够在后续引导过程中通过与所述影子寄存器中存储的影子值进行比较来验证所述存储的所述加密的结果。
5.根据权利要求2所述的方法,其中响应于所述接收来执行所述加密和存储,由此将所述第二值刷新到所述外部存储器件以使所述缓冲器可用于存储所述第一值。
6.根据权利要求5所述的方法,其中所述缓冲器包括多个存储位置,并且还包括根据高速缓存算法来选择所述存储位置之一,并且其中对所述选择的存储位置执行所述加密和存储,并且其中所述解密将所述第一值的所述获取的加密版本解密到所述选择的存储位置。
7.根据权利要求1所述的方法,其中所述请求从数量级至少比所述可信设备内物理寄存器的数目更大的虚拟寄存器范围中指定所述寄存器编号。
8.根据权利要求1所述的方法,其中所述缓冲器中的各位置包括用于存储所述值的值寄存器以及用于存储所述寄存器编号的标记寄存器,并且其中所述解密将所述第一值的所述获取的加密版本解密到所述值寄存器,并且其中所述方法还包括将所述寄存器编号写入到所述标记寄存器。
9.根据权利要求1所述的方法,其中由在所述受保护的处理系统内执行的设备驱动器来执行所述接收、获取和响应,并且其中由所述可信设备响应于所述设备驱动器对所述可信设备的请求来执行所述解密。
10.一种可信设备集成电路,包括:
缓冲器,用于存储所述可信设备的寄存器的值;
密码处理电路,用于对称地加密和解密所述寄存器值;以及
控制逻辑,用于接收对于根据寄存器编号对寄存器进行访问的请求,其中所述控制逻辑与所述密码处理器和所述缓冲器相结合地响应于对于访问所述可信设备集成电路外部的存储器件中存储的加密寄存器值的所述请求来引发对所述外部存储器件的访问,从而使得所述加密寄存器值被映射到所述缓冲器中的未加密寄存器值。
11.根据权利要求10所述的可信设备集成电路,其中所述控制逻辑接收根据所述寄存器编号而与所述寄存器值相关联的读取请求,其中所述控制逻辑从所述外部存储器件获取所述加密的寄存器值并且使所述密码处理器将所述加密的寄存器值解密到所述缓冲器中的位置。
12.根据权利要求10所述的可信设备集成电路,其中所述控制逻辑接收对于根据所述寄存器编号写入所提供的值的写入请求,其中所述控制逻辑使所述密码处理器加密所述所提供的值以提供所述加密的寄存器值,并且将所述加密的寄存器值存储于所述外部存储器件中。
13.根据权利要求10所述的可信设备集成电路,其中所述缓冲器包括多个存储寄存器,其中各所述寄存器存储标记值以及所述平台控制寄存器的所述值中对应的一个值,其中所述控制逻辑使用所述标记值来标识与所述寄存器编号相对应的特定寄存器的位置。
14.根据权利要求13所述的可信设备集成电路,其中各所述寄存器还存储关于对所述各寄存器的访问频率的指示。
15.根据权利要求10所述的可信设备集成电路,其中响应于读取请求,所述控制逻辑确定所述缓冲器中是否存在空闲位置,并且如果不存在空闲位置,则所述控制逻辑引发将所述缓冲器中存储的所述值中的一个值写入到所述外部存储器件。
16.根据权利要求10所述的可信设备集成电路,其中所述控制逻辑还在所述外部存储器件中维护一组虚拟影子寄存器,所述影子寄存器与响应于所述请求而执行的对所述寄存器值的修改相一致地被修改。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/558,024 US9171161B2 (en) | 2006-11-09 | 2006-11-09 | Trusted device having virtualized registers |
US11/558,024 | 2006-11-09 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101178759A true CN101178759A (zh) | 2008-05-14 |
CN101178759B CN101178759B (zh) | 2010-04-21 |
Family
ID=39370568
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007101674247A Active CN101178759B (zh) | 2006-11-09 | 2007-10-24 | 可信设备集成电路和对其中的存储器件进行虚拟化的方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9171161B2 (zh) |
JP (1) | JP4876053B2 (zh) |
CN (1) | CN101178759B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101488176B (zh) * | 2009-02-20 | 2010-06-02 | 北京交通大学 | 一种针对tpm可信计算的toctou攻击响应方法 |
CN103562915A (zh) * | 2011-04-12 | 2014-02-05 | 阿玛得斯两合公司 | 高速缓冲存储器结构和方法 |
WO2016107394A1 (zh) * | 2014-12-31 | 2016-07-07 | 华为技术有限公司 | 虚拟机的深度证明方法、计算设备和计算机系统 |
CN106648544A (zh) * | 2015-11-02 | 2017-05-10 | 龙芯中科技术有限公司 | 寄存器的分配方法和装置 |
CN107943715A (zh) * | 2017-10-12 | 2018-04-20 | 记忆科技(深圳)有限公司 | 一种提升NVMe固态硬盘读缓存命中的方法 |
CN109997140A (zh) * | 2018-09-10 | 2019-07-09 | 深圳市汇顶科技股份有限公司 | 使用一次写入寄存器从设备的睡眠状态加速安全启动的低功耗嵌入式设备 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7840801B2 (en) * | 2007-01-19 | 2010-11-23 | International Business Machines Corporation | Architecture for supporting attestation of a virtual machine in a single step |
US9020146B1 (en) * | 2007-09-18 | 2015-04-28 | Rockwell Collins, Inc. | Algorithm agile programmable cryptographic processor |
DE102007045743A1 (de) * | 2007-09-25 | 2009-04-02 | Siemens Ag | Verfahren und System zum Schutz gegen einen Zugriff auf einen Maschinencode eines Gerätes |
WO2010113266A1 (ja) * | 2009-03-31 | 2010-10-07 | 富士通株式会社 | 情報処理装置,情報処理装置の起動制御方法及び起動プログラム |
US9015078B2 (en) * | 2010-03-28 | 2015-04-21 | Lenovo (Singapore) Pte. Ltd. | Audit trails for electronic financial transactions |
EP2710509A4 (en) * | 2011-05-18 | 2015-02-25 | Nokia Corp | SECURE PRIMER WITH TRUSTED COMPUTER GROUP PLATFORM REGISTERS |
WO2014072579A1 (en) * | 2012-11-08 | 2014-05-15 | Nokia Corporation | Partially virtualizing pcr banks in mobile tpm |
US10169591B2 (en) * | 2015-12-07 | 2019-01-01 | Amazon Technologies, Inc. | Chained security systems |
US10721067B2 (en) * | 2016-08-10 | 2020-07-21 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Secure processor for multi-tenant cloud workloads |
US10417433B2 (en) | 2017-01-24 | 2019-09-17 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Encryption and decryption of data owned by a guest operating system |
CN113420299A (zh) * | 2021-04-15 | 2021-09-21 | 麒麟软件有限公司 | 一种基于国密算法sm3的计算机系统安全启动引导方法 |
Family Cites Families (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2173225C (en) * | 1993-10-12 | 2006-07-18 | Stephen W. Olson | Virtual address translation hardware assist circuit and method |
US5619711A (en) * | 1994-06-29 | 1997-04-08 | Motorola, Inc. | Method and data processing system for arbitrary precision on numbers |
US5825878A (en) * | 1996-09-20 | 1998-10-20 | Vlsi Technology, Inc. | Secure memory management unit for microprocessor |
US6233599B1 (en) * | 1997-07-10 | 2001-05-15 | International Business Machines Corporation | Apparatus and method for retrofitting multi-threaded operations on a computer by partitioning and overlapping registers |
US6798884B1 (en) | 1998-09-16 | 2004-09-28 | Murata Kikai Kabushiki Kaisha | Encryption method, decryption method, encryption/decryption method, cryptographic communications system, and computer usable medium |
US6735310B1 (en) | 1999-09-17 | 2004-05-11 | International Business Machines Corporation | Technique of password encryption and decryption for user authentication in a federated content management system |
US6766435B1 (en) * | 2000-05-31 | 2004-07-20 | Hewlett-Packard Development Company, L.P. | Processor with a general register set that includes address translation registers |
US6772288B1 (en) * | 2000-09-06 | 2004-08-03 | Stmicroelectronics, Inc. | Extended cache memory system and method for caching data including changing a state field value in an extent record |
TW546936B (en) | 2000-10-27 | 2003-08-11 | Synq Technology Inc | Data encrypting/decrypting system in client/server structure and the method thereof |
US8626821B2 (en) * | 2001-04-17 | 2014-01-07 | Hewlett-Packard Development Company, L.P. | Limiting access to information corresponding to a context |
GB2376764B (en) * | 2001-06-19 | 2004-12-29 | Hewlett Packard Co | Multiple trusted computing environments |
US6996725B2 (en) * | 2001-08-16 | 2006-02-07 | Dallas Semiconductor Corporation | Encryption-based security protection for processors |
US7191464B2 (en) * | 2001-10-16 | 2007-03-13 | Lenovo Pte. Ltd. | Method and system for tracking a secure boot in a trusted computing environment |
TW567702B (en) | 2002-04-22 | 2003-12-21 | Taiwan Semiconductor Mfg | System and method integrating e-mail encryption/decryption |
US7313797B2 (en) * | 2002-09-18 | 2007-12-25 | Wind River Systems, Inc. | Uniprocessor operating system design facilitating fast context switching |
US20040064457A1 (en) * | 2002-09-27 | 2004-04-01 | Zimmer Vincent J. | Mechanism for providing both a secure and attested boot |
US6907494B2 (en) * | 2002-10-10 | 2005-06-14 | International Business Machines Corporation | Method and system of managing virtualized physical memory in a memory controller and processor system |
DE10260606B4 (de) * | 2002-12-23 | 2006-03-30 | Infineon Technologies Ag | Vorrichtung zur Übersetzung mehrerer virtueller Adressen auf eine einzige physikalische Adresse |
TW595183B (en) | 2003-03-14 | 2004-06-21 | Acer Labs Inc | Crypto-system with an inverse key evaluation circuit |
US7346344B2 (en) * | 2003-05-30 | 2008-03-18 | Aol Llc, A Delaware Limited Liability Company | Identity-based wireless device configuration |
US7243208B2 (en) * | 2003-08-13 | 2007-07-10 | Renesas Technology Corp. | Data processor and IP module for data processor |
US7313679B2 (en) * | 2003-10-17 | 2007-12-25 | Intel Corporation | Extended trusted computing base |
US7636858B2 (en) * | 2003-12-11 | 2009-12-22 | Intel Corporation | Management of a trusted cryptographic processor |
US7552419B2 (en) * | 2004-03-18 | 2009-06-23 | Intel Corporation | Sharing trusted hardware across multiple operational environments |
US8271783B2 (en) * | 2004-04-19 | 2012-09-18 | Hewlett-Packard Development Company, L.P. | Subordinate trusted platform module |
US7484091B2 (en) * | 2004-04-29 | 2009-01-27 | International Business Machines Corporation | Method and system for providing a trusted platform module in a hypervisor environment |
US7480804B2 (en) * | 2004-04-29 | 2009-01-20 | International Business Machines Corporation | Method and system for hierarchical platform boot measurements in a trusted computing environment |
US7380119B2 (en) * | 2004-04-29 | 2008-05-27 | International Business Machines Corporation | Method and system for virtualization of trusted platform modules |
US7590867B2 (en) * | 2004-06-24 | 2009-09-15 | Intel Corporation | Method and apparatus for providing secure virtualization of a trusted platform module |
US7099477B2 (en) * | 2004-10-21 | 2006-08-29 | International Business Machines Corporation | Method and system for backup and restore of a context encryption key for a trusted device within a secured processing system |
US7143287B2 (en) * | 2004-10-21 | 2006-11-28 | International Business Machines Corporation | Method and system for verifying binding of an initial trusted device to a secured processing system |
US7836299B2 (en) * | 2005-03-15 | 2010-11-16 | Microsoft Corporation | Virtualization of software configuration registers of the TPM cryptographic processor |
US7587595B2 (en) * | 2005-05-13 | 2009-09-08 | Intel Corporation | Method and apparatus for providing software-based security coprocessors |
US20070079120A1 (en) * | 2005-10-03 | 2007-04-05 | Bade Steven A | Dynamic creation and hierarchical organization of trusted platform modules |
-
2006
- 2006-11-09 US US11/558,024 patent/US9171161B2/en not_active Expired - Fee Related
-
2007
- 2007-10-24 CN CN2007101674247A patent/CN101178759B/zh active Active
- 2007-10-29 JP JP2007279797A patent/JP4876053B2/ja active Active
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101488176B (zh) * | 2009-02-20 | 2010-06-02 | 北京交通大学 | 一种针对tpm可信计算的toctou攻击响应方法 |
CN103562915A (zh) * | 2011-04-12 | 2014-02-05 | 阿玛得斯两合公司 | 高速缓冲存储器结构和方法 |
CN103562915B (zh) * | 2011-04-12 | 2017-05-24 | 阿玛得斯两合公司 | 高速缓冲存储器结构和方法 |
WO2016107394A1 (zh) * | 2014-12-31 | 2016-07-07 | 华为技术有限公司 | 虚拟机的深度证明方法、计算设备和计算机系统 |
CN106648544A (zh) * | 2015-11-02 | 2017-05-10 | 龙芯中科技术有限公司 | 寄存器的分配方法和装置 |
CN106648544B (zh) * | 2015-11-02 | 2019-03-26 | 龙芯中科技术有限公司 | 寄存器的分配方法和装置 |
CN107943715A (zh) * | 2017-10-12 | 2018-04-20 | 记忆科技(深圳)有限公司 | 一种提升NVMe固态硬盘读缓存命中的方法 |
CN107943715B (zh) * | 2017-10-12 | 2021-10-01 | 记忆科技(深圳)有限公司 | 一种提升NVMe固态硬盘读缓存命中的方法 |
CN109997140A (zh) * | 2018-09-10 | 2019-07-09 | 深圳市汇顶科技股份有限公司 | 使用一次写入寄存器从设备的睡眠状态加速安全启动的低功耗嵌入式设备 |
Also Published As
Publication number | Publication date |
---|---|
US20080114989A1 (en) | 2008-05-15 |
JP4876053B2 (ja) | 2012-02-15 |
JP2008123513A (ja) | 2008-05-29 |
US9171161B2 (en) | 2015-10-27 |
CN101178759B (zh) | 2010-04-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101178759B (zh) | 可信设备集成电路和对其中的存储器件进行虚拟化的方法 | |
US11088846B2 (en) | Key rotating trees with split counters for efficient hardware replay protection | |
US10671422B2 (en) | Monitoring of memory page transitions between a hypervisor and a virtual machine | |
US10546157B2 (en) | Flexible counter system for memory protection | |
EP3379448B1 (en) | Method and system for operating a cache in a trusted execution environment | |
CN107438850B (zh) | 使用签名的地址验证 | |
US10261919B2 (en) | Selective memory encryption | |
US8839001B2 (en) | Infinite key memory transaction unit | |
CN101946252B (zh) | 信息处理装置及其控制方法 | |
US9280675B2 (en) | Encrypting and storing confidential data | |
US20140157002A1 (en) | Systems and methods for protecting symmetric encryption keys | |
CN107526974B (zh) | 一种信息密码保护装置和方法 | |
KR20200031671A (ko) | 메모리 보안용 카운터 무결성 트리 | |
US11775177B2 (en) | Integrity tree for memory integrity checking | |
US10545883B2 (en) | Verification bit for one-way encrypted memory | |
CN107563226B (zh) | 一种存储器控制器、处理器模块及密钥更新方法 | |
CN110955904A (zh) | 一种数据加密方法、数据解密方法、处理器及计算机设备 | |
KR102365263B1 (ko) | 하드웨어 기반의 gpu 메모리 보호를 위한 효율적인 암호화 방법 및 장치 | |
US20240080193A1 (en) | Counter integrity tree | |
US20230113906A1 (en) | An apparatus and method of controlling access to data stored in a non-trusted memory | |
Taassori | Low Overhead Secure Systems |
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 |