專利名稱:Bios保護裝置的制作方法
技術領域:
本發明總地涉及與游戲機中的軟件相關的安全,并且具體而言本發明提供一種在機器啟動前驗證BIOS Rom的方法。
背景技術:
美國專利No US 5,643,086說明了一種使游戲機安全以便使大容量存儲上的未批準的軟件將不被執行的方法。負責引導系統的BIOS芯片檢查其從硬盤(或其他裝置)裝載的軟件的加密數字簽名,并且僅當其有效時才執行軟件。有可能通過修改BIOS中的軟件以消除數字簽名檢查而篡改該系統。如果仔細檢查游戲機則能檢測出此修改,然而這沒有在現有技術文檔中提出。
典型地,游戲規則需要插入BIOS芯片,從而,規則器(regulator)能夠容易地驗證存儲器的內容,并檢測此種非法篡改。然而,這使非法修改BIOS非常容易。
用戶硬件的使用可施加保護以免于此種BIOS修改,但阻止工業標準硬件如PC的使用。例如智能卡能容易地實施安全程序存儲器。
微軟的X-BOX游戲控制臺基于帶有一些修改的標準PC技術。安全機制之一是從嵌入在用戶化的圖形控制器中的小ROM引導CPU,然后,該圖形控制器負責鑒權其余的BIOS軟件。然后BIOS為剩下的裝載過程繼續提供安全。篡改用戶圖形芯片中的代碼是不可行的,并且因而在理論上提供了高的安全水平,然而,將PC架構如此重要的部分用戶化是很困難并且昂貴的。
針對“Video computer System”(一種家庭游戲控制臺)而授予Atari的美國專利No 4,862,156說明了一種安全系統,其中,對控制臺游戲執行數字簽名鑒權。如果檢查失敗,則禁止控制臺的功能的一部分。僅當鑒權通過時,才使能完全的功能。
美國專利No 6,071,190說明了一種脫離游戲機而改善安全并且驗證其中存儲的程序的方法。該安全依賴于BIOS的安全。
美國專利申請No 20030064771“Reconfigurable Gaming Machine”說明了一種游戲機,其中安全也依賴于BIOS。美國專利No 5,802,592“System and Method for Protecting Integrity of Alterable ROM usingDigital Signature”說明了一種系統,其中,將BIOS分成可變和不可變部分。CPU首先執行不可變BIOS,其對可變部分進行鑒權。此系統施加保護以免于可變BIOS中被篡改的軟件,但不能免于對不可變BIOS的修改(例如如果其在物理上更換)。
美國專利No 5,844,986“Secure BIOS”說明了一種系統,其中,加密地控制BIOS的更新,從而,只有可信的更新可寫入BIOS存儲器。
美國專利No 6,488,581說明了用于通過過濾出到大容量存儲裝置(如盤驅動器)的未授權的命令來保護該裝置免于修改的裝置。
美國政府標準FIPS 140-1“Security requirements for Cryptographicmodules”在節“4.11.1 Power-Up Tests”中說明了軟件/固件測試,其中,在上電時駐留于加密模塊中的軟件/固件被加密地鑒權。在游戲機中使用了同樣的技術(如美國專利No 5,643,086),但因加密模塊的物理安全而更安全,即,在物理上不可能篡改引導程序。
這些現有技術設置中的每個都依賴于BIOS的安全或者使用與標準PC硬件配置不兼容的非標準硬件配置。
Intel公司的美國專利No 6,401,208“Method for BIOS authenticationprior to BIOS execution”說明了一種BIOS保護的方法,其導致與本發明的設置類似的結果,然而,實現此結果的方法相當的不同,并且與現在提出的相比,更為復雜。Intel的建議依賴于專門的經修改的主板芯片組以及處理器,該處理器采用操作碼(op-code)仿真位來允許將數據提取偽裝成指令提取。此方法可能不能或至少不能以合理的成本由較小的專門應用開發者使用。
可信計算平臺聯盟(TCPA)是計算行業中提倡對PC的新硬件/軟件擴展以實現更安全的計算和數字權限管理(DRM)的公司群體。TCPA使外部計算機能確定PC的確切軟件配置。不要求PC必須引導特定軟件,只要求其的確引導的軟件可外部確定。盡管對網絡連接的DRM是理想的,因為其讓內容提供者只允許下載至恰當配置的機器,但其對于從不應允許執行未批準軟件并甚至常常不連接到網絡的游戲機并不夠。此外,TCPA的安全部分地依賴于BIOS抗篡改的安全性,并且這在當前PC標準中是不安全的。保護BIOS免于篡改將需要更廣泛的對PC架構標準的改變。(“Trusted Computing Platforms TCPA Technology In Context”,ISBN0-13-009220-7)貫穿本說明書,“包括(comprise)”一詞或其變化如“包括(comprises)”或“包括(comprising)”應理解為暗示包含所指定的元素、整體或步驟,或元素、整體或步驟的組,但不排除任何其它元素、整體或步驟,或元素、整體或步驟的組。
本說明書中包括的任何文檔、動作、材料、裝置、物件等的討論僅以為本發明提供上下文為目的。其不應視為承認任何或全部這些事物形成現有技術基礎的一部分,或者由于其在本申請的每個權利要求的優先權日期之前存在而承認這些任何或全部事物是本發明涉及的領域中的公知常識。
發明內容
根據第一方面,本發明提供一種處理系統,包括通過地址和數據路徑互連的中央處理器,BIOS存儲器裝置和BIOS保護裝置,其中,在啟動時,BIOS保護裝置取得對存儲器地址和數據路徑的控制,并防止存儲在BIOS存儲器裝置中的引導程序的執行,直到BIOS保護裝置已驗證存儲在BIOS存儲器裝置中的引導程序是可信的。
根據第二方面,本發明提供一種鑒權保持在處理系統的BIOS存儲器裝置中的引導程序的方法,所述處理系統包括通過地址和數據路徑互連的中央處理器、BIOS存儲器裝置和BIOS保護裝置,所述方法包括步驟1)在啟動時,BIOS保護裝置暫時防止由中央處理器執行引導程序;2)BIOS保護裝置取得對地址和數據路徑的控制;3)BIOS保護裝置詢問BIOS存儲器裝置的內容,以確認內容是否被鑒權;4)如果BIOS存儲器裝置的內容不可信,則BIOS保護裝置繼續防止引導程序的執行,并防止中央處理器的進一步操作;以及5)如果BIOS存儲器裝置的內容是可信的,則BIOS保護裝置放棄對地址和數據路徑的控制,并允許中央處理器執行BIOS存儲器裝置中的引導程序。
根據第三方面,本發明提供一種BIOS保護裝置,用于在中央處理器和包含引導程序的BIOS存儲器裝置之間連接到處理系統,BIOS保護裝置包括地址和數據路徑接口連接裝置,和鑒權處理器,由此,當功率施加到BIOS保護裝置時,BIOS保護裝置取得對其連接到的地址和數據路徑的控制,并且鑒權處理器詢問連接到地址和數據路徑的BIOS存儲器裝置以確定BIOS存儲器裝置中包含的引導程序是否可信,并且僅當確定引導程序可信時,BIOS保護裝置釋放對地址和數據路徑的控制以允許中央處理器執行引導程序。
在本發明的各個實施例中,依賴于主板上使用的其它組件,可使用不同的地址和數據路徑接口,包括串行接口、全非復用總線、IntelTM低管腳計數(LPC)總線結構和各種中間解決方案。主板可使用標準PC架構或者可為非PC配置。
優選地,BIOS裝置包括位于BIOS存儲器裝置中的已知位置的加密數字簽名,并且BIOS保護裝置計算簽名的值(根據BIOS數據和內部公鑰),以及詢問BIOS以驗證正確的簽名存在并且對應于存儲在BIOS裝置中的引導程序(或其一部分)。
在一個實施例中,BIOS保護裝置還包含內部存儲器裝置,并且當鑒權BIOS內容時,BIOS保護裝置將BIOS存儲器裝置的內容的一部分拷貝到內部存儲器裝置,并隨后當中央處理器試圖訪問BIOS存儲器裝置內容的拷貝的部分時,控制地址和數據路徑繞過BIOS裝置。
優選地,主板的至少一個信號線由BIOS保護裝置中斷,從而,如果BIOS保護裝置不存在,則主板不起作用。在本發明的一個優選實施例中,在BIOS保護裝置中提供復位控制電路,從而,如果BIOS保護裝置不存在,則該板不能退出復位狀態。
也是優選地,當執行BIOS的鑒權時,BIOS保護裝置將在復位(或禁止)狀態保持復位信號。當鑒權成功時,BIOS保護裝置釋放復位信號,從而允許中央處理器開始操作。在一個替選實施例中,當鑒權BIOS存儲器裝置時,BIOS保護裝置插入等待周期以禁止中央處理器。
現將通過實例參照
本發明的實施例,其中圖1是無BIOS保護的標準PC的框圖;圖2是根據本發明的一個實施例的帶有BIOS保護的PC的框圖;圖3是在“標準PC”中的根據本發明的一個實施例的BIOS保護裝置的框圖;
圖4是在帶有LPC BIOS裝置的本發明的標準PC實施例中使用的保護裝置的框圖;圖5是在帶有EPROM BIOS裝置的本發明的標準PC實施例中使用的保護裝置的框圖;圖6是在非PC平臺中的根據本發明的一個實施例的BIOS保護裝置的框圖;圖7是在本發明的非PC實施例中使用的用于EPROM的保護裝置的框圖;圖8是根據本發明的一個實施例的帶有完全保護的存儲的EPROMBIOS保護裝置的框圖;圖9是根據本發明的一個實施例的帶有部分保護的存儲的EPROMBIOS保護裝置的框圖;以及圖10是在帶有非復用地址/數據總線的非PC平臺中的根據本發明的一個實施例的BIOS保護裝置的框圖。
具體實施例方式
近期,不太可能將游戲應用和其他敏感應用所需要的類型的BIOS的安全構建到PC標準中,因為在大多數應用中沒有對它的真正需要。因而,得到此安全水平的僅有的方式是將PC標準用戶化,而下述本發明的實施例以相對不貴的方式實現了此安全水平。
PC并不是為安全而設計的,并且抗BIOS修改的安全性不是主流PC市場所關注的。在本發明以前,結合這種水平的安全的僅有方式是通過將其直接結合到構成PC的芯片中,如對微軟X-BOX所做的。對于一個小的行業用戶,影響PC行業來將BIOS安全結合到PC標準中,或在修改現有PC標準芯片上花錢是不可行的。
以下參照游戲機說明本發明的實施例,然而,在需要較高安全水平但使用標準商業設計的其它領域中,實施例也是有用的。一個實例可以是銀行業中使用的ATM機。它在實施TCPA時也是有用的,無需對PC架構標準做顯著修改,。
參照附圖的圖2至圖10,本發明的實施例通過使用對其余硬件的正常操作透明的裝置來在處理器中提供BIOS保護,使得能夠使用標準硬件組件。它可容易地構建到標準PC主板中,并且提供高安全水平。
圖1示出標準PC架構,其采用一般使用的標準PC主板芯片組(Intel845G芯片組),該芯片組包括兩個芯片,圖形和存儲器控制器集線器(GMCH)12以及I/O控制器集線器(ICH4)14。BIOS 18經由ICH4使用Intel標準低管腳計數(LPC)接口16來對接。此種BIOS芯片之一是STMicroelectronics M50FW040。圖1中,處理器是奔騰4 CPU 11,其經由GMCH 12對接到系統的其余部分。與ICH4,14一樣,存儲器13也連接到GMCH。
參照圖2,在本發明的一個優選的實施中,BIOS保護裝置17提供在標準PC硬件配置(即圖1的配置)中,BIOS保護裝置是插入在I/O控制器14和BIOS存儲器裝置18之間的集成電路。此設置在圖3中更詳細地示出,其中可見,LPC接口可在ICH4 14、BIOS保護裝置17和BIOS 18之間使用。對ICH4 14,BIOS保護裝置17看起來如同它是BIOS裝置,而對BIOS 18,BIOS保護裝置17看起來如同它是ICH4裝置。
參見圖4,LPC接口16采用I/O控制器集線器14和BIOS存儲器裝置18之間的復用地址和數據線。內部(PC側)LPC總線24上的地址和數據信息傳到BIOS保護裝置17內的LPC復用器22的“A”輸入,并依賴于復用器22的狀態而傳到內部(BIOS側)LPC總線25。LPC復用器22是雙向開關,其依賴于A/B輸入的狀態提供‘輸入’‘A’和‘B’之一和‘輸出’之間的用于復用地址和數據的雙向連接,A/B輸入的狀態在此情況中由復位線23控制。LPC復用器22的‘B輸入’由另外的內部LPC總線26連接到鑒權器21。鑒權器21包含用于主板的復位電路,并且在鑒權發生時將主板保持在復位狀態。
上電之后,保護裝置進入驗證BIOS的內容的驗證模式。當在驗證模式中,在BIOS被詢問時,保護裝置中的鑒權器21確立(assert)復位線23以將主板的其余部分保持在復位,并在鑒權失敗的情況下提供增強的安全性。替選的,為防止故障,替代使用復位功能,保護裝置可將等待周期插入到外部BIOS訪問中,直到鑒權成功完成。當處于復位時,復用器電路22將來自鑒權器的地址路由到輸出并因此路由到BIOS 18,從而允許鑒權器從LPC總線16/25讀取BIOS的內容。在鑒權已成功且復位被取反之后,復用器將來自ICH4 14的地址路由到BIOS 18,從而允許CPU 11讀取BIOS 18。使用的外部電路將與圖3示出的電路類似,其中,現有電路使用ICH4裝置。
在正常操作中,在BIOS已被成功鑒權以后,保護裝置對標準ICH4和BIOS裝置的操作是透明的,并且對主板的功能沒有影響。然后,可使用標準軟件驗證技術來對在處理器上運行的應用軟件提供進一步的保護。
為鑒權BIOS,BIOS保護裝置17讀取BIOS芯片18的內容,并對照在已知位置嵌入BIOS中的加密數字簽名來驗證內容有效。簽名的公鑰存儲在BIOS保護裝置17的鑒權器21中,在這里它不能被篡改。如果BIOS被成功鑒權,則BIOS保護裝置移到其透明操作模式并釋放復位,并且使能在保護裝置中提供的任何額外的功能。如果鑒權失敗,BIOS保護裝置進入錯誤模式,其中,對BIOS的訪問被禁止,系統保持在復位,并且保護芯片的任何額外功能被禁止。
因此,甚至在容易訪問和修改BIOS的內容的物理設置中,也保持了安全性。
上述設置允許容易地增強工業標準設計以支持強得多的抗篡改的安全水平。單個安全裝置可用于保護多個不同的板,僅需要板的存儲器接口得到支持。
對于上述設置,盡管仍有可能通過以沒有保護的替代電路來替換保護裝置來篡改BIOS,但與對于現有系統可能的簡單移除插入的BIOS裝置相比,這困難得多。
保護裝置可結合板的另外的不相關的功能,從而,即使將其移除,也將難以復制其功能。優選地,這些功能對于板的操作將是必要的,并且如果BIOS驗證失敗則被禁止。因而,保護裝置不能容易地由無保護特征的簡單電路替代,因為這將需要必須也復制額外的功能。在一個簡單實例中,用于板的復位控制電路實施在保護裝置中,且任何替代裝置將必須復制用于主板操作的復位功能。
為使篡改更難,保護裝置應直接焊到電路板上,從而難以移除。盡管當其焊上時移除是可能的,但相對耗費時間,并且有破壞板的風險,并且因此是昂貴的和/或增加了被檢測到的機會。
參照圖5,保護裝置可從一個BIOS硬件接口轉換到另一個。這本身可能是一個有用的功能,允許使用與標準的不相同的存儲器裝置。例如,在游戲應用中使用PC,可能優選的是,使用PC芯片組,如帶有LPC BIOS接口16的Intel 845G,以及用于BIOS芯片18的DIP封裝中的EPROM。EPROM具有物理上較易處理和不能在電路中被重新編程的優點(在游戲應用中)。這也增強了安全性,因為如果要移除保護裝置,它是必須被替換的重要功能。為將其實現,保護裝置17將包括總線轉換器28,其復用/去復用內部LPC總線25以建立載運地址和數據信號到BIOS裝置18和自BIOS裝置載運地址和數據信號的分離的地址總線27和數據總線29。
在另一實例中,游戲機如Aristocrat Technologies Mk6產品使用EPROM來存儲游戲。參照圖6,保護裝置32可在CPU和EPROM 33之間實施,并且在透明模式中,對于CPU,保護裝置將呈現為到EPROM的直接接口。此外,Mk6產品使用現場可編程門陣列(FPGA)來將CPU總線和EPROM對接,并且(以對板的微小的修改)保護裝置可集成到FPGA中。此FPGA控制主板功能的大部分,并且將很難替換。
圖3示出通過保護裝置的整個BIOS存儲器接口。假如在復位時(當需要保護裝置對信號進行驅動時)標準存儲器接口未被驅動,則還可能簡單地將保護裝置分接到大多數信號上。可較便宜地實施降低了管腳計數的保護裝置。如果沒有一個信號由保護裝置17中斷,則可將保護裝置17簡單地移除而留下起作用的但不受保護的電路。因此,至少一個信號應由保護裝置17中斷,但在一些實施中,可能不必中斷所有信號以提供足夠的安全水平。圖6的電路示出一種折衷,其中,EPROM地址和控制信號34、35由保護裝置32中斷于I/O控制器31的BIOS接口37之間,而數據信號36和BIOS裝置33則不然。復位信號38再次優選地由保護裝置32產生。典型地,這將在保護裝置上節約8或16個管腳,但仍然是安全的。數據線36仍必須連接到保護裝置32以使得能夠讀取BIOS存儲器33和驗證簽名。
參照圖7的框圖,圖示出圖6中使用的類型的基于EPROM的BIOS(具有分離的地址和數據線)的簡單實施。保護裝置包括鑒權器41、地址復用器42以及任選的額外功能43。鑒權器41控制保護裝置31的模式,并執行(圖6的)BIOS 33的內容的加密鑒權。復位信號38也由鑒權器41產生。
在游戲應用中,調節器經常要求存儲器裝置不能在游戲產品中被更新,但很多現代系統能夠將BIOS電子更新。保護裝置17、32不需要影響BIOS固件更新的操作,但如果需要,可通過將保護裝置17、41設置成不將更新傳到BIOS 18、33而容易地禁止固件更新。
受保護的程序存儲對由上述類型的保護裝置提供的安全的一種可能的攻擊是提供具有兩個BIOS的外部電路,一個是可信的原始版本,一個是被篡改的版本。當保護裝置17、41鑒權BIOS(并且板保持在復位)時,將可信的BIOS使能到電路中,而當板不復位時,替代地使能篡改的版本。因而,保護裝置鑒權一個裝置,而CPU執行另一個。盡管這樣的攻擊將難以不被檢測到地執行,但理論上是可能的。
參照圖8,增強的保護裝置51結合了內部程序存儲存儲器(internalprogram storage memory),稱為受保護的程序存儲52,在其被鑒權時,將BIOS數據拷貝到其中。一旦被成功地鑒權,對BIOS存儲器的已鑒權區域的所有CPU訪問是訪問受保護程序存儲52中的拷貝,而不是BIOS芯片18、33。因而,將一個可信的BIOS芯片與另一個交換將不影響安全性。
板通過確立RESET信號38來保持在復位,而鑒權器41通過確立OE OUT信號39和經由DATA_IN總線36讀取數據來讀取BIOS EPROM18、33,而同時將讀取的EPROM數據寫到受保護的程序存儲存儲器52。當復位信號38被確立時,地址復用器42選擇輸出來自鑒權器41的地址34a,從而允許鑒權器42讀取BIOS裝置18、33,而當復位信號38被取反時,復用器42選擇來自主CPU 11的地址34,從而允許CPU讀取BIOS18、33。一旦鑒權器41已成功地鑒權BIOS數據,RESET信號38被取反以使能CPU 11的正常操作。到CPU 11的數據出36b通過由來自CPU11的OE_IN信號56使能的三態緩沖器57,而因為所有對BIOS 18、33的讀取經由保護裝置51而發起,OE_OUT信號39總是由鑒權器41產生。
理想地,BIOS 18、33的全部內容將被鑒權并且存儲在內部存儲器52中,然而,BIOS芯片容量相當大,并且可能復制是昂貴的。為節約成本,可以由BIOS保護裝置51鑒權BIOS的子集,并且BIOS的已鑒權部分中的軟件在由CPU 11執行時,負責使用加密數字簽名來鑒權BIOS的其余部分。被鑒權的子集足以鑒權其余的BIOS并將其裝載到計算機主存儲器中,然后從該主存儲器來執行它。
參照圖9,示出了保護裝置,其中,受保護的程序存儲52與外部BIOS裝置18、33相比具有較小的存儲器容量。此裝置的操作與圖8的相類似,其中增加了CPU地址比較器(受保護的訪問檢測器)53和數據復用器(MUX)54。在此實施中,BIOS裝置18、33的僅一部分被鑒權,并且此部分被讀取到受保護的程序存儲52中,如前面所述。如由受保護的訪問檢測器53所確定的,當CPU試圖在已鑒權的范圍內的地址讀取BIOS時,如由數據復用器54所選的,數據36a從受保護的程序存儲52返回到CPU。如由受保護的訪問檢測器53所確定的,當CPU 11在已鑒權的范圍以外的地址讀取BIOS時,如由數據復用器54所選的,數據36從外部BIOS裝置18、33返回到CPU 11。到CPU 11的數據出36b再次通過由來自CPU 11的OE_IN信號56使能的三態緩沖器57,然而,在該情況下,通過在AND門58中選通來自鑒權器41的OE信號56a與來自CPU的OE_IN信號56來產生OE_OUT信號39,使得僅當由鑒權器41允許時(即當需要讀取非拷貝內容時)才使能BIOS 18、33。
在成功鑒權之前,可將到CPU的數據總線禁止以使得更難以篡改電路。數據總線不必是三態的,因為與篡改三態總線相比,篡改受驅動數據模式更困難。
圖10示出當使用圖8或9的保護裝置51時所需要的對圖6的電路的改變。
本領域技術人員應當理解,對于如特定實施例中所示出的本發明可作出大量變化和/或修改而不脫離如所廣泛說明的本發明的精神和范圍。因此,當前的實施例從各方面考慮都應為說明性的而非限制性的。
權利要求
1.一種處理系統,包括通過地址和數據路徑互連的中央處理器、BIOS存儲器裝置和BIOS保護裝置,其中,在啟動時,所述BIOS保護裝置取得對所述存儲器地址和數據路徑的控制,并防止存儲在所述BIOS存儲器裝置中的引導程序的執行,直到所述BIOS保護裝置已驗證存儲在所述BIOS存儲器裝置中的所述引導程序是可信的。
2.如權利要求1所述的系統,其中所述BIOS保護裝置在中央處理器和所述BIOS存儲器裝置之間連接到所述處理系統,所述BIOS保護裝置包括地址和數據路徑接口連接裝置,以及鑒權處理器,由此,當功率施加到所述BIOS保護裝置時,所述BIOS保護裝置取得對其連接到的地址和數據路徑的控制,并且所述鑒權處理器詢問連接到所述地址和數據路徑的所述BIOS存儲器裝置以確定所述BIOS存儲器裝置中包含的所述引導程序是否可信,并且僅當確定所述引導程序可信時,所述BIOS保護裝置釋放對所述地址和數據路徑的控制以允許所述中央處理器執行所述引導程序。
3.如權利要求2所述的系統,其中所述地址和數據路徑接口包括串行接口、全非復用總線和IntelTM低管腳計數(LPC)總線結構中的一個。
4.如權利要求2所述的系統,其中所述地址和數據路徑接口包括IntelTM低管腳計數(LPC)總線結構。
5.如權利要求1、2、3或4所述的系統,其中所述BIOS存儲器裝置包括位于所述BIOS存儲器裝置中的已知位置的加密數字簽名。
6.如權利要求5所述的系統,其中所述BIOS保護裝置根據所述BIOS存儲器裝置的內容和內部公鑰來計算所述加密數字簽名的值,并且詢問所述BIOS存儲器裝置以驗證正確的簽名存在并對應于存儲在所述BIOS存儲器裝置中的所述引導程序,或其一部分。
7.如權利要求1至6中的任一項所述的系統,其中所述BIOS保護裝置還包括內部存儲器裝置,并且,當鑒權BIOS內容時,所述BIOS保護裝置將所述BIOS存儲器裝置內容的至少部分拷貝到所述內部存儲器裝置,并隨后當所述中央處理器試圖訪問所述BIOS存儲器裝置內容的拷貝部分時,控制所述地址和數據路徑繞過所述BIOS裝置而與所述內部存儲器裝置通信。
8.如權利要求1至7中的任一項所述的系統,其中所述中央處理器、所述BIOS存儲器裝置和所述BIOS保護裝置安裝在主板上,在所述主板上,所述主板的至少一個信號線由所述BIOS保護裝置中斷,從而,如果所述BIOS保護裝置不存在,則所述主板不起作用。
9.如權利要求8所述的系統,其中在所述BIOS保護裝置中提供復位控制電路,從而,如果所述BIOS保護裝置不存在,則所述主板不能退出復位狀態。
10.如權利要求9所述的系統,其中當執行所述BIOS的鑒權時,所述BIOS保護裝置將在復位(或禁止)狀態保持復位信號。
11.如權利要求10所述的系統,其中當所述鑒權成功時,所述BIOS保護裝置釋放所述復位信號,從而允許所述中央處理器開始操作。
12.如權利要求1至8中的任一項所述的系統,其中當鑒權所述BIOS存儲器裝置時,所述BIOS保護裝置插入等待周期以禁止所述中央處理器。
13.一種鑒權保持在處理系統的BIOS存儲器裝置中的引導程序的方法,所述處理系統包括通過地址和數據路徑互連的中央處理器、所述BIOS存儲器裝置和BIOS保護裝置,所述方法包括以下步驟1)在啟動時,所述BIOS保護裝置暫時防止由所述中央處理器執行所述引導程序;2)所述BIOS保護裝置取得對所述地址和數據路徑的控制;3)所述BIOS保護裝置詢問所述BIOS存儲器裝置的內容,以確認所述內容是否被鑒權;4)如果所述BIOS存儲器裝置的內容不可信,則所述BIOS保護裝置繼續防止所述引導程序的執行,并防止所述中央處理器的進一步操作;以及5)如果所述BIOS存儲器裝置的內容是可信的,則所述BIOS保護裝置放棄對所述地址和數據路徑的控制,并允許所述中央處理器執行所述BIOS存儲器裝置中的所述引導程序。
14.如權利要求13所述的方法,其中所述地址和數據路徑經由串行接口、全非復用總線和IntelTM低管腳計數(LPC)總線結構中的一個來對接。
15.如權利要求14所述的方法,其中所述地址和數據路徑經由IntelTM低管腳計數(LPC)總線結構來對接。
16.如權利要求13、14或15所述的方法,其中在所述BIOS存儲器裝置中的已知位置提供加密數字簽名。
17.如權利要求16所述的方法,其中由所述BIOS保護裝置根據所述BIOS存儲器裝置的內容和內部公鑰來計算所述加密數字簽名的值,并且所述BIOS保護裝置詢問所述BIOS存儲器裝置以驗證正確的簽名存在并對應于存儲在所述BIOS存儲器裝置中的所述引導程序,或其一部分。
18.如權利要求13至17中的任一項所述的方法,其中所述BIOS保護裝置還包括內部存儲器裝置,并且當鑒權BIOS內容時,所述BIOS保護裝置將所述BIOS存儲器裝置的內容的至少一部分拷貝到所述內部存儲器裝置,并隨后當所述中央處理器試圖訪問所述BIOS存儲器裝置內容的拷貝部分時,控制所述地址和數據路徑繞過所述BIOS裝置而與所述內部存儲器裝置通信。
19.如權利要求13至18中的任一項所述的方法,其中所述中央處理器、所述BIOS存儲器裝置和所述BIOS保護裝置安裝在主板上,在所述主板上,所述主板的至少一個信號線由所述BIOS保護裝置中斷,由此,當所述BIOS保護裝置不存在時,所述主板不起作用。
20.如權利要求19所述的方法,其中所述BIOS保護裝置中提供復位控制電路,由此,如果所述BIOS保護裝置不存在,則所述主板不能退出復位狀態。
21.如權利要求20所述的方法,其中在執行所述BIOS的鑒權時,所述BIOS保護裝置將在所述復位(或禁止)狀態保持復位信號。
22.如權利要求21所述的方法,其中當所述鑒權成功時,所述BIOS保護裝置釋放所述復位信號并且所述中央處理器開始操作。
23.如權利要求13至19中的任一項所述的方法,其中當鑒權所述BIOS存儲器裝置時,所述BIOS保護裝置插入等待周期以禁止所述中央處理器。
24.一種BIOS保護裝置,用于在中央處理器和包含引導程序的BIOS存儲器裝置之間連接到處理系統,所述BIOS保護裝置包括地址和數據路徑接口連接裝置,和鑒權處理器,由此,當功率施加到所述BIOS保護裝置時,所述BIOS保護裝置取得對其連接到的地址和數據路徑的控制,并且所述鑒權處理器詢問連接到所述地址和數據路徑的所述BIOS存儲器裝置以確定所述BIOS存儲器裝置中包含的所述引導程序是否可信,并且僅當確定所述引導程序可信時,所述BIOS保護裝置釋放對所述地址和數據路徑的控制以允許所述中央處理器執行所述引導程序。
25.如權利要求24所述的裝置,其中所述地址和數據路徑接口包括串行接口、全非復用總線和IntelTM低管腳計數(LPC)總線結構中的一個。
26.如權利要求25所述的裝置,其中所述地址和數據路徑接口包括IntelTM低管腳計數(LPC)總線結構。
27.如權利要求24、25或26所述的裝置,其中所述BIOS存儲器裝置包括位于所述BIOS存儲器裝置中的已知位置的加密數字簽名。
28.如權利要求27所述的裝置,其中所述BIOS保護裝置根據所述BIOS存儲器裝置的內容和內部公鑰來計算所述加密數字簽名的值,并且詢問所述BIOS存儲器裝置以驗證正確的簽名存在并對應于存儲在所述BIOS存儲器裝置中的所述引導程序,或其一部分。
29.如權利要求24至28中的任一項所述的裝置,其中所述BIOS保護裝置還包括內部存儲器裝置,并且,當鑒權BIOS內容時,所述BIOS保護裝置將所述BIOS存儲器裝置的內容的至少一部分拷貝到所述內部存儲器裝置,并隨后當所述中央處理器試圖訪問所述BIOS存儲器裝置內容的拷貝部分時,控制所述地址和數據路徑繞過所述BIOS裝置而與所述內部存儲器裝置通信。
30.如權利要求24至29中的任一項所述的裝置,其中所述中央處理器、所述BIOS存儲器裝置和所述BIOS保護裝置安裝在主板上,在主板上,所述主板的至少一個信號線由所述BIOS保護裝置中斷,從而,如果所述BIOS保護裝置不存在,則所述主板不起作用。
31.如權利要求30所述的裝置,其中在所述BIOS保護裝置中提供復位控制電路,從而,如果所述BIOS保護裝置不存在,則所述主板不能退出復位狀態。
32.如權利要求31所述的裝置,其中當執行所述BIOS的鑒權時,所述BIOS保護裝置將在所述復位(或禁止)狀態保持復位信號。
33.如權利要求32所述的裝置,其中當所述鑒權成功時,所述BIOS保護裝置釋放所述復位信號,從而允許所述中央處理器開始操作。
34.如權利要求24至30中的任一項所述的裝置,其中當鑒權所述BIOS存儲器裝置時,所述BIOS保護裝置插入等待周期以禁止所述中央處理器。
全文摘要
提供了一種包括BIOS保護裝置的處理系統和保護BIOS的方法。所述系統包括中央處理器(11),以及BIOS存儲器裝置(18),其與BIOS保護裝置(17)通過地址和數據路徑(16)互連。在啟動時,所述BIOS保護裝置(17)取得對所述存儲器地址和數據路徑(16)的控制,并防止存儲在所述BIOS存儲器裝置(18)中的引導程序的執行,直到所述BIOS保護裝置(17)已驗證存儲在所述BIOS存儲器裝置(18)中的所述引導程序是可信的。所述BIOS保護裝置(17)在中央處理器(11)和所述BIOS存儲器裝置(18)之間連接到所述處理系統,并且包括地址和數據路徑接口連接裝置(24,25),以及鑒權處理器(21)。當功率施加到所述BIOS保護裝置(17)時,所述BIOS保護裝置(17)取得對其連接到的地址和數據路徑(16)的控制,并且所述鑒權處理器(21)詢問連接到所述地址和數據路徑(16)的所述BIOS存儲器裝置(18)以確定所述BIOS存儲器裝置(18)中包含的所述引導程序是否可信。僅當確定所述引導程序可信時,所述BIOS保護裝置(17)釋放對所述地址和數據路徑(16)的控制以允許所述中央處理器(11)執行所述引導程序。
文檔編號H04L9/00GK1853162SQ200480026444
公開日2006年10月25日 申請日期2004年9月17日 優先權日2003年9月18日
發明者羅伯特·林利·繆爾 申請人:貴族技術澳大利亞有限公司