專(zhuān)利名稱(chēng):受管理引擎保護(hù)的輸入的制作方法
技術(shù)領(lǐng)域:
一般來(lái)說(shuō),本發(fā)明涉及受管理引擎保護(hù)的輸入(This invention generally relate to management engine secured input)。
背景技術(shù):
目前存在許多不同類(lèi)型的鍵盤(pán)記錄器,從而允許黑客掛鉤入(hook into)用戶(hù)計(jì) 算機(jī)的軟件棧中的不同層。掛鉤點(diǎn)可以低至鍵盤(pán)基本驅(qū)動(dòng)程序(keyboard base driver) (即與鍵盤(pán)基本驅(qū)動(dòng)程序一樣接近硬件),或者高至因特網(wǎng)瀏覽器的范圍內(nèi)部運(yùn)行的腳本 (即與因特網(wǎng)瀏覽器的范圍內(nèi)部運(yùn)行的腳本一樣遠(yuǎn)離硬件)。這樣,基于軟件的鍵盤(pán)記錄器 和其它類(lèi)型的惡意軟件(malware)可由黑客用于攔截用戶(hù)鍵入計(jì)算機(jī)的敏感信息。因此, 出現(xiàn)了如下需要保護(hù)用戶(hù)的敏感信息遠(yuǎn)離使用鍵盤(pán)記錄器和其它類(lèi)型的惡意軟件的黑 客。
通過(guò)以下給出的具體實(shí)施方式
以及通過(guò)本發(fā)明的一些實(shí)施例的附圖,將會(huì)更全面 地理解本發(fā)明,但是,不應(yīng)將本發(fā)明局限于所述的具體實(shí)施例,它們僅用于說(shuō)明和理解。圖1示出根據(jù)本發(fā)明的--些實(shí)施例的系統(tǒng)。
圖2示出根據(jù)本發(fā)明的--些實(shí)施例的系統(tǒng)。
圖3示出根據(jù)本發(fā)明的--些實(shí)施例的系統(tǒng)。
圖4示出根據(jù)本發(fā)明的--些實(shí)施例的順序圖(sequence diagram)。
圖5示出根據(jù)本發(fā)明的--些實(shí)施例的圖形表示。
圖6示出根據(jù)本發(fā)明的--些實(shí)施例的系統(tǒng)。
圖7示出根據(jù)本發(fā)明的--些實(shí)施例的系統(tǒng)。
圖8示出根據(jù)本發(fā)明的--些實(shí)施例的系統(tǒng)。
具體實(shí)施例方式本發(fā)明的一些實(shí)施例涉及受管理弓I擎保護(hù)的輸入。在一些實(shí)施例中,控制器控制輸入裝置,接收來(lái)自輸入裝置的輸入信息,阻止主處 理器控制輸入裝置,以及保護(hù)從輸入裝置所接收的輸入信息,使得輸入信息沒(méi)有被主處理器或者被運(yùn)行在主處理器上的任何軟件接收。在一些實(shí)施例中,一種方法包括控制輸入裝置,接收來(lái)自輸入裝置的輸入信息, 阻止主處理器控制輸入裝置,以及保護(hù)從輸入裝置所接收的輸入信息,使得輸入信息沒(méi)有 被主處理器或者被運(yùn)行在主處理器上的任何軟件接收。在一些實(shí)施例中,控制器工作在三種不同模式,包括第一模式,允許來(lái)自輸入裝置 的輸入信息直接轉(zhuǎn)到運(yùn)行在主計(jì)算機(jī)上的軟件;第二模式,允許來(lái)自輸入裝置的輸入信息 直接進(jìn)入安全控制器,但不允許來(lái)自輸入裝置的輸入信息轉(zhuǎn)到運(yùn)行在主計(jì)算機(jī)上的任何軟 件;以及第三模式,允許來(lái)自輸入裝置的輸入信息直接進(jìn)入安全控制器,并且還允許來(lái)自輸 入裝置的輸入信息轉(zhuǎn)到運(yùn)行在主計(jì)算機(jī)上的軟件。圖1示出根據(jù)一些實(shí)施例的系統(tǒng)100。在一些實(shí)施例中,系統(tǒng)100包括計(jì)算機(jī)102 和遠(yuǎn)程服務(wù)器104。圖1示出使用連接到遠(yuǎn)程服務(wù)器104(例如經(jīng)由因特網(wǎng))的計(jì)算機(jī)102 正在進(jìn)行某種在線(xiàn)購(gòu)物的終端用戶(hù)110(例如商品和/或服務(wù)的在線(xiàn)購(gòu)買(mǎi)者)可能如何 招致來(lái)自黑客112的攻擊。在在線(xiàn)購(gòu)物示例中,常見(jiàn)情形可包括下列編號(hào)步驟(numbered step)終端用戶(hù)110正使用在計(jì)算機(jī)102上加載的因特網(wǎng)瀏覽器來(lái)瀏覽電子商務(wù)網(wǎng)站, 以便選擇要購(gòu)買(mǎi)的商品(例如,經(jīng)由” w驟.buyalot. com”網(wǎng)站的遠(yuǎn)程服務(wù)器104)。用戶(hù)110從“www. buyalot. com"網(wǎng)站挑選一些商品,并將其放入虛擬籃中。在用戶(hù)110已經(jīng)完成選擇要購(gòu)買(mǎi)的商品時(shí)的某個(gè)點(diǎn),用戶(hù)點(diǎn)擊結(jié)帳按鈕。電子商務(wù)服務(wù)器104在窗口中為用戶(hù)110開(kāi)啟表單,并且要求該用戶(hù)將支付信息 輸入表單。用戶(hù)110將敏感數(shù)據(jù)鍵入表單的字段,諸如(例如)信用卡號(hào)、電話(huà)號(hào)碼、全名、地
址等等。電子商務(wù)服務(wù)器104向用戶(hù)回送收據(jù)。在上述示范情形的最敏感部分期間(例如在步驟4和5期間),用戶(hù)110的因特網(wǎng) 瀏覽器與遠(yuǎn)程站點(diǎn)的服務(wù)器104之間的通信通常運(yùn)行在諸如(例如)安全套接字層(SSL) 和/或傳輸層安全(TLS)等安全連接132之上。這防止在因特網(wǎng)上希望捕捉用戶(hù)所輸入 的敏感數(shù)據(jù)的例如黑客112等任何對(duì)手在沒(méi)有首先破解受保護(hù)的連接所使用的密碼算法 (即,SSL和/或TLS密碼算法)而得到該數(shù)據(jù)。由于黑客112將被要求的極高計(jì)算復(fù)雜度, 這通常不是問(wèn)題。箭頭134示出黑客112經(jīng)由這種方法來(lái)得到信息的嘗試。“X”包含在箭 頭134上,以便示出在嘗試這種類(lèi)型的盜用嘗試時(shí)極端困難。典型用戶(hù)110通常知道如下事實(shí)某種保護(hù)是必要的,以便避免在這種情形下輸 入的個(gè)人信息的盜用。例如,大多數(shù)用戶(hù)知道尋找通常在因特網(wǎng)瀏覽器的控制行所顯示的 指明當(dāng)前會(huì)話(huà)正通過(guò)受保護(hù)的連接來(lái)進(jìn)行的特殊圖標(biāo)。但是,老練的黑客112可嘗試使用 沒(méi)有通過(guò)使用例如SSL或TLS等受保護(hù)的連接132來(lái)保護(hù)的完全不同的方式來(lái)偷取敏感信 息。例如,在一些實(shí)施例中,黑客112可使用鍵盤(pán)記錄器或其它惡意軟件來(lái)得到敏感信息, 如經(jīng)由圖1的箭頭136所示。許多不同類(lèi)型的鍵盤(pán)記錄器和/或其它惡意軟件目前是可用 的,并且具有掛鉤入運(yùn)行在例如計(jì)算機(jī)102上的軟件棧中的不同層的能力。例如,鍵盤(pán)記錄 器和/或惡意軟件的掛鉤點(diǎn)可以低至鍵盤(pán)基本驅(qū)動(dòng)程序(即更接近硬件),或者高至運(yùn)行在 例如計(jì)算機(jī)102上的因特網(wǎng)瀏覽器的范圍內(nèi)部運(yùn)行的腳本(即,更遠(yuǎn)離硬件)。因此,雖然緩和(mitigate)對(duì)敏感數(shù)據(jù)的網(wǎng)絡(luò)盜用攻擊非常重要,但是其不足以完全緩和敏感數(shù)據(jù) 的盜用攻擊(例如引起身份盜用)。圖2示出根據(jù)一些實(shí)施例的系統(tǒng)200。在一些實(shí)施例中,系統(tǒng)200包括計(jì)算機(jī)202 和遠(yuǎn)程服務(wù)器204。圖2示出使用連接到遠(yuǎn)程服務(wù)器204(例如經(jīng)由因特網(wǎng))的計(jì)算機(jī)202 正進(jìn)行某種在線(xiàn)購(gòu)物的終端用戶(hù)210 (例如商品和/或服務(wù)的在線(xiàn)購(gòu)買(mǎi)者)可如何保護(hù)免 受來(lái)自黑客212的攻擊。與參照?qǐng)D1所述的布置相似,用戶(hù)的計(jì)算機(jī)202的因特網(wǎng)瀏覽器 與遠(yuǎn)程站點(diǎn)的服務(wù)器204之間的通信通常運(yùn)行在諸如(例如)安全套接字層(SSL)和/或 傳輸層安全(TLS)等受保護(hù)的連接232之上。這防止在因特網(wǎng)上希望捕捉用戶(hù)所輸入的敏 感數(shù)據(jù)的例如黑客212等任何對(duì)手在沒(méi)有首先破解受保護(hù)的連接所使用的密碼算法(即, SSL和/或TLS密碼算法)而得到數(shù)據(jù)。計(jì)算機(jī)202包括管理引擎(和/或可管理性引擎和/或ME)。在一些實(shí)施例中,ME 242是微控制器和/或嵌入控制器。在一些實(shí)施例中,ME 242包含在計(jì)算機(jī)202的芯片組 中。在一些實(shí)施例中,ME 242包含在計(jì)算機(jī)202的存儲(chǔ)控制器集線(xiàn)器(MCH)中。在一些實(shí) 施例中,ME242包含在計(jì)算機(jī)202的圖形和存儲(chǔ)控制器集線(xiàn)器中。在一些實(shí)施例中,ME 242可使用嵌入控制器(即用于遠(yuǎn)程發(fā)現(xiàn)、修復(fù)和保護(hù)計(jì)算 機(jī)系統(tǒng)的硅駐留管理機(jī)制)來(lái)實(shí)現(xiàn)。在一些實(shí)施例中,這個(gè)控制器用于提供解決密鑰可管 理性問(wèn)題的軟件解決方案的基礎(chǔ),從而改進(jìn)第三方管理軟件的遠(yuǎn)程管理和資產(chǎn)盤(pán)存(asset inventory)功能性的效率,保護(hù)關(guān)鍵代理的功能性免受例如操作系統(tǒng)(OS)故障、功率損耗 和有意或無(wú)意的客戶(hù)機(jī)去除影響。在一些實(shí)施例中,基礎(chǔ)結(jié)構(gòu)支持創(chuàng)建管理應(yīng)用的設(shè)置和 配置接口以及網(wǎng)絡(luò)、安全性和存儲(chǔ)管理。該平臺(tái)提供通過(guò)傳輸層安全(TLS)的加密支持以 及魯棒認(rèn)證支持。在一些實(shí)施例中,ME是駐留在固件中的硬件架構(gòu)。芯片組圖形和存儲(chǔ)控制器集線(xiàn) 器內(nèi)的微控制器包含管理引擎(ME)固件,它代表管理應(yīng)用來(lái)實(shí)現(xiàn)各種服務(wù)。ME可本地監(jiān)測(cè) 例如本地管理代理的心跳等活動(dòng),并且自動(dòng)采取糾正動(dòng)作。外部系統(tǒng)可遠(yuǎn)程與ME硬件進(jìn)行 通信,以便執(zhí)行診斷和恢復(fù)動(dòng)作,例如安裝、加載或重啟代理、診斷程序、驅(qū)動(dòng)程序以及甚至 操作系統(tǒng)。系統(tǒng)200中包含的個(gè)人保護(hù)技術(shù)可用于完全緩和來(lái)自鍵盤(pán)記錄器和其它類(lèi)型的 惡意軟件的任何嘗試攻擊。在一些實(shí)施例中,計(jì)算機(jī)202內(nèi)包含的管理引擎(和/或可管 理性引擎和/或ME) 242控制計(jì)算機(jī)202的鍵盤(pán),并且在用戶(hù)210與ME 242之間經(jīng)由計(jì)算 機(jī)202的任何輸入裝置(如鍵盤(pán))來(lái)建立置信路徑。另外,ME 242建立ME 242與遠(yuǎn)程服 務(wù)器204之間的受保護(hù)的路徑(但不是直接連接)。當(dāng)經(jīng)由ME 242對(duì)敏感數(shù)據(jù)進(jìn)行傳送(funnel)時(shí),例如在運(yùn)行在計(jì)算機(jī)202上的 軟件得到數(shù)據(jù)(例如,諸如信用卡號(hào)、電話(huà)號(hào)碼、全名、地址等敏感數(shù)據(jù))之前,ME 242實(shí)際 上對(duì)于用戶(hù)210鍵入的敏感數(shù)據(jù)進(jìn)行加密。這樣,當(dāng)運(yùn)行在例如計(jì)算機(jī)202的主處理器上 的軟件正處理數(shù)據(jù)時(shí),該數(shù)據(jù)已經(jīng)加密,并且因此不可用于由黑客212嘗試經(jīng)由箭頭236偷 取該數(shù)據(jù)的鍵盤(pán)記錄器。因此,無(wú)論什么類(lèi)型的鍵盤(pán)記錄器能夠滲入計(jì)算機(jī)202并且當(dāng)前 正作為軟件棧的一部分運(yùn)行在計(jì)算機(jī)202的主處理器上,當(dāng)用戶(hù)210正鍵入數(shù)據(jù)的同時(shí)個(gè) 人保護(hù)操作正被使用(例如經(jīng)由ME 242)時(shí),使用戶(hù)210的敏感數(shù)據(jù)保密。圖2描述了使用個(gè)人保護(hù)操作來(lái)緩和例如鍵盤(pán)記錄器等黑客嘗試偷取用戶(hù)所輸入的敏感數(shù)據(jù)。但是認(rèn)識(shí)到,例如圖2的ME 242等管理引擎對(duì)于所有實(shí)施例不是必要的, 并且其它裝置可用于實(shí)現(xiàn)與本文所述相同類(lèi)型的操作。另外,Intel品牌ME和/或Intel AMT對(duì)于所有實(shí)施例不是必要的,而其它裝置可用于實(shí)現(xiàn)與本文所述相同類(lèi)型的操作。圖3示出根據(jù)一些實(shí)施例的系統(tǒng)300。在一些實(shí)施例中,系統(tǒng)300包括輸入裝置 302 (例如鍵盤(pán)、鼠標(biāo)和/或任何其它類(lèi)型的輸入裝置)、操作系統(tǒng)(OS)和/或因特網(wǎng)瀏覽 器304、遠(yuǎn)程服務(wù)器306以及黑客(和/或黑客計(jì)算機(jī))308。圖3示出圖3頂部由例如SSL 或TLS等基于因特網(wǎng)的加密進(jìn)行保護(hù)的系統(tǒng)與圖3底部采用個(gè)人保護(hù)技術(shù)進(jìn)行保護(hù)的系統(tǒng) 之間的差別。在圖3的頂部,受保護(hù)的連接312 (例如使用SSL和/或TLS和/或隧道傳遞 技術(shù))在OS/因特網(wǎng)瀏覽器304與遠(yuǎn)程服務(wù)器306之間發(fā)生,而基于軟件的輸入/輸出314 在輸入裝置302與OS/因特網(wǎng)瀏覽器304之間發(fā)生。在圖3頂部所示的情形下,黑客308 可使用惡意軟件和/或鍵盤(pán)記錄器來(lái)截取以及利用用戶(hù)所輸入的敏感數(shù)據(jù)。另一方面,在 圖3的底部,在用戶(hù)計(jì)算機(jī)的一部分342 (諸如(例如)管理引擎或ME)與OS/因特網(wǎng)瀏覽 器304之間提供受保護(hù)的連接322,0S/因特網(wǎng)瀏覽器使用例如根據(jù)一些實(shí)施例的個(gè)人保護(hù) 技術(shù)。另外,在部分342 (例如ME)與遠(yuǎn)程服務(wù)器306之間,在324使用例如根據(jù)一些實(shí)施 例的個(gè)人保護(hù)技術(shù)對(duì)敏感數(shù)據(jù)進(jìn)行加密。這樣,基于軟件的鍵盤(pán)記錄器和其它類(lèi)型的惡意 軟件不可用于攔截用戶(hù)在輸入裝置302所輸入的敏感信息。圖4示出根據(jù)一些實(shí)施例的順序圖400。順序圖400包括用戶(hù)402、用戶(hù)402的計(jì) 算機(jī)404和服務(wù)器(例如電子商務(wù)網(wǎng)絡(luò)服務(wù)器)406。計(jì)算機(jī)404包括系統(tǒng)輸入/輸出硬 件(系統(tǒng)I/O冊(cè))412、輸入裝置(例如鍵盤(pán)和/或鼠標(biāo))414、管理引擎(和/或可管理性 引擎和/或ME) 416、瀏覽器418以及插件(plug in) 4200系統(tǒng)I/O HW 412、輸入裝置414 和ME 416全部通過(guò)例如硬件和/或固件來(lái)實(shí)現(xiàn),并且瀏覽器418和插件420全部通過(guò)例如 軟件來(lái)實(shí)現(xiàn)。用戶(hù)402是正使用計(jì)算機(jī)404來(lái)瀏覽遠(yuǎn)程站點(diǎn)的人,對(duì)于該遠(yuǎn)程站點(diǎn),受保護(hù) 的輸入是所期望的。用戶(hù)402希望使用個(gè)人保護(hù)技術(shù)來(lái)保護(hù)輸入,以便向遠(yuǎn)程服務(wù)器406 發(fā)送敏感信息(例如作為交易的一部分)。系統(tǒng)I/O HW 412是由用戶(hù)402使用的計(jì)算機(jī) 404內(nèi)的核心I/O控制實(shí)現(xiàn)。它在例如計(jì)算機(jī)404的芯片組中實(shí)現(xiàn),并且包括支持受保護(hù) 的輸入和受保護(hù)的輸出的模塊。輸入裝置414是外部硬件裝置,用戶(hù)402通過(guò)它輸入敏感 數(shù)據(jù)(例如通過(guò)在鍵盤(pán)上鍵入敏感數(shù)據(jù))。ME 416也包含在例如用戶(hù)402的計(jì)算機(jī)404的 芯片組中,控制系統(tǒng)I/O冊(cè)的受保護(hù)的I/O流,以及實(shí)現(xiàn)(例如通過(guò)固件)主要個(gè)人保護(hù) 流。瀏覽器418是用戶(hù)402通常在計(jì)算機(jī)404上運(yùn)行以便瀏覽因特網(wǎng)上的網(wǎng)站的軟件。要 注意,根據(jù)一些實(shí)施例的個(gè)人保護(hù)技術(shù)可用于使例如其它因特網(wǎng)技術(shù)的受保護(hù)的登錄堅(jiān)固 (harden),因此網(wǎng)絡(luò)瀏覽器只是一個(gè)示例,而在一些實(shí)施例中并不作要求。插件420是用于 在ME 416(和/或個(gè)人保護(hù)固件應(yīng)用)與遠(yuǎn)程服務(wù)器406之間傳送數(shù)據(jù)的瀏覽器插件。遠(yuǎn) 程服務(wù)器406(例如電子商務(wù)網(wǎng)絡(luò)服務(wù)器)是用戶(hù)402正運(yùn)行與其進(jìn)行的一些交易的服務(wù) 器。服務(wù)器406知道ME 416所使用的個(gè)人保護(hù)技術(shù),并且因此能夠利用受保護(hù)的交易。在一些實(shí)施例中,用戶(hù)402點(diǎn)擊例如“以個(gè)人保護(hù)進(jìn)行支付”等選擇,然后瀏覽器 軟件418激活服務(wù)器406的個(gè)人保護(hù)支持。然后,服務(wù)器406經(jīng)由瀏覽器418向個(gè)人保護(hù)插 件420發(fā)送個(gè)人保護(hù)插件和數(shù)據(jù)(例如“blobl”)。然后,插件420向ME 416發(fā)送“發(fā)起個(gè) 人保護(hù)”信號(hào),ME 416則驗(yàn)證該數(shù)據(jù)(“blobl”),并且使用戶(hù)計(jì)算機(jī)404進(jìn)入安全模式,從 而使彈出窗口向用戶(hù)402顯示,其中用戶(hù)可安全地輸入敏感和/或保密數(shù)據(jù)。用戶(hù)402經(jīng)
7由輸入裝置414保密且安全地輸入這個(gè)數(shù)據(jù),并且ME 416對(duì)該數(shù)據(jù)進(jìn)行加密(例如加密成 “blob2”)。然后,經(jīng)由瀏覽器418和/或插件420軟件將加密數(shù)據(jù)發(fā)送給服務(wù)器406 (例如 作為“message〗”)。服務(wù)器406向計(jì)算機(jī)404回送收據(jù),它被呈現(xiàn)給用戶(hù)402。這樣,安全 地傳送由用戶(hù)402經(jīng)由計(jì)算機(jī)404輸入到服務(wù)器406的任何敏感和/或保密數(shù)據(jù),并且基 于軟件的鍵盤(pán)記錄器和/或任何其它類(lèi)型的惡意軟件無(wú)法攔截輸入數(shù)據(jù)的任一個(gè)。圖5示出根據(jù)一些實(shí)施例的圖形表示500。圖形表示500包括供應(yīng)商(例如(諸 如)銀行或網(wǎng)站購(gòu)物站點(diǎn)等)的網(wǎng)站502。作為典型網(wǎng)站登錄的補(bǔ)充或替代,可使用特殊個(gè) 人保護(hù)登錄。個(gè)人保護(hù)窗口 504在網(wǎng)站顯示之上或在網(wǎng)站顯示旁的屏幕上例如作為受保護(hù) 的圖形輸出由ME輸出,用戶(hù)通過(guò)它與ME進(jìn)行通信,以便傳送敏感信息(例如信用卡號(hào)、登 錄憑證、登錄到網(wǎng)站的密碼、電話(huà)號(hào)碼、用戶(hù)的全名、地址、社保號(hào)等等)。個(gè)人保護(hù)插件觸發(fā)ME顯示個(gè)人保護(hù)窗口 504。窗口 504無(wú)法由運(yùn)行在例如CPU上 的軟件來(lái)捕捉。當(dāng)數(shù)據(jù)由ME進(jìn)行加密時(shí),它被發(fā)送到網(wǎng)站(例如圖5所示的銀行網(wǎng)站)的 服務(wù)器。例如,只有網(wǎng)站的服務(wù)器才能對(duì)數(shù)據(jù)解密并且得到ID和/或通行碼(passcode)數(shù) 據(jù)。窗口 504包括例如特殊ID,它向用戶(hù)確保ME繪制那個(gè)窗口 (例如“ID =Superman”);動(dòng) 畫(huà)(例如窗口 504的左上角的“A”),它當(dāng)用戶(hù)輸入進(jìn)入ME時(shí)運(yùn)行;遠(yuǎn)程服務(wù)器的顯式URL, 幫助緩和地址欄欺騙,這是黑客的頭號(hào)釣魚(yú)(phishing)技術(shù)(例如圖5中的“www. bank. intel.com");用戶(hù)憑證,例如ME的受保護(hù)的存儲(chǔ)裝置中存儲(chǔ)的ID、通行碼等,使得用戶(hù)無(wú) 需每次鍵入數(shù)據(jù)(在初始ME登錄之后)。受保護(hù)的輸入允許用戶(hù)輸入和操縱數(shù)據(jù),并且用 戶(hù)數(shù)據(jù)可在窗口 504中清楚地顯示或者通過(guò)使用例如“********”完全或部分遮擋,但在任 何情況下,無(wú)論數(shù)據(jù)在窗口 504中顯示或者不顯示,它都無(wú)法由運(yùn)行在用戶(hù)的計(jì)算機(jī)上的 任何軟件應(yīng)用程序或者由設(shè)法使用鍵盤(pán)記錄器軟件和/或其它惡意軟件的黑客進(jìn)行讀取。圖6示出根據(jù)一些實(shí)施例的系統(tǒng)600。系統(tǒng)600包括芯片組602和操作系統(tǒng) (OS) 6040芯片組602包括嵌入控制器622、安全輸入控制624和輸入裝置接口 626。在一 些實(shí)施例中,輸入裝置接口 626包括通用串行總線(xiàn)(USB)接口和PS/2接口,但是可包括與 USB和PS/2接口不同或者除了 USB和PS/2接口以外的不同類(lèi)型的輸入裝置接口(例如,在 一些實(shí)施例中使用具有藍(lán)牙接口的藍(lán)牙輸入裝置)。輸入裝置接口 626與各種外部用戶(hù)輸 入裝置632接口。鍵盤(pán)和鼠標(biāo)在圖6中示為可包括的外部輸入裝置632的類(lèi)型的示例,但 在一些實(shí)施例中使用其它類(lèi)型的外部輸入裝置。嵌入控制器622還包括耦合到安全輸入控 制624的安全輸入/輸出(I/O)引擎628。OS 604包括耦合到芯片組602的安全輸入控制 624的輸入裝置軟件棧642。在一些實(shí)施例中,通過(guò)在芯片組602中加入安全輸入控制624,嵌入控制器622可 接收來(lái)自外部輸入裝置632的數(shù)據(jù)。要注意,嵌入控制器622在圖6中示為集成到芯片組 602中,但是要注意,在一些實(shí)施例中,嵌入控制器622可包含在分立組件中、嵌入另一個(gè)芯 片和/或位于計(jì)算機(jī)的板(例如計(jì)算機(jī)的主板或母板)上。在一些實(shí)施例中,嵌入控制器 622是管理引擎、可管理性引擎和/或ME (在本文中又全部稱(chēng)作“ME”)。在一些實(shí)施例中, ME嵌入芯片組中(例如嵌入芯片組的存儲(chǔ)控制器集線(xiàn)器或MCH中)。在一些實(shí)施例中,嵌入控制器622控制操作,使得輸入數(shù)據(jù)直接進(jìn)入OS 604和/ 或運(yùn)行在計(jì)算機(jī)上的軟件。在一些實(shí)施例中,嵌入控制器622控制操作,使得輸入數(shù)據(jù)直接 進(jìn)入嵌入控制器622中,而不進(jìn)入OS 604和/或運(yùn)行在計(jì)算機(jī)上的軟件(也就是說(shuō),輸入是受保護(hù)的,并且僅由嵌入控制器622 了解)。在一些實(shí)施例中,嵌入控制器622控制操作, 使得輸入數(shù)據(jù)直接進(jìn)入OS 604和/或運(yùn)行在計(jì)算機(jī)上的軟件,并且使得輸入數(shù)據(jù)直接進(jìn)入 嵌入控制器622。在一些實(shí)施例中,甚至當(dāng)控制塊624的當(dāng)前配置是直接僅向0S604和/或僅向運(yùn) 行在計(jì)算機(jī)上的軟件發(fā)送輸入數(shù)據(jù)時(shí),用戶(hù)也可觸發(fā)嵌入控制器622。這允許計(jì)算機(jī)的終端 用戶(hù)在正常系統(tǒng)操作期間以運(yùn)行在主計(jì)算機(jī)上的任何類(lèi)型的惡意軟件無(wú)法欺騙的受保護(hù) 的方式來(lái)觸發(fā)嵌入控制器622的固件。例如,在一些實(shí)施例中,用戶(hù)可在例如鍵盤(pán)等用戶(hù)輸 入裝置632上輸入觸發(fā)嵌入控制器622的熱鍵序列。在一些實(shí)施例中,提供安全1/0,使得用戶(hù)可直接與例如嵌入控制器622等嵌入控 制器和/或ME進(jìn)行交互。在包括圖6所示實(shí)施例的一些實(shí)施例中,個(gè)人保護(hù)實(shí)現(xiàn)允許嵌入 控制器和/或ME與用戶(hù)進(jìn)行交互,并且以受保護(hù)的方式(例如使用加密)將其保密內(nèi)容 (secret)發(fā)送給遠(yuǎn)程網(wǎng)絡(luò)服務(wù)器。運(yùn)行在主計(jì)算機(jī)、主CPU和/或OS上的惡意軟件無(wú)法偷 取這些保密內(nèi)容。在一些實(shí)施例中,例如嵌入控制器622等嵌入控制器具有直接與用戶(hù)進(jìn)行交互并 且以受保護(hù)的方式經(jīng)由輸入裝置接收來(lái)自用戶(hù)的數(shù)據(jù)的能力。在一些實(shí)施例中,“受保護(hù)的 輸入”意味著輸入數(shù)據(jù)沒(méi)有通過(guò)主處理器(CPU),并因而不受可能運(yùn)行在那個(gè)CPU上、正設(shè) 法攔截用戶(hù)輸入的數(shù)據(jù)的惡意軟件影響。來(lái)自輸入裝置的安全輸入的其它相關(guān)實(shí)現(xiàn)在本申請(qǐng)的發(fā)明人和/或本申請(qǐng)的受 讓人所提交的其它申請(qǐng)中描述。例如,在Douglas Gabel和Moshe Maor的標(biāo)題為“Secure Input”的申請(qǐng)(代理人案卷號(hào)P26882)中,公開(kāi)了一些實(shí)施例中與USB輸入裝置相關(guān)的實(shí) 現(xiàn)。圖7示出根據(jù)一些實(shí)施例的系統(tǒng)700。系統(tǒng)700包括輸入/輸出控制器集線(xiàn)器 (ICH)邏輯702和外部輸入裝置端口 705。在一些實(shí)施例中可包含任何數(shù)量的端口 705。在 一些實(shí)施例中,端口 705是外部USB端口。ICH邏輯702包括通用主控制器接口和/或USB 主控制器接口 706(UHCI)UHCI#1、UHCI#2、. . . UHCI#n,其中η是UHCI的數(shù)量,并且η是1或 更大的任何整數(shù)。在一些實(shí)施例中,諸如(例如)在USB實(shí)施例中,UHCI的每個(gè)耦合到兩 個(gè)端口 705,并且可處理兩個(gè)端口 705。在一些實(shí)施例中,UHCI 706的每個(gè)經(jīng)由主接口 716 耦合到主計(jì)算機(jī),以便提供UHCI 706的主控。ICH邏輯702還包括耦合到端口 705的每個(gè) 的增強(qiáng)主控制器接口(EHCI)708。在一些實(shí)施例中,EHCI708經(jīng)由主接口 718與主計(jì)算機(jī)接 口,以便提供EHCI 708的主控。在一些實(shí)施例中,ICH邏輯702還包括復(fù)用器(MUX) 722和直接由ME控制的ME UHCI 724。系統(tǒng)700還包括用于將ME UHCI 724耦合到ME和ME :routing控制接口 728的 ME =UHCI 驅(qū)動(dòng)器 726。圖8示出根據(jù)一些實(shí)施例的系統(tǒng)800。系統(tǒng)800包括輸入/輸出控制器集線(xiàn)器 (ICH)802、存儲(chǔ)控制器集線(xiàn)器(MCH)804和外部輸入裝置端口 805。在一些實(shí)施例中可包含 任何數(shù)量的端口 805。在一些實(shí)施例中,端口 805是外部USB端口。ICH 802包括通用主 控制器接口和/或USB主控制器接口 806 (UHCI) UHCI #1、UHCI #2、…UHCI #n,其中η是 UHCI的數(shù)量,并且η是1或更大的任何整數(shù)。在一些實(shí)施例中,諸如(例如)在USB實(shí)施 例中,UHCI的每個(gè)耦合到兩個(gè)端口 805,并且可處理兩個(gè)端口 805。在一些實(shí)施例中,UHCI
9806的每個(gè)經(jīng)由主接口 816以及經(jīng)由干線(xiàn)880耦合到主計(jì)算機(jī),以便提供UHCI 806的主控。 ICH802還包括耦合到端口 805中每個(gè)的增強(qiáng)主控制器接口(EHCI)808。在一些實(shí)施例中, EHCI 808經(jīng)由ICH 802的主接口 818以及經(jīng)由干線(xiàn)880與主計(jì)算機(jī)接口,以便提供EHCI 808的主控。在一些實(shí)施例中,ICH 802還包括復(fù)用器(MUX) 822和直接由MCH804的ME 852控 制的ME UHCI 824。系統(tǒng)800還包括將ME UHCI 824耦合到ME 852的ME :UHCI驅(qū)動(dòng)器826 以及將ME 852耦合到MUX822的ME routing控制接口 828。MCH 804的ME 852包括接口 棧854 (例如USB棧)、接口控制856 (例如USB控制)和個(gè)人保護(hù)技術(shù)858。ME 852還包括 可編程裝置驅(qū)動(dòng)器862,它經(jīng)由通道(pass through)接口 864耦合到ICH 802的可編程接 口裝置832 (例如可編程USB裝置)。在一些實(shí)施例中,通過(guò)允許由ME(例如,在一些實(shí)施例中,由ME 852)直接控 制例如鍵盤(pán)等輸入裝置,在受保護(hù)的用戶(hù)與ME之間提供置信路徑。由用戶(hù)鍵入的擊鍵 (keystroke)不會(huì)被運(yùn)行在主機(jī)器上的任何種類(lèi)的軟件看到,而是由ME (例如ME 852)接 收。本文所示和所述的方式優(yōu)于其中經(jīng)由主計(jì)算機(jī)軟件組件將擊鍵從用戶(hù)鍵盤(pán)傳送到ME 的方式,因?yàn)樵谀欠N方式中,沒(méi)有提供對(duì)可能運(yùn)行在主CPU上以便例如記錄擊鍵的惡意的 軟件(即惡意軟件)的防護(hù)。在一些實(shí)施例中,為了實(shí)現(xiàn)從輸入裝置(諸如(例如)USB鍵盤(pán))的安全輸入, ME (例如ME 852)對(duì)輸入裝置而不是主處理器具有完全控制。但是,在大部分時(shí)間,系統(tǒng)沒(méi) 有運(yùn)行在其中實(shí)際用戶(hù)輸入(擊鍵)需要由ME來(lái)消耗(consume)的模式。因此,在一些實(shí) 施例中,ME消耗用戶(hù)輸入,并且使它通過(guò)主處理器。當(dāng)受保護(hù)的輸入情形是必要時(shí),ME簡(jiǎn)單 地自行消耗輸入,而將不會(huì)把輸入數(shù)據(jù)傳遞到主軟件。在一些實(shí)施例中,路由選擇邏輯包含在芯片組中,以便允許ME控制輸入裝置(例 如鍵盤(pán)裝置)。在一些實(shí)施例中,ME主控制器(如MEUSB主控制器)附連到輸入裝置,使得 ME可對(duì)它進(jìn)行控制(例如MEUHCI 724和/或ME UHCI 824)。在一些實(shí)施例中,ME中的輸 入裝置固件棧(例如,ME 852中的USB棧854是USB固件棧)用于枚舉所有裝置(枚舉所 有USB裝置),以便識(shí)別想要控制的人工輸入裝置(HID),以便控制那個(gè)裝置(例如控制鍵 盤(pán)或鼠標(biāo)),和/或?yàn)椴皇且龑?dǎo)鍵盤(pán)(bootkeyboard)的一部分的端點(diǎn)(USB端點(diǎn))提供通道 (例如用于暴露(expose)諸如音頻和功率控制等新的按鍵的接口)。在一些實(shí)施例中,可編 程裝置(例如USB可編程裝置832)包含在ICH中,以便暴露虛擬鍵盤(pán),通過(guò)該虛擬鍵盤(pán)可 引導(dǎo)所有不受保護(hù)的輸入。在一些實(shí)施例中,每當(dāng)輸入裝置(如鍵盤(pán))提供需要轉(zhuǎn)到主CPU 的輸入時(shí),可編程裝置(例如USB可編程裝置832)模擬將由主CPU控制的輸入裝置(例如 鍵盤(pán))。通過(guò)那個(gè)模擬輸入裝置,ME可轉(zhuǎn)送輸入擊鍵(the ME can send on the incoming key strokes)。在一些實(shí)施例中,將ME UHCI (例如 ME UHCI 724 禾Π / 或 ME UHCI824)加入 ICH。 ME UHCI由ME (例如ME 852)直接控制。添加ME控制路由選擇邏輯(例如ME ;UHCI驅(qū)動(dòng) 器726和/或826和/或ME routing控制728和/或828),它允許ME經(jīng)由ME UHCI來(lái)控 制任何已連接裝置(例如USB裝置)。雖然一些實(shí)施例在本文中已經(jīng)描述為通過(guò)特定方式來(lái)實(shí)現(xiàn),但是根據(jù)一些實(shí)施 例,可以不要求這些具體實(shí)現(xiàn)。例如,雖然一些實(shí)施例已經(jīng)描述為使用ME,但是其它實(shí)施例
10不要求使用ME。雖然一些實(shí)施例已參照具體實(shí)現(xiàn)來(lái)描述,但是根據(jù)一些實(shí)施例,其它實(shí)現(xiàn)是可能 的。另外,附圖所示和/或本文所述的電路元件或其它特征的布置和/或順序無(wú)需按照所 示和所述的特定方式來(lái)設(shè)置。根據(jù)一些實(shí)施例,許多其它布置是可能的。在附圖所示的各系統(tǒng)中,一些情況下的元件分別可具有相同的參考標(biāo)號(hào)或者不同 的參考標(biāo)號(hào),以便暗示所表示的元件可能是不同的和/或相似的。但是,元件可以足夠靈 活,以便具有不同實(shí)現(xiàn),并且與本文所示或所述的系統(tǒng)的部分或全部配合工作。附圖所示的 各個(gè)元件可以是相同或不同的。哪一個(gè)稱(chēng)作第一元件和哪一個(gè)稱(chēng)作第二元件是任意的。
在描述和權(quán)利要求書(shū)中,可使用術(shù)語(yǔ)“耦合”和“連接”及其派生。應(yīng)當(dāng)理解,這些 術(shù)語(yǔ)不是要作為彼此的同義詞。相反,在具體實(shí)施例中,“連接”可用來(lái)指明兩個(gè)或更多元件 相互直接物理或電接觸?!榜詈稀笨杀硎緝蓚€(gè)或更多元件直接物理或電接觸。但是,“耦合” 也可表示兩個(gè)或更多元件不是相互直接接觸,但是仍然相互配合或交互。算法在此一般被認(rèn)為是導(dǎo)致預(yù)期結(jié)果的前后一致的動(dòng)作或操作序列。它們包括物 理量的物理處理。盡管不是必須的,這些量通常采取能夠被存儲(chǔ)、轉(zhuǎn)移、組合、比較或者以其 它方式處理的電或磁信號(hào)的形式。主要為了一般使用的原因,將這些信號(hào)稱(chēng)作位、值、元素、 符號(hào)、字符、項(xiàng)、編號(hào)等,已經(jīng)證明有時(shí)非常便利。但應(yīng)當(dāng)理解,所有這些及類(lèi)似的術(shù)語(yǔ)均與 適當(dāng)?shù)奈锢砹筷P(guān)聯(lián),并且只是應(yīng)用于這些數(shù)量的便利標(biāo)簽。一些實(shí)施例可通過(guò)硬件、固件和軟件其中之一或者它們的組合來(lái)實(shí)現(xiàn)。一些實(shí)施 例還可作為機(jī)器可讀介質(zhì)上存儲(chǔ)的指令來(lái)實(shí)現(xiàn),所述指令可由計(jì)算平臺(tái)讀取和運(yùn)行以便執(zhí) 行本文所述的操作。機(jī)器可讀介質(zhì)可包括用于以機(jī)器(如計(jì)算機(jī))可讀形式存儲(chǔ)或傳送信 息的任何機(jī)制。例如,機(jī)器可讀介質(zhì)可包括只讀存儲(chǔ)器(ROM);隨機(jī)存取存儲(chǔ)器(RAM);磁 盤(pán)存儲(chǔ)介質(zhì);光存儲(chǔ)介質(zhì);閃速存儲(chǔ)裝置;電、光、聲或其它形式的傳播信號(hào)(例如載波、紅 外信號(hào)、數(shù)字信號(hào)、傳送和/或接收信號(hào)的接口等)等等。一個(gè)實(shí)施例是本發(fā)明的一個(gè)實(shí)現(xiàn)或示例。說(shuō)明書(shū)中提到“實(shí)施例”、“一個(gè)實(shí)施例”、 “一些實(shí)施例”或者“其它實(shí)施例”表示結(jié)合這些實(shí)施例所述的特定特征、結(jié)構(gòu)或特性包含在 本發(fā)明的至少部分實(shí)施例但不一定是全部實(shí)施例中。出現(xiàn)“實(shí)施例”、“一個(gè)實(shí)施例”或“一 些實(shí)施例”的各種情況不一定都表示相同的實(shí)施例。并非本文所述和所示的所有組件、特征、結(jié)構(gòu)、特性等都需要包含在具體實(shí)施例 中。例如,如果說(shuō)明書(shū)提到組件、特征、結(jié)構(gòu)或特性“可”、“可能”或者“能夠”被包含,則不 要求包含那個(gè)特定組件、特征、結(jié)構(gòu)或特性。如果說(shuō)明書(shū)或權(quán)利要求書(shū)提到“一個(gè)”元件,則 并不表示只有一個(gè)這種元件。如果說(shuō)明書(shū)或權(quán)利要求書(shū)提到“一個(gè)附加”元件,則不排除存 在一個(gè)以上這種附加元件。雖然本文中可能已使用流程圖和/或狀態(tài)圖來(lái)描述實(shí)施例,但是,本發(fā)明并不局 限于那些簡(jiǎn)圖或者本文中的對(duì)應(yīng)描述。例如,流程無(wú)需經(jīng)過(guò)每個(gè)所示的框或狀態(tài),或者按照 與本文所示和所述完全相同的順序。本發(fā)明不局限于本文所列的具體細(xì)節(jié)。實(shí)際上,獲益于本公開(kāi)的本領(lǐng)域的技術(shù)人 員會(huì)理解,在本發(fā)明的范圍內(nèi)可對(duì)以上描述和附圖進(jìn)行其它許多變更。相應(yīng)地,是包含對(duì)本 發(fā)明的任何修正的以下權(quán)利要求書(shū)定義本發(fā)明的范圍。
權(quán)利要求
一種設(shè)備,包括控制器,控制輸入裝置,接收來(lái)自所述輸入裝置的輸入信息,阻止主處理器控制所述輸入裝置,以及保護(hù)從所述輸入裝置所接收的所述輸入信息,使得所述輸入信息沒(méi)有被所述主處理器或者被運(yùn)行在所述主處理器上的任何軟件接收。
2.如權(quán)利要求1所述的設(shè)備,還包括主控制器接口,在所述輸入裝置與所述控制器之 間進(jìn)行接口,而沒(méi)有允許所述主處理器控制所述輸入裝置。
3.如權(quán)利要求1所述的設(shè)備,所述控制器允許來(lái)自所述輸入裝置的一些輸入信息由所 述主處理器接收。
4.如權(quán)利要求1所述的設(shè)備,所述控制器不允許來(lái)自所述輸入裝置的輸入信息由所述 主處理器接收。
5.如權(quán)利要求1所述的設(shè)備,還包括模擬所述輸入裝置以便允許所述控制器把來(lái)自 所述輸入裝置的輸入信息發(fā)送給所述主處理器的裝置。
6.如權(quán)利要求1所述的設(shè)備,還包括允許所述控制器控制所述輸入裝置的路由選擇 邏輯。
7.如權(quán)利要求1所述的設(shè)備,其中,所述輸入裝置是通用串行總線(xiàn)輸入裝置。
8.如權(quán)利要求1所述的設(shè)備,其中,所述控制器包括枚舉輸入裝置的固件棧,以便允許 所述控制器識(shí)別要控制的一個(gè)或多個(gè)輸入裝置,并且所述固件棧將控制所識(shí)別的裝置。
9.如權(quán)利要求1所述的設(shè)備,其中,所述控制器將識(shí)別要控制的一個(gè)或多個(gè)輸入裝置, 并且控制所識(shí)別的裝置。
10.如權(quán)利要求1所述的設(shè)備,其中,所述控制器將對(duì)所述輸入裝置具有完全控制。
11.如權(quán)利要求1所述的設(shè)備,其中,所述控制器包含在芯片組中。
12.如權(quán)利要求1所述的設(shè)備,其中,所述控制器是分立控制器。
13.如權(quán)利要求1所述的設(shè)備,其中,所述控制器嵌入另一個(gè)芯片中。
14.如權(quán)利要求1所述的設(shè)備,其中,所述控制器是管理引擎。
15.一種方法,包括控制輸入裝置;接收來(lái)自所述輸入裝置的輸入信息;阻止主處理器控制所述輸入裝置;以及保護(hù)從所述輸入裝置所接收的所述輸入信息,使得所述輸入信息沒(méi)有被所述主處理器 或者被運(yùn)行在所述主處理器上的任何軟件接收。
16.如權(quán)利要求15所述的方法,還包括允許來(lái)自所述輸入裝置的一些輸入信息由所 述主處理器接收。
17.如權(quán)利要求15所述的方法,還包括不允許來(lái)自所述輸入裝置的輸入信息由所述 主處理器接收。
18.如權(quán)利要求15所述的方法,模擬所述輸入裝置以便允許所述控制器把來(lái)自所述輸 入裝置的輸入信息發(fā)送給所述主處理器。
19.如權(quán)利要求15所述的方法,還包括識(shí)別要控制的一個(gè)或多個(gè)輸入裝置,并且控制 所識(shí)別的裝置。
20.一種設(shè)備,包括控制器,工作在三種不同模式,包括允許來(lái)自輸入裝置的輸入信息直接轉(zhuǎn)到運(yùn)行在主計(jì)算機(jī)上的軟件的第一模式;允許來(lái)自所述輸入裝置的輸入信息直接進(jìn)入安全控制器但不允許來(lái)自所述輸入裝置 的所述輸入信息轉(zhuǎn)到運(yùn)行在所述主計(jì)算機(jī)上的任何軟件的第二模式;以及允許來(lái)自所述輸入裝置的輸入信息直接進(jìn)入所述安全控制器并且還允許來(lái)自所述輸 入裝置的所述輸入信息轉(zhuǎn)到運(yùn)行在所述主計(jì)算機(jī)上的軟件的第三模式。
21.如權(quán)利要求20所述的設(shè)備,還包括允許所述控制器控制所述輸入裝置的路由選 擇邏輯。
22.如權(quán)利要求20所述的設(shè)備,其中,所述輸入裝置是通用串行總線(xiàn)輸入裝置。
23.如權(quán)利要求20所述的設(shè)備,其中,所述控制器將識(shí)別要控制的一個(gè)或多個(gè)輸入裝 置,并且控制所識(shí)別的裝置。
24.如權(quán)利要求20所述的設(shè)備,其中,所述控制器將對(duì)所述輸入裝置具有完全控制。
25.如權(quán)利要求20所述的設(shè)備,其中,所述控制器包含在芯片組中。
26.如權(quán)利要求20所述的設(shè)備,其中,所述控制器是分立控制器。
27.如權(quán)利要求20所述的設(shè)備,其中,所述控制器嵌入另一個(gè)芯片中。
28.一種方法,包括在第一模式,允許來(lái)自輸入裝置的輸入信息直接轉(zhuǎn)到運(yùn)行在主計(jì)算機(jī)上的軟件;在第二模式,允許來(lái)自所述輸入裝置的輸入信息直接進(jìn)入安全控制器,但不允許來(lái)自 所述輸入裝置的所述輸入信息轉(zhuǎn)到運(yùn)行在所述主計(jì)算機(jī)上的任何軟件;以及在第三模式,允許來(lái)自所述輸入裝置的輸入信息直接進(jìn)入所述安全控制器,并且還允 許來(lái)自所述輸入裝置的所述輸入信息轉(zhuǎn)到運(yùn)行在所述主計(jì)算機(jī)上的軟件。
29.如權(quán)利要求28所述的方法,其中,所述輸入裝置是通用串行總線(xiàn)輸入裝置。
30.如權(quán)利要求28所述的方法,還包括識(shí)別要控制的一個(gè)或多個(gè)輸入裝置;以及控制所識(shí)別的裝置。
31.如權(quán)利要求28所述的方法,還包括完全控制所述輸入裝置。
全文摘要
在一些實(shí)施例中,控制器控制輸入裝置,接收來(lái)自輸入裝置的輸入信息,阻止主處理器控制輸入裝置,以及保護(hù)從輸入裝置所接收的輸入信息,使得輸入信息沒(méi)有被主處理器或者被運(yùn)行在主處理器上的任何軟件接收。描述了其它實(shí)施例并且要求其權(quán)益。
文檔編號(hào)G06F13/00GK101911085SQ200880123995
公開(kāi)日2010年12月8日 申請(qǐng)日期2008年11月26日 優(yōu)先權(quán)日2007年12月31日
發(fā)明者M·馬奧爾 申請(qǐng)人:英特爾公司