沒有被要求,則它可以與被隨機生成并且存儲在服務器側上的另一個密鑰進行異或。密鑰導出功能可以運行,使得從用戶密碼生成的密鑰使用KDF (密鑰導出功能,尤其是PBKDF2),而不是創(chuàng)建它的密碼散列。后者使得密鑰易受暴力破解或字典攻擊的影響。
[0098]此外,一個或多個初始化向量可以被用在加密方法中。初始化向量將引起相同的加密的數(shù)據(jù)的多個副本產生不同的密碼文本輸出,阻止重放和密碼分析攻擊兩者。如果用于加密數(shù)據(jù)的特定的初始化向量是未知的,則這甚至將還阻止攻擊者使用被盜的加密密鑰來解密任何數(shù)據(jù)。此外,認證然后解密可以被使用,其中應用數(shù)據(jù)僅僅在用戶在應用內被認證之后被解密。另一個特征可能涉及存儲器中的敏感數(shù)據(jù),僅僅當其被需要時其可以被保持在存儲器中(并且不在磁盤中)。例如,登錄憑證可以在登錄之后被從存儲器擦除,并且加密密鑰和objective-C實例變量內部的其它數(shù)據(jù)不被存儲,因為它們可以被容易地引用。相反,存儲器可以被手動分配用于這些。
[0099]不活動超時可以被實現(xiàn),其中,在不活動的策略定義的周期之后,用戶會話被終止。
[0100]可以以其它方式阻止MDX框架614的數(shù)據(jù)泄露。例如,當應用610被放置在后臺中時,在預定(可配置的)時間段之后可以清除存儲器。當被作為后臺時,可以獲得應用的最后顯示的屏幕的快照以加快前臺設置進程。屏幕截圖可以包含機密數(shù)據(jù)并且因此應該被清除。
[0101]另一個安全特征涉及使用0ΤΡ(—次性密碼)620,而不使用訪問一個或多個應用的AD(活動目錄)622密碼。在一些情況下,一些用戶不知道(或不被許可知道)他們的AD密碼,因此這些用戶可以使用0ΤΡ 620來認證,例如通過使用類似于SecurlD的硬件0ΤΡ系統(tǒng)(0ΤΡ可以由不同的供應商來提供,也例如Entrust或Gemalto)。在一些情況下,在用戶使用用戶ID進行認證之后,文本被發(fā)送到具有0ΤΡ 620的用戶。在一些情況下,這可以被實現(xiàn)僅僅用于在線使用(其中提示是單個字段)。
[0102]離線密碼可以被實現(xiàn)用于這些應用610的離線認證,對于其,經由企業(yè)策略許可離線使用。例如,企業(yè)可以想要以這樣的方式來訪問StoreFront。在這種情況下,接收器604可以要求用戶設置定制離線密碼,并且AD密碼不被使用。云網關606可以提供策略以控制和實施關于最小長度、字符類組成和密碼使用年限的密碼標準(例如通過標準Windows服務器密碼復雜度要求描述的,盡管這些要求可以被修改)。
[0103]另一個特征涉及實現(xiàn)特定應用610的客戶端側證書作為次級證書(為了經由MDX微VPN特征訪問PKI保護的web資源的目的)。例如,諸如OWorkMai 1的應用可以利用這樣的證書。在這種情況下,使用ActiveSync協(xié)議的基于證書的認證可以被支持,其中,來自接收器604的證書可以由云網關606檢索并且用在密鑰鏈中。每個受管應用可以具有由在云網關606中定義的標簽識別的一個相關的客戶端證書。
[0104]云網關606可以與企業(yè)專用web服務進行交互以支持客戶端證書的發(fā)行以允許相關的受管應用認證到內部PKI保護的資源。
[0105]接收器604和MDX框架614可以被增強以支持獲得和使用到內部PKI保護的網絡資源的認證的客戶端證書。多于一個證書可以被支持,例如以匹配各種等級的安全和/或分離要求。證書可以由郵件和瀏覽器受管應用來使用,并且最終由任意包裝的應用來使用(提供的這些應用使用web服務式通信模式,其中對于MDX框架調解https請求是合理的)。
[0106]對于每個使用周期,對1S的MDX客戶端證書支持可以依賴于將PKCS 12 BLOB (二進制大對象)導入到每個受管應用中的i〇S密鑰鏈中。MDX客戶端證書支持可以將HTTPS實現(xiàn)與專用存儲器中的密鑰儲存一起使用。除了可能在被強保護的“僅僅在線”數(shù)據(jù)值中以外,客戶端證書將永遠不出現(xiàn)在i〇S密鑰鏈中并且將不被持續(xù)。
[0107]相互SSL還可以被實現(xiàn)以通過要求移動設備602被認證到企業(yè)來提供附加的安全,并且反之亦然。用于到云網關606的認證的虛擬智能卡還可以被實現(xiàn)。
[0108]有限的和完全的Kerberos支持兩者可以是附加的特征。完全的支持特征涉及使用AD密碼或受信任的客戶端證書進行完全Kerberos登錄到AD 622并且獲得Kerberos服務票據(jù)以響應于HTTP協(xié)商認證挑戰(zhàn)的能力。有限的支持特征涉及AFEE中的約束委派,其中AFEE支持調用Kerberos協(xié)議轉換,因此它可以獲得和使用Kerberos服務票據(jù)(受到約束委派)以響應于HTTP協(xié)商認證挑戰(zhàn)。該機制以反向web代理(又稱作CVPN)模式工作,并且當http (但不是https)連接時以VPN和微VPN模式來代理。
[0109]另一個特征涉及應用容器鎖定和擦除,其可以在檢測到越獄或獲得管理員權限時自動發(fā)生,并且作為來自管理控制臺的推送的命令而發(fā)生,并且可以包括遠程擦除功能(甚至當應用610不運行時)。
[0110]StoreFront和應用控制器的多站點架構或配置可以被支持,其允許用戶在故障的情況下得到來自若干不同的位置中的一個的服務。
[0111]在一些情況下,受管應用610可以被允許經由API (示例OpenSSL)訪問證書和專用密鑰。企業(yè)的受信任的受管應用610可以被允許利用應用的客戶端證書和專用密鑰執(zhí)行特定的公共密鑰操作。各種使用情況可以被識別并且被相應地處理,例如當應用行為類似瀏覽器并且沒有證書訪問被要求時,當應用讀取“我是誰”的證書時,當應用使用該證書以構建安全會話令牌時,并且當應用使用專用密鑰用于重要數(shù)據(jù)(例如,交易日志)的數(shù)字簽名或用于臨時數(shù)據(jù)加密時。
[0112]說明性實施例
[0113]圖7示出了移動設備的樣本界面,并且圖8-14示出了用于確定應用的操作模式的方法的樣本實施例。圖8-14中示出的方法可以在各個實施例中以任何合適的方式進行組合。圖7中描繪的樣本界面可以顯示在移動設備(例如設備107、109、240、502和/或602)上,并且圖8-14中示出的方法可以通過這樣的移動設備來實現(xiàn)。
[0114]在圖8中,示出了用于確定應用的應用模式的示例方法步驟的流程圖。圖8的方法可以開始于步驟802,其中呈現(xiàn)了多個應用。例如,多個應用可以在移動設備上呈現(xiàn)給用戶。圖7示出了實施例,其中顯示在移動設備(例如,平板電腦、智能電話等等)上的用戶界面700將應用A 700、B 701、C 702和E 703呈現(xiàn)給用戶。這僅僅是個示例,并且可以以任何合適的方式來呈現(xiàn)多個應用。在實施例中,多個應用可以包括電子郵件應用、web瀏覽應用、軟件即服務(SaaS)訪問應用等等。
[0115]圖8的方法可以從步驟802繼續(xù)進行到步驟804,其中接收到對多個應用中的一個的選擇。參考圖7中示出的實施例,移動設備的用戶可以例如通過按壓移動設備的顯示器以選擇應用來選擇所呈現(xiàn)的應用中的一個。這僅僅是個示例,并且可以以任何合適的方式來選擇應用。
[0116]圖8的方法可以從步驟804繼續(xù)進行到步驟806,其中基于執(zhí)行所選擇的應用的設備的一個或多個操作參數(shù)來確定所選擇的應用的環(huán)境。例如,環(huán)境可以基于將由應用訪問的賬戶、移動設備的位置或執(zhí)行應用的移動設備的網絡連接狀態(tài)或基于任何其它操作參數(shù)。下文進一步描述的圖9-13的方法示出了其中示例環(huán)境被描述的各個實施例。
[0117]圖8的方法可以從步驟804繼續(xù)進行到步驟806,其中基于環(huán)境來確定所選擇的應用的操作模式。在實施例中,操作模式可以包括未受管模式、受管模式和部分受管模式。操作模式可以基于一個或多個確定的環(huán)境來確定。
[0118]在實施例中,確定的環(huán)境可以與儲存的策略進行比較以便確定操作模式。移動設備(例如移動設備502)可以儲存用于確定應用的操作模式的一個或多個策略。在實施例中,策略可以被遠程儲存在例如以上參考圖5描述的策略管理器570。在示例中,環(huán)境可以包括被配置為訪問安全賬戶的所選擇的應用(例如被配置為訪問安全電子郵件賬戶的電子郵件應用)。該環(huán)境可以與儲存的策略進行比較。例如,儲存的策略可以定義被配置為訪問安全電子郵件賬戶的電子郵件應用將被運行為受管應用。將參考圖9-13來描述附加的環(huán)境和策略。
[0119]圖8的方法可以從步驟806繼續(xù)進行到步驟808,其中所選擇的應用以確定的操作模式來運行。例如,操作模式可以被確定為受管的、非受管的或部分受管的,并且所選擇的應用可以以確定的模式來運行。
[0120]在實施例中,受管操作模式可以包括運行作為如以上參考圖5描述的移動設備502的受管分區(qū)510的一部分的應用。同樣地,受管應用可以運行為安全本地應用514、由安全應用啟動器518執(zhí)行的安全遠程應用522、由安全應用啟動器518執(zhí)行的虛擬化應用526等等。運行在受管分區(qū)上的應用可以是穩(wěn)定的應用,使得設備管理器524監(jiān)控穩(wěn)定的應用以檢測和糾正可能導致不穩(wěn)定的應用的問題(例如將更新推送到穩(wěn)定的應用)。
[0121]在實施例中,以受管模式運行的應用可以訪問儲存在移動設備的受管分區(qū)510中的安全數(shù)據(jù)容器528中的數(shù)據(jù)。儲存在安全數(shù)據(jù)容器528中的數(shù)據(jù)可以包括限于在其它安全應用之間共享的特定的安全應用530等等。限于安全應用的數(shù)據(jù)可以包括安全通用數(shù)據(jù)534和高度安全數(shù)據(jù)538。安全通用數(shù)據(jù)可以使用強加密形式(例如AES 128位加密等等),而高度安全數(shù)據(jù)538可以使用非常強的加密形式(例如AES 254位加密)。在實施例中,以受管模式運行的應用可以保存、修改或刪除安全數(shù)據(jù)容器528中的數(shù)據(jù)。所保存的或修改的數(shù)據(jù)可以類似于儲存在安全數(shù)據(jù)容器528中的其它數(shù)據(jù)進行加密。
[0122]在實施例中,以受管模式運行的應用可以通過如關于參考圖5描述的虛擬專用網絡連接連接到企業(yè)資源504和企業(yè)服務508。虛擬專用網絡連接可以特定于特定的應用(例如,所選擇的應用)、特定的設備、移動設備上的特定的安全區(qū)域等等。例如,在電話的安全區(qū)域中的包裝的應用可以通過應用特定VPN訪問企業(yè)資源,使得將基于與應用相關的屬性(可能結合用戶或設備屬性信息)來授權對VPN的訪問。
[0123]在實施例中,以受管模式運行的應用可以對從應用傳送的數(shù)據(jù)進行加密。例如,以受管模式運行的應用可以通過網絡與計算設備進通信,并且從應用傳送到設備的數(shù)據(jù)可以被加密。此外,從計算設備傳輸?shù)綉玫臄?shù)據(jù)也可以被加密,并且以受管模式運行的應用可以被配置為對所接收的數(shù)據(jù)進行解密。
[0124]在實施例中,以受管模式運行的應用可以訪問安全的門戶。例如,應用可以通過網絡(例如微VPN)連接到計算設備,并且可以訪問可能不由非安全的應用(例如以非受管模式運行的應用)訪問的安全的門戶。
[0125]在實施例中,非受管的操作模式可以包括運行作為如以上參考圖5描述的移動設備502的非受管的分區(qū)512的一部分的應用。在非受管模式中,應用可以訪問儲存在移動設備502的非受管分區(qū)512上的非安全的數(shù)據(jù)容器542中的數(shù)據(jù)。儲存在非安全的數(shù)據(jù)容器中的數(shù)據(jù)可以是個人數(shù)據(jù)544。
[0126]在實施例中,以部分受管模式運行的應用可以類似于以受管模式運行的應用運行,但是可能不包括以受管模式運行的應用的所有方面。例如,以部分受管模式運行的應用可以使通過網絡從應用傳送的信息進行加密,但是應用可能不訪問如參考圖5描述的安全數(shù)據(jù)容器528。在另一個示例中,以部分受管模式運行的應用可以訪問安全數(shù)據(jù)容器528,但是可能不能夠通過虛擬專用網絡連接連接到企業(yè)資源504和企業(yè)服務508。因此,根據(jù)確定的環(huán)境,以部分受管模式運行的應用可以包括以受管模式運行的應用的方面和以非受管模式運行的應用的方面。
[0127]在圖9-13中,示出了用于確定應用的環(huán)境和操作模式的示例方法步驟的流程圖。在實施例中,圖8的步驟806和808可以包括圖9-13中的任何一個或多個的方法步驟。圖9的方法可以開始于步驟902,其中檢測將由所選擇的應用訪問的賬戶。例如,所選擇的應用可以包括電子郵件應用并且電子郵件應用被配置為訪問的電子郵件賬戶可以被檢測。在該示例中,電子郵件應用可以能夠訪問多個電子郵件賬戶(例如企業(yè)電子郵件賬戶和個人電子郵件賬戶),并且電子郵件應用被配置為在運行時訪問的賬戶可以被確定為將被訪問的環(huán)境賬戶。
[0128]圖9的方法可以從步驟902繼續(xù)進行到步驟904,其中可以確定將被訪問的賬戶的賬戶類型。賬戶類型可以構成所選擇的應用的環(huán)境。例如,所選擇的應用可以包括電子郵件應用并且電子郵件應用可以被配置為訪問企業(yè)賬戶。在另一個示例中,電子郵件應用可以被配置為訪問個人賬戶。
[0129]圖9的方法可以從步驟904繼續(xù)進行到步驟906,其中賬戶類型可以與賬戶類型策略進行比較。例如,策略可以定義將訪問企業(yè)賬戶的電子郵件應用應當以受管模式運行并且將訪問個人賬戶的電子郵件應用應當以非受管模式運行。圖9的方法可以從步驟906繼續(xù)進行到步驟908,其中基于比較來確定操作