提供虚拟专用网络隧道的方法和设备及计算机可读介质与流程

文档序号:15523178发布日期:2018-09-25 20:10阅读:289来源:国知局

本申请要求2013年9月16日提交的名称为“PROVIDING VIRTUALIZED PRIVATE NETWORK TUNNELS”的美国非临时专利申请序列号14/027,929的优先权,该专利申请要求:2013年8月2日提交的并且名称为“PROVIDING VIRTUALIZED PRIVATE NETWORK TUNNELS”的美国临时专利申请序列号61/861909;2012年10月15日提交的并且名称为“PER-APPLICATION POLICY-CONTROLLED ACCESS TO COMPUTEREZED RESOURCES”的美国临时专利申请序列号61/713,763;以及2013年3月29日提交的并且名称为“SYSTEMS AND METHODS FOR ENTERPRISE MOBILITY MANAGEMENT”的美国临时专利申请序列号61/806,557的优先权。

上述专利申请中的每个专利申请通过引用以其整体并入本文。

技术领域

本申请涉及虚拟专用网络隧道。

背景

本公开的各方面涉及计算机硬件和软件。特别地,本公开的一个或多个方面总体上涉及用于提供企业应用商店的计算机硬件和软件。

公司和其他组织正越来越多向其员工和其它伙伴提供移动装置(例如智能手机、平板电脑和其他的移动计算装置)和/或以其他方式允许其员工和其它伙伴启用移动装置。随着这些装置继续日益普及和提供越来越多的功能,许多组织可能希望对如何能够使用这些装置、这些装置能够访问什么资源以及在这些装置上运行的应用如何能够与其他资源进行交互而放置某些控件。

概述

本公开提供了以下内容:

1.一种方法,包括:

由移动装置在安全容器中存储票证,所述安全容器可用于存储与由所述移动装置提供的被管理应用相关的数据,其中所述票证被配置为提供关于创建用于所述被管理应用到至少一个资源的虚拟专用网络VPN隧道的认证,所述至少一个资源通过接入网关是可访问的;

基于所述票证、所述VPN隧道和策略信息向所述被管理应用提供对所述至少一个资源的访问,其中所述策略信息描述用于向所述设备的被管理应用提供对所述至少一个资源的访问的一个或多个策略;

确定执行选择性擦除;

确定所述票证由所述移动装置存储;以及

从所述安全容器删除所述票证。

2.根据1所述的方法,还包括:

在所述移动装置处将所述策略信息存储在所述安全容器中;以及

作为删除与所述被管理应用相关联的安全数据的选择性擦除过程的一部分,删除所述策略信息。

3.根据2所述的方法,还包括:

基于包括在所述策略信息中的信息,在所述安全容器中搜索所述票证。

4.根据1所述的方法,还包括:

向所述接入网关传送选择性擦除确认,其中所述确认包括在所述选择性擦除期间被删除的票证的列表。

5.根据1所述的方法,其中,确定所述票证被所述移动装置存储包括分析所述策略信息以识别所述票证或存储所述票证的位置。

6.根据1所述的方法,其中,所述VPN隧道是仅向所述应用提供对所述至少一个资源的访问的依据应用的策略控制的VPN隧道。

7.根据1所述的方法,其中,确定执行所述选择性擦除基于所述被管理应用从被管理运行模式切换到非管理运行模式。

8.根据1所述的方法,其中,确定执行所述选择性擦除基于下列项中的一项或多项:所述移动装置被越狱或被获取了管理员权限的确定,所述移动装置安装了列入黑名单中的应用的确定,或所述移动装置未配置锁屏的确定。

9.根据1所述的方法,其中,确定执行所述选择性擦除基于所述被管理应用被卸载。

10.一种设备,包括:

至少一个处理器;以及

存储器,其存储可执行指令,所述可执行指令被配置为当由所述至少一个处理器执行时促使所述设备执行以下操作:

在安全容器中存储票证,所述安全容器可用于存储与由所述设备提供的被管理应用相关的数据,其中所述票证被配置为提供关于创建用于所述被管理应用到至少一个资源的虚拟专用网络VPN隧道的认证,所述至少一个资源通过接入网关是可访问的,

基于所述票证、所述VPN隧道和策略信息向所述被管理应用提供对所述至少一个资源的访问,其中所述策略信息描述用于向所述设备的所述被管理应用提供对所述至少一个资源的访问的一个或多个策略,

确定执行选择性擦除,

确定所述票证由所述移动装置存储,以及

从所述安全容器删除所述票证。

11.根据10所述的设备,其中,所述可执行指令被配置为当由所述至少一个处理器执行时进一步促使所述设备执行以下操作:

在所述安全容器中存储所述策略信息;以及

作为删除与所述被管理应用相关联的安全数据的选择性擦除过程的一部分,删除所述策略信息。

12.根据10所述的设备,其中,所述可执行指令被配置为当由所述至少一个处理器执行时进一步促使所述设备基于包括在所述策略信息中的信息在所述安全容器中搜索所述票证。

13.根据10所述的设备,其中,所述可执行指令被配置为当由所述至少一个处理器执行时进一步促使所述设备向所述接入网关传送选择性擦除确认,其中所述确认包括在所述选择性擦除期间被删除的票证的列表。

14.根据10所述的设备,其中,确定所述票证被所述移动装置存储包括分析所述策略信息以识别所述票证或存储所述票证的位置。

15.根据10所述的设备,其中,所述VPN隧道是仅向所述应用提供对至少一个企业资源的访问的依据应用的策略控制的VPN隧道。

16.根据1所述的方法,其中,确定执行所述选择性擦除基于下列项中的一项或多项:所述被管理应用从被管理运行模式切换到非管理运行模式,所述被管理应用被卸载,所述移动装置被越狱或被获取了管理员权限的确定,所述移动装置安装了列入黑名单中的应用的确定,或所述移动装置未配置锁屏的确定。

17.一种或多种非暂时性计算机可读介质,其存储了指令,所述指令被配置为当被执行时促使至少一个计算装置执行以下操作:

在安全容器中存储票证,所述安全容器可用于存储与由所述设备提供的被管理应用相关的数据,其中所述票证被配置为提供关于创建用于所述被管理应用到至少一个资源的虚拟专用网络VPN隧道的认证,所述至少一个资源通过接入网关是可访问的;

基于所述票证、所述VPN隧道和策略信息向所述被管理应用提供对所述至少一个资源的访问,其中所述策略信息描述用于向所述设备的被管理应用提供对所述至少一个资源的访问的一个或多个策略;

确定执行选择性擦除;

确定所述票证由所述移动装置存储;以及

从所述安全容器删除所述票证。

18.根据17所述的一种或多种非暂时性计算机可读介质,其中,所述指令被配置为当被执行时进一步促使所述至少一个计算装置执行以下操作:

在所述安全容器中存储所述策略信息;

作为删除与所述被管理应用相关联的安全数据的选择性擦除过程的一部分,删除所述策略信息;以及

基于包括在所述策略信息中的信息,在所述安全容器中搜索所述票证。

19.根据17所述的一种或多种非暂时性计算机可读介质,其中,所述指令被配置为当被执行时进一步促使所述至少一个计算装置向所述接入网关传送选择性擦除确认,其中所述确认包括在所述选择性擦除期间被删除的票证的列表。

20.根据17所述的一种或多种非暂时性计算机可读介质,其中,确定所述票证被所述移动装置存储包括分析所述策略信息以识别所述票证或存储所述票证的位置。

本公开的各方面提供更高效、有效、实用的和方便的方式,该方式对能够如何使用移动装置、移动装置能够访问什么资源以及在这些装置上运行的应用能够如何与其他资源交互进行控制。特别地,在下面更加详细讨论的一个或多个实施例中,可以实施能够提供这些和特征的企业应用商店。

本公开的各个方面涉及提供依据应用的(per-application)策略控制的VPN隧道。在某些实施例中,票证可用于提供对企业资源的访问而无需单独认证应用。例如,某些方面可以涉及一种移动装置,该移动装置接收描述一个或多个策略的策略信息,该一个或多个策略用于向移动装置的应用提供对通过接入网关是可访问的至少一个资源的访问;确定该移动装置具有有效的票证,所述票证经配置提供关于创建用于该应用到至少一个资源的虚拟专用网络(VPN)隧道的认证;分析策略信息以确定对至少一个资源的网络访问被允许;向接入网关传送票证;以及创建用于该应用的VPN隧道以访问所述至少一个资源。

另外的方面可以涉及更新策略信息并向移动装置传送用于被管理的应用的票证。例如,某些方面可以涉及一个或多个计算装置(诸如接入网关)执行对存储在接入网关的策略信息的更新,其中该策略信息描述用于给移动装置的应用提供对至少一个企业资源的访问的一个或多个策略,所述至少一个企业资源通过接入网关是可访问的,所述更新产生更新的策略信息;确定向移动装置传送更新的策略信息;向移动装置传送更新的策略信息;向移动装置传送票证,所述票证经配置为提供关于创建用于该应用到所述至少一个资源的虚拟专用网络(VPN)隧道的认证;并打开VPN隧道以向应用提供对至少一个资源的访问。

另外方面可以涉及诸如通过执行选择性擦除来执行对与移动装置相关联的票证或其他数据的删除。例如,某些方面可以涉及在安全容器中存储票证的移动装置,该安全容器可用于存储与由移动装置提供的被管理应用相关的数据,其中该票证经配置为提供关于创建用于被管理的应用到至少一个资源的虚拟专用网络(VPN)隧道的认证,所述至少一个资源通过接入网关是可访问的;基于该票证、VPN隧道和策略信息向被管理应用提供对至少一个资源的访问,该策略信息描述用于向设备的被管理应用提供对至少一个资源的访问的一个或多个策略;确定执行选择性擦除;确定该票证由移动装置存储;并从安全容器删除该票证。

又另外的方面可以涉及以至少两种运行模式运行被管理应用并经由所述运行模式中的至少一个运行模式中的依据应用的策略控制的虚拟专用网络隧道提供对资源的访问。例如,某些方面可以涉及一种移动装置,该移动装置确定被管理应用的背景;基于至少两种不同的运行模式,确定用于基于该背景的被管理应用的运行模式;以该运行模式执行被管理的应用;以及,至少基于以下向被管理应用提供对通过接入网关可访问的至少一个资源的访问:被管理应用到至少一个资源的虚拟专用网络(VPN)隧道、经配置为提供关于创建VPN隧道的认证的票证、以及描述用于向设备的被管理应用提供对至少一个资源的访问的一个或多个策略的策略信息。

另外的方面可以涉及自动响应认证询问而不是用户或被管理的应用。例如,某些方面可以涉及一种移动装置,该移动装置接收关于用于被管理应用的认证过程的认证询问;分析策略信息以确定该策略信息允许移动装置对认证询问响应而不是对用户或被管理应用做出响应,其中该策略信息描述用于向被管理应用提供对至少一个资源的访问的一个或多个策略,所述至少一个资源通过接入网关是可访问的;由移动装置对认证询问而不是对用户或被管理应用做出响应;以及,至少基于以下向被管理应用提供对至少一个资源的访问:被管理应用到至少一个资源的虚拟专用网络(VPN)隧道、经配置为提供关于创建VPN隧道的认证的票证、以及策略信息。

在下面更加详细讨论这些特征连同许多其他特征。

附图简述

本公开借助示例来说明,并且不限于附图中的示例,附图中的相同附图标记表示类似的元件,并且在附图中:

图1示出可以根据本公开的一个或多个方面来使用的说明性计算机系统架构。

图2示出可以根据本公开的各个方面来使用的说明性远程访问系统架构。

图3示出可以根据本公开的一个或多个方面来使用的说明性虚拟化(超级管理器)系统架构。

图4示出可以根据本公开的各个方面来使用的说明性基于云的系统架构。

图5示出可以根据本公开的一个或多个方面来使用的说明性企业移动管理系统。

图6示出可以根据本公开的各个方面来使用的另一个说明性企业移动管理系统。

图7示出根据本公开的一个或多个方面的电子环境,该电子环境允许电子移动装置通过依据应用的策略控制的VPN隧道安全地访问计算机化的资源。

图8示出根据本公开的各方面的合适移动电子装置的一个实施例的具体细节,与安全访问计算机化资源有关的各方面可以在该电子移动装置上实施。

图9示出根据本文所述的一个或多个方面允许移动装置经由专用隧道访问计算机化资源的方法。

图10示出根据本文公开的一个或多个说明性方面,向被管理应用提供访问企业资源的依据应用的策略的方法。

图11示出根据本文所述的各方面与提供依据应用的策略控制的VPN隧道相关的提供选择性擦除数据的方法。

图12A-12F示出根据本文所述的一个或多个方面,确定应用的背景和运行模式的示例方法。

图12G示出切换应用的运行模式的示例方法。

图13A-13C示出根据本文所述的各方面用于提供认证有关功能的示例方法。

详细描述

在各个实施例的下列描述中,引用了在上面确认并形成各个实施例的一部分的附图,并且其中借助于说明各个实施例来示出,可以在各个实施例中实施本文描述的各方面。应当理解的是可以使用其他实施例并可以做出结构或功能的更改,而不脱离本文描述的范围。能够以其它实施例和以各个不同方式来实施或执行各个方面。

作为在下面更加详细描述的主题的一般介绍,本公开的各个方面涉及提供依据应用的策略控制的VPN隧道。在某些实施例中,票证可以用于提供对企业资源的访问而无需单独认证应用,以及在某些情况下,当在该票证的使用寿命期间重新建立依据应用的策略控制的VPN隧道时,可以以这样的方式使用票证以便向用户提供无缝体验。另外方面涉及向移动装置提供更新的策略信息和票证的接入网关。其他方面涉及从移动装置的安全容器选择性擦除票证。又另外的方面涉及基于上述该方面中的一个或多个方面以多种模式(诸如被管理模式和非管理模式)运行各应用并提供认证有关的服务。

应当理解本文所用的措辞和术语用于描述目的,不应被看做是限制性的。相反,本文所用的短语和术语应当给予其最广义的解释和含义。在使用“包括(including)”和“包含(comprising)”及其变体时,意指包含在其后面列出的各项及其等价物以及另外的项及其等价物。在使用“安装(mounted)”、“连接(connected)”、“耦接(coupled)”、“定位(positioned)”、“啮合(engaged)”和类似术语时,意指包括直接和间接的安装、连接、耦接、定位和啮合两者。

计算架构

计算机软件、硬件和网络可以被用在各种不同的系统环境中,系统环境除了其他的环境以外,还包括独立的、联网的、远程访问(又叫做,远程桌面)、虚拟化的和/或基于云的环境。图1示出在独立和/或联网环境中可以用于实施本文所述的一个或多个说明性方面的系统架构和数据处理装置的一个示例。各个网络节点103、105、107和109可以经由广域网(WAN)101(诸如互联网)来互连。其他网络也可以或可替代使用,包括专用的内联网、公司网络、LAN、城域网(MAN)、无线网络、个人网络(PAN)等。网络101用于说明目的,并且可以用更少或添加的计算机网络来替代。局域网(LAN)可以具有一个或多个任何已知的LAN拓扑结构,并且可以使用各种不同协议中的一个或多个协议,例如以太网协议。装置103、105、107、109和其他装置(未示出)可以经由双绞线、同轴电缆、光纤、无线电波或其它通信介质连接到网络中的一个或多个网络。

如在本文使用并在附图中示出的术语“网络”不仅指的是其中远程存储装置经由一个或多个通信路径耦接在一起的系统,而且指的是可以不时耦接于具有存储能力的此类系统的独立装置。因此,术语“网络”不仅包括“物理网络”,而且包括“内容网络”,该内容网络由驻留在所有物理网络上的归因于单个实体的数据组成。

组件可以包括数据服务器103、网页服务器105和客户端计算机107、109。数据服务器103提供用于执行本文所述的一个或多个说明性方面的数据库和控制软件的全面访问、控制和管理。数据服务器103可以被连接到网页服务器105,用户根据需要通过该网页服务器与数据服务器交互并获得数据。另选地,数据服务器103可以自身充当网页服务器并被直接连接到互联网。数据服务器103可以通过网络101(例如,互联网)、经由直接连接或间接连接或经由某些其他网络被连接到网页服务器105。用户可以经由被网页服务器105托管的一个或多个向外陈列的网站,使用远程计算机107、109(例如使用连接到数据服务器103的网页浏览器)与数据服务器103交互。客户端计算机107、109可以被用于与数据服务器103配合以访问存储在其中的数据,或可以被用于其他目的。例如,如在本领域中是公知的,用户可以从客户端装置107使用互联网浏览器访问网页服务器105,或通过执行在计算机网络上(例如互联网)与网页服务器105和/或数据服务器103通信的软件应用来访问网页服务器105。

服务器和应用可以被组合在相同的物理机器上,并且保留单独的虚拟或逻辑地址,或可以驻留在单独的物理机器上。如在本文进一步所描述的,图1仅示出可以被使用的网络架构的一个示例,并且本领域中的技术人员应当理解,所使用的特定网络架构和数据处理装置可以改变,并且对于它们提供的功能来说是次要的。例如,由网页服务器105和数据服务器103提供的服务可以被组合在单个服务器上。

每个组件103、105、107、109可以是任何类型的已知计算机、服务器或数据处理装置。数据服务器103例如可以包括控制数据服务器103的整体运行的处理器111。数据服务器103还可以包括RAM 113、ROM 115、网络接口117、输入/输出接口119(例如键盘、鼠标、显示器、打印机等)以及存储器121。I/O 119可以包括用于读取、写入、显示和/或打印数据或文件的各种接口单元和驱动器。存储器121还可以存储用于控制数据处理装置103的整体运行的操作系统软件123,用于命令数据服务器103执行本文所述的各方面的控制逻辑125,以及其他应用软件127,所述其他应用软件提供可以或可能不结合本文所述的各方面使用的次要、支持和/或其他特征。控制逻辑在本文也可以被称为数据服务器软件125。数据服务器软件的功能可以指的是基于被编码到控制逻辑中的规则自动执行、由提供输入到系统中的用户手动执行的操作或决定,和/或基于用户输入的自动处理的组合(例如,查询,数据更新等)。

存储器121还可以存储执行本文所述的一个或多个方面时使用的数据,该数据包括第一数据库129和第二数据库131。在某些实施例中,第一数据库可以包括第二数据库(例如,作为单独的表格、报告等)。也就是说,信息可以被根据系统设计存储在单个数据库中或被分隔为不同的逻辑、虚拟或物理数据库。装置105、107、109可以具有如关于装置103所述的相似或不同的架构。本领域中的技术人员应当理解,如本文所述的数据处理装置103(或装置105、107、109)的功能可以跨多个数据处理装置分布,例如跨多个计算机以分布处理负荷,基于地理位置、用户访问级别、服务质量(QoS)等以分隔事务。

一个或多个方面可以被在计算机可用或可读的数据和/或计算机可执行的指令中(例如在一个或多个程序模块中)实施,由如本文所述的一个或多个计算机或其他装置执行。一般来说,程序模块包括当所述程序模块由计算机或其他装置中的处理器执行时执行特定任务或实施特定抽象数据类型的例程、程序、对象、组件、数据结构等。模块可以以随后被编译用于执行的源代码编程语言来编写,或可以以脚本语言(诸如(但不限于)HTML或XML)来编写。计算机可执行指令可以被存储在计算机可读介质(诸如非易失性存储装置)上。任何合适的计算机可读介质可以被利用,所述介质包括硬盘、CD-ROM、光学存储装置、磁存储装置和/或它们的任何组合。此外,表示如本文所述的数据或事件的各种传输(非存储)介质可以以电磁波的形式在源与目的地之间传送,所述电磁波通过信号传导介质(诸如金属线、光纤和/或无线传输介质(例如,空气和/或空间))行进。本文所述的各个方面可以被实施为方法、数据处理系统或计算机程序产品。因此,各个功能可以全部或部分在软件、固件和/或硬件或硬件等价物(诸如集成电路、现场可编程门阵列(FPGA)等)中实施。特定数据结构可以被用于更有效实施本文所述的一个或多个方面,并且预期此类数据结构在本文所述的计算机可执行指令和计算机可用数据的范围内。

通过进一步参考图2,本文所述的一个或多个方面可以被在远程访问环境中实施。图2示出根据本文所述的一个或多个说明性方面的示例系统架构,其包括可以被用在说明性计算环境200中的通用计算装置201。通用计算装置201可以被用作单一服务器或多服务器桌面虚拟系统(例如,远程访问或云系统)中的服务器206a,所述系统经配置提供用于客户端访问装置的虚拟机。通用计算装置201可以具有用于控制服务器及其关联组件的整体运行的处理器203,关联组件包括随机存取存储器(RAM)205、只读存储器(ROM)207、输入/输出(I/O)模块209以及存储器215。

I/O模块209可以包括鼠标、键盘、触摸屏、扫描器、光学读取器和/或通用计算装置201的用户通过其可以提供输入的触笔(或其他输入装置),并且还可以包括用于提供音频输出的一个或多个扬声器以及用于提供文本、音频、视频和/或图形输出的视频显示器装置。软件可以被存储在存储器215和/或其他存储器内,以向处理器203提供指令,该指令用于将通用计算装置201配置到专用计算装置中以便执行如本文所述的各种功能。例如,存储器215可以存储由计算装置201使用的软件,诸如操作系统217、应用程序219和关联的数据库221。

计算装置201可以在联网的环境中运行,该联网环境支持至一个或多个远程计算机(诸如终端240(也被称为客户端装置))的连接。终端240可以是包括上面关于通用计算装置103或201所述的元件中的许多或全部元件的个人计算机、移动装置、便携式计算机、平板电脑或服务器。图2中所示的网络连接包括局域网(LAN)225和广域网(WAN)229,但是可以包括其他网络。当用在LAN联网环境中时,计算装置201可以通过网络接口或适配器223被连接到LAN 225。当用在WAN联网环境中时,计算装置201可以包括调制解调器227或用于在WAN 229(例如计算机网络230(例如,互联网))上建立通信的其他广域网接口。应当理解,所示出的网络连接是说明性的,并且可以使用在计算机之间建立通信链接的其他手段。计算装置201和/或终端240也可以是包括各种其他组件(诸如电池、扬声器和天线(未示出))的移动终端(例如,移动电话,智能电话,PDA,笔记本电脑等)。

本文描述的各方面也可以被用许多其他通用或专用计算系统环境或配置来运行。可能适合用于本文所述的各方面的其他计算系统、环境和/或配置的示例包括但不限于个人计算机、服务器计算机、手持或便携式装置、多处理器系统、基于微处理器的系统、机顶盒、可编程消费电子装置、网络PC、小型计算机、大型计算机、包括上述系统或装置中的任一个的分布式计算环境等等。

如图2中所示,一个或多个客户端装置240可以与一个或多个服务器206a-206n(本文通常称为“服务器206”)通信。在一个实施例中,计算环境200可以包括安装在服务器206与客户端机器240之间的网络设备。网络设备可以管理客户端/服务器连接,并且在某些情况下在多个后端服务器206之中的客户端连接进行负载平衡。

客户端机器240可以在某些实施例中被称为单个客户端机器240或单组客户端机器240,而服务器206可以被称为单个服务器206或单组服务器206。在一个实施例中,单个客户端机器240与一个以上的服务器206通信,而在另一实施例中,单个服务器206与一个以上的客户端机器240通信。在又一实施例中,单个客户端机器240与单个服务器206通信。

客户端机器240在某些实施例中可以被称为下列非穷举术语中的任意一个:客户端机器;客户端;客户端计算机;客户端装置;客户端计算装置;本地机器;远程机器;客户端节点;端点;或端点节点。服务器206在某些实施例中可以被称为下列非穷举术语中的任意一个:服务器,本地机器;远程机器;服务器群或主机计算装置。

在一个实施例中,客户端机器240可以是虚拟机。该虚拟机可以是任何虚拟机,而在某些实施例中,该虚拟机可以是由类型1或类型2超级管理器(例如通过Citrix系统、IBM、VMware开发的超级管理器或任何其他超级管理器)管理的任何虚拟机。在某些方面,虚拟机可以由超级管理器来管理,而在有些方面,虚拟机可以通过在服务器206上执行的超级管理器或在客户端240上执行的超级管理器来管理。

某些实施例包括显示由在服务器206或其他位于远程的机器上执行的应用所生成的应用输出的客户端装置240。在这些实施例中,客户端装置240可以执行虚拟机接收器程序或应用,以在应用窗口、浏览器或其他输出窗口中显示输出。在一个示例中,应用是桌面,而在其他示例中,应用是生成或呈现桌面的应用。桌面可以包括提供用于操作系统的实例的用户界面的图形壳,本地和/或远程应用可以被集成到该图形壳中。如本文所使用的应用是在操作系统的实例(以及,可选地,也包括桌面)已被加载后执行的程序。

在某些实施例中,服务器206使用远程显示协议或其他程序向瘦客户端或在客户端上执行的远程显示应用发送数据,以呈现由在服务器206上执行的应用所生成的显示输出。瘦客户端或远程显示协议可以是下列非穷举协议列表中的任意一个:通过Florida的Ft.Lauderdale的Citrix Systems公司开发的独立计算架构(ICA)协议;或通过Washington Redmond的微软公司制成的远程桌面协议(RDP)。

远程计算环境可以包括一个以上的服务器206a-206n,使得服务器206a-206n例如在云计算环境中被逻辑分组在一起形成服务器群206。服务器群206可以包括地理分散但被逻辑分组在一起的服务器206,或彼此位置接近但被逻辑分组在一起的服务器206。在某些实施例中,服务器群206内的地理分散服务器206a-206n可以使用WAN(广域)、MAN(城域)或LAN(局域)进行通信,其中不同的地理区可以被表征为:不同大洲;洲的不同区域;不同国家;不同州;不同城市;不同校区;不同房间;或前述地理位置的任何组合。在某些实施例中,服务器群206可以作为单一实体来管理,而在其他实施例中,服务器群206可以包括多个服务器群。

在某些实施例中,服务器群可以包括执行大致类似类型的操作系统平台(例如,WINDOWS、UNIX、LINUX、iOS、ANDROID、SYMBIAN等)的服务器206。在其他实施例中,服务器群206可以包括执行第一类型操作系统平台的第一组的一个或多个服务器,以及执行第二类型操作系统平台的第二组的一个或多个服务器。

服务器206可以根据需要被配置为任何类型的服务器,例如文件服务器,应用服务器,网页服务器,代理服务器,设备,网络设备,网关,应用网关,网关服务器,虚拟服务器,部署服务器,SSL VPN服务器,防火墙,网页服务器,应用服务器或被配置为主应用服务器,执行动态目录的服务器,或提供防火墙功能、应用功能或负载平衡功能执行应用加速程序的服务器。也可以使用其他类型服务器。

某些实施例包括第一服务器106a,该服务器接收来自客户端机器240的请求,向第二服务器106b转发请求,以及对由客户端机器240利用来自第二服务器106b的响应所生成的请求做出反应。第一服务器106a可以获得可用于客户端机器240的应用的列举以及与托管在应用列举内被识别的应用的应用服务器206相关联的地址信息。第一服务器106a可随后使用网页界面对客户端的请求呈现响应,并且与客户端240直接通信以向客户端240提供对被识别应用的访问。一个或多个客户端240和/或一个或多个服务器206可以在网络230(例如网络101)上传送数据。

图2示出说明性桌面虚拟系统的高级别架构。如所示,桌面虚拟系统可以是单个服务器或多服务器系统或云系统,其包括至少一个虚拟服务器206,虚拟服务器206经配置向一个或多个客户端访问装置240提供虚拟桌面和/或虚拟应用。如本文所使用的,桌面指的是一个或多个应用可以在其中被托管和/或执行的图形环境或空间。桌面可以包括提供用于操作系统的实例的用户界面的图形壳,本地和/或远程应用可以被集成到该图形壳中。应用可以包括在操作系统的实例(以及,可选地,还有桌面)已被加载后执行的程序。每个操作系统的实例可以是物理的(例如,每个装置一个操作系统)或虚拟的(例如,在单个装置上运行的许多OS实例)。每个应用可以在本地装置上执行,或在位于远程的装置(例如,远程的)上执行。

进一步参考图3,计算机装置301可以被配置为虚拟环境中的虚拟服务器,例如单个服务器、多个服务器或云计算环境。在图3中示出的虚拟服务器301可以被部署为在图2中示出的服务器206的一个或多个实施例和/或由图2中示出的服务器206的一个或多个实施例实施,或通过其他已知的计算装置来实施。包括在虚拟服务器301中的是硬件层,其可以包括一个或多个物理盘304、一个或多个物理装置306、一个或多个物理处理器308和一个或多个物理存储器316。在某些实施例中,固件312可以被存储在物理存储器316中的存储器元件内并且可以由物理处理器308中的一个或多个执行。虚拟服务器301还可以包括操作系统314,其可以被存储在物理存储器316的存储器元件中并由物理处理器308中的一个或多个执行。更进一步,超级管理器302可以被存储在物理存储器316中的存储器元件中并可以由物理处理器308中的一个或多个执行。

在物理处理器308中的一个或多个上执行的可以是一个或多个虚拟机332A-C(一般称为332)。每个虚拟机332可以具有虚拟盘326A-C和虚拟处理器328A-C。在某些实施例中,第一虚拟机332A可以使用虚拟处理器328A执行包括工具堆栈324的控制程序320。控制程序320可以被称为控制虚拟机Dom0、Domain 0,或用于系统管理和/或控制的其他虚拟机。在某些实施例中,一个或多个虚拟机332B-C可以使用虚拟处理器328B-C执行访客操作系统330A-B。

虚拟服务器301可以包括与虚拟服务器301通信的具有一片或多片硬件的硬件层310。在某些实施例中,硬件层310可以包括一个或多个物理盘304、一个或多个物理装置306、一个或多个物理处理器308和一个或多个存储器216。物理组件304、306、308和316可以包括例如本文所述的组件中的任意一个。物理装置306可以包括例如网络接口卡、视频卡、键盘、鼠标、输入装置、监视器、显示装置、扬声器、光学驱动器、存储装置、通用串行总线连接、打印机、扫描器、网络元件(例如,路由器、防火墙、网络地址译码器、负载平衡器、虚拟专用网络(VPN)网关、动态主机配置协议(DHCP)路由器等)或连接到虚拟服务器301或与虚拟服务器301通信的任何装置。硬件层310中的物理存储器316可以包括任何类型的存储器。物理存储器316可以存储数据,并且在某些实施例中存储一个或多个程序或一组可执行指令。图3示出其中固件312被存储在虚拟服务器301的物理存储器316内的实施例。存储在物理存储器316中的程序或可执行指令可以由虚拟服务器301的一个或多个处理器308来执行。

虚拟服务器301还可以包括超级管理器302。在某些实施例中,超级管理器302可以是一种程序,其由虚拟服务器301上的处理器308来执行,以形成和管理任何数量的虚拟机332。超级管理器302可以被称为虚拟机监视器或平台虚拟软件。在某些实施例中,超级管理器302可以是监控在计算机器上执行的虚拟机的可执行指令和硬件的任何组合。超级管理器302可以是类型2的超级管理器,其中,该超级管理器在执行于虚拟服务器301上的操作系统314内执行。虚拟机随后在高于该超级管理器的级别执行。在某些实施例中,类型2超级管理器在用户操作系统的背景内执行,使得类型2超级管理器与用户的操作系统交互。在其他实施例中,在虚拟环境中的一个或多个虚拟服务器201可以替代包括类型1超级管理器(未示出)。类型1超级管理器可以通过直接访问硬件层310内的硬件和资源在虚拟服务器301上执行。也就是说,虽然类型2超级管理器302如所示通过主机操作系统314访问系统资源,但是类型1超级管理器可以直接访问所有系统资源,无需通过主机操作系统314。类型1超级管理器可以在虚拟服务器301的一个或多个物理处理器308上直接执行,并且可以包括存储在物理存储器316中的程序数据。

在某些实施例中,超级管理器302可以向操作系统330或控制程序320提供虚拟资源,操作系统330或控制程序320以模拟直接访问系统资源的操作系统330或控制程序320的方式在虚拟机332上执行。系统资源可以包括但不限于物理装置306、物理盘304、物理处理器308、物理存储器316和包括在虚拟服务器301硬件层310中的任何其他组件。超级管理器302可以被用于仿真虚拟硬件、分区物理硬件、虚拟物理硬件和/或执行提供访问计算环境的虚拟机。在其他实施例中,超级管理器302控制用于在虚拟服务器301上执行的虚拟机332的处理器调度和存储器分区。超级管理器302可以包括由Palo Alto,California的VMWare公司制造的超级管理器;XEN超级管理器,其是其开发由开源Xen.org社区监督的开源产品;由微软提供的HyperV、VirtualServer或虚拟PC超级管理器或者其他超级管理器。在某些实施例中,虚拟服务器301执行形成虚拟机平台的超级管理器302,访客操作系统可以在该虚拟机平台上执行。在这些实施例中,虚拟服务器301可以被称为主机服务器。此类虚拟服务器的示例是Fort Lauderdale,FL的Citrix Systems公司提供的XEN SERVER。

超级管理器302可以形成访客操作系统330在其中执行的一个或多个虚拟机332B-C(一般被称为332)。在某些实施例中,超级管理器302可以加载虚拟机图像以形成虚拟机。在其他实施例中,超级管理器302可以在虚拟机332内执行访客操作系统330。在其他实施例中,虚拟机332可以执行访客操作系统330。

除了形成虚拟机332以外,超级管理器302可以控制至少一个虚拟机332的执行。在其他实施例中,超级管理器302可以向至少一个虚拟机332呈现由虚拟服务器301提供的至少一个硬件资源(例如,硬件层310内可用的任何硬件资源)的抽象化。在其他实施例中,超级管理器302可以控制其中虚拟机332访问虚拟服务器301中可用的物理处理器308的方式。控制对物理处理器308的访问可以包括确定虚拟机332是否应当访问处理器308,以及物理处理器的性能如何向虚拟机332呈现。

如图3所示,虚拟服务器301可以托管或执行一个或多个虚拟机332。虚拟机332是一组可执行指令,当该虚拟机被处理器308执行时,该一组可执行指令初始化物理计算机的运行,使得虚拟机332更像物理计算装置执行程序和进程。虽然图3示出其中虚拟服务器301托管三个虚拟机332的实施例,但是在其他实施例中,虚拟服务器301可以托管任何数量的虚拟机332。在某些实施例中,超级管理器302向每个虚拟机332提供该虚拟机332可用的物理硬件、存储器、处理器和其他系统资源的独特虚拟视图。在某些实施例中,该独特虚拟视图可以基于虚拟机允许、一个或多个虚拟机识别符的策略引擎的应用、访问虚拟机的用户、在虚拟机上执行的应用、由虚拟机访问的网络中的一个或多个,或任何其他期望的标准。例如,超级管理器302可以形成一个或多个非安全的虚拟机332和一个或多个安全的虚拟机332。非安全的虚拟机332会被阻止访问安全虚拟机332可能被允许访问的资源、硬件、存储器位置和程序。在其他实施例中,超级管理器302可以向每个虚拟机332提供该虚拟机332可用的物理硬件、存储器、处理器和其他系统资源的大致相似的虚拟视图。

每个虚拟机332可以包括虚拟盘326A-C(一般称为326)和虚拟处理器328A-C(一般称为328)。在某些实施例中,虚拟盘326是虚拟服务器301的一个或多个物理盘304或虚拟服务器301的一个或多个物理盘304的一部分的虚拟化视图。物理盘304的虚拟化视图可以由超级管理器302生成、提供和管理。在某些实施例中,超级管理器302向每个虚拟机332提供物理盘304的独特视图。因此,在这些实施例中,当与其他虚拟视图326比较时,包括在每个虚拟机332中的特定虚拟盘326可以是独特的。

虚拟处理器328可以是虚拟服务器301的一个或多个物理处理器308的虚拟化视图。在某些实施例中,物理处理器308的虚拟化视图可以由超级管理器302生成、提供和管理。在某些实施例中,虚拟处理器328几乎具有至少一个物理处理器308的全部相同特征。在其他实施例中,虚拟处理器308提供物理处理器308的更改视图,使得虚拟处理器328的特性中的至少某些特性不同于对应的物理处理器308的特性。

通过进一步参考图4,本文所述的某些方面可以在基于云的环境中实施。图4示出云计算环境(或云系统)400的示例。从图4可以看出,客户端计算机411-414可以与云管理服务器410通信以访问云系统的计算资源(例如,主机服务器403、存储资源404和网络资源405)。

管理服务器410可以在一个或多个物理服务器上实施。管理服务器410除了可以运行其他软件以外,还可以运行例如Ft.Lauderdale,FL Citrix Systems公司的CLOUDSTACK或OPENSTACK。管理服务器410可以管理各种计算资源,该计算资源包括云硬件和软件资源,例如主机计算机403、数据存储装置404和联网装置405。云硬件和软件资源可以包括专用和/或公共组件。例如,云可以被配置为由一个或多个特定客户或客户端计算机411-414使用和/或在专用网络上使用的专用云。在其他实施例中,公共云或混合的公共-专用云可以由在开放或混合网络上的其他客户使用。

管理服务器410可以经配置提供用户界面,云操作员和云客户可以通过该用户界面与云系统交互。例如,管理服务器410可以向一组API和/或一个或多个云操作员控制台应用(例如,基于独立应用的网页)提供用户界面以允许云操作员管理云资源、配置虚拟层、管理客户账户并执行其他云管理任务。管理服务器410还可以包括具有用户界面的一组API和/或一个或多个客户控制台应用,该用户界面经配置经由客户端计算机411-414接收来自终端用户的云计算请求,例如形成、更改或破坏云内的虚拟机的请求。客户端计算机411-414可以经由互联网或其他通信网络连接到管理服务器410,并且可以请求访问由管理服务器410管理的计算资源中的一个或多个计算资源。响应于客户端请求,管理服务器410可以包括资源管理器,该资源管理器经配置基于客户端请求选择和提供云系统的硬件层中的物理资源。例如,管理服务器410和云系统的另外组件可以经配置在网络(例如,互联网)上在客户端计算机411-414为客户提供、形成和管理虚拟机和它们的运行环境(例如,超级管理器、存储资源、由网络单元提供的服务等),向客户提供计算资源、数据存储服务、联网性能以及计算机平台和应用支持。云系统还可以经配置提供各种指定服务,各种指定服务包括安全系统、开发环境、用户界面等。

特定客户端411-414可以例如与代表相同终端用户或附属于相同公司或组织的不同用户的形成虚拟机的不同客户端计算机相关。在其他示例中,特定客户端411-414可以与例如附属于不同公司或组织的用户不相关。对于不相关的客户端,虚拟机上的信息或任何一个用户的存储可以相对于其他用户被隐藏。

现在参考云计算环境的物理硬件层,可用区401-402(或各区)可以指的是布置的一组物理计算资源。在整个云计算资源中的各区可以与其他区地理分隔。例如,区401可以是位于California(加利福利亚州)的第一云数据中心,以及区402可以是位于Florida的第二云数据中心。管理服务器410可以位于各可用区中的一个可用区或分开的位置。每个区可以包括通过网关与在该区外面的装置(诸如管理服务器410)交互的内部网络。云的终端用户(例如,客户端411-414)可能或可能未意识到各区之间的区别。例如,终端用户可以请求形成具有指定量的存储器、处理能力和网络能力的虚拟机。管理服务器410可以响应于用户的请求并可以分配资源以形成虚拟机,而无需用户知道该虚拟机是否被使用从区401到区402的资源来形成。在其他示例中,云系统可以允许终端用户请求虚拟机(或其他云资源)被分配在指定区中或区内的指定资源403-405上。

在这个示例中,每个区401-402可以包括各种物理硬件组件(或计算资源)403-405的布置,所述各种物理硬件组件包括例如,物理托管资源(或处理资源)、物理网络资源、物理存储资源、交换机、以及可以用于向客户提供云计算服务的另外硬件资源。在云区401-402中的物理托管资源可以包括一个或多个计算机服务器403,诸如上述的可以经配置形成和托管虚拟机实例的虚拟服务器301。在云区401或402中的物理网络资源可以包括一个或多个网络元件405(例如,网络服务供应商),其包括经配置向云客户提供网络服务的硬件和/或软件,诸如防火墙、网络地址译码器、负载平衡器、虚拟专用网络(VPN)网关、动态主机配置协议(DHCP)路由器等等。在云区401-402中的存储资源可以包括存储盘(例如,固态驱动器(SSD)、硬磁盘等)以及其他存储装置。

在图4中示出的示例云计算环境还可以包括虚拟层(例如,如图1-3所示),该虚拟层具有经配置形成和管理虚拟机和使用云中的物理资源向客户提供其他服务的另外硬件和/或软件资源。虚拟层可以包括如上面在图3中所述的超级管理器以及提供网络虚拟、存储虚拟等的其他组件。该虚拟层可以作为与物理资源层分开的层,或可以与物理资源层共享相同硬件和/或软件资源中的部分相同或全部相同的硬件和/或软件资源。例如,虚拟层可以包括被安装在带有物理计算资源的虚拟服务器403中的每个虚拟服务器403中的超级管理器。可以可替代地使用已知的云系统,例如WINDOWS AZURE(Redmond Washington的微软公司),AMAZON EC2(Seattle,Washington的Amazon.com公司),IBM BLUE CLOUD(Armonk,New York的IBM公司)或其他云系统。

企业移动管理架构

图5表示用在BYOD环境中的企业移动技术架构500。该架构允许移动装置502的用户从移动装置502访问企业或个人资源两方面并使用移动装置502用于个人用途。用户可以使用由该用户购买的移动装置502或由企业向用户提供的移动装置502访问此类企业资源504或企业服务508。用户可以使用移动装置502仅用于业务用途或用于业务和个人用途。移动装置可以运行iOS操作系统和安卓操作系统或类似操作系统。企业可以选择实施管理移动装置504的策略。该策略可以通过防火墙或网关以移动装置可以被识别、保障或安全验证并提供选择性访问或全部访问企业资源的方式来植入。该策略可以是移动装置管理策略、移动应用管理策略、移动数据管理策略或移动装置、应用和数据管理策略的某些组合。通过移动装置管理策略的应用来管理的移动装置504可以被称为被管理装置或登记装置。

移动装置的操作系统可以被划分为管理分区510和未管理分区512。管理分区510可以具有将其应用使运行在管理分区上的应用和存储在管理分区中的数据安全的策略。运行在管理分区上的应用可以是安全应用。在其他实施例中,所有应用可以根据从应用分开接收的一组一个或多个策略文件来执行,并且当应用在装置上执行时,所述策略文件定义一个或多个安全参数、特征、资源限制和/或由移动装置管理系统执行的其他访问控制。通过根据他们相应的策略文件来运行,可以允许或限制每个应用与一个或多个其他应用和/或资源通信,从而形成虚拟分区。因此,如本文所使用的,分区可以指的是存储器的物理分区部分(物理分区)、存储器的逻辑分区部分(逻辑分区)和/或如本文所述由于跨多个应用执行一个或多个策略和/或策略文件所形成的虚拟分区(虚拟分区)。换一种表述,通过在被管理的应用上执行策略,这些被管理应用可以被限制仅能与其他被管理应用和值得信任的企业资源通信,从而形成未管理应用和装置难以渗透的虚拟分区。

安全应用可以是电子邮件应用、网页浏览应用、软件即服务(SaaS)访问应用、Windows应用程序访问应用等。安全应用可以是安全本地应用514,由安全应用启动器518执行的安全远程应用522,由安全应用启动器518执行的虚拟应用526等。安全本地应用514可以由安全应用包装器520来包装。安全应用包装器520可以包括集成策略,当在装置上执行安全本地应用时,该集成策略在移动装置502上执行。安全应用包装器520可以包括将在移动装置502上运行的安全本地应用514指向在企业托管的资源的元数据,在该企业该安全本地应用514可以要求完成在执行安全本地应用514时请求的任务。由安全应用启动器518执行的安全远程应用522可以被在安全应用启动器应用518内执行。由安全应用启动器518执行的虚拟应用526可以利用在企业资源504的移动装置502上的资源等。移动装置502上由安全应用启动器518所执行的虚拟应用526所使用的资源可以包括用户交互资源、处理资源等。用户交互资源可以被用于收集和传送键盘输入、鼠标输入、照相机输入、触觉输入、音频输入、视觉输入、手势输入等。处理资源可以用于呈现用户界面、处理从企业资源504接收的数据等。在企业资源504由安全应用启动器518所执行的虚拟应用526所使用的资源可以包括用户界面生成资源、处理资源等。用户界面生成资源可以用于组装用户界面、更改用户界面、更新用户界面等。处理资源可以用于形成信息、读取信息、更新信息、删除信息等。例如,虚拟应用可以记录与GUI相关联的用户交互并将它们传送至服务器应用,其中该服务器应用将把用户交互数据用作在服务器上运行的应用的输入。在这种布置中,企业可以选择以在服务器侧保持应用以及与该应用相关联的数据、文件等。虽然企业可以根据本文所述的原理通过将某些应用安全部署在移动装置上来选择“移动化(mobilize)”该某些应用,但是,这种布置也可以被选择用于特定应用。例如,虽然某些应用可以安全用在移动装置上,但是其他应用可能未准备或适合用于部署在移动装置上,因此,企业可以选择通过虚拟技术向移动用户提供对未准备应用的访问。作为另一示例,企业可能具有带有其中定制移动装置的应用将非常难或相反不合需要的大型和复杂数据集的大型复杂应用(例如,物料资源规划应用),因此,企业可以选择通过虚拟技术提供对应用的访问。作为又一示例,企业可能具有保持高度安全数据的应用(例如,人力资源数据,客户数据,工程数据),该企业可以认为所述应用甚至对安全的移动环境也是太敏感,因此,企业可以选择使用虚拟技术允许移动装置访问此类应用和数据。企业可能选择在移动装置上提供完全安全和完全功能两者的应用以及虚拟应用,以允许访问认为更适合在服务器侧运行的应用。在实施例中,虚拟应用可以在移动电话上的安全存储位置中的一个安全存储位置存储某些数据、文件等。例如,企业可以选择允许特定信息被存储在电话上而不允许其他信息被存储在电话上。

如本文所述,结合虚拟应用,移动装置可以具有经设计呈现GUI并随后记录用户与GUI交互的虚拟应用。应用可以将用户交互传送到由服务器侧应用所使用的服务器侧作为用户与该应用的交互。作为响应,服务器侧上的应用可以向移动装置回传新GUI。例如,新GUI可以是静态页面、动态页面、动画等,从而提供对位于远程资源的访问。

运行在管理分区上的应用可以是稳定的应用。稳定的应用可以由装置管理器524来管理。装置管理器524可以监视稳定的应用,并且如果在该稳定应用中产生的发现和解决问题的技术未被用于发现和解决问题,则利用此类技术。

安全应用可以访问存储在移动装置的管理分区510的安全数据容器528中的数据。在安全数据容器中的安全数据可以由安全包装的应用514、由安全应用启动器522执行的应用、由安全应用启动器522执行的虚拟应用526等访问。存储在安全数据容器528中的数据可以包括文件、数据库等。存储在安全数据容器528中的数据可以包括被限制在特定安全应用530、在安全应用532之间共享的数据等。被限制在安全应用的数据可以包括一般安全数据534和高度安全数据538。一般安全数据可以使用强加密(如高级加密标准(AES)128位加密)的形式等,而高度安全数据538可以使用非常强的加密(如AES 256位加密)的形式。在从装置管理器524收到命令时,存储在安全数据容器528中的数据可以从该装置删除。安全应用可以具有双模式选项540。双模式选项540可以向用户呈现以非安全模式或非管理模式运行安全应用的选项。在非安全或非管理模式中,安全应用可以访问存储在移动装置502的非管理分区512上的非安全数据容器542中的数据。存储在非安全数据容器中的数据可以是个人数据544。存储在非安全数据容器542中的数据还可以由运行在移动装置502的非管理分区512上的非安全应用548访问。当存储在安全数据容器528中的数据被从移动装置502删除时,存储在非安全数据容器542中的数据可以保留在移动装置502上。企业可能想从移动装置删除该企业拥有、许可或控制的选定的或全部数据、文件和/或应用(企业数据),而留下或以其他方式保存用户所拥有、许可或控制的个人数据、文件和/或应用(个人数据)。这个操作可以被称为选择性擦除。利用根据本文所述的各方面安排的企业和个人数据,企业可以执行选择性擦除。

移动装置可以将在企业的企业资源504和企业服务508连接到公共互联网548等。移动装置可以通过虚拟专用网络连接(诸如例如微VPN或指定应用VPN)连接到企业资源504和企业服务508。虚拟专用网络连接可以指定用于移动装置上的特定应用550、特定服务、特定安全区等552。例如,电话的安全区中的包装应用中的每个包装应用可以通过指定应用VPN访问企业资源,使得对VPN的访问将基于与该应用相关联的属性(可能的话,结合用户或装置属性信息)来授权。虚拟专用网络连接可以携带微软交换流量、微软活动目录流量、HTTP流量、HTTPS流量、应用管理流量等。虚拟专用网络连接可以支持并启用单点登录认证过程554。单点登录过程可以允许用户提供单一的一套认证凭证,该认证凭证随后被认证服务558确认。认证服务558可以随后向用户授权访问多个企业资源504,而无需用户向每个单独的企业资源504提供认证凭证。

虚拟专用网络连接可以由接入网关560建立和管理。接入网关560可以包括管理、加速并提高向移动装置502输送企业资源504的性能增强特征。接入网关还可以再路由从移动装置502到公共互联网548的流量,允许移动装置502访问在公共互联网548上运行的公用和非安全的应用。移动装置可以经由传输网络562连接到接入网关。传输网络562可以是有线网络、无线网络、云网络、局域网、城域网、广域网、公共网络、专用网络等。

企业资源504可以包括电子邮件服务器、文件共享服务器、SaaS应用、网页应用服务器、Windows应用服务器等。电子邮件服务器可以包括交换服务器,Lotus Notes服务器等。文件共享服务器可以包括共享文件服务器等。SaaS应用可以包括Salesforce等。Windows应用服务器可以包括经构建提供旨在本地Windows操作系统上运行的应用的任何应用服务器等。企业资源504可以是内建式(premise-based)资源、基于云的资源等。企业资源504可以由移动装置502直接访问或通过接入网关560来访问。企业资源504可以由移动装置502经由传输网络562来访问。传输网络562可以是有线网络、无线网络、云网络、局域网、城域网、广域网、公共网络、专用网络等。

企业服务508可以包括认证服务558、威胁检测服务564、装置管理器服务524、文件共享服务568、策略管理器服务570、社会整合服务572、应用控制器服务574等。认证服务558可以包括用户认证服务、装置认证服务、应用认证服务、数据认证服务等。认证服务558可以使用证书。证书可以被企业资源504等存储在移动装置502上。存储在移动装置502上的证书可以被存储在移动装置上的加密位置中,证书可以被临时存储在移动装置502上用于在认证时使用,等等。威胁检测服务564可以包括入侵检测服务、未经授权的访问尝试检测服务等。未经授权的访问尝试检测服务可以包括未经授权尝试访问装置、应用、数据等。装置管理服务524可以包括配置、供应、安全、支持、监视、报告和停止使用服务。文件共享服务568可以包括文件共享服务、文件存储服务、文件协同服务等。策略管理器服务570可以包括装置策略管理器服务、应用策略管理器服务、数据策略管理器服务等。社会整合服务572可以包括联系人整合服务,协同服务,与社交网络(诸如Facebook、Twitter和Linkedln)的整合等。应用控制器服务574可以包括管理服务、供应服务、部署服务、分配服务、撤销服务、包装服务等。

企业移动技术架构500可以包括应用商店578。应用商店578可以包括打开的应用580、预包装应用582等。应用可以从应用控制器574被移置到应用商店578中。应用商店578可以由移动装置502通过接入网关560、通过公共互联网548等来访问。应用商店可以被直观提供并易于使用用户界面。应用商店578可以提供对软件开发工具包584的访问。软件开发工具包584可以通过如本说明书中先前描述的包装应用向用户提供使用户选择的应用安全的能力。使用软件开发工具包584进行包装的应用然后可以通过使用应用控制器574将其移置到应用商店578中来提供给移动装置502。

企业移动技术架构500可以包括管理和分析能力588。管理和分析能力588可以提供有关如何使用资源、多久使用资源等的信息。资源可以包括装置、应用、数据等。如何使用资源可以包括什么装置下载什么应用、什么应用访问什么数据等。多久使用资源可以包括应用多久被下载、指定数据集被应用访问多少次等。

图6是另一说明性企业移动管理系统600。为了简化起见,上面参考图5所述的移动管理系统500的组件中的某些组件已被省略。图6中所示的系统600的架构在许多方面类似于上面参考图5所述的系统500的架构,并且可以包括未在上面提到的另外特征。

在此情况下,左手侧表示具有客户端代理604的登记移动装置602,其与网关服务器606(该网关服务器包括接入网关和应用控制器特征)交互以访问各种企业资源608和服务609,诸如在上面右手侧所示的交换、共享点、PKI资源、Kerberos资源、证书发行服务。虽然未具体示出,移动装置602还可以与企业应用商店交互用于选择和下载应用。

客户端代理604充当托管在企业数据中心中的Windows应用/桌面的UI(用户界面)中间件,该Windows应用/桌面被使用HDX/ICA显示远程协议来访问。客户端代理604还支持本地应用(诸如本地iOS或安卓应用)在移动装置602上的安装和管理。例如,在上面图中示出的被管理应用610(VPN(诸如指定应用策略控制VPN)可以连接到的邮件、浏览器、包装应用、安全容器)全部是在该装置上本地执行的本地应用。这种架构的客户端代理604和应用管理框架起提供策略驱动管理能力和特征(诸如连接和SSO(单点登录)到企业资源/服务608)的作用。客户端代理604处理对企业(通常对具有SSO的接入网关(AG))、对其他网关服务器组件的主要用户认证。客户端代理604从网关服务器606获得策略以控制移动装置602上的被管理应用610的行为。

本地应用610与客户端代理604之间的安全IPC链接612表示管理通道,该管理通道允许客户端代理提供通过“包装”每个应用的应用管理框架614执行的策略。IPC通道612也允许客户端代理604提供能够连接和SSO到企业资源608的凭证和认证信息。最后,IPC通道612允许应用管理框架614调用由客户端代理604所实施的用户界面特征,诸如在线认证和离线认证。

客户端代理604与网关服务器606之间的通信基本上是来自包装每个本地被管理应用610的应用管理框架614的管理通道的延伸。应用管理框架614从客户端代理604请求策略信息,客户端代理604相应从网关服务器606请求该策略信息。应用管理框架614请求认证,并且客户端代理604将其登录到网关服务器606(也被称为NetScaler接入网关)的网关服务部分中。如下面将更全面解释的,客户端代理604还可以调用在网关服务器606上的支持服务,这可以产生获得用于本地数据仓库616的加密密钥的输入材料,或提供可以允许对KPI受保护资源直接认证的客户端证书。

更详细地,应用管理框架614“包装”每个被管理应用610。这可以经由显式构建步骤或经由后构建处理步骤来并入。应用管理框架614可以在应用610的第一启动上与客户端代理604“配对”以初始化安全IPC通道并获得用于该应用的策略。应用管理框架614可以执行本地应用的策略的相应部分,诸如客户端代理登录的依赖关系和限制如何可以使用本地OS服务或本地OS服务如何与应用610交互的遏制策略中某些遏制策略。

应用管理框架614可以使用客户端代理604在安全IPC通道上所提供的服务以促进认证和内部网络访问。专用和共享数据仓库616(容器)的密钥管理也可以通过被管理应用610与客户端代理604之间的适当交互来管理。仓库616可以仅在线认证后是可用的,或如果策略允许,可以在离线认证后可用。仓库616的第一次使用可以要求在线认证,并且离线访问可以在再次要求在线认证前被限制在大多数策略更新周期。

对内部资源的网络访问可以通过接入网关606从独立的被管理应用610直接发生。应用管理框架614负责代表每个应用610精心安排网络访问。通过提供遵循在线认证获得的合适时间限制二次凭证,客户端代理604可以促进这些网络连接。可以使用多种网络连接模式,诸如逆向网页代理连接以及端到端VPN式隧道618。

邮件和浏览器管理应用610具有特殊状态并且可以使用可能一般不适合随机包装应用的设备。例如,邮件应用可以使用特殊背景网络访问机制,该访问机制允许邮件应用在延长的时间段内访问交换而无需完全AG登录。浏览器应用可以使用多种专用数据仓库以分隔不同种类的数据。

这种架构支持各种其他安全特征的并入。例如,在某些情况下,网关服务器606(包括其网关服务)将不需要验证AD密码。这可以留给企业来判断AD密码是否用作某些情况下的某些用户的认证因素。如果用户在线或离线(即,连接到网络或未连接到网络),可以使用不同的认证方法。

加强认证的特征在于网关服务器606可以识别经允许访问需要强认证的高度机密数据的被管理本地应用610,并且确保对这些应用的访问仅在执行适当的认证后被允许,即使这意味着在先前的较弱登录级别后需要再次认证用户。

这种解决方案的另一安全特征是移动装置602上的数据仓库616(容器)的加密。仓库616可以被加密,使得所有装置上的数据(包括文件、数据库和配置)被保护。对于在线仓库,密钥可以被存储在服务器(网关服务器606)上,以及对于离线仓库,密钥的本地副本可以通过用户密码来保护。当数据被本地存储在装置602上的安全容器616中时,可以优选使用最小的AES 256加密算法。

还可以实施其他安全容器特征。例如,登录特征可以被包括,其中,发生在应用610内的所有安全事件被记录并报告给后端。可以支持数据擦除,诸如如果应用610检测到篡改,则可以用随机数据改写相关的加密密钥,没有在文件系统上留下用户数据被破坏的提示。屏幕截图保护是另一特征,其中,应用可以防止任何数据被存储在屏幕截图中。例如,密钥窗口的隐藏属性可以被设置为“是”。这可能会导致屏幕上当前显示的无论什么内容都被隐藏,产生其中任何内容将通常驻留的空白屏幕截图。

可以防止本地数据转移,诸如通过防止任何数据被本地转移到应用容器外面,例如通过复制本地数据或发送本地数据到外部应用。可以运行键盘缓存特征以禁用敏感文本字段的自动更正特征。SSL证书验证可以是可运行的,因此应用具体验证服务器的SSL证书,而不是将其存储在密钥链中。可以使用加密密钥生成特征,使得用于加密装置上的数据的密钥使用用户提供的密码来生成(如果需要脱机访问的话)。如果不需要离线访问,则可以与随机生成并存储在服务器侧上的另一密钥异或(XORed)。可以运行密钥导出功能,使得从用户密码生成的密钥使用KDF(密钥导出功能,特别是PBKDF2)而不是形成它的密码散列。密码散列使得密钥易受蛮力或字典攻击。

此外,一个或多个初始化向量可用于加密方法。初始化向量将导致相同加密数据的多个副本以产生不同的密文输出,从而阻止重放和密码攻击两者。如果用于加密数据的特定初始化向量是未知的,则这也将防止攻击者甚至用偷来的加密密钥来解密任何数据。此外,认证然后可以使用解密,其中,应用数据只在用户已在应用内被认证后才被解密。另一特征可能涉及到存储器中的敏感数据,只有当需要敏感数据时,该敏感数据会被保存在存储器中(而不是在磁盘中)。例如,登录凭证可以在登录后被从存储器擦除,并且加密密钥和在对象C的实例变量中的其他数据不被存储,因为它们可以很容易被参考。相反,可以向存储器手动分配这些加密密钥和数据。

可以实施休止超时,其中在策略定义的休止期后,用户对话被终止。

可以以其他方式阻止从应用管理框架614泄露数据。例如,当应用610被放在背景中,存储器可以在预定时间段(可配置)后被清除。当被背景化时,可以对应用的最后显示屏幕拍快照以加快前景化过程。屏幕截图可能包含机密数据,因此应被清除。

另一安全特征涉及使用OTP(一次性密码)620,无需使用访问一个或多个应用的AD(活动目录)622密码。在某些情况下,某些用户不知道(或不允许知道)他们的AD密码,那么这些用户可以使用OTP620(诸如通过使用像安全ID的硬件OTP系统(OTP也可以由例如Entrust或Gemalto的不同的供应商来提供))来认证。在某些情况下,在用户用用户ID认证后,文本被用OTP 620发送给该用户。在某些情况下,这仅在在线使用时,利用单一字段的提示来实施。

对于经由企业策略允许离线使用的那些应用610,离线密码可以被实施用于离线认证。例如,企业可能想要企业应用被以这种方式被访问。在此情况下,客户端代理604可以要求用户设置自定义的离线密码,并且不使用AD密码。尽管这些要求可以被更改,但是网关服务器606可以提供策略以控制和执行关于最小长度、字符类组成和密码年限的密码标准(诸如通过标准的Windows服务器密码复杂性要求所描述的)。

另一特征涉及到作为二次凭证用于特定应用610的客户端侧证书的启用(经由应用管理框架微VPN特征用于访问KPI受保护网页资源的目的)。例如,应用可以利用此类证书。在此情况下,可以支持使用ActiveSync协议的基于证书的认证,其中,来自客户端代理604的证书可以被网关服务器606检索并用在密钥链中。每个被管理应用可以具有通过在网关服务器606中定义的标签来识别的一个关联的客户端证书。

网关服务器606可以与企业特定目的网页服务交互,以支持客户端证书的发行,以允许相应的被管理应用认证内部PKI受保护资源。

客户端代理604和应用管理框架614可以被加强以支持获得和使用用于认证内部PKI受保护网络资源的客户端证书。可以支持一个以上的证书,诸如匹配各种安全级别和/或分隔要求的证书。该证书可以被邮件和浏览器管理应用使用,并最终被随机包装的应用使用(假设那些应用使用网页服务方式的通信模式,其中这对于调解http请求的应用管理框架是合理的)。

在iOS上的应用管理客户端证书支持可能依赖每次使用期间,将PKCS12BLOB(二进制大对象)输入到每个被管理应用的iOS密钥链中。应用管理框架客户端证书支持可以使用具有专用存储器内密钥存储的HTTPS实施。客户端证书将不再存在于iOS密钥链中,并且除了存在于潜在的受强保护的“只在线”数据值中以外,客户端证书将不会被存续。

通过要求移动装置602被企业认证,相互SSL也可以被实施以提供另外的安全,并且反之亦然。也可以实施用于对网关服务器606认证的虚拟智能卡。

受限和完全Kerberos支持两者可以是另外的特征。完全支持特征涉及使用AD密码或受信的客户端证书进行完全Kerberos登录到活动目录(AD)622,并获得Kerberos服务票据以对HTTP协商认证询问做出响应的能力。受限的支持特征涉及Citrix接入网关企业版本(AGEE)中的受约束的委托,其中,AGEE支持调用Kerberos协议传输,因此,它可获得和使用Kerberos服务票据(经历受约束的委托)以对HTTP协商询问做出响应。这种机制以逆向网页代理服务器(也可以叫CVPN)模式工作,并且当http(但不是https)连接被代理时,以VPN和MicroVPN模式工作。

另一特征涉及应用容器锁定和擦除,这可在越狱和获取了管理员权限(root)检测时自动出现,并且作为来自管理控制台的推送命令出现,并且甚至当应用610不在运行时可以包括远程擦除特征。

可以支持企业应用和应用控制器的多站点架构或配置,该多站点架构或配置允许用户在失效的情况下从几个不同位置中的一个位置得到服务。

在某些情况下,被管理的应用610可以被允许经由API(示例OpenSSL)访问证书和专用密钥。企业的受信被管理应用610可以被允许利用应用的客户端证书和专用密钥来执行指定的公共密钥操作。诸如当应用像浏览器一样表现并且不需要证书访问时,当应用读取“我是谁”的证书时,当应用使用证书构建安全对话令牌时,以及当应用使用专用密钥用于重要数据(例如,事务日志)的数字签名或用于临时数据加密时,各种使用情况可以被识别并且被相应处理。

说明性实施例

图7示出电子环境,该电子环境允许电子移动装置经由依据应用的策略控制的VPN隧道技术安全访问计算机化的资源。云表示允许电子移动装置与远程接入点通信的通信介质(例如,无线计算机网络,互联网,蜂窝网络、它们的组合,等等)。

图8示出合适移动电子装置的一个实施例的具体细节,与安全访问例如如图7中所示的那些计算机化资源有关的各方面可以在该电子移动装置上实践。如所示,除了其他事情以外,电子移动装置还可以包括用于用户输入/输出的用户界面、存储信息的存储器和处理线路。合适移动装置的示例包括智能电话、平板电脑、电子笔记本,等等。而且,各个指定平台适合使用,诸如那些运行的由Apple Computer提供的iOS、Google提供的Android以及由Microsoft提供的Windows是适合的。

在运行期间,移动装置在指定应用与远程接入点(例如,VPN服务器,网关,单独的计算机等)之间构建依据应用的策略控制的VPN式连接。

图9示出当根据存储在移动装置的存储器中的各种软件构造运行时,通过移动装置的处理线路来执行的一种方法。特别地,该方法允许移动装置经由应用指定隧道访问计算机化资源。

当移动装置被直接连接到专用无线网络或LAN时,对企业服务器的访问不是问题。但是当用户装置被连接到外部网络(诸如3G/4G网络、基于住宅的WiFi)或其他的公共接入点时,在没有VPN的情况下对公司内部网的透明网络访问是有问题的。然而,因为系统级VPN统一给出对所有移动装置应用的访问,故被管理的企业应用的更好解决方案是能够策略控制的依据应用的VPN技术。在此情况下,仅基于每个职员在组织内的角色,将VPN访问授权给指定用户和移动电子装置上的各应用。非企业应用通过这个依据应用的VPN连接不会意识到或访问公司内部网内的资源。

许多移动资源管理(MRM)解决方案(在本文也被称为EMM、MDM和MAM,它们中的每个可以包括MRM)如提供此类接入的机制提供虚拟专用网络(VPN)解决方案。不过,传统的VPN具有在移动装置上运行的所有应用被统一授权对公司内部网的访问的下降趋势。用于访问企业资源的移动装置是员工自己的并且未登陆到MDM服务器,并且因此并不受公司IT部门严格控制或管理这一情况日益增加。同样地,当使用传统的VPN软件时,有在获得访问公司内部网的职员自己的移动装置上运行恶意软件和其他未经授权的软件的真实危险。传统的系统级VPN解决方案未在受信应用和非受信应用之间进行区分。通过在依据应用的策略控制的VPN解决方案中进行构建,企业能够确保只有在具体配置的接入方案中针对授权用户的授权应用能够从外部网络访问公司内部网资源。

另外,通过调整策略文件,企业能够做出关于是否允许MicroVPN、或来自指定被管理应用的隧道数据上传到企业服务器和从企业服务器下载、不允许MicroVPN或来自指定被管理应用的隧道数据上传到企业服务器和从企业服务器下载的策略决定。另外,企业能够在不同特征级控制装置的网络接入。例如,可以用于应用的一个策略是让该应用从包括外部网络的任何网络连接到企业资源。指定应用只能经由微VPN隧道访问企业资源的另一策略可以被使用。VPN隧道在本文也可以被称为VPN连接。

在步骤901,移动装置可以执行企业认证,并且可以包括认证用户和/或移动装置。可以采用各种认证技术,诸如单点登录(SSO)凭证,并且某些技术可以要求用户提供用户名和/或密码或其他形式的凭证。另外,移动装置和/或接入网关可以基于策略信息和/或基于与用户/装置相关联的凭证拦截网络流量,和/或可以根据观察网络级对话对认证询问做出响应。在某些实施例中,移动装置通常被询问以认证用户的公司标识以及密码和该公司策略所规定的其他因素。

在某些布置中,移动装置可以从企业接收策略信息,如在步骤903所说明的(例如,该方法从步骤901进行到步骤903)。在某些布置中,移动装置可以成功认证后在第一时间请求策略信息。在其他布置中,移动装置可以在每次开始管理应用的执行时请求策略信息。企业的访问管理器组件可以向移动装置传送策略信息(例如,当用户请求访问企业资源时由企业管理员已为这个用户建立的策略)。

另外,策略信息可以包括指定给应用的一个或多个策略(例如,只针对该应用指定网络访问)。应用指定策略可以被缓存(例如,在安全容器中)并被定期更新以确保符合管理员设定。这些应用指定策略可以只在某时间进一步限制来自某网络、来自某地理位置并且只来自符合全部组织安全策略的装置对企业资源的访问。

该策略信息也可以包括约束VPN隧道或提供VPN隧道的特权的一个或多个策略。例如,策略信息可以定义待应用于经由隧道传送的数据的加密类型或级别。策略可以指定应用只可以经由VPN隧道(包括依据应用的策略控制的VPN隧道)访问企业资源。

该策略信息可以包括约束什么数据流量应当使用VPN隧道的一个或多个策略。例如,策略可以包括可以被定义为打开或关闭的隧道设定。当分裂隧道设定被设定为打开时,接入网关可以控制什么数据必须经由应用指定VPN隧道传送以及什么数据可以以其他方式来传送(例如,正常VPN连接或使用非安全连接)。在某些实施例中,接入网关可以基于数据的目的地(例如,数据被传送到的目的地的统一资源定位器(URL))或被访问资源来做出确定。当接入网关传送策略信息或当移动装置试图发送数据或访问资源时,该接入网关可以向移动装置通知其确定。

该策略信息可以包括约束需要什么认证信息来访问资源或形成应用指定VPN隧道的一个或多个策略。不同的策略可以要求不同的认证级别,诸如当试图访问高度敏感的数据/资源时,要求比访问其他数据/资源所需的认证过程更高的安全认证过程。例如,策略可以指定在能访问资源或能形成专用VPN隧道之前必须从被管理装置收到的有效票证。另选地,该策略也可以在形成专用VPN隧道之前,指定被管理装置进行认证过程(例如,重复初始的认证过程)。除了指定的认证过程之外,该策略也可以要求被管理装置在访问资源或形成专用VPN隧道之前提供有效用户名和密码。可以由策略指定的其他形式的认证包括多因素方案、单因素方案、生物识别方案、密码方案、基于危险的认证方案等。如果完成后允许被管理装置具有另外的特权,诸如更长有效期访问高度保护的资源或访问票证,则该策略也可以指定可选的认证方案。

在某些变型中,先前的步骤可以说明移动装置设置、初始化或保持应用的管理所执行的步骤。例如,当用户使用应用第一次尝试访问企业资源或应用首次在移动装置上执行时,可以执行上述步骤。上述步骤可以定期或在需要时由移动装置执行以保持正确的认证并保持最新的策略信息。企业或企业操作员(例如,IT技术员)可以能够向移动装置发出再次认证或更新策略信息的信号。

在步骤905,移动装置可以确定该移动装置具有是有效的令牌或票证。提供此类票证或令牌(在本文,这些术语可以交换使用)以便以透明方式来认证用户。就是说,努力从企业提供一个或多个票证到移动装置以避免增加用户再次认证的负担。当试图访问企业资源或初始化至企业资源的安全连接时,移动装置可以向远程接入点提供票证而不是再次认证。虽然如此,但应当理解一旦超时,此类票证就会到期。票证的到期可以通过在该票证内包括有效期来指定(例如,票证的有效时间段或票证到期的日期/时间等)。如果此类票证在使用之前到期,则需要票证的操作现在改为需要用户再次认证。另外,票证可以基于被试图访问的资源来提供。例如,当试图访问电子邮件资源(诸如交换服务器)时,可以发出具有长有效期的票证,而当试图访问其他资源时,可以发出具有更短有效期的票证。

在初始认证期间(例如,在步骤901)或当收到策略信息(例如,在步骤903)时,票证可以首先被加载到移动装置中。票证可以被链接到先前用于登录并确认权限的相同凭证。如果此类令牌/票证已到期,那么在允许VPN访问前,用户可以被要求再次进行认证过程。在对网关认证后,专业化的网络软件构建通过网关装置到实际内部网资源的VPN隧道。然而不像其他系统级VPN解决方案,这个VPN隧道仅适用于在用户要使用的装置上的该特定应用。

票证可用于提供创建关于至企业资源的VPN隧道的认证。例如,票证可以包括数据或以其它方式经配置认证用户、移动装置或尝试形成至企业资源的VPN隧道的应用,该企业资源通过接入网关是可访问的。票证可以是一次性使用和/或基于时间的,并且当访问企业资源时向应用或用户施加约束和/或特权。例如,票证可以被指定为两周的有效期,或根据企业操作员愿望指定某些其他更短或更长的有效时间段(例如,提供短期或长期的访问)。在某些布置中,访问控制被构建,使得安全级别随着时间推移减小。例如,应当具有高安全性的某些应用可以设置更快到期的票证(例如,在预定义的时间量(诸如一小时、15分钟)后)。与较低安全性的应用相关联的其他票证可以在稍晚的时间到期(例如,在稍晚的预定义时间量(诸如一天)后等)。也适合使用基于时间或其他量度(例如,登录数量)来执行不同安全级别的其他基于票证的技术。

在某些布置中,用于应用的策略可以指定应用可以使用票证访问企业资源。另外,在某些布置中,策略或票证本身可以指定令牌是有效的时间段。票证可以包括唯一识别票证、用户、应用或移动装置至企业(或移动装置)的代码或标识符。

再次参照步骤905,该步骤确定移动装置是否具有可以以不同的方式执行的有效票证。例如,移动装置可以首先搜索票证(例如,确定移动装置是否存储用于应用的票证),并且如果发现票证,则确定票证是否是有效的(例如,根据与该票证相关联的时间段确定票证是否到期)。在某些布置中,移动装置可以确定策略是否包括票证或是否以其他方式指示对企业资源的应用访问是基于票证的。移动装置可以在安全容器中搜索票证。一旦发现票证,则可以对该票证和与该票证相关的其他信息进行分析以确定该票证是否有效。

在某些布置中,票证可以包括指示该票证状态的时间戳(例如,“2012年1月1日12:00”的时间戳指示该票证的初始时间;或访问次数指示已使用该票证访问企业资源的次数)。另外,用于应用的票证或策略可以包括描述关于该票证什么时候到期的条件的指示(例如,诸如两个星期、一天、永远等的时间段;访问企业资源的数量诸如一次访问、十次访问、无限访问等)。基于该状态和指示,移动装置可以确定票证是否到期。如果票证已到期,则移动装置具有不是有效的票证。否则,则票证还未到期并且移动装置具有是有效的票证。

在某些实例中,移动装置可能未发现存储在移动装置的票证。在此类实例中,可以确定移动装置不具有有效的票证。

在确定移动装置具有是有效的票证时,该方法可以进行到步骤909。否则,移动装置具有不是有效的票证时,并且该方法可以进行到步骤907。

在步骤907,移动装置可以再次认证(例如,以类似于步骤901的方式)并且可以获得新票证。在某些布置中,策略信息也可以被更新。随后,该方法进行到步骤905以验证该新票证。

在步骤909,移动装置可以分析符合与访问企业资源的应用相关的任何条件或规则的策略信息。例如,当前策略信息可以被检查以确定是否应当允许网络访问。假设移动装置在外部网络上运行并且企业管理员已允许这个用户的这个应用的VPN访问,那么,至企业网关装置的安全连接可以被初始化。

如果策略信息指示没有网络访问,那么,移动装置无法连接到企业。如果网络访问策略允许使用网络但是不允许VPN访问,那么,网络服务调用通过该移动装置附接的局域网被直接路由到移动装置平台网络服务而不是经隧道返回公司内部网。另外的网络策略可以进一步约束通过互联网协议(IP)地址、域或主机名、端口/协议、传输控制协议(TCP)/用户数据报协议(UDP)等可访问的公司内部网服务器的范围。

在步骤911,移动装置可以向企业传送票证。企业本身可以对该票证执行验证。企业可以向移动装置传送收据的确认或其验证结果,并且在此类布置中,在收到来自企业的通知时,移动装置可以进行到步骤913。

在步骤913,移动装置可以创建至企业资源的依据应用的策略控制的VPN隧道,诸如类似于图5中所示的那些的Micro VPN隧道。这个隧道可以用企业网关装置来形成。随后,移动装置可以经由依据应用的策略控制的VPN隧道继续访问企业资源。例如,如果应用是邮件客户端,则用户可以访问电子邮件相关的服务等。在成功形成隧道时,在某些布置中,移动装置可以更新票证(例如,如果状态描述登录数量,则增加登录数量)。

鉴于步骤905-913,移动装置可以基于该票证接收对企业资源的访问而无需单独的认证。例如,票证可以用于访问企业资源直到其到期,而不管VPN隧道超时或以其他方式丢失至企业资源的VPN连接。事实上,假设票证保持有效,如果用户结束VPN隧道并在稍晚的时间决定再次访问企业资源(例如,查看是否收到任何新电子邮件),那么,可以用访问企业资源的票证重复步骤905、909、911和913但无需重复步骤901或909。在某些布置中,此类通过再使用票证再次获得对企业资源的访问的过程可以无需通知用户而发生(例如,在后台执行或没有提供给用户关于再次形成VPN隧道的任何指示)。此类过程可以向用户提供无缝体验。

除了应用被用于提供对企业资源的访问而无需单独认证以外,可以以其他方式使用用户或移动装置、有效票证。例如,某些应用可以提供存在相关的功能,诸如用户是空闲还是在线的指示。应用可以基于该票证向企业的一个或多个服务器提供启用存在相关功能所需的信息。实际上,应用可以向服务器提供票证(例如,通过接入网关可访问的服务器,或由企业以其它方式提供的服务器)。服务器能够使用户确定与票证相关的用户并将用户的状态设定为在线或不空闲。

上面提供的描述可以形象讨论应用的特定操作(例如,在应用执行操作时)。不过,移动装置的处理线路可以在执行应用时执行操作是切实可行的。

如上所述,当移动计算装置访问企业计算机/IT系统时,敏感信息或与企业相关联的数据和/企业相关的软件应用可以被存储在移动装置上。企业相关的数据可以包括与企业相关联的任何数据,诸如但不限于产品信息、销售数据、客户列表、业务表现数据、专有技能、新的革新和研究、商业秘密等。因为这类信息可能是非常敏感的,企业可以希望保护此类信息。

此外,企业可以希望调整用户如何使用他们的移动装置。例如,企业可能想对移动装置在什么地方使用、可以使用哪些移动装置特征、装置上安装和/或运行哪些软件应用等进行某些控制。企业也需要对用户违背他们的移动装置的使用策略进行控制和实施补救行动。

当该领域的用户遇到他们的移动装置的问题或可能受益于信息、数据、软件或指导如何使用装置执行某些操作时,企业的IT支持可能难以提供高效的帮助。因此,需要改进与企业相关联的移动装置的安全管理和技术支持。任何装置、应用或可访问工具的管理有时候被称为MDM或MRM。企业可以管理装置、应用、软件、设定、特征、远程工具、虚拟化应用等。

本文所述的各实施例解决这些和其他关切。本申请公开用于自动化或半自动化管理访问企业计算机网络(诸如访问企业的计算机实施的资源)的移动计算装置的计算机系统和方法。

更为具体地,如上所述(例如,结合图5和图9等),移动装置(例如,移动装置502)可以经由接入网关(接入网关560)并且例如经由微VPN隧道与企业资源(资源504)通信。此外,企业可以使用隧道向移动装置回送信息,诸如响应于访问请求的数据。

当用户在移动装置上执行被管理应用时,用户通常被询问认证他们的用户身份连同密码以及如该公司策略所规定的其他因素。在认证后,移动装置可以设有用于确定被管理应用如何执行网络访问的策略。通过一个或多个策略基于在MRM中的登记,策略可以基于移动装置不以其它方式知道的信息,但是该信息可通过MRM服务得知。

例如,当被登记到MRM中时,企业(例如,接入网关或MRM服务器)可以存储关于移动装置是否具有启用的装置级PIN、装置级加密、安全证书信息的信息以及通过移动装置的企业级管理企业访问企业的任何其他信息的信息。因此,在一个实施例中,策略可以指定移动装置是否具有启用的装置级PIN的策略决定。在另一示例中,策略可以基于移动装置是否具有启用的装置级加密来设定策略决定。在另一示例中,策略可以基于移动装置是否已设置访问特定企业资源所需的证书来设定策略决定。例如,内部企业网站可能需要装置被设置来自企业的证书。另外,也可以发生转换。例如,当适用的策略信息允许装置(或应用)访问需要由该企业管理的证书的特定资源时,企业可以向移动装置授权证书。

图10示出向被管理应用提供用于访问企业资源的依据应用的策略的方法。在一个或多个实施例中,当根据存储在接入网关的存储器中的各种软件结构来运行时,图10的示例方法可以通过接入网关的处理线路来执行。

在步骤1001,接入网关(或MRM服务器)可以更新策略信息。该策略信息可以与安装在特定用户的移动装置上的特定应用相关或用于该特定应用。在一种或多种布置中,接入网关可以基于由接入网关存储、维护的信息和/或接入网关可访问的信息(诸如安装在移动装置上的应用的列表和/或被发行并且目前对移动装置是有效的票证的列表)来更新策略信息。在某些实例中(并如下面更充分讨论的),此类信息可以基于从企业网络的管理用户收到的输入和/或其他信息通过接入网关来形成、访问、更改和/或存储(例如,管理用户可以输入安装在移动装置上的被管理应用的列表)。

另外,此类信息可以基于到/来自移动装置和企业网络的网络流量通过接入网关来形成、访问、更改和/或存储(例如,接入网关可以结合基于依据应用的策略控制的VPN隧道提供对企业资源的访问,更新票证的列表,无论票证何时被传送或发行到移动装置,如结合图9所描述的)。各票证的列表或各应用的列表也可以与识别移动装置的用户的信息和/或用于认证用户的任何凭证相关联。

此外,此类信息可以基于一个或多个危险确定通过接入网关来形成、访问、更改和/或存储。例如,接入网关可以根据基于一个或多个危险的认证规则来确定危险评分。如果危险评分高于或低于特定阈值,则接入网关可以形成/访问/更改/存储需要被管理应用或被管理装置执行特定认证过程的策略信息。在某些布置中,如果危险评分高于阈值,则接入网关可以在允许访问资源或允许形成专用VPN隧道之前要求更多的安全认证过程。如果危险评分低于阈值,则接入网关可以在允许访问资源或允许形成专用VPN隧道之前要求更少的安全认证过程。其中接入网关可以基于危险评分要求的很多不同类型的认证过程例如是多因素方案、单因素方案、生物识别方案、密码方案、基于危险的认证方案等。

在步骤1003,接入网关可以确定传送策略信息的更新。在某些实施例中,更新策略信息的确定可以基于接收来自移动装置或来自试图形成微VPN隧道的移动装置对策略信息的请求。在某些实施例中,这个更新策略信息的确定可以基于从另一企业实体接收的信息(例如,企业操作员向接入网关发送更新策略信息的信号)或基于由接入网关执行的更新策略信息的确定(例如,如果接入网关经配置定期更新策略信息)。

在步骤1005,接入网关可以向移动装置传送更新后的策略信息。一旦收到更新后的策略信息,移动装置可以在适当位置(例如,安全容器)存储该策略信息并可以实施在该信息中指定的策略。

在步骤1007,接入网关可以向移动装置传送票证。基于所传送的票证,接入网关可以更新各应用或票证的列表。例如,在某些布置中,接入网关可以更新各票证的列表以添加票证或与该票证相关的其他信息(例如,票证被发到其中的应用的标识);或更新各票证的列表以更新已在该列表中存在的条目。作为另一示例,接入网关可以用票证被发到其中的应用的标识来更新该应用的列表。

虽然步骤1005和1007被示为单独的步骤,但是在某些布置中,它们可以被合并为单个步骤。例如,如果票证被包括在策略信息中,则当传送更新后的策略信息时,该票证将被传送。

在步骤1009,接入网关可以为正在请求访问企业资源的应用打开依据应用的策略控制的VPN隧道。隧道的打开可以响应于移动装置进行的一个或多个请求来进行初始化。结合依据应用的策略控制的VPN隧道或当请求依据应用的策略控制的VPN隧道时,移动装置可以向接入网关传送票证的副本和/或正在请求企业资源的应用的标识。接入网关将比较该票证的副本和票证列表进行比较,并且如果该票证存在于列表中,则回复确认或该票证已通过接入网关证实的指示。

在某些实施例中,图10的步骤可以基于经由用户界面接收的输入来执行,其中,企业的操作员可访问该用户界面。例如,企业雇佣的信息技术专职人员可以查看用户界面,以便在接入网关形成、访问、更改和/或存储策略信息(例如,图10的步骤1001),促使接入网关发送策略信息的更新(例如,图10的步骤1003),或促使接入网关发送票证(例如,图10的步骤1007)等。例如,该技术人员可以经由用户界面查看应用的列表或票证的列表,经由用户界面更改列表,形成经由用户界面发送到移动装置的票证,并促使接入网关存储票证和/或经由用户界面向移动装置发送该票证。

在本说明书中描述的架构可以被灵活实施策略(BYOD(自带装置)策略)的公司或其他企业(诸如拥有装置的公司)使用,该架构允许企业用户使用他们的移动装置安全访问企业资源(文档、保密数据、公司应用和数据库服务器等)。这通过各种安全特征(例如允许企业指定和实施用于控制移动装置访问特定企业资源的策略)来实现。该策略可以例如基于各种标准(诸如相应用户的角色(例如,用户属于哪个部门)、移动装置的配置(例如,任何黑名单移动装置是否被安装)、用户的登录行为、移动装置的位置和/或请求访问企业资源的时间)来控制移动装置访问企业资源。在某些实施例中,该架构通过形成允许企业移动应用在网络上与企业系统安全通信的应用隧道来进一步加强安全性。例如,当用户中断就业或违反公司策略(例如,如果他们翻墙他们的装置,或以其他方式以未经允许的配置使用所述应用和数据)时,该架构还可以允许IT职员选择性(并远程)擦除用户移动装置的企业应用和公司数据。

例如当移动装置丢失或盗窃时,或当移动装置被职员的小孩用于玩游戏时,用于企业应用的密码(或其它类型的认证信息)的使用减少企业资源被不当访问的可能性。在某些实施例中,例如当用户尝试但未能在连续次数阈值数(例如,5或10)输入有效密码时,安全启动器(或安装在移动装置上的另一组件)进一步通过执行移动装置的选择性擦除降低这种风险。选择性擦除操作从移动装置删除企业应用的部分或全部的企业应用和关联的数据,而不会删除任何个人应用或数据。在某些实施例中,企业的IT部门可以通过向特定移动装置远程发出擦除命令来初始化该装置的选择性擦除。

在某些实施例中,当执行选择性擦除操作时,存储在安全容器中的文档和数据中的部分或全部文档和数据被从移动装置删除或以其他方式变得不可访问。图11示出提供选择性数据擦除的方法,该选择性数据擦除与提供依据应用的策略控制VPN隧道有关。在一个或多个实施例中,当根据存储在移动装置的存储器中的各种软件结构来运行时,图11的示例方法可以通过移动装置的处理线路来执行。

在步骤1101,移动装置可以确定执行选择性擦除。该确定可以从各种源收到。例如,企业可以发送执行选择性擦除的指令或移动装置可以分析其状态来确定是否执行选择性擦除。用户可以卸载应用,并且移动装置可以确定执行与管理应用相关联的数据的选择性擦除。应用可以从被管理模式切换到非管理模式,并且移动装置可以确定执行非管理应用不应该访问的数据的选择性擦除。其中可以确定选择性擦除的其他情况包括基于移动装置被越狱或被获取了管理员权限、被安装黑名单应用、未配置锁屏等的确定来执行选择性擦除的确定。

步骤1103-1109形成用于执行选择性擦除的过程的一部分。在选择性擦除过程中,其他数据可以被从移动装置删除。下面的步骤涉及识别和删除来自安全容器的票证,该步骤作为删除或以其他方式使与被管理应用相关联的企业数据变得不可访问的选择性擦除的一部分,该企业数据可以包括策略信息。

在步骤1103,移动装置可以确定一个或多个票证被存储在移动装置上的一个或多个安全容器中。在某些布置中,这可以包括分析策略信息以检查是否包含票证相关的信息,例如诸如票证的标识、存储票证的位置、或其中存储票证的安全容器的其他标识符。在其中选择性擦除指向擦除与特定应用相关联的企业数据的某些布置中,用于特定应用的策略可以被分析。在某些实施例中,可以结合向一个或多个应用提供对一个或多个企业资源的访问来发出各票证(例如,参见图9)。

在步骤1105,移动装置可以在一个或多个安全容器中搜索一个或多个票证。在某些布置中,一个或多个票证的搜索可以基于在步骤1103分析的策略中发现的信息。例如,如果发现在步骤1103分析的策略包括票证的特定标识,则移动装置可以基于该票证的特定标识来执行搜索。如果发现在步骤1103分析的策略包括其中存储票证的特定位置,则移动装置可以基于该特定位置来执行搜索。

在步骤1107,移动装置可以删除或以其他方式使一个或多个票证变得无法访问。

在步骤1109,移动装置可以向企业发送选择性擦除确认。此类确认可以向企业提供选择性擦除是成功的指示。该确认可以包括通过选择性擦除受影响/被删除的应用的列表和/票证的列表。一旦收到该确认,则企业(例如,接入网关)可以相应更新其存储记录。例如,接入网关可以接收包括通过选择性擦除受影响/被删除的应用的列表和/票证的列表的选择性擦除确认,并且可以通过去除对应于由该确认所指示的应用的条目,相应更新安装在移动装置上的应用的列表,和/或通过去除对应于由该确认所指示的票证的条目,更新向移动装置发出并有效的票证的列表。

被管理应用通常允许与其他被管理应用交换数据,但可以被约束或阻止与其他应用(诸如用户自身的个人应用)交换数据。在某些示例中,如果另一应用也是被管理应用,则被管理应用的应用策略经配置允许存在于一个被管理应用中的链接和/或图标在该另一应用中被跟踪或打开。

例如,被管理电子邮件应用可以通过其策略经配置允许附件在被管理PDF注解器中打开。但是相同的被管理电子邮件应用可以经配置阻止相同附件在不是被管理集的一部分的PDF注解器中打开。

根据企业管理的策略通过约束被管理应用在移动装置上交互,各应用的被管理集因此能够被用各应用的被管理集中的其他应用来运行,但是可以阻止用不是被管理集的一部分的应用来运行。

应用可以以多个运行模式中的一个模式在移动装置上运行。运行模式可以包括例如被管理模式和非管理模式。可以有多种不同的被管理模式,例如,基于各个用户的不同安全级别或由用户提供的凭证集,由凭证集识别的不同用户角色(例如,经理对职员和员工)、运行装置的地理位置、网络位置、运行环境(例如,医疗保健相关的被管理模式对金融业被管理模式),或基于任何其他的背景确定。

在实施例中,各策略可以如上参考图5所述在策略管理器570被远程存储,或可以本地存储在装置上。在示例中,选定的应用经配置访问安全账户,诸如电子邮件应用经配置访问安全的电子邮件账户,可以以基于策略的运行模式执行。例如,所存储的策略可以定义一种电子邮件应用,该电子邮件应用经配置访问待作为被管理应用运行的安全的电子邮件账户。当电子邮件应用经配置访问装置用户的个人账户时,所存储的策略可以进一步指示该电子邮件应用可以以非管理模式运行。

在实施例中,以被管理模式运行的应用可以访问存储在移动装置的被管理分区510(物理的,逻辑的,或虚拟的)中的安全数据容器528中的数据。存储在安全数据容器528中的数据可以包括被限制在特定安全/被管理应用530、在其他安全/被管理应用之间共享的数据等。被限制在安全应用的数据可以包括一般安全数据534和高度安全数据538。不同级别和类型的安全特征可以用于区分安全数据的级别。在实施例中,以被管理模式运行的应用可以在安全数据容器528中保存、更改或删除数据。所保存或更改的数据可以类似于存储在安全数据容器528中的其他数据被加密。

在实施例中,以被管理模式运行的应用可以通过如关于参考图5所述的虚拟专用网络连接来连接到企业资源504和企业服务508。虚拟专用网络连接可以是微VPN,该微VPN指定用于特定应用,诸如选定应用、特定装置、移动装置上的特定安全区等。例如,电话的安全区中的包装应用可以通过专用VPN来访问企业资源,使得对VPN的访问将基于与该应用相关联的属性(可能的话,结合用户或装置属性信息以及策略信息)来授权。

在实施例中,以被管理模式运行的应用可以加密从该应用传送的数据。例如,以被管理模式运行的应用可以与计算装置在网络上通信,并且从该应用传送到该装置的数据可以被加密。另外,从计算装置传送到该应用的数据也可以被加密,并且以被管理模式运行的应用可以经配置解密所收到的数据。

在实施例中,以被管理模式运行的应用可以经由安全连接访问企业资源。例如,应用可以例如使用微VPN在网络上连接,并且可以访问非安全应用(诸如以非管理模式运行的应用)可能无法访问的安全入口。

在实施例中,非管理运行模式可以包括运行作为如上文参考图5所述的移动装置502的非管理分区512(物理的、逻辑的或虚拟的)的一部分的应用。以非管理模式,应用可以访问存储在移动装置502的非管理分区512上的非安全数据容器542中的数据。存储在非安全数据容器中的数据可以是个人数据544。

在其中一个以上的非管理模式是可能的实施例中,以较不安全被管理模式运行的应用可以类似于以更安全被管理模式运行的应用来运行,但是可以不包括以更安全被管理模式运行的应用的所有方面。例如,以较不安全被管理模式运行的应用可以具有加密的来自应用的通过网络传送的信息,但是该应用可能不能访问如参考图5所述的安全数据容器528。在另一示例中,以较不安全的被管理模式运行的应用可以访问安全数据容器528,但是可能不能通过虚拟专用网络连接来连接到企业资源504和企业服务508。因此,根据确定的背景,以较不安全被管理模式运行的应用可以包括以更安全被管理模式运行的应用的各方面和以非管理模式运行的应用的各方面。在实施例中,以较不安全被管理模式运行的应用可以类似于以被管理模式运行的应用来运行,但是可以不包括以被管理模式运行的应用的所有方面。例如,以较不安全被管理模式运行的应用可以具有加密的来自应用的通过网络传送的信息,但是该应用可能不能访问如参考图5所述的安全数据容器。在另一示例中,以较不安全的被管理模式运行的应用可以访问安全数据容器,但是可能不能通过虚拟专用网络连接来连接到企业资源和企业服务。因此,根据确定的背景,以较不安全被管理模式运行的应用可以包括以被管理模式运行的应用的各方面和以非管理模式运行的应用的各方面。

应用的运行模式可以基于各种标准来设定。例如,如上面结合图5所讨论的,可以向用户呈现以非安全模式或非管理模式运行被管理应用的选项的双模式选项(例如图5的项540)。除了可由用户设定的双模式选项以外,选项可以通过应用的策略来引导。例如,策略可以包括指示应用要以哪一种模式运行的策略决策。该策略可以将另外的条件置于运行模式上,诸如通过基于移动装置的当前位置或基于用户试图从什么类型的网络获得访问(例如,WiFi,用户的家庭网络等)来选择被管理或非管理模式。此类条件可以被称为背景。这些方面和其他方面将结合图12A-12G来进一步解释。在一个或多个实施例中,当根据存储在移动装置的存储器中的各种软件结构来运行时,图12A-12G的示例方法可以通过移动装置的处理线路来执行。不过在某些变型中,各个方面可以由企业装置(诸如图5的装置管理器524)来执行。

在图12A-12F中,示出了用于确定应用的背景和运行模式的示例方法步骤的流程图。

在图12A中,示出用于确定应用的应用模式的示例方法步骤的流程图。图12A的方法可以在步骤1201开始,其中,在该步骤呈现多个应用。多个应用可以在移动装置上向用户呈现。图12A的方法可以从步骤1201进行到步骤1203,其中,收到多个应用中的一个应用的选择。移动装置的用户可以通过例如按压移动装置的显示器选择应用来选择所呈现应用中的一个应用。这仅是示例,并且应用可以以任何合适的方式来选择。

图12A的方法可以从步骤1203进行到步骤1205,其中,被选定应用的背景基于执行选定应用的装置的一个或多个运行参数来确定。例如,背景可以基于要被应用访问的账户、移动装置的位置或执行应用的移动装置的网络连接状态,或基于任何其他运行参数。在下文将进一步描述的图12B-12E的方法示出了其中描述了示例背景的各个实施例。

图12A的方法可以从步骤1205进行到步骤1207,其中,用于选定应用的运行模式基于背景来确定。运行模式可以基于一个或多个所确定的背景来确定。

在实施例中,所确定的背景可以与存储的策略比较,以便确定运行模式。移动装置可以存储用于确定应用的运行模式的一个或多个策略。在示例中,背景可以包括选定应用,该选定应用经配置访问安全账户,诸如,电子邮件应用经配置访问安全的电子邮件账户。这个背景可以与所存储的策略中的一个或多个策略比较。例如,策略可以定义一种电子邮件应用,该电子邮件应用经配置待作为被管理应用运行的安全电子邮件账户。另外的背景和策略将参考图12B-12E来描述。

图12A的方法可以从步骤1207进行到步骤1209,其中,选定应用以所确定的运行模式来运行。例如,运行模式可以被确定为被管理、非管理或可用的多种模式中的一种模式,并且选定应用可以以所确定的模式来运行。

在实施例中,能够以被管理模式、非管理模式或较不安全的被管理模式运行的应用可以通过分区、通过策略、通过一个或多个沙盒或任何其他合适的配置来控制。在实施例中,被管理运行模式可以包括运行作为如上面结合图5所讨论的移动装置502的被管理分区510的一部分的应用。在实施例中,以被管理模式运行的应用可以访问存储在移动装置的被管理分区510中的安全数据容器528中的数据。存储在安全数据容器528中的数据可以包括被限制在特定安全应用530、在其他安全应用之间共享的数据等。被限制在安全应用的数据可以包括一般安全数据534和高度安全数据538。一般安全数据可以使用强加密如AES 128位加密的形式等,而高度安全数据538可以使用非常强的加密如AES 256位加密的形式。可以使用其他类型的加密,并且其他级别和类型的安全措施可以基于预期级别和/或安全的类型以及不同的密钥恢复特征来应用。在实施例中,以被管理模式运行的应用可以在安全数据容器528中保存、更改或删除数据。所保存或更改的数据可以类似于存储在安全数据容器528中的其他数据被加密。在这个示例中,非管理运行模式可以包括运行作为如上所述的非管理分区512的一部分的应用。

在实施例中,以更安全被管理模式、非管理模式或较不安全被管理模式运行的应用可以通过一个或多个策略来控制。同样,一个或多个策略可以定义以被管理模式运行的应用可以访问安全数据(例如,在安全数据容器528中的数据、加密数据、诸如用特定密钥加密的数据、或任何其他合适的安全数据),可以与安全服务器(例如,网关服务器560)通信,可以通过装置管理器(例如,装置管理器524)或任何其他合适的策略来管理。一个或多个策略还可以定义以非管理模式运行的应用不可以访问安全数据(例如,在安全数据容器528中的数据,加密数据,诸如用特定密钥加密的数据,或任何其他合适的安全数据),不可以与安全服务器(例如,网关服务器560)通信,可以访问非安全数据(例如,非安全数据容器542,非加密数据,或任何其他非安全数据)或任何其他合适的策略。在这个示例中,以被管理模式运行的应用和运行应用可以包括分区(例如,被管理分区510和非管理分区512)或不可以包括分区。

在实施例中,以更安全被管理模式、非管理模式或较不安全被管理模式运行的应用可以通过一个或多个沙盒来控制。沙盒可以包括装置的物理或虚拟化部分,其中,在沙盒中运行的应用可以包括未在沙盒中运行的用于应用的访问策略。例如,以被管理模式运行的应用可以在包括用于被管理模式的策略(诸如本文所述策略)的沙盒中运行。在另一示例中,以非管理模式运行的应用可以在包括用于非管理模式的策略(诸如本文所述策略)的沙盒中运行。在这个示例中,以被管理模式运行的应用和以非管理模式运行的应用可以包括分区(例如,被管理分区510和非管理分区512)或不可以包括分区。

在实施例中,以被管理模式运行的应用可以访问存储在移动装置的被管理分区510中的安全数据容器528中的数据。存储在安全数据容器528中的数据可以包括被限制在特定安全应用530、在其他安全应用之间共享的数据等。被限制在安全应用的数据可以包括一般安全数据534和高度安全数据538。一般安全数据可以使用强加密如AES 128位加密的形式等,而高度安全数据538可以使用非常强的加密如AES 256位加密的形式。在实施例中,以被管理模式运行的应用可以在安全数据容器528中保存、更改或删除数据。所保存或更改的数据可以类似于存储在安全数据容器528中的其他数据被加密。

在实施例中,以被管理模式运行的应用可以通过如关于参考图3所述的虚拟专用网络连接来连接到企业资源504和企业服务508。虚拟专用网络连接可以指定用于特定应用(例如,依据应用的策略控制的VPN隧道,诸如Micro VPN),诸如选定应用、特定装置、移动装置上的特定安全区等。例如,电话的安全区中的每个包装应用可以通过专用VPN访问企业资源,使得对VPN的访问将基于与该应用相关联的属性(可能的话,结合用户或装置属性信息)来授权。

在实施例中,以被管理模式运行的应用可以加密从该应用传送的数据。例如,以被管理模式运行的应用可以与计算装置在网络上通信,并且从该应用传送到该装置的数据可以被加密。另外,从计算装置传送到该应用的数据也可以被加密,并且以被管理模式运行的应用可以经配置解密所收到的数据。

在某些变型中,被管理应用可以作为安全本地应用514、由安全应用启动器518执行的安全远程应用522、由安全应用启动器518执行的虚拟应用526等来运行。各应用可以是稳定应用,使得装置监视器524监视稳定应用以检测可能产生非稳定的应用的问题并且例如通过向稳定应用推送更新来补救所述问题。所保存或更改的数据可以类似于存储在安全数据容器528中的其他数据被加密。在某些布置中,非管理运行模式可以包括如上所述运行作为非管理分区512的一部分的应用。

在实施例中,图12A的步骤1205到1209可以包括图12B-12F中的任一个或多个的方法步骤。图12B的方法可以在步骤1211开始,在该步骤,检测到由选定应用访问的账户。例如,选定应用可以包括电子邮件应用和可以检测到电子邮件应用经配置所访问的电子邮件账户。在这个示例中,电子邮件应用可以能够访问多个电子邮件账户,诸如企业电子邮件账户和个人电子邮件账户,并且在运行时电子邮件应用经配置访问的账户可以被确定为要被访问的账户的背景。

图12B的方法可以从步骤1211进行到步骤1213,其中,要被访问的账户的账户类型可以被确定。账户类型可以包括用于选定应用的背景。例如,选定应用可以包括电子邮件应用并且该电子邮件应用可以经配置访问企业账户。在另一示例中,电子邮件应用可以经配置访问个人账户。

图12B的方法可以从步骤1213进行到步骤1215,其中,账户类型可以与策略比较。例如,策略可以定义要访问企业账户的电子邮件应用应当以被管理模式运行,并且要访问个人账户的电子邮件应用应当以非管理模式运行。图12B的方法可以从步骤1215进行到步骤1217,其中,运行模式基于所述比较来确定。

图12C的方法可以在步骤1221开始,其中,移动装置的位置被确定。例如,移动装置(诸如移动装置502)可以实施图12C的方法,并且移动装置的位置可以被确定。该位置可以通过GPS、信号三角测量或任何其他合适或以其它方式已知的方式来确定。该位置可以包括用于选定应用的背景。

图12C的方法可以从步骤1221进行到步骤1223,其中,已确定的位置可以与策略比较。例如,当在某位置(例如公司处所)时,策略可以定义选定应用以更安全的被管理模式运行。在实施例中,当在某位置时,例如当已确定的位置位于美国但是不在公司处所时,策略可以定义选定应用以较不安全的被管理模式运行。例如,较不安全的被管理模式可以加密至和来自选定应用的通信,但是不可以允许访问企业资源,诸如资源504。在另一实施例中,当在某位置时,例如当已确定的位置位于美国之外时,策略可以定义选定应用以非安全模式运行。图12C的方法可以从步骤1223进行到步骤1225,其中,运行模式基于所述比较来确定。

另选地或除了物理位置以外,网络位置也可以或相反用于确定是否允许访问。例如,网络位置可以指的是用户在数据中心(或预先批准的WiFi接入点)里面还是在其外面。适当的访问模式可以基于此类确定。

图12D的方法可以在步骤1231开始,在该步骤监视预先确定的应用是否在装置上运行。例如,移动装置(诸如移动装置502)可以实施图12D的方法,并且移动装置可以被监视以确定预先确定的应用是否在运行。预先确定的应用可以包括能够在移动装置上运行的任何应用。所监视的预先确定应用可以包括用于选定应用的背景。

图12D的方法可以从步骤1231进行到步骤1233,其中,被监视的应用与策略比较。例如,当预先确定的应用在运行时,策略可以定义选定应用以被管理模式运行,以及当预先确定的应用未运行时,该选定应用以非管理模式运行。另外,当建立依据应用的策略控制的VPN隧道(如上文结合图9所描述的)时,或当此类票证是有效的并且存储在移动装置的安全容器中时,无论何时由移动装置收到用于认证用户的票证,策略可以定义选定应用以被管理模式运行。无论何时发现票证是无效的或已到期,策略也可以定义选定应用以非管理模式运行。图12D的方法可以从步骤1233进行到步骤1235,其中,运行模式基于所述比较来确定。

图12E的方法可以在步骤1241开始,其中,在该步骤检测到一个或多个网络连接。例如,移动装置(诸如移动装置502)可以实施图12E的方法,并且可以检测到移动装置所进行的网络连接。在示例中,网络连接可以包括至蜂窝网络的连接、至WIFI网络的连接或至无线局域网(WLAN)的连接等。所述一个或多个网络连接可以包括用于选定应用的背景。

图12E的方法可以从步骤1241进行到步骤1243,其中,检测到的网络连接与策略比较。例如,当移动装置被连接到内部网络(诸如在公司里面的WLAN)时,策略可以定义选定应用以被管理模式运行,以及当移动装置仅被连接到无线网络(诸如蜂窝网络或WIFI网络)时,可以定义选定应用以非管理模式运行。图12E的方法可以从步骤1243进行到步骤1245,其中,运行模式基于所述比较来确定。

图12F的方法可以在步骤1251开始,其中,在该步骤检测到移动装置的一个或多个设定。例如,移动装置(诸如移动装置502)可以实施图12F的方法,并且可以检测到移动装置的一个或多个设定。在示例中,可以检测到移动装置是否具有锁屏,诸如使用移动装置所需的PIN,或可以检测到移动装置是否被越狱或被获取了管理员权限,例如,是否收到售后改进。所述一个或多个设定可以包括用于选定应用的背景。

图12F的方法可以从步骤1251进行到步骤1253,其中,检测到的设定与策略比较。例如,如果移动装置不具有锁屏或如果移动装置被越狱或被获取了管理员权限,则策略可以定义选定应用可能不以被管理模式运行。图12F的方法可以从步骤1253进行到步骤1255,其中,运行模式基于所述比较来确定。在实施例中,当选定应用以所确定的模式运行时,通知用户特定策略(诸如在允许移动装置以被管理模式运行选定应用之前移动装置具有锁屏的要求)的指示符可以在移动装置上显示。图12B-12F描述多个背景,并且可以实施任何其他合适的背景和对应的策略。

在实施例中,在图12B-12F中描述的背景中的一个或多个背景可以被合并,并且这些背景可以与用于选定应用的策略比较。例如,用于选定应用的背景可以包括作为企业电子邮件账户来访问的账户类型以及检测到的作为蜂窝网络的网络连接。在这个示例中,策略可以定义当企业账户被试图在蜂窝网络上访问时,选定应用应当以被管理模式运行。该策略可以以这种方式来定义,因为选定应用可以用企业电子邮件账户来加密通信,并因此可以减缓在蜂窝网络上发送安全流量的风险。

在另一示例中,用于选定应用的背景可以包括在美国之外的已确定位置和与在公司内部的WLAN的网络连接。当已确定位置在美国之外并且网络连接是与在公司内部的WLAN时,策略可以定义选定应用以被管理模式运行。该策略可以以这种方式来定义,因为公司内部的WLAN网络连接减缓与在美国之外的安全通信相关联的风险。

在实施例中,如在图12B-12F中描述的一个或多个背景可以包括优先级。例如,用于选定应用的背景可以包括设定为越狱(或获取了管理员权限)的移动装置,并且当背景指示越狱的移动装置(或获取了管理员权限的移动装置)时,策略可以定义选定应用以非管理模式运行,而不管其他背景什么。因此,甚至当移动装置被连接到公司内部的WLAN或如果选定应用试图访问企业账户时,越狱的移动装置(或获取了管理员权限的移动装置)将具有以非管理模式运行的选定应用。

在实施例中,策略可以基于如图12B-12F中所述的多个背景,指示选定应用以较不安全的被管理模式运行。例如,用于选定应用的背景可以包括作为企业电子邮件账户来访问的账户类型以及检测到的作为蜂窝网络的网络连接。在这个示例中,策略可以定义当企业账户被试图在蜂窝网络上访问时,选定应用应当以较不安全的被管理模式运行。较不安全的被管理模式可以加密至和来自选定应用的通信,但是不可以允许访问企业资源,诸如资源504。策略可以以这种方式来定义,因为用企业电子邮件账户加密的通信可以是低风险通信,以及允许访问企业资源可以是高风险通信。

在图12G中,示出用于切换应用的运行模式的示例方法步骤的流程图。例如,图12G的方法步骤可以紧随图12A的方法步骤。图12G的方法可以在步骤1261开始,在该步骤,在选定应用在运行时,可以监视一个或多个背景。在实施例中,可以监视参考图12B-12F所述的背景中的一个或多个背景。例如,运行选定应用的移动装置可以被连接到蜂窝网络,并且在选定应用在运行时,移动装置可以建立与公司内部WLAN的新网络连接。

图12G的方法可以从步骤1261进行到步骤1263,其中,用于选定应用的运行模式的变化基于该监视来检测。换一种说法,移动装置可以检测形成用于选择特定运行模式的基础的信息的变化。例如,选定应用可以以非管理模式运行,并且一旦运行选定应用的移动应用连接到公司内部的WLAN,则策略可以定义用于该选定应用的运行模式应当切换到被管理模式。上述结合图12B-12E的背景中的任一背景可以用于检测信息是否已经发生变化。图12G的方法可以从步骤1263进行到步骤1265,其中,用于选定应用的运行模式被切换。在某些变型中,切换运行模式可以包括将应用从被管理分区移到非管理分区,或反之亦然。切换运行模式还可以包括(诸如当应用从被管理模式切换到非管理模式时)执行选择性擦除(如结合图11所述的)。

如上所述,用户可以通过认证过程(例如,用户认证)进行访问企业资源。在某些实施例中,这可以经由SSO过程(例如,SSO相互SSL,使用密码或客户端证书的有限的或完全Kerberos)来执行。在各种实施例中,依据应用的策略控制的微VPN隧道、当建立此类隧道(例如,参见图9)时通过移动装置收到/存储以认证用户的票证、接入网关和其他方面可以形成用于提供能够提高用户体验(诸如通过提供更加无缝的用户体验)的认证相关过程的基础。图13A-13C示出根据本文所述的各方面用于提供认证有关功能的示例方法。

图13A示出用于在移动装置响应认证询问的方法。在一个或多个实施例中,当根据存储在移动装置的存储器中的各种软件结构来运行时,图13A的示例方法可以通过移动装置的处理线路来执行。

在步骤1301,移动装置可以结合用于被管理应用的认证过程接收认证询问。例如,当执行认证过程时,移动装置可以接收HTTP状态码和/或与引起认证询问收据的企业交换HTTP状态码,诸如用于请求认证和/或询问响应消息的HTTP 401代码。基于认证类型,企业资源可以发送认证询问。对于Kerberos认证,可以使用PKINIT协议。企业资源可以生成Kerberos认证询问,诸如HTTP 401协商(Negotiate)。对于SSL认证(例如,使用客户端证书),企业资源可以生成客户端证书询问。在某些变型中,移动装置通过监视网络流量(包括在诸如Micro VPN的依据应用的策略控制的VPN隧道内流动的网络流量)来识别认证询问的收到。另外,接收认证询问可以包括在其被应用收到之前拦截认证询问。

一旦收到认证询问,移动装置可以从步骤1301进行到步骤1303,其中,移动装置可以确定策略是否允许该移动装置对认证询问而不是对用户或被管理应用响应。例如,策略可以定义移动装置可以基于允许源的列表来发送对认证询问的响应(例如,如果认证询问从共享点或交换服务器等收到,则移动装置可以响应)。策略可以定义移动装置可以基于该移动装置具有用于应用的是有效的令牌来发送对认证询问的响应。在某些变型中,移动装置可以类似于图9的步骤905,确定移动装置是否具有用于应用的是有效和/或未到期的令牌。

如果确定移动装置被允许对认证询问做出响应,则该方法可以进行到步骤1305。否则(例如,用于被管理应用的票证到期),该方法可以进行到步骤1307,在该步骤,认证询问被提供根据响应于认证询问的常规方法进行进一步处理(例如,提供给应用,提供给用户通知,以作为对认证询问的响应引导用户选择要发送的凭证)。

在步骤1305,移动装置可以对认证询问做出响应。对认证询问的响应可以包括分析询问以识别在请求什么;定位该询问所请求的任何凭证、证书等;生成响应并向该认证询问的源传送该响应。在某些变型中,响应认证询问可以包括使用依据应用的策略控制的VPN隧道(诸如初始引导认证询问由被管理应用使用的隧道)来传送该响应。

在某些变型中,步骤1301-1305可以在应用和/或用户没有意识到认证询问的情况下进行。例如,移动装置可以在认证响应被应用收到之前拦截该认证响应,或者用户可以不被呈现关于认证询问的消息。

除了通过移动装置执行以外,接入网关可以执行类似的方法。例如,接入网关可以类似于步骤1301拦截认证询问。接入网关可以类似于步骤1303代表移动装置确定策略是否允许该接入网关对询问做出响应。接入网关也可以类似于步骤1305对询问做出响应。

而且,类似于图13A所示的方法可以使用移动装置和接入网关的组合来执行。例如,接入网关可以类似于步骤1301拦截认证询问。接入网关可以与移动装置通信以确定接入网关或移动装置是否应当对询问做出响应。移动装置可以类似于步骤1303执行确定以确定接入网关或移动装置是否被策略授权对询问做出响应。如果接入网关或移动装置被允许响应,则适当的装置可以类似于步骤1305继续进行响应。

图13B示出用于提供从接入网关到一个或多个移动装置的令牌、证书或其他凭证的方法。当根据存储在接入网关的存储器中的各种软件结构来运行时,图13B的示例方法可以通过接入网关(认证服务器)的处理线路来执行。

在步骤1321,接入网关(或认证服务器)可以接收结合应用或移动装置的初始认证的消息。例如,在允许在移动装置上执行的被管理应用访问企业资源之前,消息可以与认证用户的初始认证过程有关。在某些布置中,企业可以发送该消息(例如,发送认证凭证等到用户的登记的移动装置的命令)。在其他布置中,移动装置可以传送消息以作为其初始认证过程的一部分(例如,类似于图9的步骤901)。

在步骤1323,接入网关可以确定与请求用户、应用、移动装置或用户的账户相关联的凭证信息。例如,接入网关可以保持已发给(或可以发给)移动装置或已发给与用户相关联的任何移动装置(例如,登记设备)的令牌列表。接入网关还可以保持被链接到用户的策略(例如,策略信息)列表。接入网关还可以保持被链接到用户的证书列表。在某些布置中,企业操作员可以输入或更改该列表(例如,IT专职人员可以手动设置该列表)。在其他布置中,接入网关可以基于被发送到登记到用户的移动装置的流量形成和更改列表(例如,当列表被发送给登记到用户的移动装置时,向该列表添加票证或证书)。

在步骤1325,接入网关可以向一个或多个移动装置传送凭证信息。例如,接入网关可以向单个移动装置传送凭证信息(例如,响应于特定类型凭证信息的请求;或响应于收到向特定移动装置发送凭证信息的指示,等)。接入网关还可以向多个移动装置传送凭证信息(例如,响应于来自特定移动装置的请求,接入网关可以向登记到企业用户的所有装置传送凭证信息;或响应于收到发送到各移动装置的指示,接入网关可以向多个装置传送凭证信息,等)。

在某些变型中,凭证信息可以既包括响应于在步骤1321收到的消息的信息,又包括未具体响应于该消息的另外信息。例如,移动装置可以传送请求初始认证移动装置的消息并可以提供凭证以执行初始认证。对该消息做出响应,接入网关可以执行初认证,并且假设所提供的凭证经过核实,接入网关可以传送将初始认证识别为成功的凭证信息(例如,响应于该消息的信息)并可以向移动装置传送票证、证书、策略等(例如,未具体响应于该消息的另外信息)。

在某些变型中,传送凭证信息可以包括使用依据应用的策略控制的VPN隧道(诸如图5中所示并且在整个公开内容(例如结合图9)进一步描述的微VPN隧道)来传送。

图13C示出用于提供来自移动装置的证书的示例方法。在一个或多个实施例中,当根据存储在移动装置的存储器中的各种软件结构来运行时,图13C的示例方法可以通过移动装置的处理线路来执行。虽然图13C描绘的示例将结合传送由被管理浏览器使用的证书来讨论,但是类似的技术可以用于提供来自移动装置用于不同类型应用的证书。

例如,经由被管理应用(诸如被管理浏览器)访问的企业资源或网站可以请求来自用户或移动装置的证书。因此,在步骤1341,移动装置可以接收表示用于证书的请求或询问的消息。除了被管理浏览器以外,其他应用类型可以请求证书。例如,被管理应用可以在被管理浏览器中运行。被管理应用也可以是使用HTTP或HTTPS协议(类似于被管理浏览器如何使用HTTP或HTTPS协议)或其他基于网页的协议进行通信的应用。图13C的剩余部分将依据被管理浏览器来讨论,但是结合在浏览器内运行的被管理应用或使用HTTP、HTTPS或其他基于网页的协议的被管理应用的证书请求可以以类似的方式做出响应。

照惯例,用户可以被浏览器要求提供证书。不过在步骤1343,移动装置可以分析与被管理浏览器相关联的策略,以确定该策略是否允许移动装置代替用户或被管理浏览器提供证书(例如,没有收到输入或以其他方式通知用户关于证书的消息或请求)。例如,策略可以定义移动装置可以基于可以被发送的证书列表或证书类型来发送证书(例如,如果发现被请求的证书在列表上,移动装置可以响应)。策略可以定义移动装置可以基于该移动装置具有用于浏览器应用的是有效的令牌来发送证书。在某些变型中,移动装置可以类似于图9的步骤905,确定移动装置是否具有用于浏览器的是有效的令牌。

在一个或多个实施例中,移动装置可以将消息识别为证书请求(例如,PK操作“认证”协议)。因此,移动装置可以诸如经由PKOperationSDK解码来自收到的报头格式的消息并传送该消息的二进制结构供另外处理。PKOperation SDK可以具有可用的客户端证书的知识。该证书可以以物理智能卡、虚拟智能卡等的形式。PKOperation SDK可以解码消息(包括处理任何加密/完整性包装器)并将其发送到适当的内部处理器。处理器可以处理消息并生成可用证书的列表。证书列表可以根据被请求操作的相关性进行滤波到例如只包括具有适当密钥使用指示符的证书。证书的列表可以被滤波直到只剩下一个证书。此类滤波可以基于用于浏览器应用的策略来执行。列表可以是表示操作结果的二进制结构。PKOperation SDK可以返回证书列表,该证书列表可以仍然是二进制结构,或者如果不能生成列表,则发出错误情况的信号。

如果确定移动装置被允许发送证书,则该方法可以进行到步骤1345。否则,该方法可以进行到步骤1347,在该步骤,消息被提供用于根据发送证书的常规方法来进一步处理(例如,作为对该消息的响应,要求用户选择要发送的证书)。

在步骤1345,移动装置可以响应于请求传送证书。传送证书可以包括定位要被发送的任何证书。在某些变型中,响应认证询问可以包括使用依据应用的策略控制的VPN隧道(诸如由浏览器应用使用的隧道)来传送证书。

在某些变型中,步骤1341-1345可以在没有应用和/或用户没有意识到证书请求的情况下进行(例如,用户可以不被呈现关于认证询问的消息)。

描述一个或多个示例性实施例的第一声明集

1.一种方法,包括:

在移动装置接收策略信息,所述策略信息描述用于向所述移动装置的应用提供对至少一个资源的访问的一个或多个策略,所述至少一个资源通过接入网关是可访问的;

确定所述移动装置具有有效的票证,所述票证被配置为提供关于创建用于所述应用到所述至少一个资源的虚拟专用网络(VPN)隧道的认证;

分析策略信息以确定对所述至少一个资源的网络访问被允许;

向所述接入网关传送所述票证;以及

创建用于所述应用访问所述至少一个资源的VPN隧道。

2.如声明1所述的方法,还包括:

用所述接入网关执行初始认证,引起所述移动装置接收所述票证,其中所述票证包括所述票证何时到期的指示;以及

其中确定所述移动装置具有有效的票证包括基于所述票证何时到期的指示确定所述票证还未到期。

3.如声明1所述的方法,还包括:

从所述接入网关接收所述策略;以及

在所述移动装置的安全容器中存储所述策略信息。

4.如声明3所述的方法,还包括:

将所述票证存储在所述安全容器中;以及

其中确定所述移动装置具有有效的票证包括在所述安全容器中搜索所述票证。

5.如声明1所述的方法,还包括:

关闭所述VPN隧道;

在关闭所述VPN隧道后:

基于确定所述证书已到期确定所述移动装置不具有有效的票证,

获得新票证,

基于所述新票证确定所述移动装置具有有效的票证,

向所述接入网关传送所述新票证,以及

创建用于所述应用的新VPN隧道。

6.如声明1所述的方法,还包括:

关闭所述VPN隧道;

在关闭所述VPN隧道后:

基于确定所述票证未到期确定所述移动装置具有有效的票证,

第二次向所述接入网关传送所述票证,以及

创建用于所述应用的新VPN隧道。

7.如声明1所述的方法,其中所述应用是被管理应用,并且所述VPN隧道是所述移动装置的其他应用不可访问的依据应用的策略控制的VPN隧道。

8.如声明1所述的方法,还包括:

使用关于打开至所述至少一个资源的多个VPN隧道的所述票证,而无需所述移动装置的用户输入或选择用于认证的凭证,其中所述多个VPN隧道中的每个VPN隧道向所述应用提供对所述至少一个资源的访问。

9.如声明1所述的方法,还包括:

基于所述票证,向通过所述接入网关可访问的一个或多个服务器提供启用通知用户存在的存在相关功能所需的信息,所述用户与所述移动装置相关联。

10.一种设备,包括:

至少一个处理器;以及

存储器,其存储可执行指令,所述可执行指令被配置为当由所述至少一个处理器执行时促使所述设备执行以下操作:

接收策略信息,所述策略信息描述用于向所述移动装置的应用提供对至少一个资源的访问的一个或多个策略,所述至少一个资源通过接入网关是可访问的,

确定所述移动装置具有有效的票证,所述票证被配置为提供关于创建用于所述应用至所述至少一个资源的虚拟专用网络(VPN)隧道的认证,

分析策略信息以确定对所述至少一个资源的网络访问被允许,

向所述接入网关传送所述票证,以及

创建用于所述应用访问所述至少一个资源的VPN隧道。

11.如声明10所述的设备,其中所述可执行指令被配置为当由所述至少一个处理器执行时进一步促使所述设备执行以下操作:用所述接入网关执行初始认证,引起所述移动装置接收所述票证,其中所述票证包括所述票证何时到期的指示;以及

其中确定所述移动装置具有有效的票证包括基于所述票证何时到期的指示确定所述票证还未到期。

12.如声明10所述的设备,其中所述可执行指令被配置为当由所述至少一个处理器执行时进一步促使所述设备执行以下操作:

关闭所述VPN隧道;

在关闭所述VPN隧道后:

基于确定所述证书已到期确定所述移动装置不具有有效的票证,

获得新票证,

基于所述新票证确定所述移动装置具有有效的票证,

向所述接入网关传送所述新票证,以及

创建用于所述应用的新VPN隧道。

13.如声明10所述的设备,其中所述可执行指令被配置为当由所述至少一个处理器执行时进一步促使所述设备执行以下操作:

关闭所述VPN隧道;

在关闭所述VPN隧道后:

基于确定所述证书未到期确定所述移动装置具有有效的票证,

第二次向所述接入网关传送所述票证,以及

创建用于所述应用的新VPN隧道。

14.如声明10所述的设备,其中所述应用是被管理应用,并且所述VPN隧道是所述移动装置的其他应用不可访问的依据应用的策略控制的VPN隧道。

15.如声明10所述的设备,其中所述可执行指令被配置为当由所述至少一个处理器执行时进一步促使所述设备执行以下操作:

使用关于打开至所述至少一个资源的多个VPN隧道的所述票证,而无需所述移动装置的用户输入或选择用于认证的凭证,其中所述多个VPN隧道中的每个VPN隧道向所述应用提供对所述至少一个资源的访问。

16.如声明10所述的设备,其中所述可执行指令被配置为当由所述至少一个处理器执行时进一步促使所述设备执行以下操作:

基于所述票证,向通过所述接入网关可访问的一个或多个服务器提供启用通知用户存在的存在相关功能所需的信息,所述用户与所述移动装置相关联。

17.一种或多种非暂时性计算机可读介质,其存储了指令,所述指令被配置为当被执行时促使至少一个计算装置执行以下操作:

接收策略信息,所述策略信息描述用于向所述移动装置的应用提供对至少一个资源的访问的一个或多个策略,所述至少一个资源通过接入网关是可访问的;

确定所述移动装置具有有效的票证,所述票证被配置为提供关于创建用于所述应用至所述至少一个资源的虚拟专用网络(VPN)隧道的认证;

分析策略信息以确定对所述至少一个资源的网络访问被允许;

向所述接入网关传送所述票证;以及

创建用于所述应用访问所述至少一个资源的VPN隧道。

18.如声明17所述的一种或多种非暂时性计算机可读介质,其中所述指令被配置为当被执行时进一步促使所述至少一个计算装置执行以下操作:用所述接入网关执行初始认证,引起所述移动装置接收所述票证,其中所述票证包括所述票证何时到期的指示;以及

其中确定所述移动装置具有有效的票证包括基于所述票证何时到期的指示确定所述票证还未到期。

19.如声明17所述的一种或多种非暂时性计算机可读介质,其中所述指令被配置为当被执行时进一步促使所述至少一个计算装置执行以下操作:

关闭所述VPN隧道;

在关闭所述VPN隧道后:

基于确定所述票证已到期确定所述移动装置不具有有效的票证,

获得新票证,

基于所述新票证确定所述移动装置具有有效的票证,

向所述接入网关传送所述新票证,以及

创建用于所述应用的新VPN隧道。

20.如声明17所述的一种或多种非暂时性计算机可读介质,其中所述指令被配置为当被执行时进一步促使所述至少一个计算装置执行以下操作:

关闭所述VPN隧道;

在关闭所述VPN隧道后:

基于确定所述票证未到期确定所述移动装置具有有效的票证,

第二次向所述接入网关传送所述票证,以及

创建用于所述应用的新VPN隧道。

描述一个或多个示例性实施例的第二声明集

1.一种方法,包括:

执行对存储在接入网关的策略信息的更新,其中所述策略信息描述用于向移动装置的应用提供对至少一个企业资源的访问的一个或多个策略,所述至少一个企业资源通过所述接入网关是可访问的,所述更新产生更新的策略信息;

确定向所述移动装置传送更新的策略信息;

向所述移动装置传送所述更新的策略信息;

向所述移动装置传送票证,所述票证被配置为提供关于创建用于所述应用至所述至少一个资源的虚拟专用网络(VPN隧道)的认证;以及

打开所述VPN隧道以向所述应用提供对所述至少一个资源的访问。

2.如声明1所述的方法,其中,执行对所述策略信息的更新基于安装在所述移动装置上的应用的列表。

3.如声明2所述的方法,还包括用对应于应用的条目更新所述应用的列表。

4.如声明1所述的方法,其中,执行对所述策略信息的更新基于被发出并且当前对所述移动装置有效的票证的列表。

5.如声明4所述的方法,还包括:

基于传送所述票证到所述移动装置来更新所述票证的列表。

6.如声明1所述的方法,其中所述VPN隧道是仅向所述应用提供对所述至少一个资源的访问的依据应用的策略控制的VPN隧道。

7.如声明1所述的方法,其中,确定更新策略信息基于从所述移动装置收到关于策略信息的请求。

8.如声明1所述的方法,还包括:

创建用户界面,所述用户界面被配置为显示应用的列表和被发出并且当前对所述移动装置有效的票证的列表;

基于经由所述用户界面接收的第一输入,更改所述应用的列表或所述票证的列表;以及

基于经由所述用户界面接收的第一输入,促使所述接入网关执行所述确定向所述移动装置传送更新的策略信息,并执行所述向所述移动装置传送所述更新的策略信息。

9.如声明1所述的方法,其中确定更新策略信息基于定期的计划。

10.一种设备,包括:

至少一个处理器;以及

存储器,其存储可执行指令,所述可执行指令经被配置为当由所述至少一个处理器执行时促使所述设备执行以下操作:

执行对存储在接入网关的策略信息的更新,其中所述策略信息描述用于向移动装置的应用提供对至少一个资源的访问的一个或多个策略,所述至少一个资源通过所述接入网关是可访问的,所述更新产生更新的策略信息,

确定向所述移动装置传送更新的策略信息,

向所述移动装置传送所述更新的策略信息;

向所述移动装置传送票证,所述票证被配置为提供关于创建用于所述应用至所述至少一个资源的虚拟专用网络(VPN)隧道的认证,以及打开所述VPN隧道以向所述应用提供对所述至少一个资源的访问。

11.如声明10所述的设备,其中,执行对所述策略信息的更新基于安装在所述移动装置上的应用的列表。

12.如声明11所述的设备,其中所述可执行指令被配置为当由所述至少一个处理器执行时进一步促使所述设备用对应于所述应用的条目更新所述应用的列表。

13.如声明10所述的设备,其中,执行对所述策略信息的更新基于被发出并且当前对所述移动装置有效的票证的列表。

14.如声明13所述的设备,其中所述可执行指令被配置为当由所述至少一个处理器执行时进一步促使所述设备基于向所述移动装置传送所述票证来更新所述票证的列表。

15.如声明10所述的设备,其中所述VPN隧道是仅向所述应用提供对所述至少一个资源的访问的依据应用的策略控制的VPN隧道。

16.如声明10所述的设备,其中,确定更新策略信息基于下列项中的一项或多项:从所述移动装置接收策略信息的请求;来自指示所述接入网关更新策略信息的操作员的信号;或定期计划。

17.一种或多种非暂时性计算机可读介质,其存储了指令,所述指令被配置为当被执行时促使至少一个计算装置执行以下操作:

执行对存储在接入网关的策略信息的更新,其中所述策略信息描述用于向移动装置的应用提供对至少一个资源的访问的一个或多个策略,所述至少一个资源通过所述接入网关是可访问的,所述更新产生更新的策略信息;

确定向所述移动装置传送更新的策略信息;

向所述移动装置传送所述更新的策略信息;

向所述移动装置传送票证,所述票证被配置为提供关于创建用于所述应用至所述至少一个资源的虚拟专用网络(VPN)隧道的认证;以及

打开所述VPN隧道以向所述应用提供对所述至少一个资源的访问。

18.如声明17所述的一种或多种非暂时性计算机可读介质,其中,执行对所述策略信息的更新基于安装在所述移动装置上的应用的列表,以及

其中所述指令被配置为当被执行时进一步促使所述至少一个计算装置用对应于所述应用的条目更新所述应用的列表。

19.如声明17所述的一种或多种非暂时性计算机可读介质,其中,执行对所述策略信息的更新基于被发出并且当前对所述移动装置有效的票证的列表,以及

其中所述指令被配置为当被执行时进一步促使所述至少一个计算装置基于传送所述票证到所述移动装置来更新所述票证的列表。

20.如声明17所述的一种或多种非暂时性计算机可读介质,其中所述VPN隧道是仅向所述应用提供对所述至少一个资源的访问的依据应用的策略控制的VPN隧道。

描述一个或多个示例性实施例的第三声明集

1.一种方法,包括:

检测应用能够以第一模式和第二模式运行在移动装置上,其中第一模式是在与所述应用分开并且可用于管理在所述移动装置上执行的多个应用的运行的一个或多个策略的控制下运行的被管理模式;

在所述移动装置上以第一模式运行所述应用;以及

当所述应用以第一模式运行时,至少基于以下项向所述应用提供对通过接入网关可访问的至少一个资源的访问:用于所述应用到至少一个资源的虚拟专用网络(VPN)隧道、被配置为提供关于创建所述VPN隧道的认证、以及描述所述一个或多个策略的策略信息。

2.如声明1所述的方法,其中,以第一模式运行的应用响应于比较所述应用和所述策略信息。

3.如声明2所述的方法,其中第二模式是在不同于一个或多个策略文件的一个或多个另外策略文件的控制下运行的第二被管理模式。

4.如声明2所述的方法,其中所述策略信息规定,当所述票证是有效的或被存储在所述移动装置的安全容器中时,所述应用以第一模式运行,并且其中,仅当所述应用以第一模式运行并且仅当所述VPN隧道被创建时,所述至少一个资源是可访问的。

5.如声明2所述的方法,其中所述策略信息规定,当发现所述票证不是有效或已到期时,所述应用以第二模式运行。

6.如声明1所述的方法,还包括:

监视所述应用;

基于所述监视确定以第一模式或第二模式运行的应用中的变化;以及

在第一模式或第二模式之间切换。

7.如声明6所述的方法,其中,在第一模式或第二模式之间切换包括从第一模式切换到第二模式,以及

其中基于所述监视确定以第一模式或第二模式运行的应用的变化条件在于有效的票证已由所述移动装置接收的确定。

8.如声明7所述的方法,其中,从第一模式切换到第二模式包括执行选择性擦除。

9.如声明1所述的方法,其中所述VPN隧道是安装在所述移动装置上的其他应用不可访问的依据应用的策略控制的VPN隧道。

10.一种设备,包括:

至少一个处理器;以及

存储器,其存储可执行指令,所述可执行指令被配置为当由所述至少一个处理器执行时促使所述设备执行以下操作:

检测应用能够以第一模式和第二模式两者运行在移动装置上,其中第一模式是在与所述应用分开并且可用于管理在所述移动装置上执行的多个应用的运行的一个或多个策略的控制下运行的被管理模式,

以第一模式运行所述应用,以及

当所述应用以第一模式运行时,至少基于以下项向所述应用提供对通过接入网关可访问的至少一个资源的访问:用于所述应用到至少一个资源的虚拟专用网络(VPN)隧道、被配置为提供关于创建所述VPN隧道的认证的票证,以及描述一个或多个策略的策略信息。

11.如声明10所述的设备,其中,以第一模式运行的应用响应于比较所述应用和所述策略信息。

12.如声明11所述的设备,其中第二模式是在不同于一个或多个策略文件的一个或多个另外策略文件的控制下运行的第二被管理模式。

13.如声明11所述的设备,其中所述策略信息规定,当所述票证是有效的或被存储在所述移动装置的安全容器中时,所述应用以第一模式运行,并且其中,仅当所述应用以第一模式运行并且仅当创建了所述VPN隧道时,所述至少一个资源是可访问的。

14.如声明11所述的设备,其中所述策略信息规定,当发现所述票证不是有效或已到期时,所述应用以第二模式运行。

15.如声明10所述的设备,其中所述可执行指令被配置为当由所述至少一个处理器执行时进一步促使所述设备执行以下操作:

监视所述应用;

基于所述监视确定以第一模式或第二模式运行应用的变化;以及

在第一模式或第二模式之间切换。

16.如声明15所述的设备,其中,在第一模式或第二模式之间切换包括从第一模式切换到第二模式,以及

其中,基于所述监视确定以第一模式或第二模式运行所述应用的变化的条件在于有效的票证已由所述设备接收的确定。

17.一种或多种非暂时性计算机可读介质,其存储了指令,所述指令被配置为当被执行时促使至少一个计算装置执行以下操作:

检测应用能够以第一模式和第二模式两者运行在移动装置上,其中第一模式是在与所述应用分开并且可用于管理在所述移动装置上执行的多个应用的运行的一个或多个策略的控制下运行的被管理模式;

以第一模式运行所述应用;以及

当所述应用以第一模式运行时,至少基于以下项向所述应用提供对通过接入网关可访问的至少一个资源的访问:用于所述应用到至少一个资源的虚拟专用网络(VPN)隧道、被配置为提供关于创建所述VPN隧道的认证、以及描述一个或多个策略的策略信息。

18.如声明17所述的一种或多种非暂时性计算机可读介质,其中,以第一模式运行所述应用响应于比较所述应用和所述策略信息。

19.如声明18所述的一种或多种非暂时性计算机可读介质,其中所述策略信息规定,当所述票证是有效的或存储在所述移动装置的安全容器中时,所述应用以第一模式运行,其中所述策略信息规定,当发现所述票证不是有效或已到期时,所述应用以第二模式运行,

其中仅当所述应用以第一模式运行并且仅当创建了所述VPN隧道时,所述至少一个资源是可访问的,以及

其中第二模式是在不同于一个或多个策略文件的一个或多个另外策略文件的控制下运行的第二被管理模式。

20.如声明17所述的一种或多种非暂时性计算机可读介质,其中所述指令被配置为当被执行时进一步促使至少一个计算装置执行以下操作:

监视所述应用;

基于所述监视确定以第一模式或以第二模式运行所述应用的变化,其中基于所述监视确定以第一模式或以第二模式运行所述应用的变化条件在于有效的票证已由所述至少一个计算装置接收的确定;以及

在第一模式或第二模式之间切换。

描述一个或多个示例性实施例的第四声明集

1.一种方法,包括:

在移动装置接收关于被管理应用的认证过程的认证询问,所述认证过程用于创建指定用于被管理应用的虚拟专用网络(VPN)隧道;

分析策略信息,以确定所述策略信息允许所述移动装置对所述认证询问而不是对用户或被管理应用做出响应,其中所述策略信息描述用于向所述被管理应用提供对至少一个资源的访问的一个或多个策略,所述至少一个资源通过接入网关是可访问的;

由所述移动装置对所述认证询问而不是对所述用户或所述被管理应用做出响应;以及

至少基于以下项向所述被管理应用提供对至少一个资源的访问:到所述至少一个资源的所述虚拟专用网络(VPN)隧道、被配置为提供关于创建所述VPN隧道的认证的票证、以及所述策略信息。

2.如声明1所述的方法,其中所述策略信息规定,所述移动装置被允许基于允许源的列表发送对认证询问的响应。

3.如声明1所述的方法,其中所述策略信息规定,所述移动装置被允许基于所述移动装置具有所述票证发送对认证询问的响应。

4.如声明1所述的方法,还包括:

接收另一认证询问;

在接收所述另一认证询问后:

基于确定所述票证已到期,确定所述移动装置未被允许对所述另一认证询问做出响应,以及

根据响应于认证询问的常规方法,提供所述另一认证询问供进一步处理。

5.如声明4所述的方法,其中响应于认证询问的所述常规方法包括向所述用户提供引导所述用户选择要发送的作为对所述另一认证询问的响应的凭证的通知。

6.如声明1所述的方法,还包括

关闭所述VPN隧道;

在关闭所述VPN隧道后:

基于确定所述票证已到期确定所述移动装置不具有有效的证书,

获得新票证,

基于所述新票证确定所述移动装置具有有效的票证,

向所述接入网关传送所述新票证,以及

创建用于所述被管理应用的新VPN隧道。

7.如声明1所述的方法,其中所述VPN隧道是所述移动装置的其他应用不可访问的依据应用的策略控制的VPN隧道。

8.如声明1所述的方法,其中响应于所述认证询问被执行,而无需所述移动装置的用户输入或选择要发送的作为对所述认证询问的响应的凭证。

9.如声明1所述的方法,还包括:

至少通过监视在所述VPN隧道内流动的网络流量,识别所述认证询问的接收;以及

在所述认证询问被所述被管理应用接收之前,拦截所述认证询问。

10.一种方法,包括:

至少基于以下项给在移动装置上执行的被管理浏览器提供对通过接入网关可访问的至少一个资源的访问:用于被管理浏览器至所述至少一个资源的虚拟专用网络(VPN)隧道、被配置为提供关于创建所述VPN隧道的认证的票证,以及描述用于向所述被管理浏览器提供对所述至少一个资源的访问的一个或多个策略的策略信息;

在移动装置接收关于所述被管理浏览器的、表示针对证书的请求的消息;

分析策略信息以确定所述策略信息允许所述移动装置对所述消息而不是对用户或所述被管理浏览器做出响应;以及

由所述移动装置对所述消息而不是对所述用户或所述被管理浏览器做出响应。

11.如声明10所述的方法,其中所述策略信息规定,所述移动装置被允许基于证书的列表或证书类型的列表发送对所述消息的响应。

12.如声明10所述的方法,其中所述策略信息规定,所述移动装置被允许基于所述移动装置具有所述票证发送对所述消息的响应。

13.如声明10所述的方法,还包括:

接收表示对另一证书的请求的另一消息;

在收到所述另一消息后:

基于确定所述票证已到期,确定所述移动装置未被允许对所述另一消息做出响应,以及

根据响应于证书请求的常规方法,提供所述另一消息供进一步处理。

14.如声明13所述的方法,其中,响应于证书请求的所述常规方法包括向所述用户提供引导所述用户选择要发送的作为对所述另一消息的响应的凭证的通知。

15.如声明10所述的方法,还包括

关闭所述VPN隧道;

在关闭所述VPN隧道后:

基于确定所述票证已到期确定所述移动装置不具有有效的票证,

获得新票证,

基于所述新票证确定所述移动装置具有有效的票证,

向所述接入网关传送所述新票证,以及

创建用于所述被管理应用的新VPN隧道。

17.一种方法,包括:

在允许在移动装置上执行的被管理应用访问至少一个资源之前,在接入网关接收关于认证用户的初始认证过程的消息,所述至少一个资源通过所述接入网关是可访问的;

确定与所述用户相关联的凭证信息,其中所述凭证信息包括票证,所述票证被配置为提供关于创建访问所述至少一个资源的虚拟专用网络(VPN)隧道的认证;

向至少所述移动装置传送所述凭证信息;以及

打开所述VPN隧道以向所述被管理应用提供对所述至少一个资源的访问。

18.如声明17所述的方法,其中所述凭证信息包括已向与所述用户相关联的多个移动装置发出的票证的列表。

19.如声明18所述的方法,还包括:

向多个移动装置中的每个移动装置传送所述凭证信息。

20.如声明17所述的方法,其中所述凭证信息包括被链接用于用户的一个或多个策略的列表,一个或多个策略的列表中的每个策略指定用于不同的应用,并且其中,一个或多个策略的列表中的一个策略描述当所述移动装置被允许访问所述至少一个资源时相关的条件。

虽然本主题以指定结构特征和/或方法行为的语言来描述,但应当理解,被任何权利要求定义的主题不一定局限于上述的指定特征或行为。相反,上述的指定特征和行为被描述为所附权利要求的某些示例实施。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1