專利名稱:可信賴計算平臺反映操作者在現(xiàn)場操作的實現(xiàn)方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計算機信息安全技術(shù),具體涉及一種可信賴計算平臺反映操作者在現(xiàn)場操作的實現(xiàn)方法和裝置;特別涉及一種基于TCPA/TCG(可信賴計算平臺聯(lián)盟/可信賴計算平臺組織)架構(gòu)的安全計算平臺的PHYSICAL PRESENCE(實際出現(xiàn),物理在線)的方法和裝置。
背景技術(shù):
隨著計算機的日益普及和網(wǎng)絡(luò)功能的不斷加強和廣泛應(yīng)用,安全對于計算機的使用者來說,變得越來越重要。如數(shù)據(jù)保存的安全、數(shù)據(jù)通信的安全等等。而PC的架構(gòu)就這方面來說可謂先天不足。一些業(yè)內(nèi)的公司逐漸地嗅到其中的商機,并有所動作。在1999年10月,Intel、Microsoft、Compaq、HP和IBM發(fā)起了名為TCPA(Trusted Computing Platform Alliance)的組織。定義了TCPA及其一族的標(biāo)準(zhǔn)。其目的是致力于促成新一代具有安全的、可信任的硬件運算平臺。其中定義了一個基礎(chǔ)模塊——可信賴平臺模塊TPM(Trusted Platform Module,可信賴計算平臺模塊),其加密和安全儲存的能力配合以Firmware可以監(jiān)控PC的安全要素,保證用戶數(shù)據(jù)的安全。這是一個開放的標(biāo)準(zhǔn),不僅僅限于PC的應(yīng)用,可以通過不同的實現(xiàn)方式廣泛應(yīng)用在多種計算平臺之中。與此同時,微軟提出鈀(Palladium)計劃作為新一代操作系統(tǒng)里的計劃之一,致力于運用TCPA的平臺來實現(xiàn)安全保護(hù)功能。
在TCPA規(guī)范中,TPM(可信賴計算平臺模塊)接受系統(tǒng)主控單元(Host-如在PC中指CPU)對其發(fā)出的協(xié)議指令,并反饋給主控單元相應(yīng)的信息。在這些命令中涉及安全的關(guān)鍵部分,TPM需要確認(rèn)此時接受到的命今是由計算機操作者而非來自于Hacker軟件。TCPA的實現(xiàn)機理是TPM提供一個狀態(tài)標(biāo)志-PhysicalPresence,當(dāng)計算機主控單元操作這些命令給TPM時,必須將這個標(biāo)志設(shè)置為邏輯“真”(Logical True)。而這個狀態(tài)的改變只能源于計算機操作者的意愿,即由他本人操作。
TPM提供了兩種方式來設(shè)置這個標(biāo)志一種方式是硬件方式。TPM芯片提供了一個管腳,當(dāng)把這個管腳的電平設(shè)置為邏輯“真”(高電平或低電平都有可能)時,TPM自動地把Physical Presence設(shè)置為“真”。
一種是軟件方式,由計算機的操作者控制的軟件通過向TPM發(fā)送命令來設(shè)置Physical Presence為“真”。TCPA要求這個命令的發(fā)出體現(xiàn)計算機操作者的主觀意愿,實現(xiàn)的緣起和結(jié)果等同于硬件方式。以下稱這種軟件為“設(shè)置軟件”。設(shè)置軟件可以是任何層次的軟件,如Firmware/BIOS、ROM、OS,也可以是在OS下運行的應(yīng)用軟件等等。但目前尚未見到公開的方法和裝置。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一個簡單、可靠、體現(xiàn)計算機操作者的主觀意愿而通過軟件方式設(shè)置Physical Presence的方法和裝置。
本發(fā)明提供一種可信賴計算平臺反映操作者在現(xiàn)場操作(PHYSICAL PRESENCE,實際出現(xiàn),物理在線)的實現(xiàn)裝置,包括外部機械或電氣狀態(tài)設(shè)置裝置,用于根據(jù)用戶要求,設(shè)置計算機的狀態(tài);檢測裝置,用于檢測外部機械或電氣狀態(tài)設(shè)置裝置所設(shè)置的狀態(tài);CPU(中央處理器),用于處理計算機的各種信息和控制;存儲裝置,存儲有計算機控制程序與數(shù)據(jù);控制裝置,用于根據(jù)所述檢測裝置檢測的狀態(tài),通過CPU調(diào)用存儲裝置中的程序,實現(xiàn)可信賴計算平臺狀態(tài)的設(shè)置。
可選地,所述外部機械或電氣狀態(tài)設(shè)置裝置包括二狀態(tài)發(fā)生器,用于根據(jù)用戶要求,設(shè)置狀態(tài)。
優(yōu)選地,所述二狀態(tài)發(fā)生器包括第一電阻,第一端連接到電源正電源,第二端通過第二電阻和開關(guān)連接到電源地;所述第二端連接到所述檢測裝置。
可選地,所述檢測裝置包括通用輸入裝置,用于讀取所述外部機械或電氣狀態(tài)設(shè)置裝置的狀態(tài)。
優(yōu)選地,所述檢測裝置為設(shè)定為預(yù)定地址的存儲器的至少一位。
可選地,所述存儲器包括內(nèi)部存儲器、端口寄存器。
優(yōu)選地,所述控制裝置為主機系統(tǒng)中與TPM(可信賴計算平臺模塊)通訊的接口裝置。
本發(fā)明還提供一種利用如權(quán)利要求1所述的裝置實現(xiàn)設(shè)置可信賴計算平臺的現(xiàn)場操作(PHYSICAL PRESENCE)的方法,包括步驟設(shè)定希望的可信賴計算平臺的狀態(tài);讀取所述設(shè)定的狀態(tài)的狀態(tài)值;根據(jù)所述狀態(tài),通過控制裝置設(shè)置TPM Physical Presence為“假”;或,通過控制裝置設(shè)置TPM Physical Presence為“真”。
可選地,所述設(shè)定希望的可信賴計算平臺的狀態(tài)的步驟包括設(shè)定狀態(tài)開關(guān)的位置,存儲所述狀態(tài)開關(guān)的位置對應(yīng)的邏輯電平于預(yù)定地址的存儲單元;或設(shè)定狀態(tài)開關(guān)的位置,通過計算機系統(tǒng)的GPI(通用輸入)讀取所述狀態(tài)開關(guān)的位置對應(yīng)的邏輯電平,存儲于預(yù)定地址的存儲單元。
優(yōu)選地,所述讀取所述狀態(tài)開關(guān)的位置對應(yīng)的邏輯電平和設(shè)置TPM Physical Presence的步驟通過如下程序?qū)崿F(xiàn)StartBool Status=ReadMemBit(Addr,BIT);If(Status)SetPhysicalPresence(True);ElseSetPhysicalPresence(False);End;其中,Addr為開關(guān)對應(yīng)的地址,BIT為開關(guān)對應(yīng)的位。
利用本發(fā)明,實現(xiàn)了滿足了TCPA/TCG規(guī)范所規(guī)定的系統(tǒng)只有通過機械的動作才可能對Physical Presence的影響,而不可能由軟件模擬產(chǎn)生相應(yīng)的信號的要求。本發(fā)明的實現(xiàn)方式成本低廉,應(yīng)用廣泛。
圖1示出了本發(fā)明的實施例的由設(shè)置軟件偵測特定的硬件狀態(tài)變化決定TPM Physical Presence設(shè)置的裝置的原理示意圖;圖2示出了圖1的實施例中利用開關(guān)型裝置改變PC GPI狀態(tài)作為計算機操作者輸入設(shè)計圖;圖3示出了圖2的裝置中設(shè)置TPM的方法的流程圖;圖4示出了本發(fā)明的另一實施例,在ARM架構(gòu)計算平臺中的裝置的原理圖;圖5示出了本發(fā)明的又一實施例,在PowerPC架構(gòu)計算平臺中的實現(xiàn)原理框圖。
具體實施例方式
本發(fā)明通過計算機由軟件感知的一部分硬件的狀態(tài)改變,由設(shè)置軟件偵測這個特定的硬件狀態(tài)來決定是否將TPM PhysicalPresence設(shè)置為“真”或“假”。這種方法符合TCPA規(guī)范中Physical Presence在物理狀態(tài)上的改變來體現(xiàn)此種改變體現(xiàn)計算機操作者意愿的要求。
為了便于本領(lǐng)域一般技術(shù)人員實施和理解本發(fā)明,現(xiàn)結(jié)合附圖通過實施例描繪本發(fā)明,應(yīng)該知道,本發(fā)明并不限于這里描繪的實施例。
圖1示出了本發(fā)明的實施例的由設(shè)置軟件偵測特定的硬件狀態(tài)變化決定TPM Physical Presence設(shè)置的裝置的原理示意圖。計算機操作者通過改變外部機械狀態(tài)而引起計算機軟件可感知的邏輯變化,這個變化的消息傳遞給主機系統(tǒng),系統(tǒng)主控單元CPU接受到這個消息后,因應(yīng)不同的邏輯狀態(tài)發(fā)出相對應(yīng)的TCPA命令給TPM,設(shè)置其Physical Presence標(biāo)志的狀態(tài)。
其中,檢測裝置檢測機械或電氣開關(guān)的狀態(tài)變化,CPU通過軟件發(fā)現(xiàn)這個狀態(tài)變化,通過控制裝置控制TPM(可信賴計算平臺模塊)確定其Physical Presence標(biāo)志的狀態(tài),以控制計算機的運行。
圖2示出了圖1的實施例中利用開關(guān)型裝置改變PC GPI狀態(tài)作為計算機操作者輸入設(shè)計圖。物理描繪的簡潔,圖1中描繪過的部分這里不再描繪。
在這個實施例中,檢測裝置的硬件利用了PC系統(tǒng)芯片組提供的GPI(General Purpose Input,通用輸入)。采用一個外部開關(guān)K作為外部機械狀態(tài)標(biāo)志,通過系統(tǒng)芯片組的GPI將開關(guān)K的狀態(tài)變化轉(zhuǎn)化為邏輯信號傳給系統(tǒng)主控-CPU,然后CPU根據(jù)其狀態(tài)設(shè)置Physical Presence的狀態(tài)。
此處的GPIx,其輸入端通過R1連接到電源Vcc,通過R2和K1連接到電源地GND。R1設(shè)為10kOhm,R2設(shè)為1kOhm。當(dāng)K1打開時,GPIx的輸入為高電平,反之,當(dāng)K1閉合時,GPIx的輸入為低電平。
在實施例中,當(dāng)GPIx為高電平時代表計算機操作者欲設(shè)置TPM Physical Presence為邏輯“真”。反之,當(dāng)GPIx為低電平時設(shè)置為邏輯“假”
PC系統(tǒng)芯片組中,GPI的輸入狀態(tài)體現(xiàn)在芯片組的寄存器中,不同的芯片有不同的讀取方法。
圖3示出了圖2的裝置中設(shè)置TPM的方法的流程圖。首先,讀取芯片組寄存器中GPIx的狀態(tài)值;然后,判斷狀態(tài)值是否為1,如果不為1,通過控制裝置設(shè)置TPM Physical Presence為“假”,如果為1,通過控制裝置設(shè)置TPM Physical Presence為“真”。方法結(jié)束。下文列出實現(xiàn)這個方法的源程序。StartBool Status=ReadGPIxStatus();If(Status)SetPhysicalPresence(True);ElseSetPhysicalPresence(False);End其中,ReadGPIxStatus()是讀取系統(tǒng)芯片組中對應(yīng)GPI-GPIx的狀態(tài)的函數(shù),其返回值是邏輯值True或False。當(dāng)GPIx的輸入為高電平時,ReadGPIStatus()返回True;相反,當(dāng)GPIx的輸入為低電平時,ReadGPIStatus()返回False。
SetPhysicalPresence(Bool)是根據(jù)入口參數(shù)-一個布爾變量的值分別設(shè)置Physical Presence的狀態(tài)的函數(shù)。其實現(xiàn)方法遵循TCPA的規(guī)范,并遵循TPM設(shè)計方案的要求。請參閱相關(guān)規(guī)范文檔。
因此,本發(fā)明可根據(jù)外部機械狀態(tài)改變可信賴平臺模塊(TPM)中Physical Presence的狀態(tài)。
圖4示出了本發(fā)明的另一實施例,在ARM架構(gòu)計算平臺中的裝置的原理圖。在ARM體系的計算平臺中,通過ARM系統(tǒng)提供的GPI也可以實現(xiàn)此要求。
圖5示出了本發(fā)明的又一實施例,在PowerPC架構(gòu)計算平臺中的實現(xiàn)原理框圖。
由于在PowerPC架構(gòu)的計算平臺中,系統(tǒng)不提供類似GPI的功能,本發(fā)明通過增加少量硬件實現(xiàn)。
在這個實施例上,通過在系統(tǒng)存儲器總線(Memory Bus)上搭接一個邏輯模塊(可以用CPLD等器件實現(xiàn))實現(xiàn)。該邏輯模塊將外部開關(guān)的狀態(tài)通過存儲器總線體現(xiàn)在計算機存儲空間的預(yù)定存儲單元上,例如,可以給開關(guān)K設(shè)定一個預(yù)定存儲地址,通過讀這個地址的數(shù)據(jù),可以獲得開關(guān)K的狀態(tài),1或者0。
此時,程序部分更為簡單,第一實施例中的ReadGPIxStatus(),修改為ReadMemBit(Addr,BIT)的函數(shù)即可。此函數(shù)讀取Addr所指明的存儲器地址中一個BYTE中的一個Bit的值1或0。此Bit由輸入?yún)?shù)BIT指明。程序其它部分不變。
雖然通過實施例描繪了本發(fā)明,本領(lǐng)域普通技術(shù)人員知道,本發(fā)明有許多變形和變化而不脫離本發(fā)明的精神,因此,希望所附的權(quán)利要求包括這些變形和變化而不脫離本發(fā)明的精神。
權(quán)利要求
1.一種可信賴計算平臺反映操作者在現(xiàn)場操作(PHYSICALPRESENCE,實際出現(xiàn),物理在線)的實現(xiàn)裝置,包括外部機械或電氣狀態(tài)設(shè)置裝置,用于根據(jù)用戶要求,設(shè)置計算機的狀態(tài);檢測裝置,用于檢測外部機械或電氣狀態(tài)設(shè)置裝置所設(shè)置的狀態(tài);CPU(中央處理器),用于處理計算機的各種信息和控制;存儲裝置,存儲有計算機控制程序與數(shù)據(jù);控制裝置,用于根據(jù)所述檢測裝置檢測的狀態(tài),通過CPU調(diào)用存儲裝置中的程序,實現(xiàn)可信賴計算平臺狀態(tài)的設(shè)置。
2.如權(quán)利要求1所述的裝置,其中,所述外部機械或電氣狀態(tài)設(shè)置裝置包括二狀態(tài)發(fā)生器,用于根據(jù)用戶要求,設(shè)置狀態(tài)。
3.如權(quán)利要求2所述的裝置,其中,所述二狀態(tài)發(fā)生器包括第一電阻,第一端連接到電源正電源,第二端通過第二電阻和開關(guān)連接到電源地;所述第二端連接到所述檢測裝置。
4.如權(quán)利要求1或2所述的裝置,其中,所述檢測裝置包括通用輸入裝置,用于讀取所述外部機械或電氣狀態(tài)設(shè)置裝置的狀態(tài)。
5.如權(quán)利要求1或2所述的裝置,其中,所述檢測裝置為設(shè)定為預(yù)定地址的存儲器的至少一位。
6.如權(quán)利要求5所述的裝置,其中,所述存儲器包括內(nèi)部存儲器、端口寄存器。
7.如權(quán)利要求1或2所述的裝置,其中,所述控制裝置為主機系統(tǒng)中與TPM(可信賴計算平臺模塊)通訊的接口裝置。
8.一種利用如權(quán)利要求1所述的裝置實現(xiàn)設(shè)置可信賴計算平臺的現(xiàn)場操作(PHYSICAL PRESENCE)的方法,包括步驟設(shè)定希望的可信賴計算平臺的狀態(tài);讀取所述設(shè)定的狀態(tài)的狀態(tài)值;根據(jù)所述狀態(tài),通過控制裝置設(shè)置TPM Physical Presence為“假”;或,通過控制裝置設(shè)置TPM Physical Presence為“真”。
9.如權(quán)利要求8所述的方法,其中,所述設(shè)定希望的可信賴計算平臺的狀態(tài)的步驟包括設(shè)定狀態(tài)開關(guān)的位置,存儲所述狀態(tài)開關(guān)的位置對應(yīng)的邏輯電平于預(yù)定地址的存儲單元;或設(shè)定狀態(tài)開關(guān)的位置,通過計算機系統(tǒng)的GPI(通用輸入)讀取所述狀態(tài)開關(guān)的位置對應(yīng)的邏輯電平,存儲于預(yù)定地址的存儲單元。
10.如權(quán)利要求9所述的方法,其中,所述讀取所述狀態(tài)開關(guān)的位置對應(yīng)的邏輯電平和設(shè)置TPM Physical Presence的步驟通過如下程序?qū)崿F(xiàn)StartBool Status=ReadMemBit(Addr,BIT);If(Status)SetPhysicalPresence(True);ElseSetPhysicalPresence(False);End;其中,Addr為開關(guān)對應(yīng)的地址,BIT為開關(guān)對應(yīng)的位。
全文摘要
本發(fā)明提供了一種可信賴計算平臺反映操作者在現(xiàn)場操作的實現(xiàn)裝置和方法。裝置包括外部機械或電氣狀態(tài)設(shè)置裝置,用于設(shè)置計算機的狀態(tài);檢測裝置,用于檢測設(shè)置的狀態(tài);CPU(中央處理器);存儲裝置;控制裝置,用于根據(jù)檢測裝置檢測的狀態(tài),實現(xiàn)可信賴計算平臺狀態(tài)的設(shè)置。方法包括步驟設(shè)定希望的可信賴計算平臺的狀態(tài);讀取設(shè)定的狀態(tài);根據(jù)狀態(tài),通過控制裝置設(shè)置現(xiàn)場操作為“假”;或為“真”。本發(fā)明的成本低廉。
文檔編號G06F11/00GK1529231SQ20031010037
公開日2004年9月15日 申請日期2003年10月14日 優(yōu)先權(quán)日2003年10月14日
發(fā)明者王曉文 申請人:聯(lián)想(北京)有限公司