安全或已驗證的啟動:霧節點應該支持硬件信任根功能來驗證啟動過程。安全或經過驗證的引導是一個體系化的過程,包括加載和驗證已簽名的固件鏡像,加載引導程序、內核和模塊。需要注意的是,即使可信平臺模塊存在,在啟動時也不一定需要使用它。驗證啟動有許多實現方法,例如,從不可變的只讀存儲器(Read Only Memory,ROM)加載的代碼開始執行。由于簽名一般難以規避,所以霧節點中的計算實體僅可操作有密碼簽名的固件映像。安全啟動引導可能是專有的,所以需要由系統架構師驗證啟動引導程序的安全強度和功能。此外,硬件信任根不應當執行未驗證的代碼,包括來自PCI-e存儲設備的可變ROM中的代碼等。
霧節點的安全可信機制可以從硬件以下方面構建:
安全或已驗證的啟動:霧節點應該支持硬件信任根功能來驗證啟動過程。安全或經過驗證的引導是一個體系化的過程,包括加載和驗證已簽名的固件鏡像,加載引導程序、內核和模塊。需要注意的是,即使可信平臺模塊存在,在啟動時也不一定需要使用它。驗證啟動有許多實現方法,例如,從不可變的只讀存儲器(Read Only Memory,ROM)加載的代碼開始執行。由于簽名一般難以規避,所以霧節點中的計算實體僅可操作有密碼簽名的固件映像。安全啟動引導可能是專有的,所以需要由系統架構師驗證啟動引導程序的安全強度和功能。此外,硬件信任根不應當執行未驗證的代碼,包括來自PCI-e存儲設備的可變ROM中的代碼等。
可信或已度量可信度的啟動:可信啟動與安全啟動的不同之處在于對軟件的依賴。可信啟動利用更高級別的軟件證明(以編程方式驗證)運行的固件是安全的。例如,可以使用可信平臺模塊執行固件代碼,代碼執行時將創建加密后的匯編代碼模塊,并存儲在可信平臺模塊中。可信平臺模塊中的平臺配置寄存器將作為該過程的存儲器。平臺配置寄存器可以被認為是用于某個特定目的的單一可信鏈。
確保安全的啟動過程:霧節點的安全建立信任根需要通過啟動過程的剩余部分來驗證和擴展,以確保節點可以被信任。霧節點在執行某個組件之前必須確保該組件固件和系統軟件沒有被篡改。實現這一點的方法較多,例如,可信計算組織規范中定義的可信引導與安全引導、麻省理工學院提出的AEGIS等。具體解決方案的選擇和實施應該與安全分析和威脅評估協同起來。
標識:霧節點必須能夠向網絡內的其他實體標識自己。從霧節點請求服務的實體也必須能夠向霧節點標識自己。這種識別的最佳方法是使用一個具有證明能力的不變標識符。證明能力是系統向遠程第三方驗證者提供一些不可偽造證據的能力。采用直接匿名證明是較為常見的方法,它是使霧系統在保證隱私的同時證明給定系統可信的憑證。
遠程可信認證:終端節點訪問霧節點時需要執行一個可信認證過程,這個過程認證了終端用戶眼中的霧計算系統的安全狀態與可信程度。在霧計算層次結構中,可信認證過程通常采用遠程認證或軟件認證的方式實現,實現手段包括度量和驗證。度量指采集所檢測的軟件或系統的狀態,驗證指將度量結果和參考值進行比對,看結果是否一致,如果一致則驗證通過,如果不一致則驗證失敗。度量和驗證的目的是證明運行在霧節點上的固件和軟件已知或可信。如果在霧節點上運行的固件未通過認證,則不應使用該節點,并且需要進行系統修復。雖然有許多實現方法可用于遠程證明,但為實現跨越多個接口的遠程證明,需要使用可信計算組織和其他標準組織認可的證明方法。
回答所涉及的環境:聯想天逸510S、Windows 10。