集成操作系統(tǒng)的域管理的制作方法
【專利摘要】一種提供多個(gè)安全域的計(jì)算設(shè)備操作系統(tǒng)。域管理器選擇性地創(chuàng)建多個(gè)安全域,并且選擇多個(gè)安全域中的一個(gè)作為當(dāng)前域。域策略服務(wù)針對(duì)每個(gè)安全域存儲(chǔ)并執(zhí)行包括規(guī)則集的策略,該規(guī)則集控制與該域關(guān)聯(lián)的文件和應(yīng)用的訪問。程序包管理器針對(duì)每個(gè)安全域執(zhí)行與該域關(guān)聯(lián)的應(yīng)用的安裝。域消息服務(wù)提供與多個(gè)安全域中的不同安全域關(guān)聯(lián)的運(yùn)行進(jìn)程之間的通信?;顒?dòng)管理器選擇性地切換當(dāng)前域。實(shí)現(xiàn)了域隔離,同時(shí)啟用了提供對(duì)多個(gè)域的資源的并行訪問的統(tǒng)一用戶界面。
【專利說明】
集成操作系統(tǒng)的域管理
技術(shù)領(lǐng)域
[0001]本公開大體地涉及移動(dòng)設(shè)備安全。更具體地,本公開涉及用于移動(dòng)設(shè)備的安全域管理。
【背景技術(shù)】
[0002]在諸如智能電話,平板和移動(dòng)互聯(lián)網(wǎng)設(shè)備之類的以安卓?、LinUX?或任意基于Unix?的操作系統(tǒng)(例如,iPhone?)為基礎(chǔ)的移動(dòng)設(shè)備上需要多個(gè)隔離域,其中位于域中的應(yīng)用和數(shù)據(jù)與可能由位于該域之外、位于網(wǎng)站上或位于同一設(shè)備的其它域中的應(yīng)用產(chǎn)生的安全威脅隔離。這樣的多個(gè)安全域通常將由單個(gè)用戶、設(shè)備擁有者使用,以解決與不同移動(dòng)設(shè)備使用情況關(guān)聯(lián)的不同訪問容易度、隱私要求和安全要求。例如,設(shè)備擁有者可能對(duì)游戲應(yīng)用具有與對(duì)移動(dòng)銀行應(yīng)用和數(shù)據(jù)不同的訪問容易度、隱私要求和安全要求,或者設(shè)備擁有者可能期望暫時(shí)與家庭成員或朋友共享其設(shè)備上的特定應(yīng)用,而不共享其它應(yīng)用和數(shù)據(jù),如個(gè)人電子郵件、聯(lián)系人和文本消息。此外,存在由諸如設(shè)備擁有者或外部團(tuán)體(如機(jī)構(gòu)或公司)之類的不同實(shí)體管理不同域的要求,其中每個(gè)實(shí)體可能對(duì)他們管理的域中的應(yīng)用和數(shù)據(jù)的訪問和使用具有不同的安全要求。例如,對(duì)于在每個(gè)域中允許的應(yīng)用以及應(yīng)用可以在域中執(zhí)行的條件,這些要求可能在域之間不同,每個(gè)要求可能需要是可由管理每個(gè)域的實(shí)體針對(duì)該域唯一地配置的。根據(jù)在域中包含的應(yīng)用和數(shù)據(jù)的類型,還需要支持為進(jìn)入不同域所需要的不同用戶認(rèn)證機(jī)制、不同的重認(rèn)證時(shí)間范圍(或可選地沒有認(rèn)證)(例如,設(shè)備擁有者可能不希望輸入密碼來玩游戲或訪問谷歌?地圖,但他們可能希望具有對(duì)訪問移動(dòng)銀行應(yīng)用的強(qiáng)認(rèn)證形式)。
[0003]移動(dòng)設(shè)備安全和域隔離領(lǐng)域的現(xiàn)有技術(shù)已經(jīng)使用傳統(tǒng)個(gè)人計(jì)算機(jī)(PC)和服務(wù)器計(jì)算安全技術(shù),如用戶賬戶、管理程序/虛擬化、應(yīng)用程序包裝器和防病毒掃描。然而,移動(dòng)設(shè)備的典型使用實(shí)質(zhì)上與這些傳統(tǒng)環(huán)境不同。移動(dòng)設(shè)備本質(zhì)上是移動(dòng)的,并且總是伴隨設(shè)備擁有者。他們是連接的,總是開機(jī)的并且需要對(duì)短持續(xù)時(shí)間的任務(wù)的快速訪問。它們以實(shí)質(zhì)上與傳統(tǒng)工作站和大型機(jī)共享不同的方式共享。功耗對(duì)移動(dòng)設(shè)備也是至關(guān)重要的,這是耗電的病毒掃描和虛擬化技術(shù)也必須在移動(dòng)設(shè)備上廣泛使用的一個(gè)原因。
[0004]—種傳統(tǒng)的域隔離方法是在設(shè)備上創(chuàng)建單獨(dú)的用戶賬戶,由此,每個(gè)用戶必須登錄已經(jīng)為該用戶配置的賬戶。根據(jù)操作系統(tǒng)(OS),這可能迫使另一用戶注銷。此方法支持單個(gè)設(shè)備上的多個(gè)用戶,并且分離或隔離每個(gè)用戶的應(yīng)用數(shù)據(jù)。在所有用戶之間利用相同的操作系統(tǒng),并且所有用戶具有相同的用戶界面特征。所有用戶可訪問已安裝的應(yīng)用,這是存儲(chǔ)器和中央處理單元(CPU)資源的有效使用。這也允許用戶以他們期望的外觀和感覺配置他們的賬戶。
[0005]雖然用戶賬戶提供數(shù)據(jù)隔離以及在不同用戶賬戶之間使用相同應(yīng)用和OS的效率,但是此方法受以下限制。其提供對(duì)設(shè)備的全部訪問或全部不訪問,而沒有臨時(shí)訪問的靈活性。“來賓”用戶賬戶可以被設(shè)置有限的訪問權(quán),但這不能幫助對(duì)移動(dòng)設(shè)備而言(例如,對(duì)家庭成員或朋友而言)常見的自發(fā)共享。用戶賬戶在被認(rèn)為是個(gè)人設(shè)備的移動(dòng)設(shè)備上通常不可用。用戶仍然必須在每個(gè)用戶賬戶之間切換,這不能反映人們期望使用他們的移動(dòng)設(shè)備的方式。在切換用戶賬戶時(shí)用戶必須登錄,這進(jìn)一步造成該方法的不方便,因?yàn)樵诙嘤脩糍~戶情況中的第一用戶和第二用戶之間沒有隱含關(guān)系。通常不存在不活動(dòng)的計(jì)時(shí)器或類似機(jī)制,使得在切換域時(shí)不總是需要登錄。用戶(賬戶)之間的隔離位于用戶空間或應(yīng)用級(jí),并且由OS執(zhí)行。具有管理員或根權(quán)限的任何人或任何軟件(包括惡意軟件)可以訪問所有用戶的數(shù)據(jù)。一些系統(tǒng)確定能夠加密一些用戶數(shù)據(jù)來幫助緩解此侵害,但是用戶數(shù)據(jù)通常仍極易受攻擊,并且任何內(nèi)核級(jí)開發(fā)或處理能夠修改應(yīng)用、進(jìn)程,攔截?cái)?shù)據(jù)并且訪問其期望的任何文件/對(duì)象。
[0006]此外,(在大型計(jì)算機(jī)上開發(fā)的且類似地?cái)U(kuò)展至臺(tái)式機(jī)的)傳統(tǒng)用戶賬戶在真正的個(gè)人設(shè)備(如智能電話)上不能很好地工作。移動(dòng)設(shè)備與大型計(jì)算機(jī)或臺(tái)式計(jì)算機(jī)不同地共享。設(shè)備擁有者和用戶日益想要具有移動(dòng)設(shè)備上的傳統(tǒng)鎖屏或‘全部或全部不’訪問控制機(jī)制的替代方式。例如,設(shè)備擁有者在不需要用戶認(rèn)證的域中具有頻繁地訪問的且不包含敏感信息的應(yīng)用,是令人期望的;這與個(gè)人保護(hù)域或工作保護(hù)域的要求不同。這種開放的、共享的或公共的域的主要目標(biāo)是在這樣的應(yīng)用和數(shù)據(jù)的安全被用戶視為不重要時(shí)(例如,天氣或?qū)Ш?的使用方便和快速訪問。因此,用戶不想每次他們?cè)L問這樣的開放域時(shí)都輸入密碼或PIN。此外,這樣的開放域可以包括與用戶或域擁有者可以在他們的保護(hù)域中允許的那些應(yīng)用相比可能不那么可信的應(yīng)用。例如,安卓上的許多應(yīng)用已知會(huì)訪問聯(lián)系人數(shù)據(jù)庫。最后,雖然這種權(quán)限必須在安裝時(shí)被授權(quán)以能夠安裝應(yīng)用,但是許多用戶對(duì)此不嚴(yán)密地進(jìn)行檢查或不理解授予這樣權(quán)限的含義。
[0007]現(xiàn)在參照?qǐng)D1A至ID描述其它傳統(tǒng)域隔離方法。
[0008]如本領(lǐng)域已知的且在圖1A中圖示的,實(shí)現(xiàn)操作系統(tǒng)的計(jì)算設(shè)備(如移動(dòng)設(shè)備)可以被理解為包括:硬件、包括內(nèi)核和中間件的操作系統(tǒng)、以及應(yīng)用空間(或用戶空間)。內(nèi)核管理軟件應(yīng)用并且向軟件應(yīng)用提供輸入/輸出(I/O)服務(wù)以訪問硬件,并且中間件向軟件應(yīng)用提供除由內(nèi)核提供的那些服務(wù)之外的服務(wù)。
[0009]圖1B和圖1C中圖示的一種傳統(tǒng)域隔離方法使用基于管理程序的虛擬化或虛擬機(jī)。利用虛擬機(jī)來某種程度地復(fù)制操作系統(tǒng),以提供不同的隔離域。根據(jù)管理程序,存在不同類型的虛擬機(jī)。圖1B中圖示的類型1(或裸機(jī))管理程序直接在設(shè)備CPU上運(yùn)行(‘裸機(jī)’),且通過針對(duì)每個(gè)域支持完整的且分離的無特權(quán)的操作系統(tǒng)實(shí)例,提供域隔離。隔離僅依賴于管理程序。圖1C中圖示的類型2管理程序是另一虛擬化方法,其中第二來賓OS在主OS之上運(yùn)行。還存在其它混合操作系統(tǒng)級(jí)虛擬化方法。
[0010]基于管理程序的虛擬化提供域之間的隔離,但受到以下限制。OS和應(yīng)用的復(fù)制意味著在設(shè)備存儲(chǔ)器、CPU和功耗方面存在顯著設(shè)備開銷。管理程序方案的高資源需求使得支持多個(gè)域不現(xiàn)實(shí)。數(shù)據(jù)、應(yīng)用共享和進(jìn)程間通信(IPC)通常是不可能的,盡管提出了如果管理程序支持特殊消息服務(wù)則通過特殊消息服務(wù)進(jìn)行某種跨域數(shù)據(jù)共享。每個(gè)OS被暴露給內(nèi)核級(jí)惡意軟件,內(nèi)核級(jí)惡意軟件可能破壞域之間的隔離。用戶必須在域之間來回切換(例如,從個(gè)人應(yīng)用切換至工作應(yīng)用),這不反映人們期望使用他們的移動(dòng)設(shè)備的方式。將類型I或類型2管理程序集成到移動(dòng)設(shè)備上的時(shí)間和開銷是非常高的,使得此方法對(duì)于低成本的移動(dòng)設(shè)備不可行。在域之間切換的性能影響高。最終,這樣的方案支持由每個(gè)OS提供任何用戶賬戶和用戶認(rèn)證,這是傳統(tǒng)的全部或全部不訪問。
[0011]圖1D圖示的移動(dòng)設(shè)備上的域隔離的第三種傳統(tǒng)方法涉及應(yīng)用級(jí)容器化(containerizat1n)。在這樣的情況中,應(yīng)用容器(或域)共享相同的硬件和OS,但使用容器化或包裝器技術(shù)來作為容器和OS中的應(yīng)用之間的代理。這通過提供間接的一層產(chǎn)生多個(gè)獨(dú)立域,使得較低級(jí)設(shè)備資源、存儲(chǔ)器和文件系統(tǒng)可以透明地映射至僅應(yīng)當(dāng)由容器或域中的應(yīng)用訪問的更高級(jí)資源。盡管應(yīng)用在容器內(nèi)和容器外通常被復(fù)制(例如,在容器內(nèi)可以用于工作和在容器外可以用于個(gè)人使用的電子郵件應(yīng)用),但是由于僅存在一個(gè)版本的OS,所以容器化在移動(dòng)設(shè)備資源的消耗方面(尤其與虛擬化相比)是相對(duì)高效的。作為應(yīng)用級(jí)方案,容器方案具有非常實(shí)際的好處,因?yàn)槠湟呀?jīng)在本領(lǐng)域中(例如,反向兼容)被下載到設(shè)備上。
[0012]在容器化中,所有安全和所有執(zhí)行都被包裝在容納應(yīng)用的容器周圍。因此,下載被容納的應(yīng)用的任何人不但接收該應(yīng)用,而且接收與該應(yīng)用關(guān)聯(lián)的所有安全信息。利用容器化,壞人仍然可能:(I)對(duì)安全策略進(jìn)行反向工程;或(2)在環(huán)境中(如在可以從其中提取信息的仿真器上)執(zhí)行該應(yīng)用。
[0013]但是,應(yīng)用級(jí)容器化作為一種用于域隔離的方法受到以下限制。從安全角度看,具有一些基礎(chǔ)技能的黑客或者位于設(shè)備上的惡意軟件相對(duì)容易地?cái)r截容器和OS之間的調(diào)用,從而破壞隔離并捕獲數(shù)據(jù)和個(gè)人信息。容器化不是在操作系統(tǒng)或內(nèi)核中執(zhí)行的,并且暴露于可能在設(shè)備上存在的惡意軟件。例如,如果操作系統(tǒng)是Linux或安卓且黑客獲得根訪問特權(quán),那么相對(duì)簡單的是從RAM中提取域數(shù)據(jù)或其它重要信息(例如,用于訪問域的密碼,或用于加密域中的數(shù)據(jù)的密碼術(shù)密鑰),或這樣的內(nèi)核級(jí)惡意軟件在I/O驅(qū)動(dòng)(如麥克風(fēng)或幀緩沖器)上竊聽。容器隔離由該容器“包裝”的應(yīng)用和數(shù)據(jù),但不限制不在容器中的其它應(yīng)用訪問存儲(chǔ)器、文件或網(wǎng)絡(luò)等??缬蚬蚕韱蝹€(gè)應(yīng)用映像是不可能的,這樣的技術(shù)不允許相同的應(yīng)用既在容器內(nèi)又在容器外。結(jié)果,容器通常僅支持已對(duì)該容器修改的預(yù)定應(yīng)用,如郵件、消息、瀏覽、聯(lián)系人、日歷等。這不提供用戶或公司IP部門期望的應(yīng)用選擇。公共應(yīng)用必須被修改以支持容器,這成倍增加設(shè)備上的存儲(chǔ)器和內(nèi)存并且增加應(yīng)用開發(fā)者的努力和參與。通常,必須為容器方案專門創(chuàng)建私人應(yīng)用儲(chǔ)存庫,這增加了對(duì)供應(yīng)商方案的鎖定且需要應(yīng)用開發(fā)者的參與,從而進(jìn)一步限制選擇。利用應(yīng)用包裝方法,可能需要用對(duì)如何存儲(chǔ)、共享和發(fā)送數(shù)據(jù)進(jìn)行控制的安全庫對(duì)可執(zhí)行的代碼打補(bǔ)丁。這引入了許可和版權(quán)問題,因?yàn)橥ǔ2皇跈?quán)許可擁有者修改應(yīng)用。用戶必須仍在域或容器之間來回切換,這不反映人們使用其移動(dòng)設(shè)備的方式。最后,域通常具有其自己預(yù)定的用戶界面,該預(yù)定用戶界面不同于本地OS用戶體驗(yàn)且不能由設(shè)備用戶定制。
[0014]域隔離的又一種方法是設(shè)備操作系統(tǒng)中的內(nèi)核級(jí)平臺(tái)安全方法,如Secur i tyEnhanced Linux?(SELinux?) AELinux提供應(yīng)用和用戶對(duì)對(duì)象和資源(如文件)的強(qiáng)制訪問控制(MAC)。為每個(gè)用戶或應(yīng)用分配安全標(biāo)簽,并且可以為所有標(biāo)簽分配策略。SELinux可以用于與域切換機(jī)制相結(jié)合的基于角色的訪問控制,但是安卓?不以這樣的方式使用用戶標(biāo)識(shí)符。SELinux使用特殊內(nèi)核模塊,該特殊內(nèi)核模塊依賴于Linux中的Linux安全模塊(LSM)接口來基于安全策略執(zhí)行進(jìn)程之間的隔離。在加載之前可以針對(duì)SELinux策略驗(yàn)證應(yīng)用,并且所有進(jìn)程可以局限于預(yù)定訪問,使得如果策略不允許那樣,那么一個(gè)應(yīng)用不能啟動(dòng)或訪問另一進(jìn)程、目錄或數(shù)據(jù)。利用正確的策略機(jī)制,可以防止應(yīng)用、惡意軟件以及甚至內(nèi)核根套件(root kits)訪問屬于另一用戶或應(yīng)用的應(yīng)用和數(shù)據(jù)。
[0015]雖然與容器相比以及與虛擬化方法相比,本地OS方案從安全、性能和應(yīng)用隔離角度具有許多優(yōu)點(diǎn),但是其受到如下缺陷:內(nèi)核對(duì)中間件級(jí)不具有用以能夠執(zhí)行在中間件級(jí)要求的域隔離的可見性。
[0016]此外,內(nèi)核級(jí)平臺(tái)安全作為用于域隔離的方法受到以下限制。這樣的內(nèi)核模塊方法不具有任何用戶界面或域的概念,但是通常使用已有的傳統(tǒng)用戶賬戶,這包括允許具有跨所有域的特權(quán)的根或管理員賬戶。在此方法中使用的內(nèi)核模塊在操作系統(tǒng)中是非常低的,且不具有如下的細(xì)化的應(yīng)用特定信息:該細(xì)化的應(yīng)用特定信息用于提供為滿足移動(dòng)設(shè)備上的隔離域的消費(fèi)者需求和共同使用所需的那類策略控制(例如,用于域的用戶認(rèn)證策略)以及應(yīng)用控制(例如,對(duì)特定域的應(yīng)用約束)。將SELinux類型策略語言和執(zhí)行擴(kuò)展至中間件顯著提高了方案的復(fù)雜性。這樣的策略通常是靜態(tài)的且不是最新的。已存在用于為SELinux提供遠(yuǎn)程策略更新的計(jì)劃,但策略應(yīng)用于整個(gè)設(shè)備且對(duì)于每個(gè)域不是唯一的。例如,安卓上的進(jìn)程間通信(IPC)難以監(jiān)控,因?yàn)闄?quán)限檢查以及調(diào)用方/被調(diào)用方檢查是安卓中間件中實(shí)施的,并且內(nèi)核不能訪問足夠的信息來監(jiān)視和控制域之間的IPC。最終,通常沒有對(duì)限定域間數(shù)據(jù)共享的用戶和應(yīng)用訪問的足夠細(xì)化控制,這引起數(shù)據(jù)泄露問題,這對(duì)于特定類型的數(shù)據(jù)是不可接受的。雖然這可能對(duì)于一些共享應(yīng)用(例如,攝像頭和圖片庫)是可接受的,但是存在用內(nèi)核級(jí)方案不可能實(shí)現(xiàn)的對(duì)文件和文件閱讀器應(yīng)用(例如,PDF查看器)需要的更高程度細(xì)化。
[0017]用于提供安全的另一傳統(tǒng)方法是加密的文件系統(tǒng),如密碼術(shù)的堆疊文件系統(tǒng)。例如,eCryptFS文件系統(tǒng)(http: //ecryptfs.0rg)是用于Linux的POSIX兼容的企業(yè)密碼術(shù)堆疊文件系統(tǒng)。但是,加密的文件系統(tǒng)不是提供多個(gè)域的合適方式。
[0018]因此,期望提供用于在移動(dòng)設(shè)備上創(chuàng)建多個(gè)域的方式,其中位于域中的應(yīng)用和數(shù)據(jù)與安全威脅隔離(安全威脅可能產(chǎn)生自網(wǎng)站上的位于該域之外或相同設(shè)備上位于另一域中的應(yīng)用),且該方式緩解上述傳統(tǒng)方法中每個(gè)傳統(tǒng)方法的一個(gè)或多個(gè)缺陷,提供了相對(duì)于這些傳統(tǒng)方法上的優(yōu)點(diǎn),或提供了這些傳統(tǒng)方法的替代方法。
[0019]附圖圖示
[0020]現(xiàn)在將參照附圖,僅通過示例來描述本公開的實(shí)施例。
[0021]圖1A、圖1B、圖1C和圖1D示出圖示用于域隔離的操作系統(tǒng)結(jié)構(gòu)和傳統(tǒng)方法的框圖。
[0022]圖2示出圖示用于提供隔離域的本發(fā)明的系統(tǒng)的框圖。
[0023]圖3示出圖示多個(gè)用戶賬戶和多個(gè)域的實(shí)現(xiàn)方式的示意圖。
[0024]圖4示出圖示從第一域切換至第二域的方法的框圖。
[0025]圖5示出圖示域消息方法的框圖。
[0026]圖6示出圖示跨域執(zhí)行方法的框圖。
[0027]圖7示出圖示域應(yīng)用安裝方法的框圖。
[0028]圖8示出圖示更新策略方法的框圖。
[0029]圖9示出圖示從當(dāng)前域切換至另一域的方法的框圖。
[0030]圖1O示出圖示從當(dāng)前域切換至未運(yùn)行的、加密的、且要求訪問認(rèn)證的目標(biāo)域的方法的框圖。
【具體實(shí)施方式】
[0031]本文公開的方案向移動(dòng)設(shè)備提供靈活的、有效的且安全的隔離域以及這樣的域的管理,并且減輕上面描述的傳統(tǒng)方法中的每個(gè)傳統(tǒng)方法的一個(gè)或多個(gè)缺陷,提供相比于這些傳統(tǒng)方法的優(yōu)點(diǎn),或提供這樣的傳統(tǒng)方法的替代方法。
[0032]下面的要素與克服上面的傳統(tǒng)方法的缺點(diǎn)的方案有關(guān)。首先,近些年已經(jīng)從主要將移動(dòng)設(shè)備用于移動(dòng)電話和SMS(短消息服務(wù))轉(zhuǎn)移至將移動(dòng)設(shè)備用于網(wǎng)頁瀏覽、社交網(wǎng)絡(luò)、游戲、電子郵件、即時(shí)消息、基于定位的服務(wù)和移動(dòng)商務(wù)。利用經(jīng)由服務(wù)提供商和WiFi的寬互聯(lián)網(wǎng)連接,移動(dòng)計(jì)算一直是連接的,且是真正地移動(dòng)的。此外,由于應(yīng)用激增以及包括諸如像攝像頭、GPS、加速度計(jì)、氣壓計(jì)等之類的傳感器的設(shè)備的能力,移動(dòng)設(shè)備具有更加多樣的用途。它們通過IP網(wǎng)絡(luò)或傳統(tǒng)電話網(wǎng)絡(luò)用于娛樂,社交網(wǎng)絡(luò),攝像頭/視頻,導(dǎo)航,訪問用于個(gè)人(例如,照片共享)或工作(例如,公司CRM系統(tǒng))或二者結(jié)合(例如,文件共享(如DropBox))的云服務(wù),以及來自文本、聊天、電子郵件和語音的許多形式的消息。此外,隨著不斷增加的這種移動(dòng)設(shè)備上的應(yīng)用的功率、連接和數(shù)量,用戶日益在這些設(shè)備上存儲(chǔ)和追蹤更敏感的信息(例如,個(gè)人數(shù)據(jù)、憑證、密碼術(shù)密鑰、信用卡號(hào)、密碼、聯(lián)系人、過去的位置、當(dāng)前位置、網(wǎng)頁瀏覽歷史、安裝的應(yīng)用以及當(dāng)前設(shè)備狀態(tài)(例如,未移動(dòng))等)。此敏感信息通常是惡意用戶和惡意軟件(電腦病毒)的目標(biāo)。此外,由于移動(dòng)設(shè)備隨人一起攜帶且由于它們的可擴(kuò)展能力,所以希望能夠快速地訪問這些設(shè)備以進(jìn)行快速回復(fù)、快速網(wǎng)頁搜索等。傳統(tǒng)設(shè)備鎖定程序的使用帶來不方便。例如,為了查找詞典中的詞,用戶可能不希望輸入密碼來解鎖設(shè)備。此外,經(jīng)常例如為了臨時(shí)目的而共享移動(dòng)設(shè)備(或期望共享移動(dòng)設(shè)備),如為了進(jìn)行電話呼叫、讓家庭成員玩游戲或在設(shè)備擁有者正在開車時(shí)在車輛導(dǎo)航過程中。這大大不同于傳統(tǒng)計(jì)算或服務(wù)器環(huán)境中的傳統(tǒng)用戶賬戶,其中在多人之間共享一個(gè)設(shè)備或服務(wù),但提前知道這些用戶,且這樣的共享使用往往是在持續(xù)不斷的和規(guī)則的基礎(chǔ)上的。此外,由于移動(dòng)設(shè)備的較小形狀因子以及使用頻率和位置,移動(dòng)設(shè)備比便攜式計(jì)算機(jī)或PC大大頻繁地丟失或被偷,因此可能落入黑客手中。許多用戶和企業(yè)需要遠(yuǎn)程地鎖定、定位和/或“擦除”(從設(shè)備上刪除所有應(yīng)用和數(shù)據(jù))丟失或被偷的移動(dòng)設(shè)備的方式,該方式包括一些國家的智能電話防盜條例(http: //www.ctia.0rg/poI icy-1nitiatives/voluntary-guidel ines/smartphone-ant1-theft-voluntary-commitment)。此外,公司環(huán)境中的員工針對(duì)個(gè)人用途和工作用途使用單個(gè)設(shè)備是常見的。這是共享的另一形式一但僅是硬件和網(wǎng)絡(luò)服務(wù)的共享一其中由于公司期望擁有和控制工作數(shù)據(jù)的傳播(例如,尤其在員工離職時(shí)),所以安全、隱私和數(shù)據(jù)隔離要求較高,且用戶可能具有他不想要與雇主共享的隱私數(shù)據(jù)。在許多情況下,相同的應(yīng)用可以用于個(gè)人使用和公司使用一一因?yàn)檫@樣提高生產(chǎn)率一一然而,應(yīng)用數(shù)據(jù)必須隔離,使得可以刪除(擦除)公司數(shù)據(jù)而不影響個(gè)人數(shù)據(jù),或者可以刪除(擦除)個(gè)人數(shù)據(jù)而不影響公司數(shù)據(jù)。此外,由于設(shè)備能力、敏感信息、共享和雙重使用,所以越來越需要隱私和靈活的訪問控制。通知常常顯示設(shè)備擁有者不總是希望每個(gè)人看到或訪問的敏感個(gè)人信息(聊天消息、軟件更新、廣告)。用戶想要借出其設(shè)備的靈活性,但期望限制訪問特定能力和/或服務(wù),如只讀、僅接聽電話呼叫或特定賬戶(例如,臉書(Facebook))。許多用戶面對(duì)在全部或全部不設(shè)備鎖定的不滿意替代和根本不保護(hù)設(shè)備之間進(jìn)行選擇。最后,移動(dòng)設(shè)備本質(zhì)上比PC連接至更多的網(wǎng)絡(luò)(例如,飯店、酒店和機(jī)場中的WiFi網(wǎng)絡(luò)),這使這些設(shè)備暴露于更多基于網(wǎng)絡(luò)的攻擊、入侵和分組捕獲。此外,移動(dòng)設(shè)備用戶可訪問第三方應(yīng)用儲(chǔ)存庫,第三方應(yīng)用儲(chǔ)存庫使用戶能夠下載可能包含惡意軟件(電腦病毒)的應(yīng)用。例如,基于安卓操作系統(tǒng)的移動(dòng)設(shè)備現(xiàn)在占以移動(dòng)設(shè)備為目標(biāo)的惡意軟件的90%以上。
[0033]在本文中,‘域’可以被認(rèn)為代表一組資源(例如數(shù)據(jù)文件、應(yīng)用和服務(wù))和規(guī)則集或‘策略’之間的關(guān)系,由此進(jìn)程對(duì)資源的訪問至少部分地受策略控制。例如,可以認(rèn)為特定域包括或包含與該域關(guān)聯(lián)的多個(gè)數(shù)據(jù)文件,并且對(duì)這些數(shù)據(jù)文件的訪問至少部分地受與該域關(guān)聯(lián)地限定的策略控制。類似地,可以安裝應(yīng)用或者應(yīng)用可以與特定域關(guān)聯(lián),并且對(duì)該應(yīng)用(包括例如執(zhí)行應(yīng)用的能力)的訪問至少部分地受與該域關(guān)聯(lián)地限定的策略控制。
[0034]例如,在單用戶設(shè)備中能夠提供具有對(duì)選擇的應(yīng)用和其它資源提供不同訪問權(quán)的不同策略的多個(gè)域,是令人期望的。在一個(gè)情況中,可能令人期望的是,提供需要認(rèn)證且包含希望孩子不可訪問的數(shù)據(jù)或應(yīng)用的受限域,以及不需要認(rèn)證且希望孩子可訪問(以例如玩游戲)的兒童模式域。因此,當(dāng)在開放域中操作時(shí),受限域的數(shù)據(jù)或應(yīng)用不可由與開放域關(guān)聯(lián)的進(jìn)程訪問,是令人期望的。
[0035]上面討論的域的期望功能中的一些可以由通常在多用戶操作系統(tǒng)中實(shí)現(xiàn)的傳統(tǒng)用戶賬戶提供??梢哉J(rèn)為這樣的用戶賬戶構(gòu)成一種域,因?yàn)橛脩糍~戶代表一組資源(例如,用戶的數(shù)據(jù)文件、應(yīng)用)以及與控制對(duì)用戶資源的訪問的該用戶賬戶(例如,權(quán)限、特權(quán))關(guān)聯(lián)的規(guī)則集或策略,等等。
[0036]但是,針對(duì)在移動(dòng)設(shè)備上提供不同域資源的安全隔離的益處以及方便且統(tǒng)一的單用戶體驗(yàn),傳統(tǒng)用戶賬戶不是恰當(dāng)?shù)姆绞?。除上面的期望功能之外,提供期望體驗(yàn)還需要并行實(shí)施涉及兩個(gè)域的動(dòng)作的能力,例如從一個(gè)域向另一域進(jìn)行復(fù)制并粘貼、提供并行訪問多個(gè)域的資源的單用戶界面、或從在第一域中操作的郵件客戶端打開與第二域關(guān)聯(lián)的郵件。傳統(tǒng)用戶賬戶不旨在支持這樣的功能,因?yàn)橛脩舾綦x控制(通常集成在操作系統(tǒng)服務(wù)中的且邏輯上符合不同用戶賬戶旨在由不同個(gè)體使用的假設(shè))不允許或者不容易地支持不同域的多個(gè)進(jìn)程和資源的現(xiàn)成共享和協(xié)作,該現(xiàn)成共享和協(xié)作是由個(gè)體并行地使用多個(gè)域以啟用期望功能所需要的。
[0037]雖然如上面討論的那樣,可能不以與用戶賬戶相同的方式限制諸如虛擬化和容器化之類的替代隔離機(jī)制,但它們具有上面討論的不同缺陷。因此,希望提供隔離域管理作為操作系統(tǒng)的集成特征。此外,雖然仍如上面討論的那樣,一些期望功能可以由位于操作系統(tǒng)的內(nèi)核中的服務(wù)提供,但是當(dāng)前操作系統(tǒng)內(nèi)核通常不能支持或允許足夠的域信令和域管理來提供為同時(shí)涉及多個(gè)域的動(dòng)作所需的進(jìn)程共享和協(xié)作。
[0038]因此,所公開的方案經(jīng)由對(duì)操作系統(tǒng)的現(xiàn)有組件或服務(wù)的修改或新的組件或服務(wù)的引入,來提供域感知。在一些實(shí)施例中,組件和服務(wù)中的至少一些設(shè)置在內(nèi)核外的操作系統(tǒng)中,即在中間件中(中間件在本文中用于表示內(nèi)核外部且在內(nèi)核和用戶應(yīng)用之間的操作系統(tǒng))。在一些實(shí)施例中,組件和服務(wù)中的至少一些設(shè)置在操作系統(tǒng)內(nèi)核中。在一些實(shí)施例中,由操作系統(tǒng)中間件的經(jīng)修改或新的組件或服務(wù)啟用域創(chuàng)建和管理,并且域執(zhí)行由操作系統(tǒng)內(nèi)核實(shí)施,并且為此目的提供經(jīng)修改或新的內(nèi)核模塊或內(nèi)核修改。
[0039]因此,在第一實(shí)施例中,在包括處理器和存儲(chǔ)可由該處理器執(zhí)行以實(shí)現(xiàn)安卓操作系統(tǒng)的存儲(chǔ)器的移動(dòng)設(shè)備中,改進(jìn)包括:用戶管理器,該用戶管理器用于選擇性地創(chuàng)建與在安卓操作系統(tǒng)中實(shí)現(xiàn)的任意用戶賬戶不同的多個(gè)域;域管理器,該域管理器用于選擇多個(gè)域中的一個(gè)作為當(dāng)前域;域策略服務(wù),該域策略服務(wù)用于針對(duì)每個(gè)域,存儲(chǔ)和執(zhí)行包括規(guī)則集的策略,該規(guī)則集控制對(duì)與該域關(guān)聯(lián)的文件和應(yīng)用的訪問;程序包管理器,該程序包管理器用于針對(duì)每個(gè)域,基于該域的策略和當(dāng)前域的策略,選擇性地允許或阻止與該域關(guān)聯(lián)的應(yīng)用的安裝或執(zhí)行;域消息服務(wù),該域消息服務(wù)用于基于多個(gè)域中不同域的相應(yīng)策略,提供與多個(gè)域中該不同域關(guān)聯(lián)的運(yùn)行進(jìn)程之間的通信;以及活動(dòng)管理器,該活動(dòng)管理器用于選擇性地切換當(dāng)前域,其中用戶管理器、域管理器、域策略服務(wù)、程序包管理器、域消息服務(wù)以及活動(dòng)管理器在安卓操作系統(tǒng)的內(nèi)核外部在該安卓操作系統(tǒng)中實(shí)現(xiàn)。改進(jìn)可以進(jìn)一步包括:域內(nèi)核模塊,該域內(nèi)核模塊用于針對(duì)每個(gè)域,執(zhí)行與該域關(guān)聯(lián)的策略,其中域內(nèi)核模塊在安卓操作系統(tǒng)的內(nèi)核中實(shí)現(xiàn)。
[0040]在第二實(shí)施例中,由計(jì)算設(shè)備的處理器實(shí)施的用于在該計(jì)算設(shè)備的操作系統(tǒng)中提供多個(gè)安全域的方法包括:(a)針對(duì)每個(gè)安全域:(al)將該安全域的資源與唯一域標(biāo)識(shí)符關(guān)聯(lián),該資源包括至少一個(gè)數(shù)據(jù)文件或至少一個(gè)應(yīng)用;以及(a2)與該唯一域標(biāo)識(shí)符關(guān)聯(lián)地存儲(chǔ)策略,該策略包括用于控制對(duì)該資源的訪問的規(guī)則集;(b)接收該多個(gè)安全域中選擇的一個(gè)作為當(dāng)前域,其中該多個(gè)安全域包括與當(dāng)前域不同的目標(biāo)域;以及(C)基于與當(dāng)前域關(guān)聯(lián)的策略以及與目標(biāo)域關(guān)聯(lián)的策略,控制對(duì)目標(biāo)域資源的訪問。
[0041]在第三實(shí)施例中,用于在計(jì)算設(shè)備的操作系統(tǒng)中提供多個(gè)安全域的方法包括:(a)針對(duì)每個(gè)安全域:(al)將該安全域的資源與關(guān)聯(lián)于該安全域的唯一域標(biāo)識(shí)符關(guān)聯(lián),該資源包括至少一個(gè)數(shù)據(jù)文件或至少一個(gè)應(yīng)用;以及(a2)與該唯一域標(biāo)識(shí)符關(guān)聯(lián)地存儲(chǔ)策略,該策略包括用于控制對(duì)該資源的訪問的規(guī)則集;(b)生成與關(guān)聯(lián)于該多個(gè)安全域中的第一安全域的初始進(jìn)程關(guān)聯(lián)的事件消息;(C)確定與該多個(gè)安全域中的第二安全域關(guān)聯(lián)的目標(biāo)進(jìn)程被配置為對(duì)該事件消息做出響應(yīng);(d)基于與該第一域關(guān)聯(lián)的策略以及與該第二域關(guān)聯(lián)的策略,處理該事件消息,以產(chǎn)生經(jīng)處理的事件消息;以及(e)基于與該第一域關(guān)聯(lián)的策略和與該第二域關(guān)聯(lián)的策略,向該目標(biāo)進(jìn)程傳遞該經(jīng)處理的事件消息或?qū)υ撃繕?biāo)進(jìn)程阻止該經(jīng)處理的事件消息。
[0042]在第四實(shí)施例中,在計(jì)算設(shè)備的操作系統(tǒng)中提供多個(gè)安全域的方法包括:(a)針對(duì)每個(gè)安全域:(al)將該安全域的資源與關(guān)聯(lián)于該安全域的唯一域標(biāo)識(shí)符關(guān)聯(lián),該資源包括至少一個(gè)數(shù)據(jù)文件或至少一個(gè)應(yīng)用;以及(a2)與該唯一域標(biāo)識(shí)符關(guān)聯(lián)地存儲(chǔ)策略,該策略包括用于控制對(duì)該資源的訪問的規(guī)則集;(b)從與多個(gè)安全域中的第一安全域關(guān)聯(lián)的初始進(jìn)程接收用于啟動(dòng)與多個(gè)安全域中的第二安全域關(guān)聯(lián)的目標(biāo)進(jìn)程的請(qǐng)求;以及(C)基于與該第一域關(guān)聯(lián)的策略和與該第二域關(guān)聯(lián)的策略,處理該請(qǐng)求。
[0043]在第五實(shí)施例中,在具有處理器和用于存儲(chǔ)包括內(nèi)核和位于該內(nèi)核之外的中間件的操作系統(tǒng)的存儲(chǔ)機(jī)制的數(shù)據(jù)處理系統(tǒng)中,一種方法包括:在該中間件中提供第一裝備,該第一裝備用于創(chuàng)建多個(gè)域并且將該多個(gè)域與用于控制對(duì)該多個(gè)域的訪問的對(duì)應(yīng)策略關(guān)聯(lián);在該中間件中提供第二裝備,該第二裝備用于在該多個(gè)域之間切換;以及至少部分地在該中間件中提供第三裝備,該第三裝備用于執(zhí)行該多個(gè)域的對(duì)應(yīng)策略。
[0044]在第六實(shí)施例中,一種計(jì)算設(shè)備包括處理器和存儲(chǔ)指令的存儲(chǔ)器,該指令可由該處理器執(zhí)行以實(shí)時(shí)提供多個(gè)安全域的操作系統(tǒng),并且該操作系統(tǒng)包括:域管理器,該域管理器用于選擇性地創(chuàng)建該多個(gè)安全域,并且用于選擇該多個(gè)安全域中的一個(gè)作為當(dāng)前域;域策略服務(wù),該域策略服務(wù)用于針對(duì)每個(gè)安全域,存儲(chǔ)并執(zhí)行包括規(guī)則集的策略,該規(guī)則集控制對(duì)與該域關(guān)聯(lián)的文件和應(yīng)用的訪問;程序包管理器,該程序包管理器用于針對(duì)每個(gè)安全域,執(zhí)行與該域關(guān)聯(lián)的應(yīng)用的安裝;域消息服務(wù),該域消息服務(wù)用于提供與該多個(gè)安全域中的不同安全域關(guān)聯(lián)的運(yùn)行進(jìn)程之間的通信;以及活動(dòng)管理器,該活動(dòng)管理器用于選擇性地切換當(dāng)前域。
[0045]現(xiàn)在參照?qǐng)D2描述用于提供隔離域的示例性系統(tǒng)100。
[0046]該系統(tǒng)可以在任何計(jì)算設(shè)備中實(shí)現(xiàn),該計(jì)算設(shè)備包括移動(dòng)設(shè)備,如智能電話、平板、便攜式計(jì)算機(jī)或臺(tái)式機(jī)、或具有易失性存儲(chǔ)器和處理器的任意其它電子設(shè)備,易失性存儲(chǔ)器包含可由處理器執(zhí)行以提供操作系統(tǒng)和軟件應(yīng)用(或者應(yīng)用)的計(jì)算機(jī)代碼。計(jì)算設(shè)備可以進(jìn)一步包括接口,該接口可以包括用戶輸入設(shè)備,如鍵盤、指點(diǎn)設(shè)備、觸摸屏,并且該計(jì)算設(shè)備可以進(jìn)一步包括通信接口,如用于通過有線通信網(wǎng)絡(luò)或無線通信網(wǎng)絡(luò)通信的無線電和關(guān)聯(lián)的控制電路,有線通信網(wǎng)絡(luò)或無線通信網(wǎng)絡(luò)可以是互聯(lián)網(wǎng)和/或蜂窩或WiFi鏈路或藍(lán)牙或近場通信(NFC)。
[0047]操作系統(tǒng)的特征可以在于包括內(nèi)核以及中間件,內(nèi)核管理軟件應(yīng)用并且向軟件應(yīng)用提供來自設(shè)備的處理器和其它硬件組件的輸入/輸出(I/o)服務(wù),中間件提供除由內(nèi)核提供的那些服務(wù)之外的服務(wù)。
[0048]一般而言,本發(fā)明的方案包括:修改操作系統(tǒng)級(jí)協(xié)議以使能域感知。在移動(dòng)設(shè)備上創(chuàng)建多個(gè)域。在此后描述的實(shí)施例中,操作系統(tǒng)是安卓?,但是這樣的選擇不應(yīng)被認(rèn)為限制本發(fā)明的方案的期望范圍。安卓僅用作示例,并且類似于其它多用戶操作系統(tǒng)(例如,QNX、視窗)。
[0049]因此,如圖2所示,系統(tǒng)100包括內(nèi)核,在系統(tǒng)100在運(yùn)行安卓?操作系統(tǒng)的移動(dòng)設(shè)備中實(shí)現(xiàn)時(shí),該內(nèi)核是Linux?內(nèi)核110。內(nèi)核100包括:安全數(shù)據(jù)儲(chǔ)存庫112、域內(nèi)核模塊116和Linux安全模塊114,在一個(gè)實(shí)施例中,Linux安全模塊114是增強(qiáng)的Linux安全模塊,下面將進(jìn)一步討論它們各自的功能。本領(lǐng)域技術(shù)人員將理解,內(nèi)核110可以進(jìn)一步具有其它傳統(tǒng)組件(例如,驅(qū)動(dòng))或與前述組件不同的其它組件。
[0050]系統(tǒng)100進(jìn)一步包括操作系統(tǒng)中間件120,操作系統(tǒng)中間件120包括:域消息服務(wù)122、域管理器124、域策略服務(wù)126、用戶管理器128、系統(tǒng)設(shè)置模塊130、密鑰保護(hù)中介132、活動(dòng)管理器134、程序包管理器136以及窗口管理器138。用戶管理器128、系統(tǒng)設(shè)置模塊130、密鑰保護(hù)中介132、活動(dòng)管理器134、程序包管理器136以及窗口管理器138對(duì)應(yīng)于并且擁有安卓7?的已知組件或服務(wù)的相應(yīng)功能,但被修改為如下面討論的那樣是域感知的。域消息服務(wù)122、域管理器124和域策略服務(wù)126是其它組件,它們的功能在下面討論。
[0051]系統(tǒng)100進(jìn)一步包括用于實(shí)現(xiàn)一個(gè)或多個(gè)域的應(yīng)用空間140(或用戶空間)。為了圖示,示出第一域142-1和第二域142-2,但是將理解,可以實(shí)現(xiàn)任意數(shù)量的域。每個(gè)域可以包括域設(shè)置模塊的實(shí)例化,如域設(shè)置模塊144-1、144-2的第一實(shí)例化和第二實(shí)例化,并且通常將包括域?qū)Ш狡髂K146-1、146-2和域管理應(yīng)用148-1、148-2的第一實(shí)例化和第二實(shí)例化。每個(gè)域還可以具有第一應(yīng)用的分離實(shí)例化150-1、150-2,而第一域142-1可以實(shí)例化與在第二域142-2中實(shí)例化的第三應(yīng)用154不同的第二應(yīng)用152。
[0052]^
[0053]諸如第一域142-1和第二域142-2這樣的域是將任何應(yīng)用和與那些應(yīng)用關(guān)聯(lián)的數(shù)據(jù)保持分離的隔離區(qū)域。可以遠(yuǎn)程地(例如,由企業(yè)信息技術(shù)(IT)管理者)或本地(例如,由設(shè)備擁有者)控制域,以針對(duì)特定域規(guī)定應(yīng)用、數(shù)據(jù)、配置、連接和安全策略。例如,可以控制來自特定域的網(wǎng)絡(luò)訪問??梢钥刂泼艽a重認(rèn)證時(shí)間(例如,使得當(dāng)在指定時(shí)間段內(nèi)切換域時(shí)用戶不需要重新認(rèn)證)。域的管理員通常具有這樣的控制。管理員可以是個(gè)人用戶、或公司IT管理者或其它遠(yuǎn)程實(shí)體。
[0054]由于域的隔離和分隔性質(zhì),本文討論的域可以被認(rèn)為是受保護(hù)的域。例如,一個(gè)域可以由企業(yè)外部地管理,該企業(yè)不希望在設(shè)備丟失或被偷時(shí)或者在由另一域中的設(shè)備擁有者下載的惡意軟件危害該設(shè)備時(shí)該企業(yè)的信息或私有業(yè)務(wù)應(yīng)用被泄露。設(shè)備擁有者不希望企業(yè)追蹤其偏好、網(wǎng)絡(luò)瀏覽習(xí)慣或個(gè)人通信,因此他也希望有他自己的受保護(hù)的域。此外,設(shè)備擁有者不希望對(duì)設(shè)備上的所有應(yīng)用和服務(wù)施加相同級(jí)別的認(rèn)證,但保證受保護(hù)的域中的數(shù)據(jù)仍然是安全的。
[0055]提供多個(gè)域使設(shè)備擁有者具備傳統(tǒng)的“全部或全部不”的設(shè)備訪問控制的替代方案。利用支持安全域和開放域的能力,訪問可以由用戶根據(jù)需要來配置,具有可變的注銷時(shí)間和訪問控制(例如,PIN、密碼、面部識(shí)別或什么也沒有)。這樣的靈活性降低了由于不方便而在設(shè)備上根本不使用任何密碼的可能性,同時(shí)仍賦予擁有者獨(dú)立于遠(yuǎn)程管理員的設(shè)備選擇。
[0056]僅通過示例,圖3示出示意圖300,其中實(shí)現(xiàn)系統(tǒng)100的設(shè)備305配置有兩個(gè)用戶:用戶A 310和用戶B 315,其中三個(gè)域Al 320、A2 325,A3 330是與用戶A關(guān)聯(lián)地創(chuàng)建的,并且兩個(gè)域BI 335和B2 340是與用戶B關(guān)聯(lián)地創(chuàng)建的。如圖示出的,域Al的策略可以允許訪問選擇的電子郵件賬戶345,±1)^2的策略允許訪問GmaiI?賬戶和臉書? 350。
[0057]為了清晰,實(shí)現(xiàn)系統(tǒng)100的設(shè)備還可以配置有僅一個(gè)用戶,且還可以創(chuàng)建本文描述的多個(gè)域,并且本文描述的方法和協(xié)議與這樣的多個(gè)域關(guān)聯(lián)地實(shí)現(xiàn)。
[0058]域感知
[0059]可以基于在Unix?操作系統(tǒng)和Linux?操作系統(tǒng)中實(shí)現(xiàn)的用戶標(biāo)識(shí)符(UID)概念和組標(biāo)識(shí)符(GID)概念來提供域感知。UID和GID在Unix和Linux中用來向進(jìn)程和文件分配權(quán)限。超級(jí)用戶或根通常被分配UID 0,而其它范圍通常為系統(tǒng)進(jìn)程保留。
[0060]但是,在安卓?中,UID不用于表示用戶;相反,每個(gè)應(yīng)用在安裝時(shí)被分配唯一的UID和GID,并且此(UID,GID)對(duì)(可以認(rèn)為是應(yīng)用標(biāo)識(shí)符)被分配給與該應(yīng)用關(guān)聯(lián)的進(jìn)程和數(shù)據(jù)文件。在最近版本的安卓?(安卓4.2)中,引入多用戶能力,該多用戶能力在整個(gè)操作系統(tǒng)各處中增加信令來表示哪個(gè)用戶賬戶是活躍的。UID中的特定位被保留用于表示用戶賬戶,因此構(gòu)成用戶標(biāo)識(shí)符。當(dāng)啟動(dòng)進(jìn)程時(shí),此用戶標(biāo)識(shí)符與在安裝時(shí)分配給該應(yīng)用的應(yīng)用標(biāo)識(shí)符結(jié)合,以產(chǎn)生執(zhí)行環(huán)境標(biāo)識(shí)符來表示正在運(yùn)行的進(jìn)程和關(guān)聯(lián)的私人數(shù)據(jù)文件的環(huán)境。利用這樣的信令,可以基于用戶獨(dú)立地創(chuàng)建并存儲(chǔ)應(yīng)用數(shù)據(jù)。
[0061 ]與之前的版本相比,安卓?4.2的服務(wù)已被修改成是用戶賬戶感知的。例如且參照?qǐng)D2,安卓程序包管理器136被修改為控制每個(gè)用戶可利用哪些應(yīng)用。類似地,窗口管理器138被修改為控制向每個(gè)用戶顯示什么,并且活動(dòng)管理器134被修改為控制每個(gè)用戶的應(yīng)用啟動(dòng)和權(quán)限執(zhí)行。此外,稱為用戶管理器128的新服務(wù)被增加到安卓4.2中,并且處理創(chuàng)建、認(rèn)證、刪除以及用戶之間的切換。
[0062]在本方案的一個(gè)實(shí)施例中,通過將現(xiàn)有服務(wù)修改成域感知的,向操作系統(tǒng)增加與在安卓?4.2中增加的多用戶能力類似的域感知信令機(jī)制。特別地,通過對(duì)UID的擴(kuò)展或作為新字段的添加,增加構(gòu)成域標(biāo)識(shí)符或“DID”的域信令。UID中的預(yù)定位被保留以表示域,并且與在安裝時(shí)向應(yīng)用分配的應(yīng)用標(biāo)識(shí)符結(jié)合,以創(chuàng)建執(zhí)行環(huán)境標(biāo)識(shí)符,執(zhí)行環(huán)境標(biāo)識(shí)符表示與該域相關(guān)的正在運(yùn)行的進(jìn)程和關(guān)聯(lián)的私有數(shù)據(jù)文件的環(huán)境。在一個(gè)實(shí)施例中,將程序包管理器136配置為維護(hù)每個(gè)安裝的應(yīng)用的應(yīng)用標(biāo)識(shí)符和每個(gè)域之間的關(guān)聯(lián)的列表。隨后,基于應(yīng)用的應(yīng)用標(biāo)識(shí)符以及該應(yīng)用在其中執(zhí)行的域的域標(biāo)識(shí)符,為進(jìn)程創(chuàng)建執(zhí)行環(huán)境標(biāo)識(shí)符。在一個(gè)實(shí)施例中,UID還具有與特定用戶賬戶關(guān)聯(lián)的保留位。這樣的保留或?qū)ID字段擴(kuò)展為還表示域的方法降低了操作系統(tǒng)改變的程度,簡化了實(shí)現(xiàn)方式,并且縮短了部署時(shí)間。
[0063]在一個(gè)實(shí)施例中,實(shí)現(xiàn)被稱為域管理器124的新服務(wù)以管理下面描述的域的創(chuàng)建、認(rèn)證和刪除。
[0064]使系統(tǒng)成為域感知的可選方法是使用安全標(biāo)記,如SELinux如何識(shí)別不同的資源和對(duì)象。在一些實(shí)施例中,SELinux安全標(biāo)記用于這樣的目的。在其它實(shí)施例中,增加識(shí)別域的其它標(biāo)記或參數(shù)。
[0065]域創(chuàng)建
[0066]在一個(gè)實(shí)施例中,將用戶管理器128的功能修改為能夠增加新用戶和還能夠增加新域,這可以認(rèn)為類似于單個(gè)用戶的子賬戶。這樣做使多個(gè)域能夠與每個(gè)用戶賬戶關(guān)聯(lián)。修改用戶管理器128的功能提供特定優(yōu)勢。例如,在具有多個(gè)用戶的實(shí)現(xiàn)方式中(例如,如圖3所示),將域創(chuàng)建與用戶管理器128中的用戶創(chuàng)建集成在一起是有利的。在(例如,在不支持多個(gè)用戶賬戶的智能電話上)僅具有單個(gè)用戶的替代實(shí)施例中,可以在域管理器124中實(shí)現(xiàn)這樣的功能。
[0067]因此,在一個(gè)實(shí)施例中,對(duì)用戶管理器128進(jìn)行修改,以便提供以下一個(gè)或多個(gè):
(i)允許在單個(gè)用戶下在域之間容易切換,而不用提示典型的登錄屏幕;(ii)當(dāng)在針對(duì)這樣的域的策略中規(guī)定的時(shí)間段內(nèi)切換至另一域時(shí),保持登錄一個(gè)或多個(gè)域;以及(iii)保持域活躍,以有助于域之間的快速切換。利用其它域信令,用戶管理器128可以被配置為在存在一個(gè)以上的用戶賬戶時(shí)僅詢問用戶名。
[0068]在創(chuàng)建新域的情況下,用戶管理器128可以調(diào)用域管理器服務(wù)124。創(chuàng)建新域可以類似于創(chuàng)建新用戶,同時(shí)施加域特有的區(qū)別,如將跳過新用戶歡迎屏幕。在域創(chuàng)建期間,可以自動(dòng)地調(diào)用程序包管理器136,以安裝預(yù)先存在的應(yīng)用或?qū)⑿聭?yīng)用下載至新域。域策略服務(wù)126可以設(shè)置默認(rèn)策略,并且可以執(zhí)行向?qū)б詭椭脩羧缙谕哪菢诱{(diào)整新域的策略。
[0069]如果創(chuàng)建工作域(或其策略是至少部分地由除設(shè)備擁有者之外的實(shí)體外部地控制的任何其它域),那么向用于該特定工作域的遠(yuǎn)程域管理服務(wù)器注冊(cè)該域。這可能要求使用用戶的工作憑證進(jìn)行注冊(cè)。服務(wù)器將批準(zhǔn)這樣工作域的創(chuàng)建,并且隨后下載用戶組、設(shè)備和工作域?qū)S玫牟呗?,圖標(biāo),憑證,文件,壁紙和應(yīng)用。
[0070]域策略
[0071]在創(chuàng)建域時(shí),與其關(guān)聯(lián)地存儲(chǔ)包括策略規(guī)定或策略數(shù)據(jù)的相應(yīng)安全策略。在一些實(shí)施例中,在應(yīng)用級(jí)和/或中間件級(jí)執(zhí)行至少某種域特有的和跨域的策略(例如,認(rèn)證超時(shí))。在一些實(shí)施例中,至少部分地在內(nèi)核級(jí)且依照多個(gè)域的相應(yīng)安全策略來執(zhí)行與每個(gè)域關(guān)聯(lián)的進(jìn)程和實(shí)體的隔離。在一些實(shí)施例中,至少部分地在中間件級(jí)執(zhí)行隔離,即由在內(nèi)核之外操作的操作系統(tǒng)服務(wù)和裝備執(zhí)行隔離。與每個(gè)域關(guān)聯(lián)的相應(yīng)策略可以依據(jù)該域的期望角色或其與其它實(shí)體(如,公司企業(yè)服務(wù))的關(guān)系或關(guān)聯(lián)而不同。
[0072]例如,在不同實(shí)施例中,一個(gè)或多個(gè)策略可以是:(i)預(yù)定的且靜態(tài)的;(ii)預(yù)定的,但具有一些運(yùn)行時(shí)配置或選擇;(iii)在管理服務(wù)器上配置之后下載的;或(iv)用戶可在設(shè)備上配置的。相應(yīng)策略的特定參數(shù)可以考慮任何有關(guān)的條件或變量,任何有關(guān)的條件或變量再次與關(guān)聯(lián)的域的特定角色及其與其它實(shí)體的關(guān)系有關(guān)。例如,不同策略的特征可以在于:(i)特定OS服務(wù)之間的隔離可以是靜態(tài)的且預(yù)定的;(ii)可以提供可以基于布爾值設(shè)置的預(yù)定低/中/高安全級(jí)別;(iii)可以下載GPS地理圍欄(geo-fencing)參數(shù)或應(yīng)用白名單;或(iv)可以在設(shè)備上本地配置用于調(diào)試對(duì)個(gè)人域的訪問的能力。還可以實(shí)現(xiàn)任意結(jié)入口 ο
[0073]在一些情況下,可以在設(shè)備上(例如,經(jīng)由域設(shè)置應(yīng)用144-1、144-2)修改策略,而在其它情況下,可以從遠(yuǎn)程服務(wù)器(例如,用于工作域的遠(yuǎn)程服務(wù)器)下載策略。在一個(gè)實(shí)施例中,域消息服務(wù)122管理策略的下載、驗(yàn)證、認(rèn)證和更新,并且域策略服務(wù)126管理每個(gè)域的策略應(yīng)用。隨后,可以將策略分配至施加該策略的系統(tǒng)組件,該系統(tǒng)組件可以在應(yīng)用級(jí)、中間件級(jí)或內(nèi)核級(jí)。
[0074]應(yīng)用管理
[0075]上面討論的提供域信令使得能夠跨不同的域進(jìn)行應(yīng)用的域?qū)侔惭b和管理。通常,程序包管理器136可以被配置為基于當(dāng)前的域或選擇的域的DID,或基于與其關(guān)聯(lián)的策略,允許或禁止程序的安裝或執(zhí)行。
[0076]跨不同的域進(jìn)行應(yīng)用的域?qū)侔惭b和管理能夠具有特定優(yōu)點(diǎn)。例如,域信令使得能夠跨多個(gè)域進(jìn)行不同應(yīng)用版本的安裝和管理。安卓?當(dāng)前的情況是:當(dāng)一個(gè)用戶更新應(yīng)用時(shí),也為所有用戶更新該應(yīng)用。這樣的結(jié)果不總是期望的。例如,對(duì)應(yīng)用的更新可能需要其它權(quán)限,或者包括未由企業(yè)測試或支持的特征,因此不是在工作域中期望的。此外,企業(yè)可能想要關(guān)聯(lián)的工作域,以僅允許以白名單列出的應(yīng)用或?qū)iT將特定應(yīng)用列為黑名單。
[0077]在不同的域中提供不同的應(yīng)用訪問權(quán)和控制還提供改善的安全選項(xiàng),即使在域總是僅由特定個(gè)人訪問時(shí)。例如,安卓?設(shè)備擁有者可能更希望不在通常無限制的開放的域中設(shè)置谷歌? Play?商店賬戶;如果設(shè)備被竊,那么賬戶將在該開放域中可獲得,并且通過竊賊使用設(shè)備擁有者的賬戶,該偷竊可能對(duì)設(shè)備擁有者帶來損失。因此,設(shè)備擁有者可能期望不在開放域中而作為替代僅在具有更加約束的安全策略的另一域中啟用Play?商店應(yīng)用,例如通常需要訪問密碼的安全策略,安全密碼可能被認(rèn)為對(duì)應(yīng)用于該開放域是惱人地不方便的。
[0078]因此,本方案可以包括對(duì)安卓?程序包管理器136的一個(gè)或多個(gè)修改,以使其是域感知的,使得能夠根據(jù)域策略安裝和更新應(yīng)用。在一個(gè)實(shí)施例中,對(duì)程序包管理器136進(jìn)行配置,以便維護(hù)每個(gè)安裝的應(yīng)用的應(yīng)用標(biāo)識(shí)符和每個(gè)域的域標(biāo)識(shí)符之間的關(guān)聯(lián)的列表。當(dāng)啟動(dòng)進(jìn)程時(shí),為該進(jìn)程創(chuàng)建的執(zhí)行環(huán)境標(biāo)識(shí)符基于該應(yīng)用的應(yīng)用標(biāo)識(shí)符以及應(yīng)用在其中執(zhí)行的域的域標(biāo)識(shí)符。通過這樣的方式,程序包管理器136可以被配置為:(i)允許在選擇的域中實(shí)現(xiàn)應(yīng)用白名單和/或黑名單,使得在該域中僅可以安裝批準(zhǔn)的應(yīng)用;(ii)使應(yīng)用能夠從一個(gè)域復(fù)制或移動(dòng)至另一域;(iii)在下載應(yīng)用時(shí),提示用戶應(yīng)當(dāng)將應(yīng)用安裝到哪個(gè)或哪些域中,而不管賬戶憑證位于哪個(gè)域;(iv)在設(shè)置新域時(shí),使現(xiàn)有應(yīng)用和現(xiàn)有應(yīng)用的配置和數(shù)據(jù)能夠被復(fù)制或移動(dòng)至該新域;(V)在下載應(yīng)用更新時(shí),考慮任意應(yīng)用白名單或黑名單上的軟件版本,以使在不同的域中具有應(yīng)用的多個(gè)不同版本(因此,使企業(yè)能夠選擇性地控制例如測試的和批準(zhǔn)的應(yīng)用版本的安裝和更新,由此提供與管理程序方案相似程度的應(yīng)用版本控制);以及(vi)使能夠基于用戶輸入或基于下載的策略(關(guān)于涉及該策略的域)從一個(gè)域或多個(gè)域(但可能不從其它域)選擇性地刪除應(yīng)用。
[0079]窗口管理
[0080]在一個(gè)實(shí)施例中,用于窗口管理器138的默認(rèn)配置與現(xiàn)有技術(shù)類似地為不同域提供不同屏幕??梢允褂猛ㄖ獏^(qū)(notificat1n shade)、導(dǎo)航器應(yīng)用(例如,域?qū)Ш狡?46-1、146-2)或經(jīng)由按鈕、圖標(biāo)、姿勢或這些的某種組合等來切換域。
[0081]本方案還使窗口管理器138能夠提供具有混合UI的更具創(chuàng)新性的用戶界面,其中與不同域關(guān)聯(lián)的應(yīng)用在單個(gè)屏幕上顯示。例如,在一個(gè)實(shí)施例中,窗口管理器138對(duì)表示應(yīng)用與哪個(gè)域關(guān)聯(lián)的一個(gè)或多個(gè)應(yīng)用圖標(biāo)提供覆蓋。與一個(gè)以上的域關(guān)聯(lián)的應(yīng)用可以提供多個(gè)圖標(biāo),每個(gè)圖標(biāo)具有不同的覆蓋(例如,不同的顏色、不同的符號(hào)、不同的輪廓等),以表示應(yīng)用與哪個(gè)域關(guān)聯(lián)。這樣的方法將消除在域之間進(jìn)行切換的需要,其中由圖標(biāo)表示域訪問,并且在訪問與不同于當(dāng)前域的域關(guān)聯(lián)的應(yīng)用時(shí),如由被訪問的應(yīng)用的域策略要求的,可能要求用戶進(jìn)行認(rèn)證。與顯示機(jī)制無關(guān)地維護(hù)和執(zhí)行每個(gè)域的策略和數(shù)據(jù)隔離。本方案的性能不受具有多個(gè)圖標(biāo)影響。此方法的優(yōu)勢是在域之間沒有可見的切換。不足是設(shè)備主屏幕可能變得充斥圖標(biāo),并且用戶在其中操作的域具有較少可視表示。
[0082]跨域通信
[0083]系統(tǒng)100可以包括域管理器服務(wù)124,域管理器服務(wù)124用于管理跨域通信,如用于剪切和粘貼數(shù)據(jù)、啟動(dòng)電話呼叫、通知、數(shù)據(jù)共享、發(fā)送數(shù)據(jù)和應(yīng)用安裝等功能。域策略服務(wù)126可以用作用于在域之間執(zhí)行策略的單個(gè)點(diǎn)。
[0084]例如,用戶可能希望在域之間移動(dòng)或復(fù)制應(yīng)用。工作域策略可以實(shí)現(xiàn)應(yīng)用白名單方法,以確保惡意軟件不能進(jìn)入工作域來竊取公司信息(例如,工作聯(lián)系人或工作文件)。作為進(jìn)一步的示例,除了當(dāng)在對(duì)應(yīng)的受保護(hù)的域中時(shí)以外,可以使一個(gè)域中的通知在另一域中顯示時(shí)變得不透明,或者可能根本不顯示。作為另一示例,工作域可以限制數(shù)據(jù)(如聯(lián)系人)離開工作域,以防止數(shù)據(jù)泄露。雖然用戶將其個(gè)人聯(lián)系人導(dǎo)入工作域中可能是可接受的,但是工作域策略可能不允許相反的情況。這是由將由域策略服務(wù)126管理的策略配置的域之間的單向數(shù)據(jù)共享的示例。
[0085]外部通信
[0086]系統(tǒng)100還可以管理設(shè)備內(nèi)的入站(in-bound)和出站(out-bound)通信。為此,在一個(gè)實(shí)施例中,域管理器服務(wù)124管理可能需要通知或以多個(gè)域?yàn)槟康牡木W(wǎng)絡(luò)連接和入站事件。簡單的示例是雙號(hào)碼的(例如,雙SIM卡)智能電話的情況,在這樣的情況下,策略規(guī)定對(duì)一個(gè)號(hào)碼的呼叫應(yīng)當(dāng)被轉(zhuǎn)發(fā)至特定域,對(duì)第二號(hào)碼的呼叫應(yīng)被注冊(cè)至不同的域。這樣的通信在接聽入站電話呼叫的單電話號(hào)碼設(shè)備的情況中要復(fù)雜得多。策略可以指示針對(duì)主叫方id的目的可以訪問哪些聯(lián)系人,以及應(yīng)當(dāng)注冊(cè)呼叫日志信息。在一些實(shí)施例中,域策略服務(wù)126可以是至少某一策略執(zhí)行的點(diǎn),這包括對(duì)諸如VPN、藍(lán)牙和WiFi網(wǎng)絡(luò)資源之類的硬件資源的訪問。例如,一些受保護(hù)的域的策略可以僅在指定網(wǎng)絡(luò)上時(shí)才允許通信。
[0087]域執(zhí)行
[0088]系統(tǒng)100還提供域和每個(gè)域策略的執(zhí)行,這是對(duì)創(chuàng)建和管理域的軟件功能的附加要求。在沒有域和域策略的執(zhí)行的情況中,惡意軟件或根套件可以靜態(tài)地或動(dòng)態(tài)地修改系統(tǒng)或內(nèi)核代碼,以防止執(zhí)行被執(zhí)行或以更新該策略。
[0089]在一個(gè)實(shí)施例中,系統(tǒng)100使用SELinux?和Linux?安全模塊(LSM),以實(shí)現(xiàn)強(qiáng)制訪問控制(MAC)。MAC確保主題(例如,應(yīng)用)僅訪問由策略允許的對(duì)象(例如,應(yīng)用、文件和資源)。這通過在安裝每個(gè)應(yīng)用時(shí)唯一地創(chuàng)建的UID/GID組合執(zhí)行。如上面討論的,在系統(tǒng)100的一個(gè)實(shí)施例中,UID還被擴(kuò)展或被分配來表示域。
[0090]但是,SELinux?通常對(duì)所有用戶下載的應(yīng)用施加相同類型(因此施加相同策略),這意味著其不執(zhí)行域。因此,SELinux還可以被修改,以變成域感知的。在一個(gè)實(shí)施例中,這是通過以下方式實(shí)現(xiàn)的:經(jīng)由策略中基于角色的訪問控制字段,或通過針對(duì)不同域創(chuàng)建不同策略并且動(dòng)態(tài)地使用域管理器124來在運(yùn)行時(shí)期間調(diào)整策略,或者在安卓?的情況下通過在創(chuàng)建進(jìn)程時(shí)通過修改Zygote和/或SEAndroid?的中間件強(qiáng)制訪問控制特征來向進(jìn)程分配域?qū)賁ELinux?安全標(biāo)記以變成域感知的。
[0091]嚴(yán)格地限制對(duì)系統(tǒng)級(jí)資源的應(yīng)用訪問僅是可以在內(nèi)核級(jí)實(shí)現(xiàn)的多個(gè)安全增強(qiáng)中的一個(gè)。域內(nèi)核模塊114可以實(shí)施其它域感知安全,如控制調(diào)試訪問、檢查策略更新(認(rèn)證和完整性驗(yàn)證)、加密域數(shù)據(jù)、檢查加載時(shí)間應(yīng)用簽名、訪問安全硬件和安全操作系統(tǒng)組件(如果可用)并且控制對(duì)諸如網(wǎng)絡(luò)、攝像頭和GPS之類的硬件資源的訪問。域內(nèi)核模塊114還可以提供整個(gè)設(shè)備的安全設(shè)置,如在啟動(dòng)時(shí)內(nèi)核完整性驗(yàn)證、策略的安全存儲(chǔ)、其本身和其它系統(tǒng)級(jí)資源(例如,域策略引擎)的完整性驗(yàn)證、確保SEAndroid?被開啟、以及遠(yuǎn)程證明。
[0092]應(yīng)注意,域與用戶和管理員賬戶不同。雖然設(shè)備擁有者可以具有準(zhǔn)許用于創(chuàng)建和刪除賬戶的特定特權(quán)的特殊賬戶,但是這樣的特權(quán)不等同于根訪問且可能對(duì)由第三方管理員(例如,工作IT管理員)管理的域是受限的。通過使用SELinux?和SEAndroid?以及本文描述的細(xì)化域信令,應(yīng)用和應(yīng)用數(shù)據(jù)保持隔離,即使在不同域之間存在不同的策略和訪問控制時(shí)。一個(gè)域中的惡意軟件不能訪問另一域中的數(shù)據(jù)或應(yīng)用。
[0093]域切換
[0094]圖4示出框圖400,框圖400圖示從第一域142-1至第二域142-2的域切換方法的一個(gè)實(shí)施例。用戶使用域?qū)Ш狡?46-1輸入請(qǐng)求切換至第二域的輸入。域?qū)Ш狡?46-1向活動(dòng)管理器134發(fā)送信號(hào)(動(dòng)作405),以切換至第二域142-2。如果第二域142-2關(guān)聯(lián)于與關(guān)聯(lián)于第一域142-1的用戶不同的用戶,(例如,從圖3中的域Al至域BI),那么活動(dòng)管理器134向用戶管理器服務(wù)128發(fā)信號(hào)(動(dòng)作410),以注銷該用戶,但或者不這樣做。響應(yīng)于來自用戶管理器服務(wù)128的調(diào)用(動(dòng)作412),域管理器服務(wù)124向系統(tǒng)設(shè)置模塊130詢問與第二域142-2關(guān)聯(lián)的登錄策略(動(dòng)作415),以及向域策略服務(wù)126詢問用于使這樣的切換能發(fā)生的任何其它策略(例如,GPS地理圍欄、網(wǎng)絡(luò)訪問要求、內(nèi)核完整性)(動(dòng)作420)?;顒?dòng)管理器134向密鑰保護(hù)中介132通知第一域142-1的任何超時(shí)(這可以是立即的或延遲預(yù)定的時(shí)間段)(動(dòng)作425)。密鑰保護(hù)中介132實(shí)現(xiàn)與第二域142-2關(guān)聯(lián)的策略。如果滿足該策略檢查,那么向密鑰保護(hù)中介132通知切換至第二域142-2,并且基于策略(例如為訪問所需要的認(rèn)證)決定訪問(動(dòng)作430),或直接訪問域(例如,如果不要求認(rèn)證)(動(dòng)作435),或可選地,可以拒絕切換。在切換之后,活動(dòng)管理器134在第二域142-2中執(zhí)行應(yīng)用啟動(dòng)器424。
[0095]在另一實(shí)施例中,如上所述的,在選擇應(yīng)用時(shí)可以暗示域切換,并且將不需要域?qū)Ш狡鳌?br>[0096]在一些實(shí)施例中,可以配置域切換方法,以使能夠進(jìn)行向加密域的安全切換??梢约用芘c一個(gè)或多個(gè)域關(guān)聯(lián)的數(shù)據(jù)文件,如使用密碼術(shù)堆棧文件系統(tǒng)進(jìn)行加密。例如,eCryptFS文件系統(tǒng)(http: / / ecryptfs.0rg)是用于Linux的兼容POSIX的企業(yè)密碼術(shù)堆桟文件系統(tǒng)。在這樣加密與域關(guān)聯(lián)的數(shù)據(jù)文件的情況下,可以認(rèn)為域可是加密的域。對(duì)稱密鑰可以用于加密和解密被加密的域的數(shù)據(jù),并且可以存儲(chǔ)在Linux內(nèi)核密鑰環(huán)(內(nèi)核存儲(chǔ)器中的安全儲(chǔ)存器)中,但還可以存儲(chǔ)在任意安全儲(chǔ)存器中。在密碼術(shù)堆棧文件系統(tǒng)中,使用多個(gè)對(duì)稱密鑰是典型的,但是將理解,在一些實(shí)施例中,可以使用單個(gè)密鑰。
[0097]如上所述的,具有多個(gè)域的設(shè)備可以包括需要訪問認(rèn)證的一個(gè)或多個(gè)域。例如,在設(shè)備操作系統(tǒng)是安卓的情況下,內(nèi)建的安卓鎖屏認(rèn)證(圖案、Pin、密碼等)可以用于控制對(duì)域的訪問。如果域也是加密的,那么此鎖屏認(rèn)證還可以用于加密和解密由密碼術(shù)文件系統(tǒng)使用的密鑰,以訪問加密的域數(shù)據(jù)。
[0098]由于設(shè)備可以具有多個(gè)域,所以多個(gè)域中的一個(gè)或多個(gè)可以是加密的,并且多個(gè)域中的一個(gè)或多個(gè)可能需要認(rèn)證,在從當(dāng)前域(當(dāng)前擁有用戶界面(UI)焦點(diǎn)的域)向不同目標(biāo)域切換時(shí)存在四種可能的場景:域已經(jīng)運(yùn)行;域未運(yùn)行,且不是加密的;域未運(yùn)行,是加密的,但不要求認(rèn)證;以及域未運(yùn)行,是加密的,且要求認(rèn)證。(如果與域關(guān)聯(lián)的進(jìn)程正在運(yùn)行,那么該域被認(rèn)為正在運(yùn)行)。
[0099]鑒于這些可能性,圖9圖示從當(dāng)前域向目標(biāo)域切換的方法900。如所圖示,可立即切換至正在運(yùn)行的域。在接收到向目標(biāo)域切換的輸入(開始902)時(shí),確定該域是否正在運(yùn)行(決策904),且如果“是”(分支906),則在UI中示出目標(biāo)域(步驟908)且切換完成(結(jié)束910)。如果該域未運(yùn)行(分支912),那么確定該域是否被加密(決策914);如果“否”(分支916),則啟動(dòng)該域(步驟918),在UI中示出該域(步驟908),并且切換完成(結(jié)束910)。如果該域被加密(分支920),那么確定該域是否要求認(rèn)證(決策922);如果“否”(分支924),那么可以加載解密密鑰并且裝載文件系統(tǒng)(步驟926),啟動(dòng)該域(步驟918),在UI中顯示該域(步驟908),并且切換完成(結(jié)束910)。如果要求認(rèn)證(分支928),那么接收認(rèn)證信息(步驟930),基于該認(rèn)證信息解密文件系統(tǒng)密鑰(步驟932),加載解密密鑰并且裝載文件系統(tǒng)(步驟926),啟動(dòng)該域(步驟918),在UI中顯示該域(步驟908),并且切換完成(結(jié)束910)。
[0100]因此,如圖9中可以看到的,可以啟動(dòng)并立即切換至當(dāng)前未運(yùn)行的未加密的域。但是,如果嘗試切換至加密的域,則在可以使用該域以前必須將將密碼術(shù)文件系統(tǒng)密鑰加載至IjLinux內(nèi)核密鑰環(huán)內(nèi)。如果加密的域不要求認(rèn)證,則可以加載密碼術(shù)文件系統(tǒng)密鑰,且在沒有用戶干預(yù)的情況下裝載文件系統(tǒng)。但是,如果加密的域要求認(rèn)證,那么在可以加載密碼術(shù)文件系統(tǒng)密鑰以前必須首先解密密碼術(shù)文件系統(tǒng)密鑰本身,并且裝載文件系統(tǒng)。因此,在最后的啟動(dòng)需要認(rèn)證的加密域的情況中,在可以訪問(裝載)目標(biāo)域的數(shù)據(jù)之前,需要一種機(jī)制來收集目標(biāo)域的認(rèn)證數(shù)據(jù)。
[0101]但是,在許多設(shè)備操作系統(tǒng)中,認(rèn)證過程必須在當(dāng)前域中操作或與當(dāng)前域關(guān)聯(lián)。例如,在安卓中內(nèi)置的已有鎖屏認(rèn)證機(jī)制對(duì)當(dāng)前用戶或域進(jìn)行認(rèn)證。在切換至目標(biāo)域時(shí),安卓鎖屏從鎖屏(如鎖屏小工具、實(shí)時(shí)壁紙以及輸入方法編輯器(IME))起運(yùn)行針對(duì)目標(biāo)域的進(jìn)程。為了保留傳統(tǒng)的安卓用戶體驗(yàn),認(rèn)證需要在域切換之后發(fā)生。
[0102]存在提供此功能的幾種替代方法,如下。
[0103]在第一替代中,提供定制用戶界面(UI)以在切換至目標(biāo)域之前獲取認(rèn)證信息。雖然此方法擁有可以使其在一些情況下適宜的多個(gè)好處,但是其還忍受如下特定缺陷。例如,此方法需要有效地努力以復(fù)制已在安卓中內(nèi)置的認(rèn)證機(jī)制,并且將要求更新以維持與對(duì)內(nèi)置的安卓機(jī)制的更新的互操作性。此外,此方法引入安全隱患,因?yàn)槎ㄖ普J(rèn)證UI進(jìn)程將在用戶正從其切換的域中運(yùn)行。老練的攻擊者可能替換可能不可信的域中的重要應(yīng)用程序包(如,輸入方法編輯器(me)),以捕獲可信加密域的域認(rèn)證信息。
[0104]在第二替代中,方法首先切換至目標(biāo)域,但不裝載目標(biāo)域的數(shù)據(jù)。隨后,在裝載目標(biāo)域的數(shù)據(jù)之前,該方法僅運(yùn)行使鎖屏起作用需要的那些進(jìn)程,然后完成切換至目標(biāo)域。雖然此方法擁有可以使其在一些情況中適宜的多個(gè)好處,但是其還受到如下特定缺陷。例如,從鎖屏起正常地運(yùn)行的應(yīng)用組件(鎖屏小工具、實(shí)時(shí)壁紙以及輸入方法編輯器(ME))可能要求訪問加密的文件系統(tǒng)。事先確定什么程序包將運(yùn)行通常是不可能的,因?yàn)橛脩艉驮荚O(shè)備制造商(OEM)都可能改變、更新或移除這些組件,因此這些問題不能被預(yù)料到和被補(bǔ)償。此外,域切換操作直至已提供域認(rèn)證信息才完成。這使設(shè)備處于安卓未被設(shè)計(jì)處理的中間的未限定的狀態(tài)。這在整個(gè)安卓中間件中形成了在安卓發(fā)布之間必須正確地處理、測試以及維護(hù)的許多其它邊緣情況。
[0105]在第三替代中,方法切換至在設(shè)備上有目的地創(chuàng)建的中間域,以有助于認(rèn)證信息的安全收集以及使在域之間能夠進(jìn)行安全轉(zhuǎn)變。中間域在切換至未運(yùn)行的加密域時(shí)啟動(dòng),并且要求認(rèn)證。此方法克服了由上面描述的前兩個(gè)替代擁有的許多缺點(diǎn)。
[0106]因此,圖10示出從第一正在運(yùn)行的域切換至不同的目標(biāo)域的方法1000,其中目標(biāo)域是加密域(與在加密的文件系統(tǒng)包含的數(shù)據(jù)文件關(guān)聯(lián)或具有在加密的文件系統(tǒng)中包含的數(shù)據(jù)文件)且未正運(yùn)行。發(fā)起至目標(biāo)域的域切換(開始1002)。目標(biāo)域未在運(yùn)行,被加密,且要求認(rèn)證。中間域成為當(dāng)前域(向安卓中間件報(bào)告的)(步驟1004),并且在中間域中開始鎖屏進(jìn)程(步驟1006)。修改鎖屏組件或另外提供鎖屏組件,使得鎖屏組件在被調(diào)用時(shí)將示出用于目標(biāo)域的認(rèn)證盤問,并且顯示識(shí)別目標(biāo)域的某種指示。
[0107]如果與目標(biāo)域關(guān)聯(lián)的一些UI要素未存儲(chǔ)在加密的文件系統(tǒng)中,而是作為替代存儲(chǔ)在另一位置(例如,未加密的文件或數(shù)據(jù)庫中的元數(shù)據(jù)),那么可以與認(rèn)證盤問一起顯示這樣的UI要素。例如,在這樣的情況下可以顯示與目標(biāo)域關(guān)聯(lián)的壁紙??蛇x地,可以顯示某一其它壁紙或可視物,以指示正發(fā)生向目標(biāo)域的切換。類似地,如果在與加密的文件系統(tǒng)不同的其它位置存儲(chǔ)與目標(biāo)域關(guān)聯(lián)的頂E,那么其可以用于接收認(rèn)證信息??蛇x地,可以接收用戶對(duì)用于輸入認(rèn)證信息的頂E的選擇(步驟1008)。(這可以包括例如中間域中的語言不同于目標(biāo)域的語言的情況)
[0108]然后,使用所選擇的頂E接收認(rèn)證信息(步驟1010)。如果用戶提供目標(biāo)域的正確認(rèn)證信息,則解密目標(biāo)域的密碼術(shù)文件系統(tǒng)密鑰(步驟1012),加載這些密鑰,并且裝載文件系統(tǒng)(步驟1014)。解除通常在目標(biāo)域中顯示的鎖屏(步驟1016)。(這與用戶已經(jīng)直接在該域中認(rèn)證完全相同,并且提供對(duì)鎖屏認(rèn)證將如何對(duì)未加密的域起作用的無縫用戶體驗(yàn))目標(biāo)域啟動(dòng),成為當(dāng)前域(步驟1018)。新域在UI中顯示(步驟1020),并且域切換完成(結(jié)束1022)。
[0109]如所提到的,此方法克服了切換至未運(yùn)行的加密域的其它方法的至少一些缺陷,并且進(jìn)一步提供了如下多個(gè)優(yōu)點(diǎn)。
[0110]例如,優(yōu)點(diǎn)是:認(rèn)證進(jìn)程在任意用戶可控的域之外發(fā)生,以使認(rèn)證信息的收集更安全。從鎖屏起運(yùn)行的進(jìn)程在不易受到從其它用戶可訪問的域的改變中產(chǎn)生的干擾影響的受控環(huán)境中運(yùn)行。安卓中間件中需要的改變更容易維持,并且更容易與安卓中內(nèi)置的多用戶狀態(tài)機(jī)兼容。這引起更少缺陷、更少維護(hù)以及更好的前向兼容性。與上面提到的其它選項(xiàng)相比,對(duì)ME的攻擊(例如,替換、或特權(quán)提升)或用于密鑰保護(hù)的用戶界面更難以實(shí)施,并且將使受益最小化(例如,對(duì)中間域的訪問)。需要的附加性能和存儲(chǔ)最低。
[0111]多個(gè)實(shí)現(xiàn)方式選項(xiàng)是可獲得的。中間域可以在操作系統(tǒng)的最早啟動(dòng)時(shí)創(chuàng)建,或可選地可以在創(chuàng)建第一加密域之前的任意其它時(shí)間創(chuàng)建??梢枣i定中間域,以防止用戶進(jìn)行除認(rèn)證之外的其它操作。表述“鎖定”可以被理解為表示禁用不需要的任意應(yīng)用、服務(wù)或其它特征,或作為替代地選擇性地僅啟用需要的那些特定應(yīng)用、服務(wù)或其它特征。例如,可以包括禁用鎖屏小工具和谷歌搜索。可以使用策略機(jī)制(包括SELinux和SEAndorid)進(jìn)一步鎖定中間域,以進(jìn)一步最小化安全風(fēng)險(xiǎn)。與其它域不同,中間域僅簡單地在域之間進(jìn)行切換時(shí)運(yùn)行。在運(yùn)行時(shí),其相對(duì)于由安卓維護(hù)的三個(gè)活躍運(yùn)行域的最大限制不被當(dāng)做運(yùn)行域。因此,移動(dòng)至中間域不引起其它域關(guān)閉。在啟動(dòng)和停止中間域時(shí),安卓不發(fā)送在啟動(dòng)域時(shí)通常發(fā)送的廣播中的許多廣播。這產(chǎn)生顯著的性能改善,因?yàn)槠浞乐箚?dòng)不必要的進(jìn)程和應(yīng)用。使用白名單、禁用列表、黑名單等,中間域可以具有在域中安裝的最少應(yīng)用,以減少這些應(yīng)用可能存在的安全風(fēng)險(xiǎn)。
[0112]中間域可以被預(yù)配置為具有允許的應(yīng)用、服務(wù)等的特定選擇,或可以使用與由所有域使用的機(jī)制相同或相似的執(zhí)行機(jī)制以類似于其它域的方式(例如通過使用專用于中間域的策略)來動(dòng)態(tài)地設(shè)置中間域。
[0113]域消息服務(wù)協(xié)議
[0114]圖5示出框圖500,框圖500示出域消息方法。與第一域142-1關(guān)聯(lián)的第一進(jìn)程505生成事件消息(例如,消息接收通知(其中,消息可以是電子郵件)、剪切并粘貼動(dòng)作、文件復(fù)制)。生成該事件的第一進(jìn)程505發(fā)送關(guān)于該事件的消息(可以采用廣播的形式),并且該消息由域管理器服務(wù)124接收(動(dòng)作510)。在一個(gè)實(shí)施例中,在第二域142-2中操作的第二進(jìn)程515可以是偵聽進(jìn)程,但將理解可選地可以使用API。域消息服務(wù)122檢查在其它域中的偵聽進(jìn)程(如第二域142-2中的第二進(jìn)程515)被配置為對(duì)接收到的事件消息做出響應(yīng)。
[0115]在確定第二域142-2中的第二進(jìn)程515是這樣配置的以后,域管理器服務(wù)124向域策略服務(wù)126發(fā)送關(guān)于事件消息類型(例如,通知、剪貼板緩沖區(qū)、文件)的信號(hào)(動(dòng)作520)。域策略服務(wù)126實(shí)現(xiàn)相關(guān)策略,這樣可以引起多個(gè)不同動(dòng)作。例如,所請(qǐng)求的事件可以被允許(例如,可以通過不超過100個(gè)字符的緩沖),或不被允許(例如,策略可以允許將文件轉(zhuǎn)移至域,但阻止從該域進(jìn)行這樣文件轉(zhuǎn)移)??蛇x地,策略可以引起消息被過濾(例如,可以使特定字段不透明,或者僅提供標(biāo)志通知,如沒有像發(fā)送方、主題等之類的細(xì)節(jié)的電子郵件接收通知)。依照該策略,將事件消息傳遞給第二域142-2中的第二進(jìn)程515(動(dòng)作525)。
[0116]跨域執(zhí)行協(xié)議
[0117]圖6中示出框圖600,框圖600圖示跨域執(zhí)行方法。
[0118]在該方法中,第一域142-1中的第一進(jìn)程605生成動(dòng)作,其中該動(dòng)作請(qǐng)求實(shí)施與第二域142-2相關(guān)的某一動(dòng)作。例如,可以在第一域中選擇新電子郵件的通知,并且輸入請(qǐng)求以在第二域中查看該電子郵件??蛇x地,使用第一域142-1中的域設(shè)置144-1服務(wù),可以輸入刪除第二域142-2的請(qǐng)求?;蛘?,當(dāng)在第一域142-1中操作時(shí),可以輸入請(qǐng)求,以實(shí)施從第二域142-2向特定電話號(hào)碼的電話呼叫。
[0119]在由第一域142-1中的第一進(jìn)程505產(chǎn)生動(dòng)作之后,活動(dòng)管理器134接收來自第一進(jìn)程505的域切換請(qǐng)求(動(dòng)作610)。如果該切換需要認(rèn)證,那么如果認(rèn)證失敗,則拒絕該請(qǐng)求?;顒?dòng)管理器134向域策略服務(wù)126發(fā)送信號(hào),以檢查與第一域142-1和第二域142-2關(guān)聯(lián)的相應(yīng)策略(動(dòng)作615),以便確定兩個(gè)策略允許做出請(qǐng)求的第一域142-1向第二域142-2發(fā)起所請(qǐng)求的動(dòng)作。
[0120]如果這兩個(gè)策略允許這樣,那么活動(dòng)管理器134啟動(dòng)與第二域142-2關(guān)聯(lián)的所請(qǐng)求的第二進(jìn)程620(動(dòng)作625)。關(guān)于上面介紹的示例,可以啟動(dòng)電子郵件服務(wù),或者可以啟動(dòng)域設(shè)置144-1服務(wù),并且提示用戶確認(rèn)第二域142-2的刪除,或者可以通過顯示要呼叫的期望號(hào)碼來啟動(dòng)電話服務(wù)。
[0121]域應(yīng)用安裝協(xié)議
[0122]圖7示出框圖700,框圖700圖示域應(yīng)用安裝方法,其中在第一域中安裝的應(yīng)用被移動(dòng)或被復(fù)制至第二域。
[0123]如上面討論的,可以與選擇的安全域關(guān)聯(lián)地安裝應(yīng)用,在這樣的情況下與所安裝的應(yīng)用的應(yīng)用標(biāo)識(shí)符關(guān)聯(lián)地存儲(chǔ)域的DID。
[0124]使用域設(shè)置144-1服務(wù),用戶可以選擇將應(yīng)用移動(dòng)或復(fù)制至不同的域,如從第一域142-1移動(dòng)或復(fù)制至第二域142-2。域設(shè)置144-1服務(wù)向程序包管理器136發(fā)送信號(hào),以在第二域142-2中安裝該應(yīng)用(動(dòng)作705)。程序包管理器136向域管理器124發(fā)送信號(hào),以確定第二域142-2的安全標(biāo)記(動(dòng)作710)。隨后,程序包管理器136利用從域管理器124接收的正確安全標(biāo)記在第二域142-2中安裝該應(yīng)用。如果所選擇的動(dòng)作是移動(dòng)而不是復(fù)制,那么域設(shè)置144-1服務(wù)向程序包管理器136發(fā)送信號(hào),以從第一域142-1卸載應(yīng)用(動(dòng)作715)且還向新域發(fā)送應(yīng)用用戶數(shù)據(jù)。
[0125]更新策略協(xié)議
[0126]圖8示出框圖800,框圖800圖示更新策略方法。
[0127]域消息服務(wù)122接收來自遠(yuǎn)程管理服務(wù)器805的策略(動(dòng)作810),或可選地,經(jīng)由設(shè)備上的設(shè)置屏或經(jīng)由API接收該策略,隨后域消息服務(wù)122將該策略傳遞給域策略服務(wù)126(動(dòng)作815),隨后根據(jù)情況傳遞給域內(nèi)核模塊114(動(dòng)作820 ),域內(nèi)核模塊114可以將策略存儲(chǔ)在安全儲(chǔ)存庫112中(動(dòng)作825)。由域內(nèi)核模塊116驗(yàn)證策略的起源的完整性和真實(shí)性。可以在域內(nèi)核模塊116或安全儲(chǔ)存庫112中施加防回滾(ant1-rollback)機(jī)制,以確保不能重新使用或重演較舊的策略。域策略服務(wù)126隨后加載策略和之前的策略,以便智能地僅施加所更新的策略中已改變的那些策略。域策略服務(wù)126可以向增強(qiáng)的Linux安全模塊116發(fā)送信號(hào),以加載策略的更新的SELinux部分(動(dòng)作830)。域策略服務(wù)126向系統(tǒng)設(shè)置模塊130月艮務(wù)發(fā)送信號(hào),以更新在系統(tǒng)設(shè)置模塊130中施加且由系統(tǒng)設(shè)置模塊130執(zhí)行的策略,如密碼強(qiáng)度、壁紙和啟動(dòng)器(動(dòng)作835)。域策略服務(wù)126隨后更新專屬于的域的其自身的策略,如域加密、域調(diào)試訪問、跨域策略和域名。
[0128]魅
[0129]本發(fā)明的方案提供一種方式來安全地建立、維護(hù)和管理獨(dú)立的受保護(hù)的域并且限定和隔離這樣的獨(dú)立的受保護(hù)的域中的應(yīng)用和數(shù)據(jù)。與現(xiàn)有技術(shù)相比,本發(fā)明的方案在存儲(chǔ)器、空間和計(jì)算功耗方面是有效的。其保持本地操作系統(tǒng)特征(包括應(yīng)用的后向兼容性)。其在一些域中保持本地、直觀的設(shè)備用戶界面,還使能其它域中許多不同的用戶界面選項(xiàng)和策略,而不是傳統(tǒng)的“全部或全部不”設(shè)備鎖定和/或用戶賬戶訪問。其利用不同域擁有者使能一個(gè)設(shè)備上的兩個(gè)人、多個(gè)人、多個(gè)人之間的多個(gè)域使用、多個(gè)工作和“開放”域。其使能這樣的多個(gè)域的遠(yuǎn)程管理和策略更新。其允許每個(gè)域的不同訪問控制和策略。其允許策略確定是否能在域之間轉(zhuǎn)移數(shù)據(jù)。其使新的使用模式(包括臨時(shí)共享)更適于移動(dòng)設(shè)備。其使與其它方案相比能進(jìn)行每個(gè)域中可用的應(yīng)用的更細(xì)化控制。本方案可以顯著地簡化或甚至消除與基于管理程序的虛擬化關(guān)聯(lián)的域之間的操作系統(tǒng)級(jí)“硬切換”,其中每個(gè)域與可以由每個(gè)對(duì)應(yīng)的管理程序復(fù)制的獨(dú)立的一組操作系統(tǒng)進(jìn)程關(guān)聯(lián)地操作。其在域之間隔離應(yīng)用和應(yīng)用數(shù)據(jù),而沒有當(dāng)前方案的弱點(diǎn)。其將域中的應(yīng)用和數(shù)據(jù)與該域外部的惡意應(yīng)用隔離。最后,其解決隱私顧慮和移動(dòng)設(shè)備用戶的選擇自由。
[0130]獨(dú)立于實(shí)現(xiàn)細(xì)節(jié),存在通過域信令、域管理和域執(zhí)行引入的顯著優(yōu)勢和特征。這些如下。本方案保持原始本地操作系統(tǒng)特征(包括應(yīng)用的后向兼容性)。所有本地操作系統(tǒng)權(quán)限檢查和IPC機(jī)制將共同存在,并且仍將有效。操作系統(tǒng)不變地操作,并且本方案與之前的操作系統(tǒng)后向兼容。與現(xiàn)有技術(shù)相比,本方案在存儲(chǔ)器、空間和計(jì)算能力方面是有效的。與像虛擬化這樣的可選方法相比,設(shè)備性能和存儲(chǔ)以及存儲(chǔ)器利用是非常有效的,虛擬化對(duì)操作系統(tǒng)堆棧進(jìn)行復(fù)制,這引發(fā)大量CPU和RAM開銷。由于本地OS實(shí)現(xiàn),所以與現(xiàn)有技術(shù)相比,域之間的切換非??烨矣行А?br>[0131]本方案利用不同域擁有者使在一個(gè)設(shè)備上的多人域、多個(gè)工作和“開放”域之間能夠有兩個(gè)人、多個(gè)人、多個(gè)域使用。能夠以可忽略的存儲(chǔ)器和性能影響增加和執(zhí)行多個(gè)受保護(hù)的域。在單個(gè)設(shè)備上可以存在多個(gè)受保護(hù)的工作域。例如,如果用戶具有多個(gè)客戶,那么在相同的設(shè)備上可以存在公司X域和公司Y域??蛇x地,設(shè)備可以被配置為具有公司機(jī)密域和公司分類域,每個(gè)域具有不同的策略(例如,位于公司分類域中的應(yīng)用的安全策略可能更受限制,如它們可以僅在正常工作期間或在設(shè)備連接至公司W(wǎng)iFi網(wǎng)絡(luò)時(shí)訪問)。設(shè)備可以被配置為具有用于方便訪問的開放共享域,且被配置為使能設(shè)備和開放域中的應(yīng)用與家庭成員或同事的自組織(ad-hoc)共享。用戶可以具有用于私人目的的保護(hù)域,如以便隔離針對(duì)秘密關(guān)系或用于移動(dòng)銀行和商業(yè)目的的消息和聯(lián)系人信息。不是設(shè)備擁有者的雇主的服務(wù)提供商(如銀行)可能期望在設(shè)備上具有受保護(hù)的域,該受保護(hù)的域包含用于訪問他們的服務(wù)的各種應(yīng)用,如賬戶訪問、信用卡或借記卡服務(wù)、資本交易、服務(wù)(如保險(xiǎn)、貸款等)報(bào)價(jià)。服務(wù)提供商將具有以下信息:他們的應(yīng)用和與這樣的應(yīng)用關(guān)聯(lián)的用戶的個(gè)人信息是安全的且可以在設(shè)備丟失時(shí)被擦除或被鎖定。
[0132]本方案針對(duì)不同的域、在多個(gè)域之間以及針對(duì)單個(gè)設(shè)備上受保護(hù)的域的進(jìn)站通信和出站通信,允許不同的訪問控制和策略。域策略可以在本地(例如,經(jīng)由設(shè)備設(shè)置)管理或(例如,經(jīng)由云服務(wù))遠(yuǎn)程地管理。策略還可以由設(shè)備擁有者或第三方管理,如雇主或服務(wù)提供商。跨域通信和數(shù)據(jù)共享可以是限定和執(zhí)行的策略。數(shù)據(jù)加密可以是域感知的。電話功能、主叫方通知和緊急呼叫等可以是域感知的和基于策略。例如,可以阻止特定域的向外呼口 H。網(wǎng)絡(luò)連通性可以是域感知的和策略執(zhí)行的。任務(wù)選擇器和進(jìn)程顯示可以是域感知的。例如,可以僅在登錄域時(shí)顯示進(jìn)程。通知可以是域感知的和基于策略。例如,工作域通知可以僅從特定頁面可見,以避免共享期間的數(shù)據(jù)泄露?;蛘?,通知可以指示提供該通知的應(yīng)用,但具有精簡的信息(例如,不公開接收到的電子郵件的標(biāo)題,或接收到的SMS的發(fā)送方,等等)。云備份和同步機(jī)制也可以是域感知的。例如,開放域可以被備份,即使沒有與該域關(guān)聯(lián)的特定賬戶。
[0133]本方案保持原始本地的且直觀的用戶界面,還啟用不同域之間的許多不同用戶界面選項(xiàng)和策略,而不是傳統(tǒng)的“全部或全部不”設(shè)備鎖定和/或傳統(tǒng)的多用戶賬戶訪問。用戶界面和域之間的切換現(xiàn)在可以被定制為域轉(zhuǎn)移的類型??梢员3謧鹘y(tǒng)的用戶賬戶型界面,并且每個(gè)域可以仍然被個(gè)性化并且針對(duì)每個(gè)域配置有所有標(biāo)準(zhǔn)本地OS能力,如每個(gè)域有不同的背景和/或不同的啟動(dòng)屏幕。每個(gè)域可以配置用戶認(rèn)證機(jī)制(例如,密碼、生物特征、模式、無認(rèn)證)。域登錄策略可以用于減少或消除當(dāng)在域之間切換時(shí)重復(fù)地認(rèn)證用戶的需要。可以依照針對(duì)每個(gè)受保護(hù)的域設(shè)置的策略(例如,在設(shè)備不活動(dòng)15分鐘后自動(dòng)注銷,或在域不活動(dòng)5分鐘之后自動(dòng)域注銷,或當(dāng)在特定域中時(shí)每10分鐘重新認(rèn)證,等),對(duì)每個(gè)受保護(hù)的域執(zhí)行訪問控制和認(rèn)證技術(shù)。本方案使新使用模式更適于移動(dòng)設(shè)備(包括應(yīng)用的自組織共享,如經(jīng)由開放域的自組織共享)。這是移動(dòng)設(shè)備中的最近特征的擴(kuò)展,其中一些設(shè)備能力從設(shè)備鎖屏起可用,而不要求認(rèn)證(例如,用戶可以仍然拍攝照片或接聽呼入)。不是限制功能,利用域信令和域隔離執(zhí)行,開放區(qū)域可以提供對(duì)應(yīng)用的全部特征訪問,盡管可能具有其它特殊策略,如受限的互聯(lián)網(wǎng)訪問(例如,沒有或僅通過WiFi)以及受限的電話訪問(例如,僅呼入、或僅本地呼叫等)??梢酝ㄟ^使用其它用于顯示域的方式(例如,圖標(biāo)上的覆蓋)來消除域之間的切換。設(shè)備擁有者可以保持域在文件夾、標(biāo)簽(tab)或由操作系統(tǒng)支持的任意其它機(jī)制中單獨(dú)地分組(可能出于隱私原因或個(gè)人偏好)。在訪問標(biāo)簽或特定應(yīng)用時(shí)仍將施加每個(gè)域的認(rèn)證策略,但可以不需要切換和不同的域“主屏”和壁紙等。
[0134]與其它方案相比,可以以更細(xì)的粒度控制和顯示每個(gè)域中可用的應(yīng)用,而在設(shè)備上僅存儲(chǔ)一個(gè)副本,因此提供存儲(chǔ)器和CPU的非常有效使用。程序包管理器可以管理每個(gè)域中的應(yīng)用的安裝一一它已在用戶賬戶之間進(jìn)行的一一但以更簡潔的域?qū)贆C(jī)制。可以由策略控制每個(gè)域的應(yīng)用的可用性、顯示和訪問??梢悦總€(gè)域(除每個(gè)用戶賬戶以外)地隔離應(yīng)用數(shù)據(jù),并且(例如,如果設(shè)備丟失或終止雇傭等)可以針對(duì)每個(gè)域容易地刪除和管理應(yīng)用數(shù)據(jù)。可以以更直觀的且更具創(chuàng)造性的方式移動(dòng)或擦除應(yīng)用,該方式類似于在主頁和標(biāo)簽之間移動(dòng)應(yīng)用,而不是如安卓4.2那樣針對(duì)每個(gè)域?qū)嵤?yīng)用安裝。
[0135]本方案可以利用SELinux的域感知版本來執(zhí)行由域規(guī)定的應(yīng)用和應(yīng)用數(shù)據(jù)隔離。其可以確保由一個(gè)域上的應(yīng)用進(jìn)行的訪問不能訪問另一域。其確??缬蚝艚袃H可能通過執(zhí)行策略的域管理器服務(wù)。其確保一個(gè)域上的惡意軟件不能影響另一域中的應(yīng)用和數(shù)據(jù)。其確保沒有認(rèn)證的域的使用不影響其它域的安全。
[0136]本發(fā)明的方案不影響其它安全技術(shù)的使用,如虛擬化和容器,因?yàn)楸痉桨概c那些方案后向兼容。特別地,修改的類型2管理程序可以利用域信息作為不同操作系統(tǒng)之間的切換的一部分。應(yīng)用容器方案也可以部署在本發(fā)明的方案中。
[0137]雖然已具體地關(guān)于安卓和Linux操作系統(tǒng)描述上面的實(shí)施例,但是應(yīng)理解,本文公開的原理適用于擁有由本公開提到的相關(guān)特性的任意操作系統(tǒng)。
[0138]雖然上面已將操作該操作系統(tǒng)的設(shè)備稱為移動(dòng)設(shè)備(其可以包括智能電話、平板、個(gè)人數(shù)字助理(PDA)、智能手表、或任意類似設(shè)備),但是將理解,本文公開的原理適用于擁有由本公開提到的相關(guān)特性的任意設(shè)備,并且在一些實(shí)施例中包括通用計(jì)算機(jī)。
[0139]在前述描述中,為了解釋而陳述許多細(xì)節(jié),以提供對(duì)本發(fā)明的實(shí)施例的透徹理解。但是,本領(lǐng)域技術(shù)人員將明白,為了實(shí)施本發(fā)明,不需要這些特定細(xì)節(jié)。在其它實(shí)例中,為了不模糊本發(fā)明,以框圖的形式示出了眾所周知的電子結(jié)構(gòu)和電路。例如,不提供關(guān)于本文描述的本發(fā)明的實(shí)施例是否被實(shí)現(xiàn)為軟件例程、硬件電路、固件、或它們的組合的特定細(xì)節(jié)。
[0140]本發(fā)明的實(shí)施例可以被表示為存儲(chǔ)在機(jī)器可讀介質(zhì)(也稱為計(jì)算機(jī)可讀介質(zhì)、處理器可讀介質(zhì)、或具有在其中包含的計(jì)算機(jī)可讀程序代碼的計(jì)算機(jī)可用介質(zhì))中的軟件產(chǎn)品。機(jī)器可讀介質(zhì)可以是任意合適的有形介質(zhì),任意合適的有形介質(zhì)包括磁存儲(chǔ)介質(zhì)、光存儲(chǔ)介質(zhì)或電存儲(chǔ)介質(zhì)(包括磁盤、光盤只讀存儲(chǔ)器(CD-ROM)、存儲(chǔ)設(shè)備(易失性的或非易失性的)或類似的存儲(chǔ)機(jī)制)。機(jī)器可讀介質(zhì)可以包含多組指令、代碼序列、配置信息或其它數(shù)據(jù),它們?cè)趫?zhí)行時(shí)引起處理器實(shí)施根據(jù)本發(fā)明的實(shí)施例的方法中的步驟。本領(lǐng)域技術(shù)人員將理解,實(shí)現(xiàn)所描述的發(fā)明所需要的其它指令和操作也可以存儲(chǔ)在機(jī)器可讀介質(zhì)上。從機(jī)器可讀介質(zhì)運(yùn)行的軟件可以與電路交互,以實(shí)施所描述的任務(wù)。
[0141]本發(fā)明的上述實(shí)施例的目的僅在于作為示例。本領(lǐng)域技術(shù)人員可以對(duì)特定實(shí)施例進(jìn)行改變、修改和變形,而不脫離本發(fā)明的范圍,本發(fā)明的范圍僅由本文所附的權(quán)利要求限定。
【主權(quán)項(xiàng)】
1.一種移動(dòng)設(shè)備,所述移動(dòng)設(shè)備包括處理器和存儲(chǔ)指令的存儲(chǔ)器,所述指令由所述處理器可執(zhí)行以實(shí)現(xiàn)安卓操作系統(tǒng),在所述移動(dòng)設(shè)備中,改進(jìn)包括: 用戶管理器,用于選擇性地創(chuàng)建與在所述安卓操作系統(tǒng)中實(shí)現(xiàn)的任何用戶賬戶不同的多個(gè)域; 域管理器,用于選擇所述多個(gè)域中的一個(gè)作為當(dāng)前域; 域策略服務(wù),用于針對(duì)每個(gè)域存儲(chǔ)和執(zhí)行包括規(guī)則集的策略,所述規(guī)則集控制對(duì)與該域關(guān)聯(lián)的文件和應(yīng)用的訪問; 程序包管理器,用于針對(duì)每個(gè)域,基于該域的策略和所述當(dāng)前域的策略,選擇性地允許或阻止與該域關(guān)聯(lián)的應(yīng)用的安裝或執(zhí)行; 域消息服務(wù),用于基于所述多個(gè)域中不同的域的相應(yīng)策略,提供與所述多個(gè)域中所述不同的域關(guān)聯(lián)的運(yùn)行進(jìn)程之間的通信;以及 活動(dòng)管理器,用于選擇性地切換所述當(dāng)前域, 其中所述用戶管理器、所述域管理器、所述域策略服務(wù)、所述程序包管理器、所述域消息服務(wù)以及所述活動(dòng)管理器在所述安卓操作系統(tǒng)中在所述安卓操作系統(tǒng)的內(nèi)核以外實(shí)現(xiàn)。2.根據(jù)權(quán)利要求1所述的移動(dòng)設(shè)備,其中所述改進(jìn)進(jìn)一步包括: 域內(nèi)核模塊,用于針對(duì)每個(gè)域執(zhí)行與該域關(guān)聯(lián)的策略, 其中所述域內(nèi)核模塊在所述安卓操作系統(tǒng)的所述內(nèi)核中實(shí)現(xiàn)。3.—種由計(jì)算設(shè)備的處理器實(shí)施的方法,所述方法用于在所述計(jì)算設(shè)備的操作系統(tǒng)中提供多個(gè)安全域,所述方法包括: (a)針對(duì)每個(gè)安全域: (al)將該安全域的資源與唯一域標(biāo)識(shí)符關(guān)聯(lián),該資源包括至少一個(gè)數(shù)據(jù)文件或至少一個(gè)應(yīng)用;以及 (a2)與所述唯一域標(biāo)識(shí)符關(guān)聯(lián)地存儲(chǔ)策略,該策略包括用于控制對(duì)該資源的訪問的規(guī)則集; (b)接收所述多個(gè)安全域中選擇的一個(gè)作為當(dāng)前域,其中所述多個(gè)安全域包括與所述當(dāng)前域不同的目標(biāo)域;以及 (C)基于與所述當(dāng)前域關(guān)聯(lián)的策略和/或與所述目標(biāo)域關(guān)聯(lián)的策略,控制對(duì)目標(biāo)域資源的訪問。4.根據(jù)權(quán)利要求3所述的方法,進(jìn)一步包括: 至少部分地在所述操作系統(tǒng)的內(nèi)核之外執(zhí)行所述操作系統(tǒng)的至少一個(gè)服務(wù),以實(shí)施(a)、(b)和(C)中的至少一個(gè)。5.根據(jù)權(quán)利要求3所述的方法,其中至少部分地由在所述操作系統(tǒng)的內(nèi)核中操作的第一服務(wù)以及至少部分地由在所述操作系統(tǒng)的位于所述內(nèi)核之外的中間件中操作的第二服務(wù)實(shí)施(C)。6.根據(jù)權(quán)利要求5所述的方法,其中由在所述操作系統(tǒng)的位于所述內(nèi)核之外的所述中間件中操作的其它服務(wù)實(shí)施(a)和(b)。7.根據(jù)權(quán)利要求3所述的方法,其中所述操作系統(tǒng)實(shí)現(xiàn)多個(gè)用戶賬戶,并且其中所述當(dāng)前域和所述目標(biāo)域共同地與所述多個(gè)用戶賬戶中的一個(gè)關(guān)聯(lián)。8.根據(jù)權(quán)利要求3所述的方法,其中(c)包括:基于與所述當(dāng)前域關(guān)聯(lián)的策略和與所述目標(biāo)域關(guān)聯(lián)的策略,控制進(jìn)程對(duì)所述目標(biāo)域資源的訪問,其中所述進(jìn)程與所述當(dāng)前域關(guān)聯(lián)。9.根據(jù)權(quán)利要求8所述的方法,其中所述進(jìn)程基于所述當(dāng)前域的所述唯一域標(biāo)識(shí)符與執(zhí)行環(huán)境標(biāo)識(shí)符關(guān)聯(lián),并且其中(c)包括基于所述執(zhí)行環(huán)境標(biāo)識(shí)符,控制所述程序?qū)λ瞿繕?biāo)域資源的訪問。10.根據(jù)權(quán)利要求9所述的方法,其中所述當(dāng)前域資源包括所述至少一個(gè)應(yīng)用,并且其中所述執(zhí)行環(huán)境標(biāo)識(shí)符基于所述當(dāng)前域的所述唯一域標(biāo)識(shí)符和與為生成所述進(jìn)程而執(zhí)行的所述至少一個(gè)應(yīng)用關(guān)聯(lián)的唯一應(yīng)用標(biāo)識(shí)符。11.根據(jù)權(quán)利要求10所述的方法,其中所述操作系統(tǒng)是安卓操作系統(tǒng),所述唯一應(yīng)用標(biāo)識(shí)符是在安裝時(shí)分配給所述應(yīng)用的Unix型用戶標(biāo)識(shí)符(UID),所述執(zhí)行環(huán)境標(biāo)識(shí)符包括所述應(yīng)用的所述UID,并且所述唯一域標(biāo)識(shí)符包含在所述UID的保留位中。12.根據(jù)權(quán)利要求3所述的方法,其中所述操作系統(tǒng)提供用戶界面,該用戶界面提供對(duì)所述當(dāng)前域資源的資源和所述目標(biāo)域的資源的并行訪問。13.根據(jù)權(quán)利要求12所述的方法,其中所述目標(biāo)域的資源包括與所述目標(biāo)域關(guān)聯(lián)的所述至少一個(gè)應(yīng)用,并且其中所述用戶界面提供用于執(zhí)行所述至少一個(gè)應(yīng)用的方式。14.根據(jù)權(quán)利要求13所述的方法,其中所述用戶界面實(shí)現(xiàn)與所述目標(biāo)域的所述至少一個(gè)應(yīng)用關(guān)聯(lián)的圖標(biāo),其中所述圖標(biāo)包括表示所述至少一個(gè)應(yīng)用與所述目標(biāo)域的關(guān)聯(lián)的覆至ΠΠ ο15.根據(jù)權(quán)利要求12所述的方法,其中所述目標(biāo)域的資源進(jìn)一步包括接收到的與所述目標(biāo)域關(guān)聯(lián)的消息,并且其中所述用戶界面提供用于打開所述消息的方式。16.根據(jù)權(quán)利要求3所述的方法,其中(al)包括存儲(chǔ)將所述資源與所述安全域的所述唯一域標(biāo)識(shí)符關(guān)聯(lián)的元數(shù)據(jù)。17.根據(jù)權(quán)利要求3所述的方法,其中所述安全域中的一個(gè)是外部地控制的域,并且其中經(jīng)由網(wǎng)絡(luò)從遠(yuǎn)程域管理服務(wù)器接收與所述外部地控制的域關(guān)聯(lián)的策略。18.根據(jù)權(quán)利要求17所述的方法,其中所述當(dāng)前域是所述外部地控制的域,并且其中所述遠(yuǎn)程域管理服務(wù)器將對(duì)與所述當(dāng)前域關(guān)聯(lián)的策略的至少一部分的修改阻擋在外。19.根據(jù)權(quán)利要求3所述的方法,其中所述目標(biāo)域資源包括以下所述至少一個(gè)應(yīng)用:該至少一個(gè)應(yīng)用包含公共應(yīng)用的第一版本,與所述當(dāng)前域關(guān)聯(lián)的策略和與所述目標(biāo)域關(guān)聯(lián)的策略阻止對(duì)所述公共應(yīng)用的所述第一版本的訪問。20.根據(jù)權(quán)利要求19所述的方法,其中所述當(dāng)前域資源包括以下所述至少一個(gè)應(yīng)用:該至少一個(gè)應(yīng)用包含所述公共應(yīng)用的與所述公共應(yīng)用的第一版本不同的第二版本。21.一種計(jì)算機(jī)可讀介質(zhì),包括在所述計(jì)算機(jī)可讀介質(zhì)上存儲(chǔ)的指令,該指令在由計(jì)算機(jī)執(zhí)行時(shí)實(shí)施根據(jù)權(quán)利要求3所述的方法。22.—種在計(jì)算設(shè)備的操作系統(tǒng)中提供多個(gè)安全域的方法,所述方法包括: (a)針對(duì)每個(gè)安全域: (al)將所述安全域的資源與關(guān)聯(lián)于所述安全域的唯一域標(biāo)識(shí)符關(guān)聯(lián),所述資源包括至少一個(gè)數(shù)據(jù)文件或至少一個(gè)應(yīng)用;以及 (a2)與所述唯一域標(biāo)識(shí)符關(guān)聯(lián)地存儲(chǔ)策略,所述策略包括用于控制對(duì)所述資源的訪問的規(guī)則集; (b)生成與關(guān)聯(lián)于所述多個(gè)安全域中的第一安全域的初始進(jìn)程關(guān)聯(lián)的事件消息; (C)確定與所述多個(gè)安全域中的第二安全域關(guān)聯(lián)的目標(biāo)進(jìn)程被配置為對(duì)所述事件消息做出響應(yīng); (d)基于與所述第一域關(guān)聯(lián)的策略和與所述第二域關(guān)聯(lián)的策略,處理所述事件消息,以產(chǎn)生處理的事件消息;以及 (e)基于與所述第一域關(guān)聯(lián)的策略和與所述第二域關(guān)聯(lián)的策略,向所述目標(biāo)進(jìn)程傳遞所處理的事件消息或?qū)λ瞿繕?biāo)進(jìn)程組織阻止所處理的事件消息。23.根據(jù)權(quán)利要求22所述的方法,其中所述事件消息指示由所述初始進(jìn)程生成的復(fù)制并粘貼動(dòng)作,與所述第一域關(guān)聯(lián)的策略實(shí)現(xiàn)允許將剪貼板緩沖區(qū)傳遞至所述第一域之外的第一規(guī)則,并且與所述第二域關(guān)聯(lián)的策略實(shí)現(xiàn)允許將所述剪貼板緩沖區(qū)傳遞至所述第二域內(nèi)的第二規(guī)則,其中向所述目標(biāo)進(jìn)程傳遞基于所述剪貼板緩沖區(qū)的所處理的事件消息。24.根據(jù)權(quán)利要求22所述的方法,其中所述事件消息指示由所述初始進(jìn)程生成的復(fù)制并粘貼動(dòng)作,與所述第一域關(guān)聯(lián)的策略實(shí)現(xiàn)防止將剪貼板緩沖區(qū)傳遞至所述第一域之外的第一規(guī)則,或者與所述第二域關(guān)聯(lián)的策略實(shí)現(xiàn)防止將所述剪貼板緩沖區(qū)傳遞至所述第二域內(nèi)的第二規(guī)則,其中對(duì)所述目標(biāo)進(jìn)程阻止基于所述剪貼板緩沖區(qū)的所處理的事件消息。25.根據(jù)權(quán)利要求22所述的方法,其中所述事件消息包括由所述初始進(jìn)程生成的消息收到通知,與所述第一域關(guān)聯(lián)的策略實(shí)現(xiàn)第一規(guī)則或者與所述第二域關(guān)聯(lián)的策略實(shí)現(xiàn)第二規(guī)則,所述第一規(guī)則實(shí)現(xiàn)所述消息收到通知的過濾,所述第二規(guī)則所述消息收到通知的過濾,其中所處理的事件消息包括經(jīng)過濾的消息收到通知,并且其中所述經(jīng)過濾的消息收到通知被傳遞至所述目標(biāo)進(jìn)程。26.根據(jù)權(quán)利要求22所述的方法,其中(al)包括存儲(chǔ)將所述資源與所述安全域的所述唯一域標(biāo)識(shí)符關(guān)聯(lián)的元數(shù)據(jù)。27.根據(jù)權(quán)利要求25所述的方法,其中所述過濾至少移除或掩蓋所述消息收到通知的發(fā)送者標(biāo)識(shí)符或主題標(biāo)識(shí)符。28.一種計(jì)算機(jī)可讀介質(zhì),包括在所述計(jì)算機(jī)可讀介質(zhì)上存儲(chǔ)的指令,該指令在由計(jì)算機(jī)執(zhí)行時(shí)實(shí)施根據(jù)權(quán)利要求22所述的方法。29.—種在計(jì)算設(shè)備的操作系統(tǒng)中提供多個(gè)安全域的方法,所述方法包括: (a)針對(duì)每個(gè)安全域: (al)將所述安全域的資源與關(guān)聯(lián)于所述安全域的唯一域標(biāo)識(shí)符關(guān)聯(lián),所述資源包括至少一個(gè)數(shù)據(jù)文件或至少一個(gè)應(yīng)用;以及 (a2)與所述唯一域標(biāo)識(shí)符關(guān)聯(lián)地存儲(chǔ)策略,該策略包括用于控制對(duì)所述資源的訪問的規(guī)則集; (b)從與所述多個(gè)安全域中的第一安全域關(guān)聯(lián)的初始進(jìn)程接收用于啟動(dòng)與所述多個(gè)安全域中的第二安全域關(guān)聯(lián)的目標(biāo)進(jìn)程的請(qǐng)求;以及 (C)基于與所述第一域關(guān)聯(lián)的策略和與所述第二域關(guān)聯(lián)的策略,處理所述請(qǐng)求。30.根據(jù)權(quán)利要求29所述的方法,其中所述初始進(jìn)程生成與關(guān)聯(lián)于所述第二域的接收到的消息關(guān)聯(lián)的消息收到通知,所述請(qǐng)求用于顯示所述消息,與所述第二域關(guān)聯(lián)的策略實(shí)現(xiàn)允許在所述第二域中顯示所述消息的第二規(guī)則,并且所述目標(biāo)進(jìn)程顯示所述消息。31.根據(jù)權(quán)利要求30所述的方法,其中與所述第一域關(guān)聯(lián)的策略實(shí)現(xiàn)允許實(shí)施在所述第二域中顯示所述消息的第一規(guī)則。32.一種計(jì)算機(jī)可讀介質(zhì),包括在所述計(jì)算機(jī)可讀介質(zhì)上存儲(chǔ)的指令,該指令在由計(jì)算機(jī)執(zhí)行時(shí)實(shí)施根據(jù)權(quán)利要求29所述的方法。33.—種在數(shù)據(jù)處理系統(tǒng)中的方法,所述數(shù)據(jù)處理系統(tǒng)具有處理器和用于存儲(chǔ)操作系統(tǒng)的存儲(chǔ)機(jī)制,所述操作系統(tǒng)包括內(nèi)核和位于所述內(nèi)核之外的中間件,所述方法包括: 在所述中間件中提供第一裝備,所述第一裝備用于創(chuàng)建多個(gè)域并且將所述多個(gè)域與用于控制對(duì)所述多個(gè)域的訪問的對(duì)應(yīng)策略關(guān)聯(lián); 在所述中間件中提供第二裝備,所述第二裝備用于在所述多個(gè)域之間切換;以及至少部分地在所述中間件中提供第三裝備,所述第三裝備用于執(zhí)行所述多個(gè)域的對(duì)應(yīng)策略。34.根據(jù)權(quán)利要求33所述的方法,進(jìn)一步包括: 在所述中間件中提供第四裝備,所述第四裝備用于基于所述多個(gè)域的所述對(duì)應(yīng)策略來管理應(yīng)用的安裝。35.根據(jù)權(quán)利要求34所述的方法,進(jìn)一步包括: 在所述中間件中提供第五裝備,所述第五裝備用于提供所述多個(gè)域中不同域內(nèi)的多個(gè)運(yùn)行進(jìn)程之間的通信。36.根據(jù)權(quán)利要求35所述的方法,其中所述多個(gè)運(yùn)行進(jìn)程實(shí)現(xiàn)從所述多個(gè)域中的第一域向所述多個(gè)域中的第二域的復(fù)制并粘貼動(dòng)作,其中所述第五裝備提供所述第一域中的所述多個(gè)運(yùn)行進(jìn)程中的第一運(yùn)行進(jìn)程和所述第二域中的所述多個(gè)運(yùn)行進(jìn)程中的第二運(yùn)行進(jìn)程之間的信令,并且其中所述第五裝備基于與所述第一域?qū)?yīng)的策略和與所述第二域?qū)?yīng)的策略,允許或阻止所述復(fù)制并粘貼動(dòng)作。37.根據(jù)權(quán)利要求35所述的方法,其中所述多個(gè)運(yùn)行進(jìn)程實(shí)現(xiàn)在所述多個(gè)域中的第一域中運(yùn)行的消息客戶端,其中所述第五裝備提供所述第一域中的所述多個(gè)運(yùn)行進(jìn)程中的第一運(yùn)行進(jìn)程和所述第二域中的所述多個(gè)運(yùn)行進(jìn)程中的第二運(yùn)行進(jìn)程之間的信令,以基于與所述第一域?qū)?yīng)的策略和與所述第二域?qū)?yīng)的策略來選擇性地允許、過濾或阻止與所述第二域相關(guān)地生成的消息收到通知。38.根據(jù)權(quán)利要求35所述的方法,進(jìn)一步包括: 在所述中間件中提供第六裝備,所述第六裝備用于基于所述多個(gè)域中的第一域的對(duì)應(yīng)策略和所述多個(gè)域中的第二域的對(duì)應(yīng)策略,啟用與所述第二域關(guān)聯(lián)的至少一個(gè)應(yīng)用在所述第一域中的執(zhí)行。39.根據(jù)權(quán)利要求38所述的方法,其中所述第六裝備從與所述第一域關(guān)聯(lián)的初始進(jìn)程接收請(qǐng)求以執(zhí)行所述至少一個(gè)應(yīng)用,并且基于與所述第一域關(guān)聯(lián)的策略和與所述第二域關(guān)聯(lián)的策略來允許或阻止所述至少一個(gè)應(yīng)用的所述執(zhí)行。40.根據(jù)權(quán)利要求39所述的方法,所述請(qǐng)求用于顯示關(guān)聯(lián)于所述第二域的接收到的消息。41.根據(jù)權(quán)利要求38所述的方法,進(jìn)一步包括: 在所述中間件中執(zhí)行第七裝備,用戶界面基于所述多個(gè)域的對(duì)應(yīng)策略來提供對(duì)所述多個(gè)域中的不同域的并行訪問。42.根據(jù)權(quán)利要求33所述的方法,進(jìn)一步包括:部分地在所述內(nèi)核中提供所述第三裝備。43.根據(jù)權(quán)利要求33所述的方法,其中所述操作系統(tǒng)實(shí)現(xiàn)多個(gè)用戶賬戶,并且其中所述多個(gè)用戶賬戶中的至少一個(gè)唯一地與對(duì)應(yīng)的所述多個(gè)域關(guān)聯(lián)。44.根據(jù)權(quán)利要求33所述的方法,其中所述第三裝備基于與所述多個(gè)域中的第一域關(guān)聯(lián)的多個(gè)策略中的第一策略和與所述多個(gè)域中的第二域關(guān)聯(lián)的多個(gè)策略中的第二策略,控制與所述第一域關(guān)聯(lián)的進(jìn)程控制對(duì)與所述第二域關(guān)聯(lián)的資源的訪問。45.根據(jù)權(quán)利要求44所述的方法,其中所述進(jìn)程基于所述第一域的所述唯一域標(biāo)識(shí)符與執(zhí)行環(huán)境標(biāo)識(shí)符關(guān)聯(lián),并且其中所述第三裝備基于所述執(zhí)行環(huán)境標(biāo)識(shí)符,控制所述進(jìn)程對(duì)所述資源的訪問。46.根據(jù)權(quán)利要求45所述的方法,其中所述執(zhí)行環(huán)境標(biāo)識(shí)符基于所述第一域的唯一域標(biāo)識(shí)符和與為生成所述進(jìn)程而執(zhí)行的應(yīng)用關(guān)聯(lián)的唯一應(yīng)用標(biāo)識(shí)符。47.根據(jù)權(quán)利要求46所述的方法,其中所述操作系統(tǒng)是安卓操作系統(tǒng),所述唯一應(yīng)用標(biāo)識(shí)符是在安裝時(shí)分配給所述應(yīng)用的Unix型用戶標(biāo)識(shí)符(UID),所述執(zhí)行環(huán)境標(biāo)識(shí)符包括所述應(yīng)用的所述UID,并且所述唯一域標(biāo)識(shí)符包含在所述UID的保留位中。48.根據(jù)權(quán)利要求41所述的方法,其中所述用戶界面基于與所述多個(gè)域中的第一域關(guān)聯(lián)的策略和與所述多個(gè)域中的第二域關(guān)聯(lián)的策略,提供對(duì)與所述第一域關(guān)聯(lián)的至少第一應(yīng)用和與所述第二域關(guān)聯(lián)的至少第二應(yīng)用的并行訪問。49.根據(jù)權(quán)利要求48所述的方法,其中所述用戶界面實(shí)現(xiàn)與所述第一應(yīng)用關(guān)聯(lián)的第一圖標(biāo)和與所述第二應(yīng)用關(guān)聯(lián)的第二圖標(biāo),并且所述第一圖標(biāo)包括表示所述第一應(yīng)用與所述第一域的關(guān)聯(lián)的覆蓋。50.根據(jù)權(quán)利要求33所述的方法,其中所述多個(gè)域中的一個(gè)是外部地控制的域,并且其中與所述外部地控制的域關(guān)聯(lián)的策略是經(jīng)由網(wǎng)絡(luò)從遠(yuǎn)程域管理服務(wù)器接收的。51.根據(jù)權(quán)利要求50所述的方法,其中所述遠(yuǎn)程域管理服務(wù)器將對(duì)與所述外部地控制的域關(guān)聯(lián)的策略的至少一部分的修改阻擋在外。52.一種計(jì)算機(jī)可讀介質(zhì),包括在所述計(jì)算機(jī)可讀介質(zhì)上存儲(chǔ)的指令,該指令在由處理器執(zhí)行時(shí)實(shí)施根據(jù)權(quán)利要求33所述的方法。53.—種計(jì)算設(shè)備,包括處理器和存儲(chǔ)指令的存儲(chǔ)器,該指令可由所述處理器執(zhí)行以實(shí)施提供多個(gè)安全域的操作系統(tǒng),所述操作系統(tǒng)包括: 域管理器,用于選擇性地創(chuàng)建所述多個(gè)安全域,并且用于選擇所述多個(gè)安全域中的一個(gè)作為當(dāng)前域; 域策略服務(wù),用于針對(duì)每個(gè)安全域,存儲(chǔ)并執(zhí)行包括規(guī)則集的策略,該規(guī)則集控制對(duì)與該域關(guān)聯(lián)的文件和應(yīng)用的訪問; 程序包管理器,用于針對(duì)每安全域,執(zhí)行與該域關(guān)聯(lián)的應(yīng)用的安裝; 域消息服務(wù),用于提供與所述多個(gè)安全域中的不同安全域關(guān)聯(lián)的運(yùn)行進(jìn)程之間的通信;以及 活動(dòng)管理器,用于選擇性地切換所述當(dāng)前域。
【文檔編號(hào)】H04W12/08GK105830477SQ201480054937
【公開日】2016年8月3日
【申請(qǐng)日】2014年8月11日
【發(fā)明人】亞歷山大·詹姆斯·邁因, 詹姆士·亨利·阿蘭·普德雷爾
【申請(qǐng)人】哥萊菲特軟件公司