欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

具有啟動(dòng)驗(yàn)證功能的信息處理裝置的制作方法

文檔序號(hào):6560704閱讀:265來源:國知局
專利名稱:具有啟動(dòng)驗(yàn)證功能的信息處理裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及信息處理裝置,更具體地,涉及一種具有啟動(dòng)驗(yàn)證功能的信息處理裝置,所述啟動(dòng)驗(yàn)證功能檢查在個(gè)人計(jì)算機(jī)等通電時(shí)啟動(dòng)的系統(tǒng)程序的合法性,并防止對(duì)非法程序等的錯(cuò)誤檢測。
背景技術(shù)
當(dāng)前,由于諸如計(jì)算機(jī)病毒和間諜軟件之類的惡意軟件,存在程序和數(shù)據(jù)被破壞以及重要數(shù)據(jù)非法流出的問題。
為了實(shí)現(xiàn)抵抗這些惡意軟件的安全的計(jì)算機(jī)系統(tǒng),已經(jīng)提出了一種計(jì)算機(jī)系統(tǒng),其在計(jì)算機(jī)啟動(dòng)期間檢測非法軟件的存在、對(duì)文件的篡改等等。
例如,已經(jīng)提出了一種通過使用稱為數(shù)字簽名的編碼技術(shù)來檢測對(duì)程序的篡改的方法。
而且,還提出了一種具有如下的篡改檢測功能的計(jì)算機(jī)系統(tǒng)該功能在啟動(dòng)引導(dǎo)程序期間,在不使用OS(操作系統(tǒng))的情況下讀取存儲(chǔ)在輔助存儲(chǔ)裝置中的特定的存儲(chǔ)信息和待檢驗(yàn)文件,并且通過使用存儲(chǔ)在引導(dǎo)程序中的信息來檢測是否存在對(duì)文件的篡改(參見日本未審專利特開2004-280284號(hào)公報(bào))。
另外,還提出了一種控制處理器,其在安全狀態(tài)下預(yù)存儲(chǔ)包括用于待啟動(dòng)系統(tǒng)模塊的參考散列值的散列值表,并且將通過檢查啟動(dòng)后的系統(tǒng)模塊程序而確定的散列值與參考散列值進(jìn)行比較,用以在安全狀態(tài)下正確地進(jìn)行軟件認(rèn)證處理(參見日本未審專利特開平10-333902號(hào)公報(bào),1998)。
另外,為了對(duì)非法程序的存在以及合法授權(quán)的有無進(jìn)行認(rèn)證,還提出了一種并有稱為TPM(可信平臺(tái)模塊)芯片的安全芯片的計(jì)算機(jī)系統(tǒng)。
該計(jì)算機(jī)系統(tǒng)是符合由TCG(可信計(jì)算組)定義的規(guī)范的個(gè)人計(jì)算機(jī)(遵從TCG的個(gè)人計(jì)算機(jī))。另外,TPM芯片是具有如下功能的硬件檢查由實(shí)際上連續(xù)啟動(dòng)的系統(tǒng)程序提供的信息(散列值),以驗(yàn)證是否僅啟動(dòng)了合法軟件和系統(tǒng)程序而未添加非法系統(tǒng)程序或篡改系統(tǒng)程序。
圖13例示了在信息處理裝置啟動(dòng)期間執(zhí)行的常規(guī)驗(yàn)證處理的說明圖。此處僅例示出該裝置的主要部分。
通常,在諸如個(gè)人計(jì)算機(jī)的計(jì)算機(jī)中,在其剛通電后就以一定的順序啟動(dòng)特定系統(tǒng)程序。
首先,啟動(dòng)稱為CRTM(核心根可信度量)的程序,接著,啟動(dòng)BIOS(基本輸入輸出系統(tǒng))程序以檢查各種硬件、任選ROM、IPL(初始程序加載器)等。然后,啟動(dòng)OS(操作系統(tǒng))程序。
TPM芯片預(yù)存儲(chǔ)用于檢查系統(tǒng)程序合法性的認(rèn)證數(shù)據(jù)(經(jīng)認(rèn)證的散列值HS1)和用于啟動(dòng)OS的啟動(dòng)鑰KEY1。
在遵從TCG的個(gè)人計(jì)算機(jī)中,每次啟動(dòng)系統(tǒng)程序時(shí)進(jìn)行預(yù)定的測量計(jì)算,并向TPM芯片提供計(jì)算結(jié)果(散列值)。
例如,在啟動(dòng)CRTM程序時(shí),CRTM程序執(zhí)行對(duì)CRTM程序本身的測量計(jì)算,并向TPM芯片提供作為計(jì)算結(jié)果(散列值)的數(shù)據(jù)A。TPM芯片暫時(shí)存儲(chǔ)所提供的計(jì)算結(jié)果(數(shù)據(jù)A)。
接著,在啟動(dòng)BIOS程序時(shí),CRTM程序執(zhí)行對(duì)BIOS程序的測量計(jì)算,并向TPM芯片提供計(jì)算結(jié)果(數(shù)據(jù)B)。TPM芯片使用所提供的計(jì)算結(jié)果和CRTM的散列值(先前存儲(chǔ)的散列值)生成新散列值并將其改寫。之后,執(zhí)行BIOS程序本身以檢查硬件等,并啟動(dòng)OS。
在啟動(dòng)OS時(shí),執(zhí)行對(duì)OS程序的測量計(jì)算,然后向TPM芯片提供計(jì)算結(jié)果(數(shù)據(jù)C)。TPM芯片與上述相似地改寫所提供的計(jì)算結(jié)果(散列值數(shù)據(jù)C)。
之后,TPM芯片在計(jì)算得到的散列值(數(shù)據(jù)C)和預(yù)存儲(chǔ)的認(rèn)證散列值HS1之間進(jìn)行比較。如果比較處理顯示兩個(gè)散列值不相互匹配,則確定啟動(dòng)異常,而如果它們匹配,則確定啟動(dòng)正常。例如,如果啟動(dòng)了意外的非法程序,則這使得散列值之間不匹配,從而確定啟動(dòng)異常。
如果確定啟動(dòng)正常,則TPM芯片向OS程序提供預(yù)存儲(chǔ)的啟動(dòng)鑰KEY1。在接收到啟動(dòng)鑰KEY1時(shí),OS程序使用該密鑰在硬盤驅(qū)動(dòng)器(HDD)上執(zhí)行解碼處理,從而啟動(dòng)在OS上運(yùn)行的應(yīng)用程序。之后,用戶能夠使用個(gè)人計(jì)算機(jī)進(jìn)行操作。
另一方面,如果上述比較處理顯示散列值不相互匹配,則TPM芯片不向OS程序輸出啟動(dòng)鑰。在這種情況下,OS程序不能接收啟動(dòng)鑰,不能執(zhí)行后續(xù)的啟動(dòng)處理,這阻止用戶使用個(gè)人計(jì)算機(jī)。
即,如果存在意外的非法程序(例如,計(jì)算機(jī)病毒),則阻止從TPM芯片輸出啟動(dòng)鑰,這使得能夠檢測非法程序。
然而,通過使用常規(guī)TPM芯片的啟動(dòng)控制和上述專利文獻(xiàn)中描述的啟動(dòng)控制,可以檢測非法程序,但即使啟動(dòng)了合法啟動(dòng)處理并且不存在非法程序,也經(jīng)常確定啟動(dòng)非法,這可能阻止個(gè)人計(jì)算機(jī)啟動(dòng)。
例如,如果用戶改變了BIOS設(shè)置,如果通過諸如USB的接口新連接了外部設(shè)備,如果新安裝了存儲(chǔ)器(SRAM),如果系統(tǒng)程序的啟動(dòng)順序發(fā)生了變化等等,則從上述測量計(jì)算得到的散列值將變化。
在所述情況下,向TPM芯片輸出與預(yù)存儲(chǔ)在TPM芯片中的認(rèn)證散列值不同的散列值。因此,TPM芯片進(jìn)行的比較處理顯示兩個(gè)散列值不相互匹配,從而確定啟動(dòng)異常。
即,即使不存在非法程序,也會(huì)錯(cuò)誤地確定為由于存在非法程序等而進(jìn)行了異常啟動(dòng),這會(huì)阻止向OS提供啟動(dòng)鑰,從而阻止用戶使用個(gè)人計(jì)算機(jī)。
在如上所述使個(gè)人計(jì)算機(jī)不可使用的情況下,可以通知用戶在啟動(dòng)期間認(rèn)證失敗的事實(shí),但用戶難以辨別實(shí)際上個(gè)人計(jì)算機(jī)是否是由于存在非法程序而不可使用。
另外,為了查找原因,需要用戶試圖通過斷電而進(jìn)行重啟動(dòng)、恢復(fù)硬盤、復(fù)原到能夠正常運(yùn)行的先前硬件、進(jìn)行用于對(duì)啟動(dòng)鑰解鎖的密碼輸入處理等。
即,對(duì)于配備有常規(guī)TPM芯片的遵從TCG的個(gè)人計(jì)算機(jī),可以檢測非法程序的存在以提高安全性,但即使沒有非法程序,也應(yīng)通過用戶的操作使個(gè)人計(jì)算機(jī)復(fù)原到正常啟動(dòng)狀態(tài),這需要較長的時(shí)間,從而降低了用戶的可用性。

發(fā)明內(nèi)容
本發(fā)明提供一種具有啟動(dòng)驗(yàn)證功能的信息處理裝置,該裝置包括模塊記錄部,其存儲(chǔ)多個(gè)系統(tǒng)程序;安全芯片,其具有檢查系統(tǒng)程序的合法性的功能;以及驗(yàn)證部,其檢驗(yàn)系統(tǒng)程序的啟動(dòng)狀態(tài),其中驗(yàn)證部包括啟動(dòng)狀態(tài)檢查部,用于檢查已啟動(dòng)的系統(tǒng)程序的啟動(dòng)狀態(tài);啟動(dòng)狀態(tài)信息記錄部,其存儲(chǔ)已從對(duì)啟動(dòng)狀態(tài)的檢查獲取的關(guān)于系統(tǒng)程序的啟動(dòng)狀態(tài)的信息;初始值記錄部,其存儲(chǔ)待啟動(dòng)系統(tǒng)程序的驗(yàn)證信息初始值;以及比較部,其用于對(duì)在啟動(dòng)各個(gè)系統(tǒng)程序時(shí)獲取的且已存儲(chǔ)在啟動(dòng)狀態(tài)信息記錄部中的關(guān)于系統(tǒng)程序的啟動(dòng)狀態(tài)的信息與存儲(chǔ)在初始值記錄部中的驗(yàn)證信息初始值進(jìn)行比較,以檢驗(yàn)系統(tǒng)程序的啟動(dòng)狀態(tài),并且如果安全芯片不能確認(rèn)系統(tǒng)程序的合法性,則驗(yàn)證部檢驗(yàn)系統(tǒng)程序的啟動(dòng)狀態(tài),如果檢驗(yàn)成功,則確定系統(tǒng)程序的當(dāng)前啟動(dòng)狀態(tài)是合法的。
在本發(fā)明中,提供了用于與安全芯片分立地檢驗(yàn)系統(tǒng)程序的啟動(dòng)狀態(tài)的合法性的驗(yàn)證部,這使得即使安全芯片未確認(rèn)系統(tǒng)程序的啟動(dòng)狀態(tài)的合法性也能夠?qū)ο到y(tǒng)程序的啟動(dòng)狀態(tài)進(jìn)行檢驗(yàn),并且,如果可以允許啟動(dòng)系統(tǒng)程序,則能夠推進(jìn)系統(tǒng)程序的啟動(dòng)處理。即,即使安全芯片未確認(rèn)合法性,在系統(tǒng)程序啟動(dòng)合法的情況下,該信息處理裝置也能夠在無需用戶復(fù)原處理的情況下復(fù)原,從而降低用戶在啟動(dòng)的復(fù)原處理期間的負(fù)擔(dān)。


圖1是根據(jù)本發(fā)明的信息處理裝置的示例結(jié)構(gòu)的框圖;圖2是根據(jù)本發(fā)明的信息處理裝置的示例結(jié)構(gòu)的框圖;圖3是根據(jù)本發(fā)明的信息處理裝置中的驗(yàn)證信息初始值的說明圖;圖4是根據(jù)本發(fā)明的信息處理裝置中的啟動(dòng)狀態(tài)信息DB的說明圖;圖5是根據(jù)本發(fā)明的信息處理裝置中的示例性驗(yàn)證處理的說明圖;
圖6是根據(jù)本發(fā)明的信息處理裝置中的示例性驗(yàn)證處理的說明圖;圖7是根據(jù)本發(fā)明的信息處理裝置中的示例性驗(yàn)證處理的說明圖;圖8是根據(jù)本發(fā)明的驗(yàn)證信息初始設(shè)定處理的流程圖;圖9是根據(jù)本發(fā)明的驗(yàn)證信息初始設(shè)定處理的流程圖;圖10是由根據(jù)本發(fā)明的驗(yàn)證部進(jìn)行的驗(yàn)證處理的流程圖;圖11是根據(jù)本發(fā)明在通電時(shí)的啟動(dòng)狀態(tài)檢查處理的流程圖;圖12是由根據(jù)本發(fā)明的驗(yàn)證部進(jìn)行的啟動(dòng)檢驗(yàn)處理的流程圖;并且圖13是在常規(guī)信息處理裝置的啟動(dòng)期間的驗(yàn)證處理的說明圖。
具體實(shí)施例方式
本發(fā)明是具有啟動(dòng)驗(yàn)證功能的信息處理裝置,其能夠檢測非法程序的存在,如果啟動(dòng)處理是期望的正常啟動(dòng)處理則允許系統(tǒng)程序啟動(dòng),并能夠在不需用戶操作的情況下自動(dòng)復(fù)原,從而提高用戶的可用性。
另外,安全芯片預(yù)存儲(chǔ)用于檢查系統(tǒng)程序合法性的驗(yàn)證信息,該驗(yàn)證信息包括啟動(dòng)鑰KEY1、用于輸出該啟動(dòng)鑰的密碼PS1,以及用于驗(yàn)證系統(tǒng)程序的特定驗(yàn)證數(shù)據(jù)。
而且,安全芯片接收在啟動(dòng)系統(tǒng)程序時(shí)由該系統(tǒng)程序提供的驗(yàn)證數(shù)據(jù)A,并比較驗(yàn)證數(shù)據(jù)A與預(yù)存儲(chǔ)的驗(yàn)證數(shù)據(jù)以檢查系統(tǒng)程序的合法性。
另外,在本發(fā)明中,驗(yàn)證部在其初始值記錄部中預(yù)存儲(chǔ)與用于輸出啟動(dòng)鑰KEY1的密碼PS1相同的密碼PS2,如果比較部進(jìn)行的檢驗(yàn)顯示關(guān)于啟動(dòng)狀態(tài)的獲取信息和預(yù)存儲(chǔ)在初始值記錄部中的驗(yàn)證信息初始值相互匹配,則驗(yàn)證部向安全芯片發(fā)送預(yù)存儲(chǔ)的密碼PS2,并且如果安全芯片接收到密碼PS2,則安全芯片向驗(yàn)證部輸出預(yù)存儲(chǔ)的啟動(dòng)鑰KEY1。
根據(jù)上述結(jié)構(gòu),即使當(dāng)安全芯片進(jìn)行的驗(yàn)證失敗時(shí),但如果驗(yàn)證部進(jìn)行的檢驗(yàn)成功,則也確定系統(tǒng)程序啟動(dòng)驗(yàn)證成功,并且裝置能夠在不需用戶復(fù)原處理的情況下復(fù)原,從而減輕用戶的負(fù)擔(dān)。
在本發(fā)明中,驗(yàn)證部可預(yù)存儲(chǔ)在存儲(chǔ)BIOS的非易失性存儲(chǔ)器中。在這種情況下,驗(yàn)證部由程序?qū)崿F(xiàn),并且由為裝置設(shè)置的CPU執(zhí)行驗(yàn)證部的功能。
驗(yàn)證部還可設(shè)置在配備有安全芯片的基板上。
優(yōu)選地,該驗(yàn)證部由硬件實(shí)現(xiàn),并且基板以不容易被卸下的方式安裝。
另外,本發(fā)明提供一種具有啟動(dòng)驗(yàn)證功能的信息處理裝置,該裝置包括模塊記錄部,其存儲(chǔ)多個(gè)系統(tǒng)程序;安全芯片,其具有檢查系統(tǒng)程序合法性的功能;以及驗(yàn)證部,其檢驗(yàn)系統(tǒng)程序的啟動(dòng)狀態(tài),其中安全芯片通過使用系統(tǒng)程序提供的驗(yàn)證數(shù)據(jù)來執(zhí)行合法性檢查處理,如果安全芯片不能確認(rèn)系統(tǒng)程序的合法性,則驗(yàn)證部從已啟動(dòng)的系統(tǒng)程序獲取關(guān)于已啟動(dòng)的系統(tǒng)程序的啟動(dòng)狀態(tài)信息,并且如果用于合法系統(tǒng)程序的預(yù)存儲(chǔ)的驗(yàn)證信息初始值與獲取的啟動(dòng)狀態(tài)信息相互匹配,則驗(yàn)證部確定系統(tǒng)程序的當(dāng)前啟動(dòng)狀態(tài)合法,并且推進(jìn)系統(tǒng)程序的后續(xù)啟動(dòng)處理。
根據(jù)本發(fā)明的模塊記錄部是預(yù)存儲(chǔ)系統(tǒng)程序并且設(shè)定系統(tǒng)程序啟動(dòng)所需的值的存儲(chǔ)器。例如,BIOS ROM對(duì)應(yīng)于模塊記錄部。
根據(jù)本發(fā)明的系統(tǒng)程序包括一組用于啟動(dòng)信息處理裝置的模塊程序和諸如操作系統(tǒng)(OS)的運(yùn)行用戶應(yīng)用程序所必需的程序。例如,稍后將描述的CRTM部、BIOS部、OS部等中包括的程序?qū)?yīng)于系統(tǒng)程序。
安全芯片指的是例如TPM芯片,并且是包括CPU、ROM、RAM、非易失性存儲(chǔ)器等的芯片。
另外,將存儲(chǔ)在安全芯片中的驗(yàn)證數(shù)據(jù)存儲(chǔ)在非易失性存儲(chǔ)器中,并且可通過特定控制請(qǐng)求而將其重寫。用于檢查系統(tǒng)程序合法性的特定驗(yàn)證數(shù)據(jù)由系統(tǒng)程序提供,并且是根據(jù)系統(tǒng)程序本身計(jì)算出的散列值。
關(guān)于系統(tǒng)程序啟動(dòng)狀態(tài)的信息指的是存儲(chǔ)在稍后要描述的圖4中所示的啟動(dòng)狀態(tài)信息DB 55中的信息,并且每次在啟動(dòng)信息處理裝置時(shí)生成。例如,如果通過新安裝存儲(chǔ)器或接口板而改變裝置的硬件結(jié)構(gòu),則啟動(dòng)狀態(tài)信息更新。
初始值記錄部對(duì)應(yīng)于稍后要描述的圖3中所示的驗(yàn)證信息初始值表S0。
下面,將根據(jù)附圖所示的示例詳細(xì)描述本發(fā)明。然而,并非意在由這些示例來限制本發(fā)明。
(根據(jù)本發(fā)明的信息處理裝置的結(jié)構(gòu)的框圖)圖1和圖2例示出根據(jù)本發(fā)明的信息處理裝置的示例結(jié)構(gòu)的框圖。
根據(jù)本發(fā)明的信息處理裝置是在例如個(gè)人計(jì)算機(jī)、工作站、服務(wù)器或蜂窩式電話中的計(jì)算機(jī)。
本發(fā)明的特征在于,在這種計(jì)算機(jī)中安裝有TPM芯片和啟動(dòng)驗(yàn)證模塊(也稱為驗(yàn)證部或驗(yàn)證引擎VE)。啟動(dòng)驗(yàn)證模塊由軟件或硬件實(shí)現(xiàn)。圖1例示出主要由軟件實(shí)現(xiàn)的啟動(dòng)驗(yàn)證模塊的結(jié)構(gòu),圖2例示出主要由硬件實(shí)現(xiàn)的啟動(dòng)驗(yàn)證模塊的結(jié)構(gòu)。
圖1中,根據(jù)本發(fā)明的信息處理裝置主要由CPU 1、RAM 2、硬盤HDD 3、TPM 4和BIOS ROM 5構(gòu)成。
CPU 1是根據(jù)存儲(chǔ)在RAM和ROM中的程序有組織地操作本發(fā)明各部件以實(shí)現(xiàn)預(yù)定功能的控制部。CPU 1還包括諸如高速緩存寄存器、RAM、I/O控制器、計(jì)時(shí)器等的功能模塊。
RAM 2是在執(zhí)行裝置功能期間暫時(shí)存儲(chǔ)程序或數(shù)據(jù)的存儲(chǔ)器。
硬盤HDD 3是存儲(chǔ)操作系統(tǒng)OS、應(yīng)用程序以及各種文檔文件等的大容量存儲(chǔ)裝置。
HDD 3例如包括存儲(chǔ)OS的OS部31和存儲(chǔ)用于生成文檔、處理圖像等的應(yīng)用程序的應(yīng)用軟件部32,如圖1所示。
TPM 4是包括CPU、ROM、RAM、非易失性存儲(chǔ)器、計(jì)時(shí)器等的硬件芯片,并且在TPM 4中記錄啟動(dòng)驗(yàn)證所需的信息。
啟動(dòng)驗(yàn)證所需的信息例如是啟動(dòng)鑰(KEY1)41、密碼(PS1)42和散列值(HS1)43,如圖1所示。所述信息在發(fā)貨或用戶購買裝置后第一次啟動(dòng)時(shí)存儲(chǔ)在TPM 4中的非易失性存儲(chǔ)器中。
啟動(dòng)鑰(KEY1)指的是啟動(dòng)OS所需的密鑰。OS部31存儲(chǔ)操作系統(tǒng)OS,如果在OS被編碼的狀態(tài)下將其存儲(chǔ),則啟動(dòng)鑰41用作對(duì)經(jīng)編碼的OS進(jìn)行解碼并將其復(fù)原到能夠啟動(dòng)的狀態(tài)的解碼鑰。
即,在CPU 1中的啟動(dòng)驗(yàn)證處理中,CPU 1從TPM 4接收用于啟動(dòng)OS的啟動(dòng)鑰41。
密碼(PS1)42是強(qiáng)制TPM 4輸出啟動(dòng)鑰(KEY1)41所需的特定信息,也稱為恢復(fù)密碼。
密碼(PS1)42由用戶提供,或者在第一次啟動(dòng)或發(fā)貨時(shí)自動(dòng)生成,并且預(yù)存儲(chǔ)在TPM 4中的非易失性存儲(chǔ)器和BIOS ROM 5中。
散列值(HS1)43是待與在稍后要描述的啟動(dòng)驗(yàn)證處理中提供給TPM4的驗(yàn)證數(shù)據(jù)A進(jìn)行比較的信息,并且存儲(chǔ)在TPM 4中的非易失性存儲(chǔ)器中。散列值43在發(fā)貨時(shí)被預(yù)存儲(chǔ)并且能夠在正常啟動(dòng)后通過由用戶輸入的命令而被更新。
TPM 4是根據(jù)前述TCG定義的規(guī)范生成的芯片,也向TPM 4輸入數(shù)據(jù)并從其輸出數(shù)據(jù),并且TPM 4的功能也根據(jù)該規(guī)范而被限定。
例如,如果TPM 4從TPM 4外部的模塊程序(BIOS部、CRTM部或者驗(yàn)證部)接收到用于輸出啟動(dòng)鑰41的請(qǐng)求,則TPM 4檢查包括在請(qǐng)求中的驗(yàn)證數(shù)據(jù)A,并且僅當(dāng)驗(yàn)證數(shù)據(jù)A與預(yù)存儲(chǔ)的散列值(HS1)43匹配時(shí)才向提出請(qǐng)求的模塊程序輸出啟動(dòng)鑰(KEY1)41。如果它們不相互匹配,則TPM 4不向提出請(qǐng)求的模塊程序進(jìn)行任何輸出或者向其發(fā)送表示驗(yàn)證失敗的事實(shí)的回復(fù)。
圖1中,BIOS ROM 5是諸如閃存或PROM的非易失性存儲(chǔ)器,并且也是存儲(chǔ)將在個(gè)人計(jì)算機(jī)等通電時(shí)首先啟動(dòng)的一組系統(tǒng)程序的存儲(chǔ)器。
該組系統(tǒng)程序例如包括CRTM部、硬件初始化部、用于視頻BIOS等的任選ROM,等等。
CRTM部是在重啟后首先啟動(dòng)并且在存儲(chǔ)器上展開BIOS ROM的程序。
BIOS部是用于控制從連接到該裝置的外部設(shè)備(例如鍵盤、鼠標(biāo)、HDD)的輸入以及向其的輸出的系統(tǒng)程序。
另外,本發(fā)明的特征在于,BIOS ROM 5包括驗(yàn)證部(驗(yàn)證引擎VE)53。
驗(yàn)證部(VE)53是對(duì)所述系統(tǒng)程序組進(jìn)行啟動(dòng)驗(yàn)證的部分,主要包括啟動(dòng)狀態(tài)檢查部56、比較部57以及存儲(chǔ)驗(yàn)證信息初始值表(S0)54和啟動(dòng)狀態(tài)信息DB 55的存儲(chǔ)器。
另外,驗(yàn)證部(VE)53是如下的部分理論上位于所述系統(tǒng)程序組(例如CRTM部51、BIOS部52以及OS部31)與TPM 4之間,對(duì)在所述系統(tǒng)程序組與TPM 4之間的數(shù)據(jù)發(fā)送和接收進(jìn)行控制,并且如果TPM驗(yàn)證失敗則在啟動(dòng)期間對(duì)所述系統(tǒng)程序組進(jìn)行檢驗(yàn)處理。
驗(yàn)證信息初始值表(S0)54是在發(fā)貨或個(gè)人計(jì)算機(jī)等的第一次啟動(dòng)時(shí)預(yù)設(shè)的信息,包括上述密碼(PS1)42。
在驗(yàn)證信息初始值表(S0)54中,記錄了標(biāo)識(shí)待啟動(dòng)的合法系統(tǒng)程序所需的信息。
圖3例示了驗(yàn)證信息初始值表S0的示例的說明圖。
例如,如圖3所示,驗(yàn)證信息初始值表S0包括允許啟動(dòng)的合法系統(tǒng)程序的模塊名,以及這些程序的散列值HS、PCR號(hào)、設(shè)定值、公鑰KEY2、密碼PS1等。
在這種情況下,這些程序的散列值HS是相應(yīng)各程序的散列值,而且也是由BIOS銷售商預(yù)先計(jì)算出的數(shù)值。
另外,PCR號(hào)表示在存儲(chǔ)有相應(yīng)程序的TPM芯片中的PCR號(hào)。例如,PCR號(hào)為0表示存儲(chǔ)有在重啟后執(zhí)行的諸如CRTM的初始化程序的號(hào)。另外,PCR號(hào)為1表示存儲(chǔ)有硬件結(jié)構(gòu)狀態(tài)的號(hào),PCR號(hào)為2表示存儲(chǔ)有任選ROM狀態(tài)的區(qū)域。
公鑰KEY2指的是用于驗(yàn)證已簽名程序的密鑰。
啟動(dòng)狀態(tài)信息DB 55是在個(gè)人計(jì)算機(jī)等通電并啟動(dòng)后檢查系統(tǒng)程序的啟動(dòng)狀態(tài)之后生成的數(shù)據(jù),也稱為結(jié)果DB。例如,將關(guān)于BIOS部52在其啟動(dòng)后的啟動(dòng)狀態(tài)的信息存儲(chǔ)在結(jié)果DB中。
圖4例示了根據(jù)本發(fā)明的啟動(dòng)狀態(tài)信息DB(結(jié)果DB)55的示例的說明圖。
圖4中,啟動(dòng)狀態(tài)信息DB 55包括程序模塊名和關(guān)于啟動(dòng)成功/失敗的結(jié)果、PCR號(hào)以及設(shè)定值的成功/失敗的結(jié)果的信息。
例如,指出了名為“初始化例程”的模塊程序已經(jīng)在PCR為0處正常啟動(dòng)。
啟動(dòng)狀態(tài)檢查部56是在各個(gè)系統(tǒng)程序啟動(dòng)期間檢查程序狀態(tài)并生成啟動(dòng)狀態(tài)信息DB 55的部分。
比較部57是將預(yù)存儲(chǔ)的驗(yàn)證信息初始值表(S0)54與實(shí)際啟動(dòng)之后的啟動(dòng)狀態(tài)信息DB 55進(jìn)行比較的部分。
如果比較處理顯示兩個(gè)信息相互匹配,則這意味著對(duì)系統(tǒng)程序的檢驗(yàn)成功。即,這意味著不存在非法程序并且已正常執(zhí)行啟動(dòng)處理。
在檢驗(yàn)成功的情況下,確定系統(tǒng)程序的啟動(dòng)合法并且應(yīng)被許可,即使TPM進(jìn)行的驗(yàn)證處理失敗,后續(xù)的啟動(dòng)處理(例如,OS的啟動(dòng))也繼續(xù)進(jìn)行。
另一方面,如果兩個(gè)信息不相互匹配,則意味著當(dāng)前啟動(dòng)處理異常,可能存在非法程序等,因此對(duì)系統(tǒng)程序的啟動(dòng)不被許可。在這種情況下,原則上中斷后續(xù)啟動(dòng)處理。
圖2例示了包括具有驗(yàn)證部(VE)53和TPM 4的啟動(dòng)認(rèn)證部6的信息處理裝置的結(jié)構(gòu)的框圖。
圖2的結(jié)構(gòu)與圖1結(jié)構(gòu)的不同之處在于,驗(yàn)證部53和TPM 4被構(gòu)成為單個(gè)硬件模塊。因此,從圖1的BIOS ROM 5去除驗(yàn)證部53。驗(yàn)證部53和TPM 4的內(nèi)部結(jié)構(gòu)和功能與圖1中相同。
(根據(jù)本發(fā)明的驗(yàn)證處理的概要)圖5、圖6和圖7例示了根據(jù)本發(fā)明的驗(yàn)證處理的示例的說明圖。
圖5例示出在其中TPM 4進(jìn)行的驗(yàn)證成功的情況下的處理。
圖6例示出在其中TPM 4進(jìn)行的驗(yàn)證失敗、但是驗(yàn)證部VE 53進(jìn)行的檢驗(yàn)處理成功的情況下的處理。
圖7例示出在其中TPM 4進(jìn)行的驗(yàn)證失敗、且驗(yàn)證部VE 53進(jìn)行的檢驗(yàn)處理也失敗的情況下的處理。
這些圖中的任一幅都表示在三個(gè)功能部件之間的數(shù)據(jù)流。
在這種情況下,此處示出的BIOS部可以由啟動(dòng)的任何系統(tǒng)程序代替,并且也可以由CRTM部或OS部代替。
圖5中,如果BIOS部52首先啟動(dòng),則BIOS部52在執(zhí)行BIOS部的固有功能之前向驗(yàn)證部VE發(fā)送“驗(yàn)證請(qǐng)求”。這時(shí),將BIOS部獨(dú)有的驗(yàn)證數(shù)據(jù)A與驗(yàn)證請(qǐng)求一起發(fā)送至驗(yàn)證部VE。
所述驗(yàn)證數(shù)據(jù)A是由當(dāng)前運(yùn)行的程序部分生成的信息,并且可以例如是由CRTM部計(jì)算出的散列值。
在接收到驗(yàn)證請(qǐng)求后,驗(yàn)證部VE向TPM 4發(fā)送“對(duì)啟動(dòng)鑰的請(qǐng)求”。這時(shí),將驗(yàn)證數(shù)據(jù)A與該請(qǐng)求一起發(fā)送至TPM 4。
在接收到“對(duì)啟動(dòng)鑰的請(qǐng)求”后,TPM 4將接收到的驗(yàn)證數(shù)據(jù)A與預(yù)存儲(chǔ)在TPM 4中的散列值HS1進(jìn)行比較,以確定它們是否相互匹配。
如果它們相互匹配,則TPM 4向驗(yàn)證部VE發(fā)送表示TPM 4進(jìn)行的驗(yàn)證成功的事實(shí)的回復(fù)(驗(yàn)證成功回復(fù))。這時(shí),TPM 4還向驗(yàn)證部VE發(fā)送預(yù)存儲(chǔ)的啟動(dòng)鑰KEY1。
在從回復(fù)中識(shí)別出驗(yàn)證成功后,驗(yàn)證部VE向提出驗(yàn)證請(qǐng)求的BIOS部52發(fā)送接收到的啟動(dòng)鑰KEY1。
之后,BIOS部執(zhí)行其固有功能并進(jìn)一步執(zhí)行啟動(dòng)OS等的處理。
下面,將參照?qǐng)D6來描述TPM 4進(jìn)行的驗(yàn)證失敗的情況。
TPM 4進(jìn)行的驗(yàn)證處理失敗的情況包括系統(tǒng)程序的啟動(dòng)順序發(fā)生了變化的情況、新連接了外圍設(shè)備的情況、新安裝了RAM的情況等,以及啟動(dòng)了非法程序的情況。
因?yàn)槌龁?dòng)了非法程序的情況之外的上述其他情況應(yīng)被認(rèn)為是正常啟動(dòng),所以在這些情況下,應(yīng)不中斷后續(xù)的啟動(dòng)處理而將個(gè)人計(jì)算機(jī)復(fù)原為用戶可使用。
圖6中,如果接收到的驗(yàn)證數(shù)據(jù)A不與散列值HS1匹配,則TPM 4向驗(yàn)證部VE發(fā)送表示驗(yàn)證失敗的事實(shí)的回復(fù)。
在識(shí)別出驗(yàn)證失敗后,驗(yàn)證部VE執(zhí)行用于檢查已啟動(dòng)的系統(tǒng)程序的合法性的啟動(dòng)檢驗(yàn)處理。在該檢驗(yàn)處理中,在啟動(dòng)狀態(tài)信息DB與驗(yàn)證信息初始值表S0之間進(jìn)行比較。
如果比較顯示它們相互匹配,則驗(yàn)證部VE確定檢驗(yàn)成功,并向TPM4發(fā)送對(duì)啟動(dòng)鑰解鎖的請(qǐng)求。在發(fā)送解鎖請(qǐng)求時(shí),驗(yàn)證部VE還將預(yù)存儲(chǔ)在其中的密碼PS1發(fā)送至TPM 4。
在接收到解鎖請(qǐng)求后,TPM 4在密碼PS1與預(yù)存儲(chǔ)在其中的密碼之間進(jìn)行比較,以確定密碼PS1是否合法。
如果TPM 4確定兩個(gè)密碼相互匹配,則TPM 4向驗(yàn)證部VE發(fā)送預(yù)存儲(chǔ)的啟動(dòng)鑰KEY1作為解鎖回復(fù)。
在接收到啟動(dòng)鑰KEY1后,驗(yàn)證部VE向提出驗(yàn)證請(qǐng)求的BIOS部發(fā)送啟動(dòng)鑰KEY1。
在接收到啟動(dòng)鑰KEY1后,BIOS部執(zhí)行BIOS功能,然后啟動(dòng)OS等。在這種情況下,TPM進(jìn)行的驗(yàn)證失敗,但確定該失敗是由于處于允許啟動(dòng)的正常范圍內(nèi)的原因造成的,而不是由于存在非法程序造成的,并且執(zhí)行后續(xù)的啟動(dòng)處理。
即,對(duì)于僅由常規(guī)TPM進(jìn)行驗(yàn)證,即使由于除存在非法程序之外的原因而造成驗(yàn)證失敗,也阻止進(jìn)行后續(xù)啟動(dòng),用戶需要進(jìn)行手動(dòng)復(fù)原處理。然而,本發(fā)明能夠在不需用戶主動(dòng)復(fù)原處理的情況下進(jìn)行自動(dòng)復(fù)原處理(正常啟動(dòng)處理)。
接下來,將參照?qǐng)D7來描述其中TPM進(jìn)行的驗(yàn)證失敗、且驗(yàn)證部VE進(jìn)行的檢驗(yàn)處理也失敗的情況。
圖7中,驗(yàn)證部VE在識(shí)別出TPM進(jìn)行的驗(yàn)證失敗后執(zhí)行與圖6所示的檢驗(yàn)處理相似的檢驗(yàn)處理。然而,假設(shè)檢驗(yàn)處理顯示啟動(dòng)狀態(tài)信息DB與驗(yàn)證信息初始值表S0不相互匹配,從而檢驗(yàn)失敗。
在這種情況下,驗(yàn)證部VE通知提出驗(yàn)證請(qǐng)求的BIOS部驗(yàn)證失敗。
在識(shí)別出驗(yàn)證失敗后,BIOS部進(jìn)行用于通知用戶執(zhí)行的驗(yàn)證失敗的通知處理,以通知用戶驗(yàn)證失敗的事實(shí)及其原因。在接收到該通知后,用戶嘗試進(jìn)行手動(dòng)復(fù)原處理。
在這種情況下,TPM進(jìn)行的驗(yàn)證和驗(yàn)證部VE進(jìn)行的檢驗(yàn)都失敗,因此可能存在非法程序。
從而,BIOS部可通知用戶可能存在非法程序而導(dǎo)致驗(yàn)證失敗。
(驗(yàn)證信息初始設(shè)定處理)在本發(fā)明中,為了使驗(yàn)證部VE 53進(jìn)行上述驗(yàn)證處理,需要在信息處理裝置發(fā)貨或用戶購買后第一次給該信息處理裝置通電時(shí)預(yù)先對(duì)驗(yàn)證啟動(dòng)的系統(tǒng)程序組所需的信息進(jìn)行初始設(shè)定。
在這種情況下,待初始設(shè)定的信息包括TPM 4中的啟動(dòng)鑰KEY1 41、密碼PS1 42和散列值HS1 43,以及驗(yàn)證部53中的驗(yàn)證信息初始值表S054、公鑰KEY2和密碼PS1。
在根據(jù)本發(fā)明的信息處理裝置發(fā)貨時(shí),制造商根據(jù)預(yù)定的設(shè)計(jì)規(guī)范,向其輸入上述待初始設(shè)定信息的初始值。
另外,在購買后第一次通電后,用戶需要輸入初始值或者生成(或更新)初始值的命令,從而對(duì)待初始設(shè)定的信息進(jìn)行初始設(shè)定。
圖8和圖9例示出用于對(duì)啟動(dòng)鑰KEY1和密碼PS1進(jìn)行初始設(shè)定的處理的示例的流程圖,該處理由根據(jù)本發(fā)明的驗(yàn)證部VE執(zhí)行。
圖8例示出驗(yàn)證部生成密碼PS1的情況。
圖8中,首先,檢查用戶是否已輸入初始注冊(cè)請(qǐng)求(步驟S51)。用戶在提出初始注冊(cè)請(qǐng)求時(shí)輸入啟動(dòng)鑰KEY1。
接著,在步驟S52中,驗(yàn)證部VE接收啟動(dòng)鑰KEY1。
在步驟S53中,檢查是否應(yīng)自動(dòng)生成密碼。
例如,如果用戶已輸入生成密碼的命令,則處理進(jìn)行到其中生成密碼PS1的步驟S54。生成密碼PS1的處理例如通過在TPM芯片中執(zhí)行隨機(jī)數(shù)生成處理而進(jìn)行。
接著,在步驟S55中,將輸入的啟動(dòng)鑰KEY1和生成的密碼PS1發(fā)送給TPM 4。
另一方面,如果無需生成密碼,則處理進(jìn)行到其中將輸入的啟動(dòng)鑰KEY1發(fā)送給TPM 4的步驟S58。
接著,在步驟S56中,將密碼PS1記錄在驗(yàn)證信息初始值表S0中。
密碼PS1用于向TPM 4提出解鎖請(qǐng)求。
如果要注冊(cè)多個(gè)啟動(dòng)鑰KEY,則將密碼與用于標(biāo)識(shí)各個(gè)啟動(dòng)鑰的信息(密鑰名)相關(guān)聯(lián)地記錄在其中。
在步驟S57中,輸出初始注冊(cè)處理結(jié)果以將其通知給用戶。這時(shí),還將已利用TPM芯片編碼的啟動(dòng)鑰KEY1輸出至請(qǐng)求生成密鑰的源。
圖9例示出在用戶輸入密碼PS1和啟動(dòng)鑰KEY1的情況中的初始設(shè)定處理。
在圖9中的步驟S61中,首先,檢查用戶是否已輸入初始注冊(cè)請(qǐng)求,如果他或她已輸入該請(qǐng)求,則處理進(jìn)行到步驟S62。
在步驟S62中,接收輸入的密碼PS1。
接著,在步驟S63中,接收輸入的啟動(dòng)鑰KEY1。
另外,在步驟S64中,將輸入的密碼PS1和輸入的啟動(dòng)鑰KEY1發(fā)送給TPM 4。這時(shí),TPM 4接收密碼PS 1和啟動(dòng)鑰KEY1,然后將它們存儲(chǔ)在內(nèi)部存儲(chǔ)器中。
在步驟S65中,確定是否能利用啟動(dòng)鑰KEY1正常進(jìn)行解鎖操作。
這時(shí),將密碼PS1與關(guān)于解鎖請(qǐng)求的信息一起發(fā)送給TPM 4。在接收到解鎖請(qǐng)求和密碼PS1后,TPM 4檢查密碼PS1是否是可允許解鎖的合法密碼,并將在步驟S64中接收到的啟動(dòng)鑰KEY1輸出至驗(yàn)證部VE。
在識(shí)別出從TPM輸出的啟動(dòng)鑰KEY1后,驗(yàn)證部VE確認(rèn)能夠正常進(jìn)行解鎖操作。
在步驟S66中,如果確認(rèn)解鎖操作成功,則處理進(jìn)行到步驟S67。另一方面,如果解鎖失敗,則中斷初始設(shè)定處理。而且可通知用戶失敗的事實(shí)。
在步驟S67中,將密碼PS1記錄在驗(yàn)證信息初始值表S0中。
在步驟S68中,與步驟S57相似,輸出初始注冊(cè)處理結(jié)果。
如上所述,對(duì)于圖8或圖9所示的處理,能夠?qū)ο到y(tǒng)程序啟動(dòng)驗(yàn)證所需的信息進(jìn)行初始設(shè)定。
另外,用戶能夠通過在適當(dāng)定時(shí)啟動(dòng)上述初始設(shè)定處理來更新已經(jīng)預(yù)先設(shè)定的初始設(shè)定信息。
(驗(yàn)證部進(jìn)行的驗(yàn)證處理)下面將描述由驗(yàn)證部VE 53執(zhí)行的驗(yàn)證處理的具體內(nèi)容。
圖10例示出驗(yàn)證部進(jìn)行的示例性驗(yàn)證處理的流程圖。
根據(jù)該流程,進(jìn)行上述圖5、圖6和圖7中的任一處理。
圖10中,假設(shè)用戶已給根據(jù)本發(fā)明的信息處理裝置通電,從而驗(yàn)證部VE已啟動(dòng)。
首先,在步驟S1中,驗(yàn)證部VE中的啟動(dòng)狀態(tài)檢查部56檢查系統(tǒng)程序組(例如,CPRM部和BIOS部)的啟動(dòng)狀態(tài)。
通過檢查操作,生成表示在當(dāng)前啟動(dòng)時(shí)各個(gè)系統(tǒng)程序的啟動(dòng)狀態(tài)的啟動(dòng)狀態(tài)信息DB。例如,生成圖4所示的啟動(dòng)狀態(tài)信息DB。
圖11例示了在通電時(shí)的示例性啟動(dòng)狀態(tài)檢查處理(步驟S1)的流程圖。
首先,在步驟S71中,驗(yàn)證部VE中的啟動(dòng)狀態(tài)檢查部56從已啟動(dòng)的系統(tǒng)程序(例如,BIOS部)接收BIOS部的程序代碼和用于啟動(dòng)的設(shè)定值。然而,如果沒有設(shè)定值,則啟動(dòng)狀態(tài)檢查部56不接收設(shè)定值。
在步驟S72中,檢查接收到的程序是否在其上具有電子簽名。
如果其具有電子簽名,則處理進(jìn)行到其中進(jìn)行簽名驗(yàn)證處理的步驟S75。例如通過利用記錄在驗(yàn)證信息初始值表S0中的公鑰KEY2對(duì)簽名部分進(jìn)行解碼、并且在解碼后的簽名與程序的散列值之間比較,來進(jìn)行簽名驗(yàn)證處理。
在步驟S78中,如果通過驗(yàn)證處理證明簽名合法,則將表示程序啟動(dòng)合法的信息記錄在啟動(dòng)狀態(tài)信息DB 55中的成功/失敗結(jié)果字段中(步驟S80)。
例如,如圖4所示,如果名為“初始化例程”的系統(tǒng)程序在其上具有合法簽名,則將“圓形標(biāo)記”記錄在啟動(dòng)狀態(tài)信息DB 55中的成功/失敗結(jié)果字段中。相反,如果證明簽名不合法,則將表示非法的“十字標(biāo)記”記錄在成功/失敗結(jié)果字段中。
在步驟S80中,與已啟動(dòng)的系統(tǒng)程序名及其PCR值相關(guān)聯(lián)地記錄成功/失敗結(jié)果。
在步驟S72中,如果接收到的系統(tǒng)程序上不具有簽名,則處理進(jìn)行到其中檢查是否已接收到系統(tǒng)程序的程序代碼的步驟S73。
如果已接收到程序代碼,則處理進(jìn)行到其中進(jìn)行散列值比較處理的步驟S76。散列值比較處理是用于將從接收到的程序代碼計(jì)算出的散列值與已經(jīng)預(yù)存儲(chǔ)在驗(yàn)證信息初始值表S0 54中的系統(tǒng)程序的散列值HS進(jìn)行比較的處理。
如果比較顯示兩個(gè)散列值相互匹配,則確定已啟動(dòng)的系統(tǒng)程序合法。如果它們不匹配,則確定系統(tǒng)程序不合法。
即,如果在步驟S79確認(rèn)程序代碼合法,則將表示系統(tǒng)程序啟動(dòng)合法的信息“圓形標(biāo)記”記錄在成功/失敗結(jié)果字段中(步驟S80)。
另一方面,如果不能確認(rèn)程序代碼合法,則將表示系統(tǒng)程序啟動(dòng)非法的信息“十字標(biāo)記”記錄在成功/失敗結(jié)果字段中(步驟S80)。這時(shí),將成功/失敗結(jié)果與系統(tǒng)程序名相關(guān)聯(lián)地記錄在啟動(dòng)狀態(tài)信息DB 55中。
如果在步驟S73確定接收到的信息不是程序代碼,則認(rèn)為接收到的信息是設(shè)定值,處理進(jìn)行到其中進(jìn)行將接收到的設(shè)定值與已預(yù)存儲(chǔ)在驗(yàn)證信息初始值表S0中的設(shè)定值進(jìn)行比較的處理的步驟S74。
在步驟S77中,如果比較顯示兩個(gè)設(shè)定值相互匹配,則確定設(shè)定值合法,從而確認(rèn)具有該設(shè)定值的程序合法。
接著,將表示合法的信息“圓形標(biāo)記”記錄在成功/失敗結(jié)果字段中(步驟S80)。
另一方面,如果這些設(shè)定值不相互匹配,則確定設(shè)定值非法,并且將表示非法的信息“十字標(biāo)記”記錄在成功/失敗結(jié)果字段中(步驟S80)。這時(shí),同樣地,將成功/失敗結(jié)果與設(shè)定值名相關(guān)聯(lián)地記錄在啟動(dòng)狀態(tài)信息DB 55中。
已經(jīng)描述了在圖10中步驟S1處的處理的具體內(nèi)容,該處理檢查所有已啟動(dòng)的系統(tǒng)程序的啟動(dòng)狀態(tài)的合法性,并生成當(dāng)前啟動(dòng)時(shí)的啟動(dòng)狀態(tài)信息DB 55。
接著,在圖10中的步驟S2,檢查是否存在啟動(dòng)驗(yàn)證請(qǐng)求。
例如,如果如圖5所示存在來自BIOS部52的啟動(dòng)驗(yàn)證請(qǐng)求,則處理進(jìn)行到步驟S3。驗(yàn)證請(qǐng)求包括驗(yàn)證數(shù)據(jù)A。
在步驟S3中,驗(yàn)證部VE向TPM 4發(fā)送對(duì)包括驗(yàn)證數(shù)據(jù)A的啟動(dòng)鑰的請(qǐng)求。
驗(yàn)證數(shù)據(jù)A例如是通過步驟S1的檢查處理根據(jù)系統(tǒng)程序本身確定的散列值。散列值是將用于TPM進(jìn)行的驗(yàn)證的數(shù)據(jù)。
在接收到對(duì)啟動(dòng)鑰的請(qǐng)求之后,TPM 4進(jìn)行驗(yàn)證處理并向驗(yàn)證部發(fā)送表示驗(yàn)證結(jié)果(成功與否)的回復(fù)。
接著,在步驟S4中,驗(yàn)證部VE檢查來自TPM 4的表示驗(yàn)證結(jié)果的回復(fù)。如果回復(fù)表示成功,則處理進(jìn)行到步驟S9,但如果它表示失敗,則處理進(jìn)行到步驟S5。
如果成功,則處理對(duì)應(yīng)于圖5的驗(yàn)證處理的流程。
在步驟S9中,驗(yàn)證部VE接收從TPM發(fā)送的啟動(dòng)鑰KEY1。
接著,在步驟S10中,驗(yàn)證部VE向提出驗(yàn)證請(qǐng)求的系統(tǒng)程序發(fā)送啟動(dòng)鑰KEY1。
另一方面,如果TPM進(jìn)行的驗(yàn)證失敗,則驗(yàn)證部VE中的比較部57在步驟S5執(zhí)行檢驗(yàn)處理。
在檢驗(yàn)處理中,將存儲(chǔ)在驗(yàn)證信息初始值表S0中的信息與在步驟S1生成的啟動(dòng)狀態(tài)信息DB的內(nèi)容進(jìn)行比較。
圖12例示出由根據(jù)本發(fā)明的驗(yàn)證部VE中的比較部57執(zhí)行的示例性檢驗(yàn)處理的流程圖。
在步驟S21中,讀取存儲(chǔ)在驗(yàn)證部VE中的驗(yàn)證信息初始值表S0的數(shù)據(jù)。
進(jìn)一步,在步驟S22中,讀取在步驟S1生成的當(dāng)前啟動(dòng)時(shí)的啟動(dòng)狀態(tài)信息DB的數(shù)據(jù)。
在步驟S23中,將所讀取的初始值表S0的數(shù)據(jù)與啟動(dòng)狀態(tài)信息DB的數(shù)據(jù)進(jìn)行比較。該比較是兩個(gè)數(shù)據(jù)中包含的程序名之間以及兩個(gè)數(shù)據(jù)中包含的程序的散列值之間的比較。
如果兩個(gè)數(shù)據(jù)中的所有對(duì)應(yīng)數(shù)據(jù)都相互匹配,則處理進(jìn)行到其中輸出檢驗(yàn)成功的通知的步驟S25。
另一方面,如果任一對(duì)應(yīng)數(shù)據(jù)不匹配,則處理進(jìn)行到其中輸出檢驗(yàn)失敗的通知的步驟S24。
如上所述,如果兩個(gè)數(shù)據(jù)的內(nèi)容相互匹配,則確定檢驗(yàn)成功。
另外,在檢驗(yàn)處理中,如果生成的啟動(dòng)狀態(tài)信息DB包括未包含在初始值表S0 54中的程序PG,則確定程序PG是非法程序并且確認(rèn)存在非法程序,從而確定檢驗(yàn)失敗。
在步驟S6中,如果在步驟S5的檢驗(yàn)處理結(jié)果為成功,則盡管通過TPM進(jìn)行的驗(yàn)證確定啟動(dòng)非法,但也確定啟動(dòng)為合法,并且處理進(jìn)行到步驟S7。
另一方面,在步驟S6中,如果檢驗(yàn)處理結(jié)果為失敗,則認(rèn)為存在非法程序,因此啟動(dòng)非法,并且處理進(jìn)行到步驟S11。
在處理進(jìn)行到步驟S7的情況下,處理對(duì)應(yīng)于圖6的處理流程。
在處理進(jìn)行到步驟S11的情況下,處理對(duì)應(yīng)于圖7的處理流程。
在步驟S7中,因?yàn)闄z驗(yàn)成功,所以為了推進(jìn)后續(xù)啟動(dòng)處理而向TPM4發(fā)送解鎖請(qǐng)求。即,為了從TPM 4獲取啟動(dòng)鑰KEY1,從驗(yàn)證信息初始值表S0 54讀取密碼PS1并將其發(fā)送至TPM 4。
在接收到解鎖請(qǐng)求和密碼PS1后,TPM 4檢查密碼PS1的合法性,如果其合法,則向驗(yàn)證部VE發(fā)送預(yù)存儲(chǔ)的啟動(dòng)鑰KEY1。
接著,在步驟S8中,驗(yàn)證部VE檢查是否存在來自TPM 4的解鎖回復(fù)。如果存在來自其的解鎖回復(fù),則處理進(jìn)行到其中驗(yàn)證部VE如上所述接收啟動(dòng)鑰KEY1的步驟S9,并且,在步驟S10中,驗(yàn)證部VE向驗(yàn)證請(qǐng)求源發(fā)送啟動(dòng)鑰KEY1。
在步驟S6中,如果檢驗(yàn)失敗,則處理進(jìn)行到其中通知提出請(qǐng)求的系統(tǒng)程序驗(yàn)證失敗的步驟S11。
在這種情況下,在識(shí)別出驗(yàn)證失敗后,系統(tǒng)程序通知用戶驗(yàn)證失敗以告知用戶需要進(jìn)行復(fù)原處理。這時(shí),可通知用戶存在非法程序。
如上所述,因?yàn)轵?yàn)證部VE與TPM進(jìn)行的驗(yàn)證相分立地進(jìn)行檢驗(yàn)處理,所以即使TPM進(jìn)行的驗(yàn)證失敗,在可以允許推進(jìn)后續(xù)啟動(dòng)處理的情況下,該裝置也能自動(dòng)復(fù)原而不需用戶進(jìn)行操作,并且可正常推進(jìn)后續(xù)啟動(dòng)處理。
就是說,即使TPM進(jìn)行的驗(yàn)證失敗,在其中失敗是由于并非存在非法程序的、允許正常啟動(dòng)的原因而導(dǎo)致的情況下(例如,在新連接了外部設(shè)備或新安裝了RAM情況下),也能自動(dòng)推進(jìn)啟動(dòng)處理,從而減輕用戶在后續(xù)復(fù)原處理期間的負(fù)擔(dān)。
(在驗(yàn)證失敗情況下執(zhí)行的復(fù)原處理)如果在圖7和圖10中的步驟S11檢測到存在非法程序,則需要?jiǎng)h除該程序或者使該裝置復(fù)原到與能夠正常運(yùn)行的狀態(tài)相同的狀態(tài)。在這種情況下,需要用戶進(jìn)行復(fù)原處理。
例如,在硬盤HDD 3中預(yù)存儲(chǔ)恢復(fù)OS?;謴?fù)OS是專用于恢復(fù)的OS,與保持啟動(dòng)的存儲(chǔ)在OS部31中的OS不同。
另外,如果如圖7所示BIOS部52識(shí)別出驗(yàn)證失敗,則適于啟動(dòng)恢復(fù)OS。
在啟動(dòng)恢復(fù)OS時(shí),啟動(dòng)恢復(fù)程序或準(zhǔn)備好啟動(dòng)恢復(fù)程序。在這種狀態(tài)下,用戶更新BIOS,改變BIOS設(shè)定,檢查裝置結(jié)構(gòu)等以使裝置復(fù)原到正常啟動(dòng)狀態(tài)。
另外,如果因?yàn)橛糜趩?dòng)的設(shè)定值異常而導(dǎo)致驗(yàn)證失敗,則也需要進(jìn)行類似的復(fù)原處理以將設(shè)定值復(fù)原到正常值。在這種情況下,類似地,可以啟動(dòng)恢復(fù)OS以重設(shè)設(shè)定值。而且,可以啟動(dòng)用于恢復(fù)設(shè)定值的特定程序來代替恢復(fù)OS以將設(shè)定值復(fù)原到預(yù)許可范圍內(nèi)。
另外,可能存在其中因?yàn)橹圃焐痰脑蚨鴳?yīng)更新BIOS本身的情況,以及應(yīng)改變BIOS設(shè)定值等的情況。在這種更新等之后,啟動(dòng)驗(yàn)證可能失敗,因此需要重寫預(yù)存儲(chǔ)在驗(yàn)證部VE和TPM 4中的驗(yàn)證信息。
在這種情況下,例如,可以在使用戶能夠使用應(yīng)用程序的啟動(dòng)狀態(tài)下啟動(dòng)特定的設(shè)定程序,然后可以讀取存儲(chǔ)在制造商提供的FD、CD-ROM等中的BIOS更新程序、BIOS設(shè)定值等等,從而更新驗(yàn)證信息。而且,可以通過諸如因特網(wǎng)的網(wǎng)絡(luò)下載這種更新程序和這種設(shè)定值以將其更新。
根據(jù)本發(fā)明,除了通過安全芯片檢查系統(tǒng)程序的合法性之外,即使上述合法性檢查失敗,也驗(yàn)證了系統(tǒng)程序的啟動(dòng)狀態(tài)的合法性,這使得在可以允許系統(tǒng)程序啟動(dòng)的情況下能夠在啟動(dòng)期間無需用戶操作而進(jìn)行復(fù)原處理,從而減輕用戶在啟動(dòng)的復(fù)原處理期間的負(fù)擔(dān)。
權(quán)利要求
1.一種具有啟動(dòng)驗(yàn)證功能的信息處理裝置,該信息處理裝置包括模塊記錄部,其存儲(chǔ)有多個(gè)系統(tǒng)程序;安全芯片,其具有檢查系統(tǒng)程序的合法性的功能;以及驗(yàn)證部,其檢驗(yàn)系統(tǒng)程序的啟動(dòng)狀態(tài),其中所述驗(yàn)證部包括啟動(dòng)狀態(tài)檢查部,用于檢查已啟動(dòng)的系統(tǒng)程序的啟動(dòng)狀態(tài);啟動(dòng)狀態(tài)信息記錄部,其存儲(chǔ)已從對(duì)啟動(dòng)狀態(tài)的所述檢查獲取的關(guān)于系統(tǒng)程序的啟動(dòng)狀態(tài)的信息;初始值記錄部,其存儲(chǔ)待啟動(dòng)系統(tǒng)程序的驗(yàn)證信息初始值;以及比較部,其用于對(duì)在啟動(dòng)各個(gè)系統(tǒng)程序時(shí)獲取的且已存儲(chǔ)在所述啟動(dòng)狀態(tài)信息記錄部中的關(guān)于所述系統(tǒng)程序的啟動(dòng)狀態(tài)的信息與存儲(chǔ)在所述初始值記錄部中的所述驗(yàn)證信息初始值進(jìn)行比較,以檢驗(yàn)所述系統(tǒng)程序的啟動(dòng)狀態(tài),并且如果所述安全芯片不能確認(rèn)所述系統(tǒng)程序的合法性,則所述驗(yàn)證部檢驗(yàn)所述系統(tǒng)程序的啟動(dòng)狀態(tài),如果檢驗(yàn)成功,則確定所述系統(tǒng)程序的當(dāng)前啟動(dòng)狀態(tài)合法。
2.根據(jù)權(quán)利要求1所述的具有啟動(dòng)驗(yàn)證功能的信息處理裝置,其中所述安全芯片預(yù)存儲(chǔ)用于檢查系統(tǒng)程序的合法性的驗(yàn)證信息,所述驗(yàn)證信息包括啟動(dòng)鑰KEY1、用于輸出所述啟動(dòng)鑰的密碼PS1、以及用于驗(yàn)證所述系統(tǒng)程序的特定驗(yàn)證數(shù)據(jù)。
3.根據(jù)權(quán)利要求2所述的具有啟動(dòng)驗(yàn)證功能的信息處理裝置,其中所述安全芯片接收在啟動(dòng)一系統(tǒng)程序時(shí)由該系統(tǒng)程序提供的驗(yàn)證數(shù)據(jù)A,并比較所述驗(yàn)證數(shù)據(jù)A與預(yù)存儲(chǔ)的驗(yàn)證數(shù)據(jù)以檢查該系統(tǒng)程序的合法性。
4.根據(jù)權(quán)利要求2所述的具有啟動(dòng)驗(yàn)證功能的信息處理裝置,其中所述驗(yàn)證部在其初始值記錄部中預(yù)存儲(chǔ)與用于輸出所述啟動(dòng)鑰KEY1的密碼PS1相同的密碼PS2,并且如果所述比較部進(jìn)行的檢驗(yàn)顯示關(guān)于啟動(dòng)狀態(tài)的所述獲取信息與預(yù)存儲(chǔ)在所述初始值記錄部中的所述驗(yàn)證信息初始值相互匹配,則所述驗(yàn)證部向所述安全芯片發(fā)送所述預(yù)存儲(chǔ)的密碼PS2,如果所述安全芯片接收到所述密碼PS2,則所述安全芯片向所述驗(yàn)證部輸出預(yù)存儲(chǔ)的啟動(dòng)鑰KEY1。
5.根據(jù)權(quán)利要求1至4中的任一項(xiàng)所述的具有啟動(dòng)驗(yàn)證功能的信息處理裝置,其中所述驗(yàn)證部預(yù)存儲(chǔ)在存儲(chǔ)基本輸入輸出系統(tǒng)的非易失性存儲(chǔ)器中。
6.根據(jù)權(quán)利要求1至4中的任一項(xiàng)所述的具有啟動(dòng)驗(yàn)證功能的信息處理裝置,其中所述驗(yàn)證部設(shè)置在配備有所述安全芯片的基板上。
7.一種具有啟動(dòng)驗(yàn)證功能的信息處理裝置,該信息處理裝置包括模塊記錄部,其存儲(chǔ)有多個(gè)系統(tǒng)程序;安全芯片,其具有檢查所述系統(tǒng)程序的合法性的功能;以及驗(yàn)證部,其檢驗(yàn)所述系統(tǒng)程序的啟動(dòng)狀態(tài),其中所述安全芯片通過使用所述系統(tǒng)程序提供的驗(yàn)證數(shù)據(jù)來執(zhí)行合法性檢查處理,如果所述安全芯片不能確認(rèn)所述系統(tǒng)程序的合法性,則所述驗(yàn)證部從已啟動(dòng)的系統(tǒng)程序獲取關(guān)于所述已啟動(dòng)系統(tǒng)程序的啟動(dòng)狀態(tài)信息,并且如果合法系統(tǒng)程序的預(yù)存儲(chǔ)的驗(yàn)證信息初始值與所述獲取的啟動(dòng)狀態(tài)信息相互匹配,則所述驗(yàn)證部確定所述系統(tǒng)程序的當(dāng)前啟動(dòng)狀態(tài)合法,并且推進(jìn)所述系統(tǒng)程序的后續(xù)啟動(dòng)處理。
全文摘要
一種具有啟動(dòng)驗(yàn)證功能的信息處理裝置,包括模塊記錄部,其存儲(chǔ)多個(gè)系統(tǒng)程序;安全芯片,其具有檢查系統(tǒng)程序的合法性的功能;以及驗(yàn)證部,其檢驗(yàn)系統(tǒng)程序的啟動(dòng)狀態(tài)。安全芯片通過使用系統(tǒng)程序提供的驗(yàn)證數(shù)據(jù)來執(zhí)行合法性檢查處理。如果安全芯片不能確認(rèn)系統(tǒng)程序的合法性,則驗(yàn)證部從已啟動(dòng)的系統(tǒng)程序獲取關(guān)于已啟動(dòng)的系統(tǒng)程序的啟動(dòng)狀態(tài)信息。如果合法系統(tǒng)程序的預(yù)存儲(chǔ)的驗(yàn)證信息初始值與獲取的啟動(dòng)狀態(tài)信息相互匹配,則驗(yàn)證部確定系統(tǒng)程序的當(dāng)前啟動(dòng)狀態(tài)合法,并且推進(jìn)系統(tǒng)程序的后續(xù)啟動(dòng)處理。
文檔編號(hào)G06F21/00GK101042720SQ200610111039
公開日2007年9月26日 申請(qǐng)日期2006年8月10日 優(yōu)先權(quán)日2006年3月22日
發(fā)明者矢崎孝一, 山田勇 申請(qǐng)人:富士通株式會(huì)社
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
五峰| 城口县| 乐陵市| 珲春市| 琼海市| 上林县| 安化县| 开阳县| 胶南市| 察哈| 农安县| 莱西市| 什邡市| 密山市| 项城市| 湘乡市| 吉水县| 北宁市| 达日县| 河西区| 永平县| 泸溪县| 侯马市| 黔东| 乐安县| 襄樊市| 景宁| 梨树县| 离岛区| 侯马市| 二连浩特市| 上蔡县| 泌阳县| 乾安县| 桐城市| 无为县| 保山市| 托克托县| 洛浦县| 多伦县| 林西县|