共用方式為


測量開機和主機證明

本文說明 Microsoft 如何透過測量開機和主機證明來確保主機的完整性及安全性。

測量開機

信任平台模組 (TPM) 是一種可防止竄改的密碼編譯式安全稽核元件,由信任的協力廠商提供韌體。 開機設定記錄包含了主機上次進入啟動程序順序時的雜湊鏈結量值,這些量值會記錄於平台設定暫存器 (PCR)。 記錄程序如下圖所示。 將先前的雜湊量值累加新增至下一次測量的雜湊,並針對聯集執行雜湊演算法,即完成雜湊鏈結。

顯示主機證明服務哈希鏈結的圖表。

若主機使用開機設定記錄 (TCGLog) 來提供設定狀態證明,則完成證明。 開機記錄不易偽造,因為 TPM 不會公開讀取和擴充作業以外的 PCR 值。 此外,主機證明服務提供的認證也會密封為特定的 PCR 值。 使用雜湊鏈結可防止計算層面的詐騙,或頻外認證遭到解密。

主機證明服務

主機證明服務是一種預防措施,可先檢查主機電腦是否可信任,再允許其與客戶資料或工作負載互動。 主機證明服務的檢查方式,即是根據證明原則 (安全狀態的定義) 來驗證各主機所傳送的合規性聲明 (可驗證的主機合規性證明)。 TPM 所提供的信任根源可保證此系統的完整性。

在特製化的鎖定環境中,每個 Azure 叢集皆具備主機證明服務。 鎖定環境也包含了參與主機電腦啟動通訊協定的其他閘道管理員服務。 公開金鑰基礎結構 (PKI) 可作為驗證證明要求出處的媒介,以及身份識別簽發者 (取決於主機證明是否成功)。 證明後的認證會核發至證明主機,並密封至其身分識別。 只有要求的主機才能解密認證,並用於取得累加式權限。 如此可防止攔截式攻擊和詐騙攻擊。

若 Azure 主機的來源處理站發生安全性設定錯誤或資料中心遭竄改,其 TCGLog 會在下次證明時包含主機證明服務所標示的危害指標,並會導致證明失敗。 證明失敗可防止 Azure 機群信任違規的主機。 這項防範措施可有效封鎖該主機的所有來往通訊,並觸發事件工作流程。 系統將會進行調查及詳盡的事後分析,以判斷根本原因及任何可能的危害徵兆。 完成分析後主機才會修復,方能加入 Azure 機群及接受客戶工作負載。

以下為主機證明服務的概略架構:

顯示主機證明服務架構的圖表。

證明測量

以下為目前所擷取的多項測量範例。

安全開機和安全開機金鑰

主機證明服務會驗證簽章資料庫和撤銷的簽章資料庫摘要是否正確,以確保用戶端代理程式信任適當的軟體。 主機證明服務也會驗證公開金鑰註冊金鑰資料庫簽章,以及公開平台金鑰簽章,確認只有受信任的對象具備軟體信任定義的修改權限。 最後,主機證明服務會確保安全開機處於作用中狀態,以驗證這些定義已強制執行。

偵錯控制項

偵錯工具是適用於開發人員的強大工具。 但若記憶體和其他偵錯命令的存取權不受限制,當提供給不受信任的對象時,可能會減損資料保護力和系統完整性。 當實際執行的電腦開機時,主機證明服務可確保停用任何類型的偵錯。

程式碼完整性

UEFI 安全開機會確保開機順序期間僅可執行受信任的低層級軟體。 但在開機後的環境中,具備核心模式存取權的驅動程式和其他可執行檔也必須執行相同的檢查。 為此,程式碼完整性 (CI) 原則可用於指定有效與無效的簽章,以便定義受信任的驅動程式、二進位檔和其他可執行檔。 這些原則會強制執行。 違反原則時則會產生警示,供安全性事件回應小組進行調查。

下一步

若要深入了解我們推動平台完整性和安全性的方法,請參閱: