本發(fā)明一般涉及到計(jì)算機(jī)、并特別涉及到在信息安全性非常重要的公司和政府組織使用的計(jì)算機(jī)。
背景技術(shù):傳統(tǒng)上,個(gè)人的和公司的數(shù)據(jù)安全功能通過在實(shí)質(zhì)上與依據(jù)消費(fèi)者支付能力設(shè)計(jì)的消費(fèi)級(jí)個(gè)人計(jì)算機(jī)一致的硬件體系結(jié)構(gòu)上采用附加的軟件模塊的形式實(shí)現(xiàn)。有時(shí)也實(shí)現(xiàn)專用于安全的附加硬件模塊,例如用于更安全地驗(yàn)證用戶(例如智能卡、生物特征識(shí)別)。但即使在這些情況下,傳統(tǒng)上大部分的安全功能還是通過附加軟件組件實(shí)現(xiàn),這些軟件組件有時(shí)集成到操作系統(tǒng)中,但是通常都存在于內(nèi)存中并就像任何其他軟件應(yīng)用一樣執(zhí)行。傳統(tǒng)方法的一個(gè)重要問題在于當(dāng)在軟件中執(zhí)行安全功能時(shí),可能被多種不同方式損害。在操縱計(jì)算機(jī)的正常過程中,用戶偶而添加或改變一些軟件組件——添加和替換一些軟件組件的能力給通用型計(jì)算機(jī)體系結(jié)構(gòu)帶來了在廣泛而多樣的任務(wù)和分配中的靈活性和可用性。改變或添加軟件模塊的同樣會(huì)為攻擊者損害計(jì)算機(jī)系統(tǒng)的安全帶來機(jī)會(huì)。當(dāng)引入新的軟件組件時(shí),存在這樣的風(fēng)險(xiǎn):它包括會(huì)招致攻擊的功能,或者它包括可能被外部利用而易于攻擊的程序設(shè)計(jì)錯(cuò)誤。并且,因?yàn)榘踩浖c應(yīng)用軟件一樣地分布和安裝,因此它也具有同樣易受攻擊的風(fēng)險(xiǎn)。在傳統(tǒng)的通用計(jì)算機(jī)中,整個(gè)隨機(jī)訪問存儲(chǔ)器(RAM)組成單個(gè)大的統(tǒng)一存儲(chǔ)體,可由處理器物理訪問,或如果該系統(tǒng)包含多個(gè)處理器的話,則可由全部的處理器訪問。存儲(chǔ)器訪問的統(tǒng)一為計(jì)算機(jī)關(guān)鍵性資源之一的RAM的使用提供了最大的靈活性,并且使得操作系統(tǒng)和應(yīng)用軟件對(duì)RAM的利用達(dá)到最優(yōu)。盡管經(jīng)濟(jì)效益顯著,但是統(tǒng)一的RAM體系結(jié)構(gòu)也意味著并發(fā)運(yùn)行的程序可以訪問彼此的存儲(chǔ)器區(qū)域或者由操作系統(tǒng)或其組件占用的存儲(chǔ)器。因此,統(tǒng)一的RAM體系結(jié)構(gòu)的這個(gè)特征已經(jīng)成為最常利用來損害計(jì)算機(jī)安全的途徑?,F(xiàn)代計(jì)算機(jī)系統(tǒng)還使用一種叫做“虛擬存儲(chǔ)”的機(jī)制,其中嵌入到處理器中、被稱作存儲(chǔ)器管理單元(“MMU”)的硬件細(xì)件執(zhí)行存儲(chǔ)地址轉(zhuǎn)換的功能。增加虛擬存儲(chǔ)允許RAM分割成段,每個(gè)段分配給某一軟件組件或一組軟件組件。并且虛擬存儲(chǔ)還阻止了對(duì)屬于不同的軟件組件或操作系統(tǒng)的存儲(chǔ)器的偶然訪問。虛擬存儲(chǔ)機(jī)制已經(jīng)被證明對(duì)阻止錯(cuò)誤的軟件行為影響系統(tǒng)總體上的穩(wěn)定性來說非常有效,但是它不能用于阻止惡意的破壞,并且在每個(gè)操作系統(tǒng)中存在文件機(jī)制來繞過由用于診斷目的的MMU提供的保護(hù)。這些機(jī)制經(jīng)常被利用來損害計(jì)算機(jī)的安全及其包含的數(shù)據(jù)。在一種實(shí)現(xiàn)提升安全水平的常規(guī)方法中,安全機(jī)制的一些部分由獨(dú)立的和專用的硬件模塊實(shí)現(xiàn),硬件模塊設(shè)計(jì)有附加的抗干擾部件,從而為可能的入侵者增加了難度?;蛟S硬件增強(qiáng)型計(jì)算機(jī)安全部件的最早一個(gè)非機(jī)密范例為IBM的HSM(硬件安全模塊),其是小型單機(jī)計(jì)算機(jī),帶有它自己的存儲(chǔ)器和存儲(chǔ)子系統(tǒng),存儲(chǔ)子系統(tǒng)被嵌入到堅(jiān)固的外殼中,這種外殼設(shè)計(jì)成類似于辦公室保險(xiǎn)箱。銀行卡的個(gè)人識(shí)別號(hào)保存在HSM中,使得即使銀行雇員也不能訪問這些明碼形式的代碼。當(dāng)自動(dòng)柜員機(jī)需要驗(yàn)證持卡者的身份時(shí),密碼的詢問-應(yīng)答序列啟動(dòng),使得PIN決不會(huì)在通信鏈路上被逐字傳輸,并且HSM安全地執(zhí)行驗(yàn)證程序。全球標(biāo)準(zhǔn)移動(dòng)電話系統(tǒng)(基于GSM)的智能卡方式用戶驗(yàn)證機(jī)制有一類似的機(jī)制,不同在于該硬件安全模塊小型化到指甲的大小,并且各用戶都配備有這樣的器件。SIM卡結(jié)構(gòu)讓其難以在不毀壞嵌入的存儲(chǔ)芯片的情況下被拆解。另一個(gè)常規(guī)方法是可信平臺(tái)模塊,其嵌入到一些目前制造的個(gè)人計(jì)算機(jī)。TPM有點(diǎn)類似于SIM卡,這是由于它為具有受限訪問性的小型存儲(chǔ)芯片,并且包含一些安全相關(guān)的識(shí)別信息和一些加密密鑰。TPM的關(guān)鍵性概念在于阻止攻擊者改變?cè)撟R(shí)別信息來錯(cuò)誤地識(shí)別計(jì)算機(jī)或它的用戶、從而繞過安全機(jī)制而到達(dá)該系統(tǒng)中的其他地方。然而它的缺點(diǎn)是包含在TPM中的密鑰和號(hào)碼僅為該保護(hù)的一部分,而其余的部分按照傳統(tǒng)在操作系統(tǒng)和應(yīng)用軟件組件中實(shí)現(xiàn)。因此該TPM提供了附加的保護(hù)層,使得非驗(yàn)證用戶不可能改變一些密鑰相關(guān)的信息令牌。然而,TPM在系統(tǒng)軟件的其他部分及其通信中存在顯著的弱點(diǎn),而這會(huì)被利用來進(jìn)行成功的攻擊。因此,存在改進(jìn)用于計(jì)算機(jī)系統(tǒng)安全的方法的需要。
技術(shù)實(shí)現(xiàn)要素:本發(fā)明涉及一種被設(shè)計(jì)用于增強(qiáng)數(shù)據(jù)安全性的計(jì)算機(jī)體系結(jié)構(gòu)。在實(shí)施例中,該體系結(jié)構(gòu)包括兩個(gè)子系統(tǒng),其中每個(gè)都有自己的處理器和存儲(chǔ)器,一組被明確定義的互連兩個(gè)子系統(tǒng)和外界的接口。根據(jù)某些方面,兩個(gè)子系統(tǒng)中的一個(gè)根據(jù)流行的處理器體系結(jié)構(gòu)構(gòu)建,比如今天大多數(shù)個(gè)人計(jì)算機(jī)采用的x86,并且被指定為應(yīng)用處理器子系統(tǒng)。選擇這個(gè)處理器體系結(jié)構(gòu)是因?yàn)樗蛇m用種類繁多的應(yīng)用軟件和操作系統(tǒng),這樣的目的在于使用戶在安裝他們選擇的應(yīng)用軟件方面具有最大靈活性。不同于也是按照x86體系結(jié)構(gòu)設(shè)計(jì)的傳統(tǒng)個(gè)人計(jì)算機(jī),該應(yīng)用處理器所有的外設(shè)連接都通向另一個(gè)子系統(tǒng)而不是實(shí)際的外置或內(nèi)置外設(shè)。因此,雖然軟件可以在該x86上幾乎無限制地運(yùn)行,但是從外部訪問該軟件及其數(shù)據(jù)被專用系統(tǒng)處理器子系統(tǒng)嚴(yán)格控制,其強(qiáng)制執(zhí)行維護(hù)這些應(yīng)用和它們的數(shù)據(jù)安全所必需的保護(hù)。根據(jù)某些附加的方面,被指定為系統(tǒng)處理器的另一個(gè)子系統(tǒng)實(shí)質(zhì)上是一種嵌入式系統(tǒng)。它運(yùn)行隨處理器提供的嵌入式軟件系統(tǒng),并且在任何情況下都不能被計(jì)算機(jī)的終端用戶所改變,并且嵌入式軟件系統(tǒng)可以被所謂的固件取代。作為嵌入式系統(tǒng),系統(tǒng)處理器模塊的具體處理器體系結(jié)構(gòu)不關(guān)緊要,但是最終用戶和任何第三方開發(fā)者都不能被允許寫入或改變它的任何軟件組件。系統(tǒng)處理器實(shí)質(zhì)上充當(dāng)運(yùn)行在它自己的硬件子系統(tǒng)上的固有不安全的應(yīng)用軟件環(huán)境和外界之間的“橋”。在實(shí)施例中,系統(tǒng)處理器對(duì)于每種外設(shè)連接具有兩個(gè)端口,一個(gè)連接到實(shí)際的外設(shè)并且另一個(gè)連接到應(yīng)用處理器子系統(tǒng)。固件連同系統(tǒng)處理器硬件一起為應(yīng)用處理器子系統(tǒng)仿真每種外設(shè),同時(shí)強(qiáng)制執(zhí)行一組適用于每種可支持類型外設(shè)的規(guī)則和機(jī)制,并且必須一直對(duì)應(yīng)用軟件及其數(shù)據(jù)保持最高的防護(hù)標(biāo)準(zhǔn)。所有內(nèi)置和外置外設(shè)都連接到系統(tǒng)處理器并通過外設(shè)仿真固件功能使用。根據(jù)這些及其他方面,一種根據(jù)本發(fā)明實(shí)施例的計(jì)算機(jī)系統(tǒng)包括第一子系統(tǒng),第一子系統(tǒng)包括用來運(yùn)行應(yīng)用的第一處理器;第二子系統(tǒng),包括被配置用于運(yùn)行安全固件的第二獨(dú)立處理器;以及連接到第二子系統(tǒng)的外設(shè),其中應(yīng)用對(duì)外設(shè)的訪問由運(yùn)行在第二處理器上的安全固件控制,安全固件仿真第一子系統(tǒng)上的對(duì)應(yīng)外設(shè)連接。進(jìn)一步根據(jù)這些及其他方面,一種根據(jù)本發(fā)明實(shí)施例的保護(hù)計(jì)算機(jī)系統(tǒng)安全的方法包括配置計(jì)算機(jī)系統(tǒng)的第一子系統(tǒng),第一子系統(tǒng)包括第一處理器來運(yùn)行應(yīng)用;配置計(jì)算機(jī)系統(tǒng)的第二子系統(tǒng),第二子系統(tǒng)包括第二獨(dú)立處理器來運(yùn)行安全固件;連接外設(shè)到第二子系統(tǒng);利用運(yùn)行在第二處理器上的安全固件控制應(yīng)用對(duì)外設(shè)的訪問,安全固件仿真第一子系統(tǒng)上的對(duì)應(yīng)外設(shè)連接。作為這些及其他方面的進(jìn)一步補(bǔ)充,一種根據(jù)本發(fā)明實(shí)施例的系統(tǒng)包括單機(jī)計(jì)算機(jī)系統(tǒng),所述計(jì)算機(jī)系統(tǒng)包括:第一子系統(tǒng),包括被配置用于運(yùn)行應(yīng)用的第一處理器,以及第二子系統(tǒng),包括被配置用于運(yùn)行安全固件的第二獨(dú)立處理器;以及由機(jī)構(gòu)托管的安全內(nèi)部網(wǎng),該機(jī)構(gòu)控制該單機(jī)計(jì)算機(jī)系統(tǒng),其中應(yīng)用對(duì)安全內(nèi)部網(wǎng)的訪問由運(yùn)行在第二處理器上的安全固件控制,安全固件仿真第一子系統(tǒng)的相應(yīng)物理網(wǎng)絡(luò)連接。附圖說明通過閱讀下面對(duì)本發(fā)明具體實(shí)施例的描述并結(jié)合附圖,本發(fā)明的這些及其他的方面和特征對(duì)于本領(lǐng)域技術(shù)人員來說將變得明顯,其中:圖1是頂層示意圖,示出了一種根據(jù)本發(fā)明實(shí)施例的安全計(jì)算機(jī)體系結(jié)構(gòu);圖2是根據(jù)本發(fā)明原則的計(jì)算機(jī)系統(tǒng)的功能方框圖;圖3是一示意圖,示出根據(jù)本發(fā)明實(shí)施例的保護(hù)計(jì)算機(jī)系統(tǒng)的顯示和啟動(dòng)功能安全的范例方面;圖4是一示意圖,示出根據(jù)本發(fā)明的實(shí)施例的保護(hù)計(jì)算機(jī)系統(tǒng)的網(wǎng)絡(luò)連接功能安全的范例方面;圖5是一示意圖,示出根據(jù)本發(fā)明實(shí)施例的保護(hù)計(jì)算機(jī)系統(tǒng)的應(yīng)用訪問外設(shè)安全的范例方面;以及圖6是一流程圖,示出根據(jù)本發(fā)明實(shí)施例的保護(hù)計(jì)算機(jī)系統(tǒng)安全的范例流程。具體實(shí)施方式本發(fā)明現(xiàn)在將參考附圖進(jìn)行詳細(xì)描述,附圖作為本發(fā)明的說明性范例提供,以使本領(lǐng)域技術(shù)人員能實(shí)現(xiàn)本發(fā)明。值得注意的是,附圖和下面的范例并不意味著將本發(fā)明的范圍限制到單個(gè)實(shí)施例,反而通過對(duì)一些或所有描述的元素進(jìn)行互換也可能獲得其他實(shí)施例。此外,在本發(fā)明的可以部分或完全利用現(xiàn)有組件實(shí)現(xiàn)的某些要素中,將僅描述對(duì)于理解本發(fā)明來說所必需的那部分現(xiàn)有組件,并且將省略對(duì)其他部分現(xiàn)有組件的詳細(xì)說明以免使本發(fā)明過于晦澀。被描述為以軟件形式實(shí)現(xiàn)的實(shí)施例并不局限于此,而可以包括以硬件形式實(shí)現(xiàn)的實(shí)施例,或者軟件和硬件組合來實(shí)現(xiàn),并且反之亦然,這對(duì)本領(lǐng)域技術(shù)人員來說是顯而易見的,除非在文中另作說明。在本說明書中,示出為單個(gè)組件的實(shí)施例不應(yīng)被視為限制;相反,本發(fā)明意圖包含其他包括多個(gè)相同組件的實(shí)施例,并且反之亦然,除非在文中明確地陳述。此外,申請(qǐng)人并不意圖在說明書和權(quán)利要求中將任何術(shù)語賦予生僻的或特殊的意義,除非對(duì)此有明確的闡述。更進(jìn)一步的,本發(fā)明包含在這里作為例示參考的現(xiàn)有組件的現(xiàn)在和將來的等效組件。通常,本發(fā)明提供用來增強(qiáng)數(shù)據(jù)安全性的計(jì)算機(jī)體系結(jié)構(gòu)。在實(shí)施例中,該體系結(jié)構(gòu)包括兩個(gè)子系統(tǒng),其中每個(gè)都有自己的處理單元和存儲(chǔ)器,以及規(guī)定的一組互連兩個(gè)子系統(tǒng)和外界的接口。一個(gè)子系統(tǒng)被設(shè)計(jì)來提供用于運(yùn)行計(jì)算機(jī)應(yīng)用的慣用環(huán)境。另一個(gè)子系統(tǒng)被設(shè)計(jì)成通過輸入輸出裝置提供在第一子系統(tǒng)和用戶之間的安全橋。圖1是一方框圖,示出根據(jù)本發(fā)明一些方面的范例系統(tǒng)體系結(jié)構(gòu)100。如圖1所示,兩個(gè)子系統(tǒng)中的一個(gè)優(yōu)選為根據(jù)流行的微處理器體系結(jié)構(gòu)構(gòu)建,比如今天大多數(shù)個(gè)人計(jì)算機(jī)采用的x86,并且其被指定為應(yīng)用處理器子系統(tǒng)102。選擇這個(gè)體系結(jié)構(gòu)是因?yàn)樗蛇m用種類繁多的應(yīng)用軟件和操作系統(tǒng),這樣的目的在于使用戶在安裝他們選擇的應(yīng)用軟件方面具有最大靈活性。不同于傳統(tǒng)的按照x86體系結(jié)構(gòu)設(shè)計(jì)的個(gè)人計(jì)算機(jī),該應(yīng)用處理器所有的外設(shè)連接都通向另一個(gè)子系統(tǒng)而不是實(shí)際的外置或內(nèi)置外設(shè)。所以雖然軟件可以在該x86上幾乎無限制地運(yùn)行,但是從外部訪問這個(gè)軟件或其數(shù)據(jù)被專用系統(tǒng)處理器子系統(tǒng)嚴(yán)格控制,其強(qiáng)制執(zhí)行維護(hù)這些應(yīng)用和它們的數(shù)據(jù)安全所必需的保護(hù)。該另一個(gè)子系統(tǒng),系統(tǒng)處理器104,優(yōu)選為嵌入式系統(tǒng)。因而,它運(yùn)行隨該處理器一起提供的指定軟件系統(tǒng),嵌入式軟件系統(tǒng)在任何情況下都不會(huì)被計(jì)算機(jī)的最終用戶所改變,并且實(shí)際上應(yīng)當(dāng)被稱為固件。作為嵌入式系統(tǒng),系統(tǒng)處理器模塊的具體處理器體系結(jié)構(gòu)并不重要,但是最終用戶和任何第三方開發(fā)者都不能被允許寫入或改變它的任何軟件組件。系統(tǒng)處理器104實(shí)質(zhì)上充當(dāng)運(yùn)行在它自己的硬件子系統(tǒng)102上的固有不安全的應(yīng)用軟件環(huán)境和外界之間的“橋”。外設(shè)106典型地包括任一類型的、提供系統(tǒng)100的功能和計(jì)算機(jī)用戶之間的接口的設(shè)備。這樣的設(shè)備可以包括輸出裝置,比如顯示器、揚(yáng)聲器、打印機(jī)等,以及輸入裝置,比如鍵盤、鼠標(biāo)、觸控板、觸摸屏等。外設(shè)106的數(shù)量和種類可以取決于包容應(yīng)用處理器102和104的設(shè)備的特定形式因素。例如,在本發(fā)明的實(shí)施例中,其形式因素為傳統(tǒng)的臺(tái)式計(jì)算機(jī),外設(shè)106可以包括顯示器、鍵盤和鼠標(biāo),這些為外置配屬。當(dāng)形式因素為傳統(tǒng)的筆記本計(jì)算機(jī)時(shí),外設(shè)106可以包括集成顯示器、鍵盤及觸控板。當(dāng)形式因素為平板計(jì)算機(jī)或智能電話時(shí),外設(shè)106可以包括集成顯示器/觸摸屏。應(yīng)當(dāng)注意到在形式因素類型不同的系統(tǒng)100之間,外設(shè)106并不必然互不相容,也并非永遠(yuǎn)不變。例如,許多傳統(tǒng)的觸控板計(jì)算機(jī)系統(tǒng)可能被可選的獨(dú)立鍵盤和鼠標(biāo)操縱(例如通過USB或藍(lán)牙連接)。同樣地,許多傳統(tǒng)的臺(tái)式計(jì)算機(jī)系統(tǒng)可能通過可選的觸摸屏或語音控制裝置操縱。在一些實(shí)施例中,系統(tǒng)100被設(shè)計(jì)成看起來像普通計(jì)算機(jī)系統(tǒng)那樣,同時(shí)其中嵌入有系統(tǒng)處理器102的附加安全組件,而這不容易被外行的觀察者看到。例如,系統(tǒng)100可以看起來像普通的膝上型計(jì)算機(jī),其帶有傳統(tǒng)的折疊顯示器和嵌入式鍵盤、揚(yáng)聲器以及指點(diǎn)設(shè)備。在其他可能的實(shí)施例中,系統(tǒng)處理器102和應(yīng)用處理器104被分開容納或者容納在一起,或者更進(jìn)一步的與某些外設(shè)106分開。然而,應(yīng)當(dāng)注意到基于附加的安全方面的考慮,處理器子系統(tǒng)102和104優(yōu)選地盡可能集成,位于同一個(gè)殼體內(nèi)并且甚至位于同一個(gè)電路板上,或許甚至兩個(gè)獨(dú)立處理器核芯位于同一個(gè)ASIC、SOC或FPGA上。例如,本發(fā)明的發(fā)明人認(rèn)識(shí)到位于這些子系統(tǒng)之間的任一類型的暴露互連都可能被攻擊者利用。因此,優(yōu)選地將這樣的互連做成盡可能難以接近(例如位于同一個(gè)集成電路和/或電路板內(nèi)部)。至于連接到系統(tǒng)處理器104的外設(shè)106,它們可以根據(jù)系統(tǒng)100的特定形式因素,或?yàn)榧苫驗(yàn)楠?dú)立。應(yīng)當(dāng)注意到,不是任一給定系統(tǒng)100中的所有外設(shè)都必須由系統(tǒng)處理器104控制其訪問。然而,典型地,至少系統(tǒng)100最常用的或最重要的外設(shè)100都被控制,例如全部的輸入設(shè)備比如鍵盤和鼠標(biāo),以及最常用的輸出設(shè)備比如顯示器。在這點(diǎn)上,本發(fā)明的發(fā)明人認(rèn)識(shí)到這樣的外設(shè)典型地包括那些輸入/輸出裝置,應(yīng)用處理器102的特定執(zhí)行通過它們能與人類操作員或其他的計(jì)算機(jī)接口(例如經(jīng)由網(wǎng)絡(luò)或其他的通信鏈路)來控制或訪問它的運(yùn)行和/或數(shù)據(jù)。因而,所有實(shí)質(zhì)上將應(yīng)用處理器102的數(shù)據(jù)和運(yùn)行暴露到外界的外設(shè)106優(yōu)選通過系統(tǒng)處理器104路由。因此,術(shù)語“外設(shè)”應(yīng)該看作是既包括實(shí)際的外圍設(shè)備又包括將處理器連接到外圍設(shè)備的連接(例如端口)。系統(tǒng)處理器104因此優(yōu)選在這些通信中最安全的物理點(diǎn)截取外設(shè)106和處理器102之間的通信。換句話說,應(yīng)用處理器102不會(huì)有任何重要的外設(shè)直接連接到或者通過暴露的或外部可訪問的連接而連接到它或者它的運(yùn)行環(huán)境;相反,這些連接通過系統(tǒng)處理器104路由或被系統(tǒng)處理器104控制。此外應(yīng)該注意到,或許取決于類型,外設(shè)106可以位于通常容納應(yīng)用處理器102和系統(tǒng)處理器104的裝置之內(nèi)或之外。在下面將更詳細(xì)描述系統(tǒng)100的一個(gè)最優(yōu)實(shí)施例為形式因素是臺(tái)式計(jì)算機(jī)或筆記本計(jì)算機(jī)的設(shè)備,但是這不應(yīng)當(dāng)被認(rèn)為是限制性的。在這樣的實(shí)施例中,外設(shè)106包括附加的顯示器、鍵盤和指示設(shè)備(例如觸控板和/或搖桿鼠標(biāo)),以及內(nèi)置的揚(yáng)聲器和無線調(diào)制解調(diào)器(例如802.11a/b/g/n)。在這樣的實(shí)施例中,外設(shè)106可以更進(jìn)一步包括任一經(jīng)由系統(tǒng)100上對(duì)應(yīng)的插孔連接的輸入/輸出外部設(shè)備,包括傳統(tǒng)的插孔或接口,例如USB,RJ-45,F(xiàn)irewire,eSATA,VGA,HDMI,DVI,DisplayPort和MiniDisplayPort。在經(jīng)過本發(fā)明范例的教導(dǎo)之后,本領(lǐng)域技術(shù)人員將認(rèn)識(shí)到如何以較少的或附加類型的接口和/或外設(shè)106實(shí)現(xiàn)本發(fā)明。系統(tǒng)處理器104典型地對(duì)于每種外設(shè)連接具有兩個(gè)連接,一個(gè)連接到實(shí)際的外設(shè)106并且另一個(gè)連接到應(yīng)用處理器子系統(tǒng)102。如下面將要更詳細(xì)地描述到的,隨系統(tǒng)處理器104的硬件提供的固件對(duì)每種用于應(yīng)用處理器子系統(tǒng)102而事實(shí)上連接到系統(tǒng)處理器104的外設(shè)106進(jìn)行仿真。固件進(jìn)一步優(yōu)選執(zhí)行一組規(guī)則和機(jī)制,它們適合于每一種支持的外設(shè),并且必須一直為應(yīng)用軟件及其數(shù)據(jù)維持最高級(jí)別的防護(hù)。在實(shí)施例中,所有內(nèi)置和外置外設(shè)106連接到系統(tǒng)處理器104并通過外設(shè)仿真固件功能而使用。雖然沒有在圖1中詳細(xì)示出,但是應(yīng)當(dāng)注意到應(yīng)用處理器102和系統(tǒng)控制器104可以進(jìn)一步包括存儲(chǔ)器、內(nèi)存和I/O尋址空間、操作系統(tǒng)軟件、應(yīng)用軟件、圖形處理器、聲音處理器和處理器總線。例如,在系統(tǒng)100的形式因素為臺(tái)式計(jì)算機(jī)或筆記本計(jì)算機(jī)時(shí),系統(tǒng)100可以包括傳統(tǒng)的個(gè)人計(jì)算機(jī)組件、比如PCI總線、RAM和ROM存儲(chǔ)器,ROM存儲(chǔ)器存儲(chǔ)有例如為Windows7的操作系統(tǒng)以及關(guān)聯(lián)的BIOS軟件和例如WindowsOffice的應(yīng)用軟件。系統(tǒng)100可以進(jìn)一步包括這樣的傳統(tǒng)個(gè)人計(jì)算機(jī)組件,比如XGA圖形處理器(例如英特爾的x86、AMD的集成顯卡或例如由nVidia提供的那些外部處理器),a5.1音頻處理器、USB輸入和輸出、以太網(wǎng)接口、串聯(lián)/并行接口等。在某種程度上,通過系統(tǒng)處理器104控制這些組件和這些組件與應(yīng)用處理器102的互操作是本發(fā)明的一方面,在下面將提供這些細(xì)節(jié)。然而,為了使本發(fā)明清楚起見,將省略應(yīng)用處理器102進(jìn)一步的附加實(shí)施細(xì)節(jié)。此外,在經(jīng)過這些范例的教導(dǎo)之后,本領(lǐng)域技術(shù)人員將領(lǐng)會(huì)處理器102用于其他類型形式因素、例如平板計(jì)算機(jī)和智能電話的多種可替換實(shí)施例。現(xiàn)在將從它仿真和支持的外設(shè)類型以及各種用于支持系統(tǒng)級(jí)運(yùn)行邏輯和安全的輔助功能方面的范例來描述系統(tǒng)處理器子系統(tǒng)104的范例實(shí)施例。在比如結(jié)合圖2示出的范例實(shí)施例中,系統(tǒng)100、系統(tǒng)處理器204耦合到應(yīng)用處理器202,同時(shí)耦合到鍵盤206、視頻多路復(fù)用器208和固件214。應(yīng)用處理器202可以相當(dāng)于如上所述的應(yīng)用處理器102。系統(tǒng)處理器204可以由任何傳統(tǒng)的、專有的或?qū)淼奶幚砥鲗?shí)現(xiàn),比如x86處理器、定制的ASIC或SOC、ARM處理器等。固件214優(yōu)選在ROM(例如閃存)中實(shí)現(xiàn),ROM屬于系統(tǒng)處理器204,并包括控制系統(tǒng)處理器204和實(shí)現(xiàn)其如這里和下面描述的功能所需的所有操作系統(tǒng)和應(yīng)用軟件。本領(lǐng)域技術(shù)人員將認(rèn)識(shí)到包括固件214的軟件的語言和構(gòu)架可以取決于用來實(shí)現(xiàn)處理器204的處理器類型和/或使用的操作系統(tǒng)。經(jīng)過以上描述的教導(dǎo),本領(lǐng)域技術(shù)人員將更進(jìn)一步懂得如何實(shí)現(xiàn)執(zhí)行處理器204功能的軟件和固件,它們或許與傳統(tǒng)的操作系統(tǒng)和應(yīng)用一起實(shí)現(xiàn)。應(yīng)該進(jìn)一步注意到系統(tǒng)處理器204可以包括沒有示出的附加功能和/或組件,比如處理器總線、RAM/應(yīng)用存儲(chǔ)器、圖形處理器功能、輸入/輸出端口等。如所示,視頻多路復(fù)用器208包括至少兩個(gè)輸入216、218以及一個(gè)輸出220。視頻多路復(fù)用器的輸出220連接到計(jì)算機(jī)顯示器210。視頻多路復(fù)用器208的一個(gè)輸入218連接到內(nèi)置于系統(tǒng)處理器子系統(tǒng)204的視頻圖形模塊,其用來傳遞與操作和安全有關(guān)的信息并與最終用戶互動(dòng),且用于嵌入在系統(tǒng)處理器204固件中的任何應(yīng)用。視頻多路復(fù)用器208的另一個(gè)輸入216連接到應(yīng)用處理器子系統(tǒng)202的視頻圖形模塊的的輸出,使得應(yīng)用產(chǎn)生的圖形傳送到多路復(fù)用器208,并且在系統(tǒng)處理器204和控制信號(hào)222的控制下,通過多路復(fù)用器有條件地傳遞到顯示監(jiān)視器210。在實(shí)施例中,多路復(fù)用器208測(cè)量視頻輸入的分辨率并調(diào)節(jié)其幀頻,使得它們合乎顯示監(jiān)視器210期望的顯示模式、實(shí)際分辨率和幀頻。取決于由系統(tǒng)處理器204確定的系統(tǒng)的運(yùn)行和安全模式,應(yīng)用圖形輸出216可能被完全阻止顯示出來、作為小窗口顯示,或者直接達(dá)到顯示監(jiān)視器210的實(shí)際大小。系統(tǒng)處理器204的圖形218本身還可以有條件地以各種依賴于操作系統(tǒng)運(yùn)行和安全模式的方法通到監(jiān)控器210。在實(shí)施例中,在初始的系統(tǒng)啟動(dòng)和驗(yàn)證期間,處于系統(tǒng)處理器204以信號(hào)222控制下的視頻多路復(fù)用器208,使得整個(gè)顯示器210被用于系統(tǒng)處理器204的圖形。系統(tǒng)處理器204更進(jìn)一步控制鍵盤206(以及或許有的其他輸入裝置,比如觸控板等),并且該互動(dòng)需要正確地驗(yàn)證該用戶,并通過顯示器210將這個(gè)過程的改進(jìn)和結(jié)果通知他。在實(shí)施例中,即使操作系統(tǒng)和應(yīng)用軟件也許之前已經(jīng)在應(yīng)用處理器202上被激活,應(yīng)用處理器202的視頻輸出也不允許被看到直到該驗(yàn)證已經(jīng)成功。一旦驗(yàn)證已經(jīng)成功地完成且系統(tǒng)處理器204聲明了正常的運(yùn)行模式,那么它將通過信號(hào)222使視頻多路復(fù)用器208允許來自輸入216的應(yīng)用圖形占據(jù)整個(gè)屏幕。在實(shí)施例中,在成功驗(yàn)證之后,系統(tǒng)處理器204的圖形將不會(huì)經(jīng)??梢?,除了當(dāng)需要傳送系統(tǒng)級(jí)信息、或者需要與系統(tǒng)處理器204相互作用而特定的密鑰組合已經(jīng)被按下時(shí)。在這樣的時(shí)刻,視頻多路復(fù)用器208可以使得系統(tǒng)處理器204的圖形覆蓋在應(yīng)用圖形的上方而顯示。在特殊條件下,例如當(dāng)用戶已經(jīng)被驗(yàn)證但是應(yīng)用處理器202被激活或重新啟動(dòng)時(shí),或者當(dāng)嵌入系統(tǒng)處理器204固件中的應(yīng)用運(yùn)行時(shí),視頻多路復(fù)用器208可以使得應(yīng)用圖形視頻216在屏幕210上以小視窗顯示,因此用戶可以監(jiān)控它的進(jìn)程并同時(shí)與系統(tǒng)處理器204互動(dòng)。多路復(fù)用器208被來自系統(tǒng)處理器204的信號(hào)222控制。它可以使用任何傳統(tǒng)的、專有的或?qū)淼募夹g(shù)以混合來自多個(gè)信源的視頻和圖形,比如色度鍵、覆蓋、視窗等。因而,208的實(shí)現(xiàn)細(xì)節(jié)取決于使用的特定多路復(fù)用技術(shù),并且為了使本發(fā)明清楚起見,在這里將省略它進(jìn)一步的細(xì)節(jié)。在實(shí)施例中,當(dāng)應(yīng)用處理器202包括標(biāo)準(zhǔn)的XGA圖形控制器時(shí),標(biāo)準(zhǔn)XGA接口用來實(shí)現(xiàn)接口216。應(yīng)該更進(jìn)一步注意到多路復(fù)用器208可以使用共同待決美國(guó)申請(qǐng)13/241073描述的附加視頻安全功能,其內(nèi)容通過引用的方式整體結(jié)合到本申請(qǐng)。驗(yàn)證可以包括任何傳統(tǒng)的、專有的或?qū)淼募夹g(shù),并且本領(lǐng)域技術(shù)人員將認(rèn)識(shí)到許多可能的替換。在一個(gè)非限制性范例中,系統(tǒng)處理器204可以提示用戶輸入/提供憑證,比如用戶名、口令、安全密鑰、生物識(shí)別特征(例如指紋)。這些憑證可以與存儲(chǔ)的憑證相比較,或者系統(tǒng)處理器204可以將它們發(fā)送到遠(yuǎn)距離的驗(yàn)證服務(wù)器來比較。更進(jìn)一步,本地存儲(chǔ)的憑證可以有時(shí)間限制并在需要時(shí)從一外部信源刷新或撤消。類似于通過多路復(fù)用器208將應(yīng)用處理器的圖形提供216給顯示器210,系統(tǒng)處理器204阻止處理器202訪問鍵盤206及其他外設(shè),直到驗(yàn)證成功。如下面將更詳細(xì)闡述的那樣,在成功驗(yàn)證以后,處理器204允許通過處理器202經(jīng)總線224仿真訪問鍵盤206及其他外設(shè),這由固件214提供的仿真功能控制?,F(xiàn)在將描述根據(jù)本發(fā)明的方面的保護(hù)計(jì)算機(jī)系統(tǒng)100的數(shù)據(jù)網(wǎng)絡(luò)功能安全的范例方法。在實(shí)施例中,系統(tǒng)100為一公司購(gòu)買的、由特定雇員使用的單機(jī)計(jì)算機(jī)。如圖3所示,在這些及其他的實(shí)施例中,該公司優(yōu)選更進(jìn)一步擁有/保持有與公眾訪問數(shù)據(jù)網(wǎng)絡(luò)322(例如因特網(wǎng))互連的專用通信網(wǎng)320(例如為內(nèi)部網(wǎng))。優(yōu)選地,專用通信網(wǎng)320為了安全和為避免受到所有相關(guān)威脅而進(jìn)行充分保護(hù),該保護(hù)可以通過如防火墻這樣的傳統(tǒng)設(shè)備,侵入檢測(cè)及其他法律和體系結(jié)構(gòu)層面的保護(hù)機(jī)制。因此本發(fā)明這樣的實(shí)施例的一方面就是利用了現(xiàn)有的保護(hù)措施并且受益于對(duì)它們的集中定制和管理。在比如圖3示出的實(shí)施例中,系統(tǒng)處理器子系統(tǒng)204上存在至少兩個(gè)物理網(wǎng)絡(luò)接口。這些網(wǎng)絡(luò)接口中的一個(gè),典型地為十億比特以太網(wǎng)端口304,以“背靠背”結(jié)構(gòu)連接到應(yīng)用處理器子系統(tǒng)202上的類似端口302,并且這是訪問應(yīng)用處理器202的僅有的物理網(wǎng)絡(luò)連接。所以,來自處理器202上應(yīng)用的全部通信量將被系統(tǒng)處理器204截取,并且任何發(fā)送給該應(yīng)用的數(shù)據(jù)包必須首先通過該系統(tǒng)處理器204。位于系統(tǒng)處理器204上的一個(gè)或多個(gè)物理網(wǎng)絡(luò)接口306中的另一個(gè)典型地為另一個(gè)十億比特以太網(wǎng)。其他類型可以包括無線網(wǎng)絡(luò)接口模塊,比如Wi-Fi。這些接口中的一個(gè)或兩個(gè)可以連接到可利用的物理網(wǎng)絡(luò),網(wǎng)絡(luò)可以被自動(dòng)地檢測(cè)。系統(tǒng)處理器的網(wǎng)絡(luò)管理功能330(優(yōu)選由固件214實(shí)現(xiàn))然后確定被檢測(cè)的網(wǎng)絡(luò)是否可以被識(shí)別和驗(yàn)證。例如,網(wǎng)絡(luò)管理功能330可以驗(yàn)證被檢測(cè)的網(wǎng)絡(luò)是否為購(gòu)買該計(jì)算機(jī)的指定公司的內(nèi)部網(wǎng)320。例如,網(wǎng)絡(luò)管理功能330可以存儲(chǔ)公司內(nèi)使用的地址范圍并可以將被檢測(cè)網(wǎng)絡(luò)的地址與該范圍進(jìn)行比較。網(wǎng)絡(luò)管理功能330可以更進(jìn)一步嘗試連接到列出的已知服務(wù)器中的一個(gè),從該服務(wù)器取回密碼證書并依靠本地存儲(chǔ)的證書數(shù)據(jù)庫驗(yàn)證該證書。如果驗(yàn)證通過,則直接連接的網(wǎng)絡(luò)被認(rèn)為是安全的,然后系統(tǒng)處理器204在第一網(wǎng)絡(luò)接口302/304和激活的外部接口306之間轉(zhuǎn)發(fā)所有的數(shù)據(jù)包。如果驗(yàn)證進(jìn)程沒有成功,或者在某些情況下當(dāng)期望提高保護(hù)水平使得該進(jìn)程被完全繞過時(shí),該可用網(wǎng)絡(luò)被認(rèn)為是不安全的,并且將在位于系統(tǒng)處理器204上的VPN客戶端332(優(yōu)選由固件214實(shí)現(xiàn))和位于公司內(nèi)網(wǎng)320上的指定VPN網(wǎng)關(guān)310上的VPN服務(wù)器334建立虛擬專用網(wǎng)絡(luò)(“VPN”)連接,(a.k.a.VPN通道308)。一旦VPN通道308建立,則連接到應(yīng)用服務(wù)器202的第一接口304往來的所有通信量將獨(dú)占地通過VPN通道308,使得應(yīng)用和它的操作系統(tǒng)在計(jì)算機(jī)連接到任何其他公司或?qū)S镁W(wǎng)絡(luò)308,同時(shí)被使用它的雇員經(jīng)常移動(dòng)時(shí),仍然表現(xiàn)得像計(jì)算機(jī)本地連接到公司安全網(wǎng)絡(luò)320(例如內(nèi)部網(wǎng))一樣。優(yōu)選實(shí)施例使用基于IP協(xié)議312/314的以太網(wǎng)(其中EoIP312優(yōu)選在固件214中實(shí)現(xiàn))來在VPN通道308上通過VPN客戶端332壓縮來往應(yīng)用處理器202的原始以太網(wǎng)通信量。在服務(wù)器334端,VPN網(wǎng)關(guān)310,在解碼和驗(yàn)證這些數(shù)據(jù)包后,將它們發(fā)送到公司內(nèi)網(wǎng)320,。本領(lǐng)域技術(shù)人員應(yīng)該理解VPN通道308提供用于將傳輸?shù)臄?shù)據(jù)包加密并利用加密簽名來驗(yàn)證這些數(shù)據(jù)包的可靠性。因此當(dāng)包含保密信息的數(shù)據(jù)包在運(yùn)行于計(jì)算機(jī)內(nèi)的應(yīng)用處理器202上的應(yīng)用軟件和公司數(shù)據(jù)服務(wù)器之間交換時(shí),這樣的數(shù)據(jù)被保護(hù)來免于在公共訪問網(wǎng)絡(luò)322的鏈路上傳輸時(shí)遭到竊聽和在途數(shù)據(jù)篡改。在實(shí)施例中,嵌入到系統(tǒng)處理器204的固件214中的應(yīng)用訪問同一個(gè)VPN通道308,也能直接訪問本地可用網(wǎng)絡(luò)322。所以如果嵌入型應(yīng)用需要傳輸任何敏感信息時(shí),它應(yīng)該通過VPN隧道308進(jìn)行其業(yè)務(wù)。然而,在某些范例嵌入型應(yīng)用中,例如視頻會(huì)議代理,控制器204可以允許用戶選擇通過VPN通道308安全連接到公司網(wǎng)絡(luò),并且從那兒經(jīng)由另一個(gè)VPN通道盡可能的前進(jìn),而且在指示器上顯示該連接是安全的。附加地或可替換地,當(dāng)(例如,由于性能的原因)該安全連接不符合期望時(shí),控制器204可以允許該用戶通過直接訪問本地的可用網(wǎng)絡(luò)322來建立視頻會(huì)議連接,并且告知用戶該連接不安全,因此用戶應(yīng)該避免討論任何敏感信息。系統(tǒng)處理器204的其他嵌入固件214的應(yīng)用可以包括用于備份和同步虛擬硬盤映像(在下面更詳細(xì)地描述),并且將其經(jīng)由如上所述的同一個(gè)VPN通道308傳遞給公司的存儲(chǔ)服務(wù)器。用于當(dāng)今計(jì)算機(jī)的一種重要外設(shè)為磁盤驅(qū)動(dòng)器,因此現(xiàn)在將結(jié)合圖4描述根據(jù)本發(fā)明對(duì)訪問該外設(shè)進(jìn)行控制的范例方法。如圖4所示,趨勢(shì)是基于閃存的固態(tài)驅(qū)動(dòng)器410將取代基于磁介質(zhì)的旋轉(zhuǎn)磁盤。如已知的,該驅(qū)動(dòng)器典型地在其上保存?zhèn)鹘y(tǒng)計(jì)算機(jī)的所有軟件和重要的那部分?jǐn)?shù)據(jù)。當(dāng)一計(jì)算機(jī)上電時(shí),小型低電平固件從只讀或閃速存儲(chǔ)器處運(yùn)行,其用于“基本輸入/輸出系統(tǒng)”、通常被稱作“BIOS”,“BIOS”將初始化內(nèi)存和磁盤驅(qū)動(dòng)器并且將從磁盤驅(qū)動(dòng)器加載操作系統(tǒng)軟件到內(nèi)存,該進(jìn)程被稱作“開機(jī)”或“引導(dǎo)”。一旦該操作系統(tǒng)已經(jīng)開始執(zhí)行,那么它將連續(xù)地訪問該磁盤驅(qū)動(dòng)器來讀取應(yīng)用和軟件程序庫、設(shè)備驅(qū)動(dòng)程序和配置文件。當(dāng)操作系統(tǒng)執(zhí)行任一安全相關(guān)機(jī)制時(shí),被用于這些保護(hù)元件的密鑰和口令也存儲(chǔ)在同一個(gè)磁盤上。任一需要運(yùn)行在單機(jī)環(huán)境的軟件應(yīng)用,當(dāng)網(wǎng)絡(luò)不可用時(shí),需要將它的所有數(shù)據(jù)以及可執(zhí)行的程序代碼和配置數(shù)據(jù)存儲(chǔ)到磁盤驅(qū)動(dòng)器上。因?yàn)檫@些及其他的理由,磁盤驅(qū)動(dòng)器需要對(duì)付各種可能性威脅的保護(hù),其中最值得注意的威脅是磁盤驅(qū)動(dòng)器本身或其隨著整個(gè)計(jì)算機(jī)有失竊的可能,以及隨后它所包含的數(shù)據(jù)被提取的可能。對(duì)于當(dāng)今的計(jì)算機(jī)來說,將它磁盤驅(qū)動(dòng)器上存儲(chǔ)的數(shù)據(jù)加密日益普遍,其中磁盤的整個(gè)內(nèi)容以單個(gè)密鑰加密。這使得如果這單個(gè)密鑰匯露,則數(shù)據(jù)易受攻擊,并且同時(shí)它產(chǎn)生了新的潛在問題:如果計(jì)算機(jī)用戶忘記或丟失加密密鑰,則公司和使用該計(jì)算機(jī)的雇員將都不能再取回該硬盤上的任何數(shù)據(jù)。這里披露的計(jì)算機(jī)體系結(jié)構(gòu)的一個(gè)方面在于磁盤驅(qū)動(dòng)器的實(shí)現(xiàn)方式。在實(shí)施例中,例如結(jié)合圖4所示出的,運(yùn)行應(yīng)用軟件和操作系統(tǒng)的應(yīng)用處理器202不需要實(shí)施任何安全保護(hù)措施,并且不能直接訪問計(jì)算機(jī)實(shí)際的磁盤驅(qū)動(dòng)器410。反而,應(yīng)用處理器202的大容量存儲(chǔ)外設(shè)連接,典型地為串聯(lián)ATA(或“SATA”)的主機(jī)控制器404,連接到系統(tǒng)處理器204上的兼容式接口,即串聯(lián)ATA目標(biāo)接口406。該接口406響應(yīng)由應(yīng)用處理器202發(fā)出的標(biāo)準(zhǔn)ATA指令,并且與系統(tǒng)級(jí)固件214一起為應(yīng)用處理器202提供仿真磁盤驅(qū)動(dòng)器414。由固件214實(shí)現(xiàn)仿真磁盤驅(qū)動(dòng)器的進(jìn)程可以類似于虛擬化環(huán)境中采用的技術(shù)-仿真磁盤驅(qū)動(dòng)器414實(shí)際上為以特定格式存儲(chǔ)在真實(shí)的磁盤驅(qū)動(dòng)器410上的文件集合。從而系統(tǒng)處理器204將具有第二大容量存儲(chǔ)器接口408,其將它連接到一真實(shí)磁盤驅(qū)動(dòng)器(例如一磁介質(zhì)或其他介質(zhì)的HDD)、或更優(yōu)選為固態(tài)磁盤驅(qū)動(dòng)器(“SSD”)410。這樣的SSD(例如由閃速存儲(chǔ)器或其他的非易失性存儲(chǔ)器技術(shù),比如鐵電RAM和相變RAM,實(shí)現(xiàn))提供了比磁性驅(qū)動(dòng)器更好的性能,并且將實(shí)質(zhì)上掩蔽任何性能退化,而這可以被如下所述的仿真進(jìn)程和加密所利用。在圖示的范例體系結(jié)構(gòu)中,系統(tǒng)處理器204的固件214以文件集合和主要索引文件的方式保存一個(gè)或多個(gè)仿真磁盤驅(qū)動(dòng)器414的映像,它們按順序以特定格式存儲(chǔ)在真實(shí)磁盤驅(qū)動(dòng)器410的文件系統(tǒng)中。仿真磁盤驅(qū)動(dòng)器414會(huì)分布到多個(gè)文件,這存在幾個(gè)原因。第一,磁盤驅(qū)動(dòng)器很少會(huì)被整體使用,由此不必在真實(shí)磁盤驅(qū)動(dòng)器上為不用的存儲(chǔ)空間分配任何存儲(chǔ)空間。因此,將仿真驅(qū)動(dòng)器414提供的空間分散到文件集合上能允許對(duì)它的地址空間進(jìn)行稀疏提供,并且省略了用于沒有使用的區(qū)域的實(shí)際存儲(chǔ)。第二,在某些時(shí)候,需要保持仿真驅(qū)動(dòng)器的一致映像416,其對(duì)應(yīng)于它在某個(gè)時(shí)間點(diǎn)的內(nèi)容,這被稱為檢測(cè)點(diǎn),然后將所有隨后修改的數(shù)據(jù)寫入位于真實(shí)驅(qū)動(dòng)器上的新的和獨(dú)立的文件,使得即使當(dāng)仿真磁盤414被連續(xù)使用時(shí),在檢測(cè)點(diǎn)的那個(gè)時(shí)間,它的內(nèi)容仍然可用。為什么需要檢測(cè)點(diǎn)存在各種原因,其中一個(gè)原因是能夠備份或同步位于中心公司數(shù)據(jù)儲(chǔ)存庫中的磁盤的內(nèi)容,并且防止在計(jì)算機(jī)丟失或被損事件中損失數(shù)據(jù)。該檢測(cè)點(diǎn)和備份功能由系統(tǒng)處理器204的固件214實(shí)現(xiàn),因此這些功能獨(dú)立于處理器202的操作系統(tǒng)或應(yīng)用軟件之外。此外,由于系統(tǒng)處理器204消耗的功率顯著地小于應(yīng)用處理器202,如果計(jì)算機(jī)沒有活躍地使用而是需要執(zhí)行周期性備份進(jìn)程,則不需要施加功率到應(yīng)用處理器202,此時(shí)計(jì)算機(jī)能完全地與公司備份服務(wù)器通信并安全地、獨(dú)立地將仿真磁盤414的最新區(qū)傳輸?shù)椒?wù)器。當(dāng)存儲(chǔ)在真實(shí)磁盤驅(qū)動(dòng)器上時(shí),優(yōu)選加密仿真磁盤414的數(shù)據(jù)。為了避免混亂,應(yīng)用處理器202和系統(tǒng)處理器204之間的數(shù)據(jù)塊交換不加密,并且傳輸用明碼正文。該數(shù)據(jù)然后在寫入真實(shí)固態(tài)磁盤驅(qū)動(dòng)器410之前被進(jìn)程412(例如利用AES256)加密。被用于加密仿真磁盤數(shù)據(jù)的加密密鑰優(yōu)選為無論任何時(shí)刻都不存在于應(yīng)用處理器202的存儲(chǔ)空間中,并且因此任何借助于嵌入到計(jì)算機(jī)上的惡意軟件執(zhí)行的針對(duì)該加密密鑰的攻擊都將無效。甚至在系統(tǒng)處理器204內(nèi),仿真磁盤414的加密密鑰將決不保存在主存儲(chǔ)器中,反而為加密密鑰配備單獨(dú)的存儲(chǔ)空間來在正常運(yùn)行期間存儲(chǔ)這些密鑰。該特別的密鑰保護(hù)存儲(chǔ)器也優(yōu)選由非易失性存儲(chǔ)器技術(shù)制成,使得這些密鑰從不需要存儲(chǔ)在真實(shí)的固態(tài)磁盤驅(qū)動(dòng)器410上,反而保存在構(gòu)成系統(tǒng)處理器204的一個(gè)芯片內(nèi)。為了進(jìn)一步改善仿真磁盤的防護(hù)水平,由于仿真磁盤414的數(shù)據(jù)保存在多個(gè)文件中,因此理想的是為這些文件中的每個(gè)指定專門的加密密鑰,使得如果真實(shí)驅(qū)動(dòng)器失竊,則使整個(gè)磁盤泄密需要的時(shí)間量將加倍。在正常運(yùn)行期間,優(yōu)選由任何存在于仿真磁盤中的文件使用的所有加密密鑰都存在系統(tǒng)處理器204分配的安全模塊存儲(chǔ)器中。在備份進(jìn)程期間,固件214將解密仿真磁盤數(shù)據(jù)414,使用VPN通道加密協(xié)議和如上所述的密鑰來壓縮它且重新加密它來用于傳輸。這樣,決不需要在網(wǎng)絡(luò)上傳輸仿真磁盤的加密密鑰或?qū)⑺鼈兇鎯?chǔ)在公司服務(wù)器上,因此使得在這些服務(wù)器中的一個(gè)出現(xiàn)泄密的事件中,泄露公司所有的計(jì)算機(jī)數(shù)據(jù)的風(fēng)險(xiǎn)最小。然而如果一計(jì)算機(jī)丟失或毀壞,存儲(chǔ)在它的仿真磁盤414上的數(shù)據(jù)安全地保持在一個(gè)公司服務(wù)器中,并且可以很快地提供新的計(jì)算機(jī)給同一個(gè)用戶并通過拷貝仿真磁盤映象416到新的計(jì)算機(jī)而恢復(fù)所有運(yùn)行。為了使磁盤仿真對(duì)應(yīng)用處理器202和它的軟件的性能影響最小,系統(tǒng)處理器204應(yīng)當(dāng)能并發(fā)地執(zhí)行若干大容量存儲(chǔ)指令。這可以使用串行ATA指令集的原生命令排序特征實(shí)現(xiàn)。從而能有若干存儲(chǔ)相關(guān)的動(dòng)作同時(shí)發(fā)生:存儲(chǔ)器指令由SATA目標(biāo)硬件406接收到存儲(chǔ)器中;存儲(chǔ)器上的許多數(shù)據(jù)塊被模塊412加密或解密;并且在連接到真實(shí)驅(qū)動(dòng)器的SATA主機(jī)接口408上執(zhí)行另一個(gè)存儲(chǔ)指令,這些全部同時(shí)進(jìn)行,因此可能同時(shí)有至少三個(gè)存儲(chǔ)操作由系統(tǒng)處理器204處理。只要應(yīng)用處理器202及其運(yùn)行的操作系統(tǒng)能夠在接收第一個(gè)指令的響應(yīng)之前發(fā)出另外的存儲(chǔ)指令,由于在仿真磁盤驅(qū)動(dòng)器414的同時(shí)處理這些指令增加了復(fù)雜性而導(dǎo)致的不可避免的延遲將有效地被掩蔽。不屬于上述組的外設(shè)以及可選的一些屬于上述組的外設(shè),通常使用通用串行總線(USB)接口。現(xiàn)在將結(jié)合附圖5描述根據(jù)本發(fā)明的一些方面提供的安全訪問這些外設(shè)的范例方法。這樣的外設(shè)可以包括鍵盤、鼠標(biāo)、打印機(jī)、無線調(diào)制解調(diào)器、讀卡器、外部磁盤驅(qū)動(dòng)器和各種專用于應(yīng)用的I/O器件。如已知的,可以經(jīng)由USB連接的各個(gè)外設(shè)屬于多種類型,就計(jì)算機(jī)系統(tǒng)的安全而言每種類型都可能具有獨(dú)特的含義。一些USB外設(shè)可以被認(rèn)為相當(dāng)?shù)匕踩瑫r(shí)另外一些在近年來經(jīng)常被盜竊數(shù)據(jù)和被電子破壞。因此優(yōu)選在于將USB外設(shè)連接作為總體來受一附加層的保護(hù),附加層稍微有點(diǎn)像網(wǎng)絡(luò)保護(hù)防火墻,其將利用一組策略512來選擇哪些外設(shè)被允許、哪些外設(shè)被禁止、以及哪些外設(shè)可被用于受限的或受控的方式。例如,一些公司可以禁止利用外部USB大容量存儲(chǔ)器(比如閃存驅(qū)動(dòng)器)。其他公司可以選擇只要這些器件來自本公司就允許它們的使用,或者將讀取和寫入閃存驅(qū)動(dòng)器的每個(gè)文件都發(fā)送給公司安全團(tuán)隊(duì)來檢查可能的嵌入惡意軟件或用于審核。按照上述考慮,圖5示出的本發(fā)明實(shí)施例中的系統(tǒng)處理器204優(yōu)選包括兩個(gè)USB端口,一個(gè)作為擴(kuò)充目標(biāo)504,并且另一個(gè)作為正常USB主機(jī)502。主機(jī)端口502用來連接到真實(shí)的USB外設(shè)506,其中一些可能內(nèi)置于計(jì)算機(jī);例如,視頻會(huì)議攝像機(jī)、音頻揚(yáng)聲器和麥克風(fēng)、鍵盤和觸控板,以及若干用于連接外部外設(shè)的標(biāo)準(zhǔn)化USB端口。USB目標(biāo)端口504“背靠背”直接連接存在于應(yīng)用處理器子系統(tǒng)202上的標(biāo)準(zhǔn)USB端口508,并且包含與專門設(shè)計(jì)的固件214互補(bǔ)的適當(dāng)硬件資源來仿真多個(gè)USB外設(shè)。常規(guī)的USB目標(biāo)控制器包括足夠資源來實(shí)現(xiàn)唯一的單個(gè)目標(biāo)器件,但其不足以應(yīng)付多個(gè)USB外設(shè)的情況。為了實(shí)現(xiàn)本申請(qǐng)公開的計(jì)算機(jī)體系結(jié)構(gòu),USB目標(biāo)端口504優(yōu)選實(shí)現(xiàn)更多的硬件資源和邏輯,并且能夠仿真514多個(gè)(例如至少8個(gè))獨(dú)立的USB外設(shè),其中每個(gè)都有它自己的設(shè)備地址。這些由應(yīng)用處理器202操作系統(tǒng)的USB軟件堆棧計(jì)數(shù),就像實(shí)際上有若干獨(dú)立的USB設(shè)備經(jīng)USBHub連接到應(yīng)用處理器202一樣。因?yàn)橐恍┱鎸?shí)的、將依賴于仿真USB器件514提供功能的器件可能速變比應(yīng)用處理器202上的USB接口508的最大速度低,所以USB目標(biāo)端口504如果實(shí)現(xiàn)USBHub所需邏輯的話將受益于總體系統(tǒng)性能。換句話說,擴(kuò)充USB目標(biāo)端口504所需的資源相當(dāng)于USBHub510和若干獨(dú)立的USB目標(biāo)器件506的資源。系統(tǒng)處理器204的固件214與硬件功能互補(bǔ),并且將每個(gè)被仿真的USB外設(shè)514映射到連接到它的USB主機(jī)端口502的真實(shí)USB器件506,但是這樣做的方式要和一組安全策略512一致。這些策略512由固件214本地存儲(chǔ)并且可以有時(shí)自動(dòng)地從公司的服務(wù)器上找回,這無需用戶干涉。這些策略512可以允許映射和對(duì)被認(rèn)為實(shí)質(zhì)上無惡意的某一類器件的透明橋接。然而,即使最無惡意的USB器件(例如外部鼠標(biāo)),也必須檢查它們的USB數(shù)據(jù)結(jié)構(gòu)的合法性,使得可能存在于應(yīng)用操作系統(tǒng)USB堆棧中的任一可被惡意嵌入的USB數(shù)據(jù)包利用的弱點(diǎn)被引擎512保護(hù)。其他的USB器件可能被引擎512根據(jù)他們類型和子類禁止。一些USB器件可能根據(jù)制造和類型編號(hào)乃至更具體地說根據(jù)它們的串行號(hào)碼來允許,使得例如USB閃存驅(qū)動(dòng)器可以被普遍地禁止,同時(shí)很多專門的具有嵌入安全屏蔽的、由公司提供的閃速驅(qū)動(dòng)器將被允許。有時(shí)被允許的器件將以某些特定動(dòng)作仿真514。例如,計(jì)算機(jī)鍵盤是USB器件,并且應(yīng)該被普遍允許,除去某些應(yīng)該被系統(tǒng)處理器204截取并且不送達(dá)到應(yīng)用處理器202的、用來請(qǐng)求調(diào)用某些需要的系統(tǒng)級(jí)功能的特定組合鍵之外。另一個(gè)范例是當(dāng)允許的USB閃速驅(qū)動(dòng)器被策略512請(qǐng)求時(shí)保持審核跟蹤。在這種情況下,用來在USB閃速驅(qū)動(dòng)器讀寫數(shù)據(jù)的指令將被系統(tǒng)處理器的兩個(gè)USB端口502、504轉(zhuǎn)發(fā),但是這些指令與附帶數(shù)據(jù)一起將被記錄在本地驅(qū)動(dòng)器上的專用文件中,隨后通過VPN通道提交給公司服務(wù)器用于存儲(chǔ)和隨后的審核。在USB目標(biāo)端口504隨著USBhub510上的邏輯擴(kuò)展時(shí),即支持分割事務(wù),橋接可以成為透明。分割事務(wù)支持允許系統(tǒng)處理器204來處理任何來自應(yīng)用處理器202的USB堆棧的指令,這通過轉(zhuǎn)發(fā)同一個(gè)請(qǐng)求(如果被允許)到實(shí)際的真實(shí)USB器件506,然后當(dāng)它就緒時(shí)返回響應(yīng)來執(zhí)行。如果不使用分割事務(wù)支持,則固件必須準(zhǔn)備提前響應(yīng)任何可預(yù)料到的USB指令,并且將它存儲(chǔ)到適當(dāng)?shù)腢SB目標(biāo)設(shè)備終端緩存器,這將始終允許在真實(shí)的和仿真的USB器件之件的橋接有足夠的透明度。除上述之外,在兩個(gè)子系統(tǒng)202和204之間將往往需要多個(gè)連接,包括那些純粹為運(yùn)行目的所需的而且對(duì)應(yīng)用和操作系統(tǒng)的運(yùn)行沒有任何影響的連接。一個(gè)這樣的連接將使系統(tǒng)處理器子系統(tǒng)204能控制應(yīng)用處理器子系統(tǒng)202的電源,并且仿真標(biāo)準(zhǔn)的計(jì)算機(jī)電源。另一個(gè)連接可以控制和監(jiān)控在應(yīng)用處理器202上的“BIOS”低層操作軟件,其優(yōu)選經(jīng)由低速串行端口實(shí)現(xiàn)。這將允許可操作的監(jiān)控功能嵌入系統(tǒng)處理器204的固件214中,并且允許通過遠(yuǎn)距離的結(jié)構(gòu),將操作系統(tǒng)的引導(dǎo)進(jìn)程報(bào)告到公司的服務(wù)器群。將結(jié)合圖6描述根據(jù)本發(fā)明的實(shí)施例的提供到計(jì)算機(jī)系統(tǒng)100的安全訪問的范例進(jìn)程。如圖6所示,進(jìn)程開始于初始系統(tǒng)啟動(dòng)S602期間,例如當(dāng)系統(tǒng)上電/重置按鈕被按下時(shí)。起初,如步驟S604所示,運(yùn)行在系統(tǒng)處理器204上的固件214承擔(dān)系統(tǒng)100的所有控制和并阻止應(yīng)用處理器202到全部系統(tǒng)外設(shè)的訪問。例如,系統(tǒng)處理器204阻止到鍵盤206和比如鼠標(biāo)的類似輸入裝置的訪問。換句話說,即使這樣的外設(shè)附接到系統(tǒng)100,來自它們的信號(hào)也僅提供給系統(tǒng)處理器204,并且這些信號(hào)不轉(zhuǎn)發(fā)到應(yīng)用處理器202。同樣,系統(tǒng)處理器204使得視頻多路復(fù)用器208阻止任何來自應(yīng)用處理器202的視頻輸出在顯示器210上顯示。同時(shí),系統(tǒng)處理器204可以使視頻多路復(fù)用器208顯示由系統(tǒng)處理器204輸出的啟動(dòng)屏幕。如步驟S606所示,系統(tǒng)處理器204可以允許應(yīng)用處理器202啟動(dòng)。在其他實(shí)施例中,這些步驟不會(huì)發(fā)生,直到用戶已經(jīng)被驗(yàn)證。無論如何,在啟動(dòng)應(yīng)用處理器202期間,系統(tǒng)處理器204可以控制應(yīng)用處理器202到磁盤驅(qū)動(dòng)器410的訪問(例如允許處理器202加載一操作系統(tǒng),比如Windows7),并且為應(yīng)用處理器202提供用于BIOS/操作系統(tǒng)的仿真鍵盤和顯示器連接,即使這樣的輸入和輸出實(shí)際上被系統(tǒng)處理器204阻止。在下一步驟S608中,系統(tǒng)處理器204專門地控制鍵盤206(以及或許其他的輸入裝置,比如觸控板等)、以及正確地驗(yàn)證該用戶所需的互動(dòng),并通過顯示器210將這個(gè)流程的進(jìn)程和結(jié)果通知他。如上所闡述的,驗(yàn)證可以包括傳統(tǒng)的、專有的或?qū)淼募夹g(shù),并且本領(lǐng)域技術(shù)人員將認(rèn)識(shí)到許多可能的替換。在一個(gè)非限制性范例中,系統(tǒng)處理器204可以提示用戶輸入/提供憑證,比如用戶名、口令、安全密鑰、生物識(shí)別特征(例如指紋)。這些憑證可以與本地存儲(chǔ)的憑證相比較,或者系統(tǒng)處理器204可以將它們轉(zhuǎn)送到遠(yuǎn)距離的驗(yàn)證服務(wù)器來比較。如果在步驟S610中驗(yàn)證被確認(rèn)不成功,則在步驟S612顯示出錯(cuò)屏幕,并且來自用戶的、在配屬的外設(shè)上的進(jìn)一步輸入將不被理會(huì)?;蛘撸绻_定在步驟S610中驗(yàn)證成功,那么系統(tǒng)處理器204在步驟S614中聲明了正常運(yùn)行模式,并且使得視頻多路復(fù)用器208允許應(yīng)用處理器202的圖形占據(jù)整個(gè)屏幕。同樣,在成功驗(yàn)證之后,處理器204允許通過處理器202經(jīng)總線224仿真訪問到鍵盤206及其他外設(shè),這由固件214中編程提供的仿真功能控制。應(yīng)當(dāng)注意到“驗(yàn)證”狀態(tài)不必是永久的。例如,在系統(tǒng)不活動(dòng)或部分關(guān)閉的情況下,該系統(tǒng)可以鎖定且恢復(fù)到未經(jīng)驗(yàn)證的狀態(tài)。在這種情況下,應(yīng)用處理器202雖然或許仍然運(yùn)行,但是處理器204阻止來自任何外設(shè)的訪問,除了或許系統(tǒng)維持工作狀態(tài)所需的某些存儲(chǔ)器和網(wǎng)絡(luò)之外。此時(shí),系統(tǒng)處理器204可以顯示登錄屏幕且與用戶互動(dòng)來進(jìn)行再驗(yàn)證。作為另一個(gè)范例,甚至在該系統(tǒng)處于“驗(yàn)證狀態(tài)”時(shí),系統(tǒng)處理器204可以周期地在顯示器210上通過以“覆蓋”模式顯示信息或圖形以請(qǐng)求操作員注意,并且通過在鍵盤上輸入預(yù)先定義的組合鍵來啟動(dòng)操作員和系統(tǒng)處理器204之間的互動(dòng),這將會(huì)在系統(tǒng)處理器204的固件的控制下使得一菜單彈出。這樣的互動(dòng)可用于校準(zhǔn)網(wǎng)絡(luò)設(shè)定,執(zhí)行保持功能或請(qǐng)求任何其他的系統(tǒng)處理器204固件內(nèi)建的功能,比如保密語音或視頻通信。雖然本發(fā)明已經(jīng)通過參考它的最優(yōu)實(shí)施例進(jìn)行具體描述,但是對(duì)于本領(lǐng)域技術(shù)人員來說顯而易見的是,在形式和細(xì)節(jié)上的進(jìn)行變動(dòng)和修改并沒有脫離本發(fā)明的精神和范圍。附帶的權(quán)利更求意圖包含這樣的變動(dòng)和修改。