本申請要求于2014年4月30日提交的標(biāo)題為“Enterprise System Authentication and Authorization via Gateway”的待審美國申請?zhí)枮?4/265,661的優(yōu)先權(quán)。
領(lǐng)域
本文所述的方面大體上涉及企業(yè)系統(tǒng)內(nèi)的客戶端設(shè)備的認(rèn)證。更具體地,本文的特定方面提供經(jīng)由網(wǎng)關(guān)設(shè)備來認(rèn)證和授權(quán)在企業(yè)系統(tǒng)中的客戶端設(shè)備的技術(shù)。
背景
移動設(shè)備例如智能電話、個(gè)人數(shù)字助理、平板電腦、其它類型的移動和非移動計(jì)算設(shè)備正變得越來越普遍。越來越多的人為了各種目的在個(gè)人和商業(yè)環(huán)境中使用移動設(shè)備。隨著更多的人使用移動設(shè)備,越來越多的數(shù)據(jù)經(jīng)由與這些移動設(shè)備相關(guān)的網(wǎng)絡(luò)被傳輸。這可導(dǎo)致增加的抖動并可引起在網(wǎng)絡(luò)資源上的耗竭。
請求訪問企業(yè)資源的客戶端設(shè)備在被允許訪問由該資源提供的任何服務(wù)之前必須首先在該資源上進(jìn)行認(rèn)證。通常,客戶端設(shè)備必須在被授予訪問之前為了認(rèn)證和授權(quán)而與資源進(jìn)行通信。此外,客戶端設(shè)備可能每當(dāng)它請求訪問企業(yè)資源時(shí)需要被認(rèn)證。這些頻繁的通信提供客戶端設(shè)備上的消耗,并導(dǎo)致浪費(fèi)的網(wǎng)絡(luò)資源。
因此,存在對減少在客戶端設(shè)備和企業(yè)系統(tǒng)之間的不斷交談的量的需要。
概述
下文呈現(xiàn)了本文描述的各個(gè)方面的簡化概述。該概述并不是廣泛的綜述,并且并不旨在確定關(guān)鍵或重要元素或描繪權(quán)利要求的范圍。下面的概述僅僅以簡化的形式呈現(xiàn)一些概念,作為對下面提供的更詳細(xì)描述的引導(dǎo)序言。
為了克服在以上描述的現(xiàn)有技術(shù)中的限制并且克服在閱讀和理解本說明書時(shí)將明顯的其它限制,本文描述的方面針對提供經(jīng)由網(wǎng)關(guān)設(shè)備來認(rèn)證并授權(quán)在企業(yè)系統(tǒng)中的客戶端設(shè)備的方法。
本公開的一個(gè)或多個(gè)方面提供一種方法,該方法可包括:通過計(jì)算設(shè)備將由客戶端設(shè)備傳輸?shù)挠糜谠L問企業(yè)資源的請求傳遞到企業(yè)設(shè)備;以及通過計(jì)算設(shè)備將包括與客戶端設(shè)備相關(guān)的認(rèn)證憑證且還包括對與企業(yè)資源相關(guān)的授權(quán)信息的請求的信息傳輸?shù)狡髽I(yè)設(shè)備。該方法還可包括通過計(jì)算設(shè)備并響應(yīng)于與客戶端設(shè)備相關(guān)的認(rèn)證憑證的成功認(rèn)證而接收與企業(yè)資源相關(guān)的授權(quán)信息;以及通過計(jì)算設(shè)備將由客戶端設(shè)備傳輸?shù)挠糜趯υL問企業(yè)資源的請求連同所接收的與企業(yè)資源相關(guān)的授權(quán)信息傳輸?shù)狡髽I(yè)資源。該方法還可包括基于所接收的與企業(yè)資源相關(guān)的授權(quán)信息,通過計(jì)算設(shè)備將與所請求的企業(yè)資源相關(guān)的信息傳遞到客戶端設(shè)備。
本公開的一個(gè)或多個(gè)方面提供一種系統(tǒng),該系統(tǒng)包括:至少一個(gè)處理器;以及存儲指令的至少一個(gè)存儲器,指令當(dāng)由至少一個(gè)處理器執(zhí)行時(shí)使系統(tǒng)執(zhí)行一個(gè)或多個(gè)步驟。系統(tǒng)可執(zhí)行的步驟可包括通過計(jì)算設(shè)備將由客戶端設(shè)備傳輸?shù)挠糜谠L問企業(yè)資源的請求傳遞到企業(yè)設(shè)備;以及通過計(jì)算設(shè)備將包括與客戶端設(shè)備相關(guān)的認(rèn)證憑證且還包括對與企業(yè)資源相關(guān)的授權(quán)信息的請求的信息傳輸?shù)狡髽I(yè)設(shè)備。該步驟還可包括通過計(jì)算設(shè)備并響應(yīng)于與客戶端設(shè)備相關(guān)的認(rèn)證憑證的成功認(rèn)證而接收與企業(yè)資源相關(guān)的授權(quán)信息;以及通過計(jì)算設(shè)備將由客戶端設(shè)備發(fā)送的對訪問企業(yè)資源的請求連同所接收的與企業(yè)資源相關(guān)的授權(quán)信息傳輸?shù)狡髽I(yè)資源。該步驟還可包括基于所接收的與企業(yè)資源相關(guān)的授權(quán)信息,通過計(jì)算設(shè)備將與所請求的企業(yè)資源相關(guān)的信息傳遞到客戶端設(shè)備。
本公開的一個(gè)或多個(gè)方面提供一個(gè)或多個(gè)非暫時(shí)性計(jì)算機(jī)可讀存儲介質(zhì),其具有存儲在其上的指令,該指令當(dāng)由一個(gè)或多個(gè)處理器執(zhí)行時(shí)可促使一個(gè)或多個(gè)處理器執(zhí)行步驟。一個(gè)或多個(gè)處理器執(zhí)行的步驟可包括通過計(jì)算設(shè)備將由客戶端設(shè)備傳輸?shù)挠糜谠L問企業(yè)資源的請求傳遞到企業(yè)設(shè)備;以及通過計(jì)算設(shè)備將包括與客戶端設(shè)備相關(guān)的認(rèn)證憑證且還包括對與企業(yè)資源相關(guān)的授權(quán)信息的請求的信息傳輸?shù)狡髽I(yè)設(shè)備。該步驟還可包括通過計(jì)算設(shè)備并響應(yīng)于與客戶端設(shè)備相關(guān)的認(rèn)證憑證的成功認(rèn)證而接收與企業(yè)資源相關(guān)的授權(quán)信息;以及通過計(jì)算設(shè)備將由客戶端設(shè)備發(fā)送的對訪問企業(yè)資源的請求連同所接收的與企業(yè)資源相關(guān)的授權(quán)信息傳輸?shù)狡髽I(yè)資源。該步驟還可包括基于所接收的與企業(yè)資源相關(guān)的授權(quán)信息,通過計(jì)算設(shè)備將與所請求的企業(yè)資源相關(guān)的信息傳遞到客戶端設(shè)備。
得益于以下進(jìn)一步詳細(xì)討論的本公開,將理解這些和附加的方面。
附圖簡述
可以通過參考考慮到附圖的以下的描述來獲得本文所描述的方面的更完整的理解及其優(yōu)點(diǎn),其中相似的參考數(shù)字指示相似的特征,并且在附圖中:
圖1描繪可根據(jù)本文描述的一個(gè)或多個(gè)說明性方面使用的說明性計(jì)算機(jī)系統(tǒng)架構(gòu)。
圖2描繪可根據(jù)本文描述的一個(gè)或多個(gè)說明性方面使用的說明性遠(yuǎn)程訪問系統(tǒng)架構(gòu)。
圖3描繪說明性企業(yè)移動性管理系統(tǒng)。
圖4描繪另一個(gè)說明性企業(yè)移動性管理系統(tǒng)。
圖5描繪示出根據(jù)本文描述的一個(gè)或多個(gè)特征使用網(wǎng)關(guān)設(shè)備來認(rèn)證并授權(quán)在企業(yè)系統(tǒng)中的客戶端設(shè)備的示例過程的說明性流程圖。
圖6描繪示出根據(jù)本文描述的一個(gè)或多個(gè)特征使用網(wǎng)關(guān)設(shè)備來認(rèn)證并授權(quán)在企業(yè)系統(tǒng)中的客戶端設(shè)備的流程示意圖的說明性系統(tǒng)。
圖7描繪根據(jù)本文所述的一個(gè)或多個(gè)特征的認(rèn)證服務(wù)的說明性示意圖。
圖8描繪根據(jù)本文所述的一個(gè)或多個(gè)特征使用網(wǎng)關(guān)設(shè)備和多個(gè)商店來認(rèn)證并授權(quán)在企業(yè)系統(tǒng)中的客戶端設(shè)備的說明性系統(tǒng)。
詳細(xì)描述
在各種實(shí)施方式的以下描述中,參考了以上確認(rèn)并形成本文一部分的附圖,并且其中通過說明的方式示出了各種實(shí)施方式,其中本文描述的各方面可被實(shí)踐。應(yīng)當(dāng)理解,可使用其它實(shí)施方式且可做出結(jié)構(gòu)性和功能性的修改,而不偏離本文所述的范圍。各種方面能夠是其它實(shí)施方式并且能夠以各種不同的方式被實(shí)踐或?qū)嵤?/p>
作為對下面更詳細(xì)描述的主題的一般介紹,本文描述的各方面針對在移動計(jì)算設(shè)備處使用受管移動應(yīng)用來控制對在企業(yè)計(jì)算系統(tǒng)處的資源的遠(yuǎn)程訪問。訪問管理器可執(zhí)行驗(yàn)證過程,其確定請求對企業(yè)資源的訪問的移動應(yīng)用自身是否被準(zhǔn)確地識別并且在安裝在移動計(jì)算設(shè)備處之后是否沒有被隨后改變。以這種方式,訪問管理器可確保請求對企業(yè)資源的訪問的移動應(yīng)用可被信任并且不試圖規(guī)避用于保護(hù)那些企業(yè)資源的安全機(jī)制。因此,與企業(yè)相關(guān)的個(gè)體可有利地在他們的個(gè)人移動設(shè)備處使用企業(yè)資源。
應(yīng)當(dāng)理解,本文使用的措辭和術(shù)語是為了描述的目的,并且不應(yīng)被視為限制。相反,本文使用的短語和術(shù)語將被給出它們最廣義的解釋和含義?!鞍?including)”和“包含(comprising)”及其變型的使用意欲包括在其后列出的項(xiàng)及其等價(jià)物以及附加的項(xiàng)及其等價(jià)物。術(shù)語“安裝”、“連接”、“耦合”、“定位”、“接合”以及類似術(shù)語的使用意欲包括直接和間接安裝、連接、耦合、定位和接合兩者。
計(jì)算架構(gòu)
可在各種不同的系統(tǒng)環(huán)境(包括獨(dú)立的、聯(lián)網(wǎng)的、遠(yuǎn)程訪問(亦稱遠(yuǎn)程桌面)、虛擬化的和/或基于云的環(huán)境等)中利用計(jì)算機(jī)軟件、硬件和網(wǎng)絡(luò)。圖1示出可用于在獨(dú)立和/或聯(lián)網(wǎng)的環(huán)境中實(shí)現(xiàn)本文所述的一個(gè)或多個(gè)說明性方面的系統(tǒng)架構(gòu)和數(shù)據(jù)處理設(shè)備的一個(gè)示例。各個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)103、105、107和109可經(jīng)由廣域網(wǎng)(WAN)101(例如互聯(lián)網(wǎng))來互連。還可以或可選地使用其它網(wǎng)絡(luò),包括私有內(nèi)聯(lián)網(wǎng)、公司網(wǎng)絡(luò)、LAN、城域網(wǎng)(MAN)無線網(wǎng)絡(luò)、個(gè)人網(wǎng)絡(luò)(PAN)等。網(wǎng)絡(luò)101是為了說明的目的,并可以用更少或附加的計(jì)算機(jī)網(wǎng)絡(luò)來代替。局域網(wǎng)(LAN)可具有任何已知的LAN拓?fù)渲械囊粋€(gè)或多個(gè),并可使用各種不同的協(xié)議中的一個(gè)或多個(gè),例如以太網(wǎng)。設(shè)備103、105、107、109和其它設(shè)備(未示出)可經(jīng)由雙絞線、同軸電纜、光纖、無線電波或其它通信介質(zhì)連接到網(wǎng)絡(luò)中的一個(gè)或多個(gè)。
如在本文中使用和在附圖中描繪的術(shù)語“網(wǎng)絡(luò)”不僅指的是其中遠(yuǎn)程存儲設(shè)備經(jīng)由一個(gè)或多個(gè)通信路徑耦合在一起的系統(tǒng),而且還指的是可不時(shí)地耦合到具有存儲能力的這樣的系統(tǒng)的獨(dú)立設(shè)備。因此,術(shù)語“網(wǎng)絡(luò)”不僅包括“物理網(wǎng)絡(luò)”,而且包括由位于全部物理網(wǎng)絡(luò)上的歸屬于單個(gè)實(shí)體的數(shù)據(jù)組成的“內(nèi)容網(wǎng)絡(luò)”。
組件可包括數(shù)據(jù)服務(wù)器103、網(wǎng)絡(luò)服務(wù)器105和客戶端計(jì)算機(jī)107、109。數(shù)據(jù)服務(wù)器103提供數(shù)據(jù)庫的總訪問、控制和管理以及用于執(zhí)行本文描述的一個(gè)或多個(gè)說明性方面的控制軟件。數(shù)據(jù)服務(wù)器103可連接到網(wǎng)絡(luò)服務(wù)器105,用戶根據(jù)需要通過網(wǎng)絡(luò)服務(wù)器105與數(shù)據(jù)交互并且獲得數(shù)據(jù)??蛇x地,數(shù)據(jù)服務(wù)器103可用作網(wǎng)絡(luò)服務(wù)器本身并直接連接到互聯(lián)網(wǎng)。數(shù)據(jù)服務(wù)器103可通過網(wǎng)絡(luò)101(例如互聯(lián)網(wǎng))經(jīng)由直接或間接連接或經(jīng)由一些其它網(wǎng)絡(luò)連接到網(wǎng)絡(luò)服務(wù)器105。用戶可以使用遠(yuǎn)程計(jì)算機(jī)107、109與數(shù)據(jù)服務(wù)器103進(jìn)行交互,例如經(jīng)由通過網(wǎng)絡(luò)服務(wù)器105托管的一個(gè)或多個(gè)在外部暴露的網(wǎng)站連接到數(shù)據(jù)服務(wù)器103的網(wǎng)絡(luò)瀏覽器??蛻舳擞?jì)算機(jī)107、109可與數(shù)據(jù)服務(wù)器103配合使用以訪問存儲在其中的數(shù)據(jù)或可用于其它目的。例如,從客戶端設(shè)備107用戶可使用如本領(lǐng)域已知的互聯(lián)網(wǎng)瀏覽器或通過執(zhí)行在計(jì)算機(jī)網(wǎng)絡(luò)(例如互聯(lián)網(wǎng))上與網(wǎng)絡(luò)服務(wù)器105和/或數(shù)據(jù)服務(wù)器103進(jìn)行通信的軟件應(yīng)用來訪問網(wǎng)絡(luò)服務(wù)器105。
服務(wù)器和應(yīng)用可在相同的物理機(jī)器上組合,并保持獨(dú)立的虛擬或邏輯地址,或可駐留在獨(dú)立的物理機(jī)器上。圖1僅僅示出可被使用的網(wǎng)絡(luò)架構(gòu)的一個(gè)示例,并且本領(lǐng)域中的技術(shù)人員將認(rèn)識到,所使用的特定網(wǎng)絡(luò)架構(gòu)和數(shù)據(jù)處理設(shè)備可改變,且對它們提供的功能是次要的,如在本文進(jìn)一步所述的。例如,由網(wǎng)絡(luò)服務(wù)器105和數(shù)據(jù)服務(wù)器103提供的服務(wù)可以組合在單個(gè)服務(wù)器上。
每個(gè)組件103、105、107、109可以是任何類型的已知計(jì)算機(jī)、服務(wù)器或數(shù)據(jù)處理設(shè)備。數(shù)據(jù)服務(wù)器103例如可包括控制速率服務(wù)器103的整體操作的處理器111。數(shù)據(jù)服務(wù)器103還可包括隨機(jī)存取存儲器(RAM)113、只讀存儲器(ROM)115、網(wǎng)絡(luò)接口117、輸入/輸出接口119(例如,鍵盤、鼠標(biāo)、顯示器、打印機(jī)等)和存儲器121。輸入/輸出(I/O)119可包括用于讀取、寫入、顯示和/或打印數(shù)據(jù)或文件的各種接口單元和驅(qū)動器。存儲器121還可存儲用于控制數(shù)據(jù)處理設(shè)備103的整體操作的操作系統(tǒng)軟件123、用于指示數(shù)據(jù)服務(wù)器103執(zhí)行本文所述的方面的控制邏輯125和提供輔助、支持和/或可以或不可以結(jié)合本文所述的方面使用的其它功能的其它應(yīng)用軟件127??刂七壿嬙诒疚囊部杀环Q為數(shù)據(jù)服務(wù)器軟件125。數(shù)據(jù)服務(wù)器軟件的功能可以指的是基于被編碼到控制邏輯內(nèi)的規(guī)則自動做出的、由將輸入提供到系統(tǒng)內(nèi)的用戶手動做出的操作或決定和/或基于用戶輸入(例如查詢、數(shù)據(jù)更新等)的自動處理的組合。
存儲器121還可存儲在本文所述的一個(gè)或多個(gè)方面的執(zhí)行中使用的數(shù)據(jù),包括第一數(shù)據(jù)庫129和第二數(shù)據(jù)庫131。在一些實(shí)施方式中,第一數(shù)據(jù)庫可包括第二數(shù)據(jù)庫(例如,作為單獨(dú)的表格、報(bào)告等)。也就是說,根據(jù)系統(tǒng)設(shè)計(jì),信息可存儲在單個(gè)數(shù)據(jù)庫中或分離成不同的邏輯、虛擬或物理數(shù)據(jù)庫。設(shè)備105、107、109可具有與關(guān)于設(shè)備103描述的類似或不同的架構(gòu)。本領(lǐng)域中的技術(shù)人員將認(rèn)識到,如本文所述的數(shù)據(jù)處理設(shè)備103(或設(shè)備105、107、109)的功能可以遍布多個(gè)數(shù)據(jù)處理設(shè)備,例如以跨多個(gè)計(jì)算機(jī)而分配處理負(fù)載,以基于地理位置、用戶訪問級別、服務(wù)質(zhì)量(QoS)等來分離事務(wù)。
一個(gè)或多個(gè)方面可體現(xiàn)在由如本文所述的一個(gè)或多個(gè)計(jì)算機(jī)或其它設(shè)備執(zhí)行的計(jì)算機(jī)可用或可讀數(shù)據(jù)和/或計(jì)算機(jī)可執(zhí)行指令中,例如在一個(gè)或多個(gè)程序模塊中。通常,程序模塊包括當(dāng)由計(jì)算機(jī)或其它設(shè)備中的處理器執(zhí)行時(shí)執(zhí)行特定的任務(wù)或?qū)崿F(xiàn)特定的抽象數(shù)據(jù)類型的例程、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)等??梢砸噪S后被編譯用于執(zhí)行的源代碼編程語言編寫或可以以腳本語言例如(但不限于)超文本標(biāo)記語言(HTML)或可擴(kuò)展標(biāo)記語言(XML)編寫模塊。計(jì)算機(jī)可執(zhí)行指令可存儲在計(jì)算機(jī)可讀介質(zhì)例如非易失性存儲設(shè)備上??衫萌魏魏线m的計(jì)算機(jī)可讀存儲介質(zhì),包括硬盤、CD-ROM、光學(xué)存儲設(shè)備、磁存儲設(shè)備和/或其任何組合。此外,代表如本文所述的數(shù)據(jù)或事件的各種傳輸(非存儲)介質(zhì)可以以通過信號傳導(dǎo)介質(zhì)(例如,金屬線、光纖)和/或無線傳輸介質(zhì)(例如,空氣和/或空間)傳播的電磁波的形式在源和目的地之間傳遞。本文所述的各種方面可被體現(xiàn)為方法、數(shù)據(jù)處理系統(tǒng)或計(jì)算機(jī)程序產(chǎn)品。因此,各種功能可全部或部分地體現(xiàn)在軟件、固件和/或硬件或硬件等價(jià)物(例如集成電路、現(xiàn)場可編程門陣列(FPGA)等)中。特定的數(shù)據(jù)結(jié)構(gòu)可用于更有效地實(shí)現(xiàn)本文所述的一個(gè)或多個(gè)方面,并且這樣的數(shù)據(jù)結(jié)構(gòu)被設(shè)想在本文所述的計(jì)算機(jī)可執(zhí)行指令和計(jì)算機(jī)可用數(shù)據(jù)的范圍之內(nèi)。
進(jìn)一步參考圖2,本文描述的一個(gè)或多個(gè)方面可在遠(yuǎn)程訪問環(huán)境中實(shí)現(xiàn)。圖2描繪包括可根據(jù)本文描述的一個(gè)或多個(gè)說明性方面使用的在說明性計(jì)算環(huán)境200中的通用計(jì)算設(shè)備201的示例系統(tǒng)架構(gòu)。通用計(jì)算設(shè)備201可被用作配置成提供用于客戶端訪問設(shè)備的虛擬機(jī)的單服務(wù)器或多服務(wù)器桌面虛擬化系統(tǒng)(例如,遠(yuǎn)程訪問或云系統(tǒng))中的服務(wù)器206a。通用計(jì)算設(shè)備201可具有用于控制服務(wù)器的整體操作的處理器203及其相關(guān)組件,包括RAM 205、ROM 207、I/O模塊209和存儲器215。
I/O模塊209可包括鼠標(biāo)、鍵盤、觸摸屏、掃描儀、光學(xué)閱讀器和/或觸針(或其它輸入設(shè)備),通用計(jì)算設(shè)備201的用戶可通過這些輸入設(shè)備提供輸入,并且還可包括用于提供音頻輸出的揚(yáng)聲器和用于提供文本、視聽和/或圖形輸出的視頻顯示設(shè)備中的一個(gè)或多個(gè)。軟件可存儲在存儲器215和/或其它儲存器內(nèi)以向處理器203提供用于將通用計(jì)算設(shè)備201配置到專用計(jì)算設(shè)備內(nèi)以便執(zhí)行如本文所述的各種功能的指令。例如,存儲器215可存儲由計(jì)算設(shè)備201使用的軟件,例如操作系統(tǒng)217、應(yīng)用程序219和相關(guān)聯(lián)的數(shù)據(jù)庫221。
計(jì)算設(shè)備201可在支持與一個(gè)或多個(gè)遠(yuǎn)程計(jì)算機(jī)例如終端240(也被稱為客戶端設(shè)備)的連接的聯(lián)網(wǎng)環(huán)境中操作。終端240可以是包括以上關(guān)于通用計(jì)算設(shè)備103或201描述的很多或所有元件的個(gè)人計(jì)算機(jī)、移動設(shè)備、膝上型計(jì)算機(jī)、平板計(jì)算機(jī)或服務(wù)器。在圖2中描繪的網(wǎng)絡(luò)連接包括局域網(wǎng)(LAN)225和廣域網(wǎng)(WAN)229,但還可以包括其它網(wǎng)絡(luò)。當(dāng)在LAN網(wǎng)絡(luò)環(huán)境中使用時(shí),計(jì)算設(shè)備201可通過網(wǎng)絡(luò)接口或適配器223連接到LAN 225。當(dāng)在WAN網(wǎng)絡(luò)環(huán)境中使用時(shí),計(jì)算設(shè)備201可包括調(diào)制解調(diào)器227或用于在諸如計(jì)算機(jī)網(wǎng)絡(luò)230(例如,互聯(lián)網(wǎng))的WAN 229上建立通信的其它廣域網(wǎng)接口。將認(rèn)識到,所示的網(wǎng)絡(luò)連接是說明性的,并且可以使用在計(jì)算機(jī)之間建立通信鏈路的其它手段。計(jì)算設(shè)備201和/或終端240還可以是包括各種其它組件(例如,電池、揚(yáng)聲器和天線(未示出))的移動終端(例如,移動電話、智能電話、個(gè)人數(shù)字助理(PDA)、筆記本電腦等)。
本文描述的方面還可以利用眾多其它通用或?qū)S糜?jì)算系統(tǒng)環(huán)境或配置來操作??蛇m合于與本文描述的方面一起使用的其它計(jì)算系統(tǒng)、環(huán)境和/或配置的示例包括但不限于個(gè)人計(jì)算機(jī)、服務(wù)器計(jì)算機(jī)、手持或膝上型設(shè)備、多處理器系統(tǒng)、基于微處理器的系統(tǒng)、機(jī)頂盒、可編程消費(fèi)電子產(chǎn)品、網(wǎng)絡(luò)個(gè)人計(jì)算機(jī)(PC)、小型計(jì)算機(jī)、大型計(jì)算機(jī)、包括以上系統(tǒng)或設(shè)備中的任一個(gè)的分布式計(jì)算環(huán)境等。
如圖2所示,一個(gè)或多個(gè)客戶端設(shè)備240可與一個(gè)或多個(gè)服務(wù)器206a-206n(通常在本文被稱為“服務(wù)器206”)進(jìn)行通信。在一個(gè)實(shí)施方式中,計(jì)算環(huán)境200可包括安裝在服務(wù)器206和客戶機(jī)240之間的網(wǎng)絡(luò)器具。網(wǎng)絡(luò)器具可管理客戶端/服務(wù)器連接,并且在某些情況下可以在多個(gè)后端服務(wù)器206中對客戶端連接進(jìn)行負(fù)載均衡。
在一些實(shí)施方式中,客戶機(jī)240可被稱為單個(gè)客戶機(jī)240或單組客戶機(jī)240,同時(shí)服務(wù)器206可被稱為單個(gè)服務(wù)器206或單組服務(wù)器206。在一個(gè)實(shí)施方式中,單個(gè)客戶機(jī)240與多于一個(gè)服務(wù)器206進(jìn)行通信,而在另一個(gè)實(shí)施方式中,單個(gè)服務(wù)器206與多于一個(gè)客戶機(jī)240進(jìn)行通信。在又一個(gè)實(shí)施方式中,單個(gè)客戶機(jī)240與單個(gè)服務(wù)器206進(jìn)行通信。
在一些實(shí)施方式中,客戶機(jī)240可以通過以下非窮舉術(shù)語中的任一個(gè)來引用:客戶機(jī)、客戶端、客戶端計(jì)算機(jī)、客戶端設(shè)備、客戶端計(jì)算設(shè)備、本地機(jī)器、遠(yuǎn)程機(jī)器、客戶端節(jié)點(diǎn)、端點(diǎn)或端點(diǎn)節(jié)點(diǎn)。在一些實(shí)施方式中,服務(wù)器206可以通過以下非窮舉術(shù)語中的任一個(gè)來引用:服務(wù)器、本地機(jī)器、遠(yuǎn)程機(jī)器、服務(wù)器群或主計(jì)算設(shè)備。
在一個(gè)實(shí)施方式中,客戶機(jī)240可以是虛擬機(jī)。虛擬機(jī)可以是任何虛擬機(jī),而在一些實(shí)施方式中,虛擬機(jī)可以是由1型或2型管理程序(例如由思杰系統(tǒng)、IBM、VMware開發(fā)的管理程序)或任何其它管理程序管理的任何虛擬機(jī)。在一些方面中,虛擬機(jī)可由管理程序管理,而在一些方面中,虛擬機(jī)可由在服務(wù)器206上執(zhí)行的管理程序或在客戶端240上執(zhí)行的管理程序管理。
一些實(shí)施方式包括客戶端設(shè)備240,其顯示由在服務(wù)器206或其它遠(yuǎn)程定位的機(jī)器上遠(yuǎn)程地執(zhí)行的應(yīng)用生成的應(yīng)用輸出。在這些實(shí)施方式中,客戶端設(shè)備240可執(zhí)行虛擬機(jī)接收機(jī)程序或應(yīng)用以在應(yīng)用窗口、瀏覽器或其它輸出窗口中顯示輸出。在一個(gè)示例中,應(yīng)用是桌面,而在其它示例中,應(yīng)用是生成或呈現(xiàn)桌面的應(yīng)用。桌面可包括為操作系統(tǒng)的實(shí)例提供用戶界面的圖形殼,其中本地和/或遠(yuǎn)程應(yīng)用可被集成。如本文使用的應(yīng)用是在操作系統(tǒng)(并且,可選地,也有桌面)的示例已被加載之后執(zhí)行的程序。
在一些實(shí)施方式中,服務(wù)器206使用遠(yuǎn)程表示協(xié)議或其它程序來將數(shù)據(jù)發(fā)送到瘦客戶端或在客戶端上執(zhí)行的遠(yuǎn)程顯示應(yīng)用,以呈現(xiàn)由在服務(wù)器206上執(zhí)行的應(yīng)用生成的顯示輸出。瘦客戶端或遠(yuǎn)程顯示協(xié)議可以是協(xié)議的以下非窮舉列表中的任一個(gè):由佛羅里達(dá)州勞德代爾堡的思杰系統(tǒng)公司開發(fā)的獨(dú)立計(jì)算架構(gòu)(ICA)協(xié)議;或由華盛頓州雷德蒙德的微軟公司制造的遠(yuǎn)程桌面協(xié)議(RDP)。
遠(yuǎn)程計(jì)算環(huán)境可包括多于一個(gè)服務(wù)器206a-206n,使得服務(wù)器206a-206n例如在云計(jì)算環(huán)境中在邏輯上被分組在一起成為服務(wù)器群206。服務(wù)器群206可包括在地理上分散而并且在邏輯上分組在一起的服務(wù)器206或彼此靠近定位同時(shí)在邏輯上分組在一起的服務(wù)器206。在一些實(shí)施方式中,在服務(wù)器群206內(nèi)的地理上分散的服務(wù)器206a-206n可以使用WAN(廣域)、MAN(城域)或LAN(局域)進(jìn)行通信,其中不同的地理區(qū)域可被表征為:不同的洲;洲的不同區(qū)域;不同的國家;不同的州;不同的城市;不同的園區(qū);不同的房間;或前述地理位置的任何組合。在一些實(shí)施方式中,服務(wù)器群206可以作為單個(gè)實(shí)體來管理,而在其它實(shí)施方式中,服務(wù)器群206可包括多個(gè)服務(wù)器群。
在一些實(shí)施方式中,服務(wù)器群可包括執(zhí)行實(shí)質(zhì)上類似類型的操作系統(tǒng)平臺(例如,WINDOWS、UNIX、LINUX、iOS、ANDROID、SYMBIAN等)的服務(wù)器206。在其它實(shí)施方式中,服務(wù)器群206可包括執(zhí)行第一類型的操作系統(tǒng)平臺的第一組的一個(gè)或多個(gè)服務(wù)器和執(zhí)行第二類型的操作系統(tǒng)平臺的第二組的一個(gè)或多個(gè)服務(wù)器。
服務(wù)器206可根據(jù)需要被配置為任何類型的服務(wù)器,例如,文件服務(wù)器、應(yīng)用服務(wù)器、網(wǎng)絡(luò)服務(wù)器、代理服務(wù)器、器具、網(wǎng)絡(luò)器具、網(wǎng)關(guān)、應(yīng)用網(wǎng)關(guān)、網(wǎng)關(guān)服務(wù)器、虛擬化服務(wù)器、部署服務(wù)器、安全套接字層(SSL)VPN服務(wù)器、防火墻、網(wǎng)絡(luò)服務(wù)器、應(yīng)用服務(wù)器或被配置為主應(yīng)用服務(wù)器、執(zhí)行活動目錄的服務(wù)器或執(zhí)行提供防火墻功能、應(yīng)用功能或負(fù)載均衡功能的應(yīng)用加速程序的服務(wù)器。還可使用其它服務(wù)器類型。
一些實(shí)施方式包括第一服務(wù)器106a,其從客戶機(jī)240接收請求、將請求轉(zhuǎn)發(fā)到第二服務(wù)器106b并用來自第二服務(wù)器106b的響應(yīng)對由客戶機(jī)240生成的請求作出響應(yīng)。第一服務(wù)器106a可獲取可用于客戶機(jī)240的應(yīng)用的枚舉以及與托管在應(yīng)用的枚舉內(nèi)識別的應(yīng)用的應(yīng)用服務(wù)器206相關(guān)聯(lián)的地址信息。第一服務(wù)器106a然后可以使用網(wǎng)絡(luò)接口呈現(xiàn)對客戶端的請求的響應(yīng),并直接與客戶端240進(jìn)行通信以向客戶端240提供對所識別的應(yīng)用的訪問。一個(gè)或多個(gè)客戶端240和/或一個(gè)或多個(gè)服務(wù)器206可通過網(wǎng)絡(luò)230(例如,網(wǎng)絡(luò)101)傳輸數(shù)據(jù)。
圖2示出說明性桌面虛擬化系統(tǒng)的高級架構(gòu)。如所示,桌面虛擬化系統(tǒng)可以是單服務(wù)器或多服務(wù)器系統(tǒng)或云系統(tǒng),其包括配置成向一個(gè)或多個(gè)客戶端訪問設(shè)備240提供虛擬桌面和/或虛擬應(yīng)用的至少一個(gè)虛擬化服務(wù)器206。如本文使用的,桌面指的是其中一個(gè)或多個(gè)應(yīng)用可被托管和/或執(zhí)行的圖形環(huán)境或空間。桌面可包括為操作系統(tǒng)的實(shí)例提供用戶界面的圖形殼,其中本地和/或遠(yuǎn)程應(yīng)用可被集成。應(yīng)用可包括在操作系統(tǒng)(并且,可選地,還有桌面)的實(shí)例已被加載之后執(zhí)行的程序。操作系統(tǒng)的每個(gè)實(shí)例可以是物理的(例如,每設(shè)備一個(gè)操作系統(tǒng))或虛擬的(例如,在單個(gè)設(shè)備上運(yùn)行的OS的很多實(shí)例)。每個(gè)應(yīng)用可在本地設(shè)備上執(zhí)行或在遠(yuǎn)程定位的設(shè)備上執(zhí)行(例如,遠(yuǎn)程的)。
企業(yè)移動性管理架構(gòu)
圖3表示用于在BYOD環(huán)境中使用的企業(yè)移動性技術(shù)架構(gòu)300。架構(gòu)使客戶端設(shè)備(例如,移動設(shè)備)302的用戶能夠訪問來自移動設(shè)備302的企業(yè)或個(gè)人資源并且使用移動設(shè)備302以用于個(gè)人使用。用戶可使用由用戶購買的移動設(shè)備302或由企業(yè)提供給用戶的移動設(shè)備302來訪問這樣的企業(yè)資源304或企業(yè)服務(wù)308。用戶可以僅為了商業(yè)使用或?yàn)榱松虡I(yè)和個(gè)人使用而利用移動設(shè)備302。移動設(shè)備可運(yùn)行iOS操作系統(tǒng)和Android操作系統(tǒng)等。企業(yè)可選擇實(shí)現(xiàn)策略以管理移動設(shè)備302。策略可通過防火墻或網(wǎng)關(guān)以移動設(shè)備可被識別、保護(hù)或安全驗(yàn)證并且被提供對企業(yè)資源的選擇性或完全訪問的方式來植入。策略可以是移動設(shè)備管理策略、移動應(yīng)用管理策略、移動數(shù)據(jù)管理策略或移動設(shè)備、應(yīng)用和數(shù)據(jù)管理策略的一些組合。通過移動設(shè)備管理策略的應(yīng)用管理的移動設(shè)備304可被稱為登記設(shè)備。
在一些實(shí)施方式中,移動設(shè)備的操作系統(tǒng)可分成受管分區(qū)310和非受管分區(qū)312。受管分區(qū)310可以具有應(yīng)用于其以保護(hù)在受管分區(qū)上運(yùn)行的應(yīng)用和在受管分區(qū)中存儲的數(shù)據(jù)的策略。在受管分區(qū)上運(yùn)行的應(yīng)用可以是安全應(yīng)用。在其它實(shí)施方式中,所有的應(yīng)用可根據(jù)與應(yīng)用分開接收的一組一個(gè)或多個(gè)策略文件執(zhí)行,并且當(dāng)該應(yīng)用在設(shè)備上執(zhí)行時(shí),其定義一個(gè)或多個(gè)安全參數(shù)、特征、資源限制和/或由移動設(shè)備管理系統(tǒng)執(zhí)行的其它訪問控制。通過根據(jù)它們各自的策略文件進(jìn)行操作,每個(gè)應(yīng)用可被允許或限制與一個(gè)或多個(gè)其它應(yīng)用和/或資源通信,從而創(chuàng)建虛擬分區(qū)。因此,如本文使用的,分區(qū)可以指存儲器的物理劃分的部分(物理分區(qū))、存儲器的邏輯劃分的部分(邏輯分區(qū))和/或作為如本文所述的跨多個(gè)應(yīng)用的一個(gè)或多個(gè)策略和/或策略文件執(zhí)行的結(jié)果而創(chuàng)建的虛擬分區(qū)(虛擬分區(qū))。換句話說,通過在受管應(yīng)用上執(zhí)行策略,那些應(yīng)用可只限于能夠與其它受管應(yīng)用和可信企業(yè)資源通信,從而創(chuàng)建非受管應(yīng)用和設(shè)備不可進(jìn)入的虛擬分區(qū)。
安全應(yīng)用可以是電子郵件應(yīng)用、網(wǎng)絡(luò)瀏覽應(yīng)用、軟件即服務(wù)(SaaS)訪問應(yīng)用、Windows應(yīng)用訪問應(yīng)用等。安全應(yīng)用可以是安全本機(jī)應(yīng)用314、由安全應(yīng)用啟動器318執(zhí)行的安全遠(yuǎn)程應(yīng)用322、由安全應(yīng)用啟動器318執(zhí)行的虛擬化應(yīng)用326等。安全本機(jī)應(yīng)用314可由安全應(yīng)用封裝器320封裝。安全應(yīng)用封裝器320可包括當(dāng)安全本機(jī)應(yīng)用在設(shè)備上執(zhí)行時(shí)在移動設(shè)備302上執(zhí)行的集成策略。安全應(yīng)用封裝器320可包括將在移動設(shè)備302上運(yùn)行的安全本機(jī)應(yīng)用314指向在企業(yè)處托管的資源的元數(shù)據(jù),安全本機(jī)應(yīng)用314可能需要所述資源來完成在執(zhí)行安全本機(jī)應(yīng)用314時(shí)所請求的任務(wù)。由安全應(yīng)用啟動器318執(zhí)行的安全遠(yuǎn)程應(yīng)用322可在安全應(yīng)用啟動器應(yīng)用318內(nèi)執(zhí)行。由安全應(yīng)用啟動器318執(zhí)行的虛擬化應(yīng)用326可利用在移動設(shè)備302上、在企業(yè)資源304處等的資源。通過由安全應(yīng)用啟動器318執(zhí)行的虛擬化應(yīng)用326在移動設(shè)備302上使用的資源可包括用戶交互資源、處理資源等。用戶交互資源可用于收集并傳輸鍵盤輸入、鼠標(biāo)輸入、攝像機(jī)輸入、觸覺輸入、音頻輸入、視覺輸入、手勢輸入等。處理資源可用于呈現(xiàn)用戶界面,處理從企業(yè)資源304接收的數(shù)據(jù)等等。通過由安全應(yīng)用啟動器318執(zhí)行的虛擬化應(yīng)用326在企業(yè)資源304處使用的資源可包括用戶界面生成資源、處理資源等。用戶界面生成資源可用于裝配用戶界面、修改用戶界面、刷新用戶界面等等。處理資源可用于創(chuàng)建信息、讀取信息、更新信息、刪除信息等等。例如,虛擬化應(yīng)用可記錄與圖形用戶界面(GUI)相關(guān)聯(lián)的用戶交互,并將它們傳遞到服務(wù)器應(yīng)用,其中服務(wù)器應(yīng)用將使用用戶交互數(shù)據(jù)作為對在服務(wù)器上操作的應(yīng)用的輸入。在該布置中,企業(yè)可選擇在服務(wù)器側(cè)上保持應(yīng)用以及與該應(yīng)用相關(guān)聯(lián)的數(shù)據(jù)、文件等。雖然企業(yè)可選擇根據(jù)本文中的原理通過保護(hù)一些應(yīng)用來“調(diào)動”它們以用于部署在移動設(shè)備上,但是該布置還可被選擇用于特定應(yīng)用。例如,雖然一些應(yīng)用可被保護(hù)用于在移動設(shè)備上使用,但其它應(yīng)用可能未準(zhǔn)備或不適于部署在移動設(shè)備上,因此企業(yè)可選擇通過虛擬化技術(shù)來向移動用戶提供對未準(zhǔn)備的應(yīng)用的訪問。作為另一個(gè)示例,企業(yè)可以具有帶有大而復(fù)雜的數(shù)據(jù)集的大型復(fù)雜應(yīng)用(例如,材料資源規(guī)劃應(yīng)用),其中對于移動設(shè)備定制應(yīng)用將是非常困難或相反不期望的,因此企業(yè)可選擇通過虛擬化技術(shù)來提供對應(yīng)用的訪問。作為又一示例,企業(yè)可具有保持可被企業(yè)視為甚至對于安全的移動環(huán)境是過于敏感的高度安全的數(shù)據(jù)(例如,人力資源數(shù)據(jù)、客戶數(shù)據(jù)、工程數(shù)據(jù))的應(yīng)用,因此企業(yè)可選擇使用虛擬化技術(shù)來允許對這樣的應(yīng)用和數(shù)據(jù)的移動訪問。企業(yè)可以選擇在移動設(shè)備上提供完全安全的和完善功能性的應(yīng)用兩者以及虛擬化應(yīng)用以允許對被視為在服務(wù)器側(cè)上更適當(dāng)?shù)夭僮鞯膽?yīng)用的訪問。在實(shí)施方式中,虛擬化應(yīng)用可以在安全存儲位置中的一個(gè)中的移動電話上存儲一些數(shù)據(jù)、文件等。例如,企業(yè)可以選擇允許特定信息存儲在電話上同時(shí)不允許其它信息存儲在電話上。
結(jié)合虛擬化應(yīng)用,如本文所述,移動設(shè)備可具有被設(shè)計(jì)成呈現(xiàn)GUI并且然后記錄與GUI的用戶交互的虛擬化應(yīng)用。應(yīng)用可將用戶交互傳遞到服務(wù)器側(cè),以供服務(wù)器側(cè)應(yīng)用作為與應(yīng)用的用戶交互使用。作為響應(yīng),在服務(wù)器側(cè)上的應(yīng)用可將新的GUI傳輸回到移動設(shè)備。例如,新的GUI可以是靜態(tài)頁面、動態(tài)頁面、動畫等,從而提供對遠(yuǎn)程定位的資源的訪問。
安全應(yīng)用可以訪問存儲在移動設(shè)備的受管分區(qū)310中的安全數(shù)據(jù)容器328中的數(shù)據(jù)。在安全數(shù)據(jù)容器中被保護(hù)的數(shù)據(jù)可由安全封裝的應(yīng)用314、由安全應(yīng)用啟動器318執(zhí)行的應(yīng)用、由安全應(yīng)用啟動器318執(zhí)行的虛擬化應(yīng)用326等訪問。存儲在安全數(shù)據(jù)容器328中的數(shù)據(jù)可包括文件、數(shù)據(jù)庫等。存儲在安全數(shù)據(jù)容器328中的數(shù)據(jù)可包括限于特定的安全應(yīng)用330、在安全應(yīng)用332之間共享的數(shù)據(jù)等。限于安全應(yīng)用的數(shù)據(jù)可包括安全通用數(shù)據(jù)334和高度安全數(shù)據(jù)338。安全通用數(shù)據(jù)可使用強(qiáng)加密形式(諸如高級加密標(biāo)準(zhǔn)(AES)128位加密等),而高度安全數(shù)據(jù)338可使用非常強(qiáng)的加密形式(諸如AES 256位加密)。在接收到來自設(shè)備管理器324的命令后,可從設(shè)備刪除存儲在安全數(shù)據(jù)容器328中的數(shù)據(jù)。安全應(yīng)用可具有雙模式選項(xiàng)340。雙模式選項(xiàng)340可以向用戶呈現(xiàn)在非安全或非受管模式中操作安全應(yīng)用的選項(xiàng)。在非安全或非受管模式中,安全應(yīng)用可訪問存儲在移動設(shè)備302的非受管分區(qū)312上的非安全數(shù)據(jù)容器342中的數(shù)據(jù)。存儲在非安全數(shù)據(jù)容器中的數(shù)據(jù)可以是個(gè)人數(shù)據(jù)344。存儲在非安全數(shù)據(jù)容器342中的數(shù)據(jù)也可由在移動設(shè)備302的非受管分區(qū)312上運(yùn)行的非安全應(yīng)用訪問。當(dāng)存儲在安全數(shù)據(jù)容器328中的數(shù)據(jù)從移動設(shè)備302被刪除時(shí),存儲在非安全數(shù)據(jù)容器342中的數(shù)據(jù)可保持在移動設(shè)備302上。企業(yè)可能想要從移動設(shè)備刪除由企業(yè)擁有、特許或控制的選擇的或所有的數(shù)據(jù)、文件和/或應(yīng)用(企業(yè)數(shù)據(jù)),同時(shí)留下或以其它方式保留由用戶擁有、特許或控制的個(gè)人數(shù)據(jù)、文件和/或應(yīng)用(個(gè)人數(shù)據(jù))。該操作可被稱為選擇性擦除。利用根據(jù)本文描述的方面布置的企業(yè)和個(gè)人數(shù)據(jù),企業(yè)可以執(zhí)行選擇性擦除。
移動設(shè)備可連接到在企業(yè)處的企業(yè)資源304和企業(yè)服務(wù)308、連接到公共互聯(lián)網(wǎng)348等。移動設(shè)備可通過虛擬專用網(wǎng)絡(luò)連接來連接到企業(yè)資源304和企業(yè)服務(wù)308。虛擬專用網(wǎng)絡(luò)連接(也被稱為微VPN或應(yīng)用特定VPN)可以是特定于移動設(shè)備上的特定的應(yīng)用350、特定的設(shè)備、特定的安全區(qū)域等。例如,在電話的安全區(qū)域中的封裝的應(yīng)用中的每一個(gè)可通過應(yīng)用特定的VPN來訪問企業(yè)資源,使得對VPN的訪問將基于與應(yīng)用相關(guān)聯(lián)的屬性可能結(jié)合用戶或設(shè)備屬性信息而被授予。虛擬專用網(wǎng)絡(luò)連接可運(yùn)載微軟交換(Microsoft Exchange)流量、微軟活動目錄流量、超文本傳輸協(xié)議(HTTP)流量、超文本傳輸協(xié)議安全(HTTPS)流量、應(yīng)用管理流量等。虛擬專用網(wǎng)絡(luò)連接可支持和實(shí)現(xiàn)單點(diǎn)登錄認(rèn)證過程354。單點(diǎn)登錄過程可允許用戶提供認(rèn)證憑證的單個(gè)集合,其然后由認(rèn)證服務(wù)358進(jìn)行驗(yàn)證。認(rèn)證服務(wù)358然后可以授權(quán)用戶訪問多個(gè)企業(yè)資源304,而不需要用戶向每個(gè)單獨(dú)的企業(yè)資源304提供認(rèn)證憑證。
虛擬專用網(wǎng)絡(luò)連接可由接入網(wǎng)關(guān)360建立和管理。接入網(wǎng)關(guān)360可包括管理、加速和提高企業(yè)資源304到移動設(shè)備302的傳遞的性能增強(qiáng)特征。接入網(wǎng)關(guān)還可以重新路由從移動設(shè)備302到公共互聯(lián)網(wǎng)348的流量,使移動設(shè)備302能夠訪問在公共互聯(lián)網(wǎng)348上運(yùn)行的公共可用且非安全的應(yīng)用。移動設(shè)備可經(jīng)由傳輸網(wǎng)絡(luò)362連接到接入網(wǎng)關(guān)。傳輸網(wǎng)絡(luò)362可以是有線網(wǎng)絡(luò)、無線網(wǎng)絡(luò)、云網(wǎng)絡(luò)、局域網(wǎng)、城域網(wǎng)、廣域網(wǎng)、公共網(wǎng)絡(luò)、專用網(wǎng)絡(luò)等。
企業(yè)資源304可包括電子郵件服務(wù)器、文件共享服務(wù)器、SaaS應(yīng)用、網(wǎng)絡(luò)應(yīng)用服務(wù)器、Windows應(yīng)用服務(wù)器等。電子郵件服務(wù)器可包括交換服務(wù)器、Lotus Notes服務(wù)器等。文件共享服務(wù)器可包括ShareFile服務(wù)器等。SaaS應(yīng)用可包括Salesforce等。Windows應(yīng)用服務(wù)器可包括被構(gòu)建以提供意欲在本地Windows操作系統(tǒng)上運(yùn)行的應(yīng)用的任何應(yīng)用服務(wù)器等。企業(yè)資源304可以是基于場所的資源、基于云的資源等。企業(yè)資源304可由移動設(shè)備302直接訪問或通過接入網(wǎng)關(guān)360來訪問。企業(yè)資源304可由移動設(shè)備302經(jīng)由傳輸網(wǎng)絡(luò)362來訪問。傳輸網(wǎng)絡(luò)362可以是有線網(wǎng)絡(luò)、無線網(wǎng)絡(luò)、云網(wǎng)絡(luò)、局域網(wǎng)、城域網(wǎng)、廣域網(wǎng)、公共網(wǎng)絡(luò)、專用網(wǎng)絡(luò)等。
企業(yè)服務(wù)308可包括認(rèn)證服務(wù)358、威脅檢測服務(wù)364、設(shè)備管理器服務(wù)324、文件共享服務(wù)368、策略管理器服務(wù)370、社交整合服務(wù)372、應(yīng)用控制器服務(wù)374等。認(rèn)證服務(wù)358可包括用戶認(rèn)證服務(wù)、設(shè)備認(rèn)證服務(wù)、應(yīng)用認(rèn)證服務(wù)、數(shù)據(jù)認(rèn)證服務(wù)等。認(rèn)證服務(wù)358可使用證書。證書可由企業(yè)資源304等存儲在移動設(shè)備302上。存儲在移動設(shè)備302上的證書可存儲在移動設(shè)備上的加密位置中,證書可以暫時(shí)存儲在移動設(shè)備302上以用于在認(rèn)證的時(shí)間使用等等。威脅檢測服務(wù)364可包括入侵檢測服務(wù)、未經(jīng)授權(quán)的訪問嘗試檢測服務(wù)等。未經(jīng)授權(quán)的訪問嘗試檢測服務(wù)可包括未經(jīng)授權(quán)嘗試訪問設(shè)備、應(yīng)用、數(shù)據(jù)等。設(shè)備管理服務(wù)324可包括配置、提供、安全性、支持、監(jiān)控、報(bào)告和停止運(yùn)作服務(wù)。文件共享服務(wù)368可包括文件管理服務(wù)、文件儲存服務(wù)、文件協(xié)作服務(wù)等。策略管理器服務(wù)370可包括設(shè)備策略管理器服務(wù)、應(yīng)用策略管理器服務(wù)、數(shù)據(jù)策略管理器服務(wù)等。社交整合服務(wù)372可包括聯(lián)系人整合服務(wù)、協(xié)作服務(wù)、與社交網(wǎng)絡(luò)(例如,F(xiàn)acebook、Twitter和LinkedIn)的整合等。應(yīng)用控制器服務(wù)374可包括管理服務(wù)、提供服務(wù)、部署服務(wù)、分配服務(wù)、撤銷服務(wù)、封裝服務(wù)等。
企業(yè)移動性技術(shù)架構(gòu)300可包括應(yīng)用商店378。應(yīng)用商店378可包括未封裝的應(yīng)用580、預(yù)封裝的應(yīng)用382等。應(yīng)用可以從應(yīng)用控制器374被填充于應(yīng)用商店378中。應(yīng)用商店378可通過接入網(wǎng)關(guān)360、通過公共互聯(lián)網(wǎng)348等由移動設(shè)備302訪問。應(yīng)用商店可以被提供有直觀并易于使用的用戶界面。
軟件開發(fā)工具包384可以通過封裝如先前在本描述中描述的應(yīng)用來給用戶提供保護(hù)由用戶選擇的應(yīng)用的能力。已經(jīng)使用軟件開發(fā)工具包384來封裝的應(yīng)用然后可以通過使用應(yīng)用控制器374將其填充在應(yīng)用商店378中而使其可用于移動設(shè)備302。
企業(yè)移動性技術(shù)架構(gòu)300可包括管理和分析能力388。管理和分析能力388可提供與如何使用資源、多久使用資源一次等相關(guān)的信息。資源可包括設(shè)備、應(yīng)用、數(shù)據(jù)等。如何使用資源可包括哪些設(shè)備下載哪些應(yīng)用、哪些應(yīng)用訪問哪些數(shù)據(jù)等等。多久使用資源一次可以包括多久下載一次應(yīng)用、特定的數(shù)據(jù)集已被應(yīng)用訪問多少次等等。
圖4是另一個(gè)說明性企業(yè)移動性管理系統(tǒng)400。為了簡單起見,以上參考圖3所述的移動性管理系統(tǒng)300的一些組件已經(jīng)被省略。在圖4中描繪的系統(tǒng)400的架構(gòu)在很多方面類似于以上參考圖3所述的系統(tǒng)300的架構(gòu)并且可以包括以上未提到的附加的特征。
在這種情況下,左手邊表示具有客戶端代理404的登記客戶端設(shè)備(例如,移動設(shè)備)402,其與網(wǎng)關(guān)服務(wù)器406(其包括接入網(wǎng)關(guān)和應(yīng)用控制器功能)進(jìn)行交互以訪問各種企業(yè)資源408和服務(wù)609,諸如,如以上右手邊所示的Exchange、Sharepoint、公共密鑰基礎(chǔ)設(shè)施(PKI)資源、Kerberos資源、證書發(fā)布服務(wù)。雖然沒有具體示出,但是移動設(shè)備402還可以與企業(yè)應(yīng)用商店(店面(StoreFront))交互以用于應(yīng)用的選擇和下載。
客戶端代理404充當(dāng)在企業(yè)數(shù)據(jù)中心中托管的Windows應(yīng)用/桌面的UI(用戶界面)媒介,其使用高清用戶體驗(yàn)(HDX)/ICA顯示遠(yuǎn)程協(xié)議來訪問??蛻舳舜?04還支持在移動設(shè)備402上的本機(jī)應(yīng)用(諸如本機(jī)iOS或Android應(yīng)用)的安裝和管理。例如,在以上附圖中所示的受管應(yīng)用410(郵件、瀏覽器、封裝應(yīng)用)都是在設(shè)備上本地執(zhí)行的本機(jī)應(yīng)用??蛻舳舜?04和這種架構(gòu)的應(yīng)用管理框架起作用以提供策略驅(qū)動的管理能力和特征,諸如到企業(yè)資源/服務(wù)408的連接性和SSO(單點(diǎn)登錄)。客戶端代理404處理對企業(yè)的主用戶認(rèn)證、通常對具有到其它網(wǎng)關(guān)服務(wù)器組件的SSO的接入網(wǎng)關(guān)(AG)的認(rèn)證??蛻舳舜?04從網(wǎng)關(guān)服務(wù)器406得到策略以控制在移動設(shè)備402上的受管應(yīng)用410的行為。
在本機(jī)應(yīng)用410和客戶端代理404之間的安全進(jìn)程間通信(IPC)鏈路412表示管理通道,其允許客戶端代理供應(yīng)將通過應(yīng)用管理框架414"封裝"每個(gè)應(yīng)用執(zhí)行的策略。IPC通道412還允許客戶端代理404供應(yīng)能夠?qū)崿F(xiàn)到企業(yè)資源408的連接和SSO的憑證和認(rèn)證信息。最后,IPC通道412允許應(yīng)用管理框架414調(diào)用由客戶端代理404實(shí)現(xiàn)的用戶界面功能,例如在線認(rèn)證和離線認(rèn)證。
在客戶端代理404和網(wǎng)關(guān)服務(wù)器406之間的通信本質(zhì)上是來自封裝每個(gè)本機(jī)受管應(yīng)用410的應(yīng)用管理框架414的管理通道的延伸。應(yīng)用管理框架414請求來自客戶端代理404的策略信息,客戶端代理404轉(zhuǎn)而從網(wǎng)關(guān)服務(wù)器406請求該策略信息。應(yīng)用管理框架414請求認(rèn)證,并且客戶端代理404登錄到網(wǎng)關(guān)服務(wù)器406的網(wǎng)關(guān)服務(wù)部分(也被稱為NetScaler接入網(wǎng)關(guān))??蛻舳舜?04還可調(diào)用在網(wǎng)關(guān)服務(wù)器406上的支持服務(wù),其可產(chǎn)生獲得本地?cái)?shù)據(jù)倉庫416的加密密鑰的輸入材料或提供可以使得對PKI受保護(hù)資源能夠直接認(rèn)證的客戶端證書,如下面更充分解釋的。
更詳細(xì)地,應(yīng)用管理框架414“封裝”每個(gè)受管應(yīng)用410。這可以經(jīng)由明確的構(gòu)建步驟或經(jīng)由構(gòu)建后處理步驟來合并。應(yīng)用管理框架414可在應(yīng)用410的首次啟動時(shí)與客戶端代理404“配對”以初始化安全I(xiàn)PC通道并得到用于該應(yīng)用的策略。應(yīng)用管理框架414可執(zhí)行在本地應(yīng)用的策略的相關(guān)部分,諸如客戶端代理登錄依賴關(guān)系和限制可如何使用本地OS服務(wù)或本地OS服務(wù)可如何與應(yīng)用410交互的遏制策略中的一些。
應(yīng)用管理框架414可使用由客戶端代理404在安全I(xiàn)PC通道412上提供的服務(wù)來促進(jìn)認(rèn)證和內(nèi)部網(wǎng)絡(luò)訪問。對于專用和共享數(shù)據(jù)倉庫416(容器)的密鑰管理還可由在受管應(yīng)用410和客戶端代理404之間的適當(dāng)交互進(jìn)行管理。倉庫416可以只在在線認(rèn)證之后是可用的,或可在離線認(rèn)證之后變得可用的(如果策略允許的話)。倉庫416的首次使用可能需要在線認(rèn)證,并且離線訪問可以限于至多在在線認(rèn)證再次被要求之前的策略刷新周期。
對內(nèi)部資源的網(wǎng)絡(luò)訪問可通過接入網(wǎng)關(guān)406從單獨(dú)的受管應(yīng)用410直接發(fā)生。應(yīng)用管理框架414負(fù)責(zé)精心安排代表每個(gè)應(yīng)用410的網(wǎng)絡(luò)訪問。客戶端代理404可通過提供在線認(rèn)證之后所獲得的合適的時(shí)間限制次級憑證來促進(jìn)這些網(wǎng)絡(luò)連接。可以使用網(wǎng)絡(luò)連接的多個(gè)模式,諸如反向web代理連接和端到端VPN式隧道418。
郵件和瀏覽器管理的應(yīng)用410具有特殊狀態(tài)并且可以利用一般可能不用于任意封裝的應(yīng)用的設(shè)施。例如,郵件應(yīng)用可使用特殊的后臺網(wǎng)絡(luò)訪問機(jī)制,其允許它在延長的時(shí)間段內(nèi)訪問Exchange而不需要完整的AG登錄。瀏覽器應(yīng)用可使用多個(gè)專用數(shù)據(jù)倉庫來分隔不同種類的數(shù)據(jù)。
該架構(gòu)支持各種其它安全特征的并入。例如,在某些情況下,網(wǎng)關(guān)服務(wù)器406(包括它的網(wǎng)關(guān)服務(wù))將不需要驗(yàn)證活動目錄(AD)密碼??梢越唤o企業(yè)來判定是否將AD密碼用作關(guān)于在一些情況下一些用戶的認(rèn)證因素。如果用戶是在線的或離線的(即,連接到網(wǎng)絡(luò)或未連接到網(wǎng)絡(luò)),則可以使用不同的認(rèn)證方法。
加強(qiáng)認(rèn)證是特征,其中網(wǎng)關(guān)服務(wù)器406可識別被允許訪問需要強(qiáng)認(rèn)證的高度機(jī)密的數(shù)據(jù)(classified data)的受管本機(jī)應(yīng)用410,并且確保對這些應(yīng)用的訪問僅在執(zhí)行適當(dāng)?shù)恼J(rèn)證之后被允許,即使這意味著在先前較弱級別的登錄之后用戶需要重新認(rèn)證。
該解決方案的另一個(gè)安全特征是在移動設(shè)備402上的數(shù)據(jù)倉庫416(容器)的加密。倉庫416可被加密,使得包括文件、數(shù)據(jù)庫和配置的所有設(shè)備上數(shù)據(jù)被保護(hù)。對于在線倉庫,密鑰可存儲在服務(wù)器(網(wǎng)關(guān)服務(wù)器406)上,并且對于離線倉庫,密鑰的本地副本可由用戶密碼或生物特征驗(yàn)證保護(hù)。當(dāng)數(shù)據(jù)本地存儲在安全容器416中的設(shè)備402上時(shí),優(yōu)選的是使用AES256加密算法的最小值。
其它安全容器特征也可以被實(shí)現(xiàn)。例如,日志特征可以被包括,其中在應(yīng)用410內(nèi)發(fā)生的所有安全事件都被記錄并報(bào)告給后端??梢灾С?jǐn)?shù)據(jù)擦除,例如,如果應(yīng)用410檢測到篡改,則相關(guān)聯(lián)的加密密鑰可以用隨機(jī)數(shù)據(jù)被改寫,不在文件系統(tǒng)上留下用戶數(shù)據(jù)被破壞的暗示。屏幕截圖保護(hù)是另一個(gè)特征,其中應(yīng)用可防止任何數(shù)據(jù)存儲在屏幕截圖中。例如,密鑰窗口的隱藏屬性可被設(shè)置為是(YES)。這可使當(dāng)前顯示在屏幕上的任何內(nèi)容被隱藏,其產(chǎn)生其中任何內(nèi)容將正常存在的空白的屏幕截圖。
本地?cái)?shù)據(jù)傳輸可以被阻止,諸如通過防止任何數(shù)據(jù)被本地傳輸?shù)綉?yīng)用容器之外,例如,通過將其復(fù)制或發(fā)送到外部應(yīng)用。鍵盤緩存特征可操作來禁用敏感文本字段的自動校正功能。SSL證書驗(yàn)證可以是可操作的,因此應(yīng)用特別地驗(yàn)證服務(wù)器SSL證書來代替其被存儲在密鑰鏈中??梢允褂眉用苊荑€生成特征,使得使用由用戶提供的密碼或生物特征數(shù)據(jù)(如果離線訪問是需要的)來生成用于在設(shè)備上加密數(shù)據(jù)的密鑰。如果不需要離線訪問,則它可與隨機(jī)生成的并存儲在服務(wù)器側(cè)上的另一個(gè)密鑰進(jìn)行異或。密鑰導(dǎo)出功能可操作,使得從用戶密碼生成的密鑰使用KDF(密鑰導(dǎo)出功能,尤其是基于密碼的密鑰導(dǎo)出功能2(PBKDF2))而不是創(chuàng)建它的密碼散列(cryptographic hash)。后者使密鑰易受暴力破解或字典攻擊的影響。
此外,可以在加密方法中使用一個(gè)或多個(gè)初始化向量。初始化向量將使相同加密的數(shù)據(jù)的多個(gè)副本產(chǎn)生不同的密碼文本輸出,防止重放攻擊和密碼分析攻擊兩者。如果用于加密數(shù)據(jù)的特定的初始化向量是未知的,則這還將阻止攻擊者甚至使用被盜的加密密鑰來解密任何數(shù)據(jù)。此外,可以使用認(rèn)證然后解密,其中應(yīng)用數(shù)據(jù)僅在用戶在應(yīng)用內(nèi)認(rèn)證之后才被解密。另一個(gè)特征可涉及存儲器中的敏感數(shù)據(jù),僅在其被需要時(shí)才可保持在存儲器中(并且不在磁盤中)。例如,登錄憑證可以在登錄之后從存儲器被擦除,并且加密密鑰和objective-C實(shí)例變量內(nèi)的其它數(shù)據(jù)不被存儲,這是由于它們可被容易地引用。相反,存儲器可以被手動分配以用于這些功能。
可以實(shí)現(xiàn)不活動超時(shí),其中在策略定義的不活動周期之后,終止用戶會話。
可以以其它方式防止應(yīng)用管理框架414的數(shù)據(jù)泄露。例如,當(dāng)應(yīng)用410被置于后臺中時(shí),存儲器可在預(yù)定(可配置的)時(shí)間段之后被清除。當(dāng)作為后臺時(shí),可以拍下應(yīng)用的最后顯示的屏幕的快照以加快前臺設(shè)置過程。屏幕截圖可包含機(jī)密數(shù)據(jù)且因此應(yīng)被清除。
另一個(gè)安全特征涉及使用OTP(一次性密碼)420而不使用訪問一個(gè)或多個(gè)應(yīng)用的AD(活動目錄)422密碼。在一些情況下,一些用戶不知道(或不被允許知道)他們的AD密碼,所以這些用戶可使用OTP 420進(jìn)行認(rèn)證,例如通過使用類似于SecurID的硬件OTP系統(tǒng)(OTP也可由不同的供應(yīng)商來提供,諸如Entrust或Gemalto)。在一些情況下,在用戶使用用戶ID進(jìn)行認(rèn)證之后,文本被發(fā)送到具有OTP 420的用戶。在一些情況下,這可以僅為了在線使用而實(shí)現(xiàn),其中提示是單個(gè)字段。
離線密碼可以被實(shí)現(xiàn)用于這些應(yīng)用410的離線認(rèn)證,對于應(yīng)用410,離線使用經(jīng)由企業(yè)策略被允許。例如,企業(yè)可能希望StoreFront以這種方式被訪問。在這種情況下,客戶端代理404可以要求用戶設(shè)置自定義離線密碼并且不使用AD密碼。網(wǎng)關(guān)服務(wù)器406可提供策略以控制并執(zhí)行關(guān)于諸如由標(biāo)準(zhǔn)Windows服務(wù)器密碼復(fù)雜性要求所描述的密碼的最小長度、字符類組成、使用年限的密碼標(biāo)準(zhǔn),雖然這些要求可被修改。
另一個(gè)特征涉及用于某些應(yīng)用410的客戶端側(cè)證書作為次級憑證的啟用(用于經(jīng)由應(yīng)用管理框架微VPN特征訪問PKI受保護(hù)的網(wǎng)絡(luò)資源的目的)。例如,應(yīng)用可利用這樣的證書。在這種情況下,可支持使用ActiveSync協(xié)議的基于證書的認(rèn)證,其中來自客戶端代理404的證書可由網(wǎng)關(guān)服務(wù)器406獲取,并在密鑰鏈中使用。每個(gè)受管應(yīng)用可具有通過在網(wǎng)關(guān)服務(wù)器406中定義的標(biāo)簽識別的一個(gè)相關(guān)聯(lián)的客戶端證書。
網(wǎng)關(guān)服務(wù)器406可與企業(yè)專用網(wǎng)絡(luò)服務(wù)進(jìn)行交互以支持客戶端證書的發(fā)布,以允許相關(guān)的受管應(yīng)用對內(nèi)部PKI受保護(hù)資源進(jìn)行認(rèn)證。
客戶端代理404和應(yīng)用管理框架414可以被增強(qiáng)以支持獲得并使用客戶端證書,以用于對內(nèi)部PKI受保護(hù)網(wǎng)絡(luò)資源進(jìn)行認(rèn)證??芍С侄嘤谝粋€(gè)證書,例如以匹配各種級別的安全和/或分離要求。該證書可由郵件和瀏覽器管理的應(yīng)用使用并最終由任意封裝的應(yīng)用使用(假定那些應(yīng)用使用網(wǎng)絡(luò)服務(wù)型通信模式,其中應(yīng)用管理框架調(diào)解https請求是合理的)。
在iOS上的應(yīng)用管理客戶端證書支持可依賴于在每個(gè)使用周期內(nèi)將公共密鑰加密標(biāo)準(zhǔn)(PKCS)12BLOB(二進(jìn)制大對象)導(dǎo)入到每個(gè)受管應(yīng)用中的iOS密鑰鏈內(nèi)。應(yīng)用管理框架客戶端證書支持可使用具有私有存儲器內(nèi)密鑰存儲的HTTPS實(shí)現(xiàn)。客戶端證書將從不存在于iOS密鑰鏈中,并且除了可能在被強(qiáng)保護(hù)的“僅在線”數(shù)據(jù)值中以外將不被持久保存。
相互SSL還可以被實(shí)現(xiàn)以通過要求移動設(shè)備402對企業(yè)進(jìn)行認(rèn)證來提供附加的安全性,并且反之亦然。也可實(shí)現(xiàn)用于對網(wǎng)關(guān)服務(wù)器406認(rèn)證的虛擬智能卡。
有限和完整的Kerberos支持都可以是附加的特征。完整的支持特征涉及使用AD密碼或信任的客戶端證書來執(zhí)行對活動目錄(AD)422的完整Kerberos登錄并獲得Kerberos服務(wù)票證來對HTTP協(xié)商認(rèn)證挑戰(zhàn)作出響應(yīng)的能力。有限的支持特征涉及在Citrix接入網(wǎng)關(guān)企業(yè)版本(AGEE)中的約束委派,其中AGEE支持調(diào)用Kerberos協(xié)議轉(zhuǎn)換,所以它可響應(yīng)于HTTP協(xié)商認(rèn)證挑戰(zhàn)而得到并使用Kerberos服務(wù)票證(受到約束委派)。這種機(jī)制在反向網(wǎng)絡(luò)代理(又稱作公司虛擬專用網(wǎng)絡(luò)(CVPN))模式中以及當(dāng)http(但不是https)連接在VPN和微VPN模式中被代理時(shí)工作。
另一個(gè)特征涉及應(yīng)用容器鎖定和擦除,這可在檢測到越獄或獲得管理員權(quán)限時(shí)自動發(fā)生,并且作為來自管理控制臺的推送命令而發(fā)生,并且甚至在應(yīng)用410不運(yùn)行時(shí)還可包括遠(yuǎn)程擦除功能。
可支持企業(yè)應(yīng)用商店和應(yīng)用控制器的多站點(diǎn)架構(gòu)或配置,其允許用戶在出現(xiàn)故障的情況下由幾個(gè)不同的位置中的一個(gè)來服務(wù)。
在一些情況下,受管應(yīng)用410可以被允許經(jīng)由API(示例OpenSSL)訪問證書和私有密鑰。企業(yè)的信任的受管應(yīng)用410可以被允許利用應(yīng)用的客戶端證書和私有密鑰來執(zhí)行特定的公共密鑰操作。諸如當(dāng)應(yīng)用行為類似瀏覽器并且不需要證書訪問時(shí),當(dāng)應(yīng)用讀取“我是誰”的證書時(shí),當(dāng)應(yīng)用使用證書來構(gòu)建安全會話令牌時(shí),以及當(dāng)應(yīng)用使用私有密鑰以用于重要數(shù)據(jù)(例如,事務(wù)日志)的數(shù)字簽名或用于臨時(shí)數(shù)據(jù)加密時(shí),各種使用情況可被識別并且相應(yīng)地處理。
說明性實(shí)施方式
圖5是說明性流程圖以及圖6和圖7是說明性示意圖,其全部示出使用網(wǎng)關(guān)設(shè)備來認(rèn)證并授權(quán)在企業(yè)系統(tǒng)中的客戶端設(shè)備的特征、方法和系統(tǒng)的各種示例。下面參考圖5-7所述的特征和方法可由計(jì)算設(shè)備或設(shè)備的組合(諸如圖1-4所示的各種計(jì)算設(shè)備和系統(tǒng))執(zhí)行,并且可以在各種不同類型的企業(yè)系統(tǒng)(諸如圖3和圖4所示的說明性系統(tǒng))或任何其它企業(yè)系統(tǒng)(即,當(dāng)提供對資源的訪問時(shí)可能需要認(rèn)證的任何計(jì)算設(shè)備)內(nèi)實(shí)現(xiàn)。下面參考圖5-7所述的特征、步驟和方法可以以任何順序執(zhí)行,并且可以省略和/或添加一個(gè)或多個(gè)特征、步驟或方法。圖5-7涉及在網(wǎng)關(guān)上和在企業(yè)系統(tǒng)上認(rèn)證客戶端設(shè)備。圖5-7還涉及授權(quán)客戶端設(shè)備和/或網(wǎng)關(guān)設(shè)備對企業(yè)系統(tǒng)資源的訪問。例如,在終端240或客戶端設(shè)備302或402處的用戶可通過網(wǎng)關(guān)360或406與企業(yè)系統(tǒng)進(jìn)行通信,可提供認(rèn)證憑證以驗(yàn)證用戶或客戶端設(shè)備的身份,并且然后可以請求并訪問企業(yè)系統(tǒng)的各種資源和服務(wù)。圖5-7可使用各種協(xié)議,諸如安全斷言標(biāo)記語言(SAML),其為用于交換認(rèn)證和授權(quán)信息的基于XML的方法。
參考圖5-7所述的各種實(shí)施方式和示例可包括用于對在企業(yè)系統(tǒng)中的用戶/客戶端設(shè)備的認(rèn)證和資源訪問控制的幾個(gè)特征和潛在優(yōu)點(diǎn)。如本文中更詳細(xì)描述的,某些實(shí)施方式可允許客戶端設(shè)備(例如,受管移動設(shè)備、受管桌面設(shè)備等)減少其接收并傳輸?shù)狡髽I(yè)系統(tǒng)和資源的通信量。所公開的實(shí)施方式允許通過減少客戶端設(shè)備必須進(jìn)行的調(diào)用(例如,HTTP請求)的數(shù)量來減少來去客戶端設(shè)備的抖動,從而釋放網(wǎng)絡(luò)資源。所公開的實(shí)施方式允許在網(wǎng)關(guān)設(shè)備上對客戶端設(shè)備會話認(rèn)證,并且允許網(wǎng)關(guān)設(shè)備在與客戶端設(shè)備請求的企業(yè)資源通信時(shí)充當(dāng)客戶端設(shè)備的代理。因此,網(wǎng)關(guān)設(shè)備(和/或其任何相關(guān)聯(lián)的組件)可代表客戶端設(shè)備與所請求的企業(yè)資源協(xié)商,直到企業(yè)資源授予/允許對客戶端設(shè)備和/或網(wǎng)關(guān)的訪問為止。在協(xié)商期間,網(wǎng)關(guān)設(shè)備可傳輸調(diào)用、請求、響應(yīng)等。網(wǎng)關(guān)還可以獲取/訪問/請求認(rèn)證信息(例如,密碼、登錄憑證等)和/或授權(quán)信息(例如,cookie、令牌等),并可將該獲取的信息傳輸?shù)狡髽I(yè)資源。根據(jù)所公開的實(shí)施方式,客戶端設(shè)備可以不需要接收、傳輸或以其他方式處理認(rèn)證信息(例如,令牌),而是該認(rèn)證信息可由網(wǎng)關(guān)設(shè)備維護(hù)、保持或以其他方式管理。這可以減少在客戶端設(shè)備上要求/所需的處理和/或存儲的量,因?yàn)橐恍┝钆频拇笮】梢允?KB,并且減少在網(wǎng)絡(luò)上傳輸?shù)耐ㄐ帕?。雖然令牌可以是本文公開的授權(quán)信息的示例,但是可以根據(jù)所公開的方面使用任何其它類型的授權(quán)信息。
根據(jù)本文描述的一個(gè)或多個(gè)公開的特征,所公開的實(shí)施方式允許實(shí)現(xiàn)各種因素的平衡,諸如將協(xié)議有效負(fù)載處理與認(rèn)證令牌邏輯進(jìn)行分離。所公開的實(shí)施方式(例如,網(wǎng)關(guān)實(shí)施方式)可包括數(shù)據(jù)包引擎核心、用數(shù)據(jù)包引擎核心實(shí)現(xiàn)或以其他方式與數(shù)據(jù)包引擎核心相關(guān)聯(lián),其可以以狀態(tài)機(jī)驅(qū)動的分組輸入到分組輸出形式實(shí)現(xiàn)。根據(jù)一些方面,數(shù)據(jù)包引擎核心可以以諸如C(盡管可以使用其它語言)的編程語言來實(shí)現(xiàn)。數(shù)據(jù)包引擎可以實(shí)現(xiàn)可在開放系統(tǒng)互連(OSI)模型中實(shí)現(xiàn)的處理邏輯。OSI模型定義了可以在七個(gè)層中實(shí)現(xiàn)網(wǎng)絡(luò)協(xié)議的網(wǎng)絡(luò)結(jié)構(gòu)。七個(gè)層可以包括物理層(L1)、數(shù)據(jù)鏈路層(L2)、網(wǎng)絡(luò)層(L3)、傳輸層(L4)、會話層(L5)、表示層(L6)和應(yīng)用層(L7)。在OSI模型中,控制可以從一層傳遞到下一層,以應(yīng)用層(L7)開始。所公開的實(shí)施方式可以在L2-L7層中的任一個(gè)上實(shí)現(xiàn)處理邏輯,并且可以在這些層中遵守一個(gè)或多個(gè)網(wǎng)絡(luò)標(biāo)準(zhǔn)(或視情況選擇性地從一個(gè)或多個(gè)網(wǎng)絡(luò)標(biāo)準(zhǔn)偏離)。
所公開的實(shí)施方式可以實(shí)現(xiàn)許多功能,其可能以其他方式由操作系統(tǒng)中的單獨(dú)組件執(zhí)行。這些功能可包括TCP/IP和網(wǎng)絡(luò)接口處理。所公開的實(shí)施方式可以避免可能增加開銷的很多更高級編程構(gòu)造(例如,線程和中斷)。所公開的實(shí)施方式可以操縱各種協(xié)議有效負(fù)載。根據(jù)一些方面,這些協(xié)議可以包括可在各種產(chǎn)品(諸如企業(yè)資源和服務(wù))中實(shí)現(xiàn)的網(wǎng)絡(luò)服務(wù)協(xié)議。根據(jù)一些方面,這些協(xié)議可以是XML或JSON文檔,例如,其可以經(jīng)由HTTP傳送/傳輸。
根據(jù)一些方面,所公開的網(wǎng)關(guān)特征可以在OSI模型的應(yīng)用層(L7)中實(shí)現(xiàn),該應(yīng)用層是最接近終端用戶或客戶端的層。例如,所公開的網(wǎng)關(guān)實(shí)施方式可被插入到協(xié)議流內(nèi),以便保持在可被客戶端側(cè)和服務(wù)器側(cè)(例如,企業(yè)側(cè))理解和/或使用的任何定義的語義內(nèi)。這可導(dǎo)致很多增值操作,例如減少對客戶端的抖動、在高級協(xié)議之間的轉(zhuǎn)換或橋接(例如,將遺留協(xié)議映射到后繼協(xié)議)、將(例如,不同類型和/或版本的)多個(gè)資源目錄聚合成單個(gè)資源目錄(其可以是虛擬目錄),等等。
所公開的實(shí)施方式允許認(rèn)證處理發(fā)生在例如網(wǎng)關(guān)的數(shù)據(jù)包引擎中。這可允許可被明確定義的且很少改變的公共動作的最佳性能,同時(shí)使認(rèn)證協(xié)議的更復(fù)雜的部分與為標(biāo)準(zhǔn)操作系統(tǒng)環(huán)境編寫的其它組件(例如,現(xiàn)成的庫、java servlet等)一起被處理。例如,高級協(xié)議有效負(fù)載的操作可由在所公開的網(wǎng)關(guān)實(shí)施方式上托管的java servlet環(huán)境處理。java servlet環(huán)境可以與網(wǎng)關(guān)數(shù)據(jù)包引擎核心互連,從而允許認(rèn)證上下文在java servlet和網(wǎng)關(guān)數(shù)據(jù)包引擎核心中共享,這允許最佳功能。根據(jù)一些方面,java servlet可以獨(dú)立于網(wǎng)關(guān)的更新來被更新,從而允許升級/更新在不同的時(shí)間在java servlet或網(wǎng)關(guān)上實(shí)現(xiàn)而不影響其它的性能。
圖5是示出根據(jù)本文描述的一個(gè)或多個(gè)特征使用網(wǎng)關(guān)設(shè)備來認(rèn)證并授權(quán)在企業(yè)系統(tǒng)中的客戶端設(shè)備的示例過程500的說明性流程圖。在一個(gè)或多個(gè)實(shí)施方式中,圖5所示的過程和/或其一個(gè)或多個(gè)步驟可由計(jì)算設(shè)備(例如,客戶端設(shè)備,諸如終端240、客戶端設(shè)備302和/或登記移動設(shè)備402;網(wǎng)關(guān)設(shè)備,諸如接入網(wǎng)關(guān)360、網(wǎng)關(guān)服務(wù)器406和/或云網(wǎng)關(guān);和/或企業(yè)服務(wù)器機(jī)器或設(shè)備;等等)執(zhí)行。在其它實(shí)施方式中,圖5所示的過程和/或其一個(gè)或多個(gè)步驟可以體現(xiàn)在被存儲在計(jì)算機(jī)可讀介質(zhì)(諸如非暫時(shí)性計(jì)算機(jī)可讀存儲器)中的計(jì)算機(jī)可執(zhí)行指令中??蛇x地或另外,在過程500中的任何步驟可以在任何客戶端設(shè)備、網(wǎng)關(guān)設(shè)備或企業(yè)服務(wù)器機(jī)器上執(zhí)行。
過程500可以以步驟502開始,其中諸如客戶端設(shè)備302的客戶端設(shè)備可以發(fā)起認(rèn)證請求。認(rèn)證請求可以是客戶端設(shè)備302使用在客戶端設(shè)備302上運(yùn)行的安全和/或不安全應(yīng)用(諸如控制臺應(yīng)用、移動應(yīng)用、網(wǎng)絡(luò)瀏覽器、基于網(wǎng)絡(luò)的應(yīng)用或任何其它應(yīng)用)來登錄到企業(yè)系統(tǒng)的嘗試??蛻舳嗽O(shè)備302的用戶可使用客戶端設(shè)備302的輸入接口/設(shè)備來將認(rèn)證憑證輸入到客戶端設(shè)備302中。例如,用戶可使用鍵盤或觸摸屏來將用戶標(biāo)識符和/或密碼輸入到客戶端設(shè)備302中。認(rèn)證憑證可被加密和/或安全地傳輸?shù)狡髽I(yè)系統(tǒng)的網(wǎng)關(guān)(例如,網(wǎng)關(guān)360)。
網(wǎng)關(guān)360可以是安全服務(wù)器,并且可被實(shí)現(xiàn)為一個(gè)或多個(gè)單獨(dú)的計(jì)算設(shè)備??蛇x地,網(wǎng)關(guān)360可在服務(wù)器或提供資源或服務(wù)的其它計(jì)算設(shè)備(例如,電子郵件服務(wù)器、網(wǎng)絡(luò)應(yīng)用服務(wù)器等)內(nèi)實(shí)現(xiàn)。網(wǎng)關(guān)360可支持各種附加的認(rèn)證技術(shù),例如基于密碼的、基于令牌的(例如,智能卡、磁條卡等)、生物特征(例如,指紋、聲紋、虹膜或視網(wǎng)膜掃描)等。在步驟502中傳輸?shù)恼J(rèn)證信息可以是單因子或多因子認(rèn)證信息。例如,在多因子認(rèn)證中,用戶可提供密碼和用戶的智能卡,但可能在單因子認(rèn)證中僅需要提供這些中的一個(gè)。認(rèn)證還可包括多個(gè)認(rèn)證步驟(例如,挑戰(zhàn)問題)和/或相互認(rèn)證技術(shù)。
在步驟504,網(wǎng)關(guān)360可從客戶端設(shè)備302接收登錄請求和授權(quán)信息。網(wǎng)關(guān)360可將授權(quán)信息存儲在例如本地存儲器中。網(wǎng)關(guān)360然后可以確定登錄請求是否是來自客戶端設(shè)備302的新的登錄請求。例如,網(wǎng)關(guān)360可確定該請求是否是與企業(yè)資源或服務(wù)的現(xiàn)有的通信會話的一部分和/或與之相關(guān)聯(lián)(例如,通過檢查客戶端設(shè)備的會話信息,諸如cookie,其將在下面進(jìn)一步解釋)。如果登錄請求是針對現(xiàn)有的會話,則網(wǎng)關(guān)360可自動認(rèn)證客戶端設(shè)備。如果登錄請求是新請求,則網(wǎng)關(guān)360然后可以通過試圖使用所接收的認(rèn)證信息認(rèn)證客戶端設(shè)備來確定客戶端設(shè)備是否被授權(quán)登錄到網(wǎng)關(guān)/企業(yè)系統(tǒng)。在一些實(shí)施方式中,網(wǎng)關(guān)360可將該認(rèn)證信息傳輸?shù)秸J(rèn)證服務(wù),其可以基本上與認(rèn)證服務(wù)358類似和/或相同,并且可以或可以不被包括在網(wǎng)關(guān)設(shè)備360中。例如,網(wǎng)關(guān)360可以通過將所接收的認(rèn)證憑證呈現(xiàn)給活動目錄(諸如AD 422)來認(rèn)證客戶端設(shè)備,活動目錄可以對認(rèn)證憑證的準(zhǔn)確度和/或有效性進(jìn)行裁決。
在步驟506,在客戶端設(shè)備302的成功認(rèn)證之后,網(wǎng)關(guān)360然后可以將用信號表示成功認(rèn)證(例如,coolie)的數(shù)據(jù)傳輸?shù)娇蛻舳嗽O(shè)備302。例如,cookie可以是從網(wǎng)關(guān)360發(fā)送并存儲在客戶端設(shè)備302上的一小塊數(shù)據(jù)。Cookie可以是HTTP cookie、網(wǎng)絡(luò)cookie、瀏覽器cookie等。Cookie可識別客戶端設(shè)備302的當(dāng)前會話(諸如登錄會話)。會話cookie通??梢允钱?dāng)前調(diào)用者(例如,客戶端設(shè)備)與先前授權(quán)的調(diào)用者相同的短壽命的證據(jù)。會話cookie通??梢允嵌虊勖?,使得例如,如果客戶端設(shè)備丟失或被盜,則攻擊者不能繼續(xù)登錄網(wǎng)關(guān)/企業(yè)。在一些實(shí)施方式中,網(wǎng)關(guān)360可將期滿失效附接到會話cookie和/或使之與會話cookie相關(guān)聯(lián)。例如,cookie可具有5分鐘的時(shí)間限制,使得在5分鐘之后,當(dāng)前登錄會話可被禁用,并且客戶端設(shè)備302可能需要隨后登錄回到網(wǎng)關(guān)360。在一些實(shí)施方式中,其它會話或認(rèn)證信息可在認(rèn)證之后從網(wǎng)關(guān)360傳輸?shù)娇蛻舳嗽O(shè)備302,諸如令牌。在一些實(shí)施方式中,可以通過檢查消息的報(bào)頭來識別客戶端會話,消息的報(bào)頭可包括會話標(biāo)識信息。
在步驟508,客戶端設(shè)備302可將用于訪問企業(yè)資源或服務(wù)的請求(連同會話cookie一起)傳輸?shù)狡髽I(yè)系統(tǒng)。例如,在客戶端設(shè)備302上運(yùn)行的應(yīng)用可從應(yīng)用商店企業(yè)資源(例如,應(yīng)用商店378)請求(例如,購買)受管應(yīng)用。在一些實(shí)施方式中,網(wǎng)關(guān)360可從客戶端設(shè)備302接收請求和會話cookie,檢查會話cookie以確定客戶端設(shè)備302是否在當(dāng)前活動會話期間請求,并且可隨后將請求(和會話cookie)傳遞到企業(yè)系統(tǒng)。在接收到請求之后,企業(yè)系統(tǒng)然后可以確定客戶端設(shè)備或?qū)ζ髽I(yè)資源的請求是否被授權(quán),并從而有權(quán)訪問所請求的企業(yè)資源。
例如,在企業(yè)系統(tǒng)準(zhǔn)予客戶端設(shè)備訪問所請求的企業(yè)資源之前,企業(yè)系統(tǒng)可能需要附加的授權(quán)信息(諸如訪問令牌)。因此,在一些實(shí)施方式中,如果網(wǎng)關(guān)360和/或客戶端設(shè)備302已經(jīng)具有訪問令牌,則網(wǎng)關(guān)360和/或客戶端設(shè)備302可以隨請求來傳輸令牌,從而滿足企業(yè)的授權(quán)要求。在其它實(shí)施方式中,網(wǎng)關(guān)360和/或客戶端設(shè)備302可以沒有或不知道需要哪個(gè)令牌來滿足企業(yè)的授權(quán)要求,并且因此初始請求可以不包括企業(yè)的授權(quán)要求(例如,所需令牌)。在這種情況下,企業(yè)系統(tǒng)可拒絕對企業(yè)資源的初始請求,并且可將該拒絕傳輸?shù)骄W(wǎng)關(guān)360。在一些實(shí)施方式中,企業(yè)系統(tǒng)可將HTTP 401未授權(quán)狀態(tài)代碼與拒絕一起傳輸?shù)骄W(wǎng)關(guān)360。401拒絕消息可包括請求被拒絕的原因,或者包括企業(yè)資源在授權(quán)對該資源的訪問之前需要什么授權(quán)信息。例如,拒絕(例如,在消息報(bào)頭中)可說明請求應(yīng)用必須是基于網(wǎng)絡(luò)的應(yīng)用(諸如瀏覽器),需要什么授權(quán)信息(例如,應(yīng)用商店企業(yè)資源的令牌),調(diào)用者(例如,網(wǎng)關(guān)360)應(yīng)在哪里查找授權(quán)信息(例如,對應(yīng)用商店的令牌發(fā)放者服務(wù)進(jìn)行調(diào)用以請求應(yīng)用商店資源的令牌),調(diào)用者(例如,網(wǎng)關(guān)360)應(yīng)調(diào)用企業(yè)資源的什么服務(wù)來登錄/認(rèn)證客戶端設(shè)備(例如,對應(yīng)用商店的登錄服務(wù)進(jìn)行調(diào)用以認(rèn)證客戶端設(shè)備302),等等。企業(yè)資源還可以將HTTP 300多選擇狀態(tài)代碼傳輸?shù)骄W(wǎng)關(guān)設(shè)備。300狀態(tài)代碼可向網(wǎng)關(guān)360指示登錄到所請求的企業(yè)服務(wù)可用的登錄/認(rèn)證方法(例如,單點(diǎn)登錄、密碼、Kerberos、智能卡等)。
在步驟510,網(wǎng)關(guān)360可接收企業(yè)的響應(yīng)(例如,請求的拒絕)以及企業(yè)系統(tǒng)和/或資源可傳輸?shù)娜魏胃郊拥男畔?例如,401拒絕信息)。網(wǎng)關(guān)360然后可以檢查該響應(yīng)以確定請求被拒絕的原因以及需要什么信息來對拒絕作出響應(yīng),以便獲得對所請求的企業(yè)資源的訪問。在這個(gè)意義上,網(wǎng)關(guān)360可充當(dāng)客戶端設(shè)備302的代理。
在步驟512,基于對拒絕的檢查,網(wǎng)關(guān)360可以向企業(yè)系統(tǒng)傳輸可滿足企業(yè)系統(tǒng)或資源所需的認(rèn)證信息的任何信息。根據(jù)一些方面,網(wǎng)關(guān)360可通過調(diào)用外部認(rèn)證或聲明轉(zhuǎn)換服務(wù)來獲得該信息(例如,代表客戶端設(shè)備302),并隨后將所獲得的信息傳輸?shù)狡髽I(yè)系統(tǒng)。根據(jù)一些其它方面,由網(wǎng)關(guān)360傳輸?shù)男畔⒖砂ū镜卮鎯υ诰W(wǎng)關(guān)360上的任何信息。例如,在步驟504,網(wǎng)關(guān)360可將認(rèn)證憑證(例如,登錄名、密碼、PIN等)存儲在例如本地存儲器中。另外,企業(yè)源可將使用單點(diǎn)登錄(SSO)方法登錄的選項(xiàng)傳輸?shù)骄W(wǎng)關(guān)360(在步驟508)。在這種情況下,網(wǎng)關(guān)360可選擇SSO登錄方法并可將認(rèn)證憑證與SSO登錄請求一起傳輸?shù)狡髽I(yè)系統(tǒng)或源。在一些情況下,如果企業(yè)資源在拒絕中指示登錄到企業(yè)資源的登錄服務(wù),則網(wǎng)關(guān)360可將該認(rèn)證信息傳輸?shù)狡髽I(yè)資源的該登錄服務(wù)。在一些情況下,登錄服務(wù)可以是企業(yè)服務(wù)的認(rèn)證服務(wù)的一部分,該認(rèn)證服務(wù)可與認(rèn)證服務(wù)358類似或相同。響應(yīng)于接收到認(rèn)證憑證連同所選擇的登錄方法,企業(yè)服務(wù)可認(rèn)證網(wǎng)關(guān)360和/或客戶端設(shè)備302。根據(jù)一些方面,如上面提到的,企業(yè)服務(wù)可包括授權(quán)服務(wù)358,其還可包括可認(rèn)證網(wǎng)關(guān)360和/或客戶端設(shè)備302的登錄服務(wù)。
根據(jù)一些方面,網(wǎng)關(guān)360可以預(yù)期由客戶端設(shè)備302傳輸(例如,在步驟508)的對企業(yè)資源的初始請求可被企業(yè)系統(tǒng)或資源拒絕。在這種情況下,網(wǎng)關(guān)360可以將認(rèn)證憑證(和/或登錄方法)添加到初始請求的傳輸,從而滿足任何企業(yè)認(rèn)證要求。
在步驟514,在將認(rèn)證憑證傳輸?shù)狡髽I(yè)服務(wù)之后,網(wǎng)關(guān)360然后可以基于在企業(yè)的響應(yīng)中傳輸?shù)男畔?例如,與401拒絕一起傳輸?shù)男畔?來檢索訪問企業(yè)服務(wù)需要的所需授權(quán)信息。例如,應(yīng)用商店或應(yīng)用控制器企業(yè)服務(wù)可以要求網(wǎng)關(guān)360在準(zhǔn)予對該企業(yè)服務(wù)的訪問之前傳輸/提供特定于該企業(yè)服務(wù)的一個(gè)或多個(gè)令牌。網(wǎng)關(guān)360可從各種源(諸如可存儲所需令牌的外部服務(wù)器)獲得令牌。在一些實(shí)施方式中,網(wǎng)關(guān)360可具有存儲在本地存儲器中的所需令牌,并可從該本地存儲器中獲取令牌。這可發(fā)生在網(wǎng)關(guān)可以例如在先前的或相關(guān)聯(lián)的會話中或在當(dāng)前會話中的早期先前獲得并存儲所需令牌時(shí)。
在一些情況下,網(wǎng)關(guān)360可從企業(yè)系統(tǒng)例如從可具有所需令牌的企業(yè)資源、服務(wù)和/或服務(wù)器獲取令牌。在一些情況下,可從所請求的企業(yè)資源獲取令牌。在這種情況下,企業(yè)資源可包括設(shè)計(jì)成發(fā)出令牌的服務(wù)(例如,令牌發(fā)放者),并且網(wǎng)關(guān)360可從該令牌發(fā)放者獲取令牌。令牌發(fā)放者可以是企業(yè)資源的認(rèn)證服務(wù)的一部分。令牌發(fā)放者還可與企業(yè)資源的登錄服務(wù)進(jìn)行通信,從而確定網(wǎng)關(guān)或客戶端設(shè)備何時(shí)被企業(yè)資源認(rèn)證。在一些情況下,令牌發(fā)放者可能需要在向網(wǎng)關(guān)360提供/傳輸令牌之前接收令牌,并且在這種情況下,企業(yè)資源可響應(yīng)于網(wǎng)關(guān)360和/或客戶端設(shè)備302的成功認(rèn)證而將特定于令牌發(fā)放者的令牌傳輸?shù)骄W(wǎng)關(guān)360。在其它情況下,網(wǎng)關(guān)360可從不同的或外部源(諸如服務(wù)器、會話數(shù)據(jù)庫或本地存儲器)獲得令牌發(fā)放者所需的令牌。
在步驟516,網(wǎng)關(guān)360然后可以將任何所需的授權(quán)信息傳輸?shù)狡髽I(yè)系統(tǒng)或資源。例如,如果企業(yè)資源的令牌發(fā)放者需要令牌,則在獲取令牌發(fā)放者的令牌之后,網(wǎng)關(guān)可將該令牌傳輸?shù)搅钆瓢l(fā)放者。響應(yīng)于此,令牌發(fā)放者然后可以將企業(yè)資源的令牌(例如應(yīng)用商店或應(yīng)用控制器資源的令牌)傳輸?shù)骄W(wǎng)關(guān)(這也可在步驟514處執(zhí)行)。在接收到應(yīng)用商店的令牌之后,網(wǎng)關(guān)360然后可以將該令牌連同客戶端設(shè)備對企業(yè)資源的訪問的請求一起傳輸?shù)狡髽I(yè)系統(tǒng)或資源,從而滿足所需的授權(quán)信息。在一些情況下,網(wǎng)關(guān)360可分開地傳輸所需的授權(quán)信息和客戶端設(shè)備請求。
在步驟518,在接收到所需的授權(quán)信息(例如,所需的令牌)和客戶端設(shè)備請求之后,企業(yè)系統(tǒng)和/或資源然后可以準(zhǔn)予客戶端設(shè)備302訪問所請求的企業(yè)資源。例如,如果客戶端設(shè)備302最初請求(例如,在步驟508)訪問應(yīng)用商店資源(例如,應(yīng)用商店378)以獲得受管應(yīng)用(例如,預(yù)封裝應(yīng)用382),則在經(jīng)歷前面所述的步驟中的一個(gè)或多個(gè)之后,客戶端設(shè)備302現(xiàn)在可以訪問應(yīng)用商店資源和受管應(yīng)用。例如圖3和圖4所示,客戶端設(shè)備302可經(jīng)由網(wǎng)關(guān)360來訪問企業(yè)資源。過程500然后可以在步驟520結(jié)束。
圖6是示出根據(jù)本文描述的一個(gè)或多個(gè)特征使用網(wǎng)關(guān)設(shè)備來認(rèn)證并授權(quán)在企業(yè)系統(tǒng)中的客戶端設(shè)備的流程示意圖的說明性系統(tǒng)600。在一個(gè)或多個(gè)實(shí)施方式中,圖6所示的過程和/或其一個(gè)或多個(gè)步驟可由計(jì)算設(shè)備(例如,客戶端設(shè)備,諸如終端240、移動設(shè)備302和/或登記移動設(shè)備402;網(wǎng)關(guān)設(shè)備,諸如接入網(wǎng)關(guān)360、網(wǎng)關(guān)服務(wù)器406和/或云網(wǎng)關(guān);和/或企業(yè)服務(wù)器機(jī)器或設(shè)備;等等)執(zhí)行。在其它實(shí)施方式中,圖6所示的過程和/或其一個(gè)或多個(gè)步驟可以體現(xiàn)在被存儲在計(jì)算機(jī)可讀介質(zhì)(諸如非暫時(shí)性計(jì)算機(jī)可讀存儲器)中的計(jì)算機(jī)可執(zhí)行指令中??蛇x地或另外,在系統(tǒng)600中所示或關(guān)于系統(tǒng)600描述的任何步驟可在任何客戶端設(shè)備、網(wǎng)關(guān)設(shè)備或企業(yè)服務(wù)器機(jī)器上執(zhí)行。
系統(tǒng)600可包括客戶端設(shè)備302。客戶端設(shè)備302還可包括可由網(wǎng)關(guān)360已經(jīng)提供給客戶端設(shè)備302的cookie。網(wǎng)關(guān)360可響應(yīng)于在網(wǎng)關(guān)360上對客戶端設(shè)備302的成功認(rèn)證而將該cookie傳輸?shù)娇蛻舳嗽O(shè)備302(例如,如以上在步驟502、504和506中類似地所示的)。在一些實(shí)施方式中,網(wǎng)關(guān)360可以不建立與客戶端設(shè)備302的會話,并且可以不將cookie傳輸?shù)娇蛻舳嗽O(shè)備302。例如,當(dāng)初始認(rèn)證(例如,步驟502和504)和對企業(yè)資源或服務(wù)的請求(例如,步驟508)是對企業(yè)資源或服務(wù)的較大或其它請求的一部分時(shí),可以不建立會話。
系統(tǒng)600還可包括企業(yè)資源606(例如應(yīng)用商店378或應(yīng)用控制器374)。資源606可包括商店服務(wù)608,例如預(yù)封裝應(yīng)用382或未封裝應(yīng)用380。資源606還可包括認(rèn)證服務(wù)610。注意到,每當(dāng)資源606在本文中被詳述為執(zhí)行方法、步驟、動作、功能等或具有在資源606上執(zhí)行的方法、步驟、動作、功能等時(shí),可包括資源606和/或與資源606相關(guān)聯(lián)的任何部分、元件、服務(wù)等可執(zhí)行這樣的方法、步驟、動作、功能等或具有在其上執(zhí)行的這樣的方法、步驟、動作、功能等。
圖7是認(rèn)證服務(wù)610的說明性示意圖。認(rèn)證服務(wù)610可與認(rèn)證服務(wù)358相同或類似。認(rèn)證服務(wù)610可包括令牌發(fā)放者服務(wù)702和登錄服務(wù)704。令牌發(fā)放者702可以為各種企業(yè)/資源服務(wù)(諸如商店服務(wù)608)以及未明確示出的附加服務(wù)發(fā)出授權(quán)信息(諸如令牌)。登錄服務(wù)704可包括認(rèn)證/登錄方法/類型的各種選項(xiàng),例如密碼登錄706a、Kerberos登錄706b、智能卡登錄706c和訪問閘單點(diǎn)登錄(AG SSO)706d。注意到,可以根據(jù)本文公開的方面實(shí)現(xiàn)任何其它登錄/認(rèn)證方法。
返回參考圖6,在步驟618,在客戶端設(shè)備302已經(jīng)在網(wǎng)關(guān)360上認(rèn)證之后,客戶端設(shè)備302可以“做某事”,其可以是對訪問服務(wù)608的請求(例如,從應(yīng)用商店獲得應(yīng)用)。該請求可由資源606(例如,在所請求的服務(wù)608處)接收。資源606和/或服務(wù)608然后可以確定客戶端設(shè)備是否在資源606(和/或企業(yè)系統(tǒng))上被認(rèn)證。在一些實(shí)施方式中,客戶端設(shè)備302可以先前登錄到資源606中并且可以已經(jīng)在企業(yè)上被認(rèn)證。如圖6所示,資源606可能需要在允許客戶端設(shè)備302訪問商店服務(wù)608之前認(rèn)證客戶端設(shè)備302。
在步驟620,資源606然后可以將訪問拒絕響應(yīng)傳輸?shù)骄W(wǎng)關(guān)360。該訪問拒絕響應(yīng)可以是HTTP響應(yīng),例如401未授權(quán)響應(yīng)狀態(tài)代碼。該響應(yīng)還可指示附加的信息,諸如指令,可能需要什么授權(quán)信息,可能需要什么認(rèn)證,在哪里獲得/獲取授權(quán)信息,從什么組件獲得/獲取授權(quán)信息,等等。在該示例中,拒絕可指示可能需要特定的授權(quán)信息(例如,資源606/商店服務(wù)608的令牌和令牌發(fā)放者702的令牌)來訪問資源以及從哪里得到這些令牌。如圖6所示,資源606可指示網(wǎng)關(guān)360與令牌發(fā)放者進(jìn)行對話。
在步驟622,在接收到在資源606的響應(yīng)中傳輸?shù)娜魏涡畔⒅?,網(wǎng)關(guān)然后可以將針對訪問資源606所需的令牌的GET請求(例如,HTTP請求)傳輸?shù)搅钆瓢l(fā)放者702或認(rèn)證服務(wù)610(或其它組件)。
在步驟624,網(wǎng)關(guān)360可被認(rèn)證服務(wù)610拒絕訪問,因?yàn)榫W(wǎng)關(guān)360(例如,充當(dāng)客戶端設(shè)備302的代理)還沒有被認(rèn)證服務(wù)610認(rèn)證。因此,認(rèn)證服務(wù)610可使用拒絕(例如,401響應(yīng))對網(wǎng)關(guān)360的GET請求作出響應(yīng)。該拒絕可包括信息,例如關(guān)于如何對資源606進(jìn)行認(rèn)證的指令,向哪里發(fā)送認(rèn)證憑證的位置,等等。在該示例中,拒絕可向網(wǎng)關(guān)360通知要與哪些組件或服務(wù)通信,以便認(rèn)證網(wǎng)關(guān)360(例如,充當(dāng)客戶端設(shè)備302的代理)。如圖6所示,認(rèn)證服務(wù)610可通知網(wǎng)關(guān)360與登錄704對話。
在步驟626,在接收到在認(rèn)證服務(wù)610的響應(yīng)中傳輸?shù)娜魏涡畔⒅?,網(wǎng)關(guān)360然后可以針對令牌發(fā)放者702的令牌做出對登錄704的GET請求。注意到,網(wǎng)關(guān)360可以使用在例如步驟620(其中資源606指示網(wǎng)關(guān)360得到資源606的令牌和令牌發(fā)放者702的令牌)中從資源606傳輸?shù)男畔?指令來對令牌發(fā)放者702做出該請求。
在步驟628,在接收到得到令牌發(fā)放者702的令牌的請求之后,登錄704然后可以將可包括例如關(guān)于如何認(rèn)證的指令、用于認(rèn)證的方法、用于認(rèn)證的選項(xiàng)等的響應(yīng)傳輸?shù)骄W(wǎng)關(guān)360。該響應(yīng)可以是HTTP 300多選擇響應(yīng)。在該示例中,響應(yīng)可包括登錄方法,例如密碼706a、Kerberos 706b、智能卡706c和AG SSO 706d。注意到,可實(shí)現(xiàn)任何其它認(rèn)證/登錄方法。
在步驟630,在接收到登錄方法響應(yīng)之后,網(wǎng)關(guān)360然后可以選擇這些方法中的一個(gè)。如圖6所示,網(wǎng)關(guān)360可選擇SSO登錄方法,并且可以(例如,在沒有傳輸任何認(rèn)證憑證/信息的情況下)試圖登錄到認(rèn)證服務(wù)610。
在步驟632,認(rèn)證服務(wù)610/登錄704可接收登錄嘗試,并且因?yàn)闆]有認(rèn)證憑證與登錄嘗試一起被發(fā)送,認(rèn)證服務(wù)610/登錄704可拒絕登錄請求/嘗試。認(rèn)證服務(wù)610/登錄704然后可以將拒絕(例如,401響應(yīng))發(fā)送到網(wǎng)關(guān)。該拒絕可包括信息,例如請求被拒絕的原因,使用該方法需要什么來登錄,等等。在這種情況下,拒絕可指示網(wǎng)關(guān)360沒有隨同登錄請求發(fā)送任何認(rèn)證證書。
在步驟634,在從認(rèn)證服務(wù)610/登錄704接收到響應(yīng)之后,網(wǎng)關(guān)360然后可以傳輸網(wǎng)關(guān)360可訪問和/或(例如,從本地存儲器、從網(wǎng)關(guān)360被認(rèn)證的服務(wù)器/設(shè)備等)先前獲取的任何認(rèn)證憑證。這樣的認(rèn)證憑證可包括當(dāng)客戶端設(shè)備302向網(wǎng)關(guān)360(例如,步驟502和504)認(rèn)證(例如,登錄到)自身時(shí)由客戶端設(shè)備302傳輸?shù)骄W(wǎng)關(guān)360的認(rèn)證憑證。
在步驟636,在接收到認(rèn)證憑證之后,認(rèn)證服務(wù)610/登錄704然后可以處理認(rèn)證憑證以確定客戶端設(shè)備302是否可以在資源606上被認(rèn)證。如果認(rèn)證是成功的,則認(rèn)證服務(wù)610/登錄704可向網(wǎng)關(guān)360發(fā)送確認(rèn)響應(yīng)(例如,HTTP 200響應(yīng)),通知網(wǎng)關(guān)360它(例如,充當(dāng)客戶端設(shè)備302的代理)已在資源606上被認(rèn)證。
在步驟638,網(wǎng)關(guān)360然后可以將OK響應(yīng)(例如,HTTP 200響應(yīng))發(fā)送到認(rèn)證服務(wù)610/登錄704,OK響應(yīng)可指示網(wǎng)關(guān)360現(xiàn)在知道它(例如,充當(dāng)客戶端設(shè)備302的代理)在資源606上被認(rèn)證。
在步驟640,認(rèn)證服務(wù)610(和/或登錄704)然后可以向網(wǎng)關(guān)360傳輸訪問令牌發(fā)放者702所需的任何授權(quán)信息(例如,令牌642)。
在步驟644,在接收到令牌642之后,網(wǎng)關(guān)360然后可以向認(rèn)證服務(wù)610/令牌發(fā)放者702發(fā)送針對令牌發(fā)放者702的授權(quán)信息(例如,令牌642)連同對例如在步驟618由客戶端設(shè)備302請求的企業(yè)資源606/服務(wù)608的令牌的GET請求。
在步驟646,認(rèn)證服務(wù)610可接收令牌發(fā)放者702的授權(quán)信息(例如,令牌642)連同對企業(yè)服務(wù)608的令牌的GET請求。在使用令牌642成功授權(quán)之后,令牌發(fā)放者702然后可以將所請求的授權(quán)信息(例如,令牌648)傳輸?shù)骄W(wǎng)關(guān)360。
在步驟650,在接收到令牌648之后,網(wǎng)關(guān)360然后可以向企業(yè)服務(wù)608重新發(fā)送訪問服務(wù)608的請求(例如,從應(yīng)用商店獲得應(yīng)用的請求)連同令牌650。
在步驟652,企業(yè)服務(wù)608可接收對服務(wù)608的授權(quán)信息(例如,令牌650)連同訪問服務(wù)608的請求。在使用令牌650成功授權(quán)之后,企業(yè)服務(wù)608然后可以向網(wǎng)關(guān)360和客戶端設(shè)備302準(zhǔn)予訪問。例如,商店服務(wù)608可將所請求的應(yīng)用發(fā)送到客戶端設(shè)備302。在步驟654,客戶端設(shè)備302可通過接收客戶端設(shè)備302的請求的結(jié)果來接收對企業(yè)服務(wù)608的訪問(例如,經(jīng)由網(wǎng)關(guān)360)。
在一些實(shí)施方式中,當(dāng)客戶端設(shè)備302在網(wǎng)關(guān)360上和資源606上被認(rèn)證之后,客戶端設(shè)備302可做出對資源606(例如,對相同或另一個(gè)企業(yè)/資源服務(wù))的訪問的后續(xù)請求。因此,如果該請求在活動會話期間(例如,cookie仍然是有效的和/或未到期的)進(jìn)行,則網(wǎng)關(guān)360在接收到該后續(xù)請求之后可獲取或添加所請求的企業(yè)/資源服務(wù)的授權(quán)信息(例如,令牌、cookies等),并且將該請求連同相應(yīng)的授權(quán)信息一起傳輸?shù)劫Y源606。在一些情況下,網(wǎng)關(guān)360可從外部源(諸如企業(yè)資源606、其它企業(yè)資源或其它服務(wù)器/計(jì)算設(shè)備)獲取授權(quán)信息。例如,如果客戶端設(shè)備302已經(jīng)在資源606上被認(rèn)證,則網(wǎng)關(guān)360可以針對由客戶端設(shè)備302作出的對資源606所提供的附加服務(wù)的任何后續(xù)請求從令牌發(fā)放者702獲取相應(yīng)的/所需的授權(quán)信息(例如,令牌)。在一些情況下,網(wǎng)關(guān)360可以具有先前從資源606獲取/獲得的授權(quán)信息(例如,令牌),并可將其存儲在本地。在這些情況下,如果客戶端設(shè)備302請求對應(yīng)于網(wǎng)關(guān)360先前獲得的令牌的服務(wù),則網(wǎng)關(guān)360可能不需要執(zhí)行以上描述的一些或全部協(xié)商步驟。相反,網(wǎng)關(guān)360可從它的本地儲存器獲取所需令牌,并將所獲取的令牌和請求傳輸?shù)劫Y源606。
圖8示出根據(jù)本文描述的一個(gè)或多個(gè)特征使用網(wǎng)關(guān)設(shè)備和多商店來認(rèn)證并授權(quán)在企業(yè)系統(tǒng)中的客戶端設(shè)備的說明性系統(tǒng)800。系統(tǒng)800可包括客戶端設(shè)備302、網(wǎng)關(guān)設(shè)備360、多商店組件810、企業(yè)資源374(例如,應(yīng)用控制器)和企業(yè)資源378(例如,應(yīng)用商店)。根據(jù)一些方面,多個(gè)企業(yè)資源、端點(diǎn)和/或產(chǎn)品可被聚合成多商店組件810,多商店組件810可與網(wǎng)關(guān)360集成在一起、作為網(wǎng)關(guān)360的一部分或以其他方式與網(wǎng)關(guān)360相關(guān)聯(lián)。根據(jù)一些方面,多商店810然后可以代表客戶端302與多個(gè)單獨(dú)的企業(yè)資源進(jìn)行通信。
例如,在接收到例如本文所述(例如,在圖5-7中)的相應(yīng)的/所需的授權(quán)信息(例如,令牌)之后,網(wǎng)關(guān)360然后可以將應(yīng)用商店378的資源/應(yīng)用和應(yīng)用控制器374的資源/應(yīng)用聚合成多商店。在這種意義上,聚合的資源可包括重寫或以其他方式實(shí)現(xiàn)這些資源作為網(wǎng)關(guān)代理的服務(wù)(例如VPN、cVPN等),使得這些資源配對成在多商店中的單個(gè)資源/服務(wù)。例如,如果在應(yīng)用商店378中存在圖像服務(wù),則圖像服務(wù)可在多商店810上實(shí)現(xiàn),使得多商店810可以與應(yīng)用商店378中的圖像服務(wù)進(jìn)行通信。同樣,如果在應(yīng)用控制器374中存在圖像服務(wù),則在多商店810上實(shí)現(xiàn)的圖像服務(wù)還可包括與應(yīng)用控制器374中的圖像服務(wù)通信的能力。因此,在多商店/網(wǎng)關(guān)和應(yīng)用控制器374與應(yīng)用商店378之間的通信可以與如以上關(guān)于網(wǎng)關(guān)360和圖5-7所述的通信相同或相似,但可能由于在多商店/網(wǎng)關(guān)上實(shí)現(xiàn)的代理的服務(wù)而具有增加的協(xié)議知識。
根據(jù)一些方面,如果客戶端設(shè)備302做出可能需要訪問多于一個(gè)企業(yè)資源(例如,應(yīng)用商店378和應(yīng)用控制器374)的請求,則網(wǎng)關(guān)360(經(jīng)由多商店810)可通過與那些資源通信/協(xié)商來充當(dāng)客戶端設(shè)備302的代理,使得客戶端設(shè)備302不必進(jìn)行與網(wǎng)關(guān)360不用作客戶端設(shè)備302的代理時(shí)必須進(jìn)行的調(diào)用一樣多的調(diào)用。因此,如果客戶端設(shè)備302請求訪問一些應(yīng)用并搜索那些應(yīng)用,則由于網(wǎng)關(guān)360和/或多商店810的代理和限制客戶端設(shè)備302和企業(yè)資源之間的通信的通信能力,客戶端設(shè)備302可能不知道/意識到搜索結(jié)果可能來自應(yīng)用商店378并且也來自應(yīng)用控制器374。
雖然已經(jīng)以特定于結(jié)構(gòu)特征和/或方法動作的語言描述了主題,但是應(yīng)理解,在所附權(quán)利要求中定義的主題不一定限于以上描述的特定特征或動作。相反,以上描述的特定特征和動作被描述為下面的權(quán)利要求的示例實(shí)現(xiàn)。