8來生成訪問密鑰332。訪問密鑰332的生成可以涉及對(duì)一個(gè)或多個(gè)密鑰120和參考健康值108執(zhí)行算術(shù)運(yùn)算和/或哈希操作。
[0085]在框704,數(shù)據(jù)保護(hù)模塊316可以使用訪問密鑰332來對(duì)存儲(chǔ)在用戶數(shù)據(jù)卷328中的用戶數(shù)據(jù)330進(jìn)行密碼保護(hù)和/或加密。用戶數(shù)據(jù)330可以包括代表用戶生成的數(shù)據(jù)。例如,用戶數(shù)據(jù)330可以包括由用戶使用安裝在用戶計(jì)算設(shè)備104上的應(yīng)用程序起草的文檔、由用戶存儲(chǔ)到存儲(chǔ)器306的照片等。
[0086]在框706,數(shù)據(jù)保護(hù)模塊316可以從諸如應(yīng)用程序322中的一個(gè)的應(yīng)用程序接收訪問證書。訪問證書342可以是基于一個(gè)或多個(gè)密鑰120和設(shè)備健康值118生成的。在各個(gè)實(shí)施例中,應(yīng)用程序可以基于一個(gè)或多個(gè)密鑰120和設(shè)備健康值118、使用產(chǎn)生訪問密鑰332的相同技術(shù)來生成訪問證書342。在框708,數(shù)據(jù)保護(hù)模塊316可以將訪問證書342與訪問密鑰332進(jìn)行比較。
[0087]在決策框710,數(shù)據(jù)保護(hù)模塊316可以確定訪問證書342是否與訪問密鑰332匹配。因此,如果數(shù)據(jù)保護(hù)模塊316確定訪問證書342與訪問密鑰332匹配(在決策框710處的“是”),則過程700可以進(jìn)行到框712。
[0088]在框712,數(shù)據(jù)保護(hù)模塊316可以為應(yīng)用程序提供對(duì)存儲(chǔ)在用戶計(jì)算設(shè)備104上的用戶數(shù)據(jù)330的訪問。例如,數(shù)據(jù)保護(hù)模塊316可以對(duì)用戶數(shù)據(jù)330進(jìn)行解密,以便向應(yīng)用程序提供用戶數(shù)據(jù)330的所請(qǐng)求的部分。
[0089]然而,如果數(shù)據(jù)保護(hù)模塊316確定訪問證書342與訪問密鑰332不匹配(決策框710處的“否”),則數(shù)據(jù)保護(hù)模塊316可以拒絕應(yīng)用程序?qū)Υ鎯?chǔ)在用戶計(jì)算設(shè)備104上的用戶數(shù)據(jù)330的訪問。
[0090]圖8是示出了用于使用與參考健康值相關(guān)聯(lián)的一個(gè)或多個(gè)密鑰以命令更新用戶計(jì)算設(shè)備的操作系統(tǒng)的示例過程800的流程圖。在框802,用戶計(jì)算設(shè)備104上的信任模塊116可以存儲(chǔ)與參考健康值108相關(guān)聯(lián)的一個(gè)或多個(gè)密鑰120。用戶計(jì)算設(shè)備104可以從驗(yàn)證實(shí)體102接收這樣的數(shù)據(jù)。
[0091]在決策框804,信任模塊116可以確定一個(gè)或多個(gè)密鑰是否是可訪問的,例如未過期。信任模塊116可以在生成設(shè)備健康值之前和/或在計(jì)算設(shè)備104的操作期間周期性地進(jìn)行這樣的確定。由此,如果信任模塊116確定一個(gè)或多個(gè)密鑰120是可訪問的(決策框804處的“是”),過程800可以繼續(xù)至框806。在框806,信任模塊116可以允許對(duì)用戶計(jì)算設(shè)備104的訪問。例如,用戶計(jì)算設(shè)備104可以被允許執(zhí)行眾多應(yīng)用程序。
[0092]然而,如果信任模塊116確定一個(gè)或多個(gè)密鑰120是不可訪問的(決策框804處的“否”),則過程800可以繼續(xù)至框808。在框808,信任模塊可以拒絕對(duì)用戶計(jì)算設(shè)備104的訪問。例如,信任模塊116可以向啟動(dòng)加載器312發(fā)送指示。響應(yīng)于該指示,啟動(dòng)加載器312可以激活恢復(fù)環(huán)境,并且如果合適,則還可以基于該指示而停止操作系統(tǒng)310的執(zhí)行。
[0093]在框810,維護(hù)模塊314可以提示用戶計(jì)算設(shè)備104的用戶128以發(fā)起對(duì)用戶計(jì)算設(shè)備104的更新。該更新可以包括對(duì)平臺(tái)固件304的更新和/或?qū)Σ僮飨到y(tǒng)310的更新。在各個(gè)實(shí)施例中,維護(hù)模塊314可以利用呈現(xiàn)在用戶計(jì)算設(shè)備104的顯示器上的通知來提示用戶128。
[0094]在框812,維護(hù)模塊314可以響應(yīng)于更新的初始化而接收更新、一個(gè)或多個(gè)新密鑰、以及新參考健康值。在各個(gè)實(shí)施例中,在從用戶128獲取了認(rèn)可的(affirmative)授權(quán)之后,維護(hù)模塊314可以初始化更新和其它內(nèi)容。用戶128可以使用用戶計(jì)算設(shè)備104的用戶接口來提供該認(rèn)可的授權(quán)。
[0095]在框814,信任模塊116可以基于在啟動(dòng)時(shí)的硬件平臺(tái)的狀態(tài)和/或操作系統(tǒng)310的狀態(tài)來針對(duì)用戶計(jì)算設(shè)備104生成新的設(shè)備健康值。在各個(gè)實(shí)施例中,新的設(shè)備健康值是基于與硬件平臺(tái)的狀態(tài)和/或操作系統(tǒng)310的狀態(tài)有關(guān)的配置值生成的。
[0096]在決策框816,狀態(tài)評(píng)價(jià)器338可以確定新的設(shè)備健康值是否與新的參考健康值匹配。因此,如果狀態(tài)評(píng)價(jià)器338確定新的設(shè)備健康值與新的參考健康值匹配(框816處的“是”),則過程800可以循環(huán)回到框806。在回到框806時(shí),狀態(tài)評(píng)價(jià)器338可以允許對(duì)用戶計(jì)算設(shè)備104的訪問。
[0097]然而,如果狀態(tài)評(píng)價(jià)器338確定新的設(shè)備健康值與新的參考健康值不匹配(框816處的“否”),則過程800可以循環(huán)回到框808。在回到框808時(shí),狀態(tài)評(píng)價(jià)器338可以拒絕對(duì)用戶計(jì)算設(shè)備104的訪問,使得可以進(jìn)行過程800的其它框。
[0098]總之,本技術(shù)可以使得操作系統(tǒng)開發(fā)者能夠直接管理計(jì)算設(shè)備的配置作為安全計(jì)算平臺(tái)。以這種方式,用戶可以免于監(jiān)測(cè)計(jì)算設(shè)備的健康的任務(wù)、確保安裝了最新的更新和補(bǔ)丁、并且驗(yàn)證操作系統(tǒng)沒有惡意軟件、病毒和其它惡意代碼。相反,可以向用戶保證從啟動(dòng)時(shí)起,計(jì)算設(shè)備處于安全狀態(tài),并且用戶能夠信任計(jì)算設(shè)備以保持機(jī)密的用戶數(shù)據(jù)的安全。
[0099]
[0100]最后,盡管以特定于結(jié)構(gòu)特征和/或方法行為的語言描述了各個(gè)實(shí)施例,但是應(yīng)當(dāng)理解在所附呈現(xiàn)中定義的主題不一定限于所描述的特定特征和行為。相反,特定特征和行為被公開為實(shí)施要求保護(hù)的主題的示例形式。
【主權(quán)項(xiàng)】
1.存儲(chǔ)有計(jì)算機(jī)可執(zhí)行指令的一種或多種計(jì)算機(jī)可讀介質(zhì),當(dāng)執(zhí)行所述指令時(shí),使得一個(gè)或多個(gè)處理器執(zhí)行包括以下的操作: 根據(jù)由操作系統(tǒng)(os)的開發(fā)者批準(zhǔn)的硬件配置設(shè)置而將參考設(shè)備的硬件平臺(tái)中的一個(gè)或多個(gè)硬件組件初始化; 根據(jù)由所述OS的開發(fā)者批準(zhǔn)的一個(gè)或多個(gè)OS配置設(shè)置而在所述參考設(shè)備上加載所述OS;以及 在初始化所述硬件平臺(tái)以及加載所述參考設(shè)備的OS時(shí)生成一個(gè)或多個(gè)參考健康值,所述一個(gè)或多個(gè)參考健康值表示所述參考設(shè)備具有安全狀態(tài)。2.根據(jù)權(quán)利要求1所述的一種或多種計(jì)算機(jī)可讀介質(zhì),其中,生成所述一個(gè)或多個(gè)參考健康值包括: 獲取表示所加載的所述硬件平臺(tái)的狀態(tài)的一個(gè)或多個(gè)硬件配置值; 獲取表示所加載的所述OS的狀態(tài)的一個(gè)或多個(gè)OS配置值;并且基于所述一個(gè)或多個(gè)硬件配置值或所述一個(gè)或多個(gè)OS配置值中的至少一個(gè)來計(jì)算參考健康值。3.根據(jù)權(quán)利要求1所述的一種或多種計(jì)算機(jī)可讀介質(zhì),還包括向用戶設(shè)備傳輸所述一個(gè)或多個(gè)參考健康值,所述一個(gè)或多個(gè)參考健康值由所述用戶設(shè)備使用以驗(yàn)證所述用戶設(shè)備上的硬件平臺(tái)的健康狀態(tài)或所述用戶設(shè)備上的OS的健康狀態(tài)中的至少一個(gè)。4.一種計(jì)算機(jī)實(shí)現(xiàn)的方法,包括: 根據(jù)一個(gè)或多個(gè)硬件配置設(shè)置而將參考設(shè)備的參考硬件平臺(tái)初始化,所述參考硬件平臺(tái)具有影響所述參考設(shè)備的安全背景的一個(gè)或多個(gè)不變硬件組件; 獲取表示在所述參考設(shè)備上所加載的所述參考硬件平臺(tái)的狀態(tài)的一個(gè)或多個(gè)參考硬件配置值; 根據(jù)一個(gè)或多個(gè)參考操作系統(tǒng)(OS)配置設(shè)置而加載參考OS和相關(guān)聯(lián)的數(shù)據(jù),所述參考OS和所述相關(guān)聯(lián)的數(shù)據(jù)影響所述參考設(shè)備的安全背景; 獲取表示在所述參考設(shè)備上所加載的所述OS的狀態(tài)的一個(gè)或多個(gè)參考OS配置值;并且基于所述一個(gè)或多個(gè)參考硬件配置值和所述一個(gè)或多個(gè)參考OS配置值而生成參考健康值,所述參考健康值表示安全地初始化的硬件平臺(tái)和安全地加載的OS。5.根據(jù)權(quán)利要求4所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,還包括: 在用戶設(shè)備中存儲(chǔ)所述參考健康值; 基于所述用戶設(shè)備的設(shè)備硬件平臺(tái)的狀態(tài)和在所述用戶設(shè)備上所加載的設(shè)備OS的狀態(tài)而生成針對(duì)所述用戶設(shè)備的設(shè)備健康值;并且 響應(yīng)于查明所述設(shè)備健康值與所述參考健康值匹配,確定所述用戶設(shè)備處于健康狀??τ ο6.根據(jù)權(quán)利要求5所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其中,生成所述設(shè)備健康值包括: 獲取表示在根據(jù)所述一個(gè)或多個(gè)硬件配置設(shè)置的初始化時(shí)所述設(shè)備硬件平臺(tái)的狀態(tài)的一個(gè)或多個(gè)設(shè)備硬件配置值; 獲取表示在根據(jù)一個(gè)或多個(gè)設(shè)備os配置設(shè)置而加載所述設(shè)備OS和所述相關(guān)聯(lián)的數(shù)據(jù)時(shí)所述設(shè)備OS的狀態(tài)的一個(gè)或多個(gè)設(shè)備OS配置值;并且 根據(jù)所述一個(gè)或多個(gè)設(shè)備硬件配置值和所述一個(gè)或多個(gè)設(shè)備OS配置值來計(jì)算所述設(shè)備健康值。7.根據(jù)權(quán)利要求5所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,還包括: 在與存儲(chǔ)所述設(shè)備OS的所述用戶設(shè)備的第二存儲(chǔ)器部分分離的所述用戶設(shè)備的第一存儲(chǔ)器部分中存儲(chǔ)用戶數(shù)據(jù),所述用戶數(shù)據(jù)是由基于一個(gè)或多個(gè)密鑰和所述參考健康值的組合而生成的秘密證書所保護(hù)的; 響應(yīng)于確定所述設(shè)備健康值與所述參考健康值不匹配,執(zhí)行以下中的至少一個(gè):數(shù)據(jù)文件修復(fù)、病毒移除、惡意軟件移除、更新所述設(shè)備0S、或代替所述第二存儲(chǔ)器部分中的所述設(shè)備OS; 基于所述設(shè)備硬件平臺(tái)的狀態(tài)和在所述用戶設(shè)備上所加載的所述設(shè)備OS的狀態(tài),生成針對(duì)所述用戶設(shè)備的新的設(shè)備健康值;并且 響應(yīng)于確定基于所述一個(gè)或多個(gè)密鑰和所述新的設(shè)備健康值的組合而生成的訪問證書與所述秘密證書相匹配,提供對(duì)存儲(chǔ)在所述第一存儲(chǔ)器部分中的所述用戶數(shù)據(jù)的訪問。8.根據(jù)權(quán)利要求5所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,還包括: 在所述用戶設(shè)備中存儲(chǔ)與所述參考健康值相關(guān)聯(lián)的一個(gè)或多個(gè)密鑰,所述一個(gè)或多個(gè)密鑰具有過期日期; 響應(yīng)于確定所述一個(gè)或多個(gè)密鑰達(dá)到所述過期日期,拒絕對(duì)所述設(shè)備OS的訪問并且提示對(duì)所述固件平臺(tái)的固件或所述設(shè)備OS中的至少一個(gè)的更新的初始化; 響應(yīng)于所述更新的所述初始化,接收對(duì)所述固件或所述設(shè)備OS中的至少一個(gè)的所述更新、一個(gè)或多個(gè)新的密鑰、以及新的參考健康值; 響應(yīng)于確定所述接收得到了與所述新的參考健康值相匹配的所述用戶設(shè)備的新的設(shè)備健康值,提供對(duì)所述OS的訪問。9.一種設(shè)備,包括: 一個(gè)或多個(gè)處理器; 包括能夠由所述一個(gè)或多個(gè)處理器執(zhí)行的多個(gè)計(jì)算機(jī)可執(zhí)行組件的存儲(chǔ)器,所述組件包括: 啟動(dòng)加載器,其將由操作系統(tǒng)(OS)的開發(fā)者批準(zhǔn)的硬件平臺(tái)的一個(gè)或多個(gè)不變硬件組件初始化并且加載所述0S,所述一個(gè)或多個(gè)不變硬件組件影響所述設(shè)備的安全背景; 信任組件,其在初始化所述硬件平臺(tái)并在所述設(shè)備上加載所述OS時(shí)生成一個(gè)或多個(gè)設(shè)備健康值;以及 狀態(tài)評(píng)價(jià)器,其響應(yīng)于查明每個(gè)設(shè)備健康值與從驗(yàn)證實(shí)體接收到的一個(gè)或多個(gè)參考健康值中的相對(duì)應(yīng)的參考健康值相匹配,確定所述設(shè)備是健康的。10.根據(jù)權(quán)利要求9所述的設(shè)備,還包括數(shù)據(jù)保護(hù)組件,其響應(yīng)于確定根據(jù)一個(gè)或多個(gè)密鑰和設(shè)備健康值的組合而推導(dǎo)的訪問證書與保護(hù)存儲(chǔ)在所述存儲(chǔ)器的數(shù)據(jù)部分中的數(shù)據(jù)的秘密證書相匹配,提供對(duì)所述數(shù)據(jù)的訪問。
【專利摘要】使用一個(gè)或多個(gè)設(shè)備健康值以指示計(jì)算設(shè)備的健康狀態(tài)可以使得操作系統(tǒng)開發(fā)者能夠直接管理計(jì)算設(shè)備的安全配置。生成設(shè)備健康值涉及在計(jì)算設(shè)備的啟動(dòng)期間根據(jù)配置設(shè)置來初始化計(jì)算設(shè)備的硬件組件并加載操作系統(tǒng)。接著基于在啟動(dòng)時(shí)的硬件組件的狀態(tài)和/或包括操作系統(tǒng)的軟件棧的狀態(tài)而生成設(shè)備健康值??梢詫⒃O(shè)備健康值與參考健康值進(jìn)行比較以確定計(jì)算設(shè)備是否處于安全狀態(tài)。
【IPC分類】G06F21/57, G06F21/62, G06F21/12
【公開號(hào)】CN105453103
【申請(qǐng)?zhí)枴緾N201480045238
【發(fā)明人】S·湯姆, R·艾格納
【申請(qǐng)人】微軟技術(shù)許可有限責(zé)任公司
【公開日】2016年3月30日
【申請(qǐng)日】2014年8月13日
【公告號(hào)】EP3033710A1, US9167002, US20150052610, US20160034691, WO2015023723A1