CN107924431A - 匿名应用程序包装 - Google Patents

匿名应用程序包装 Download PDF

Info

Publication number
CN107924431A
CN107924431A CN201680047352.XA CN201680047352A CN107924431A CN 107924431 A CN107924431 A CN 107924431A CN 201680047352 A CN201680047352 A CN 201680047352A CN 107924431 A CN107924431 A CN 107924431A
Authority
CN
China
Prior art keywords
application program
service
controller
controller service
terminal device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201680047352.XA
Other languages
English (en)
Other versions
CN107924431B (zh
Inventor
R·海顿
乔治·莫驰洛夫
盖瑞·巴顿
A·英尼斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Citrix Systems Inc
Original Assignee
Citrix Systems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Citrix Systems Inc filed Critical Citrix Systems Inc
Publication of CN107924431A publication Critical patent/CN107924431A/zh
Application granted granted Critical
Publication of CN107924431B publication Critical patent/CN107924431B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/629Protecting access to data via a platform, e.g. using keys or access control rules to features or functions of an application
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0281Proxies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/105Multiple levels of security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • H04W12/068Authentication using credential vaults, e.g. password manager applications or one time password [OTP] applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • H04W12/069Authentication using certificates or pre-shared keys
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/08Access security
    • H04W12/086Access security using security domains
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/08Access security
    • H04W12/088Access security using filters or firewalls
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/30Security of mobile devices; Security of mobile applications
    • H04W12/37Managing security policies for mobile devices or for controlling mobile applications

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Telephonic Communication Services (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

公开用于提供对移动装置进行匿名应用程序包装的途径的方法和系统。所述方法和系统可以包含:通过控制器服务来接收使在客户端装置上执行的第一应用程序与所述控制器服务相关联的请求;和通过所述控制器服务来获得与所述第一应用程序相关联的第一应用程序识别符。所述方法和系统还可以包含:通过所述控制器服务从应用程序服务接收针对第一服务的请求和条件性应用程序识别符;和通过所述控制器服务且基于针对所述第一服务的所述请求,使用用以控制所述第一应用程序的一个或多个策略指令的第二集合来配置所述第一应用程序。

Description

匿名应用程序包装
相关申请的交叉引用
本申请要求2015年7月21日提交的名为匿名应用程序包装(ANONYMOUSAPPLICATION WRAPPING)的美国非临时专利申请第14/804,705号的优先权,出于所有目的,所述美国非临时专利申请以引用的方式并入本文中。
技术领域
本公开的方面大体上涉及计算硬件和计算机软件。具体地说,本公开的一个或多个方面涉及对移动装置进行匿名应用程序包装。
背景技术
在我们的日常生活中,移动装置已变得必不可少。越来越多的人正在个人和商业环境中出于多种目的使用移动装置。在当今社会,用户的隐私,尤其是个人设置方面,变得更加重要。当前的应用程序包装技术使经包装应用程序与企业用户帐户相关联。另外,主要或部分地基于用户的身份来传递针对经包装应用程序的策略。因此,在当前技术的情况下,用户的身份或用户帐户信息可能会暴露于用户可能不想要这种信息被提供到的恶意应用程序或实体。因此,需要人们以匿名方式来产生受管理的应用程序。
发明内容
作为对在下文较详细地描述的主题的大体介绍,本文中所描述的方面涉及处理并修改未管理应用程序以产生移动装置上的受管理应用程序。本文中所描述的方面还涉及安装或保存所述单一移动装置上的所产生受管理应用程序。
本公开的一个或多个方面提供一种方法,可以包含:通过控制器服务从客户端装置接收使在所述客户端装置上执行的第一应用程序与所述控制器服务相关联的请求,所述控制器服务被配置成通过一个或多个策略指令而控制所述第一应用程序,所述一个或多个策略指令位于所述客户端装置上且由所述客户端装置上的移动性管理系统施行,其中每一策略文件界定由所述移动性管理系统对所述第一应用程序施行的一个或多个限制或由所述移动性管理系统授予所述第一应用程序的一个或多个启用;和通过所述控制器服务来获得与所述第一应用程序相关联的第一应用程序识别符,所述第一应用程序识别符对应于用以控制所述第一应用程序的所述一个或多个策略指令的第一集合。所述方法还可以包含:通过所述控制器服务从应用程序服务接收针对第一服务的请求和条件性应用程序识别符;和响应于所述条件性应用程序识别符匹配于所述第一应用程序识别符,通过所述控制器服务且基于针对所述第一服务的所述请求,使用用以控制所述第一应用程序的一个或多个策略指令的第二集合来配置所述第一应用程序。
本公开的一个或多个方面提供一种系统,包含:至少一个处理器;和至少一个存储器,其存储当由所述至少一个处理器执行时致使所述系统执行一个或多个步骤的指令。系统可以执行的步骤可以包含:通过控制器服务从客户端装置接收使在所述客户端装置上执行的第一应用程序与所述控制器服务相关联的请求,所述控制器服务被配置成通过一个或多个策略指令而控制所述第一应用程序,所述一个或多个策略指令存储在所述客户端装置上且由所述客户端装置上的移动性管理系统施行,其中每一策略文件界定由所述企业移动性管理系统对所述第一应用程序施行的一个或多个限制或由所述企业移动性管理系统授予所述第一应用程序的一个或多个启用;和通过所述控制器服务来获得与所述第一应用程序相关联的第一应用程序识别符,所述第一应用程序识别符对应于用以控制所述第一应用程序的所述一个或多个策略指令的第一集合。步骤还可以包含:通过所述控制器服务从应用程序服务接收针对第一服务的请求和条件性应用程序识别符;和响应于所述条件性应用程序识别符匹配于所述第一应用程序识别符,通过所述控制器服务且基于针对所述第一服务的所述请求,使用用以控制所述第一应用程序的一个或多个策略指令的第二集合来配置所述第一应用程序。
本公开的一个或多个方面提供一个或多个非暂时性计算机可读存储媒体,具有在其上存储的指令,所述指令在由一个或多个处理器执行时可以致使所述一个或多个处理器执行步骤。一个或多个处理器执行的步骤可以包含:通过控制器服务从客户端装置接收使在所述客户端装置上执行的第一应用程序与所述控制器服务相关联的请求,所述控制器服务被配置成通过一个或多个策略指令而控制所述第一应用程序,所述一个或多个策略指令位于所述客户端装置上且由所述客户端装置上的移动性管理系统施行,其中每一策略文件界定由所述移动性管理系统对所述第一应用程序施行的一个或多个限制或由所述移动性管理系统授予所述第一应用程序的一个或多个启用;和通过所述控制器服务来获得与所述第一应用程序相关联的第一应用程序识别符,所述第一应用程序识别符对应于用以控制所述第一应用程序的所述一个或多个策略指令的第一集合。步骤还可以包含:通过所述控制器服务从应用程序服务接收针对第一服务的请求和条件性应用程序识别符;和响应于所述条件性应用程序识别符匹配于所述第一应用程序识别符,通过所述控制器服务且基于针对所述第一服务的所述请求,使用用以控制所述第一应用程序的一个或多个策略指令的第二集合来配置所述第一应用程序。
通过在下文进一步详细论述的本公开的益处,将了解这些和额外方面。
附图说明
可通过参考考虑附图的以下描述来获取对本文中所描述的方面和其优点的更完整理解,附图中相同参考标号指示相同特征,且其中:
图1描绘可以根据本文中描述的一个或多个说明性方面使用的说明性计算机系统架构。
图2描绘可以根据本文中描述的一个或多个说明性方面使用的说明性远程访问系统架构。
图3描绘说明性企业移动性管理系统。
图4描绘另一说明性企业移动性管理系统。
图5描绘展示根据本文中所描述的一个或多个特征的实例系统的说明图。
图6描绘展示根据本文中所描述的一个或多个特征的匿名应用程序包装的实例方法的说明性流程图。
图7描绘展示根据本文中所描述的一个或多个特征的实例系统配置的说明图。
图8描绘展示根据本文中所描述的一个或多个特征的实例系统配置的说明图。
具体实施方式
在各种实施例的以下描述中,参考上文识别且形成本文的一部分的附图,且其中借助于说明展示可实践本文中所描述的方面的各种实施例。应理解,在不脱离本文中所描述的范围的情况下,可利用其它实施例,且可进行结构和功能修改。各种方面能够有其它实施例并且以各种不同方式实践或进行。
因为在下文更详细地描述对主题的大体引入,所以本文中所描述的方面涉及使用移动计算装置处的受管理移动应用程序来控制对企业计算系统处的资源的远程访问。访问管理器可以执行校验方法,所述校验方法确定请求对企业资源的访问的移动应用程序自身是否已被准确地识别且是否尚未在安装在移动计算装置处之后就相继地更改。通过这种方式,访问管理器可以确保请求对企业资源的访问的移动应用程序可以信任,且不会尝试避开用以保护那些企业资源的安全机构。结果,与企业相关联的个人可以有利地利用其个人移动装置处的企业资源。
应理解,本文中使用的措词和术语是出于描述的目的且不应被看作是限制性的。相反地,应对本文中使用的短语和术语给予其最广泛的解释和意义。对“包含(including)”和“包括(comprising)”和其变体的使用打算涵盖其后列出的项目和其等效物以及额外项目和其等效物。对术语“安装”、“连接”、“耦合”、“定位”、“啮合”和类似术语的使用打算包含直接和间接安装、连接、耦合、定位和啮合两者。
计算架构
可在尤其包含独立式、联网、远程访问(又名,远程桌面)、虚拟化和/或基于云的环境的多种不同系统环境中利用计算机软件、硬件和网络。图1说明可用以在独立式和/或联网环境中实施本文中描述的一个或多个说明性方面的系统架构和数据处理装置的一个实例。各种网络节点103、105、107和109可通过例如因特网的广域网(WAN)101互连。也可或替代地使用其它网络,包含专用内联网、公司网络、LAN、城域网(MAN)无线网络、个人网络(PAN)和其类似网络。网络101是出于说明的目的,且可由较少或额外计算机网络替换。局域网(LAN)可具有任何已知LAN拓扑中的一个或多个,且可使用多种不同协议(例如以太网)中的一个或多个。装置103、105、107、109和其它装置(未展示)可通过双绞线电线、同轴电缆、光纤、无线电波或其它通信媒体连接到网络中的一个或多个。
如本文中所使用且在图式中描绘的术语“网络”不仅指远程存储装置通过一个或多个通信路径耦合在一起的系统,而且指可不时地耦合到具有存储能力的此类系统的独立式装置。因此,术语“网络”不仅包含“物理网络”,而且包含“内容网络”,其包括驻留在所有物理网络上的可归于单一实体的数据。
组件可包含数据服务器103、网页服务器105和客户端计算机107、109。数据服务器103提供数据库和控制软件的总体访问、控制和管理,以用于执行本文中所描述的一个或多个说明性方面。数据服务器103可连接到网络服务器105,通过所述网络服务器105,用户按请求与数据交互和获得数据。替代地,数据服务器103可充当网络服务器自身且直接连接到因特网。数据服务器103可通过网络101(例如,因特网)通过直接或间接连接或通过某一其它网络连接到网页服务器105。用户可以使用远程计算机107、109与数据服务器103交互,例如使用网页浏览器以通过由网页服务器105代管的一个或多个外部暴露网站而连接到数据服务器103。客户端计算机107、109可以与数据服务器103协同使用以访问其中存储的数据,或可以用于其它目的。举例来说,从客户端装置107,用户可使用因特网浏览器(如此项技术中已知)或通过执行在计算机网络(例如因特网)上与网页服务器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可具有用于控制服务器和其相关联组件(包含RAM 205、ROM207、I/O模块209和存储器215)的总体操作的处理器203。
I/O模块209可包含鼠标、小键盘、触摸屏幕、扫描器、光学阅读器和/或手写笔(或其它输入装置),通用计算装置201的用户可以通过所述装置提供输入,且I/O模块209还可包括用于提供音频输出的扬声器和用于提供文字、视听和/或图形输出的视频显示装置中的一个或多个。软件可存储在存储器215和/或其它存储装置内以将用于将通用计算装置201配置成专用计算装置以便执行如本文中所描述的各种功能的指令提供到处理器203。举例来说,存储器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 System)、IBM、VMware或任一其它管理程序开发的管理程序。在一些方面,虚拟机可由管理程序管理,而在各方面中,虚拟机可由在服务器206上执行的管理程序或在客户端240上执行的管理程序管理。
一些实施例包含客户端装置240,其显示由在服务器206上远程执行的应用程序或其它远程定位的机器产生的应用程序输出。在这些实施例中,客户端装置240可执行虚拟机接收器程序或应用程序以在应用程序窗口、浏览器或其它输出窗口中显示输出。在一个实例中,应用程序是桌面,而在其它实例中,应用程序是产生或呈现桌面的应用程序。桌面可包含图形壳层,其提供用于其中可整合本地和/或远程应用程序的操作系统的例项的用户接口。如本文中所使用的应用程序是在已加载操作系统(且任选地,以及桌面)的例项之后执行的程序。
在一些实施例中,服务器206使用远程呈现协议或其它程序将数据发送到精简客户端或客户端上执行的远程显示应用程序,以呈现由服务器206上执行的应用程序产生的显示输出。精简客户端或远程显示协议可以是以下非详尽性协议列表中的任一个:由佛罗里达劳德代尔堡(Ft.Lauderdale,Florida)的思杰系统公司开发的独立计算架构(ICA)协议;或由华盛顿雷德蒙德(Redmond,Washington)的微软(Microsoft)公司制造的远程桌面协议(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,且用来自第二服务器106b的响应来响应由客户端机器240产生的请求。第一服务器106a可获取可用于客户端机器240的应用程序的列举,以及与代管在应用程序的列举内识别的应用程序的应用程序服务器206相关联的地址信息。第一服务器106a接着可以使用Web界面来呈现对客户请求的响应,且与客户端240直接地通信以使客户端240访问经识别应用程序。一个或多个客户端240和/或一个或多个服务器206可通过例如网络101的网络230传输数据。
图2展示说明性桌面虚拟化系统的高层级架构。如所展示,桌面虚拟化系统可以是单服务器或多服务器系统或云系统,包含被配置以对一个或多个客户端访问装置240提供虚拟桌面和/或虚拟应用程序的至少一个虚拟化服务器206。如本文中所使用,桌面指其中可代管和/或执行一个或多个应用程序的图形环境或空间。桌面可包含图形壳层,其提供用于其中可整合本地和/或远程应用程序的操作系统的例项的用户接口。应用程序可包含在已负载操作系统(且任选地,还有桌面)的个例后执行的程序。操作系统的每一个例可以是物理的(例如,每装置一个操作系统)或虚拟的(例如,在单一装置上运行的操作系统(OS)的许多个例)。每一应用程序可在本地装置上执行,或在位于远处的装置(例如,远程)上执行。
企业移动性管理架构
图3表示用于在BYOD环境中使用的企业移动性技术架构300。架构使客户端装置(例如,移动装置)302的用户能够访问来自移动装置302的企业或个人资源两种且将移动装置302用于个人用途。用户可使用由用户购买的移动装置302或由企业提供给用户的移动装置302访问此类企业资源304或企业服务308。用户可仅将移动装置302用于商业用途,或用于商业和个人用途。移动装置可运行iOS操作系统,和Android操作系统,或类似系统。企业可选择实施管理移动装置302的策略。可按以下方式通过防火墙或网关植入所述策略:移动装置可被识别,安全化或安全验证,并提供对企业资源的选择性或完全访问。策略可以是移动装置管理策略、移动应用程序管理策略、移动数据管理策略,或移动装置、应用程序与数据管理策略的某种组合。通过应用移动装置管理策略管理的移动装置304可被称作已注册装置。
在一些实施例中,移动装置的操作系统可被分成受管理分割区310和未管理分割区312。受管理分割区310可具有施加到其以使在受管理分割区上运行的应用程序和存储在受管理分割区中的数据安全的策略。在受管理分割区上运行的应用程序可以是安全应用程序。在其它实施例中,所有应用程序可根据与应用程序分开接收的一个或多个策略文件的集合而执行,且所述一个或多个策略文件定义一个或多个安全参数、特征、资源限制和/或当所述应用程序正在装置上执行时由移动装置管理系统施行的其它访问控制。通过根据其各别策略文件来操作,可以允许或限制每一应用程序与一个或多个其它应用程序和/或资源通信,借此产生虚拟分割区。因此,如本文中所使用,分割区可指存储器的物理上分割的部分(物理分割区)、存储器的逻辑分割的部分(逻辑分割区)和/或如本文中所描述,通过跨多个应用程序施行一个或多个策略和/或策略文件而产生的虚拟分割区(虚拟分割区)。换句话说,通过对受管理应用程序施行策略,那些应用程序可限于仅能够与其它受管理应用程序和可信的企业资源通信,借此产生不能由未管理应用程序和装置渗透的虚拟分割区。
安全应用程序可以是电子邮件应用程序、网页浏览应用程序、软件即服务(software-as-a-service,SaaS)访问应用程序、Windows Application访问应用程序等。安全应用程序可以是安全本机应用程序314、由安全应用程序启动器318执行的安全远程应用程序322、由安全应用程序启动器318执行的虚拟化应用程序326等。安全本机应用程序314可由安全应用程序包装器320包装。安全应用程序包装器320可包含当在装置上执行安全本机应用程序时在移动装置302上执行的整合策略。安全应用程序包装器320可包含向企业代管的资源指出在移动装置302上运行的安全本机应用程序314的元数据,安全本机应用程序314可能需要所述元数据来完成在执行安全本机应用程序314时请求的任务。可以在安全应用程序启动器应用程序318内执行由安全应用程序启动器318执行的安全远程应用程序322。由安全应用程序启动器318执行的虚拟化应用程序326可以在企业资源304处利用移动装置302上的资源等。由安全应用程序启动器318执行的虚拟化应用程序326在移动装置302上使用的资源可包含用户交互资源、处理资源等。用户交互资源可用以收集和传输键盘输入、鼠标输入、相机输入、触觉输入、音频输入、视觉输入、示意动作输入和类似物。处理资源可用以呈现用户接口,处理从企业资源304接收的数据,和类似情况。由安全应用程序启动器318执行的虚拟化应用程序326在企业资源304处使用的资源可包含用户接口产生资源、处理资源等。用户接口产生资源可用以汇编用户接口,修改用户接口,刷新用户接口和类似情况。处理资源可用以产生信息、读取信息、更新信息、删除信息和类似情况。举例来说,虚拟化应用程序可记录与图形用户接口(GUI)相关联的用户交互,且将其传送到服务器应用程序,其中服务器应用程序将使用用户交互数据作为到在服务器上操作的应用程序的输入。在此布置中,企业可选择维持服务器侧上的应用程序,以及与应用程序相关联的数据、文件等等。虽然企业可通过确保一些应用程序安全以供在移动装置上部署来根据本文中的原理选择“调动”一些应用程序,但也可以针对特定应用程序选择这布置。举例来说,虽然可确保一些应用程序安全以供在移动装置上使用,但是其它可能未做准备,或可能不适合于在移动装置上部署,因此企业可选择通过虚拟化技术提供到未准备的应用程序的移动用户访问。作为另一实例,企业可能具有大且复杂的数据集的大且复杂的应用程序(例如,材料资源计划应用程序),其中针对移动装置定制应用程序将很困难或不合需要,因此企业可选择通过虚拟化技术提供对应用程序的访问。作为又一实例,企业可具有维持高度安全数据(例如,人力资源数据、客户数据、工程数据)的应用程序,所述高度安全数据可被企业认为对于甚至安全的移动环境也是过于敏感,因此企业可选择使用虚拟化技术来准许对此类应用程序和数据的移动访问。企业可选择在移动装置上提供充分安全且充分功能性的应用程序,以及提供虚拟化应用程序,以允许对被认为在服务器侧上操作更恰当的应用程序的访问。在一实施例中,虚拟化应用程序可在安全存储位置中的一个中将一些数据、文件等等存储在移动电话上。举例来说,企业可选择允许在通电话中存储某些信息,同时不准许其它信息。
关于虚拟化应用程序,如本文中所描述,移动装置可具有被设计成呈现GUI且接着记录与GUI的用户交互的虚拟化应用程序。应用程序可将用户交互传达到服务器侧,以由服务器侧应用程序用作与所述应用程序的用户交互。作为响应,服务器侧上的应用程序可将新GUI传输回到移动装置。举例来说,新GUI可以是静态页、动态页、动画等,借此提供对远程定位的资源的访问。
安全应用程序可访问存储在移动装置的受管理分割区310中的安全数据容器328中的数据。安全数据容器中安全的数据可由安全包装的应用程序314、由安全应用程序启动器318执行的应用程序、由安全应用程序启动器318执行的虚拟化应用程序326等访问。存储在安全数据容器328中的数据可包含文件、数据库等。存储在安全数据容器328中的数据可包含限于特定安全应用程序330、在安全应用程序332之间共享和类似情况的数据。限于安全应用程序的数据可包含安全的一般数据334和高度安全数据338。安全的一般数据可使用较强的加密形式,例如高级加密标准(AES)128位加密等,而高度安全数据338可使用极强的加密形式,例如AES 256位加密。在接收到来自装置管理器324的命令后,就可以从装置删除存储在安全数据容器328中的数据。安全应用程序可以具有双模式选项340。双模式选项340可以向用户呈现在不安全或未管理模式中操作安全应用程序的选项。在不安全或未管理模式中,安全应用程序可访问存储在移动装置302的未管理分割区312上的不安全数据容器342中的数据。存储在不安全数据容器中的数据可以是个人数据344。存储在不安全数据容器342中的数据也可以由正在移动装置302的未管理分割区312上运行的不安全应用程序348访问。当从移动装置302删除存储在安全数据容器328中的数据时,存储在不安全数据容器342中的数据可保持在移动装置302上。企业可能想要从移动装置删除由企业拥有、许可或控制的所选定的或所有数据、文件和/或应用程序(企业数据),同时留下或以其它方式保存由用户拥有、许可或控制的个人数据、文件和/或应用程序(个人数据)。这个操作可被称作选择性擦拭。通过根据本文中所描述的方面布置的企业和个人数据,企业可执行选择性擦拭。
移动装置可连接到在企业处的企业资源304和企业服务308,连接到公用因特网348等。移动装置可通过虚拟专用网络连接而连接到企业资源304和企业服务308。还被称作microVPN或应用程序特定的VPN的虚拟专用网络连接可以特定针对于特定应用程序350、特定装置、移动装置上的特定安全区域等。举例来说,电话的安全区域中的经包装应用程序中的每一个可以通过应用程序特定的VPN而访问企业资源,使得将会基于与应用程序相关联的属性授予对VPN的访问,有可能与用户或装置属性信息结合。虚拟专用网络连接可携载微软交换(Microsoft Exchange)业务、微软活动目录(Microsoft Active Directory)业务、超文本传送协议(HTTP)业务、安全超文本传送协议(HTTPS)业务、应用程序管理业务等。虚拟专用网络连接可以支持并实现单点登录认证程序354。单点登录程序可允许用户提供认证证书的单一集合,接着通过认证服务358来验证所述集合。认证服务358接着可以授予用户访问多个企业资源304,而不需要用户将认证证书提供给每一个别企业资源304。
虚拟专用网络连接可由访问网关360建立和管理。访问网关360可包含管理、加速和改进企业资源304到移动装置302的递送的性能增强特征。访问网关还可重新投送从移动装置302到公用因特网348的业务,从而使移动装置302能够访问在公用因特网348上运行的公开可用且不安全的应用程序。移动装置可通过传输网络362连接到访问网关。传输网络362可以是有线网络、无线网络、云网络、局域网、城域网、广域网、公用网络、专用网络等。
企业资源304可包含电子邮件服务器、文件共享服务器、SaaS应用程序、Web应用程序服务器、Windows应用程序服务器等。电子邮件服务器可包含交换服务器、Lotus Notes服务器和类似物。文件共享服务器可包含ShareFile服务器等。SaaS应用程序可包含Salesforce等。Windows应用程序服务器可包含经建造以提供既定在本地Windows操作系统等上运行的应用程序的任何应用程序服务器。企业资源304可以是内建式资源、基于云的资源等。移动装置302可以直接地或通过访问网关360来访问企业资源304。移动装置302可以通过传输网络362来访问企业资源304。传输网络362可以是有线网络、无线网络、云网络、局域网、城域网、广域网、公用网络、专用网络等。
企业服务308可包含认证服务358、威胁检测服务364、装置管理器服务324、文件共享服务368、策略管理器服务370、社交整合服务372、应用程序控制器服务374等。认证服务358可包含用户认证服务、装置认证服务、应用程序认证服务、数据认证服务等。认证服务358可使用证书。证书可由企业资源304等存储在移动装置302上。存储在移动装置302上的证书可存储在移动装置上的经加密位置中,所述证书可临时存储在移动装置302上,以供在认证时使用,和类似情况。威胁检测服务364可包含入侵检测服务、未授权访问尝试检测服务等。未授权访问尝试检测服务可包含访问装置、应用程序、数据等的未授权尝试。装置管理服务324可包含配置、布建、安全、支持、监视、报告和解除授权服务。文件共享服务368可包含文件管理服务、文件存储服务、文件合作服务等。策略管理器服务370可包含装置策略管理器服务、应用程序策略管理器服务、数据策略管理器服务等。社交整合服务372可包含联系人整合服务、合作服务、与例如Facebook、Twitter和LinkedIn等社交网络的整合等。应用程序控制器服务374可包含管理服务、布建服务、部署服务、指派服务、撤销服务、包装服务等。
企业移动性技术架构300可包含应用程序商店378。应用程序商店378可包含未包装应用程序380、预包装应用程序382等。应用程序可从应用程序控制器374填充在应用程序商店378中。应用程序商店378可由移动装置302通过访问网关360、通过公用因特网348等访问。应用程序商店可具备直观且易于使用的用户接口。
软件开发工具包384可给用户提供通过包装应用程序(如先前在本说明书中所描述)而使由用户选择的应用程序安全的能力。接着通过使用应用程序控制器374将已使用软件开发工具包384包装的应用程序填充在应用程序商店378中,可使所述应用程序可供移动装置302使用。
企业移动性技术架构300可包含管理和分析能力388。管理和分析能力388可以提供关于使用资源的方式、使用资源的频率等的信息。资源可包含装置、应用程序、数据等。使用资源的方式可包含哪些装置下载哪些应用程序、哪些应用程序访问哪些数据等。使用资源的频率可包含已下载应用程序的频率、特定数据集已由应用程序访问多少次等。
图4係另一说明性企业移动性管理系统400。为简单起见,已省略上文参考图3所描述的移动性管理系统300的组件中的一些。图4中所描绘的系统400的架构在许多方面与上文参考图3所描述的系统300的架构相似,且可包含上文未提到的额外特征。
在此状况下,左侧表示已向客户端代理404注册的客户端装置(例如,移动装置)402,其与网关服务器406(其包含访问网关和应用程序控制器功能性)交互以访问各种企业资源408和服务609,例如Exchange、Sharepoint、公钥基础架构(PKI)资源、Kerberos资源、证书发布服务,如在右侧上方所展示。虽然未具体展示,但移动装置402还可与企业应用程序商店(StoreFront)交互以进行应用程序的选择和下载。
客户端代理404充当用于在企业数据中心中代管的Windows应用程序/桌面的用户接口(UI)中间物,使用高清用户体验(HDX)/ICA显示远程协议来访问所述Windows应用程序/桌面。客户端代理404还支持在移动装置402上的本机应用程序(例如本机iOS或Android应用程序)的安装和管理。举例来说,在上图中展示的受管理应用程序410(邮件、浏览器、经包装应用程序)都是在装置上本地执行的本机应用程序。客户端代理404和这种架构的应用程序管理框架用以提供策略驱动管理能力和例如到企业资源/服务408的连接性和单点登录(single sign on;SSO)的特征。客户端代理404处置对企业的主要用户认证,通常是对具有SSO到其它网关服务器组件的访问网关(AG)的主要用户认证。客户端代理404获得来自网关服务器406的策略以控制移动装置402上受管理应用程序410的行为。
本机应用程序410与客户端代理404之间的安全进程间通信(IPC)链路412表示管理信道,其允许客户端代理供应将由“包装”每一应用程序的应用程序管理框架414施行的策略。IPC信道412还允许客户端代理404供应实现到企业资源408的连接性和SSO的证书和认证信息。最后,IPC信道412允许应用程序管理框架414调用由客户端代理404实施的用户接口功能,例如线上和离线认证。
客户端代理404与网关服务器406之间的通信基本上为从包装每一本机受管理应用程序410的应用程序管理框架414的管理信道的扩展。应用程序管理框架414请求来自客户端代理404的策略信息,客户端代理404继而向网关服务器406请求所述信息。应用程序管理框架414请求认证,且客户端代理404登录网关服务器406(也称为NetScaler访问网关)的网关服务部分。客户端代理404还可调用网关服务器406上的支持服务,其可产生输入材料以导出用于本地数据库416的加密密钥,或提供针对PKI受保护资源可实现直接认证的客户端证书,如下文更充分解释。
更详细地,应用程序管理框架414“包装”每一受管理应用程序410。这可通过明确的建造步骤或通过后建造处理步骤来并入。应用程序管理框架414可在应用程序410的首次启动后与客户端代理404“配对”以初始化安全IPC信道和获得用于所述应用程序的策略。应用程序管理框架414可施行策略的本地施加的相关部分,例如客户端代理登录相依性和限制可使用本地OS服务的方式的包容策略中的一些,或其可与应用程序410交互的方式。
应用程序管理框架414可使用由客户端代理404在安全IPC信道412上提供的服务以促进认证和内网访问。针对专用和共享数据库416(容器)的密钥管理还可以通过受管理应用程序410与客户端代理404之间的适当交互来进行管理。在策略允许的情况下,库416仅可以在线上认证之后可用,或仅可以在离线认证之后可用。库416的第一次使用可能需要线上认证,且离线访问可限于至多在再次需要线上认证之前的策略刷新周期。
可以通过访问网关406根据个别受管理应用程序410而直接地进行对内部资源的网络访问。应用程序管理框架414负责代表每一应用程序410来协调网络访问。客户端代理404可以通过提供遵循线上认证获得的限制合适时间的次要证书来促进这些网络连接。可使用多个网络连接模式,例如反向Web代理连接和端对端VPN样式隧道418。
邮件和浏览器管理的应用程序410具有特殊状态,且可使用通常可能不可用于任意包装的应用程序的设施。举例来说,邮件应用程序可使用允许其在延长的时间周期上访问交换而不需要充分AG登录的特殊背景网络访问机制。浏览器应用程序可使用多个专用数据库分隔不同种类的数据。
此架构支持各种其它安全特征的合并。举例来说,在一些情况下,网关服务器406(包含其网关服务)将不需要校验活动目录(AD)密码。可使其作出企业断定——在一些情况下,是否将AD密码用作用于一些用户的认证因素。如果用户在线上或离线(即,连接或未连接到网络),那么可使用不同认证方法。
设置认证是如下特征:网关服务器406可识别允许能够访问需要强认证的高程度分类的数据的受管理本机应用程序410,且确保仅在执行适当认证之后准许对这些应用程序的访问,即使这意味着在先前较弱等级的登录之后需要用户进行重新认证。
此解决方案的另一安全特征是移动装置402上的数据库416(容器)的加密。库416可经加密使得包含文件、数据库和配置的所有装置上数据受到保护。对于线上库,可将密钥存储在服务器(网关服务器406)上,且对于离线库,密钥的本地副本可受到用户密码或生物识别校验保护。当将数据本地存储在安全容器416中的装置402上时,优选地,利用AES 256加密算法的最小值。
也可实施其它安全容器特征。举例来说,可包含记录特征,其中应用程序410内部发生的所有安全事件被记录和报告给后端。可支持数据擦拭,例如,如果应用程序410检测到篡改,那么可用随机数据重写相关联的加密密钥,从而在文件系统上不留下用户数据被毁坏的暗示。截屏保护是另一特征,其中应用程序可防止任何数据存储在截屏中。举例来说,可将密钥窗的隐藏性质设置成是YES。这可致使当前显示在屏幕上的任何内容都被隐藏,从而导致任何内容将通常驻留的空白截屏。
可例如通过防止任何数据在本地传递到应用程序容器外部,例如,通过将其复制或将其发送到外部应用程序,而防止本地数据传递。键盘高速缓存特征可操作以针对敏感性文本框停用自动校正功能性。SSL证书校验可为可操作的,因此应用程序特定地校验服务器SSL证书,而非将其存储在密钥链中。可使用加密密钥产生特征,使得使用由用户供应的通行短语或生物识别数据(如果需要离线访问)产生用以加密装置上的数据的密钥。如果不需要离线访问,那么可将其与随机产生且存储在服务器侧上的另一密钥进行异或运算。密钥导出函数可运算,使得从用户密码产生的密钥使用密钥导出函数(KDF,值得注意地,基于密码的密钥导出函数2(PBKDF2)),而非产生其密码杂凑。后者使密钥对蛮力或词典攻击敏感。
另外,可在加密方法中使用一个或多个初始化向量。初始化向量将使相同加密数据的多个复本产生不同编密文本输出,从而防止重放和密码分析攻击。如果用以加密数据的具体初始化向量并不已知,那么这也将防止攻击者甚至用被盗的加密密钥解密任何数据。另外,可使用认证,然后解密,其中只在用户已在应用程序内认证后解密应用程序数据。另一特征可涉及存储器中的敏感数据,仅当需要时,可将敏感数据保存在存储器中(且不在磁盘中)。举例来说,可在登录之后从存储器擦拭登录证书,且不存储在面向对象的C语言例项变量内部的加密密钥和其它数据,因为它们可易于参考。实际上,可针对这些手动分配存储器。
可实施不活动超时,其中在不活动的策略定义周期后,终止用户会话。
可以其它方式防止来自应用程序管理框架414的数据泄漏。举例来说,当将应用程序410放置在背景中时,可在预定(可配置)时间周期之后清除存储器。当作为背景时,可拍摄应用程序的最后显示的屏幕的快照以使前台过程稳固。截屏可含有机密数据且因此应被清除。
另一安全特征涉及使用一次性密码(OTP)420,不使用活动目录(AD)422密码,用于对一个或多个应用程序的访问。在一些情况下,一些用户不知道(或不准许知道)其AD密码,因此这些用户可使用OTP 420鉴定,例如通过使用像SecurID的硬件OTP系统(OTP可由不同供应商提供,并且,例如Entrust或Gemalto)。在一些状况下,在用户用用户ID认证后,将文本与OTP 420一起发送到用户。在一些状况下,这可只针对线上使用来实施,其中提示为单一字段。
对于通过企业策略准许离线使用的那些应用程序410,可实施离线密码,以用于离线认证。举例来说,企业可能想要以此方式访问StoreFront。在此状况下,客户端代理404可需要用户设置定制离线密码,且不使用AD密码。网关服务器406可提供策略来控制和施行关于最小长度、字符类别组成和密码的年限的密码标准,例如,由通过标准Windows服务器密码复杂度要求来描述,但可修改这些要求。
另一特征涉及针对某些应用程序410启用客户端侧证书,作为次要证书(出于通过应用程序管理框架微VPN特征访问PKI保护的网络资源的目的)。举例来说,应用程序可利用此证书。在此状况下,可支持使用ActiveSync协议的基于证书的认证,其中来自客户端代理404的证书可由网关服务器406检索且用于密钥链中。每一受管理应用程序可具有由在网关服务器406中定义的标签识别的一个相关联的客户端证书。
网关服务器406可与企业专用网络服务交互以支持客户端证书的发布以允许相关受管理应用程序对内部PKI保护的资源进行认证。
可增强客户端代理404和应用程序管理框架414以支持获得和使用客户端证书用于对内部PKI保护的网络资源的认证。可支持多于一个证书,以便匹配各种层级的安全和/或分隔要求。所述证书可由邮件和浏览器管理的应用程序使用,且最终由任意包装的应用程序使用(假设那些应用程序使用网络服务样式通信模式,在所述模式中,应用程序管理框架调节https请求是合理的)。
iOS上的应用程序管理客户端证书支持可依赖于在每一使用周期内将公钥密码术标准(PKCS)12二进制大对象(BLOB)导入到每一管理的应用程序中的iOS密钥链内。应用程序管理框架客户端证书支持可使用具有专用存储器内密钥存储的HTTPS实施方案。客户端证书将决不存在于iOS密钥链中,且将不维持,潜在地在受到强保护的“仅线上”数据值中除外。
也可通过需要将移动装置402对企业认证来实施互SSL以提供额外安全,且反之亦然。也可实施用于对网关服务器406认证的虚拟智能卡。
有限和完全的Kerberos支持两者都可以是额外特征。完全支持特征涉及使用活动目录(AD)密码或可信客户端证书进行到AD 422的完全Kerberos登录和获得Kerberos服务票以响应HTTP协商认证挑战的能力。有限支持特征涉及在Citrix访问网关企业版(AGEE)中的受约束的委托,其中AGEE支持调用Kerberos协议转变,因此其可响应于HTTP协商认证难题获得且使用Kerberos服务票(经受受约束的委托)。此机制在反向网络代理(又名,公司虚拟专用网络(CVPN))模式中工作,且当http(但非https)连接是在VPN和MicroVPN模式中代理时。
另一特征涉及应用程序容器锁定和擦除,其可在越狱或生根检测后自动发生,和随着来自管理控制台的推送的命令而发生,且即使当应用程序410不在运行中时也可包含远程擦拭功能性。
可支持企业应用程序商店和应用程序控制器的多位点架构或配置,在有故障的情况下,其允许用户为来自若干不同位置中的一个的服务。
在一些状况下,可允许受管理应用程序410通过API(实例OpenSSL)访问证书和专用密钥。可允许企业的可信受管理应用程序410用应用程序的客户端证书和专用密钥执行特定公用密钥操作。因此可识别和处理各种使用情况,例如,当应用程序表现得像浏览器且不需要证书访问时,当应用程序针对“我是谁”读取证书时,当应用程序使用证书建造安全会话符记时,和当应用程序使用专用密钥用于重要数据(例如,交易记录)的数字签名或用于临时数据加密。
匿名应用程序包装
一个或多个所公开的方面可以提供匿名应用程序包装。举例来说,一个或多个所公开的方面可包含可被包装成类似于企业应用程序的应用程序,但所述包装方法可以使经包装应用程序与特定用户或特定装置(例如,用户识别信息)相关联。除了仅仅与企业相关联的用户以外,所公开的方面还可以由一般用户人群使用。举例来说,可能不与企业相关联或被企业雇佣的客户可以能够根据本文中所描述的一个或多个特征使用所公开的应用程序(例如,经包装应用程序)。所公开的方面可允许对经包装应用程序施行一个或多个策略(例如,与移动装置管理(MDM)策略相似或相同),但可能不需要了解个别用户(例如,用户帐户、识别信息等等)。
一个或多个所公开的方面可包含能够实现对受保护资源(例如,内联网资源)的访问,例如网络服务。根据一些方面,应用程序层级策略可以控制这种访问(例如,应用程序X可以访问服务Y)。根据一些方面,这种访问可以受其它因素控制,例如与服务等级相关联的应用程序实例。举例来说,在银行应用程序中,应用程序实例可以与服务等级(例如,银级/较低等级、黄金级/中间等级、白金级/上层等级等)相关联。在另一实例中,应用程序实例可以与必须对特定服务付费(例如,对账户透支付费等等)相关联。
一个或多个所公开的方面可包含能够选择性地锁定或擦拭应用程序数据。举例来说,在银行应用程序中,在相关联的客户账户无法正常使用或装置经报告丢失的情况下,银行应用程序可以被撤销和/或擦拭数据。根据一些方面,与应用程序相关联的应用程序服务或相关联的银行可以向控制器服务发送这个请求,且接着控制器服务可以向执行银行应用程序的客户端装置发送这个擦拭指令或策略。
一个或多个所公开的方面可包含能够加密应用程序的数据。可以基于匿名或部分匿名的信息来执行这个加密。根据一些方面,这个匿名或部分匿名的信息可以由控制服务器(例如,控制器)提供。根据一些方面,所述加密可以由应用程序包装器执行。
所公开的方面可包含管理单一装置上的多个应用程序。根据一些方面,应用程序服务(例如,银行服务)可能不会知晓同一装置上存在两种应用程序,这是因为这种行为侵犯隐私。举例来说,如果用户在装置上安装第一银行的应用程序且安装第二银行的应用程序,那么银行(和相关联的应用程序)可能不会彼此知晓。所公开的方面解决用户可能希望应用程序彼此知晓的情形。
图5是可以实施本文中所描述的一个或多个特征的说明性系统500。根据一些方面,系统500可以是移动性管理系统,移动性管理系统可以是被配置成用于通过应用程序管理通过包装和/或拦截应用程序的调用而管理移动应用程序或装置的系统。系统500的组件可以为与图1到4的组件相似或可以是图1到4的组件。系统500可包含经包装或受管理应用程序502,经包装或受管理应用程序502可以与受管理应用程序410相似或可以是受管理应用程序410。受管理应用程序502可以位于例如移动装置的计算装置上和/或在例如移动装置的计算装置上执行,计算装置可以是终端240、客户端装置302或注册的移动装置402。根据一些方面,应用程序502可以是特定类型的应用程序(例如,银行应用程序)的单一实例。举例来说,如果100个移动装置各自执行其自身的银行应用程序的实例,那么受管理应用程序502可以仅为这种银行应用程序的一个实例,可以根据在其它移动装置上执行的银行应用程序的其它实例明显地识别。受管理应用程序502可以与包装器506相关联,包装器506可以与包装器320相似或可以是包装器320。根据一些方面,包装器506可以是受管理应用程序502的一部分或可以不依赖受管理应用程序502和/或在受管理应用程序502外部。受管理应用程序502可包含存储器或存储装置508。根据一些方面,存储装置508可以是经加密存储装置508。系统500还可包含网关510,网关510可以与网关360相似或可以是网关360。系统500还可包含控制器512且可以与数据库514通信,控制器512可以与应用程序控制器374相似或可以是应用程序控制器374。控制器512可以是可以控制受管理应用程序502的操作的控制服务或服务器。数据库514可以存储应用程序实例的识别和应用程序实例的一个或多个对应性质(这将在下文更详细地描述)。系统500还可包含可以与数据库518通信的应用程序服务服务器或模块516。数据库518可以存储用户识别信息和应用程序实例的一个或多个对应识别。根据一些方面,系统500的组件可以与系统500的其它组件交互或通信(例如,如图5中用箭头说明)。此类通信可以是例如API调用等等。
图6是说明本文中所描述的一个或多个特征的实例通信流程过程600。过程600可由图1到5中所公开的计算装置或组件中的一个或多个执行。举例来说,过程600可以由以下实施:受管理应用程序502、包装器506、存储装置508、网关510、控制器512、数据库514、应用程序服务模块516和/或数据库518,以及其它公开的组件或装置。在一个或多个实施例中,图6中说明的过程600和/或图6的一个或多个步骤可由图1到5的任何装置或组件执行。在其它实施例中,图6中说明的过程和/或图6的一个或多个步骤可以体现在计算机可执行指令中,计算机可执行指令存储在例如非暂时性计算机可读存储器的计算机可读媒体中。这个流程过程600中的步骤无需都以指定的顺序执行,且可以省略和/或按顺序改变一些步骤。
过程600可以描述应用程序实例可以代表服务提供商(例如,应用程序服务516)而与管理应用程序实例的控制器512相关联的途径。举例来说,服务提供商可以是银行或某一其它实体或公司。根据一些方面,可以存在多个控制器512、多个应用程序502和/或多个应用程序实例。
过程600可以在步骤602处开始,其中应用程序502可以将控制器512的识别传输(例如,通过API调用)到包装器506。所述识别可以是控制器512的位置或定址。根据一些方面,可以存在多于一个控制器512。根据一些方面,可以在包装过程之前、期间或之后将控制器512的识别插入到应用程序502中。举例来说,用户可以下载或安装通用银行应用程序。通用银行应用程序可允许用户从银行列表选择一银行、服务等级(例如,银级、黄金级、白金级)等。根据一个或多个方面,应用程序502(或本文中所描述的其它组件)可以基于用户的选择来识别控制器(和位置等等),且API可用以指示控制器位置。举例来说,如果用户从银行列表选择银行A,那么API可以识别控制器A。如果用户从银行列表选择银行B,那么API可以识别控制器B。在另一实例中,如果用户选择银服务,那么API可以识别控制器C。如果用户选择白金服务,那么API可以识别控制器D。
在步骤604处,在包装器506接收控制器512的识别之后,包装器可以使用控制器512的位置或识别信息来将注册请求发送给控制器512。注册请求可以是对于包装应用程序502的请求。根据一些方面,注册请求还可包含任何其它信息,例如服务等级(例如,银级、黄金级、白金级)等。
在步骤606处,在接收到来自包装器506的注册请求之后,控制器512可以注册应用程序502或以其它方式使应用程序502与控制器512相关联。根据一些方面,控制器512可能不会形成装置等级相关联(例如,可能不会与应用程序502所处的装置相关联),但可以与应用程序502的应用程序实例相关联。根据一些方面,控制器502可以产生应用程序实例的识别符和/或向应用程序实例指派识别符。举例来说,控制器可以向银行应用程序指派应用程序实例第567号。在一些实施例中,控制器512可以将应用程序识别符保存或存储在数据库514中。举例来说,控制器可以在数据库514中存储:应用程序实例第567号可以对应于黄金级银行应用程序,且因此可以使黄金级银行策略与应用程序实例第567号相关联。因此,根据一些方面,只要控制器512从数据库514检索应用程序实例第567号条目(或以其它方式检索应用程序实例第567号),控制器512就可以确定与应用程序实例第567号相关联或对应于应用程序实例第567号的策略或性质。根据一些方面,控制器512可以产生应用程序识别符(例如,应用程序实例编号)。根据一些方面,应用程序502可以产生应用程序识别符(例如,且可以向控制器512发送识别符)。根据一些方面,另一组件或实体可以产生应用程序识别符。
控制器502可以将应用程序识别符用于后续用途,且在稍后时间,以便检索用于管理可能对应于应用程序识别符(将在下文更详细地描述)的应用程序的一个或多个策略(例如,策略文件、策略指令等等)。控制器512可以通过数种不同方式确定、指派和/或产生识别符。举例来说,可以在先到先得的基础上指派识别符。可以随机地指派识别符。根据一些方面,识别符可能基于用户在注册之前作出的一个或多个选择。举例来说,可以向黄金级银行协会指派特定识别符,而可以向银级银行协会指派不同识别符。根据一些方面,控制器512可以产生可以识别应用程序实例的客户端证书。举例来说,控制器512可以存储预先产生的证书,且可以在先到基础上与证书相关联或提供证书。根据一些方面,第二应用程序可以与这个相同的控制器512或不同的控制器相关联。在第二应用程序可以与相同的控制件512相关联的状况下,控制器512可以分开地处理每一应用程序。根据一些方面,在第二应用程序可能位于与第一应用程序相同的客户端装置上的情况下,控制器512可以以联合方式处理所述两种应用程序,这将在下文更详细地论述。
在步骤608处,控制器512可以将应用程序识别符(例如,申请人实例编号)传输到包装器506。根据一些方面,控制器512可以将其它信息传输到包装器506。举例来说,控制器可以传输安全信息,例如认证信息(例如,证书),应用程序502可以使用安全信息通过网关510访问服务。
在步骤610处,包装器506可以将应用程序识别符(和任何其它信息)传输到应用程序502。
在步骤612处,在接收到应用程序识别符和任何其它信息之后,现在可以注册或包装应用程序502。在注册后,控制器512可以发送策略或以其它方式配置应用程序502。举例来说,控制器512可以发送可以启用经加密存储装置(例如,通过存储装置508)的策略。在另一实例中,控制器512可以使得能够应用访问特定服务器的微型VPN。在另一实例中,控制器512可以根据服务等级(例如,银级服务等等)传输策略。
在步骤614处,应用程序502可以请求服务(例如,银行服务,从银级到黄金级的更新服务等级等等),且可以向网关510传输所述请求、应用程序识别符和任何认证信息。根据一些方面,应用程序502可以将这个请求和信息发送给网关510。根据一些方面,应用程序502可以发送可能已经由控制器512提供的认证信息或其它认证信息或证书。在一些状况下,网关510可以向用户请求认证信息(例如,交互式地请求这个信息)。
在步骤616处,在认证应用程序502之后,网关510可以接着将在步骤614中接收到的信息(例如,授权信息、应用程序识别符等等)传输到应用程序服务516(例如,应用程序502请求的服务)。在一些状况下,应用程序502可以请求来自用户的信息,例如证书、用户帐户信息、支付细节等。根据一些方面,可能没有网关510。在此类状况下,应用程序502可以直接地与应用程序服务516通信。
在步骤618处,应用程序服务516可以接收应用程序识别符、请求和任何其它信息。根据一些方面,应用程序服务516可能不知晓用户身份,例如在匿名系统(例如,完全匿名)中。匿名系统可包含可能需要均一服务(例如,不需要用户级别层或鉴别)的应用程序或可能基于一个或多个外部因素(例如支付)而需要绑定服务的应用程序。根据一些方面,在此类匿名系统中,如果可以恢复应用程序身份,那么仍然可以部署例如应用程序擦拭的个别动作。当应用程序向用户提供在丢失装置的情况下待在后续时间揭露的信息时,这种情形可能适用。
在步骤620处,应用程序服务516可以与控制器512通信(例如,通过API调用),且可以将接收到的应用程序实例传输到控制器512。
在步骤622处,控制器512接着可以确定接收到的应用程序识别符是否匹配于控制器512先前与应用程序相关联的应用程序识别符。根据一些方面,控制器516可以通过检测数据库514来确定是否存在应用程序实例来进行上述确定,且如果存在,那么何种性质(例如,受管理应用程序策略等等)与所述实例相关联。举例来说,在步骤606处,控制器512可能已经将应用程序实例第567号指派给银行应用程序502。在确定从应用程序服务516接收到的应用程序实例编号与数据库中的条目匹配之后,控制器512可以确定应用程序实例第567号可以与白金账户相关联,且因此可以访问银级账户可能没有的服务。举例来说,应用程序服务516(在步骤620处)可以确定应用程序是白金客户(例如,通过数据库518),且可以将可能需要对应用程序502进行较强加密传送到控制器512。控制器512可能不会知晓用户是谁或可能不会知晓任何用户识别信息,但控制器512可以知晓需要与其它应用程序实例不同等级的策略以用于本应用程序实例(例如,基于使应用程序实例与数据库514中的条目匹配)。这种情况可能适用的实例情形可以是用户使用信用卡来支付白金地位,且企业可能不想要链接链接到用户身份,因为涉及隐私问题。因此,控制器512可以基于接收到的应用程序识别符来确定策略等级。在另一实例中,在稍后时间,控制器512可以确定应擦拭应用程序502,例如响应于经报告丢失或被盗的装置。在此状况下,控制器512可以与应用程序502或客户端装置通信,且可以发送从客户端装置擦拭应用程序502的指令。
在步骤624处,控制器512接着可以将任何性质发送或传输到应用程序502,或基于应用程序实例是否匹配于数据库条目而以其它方式配置应用程序502(例如,管理经包装应用程序502)。根据一些方面,控制器512可以将其它信息传回到应用程序服务516(例如,例如银级、黄金级、白金级等等的服务等级)。根据一些方面,应用程序服务516可以在任何时间通过调用控制器512来调整可能对应于(例如,相对于存储)应用程序身份的一个或多个性质。举例来说,用户可以使用应用程序502来调用应用程序服务516以将用户的账户升级到白金级。在另一实例中,用户的早先支付可以停用,从而可以引导应用程序服务516将用户(例如,应用程序身份)回降到较低等级(例如,银级)。
在步骤626处,应用程序服务516可以基于用户或装置的识别而向应用程序提供服务(例如,银行服务等等)。过程600可以在任何步骤之后结束。
所公开的实施例可允许改变应用程序实例的分级,使得可以通过控制器512来更新策略、访问路径和可以受包装器506控制的任何其它机制。举例来说,控制器512可以将应用程序标记为白金成员。这个特征可允许应用程序服务516控制或以其它方式向应用程序502或应用程序实例提供服务。这个特征还可引起访问被准许的额外服务或经启用或停用的额外保护能力。
所公开的实施例可允许锁定或擦除应用程序实例(例如,响应于报告装置已丢失)。在此情形下,可以使用外部服务或数据库(例如,数据库518)来记住或存储属于特定客户或用户的装置和/或应用程序实例。
所公开的实施例可能用以收集特定装置的诊断信息。举例来说,服务台可能希望收集特定装置的信息且可能在应用程序服务516与控制器512之间使用通信API。根据一些方面,可以将自助能力建置到应用程序502中,且可以引起应用程序502与包装器506之间的API调用。
图7和8说明根据本文中所描述的一个或多个特征实施多个应用程序的两个实例系统图。所公开的方面可包含在客户端装置上协作运行的多个应用程序。根据一些方面,可以调和不同的应用程序身份(或其它识别信息),使得两个或多于两个应用程序实例在客户端装置上(例如,在客户端装置上执行的两个或多于两个应用程序可以共享单一身份或可以充当单一单元(如图7中所展示))。根据一些方面,每一应用程序可以保留唯一身份(例如,唯一应用程序实例),且控制器可以分别与每一应用程序身份相关联(如图8中所展示)。
举例来说,客户端装置可以执行一套应用程序502,所述应用程序502可包含针对用户支票账户的应用程序、针对用户股票圈的应用程序、针对用户保险的应用程序等。如果举例来说,需要擦拭或锁定客户端装置上的应用程序502(例如,丢失客户端装置等等),那么所公开的实施例呈现管理客户端装置上的多个应用程序502以作为单元的便利方式。因此,在例如用户不键入每一应用程序的认证信息(例如,PIN、登录等等)(可能需要锁定或擦拭)的情况下,控制器502可能会擦拭和/或锁定多个应用程序。因此,所公开的方面可以使得用户能够登入第一应用程序502,且接着通过第一应用程序502登入其它应用程序。
根据一些方面,可使用各种通信机构来允许客户端装置上的应用程序502发现所述客户端装置上的其它应用程序502。在一些状况下,应用程序502(或其它组件)可以使其它应用程序502和其它组件难以检测到应用程序502的存在。所公开的实施例允许可以彼此协作的不同应用程序发现另一者的身份,且还可以防止恶意的和/或不相关应用程序发现客户端装置上的其它应用程序。
图7说明展示第二应用程序502b与第一应用程序502a联合以使用控制器512进行注册的实例系统图700。先前可以使用控制器512来注册第一应用程序502a(例如,通过过程600)。因此,控制器512可以与第一应用程序502a相关联和/或管理第一应用程序502a。在此状况下,如在图7中,第二应用程序502b可以发现在注册第二应用程序502b之前,第一应用程序502a在同一装置上。作为第二应用程序502b经历单独注册(例如,通过过程600)的替代例,第二应用程序502b可以告知第一应用程序502a代表第二应用程序502b来注册第二应用程序502b。因此,第二应用程序502b可以告知第一应用程序502a:第二应用程序502b存在于装置上且可以指示第一应用程序502a与控制器512订立合同,使得控制器512可以注册第二应用程序(例如,产生应用程序识别符或向第二应用程序502b指派应用程序识别符,所述应用程序识别符可以是与第一应用程序相同或不同的应用程序识别符)。在一个实例中,图7可以说明用户可以能够在最小风险(相关联身份(和任何用户数据)可以暴露于第三方)的情况下向现有账户添加第二应用程序的情形,因此,由于在这些可信应用程序之间共享数据,所以用户可以通过登入第一应用程序来登录多个应用程序。举例来说,用户可能希望进入支票账户(例如,第一应用程序)且将某些钱从所述支票账户移动到经纪账户(例如,第二应用程序)中。这个过程可以涉及这两种应用程序彼此通信。这个过程还可涉及仅一个应用程序实例与两个应用程序相关联。因此,当用户通过第一受管理应用程序登入支票账户时,用户还可通过第二受管理应用程序登入经纪账户。
根据一些方面,可能先前尚未使用控制器512来注册第一应用程序502a,但可以即将使用控制件512来注册第一应用程序502a。在此状况下,第二应用程序502b可以告知第一应用程序502a:第二应用程序502b存在于应用程序上。第一应用程序502a接着可以使两个应用程序与控制器512相关联。
图8说明展示使用一个或多个控制器(控制器512a和512b)注册第一应用程序502a和第二应用程序502b的实例系统图800,所述一个或多个控制器可与控制器512相同或相似。如图8中所展示,第二应用程序502b可能检测到第一应用程序502a可能存在于同一装置上,但第二应用程序502b可能不会允许第一应用程序502a代表第二应用程序502b来注册第二应用程序502b。举例来说,如果第一应用程序502a是可能与若干不同银行相关联的通用银行应用程序且第二应用程序502b是特定银行B的银行应用程序,那么第二应用程序502b可能不想要告知第一应用程序502a存在第二应用程序502b,这是因为第一应用程序502a可能与对手银行A相关联(例如,在用户从银行列表选择对手银行A之后)。在此状况下,如果第一应用程序502a和第二应用程序502b与同一控制器相关联,那么所述两种应用程序都可能希望向另一应用程序识别自身(例如,揭露信息),但如果所述两种应用程序不与同一控制器相关联,那么所述两种应用程序可能不希望向另一应用程序识别自身。
在此状况下,第一应用程序502a可使第二应用程序502b使用一个信息,所述信息指示第一应用程序502a的身份和/或控制器的身份(例如,位置)与第一应用程序502a相关联。根据一些方面,这个信息可以呈受保护或经加密格式,使得与第一应用程序502a相关联的控制器可以能够读取信息,但第二应用程序502b可能不能够读取所述信息。举例来说,控制器512a可以产生用密钥K加密的第一应用程序502a的应用程序识别符的经加密记录,其中K可能为控制器512a所知,且可能不为第二应用程序502b所知。控制器512a可以将这个经加密记录发送给第一应用程序502a,接着可以将经加密记录传递到第二应用程序502b。第二应用程序502b接着可以向第二应用程序502b的控制器呈现这个信息以及第二应用程序502的注册请求。根据一些方面,如果与第一应用程序502a相关联的控制器和与第二应用程序502b相关联的控制器是相同控制器(例如,控制器512a),那么控制器512a可以能够解码由第二应用程序502b传输的信息,且可以知道所述两种应用程序502a和502b在同一装置上或在同一装置上执行。控制器512a接着可以使所述两种应用程序彼此相关联(例如,如上文所论述)。根据一些方面,如果第一应用程序502a的控制器和第二应用程序502b的控制器可能不是相同控制器(例如,控制器512a和512b),那么控制器512a和512b可能不能够使两个应用程序502a和502b相关联,且可能不会知晓这两种应用程序在同一装置上。根据一些方面,控制器512a可能会发布第一应用程序502a的替代或替代性身份(例如,另外或替代地是经加密记录),以确定任何其它应用程序是否与第一应用程序502a相关联。
根据一些方面,两个或多于两个相关联应用程序可以能够在相关联应用程序之间共享数据和策略。举例来说,控制器512a可以提供经加密存储装置508的统一锁定/解锁,或通过单一登录或通过在应用程序之间共享信息而共享网络证书。在此情形下,包装器506可以为由一个应用程序502a发送给另一应用程序502b的消息或为从一个控制器发送给多个应用程序的消息提供安全渠道。
如以上论述中所说明,本文中所描述的各种方面可以以各种形式体现。举例来说,各种方面可以在方法、计算装置、存储在计算机可读媒体中的计算机可执行指令和/或设备中体现。
在其它实例中,各种方面可以在计算装置中体现,计算装置包含至少一个处理器和存储器,存储器存储计算机可读指令,所述计算机可读指令在由至少一个处理器执行时致使计算装置执行本文中所论述的描述、步骤、过程和/或方法中的任一个和/或全部。在另外其它实例中,本发明的各种方面可以在一个或多个计算机可读媒体(其可例如包含非暂时性计算机可读存储器)中体现,计算机可读媒体存储指令,所述指令在由至少一个处理器执行时致使所述至少一个处理器执行本文中所论述的描述、步骤、过程和/或方法中的任一个和/或全部。在另外其他实例中,本发明的各种方面可以在设备中体现,所述设备包括一个或多个构件以用于执行本文中所论述的描述、步骤、过程和/或方法中的任一个和/或全部。

Claims (20)

1.一种方法,包括:
通过控制器服务从客户端装置接收使在所述客户端装置上执行的第一应用程序与所述控制器服务相关联的请求,所述控制器服务被配置成通过一个或多个策略指令而控制所述第一应用程序,所述一个或多个策略指令位于所述客户端装置上且由所述客户端装置上的移动性管理系统施行,其中每一策略文件界定由所述移动性管理系统对所述第一应用程序施行的一个或多个限制或由所述移动性管理系统授予所述第一应用程序的一个或多个启用;
通过所述控制器服务来获得与所述第一应用程序相关联的第一应用程序识别符,所述第一应用程序识别符对应于用以控制所述第一应用程序的所述一个或多个策略指令的第一集合;
通过所述控制器服务从应用程序服务接收针对第一服务的请求和条件性应用程序识别符;和
响应于所述条件性应用程序识别符匹配于所述第一应用程序识别符,通过所述控制器服务且基于针对所述第一服务的所述请求,使用用以控制所述第一应用程序的一个或多个策略指令的第二集合来配置所述第一应用程序。
2.根据权利要求1所述的方法,其中获得与所述第一应用程序相关联的所述第一应用程序识别符进一步包括:通过所述控制器服务来产生与所述第一应用程序相关联的所述第一应用程序识别符。
3.根据权利要求1所述的方法,其中获得与所述第一应用程序相关联的所述第一应用程序识别符进一步包括:通过所述控制器服务从所述客户端装置接收与所述第一应用程序相关联的所述第一应用程序识别符,其中所述第一应用程序识别符是由所述客户端装置产生。
4.根据权利要求1所述的方法,进一步包括:
通过所述控制器服务从所述第一应用程序接收使在所述客户端装置上执行的第二应用程序与所述控制器服务相关联的请求,所述控制器服务被配置成通过一个或多个策略指令而控制所述第二应用程序;
通过所述控制器服务来获得与所述第二应用程序相关联的第二应用程序识别符;和
通过所述控制器服务来将与所述第二应用程序相关联的所述第二应用程序识别符传输到客户端装置。
5.根据权利要求1所述的方法,进一步包括:
通过所述控制器服务从第二应用程序接收使在所述客户端装置上执行的所述第二应用程序与所述控制器服务相关联的请求和识别不同于所述第一应用程序识别符的所述第一应用程序的信息;和
通过所述控制器服务来获得与所述第二应用程序相关联的第二应用程序识别符;和
通过所述控制器服务来使所述第一应用程序识别符与所述第二应用程序识别符相关联。
6.根据权利要求5所述的方法,其中使所述第一应用程序识别符与所述第二应用程序识别符相关联进一步包括:确定所述第一应用程序和所述第二应用程序都在所述客户端装置上执行。
7.根据权利要求5所述的方法,其中用所述控制器服务已知且所述第二应用程序未知的密钥来加密识别所述第一应用程序的所述信息。
8.根据权利要求1所述的方法,进一步包括通过所述控制器服务来将认证信息传输到所述客户端装置,所述认证信息被配置成由所述应用程序使用来认证与所述控制器服务相关联的网关装置。
9.根据权利要求1所述的方法,其中所述客户端装置基于与所述第一应用程序相关联的服务等级而确定所述控制器的位置。
10.一种系统,包括:
至少一个处理器;和
至少一个存储器,存储计算机可读指令,所述计算机可读指令当由所述至少一个处理器执行时致使所述系统执行以下步骤:
通过控制器服务从客户端装置接收使在所述客户端装置上执行的第一应用程序与所述控制器服务相关联的请求,所述控制器服务被配置成通过一个或多个策略指令而控制所述第一应用程序,所述一个或多个策略指令位于所述客户端装置上且由所述客户端装置上的移动性管理系统施行,其中每一策略文件界定由所述移动性管理系统对所述第一应用程序施行的一个或多个限制或由所述移动性管理系统授予所述第一应用程序的一个或多个启用;
通过所述控制器服务来获得与所述第一应用程序相关联的第一应用程序识别符,所述第一应用程序识别符对应于用以控制所述第一应用程序的所述一个或多个策略指令的第一集合;
通过所述控制器服务从应用程序服务接收针对第一服务的请求和条件性应用程序识别符;和
响应于所述条件性应用程序识别符匹配于所述第一应用程序识别符,通过所述控制器服务且基于针对所述第一服务的所述请求,使用用以控制所述第一应用程序的一个或多个策略指令的第二集合来配置所述第一应用程序。
11.根据权利要求10所述的系统,其中获得与所述第一应用程序相关联的所述第一应用程序识别符进一步包括:通过所述控制器服务来产生与所述第一应用程序相关联的所述第一应用程序识别符。
12.根据权利要求10所述的系统,其中获得与所述第一应用程序相关联的所述第一应用程序识别符进一步包括:通过所述控制器服务从所述客户端装置接收与所述第一应用程序相关联的所述第一应用程序识别符,其中所述第一应用程序识别符是由所述客户端装置产生。
13.根据权利要求10所述的系统,其中所述计算机可读指令进一步致使所述系统执行以下步骤:
通过所述控制器服务从所述第一应用程序接收使在所述客户端装置上执行的第二应用程序与所述控制器服务相关联的请求,所述控制器服务被配置成通过一个或多个策略指令而控制所述第二应用程序;
通过所述控制器服务来获得与所述第二应用程序相关联的第二应用程序识别符;和
通过所述控制器服务来将与所述第二应用程序相关联的所述第二应用程序识别符传输到客户端装置。
14.根据权利要求10所述的系统,其中所述计算机可读指令进一步致使所述系统执行以下步骤:
通过所述控制器服务从第二应用程序接收使在所述客户端装置上执行的所述第二应用程序与所述控制器服务相关联的请求和识别不同于所述第一应用程序识别符的所述第一应用程序的信息;和
通过所述控制器服务来获得与所述第二应用程序相关联的第二应用程序识别符;和
通过所述控制器服务来使所述第一应用程序识别符与所述第二应用程序识别符相关联。
15.根据权利要求14所述的系统,其中使所述第一应用程序识别符与所述第二应用程序识别符相关联进一步包括:确定所述第一应用程序和所述第二应用程序都在所述客户端装置上执行。
16.根据权利要求14所述的系统,其中用所述控制器服务已知且所述第二应用程序未知的密钥来加密识别所述第一应用程序的所述信息。
17.根据权利要求10所述的系统,其中所述客户端装置基于与所述第一应用程序相关联的服务等级而确定所述控制器的位置。
18.一个或多个非暂时性计算机可读存储媒体,具有在其上存储的计算机可读指令,所述计算机可读指令在由一个或多个处理器执行时致使所述一个或多个处理器执行以下步骤:
通过控制器服务从客户端装置接收使在所述客户端装置上执行的第一应用程序与所述控制器服务相关联的请求,所述控制器服务被配置成通过一个或多个策略指令而控制所述第一应用程序,所述一个或多个策略指令位于所述客户端装置上且由所述客户端装置上的移动性管理系统施行,其中每一策略文件界定由所述移动性管理系统对所述第一应用程序施行的一个或多个限制或由所述移动性管理系统授予所述第一应用程序的一个或多个启用;
通过所述控制器服务来获得与所述第一应用程序相关联的第一应用程序识别符,所述第一应用程序识别符对应于用以控制所述第一应用程序的所述一个或多个策略指令的第一集合;
通过所述控制器服务从应用程序服务接收针对第一服务的请求和条件性应用程序识别符;和
响应于所述条件性应用程序识别符匹配于所述第一应用程序识别符,通过所述控制器服务且基于针对所述第一服务的所述请求,使用用以控制所述第一应用程序的一个或多个策略指令的第二集合来配置所述第一应用程序。
19.根据权利要求18所述的计算机可读存储媒体,其中所述计算机可读指令进一步致使所述一个或多个处理器执行以下步骤:
通过所述控制器服务从所述第一应用程序接收使在所述客户端装置上执行的第二应用程序与所述控制器服务相关联的请求,所述控制器服务被配置成通过一个或多个策略指令而控制所述第二应用程序;
通过所述控制器服务来获得与所述第二应用程序相关联的第二应用程序识别符;和
通过所述控制器服务来将与所述第二应用程序相关联的所述第二应用程序识别符传输到客户端装置。
20.根据权利要求18所述的计算机可读存储媒体,其中所述计算机可读指令进一步致使所述一个或多个处理器执行以下步骤:
通过所述控制器服务从第二应用程序接收使在所述客户端装置上执行的所述第二应用程序与所述控制器服务相关联的请求和识别不同于所述第一应用程序识别符的所述第一应用程序的信息;和
通过所述控制器服务来获得与所述第二应用程序相关联的第二应用程序识别符;和
通过所述控制器服务来使所述第一应用程序识别符与所述第二应用程序识别符相关联。
CN201680047352.XA 2015-07-21 2016-07-19 匿名应用程序包装 Active CN107924431B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/804,705 2015-07-21
US14/804,705 US9942240B2 (en) 2015-07-21 2015-07-21 Anonymous application wrapping
PCT/US2016/042894 WO2017015259A1 (en) 2015-07-21 2016-07-19 Anonymous application wrapping

Publications (2)

Publication Number Publication Date
CN107924431A true CN107924431A (zh) 2018-04-17
CN107924431B CN107924431B (zh) 2019-07-26

Family

ID=56555805

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680047352.XA Active CN107924431B (zh) 2015-07-21 2016-07-19 匿名应用程序包装

Country Status (4)

Country Link
US (2) US9942240B2 (zh)
EP (1) EP3326098B1 (zh)
CN (1) CN107924431B (zh)
WO (1) WO2017015259A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10021542B2 (en) 2015-08-28 2018-07-10 Airwatch Llc Providing access to applications with varying enrollment levels
US10313441B2 (en) 2017-02-13 2019-06-04 Bank Of America Corporation Data processing system with machine learning engine to provide enterprise monitoring functions
US11647077B2 (en) * 2017-11-10 2023-05-09 Ford Global Technologies, Llc VIN ESN signed commands and vehicle level local web of trust
US11042396B2 (en) 2018-04-11 2021-06-22 Desmond Armani JACKSON Scalable anonymous disposable desktops (SADD)
US11228563B2 (en) 2018-12-18 2022-01-18 Citrix Systems, Inc. Providing micro firewall logic to a mobile application
US11159531B2 (en) 2019-02-01 2021-10-26 Citrix Systems, Inc. Computer system providing anonymous remote access to shared computing sessions and related methods
US11956635B2 (en) * 2022-01-20 2024-04-09 Hewlett Packard Enterprise Development Lp Authenticating a client device

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101379503A (zh) * 2005-12-23 2009-03-04 信诚逻辑公司 鉴认计算机系统的应用程序的方法
US7908642B2 (en) * 2007-04-18 2011-03-15 Canon Kabushiki Kaisha Policy store
CN102024121A (zh) * 2009-09-16 2011-04-20 株式会社泛泰 平台安全设备及其方法
US8190757B1 (en) * 2009-03-31 2012-05-29 Symantec Corporation Systems and methods for automatically binding client-side applications with backend services
CN102640160A (zh) * 2009-10-09 2012-08-15 诺基亚公司 平台安全
US20130298185A1 (en) * 2012-05-02 2013-11-07 Kony Solutions, Inc. Mobile application management systems and methods thereof
US20140297824A1 (en) * 2013-03-29 2014-10-02 Citrix Systems, Inc. Providing an enterprise application store

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140032733A1 (en) * 2011-10-11 2014-01-30 Citrix Systems, Inc. Policy-Based Application Management
WO2014062804A1 (en) * 2012-10-16 2014-04-24 Citrix Systems, Inc. Application wrapping for application management framework
US9326145B2 (en) * 2012-12-16 2016-04-26 Aruba Networks, Inc. System and method for application usage controls through policy enforcement
US10637819B2 (en) * 2014-06-26 2020-04-28 Orange Context based multi-model communication in customer service

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101379503A (zh) * 2005-12-23 2009-03-04 信诚逻辑公司 鉴认计算机系统的应用程序的方法
US7908642B2 (en) * 2007-04-18 2011-03-15 Canon Kabushiki Kaisha Policy store
US8190757B1 (en) * 2009-03-31 2012-05-29 Symantec Corporation Systems and methods for automatically binding client-side applications with backend services
CN102024121A (zh) * 2009-09-16 2011-04-20 株式会社泛泰 平台安全设备及其方法
CN102640160A (zh) * 2009-10-09 2012-08-15 诺基亚公司 平台安全
US20130298185A1 (en) * 2012-05-02 2013-11-07 Kony Solutions, Inc. Mobile application management systems and methods thereof
US20140297824A1 (en) * 2013-03-29 2014-10-02 Citrix Systems, Inc. Providing an enterprise application store

Also Published As

Publication number Publication date
US10277606B2 (en) 2019-04-30
US9942240B2 (en) 2018-04-10
EP3326098B1 (en) 2020-10-07
US20180191731A1 (en) 2018-07-05
WO2017015259A1 (en) 2017-01-26
US20170026383A1 (en) 2017-01-26
CN107924431B (zh) 2019-07-26
EP3326098A1 (en) 2018-05-30

Similar Documents

Publication Publication Date Title
US11722465B2 (en) Password encryption for hybrid cloud services
JP6687641B2 (ja) サーバまたは他の装置からのエントロピーに基づくクライアント装置の認証
CN106471783B (zh) 经由网关的企业系统认证和授权
CN105379223B (zh) 管理对企业资源的访问的方法和装置
CN109558721A (zh) 客户端应用程序的安全单点登录和条件访问
CN105247526B (zh) 提供企业应用商店
CN105637523B (zh) 安全客户端驱动映射和文件存储系统
EP2992477B1 (en) User and system authentication in enterprise systems
CN105359486B (zh) 使用代理安全访问资源
CN104903910B (zh) 控制移动装置对安全数据的访问
CN105340309B (zh) 具有多个操作模式的应用
CN107924431B (zh) 匿名应用程序包装
CN109155781A (zh) 对托管应用程序的动态访问
CN108028845A (zh) 使用导出凭证注册企业移动装置管理服务
CN107690793A (zh) 用于移动平台的微vpn隧穿
CN107636603A (zh) 基于位置的装置可用性
US11557016B2 (en) Tracking image senders on client devices

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant