計(jì)算機(jī)系統(tǒng)以及計(jì)算機(jī)系統(tǒng)操作方法
【技術(shù)領(lǐng)域】
[0001 ]本發(fā)明涉及計(jì)算機(jī)系統(tǒng)上組件的程序代碼更新。
【背景技術(shù)】
[0002]計(jì)算機(jī)系統(tǒng)上許多組件都有程序代碼更新需求;包括對(duì)中央處理單元(CPU)的微碼(microcode)打補(bǔ)丁、芯片組(chipset)的控制器固件更新、基本輸入輸出系統(tǒng)(B1S)更新等。
[0003]如何安全升級(jí)計(jì)算機(jī)系統(tǒng)上組件的程序代碼而防止惡意攻擊為本技術(shù)領(lǐng)域重要課題。
【發(fā)明內(nèi)容】
[0004]根據(jù)本發(fā)明一種實(shí)施方式實(shí)現(xiàn)的計(jì)算機(jī)系統(tǒng)包括中央處理單元以及非揮發(fā)式存儲(chǔ)器。該中央處理單元根據(jù)微碼操作,且包括認(rèn)證程序代碼執(zhí)行區(qū)(authenticated codeexecut1n area,縮寫ACEA)。該非揮發(fā)式存儲(chǔ)器儲(chǔ)存啟動(dòng)用認(rèn)證程序代碼模塊(startupauthenticated code module,縮寫startup ACM)。該中央處理單元在上電后執(zhí)行微碼(microcode),以自該非揮發(fā)式存儲(chǔ)器將該啟動(dòng)用認(rèn)證程序代碼模塊加載至該認(rèn)證程序代碼執(zhí)行區(qū)、且進(jìn)行認(rèn)證。該中央處理單元執(zhí)行通過(guò)認(rèn)證的該啟動(dòng)用認(rèn)證程序代碼模塊,以連線服務(wù)器,并自該服務(wù)器取得該計(jì)算機(jī)系統(tǒng)上組件的程序代碼更新文件。
[0005]由于中央處理單元內(nèi)的認(rèn)證程序代碼執(zhí)行區(qū)不能被中央處理單元以外的設(shè)備訪問(wèn),故得以確保執(zhí)行啟動(dòng)用認(rèn)證程序代碼模塊Startup_ACM的安全性。與現(xiàn)有技術(shù)經(jīng)由易被攻擊的基本輸入輸出系統(tǒng)(B1S)或者經(jīng)由更易被攻擊的操作系統(tǒng)(Operating System,OS)獲取該程序代碼更新文件相比較,本發(fā)明技術(shù)大大提高計(jì)算機(jī)系統(tǒng)組件的程序代碼更新的安全性。
[0006]下文特舉實(shí)施例,并配合所附圖示,詳細(xì)說(shuō)明本
【發(fā)明內(nèi)容】
。
【附圖說(shuō)明】
[0007]圖1圖解根據(jù)本發(fā)明一種實(shí)施方式實(shí)現(xiàn)的計(jì)算機(jī)系統(tǒng)100;且
[0008]圖2為流程圖,圖解根據(jù)本發(fā)明一種實(shí)施方式所實(shí)現(xiàn)的一種計(jì)算機(jī)系統(tǒng)操作方法,特別有關(guān)于計(jì)算機(jī)系統(tǒng)的開機(jī)程序。
【具體實(shí)施方式】
[0009]以下敘述列舉本發(fā)明的多種實(shí)施例。以下敘述介紹本發(fā)明的基本概念,且并非意圖限制本
【發(fā)明內(nèi)容】
。實(shí)際發(fā)明范圍應(yīng)依照申請(qǐng)專利范圍界定之。
[0010]圖1圖解根據(jù)本發(fā)明一種實(shí)施方式實(shí)現(xiàn)的計(jì)算機(jī)系統(tǒng)100。計(jì)算機(jī)系統(tǒng)100包括中央處理單元102以及非揮發(fā)式存儲(chǔ)器104。該中央處理單元102根據(jù)微碼(microcode) 114操作,且包括認(rèn)證程序代碼執(zhí)行區(qū)(authenticated code execut1n area,縮寫ACEA) 108。該非揮發(fā)式存儲(chǔ)器104儲(chǔ)存啟動(dòng)用認(rèn)證程序代碼模塊(startup authenticated codemodule,縮寫Startup ACM)Startup_ACM。該中央處理單元102在上電后執(zhí)行微碼114,以自該非揮發(fā)式存儲(chǔ)器104將該啟動(dòng)用認(rèn)證程序代碼模塊Startup_ACM加載至該認(rèn)證程序代碼執(zhí)行區(qū)108進(jìn)行認(rèn)證。該中央處理單元102經(jīng)由在該認(rèn)證程序代碼執(zhí)行區(qū)108上執(zhí)行通過(guò)認(rèn)證的啟動(dòng)用認(rèn)證程序代碼模塊Startup_ACM,以連線服務(wù)器116(如,透過(guò)網(wǎng)絡(luò)接口控制器118)。該服務(wù)器116提供計(jì)算機(jī)系統(tǒng)100上組件的程序代碼更新文件120—例如,該中央處理單元102的微碼114的更新文件(microcode patch)、芯片組106的控制器固件(chipsetcontroller firmware)的更新文件或者基本輸入輸出系統(tǒng)(basic input and outputsystem,簡(jiǎn)稱B1S)的更新文件。服務(wù)器116提供的該程序代碼更新文件可載至揮發(fā)式存儲(chǔ)器124如編號(hào)120’。
[0011]在一種實(shí)施方式中,計(jì)算機(jī)系統(tǒng)100還包括芯片組106,該芯片組106包括緩存器110,對(duì)應(yīng)該啟動(dòng)用認(rèn)證程序代碼模塊Startup_ACM儲(chǔ)存密鑰認(rèn)證信息112,舉例而言,如果該中央處理單元102對(duì)加載的啟動(dòng)用認(rèn)證程序代碼模塊Startup_ACM進(jìn)行認(rèn)證時(shí)采用的是非對(duì)稱加密算法(asymmetric encrypt1n algorithm),則該密鑰認(rèn)證信息舉例而言為加解密所用的公共密鑰(public key)的哈希摘要值(hash value);而自該非揮發(fā)式存儲(chǔ)器104加載的啟動(dòng)用認(rèn)證程序代碼模塊Startup_ACM自帶加密簽名(cryptographicsignature),其包括加解密所用的公共密鑰(public key)的信息。該中央處理單元102執(zhí)行微碼114對(duì)加載的啟動(dòng)用認(rèn)證程序代碼模塊Startup_ACM進(jìn)行認(rèn)證時(shí),先從加載的啟動(dòng)用認(rèn)證程序代碼模塊Startup_ACM取出簽名中的公共密鑰,計(jì)算其哈希摘要值,并與緩存器110中預(yù)存的密鑰認(rèn)證信息112中的哈希摘要值比對(duì),若一致,則認(rèn)證通過(guò),繼續(xù)后續(xù)的連線服務(wù)器116以取得程序代碼更新文件120的流程。
[0012]在本發(fā)明中,中央處理單元102除了對(duì)啟動(dòng)用認(rèn)證程序代碼模塊Startup_ACM通過(guò)前述的認(rèn)證方式進(jìn)行驗(yàn)證以保證其安全性以外,中央處理單元102會(huì)在其本身內(nèi)部的認(rèn)證程序代碼執(zhí)行區(qū)108中執(zhí)行通過(guò)驗(yàn)證的啟動(dòng)用認(rèn)證程序代碼模塊Startup_ACM,該認(rèn)證程序代碼執(zhí)行區(qū)108不能被中央處理單元102以外的設(shè)備訪問(wèn)以進(jìn)一步確保執(zhí)行啟動(dòng)用認(rèn)證程序代碼模塊Startup_ACM的安全性。與現(xiàn)有技術(shù)經(jīng)由易被攻擊的基本輸入輸出系統(tǒng)(B1S)128或者經(jīng)由更易被攻擊的操作系統(tǒng)(Operating SyStem,0S)獲取該程序代碼更新文件120相比較,安全性大大提高。
[0013]在一種實(shí)施方式中,中央處理單元102除了確保啟動(dòng)用認(rèn)證程序代碼模塊Startup_ACM本身及其執(zhí)行環(huán)境的安全性以外,還通過(guò)執(zhí)行啟動(dòng)用認(rèn)證程序代碼模塊Startup_ACM與該服務(wù)器116在雙向認(rèn)證下相連。如此一來(lái),服務(wù)器116提供的程序代碼更新文件120可信度更高。一種實(shí)施方式中,該啟動(dòng)用認(rèn)證程序代碼模塊Startup_ACM還儲(chǔ)存與服務(wù)器116進(jìn)行雙向認(rèn)證的雙向認(rèn)證信息123。中央處理單元102執(zhí)行該啟動(dòng)用認(rèn)證程序代碼模塊Startup_ACM以連線該服務(wù)器116時(shí),還提供該服務(wù)器116該雙向認(rèn)證信息123,以與服務(wù)器116進(jìn)行雙向認(rèn)證。一種實(shí)施方式中,在認(rèn)證程序代碼執(zhí)行區(qū)108中執(zhí)行的啟動(dòng)用認(rèn)證程序代碼模塊Startup_ACM經(jīng)由網(wǎng)絡(luò)接口控制器118與服務(wù)器116通訊。
[0014]一種實(shí)施方式中,該啟動(dòng)用認(rèn)證程序代碼模塊Startup_ACM還儲(chǔ)存系統(tǒng)證書122。該中央處理單元102在本身內(nèi)部的認(rèn)證程序代碼執(zhí)行區(qū)108安全地執(zhí)行該啟動(dòng)用認(rèn)證程序代碼模塊Startup_ACM以連線該服務(wù)器116時(shí),還提供該服務(wù)器116上述系統(tǒng)證書122,使該服務(wù)器116提供的上述程序代碼更新文件120符合該計(jì)算機(jī)系統(tǒng)上100的該組件。上述系統(tǒng)證書122可包括該組件的型號(hào)、或該組件的序列號(hào)等信息。
[0015]計(jì)算機(jī)系統(tǒng)100的揮發(fā)式存儲(chǔ)器(如,動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器DRAM)124緩存取自該服務(wù)器116的程序代碼更新文件120’。如圖所示實(shí)施方式,該芯片組106還包括硬件組態(tài)保護(hù)模塊(hardware configurat1n protect module) 126,用以對(duì)該揮發(fā)式存儲(chǔ)器124上緩存的上述程序代碼更新文件120’進(jìn)行保護(hù)使其僅能被中央處理單元102訪問(wèn)和擷取。中央處理單元102再自該揮發(fā)式存儲(chǔ)器124上擷取程序代碼更新文件120 ’進(jìn)行認(rèn)證,以通過(guò)認(rèn)證的程序代碼更新文件更新對(duì)應(yīng)組件的程序代碼。舉例而言,該組件為中央處理單元102,該程序代碼更新文件120’為微碼114的更新文件,則中央處理單元102會(huì)將程序代碼更新文件120’自該揮發(fā)式存儲(chǔ)器124擷取至中央處理單元102內(nèi)部進(jìn)行認(rèn)證,以通過(guò)認(rèn)證的程序代碼更新文件120’更新微碼114。在一種實(shí)施方式中,程序代碼更新文件120’的認(rèn)證信息也可以存儲(chǔ)在緩存器110中,程序代碼更新文件120’認(rèn)證操作也可以在受保護(hù)的認(rèn)證碼程序區(qū)108中進(jìn)行。
[0016]如圖所示,啟動(dòng)用認(rèn)證程序代碼模塊Startup_ACM同基本輸入輸出系統(tǒng)(B1S)程序代碼128載于非揮發(fā)式存儲(chǔ)器104上。該中央處理單元102在經(jīng)由啟動(dòng)用認(rèn)證程序代碼模塊Startup_ACM對(duì)基本輸入輸出系統(tǒng)的進(jìn)行認(rèn)證(B1S phase 1 to phase 3)之前在自身內(nèi)部安全環(huán)境(如認(rèn)證程序代碼執(zhí)行區(qū)108)執(zhí)行該啟動(dòng)用認(rèn)證程序代碼模塊Startup_ACM與服務(wù)器116連線獲得該程序代碼更新文件120。本發(fā)明在計(jì)算機(jī)系統(tǒng)100上電開機(jī)過(guò)程中,在基本輸入輸出系統(tǒng)128被認(rèn)證和加載之前,通過(guò)執(zhí)行啟動(dòng)用認(rèn)證程序代碼模塊Startup_ACM獲得