移動設(shè)備上的內(nèi)容項加密的制作方法
【專利摘要】應(yīng)用以經(jīng)加密的形式被存儲在移動設(shè)備的可移除存儲裝置上,以提供隔離和非法復(fù)制保護。在一個實施方案中,每個應(yīng)用使用其自身的關(guān)聯(lián)的加密密鑰進行加密,其中,基于所述應(yīng)用的標(biāo)識符和與所述移動設(shè)備的受信任平臺模塊相關(guān)聯(lián)的主密鑰生成所述加密密鑰。在另一個實施方案中,每個應(yīng)用使用兩個關(guān)聯(lián)的加密密鑰進行加密。一個密鑰用于對與所述應(yīng)用相關(guān)聯(lián)的二進制數(shù)據(jù)(諸如是源代碼)進行加密,以及另一個密鑰用于對諸如是圖形和配置文件之類的應(yīng)用數(shù)據(jù)進行加密。所述加密密鑰每個都使用所述應(yīng)用的所述標(biāo)識符、所述主密鑰和對應(yīng)的數(shù)據(jù)類型在所述移動設(shè)備上被存儲在其處的文件夾的標(biāo)識符被生成。所述可移除存儲裝置包括被使用FAT或者exFAT文件系統(tǒng)進行格式化的SD卡。
【專利說明】
移動設(shè)備上的內(nèi)容項加密
【背景技術(shù)】
[0001]諸如是電話和平板電腦之類的移動設(shè)備正變成用戶對計算設(shè)備的選擇。通常,這些移動設(shè)備存儲諸如是音樂、電影和應(yīng)用之類的多種內(nèi)容項。用戶能夠從線上商店或者市場直接向他們的移動設(shè)備購買和下載內(nèi)容項。因此,移動設(shè)備日益需要越來越大量的存儲裝置來容納大量的可用的內(nèi)容項。
[0002]作為對移動設(shè)備的漸增的存儲裝置需求的解決方案,移動設(shè)備的某些廠商已將可移除存儲裝置能力包括進他們的移動設(shè)備中。這些可移除存儲裝置能力包括從安全數(shù)字卡進行讀和寫的能力。然而,對于內(nèi)容項的創(chuàng)建者來說,允許用戶將他們的內(nèi)容項存儲在可移除存儲裝置上產(chǎn)生幾個缺點。
[0003]—個這樣的缺點是與其他用戶共享內(nèi)容項的能力。因為安全數(shù)字卡是可從移動設(shè)備移除的,并且是可被多數(shù)個人計算機讀的,所以用戶可以下載諸如是應(yīng)用之類的內(nèi)容項, 并且可以通過將安全數(shù)字卡的內(nèi)容復(fù)制到他們的個人計算機上與他們的朋友共享應(yīng)用。在另一個示例中,用戶可以對應(yīng)用的源代碼做出某些不重要的變更,并且可以嘗試將經(jīng)修改的應(yīng)用作為他們自身的創(chuàng)建進行出售或者分發(fā)。這樣的出售或者分發(fā)可能侵犯內(nèi)容項的創(chuàng)建者的知識產(chǎn)權(quán)。
[0004]可移除存儲裝置的另一個缺點是應(yīng)用隔離。通常,移動設(shè)備使用由在移動設(shè)備的非可移除或者內(nèi)部存儲裝置上被移動設(shè)備使用的文件系統(tǒng)提供的功能彼此隔離地執(zhí)行應(yīng)用。安全數(shù)字卡通常使用諸如是當(dāng)前缺少被移動設(shè)備使用的文件系統(tǒng)的隔離功能的文件分配表(“FAT”)和擴展文件分配表(“exFAT”)文件系統(tǒng)之類的文件系統(tǒng)。因此,惡意用戶可以使用被存儲在可移除存儲裝置上的應(yīng)用來干擾被存儲在可移除存儲裝置上的另一個應(yīng)用或者內(nèi)容項的操作。
【發(fā)明內(nèi)容】
[0005]應(yīng)用被以經(jīng)加密的形式存儲在移動設(shè)備的可移除存儲裝置上。在一個實施方案中,每個應(yīng)用被使用其自身的關(guān)聯(lián)的加密密鑰進行加密,其中,基于所述應(yīng)用的標(biāo)識符和與所述移動設(shè)備的受信任平臺模塊相關(guān)聯(lián)的主密鑰生成所述加密密鑰。在另一個實施方案中,每個應(yīng)用使用兩個關(guān)聯(lián)的加密密鑰進行加密。一個密鑰用于對與所述應(yīng)用相關(guān)聯(lián)的二進制數(shù)據(jù)(諸如是源代碼)進行加密,以及另一個密鑰用于對諸如是圖形和配置文件之類的應(yīng)用數(shù)據(jù)進行加密。所述加密密鑰每個都使用所述應(yīng)用的標(biāo)識符、所述主密鑰和對應(yīng)的數(shù)據(jù)類型在所述移動設(shè)備上被存儲在其處的文件夾的標(biāo)識符被生成。所述可移除存儲裝置包括使用FAT或者exFAT文件系統(tǒng)進行格式化的安全數(shù)字卡。
[0006]在一個實施方案中,由移動設(shè)備接收對于讀取與內(nèi)容項相關(guān)聯(lián)的數(shù)據(jù)的請求。所述數(shù)據(jù)被加密,并且被存儲在與所述移動設(shè)備相關(guān)聯(lián)的可移除存儲裝置中。由所述移動設(shè)備確定對于讀取所述數(shù)據(jù)的所述請求被授權(quán)。響應(yīng)于確定對于讀取所述數(shù)據(jù)的所述請求被授權(quán),由所述移動設(shè)備確定與所述內(nèi)容項相關(guān)聯(lián)的密鑰。由所述移動設(shè)備使用所述密鑰對與所述內(nèi)容項相關(guān)聯(lián)的數(shù)據(jù)進行解密。由所述移動設(shè)備提供所述經(jīng)解密的數(shù)據(jù)。
[0007]在一個實施方案中,由移動設(shè)備接收對于向可移除存儲裝置的區(qū)域?qū)懭霐?shù)據(jù)的請求??梢瞥鎯ρb置的所述區(qū)域是與內(nèi)容項相關(guān)聯(lián)的。由所述移動設(shè)備確定對于寫入所述數(shù)據(jù)的所述請求被授權(quán)。響應(yīng)于確定對于寫入所述數(shù)據(jù)的所述請求被授權(quán),由所述移動設(shè)備確定與所述內(nèi)容項相關(guān)聯(lián)的密鑰。由所述移動設(shè)備使用所述密鑰對所述數(shù)據(jù)進行加密。 由所述移動設(shè)備將所述經(jīng)加密的數(shù)據(jù)存儲在與所述內(nèi)容項相關(guān)聯(lián)的可移除存儲裝置的所述區(qū)域中。
[0008]在一個實施方案中,在移動設(shè)備處接收對將應(yīng)用安裝在可移除存儲裝置中的請求。響應(yīng)于所述請求,由所述移動設(shè)備在所述可移除存儲裝置中創(chuàng)建與所述應(yīng)用相關(guān)聯(lián)的第一文件夾和第二文件夾。由所述移動設(shè)備使用主密鑰、所述應(yīng)用的標(biāo)識符和所述第一文件夾的標(biāo)識符生成第一密鑰。使用所述主密鑰、所述應(yīng)用的所述標(biāo)識符和所述第二文件夾的標(biāo)識符生成第二密鑰。使用所述第一密鑰對與所述應(yīng)用相關(guān)聯(lián)的數(shù)據(jù)的第一部分進行加密。使用所述第二密鑰對與所述應(yīng)用相關(guān)聯(lián)的數(shù)據(jù)的第二部分進行加密。將所述經(jīng)加密的第一部分存儲在所述第一文件夾中。將所述經(jīng)加密的第二部分存儲在所述第二文件夾中。 對于每個文件夾使用不同的密鑰可以防止應(yīng)用能夠讀取由外部計算設(shè)備從一個文件夾復(fù)制到另一個文件夾的文件。
[0009]提供本摘要以便以簡化形式介紹下面在詳細描述中進一步描述的概念的選擇。本摘要不旨在標(biāo)識所要求保護的主題的關(guān)鍵特征或者實質(zhì)特征,其也不旨在用于限制所要求保護的主題的范圍。【附圖說明】
[0010]當(dāng)結(jié)合附圖閱讀時,前述摘要以及下面對圖示性實施例的詳細描述被更好地理解。出于圖示出實施例的目的,附圖中示出了實施例的示例構(gòu)造;然而,實施例不限于所公開的具體方法和手段。在附圖中:圖1是用于在移動設(shè)備上存儲內(nèi)容項的不例環(huán)境的圖不;圖2是移動設(shè)備的實施方案的圖示;圖3是移動設(shè)備的實施方案的另一個圖示;圖4是移動設(shè)備的實施方案的另一個圖示;圖5是用于履行對執(zhí)行讀操作的請求的示例性方法的實施方案的圖示;圖6是用于履行對執(zhí)行寫操作的請求的示例性方法的實施方案的圖示;圖7是用于在可移除存儲裝置上安裝應(yīng)用的示例性方法的實施方案的圖示;以及圖8是示例實施例和方面可以在其中被實施的示例性計算環(huán)境的圖示?!揪唧w實施方式】
[0011]圖1是用于在移動設(shè)備上存儲內(nèi)容項的示例環(huán)境100的圖示。如所圖示的,環(huán)境100 包括通過網(wǎng)絡(luò)120與彼此通信的移動設(shè)備115和內(nèi)容項服務(wù)器150。環(huán)境100可以進一步包括用于安全和可靠地備份和恢復(fù)來自移動設(shè)備115的內(nèi)容的云存儲裝置160。網(wǎng)絡(luò)120可以是包括公共交換電話網(wǎng)(PSTN)、蜂窩電話網(wǎng)和分組交換網(wǎng)(例如,互聯(lián)網(wǎng)或者云網(wǎng)絡(luò))的多種網(wǎng)絡(luò)類型??梢岳缡褂弥T如是關(guān)于圖8描述的計算設(shè)備800之類的一個或多個通用計算設(shè)備實施移動設(shè)備115和內(nèi)容項服務(wù)器150。此外,盡管在圖1中不出了一個移動設(shè)備115和一個內(nèi)容項服務(wù)器150,但其僅是出于圖示性目的;對可以被支持的移動設(shè)備和/或內(nèi)容項服務(wù)器的數(shù)量不存在任何限制。
[0012]用戶可以使用移動設(shè)備115來從內(nèi)容項服務(wù)器150選擇和下載一個或多個內(nèi)容項 155。內(nèi)容項155可以包括多種媒體文件,所述多種媒體文件包括但不限于視頻文件、音樂文件和圖像文件。另外,內(nèi)容項155可以包括應(yīng)用。內(nèi)容項服務(wù)器150可以包括用戶可以通過其選擇要下載的內(nèi)容項155的線上市場或者網(wǎng)頁。移動設(shè)備115可以是諸如是蜂窩電話、平板型計算機或者任何其他類型的計算設(shè)備之類的計算設(shè)備。
[0013]如所圖示的,移動設(shè)備115可以包括可移除存儲裝置116和非可移除存儲裝置117 兩者。非可移除存儲裝置117可以是在移動設(shè)備115內(nèi)部的存儲裝置和/或不能從移動設(shè)備 115被輕松移除的存儲裝置。例如,存儲裝置如果其不能在不損壞移動設(shè)備115、拆卸或者部分上拆卸移動設(shè)備115、或者不使用諸如是螺絲刀之類的工具的情況下被移除則可以被看作非可移除的。非可移除存儲裝置117通常被完全放置在移動設(shè)備115的外殼內(nèi),并且可以使用不被用戶輕松斷開的連接裝置直接連接到電路板或者處理器。非可移除存儲裝置117 的示例包括閃存??梢允褂闷渌愋偷拇鎯ρb置。
[0014]相反,可移除存儲裝置116可以是能夠被輕松移除或者添加到移動設(shè)備115的存儲裝置。例如,諸如是能夠在不損壞移動設(shè)備115、不拆卸或者部分上拆卸移動設(shè)備115或者不使用工具的情況下被輕松插入移動設(shè)備115的對應(yīng)槽或者接口中和從移動設(shè)備115的對應(yīng)槽或者接口移除的磁盤或者模塊之類的存儲裝置可以被看作可移除存儲裝置116??梢瞥鎯ρb置116的示例包括安全數(shù)字(“SD”)卡??梢允褂闷渌愋偷拇鎯ρb置。[0〇15]如上面描述的,移動設(shè)備115的用戶可以從內(nèi)容項服務(wù)器150下載內(nèi)容項155。諸如是視頻和應(yīng)用之類的某些內(nèi)容項可能占用大量存儲空間。因為非可移除存儲裝置117是非可移除的,在用戶已耗盡非可移除存儲裝置117的可用空間的量之后,該用戶不可以在不首先從非可移除存儲裝置117刪除內(nèi)容項中的一些內(nèi)容項的情況下下載任何附加的內(nèi)容項。 相反,使用可移除存儲裝置116,在用戶已耗盡SD卡的可用空間的量之后,該用戶可以移除滿的SD卡并且插入新SD卡以用于附加的內(nèi)容項155。被下載到滿的SD卡的內(nèi)容項155可以在稍后通過用該滿的SD卡替換該新的SD卡而被訪問。
[0016]盡管可移除存儲裝置116可以向用戶提供幾乎無限的存儲空間,但因為可移除存儲裝置116通??梢员粋€人計算機讀取,所以由內(nèi)容項服務(wù)器150出售或者提供的內(nèi)容項 155的生產(chǎn)者或者擁有者可以制作內(nèi)容項155的未經(jīng)授權(quán)的副本,或者可以將內(nèi)容項115作為他們自身的進行重新分發(fā)。例如,SD卡通常使用諸如是文件分配表(“FAT”)和擴展文件分配表(“exFAT”)之類的流行文件系統(tǒng),使得它們可被多數(shù)個人計算機輕松讀取。
[0017]相應(yīng)地,在某些實施方案中,在將所下載的內(nèi)容項155存儲在可移除存儲裝置116 上之前,移動設(shè)備115可以首先使用對該移動設(shè)備115來說唯一的主密鑰對內(nèi)容項115進行加密。主密鑰可以被存儲在非可移除存儲裝置117中。經(jīng)加密的內(nèi)容項155可以然后被存儲在可移除存儲裝置116中。當(dāng)移動設(shè)備115的用戶稍后使用移動設(shè)備115訪問可移除存儲裝置116的經(jīng)加密的內(nèi)容項155時,密鑰被從非可移除存儲裝置117檢索,并且被用于對經(jīng)加密的內(nèi)容項155進行解密。如果移動設(shè)備115的用戶嘗試使用他們的個人計算機訪問被存儲在可移除存儲裝置116上的經(jīng)加密的內(nèi)容項155,則他們將不能在沒有主密鑰的情況下對經(jīng)加密的內(nèi)容項155中的任何經(jīng)加密的內(nèi)容項進行解密。例如關(guān)于圖2進一步描述了這樣的實施方案。
[0018]盡管如上面描述那樣使用單個密鑰對所存儲的內(nèi)容項155進行加密可以提供某種級別的非法復(fù)制保護,但其不針對在其中用戶使用被存儲在可移除存儲裝置上的惡意應(yīng)用來提供對經(jīng)加密的內(nèi)容項的訪問的場景也進行保護。例如,被存儲在可移除存儲裝置116上的惡意應(yīng)用為訪問其自身的所存儲的應(yīng)用數(shù)據(jù),將能訪問被用于對內(nèi)容項155進行加密的主密鑰。惡意應(yīng)用可以然后潛在地對所存儲的內(nèi)容項155中的任何內(nèi)容項進行解密,并且將它們提供給第三方。另外,這樣的解決方案不提供應(yīng)用之間的隔離,因為每個應(yīng)用可以使用公共的主密鑰訪問與被存儲在可移除存儲裝置116上的應(yīng)用或者內(nèi)容項155中的任一個應(yīng)用或者內(nèi)容項相關(guān)聯(lián)的數(shù)據(jù)。
[0019]相應(yīng)地,在某些實施方案中,并非使用單個主密鑰來對被存儲在可移除存儲裝置 116上的內(nèi)容項155中的全部內(nèi)容項進行加密,而是每個內(nèi)容項155可以被使用其自身的密鑰進行加密和存儲??梢杂梢苿釉O(shè)備115使用與內(nèi)容項155相關(guān)聯(lián)的標(biāo)識符和主密鑰確定用于對內(nèi)容項155進行加密的密鑰。
[0020]在這樣的實施方案中,當(dāng)移動設(shè)備115的用戶稍后使用移動設(shè)備115訪問可移除存儲裝置116的經(jīng)加密的內(nèi)容項155時,與經(jīng)加密的內(nèi)容項155相對應(yīng)的密鑰被用于對經(jīng)加密的內(nèi)容項155進行解密。取決于特定的實施方案,對應(yīng)的密鑰可以被存儲在非可移除存儲裝置117中,或者可以不被存儲并且作為代替可以由移動設(shè)備115根據(jù)需要從主密鑰和與特定內(nèi)容項155相關(guān)聯(lián)的標(biāo)識符確定。例如關(guān)于圖3進一步描述了這樣的實施方案。[〇〇21]盡管使用多個內(nèi)容項專用的密鑰可以提供應(yīng)用之間的隔離,但其不可以提供為諸如是應(yīng)用之類的內(nèi)容項155提供完整的非法復(fù)制保護。例如,通常應(yīng)用使用多個文件夾進行安裝,所述多個文件夾諸如是包括控制應(yīng)用的執(zhí)行的源代碼數(shù)據(jù)的二進制文件夾和包括在執(zhí)行期間被應(yīng)用使用的數(shù)據(jù)(諸如是圖形和配置文件)的數(shù)據(jù)文件夾。在這樣的場景中,惡意用戶可以移動來自二進制文件夾的應(yīng)用的源代碼數(shù)據(jù)以覆寫在可移除存儲裝置116上的數(shù)據(jù)文件夾中的已知數(shù)據(jù)文件??梢匀缓笫褂脕碜詳?shù)據(jù)文件夾的應(yīng)用訪問未經(jīng)加密的源代碼數(shù)據(jù),并且使未經(jīng)加密的源代碼數(shù)據(jù)對于其他用戶是可用的。[〇〇22]相應(yīng)地,為在其中內(nèi)容項155是應(yīng)用的情況下提供附加的保護,可以在與內(nèi)容項相關(guān)聯(lián)的每個文件夾或者目錄被使用其自身的密鑰進行加密的情況下存儲內(nèi)容項155??梢杂梢苿釉O(shè)備115使用與內(nèi)容項相關(guān)聯(lián)的標(biāo)識符、與文件夾相關(guān)聯(lián)的標(biāo)識符和主密鑰確定被用于文件夾的密鑰。例如關(guān)于圖4進一步描述了這樣的實施方案。
[0023]圖2是移動設(shè)備115的實施方案的圖不。如所不的,移動設(shè)備115包括多種構(gòu)件,所述多種構(gòu)件包括但不限于文件管理器205、安全性管理器210、可移除存儲裝置116、非可移除存儲裝置117和受信任平臺模塊220。更多或者更少的構(gòu)件可以被移動設(shè)備115支持。移動設(shè)備115可以是蜂窩電話、膝上型計算機、平板型計算機、個人媒體播放器或者便攜式視頻游戲系統(tǒng)??梢允褂闷渌愋偷挠嬎銠C。
[0024]在一個實施方案中,受信任平臺模塊220可以包括在許多計算系統(tǒng)中被找到的已知的安全協(xié)處理器。受信任平臺模塊220可以向移動設(shè)備115提供一個或多個密碼服務(wù),所述密碼服務(wù)包括但不限于提供主密鑰221。主密鑰221可以是對于受信任平臺模塊220和/或移動設(shè)備115來說唯一的。主密鑰221可以由受信任平臺模塊220存儲在非可移除存儲裝置 117中。用于存儲主密鑰221的非可移除存儲裝置117中的位置可以是對于執(zhí)行在移動設(shè)備115上的許多應(yīng)用或者進程來說不可用的。此外,所述位置可以是如果移動設(shè)備115被拆除并且非可移除存儲裝置117被從移動設(shè)備115強制移除的話對于惡意用戶來說難以定位的。
[0025]取決于實施方案,主密鑰221可以被受信任平臺模塊220封裝。當(dāng)主密鑰221被受信任平臺模塊220封裝時,其被加密,并且僅可以被受信任平臺模塊220解密。通過以經(jīng)封裝的形式存儲主密鑰221,即使主密鑰221被惡意用戶恢復(fù),其也將是采用經(jīng)封裝的形式而不可用的。[〇〇26] 在某些實施方案中,主密鑰221可以是128位高級加密標(biāo)準(zhǔn)(“AES”)密鑰。AES是對稱密鑰加密算法,這在于,相同的密鑰可以被用于加密和解密兩者??梢允褂弥T如是非對稱加密算法之類的其他類型的加密算法。另外,可以使用大于(或者小于)128位的密鑰。[〇〇27]文件管理器205可以接收文件操作201。文件操作201可以包括對在非可移除存儲裝置117或者可移除存儲裝置116上讀、寫、重命名或者創(chuàng)建一個或多個文件的請求。文件操作201可以由執(zhí)行在移動設(shè)備115上的一個或多個應(yīng)用或者由移動設(shè)備115的操作系統(tǒng)產(chǎn)生。[〇〇28]當(dāng)文件管理器205接收文件操作201時,文件管理器205可以對文件操作201應(yīng)用一個或多個過濾器215以確定如何繼續(xù)進行。過濾器215可以每個都包括被相對于文件操作 201進行匹配的一個或多個特性和將關(guān)于與特性相匹配的文件操作201采取的一個或多個行動。例如,過濾器215中的一個過濾器可以與被定向到可移除存儲裝置116的文件操作201 相匹配,以及過濾器215中的另一個過濾器可以與被定向到非可移除存儲裝置117的文件操作201相匹配??梢允褂闷渌愋偷倪^濾器215。[〇〇29]當(dāng)文件操作201與相關(guān)聯(lián)于可移除存儲裝置116的過濾器相匹配時,被文件管理器 205采取的行動可以取決于文件操作201的類型。在其中文件操作包括對創(chuàng)建或者存儲新內(nèi)容項155(諸如是應(yīng)用)的請求時,文件管理器205可以從安全性管理器210請求安全性描述符。取決于實施方案,安全性描述符可以指定應(yīng)用可以訪問的移動設(shè)備115的資源或者文件 (例如,照相機、GPS、用戶聯(lián)系人等)以及應(yīng)用可以被存儲的可移除存儲裝置116的位置或者區(qū)域。安全性描述符可以指定內(nèi)容項155是否將以經(jīng)加密的形式被存儲在可移除存儲裝置 116上以及將用于對內(nèi)容項155進行加密的密鑰(例如,主密鑰221)。
[0030]對于某些內(nèi)容項155,以經(jīng)加密的形式存儲它們可能不是必要的。例如,內(nèi)容項155 可以是由移動設(shè)備115的用戶創(chuàng)建的照片,或者在內(nèi)容項155是應(yīng)用的情況下,該應(yīng)用的創(chuàng)建者可能不想要或者要求該應(yīng)用以經(jīng)加密的形式被存儲??梢曰谂c內(nèi)容項155相關(guān)聯(lián)的元數(shù)據(jù)和/或基于移動設(shè)備115的配置確定內(nèi)容項155是否將被加密。[〇〇31]在某些實施方案中,安全性描述符可以包括內(nèi)容項155的唯一標(biāo)識符。安全性管理器210可以生成所述標(biāo)識符,或者所述標(biāo)識符可以已經(jīng)例如作為元數(shù)據(jù)被與內(nèi)容項155相關(guān)聯(lián)。在內(nèi)容項155是應(yīng)用的情況下,應(yīng)用的標(biāo)識符也可以被稱作腔標(biāo)識符(chamber identifier)。安全性描述符可以由安全性管理器210存儲在例如系統(tǒng)注冊表中的非可移除存儲裝置117中。[〇〇32]文件管理器205可以接收安全性描述符,并且可以基于包括在安全性描述符中的信息確定如何存儲內(nèi)容項155。如果安全性描述符指示內(nèi)容項155將不被加密,則文件管理器205可以允許創(chuàng)建文件操作201將內(nèi)容項155寫到可移除存儲裝置116。在某些實施方案中,內(nèi)容項155可以被寫到基于內(nèi)容項155的標(biāo)識符被命名的可移除存儲裝置的文件夾。另夕卜,文件夾可以被隱藏,或者可以是用于在可移除存儲裝置116上存儲內(nèi)容項155中的一些或全部內(nèi)容項的被隱藏的文件夾的子文件夾。[〇〇33]如果安全性描述符指示內(nèi)容項155將被加密,則文件管理器205可以檢索由安全性描述符指示的主密鑰221,并且可以使用主密鑰221對內(nèi)容項155進行加密。內(nèi)容項155然后可以如上面描述的那樣被存儲在可移除存儲裝置116中??商鎿Q地或者附加地,受信任平臺模塊220可以使用主密鑰221對內(nèi)容項155進行加密,和/或可以允許經(jīng)簽名的主密鑰221被用于對內(nèi)容項155進行加密。內(nèi)容項155可以作為經(jīng)加密的內(nèi)容項數(shù)據(jù)225被存儲在可移除存儲裝置116的區(qū)域中。[〇〇34]在文件操作201是對向可移除存儲裝置116寫入的請求的情況下,文件管理器205 可以請求正在請求向可移除存儲裝置116寫入的應(yīng)用的安全性描述符。如果應(yīng)用不具有許可或者未被授權(quán),則文件管理器205可以拒絕所請求的文件操作201。[〇〇35]如果應(yīng)用被授權(quán),則文件管理器205可以確定內(nèi)容項155是否被加密。如果內(nèi)容項 155未被加密,則文件管理器205可以允許寫操作在與內(nèi)容項155相關(guān)聯(lián)的可移除存儲裝置 116的位置處繼續(xù)進行。否則,文件管理器205可以檢索主密鑰221,并且可以使用所接收的主密鑰促進對將被文件操作201寫入的數(shù)據(jù)進行的加密。在一個實施方案中,文件管理器 205可以使用主密鑰和作為初始化向量緩沖器的與將被寫入的數(shù)據(jù)相關(guān)聯(lián)的邏輯偏移量對文件進行加密。
[0036]在某些實施方案中,寫文件操作201可以是與用戶緩沖器相關(guān)聯(lián)的。用戶緩沖器可以包括將被寫到可移除存儲裝置116的數(shù)據(jù)。并非利用經(jīng)加密的數(shù)據(jù)覆寫用戶緩沖器中的數(shù)據(jù),而是,文件管理器205可以創(chuàng)建用于對數(shù)據(jù)進行加密的陰影緩沖器。例如,文件管理器 205可以將數(shù)據(jù)從用戶緩沖器復(fù)制到陰影緩沖器,并且可以對陰影緩沖器中的數(shù)據(jù)進行加密。陰影緩沖器中的經(jīng)加密的數(shù)據(jù)可以被復(fù)制到與經(jīng)加密的內(nèi)容項數(shù)據(jù)225相關(guān)聯(lián)的可移除存儲裝置116的位置。
[0037]在諸如是FAT和exFAT文件系統(tǒng)之類的文件系統(tǒng)中,數(shù)據(jù)通常被寫到諸如是512字節(jié)之類的滿扇區(qū)中。在將被寫入的數(shù)據(jù)少于滿扇區(qū)的情況下,文件系統(tǒng)可以利用零對扇區(qū)的未被寫的字節(jié)進行寫入。然而,因為文件管理器205以經(jīng)加密的形式向可移除存儲裝置寫入數(shù)據(jù),所以向已被加密的數(shù)據(jù)添加這樣的零可能使所存儲的經(jīng)加密的數(shù)據(jù)不可讀。因此, 在某些實施方案中,在將被文件管理器205寫入的數(shù)據(jù)少于完整扇區(qū)的情況下,文件管理器 205可以通過在對數(shù)據(jù)進行加密之前添加零將數(shù)據(jù)擴充到滿扇區(qū)。經(jīng)加密的數(shù)據(jù)可以被提供給文件系統(tǒng)以被寫入到可移除存儲裝置116的扇區(qū)。[〇〇38]在文件操作201是對從可移除存儲裝置116讀取的請求的情況下,文件管理器205 可以請求正在請求從可移除存儲裝置116讀取的應(yīng)用的安全性描述符。如果應(yīng)用不具有許可或者未被授權(quán),則文件管理器205可以拒絕所請求的文件操作201。[〇〇39]如果應(yīng)用被授權(quán),則文件管理器205可以確定內(nèi)容項155是否被加密。如果內(nèi)容項 155未被加密,則文件管理器205可以允許讀操作在與內(nèi)容項155相關(guān)聯(lián)的可移除存儲裝置 116的區(qū)域或者位置處繼續(xù)進行。否則,文件管理器205可以檢索主密鑰221,并且可以使用所接收的主密鑰促進對將被文件操作201讀取的數(shù)據(jù)進行的解密。
[0040]與在上面針對寫文件操作描述的相似,讀文件操作可以是與緩沖器相關(guān)聯(lián)的。緩沖器可以是空的,并且為接收經(jīng)解密的數(shù)據(jù)準(zhǔn)備就緒。文件管理器205可以將經(jīng)解密的數(shù)據(jù)放置到緩沖器中以完成文件操作201。
[0041]在諸如是FAT和exFAT之類的文件系統(tǒng)中,通常,在執(zhí)行讀操作時,當(dāng)越過文件結(jié)尾或者EOF的數(shù)據(jù)被請求時,文件系統(tǒng)返回零而非超越EOF的所請求的數(shù)據(jù),因為超越EOF的數(shù)據(jù)可能屬于不同的進程或者用戶。然而,因為扇區(qū)里的數(shù)據(jù)被加密,所以超越EOF的數(shù)據(jù)可能是經(jīng)加密的內(nèi)容項數(shù)據(jù)的部分。相應(yīng)地,為促進讀取超過E0F,并且為防止返回零,文件管理器205可以對移動設(shè)備115的內(nèi)核或者操作系統(tǒng)進行配置,以使得當(dāng)超過EOF的數(shù)據(jù)被請求時FAT或者exFAT文件系統(tǒng)不返回零。作為代替,文件系統(tǒng)可以被配置為返回實際數(shù)據(jù)和文件系統(tǒng)將在此處開始寫零的偏移量的指示符??梢岳缤ㄟ^設(shè)置與內(nèi)核相關(guān)聯(lián)的位對文件系統(tǒng)進行配置。
[0042]如上面指出的,在圖2中描述的涉及基于單個主密鑰進行的加密的實施方案可能不能向內(nèi)容項155提供關(guān)于隔離和非法復(fù)制兩者的足夠保護。相應(yīng)地,圖3圖示出了:取代如上面描述的那樣使用相同的主密鑰221對每個內(nèi)容項155進行加密,每個內(nèi)容項155可以被使用其自身的關(guān)聯(lián)的加密密鑰進行加密的移動設(shè)備115的實施方案。因為每個內(nèi)容項155是與其自身的密鑰相關(guān)聯(lián)的,所以諸如是應(yīng)用之類的內(nèi)容項155不能使用主密鑰221或者其自身的密鑰對與被存儲在可移除存儲裝置116上的不同內(nèi)容項155相關(guān)聯(lián)的數(shù)據(jù)進行解密和訪問。因此,改進了內(nèi)容項隔離,并且可以減少內(nèi)容項非法復(fù)制。
[0043]與在上面針對圖2描述的相似,當(dāng)在圖3中接收與相關(guān)聯(lián)于可移除存儲裝置116的過濾器215相匹配的文件操作201時,被文件管理器205采取的行動可以取決于文件操作201 的類型。在文件操作201是對創(chuàng)建或者存儲新內(nèi)容項155(諸如是應(yīng)用)的請求時,文件管理器205可以如上面描述的那樣從安全性管理器210請求安全性描述符。如果安全性描述符指示內(nèi)容項155將被加密,則文件管理器205可以在向文件系統(tǒng)提供內(nèi)容項155以被存儲在可移除存儲裝置116上之前生成用于對內(nèi)容項155進行加密的內(nèi)容項密鑰321。可替換地,安全性管理器210可以促進針對內(nèi)容項155的內(nèi)容項密鑰321的生成。
[0044]與主密鑰221相似,內(nèi)容項密鑰321可以是對稱的128位AES密鑰。然而,與主密鑰 221不同,內(nèi)容項密鑰321可以僅用于對它針對其被生成或者與其相關(guān)聯(lián)的內(nèi)容項155進行加密或者解密。在某些實施方案中,可以使用主密鑰321和諸如是腔標(biāo)識符之類的內(nèi)容項 155的標(biāo)識符生成內(nèi)容項密鑰321。
[0045]例如,可以通過組合內(nèi)容項155的標(biāo)識符的散列和主密鑰221生成內(nèi)容項密鑰321。 可以使用包括SHA-256的多種散列函數(shù)生成所述散列??梢允褂闷渌⒘泻瘮?shù)??梢酝ㄟ^取底部128位作為內(nèi)容項密鑰321從經(jīng)組合的散列和主密鑰221生成內(nèi)容項密鑰321??梢允褂闷渌挠糜谏擅荑€的方法和其他大小的密鑰。
[0046]所生成的內(nèi)容項密鑰321可以用于對內(nèi)容項155進行加密,并且經(jīng)加密的內(nèi)容項數(shù)據(jù)225可以然后被文件管理器205提供給文件系統(tǒng)以便存儲在可移除存儲裝置116中。經(jīng)加密的內(nèi)容項數(shù)據(jù)225可以被存儲在內(nèi)容項文件夾320中。每個內(nèi)容項155可以是與其自身的內(nèi)容項文件夾320相關(guān)聯(lián)的??梢岳缁谥T如是腔標(biāo)識符之類的內(nèi)容項的標(biāo)識符命名被用于存儲與內(nèi)容項155相關(guān)聯(lián)的經(jīng)加密的內(nèi)容項數(shù)據(jù)225的內(nèi)容項文件夾320。
[0047]在某些實施方案中,在內(nèi)容項密鑰321被用于對內(nèi)容項155進行加密之后,可以丟棄內(nèi)容項密鑰321。對于任何隨后的對經(jīng)加密的內(nèi)容項數(shù)據(jù)225進行讀或者寫的嘗試,可以由文件管理器205如上面描述的那樣基于主密鑰221和內(nèi)容項155的標(biāo)識符重新生成內(nèi)容項密鑰321。
[0048]可替換地,在某些實施方案中,并非在將經(jīng)加密的內(nèi)容項225存儲在內(nèi)容項文件夾 320中之后丟棄內(nèi)容項密鑰321,而是,文件管理器205可以將所生成的內(nèi)容項密鑰321存儲在非可移除存儲裝置117中。對于任何隨后的對經(jīng)加密的內(nèi)容項數(shù)據(jù)225進行讀或者寫的嘗試,可以從非可移除存儲裝置117檢索所存儲的內(nèi)容項密鑰321。
[0049]在某些實施方案中,內(nèi)容項密鑰321可以在非可移除存儲裝置117中被存儲在內(nèi)容項文件夾325中。被用于存儲內(nèi)容項密鑰321的內(nèi)容項文件夾325可以具有與被用于在可移除存儲裝置116中存儲對應(yīng)的經(jīng)加密的內(nèi)容項數(shù)據(jù)225的內(nèi)容項文件夾320相同的名稱或者標(biāo)識符。另外,被用于在非可移除存儲裝置117上存儲內(nèi)容項密鑰321的內(nèi)容項文件夾325的文件結(jié)構(gòu)可以取被用于在可移除存儲裝置116上存儲經(jīng)加密的內(nèi)容項數(shù)據(jù)225的內(nèi)容項文件夾320的文件結(jié)構(gòu)的鏡像。
[0050]盡管將內(nèi)容項密鑰321存儲在非可移除存儲裝置117中可以減少與生成內(nèi)容項密鑰321相關(guān)聯(lián)的計算開銷,但密鑰321在非可移除存儲裝置117上的出現(xiàn)可能允許惡意用戶通過破壞或者拆卸移動設(shè)備115以得到非可移除存儲裝置117來訪問密鑰321。[0051 ]相應(yīng)地,在某些實施方案中,取代將內(nèi)容項密鑰321存儲在非可移除存儲裝置117 中,文件管理器205可以將內(nèi)容項密鑰321中的一個或多個內(nèi)容項密鑰存儲在密鑰高速緩存 330中。可以將密鑰高速緩存330保持在移動設(shè)備115的安全易失性存儲器中,以使得密鑰高速緩存330的內(nèi)容可以在每次移動設(shè)備115被關(guān)閉時被擦除。[〇〇52]在某些實施方案中,密鑰高速緩存330中的每個條目可以包括內(nèi)容項密鑰321和內(nèi)容項密鑰321與之相關(guān)聯(lián)的內(nèi)容項155的標(biāo)識符。另外,每個條目可以包括對應(yīng)的經(jīng)加密的內(nèi)容項數(shù)據(jù)225被存儲在其中的內(nèi)容項文件夾320的標(biāo)識符和/或與內(nèi)容項155相關(guān)聯(lián)的安全性描述符的副本。[〇〇53]當(dāng)針對內(nèi)容項155的寫文件操作或者讀文件操作被文件管理器205接收時,文件管理器205可以確定密鑰高速緩存330中是否存在針對內(nèi)容項155的條目。如果存在,則文件管理器205可以從密鑰高速緩存330檢索內(nèi)容項密鑰321,并且可以通過使用經(jīng)加密的內(nèi)容項數(shù)據(jù)225使用內(nèi)容項密鑰321履行文件操作201。[〇〇54] 如果密鑰高速緩存330中不存在任何針對內(nèi)容項155的條目,則文件管理器205可以檢索主密鑰221,并且如上面描述的那樣從主密鑰221和內(nèi)容項155的標(biāo)識符生成內(nèi)容項密鑰321。文件管理器205可以通過使用經(jīng)加密的內(nèi)容項數(shù)據(jù)225使用內(nèi)容項密鑰321履行文件操作201。可以將針對所生成的內(nèi)容項密鑰321的條目添加到密鑰高速緩存330。[〇〇55]在某些實施方案中,密鑰高速緩存330可以是諸如是500個條目之類的固定大小。 可以使用其他大小。當(dāng)密鑰高速緩存330滿時,可以在密鑰高速緩存330中替換針對至少最近使用的內(nèi)容項密鑰321的條目??商鎿Q地,可以周期性地從密鑰高速緩存330清除比預(yù)定年齡老的內(nèi)容項密鑰高速緩存330中的任何條目。
[0056]如上面指出的,在圖3中描述的使用內(nèi)容項專用的密鑰對內(nèi)容項155進行加密的實施方案可能不能向是應(yīng)用的內(nèi)容項155提供關(guān)于隔離和非法復(fù)制兩者的足夠保護。例如,應(yīng)用通常被跨多個文件夾存儲,其中,一個文件夾用于存儲與應(yīng)用自身相關(guān)的二進制文件,以及另一個文件夾用于存儲在執(zhí)行期間被應(yīng)用使用的數(shù)據(jù),諸如是用戶設(shè)置文件和圖形。相應(yīng)地,如果僅一個內(nèi)容項加密密鑰321被用于對兩者文件夾進行加密,則惡意用戶可能使用內(nèi)容項加密密鑰321獲得對與內(nèi)容項155相關(guān)聯(lián)的二進制文件的訪問。二進制文件可以然后例如被用于對二進制文件進行反向工程以及獲得對源代碼的訪問。
[0057]相應(yīng)地,圖4圖示出了:取代使用單個內(nèi)容項密鑰321對內(nèi)容項的全部內(nèi)容進行加密,與內(nèi)容項相關(guān)聯(lián)的數(shù)據(jù)文件夾中的每個或者一些數(shù)據(jù)文件夾可以使用其自身的內(nèi)容項加密密鑰321進行加密的移動設(shè)備115的實施方案。因為內(nèi)容項的每個文件夾是與其自身的內(nèi)容項密鑰321相關(guān)聯(lián)的,所以使用內(nèi)容項密鑰321從與內(nèi)容項相關(guān)聯(lián)的數(shù)據(jù)文件夾讀數(shù)據(jù)的應(yīng)用不能也使用該內(nèi)容項密鑰321訪問與內(nèi)容項相關(guān)聯(lián)的二進制文件夾。因此,可以進一步減少內(nèi)容項非法復(fù)制。
[0058]與上面針對圖2描述的相似,在圖4中,當(dāng)文件操作201與相關(guān)聯(lián)于可移除存儲裝置 116的過濾器215相匹配時,被文件管理器205采取的行動可以取決于文件操作201的類型。 在文件操作201是對創(chuàng)建或者存儲新內(nèi)容項155(諸如是應(yīng)用)的請求的情況下,文件管理器 205可以如上面描述的那樣從安全性管理器210請求安全性描述符。[〇〇59]如果安全性描述符指示內(nèi)容項155將被加密,則文件管理器205可以在可移除存儲裝置116上生成用于存儲內(nèi)容項155的內(nèi)容項文件夾320。另外,文件管理器205可以在所生成的內(nèi)容項文件夾320內(nèi)生成多個文件夾。在某些實施方案中,文件管理器205可以針對被內(nèi)容項155使用的文件結(jié)構(gòu)的每個文件夾生成一個文件夾。例如,在內(nèi)容項155是應(yīng)用的情況下,文件管理器205可以創(chuàng)建可以用于存儲與應(yīng)用相關(guān)的二進制文件的文件夾410a和可以用于存儲與應(yīng)用相關(guān)的數(shù)據(jù)文件的文件夾410b。盡管僅示出了兩個文件夾(S卩,文件夾 410a和410b),但其僅是用于圖示的;對可以被創(chuàng)建的文件夾的數(shù)量不存在任何限制。
[0060] 在創(chuàng)建文件夾410a、410b之后,文件管理器205和/或安全性管理器210可以生成針對所生成的文件夾中的每個文件夾的內(nèi)容項密鑰321。與在上面描述的相似,所生成的內(nèi)容項密鑰321可以是對稱的128位AES密鑰。在某些實施方案中,針對一個文件夾的內(nèi)容項密鑰 321可以使用主密鑰321、內(nèi)容項155的標(biāo)識符和該文件夾的標(biāo)識符被生成。例如,針對文件夾410a的內(nèi)容項密鑰321可以通過組合內(nèi)容項155的標(biāo)識符和文件夾410a的標(biāo)識符的散列以及主密鑰221被生成。[〇〇611所生成的內(nèi)容項密鑰321可以用于對內(nèi)容項155進行加密。針對文件夾410a所生成的內(nèi)容項密鑰321可以用于對內(nèi)容項155的第一部分進行加密作為經(jīng)加密的內(nèi)容項數(shù)據(jù) 225a,并且針對文件夾410b所生成的內(nèi)容項密鑰321可以用于對內(nèi)容項155的第二部分進行加密作為經(jīng)加密的內(nèi)容項數(shù)據(jù)225b。可以將經(jīng)加密的內(nèi)容項數(shù)據(jù)225a和經(jīng)加密的內(nèi)容項數(shù)據(jù)225b提供給文件系統(tǒng)以便分別存儲在文件夾410a和410b中。在一個實施方案中,在其中內(nèi)容項數(shù)據(jù)155是應(yīng)用的情況下,內(nèi)容項155的第一部分可以包括應(yīng)用的二進制文件,并且內(nèi)容項155的第二部分可以包括應(yīng)用的應(yīng)用文件。[〇〇62] 在存儲經(jīng)加密的內(nèi)容項數(shù)據(jù)225a和225b之后,可以丟棄內(nèi)容項密鑰321中的兩個內(nèi)容項密鑰。可替換地,可以將內(nèi)容項密鑰321中的一個或者兩個內(nèi)容項密鑰添加到密鑰高速緩存330??梢允褂藐P(guān)聯(lián)的內(nèi)容項155的標(biāo)識符和關(guān)聯(lián)的文件夾的標(biāo)識符對密鑰高速緩存中的每個內(nèi)容項密鑰321建立索引。[〇〇63]當(dāng)文件操作201(諸如是讀或者寫操作)被文件管理器205接收時,文件管理器205 可以確定與文件操作201相關(guān)聯(lián)的內(nèi)容項155和文件夾。文件管理器205可以使用內(nèi)容項155 和文件夾的標(biāo)識符來生成與內(nèi)容項155和文件夾相關(guān)聯(lián)的內(nèi)容項密鑰321,或是來從密鑰高速緩存330檢索內(nèi)容項密鑰321。內(nèi)容項密鑰321可以被文件管理器205用于促進文件操作 201的執(zhí)行。
[0064]圖5是用于履行對執(zhí)行讀操作的請求的示例性方法500的實施方案的圖示。方法 500可以例如由移動設(shè)備115實施。
[0065]在501處接收對讀數(shù)據(jù)的請求。該請求是與內(nèi)容項155相關(guān)聯(lián)的,并且可以包括讀文件操作201??梢杂梢苿釉O(shè)備115的文件管理器205從執(zhí)行在移動設(shè)備115上的應(yīng)用或者操作系統(tǒng)接收該請求。該請求可能將讀取存儲在可移除存儲裝置116上的經(jīng)加密的內(nèi)容項數(shù)據(jù)225??梢瞥鎯ρb置116可以包括SD卡,并且可以使用諸如是FAT或者exFAT之類的文件系統(tǒng)進行格式化??梢灾С制渌募到y(tǒng)。取決于實施方案,該請求可以與一個或多個與可移除存儲裝置116相關(guān)聯(lián)的過濾器215相匹配。[〇〇66]在503處做出關(guān)于請求是否被授權(quán)的確定??梢杂晌募芾砥?05通過確定數(shù)據(jù)的請求者是否被授權(quán)讀數(shù)據(jù)來確定請求是否被授權(quán)。在某些實施方案中,文件管理器205可以例如使用由安全性管理器210提供的安全性描述符做出確定。如果請求未被授權(quán),則方法 500可以在505處繼續(xù),在該處,請求被文件管理器205拒絕。如果請求被授權(quán)。則方法500可以在507處繼續(xù)。[〇〇67] 在507處例如由文件管理器205確定解密密鑰。解密密鑰可以是128位AES對稱密鑰??梢允褂闷渌荑€。在其中單個主密鑰221被用于對全部內(nèi)容項155進行解密的實施方案中,可以從非可移除存儲裝置117檢索和/或從受信任平臺模塊220或者安全性管理器210 檢索主密鑰221。可以例如由受信任平臺模塊220對主密鑰221進行封裝。[〇〇68]在某些實施方案中,可以將主密鑰221備份和恢復(fù)到云存儲裝置190,以使得可移除存儲裝置116上的內(nèi)容在如果存在其非可移除存儲裝置117上的硬件故障的情況下可以被訪問。例如,如果移動設(shè)備115將經(jīng)歷硬件故障的話,可以將可移除存儲裝置116放置到新的替換移動設(shè)備115中,并且可以從云存儲裝置190中的備份恢復(fù)主密鑰221。利用云存儲裝置190對主密鑰221的備份/恢復(fù)可以依賴于用戶名/密碼或者某個其他的對于設(shè)備115的用戶唯一的標(biāo)識。可以使用加密與云存儲裝置190交換主密鑰221,以防止某人能夠在主密鑰 221在替換移動設(shè)備115上被恢復(fù)之前發(fā)現(xiàn)主密鑰221。[〇〇69]在其中不同的內(nèi)容項密鑰321被用于對每個內(nèi)容項155進行解密的實施方案中,可以由文件管理器205確定與相關(guān)聯(lián)于對讀數(shù)據(jù)的請求的內(nèi)容項155相對應(yīng)的內(nèi)容項密鑰 321。取決于實施方案,內(nèi)容項密鑰321可以通過從非可移除存儲裝置117上的內(nèi)容項文件夾 325檢索內(nèi)容項密鑰321被確定,或者可以使用主密鑰221和內(nèi)容項155的標(biāo)識符和/或內(nèi)容項115在可移除存儲裝置116上被存儲在其處的位置或者文件夾的標(biāo)識符被生成。
[0070]可替換地,文件管理器205可以檢查內(nèi)容項密鑰321是否被存儲在密鑰高速緩存 330中,并且如果是這樣,則可以使用來自密鑰高速緩存330的內(nèi)容項密鑰321。如果不是,則文件管理器205可以如上面描述的那樣確定內(nèi)容項密鑰321。
[0071]在509處對與內(nèi)容項相關(guān)聯(lián)的數(shù)據(jù)進行解密。與內(nèi)容項155相關(guān)聯(lián)的經(jīng)加密的內(nèi)容項數(shù)據(jù)225被文件系統(tǒng)從可移除存儲裝置116進行檢索,并且取決于實施方案使用主密鑰 221或者內(nèi)容項密鑰321進行解密。在511處提供經(jīng)解密的數(shù)據(jù)??梢杂晌募芾砥?05向產(chǎn)生請求的應(yīng)用提供經(jīng)解密的數(shù)據(jù)。如果經(jīng)加密的數(shù)據(jù)在其被寫到可移除存儲裝置116時被利用零進行了填充,則填充的零在其被遞送給進行請求的應(yīng)用之前被從內(nèi)容中移除。
[0072]圖6是用于履行對執(zhí)行寫操作的請求的示例性方法600的實施方案的圖示??梢岳缬梢苿釉O(shè)備115實施方法600。[〇〇73]在601處接收對于寫入數(shù)據(jù)的請求。該請求是與內(nèi)容項155相關(guān)聯(lián)的,并且可以包括寫文件操作201。可以由移動設(shè)備115的文件管理器205從執(zhí)行在移動設(shè)備115上的應(yīng)用或者操作系統(tǒng)接收該請求。該請求可以用于向被存儲在可移除存儲裝置116上的經(jīng)加密的內(nèi)容項數(shù)據(jù)225進行寫入。[〇〇74]在603處做出關(guān)于請求是否被授權(quán)的確定??梢杂晌募芾砥?05通過確定請求者是否被授權(quán)寫數(shù)據(jù)而確定請求是否被授權(quán)。在某些實施方案中,文件管理器205可以例如使用由安全性管理器210提供的安全性描述符做出所述確定。如果請求未被授權(quán),則方法600 可以在605處繼續(xù),在該處,請求被文件管理器205拒絕。如果請求被授權(quán),則方法600可以在 607處繼續(xù)。[〇〇75] 在607處確定加密密鑰。由文件管理器205確定加密密鑰。在其中單個主密鑰221被用于對全部內(nèi)容項155進行加密的實施方案中,可以從非可移除存儲裝置117檢索和/或從受信任平臺模塊220或者安全性管理器210檢索主密鑰221。
[0076]在其中不同的內(nèi)容項密鑰321被用于對每個內(nèi)容項155進行加密的實施方案中,可以由文件管理器205確定與相關(guān)聯(lián)于對寫數(shù)據(jù)的請求的內(nèi)容項155相對應(yīng)的內(nèi)容項密鑰。取決于實施方案,內(nèi)容項密鑰321可以通過從非可移除存儲裝置117上的內(nèi)容項文件夾325檢索內(nèi)容項密鑰321被確定,或者可以使用主密鑰221和內(nèi)容項155的標(biāo)識符被生成。[〇〇77]可替換地,文件管理器205可以檢查內(nèi)容項密鑰321是否被存儲在密鑰高速緩存 330中,并且如果是這樣,則使用來自密鑰高速緩存330的內(nèi)容項密鑰321。如果不是,則文件管理器205可以如上面描述的那樣確定內(nèi)容項密鑰321。[〇〇78]在609處對與內(nèi)容項相關(guān)聯(lián)的數(shù)據(jù)進行加密??梢杂晌募芾砥?05對數(shù)據(jù)進行加密。對于寫入數(shù)據(jù)的請求可以指定包括將被寫入的數(shù)據(jù)的緩沖器。文件管理器205可以取決于實施方案使用主密鑰221或者內(nèi)容項密鑰321對緩沖器中的數(shù)據(jù)進行加密。在某些實施方案中,文件管理器205可以將數(shù)據(jù)從所指定的緩沖器復(fù)制到陰影緩沖器,并且可以對陰影緩沖器中的數(shù)據(jù)進行加密。如果必要,數(shù)據(jù)在其被加密之前可以被利用零進行填充。
[0079]在611處存儲經(jīng)加密的數(shù)據(jù)??梢杂晌募到y(tǒng)作為經(jīng)加密的內(nèi)容項數(shù)據(jù)225在可移除存儲裝置116上存儲經(jīng)加密的數(shù)據(jù)。取決于實施方案,經(jīng)加密的內(nèi)容項數(shù)據(jù)225可以被存儲在內(nèi)容項文件夾320中。內(nèi)容項文件夾320可以例如是隱藏的文件夾。取決于實施方案,所生成的內(nèi)容項密鑰321可以被添加到密鑰高速緩存330。
[0080]圖7是用于將應(yīng)用安裝在諸如是可移除存儲裝置116之類的可移除存儲裝置上的示例性方法700的實施方案的圖示。可以例如由移動設(shè)備115實施方法700。
[0081]在701處接收對將應(yīng)用安裝在可移除存儲裝置中的請求。該請求可以包括文件操作201,并且可以被移動設(shè)備115的文件管理器205接收。應(yīng)用可以是與應(yīng)用標(biāo)識符相關(guān)聯(lián)的。應(yīng)用標(biāo)識符可以是與應(yīng)用相關(guān)聯(lián)的(例如,作為元數(shù)據(jù)),或者可以被文件管理器205指派給應(yīng)用。
[0082]因為該請求用于將應(yīng)用安裝在可移除存儲裝置116上,所以該請求可以與相關(guān)聯(lián)于可移除存儲裝置116的過濾器215相匹配。應(yīng)用可以包括內(nèi)容項155的一個示例。盡管方法 700關(guān)于是應(yīng)用的內(nèi)容項進行了描述,但其適用于全部內(nèi)容項155,諸如是圖像、音樂和視頻內(nèi)容項。
[0083]在703處創(chuàng)建第一文件夾和第二文件夾??梢杂晌募芾砥?05在可移除存儲裝置 116上創(chuàng)建第一文件夾410a和第二文件夾410b。文件管理器205可以如由應(yīng)用安裝程序所指導(dǎo)的那樣創(chuàng)建文件夾??梢杂晌募芾砥?05創(chuàng)建更多或更少的文件夾。在某些實施方案中,文件夾可以與被應(yīng)用用于組織與應(yīng)用相關(guān)聯(lián)的數(shù)據(jù)的文件夾相對應(yīng)。例如,第一文件夾 410a可以用于保持與應(yīng)用相關(guān)的二進制數(shù)據(jù)(諸如是源代碼),并且可以與應(yīng)用的二進制文件夾相對應(yīng)。相似地,第二文件夾410b可以用于保持與應(yīng)用相關(guān)的應(yīng)用數(shù)據(jù)(諸如是圖形或者配置文件),并且可以與應(yīng)用的數(shù)據(jù)文件夾相對應(yīng)。
[0084]可以在用于存儲與應(yīng)用相關(guān)聯(lián)的數(shù)據(jù)中的全部數(shù)據(jù)的內(nèi)容項文件夾320內(nèi)創(chuàng)建文件夾410a和410b。內(nèi)容項文件夾320以及文件夾410a和410b可以是與標(biāo)識符相關(guān)聯(lián)的。 [〇〇85]在705處生成第一密鑰??梢葬槍⒋鎯υ诘谝晃募A410a中的數(shù)據(jù)進行加密生成第一密鑰??梢杂晌募芾砥?05使用與受信任平臺模塊220相關(guān)聯(lián)的主密鑰221生成第一密鑰。在某些實施方案中,可以經(jīng)由將主密鑰221與應(yīng)用的標(biāo)識符和/或第一文件夾 410a的標(biāo)識符的散列進行組合創(chuàng)建第一密鑰。可以使用用于生成密鑰的其他方法。[〇〇86]在707處生成第二密鑰??梢葬槍⒋鎯υ诘诙募A410b中的數(shù)據(jù)進行加密生成第二密鑰。可以由文件管理器205使用與受信任平臺模塊220相關(guān)聯(lián)的主密鑰221生成第二密鑰。與第一密鑰相似地,可以經(jīng)由將主密鑰221與應(yīng)用的標(biāo)識符和/或第二文件夾 410b的標(biāo)識符的散列進行組合創(chuàng)建第二密鑰。第一和第二密鑰可以是128位AES對稱加密密鑰??梢允褂闷渌荑€大小和類型。[〇〇87]在709處對與應(yīng)用相關(guān)聯(lián)的數(shù)據(jù)的第一部分進行加密??梢杂晌募芾砥?05使用第一密鑰對數(shù)據(jù)的第一部分進行加密??梢詫?shù)據(jù)的第一部分進行加密作為經(jīng)加密的內(nèi)容項數(shù)據(jù)225a。在711處對與應(yīng)用相關(guān)聯(lián)的數(shù)據(jù)的第二部分進行加密。可以由文件管理器205 使用第二密鑰對數(shù)據(jù)的第二部分進行加密??梢詫?shù)據(jù)的第二部分進行加密作為經(jīng)加密的內(nèi)容項數(shù)據(jù)225b。[〇〇88]在713處將數(shù)據(jù)的經(jīng)加密的第一部分存儲在第一文件夾中??梢杂晌募芾砥?05 將經(jīng)加密的第一部分存儲在文件夾410a中。在715處將數(shù)據(jù)的經(jīng)加密的第二部分存儲在第二文件夾中。可以由文件管理器205將經(jīng)加密的第二部分存儲在文件夾410b中。取決于實施方案,第一和第二密鑰可以被添加到密鑰高速緩存330。
[0089]圖8示出了示例實施例和方面可以在其中被實施的示例性計算環(huán)境。該計算系統(tǒng)環(huán)境僅是合適的計算環(huán)境的一個示例,并且不旨在關(guān)于用途或者功能的范圍建議任何限制。
[0090]可以使用許多其他的通用或者專用計算系統(tǒng)環(huán)境或者配置。可能適于使用的公知的計算系統(tǒng)、環(huán)境和/或配置的示例包括但不限于個人計算機(PC)、服務(wù)器計算機、手持型或者膝上型設(shè)備、多處理器系統(tǒng)、基于微處理器的系統(tǒng)、網(wǎng)絡(luò)PC、微型計算機、大型計算機、 嵌入式系統(tǒng)、包括以上系統(tǒng)或者設(shè)備中的任何系統(tǒng)或者設(shè)備的分布式計算環(huán)境等。
[0091]可以使用被計算機執(zhí)行的計算機可執(zhí)行指令,諸如是程序模塊。概括地說,程序模塊包括執(zhí)行特定任務(wù)或者實施特定抽象數(shù)據(jù)類型的例程、程序、對象、構(gòu)件、數(shù)據(jù)結(jié)構(gòu)等??梢允褂梅植际接嬎悱h(huán)境,在其中,任務(wù)被通過通信網(wǎng)絡(luò)或者其他數(shù)據(jù)傳輸介質(zhì)鏈接的遠程處理設(shè)備執(zhí)行。在分布式計算環(huán)境中,程序模塊和其他數(shù)據(jù)可以被放置在本地和包括存儲器存儲設(shè)備的遠程計算機存儲介質(zhì)兩者處。
[0092]通過參考圖8,用于實施本文中描述的方面的示例性系統(tǒng)包括諸如是計算設(shè)備800 之類的計算設(shè)備。計算設(shè)備800描繪了為根據(jù)各種實施例的特定的基于軟件的功能提供執(zhí)行平臺的基本計算機系統(tǒng)的構(gòu)件。計算設(shè)備800可以是來自各種實施例的客戶端側(cè)庫、集群級服務(wù)和/或分布式執(zhí)行引擎(或者它們的構(gòu)件)在其上被實例化的環(huán)境。計算設(shè)備800可以例如包括臺式計算機系統(tǒng)、膝上型計算機系統(tǒng)或者服務(wù)器計算機系統(tǒng)。相似地,計算設(shè)備 800可以被實施為手持型設(shè)備(例如,蜂窩電話、智能電話、平板電腦等)。計算設(shè)備800通常包括至少某種形式的計算機可讀介質(zhì)。計算機可讀介質(zhì)可以是許多不同類型的可用的介質(zhì),所述可用的介質(zhì)可以被計算設(shè)備800訪問,并且可以包括但不限于計算機存儲介質(zhì)。 [〇〇93] 在其最基本的配置中,計算設(shè)備800通常包括至少一個處理單元802和存儲器804。 取決于計算設(shè)備的確切配置和類型,存儲器804可以是易失性的(諸如是隨機存取存儲器 (RAM))、非易失性的(諸如是只讀存儲器(R0M)、閃存等)或者這兩者的某種組合。在圖8中由虛線806圖不出了該最基本的配置。[〇〇94]計算設(shè)備800可以具有附加的特征/功能。例如,計算設(shè)備800可以包括附加的存儲裝置(可移除的和/或非可移除的),其包括但不限于硬盤和SD卡。在圖8中由可移除存儲裝置808和非可移除存儲裝置810圖示出了這樣的附加的存儲裝置。
[0095]計算設(shè)備800通常包括多種計算機可讀介質(zhì)。計算機可讀介質(zhì)可以是任何可以被設(shè)備800訪問的可用介質(zhì),并且包括易失性和非易失性介質(zhì)、可移除和非可移除介質(zhì)兩者。
[0096]計算機存儲介質(zhì)包括采用用于存儲諸如是計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或者其他數(shù)據(jù)之類的信息的任何方法或者技術(shù)實施的易失性和非易失性以及可移除和非可移除的介質(zhì)。存儲器804、可移除存儲裝置808和非可移除存儲裝置810全部是計算機存儲介質(zhì)的示例。計算機存儲介質(zhì)包括但不限于:RAM、R0M、電可擦除程序只讀存儲器(EEPR0M)、 閃存或者其他存儲器技術(shù)、CD-ROM、數(shù)字多功能光盤(DVD)或者其他光學(xué)存儲裝置、盒式磁帶、磁帶、磁盤存儲裝置或者其他磁存儲設(shè)備;或者任何其他可以用于存儲期望的信息并且可以被計算設(shè)備800訪問的介質(zhì)。任何這樣的計算機存儲介質(zhì)可以是計算設(shè)備800的部分。
[0097]計算設(shè)備800可以包含允許該設(shè)備與其他設(shè)備和/或網(wǎng)絡(luò)通信的(一個或者多個) 通信連接812。通信連接812可以包括W1-F1、蜂窩、藍牙、CDMA、GSM等。計算設(shè)備800可以還具有(一個或者多個)輸入設(shè)備814,諸如是鍵盤、電容式顯示器、筆、話音輸入設(shè)備、觸摸輸入設(shè)備等。還可以包括諸如是電容式顯示器、揚聲器等的(一個或者多個)輸出設(shè)備816。計算設(shè)備800還可以從一個或多個傳感器817接收數(shù)據(jù)。(一個或者多個)傳感器817諸如是加速度計、全球定位系統(tǒng)、接近度傳感器、陀螺儀等。全部這些設(shè)備和傳感器是本領(lǐng)域中公知的, 并且不需要在這里被詳盡地討論。
[0098]應(yīng)當(dāng)理解,可以酌情結(jié)合硬件或者軟件或者兩者的組合來實施本文中描述的各種技術(shù)。因此,當(dāng)前所公開的主題的方法和裝置或者其特定方面或者部分可以采用程序代碼 (即,指令)的形式,所述程序代碼被體現(xiàn)在諸如是軟盤、CD-ROM、硬盤驅(qū)動或者任何其他機器可讀存儲介質(zhì)之類的有形介質(zhì)中,其中,當(dāng)程序代碼被諸如是計算機之類的機器加載和執(zhí)行時,所述機器變成用于實踐當(dāng)前所公開的主題的裝置。
[0099]盡管示例性實施方案可能提到在一個或多個獨立計算機系統(tǒng)的上下文中使用當(dāng)前所公開的主題的方面,但所述主題不是如此受限的,而相反可以結(jié)合諸如是網(wǎng)絡(luò)或者分布式計算環(huán)境之類的任何計算環(huán)境被實施。仍然進一步地,當(dāng)前所公開的主題的方面可以在多個處理芯片或者設(shè)備中或者跨多個處理芯片或者設(shè)備被實施,并且存儲裝置可以相似地跨多個設(shè)備地被實現(xiàn)。這樣的設(shè)備可以例如包括個人計算機、網(wǎng)絡(luò)服務(wù)器和手持型設(shè)備。
[0100]盡管已使用專用于結(jié)構(gòu)化特征和/或方法動作的語言描述了所述主題,但應(yīng)當(dāng)理解,在所附權(quán)利要求中限定的主題不必限于上面描述的具體特征或者動作。相反,作為實施權(quán)利要求的示例形式公開了上面描述的具體特征和動作。
【主權(quán)項】
1.一種用于使用與每個內(nèi)容項相關(guān)聯(lián)的密鑰防止對被存儲在移動設(shè)備上的內(nèi)容項的 未經(jīng)授權(quán)的復(fù)制的方法,其包括:由移動設(shè)備接收對于讀取與內(nèi)容項相關(guān)聯(lián)的數(shù)據(jù)的請求,其中,所述數(shù)據(jù)被加密,并且 被存儲在與所述移動設(shè)備相關(guān)聯(lián)的可移除存儲裝置中;確定對于讀取所述數(shù)據(jù)的所述請求被所述移動設(shè)備授權(quán);響應(yīng)于確定對于讀取所述數(shù)據(jù)的所述請求被授權(quán),由所述移動設(shè)備確定與所述內(nèi)容項 相關(guān)聯(lián)的密鑰;由所述移動設(shè)備使用所述密鑰對與所述內(nèi)容項相關(guān)聯(lián)的所述數(shù)據(jù)進行解密;以及 由所述移動設(shè)備提供經(jīng)解密的數(shù)據(jù)。2.根據(jù)權(quán)利要求1所述的方法,其中,所述可移除存儲裝置包括安全數(shù)字卡。3.根據(jù)權(quán)利要求1所述的方法,其中,所述數(shù)據(jù)在文件分配表系統(tǒng)或者擴展文件分配表 文件系統(tǒng)的至少一項中被存儲在所述可移除存儲裝置上。4.根據(jù)權(quán)利要求1所述的方法,其中,所述內(nèi)容項包括應(yīng)用、視頻內(nèi)容項或者音頻內(nèi)容 項中的一項或多項。5.根據(jù)權(quán)利要求1所述的方法,其中,確定與所述內(nèi)容項相關(guān)聯(lián)的密鑰包括:確定與所 述移動設(shè)備相關(guān)聯(lián)的非可移除存儲裝置的區(qū)域,以及,從與所述移動設(shè)備相關(guān)聯(lián)的非可移 除存儲裝置的所述區(qū)域檢索所述密鑰。6.—種用于防止對應(yīng)用的未經(jīng)授權(quán)的復(fù)制和用于提供應(yīng)用隔離的系統(tǒng),其是通過使用 從所述應(yīng)用的標(biāo)識符生成的至少兩個密鑰和由受信任平臺模塊生成的主密鑰對所述應(yīng)用 的部分進行加密以及將所述應(yīng)用的經(jīng)加密的部分存儲在至少兩個文件夾中實現(xiàn)的,所述系 統(tǒng)包括:受信任平臺模塊,其適于生成主密鑰;可移除存儲裝置;文件管理器,其適于:接收對于將應(yīng)用安裝在所述可移除存儲裝置中的請求;以及響應(yīng)于所述請求,在所述可移除存儲裝置中創(chuàng)建與所述應(yīng)用相關(guān)聯(lián)的第一文件夾和第 二文件夾;以及 過濾器,其適于:使用所述主密鑰、所述應(yīng)用的標(biāo)識符和所述第一文件夾的標(biāo)識符生成第一密鑰;使用所述主密鑰、所述應(yīng)用的所述標(biāo)識符和所述第二文件夾的標(biāo)識符生成第二密鑰; 使用所述第一密鑰對與所述應(yīng)用相關(guān)聯(lián)的數(shù)據(jù)的第一部分進行加密;使用所述第二密鑰對與所述應(yīng)用相關(guān)聯(lián)的數(shù)據(jù)的第二部分進行加密;將經(jīng)加密的第一部分存儲在所述第一文件夾中;以及 將經(jīng)加密的第二部分存儲在所述第二文件夾中。7.根據(jù)權(quán)利要求6所述的系統(tǒng),其中,所述系統(tǒng)進一步包括非可移除存儲裝置,并且其 中所述文件管理器進一步適于將所述第一密鑰和所述第二密鑰存儲在所述非可移除存儲 裝置中。8.根據(jù)權(quán)利要求6所述的系統(tǒng),其中,所述過濾器進一步適于:檢索所述主密鑰;使用所述主密鑰、所述應(yīng)用的所述標(biāo)識符和所述第一文件夾的所述標(biāo)識符生成所述第 一密鑰;以及使用所生成的第一密鑰對來自所述第一文件夾的數(shù)據(jù)進行解密。9.根據(jù)權(quán)利要求6所述的系統(tǒng),其中,所述非可移除存儲裝置包括安全數(shù)字卡。10.根據(jù)權(quán)利要求6所述的系統(tǒng),進一步包括高速緩存,并且其中所述過濾器進一步適 于將所生成的第一和第二密鑰存儲在所述高速緩存中。
【文檔編號】G06F21/10GK105993018SQ201580007818
【公開日】2016年10月5日
【申請日】2015年2月4日
【發(fā)明人】D.卡拉罕, R.普迪佩迪, G.奧爾森, S.佩特爾, 周劍明, D.德西爾瓦
【申請人】微軟技術(shù)許可有限責(zé)任公司