TWI696091B - 平台組配技術 - Google Patents

平台組配技術 Download PDF

Info

Publication number
TWI696091B
TWI696091B TW107137770A TW107137770A TWI696091B TW I696091 B TWI696091 B TW I696091B TW 107137770 A TW107137770 A TW 107137770A TW 107137770 A TW107137770 A TW 107137770A TW I696091 B TWI696091 B TW I696091B
Authority
TW
Taiwan
Prior art keywords
management
key
device platform
signed
management system
Prior art date
Application number
TW107137770A
Other languages
English (en)
Other versions
TW201939339A (zh
Inventor
愛德瑞恩 巴爾德溫
詹姆士 R. 瓦德隆
大衛 帕拉昆恩
Original Assignee
美商惠普發展公司有限責任合夥企業
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 美商惠普發展公司有限責任合夥企業 filed Critical 美商惠普發展公司有限責任合夥企業
Publication of TW201939339A publication Critical patent/TW201939339A/zh
Application granted granted Critical
Publication of TWI696091B publication Critical patent/TWI696091B/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0877Generation of secret information including derivation or calculation of cryptographic keys or passwords using additional device, e.g. trusted platform module [TPM], smartcard, USB or hardware security module [HSM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/034Test or assess a computer or a system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)

Abstract

在一實例中,提供有一種用於基於一已簽署資料結構對一裝置平台組態之一管理狀態進行證明之方法,該已簽署資料結構代表來自裝置之一保全加密處理器之一裝置管理狀態及一時基值。將該已簽署資料結構發送至一管理系統以供在簽署該資料結構時,基於與該加密處理器之狀態之一比較來進行驗核。

Description

平台組配技術
本揭示係有關於平台組配技術。
一運算裝置之管理系統可用於組配平台內及OS層級下面之管理資料。舉例而言,一系統中心組態管理器(SCCM)可減少基於可將政策推送至裝置之SCCM而在諸裝置與一中央管理伺服器之間受管理之協定數量。各本機裝置上之一代理器可用於施行該等政策。
依據本發明之一實施例,係特地提出一種裝置平台,其包含一保全處理器:該保全處理器用來產生已簽署資料及一計數器值,其中該已簽署資料係藉由簽署代表裝置平台管理資訊之資料所產生,其中該簽署係使用出自該保全處理器中所建立及管理之一密碼編譯金鑰對之一簽章金鑰來進行,該簽章金鑰在該裝置平台之一受信賴執行狀態期間屬於可存取;以及一管理代理器,其用來對該裝置平台施行資料變更,該裝置平台用來經由該裝置平台之該管理代理器向一管理系統提供該已簽署資料,並且用來為了驗證施用於該已簽署資料之一簽章而檢查該計數器值。
在以下說明中,為了解釋,提出某些實例之許多特定細節。本說明書中參考到「一實例」或類似語言時,意味著搭配該實例所述的特定特徵、結構或特性係包括於至少該一項實例中,但不必然包括於其他實例中。
一給定用戶端裝置之一經授權管理狀態可儲存在本機裝置之一嵌入式控制器(EC)內。一管理狀態或裝置平台狀態代表該裝置在一特定時間或計數器值之一保全狀態。舉例而言,一管理狀態可描述該裝置之韌體之狀態或設定。裝置平台管理資訊可描述一管理狀態或對一管理狀態之變更。對此狀態之變更可使用來自具有一適當計數器之一管理系統之一已簽署陳述來施作,以確保命令之新近度。用戶端裝置可從管理系統之一配送點拾起新政策設定,然後在本機施用該等新政策設定。在該裝置之作業系統(OS)中運行之一代理器可用於檢查及維持平台基值之狀態。這使得管理系統難以確保由於應該信賴平台上之一身份而正在制定已簽署變更。舉例而言,如果要推翻用戶端裝置,則本機裝置上之一管理代理器可能無法施用政策及向管理系統回報已施作該等變更。必須信賴管理代理器才能正確地設定政策。
可產生反映已載入模組或組件之一量測、以及運算裝置之一保全狀態。接著可將一證明服務(其可位於該裝置之遠端處)用於驗核變更。舉例而言,隨著設定變更,一雙向認證之TLS連結可使用介於一BIOS/EC與一管理系統之間的一作動協定而受到依賴。然而,這仍然連同難以調整規模之一動態管理系統,使用應該受信賴之平台上之一身份。
根據一實例,提供使對於一OS及一OS為基之本機管理代理器之信賴達到最小之平台施行政策。因此,提供從下層平台返回到管理系統之一保全路徑,以確認管理政策已透過OS傳遞並已抵達該下層平台,諸如已組配在一嵌入式控制器(EC)內。在一實例中,回到管理系統之保全根可使用一保全處理器來提供,諸如一信賴平台模組(TPM)或其他保全加密處理器,用來簽署一管理狀態並將該身份鏈接回到OS內之TPM身份。根據一實例,可在該裝置之各重新啟動程序簽署一管理狀態。根據一實例,一管理資訊證明方案或管理系統包含位在一端點裝置上之一平台。該管理系統可具有一企業管理模型,其中可在一管理主控台上指定及簽署設定、政策及一清單。舉例而言,基本輸入/輸出系統(BIOS)特徵可在藉由一本機管理工具或透過裝置SCCM提供支援時予以組配及管理。
根據一實例,管理系統之一組態係藉由可在端點裝置之作業系統(OS)上運行之一管理代理器來拉取。接著,該組態可藉由OS組件(或代理器)來下推至韌體(諸如:BIOS)並安裝在一EC中。可信賴OS組件,以將已簽署組態正確地下推至BIOS或EC,並且確認變更正確地發生。組態之簽署及新近度檢查確保該裝置處接受指定之政策。遞送之保證可基於對該裝置之本機管理代理器(例如:SCCM)之信賴。
在一實例中,證明方案或服務可用於路由安排回到一保全微處理器或、本機裝置之作業系統(OS)中之信賴平台模組(TPM)身份。在一實例中,舉例而言,保全微處理器可使用證明方案來確認該裝置是否已驗證過而可在一企業中使用。可在一特定時間將加密或簽章施用於系統之一管理狀態或政策,並且已簽署狀態可由證明方案用於檢查平台級系統組態,諸如可在一重新啟動後、或在從一休眠模式喚醒後予以變更之韌體設定。這可藉由向可確認已將任何政策成功傳遞到裝置OS之一管理系統(位在所論裝置遠端處)提供一保全路由安排,來降低對裝置上施行政策之一OS為基之本機管理代理器的依賴。一裝置TPM可用於簽署管理狀態,同時能夠將身份鏈接回到裝置(OS)之一TPM身份。如適當,可判定並通知一可接受裝置狀態之一偏差。
圖1根據一實例,係一端點裝置100的一示意性表示型態,其向一管理系統或管理伺服器109提供由韌體103在啟動時所產生之一可信賴管理狀態或已簽署結構110。在該韌體(其形成舉例而言,可以是一BIOS)處,一保全管理狀態係使用一密碼編譯金鑰來連結至平台。該端點裝置之OS 120受信賴以將管理狀態從韌體遞送至管理系統。
隨著一端點裝置或PC 100啟動(或例如從休眠退出),一韌體103可蒐集管理狀態資訊。該管理狀態資訊可包含與可從EC 107蒐集之系統更新有關之資訊。在一實例中,對於個別設定,韌體103可收集此類設定。對於管理資料(舉例如一清單)之多個設定,韌體103可收集該多個設定之一雜湊。該雜湊可包括一管理狀態、一清單雜湊、及/或恢復變數。韌體103可將各個別設定或雜湊格式化成可剖析及簽署之一訊息格式(例如:一JSON格式),其可包括一序號或其他獨特識別符。
韌體103可使用平台階層內之一適當私用金鑰或簽章金鑰(一第一密碼編譯金鑰)、或一TPM 170受限簽署金鑰,連同一TPM為基之時間值,來簽署管理狀態資訊。在裝置平台之一受信賴執行狀態期間,私用金鑰可屬於可存取。已簽署管理狀態資訊可稱為一管理陳述或已簽署結構。該TPM為基之時間值可以是用於展現已簽署結構新近度之一單色計數器,舉例而言,用來允許檢查管理狀態資訊以確保沒有政策角色返回、以及更新是在一指定時窗內制定。韌體103可進行以下步驟以簽署管理狀態資訊: A. 韌體103為了簽署金鑰而建立一政策,其可包括由TPM 170在啟動到此時點期間施作之量測,例如:固定式平台組態暫存器(PCR)及原始設備製造商之PCR (OEM PCR)。 B. 韌體103使用CreatePrimary TPM命令來建立BiosSignKey公開/私用金鑰對。此金鑰對係基於固定在TPM平台階層中之一隨機種子連同可包括任何PCR值之政策、或代表如何在保全處理器中建立金鑰對之證據的其他資料。這確保在給定相同啟動條件之情況下,TPM內應該產生相同金鑰對。 C. 這導致TPM回傳一CreationData、CreationTicket及CreationHash資料連同對該金鑰之一控制代碼。 D. 韌體103使用TPM來取得用於展現帶正負號結構之新近度的一單調計數器(TpmTime)。 E. 韌體103接著基於狀態資訊及TpmTime將一to_be_signed結構格式化。 F. 韌體103使用TPM簽署該to_be_signed結構(將其散列並用BiosSignKey簽署雜湊)。 G. 韌體103可使用相同金鑰來進行一TpmQuote,以在簽署資訊時展現韌體103之狀態。 H. 接著,韌體103將OEM PCR延伸並清除控制代碼,以使得金鑰對不再可用於任何其他程序。 I. 然後,韌體103將兩個結構打包成套件,並且將這些套件置放在可由OS拾起處,諸如在兩個使用者可延伸韌體介面變數(UEFI變數)內。第一結構涉及已簽署結構(在a、d-g中建立),而第二結構涉及與簽署金鑰有關之資訊(在b-c中建立): i. <to_be_signed||TPMTime>|BiosSignPublicKey||Signature ii. TPM2B_CREATION_DATA|| CreationHash || CreationTicket || BiosKey.KeyPolicy
如此,提供裝置之管理狀態隨裝置啟動(或從一休眠狀態回歸)之一快照,以允許管理系統信賴上次啟動時之管理狀態。啟動時間管理狀態可用於回報可用於在發生附加管理資訊變更時簽署該等變更之一運行時間驗核公開金鑰。
根據一實例,管理系統可建置可用於韌體103內其他任務之BiosSigning TPM為基之公開金鑰(一第二密碼編譯金鑰)之一資料庫。管理系統可匯出要在其他企業系統中使用之此資訊。
根據一實例,可提供一動態協定,其中嵌入式控制器直接回應於管理系統,以便使用公開/私用金鑰對來確認變更。在此金鑰對中建立信賴。諸如EC之一附加組件可建立一公開/私用金鑰對,並且在已簽署管理資訊中包括公開金鑰。將此金鑰包括在管理資訊結構中並因此連結至BiosSignKey,可能夠基於對TPM身份之信賴而在此嵌入式控制器金鑰中建立信賴。
根據一實例,OS可啟動端點裝置100上之一管理代理器105,其可接著拾起已簽署結構連同與簽署金鑰有關之資訊。在OS已啟動且管理代理器105已運行之後,其可拾起已簽署套件。
在一實例中,簽署之信賴可採用不同方式來實現。舉例而言,可使用憑藉隨著時間一致之金鑰進行之一檢查、或可使用與OS內產生之一TPM身份連結之一身份。
在藉由將BiosSignKey連結至一TPM身份來施作一檢查之一實例中,代理器105具有其可用於認證TPM受限簽署金鑰之一TPM身份金鑰,使安全性提升,並且允許一企業將管理狀態資訊綁定到由TPM所提供之一身份,其可例如基於對製造該裝置期間所新增認可憑證之信賴。如果代理器105具有對TPM身份金鑰(用於認證TPM操作)之存取權,則該代理器可使用TPM身份金鑰連同建立資訊來認證BiosSignKey之建立。建立BiosSignKey之認證展現金鑰來自與該身份相關聯之一有效TPM。舉例而言,此認證可使用CreationTicket、CreationHash與KeyPolicy及BIOSSignKey.Pub以及TPM CertifyCreation命令來完成,並且回傳一TPM_Attest結構。該認證可一次完成,或可依來自管理系統之需求來完成,並且係描述為KeyCertification結構。
在可使用與OS內所產生之一TPM身份連結之一身份之一實例中,信賴可基於註冊後首次使用時記錄有TPM受限簽署金鑰(BiosSignKey)、及確保該裝置之生命週期內使用的是相同金鑰,這有賴於該裝置在首次註冊時處於一「受信賴狀態」。
管理代理器105可將已簽署結構110發送至管理系統109。也就是說,管理代理器105將已簽署管理資訊連同接著要發送至管理系統109之任何KeyCertification結構打包起來。
管理系統接著可檢查所回報資訊是否符合期望。在一實例中,管理系統109從管理代理器105接收已簽署結構或套件。「尋找不符合裝置」模組160可尋找尚未收到最近已簽署管理資料且可向​一​管理員發出警示165之裝置。根據一實例,更新可不起作用,並且不回傳管理資訊。舉例而言,這可能是因為裝置損壞、關閉或管理系統已受到推翻,使得可提示管理員進行調查。
管理系統或(多個)管理組件可在已簽署結構中使用資訊來偵檢潛在問題或威脅。根據一實例,管理系統可使用儲存在資料庫145中之政策資訊來檢查施用於管理狀態資訊之簽章。管理系統可藉由檢查管理狀態資訊回傳訊息上之簽章來檢查提供資訊之裝置之TPM身份。身份憑證可儲存在一裝置識別資料庫150中。在一實例中,如果簽章或其他資訊不正確,舉例如在簽署裝置結構之當下,當裝置之一管理狀態與加密處理器之一狀態不相關時,則可產生一警示。根據一實例,舉例而言,倘若例如在啟動/重新啟動程序期間未收到一已驗核已簽署管理資料結構,則管理系統可回應於資訊之一不存在性。管理系統可驗核或檢查用於簽署管理資訊之公開金鑰是否狀態正確。此時說明一些實例。 a. 根據一實例,裝置係一新裝置:接收系統針對TPM身份記錄公開金鑰。如果有一KeyCertification結構,則驗核模組可針對身份憑證驗核金鑰,並且記錄已發生這種情況(請參照下面之c點)。管理系統可檢查此裝置是否期望為新佈建之裝置並因此用於要建立之新身份。 b. 根據一實例,已簽署管理資料配有一公開金鑰:管理系統檢查此金鑰是否為用於系統之期望金鑰。這可使用訊息中包括之任何序號、及TPM身份來實現。如果該金鑰與過去用過的金鑰相同,則該金鑰受信賴,否則產生一警示。 c. 根據一實例,如果裝置具有一KeyCertification結構:執行上面之步驟b,並且管理系統可驗核KeyCertification結構是否簽署正確、以及發行予TPM (或其他身份機制)之一身份憑證是否保證該身份。該驗核可檢查金鑰政策、及/或檢查OEM PCR是否具有如韌體製造商指定之一期望值。 d. 根據一實例,如果有一TPM引述資訊,則可針對期望值檢查任何引述之PCR值。
可針對目前及最近政策來檢查已簽署管理資訊。根據一實例,裝置狀態可儲存在裝置狀態資料庫155中。如果尚無政策角色返回、及/或更新之政策是在一指定時窗內制定,則可將已簽署管理資訊視為可接受。管理系統可針對與簽署時間對應之一記錄狀態(即一先前或已知狀態)來檢查狀態。如果發現一對應,則將狀態視為可接受,否則管理系統可向管理員警示或標示一或多個問題。在一實例中,可在資訊不正確之情況下產生警示。根據一實例,這可在諸如一或多個政策遞送不正確之情況下、及/或一裝置在一不同狀態中「卡住」之情況下處理一威脅。管理系統可在簽署時記錄系統之狀態(或組態,即管理狀態資訊),可將其記錄在裝置狀態資料庫中。
根據一實例,有一管理模組160可掃描一狀態資料庫,以尋找不具有最近更新資訊之一或多個端點裝置,該最近更新資訊可指出那些裝置處於危險狀態。
根據一實例,可使用一協定從本機裝置向一管理系統提供一已簽署結構。用戶端裝置在啟動時可查看如EC內記錄之組態狀態。在一實例中,韌體(在啟動時)可使用TPM之平台階層內建立之一TPM簽署金鑰來簽署狀態資訊,其中可接著將已簽署資訊轉發回到管理系統。管理系統可信賴簽署金鑰對簽署狀態有效。
根據一實例,一管理證明陳述之形式可為所有組態參數之一格式化列表。其可包括來自各種GetStatement命令之所有東西,並且可包括一政策資訊之一雜湊,其係連同與此類政策之施行相關聯之一附加資料雜湊儲存在平台​​內供那裡使用、或儲存在OS內。舉例而言,這可以是一ASN.1格式、或JSON或可藉由驗核系統來剖析之某任意格式。
根據一實例,管理系統可隨著時間開始查看證明,其中當管理系統首先佈建受管理之裝置時,發生首次證明。佈建後之首次證明可記錄這屬於一初始佈建並且各陳述提供公開金鑰之證明。可為各管理證明陳述記錄及檢查所使用之公開金鑰。信賴可透過用於簽署證明陳述之公開金鑰之連續性來建立。如此,存在用戶端裝置隨著佈建發生而受信賴之一狀態。
根據一實例,提供有一已認證證明程序。TPM可具有經由一隱私憑證機構(CA)所佈建之一已認證身份金鑰。可將金鑰連結成使得其可用於對與用戶端裝置相關聯之認可憑證簽署管理證明狀態。可提供對認可授權之存取權以建立一身份金鑰,該身份金鑰可與一主要所有權層級連結及/或受到一使用者控制。這能阻止為了在平台階層中簽署金鑰而建立一身份之能力。可建立金鑰,並且可將建立票證轉發至管理代理器。可向管理代理器提供對已經由一隱私CA認證並且具有一相關聯憑證之一TPM身份金鑰(AIK)的存取權。此身份金鑰可用於簽署一金鑰建立證明陳述,該金鑰建立證明陳述確認與身份金鑰相關聯之TPM已建立金鑰。管理代理器可向管理系統回報PCR狀態、以及平台階層內建立金鑰之確認。憑藉此已認證證明,可對已簽署管理證明陳述具有真性給予信賴度。一信賴陳述之實例可包括: a. BiosSigning金鑰可由與連結至認可憑證之一證明身份金鑰(AIK)相同之TPM所建立。 b. BiosSigning金鑰係建立在平台階層內,該平台階層係鎖定成使得僅韌體命令可存取金鑰。 c. 當PCR處於一給定狀態時,建立BiosSigning金鑰。BIOS廠商可在簽署時點施作雜湊之一陳述,其之後會在OS啟動前先變更。這確認簽署是在啟動期間發生。
圖2展示向一管理系統109提供一已簽署結構時不同協定步驟之資訊流。該協定是在可處於載入任何第三方UEFI驅動程序前之POST啟動階段期間開始200。
韌體103可從EC 107取得202裝置管理狀態。在一實例中,這可使用對如恢復韌體規格中所規定之狀態WMI呼叫提供支援之狀態呼叫來實現。這可涉及為附加特徵取得Sure Run狀態、Sure Run清單雜湊(如果不處於Sure Run狀態)及Sure Run資料狀態、Sure Recover變數、及/或任何其他狀態。
韌體可將管理狀態訊息格式化成可予以剖析及簽署之一定義形式204。
韌體可建立206-208一TPM簽署金鑰對(公開與私用金鑰) (BiosKey)。韌體最初可為可包括任何固定式PCR及OEM PCR之金鑰對建立一政策。這可導致一金鑰係基於特定PCR值及階層種子建立,使得相同金鑰無法在有不同PCR值時建立。韌體可使用CreatePrimary在平台階層內憑藉政策及一預選授權來建立一簽署金鑰對,例如使用平台階層授權來建立。可建立金鑰,以回報任何固定式PCR連同建立票證中之OEM PCR,其可有別於政策並且是在CreatePrimary呼叫中指定。接著,TPM 170可回傳對金鑰之一控制代碼連同一TPM2B_CREATION_DATA結構、一CreationHash及一Creation Ticket。
舉例而言,韌體可使用TPM來獲得建立票證、以及對所建立(BIOSKey)金鑰對及一TpmTime 210-212之控制代碼,其可以是用於確保已簽署證明屬於新近之一單調時基計數器。
可將TpmTime附加214至狀態訊息以形成一to_be_Signed_message。
韌體可使用TPM來簽署216-218該to_be_Signed_message。根據一實例,韌體可使用TPM(或TPM庫)來建立To_Be_Signed訊息之一雜湊。韌體可使用TPM來簽署使用(BIOSKey)金鑰控制代碼(以及預選授權)之雜湊。
TPM可簽署訊息220並將該簽署回傳至韌體。
韌體可使用TPM來延伸OEM PCR 222並刷新(BIOSKey)金鑰控制代碼。這可防止其他組件建立或使用簽署金鑰。根據一實例,當金鑰處於TPM內時,金鑰仍然可用。在一實例中,刷新控制代碼會移除金鑰。根據一實例,由於PCR政策,因此可不接著重建金鑰。
韌體可將已簽署訊息格式化224成以下形式:To_Be_Signed_Message || BiosKey.Pub || Signature。
可將格式化之已簽署訊息結構置放226到一UEFI變數內,可在該處將其從OS拾起。韌體可將金鑰建立資訊格式化。在一實例中,可驗證簽署金鑰。格式化之已簽署訊息之形式可為含有以下內容之一訊息:TPM2B_CREATION_DATA|| CreationHash || CreationTicket || BiosKey.KeyPolicy。此結構可形成證明結構。根據一實例,證明結構係置放到一UEFI變數內,OS可在該處拾起資料。金鑰政策可以是據以建立BiosKey之政策之一雜湊。在一實例中,證明結構可用於驗核一建立票證。在一實例中,證明結構包括具有控制PCR之一葉節點。證明結構允許金鑰受到認證,例如展現金鑰來自裝置上之TPM。在一實例中,證明結構在建立時提供所選PCR之狀態。
重新啟動可持續進行直到完成230。
當重新啟動完成232時,管理代理器130 (例如:WMI管理或Windows WMI驅動程序)可持續。根據一實例,管理代理器可拾起已簽署訊息,並且將此轉發至管理系統之伺服器。接著,管理系統可對簽署檢查時脈是否大於前值及/或金鑰是否已變更。根據一實例,存在一認證之證明協定,其中管理代理器可拾起已簽署陳述,並且BiosKey.Public係提取自此訊息。可剖析建立認證資訊,並且可將其拆分成重建有TPM二進位結構之不同組件。此程序可提供: a. BiosKey.Public金鑰 b. BiosKey.Policy c. 用於BiosKey之建立票證 d. 用於BiosKey之建立雜湊 e. 用於BiosKey之建立資料結構。這可包括(i) CreatePrimary中指定之PCR選擇及該選擇之摘要。PCR延伸前金鑰使用時之有效摘要值可由企業提供;(ii)局部性; (iii) parentName、Algorithm及Qualified Name,其中名稱可以是平台階層控制代碼,其可確保金鑰是在TPM之控制下建立且係用於TPM平台階層中;以及(iv)任何其他資訊。
管理代理器可存取234儲存階層內之一TPM身份金鑰。可使用CreatePrimary載入或建立該金鑰以比對憑證。此操作遵循使用一認可憑證及隱私CA為一TPM獲得一身份金鑰之標準方式。
管理代理器可使用236 TPM Load External命令將BiosKey.Pub連同政策雜湊載入至虛無階層。根據一實例,這可給予與如在韌體中建立時一般具有相同名稱之一有效公開金鑰。
本機管理代理器可使用238 CertifyCreation TPM命令來取得TPM,以認證TPM是否在CreationData結構內指定之條件下建立BiosKey。根據一實例,以下資訊可用於此認證程序: a. CreationHash (其係建立資料結構之雜湊)。 b. CreationTicket,其係使用TPM之內部證明金鑰之一HMAC。 c. 對具有正確名稱(因此具有建立政策)之已載入BiosKey.Public之一控制代碼。 d. 對TPM身份金鑰之一控制代碼。 e. 用於身份金鑰之授權。 f. 該命令可接著回傳240: i. 含有CreationData及BiosKey名稱之一TPM_Attest結構。 ii. 此結構之雜湊上之一簽章。
管理代理器可建立242一套件,其含有:(i)來自韌體之已簽署狀態;(ii) TPM_Attest結構及簽章;(iii) TPM_Identity金鑰之憑證。
可將該套件發送246至管理系統。
管理系統可驗證248套件狀態。根據一實例,管理系統藉由檢查已簽署狀態中之TPMClock時間晚於自前一個啟動循環起從裝置接收之證明套件(246)來檢查狀態是否如期望。管理系統可檢查簽署公開金鑰是否與來自裝置之前一個(246)訊息相同。根據一實例,管理系統可藉由檢查身份金鑰是否正確地簽署建立資料、及/或檢查建立資料是否顯示一平台金鑰係依據正確PCR陳述及/或使用正確政策建立,來檢查TPM身份金鑰是否來自其期望之裝置。這些陳述可允許管理系統信賴端點裝置之狀態係來自給定裝置,並且信賴其反映啟動時保持在EC中之狀態。
根據一實例,Bios金鑰可以是可用於檢查本機管理金鑰是否係於TPM內建立之一受限金鑰。在一實例中,如果屬於這種狀況,則使用TPM來散列所簽署之資料結構,並將票證回傳以對此進行展現。這可確保無法強制簽署TPM結構之簽署金鑰簽署一非TPM結構。
根據一實例,可存在已用一身份憑證發行之一身份金鑰,使得一企業可將其連結至實體裝置。舉例而言,一隱私憑證機構(CA)可運行或連結至實體裝置。根據一實例,協定如下: a. 在用戶端裝置上,可在適當之政策下建立一金鑰並產生其名稱。 b. 可將該名稱連同認可憑證發送至Privacy CA (其可以是一管理外掛程式)。 c. Privacy CA可用AES金鑰將一TPM身份憑證加密,並且使用一認可憑證中之公開金鑰將AES金鑰加密。 d. 在用戶端上,TPM身份憑證可經由存取認可階層使用ActivateCredential命令來解密。
根據一實例,使用一公開/私用金鑰對來提供狀態資訊之一運行時間證明。該金鑰對可保持安全性並且用在一安全處。公開金鑰可受管理系統信賴,作為藉由將其包括在「To_Be_Signed」證明訊息中而從指定裝置為此目的建立之一金鑰。信賴係源自於TPM簽章。此類金鑰亦可用於將已加密資料向下遞送至平台。根據一實例,可在EC上建立一不對稱金鑰對,其中公開金鑰可成為組態狀態之部分。公開金鑰可憑藉一認證程序協定在啟動時予以認證,舉例如參照圖2所述者。該協定可向管理系統提供認可憑證(或平台金鑰)與EC內之金鑰之間的一連結以建立信賴。接著,可根據請求將EC金鑰對用於簽署狀態資訊。根據一實例,在政策變更之後,一請求可簽署狀態變數(其中EC可進行該簽署),並且可將已簽署套件回傳至管理系統。
根據一實例,為EC加密之特定套件可與密碼資訊一起遞送,例如用於建立服務。在一實例中,該資訊可用一金鑰(例如:一進階加密標準金鑰或AES金鑰)來加密,該金鑰本身可使用EC之公開金鑰來加密。EC可將AES金鑰解密,然後將整個套件解密。
根據一實例,本文中所述之方法及系統可用於其他平台狀態資訊,諸如韌體設定之狀態或與其他附接裝置相關聯之設定之狀態。
本文中所述之方法及系統可確保EC成為管理系統之信賴根,其可允許管理系統信賴政策係由用戶端裝置正確地接收及處理。這可降低或移除對本機裝置作業系統信賴之一相依性。
可將本揭露中之實例提供為方法、系統或機器可讀指令,諸如軟體、硬體、韌體或類似者之任何組合。此類機器可讀指令可包括在內有或上有電腦可讀程式碼之一電腦可讀儲存媒體(包括但不限於碟片儲存器、CD-ROM、光學儲存器等)上。
本揭露乃是參照根據本揭露之實例之方法、裝置及系統之流程圖及/或方塊圖來說明。雖然上述流程圖展示一特定執行順序,仍可採用與所示者不同的執行順序。與一個流程圖有關所述的程序塊可與另一流程圖之程序塊組合。在一些實例中,流程圖之一些程序塊可能並非必要,及/或可新增附加程序塊。應瞭解的是,可藉由機器可讀指令來落實流程圖及/或方塊圖中的各流程及/或區塊、以及流程圖及/或方塊圖中流程及/或簡圖的組合。
機器可讀指令舉例而言,可藉由一通用電腦、一特殊用途電腦、一嵌入式處理器、或其他可規劃資料處理裝置之處理器來執行,以落實本說明及簡圖中所述之功能。特別的是,一處理器或處理設備可執行該等機器可讀指令。因此,設備之模組可藉由執行一記憶體中所儲存機器可讀指令之一處理器、或根據邏輯電路系統中所嵌入指令而運作之一處理器來實施。「處理器」一詞要廣義解讀為包括一CPU、處理單元,ASIC、邏輯單元、或可規劃閘組等。方法及模組全都可藉由單一處理器來進行或區分成數個處理器。
此類機器可讀指令亦可儲存於可導引電腦或其他可規劃資料處理裝置在一特定模式中運作之一電腦可讀儲存器中。
舉例而言,指令可設置在編碼有可由處理器執行之指令之一非暫時性電腦可讀儲存媒體上。
圖3展示與一記憶體320相關聯之一處理器310之一實例。記憶體320包含可由處理器310執行之電腦可讀指令330。指令330包含進行下列步驟之指令:至少在裝置平台之一保全加密處理器(保全處理器)處建立一資料結構及一第一密碼編譯金鑰,使用該第一密碼編譯金鑰簽署該資料結構,其中該已簽署資料結構代表來自該保全加密處理器之一裝置管理狀態及一時基值,以及為了驗證施用於該已簽署資料結構之該簽章、及檢查該時基值而經由該裝置平台之一管理代理器將該已簽署資料結構傳送至一管理系統。
亦可將此類機器可讀指令載入到一電腦或其他可規劃資料處理裝置上,以使得該電腦或其他可規劃資料處理裝置進行一串操作以產生電腦實施之處理,因此,該電腦或其他可規劃裝置上執行之指令提供用於落實流程圖中(多個)流程及/或方塊圖中(多個)區塊所指定功能之一操作。
再者,本文中之教示可採用一電腦軟體產品之形式來實施,該電腦軟體產品係儲存在一儲存媒體中,並且包含用於使一電腦裝置實施本揭露之實例中所明載之方法之複數個指令。
儘管本方法、設備及有關態樣已參照某些實例作說明,仍可進行各種修改、變更、省略及替代但不會脫離本揭露之精神。特別的是,出自一項實例之一特徵或區塊可與另一實例之一特徵/區塊組合、或用其替代。
「包含」一詞未排除一請求項中所列除外元件的存在,「一」或其詞形變化未排除複數個,而且單一處理器或其他單元可實現申請專利範圍中所詳載數種單元之功能。
任何附屬項之特徵可與任何獨立項或其他附屬項之特徵組合。
100‧‧‧端點裝置 103‧‧‧韌體 105‧‧‧管理代理器 107‧‧‧EC 109‧‧‧管理系統 110‧‧‧已簽署結構 120‧‧‧OS 145‧‧‧資料庫 150‧‧‧裝置識別資料庫 155‧‧‧裝置狀態資料庫 160‧‧‧管理模組 165‧‧‧警示 170‧‧‧TPM 200~248‧‧‧協定步驟 310‧‧‧處理器 320‧‧‧記憶體 330‧‧‧指令
某些實例之各種特徵在搭配附圖經由以下的詳細說明後將會顯而易見,此等附圖僅以舉例方式一起繪示若干特徵,其中:
圖1根據一實例展示向一管理系統或管理伺服器提供一受信賴管理狀態之裝置。
圖2根據一實例,展示向一管理系統提供一管理狀態時不同協定步驟之資訊流。
圖3根據一實例,展示一處理器,其與一記憶體相關聯且包含用於向一管理系統提供一可信賴管理狀態之指令。
100‧‧‧端點裝置
103‧‧‧韌體
105‧‧‧管理代理器
107‧‧‧EC
109‧‧‧管理系統
110‧‧‧已簽署結構
120‧‧‧OS
145‧‧‧資料庫
150‧‧‧裝置識別資料庫
155‧‧‧裝置狀態資料庫
160‧‧‧管理模組
165‧‧‧警示
170‧‧‧TPM

Claims (15)

  1. 一種裝置平台,其包含一保全處理器: 該保全處理器用來產生已簽署資料及一計數器值, 其中該已簽署資料係藉由簽署代表裝置平台管理資訊之資料所產生, 其中該簽署係使用出自該保全處理器中所建立及管理之一密碼編譯金鑰對之一簽章金鑰來進行,該簽章金鑰在該裝置平台之一受信賴執行狀態期間屬於可存取;以及 一管理代理器,其用來對該裝置平台施行資料變更, 該裝置平台用來經由該裝置平台之該管理代理器向一管理系統提供該已簽署資料,並且用來為了驗證施用於該已簽署資料之一簽章而檢查該計數器值。
  2. 如請求項1之裝置平台,該保全處理器更用來: 提供代表該金鑰對如何在該保全處理器中建立、及如何連結至一啟動程序之證據的資料。
  3. 如請求項1之裝置平台,該管理代理器用來: 在該保全處理器中使用一已認證身份來驗核該簽署金鑰已在該保全處理器中建立。
  4. 如請求項1之裝置平台,該保全處理器更用來: 向該裝置平台之一韌體提供對該簽章金鑰之一控制代碼、以及一時基值。
  5. 如請求項1之裝置平台,該管理代理器更用來: 為了一裝置平台狀態而查詢該裝置平台之一韌體。
  6. 一種非暫時性機器可讀儲存媒體,其編碼有可由一處理器執行用以對一裝置平台之一管理狀態進行證明之指令,該機器可讀儲存媒體包含進行以下步驟之指令: 在該裝置平台之一保全加密處理器處建立一資料結構及一第一密碼編譯金鑰; 使用該第一密碼編譯金鑰來簽署該資料結構,其中該已簽署資料結構代表來自該保全加密處理器之一裝置管理狀態及一時基值; 為了驗證施用於該已簽署資料結構之該簽章、及檢查該時基值而經由該裝置平台之一管理代理器將該已簽署資料結構傳送至一管理系統。
  7. 如請求項6之非暫時性機器可讀儲存媒體,其更編碼有進行以下步驟之指令: 提供代表該第一密碼編譯金鑰如何在該裝置平台之該保全加密處理器中建立、及如何連結至一啟動程序之證據的資料。
  8. 如請求項6之非暫時性機器可讀儲存媒體,其更編碼有進行以下步驟之指令: 在該保全加密處理器中使用一已認證身份來驗核該簽署金鑰已在該裝置平台之該保全加密處理器中建立。
  9. 如請求項6之非暫時性機器可讀儲存媒體,其更編碼有進行以下步驟之指令: 於該管理代理器認證該第一密碼編譯金鑰。
  10. 如請求項6之非暫時性機器可讀儲存媒體,其更編碼有進行以下步驟之指令: 向該裝置平台之一韌體提供對該簽章金鑰之一控制代碼、以及時基值。
  11. 如請求項6之非暫時性機器可讀儲存媒體,其更編碼有進行以下步驟之指令: 為了一裝置平台狀態而查詢該裝置平台之一韌體。
  12. 一種管理系統,其包含一驗核模組,該驗核模組用來: 從一裝置接收一已簽署資料結構; 使用一密碼編譯金鑰來驗核該已簽署資料結構; 驗核該密碼編譯金鑰之狀態; 記錄與該已簽署資料結構有關之該裝置之一管理狀態;以及 於簽署該資料結構之一時間,將該裝置管理狀態與該裝置中一加密處理器之一狀態作比較。
  13. 如請求項12之管理系統,其更用來在該裝置管理狀態與該加密處理器在簽署該裝置結構之該時間的該狀態不相關時產生一警示。
  14. 如請求項12之管理系統,其更用來在未收到一已驗核已簽署管理資料結構時產生一警示。
  15. 如請求項12之管理系統,其更用來: 接收代表該裝置之一管理狀態的資料;以及 驗核用於簽署該管理狀態資料之一簽章。
TW107137770A 2018-03-12 2018-10-25 平台組配技術 TWI696091B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
PCT/US2018/021946 WO2019177564A1 (en) 2018-03-12 2018-03-12 Platform configurations
??PCT/US18/21946 2018-03-12
WOPCT/US18/21946 2018-03-12

Publications (2)

Publication Number Publication Date
TW201939339A TW201939339A (zh) 2019-10-01
TWI696091B true TWI696091B (zh) 2020-06-11

Family

ID=67906852

Family Applications (1)

Application Number Title Priority Date Filing Date
TW107137770A TWI696091B (zh) 2018-03-12 2018-10-25 平台組配技術

Country Status (3)

Country Link
US (1) US11321494B2 (zh)
TW (1) TWI696091B (zh)
WO (1) WO2019177564A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI736074B (zh) * 2019-12-20 2021-08-11 瑞昱半導體股份有限公司 周邊裝置及其驗證更新方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050021968A1 (en) * 2003-06-25 2005-01-27 Zimmer Vincent J. Method for performing a trusted firmware/bios update
US20060015732A1 (en) * 2004-07-15 2006-01-19 Sony Corporation Processing system using internal digital signatures
US20100161998A1 (en) * 2008-12-15 2010-06-24 Liqun Chen Associating a Signing key with a Software Component of a Computing Platform
US20120151223A1 (en) * 2010-09-20 2012-06-14 Conde Marques Ricardo Nuno De Pinho Coelho Method for securing a computing device with a trusted platform module-tpm
TW201447759A (zh) * 2013-03-15 2014-12-16 Insyde Software Corp 用於管理及診斷配備有統一可延伸韌體介面(uefi)相容韌體的計算裝置之系統與方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7640593B2 (en) 2005-04-21 2009-12-29 Nokia Corporation User-controlled management of TPM identities
US7711960B2 (en) * 2006-08-29 2010-05-04 Intel Corporation Mechanisms to control access to cryptographic keys and to attest to the approved configurations of computer platforms
US7986786B2 (en) 2006-11-30 2011-07-26 Hewlett-Packard Development Company, L.P. Methods and systems for utilizing cryptographic functions of a cryptographic co-processor
US9280659B2 (en) 2006-12-29 2016-03-08 Intel Corporation Methods and apparatus for remeasuring a virtual machine monitor
US8667263B2 (en) * 2010-02-12 2014-03-04 The Johns Hopkins University System and method for measuring staleness of attestation during booting between a first and second device by generating a first and second time and calculating a difference between the first and second time to measure the staleness
WO2013101178A1 (en) 2011-12-30 2013-07-04 Intel Corporation Using a trusted platform module for boot policy and secure firmware
US9594567B2 (en) 2013-02-21 2017-03-14 Dell Products, Lp Configuring a trusted platform module
US9294282B1 (en) * 2013-07-01 2016-03-22 Amazon Technologies, Inc. Cryptographically verified repeatable virtualized computing
US9690943B2 (en) 2014-06-04 2017-06-27 Dell Products L.P. BIOS secure data management system
US10803175B2 (en) 2015-03-06 2020-10-13 Microsoft Technology Licensing, Llc Device attestation through security hardened management agent

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050021968A1 (en) * 2003-06-25 2005-01-27 Zimmer Vincent J. Method for performing a trusted firmware/bios update
US20060015732A1 (en) * 2004-07-15 2006-01-19 Sony Corporation Processing system using internal digital signatures
US20100161998A1 (en) * 2008-12-15 2010-06-24 Liqun Chen Associating a Signing key with a Software Component of a Computing Platform
US20120151223A1 (en) * 2010-09-20 2012-06-14 Conde Marques Ricardo Nuno De Pinho Coelho Method for securing a computing device with a trusted platform module-tpm
TW201447759A (zh) * 2013-03-15 2014-12-16 Insyde Software Corp 用於管理及診斷配備有統一可延伸韌體介面(uefi)相容韌體的計算裝置之系統與方法

Also Published As

Publication number Publication date
US20210182434A1 (en) 2021-06-17
US11321494B2 (en) 2022-05-03
TW201939339A (zh) 2019-10-01
WO2019177564A1 (en) 2019-09-19

Similar Documents

Publication Publication Date Title
CN111708991B (zh) 服务的授权方法、装置、计算机设备和存储介质
CN112417379B (zh) 一种集群许可证管理方法、装置、授权服务器及存储介质
US11356425B2 (en) Techniques for improving security of encrypted vehicle software updates
EP1805571B1 (en) Verifying binding of an initial trusted device to a secured processing system
CN110109443B (zh) 车辆诊断的安全通信方法、装置、存储介质及设备
US20130185564A1 (en) Systems and methods for multi-layered authentication/verification of trusted platform updates
TWI620092B (zh) 用於在載入期間驗證軟體之裝置及用於在載入於裝置內期間驗證軟體之方法
US11475107B2 (en) Hardware security
EP1674963A1 (en) Secure license management
US20150134942A1 (en) Hardware rooted attestation
US9015837B1 (en) Systems and methods for verifying an update to data of an electronic device
JP2022028632A (ja) デバイス、及び方法
CN106790045B (zh) 一种基于云环境分布式虚拟机代理装置及数据完整性保障方法
CN110018841A (zh) 一种uefi bios升级方法、系统及相关装置
JP2008532123A (ja) 被管理装置を監視制御する方法
US10154023B1 (en) Method and system for secure instantiation of an operation system within the cloud
US20220393869A1 (en) Recovery keys
US20230289478A1 (en) Generating signed measurements
CN111414612A (zh) 操作系统镜像的安全保护方法、装置及电子设备
WO2021084220A1 (en) Iterative key generation for constrained devices
TWI696091B (zh) 平台組配技術
US20080313743A1 (en) Network Software License Management and Piracy Protection
CN113791872B (zh) 基于云计算的认证方法及系统
CN108228219B (zh) 一种带外刷新bios时验证bios合法性的方法及装置
KR101982917B1 (ko) Ecu 보안 유지를 위한 인증서 기반 차량 보안 방법 및 장치