CN101042720A - 具有启动验证功能的信息处理装置 - Google Patents

具有启动验证功能的信息处理装置 Download PDF

Info

Publication number
CN101042720A
CN101042720A CNA2006101110396A CN200610111039A CN101042720A CN 101042720 A CN101042720 A CN 101042720A CN A2006101110396 A CNA2006101110396 A CN A2006101110396A CN 200610111039 A CN200610111039 A CN 200610111039A CN 101042720 A CN101042720 A CN 101042720A
Authority
CN
China
Prior art keywords
system program
starting state
program
startup
proof department
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA2006101110396A
Other languages
English (en)
Other versions
CN100454322C (zh
Inventor
矢崎孝一
山田勇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of CN101042720A publication Critical patent/CN101042720A/zh
Application granted granted Critical
Publication of CN100454322C publication Critical patent/CN100454322C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/575Secure boot

Landscapes

  • Engineering & Computer Science (AREA)
  • 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)

Abstract

一种具有启动验证功能的信息处理装置,包括:模块记录部,其存储多个系统程序;安全芯片,其具有检查系统程序的合法性的功能;以及验证部,其检验系统程序的启动状态。安全芯片通过使用系统程序提供的验证数据来执行合法性检查处理。如果安全芯片不能确认系统程序的合法性,则验证部从已启动的系统程序获取关于已启动的系统程序的启动状态信息。如果合法系统程序的预存储的验证信息初始值与获取的启动状态信息相互匹配,则验证部确定系统程序的当前启动状态合法,并且推进系统程序的后续启动处理。

Description

具有启动验证功能的信息处理装置
技术领域
本发明涉及信息处理装置,更具体地,涉及一种具有启动验证功能的信息处理装置,所述启动验证功能检查在个人计算机等通电时启动的系统程序的合法性,并防止对非法程序等的错误检测。
背景技术
当前,由于诸如计算机病毒和间谍软件之类的恶意软件,存在程序和数据被破坏以及重要数据非法流出的问题。
为了实现抵抗这些恶意软件的安全的计算机系统,已经提出了一种计算机系统,其在计算机启动期间检测非法软件的存在、对文件的篡改等等。
例如,已经提出了一种通过使用称为数字签名的编码技术来检测对程序的篡改的方法。
而且,还提出了一种具有如下的篡改检测功能的计算机系统:该功能在启动引导程序期间,在不使用OS(操作系统)的情况下读取存储在辅助存储装置中的特定的存储信息和待检验文件,并且通过使用存储在引导程序中的信息来检测是否存在对文件的篡改(参见日本未审专利特开2004-280284号公报)。
另外,还提出了一种控制处理器,其在安全状态下预存储包括用于待启动系统模块的参考散列值的散列值表,并且将通过检查启动后的系统模块程序而确定的散列值与参考散列值进行比较,用以在安全状态下正确地进行软件认证处理(参见日本未审专利特开平10-333902号公报,1998)。
另外,为了对非法程序的存在以及合法授权的有无进行认证,还提出了一种并有称为TPM(可信平台模块)芯片的安全芯片的计算机系统。
该计算机系统是符合由TCG(可信计算组)定义的规范的个人计算机(遵从TCG的个人计算机)。另外,TPM芯片是具有如下功能的硬件:检查由实际上连续启动的系统程序提供的信息(散列值),以验证是否仅启动了合法软件和系统程序而未添加非法系统程序或篡改系统程序。
图13例示了在信息处理装置启动期间执行的常规验证处理的说明图。此处仅例示出该装置的主要部分。
通常,在诸如个人计算机的计算机中,在其刚通电后就以一定的顺序启动特定系统程序。
首先,启动称为CRTM(核心根可信度量)的程序,接着,启动BIOS(基本输入输出系统)程序以检查各种硬件、任选ROM、IPL(初始程序加载器)等。然后,启动OS(操作系统)程序。
TPM芯片预存储用于检查系统程序合法性的认证数据(经认证的散列值HS1)和用于启动OS的启动钥KEY1。
在遵从TCG的个人计算机中,每次启动系统程序时进行预定的测量计算,并向TPM芯片提供计算结果(散列值)。
例如,在启动CRTM程序时,CRTM程序执行对CRTM程序本身的测量计算,并向TPM芯片提供作为计算结果(散列值)的数据A。TPM芯片暂时存储所提供的计算结果(数据A)。
接着,在启动BIOS程序时,CRTM程序执行对BIOS程序的测量计算,并向TPM芯片提供计算结果(数据B)。TPM芯片使用所提供的计算结果和CRTM的散列值(先前存储的散列值)生成新散列值并将其改写。之后,执行BIOS程序本身以检查硬件等,并启动OS。
在启动OS时,执行对OS程序的测量计算,然后向TPM芯片提供计算结果(数据C)。TPM芯片与上述相似地改写所提供的计算结果(散列值:数据C)。
之后,TPM芯片在计算得到的散列值(数据C)和预存储的认证散列值HS1之间进行比较。如果比较处理显示两个散列值不相互匹配,则确定启动异常,而如果它们匹配,则确定启动正常。例如,如果启动了意外的非法程序,则这使得散列值之间不匹配,从而确定启动异常。
如果确定启动正常,则TPM芯片向OS程序提供预存储的启动钥KEY1。在接收到启动钥KEY1时,OS程序使用该密钥在硬盘驱动器(HDD)上执行解码处理,从而启动在OS上运行的应用程序。之后,用户能够使用个人计算机进行操作。
另一方面,如果上述比较处理显示散列值不相互匹配,则TPM芯片不向OS程序输出启动钥。在这种情况下,OS程序不能接收启动钥,不能执行后续的启动处理,这阻止用户使用个人计算机。
即,如果存在意外的非法程序(例如,计算机病毒),则阻止从TPM芯片输出启动钥,这使得能够检测非法程序。
然而,通过使用常规TPM芯片的启动控制和上述专利文献中描述的启动控制,可以检测非法程序,但即使启动了合法启动处理并且不存在非法程序,也经常确定启动非法,这可能阻止个人计算机启动。
例如,如果用户改变了BIOS设置,如果通过诸如USB的接口新连接了外部设备,如果新安装了存储器(SRAM),如果系统程序的启动顺序发生了变化等等,则从上述测量计算得到的散列值将变化。
在所述情况下,向TPM芯片输出与预存储在TPM芯片中的认证散列值不同的散列值。因此,TPM芯片进行的比较处理显示两个散列值不相互匹配,从而确定启动异常。
即,即使不存在非法程序,也会错误地确定为由于存在非法程序等而进行了异常启动,这会阻止向OS提供启动钥,从而阻止用户使用个人计算机。
在如上所述使个人计算机不可使用的情况下,可以通知用户在启动期间认证失败的事实,但用户难以辨别实际上个人计算机是否是由于存在非法程序而不可使用。
另外,为了查找原因,需要用户试图通过断电而进行重启动、恢复硬盘、复原到能够正常运行的先前硬件、进行用于对启动钥解锁的密码输入处理等。
即,对于配备有常规TPM芯片的遵从TCG的个人计算机,可以检测非法程序的存在以提高安全性,但即使没有非法程序,也应通过用户的操作使个人计算机复原到正常启动状态,这需要较长的时间,从而降低了用户的可用性。
发明内容
本发明提供一种具有启动验证功能的信息处理装置,该装置包括:模块记录部,其存储多个系统程序;安全芯片,其具有检查系统程序的合法性的功能;以及验证部,其检验系统程序的启动状态,其中验证部包括:启动状态检查部,用于检查已启动的系统程序的启动状态;启动状态信息记录部,其存储已从对启动状态的检查获取的关于系统程序的启动状态的信息;初始值记录部,其存储待启动系统程序的验证信息初始值;以及比较部,其用于对在启动各个系统程序时获取的且已存储在启动状态信息记录部中的关于系统程序的启动状态的信息与存储在初始值记录部中的验证信息初始值进行比较,以检验系统程序的启动状态,并且如果安全芯片不能确认系统程序的合法性,则验证部检验系统程序的启动状态,如果检验成功,则确定系统程序的当前启动状态是合法的。
在本发明中,提供了用于与安全芯片分立地检验系统程序的启动状态的合法性的验证部,这使得即使安全芯片未确认系统程序的启动状态的合法性也能够对系统程序的启动状态进行检验,并且,如果可以允许启动系统程序,则能够推进系统程序的启动处理。即,即使安全芯片未确认合法性,在系统程序启动合法的情况下,该信息处理装置也能够在无需用户复原处理的情况下复原,从而降低用户在启动的复原处理期间的负担。
附图说明
图1是根据本发明的信息处理装置的示例结构的框图;
图2是根据本发明的信息处理装置的示例结构的框图;
图3是根据本发明的信息处理装置中的验证信息初始值的说明图;
图4是根据本发明的信息处理装置中的启动状态信息DB的说明图;
图5是根据本发明的信息处理装置中的示例性验证处理的说明图;
图6是根据本发明的信息处理装置中的示例性验证处理的说明图;
图7是根据本发明的信息处理装置中的示例性验证处理的说明图;
图8是根据本发明的验证信息初始设定处理的流程图;
图9是根据本发明的验证信息初始设定处理的流程图;
图10是由根据本发明的验证部进行的验证处理的流程图;
图11是根据本发明在通电时的启动状态检查处理的流程图;
图12是由根据本发明的验证部进行的启动检验处理的流程图;并且
图13是在常规信息处理装置的启动期间的验证处理的说明图。
具体实施方式
本发明是具有启动验证功能的信息处理装置,其能够检测非法程序的存在,如果启动处理是期望的正常启动处理则允许系统程序启动,并能够在不需用户操作的情况下自动复原,从而提高用户的可用性。
另外,安全芯片预存储用于检查系统程序合法性的验证信息,该验证信息包括启动钥KEY1、用于输出该启动钥的密码PS1,以及用于验证系统程序的特定验证数据。
而且,安全芯片接收在启动系统程序时由该系统程序提供的验证数据A,并比较验证数据A与预存储的验证数据以检查系统程序的合法性。
另外,在本发明中,验证部在其初始值记录部中预存储与用于输出启动钥KEY1的密码PS1相同的密码PS2,如果比较部进行的检验显示关于启动状态的获取信息和预存储在初始值记录部中的验证信息初始值相互匹配,则验证部向安全芯片发送预存储的密码PS2,并且如果安全芯片接收到密码PS2,则安全芯片向验证部输出预存储的启动钥KEY1。
根据上述结构,即使当安全芯片进行的验证失败时,但如果验证部进行的检验成功,则也确定系统程序启动验证成功,并且装置能够在不需用户复原处理的情况下复原,从而减轻用户的负担。
在本发明中,验证部可预存储在存储BIOS的非易失性存储器中。在这种情况下,验证部由程序实现,并且由为装置设置的CPU执行验证部的功能。
验证部还可设置在配备有安全芯片的基板上。
优选地,该验证部由硬件实现,并且基板以不容易被卸下的方式安装。
另外,本发明提供一种具有启动验证功能的信息处理装置,该装置包括:模块记录部,其存储多个系统程序;安全芯片,其具有检查系统程序合法性的功能;以及验证部,其检验系统程序的启动状态,其中安全芯片通过使用系统程序提供的验证数据来执行合法性检查处理,如果安全芯片不能确认系统程序的合法性,则验证部从已启动的系统程序获取关于已启动的系统程序的启动状态信息,并且如果用于合法系统程序的预存储的验证信息初始值与获取的启动状态信息相互匹配,则验证部确定系统程序的当前启动状态合法,并且推进系统程序的后续启动处理。
根据本发明的模块记录部是预存储系统程序并且设定系统程序启动所需的值的存储器。例如,BIOS ROM对应于模块记录部。
根据本发明的系统程序包括一组用于启动信息处理装置的模块程序和诸如操作系统(OS)的运行用户应用程序所必需的程序。例如,稍后将描述的CRTM部、BIOS部、OS部等中包括的程序对应于系统程序。
安全芯片指的是例如TPM芯片,并且是包括CPU、ROM、RAM、非易失性存储器等的芯片。
另外,将存储在安全芯片中的验证数据存储在非易失性存储器中,并且可通过特定控制请求而将其重写。用于检查系统程序合法性的特定验证数据由系统程序提供,并且是根据系统程序本身计算出的散列值。
关于系统程序启动状态的信息指的是存储在稍后要描述的图4中所示的启动状态信息DB 55中的信息,并且每次在启动信息处理装置时生成。例如,如果通过新安装存储器或接口板而改变装置的硬件结构,则启动状态信息更新。
初始值记录部对应于稍后要描述的图3中所示的验证信息初始值表S0。
下面,将根据附图所示的示例详细描述本发明。然而,并非意在由这些示例来限制本发明。
(根据本发明的信息处理装置的结构的框图)
图1和图2例示出根据本发明的信息处理装置的示例结构的框图。
根据本发明的信息处理装置是在例如个人计算机、工作站、服务器或蜂窝式电话中的计算机。
本发明的特征在于,在这种计算机中安装有TPM芯片和启动验证模块(也称为验证部或验证引擎VE)。启动验证模块由软件或硬件实现。图1例示出主要由软件实现的启动验证模块的结构,图2例示出主要由硬件实现的启动验证模块的结构。
图1中,根据本发明的信息处理装置主要由CPU 1、RAM 2、硬盘HDD 3、TPM 4和BIOS ROM 5构成。
CPU 1是根据存储在RAM和ROM中的程序有组织地操作本发明各部件以实现预定功能的控制部。CPU 1还包括诸如高速缓存寄存器、RAM、I/O控制器、计时器等的功能模块。
RAM 2是在执行装置功能期间暂时存储程序或数据的存储器。
硬盘HDD 3是存储操作系统OS、应用程序以及各种文档文件等的大容量存储装置。
HDD 3例如包括存储OS的OS部31和存储用于生成文档、处理图像等的应用程序的应用软件部32,如图1所示。
TPM 4是包括CPU、ROM、RAM、非易失性存储器、计时器等的硬件芯片,并且在TPM 4中记录启动验证所需的信息。
启动验证所需的信息例如是启动钥(KEY1)41、密码(PS1)42和散列值(HS1)43,如图1所示。所述信息在发货或用户购买装置后第一次启动时存储在TPM 4中的非易失性存储器中。
启动钥(KEY1)指的是启动OS所需的密钥。OS部31存储操作系统OS,如果在OS被编码的状态下将其存储,则启动钥41用作对经编码的OS进行解码并将其复原到能够启动的状态的解码钥。
即,在CPU 1中的启动验证处理中,CPU 1从TPM 4接收用于启动OS的启动钥41。
密码(PS1)42是强制TPM 4输出启动钥(KEY1)41所需的特定信息,也称为恢复密码。
密码(PS1)42由用户提供,或者在第一次启动或发货时自动生成,并且预存储在TPM 4中的非易失性存储器和BIOS ROM 5中。
散列值(HS1)43是待与在稍后要描述的启动验证处理中提供给TPM4的验证数据A进行比较的信息,并且存储在TPM 4中的非易失性存储器中。散列值43在发货时被预存储并且能够在正常启动后通过由用户输入的命令而被更新。
TPM 4是根据前述TCG定义的规范生成的芯片,也向TPM 4输入数据并从其输出数据,并且TPM 4的功能也根据该规范而被限定。
例如,如果TPM 4从TPM 4外部的模块程序(BIOS部、CRTM部或者验证部)接收到用于输出启动钥41的请求,则TPM 4检查包括在请求中的验证数据A,并且仅当验证数据A与预存储的散列值(HS1)43匹配时才向提出请求的模块程序输出启动钥(KEY1)41。如果它们不相互匹配,则TPM 4不向提出请求的模块程序进行任何输出或者向其发送表示验证失败的事实的回复。
图1中,BIOS ROM 5是诸如闪存或PROM的非易失性存储器,并且也是存储将在个人计算机等通电时首先启动的一组系统程序的存储器。
该组系统程序例如包括CRTM部、硬件初始化部、用于视频BIOS等的任选ROM,等等。
CRTM部是在重启后首先启动并且在存储器上展开BIOS ROM的程序。
BIOS部是用于控制从连接到该装置的外部设备(例如键盘、鼠标、HDD)的输入以及向其的输出的系统程序。
另外,本发明的特征在于,BIOS ROM 5包括验证部(验证引擎:VE)53。
验证部(VE)53是对所述系统程序组进行启动验证的部分,主要包括启动状态检查部56、比较部57以及存储验证信息初始值表(S0)54和启动状态信息DB 55的存储器。
另外,验证部(VE)53是如下的部分:理论上位于所述系统程序组(例如CRTM部51、BIOS部52以及OS部31)与TPM 4之间,对在所述系统程序组与TPM 4之间的数据发送和接收进行控制,并且如果TPM验证失败则在启动期间对所述系统程序组进行检验处理。
验证信息初始值表(S0)54是在发货或个人计算机等的第一次启动时预设的信息,包括上述密码(PS1)42。
在验证信息初始值表(S0)54中,记录了标识待启动的合法系统程序所需的信息。
图3例示了验证信息初始值表S0的示例的说明图。
例如,如图3所示,验证信息初始值表S0包括允许启动的合法系统程序的模块名,以及这些程序的散列值HS、PCR号、设定值、公钥KEY2、密码PS1等。
在这种情况下,这些程序的散列值HS是相应各程序的散列值,而且也是由BIOS销售商预先计算出的数值。
另外,PCR号表示在存储有相应程序的TPM芯片中的PCR号。例如,PCR号为0表示存储有在重启后执行的诸如CRTM的初始化程序的号。另外,PCR号为1表示存储有硬件结构状态的号,PCR号为2表示存储有任选ROM状态的区域。
公钥KEY2指的是用于验证已签名程序的密钥。
启动状态信息DB 55是在个人计算机等通电并启动后检查系统程序的启动状态之后生成的数据,也称为结果DB。例如,将关于BIOS部52在其启动后的启动状态的信息存储在结果DB中。
图4例示了根据本发明的启动状态信息DB(结果DB)55的示例的说明图。
图4中,启动状态信息DB 55包括程序模块名和关于启动成功/失败的结果、PCR号以及设定值的成功/失败的结果的信息。
例如,指出了名为“初始化例程”的模块程序已经在PCR为0处正常启动。
启动状态检查部56是在各个系统程序启动期间检查程序状态并生成启动状态信息DB 55的部分。
比较部57是将预存储的验证信息初始值表(S0)54与实际启动之后的启动状态信息DB 55进行比较的部分。
如果比较处理显示两个信息相互匹配,则这意味着对系统程序的检验成功。即,这意味着不存在非法程序并且已正常执行启动处理。
在检验成功的情况下,确定系统程序的启动合法并且应被许可,即使TPM进行的验证处理失败,后续的启动处理(例如,OS的启动)也继续进行。
另一方面,如果两个信息不相互匹配,则意味着当前启动处理异常,可能存在非法程序等,因此对系统程序的启动不被许可。在这种情况下,原则上中断后续启动处理。
图2例示了包括具有验证部(VE)53和TPM 4的启动认证部6的信息处理装置的结构的框图。
图2的结构与图1结构的不同之处在于,验证部53和TPM 4被构成为单个硬件模块。因此,从图1的BIOS ROM 5去除验证部53。验证部53和TPM 4的内部结构和功能与图1中相同。
(根据本发明的验证处理的概要)
图5、图6和图7例示了根据本发明的验证处理的示例的说明图。
图5例示出在其中TPM 4进行的验证成功的情况下的处理。
图6例示出在其中TPM 4进行的验证失败、但是验证部VE 53进行的检验处理成功的情况下的处理。
图7例示出在其中TPM 4进行的验证失败、且验证部VE 53进行的检验处理也失败的情况下的处理。
这些图中的任一幅都表示在三个功能部件之间的数据流。
在这种情况下,此处示出的BIOS部可以由启动的任何系统程序代替,并且也可以由CRTM部或OS部代替。
图5中,如果BIOS部52首先启动,则BIOS部52在执行BIOS部的固有功能之前向验证部VE发送“验证请求”。这时,将BIOS部独有的验证数据A与验证请求一起发送至验证部VE。
所述验证数据A是由当前运行的程序部分生成的信息,并且可以例如是由CRTM部计算出的散列值。
在接收到验证请求后,验证部VE向TPM 4发送“对启动钥的请求”。这时,将验证数据A与该请求一起发送至TPM 4。
在接收到“对启动钥的请求”后,TPM 4将接收到的验证数据A与预存储在TPM 4中的散列值HS1进行比较,以确定它们是否相互匹配。
如果它们相互匹配,则TPM 4向验证部VE发送表示TPM 4进行的验证成功的事实的回复(验证成功回复)。这时,TPM 4还向验证部VE发送预存储的启动钥KEY1。
在从回复中识别出验证成功后,验证部VE向提出验证请求的BIOS部52发送接收到的启动钥KEY1。
之后,BIOS部执行其固有功能并进一步执行启动OS等的处理。
下面,将参照图6来描述TPM 4进行的验证失败的情况。
TPM 4进行的验证处理失败的情况包括系统程序的启动顺序发生了变化的情况、新连接了外围设备的情况、新安装了RAM的情况等,以及启动了非法程序的情况。
因为除启动了非法程序的情况之外的上述其他情况应被认为是正常启动,所以在这些情况下,应不中断后续的启动处理而将个人计算机复原为用户可使用。
图6中,如果接收到的验证数据A不与散列值HS1匹配,则TPM 4向验证部VE发送表示验证失败的事实的回复。
在识别出验证失败后,验证部VE执行用于检查已启动的系统程序的合法性的启动检验处理。在该检验处理中,在启动状态信息DB与验证信息初始值表S0之间进行比较。
如果比较显示它们相互匹配,则验证部VE确定检验成功,并向TPM4发送对启动钥解锁的请求。在发送解锁请求时,验证部VE还将预存储在其中的密码PS1发送至TPM 4。
在接收到解锁请求后,TPM 4在密码PS1与预存储在其中的密码之间进行比较,以确定密码PS1是否合法。
如果TPM 4确定两个密码相互匹配,则TPM 4向验证部VE发送预存储的启动钥KEY1作为解锁回复。
在接收到启动钥KEY1后,验证部VE向提出验证请求的BIOS部发送启动钥KEY1。
在接收到启动钥KEY1后,BIOS部执行BIOS功能,然后启动OS等。在这种情况下,TPM进行的验证失败,但确定该失败是由于处于允许启动的正常范围内的原因造成的,而不是由于存在非法程序造成的,并且执行后续的启动处理。
即,对于仅由常规TPM进行验证,即使由于除存在非法程序之外的原因而造成验证失败,也阻止进行后续启动,用户需要进行手动复原处理。然而,本发明能够在不需用户主动复原处理的情况下进行自动复原处理(正常启动处理)。
接下来,将参照图7来描述其中TPM进行的验证失败、且验证部VE进行的检验处理也失败的情况。
图7中,验证部VE在识别出TPM进行的验证失败后执行与图6所示的检验处理相似的检验处理。然而,假设检验处理显示启动状态信息DB与验证信息初始值表S0不相互匹配,从而检验失败。
在这种情况下,验证部VE通知提出验证请求的BIOS部验证失败。
在识别出验证失败后,BIOS部进行用于通知用户执行的验证失败的通知处理,以通知用户验证失败的事实及其原因。在接收到该通知后,用户尝试进行手动复原处理。
在这种情况下,TPM进行的验证和验证部VE进行的检验都失败,因此可能存在非法程序。
从而,BIOS部可通知用户可能存在非法程序而导致验证失败。
(验证信息初始设定处理)
在本发明中,为了使验证部VE 53进行上述验证处理,需要在信息处理装置发货或用户购买后第一次给该信息处理装置通电时预先对验证启动的系统程序组所需的信息进行初始设定。
在这种情况下,待初始设定的信息包括TPM 4中的启动钥KEY1 41、密码PS1 42和散列值HS1 43,以及验证部53中的验证信息初始值表S054、公钥KEY2和密码PS1。
在根据本发明的信息处理装置发货时,制造商根据预定的设计规范,向其输入上述待初始设定信息的初始值。
另外,在购买后第一次通电后,用户需要输入初始值或者生成(或更新)初始值的命令,从而对待初始设定的信息进行初始设定。
图8和图9例示出用于对启动钥KEY1和密码PS1进行初始设定的处理的示例的流程图,该处理由根据本发明的验证部VE执行。
图8例示出验证部生成密码PS1的情况。
图8中,首先,检查用户是否已输入初始注册请求(步骤S51)。用户在提出初始注册请求时输入启动钥KEY1。
接着,在步骤S52中,验证部VE接收启动钥KEY1。
在步骤S53中,检查是否应自动生成密码。
例如,如果用户已输入生成密码的命令,则处理进行到其中生成密码PS1的步骤S54。生成密码PS1的处理例如通过在TPM芯片中执行随机数生成处理而进行。
接着,在步骤S55中,将输入的启动钥KEY1和生成的密码PS1发送给TPM 4。
另一方面,如果无需生成密码,则处理进行到其中将输入的启动钥KEY1发送给TPM 4的步骤S58。
接着,在步骤S56中,将密码PS1记录在验证信息初始值表S0中。
密码PS1用于向TPM 4提出解锁请求。
如果要注册多个启动钥KEY,则将密码与用于标识各个启动钥的信息(密钥名)相关联地记录在其中。
在步骤S57中,输出初始注册处理结果以将其通知给用户。这时,还将已利用TPM芯片编码的启动钥KEY1输出至请求生成密钥的源。
图9例示出在用户输入密码PS1和启动钥KEY1的情况中的初始设定处理。
在图9中的步骤S61中,首先,检查用户是否已输入初始注册请求,如果他或她已输入该请求,则处理进行到步骤S62。
在步骤S62中,接收输入的密码PS1。
接着,在步骤S63中,接收输入的启动钥KEY1。
另外,在步骤S64中,将输入的密码PS1和输入的启动钥KEY1发送给TPM 4。这时,TPM 4接收密码PS 1和启动钥KEY1,然后将它们存储在内部存储器中。
在步骤S65中,确定是否能利用启动钥KEY1正常进行解锁操作。
这时,将密码PS1与关于解锁请求的信息一起发送给TPM 4。在接收到解锁请求和密码PS1后,TPM 4检查密码PS1是否是可允许解锁的合法密码,并将在步骤S64中接收到的启动钥KEY1输出至验证部VE。
在识别出从TPM输出的启动钥KEY1后,验证部VE确认能够正常进行解锁操作。
在步骤S66中,如果确认解锁操作成功,则处理进行到步骤S67。另一方面,如果解锁失败,则中断初始设定处理。而且可通知用户失败的事实。
在步骤S67中,将密码PS1记录在验证信息初始值表S0中。
在步骤S68中,与步骤S57相似,输出初始注册处理结果。
如上所述,对于图8或图9所示的处理,能够对系统程序启动验证所需的信息进行初始设定。
另外,用户能够通过在适当定时启动上述初始设定处理来更新已经预先设定的初始设定信息。
(验证部进行的验证处理)
下面将描述由验证部VE 53执行的验证处理的具体内容。
图10例示出验证部进行的示例性验证处理的流程图。
根据该流程,进行上述图5、图6和图7中的任一处理。
图10中,假设用户已给根据本发明的信息处理装置通电,从而验证部VE已启动。
首先,在步骤S1中,验证部VE中的启动状态检查部56检查系统程序组(例如,CPRM部和BIOS部)的启动状态。
通过检查操作,生成表示在当前启动时各个系统程序的启动状态的启动状态信息DB。例如,生成图4所示的启动状态信息DB。
图11例示了在通电时的示例性启动状态检查处理(步骤S1)的流程图。
首先,在步骤S71中,验证部VE中的启动状态检查部56从已启动的系统程序(例如,BIOS部)接收BIOS部的程序代码和用于启动的设定值。然而,如果没有设定值,则启动状态检查部56不接收设定值。
在步骤S72中,检查接收到的程序是否在其上具有电子签名。
如果其具有电子签名,则处理进行到其中进行签名验证处理的步骤S75。例如通过利用记录在验证信息初始值表S0中的公钥KEY2对签名部分进行解码、并且在解码后的签名与程序的散列值之间比较,来进行签名验证处理。
在步骤S78中,如果通过验证处理证明签名合法,则将表示程序启动合法的信息记录在启动状态信息DB 55中的成功/失败结果字段中(步骤S80)。
例如,如图4所示,如果名为“初始化例程”的系统程序在其上具有合法签名,则将“圆形标记”记录在启动状态信息DB 55中的成功/失败结果字段中。相反,如果证明签名不合法,则将表示非法的“十字标记”记录在成功/失败结果字段中。
在步骤S80中,与已启动的系统程序名及其PCR值相关联地记录成功/失败结果。
在步骤S72中,如果接收到的系统程序上不具有签名,则处理进行到其中检查是否已接收到系统程序的程序代码的步骤S73。
如果已接收到程序代码,则处理进行到其中进行散列值比较处理的步骤S76。散列值比较处理是用于将从接收到的程序代码计算出的散列值与已经预存储在验证信息初始值表S0 54中的系统程序的散列值HS进行比较的处理。
如果比较显示两个散列值相互匹配,则确定已启动的系统程序合法。如果它们不匹配,则确定系统程序不合法。
即,如果在步骤S79确认程序代码合法,则将表示系统程序启动合法的信息“圆形标记”记录在成功/失败结果字段中(步骤S80)。
另一方面,如果不能确认程序代码合法,则将表示系统程序启动非法的信息“十字标记”记录在成功/失败结果字段中(步骤S80)。这时,将成功/失败结果与系统程序名相关联地记录在启动状态信息DB 55中。
如果在步骤S73确定接收到的信息不是程序代码,则认为接收到的信息是设定值,处理进行到其中进行将接收到的设定值与已预存储在验证信息初始值表S0中的设定值进行比较的处理的步骤S74。
在步骤S77中,如果比较显示两个设定值相互匹配,则确定设定值合法,从而确认具有该设定值的程序合法。
接着,将表示合法的信息“圆形标记”记录在成功/失败结果字段中(步骤S80)。
另一方面,如果这些设定值不相互匹配,则确定设定值非法,并且将表示非法的信息“十字标记”记录在成功/失败结果字段中(步骤S80)。这时,同样地,将成功/失败结果与设定值名相关联地记录在启动状态信息DB 55中。
已经描述了在图10中步骤S1处的处理的具体内容,该处理检查所有已启动的系统程序的启动状态的合法性,并生成当前启动时的启动状态信息DB 55。
接着,在图10中的步骤S2,检查是否存在启动验证请求。
例如,如果如图5所示存在来自BIOS部52的启动验证请求,则处理进行到步骤S3。验证请求包括验证数据A。
在步骤S3中,验证部VE向TPM 4发送对包括验证数据A的启动钥的请求。
验证数据A例如是通过步骤S1的检查处理根据系统程序本身确定的散列值。散列值是将用于TPM进行的验证的数据。
在接收到对启动钥的请求之后,TPM 4进行验证处理并向验证部发送表示验证结果(成功与否)的回复。
接着,在步骤S4中,验证部VE检查来自TPM 4的表示验证结果的回复。如果回复表示成功,则处理进行到步骤S9,但如果它表示失败,则处理进行到步骤S5。
如果成功,则处理对应于图5的验证处理的流程。
在步骤S9中,验证部VE接收从TPM发送的启动钥KEY1。
接着,在步骤S10中,验证部VE向提出验证请求的系统程序发送启动钥KEY1。
另一方面,如果TPM进行的验证失败,则验证部VE中的比较部57在步骤S5执行检验处理。
在检验处理中,将存储在验证信息初始值表S0中的信息与在步骤S1生成的启动状态信息DB的内容进行比较。
图12例示出由根据本发明的验证部VE中的比较部57执行的示例性检验处理的流程图。
在步骤S21中,读取存储在验证部VE中的验证信息初始值表S0的数据。
进一步,在步骤S22中,读取在步骤S1生成的当前启动时的启动状态信息DB的数据。
在步骤S23中,将所读取的初始值表S0的数据与启动状态信息DB的数据进行比较。该比较是两个数据中包含的程序名之间以及两个数据中包含的程序的散列值之间的比较。
如果两个数据中的所有对应数据都相互匹配,则处理进行到其中输出检验成功的通知的步骤S25。
另一方面,如果任一对应数据不匹配,则处理进行到其中输出检验失败的通知的步骤S24。
如上所述,如果两个数据的内容相互匹配,则确定检验成功。
另外,在检验处理中,如果生成的启动状态信息DB包括未包含在初始值表S0 54中的程序PG,则确定程序PG是非法程序并且确认存在非法程序,从而确定检验失败。
在步骤S6中,如果在步骤S5的检验处理结果为成功,则尽管通过TPM进行的验证确定启动非法,但也确定启动为合法,并且处理进行到步骤S7。
另一方面,在步骤S6中,如果检验处理结果为失败,则认为存在非法程序,因此启动非法,并且处理进行到步骤S11。
在处理进行到步骤S7的情况下,处理对应于图6的处理流程。
在处理进行到步骤S11的情况下,处理对应于图7的处理流程。
在步骤S7中,因为检验成功,所以为了推进后续启动处理而向TPM4发送解锁请求。即,为了从TPM 4获取启动钥KEY1,从验证信息初始值表S0 54读取密码PS1并将其发送至TPM 4。
在接收到解锁请求和密码PS1后,TPM 4检查密码PS1的合法性,如果其合法,则向验证部VE发送预存储的启动钥KEY1。
接着,在步骤S8中,验证部VE检查是否存在来自TPM 4的解锁回复。如果存在来自其的解锁回复,则处理进行到其中验证部VE如上所述接收启动钥KEY1的步骤S9,并且,在步骤S10中,验证部VE向验证请求源发送启动钥KEY1。
在步骤S6中,如果检验失败,则处理进行到其中通知提出请求的系统程序验证失败的步骤S11。
在这种情况下,在识别出验证失败后,系统程序通知用户验证失败以告知用户需要进行复原处理。这时,可通知用户存在非法程序。
如上所述,因为验证部VE与TPM进行的验证相分立地进行检验处理,所以即使TPM进行的验证失败,在可以允许推进后续启动处理的情况下,该装置也能自动复原而不需用户进行操作,并且可正常推进后续启动处理。
就是说,即使TPM进行的验证失败,在其中失败是由于并非存在非法程序的、允许正常启动的原因而导致的情况下(例如,在新连接了外部设备或新安装了RAM情况下),也能自动推进启动处理,从而减轻用户在后续复原处理期间的负担。
(在验证失败情况下执行的复原处理)
如果在图7和图10中的步骤S11检测到存在非法程序,则需要删除该程序或者使该装置复原到与能够正常运行的状态相同的状态。在这种情况下,需要用户进行复原处理。
例如,在硬盘HDD 3中预存储恢复OS。恢复OS是专用于恢复的OS,与保持启动的存储在OS部31中的OS不同。
另外,如果如图7所示BIOS部52识别出验证失败,则适于启动恢复OS。
在启动恢复OS时,启动恢复程序或准备好启动恢复程序。在这种状态下,用户更新BIOS,改变BIOS设定,检查装置结构等以使装置复原到正常启动状态。
另外,如果因为用于启动的设定值异常而导致验证失败,则也需要进行类似的复原处理以将设定值复原到正常值。在这种情况下,类似地,可以启动恢复OS以重设设定值。而且,可以启动用于恢复设定值的特定程序来代替恢复OS以将设定值复原到预许可范围内。
另外,可能存在其中因为制造商的原因而应更新BIOS本身的情况,以及应改变BIOS设定值等的情况。在这种更新等之后,启动验证可能失败,因此需要重写预存储在验证部VE和TPM 4中的验证信息。
在这种情况下,例如,可以在使用户能够使用应用程序的启动状态下启动特定的设定程序,然后可以读取存储在制造商提供的FD、CD-ROM等中的BIOS更新程序、BIOS设定值等等,从而更新验证信息。而且,可以通过诸如因特网的网络下载这种更新程序和这种设定值以将其更新。
根据本发明,除了通过安全芯片检查系统程序的合法性之外,即使上述合法性检查失败,也验证了系统程序的启动状态的合法性,这使得在可以允许系统程序启动的情况下能够在启动期间无需用户操作而进行复原处理,从而减轻用户在启动的复原处理期间的负担。

Claims (7)

1.一种具有启动验证功能的信息处理装置,该信息处理装置包括:
模块记录部,其存储有多个系统程序;
安全芯片,其具有检查系统程序的合法性的功能;以及
验证部,其检验系统程序的启动状态,其中
所述验证部包括:
启动状态检查部,用于检查已启动的系统程序的启动状态;
启动状态信息记录部,其存储已从对启动状态的所述检查获取的关于系统程序的启动状态的信息;
初始值记录部,其存储待启动系统程序的验证信息初始值;以及
比较部,其用于对在启动各个系统程序时获取的且已存储在所述启动状态信息记录部中的关于所述系统程序的启动状态的信息与存储在所述初始值记录部中的所述验证信息初始值进行比较,以检验所述系统程序的启动状态,并且
如果所述安全芯片不能确认所述系统程序的合法性,则所述验证部检验所述系统程序的启动状态,如果检验成功,则确定所述系统程序的当前启动状态合法。
2.根据权利要求1所述的具有启动验证功能的信息处理装置,其中
所述安全芯片预存储用于检查系统程序的合法性的验证信息,所述验证信息包括启动钥KEY1、用于输出所述启动钥的密码PS1、以及用于验证所述系统程序的特定验证数据。
3.根据权利要求2所述的具有启动验证功能的信息处理装置,其中
所述安全芯片接收在启动一系统程序时由该系统程序提供的验证数据A,并比较所述验证数据A与预存储的验证数据以检查该系统程序的合法性。
4.根据权利要求2所述的具有启动验证功能的信息处理装置,其中
所述验证部在其初始值记录部中预存储与用于输出所述启动钥KEY1的密码PS1相同的密码PS2,并且
如果所述比较部进行的检验显示关于启动状态的所述获取信息与预存储在所述初始值记录部中的所述验证信息初始值相互匹配,则所述验证部向所述安全芯片发送所述预存储的密码PS2,如果所述安全芯片接收到所述密码PS2,则所述安全芯片向所述验证部输出预存储的启动钥KEY1。
5.根据权利要求1至4中的任一项所述的具有启动验证功能的信息处理装置,其中
所述验证部预存储在存储基本输入输出系统的非易失性存储器中。
6.根据权利要求1至4中的任一项所述的具有启动验证功能的信息处理装置,其中
所述验证部设置在配备有所述安全芯片的基板上。
7.一种具有启动验证功能的信息处理装置,该信息处理装置包括:
模块记录部,其存储有多个系统程序;
安全芯片,其具有检查所述系统程序的合法性的功能;以及
验证部,其检验所述系统程序的启动状态,其中
所述安全芯片通过使用所述系统程序提供的验证数据来执行合法性检查处理,
如果所述安全芯片不能确认所述系统程序的合法性,则所述验证部从已启动的系统程序获取关于所述已启动系统程序的启动状态信息,并且
如果合法系统程序的预存储的验证信息初始值与所述获取的启动状态信息相互匹配,则所述验证部确定所述系统程序的当前启动状态合法,并且推进所述系统程序的后续启动处理。
CNB2006101110396A 2006-03-22 2006-08-10 具有启动验证功能的信息处理装置 Expired - Fee Related CN100454322C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2006079472A JP4769608B2 (ja) 2006-03-22 2006-03-22 起動検証機能を有する情報処理装置
JP2006079472 2006-03-22

Publications (2)

Publication Number Publication Date
CN101042720A true CN101042720A (zh) 2007-09-26
CN100454322C CN100454322C (zh) 2009-01-21

Family

ID=38534997

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2006101110396A Expired - Fee Related CN100454322C (zh) 2006-03-22 2006-08-10 具有启动验证功能的信息处理装置

Country Status (3)

Country Link
US (1) US8433923B2 (zh)
JP (1) JP4769608B2 (zh)
CN (1) CN100454322C (zh)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101771702A (zh) * 2010-01-05 2010-07-07 中兴通讯股份有限公司 点对点网络中防御分布式拒绝服务攻击的方法及系统
CN102007795A (zh) * 2009-03-17 2011-04-06 华为技术有限公司 数据包的发送方法、装置和系统
CN102037473A (zh) * 2008-06-23 2011-04-27 松下电器产业株式会社 信息处理装置、信息处理方法、实现它们的计算机程序及集成电路
CN104219198A (zh) * 2013-05-30 2014-12-17 中国银联股份有限公司 一种WebApp的防篡改方法
CN104995629A (zh) * 2013-03-01 2015-10-21 英特尔公司 用于平台引导固件的信任继续
CN105608371A (zh) * 2008-03-06 2016-05-25 华邦电子股份有限公司 用于基本输入/输出系统处理的系统以及方法
WO2017133559A1 (zh) * 2016-02-05 2017-08-10 中兴通讯股份有限公司 安全启动方法及装置
CN107306184A (zh) * 2016-04-18 2017-10-31 爱特梅尔公司 以安全代码验证进行的消息认证
CN108805537A (zh) * 2018-05-21 2018-11-13 郑州云海信息技术有限公司 一种利用tpm作为比特币客户端随机源的方法及系统
CN109521972A (zh) * 2017-09-20 2019-03-26 佳能株式会社 信息处理装置、信息处理装置的控制方法和记录介质
CN109542518A (zh) * 2018-10-09 2019-03-29 华为技术有限公司 芯片和启动芯片的方法
CN109684849A (zh) * 2017-10-18 2019-04-26 佳能株式会社 信息处理装置、其控制方法和存储介质
CN109840409A (zh) * 2018-12-29 2019-06-04 北京深思数盾科技股份有限公司 核心板和核心板启动方法
CN110278339A (zh) * 2018-03-14 2019-09-24 佳能株式会社 信息处理设备及其控制方法
CN116340957A (zh) * 2023-05-29 2023-06-27 苏州浪潮智能科技有限公司 程序启动方法、装置、服务器及非易失性存储介质
WO2024087710A1 (zh) * 2022-10-27 2024-05-02 华为技术有限公司 一种安全启动方法、装置及设备

Families Citing this family (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8510859B2 (en) 2006-09-26 2013-08-13 Intel Corporation Methods and arrangements to launch trusted, co-existing environments
US8024579B2 (en) * 2006-12-29 2011-09-20 Lenovo (Singapore) Pte Ltd. Authenticating suspect data using key tables
WO2008114375A1 (ja) 2007-03-19 2008-09-25 Fujitsu Limited シンクライアント端末装置、その運用プログラム、及び方法、並びにシンクライアントシステム
US8627406B2 (en) * 2007-07-31 2014-01-07 Bull S.A.S Device for protection of the data and executable codes of a computer system
JP2009070327A (ja) * 2007-09-18 2009-04-02 Panasonic Corp 情報端末及び情報端末の制御方法
WO2009044533A1 (ja) * 2007-10-05 2009-04-09 Panasonic Corporation セキュアブート端末、セキュアブート方法、セキュアブートプログラム、記録媒体及び集積回路
JP4775744B2 (ja) * 2007-10-19 2011-09-21 インテル・コーポレーション 信頼できる共存環境をラウンチする方法およびプログラム
JP5085287B2 (ja) * 2007-11-21 2012-11-28 株式会社リコー 情報処理装置、正当性検証方法および正当性検証プログラム
JP4785823B2 (ja) * 2007-12-11 2011-10-05 三洋電機株式会社 メモリ装置およびメモリ書込み装置
EA201070673A1 (ru) * 2008-01-30 2011-02-28 Панасоник Корпорэйшн Безопасная начальная загрузка с помощью способа необязательных компонентов
JP4800340B2 (ja) * 2008-03-18 2011-10-26 レノボ・シンガポール・プライベート・リミテッド Tcgの仕様に基づくフィジカル・プリゼンスの認証方法およびコンピュータ
EP2339499A4 (en) * 2008-08-22 2012-05-09 Ibm MEMORY DEVICE, INFORMATION PROCESSING DEVICE AND PROGRAM
US8832454B2 (en) * 2008-12-30 2014-09-09 Intel Corporation Apparatus and method for runtime integrity verification
US9805196B2 (en) * 2009-02-27 2017-10-31 Microsoft Technology Licensing, Llc Trusted entity based anti-cheating mechanism
WO2010113282A1 (ja) 2009-03-31 2010-10-07 富士通株式会社 構成変更の検証機能を有した情報処理装置及びその制御方法
JP5349114B2 (ja) * 2009-03-31 2013-11-20 株式会社バッファロー 記憶装置
JP5493951B2 (ja) 2009-04-17 2014-05-14 株式会社リコー 情報処理装置、正当性検証方法及びプログラム
JP5335634B2 (ja) * 2009-09-29 2013-11-06 レノボ・シンガポール・プライベート・リミテッド システム管理モードの特権レベルを保護するコンピュータ
US8250379B2 (en) * 2009-10-13 2012-08-21 Microsoft Corporation Secure storage of temporary secrets
JP5493946B2 (ja) 2010-02-08 2014-05-14 株式会社リコー 複合システム、セキュリティ方法、セキュリティプログラム及び記録媒体
JP5895471B2 (ja) * 2011-01-17 2016-03-30 株式会社リコー 情報処理装置、プログラム
DE102011011910A1 (de) * 2011-02-21 2012-08-23 Giesecke & Devrient Gmbh Inbetriebnahme eines portablen Datenträgers
CN102131190A (zh) * 2011-03-31 2011-07-20 华为终端有限公司 一种移动终端加密的方法、硬件加密器件及移动终端
JP5796447B2 (ja) 2011-10-07 2015-10-21 株式会社リコー 情報処理装置、正当性検証方法、正当性検証プログラム
JP5776480B2 (ja) 2011-10-07 2015-09-09 株式会社リコー 情報処理装置、正当性検証方法、正当性検証プログラム
JP5465738B2 (ja) * 2012-01-30 2014-04-09 レノボ・シンガポール・プライベート・リミテッド システム・ファームウェアの更新方法およびコンピュータ
JP5689429B2 (ja) * 2012-02-27 2015-03-25 株式会社日立製作所 認証装置、および、認証方法
US8964990B1 (en) * 2012-05-17 2015-02-24 Amazon Technologies, Inc. Automating key rotation in a distributed system
US8908868B1 (en) 2012-05-17 2014-12-09 Amazon Technologies, Inc. Key rotation with external workflows
US9038179B2 (en) * 2012-08-28 2015-05-19 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Secure code verification enforcement in a trusted computing device
JP2012234580A (ja) * 2012-09-05 2012-11-29 Ricoh Co Ltd 情報処理装置、正当性検証方法および正当性検証プログラム
US9703937B2 (en) * 2013-04-10 2017-07-11 Dell Products, L.P. Method to prevent operating system digital product key activation failures
US9196591B2 (en) 2014-02-17 2015-11-24 International Business Machines Corporation Chip with shelf life
KR102186609B1 (ko) 2014-03-07 2020-12-03 삼성전자주식회사 무결성 검증 장치를 포함하는 전자 시스템
US9245846B2 (en) 2014-05-06 2016-01-26 International Business Machines Corporation Chip with programmable shelf life
JP6354438B2 (ja) * 2014-08-08 2018-07-11 大日本印刷株式会社 情報処理装置、情報処理システム及び処理プログラム
CN104537302B (zh) * 2015-01-16 2017-12-12 宇龙计算机通信科技(深圳)有限公司 一种终端的安全启动方法、装置及终端
CN105991612A (zh) * 2015-03-03 2016-10-05 阿里巴巴集团控股有限公司 用户身份认证方法和装置
JP2016170694A (ja) * 2015-03-13 2016-09-23 株式会社沖データ 情報処理装置
US10740494B2 (en) * 2017-09-06 2020-08-11 Google Llc Central and delegate security processors for a computing device
WO2019177563A1 (en) * 2018-03-12 2019-09-19 Hewlett-Packard Development Company, L.P. Hardware security
JP7134670B2 (ja) * 2018-03-29 2022-09-12 キヤノン株式会社 画像形成装置、及び、画像形成装置の制御方法
TWI684887B (zh) * 2018-06-26 2020-02-11 和碩聯合科技股份有限公司 自動驗證方法與系統
JP6751538B2 (ja) * 2018-07-20 2020-09-09 株式会社ソフイア 遊技機
JP6725822B2 (ja) * 2018-07-20 2020-07-22 株式会社ソフイア 遊技機
CN116049826B (zh) * 2022-06-09 2023-10-13 荣耀终端有限公司 基于tpm的数据保护方法、电子设备及存储介质

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5421006A (en) * 1992-05-07 1995-05-30 Compaq Computer Corp. Method and apparatus for assessing integrity of computer system software
JP3293760B2 (ja) 1997-05-27 2002-06-17 株式会社エヌイーシー情報システムズ 改ざん検知機能付きコンピュータシステム
US6263431B1 (en) * 1998-12-31 2001-07-17 Intle Corporation Operating system bootstrap security mechanism
US7613930B2 (en) * 2001-01-19 2009-11-03 Trustware International Limited Method for protecting computer programs and data from hostile code
US7313822B2 (en) * 2001-03-16 2007-12-25 Protegrity Corporation Application-layer security method and system
US8909555B2 (en) * 2001-04-24 2014-12-09 Hewlett-Packard Development Company, L.P. Information security system
US7137004B2 (en) * 2001-11-16 2006-11-14 Microsoft Corporation Manifest-based trusted agent management in a trusted operating system environment
US20030120922A1 (en) * 2001-12-06 2003-06-26 Fairchild Semiconductor Corporation Device authentication system and method
EP1429224A1 (en) * 2002-12-10 2004-06-16 Texas Instruments Incorporated Firmware run-time authentication
US7434259B2 (en) * 2002-10-21 2008-10-07 Microsoft Corporation Method for prompting a user to install and execute an unauthenticated computer application
CN1295903C (zh) * 2002-11-18 2007-01-17 华为技术有限公司 一种系统安全启动方法
JP4501349B2 (ja) 2003-03-13 2010-07-14 ソニー株式会社 システムモジュール実行装置
CN1282092C (zh) * 2003-08-25 2006-10-25 联想(北京)有限公司 一种信息处理设备的启动方法
CN1272717C (zh) * 2003-09-15 2006-08-30 联想(北京)有限公司 一种计算机操作系统的安全修复方法
US7533274B2 (en) * 2003-11-13 2009-05-12 International Business Machines Corporation Reducing the boot time of a TCPA based computing system when the core root of trust measurement is embedded in the boot block code
US20050114266A1 (en) * 2003-11-26 2005-05-26 Lingan Satkunanathan System and method for managing licenses using interactive wizards
US20050132031A1 (en) * 2003-12-12 2005-06-16 Reiner Sailer Method and system for measuring status and state of remotely executing programs
US20050132122A1 (en) * 2003-12-16 2005-06-16 Rozas Carlos V. Method, apparatus and system for monitoring system integrity in a trusted computing environment
KR101099880B1 (ko) * 2003-12-18 2011-12-28 파나소닉 주식회사 애플리케이션 프로그램을 인증 및 실행하는 방법
US20050138393A1 (en) * 2003-12-22 2005-06-23 Challener David C. Determining user security level using trusted hardware device
WO2006006719A1 (en) * 2004-07-14 2006-01-19 Matsushita Electric Industrial Co., Ltd. Method for authenticating and executing an application program
US7552326B2 (en) * 2004-07-15 2009-06-23 Sony Corporation Use of kernel authorization data to maintain security in a digital processing system
US7379918B2 (en) * 2004-07-30 2008-05-27 Microsoft Corporation Method and system for single reactivation of software product licenses
US7308571B2 (en) * 2004-10-06 2007-12-11 Intel Corporation Overriding processor configuration settings
US7360253B2 (en) * 2004-12-23 2008-04-15 Microsoft Corporation System and method to lock TPM always ‘on’ using a monitor
US7725703B2 (en) * 2005-01-07 2010-05-25 Microsoft Corporation Systems and methods for securely booting a computer with a trusted processing module
US7565553B2 (en) * 2005-01-14 2009-07-21 Microsoft Corporation Systems and methods for controlling access to data on a computer with a secure boot process
US20060212407A1 (en) * 2005-03-17 2006-09-21 Lyon Dennis B User authentication and secure transaction system
US7669242B2 (en) * 2005-06-30 2010-02-23 Intel Corporation Agent presence monitor configured to execute in a secure environment
US7953980B2 (en) * 2005-06-30 2011-05-31 Intel Corporation Signed manifest for run-time verification of software program identity and integrity
US8190916B1 (en) * 2006-07-27 2012-05-29 Hewlett-Packard Development Company, L.P. Methods and systems for modifying an integrity measurement based on user authentication
US20080178257A1 (en) * 2007-01-20 2008-07-24 Takuya Mishina Method for integrity metrics management
US7921286B2 (en) * 2007-11-14 2011-04-05 Microsoft Corporation Computer initialization for secure kernel
US8032942B2 (en) * 2007-12-31 2011-10-04 Intel Corporation Configuration of virtual trusted platform module

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105608371A (zh) * 2008-03-06 2016-05-25 华邦电子股份有限公司 用于基本输入/输出系统处理的系统以及方法
CN102037473A (zh) * 2008-06-23 2011-04-27 松下电器产业株式会社 信息处理装置、信息处理方法、实现它们的计算机程序及集成电路
US8510544B2 (en) 2008-06-23 2013-08-13 Panasonic Corporation Starts up of modules of a second module group only when modules of a first group have been started up legitimately
CN102007795A (zh) * 2009-03-17 2011-04-06 华为技术有限公司 数据包的发送方法、装置和系统
US8724587B2 (en) 2009-03-17 2014-05-13 Huawei Technologies Co., Ltd. Method, apparatus, and system for sending a data packet
CN102007795B (zh) * 2009-03-17 2016-05-25 华为技术有限公司 数据包的发送方法、装置和系统
CN101771702A (zh) * 2010-01-05 2010-07-07 中兴通讯股份有限公司 点对点网络中防御分布式拒绝服务攻击的方法及系统
CN101771702B (zh) * 2010-01-05 2015-06-10 中兴通讯股份有限公司 点对点网络中防御分布式拒绝服务攻击的方法及系统
CN104995629B (zh) * 2013-03-01 2018-07-17 英特尔公司 用于平台引导固件的信任继续的方法、设备和系统
CN104995629A (zh) * 2013-03-01 2015-10-21 英特尔公司 用于平台引导固件的信任继续
CN104219198B (zh) * 2013-05-30 2018-04-27 中国银联股份有限公司 一种WebApp的防篡改方法
CN104219198A (zh) * 2013-05-30 2014-12-17 中国银联股份有限公司 一种WebApp的防篡改方法
WO2017133559A1 (zh) * 2016-02-05 2017-08-10 中兴通讯股份有限公司 安全启动方法及装置
CN107306184A (zh) * 2016-04-18 2017-10-31 爱特梅尔公司 以安全代码验证进行的消息认证
US11876791B2 (en) 2016-04-18 2024-01-16 Amtel Corporation Message authentication with secure code verification
CN109521972A (zh) * 2017-09-20 2019-03-26 佳能株式会社 信息处理装置、信息处理装置的控制方法和记录介质
CN109521972B (zh) * 2017-09-20 2023-07-11 佳能株式会社 信息处理装置、信息处理装置的控制方法和记录介质
CN109684849B (zh) * 2017-10-18 2023-06-27 佳能株式会社 信息处理装置、其控制方法和存储介质
CN109684849A (zh) * 2017-10-18 2019-04-26 佳能株式会社 信息处理装置、其控制方法和存储介质
CN110278339A (zh) * 2018-03-14 2019-09-24 佳能株式会社 信息处理设备及其控制方法
CN108805537A (zh) * 2018-05-21 2018-11-13 郑州云海信息技术有限公司 一种利用tpm作为比特币客户端随机源的方法及系统
CN109542518A (zh) * 2018-10-09 2019-03-29 华为技术有限公司 芯片和启动芯片的方法
CN109840409A (zh) * 2018-12-29 2019-06-04 北京深思数盾科技股份有限公司 核心板和核心板启动方法
WO2024087710A1 (zh) * 2022-10-27 2024-05-02 华为技术有限公司 一种安全启动方法、装置及设备
CN116340957A (zh) * 2023-05-29 2023-06-27 苏州浪潮智能科技有限公司 程序启动方法、装置、服务器及非易失性存储介质
CN116340957B (zh) * 2023-05-29 2023-08-11 苏州浪潮智能科技有限公司 程序启动方法、装置、服务器及非易失性存储介质

Also Published As

Publication number Publication date
US8433923B2 (en) 2013-04-30
CN100454322C (zh) 2009-01-21
JP2007257197A (ja) 2007-10-04
US20070226518A1 (en) 2007-09-27
JP4769608B2 (ja) 2011-09-07

Similar Documents

Publication Publication Date Title
CN101042720A (zh) 具有启动验证功能的信息处理装置
CN1130627C (zh) 一种以Java虚拟机实现的信息处理设备
CN1296854C (zh) 用于计算机的安全系统和方法
CN101076168A (zh) 智能终端系统的管理方法和智能终端
CN1625105A (zh) 信息处理装置、服务器装置、信息处理装置的方法及服务器装置的方法
CN100337175C (zh) 移动终端加入域和获取版权对象的方法、系统和相关设备
CN1308849C (zh) 存储器件、终端设备、和数据修复系统
CN1264082C (zh) 安全的打印系统
CN1132373C (zh) 复制控制方法及复制控制装置
CN1266875C (zh) 内容发布/接收方法
CN1947082A (zh) 控制对外设进行访问的方法和设备
CN1795439A (zh) 计算机操作系统的安全系统与方法
CN101034424A (zh) 一种数据安全存储系统和装置及方法
CN1467642A (zh) 数据保护程序及数据保护方法
CN1723426A (zh) 软件执行控制系统和软件的执行控制程序
CN1815949A (zh) 客户端装置、设备检验装置以及检验方法
CN1818823A (zh) 基于程序行为分析的计算机防护方法
CN1556943A (zh) 客户终端,软件控制方法和控制程序
CN1684412A (zh) 利用安全散列演算法的装置与方法
CN1801091A (zh) 用可信处理模块安全地引导计算机的系统和方法
US20120324238A1 (en) Information processing apparatus, verification method, and storage medium storing verification program
CN1921395A (zh) 提高网络软件安全性的方法和系统
CN1853408A (zh) 应用执行设备、应用执行方法、集成电路、和计算机可读程序
CN1716845A (zh) 派生内容生成装置和方法、利用装置和方法以及检验方法
CN101038489A (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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090121

Termination date: 20180810