保護(hù)基本輸入輸出系統(tǒng)的設(shè)備與方法
【專利摘要】本發(fā)明披露了一種保護(hù)基本輸入輸出系統(tǒng)的設(shè)備與方法。一只讀存儲(chǔ)器包括儲(chǔ)存為可讀文本的基本輸入輸出系統(tǒng)內(nèi)容與加密訊息文摘。加密訊息文摘包括對(duì)應(yīng)于基本輸入輸出系統(tǒng)內(nèi)容的第一訊息文摘的加密版本。一竄改計(jì)時(shí)器周期性地產(chǎn)生一中斷。回應(yīng)于該中斷,一竄改檢測(cè)器對(duì)基本輸入輸出系統(tǒng)內(nèi)容與加密訊息文摘進(jìn)行存取,并指示一微處理器使用用來產(chǎn)生第一訊息文摘與加密訊息文摘的相同演算法與密鑰來產(chǎn)生對(duì)應(yīng)于基本輸入輸出系統(tǒng)內(nèi)容的第二訊息文摘與對(duì)應(yīng)于加密訊息文摘的解密訊息文摘。竄改檢測(cè)器比較第二訊息文摘與解密訊息文摘,以及當(dāng)?shù)诙嵪⑽恼幌嗤诮饷苡嵪⑽恼獣r(shí),防止微處理器的操作。
【專利說明】保護(hù)基本輸入輸出系統(tǒng)的設(shè)備與方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種微電子技術(shù),特別是涉及能保護(hù)計(jì)算系統(tǒng)中基本輸入/輸出系統(tǒng)(basic input/output system, BIOS)的裝置與方法。
【背景技術(shù)】
[0002]計(jì)算平臺(tái)有各種形式和大小,例如:桌上型計(jì)算機(jī)、筆記型計(jì)算機(jī)、平板計(jì)算機(jī)、個(gè)人數(shù)字助理(PDA)和智能手機(jī)。在這些不同形式的計(jì)算平臺(tái)中,只有少數(shù)會(huì)采用非常強(qiáng)大的工具。
[0003]當(dāng)計(jì)算平臺(tái)被拆開之后,幾乎所有形式的計(jì)算平臺(tái)是共享相同的基本結(jié)構(gòu)或配置。在其核心是一個(gè)中央處理單元(通常是微處理器)、用于儲(chǔ)存程序的存儲(chǔ)器(以硬盤或固態(tài)硬盤的形式)、執(zhí)行程序的更快的存儲(chǔ)器(通常為隨機(jī)存取存儲(chǔ)器)以及儲(chǔ)存基本輸入/輸出系統(tǒng)(basic input/output system, BIOS)的存儲(chǔ)器。
[0004]對(duì)這些平臺(tái)而言,BIOS是分層編程的最底層,其能啟動(dòng)標(biāo)準(zhǔn)的操作系統(tǒng)和應(yīng)用程序,而使用特定計(jì)算平臺(tái)所配置的硬件來執(zhí)行操作。BIOS通常與硬件接口有大量的關(guān)聯(lián)性,所以當(dāng)平臺(tái)配置有改變時(shí),較高階層的程序不需要修改就可容納這些改變。當(dāng)然,當(dāng)有改變時(shí),BIOS通常會(huì)被升級(jí),這就是為什么BIOS的儲(chǔ)存通常與操作系統(tǒng)和應(yīng)用程序的儲(chǔ)存是分離。
[0005]BIOS不僅包括了計(jì)算平臺(tái)的基本操作,其亦包括配置數(shù)據(jù)和安全數(shù)據(jù)(例如計(jì)算系統(tǒng)是否被授權(quán)來執(zhí)行特定的應(yīng)用程序等)。因?yàn)锽IOS包含了安全數(shù)據(jù),所以其通常是黑客之類的目標(biāo)。例如,藉由修改系統(tǒng)的B10S,未授權(quán)的使用者便能執(zhí)行未經(jīng)授權(quán)的程序。因此,對(duì)系統(tǒng)設(shè)計(jì)者極為重要的是,當(dāng)系統(tǒng)不工作而BIOS正在操作時(shí),BIOS的有效性和完整性能得到保護(hù)和保證。
[0006]因此,為了能支持升級(jí)和/或重新編程以支持系統(tǒng)配置的改變,一方面希望系統(tǒng)的BIOS能容易進(jìn)行存取。而在另一方面,保護(hù)或限制對(duì)BIOS的內(nèi)容進(jìn)行存取是很重要的,以避免未經(jīng)授權(quán)者的篡改。
[0007]實(shí)現(xiàn)一個(gè)或兩個(gè)上述目標(biāo)的一些嘗試會(huì)導(dǎo)致架構(gòu)被限制。例如,移動(dòng)儲(chǔ)存的BIOS到類似系統(tǒng)的微處理器的同一芯片上以防止BIOS被篡改,但卻完全違背了容易升級(jí)的目的,因?yàn)锽IOS不再是實(shí)體存取。其他技術(shù)強(qiáng)調(diào)BIOS內(nèi)容的加密,從保護(hù)的觀點(diǎn)來看這是有利的,但是這會(huì)削減系統(tǒng)的性能。因?yàn)槊看涡枰褂玫綗o法接受的數(shù)量的操作來對(duì)BIOS內(nèi)容進(jìn)行解密。
[0008]因此,需要一種能支持計(jì)算系統(tǒng)的BIOS內(nèi)容的可存取性以及升級(jí),也能保護(hù)BIOS內(nèi)容免遭未經(jīng)授權(quán)篡改的新穎技術(shù)。
【發(fā)明內(nèi)容】
[0009]本發(fā)明提供較佳的技術(shù),用以解決上述問題并滿足其它問題及缺點(diǎn)以及現(xiàn)有的受限。[0010]本發(fā)明提供了一種優(yōu)秀的技術(shù),用于保護(hù)計(jì)算系統(tǒng)的BIOS免于攻擊。在一實(shí)施例中,提供了一種設(shè)備,用以保護(hù)一計(jì)算系統(tǒng)內(nèi)的一基本輸入輸出系統(tǒng)。上述設(shè)備包括:一基本輸入輸出系統(tǒng)只讀存儲(chǔ)器,包括:基本輸入輸出系統(tǒng)內(nèi)容,其中上述基本輸入輸出系統(tǒng)內(nèi)容是儲(chǔ)存為可讀文本;以及一加密訊息文摘,其中上述加密訊息文摘包括對(duì)應(yīng)于上述基本輸入輸出系統(tǒng)內(nèi)容的一第一訊息文摘的一加密版本;一竄改計(jì)時(shí)器,用以周期性地產(chǎn)生一基本輸入輸出系統(tǒng)檢查中斷,以便在一時(shí)間間隔中斷上述計(jì)算系統(tǒng)的正常操作;以及一竄改檢測(cè)器,耦接于上述基本輸入輸出系統(tǒng)只讀存儲(chǔ)器以及上述竄改計(jì)時(shí)器,用以回應(yīng)于上述基本輸入輸出系統(tǒng)檢查中斷而對(duì)上述基本輸入輸出系統(tǒng)內(nèi)容以及上述加密訊息文摘進(jìn)行存取、指示一微處理器使用用來產(chǎn)生上述第一訊息文摘與上述加密訊息文摘的相同演算法與密鑰來產(chǎn)生對(duì)應(yīng)于上述基本輸入輸出系統(tǒng)內(nèi)容的一第二訊息文摘以及對(duì)應(yīng)于上述加密訊息文摘的一解密訊息文摘、比較上述第二訊息文摘與上述解密訊息文摘,以及當(dāng)上述第二訊息文摘不相同于上述解密訊息文摘時(shí),防止上述微處理器的操作。
[0011]再者,本發(fā)明提供另一種設(shè)備,用以保護(hù)一計(jì)算系統(tǒng)內(nèi)的一基本輸入輸出系統(tǒng)。上述設(shè)備包括:一基本輸入輸出系統(tǒng)只讀存儲(chǔ)器,包括:基本輸入輸出系統(tǒng)內(nèi)容,其中上述基本輸入輸出系統(tǒng)內(nèi)容是儲(chǔ)存為可讀文本;以及一加密訊息文摘,其中上述加密訊息文摘包括對(duì)應(yīng)于上述基本輸入輸出系統(tǒng)內(nèi)容的一第一訊息文摘的一加密版本;以及一微處理器,耦接于上述基本輸入輸出系統(tǒng)只讀存儲(chǔ)器,包括:一竄改計(jì)時(shí)器,用以周期性地產(chǎn)生一基本輸入輸出系統(tǒng)檢查中斷,以便在一時(shí)間間隔中斷上述計(jì)算系統(tǒng)的正常操作;以及一竄改檢測(cè)器,耦接于上述基本輸入輸出系統(tǒng)只讀存儲(chǔ)器以及上述竄改計(jì)時(shí)器,用以回應(yīng)于上述基本輸入輸出系統(tǒng)檢查中斷而對(duì)上述基本輸入輸出系統(tǒng)內(nèi)容以及上述加密訊息文摘進(jìn)行存取、指示上述微處理器使用用來產(chǎn)生上述第一訊息文摘與上述加密訊息文摘的相同演算法與密鑰來產(chǎn)生對(duì)應(yīng)于上述基本輸入輸出系統(tǒng)內(nèi)容的一第二訊息文摘以及對(duì)應(yīng)于上述加密訊息文摘的一解密訊息文摘、比較上述第二訊息文摘與上述解密訊息文摘,以及當(dāng)上述第二訊息文摘不相同于上述解密訊息文摘時(shí),防止上述微處理器的操作。
[0012]再者,本發(fā)明提供一種方法,用以保護(hù)一計(jì)算系統(tǒng)內(nèi)的一基本輸入輸出系統(tǒng)。儲(chǔ)存基本輸入輸出系統(tǒng)內(nèi)容以及一加密訊息文摘至一基本輸入輸出系統(tǒng)只讀存儲(chǔ)器,其中上述基本輸入輸出系統(tǒng)內(nèi)容是儲(chǔ)存為可讀文本,以及上述加密訊息文摘包括對(duì)應(yīng)于上述基本輸入輸出系統(tǒng)內(nèi)容的一第一訊息文摘的一加密版本。周期性地產(chǎn)生一基本輸入輸出系統(tǒng)檢查中斷,以便在一時(shí)間間隔中斷上述計(jì)算系統(tǒng)的正常操作?;貞?yīng)于上述基本輸入輸出系統(tǒng)檢查中斷,存取上述基本輸入輸出系統(tǒng)內(nèi)容以及上述加密訊息文摘,并使用用來產(chǎn)生上述第一訊息文摘與上述加密訊息文摘的相同演算法與密鑰來產(chǎn)生對(duì)應(yīng)于上述基本輸入輸出系統(tǒng)內(nèi)容的一第二訊息文摘以及對(duì)應(yīng)于上述加密訊息文摘的一解密訊息文摘。比較上述第二訊息文摘與上述解密訊息文摘。當(dāng)上述第二訊息文摘不相同于上述解密訊息文摘時(shí),防止一微處理器的操作。
[0013]再者,本發(fā)明提供另一種設(shè)備,用以保護(hù)一計(jì)算系統(tǒng)內(nèi)的一基本輸入輸出系統(tǒng)。上述設(shè)備包括:一基本輸入輸出系統(tǒng)只讀存儲(chǔ)器,包括:基本輸入輸出系統(tǒng)內(nèi)容,其中上述基本輸入輸出系統(tǒng)內(nèi)容是儲(chǔ)存為可讀文本;以及一加密訊息文摘,其中上述加密訊息文摘包括對(duì)應(yīng)于上述基本輸入輸出系統(tǒng)內(nèi)容的一第一訊息文摘的一加密版本;以及一竄改檢測(cè)器,耦接于上述基本輸入輸出系統(tǒng)只讀存儲(chǔ)器,用以根據(jù)一處理器的重置來存取上述基本輸入輸出系統(tǒng)內(nèi)容以及上述加密訊息文摘、指不上述微處理器使用用來產(chǎn)生上述第一訊息文摘與上述加密訊息文摘的相同演算法與密鑰來產(chǎn)生對(duì)應(yīng)于上述基本輸入輸出系統(tǒng)內(nèi)容的一第二訊息文摘以及對(duì)應(yīng)于上述加密訊息文摘的一解密訊息文摘、比較上述第二訊息文摘與上述解密訊息文摘,以及當(dāng)上述第二訊息文摘不相同于上述解密訊息文摘時(shí),防止上述微處理器的操作。
[0014]再者,本發(fā)明提供另一種方法,用以保護(hù)一計(jì)算系統(tǒng)內(nèi)的一基本輸入輸出系統(tǒng)。儲(chǔ)存基本輸入輸出系統(tǒng)內(nèi)容以及一加密訊息文摘至一基本輸入輸出系統(tǒng)只讀存儲(chǔ)器,其中上述基本輸入輸出系統(tǒng)內(nèi)容是儲(chǔ)存為可讀文本,以及上述加密訊息文摘包括對(duì)應(yīng)于上述基本輸入輸出系統(tǒng)內(nèi)容的一第一訊息文摘的一加密版本。根據(jù)一處理器的重置,存取上述基本輸入輸出系統(tǒng)內(nèi)容以及上述加密訊息文摘,并使用用來產(chǎn)生上述第一訊息文摘與上述加密訊息文摘的相同演算法與密鑰來產(chǎn)生對(duì)應(yīng)于上述基本輸入輸出系統(tǒng)內(nèi)容的一第二訊息文摘以及對(duì)應(yīng)于上述加密訊息文摘的一解密訊息文摘。比較上述第二訊息文摘與上述解密訊息文摘。當(dāng)上述第二訊息文摘不相同于上述解密訊息文摘時(shí),防止上述微處理器的操作。
[0015]再者,本發(fā)明提供另一種設(shè)備,用以保護(hù)一計(jì)算系統(tǒng)內(nèi)的一基本輸入輸出系統(tǒng)。上述設(shè)備包括:一基本輸入輸出系統(tǒng)只讀存儲(chǔ)器,包括:基本輸入輸出系統(tǒng)內(nèi)容,其中上述基本輸入輸出系統(tǒng)內(nèi)容是儲(chǔ)存為可讀文本;以及一加密訊息文摘,其中上述加密訊息文摘包括對(duì)應(yīng)于上述基本輸入輸出系統(tǒng)內(nèi)容的一第一訊息文摘的一加密版本;一事件檢測(cè)器,用以產(chǎn)生一基本輸入輸出系統(tǒng)檢查中斷,以便根據(jù)一事件的發(fā)生而來中斷上述計(jì)算系統(tǒng)的正常操作;以及一竄改檢測(cè)器,耦接于上述基本輸入輸出系統(tǒng)只讀存儲(chǔ)器以及上述事件檢測(cè)器,用以回應(yīng)于上述基本輸入輸出系統(tǒng)檢查中斷而對(duì)上述基本輸入輸出系統(tǒng)內(nèi)容以及上述加密訊息文摘進(jìn)行存取、指示一微處理器使用用來產(chǎn)生上述第一訊息文摘與上述加密訊息文摘的相同演算法與密鑰來產(chǎn)生對(duì)應(yīng)于上述基本輸入輸出系統(tǒng)內(nèi)容的一第二訊息文摘以及對(duì)應(yīng)于上述加密訊息文摘的一解密訊息文摘、比較上述第二訊息文摘與上述解密訊息文摘,以及當(dāng)上述第二訊息文摘不相同于上述解密訊息文摘時(shí),防止上述微處理器的操作。
[0016]再者,本發(fā)明提供另一種方法,用以保護(hù)一計(jì)算系統(tǒng)內(nèi)的一基本輸入輸出系統(tǒng)。儲(chǔ)存基本輸入輸出系統(tǒng)內(nèi)容以及一加密訊息文摘至一基本輸入輸出系統(tǒng)只讀存儲(chǔ)器,其中上述基本輸入輸出系統(tǒng)內(nèi)容是儲(chǔ)存為可讀文本,以及上述加密訊息文摘包括對(duì)應(yīng)于上述基本輸入輸出系統(tǒng)內(nèi)容的一第一訊息文摘的一加密版本。根據(jù)一事件的發(fā)生,產(chǎn)生一基本輸入輸出系統(tǒng)檢查中斷,以便在一時(shí)間間隔中斷上述計(jì)算系統(tǒng)的正常操作?;貞?yīng)于上述基本輸入輸出系統(tǒng)檢查中斷,存取上述基本輸入輸出系統(tǒng)內(nèi)容以及上述加密訊息文摘,并使用用來產(chǎn)生上述第一訊息文摘與上述加密訊息文摘的相同演算法與密鑰來產(chǎn)生對(duì)應(yīng)于上述基本輸入輸出系統(tǒng)內(nèi)容的一第二訊息文摘以及對(duì)應(yīng)于上述加密訊息文摘的一解密訊息文摘。比較上述第二訊息文摘與上述解密訊息文摘。當(dāng)上述第二訊息文摘不相同于上述解密訊息文摘時(shí),防止一微處理器的操作。
【專利附圖】
【附圖說明】
[0017]圖1是顯示設(shè)置在現(xiàn)今計(jì)算系統(tǒng)的主機(jī)板的實(shí)體元件的方框圖;
[0018]圖2是顯示圖1中各元件相互連接的方框圖,用以說明計(jì)算系統(tǒng)如何配置基本輸入/輸出系統(tǒng);[0019]圖3是顯示根據(jù)本發(fā)明一實(shí)施例所述的架構(gòu)的方框圖,用以保護(hù)計(jì)算系統(tǒng)的基本輸入/輸出系統(tǒng);
[0020]圖4是顯示根據(jù)本發(fā)明一實(shí)施例所述的周期性架構(gòu)的方框圖,用以保護(hù)計(jì)算系統(tǒng)的基本輸入/輸出系統(tǒng);
[0021]圖5是顯示根據(jù)本發(fā)明一實(shí)施例所述的基于事件架構(gòu)的方框圖,用以保護(hù)計(jì)算系統(tǒng)的基本輸入/輸出系統(tǒng);
[0022]圖6是顯示根據(jù)本發(fā)明一實(shí)施例所述的基于驅(qū)動(dòng)架構(gòu)的方框圖,用以保護(hù)計(jì)算系統(tǒng)的基本輸入/輸出系統(tǒng);以及
[0023]圖7是顯示根據(jù)本發(fā)明一實(shí)施例所述的安全基本輸入/輸出系統(tǒng)竄改保護(hù)架構(gòu)的方框圖。
【具體實(shí)施方式】
[0024]為使本發(fā)明的上述和其他目的、特征、和優(yōu)點(diǎn)能更明顯易懂,下文特舉出較佳實(shí)施例,并結(jié)合附圖詳細(xì)說明如下。
[0025]本發(fā)明的示范以及說明的實(shí)施例描述如下。為了清楚起見,并非實(shí)際實(shí)施的所有特征都描述于此。對(duì)于本領(lǐng)域技術(shù)人員將會(huì)理解,在任何這種實(shí)際實(shí)施例的開發(fā),許多特定于實(shí)現(xiàn)的決策均達(dá)到特定目標(biāo),例如符合與系統(tǒng)相關(guān)以及商業(yè)相關(guān)的約束,可從一實(shí)施方式改變成另一實(shí)施方式。此外,將會(huì)理解,這種開發(fā)成果可能是復(fù)雜以及耗時(shí),但是對(duì)于具有本發(fā)明的優(yōu)勢(shì)的本領(lǐng)域的技術(shù)人員仍然是例行任務(wù)。對(duì)本領(lǐng)域技術(shù)人員而言,較佳實(shí)施例的各種修改是顯而易見的,且于此所定義的一般原理可以應(yīng)用到其他的實(shí)施例。因此,本發(fā)明并不旨在局限于所示以及本文所描述的具體實(shí)施例,而是應(yīng)被賦予最寬的范圍相一致的原則以及所揭示的本發(fā)明的新穎特征。
[0026]本發(fā)明將根據(jù)下列附圖來描述。描繪在附圖中的不同結(jié)構(gòu)、系統(tǒng)和裝置僅作為說明,并不會(huì)使得本領(lǐng)域的技術(shù)人員對(duì)本發(fā)明難以理解。不過,下列附圖是用來敘述與解釋本發(fā)明的示范例。使用在此的字與詞組應(yīng)該被了解和理解成有與本領(lǐng)域的技術(shù)人員所了解的字與詞組相一致的意義。用語或詞組沒有特別的定義,也就是,與平常的及本領(lǐng)域的技術(shù)人員所了解的慣例的意義不同的定義的意思是意味著在此使用一致的名稱或詞組。到了名稱或詞組意思是有特別意義的程度,也就是,意義與本領(lǐng)域的技術(shù)人員所了解的不同,這樣的特別定義將明確地列舉在直接地與明確地提供特別定義給該名稱或詞組的定義方式里的詳細(xì)說明中。
[0027]集成電路(Integrated Circuit, IC)是制造在一小塊半導(dǎo)體材料(通常是娃)內(nèi)的一組電子電路。集成電路也被稱為芯片、微芯片或晶粒(die)。
[0028]中央處理單元(Central Processing Unit,CPU)是執(zhí)行計(jì)算機(jī)程序(又稱為“計(jì)算機(jī)應(yīng)用”或是“應(yīng)用”)的指令的電子電路(例如“硬件”),其中電子電路是對(duì)數(shù)據(jù)執(zhí)行包括算術(shù)運(yùn)算、邏輯運(yùn)算以及輸入/輸出操作等運(yùn)算。
[0029]微處理器是作為在單一集成電路的中央處理單元的電子元件。微處理器會(huì)接收數(shù)字?jǐn)?shù)據(jù)以作為輸入、根據(jù)從一存儲(chǔ)器(無論是在芯片內(nèi)或芯片外)所讀取的指令來處理該數(shù)據(jù),以及產(chǎn)生由指令所規(guī)定的運(yùn)算結(jié)果來當(dāng)作輸出。通用的微處理器可以使用在桌上型計(jì)算機(jī)、移動(dòng)電話或是平板計(jì)算機(jī),并進(jìn)行如計(jì)算、文書編輯、多媒體顯示和瀏覽因特網(wǎng)的使用。微處理器亦可設(shè)置在嵌入式系統(tǒng),以控制各種各樣的裝置,包括設(shè)備、移動(dòng)電話、智能型手機(jī)和工業(yè)控制裝置。
[0030]多核心處理器又稱為多核心微處理器,多核心處理器是具有制造在單一集成電路的多個(gè)中央處理單元的微處理器。
[0031]指令集架構(gòu)(Instruction Set Architecture, ISA)或是指令集是關(guān)于編程的計(jì)算機(jī)架構(gòu)的一部分,包括數(shù)據(jù)類型、指令、寄存器、定址模式、存儲(chǔ)器架構(gòu)、中斷與異常管理以及輸入/輸出。指令集架構(gòu)包括由特定中央處理單元所實(shí)施的一組運(yùn)算碼(opcode,即機(jī)器語言指令)以及本機(jī)命令的規(guī)格。
[0032]x86-相容微處理器是能執(zhí)行計(jì)算機(jī)應(yīng)用的微處理器,其中該計(jì)算機(jī)應(yīng)用是根據(jù)x86指令集架構(gòu)所編程。
[0033]微碼(miCTocode)是多個(gè)微指令。微指令(又稱為“本機(jī)指令”)是由微處理器的子單元所執(zhí)行的一種指令。示范性的子單元包括整數(shù)單元、浮點(diǎn)(floating point)單元、MMX單元以及載入/儲(chǔ)存單元。例如,微指令可直接由精簡指令集計(jì)算機(jī)(reduced instructionset computer, RISC)微處理器所執(zhí)行。對(duì)復(fù)雜指令集計(jì)算機(jī)(complex instruction setcomputer, CISC)微處理器而言,例如x86_相容微處理器,x86指令會(huì)被轉(zhuǎn)譯(translate)成相關(guān)的微指令,以及相關(guān)的微指令是直接由CISC微處理器內(nèi)的一個(gè)子單元或多個(gè)子單元所執(zhí)行。
[0034]熔絲是一種導(dǎo)電架構(gòu),通常安排成細(xì)絲??山逵墒┘与妷河诩?xì)絲和/或流經(jīng)細(xì)絲的電流而在選定的位置來燒斷細(xì)絲??墒褂矛F(xiàn)有制造技術(shù)來設(shè)置熔絲于晶粒上,以便在全部可編程的區(qū)域來配置細(xì)絲。在制造之后,將熔絲架構(gòu)燒斷(或未燒斷),能提供設(shè)置在晶粒上的對(duì)應(yīng)元件所需要的程序化。
[0035]有鑒于現(xiàn)有技術(shù)中關(guān)于在可信任的計(jì)算系統(tǒng)中保護(hù)關(guān)鍵程序以及數(shù)據(jù),以及現(xiàn)今系統(tǒng)中的技術(shù)來檢測(cè)和/或防止對(duì)這些程序與數(shù)據(jù)進(jìn)行竄改,下面圖1-圖2將描述現(xiàn)今系統(tǒng)中的BIOS。隨后,本發(fā)明將描述于圖3-圖7中。
[0036]參考圖1,方框圖100是顯示設(shè)置在現(xiàn)今計(jì)算系統(tǒng)的主機(jī)板102 (又稱為系統(tǒng)板)的實(shí)體元件。主機(jī)板102的元件包括微處理器104 (又稱為中央處理單元、處理器、處理器芯片等)、易失性存儲(chǔ)器106 (又稱為隨機(jī)存取存儲(chǔ)器,RAM)、芯片組108 (又稱為存儲(chǔ)器控制器、存儲(chǔ)器集線器、輸入/輸出集線器或橋芯片(例如北橋或是南僑))、通常被插入至插座112的基本輸入輸出系統(tǒng)(basic input/output system, BIOS)只讀存儲(chǔ)器(read onlymemory, ROM) 110以及硬盤接口 114。主機(jī)板102通常跟完成特定計(jì)算機(jī)配置所需的其他元件(例如電源供應(yīng)器)被安裝在計(jì)算機(jī)機(jī)殼內(nèi)(例如桌上型計(jì)算機(jī)或筆記型計(jì)算機(jī)機(jī)殼、移動(dòng)電話機(jī)殼、平板計(jì)算機(jī)機(jī)殼、機(jī)上盒機(jī)殼)。如本領(lǐng)域的技術(shù)人員所知,還有許多額外的元件和零件(例如時(shí)鐘產(chǎn)生器、風(fēng)扇、連接器、圖形處理器等)被安裝在主機(jī)板102上,而為了簡化描述,這些額外的元件和零件將不顯示。此外,圖1所顯示的元件104、106、114、108、110與112可以不同形式被設(shè)置在主機(jī)板102上,且值得注意的是,所顯示的元件104、106、114,108,110與112是參照他們所公認(rèn)的名稱。在此實(shí)施例中,微處理器104是經(jīng)由主機(jī)板102板上的實(shí)體接口(未顯示)而耦接于元件106、114、108、110與112,通常為金屬走線(trace)。值得注意的是,由于BIOS只讀存儲(chǔ)器110在工廠和/或領(lǐng)域中容易遭受到相當(dāng)頻繁的更換,因此將插座112設(shè)置在主機(jī)板102上。[0037]參考圖2,方框圖200是顯示圖1的元件104、106、114、108、110與112相互連接的示意圖,用以說明計(jì)算系統(tǒng)如何配置基本輸入/輸出系統(tǒng)(Basic Input/Output System,BIOS)。方框圖200是顯示微處理器204,其中微處理器204包括芯片內(nèi)(on-chip)高速快取存儲(chǔ)器230。微處理器204是經(jīng)由存儲(chǔ)器總線216而耦接于低速隨機(jī)存取存儲(chǔ)器206。微處理器204亦經(jīng)由系統(tǒng)總線218耦接于芯片組208,以及芯片組208分別經(jīng)由硬盤接口總線224以及只讀存儲(chǔ)器總線220而耦接于硬盤接口 214以及BIOS只讀存儲(chǔ)器(ROM) 210。BIOS只讀存儲(chǔ)器210可經(jīng)由BIOS編程總線222而耦接至可選的BIOS編程接口(未顯示)。如本領(lǐng)域的技術(shù)人員所知,圖2所顯示的配置的變化可包括芯片組208,其亦提供了接口通過系統(tǒng)總線218而到隨機(jī)存取存儲(chǔ)器206,而不是直接存儲(chǔ)器總線216,并可提供其他類型的總線(未顯示),用于連接微處理器204到其他類型的周邊接口(例如快速周邊組件互連(PCI Express)、圖形處理器)。
[0038]在操作上,如本領(lǐng)域的技術(shù)人員所知,應(yīng)用程序234 (例如微軟
(MICROSOFT?)、WORD? )是儲(chǔ)存在硬盤(或是固態(tài)盤)上(未顯示),其經(jīng)由硬盤接口
214所存取。因?yàn)橛脖P是一個(gè)比較緩慢的裝置,應(yīng)用程序234在被執(zhí)行之前,通常會(huì)被傳送到外部的隨機(jī)存取存儲(chǔ)器206。然后,部分的應(yīng)用程序234會(huì)被快取以供微處理器204在其內(nèi)部的快取存儲(chǔ)器230內(nèi)執(zhí)行。當(dāng)應(yīng)用程序234的指令要求微處理器204來執(zhí)行系統(tǒng)層級(jí)的操作(例如儲(chǔ)存文件至硬盤)時(shí),來自操作系統(tǒng)軟件232的指令(例如儲(chǔ)存要求)會(huì)被微處理器204所執(zhí)行,其中來自操作系統(tǒng)軟件232的指令亦被從硬盤載入至隨機(jī)存取存儲(chǔ)器206并快取存入內(nèi)部的快取存儲(chǔ)器230。操作系統(tǒng)軟件232提供了一種更通用的接口,能致能應(yīng)用程序234來執(zhí)行系統(tǒng)層級(jí)的功能,而不需要特定已知的系統(tǒng)設(shè)定。操作系統(tǒng)軟件232亦考慮到微處理器204會(huì)同時(shí)執(zhí)行多個(gè)應(yīng)用程序234,并且還執(zhí)行背景操作以有效管理隨機(jī)存取存儲(chǔ)器206的使用。
[0039]然而,操作系統(tǒng)232事實(shí)上是在現(xiàn)今計(jì)算系統(tǒng)中軟件的中間層級(jí)。為了實(shí)際連接至計(jì)算系統(tǒng)的硬件(例如硬盤),操作系統(tǒng)232必須執(zhí)行儲(chǔ)存在BIOS只讀存儲(chǔ)器210內(nèi)的B10S236的指令。B10S236通常為許多的小程序,其是作為計(jì)算系統(tǒng)的最低層級(jí)的軟件,并用以連接操作系統(tǒng)232至計(jì)算系統(tǒng)的硬件。相似于操作系統(tǒng)232,B10S236會(huì)提供通用接口給計(jì)算機(jī)硬件,以允許操作系統(tǒng)232能存取硬件而不需要特定的接口設(shè)計(jì)。B10S236可使系統(tǒng)設(shè)計(jì)者能改變計(jì)算系統(tǒng)的硬件(例如硬盤、芯片組208、隨機(jī)存取存儲(chǔ)器206),而不需要變更到操作系統(tǒng)232或是應(yīng)用程序234。然而,當(dāng)系統(tǒng)設(shè)定改變時(shí),B10S236必須被更新,而這就是為什么插座112和/或BIOS編程總線222必須設(shè)置在主機(jī)板102,其將使得BIOS只讀存儲(chǔ)器210能容易被更換或是重新被編程。在一些系統(tǒng)設(shè)定中,可經(jīng)由BIOS只讀存儲(chǔ)器總線220直接重新編程BIOS只讀存儲(chǔ)器210。因此,為了對(duì)B10S236進(jìn)行變更,幾乎全部現(xiàn)今的計(jì)算系統(tǒng)都有提供上面的架構(gòu)。BIOS只讀存儲(chǔ)器210是一個(gè)獨(dú)立的元件,以便容易進(jìn)行重新編程或是更換。
[0040]在全部的計(jì)算系統(tǒng)設(shè)定中,B10S236是非常必要的特性,因?yàn)槠渲噶羁梢灾履軕?yīng)用程序234以及操作系統(tǒng)232來直接連接硬件。除了能提供連接至系統(tǒng)硬件之外,B10S236會(huì)執(zhí)行其他一些系統(tǒng)上必要的正常功能。例如,當(dāng)系統(tǒng)開機(jī)后,B10S236內(nèi)的開機(jī)自我檢測(cè)程序(power-on self test, POST)會(huì)被執(zhí)行,以便進(jìn)行硬件測(cè)試,并對(duì)系統(tǒng)的正確設(shè)定以及運(yùn)行進(jìn)行驗(yàn)證。B10S236亦包括程序能識(shí)別并指派系統(tǒng)資源給新安裝的裝置。B10S236還包括程序能從硬盤下載操作系統(tǒng)232至隨機(jī)存取存儲(chǔ)器206,并將系統(tǒng)控制傳送給操作系統(tǒng)232。最后,BIOS236包括程序能檢測(cè)以及防止計(jì)算系統(tǒng)的篡改(tampering)。
[0041]由于B10S236在計(jì)算系統(tǒng)的安全性以及操作上是重要的,因此常常成為被非法侵入(hack)以及以其他未經(jīng)授權(quán)的形式進(jìn)行篡改的一個(gè)主要目標(biāo)。例如,許多眾所皆知的操作系統(tǒng)具有由設(shè)備制造商根據(jù)計(jì)算系統(tǒng)內(nèi)的B10S236所給定的規(guī)定,因此允許制造商能販賣具有預(yù)先安裝的操作系統(tǒng)的計(jì)算系統(tǒng)。通常,制造商會(huì)將標(biāo)記(或“記號(hào)”)編程到B10S236的特定位置,以及當(dāng)操作系統(tǒng)開機(jī)時(shí),會(huì)從B10S236的特定位置讀取出標(biāo)記,以確認(rèn)是在授權(quán)的系統(tǒng)上被開機(jī)。如果標(biāo)記不存在或是不正確,則操作系統(tǒng)將無法開機(jī)。
[0042]上面的例子是編程現(xiàn)今B10S236的許多不同類型的安全特性之一,且提供了 BIOS安全功能的深入討論。要注意的是,對(duì)系統(tǒng)設(shè)計(jì)者來說,系統(tǒng)上B10S236是篡改的主要目標(biāo),因此B10S236的保護(hù)是主要關(guān)心的事項(xiàng)。在上面的例子中,黑客編輯(或重新編程)B10S236的目的是為了將計(jì)算系統(tǒng)呈現(xiàn)為授權(quán)系統(tǒng)給受保護(hù)的操作系統(tǒng),或是修改BIOS,使得操作系統(tǒng)認(rèn)為其是在授權(quán)系統(tǒng)上運(yùn)作,然而實(shí)際上并不是。
[0043]如先前所描述,大多數(shù)現(xiàn)今的BIOS只讀存儲(chǔ)器110為主機(jī)板102上的單獨(dú)元件,且被安裝在插座112,以便在當(dāng)系統(tǒng)硬件改變而需要變更B10S236時(shí)能方便進(jìn)行更換。因此,在缺少其他安全架構(gòu)的情況下,像先前所描述的非法侵入是有可能。
[0044]因此,系統(tǒng)設(shè)計(jì)人員已經(jīng)開發(fā)出許多不同的技術(shù)來對(duì)系統(tǒng)以及運(yùn)作在系統(tǒng)上的應(yīng)用程序234和/或操作系統(tǒng)232進(jìn)行檢測(cè)并防止竄改(tamper)。例如,在美國專利
【發(fā)明者】G.G.亨利 申請(qǐng)人:威盛電子股份有限公司