專利名稱:在系統(tǒng)管理程序環(huán)境中提供可信平臺模塊的方法和系統(tǒng)的制作方法
技術領域:
本發(fā)明涉及改進的數(shù)據(jù)處理系統(tǒng),特別涉及使用密碼學用于數(shù)據(jù)儲存保護的方法和裝置。
背景技術:
大多數(shù)數(shù)據(jù)處理系統(tǒng)包含需要被保護的敏感數(shù)據(jù)和敏感操作。例如,需要保護配置信息的完整性免受非法修改,而需要保護其他的信息,例如口令文件免受非法的公開。作為另一個例子,數(shù)據(jù)處理系統(tǒng)需要能夠可靠地向其他的數(shù)據(jù)處理系統(tǒng)證實自己的身份。
給定數(shù)據(jù)處理系統(tǒng)的操作者可能采用很多不同類型的安全機制來保護數(shù)據(jù)處理系統(tǒng)。例如,數(shù)據(jù)處理系統(tǒng)上的操作系統(tǒng)可以提供各種保護敏感數(shù)據(jù)的軟件機制,例如各種認證和授權方案,而某些硬件設備和軟件應用程序可能依靠例如硬件安全令牌和生物測定傳感器設備等的硬件機制來保護敏感數(shù)據(jù)。
然而數(shù)據(jù)處理系統(tǒng)的數(shù)據(jù)的完整性及其操作是以信任問題為中心的。如果另一實體具有某種用于針對特定數(shù)據(jù)項或特定操作和數(shù)據(jù)處理系統(tǒng)創(chuàng)建信任的方式,則該數(shù)據(jù)處理系統(tǒng)的數(shù)據(jù)和操作可以被該實體驗證或接受。
因此,保護數(shù)據(jù)處理系統(tǒng)的能力受到在數(shù)據(jù)系統(tǒng)內(nèi)創(chuàng)建或確立起信任的方式的限制。為了解決保護數(shù)據(jù)處理系統(tǒng)的問題,一些公司的聯(lián)盟已經(jīng)形成了可信計算組織(Trusted Computing Group,TCG)來開發(fā)和推廣用于可信計算的開放標準和規(guī)范。根據(jù)可信計算組織的規(guī)范,給定數(shù)據(jù)處理系統(tǒng)內(nèi)的信任,或者在數(shù)據(jù)處理系統(tǒng)和另一個實體之間的信任,是基于數(shù)據(jù)處理系統(tǒng)內(nèi)已經(jīng)被稱為可信平臺模塊(Trusted Platform Module,TPM)的硬件部件的存在。
可信平臺使一個實體能夠確定該平臺內(nèi)軟件環(huán)境的狀態(tài),并把數(shù)據(jù)封閉到該平臺內(nèi)的特定軟件環(huán)境中。該實體在與該平臺執(zhí)行事務處理前推導出該平臺內(nèi)的計算環(huán)境的狀態(tài)是否是可接受的。為實現(xiàn)它,可信平臺給該實體提供反映可信平臺的軟件狀態(tài)的完整性的完整性度量,也被叫做完整性測量,并且完整性測量要求計算平臺內(nèi)的信任基礎。為了讓系統(tǒng)成為可信平臺,完整性測量必須從測量的核心信任基礎(Core Root of Trust for Measurement)開始,并且從初始程序加載(initial program load,IPL)過程一直延續(xù)到操作系統(tǒng)被初始化的時刻為止。
已經(jīng)以獨立平臺的方式大致地描述了可信平臺模塊,而針對例如個人計算機(personal computer,PC)的某些類別的系統(tǒng)已經(jīng)創(chuàng)建了對特定平臺的描述?,F(xiàn)有的用于可信計算的硬件集中在對單個系統(tǒng)的單個可信平臺模塊的實施。這種情況對于簡單的服務器和PC是足夠的,簡單的服務器和PC往往是滿足獨立計算環(huán)境或客戶機一側(cè)的處理環(huán)境的需求的較低性能的計算機。
然而,高性能服務器支持可能需要在同時多個線程上訪問可信平臺模塊的可分割、多線程環(huán)境。為了達到這樣的環(huán)境的需要,可信平臺模塊必須也提供高性能。因此,具有用于在可分割環(huán)境中使能(enable)高性能可信平臺模塊的機制將是有益的。
發(fā)明內(nèi)容
提出了用于在數(shù)據(jù)處理系統(tǒng)內(nèi)實施可信計算環(huán)境的方法、系統(tǒng)、裝置和計算機程序產(chǎn)品。在數(shù)據(jù)處理系統(tǒng)內(nèi),系統(tǒng)管理程序(hypervisor)被初始化,并且系統(tǒng)管理程序監(jiān)督數(shù)據(jù)處理系統(tǒng)內(nèi)的多個邏輯的、可分割的、運行時環(huán)境。系統(tǒng)管理程序為基于系統(tǒng)管理程序的可信平臺模塊(TPM)保留邏輯分區(qū),并將基于系統(tǒng)管理程序的可信平臺模塊作為虛擬設備,通過設備接口展示給其他的邏輯分區(qū)。每一次系統(tǒng)管理程序在數(shù)據(jù)處理系統(tǒng)內(nèi)創(chuàng)建邏輯分區(qū)時,系統(tǒng)管理程序也在保留邏輯分區(qū)內(nèi)實例化一個邏輯TPM,以使邏輯TPM被固定(anchor)到基于系統(tǒng)管理程序的TPM。系統(tǒng)管理程序管理保留分區(qū)內(nèi)的多個邏輯TPM,以使每一個邏輯TPM都與一個邏輯分區(qū)唯一地相關聯(lián)。
在所附權利要求中給出了據(jù)信是新穎特征的本發(fā)明的特性。通過結(jié)合附圖參考下面的詳細描述,可以最佳地理解本發(fā)明自身,以及其他目的、優(yōu)點,其中圖1A描繪了典型的數(shù)據(jù)處理系統(tǒng)網(wǎng)絡,其中每個數(shù)據(jù)處理系統(tǒng)都可以實施本發(fā)明;圖1B描繪了可以在數(shù)據(jù)處理系統(tǒng)中使用的典型的計算機體系結(jié)構(gòu),在該數(shù)據(jù)處理系統(tǒng)中可以實施本發(fā)明;圖1C描繪了示出現(xiàn)有技術分布式數(shù)據(jù)處理系統(tǒng)的例子的框圖;圖2描繪了示出典型的可信平臺體系結(jié)構(gòu)的例子的框圖;圖3描繪了示出典型的可信平臺模塊的一些主要部件的框圖;圖4A描繪了示出數(shù)據(jù)處理系統(tǒng)內(nèi)的基于系統(tǒng)管理程序的執(zhí)行環(huán)境中的高性能可信平臺模塊的邏輯構(gòu)成的框圖;圖4B描繪了示出數(shù)據(jù)處理系統(tǒng)內(nèi)的基于系統(tǒng)管理程序的執(zhí)行環(huán)境中,包括邏輯可信平臺模塊的高性能可信平臺模塊的邏輯構(gòu)成的框圖;圖5A-5C描繪了示出基于系統(tǒng)管理程序的可信平臺模塊籍以支持對TPM功能進行訪問的過程的一組流程圖。
具體實施例方式
一般來說,可以包含或涉及本發(fā)明的設備包括多種數(shù)據(jù)處理技術。因此,作為背景,在更詳細地描述本發(fā)明之前,先描述在分布式數(shù)據(jù)處理系統(tǒng)內(nèi)的硬件和軟件部件的典型構(gòu)成。
現(xiàn)在參考附圖,圖1A描述了典型的數(shù)據(jù)處理系統(tǒng)網(wǎng)絡,其中每個數(shù)據(jù)處理系統(tǒng)都可以實施本發(fā)明的一部分。分布式數(shù)據(jù)處理系統(tǒng)100包含網(wǎng)絡101,網(wǎng)絡101是可以被用來在分布式數(shù)據(jù)處理系統(tǒng)100內(nèi)的連接在一起的各種設備和計算機之間提供通信鏈路的介質(zhì)。網(wǎng)絡101可以包括例如電線或光纜的永久連接或者通過電話或無線通信做出的臨時連接。在所描繪的例子中,服務器102和服務器103以及儲存單元104被連接到網(wǎng)絡101。此外,客戶機105-107也被連接到網(wǎng)絡101??蛻魴C105-107和服務器102-103可以由各種計算設備代表,例如大型機、個人計算機、個人數(shù)字助理(PDA)等。分布式數(shù)據(jù)處理系統(tǒng)100可以包括額外的服務器、客戶機、路由器、其他的設備,以及未被示出的對等式(peer-to-peer)體系結(jié)構(gòu)。
在所描繪的例子中,分布式數(shù)據(jù)處理系統(tǒng)100可以包括因特網(wǎng),由網(wǎng)絡101代表世界范圍內(nèi)使用各種協(xié)議與彼此進行通信的網(wǎng)絡和網(wǎng)關的集合,各種協(xié)議例如輕型目錄訪問協(xié)議(Lightweight Directory Access Protocol,LDAP)、傳輸控制協(xié)議/網(wǎng)際協(xié)議(Transport Control Protocol/Internet Protocol,TCP/IP)、超文本傳輸協(xié)議(Hyper Text Transfer Protocol,HTTP)、無線應用協(xié)議(Wireless Application Protocol,WAP)等。當然,分布式數(shù)據(jù)處理系統(tǒng)100也可以包括很多不同類型的網(wǎng)絡,諸如例如內(nèi)聯(lián)網(wǎng)、局域網(wǎng)(LAN)或廣域網(wǎng)(WAN)。例如,服務器102直接支持客戶機109和網(wǎng)絡110,網(wǎng)絡11包含無線通信鏈路。網(wǎng)絡使能(network enabled)的電話111通過無線鏈路112連接到網(wǎng)絡110,PDA 113通過無線鏈路114連接到網(wǎng)絡110。電話111和PDA 113也可以使用例如“藍牙”無線技術等的適當技術創(chuàng)建所謂的個人區(qū)域網(wǎng)(personal area network,PAN)或?qū)S镁W(wǎng)絡(ad-hoc network),經(jīng)過無線鏈路115在它們自己之間直接傳送數(shù)據(jù)。以類似的方式,PDA 103可以通過無線通信鏈路116把數(shù)據(jù)傳送到PDA 107。
現(xiàn)在參考圖1B,圖形描繪了如圖1A中所示的那些數(shù)據(jù)處理系統(tǒng)的典型計算機體系結(jié)構(gòu),在該數(shù)據(jù)處理系統(tǒng)中可以實施本發(fā)明。數(shù)據(jù)處理系統(tǒng)120包含一個或多個連接到內(nèi)部系統(tǒng)總線123的中央處理單元(CPU)122,內(nèi)部系統(tǒng)總線123互連隨機存取存儲器(RAM)124、只讀存儲器126和輸入/輸出適配器128,輸入/輸出適配器128支持例如打印機130、磁盤單元132或例如音頻輸出設備等其他未示出的設備的各種I/O設備。系統(tǒng)總線123還連接到提供對通信鏈路136的訪問的通信適配器134。用戶接口適配器148連接各種用戶設備,例如鍵盤140和鼠標142,或其他未示出的設備,例如觸摸屏、輸入筆(stylus)、麥克風等。顯示適配器144把系統(tǒng)總線123連接到顯示設備146。
本領域普通技術人員將理解,圖1B中的硬件可以依據(jù)系統(tǒng)實施而變化。例如,系統(tǒng)可以具有一個或多個處理器和一種或多種類型的易失性和非易失性存儲器,處理器例如基于IntelPentium(奔騰)的處理器和數(shù)字信號處理器(digital signal processor,DSP)。除了圖1B中所描繪的硬件以外還可以使用其他的外圍設備,或者用其他的外圍設備代替圖1B中所描繪的硬件。所描繪的例子不意味著暗示針對本發(fā)明的體系結(jié)構(gòu)限制。
現(xiàn)在參考圖1C,框圖描繪了現(xiàn)有技術分布式數(shù)據(jù)處理系統(tǒng)的例子。分布式數(shù)據(jù)處理系統(tǒng)150包含多個節(jié)點152-156,每一個節(jié)點代表單處理器或多處理器設備,或連接到通信交換機(communication switch)或網(wǎng)絡的卡;節(jié)點152-156可以被實施為中央電子復合體(central electronic complex,CEC)單元。系統(tǒng)管理程序160在系統(tǒng)150的分布式數(shù)據(jù)處理節(jié)點的共享計算資源上支持一個或多個操作系統(tǒng)和/或操作系統(tǒng)部分(partition)162-168的多個實例。系統(tǒng)管理程序160和負責引導系統(tǒng)150及監(jiān)視共享資源的可用性的系統(tǒng)級服務處理器170進行通信。每一個分布式數(shù)據(jù)處理節(jié)點與例如,服務處理器172-176的服務處理器相關聯(lián),每一個服務處理器負責引導它關聯(lián)的節(jié)點并輔助系統(tǒng)級服務處理器170監(jiān)視每一個節(jié)點;服務處理器可以通過各種到其關聯(lián)的節(jié)點的物理連接與節(jié)點相關聯(lián),例如,服務處理器的硬件卡可以連到PCI總線上。應該注意,每一個節(jié)點都可以具有多個服務處理器,雖然只有一個服務處理器將負責引導其關聯(lián)的節(jié)點。
本發(fā)明可以在各種硬件平臺和計算環(huán)境上實施;圖1A、圖1B和圖1C意在作為各種不同的(heterogeneous)計算環(huán)境的例子,而不是作為對本發(fā)明體系結(jié)構(gòu)的限制。除了能夠在各種硬件平臺和計算環(huán)境上實施以外,本發(fā)明還可以在各種軟件環(huán)境中實施。典型的操作系統(tǒng)可以用來控制每一個數(shù)據(jù)處理系統(tǒng)內(nèi)的程序執(zhí)行。例如,一個設備可以運行Unix操作系統(tǒng),而另一個設備可以包含簡單的Java運行時環(huán)境。代表性的計算機平臺可以包括瀏覽器,瀏覽器是知名的軟件應用程序,用于訪問例如圖形文件、字處理文件、可擴展標記語言(Extensible Markup Language,XML)、超文本標記語言(Hypertext Markup Language,HTML)、手持設備標記語言(Handled DeviceMarkup Language,HDML)、無線標記語言(Wireless Markup Language,WML)的各種格式的超文本文檔,以及其他格式和類型的文件。
如上所述,本發(fā)明可以被在各種硬件和軟件平臺上實施。而更具體來說,本發(fā)明涉及可信計算平臺。但是在更詳細地描述本發(fā)明之前,在圖2和圖3中提供了一些關于可信計算平臺的背景信息,用于評估本發(fā)明的工作效率和其他的優(yōu)點。盡管本發(fā)明可能可以依據(jù)一個或多個標準,結(jié)合各種可信計算平臺來實施,但是在下文中,本發(fā)明的例子采用了來自已經(jīng)被可信計算機組織(TCG)發(fā)布的標準和/或規(guī)范的術語和例子;然而應該注意,例子不意味著暗示針對本發(fā)明的實施例的體系結(jié)構(gòu)的、功能的以及定義性的限制。
現(xiàn)在參考圖2,框圖描繪了使用可信平臺體系結(jié)構(gòu)的模型構(gòu)建的數(shù)據(jù)處理系統(tǒng)中的一些部件??尚牌脚_體系結(jié)構(gòu)可以針對特定的計算環(huán)境或者特定類別的設備實施;圖2描繪了依據(jù)TCG的特定于PC(PC-specific)的實施規(guī)范的可信平臺體系結(jié)構(gòu)。
系統(tǒng)200在其平臺208上支持軟件部件的執(zhí)行,軟件部件例如操作系統(tǒng)202、應用程序204和驅(qū)動程序206。可以通過例如圖1A中所示的網(wǎng)絡101的網(wǎng)絡來接收軟件部件,或者,它們可以被儲存在例如硬盤210上。平臺208從電源212接收電功率,用于執(zhí)行擴展卡(add-on card)214和母板216上的軟件部件,母板216包括用于執(zhí)行軟件的典型部件,例如CPU 218和存儲器220,盡管母板216可以包括多個CPU。接口222把母板216連接到系統(tǒng)200內(nèi)的其他硬件部件,并且固件224包含POST BIOS(power-on self-test basicinput/output system,通電自檢基本輸入輸出系統(tǒng))226。
母板216還包含可信構(gòu)建塊(trusted building block,TBB)228;制造商給母板216提供TBB 228和其他的由制造商物理地或邏輯地連接和提供的部件。TBB 228包含測量的核心信任基礎(CRTM)部件230、可信平臺模塊(TPM)232、CRTM到母板216的連接和TPM到母板216的連接的組合。
下文針對圖3更詳細地說明TPM 232。CRTM 230是在平臺復位之后執(zhí)行的平臺初始化代碼的不可變部分;在任何平臺復位事件后,平臺的執(zhí)行必須在CRTM處開始。以這種方式,平臺內(nèi)的信任基于CRTM和TPM的行為,并且所有的測量中的信任基于CRTM的完整性。在圖2中所示的例子中,可以假設BIOS包括BIOS引導塊和POST BIOS 226;這些的每一個都是可以被彼此獨立地更新的獨立部件,其中,制造商必須控制BIOS引導塊的更新、修改和維護,但是第三方供應商可以更新、修改和維護POST BIOS部件。在圖2中所示的例子中,可以假設CRTM是BIOS引導塊,并且POST BIOS是信任鏈的測量過的部件?;蛘撸珻RTM可以包含整個BIOS。
現(xiàn)在參考圖3,框圖描繪了根據(jù)TCG規(guī)范的可信平臺模塊的一些主要部件??尚牌脚_模塊300包含輸入/輸出部件302,輸入/輸出部件302通過執(zhí)行適當?shù)膮f(xié)議編碼/解碼操作和把消息路由到適當?shù)牟糠謥砉芾硗ㄐ趴偩€304上的信息流。密碼協(xié)處理器306在可信平臺模塊內(nèi)執(zhí)行密碼操作。密鑰發(fā)生器308創(chuàng)建對稱密鑰和RSA非對稱密碼密鑰對。HMAC引擎310執(zhí)行HMAC(Keyed-Hashing for Message Authentication,用于消息認證的使用密鑰的散列計算)運算,從而使用密秘密鑰(secret key)作為完整性檢查來計算消息認證代碼。以便證實在雙方之間傳送的有效信息,例如依據(jù)Krawczyk等的“iHMACKeyed-Hashing for Message Authentication”,Request for Comments(RFC)2104,Internet工程任務組(Internet Engineering Task Force,IETF),1997年2月。
隨機數(shù)發(fā)生器312充當用于計算例如隨機數(shù)(nonce)、密鑰或其他值的各種值的隨機源。SHA-1引擎314實施SHA-1散列算法。功率探測器316結(jié)合平臺的功率狀態(tài)來管理可信平臺模塊的功率狀態(tài)。選擇加入(opt-in)部件318維護永久標志和可變標志的狀態(tài),并履行與那些標志相關聯(lián)的語義,以使可信平臺模塊可以被使能和廢能。執(zhí)行引擎320運行程序代碼,以執(zhí)行可信平臺模塊通過輸入/輸出部件302接收的命令。非易失性存儲器322儲存與可信平臺模塊相關聯(lián)的永久身份(identity)和狀態(tài);非易失性存儲器可以儲存靜態(tài)數(shù)據(jù)項,但是也可用于由可信平臺模塊擁有者授權的實體儲存動態(tài)數(shù)據(jù)項,而易失性存儲器324儲存動態(tài)數(shù)據(jù)項。
給出關于已經(jīng)針對圖2和圖3描述的可信計算平臺的背景信息,下文針對剩余附圖提供本發(fā)明的詳細描述。如上面所指出的那樣,典型的可信平臺被設計成使得單個可信平臺模塊存在于可信平臺體系結(jié)構(gòu)內(nèi),這將要求在高性能服務器或類似的例如圖1C中所示的系統(tǒng)150的分布式數(shù)據(jù)處理系統(tǒng)中的無法接受的限制。在另一方面,高性能服務器支持需要有效的使用和共享資源的可分割的、多線程環(huán)境。本發(fā)明通過提供用于在可分割環(huán)境中使能虛擬化可信平臺模塊的機制來解決這個問題,這在下文將被更詳細地說明,由此,本發(fā)明的實施例實現(xiàn)了可信平臺模塊在本身無法虛擬化的軟件或硬件中的虛擬化(virtualization)。
現(xiàn)在參考圖4A,依據(jù)本發(fā)明的實施例,框圖描繪了數(shù)據(jù)處理系統(tǒng)內(nèi)的基于系統(tǒng)管理程序的執(zhí)行環(huán)境中的高性能可信平臺模塊的邏輯構(gòu)成。數(shù)據(jù)處理系統(tǒng)400包含系統(tǒng)管理程序402,系統(tǒng)管理程序402在數(shù)據(jù)處理系統(tǒng)400的共享計算資源上支持一個或多個操作系統(tǒng)和/或邏輯分區(qū)(logical partition,LPAR)404和406的多個實例。LPAR 404包含TCG軟件棧(TCG softwarestack,TSS)408和TPM設備驅(qū)動程序(TPM device driver,TPMDD)410,而LPAR 406包含TSS 412和TPMDD 414。TSS 408和TSS 412實施主機編程接口的規(guī)范,操作系統(tǒng)、應用程序或其他的軟件部件利用主機編程接口與TPM連接。TSS包含TSS服務提供器,實體可以通過公共應用編程接口(common application programming interface,API)連接到TSS服務提供器;TSS核心服務,TSS核心服務提供密鑰儲存、上下文(context)的集中化管理,并處理在主機上與TPM的直接交互(interaction);以及TPM設備驅(qū)動程序庫以及TMDD,例如TPMDD 410或TPMDD 414??偟膩碚f,所有對TPM的連接都通過TSS服務提供器接口(TSS service provider interface,TSPI)或TSPI之上的API發(fā)生。
為了增大TPM上的吞吐量,本發(fā)明在系統(tǒng)400內(nèi)給出了TPM作為基于系統(tǒng)管理程序的TPM(hypervisor-based TPM,HTPM)416,HTPM 416被通過系統(tǒng)管理程序402中的HTPM接口單元418訪問;HTPM 416為系統(tǒng)400提供TPM的功能。
TPM被規(guī)定為到其內(nèi)部的操作是異步的I/O設備;在本發(fā)明中,HTPM416被表示為虛擬I/O設備,即邏輯I/O設備。對HTPM的操作,例如從LPAR404到HTPM 416的功能調(diào)用或請求,被放置在輸入隊列420中,這導致了進入系統(tǒng)管理程序402的陷阱(trap)。系統(tǒng)管理程序402把對HTPM 416的操作重新排隊,其中,在先進先出的基礎上執(zhí)行TPM功能。當TPM功能完成后,HTPM 416把結(jié)果放置在輸出隊列422中,這也導致了進入系統(tǒng)管理程序402的陷阱(trap);然后,系統(tǒng)管理程序402把結(jié)果傳回調(diào)用實體。
在另一個實施例中,HTPM 416可以在系統(tǒng)管理程序402內(nèi)實施。在優(yōu)選實施例中,HTPM 416在如HTPM分區(qū)424所示的保留的邏輯分區(qū)內(nèi)由系統(tǒng)管理程序402管理,保留的邏輯分區(qū)在邏輯上是系統(tǒng)管理程序的一部分,例如,其代碼被作為經(jīng)過確認的系統(tǒng)管理程序的一部分來維護;系統(tǒng)管理程序在每次重新引導后創(chuàng)建HTPM分區(qū)。
在分離的分區(qū)中管理HTPM提供了額外的優(yōu)點。很多TPM操作利用計算代價很高的RSA算法,并且在系統(tǒng)管理程序內(nèi)包含HTPM將導致無法接受的執(zhí)行路徑長度。因此,通過把HTPM放置在分區(qū)內(nèi),系統(tǒng)管理程序在把TPM功能降到較低優(yōu)先權的同時維護其執(zhí)行特性。此外,把HTPM放置在分離的分區(qū)內(nèi),在保護HTPM所使用的存儲器從而不影響到系統(tǒng)管理程序方面給系統(tǒng)管理程序提供了更大的靈活性。
現(xiàn)在參考圖4B,依據(jù)本發(fā)明的實施例,框圖描繪了數(shù)據(jù)處理系統(tǒng)內(nèi)的基于系統(tǒng)管理程序的執(zhí)行環(huán)境中的包括邏輯可信平臺模塊的高性能可信平臺模塊的邏輯構(gòu)成。圖4B中所示的系統(tǒng)400和圖4A中所示的系統(tǒng)400類似;類似的參考數(shù)字指代類似的元件。但是,HTPM分區(qū)424被以支持多個虛擬化TPM,例如邏輯TPM(logical TPM,LTPM)426和LTPM 428的方式實施。在通過引用包含于此的提交的美國申請序列號(代理人案號AUS920031039US1)“用于可信平臺模塊的虛擬化的方法和系統(tǒng)”中,可以找到用于虛擬化環(huán)境的虛擬化LTPM的實施的例子。當系統(tǒng)管理程序創(chuàng)建邏輯分區(qū)時,系統(tǒng)管理程序在HTPM分區(qū)內(nèi)實例化LTPM;當系統(tǒng)管理程序終止邏輯分區(qū)時,系統(tǒng)管理程序消除其關聯(lián)的LTPM。系統(tǒng)400內(nèi)的每一個LPAR被與LTPM唯一地相關聯(lián),每一個LTPM被固定到HTPM 416。在優(yōu)選實施例中,LTPM被與HTPM 416一起維護在HTPM分區(qū)424內(nèi)。HTPM接口單元418支持多個輸入隊列430和多個輸出隊列432,以使每一個LTPM具有相關聯(lián)的輸入隊列和相關聯(lián)的輸出隊列。
現(xiàn)在參考圖5A-5C,依據(jù)本發(fā)明的一個實施例,一組流程圖描繪了基于系統(tǒng)管理程序的可信平臺模塊籍以支持對TPM功能的訪問的過程。參考圖5A,當系統(tǒng)管理程序被初始化時(步驟502),系統(tǒng)管理程序創(chuàng)建支持基于系統(tǒng)管理程序的可信平臺模塊(HTPM)的特殊的、分離的分區(qū),即HTPM分區(qū)(步驟504)。參考圖5B,在稍后的一個時刻,當系統(tǒng)管理程序創(chuàng)建邏輯分區(qū)時(步驟512),系統(tǒng)管理程序在HTPM分區(qū)中實例化被固定到HTPM的邏輯或虛擬化的可信平臺(步驟514)。參考圖5C,在稍后的一個時刻,當TPM設備驅(qū)動程序在對來自軟件部件的功能調(diào)用做出響應時,TPM設備驅(qū)動程序把TPM功能請求放置在適當?shù)腍TPM接口輸入隊列中(步驟522)。系統(tǒng)管理程序通過把對適當?shù)腖TPM的TPM功能請求重新排隊,對隊列操作做出響應(步驟524)。當LTPM已經(jīng)執(zhí)行了TPM功能后,LTPM把TPM功能響應放置到適當?shù)腍TPM接口輸出隊列中(步驟526)。然后,系統(tǒng)管理程序把TPM功能響應返回到請求TPM設備驅(qū)動程序(步驟528)。在系統(tǒng)管理程序正在執(zhí)行其他任務時,多個同時發(fā)生的LTPM可以積極地處理請求。
重要的是注意到,雖然已經(jīng)在充分發(fā)揮作用的數(shù)據(jù)處理系統(tǒng)的背景下描述了本發(fā)明,但是本領域普通技術人員將會理解,本發(fā)明的過程能夠被以計算機可讀介質(zhì)中的指令的形式或各種其他的形式分布,而不考慮實際用于執(zhí)行分布的信號承載介質(zhì)的特定類型。計算機可讀介質(zhì)的例子包括諸如EPROM、ROM、磁帶、紙張、軟盤、硬盤驅(qū)動程序、RAM和CD-ROM的介質(zhì),以及諸如數(shù)字和模擬通信鏈路的傳輸類型介質(zhì)。
概括地構(gòu)思了一種導致期望結(jié)果的自相一致的步驟序列的方法。這些步驟要求物理量的物理操作。盡管并非必須,但是通常這些量具有能夠被儲存、傳送、組合、比較或進行其他操作的電信號或磁信號的形式。有時候,基本是由于通常使用的原因,便于把這些信號稱為比特、值、參數(shù)、項、元素、對象、符號、字符、項目、數(shù)字等。但是應該注意,所有的這些項目以及類似的項目要被和適當?shù)奈锢砹肯嚓P聯(lián),并僅僅是應用到這些量的方便標注。
為了說明的目的已經(jīng)呈上本發(fā)明的描述,但是不意味著是毫無遺漏的或者是局限于所公開的實施例。對本領域普通技術人員來說,各種修改和變化是清楚的。選擇實施例用于說明本發(fā)明的原理及其實際應用,并使得其他本領域普通技術人員能夠理解本發(fā)明,以便實施可能適于其他預期的使用的具有各種修改的各種實施例。
權利要求
1.一種用于在數(shù)據(jù)處理系統(tǒng)內(nèi)實施可信計算環(huán)境的方法,所述方法包含在所述數(shù)據(jù)處理系統(tǒng)內(nèi)初始化系統(tǒng)管理程序,其中,所述系統(tǒng)管理程序監(jiān)督所述數(shù)據(jù)處理系統(tǒng)內(nèi)的多個邏輯的、可分割的、運行時環(huán)境;為基于所述系統(tǒng)管理程序的可信平臺模塊(TPM)保留邏輯分區(qū);和將所述基于系統(tǒng)管理程序的可信平臺模塊作為虛擬設備,通過設備接口呈現(xiàn)給邏輯分區(qū)。
2.如權利要求1所述的方法,還包含在所述設備接口的輸入隊列中,從TPM設備驅(qū)動程序接收可信平臺模塊功能請求;和由所述系統(tǒng)管理程序把經(jīng)過排隊的TPM功能請求傳送到所述基于系統(tǒng)管理程序的TPM。
3.如權利要求1所述的方法,還包含在所述設備接口的輸出隊列中,從所述基于系統(tǒng)管理程序的TPM接收可信平臺模塊功能響應;和由所述系統(tǒng)管理程序把經(jīng)過排隊的TPM功能響應傳送到所述TPM設備驅(qū)動程序。
4.如權利要求1所述的方法,還包含由所述系統(tǒng)管理程序在所述數(shù)據(jù)處理系統(tǒng)內(nèi)創(chuàng)建邏輯分區(qū);和在所述保留分區(qū)內(nèi)實例化邏輯TPM,其中,所述邏輯TPM被固定到所述基于系統(tǒng)管理程序的TPM。
5.如權利要求4所述的方法,還包含管理所述保留分區(qū)內(nèi)的多個邏輯TPM,以使每一個邏輯TPM與一個邏輯分區(qū)唯一地相關聯(lián)。
6.一種在計算機可讀介質(zhì)上的用于在數(shù)據(jù)處理系統(tǒng)內(nèi)實施可信計算環(huán)境的計算機程序產(chǎn)品,所述計算機程序產(chǎn)品包含用于在所述數(shù)據(jù)處理系統(tǒng)內(nèi)初始化系統(tǒng)管理程序的部分,其中,所述系統(tǒng)管理程序監(jiān)督所述數(shù)據(jù)處理系統(tǒng)內(nèi)的多個邏輯的、可分割的、運行時環(huán)境;用于為基于所述系統(tǒng)管理程序的可信平臺模塊(TPM)保留邏輯分區(qū)的部分;和用于將所述基于系統(tǒng)管理程序的可信平臺模塊作為虛擬設備,通過設備接口呈現(xiàn)給邏輯分區(qū)的部分。
7.如權利要求6所述的計算機程序產(chǎn)品,還包含用于在所述設備接口的輸入隊列中,從TPM設備驅(qū)動程序接收可信平臺模塊功能請求的部分;和用于由所述系統(tǒng)管理程序把經(jīng)過排隊的TPM功能請求傳送到所述基于系統(tǒng)管理程序的TPM的部分。
8.如權利要求6所述的計算機程序產(chǎn)品,還包含用于在所述設備接口的輸出隊列中,從所述基于系統(tǒng)管理程序的TPM接收可信平臺模塊功能響應的部分;和用于由所述系統(tǒng)管理程序把經(jīng)過排隊的TPM功能響應傳送到所述TPM設備驅(qū)動程序的部分。
9.如權利要求6所述的計算機程序產(chǎn)品,還包含用于由所述系統(tǒng)管理程序在所述數(shù)據(jù)處理系統(tǒng)內(nèi)創(chuàng)建邏輯分區(qū)的部分;和用于在所述保留分區(qū)內(nèi)實例化邏輯TPM的部分,其中,所述邏輯TPM被固定到所述基于系統(tǒng)管理程序的TPM。
10.如權利要求9所述的計算機程序產(chǎn)品,還包含用于管理所述保留分區(qū)內(nèi)的多個邏輯TPM,以使每一個邏輯TPM與一個邏輯分區(qū)唯一地相關聯(lián)的部分。
11.一種用于在數(shù)據(jù)處理系統(tǒng)內(nèi)實施可信計算環(huán)境的裝置,所述裝置包含用于在所述數(shù)據(jù)處理系統(tǒng)內(nèi)初始化系統(tǒng)管理程序的裝置,其中,所述系統(tǒng)管理程序監(jiān)督所述數(shù)據(jù)處理系統(tǒng)內(nèi)的多個邏輯的、可分割的、運行時環(huán)境;用于為基于所述系統(tǒng)管理程序的可信平臺模塊(TPM)保留邏輯分區(qū)的裝置;和用于將所述基于系統(tǒng)管理程序的可信平臺模塊作為虛擬設備,通過設備接口呈現(xiàn)給邏輯分區(qū)的裝置。
12.如權利要求11所述的裝置,還包含用于在所述設備接口的輸入隊列中,從TPM設備驅(qū)動程序接收可信平臺模塊功能請求的裝置;和用于由所述系統(tǒng)管理程序把經(jīng)過排隊的TPM功能請求傳送到所述基于系統(tǒng)管理程序的TPM的裝置。
13.如權利要求11所述的裝置,還包含用于在所述設備接口的輸出隊列中,從所述基于系統(tǒng)管理程序的TPM接收可信平臺模塊功能響應的裝置;和用于由所述系統(tǒng)管理程序把經(jīng)過排隊的TPM功能向應傳送到所述TPM設備驅(qū)動程序的裝置。
14.如權利要求11所述的裝置,還包含用于由所述系統(tǒng)管理程序在所述數(shù)據(jù)處理系統(tǒng)內(nèi)創(chuàng)建邏輯分區(qū)的裝置;和用于在所述保留分區(qū)內(nèi)實例化邏輯TPM的裝置,其中,所述邏輯TPM被固定到所述基于系統(tǒng)管理程序的TPM。
15.如權利要求11所述的裝置,還包含用于管理所述保留分區(qū)內(nèi)的多個邏輯TPM,以使每一個邏輯TPM與一個邏輯分區(qū)唯一地相關聯(lián)的裝置。
全文摘要
提出了一種用于在數(shù)據(jù)處理系統(tǒng)中實施可信計算環(huán)境的方法。在數(shù)據(jù)處理系統(tǒng)內(nèi),系統(tǒng)管理程序被初始化,并且系統(tǒng)管理程序監(jiān)督數(shù)據(jù)處理系統(tǒng)內(nèi)多個邏輯的、可分割的、運行時環(huán)境。系統(tǒng)管理程序為基于系統(tǒng)管理程序的可信平臺模塊(TPM)保留邏輯分區(qū),并將基于系統(tǒng)管理程序的可信平臺模塊作為虛擬設備,通過設備接口呈現(xiàn)給其他的邏輯分區(qū)。每一次系統(tǒng)管理程序在數(shù)據(jù)處理系統(tǒng)內(nèi)創(chuàng)建邏輯分區(qū)時,系統(tǒng)管理程序也在保留邏輯分區(qū)內(nèi)實例化一個邏輯TPM,以使所述邏輯TPM被固定到基于系統(tǒng)管理程序的TPM。系統(tǒng)管理程序管理保留分區(qū)內(nèi)的多個邏輯TPM,以使每一個邏輯TPM與一個邏輯分區(qū)唯一地相關聯(lián)。
文檔編號G06F21/24GK1694030SQ20051005431
公開日2005年11月9日 申請日期2005年3月8日 優(yōu)先權日2004年4月29日
發(fā)明者史蒂文·A·巴德, 瑞安·C·卡瑟曼, 詹姆斯·P·霍夫, 尼亞·L·凱利, 埃米莉·J·拉特利夫 申請人:國際商業(yè)機器公司