或快閃存儲(chǔ)器以及RAM。RAM通常是將操作系統(tǒng)和應(yīng)用程序加載到其中的主存儲(chǔ)器。除其他代碼外,ROM和/或快閃存儲(chǔ)器還可包含控制某些基本硬件操作的基本輸入輸出系統(tǒng)(B1S)。應(yīng)用程序可存儲(chǔ)在本地計(jì)算機(jī)可讀介質(zhì)(如,硬盤244、光盤242)上并加載到系統(tǒng)存儲(chǔ)器217中并且被處理器214執(zhí)行。應(yīng)用程序也可加載到來自遠(yuǎn)程位置(即,遠(yuǎn)程定位的計(jì)算機(jī)系統(tǒng)210)的系統(tǒng)存儲(chǔ)器217中,例如經(jīng)由網(wǎng)絡(luò)接口 248或調(diào)制解調(diào)器247進(jìn)行。在圖2中,安全生態(tài)系統(tǒng)組件101被示為駐存在服務(wù)器內(nèi)存217中。以下結(jié)合圖3更詳細(xì)地闡釋安全生態(tài)系統(tǒng)組件101的工作方式。
[0026]存儲(chǔ)接口 234耦合到一個(gè)或多個(gè)硬盤244 (和/或其他標(biāo)準(zhǔn)存儲(chǔ)介質(zhì))。硬盤244可以是計(jì)算機(jī)系統(tǒng)210的一部分,或者可以是物理上獨(dú)立的,可以通過其他接口系統(tǒng)進(jìn)行訪問。
[0027]網(wǎng)絡(luò)接口 248和/或調(diào)制解調(diào)器247可直接或間接可通信地聯(lián)接到網(wǎng)絡(luò)107,例如互聯(lián)網(wǎng)。此類聯(lián)接可以是有線的或無線的。
[0028]圖3示出了根據(jù)一些實(shí)施例的在計(jì)算機(jī)210上于安全生態(tài)系統(tǒng)301情景下運(yùn)行的安全生態(tài)系統(tǒng)組件101功能的高級概覽。如上所述,安全生態(tài)系統(tǒng)組件101的功能可駐存在客戶端103 (包括但不限于移動(dòng)計(jì)算設(shè)備形式的客戶端103)上、服務(wù)器105上或在多個(gè)計(jì)算機(jī)系統(tǒng)210之間分發(fā),包括在基于云的計(jì)算環(huán)境內(nèi),在該基于云的計(jì)算環(huán)境中安全生態(tài)系統(tǒng)組件101的功能作為一種服務(wù)通過網(wǎng)絡(luò)107提供。應(yīng)當(dāng)理解,雖然安全生態(tài)系統(tǒng)組件101在圖3中示出為單個(gè)實(shí)體,但所示安全生態(tài)系統(tǒng)組件101表示功能集合,其可根據(jù)需要被實(shí)例化為單個(gè)或多個(gè)模塊(安全生態(tài)系統(tǒng)組件101的特定多個(gè)模塊的實(shí)例化在圖3中示出)。應(yīng)當(dāng)理解,安全生態(tài)系統(tǒng)組件101的模塊可在任何計(jì)算機(jī)系統(tǒng)210的系統(tǒng)存儲(chǔ)器217(如,RAM、R0M、快閃存儲(chǔ)器)內(nèi)被實(shí)例化(例如被實(shí)例化為目標(biāo)代碼或可執(zhí)行映像),使得當(dāng)計(jì)算機(jī)系統(tǒng)210的處理器214處理模塊時(shí),計(jì)算機(jī)系統(tǒng)210執(zhí)行相關(guān)功能。如本文所用,術(shù)語“計(jì)算機(jī)系統(tǒng)”、“計(jì)算機(jī)”、“客戶端”、“客戶端計(jì)算機(jī)”、“服務(wù)器”、“服務(wù)器計(jì)算機(jī)”和“計(jì)算設(shè)備”意指被配置和/或被編程為執(zhí)行所述功能的一個(gè)或多個(gè)計(jì)算機(jī)。另外,實(shí)施安全生態(tài)系統(tǒng)組件101功能的程序代碼可存儲(chǔ)在計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中。任何形式的有形計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可用于該情景(context),例如磁或光存儲(chǔ)介質(zhì)。如本文所用,術(shù)語“計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)”并不意味著電信號與基礎(chǔ)物理介質(zhì)分離。
[0029]如圖3所示,多個(gè)被配置為在生態(tài)系統(tǒng)301內(nèi)使用的應(yīng)用程序303在計(jì)算機(jī)210(諸如移動(dòng)計(jì)算設(shè)備)的系統(tǒng)存儲(chǔ)器217中的安全生態(tài)系統(tǒng)301中運(yùn)行。作為用于說明的例子,圖3示出了三個(gè)在生態(tài)系統(tǒng)301中運(yùn)行的應(yīng)用程序303,但實(shí)際上生態(tài)系統(tǒng)可包括其他數(shù)量(包括大得多的數(shù)量)的應(yīng)用程序303。針對生態(tài)系統(tǒng)301成員資格而配置的每個(gè)應(yīng)用程序303都包含安全生態(tài)系統(tǒng)組件101,其提供下文詳細(xì)討論的生態(tài)系統(tǒng)特定功能。安全生態(tài)系統(tǒng)組件101功能使多個(gè)應(yīng)用程序303 (例如移動(dòng)應(yīng)用程序303)在計(jì)算機(jī)210上作為符合據(jù)企業(yè)300提供的信息控制策略的安全、互連的生態(tài)系統(tǒng)301運(yùn)行。本文使用的術(shù)語“生態(tài)系統(tǒng)”301意指計(jì)算設(shè)備210上的一組應(yīng)用程序303,其被配置為使得應(yīng)用程序303可根據(jù)企業(yè)信息控制策略相互之間安全地交換加密消息305和加密數(shù)據(jù)對象307,其中應(yīng)用程序303和生態(tài)系統(tǒng)301外的其他組件無法未經(jīng)授權(quán)訪問生態(tài)系統(tǒng)301或其內(nèi)容。本文使用的術(shù)語“企業(yè)”300意指在其管理下,根據(jù)信息控制策略使其電子數(shù)據(jù)可供個(gè)體使用的任何組織。企業(yè)、政府和大學(xué)都是企業(yè)300的例子。
[0030]如以下詳細(xì)闡述,生態(tài)系統(tǒng)301內(nèi)的應(yīng)用程序303可安全地發(fā)送加密消息305和共享數(shù)據(jù)加密對象307 (例如,文件),而不允許生態(tài)系統(tǒng)301外部的應(yīng)用程序303 (包括那些在同一計(jì)算設(shè)備210上運(yùn)行的應(yīng)用程序)的未授權(quán)訪問。生態(tài)系統(tǒng)301可包括企業(yè)特定應(yīng)用程序303,以及來源于企業(yè)外部的第三方應(yīng)用程序303 (例如,Google Play或蘋果公司的App Store上發(fā)布的商業(yè)應(yīng)用程序303),企業(yè)特定應(yīng)用程序303可從在后端企業(yè)服務(wù)器309的系統(tǒng)存儲(chǔ)器217中運(yùn)行的后端組件109下載。以下詳細(xì)描述分發(fā)企業(yè)準(zhǔn)備好的包含安全生態(tài)系統(tǒng)組件101功能的應(yīng)用程序303的流程。
[0031]不止一個(gè)生態(tài)系統(tǒng)301可共存于單個(gè)計(jì)算設(shè)備210中,并且被配置為使得共存的生態(tài)系統(tǒng)301不被允許訪問彼此的數(shù)據(jù),或以其他方式參與到本文所述的受保護(hù)的生態(tài)系統(tǒng)級數(shù)據(jù)共享中。如以下詳細(xì)描述,根據(jù)企業(yè)策略,安全生態(tài)系統(tǒng)組件101使用有效協(xié)議來將授權(quán)應(yīng)用程序303安全地注冊到生態(tài)系統(tǒng)301中,來加密生態(tài)系統(tǒng)數(shù)據(jù),以及來在同一生態(tài)系統(tǒng)301中的應(yīng)用程序303之間安全地共享該數(shù)據(jù)。
[0032]圖4A示出了根據(jù)一些實(shí)施例的被配置為參與到生態(tài)系統(tǒng)301中的應(yīng)用程序303的安全生態(tài)系統(tǒng)組件101的模塊。結(jié)合圖5詳細(xì)描述這些模塊的操作。安全生態(tài)系統(tǒng)組件101的密鑰生成模塊401用于生成用于加密內(nèi)容以用于生態(tài)系統(tǒng)301內(nèi)的安全通信的密鑰409。安全生態(tài)系統(tǒng)組件101的代理調(diào)用模塊421用于調(diào)用生態(tài)系統(tǒng)代理411,生態(tài)系統(tǒng)代理411是下文詳細(xì)討論的特定生態(tài)系統(tǒng)應(yīng)用程序303。安全生態(tài)系統(tǒng)組件101的應(yīng)用程序驗(yàn)證模塊423用于驗(yàn)證其他應(yīng)用程序是被信任參與到生態(tài)系統(tǒng)301中。安全生態(tài)系統(tǒng)組件101的通信模塊424用于應(yīng)用程序303之間的通信,以及生態(tài)系統(tǒng)應(yīng)用程序303與后端企業(yè)服務(wù)器309之間的通信。加密模塊425對內(nèi)容加密以用于安全通信,而解密模塊427解密所加密的內(nèi)容。目錄讀取模塊429從生態(tài)系統(tǒng)目錄讀取內(nèi)容,這在下文詳細(xì)描述。最后,策略執(zhí)行模塊431用于確保遵循企業(yè)信息控制策略。在其他實(shí)施例中,被配置為參與到生態(tài)系統(tǒng)301中的應(yīng)用程序303的安全生態(tài)系統(tǒng)組件101可根據(jù)需要包括更多、更少或不同的模塊。
[0033]圖4B示出了根據(jù)一些實(shí)施例的生態(tài)系統(tǒng)代理411的安全生態(tài)系統(tǒng)組件101的模塊。如上面所提及,生態(tài)系統(tǒng)代理411為特定生態(tài)系統(tǒng)應(yīng)用程序303。與圖4A—樣,結(jié)合圖5詳細(xì)描述圖4B所示的模塊的操作。安全生態(tài)系統(tǒng)組件101的目錄創(chuàng)建模塊403創(chuàng)建生態(tài)系統(tǒng)目錄413。安全生態(tài)系統(tǒng)組件101的目錄寫模塊405將內(nèi)容寫入到生態(tài)系統(tǒng)目錄413中。安全生態(tài)系統(tǒng)組件101的應(yīng)用程序添加模塊419將新應(yīng)用程序303添加到生態(tài)系統(tǒng)301。生態(tài)系統(tǒng)代理411的安全生態(tài)系統(tǒng)組件101還包括密鑰生成模塊401、應(yīng)用程序驗(yàn)證模塊423、通信模塊424、加密模塊425、解密模塊427、目錄讀取模塊429和策略執(zhí)行模塊431,這些模塊執(zhí)行與上文結(jié)合圖4A所述相同的功能。在其他實(shí)施例中,生態(tài)系統(tǒng)代理411的安全生態(tài)系統(tǒng)組件101可根據(jù)需要包括更多、更少或不同的模塊。
[0034]現(xiàn)在轉(zhuǎn)到圖5,根據(jù)一些實(shí)施例描述了安全生態(tài)系統(tǒng)301的操作。如以下更詳細(xì)地闡釋,生態(tài)系統(tǒng)301的各種應(yīng)用程序303使用一組密鑰409來加密和解密數(shù)據(jù)以便允許某些或所有生態(tài)系統(tǒng)應(yīng)用程序303的授權(quán)訪問,并同時(shí)阻止來自生態(tài)系統(tǒng)301外部的訪問。在一個(gè)實(shí)施例中,生態(tài)系統(tǒng)301中每個(gè)應(yīng)用程序303的安全生態(tài)系統(tǒng)組件101的密鑰生成模塊401生成非對稱的密鑰對,應(yīng)用程序303只與生態(tài)系統(tǒng)301的其他成員共享該非對稱的密鑰對中的公用密鑰409publi。(如下所述),而該非對稱的密鑰對的私用密鑰409__只有應(yīng)用程序303知道。應(yīng)當(dāng)理解,由于所述術(shù)語在本文中用于生態(tài)系統(tǒng)301的情景下,因此公用密鑰409publi。并非對全世界公用或?qū)τ?jì)算設(shè)備210上的所有組件公用,而是只在生態(tài)系統(tǒng)301內(nèi)公用。在一個(gè)實(shí)施例中,除了生態(tài)環(huán)境應(yīng)用程序301密鑰對409之外,還存在全生態(tài)系統(tǒng)范圍的對稱加密密鑰409erasystem,其不與任何特定生態(tài)系統(tǒng)應(yīng)用程序303相關(guān)聯(lián),而是與整個(gè)生態(tài)系統(tǒng)301相關(guān)聯(lián)。在一些實(shí)施例中,全生態(tài)系統(tǒng)范圍的對稱加密密鑰409eMsystem自身用密鑰加密密鑰(KEK)409 key加密。全生態(tài)系統(tǒng)范圍的對稱密鑰409 ee()system和/或KEK 409key可由應(yīng)用程序303 (本文稱作生態(tài)系統(tǒng)代理411,其在下面討論)的安全生態(tài)系統(tǒng)組件101的密鑰生成模塊401生成。在不同的實(shí)施例中,在生態(tài)系統(tǒng)301的情景下使用的特定密鑰409會(huì)有所不同。以下更詳細(xì)地描述了各種密鑰409的使用。
[0035]給定的生態(tài)系統(tǒng)301最初由生態(tài)系統(tǒng)代理411在計(jì)算設(shè)備210上建立,生態(tài)系統(tǒng)代理411如上文作為特定生態(tài)系統(tǒng)應(yīng)用程序303所述。更具體地,生態(tài)系統(tǒng)代理411是一種執(zhí)行本文所述的特定功能的生態(tài)系統(tǒng)應(yīng)用程序303。雖然代理411在本文中被描述和示為單個(gè)實(shí)體,但在一些實(shí)施例中,代理411的功能可在多個(gè)應(yīng)用程序303間分發(fā)。代理411通??蓮钠髽I(yè)300獲得。如何能從企業(yè)300獲得代理411的一個(gè)例子是從后端企業(yè)服務(wù)器309下載。如以下更詳細(xì)地闡釋,代理411被信任以建立生態(tài)系統(tǒng)301,例如因?yàn)榇?11被安排提供有由受信源簽署的斷言,該斷言規(guī)定該特定應(yīng)用程序303的確是代理411。
[0036]當(dāng)安裝了代理411時(shí),其安全生態(tài)系統(tǒng)組件101的目錄創(chuàng)建模塊403創(chuàng)建隨后由代理411管理的加密生態(tài)系統(tǒng)目錄413。在一個(gè)實(shí)施例中,目錄413的位置基于生態(tài)系統(tǒng)301的名稱計(jì)算,使得知道生態(tài)系統(tǒng)301的名稱的應(yīng)用程序303可定位(但在不具有適當(dāng)密鑰409的情況下,不讀取)目錄413。利用生態(tài)系統(tǒng)的名稱,目錄413的位置可以使用例如散列算法(例如,雙重散列)來計(jì)算以管理沖突。在其他實(shí)施例中,目錄413的位置被保護(hù)不受以其他方式從生態(tài)系統(tǒng)301外部的訪問。例如,在一個(gè)實(shí)施例中,代理411向新應(yīng)用程序303傳送目錄413的位置作為加入生態(tài)系統(tǒng)301協(xié)議的一部分。目錄413的位置是平臺特定的。例如,在1S下,目錄413可存儲(chǔ)為粘貼板對象。在一些實(shí)施例中,生態(tài)系統(tǒng)代理411維護(hù)目錄413,其他應(yīng)用程序303不可寫入到或以其他方式修改目錄413,雖然其他生態(tài)系統(tǒng)應(yīng)用程序303通??勺x取目錄413,但前提是它們有適當(dāng)?shù)拿荑€409來解密該目錄。目錄413可使用生態(tài)系統(tǒng)代理411的私用密鑰409Private進(jìn)行加密和簽署。在目錄413不能被保護(hù)為免于受到其他應(yīng)用程序303刪除或修改的平臺下,代理411可周期性地檢查目錄413的完整性,并根據(jù)需要執(zhí)行修復(fù)。如果應(yīng)用程序303發(fā)現(xiàn)目錄413丟失或破壞,檢測應(yīng)用程序303可將相應(yīng)的損壞指示發(fā)送到代理411。
[0037]目錄包含每個(gè)活動(dòng)生態(tài)系統(tǒng)應(yīng)用程序303(包括生態(tài)系統(tǒng)代理411)的記錄415 (條目)。應(yīng)用程序303的記錄415包括策略塊和信息塊。策略塊包括企業(yè)300提供的針對應(yīng)