背景技術(shù):
隨著計算技術(shù)的進(jìn)步,許多不同類型的計算設(shè)備變得常見。用戶時常具有多種不同的計算設(shè)備,諸如膝上型或者臺式計算機、平板設(shè)備、智能電話等等。聯(lián)網(wǎng)服務(wù)或者云服務(wù)可以用來允許用戶跨這多個設(shè)備共享數(shù)據(jù),從而給予用戶對于來自他們的多個設(shè)備中任何設(shè)備的數(shù)據(jù)的訪問。然而,對于希望有從設(shè)備中擦除(wipe)數(shù)據(jù)(例如,由于用戶不再被公司雇用)的能力的某些公司而言,跨這多個設(shè)備共享數(shù)據(jù)可能是麻煩的,因為數(shù)據(jù)可能已經(jīng)被與公司未管理的設(shè)備共享。
技術(shù)實現(xiàn)要素:
本概要被提供來以簡化的形式介紹概念的選擇,這些概念在下面在詳細(xì)描述中被進(jìn)一步說明。本概要既不打算標(biāo)識所要求保護的主題的關(guān)鍵特征或必要特征,也不打算被用來限制所要求保護的主題的范圍。
按照一個或多個方面,在第一計算設(shè)備中,從第二計算設(shè)備接收基于密鑰保護的內(nèi)容,所述內(nèi)容已被加密,并且所述密鑰與正通過管理政策(managementpolicy)管理的第三計算設(shè)備相關(guān)聯(lián)。對第一計算設(shè)備是否正通過管理政策管理進(jìn)行確定。響應(yīng)于確定第一計算設(shè)備正通過管理政策管理,密鑰被與第一計算設(shè)備相關(guān)聯(lián)。響應(yīng)于確定第一計算設(shè)備未通過管理政策管理,保持密鑰與第三計算設(shè)備的關(guān)聯(lián)。
按照一個或多個方面,在第一計算設(shè)備處獲得內(nèi)容,所述第一計算設(shè)備正通過管理政策管理。該內(nèi)容被保護,使得該內(nèi)容被配置成基于密鑰來取回,所述保護包括對內(nèi)容進(jìn)行加密,并且密鑰與第一計算設(shè)備的標(biāo)識符相關(guān)聯(lián)。加密的內(nèi)容和密鑰被漫游(roam)到第二計算設(shè)備,第二計算設(shè)備是未通過管理政策管理的非被管設(shè)備(unmanageddevice)。隨后,響應(yīng)于接收到管理方啟動的(management-initiated)擦除命令,向第二計算設(shè)備傳送向第二計算設(shè)備指示刪除所述密鑰的擦除命令。
附圖說明
參考附圖來說明該詳細(xì)描述。在附圖中,參考標(biāo)號最左邊的(一個或者多個)數(shù)字標(biāo)識了該參考標(biāo)號首次出現(xiàn)的附圖。在說明書和附圖中的不同實例中使用相同的參考標(biāo)號可以指示相似或者相同的項。在附圖中表示的實體可以指示一個或者多個實體,并且因此可以可互換地參考討論中的實體的單數(shù)或者復(fù)數(shù)形式。
圖1圖示了按照一個或多個實施例的、實現(xiàn)本文討論的技術(shù)的示例系統(tǒng)。
圖2圖示了按照一個或多個實施例的、實現(xiàn)本文討論的技術(shù)的另一示例計算設(shè)備。
圖3是圖示了按照一個或多個實施例的、用于實現(xiàn)針對漫游的受保護內(nèi)容的安全密鑰管理的示例過程的流程圖。
圖4圖示了按照一個或多個實施例的、在其中內(nèi)容是漫游的并且數(shù)據(jù)保護私鑰是共享的示例系統(tǒng)。
圖5是圖示按照一個或多個實施例的、用于跨設(shè)備的漫游內(nèi)容擦除動作的示例過程的流程圖。
圖6是圖示按照一個或多個實施例的、用于當(dāng)內(nèi)容跨設(shè)備漫游時設(shè)置表示提供密鑰的設(shè)備的標(biāo)識符的示例過程的流程圖。
圖7是圖示按照一個或多個實施例的、用于根據(jù)漫游的擦除命令行動的示例過程的流程圖。
圖8和圖9圖示了按照一個或多個實施例的擦除內(nèi)容的示例。
圖10圖示了包括示例計算設(shè)備的示例系統(tǒng),所述示例計算設(shè)備代表可實現(xiàn)本文描述的各種技術(shù)的一個或者多個系統(tǒng)和/或設(shè)備。
具體實施方式
本文討論了跨設(shè)備的漫游內(nèi)容擦除動作。基于數(shù)據(jù)保護密鑰而對設(shè)備上的內(nèi)容進(jìn)行加密和保護??梢允褂脭?shù)據(jù)保護密鑰來對內(nèi)容進(jìn)行加密,或者可以使用數(shù)據(jù)保護密鑰來對用于加密該內(nèi)容的一個或多個其他密鑰進(jìn)行加密。受保護的內(nèi)容然后可以被復(fù)制到云存儲裝置,并且受保護的內(nèi)容可以從云存儲裝置傳遞到用戶的設(shè)備中的各種其他設(shè)備,這也被稱為使內(nèi)容漫游或使用戶的設(shè)備同步。受保護的內(nèi)容可以附加地或可替換地使用對等傳遞而不是經(jīng)由云存儲裝置被傳遞到用戶的設(shè)備中的各種其他設(shè)備。
一些計算設(shè)備通過政策來管理,并且因此也被稱為被管設(shè)備(manageddevice)。政策可以是與各種實體相關(guān)聯(lián)的政策,實體諸如是公司或組織(例如企業(yè)政策)、計算設(shè)備的所有者或用戶、代表用戶來管理設(shè)備的移動運營商、個人設(shè)備或家庭服務(wù)器等等。用于從受保護內(nèi)容中取回明文內(nèi)容的密鑰與提供該密鑰的一個或多個特定設(shè)備中的每個設(shè)備的標(biāo)識符相關(guān)聯(lián),所述特定設(shè)備中的每個設(shè)備是生成該密鑰的設(shè)備或受保護內(nèi)容被漫游到的另一被管設(shè)備。
計算設(shè)備可以接收擦除命令,其指示使與特定設(shè)備相關(guān)聯(lián)的數(shù)據(jù)不可用(例如,指示刪除與特定設(shè)備相關(guān)聯(lián)的密鑰)。擦除命令被漫游到用戶的設(shè)備中的各種其他設(shè)備,并且在一個或多個實施例中,響應(yīng)于擦除命令而將與特定設(shè)備相關(guān)聯(lián)的任何密鑰從用戶的設(shè)備中的該各種設(shè)備的每一個中刪除。可替換地,可以響應(yīng)于對與用戶設(shè)備中的特定一個設(shè)備同步的被管設(shè)備的最后引用被對于某個密鑰移除,而從該特定一個設(shè)備中刪除那個密鑰。因此,只要存在可以到達(dá)該特定一個設(shè)備的管理通道,密鑰就可以保留在該特定一個設(shè)備上。
本文中討論的技術(shù)通過允許用戶的內(nèi)容漫游到各種不同的設(shè)備、但是當(dāng)管理員或控制者期望時仍從那些設(shè)備中擦除該內(nèi)容,而有利地改善了計算設(shè)備的可用性和安全性。即使這樣的設(shè)備中的一個或多個設(shè)備可能是未被管理的、并且因此沒有返回到管理員或控制者的用來接收擦除命令的直接通道,仍可以從這樣的設(shè)備中擦除數(shù)據(jù)。
在本文中參考加密和解密內(nèi)容,其可以使用對稱密鑰密碼術(shù)或者公鑰密碼術(shù)來執(zhí)行。雖然這樣的密鑰密碼術(shù)對本領(lǐng)域技術(shù)人員是熟知的,但為了幫助讀者,而在此包括了對這樣的密碼術(shù)的簡要概述。在公鑰密碼術(shù)中,實體(諸如用戶、硬件或者軟件組件、設(shè)備、域等等)具有與其相關(guān)聯(lián)的公鑰/私鑰對。公鑰可以變成公開地可得到的,但是實體將私鑰保持為秘密??梢允褂盟借€來對數(shù)據(jù)進(jìn)行解密,但是沒有私鑰的話,在計算上很難對使用公鑰加密的數(shù)據(jù)進(jìn)行解密。所以,數(shù)據(jù)可以由任何實體利用公鑰加密,并且僅可以由某個實體利用對應(yīng)的私鑰解密。
在對稱密鑰密碼術(shù)中,在另一方面,共享密鑰(也被稱為對稱密鑰)被兩個實體所知,并且由這兩個實體保持為秘密的。具有共享密鑰的任一實體通常能夠利用該共享密鑰加密數(shù)據(jù),以及解密利用該共享密鑰加密的數(shù)據(jù)。沒有共享密鑰的話,在計算上很難對利用共享密鑰加密的數(shù)據(jù)進(jìn)行解密。所以,如果兩個實體都知道共享密鑰,則每個實體均可以對數(shù)據(jù)進(jìn)行加密,該數(shù)據(jù)能由另一方解密,但是其他實體不能解密該數(shù)據(jù)(如果這些其他實體不知道共享密鑰的話)。相似地,具有共享密鑰的實體可以對數(shù)據(jù)進(jìn)行加密,該數(shù)據(jù)可由該相同實體解密,但是其他實體不能解密該數(shù)據(jù)(如果這些其他實體不知道共享密鑰的話)。
圖1圖示了按照一個或者多個實施例的、實現(xiàn)本文描述的技術(shù)的示例系統(tǒng)100。系統(tǒng)100包括計算設(shè)備102,其可以是各種各樣不同類型的設(shè)備。例如,計算設(shè)備102可以是臺式計算機、服務(wù)器計算機、膝上型或者上網(wǎng)本計算機、移動設(shè)備(例如,平板或者平板手機設(shè)備、蜂窩或者其他無線電話(例如,智能電話)、筆記本計算機、移動站)、可穿戴設(shè)備(例如,眼鏡、手表)、娛樂設(shè)備(例如,娛樂器具、通信地耦合到顯示設(shè)備的機頂盒、游戲控制臺)、電視機或者其他顯示設(shè)備、汽車用計算機等等。因此,計算設(shè)備102的范圍可以從具有大量存儲器和處理器資源的完全資源設(shè)備(例如,個人計算機、游戲控制臺)到具有有限存儲器和/或處理資源的低資源設(shè)備(例如,傳統(tǒng)機頂盒、手持式游戲控制臺)。
計算設(shè)備102包括內(nèi)容保護系統(tǒng)104、一個或者多個程序106和內(nèi)容存儲庫108。程序106可以包括各種不同的應(yīng)用、操作系統(tǒng)的一些部分、或者可在計算設(shè)備102上運行的其他程序。內(nèi)容存儲庫108是由計算設(shè)備102用來存儲內(nèi)容的一個或者多個存儲設(shè)備。內(nèi)容指的是任何類型的數(shù)據(jù)、指令或者由計算設(shè)備102存儲的其他信息。內(nèi)容存儲庫108可以使用各種各樣的不同類型的存儲設(shè)備中的任一項來實現(xiàn),諸如固態(tài)設(shè)備(例如,閃存)、磁盤、光盤等等。雖然被圖示為計算設(shè)備102的一部分,但是應(yīng)該指出,構(gòu)成內(nèi)容存儲庫108的存儲設(shè)備中的一個或者多個存儲設(shè)備可以被實現(xiàn)在與計算設(shè)備102分離但是與其通信地耦合的設(shè)備(例如,外部硬盤驅(qū)動器、可拆卸閃速驅(qū)動器)上。
內(nèi)容保護系統(tǒng)104管理計算設(shè)備102上的內(nèi)容的保護,包括管理內(nèi)容的加密和解密、管理用于保護內(nèi)容的密鑰等等。內(nèi)容保護系統(tǒng)104可以被實現(xiàn)為計算設(shè)備102的操作系統(tǒng)的一部分,或者可替換地被實現(xiàn)為與操作系統(tǒng)分離的、該計算設(shè)備102的另一組件或者模塊。
內(nèi)容保護系統(tǒng)104包括密鑰管理模塊112、密鑰傳遞模塊114、加密模塊116和解密模塊118。密鑰管理模塊112生成用于加密和解密內(nèi)容的密鑰,包括其他密鑰。密鑰管理模塊112還以安全的方式將密鑰存儲在計算設(shè)備102上,并且控制對密鑰的訪問,僅允許由計算設(shè)備102的被準(zhǔn)許訪問密鑰的那些組件或者模塊訪問這些密鑰。這些密鑰包括用于計算設(shè)備102的公鑰/私鑰對。在一個或者多個實施例中,計算設(shè)備102的私鑰被保護在計算設(shè)備102的硬件中,這諸如是通過將設(shè)備私鑰包入(wrap)下一代證書(nextgenerationcredential)中、將設(shè)備私鑰封入(seal)可信平臺模塊(tpm)、將設(shè)備私鑰封入智能卡、將設(shè)備私鑰封入硬件安全模塊(hsm)等等來進(jìn)行。
密鑰傳遞模塊114對將密鑰安全地傳遞到和傳遞自其他計算設(shè)備進(jìn)行管理。密鑰傳遞模塊114對保護密鑰以用于傳遞到其他計算設(shè)備、以及從被傳遞到計算設(shè)備102的受保護的密鑰中取回密鑰進(jìn)行管理。密鑰傳遞模塊114可以通過將要被傳遞的密鑰提供給解密模塊118而促進(jìn)對要被傳遞的密鑰的加密。密鑰傳遞模塊114可以相似地通過將(由解密模塊118解密的)密鑰提供給密鑰管理模塊112而促進(jìn)對正被傳遞到計算設(shè)備102的密鑰的解密。
加密模塊116基于一個或者多個密鑰來加密內(nèi)容。這種加密可以使用各種各樣不同的公有和/或?qū)S屑用芗夹g(shù)或者算法中的任一項來執(zhí)行,并且可以使用對稱密鑰密碼術(shù)或者公鑰密碼術(shù)。解密模塊118基于一個或者多個密鑰來解密內(nèi)容。這種解密可以使用各種各樣不同的公有和/或?qū)S薪饷芗夹g(shù)或者算法中的任一項來執(zhí)行,并且可以使用對稱密鑰密碼術(shù)或者公鑰密碼術(shù)。
計算設(shè)備102的用戶在使用設(shè)備時還具有特定身份,諸如用戶的用戶名或者用戶賬戶標(biāo)識符。該用戶名或者用戶賬戶標(biāo)識符例如是用戶登錄到計算設(shè)備102所利用的名稱或者標(biāo)識符、用戶登錄到(例如,云存儲服務(wù),也被稱為云服務(wù)的)服務(wù)所利用的名稱或者標(biāo)識符等等。計算設(shè)備102訪問云存儲裝置122,其是允許內(nèi)容在一個或者多個位置中的短期或者長期存儲的組件或者技術(shù)的集合。內(nèi)容的存儲可以使用可經(jīng)由各種各樣不同數(shù)據(jù)網(wǎng)絡(luò)(例如,互聯(lián)網(wǎng)、局域網(wǎng)(lan)、電話網(wǎng)絡(luò)、內(nèi)聯(lián)網(wǎng)、其他公有和/或?qū)S芯W(wǎng)絡(luò)或者其組合)、有線連接(例如,通用串行總線(usb)連接)、無線連接(例如,無線usb連接)等等中的任一項訪問的各種各樣不同存儲機制中的任一項來實現(xiàn)。云存儲裝置122可以是被依賴來使內(nèi)容相對于其他用戶或設(shè)備保持安全的可信云存儲裝置、或者是不被依賴來使內(nèi)容相對于其他用戶或設(shè)備保持安全的不可信云存儲裝置。云存儲裝置122通常是位于計算設(shè)備102的遠(yuǎn)程位置的一個或者多個存儲設(shè)備,但是可替換地可以是其他存儲設(shè)備(例如,可拆卸設(shè)備(例如,使用有線或者無線連接來耦合到計算設(shè)備102的閃速或者磁驅(qū)動器))。
云存儲裝置122可以經(jīng)由各種各樣不同的通信信道中的任一個來被訪問。通信信道可以是可信信道或者不可信信道??尚判诺乐傅氖潜灰蕾噥硎箖?nèi)容相對于其他用戶或設(shè)備保持安全的通信信道,而不可信信道指的是不被依賴來使內(nèi)容相對于其他用戶或設(shè)備保持安全的通信信道。
云存儲裝置122可以可選地被實現(xiàn)為多個不同服務(wù)(也被稱為云服務(wù))之一。這些云服務(wù)可以包括例如內(nèi)容存儲服務(wù)、內(nèi)容編輯服務(wù)、通信(例如,電子郵件或者消息傳送)服務(wù)等等。這些服務(wù)可以由各種各樣不同類型的設(shè)備中的一個或者多個設(shè)備實現(xiàn),諸如以上參考計算設(shè)備102討論的那些設(shè)備中的任何一個或者多個設(shè)備。
云存儲裝置122允許內(nèi)容在計算設(shè)備102和其他計算設(shè)備124(1)、…、124(m)之間共享或者漫游。受保護的內(nèi)容指的是已經(jīng)被加密的內(nèi)容,而且受保護的內(nèi)容可以由計算設(shè)備102或者124之一傳遞到云存儲裝置122,并且由計算設(shè)備102或者124中的其他計算設(shè)備接收。這些計算設(shè)備是用戶的其他計算設(shè)備、或者用戶已經(jīng)登錄到的其他計算設(shè)備。雖然受保護的內(nèi)容可以被傳遞到這些設(shè)備,但是沒有恰當(dāng)密鑰的話,受保護的內(nèi)容不能在這些設(shè)備上被訪問,如在下文中更詳細(xì)討論的。附加地,應(yīng)該指出,云存儲裝置122不需要被計算設(shè)備102的用戶信任——受保護的內(nèi)容被存儲在該云存儲裝置122上,并且不向云提供對內(nèi)容解除保護(解密)的密鑰,所以云不能訪問明文(未加密)內(nèi)容。
云存儲裝置122還維護用戶密鑰存儲庫126,其對應(yīng)于用戶的身份。用戶可以可選地在不同時間(例如,登錄到計算設(shè)備102的不同時間)具有不同身份。在一個或者多個實施例中,用戶在任何給定時間的身份是當(dāng)他或者她在該給定時間登錄到計算設(shè)備102(和/或登錄到云存儲裝置122)時的用戶的身份。用戶密鑰存儲庫126包括一個或者多個公鑰/私鑰對中的公鑰,諸如計算設(shè)備102的公鑰、計算設(shè)備124(1)、…、124(m)之一的公鑰、和數(shù)據(jù)保護公鑰。這些密鑰被用于保護內(nèi)容,與此同時允許用戶從多個設(shè)備訪問該內(nèi)容,如以下更詳細(xì)討論的。
在本文的討論中,參考經(jīng)由云存儲裝置122被漫游的內(nèi)容和密鑰。應(yīng)該指出,本文所討論的技術(shù)可以在不依賴于云存儲裝置或云服務(wù)的情況下應(yīng)用于其他通信機制,諸如對等通信。
圖2圖示了按照一個或者多個實施例的、實現(xiàn)本文討論的技術(shù)的另一示例計算設(shè)備202。計算設(shè)備202類似于圖1的計算設(shè)備102,包括內(nèi)容保護系統(tǒng)104、一個或者多個程序和內(nèi)容存儲庫108。然而,計算設(shè)備202不同于計算設(shè)備102之處在于,內(nèi)容保護系統(tǒng)104被實現(xiàn)為可信計算基礎(chǔ)204的部分。
可信計算基礎(chǔ)204作為計算設(shè)備202的安全或者可信組件來操作,從而生成和保護密鑰??尚庞嬎慊A(chǔ)204的組件可以響應(yīng)于來自程序106的加密或者解密內(nèi)容的請求(包括來自操作系統(tǒng)的請求)而加密或者解密內(nèi)容,但是可信計算基礎(chǔ)204并不將加密或者解密密鑰泄露給計算設(shè)備202的、未被包括作為可信計算基礎(chǔ)204的一部分的模塊的任何其他程序。因此,如果程序106是惡意軟件,或者計算系統(tǒng)202的操作系統(tǒng)的一部分是不可信的或者受惡意軟件危害的,則密鑰保持為由可信計算基礎(chǔ)204保護,并且不被泄露給這樣的程序或者操作系統(tǒng)。然而,可信計算基礎(chǔ)204可以將已經(jīng)被加密的密鑰傳遞給其他計算設(shè)備,如下文更詳細(xì)討論的。
返回圖1,在計算設(shè)備102上的內(nèi)容由內(nèi)容保護系統(tǒng)104基于數(shù)據(jù)保護公鑰/私鑰對來進(jìn)行保護。密鑰管理模塊112生成數(shù)據(jù)保護公鑰/私鑰對,并且將數(shù)據(jù)保護私鑰保持為秘密的。數(shù)據(jù)保護公鑰被傳送到云存儲裝置122,并且被存儲為用戶密鑰存儲庫126的一部分。數(shù)據(jù)保護公鑰/私鑰對對應(yīng)于用戶的身份或者與用戶的身份緊密聯(lián)系。如果用戶具有多個不同身份,則可生成多個不同數(shù)據(jù)保護公鑰/私鑰對(各自對應(yīng)于多個身份中的不同的一個身份或者與其緊密聯(lián)系),或者可替換地,單個數(shù)據(jù)保護公鑰/私鑰對可以跨多個不同身份來共享。在任何特定時間,密鑰管理模塊112允許使用對應(yīng)于在該特定時間的用戶身份的數(shù)據(jù)保護私鑰來保護內(nèi)容,但是不允許使用對應(yīng)于其他用戶身份的數(shù)據(jù)保護私鑰來保護內(nèi)容。數(shù)據(jù)保護私鑰因此也被稱為由特定身份保護。
受保護的內(nèi)容也被存儲在云存儲裝置122上。受保護的內(nèi)容在云存儲裝置122上的這種存儲可以由程序106之一(諸如內(nèi)容同步程序)來管理。隨著新內(nèi)容在內(nèi)容存儲庫108上被生成或者以其他方式被添加到內(nèi)容存儲庫108,新內(nèi)容被內(nèi)容保護系統(tǒng)104保護,并且通過內(nèi)容同步程序被存儲在云存儲裝置122上。相似地,隨著新內(nèi)容在其他計算設(shè)備124的內(nèi)容存儲庫上被生成或者以其他方式添加到其他計算設(shè)備124的內(nèi)容存儲庫(例如,在用戶使用相同身份登錄到這樣的其他設(shè)備的時候)并且通過其他計算設(shè)備124被存儲在云存儲裝置122上,由內(nèi)容同步程序從云存儲裝置122獲取新內(nèi)容,并且將其存儲在內(nèi)容存儲庫108中。
受保護的內(nèi)容基于數(shù)據(jù)保護公鑰/私鑰對被保護。計算設(shè)備102或者124的內(nèi)容保護系統(tǒng)使用數(shù)據(jù)保護私鑰來從受保護的內(nèi)容獲取明文內(nèi)容。因此,為了使得計算設(shè)備102和124中的多個不同計算設(shè)備從受保護的內(nèi)容獲取明文內(nèi)容,數(shù)據(jù)保護私鑰在該不同的計算設(shè)備102和124之間共享。這種共享以保護數(shù)據(jù)保護私鑰的方式完成,從而允許計算設(shè)備102和124獲取數(shù)據(jù)保護私鑰,但是阻止其他用戶或者設(shè)備獲取數(shù)據(jù)保護私鑰。因此,數(shù)據(jù)保護私鑰的共享可以經(jīng)由不安全的云存儲裝置和/或不安全的通信信道完成。
圖3是圖示了按照一個或者多個實施例的、用于實現(xiàn)針對漫游的受保護內(nèi)容的安全密鑰管理的示例過程300的流程圖。過程300由計算設(shè)備的內(nèi)容保護系統(tǒng)——諸如圖1或者圖2的內(nèi)容保護系統(tǒng)104——來實行,并且可以被實現(xiàn)在軟件、固件、硬件或者其組合中。過程300被示為一組動作,并且不限于所示出的用于執(zhí)行各種動作的操作的次序。過程300是用于實現(xiàn)針對漫游的受保護內(nèi)容的安全密鑰管理的示例過程;實現(xiàn)針對漫游的受保護內(nèi)容的安全密鑰管理的附加討論通過參考不同附圖而在本文中包括。
在過程300中,使用對應(yīng)于用戶的身份的數(shù)據(jù)保護公鑰來保護內(nèi)容(動作302)。內(nèi)容可以以各種不同方式使用數(shù)據(jù)保護公鑰被保護。在一個或者多個實施例中,使用文件加密密鑰來加密內(nèi)容(動作304)。文件加密密鑰被用于通過使用文件加密密鑰作為加密過程(例如,對稱加密過程)的密鑰而對內(nèi)容進(jìn)行加密。文件加密密鑰也利用數(shù)據(jù)保護公鑰進(jìn)行加密(動作306)。數(shù)據(jù)保護公鑰被用于通過使用數(shù)據(jù)保護公鑰作為公鑰密碼術(shù)過程的密鑰而對文件加密密鑰進(jìn)行加密。因此,可以使用多個不同密鑰來保護內(nèi)容——被用于加密內(nèi)容的文件加密密鑰(例如,對稱密鑰)、和其數(shù)據(jù)保護公鑰被用于加密文件加密密鑰的數(shù)據(jù)保護公鑰/私鑰對。
可替換地,不是使用文件加密密鑰,而是利用數(shù)據(jù)保護公鑰來加密內(nèi)容(動作308)。數(shù)據(jù)保護公鑰被用于通過使用數(shù)據(jù)保護公鑰作為公鑰密碼術(shù)過程的密鑰而對內(nèi)容進(jìn)行加密。因此,其數(shù)據(jù)保護公鑰被用于加密內(nèi)容的數(shù)據(jù)保護公鑰/私鑰對可以被用于在沒有對對稱密鑰的任何使用的情況下保護數(shù)據(jù)。
不管保護內(nèi)容的方式如何,受保護的內(nèi)容被復(fù)制到云存儲裝置(動作310)。因為內(nèi)容被保護,所以云存儲裝置自身不能夠訪問明文(未加密)內(nèi)容。受保護的內(nèi)容因此被存儲在實現(xiàn)該過程300的計算設(shè)備上,并且由于將受保護的內(nèi)容復(fù)制到云存儲裝置,所以受保護的內(nèi)容被云存儲裝置存儲,并被漫游到用戶的設(shè)備中的其他設(shè)備。
獲取要能夠訪問內(nèi)容的目標(biāo)設(shè)備的公鑰(動作312)。目標(biāo)設(shè)備的公鑰可以以各種各樣不同的方式獲取。在一個或者多個實施例中,用戶登錄的每個計算設(shè)備具有其自己的公鑰/私鑰對。該設(shè)備公鑰/私鑰對由計算設(shè)備(例如,計算設(shè)備的密鑰管理模塊)生成,并且該設(shè)備私鑰由計算設(shè)備保持為秘密的(例如,被保護在計算設(shè)備的硬件中,如以上討論的)。然而,在一個或者多個實施例中,每個計算設(shè)備還是將其設(shè)備公鑰存儲在云的用戶密鑰存儲庫(例如,圖1的用戶密鑰存儲庫126)中。因此,用戶的計算設(shè)備(例如,用戶使用相同身份登錄的那些)的每一個向云提供其設(shè)備公鑰,這使得那些設(shè)備公鑰是用戶的其他計算設(shè)備可得到的??商鎿Q地,計算設(shè)備可以以不同方式使得其設(shè)備公鑰是用戶的其他計算設(shè)備可得到的,諸如獨立于用戶密鑰存儲庫126和/或云的直接交換(例如,將設(shè)備公鑰傳遞到可拆卸閃存設(shè)備或者電話以及從可拆卸閃存設(shè)備或者電話讀取設(shè)備公鑰、使用另外的有線或者無線通信信道傳遞設(shè)備公鑰,等等)。
使用目標(biāo)設(shè)備公鑰對數(shù)據(jù)保護私鑰進(jìn)行加密(動作314)。通過使用目標(biāo)設(shè)備公鑰來加密數(shù)據(jù)保護私鑰,目標(biāo)設(shè)備能夠使用目標(biāo)設(shè)備私鑰取回數(shù)據(jù)保護私鑰,但是(不具有目標(biāo)設(shè)備私鑰的)其他設(shè)備不能夠取回數(shù)據(jù)保護私鑰。
加密的數(shù)據(jù)保護私鑰被提供給目標(biāo)設(shè)備(動作316)??梢允褂酶鞣N各樣不同機制中的任一種機制把加密的數(shù)據(jù)保護私鑰提供給目標(biāo)設(shè)備,所述機制諸如是圖1的云存儲裝置122、可拆卸閃存設(shè)備或者電話、另外的有線或者無線通信信道等等。應(yīng)該指出,因為數(shù)據(jù)保護私鑰被加密,并且目標(biāo)設(shè)備是具有目標(biāo)設(shè)備私鑰的唯一設(shè)備,所以加密的數(shù)據(jù)保護私鑰可以經(jīng)由各種各樣的可信或者不可信信道中的任一信道被傳遞或者以其他方式傳送給目標(biāo)設(shè)備。
一旦目標(biāo)設(shè)備具有了加密的數(shù)據(jù)保護私鑰,則目標(biāo)設(shè)備可以容易地使用目標(biāo)設(shè)備私鑰取回數(shù)據(jù)保護私鑰。目標(biāo)設(shè)備的內(nèi)容保護系統(tǒng)將數(shù)據(jù)保護私鑰保持為安全的,并且可以使用數(shù)據(jù)保護私鑰從受保護的內(nèi)容取回明文內(nèi)容(例如,通過使用數(shù)據(jù)保護私鑰來解密文件加密密鑰,然后使用文件加密密鑰來解密加密的內(nèi)容;或者通過使用數(shù)據(jù)保護私鑰來解密加密的內(nèi)容)。
要向其提供數(shù)據(jù)保護私鑰的目標(biāo)設(shè)備可以以不同方式被標(biāo)識。在一個或者多個實施例中,目標(biāo)設(shè)備向?qū)崿F(xiàn)過程300的設(shè)備傳送通知:目標(biāo)設(shè)備想要數(shù)據(jù)保護私鑰。該通知可以是經(jīng)由云存儲裝置的,或者可替換地經(jīng)由另外的通信信道??商鎿Q地,要向其提供數(shù)據(jù)保護私鑰的目標(biāo)設(shè)備可以以不同方式被確定。例如,實現(xiàn)過程300的設(shè)備(或者用戶密鑰存儲庫126)可以維護數(shù)據(jù)保護政策私鑰已經(jīng)被提供給哪些其他設(shè)備的記錄,并且可以將使用用戶密鑰存儲庫126中的每個設(shè)備公鑰(實現(xiàn)過程300的設(shè)備還沒有為其將加密的數(shù)據(jù)保護私鑰存儲在云存儲裝置上)加密的數(shù)據(jù)保護私鑰自動存儲在云存儲裝置上。
圖4圖示了按照一個或者多個實施例的、其中內(nèi)容被漫游并且數(shù)據(jù)保護私鑰被共享的示例系統(tǒng)400。用戶在相同或者不同時間登錄到他的計算設(shè)備中的兩個不同計算設(shè)備:402和404。該用戶可以但不必要為了使內(nèi)容漫游和/或共享數(shù)據(jù)保護私鑰而并發(fā)地登錄到計算設(shè)備402和404兩者。每個計算設(shè)備402和404可以是圖1的計算設(shè)備102或者圖2的計算設(shè)備202。每個計算設(shè)備402和404分別具有內(nèi)容保護系統(tǒng)406和408,如以上討論的。受保護的內(nèi)容410由計算設(shè)備402提供給云存儲裝置122,并且從云存儲裝置122復(fù)制到計算設(shè)備404。
計算設(shè)備402將計算設(shè)備402的設(shè)備公鑰提供給密鑰存儲庫126,其維護該密鑰,該密鑰被示為設(shè)備1公鑰412。計算設(shè)備404將計算設(shè)備404的設(shè)備公鑰提供給密鑰存儲庫126,其維護該密鑰,該密鑰被示為設(shè)備2公鑰414。計算設(shè)備402(或者可替換地計算設(shè)備404)還將數(shù)據(jù)保護公鑰提供給密鑰存儲庫126,其維護該密鑰,該密鑰被示為數(shù)據(jù)保護公鑰416。數(shù)據(jù)保護公鑰416可以被用于在不同設(shè)備或者不同用戶身份之間共享數(shù)據(jù),如以下更詳細(xì)討論的。
計算設(shè)備402從用戶密鑰存儲庫126獲取設(shè)備2公鑰414,并且使用設(shè)備2公鑰414來加密數(shù)據(jù)保護私鑰。加密的數(shù)據(jù)保護私鑰被提供418到計算設(shè)備404,從而允許計算設(shè)備404解密受保護的內(nèi)容410。
在一個或者多個實施例中,數(shù)據(jù)保護公鑰/私鑰對由一個設(shè)備生成,諸如用戶使用用戶身份登錄的第一設(shè)備。然后,當(dāng)用戶使用該用戶身份登錄到他的其他設(shè)備時,數(shù)據(jù)保護私鑰被提供給那些其他設(shè)備。因此,受保護的內(nèi)容被使用相同的數(shù)據(jù)保護公鑰/私鑰對來保護,而不是每個設(shè)備使用其自己的數(shù)據(jù)保護公鑰/私鑰對來保護數(shù)據(jù)。
在一個或者多個實施例中,在加密數(shù)據(jù)保護私鑰并將其提供給目標(biāo)設(shè)備之前執(zhí)行附加的用戶驗證。從其傳遞數(shù)據(jù)保護私鑰的計算設(shè)備(例如,圖4的示例中的計算設(shè)備402)也被稱為源設(shè)備,其向用戶提示源設(shè)備同意傳遞數(shù)據(jù)保護私鑰。這種提示可以是對源設(shè)備的用戶的視覺顯示或者其他呈現(xiàn)。這種提示可以包括用戶生成的隨機數(shù)(nonce)或者其他值(例如,在目標(biāo)設(shè)備處從用戶接收到并且被提供給源設(shè)備的)以使得云存儲裝置或者任何其他惡意設(shè)備或者組件不能冒充目標(biāo)設(shè)備或者用戶。接收用來指示是否同意該傳遞的用戶輸入。如果同意該傳遞,則繼續(xù)進(jìn)行數(shù)據(jù)保護私鑰的加密和提供,但是如果不同意該傳遞,則不再繼續(xù),并且不將數(shù)據(jù)保護私鑰提供給目標(biāo)設(shè)備。
通過僅響應(yīng)于用戶同意傳遞密鑰才加密和提供數(shù)據(jù)保護私鑰給目標(biāo)設(shè)備,有利地提供了對抗中間人攻擊的附加安全性保護。惡意設(shè)備或者程序可以通過假裝是目標(biāo)設(shè)備而嘗試中間人攻擊。源設(shè)備和目標(biāo)設(shè)備兩者的用戶通常是期望將密鑰傳遞到目標(biāo)設(shè)備的用戶,所以用戶將容易地知道他或她是否正請求該傳遞。如果在用戶沒有將其另一設(shè)備設(shè)置成數(shù)據(jù)要向其漫游時向用戶提供了同意傳遞的提示,則用戶可以假設(shè)這樣的提示是由于惡意設(shè)備或者程序的動作引起的,并且拒絕給予對密鑰傳遞的同意。
作為添加的安全性預(yù)防,可以執(zhí)行目標(biāo)設(shè)備的離線驗證以作為由用戶提供的同意的一部分。例如,如果數(shù)據(jù)保護私鑰要從設(shè)備402(本例中的源設(shè)備)提供給設(shè)備404(本例中的目標(biāo)設(shè)備),則設(shè)備404的標(biāo)識(例如,從設(shè)備404的公鑰生成的哈希值)可以由設(shè)備402和設(shè)備404兩者顯示或者以其他方式呈現(xiàn)。如果兩個標(biāo)識相同,則用戶可以同意將數(shù)據(jù)保護私鑰傳遞到設(shè)備404。然而,如果兩個標(biāo)識不相同,則可以不同意,從而阻止數(shù)據(jù)保護私鑰被提供給設(shè)備404。如果兩個標(biāo)識不相同,則用戶可以假設(shè)發(fā)生了問題,諸如另一設(shè)備或者程序正偽裝成設(shè)備404(例如,使用中間人攻擊)等等。
因此,數(shù)據(jù)保護私鑰的共享可以以不同方式來執(zhí)行。在一個或者多個實施例中,根據(jù)基于方便的方法來執(zhí)行共享。用戶可以僅添加內(nèi)容要向其漫游的新設(shè)備(例如,通過利用他的用戶身份登錄到該設(shè)備),并且發(fā)送通知到設(shè)備402。該通知可以從云(例如,來自用戶密鑰存儲庫126的通知:新設(shè)備公鑰已經(jīng)被添加到用戶密鑰存儲庫126)或者從新設(shè)備發(fā)送。響應(yīng)于通知,設(shè)備402云將加密的數(shù)據(jù)保護私鑰提供給新設(shè)備。
可替換地,數(shù)據(jù)保護私鑰的共享根據(jù)基于安全的方法來執(zhí)行。內(nèi)容要向其漫游的新設(shè)備發(fā)送一個值(例如,新設(shè)備的標(biāo)識符或者隨機數(shù))到設(shè)備402,其在設(shè)備402上顯示或者以其他方式呈現(xiàn)(例如,可聽地回放)該值。用戶對設(shè)備402的輸入確認(rèn)了該值(以使得云存儲裝置不能冒充該用戶)并且確認(rèn)了用戶同意向新設(shè)備釋放數(shù)據(jù)保護私鑰(已使用新設(shè)備的公鑰加密)。
返回圖1,本文討論的技術(shù)允許加密的內(nèi)容被傳遞到(漫游到)用戶的設(shè)備中的各種其他設(shè)備。用戶的設(shè)備中的每一個設(shè)備可以在獲取數(shù)據(jù)保護私鑰之后取回明文內(nèi)容,如以上討論的。此外,本文討論的技術(shù)允許用戶將受保護的內(nèi)容與其他用戶共享或者與相同用戶的其他用戶身份共享。
在一個或者多個實施例中,用戶密鑰存儲庫126的一個或者多個密鑰可以被配置為可由附加的用戶身份讀取,附加的用戶身份是諸如所有其他用戶身份、特定用戶身份(例如,如由計算設(shè)備102的用戶規(guī)定的)等等。這些不同用戶身份可以是對應(yīng)于不同用戶或者相同用戶的用戶身份。因此,可以使得用戶密鑰存儲庫126中的數(shù)據(jù)保護公鑰變成是其他用戶身份可得到的。如果登錄到計算設(shè)備124的用戶期望將內(nèi)容傳送給具有特定用戶身份的用戶,則計算設(shè)備124可以從用戶密鑰存儲庫126獲取該特定用戶身份的數(shù)據(jù)保護公鑰,使用獲取的數(shù)據(jù)保護公鑰來保護內(nèi)容,并且將受保護的內(nèi)容存儲在云存儲裝置上??梢酝ㄟ^以下方式來保護內(nèi)容,即通過利用特定用戶身份的數(shù)據(jù)保護公鑰來加密內(nèi)容,或者通過利用該特定用戶身份的數(shù)據(jù)保護公鑰來加密文件加密密鑰(其曾用于或者正用于加密內(nèi)容)。明文內(nèi)容因此可以僅由具有數(shù)據(jù)保護私鑰的設(shè)備從受保護的內(nèi)容中取回,并且受保護的內(nèi)容可以經(jīng)由云存儲裝置122或者其他不可信云存儲裝置或者通信信道被傳送給計算設(shè)備102。
作為添加的安全性預(yù)防,可以在利用獲取的數(shù)據(jù)保護公鑰保護內(nèi)容之前,執(zhí)行對從用戶密鑰存儲庫126獲取的數(shù)據(jù)保護公鑰的離線驗證。例如,如果利用用戶身份a登錄到計算設(shè)備124(1)的用戶a期望將受保護的內(nèi)容與利用用戶身份b登錄到計算設(shè)備102的用戶b共享,則計算設(shè)備124(1)從用戶密鑰存儲庫126獲取用戶身份b的數(shù)據(jù)保護公鑰。獲取的這個數(shù)據(jù)保護公鑰的標(biāo)識(例如,從獲取的數(shù)據(jù)保護公鑰生成的哈希值)可以被顯示或者以其他方式呈現(xiàn)給計算設(shè)備124(1)的用戶a。此外,用戶身份b的數(shù)據(jù)保護公鑰的標(biāo)識(例如,從數(shù)據(jù)保護公鑰生成的哈希值)可以向計算設(shè)備102的用戶b顯示或者以其他方式呈現(xiàn)。數(shù)據(jù)保護公鑰的這兩個顯示的(或者以其他方式呈現(xiàn)的)標(biāo)識可以(例如,由任一用戶或者兩個用戶)進(jìn)行比較,以驗證這些標(biāo)識是相同的。如果兩個標(biāo)識是相同的,則用戶a(和/或用戶b)可以授權(quán)計算設(shè)備124(1)著手利用用戶身份b的數(shù)據(jù)保護公鑰來保護內(nèi)容。然而,如果兩個標(biāo)識不相同,則用戶a(和/或用戶b)可以提供輸入,向計算設(shè)備124(1)指示取消內(nèi)容共享,并且不利用用戶身份b的數(shù)據(jù)保護公鑰來保護內(nèi)容。如果兩個標(biāo)識不相同,則用戶a(和/或用戶b)可以假設(shè)發(fā)生了問題,另一設(shè)備正偽裝成計算設(shè)備102(例如,使用中間人攻擊)等等。
應(yīng)該指出,數(shù)據(jù)保護私鑰由內(nèi)容保護系統(tǒng)104維護,并且不被泄露給云存儲裝置122。不存在對于存儲有數(shù)據(jù)保護私鑰的各種設(shè)備的集中式密鑰管理設(shè)施(例如,云存儲裝置122不提供密鑰第三方保管(escrow)服務(wù)或者相似的服務(wù))。在一個或者多個實施例中,采取一個或者多個措施來提供對數(shù)據(jù)保護私鑰的備份,從而允許在數(shù)據(jù)保護私鑰不再從計算設(shè)備102可得到的情況下(例如,由于計算設(shè)備102出故障、計算設(shè)備102被丟失或者被竊等等)無縫地恢復(fù)數(shù)據(jù)保護私鑰。
可以采取各種不同措施來保護數(shù)據(jù)保護私鑰以用于恢復(fù),諸如使用生物計量術(shù)來保護數(shù)據(jù)保護私鑰、使用電話來保護數(shù)據(jù)保護私鑰、使用秘密問題秘密答案(secret-question-secret-answer)技術(shù)來保護數(shù)據(jù)保護私鑰、上述項的組合等等??捎蓤D1的內(nèi)容保護系統(tǒng)104(例如,密鑰管理模塊112)采取這些措施。
使用生物計量術(shù)來保護數(shù)據(jù)保護私鑰指的是收集關(guān)于用戶的生物計量數(shù)據(jù),并且從生物計量數(shù)據(jù)中導(dǎo)出密鑰。生物計量數(shù)據(jù)可以采取各種不同形式,諸如指紋數(shù)據(jù)、眼掃描(例如,視網(wǎng)膜掃描)數(shù)據(jù)、面部掃描(例如,面部識別)數(shù)據(jù)、話音數(shù)據(jù)等等。該生物計量數(shù)據(jù)可以使用各種各樣的公有和/或?qū)S屑夹g(shù)中的任一項被轉(zhuǎn)換成密鑰,諸如基于來自生物計量數(shù)據(jù)的熵而導(dǎo)出密鑰。從生物計量數(shù)據(jù)導(dǎo)出的密鑰被用于加密數(shù)據(jù)保護私鑰(例如,使用各種各樣對稱密鑰密碼術(shù)技術(shù)中的任一項)。加密的數(shù)據(jù)保護私鑰然后可以被存儲在計算設(shè)備102外部的位置處,包括云存儲裝置122。
如果數(shù)據(jù)保護私鑰從計算設(shè)備102丟失(或者計算設(shè)備102不再可得到或者可使用),則數(shù)據(jù)保護私鑰可以由用戶取回。再次從用戶獲取生物計量數(shù)據(jù),并且如果生物計量數(shù)據(jù)與加密數(shù)據(jù)保護私鑰時所使用的相同,則從新獲取的生物計量數(shù)據(jù)導(dǎo)出的密鑰可以被用于解密數(shù)據(jù)保護私鑰。
使用電話保護數(shù)據(jù)保護私鑰指的是將數(shù)據(jù)保護私鑰存儲在用戶的電話(例如,智能電話)上。雖然在本文中被討論為電話,但是數(shù)據(jù)保護私鑰可以可替換地被存儲在用戶信任的各種其他設(shè)備上。數(shù)據(jù)保護私鑰可以以各種各樣不同方式被傳遞到電話,包括由用戶人工輸入密鑰(例如,數(shù)據(jù)保護私鑰由計算設(shè)備102顯示,并且用戶人工地將密鑰輸入到他的或者她的電話中)。數(shù)據(jù)保護私鑰可以可替換地以其他方式被傳遞到電話,諸如基于對由計算設(shè)備102進(jìn)行的密鑰顯示或密鑰表示的自動標(biāo)識。例如,數(shù)據(jù)保護私鑰可以由計算設(shè)備102顯示,并且該顯示由電話的相機捕獲??梢钥蛇x地對所捕獲的圖像執(zhí)行光學(xué)字符識別以確定密鑰。作為另一示例,對數(shù)據(jù)保護私鑰編碼的快速響應(yīng)(qr)碼可以由計算設(shè)備102顯示,并且由電話的相機捕獲。數(shù)據(jù)保護私鑰可以可替換地以各種其他有線或者無線方式被傳遞到電話,諸如使用usb連接、無線usb連接、紅外通信、nfc(近場通信)等等。
如果數(shù)據(jù)保護私鑰從計算設(shè)備102丟失(或者計算設(shè)備102不再可得到或者可使用),則數(shù)據(jù)保護私鑰可以被從電話取回??梢允褂妙愃朴谠趯?shù)據(jù)保護私鑰存儲在電話上時所討論的那些技術(shù)的各種各樣技術(shù)中的任一項,把密鑰從電話提供給計算設(shè)備102(或者新的計算設(shè)備)。
使用秘密問題秘密答案技術(shù)保護數(shù)據(jù)保護私鑰指的是收集對于一個或者多個問題的一個或者多個答案。問題可以采用各種形式,諸如關(guān)于用戶過去的知識的問題、關(guān)于秘密信息的問題(例如,個人標(biāo)識號(pin)或者由用戶創(chuàng)建的口令)等等。答案被設(shè)計為預(yù)期只有用戶知道的秘密答案??梢允褂酶鞣N各樣的公有和/或?qū)S屑夹g(shù)中的任一項(諸如單向哈希)把一個或者多個答案轉(zhuǎn)換成密鑰。從一個或者多個答案導(dǎo)出的密鑰被用于加密數(shù)據(jù)保護私鑰(例如,使用各種各樣對稱密鑰密碼術(shù)技術(shù)中的任一項)。加密的數(shù)據(jù)保護私鑰然后可以被存儲在計算設(shè)備102外部的位置處,包括云存儲裝置122。
如果數(shù)據(jù)保護私鑰從計算設(shè)備102丟失(或者計算設(shè)備102不再可得到或者可使用),則數(shù)據(jù)保護私鑰可以由用戶取回。再次從用戶獲取一個或者多個答案,并且如果一個或者多個答案與當(dāng)加密數(shù)據(jù)保護私鑰時使用的一個或者多個答案相同,則從該一個或者多個答案導(dǎo)出的密鑰可以被用于解密數(shù)據(jù)保護私鑰。
這些不同措施(例如,生物計量術(shù)保護、電話保護、秘密問題秘密答案保護)中的單個措施可以被用來保護數(shù)據(jù)保護私鑰,或者這些不同措施的組合可以被用來保護數(shù)據(jù)保護私鑰。例如,可以既使用生物計量術(shù)保護也使用秘密問題秘密答案保護,這樣只有在從用戶獲取的生物計量數(shù)據(jù)與當(dāng)加密數(shù)據(jù)保護私鑰時使用的相同并且從用戶獲取的對于一個或者多個問題的一個或者多個答案與當(dāng)加密數(shù)據(jù)保護私鑰時使用的一個或者多個答案相同時,才可以由該用戶取回數(shù)據(jù)保護私鑰。
在本文的討論中,參考了由所有計算設(shè)備使用的單個數(shù)據(jù)保護公鑰/私鑰對??商鎿Q地,可以使用多個數(shù)據(jù)保護公鑰/私鑰對,諸如針對每個計算設(shè)備的單獨數(shù)據(jù)保護公鑰/私鑰對、針對一個或者多個計算設(shè)備中的每一個計算設(shè)備的多個數(shù)據(jù)保護公鑰/私鑰對等等。使用本文討論的技術(shù),把針對這多個數(shù)據(jù)保護公鑰/私鑰對中的每一對的數(shù)據(jù)保護私鑰提供給其他計算設(shè)備。
還應(yīng)該指出,雖然參考了一個云存儲裝置(例如,圖1的云存儲裝置122),但是可替換地,可使用多個不同的云存儲裝置或者云服務(wù),無論使用是并發(fā)地、順序地還是甚至是臨時地。例如,不同服務(wù)可以為了用戶密鑰存儲庫126的冗余性而要具有定為目標(biāo)的每服務(wù)用戶密鑰存儲庫以使得與多個和/或不同用戶安全地共享,可以出于在不同的云存儲裝置或者云服務(wù)上與用戶共享的目的而將用戶密鑰存儲庫126臨時地存儲在不同的云存儲裝置或者云服務(wù)上等等。
在一個或多個實施例中,本文討論的技術(shù)被使用于其中一個或多個計算設(shè)備通過被稱為管理政策的政策來管理的各種環(huán)境(例如,公司或其他組織、家庭用途)中。通過這樣的政策管理的計算設(shè)備也被稱為被管設(shè)備,并且未通過這樣的政策管理的設(shè)備也被稱為非被管設(shè)備。管理政策標(biāo)識要由被管設(shè)備采取的、通常牽涉到保護內(nèi)容或?qū)Ω鞣N資源的訪問的各種不同的設(shè)置、配置、動作等等。被管設(shè)備可以由單個實體來管理,或可替換地由多個實體來管理。例如,在顧問場景下,雇主可以向另一家公司出租用戶,而雇主和該另一家公司都可以將管理政策應(yīng)用于被管設(shè)備。作為另一個示例,用戶可以帶著他或她自己的設(shè)備以在工作中使用,并且用戶和雇主都可以將管理政策應(yīng)用于被管設(shè)備。
可以被采取的一個這樣的動作是在計算設(shè)備上擦除內(nèi)容,這指的是使內(nèi)容在該計算設(shè)備上不可用。可以以不同的方式使內(nèi)容在計算設(shè)備上不可用,諸如通過刪除內(nèi)容,通過刪除用于解密內(nèi)容的密鑰等等。計算設(shè)備可以由于各種原因而接收到指示擦除計算設(shè)備上的內(nèi)容的擦除命令,諸如該計算設(shè)備的用戶不再被公司或組織雇用,計算設(shè)備已經(jīng)被丟失或被竊,等等。擦除命令典型地由管理源啟動,管理源是指負(fù)責(zé)規(guī)定或?qū)嵤┕芾碚叩膶嶓w。管理源可以是各種不同的實體,諸如系統(tǒng)管理員、控制器或管理設(shè)備、設(shè)備的用戶、設(shè)備的所有者、移動運營商等等。
使用本文討論的技術(shù),可以使內(nèi)容在多個不同的計算設(shè)備之間漫游,其中一些設(shè)備可以是被管設(shè)備,并且其中一些設(shè)備可以是非被管設(shè)備。被管設(shè)備被稱為具有返回到管理源(例如,管理員或控制器)的直接通道,其允許被管設(shè)備直接從管理源接收擦除命令。然而,非被管設(shè)備被稱為缺少(沒有)返回到管理源的直接通道,因此非被管設(shè)備不能直接從管理源接收擦除命令。
如上所討論的,擦除命令由管理源啟動,并且由被管設(shè)備而不是非被管設(shè)備接收。然而,類似于受保護內(nèi)容的漫游,擦除命令可以有利地被漫游到多個不同的計算設(shè)備。因此,擦除命令可以有利地被漫游到非被管設(shè)備,并且盡管非被管設(shè)備未通過管理政策管理,也可以響應(yīng)于該擦除命令而使內(nèi)容在該非被管設(shè)備上不可用。例如,用戶可以提供輸入去擦除個人智能電話,并且與智能電話同步數(shù)據(jù)、但不受移動運營商管理的設(shè)備(例如,未連接到管理智能手機的移動運營商或未與該移動運營商相關(guān)聯(lián)的智能手表)也可以使用本文討論的技術(shù)進(jìn)行擦除。
圖5是圖示按照一個或多個實施例的、用于跨設(shè)備的漫游內(nèi)容擦除動作的示例過程500的流程圖。過程500由諸如圖1的計算設(shè)備102或圖2的計算設(shè)備202這樣的計算設(shè)備來實行,并且可以在軟件、固件、硬件或其組合中實現(xiàn)。過程500被示為一組動作,并且不限于所示出的用于執(zhí)行各種動作的操作的順序。過程500是用于跨設(shè)備的漫游內(nèi)容擦除動作的示例過程;本文包括參考不同附圖的、對跨設(shè)備的漫游內(nèi)容擦除動作的附加討論。
在過程500中,在被管設(shè)備處獲取內(nèi)容(動作502)。內(nèi)容可以以各種各樣不同的方式中的任何方式來獲取,諸如通過在被管設(shè)備上創(chuàng)建、作為電子郵件附件被接收、從另一設(shè)備復(fù)制等等來獲取。
內(nèi)容被保護,使得可以基于密鑰來取回內(nèi)容(動作504)。可以對內(nèi)容進(jìn)行保護,使得可以以各種不同的方式基于密鑰來取回內(nèi)容。在一個或多個實施例中,如以上討論的,使用文件加密密鑰來加密內(nèi)容(動作506),并且用數(shù)據(jù)保護公鑰來加密文件加密密鑰(動作508)。在這樣的情況下,可以基于文件加密密鑰以及數(shù)據(jù)保護私鑰來取回內(nèi)容。可替換地,不是使用文件加密密鑰,而是如以上討論的用數(shù)據(jù)保護公鑰來加密內(nèi)容(動作510)。在這樣的情況下,可以基于數(shù)據(jù)保護私鑰來取回內(nèi)容。
不管用以保護內(nèi)容的方式如何,可以基于其而取回受保護內(nèi)容的密鑰與被管設(shè)備的標(biāo)識符相關(guān)聯(lián)(動作512)。與被管設(shè)備的標(biāo)識符相關(guān)聯(lián)的這個密鑰可以是文件加密密鑰或數(shù)據(jù)保護私鑰。通常,密鑰與表示提供該密鑰的設(shè)備的標(biāo)識符相關(guān)聯(lián)。如下面更詳細(xì)討論的,提供密鑰的設(shè)備可以是生成該密鑰的設(shè)備或者是另一個被管設(shè)備。這種關(guān)聯(lián)可以以各種各樣不同的方式來維護。例如,可以在密鑰的元數(shù)據(jù)中標(biāo)識設(shè)備,受保護的內(nèi)容可以包括標(biāo)識該密鑰和該設(shè)備的元數(shù)據(jù),內(nèi)容保護系統(tǒng)可以維護將標(biāo)識符與密鑰相關(guān)聯(lián)的列表或其他記錄,等等。
受保護的內(nèi)容和密鑰被漫游到一個或多個另外的設(shè)備(動作514)。如以上討論的,受保護的內(nèi)容以及數(shù)據(jù)保護私鑰可以被漫游到不同的計算設(shè)備,并且可以經(jīng)由云存儲裝置或其他機制(例如,對等傳遞)來進(jìn)行漫游。在密鑰是文件加密密鑰的情況下,類似于如以上討論的數(shù)據(jù)保護私鑰被漫游的方式,文件加密密鑰可以被漫游到不同的計算設(shè)備,或者可替換地,文件加密密鑰可以以其他方式(例如,由系統(tǒng)管理員)提供給計算設(shè)備。
在使受保護的內(nèi)容和密鑰漫游之后,接收管理方啟動的擦除命令,并且使指示刪除密鑰的擦除命令漫游(動作516)。管理方啟動的擦除命令可以是接收自如上討論的管理源,諸如系統(tǒng)管理員、系統(tǒng)控制器或管理設(shè)備等。擦除命令可以以類似于如上討論的經(jīng)由云存儲裝置漫游內(nèi)容的方式經(jīng)由云存儲裝置被漫游。擦除命令可以由內(nèi)容同步程序來漫游,或者可替換地由計算設(shè)備的內(nèi)容保護系統(tǒng)來漫游。例如,在計算設(shè)備處接收的擦除命令可以由計算設(shè)備的內(nèi)容保護系統(tǒng)復(fù)制到云存儲裝置,以供其他計算設(shè)備的內(nèi)容保護系統(tǒng)取回。
附加地或可替換地,可以使用各種各樣其他類型的通信信道或傳遞機制中的任一種來使擦除命令漫游。例如,可以通過特定服務(wù)器或?qū)Φ葯C制或網(wǎng)絡(luò)(諸如藍(lán)牙、nfc、lan,蜂窩網(wǎng)絡(luò)等)來傳遞擦除命令。作為另一個示例,可以通過不同類型的設(shè)備(諸如usb閃存驅(qū)動器)來傳遞擦除命令。
如以上討論的,內(nèi)容的取回所基于的密鑰與一個或多個標(biāo)識符相關(guān)聯(lián),每個標(biāo)識符表示提供密鑰的設(shè)備。當(dāng)受保護的內(nèi)容被漫游到不同的設(shè)備時,該標(biāo)識符可以針對不同的設(shè)備而改變,或者可以將附加的標(biāo)識符與受保護的內(nèi)容相關(guān)聯(lián)。
圖6是圖示按照一個或多個實施例的、用于當(dāng)內(nèi)容被跨設(shè)備地漫游時設(shè)置表示提供密鑰的設(shè)備的標(biāo)識符的示例過程600。過程600由諸如圖1或圖2的內(nèi)容保護系統(tǒng)104這樣的內(nèi)容保護系統(tǒng)來實行,并且可以在軟件、固件、硬件或其組合中實現(xiàn)。過程600被示為一組動作,并且不限于所示出的用于執(zhí)行各種動作的操作的順序。過程600是用于當(dāng)內(nèi)容被跨設(shè)備地漫游時設(shè)置表示提供密鑰的設(shè)備的標(biāo)識符的示例過程;本文包括參考不同附圖的、對當(dāng)內(nèi)容被跨設(shè)備地漫游時設(shè)置表示提供密鑰的設(shè)備的標(biāo)識符的附加討論。
在過程600中,從云存儲裝置接收漫游的受保護內(nèi)容(動作602)。用于取回所接收到的受保護內(nèi)容的密鑰可以與特定設(shè)備相關(guān)聯(lián),或者可替換地與多個不同設(shè)備(所有這些設(shè)備都是被管設(shè)備)相關(guān)聯(lián)。如以上討論的,該密鑰可以是文件加密密鑰或數(shù)據(jù)保護私鑰。
進(jìn)程600基于接收受保護內(nèi)容的計算設(shè)備是被管設(shè)備還是非被管設(shè)備而繼續(xù)進(jìn)行。如果接收受保護內(nèi)容的計算設(shè)備是被管設(shè)備,則用于取回內(nèi)容的密鑰與該接收設(shè)備相關(guān)聯(lián)(動作604)。應(yīng)該指出,該關(guān)聯(lián)可以包括加密某些內(nèi)容或密鑰。例如,如果密鑰是數(shù)據(jù)保護私鑰,則該關(guān)聯(lián)可以包括用接收設(shè)備的數(shù)據(jù)保護公鑰對文件加密密鑰進(jìn)行加密。
然而,如果接收受保護內(nèi)容的計算設(shè)備是非被管設(shè)備,則用于取回內(nèi)容的密鑰被維持(leave)為與該特定一個或多個設(shè)備相關(guān)聯(lián)(動作606)。因此,在動作606中,在沒有將密鑰與接收受保護內(nèi)容的非被管設(shè)備相關(guān)聯(lián)的情況下,保持密鑰與該特定一個或多個設(shè)備的關(guān)聯(lián)(密鑰不與接收受保護內(nèi)容的非被管設(shè)備相關(guān)聯(lián))。
通過密鑰與被管設(shè)備的標(biāo)識符的關(guān)聯(lián)以及當(dāng)內(nèi)容漫游到非被管設(shè)備時保持該關(guān)聯(lián),創(chuàng)建了到非被管設(shè)備的用于密鑰(和內(nèi)容)的管理通道。管理通道是指可以經(jīng)由其而向非被管設(shè)備提供擦除命令的指示的通道或機制。應(yīng)該指出,可以有到同一個非被管設(shè)備的用于同一個密鑰的多個管理通道。因此,盡管返回到管理源的直接通道對于非被管設(shè)備是不可得到的,但是存在到非被管設(shè)備的、可以經(jīng)由其而向非被管設(shè)備提供擦除命令的管理通道。
在一個或多個實施例中,在動作604中,用于取回內(nèi)容的密鑰被轉(zhuǎn)換成與接收設(shè)備相關(guān)聯(lián),并且與密鑰相關(guān)聯(lián)的該特定設(shè)備的標(biāo)識被替換為接收設(shè)備的標(biāo)識。可替換地,密鑰可以與該特定設(shè)備和接收設(shè)備兩者相關(guān)聯(lián)。因此,密鑰可以與多個設(shè)備相關(guān)聯(lián)。為了避免不必要地在仍然存在管理通道(直接通道或其他管理通道)時潛在地刪除密鑰,密鑰可以與多個設(shè)備,特別是具有返回到管理源的直接通道并且可以與非被管設(shè)備同步的那些設(shè)備相關(guān)聯(lián)。例如,考慮非被管設(shè)備與另外兩個被管設(shè)備處于同步關(guān)系的情況。如果擦除命令是特定于設(shè)備的,則只要被管設(shè)備仍然在與非被管設(shè)備同步,那么非被管設(shè)備就不需要刪除該密鑰,但是當(dāng)從那個設(shè)備接收到擦除命令時,將只是刪除對被擦除的設(shè)備的引用。當(dāng)來自所有同步管理通道的所有引用都被刪除時,則在非被管設(shè)備上的密鑰也被刪除??商鎿Q地,擦除命令可以標(biāo)識多個設(shè)備(可選地,不用特別地標(biāo)識任何設(shè)備,比如使用“擦除全部”命令),在這種情形下,非被管設(shè)備確實刪除密鑰,而不管有多少(如果有的話)被管設(shè)備仍然是與該非被管設(shè)備同步的。
圖7是圖示按照一個或多個實施例的、用于根據(jù)漫游的擦除命令行動的示例過程700的流程圖。過程700由諸如圖1或圖2的內(nèi)容保護系統(tǒng)104這樣的內(nèi)容保護系統(tǒng)來實行,并且可以在軟件、固件、硬件或其組合中實現(xiàn)。過程700被示為一組動作,并且不限于所示出的用于執(zhí)行各種動作的操作的順序。過程700是用于根據(jù)漫游的擦除命令行動的示例過程;本文包括參考不同附圖的、對根據(jù)漫游的擦除命令行動的附加討論。
在過程700中,接收指示刪除與特定計算設(shè)備相關(guān)聯(lián)的密鑰的擦除命令(動作702)。接收到的擦除命令是漫游的擦除命令——該擦除命令是從與接收設(shè)備同步的另一設(shè)備接收的,而不是從管理源接收的。該密鑰是用于取回所接收到的受保護內(nèi)容的密鑰,并且如以上討論的可以是文件加密密鑰或數(shù)據(jù)保護私鑰。
過程700基于接收擦除命令的計算設(shè)備是被管設(shè)備還是非被管設(shè)備而繼續(xù)進(jìn)行。如果接收擦除命令的計算設(shè)備是被管設(shè)備,則不從該接收設(shè)備中刪除密鑰(動作704)。在一個或多個實施例中,即使可能已經(jīng)接收到受保護內(nèi)容、而該密鑰被針對該受保護內(nèi)容與該特定設(shè)備相關(guān)聯(lián),那個關(guān)聯(lián)也在接收設(shè)備處被改變。因此,在接收設(shè)備處,密鑰將不再與該特定設(shè)備相關(guān)聯(lián)??商鎿Q地,如果密鑰與特定設(shè)備和接收設(shè)備相關(guān)聯(lián),則盡管因為密鑰仍然與接收設(shè)備相關(guān)聯(lián)所以未刪除密鑰,在動作704中也刪除對該特定設(shè)備的引用或該特定設(shè)備的標(biāo)識。
然而,如果接收擦除命令的計算設(shè)備是非被管設(shè)備,則刪除與特定設(shè)備相關(guān)聯(lián)的密鑰(動作706)。因此,即使設(shè)備是未被管理的,擦除命令仍漫游到該非被管設(shè)備,并且密鑰被刪除??商鎿Q地,可以只在與密鑰相關(guān)聯(lián)并且與該計算設(shè)備通信的所有特定設(shè)備都被擦除的情況下,在該非被管設(shè)備上刪除密鑰;如果仍有到該非被管設(shè)備的管理通道,則不刪除密鑰(除非接收到“全部擦除”命令)。
圖8圖示了按照一個或多個實施例的擦除內(nèi)容的示例。假設(shè)受保護的內(nèi)容被跨三個計算設(shè)備802、804和806漫游。計算設(shè)備802和804都通過相同的管理政策管理,并且計算設(shè)備806是未被管理的。還假設(shè)在計算設(shè)備802上創(chuàng)建受保護內(nèi)容808,并且受保護內(nèi)容808漫游到計算設(shè)備804和806。當(dāng)創(chuàng)建受保護內(nèi)容808時,內(nèi)容的取回所基于的密鑰810與計算設(shè)備802的標(biāo)識符812相關(guān)聯(lián)。當(dāng)受保護內(nèi)容808被漫游到計算設(shè)備804時,該受保護內(nèi)容被存儲為受保護內(nèi)容814。因為計算設(shè)備804是被管設(shè)備,所以在計算設(shè)備804上改變密鑰的關(guān)聯(lián),以及內(nèi)容的取回所基于的密鑰816與計算設(shè)備804的標(biāo)識符818相關(guān)聯(lián)。盡管在計算設(shè)備804上改變了關(guān)聯(lián),但是該改變并不改動計算設(shè)備802上的關(guān)聯(lián)。當(dāng)受保護內(nèi)容808被漫游到計算設(shè)備806時,該受保護內(nèi)容被存儲為受保護內(nèi)容820。因為計算設(shè)備806是非被管設(shè)備,所以密鑰的關(guān)聯(lián)不改變。因此,內(nèi)容的取回所基于的密鑰822與計算設(shè)備802的標(biāo)識符824相關(guān)聯(lián)。
響應(yīng)于隨后的指示刪除與計算設(shè)備802相關(guān)聯(lián)的密鑰的擦除命令(由被管計算設(shè)備802或804之一從管理源接收,并且被漫游到非被管計算設(shè)備806,以及可選地被漫游到另一被管計算設(shè)備802或804),由計算設(shè)備802、804和806接收該擦除命令。與計算設(shè)備802的標(biāo)識符812相關(guān)聯(lián)的密鑰810從計算設(shè)備802中被刪除,并且與計算設(shè)備802的標(biāo)識符824相關(guān)聯(lián)的密鑰822從計算設(shè)備806中被刪除。然而,與計算設(shè)備804的標(biāo)識符818相關(guān)聯(lián)的密鑰816保留在計算設(shè)備804上。因此,響應(yīng)于擦除命令,受保護內(nèi)容在計算設(shè)備802和806處不再可以被取回,因為計算設(shè)備802和806不再具有取回所基于的密鑰。然而,在計算設(shè)備804處仍然可以取回受保護內(nèi)容。應(yīng)該指出,盡管受保護內(nèi)容808和820可以保留在計算設(shè)備802和806上,但是在計算設(shè)備802和806處不能取回明文內(nèi)容,因為計算設(shè)備802和806不再具有取回所基于的密鑰。
圖9圖示了按照一個或多個實施例的擦除內(nèi)容的另一示例。圖9的示例類似于圖8的示例,不過,在圖8的示例中,受保護內(nèi)容的取回所基于的密鑰可以與多個計算設(shè)備的標(biāo)識符相關(guān)聯(lián)。假設(shè)受保護內(nèi)容被跨三個計算設(shè)備902、904和906漫游。計算設(shè)備902和904都通過相同的管理政策管理,并且計算設(shè)備906是未被管理的。此外假設(shè)在計算設(shè)備902上創(chuàng)建受保護內(nèi)容908,并且受保護內(nèi)容908漫游到計算設(shè)備904和906,而且還假設(shè)受保護內(nèi)容908在計算設(shè)備904上被修改(編輯),并且經(jīng)修改的受保護內(nèi)容被漫游到計算設(shè)備902和906。
當(dāng)創(chuàng)建受保護內(nèi)容908時,內(nèi)容的取回所基于的密鑰910與計算設(shè)備902的標(biāo)識符912相關(guān)聯(lián)。當(dāng)受保護內(nèi)容908被漫游到計算設(shè)備904時,該受保護內(nèi)容被存儲為受保護內(nèi)容914。因為計算設(shè)備904是被管設(shè)備,所以密鑰與計算設(shè)備902和計算設(shè)備904兩者相關(guān)聯(lián),并且內(nèi)容的取回所基于的密鑰916與計算設(shè)備902的標(biāo)識符918和計算設(shè)備904的標(biāo)識符920相關(guān)聯(lián)。當(dāng)在計算設(shè)備904上修改受保護內(nèi)容914時,經(jīng)修改的受保護內(nèi)容908被存儲在計算設(shè)備902上。因為計算設(shè)備902是被管設(shè)備,所以密鑰與計算設(shè)備902和計算設(shè)備904兩者相關(guān)聯(lián),并且密鑰910與計算設(shè)備902的標(biāo)識符912以及計算設(shè)備904的標(biāo)識符922相關(guān)聯(lián)。
當(dāng)受保護內(nèi)容908被漫游到計算設(shè)備906時,該受保護內(nèi)容被存儲為受保護內(nèi)容924。因為計算設(shè)備906是非被管設(shè)備,所以密鑰的關(guān)聯(lián)不改變。因此,內(nèi)容的取回所基于的密鑰926與計算設(shè)備902的標(biāo)識符928和計算設(shè)備904的標(biāo)識符930相關(guān)聯(lián)。
響應(yīng)于隨后的指示刪除與計算設(shè)備902相關(guān)聯(lián)的密鑰的擦除命令(例如,擦除計算設(shè)備902)(由被管計算設(shè)備902或904之一從管理源接收,并且被漫游到非被管計算設(shè)備906,以及可選地被漫游到另一個被管計算設(shè)備902或904),由計算設(shè)備902、904和906接收該擦除命令。在一個或多個實施例中,與計算設(shè)備902的標(biāo)識符912相關(guān)聯(lián)的密鑰910從計算設(shè)備902中被刪除,因為該命令是從計算設(shè)備902中刪除該密鑰。可替換地,可以從計算設(shè)備902中刪除標(biāo)識符912,而與計算設(shè)備904的標(biāo)識符922相關(guān)聯(lián)的密鑰910可以保留在計算設(shè)備902上。
計算設(shè)備902的標(biāo)識符918從計算設(shè)備904中被刪除,但是密鑰916和計算設(shè)備904的標(biāo)識符920保留在計算設(shè)備904上。類似地,計算設(shè)備902的標(biāo)識符928從計算設(shè)備906中被刪除,但是密鑰926和計算設(shè)備904的標(biāo)識符930保留在計算設(shè)備906上。然而,如果該擦除命令是用來擦除所有設(shè)備的命令,或者要接收到用來刪除與計算設(shè)備904相關(guān)聯(lián)的密鑰的另外的擦除命令(例如,擦除計算設(shè)備904),則將從計算設(shè)備904中刪除密鑰916和標(biāo)識符920,并且將從計算設(shè)備906中刪除密鑰926和標(biāo)識符930。
因此,正如從本文的討論中可以看出的,當(dāng)受保護內(nèi)容被漫游到不同的設(shè)備時,用于取回受保護內(nèi)容的密鑰保持與生成該密鑰的特定設(shè)備相關(guān)聯(lián),一直到受保護內(nèi)容漫游到被管設(shè)備。這允許將擦除命令漫游到其他計算設(shè)備,以及刪除非被管設(shè)備上的密鑰而同時可以保留被管設(shè)備上的密鑰。這有利地允許從一些設(shè)備(例如,已經(jīng)被丟失或被竊的設(shè)備,或者從已經(jīng)被丟失或被竊的設(shè)備獲得了受保護內(nèi)容的非被管設(shè)備)中刪除密鑰,而同時允許內(nèi)容保留在(例如,沒有丟失或被竊的)其他被管設(shè)備上,和/或允許內(nèi)容保留在非被管設(shè)備上,直到從與非被管設(shè)備同步的所有相關(guān)聯(lián)設(shè)備撤銷該密鑰為止。這還有利地允許將擦除命令漫游到另外的被管設(shè)備,導(dǎo)致在該另外的被管設(shè)備并沒有從啟動該擦除命令的服務(wù)器或控制器直接地接收到擦除命令的情況下,從該另外的被管設(shè)備中擦除密鑰。
用于將密鑰與設(shè)備相關(guān)聯(lián)和使擦除命令漫游的這些技術(shù)有效地把對數(shù)據(jù)的管理擴展到非被管設(shè)備,從而允許從非被管設(shè)備中擦除數(shù)據(jù)。在一個或多個實施例中,這些技術(shù)對具有來自被管設(shè)備的最新近漫游事件的計算設(shè)備給予優(yōu)先考慮??商鎿Q地,可以在存在多個管理實體(例如,不同的管理政策)的情況下采用各種不同的管理冗余、優(yōu)先化和沖突消解技術(shù)。這樣的技術(shù)可以包括復(fù)制密鑰并將復(fù)制的密鑰與新的設(shè)備標(biāo)識符相關(guān)聯(lián)(例如,創(chuàng)建密鑰/設(shè)備標(biāo)識符對的列表),將多個管理通道或設(shè)備標(biāo)簽與單個密鑰相關(guān)聯(lián),等等。
雖然在本文中參考特定模塊討論了特定功能性,但是應(yīng)該指出,本文討論的單個模塊的功能性可以被分成多個模塊,和/或多個模塊的至少一些功能性可以被組合成單個模塊。附加地,特定模塊在本文中被討論為執(zhí)行動作包括:該特定模塊自己執(zhí)行動作或者可替換地該特定模塊調(diào)用或者以其他方式訪問執(zhí)行該動作(或者與該特定模塊協(xié)力執(zhí)行該動作)的另一組件或者模塊。因此,特定模塊執(zhí)行動作包括:該特定模塊自己執(zhí)行動作和/或由該特定模塊調(diào)用或者以其他方式訪問的另一模塊執(zhí)行動作。
圖10概括地在1000處圖示了包括示例計算設(shè)備1002的示例系統(tǒng),示例計算設(shè)備1002代表可以實現(xiàn)本文中描述的各種技術(shù)的一個或多個系統(tǒng)和/或設(shè)備。計算設(shè)備1002可以例如是服務(wù)提供商的服務(wù)器、與客戶端相關(guān)聯(lián)的設(shè)備(例如,客戶端設(shè)備)、片上系統(tǒng)和/或任何其他合適的計算設(shè)備或者計算系統(tǒng)。
所圖示的示例計算設(shè)備1002包括彼此通信地耦合的處理系統(tǒng)1004、一個或多個計算機可讀介質(zhì)1006和一個或多個i/o接口1008。盡管未被示出,但計算設(shè)備1002可以進(jìn)一步包括將各種組件彼此耦合的系統(tǒng)總線或者其他數(shù)據(jù)和命令傳遞系統(tǒng)。系統(tǒng)總線可以包括不同總線結(jié)構(gòu)中的任何一個或者組合,諸如存儲器總線或者存儲器控制器、外圍總線、通用串行總線和/或使用各種各樣總線架構(gòu)中的任一種總線架構(gòu)的處理器或者本地總線。還設(shè)想了各種各樣的其他示例,諸如控制和數(shù)據(jù)線。
處理系統(tǒng)1004代表使用硬件執(zhí)行一個或多個操作的功能性。相應(yīng)地,處理系統(tǒng)1004被圖示為包括可以被配置為處理器、功能塊等的硬件元件1010。這可以包括在硬件中實現(xiàn)為專用集成電路或者使用一個或多個半導(dǎo)體形成的其他邏輯器件。硬件元件1010不受形成它們的材料或者其中采用的處理機制的限制。例如,處理器可以由(一個或者多個)半導(dǎo)體和/或晶體管(例如,電子集成電路(ic))組成。在這樣的上下文中,處理器可執(zhí)行指令可以是電子地可執(zhí)行的指令。
計算機可讀介質(zhì)1006被圖示為包括存儲器/存儲裝置1012。存儲器/存儲裝置1012表示與一個或多個計算機可讀介質(zhì)相關(guān)聯(lián)的存儲器/存儲裝置容量。存儲器/存儲裝置1012可以包括易失性介質(zhì)(諸如隨機存取存儲器(ram))和/或非易失性介質(zhì)(諸如只讀存儲器(rom)、閃存、光盤、磁盤等)。存儲器/存儲裝置1012可以包括固定介質(zhì)(例如,ram、rom、固定硬驅(qū)動器等)以及可拆卸介質(zhì)(例如,閃存、可拆卸硬驅(qū)動器、光盤等)。可以以各種各樣其他方式來配置計算機可讀介質(zhì)1006,如下面進(jìn)一步描述的。
一個或者多個輸入/輸出接口1008代表允許用戶使用各種輸入/輸出設(shè)備向計算設(shè)備1002輸入命令和信息以及還允許將信息呈現(xiàn)給用戶和/或其他組件或者設(shè)備的功能性。輸入設(shè)備的示例包括鍵盤、光標(biāo)控制設(shè)備(例如,鼠標(biāo))、麥克風(fēng)(例如,用于話音輸入)、掃描儀、觸摸功能性(例如,被配置來檢測物理觸摸的電容式或者其他傳感器)、相機(例如,其可以采用可見波長或不可見波長——諸如紅外頻率——來將不涉及觸摸的移動檢測為手勢)等。輸出設(shè)備的示例包括顯示設(shè)備(例如,監(jiān)視器或者投影儀)、揚聲器、打印機、網(wǎng)卡、觸覺響應(yīng)設(shè)備等。因此,可以以如下面進(jìn)一步描述的各種各樣的方式將計算設(shè)備1002配置為支持用戶交互。
計算設(shè)備1002還包括內(nèi)容保護系統(tǒng)1014。內(nèi)容保護系統(tǒng)1014提供內(nèi)容的各種保護,其包括如以上討論的密鑰。內(nèi)容保護系統(tǒng)1014可以實現(xiàn)例如圖1或者圖2的內(nèi)容保護系統(tǒng)104。
在本文中,可以在軟件、硬件元件或者程序模塊的一般上下文中描述各種技術(shù)。一般性地,這樣的模塊包括執(zhí)行特定任務(wù)或者實現(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對象、元件、組件、數(shù)據(jù)結(jié)構(gòu)等。當(dāng)在本文中使用時,術(shù)語“模塊”、“功能性”和“組件”通常表示軟件、固件、硬件或者其組合。本文描述的技術(shù)的特征是與平臺無關(guān)的,這意味著這些技術(shù)可以被實施在具有各種各樣處理器的各種各樣計算平臺上。
所描述的模塊和技術(shù)的實現(xiàn)可以被存儲在某種形式的計算機可讀介質(zhì)上、或者跨某種形式的計算機可讀介質(zhì)來被傳輸。計算機可讀介質(zhì)可以包括能被計算設(shè)備1002訪問的各種各樣的介質(zhì)。作為示例而非限制,計算機可讀介質(zhì)可以包括“計算機可讀存儲介質(zhì)”和“計算機可讀信號介質(zhì)”。
與僅僅信號傳輸、載波或者信號本身相反,“計算機可讀存儲介質(zhì)”指的是使得能夠永久存儲信息的介質(zhì)和/或設(shè)備和/或有形的存儲裝置。因此,計算機可讀存儲介質(zhì)指的是非信號承載介質(zhì)。計算機可讀存儲介質(zhì)包括以適合于存儲信息(諸如計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊、邏輯元件/電路或者其他數(shù)據(jù))的方法或者技術(shù)實現(xiàn)的硬件,諸如易失性和非易失性、可拆卸和非可拆卸介質(zhì)和/或存儲設(shè)備。計算機可讀存儲介質(zhì)的示例可以包括但不限于ram、rom、eeprom、閃存或者其他存儲器技術(shù)、cd-rom、數(shù)字多功能光盤(dvd)或者其他光學(xué)存儲裝置、硬盤、盒式磁帶、磁帶、磁盤存儲裝置或者其他磁存儲設(shè)備、或者其他適合于存儲期望的信息并且可以被計算機訪問的存儲設(shè)備、有形介質(zhì)或者制品。
“計算機可讀信號介質(zhì)”指的是被配置為諸如經(jīng)由網(wǎng)絡(luò)向計算設(shè)備1002的硬件傳輸指令的信號承載介質(zhì)。信號介質(zhì)通??梢詫⒂嬎銠C可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或者其他數(shù)據(jù)具體化在諸如載波、數(shù)據(jù)信號或者其他傳輸機制之類的經(jīng)調(diào)制的數(shù)據(jù)信號中。信號介質(zhì)還包括任何信息遞送介質(zhì)。術(shù)語“經(jīng)調(diào)制的數(shù)據(jù)信號”意指使其特性中的一個或多個以在信號中編碼信息這樣的方式來設(shè)置或改變的信號。作為示例而非限制,通信介質(zhì)包括有線介質(zhì)和無線介質(zhì),有線介質(zhì)諸如是有線網(wǎng)絡(luò)或者直接連線的連接,而無線介質(zhì)諸如是聲學(xué)、rf、紅外和其他無線介質(zhì)。
如之前描述的,硬件元件1010和計算機可讀介質(zhì)1006代表可以在一些實施例中被采用來實現(xiàn)本文中描述的技術(shù)的至少一些方面的、以硬件形式實現(xiàn)的指令、模塊、可編程設(shè)備邏輯和/或固定設(shè)備邏輯。硬件元件可以包括以下組件:集成電路或者片上系統(tǒng)、專用集成電路(asic)、現(xiàn)場可編程門陣列(fpga)、復(fù)雜可編程邏輯器件(cpld)以及在硅或者其他硬件設(shè)備中的其他實現(xiàn)。在這個上下文中,硬件元件可以作為處理設(shè)備來運行,該處理設(shè)備執(zhí)行由指令、模塊和/或邏輯定義的程序任務(wù),該指令、模塊和/或邏輯由該硬件元件以及被使用來存儲指令以供執(zhí)行的硬件設(shè)備(例如之前描述的計算機可讀存儲介質(zhì))來具體化。
前述項的組合也可以被采用來實現(xiàn)本文中描述的各種技術(shù)和模塊。相應(yīng)地,軟件、硬件或者程序模塊和其他程序模塊可以被實現(xiàn)為在某種形式的計算機可讀存儲介質(zhì)上具體化的和/或通過一個或多個硬件元件1010具體化的一個或多個指令和/或邏輯。計算設(shè)備1002可以被配置為實現(xiàn)與軟件和/或硬件模塊相對應(yīng)的特定指令和/或功能。相應(yīng)地,將模塊實現(xiàn)為可由計算設(shè)備1002作為軟件來執(zhí)行的模塊是可以至少部分地用硬件——例如通過使用處理系統(tǒng)的計算機可讀存儲介質(zhì)和/或硬件元件1010——來達(dá)成的。指令和/或功能可以是可被一個或多個制品(例如,一個或多個計算設(shè)備1002和/或處理系統(tǒng)1004)執(zhí)行/操作來實現(xiàn)本文中描述的技術(shù)、模塊和示例的。
如在圖10中進(jìn)一步圖示的,示例系統(tǒng)1000使得當(dāng)在個人計算機(pc)、電視設(shè)備和/或移動設(shè)備上運行應(yīng)用時能夠?qū)崿F(xiàn)用于無縫用戶體驗的普適環(huán)境。當(dāng)在使用應(yīng)用、玩視頻游戲、觀看視頻等時從一個設(shè)備轉(zhuǎn)換到下一個設(shè)備的情況下,服務(wù)和應(yīng)用在所有三個環(huán)境中基本類似地運行以有利于共同的用戶體驗。
在示例系統(tǒng)1000中,通過中央計算設(shè)備將多個設(shè)備互連。中央計算設(shè)備可以對于該多個設(shè)備來說是本地的,或者可以被定位為遠(yuǎn)離該多個設(shè)備。在一個或者多個實施例中,中央計算設(shè)備可以是通過網(wǎng)絡(luò)、互聯(lián)網(wǎng)或者其他數(shù)據(jù)通信鏈路連接到該多個設(shè)備的一個或多個服務(wù)器計算機的云。
在一個或多個實施例中,這種互連架構(gòu)使得功能性能夠跨多個設(shè)備被遞送,以向多個設(shè)備的用戶提供共同和無縫的體驗。多個設(shè)備中的每個設(shè)備可以具有不同的物理要求和能力,并且中央計算設(shè)備使用平臺來使得能夠向設(shè)備遞送既是針對該設(shè)備定制又是對于全部設(shè)備共同的體驗。在一個或者多個實施例中,創(chuàng)建目標(biāo)設(shè)備的類,并且為通用類的設(shè)備定制體驗。設(shè)備的類可以按照設(shè)備的物理特征、用途類型或者其他共同特性來定義。
在各種實現(xiàn)中,計算設(shè)備1002可以諸如針對計算機1016、移動裝置1018和電視機1020用途而采取各種各樣的不同配置。這些配置中的每種配置包括可具有大體上不同的構(gòu)造和能力的設(shè)備,并且因此可以按照不同設(shè)備類中的一個或多個類來對計算設(shè)備1002進(jìn)行配置。例如,計算設(shè)備1002可以被實現(xiàn)為計算機1016類的設(shè)備,包括個人計算機、臺式計算機、多屏幕計算機、膝上型計算機、上網(wǎng)本等。
計算設(shè)備1002還可以被實現(xiàn)為移動裝置1018類的設(shè)備,包括諸如移動電話、便攜式音樂播放器、便攜式游戲設(shè)備、平板計算機、多屏幕計算機等之類的移動設(shè)備。計算設(shè)備1002還可以被實現(xiàn)為電視機1020類的設(shè)備,包括在休閑觀看環(huán)境中的具有或者連接到通常較大屏幕的設(shè)備。這些設(shè)備包括電視機、機頂盒、游戲控制臺等。
本文中描述的技術(shù)可以被計算設(shè)備1002的這各種配置支持,并且不限于本文中描述的技術(shù)的具體示例。此功能性也可以通過使用分布式系統(tǒng),諸如經(jīng)由如下所述的平臺1024通過云1022,來全部或部分地實現(xiàn)。
云1022包括和/或代表用于資源1026的平臺1024。平臺1024對云1022的硬件(例如,服務(wù)器)和軟件資源的底層功能性進(jìn)行抽象。資源1026可以包括當(dāng)在遠(yuǎn)離計算設(shè)備1002的服務(wù)器上執(zhí)行計算機處理時可以被使用的應(yīng)用和/或數(shù)據(jù)。資源1026還可以包括通過互聯(lián)網(wǎng)和/或通過訂戶網(wǎng)絡(luò)(諸如蜂窩或者wi-fi網(wǎng)絡(luò))提供的服務(wù)。
平臺1024可以對用于將計算設(shè)備1002與其他計算設(shè)備連接的資源和功能進(jìn)行抽象。平臺1024還可以用來對資源的約略估計(scaling)進(jìn)行抽象,以便向遇到的對于經(jīng)由平臺1024實現(xiàn)的資源1026的需求提供對應(yīng)的規(guī)模水平。因此,在互連設(shè)備實施例中,本文中描述的功能性的實現(xiàn)可以被分布在系統(tǒng)1000的各處。例如,該功能性可以部分地在計算設(shè)備1002上、以及經(jīng)由對云1022的功能性進(jìn)行抽象的平臺1024來實現(xiàn)。
在本文的討論中,描述了各種不同的實施例。要領(lǐng)會和理解的是,本文描述的每個實施例可以獨自地使用,或者結(jié)合本文描述的一個或者多個其他實施例使用。本文討論的任何設(shè)備、方法等可以與本文討論的任何其他設(shè)備、方法等相結(jié)合地使用。本文討論的技術(shù)的更多方面涉及以下實施例中的一個或者多個。
在第一計算設(shè)備中實現(xiàn)的方法,所述方法包括:從第二計算設(shè)備接收基于密鑰而保護的內(nèi)容,所述內(nèi)容已被加密,并且所述密鑰與正通過管理政策管理的第三計算設(shè)備相關(guān)聯(lián);以及確定第一計算設(shè)備是否正通過該管理政策管理,其中:響應(yīng)于確定第一計算設(shè)備正通過該管理政策管理,所述方法還包括將所述密鑰與第一計算設(shè)備相關(guān)聯(lián);并且響應(yīng)于確定第一計算設(shè)備未通過該管理政策管理,所述方法還包括維護所述密鑰與第三計算設(shè)備的關(guān)聯(lián)。
可替換地或者附加于以上描述的方法,有以下任何一項或者組合:所述接收包括經(jīng)由云存儲裝置從第二計算設(shè)備接收受保護的內(nèi)容;第一計算設(shè)備、第二計算設(shè)備和第三計算設(shè)備是三個單獨的計算設(shè)備;所述密鑰包括文件加密密鑰,并且所述內(nèi)容已經(jīng)被使用該文件加密密鑰進(jìn)行加密;所述密鑰包括數(shù)據(jù)保護公鑰/私鑰對中的數(shù)據(jù)保護私鑰,所述內(nèi)容已經(jīng)被使用文件加密密鑰進(jìn)行加密,并且所述文件加密密鑰已經(jīng)被使用所述數(shù)據(jù)保護公鑰/私鑰對中的數(shù)據(jù)保護公鑰進(jìn)行加密;所述方法還包括:接收指示用來刪除與第三計算設(shè)備相關(guān)聯(lián)的密鑰的命令的擦除命令,以及在第一計算設(shè)備處并且是響應(yīng)于第一計算設(shè)備未通過管理政策管理,而刪除與第三計算設(shè)備相關(guān)聯(lián)的密鑰;所述方法還包括:接收指示用來刪除與第三計算設(shè)備相關(guān)聯(lián)的密鑰的命令的擦除命令,以及在所述第一計算設(shè)備處并且是響應(yīng)于第一計算設(shè)備未通過管理政策管理和所述密鑰在第一計算設(shè)備處與多個計算設(shè)備相關(guān)聯(lián),而刪除第三計算設(shè)備與所述密鑰的關(guān)聯(lián)的指示,但不從第一計算設(shè)備處刪除所述密鑰。
第一計算設(shè)備包括:內(nèi)容同步程序,其被配置成從第二計算設(shè)備接收基于密鑰而保護的內(nèi)容,所述內(nèi)容已經(jīng)被加密,并且所述密鑰與正通過管理政策管理的第三計算設(shè)備相關(guān)聯(lián);以及密鑰管理模塊,其被配置成確定第一計算設(shè)備是否正通過管理政策管理,其中:響應(yīng)于確定第一計算設(shè)備正通過管理政策管理,密鑰管理模塊被進(jìn)一步配置成將所述密鑰與第一計算設(shè)備相關(guān)聯(lián);并且響應(yīng)于確定第一計算設(shè)備未通過管理政策管理,密鑰管理模塊被進(jìn)一步配置成在沒有將所述密鑰與第一計算設(shè)備相關(guān)聯(lián)的情況下保持所述密鑰與第三計算設(shè)備的關(guān)聯(lián)。
可替換地或者附加于以上描述的計算設(shè)備,有以下任何一項或者組合:內(nèi)容同步程序被進(jìn)一步配置成經(jīng)由云服務(wù)從第二計算設(shè)備接收受保護的內(nèi)容;第一計算設(shè)備、第二計算設(shè)備和第三計算設(shè)備是三個單獨的計算設(shè)備;所述密鑰包括文件加密密鑰,并且所述內(nèi)容已經(jīng)被使用該文件加密密鑰進(jìn)行加密;所述密鑰包括數(shù)據(jù)保護公鑰/私鑰對中的數(shù)據(jù)保護私鑰,所述內(nèi)容已經(jīng)被使用文件加密密鑰進(jìn)行加密,并且所述文件加密密鑰已經(jīng)被使用所述數(shù)據(jù)保護公鑰/私鑰對中的數(shù)據(jù)保護公鑰進(jìn)行加密;所述密鑰管理模塊被進(jìn)一步配置為:接收指示用來刪除與第三計算設(shè)備相關(guān)聯(lián)的密鑰的命令的擦除命令,響應(yīng)于第一計算設(shè)備未通過管理政策管理,而確定所述密鑰是否在所述第一計算設(shè)備上與多個計算設(shè)備相關(guān)聯(lián),在第一計算設(shè)備處并且是響應(yīng)于第一計算設(shè)備未通過管理政策管理和所述密鑰僅與第三計算設(shè)備相關(guān)聯(lián),而刪除與第三計算設(shè)備相關(guān)聯(lián)的所述密鑰,以及在第一計算設(shè)備處并且是響應(yīng)于第一計算設(shè)備未通過管理政策管理和所述密鑰與多個計算設(shè)備相關(guān)聯(lián),而刪除第三計算設(shè)備的標(biāo)識符,但是使所述密鑰保持為與所述多個計算設(shè)備中的至少一個另外的計算設(shè)備相關(guān)聯(lián);密鑰管理模塊被進(jìn)一步配置成從第二計算設(shè)備接收擦除命令。
在第一計算設(shè)備中實現(xiàn)的方法,所述方法包括:在第一計算設(shè)備處獲取內(nèi)容,所述第一計算設(shè)備通過管理政策管理;保護所述內(nèi)容,使得該內(nèi)容被配置成基于密鑰來取回,所述保護包括對內(nèi)容進(jìn)行加密;將所述密鑰與第一計算設(shè)備的標(biāo)識符相關(guān)聯(lián);將加密的內(nèi)容和密鑰漫游到第二計算設(shè)備,第二計算設(shè)備是未通過管理政策管理的非被管設(shè)備;以及隨后響應(yīng)于接收到管理方啟動的擦除命令,向第二計算設(shè)備傳送向第二計算設(shè)備指示刪除所述密鑰的擦除命令。
可替換地或者附加于以上描述的方法中的任何一種或多種,有以下任何一項或者組合:所述密鑰包括文件加密密鑰,以及所述保護包括用該文件加密密鑰對內(nèi)容進(jìn)行加密;所述密鑰包括數(shù)據(jù)保護公鑰/私鑰對中的數(shù)據(jù)保護私鑰,所述保護包括用文件加密密鑰對內(nèi)容進(jìn)行加密,并且用所述數(shù)據(jù)保護公鑰/私鑰對中的數(shù)據(jù)保護公鑰對該文件加密密鑰進(jìn)行加密;所述方法還包括:從正通過管理政策管理的第三計算設(shè)備接收基于與第三計算設(shè)備相關(guān)聯(lián)的密鑰而保護的內(nèi)容,所述內(nèi)容已被加密,響應(yīng)于確定第一計算設(shè)備正通過管理政策管理,該方法還包括將所述密鑰與第三計算設(shè)備以及與第一計算設(shè)備相關(guān)聯(lián),并且響應(yīng)于確定第一計算設(shè)備未通過管理政策管理,該方法還包括在沒有將所述密鑰與第一計算設(shè)備相關(guān)聯(lián)的情況下保持所述密鑰與第三計算設(shè)備的關(guān)聯(lián);所述漫游包括經(jīng)由云服務(wù)或?qū)Φ韧ㄐ艑⒃摷用艿膬?nèi)容和密鑰漫游到第二計算設(shè)備;所述傳送包括經(jīng)由云服務(wù)將擦除命令傳送到第二計算設(shè)備。
雖然本主題以特定于結(jié)構(gòu)特征和/或方法動作的語言被描述,但是要理解,在所附權(quán)利要求中限定的本主題不是必然地限于以上描述的特定特征或者動作。而是,以上描述的特定特征和動作是作為實現(xiàn)權(quán)利要求的示例形式被公開的。