按照參考平臺清單和數(shù)據(jù)封裝的安全操作系統(tǒng)啟動的制作方法
【專利說明】
【背景技術(shù)】
[0001]典型地,計算設(shè)備利用安全模塊以在啟動期間監(jiān)測計算設(shè)備的硬件平臺和操作系統(tǒng)。安全模塊通常是在計算設(shè)備啟動時從計算設(shè)備的各個組件接收狀態(tài)輸入的專用處理芯片。進而,安全模塊向計算設(shè)備上的應(yīng)用程序提供狀態(tài)輸入。應(yīng)用程序總體上使用狀態(tài)輸入來驗證該計算設(shè)備對于執(zhí)行應(yīng)用程序來說是安全的平臺,例如,操作系統(tǒng)是最新的并且沒有已知的安全問題。
[0002]然而,在許多實例中,由于初始化了大量的硬件組件,因此安全模塊在啟動期間從硬件和軟件平臺接收了大量的輸入。此外,許多應(yīng)用程序不能夠處理從安全模塊接收到的狀態(tài)輸入。開發(fā)能夠處理來自具有各種硬件配置的過多的計算設(shè)備的狀態(tài)輸入以對安全的計算設(shè)備和受到威脅的(compromised)計算設(shè)備進行區(qū)分的應(yīng)用程序,典型地需要大量的資源支出。通常,應(yīng)用程序開發(fā)者缺少或另外不愿意投入這樣的資源。由此,雖然安全模塊旨在協(xié)助創(chuàng)建安全的計算平臺,但是計算設(shè)備上大量的應(yīng)用程序經(jīng)常忽略由安全模塊提供的狀態(tài)輸入。
[0003]由此,盡管事實上狀態(tài)輸入反映了受到威脅的計算設(shè)備,但是應(yīng)用程序仍在該計算設(shè)備上執(zhí)行。執(zhí)行這樣的應(yīng)用程序經(jīng)常無意中允許惡意的一方控制該計算設(shè)備和/或從計算設(shè)備竊取用戶數(shù)據(jù)。
【發(fā)明內(nèi)容】
[0004]本文中描述了用于使用由計算設(shè)備上的信任模塊推導(dǎo)的一個或多個設(shè)備健康值來確定計算設(shè)備的健康狀態(tài)的技術(shù)。這些技術(shù)可以生成計算設(shè)備的一個或多個參考健康值。該一個或多個參考健康值是可以提前使用具有與計算設(shè)備相同的硬件和/或軟件配置的一個或多個參考計算設(shè)備來生成的。該參考健康值可以表示在參考計算設(shè)備啟動時的硬件平臺的狀態(tài)和/或包括參考計算設(shè)備的操作系統(tǒng)的軟件棧的狀態(tài)。參考健康值可以反映已知參考計算設(shè)備的硬件平臺和/或操作系統(tǒng)處于安全狀態(tài)的事實。處于安全狀態(tài)的參考計算設(shè)備可以不存在已知的安全問題。在一些實施例中,相對于外圍硬件組件(例如,外部鍵盤、鼠標(biāo)、擴展塢(Docking Stat1n)等),可以關(guān)于硬件平臺的不變硬件組件(例如,圖形處理器、閃速存儲器等)來測量硬件平臺的狀態(tài),其中該不變硬件組件影響計算設(shè)備的安全背景。
[0005]計算設(shè)備上的信任模塊可以生成表示在啟動時計算設(shè)備的硬件平臺和/或操作系統(tǒng)的狀態(tài)的一個或多個設(shè)備健康值。當(dāng)每個設(shè)備健康值與相對應(yīng)的參考健康值匹配時,計算設(shè)備上的啟動處理組件可以確定計算設(shè)備處于安全狀態(tài)。相反,當(dāng)任意設(shè)備健康值與其相對應(yīng)的參考健康值不相同時,該組件可以確定計算設(shè)備處于非期望狀態(tài)。在發(fā)現(xiàn)計算設(shè)備處于非期望狀態(tài)的情況下,啟動處理組件可以通過執(zhí)行恢復(fù)環(huán)境(例如,包括維護模塊的并行安全軟件棧)而發(fā)起對計算設(shè)備上的軟件組件的修復(fù)。例如,恢復(fù)環(huán)境可以發(fā)起對損壞的數(shù)據(jù)文件的修理、對惡意軟件或病毒的移除、操作系統(tǒng)的重映射、針對一個或多個硬件組件安裝新的固件等,使得可以使計算設(shè)備回到安全狀態(tài)。
[0006]相反,在安全狀態(tài)中運行的計算設(shè)備可以執(zhí)行眾多應(yīng)用程序。例如,計算設(shè)備可以使用相對應(yīng)的健康證書以向另一實體證明其安全狀態(tài)。進而,在接受健康證書之后,該實體可以向計算設(shè)備提供所請求的服務(wù)。在另一示例中,計算設(shè)備可以使用被分發(fā)給計算設(shè)備并被綁定到一個或多個參考健康值的一個或多個密鑰來執(zhí)行任務(wù),例如調(diào)控對存儲在計算設(shè)備上的用戶數(shù)據(jù)的訪問。該一個或多個密鑰可以唯一地標(biāo)識計算設(shè)備。在一些實例中,計算設(shè)備上的機制可以為分配給計算設(shè)備的一個或多個密鑰提供過期日期以確保對計算設(shè)備的完全訪問取決于計算設(shè)備被利用最新的補丁和軟件更新來周期性地更新。
[0007]在至少一個實施例中,生成一個或多個設(shè)備健康值涉及在計算設(shè)備的啟動期間,根據(jù)配置設(shè)置來初始化計算設(shè)備的硬件組件并加載操作系統(tǒng)。接著,基于在啟動時的硬件組件的狀態(tài)和/或包括操作系統(tǒng)的軟件棧的狀態(tài)而生成一個或多個設(shè)備健康值??梢詫⒃O(shè)備健康值與相對應(yīng)的參考健康值進行比較以確定計算設(shè)備是否處于安全狀態(tài)。
[0008]由此,這些技術(shù)可以使得操作系統(tǒng)開發(fā)者能夠直接管理計算設(shè)備的配置作為安全計算平臺。以這種方式,用戶可以免于監(jiān)測計算設(shè)備的健康的任務(wù)、確保安裝了最新的更新和補丁、并且驗證操作系統(tǒng)處于維護狀態(tài)。雖然處于維護狀態(tài),但是操作系統(tǒng)可以沒有已知的惡意軟件、病毒和其它惡意代碼。相反,可以向用戶保證從啟動時起,計算設(shè)備處于安全狀態(tài)并且用戶能夠信任計算設(shè)備以保持機密的用戶數(shù)據(jù)的安全。
[0009]提供本
【發(fā)明內(nèi)容】
而以簡化的方式減少了在下文【具體實施方式】中進一步描述的精選的概念。本
【發(fā)明內(nèi)容】
不是要標(biāo)識要求保護的主題的關(guān)鍵特征或必要特征,也不用于限制要求保護的主題的范圍。
【附圖說明】
[0010]通過參考附圖描述了【具體實施方式】。在圖中,附圖標(biāo)記最左邊的數(shù)位標(biāo)識第一次出現(xiàn)該附圖標(biāo)記的圖。在不同的圖中使用相同的附圖標(biāo)記指示相似或相同的項。
[0011]圖1為示出了用于評估用戶計算設(shè)備的健康狀態(tài)的示例方案的框圖,在該方案中,所評估的健康狀態(tài)用于授權(quán)對用戶計算設(shè)備的訪問和/或用于授權(quán)從服務(wù)提供者獲取服務(wù)。
[0012]圖2為示出了生成用于評估用戶計算設(shè)備的健康狀態(tài)的參考健康狀態(tài)的參考計算設(shè)備的示例組件的示意圖。
[0013]圖3為示出了具有信任模塊用戶計算設(shè)備的示例組件的示意圖,該信任模塊至少部分地基于設(shè)備健康值與所存儲的參考健康值的比較而評估用戶計算設(shè)備的健康狀態(tài)。
[0014]圖4為示出了用于使用一個或多個參考計算設(shè)備生成參考健康值的示例過程的流程圖。
[0015]圖5為示出了用于基于用戶計算設(shè)備的健康值與參考健康值的比較而確定用戶計算設(shè)備的健康狀態(tài)的示例過程的流程圖。
[0016]圖6為示出了用于針對用戶計算設(shè)備生成設(shè)備健康值的示例過程的流程圖。
[0017]圖7為示出了用于使用一個或多個密鑰和參考健康值來保護存儲在用戶計算設(shè)備上的用戶數(shù)據(jù)的示例過程的流程圖。
[0018]圖8為示出了用于使用與參考健康值相關(guān)聯(lián)的一個或多個密鑰以命令更新用戶計算設(shè)備的操作系統(tǒng)的示例過程的流程圖。
【具體實施方式】
[0019]本文中描述了用于使用由計算設(shè)備上的信任模塊推導(dǎo)的一個或多個設(shè)備健康值來確定計算設(shè)備的健康狀態(tài)的技術(shù)。這些技術(shù)可以生成計算設(shè)備的一個或多個參考健康值。該一個或多個參考健康值是可以提前使用具有與計算設(shè)備相同的硬件和/或軟件配置的參考計算設(shè)備來生成的。該一個或多個參考健康值可以表示在參考計算設(shè)備啟動時的硬件平臺的狀態(tài)和/或包括參考計算設(shè)備的操作系統(tǒng)的軟件棧的狀態(tài),其中已知該參考計算設(shè)備的硬件平臺和操作系統(tǒng)不存在已知的安全問題。
[0020]計算設(shè)備上的信任模塊可以生成一個或多個設(shè)備健康值,該一個或多個設(shè)備健康值表示在啟動時的硬件平臺的狀態(tài)和/或包括計算設(shè)備的操作系統(tǒng)的軟件棧的狀態(tài)。計算設(shè)備上的啟動處理組件可以將每個設(shè)備健康值與相對應(yīng)的參考健康值進行比較以確定計算設(shè)備處于安全狀態(tài)還是非期望狀態(tài)。非期望狀態(tài)可以指示計算設(shè)備在某種程度上受到威脅。在發(fā)現(xiàn)計算設(shè)備處于非期望狀態(tài)的情況下,啟動處理組件通過執(zhí)行恢復(fù)環(huán)境而發(fā)起對計算設(shè)備上的軟件組件的修復(fù)。相反,在安全狀態(tài)中運行的計算設(shè)備可以執(zhí)行眾多應(yīng)用程序。例如,計算設(shè)備可以使用被分發(fā)給計算設(shè)備并被綁定到一個或多個參考健康值的一個或多個密鑰來執(zhí)行任務(wù),例如調(diào)控對存儲在計算設(shè)備上的用戶數(shù)據(jù)的訪問。
[0021]在一些實例中,計算設(shè)備上的機制可以為分發(fā)給計算設(shè)備的一個或多個密鑰提供過期日期以確保對計算設(shè)備的完全訪問取決于計算設(shè)備被利用最新的補丁和軟件更新來周期性地更新。在下文參照圖1-8描述了格局各個實施例的用于使用由計算設(shè)備上的信任模塊推導(dǎo)的設(shè)備健康值來確定計算設(shè)備的健康狀態(tài)的技術(shù)。
[0022]示例方案
[0023]圖1為示出了用于評估計算設(shè)備的健康狀態(tài)的示例方案的框圖,在該方案中,所評估的健康狀態(tài)用于授權(quán)對用戶計算設(shè)備的訪問并且用于授權(quán)從服務(wù)提供者獲取服務(wù)。示例方案100可以包括驗證實體102、用戶計算設(shè)備104、以及服務(wù)提供者106。驗證實體102可以是操作系統(tǒng)開發(fā)者、硬件平臺制造者,例如原始設(shè)備制造商(0ΕΜ)、或操作系統(tǒng)開發(fā)者和硬件平臺制造者兩者均信任的第三方。
[0024]驗證實體102可以負(fù)責(zé)生成用戶計算設(shè)備104的參考健康值108。驗證實體102可以使用具有與用戶計算設(shè)備104相同的硬件和軟件配置的參考計算設(shè)備110來生成參考健康值108。例如,參考計算設(shè)備110可以具有與用戶計算設(shè)備104相同的硬件組件,其中硬件組件被設(shè)置成以相同的方式工作。此外,參考計算設(shè)備110可以根據(jù)與用戶計算設(shè)備104相同的配置設(shè)置來執(zhí)行相同的操作系統(tǒng)。
[0025]參考健康值108可以表示在參考計算設(shè)備啟動時的硬件平臺的狀態(tài)和/或包括參考計算設(shè)備的操作系統(tǒng)的軟件棧的狀態(tài),其中已知參考計算設(shè)備的硬件平臺和操作系統(tǒng)處于維護狀態(tài)(maintained state),不存在已知的安全問題。在一些實施例中,計算設(shè)備110上的健康值模塊可以生成參考健康值108。健康值模塊可以是收集與參考計算設(shè)備110的硬件平臺以及在啟動時在硬件平臺上執(zhí)行的軟件棧的狀態(tài)有關(guān)的測量的單獨處理器。由參考計算設(shè)備110的健康值模塊將測量轉(zhuǎn)換成參考健康值。然而,在其它實施例中,健康值模塊可以被實施為運行受保護的環(huán)境(即,由參考計算設(shè)備110的一個或多個處理器執(zhí)行、來自參考計算設(shè)備110的受保護的系統(tǒng)存儲器)的軟件。
[0026]在一些實施例中,針對參考計算設(shè)備110的硬件平臺的測量可是相對于外圍硬件組件(例如,外部鍵盤、鼠標(biāo)、擴展塢等)而關(guān)于硬件平臺的不變(invariant)硬件組件(例如,圖形處理器、閃速存儲器等)來進行的,其中該不變硬件組件影響計算設(shè)備的安全背景。以這種方式,參考健康值不受相對于參考計算設(shè)備100而附接或移除這種次要硬件組件的影響。
[0027]驗證實體102可以經(jīng)由網(wǎng)絡(luò)112向用戶計算設(shè)備104提供參考健康值。例如,由驗證實體102操作的服務(wù)器114可以向用戶計算設(shè)備104傳輸參考健康值108。在各個實施例中,網(wǎng)絡(luò)112可以是局域網(wǎng)(“LAN”)、諸如廣域網(wǎng)(“WAN”)的更大的網(wǎng)絡(luò)、和/或諸如互聯(lián)網(wǎng)的許多網(wǎng)絡(luò)。用于網(wǎng)絡(luò)通信的協(xié)議(例如,TCP/IP)可以用于實施網(wǎng)絡(luò)112??梢允褂酶鞣N無線通信接口技術(shù)(例如,蜂窩、W1-F1、超寬帶、藍(lán)牙、衛(wèi)星傳輸)等來實施網(wǎng)絡(luò)112。替代地或同時,還可以使用諸如LAN以太網(wǎng)、WAN以太網(wǎng)、通用串彳丁總線(USB)、尚速串彳丁總線等的各種有線通信技術(shù)來實施網(wǎng)絡(luò)112。
[0028]用戶計算設(shè)備102可以使用信任模塊116來生成設(shè)備健康值118。在各個實施例中,信任模塊116可以是安裝在用戶計算設(shè)備104上以促成平臺安全的單獨處理器。例如,信任模塊116可以類似于符合由可信計算組織(TCG)概括的可信平臺模塊(TPM)規(guī)范的可信平臺模塊(TPM)模塊。然而,在其它實施例中,信任模塊116可以被實施為運行受保護的環(huán)境(SP,由用戶計算設(shè)備104的一個或多個處理器執(zhí)行、來自用戶計算設(shè)備104的受保護的系統(tǒng)存儲器)的軟件。
[0029]信任模塊116可以獲