CN1659494A - 微码补丁验证 - Google Patents
微码补丁验证 Download PDFInfo
- Publication number
- CN1659494A CN1659494A CN038133962A CN03813396A CN1659494A CN 1659494 A CN1659494 A CN 1659494A CN 038133962 A CN038133962 A CN 038133962A CN 03813396 A CN03813396 A CN 03813396A CN 1659494 A CN1659494 A CN 1659494A
- Authority
- CN
- China
- Prior art keywords
- microcode patch
- patch
- microcode
- digital signature
- key
- 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
- G06F21/572—Secure firmware programming, e.g. of basic input output system [BIOS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- 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
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
Abstract
在将微码补丁传送到安装微码补丁的目标处理器之前对其进行编码。目标处理器在安装之前确认微码补丁。通过以下措施的一个或多个使处理的安全性得到增强:1)在安全存储器中进行确认、2)使用公开/秘密密钥对对微码补丁进行加密和解密、3)使用至少一个嵌入在目标处理器内并且不能由非安全软件读取的密钥以及4)使用嵌入在目标处理器内的散列值确认至少一个非嵌入的密钥。
Description
背景
计算机处理器中的一条典型指令用微指令实现一系列的操作,而微指令以微码的形式在非易失性存储区域中定义了被编码的每一操作。微码定义了处理器的所有或一部分可执行指令集,并且还可定义不是以软件可访问代码实现的内部操作。微码通常在制造处理器时置于处理器内的只读存储器(ROM)中。然而,在处理器制造后,甚至在处理器已处于操作中时,有时需要修改微码。微码补丁通过插入新的微指令取代原来的微指令而允许这样的修改。可将微码补丁以不同方式(如通过通信信道下载、由服务技术人员安装或随操作系统提供)传送到处理器,随后存储于处理器用于操作。由于不能简单地改变微码ROM,微码补丁通常置于处理器内的补丁存储器,如随机存取存储器(RAM),并且对于修改的微指令的引用则被重新定向到补丁RAM而不是ROM。因为补丁RAM可以是易失性的,所以通常微码补丁存储于磁盘上或存储于基本输入输出系统(BIOS)中,并在引导系统时将微码补丁加载到补丁RAM中。
如果处理器用于安全环境,则在软件和/或硬件设计中应采取各种安全措施,以提供对安全特征操作篡改的保护。将非授权的微码补丁插入处理器中的能力代表了不怀好意的攻击者妨碍传统安全措施的一个方式。
附图简述
通过参考用于示出本发明实施例的以下描述以及附图可理解本发明。
图1根据本发明的一个实施例示出了确认和安装微码补丁的系统框图。
图2根据本发明的一个实施例示出了将微码补丁转换为安全传送形式的系统框图。
图3根据本发明的一个实施例示出了从图2系统传送到图1系统的包含各单元的补丁包。
图4根据本发明的一个实施例示出了用于制备、传送和确认补丁包的整个过程的流程图。
图5根据本发明的一个实施例示出了用于制备补丁包的过程的流程图。
图6根据本发明的一个实施例示出了用于确认补丁包的过程的流程图。
详细描述
在以下描述中,提出了许多特定细节。然而,可以理解,没有这些特定细节也可实现本发明的实施例。在其他实例中,为了便于该描述的理解,没有详细示出熟知的电路、结构和技术。提到的“一个实施例”、“实施例”、“示例实施例”、“各实施例”等表示所描述的实施例可包括特定特点、结构或特征,但不是每个实施例都必须包括这些特定的特点、结构和特征。并且,可将对于不同实施例描述的特点、结构或特征结合到单个实施例中。还有,重复使用短语“在一个实施例中”并不一定指同一实施例,虽然也可以指同一实施例。
这里提到的加密法可包括加密、解密或两者兼而有之。这里提到的“对称”密码、密钥、加密或解密指的是同一密钥被用于加密和相关解密的密码技术。1993年作为联邦信息出版标准FIPS PUB 46-2出版的熟知的数据加密标准(DES)以及2001年作为FIPS PUB 197出版的高级加密标准都是对称密码的例子。这里提到的“不对称”密码、密钥、加密或解密指的是加密和相关解密使用不同但相关的密钥的密码技术。所谓的“公开密钥”密码技术, 包括熟知的Rivest-Shamir-Adleman(RSA)技术,就是不对称密码的例子。不对称密码过程两个相关密钥之一被称作为秘密密钥(因为它通常保持私密的),而另一个则被称作为公开密钥(因为它通常可自由地使用)。在一些实施例中,秘密或公开密钥可用于加密,而其中另一个密钥则用于相关的解密。
可以硬件、固件和软件的其中一个或组合来实现本发明的实施例。本发明的实施例还可实现为存储在机器可读取介质上的指令,它可由至少一个处理器读取并执行以实现这里所描述的操作。机器(如计算机)可读取介质包括任何用于以机器可读取形式存储或发送信息的机制。例如,机器可读取介质包括只读存储器(ROM)、随机存取存储器(RAM)、磁盘存储介质、光存储介质、快闪存储器设备、电、光、声或其他形式的传播信号(例如载波、红外信号、数字信号等),等等。
本发明的各个实施例涉及微码补丁(这里还简称为“补丁”)的编码和/或解码,使得在将补丁安装于目标处理器(希望使用补丁的处理器)中之前将其验证为有效。编码/解码可包括以下的一种或多种:1)加密/解密、2)使用密码散列函数、3)使用数字签名、4)等等。目标系统是将要安装补丁的系统,而始发系统是制备安全传送到目标系统的补丁的系统。在一个实施例中,为特定类型的计算机系统产生补丁的公用集,其中“类型”可以指特定的代、特定型号、型号内的一些类别等。一旦产生了补丁,就在传送到想要该补丁的每个目标系统之前,以这里所述的方式对其进行编码。在每个目标系统中,可如这里所述对一个或多个补丁进行解码和安装,使得补丁成为目标系统的操作部分。
可使用任何传统的传送方法,包括但不限于,通过通信链路传送、由技术人员安装、由操作系统的制造商包含在操作系统中、包含在基本输入输出系统(BIOS)中。一旦经过传送,补丁可以其编码形式存储直到其被操作安装。操作安装包括对编码的补丁进行解码、确认补丁是授权的以及将补丁置于补丁存储器。确认包括以下任一项或两者:1)确定自补丁在始发系统中制备用于传送以来没有被修改过;以及2)确定该补丁在已授权系统中被制备。在一个实施例中,编码的补丁被存储在目标系统的盘上或BIOS中,每一次引导系统时,被操作地安装在易失性RAM中。在一个实施例中,将编码的补丁操作地安装在非易失性存储器中,并且在后续重引导期间不再安装。
图1根据本发明的一个实施例示出了确认和安装微码补丁的系统框图。在图1示出的实施例中,系统100包括处理器110、芯片组130、盘140、主存储器150以及通信接口(Comm I/F)160。处理器110可包括微码ROM112、补丁存储器114、安全存储器118以及一个或多个密钥116。芯片组130可包括BIOS132。可将以后所描述的补丁包存储于盘140、BIOS132或包括非易失性存储的系统100的另一部分的至少一个中。
在一些实施例中,可由包含在微码ROM112中的微指令序列实现对补丁进行解码、确认和安装的操作。在特定实施例中,通过执行将执行传输到序列入口点的特别指令启动该序列。在另一特定实施例中,响应于将预定值写到机器专用寄存器(MSR)的预定部分启动该序列。还可使用其它方法启动该序列。
可将对补丁进行解码、确认和安装操作期间要运行的数据置于安全存储器118中,可将其设置为用非安全代码无法进行访问。在一些实施例中,安全存储器118在不同时间包含编码的补丁、解码的补丁以及在对编码补丁进行解码期间所产生的中间产物。在一个实施例中,安全存储器118没有足够容量来保存以上提到的补丁和/或中间产物,并且它也可同时包含编码补丁、解码补丁和中间产物中一个或多个的仅仅一部分。
在一个实施例中,安全存储器118是专用RAM存储器,它可置于处理器110的内部或外部,仅仅用于安全操作。在另一实施例中,安全存储器118是处理器110的专用高速缓存,并且在补丁的解码、确认和安装期间,对于所有其它操作,对该专用高速缓存的访问是阻塞的。其他实施例可使用在所述操作期间提供安全存储器118的其他方法。
虽然系统100示出了特定实施例,但还可使用其它实施例。例如,在一个实施例中,BIOS132可包括在处理器110中,而另一实施例没有芯片组130。
在一个实施例中,密钥116是嵌入处理器110中的一个或多个安全密钥(在编码和/或解码中使用的一些值)。可以以下方式将“嵌入式”密钥制造入处理器110中,即阻止系统100的软件对密钥进行改变并阻止非安全软件对密钥进行读取。在特定实施例中,嵌入式密钥无法由任何软件进行直接读取,但是一个或多个特定指令可使特定的嵌入式密钥传输到其他硬件中以用于解码序列中。
在一个实施例中,特定的嵌入式密钥是不对称密码算法的两个密钥的其中一个,而其中另一个在安全控制下保存在补丁始发系统中。在另一实施例中,特定的嵌入式密钥包括不对称密码算法的公开密钥的散列值、与相关补丁一起传送的公开密钥。其他实施例可包括其他类型的密钥作为嵌入式密钥。
在一些实施例中,微码112置于非易失性存储器(如只读存储器(ROM))中,并且在制造之后无法直接改变。补丁可置于补丁存储器114中用于系统操作,使得响应于对修改的微码部分的引用,将该访问重新定向到补丁存储器114以对修改的微码进行存取。在一个实施例中,补丁存储器114包括RAM,并且每当系统100重启和/或重新引导时,将补丁安装于补丁存储器114的RAM中。在另一实施例,补丁存储器114包括非易失形式的存储器,如快闪存储器,并且一旦安装了,每一补丁在补丁存储器114中保持完整直到该补丁由后续补丁替代。
安装之前,可将编码的补丁存储于非易失性存储器(如BIOS132)中或盘140上,以在每次将补丁安装于补丁存储器114中时对补丁进行解码和确认。在一个实施例中,来自BIOS厂商的补丁可存储于BIOS132中并由驻留于BIOS的代码在初始引导过程期间进行安装。在另一实施例中,来自操作系统(0S)厂商的补丁可存储于盘上并以后在引导过程中由OS引导加载程序安装。两个实施例可组合在同一系统中。
在一个实施例中,通过通信连接(如因特网)传送补丁、通过Comm I/F160接收并存储该补丁用于使用。在其他实施例中,可通过其它方式传送补丁。
图2根据本发明的一个实施例示出了将微码补丁转换为安全传送形式的系统框图。在图2所示的实施例中,系统200包括处理器210、芯片组230、盘240、主存储器250和通信接口260。这些设备中每一个的基本功能类似于图1中的相应部分。然而,在一个实施例中,作为补丁的始发方,系统200是处于可保护的集中式安装,其中为整个系统200提供防止攻击者的保护。在示例实施例中,可由安全范围270提供该保护。如这里所使用的,术语“范围”是概念上的而不是物理上的,并且安全范围270可包括多种保护性措施,包括但不限于系统200的物理保护、个人对系统200的有限访问、防火墙或其他保护软件设备等以阻止通过通信接口260对系统的未授权入侵。系统200还可类似于图1所示的使用内部安全特性。在一个实施例中,使用系统200为单个类型的目标系统产生补丁包。在另一实施例中,使用系统200为多个类型的目标系统产生不同补丁包。补丁的代码可在系统200中产生,也可在其他地方产生,并将其传送到系统200以用于制备相关补丁包。待使用并存储于200中的信息可包括但不限于以下的一种或多种:非加密补丁244、加密补丁242以及相关联的密钥246,以上所有都示出存储在盘240上。由于不同目标系统需要不同补丁并涉及不同密钥,盘240可分为不同存储区域。每个存储区域针对单独的补丁集及相关密钥。
图3根据本发明的一个实施例示出了可从图2系统传送到图1系统的包含各单元的补丁包。在一个实施例中,补丁包300包括补丁标头310、补丁320以及数字签名330。另一实施理还包括一个或多个可传送密钥340。补丁标头3 10包含可标识以下(但不限于)的一种或多种的标识信息:想要补丁的目标系统类型、补丁类型、在哪里使用补丁、如何使用补丁以及目标系统100需要的任何其他相关信息。在一个实施例中,没有对补丁标头310进行加密,以在补丁的验证和/或解密之前便于目标系统100对补丁包300的识别和处理。补丁320包含用于在补丁存储器114中进行替换的微码,虽然补丁320可以处于加密形式并同时在补丁包300中。可使用补丁320的加密以保护可从补丁本身得到的商业秘密或其他机密信息。数字签名330包括用于确认待安装补丁的真实性,使得可检测到补丁包制备之后对补丁的改变。在一个实施例中,仅为补丁320产生数字签名330。在另一实施例中,为补丁320和补丁标头310产生数字签名330,使得可由目标系统100监测对任何一个的未授权的改变。在另一实施例中,还可为补丁包300的其他部分产生数字签名330。
在一个实施例中,在制造时将目标系统100所需的所有密钥嵌入处理器110中。对于特定实施例,补丁包300不包括用于对补丁进行解码的任何密钥。在另一特定实施例中,将由系统100使用的一个或多个密钥传送到系统100作为补丁包300的一部分,并且在这里将这些密钥指定为可传送密钥340(复数术语“密钥”涵盖了只有单个可传送密钥的实施例)。可传送密钥340可与用于目标系统100或始发系统200的其他密钥相关联。例如,在特定实施例中,可传送密钥包括不对称密码算法中公开/秘密密钥对的公开密钥,而秘密密钥保留在始发系统200中,并且从公开密钥获得的散列值嵌入处理器100中并用于确认所传送公开密钥的真实性。还可使用所嵌入的散列值确认通过其它方式提供的一个或多个密钥,例如置于盘上用于操作系统升级的密钥或置于BIOS中用于BIOS升级的密钥。其他实施例可使用其它密钥组合和加密方案。在以后描述中更详细地描述补丁包300的各单元。
在另一实施例中,嵌入式密钥或散列值可与一密钥证书链一起使用。在一个这样的实施例中,使用嵌入式密钥或散列值确认第二密钥,该第二密钥用于确认第三密钥,以此类推,这样就用与特定层相关联的每一密钥提供多个安全层。可将这些密钥通过一个或多个先前提到的传送方法和/或通过没有描述过的其他方法进行传送。
图4根据本发明的一个实施例示出了用于制备、传送和确认补丁包的整个过程的流程图。在图4示出的实施例中,流程图400由两个部分。框410-430示出了补丁始发过程,其中补丁始发系统制备现有的补丁以进行安全传送。框440-495示出了在目标系统中进行的补丁确认/安装过程。
在一个实施例中,补丁始发过程以框410对补丁进行加密开始。如前所述,一些实施例可不对补丁进行加密,因为考虑补丁的内容不是秘密的而不需要保护。不管是否对补丁进行加密,都可使用框420和430的操作,从而能够在补丁安装到目标系统之前监测对补丁的窜改。在框420,为补丁产生一数字签名。在一个实施例中,为补丁标头和补丁两者产生数字签名,从而没有一个会被窜改而被检测到。在另一实施例中,为补丁而不是为补丁标头产生数字签名。在另一实施例中,还为可传送密钥产生数字签名。在框430,数字签名和补丁以及任何其他包括的单元组合在一起形成补丁包。如果在框410对补丁进行了加密,则在框430包括了加密的补丁。
在创建补丁包之后,可将补丁包通过任何可行的方式传送到目标系统。在框440以接收和存储补丁包的方式开始在目标系统中进行的补丁确认/安装过程。补丁包可存储在盘140上、存储在BIOS132中或存储在系统100中任何可行的存储位置。在一个实施例中,直到引导系统时才在操作条件下安装补丁,引导过程开始于框450。在框460,对补丁包的数字签名进行解密并在框470用于对补丁的确认。如之后所述,解密和确认可采用若干形式中的任何一种。如果在框410对补丁进行了加密,则在框480对其进行解密以揭示实际的补丁。在框490,以可操作的方式将所揭示的补丁安装在处理器110中。在框495,处理器110使用修补的微码进行操作。
图5根据本发明的一个实施例示出了用于制备补丁包的过程的流程图。流程图500示出了图4补丁始发过程更详细的描述。图5中示出的实施例包括补丁的加密以及文摘的创建以用于确认所接收的补丁是否正确。在一个实施例中,用对称加密算法(如AES、DES等)对补丁进行加密。如这里所使用的,文摘是通过对数据块进行操作而获得的参数,其中相同的数据块产生相同的文摘,但是数据块中的任何改变可能会产生不同的文摘。在一个实施例中,该文摘是散列文摘,即通过将散列算法应用于补丁而产生的文摘。在一个实施例中,首先创建文摘并随后对补丁进行加密,而在另一实施例中,首先对补丁进行加密随后为加密的补丁创建文摘。图5示出了两个实施例。在第一实施例中,在框510对未加密的补丁和补丁标头施加散列过程以创建文摘。在特定实施例中,散列过程使用安全散例算法(SHA-1),它是1994年根据联邦信息出版标准FIPS PUB 180-1出版的。随后在框520,对补丁进行加密。如果没有对补丁进行加密,就可省略框520。在第二实施例中,在框530首先对补丁进行加密,并在框540对加密的补丁和补丁标头施加散列过程以创建文摘。在任一实施例中,如果后续操作需要文摘由一定数量的比特组成,则在框550可对文摘进行填充(即将数据添加到其中),从而如所需增加比特数。填充可包括预定数据或随机数据。在框560,对填充的文摘进行加密以创建数字签名。在一个例子中,使用不对称加密过程中公开/秘密密钥对的秘密密钥对填充的文摘进行加密。在特定实施例中,加密遵循使用2048个比特的秘密密钥的RSA加密过程。如所熟知的,在RSA加密过程中,密钥和所加密的消息都具有相同的比特数,这样如果文摘少于密钥则在框550就必须对文摘进行填充。在另一实施例中,文摘和密钥已经是相同尺寸了,这样就可以免除在框550的填充。在另一实施例中,使用密钥和消息无需相同尺寸的加密方法,在这样的情况下也可免除框550的填充。在框570,将数字签名、补丁(加密的或未加密地)和补丁标头组合到补丁包中以传送到目标系统。在一个实施例中,补丁包还包括其他信息,这取决于系统的需要。
图6根据本发明的一个实施例示出了用于确认补丁包的过程的流程图。流程图600示出了图4补丁确认和安装过程更详细的描述。在框610,从目标系统内获取补丁包。在一个实施例中,先前由目标系统接收补丁包并置于存储器中,随后从该存储器中获取该补丁包。在另一实施例中,在框610目标系统一接收到补丁包就获取补丁包,而无需中间存储。而在一个实施例中,获取由始发系统传送的整个补丁包,在另一实施例中,在获取补丁包之前去掉补丁的任何非必要单元。
在补丁包中传送密钥的一个实施例中,在框612为密钥计算散列值。如果所计算的散列值与处理器110中嵌入的相关联的散列值相匹配,则确认该密钥并可将其用于后续确认操作。如果所计算的散列值与嵌入的散列值不匹配,那么确认就失败并将控制移到框690,这在之后进行描述。在不涉及传送密钥的实施例中,可省略框612和614的操作。
在框620,对数字签名进行解密以获取在始发系统中创建的文摘。在一个实施例中,借助使用公开/秘密密钥对的秘密密钥的不对称加密算法产生数字签名,这样就使用相关联的公开密钥进行框620的解密。如果在创建期间对文摘进行了填充,那么框620的操作就获取该填充的文摘,并在框630,去除填充以揭示先前在框510或540产生的文摘。如果文摘在创建期间没有进行填充,那么框620的操作产生非填充的文摘,框630就可省略。
在该点,之后的过程取决于流程图500中文摘是在对补丁进行加密之前还是之后创建的。在如框510和520所示的加密之前创建文摘的实施例中,就在框640对补丁进行解密,并且在框650对解密的补丁和补丁标头施加散列函数以获得所计算的文摘。在框660将所计算的文摘与在框620-630获取的实际文摘进行比较以知道两个文摘是否匹配。如果两个文摘是等同的,则确认该补丁并在框680安装补丁。在一个实施例中,安装补丁包括将补丁以以下方式置于处理器110的补丁存储器114中,即任何对所修补微码的所尝试的访问都将定向到补丁存储器114而不是初始微码112。
回到框630,在如框530和540创建文摘之前对补丁进行加密的实施例中,在框645,对加密的补丁以及标头施加散列运算以获得所计算的文摘。在框665,将所计算的文摘与在框630所揭示的实际文摘进行比较以了解它们是否匹配。如果发现它们是等同的,则确认该补丁并在框670对补丁进行解密。随后在框680安装确认和解密的补丁。在两个实施例中,框645、650所有的散列运算与框510、540所使用的是相同的。
如果在框660或665所计算的文摘与实际文摘是不匹配的,这就表示自从补丁包产生以来它已经改变了或者它不适合安装。这样的改变/不适合性可能由几个原因,包括但不限于:未授权的人故意试图改变补丁、在传送期间未监测到的/未纠正的传输错误、将补丁包传送到不正确的目标系统、软件或硬件失效或人为错误。不管是什么原因,如果实际文摘与所计算的文摘不匹配,就在框690终止补丁安装过程,不安装没有确认的补丁。终止补丁安装可采取若干形式,包括但不限于:1)试图重新安装补丁、2)跳过有故障的补丁而安装其他补丁、3)回复到先前版本的补丁、4)关闭系统、5)重新引导系统,等等。
在一个实施例中,对安全存储器118中的整个补丁进行框610-670的确认过程,并在确认之后,在框680在补丁存储器114安装整个补丁。在另一实施例中,其中安全存储器118没有足够容量进行整个确认过程,递增地对补丁的各个部分进行框610-670的确认过程。如果在这个方式中有任何一部分没有经过确认,就如先前所述在框690终止该过程。如果在该方式下确认了所有部分,就可以第二次递增地对补丁进行确认,而每各部分经过确认后就安装在补丁存储器114中。如果在第二轮确认中补丁有任何一部分没有通过确认(这表示在第一次确认之后补丁受到窜改),就在框690终止该过程。如果在框690终止之前已部分安装了补丁,那么框690的终止过程除了一个或多个先前所述过程之外还包括将新安装的补丁从补丁存储器114中去除。
以上描述旨在都是示例性的而非限制性的。对于本领域的技术人员可对这些描述进行改变。希望这些改变包括在本发明的各个实施例中,这仅仅由所附权利要求书的主旨和范围所限制。
Claims (30)
1.一种提供指令的机器可读取介质,当该指令由一组一个或多个处理器执行时使该组处理器进行操作,该操作包括:
为微码补丁产生散列文摘;
对散列文摘进行加密以产生数字签名;以及
组合数字签名和微码补丁以传送到目标处理器来对目标处理器中的微码打补丁。
2.如权利要求1所述的介质,其特征在于所述组合包括将密钥与数字签名及微码补丁进行组合以传送到目标处理器。
3.如权利要求1所述的介质,其特征在于所述组合包括将密钥的散列值与数字签名及微码补丁进行组合以传送到目标处理器。
4.一种方法,包括:
为微码补丁产生散列文摘;
用不对称密码算法的秘密密钥对散列文摘进行加密以产生数字签名;以及
组合数字签名和微码补丁以传送到目标处理器来对目标处理器中的微码打补丁。
5.如权利要求4所述的方法,其特征在于还包括:
对微码补丁进行加密;
其中所述产生散列文摘包括在所述对微码补丁进行加密之前产生散列文摘;以及
其中所述组合包括将数字签名与加密的微码补丁进行组合。
6.如权利要求4所述的方法,其特征在于还包括:
对微码补丁进行加密;
其中所述产生散列文摘包括在所述对微码补丁进行加密之后产生散列文摘;以及
其中所述组合包括将数字签名与加密的微码补丁进行组合。
7.一种包含数据的机器可读取介质,该数据包括:
对目标系统中的微码打补丁的微码补丁;以及
通过将对微码补丁施加散列运算所创建的文摘进行加密所产生的数字签名。
8.如权利要求7所述的介质,其特征在于所述数据还包括:
对数字签名进行解密以产生文摘的密钥。
9.如权利要求7所述的介质,其特征在于所述数据还包括:
确认微码补丁的密钥的散列值。
10.如权利要求7所述的介质,其特征在于微码补丁是加密的。
11.一种设备,包括:
具有微码的处理器;
耦合到处理器的安全存储器,用于对编码的微码补丁进行解码;以及
耦合到微码的微码补丁存储器,用于保存经解码的微码补丁。
12.如权利要求11所述的设备,其特征在于:
微码包括对编码的微码补丁进行解码的微指令;以及
安全存储器包含编码的微码补丁、解码的微码补丁以及微码补丁解码期间的中间产物中的至少一个。
13.如权利要求11所述的设备,其特征在于:
微码包括对编码的微码补丁进行解码的微指令;以及
安全存储器用于同时包含编码的微码补丁、解码的微码补丁以及微码补丁解码期间的中间产物中的至少一个的仅仅一部分。
14.如权利要求11所述的设备,其特征在于:
处理器包括嵌入式密钥,用于对编码的微码补丁进行解码。
15.如权利要求14所述的设备,其特征在于:
嵌入式密钥是不对称密码算法中的公开密钥。
16.一种方法,包括:
获取微码补丁和相关的数字签名;
在安全存储器中对数字签名进行解密以获取第一散列文摘;
用微码补丁计算第二散列文摘;
将第一散列文摘与第二散列文摘进行比较;以及
响应于第一和第二散列文摘之间的匹配,在微码补丁存储器中安装微码补丁。
17.如权利要求16所述的方法,其特征在于进一步包括:
对微码补丁进行解密;
其中所述计算第二散列文摘包括用微码补丁的加密版本计算第二散列文摘。
18.如权利要求16所述的方法,其特征在于进一步包括:
对微码补丁进行解密;
其中所述计算第二散列文摘包括用微码补丁的解密版本计算第二散列文摘。
19.如权利要求16所述的方法,其特征在于:
所述对数字签名进行解密包括使用公开密钥进行不对称解密。
20.如权利要求16所述的方法,其特征在于:
所述对数字签名进行解密包括使用嵌入的密钥。
21.如权利要求16所述的方法,其特征在于:
所述对数字签名进行解密包括使用随微码补丁提供的密钥进行不对称解密。
22.一种提供指令的机器可读取介质,当该指令由一组具有一个或多个处理器执行时使该组处理器进行操作,该操作包括:
获取微码补丁和相关的数字签名;
在安全存储器中对数字签名进行解密以获取第一散列文摘;
用微码补丁计算第二散列文摘;
将第一散列文摘与第二散列文摘进行比较;以及
响应于第一和第二散列文摘之间的匹配,在微码补丁存储器中安装微码补丁。
23.如权利要求22所述的介质,其特征在于进一步包括:
对微码补丁进行解密;
其中所述计算第二散列文摘包括用微码补丁的加密版本计算第二散列文摘。
24.如权利要求22所述的介质,其特征在于进一步包括:
对微码补丁进行解密;
其中所述计算第二散列文摘包括用微码补丁的解密版本计算第二散列文摘。
25.如权利要求22所述的介质,其特征在于:
所述对数字签名进行解密包括使用公开密钥进行不对称解密。
26.如权利要求22所述的介质,其特征在于:
所述对数字签名进行解密包括使用嵌入的密钥。
27.如权利要求22所述的介质,其特征在于:
所述对数字签名进行解密包括使用随微码补丁以及相关联的数字签名提供的密钥进行不对称解密。
28.一种系统,包括:
具有微码和嵌入的密钥的处理器;以及
驻留在与处理器耦合的存储设备和基本输入输出系统的至少一个中的微码补丁包,微码补丁包包括对微码打补丁的微码补丁以及数字签名以使用嵌入的密钥对微码补丁进行确认。
29.如权利要求28所述的系统,其特征在于:
在微码补丁包中微码补丁是以加密形式的。
30.如权利要求28所述的系统,其特征在于:
安全存储器在确认期间包含微码补丁。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/121,807 US20030196096A1 (en) | 2002-04-12 | 2002-04-12 | Microcode patch authentication |
US10/121,807 | 2002-04-12 | ||
PCT/US2003/009640 WO2003088019A2 (en) | 2002-04-12 | 2003-03-28 | Microcode patch authentication |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1659494A true CN1659494A (zh) | 2005-08-24 |
CN1659494B CN1659494B (zh) | 2011-06-08 |
Family
ID=28790411
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN038133962A Expired - Fee Related CN1659494B (zh) | 2002-04-12 | 2003-03-28 | 微码补丁验证 |
Country Status (8)
Country | Link |
---|---|
US (1) | US20030196096A1 (zh) |
CN (1) | CN1659494B (zh) |
AU (1) | AU2003224803A1 (zh) |
DE (1) | DE10392528T5 (zh) |
GB (2) | GB2419990B (zh) |
HK (1) | HK1068423A1 (zh) |
TW (1) | TWI268449B (zh) |
WO (1) | WO2003088019A2 (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102077204A (zh) * | 2008-06-24 | 2011-05-25 | 纳格拉影像股份有限公司 | 安全内存管理系统和方法 |
CN105306505A (zh) * | 2014-07-11 | 2016-02-03 | 腾讯科技(深圳)有限公司 | 数据更新方法、终端及服务器 |
CN105302606A (zh) * | 2015-11-03 | 2016-02-03 | 用友网络科技股份有限公司 | 基于项目权限的补丁下载方法及系统 |
CN106709281A (zh) * | 2015-07-14 | 2017-05-24 | 阿里巴巴集团控股有限公司 | 补丁发放和获取方法、装置 |
CN108052836A (zh) * | 2017-12-11 | 2018-05-18 | 北京奇虎科技有限公司 | 一种补丁包的防篡改方法、装置及服务器 |
US10630584B2 (en) | 2015-09-30 | 2020-04-21 | Huawei Technologies Co., Ltd. | Packet processing method and apparatus |
Families Citing this family (77)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10360545B2 (en) | 2001-12-12 | 2019-07-23 | Guardian Data Storage, Llc | Method and apparatus for accessing secured electronic data off-line |
US7380120B1 (en) | 2001-12-12 | 2008-05-27 | Guardian Data Storage, Llc | Secured data format for access control |
US7921450B1 (en) | 2001-12-12 | 2011-04-05 | Klimenty Vainstein | Security system using indirect key generation from access rules and methods therefor |
US7681034B1 (en) | 2001-12-12 | 2010-03-16 | Chang-Ping Lee | Method and apparatus for securing electronic data |
US7921288B1 (en) | 2001-12-12 | 2011-04-05 | Hildebrand Hal S | System and method for providing different levels of key security for controlling access to secured items |
US7565683B1 (en) | 2001-12-12 | 2009-07-21 | Weiqing Huang | Method and system for implementing changes to security policies in a distributed security system |
US8006280B1 (en) | 2001-12-12 | 2011-08-23 | Hildebrand Hal S | Security system for generating keys from access rules in a decentralized manner and methods therefor |
US10033700B2 (en) | 2001-12-12 | 2018-07-24 | Intellectual Ventures I Llc | Dynamic evaluation of access rights |
US7260555B2 (en) | 2001-12-12 | 2007-08-21 | Guardian Data Storage, Llc | Method and architecture for providing pervasive security to digital assets |
US8065713B1 (en) | 2001-12-12 | 2011-11-22 | Klimenty Vainstein | System and method for providing multi-location access management to secured items |
USRE41546E1 (en) | 2001-12-12 | 2010-08-17 | Klimenty Vainstein | Method and system for managing security tiers |
US7930756B1 (en) | 2001-12-12 | 2011-04-19 | Crocker Steven Toye | Multi-level cryptographic transformations for securing digital assets |
US7178033B1 (en) | 2001-12-12 | 2007-02-13 | Pss Systems, Inc. | Method and apparatus for securing digital assets |
US7921284B1 (en) | 2001-12-12 | 2011-04-05 | Gary Mark Kinghorn | Method and system for protecting electronic data in enterprise environment |
US7950066B1 (en) | 2001-12-21 | 2011-05-24 | Guardian Data Storage, Llc | Method and system for restricting use of a clipboard application |
US8176334B2 (en) | 2002-09-30 | 2012-05-08 | Guardian Data Storage, Llc | Document security system that permits external users to gain access to secured files |
US7748045B2 (en) | 2004-03-30 | 2010-06-29 | Michael Frederick Kenrich | Method and system for providing cryptographic document retention with off-line access |
US8613102B2 (en) | 2004-03-30 | 2013-12-17 | Intellectual Ventures I Llc | Method and system for providing document retention using cryptography |
US7512810B1 (en) | 2002-09-11 | 2009-03-31 | Guardian Data Storage Llc | Method and system for protecting encrypted files transmitted over a network |
ATE320125T1 (de) * | 2002-09-11 | 2006-03-15 | Giesecke & Devrient Gmbh | Geschützte kryptographische berechnung |
US7836310B1 (en) | 2002-11-01 | 2010-11-16 | Yevgeniy Gutnik | Security system that uses indirect password-based encryption |
US7440571B2 (en) * | 2002-12-03 | 2008-10-21 | Nagravision S.A. | Method for securing software updates |
US7890990B1 (en) | 2002-12-20 | 2011-02-15 | Klimenty Vainstein | Security system with staging capabilities |
US8707034B1 (en) | 2003-05-30 | 2014-04-22 | Intellectual Ventures I Llc | Method and system for using remote headers to secure electronic files |
US7730543B1 (en) | 2003-06-30 | 2010-06-01 | Satyajit Nath | Method and system for enabling users of a group shared across multiple file security systems to access secured files |
US20050044408A1 (en) * | 2003-08-18 | 2005-02-24 | Bajikar Sundeep M. | Low pin count docking architecture for a trusted platform |
US8127366B2 (en) | 2003-09-30 | 2012-02-28 | Guardian Data Storage, Llc | Method and apparatus for transitioning between states of security policies used to secure electronic documents |
US7703140B2 (en) | 2003-09-30 | 2010-04-20 | Guardian Data Storage, Llc | Method and system for securing digital assets using process-driven security policies |
US20050223292A1 (en) * | 2004-02-17 | 2005-10-06 | Lee Chee S | Single instruction type based hardware patch controller |
US7873831B2 (en) * | 2004-02-26 | 2011-01-18 | Microsoft Corporation | Digests to identify elements in a signature process |
EP1607821A1 (fr) | 2004-06-17 | 2005-12-21 | Nagracard S.A. | Méthode de mise à jour sécurisée de logiciel dans un mobile de sécurité |
US7707427B1 (en) * | 2004-07-19 | 2010-04-27 | Michael Frederick Kenrich | Multi-level file digests |
US7353375B2 (en) * | 2004-10-07 | 2008-04-01 | Hewlett-Packard Development Company, L.P. | Method and apparatus for managing processor availability using a microcode patch |
IL164571A0 (en) * | 2004-10-14 | 2005-12-18 | Yuval Broshy | A system and method for authenticating and validating the validating the linkage between input filesand output files in a computational process |
US7689819B2 (en) * | 2005-07-29 | 2010-03-30 | Broadcom Corporation | Method and system for a self-booting Ethernet controller |
US8028154B2 (en) * | 2005-07-29 | 2011-09-27 | Broadcom Corporation | Method and system for reducing instruction storage space for a processor integrated in a network adapter chip |
US7523299B2 (en) * | 2005-07-29 | 2009-04-21 | Broadcom Corporation | Method and system for modifying operation of ROM based boot code of a network adapter chip |
US20070088939A1 (en) * | 2005-10-17 | 2007-04-19 | Dan Baumberger | Automatic and dynamic loading of instruction set architecture extensions |
US20070113064A1 (en) * | 2005-11-17 | 2007-05-17 | Longyin Wei | Method and system for secure code patching |
US20080104403A1 (en) * | 2006-09-29 | 2008-05-01 | Shay Gueron | Methods and apparatus for data authentication with multiple keys |
US9280337B2 (en) * | 2006-12-18 | 2016-03-08 | Adobe Systems Incorporated | Secured distribution of software updates |
US8538015B2 (en) | 2007-03-28 | 2013-09-17 | Intel Corporation | Flexible architecture and instruction for advanced encryption standard (AES) |
DE102007016170A1 (de) * | 2007-04-02 | 2008-10-09 | Francotyp-Postalia Gmbh | Sicherheitsmodul für eine Frankiermaschine |
US20090031090A1 (en) * | 2007-07-24 | 2009-01-29 | Via Technologies | Apparatus and method for fast one-to-many microcode patch |
US20090031110A1 (en) * | 2007-07-24 | 2009-01-29 | Via Technologies | Microcode patch expansion mechanism |
US20090031103A1 (en) * | 2007-07-24 | 2009-01-29 | Via Technologies | Mechanism for implementing a microcode patch during fabrication |
US20090031108A1 (en) * | 2007-07-24 | 2009-01-29 | Via Technologies | Configurable fuse mechanism for implementing microcode patches |
US20090031107A1 (en) * | 2007-07-24 | 2009-01-29 | Via Technologies | On-chip memory providing for microcode patch overlay and constant update functions |
US20090031121A1 (en) * | 2007-07-24 | 2009-01-29 | Via Technologies | Apparatus and method for real-time microcode patch |
US8375219B2 (en) * | 2007-10-24 | 2013-02-12 | Microsoft Corporation | Program and operation verification |
ES2372889T3 (es) | 2008-01-20 | 2012-01-27 | Nds Limited | Utilización segura de datos. |
US8954696B2 (en) | 2008-06-24 | 2015-02-10 | Nagravision S.A. | Secure memory management system and method |
TW201009707A (en) * | 2008-08-25 | 2010-03-01 | Asustek Comp Inc | Method for loading and updating central processing unit (CPU) microcode into basic input/output system (BIOS) |
US8402279B2 (en) * | 2008-09-09 | 2013-03-19 | Via Technologies, Inc. | Apparatus and method for updating set of limited access model specific registers in a microprocessor |
US8341419B2 (en) * | 2008-09-09 | 2012-12-25 | Via Technologies, Inc. | Apparatus and method for limiting access to model specific registers in a microprocessor |
US20100180104A1 (en) * | 2009-01-15 | 2010-07-15 | Via Technologies, Inc. | Apparatus and method for patching microcode in a microprocessor using private ram of the microprocessor |
US8423779B2 (en) * | 2009-02-23 | 2013-04-16 | Wms Gaming, Inc. | Compounding security with a security dongle |
US8316243B2 (en) * | 2009-08-07 | 2012-11-20 | Via Technologies, Inc. | Apparatus and method for generating unpredictable processor-unique serial number for use as an encryption key |
US20110153944A1 (en) * | 2009-12-22 | 2011-06-23 | Klaus Kursawe | Secure Cache Memory Architecture |
TWI497344B (zh) * | 2010-05-17 | 2015-08-21 | Via Tech Inc | 微處理器及產生不可預測之鑰的方法 |
CA2804869C (en) * | 2010-07-09 | 2016-05-24 | Research In Motion Limited | Microcode-based challenge/response process |
US9032186B2 (en) * | 2010-07-09 | 2015-05-12 | Blackberry Limited | Utilization of a microcode interpreter built in to a processor |
US9262631B2 (en) | 2011-11-15 | 2016-02-16 | Mstar Semiconductor, Inc. | Embedded device and control method thereof |
TWI467408B (zh) * | 2011-11-15 | 2015-01-01 | Mstar Semiconductor Inc | 嵌入式元件與控制方法 |
US10031737B2 (en) * | 2012-02-16 | 2018-07-24 | Microsoft Technology Licensing, Llc | Downloading and distribution of applications and updates to multiple devices |
ITMI20120944A1 (it) * | 2012-05-31 | 2013-12-01 | St Microelectronics Srl | Unità di controllo di circuiti di alimentazione per uno o più punti di carico di un sistema elettronico con nvm esterna di personalizzazione |
US9792112B2 (en) | 2013-08-28 | 2017-10-17 | Via Technologies, Inc. | Propagation of microcode patches to multiple cores in multicore microprocessor |
US9465432B2 (en) | 2013-08-28 | 2016-10-11 | Via Technologies, Inc. | Multi-core synchronization mechanism |
US9575541B2 (en) | 2013-08-28 | 2017-02-21 | Via Technologies, Inc. | Propagation of updates to per-core-instantiated architecturally-visible storage resource |
CN104899524B (zh) * | 2015-05-25 | 2018-11-27 | 上海兆芯集成电路有限公司 | 中央处理器和验证主机板数据的方法 |
US10659234B2 (en) | 2016-02-10 | 2020-05-19 | Cisco Technology, Inc. | Dual-signed executable images for customer-provided integrity |
TWI615732B (zh) * | 2016-12-27 | 2018-02-21 | 瑞昱半導體股份有限公司 | 電子裝置之電子元件、啟動電子裝置的方法及加密方法 |
JP2020098506A (ja) * | 2018-12-18 | 2020-06-25 | ルネサスエレクトロニクス株式会社 | マイクロコントローラ及び半導体装置 |
US11481206B2 (en) | 2019-05-16 | 2022-10-25 | Microsoft Technology Licensing, Llc | Code update in system management mode |
US11100229B2 (en) * | 2019-07-18 | 2021-08-24 | Infineon Technologies Ag | Secure hybrid boot systems and secure boot procedures for hybrid systems |
US11385903B2 (en) * | 2020-02-04 | 2022-07-12 | Microsoft Technology Licensing, Llc | Firmware update patch |
US11681513B2 (en) | 2020-05-14 | 2023-06-20 | Texas Instmments Incorporated | Controlled scope of authentication key for software update |
Family Cites Families (101)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3699532A (en) * | 1970-04-21 | 1972-10-17 | Singer Co | Multiprogramming control for a data handling system |
US3996449A (en) * | 1975-08-25 | 1976-12-07 | International Business Machines Corporation | Operating system authenticator |
US4162536A (en) * | 1976-01-02 | 1979-07-24 | Gould Inc., Modicon Div. | Digital input/output system and method |
US4037214A (en) * | 1976-04-30 | 1977-07-19 | International Business Machines Corporation | Key register controlled accessing system |
US4247905A (en) * | 1977-08-26 | 1981-01-27 | Sharp Kabushiki Kaisha | Memory clear system |
US4278837A (en) * | 1977-10-31 | 1981-07-14 | Best Robert M | Crypto microprocessor for executing enciphered programs |
US4276594A (en) * | 1978-01-27 | 1981-06-30 | Gould Inc. Modicon Division | Digital computer with multi-processor capability utilizing intelligent composite memory and input/output modules and method for performing the same |
US4207609A (en) * | 1978-05-08 | 1980-06-10 | International Business Machines Corporation | Method and means for path independent device reservation and reconnection in a multi-CPU and shared device access system |
JPS5823570B2 (ja) * | 1978-11-30 | 1983-05-16 | 国産電機株式会社 | 液面検出装置 |
JPS5576447A (en) * | 1978-12-01 | 1980-06-09 | Fujitsu Ltd | Address control system for software simulation |
US4307447A (en) * | 1979-06-19 | 1981-12-22 | Gould Inc. | Programmable controller |
US4307214A (en) * | 1979-12-12 | 1981-12-22 | Phillips Petroleum Company | SC2 activation of supported chromium oxide catalysts |
US4319323A (en) * | 1980-04-04 | 1982-03-09 | Digital Equipment Corporation | Communications device for data processing system |
US4419724A (en) * | 1980-04-14 | 1983-12-06 | Sperry Corporation | Main bus interface package |
US4366537A (en) * | 1980-05-23 | 1982-12-28 | International Business Machines Corp. | Authorization mechanism for transfer of program control or data between different address spaces having different storage protect keys |
US4403283A (en) * | 1980-07-28 | 1983-09-06 | Ncr Corporation | Extended memory system and method |
DE3034581A1 (de) * | 1980-09-13 | 1982-04-22 | Robert Bosch Gmbh, 7000 Stuttgart | Auslesesicherung bei einchip-mikroprozessoren |
JPS58140862A (ja) * | 1982-02-16 | 1983-08-20 | Toshiba Corp | 相互排他方式 |
US4521852A (en) * | 1982-06-30 | 1985-06-04 | Texas Instruments Incorporated | Data processing device formed on a single semiconductor substrate having secure memory |
JPS59111561A (ja) * | 1982-12-17 | 1984-06-27 | Hitachi Ltd | 複合プロセツサ・システムのアクセス制御方式 |
US4759064A (en) * | 1985-10-07 | 1988-07-19 | Chaum David L | Blind unanticipated signature systems |
US4975836A (en) * | 1984-12-19 | 1990-12-04 | Hitachi, Ltd. | Virtual computer system |
JPS61206057A (ja) * | 1985-03-11 | 1986-09-12 | Hitachi Ltd | アドレス変換装置 |
FR2592510B1 (fr) * | 1985-12-31 | 1988-02-12 | Bull Cp8 | Procede et appareil pour certifier des services obtenus a l'aide d'un support portatif tel qu'une carte a memoire |
FR2601535B1 (fr) * | 1986-07-11 | 1988-10-21 | Bull Cp8 | Procede pour certifier l'authenticite d'une donnee echangee entre deux dispositifs connectes en local ou a distance par une ligne de transmission |
FR2601525B1 (fr) * | 1986-07-11 | 1988-10-21 | Bull Cp8 | Dispositif de securite interdisant le fonctionnement d'un ensemble electronique apres une premiere coupure de son alimentation electrique |
FR2601476B1 (fr) * | 1986-07-11 | 1988-10-21 | Bull Cp8 | Procede pour authentifier une donnee d'habilitation externe par un objet portatif tel qu'une carte a memoire |
FR2618002B1 (fr) * | 1987-07-10 | 1991-07-05 | Schlumberger Ind Sa | Procede et systeme d'authentification de cartes a memoire electronique |
US5007082A (en) * | 1988-08-03 | 1991-04-09 | Kelly Services, Inc. | Computer software encryption apparatus |
US5079737A (en) * | 1988-10-25 | 1992-01-07 | United Technologies Corporation | Memory management unit for the MIL-STD 1750 bus |
US5434999A (en) * | 1988-11-09 | 1995-07-18 | Bull Cp8 | Safeguarded remote loading of service programs by authorizing loading in protected memory zones in a terminal |
FR2640798B1 (fr) * | 1988-12-20 | 1993-01-08 | Bull Cp8 | Dispositif de traitement de donnees comportant une memoire non volatile electriquement effacable et reprogrammable |
JPH02171934A (ja) * | 1988-12-26 | 1990-07-03 | Hitachi Ltd | 仮想計算機システム |
JPH02208740A (ja) * | 1989-02-09 | 1990-08-20 | Fujitsu Ltd | 仮想計算機制御方式 |
JPH0617217B2 (ja) * | 1989-02-28 | 1994-03-09 | 水澤化学工業株式会社 | 非晶質シリカ・アルミナ系球状粒子及びその製法 |
US5442645A (en) * | 1989-06-06 | 1995-08-15 | Bull Cp8 | Method for checking the integrity of a program or data, and apparatus for implementing this method |
JP2590267B2 (ja) * | 1989-06-30 | 1997-03-12 | 株式会社日立製作所 | 仮想計算機における表示制御方式 |
US5022077A (en) * | 1989-08-25 | 1991-06-04 | International Business Machines Corp. | Apparatus and method for preventing unauthorized access to BIOS in a personal computer system |
JP2825550B2 (ja) * | 1989-09-21 | 1998-11-18 | 株式会社日立製作所 | 多重仮想空間アドレス制御方法および計算機システム |
CA2010591C (en) * | 1989-10-20 | 1999-01-26 | Phillip M. Adams | Kernels, description tables and device drivers |
US5075842A (en) * | 1989-12-22 | 1991-12-24 | Intel Corporation | Disabling tag bit recognition and allowing privileged operations to occur in an object-oriented memory protection mechanism |
US5108590A (en) * | 1990-09-12 | 1992-04-28 | Disanto Dennis | Water dispenser |
US5230069A (en) * | 1990-10-02 | 1993-07-20 | International Business Machines Corporation | Apparatus and method for providing private and shared access to host address and data spaces by guest programs in a virtual machine computer system |
US5317705A (en) * | 1990-10-24 | 1994-05-31 | International Business Machines Corporation | Apparatus and method for TLB purge reduction in a multi-level machine system |
US5287363A (en) * | 1991-07-01 | 1994-02-15 | Disk Technician Corporation | System for locating and anticipating data storage media failures |
US5437033A (en) * | 1990-11-16 | 1995-07-25 | Hitachi, Ltd. | System for recovery from a virtual machine monitor failure with a continuous guest dispatched to a nonguest mode |
US5255379A (en) * | 1990-12-28 | 1993-10-19 | Sun Microsystems, Inc. | Method for automatically transitioning from V86 mode to protected mode in a computer system using an Intel 80386 or 80486 processor |
US5453003A (en) * | 1991-01-09 | 1995-09-26 | Pfefferle; William C. | Catalytic method |
US5522075A (en) * | 1991-06-28 | 1996-05-28 | Digital Equipment Corporation | Protection ring extension for computers having distinct virtual machine monitor and virtual machine address spaces |
US5319760A (en) * | 1991-06-28 | 1994-06-07 | Digital Equipment Corporation | Translation buffer for virtual machines with address space match |
US5455909A (en) * | 1991-07-05 | 1995-10-03 | Chips And Technologies Inc. | Microprocessor with operation capture facility |
JPH06236284A (ja) * | 1991-10-21 | 1994-08-23 | Intel Corp | コンピュータシステム処理状態を保存及び復元する方法及びコンピュータシステム |
US5574936A (en) * | 1992-01-02 | 1996-11-12 | Amdahl Corporation | Access control mechanism controlling access to and logical purging of access register translation lookaside buffer (ALB) in a computer system |
US5486529A (en) * | 1992-04-16 | 1996-01-23 | Zeneca Limited | Certain pyridyl ketones for treating diseases involving leukocyte elastase |
US5421006A (en) * | 1992-05-07 | 1995-05-30 | Compaq Computer Corp. | Method and apparatus for assessing integrity of computer system software |
US5237616A (en) * | 1992-09-21 | 1993-08-17 | International Business Machines Corporation | Secure computer system having privileged and unprivileged memories |
US5293424A (en) * | 1992-10-14 | 1994-03-08 | Bull Hn Information Systems Inc. | Secure memory card |
JP2765411B2 (ja) * | 1992-11-30 | 1998-06-18 | 株式会社日立製作所 | 仮想計算機方式 |
US5668971A (en) * | 1992-12-01 | 1997-09-16 | Compaq Computer Corporation | Posted disk read operations performed by signalling a disk read complete to the system prior to completion of data transfer |
JPH06187178A (ja) * | 1992-12-18 | 1994-07-08 | Hitachi Ltd | 仮想計算機システムの入出力割込み制御方法 |
US5469557A (en) * | 1993-03-05 | 1995-11-21 | Microchip Technology Incorporated | Code protection in microcontroller with EEPROM fuses |
FR2703800B1 (fr) * | 1993-04-06 | 1995-05-24 | Bull Cp8 | Procédé de signature d'un fichier informatique, et dispositif pour la mise en Óoeuvre. |
FR2704341B1 (fr) * | 1993-04-22 | 1995-06-02 | Bull Cp8 | Dispositif de protection des clés d'une carte à puce. |
JPH06348867A (ja) * | 1993-06-04 | 1994-12-22 | Hitachi Ltd | マイクロコンピュータ |
FR2706210B1 (fr) * | 1993-06-08 | 1995-07-21 | Bull Cp8 | Procédé d'authentification d'un objet portatif par un terminal hors ligne, objet portatif et terminal correspondants. |
US5555385A (en) * | 1993-10-27 | 1996-09-10 | International Business Machines Corporation | Allocation of address spaces within virtual machine compute system |
US5584023A (en) * | 1993-12-27 | 1996-12-10 | Hsu; Mike S. C. | Computer system including a transparent and secure file transform mechanism |
PT739560E (pt) * | 1994-01-13 | 2001-12-28 | Certco Inc | Sistema criptografico e processo com caracteristica de garantia de chave |
US5459869A (en) * | 1994-02-17 | 1995-10-17 | Spilo; Michael L. | Method for providing protected mode services for device drivers and other resident software |
US5604805A (en) * | 1994-02-28 | 1997-02-18 | Brands; Stefanus A. | Privacy-protected transfer of electronic information |
US5473692A (en) * | 1994-09-07 | 1995-12-05 | Intel Corporation | Roving software license for a hardware agent |
JPH0883211A (ja) * | 1994-09-12 | 1996-03-26 | Mitsubishi Electric Corp | データ処理装置 |
US5606617A (en) * | 1994-10-14 | 1997-02-25 | Brands; Stefanus A. | Secret-key certificates |
US5564040A (en) * | 1994-11-08 | 1996-10-08 | International Business Machines Corporation | Method and apparatus for providing a server function in a logically partitioned hardware machine |
US6269392B1 (en) * | 1994-11-15 | 2001-07-31 | Christian Cotichini | Method and apparatus to monitor and locate an electronic device using a secured intelligent agent |
US5802268A (en) * | 1994-11-22 | 1998-09-01 | Lucent Technologies Inc. | Digital processor with embedded eeprom memory |
US5560013A (en) * | 1994-12-06 | 1996-09-24 | International Business Machines Corporation | Method of using a target processor to execute programs of a source architecture that uses multiple address spaces |
US5555414A (en) * | 1994-12-14 | 1996-09-10 | International Business Machines Corporation | Multiprocessing system including gating of host I/O and external enablement to guest enablement at polling intervals |
US5615263A (en) * | 1995-01-06 | 1997-03-25 | Vlsi Technology, Inc. | Dual purpose security architecture with protected internal operating system |
US5717903A (en) * | 1995-05-15 | 1998-02-10 | Compaq Computer Corporation | Method and appartus for emulating a peripheral device to allow device driver development before availability of the peripheral device |
US5757915A (en) * | 1995-08-25 | 1998-05-26 | Intel Corporation | Parameterized hash functions for access control |
US5684948A (en) * | 1995-09-01 | 1997-11-04 | National Semiconductor Corporation | Memory management circuit which provides simulated privilege levels |
US5633929A (en) * | 1995-09-15 | 1997-05-27 | Rsa Data Security, Inc | Cryptographic key escrow system having reduced vulnerability to harvesting attacks |
US5657445A (en) * | 1996-01-26 | 1997-08-12 | Dell Usa, L.P. | Apparatus and method for limiting access to mass storage devices in a computer system |
US5923884A (en) * | 1996-08-30 | 1999-07-13 | Gemplus S.C.A. | System and method for loading applications onto a smart card |
US5844986A (en) * | 1996-09-30 | 1998-12-01 | Intel Corporation | Secure BIOS |
US5901225A (en) * | 1996-12-05 | 1999-05-04 | Advanced Micro Devices, Inc. | System and method for performing software patches in embedded systems |
US6378072B1 (en) * | 1998-02-03 | 2002-04-23 | Compaq Computer Corporation | Cryptographic system |
US6463537B1 (en) * | 1999-01-04 | 2002-10-08 | Codex Technologies, Inc. | Modified computer motherboard security and identification system |
US6282650B1 (en) * | 1999-01-25 | 2001-08-28 | Intel Corporation | Secure public digital watermark |
US6651171B1 (en) * | 1999-04-06 | 2003-11-18 | Microsoft Corporation | Secure execution of program code |
US7213152B1 (en) * | 2000-02-14 | 2007-05-01 | Intel Corporation | Modular bios update mechanism |
US6625730B1 (en) * | 2000-03-31 | 2003-09-23 | Hewlett-Packard Development Company, L.P. | System for validating a bios program and memory coupled therewith by using a boot block program having a validation routine |
US6986052B1 (en) * | 2000-06-30 | 2006-01-10 | Intel Corporation | Method and apparatus for secure execution using a secure memory partition |
US7069452B1 (en) * | 2000-07-12 | 2006-06-27 | International Business Machines Corporation | Methods, systems and computer program products for secure firmware updates |
US6976163B1 (en) * | 2000-07-12 | 2005-12-13 | International Business Machines Corporation | Methods, systems and computer program products for rule based firmware updates utilizing certificate extensions and certificates for use therein |
US6463549B1 (en) * | 2000-09-28 | 2002-10-08 | Motorola, Inc. | Device and method for patching code residing on a read only memory module utilizing a random access memory for storing a set of fields, each field indicating validity of content of a group, and for receiving an address of a memory portion of the read only memory |
US7095858B2 (en) * | 2001-05-10 | 2006-08-22 | Ranco Incorporated Of Delaware | System and method for securely upgrading firmware |
US6993648B2 (en) * | 2001-08-16 | 2006-01-31 | Lenovo (Singapore) Pte. Ltd. | Proving BIOS trust in a TCPA compliant system |
US7484105B2 (en) * | 2001-08-16 | 2009-01-27 | Lenovo (Singapore) Ptd. Ltd. | Flash update using a trusted platform module |
US7237126B2 (en) * | 2001-09-28 | 2007-06-26 | Hewlett-Packard Development Company, L.P. | Method and apparatus for preserving the integrity of a management subsystem environment |
-
2002
- 2002-04-12 US US10/121,807 patent/US20030196096A1/en not_active Abandoned
-
2003
- 2003-03-28 DE DE10392528T patent/DE10392528T5/de not_active Ceased
- 2003-03-28 CN CN038133962A patent/CN1659494B/zh not_active Expired - Fee Related
- 2003-03-28 WO PCT/US2003/009640 patent/WO2003088019A2/en not_active Application Discontinuation
- 2003-03-28 AU AU2003224803A patent/AU2003224803A1/en not_active Abandoned
- 2003-03-28 GB GB0602345A patent/GB2419990B/en not_active Expired - Fee Related
- 2003-03-28 GB GB0422098A patent/GB2403047B/en not_active Expired - Fee Related
- 2003-04-11 TW TW092108407A patent/TWI268449B/zh not_active IP Right Cessation
-
2005
- 2005-01-14 HK HK05100391A patent/HK1068423A1/xx not_active IP Right Cessation
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102077204A (zh) * | 2008-06-24 | 2011-05-25 | 纳格拉影像股份有限公司 | 安全内存管理系统和方法 |
CN105306505A (zh) * | 2014-07-11 | 2016-02-03 | 腾讯科技(深圳)有限公司 | 数据更新方法、终端及服务器 |
CN106709281A (zh) * | 2015-07-14 | 2017-05-24 | 阿里巴巴集团控股有限公司 | 补丁发放和获取方法、装置 |
CN106709281B (zh) * | 2015-07-14 | 2019-09-17 | 阿里巴巴集团控股有限公司 | 补丁发放和获取方法、装置 |
US10630584B2 (en) | 2015-09-30 | 2020-04-21 | Huawei Technologies Co., Ltd. | Packet processing method and apparatus |
US11184281B2 (en) | 2015-09-30 | 2021-11-23 | Huawei Technologies Co., Ltd. | Packet processing method and apparatus |
CN105302606A (zh) * | 2015-11-03 | 2016-02-03 | 用友网络科技股份有限公司 | 基于项目权限的补丁下载方法及系统 |
CN108052836A (zh) * | 2017-12-11 | 2018-05-18 | 北京奇虎科技有限公司 | 一种补丁包的防篡改方法、装置及服务器 |
CN108052836B (zh) * | 2017-12-11 | 2021-06-04 | 北京奇虎科技有限公司 | 一种补丁包的防篡改方法、装置及服务器 |
Also Published As
Publication number | Publication date |
---|---|
DE10392528T5 (de) | 2005-09-15 |
WO2003088019A3 (en) | 2004-03-04 |
GB2419990A (en) | 2006-05-10 |
CN1659494B (zh) | 2011-06-08 |
HK1068423A1 (en) | 2005-04-29 |
GB2419990B (en) | 2006-11-01 |
US20030196096A1 (en) | 2003-10-16 |
AU2003224803A1 (en) | 2003-10-27 |
GB2403047A (en) | 2004-12-22 |
TW200402659A (en) | 2004-02-16 |
TWI268449B (en) | 2006-12-11 |
GB0422098D0 (en) | 2004-11-03 |
WO2003088019A2 (en) | 2003-10-23 |
GB0602345D0 (en) | 2006-03-15 |
GB2403047B (en) | 2006-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1659494B (zh) | 微码补丁验证 | |
TWI567579B (zh) | 用於對硬體裝置提供金鑰的方法和設備 | |
KR100749867B1 (ko) | 보안장치상에 암호화시스템을 보안가능하게 설치하는시스템 및 방법 | |
CN101019369B (zh) | 利用在线服务向装置传递直接证明私有密钥的方法 | |
US11218299B2 (en) | Software encryption | |
CN102077213B (zh) | 用于确保通信的认证和完整性的技术 | |
US20070074046A1 (en) | Secure microprocessor and method | |
US20060195689A1 (en) | Authenticated and confidential communication between software components executing in un-trusted environments | |
CA2902285A1 (en) | Systems, methods and apparatuses for remote attestation | |
US9165148B2 (en) | Generating secure device secret key | |
CN109478214B (zh) | 用于证书注册的装置和方法 | |
CN1934821A (zh) | 装置和便携式存储器之间的认证 | |
US20100191959A1 (en) | Secure microprocessor and method | |
CN113395406A (zh) | 一种基于电力设备指纹的加密认证方法及系统 | |
CN114662087A (zh) | 一种多端验证的安全芯片固件更新方法及装置 | |
CA2844359C (en) | System and method for obfuscating initiation values of a cryptography protocol | |
JP2022094333A (ja) | 拡張鍵ラッピングのコンピュータ実装方法、プログラム命令を実装したコンピュータ可読記憶媒体を含むコンピュータプログラム製品およびシステム(鍵ブロック拡張ラッピング) | |
KR100897075B1 (ko) | 배포 cd를 사용하는 장치에 서명 그룹의 다이렉트 증명개인 키들을 전달하는 방법 | |
KR101290818B1 (ko) | 보안 패치 시스템 | |
JP4604523B2 (ja) | データの移管方法およびデータの保管装置 | |
JP2006165874A (ja) | 電子制御装置及びデータ保護システム | |
CN116248282A (zh) | 固件下载方法、电子设备、加密机及计算机可读存储介质 | |
CN113468559A (zh) | 固件校验方法以及系统 | |
CN113645221A (zh) | 灌密方法、装置、设备、存储介质和计算机程序 | |
CN116318719A (zh) | 一种整定值文档验证方法、装置、设备和介质 |
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: 20110608 Termination date: 20180328 |
|
CF01 | Termination of patent right due to non-payment of annual fee |