專利名稱:可編程只讀存儲器數(shù)據(jù)防竄改方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明是關(guān)于一種計算機信息技術(shù),特別是關(guān)于一種可編程只讀存儲器數(shù)據(jù)防竄改方法及系統(tǒng),應(yīng)用在計算機平臺,且該計算機平臺配備有可編程只讀存儲器,對該可編程只讀存儲器提供數(shù)據(jù)防竄改保護功能,防止該可編程只讀存儲器中的數(shù)據(jù)遭到非法竄改。
背景技術(shù):
BIOS(Basic Input/Output System)是個人計算機平臺或網(wǎng)絡(luò)服務(wù)器中所采用的一種系統(tǒng)輸出入控制程序,作為操作系統(tǒng)與各個硬件組和各個周邊裝置之間的接口,讓計算機平臺通過操作系統(tǒng)操控這些硬件組和周邊裝置。具體實施上,BIOS程序通常預先由程序員將其撰寫成一組程序碼,接著將該程序碼寫入計算機平臺中的可程序化的存儲器,例如閃存(flash memory)。
在網(wǎng)絡(luò)應(yīng)用上,網(wǎng)絡(luò)服務(wù)器通常具備有遠程操控功能,可讓系統(tǒng)管理人員通過網(wǎng)絡(luò)工作站遠程操控網(wǎng)絡(luò)服務(wù)器或修改其中閃存中的BIOS程序碼。無合法授權(quán)的使用者(即俗稱的駭客)也可通過該遠程操控功能輕易地竄改網(wǎng)絡(luò)服務(wù)器閃存中儲存的BIOS程序碼,使得網(wǎng)絡(luò)服務(wù)器因此無法正常工作。
目前常用的解決方法例如包括以下2種雙存儲器方法和硬件跳接線路方法。
雙存儲器方法是采用二組獨立的閃存儲存BIOS程序碼,或是采用一組容量較大的閃存并采用特殊的硬件電路,將其仿真成二組獨立的儲存區(qū)。然而這種解決方法的缺點在于成本較高且需占用較多的主板空間。
硬件跳接線路方法是采用GPIO(General Purpose Input/Output)管腳,設(shè)定閃存的模式是寫入模式或操作模式。當使用者對閃存進行寫入時,需首先關(guān)閉計算機主機的電源,接著打開計算機主機的機箱,再將跳接線路設(shè)定成寫入模式,然后重新開啟計算機主機的電源即可進行寫入;當寫入程序完成之后,使用者需要再關(guān)閉計算機主機的電源,接著將跳接線路設(shè)定成操作模式,然后重新將計算機主機的機箱裝好,再接著重新開啟計算機主機的電源,即可令計算機平臺執(zhí)行新寫入的BIOS程序碼。這種寫入程序由于需用硬件跳接線路,因此可防止駭客或病毒程序非法竄改閃存中的BIOS程序碼。這種解決方法的缺點在于,所需的人工操作程序顯然極為煩瑣,使得正常合法的BIOS程序修改工作頗為費時費力、效率較低。
發(fā)明內(nèi)容
為克服上述現(xiàn)有技術(shù)的缺點,本發(fā)明的主要目的在于提供一種可編程只讀存儲器數(shù)據(jù)防竄改方法及系統(tǒng),可防止駭客或病毒程序任意非法竄改閃存中的BIOS程序碼,在具體實施上可不占用主板的空間。
本發(fā)明的另一目的在于提供一種可編程只讀存儲器數(shù)據(jù)防竄改方法及系統(tǒng),可防止駭客或病毒程序任意非法竄改閃存中的BIOS程序碼的同時,正常合法的BIOS程序數(shù)據(jù)修改工作簡單而有效。
本發(fā)明的可編程只讀存儲器數(shù)據(jù)防竄改方法及系統(tǒng)是應(yīng)用在計算機平臺,且該計算機平臺配備有可編程只讀存儲器,對該可編程只讀存儲器提供數(shù)據(jù)防竄改保護功能,防止該可編程只讀存儲器中的數(shù)據(jù)遭受非法竄改。
本發(fā)明的可編程只讀存儲器數(shù)據(jù)防竄改方法至少包括以下步驟在該可編程只讀存儲器中,儲存該計算機平臺所屬的一組識別碼;在客戶端單元對該可編程只讀存儲器發(fā)出寫入請求時,響應(yīng)該客戶端單元發(fā)出的寫入請求,發(fā)出識別碼請求激活信息;響應(yīng)該識別碼請求激活信息,請求該客戶端單元提供一組識別碼數(shù)據(jù);若該客戶端單元無法提供,則發(fā)出禁制寫入信息;對比該客戶端單元提供的識別碼是否與該可編程只讀存儲器中所預存的識別碼符合;若是,則發(fā)出寫入激活信息;反之若否,則發(fā)出禁制寫入信息;以及響應(yīng)該寫入激活信息,讓該客戶端單元可對該可編程只讀存儲器進行數(shù)據(jù)寫入;反之,響應(yīng)該禁制寫入信息,禁制該客戶端單元對該可編程只讀存儲器進行數(shù)據(jù)寫入。
本發(fā)明的可編程只讀存儲器數(shù)據(jù)防竄改系統(tǒng)至少包括識別碼儲存模塊,儲存該計算機平臺所屬的一組識別碼;寫入請求響應(yīng)模塊,響應(yīng)客戶端單元發(fā)出的寫入請求,發(fā)出識別碼請求激活信息;識別碼請求模塊,響應(yīng)該寫入請求響應(yīng)模塊發(fā)出的識別碼請求激活信息,請求該客戶端單元提供一組識別碼數(shù)據(jù);若該客戶端單元無法提供,則發(fā)出禁制寫入信息;識別碼對比模塊,對比該識別碼請求模塊從該客戶端單元接收到識別碼是否與該識別碼儲存模塊中所預存的識別碼符合;若是,則發(fā)出寫入激活信息;反之若否,則發(fā)出禁制寫入信息;以及寫入操作控制模塊,響應(yīng)該識別碼對比模塊發(fā)出的寫入激活信息,讓該客戶端單元可對該可編程只讀存儲器進行數(shù)據(jù)寫入;并響應(yīng)該識別碼對比模塊和該識別碼請求模塊發(fā)出的禁制寫入信息,禁制該客戶端單元對該可編程只讀存儲器進行數(shù)據(jù)寫入。
綜上所述,本發(fā)明的可編程只讀存儲器數(shù)據(jù)防竄改方法及系統(tǒng)采用識別碼方法識別客戶端單元是否有權(quán)對可編程只讀存儲器進行數(shù)據(jù)寫入;若是,則激活該可編程只讀存儲器,該客戶端單元可對該可編程只讀存儲器進行數(shù)據(jù)寫入;反之若否,則禁制寫入該可編程只讀存儲器,該客戶端單元無法對該可編程只讀存儲器進行數(shù)據(jù)寫入。本發(fā)明可防止駭客或病毒程序任意非法竄改該可編程只讀存儲器中的程序碼,具體實施上可占用主板的空間,可讓正常合法的程序數(shù)據(jù)修改工作更簡易而有效。
圖1顯示本發(fā)明可編程只讀存儲器數(shù)據(jù)防竄改系統(tǒng)的應(yīng)用結(jié)構(gòu)及其對象導向組件模型的基本結(jié)構(gòu);圖2顯示本發(fā)明的可編程只讀存儲器數(shù)據(jù)防竄改系統(tǒng)采用的識別碼數(shù)據(jù)輸入對話框的一個實施例。
具體實施例方式
實施例圖1顯示本發(fā)明的可編程只讀存儲器數(shù)據(jù)防竄改系統(tǒng)(如標號100所指虛線框包括的部分)的應(yīng)用結(jié)構(gòu)及其對象導向組件模型(object-oriented component model)的基本結(jié)構(gòu)。如圖所示,本發(fā)明的可編程只讀存儲器數(shù)據(jù)防竄改系統(tǒng)100實際應(yīng)用上是搭載至計算機平臺10(例如桌上型個人計算機、網(wǎng)絡(luò)服務(wù)器等),且該計算機平臺10配備有可編程只讀存儲器20(例如閃存),對該可編程只讀存儲器20提供數(shù)據(jù)防竄改保護功能,防止該可編程只讀存儲器20中的數(shù)據(jù)遭受駭客或病毒程序的非法竄改。
如圖1所示,本發(fā)明的可編程只讀存儲器數(shù)據(jù)防竄改系統(tǒng)100的內(nèi)部結(jié)構(gòu)的對象導向組件模型(object-oriented component model)至少包括(a)識別碼儲存模塊101;(b)寫入請求響應(yīng)模塊110;(c)識別碼請求模塊120;(d)識別碼對比模塊130;以及(e)寫入操作控制模塊140。具體實施上,本發(fā)明的可編程只讀存儲器數(shù)據(jù)防竄改系統(tǒng)100可完全以計算機程序?qū)崿F(xiàn),并將該計算機程序以附加軟件/軔體模塊的方式整合到該計算機平臺10中的BIOS(Basic Input/Output System)系統(tǒng)程序,以此提供所需的數(shù)據(jù)防竄改保護功能;并將其中的識別碼請求模塊120和識別碼數(shù)據(jù)輸入對話框121整合到該可編程只讀存儲器20(即閃存)的公用程序(Flash Utility)中。
識別碼儲存模塊101儲存一組人為預先指定的識別碼,例如該計算機平臺10所屬的一獨特的主機代號PLATFORM_ID和一串行的密碼[PASSWORD#1、PASSWORD#2、……、PASSWORD#N]。這些密碼[PASSWORD#1、PASSWORD#2、……、PASSWORD#N]是另外分配給一位或多位合法授權(quán)的使用者(也就是可合法對該可編程只讀存儲器20中的數(shù)據(jù)進行修改的系統(tǒng)管理人員)。具體實施上,此識別碼儲存模塊101是例如從該可編程只讀存儲器20中劃分出一儲存區(qū)域,并將主機代號PLATFORM_ID和所有合法授權(quán)的密碼[PASSWORD#1、PASSWORD#2、……、PASSWORD#N]均預存到該儲存區(qū)域。
寫入請求響應(yīng)模塊110可響應(yīng)任意客戶端單元30發(fā)出的寫入請求,發(fā)出識別碼請求激活信息到該識別碼請求模塊120。該客戶端單元30可例如是該計算機平臺10的操作系統(tǒng)、該計算機平臺10上的一個應(yīng)用程序、遠程的網(wǎng)絡(luò)工作站或侵入到該計算機平臺10的病毒程序。
識別碼請求模塊120可響應(yīng)上述寫入請求響應(yīng)模塊110發(fā)出的識別碼請求激活信息,請求該客戶端單元30提供一組合法授權(quán)的識別碼(即該計算機平臺10的主機代號PLATFORM_ID和該客戶端單元30的使用者的個人授權(quán)密碼PASSWORD)。若該客戶端單元30是該計算機平臺10的操作系統(tǒng)或遠程的網(wǎng)絡(luò)工作站,則此識別碼請求模塊120例如會提供如圖2所示的識別碼數(shù)據(jù)輸入對話框121,讓使用者輸入一組識別碼數(shù)據(jù)。若該客戶端單元30無法提供一組識別碼數(shù)據(jù),則此識別碼請求模塊120即會直接發(fā)出禁制寫入信息至寫入操作控制模塊140;反之,若該客戶端單元30提供了一組識別碼數(shù)據(jù),則此識別碼請求模塊120會發(fā)出對比激活信息到識別碼對比模塊130。此外,若該客戶端單元30是應(yīng)用程序,則所需的識別碼數(shù)據(jù)也可預先嵌入到該客戶端單元30,使得該客戶端單元30可自動應(yīng)答地提供該識別碼請求模塊120所請求的識別碼數(shù)據(jù)。
識別碼對比模塊130響應(yīng)上述識別碼請求模塊120發(fā)出的對比激活信息,進行識別碼的對比程序,將該識別碼請求模塊120從該客戶端單元30接收到的識別碼,與該識別碼儲存模塊101中預存的識別碼進行對比(也就是該客戶端單元30提供的主機代號PLATFORM_ID是否與該識別碼儲存模塊101中預存的主機代號PLATFORM_ID相符,且其所提供的使用者密碼PASSWORD是否與該識別碼儲存模塊101中預存的PASSWORD#1、PASSWORD#2、……或PASSWORD#N密碼中的一個相臺);若是,則發(fā)出寫入激活信息到寫入操作控制模塊140;反之若否,則發(fā)出禁制寫入信息到寫入操作控制模塊140。
寫入操作控制模塊140可在上述識別碼對比模塊130發(fā)出寫入激活信息的情況下響應(yīng)地被激活,讓該客戶端單元30可對該可編程只讀存儲器20進行數(shù)據(jù)寫入;且在該識別碼對比模塊130或上述識別碼請求模塊120發(fā)出禁制寫入信息的情況下,響應(yīng)地禁制讓該客戶端單元30對該可編程只讀存儲器20進行數(shù)據(jù)寫入。
該可編程只讀存儲器數(shù)據(jù)防竄改方法包括下更步驟在該可編程只讀存儲器20中,儲存該計算機平臺10所屬的一組識別碼。
當合法授權(quán)的使用者對可編程只讀存儲器20進行數(shù)據(jù)寫入工作時(例如更新該可編程只讀存儲器20中儲存的BIOS程序時),則該使用者即可操控該客戶端單元30發(fā)出一寫入請求到可編程只讀存儲器20。此動作即可首先使本發(fā)明的可編程只讀存儲器數(shù)據(jù)防竄改系統(tǒng)100中的寫入請求響應(yīng)模塊110響應(yīng)此寫入請求,發(fā)出識別碼請求激活信息到識別碼請求模塊120,令識別碼請求模塊120響應(yīng)地請求該客戶端單元30提供一組識別碼(在此實施例中,即該計算機平臺10的主機代號PLATFORM_ID和該客戶端單元30使用者的個人授權(quán)密碼PASSWORD)。此時,使用者可例如通過如圖2所示的識別碼數(shù)據(jù)輸入對話框121輸入所請求的主機代號和密碼,或是由客戶端單元30自行地響應(yīng)此請求,自動提供一組預先內(nèi)嵌的識別碼數(shù)據(jù)。若客戶端單元30是病毒程序或駭客的網(wǎng)絡(luò)工作站,則由于其均無法提供正確的識別碼數(shù)據(jù),因此會使程序中斷,無法進一步對該可編程只讀存儲器20進行數(shù)據(jù)寫入。
若客戶端單元30提供了一組識別碼數(shù)據(jù)(無論是由使用者輸入或是由客戶端單元30自動提供一組預先內(nèi)嵌的識別碼數(shù)據(jù)),會使識別碼請求模塊120發(fā)出一對比激活信息到識別碼對比模塊130,令識別碼對比模塊130響應(yīng)地進行識別碼對比程序,將該識別碼請求模塊120從該客戶端單元30接收到的識別碼,與該識別碼儲存模塊101中預存的識別碼進行比較(也就是該客戶端單元30提供的主機代號PLATFORM_ID,是否與該識別碼儲存模塊101中預存的主機代號PLATFORM_ID相符,且所提供的密碼PASSWORD是否與該識別碼儲存模塊101中預存的PASSWORD#1、PASSWORD#2、……或PASSWORD#N其中一個密碼相符)。若是,則識別碼對比模塊130即發(fā)出寫入激活信息到寫入操作控制模塊140,令寫入操作控制模塊140響應(yīng)地被激活,讓該客戶端單元30可對該可編程只讀存儲器20進行數(shù)據(jù)寫入。
反之,若客戶端單元30是由非授權(quán)的使用者(例如為駭客)操控,則由于該駭客無法響應(yīng)該識別碼請求模塊120請求的識別碼數(shù)據(jù),因此若該駭客不在識別碼數(shù)據(jù)輸入對話框121中輸入識別碼數(shù)據(jù),則其將直接使識別碼請求模塊120發(fā)出禁制寫入信息;反之,若該駭客在識別碼數(shù)據(jù)輸入對話框121中輸入一組錯誤的識別碼數(shù)據(jù),則將使識別碼對比模塊130發(fā)出禁制寫入信息。此禁制寫入信息會禁制使用該寫入操作控制模塊140,讓客戶端單元30無法對該可編程只讀存儲器20進行數(shù)據(jù)寫入。
此外,在客戶端單元30是病毒程序的情況下,則由于病毒程序也無法響應(yīng)識別碼請求模塊120請求的識別碼,因此會使識別碼請求模塊120發(fā)出禁制寫入信息,禁制使用該寫入操作控制模塊140,病毒程序無法對該可編程只讀存儲器20進行數(shù)據(jù)寫入。
總而言之,本發(fā)明提供了一種新穎的可編程只讀存儲器數(shù)據(jù)防竄改方法及系統(tǒng),它可搭載至計算機平臺,且該計算機平臺配備有可編程只讀存儲器,對該可編程只讀存儲器提供數(shù)據(jù)防竄改保護功能;本性采用識別碼方法識別客戶端單元是否有權(quán)對可編程只讀存儲器進行數(shù)據(jù)寫入工作;若是,則激活該可編程只讀存儲器,讓該客戶端單元可對該可編程只讀存儲器進行數(shù)據(jù)寫入;反之若否,則禁制該可編程只讀存儲器,使該客戶端單元無法對該可編程只讀存儲器行數(shù)據(jù)寫入,因此可防止駭客或病毒程序任意非法竄改該可編程只讀存儲器中的程序碼,本發(fā)明在具體實施上不會占用主板空間,讓正常合法的程序修改工作更為簡易而有效。本發(fā)明因此比現(xiàn)有技術(shù)具有更佳的進步性及實用性。
權(quán)利要求
1.一種可編程只讀存儲器數(shù)據(jù)防竄改方法,應(yīng)用在計算機平臺,且該計算機平臺配備有可編程只讀存儲器,對該可編程只讀存儲器提供數(shù)據(jù)防竄改保護功能,其特征在于,該可編程只讀存儲器數(shù)據(jù)防竄改方法至少包括在該可編程只讀存儲器中,儲存該計算機平臺所屬的一組識別碼;在客戶端單元對該可編程只讀存儲器發(fā)出寫入請求時,響應(yīng)該客戶端單元發(fā)出的寫入請求,發(fā)出識別碼請求激活信息;響應(yīng)該識別碼請求激活信息,請求該客戶端單元提供一組識別碼數(shù)據(jù);若該客戶端單元無法提供,則發(fā)出禁制寫入信息;對比該客戶端單元提供的識別碼是否與該可編程只讀存儲器中所預存的識別碼符合;若是,則發(fā)出寫入激活信息;反之若否,則發(fā)出禁制寫入信息;以及響應(yīng)該寫入激活信息,讓該客戶端單元可對該可編程只讀存儲器進行數(shù)據(jù)寫入;反之,響應(yīng)該禁制寫入信息,禁制該客戶端單元對該可編程只讀存儲器進行數(shù)據(jù)寫入。
2.如權(quán)利請求1所述的可編程只讀存儲器數(shù)據(jù)防竄改方法,其特征在于,該計算機平臺為桌上型個人計算機。
3.如權(quán)利請求1所述的可編程只讀存儲器數(shù)據(jù)防竄改方法,其特征在于,該計算機平臺為網(wǎng)絡(luò)服務(wù)器。
4.如權(quán)利請求1所述的可編程只讀存儲器數(shù)據(jù)防竄改方法,其特征在于,該可編程只讀存儲器是閃存。
5.一種可編程只讀存儲器數(shù)據(jù)防竄改系統(tǒng),搭載至計算機平臺,且該計算機平臺配備有可編程只讀存儲器,對該可編程只讀存儲器提供數(shù)據(jù)防竄改保護功能,其特征在于,該可編程只讀存儲器數(shù)據(jù)防竄改系統(tǒng)至少包括識別碼儲存模塊,儲存該計算機平臺所屬的一組識別碼;寫入請求響應(yīng)模塊,響應(yīng)客戶端單元發(fā)出的寫入請求,發(fā)出識別碼請求激活信息;識別碼請求模塊,響應(yīng)該寫入請求響應(yīng)模塊發(fā)出的識別碼請求激活信息,請求該客戶端單元提供一組識別碼數(shù)據(jù);若該客戶端單元無法提供,則發(fā)出禁制寫入信息;識別碼對比模塊,對比該識別碼請求模塊從該客戶端單元接收到識別碼是否與該識別碼儲存模塊中所預存的識別碼符合;若是,則發(fā)出寫入激活信息;反之若否,則發(fā)出禁制寫入信息;以及寫入操作控制模塊,響應(yīng)該識別碼對比模塊發(fā)出的寫入激活信息,讓該客戶端單元可對該可編程只讀存儲器進行數(shù)據(jù)寫入;并響應(yīng)該識別碼對比模塊和該識別碼請求模塊發(fā)出的禁制寫入信息,禁制該客戶端單元對該可編程只讀存儲器進行數(shù)據(jù)寫入。
6.如權(quán)利請求5所述的可編程只讀存儲器數(shù)據(jù)防竄改系統(tǒng),其特征在于,該計算機平臺為桌上型個人計算機。
7.如權(quán)利請求5所述的可編程只讀存儲器數(shù)據(jù)防竄改系統(tǒng),其特征在于,該計算機平臺為網(wǎng)絡(luò)服務(wù)器。
8.如權(quán)利請求5所述的可編程只讀存儲器數(shù)據(jù)防竄改系統(tǒng),其特征在于,該可編程只讀存儲器是閃存。
9.如權(quán)利請求5所述的可編程只讀存儲器數(shù)據(jù)防竄改系統(tǒng),其特征在于,該識別碼請求模塊顯示一識別碼數(shù)據(jù)輸入對話框,請求使用者輸入一組識別碼數(shù)據(jù)。
10.如權(quán)利請求5所述的可編程只讀存儲器數(shù)據(jù)防竄改系統(tǒng),其特征在于,該識別碼請求模塊直接請求該客戶端單元自動提供一組預先內(nèi)嵌的識別碼數(shù)據(jù)。
全文摘要
一種可編程只讀存儲器數(shù)據(jù)防竄改方法及系統(tǒng),搭載至計算機平臺,且該計算機平臺配備有可編程只讀存儲器,對該可編程只讀存儲器提供數(shù)據(jù)防竄改保護功能,該系統(tǒng)至少包括識別碼儲存模塊、寫入請求響應(yīng)模塊、識別碼請求模塊、識別碼對比模塊以及寫入操作控制模塊;本發(fā)明采用識別碼方法識別客戶端單元是否有權(quán)對可編程只讀存儲器進行數(shù)據(jù)寫入工作,可防止駭客或病毒程序任意非法竄改該可編程只讀存儲器中的程序碼,具體實施上可占用主板的空間,并可讓正常合法的程序數(shù)據(jù)修改工作更為簡單而有效率。
文檔編號G11C7/00GK1866402SQ20051007183
公開日2006年11月22日 申請日期2005年5月20日 優(yōu)先權(quán)日2005年5月20日
發(fā)明者施溫信, 溫清峰 申請人:英業(yè)達股份有限公司