TW201234173A - A method for attesting a plurality of data processing systems - Google Patents
A method for attesting a plurality of data processing systems Download PDFInfo
- Publication number
- TW201234173A TW201234173A TW100140384A TW100140384A TW201234173A TW 201234173 A TW201234173 A TW 201234173A TW 100140384 A TW100140384 A TW 100140384A TW 100140384 A TW100140384 A TW 100140384A TW 201234173 A TW201234173 A TW 201234173A
- Authority
- TW
- Taiwan
- Prior art keywords
- trusted
- child
- rule
- data processing
- component
- Prior art date
Links
Landscapes
- Debugging And Monitoring (AREA)
Abstract
Description
201234173 * 六、發明說明: 【發明所屬之技術領域】 本發明係關於用於驗證複數個資料處理系統之方法。 【先前技術】 受信任啟動為一種用於在計算系統中啟動及建立信任鏈 之處理程序。參看圖}之環境(100),例如,系統管理員可 提取伺服器(受管理系統(120))且進行至安裝系統軟體。受 管理系統(120)包含安全裝置(125),例如受信任平台模組 (TPM)。一旦系統(120)經組態且啟動,受管理系統(12〇)之 每一組件(硬體及/或軟體)便以密碼編譯方式量測另一組件 且可將量測值「擴展」(而非直接寫入)至TpM(i25)之平台 組態暫存II (PCR)中。每-組件亦可操作以存取—事件記 錄檔以便將與組件之量測相關聯之資料寫入至與該事件記 錄檔相關聯之項目中。 可由管理系統(105)來遠端地驗證該等量測,管理系統 (1〇5)具有心儲存用於每—受管理系統之組件的預期驗證 值的資料庫⑴5)。通常將料值連同描述料值意謂何意 之-些後設資料-起儲存。管理系統⑽)包含用於(例如) 比較該等量測與該等值之τρΜ模擬器⑴〇)。若該等量測與 該等值之間不存在任何匹配,則通常管理系統(1〇5)必須進 一 由組#之製造商提供的_(大)量測值 清單(例如,參考單通常,參考單包含與受管理系統 陶之每一組件相關聯的大量量測值且此等量測值可被視 為「党信任的」。 159868.doc 201234173 可由管理系統或受管理系統來起始遠端驗證處理程序本 身。 可藉由後續之受信任啟動及遠端驗證處理程序來偵測對 受管理系統(120)之改變。 上述處理程序描述於(例如)以下文件中:2007年8月2曰 的受信任計算群組(TCG)規格架構總覽(Trusted Computing Group (TCG) Specification Architecture Overview);規 格;修訂1.4之第4章,及2006年11月17日的TCG基礎結構 工作群組架構第 II部分(TCG Infrastructure Working group Architecture Part II)-完整性管理;規格版本1.0 ;修訂1.0 之第2章。 如上文所描述,驗證當前涉及核對一單一機器,該單一 機器為具有真實TPM之實體機器或具有虛擬TPM之虛擬機 器(VM)。此做法對於個別機器之擁有者而言為合理的做 法,但通常終端使用者或公司可能以大於單一機器之細微 性進行。舉例而言,大公司可能希望驗證在特定實體機器 上的其VM中之每一者或在特定機器集區内的其VM中之每 一者或在特定位點處的其實體機器中之每一者。類似地, 資料中心擁有者可能關心其整個資料中心(及可能的該資 料中心内之子叢集)之完整性。不同於單一機器,一實體 可能涉及數十個、數百個或甚至數千個機器。 因此,此項技術中存在解決前述問題之需要。 【發明内容】 根據一第一態樣,提供一種用於驗證複數個資料處理系 159868.doc 201234173 、克之方法該方法包含以下步驟:產生用於—資料處理系 統之邏輯刀群,其中該邏輯分群與—規則相關聯,該規 則描述為了達成將該資料處理系統視為受信任的之目的而 必須滿足的-條件取與該邏輯分群相關聯之-或多個 Μ單,驗5登该子代或每一子代以便判定該子代或 每子代疋否為文信任的;回應於該驗證步驟,應用該規 則以便判定是否已滿足為了達成將該資料處理系統視為受 L任的之目的之该條件;及使複數個邏輯分群相關聯以使 得可判MS可將相關聯之複數個資料處理系統視為受信 任的。 根據帛一態樣,提供一種用於驗證複數個資料處理系 統之設備,其包含:用於產生用於—資料處理系統之-邏 輯分群的構件,其巾料輯分群與—規助關聯,該規則 描述為了達成將該資料處理系統視為受信任的之目的而必 須滿足的-條件;用於擷取與該邏輯分群相關聯之一或多 個子代之一清單的構件;用於驗證該子代或每—子代以便 判定該子代或每-子代是㈣受信任的之構件;用於對該 驗證構件作出回應而應用該規則以便判定是否已滿足為了 達成將該資料處理系統視為受信任的之目的之該條件的構 件;及用於使複數個邏輯分群相關聯以使得可判定是否可 將相關聯之複數個資料處理系統視為受信任的之構 根據一第三態樣,提供一種電腦程式,其包含儲存於一 電腦可讀㈣上之電腦程式碼,該電腦程式碼用以:載入 至-電腦系統中或在該電腦系統上執行時使該電腦系統執 159868.doc 201234173 行該上述方法之所有該等步驟β 【實施方式】 現將僅藉由實例參考如以下圖式中 Μf所說明的本發明之較 佳實施例來描述本發明。 現將給出已知受信任啟動及遠端驗證處理程序之更詳細 解釋。 參看圖2(應結合圖3及圖4來閱讀),更詳細地展示受管 理系統(120、200)。在受信任啟動處理程序期間,受管理 系統(120、200)之每一組件以密碼編譯方式量測(例如,使 用安全雜湊演算法(SHA)建立―資訊雜凑(諸如,軟體楷 案;模型;製造·’組件之序號等)以便建立一量測值)另一 啟動組件。 在一實例中,受信任量測根核(CRTM)組件(22〇)(例如, BIOS)為第-程式碼片段,在啟動期間對該第一程式碼片 段給予控制且由於該第一程式碼片段為不可變的,所以該 第一程式碼片段必須隱含地為受信任的。crtm(22〇)以密 碼編譯方式量測啟動處理程序中之下一組件(例如,韌體 (215));隨後,韌體(215)量測啟動處理程序中之下一組件 (例如,作業系統(210));且隨後,作業系統(21〇)在將控制 傳送至任何使用者空間程式(205)之前量測該等使用者空間 程式(205)。 在將控制傳送至經量測組件之前,每一組件可將一量測 值「擴展」(而非直接寫入)至TPM(125、225)之平台組態 暫存器(PCR)(230)中。擴展操作包含PCR(230)之當前值與 159868.doc 201234173 量測值之密碼編譯組合_藉由受營 又B理系統(120、200)之公用/ 私密金錄對來簽署,藉此伟兮心a 精便°玄私雄、金鑰僅為tpm(125、 225)所已知。 每-組件亦可操作以存取—事件記錄樓(235)以便將與 -組件之量測相關聯之資料(例%,諸如組件識別符及事 件之後設資料;及相關聯之量測值)寫入至與事件記錄稽 (235)相關聯之項目中。 應主意CRTM(220)在其通常無法存取事件記錄稽(235) 之受限環境中執行。亦應注意,使用者空間程式(2〇5) 可操作以使用TPM( i 25、225)及事件記錄檔(235),但關於 其是否如此操作仍為可選的,此係由於使用者空間程式 (205)並不傾向於自身載入其他軟體組件。 如本文中將描述,一旦受管理系統(12〇、2〇〇)在執行 中,便可提取與「k任鏈」相關聯之資料以供遠端系統 (105、305)使用遠纟而驗s登程序(例如,直接匿名驗證(daa)) 來進行檢驗。 參看圖3之系統(300),展示受管理系統(12〇、2〇〇)及相 關聯之TPM(125、225) ; PCR(230);及包含一或多個量測 值及相關聯之後設資料的事件記錄檔(235)。驗證處理程序 通常涉及:受管理系統(1 20、200)將用於經量測組件之當 前PCR(230)連同事件記錄檔(235)—起發送至一管理系統 (105 、 305)。 現將參看圖4來彳田述對官理系統(1〇5 ' 305)執行之驗證 處理程序的簡化實例。 159868.doc 201234173 在步驟400處,將所接收之當前PCR(230)連同事件記錄 檐(235) 一起操取。在步驟彻處,自-資料庫(325)操取與 又管理系統(120、2GG)之組件相關聯的預期驗證值。在步 驟410處’管理系統(1〇5、3〇5)之模擬器⑴〇)比較所接收 之PCR(230)之值與該等預期驗證值。應理解,管理系統 (105、305)之若干個其他组件可執行該比較邏輯。 右對於每- PCR值出現一匹配,則將受管理系統〇2〇、 200)視為受信任的(步驟415)且無需進行進一步的工作。 右對於每- PCR值並未出現匹配,則管理系統⑽$ ' 3 05)剖析(步驟420)事件記錄棺(235),從而依次檢驗每— 項目以决定與所&論之—所量測組件相關聯之項目中所含 有的(多個)量測值是否為有效的。 —若每一事件記錄檔(235)項目呈現為有效的(步驟425之肯 定結果),則將受管理系統(12〇、2〇〇)視為受信任的(步驟 415)且無需進行進一步的工作。 右事件記錄檔項目並不呈現為有效的(步驟425之否定結 果)’則不將受管理系統(120、200)視為受信任的(步驟 430)·較佳地,在移動至「系統不受信任」退出狀態之前引 發安全性警報。 現將描述上述處理程序之實例實施方案。 通常,文官理系統(12〇、200)之組件的製造商提供與組 件相關聯之一(大)量測值清單(例如,參考單)_可將此等量 測值視為「受信任的」。另外,通常,受信任啟動處理程 序為高度判定性的且呈現於事件記錄檔(235)中之相關聯事 159868.doc 201234173 件遵循一嚴格型樣。在CRTM(220)量測韌體(215)(韌體 (215)又量測作業系統(210))之實例中,事件記錄檔(235)通 常包含兩個事件,亦即:「韌體經量測」與「作業系統經 量測」。即使改變(例如,更新)韌體(215)及/或作業系統 (210),在未來啟動處理程序期間,相同的兩個事件亦將以 相同次序發生且僅相關聯之量測值將不同。 在一實例中’每一量測值與相同PCR相關聯。在該實例 中,管理系統(305)保持指示受管理系統(丨2〇、2〇〇)啟動之 最後時間的記錄,其使用(例如)具有具M1量測之版本又的 款體及(例如)具有具M2量測之版本γ的作業系統,其中M1 及M2分別為韌體啟動組件及作業系統啟動組件之sha摘 要°該兩個事件連同該等量測值(亦即,「韌體經量測·· SHA(M1)」及「作業系統經量測:SHA(M2)」)一起在擴 展至PCR中時給出一 pcr值「Z」。在管理系統(3〇5)之資料 庫(325)中將該PCR值「Z」記錄為用於韌體(215)及作業系 統(210)之預期驗證值。 在一後續驗證處理程序期間,管理系統(305)將所接收 之當前PCR(230)連同事件記錄檔(23 5)—起擷取(步驟400) 且自資料庫(325)中擷取(步驟4〇5)該等預期驗證值。 在步驟410處’模擬器(31〇)比較所接收之Pcr之值與該 等預期驗證值。若出現匹配’則判定(步驟4丨5)受管理系統 (120、200)正使用預期韌體(215)及作業系統(21〇)。 若並未出現匹配(亦即’所接收之PCR值並非「Z」),則 管理系統(305)剖析(步驟420)事件記錄檔(235)以尋找相關 159868.doc 10 201234173 聯之項目。管理系統(3G5)比較第—事件及量測值( 動體經量測·· SHA(M1)J )與由_之特定 的一受信㈣清單,且比較第二事件及量測值(亦即= 業系統經量測:SHA(M2)」)與由作業系統 提供的一受信任值清單。 製^商 若任-組件具有製造商未作為「受信任」之值列出的量 測值’則假定(步驟430)受管理系統(12〇、2〇〇)被破解。 右兩個組件具有製造商作為「受信任」之值列出的量測 值,則假定(步驟415)受管理系統(120、200)為受信任的且 可使該等量測值與在受管理系統(120、200)之下—驗證處 理程序期間所使用的一(或多個)新的預期驗證值相關聯。 現將參看圖5及圖6來描述本發明之較佳實施例。 圖5A為展示典型資料中心(5〇〇)内之實體機器組織之方 塊圖。在圖5A之實例中,資料中心(5〇〇)包含複數個機器 集區(542及544),該複數個機器集區中之每一者包含複數 個機器(分別為502、512及522、532)。每一機器(5〇2、 512、522及532)包含複數個虛擬機器(VM)(分別為5〇6及 510、516 及 520、526 及 530、536 及 540)。每一虛擬機器 (506、510、516、520、526、530、536 及 540)包含複數個 PCR(分別為 504、508、514、518、524、528、534 及 538)。 較佳地’提供用於產生「驗證集合」之一構件,該「驗 證集合」包含(自管理系統(305)之觀點看)與資料中心相關 聯之組件之邏輯分群。應注意,每一組件可為(例如)整個 159868.doc 201234173 系統或機器且每一組件表示一受管理系統。 可自動地或手動地建立驗證集合。可藉由(例如)與資料 中心相關聯之軟體來自動地建立一集合。假定已將資料中 心之組件組織成具有後設資料之—階層,則該軟體可藉由 識別一組件(例如’使㈣設資料)且使該組件與其子代相 關聯(例如,使用後設資料)(例如,使一物與含有該魏之 PCR的-驗證集合相關聯)來建立集合。或者,可藉由資料 中心之階層之檢驗方法來手動地建立集合。該檢驗方法允 許最大的靈活性且並不依賴於用於使集合建立自動化之軟 體的存在。 較佳地,由管理系統來維護與集合相關聯之細節。舉例 而言,管理系統上之軟體可讀取含有下文實例中所使用之 集合描述的文字槽案或將文字槽案作為輪人來取用並將該 等集合描述轉換成待以:進位健存於磁碟上之内部表示。 驗證集合可包含其他的「子代」驗證集合或(例如)組件 之個別PCR。 如本文中將描述’有利地,可藉由使用驗證集合來驗證 資料中心之複數個組件。較佳地,可針對資料中心(500)之 階層之任何組件的驗證狀態來查詢該組件,如本文中將描 述0 可參看圖5A自U下實例來確認優點。機器集區以542)包 a機益1(5〇2)及機器耶⑺。機器U502)執行由 RecLCompany擁有之VM—A(5〇6)且機器1(5〇2)亦執行由201234173 * VI. DESCRIPTION OF THE INVENTION: TECHNICAL FIELD OF THE INVENTION The present invention relates to a method for verifying a plurality of data processing systems. [Prior Art] Trusted boot is a handler for launching and establishing a chain of trust in a computing system. Referring to the environment (100) of Figure 1, for example, the system administrator can extract the server (managed system (120)) and proceed to install the system software. The managed system (120) includes a security device (125), such as a Trusted Platform Module (TPM). Once the system (120) is configured and started, each component (hardware and/or software) of the managed system (12〇) measures another component in a cryptographically compiled manner and can "expand" the measured value ( Instead of writing directly to the TpM (i25) platform configuration scratchpad II (PCR). Each component can also operate to access an event log file to write data associated with the component's measurements to the project associated with the event log file. The measurements can be verified remotely by the management system (105), and the management system (1) has a repository (1) 5) that stores the expected verification values for each of the components of the managed system. Usually, the value of the material, together with the description of the material value, is intended to be stored. The management system (10) includes, for example, a comparison of the measurements with the equivalent of the τρΜ simulator (1)〇). If there is no match between the measurements and the values, then typically the management system (1〇5) must enter a list of _(large) measurements provided by the manufacturer of group # (eg, reference list usually, The reference list contains a large number of measurements associated with each component of the managed system and these measurements can be considered "party trusted." 159868.doc 201234173 can be initiated by the management system or managed system The end verification handler itself. The subsequent changes to the managed system (120) can be detected by subsequent trusted boot and remote authentication handlers. The above described procedures are described, for example, in the following documents: August 2, 2007 TTrusted Computing Group (TCG) Specification Architecture Overview; Specification; Chapter 4 of Revision 1.4, and TCG Infrastructure Working Group Architecture No. 17 of November 17, 2006 Part II (TCG Infrastructure Working Group Architecture Part II) - Integrity Management; Specification Version 1.0; Chapter 2 of Revision 1.0. As described above, verification currently involves collating a single machine, A machine is a physical machine with a real TPM or a virtual machine (VM) with a virtual TPM. This is a reasonable practice for the owner of an individual machine, but usually the end user or company may be more subtle than a single machine. For example, a large company may wish to verify each of its VMs on a particular physical machine or each of its VMs within a particular machine set or in its physical machine at a particular site. Similarly, data center owners may be concerned with the integrity of their entire data center (and possibly sub-clusters within the data center). Unlike a single machine, an entity may involve dozens, hundreds, or There are even thousands of machines. Therefore, there is a need in the art to solve the aforementioned problems. According to a first aspect, a method for verifying a plurality of data processing systems 159868.doc 201234173 is provided, and the method includes The following steps: generating a logical knife group for a data processing system, wherein the logical grouping is associated with a rule, the rule is described in order to The condition that must be satisfied for the purpose of the data processing system as a trusted one is taken from the logical grouping- or multiple orders, and the child or each child is examined to determine the child. Or each child is trusted in the text; in response to the verification step, the rule is applied to determine whether the condition for achieving the purpose of the data processing system is deemed to be fulfilled; and the plurality of logical groups are grouped The association is such that the MS can treat the associated plurality of data processing systems as trusted. According to one aspect, there is provided an apparatus for verifying a plurality of data processing systems, comprising: means for generating a logical grouping for a data processing system, wherein the towel cluster is associated with a helper, The rule describes a condition that must be met in order to achieve the purpose of the data processing system being trusted; a means for extracting a list of one or more children associated with the logical group; for verifying the child Generation or per-child to determine whether the child or per-child is (4) a trusted component; the rule is applied in response to the verification component to determine whether it has been met in order to achieve the data processing system a component of the condition for the purpose of trust; and a third aspect for correlating the plurality of logical groups to determine whether the associated plurality of data processing systems can be considered trusted Providing a computer program comprising a computer program code stored on a computer readable (4) for loading into a computer system or executing on the computer system Having the computer system 159868.doc 201234173, all of the steps of the above method are performed. [Embodiment] The present invention will now be described by way of example only with reference to the preferred embodiments of the invention as illustrated in the following drawings . A more detailed explanation of known trusted startup and remote verification handlers will now be given. Referring to Figure 2 (which should be read in conjunction with Figures 3 and 4), the managed system (120, 200) is shown in more detail. During the trusted boot process, each component of the managed system (120, 200) is cryptographically compiled (eg, using Secure Hash Algorithm (SHA) to build - information hashes (such as software files; models) ; Manufacturing · 'component serial number, etc.) in order to establish a measured value) another starting component. In an example, the Trusted Measurement Root (CRTM) component (22) (eg, BIOS) is a first code segment that is controlled during startup and due to the first code The fragment is immutable, so the first code fragment must be implicitly trusted. Crtm (22〇) measures the next component in the startup handler (for example, firmware (215)) in cryptographic compilation; subsequently, the firmware (215) measures the next component in the startup handler (for example, the job) System (210)); and then, the operating system (21) measures the user space programs (205) prior to transmitting control to any user space program (205). Each component can "expand" (rather than directly write) a measured value to the platform configuration register (PCR) of the TPM (125, 225) (230) before transferring control to the measured component. in. The extended operation includes the combination of the current value of the PCR (230) and the cipher compilation combination of the 159868.doc 201234173 measurement value - signed by the public/private record of the operating system and the management system (120, 200). Heart a ingenuity ° Xuan Xiongxiong, the key is only known as tpm (125, 225). Each component can also operate to access an event record floor (235) to associate data associated with the measurement of the component (eg, % of components, such as component identifiers and post-event settings; and associated measurements) Write to the project associated with the event record (235). It should be appreciated that CRTM (220) is implemented in a restricted environment where it is generally inaccessible to event logging (235). It should also be noted that the user space program (2〇5) is operable to use the TPM (i 25, 225) and the event log file (235), but it is still optional as to whether it is so, due to user space. The program (205) does not tend to load other software components by itself. As will be described herein, once the managed system (12〇, 2〇〇) is in execution, the data associated with the “k-chain” can be extracted for use by the remote system (105, 305). The slogan (for example, direct anonymous verification (daa)) is used for verification. Referring to the system (300) of FIG. 3, the managed system (12〇, 2〇〇) and associated TPM (125, 225); PCR (230); and including one or more measurements and associated Set the event log file for the data (235). The verification process typically involves the managed system (1, 200, 200) sending the current PCR (230) for the measured component to the management system (105, 305) along with the event log file (235). Referring now to Figure 4, a simplified example of the verification process performed by Sumida on the official system (1〇5 '305). 159868.doc 201234173 At step 400, the received current PCR (230) is fetched along with the event record 235 (235). At the step, the self-database (325) fetches the expected verification values associated with the components of the management system (120, 2GG). At step 410, the simulator (1) of the management system (1〇5, 3〇5) compares the value of the received PCR (230) with the expected verification values. It should be understood that several other components of the management system (105, 305) may perform the comparison logic. Right for a match for each PCR value, the managed system 〇2〇, 200) is considered trusted (step 415) and no further work is required. Right for each - PCR value does not appear a match, then the management system (10) $ ' 3 05) parsing (step 420) event record 棺 (235), thereby sequentially testing each item to determine and measure the measured Whether the measured value(s) contained in the item associated with the component is valid. - If each event log file (235) item is presented as valid (affirmative result of step 425), then the managed system (12〇, 2〇〇) is considered trusted (step 415) and no further action is required jobs. The right event log file item is not rendered valid (negative result of step 425) 'The managed system (120, 200) is not considered trusted (step 430). Preferably, when moving to "system not A security alert is raised before the Trusted exit status. Example embodiments of the above described processing procedures will now be described. Typically, the manufacturer of the components of the civil service system (12〇, 200) provides a list of (large) measurements associated with the component (eg, reference list) _ such measurements can be considered "trusted" "." In addition, in general, the trusted launch handler is highly deterministic and the associated event presented in the event log file (235) follows a strict pattern. In the CRTM (220) measurement firmware (215) (firmware (215) and measurement operating system (210)), the event log file (235) typically contains two events, namely: "Terminal warp Measurement" and "Operation System Measurement". Even if the firmware (215) and/or operating system (210) are changed (e.g., updated), the same two events will occur in the same order and only the associated measurements will be different during the future startup process. In one example, 'each measurement is associated with the same PCR. In this example, the management system (305) maintains a record indicating the last time the managed system (启动2〇, 2〇〇) was started, using, for example, a version having the version with the M1 measurement and (for example An operating system having a version γ of the M2 measurement, wherein M1 and M2 are the sum of the firmware starter component and the operating system starter component respectively. The two events together with the measured values (ie, "firm body warp" Measurement·· SHA(M1) and “Operation System Measurement: SHA(M2)” together give a pcr value “Z” when extended to PCR. The PCR value "Z" is recorded in the database (325) of the management system (3) as the expected verification value for the firmware (215) and the operating system (210). During a subsequent verification process, the management system (305) retrieves the received current PCR (230) along with the event log file (23 5) (step 400) and retrieves it from the database (325) (steps) 4〇5) These expected verification values. At step 410, the simulator (31〇) compares the value of the received Pcr with the expected verification value. If a match occurs, it is determined (step 4丨5) that the managed system (120, 200) is using the expected firmware (215) and the operating system (21〇). If no match occurs (i.e., the received PCR value is not "Z"), then the management system (305) parses (step 420) the event log file (235) for the associated item 159868.doc 10 201234173. The management system (3G5) compares the first event and the measured value (the dynamic body measured · SHA(M1)J ) with a specific trusted (four) list of _, and compares the second event with the measured value (ie = The system is measured: SHA(M2)") and a list of trusted values provided by the operating system. If the component has a measurement value that is not listed by the manufacturer as a "trusted" value, then it is assumed (step 430) that the managed system (12〇, 2〇〇) is cracked. The right two components have measured values listed by the manufacturer as "trusted" values, assuming (step 415) that the managed systems (120, 200) are trusted and can make the measurements Below the management system (120, 200) - one (or more) new expected verification values used during the verification process are associated. A preferred embodiment of the present invention will now be described with reference to Figures 5 and 6. Figure 5A is a block diagram showing the physical machine organization within a typical data center (5〇〇). In the example of FIG. 5A, the data center (5〇〇) includes a plurality of machine pools (542 and 544), each of the plurality of machine pools comprising a plurality of machines (502, 512, and 522, respectively). 532). Each machine (5〇2, 512, 522, and 532) contains a plurality of virtual machines (VMs) (5〇6 and 510, 516 and 520, 526, and 530, 536, and 540, respectively). Each virtual machine (506, 510, 516, 520, 526, 530, 536, and 540) contains a plurality of PCRs (504, 508, 514, 518, 524, 528, 534, and 538, respectively). Preferably, the means for generating a "validation set" containing a logical grouping of components associated with the data center (from the perspective of the management system (305)) is provided. It should be noted that each component can be, for example, the entire 159868.doc 201234173 system or machine and each component represents a managed system. The verification set can be established automatically or manually. A set can be automatically created by, for example, software associated with a data center. Assuming that the components of the data center have been organized into a hierarchy with post-data, the software can identify a component (eg, 'make (4) data) and associate the component with its children (eg, use post-data) (for example, associating an object with a validation set containing the PCR) to establish a collection. Alternatively, the collection can be manually established by a test of the hierarchy of the data center. This test method allows for maximum flexibility and does not depend on the existence of software for automating the collection. Preferably, the details associated with the collection are maintained by the management system. For example, the software on the management system can read the text slot containing the set description used in the example below or take the text slot as a round person and convert the set description into a wait: carry-over Internal representation on the disk. The validation set can contain other "child" validation sets or individual PCRs of, for example, components. As will be described herein, advantageously, a plurality of components of a data center can be verified by using a validation set. Preferably, the component can be queried for the verification status of any component of the hierarchy of the data center (500), as will be described herein with reference to Figure 5A. The machine pool is packaged at 542) a machine benefit 1 (5 〇 2) and machine yeah (7). Machine U502) executes VM-A (5〇6) owned by RecLCompany and Machine 1 (5〇2) is also executed by
Blue_C〇mPany擁有之 VM_B(51〇)。另外,機器2(512)執行 I59868.doc •12· 201234173 由Red_Company擁有之VM_C(516)且機器2(512)亦執行由 Blue_Company擁有之VM_D(520)。以下實例示範不同的組 件分群如何可由不同的對象來使用: 實例1 :資料中心擁有者可能希望驗證機器集區中之每 一 VM,從而產生包含(例如)VM_A、VM—B、VM_C& VM_D的相關聯之驗證集合; 實例2 :系統管理員可能希望驗證一特定實體機器上之 每一 VM,從而產生包含(例如)機器1上之VM_A、VM_B的 相關聯之驗證集合; 實例3 :公司可能希望驗證其VM中之每一者而不論該等 VM駐留於哪個實體機器上,從而產生包含(例如)VM_B& VM_D的相關聯之驗證集合。組件分群之其他實例包含: 一或多個機器集區。 較佳地,驗證集合包含與資料中心之特定組件相關聯的 一記錄清單(例如):(i)PCR ; (ii)VM ; (iii)機器;或(iv)機 器集區。 舉例而言,下文展示Attestation 861;_八為: { PCRs 0-15.VM-A.Machinel.Machine Pool 1 PCRs 2-6.VM-C.Machine2.Machine Pool 1 } 較佳地,可設定用於資料中心之組件之預設值(例如, 預設PCR集合)以考慮到建立驗證集合中之便利。舉例而 言,若資料中心中之每一 VM具有16個PCR(其中僅偶數編 159868.doc -13- 201234173 號之PCR為重要的)且數千個VM存在於資料中心中,則產 生關於用於每一 VM之驗證集合之以下描述可能變得麻 煩:VM_B (51〇) owned by Blue_C〇mPany. In addition, machine 2 (512) executes I59868.doc • 12· 201234173 VM_C (516) owned by Red_Company and machine 2 (512) also executes VM_D (520) owned by Blue_Company. The following example demonstrates how different component clusters can be used by different objects: Example 1: A data center owner may wish to validate each VM in a machine pool to produce, for example, VM_A, VM-B, VM_C& VM_D Associated verification set; Example 2: The system administrator may wish to validate each VM on a particular physical machine to generate an associated validation set containing, for example, VM_A, VM_B on Machine 1; Example 3: Company may It is desirable to verify each of its VMs regardless of which physical machine the VMs reside on, thereby generating an associated verification set containing, for example, VM_B&VM_D. Other examples of component grouping include: One or more machine pools. Preferably, the verification set contains a list of records associated with a particular component of the data center (for example): (i) PCR; (ii) VM; (iii) machine; or (iv) machine pool. For example, the following shows Attestation 861; _ is: { PCRs 0-15.VM-A.Machinel.Machine Pool 1 PCRs 2-6.VM-C.Machine2.Machine Pool 1 } Preferably, it can be set Preset values for components of the data center (eg, preset PCR sets) to account for the convenience of establishing a validation set. For example, if each VM in the data center has 16 PCRs (only the even number of PCRs of 159868.doc -13-201234173 is important) and thousands of VMs exist in the data center, The following description of the validation set for each VM can become cumbersome:
Attestation_Set_VM_n= {Attestation_Set_VM_n= {
Childl=PCRs 0,2,4,6,8,10,12,14; VM_n } 較佳地,可產生關於驗證集合之預設描述如下: default_PCRs=0,2,4,6,8,10,12Childl=PCRs 0,2,4,6,8,10,12,14; VM_n } Preferably, a preset description about the set of verifications can be generated as follows: default_PCRs=0, 2, 4, 6, 8, 10, 12
Attestation_Set_VM_n= {Attestation_Set_VM_n= {
Childl=default_PCRs: VM_n } 較佳地,每一驗證集合具有一相關聯之規則,該相關聯 之規則用以描述如何決定該集合是否為受信任的。較佳 地,若驗證集合不包含相關聯之規則,則應用預設規則。 在一實例中,規則基於一集合之子代之狀態而控管該集 合是否為受信任的。舉例而言,在將一父集合視為受信任 的之前必須將一集合之所有子代視為受信任的。在另一實 例中,在將一父集合視為受信任的之前必須將該等子代中 之50%視為受信任的或必須將具有最高優先權之子代視為 受信任的。 在另一實例中,規則基於用以允許(例如)子代在已知維 護週期期間為不受信任的之時間值而控管集合是否為受信 159868.doc •14- 201234173 任的。舉例而言,若當前時間值在0400與0430之間,則可 將子代視為受信任的,否則將子代視為不受信任的(直至 以其他方式(例如,藉由使用驗證處理程序)來證明為止)。 在又一實例中’規則控管集合始终為受信任的或始終為 不受信任的,例如,「始終受信任」規則可用以暫時地停 止機器上之已知為有錯誤的警報之引發;「始終不受信 任」規則可用以測試安全性警報機制是否正確地工作。 下文參考上述實例1、實例2及實例3來描述驗證集合及 相關聯之規則的其他實例。 實例4(與上述實例1相關聯):Childl = default_PCRs: VM_n } Preferably, each validation set has an associated rule that describes how to determine if the collection is trusted. Preferably, if the verification set does not contain an associated rule, a preset rule is applied. In one example, the rules govern whether the collection is trusted based on the state of the children of a set. For example, all children of a collection must be considered trusted before considering a parent collection as trusted. In another example, 50% of the children must be considered trusted or must have the highest priority child considered trusted before considering a parent collection as trusted. In another example, the rules are based on whether the set is allowed to be trusted, for example, by the time value that the child is untrusted during the known maintenance period. 159868.doc • 14- 201234173. For example, if the current time value is between 0400 and 0430, the child can be considered trusted, otherwise the child is considered untrusted (until otherwise) (eg, by using a verification handler) ) to prove it). In yet another example, the 'regular control collection is always trusted or always untrusted, for example, the "always trusted" rule can be used to temporarily stop the occurrence of an alert known to be erroneous on the machine; The Always Untrusted rule is available to test if the security alert mechanism is working correctly. Other examples of validation sets and associated rules are described below with reference to Example 1, Example 2, and Example 3 above. Example 4 (associated with Example 1 above):
Attestation Set_l = {Attestation Set_l = {
Childl=PCRs[0-15].VM[A].Machine[l]Childl=PCRs[0-15].VM[A].Machine[l]
Child2=PCRs[0-15].VM[B].Machine[l]Child2=PCRs[0-15].VM[B].Machine[l]
Child3=PCRs[0-15].VM[C].Machine[2]Child3=PCRs[0-15].VM[C].Machine[2]
Child4=PCRs[0-15].VM[D].Machine[2]Child4=PCRs[0-15].VM[D].Machine[2]
Rule=if(all children are trusted) then TRUSTED else UNTRUSTED; } 在上述規則中,在將一父集合視為受信任的之前必須將 一集合之所有子代視為受信任的。 實例5(與上述實例2相關聯):Rule=if(all children are trusted) then TRUSTED else UNTRUSTED; } In the above rule, all children of a collection must be considered trusted before considering a parent collection as trusted. Example 5 (associated with Example 2 above):
Attestation Set_2= {Attestation Set_2= {
Child 1 =PCRs [0-15]. VM[A] .Machine [ 1] 159868.doc -15- 201234173Child 1 =PCRs [0-15]. VM[A] .Machine [ 1] 159868.doc -15- 201234173
Child2=PCRs[0-15].VM[B].Machine[l]Child2=PCRs[0-15].VM[B].Machine[l]
Rule=if(>25% all children are trusted) then TRUSTED else UNTRUSTED; } 在上述規則申,在將一父集合視為受信任的之前必須將 一集合之子代中之25%以上視為受信任的。 實例6(與上述實例3相關聯):Rule=if(>25% all children are trusted) then TRUSTED else UNTRUSTED; } In the above rule, more than 25% of the children of a set must be considered trusted before considering a parent collection as trusted. of. Example 6 (associated with Example 3 above):
Attestation Set_3= {Attestation Set_3= {
Childl=PCRs[0-15].VM[B].Machine[l]Childl=PCRs[0-15].VM[B].Machine[l]
Child2=PCRs[0-15].VM[D].Machine[2]Child2=PCRs[0-15].VM[D].Machine[2]
Rule=if( (Childl is trusted)=(Chlid2 is trusted)) then TRUSTED else UNTRUSTED } 在上述規則中,當父集合之子代之受信任狀態相同時, 將父集合視為受信任的(亦即,兩個子代必須均被視為受 信任的或兩個子代必須均被視為不受信任的)。上述規則 可用於(例如)以下情況:子代1及子代2經組態以始終具有 並行應用之軟體更新。若任一子代得到更新而另一子代未 得到更新,則一子代將驗證失敗而另一子代將通過驗證, 此情形意謂父集合將被視為不受信任的(從而使得(例如)可 向管理員引發警報)。 在上述實例中,每一驗證集合指定所感興趣之特定組 件。然而,上述驗證集合未必反映與資料中心組態之實體 階層相關聯的階層或資料中心之功能相依性-下文將描述 此等驗證集合。 159868.doc 201234173 參看圖5B,可使一驗證集合與一邏輯階層相關聯,該邏 輯階層映射資料中心(500)組態之實體階層。 舉例而言’可建立用於每一 VM(例如,VM(506))之一驗 證集合:Rule=if( (Childl is trusted)=(Chlid2 is trusted)) then TRUSTED else UNTRUSTED } In the above rule, when the child of the parent set has the same trusted state, the parent set is considered trusted (ie, Both children must be considered trusted or both children must be considered untrusted). The above rules can be used, for example, in the following cases: Child 1 and Child 2 are configured to always have software updates for parallel applications. If any child is updated and another child is not updated, one child will fail validation and the other child will pass validation. This situation means that the parent collection will be considered untrusted (thus making ( For example) an alert can be raised to an administrator). In the above example, each validation set specifies the particular component of interest. However, the above verification set does not necessarily reflect the functional dependencies of the hierarchy or data center associated with the physical hierarchy of the data center configuration - these verification sets are described below. Referring to Figure 5B, a verification set can be associated with a logical hierarchy that maps the physical hierarchy of the data center (500) configuration. For example, an authentication set for each VM (e.g., VM (506)) can be established:
Attestation_Set_VM_A= {Attestation_Set_VM_A= {
Childl=PCRs[0-15].VM[A] } 在另一實例中’可建立用於每一機器之一驗證集合,藉 此一機器(例如,機器1(502))之驗證狀態為該機器之VM之 驗證集合中的每一者之驗證狀態的聯合(例如,Childl=PCRs[0-15].VM[A] } In another example, a verification set can be established for each machine, whereby the verification status of a machine (eg, machine 1 (502)) is A union of the verification states of each of the verification sets of the VMs of the machine (eg,
Attestation_Set_VM_A& Attestation_Set_VM_B):Attestation_Set_VM_A& Attestation_Set_VM_B):
AttestationSetMachine 1 = {AttestationSetMachine 1 = {
Child 1 =Attestation_Set_VM_A Child2=Attestation_Set_VM_B } 在另一實例中,可建立用於每一機器集區之一驗證集 合,藉此一機器集區(例如,機器集區1(542))之驗證狀態 為該機器集區之機器之驗證集合中的每一者之驗證狀態的 聯合(例如,Attestation_Set_Machinel 及 Attestation_Set_ Machine2):Child 1 = Attestation_Set_VM_A Child2 = Attestation_Set_VM_B } In another example, a verification set for each machine pool may be established, whereby the verification status of a machine pool (eg, machine pool 1 (542)) is The union of the validation states of each of the validation collections of machines in the machine pool (eg, Attestation_Set_Machinel and Attestation_Set_ Machine2):
Attesatation Set Pooll = 159868.doc -17· 201234173Attesatation Set Pooll = 159868.doc -17· 201234173
Child l=Attestation_Set_Machinel Child2=Attestation_Set_Machine2 } 在另一實例中,可建立用於每一資料中心之一驗證集 合’藉此一資料中心(例如,資料中心(500))之驗證狀態為 該資料中心之機器集區之驗證集合中的每一者之驗證狀態 的聯合(例如 ’ Attesatation Set Pooll 及 Attesatation — __Child l=Attestation_Set_Machinel Child2=Attestation_Set_Machine2 } In another example, a verification set for one of each data center can be established. By means of a data center (for example, the data center (500)), the verification status is the machine of the data center. A union of the validation states of each of the collections of the collections (eg 'Attesatation Set Pooll and Attesatation — __
Set_Pool2):Set_Pool2):
Attestation_Set_Datacenter= {Attestation_Set_Datacenter= {
Child 1 =Attesatation_Set_Pool 1 Child2=Attesatation_Set_Pool2 } 參看圖5C及圖5D,可使一驗證集合與資料中心之功能 相依性而非實體階層相關聯。 參看圖5C中所描繪之實例,VM_A(506)、VM_B(510)及 VM_C(5 16)共同操作以提供web服務’藉此亦展示相關聯 之PCR(分別為504、5 08及514)。乂1^_(:主控主要web伺服 器(550),主要web伺服器(550)又主控網站6不論何時請求 該網站上之特定web網頁,主要web伺服器(550)均使用次 要web伺服器(548)(例如,主控於\^1^_6上)。次要web伺服 器(548)使用主控於VM_A上之資料庫(546)來擷取用以顯示 web網頁所需之資訊。以此方式,每一 VM在功能上彼此相 依0 159868.doc • 18 · 201234173 參看圖5D,展示功能相依性之另一描繪,藉此使一 VM 與其PCR及另一 VM相關聯:例如,使VM_C(516)與其 PCR(514)及 VM_B(510)相關聯;使 VM_B(510)與其 PCR(508)及 VM_A(506)相關聯;且使 VM_A(506)與其 PCR(504)相關聯。 下文展示如何可使驗證集合與圖5D中所描繪之功能相依 性相關聯的實例:Child 1 = Attesatation_Set_Pool 1 Child2 = Attesatation_Set_Pool2 } Referring to Figures 5C and 5D, a verification set can be associated with the functional dependencies of the data center rather than the physical level. Referring to the example depicted in Figure 5C, VM_A (506), VM_B (510), and VM_C (5 16) operate together to provide a web service' thereby also displaying associated PCRs (504, 5 08, and 514, respectively).乂1^_(: Master the main web server (550), the main web server (550) and the master website 6 whenever the specific web page on the website is requested, the main web server (550) uses the secondary Web server (548) (eg, hosted on \^1^_6). The secondary web server (548) uses the database (546) hosted on VM_A to retrieve the web page needed to display In this way, each VM is functionally dependent on each other. 0 159868.doc • 18 · 201234173 Referring to Figure 5D, another depiction of functional dependencies is shown, thereby associating a VM with its PCR and another VM: For example, associate VM_C (516) with its PCR (514) and VM_B (510); associate VM_B (510) with its PCR (508) and VM_A (506); and correlate VM_A (506) with its PCR (504) The following shows an example of how the validation set can be associated with the functional dependencies depicted in Figure 5D:
Attestation_Set_VM_A= {Attestation_Set_VM_A= {
Childl=PCR[0-15].VM[A] }Childl=PCR[0-15].VM[A] }
Attestation_Set_VM_B= {Attestation_Set_VM_B= {
Childl=PCR[0-15].VM[B]Childl=PCR[0-15].VM[B]
Child2=Attestation_Set_VM_A }Child2=Attestation_Set_VM_A }
Attestation_Set_VM_C= {Attestation_Set_VM_C= {
Childl=PCR[0-15].VM[C]Childl=PCR[0-15].VM[C]
Child2=Attestation_Set_VM_B } 現將參看圖6來描述較佳實施例之處理程序。 在一工作實例中,使一待驗證之驗證集合與圖5B之邏輯 階層之一子集相關聯(其中資料中心(500)表示一受管理系 159868.doc •19- 201234173 統(120、200))。 在本文中之實例中,管理系統(105、305)希望驗證驗證 集合Attesatation_Set_Pooll,下文展示其一表示為: Attesatation_Set_Pooll = {Child2 = Attestation_Set_VM_B } The processing procedure of the preferred embodiment will now be described with reference to FIG. In a working example, a verification set to be verified is associated with a subset of the logical hierarchy of FIG. 5B (where the data center (500) represents a managed system 159868.doc • 19- 201234173 (120, 200) ). In the example herein, the management system (105, 305) wishes to verify the validation set Attesatation_Set_Pooll, one of which is shown below: Attesatation_Set_Pooll = {
Child 1 =Attestation_Set_Machine 1 Child2=Attestation_Set_Machine2 } 藉此:Child 1 =Attestation_Set_Machine 1 Child2=Attestation_Set_Machine2 } With this:
Attestation_Set_Machinel = {Attestation_Set_Machinel = {
Child 1 =Attestation_Set_VM_A Child2=Attestation_Set_VM_B }Child 1 =Attestation_Set_VM_A Child2=Attestation_Set_VM_B }
Attestation_Set_VM_A= {Attestation_Set_VM_A= {
Childl=PCRs[0-15].VM[A] }Childl=PCRs[0-15].VM[A] }
Attestation_Set_VM_B= {Attestation_Set_VM_B= {
Childl=PCRs[0-15].VM[B] }Childl=PCRs[0-15].VM[B] }
Attestation Set Machine2= 159868.doc -20· 201234173Attestation Set Machine2= 159868.doc -20· 201234173
Child 1 =Attestation_Set_VM_C Child2=Attestation_Set_VM_D }Child 1 =Attestation_Set_VM_C Child2=Attestation_Set_VM_D }
Attestation_Set_VM_C= {Attestation_Set_VM_C= {
Childl=PCRs[0-15].VM[C] }Childl=PCRs[0-15].VM[C] }
Attestation_Set_VM_D= {Attestation_Set_VM_D= {
Childl=PCRs[0-15].VM[D] } 參看圖6之處理程序,在步驟600處,針對驗證集合 Attestation_Set_Pooll,擷取該集合之子代之清單,例如 清單1 :機器1及機器2。 在步驟605處,作出關於該集合(清單1)之子代中之任一 者是否仍待驗證的判定。在該實例中,因為機器1或機器2 中之任一者均未得到驗證,所以該處理程序轉至步驟 610,在步驟610中,擷取未得到驗證之子代之細節(-在此 實例中,為機器1)。用以驗證機器1之處理程序開始且保 存指向機器2之指標。 在步驟615處,判定未得到驗證之子代是否亦為驗證集 合。舉例而言,管理系統(305)剖析集合描述以便判定遵循 參數「Childx」之值-若該值以「PCRs」開始,則管理系 統(305)判定該子代並非一驗證集合且若該值以非 159868.doc -21 · 201234173 「PCRs」之值開始,管理系統(305)判定該子代亦為一驗 證集合。管理系統(305)可儲存與每一子代並存之一旗標, 該旗標指示該子代是否為一驗證集合。 在該實例中,子代集合機器1亦為一驗證集合:Childl=PCRs[0-15].VM[D] } Referring to the processing procedure of FIG. 6, at step 600, for the verification set Attestation_Set_Pooll, a list of children of the collection is retrieved, such as Listing 1: Machine 1 and Machine 2. At step 605, a determination is made as to whether any of the children of the set (Listing 1) are still pending verification. In this example, because either of machine 1 or machine 2 is not verified, the process proceeds to step 610 where the details of the unverified child are retrieved (in this example) For the machine 1). Used to verify that the processing of machine 1 begins and saves the indicator pointing to machine 2. At step 615, it is determined if the unverified child is also a verification set. For example, the management system (305) parses the set description to determine the value of the parameter "Childx" - if the value begins with "PCRs", the management system (305) determines that the child is not a validation set and if the value is Non-159868.doc -21 · 201234173 The value of "PCRs" begins, and the management system (305) determines that the child is also a validation set. The management system (305) can store a flag coexisting with each child, the flag indicating whether the child is a verification set. In this example, the child collection machine 1 is also a validation set:
Attestation Set Machinel = — —· {Attestation Set Machinel = — —· {
Child l=Attestation_Set_VM_AChild l=Attestation_Set_VM_A
Child2=Attestation_Set_VM_B } 該處理程序返回至步驟600,藉此針對驗證集合 Attesatation_Set_ Machinel,擷取該集合之子代之清單, 例如清單2 : VM_A及VM_B。 在步驟605處,作出關於該集合(Attestation_Set_ Machine 1)之子代中之任一者是否仍待驗證的判定。在該 實例中,因為VM_A或VM_B中之任一者均未得到驗證, 所以該處理程序轉至步驟6 1 0,在步驟6 10中,擷取未得到 驗證之子代之細節(-在此實例中,為VM_A)。用以驗證 VM_A之處理程序開始且保存指向VM_B之指標。應注 意,保存處於層級N的機器1之狀態且將控制傳遞至遞迴層 級N+1 (與乂]\4_八及VM_B相關聯)。 在步驟615處,判定該未得到驗證之子代是否亦為一驗 證集合。在該實例中,為一驗證集合:Child2=Attestation_Set_VM_B } The handler returns to step 600, whereby a list of children of the set is retrieved for the validation set Attesatation_Set_ Machinel, such as Listing 2: VM_A and VM_B. At step 605, a determination is made as to whether any of the children of the set (Attestation_Set_ Machine 1) are still to be verified. In this example, since either of VM_A or VM_B is not verified, the process proceeds to step 610, where the details of the unverified child are retrieved (in this example) Medium, for VM_A). The handler to verify VM_A starts and saves the indicator pointing to VM_B. It should be noted that the state of machine 1 at level N is saved and control is passed to recursive level N+1 (associated with 乂]\4_8 and VM_B). At step 615, it is determined if the unverified child is also an authentication set. In this example, a validation set:
Attestation Set VM A= 159868.doc -22- 201234173Attestation Set VM A= 159868.doc -22- 201234173
Childl=PCRs[0-15].VM[A] } 該處理程序返回至步驟600,藉此針對驗證集合 Attestation_Set_VM_A,棟取該集合之子代之清單,例如 清單 3 : PCRs[0-15]。 在步驟605處,作出關於該集合(Attestation_Set_VM_A) 之子代中之任一者是否仍待驗證的判定。在該實例中,因 為PCRs[0-15]未得到驗證,所以該處理程序轉至步驟 610,在步驟610中,擷取未得到驗證之子代之細節(-在此 實例中,為PCRs[0-15])。 在步驟615處,判定該未得到驗證之子代是否亦為一驗 證集合。在該實例中,PCRs[0-15]並非一驗證集合且該處 理程序轉至步驟625。 管理系統(105、305)執行一驗證,以便藉由聯繫VM_A 以擷取PCRs[0-15]連同事件記錄檔(235)來判定針對 PCRs[0-15]之受信任狀態或不受信任狀態。管理系統(305) 擷取與所擷取之PCR相關聯之預期驗證值,以便比較該等 預期驗證值與所擷取之PCR。若對於每一 PCR值出現一匹 配,則將VM_A視為受信任的且無需進行進一步的工作。 若對於每一 PCR值並未出現匹配,則管理系統(305)剖析事 件記錄檔,依次檢驗每一項目以決定與所討論之該等PCR 相關聯之項目中所含有的一(或多個)量測值是否為有效的 (根據由特定製造商提供的一受信任值清單)。若每一事件 記錄檔項目呈現為有效的,則將VM_A視為受信任的且無 159868.doc -23· 201234173 需進行進一步的工作。若事件記錄檔項目並不呈現為有效 的,則不將為受信任的。 在該實例中,遵循圖4之處理程序,將VM_A2PCRs[0-15]視為受信任的。 該處理程序轉至步驟605,在步驟605中,判定該等子代 中之任一者是否仍待驗證。 因為不存在待驗證之任何其他子代,所以該處理程序轉 至步驟630,在步驟630中,擷取與該當前驗證集合(亦 即,Attestation_Set_VM—A)相關聯之規則(例如,規則 l=if(>25% all children are trusted) then TRUSTED else UNTRUSTED)» 在步驟635處,若滿足該規則,則將Attestation_Set_ VM_A視為受信任的且若不滿足該規則,則將 Attestation_Set_VM_A視為不受信任的。 在該實例中,因為將VM_AiPCRs[0-15](>所有子代之 25%)視為受信任的,所以將Attestation_Set_VM_A視為受 信任的。 該處理程序轉至步驟605且向上遞迴一層級(至N) ’在步 驟605中,判定該集合(Attestation_Set_Machinel)之子代中 之任一者是否仍待驗證。參考所保存之指標’因為VM-B 仍待驗證,所以該處理程序轉至步驟610 ’在步驟610中’ 擷取該未得到驗證之子代之細節。用以驗證VM-B之處理 程序開始。 在步驟615處,判定該未得到驗證之子代是否亦為一驗 159868.doc • 24· 201234173 證集合。在該實例中,VM_B亦為一驗證集合:Childl=PCRs[0-15].VM[A] } The process returns to step 600 whereby a list of children of the set is retrieved for the validation set Attestation_Set_VM_A, such as Listing 3: PCRs [0-15]. At step 605, a determination is made as to whether any of the children of the set (Attestation_Set_VM_A) are still pending verification. In this example, since the PCRs [0-15] are not verified, the process proceeds to step 610 where the details of the unverified progeny are retrieved (in this example, PCRs[0 -15]). At step 615, it is determined if the unverified child is also an authentication set. In this example, PCRs [0-15] are not a validation set and the process proceeds to step 625. The management system (105, 305) performs a verification to determine the trusted or untrusted status for PCRs [0-15] by contacting VM_A to retrieve PCRs [0-15] along with the event log (235). . The management system (305) retrieves the expected verification values associated with the captured PCRs to compare the expected verification values with the PCRs retrieved. If a match occurs for each PCR value, then VM_A is considered trusted and no further work is required. If no match occurs for each PCR value, the management system (305) parses the event log file, examining each item in turn to determine one (or more) contained in the item associated with the PCR in question. Whether the measured value is valid (based on a list of trusted values provided by a specific manufacturer). If each event log file item is valid, VM_A is considered trusted and no further work is required. 159868.doc -23· 201234173 Further work is required. If the event log file item does not appear to be valid, it will not be trusted. In this example, following the process of Figure 4, VM_A2PCRs [0-15] are considered trusted. The process then passes to step 605 where it is determined if any of the children is still to be verified. Since there are no other children to be verified, the process proceeds to step 630 where the rules associated with the current validation set (ie, Attestation_Set_VM_A) are retrieved (eg, rule l= If(>25% all children are trusted) then TRUSTED else UNTRUSTED)» At step 635, Attestation_Set_VM_A is considered trusted if the rule is satisfied and Attestation_Set_VM_A is considered untrusted if the rule is not met Any. In this example, Attestation_Set_VM_A is considered trusted because VM_AiPCRs[0-15] (> 25% of all children) are considered trusted. The process proceeds to step 605 and proceeds back one level (to N)'. In step 605, it is determined whether any of the children of the set (Attestation_Set_Machinel) are still to be verified. Referring to the saved indicator 'because VM-B is still to be verified, the process goes to step 610' where in step 610 the details of the unverified child are retrieved. The process to verify VM-B begins. At step 615, it is determined whether the unverified progeny is also a test 159868.doc • 24· 201234173 certificate set. In this example, VM_B is also a validation set:
Attestation_Set_VM_B= {Attestation_Set_VM_B= {
Childl=PCRs[0-15].VM[B] } 該處理程序返回至步驟600,藉此針對驗證集合 Attesatation_Set_VM_B,擷取該集合之子代之清單,例如 清單4 : PCRs[0-15]。 在步驟605處,作出關於該集合(Attesatation_Set_ VM_B)之子代中之任一者是否仍待驗證的判定。在該實例 中,因為PCRs[0-15]未得到驗證,所以該處理程序轉至步 驟610,在步驟610中,擷取任何未得到驗證之子代之細節 (-在此實例中,為PCRs[0-15])。 在步驟61 5處,判定該未得到驗證之子代是否亦為一驗 證集合。在該實例中,PCRs[0-15]並非一驗證集合且該處 理程序轉至步驟625。 參看圖4之處理程序,管理系統(105、305)執行一驗 證,以便藉由聯繫VM_B以擷取PCRs[0-15]連同事件記錄 檔(235)來判定針對PCRs[0-15]之受信任狀態或不受信任狀 態。 在該實例中,遵循圖4之處理程序,將VM_BiPCRs[0-15]視為受信任的。 該處理程序轉至步驟605,在步驟605中,判定該等子代 中之任一者是否仍待驗證。因為不存在待驗證之任何其他 159868.doc -25- 201234173 子代,所以該處理程序轉至步驟630,在步驟630中,擷取 與該當前驗證集合(亦即,Attesatation_Set_VM_B)相關聯 之規則(例如,規則 2=if(all children are trusted) then TRUSTED else UNTRUSTED)。 在步驟635處,若滿足該規則,則將Attesatation_Set_ VM_B視為受信任的且若不滿足該規則,則將 Attesatation—Set_VM_B視為不受信任的。 在該實例中,因為將VM_B之PCRs[0-15](所有子代)視為 受信任的,所以將為受信任的。 該處理程序轉至步驟605且向上遞迴一層級(至N),在步 驟605中,判定該集合(Attestation_Set_Machinel)之子代中 之任一者是否仍待驗證。 因為不存在待驗證之任何其他子代,所以該處理程序轉 至步驟630,在步驟630中,擷取與該當前驗證集合(亦 即,Attestation_Set_Machinel)相關聯之規則(例如,規則 3 = if(all children are trusted) then TRUSTED else UNTRUSTED)。 在步驟635處,若滿足該規則,則將Attestation_Set_ Machinel視為受信任的且若不滿足該規則,則將 Attestation_Set—Machinel視為不受信任的。 在該實例中,因為將VM_A&VM_B(所有子代)視為受信 任的,所以將Attestation_Set_Machinel視為受信任的。 應注意,在本文中之實例中,機器1之PCR並不形成驗 證查核之部分。然而,或者,若一組件具有TPM(125),則 159868.doc -26- 201234173 亦可能發生其PCR之驗證。舉例而言,可使用用於機器1 之以下驗證集合,其中子代3表示機器1之PCR : Attestation_Set_Machine 1 = {Childl=PCRs[0-15].VM[B] } The process returns to step 600, whereby a list of children of the set is retrieved for the validation set Attesatation_Set_VM_B, for example Listing 4: PCRs [0-15]. At step 605, a determination is made as to whether any of the children of the set (Attesatation_Set_VM_B) are still pending verification. In this example, since the PCRs [0-15] are not verified, the process proceeds to step 610 where the details of any unverified progeny are retrieved (in this example, PCRs [ 0-15]). At step 61 5, it is determined whether the unverified child is also an authentication set. In this example, PCRs [0-15] are not a validation set and the process proceeds to step 625. Referring to the processing procedure of FIG. 4, the management system (105, 305) performs a verification to determine the trustedness for PCRs [0-15] by contacting VM_B to retrieve PCRs [0-15] along with the event log file (235). Any state or untrusted state. In this example, following the process of Figure 4, VM_BiPCRs [0-15] are considered trusted. The process then passes to step 605 where it is determined if any of the children is still to be verified. Since there are no other 159868.doc -25 - 201234173 children to be verified, the process proceeds to step 630 where the rules associated with the current validation set (ie, Attesatation_Set_VM_B) are retrieved ( For example, rule 2 = if (all children are trusted) then TRUSTED else UNTRUSTED). At step 635, if the rule is met, then Attesatation_Set_VM_B is considered trusted and if the rule is not met, Attesatation_Set_VM_B is considered untrusted. In this example, PCRs [0-15] (all children) of VM_B will be trusted because they are considered trusted. The process proceeds to step 605 and proceeds back one level (to N), and in step 605, it is determined whether any of the children of the set (Attestation_Set_Machinel) are still to be verified. Since there are no other children to be verified, the process proceeds to step 630 where the rules associated with the current validation set (ie, Attestation_Set_Machinel) are retrieved (eg, rule 3 = if() All children are trusted) then TRUSTED else UNTRUSTED). At step 635, Attestation_Set_ Machinel is considered trusted if the rule is satisfied and Attestation_Set_Machinel is considered untrusted if the rule is not met. In this example, Attestation_Set_Machinel is considered trusted because VM_A&VM_B (all children) is considered trusted. It should be noted that in the examples herein, the PCR of Machine 1 does not form part of the verification check. However, alternatively, if a component has a TPM (125), then 159868.doc -26- 201234173 may also have its PCR verification. For example, the following set of validations for machine 1 can be used, where child 3 represents the PCR of machine 1: Attestation_Set_Machine 1 = {
Child 1 =Attestation_Set_VM 1 Child2=Attestation_Set_VM2 Child3=PCRs[0-16].Machinel } 當用以驗證機器1之處理程序完成時,該處理程序轉至 步驟605,在步驟605中,判定該集合(Attesatation_Set_ Pool 1)之剩餘子代中之任一者是否仍待驗證。 參考所保存之指標,判定機器2仍待驗證,且該處理程 序轉至步驟610,在步驟610中,擷取該未得到驗證之子代 (機器2)之細節。應理解,如已針對機器1所展示來針對機 器2重複上述處理程序,從而產生與機器2之子代(亦即, Attestation_Set_VM_C& Attestation_Set_VM_D)相關聯之 狀態(受信任狀態或不受信任狀態)。 在本文中之實例中,與Attestation_Set_VM_C^g關聯之 狀態為受信任的且與Attestation_Set_VM_D相關聯之狀態 為受信任的。在該實例中,根據Attestation_Set_Machine2 之規則(未圖示),亦將Attestation_Set一Machine2視為受信 任的。 在機器2之驗證之後,該處理程序轉至步驟605,在步驟 605中,判定該集合Attesatation_Set_Pooll之剩餘子代中 159868.doc -27- 201234173 之任一者是否仍待驗證。因為不存在待驗證之任何其他子 代,所以該處理程序轉至步驟630,在步驟630中,擷取與 該當前驗證集合(亦即,AttesatationSetPooll)相關聯之 規則(例如,規則 4=if(all children are trusted) then TRUSTED else UNTRUSTED)。 在步驟635處,若滿足該規則,則將Attesatation_Set_ Pooll視為受信任的且若不滿足該規則,則將 Attesatation_Set_Pooll視為不受信任的。 在該實例中,因為將機器1及機器2(所有子代)視為受信 任的,所以將Attesatation_Set_Pooll視為受信任的 應注意,若在階層中之任何點處驗證失敗,則使用者能 夠檢查該失敗處以下之層級以檢查原因(直至最終識別個 別有錯誤之PCR為止)。 舉例而言,若將除VM A以外的每一 VM Attesatation_ Set_Pooll視為受信任的,則Attestation_Set_VM_A將具有 相關聯的不受信任之狀態。因為Child 1 = Attestation_Set_VM 1 Child2 = Attestation_Set_VM2 Child3 = PCRs [0-16]. Machinel } When the processing for verifying the completion of the machine 1 is completed, the processing proceeds to step 605, in which the set is determined (Attesatation_Set_ Pool 1) Whether any of the remaining children are still to be verified. Referring to the saved indicator, it is determined that the machine 2 is still to be verified, and the process goes to step 610 where the details of the unverified child (machine 2) are retrieved. It should be understood that the above described processing procedure has been repeated for machine 2 as shown for machine 1, resulting in a state (trusted state or untrusted state) associated with the child of machine 2 (i.e., Attestation_Set_VM_C& Attestation_Set_VM_D). In the example in this article, the state associated with Attestation_Set_VM_C^g is trusted and the state associated with Attestation_Set_VM_D is trusted. In this example, Attestation_Set-Machine2 is also considered trusted according to the rules of Attestation_Set_Machine2 (not shown). After the verification of the machine 2, the process proceeds to step 605, where it is determined whether any of the remaining children of the set Attesatation_Set_Pooll is still pending verification in 159868.doc -27-201234173. Since there are no other children to be verified, the process proceeds to step 630 where the rules associated with the current validation set (ie, AttesatationSetPooll) are retrieved (eg, rule 4 = if ( All children are trusted) then TRUSTED else UNTRUSTED). At step 635, if the rule is met, Attesatation_Set_ Pooll is considered trusted and if the rule is not met, Attesatation_Set_Pooll is considered untrusted. In this example, because Machine 1 and Machine 2 (all children) are considered trusted, it should be noted that Attesatation_Set_Pooll is trusted. If the verification fails at any point in the hierarchy, the user can check The failure is below the level to check the cause (until the final identification of individual PCRs with errors). For example, if each VM Attesatation_Set_Pooll other than VM A is considered trusted, Attestation_Set_VM_A will have an associated untrusted state. because
Attestation_Set_Machinel之子代1,所以在給定規則3之情 況下,Attestation_Set_Machinel之狀態將為不受信任的 (即使Attestation_Set_Machine 1之子代2的狀態為受信任的 亦如此)。又,因為 Attestation_Set_Machinel 為 Attesatation_Set_Pooll之子代1,所以在給定規則4之情況 下,Attesatation_Set_PooIl之狀態將為不受信任的。 因而,若管理系統請求Attesatation_Set_Pooll之驗證, 則將傳回一不受信任之結果。較佳地,使用一使用者介面 159868.doc •28- 201234173 來顯示失敗之原因。舉例而言,在一第一層級處,可顯示 一報告,該報告指示Attesatation_Set_Pooll為不受信任 的’此係因為子代l(Attestation_Set_Machinel)為不受信任 的。較佳地’使用者可查詢該報告以判定Attestation_ Set一Machinel被視為不受信任的等等之原因,直至該使用 者被告知失敗之底層原因為VM_A被視為不受信任的為 止。隨後’該使用者可(例如)聯繫一系統管理員以判定在 VM一A中確切地在何處出現失敗。 本發明提供一種機制,其中可獲得且聯合個別資料中心 組件之狀態以使得(例如)可提供與複數個受管理系統相關 聯之驗證結果》 有利地,在給定一待驗證之集合的情況下,管理系統 (105、305)可判定與該集合相關聯之子代中之每一者的狀 態。:上文所福述’每-子代可自身為一驗證集合。在更 複雜實施方案中,-或多個子代可能已得到驗證,此係因 為該等子代呈現於多個集合中。 有和地有可靶定義_驗證集合以滿足(例如)以下各者 之需要:f料中心擁有者4統管理員及最終客戶。 :於-般熟習此項技術者而言,以下將為顯而易見的: 2明之較佳實施例之方法的全部或部分可合適地且適用 於—邏輯設備或複數個邏輯設備中,邏輯設備包含 :己以執行該方法之步驟的邏輯元件;且此等邏輯元件 可包含硬體組件、_組件或該等組件之组合。 對於一般熟習此項技術者而言,以下同樣為顯而易見 159868.doc •29- 201234173 的·根據本發明之較佳實施例之邏輯配置的全部或部分可 合適地體現於邏輯設備中,該邏輯設備包含用以執行該方 法之步驟的邏輯元件,且此等邏輯元件可包含組件,諸如 (例如)可程式化邏輯陣列或特殊應用積體電路中之邏輯 間。此邏輯配置可進一步體現於致能元件中,該等致能元 件用於使用(例如)虛擬硬體描述符語言來暫時地或永久地 建立此陣列或電路中之邏輯結構,該虛擬硬體描述符語言 可使用固定的或可傳輸之載波媒體來儲存及傳輸。 應瞭解,上文所描述之方法及配置亦可合適地完全地或 部分地以執行於一或多個處理器上之軟體(諸圖中未展示) 來執行,且可以載運於任何合適資料載體(諸圖中亦未展 示)(諸如,磁碟或光碟或其類似者)上之一或多個電腦程式 疋件之形式來提供軟體。用於資料之傳輸的頻道可同樣地 包含所有描述之儲存媒體以及載運信號媒體(諸如,有線 或無線載運信號媒體)。 本發明可進一步合適地體現為用於與電腦系統一起使用 之電腦程式產品。此實施方案可包含一系列電腦可讀指 令,該等電腦可讀指令或者固定於有形媒體上,諸如電腦 可讀媒體(例如’碟片、CD-ROM、ROM或硬碟),或者可 經由數據機或其他介面裝置經有形媒體(包括(但不限於)光 學或類比通信線路)或無形地使用無線技術(包括(但不限 於)微波、紅外線或其他傳輸技術)傳輪至電腦系統。該電 腦可讀指令系列體現本文中先前所描述之功能性的全部或 部分。 159868.doc •30- 201234173 :、s此項技術者應瞭解,可以用於與許多電腦架構或作 二:-起使用之若干個程式設計語言來撰寫此等電腦可 曰令。另外’可使用目前的或未來的任何記憶體技術來 儲存此等才曰♦’記憶體技術包括(但不限於)半導體、磁性 〔二予或使用目刖的或未來的任何通信技術來傳輸此等 才日令’通信技術包括(但不限於)光學、紅外線或微波。預 期可作為具有隨附印刷或電子文獻之抽取式媒體(例如, 拆開即用軟體)來散佈此電腦程式產品,拆開即用軟體與 電腦系統一起預先載入於(例如)系統R〇M或固定磁碟上; 或可經網路(例如’網際網路或全球資訊網)自㈣器或電 子佈告欄來散佈此電腦程式產品。 在替代例中,可以包含以下步驟的部署服務之電腦實施 方法之形式來實現本發明之較佳實施例:部署電腦程式 碼,該電腦程式碼可操作以在部署至電腦基礎結構中或在 電腦基礎結構上執行時使該電腦系統執行所描述方法之所 有步驟。 熟習此項技術者應顯而易見,可在不偏離本發明之範疇 的情況下對前述例示性實施例作出許多改良及修改。 【圖式簡單說明】 圖1為展示根據先前技術之用於執行受信任啟動及遠端 驗證處理程序之已知系統的方塊圖,且可在該已知系統中 貫施本發明之較佳實施例; 圖2為展示根據先前技術之已知受管理系統之組件的方 塊圖,且可在該受管理系統中實施本發明之較佳實施例; 159868.doc 201234173 圖3為展示根據先前技術之用於執行受信任啟動及遠端 驗證處理程序之已知系統的更詳細視圖的方塊圖,且可在 該已知系統中實施本發明之較佳實施例; 圖4為展示根據先前技術之已知遠端驗證處理程序中所 涉及之操作步驟的流程圖; 圖5 A為展示根據本發明之較佳實施例的典型資料中心内 之實體機器組織的方塊圖; 圖5B為展示根據本發明之較佳實施例的圖5 a之實體組 織之邏輯階層的方塊圖; 圖5C及圖5D為展示根據本發明之較佳實施例的與圖5A 之資料中心之組件相關聯的功能相依性的方塊圖;及 圖ό為展示根據本發明之較佳實施例的驗證處理程序中 所涉及之操作步驟的流程圖。 【主要元件符號說明】 100 環境 105 遠端管理系統 110 受信任平台模組(ΤΡΜ)模擬器 115 資料庫 120 受管理系統 125 受信任平台模組(ΤΡΜ)/安全裝置 200 受管理系統 205 使用者空間程式 210 作業系統 215 韌體 159868.doc -32- 201234173 220 225 230 235 300 305 310 325 500 502 504 506 508 510 512 514 516 518 520 522 524 526 528 530 受信任量測根核(CRTM) 受信任平台模組(TPM) 平台組態暫存器(PCR) 事件記錄檔 系統 遠端管理系統 模擬器 資料庫 資料中心 機器 平台組態暫存器(PCR) 虛擬機器(VM) 平台組態暫存器(PCR) 虛擬機器(VM) 機器 平台組態暫存器(PCR) 虛擬機器(VM) 平台組態暫存器(PCR) 虛擬機器(VM) 機器 平台組態暫存器(PCR) 虛擬機器(VM) 平台組態暫存器(PCR) 虛擬機器(VM) 159868.doc •33· 機器 平台組態暫存器(PCR) 虛擬機器(VM) 平台組態暫存器(PCR) 虛擬機器(VM) 機器集區 機器集區 資料庫 次要web伺服器 主要web伺服器 -34-The child of Attestation_Set_Machinel is 1, so given the rule 3, the state of Attestation_Set_Machinel will be untrusted (even if the state of child 2 of Attestation_Set_Machine 1 is trusted). Also, since Attestation_Set_Machinel is a child of Attesatation_Set_Pooll, the state of Attesatation_Set_PooIl will be untrusted given rule 4. Thus, if the management system requests verification of Attesatation_Set_Pooll, an untrusted result will be returned. Preferably, a user interface 159868.doc • 28- 201234173 is used to indicate the reason for the failure. For example, at a first level, a report can be displayed indicating that Attesatation_Set_Pooll is untrusted' because the child 1 (Attestation_Set_Machinel) is untrusted. Preferably, the user can query the report to determine that Attestation_Set - Machinel is considered untrusted, etc., until the underlying cause of the failure of the user is informed that VM_A is deemed untrusted. The user can then, for example, contact a system administrator to determine exactly where the failure occurred in VM-A. The present invention provides a mechanism in which the status of individual data center components can be obtained and combined such that, for example, verification results associated with a plurality of managed systems can be provided. Advantageously, given a set to be verified The management system (105, 305) can determine the status of each of the children associated with the set. : The above description 'every-child generation can itself be a verification set. In more complex implementations, - or multiple progeny may have been validated because the progeny are presented in multiple collections. There is a target definition_validation set to meet the needs of, for example, the following: f-center owner 4 administrators and end customers. The following will be apparent to those skilled in the art: 2 All or part of the method of the preferred embodiment may be suitably and applicable to a logical device or a plurality of logical devices, the logical device comprising: Logic elements that have performed the steps of the method; and such logic elements can include hardware components, components, or combinations of such components. For those of ordinary skill in the art, the following is also apparent 159868.doc • 29-201234173. All or part of the logic configuration in accordance with a preferred embodiment of the present invention may suitably be embodied in a logic device, the logic device Logic elements are included to perform the steps of the method, and such logic elements can include components such as, for example, a logical array in a programmable logic array or a special application integrated circuit. This logic configuration can be further embodied in an enabling component for temporarily or permanently establishing a logical structure in the array or circuit using, for example, a virtual hardware descriptor language, the virtual hardware description The language can be stored and transmitted using fixed or transportable carrier media. It should be appreciated that the methods and configurations described above may also be suitably performed, in whole or in part, in software (not shown) executed on one or more processors, and may be carried on any suitable data carrier. The software is provided in the form of one or more computer program components (not shown in the figures) (such as a magnetic disk or a compact disc or the like). Channels for the transmission of data may equally include all of the described storage media as well as carrier signal media (such as wired or wireless carrier signal media). The invention may be further suitably embodied as a computer program product for use with a computer system. This embodiment may comprise a series of computer readable instructions, either affixed to a tangible medium, such as a computer readable medium (eg, 'disc, CD-ROM, ROM or hard drive), or via data The machine or other interface device is transferred to the computer system via tangible media (including but not limited to optical or analog communication lines) or invisibly using wireless technology including, but not limited to, microwave, infrared or other transmission technology. The series of computer readable instructions embody all or part of the functionality previously described herein. 159868.doc •30- 201234173 :, s This technology should be aware that it can be used to write such computer commands in a number of programming languages with many computer architectures or applications. In addition, 'any current or future memory technology can be used to store such software.' Memory technologies include, but are not limited to, semiconductors, magnetics, or any communication technology that is used or used in the future to transmit this. Etc. 'Communication technology includes, but is not limited to, optical, infrared or microwave. It is expected that the computer program product can be distributed as a removable medium (for example, a ready-to-use software) with accompanying printed or electronic documents, and the ready-to-use software is preloaded with the computer system (for example) system R〇M. Or on a fixed disk; or distribute the computer program product via a network (such as 'Internet or World Wide Web') from the (4) or electronic bulletin board. In an alternative, a preferred embodiment of the present invention may be implemented in the form of a computer implemented method of deploying services of the following steps: deploying a computer code operable to be deployed in a computer infrastructure or in a computer Execution on the infrastructure causes the computer system to perform all the steps of the described method. It will be apparent to those skilled in the art that many modifications and changes can be made to the foregoing exemplary embodiments without departing from the scope of the invention. BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a block diagram showing a known system for performing a trusted boot and remote authentication processing program according to the prior art, and a preferred embodiment of the present invention can be implemented in the known system 2 is a block diagram showing components of a known managed system according to the prior art, and a preferred embodiment of the present invention may be implemented in the managed system; 159868.doc 201234173 FIG. 3 is a diagram showing use according to the prior art. A block diagram of a more detailed view of a known system for performing a trusted boot and remote verification process, and a preferred embodiment of the present invention can be implemented in the known system; FIG. 4 is a view showing the prior art. FIG. 5A is a block diagram showing the organization of a physical machine in a typical data center in accordance with a preferred embodiment of the present invention; FIG. 5B is a view showing a comparison of physical machine organization in a typical data center according to the preferred embodiment of the present invention; A block diagram of the logical hierarchy of the physical organization of Figure 5a of the preferred embodiment; Figures 5C and 5D are diagrams associated with the components of the data center of Figure 5A, in accordance with a preferred embodiment of the present invention. A block diagram of the functional dependencies; and a flowchart showing the operational steps involved in the verification process in accordance with a preferred embodiment of the present invention. [Main Component Symbol Description] 100 Environment 105 Remote Management System 110 Trusted Platform Module (ΤΡΜ) Simulator 115 Database 120 Managed System 125 Trusted Platform Module (ΤΡΜ) / Security Device 200 Managed System 205 User Space program 210 operating system 215 firmware 159868.doc -32-201234173 220 225 230 235 300 305 310 325 500 502 504 506 508 512 514 516 518 520 522 524 526 528 530 Trusted Measurement Root (CRTM) Trusted Platform Module (TPM) Platform Configuration Register (PCR) Event Log File System Remote Management System Simulator Database Data Center Machine Platform Configuration Register (PCR) Virtual Machine (VM) Platform Configuration Register (PCR) Virtual Machine (VM) Machine Platform Configuration Register (PCR) Virtual Machine (VM) Platform Configuration Register (PCR) Virtual Machine (VM) Machine Platform Configuration Register (PCR) Virtual Machine ( VM) Platform Configuration Register (PCR) Virtual Machine (VM) 159868.doc • 33· Machine Platform Configuration Register (PCR) Virtual Machine (VM) Platform Configuration Register (PCR) Virtual Machine (VM) Machine Machine pool area secondary database web server main web server -34-
Claims (1)
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| EP10191673 | 2010-11-18 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| TW201234173A true TW201234173A (en) | 2012-08-16 |
Family
ID=47070068
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW100140384A TW201234173A (en) | 2010-11-18 | 2011-11-04 | A method for attesting a plurality of data processing systems |
Country Status (1)
| Country | Link |
|---|---|
| TW (1) | TW201234173A (en) |
-
2011
- 2011-11-04 TW TW100140384A patent/TW201234173A/en unknown
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN103201747B (en) | Method and apparatus for validating multiple data processing systems | |
| US9075994B2 (en) | Processing attestation data associated with a plurality of data processing systems | |
| CN103329093B (en) | Method and system for updating the code in performing environment | |
| US9436827B2 (en) | Attesting a component of a system during a boot process | |
| TWI530810B (en) | Providing a multi-phase lockstep integrity reporting mechanism | |
| US8838964B2 (en) | Package audit tool | |
| US9361449B2 (en) | Platform integrity verification system and information processing device | |
| JP7021239B2 (en) | Remote management of initial operating system setup options | |
| CN112905437B (en) | Method, device and storage medium for testing cases | |
| CN110069316B (en) | Integrity verification of entities | |
| WO2017100303A1 (en) | Chained security systems | |
| CN111079168A (en) | Techniques for secure hardware and software attestation of trusted I/O | |
| US10776493B2 (en) | Secure management and execution of computing code including firmware | |
| US10984108B2 (en) | Trusted computing attestation of system validation state | |
| US11914717B2 (en) | Information handling systems and related methods to cryptographically verify information handling system platform components and track events associated with the platform components | |
| WO2018227798A1 (en) | Custom system implementation method, computer device, and computer-readable storage medium | |
| US20160092313A1 (en) | Application Copy Counting Using Snapshot Backups For Licensing | |
| CN112015715A (en) | Industrial Internet data management service testing method and system | |
| US11836255B1 (en) | Microcontroller unit (MCU) secure boot | |
| CN113553098A (en) | Method, device and computer equipment for submitting Flink SQL job | |
| TW201234173A (en) | A method for attesting a plurality of data processing systems | |
| JP2025099662A (en) | Information processing device and information processing method | |
| US11748246B2 (en) | Crowd-sourced QA with trusted compute model | |
| JP7239412B2 (en) | Security operation support system and its method | |
| GB2623867A (en) | Security compliance for modular code |