CN105474678A - 针对移动设备的集中选择应用许可 - Google Patents

针对移动设备的集中选择应用许可 Download PDF

Info

Publication number
CN105474678A
CN105474678A CN201480043455.XA CN201480043455A CN105474678A CN 105474678 A CN105474678 A CN 105474678A CN 201480043455 A CN201480043455 A CN 201480043455A CN 105474678 A CN105474678 A CN 105474678A
Authority
CN
China
Prior art keywords
application
mobile
list
mobile device
mobile solution
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
CN201480043455.XA
Other languages
English (en)
Other versions
CN105474678B (zh
Inventor
岳纯峰
兰维勇
理查德·西盖
艾利克斯·劳
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.)
Maliki Innovation Co ltd
Original Assignee
Visto Corp
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 Visto Corp filed Critical Visto Corp
Publication of CN105474678A publication Critical patent/CN105474678A/zh
Application granted granted Critical
Publication of CN105474678B publication Critical patent/CN105474678B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/101Access control lists [ACL]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • 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
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/168Implementing security features at a particular protocol layer above the transport layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/10Integrity
    • 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/35Protecting application or service provisioning, e.g. securing SIM application provisioning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Power Engineering (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

公开了用于确认与移动设备的应用改变事件的系统和方法。远离移动设备的设备(14)存储标识多个移动应用的应用授权列表,并通过通信网络(36)从所述移动设备(10)接收应用授权请求,所述应用授权请求包括应用标识信息。将所述应用标识与在所述应用授权列表中的一个或多个列出的移动应用进行比较,并产生包含授权决定的决定指令。向所述移动设备发送所述决定指令,以用于移动代理对所述决定指令进行后续处理。所述决定可以涉及对应用的安装或移除的授权。

Description

针对移动设备的集中选择应用许可
相关申请的交叉引用
本申请要求于2013年7月31日提交的美国专利申请No.13/955,622的优先权,在此将其整体一并引入作为参考。
背景技术
本发明涉及计算机设备安全。
在目前的移动工作环境中,尤其在移动设备越来越多地用于工作和个人活动的环境中,计算设备的开发是一个持续增长的问题。此外,由于各种开发掩盖了实用性并且掩盖了存在于开发的设备上的未授权应用的功能,对开发的设备的有效且即时的检测通常被掩盖,从而使得对安装在移动设备上的应用的管理对于现代商业非常重要。
传统地,管理员通过应用白名单或黑名单的方式来许可应用安装在台式计算机上。在强制或授权针对台式计算机设备的应用时,使用位于台式计算机的本地存储器中的黑名单和/或白名单自身的拷贝而涉及台式计算机的机载/本地存储器和关联本地处理器。这样,当完成了桌面安装应用的比较以确定是否许可应用时,黑名单和/或白名单列表被本地存储和询问。
此外,可以在台式计算机上使用探索式扫描应用,以发现恶意软件。在白名单使用方面,应用白名单被分发给被管理的台式设备,并随后存储在台式设备的本地存储器中。该模型在台式计算机上工作良好,这是因为商业专用台式机器不需要扩展的白名单,因为典型商业企业的被许可应用的数量是受限制且可控的。此外,企业中的商业专用台式机器的特点可能在于缺少变化,因此不需要跟踪每个台式设备应用黑名单/白名单。此外,台式计算机具有用于通过应用白名单/黑名单的方式执行应用授权的计算功率、本地存储容量、网络带宽和功率容量(例如线路功率)。然而,在移动设备的情况下,使用扩展和广泛的应用白名单/黑名单的能力可能受到电池寿命、计算功率、本地存储容量和测量的移动网络带宽的限制。
在探索式扫描方面,商业企业对台式计算机进行探索式扫描,因为可能存在恶意软件的许多变体而使得探索式扫描变得必要。对此,台式计算机具有用于执行探索式扫描的计算功率、网络带宽和电池容量。台式计算机还经常配备有未测量的网络带宽和足够的本地存储容量,以在需要时使用长且扩展的应用白名单/黑名单。
然而,用于探索式扫描和应用白名单/黑名单的相同的模型不适于监测移动设备(诸如智能电话)上的应用安装,因为这些移动设备不是商业专用设备,即,它们用于个人和商业活动两者,因此使得对大量非商业应用的监测和许可变得必要。具体地,这些非商业专用移动设备(作为被中央企业管理的一组设备)可能在什么移动设备上安装什么应用方面具有极大的变化性,从而使得难以跟踪与个人移动设备相关联的个人应用黑名单和白名单。
理论上,由于缺少恶意软件的许多未知变体的增生,可容易枚举的应用的官方的、规范的源的存在会使得应用白名单/黑名单模型(而非探索式扫描)对于移动设备而言具有吸引力。此外,在一些组织中否决非感染型软件的需要意味着探索式扫描将不适用于这些情况。然而,执行探索式扫描的能力和使用完整且扩展的个人设备应用白名单/黑名单对于考虑到以下特征的移动设备集合而言是不利的:有限电池寿命、有限机载移动设备计算功率、有限机载移动设备存储、和移动设备测量宽带限制以及移动网络数据使用的成本。此外,移动应用的频繁更新也使得向个人移动设备频繁传送应用黑名单和白名单变得不切实际。
此外,应认识到,在移动设备与一个网络服务通信的开发状态(例如,安装受限制应用)的情况下,其它独立网络服务可能不知道该开发状态(例如,可能不能够经由它们与过错移动设备的网络通信来检测或识别开发状态),并且可能因此将它们的企业数据的安全置于风险境地。这样,如果设备经历了特权扩大攻击(例如,越狱、刷机),则可以绕过移动设备上的本地强制或者白名单/黑名单可能不利地曝光,不论设备是传统计算机还是诸如移动电话的手持设备。然而,这方面对于手持设备而言尤其重要,因为即使在BYOB(请自带设备)场景中的普通用户之中这种攻击也很流行。
还应认识到,移动设备可能不会始终具有稳定的网络连接,因此不能连接到不受信任的网络(例如,WiFi热点、不友好3G网络)。此外,台式计算机和移动设备之间的差别在于:台式计算机通常位于防火墙后,因此使用本地存储(在台式设备存储器中)的名单的基于网络的方案可以被部署为捕获未授权下载。同样的机制不能用于移动设备,这是因为移动设备不受防火墙保护。
发明内容
本发明的一个目的在于提供一种移动设备应用许可方法和系统,以消除或缓解上述缺点中的至少一个。
提供的第一方面是一种用于确认与移动设备的设备基础设施相关联的应用改变事件的方法,所述方法包括以下步骤:识别由所述设备基础设施处理的应用改变事件;通过通信网络从所述移动设备发送应用授权请求,所述应用授权请求包括应用标识信息;接收决定指令以由与所述设备基础设施相关联的移动代理处理所述决定指令,所述决定指令基于所述应用标识信息与在应用授权列表中标识的多个移动应用中的一个或多个列出的移动应用的比较,所述应用授权通过通信网络远离所述移动设备;以及处理所述决定指令的授权决定,所述授权决定基于所述应用标识信息是否与所述多个移动应用中的任意一个相匹配,以执行对所述移动改变事件的许可或拒绝中的至少一个。
第二方面提供了一种用于确认与移动设备的设备基础设施相关联的应用改变事件的方法,所述方法包括以下步骤:存储标识多个移动应用的应用授权列表,所述应用授权列表通过通信网络远离所述移动设备;通过通信网络从所述移动设备接收应用授权请求,所述应用授权请求包括应用标识信息;将所述应用标识信息与在所述应用授权列表中标识的所述多个移动应用中的一个或多个列出的移动应用进行比较;确定所述应用信息是否与所述多个移动应用中的任意一个相匹配,以产生包含授权决定的决定指令;以及向所述移动设备发送所述决定指令,以用于与所述设备基础设施相关联的移动代理对所述决定指令进行后续处理;其中,对所述决定指令的处理提供对应用改变事件的确认。
附图说明
参照附图,以上和其它方面将更加易于理解。
图1是网络系统的示图。
图2a是图1的网络系统的操作示例。
图2b是图1的网络系统的另一操作示例。
图3示出了图1的系统的移动设备的示例配置。
图4示出了图1的系统的管理服务器的示例配置。
具体实施方式
本发明可以实施为多种方式,包括作为处理;装置;系统;物质的组合;在计算机可读存储介质上实施的计算机程序产品;和/或处理器,诸如被配置为执行存储在连接到处理器的存储器上和/或由所述处理器提供的指令的处理器。在本说明书中,这些实施方式或本发明可以采用的任何其它形式可以被称为技术。总体上,在本发明的范围内,公开的处理的步骤的顺序可以改变。除非另外说明,否则诸如处理器或存储器的被描述为被配置为执行任务的组件可以被实施为在给定时间被临时配置为执行任务的通用组件,或者被制造为执行该任务的专用组件。如本文所使用的,术语“处理器”表示被配置为处理数据(诸如计算机程序指令)的一个或多个设备、电路和/或处理核。
结合示出本发明原理的附图提供对本发明的一个或多个实施例的详细描述。结合这些实施例来描述本发明,但是本发明不限于任何实施例。本发明的范围仅被权利要求限制,并且本发明包括多个备选、修改和等同物。在下面的描述中阐述了多个特定细节,以提供对本发明的全面理解。出于示例的目的提供这些细节,并且可以在不具有这些特定细节的一些或全部的情况下根据权利要求实现本发明。为了清楚的目的,不对在与本发明相关的技术领域中已知的技术资料进行详细描述,从而本发明不会被不必要地模糊。
在本说明书和权利要求中,在一些实施例中,当指代物品时使用冠词“一”、“一个”或“这个”不意图排除包括多个该物品的可能性。本领域技术人员将清楚,在至少一些情况下,在本说明书和所附权利要求中,在至少一些实施例中可以包括多个物品。
移动设备和服务器环境8
参照图1,示出了环境8,便于维护管理员控制的、提供允许安装在移动设备10(即,将被管理的移动设备)上的移动应用(例如,选择的可执行程序和/或可应用软件库(DLL))的列表的服务器侧应用白名单9、和/或提供被限制安装在移动设备10上的移动应用的列表的应用黑名单9,并且应用黑名单9还可提供应安装/存在于移动设备10上的必需应用,因此一旦许可便不可移除,并且通过设备管理服务器14经由移动设备管理员安装。移动设备10和与移动设备10相关联的商业企业12的管理服务器14通信。例如,设备管理服务器14可以是与商业企业12通信的第三方服务器或者可以直接被商业企业12管理。环境8的优点(将在下文进一步讨论)可以包括:减少或消除对应用黑名单9和白名单9(在下文统称为应用授权列表9)的传输(在所述列表被传输之后被移动设备使用);和/或限制或消除将个人完整应用授权列表9本地地存储在移动设备10的机载存储器中。应认识到,应用白名单9的子集是移动应用的“所需”列表,其用于由决定模块28向移动代理20通知不允许对“所需”应用的卸载或移除。
应认识到,如将在下文进一步描述的,在强制或授权在移动设备10上安装移动应用(或者不适当地从移动设备10移除(即,卸载)移动应用)时,使用位于设备管理服务器14的远程存储器(即,地理上远离移动设备10且设备管理服务器14和移动设备10之间的任何交互经由网络36发生)中的应用黑名单和/或白名单9而涉及设备管理服务器14的远程存储器和关联处理器。这样,应用黑名单和/或白名单列表9被远离移动设备10存储,并且当对移动设备10应用改变(例如,安装或移除)进行比较以确定移动应用安装/移除是否被许可时,被设备管理服务器14本地地询问。还应认识到,当移动设备10(经由物理连接)直接或经由中间网络设备(诸如存在于有线网络上的台式计算机)间接地拴接到设备管理服务器14时,可以通过有线连接来实现设备管理服务器14和移动设备10之间的消息传输26、30、34。例如,移动设备10可以经由台式设备的USB端口连接到台式设备。这样,可以经由USB拴接和中间台式设备在拴接的移动设备10和设备管理服务器14之间传输任何消息26、30、34。这样,用于通信26、30、34的网络36连接可以是台式设备和设备管理服务器14之间的网络连接36,而非设备管理服务器14和移动设备10之间的连接。
如在下文进一步讨论的,在移动设备10上改变(例如,安装或移除)的一个或多个应用与应用黑名单和/或白名单9的内容的比较被称为应用改变确认事件。应用改变确认事件可以指(通过与移动代理20通信的决定模块28将应用与远程应用列表9的比较)确认新安装的移动应用是否被授权(整体或部分地)安装在移动设备基础设施上。
应用改变确认事件可以指(通过与移动代理20通信的决定模块28将应用与远程应用列表9的比较)确认先前安装的移动应用是否被授权(整体或部分地)继续安装在移动设备基础设施上。
应用改变确认事件可以指(通过与移动代理20通信的决定模块28将应用与远程应用列表9的比较)确认移动应用是否被授权(整体或部分地)从移动设备基础设施移除。
应用改变确认事件可以指(通过与移动代理20通信的决定模块28将应用与远程应用列表9的比较)确认将被安装的移动应用是否被授权(整体或部分地)安装在移动设备基础设施上。这样,应用隔离或禁用的过程还可以指对用户希望在移动设备基础设施23上安装/更新的应用的“待定许可”概念的任何变形。例如,如果作为由移动代理20隔离新安装应用的替代,移动代理20仅仅是基于经由用户接口27(或本地存储器中的其它第三方代理或通过网络36的远程访问)接收到的指令而不允许用户(经由用户接口27)和/或设备基础设施23安装应用,而是向设备管理服务器14发送请求消息以使该应用在被安装为设备基础设施上的可执行应用之前被许可。
应用改变确认事件可以指(通过与移动代理20通信的决定模块28将应用与远程应用列表9的比较)确认已经安装的移动应用是否被授权(整体或部分地)继续安装在移动设备基础设施23上。例如,在这种情况下,移动代理20允许(或不限制)设备基础设施23的安装和可能执行,但是之后移动代理20联系决定模块28以询问应用授权,如本文的讨论。如果来自决定模块28的返回决定是“不许可”,则移动代理20可以采取操作以移除(或禁用)安装的应用,如文本的讨论。备选地,可以在移动代理20联系决定模块28之前、之中和/或之后禁用(例如如本文的讨论)已经安装和执行的应用。
这样,应认识到,应用改变确认事件可以用于针对被决定模块28和/或移动代理20询问的移动设备10的设备基础设施,确认一部分移动应用的存在。这样,应认识到,应用改变确认事件可以用于针对被决定模块28和/或移动代理20询问的移动设备10的设备基础设施,确认所有移动应用的存在。这样,应认识到,应用改变确认事件可以用于针对被决定模块28和/或移动代理20询问的移动设备10的设备基础设施,确认一部分移动应用的不存在。这样,应认识到,应用改变确认事件可以用于针对被决定模块28和/或移动代理20询问的移动设备10的设备基础设施,确认所有移动应用的不存在。
这样,结合移动代理20的设备管理服务器14的操作可以提供:对应被允许在给定移动设备10系统上执行的可执行的特定移动程序和/或软件库的识别;禁止任何其它移动可执行程序和/或软件库在该移动设备10系统上起作用;禁止移动设备用户能够改变可以在移动设备系统上执行的授权文件(例如,可执行程序和/或软件库);安装以及从移动设备10的设备基础设施卸载或移除整个软件应用,例如如果应用在所需列表(例如应用白名单9)上则安装软件应用和/或如果应用在应用黑名单9上则卸载软件应用;如果应用白名单9具有指示该移动应用被需要且应当存在且安装在设备基础设施上的标志,则不允许软件应用的卸载;安装或移除整个或部分移动应用,例如,在Android中,应用可以分割为不同部分并且因此各个部分也可以基于服务器侧的应用授权列表9被启用、禁用;和/或设备管理服务器14可以在移动代理20所识别和报告的软件应用(或其组成部件)正被安装和/或移除和/或启用和/或禁用时接收实时事件。这样,设备管理服务器14(例如,决定模块28)可以被配置为基于经由网络36报告的来自移动代理20的安装(或移除事件)报告而提供安装授权或拒绝决定,将在下文进一步描述。
在此参照图1,环境8可以包括管理控制台16,被配置作为使移动设备管理员(未示出)改变在应用授权列表9中包含的移动应用的许可状态的前端组件。应用许可存储库18基于每个应用授权列表9跟踪移动应用和它们的许可状态。在应用许可存储库18中,与应用授权列表9相关联的应用信息可以包括软件应用或组件的标识,例如,软件应用可以被其本地id、版本和/或(整个或部分)应用有效载荷的加密计算散列来标识。每个移动设备10都配置有移动代理20,移动代理20用于管理安装的应用列表22的内容、包含当前安装在移动设备10上(和/或在移动设备10上移除)的所有移动应用的标识、用于向服务器14的扫描收集代理24进行报告、以及用于基于初始应用改变(例如安装或移除)请求30对从决定模块28传输到移动设备10的授权结果26进行处理。还应认识到,可以在发送授权结果26时向设备10发送所需状态,从而使得所需列表9可以是白名单的子列表。这样,所需列表9可以是被定义为需要存在和安装于设备基础设施23上的应用的列表。
设备管理服务器14可以被单独地配置,或者被配置为扫描收集代理24和决定模块28的组合。扫描收集代理24被配置为从被设备管理服务器14管理的每个移动设备10的每个移动代理20收集安装的应用列表22,并且将以设备为中心的安装数据库32保持为最新。可以通过与移动代理20结合的扫描收集代理24周期地收集每个移动设备10的安装的(和/或移除的)应用列表22,并且当移动代理20检测到改变时更新所述应用列表22。决定模块28被配置为基于以设备为中心的安装数据库32和/或应用许可存储库18决定如何响应于应用改变请求30。
以设备为中心的安装数据库32向设备管理服务器14(例如经由决定模块28)提供关于在被设备管理服务器14管理的移动设备10上安装了什么移动应用和/或软件库的知识。应用许可存储库18针对每个应用授权列表9跟踪移动应用和/或软件库以及它们的许可状态,使得应用许可列表9的内容是从环境8的每个移动设备10的每个移动代理20周期地收集(例如,接收或发送)的所有应用列表22的组合。应认识到,以设备为中心的安装数据库32和应用许可存储库18可以是相同存储器或不同存储器。此外,应认识到,以设备为中心的安装数据库32和关联应用列表22在环境8中是可选的。
设备10和服务器14的网络交互
如图1中所示,移动网络36代表移动代理20和设备管理服务器14之间的一个或多个通信信道。例如,移动代理20与设备管理服务器14具有客户端-服务器关系。移动设备10可以是被设备用户采用的计算设备10(例如个人计算设备)。设备10的示例可以包括例如但不限于:移动设备;智能电话、无线电话;PDA;平板和/或经由无线连接连接到网络36的其它手持计算机设备。取决于移动设备10如何被配置为与设备管理服务器14交互(例如,有绳连接和/或无绳连接),网络36可以包括有线和/或无线网络段/路由。
例如,任何或所有设备管理服务器14可以是企业服务器。这样,设备管理服务器14可以被专用于运行一个或多个服务(例如,作为服务的主机)的物理计算机设备(例如,配置的计算机硬件系统)表示,从而在网络36上为移动设备10的用户的需求(和附属于各个服务器14的应用(例如,移动代理20))服务。取决于服务器14提供的计算服务(例如数据处理、数据访问等),服务器14可以是数据库服务器、文件服务器、邮件服务器、打印服务器、网络服务器、游戏服务器或其它相同类型的服务器。在客户端-服务器架构的上下文中,服务器14可以被定义为运行以为其它程序(“客户端”)的请求进行服务的计算机程序。因此,“服务器”代表“客户端”而执行一些计算任务(包括对可经由服务器14访问的(例如,服务器存储器18、32中的)数据的数据访问)。在当前上下文中,客户端(协调移动设备10访问并与服务器14通信)在移动设备10上运行,并通过网络36与附属于客户端应用的服务器14连接。应认识到,客户端与其附属服务器14的关系通常是基于一对一的。
这样,能够作为用于设备10的网络服务器的服务器14可以包含使得服务器14更适于产生适合设备10的特征的环境的特征(例如,硬件、软件、网络连接性)。与个人设备10所通常具有的那些特征相比,这些特征可以包括更快的CPU、提高的高性能RAM以及以更大或多个硬件驱动的形式的增加的存储容量。服务器14还可以具有可靠性、可用性、可服务性(RAS)以及容错特征,诸如供电中的冗余、(RAID中的)存储和网络36连接。
优选地,通信网络36包括诸如互联网的广域网,然而网络36还可以包括一个或多个局域网36、一个或多个广域网或它们的组合。此外,网络36不需要是基于陆地的网络,而是可以包括无线网络和/或基于陆地的网络与无线网络的混合以增强通信灵活性。通信网络36用于方便设备10和服务器14之间的网络交互。通信网络36用于方便服务器14和存储器18、32之间的网络交互(被远程配置时)。在网络36上的通信(例如,26、30、34)方面,这些通信可以在包括符合网络通信协议(例如TCPIP)的可寻址网络分组的计算机设备(例如,设备10和设备14)之间,使得通信可以包括使用在设备10基础设施和安全企业移动服务网关或服务器(例如远程计算机设备14)之间所使用的适合的预定义加密传输的应用和/或软件库标识信息(及其授权信息)。如下文的讨论,应用和/或软件库标识信息(及其授权信息)可以表示针对在移动设备10上安装和可执行的应用和/或软件库的应用安装控制。
应认识到,移动设备10可能不会始终具有稳定的网络连接,因此可以连接到作为不受信任或不安全的网络(例如,WiFi热点、不友好3G网络)的网络36。
应用授权示例
参照图1和图2a,在步骤101,当接收到应用改变(例如应用安装或移除,诸如从文件存储库(例如GoogleTM播放商店或AppleTMapp商店)下载)或应用更新(例如,新的应用版本)时,移动代理20经由移动设备10的操作系统识别出应用被改变(例如,安装或移除),以用于设备基础设施23(见图3)对移动应用10的后续执行。例如,移动代理20可以在移动设备10上的后台操作,以监听由设备基础设施23的操作系统处理的应用改变事件。
在步骤102,移动代理20首先禁用识别出的新安装的应用(例如可执行应用),使得新安装的应用不能够被设备基础设施23运行或可见(应用被视为隔离),并且移动代理20向设备管理服务器14发送包含关于新安装的应用的标识信息的应用许可请求30。例如,在被设备基础设施23第一次运行/执行之前,新安装的应用可以在安装之后被禁用。备选地,在步骤102,移动代理20首先识别由设备基础设施23新移除的应用(例如可执行应用),并且向设备管理服务器14发送包含关于被移除应用的标识信息的应用许可请求30。这样,应用移除可能已经发生并且因此许可请求30是可选的。然而,移动设备10可以根据需要向服务器14发送更新信息36,以获得存储在列表9、22中的信息。
用于禁用(即,不允许移动设备10的用户访问和执行)新安装的应用的一个示例方式是:移动代理将新安装的应用的存储移动到设备基础设施23的隔离存储位置(例如,选择的隔离目录),所述隔离存储位置与已经授权(因此当前可执行)的安装在移动设备10的设备基础设施23上的应用的存储位置相分离。用于禁用的另一个示例方式是:由移动代理20禁用或者重新定向与新安装的应用相关联的系统的功能调用,使得移动代理20不允许由设备基础设施23的操作系统发出的系统的功能调用被新安装的应用接收。另一个示例方式是:由移动代理20禁用操作或者隐藏(例如,灰化)与新安装的应用相关联的用户接口27图标(见图3),从而移动代理20不允许移动设备10操作图标且因而产生由新安装的应用接收的系统的功能调用。用于禁用的另一个示例方式是:在执行安装的应用之前由移动代理20立即创建设备基础设施23的操作系统到移动代理20内的挂钩(hook)。移动代理20随后通过该挂钩的返回结果告知操作系统其不被允许而拒绝安装的应用的运行。用于禁用的另一示例方式是:由移动代理20检测安装的应用的软件组件的立即执行,但是在顶层设置阻挡屏幕,从而安装的应用的用户接口27(见图3)不能被用户通过用户接口27访问。例如,在设备基础设施23执行安装的应用的一部分的同时执行该禁用方式示例。此外,例如,该禁用方式可以用于将安装在设备基础设施23上的非恶意软件应用列入黑名单。
应用许可请求30的标识信息可以包括应用名称、应用版本和在设备基础设施23中的应用安装的位置(例如目录)。标识信息内容的目的在于包括足够的信息,使得决定模块28可以唯一地标识改变的(例如安装或移除的)应用。标识信息的一个示例形式是表示新安装的应用的散列值,其可以通过(例如由决定模块28)对改变的应用执行二进制扫描来获得。这样,散列法是指将一串唯一地表示改变的(例如,安装或移除的)应用的字符变换为表示原始字符串的通常更短的固定长度的值或键。例如,仅用于应用名称、应用版本和设备基础设施23中的应用安装的位置(例如目录)的应用字符可以被散列化。
如上文所提供的,对于移动设备10的终端用户而言,在该阶段的改变的(例如安装的)应用将看上去好像没被安装一样,除了移动代理20可能通过用户接口27向用户通知表示在收到另一通知之前新安装的应用已经被隔离的消息。
在步骤103,决定模块28接收到请求30并且询问应用许可存储库18以确定请求30的应用标识信息是否与包含在授权应用列表9中的应用之一相匹配。例如,如果授权应用列表9是白名单并且存在匹配,则决定模块28向移动代理20返回指示新安装的应用被授权的应用决定26。例如,如果授权应用列表9是白名单并且不存在匹配,则决定模块28向移动代理20返回指示新安装的应用不被授权的应用决定26。例如,如果授权应用列表9是黑名单并且存在匹配,则决定模块28向移动代理20返回指示新安装的应用不被授权的应用决定26。例如,如果授权应用列表9是黑名单并且不存在匹配,则决定模块28向移动代理20返回指示新安装的应用被授权的应用决定26。备选地,在不存在匹配的情况下(不论白名单还是黑名单),决定模块28可以向管理控制台16发送复查请求40,以要求针对新安装的应用的授权或限制进行确认。在任一情况下,基于决定模块28的动作和所产生的决定,应用决定26包含返回给移动代理20的授权指令、限制或非授权指令或待定指令或所需指令。此外,应认识到,当新安装的应用被检测为不存在于应用许可列表9中时,可以可选地向管理控制台16和/或通过电子邮件发送警告电子邮件。
备选地,在步骤103,决定模块28接收到请求30并且询问应用许可存储库18以确定请求30的应用标识信息是否与包含在授权应用列表9中的应用之一相匹配。例如,如果授权应用列表9是白名单并且存在匹配,则决定模块28向移动代理20返回指示移除的应用不被授权的应用决定26。例如,如果授权应用列表9是白名单并且不存在匹配,则决定模块28向移动代理20返回指示新移除的应用被授权的应用决定26。例如,如果授权应用列表9是黑名单并且存在匹配,则决定模块28向移动代理20返回指示新移除的应用被授权的应用决定26。例如,如果授权应用列表9是黑名单并且不存在匹配,则决定模块28向移动代理20返回指示新移除的应用被授权的应用决定26。备选地,在不存在匹配的情况下(不论白名单还是黑名单),决定模块28可以向管理控制台16发送复查请求40,以要求针对新移除的应用的授权或限制进行确认。在任一情况下,基于决定模块28的动作和所产生的决定,应用决定26包含返回给移动代理20的授权指令、限制或非授权指令或待定指令。此外,应认识到,当新移除的应用被检测为不存在于应用许可列表9中时,可以可选地向管理控制台16发送警告电子邮件。
备选地,在步骤103,决定模块28接收到请求30并且询问应用许可存储库18以确定请求30的应用标识信息是否与包含在授权应用列表9中的应用之一相匹配。例如,如果授权应用列表9是所需列表并且存在匹配,则决定模块28向移动代理20返回指示移除的应用不被授权的应用决定26。例如,如果授权应用列表9是所需列表并且不存在匹配,则决定模块28向移动代理20返回指示新移除的应用被授权的应用决定26。例如,如果授权应用列表9是黑名单并且存在匹配,则决定模块28向移动代理20返回指示新移除的应用被授权的应用决定26。例如,如果授权应用列表9是黑名单并且不存在匹配,则决定模块28向移动代理20返回指示新移除的应用被授权的应用决定26。备选地,在不存在匹配的情况下(不论是所需列表、白名单还是黑名单),决定模块28可以向管理控制台16发送复查请求40,以要求针对新移除的应用的授权或限制进行确认。在任一情况下,基于决定模块28的动作和所产生的决定,应用决定26包含返回给移动代理20的授权指令、限制或非授权指令或待定指令或要求指令。此外,应认识到,当新移除的应用被检测为不存在于应用许可列表9中时,可以可选地向管理控制台16或经由电子邮件发送警告电子邮件。这样,所需列表内容可以包含由管理员确定为这种所需要的应用必须存在(例如,安装和可执行)于设备基础设施23上的应用的列表。
这样,由上可见,应认识到经由决定模块28将改变的应用与应用授权列表9进行比较可以用于在移动设备10的设备基础设施23上进行应用安装或应用移除事件之一或两者。
在步骤104,移动代理接收到应用决定26,并对包含的应用决定指令进行操作。例如,如果涉及的应用指令是“待定”,则新安装的应用将保持禁用和隔离。如果涉及的应用指令是“许可”,则新安装的应用将被重新启用(例如撤销或删除由移动代理实施的禁用机制),从而应用可以被设备基础设施23执行。在此情况下,新安装的应用被视为从隔离中释放出来并因此可以被移动设备10的用户使用。如果涉及的应用指令是“列入黑名单”,则新安装的应用将根据移动代理20的协调而从设备基础设施23卸载。如果涉及的应用指令是“需要”,则新安装的应用将根据移动代理20的协调而保持在设备基础设施23中。
还应认识到,设备管理服务器14可以撤销授权决定指令,并随后向移动设备10的设备基础设施23发送第二应用决定指令26(例如,被移动代理20请求),该第二应用决定指令26包含用于移除先前许可的安装应用的决定指令、或者用于安装先前被移动代理20许可应用移除的可执行应用的决定指令。这可以是包括在以设备为中心的数据库32中的列表9指示移动设备10包括随后变为列入黑名单的安装应用的情况。这样,这样做的优点在于:如果检测到需要在该机制之外更新授权/限制状态,则移动代理20可以立即恢复。这尤其适用于“隔离”和“需要”的应用,因为用户应当有权禁用(不必要的)应用。可以通过决定模块28结合移动代理20经由网络36消息26、30、34以及恢复的应用状态,来监视对隔离应用的重新启用以及对所需要应用的禁用。
参照图1和图2b,在步骤105,移动设备10的移动代理20还经由更新消息34周期性地发送在它们各自的设备基础设施23上安装的应用的各个完整列表22,以帮助以设备为中心的安装数据库32与被设备管理服务器14管理的移动设备10同步。移动代理20还可以保持存在于设备基础设施23中的所有当前禁用的新安装应用的列表,并可以使得所述禁用列表可基于请求由设备管理服务器14获得(例如,经由扫描收集代理24)。保持该禁用列表的一个示例优点在于:在老版本仍然处于隔离状态的同时,当前禁用的应用的新版本不可被安装和执行,因为移动代理20可以基于从决定模块28接收到的授权决定指令,在从隔离中移除新版本之前在当前禁用的列表内容中检查老版本。
在步骤106,扫描收集代理24可以基于周期地从环境8的移动设备10的各个移动代理20接收到的更新消息34的内容,更新在移动设备10上安装了且可执行(即,在隔离之外的)哪些应用。更新消息34的内容可以用于更新在以设备为中心的安装数据库32和/或应用许可存储库18中存储的列表9的内容。此外,如果涉及的应用(不论在更新消息34中和/或在授权请求30中标识的应用)之前未被设备管理服务器14发现(例如,未在应用许可存储器18的列表9内容中标识),则应用许可存储器18的列表9内容可以被更新为创建该新应用并且将其状态设置为“待定”。
在步骤107,对于在列表9中列出的那些应用(例如,待定的、许可的或限制的),当管理员通过管理控制台16更新应用许可存储库18上的待定应用的许可状态时,决定模块28可以在以设备为中心的安装数据库32中查询安装有应用的移动设备10的列表。之后,相应的决定指令(例如,许可的、限制的、待定的)作为决定消息26被发送到所产生的设备列表,以由它们的移动代理20进行处理。此外,如果检测到将要在该机制之外更新授权/限制状态,则移动代理20可以在接收到决定消息26时立即将状态恢复为与其许可/限制状态一致。例如,扫描收集代理24和/或决定模块28可以检测在以设备为中心的安装数据库32的列表22中列出的应用的授权状态与应用许可存储库18的列表9之间的不匹配。这可以是使得更新消息34的授权应用内容与应用许可存储库18的应用授权内容不匹配的结果,这可能是越狱或刷机后的设备10的情况。这样,由移动代理20保持列表22并且由设备管理服务器14将列表9保持在数据库18、32中会是有利的。如上所述,列表22是安装且可执行(例如,不在隔离状态)在设备基础设施23上的所有授权应用的本地列表,而列表9包括被设备管理服务器14集中保持的应用状态,以针对与企业12相关联的环境8中的所有移动设备10对白名单/黑名单/待定应用进行全局管理。
如上所述,每个移动设备10都配置有移动代理20,移动代理20用于管理应用列表22的内容、包含当前安装在移动设备10上(和/或移除)的所有移动应用的标识,用于向服务器14的扫描收集代理24进行报告,并用于基于初始应用改变(例如安装或移除)请求30或扫描请求34对从决定模块28传输到移动设备10的授权结果26进行处理。例如,应用列表22可以被配置为包括列表A,列表A具有安装在设备基础设施23上的所有许可应用并因而被存储在设备10中的永久存储器中,或者由移动代理20循环访问允许由设备基础设施23的操作系统运行的所有应用(隐含列表)来创建。应用列表22可以被配置为还具有列表B,列表B具有所有禁用/隔离的应用并因而被存储在设备10中的永久存储器中,或者由移动代理20循环访问不被允许由设备基础设施23的操作系统运行的所有应用(隐含列表)来创建。移动代理20可以被配置为根据需要周期地更新应用列表22的内容。该应用列表22可以被周期地报告给决定模块28和/或扫描收集代理24。
移动代理20还可以周期地查看安装、改变或移除了哪些应用,并可以创建列表C(例如,列出当被实施时在扫描/检查期间安装的所有应用)。列表C可以通过循环访问设备基础设施23中的所有应用来创建,并且可以在处理期间被存储在存储器中。这样,例如,可以在移动代理20的扫描期间创建列表C,并且可以将列表C与列表A进行比较。列表C和A之间的差别(例如,C-A)可以被移动代理20表示为潜在的不兼容应用,并且该差别可以作为授权请求30被发送给设备管理服务器14以请求决定指令34。
此外,例如,被创建为列表C被列表A和B差分的差别列表(例如,C-A-B)可以表示设备基础设施23上的所有新安装或改变的应用。移动代理20可以隔离/禁用由差别(C-A-B)定义的所有应用并将其添加到列表B。此时可以从存储器中丢弃列表C。在应用列表22的更新过程方面,例如,当针对应用的“许可”响应30被发送到设备管理服务器14,则移动代理20可以从列表B移除相应应用条目,并将其添加到列表A。当发送了针对应用的“不许可”响应34,并且被移动代理20接收时,可以在移动代理20协调和实施了从设备基础设施23移除应用之后从列表B移除相应应用条目。当发送了针对应用的“待定”响应34时(注意其是可选的),相应的应用条目可以如移动代理20的设置留在列表B中。
设备基础设施23
参照图3和图4,其示出了示例设备基础设施23,包括经由连接118结合到设备基础设施23的网络连接接口15(诸如网络接口卡(例如SIM)或调制解调器)。网络连接接口15可以在设备10的操作期间连接到网络36(例如,内联网和/或诸如互联网的外联网),网络36使设备10、14能够适当地彼此通信。网络36可以支持消息26、30、34和相关内容的传输。应认识到,设备基础设施23可以被实施在移动设备10(图3)和服务器14(图4)上。
再次参照图3、4,设备10、14还可以具有通过连接122结合到设备基础设施23的用户接口27,以与用户(未示出)通信。用户接口27可以包括一个或多个用户输入设备,诸如但不限于QWERTY键盘、键区、触控笔、鼠标、麦克风以及用户输出设备(如LCD屏幕显示器和/或扬声器)。如果屏幕是触敏式的,则显示器还可以用作被设备基础设施23控制的用户输入设备。
再次参照图3、4,设备基础设施23帮助设备10、14的操作。设备基础设施23包括一个或多个计算机处理器CPU,并且可以包括关联存储器25。计算机处理器CPU通过执行与任务相关的指令,使设备10、14被配置为通过网络接口15、用户接口27和设备10、14的其它应用程序/硬件的操作执行(例如应用20、24、28的各个模块的)目标任务。这些与任务相关的指令可以由操作系统提供,和/或作为位于存储器25中的软件应用20、24、28,和/或可操作地配置进被设计为执行特定任务的处理器CPU的电子/数字电路中。此外,应认识到,设备基础设施23可以包括连接到处理器CPU的计算机可读存储介质,用于向处理器CPU提供指令和/或加载/更新指令。计算机可读介质可以包括硬件和/或软件,诸如(仅作为示例)闪存、光可读介质(诸如CD/DVDROMS)和存储卡。在每种情况下,计算机可读介质可以采取小型盘、硬盘驱动器、固态存储卡或在存储器模块25中设置的RAM的形式。应注意,以上列出的示例计算机可读介质可以单独使用或组合使用。
此外,应认识到,计算设备10、14可以包括可执行应用20、24、28,所述可执行应用20、24、28包括用于实施例如包括操作系统和模块的预定功能/操作的代码或机器可读指令。本文中使用的处理器CPU是用于执行如以上示例所述的操作的配置设备和/或机器可读指令集,所述操作包括由应用20、24、28固件和/或操作系统中的任何或所有执行的操作。如本文的使用,处理器CPU可以包括硬件、固件和/或软件的任意一个或组合。处理器CPU通过操纵、分析、修改、转换或发送用于可执行处理或信息设备所使用的信息、和/或通过将该信息路由到输出设备,来对信息进行处理。例如,处理器CPU可以使用或包括控制器或微处理器的能力。因此,模块的任何功能可以被实现为硬件、软件或这两者的组合。因此,为了简洁,一般将被用作设备和/或机器可读指令集的处理器CPU称为处理器/模块。
从以上描述可见,计算机设备10、14的存储器25(见图3、4)可被配置为按顺序保留存储的数据(列表9、22),并且对存储的数据的主要(或者仅仅)操作是添加/修改、处理、或从存储器25移除存储的数据(例如,FIFO、LIFO等)。例如,存储器25可以是用于容纳且随后访问存储的数据的线性数据结构,和/或可以是容纳且随后访问存储的数据的非线性数据结构。
此外,存储器25接收各种实体,诸如被存储且保持以在稍后处理的数据。在这些上下文中,存储器25可以执行缓冲器的功能,缓冲器是存储器中的用于在将数据从一个位置移动到另一位置(即,在计算机设备10、14之间)时临时保持数据的区域。一般地,当在一个或多个计算机内/之间的处理之间移动数据时将数据保存在存储器中。应认识到,存储器25可以被实施为硬件、软件或它们的组合。当在数据被接收的速率/时间与数据被(例如最终被设备10、14)处理的速率/时间之间存在差别时,在网络系统8中使用存储器25。
此外,本领域技术人员将理解,本文描述的存储器/存储器25是可以以电磁或光形式保持数据的物理位置,该物理位置可以被计算机处理器/模块访问。可以存在两个通常用途:第一,存储器被频繁地用于表示通过输入/输出操作(诸如硬盘和磁带系统、不包括计算机存储器的其它存储形式、以及诸如闪存的其它非计算机存储)连接到计算机的设备和数据。第二,在更正式的使用中,存储器/存储器25被划分为:(1)主存储器,将数据保持在存储器(有时被称为随机存取存储器或RAM)和其它“内置式”设备(诸如处理器的L1高速缓存器)中,(2)辅存储器,将数据保持在硬盘、磁带和需要输入/输出操作的其它设备上。访问主存储器的速度比访问辅存储器的速度快,因为主存储器更接近处理器或者因为存储设备的性质。另一方面,辅存储器可以保持比主存储器更多的数据。除了RAM之外,主存储器包括只读存储器(ROM)、闪存、L1和L2高速缓存器。除了硬盘之外,辅存储器包括多种设备类型和技术,包括磁盘、闪存、Zip驱动器、独立磁盘冗余阵列(RAID)系统和全息存储器。具有存储功能的设备统称为存储介质25。
数据库是存储器25的一个实施例,用于收集被组织的信息,从而该信息可以被访问、管理和更新。一方面,可以根据内容的类型(目录、全文本、数字和图像)来对数据库进行分类。在计算中,根据组织方法来对数据库进行分类。最普遍的方法是关系数据库、列表数据库,其中,数据被定义为使得其可以以多种不同方式被标识和访问。分布数据库是可以在网络中的不同点之间分散和复制的数据库。面向对象编程数据库是与在对象类和子类中定义的数据相符的数据库。计算机数据库通常包括数据记录或文件(诸如交易、目录和清单)以及资料的聚合。一般地,数据库管理器向用户提供控制读/写访问、指定报告生成和分析使用的能力。数据库和数据库管理器普遍存在于大型主机系统中,但是也存在于较小的分布式工作站和诸如AS/400的中型系统以及个人计算机中。SQL(结构化查询语言)是用语对诸如IBM的DB2、Microsoft的Access、以及Oracle、Sybase和ComputerAssociates的数据库产品之类的数据库进行交互式查询并且更新数据库的标准语言。
存储器/存储器25还可以被定义为可以被计算机的微处理器快速访问的指令和数据的物理电子保持位置。当计算机在正常操作时,其存储器通常容纳操作系统的主要部分以及正被使用的应用程序和相关数据的一些或全部。存储器常常被用作随机存取存储器(RAM)和/或闪存。该类型的存储器可以位于与计算机中的微处理器物理接近的一个或多个微芯片上。
关于服务器,应认识到计算机设备14可以被配置为硬件、软件或通常是硬件和软件两者的组合,以提供操作为套接字侦听器的网络实体。应认识到,共享到一个或多个客户端处理的资源(例如数据)的任何计算化处理可以被分类为系统8中的服务器。术语服务器还可以被概括为描述被部署为执行一个或多个这种程序的主机,使得该主机可以是经由网络36将其它计算机或电子设备连接在一起的一个或多个配置计算机。实现服务的功能的计算机设备14可以在网络36上向在设备10上执行的应用提供专用服务,例如通过互联网36向大型企业中的私人用户或公共用户提供服务。在系统8中,服务器14可以具有如上所述的专用功能和/或可以共享功能。企业服务器14是在商业环境中使用的服务器,并且可以在/被任何可能的计算机硬件运行。在硬件方面,术语服务器14通常指示用于在网络36环境的大量需要下运行软件应用的计算机模型。在该客户端-服务器配置中,一个或多个机器(不论是计算机还是计算机装置)通过一个计算机用作另一个计算机的主机的方式彼此共享信息。虽然最近任何个人计算机能够用作网络或应用服务器14,但是专用的服务器14可以包括能够更适于生产环境的特征。这些特征可以包括更快的CPU、更高性能的RAM以及通常多于一个的大硬盘驱动器。更明显的区别包括在供电、网络连接甚至是服务器本身的显著余量。
除此之外,在移动设备10从环境8注销,例如,从环境8注销并因而不被管理设备服务器14管理(不被列为以设备为中心的安装数据库32中的设备之一)的情况下,可以从设备10移除所有的隔离应用(或从隔离释放所有应用,如果管理员这样选择的话)。此外,当从管理设备服务器14的管理注销时,可以允许所需要应用(例如,白名单9上的应用)从设备基础设施23卸载。
如上所述,移动设备10和设备管理服务器14之间的消息传输26、30、34经由网络36执行,从而这些消息26、30、34不被与移动设备10相关联的网络防火墙处理。应认识到,移动设备10不可能被防火墙保护,防火墙被配置为使用合适的防火墙技术(诸如下载过滤器和端口流量监视技术(例如,黑名单流量发起地址))抓获或标识未授权下载。这样,应认识到,移动设备10存在于防火墙之外,因此使用本地存储(存储在移动设备10存储器中)的应用列表9的基于网络的方案不能够被实际部署为抓获未授权下载。
如上所述,设备管理服务器14通过以下步骤来协调确认与移动设备10的设备基础设施23相关联的应用改变事件:存储标识多个移动应用的应用授权列表9,所述应用授权列表9通过通信网络36远离所述移动设备10;通过通信网络36从所述移动设备10接收应用授权请求30,所述应用授权请求30包括应用标识信息;将所述应用标识信息与在所述应用授权列表30中标识的所述多个移动应用中的一个或多个列出的移动应用进行比较;确定所述应用信息是否与所述多个移动应用中的任意一个相匹配,以产生包含授权决定的决定指令26;以及向所述移动设备10发送所述决定指令26,以用于与所述设备基础设施23相关联的移动代理20对所述决定指令26进行后续处理;其中,对所述决定指令26的处理提供对应用改变事件的确认。
在移动代理20方面,设备管理服务器14通过移动设备10的移动代理20协调确定应用改变事件包括:识别由设备基础设施23处理的应用改变事件;通过通信网络36从移动设备20发送应用授权请求30,所述应用授权请求30包括应用标识信息;接收决定指令26以由与所述设备基础设施23相关联的移动代理20处理所述决定指令,所述决定指令26基于所述应用标识信息与在应用授权列表9中标识的多个移动应用的一个或多个列出的移动应用的比较,所述应用授权列表9通过通信网络36远离所述移动设备10;以及处理所述决定指令26的授权决定,所述授权决定基于所述应用标识信息是否与所述多个移动应用中的任意一个相匹配,以执行对所述移动改变事件的许可或拒绝中的至少一个。

Claims (20)

1.一种用于确认与移动设备的设备基础设施相关联的应用改变事件的方法,所述方法包括以下步骤:
存储标识多个移动应用的应用授权列表,所述应用授权列表通过通信网络远离所述移动设备;
通过通信网络从所述移动设备接收应用授权请求,所述应用授权请求包括应用标识信息;
将所述应用标识信息与在所述应用授权列表中标识的所述多个移动应用中的一个或多个列出的移动应用进行比较;
确定所述应用信息是否与所述多个移动应用中的任意一个相匹配,以产生包含授权决定的决定指令;以及
向所述移动设备发送所述决定指令,以用于与所述设备基础设施相关联的移动代理对所述决定指令进行后续处理;
其中,对所述决定指令的处理提供对应用改变事件的确认。
2.根据权利要求1所述的方法,其中,所述应用改变事件是在所述设备基础设施上安装新应用。
3.根据权利要求2所述的方法,其中,所述决定指令用于授权在所述应用标识信息中标识的新移动应用的安装。
4.根据权利要求3所述的方法,其中,处理所述决定指令重新启用先前在所述设备基础设施上安装并禁用的新移动应用。
5.根据权利要求2所述的方法,其中,所述决定指令用于限制在所述应用标识信息中标识的新移动应用的安装。
6.根据权利要求5所述的方法,其中,处理所述决定指令移除先前在所述设备基础设施上安装并禁用的新移动应用。
7.根据权利要求1所述的方法,其中,所述应用改变事件是移除所述设备基础设施上的移动应用。
8.根据权利要求7所述的方法,其中,所述决定指令用于授权安装在所述应用标识信息中标识的移动应用。
9.根据权利要求8所述的方法,其中,处理所述决定指令重新安装先前从所述设备基础设施卸载的移动应用。
10.根据权利要求7所述的方法,其中,所述决定指令用于限制在所述应用标识信息中标识的移动应用的安装,并指示移除已经安装在所述设备基础设施上的移动应用。
11.根据权利要求10所述的方法,其中,处理所述决定指令移除先前在所述设备基础设施上安装并禁用的新移动应用。
12.根据权利要求1所述的方法,其中,所述应用授权列表包括在白名单上列出的移动应用。
13.根据权利要求1所述的方法,其中,所述应用授权列表包括在黑名单上列出的移动应用。
14.根据权利要求1所述的方法,其中,移动应用是完整的可执行程序的至少一部分。
15.根据权利要求14所述的方法,其中,完整的可执行程序的所述至少一部分是与所述完整的可执行程序相关联的软件库。
16.根据权利要求14所述的方法,其中,完整的可执行程序的所述至少一部分是所述完整的可执行程序的组件。
17.根据权利要求1所述的方法,其中,通信网络包括无线网络,使得移动设备连接到无线网络。
18.根据权利要求1所述的方法,其中,通信网络包括有线网络,使得移动设备拴接至与有线网络连接的中间网络设备。
19.根据权利要求1所述的方法,还包括以下步骤:接收包含更新应用标识信息的列表更新消息,并使用所述更新应用标识信息来更新应用列表,其中,所述更新应用标识信息包括在移动设备上安装的所有授权应用的列表,所述应用列表包含安装在多个移动设备的多个设备基础设施中的授权应用。
20.一种用于确认与移动设备的设备基础设施相关联的应用改变事件的方法,所述方法包括以下步骤:
识别由所述设备基础设施处理的应用改变事件;
通过通信网络从所述移动设备发送应用授权请求,所述应用授权请求包括应用标识信息;
接收决定指令,以由与所述设备基础设施相关联的移动代理处理所述决定指令,所述决定指令基于所述应用标识信息与在应用授权列表中标识的多个移动应用中的一个或多个列出的移动应用的比较,所述应用授权列表通过通信网络远离所述移动设备;以及
处理对所述决定指令的授权决定,所述授权决定基于所述应用标识信息是否与所述多个移动应用中的任意一个相匹配,以执行对所述移动改变事件的许可或拒绝中的至少一个。
CN201480043455.XA 2013-07-31 2014-07-30 针对移动设备的集中选择应用许可 Active CN105474678B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/955,622 2013-07-31
US13/955,622 US9305162B2 (en) 2013-07-31 2013-07-31 Centralized selective application approval for mobile devices
PCT/US2014/048968 WO2015017581A1 (en) 2013-07-31 2014-07-30 Centralized selective application approval for mobile devices

Publications (2)

Publication Number Publication Date
CN105474678A true CN105474678A (zh) 2016-04-06
CN105474678B CN105474678B (zh) 2019-03-12

Family

ID=51390184

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480043455.XA Active CN105474678B (zh) 2013-07-31 2014-07-30 针对移动设备的集中选择应用许可

Country Status (4)

Country Link
US (2) US9305162B2 (zh)
EP (2) EP3028489B1 (zh)
CN (1) CN105474678B (zh)
WO (1) WO2015017581A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107305608A (zh) * 2016-04-21 2017-10-31 成都鼎桥通信技术有限公司 终端设备的管理方法和装置
CN108280342A (zh) * 2017-01-03 2018-07-13 北京搜狗科技发展有限公司 应用同步方法和装置、用于应用同步的装置
CN110100423A (zh) * 2016-12-21 2019-08-06 微软技术许可有限责任公司 用于机器的应用许可列表的生成

Families Citing this family (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9407492B2 (en) 2011-08-24 2016-08-02 Location Labs, Inc. System and method for enabling control of mobile device functional components
US9740883B2 (en) * 2011-08-24 2017-08-22 Location Labs, Inc. System and method for enabling control of mobile device functional components
US9819753B2 (en) 2011-12-02 2017-11-14 Location Labs, Inc. System and method for logging and reporting mobile device activity information
US10455071B2 (en) 2012-05-09 2019-10-22 Sprint Communications Company L.P. Self-identification of brand and branded firmware installation in a generic electronic device
US9489531B2 (en) 2012-05-13 2016-11-08 Location Labs, Inc. System and method for controlling access to electronic devices
US9591452B2 (en) 2012-11-28 2017-03-07 Location Labs, Inc. System and method for enabling mobile device applications and functional components
US9554190B2 (en) 2012-12-20 2017-01-24 Location Labs, Inc. System and method for controlling communication device use
US10560324B2 (en) 2013-03-15 2020-02-11 Location Labs, Inc. System and method for enabling user device control
US10506398B2 (en) 2013-10-23 2019-12-10 Sprint Communications Company Lp. Implementation of remotely hosted branding content and customizations
US9743271B2 (en) 2013-10-23 2017-08-22 Sprint Communications Company L.P. Delivery of branding content and customizations to a mobile communication device
US9681251B1 (en) 2014-03-31 2017-06-13 Sprint Communications Company L.P. Customization for preloaded applications
US9245123B1 (en) * 2014-05-07 2016-01-26 Symantec Corporation Systems and methods for identifying malicious files
US9754090B2 (en) * 2014-05-07 2017-09-05 Vivint, Inc. Setting up a system with a mobile device
US9760712B2 (en) * 2014-05-23 2017-09-12 Vmware, Inc. Application whitelisting using user identification
US10148805B2 (en) 2014-05-30 2018-12-04 Location Labs, Inc. System and method for mobile device control delegation
US9762657B2 (en) * 2014-06-17 2017-09-12 International Business Machines Corporation Authentication of mobile applications
US9794011B2 (en) * 2014-06-27 2017-10-17 GM Global Technology Operations LLC Activating a digital radio broadcast receiver in a vehicle
US9848325B2 (en) * 2014-07-14 2017-12-19 Sony Corporation Enabling secure application distribution on a (E)UICC using short distance communication techniques
US10171503B1 (en) * 2014-07-15 2019-01-01 F5 Networks, Inc. Methods for scaling infrastructure in a mobile application environment and devices thereof
US9749458B2 (en) 2014-08-11 2017-08-29 Location Labs, Inc. Driving without distraction support system
US9992326B1 (en) 2014-10-31 2018-06-05 Sprint Communications Company L.P. Out of the box experience (OOBE) country choice using Wi-Fi layer transmission
US10025952B1 (en) * 2014-11-21 2018-07-17 The Florida State University Research Foundation, Inc. Obfuscation of sensitive human-perceptual output
US10482240B2 (en) * 2015-01-29 2019-11-19 Nec Corporation Anti-malware device, anti-malware system, anti-malware method, and recording medium in which anti-malware program is stored
US10158622B2 (en) * 2015-02-27 2018-12-18 Samsung Electronics Co., Ltd. System and method for a generic single sign-on function
US10476947B1 (en) * 2015-03-02 2019-11-12 F5 Networks, Inc Methods for managing web applications and devices thereof
US9398462B1 (en) * 2015-03-04 2016-07-19 Sprint Communications Company L.P. Network access tiered based on application launcher installation
US11249740B1 (en) * 2015-04-14 2022-02-15 Gamesys Ltd. Systems and methods for facilitating more efficient downloading of third party software applications
DE102015108714A1 (de) * 2015-06-02 2016-12-08 Deutsche Telekom Ag Verfahren zum Einstellen von Einstellungen innerhalb eines mobilen elektronischen Endgeräts
US10084794B2 (en) * 2015-06-02 2018-09-25 ALTR Solutions, Inc. Centralized access management of web-based or native applications
US10142450B1 (en) 2015-08-27 2018-11-27 Sprint Communications Company L.P. Custom mobile telecommunication device configuration management
US11424931B2 (en) * 2016-01-27 2022-08-23 Blackberry Limited Trusted execution environment
US10599409B2 (en) 2016-02-02 2020-03-24 Blackberry Limited Application lifecycle operation queueing
US11301572B2 (en) * 2016-02-27 2022-04-12 Gryphon Online Safety, Inc. Remotely controlling access to online content
US20220337592A1 (en) * 2016-02-27 2022-10-20 Gryphon Online Safety, Inc Remotely Controlling Access to Online Content
US20180004936A1 (en) 2016-07-04 2018-01-04 International Business Machines Corporation Computing device control and audit
US9871905B1 (en) 2016-08-09 2018-01-16 Sprint Communications Company L.P. Systems and methods for customized delivery of virtually installed applications
US9913132B1 (en) 2016-09-14 2018-03-06 Sprint Communications Company L.P. System and method of mobile phone customization based on universal manifest
US10021240B1 (en) 2016-09-16 2018-07-10 Sprint Communications Company L.P. System and method of mobile phone customization based on universal manifest with feature override
US10698672B1 (en) 2016-10-07 2020-06-30 Wells Fargo Bank, N.A. Universal installer and uninstaller
US10667136B2 (en) 2017-01-20 2020-05-26 Red Hat, Inc. Disabling applications on a client device remotely
US20180219676A1 (en) * 2017-01-27 2018-08-02 Walmart Apollo, Llc Managing smart appliances using blockchain technology
US10721624B2 (en) * 2017-02-17 2020-07-21 Global Tel*Link Corporation Security system for inmate wireless devices
US10306433B1 (en) 2017-05-01 2019-05-28 Sprint Communications Company L.P. Mobile phone differentiated user set-up
US11259235B2 (en) * 2017-11-03 2022-02-22 Blackout Technologies Group Ltd. Blocking functionality on a smart device
CN107908953A (zh) * 2017-11-21 2018-04-13 广东欧珀移动通信有限公司 系统通知服务控制方法、装置、终端设备及存储介质
EP3528468B1 (en) 2018-02-20 2021-04-07 Nokia Technologies Oy Profile information sharing
US11063762B1 (en) * 2018-02-22 2021-07-13 Allscripts Software, Llc Computing system for inter-application communication
JP7179482B2 (ja) * 2018-04-19 2022-11-29 キヤノン株式会社 情報処理装置、制御方法、およびそのプログラム
US10708230B2 (en) * 2018-06-14 2020-07-07 Servicenow, Inc. Systems and methods for firewall configuration using block lists
US11507653B2 (en) * 2018-08-21 2022-11-22 Vmware, Inc. Computer whitelist update service
US10891017B1 (en) 2018-08-25 2021-01-12 Sprint Communications Company L.P. Rotating icon selection and interaction software development kit (SDK)
KR102239902B1 (ko) * 2019-06-03 2021-04-13 김덕우 보조기억장치에서의 파일시스템 보호장치 및 방법
US11321481B1 (en) * 2019-06-26 2022-05-03 Norton LifeLock, Inc. Method for determining to grant or deny a permission request based on empirical data aggregation
JP7321795B2 (ja) * 2019-06-27 2023-08-07 キヤノン株式会社 情報処理装置、情報処理方法およびプログラム
TWI730415B (zh) * 2019-09-18 2021-06-11 財團法人工業技術研究院 偵測系統、偵測方法、及藉由使用偵測方法所執行的更新驗證方法
US11520876B2 (en) * 2020-02-03 2022-12-06 Dell Products L.P. Efficiently authenticating an application during I/O request handling
JP7445017B2 (ja) * 2020-05-06 2024-03-06 ネイバー クラウド コーポレーション ユーザ識別子および署名収集を利用したモバイルアプリケーション偽造・変造探知方法、コンピュータプログラム、コンピュータ読み取り可能な記録媒体およびコンピュータ装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7168089B2 (en) * 2000-12-07 2007-01-23 Igt Secured virtual network in a gaming environment
US7694296B1 (en) * 2005-05-24 2010-04-06 Symantec Corporation Preventing unauthorized installs and uninstalls of software modules
US20130054702A1 (en) * 2011-08-23 2013-02-28 Bank Of America Corporation Monitoring of regulated associates
US20130097660A1 (en) * 2011-10-17 2013-04-18 Mcafee, Inc. System and method for whitelisting applications in a mobile network environment
CN103180862A (zh) * 2010-08-25 2013-06-26 前景公司 用于服务器耦合的恶意软件防止的系统和方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040203693A1 (en) * 2002-09-18 2004-10-14 Dell Products L.P. Over the air firmware and policy programming
US8555352B2 (en) * 2003-06-20 2013-10-08 Juniper Networks, Inc. Controlling access nodes with network transport devices within wireless mobile networks
US20060106806A1 (en) * 2004-11-12 2006-05-18 Smith Micro Software, Inc. Software update for a plurality of mobile devices
US8291215B2 (en) * 2006-05-04 2012-10-16 Research In Motion Limited System and method for processing certificates located in a certificate search
US20080052383A1 (en) * 2006-08-25 2008-02-28 Gpxs Holding Ltd. System and method for mobile device application management
US20080051076A1 (en) * 2006-08-25 2008-02-28 O'shaughnessy John System And Method For Mobile Device Application Management
US8270935B2 (en) * 2007-12-05 2012-09-18 Apple Inc. Method and system for prolonging emergency calls
US9043919B2 (en) * 2008-10-21 2015-05-26 Lookout, Inc. Crawling multiple markets and correlating
US20120291102A1 (en) * 2011-05-09 2012-11-15 Google Inc. Permission-based administrative controls
JP6013061B2 (ja) 2012-07-23 2016-10-25 株式会社東芝 情報処理装置および制御方法
US20140096246A1 (en) 2012-10-01 2014-04-03 Google Inc. Protecting users from undesirable content
US9270674B2 (en) * 2013-03-29 2016-02-23 Citrix Systems, Inc. Validating the identity of a mobile application for mobile application management
US9417866B2 (en) * 2014-12-03 2016-08-16 Verizon Patent And Licensing Inc. Identification and isolation of incompatible applications during a platform update

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7168089B2 (en) * 2000-12-07 2007-01-23 Igt Secured virtual network in a gaming environment
US7694296B1 (en) * 2005-05-24 2010-04-06 Symantec Corporation Preventing unauthorized installs and uninstalls of software modules
CN103180862A (zh) * 2010-08-25 2013-06-26 前景公司 用于服务器耦合的恶意软件防止的系统和方法
US20130054702A1 (en) * 2011-08-23 2013-02-28 Bank Of America Corporation Monitoring of regulated associates
US20130097660A1 (en) * 2011-10-17 2013-04-18 Mcafee, Inc. System and method for whitelisting applications in a mobile network environment

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107305608A (zh) * 2016-04-21 2017-10-31 成都鼎桥通信技术有限公司 终端设备的管理方法和装置
CN110100423A (zh) * 2016-12-21 2019-08-06 微软技术许可有限责任公司 用于机器的应用许可列表的生成
CN110100423B (zh) * 2016-12-21 2021-09-21 微软技术许可有限责任公司 用于机器的应用许可列表的生成
CN108280342A (zh) * 2017-01-03 2018-07-13 北京搜狗科技发展有限公司 应用同步方法和装置、用于应用同步的装置
CN108280342B (zh) * 2017-01-03 2022-09-30 北京搜狗科技发展有限公司 应用同步方法和装置、用于应用同步的装置

Also Published As

Publication number Publication date
US20150040246A1 (en) 2015-02-05
WO2015017581A1 (en) 2015-02-05
EP3404948B1 (en) 2020-03-04
EP3404948A1 (en) 2018-11-21
EP3028489B1 (en) 2018-09-05
US20160197930A1 (en) 2016-07-07
US9305162B2 (en) 2016-04-05
US9742777B2 (en) 2017-08-22
CN105474678B (zh) 2019-03-12
EP3028489A1 (en) 2016-06-08

Similar Documents

Publication Publication Date Title
CN105474678A (zh) 针对移动设备的集中选择应用许可
CN106133743B (zh) 用于优化预安装应用程序的扫描的系统和方法
CN102804132B (zh) 基于目录的软件组件管理
US8578374B2 (en) System and method for managing virtual machines
CN101295262B (zh) 使用管理程序安全地更新固件装置的系统和方法
US20090094462A1 (en) System and method for self policing of authorized configuration by end points
US9367670B2 (en) Managing a software item on a managed computer system
CN107533608A (zh) 可信更新
JP2016201115A (ja) マルウェアに対処するための方法及び装置
CN107567699A (zh) 实时移动安全态势
US9170806B2 (en) Software discovery by an installer controller
CN105518695A (zh) 实时策略分发
CN105224832A (zh) 一种License授权集中管理的方法
CN102693388A (zh) 数据安全防护处理系统及方法及存储介质
CN101657793A (zh) 用于配置防火墙的方法、系统和计算机程序
JP2013149280A (ja) 電子装置のidを判断する方法
CN112328366B (zh) 一种高效的云平台主机保护方法及系统
CN116760705B (zh) 基于综合能源管理系统的多租户平台隔离管理系统及方法
US9219707B1 (en) Systems and methods for sharing the results of malware scans within networks
CN110633074A (zh) 一种软件开发工具包的使用控制方法及装置
US20150095237A1 (en) License Management System
CN103841120A (zh) 基于数字水印的数据安全管理方法、移动终端和系统
CN104360856A (zh) 云应用交付装置
US10203944B1 (en) Systems and methods for dynamically customizing software programs
KR100881552B1 (ko) 컴퓨터 라이프사이클 관리 방법

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20170116

Address after: Voight, Canada

Applicant after: Good Technology Holdings Ltd.

Address before: Delaware

Applicant before: GOOD TECHNOLOGY Corp.

TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20180118

Address after: Voight, Ontario, Canada

Applicant after: BlackBerry Ltd.

Address before: Voight, Canada

Applicant before: Good Technology Holdings Ltd.

GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240523

Address after: Ai Erlandubailin

Patentee after: Maliki Innovation Co.,Ltd.

Country or region after: Ireland

Address before: Ontario, Canada

Patentee before: BlackBerry Ltd.

Country or region before: Canada