CN104798355A - Mobile device management and security - Google Patents
Mobile device management and security Download PDFInfo
- Publication number
- CN104798355A CN104798355A CN201380057326.1A CN201380057326A CN104798355A CN 104798355 A CN104798355 A CN 104798355A CN 201380057326 A CN201380057326 A CN 201380057326A CN 104798355 A CN104798355 A CN 104798355A
- Authority
- CN
- China
- Prior art keywords
- mobile device
- enterprise
- gateway
- mobile
- application
- 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
- H04L63/0263—Rule management
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/107—Computer-aided management of electronic mailing [e-mailing]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/08—Access security
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/30—Security of mobile devices; Security of mobile applications
- H04W12/37—Managing security policies for mobile devices or for controlling mobile applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/07—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail characterised by the inclusion of specific contents
- H04L51/08—Annexed information, e.g. attachments
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0272—Virtual private networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
- H04L63/062—Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0823—Network architectures or network communication protocols for network security for authentication of entities using certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/08—Access security
- H04W12/088—Access security using filters or firewalls
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Business, Economics & Management (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Human Resources & Organizations (AREA)
- General Business, Economics & Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Strategic Management (AREA)
- Economics (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
Description
通过引用的并入incorporation by reference
本申请要求2012年9月18日提交的且通过引用被全部并入本文的美国临时专利申请序列号61/702,671的优先权。该美国申请也要求2012年10月10日提交的标题为“GATEWAY FOR CONTROLLING MOBILEDEVICEACCESS TO ENTERPRISE RESOURCES”且通过引用被全部并入本文的美国专利申请序列号13/649,076的优先权。这个申请也通过引用被全部并入本文:2012年10月10日提交的标题为“PROTECTINGENTERPRISE DATA THROUGH POLICY BASED ENCRYPTION OFMESSAGE ATTACHMENTS”的美国专利申请序列号13/649,064;2012年10月10日提交的标题为“PROVIDING SECURE MOBILE DEVICEACCESS TO ENTERPRISE RESOURCES USING APPLICATIONTUNNELS”的美国专利申请序列号13/648,993;2012年10月10日提交的标题为“SECURE EXECUTION OF ENTERPRISE APPLICATIONS ONMOBILE DEVICES”的美国专利申请序列号13/649,024;2012年10月10日提交的标题为“MODIFYING PRE EXISTING MOBILE APPLICATIONSTO IMPLEMENT ENTERPRISE SECURITY POLICIES”的美国专利申请序列号13/649,022;2012年10月10日提交的标题为“SECURE MOBILEBROWSER FOR PROTECTING ENTERPRISE DATA”的美国专利申请序列号13/649,063;2012年10月10日提交的标题为“SECURE CONTAINERFOR PROTECTING ENTERPRISE DATA ON A MOBILE DEVICE”的美国专利申请序列号13/649,069;2012年10月10日提交的标题为“RULESBASED DETECTION AND CORRECTION OF PROBLEMS ON MOBILEDEVICES OF ENTERPRISE USERS”的美国专利申请序列号13/649,071;2012年10月10日提交的标题为“CONTROLLING MOBILE DEVICEACCESS TO ENTERPRISE RESOURCES”的美国专利申请序列号13/649,073。此外,本申请特此通过引用并入美国临时专利申请号61/546,021、61/546,922和61/649,134整个技术公开。本申请也特此通过引用并入Qureshi等人的美国专利号7,788,536(“Qureshi‘526”)的整个技术公开。This application claims priority to US Provisional Patent Application Serial No. 61/702,671 filed September 18, 2012 and incorporated herein by reference in its entirety. This US application also claims priority to US Patent Application Serial No. 13/649,076, filed October 10, 2012, entitled "GATEWAY FOR CONTROLLING MOBILEDEVICEACCESS TO ENTERPRISE RESOURCES," which is incorporated herein by reference in its entirety. This application is also incorporated herein by reference in its entirety: U.S. Patent Application Serial No. 13/649,064, filed October 10, 2012, entitled "PROTECTING ENTERPRISE DATA THROUGH POLICY BASED ENCRYPTION OFMESSAGE ATTACHMENTS"; U.S. Patent Application Serial No. 13/648,993 for "PROVIDING SECURE MOBILE DEVICEACCESS TO ENTERPRISE RESOURCES USING APPLICATION TUNNELS"; U.S. Patent Application Serial No. 13/64 entitled "SECURE EXECUTION OF ENTERPRISE APPLICATIONS ONMOBILE DEVICES," filed October 10, 2012 ; U.S. Patent Application Serial No. 13/649,022, filed October 10, 2012, entitled "MODIFYING PRE EXISTING MOBILE APPLICATIONSTO IMPLEMENT ENTERPRISE SECURITY POLICIES"; U.S. Patent Application Serial No. 13/649,063; filed October 10, 2012, entitled "SECURE CONTAINERFOR PROTECTING ENTERPRISE DATA ON A MOBILE DEVICE"; filed October 10, 2012 titled U.S. Patent Application Serial No. 13/649,071 for "RULESBASED DETECTION AND CORRECTION OF PROBLEMS ON MOBILEDEVICES OF ENTERPRISE USERS"; U.S. Patent Application Serial No. 13/ 649,073. In addition, this application hereby incorporates by reference the entire technical disclosure of US Provisional Patent Application Nos. 61/546,021, 61/546,922, and 61/649,134. This application also hereby incorporates by reference the entire technical disclosure of US Patent No. 7,788,536 to Qureshi et al. ("Qureshi '526").
背景background
领域field
本申请通常涉及移动计算设备(智能电话、平板计算机、PDA等)和相关应用程序,且涉及用于访问企业的被管理资源的设备的自动或半自动管理的系统。The present application relates generally to mobile computing devices (smartphones, tablets, PDAs, etc.) and related applications, and to systems for automatic or semi-automatic management of devices accessing managed resources of an enterprise.
相关技术的描述Description of related technologies
很多企业(例如公司、合伙公司、学术机构等)维持允许企业用户访问企业资源例如硬件和电子邮件的软件应用、消费者关系管理(CRM)、文档管理、企业资源规划(ERP)等的企业计算机网络。此外,很多企业允许用户经由移动设备例如智能电话、平板计算机等访问企业网络。在一些情况下,在移动设备上运行的软件应用与企业网络交换数据,其中一些数据可被保存在移动设备的存储器硬件(例如硬盘驱动器、SD卡)上。Many businesses (e.g., corporations, partnerships, academic institutions, etc.) maintain enterprise computers that allow business users to access enterprise resources such as hardware and software applications such as email, customer relationship management (CRM), document management, enterprise resource planning (ERP), etc. network. In addition, many enterprises allow users to access the enterprise network via mobile devices such as smart phones, tablet computers, and the like. In some cases, a software application running on a mobile device exchanges data with an enterprise network, some of which may be saved on the mobile device's memory hardware (eg, hard drive, SD card).
在企业当中的增长的趋势是允许雇员使用他们个人拥有的移动设备来访问公司资源和使用并访问它们的个人应用和数据。被称为BYOD(携带自己的设备)或BYOT(携带自己的技术)的这个趋势相当大地复杂化了保护企业资源——包括机密和/或敏感信息——的任务。A growing trend among enterprises is to allow employees to use their personally owned mobile devices to access corporate resources and use and access their personal applications and data. Known as BYOD (bring your own device) or BYOT (bring your own technology), this trend considerably complicates the task of securing enterprise resources, including confidential and/or sensitive information.
附图的简要说明Brief description of the drawings
图1A是企业计算机系统和与企业相关的移动计算设备的实施方式的示意图。Figure 1A is a schematic diagram of an embodiment of an enterprise computer system and a mobile computing device associated with the enterprise.
图1B是类似于图1A的实施方式,移动设备管理系统位于云计算系统(“云”)中。Figure IB is an embodiment similar to Figure IA, with the mobile device management system located in a cloud computing system ("the cloud").
图1C是类似于图1A的实施方式,元应用位于云中。Figure 1C is an implementation similar to Figure 1A, with the meta-application located in the cloud.
图1D是类似于图1A的实施方式,安全移动网关位于防火墙中。Fig. 1D is an embodiment similar to Fig. 1A, the secure mobile gateway is located in the firewall.
图1E是类似于图1A的实施方式,安全移动网关位于企业资源中。Figure IE is an embodiment similar to Figure IA, with the secure mobile gateway located at an enterprise resource.
图1F示出移动设备屏幕显示器,其包括用于暴露用于选择并启动企业应用的用户接口的可选择屏幕元件。Figure IF illustrates a mobile device screen display including selectable screen elements for exposing a user interface for selecting and launching an enterprise application.
图1G示出用于选择并启动企业应用的用户接口。Figure 1G shows a user interface for selecting and launching an enterprise application.
图2是图1A的企业计算机系统的移动设备管理系统的实施方式的示意图。2 is a schematic diagram of an embodiment of a mobile device management system of the enterprise computer system of FIG. 1A.
图3A是移动设备的实施方式的示意图。3A is a schematic diagram of an embodiment of a mobile device.
图3B示出可安装在移动设备上的安全相关部件和应用。Figure 3B illustrates security-related components and applications that may be installed on a mobile device.
图4是用于安全地允许或拒绝来自移动设备的访问企业计算机系统的请求的网关的实施方式的示意图。4 is a schematic diagram of an embodiment of a gateway for securely allowing or denying requests from mobile devices to access enterprise computer systems.
图5是示出一种方法的实施方式的流程图,其中移动设备的企业代理通过应用隧道将移动设备应用的通信重定向到企业资源。5 is a flowchart illustrating an embodiment of a method in which an enterprise proxy of a mobile device redirects communications of a mobile device application to an enterprise resource through an application tunnel.
图6是示出一种方法的实施方式的流程图,其中企业计算机系统参与在移动设备应用和企业资源之间的应用隧道的形成。6 is a flowchart illustrating an embodiment of a method in which an enterprise computer system participates in the formation of an application tunnel between a mobile device application and an enterprise resource.
图7是示出一种方法的实施方式的流程图,其中企业计算机系统管制由移动设备对企业资源的访问。7 is a flowchart illustrating an embodiment of a method in which an enterprise computer system regulates access to enterprise resources by mobile devices.
图8是部分地基于云的元应用的实施方式的示意图,该元应用用于管理企业计算机系统、移动设备管理系统和/或用于允许或拒绝来自移动设备的访问企业计算机系统的请求的网关。8 is a schematic diagram of an embodiment of a partially cloud-based meta-application for managing an enterprise computer system, a mobile device management system, and/or a gateway for allowing or denying requests from mobile devices to access an enterprise computer system .
图9是示出一种方法的实施方式的流程图,其中移动设备使用编码规则和补救行动来检测并处理安全相关或生产率相关问题。9 is a flowchart illustrating an embodiment of a method in which a mobile device detects and handles security-related or productivity-related issues using coding rules and remedial actions.
图10是示出一种方法的实施方式的流程图,其中移动设备响应于到企业计算机系统的网络连接的失去而缓存由用户输入的数据。10 is a flowchart illustrating an embodiment of a method in which a mobile device caches data entered by a user in response to a loss of network connectivity to an enterprise computer system.
图11是示出一种方法的实施方式的流程图,其中当到移动设备的网络连接被失去时企业计算机系统缓存将被发送到移动设备的数据。11 is a flowchart illustrating an embodiment of a method in which an enterprise computer system caches data to be sent to a mobile device when the network connection to the mobile device is lost.
图12是用于远程地控制移动设备的控制器计算机的实施方式的示意图。12 is a schematic diagram of an embodiment of a controller computer for remotely controlling a mobile device.
图13是示出一种方法的实施方式的流程图,其中控制器计算机参与与移动设备的远程控制会话。Figure 13 is a flowchart illustrating an embodiment of a method in which a controller computer participates in a remote control session with a mobile device.
图14示出参与与移动设备的远程控制会话的控制器计算机的屏幕显示器的实施方式,其包括移动设备的系统信息。14 illustrates an embodiment of a screen display of a controller computer participating in a remote control session with a mobile device, including system information for the mobile device.
图15示出参与与移动设备的远程控制会话的控制器计算机的屏幕显示器的实施方式,其包括对移动设备的任务管理器的访问。15 illustrates an embodiment of a screen display of a controller computer participating in a remote control session with a mobile device, including access to the task manager of the mobile device.
图16示出参与与移动设备的远程控制会话的控制器计算机的屏幕显示器的实施方式,其包括用于在控制器计算机和移动设备之间的文件传输的接口。16 illustrates an embodiment of a screen display of a controller computer participating in a remote control session with a mobile device, including an interface for file transfer between the controller computer and the mobile device.
图17示出参与与移动设备的远程控制会话的控制器计算机的屏幕显示器的实施方式,其包括用于编辑移动设备的注册表的接口。Figure 17 illustrates an embodiment of a screen display of a controller computer participating in a remote control session with a mobile device, including an interface for editing the mobile device's registry.
图18是示出一种方法的实施方式的流程图,其中移动设备参与与控制器计算机的远程控制会话。Figure 18 is a flowchart illustrating an embodiment of a method in which a mobile device participates in a remote control session with a controller computer.
图19A示出参与与移动设备的远程控制会话的控制器计算机的屏幕显示器的实施方式,其包括聊天会话接口。Figure 19A illustrates an embodiment of a screen display of a controller computer participating in a remote control session with a mobile device, including a chat session interface.
图19B示出在图10A中仿真的移动设备的实施方式。Figure 19B illustrates the embodiment of the mobile device simulated in Figure 10A.
图20示出参与与移动设备的远程控制会话的控制器计算机的屏幕显示器的实施方式,其包括共享白板特征。20 illustrates an embodiment of a screen display of a controller computer participating in a remote control session with a mobile device, including a shared whiteboard feature.
图21示出根据一个实施方式的由移动设备网关记录的数据的例子,该数据可被提供到分析服务。Figure 21 illustrates an example of data recorded by a mobile device gateway that may be provided to an analytics service, according to one embodiment.
图22示出用于配置标准的接口的例子,在该标准下,分析服务基于由移动设备网关记录的数据来发送警告。Figure 22 shows an example of an interface for configuring the criteria under which the analytics service sends alerts based on data recorded by the mobile device gateway.
图23示出一种方法的实施方式,分析或网络智能服务通过该方法来帮助认证与移动设备访问请求相关的用户。Figure 23 illustrates an embodiment of a method by which an analytics or network intelligence service assists in authenticating a user associated with a mobile device access request.
图24示出用于将例如企业保护功能嵌入移动设备软件应用中的软件开发工具包的实施方式。Figure 24 illustrates an embodiment of a software development kit for embedding, for example, enterprise protection functionality into a mobile device software application.
图25示出实施方式,其中使用在移动设备上运行的代理来创建应用隧道。Figure 25 illustrates an embodiment in which an application tunnel is created using a proxy running on the mobile device.
图26示出用于使管理员能够创建在移动设备和应用服务器之间的隧道的用户接口(例如网页)。Figure 26 shows a user interface (eg, web page) for enabling an administrator to create a tunnel between a mobile device and an application server.
图27示出对于图25的实施方式当在移动设备和应用服务器之间创建应用隧道时出现的代表性通信和事件。Figure 27 shows representative communications and events that occur when an application tunnel is created between the mobile device and the application server for the embodiment of Figure 25 .
图28示出当应用隧道被建立为安全应用隧道时出现的额外通信和事件。Figure 28 illustrates additional communications and events that occur when an application tunnel is established as a secure application tunnel.
图29示出使移动应用的行为能够被修改而不需要应用的源代码且不需要编程员或编程技能的应用修改系统。Figure 29 illustrates an application modification system that enables the behavior of a mobile application to be modified without requiring the application's source code and without requiring a programmer or programming skills.
图30示出由图29的系统使用来修改移动应用的过程的一个实施方式。FIG. 30 illustrates one embodiment of a process used by the system of FIG. 29 to modify a mobile application.
图31示出根据实施方式的当移动设备从企业资源取回具有附件的消息时出现的代表性通信和事件。31 illustrates representative communications and events that occur when a mobile device retrieves a message with an attachment from an enterprise resource, according to an embodiment.
图32示出根据实施方式的当移动设备转发具有附件的消息时出现的代表性通信和事件。32 illustrates representative communications and events that occur when a mobile device forwards a message with an attachment, according to an embodiment.
图33示出根据另一实施方式的当移动设备转发具有附件的消息时出现的代表性通信和事件。33 illustrates representative communications and events that occur when a mobile device forwards a message with an attachment, according to another embodiment.
图34是示出对附件加密的方法的实施方式的流程图。Figure 34 is a flowchart illustrating an embodiment of a method of encrypting an attachment.
图35是示出对附件解密的方法的实施方式的流程图。Figure 35 is a flowchart illustrating an embodiment of a method of decrypting an attachment.
在这个说明书中使用的参考数字通常基于数字出现于的第一个图(在上面的列表中)。具有在100-199之间的值的参考数字首次出现在图1中,具有在200-299之间的值的参考数字首次出现在图2中,依此类推。Reference numbers used in this specification are generally based on the first figure in which the number appears (in the list above). Reference numbers with values between 100-199 first appear in Figure 1 , reference numbers with values between 200-299 first appear in Figure 2, and so on.
技术人员将认识到,虽然本公开的某些附图示出很多物件,这些附图示出某些实施方式,且其它实施方式可涉及比所示的更多或更少的物件。Skilled artisans will recognize that while certain figures of this disclosure show a number of items, those figures illustrate certain implementations and that other implementations may involve more or fewer items than shown.
特定实施方式的详细描述Detailed Description of Specific Embodiments
现在参考附图描述各种发明和创造性特征。如将认识到的,很多所公开的特征和相关部件可独立于彼此被使用,并可与本文描述的不同地被实现。因此,在这个详细描述中(或在前面的背景章节中)没有任何事物意欲暗示所公开的系统的任何特定的特征、部件或特性是必不可少的。而且,将理解,标题为了方便而被提供且并不一定影响权利要求的范围或意义。Various inventions and inventive features are now described with reference to the accompanying drawings. As will be appreciated, many of the disclosed features and related components can be used independently of each other and implemented differently than described herein. Therefore, nothing in this detailed description (or in the preceding background section) is intended to imply that any particular feature, component or characteristic of the disclosed systems is essential. Also, it will be understood that headings are provided for convenience and do not necessarily affect the scope or meaning of the claims.
介绍introduce
在这个说明书中描述的体系结构可由公司或其它企业使用来灵活地实现用于允许企业用户使用他们的移动设备来安全地访问企业资源(文档、机密数据、公司应用和数据库服务器等)的策略,例如公司拥有的设备、BYOD(携带自己的设备)策略。这通过例如使企业能够规定并实现用于控制移动设备对特定企业资源的访问的策略的各种安全特征来实现。策略可例如基于各种标准例如相应用户的角色(例如用户在哪个部门)、移动设备的配置(例如被记入黑名单中的任何移动应用是否被安装)、用户的所记录的行为、移动设备的位置和/或对企业资源的访问被请求时的时间来控制移动设备对企业资源的访问。在一些实施方式中,体系结构通过创建使企业移动应用能够通过网络与企业系统安全地通信的应用隧道来进一步增强安全性。当例如用户中断雇用或违反公司策略时(例如,如果他们使其设备越狱或以其他方式在不被允许的配置中使用它),体系结构也可使IT职员能够从用户的移动设备选择性地(和远程地)抹掉企业应用和公司数据。The architecture described in this specification can be used by corporations or other businesses to flexibly implement policies for allowing business users to use their mobile devices to securely access corporate resources (documents, confidential data, corporate application and database servers, etc.), Examples include company-owned devices, BYOD (bring your own device) policies. This is accomplished through, for example, various security features that enable an enterprise to specify and enforce policies for controlling mobile device access to specific enterprise resources. Policies may be based, for example, on various criteria such as the role of the respective user (e.g., which department the user is in), the configuration of the mobile device (e.g., whether any mobile applications that are blacklisted are installed), the user's recorded behavior, mobile device Control mobile device access to enterprise resources based on the location and/or time when access to enterprise resources is requested. In some implementations, the architecture further enhances security by creating application tunnels that enable enterprise mobile applications to communicate securely with enterprise systems over the network. The architecture can also enable IT staff to selectively access data from a user's mobile device when, for example, the user breaks employment or violates company policy (for example, if they jailbreak their device or otherwise use it in a configuration that is not allowed). (And remotely) wipe enterprise applications and company data.
如在标题为“保护附件数据”的章节中描述的,所公开的体系结构也可实现附件加密策略,其中加密应用于被发送到企业用户的移动设备的电子邮件附件(或其它类型的消息例如SMS消息的附件)。这个特征减小了可以访问企业成员的移动设备的未授权用户将能够访问在企业用户之间作为附件发送的敏感企业文档的概率。As described in the section entitled "Protecting Attachment Data," the disclosed architecture can also implement an attachment encryption policy where encryption is applied to email attachments (or other types of messages such as attachments to SMS messages). This feature reduces the probability that an unauthorized user who has access to an enterprise member's mobile device will be able to access sensitive enterprise documents sent as attachments between enterprise users.
在一些实施方式中,所公开的体系结构有利地使最终用户能够在同一移动设备上同时运行企业移动应用(被配置或授权访问企业资源的那些应用)和个人(非企业)移动应用,而不危害安全性。这可部分地通过移动设备软件来实现,移动设备软件创建安全环境或外壳,其中企业移动应用可运行并存储数据。这个安全环境或外壳可例如防止安装在移动设备上的个人应用通过企业应用来访问文档和存储在移动设备上的其它数据。在一些实施方式中,在移动设备上运行的安全启动器使用用于启动安装在移动设备上的企业移动应用的UI来提高移动操作系统的UI。当用户启动企业移动应用时,可例如给用户显现有用于输入运行企业移动应用所必需的个人密码的认证屏幕。In some implementations, the disclosed architecture advantageously enables end users to run enterprise mobile applications (those configured or authorized to access enterprise resources) and personal (non-enterprise) mobile applications concurrently on the same mobile device without endanger safety. This can be accomplished in part through mobile device software, which creates a secure environment, or shell, in which enterprise mobile applications can run and store data. This secure environment or shell may, for example, prevent personal applications installed on the mobile device from accessing documents and other data stored on the mobile device through enterprise applications. In some implementations, the secure launcher running on the mobile device enhances the UI of the mobile operating system with the UI for launching enterprise mobile applications installed on the mobile device. When the user launches the enterprise mobile application, the user may, for example, be presented with an authentication screen for entering a personal password necessary to run the enterprise mobile application.
企业应用的密码(或其它类型的认证信息)的使用减小了当例如移动设备失去或被盗时或当移动设备由雇员的孩子使用来玩游戏时企业资源将被不恰当地使用的概率。在一些实施方式中,当例如用户试图但未能输入有效的密码阈值数量的连续次数(例如5或10)时,安全启动器(或安装在移动设备上的另一部件)通过执行移动设备的选择性抹掉进一步减小了这个风险。选择性抹掉操作从移动设备删除一些或所有企业应用和相关数据,而不删除任何个人应用或数据。在一些实施方式中,企业的IT部门可通过向设备远程地发出抹掉命令来发起特定的移动设备的选择性抹掉。The use of passwords (or other types of authentication information) for enterprise applications reduces the probability that enterprise resources will be used inappropriately when, for example, the mobile device is lost or stolen, or when the mobile device is used by an employee's child to play games. In some implementations, the secure enabler (or another component installed on the mobile device) executes the mobile device's Selective erasure further reduces this risk. Selective wipe removes some or all corporate applications and related data from a mobile device without deleting any personal applications or data. In some embodiments, an enterprise's IT department can initiate a selective wipe of a particular mobile device by remotely issuing a wipe command to the device.
体系结构也可支持用于保护企业资源的各种其它类型的补救行动。一个这样的补救是锁住移动设备或在设备上的存储企业数据的企业容器,使得移动设备或容器只可以使用由IT职员提供的有效代码来被解锁。在一些实施方式中,这些和其它类型的补救办法可自动基于在移动设备上检测的条件来调用,或可由IT职员远程地发起。The architecture can also support various other types of remedial actions for protecting enterprise resources. One such remedy is to lock the mobile device or the corporate container on the device that stores corporate data such that the mobile device or container can only be unlocked using a valid code provided by IT staff. In some implementations, these and other types of remediation can be invoked automatically based on conditions detected on the mobile device, or can be initiated remotely by IT staff.
这个说明书也公开了用于创建并提高移动应用以使它们能够使用各种企业安全特征的过程。下面在标题“修改预先存在的移动应用的行为”下描述了一种这样的方法。使用这种方法,组织可修改现有的移动应用以添加各种安全特征而不需要访问这样的应用的安全代码。被修改的移动应用可以例如是定制企业应用,或可以是配置成在企业内使用的市场上可买到的移动应用。通过这个过程,预先存在的移动应用可以例如配置成(a)使用应用隧道来与企业系统通信,(b)使用加密库来对它存储在移动设备上的文档和其它数据加密,(c)当移动应用被发起时给用户显现登录或密码屏幕,(d)禁用剪切、复制和粘贴操作,(e)禁用离线访问,(f)使用特定类型的用户认证方法例如基于姿势的认证,或其组合。通过这个过程来修改预先存在的移动应用的能力给企业在选择提供给它们的成员的移动应用时的较大灵活性;例如,不是要求雇员使用用于访问基于云的存储的定制发展的企业应用,企业可修改(或已修改)用户已经熟悉的流行的市场上可买到的移动应用。此外,可为不同类型的雇员创建给定应用的不同版本(使用不同的认证方法、加密级别等)。This specification also discloses a process for creating and enhancing mobile applications to enable them to use various enterprise security features. One such method is described below under the heading "Modifying the Behavior of a Pre-Existing Mobile Application." Using this approach, organizations can modify existing mobile applications to add various security features without requiring access to such applications' security code. The modified mobile application may be, for example, a custom enterprise application, or may be a commercially available mobile application configured for use within the enterprise. Through this process, a pre-existing mobile application can be configured, for example, to (a) use an application tunnel to communicate with an enterprise system, (b) use an encryption library to encrypt documents and other data it stores on the mobile device, (c) when Present a login or password screen to the user when the mobile app is launched, (d) disable cut, copy, and paste operations, (e) disable offline access, (f) use certain types of user authentication methods such as gesture-based authentication, or combination. The ability to modify pre-existing mobile applications through this process gives businesses greater flexibility in choosing mobile applications to offer to their members; for example, rather than requiring employees to use custom-developed enterprise applications for accessing cloud-based storage , an enterprise may modify (or have modified) a popular commercially available mobile application that a user is already familiar with. Furthermore, different versions of a given application can be created (using different authentication methods, encryption levels, etc.) for different types of employees.
也公开了用于向移动应用有效地添加企业安全特征而很少或不需要修改这样的应用的应用代码的过程。一种这样的方法涉及与移动设备的操作系统的虚拟机分离的安全虚拟机的使用。安全虚拟机实现或提供对各种企业安全特征(例如应用隧道、数据加密、密码提示等)的访问,且这些安全特征由在安全虚拟机内运行的移动应用继承或被强加在安全虚拟机内运行的移动应用上。可配置或迫使企业移动应用使用安全虚拟机,而非企业移动应用继续在移动操作系统的固有虚拟机内运行。这个能力给企业额外的自由来灵活地选择移动应用以用作企业应用;例如通过这种方法,企业可有效地配置用户的移动设备以使用户能够使用流行/熟悉的移动应用来安全地访问企业资源。Also disclosed are processes for efficiently adding enterprise security features to mobile applications with little or no modification of the application code of such applications. One such approach involves the use of a secure virtual machine separate from the virtual machine of the mobile device's operating system. The secure virtual machine implements or provides access to various enterprise security features (such as application tunneling, data encryption, password prompting, etc.), and these security features are inherited by or imposed on the mobile application running in the secure virtual machine running mobile application. Enterprise mobile applications can be configured or forced to use a secure virtual machine, while non-enterprise mobile applications continue to run within the native virtual machine of the mobile operating system. This capability gives the enterprise additional freedom to flexibly select mobile applications to use as enterprise applications; for example, through this method, enterprises can effectively configure users' mobile devices to enable users to use popular/familiar mobile applications to securely access enterprises resource.
安全虚拟机的使用可使企业能够提供较高级别的安全性用于在BYOD设备上运行企业应用。例如,通过在由安全虚拟机创建的安全执行环境内运行应用,公司可为应用实施单独的一组策略,包括联网和存储策略。The use of secure virtual machines can enable enterprises to provide a higher level of security for running enterprise applications on BYOD devices. For example, by running applications within the secure execution environment created by secure virtual machines, companies can enforce a separate set of policies for applications, including networking and storage policies.
在标题“安全Web浏览器”下描述的另一方法涉及实现各种企业安全特征的移动浏览器应用的使用。像安全虚拟机方法一样,配置成在安全浏览器内运行的移动应用(或由浏览器访问的网页)有效地继承了安全浏览器所实现的安全机制。这样的安全浏览器的使用也使企业能够实现内容过滤策略,其中例如雇员被阻止从他们的移动设备访问某些网站。安全浏览器可用于例如使移动设备用户能够访问公司内联网,而不需要虚拟专用网(VPN)。Another approach described under the heading "Secure Web Browser" involves the use of a mobile browser application that implements various enterprise security features. Like the secure virtual machine approach, a mobile application (or web page accessed by a browser) configured to run within a secure browser effectively inherits the security mechanisms implemented by the secure browser. The use of such secure browsers also enables enterprises to implement content filtering policies where, for example, employees are blocked from accessing certain websites from their mobile devices. A secure browser can be used, for example, to enable mobile device users to access a corporate intranet without requiring a virtual private network (VPN).
所公开的体系结构也可包括监控总企业系统——包括企业用户的移动设备——的元应用或系统。元应用可通常如在Qureshi‘526中所述的操作,并可被实现为基于云的元应用。由元应用收集的数据可包括由在移动设备上运行的企业代理收集和报告的数据。在一些实施方式中,元应用基于所观察的行为——包括移动设备用户的行为——来产生规则。这些规则可包括由安全移动网关使用来允许和拒绝移动设备访问企业资源的请求的网关规则。The disclosed architecture may also include meta-applications or systems that monitor overall enterprise systems, including enterprise users' mobile devices. Meta-applications may generally operate as described in Qureshi '526, and may be implemented as cloud-based meta-applications. Data collected by meta-applications may include data collected and reported by enterprise agents running on mobile devices. In some implementations, the meta-application generates rules based on observed behavior, including behavior of mobile device users. These rules may include gateway rules used by the secure mobile gateway to allow and deny mobile device requests to access enterprise resources.
在下面的章节中详细描述了这些和其它安全特征和部件。如将认识到的,很多所公开的特征和部件可独立于彼此被使用。因此,在下面的描述中没有任何事物应被理解为暗示某些安全特征和部件必须组合地被使用。These and other safety features and components are described in detail in the following sections. As will be appreciated, many of the disclosed features and components can be used independently of each other. Accordingly, nothing in the following description should be read as implying that certain security features and components must be used in combination.
系统概述和术语System Overview and Terminology
在很多情况下,当移动计算设备访问企业计算机/IT系统时,与企业和/或企业相关软件应用相关的敏感数据可被存储到移动设备上。企业相关数据可包括与企业相关的任何数据,没有限制地例如是生产信息、销售数据、消费者列表、企业性能数据、专有技术、发明、商业秘密等。因为这个信息可以是非常敏感的,企业可能希望保护这样的信息。In many cases, when a mobile computing device accesses an enterprise computer/IT system, sensitive data related to the enterprise and/or enterprise-related software applications may be stored on the mobile device. Business-related data may include any data related to the business, such as without limitation production information, sales data, customer lists, business performance data, know-how, inventions, trade secrets, and the like. Because this information can be very sensitive, an enterprise may wish to protect such information.
此外,企业可能希望管制用户如何使用他们的移动设备。例如,企业可能想对移动设备在哪里被使用、哪些移动设备特征可被使用、哪些软件应用可在设备上被安装和/或运行等有一些控制。企业也需要对违反他们的移动设备使用策略的用户控制并实现补救行动。Additionally, businesses may wish to regulate how users use their mobile devices. For example, an enterprise may want to have some control over where a mobile device is used, which mobile device features may be used, which software applications may be installed and/or run on the device, and the like. Enterprises also need to control and implement remedial actions for users who violate their mobile device usage policies.
当在现场的用户经历他们的移动设备的问题或可受益于信息、数据、软件或关于如何使用设备执行某些操作的指导时,企业的IT支持提供高度有效的帮助可能很难。因此,也存在对与企业相关的移动设备的提高的安全管理和技术支持的需要。When users in the field experience issues with their mobile devices or could benefit from information, data, software, or guidance on how to perform certain actions with the device, it can be difficult for an enterprise's IT support to provide highly effective assistance. Accordingly, there is also a need for improved security management and technical support of enterprise-related mobile devices.
在本申请中描述的实施方式处理这些和其它涉及的事。本申请公开了用于自动和半自动地管理访问企业计算机网络例如访问企业的计算机实现的资源的移动计算设备的计算机系统和方法。如在本文使用的,“企业”可包括实质上任何类型的组织,没有限制地包括工商企业、合伙企业、公司等。“移动计算设备”可包括各种各样的设备中的任一种,没有限制地例如是移动电话、智能电话、个人数字助理、平板计算机、手持计算设备等。由所公开的系统管理的移动设备可例如包括运行AndroidTM、IOS或Windows Mobile操作系统(或其某个子集)的移动设备或由运行AndroidTM、IOS或Windows Mobile操作系统(或其某个子集)的移动设备组成。然而如将认识到的,本文公开的体系结构可与其它移动设备操作系统——例如可在未来发展的操作系统——一起使用。The implementations described in this application address these and other concerns. The present application discloses computer systems and methods for automatically and semi-automatically managing mobile computing devices accessing an enterprise computer network, such as accessing computer-implemented resources of an enterprise. As used herein, a "business" may include virtually any type of organization including, without limitation, businesses, partnerships, corporations, and the like. A "mobile computing device" may include any of a wide variety of devices such as, without limitation, mobile phones, smartphones, personal digital assistants, tablet computers, handheld computing devices, and the like. Mobile devices managed by the disclosed system may, for example, include mobile devices running Android ™ , IOS or Windows Mobile operating systems (or some subset thereof) or mobile devices running Android ™ , IOS or Windows Mobile operating systems (or some subset thereof) ) of mobile devices. However, as will be appreciated, the architecture disclosed herein may be used with other mobile device operating systems, such as operating systems that may be developed in the future.
使用移动计算设备来访问企业计算机网络的个人、实体或用户组在本文被称为“用户”。用户可包括企业的成员,例如雇员、合伙人、高级职员等。可选地,用户可包括不是企业的成员但然而有访问企业计算机网络的需要或原因的个人或实体。例如,用户可以是企业消费者、供应商等。A person, entity, or group of users who use a mobile computing device to access an enterprise computer network is referred to herein as a "user." Users may include members of the business, such as employees, partners, officers, and the like. Alternatively, a user may include a person or entity who is not a member of an enterprise but nonetheless has a need or reason to access the enterprise computer network. For example, a user may be a business customer, a supplier, and so on.
“企业资源”可包括与企业相关的机器可访问资源。企业资源可包括各种各样不同类型的资源中的任一种,包括帮助用户或使用户能够履行用户的角色或与企业相关的职责的资源。例如,企业资源可包括存储在非临时计算机可读存储器上的原始数据、存储在非临时计算机可读存储器(例如物理服务器)上的文档、计算机硬件(例如物理服务器)、存储在非临时计算机可读存储器上的软件应用、存储在非临时计算机可读存储器上的软件应用的宏(例如字处理器宏)、电子邮件系统、工作空间、消费者关系管理(CRM)系统、文档管理系统、企业资源规划(ERP)系统、记账系统、库存系统、工程设计工具、表格、样式表和很多其它资源。企业资源可配置成由在移动计算设备上安装和运行的软件应用访问和使用。"Enterprise resources" may include machine-accessible resources associated with an enterprise. Enterprise resources may include any of a variety of different types of resources, including resources that assist or enable a user to perform the user's role or responsibilities associated with the enterprise. For example, enterprise resources may include raw data stored on non-transitory computer readable storage, documents stored on non-transitory computer readable storage (such as physical servers), computer hardware (such as physical servers), Software applications on read memory, macros for software applications stored on non-transitory computer readable memory (such as word processor macros), email systems, workspaces, consumer relationship management (CRM) systems, document management systems, enterprise Resource planning (ERP) systems, billing systems, inventory systems, engineering design tools, forms, style sheets, and many other resources. Enterprise resources can be configured to be accessed and used by software applications installed and run on mobile computing devices.
图1A是与企业相关的计算机系统110以及一个或多个用户115和与企业相关的移动计算设备120的实施方式的示意图。在这个例子中,每个移动设备120被分配给一个企业用户115,但可选方案是可能的(例如,多个用户115被分配到一个设备和/或单个用户被分配到多个设备120)。移动设备120优选地配置成通过通信网络125与企业系统110(在本文也被称为“企业网络”)通信。通信网络125可包括无线载波网络、互联网、广域网、WIFI网络等。因此,网络125可包括例如一个或多个无线网络、一个或多个有线网络或有线和无线网络的组合。此外,企业系统110可配置成由非移动计算设备例如桌上型计算机访问。1A is a schematic diagram of an embodiment of an enterprise-related computer system 110 and one or more users 115 and an enterprise-related mobile computing device 120 . In this example, each mobile device 120 is assigned to an enterprise user 115, but alternatives are possible (e.g., multiple users 115 are assigned to one device and/or a single user is assigned to multiple devices 120) . Mobile device 120 is preferably configured to communicate with enterprise system 110 (also referred to herein as an "enterprise network") over communication network 125 . The communication network 125 may include a wireless carrier network, the Internet, a wide area network, a WIFI network, and the like. Thus, network 125 may include, for example, one or more wireless networks, one or more wired networks, or a combination of wired and wireless networks. Additionally, enterprise system 110 may be configured to be accessed by non-mobile computing devices, such as desktop computers.
企业系统110优选地包括外部防火墙122和内部防火墙124。每个防火墙122、124可包括设计成基于某个标准来允许或拒绝网络传输的设备或设备组。防火墙122和124可包括存储在非临时计算机可读存储器上的软件、硬件、固件或其组合。防火墙122和124可配置成执行基本路由功能。本发明的实施方式可与防火墙122和124中的一个或两个或企业系统110的其它设备一起协作以基于一组网关规则来过滤移动设备的访问请求,以便保护企业系统110免受未授权的访问,同时允许合法通信通过。如下面更详细描述的,这样的访问规则可用于基于例如移动设备特性、用户特性、特定的企业资源130(对其的访问被请求)或其任何组合来管制访问。Enterprise system 110 preferably includes external firewall 122 and internal firewall 124 . Each firewall 122, 124 may include a device or group of devices designed to allow or deny network transmissions based on certain criteria. Firewalls 122 and 124 may include software, hardware, firmware, or a combination thereof stored on non-transitory computer readable memory. Firewalls 122 and 124 may be configured to perform basic routing functions. Embodiments of the present invention may cooperate with one or both of firewalls 122 and 124 or other devices of enterprise system 110 to filter access requests from mobile devices based on a set of gateway rules in order to protect enterprise system 110 from unauthorized access while allowing legitimate communications to pass. As described in more detail below, such access rules may be used to regulate access based on, for example, mobile device characteristics, user characteristics, specific enterprise resources 130 to which access is requested, or any combination thereof.
在两个所示出的防火墙122和124之间的物理或逻辑子网络可被称为“非军事区(DMZ)”或可选地被称为“周边网络”。一般,DMZ包含企业的外部服务并将企业的外部服务暴露于较大的不可信赖的网络,通常是互联网。通常,DMZ的目的是将额外的安全层添加到企业的局域网(LAN);外部攻击者只访问在DMZ中的设备,而不是企业网络的任何其它部分。The physical or logical subnetwork between the two illustrated firewalls 122 and 124 may be referred to as a "demilitarized zone (DMZ)" or alternatively a "perimeter network." Typically, the DMZ contains and exposes the enterprise's external services to a larger untrusted network, usually the Internet. Typically, the purpose of a DMZ is to add an extra layer of security to an enterprise's local area network (LAN); external attackers only gain access to devices within the DMZ, not any other part of the enterprise network.
所示企业系统110包括移动设备管理系统126、安全移动网关128和“元应用”150,其中每个在下面被更详细描述。企业系统110还包括逻辑地位于内部防火墙124后面的企业资源130,其被示为资源1到N。至少以下企业资源130可配置成由移动设备120例如由在移动设备上安装和运行的软件应用访问和/或使用。The illustrated enterprise system 110 includes a mobile device management system 126, a secure mobile gateway 128, and "meta-apps" 150, each of which are described in more detail below. Enterprise system 110 also includes enterprise resources 130 logically located behind internal firewall 124, shown as resources 1-N. At least the following enterprise resources 130 may be configured to be accessed and/or used by mobile device 120, eg, by a software application installed and running on the mobile device.
仍然参考图1A,移动设备120可经由最终连接到载波网络的连接142例如蜂窝网络连接和/或WIFI连接与载波网络125通信。移动设备的企业访问请求可经由连接146被发送到安全移动网关128,且网关128可经由内部连接154将请求发送到企业资源1802。此外,企业系统110可使用连接142、146来将信息发送回到移动设备120,例如对设备的企业访问请求做出响应的数据。Still referring to FIG. 1A , the mobile device 120 can communicate with the carrier network 125 via a connection 142 that ultimately connects to the carrier network, such as a cellular network connection and/or a WIFI connection. A mobile device's enterprise access request can be sent to secure mobile gateway 128 via connection 146 , and gateway 128 can send the request to enterprise resource 1802 via internal connection 154 . In addition, the enterprise system 110 can use the connections 142, 146 to send information back to the mobile device 120, such as data in response to the device's enterprise access request.
在一些实施方式中,在移动设备120上的软件应用可通过应用隧道经由连接142、144和152与企业资源130通信。下面更详细描述应用隧道。在所示实施方式中,移动设备管理系统126充当在移动设备120(和一般在移动设备上运行的特定应用)和企业资源130之间的应用隧道内的“隧道中介”。In some implementations, software applications on mobile device 120 can communicate with enterprise resource 130 via connections 142 , 144 , and 152 through an application tunnel. Application tunneling is described in more detail below. In the illustrated embodiment, mobile device management system 126 acts as a "tunnel broker" within an application tunnel between mobile device 120 (and generally specific applications running on the mobile device) and enterprise resource 130 .
图1B和1C示出类似于图1A的实施方式,除了移动设备管理系统126和元应用150分别被装入(完全或至少部分地)云计算系统或环境156(“云”)中以外。(在这两种方法的混合中,移动设备管理系统126和元应用150都存在于云中。)云计算系统一般包括配置成实现在网络例如互联网上的服务的计算资源。例如,云计算系统可包括多个分布式计算资源,例如物理服务器或其它计算设备。使用云计算系统,计算资源可位于经由网络可访问的任何适当的位置处。云计算系统可存储并处理通过网络接收的数据,同时从远程位置可访问。一般,云计算系统由向企业和基于云的计算系统的其他用户收取使用系统的使用费的服务提供者操作。在某些实施方式中,移动设备管理系统126和元应用150都至少部分地位于云156中。在图1B的实施方式中,基于云的设备管理系统126可配置成经由连接158向安全移动网关128提供网关规则,如下面更详细描述的。此外,在移动设备120上的软件应用可通过应用隧道经由连接142、160和162与企业资源130通信,移动设备管理系统126充当隧道中介。在图1C的实施方式中,位于云156中的元应用部分151可配置成经由连接164向安全移动网关128提供网关规则,如下面更详细描述的。元应用151(或其规则引擎)可以可选地合并到移动设备管理系统126中,在这种情况下它可协调移动设备管理系统126的管理。Figures 1B and 1C illustrate an implementation similar to Figure 1A, except that mobile device management system 126 and meta-application 150, respectively, are housed (completely or at least partially) in a cloud computing system or environment 156 ("the cloud"). (In a hybrid of these two approaches, both mobile device management system 126 and meta-application 150 reside in the cloud.) Cloud computing systems generally include computing resources configured to implement services over a network, such as the Internet. For example, a cloud computing system may include multiple distributed computing resources, such as physical servers or other computing devices. With a cloud computing system, computing resources may be located at any suitable location accessible via a network. Cloud computing systems store and process data received over a network while being accessible from remote locations. Typically, cloud computing systems are operated by service providers who charge businesses and other users of cloud-based computing systems a royalty for using the system. In some implementations, both the mobile device management system 126 and the meta-application 150 reside at least partially in the cloud 156 . In the FIG. 1B embodiment, cloud-based device management system 126 may be configured to provide gateway rules to secure mobile gateway 128 via connection 158, as described in more detail below. Additionally, software applications on mobile device 120 can communicate with enterprise resource 130 via connections 142, 160, and 162 through an application tunnel, with mobile device management system 126 acting as a tunnel intermediary. In the FIG. 1C embodiment, meta-application portion 151 located in cloud 156 may be configured to provide gateway rules to secure mobile gateway 128 via connection 164, as described in more detail below. Meta-application 151 (or its rules engine) may optionally be incorporated into mobile device management system 126 , in which case it may coordinate the management of mobile device management system 126 .
图1D是类似于图1A的实施方式,安全移动网关128在防火墙122中实现。在图1D的实施方式中,可在威胁管理网关(TMG)服务器中实现安全移动网关128。如在图1D中所示的,可在没有内部防火墙124的情况下实现企业系统110的一些实施方式。FIG. 1D is an embodiment similar to FIG. 1A , with secure mobile gateway 128 implemented in firewall 122 . In the embodiment of FIG. ID, secure mobile gateway 128 may be implemented in a threat management gateway (TMG) server. As shown in FIG. 1D , some embodiments of enterprise system 110 may be implemented without internal firewall 124 .
图1E是类似于图1A的实施方式,安全移动网关128在企业资源130中实现。在图1E的实施方式中,可在互联网信息服务(IIS)服务器中实现安全移动网关128。这样的IIS可被配置为企业资源130和/或内部防火墙124。FIG. 1E is an implementation similar to FIG. 1A , with secure mobile gateway 128 implemented in enterprise resource 130 . In the embodiment of FIG. 1E , secure mobile gateway 128 may be implemented in an Internet Information Services (IIS) server. Such IIS may be configured as enterprise resource 130 and/or internal firewall 124 .
将理解,可在适当时使用本文描述的任何原理和优点实现任何企业系统110。而且,也将理解,仅为了例证性目的来提供在图1A-1E中示出的企业系统,且可根据本文所述的原理和优点实现其它适当的系统。It will be appreciated that any enterprise system 110 may be implemented using any of the principles and advantages described herein, as appropriate. Furthermore, it will also be understood that the enterprise system shown in Figures 1A-1E is provided for illustrative purposes only and that other suitable systems can be implemented in accordance with the principles and advantages described herein.
图2是图1A的移动设备管理系统126的实施方式的示意图。移动设备管理系统126可包括一个或多个计算机、计算机服务器、存储设备和其它部件的系统。如下面更详细解释的,移动设备管理系统126可配置成管理或共同管理“移动设备规则”214对移动计算设备120的应用,和/或在移动设备120和企业资源130之间在其间的应用隧道的使用期间充当“隧道中介”。移动设备管理系统126也可配置成例如在这样的应用隧道的使用期间管制移动设备对企业系统110的访问。下面描述系统126的所示部件。FIG. 2 is a schematic diagram of an embodiment of the mobile device management system 126 of FIG. 1A . Mobile device management system 126 may include a system of one or more computers, computer servers, storage devices, and other components. As explained in more detail below, mobile device management system 126 may be configured to manage or co-manage the application of "mobile device rules" 214 to mobile computing devices 120, and/or between mobile devices 120 and enterprise resources 130 The tunnel acts as a "tunnel broker" during its use. Mobile device management system 126 may also be configured to regulate mobile device access to enterprise system 110, for example, during the use of such application tunnels. The illustrated components of system 126 are described below.
图3A是移动计算设备120的实施方式的示意图。移动设备120可包括移动设备的多个普通或标准部件,例如电源301、处理器302、用户接口304、硬盘驱动存储器306、存储卡(例如安全数字(SD)卡)端口307、随机存取存储器308、网络接口310、用户识别模块(SIM)卡端口312、摄像机314和/或GPS芯片316。这些部件的实现和使用通常是公知的,且没有在本文被相当详细地讨论。电源301可包括电池端口、电池和/或用于从外部源接收电功率的端口(例如标准电源插座)。处理器302可配置成执行软件应用和各种其它可执行部件。用户接口304可包括各种已知的部件中的任一个,例如用于接收文本输入的袖珍键盘324(例如一组物理按钮或可选地,触摸屏袖珍键盘)、用于显示文本、图像和/或视频的屏幕或显示器326(其可以是触摸屏)、用于产生听得见的输出的扬声器328或音频输出端口和/或用于接收听得见的输入的麦克风330。硬盘驱动器306可包括各种不同类型的非易失性和/或非临时计算机可读存储器中的任一个。存储卡端口307配置成接纳存储卡(例如SD卡),数据可存储在存储卡上。随机存取存储器308可用于存储在各种过程的运行期间使用的数据。网络接口310可用于通过网络(例如无线网络125,其可根据多个标准例如Wi-Fi、3G、4G等来操作)发送和接收数据。SIM卡端口312配置成接纳SIM卡,如在本领域中已知的。摄像机314可配置成捕获图像和/或视频。GPS芯片316可配置成处理GPS信号。移动设备120还可包括一个或多个已安装软件应用318。已安装软件应用318可例如存储在硬盘驱动器306上或非易失性固态存储器中。已安装应用可包括企业应用和个人应用。将认识到,代替或除了图3所示的那些部件以外,移动设备120还可包括任何其它计算机硬件部件,例如加速度计、收发机、电池充电器、USB控制器、基带处理器、音频编码译码器等。FIG. 3A is a schematic diagram of an embodiment of a mobile computing device 120 . The mobile device 120 may include many common or standard components of a mobile device, such as a power supply 301, a processor 302, a user interface 304, a hard drive memory 306, a memory card (such as a Secure Digital (SD) card) port 307, random access memory 308 , network interface 310 , Subscriber Identity Module (SIM) card port 312 , camera 314 and/or GPS chip 316 . The implementation and use of these components are generally known and have not been discussed in considerable detail herein. The power supply 301 may include a battery port, a battery, and/or a port for receiving electrical power from an external source (eg, a standard electrical outlet). Processor 302 may be configured to execute software applications and various other executable components. User interface 304 may include any of a variety of known components, such as a keypad 324 for receiving text input (e.g., a set of physical buttons or, alternatively, a touchscreen keypad), for displaying text, images, and/or A screen or display 326 (which may be a touch screen) for video or video, a speaker 328 or audio output port for producing audible output and/or a microphone 330 for receiving audible input. Hard drive 306 may include any of various different types of non-volatile and/or non-transitory computer-readable memory. The memory card port 307 is configured to accept a memory card (eg, SD card) on which data may be stored. Random access memory 308 may be used to store data used during the operation of various processes. Network interface 310 may be used to send and receive data over a network, such as wireless network 125, which may operate according to a number of standards such as Wi-Fi, 3G, 4G, etc. SIM card port 312 is configured to accept a SIM card, as is known in the art. Camera 314 may be configured to capture images and/or video. GPS chip 316 may be configured to process GPS signals. Mobile device 120 may also include one or more installed software applications 318 . Installed software applications 318 may be stored, for example, on hard drive 306 or in non-volatile solid-state memory. Installed applications may include enterprise applications and personal applications. It will be appreciated that mobile device 120 may include any other computer hardware components, such as accelerometers, transceivers, battery chargers, USB controllers, baseband processors, audio codecs, instead of or in addition to those shown in FIG. Encoder, etc.
在所示实施方式中,移动设备120包括企业代理320,其优选地是软件应用或安装在移动设备上的其它可执行程序。企业代理320优选地与移动设备120的操作系统分离。然而在一些实施方式中,企业代理320可以是移动设备的操作系统的部件或部分地/完全嵌入移动设备120的操作系统中。在下面更详细描述的各种实施方式中,企业代理320执行移动设备规则214并与企业系统110协作来管制移动设备对企业系统110、包括对企业资源130的访问。在一些实施方式中,企业系统110可通过将文本消息(例如SMS)发送到移动设备120使用连接命令来提示企业代理320连接到系统110(例如移动设备管理系统126)。In the illustrated embodiment, mobile device 120 includes enterprise agent 320, which is preferably a software application or other executable program installed on the mobile device. Enterprise agent 320 is preferably separate from the operating system of mobile device 120 . In some implementations, however, the enterprise agent 320 may be a component of or partially/fully embedded in the operating system of the mobile device 120 . In various implementations described in more detail below, enterprise agent 320 enforces mobile device rules 214 and cooperates with enterprise system 110 to regulate mobile device access to enterprise system 110 , including to enterprise resources 130 . In some implementations, enterprise system 110 may prompt enterprise agent 320 to connect to system 110 (eg, mobile device management system 126 ) by sending a text message (eg, SMS) to mobile device 120 using a connect command.
企业代理320可安装到移动设备120上作为移动设备向移动设备管理系统126登记的条件。企业可使用用于将企业代理320安装到与企业相关(例如向企业登记)的移动设备120上的自动子系统。例如,移动设备管理器202可配置成将企业代理320发送到移动设备120用于自动安装或由用户115手动安装。可选地,IT员工可将企业代理320手动地安装到移动设备120上,或最终用户可从市场上可买到的应用商店下载并安装企业代理320。可为不同的移动设备类型、平台、操作系统等提供不同类型的企业代理320。移动设备管理器202或企业系统110的另一软件部件可配置成基于移动设备120的这样的特性(例如图2的移动设备特性208)来为每个给定移动设备120选择适当的企业代理320。Enterprise agent 320 may be installed on mobile device 120 as a condition of the mobile device's registration with mobile device management system 126 . Businesses may use an automated subsystem for installing business agents 320 on mobile devices 120 associated with (eg, registered with) the business. For example, mobile device manager 202 may be configured to send enterprise agent 320 to mobile device 120 for automatic installation or manual installation by user 115 . Alternatively, IT staff can manually install the enterprise agent 320 onto the mobile device 120, or an end user can download and install the enterprise agent 320 from a commercially available application store. Different types of enterprise agents 320 may be provided for different mobile device types, platforms, operating systems, and the like. Mobile device manager 202 or another software component of enterprise system 110 may be configured to select an appropriate enterprise agent 320 for each given mobile device 120 based on such characteristics of mobile devices 120 (e.g., mobile device characteristics 208 of FIG. 2 ). .
企业代理和安装在移动设备上的其它安全部件Enterprise agents and other security components installed on mobile devices
企业代理320可实现各种安全相关特征,包括控制移动设备对企业资源130的访问(或使移动设备对企业资源130的访问的控制变得可能)的特征。例如,安装在给定移动设备120上的企业代理320可执行(即指示或使移动设备120执行)下列任务中的一些或全部:(1)维持与企业系统110的数据连接,该连接可用于应用隧道以及不涉及应用隧道的通信二者;(2)提供对公共或专用企业应用商店的访问,用户可从该公共或专用企业应用商店下载由特定的企业同意并为特定的企业配置的企业应用;(3)创建用于使安装在移动设备上的企业应用能够安全地访问某些企业资源的应用隧道;(4)收集关于移动设备的特性和配置例如其制造商、型号、操作系统、屏幕尺寸、存储器尺寸、存储器可用性、GPS坐标以及哪些个人和企业移动应用被安装在设备上的“库存”数据并将这些数据传输到移动设备管理系统126;(5)实现登录或当例如用户启动企业移动应用时请求并验证用户的认证信息(例如密码)的其它认证服务;(6)对从安全移动网关128接收的加密消息附件例如从用户的企业的其他成员接收的电子邮件消息的加密附件解密;(7)维持由企业应用可访问的安全密钥储存器用于得到用于对数据加密和解密的密钥;(8)检查安装在移动设备上的被记入黑名单的移动应用并向移动设备管理系统报告任何这样的应用;(9)当满足某些条件时,例如当在移动设备上检测到被记入黑名单的移动应用或将设备报告为被盗时,执行预防行动,例如删除用于对消息附件解密的解密密钥;(10)结束任何记入黑名单的应用或被确定为造成安全风险的其它移动应用(终止任何记入黑名单的应用或被确定为造成安全风险的其它移动应用的执行);(11)提供用于将设备上的企业应用和数据与个人应用和数据保持分离的一个或多个额外的服务;以及(12)当例如用户中断与企业的雇用时,从设备抹掉所有企业应用和数据(响应于从移动设备管理系统接收的命令)。如下面描述的,在与企业代理320不同的单独移动应用或部件中可以可选地实现这些功能中的一些。Enterprise agent 320 may implement various security-related features, including features that control mobile device access to enterprise resource 130 (or enable control of mobile device access to enterprise resource 130). For example, an enterprise agent 320 installed on a given mobile device 120 may perform (i.e., instruct or cause the mobile device 120 to perform) some or all of the following tasks: (1) maintain a data connection with the enterprise system 110, which may be used for Both application tunneling and communications not involving application tunneling; (2) providing access to public or private enterprise application stores from which users can download enterprise (3) create application tunnels for enterprise applications installed on mobile devices to securely access certain enterprise resources; (4) collect characteristics and configurations about mobile devices such as their manufacturer, model, operating system, "Inventory" data of screen size, memory size, memory availability, GPS coordinates, and which personal and business mobile applications are installed on the device and transmits this data to the mobile device management system 126; Other authentication services that request and verify the user's authentication information (such as a password) when the enterprise mobile application; (6) Encrypted message attachments received from the secure mobile gateway 128, such as encrypted attachments of email messages received from other members of the user's enterprise decryption; (7) maintaining a secure key store accessible by enterprise applications for deriving keys used to encrypt and decrypt data; (8) checking for blacklisted mobile applications installed on mobile devices and sending The mobile device management system reports any such applications; (9) performs preventive actions when certain conditions are met, such as when a blacklisted mobile application is detected on the mobile device or the device is reported as stolen, such as Delete the decryption key used to decrypt message attachments; (10) Terminate any blacklisted applications or other mobile applications that are determined to pose a security risk (terminate any blacklisted applications or are determined to pose a security risk execution of other mobile applications); (11) provide one or more additional services for keeping enterprise applications and data on the device separate from personal applications and data; and (12) , all enterprise applications and data are erased from the device (in response to a command received from the mobile device management system). Some of these functions may optionally be implemented in a separate mobile application or component than enterprise agent 320, as described below.
企业代理320使用标准操作系统API和机制和/或使用其自己的API和机制来收集关于移动设备的配置的信息。例如,在Android操作系统的实现中,企业代理可查询封装管理器以得到安装在设备上的应用的列表。企业代理可类似地查询操作系统以得到当前正运行的移动应用的列表,并可监控广播消息以识别被安装的新应用。由企业代理通过这个过程收集的设备配置信息可被报告给移动设备管理系统126,其可使用该信息来产生由安全移动网关128应用以控制移动设备对企业资源130的访问的规则。企业代理320本身也可使用所收集的设备配置信息来采取各种预防行动,例如结束被记入黑名单的移动应用,如上面提到的。Enterprise agent 320 collects information about the configuration of the mobile device using standard operating system APIs and mechanisms and/or using its own APIs and mechanisms. For example, in an implementation of the Android operating system, the enterprise agent may query the package manager for a list of applications installed on the device. The enterprise agent can similarly query the operating system for a list of currently running mobile applications, and can monitor broadcast messages to identify new applications being installed. Device configuration information collected by enterprise agents through this process may be reported to mobile device management system 126 , which may use the information to generate rules applied by secure mobile gateway 128 to control mobile device access to enterprise resources 130 . Enterprise agent 320 itself may also use the collected device configuration information to take various preventive actions, such as ending blacklisted mobile applications, as mentioned above.
在一个实施方式中,企业代理320是可从应用商店下载并安装在移动设备120上的移动应用(或的部分)。一旦企业代理被安装和启动,最终用户就提供配置信息,例如公司电子邮件地址和电子邮件密码,用于使代理能够与特定的企业系统110通信。一旦被配置,代理320就提供对安全应用商店的用户访问,用户可从安全应用商店下载并安装由用户的企业同意且在一些情况下为用户的企业特别配置的企业移动应用。用于下载并安装企业移动应用的功能可以可选地嵌入结合企业代理来运行的单独“安全启动器”移动应用内。In one embodiment, the enterprise agent 320 is a mobile application (or part thereof) that can be downloaded from an application store and installed on the mobile device 120 . Once the enterprise agent is installed and started, the end user provides configuration information, such as a corporate email address and email password, for enabling the agent to communicate with a particular enterprise system 110 . Once configured, agent 320 provides the user with access to a secure application store from which the user can download and install enterprise mobile applications approved by, and in some cases specifically configured for, the user's enterprise. Functionality for downloading and installing the enterprise mobile application may optionally be embedded within a separate "secure launcher" mobile application that runs in conjunction with the enterprise agent.
图3B示出可使用企业代理320或作为企业代理320的部分在移动设备120上安装或实现的一些可执行安全相关部件350。如将认识到的,这些部件350中的一些可在没有其它部件的情况下被安装,且所示部件可以用各种方式组合。一个部件是存储一个或多个加密密钥的密钥储存器350A。在一个实施方式中,密钥储存器由企业代理320实现并管理,企业代理320能够使企业应用访问密钥储存器以得到加密密钥。给定的企业应用可例如使用加密密钥来对文件和存储到存储器348的其它数据加密。FIG. 3B shows some executable security-related components 350 that may be installed or implemented on mobile device 120 using or as part of enterprise agent 320 . As will be appreciated, some of these components 350 may be installed without others, and the components shown may be combined in various ways. One component is a key store 350A that stores one or more encryption keys. In one embodiment, the key store is implemented and managed by an enterprise agent 320 that enables enterprise applications to access the key store for encryption keys. A given enterprise application may encrypt files and other data stored to memory 348, for example, using an encryption key.
进一步参考图3B,安全启动器350B也可安装在移动设备120上用于启动企业应用。安全启动器可以是企业代理320的部分,或可以是单独的移动应用。安全启动器350B可实现或实施各种安全策略,例如当企业应用被启动时要求用户输入有效的密码。由安全启动器350B实现的用户接口的一个实施方式在图1F和1G中示出并在下面被描述。如下所述,企业应用可被修改或编写以使用安全启动器而不是包括在移动设备的操作系统中的通用启动器。在一个实施方式中,安全启动器也包括用于响应于阈值数量的连续无效密码输入尝试或响应于来自企业的IT部门的远程发出的命令而从移动设备120抹掉所有企业应用和数据的功能。With further reference to FIG. 3B , a secure launcher 350B may also be installed on the mobile device 120 for launching enterprise applications. The secure launcher can be part of the enterprise agent 320, or can be a separate mobile application. Security launcher 350B may implement or enforce various security policies, such as requiring a user to enter a valid password when an enterprise application is launched. One embodiment of a user interface implemented by secure enabler 350B is shown in FIGS. 1F and 1G and described below. As described below, enterprise applications can be modified or written to use a secure launcher rather than a generic launcher included in the mobile device's operating system. In one embodiment, the secure enabler also includes functionality for erasing all enterprise applications and data from the mobile device 120 in response to a threshold number of consecutive invalid passcode entry attempts or in response to a remotely issued command from the enterprise's IT department .
如在图3B中进一步示出的,在一些实施方式中安全虚拟机350C可安装在移动设备120上以创建或提高用于运行一些或所有企业应用的安全执行环境。这个安全虚拟机(VM)补充移动操作系统的默认VM并可与移动操作系统的默认VM同时运行。例如,一个或多个企业移动应用可在安全VM内运行,而所有其它移动应用——包括所有个人移动应用——在操作系统的默认VM中在同一设备上运行。如下面在标题“安全虚拟机”下描述的,安全VM 350C实现没有在移动操作系统的默认VM中实现(或不适当地为企业应用实现)的各种策略和测量(例如安全、管理、存储、联网和/或过程执行策略)。例如,安全VM可能能够建立用于访问企业系统的应用隧道,并可通过相应的应用隧道从企业应用按规定路线发送请求。安全VM也可防止企业应用运行,除非和直到用户输入有效密码或以其他方式成功地认证为止。安全VM可与安全VM所使用的一组代码库而不是操作系统的相应代码库一起安装在移动设备上。As further shown in FIG. 3B , in some embodiments a secure virtual machine 350C may be installed on the mobile device 120 to create or enhance a secure execution environment for running some or all enterprise applications. This secure virtual machine (VM) complements and can run concurrently with the mobile operating system's default VM. For example, one or more enterprise mobile applications can run within a secure VM, while all other mobile applications—including all personal mobile applications—run on the same device in the operating system's default VM. As described below under the heading "Security Virtual Machine," the Security VM 350C implements various policies and measurements (e.g., security, management, storage, , networking and/or process execution strategies). For example, a secure VM may be able to establish an application tunnel for access to an enterprise system and may route requests from the enterprise application through the corresponding application tunnel. The secure VM may also prevent enterprise applications from running unless and until the user enters a valid password or otherwise successfully authenticates. The secure VM may be installed on the mobile device with a set of code bases used by the secure VM instead of the corresponding code base of the operating system.
使用安全VM 350C的一个益处是,它减少或消除了对被特别编写或修改用于与企业系统110一起使用的移动应用的需要。例如,企业可能希望使特定的市场上可买到的移动应用可供其雇员采用来访问公司资源,但可能没有修改该应用以实现本文描述的各种安全特征(例如认证、安全存储和安全联网)的许可。在这样的情形下,企业可配置移动应用或移动设备以使这个特定的应用在被执行时只在安全VM内运行。One benefit of using the secure VM 350C is that it reduces or eliminates the need for mobile applications that are specially written or modified for use with the enterprise system 110. For example, an enterprise may wish to make a particular commercially available mobile application available to its employees for access to corporate resources, but may not have modified the application to implement the various security features described herein (e.g., authentication, secure storage, and secure networking). ) permission. In such a situation, the enterprise can configure the mobile application or mobile device so that this particular application, when executed, only runs within the secure VM.
安全VM优选地被实现为单独的移动应用,但可以可选地是另一应用或部件(例如企业代理320或安全启动器350B)的部分。可以用各种方式调用安全VM:例如,安全代理可请求安全VM运行特定的应用,或应用可在被启动时请求或规定安全VM为它的执行环境。在一些实施方式中,安全启动器350B和安全VM 350C组合地被使用以创建用于运行企业应用的安全空间,虽然每个可独立于彼此被使用。下面在标题为“安全虚拟机”的章节中描述安全VM的额外细节。Secure VM is preferably implemented as a separate mobile application, but may alternatively be part of another application or component (eg, enterprise agent 320 or secure launcher 350B). A secure VM can be invoked in various ways: for example, a security agent can request a secure VM to run a particular application, or an application can request or specify a secure VM as its execution environment when launched. In some embodiments, secure launcher 350B and secure VM 350C are used in combination to create a secure space for running enterprise applications, although each can be used independently of the other. Additional details of the Secure VM are described below in the section entitled "Secure Virtual Machine".
如在图3B中进一步示出的,安全容器部件350D也可安装在移动设备120上,优选地作为单独的移动应用或作为企业代理320的部分。这个部件350D负责在移动设备上为企业应用创建安全容器以存储文档和其它信息。下面在标题“安全文档容器”下描述这个特征的一个实施方式。在一些实施方式中,当选择性抹掉操作被执行时,存储在安全容器中的一些或所有文档和数据从移动设备删除或以其他方式变得不可访问。As further shown in FIG. 3B , secure container component 350D may also be installed on mobile device 120 , preferably as a stand-alone mobile application or as part of enterprise agent 320 . This component 350D is responsible for creating secure containers for enterprise applications on the mobile device to store documents and other information. One implementation of this feature is described below under the heading "Secure Document Container". In some implementations, some or all of the documents and data stored in the secure container are deleted from the mobile device or otherwise made inaccessible when the selective wipe operation is performed.
图3B还示出可安装在移动设备120上的两种类型的移动应用318:企业应用318A和个人应用318B。如所示,企业应用318可包括用于实现一些或所有所公开的客户端侧功能(应用隧道、密码验证、数据的加密等)的可执行安全代码360(代码库等)。这个安全代码360可经由特殊SDK被添加,或可经由下面在标题为“修改预先存在的移动应用的行为”的章节中描述的应用包装过程在开发后被添加。如上面提到的,在一些情况下,给定的企业应用可以不包括任何安全代码360,但可替代地在安全VM350C或安全浏览器内运行,安全VM 350C或安全浏览器在企业应用上强加一层安全。FIG. 3B also shows two types of mobile applications 318 that can be installed on the mobile device 120: enterprise applications 318A and personal applications 318B. As shown, enterprise application 318 may include executable secure code 360 (code library, etc.) for implementing some or all of the disclosed client-side functionality (application tunneling, password authentication, encryption of data, etc.). This security code 360 can be added via a special SDK, or can be added after development via the application packaging process described below in the section entitled "Modifying the Behavior of a Pre-Existing Mobile Application". As mentioned above, in some cases, a given enterprise application may not include any secure code 360, but instead runs within a secure VM 350C or secure browser that imposes One layer of security.
除了图3B所示的部件以外,一个或多个代码库可安装在移动设备上用于实现各种安全功能,例如数据加密和应用隧道的功能。作为一个例子,定制SSL库可被安装并代替操作系统的SSL库来使用以创建安全应用隧道,如下面在标题为“应用隧道”的章节中描述的。In addition to the components shown in Figure 3B, one or more code libraries may be installed on the mobile device for implementing various security functions, such as data encryption and application tunneling functions. As an example, a custom SSL library can be installed and used instead of the operating system's SSL library to create a secure application tunnel, as described below in the section entitled "Application Tunneling."
用于启动企业应用的用户接口User interface for launching enterprise applications
在图1F和1G中描绘的一个实施方式中,安全启动器350B在移动设备的屏幕的边缘处显示持久性显示要素170(图1F)。这个显示要素优选地在设备的所有主屏幕中且当用户在应用中时保持可见。如果用户在这个显示要素170上点击或将它滑动到左边,则显示可旋转的传送带或“轮”(图1G),其包括相应于安装在设备上的特定企业应用或企业应用的组(文件夹)的相应图标174。(在图1G和1F中示出的其它图标175一般相应于安装在设备上的个人移动应用和/或这样的应用的文件夹。)通过经由向上或向下滑动手势来旋转轮174,用户可使相应于额外的企业应用或文件夹的额外图标174显现出来。在应用图标174上点击使相关企业应用被启动,且在文件夹图标174上点击使存储在文件夹中的企业应用被显示。用户也可将轮172滑动到右边以使它返回到图1F所示的收缩位置。在所示实施方式中,企业应用可以只从轮(使用安全启动器)启动,且不能使用设备的操作系统的通用启动器启动。In one embodiment depicted in FIGS. 1F and 1G , secure launcher 350B displays persistent display element 170 ( FIG. 1F ) at the edge of the mobile device's screen. This display element preferably remains visible in all home screens of the device and while the user is in the application. If the user clicks on this display element 170 or slides it to the left, a rotatable carousel or "wheel" (FIG. corresponding icon 174 of the folder). (The other icons 175 shown in FIGS. 1G and 1F generally correspond to personal mobile applications installed on the device and/or folders of such applications.) By rotating the wheel 174 via an up or down swipe gesture, the user can Additional icons 174 corresponding to additional enterprise applications or folders are made visible. Clicking on an application icon 174 causes the associated enterprise application to be launched, and clicking on a folder icon 174 causes the enterprise applications stored in the folder to be displayed. The user can also slide the wheel 172 to the right to return it to the retracted position shown in Figure IF. In the illustrated embodiment, enterprise applications can only be launched from the wheel (using the secure launcher), and cannot be launched using the device's operating system's generic launcher.
在一些实施方式中,当用户经由轮172启动企业应用时,用户被提示输入密码,且应用不被启动,除非正确的密码被输入。请求和验证密码的任务可例如由企业代理320(图3A)、由单独的安全启动器350B(图3B)、由安全虚拟机350C(图3C)或由经由SDK或应用包装过程添加到企业应用的代码360执行。下面进一步详细描述用于提供用于运行企业移动应用的安全执行环境的这些和其它技术。In some implementations, when a user launches an enterprise application via wheel 172, the user is prompted for a password and the application is not launched unless the correct password is entered. The task of requesting and verifying passwords can be added, for example, by enterprise agent 320 ( FIG. 3A ), by separate security enabler 350B ( FIG. 3B ), by secure virtual machine 350C ( FIG. 3C ), or by adding to an enterprise application via an SDK or application packaging process. The code 360 executes. These and other techniques for providing a secure execution environment for running enterprise mobile applications are described in further detail below.
在图1F所示的一个实施方式中,轮172被显示为使用户能够观看并选择落在轮“后面”的主屏幕图标175的透明或半透明覆盖层,使得用户可启动相应于这些图标175的个人应用。在另一实施方式中,轮是不透明的,且因此阻碍落在它后面的任何图标175的视界。在又一实施方式中,当轮“被拉出”或被拉出到特定的点之外时,主屏幕图标175消失。In one embodiment shown in FIG. 1F , the wheel 172 is displayed as a transparent or translucent overlay that enables the user to view and select home screen icons 175 that fall "behind" the wheel, so that the user can activate personal application. In another embodiment, the wheel is opaque and thus obstructs the view of any icon 175 that falls behind it. In yet another embodiment, the home screen icon 175 disappears when the wheel is "pulled out" or pulled out beyond a certain point.
安全启动器的用户接口也可包括用于使用户能够例如将图标174布置在轮172上、控制轮的位置(例如,它从哪个屏幕边缘延伸)和控制轮被显示的广度的特征。用于拉出并缩回轮的可选择的要素170(图1F)优选地在设备的所有主屏幕中保持持久,使得企业应用可容易从这些屏幕中的任一个被访问。The secure launcher's user interface may also include features to enable the user, for example, to place icons 174 on wheel 172, control the location of the wheel (eg, which screen edge it extends from), and control the extent to which the wheel is displayed. The selectable element 170 (FIG. 1F) for pulling out and retracting the wheel is preferably persistent across all home screens of the device so that enterprise applications are easily accessible from any of these screens.
移动设备管理系统的概述Overview of Mobile Device Management Systems
参考图1A和2,移动设备管理系统126的实施方式配置成创建、编辑并提供网关规则到安全移动网关128,如下面详细讨论的。移动设备管理系统126也可充当在移动设备120和企业资源130或在企业系统110内或甚至之外的其它网络资源之间的应用隧道的隧道中介。现在描述所示移动设备管理系统126的部件。Referring to Figures 1A and 2, embodiments of the mobile device management system 126 are configured to create, edit, and provide gateway rules to the secure mobile gateway 128, as discussed in detail below. Mobile device management system 126 may also act as a tunnel intermediary for application tunnels between mobile devices 120 and enterprise resources 130 or other network resources within or even outside enterprise system 110 . The components of the illustrated mobile device management system 126 are now described.
所示移动设备管理系统126包括移动设备管理器部件202(图2),其优选地包括在一个或多个物理机上运行的软件应用。移动设备管理器202可配置成预备并维持移动设备120向企业的登记。优选地,移动设备管理器202配置成操纵或参与与企业相关的移动设备120的预备和退役。The illustrated mobile device management system 126 includes a mobile device manager component 202 (FIG. 2), which preferably includes a software application running on one or more physical machines. Mobile device manager 202 may be configured to provision and maintain registration of mobile device 120 with an enterprise. Preferably, the mobile device manager 202 is configured to handle or participate in the provisioning and decommissioning of mobile devices 120 associated with the enterprise.
在图2的所示实施方式中,移动设备管理系统126包括存储在计算机可读或机器可读存储器中的移动设备信息或属性204。移动设备信息204优选地包括向移动设备管理器202登记的移动设备120的特性或属性208,例如设备类型或平台(例如iPhoneTM、AndroidTM、Windows MobileTM等的平台)、设备型号、操作系统版本、设备能力和特征、已安装应用的标识符等。在某些实施方式中,移动设备特性208是永久的特性(例如设备类型、平台)。在一些实施方式中,移动设备特性208也可以是受到有规律或周期性变化的特性(例如软件或操作系统版本、哪些移动应用被安装等)。如上面提到的,给定移动设备的各种特性可由安装在移动设备120上的企业代理320确定并报告给移动设备管理系统126。设备特性信息也可由系统管理员提供。In the illustrated embodiment of FIG. 2, mobile device management system 126 includes mobile device information or attributes 204 stored in computer-readable or machine-readable memory. Mobile device information 204 preferably includes characteristics or attributes 208 of mobile device 120 registered with mobile device manager 202, such as device type or platform (e.g., platforms of iPhone ™ , Android ™ , Windows Mobile ™ , etc.), device model, operating system Version, device capabilities and characteristics, identifiers of installed applications, etc. In some implementations, mobile device characteristics 208 are persistent characteristics (eg, device type, platform). In some implementations, mobile device characteristics 208 may also be characteristics that are subject to regular or periodic changes (eg, software or operating system versions, which mobile applications are installed, etc.). As mentioned above, various characteristics of a given mobile device may be determined and reported to the mobile device management system 126 by the enterprise agent 320 installed on the mobile device 120 . Device characteristic information may also be provided by a system administrator.
移动设备信息204也可包括识别哪些用户115或用户帐户被分配到所登记的移动设备120的用户-设备分配记录210以及在企业内的用户115的角色206。用户的角色206一般使用户115与用户所参与的企业相关职责或活动相关。角色206可具有名称和可选地具有相关规定。角色206(和角色名称)可模仿企业的部门和职务等级结构。例如,企业可规定具有名称例如上层管理、高级职员、销售部门、会计、工程设计、字处理、人力资源等的角色。在这个方案中,销售人员可被给与角色“销售部门”,工程师可被给与角色“工程设计”,依此类推。此外,角色206可被规定为广泛或狭窄地规定为可适合企业的需要。例如,企业可给与它的所有工程师“工程设计”角色。可选地或此外,企业可能希望规定较窄的角色,例如“计算机工程师”、“材料工程师”、“半导体处理工程师”等,特别是如果企业希望区分开其不同类型的工程设计员工的移动设备授权。此外,用户115可根据与企业相关的用户职责或活动被分配到多个角色206。在某些实施方式中,企业可使用RBAC(基于角色的访问控制)系统来帮助管制企业资源130,且用户角色206可与在RBAC系统中规定的角色有关或相同。Mobile device information 204 may also include user-device assignment records 210 identifying which users 115 or user accounts are assigned to registered mobile devices 120 and roles 206 of users 115 within the enterprise. A user's role 206 generally relates the user 115 to enterprise-related duties or activities in which the user is engaged. A role 206 may have a name and optionally an associated specification. Roles 206 (and role names) may mimic the department and job hierarchy structure of an enterprise. For example, an enterprise may specify roles with titles such as upper management, senior staff, sales department, accounting, engineering, word processing, human resources, and the like. In this scenario, a salesperson could be given the role "Sales Department", an engineer could be given the role "Engineering", and so on. Furthermore, the roles 206 can be defined broadly or narrowly as may suit the needs of the enterprise. For example, an enterprise may give all of its engineers the role of "Engineering Design". Alternatively or in addition, businesses may wish to specify narrower roles such as "Computer Engineer", "Materials Engineer", "Semiconductor Process Engineer", etc., especially if the business wishes to differentiate between its different types of mobile devices for engineering employees authorized. Additionally, user 115 may be assigned to number of roles 206 according to the user's responsibilities or activities related to the enterprise. In certain embodiments, an enterprise may use an RBAC (role-based access control) system to help govern enterprise resources 130, and user roles 206 may be related to or identical to roles specified in the RBAC system.
移动设备120的企业代理320可配置成周期性地和/或每当移动设备120连接到移动设备管理系统126时(例如当应用隧道形成时)将设备相关数据发送到移动设备管理系统126。例如,企业代理320可发送涉及安装在移动设备120上的软件应用、软件升级、系统信息等的数据,如上所述。在一个实施方式中,代理320通过被用于应用隧道的相同的连接发送这样的设备特性信息,但不使用应用隧道。Enterprise agent 320 of mobile device 120 may be configured to send device-related data to mobile device management system 126 periodically and/or whenever mobile device 120 connects to mobile device management system 126 (eg, when an application tunnel is formed). For example, enterprise agent 320 may send data related to software applications installed on mobile device 120, software upgrades, system information, etc., as described above. In one embodiment, proxy 320 sends such device characteristic information over the same connection that is used for application tunneling, but without using application tunneling.
继续参考图1A和2,移动设备管理系统126可包括存储在计算机存储器中的一个或多个企业访问策略218。访问策略218优选地规定移动设备对企业资源130的访问将被允许或拒绝时的条件。在一些实施方式中,单个访问策略218可适用于不同品牌、型号、操作系统或其任何组合的移动设备120。策略218可取决于用户角色206、移动设备特性208、被请求由移动设备120访问的特定的企业资源130或其任何组合。移动设备管理系统126可使用访问策略218来处理直接由移动设备管理系统126接收的移动设备访问请求,包括经由安全应用隧道接收的请求。此外,如下所述,安全移动网关128可以利用访问策略218以允许或拒绝直接由安全移动网关128接收的移动设备访问请求。With continued reference to FIGS. 1A and 2 , the mobile device management system 126 may include one or more enterprise access policies 218 stored in computer memory. Access policies 218 preferably specify the conditions under which mobile device access to enterprise resources 130 will be permitted or denied. In some implementations, a single access policy 218 may apply to mobile devices 120 of different makes, models, operating systems, or any combination thereof. Policy 218 may depend on user role 206, mobile device characteristics 208, the particular enterprise resource 130 being requested to be accessed by mobile device 120, or any combination thereof. Mobile device management system 126 may use access policy 218 to process mobile device access requests received directly by mobile device management system 126 , including requests received via a secure application tunnel. Additionally, as described below, the secure mobile gateway 128 may utilize an access policy 218 to allow or deny mobile device access requests received directly by the secure mobile gateway 128 .
如图2所示,移动设备管理系统126可包括用于编辑在移动设备120上可执行的脚本的脚本编辑工具220,如下所述。移动设备管理系统126也可包括用于编辑移动设备规则214和补救行动216的工具221,如下所述。As shown in FIG. 2, the mobile device management system 126 may include a script editing tool 220 for editing scripts executable on the mobile device 120, as described below. Mobile device management system 126 may also include tools 221 for editing mobile device rules 214 and remedial actions 216, as described below.
移动设备管理系统126可包括用于创建、编辑和/或发送网关规则到安全移动网关128的网关规则发生器222,如下所述。这些工具220、221可例如由IT管理员使用来实现各种安全相关特征和策略,如下所述。The mobile device management system 126 may include a gateway rule generator 222 for creating, editing, and/or sending gateway rules to the secure mobile gateway 128, as described below. These tools 220, 221 may be used, for example, by IT administrators to implement various security-related features and policies, as described below.
移动设备管理系统126可包括用于介导在移动设备120上运行的软件应用和另一资源例如企业资源130之间的应用隧道的隧道中介模块224,如下所述。隧道中介模块224也可配置成基于访问策略218和信息204来允许或拒绝访问请求。Mobile device management system 126 may include tunnel mediation module 224 for mediating an application tunnel between a software application running on mobile device 120 and another resource, such as enterprise resource 130, as described below. Tunnel broker module 224 may also be configured to allow or deny access requests based on access policy 218 and information 204 .
移动设备管理系统126也可包括用于执行由元应用150和/或151提供的补救行动的补救代理226,如下所述。补救代理226可基于例如由规则规定的条件来执行各种类型的补救行动,如通常在Qureshi‘526中描述的。Mobile device management system 126 may also include remediation agent 226 for performing remedial actions provided by meta-applications 150 and/or 151, as described below. The remediation agent 226 may perform various types of remedial actions based on conditions, such as specified by rules, as generally described in Qureshi '526.
进一步参考图2,可在适当的计算机硬件上例如在一个或多个物理服务器或其它计算设备上运行的可执行程序代码模块中实现移动设备管理系统126的上述功能部件202、224、220、221、222、226。这些部件可例如在单个物理服务器或其它机器上运行,或可分布在网络上的多个机器当中。在一些实施方式中,可以可选地在固件中或在专用硬件(ASIC、FPGA等)中实现这些部件中的一些或全部。可使用数据库、平面文件和/或其它类型的数据存储布置在任何适当类型的计算机存储器(例如硬盘驱动器、固态存储器阵列、光学存储设备等)中实现移动设备管理系统126的各种数据或数据存储部件210、212、218、228。With further reference to FIG. 2 , the above-described functional components 202, 224, 220, 221 of the mobile device management system 126 can be implemented on suitable computer hardware, such as executable program code modules running on one or more physical servers or other computing devices. , 222, 226. These components may, for example, run on a single physical server or other machine, or may be distributed among multiple machines on a network. In some implementations, some or all of these components may optionally be implemented in firmware or in dedicated hardware (ASIC, FPGA, etc.). The various data or data storage of mobile device management system 126 may be implemented in any suitable type of computer storage (e.g., hard drive, solid state memory array, optical storage device, etc.) using databases, flat files, and/or other types of data storage arrangements. Parts 210, 212, 218, 228.
例如,企业可能希望使用多个移动设备管理系统126。具有多个办公室的企业可为单独的办公室使用单独的系统126。这可能是有用的,如果企业具有位于不同的地理区域中的办公室。例如,具有在英国、日本和美国的办公室的大企业可使用位于那些办公室位置内或附近的三个不同的移动设备管理系统126。在这样的实施方式中,每个移动设备管理系统126可负责管理在不同的地理区域中的移动设备120,其中这样的移动设备管理可包括将规则包发送到移动设备120(如下所述)和/或管制对企业资源130的访问。在这样的实施方式中,安全移动网关128优选地配置成为了本文所述的目的而与每个移动设备管理系统126通信。在一些实现中,提供可用于观察与给定企业相关的各种系统126的控制台。For example, an enterprise may wish to use multiple mobile device management systems 126 . Businesses with multiple offices may use separate systems 126 for separate offices. This may be useful if the business has offices located in different geographic regions. For example, a large enterprise with offices in the United Kingdom, Japan, and the United States may use three different mobile device management systems 126 located in or near those office locations. In such an embodiment, each mobile device management system 126 may be responsible for managing mobile devices 120 in different geographic regions, where such mobile device management may include sending rule packets to mobile devices 120 (described below) and and/or regulate access to enterprise resources 130 . In such embodiments, the secure mobile gateway 128 is preferably configured to communicate with each mobile device management system 126 for the purposes described herein. In some implementations, a console is provided that can be used to view the various systems 126 associated with a given enterprise.
管制移动设备对企业系统的访问的安全移动网关的使用Use of secure mobile gateways to regulate mobile device access to enterprise systems
参考图1A,企业可能希望管制它的移动设备用户115如何经由移动设备120访问企业资源130。任何给定的企业用户115一般只需要通常基于用户在企业内的职责或角色来访问企业资源130的子集。因此,因为不需要给用户115提供移动设备对很多资源130的访问,这么做可使企业暴露于不必要的安全风险。例如,企业可能希望防止很多用户115使用他们的移动设备120来访问企业的高度敏感、机密的信息,特别是如果用户不需要访问这样的信息来执行他们的与企业有关或相关的职责。这可防止例如心怀不满的雇员通过访问和也许散布敏感的企业相关信息来伤害企业。此外,安装在移动设备120上的应用和文件可具有可被转移到企业的计算机系统110或可上传或盗窃敏感信息的恶意软件或病毒。限制移动设备对特定的企业资源130的访问可防止恶意软件和病毒感染其它企业资源130。如下面讨论的,移动设备管理系统126和安全移动网关128优选地通过使企业能够限制移动设备只对经授权的企业资源130的访问以基于用户特性、移动设备特性和/或企业资源130(移动设备对企业资源130的访问被请求)可定制的方式来处理这些问题。Referring to FIG. 1A , an enterprise may wish to regulate how its mobile device users 115 access enterprise resources 130 via mobile devices 120 . Any given enterprise user 115 typically only requires access to a subset of enterprise resources 130, typically based on the user's role or role within the enterprise. Thus, doing so may expose the enterprise to unnecessary security risks because the user 115 need not be provided with mobile device access to many resources 130 . For example, an enterprise may wish to prevent many users 115 from using their mobile devices 120 to access highly sensitive, confidential information of the enterprise, especially if the users do not need access to such information to perform their duties related or related to the enterprise. This prevents, for example, disgruntled employees from harming the business by accessing and perhaps distributing sensitive business-related information. Additionally, applications and files installed on mobile device 120 may have malware or viruses that may be transferred to an enterprise's computer system 110 or that may upload or steal sensitive information. Restricting mobile device access to specific enterprise resources 130 may prevent malware and viruses from infecting other enterprise resources 130 . As discussed below, the mobile device management system 126 and the secure mobile gateway 128 preferably based on user characteristics, mobile device characteristics and/or enterprise resources 130 (mobile Device access to enterprise resources 130 is requested) to handle these issues in a customizable manner.
在移动设备的激增和期望使用移动设备的现有应用的情况下,存在在网络级采取行动来提供对企业资源的受控访问的需要。而且,因为企业实现BYOD(携带自己的设备)或BYOT(携带自己的技术)策略,存在对灵活性的需要,同时处理保护企业资源和敏感的企业数据的日益复杂的任务。这样的灵活性可包括允许多个不同的移动设备和/或在这样的移动设备上运行的应用访问企业资源,同时提供对企业资源的这样的访问的期望级别的控制。作为一个例子,允许具有各种不同的电子邮件客户端的移动设备120访问企业资源并使企业能够实现某些保护例如在企业可配置的某些情况下拒绝一些访问请求和/或基于企业策略对提供到移动设备的电子邮件客户端的数据的至少一部分加密同时允许各种电子邮件客户端访问企业数据可能是合乎需要的。允许各种现有的移动应用访问企业资源可消除对开发专用应用和/或修改现有的应用的需要,以便访问企业资源。同时,实现对企业数据的访问的期望级别的控制可允许企业在保护企业数据和使用户能够在移动设备120上访问企业数据之间达到平衡。With the proliferation of mobile devices and the existing applications that expect to use them, there is a need to act at the network level to provide controlled access to enterprise resources. Furthermore, as enterprises implement BYOD (bring your own device) or BYOT (bring your own technology) strategies, there is a need for flexibility while dealing with the increasingly complex task of securing enterprise resources and sensitive enterprise data. Such flexibility may include allowing multiple different mobile devices and/or applications running on such mobile devices to access enterprise resources while providing a desired level of control over such access to enterprise resources. As an example, mobile devices 120 with various e-mail clients are allowed to access enterprise resources and enable the enterprise to implement certain protections such as denying some access requests under certain circumstances that are configurable by the enterprise and/or to provide It may be desirable to encrypt at least a portion of data to email clients of mobile devices while allowing the various email clients to access enterprise data. Allowing various existing mobile applications to access enterprise resources can eliminate the need to develop specialized applications and/or modify existing applications in order to access enterprise resources. At the same time, achieving a desired level of control over access to enterprise data may allow an enterprise to strike a balance between protecting enterprise data and enabling users to access enterprise data on mobile devices 120 .
安全移动网关128可帮助灵活地保护移动设备120所访问的敏感企业数据。安全移动网关128可监控并记录在一个或多个企业资源130和移动设备120之间的业务。安全移动网关128可应用规则以实现应用于选定移动设备120的企业策略。基于特定的协议,安全移动网关128可采取行动来实现如应用于请求访问企业资源130的选定移动设备120的企业策略。因此,在与企业计算系统110通信的移动设备120的上下文中,安全移动网关128可采取与协议和某些条件相关的行动以提供对企业资源130的访问。将理解,安全移动网关128可控制与任何适当的协议例如本文描述的协议相关的业务。本文描述的策略、规则和补救行动的任何组合可由安全移动网关128实现。而且,安全移动网关128可根据本文描述的原理和优点实现各种其它策略、规则、补救行动或其任何组合。The secure mobile gateway 128 can help flexibly protect sensitive enterprise data accessed by the mobile device 120 . Secure mobile gateway 128 may monitor and log traffic between one or more enterprise resources 130 and mobile devices 120 . The secure mobile gateway 128 can apply rules to implement enterprise policies applied to selected mobile devices 120 . Based on specific protocols, the secure mobile gateway 128 may take actions to implement enterprise policies as applied to selected mobile devices 120 requesting access to enterprise resources 130 . Thus, in the context of a mobile device 120 in communication with an enterprise computing system 110 , the secure mobile gateway 128 can take actions related to the protocol and certain conditions to provide access to the enterprise resource 130 . It will be appreciated that secure mobile gateway 128 may control traffic related to any suitable protocol, such as those described herein. Any combination of policies, rules, and remedial actions described herein may be implemented by the secure mobile gateway 128 . Moreover, secure mobile gateway 128 can implement various other policies, rules, remedial actions, or any combination thereof in accordance with the principles and advantages described herein.
安全移动网关128可包括起协议分析器和规则补救器的作用的网关过滤器。网关过滤器可检测与企业业务相关的规定协议,例如ActiveSync或HTTP。网关过滤器可实现对特定协议和一个或多个条件采取某些行动的网关规则。例如,当来自移动设备120的访问企业资源130的请求是ActiveSync请求时,网关过滤器可实现ActiveSync协议所特有的规则。在这个例子中,条件可以是,移动设备120与可能接收敏感企业信息的企业的执行部门相关。网关过滤器可接着在将数据发送给主管人员的移动设备之前采取对附件数据加密的行动。在另一例子中,网关过滤器可能由于移动设备120具有在其上安装的某个应用而拒绝移动设备120访问企业资源130的请求。The secure mobile gateway 128 may include a gateway filter that functions as a protocol analyzer and rule remediator. Gateway filters detect prescribed protocols relevant to enterprise business, such as ActiveSync or HTTP. Gateway filters implement gateway rules that take certain actions on specific protocols and one or more conditions. For example, when the request from mobile device 120 to access enterprise resource 130 is an ActiveSync request, the gateway filter may implement rules specific to the ActiveSync protocol. In this example, the condition may be that the mobile device 120 is associated with an executive branch of a business that may receive sensitive business information. The gateway filter can then take action to encrypt the attachment data before sending the data to the executive's mobile device. In another example, a gateway filter may deny mobile device 120's request to access enterprise resource 130 because mobile device 120 has a certain application installed thereon.
图4示意性示出图1A的安全移动网关128的实施方式的体系结构和操作。安全移动网关128可在计算系统中的任何接合点处实现或控制计算系统中的任何接合点,协议业务通过该接合点来流动。例如,安全移动网关128可在防火墙、企业服务器(例如应用服务器)中或在防火墙和企业服务器之间实现。作为另一例子,虚拟安全移动网关128可与企业服务器(例如经由PowerShell接口)通信以实现对来自移动设备的请求的企业访问策略。安全移动网关128可被实现为企业网络的防火墙服务器400例如图1A的防火墙122的插件。例如,由Microsoft CorporationTM出售的大部分防火墙产品运行互联网信息服务(IIS),其为处理web服务器请求的服务。IIS具有允许网关128的实施方式被插入防火墙产品中的插件体系结构。IIS的一个特定API是互联网服务器应用编程接口(ISAPI)。安全移动网关128的实施方式可与各种防火墙技术例如微软前沿威胁管理网关(TMG)、微软前沿统一访问网关(UAG)、微软前沿身份管理器2010(FIM 2010)、微软ISA 2006、Barracuda防火墙、Sonic防火墙、Cisco防火墙等集成在一起。当安全移动网关128与某些防火墙例如TMG集成在一起时,安全移动网关128可由一个或多个企业资源130(图1E)或配置成控制一个或多个企业资源130的至少一个设备实现。在某些实施方式中,例如对于不使用外围防火墙122(图1A)的企业,安全移动网关128可与企业的内部服务器例如支持ActiveSync的客户端访问服务器(“CAS服务器”)集成在一起。在一些其它实施方式中,安全移动网关128可由配置成与防火墙服务器通信的至少一个计算设备实现。以这种方式,安全移动网关128可在防火墙服务器不被修改的情况下通过防火墙控制一些或所有业务。这可使企业能够结合未修改的第三方防火墙来实现安全移动网关128。Figure 4 schematically illustrates the architecture and operation of an embodiment of the secure mobile gateway 128 of Figure 1A. The secure mobile gateway 128 may implement or control any juncture in the computing system at any juncture through which protocol traffic flows. For example, secure mobile gateway 128 may be implemented in a firewall, an enterprise server (eg, an application server), or between a firewall and an enterprise server. As another example, virtual secure mobile gateway 128 may communicate with an enterprise server (eg, via a PowerShell interface) to implement enterprise access policies on requests from mobile devices. Secure mobile gateway 128 may be implemented as a plug-in to firewall server 400 of an enterprise network, such as firewall 122 of FIG. 1A . For example, most firewall products sold by Microsoft Corporation (TM) run Internet Information Services (IIS), which is a service that handles web server requests. IIS has a plug-in architecture that allows implementations of gateway 128 to be plugged into firewall products. A specific API for IIS is the Internet Server Application Programming Interface (ISAPI). Implementations of the secure mobile gateway 128 may be compatible with various firewall technologies such as Microsoft Forefront Threat Management Gateway (TMG), Microsoft Forefront Unified Access Gateway (UAG), Microsoft Forefront Identity Manager 2010 (FIM 2010), Microsoft ISA 2006, Barracuda Firewall, Sonic firewall, Cisco firewall, etc. are integrated together. When the secure mobile gateway 128 is integrated with certain firewalls such as TMG, the secure mobile gateway 128 may be implemented by one or more enterprise resources 130 ( FIG. 1E ) or at least one device configured to control the one or more enterprise resources 130 . In some embodiments, such as for enterprises that do not utilize perimeter firewall 122 (FIG. 1A), secure mobile gateway 128 may be integrated with the enterprise's internal server, such as an ActiveSync-enabled client access server ("CAS server"). In some other implementations, the secure mobile gateway 128 may be implemented by at least one computing device configured to communicate with a firewall server. In this manner, secure mobile gateway 128 may control some or all traffic through the firewall without the firewall server being modified. This may enable enterprises to implement secure mobile gateway 128 in conjunction with unmodified third-party firewalls.
虽然图1A-1E的安全移动网关128为了例证性目的被示为控制与单个企业系统110有关的业务,将理解,一个安全移动网关128可被实现以操纵与两个或多个不同的企业系统110——包括不同的公司或其它企业的系统110——相关的请求。当操纵与多个不同的企业计算机系统110相关的请求时,安全移动网关128可为每个不同的企业计算系统110实现不同的规则。例如,可为几个不同的企业电子邮件系统实现一个安全移动网关128,每个电子邮件系统具有不同的电子邮件策略。在这些实施方式的一些中,安全移动网关128可与不同公司的企业计算系统110的不同移动设备管理系统126通信。Although secure mobile gateway 128 of FIGS. 110 - System 110 - related requests including different companies or other businesses. When handling requests associated with multiple different enterprise computing systems 110 , secure mobile gateway 128 may implement different rules for each different enterprise computing system 110 . For example, one secure mobile gateway 128 may be implemented for several different corporate email systems, each with different email policies. In some of these implementations, the secure mobile gateway 128 may communicate with different mobile device management systems 126 of enterprise computing systems 110 of different companies.
在图4中所示的安全移动网关128包括可配置成接收并处理来自移动设备120的企业访问请求402的网关过滤器401,每个请求根据由安全移动网关128支持的协议来格式化。网关过滤器401可嵌入防火墙服务器400内。在一些其它实现中,网关过滤器401可被实现来通过单独的防火墙服务器控制业务。网关过滤器401可配置成允许访问请求402到达企业资源130或拒绝请求402。网关128可配置成支持一个或多个不同的请求协议,例如ActiveSync请求、SharePoint请求、EWS请求、SAP请求和/或与各种其它web服务器应用相关的请求。在一个实施方式中,在图4中的块401、404、406、410和412代表可被添加(例如作为防火墙插件的部分)到市场上可买到的防火墙或防火墙服务器400以实现安全移动网关128的部件。The secure mobile gateway 128 shown in FIG. 4 includes a gateway filter 401 configurable to receive and process enterprise access requests 402 from the mobile device 120 , each request formatted according to a protocol supported by the secure mobile gateway 128 . Gateway filter 401 may be embedded within firewall server 400 . In some other implementations, gateway filter 401 may be implemented to control traffic through a separate firewall server. Gateway filter 401 may be configured to allow access request 402 to enterprise resource 130 or to deny request 402 . Gateway 128 may be configured to support one or more different request protocols, such as ActiveSync requests, SharePoint requests, EWS requests, SAP requests, and/or requests associated with various other web server applications. In one embodiment, blocks 401, 404, 406, 410, and 412 in FIG. 4 represent blocks that may be added (e.g., as part of a firewall plug-in) to a commercially available firewall or firewall server 400 to implement a secure mobile gateway 128 parts.
举配置成处理ActiveSync请求以使企业系统数据与移动设备120同步的安全移动网关128的情况作为例子。ActiveSync是由MicrosoftTM开发的公知的移动数据同步技术和协议。通常被称为Exchange ActiveSync(或EAS)的ActiveSync的一个实现提供联系人、日历、任务和在启用ActiveSync的服务器与移动设备之间的电子邮件的推送同步。网关过滤器401可配置成拦截每个进入的请求402,确定它是否是ActiveSync请求,并查阅网关规则401的数据库来确定网关过滤器401是应允许或还是拒绝请求。请求可以是例如HTTP请求。网关规则401的数据库可以是存储在企业防火墙服务器400上的本地数据库。在被允许的ActiveSync请求402的情况下,网关过滤器401可将请求发送到企业资源130,其可包括Microsoft Exchange服务器。Take the case of the secure mobile gateway 128 configured to handle ActiveSync requests to synchronize enterprise system data with the mobile device 120 as an example. ActiveSync is a well-known mobile data synchronization technology and protocol developed by Microsoft ™ . One implementation of ActiveSync, commonly referred to as Exchange ActiveSync (or EAS), provides push synchronization of contacts, calendars, tasks, and email between an ActiveSync-enabled server and a mobile device. Gateway filter 401 may be configured to intercept each incoming request 402, determine whether it is an ActiveSync request, and consult the database of gateway rules 401 to determine whether gateway filter 401 should allow or deny the request. The request may be, for example, an HTTP request. The database of gateway rules 401 may be a local database stored on the enterprise firewall server 400 . In the case of an allowed ActiveSync request 402, gateway filter 401 may send the request to enterprise resource 130, which may include a Microsoft Exchange server.
网关过滤器401可通过检查请求的头部和可能主体以检测ActiveSync协议的标记来检测请求402是否是ActiveSync请求。每个ActiveSync命令一般包括由移动设备120发出的统一资源定位器(URL)。在URL之后,请求一般包括查询参数和ActiveSync命令。为了说明,考虑下面的ActiveSync请求:Gateway filter 401 may detect whether request 402 is an ActiveSync request by inspecting the headers and possibly the body of the request to detect flags of the ActiveSync protocol. Each ActiveSync command generally includes a Uniform Resource Locator (URL) issued by the mobile device 120 . After the URL, the request typically includes query parameters and ActiveSync commands. To illustrate, consider the following ActiveSync request:
http://myDomain.com/Microsoft-Server-ActiveSync?User=XXX&DeviceId=XXX&DeviceType=XXX&Cmd=Pinghttp://myDomain.com/Microsoft-Server-ActiveSync? User=XXX&DeviceId=XXX&DeviceType=XXX&Cmd=Ping
安全移动网关128可得到来自URL的DeviceId和DeviceType、来自HTTP头部的UserAgent参数、来自HTTP会话的已认证User参数以及Cmd参数。安全移动网关128可配置成基于这些特性中的一个或多个来过滤请求402。注意,ActiveSync协议也允许URL参数使用base64编码表示以可选的形式被编码。在上面的例子中,网关128可根据字符串“Microsoft-Server-ActiveSync”确定请求是ActiveSync请求。The secure mobile gateway 128 can get the DeviceId and DeviceType from the URL, the UserAgent parameter from the HTTP header, the authenticated User parameter and the Cmd parameter from the HTTP session. Secure mobile gateway 128 may be configured to filter requests 402 based on one or more of these characteristics. Note that the ActiveSync protocol also allows URL parameters to be optionally encoded using a base64-encoded representation. In the above example, gateway 128 may determine from the string "Microsoft-Server-ActiveSync" that the request is an ActiveSync request.
网关规则404可包括根据由安全移动网关128支持的协议来格式化的移动设备请求402的特性的一个或多个值。这样的特性可包括URL参数、头部值、命令等。网关过滤器401可配置成至少部分地基于这些特性来过滤请求402。在ActiveSync的情况下,请求特性可包括DeviceID和DeviceType(从请求URL获取)、User和UserAgent参数(从HTTP头部获取)以及一个或多个ActiveSync命令参数(ActiveSync规定很多不同的命令,例如使邮箱同步、发送邮件、得到附件等)。网关规则404可规定条件,在所述条件下,请求将被网关过滤器401允许或拒绝。这样的条件可涉及逻辑表达式和/或由安全移动网关128支持的协议的请求特性的一个或多个值的组合。例如,网关规则404可使网关过滤器401阻挡具有特定的一组值DeviceID中的任一个并发出得到附件命令(用于下载电子邮件附件)的所有ActiveSync请求。如这个例子示出的,网关规则404可识别一个或多个移动设备120和/或用户115。如这个例子也示出的,网关规则404可基于移动设备120正通过向企业系统110发出访问请求402来试图做或实现什么来允许或拒绝访问。通过安全移动网关128,安全移动网关128的操作员可为特定的企业计算系统110定制网关规则404。Gateway rules 404 may include one or more values for characteristics of mobile device request 402 formatted according to a protocol supported by secure mobile gateway 128 . Such properties may include URL parameters, header values, commands, and the like. Gateway filter 401 may be configured to filter requests 402 based at least in part on these characteristics. In the case of ActiveSync, the request properties may include DeviceID and DeviceType (obtained from the request URL), User and UserAgent parameters (obtained from the HTTP header), and one or more ActiveSync command parameters (ActiveSync specifies many different commands, such as making a mailbox sync, send mail, get attachments, etc.). Gateway rules 404 may specify conditions under which requests are to be allowed or denied by gateway filter 401 . Such conditions may involve logical expressions and/or combinations of one or more values of request characteristics of the protocols supported by the secure mobile gateway 128 . For example, gateway rule 404 may cause gateway filter 401 to block all ActiveSync requests that have any of a particular set of values DeviceID and issue a get attachment command (for downloading email attachments). As this example illustrates, gateway rules 404 may identify one or more mobile devices 120 and/or users 115 . As this example also shows, gateway rules 404 may allow or deny access based on what mobile device 120 is attempting to do or achieve by issuing access request 402 to enterprise system 110 . Through the secure mobile gateway 128 , an operator of the secure mobile gateway 128 can customize the gateway rules 404 for a particular enterprise computing system 110 .
在一些实施方式中,安全移动网关128可配置成检查访问企业资源130的请求402的主体或“有效载荷”,以便检测在评估是否允许或拒绝请求时可能有用的额外信息。有效载荷可提供关于正被请求的特定数据、移动设备应用将如何使用所请求的数据等的信息。访问策略(例如设备管理系统126的策略218)可被创建以基于这样的信息来管制或限制访问。例如,安全移动网关128可检查根据选定协议例如ActiveSync、SharePoint、SAP或基于HTTP的那些协议来格式化的消息的有效载荷。安全移动网关也可修改这些消息中的协议元数据以实现各种安全相关特征。例如,如下面在标题“保护附件数据”下所述的,安全移动网关可配置成检查ActiveSync或其它请求402的有效载荷以确定它们是否与包括附件(例如电子邮件附件)的消息相关;安全移动网关128也可对一些或所有识别出的附件加密以防止它们以未加密格式存储在相关的移动设备120上。In some implementations, the secure mobile gateway 128 may be configured to inspect the body or "payload" of a request 402 to access an enterprise resource 130 in order to detect additional information that may be useful in evaluating whether to allow or deny the request. The payload can provide information about the specific data being requested, how the mobile device application will use the requested data, and the like. Access policies, such as policy 218 of device management system 126, may be created to regulate or limit access based on such information. For example, secure mobile gateway 128 may inspect the payload of a message formatted according to a selected protocol, such as ActiveSync, SharePoint, SAP, or those based on HTTP. The secure mobile gateway may also modify protocol metadata in these messages to implement various security-related features. For example, as described below under the heading "Protecting Attachment Data," the Secure Mobile Gateway can be configured to inspect the payload of ActiveSync or other requests 402 to determine whether they are relevant to messages that include attachments (e.g., email attachments); Secure Mobile Gateway 128 may also encrypt some or all of the identified attachments to prevent them from being stored on the associated mobile device 120 in an unencrypted format.
网关规则404可基于由移动设备管理系统126提供的数据和/或由安全移动网关128的操作员提供的数据。移动设备管理系统126可将高级别规则转换成相对简单(较低级别)的规则,并向安全移动网关128提供相对简单的规则用于应用于所监控的业务。安全移动网关也可实现由或基于来自元应用150和/或云156中的元应用部分151的推断引擎(例如图8的推断引擎824)的输入提供的规则。在一些实施方式中,可使用在Qureshi‘526中描述的方法和部件(包括征兆逻辑)来产生规则。Gateway rules 404 may be based on data provided by mobile device management system 126 and/or data provided by an operator of secure mobile gateway 128 . The mobile device management system 126 can translate the high-level rules into relatively simple (lower-level) rules and provide the relatively simple rules to the secure mobile gateway 128 for application to monitored traffic. The secure mobile gateway may also implement rules provided by or based on input from an inference engine (eg, inference engine 824 of FIG. 8 ) of meta-application 150 and/or meta-application portion 151 in cloud 156 . In some embodiments, rules may be generated using the methods and components described in Qureshi '526, including symptom logic.
网关规则404可采取很多不同的形式,并可以用各种编程语言例如SML来编写。在一个实施方式中,网关规则404包括“组”的列表加上默认“行动”的指示(例如访问请求的允许或拒绝或是否对附件数据加密)。在这个上下文中,组是“组成员”的集合加上该组的相应行动。组成员可以是移动设备请求402的一个、一些或所有特性的值的集合。每个组成员可通过由安全移动网关128支持的请求协议的特性的任何值来匹配进入的移动设备访问请求402。网关过滤器401可通过使组成员的所有特性值与请求402的相应特性值匹配来使进入的请求402与组成员匹配。如果组成员不包括一个或多个可能的请求特性的任何值,则网关过滤器401对于那些特定的特性可确定它与请求的值是什么无关。换句话说,组成员可有效地规定一个或多个请求特性的“任何”或“无关”。因此,不同的组成员可相应于同一移动设备120或用户115。例如,对于支持ActiveSync的安全移动网关128,组成员可通过DeviceID、User、UserAgent和DeviceType以及ActiveSync Cmd值的任何组合来匹配进入的HTTP请求402。Gateway rules 404 can take many different forms and can be written in various programming languages such as SML. In one embodiment, gateway rules 404 include a list of "groups" plus an indication of a default "action" (eg, permission or denial of an access request or whether to encrypt attachment data). In this context, a group is a collection of "group members" plus corresponding actions for that group. A group member may be a collection of values for one, some, or all of the characteristics requested 402 by the mobile device. Each group member can match incoming mobile device access requests 402 by any value of the property of the request protocol supported by the secure mobile gateway 128 . Gateway filter 401 may match incoming request 402 with group members by matching all property values of group members with corresponding property values of request 402 . If the group membership does not include any values for one or more possible requested properties, gateway filter 401 may determine for those specific properties that it does not matter what the value of the request is. In other words, group membership may effectively specify "any" or "don't care" for one or more request characteristics. Accordingly, different group members may correspond to the same mobile device 120 or user 115 . For example, for a secure mobile gateway 128 that supports ActiveSync, group membership may match incoming HTTP requests 402 by any combination of DeviceID, User, UserAgent, and DeviceType and ActiveSync Cmd values.
这里是网关规则404的一个例子:Here is an example of a gateway rule 404:
这个网关规则将默认行动规定为对由安全移动网关128从移动设备120接收的进入的访问请求的拒绝。这个网关规则也规定“StaticAllow”组——其行动是“允许”、“StaticDeny”组——其行动是“拒绝”、“ZdmDeny”组——其行动是“拒绝”和“ZdmAllow”组——其行动是“允许”。组和行动一起可以是子规则。StaticAllow和StaticDeny组及其相关行动是安全移动网关128本地的子规则的例子。这样的子规则可独立于移动设备管理系统126由安全移动网关的操作员修改。ZdmDeny和ZdmAllow组及其相关行动是从移动设备管理系统126接收的子规则的例子。可以按任何适当的顺序设定规则的优先级。在上面的例子中,StaticAllow和StaticDeny组及其相关行动优先于ZdmDeny和ZdmAllow组及其相关行动。以这种方式,安全移动网关128的操作员可否决由移动设备管理系统126提供的子规则。This gateway rule specifies the default action as a denial of incoming access requests received by the secure mobile gateway 128 from the mobile device 120 . This gateway rule also specifies the "StaticAllow" group - whose action is "Allow", the "StaticDeny" group - whose action is "Deny", the "ZdmDeny" group - whose action is "Deny" and the "ZdmAllow" group - Its action is "Allow". Together, groups and actions can be subrules. The StaticAllow and StaticDeny groups and their associated actions are examples of subrules local to the secure mobile gateway 128 . Such sub-rules may be modified by the operator of the secure mobile gateway independently of the mobile device management system 126 . The ZdmDeny and ZdmAllow groups and their associated actions are examples of subrules received from the mobile device management system 126 . Rules may be prioritized in any suitable order. In the example above, the StaticAllow and StaticDeny groups and their associated actions take precedence over the ZdmDeny and ZdmAllow groups and their associated actions. In this manner, the operator of the secure mobile gateway 128 may overrule the sub-rules provided by the mobile device management system 126 .
可使用或代替上面提供的上述示例子规则来实现来自各种源的多个其它子规则。网关规则404可以可选地或此外规定安全移动网关128对各种组采取的多个其它行动,例如对某些组的附件加密,修改某些组的消息(例如电子邮件)的主体,阻止来自某些组的移动设备120在某些位置上接收消息,等等。A number of other sub-rules from various sources can be implemented using or in place of the above-described example sub-rules provided above. Gateway rules 404 may alternatively or additionally specify a number of other actions that secure mobile gateway 128 takes with respect to various groups, such as encrypting attachments for certain groups, modifying the body of messages (e.g., emails) for certain groups, blocking messages from Certain groups of mobile devices 120 receive messages at certain locations, and so on.
为了实施上面提供的示例网关规则404,安全移动网关128可访问这四组的所有组成员。这里是可被提供到安全移动网关128(例如由如下所述的提供者408)的“组列表”的例子:To enforce the example gateway rules 404 provided above, the secure mobile gateway 128 has access to all group members of these four groups. Here is an example of a "group list" that may be provided to secure mobile gateway 128 (e.g., by provider 408 as described below):
这个组列表规定包含组成员的列表的文件的位置,其中每个组成员由网关128所支持的协议的访问请求402的特性的一个或多个值可识别。对于ActiveSync协议,每个组成员可包括DeviceID、User、UserAgent、DeviceType和Cmd参数的值。This group list specifies the location of a file containing a list of group members, each group member identifiable by one or more values of the property of the access request 402 for the protocol supported by the gateway 128 . For the ActiveSync protocol, each group member may include values for the DeviceID, User, UserAgent, DeviceType, and Cmd parameters.
当安全移动网关128接收到进入的移动设备请求402时,网关过滤器401可读取请求402的特性的值并使它们与组列表的组成员的相应特性值匹配。如果存在匹配,则网关过滤器401可实施与组相关的行动。如果没有匹配,则网关128对在网关规则404中列出的下一组执行相同的分析。如果没有与网关规则404的任何组的匹配,则网关128实施默认行动。在网关规则404的组之间可能存在冲突的程度上,安全移动网关128可配置成将优先级给与较早出现在规则中的组。When the secure mobile gateway 128 receives an incoming mobile device request 402, the gateway filter 401 may read the values of the properties of the request 402 and match them with the corresponding property values of the group members of the group list. If there is a match, gateway filter 401 may implement group-related actions. If there is no match, gateway 128 performs the same analysis on the next group listed in gateway rules 404 . If there is no match to any set of gateway rules 404, gateway 128 implements a default action. To the extent that conflicts may exist between groups of gateway rules 404, secure mobile gateway 128 may be configured to give priority to groups that appear earlier in the rules.
仍然参考网关规则404的上述例子,在网关过滤器401读取请求特性的值之后,网关过滤器401读取StaticAllow组的组成员的特性值并确定它们中的任一个是否匹配请求402的任何特性值。例如,对于支持ActiveSync的网关128,请求402的DeviceID可匹配组成员之一的DeviceID。如果存在这样的匹配,则网关过滤器401实施与StaticAllow组相关的行动,该行动是允许请求402通过防火墙。如果不存在与StaticAllow组的任何组成员的任何特性值的匹配,则网关过滤器401读取StaticDeny组的组成员的特性值并确定它们中的任一个是否匹配请求402的任何特性值。如果存在这样的匹配,则网关过滤器401实施与StaticDeny组相关的行动,该行动是拒绝请求402。如果不存在与StaticDeny组的任何组成员的任何特性值的匹配,则网关过滤器401读取ZdmDeny组的组成员的特性值并确定它们中的任一个是否匹配请求402的任何特性值。如果存在匹配,则网关过滤器401实施与ZdmDeny组相关的行动,该行动是拒绝请求402。如果不存在与ZdmDeny组的任何组成员的任何特性值的匹配,则网关过滤器401读取ZdmAllow组的组成员的特性值并确定它们中的任一个是否匹配请求402的任何特性值。如果存在匹配,则网关过滤器401实施与ZdmAllow组相关的行动,该行动是允许请求402。如果不存在与ZdmAllow组的任何组成员的任何特性值的匹配,则网关过滤器401实施默认行动,该行动是拒绝请求402。Still referring to the above example of gateway rule 404, after gateway filter 401 reads the values of the request properties, gateway filter 401 reads the property values of the group members of the StaticAllow group and determines whether any of them match any of the properties of request 402 value. For example, for an ActiveSync enabled gateway 128, the DeviceID of request 402 may match the DeviceID of one of the group members. If there is such a match, the gateway filter 401 implements the action associated with the StaticAllow group, which is to allow the request 402 through the firewall. If there is no match for any property values of any group members of the StaticAllow group, gateway filter 401 reads the property values of group members of the StaticDeny group and determines whether any of them match any of the request 402 property values. If there is such a match, the gateway filter 401 implements the action associated with the StaticDeny group, which is to deny the request 402 . If there is no match for any property value of any group member of the StaticDeny group, the gateway filter 401 reads the property values of the group members of the ZdmDeny group and determines whether any of them match any of the request 402 property values. If there is a match, the gateway filter 401 implements the action associated with the ZdmDeny group, which is to deny the request 402 . If there is no match for any property value of any group member of the ZdmDeny group, gateway filter 401 reads the property values of group members of the ZdmAllow group and determines whether any of them match any property value of the request 402 . If there is a match, Gateway Filter 401 implements the action associated with the ZdmAllow group, which is Allow Request 402 . If there is no match for any property value of any group member of the ZdmAllow group, the gateway filter 401 implements a default action which is to deny the request 402 .
安全移动网关128可包括允许用户(例如管理员、IT员工等)观看、编辑和/或创建网关规则404并然后将它们保存在本地数据库中的网关配置服务406。配置服务406可配置成允许管理员设定“静态”网关规则404。静态网关规则可识别总是被允许访问或拒绝访问的移动设备120或设备120的组。例如,管理员可输入规定由总是被允许访问企业网络110的企业的CEO使用的移动设备120(例如由ActiveSync DeviceId识别)的规则404。作为另一例子,管理员可输入拒绝对被已知有恶意软件或与企业网络110的不兼容性的设备120的访问的网关规则404。配置服务406也可配置成允许用户调节网关128的各种其它设置和特征,包括本文描述的那些设置和特征中的任一个。The secure mobile gateway 128 may include a gateway configuration service 406 that allows users (eg, administrators, IT staff, etc.) to view, edit and/or create gateway rules 404 and then save them in a local database. Configuration service 406 may be configured to allow an administrator to set “static” gateway rules 404 . Static gateway rules may identify mobile devices 120 or groups of devices 120 that are always allowed or denied access. For example, an administrator may enter a rule 404 specifying a mobile device 120 (identified, for example, by ActiveSync DeviceId) used by the CEO of the enterprise that is always allowed to access the enterprise network 110. As another example, an administrator may enter a gateway rule 404 that denies access to devices 120 that are known to have malware or are incompatible with the enterprise network 110 . Configuration service 406 may also be configured to allow a user to adjust various other settings and features of gateway 128 , including any of those described herein.
网关配置服务406可允许网关规则404被静态地规定。此外,安全移动网关128可配置成从一个或多个外部“提供者”408接收网关规则404。提供者408可以是由网关128授权来提供用于管制对企业网络110的访问的网关规则404的任何实体。网关128可具有允许企业的IT员工添加、移除并配置提供者408的开放体系结构。优选地,网关128支持任何数量的提供者408。移动设备管理系统126可以是提供者408之一。另一提供者408可以是管理一些或所有企业网络110例如在防火墙124(图1A)后面的“后端”子网络的元应用150。示例性元应用实施方式在Qureshi‘536中被描述,且至少部分地基于云的元应用(其可以是提供者408)在下面参考图8被描述。Gateway configuration service 406 may allow gateway rules 404 to be statically specified. Additionally, secure mobile gateway 128 may be configured to receive gateway rules 404 from one or more external “providers” 408 . Provider 408 may be any entity authorized by gateway 128 to provide gateway rules 404 for regulating access to enterprise network 110 . Gateway 128 may have an open architecture that allows an enterprise's IT staff to add, remove, and configure providers 408 . Preferably, gateway 128 supports any number of providers 408 . Mobile device management system 126 may be one of providers 408 . Another provider 408 may be a meta-application 150 that manages some or all of the enterprise network 110, such as a "backend" subnetwork behind firewall 124 (FIG. 1A). An exemplary meta-application implementation is described in Qureshi '536, and an at least partially cloud-based meta-application (which may be a provider 408) is described below with reference to FIG. 8 .
每个提供者408可配置成创建一个或多个网关规则404并将一个或多个网关规则404发送到网关128。提供者408可配置成查询其自己的信息数据库以创建规则404。与网关128比较,提供者408可具有关于允许或拒绝移动设备访问请求402的明显更多的数据,例如关于用户115和/或移动设备120的信息。例如,所示移动设备管理系统126(图2)可包括网关规则发生器222,其配置成基于企业访问策略218和移动设备信息204(包括移动设备特性208、用户-设备分配记录210和用户角色206)来创建并编辑网关规则404,并接着将规则404发送到网关128的网关配置服务406。访问策略218可包括规定移动设备120是否可访问企业网络或其特定资源130的高级别规则。网关规则发生器222可配置成读取访问策略218并接着查询移动设备信息204以找到匹配访问策略218的标准的特定设备120或用户115。从所检测的设备和用户中,网关规则发生器222可产生实施策略218的设备或用户特定的网关规则404。移动设备管理系统126可配置成发送用户115或设备120(例如以如上面讨论的“组成员”的形式)(其对企业的访问被允许或拒绝)的列表,并将那些列表发送到网关128。网关128可配置成使用列表来实施网关规则404。Each provider 408 may be configured to create and send one or more gateway rules 404 to gateway 128 . Provider 408 may be configured to query its own database of information to create rules 404 . Provider 408 may have significantly more data about allowing or denying mobile device access request 402 than gateway 128 , such as information about user 115 and/or mobile device 120 . For example, the illustrated mobile device management system 126 (FIG. 2) may include a gateway rule generator 222 configured to 206) to create and edit gateway rules 404, and then send the rules 404 to the gateway configuration service 406 of the gateway 128. Access policies 218 may include high-level rules specifying whether mobile devices 120 may access the enterprise network or specific resources 130 thereof. Gateway rule generator 222 may be configured to read access policy 218 and then query mobile device information 204 to find a particular device 120 or user 115 that matches the criteria of access policy 218 . From the detected devices and users, gateway rule generator 222 may generate device or user-specific gateway rules 404 that implement policy 218 . Mobile device management system 126 may be configured to send a list of users 115 or devices 120 (e.g., in the form of "group members" as discussed above) whose access to the enterprise is allowed or denied, and send those lists to gateway 128 . Gateway 128 may be configured to implement gateway rules 404 using lists.
例如,如果访问策略218要求安装有FacebookTM应用的所有AndroidTM移动设备120都被拒绝访问企业网络110,则网关规则发生器222可查询移动设备信息204以得到这样的设备120的列表。网关规则发生器222可创建指示网关过滤器401拒绝所列出的设备120进行访问的一个或多个网关规则404,并将所创建的规则发送到网关配置服务406。在支持ActiveSync协议的网关128的情况下,网关规则发生器222可例如产生安装有FacebookTM应用的AndroidTM移动设备120的ActiveSync DeviceID的列表,并接着创建指示对这样的设备的访问的拒绝的一个或多个网关规则404。For example, if access policy 218 requires that all Android ™ mobile devices 120 with the Facebook ™ application installed be denied access to corporate network 110, gateway rule generator 222 may query mobile device information 204 for a list of such devices 120. Gateway rule generator 222 may create one or more gateway rules 404 that instruct gateway filter 401 to deny access to listed devices 120 and send the created rules to gateway configuration service 406 . In the case of a gateway 128 supporting the ActiveSync protocol, the gateway rule generator 222 may, for example, generate a list of ActiveSync DeviceIDs of Android ™ mobile devices 120 that have the Facebook ™ application installed, and then create a list indicating the denial of access to such devices. or multiple gateway rules 404.
如上述例子示出的,访问策略218可包括可转换成网关规则404的任何逻辑组合。在上述例子中的策略218代表两个条件的联合(AND运算符):(1)移动设备是AndroidTM设备,以及(2)设备具有安装在其上的FacebookTM应用。将理解,条件的逻辑组合可包括OR运算符、XOR运算符、NOR运算符、NAND运算符、THEN运算符、数学运算符(包括“小于”和“大于”)和任何其它适当的运算符。As the examples above illustrate, access policies 218 may include any logical combination that may be translated into gateway rules 404 . Policy 218 in the above example represents the union (AND operator) of two conditions: (1) the mobile device is an Android ™ device, and (2) the device has the Facebook ™ application installed on it. It will be understood that logical combinations of conditions may include OR operators, XOR operators, NOR operators, NAND operators, THEN operators, mathematical operators (including "less than" and "greater than"), and any other suitable operator.
除了至少部分地基于移动设备信息204来产生网关规则404以外,网关规则发生器222还可配置成至少部分地基于从元应用150接收的信息例如企业网络110和移动设备120的模型或所检测的“特征”、“问题”和“根本原因”(见元应用的下面的讨论)的本地存储的数据库来产生规则。在元应用150管理Microsoft ExchangeTM的实施方式中,从元应用150接收的信息可包括ActiveSync合伙关系数据。In addition to generating gateway rules 404 based at least in part on mobile device information 204, gateway rule generator 222 may also be configured to base at least in part on information received from meta-application 150, such as models of enterprise network 110 and mobile device 120 or detected A locally stored database of "Signatures,""Problems," and "Root Causes" (see discussion below of the meta-application) to generate rules. In embodiments where the meta-application 150 manages Microsoft Exchange ™ , the information received from the meta-application 150 may include ActiveSync partnership data.
如上面提到的,元应用150(图1A-C)可以是安全移动网关128的网关规则404的直接提供者408。元应用150可基于与企业网络110、用户115、移动设备120或其任何组合相关的各种数据产生网关规则404。元应用150可访问网关规则404可基于的各种信息。例如,在它的管理任务的支持中,元应用150可配置成进行企业网络110和移动设备120的“发现”以创建并维持其可查询的模型。此外,元应用150可配置成预测或检测“特征”、“问题”和/或“根本原因”,这些术语在Qureshi‘536中被使用。可基于模型、所检测的特征、问题和根本原因及由元应用150检测或计算的其它信息来创建新网关规则404。下面更充分描述元应用150的实施方式的管理和网关控制能力。As mentioned above, the meta-application 150 ( FIGS. 1A-C ) can be the direct provider 408 of the gateway rules 404 of the secure mobile gateway 128 . Meta-application 150 can generate gateway rules 404 based on various data related to enterprise network 110, users 115, mobile devices 120, or any combination thereof. Meta-application 150 can access various information on which gateway rules 404 can be based. For example, in support of its administrative tasks, meta-application 150 may be configured to conduct "discovery" of enterprise network 110 and mobile devices 120 to create and maintain a queryable model thereof. Additionally, the meta-application 150 may be configured to predict or detect "signatures," "problems," and/or "root causes," as these terms are used in Qureshi '536. New gateway rules 404 may be created based on the model, detected characteristics, problems and root causes, and other information detected or calculated by the meta-application 150 . The management and gateway control capabilities of embodiments of meta-application 150 are described more fully below.
所示网关配置服务406配置成从提供者408接收网关规则404,并将它们保存在规则404的本地存储器中。网关配置服务406可被实现为web服务并可具有与网关128相关的所有提供者408的列表。网关配置服务406可配置成周期性地(例如每24小时、一小时或几分钟等)向提供者408查询可用的任何新网关规则404。在这个意义上,配置服务406充当网关128的网关规则404的收集器。The illustrated gateway configuration service 406 is configured to receive gateway rules 404 from a provider 408 and save them in a local storage of the rules 404 . Gateway configuration service 406 may be implemented as a web service and may have a list of all providers 408 associated with gateway 128 . The gateway configuration service 406 may be configured to periodically (eg, every 24 hours, an hour, or a few minutes, etc.) query the provider 408 for any new gateway rules 404 that are available. In this sense, configuration service 406 acts as a collector of gateway rules 404 for gateway 128 .
保护附件数据Protect attachment data
移动设备普遍用于检查电子邮件,包括与企业电子邮件帐户相关的电子邮件。一些电子邮件包括包含敏感数据的附件。当用户使用移动设备检查电子邮件时,这些附件常常存储在移动设备上。存储在移动设备上的附件数据可能以多种方式被损害。当附件数据被损害时,与企业相关的敏感数据可被暴露。因此,存在保护存储在移动设备上的与企业相关的附件数据的需要。这个需要可根据个人在相关组织中的地位或角色来改变;例如,保护由公司的主管人员接收的消息的附件的需要可大于保护由公司的IT职员接收的附件的需要。此外,如果公司的企业支持其它消息发送协议(SMS、MMS、即时消息、AS、EWS、OWA、专用消息发送协议等)的使用以发送文档,则这个需要可扩展到这样的协议。Mobile devices are commonly used to check email, including email associated with business email accounts. Some emails include attachments containing sensitive data. These attachments are often stored on the mobile device when the user checks email on the mobile device. Attachment data stored on a mobile device can be compromised in a number of ways. When attached data is compromised, sensitive data related to the enterprise can be exposed. Accordingly, there is a need to protect enterprise-related attachment data stored on mobile devices. This need may vary depending on the individual's status or role in the relevant organization; for example, the need to protect attachments to messages received by executives at a company may be greater than the need to protect attachments received by IT staff at the company. Furthermore, if a company's enterprise supports the use of other messaging protocols (SMS, MMS, Instant Messaging, AS, EWS, OWA, proprietary messaging protocols, etc.) to send documents, then this need can be extended to such protocols.
某些实施方式的方面涉及保护存储在移动设备上的企业附件例如企业电子邮件附件免受损害。附件可包括例如Word文档、Excel文档、PowerPoint演示、文本文件以及使用其它应用程序创建的文档和文件。根据本文描述的原理和优点,可在具有非专用电子邮件应用例如出现为预先安装在或稍后安装在iPhone或Android设备上的电子邮件应用的移动设备上保护附件数据。因此,可使用任何适当的电子邮件客户端来实现与保护附件数据有关的特征。企业附件可在存储在移动设备上之前被保护,使得被保护的附件数据保持安全,即使存储在移动设备上的数据被损害。附件数据可安全地存储在移动设备的通用文件系统中。附件数据可被识别出并从电子邮件消息剥离。附件数据可被加密并然后作为加密附件数据被发送到移动设备。安全移动网关可配置成对附件数据加密并向移动设备提供加密附件数据。根据一些实施方式,也可连同加密附件数据发送加密附件密钥。可提供对被保护附件数据的安全的基于策略的访问。企业代理可对加密附件数据解密。例如,企业代理可对加密附件密钥解密并接着使用附件密钥来对编码附件数据解密。当移动设备被损害时,企业代理可配置成使得加密附件数据保持被加密。例如,企业代理可破坏附件密钥和/或使附件密钥无效。在没有设备密钥来对加密附件密钥解密的情况下,加密附件数据可保持被加密。当加密附件数据存储在可移动存储器例如安全数字(SD)卡上时,附件数据可在可移动存储器从移动设备移除时保持安全,因为附件数据被加密。Aspects of certain embodiments relate to protecting corporate attachments stored on mobile devices, such as corporate email attachments, from compromise. Attachments may include, for example, Word documents, Excel documents, PowerPoint presentations, text files, and documents and files created using other applications. According to the principles and advantages described herein, attachment data can be protected on mobile devices with non-dedicated email applications, such as email applications that appear as pre-installed or later installed on iPhone or Android devices. Accordingly, any suitable email client may be used to implement features related to securing attachment data. Enterprise attachments can be protected prior to storage on the mobile device so that the protected attachment data remains safe even if the data stored on the mobile device is compromised. Attachment data is securely stored on the mobile device's common file system. Attachment data can be identified and stripped from email messages. Attachment data may be encrypted and then sent to the mobile device as encrypted attachment data. The secure mobile gateway can be configured to encrypt the attachment data and provide the encrypted attachment data to the mobile device. According to some implementations, an encrypted attachment key may also be sent along with the encrypted attachment data. Provides secure policy-based access to protected attachment data. Enterprise agents can decrypt encrypted attachment data. For example, the enterprise agent may decrypt the encrypted attachment key and then use the attachment key to decrypt the encoded attachment data. When the mobile device is compromised, the enterprise agent can be configured such that encrypted attachment data remains encrypted. For example, an enterprise agent may corrupt and/or invalidate the attachment key. In the absence of the device key to decrypt the encrypted attachment key, the encrypted attachment data may remain encrypted. When encrypted attachment data is stored on removable memory, such as a Secure Digital (SD) card, the attachment data can remain secure when the removable memory is removed from the mobile device because the attachment data is encrypted.
在一个实施方式中,企业用户使用安装在他们的移动设备上的企业代理从他们的移动设备访问其企业电子邮件帐户。企业代理可对电子邮件客户端和企业电子邮件服务器透明地操作。企业代理可要求最终用户在访问用户的电子邮件之前和/或在打开加密附件之前登录。企业代理可向移动设备的平台注册。当用户打开加密附件时,企业代理可被调用。加密附件可由特定的文件后缀识别。在被调用之后,企业代理可对用户透明地对附件解密。In one embodiment, business users access their business email accounts from their mobile devices using a business agent installed on their mobile devices. The corporate proxy can operate transparently to email clients and corporate email servers. A corporate proxy may require an end user to log in before accessing the user's email and/or before opening an encrypted attachment. An enterprise agent may register with the mobile device's platform. An enterprise agent may be invoked when a user opens an encrypted attachment. Encrypted attachments are identified by specific file extensions. After being invoked, the enterprise agent can decrypt the attachment transparently to the user.
虽然为了例证性目的在本文主要在电子邮件附件的上下文中描述了系统,将理解,本文描述的原理和优点可应用于可用于将附件从企业资源发送到移动设备的任何其它适当的通信协议。例如,保护电子邮件附件的特征的任何组合可应用于保护即时消息、文本消息(例如SMS)等的附件。将理解,在某些实施方式中,本文描述的附件数据的基于策略的加密可结合应用于附件数据的其它加密来实现。而且,虽然附件数据在本文被描述为为了例证性目的而被加密,将理解,本文描述的原理和优点可应用于保护移动设备上的附件数据的任何其它适当的方式,例如扰码等。此外,在本文参考附件数据描述的原理和优点可应用于保护一些或所有消息,例如电子邮件消息。Although the system is described herein primarily in the context of email attachments for illustrative purposes, it will be understood that the principles and advantages described herein are applicable to any other suitable communication protocol available for sending attachments from an enterprise resource to a mobile device. For example, any combination of features for protecting email attachments can be applied to protect attachments for instant messages, text messages (eg, SMS), and the like. It will be appreciated that, in certain implementations, the policy-based encryption of attachment data described herein may be implemented in conjunction with other encryption applied to attachment data. Also, while attachment data is described herein as being encrypted for illustrative purposes, it will be understood that the principles and advantages described herein may be applied to any other suitable means of securing attachment data on a mobile device, such as scrambling or the like. Furthermore, the principles and advantages described herein with reference to attachment data can be applied to securing some or all messages, such as email messages.
参考图1A-1C,可在本文描述的任何企业计算系统和移动设备中保护附件数据。可在具有与安全移动网关128通信的移动设备120的任何系统中保护附件数据,安全移动网关128与企业资源130例如企业电子邮件服务器通信。一般,移动设备120经由外部防火墙122(图1A-C)与安全移动网关128通信。在某些实施方式中,安全移动网关128可由企业资源130实现。在一个实施方式中,如上面讨论的,安全移动网关128可部署在企业系统110的外部防火墙122和内部防火墙124之间。移动设备120和/或安全移动网关128可与移动设备管理系统126通信。移动设备管理系统126可配置成实现与用于例如对附件数据加密的加密密钥有关的功能,如下面更详细描述的。根据某些实施方式,安全移动网关128和/或移动设备120的代理可配置成对附件解密。Referring to Figures 1A-1C, attachment data can be secured in any of the enterprise computing systems and mobile devices described herein. Attachment data can be secured in any system that has a mobile device 120 in communication with a secure mobile gateway 128 that communicates with an enterprise resource 130, such as an enterprise email server. Generally, mobile device 120 communicates with secure mobile gateway 128 via external firewall 122 (FIGS. 1A-C). In some implementations, the secure mobile gateway 128 may be implemented by an enterprise resource 130 . In one embodiment, secure mobile gateway 128 may be deployed between external firewall 122 and internal firewall 124 of enterprise system 110, as discussed above. Mobile device 120 and/or secure mobile gateway 128 may communicate with mobile device management system 126 . Mobile device management system 126 may be configured to implement functionality related to encryption keys used, for example, to encrypt attachment data, as described in more detail below. According to some implementations, the secure mobile gateway 128 and/or the agent of the mobile device 120 may be configured to decrypt the attachment.
安全移动网关128可配置成检测在进入和/或外发的电子邮件消息中的附件。在一些实施方式中,安全移动网关128可检查和/或修改被传输到移动设备120和/或从移动设备120传输的数据有效载荷,例如ActiveSync数据有效载荷。进入和/或外发的数据有效载荷可以以WBXML——对低带宽环境优化的XML的二进制版本。安全移动网关128可包括对数据有效载荷进行操作的解析器和发生器。例如,解析器和发生器可处理WBXML。在这个例子中,解析器和发生器可根据ActiveSync WBXML方案来处理数据。安全移动网关128可程序化地识别哪些字符编码方案被使用。WBXML消息可包括MIME有效载荷。安全移动网关128可包括配置成构造和解构这个数据的MIME解析器和发生器。使用解析器和发生器,安全移动网关128可识别附件,使得附件可与电子邮件分离并被保护。The secure mobile gateway 128 may be configured to detect attachments in incoming and/or outgoing email messages. In some implementations, the secure mobile gateway 128 may inspect and/or modify data payloads transmitted to and/or from the mobile device 120 , such as ActiveSync data payloads. Incoming and/or outgoing data payloads can be in WBXML - a binary version of XML optimized for low bandwidth environments. Secure mobile gateway 128 may include parsers and generators that operate on data payloads. For example, parsers and generators can handle WBXML. In this example, parsers and generators can process data according to the ActiveSync WBXML schema. The secure mobile gateway 128 can programmatically identify which character encoding schemes are used. WBXML messages may include MIME payloads. Secure mobile gateway 128 may include a MIME parser and generator configured to construct and deconstruct this data. Using the parser and generator, the secure mobile gateway 128 can identify the attachment so that the attachment can be separated from the email and protected.
根据一个实施方式,为了拦截和/或修改进入和/或外发的数据有效载荷,安全移动网关128可向互联网服务器应用编程接口(ISAPI)或其它服务器注册以接收通知。所接收的通知可相应于各种处理阶段。安全移动网关128可维持上下文状态以跟踪请求的各种处理阶段。安全移动网关128可将请求和响应数据组块和解块。According to one embodiment, the secure mobile gateway 128 may register with an Internet Server Application Programming Interface (ISAPI) or other server to receive notifications in order to intercept and/or modify incoming and/or outgoing data payloads. The notifications received may correspond to various processing stages. The secure mobile gateway 128 may maintain context state to track the various processing stages of the request. Secure mobile gateway 128 may chunk and dechunk request and response data.
安全移动网关128可修改或以其他方式标记附件和/或对附件的引用。例如,安全移动网关128可将特定的后缀例如“.zendata”附加到加密附件的名称以预示它们应由企业代理320预先处理。作为另一例子,安全移动网关128可将特定的后缀例如“.zendata”附加到对附件的引用的名称以预示附件应在分发到移动设备120之前稍后被加密。可选地或除了将后缀附加到文件或链接以外,安全移动网关128还可调节头部属性(例如在MIME数据中)以识别出附件数据也被加密。安全移动网关128可对附件数据和/或附件密钥加密和/或解密。安全移动网关128可配置成发起与移动设备管理系统126的通信以得到设备特性、设备策略、公共设备密钥等或其任何组合。Secure mobile gateway 128 may modify or otherwise flag the attachment and/or references to the attachment. For example, the secure mobile gateway 128 may append a specific suffix, such as “.zendata,” to the names of encrypted attachments to indicate that they should be pre-processed by the enterprise agent 320 . As another example, the secure mobile gateway 128 may append a specific suffix, such as “.zendata,” to the name of the reference to the attachment to indicate that the attachment should be encrypted later before being distributed to the mobile device 120 . Alternatively or in addition to appending a suffix to the file or link, the secure mobile gateway 128 may also adjust header attributes (eg, in the MIME data) to recognize that the attachment data is also encrypted. Secure mobile gateway 128 may encrypt and/or decrypt attachment data and/or attachment keys. Secure mobile gateway 128 may be configured to initiate communications with mobile device management system 126 to obtain device characteristics, device policies, public device keys, etc., or any combination thereof.
移动设备120的设备代理例如操作系统和/或企业代理320(图3)可配置成向企业系统110注册移动设备120并操纵加密数据文件类型(例如“.zendata”、对附件数据解密并在解密的附件数据上调用适当的再现和/或处理。移动设备120的设备代理可配置成得到和/或管理私有设备密钥。A device agent for mobile device 120, such as an operating system and/or enterprise agent 320 (FIG. 3), may be configured to register mobile device 120 with enterprise system 110 and manipulate encrypted data file types (e.g., ". Appropriate rendering and/or processing is invoked on the attachment data of the mobile device 120. The device agent of the mobile device 120 may be configured to obtain and/or manage a private device key.
移动设备管理系统126可产生设备密钥。移动设备管理系统126可将设备密钥或其部分分配到移动设备120和/或安全移动网关128。适当的密钥可由安全移动网关128使用来对附件数据加密,且另一适当的密钥可由移动设备120使用来对加密附件数据解密。例如,移动设备120可从移动设备管理系统126接收私有设备密钥,且安全移动网关128可从移动设备管理系统126接收公共设备密钥。根据一些实施方式,安全移动网关128不需要包括特殊密钥管理和/或密钥归档。当附件被加密且相应的设备密钥随后被破坏、无效和/或代替时,加密附件可以是不可恢复的。The mobile device management system 126 can generate a device key. Mobile device management system 126 may distribute device keys, or portions thereof, to mobile devices 120 and/or secure mobile gateway 128 . A suitable key can be used by the secure mobile gateway 128 to encrypt the attachment data, and another suitable key can be used by the mobile device 120 to decrypt the encrypted attachment data. For example, mobile device 120 may receive a private device key from mobile device management system 126 and secure mobile gateway 128 may receive a public device key from mobile device management system 126 . According to some implementations, the secure mobile gateway 128 need not include special key management and/or key archiving. Encrypted attachments may be unrecoverable when the attachment is encrypted and the corresponding device key is subsequently destroyed, invalidated, and/or replaced.
涉及保护附件的多个不同的规则和/或策略可由企业系统110实现。例如,可基于接收附件数据的特定移动设备120的一个或多个特性来实现涉及保护附件的特征。在本例中,安装有特定的软件应用的某些移动设备120可默认地启用附件保护。作为另一例子,可基于接收附件数据的移动设备120的用户的一个或多个特性来启用和/或禁用保护附件。例如,可能接收具有敏感和/或机密信息的附件的企业的雇员例如主管人员和/或律师团的成员可默认地使附件被加密。相反,不可能接收具有敏感和/或机密数据的附件的雇员可默认地使附件保护被禁用。作为又一例子,可基于附件本身的一个或多个特性例如文件名、文件类型、包括在附件中的数据或其任何组合来保护附件。例如,可搜索附件以找到一个或多个关键字和短语,例如“机密的”、“私有的”、“律师-客户特许的”等,且如果这样的关键字或短语被找到,则附件可被加密。将认识到,规则和/或策略可允许企业基于移动设备特性、用户特性、附件特性、类似特性或其任何组合以灵活的方式配置与保护附件有关的特征。与保护附件有关的任何规则和/或策略可结合本文描述的任何其它规则、本文描述的规则包、本文描述的策略、类似规则或其任何组合来实现。A number of different rules and/or policies related to securing attachments may be implemented by enterprise system 110 . For example, features related to securing accessories may be implemented based on one or more characteristics of the particular mobile device 120 receiving the accessory data. In this example, certain mobile devices 120 that have certain software applications installed may have accessory protection enabled by default. As another example, protecting the accessory can be enabled and/or disabled based on one or more characteristics of the user of the mobile device 120 receiving the accessory data. For example, employees of a business, such as executives and/or members of the legal team, who may receive attachments with sensitive and/or confidential information may have the attachments encrypted by default. Conversely, employees who are unlikely to receive attachments with sensitive and/or confidential data may have attachment protection disabled by default. As yet another example, an attachment may be protected based on one or more characteristics of the attachment itself, such as a filename, file type, data included in the attachment, or any combination thereof. For example, attachments may be searched for one or more keywords and phrases such as "confidential," "proprietary," "attorney-client privileged," etc., and if such keywords or phrases are found, the attachment may be is encrypted. It will be appreciated that rules and/or policies may allow an enterprise to configure features related to securing accessories in a flexible manner based on mobile device characteristics, user characteristics, accessory characteristics, the like, or any combination thereof. Any rules and/or policies related to securing attachments may be implemented in conjunction with any other rules described herein, rule packages described herein, policies described herein, similar rules, or any combination thereof.
而且,与保护附件有关的这些规则和/或策略中的任一个可由本文描述的任何适当的计算机硬件实现。例如,安全移动网关128可配置成全局地启用和/或禁用与保护附件例如加密附件有关的特征。安全移动网关128可从移动设备管理系统126得到与保护附件有关的策略。移动设备管理系统126可配置成管理与保护附件有关的任何选择策略,例如哪些移动设备120接收加密附件和/或什么类型的附件被加密。Moreover, any of these rules and/or policies related to securing attachments may be implemented by any suitable computer hardware described herein. For example, secure mobile gateway 128 may be configured to globally enable and/or disable features related to securing attachments, such as encrypted attachments. Secure mobile gateway 128 may obtain policies related to securing accessories from mobile device management system 126 . Mobile device management system 126 may be configured to manage any selection policies related to securing attachments, such as which mobile devices 120 receive encrypted attachments and/or what types of attachments are encrypted.
在一般使用情况情形中,移动设备120可根据ActiveSync协议从企业电子邮件服务器例如Exchange服务器接收具有附件的电子邮件。移动设备120可取回加密电子邮件附件,使得保存在移动设备120上的附件数据使用设备特定密钥被保护。根据某些实施方式,可以只使用在移动设备120上运行的企业代理320来对所保存的附件数据解密。例如,企业代理320可控制并管理用于对附件数据解密的设备特定密钥。移动设备管理系统126可选择并指定对于其附件将被加密的移动设备120和/或用户。例如,可基于一个或多个移动设备管理系统126策略和/或一个或多个安全移动网关128策略来排除所选择的移动设备120接收加密附件。In a typical use case scenario, mobile device 120 may receive email with attachments from a corporate email server, such as an Exchange server, according to the ActiveSync protocol. The mobile device 120 can retrieve encrypted email attachments such that the attachment data stored on the mobile device 120 is protected using a device-specific key. According to some implementations, only the enterprise agent 320 running on the mobile device 120 may be used to decrypt the saved attachment data. For example, enterprise agent 320 may control and manage device-specific keys used to decrypt attachment data. The mobile device management system 126 can select and designate the mobile devices 120 and/or users for which attachments are to be encrypted. For example, selected mobile devices 120 may be excluded from receiving encrypted attachments based on one or more mobile device management system 126 policies and/or one or more secure mobile gateway 128 policies.
从移动设备120转发和/或发送的加密附件可在被分发到新接收者之前由安全移动网关128解密。作为结果,在企业内的新接收者可基于它的策略来接收附件。当新接收者是具有企业代理320的移动设备120时,附件数据可为那个特定的接收者移动设备120被重新加密。当新接收者是未管理的邮件客户时,附件数据可被未加密地分发。Encrypted attachments forwarded and/or sent from mobile device 120 may be decrypted by secure mobile gateway 128 before being distributed to a new recipient. As a result, new recipients within the enterprise can receive attachments based on its policies. When the new recipient is a mobile device 120 with an enterprise proxy 320, the attachment data may be re-encrypted for that particular recipient mobile device 120. When the new recipient is an unmanaged mail client, the attachment data can be distributed unencrypted.
将参考图31描述涉及与经由安全移动网关128将具有附件的电子邮件从企业资源130分发到移动设备120有关的示例通信和事件。然后,将参考图32或33描述与通过安全移动网关128或企业资源130从移动设备120转发和/或发送电子邮件有关的示例通信和事件。Example communications and events involved in distributing email with attachments from enterprise resource 130 to mobile device 120 via secure mobile gateway 128 will be described with reference to FIG. 31 . Example communications and events related to forwarding and/or sending email from mobile device 120 through secure mobile gateway 128 or enterprise resource 130 will then be described with reference to FIGS. 32 or 33 .
图31示出一个过程的例子,具有加密附件的电子邮件可通过该过程分发到移动设备120。在这个过程中,安全移动网关128识别被分发到移动设备120的电子邮件的附件。安全移动网关128可在将附件传输到移动设备120之前对附件数据加密。当电子邮件消息被发送到移动设备120之前或响应于移动设备120的用户试图打开附件,附件数据可被加密并发送到移动设备120。安全移动网关128也可对与加密附件数据相关的附件密钥加密。在图31的事件A中,移动设备120例如通过ActiveSync协议将同步请求传输到安全移动网关128。然后安全移动网关128在事件B中将同步请求传输到企业资源130。企业资源130可以例如是企业电子邮件服务器,例如Microsoft Exchange服务器。在事件C中,企业资源130将同步响应发送到安全移动网关128。同步响应可包括将被分发到移动设备120的电子邮件消息。FIG. 31 shows an example of a process by which emails with encrypted attachments may be distributed to mobile devices 120. During this process, the secure mobile gateway 128 identifies attachments to emails that are distributed to the mobile device 120 . Secure mobile gateway 128 may encrypt the attachment data prior to transmitting the attachment to mobile device 120 . Attachment data may be encrypted and sent to mobile device 120 before the email message is sent to mobile device 120 or in response to a user of mobile device 120 attempting to open the attachment. The secure mobile gateway 128 may also encrypt the attachment key associated with the encrypted attachment data. In event A of FIG. 31 , the mobile device 120 transmits a synchronization request to the secure mobile gateway 128, eg, via the ActiveSync protocol. Secure mobile gateway 128 then transmits a synchronization request to enterprise resource 130 in event B. Enterprise resource 130 may be, for example, an enterprise email server, such as a Microsoft Exchange server. In event C, enterprise resource 130 sends a synchronization response to secure mobile gateway 128 . The synchronization response may include an email message to be distributed to the mobile device 120 .
在图31的事件D中,安全移动网关128处理被发送到移动设备120的电子邮件消息。这样的处理可包括确定电子邮件消息是否包括附件。例如,当企业电子邮件服务器在事件C中发送包括电子邮件消息的响应时,安全移动网关128可解析响应并程序化地识别附件。例如,可从WBXML消息中的名称和服务器引用识别附件。作为另一例子,可通过在MIME消息中内联来识别附件。安全移动网关128可以用可检测的方式标记和/或修改附件。例如,安全移动网关128可将附件重命名。在一个实施方式中,后缀可附加到附件文件的名称。例如,具有“Foo.xyz”的原始名称可被重命名为“Foo.xyz.zendata”。In event D of FIG. 31 , secure mobile gateway 128 processes an email message sent to mobile device 120 . Such processing may include determining whether the email message includes an attachment. For example, when an enterprise email server sends a response including an email message in event C, secure mobile gateway 128 may parse the response and programmatically identify attachments. For example, attachments can be identified from the name and server reference in the WBXML message. As another example, attachments can be identified by being inline in the MIME message. Secure mobile gateway 128 may mark and/or modify attachments in a detectable manner. For example, secure mobile gateway 128 may rename the attachment. In one embodiment, a suffix can be appended to the name of the attachment file. For example, an original name with "Foo.xyz" could be renamed to "Foo.xyz.zendata".
当附件例如在MIME消息中被内联或以其他方式以实质上完整的形式的电子邮件包括在一起时,附件也可在图31的事件D中被加密。任何适当的附件例如文档(例如Word文档、PDF文档等)可被加密。安全移动网关128也可对与附件相关的附件密钥加密。附件密钥可由安全移动网关128产生和/或由安全移动网关128例如从移动设备管理系统126接收,如参考图34更详细讨论的。加密附件密钥可与加密附件文件一起包括在新附件文件中。Attachments may also be encrypted in event D of FIG. 31 when the attachment is included inline or otherwise included with the email in substantially complete form, such as in a MIME message. Any suitable attachments such as documents (eg Word documents, PDF documents, etc.) may be encrypted. The secure mobile gateway 128 may also encrypt the accessory key associated with the accessory. The accessory key may be generated by the secure mobile gateway 128 and/or received by the secure mobile gateway 128, eg, from the mobile device management system 126, as discussed in more detail with reference to FIG. 34 . An encrypted attachment key can be included in a new attachment file along with the encrypted attachment file.
来自企业电子邮件服务器的同步响应和/或如安全移动网关128所修改的另一企业响应130在图31的事件E中分发到移动设备120。在一些情况下,这可给移动设备120提供加密附件数据。例如,可将具有嵌入的加密附件的MIME消息提供到移动设备120。对于一些其它类型的消息,可向移动设备120提供具有可与随后的请求一起用于取回附件的重命名的附件引用的电子邮件。The synchronization response from the enterprise email server and/or another enterprise response 130 as modified by the secure mobile gateway 128 is distributed to the mobile device 120 in event E of FIG. 31 . In some cases, this may provide mobile device 120 with encrypted attachment data. For example, a MIME message with an embedded encrypted attachment can be provided to mobile device 120 . For some other types of messages, the mobile device 120 may be provided an email with a renamed attachment reference that may be used with a subsequent request to retrieve the attachment.
对于具有附件引用的电子邮件例如WBXML电子邮件,取回附件的请求可在图31的事件F中从移动设备120发送。然后在事件G中,安全移动网关128可检测到附件引用已被标记和/或修改。例如,安全移动网关128可程序化地识别该附件引用包括以前由安全移动网关128添加的特定后缀,例如在上面提供的例子中的“zendata”。安全移动网关128可接着将附件引用解除映射,使得企业电子邮件服务器和/或另一企业资源130可处理请求以提供附件。在一些实施方式中,这可涉及URL重写。在事件H中,安全移动网关128向企业电子邮件服务器和/或另一企业资源130请求附件。然后企业电子邮件服务器在事件I中将附件分发到安全移动网关128。安全移动网关在事件J中将附件加密。安全移动网关128也可将与附件相关的附件密钥加密。加密附件密钥可与加密附件数据一起包括在文件中和/或被单独地提供到移动设备120。然后在事件K中,安全移动网关128将加密附件数据分发到移动设备128。For emails with attachment references, such as WBXML emails, a request to retrieve the attachment may be sent from the mobile device 120 in event F of FIG. 31 . Then in event G, the secure mobile gateway 128 can detect that the attachment reference has been flagged and/or modified. For example, secure mobile gateway 128 may programmatically recognize that the attachment reference includes a particular suffix previously added by secure mobile gateway 128, such as "zendata" in the example provided above. The secure mobile gateway 128 can then unmap the attachment reference so that the enterprise email server and/or another enterprise resource 130 can process the request to provide the attachment. In some implementations, this may involve URL rewriting. In event H, the secure mobile gateway 128 requests the attachment from the enterprise email server and/or another enterprise resource 130 . The corporate email server then distributes the attachment to the secure mobile gateway 128 in event 1. The secure mobile gateway encrypts the attachment in event J. The secure mobile gateway 128 may also encrypt the attachment key associated with the attachment. The encrypted attachment key can be included in the file with the encrypted attachment data and/or provided separately to the mobile device 120 . Then in event K, the secure mobile gateway 128 distributes the encrypted attachment data to the mobile device 128 .
存储在移动设备120上的电子邮件消息和相关附件能够从移动设备120转发到新接收者。图32和33示出从移动设备120转发电子邮件消息的过程的例子。在图32所示的例子中,安全移动网关128在传输将具有附件的电子邮件消息从移动设备120转发到企业资源130的请求时可以起通道的作用。图32所示的过程可在下列情况中实现:具有附件的电子邮件存储在企业电子邮件服务器上或企业电子邮件服务器以其他方式能够访问附件数据。例如,移动设备120可将识别附件的信息例如引用经由安全移动网关128发送到企业电子邮件服务器。在一些实施方式中,图32的过程可被实现有智能转发特征,其中标记被插入具有附件的所转发的电子邮件消息中。企业资源130(例如Exchange服务器或其它企业电子邮件服务器)可将附件插入由智能转发特征发送到接收者的所转发的电子邮件消息中。以这种方式,移动设备120可转发电子邮件,而不将整个电子邮件消息和附件下载到移动设备120。Email messages and associated attachments stored on mobile device 120 can be forwarded from mobile device 120 to new recipients. 32 and 33 illustrate an example of a process for forwarding an email message from a mobile device 120 . In the example shown in FIG. 32 , secure mobile gateway 128 may act as a conduit in transmitting a request to forward an email message with an attachment from mobile device 120 to enterprise resource 130 . The process shown in Figure 32 can be implemented in situations where the email with the attachment is stored on the corporate email server or the corporate email server is otherwise able to access the attachment data. For example, mobile device 120 may send information identifying the attachment, such as a reference, via secure mobile gateway 128 to an enterprise email server. In some implementations, the process of FIG. 32 can be implemented with a smart forwarding feature in which a tag is inserted into forwarded email messages with attachments. Enterprise resource 130, such as an Exchange server or other enterprise email server, may insert attachments into forwarded email messages sent to recipients by the smart forwarding feature. In this manner, the mobile device 120 can forward the email without downloading the entire email message and attachments to the mobile device 120 .
在图32的事件A中,移动设备120向安全移动网关128发送转发包括对附件的引用的电子邮件消息的请求。然后安全移动网关128在事件B中将电子邮件消息简单地传递到企业资源130。企业电子邮件服务器可接着使用引用来识别存储在企业电子邮件服务器上的附件。当接收者是与企业相关的移动设备120时,电子邮件和附件可接着经由图31所示的过程被发送到接收者。在事件C中,企业资源130对安全移动网关128做出响应以确认消息已被发送。安全移动网关128在事件D中将响应传递到移动设备120。In event A of FIG. 32, mobile device 120 sends secure mobile gateway 128 a request to forward the email message including the reference to the attachment. Secure mobile gateway 128 then simply passes the email message to enterprise resource 130 in event B. The corporate email server can then use the reference to identify the attachment stored on the corporate email server. When the recipient is a mobile device 120 associated with an enterprise, the email and attachment may then be sent to the recipient via the process shown in FIG. 31 . In event C, enterprise resource 130 responds to secure mobile gateway 128 to confirm that the message was sent. Secure mobile gateway 128 passes the response to mobile device 120 in event D.
在图33所示的例子中,当将转发具有附件的电子邮件消息的请求从移动设备120发送到企业资源130例如企业电子邮件服务器时,安全移动网关128对来自移动设备120的加密附件数据解密。图33所示的过程可在下列情况中实现:具有附件的电子邮件消息从移动设备120被传输。这样的过程可例如在移动设备120上实现,其中不支持(例如不支持智能转发的移动设备120)和/或禁用图32所示的过程。In the example shown in FIG. 33 , when a request to forward an email message with an attachment is sent from mobile device 120 to enterprise resource 130, such as an enterprise email server, secure mobile gateway 128 decrypts the encrypted attachment data from mobile device 120 . The process shown in FIG. 33 may be implemented when an email message with an attachment is transmitted from the mobile device 120 . Such a process may be implemented, for example, on a mobile device 120 where the process shown in FIG. 32 is not supported (eg, a mobile device 120 that does not support smart forwarding) and/or disabled.
在图33的事件A中,移动设备120将转发具有附件的电子邮件消息的请求发送到安全移动网关128。请求可包括加密的附件数据。安全移动网关128在事件B中检测以前加密的附件并对加密附件数据解密。例如,安全移动网关128可程序化地识别被标记和/或修改以指示它们被加密的附件,例如在上面提供的例子中有后缀“.zendata”。将参考图35描述可在事件B中执行的关于一些示例解密方法的更多细节。在事件C中,转发包括解密的附件数据的电子邮件消息的请求被传输到企业资源130。企业资源130在事件D中对安全移动网关128做出响应以确认消息已被发送。安全移动网关128在事件E中将响应传递到移动设备120。In event A of FIG. 33 , mobile device 120 sends a request to secure mobile gateway 128 to forward the email message with an attachment. Requests can include encrypted attachment data. Secure mobile gateway 128 in event B detects a previously encrypted attachment and decrypts the encrypted attachment data. For example, the secure mobile gateway 128 may programmatically identify attachments that are marked and/or modified to indicate that they are encrypted, such as with the suffix ".zendata" in the example provided above. More details on some example decryption methods that may be performed in Event B will be described with reference to FIG. 35 . In event C, a request to forward the email message including the decrypted attachment data is transmitted to enterprise resource 130 . Enterprise resource 130 responds to secure mobile gateway 128 in event D to confirm that the message was sent. The secure mobile gateway 128 passes the response to the mobile device 120 in event E.
为了对电子邮件消息加密,各种密钥可产生、被分发到其它设备、被加密、用于对加密附件数据解密、类似操作或其任何组合。虽然为了例证性目的可在本文关于执行特定的功能的某些计算设备描述电子邮件附件的加密,将理解,与对本文描述的附件加密和/或解密有关的任何特征可由任何适当的计算设备执行。例如,与被描述为由安全移动网关128和/或移动设备管理系统126执行的加密/解密有关的一些功能或其子组合可由移动设备120执行。作为另一例子,与被描述为由安全移动网关128和/或移动设备管理系统126执行的加密/解密有关的一些功能或其子组合可以可选地或此外由这两个计算系统中的另一个执行。To encrypt email messages, various keys may be generated, distributed to other devices, encrypted, used to decrypt encrypted attachment data, the like, or any combination thereof. While encryption of email attachments may be described herein with respect to certain computing devices performing specific functions for illustrative purposes, it will be understood that any features related to encrypting and/or decrypting attachments described herein may be performed by any suitable computing device . For example, some of the functions described as related to encryption/decryption performed by the secure mobile gateway 128 and/or the mobile device management system 126 , or a subcombination thereof, may be performed by the mobile device 120 . As another example, some of the functions described as being performed by the secure mobile gateway 128 and/or the mobile device management system 126 related to encryption/decryption, or a subcombination thereof, may alternatively or additionally be performed by the other of the two computing systems. one executes.
在某些实施方式中,安全移动网关128可产生与附件有关的密钥,且移动设备管理系统126可产生选定移动设备120的密钥。例如,安全移动网关128可产生对称安全移动网关密钥Smgkey并将这个密钥存储在适当的数据存储库中。例如当安全移动网关128被安装时和/或当软件安装在其上时,可产生对称安全移动网关密钥Smgkey。根据一些实施方式,移动设备管理系统126可产生与选定移动设备120相关的非对称密钥DeviceKey。可选地或此外,移动设备管理系统126可产生与一组移动设备120、企业的用户或类似物或其任何组合相关的非对称密钥。可代替非对称密钥DeviceKey或结合非对称密钥DeviceKey来使用这样的非对称密钥。移动设备管理系统126可将非对称密钥DeviceKey的私有密钥DeviceKeyPr分配到选定移动设备120。移动设备管理系统126可将非对称密钥DeviceKey的公共密钥DeviceKeyPb分配到安全移动网关128。In certain implementations, the secure mobile gateway 128 can generate keys associated with the attachment, and the mobile device management system 126 can generate keys for selected mobile devices 120 . For example, secure mobile gateway 128 may generate a symmetric secure mobile gateway key Smgkey and store this key in an appropriate data store. A symmetric secure mobile gateway key Smgkey may be generated, for example, when the secure mobile gateway 128 is installed and/or when software is installed thereon. According to some implementations, the mobile device management system 126 may generate an asymmetric key DeviceKey associated with the selected mobile device 120 . Alternatively or in addition, mobile device management system 126 may generate an asymmetric key associated with a group of mobile devices 120, users of an enterprise, or the like, or any combination thereof. Such an asymmetric key may be used instead of or in combination with the asymmetric key DeviceKey. The mobile device management system 126 may distribute the private key DeviceKeyPr of the asymmetric key DeviceKey to the selected mobile device 120 . The mobile device management system 126 may distribute the public key DeviceKeyPb of the asymmetric key DeviceKey to the secure mobile gateway 128 .
图34是示出对附件加密的方法的实施方式的流程图。可例如在图31的事件D中和/或事件J中执行图34所示的一些或所有方法。在块3410,产生附件密钥AttachmentKey。附件密钥AttachmentKey可以是对称密钥。附件密钥AttachmentKey可由安全移动网关128产生。Figure 34 is a flowchart illustrating an embodiment of a method of encrypting an attachment. Some or all of the methods shown in FIG. 34 may be performed, for example, in event D and/or event J of FIG. 31 . At block 3410, an attachment key AttachmentKey is generated. The attachment key AttachmentKey may be a symmetric key. The attachment key AttachmentKey may be generated by the secure mobile gateway 128 .
附件密钥AttachmentKey在块3420被加密。例如,安全移动网关128可使用安全移动网关密钥Smgkey对附件密钥AttachmentKey加密。这为安全移动网关128产生加密安全移动网关附件密钥EncyptedSmgAttachmentKey,其可例如由安全移动网关128使用来对加密附件数据解密,如关于图35描述的。此外,安全移动网关128可使用公共密钥DeviceKeyPb对附件密钥AttachmentKey加密。这为移动设备120产生加密设备附件密钥EncryptedDeviceAttachmentKey,其可例如由移动设备120使用来对加密附件数据解密,如关于图35描述的。The attachment key AttachmentKey is encrypted at block 3420 . For example, the secure mobile gateway 128 may encrypt the attachment key AttachmentKey using the secure mobile gateway key Smgkey. This produces an encrypted secure mobile gateway attachment key EncyptedSmgAttachmentKey for the secure mobile gateway 128, which may be used, for example, by the secure mobile gateway 128 to decrypt the encrypted attachment data, as described with respect to FIG. 35 . Additionally, the secure mobile gateway 128 may encrypt the attachment key AttachmentKey using the public key DeviceKeyPb. This results in an encrypted device attachment key, EncryptedDeviceAttachmentKey, for mobile device 120, which may be used, for example, by mobile device 120 to decrypt encrypted attachment data, as described with respect to FIG. 35 .
在块3430,使用附件密钥AttachmentKey来对附件数据加密以产生加密附件数据。安全移动网关128在块3440用加密附件数据代替以前的附件数据。加密附件密钥EncyptedSmgAttachmentKey和EncryptedDeviceAttachmentKey也可与加密附件数据包括在一起。例如,安全移动网关128可用加密附件数据、加密安全移动网关附件密钥EncyptedSmgAttachmentKey和加密设备附件密钥EncryptedDeviceAttachmentKey代替附件数据。At block 3430, the attachment data is encrypted using the attachment key AttachmentKey to generate encrypted attachment data. The secure mobile gateway 128 replaces the previous attachment data with the encrypted attachment data at block 3440. The encrypted attachment keys EncyptedSmgAttachmentKey and EncryptedDeviceAttachmentKey may also be included with the encrypted attachment data. For example, the secure mobile gateway 128 may replace the attachment data with encrypted attachment data, an encrypted secure mobile gateway attachment key EncyptedSmgAttachmentKey, and an encrypted device attachment key EncryptedDeviceAttachmentKey.
加密附件数据可被解密,以便访问附件数据。在某些实施方式中,当访问在移动设备120上的加密附件数据时,用户可被提示以登录或以其他方式提供访问证书。为了维持加密附件数据的保护,与附件数据相关的加密的密钥可被提供到特定的计算设备。例如,如关于图34的块3420讨论的,安全移动网关128可对附件密钥AttachmentKey加密,特别用于与选定移动设备120和/或安全移动网关128一起使用。图35是示出对附件解密的方法的实施方式的流程图。当存储在移动设备上的加密附件数据由在移动设备120上的应用和/或在图33的事件B中被访问时,图34所示的一些或所有方法步骤可例如由移动设备120或安全移动网关128执行。Encrypted attachment data can be decrypted in order to access the attachment data. In some implementations, when accessing encrypted attachment data on the mobile device 120, the user may be prompted to log in or otherwise provide access credentials. To maintain protection of encrypted attachment data, an encrypted key associated with the attachment data may be provided to a particular computing device. For example, as discussed with respect to block 3420 of FIG. 34 , the secure mobile gateway 128 may encrypt an attachment key, AttachmentKey, specifically for use with the selected mobile device 120 and/or the secure mobile gateway 128 . Figure 35 is a flowchart illustrating an embodiment of a method of decrypting an attachment. When encrypted attachment data stored on the mobile device is accessed by an application on the mobile device 120 and/or in event B of FIG. 33, some or all of the method steps shown in FIG. The mobile gateway 128 performs.
在块3510,计算设备接收加密附件。在某些实施方式中,计算设备也可连同加密附件数据接收加密附件密钥。根据这些实施方式中的一些,加密附件数据和加密附件密钥都可包括在同一文件中。加密附件密钥在块3520被解密。然后在块3530,使用附件密钥来对附件数据解密。At block 3510, the computing device receives the encrypted attachment. In some implementations, the computing device may also receive an encrypted attachment key along with the encrypted attachment data. According to some of these implementations, both the encrypted attachment data and the encrypted attachment key may be included in the same file. The encrypted attachment key is decrypted at block 3520. Then at block 3530, the attachment data is decrypted using the attachment key.
图35所示的方法可例如由在移动设备120上的企业代理320执行。根据图31所示的过程,这可包括移动设备120接收例如加密附件和加密附件密钥。移动设备120的企业代理320可使用私有设备密钥DeviceKeyPr对加密设备附件密钥EncryptedDeviceAttachmentKey解密。解密的设备附件密钥可以是附件密钥AttachmentKey。使用附件密钥AttachmentKey,移动设备120的企业代理320可对加密附件数据解密。这可给移动设备120提供由企业资源130发送到移动设备120例如企业电子邮件服务器的原始附件数据。这样的数据可例如是明文数据。The method shown in FIG. 35 may be performed by an enterprise agent 320 on a mobile device 120, for example. According to the process shown in FIG. 31, this may include mobile device 120 receiving, for example, an encrypted attachment and an encrypted attachment key. The enterprise agent 320 of the mobile device 120 can decrypt the encrypted device attachment key EncryptedDeviceAttachmentKey using the private device key DeviceKeyPr. The decrypted device attachment key may be the attachment key AttachmentKey. Using the attachment key AttachmentKey, the enterprise agent 320 of the mobile device 120 can decrypt the encrypted attachment data. This may provide mobile device 120 with raw attachment data sent by enterprise resource 130 to mobile device 120, such as an enterprise email server. Such data may eg be plaintext data.
图35所示的方法可例如在安全移动网关128上被执行。这可包括例如当移动设备120转发具有加密附件的电子邮件消息时安全移动网关128接收加密附件。安全移动网关128可使用安全移动网关密钥Smgkey对加密安全移动网关附件密钥EncryptedSmgAttachmentKey解密。解密的设备附件密钥可以是附件密钥AttachmentKey。使用附件密钥AttachmentKey,安全移动网关128可对加密附件数据解密。这可给安全移动网关128提供由企业资源130例如企业电子邮件服务器以前发送到移动设备120的原始附件数据。安全移动网关128可接着将附件数据转发到企业资源130。The method shown in FIG. 35 may be performed on the secure mobile gateway 128, for example. This may include, for example, secure mobile gateway 128 receiving an encrypted attachment when mobile device 120 forwards an email message with an encrypted attachment. The secure mobile gateway 128 may decrypt the encrypted secure mobile gateway attachment key EncryptedSmgAttachmentKey using the secure mobile gateway key Smgkey. The decrypted device attachment key may be the attachment key AttachmentKey. Using the attachment key AttachmentKey, the secure mobile gateway 128 can decrypt the encrypted attachment data. This may provide secure mobile gateway 128 with raw attachment data previously sent to mobile device 120 by enterprise resource 130, such as an enterprise email server. Secure mobile gateway 128 may then forward the attachment data to enterprise resource 130 .
为了支持公共设备密钥例如公共设备密钥DeviceKeyPb的分配和/或更新,可提供web服务接口或其它适当的接口。接口可使用户能够规定设备/密钥对和/或用户/密钥对。接口可使用户例如IT员工成员或企业网络管理员能够通过例如添加新对、替换现有的对、移除对、类似操作或其任何组合来更新密钥对。接口可使用户能够将移动设备120映射到一组特性(例如名称/值对)。这样的特性可包括附件公共密钥、阻止附件、阻止选定附件类型、阻止联系人同步、阻止日历同步、客户证书ID、本文描述的任何其它特性、类似特性或其任何组合。To support distribution and/or updating of public device keys, such as public device key DeviceKeyPb, a web service interface or other suitable interface may be provided. The interface may enable a user to specify device/key pairs and/or user/key pairs. The interface may enable a user, such as a member of the IT staff or an enterprise network administrator, to update a key pair by, for example, adding a new pair, replacing an existing pair, removing a pair, the like, or any combination thereof. The interface may enable a user to map mobile device 120 to a set of properties (eg, name/value pairs). Such properties may include attachment public key, block attachments, block selected attachment types, block contacts sync, block calendar sync, client certificate ID, any other properties described herein, similar properties, or any combination thereof.
应用隧道application tunnel
参考图1A-3,隧道中介例如移动设备管理系统126的隧道中介224可配置成接收由安装在移动设备120上的软件应用318产生的、对访问企业资源130(特别是包括软件应用的企业资源130)的访问请求,并产生在设备应用318和企业资源130之间的应用隧道。应用隧道是一种技术,其中一个网络协议(例如分发协议)封装不同的网络协议。通过使用隧道,可能例如提供穿过不可信网络的安全路径。Referring to FIGS. 1A-3 , a tunnel intermediary, such as tunnel intermediary 224 of mobile device management system 126, may be configured to receive requests for access to enterprise resources 130 (in particular, including software applications) generated by software applications 318 installed on mobile devices 120. 130) and create an application tunnel between the device application 318 and the enterprise resource 130. Application tunneling is a technique in which one network protocol (such as a distribution protocol) encapsulates a different network protocol. By using tunnels it is possible, for example, to provide a secure path through an untrusted network.
使用用于在移动设备应用318和企业资源130之间的通信的应用隧道的一个益处是,它可能限制移动设备对那些企业资源130的访问,移动设备120的用户115需要那些企业资源130来用于履行他或她的企业角色206。使用应用隧道的另一潜在优点是,可为预先存在的应用在应用级处提供访问控制。在优选实施方式中,在OSI模型中的应用层处规定应用隧道。这与虚拟专用网(VPN)——广泛用于提供远程办公室或个人用户对其组织的网络的安全访问的一种方法——相反。VPN在开放系统互连(OSI)模型的网络层(或更低)处操作,并通常给用户提供对在企业的计算机网络内的所有资源的完全访问。使用VPN连接的明显问题是,不存在用于通过移动应用(和可能包含恶意软件的移动应用)限制对VPN连接的访问的适当机制。相反,如下所述,每个应用隧道可能对单个相应的移动应用是排他的(只可用于由单个相应的移动应用使用)。通过限制只对特定用户115所需的企业资源130的访问,应用隧道的使用可促进企业网络安全性。One benefit of using an application tunnel for communication between a mobile device application 318 and an enterprise resource 130 is that it may limit the mobile device's access to those enterprise resources 130 that the user 115 of the mobile device 120 needs to use to fulfill his or her corporate role 206. Another potential advantage of using application tunneling is that access control can be provided at the application level for pre-existing applications. In a preferred embodiment, application tunneling is specified at the application layer in the OSI model. This is in contrast to virtual private networks (VPNs), a method widely used to provide remote offices or individual users with secure access to their organization's network. VPNs operate at the network layer (or lower) of the Open Systems Interconnection (OSI) model and typically provide users with full access to all resources within an enterprise's computer network. The obvious problem with using a VPN connection is that there is no adequate mechanism for restricting access to the VPN connection via mobile apps (and mobile apps that may contain malware). Instead, each application tunnel may be exclusive to (only available for use by) a single corresponding mobile application, as described below. The use of application tunneling can promote enterprise network security by restricting access to only those enterprise resources 130 required by specific users 115 .
如下面更详细解释的,使用用于在移动设备120和企业系统110之间的通信的应用隧道的额外益处是,它允许企业提高用户的连接体验(例如通过在网络连接失去的情况下缓存数据)、记录数据流并实现其它特征。As explained in more detail below, an additional benefit of using an application tunnel for communications between the mobile device 120 and the enterprise system 110 is that it allows the enterprise to improve the user's connection experience (e.g., by caching data in the event of a network connection loss). ), record data flow, and implement other features.
为了实现应用隧道,可提供隧道中介,隧道式通信可通过该隧道中介来流动。隧道中介是接收根据封装协议格式化的移动设备应用通信、使用协议从通信“取出”或提取数据并将取出或提取的数据发送到由移动设备应用请求或规定的网络资源的部件。隧道中介对于经由隧道中介由网络资源发送到移动设备应用的通信也实质上相同。隧道中介可包括安装在服务器上的软件应用。隧道中介可位于企业系统110(例如移动设备管理系统126的隧道中介224)内,或可选地在企业系统110之外(例如在如图1B中的云计算环境156中)。To implement application tunneling, a tunnel intermediary may be provided through which tunneled communications may flow. A tunnel intermediary is a component that receives mobile device application communications formatted according to an encapsulation protocol, "fetches" or extracts data from the communications using the protocol, and sends the fetched or extracted data to network resources requested or specified by the mobile device application. The tunnel intermediary is also substantially the same for communications sent by the network resource to the mobile device application via the tunnel intermediary. A tunnel intermediary may include a software application installed on a server. The tunnel intermediary may reside within enterprise system 110 (eg, tunnel intermediary 224 of mobile device management system 126 ), or alternatively external to enterprise system 110 (eg, in cloud computing environment 156 as in FIG. 1B ).
根据下面描述的方法,隧道中介或企业代理320可使用隧道定义来构造应用隧道。图2所示的移动设备管理系统126包括隧道定义的仓库228。隧道定义可包括实现在移动设备应用318和远程资源(例如企业资源130)之间的应用隧道的信息。隧道定义可以是特定应用318或其类型特有的。类似地,隧道定义可以是特定远程资源或其类型特有的。隧道定义可识别移动设备120的特定端口或/或远程资源被安装于的计算机服务器的URL或特定端口。因此,隧道定义可包括应用或服务器端口和将这样的端口映射到客户端端口以规定应用隧道的端点的信息。隧道定义还可包括隧道中介的URL,其可以是有用的,特别是在涉及多个隧道中介的实现中。多个应用隧道可映射到移动设备120的特定端口和/或远程资源被安装于的计算机服务器的URL或特定端口,且多个应用隧道可被复用,使得移动设备120的单个端口和/或远程资源被安装于的计算机服务器的URL或特定端口用于实现多个应用隧道。移动设备管理系统126可配置成将隧道定义228的至少部分发送(例如推送)到移动设备120。例如,隧道定义可与下面描述的“规则包”一起被发送。企业代理320可配置成将隧道定义在本地存储在移动设备120上,并使用隧道定义来产生应用隧道信息请求,如下所述。Tunnel broker or enterprise proxy 320 may use the tunnel definition to construct an application tunnel according to the methods described below. The mobile device management system 126 shown in FIG. 2 includes a repository 228 of tunnel definitions. A tunnel definition may include information to implement an application tunnel between mobile device application 318 and a remote resource (eg, enterprise resource 130). Tunnel definitions may be specific to a particular application 318 or type thereof. Similarly, tunnel definitions can be specific to a particular remote resource or type. A tunnel definition may identify a specific port of the mobile device 120 or/or a URL or a specific port of a computer server where the remote resource is installed. Thus, a tunnel definition may include application or server ports and information that maps such ports to client ports to specify the endpoints of the application tunnel. The tunnel definition may also include the URL of the tunnel broker, which may be useful, especially in implementations involving multiple tunnel brokers. Multiple application tunnels can be mapped to a specific port of the mobile device 120 and/or a URL or a specific port of a computer server where the remote resource is installed, and multiple application tunnels can be multiplexed such that a single port of the mobile device 120 and/or a specific port The URL or specific port of the computer server where the remote resource is installed is used to implement multiple application tunnels. Mobile device management system 126 may be configured to send (eg, push) at least a portion of tunnel definition 228 to mobile device 120 . For example, a tunnel definition may be sent with a "rules packet" described below. Enterprise agent 320 may be configured to store tunnel definitions locally on mobile device 120 and use the tunnel definitions to generate application tunnel information requests, as described below.
隧道中介或相关系统可包括用于观看、创建并编辑隧道定义的接口,例如web控制台。接口也可允许管理员或其他人观看与适合于经由应用隧道连接的移动设备120相关的数据。可从移动设备信息204(图2)的仓库得到至少一些数据。A tunnel broker or related system may include an interface, such as a web console, for viewing, creating and editing tunnel definitions. The interface may also allow an administrator or others to view data related to mobile devices 120 suitable for connection via the application tunnel. At least some of the data may be obtained from a repository of mobile device information 204 (FIG. 2).
很多移动设备软件应用318能够发出网络通信(也被称为“应用产生的通信”),包括对访问企业资源130并与企业资源130通信的请求。企业代理320可配置成拦截和/或接收这些通信,并将与它们中的至少一些重定向到与一个或多个隧道中介例如中介224相关的URL。隧道中介可将应用产生的通信重定向到所请求的企业资源130,从企业资源130接收应答通信,并将应答通信转发回到移动设备120。有利地,隧道中介可通过应用访问策略218以允许或拒绝访问并将访问限制到仅仅所请求的企业资源130来添加一层企业安全。Many mobile device software applications 318 are capable of issuing network communications (also referred to as “application-generated communications”), including requests to access and communicate with enterprise resources 130 . Enterprise proxy 320 may be configured to intercept and/or receive these communications and redirect at least some of them to a URL associated with one or more tunneling intermediaries, such as intermediary 224 . The tunnel intermediary can redirect application-generated communications to the requested enterprise resource 130 , receive reply communications from the enterprise resource 130 , and forward the reply communications back to the mobile device 120 . Advantageously, the tunnel intermediary can add a layer of enterprise security by applying access policies 218 to allow or deny access and restrict access to only requested enterprise resources 130 .
在一个实施方式中,当拦截和/或接收到应用产生的通信用于访问企业资源130(或另一资源)时,企业代理320搜索存储在本地存储器中的应用隧道定义以取回与生成应用产生的通信的软件应用318相关和/或与所请求的企业资源130(或其它资源)相关的隧道定义。企业代理320产生识别所取回的隧道定义的应用隧道形成请求,并将应用产生的通信的至少一部分封装在封装协议的一个或多个头部内。已封装应用产生的通信在本文也被称为“代理产生的通信”。企业代理320将应用隧道形成请求和已封装应用产生的通信(其可一起构成单个通信)发送到隧道中介224(例如经由图1A和1C的连接142和144或经由图1B的连接142和160)或在隧道定义中定义的另一这样的中介。技术人员将认识到,所定义的隧道中介可以是与代理320和企业系统110相关的多个隧道中介之一。In one embodiment, when intercepting and/or receiving an application-generated communication for accessing enterprise resource 130 (or another resource), enterprise agent 320 searches the application tunnel definition stored in local memory to retrieve and generate application A tunnel definition associated with the software application 318 of the resulting communication and/or associated with the requested enterprise resource 130 (or other resource). Enterprise agent 320 generates an application tunneling request identifying the retrieved tunnel definition and encapsulates at least a portion of the application-generated communication within one or more headers of an encapsulation protocol. Packaged application-generated communications are also referred to herein as "proxy-generated communications." Enterprise agent 320 sends the application tunneling request and the encapsulated application-generated communication (which together may constitute a single communication) to tunnel intermediary 224 (e.g., via connections 142 and 144 of FIGS. 1A and 1C or via connections 142 and 160 of FIG. 1B ). or another such intermediary defined in the tunnel definition. The skilled artisan will appreciate that the defined tunnel intermediary may be one of a plurality of tunnel intermediaries associated with proxy 320 and enterprise system 110 .
隧道中介224接收应用隧道形成请求(其识别隧道定义)和代理产生的通信。隧道中介224可读取在隧道形成请求中识别的隧道定义,并接着从仓库228取回所识别的隧道定义。隧道中介224可从所取回的隧道定义或甚至从在隧道形成请求中提供的信息确定计算机服务器或所请求的企业资源130所位于的其它计算设备的URL和/或端口。隧道中介224打开到服务器端口的网络连接(例如图1A和1C的连接152或图1B的连接162)。在一些实施方式中,隧道中介224总是或在预先安排的时间范围期间保持连接到企业资源130,使得当从移动设备120接收到应用隧道形成请求时连接可以是立即可用的。基于封装协议,隧道中介224从代理产生的通信提取应用产生的通信,并将应用产生的通信发送到与所请求的企业资源130相关的URL/服务器端口。此时,应用隧道在移动设备120和所请求的企业资源130之间形成。在一些实施方式中,隧道中介224将消息发送回到移动设备120以指示隧道的形成,并要求企业代理320在将应用产生的通信发送到企业资源130之前肯定地接受隧道。一旦隧道形成,企业代理320就可将额外的应用产生的通信(使用封装协议来封装的)发送到隧道中介224,其可将它们转发到企业资源130。Tunnel broker 224 receives application tunneling requests (which identify tunnel definitions) and proxy-generated communications. Tunnel broker 224 may read the tunnel definition identified in the tunnel formation request and then retrieve the identified tunnel definition from repository 228 . Tunnel broker 224 may determine the URL and/or port of the computer server or other computing device where requested enterprise resource 130 is located from the retrieved tunnel definition or even from information provided in the tunnel formation request. Tunnel broker 224 opens a network connection to a server port (eg, connection 152 of FIGS. 1A and 1C or connection 162 of FIG. 1B ). In some implementations, tunnel intermediary 224 maintains a connection to enterprise resource 130 at all times or during a pre-scheduled time frame such that a connection may be immediately available upon receipt of an application tunneling request from mobile device 120 . Based on the encapsulation protocol, the tunnel intermediary 224 extracts the application-generated communication from the proxy-generated communication and sends the application-generated communication to the URL/server port associated with the requested enterprise resource 130 . At this point, an application tunnel is formed between the mobile device 120 and the requested enterprise resource 130 . In some implementations, the tunnel broker 224 sends a message back to the mobile device 120 to indicate the formation of the tunnel and to ask the enterprise agent 320 to affirmatively accept the tunnel before sending the application-generated communication to the enterprise resource 130 . Once the tunnel is formed, enterprise proxy 320 can send additional application-generated communications (encapsulated using an encapsulation protocol) to tunnel intermediary 224 , which can forward them to enterprise resource 130 .
根据封装协议,在相反方向(例如从企业资源130到移动设备应用318)上的通信可由隧道中介224封装,由隧道中介224发送到移动设备120,并接着由企业代理320解包。隧道中介224可与企业资源130通信,好像中介224是移动设备应用318一样,且使得由企业资源130产生的资源返回到隧道中介224(例如经由图1A和1C的连接152和图1B的连接162)。当隧道中介224接收到对应用产生的通信的这样的响应时,隧道中介224可根据封装协议将这些“资源产生的响应”中的每个的至少一部分封装在一个或多个头部例如HTTP头部内,并接着将已封装响应发送到企业代理320(例如经由图1A和1C的连接144或142及图1B的连接160或142)。隧道中介224可配置成将它的通信发送到移动设备120的特定端口,该端口在与操作应用隧道相关的隧道定义中被定义。企业代理320可配置成在该本地端口上“听”来自隧道中介224的隧道式通信。基于封装协议,企业代理320可从一个或多个头部提取资源产生的响应,并接着将资源产生的响应提供到应用318。Communications in the opposite direction (eg, from enterprise resource 130 to mobile device application 318 ) may be encapsulated by tunnel intermediary 224 , sent by tunnel intermediary 224 to mobile device 120 , and then unpacked by enterprise proxy 320 according to the encapsulation protocol. Tunnel intermediary 224 may communicate with enterprise resource 130 as if intermediary 224 were mobile device application 318, and cause resources generated by enterprise resource 130 to return to tunnel intermediary 224 (e.g., via connection 152 of FIGS. 1A and 1C and connection 162 of FIG. 1B ). ). When tunnel intermediary 224 receives such responses to application-generated communications, tunnel intermediary 224 may encapsulate at least a portion of each of these "resource-generated responses" in one or more headers, such as HTTP headers, according to an encapsulation protocol Internally, and then send the encapsulated response to the enterprise agent 320 (eg, via connection 144 or 142 of FIGS. 1A and 1C and connection 160 or 142 of FIG. 1B ). Tunnel broker 224 may be configured to send its communications to a specific port of mobile device 120 as defined in the tunnel definition associated with the operational application tunnel. Enterprise proxy 320 may be configured to "listen" for tunneled communications from tunnel intermediary 224 on this local port. Based on the encapsulation protocol, enterprise agent 320 can extract the resource-generated response from the one or more headers and then provide the resource-generated response to application 318 .
在这种类型的应用隧道中,安装在移动设备120上的软件应用318可被给与它与资源(例如企业资源130)直接连接的印象,该资源与应用318所发出的网络请求的URL相关。事实上,应用318实际上经由隧道中介(例如隧道中介224)与资源通信。因此,应用318不需要知道隧道的存在。In this type of application tunneling, a software application 318 installed on a mobile device 120 may be given the impression that it is directly connected to a resource (e.g., enterprise resource 130) associated with the URL of the network request issued by the application 318 . In fact, application 318 actually communicates with the resource via a tunnel intermediary (eg, tunnel intermediary 224). Therefore, the application 318 does not need to be aware of the existence of the tunnel.
在一些实施方式中,企业代理320可配置成滤除满足预定和/或可配置的标准的那些应用产生的通信。这样的标准可包括例如下列标准以及各种其它标准中的任一个或多个:(1)(例如企业系统110的、web站点(其访问被企业限制)的)URL,(2)服务器端口,应用318试图将请求发送到该服务器端口,(3)关于发出请求的应用的数据(例如名称、版本等),(4)一天的时间,(5)一周的天,和/或(6)移动设备120的地理位置。这样的过滤标准可经由到企业代理320的无线通信由企业系统110传递到移动设备120。In some implementations, enterprise agent 320 may be configured to filter out those application-generated communications that meet predetermined and/or configurable criteria. Such criteria may include, for example, any one or more of the following, as well as various other criteria: (1) URL (e.g., of enterprise system 110, of a web site whose access is restricted by the enterprise), (2) server port, Application 318 attempts to send a request to this server port, (3) data about the requesting application (e.g., name, version, etc.), (4) time of day, (5) day of week, and/or (6) mobile The geographic location of the device 120 . Such filtering criteria may be communicated by enterprise system 110 to mobile device 120 via wireless communication to enterprise agent 320 .
在发起应用隧道的形成的一种方法中,企业代理320配置成拦截来自软件应用318的应用产生的通信。例如,在运行某些MicrosoftTM操作系统(例如Windows MobileTM、Windows CETM)的移动设备120中,可能使用分层服务提供者(LSP)来过滤由移动设备应用318发出的网络请求。LSP——其为Microsoft Windows Winsock 2服务提供者接口(SPI)的特征——是使用Winsock API来将本身插入TCP/IP协议堆栈内的DLL。一旦在堆栈中,LSP就可拦截并修改进入和外发的互联网业务。LSP可允许处理在互联网和设备的软件应用318之间发生的所有TCP/IP业务。LSP可配置成由使用网络连接的任何应用318自动装入。LSP具有分层模型,像过滤器一样。因此,每当应用318进行网络调用时,它通过LSP。LSP允许企业代理320拦截试图将信息发送到一个或多个规定的URL的每个应用网络通信,并将通信重定向到隧道中介,例如与企业系统110相关的中介224。以这种方式,企业代理320可检测来自应用318的对连接到企业资源130的请求,并修改请求和将请求重定向到隧道中介的URL。企业代理320可配置成通过企业资源130的一个或多个识别出的端口来过滤来自应用318的请求。企业代理320可配置成至少部分地基于在请求内提供的企业资源端口来选择隧道中介的端口以发送重定向的请求。In one method of initiating the formation of an application tunnel, enterprise agent 320 is configured to intercept application-generated communications from software application 318 . For example, in mobile devices 120 running certain Microsoft ™ operating systems (eg, Windows Mobile ™ , Windows CE ™ ), a Layered Service Provider (LSP) may be used to filter network requests issued by mobile device applications 318 . The LSP, which is a feature of the Microsoft Windows Winsock 2 Service Provider Interface (SPI), is a DLL that uses the Winsock API to insert itself within the TCP/IP protocol stack. Once in the stack, the LSP can intercept and modify incoming and outgoing Internet traffic. The LSP may allow handling of all TCP/IP traffic that occurs between the Internet and the device's software applications 318 . The LSP can be configured to be loaded automatically by any application 318 using the network connection. LSP has a layered model, like filters. Therefore, whenever an application 318 makes a network call, it goes through the LSP. The LSP allows enterprise proxy 320 to intercept every application network communication attempting to send information to one or more specified URLs, and redirect the communication to a tunneling intermediary, such as intermediary 224 associated with enterprise system 110 . In this manner, enterprise proxy 320 can detect requests from applications 318 to connect to enterprise resources 130 and modify and redirect the requests to the URL of the tunneling intermediary. Enterprise proxy 320 may be configured to filter requests from application 318 through one or more identified ports of enterprise resource 130 . Enterprise proxy 320 may be configured to select a port of the tunneling intermediary to send the redirected request based at least in part on the enterprise resource port provided within the request.
如上面提到的,在隧道中介建立在中介和所请求的资源之间的应用隧道连接之后,中介可将其通知发送到企业代理320,且企业代理320可接受应用隧道连接。所有这些操作可相对于软件应用318透明地发生。根据某些实施方式,应用318可在没有应用318的修改或重新配置的情况下经由隧道中介发送网络请求。As mentioned above, after the tunneling broker establishes the application tunneling connection between the brokering and the requested resource, the brokering can send its notification to the enterprise proxy 320, and the enterprise proxy 320 can accept the application tunneling connection. All of these operations can occur transparently with respect to the software application 318 . According to some implementations, the application 318 may send the network request via the tunnel intermediary without modification or reconfiguration of the application 318 .
不幸的是,在一些移动设备中,移动设备120拦截由软件应用318发出的网络连接请求很难或甚至不可能。一些移动设备操作系统(例如iOSTM和AndroidTM)可限制不同的软件应用与彼此交互并共享数据的能力。这样的限制有时可被称为软件应用的“沙箱化”,并可能在防止流氓应用从移动设备120盗窃数据并将数据发送到未经授权的互联网位置中是有用的。这可防止企业应用320访问或修改由应用310发出的网络请求。Unfortunately, in some mobile devices, it may be difficult or even impossible for mobile device 120 to intercept network connection requests issued by software application 318 . Some mobile device operating systems, such as iOS ™ and Android ™ , can limit the ability of different software applications to interact with each other and share data. Such restrictions may sometimes be referred to as "sandboxing" of software applications, and may be useful in preventing rogue applications from stealing data from mobile device 120 and sending data to unauthorized Internet locations. This prevents enterprise applications 320 from accessing or modifying network requests made by applications 310 .
因此,发起应用隧道的形成的另一方法是重新配置软件应用318如何发送它们的网络请求(或它们中的至少一些)。在某些实施方式中,软件应用318重新配置成将它的网络请求发送到移动设备120的本地主机,其在规定的移动设备端口上。企业代理320可配置成“听”该端口并通过建立与隧道中介的连接(如果它没有已经被建立)而对应用的网络请求做出反应以打开具有由应用318请求的资源的应用隧道。企业代理320可咨询相关应用隧道定义,以便确定倾听应用隧道请求的端口。在其它实施方式中,软件应用318重新配置成将至少一些它的网络请求直接发送到隧道中介。此外,应用318也可配置成将从隧道中介接收的通信“解包”(经由封装协议封装的)。企业可使配置成产生如本文所述的应用隧道请求的可下载的移动设备应用318的应用商店变得可用。Thus, another method of initiating the formation of an application tunnel is to reconfigure how software applications 318 send their network requests (or at least some of them). In some embodiments, the software application 318 is reconfigured to send its network requests to the local host of the mobile device 120, which is on a specified mobile device port. Enterprise proxy 320 may be configured to "listen" to this port and react to the application's network request by establishing a connection with the tunnel broker (if it is not already established) to open an application tunnel with the resource requested by application 318. Enterprise agent 320 may consult the relevant application tunnel definition in order to determine the port to listen to for application tunnel requests. In other implementations, the software application 318 is reconfigured to send at least some of its network requests directly to the tunneling intermediary. Additionally, the application 318 may also be configured to "unpack" (encapsulate via an encapsulation protocol) communications received from the tunneling intermediary. The enterprise may make available an application store of downloadable mobile device applications 318 configured to generate application tunneling requests as described herein.
现在进一步描述用于产生应用隧道的封装协议。企业代理320或软件应用318(取决于使用形成应用隧道的哪个特定的方法)可配置成使用各种不同的方法或封装协议中的任一个修改软件应用的网络连接请求。用于在应用隧道中使用的封装协议可为了各种目的而允许元数据的添加。例如,封装协议经由添加的元数据可识别特定的应用隧道,其允许隧道中介区分开该隧道与隧道中介可同时操纵的其它应用隧道。这可帮助防止在不同的应用隧道之间混合数据,帮助确保隧道式数据被分发到正确的资源(例如企业资源130)。换句话说,封装协议可添加使多个应用隧道能够被复用用于在公共连接上传输的元数据。添加的元数据也可规定通过隧道发送的每个消息的长度。添加的元数据也可与应用隧道或发起隧道的应用318例如安装在移动设备120上的软件应用318的列表或由移动设备管理系统126发送到移动设备120的命令的结果无关。这样的数据可由移动设备管理系统126使用来更新移动设备信息204。The encapsulation protocol used to create the application tunnel is now further described. Enterprise agent 320 or software application 318 (depending on which particular method of forming an application tunnel is used) may be configured to modify the software application's network connection request using any of a variety of different methods or encapsulation protocols. An encapsulation protocol for use in application tunneling may allow the addition of metadata for various purposes. For example, the encapsulation protocol may identify a particular application tunnel via added metadata that allows the tunnel intermediary to distinguish that tunnel from other application tunnels that the tunnel intermediary may handle concurrently. This can help prevent data from being mixed between different application tunnels, helping to ensure that tunneled data is distributed to the correct resource (eg, enterprise resource 130). In other words, the encapsulation protocol can add metadata that enables multiple application tunnels to be multiplexed for transport over a common connection. The added metadata can also specify the length of each message sent through the tunnel. The added metadata may also be independent of the application tunnel or the application 318 that initiated the tunnel, such as a list of software applications 318 installed on the mobile device 120 or the result of a command sent by the mobile device management system 126 to the mobile device 120 . Such data may be used by mobile device management system 126 to update mobile device information 204 .
由软件应用318产生的一般网络连接请求可使用涉及多个协议头部的多层通信协议。在简化的例子中,由软件应用318产生的访问请求可采取下列形式:A typical network connection request generated by software application 318 may use a multi-layer communication protocol involving multiple protocol headers. In a simplified example, an access request generated by software application 318 may take the following form:
[IP header][TCP header][HTTP header][SOAP header][SOAP body],[IP header][TCP header][HTTP header][SOAP header][SOAP body],
其中“IP”指互联网协议,“TCP”指传输控制协议,“HTTP”指超文本传输协议,且“SOAP”指简单对象访问协议。在本例中,移动设备的企业代理320可配置成在TCP层拦截这个通信(例如通过LSP的使用),并接着根据由企业代理320使用的封装协议在多层中重新包装或封装TCP有效载荷(其在本例中是[HTTP header][SOAP header][SOAP body])。例如,企业代理320可在下面的多个层内重新包装或封装TCP有效载荷:SSL(安全套接层)、TCP、IP等。企业代理320可接着将已封装请求发送到隧道中介。在如上所述的其它实施方式中,软件应用318可配置成将请求发送到移动设备120的本地端口(企业代理320从该本地端口接收、封装请求或将请求重定向到隧道中介)或甚至封装请求并将它直接发送到隧道中介。Where "IP" refers to Internet Protocol, "TCP" refers to Transmission Control Protocol, "HTTP" refers to Hypertext Transfer Protocol, and "SOAP" refers to Simple Object Access Protocol. In this example, the mobile device's enterprise agent 320 may be configured to intercept this communication at the TCP layer (e.g., through the use of LSPs), and then repackage or encapsulate the TCP payload in multiple layers according to the encapsulation protocol used by the enterprise agent 320 (which in this example is [HTTP header][SOAP header][SOAP body]). For example, enterprise agent 320 may repack or encapsulate TCP payloads within multiple layers of: SSL (Secure Sockets Layer), TCP, IP, etc. Enterprise proxy 320 may then send the encapsulated request to the tunnel intermediary. In other embodiments as described above, the software application 318 may be configured to send the request to a local port of the mobile device 120 from which the enterprise proxy 320 receives, encapsulates, or redirects the request to a tunnel intermediary) or even encapsulates request and send it directly to the tunnel broker.
当从移动设备120接收到已封装请求时,隧道中介可根据封装协议对请求解包。在上面的例子中,隧道中介提取由移动设备的软件应用318产生的TCP有效载荷。隧道中介可接着将TCP有效载荷发送到所请求的企业资源130的URL/端口(从相关隧道定义228得到的)(例如所请求的企业资源130被安装于的服务器的服务器端口)。在上面的例子中,所提取的TCP有效载荷包含较高级协议、HTTP和SOAP。在某些实施方式中,封装协议使用HTTPS上的安全套接层(SSL)来形成隧道。When an encapsulated request is received from mobile device 120, the tunnel intermediary can unpack the request according to the encapsulation protocol. In the above example, the tunnel intermediary extracts the TCP payload generated by the software application 318 of the mobile device. The tunnel intermediary may then send a TCP payload to the URL/port (derived from the associated tunnel definition 228 ) of the requested enterprise resource 130 (eg, the server port of the server on which the requested enterprise resource 130 is installed). In the above example, the extracted TCP payload contains higher level protocols, HTTP and SOAP. In some implementations, the encapsulation protocol uses Secure Sockets Layer (SSL) over HTTPS to tunnel.
图5是示出一种方法的实施方式,其中移动设备120的企业代理320通过应用隧道将移动设备应用318所产生的通信重定向到企业资源130。在步骤502中,应用318产生对访问企业计算机系统110的企业资源130的网络请求。如上面解释的,这个请求可包括对企业资源130的有效载荷,被封装在其它协议头部(“应用产生的通信”)内。在步骤504中,企业代理320拦截或接收请求。在步骤506中,企业代理320通过根据封装协议将一些或所有请求封装在一个或多个头部内(产生“代理产生的通信”)来修改请求。例如,企业代理320可封装包含对企业资源130的有效载荷的一部分。在步骤508中,企业代理320打开在移动设备120和与企业系统110相关的隧道中介(例如隧道中介224)之间的网络连接(例如图1A和1C的连接142、144或图1B的连接142、160)。在步骤510中,企业代理320经由网络连接将代理产生的通信发送到隧道中介。在步骤512,企业代理320从隧道中介接收数据,所接收的数据对请求做出响应(“资源产生的响应”)。所接收的数据可根据封装协议而被封装,且企业代理320可能需要例如根据封装协议来将数据解包。最后,在步骤514中,企业代理320向应用318提供所接收的数据。5 is an embodiment illustrating a method in which an enterprise proxy 320 of a mobile device 120 redirects communications generated by a mobile device application 318 to an enterprise resource 130 through an application tunnel. In step 502 , application 318 generates a network request to access enterprise resource 130 of enterprise computer system 110 . As explained above, this request may include a payload to the enterprise resource 130, encapsulated within other protocol headers ("application generated communication"). In step 504, enterprise agent 320 intercepts or receives the request. In step 506, enterprise proxy 320 modifies the request by encapsulating some or all of the request within one or more headers (creating a "proxy-generated communication") according to the encapsulation protocol. For example, enterprise agent 320 may encapsulate a portion of a payload containing a response to enterprise resource 130 . In step 508, enterprise agent 320 opens a network connection (e.g., connections 142, 144 of FIGS. 1A and 1C or connection 142 of FIG. , 160). In step 510, the enterprise proxy 320 sends the proxy-generated communication to the tunneling intermediary via the network connection. At step 512, the enterprise agent 320 receives data from the tunneling intermediary, the received data being in response to the request ("resource-generated response"). Received data may be encapsulated according to an encapsulation protocol, and enterprise agent 320 may need to unpack the data, eg, according to an encapsulation protocol. Finally, in step 514 , enterprise agent 320 provides the received data to application 318 .
图6是从企业系统110的观点看示出应用隧道方法的实施方式的流程图。如同本文描述的所有方法一样,一些所示步骤可以是可选的。在步骤602中,企业系统110的或与企业系统110相关的隧道中介(例如隧道中介224)从移动设备应用318接收对访问企业资源130的请求。如上面解释的,请求可包括设备的企业代理320拦截或接收的、根据封装协议修改的并接着重定向到隧道中介(例如经由图1A的网络通信链路142和144)的代理产生的通信-应用产生的通信。请求可包括对企业资源130的有效载荷。在步骤604中,企业系统110可确定对企业资源130的访问是否被授权。例如,如下所述,移动设备管理器202或隧道中介224可确定请求是否在移动设备管理系统126的一个或多个企业访问策略218下是可准许的。在步骤606中,在请求被授权之后,隧道中介从已封装请求提取对企业资源130的有效载荷。在步骤608中,隧道中介或企业系统110的另一部件记录关于请求和/或有效载荷的信息。下面更详细描述这个记录功能。在步骤610中,隧道中介打开在隧道中介和与所请求的企业资源130相关的服务器端口之间的资源网络连接(例如图1A和1C的连接152或图1B的连接162)。在步骤612中,隧道中介经由资源网络连接将至少企业资源有效载荷发送到服务器端口。在很多应用中,企业资源130通过将数据发送回到移动设备120来对请求做出响应(“资源产生的响应”)。因此,在步骤614中,隧道中介经由资源网络连接从企业资源130接收数据(例如多个数据分组)。数据一般对在步骤602中接收的请求做出响应。在步骤616中,隧道中介(或另一部件)记录关于从企业资源130接收的数据的信息。最后在步骤618中,隧道中介将数据发送到移动设备120。FIG. 6 is a flowchart illustrating an embodiment of an application tunneling method from the perspective of the enterprise system 110 . As with all methods described herein, some of the illustrated steps may be optional. In step 602 , a tunnel broker (eg, tunnel broker 224 ) of or associated with enterprise system 110 receives a request from mobile device application 318 to access enterprise resource 130 . As explained above, the request may include agent-generated communications intercepted or received by the device's enterprise agent 320, modified according to the encapsulation protocol, and then redirected to the tunneling intermediary (e.g., via network communication links 142 and 144 of FIG. 1A)— Application Generated Communications. The request may include a payload to the enterprise resource 130 . In step 604, enterprise system 110 may determine whether access to enterprise resource 130 is authorized. For example, mobile device manager 202 or tunnel intermediary 224 may determine whether the request is permissible under one or more enterprise access policies 218 of mobile device management system 126, as described below. In step 606, after the request is authorized, the tunnel intermediary extracts the payload to enterprise resource 130 from the encapsulated request. In step 608, the tunnel intermediary or another component of enterprise system 110 records information about the request and/or payload. This recording function is described in more detail below. In step 610, the tunnel broker opens a resource network connection (eg, connection 152 of FIGS. 1A and 1C or connection 162 of FIG. 1B ) between the tunnel broker and the server port associated with the requested enterprise resource 130 . In step 612, the tunnel intermediary sends at least the enterprise resource payload to the server port via the resource network connection. In many applications, enterprise resource 130 responds to the request by sending data back to mobile device 120 ("resource-generated response"). Accordingly, in step 614, the tunnel intermediary receives data (eg, a plurality of data packets) from enterprise resource 130 via the resource network connection. The data generally responds to the request received in step 602 . In step 616 , the tunnel intermediary (or another component) records information about the data received from enterprise resource 130 . Finally in step 618 the tunnel broker sends the data to the mobile device 120 .
图6的所示记录步骤608和616可允许企业注意通过在隧道中介和企业资源130之间的资源网络连接(例如图1A-1C的连接152、162)流动的数据的进展。用于这样的记录的应用隧道的使用使用户和设备行为能够在更粒度级别处且在更大级别的控制下被跟踪。例如,因为每个应用隧道通常被绑到特定的移动设备120、用户和移动应用,在该隧道上传输的与这个移动设备、用户和应用相关的数据可被存储。这给企业对其移动设备用户115的活动较大的可见性。隧道中介(或与其相关的其它部件)可配置成记录各种类型的信息,例如通过资源网络连接发送的实际数据、通过资源网络连接发送的数据的量、通过资源网络连接发送的数据的类型、通过资源网络连接发送的文件的名称、特定用户访问一个或多个企业资源130的次数、用户请求访问一个或多个企业资源130时的时间等。可从已记录数据产生分析。移动设备管理系统126可基于这样的分析来设置规则。作为一个例子,可对具有大量下载的移动设备120限制对一个或多个企业资源130的访问。The illustrated recording steps 608 and 616 of FIG. 6 may allow an enterprise to note the progress of data flowing through resource network connections (eg, connections 152, 162 of FIGS. 1A-1C ) between the tunnel intermediary and enterprise resource 130 . The use of application tunneling for such logging enables user and device behavior to be tracked at a more granular level and under greater levels of control. For example, because each application tunnel is typically tied to a particular mobile device 120, user, and mobile application, data transmitted over that tunnel related to that mobile device, user, and application may be stored. This gives businesses greater visibility into the activities of their mobile device users 115 . The Tunnel Broker (or other components related to it) may be configured to record various types of information, such as the actual data sent over the resource network connection, the amount of data sent over the resource network connection, the type of data sent over the resource network connection, The name of the file sent over the resource network connection, the number of times a particular user has accessed one or more enterprise resources 130, the time when a user requested access to one or more enterprise resources 130, and the like. Analysis can be generated from recorded data. Mobile device management system 126 may set rules based on such analysis. As one example, access to one or more enterprise resources 130 may be restricted for mobile devices 120 with large downloads.
如上所述的应用隧道也可用于除了访问企业资源130以外的目的。例如,如下面关于图12、13和18描述的,应用隧道可用于进行在移动设备120和控制器计算机之间的“远程控制会话”。Application tunneling as described above may also be used for purposes other than accessing enterprise resources 130 . For example, an application tunnel may be used to conduct a "remote control session" between the mobile device 120 and the controller computer, as described below with respect to Figures 12, 13, and 18.
应用隧道的另一使用涉及所谓的“web过滤”或“内容过滤”,其中企业可能希望限制网络站点(例如网站)或移动设备120被授权访问的其它在线信息资源。可使用与修改预先存在的移动应用有关的特征或/或通过如下所述的安全web浏览器的使用来实现使用应用隧道执行内容过滤。访问可例如总是、只在营业时间期间等被授权。在某些实施方式中,企业代理320可配置成通过应用隧道将由移动设备120产生的内联网和/或互联网请求(对于在万维网上可得到的信息资源,例如输入到web浏览器内的URL或由web浏览器产生的HTTP请求)重定向到与企业相关的内容过滤服务器。内容过滤服务器充当隧道中介,并检查每个请求以确定所请求的站点是否被企业授权。例如,内容过滤服务器可维持被企业“记入黑名单中”的站点的列表,并可拒绝对访问被记入黑名单中的站点的请求。在某些实施方式中,这个确定可基于进行请求(例如基于用户角色206)的特定的移动设备120和用户115。内容过滤服务器可位于企业系统110内或之外,并可以是至少部分地为了企业的利益而操作的第三方服务器。如果请求被授权,则内容过滤服务器可将请求发送到将被移动设备120访问的与经授权的站点相关的服务器。内容过滤服务器可配置成修改请求以除去由企业代理320产生的任何头部以形成具有内容过滤服务器的应用隧道(根据封装协议)。与所请求的站点相关的服务器可然后接收以好像它从未被发送到内容过滤服务器的形式的请求。Another use of application tunneling involves so-called "web filtering" or "content filtering," where an enterprise may wish to limit network sites (eg, websites) or other online information resources that mobile device 120 is authorized to access. Performing content filtering using application tunneling may be accomplished using features related to modifying pre-existing mobile applications or/or through the use of a secure web browser as described below. Access may be granted, for example, always, only during business hours, etc. In some embodiments, enterprise proxy 320 may be configured to tunnel intranet and/or Internet requests generated by mobile device 120 (for information resources available on the World Wide Web, such as URLs entered into a web browser or The HTTP request generated by the web browser) is redirected to the content filtering server associated with the enterprise. A content filtering server acts as a tunnel intermediary and checks each request to determine whether the requested site is authorized by the enterprise. For example, the content filtering server may maintain a list of sites that are "blacklisted" by the enterprise, and may deny requests to access the blacklisted sites. In some implementations, this determination may be based on the particular mobile device 120 and user 115 making the request (eg, based on the user role 206). The content filtering server may be located within or outside of enterprise system 110 and may be a third party server operated at least in part for the benefit of the enterprise. If the request is authorized, the content filtering server may send the request to a server associated with the authorized site to be accessed by the mobile device 120 . The content filtering server may be configured to modify the request to remove any headers generated by the enterprise proxy 320 to form an application tunnel with the content filtering server (according to the encapsulation protocol). The server associated with the requested site may then receive the request as if it had never been sent to the content filtering server.
图25示出一个实施方式,其中使用在移动设备120(示出一个)上运行的企业代理320来创建应用隧道。在这个实施方式中,企业代理320包括或充当在移动设备120上运行的一个或多个移动应用的HTTP代理服务器320a。企业代理320经由无线网络(WIFI、蜂窝等)与移动设备管理系统126通信,移动设备管理系统126可例如在企业系统110内的专用服务器上实现。在图25中示出的移动设备管理系统126包括web管理控制台126a,其使管理员能够经由基于web的接口配置并部署在移动设备120和应用服务器2500之间的应用隧道。图25所示的移动设备管理系统126还包括隧道中介126b,其实现隧道封装协议并在移动设备120和应用服务器2500之间按规定路线发送分组。Figure 25 illustrates an embodiment in which an application tunnel is created using an enterprise agent 320 running on a mobile device 120 (one shown). In this embodiment, the enterprise proxy 320 includes or acts as an HTTP proxy server 320a for one or more mobile applications running on the mobile device 120 . Enterprise agent 320 communicates via a wireless network (WIFI, cellular, etc.) with mobile device management system 126 , which may be implemented, for example, on a dedicated server within enterprise system 110 . The mobile device management system 126 shown in FIG. 25 includes a web management console 126a that enables administrators to configure and deploy application tunnels between mobile devices 120 and application servers 2500 via a web-based interface. The mobile device management system 126 shown in FIG. 25 also includes a tunnel broker 126 b that implements the tunnel encapsulation protocol and routes packets between the mobile device 120 and the application server 2500 .
在图25的这个实施方式中,企业代理320在部署应用隧道时产生在使用应用隧道的移动应用已知的特定的端口上倾听的套接字。当移动应用写到这个端口(通过写到localhost:XXX,其中“XXX”是听端口号)时,用作移动应用的HTTP代理的企业代理320例如封装并转发消息,如上所述。更具体地,当移动应用产生指向企业系统110的应用服务器2500(或其它资源)的HTTP请求时,企业代理320拦截请求,并通过在移动设备120和移动设备管理系统126之间建立的应用隧道发送请求。移动设备管理系统126的隧道中介部件126b然后提取已封装的HTTP消息,并将它发送到相关应用服务器2500。In this embodiment of FIG. 25, the enterprise agent 320 when deploying the application tunnel creates a socket that listens on a specific port known to the mobile application using the application tunnel. When the mobile application writes to this port (by writing to localhost:XXX, where "XXX" is the listening port number), the enterprise proxy 320, acting as an HTTP proxy for the mobile application, for example, encapsulates and forwards the message, as described above. More specifically, when a mobile application generates an HTTP request directed to the application server 2500 (or other resource) of the enterprise system 110, the enterprise proxy 320 intercepts the request and passes it through the application tunnel established between the mobile device 120 and the mobile device management system 126 send request. The tunnel intermediary component 126b of the mobile device management system 126 then extracts the encapsulated HTTP message and sends it to the relevant application server 2500 .
这种方法的一个潜在问题是,如果主机名不正确,则一些应用服务器例如Microsoft SharePoint将拒绝请求。为了处理这个问题,企业代理320在一些实施方式中用目标应用服务器2500的正确主机名代替在所拦截的请求中的主机名(localhost:XXX)。这涉及修改从移动应用接收的原始HTTP请求的一个或多个相关HTTP头部并接着经由应用隧道发送已修改的HTTP请求。在其它实施方式中,替换主机名的任务替代地由移动设备管理系统126在接收和提取已封装HTTP请求时执行。A potential problem with this approach is that some application servers such as Microsoft SharePoint will reject requests if the hostname is incorrect. To handle this, the enterprise proxy 320 in some embodiments replaces the hostname (localhost:XXX) in the intercepted request with the correct hostname of the target application server 2500. This involves modifying one or more relevant HTTP headers of the original HTTP request received from the mobile application and then sending the modified HTTP request via the application tunnel. In other implementations, the task of replacing the hostname is instead performed by the mobile device management system 126 when receiving and extracting the encapsulated HTTP request.
在图27中进一步示出HTTP请求在图25的配置中被拦截和修改的过程。在事件A中,管理员配置并部署在移动设备120和应用服务器2500之间的应用隧道。这可使用如下面将描述的web管理控制台126a来实现。在事件B中,代理320响应于隧道的部署来创建套接字并开始在相关端口(作为localhost:XXX可寻址)倾听。在事件C中,充当HTTP代理的代理320接收或“拦截”来自在移动设备120上运行的应用的HTTP请求,并将主机名修改为目标应用服务器2500的实际主机名。代理320然后封装已修改的HTTP请求并将它发送到移动设备管理系统126。在事件D中,在移动设备管理系统126上运行的隧道中介126b提取已修改的HTTP请求并将它发送到与隧道相关的应用服务器2500。隧道中介126b也封装应用服务器的响应用于传输到移动设备120。The process by which HTTP requests are intercepted and modified in the configuration of FIG. 25 is further shown in FIG. 27 . In event A, the administrator configures and deploys an application tunnel between the mobile device 120 and the application server 2500 . This can be accomplished using the web management console 126a as will be described below. In event B, the proxy 320 in response to deployment of the tunnel creates a socket and begins listening on the relevant port (addressable as localhost:XXX). In event C, proxy 320 acting as an HTTP proxy receives or “intercepts” an HTTP request from an application running on mobile device 120 and modifies the hostname to the actual hostname of target application server 2500 . Proxy 320 then encapsulates the modified HTTP request and sends it to mobile device management system 126 . In event D, the tunnel broker 126b running on the mobile device management system 126 extracts the modified HTTP request and sends it to the application server 2500 associated with the tunnel. The tunnel intermediary 126b also encapsulates the application server's response for transmission to the mobile device 120 .
图26示出由图25的web管理控制台126a提供的隧道配置页面/屏幕的一个实施方式。管理员可使用这个页面来在特定的移动设备120和应用服务器2500之间建立应用隧道。在图26所示的例子中,隧道将部署在单个移动设备120上且是单个移动设备120所特有的。“应用设备参数”部分包括用于规定代理320在移动设备120上倾听的端口的“客户端口”字段。“应用设备参数”部分还包括用于规定业务将如何被拦截并重定向的三个选项。页面还包括各种其它配置选项,包括使用安全(SSL)连接的选项。FIG. 26 illustrates one embodiment of a tunnel configuration page/screen provided by the web management console 126a of FIG. 25 . An administrator can use this page to establish an application tunnel between a particular mobile device 120 and the application server 2500 . In the example shown in FIG. 26 , the tunnels would be deployed on and specific to a single mobile device 120 . The "Application Device Parameters" section includes a "Client Port" field for specifying the port on which the proxy 320 listens on the mobile device 120 . The Application Device Parameters section also includes three options for specifying how traffic will be intercepted and redirected. The page also includes various other configuration options, including the option to use a secure (SSL) connection.
再次参考图25,在一些配置中,定制SSL(安全套接层)库320b可安装在移动设备120上以支持安全应用隧道。定制SSL库320b可以使代理320(如图25所示)的部分或可以是不同的。定制SSL库320b补充由移动设备的操作系统提供的标准SSL库,并以使SSL握手序列能够以在应用隧道上执行的方式来修改SSL握手协议。更具体地,定制SSL库使移动设备120能够接受应用服务器对数字证书的传输,即使通过使用这个数字证书传输的主机名不匹配预期主机名。相反,一般随现有的移动操作系统提供的标准SSL库在这种情况下将拒绝应用服务器的数字证书。定制SSL库320b可通过覆盖一些信任管理证书检查功能来执行这个任务以创建对主机名中的失配的例外作为证书的部分。为了支持定制SSL库320b的使用,可以给应用开发者提供API(例如Java文件),其使他们能够开发使用定制SSL库320b来建立SSL链接的移动应用。Referring again to FIG. 25, in some configurations, a custom SSL (Secure Sockets Layer) library 320b may be installed on the mobile device 120 to support secure application tunneling. Custom SSL library 320b may be part of proxy 320 (shown in Figure 25) or may be different. The custom SSL library 320b complements the standard SSL library provided by the mobile device's operating system and modifies the SSL handshake protocol in a way that enables the SSL handshake sequence to be performed over the application tunnel. More specifically, the custom SSL library enables mobile device 120 to accept transmission of a digital certificate by an application server even if the hostname transmitted by using this digital certificate does not match the expected hostname. In contrast, the standard SSL libraries typically provided with existing mobile operating systems will reject the application server's digital certificate in this case. The custom SSL library 320b can perform this task by overriding some of the trust management certificate checking functions to create exceptions for mismatches in hostnames as part of the certificate. To support the use of custom SSL library 320b, application developers may be provided with APIs (eg, Java files) that enable them to develop mobile applications that use custom SSL library 320b to establish SSL connections.
图28示出当应用隧道在图25的配置中被建立为安全(SSL)隧道时执行的额外处理。在这个过程中,安装在移动设备120上的定制SSL库320b(在图25中示出)产生对应用服务器的数字证书必须规定与预期主机名匹配的主机名的要求的例外。在图28的事件A中,管理员优选地使用web管理控制台126a配置并部署HTTPS应用隧道。在事件B中,代理320产生套接字并开始在端口localhost:XXX上倾听,如上面关于图27描述的。(虽然没有在图27中示出,代理320在这个实施方式中使用与在图27中所示的相同的过程来拦截并修改来自应用的请求。)在事件C中,移动设备120使用定制SSL库320b来经由应用隧道发起与应用服务器2500的SSL握手。这涉及移动设备120发送hello消息,包括SSL版本、加密和压缩信息和28字节随机数。这个消息由代理320(如上面关于图27描述的)拦截,并经由代理320发送到移动设备管理系统126,其将消息转发到应用服务器2500。FIG. 28 illustrates additional processing performed when an application tunnel is established as a secure (SSL) tunnel in the configuration of FIG. 25 . During this process, a custom SSL library 320b (shown in FIG. 25 ) installed on the mobile device 120 makes an exception to the requirement that the application server's digital certificate must specify a hostname that matches the expected hostname. In Event A of Figure 28, the administrator configures and deploys HTTPS application tunneling, preferably using the web management console 126a. In event B, proxy 320 spawns a socket and begins listening on port localhost:XXX, as described above with respect to FIG. 27 . (Although not shown in FIG. 27, proxy 320 in this embodiment uses the same process as shown in FIG. 27 to intercept and modify requests from applications.) In event C, mobile device 120 uses custom SSL library 320b to initiate an SSL handshake with the application server 2500 via the application tunnel. This involves the mobile device 120 sending a hello message, including the SSL version, encrypted and compressed information, and a 28-byte random number. This message is intercepted by proxy 320 (as described above with respect to FIG. 27 ) and sent via proxy 320 to mobile device management system 126 , which forwards the message to application server 2500 .
在图28的事件D中,应用服务器2500通过返回包含公共密钥和密码套件的数字证书来做出响应。这个数字证书包含或规定代理320的本地主机的主机名(localhost:XXX)。通常(即,如果标准SSL库被使用),则SSL库将拒绝这个数字证书,因为它预期数字证书规定应用服务器的主机名。如在图28的事件E中所示的,定制SSL库320b通过做出对这个要求的例外来避免这个问题。定制SSL库可通过更新SSL Trustmanager以允许在应用服务器的主机名和由代理320使用的本地主机的主机名之间的失配来产生这个例外。(虽然可为所有主机名产生例外,这可便于中间人攻击。)如在事件E中进一步示出的,定制SSL库320b也向应用服务器2500发送使用应用服务器的公共密钥加密的认证代码密钥。因此,在SSL会话的持续时间期间,移动设备120和应用服务器2500可使用对称密钥用于加密。In event D of Figure 28, the application server 2500 responds by returning a digital certificate containing the public key and cipher suite. This digital certificate contains or specifies the hostname of the proxy 320's local host (localhost:XXX). Normally (ie, if the standard SSL library is used), the SSL library will reject this digital certificate because it expects the digital certificate to specify the hostname of the application server. As shown in Event E of Figure 28, custom SSL library 320b avoids this problem by making an exception to this requirement. A custom SSL library can generate this exception by updating the SSL Trustmanager to allow a mismatch between the application server's hostname and the localhost's hostname used by proxy 320 . (Although exceptions can be made for all hostnames, this can facilitate man-in-the-middle attacks.) As further shown in event E, custom SSL library 320b also sends to application server 2500 an authentication code key encrypted with the application server's public key . Thus, the mobile device 120 and the application server 2500 can use the symmetric key for encryption during the duration of the SSL session.
管制移动设备对企业系统的访问的移动设备管理系统的使用Use of mobile device management systems to regulate mobile device access to enterprise systems
如果移动设备管理系统126用作在移动设备120和企业资源130之间的应用隧道的隧道中介,系统126可配置成管制设备对资源130的访问。系统126可配置成读取来自应用隧道请求头部或主体的信息,比较它与移动设备数据204(图2)以确定关于与请求相关的用户115和/或移动设备120的信息,并实施企业访问策略218以允许或拒绝应用隧道请求。可基于本地存储的用户角色206、移动设备特性208、用户设备分配210、其它数据或其任何组合来实施访问策略218。也将理解,除了中介224以外的任何隧道中介可配置成实施访问策略218,只要该隧道中介能够访问移动设备信息204。If mobile device management system 126 is used as a tunnel intermediary for an application tunnel between mobile device 120 and enterprise resource 130 , system 126 may be configured to regulate device access to resource 130 . System 126 may be configured to read information from the application tunnel request header or body, compare it to mobile device data 204 (FIG. 2) to determine information about user 115 and/or mobile device 120 associated with the request, and implement Access policy 218 to allow or deny application tunneling requests. Access policies 218 may be enforced based on locally stored user roles 206, mobile device characteristics 208, user device assignments 210, other data, or any combination thereof. It will also be understood that any tunnel intermediary other than intermediary 224 may be configured to enforce access policy 218 so long as the tunnel intermediary has access to mobile device information 204 .
图7是示出方法的实施方式的流程图,其中隧道中介例如图2中的中介224使用访问策略218来管制移动设备对企业资源130的访问。移动设备管理系统126可配置成从移动设备120接收应用隧道访问请求(例如使用网络连接142或144经由应用隧道)以访问企业资源130。因此,在图7的步骤702中,移动设备管理系统126从移动设备120之一接收访问请求。在某些实施方式中,当这样的请求从移动设备120接收到时,隧道中介224配置成拒绝请求,如果移动设备120的一个或多个特性和/或分配给移动设备120的用户115的一个或多个特性不符合一个或多个访问策略218。因此,在决策步骤704中,隧道中介224确定移动设备120的一个或多个特性是否符合一个或多个相关访问策略218(例如一般访问策略或与所请求的企业资源130相关的访问策略)。移动设备特性(隧道中介224可对所述移动设备特性评估访问请求)可以是设备特性208或从请求本身确定的其它特性。如果从访问请求确定的移动设备特性不符合相关访问策略218,则在步骤710中,隧道中介224可拒绝访问请求。另一方面,如果移动设备特性符合一个或多个相关访问策略218,则方法继续进行到决策步骤706,其中隧道中介224确定分配给移动设备120的用户115的一个或多个特性是否符合一个或多个相关访问策略218。用户115的特性可以是例如用户的角色206或可以或可以不存储在移动设备信息204内的其它用户相关信息。隧道中介224可通过例如使用用户设备分配记录210来确定哪个用户115被分配到移动设备120。如果一个或多个用户特性符合一个或多个访问策略218,则隧道中介224允许移动设备120在步骤708中(通过连接152或162)访问所请求的资源130。如果否,则隧道中介224在步骤710中拒绝访问。将认识到,这种方法允许企业以非常灵活的方式基于移动设备特性和用户特性的各种组合来管制移动设备对企业资源130的访问。FIG. 7 is a flow diagram illustrating an embodiment of a method in which a tunneling intermediary, such as intermediary 224 in FIG. 2 , uses access policies 218 to regulate mobile device access to enterprise resources 130 . Mobile device management system 126 may be configured to receive an application tunnel access request from mobile device 120 (eg, via application tunnel using network connection 142 or 144 ) to access enterprise resource 130 . Accordingly, in step 702 of FIG. 7 , the mobile device management system 126 receives an access request from one of the mobile devices 120 . In some embodiments, when such a request is received from a mobile device 120, the tunnel intermediary 224 is configured to deny the request if one or more characteristics of the mobile device 120 and/or one of the characteristics assigned to the user 115 of the mobile device 120 One or more properties do not comply with one or more access policies 218 . Accordingly, in decision step 704, tunnel intermediary 224 determines whether one or more characteristics of mobile device 120 comply with one or more associated access policies 218 (eg, general access policies or access policies related to the requested enterprise resource 130). The mobile device characteristics against which tunnel intermediary 224 may evaluate the access request may be device characteristics 208 or other characteristics determined from the request itself. If the mobile device characteristics determined from the access request do not comply with the associated access policy 218, then in step 710, the tunnel intermediary 224 may deny the access request. On the other hand, if the mobile device characteristics conform to one or more relevant access policies 218, the method proceeds to decision step 706, where the tunnel intermediary 224 determines whether the one or more characteristics assigned to the user 115 of the mobile device 120 conform to one or more of the relevant access policies 218. A number of related access policies 218 . The characteristics of the user 115 may be, for example, the user's role 206 or other user-related information that may or may not be stored within the mobile device information 204 . Tunnel broker 224 may determine which user 115 is assigned to mobile device 120 by, for example, using user device assignment record 210 . If the one or more user characteristics comply with the one or more access policies 218, the tunnel intermediary 224 allows the mobile device 120 to access the requested resource 130 (via connection 152 or 162) in step 708. If not, tunnel broker 224 denies access in step 710 . It will be appreciated that this approach allows an enterprise to regulate mobile device access to enterprise resources 130 based on various combinations of mobile device characteristics and user characteristics in a very flexible manner.
如上面提到的,在一些实施方式中,隧道中介224位于企业系统110之外(例如在如图1B中的云计算系统中)。将认识到,移动设备信息204、企业访问策略218、移动设备规则214和/或补救行动描述216也可例如随隧道中介224存储在企业系统110之外。在那些实施方式中,隧道中介224仍可配置成从移动设备120接收访问请求,并接着基于访问策略218来允许或拒绝请求。在这样的实施方式中,隧道中介224可配置成将允许的访问请求发送到位于企业系统110内的网络节点,企业系统110又将请求按规定路线发送到所请求的企业资源130。例如,网络节点可包括计算机服务器、安全移动网关128或另一网络设备。As mentioned above, in some implementations, the tunnel intermediary 224 is located outside the enterprise system 110 (eg, in a cloud computing system as in FIG. 1B ). It will be appreciated that mobile device information 204 , enterprise access policies 218 , mobile device rules 214 , and/or remedial action descriptions 216 may also be stored outside enterprise system 110 , eg, along with tunnel intermediary 224 . In those implementations, the tunnel intermediary 224 can still be configured to receive access requests from the mobile device 120 and then allow or deny the requests based on the access policies 218 . In such an embodiment, tunnel intermediary 224 may be configured to route the granted access request to a network node located within enterprise system 110 , which in turn routes the request to the requested enterprise resource 130 . For example, a network node may include a computer server, secure mobile gateway 128, or another network device.
用于控制移动设备对企业系统资源的访问的策略的例子Examples of policies used to control mobile device access to enterprise system resources
存在很多可能的情况,其中企业可能希望基于移动设备特性和/或被分配到移动设备120的用户115的特性来管制或限制移动设备对企业资源130的访问。现在描述这些“使用情况”中的几个。为了清楚,现在列举使用情况。此外,为了简单,在存储在移动设备管理系统126中的访问策略218的上下文中描述使用情况。如上面讨论的,系统126可以是安全移动网关128的网关规则404的提供者408,或/或可管制移动设备经由应用隧道对企业资源130的访问。然而,将认识到,这样的网关规则404可由任何其它提供者408创建并提供给网关128。There are many possible situations in which an enterprise may wish to regulate or limit mobile device access to enterprise resources 130 based on mobile device characteristics and/or characteristics of users 115 assigned to mobile devices 120 . Several of these "use cases" are now described. For clarity, the use cases are now enumerated. Furthermore, for simplicity, usage is described in the context of access policies 218 stored in mobile device management system 126 . As discussed above, system 126 can be a provider 408 of gateway rules 404 for secure mobile gateway 128, or/or can regulate mobile device access to enterprise resources 130 via application tunneling. However, it will be appreciated that such gateway rules 404 may be created and provided to gateway 128 by any other provider 408 .
技术人员将理解,下面的例子仅代表企业访问可如何使用所公开的部件和/或过程被管制的可能性的完全范围的一小部分。例如,将认识到,访问策略218可取决于用户115的特性、移动设备120的特性(例如设备特性208)、特定企业资源130(对其的访问被请求)和其它信息的组合,以及下面提供的特定例子仅仅是例证性的且远远不是无遗漏的。此外,将理解,可组合一些使用情况。The skilled artisan will understand that the examples below represent only a fraction of the full range of possibilities for how enterprise access may be regulated using the disclosed components and/or processes. For example, it will be appreciated that access policy 218 may depend on a combination of characteristics of user 115, characteristics of mobile device 120 (e.g., device characteristics 208), specific enterprise resources 130 to which access is requested, and other information, as provided below The specific examples of are merely illustrative and far from exhaustive. Furthermore, it will be understood that some use cases may be combined.
使用情况1:一个或多个访问策略218可要求请求访问的移动设备120(“访问请求设备”)向移动设备管理器202登记。这帮助防止将企业资源访问给与不与企业相关的人。 Use Case 1 : One or more access policies 218 may require mobile devices 120 requesting access (“access requesting devices”) to register with the mobile device manager 202 . This helps prevent access to enterprise resources from being given to people not associated with the enterprise.
使用情况2:一个或多个访问策略218可要求访问请求设备120是某个设备类型(例如iPhoneTM、MobileTM等)。 Use Case 2 : One or more access policies 218 may require that the access requesting device 120 be a certain device type (eg, iPhone ™ , Mobile ™ , etc.).
使用情况3:一个或多个访问策略218可要求访问请求设备120具有某些设置,例如是密码保护的。这帮助防止将企业资源访问给与不与企业相关的人(例如不是用户115),但以某种方式得到移动设备120(例如被所分配的用户115放错地方或失去的设备120)并试图访问企业系统110。 Use Case 3 : One or more access policies 218 may require that the access requesting device 120 have certain settings, such as being password protected. This helps prevent enterprise resource access from being given to someone not associated with the enterprise (e.g., not user 115), but who somehow obtains mobile device 120 (e.g., misplaced or lost device 120 by assigned user 115) and attempts to Enterprise system 110 is accessed.
使用情况4:一个或多个访问策略218可要求访问请求设备120使用当前操作系统版本。 Use Case 4 : One or more access policies 218 may require the access requesting device 120 to use the current operating system version.
使用情况5:一个或多个访问策略218可要求访问请求设备120符合企业的安全要求(例如防病毒要求)。如果移动设备120不符合安全(例如没有安装最新的防病毒软件或没有进行其文件、数据或应用的针对病毒的足够最近的自动扫描),则允许设备120访问企业资源130可使病毒感染资源130,可能危害企业系统110或至少特定资源130(对其的访问被给予)的可操作性。因此,这些类型的访问策略218可防止这样的不希望有的结果。 Use Case 5 : One or more access policies 218 may require that an access requesting device 120 comply with an enterprise's security requirements (eg, antivirus requirements). Allowing device 120 to access enterprise resource 130 may allow a virus to infect resource 130 if mobile device 120 is not compliant (e.g., does not have up-to-date antivirus software installed or has not had a sufficiently recent automatic scan of its files, data, or applications for viruses). , potentially jeopardizing the operability of the enterprise system 110, or at least the specific resource 130 to which access is given. Accordingly, these types of access policies 218 may prevent such undesired outcomes.
使用情况6:一个或多个访问策略218可要求访问请求设备120不“被越狱”。越狱是允许移动设备120得到完全访问(“根访问”)以将它的操作系统的所有特征解锁的过程,从而去除可由设备制造商强加的限制。一旦被越狱,移动设备120就可能能够下载以前不可用的应用和扩展文件。对移动设备120越狱可以访问其根文件系统,允许修改和安装第三方软件部件。因此,越狱的设备常常是安全保护被移除的设备。因此,防止被越狱的设备访问企业资源130进一步保护企业系统110免受安全威胁和漏洞。 Use Case 6 : One or more access policies 218 may require that the access requesting device 120 is not "jailbroken". Jailbreaking is the process of allowing a mobile device 120 to gain full access ("root access") to unlock all features of its operating system, thereby removing restrictions that may be imposed by the device manufacturer. Once jailbroken, mobile device 120 may be able to download previously unavailable applications and extension files. Jailbreaking the mobile device 120 provides access to its root file system, allowing modification and installation of third-party software components. As such, a jailbroken device is often a device with security protections removed. Thus, preventing jailbroken devices from accessing enterprise resources 130 further protects enterprise systems 110 from security threats and vulnerabilities.
使用情况7:一个或多个访问策略218可要求访问请求设备120不安装未经授权的应用。在本例中,“未经授权的应用”可以是未被授权安装在访问请求设备120上或/或特定的一组设备120(访问请求设备是该组的成员)上的软件应用。 Use Case 7 : One or more access policies 218 may require that the access requesting device 120 not install unauthorized applications. In this example, an "unauthorized application" may be a software application that is not authorized to be installed on the access-requesting device 120 or/or on a particular group of devices 120 of which the access-requesting device is a member.
使用情况8:一个或多个访问策略218可要求分配到访问请求设备120的用户115有与企业相关的一个或多个预定角色206。例如,访问策略218可拒绝移动设备对被分配给具有不与销售、工程设计或上层管理有关的角色206的用户115的移动设备120的一个或多个企业资源130的访问。 Use Case 8 : One or more access policies 218 may require that a user 115 assigned to an access requesting device 120 have one or more predetermined roles 206 associated with the enterprise. For example, access policy 218 may deny mobile device access to one or more enterprise resources 130 assigned to mobile device 120 of user 115 having a role 206 not related to sales, engineering, or upper management.
使用情况9:一个或多个访问策略218可取决于哪个特定的企业资源130被请求由访问请求设备120访问。例如,企业可允许移动设备访问CRM资源的条件可不同于企业可允许访问产品信息数据库的条件。因此,不同的访问策略218可被创建并用于不同的企业资源130。除了取决于所请求的企业资源130以外,访问策略218还可要求被分配到访问请求设备120的用户115具有某些特性,例如特定的角色206(如在上面描述的使用情况8中的)或另一状态指示。例如,对于CRM资源130,企业可能希望只对具有涉及销售或上层管理的角色206的用户115给予移动设备访问权限。在那种情况下,CRM资源130的访问策略218可要求被分配到访问请求设备120的用户115具有销售或上层管理角色206,且移动设备管理员202可配置成拒绝来自被分配给没有那些角色206的用户的移动设备120的请求。访问策略218可进一步要求被分配到访问请求设备120的用户115遵守企业规定(例如雇佣没有终止且不在试用状态中的用户115)。 Use Case 9 : One or more access policies 218 may depend on which particular enterprise resource 130 is requested to be accessed by the access requesting device 120 . For example, the conditions under which an enterprise may allow mobile devices to access CRM resources may differ from the conditions under which an enterprise may allow access to a product information database. Accordingly, different access policies 218 can be created and used for different enterprise resources 130 . In addition to being dependent on the requested enterprise resource 130, the access policy 218 may also require that the user 115 assigned to the access requesting device 120 have certain characteristics, such as a specific role 206 (as in use case 8 described above) or Another status indication. For example, an enterprise may wish to give mobile device access to CRM resources 130 only to users 115 with roles 206 related to sales or upper management. In that case, the access policy 218 of the CRM resource 130 may require that the user 115 assigned to the access-requesting device 120 have a sales or upper management role 206, and the mobile device administrator 202 may be configured to deny requests from users assigned to users without those roles. 206 the user's mobile device 120 requests. The access policy 218 may further require that the user 115 assigned to the access requesting device 120 comply with enterprise regulations (eg, the employment of the user 115 is not terminated and is not in trial status).
元应用meta app
再次参考图1A,元应用150如果存在则可配置成发现、建模和/或监控企业系统110的各种部件,包括通过在Qureshi‘536中描述的方法。元应用150也可配置成使用编码逻辑规则来检测“特征”和“问题”,执行“根本原因分析”,规划“补救行动”和/或在企业系统110上执行补救行动,包括通过在Qureshi‘536中描述的方法。在这个上下文中,逻辑规则可包括被管理系统110的特征的逻辑组合,并可相应于至少一个问题。此外,逻辑规则可包括对来自企业系统的特定信息的查询(“遥测数据查询”)或来自企业系统的模型的查询(“企业模型查询”),其中企业模型由元应用150产生。问题可包括企业系统110或移动设备120的任何软件、硬件或固件的任何成问题的状态。元应用150可通过满足相应的逻辑规则的逻辑来检测问题。特征可包括问题的条件。例如,逻辑规则可包含遥测数据查询或用于检测企业系统110的特征的企业模型查询。根本原因分析可以指作为所观察的成问题的行为的“根本原因”的部件(再次,软件、硬件、固件或甚至在这样类型的部件之间的关系)的检测。元应用150可配置成通过规划或执行与问题相关的补救行动来处理所检测的问题。Referring again to FIG. 1A , meta-application 150 , if present, may be configured to discover, model, and/or monitor various components of enterprise system 110 , including through the methods described in Qureshi '536. Meta-application 150 may also be configured to use coded logic rules to detect "signatures" and "problems," perform "root cause analysis," plan "remedial actions," and/or execute remedial actions on enterprise systems 110, including through the Qureshi' The method described in 536. In this context, a logic rule may comprise a logical combination of features of the managed system 110 and may correspond to at least one question. In addition, logic rules may include queries for specific information from enterprise systems ("telemetry queries") or queries for models from enterprise systems ("enterprise model queries"), where the enterprise models are generated by meta-applications 150 . A problem may include any problematic state of any software, hardware, or firmware of enterprise system 110 or mobile device 120 . The meta-application 150 can detect problems through logic that satisfies corresponding logic rules. Features may include conditions of the problem. For example, logical rules may include telemetry data queries or enterprise model queries for detecting characteristics of the enterprise system 110 . Root cause analysis may refer to the detection of components (again, software, hardware, firmware, or even relationships between such types of components) that are the "root cause" of observed problematic behavior. Meta-application 150 may be configured to address detected issues by planning or executing remedial actions related to the issue.
由元应用150使用来检测问题的逻辑规则的输入(例如特征)可不仅来自企业系统110的“后端”(在内部防火墙124后面的系统110的部分),而且来自其它源,例如安全移动网关128、在移动设备120上的企业代理320、或应用隧道中介例如移动设备管理系统126的实施方式。例如,逻辑规则的输入可以是移动设备通过安全移动网关128进行的访问请求402的允许或拒绝。例如,逻辑规则可将特定的问题至少部分地规定为通过企业系统的网关128对企业的CEO所使用的移动设备120的访问的拒绝。如果CEO被拒绝访问,则指示这个事件的数据满足逻辑规则的这个部分。在另一例子中,逻辑规则的输入可以是指示用户115在规定的时间段内下载大于某个阈值数量的数据的数据。这样的数据可由应用隧道中介提供到元应用150。在又一例子中,逻辑规则的输入可以是指示设备的配置或性能的数据,例如指示用户115在用户的移动设备120上安装了某个软件应用的数据。这样的数据可由用户的设备120的企业代理320提供到元应用150。The input (e.g., features) to the logical rules used by the meta-app 150 to detect problems may not only come from the "back end" of the enterprise system 110 (the part of the system 110 behind the internal firewall 124), but also from other sources, such as a secure mobile gateway 128. An embodiment of an enterprise agent 320 on a mobile device 120, or an application tunneling intermediary such as a mobile device management system 126. For example, an input to a logic rule may be the permission or denial of an access request 402 made by a mobile device through the secure mobile gateway 128 . For example, a logic rule may specify a particular problem, at least in part, as the denial of access through the gateway 128 of the enterprise system to the mobile device 120 used by the CEO of the enterprise. If the CEO is denied access, then the data indicating this event satisfies this part of the logical rule. In another example, an input to a logic rule may be data instructing user 115 to download data greater than a certain threshold amount within a specified period of time. Such data may be provided to meta-application 150 by an application tunneling intermediary. In yet another example, the input to the logic rule may be data indicative of a device's configuration or capabilities, such as data indicating that the user 115 has installed a certain software application on the user's mobile device 120 . Such data may be provided to the meta-application 150 by the enterprise agent 320 of the user's device 120 .
在某些实施方式中,由元应用150所使用的逻辑规则定义的一种类型的补救行动可以是新网关规则404的创建或现有网关规则404的修改连同将新的或修改的网关规则发送到安全移动网关128。以这种方式,元应用150可配置成程序化地控制网关128来以自动方式阻止移动设备访问。另一类型的补救行动可以是新访问策略218的创建或现有访问策略218的修改连同将新的或修改的策略发送到移动设备管理系统126。另一类型的补救行动可以是移动设备规则214的创建或现有移动设备规则214的修改连同将新的或修改的移动设备规则发送到移动设备管理系统126和/或一个或多个移动设备120。另一类型的补救行动可以是将命令直接发送到一个或多个移动设备120用于由企业代理320执行。以这种方式,元应用150可在设备120上有效地执行行动,例如从设备120擦除数据或应用,锁定设备120(即,防止设备120的使用),防止安装在设备上的某些应用运行,开启或关闭设备特征,调节设备设置,等等。In some implementations, one type of remedial action defined by the logic rules used by the meta-application 150 may be the creation of new gateway rules 404 or the modification of existing gateway rules 404 along with sending the new or modified gateway rules to the secure mobile gateway 128. In this manner, the meta-app 150 can be configured to programmatically control the gateway 128 to prevent mobile device access in an automated fashion. Another type of remedial action may be the creation of a new access policy 218 or the modification of an existing access policy 218 along with sending the new or modified policy to the mobile device management system 126 . Another type of remedial action may be creation of mobile device rules 214 or modification of existing mobile device rules 214 along with sending new or modified mobile device rules to mobile device management system 126 and/or one or more mobile devices 120 . Another type of remedial action may be to send commands directly to one or more mobile devices 120 for execution by enterprise agent 320 . In this manner, meta-app 150 can effectively perform actions on device 120, such as wiping data or applications from device 120, locking device 120 (i.e., preventing use of device 120), preventing certain applications from being installed on the device Run, turn device features on or off, adjust device settings, etc.
在图1C的实施方式中,元应用包括存在于企业的后端中的部分150和存在于云计算系统或“云”156中的部分151。基于云的系统156通常与企业系统110分离和不同(例如这两个系统不共享任何物理计算机或服务器),且通常主要由与企业分离和不同的云服务提供者商业实体操作。在某些实施方式中,后端元应用部分150从企业系统110收集数据,将它发送到基于云的元应用部分151,并可能也检测如上面提到的“特征”。在某些实施方式中,基于云的元应用部分151使用数据来建模企业系统110来检测“问题”和“根本原因”,规划补救行动和/或执行补救行动。In the embodiment of FIG. 1C , the meta-application includes a portion 150 residing in the enterprise's backend and a portion 151 residing in a cloud computing system or “cloud” 156 . Cloud-based system 156 is typically separate and distinct from enterprise system 110 (eg, the two systems do not share any physical computers or servers), and is typically primarily operated by a cloud service provider business entity that is separate and distinct from the enterprise. In some embodiments, the back-end meta-application part 150 collects data from the enterprise system 110, sends it to the cloud-based meta-application part 151, and possibly also detects "signatures" as mentioned above. In certain embodiments, cloud-based meta-application portion 151 uses data to model enterprise system 110 to detect "problems" and "root causes," plan remedial actions, and/or execute remedial actions.
图8示出部分地基于云的元应用的一个特定实施方式。元应用包括存在于企业服务器802上的几个部件和存在于云156内的服务器上的其它部件。此外,元应用与移动设备管理系统126、安全移动网关128和在移动设备120上运行的企业设备代理320通信。Figure 8 illustrates one particular implementation of a partially cloud-based meta-application. A meta-application includes several components residing on enterprise server 802 and other components residing on servers within cloud 156 . Additionally, the meta-application communicates with the mobile device management system 126 , the secure mobile gateway 128 , and the enterprise device agent 320 running on the mobile device 120 .
在所示实施方式中,企业系统110包括一个或多个计算机服务器802,其可包括在图1A-C的系统110中所示的一些或所有元件。元应用代理804可安装在每个服务器802上,服务器802具有需要被元应用150监控和/或管理的部件。每个元应用代理804可以“天生”(在安装时)有基于云的元应用部分的URL。可选地,代理804可配置成从管理员接收URL。将理解,将元应用代理804安装在企业系统110的每个计算机服务器上是不必要的。元应用的基于企业的部分可配置成允许IT管理员选择安装有元应用代理804的企业服务器802作为元应用的安装过程的部分。In the illustrated embodiment, enterprise system 110 includes one or more computer servers 802, which may include some or all of the elements shown in system 110 of FIGS. 1A-C. A meta-application agent 804 may be installed on each server 802 that has components that need to be monitored and/or managed by the meta-application 150 . Each meta-application proxy 804 may be "born" (at install time) with the URL of the cloud-based meta-application portion. Optionally, agent 804 may be configured to receive a URL from an administrator. It will be appreciated that it is not necessary to install meta-application agent 804 on every computer server of enterprise system 110 . The enterprise-based portion of the meta-application may be configured to allow an IT administrator to select an enterprise server 802 with a meta-application agent 804 installed as part of the meta-application's installation process.
在所示实施方式中,元应用代理804包括企业建模处理器806、遥测数据处理器808、特征检测器810和补救代理812。现在描述这些部件。In the illustrated embodiment, meta-application agent 804 includes enterprise modeling processor 806 , telemetry data processor 808 , feature detector 810 , and remediation agent 812 . These components are now described.
企业建模处理器806可配置成访问和/或得到来自服务器802的信息,其对于构造企业系统的可查询模型814是需要的或有用的。企业模型814可描述企业系统110的硬件、软件和/或固件,并可包括例如配置信息、注册表信息、数据库信息和对评估逻辑规则818有用的其它信息。企业模型814可包括对象图形,所述对象代表硬件、软件、固件、其间的关系等。在Qureshi‘536、特别是与“发现”和“应用模型”有关的章节中描述了建模的示例性方法和途径。每个企业建模处理器806可配置成构造其所安装在的特定服务器802的模型。基于云的元应用部分可配置成从企业建模处理器806接收数据并使用该数据来构造总企业模型814。企业建模处理器806可配置成在持续进行的基础上将新数据发送到基于云的元应用部分,以支持企业模型814的动态更新。最后,将认识到,移动设备120的企业代理320也可配置成进行关于设备120的信息的发现并将所发现的信息发送到企业模型814,且企业模型814可从而模拟一个或多个设备120以及企业系统110。换句话说,代理320可包括企业建模处理器806或类似的功能。Enterprise modeling processor 806 may be configured to access and/or obtain information from server 802 that is needed or useful for constructing queryable model 814 of the enterprise system. Enterprise model 814 may describe the hardware, software, and/or firmware of enterprise system 110 and may include, for example, configuration information, registry information, database information, and other information useful for evaluating logic rules 818 . The enterprise model 814 may include a graph of objects representing hardware, software, firmware, the relationships therebetween, and the like. Exemplary methods and approaches to modeling are described in Qureshi '536, particularly the sections relating to "Discovery" and "Applied Models". Each enterprise modeling processor 806 may be configured to construct a model of the particular server 802 on which it is installed. The cloud-based meta-application portion may be configured to receive data from the enterprise modeling processor 806 and use the data to construct an overall enterprise model 814 . The enterprise modeling processor 806 can be configured to send new data to the cloud-based meta-application portion on an ongoing basis to support dynamic updates of the enterprise model 814 . Finally, it will be appreciated that the enterprise agent 320 of the mobile device 120 may also be configured to conduct discovery of information about the device 120 and send the discovered information to the enterprise model 814, and the enterprise model 814 may thereby emulate one or more devices 120 and enterprise system 110 . In other words, agent 320 may include enterprise modeling processor 806 or similar functionality.
遥测数据处理器808可配置成从基于云的元应用部分151接收对关于其所安装在的服务器802的特定数据的请求。遥测数据处理器808可配置成通过收集所请求的数据(在本文被称为“遥测数据”)并将它提供给特征检测器810用于分析来对这样的请求做出响应。遥测数据可包括关于企业系统110的硬件、软件和/或固件的不同类型的数据,没有限制地包括配置数据、性能数据、关于移动设备120的数据和来自或关于移动设备管理系统126、安全移动网关128和企业资源130的数据。遥测数据可包括如在Qureshi‘536中描述的“状态度量数据”。状态度量数据可包括指示服务器802或其任何部件的状态的原始时变数据。将认识到,设备120的企业代理320也可配置成基于来自元应用部分151的对设备数据的请求来收集设备数据,并将所收集的遥测数据发送到本地特征检测器810或发送回元应用部分151。换句话说,代理320可包括遥测数据处理器808或类似的功能。The telemetry data processor 808 may be configured to receive a request from the cloud-based meta-application portion 151 for specific data about the server 802 on which it is installed. Telemetry data processor 808 may be configured to respond to such requests by collecting the requested data (referred to herein as "telemetry data") and providing it to feature detector 810 for analysis. Telemetry data can include different types of data about the hardware, software, and/or firmware of the enterprise system 110, including without limitation configuration data, performance data, data about the mobile device 120, and from or about the mobile device management system 126, secure mobile Gateway 128 and enterprise resource 130 data. Telemetry data may include "status metric data" as described in Qureshi '536. State metric data may include raw time-varying data indicative of the state of server 802 or any component thereof. It will be appreciated that the enterprise agent 320 of the device 120 may also be configured to collect device data based on requests for device data from the meta-application portion 151 and send the collected telemetry data to the local feature detector 810 or back to the meta-application Section 151. In other words, agent 320 may include telemetry data processor 808 or similar functionality.
特征检测器810可配置成分析从遥测数据处理器808接收的遥测数据,以检测逻辑规则818的特征。可在基于云的元应用部分发送到元应用代理804的遥测数据查询内规定特征。与在云156内相反,至少部分地在企业系统110内执行特征检测可明显减小用于在元应用代理804和云156之间的通信的带宽,因为在某些应用中不是所有遥测数据都被发送到云156。例如,元应用代理804可以只将检测到的特征发送到云156。技术人员将理解,特征可以比该特征所检测自的原始遥测数据更不数据敏感。例如,特征可简单地是特定条件为真的指示。在可选实施方式中,特征检测器810存在于云156内,且遥测数据处理器808可将一些或所有所收集的遥测数据发送到云用于特征检测。将认识到,移动设备120的企业代理320也可配置成分析响应于来自元应用部分151的请求而收集的遥测数据,以便检测逻辑规则818的特征并将那些特征发送回元应用部分151。换句话说,代理320可包括特征检测器810或类似的功能。Feature detector 810 may be configured to analyze telemetry data received from telemetry data processor 808 to detect features of logical rules 818 . Features may be specified within telemetry data queries sent by the cloud-based meta-application portion to the meta-application proxy 804 . Performing feature detection at least partially within enterprise system 110, as opposed to within cloud 156, can significantly reduce the bandwidth used for communications between meta-application agent 804 and cloud 156 because in some applications not all telemetry data is available. is sent to cloud 156. For example, meta-application agent 804 may only send detected features to cloud 156 . The skilled artisan will understand that a signature may be less data sensitive than the raw telemetry data from which the signature was detected. For example, a feature may simply be an indication that a certain condition is true. In an alternative embodiment, feature detector 810 resides within cloud 156, and telemetry data processor 808 may send some or all of the collected telemetry data to the cloud for feature detection. It will be appreciated that the enterprise agent 320 of the mobile device 120 may also be configured to analyze telemetry data collected in response to requests from the meta-application portion 151 in order to detect characteristics of the logical rules 818 and send those characteristics back to the meta-application portion 151 . In other words, agent 320 may include feature detector 810 or similar functionality.
补救代理812可配置成在其所安装在的服务器802上执行补救行动820。元应用代理804可从基于云的元应用部分接收补救行动820。虽然未在图8中示出,移动设备管理系统126可包括补救代理226(图2),且安全移动网关128也可以包括补救代理226。这样的补救代理可允许元应用对移动设备管理系统126和安全移动网关128执行补救行动。将认识到,移动设备120的企业代理320也可配置成在设备120上执行补救行动820。换句话说,代理320可包括补救代理812或类似的功能。Remediation agent 812 may be configured to perform remedial action 820 on server 802 on which it is installed. The meta-application agent 804 can receive a remedial action 820 from the cloud-based meta-application portion. Although not shown in FIG. 8 , mobile device management system 126 may include remediation agent 226 ( FIG. 2 ), and secure mobile gateway 128 may include remediation agent 226 as well. Such a remediation agent may allow the meta-application to perform remedial actions on the mobile device management system 126 and the secure mobile gateway 128 . It will be appreciated that enterprise agent 320 of mobile device 120 may also be configured to perform remedial action 820 on device 120 . In other words, agent 320 may include remediation agent 812 or similar functionality.
仍然参考图8,所示基于云的元应用部分151包括遥测数据监控器822、企业模型814、逻辑规则仓库816、推断引擎824、检测到的问题和/或根本原因的仓库826、用户接口828、通知管理器830和补救工作流模块832。将理解,基于云的元应用部分不需要包括这些部件中的全部,且也可包括未在图8中示出的额外部件。Still referring to FIG. 8 , the illustrated cloud-based meta-application portion 151 includes a telemetry data monitor 822, an enterprise model 814, a logic rules repository 816, an inference engine 824, a repository of detected problems and/or root causes 826, a user interface 828 , notification manager 830 and remediation workflow module 832. It will be understood that the cloud-based meta-application portion need not include all of these components, and may also include additional components not shown in FIG. 8 .
遥测数据监控器822可管理在基于云的元应用部分和元应用代理804以及提供基于云的元应用部分可使用来评估逻辑规则818的数据的任何其它部件之间的通信,所述任何其它部件例如为移动设备120的企业代理320、移动设备管理系统126和安全移动网关128。因此,遥测数据监控器822可接收由特征检测器810检测的特征,并可向推断引擎824提供特征。遥测数据监控器822可配置成对进入的特征和其它数据分出优先等级,使得更重要或紧急的信息在较不重要或较不紧急的信息之前被传递到元应用的其它部件。Telemetry data monitor 822 may manage communications between the cloud-based meta-application portion and meta-application proxy 804 and any other component that provides data that the cloud-based meta-application portion may use to evaluate logic rules 818 Examples are enterprise agent 320 for mobile device 120 , mobile device management system 126 , and secure mobile gateway 128 . Accordingly, the telemetry data monitor 822 can receive the features detected by the feature detector 810 and can provide the features to the inference engine 824 . Telemetry data monitor 822 may be configured to prioritize incoming feature and other data such that more important or urgent information is passed to other components of the meta-application before less important or less urgent information.
推断引擎824可配置成访问逻辑规则818的仓库816并评估单独的规则818是否被部署的特征满足,其中每个被满足的规则相应于至少一个问题的检测。逻辑规则818可包括对信息的查询,例如遥测数据查询或企业模型查询。推断引擎824可配置成通过查询企业模型814或元应用代理804的相关代理以得到所需的信息(例如规则的特征)来处理逻辑规则818的这些查询。推断引擎824也可配置成执行根本原因分析以检测企业系统110的有问题的行为的根本原因。根本原因可以是企业模型814的目标,其表示企业系统110的部件。推断引擎824可配置成使用如在‘536 Qureshi专利中教导的规则评估方法和根本原因分析方法(分别指“问题逻辑”和根本原因分析的讨论)。推断引擎824可进一步配置成在仓库826中记录检测到的问题和根本原因。Inference engine 824 may be configured to access repository 816 of logical rules 818 and evaluate whether individual rules 818 are satisfied by deployed features, where each satisfied rule corresponds to the detection of at least one problem. Logical rules 818 may include queries for information, such as telemetry data queries or enterprise model queries. Inference engine 824 may be configured to process these queries of logical rules 818 by querying enterprise model 814 or related agents of meta-application agent 804 for required information (eg, characteristics of the rule). Inference engine 824 may also be configured to perform root cause analysis to detect root causes of problematic behavior of enterprise system 110 . A root cause may be an object of an enterprise model 814 , which represents a component of an enterprise system 110 . The inference engine 824 may be configured to use rule evaluation methods and root cause analysis methods as taught in the '536 Qureshi patent (referring to discussions of "problem logic" and root cause analysis, respectively). Inference engine 824 may be further configured to log detected issues and root causes in repository 826 .
用户接口828可允许管理员与基于云的元应用部分交互。所示用户接口828包括web服务器接口以便于通过互联网访问。用户接口828也可包括服务器终端接口。User interface 828 may allow administrators to interact with cloud-based meta-application portions. The illustrated user interface 828 includes a web server interface for easy access via the Internet. User interface 828 may also include a server terminal interface.
通知管理器830可配置成将关于由元应用检测或计算的信息例如问题和根本原因的通知发送到管理员。通知可包括例如电子邮件、语音消息、SMS文本消息等。优选地,通知管理器830允许IT管理员设置并调节标准,在该标准下,通知管理器830发送通知。Notification manager 830 may be configured to send notifications to administrators about information detected or calculated by meta-applications, such as problems and root causes. Notifications may include, for example, emails, voice messages, SMS text messages, and the like. Preferably, the notification manager 830 allows the IT administrator to set and adjust the criteria under which the notification manager 830 sends notifications.
补救工作流模块832可配置成选择补救行动820用于试图解决或应对由推断引擎824检测的问题或根本原因。补救行动820可存储在逻辑规则818的仓库816中。可存储与一个或多个逻辑规则818相关的补救行动820。补救工作流模块832可配置成确定与检测到的问题或根本原因相关的补救行动820的执行的最佳序列。补救行动820对于很多不同类型的被管理计算机系统110可以是抽象的或一般化的。在那种情况下,补救工作流模块832可配置成将补救行动820定制到适合于由元应用管理的特定企业系统110和移动设备120的计划中。补救工作流模块832可配置成将定制的计划和/或其它指令发送到元应用代理804的补救代理812、移动设备管理系统126和安全移动网关128的类似补救代理或安装在移动设备120上的企业代理320。这些补救/企业代理可配置成在这样的系统和设备上执行计划和/或其它指令。计划可能需要人(例如IT管理员)对计划的阶段的计划步骤进行确认。计划也可设计成由补救代理812执行而没有人干预或批准。Remedial workflow module 832 may be configured to select remedial action 820 for attempting to resolve or address a problem or root cause detected by inference engine 824 . Remedial actions 820 may be stored in repository 816 of logic rules 818 . Remedial actions 820 associated with one or more logic rules 818 may be stored. Remedial workflow module 832 may be configured to determine an optimal sequence of execution of remedial actions 820 related to a detected problem or root cause. Remedial action 820 may be abstract or generalized to many different types of managed computer systems 110 . In that case, the remedial workflow module 832 can be configured to customize the remedial action 820 into a plan appropriate for the particular enterprise system 110 and mobile device 120 managed by the meta-application. The remediation workflow module 832 may be configured to send customized plans and/or other instructions to the remediation agent 812 of the meta-application agent 804, similar remediation agents of the mobile device management system 126 and the secure mobile gateway 128, or a remediation agent installed on the mobile device 120 Corporate Proxy 320 . These remedial/enterprise agents may be configured to execute plans and/or other instructions on such systems and devices. Planning may require human (eg, IT administrator) validation of planning steps for planned phases. Plans can also be designed to be executed by the remediation agent 812 without human intervention or approval.
图1A和1B的元应用150可包括图8所示的所有部件,包括存在于云156内的部件,且所有这样的部件可存在于企业系统110内。Meta-application 150 of FIGS. 1A and 1B may include all of the components shown in FIG. 8 , including components that reside within cloud 156 , and all such components may reside within enterprise system 110 .
安装在移动设备120上(例如在企业代理320内或单独地)的元应用部件可配置成收集来自设备120的状态度量数据并将该数据发送回基于云的元应用部分150和/或企业系统110。可有规律地(例如周期性地)或当由基于云或基于企业系统的元应用部分明确请求时收集这样的数据。可分析这样的数据(例如通过推断引擎824使用逻辑规则818)以诊断涉及设备120的问题,并选择用于处理这样的问题的补救行动。可进行这样的分析,即使没有到设备120的当前可用的连接。A meta-application component installed on mobile device 120 (e.g., within enterprise agent 320 or separately) may be configured to collect state metric data from device 120 and send that data back to cloud-based meta-application portion 150 and/or enterprise systems 110. Such data may be collected on a regular basis (eg, periodically) or when explicitly requested by the cloud-based or enterprise system-based meta-application portion. Such data may be analyzed (eg, using logical rules 818 by inference engine 824 ) to diagnose problems involving device 120 and select remedial actions for addressing such problems. Such analysis can be performed even if there is no currently available connection to device 120 .
本领域中的普通技术人员将理解,元应用可配置成实施并实现涉及移动设备120的各种不同类型的逻辑规则818和补救行动820。例如,逻辑规则818可将问题规定为多于特定的阈值数量的数据下载到移动设备120。元应用的企业后端部分可检测被下载到用户设备120的数据的吞吐量,并确定它是否超过在规则818中规定的阈值。与规则818相关的补救行动820可能需要禁用移动设备120,或也许仅仅禁用设备下载数据的能力。这样的补救行动820可涉及将配置成实施补救的命令或脚本发送到设备的企业代理320的元应用。可选地,补救行动820可能需要通过移动设备管理系统126废除移动设备的证书。仍然进一步地,规则818可废除设备使用应用隧道用于与企业资源130或其它网络资源通信的许可。Those of ordinary skill in the art will appreciate that meta-applications can be configured to implement and implement various different types of logic rules 818 and remedial actions 820 involving the mobile device 120 . For example, logic rule 818 may specify a problem as downloading more than a certain threshold amount of data to mobile device 120 . The enterprise backend portion of the meta-application may detect the throughput of data being downloaded to the user device 120 and determine whether it exceeds the threshold specified in rule 818 . Remedial action 820 related to rule 818 may entail disabling mobile device 120, or perhaps simply disabling the device's ability to download data. Such remedial action 820 may involve a meta-application of the enterprise agent 320 sending a command or script configured to implement remediation to the device. Optionally, remedial action 820 may entail revocation of the mobile device's certificate by the mobile device management system 126 . Still further, the rule 818 may revoke the device's permission to use the application tunnel for communication with the enterprise resource 130 or other network resources.
在另一例子中,元应用150可配置成至少部分地基于移动设备120被“抹掉”(例如存储在设备上的一些或所有数据的删除或软件应用从设备的删除)时的时间来创建网关规则404。In another example, meta-app 150 may be configured to be created based at least in part on when mobile device 120 is "erased" (eg, deletion of some or all data stored on the device or removal of a software application from the device) Gateway rule 404.
在元应用150配置成管理Microsoft ExchangeTM的实施方式中,元应用150可具有对与企业相关的移动设备120的ActiveSync合伙关系数据的完全可见性。元应用150可使用ActiveSync合伙关系数据来产生基于这样的数据过滤移动设备访问请求402的网关规则404。例如,ActiveSync合伙关系数据包括移动设备120的ActiveSync DeviceID。元应用150可使用这个信息来产生基于已知的DeviceID过滤访问请求402的网关规则404。In embodiments where the meta-app 150 is configured to manage Microsoft Exchange ™ , the meta-app 150 may have full visibility into the ActiveSync partnership data of the mobile devices 120 associated with the enterprise. The meta-application 150 can use the ActiveSync partnership data to generate gateway rules 404 that filter mobile device access requests 402 based on such data. For example, the ActiveSync partnership data includes the ActiveSync DeviceID of the mobile device 120 . Meta-application 150 can use this information to generate gateway rules 404 that filter access requests 402 based on known DeviceIDs.
设备上存在的管理系统Management system present on the device
在某些实施方式中,企业可能希望调节与企业用户115所使用的移动设备120相关的设置、应用、使用、其它活动或其任何组合。这可防止对企业数据和资源的安全性的威胁和/或处理生产率风险——用户在满足用户对企业的责任时以可消极地影响用户生产率的方式使用移动设备120的风险。现在描述这样的实施方式。In some implementations, an enterprise may wish to regulate settings, applications, usage, other activities, or any combination thereof related to mobile devices 120 used by enterprise users 115 . This can prevent threats to the security of enterprise data and resources and/or address productivity risks—risks where a user uses the mobile device 120 in a manner that can negatively impact user productivity while meeting the user's responsibilities to the enterprise. Such an embodiment is now described.
继续参考图2,所示移动设备管理系统126包括存储多个不同的移动设备规则214的计算机可读存储仓库212。存储仓库212可在任何适当的非临时计算机可读介质上实现。移动设备规则214可以是配置成由移动设备120(例如由安装在移动设备120上的企业代理320)使用来检测指示设备120可将企业暴露于的安全风险和/或生产率风险的问题的已编码计算机可读规则。下面描述可使用移动设备规则214检测到的问题的很多例子或“使用情况”。With continued reference to FIG. 2 , the illustrated mobile device management system 126 includes a computer-readable storage repository 212 that stores a plurality of different mobile device rules 214 . Storage repository 212 may be implemented on any suitable non-transitory computer-readable medium. The mobile device rules 214 may be coded codes configured to be used by the mobile device 120 (e.g., by an enterprise agent 320 installed on the mobile device 120) to detect issues indicative of security and/or productivity risks to which the device 120 may expose the enterprise. Computer-readable rules. Many examples or "use cases" of issues that may be detected using mobile device rules 214 are described below.
移动设备规则214可能相对简单,采取例如IF-THEN语句和/或简单的陈述性逻辑规则的形式。在其它实施方式中,移动设备规则214例如在Qureshi‘536中描述的逻辑规则可以复杂得多,Qureshi‘536描述配置成用于产生具有原子门和下游操作员门的虚拟电路的逻辑规则。移动设备规则214可包括用于计算与规则和相关问题相关的各种参数例如指示与例如如Qureshi‘536所教导的移动设备规则214相关的问题的检测中的置信度的置信度值的元数据。Mobile device rules 214 may be relatively simple, taking the form of, for example, IF-THEN statements and/or simple declarative logic rules. In other embodiments, the mobile device rules 214 can be much more complex, such as the logic rules described in Qureshi '536, which describes logic rules configured to create virtual circuits with atomic gates and downstream operator gates. Mobile device rules 214 may include metadata for calculating various parameters related to the rules and related questions, such as confidence values indicating confidence in the detection of questions related to mobile device rules 214 as taught, for example, in Qureshi '536 .
在一些实施方式中,移动设备规则214具有下面的格式:In some implementations, mobile device rules 214 have the following format:
<rule name><rule name>
<security key><authentication information><security key><authentication information>
<encrypt><rule body><encrypt><rule body>
规则名可以是特定的移动设备规则214的名称。如果规则214被加密,则安全密钥可允许企业代理320对规则主体解密。认证信息可包括涉及规则对移动设备120的适用性的数据。企业代理320可使用认证信息来确定规则214是否可在移动设备120上运行。规则主体包括规则的基本逻辑,并且是企业代理320评估的部分以便检测问题并执行一个或多个相关补救行动216。The rule name may be the name of a specific mobile device rule 214 . If the rule 214 is encrypted, the security key may allow the enterprise agent 320 to decrypt the body of the rule. The authentication information may include data related to the applicability of the rules to the mobile device 120 . The enterprise agent 320 can use the authentication information to determine whether the rules 214 can run on the mobile device 120 . A rule body includes the underlying logic of the rule and is the part that the enterprise agent 320 evaluates in order to detect a problem and perform one or more related remedial actions 216 .
在某些实施方式中,移动设备规则214将一个或多个移动设备状态度量数据值映射到指示设备120可将企业暴露于的安全风险和/或生产率风险的多个前面提到的问题之一。“状态度量”可以是指示移动设备状态的任何数据项目,例如错误日志条目、指示设备特征的激活的记录、操作系统版本、所安装的软件应用318(包括企业可“记入黑名单中”为未被授权安装的应用)、移动设备120是否漫游、移动设备120的电池水平、由移动设备120所接收的信号的信号强度、移动设备120的可用存储器等。例如,“状态度量”可以是指示移动设备特征(例如摄像机、web浏览器、口令保护等)是否被激活的度量。状态度量的另一例子是移动设备的SIM卡是否正确啮合移动设备120的指示器。状态度量的其它例子将从下面提供的移动设备规则应用的例子中明显可见。In certain embodiments, the mobile device rules 214 map one or more mobile device state metric data values to one of a number of aforementioned issues indicative of security risks and/or productivity risks to which the device 120 may expose the enterprise. . A "status metric" can be any data item that indicates the status of a mobile device, such as an error log entry, a record indicating activation of a device feature, operating system version, installed software applications 318 (including that an enterprise can "blacklist" as unauthorized installation), whether the mobile device 120 is roaming, the battery level of the mobile device 120, the signal strength of the signal received by the mobile device 120, the available memory of the mobile device 120, and the like. For example, a "status metric" may be a metric that indicates whether a mobile device feature (eg, camera, web browser, password protection, etc.) is activated. Another example of a status metric is an indicator of whether the mobile device's SIM card is properly engaged with the mobile device 120 . Other examples of state metrics will be apparent from the examples of mobile device rule applications provided below.
继续参考图2,仓库212可包括用于应对问题的多个已编码计算机可读补救行动216。在一些实施方式中,每个补救行动216相应于与移动设备规则214相关的一个或多个问题。下面提供补救行动216的例子。在一些实施方式中,移动设备管理系统126(或企业系统110的另一部件)可包括帮助IT员工创建和/或编辑移动设备规则214和/或补救行动216的工具221。这样的工具221可包括例如定制的字处理器或具有扩充、指南等来帮助构造规则214和/或行动216的其它软件应用。With continued reference to FIG. 2 , the repository 212 may include a plurality of encoded computer-readable remedial actions 216 for addressing the problem. In some implementations, each remedial action 216 corresponds to one or more issues related to mobile device rules 214 . Examples of remedial actions 216 are provided below. In some implementations, the mobile device management system 126 (or another component of the enterprise system 110 ) can include a tool 221 to assist IT staff in creating and/or editing mobile device rules 214 and/or remedial actions 216 . Such tools 221 may include, for example, a custom word processor or other software application with extensions, guides, etc. to help construct rules 214 and/or actions 216 .
在某些实施方式中,移动设备规则214及其相关补救行动216被组织成单独的“规则包”,每个规则包包括一个或多个规则214和优选地,规则的相关补救行动216。可以使用特定类型的用户角色206和/或移动设备特性208为用户115设计或定制每个规则包。因此,每个规则包可与一个或多个用户角色206和/或与一个或多个移动设备特性208相关。例如,可为具有面向销售的角色206的所有用户115(例如企业的所有销售人员)准备移动设备规则214和相关补救行动216的规则包。作为另一例子,可为使用iPhonesTM的人准备一个规则包,并为使用AndroidTM设备的人准备另一规则包。如果希望基于移动设备特性208中的差异来区分开与具有给定角色206的移动设备用户115相关的可允许的活动,则可为不同类型的移动设备120形成移动设备规则214和相关补救行动216的不同规则包。例如,企业可为使用iPhonesTM的销售人员形成移动设备规则214和补救行动216的一个规则包,为使用AndroidTM设备的销售人员形成移动设备规则214和补救行动216的另一规则包,等等。以这种方式,规则包可按照需要对不同的用户角色206和/或移动设备特性208进行定制。In some implementations, mobile device rules 214 and their associated remedial actions 216 are organized into separate "rule packages," each rule package including one or more rules 214 and, preferably, the rules' associated remedial actions 216 . Each rules package can be designed or customized for a user 115 using a particular type of user persona 206 and/or mobile device characteristics 208 . Accordingly, each rules package may be associated with one or more user roles 206 and/or with one or more mobile device characteristics 208 . For example, a rule package of mobile device rules 214 and associated remedial actions 216 may be prepared for all users 115 with a sales-oriented role 206 (eg, all salespeople in an enterprise). As another example, one rules package may be prepared for people using iPhones (TM) , and another rules package for people using Android (TM) devices. Mobile device rules 214 and associated remedial actions 216 may be developed for different types of mobile devices 120 if it is desired to differentiate permissible activities associated with mobile device users 115 having a given role 206 based on differences in mobile device characteristics 208 different rule packs. For example, an enterprise may form one rule package of mobile device rules 214 and remedial actions 216 for salespeople using iPhones ™ , another rule package of mobile device rules 214 and remedial actions 216 for salespeople using Android ™ devices, etc. . In this manner, rule packages can be customized for different user roles 206 and/or mobile device characteristics 208 as desired.
将认识到,不同的移动设备规则包可共享公共移动设备规则214和/或补救行动216。例如,假设第一移动设备规则和相关补救行动适合于销售人员和公司董事会成员,第二移动设备规则和相关补救行动只适合于销售人员。作为销售人员的用户115的规则包可包括第一和第二移动设备规则及其补救行动,而作为公司企业的董事会成员的用户115的移动设备规则包可包括第一移动设备规则和补救行动但不包括第二移动设备规则和补救行动。很多其它例子是可能的并根据本文描述的原理和优点。It will be appreciated that different mobile device rule packages may share common mobile device rules 214 and/or remedial actions 216 . For example, assume that a first mobile device rule and related remedial actions are appropriate for salespeople and company board members, and a second mobile device rule and related remedial actions are only applicable for salespeople. A rule package for a user 115 who is a salesperson may include first and second mobile device rules and their remedial actions, while a user 115 who is a board member of a corporate enterprise may include a first mobile device rule and remedial actions but Excludes second mobile device rules and remedial actions. Many other examples are possible and in accordance with the principles and advantages described herein.
移动设备管理器202优选地负责基于例如移动设备的特性208和/或被分配到移动设备的用户115的角色206将适当的规则包发送到移动设备120。在某些实施方式中,部署规则与每个规则包或单独移动设备规则214及相关补救行动216相关。移动设备管理器202可配置成使用部署规则来确定哪些移动设备120发送规则包或单独移动设备规则214和相关补救行动216。部署规则可使移动设备管理器202访问移动设备信息204以识别移动设备120——其所分配的用户115具有与规则包或规则中的给定规则包或规则相关的角色206,和/或移动设备120——其特性208与给定规则包或规则相关。此外,移动设备管理器202可配置成将给定规则包(包括移动设备规则214和/或补救行动216)发送到所识别的移动设备120。以这种方式,移动设备管理器202可将适当的移动设备规则包发送到每个移动设备120。The mobile device manager 202 is preferably responsible for sending the appropriate rules package to the mobile device 120 based on, for example, the characteristics 208 of the mobile device and/or the role 206 assigned to the user 115 of the mobile device. In some implementations, deployment rules are associated with each rule package or individual mobile device rules 214 and associated remedial actions 216 . The mobile device manager 202 may be configured to use deployment rules to determine which mobile devices 120 send rule packages or individual mobile device rules 214 and associated remedial actions 216 . Deploying rules may enable mobile device manager 202 to access mobile device information 204 to identify mobile devices 120 whose assigned users 115 have roles 206 associated with a given rules package or rule in a rule package or rules, and/or mobile Device 120 - whose properties 208 are associated with a given rule package or rule. Additionally, mobile device manager 202 may be configured to send a given rules package (including mobile device rules 214 and/or remedial actions 216 ) to identified mobile devices 120 . In this manner, the mobile device manager 202 can send the appropriate mobile device rules package to each mobile device 120 .
例如,假设新移动设备用户115(例如新雇员)加入企业。可(由管理员和/或通过计算机自动过程)将新用户的角色信息206和/或移动设备特性208输入到企业的移动设备信息204中。在一个实施方式中,用户的角色信息206被输入到企业的RBAC系统中,且软件模块(例如移动设备管理器202)将角色信息206传送到移动设备信息204。在另一实施方式中,移动设备信息204的用户角色信息206是直接支持RBAC系统的RBAC角色仓库。移动设备管理器202可配置成使用新用户的角色信息206和/或移动设备特性208来确定适当的移动设备规则包以发送到新用户的移动设备120。在另一实施方式中,移动设备信息204不来自或不支持RBAC系统。For example, assume a new mobile device user 115 (eg, a new employee) joins an enterprise. The new user's role information 206 and/or mobile device characteristics 208 may be entered into the enterprise's mobile device information 204 (by an administrator and/or through an automated computer process). In one embodiment, the user's role information 206 is entered into the enterprise's RBAC system, and a software module (eg, mobile device manager 202 ) communicates the role information 206 to the mobile device information 204 . In another embodiment, the user role information 206 of the mobile device information 204 directly supports the RBAC role repository of the RBAC system. The mobile device manager 202 can be configured to use the new user's persona information 206 and/or mobile device characteristics 208 to determine an appropriate mobile device rules package to send to the new user's mobile device 120 . In another embodiment, the mobile device information 204 is not from or does not support an RBAC system.
在另一例子中,假设企业修改其关于特定的一组移动设备用户115的策略。IT员工可修改为特定的用户组定制的移动设备规则包。这可包括创建规则包的新移动设备规则214,从规则包删除规则214,和/或修改规则包的一些规则214。可选地或此外,修改移动设备规则包可包括创建、删除和/或修改规则包的补救行动216。移动设备管理器202可将更新的移动设备规则包发送到那个特定组的用户115的每个移动设备120。In another example, assume that an enterprise modifies its policy regarding a particular group of mobile device users 115 . IT staff can modify mobile device rule packages customized for specific user groups. This may include creating new mobile device rules 214 of the rules package, deleting rules 214 from the rules package, and/or modifying some of the rules 214 of the rules package. Alternatively or in addition, modifying the mobile device rules package may include remedial action 216 of creating, deleting and/or modifying the rules package. The mobile device manager 202 can send the updated mobile device rules package to each mobile device 120 of that particular group of users 115 .
在很多情况下,更新的移动设备规则包可以相当类似于已经被发送到用户的移动设备120的较老的移动设备规则包。在这样的情况下,移动设备管理器202可配置成只将新的和/或修改的移动设备规则214和/或补救行动216连同用于删除已从规则包删除的那些规则214和/或行动216的指令一起发送到每个移动设备120,这样的指令由每个移动设备120的企业代理320执行。以这种方式,移动设备管理器202可配置成将规则包更新发送到移动设备120。In many cases, the updated mobile device rules package may be quite similar to older mobile device rules packages that have been sent to the user's mobile device 120 . In such cases, the mobile device manager 202 may be configured to only apply new and/or modified mobile device rules 214 and/or remedial actions 216 along with those rules 214 and/or actions for deletion that have been deleted from the rules package 216 instructions are sent together to each mobile device 120 , such instructions being executed by the enterprise agent 320 of each mobile device 120 . In this manner, mobile device manager 202 may be configured to send rules package updates to mobile device 120 .
在某些实施方式中,企业代理320配置成在移动设备120上实现和/或执行移动设备规则214。因此,企业代理320优选地配置成从与企业相关的移动设备管理系统126接收(例如经由网络接口310)移动设备规则214和/或补救行动216,并将所接收的规则214和/或补救行动216存储在移动设备120的计算机可读存储器例如硬盘驱动器306或被插入存储卡口307内的存储卡中。企业代理320可配置成从移动设备管理系统126接收并存储前面提到的移动设备规则包和规则包更新,并将它们存储在硬盘驱动器306或存储卡上。在所示实施方式中,硬盘驱动器306存储多个移动设备规则214和补救行动216。在一些实施方式中,企业代理320配置成单独地存储规则包和/或规则包更新的移动设备规则214和补救行动216。在其它实施方式中,移动设备规则214及其相应的补救行动216彼此相关地被存储在一起。在一些实施方式中,移动设备120可从除了移动设备管理系统126以外的源接收移动设备规则214和/或补救行动216。In some implementations, the enterprise agent 320 is configured to implement and/or enforce the mobile device rules 214 on the mobile device 120 . Accordingly, enterprise agent 320 is preferably configured to receive (e.g., via web interface 310) mobile device rules 214 and/or remedial actions 216 from mobile device management system 126 associated with the enterprise, and to 216 is stored in a computer-readable memory of the mobile device 120 such as the hard drive 306 or a memory card inserted into the memory card slot 307 . Enterprise agent 320 may be configured to receive and store the aforementioned mobile device rule packages and rule package updates from mobile device management system 126 and store them on hard drive 306 or a memory card. In the illustrated embodiment, the hard drive 306 stores a plurality of mobile device rules 214 and remedial actions 216 . In some implementations, the enterprise agent 320 is configured to separately store the rules package and/or the mobile device rules 214 and remedial actions 216 updated by the rules package. In other implementations, mobile device rules 214 and their corresponding remedial actions 216 are stored together in relation to each other. In some implementations, the mobile device 120 may receive the mobile device rules 214 and/or remedial actions 216 from sources other than the mobile device management system 126 .
图9是示出一种方法的实施方式的高级流程图,其中移动设备120应用移动设备规则214以检测与移动设备120相关的安全相关或生产率相关问题,且其中移动设备120处理该问题。根据图9所示的方法,在步骤902中,企业代理320得到或接收与移动设备120相关的状态度量数据值。这些状态度量数据值优选地用于在一个或多个移动设备规则214中表示的状态度量。企业代理320可配置成从其它移动设备120的其它硬件、软件或固件部件得到或接收一个或多个状态度量数据。企业代理320可配置成例如通过发出对数据的API调用来主动收集某些状态度量的数据值。对于其它状态度量或操作系统,代理320可订阅移动设备120的通知回呼机制,使得移动设备120向企业代理320通知关于出现在移动设备120上的某些事件。9 is a high-level flow diagram illustrating an embodiment of a method in which mobile device 120 applies mobile device rules 214 to detect a security-related or productivity-related issue related to mobile device 120 and in which mobile device 120 processes the issue. According to the method shown in FIG. 9 , at step 902 , the enterprise agent 320 obtains or receives status metric data values associated with the mobile device 120 . These status metric data values are preferably used for status metrics expressed in one or more mobile device rules 214 . Enterprise agent 320 may be configured to obtain or receive one or more status metric data from other hardware, software, or firmware components of other mobile devices 120 . Enterprise agent 320 may be configured to actively collect data values for certain state metrics, for example, by issuing API calls to the data. For other status metrics or operating systems, the agent 320 may subscribe to the notification callback mechanism of the mobile device 120 so that the mobile device 120 notifies the enterprise agent 320 about certain events that occur on the mobile device 120 .
继续参考图9,在步骤904中,企业代理320检测由移动设备规则214规定的一个或多个问题。企业代理320优选地配置成至少部分地通过使用移动设备规则214分析所接收的状态度量数据值来程序化地检测问题的实例。在某些实施方式中,可结合其它数据值(例如用户特性、一天的时刻、日期等)来分析所接收的状态度量数据。此外,企业代理320可配置成通过在步骤906中在移动设备120上执行补救行动216来对问题之一的所检测的实例做出响应,其中所执行的补救行动216相应于在步骤904中检测的问题。在一些情况下,可以有相应于特定问题的多个补救行动216,且企业代理320可配置成基于各种因素例如成功地应对问题(例如基于运行补救行动的过去结果)的概率、与执行补救行动相关的计算成本、用户偏好、企业偏好等在可用的补救行动当中选择。在某些实例中,企业代理320可响应于检测到特定的问题而执行两个或多个补救行动216。With continued reference to FIG. 9 , in step 904 , enterprise agent 320 detects one or more issues specified by mobile device rules 214 . Enterprise agent 320 is preferably configured to programmatically detect instances of problems at least in part by analyzing received status metric data values using mobile device rules 214 . In some implementations, received status metric data may be analyzed in conjunction with other data values (eg, user characteristics, time of day, date, etc.). Additionally, enterprise agent 320 may be configured to respond to a detected instance of one of the problems by performing remedial action 216 on mobile device 120 in step 906, wherein the remedial action 216 performed corresponds to the detected instance in step 904. The problem. In some cases, there may be multiple remedial actions 216 corresponding to a particular problem, and enterprise agent 320 may be configured to perform remedial actions based on various factors such as the probability of successfully addressing the problem (e.g., based on past results of running remedial actions), and Action-related computational costs, user preferences, business preferences, etc. are selected among available remedial actions. In some instances, enterprise agent 320 may perform two or more remedial actions 216 in response to detecting a particular problem.
一些补救行动216可包括产生警告,例如被分发到移动设备120的用户115的消息。消息可包括文本、图像、音频和/或视频。企业代理320可配置成产生消息并经由用户接口304将消息传送到用户115,例如在屏幕326上显示消息和/或使用扬声器328播放可听得见的消息。消息可包括关于所检测的问题的信息和/或用户115在移动设备120上执行行动的指令,例如激活或去激活设备120的特征。可在补救行动216中静态地规定消息。可选地,当例如评估移动设备规则214(例如通过查询的解决)时,可使用可捆绑到实际数据值的变量来规定消息,如在Qureshi‘536中教导的。这可允许企业代理320对设备120的特定情况来定制消息。此外,指示代理320产生这样的消息的任何补救行动216可进一步包括在用户115(或操纵移动设备120的其他人)不执行由消息指示的行动时由企业代理320进行的行动的指令。例如,如果用户115不在补救行动中规定的时间段内执行所指示的行动,则补救行动216可使企业代理320进行该行动。Some remedial actions 216 may include generating an alert, such as a message distributed to the user 115 of the mobile device 120 . Messages may include text, images, audio and/or video. Enterprise agent 320 may be configured to generate and communicate the message to user 115 via user interface 304 , such as displaying the message on screen 326 and/or playing the message audibly using speaker 328 . The message may include information about the detected problem and/or instructions for the user 115 to perform an action on the mobile device 120 , such as activating or deactivating a feature of the device 120 . The message may be statically specified in remedial action 216 . Optionally, when e.g. evaluating mobile device rules 214 (e.g., by resolution of queries), messages can be specified using variables that can be tied to actual data values, as taught in Qureshi '536. This may allow the enterprise agent 320 to tailor messages to the particular circumstances of the device 120 . Furthermore, any remedial action 216 instructing agent 320 to generate such a message may further include instructions for actions to be taken by enterprise agent 320 if user 115 (or others manipulating mobile device 120 ) does not perform the action indicated by the message. For example, remedial action 216 may cause business agent 320 to take the action if user 115 does not perform the indicated action within the time period specified in remedial action.
企业可基于移动设备120和/或其用户115的特性来改变补救行动216的惩办性以应用于移动设备规则214的所检测的问题或违反。例如,基于用户115的角色206改变补救可能是合乎需要的。在一个例子中,企业可能希望为企业的较高级主管人员应用较不严格的补救行动。The enterprise may vary the punitive nature of the remedial action 216 to apply to the detected issue or violation of the mobile device rules 214 based on the characteristics of the mobile device 120 and/or its user 115 . For example, it may be desirable to change remediation based on the role 206 of the user 115 . In one example, a business may wish to apply less stringent remedial actions to more senior executives of the business.
如上面提到的,一些补救行动216可包括由企业代理320在移动设备120上执行的行动(除了产生消息和将消息传送到用户以外)。在某些实施方式中,补救行动216可包括移动设备120已经被设计成进行的行动,例如激活或去激活某些移动设备特征、调节设备设置等。在这样的情况下,企业代理320可配置成使用移动设备的API来进行这样的补救行动216。As mentioned above, some of the remedial actions 216 may include actions performed by the enterprise agent 320 on the mobile device 120 (other than generating and communicating the message to the user). In some implementations, remedial action 216 may include actions that mobile device 120 has been designed to take, such as activating or deactivating certain mobile device features, adjusting device settings, and the like. In such cases, enterprise agent 320 may be configured to use the mobile device's API to take such remedial action 216 .
在一些实施方式中,企业代理320包括脚本引擎322,且至少一个补救行动216包括脚本引擎322配置成在移动设备120上执行的脚本。可以用与移动设备120相关的脚本语言写脚本,脚本语言可以是以控制设备硬件、软件和/或操作系统为目标的命令集合。脚本引擎322可配置成解释脚本和/或将脚本转换成字节码或可相对快地被解释的其它形式。在一些情况下,移动设备管理系统126(或企业系统110的另一部件)可包括帮助IT员工创建脚本的一个或多个脚本创建工具或应用220。In some implementations, the enterprise agent 320 includes a scripting engine 322 and the at least one remedial action 216 includes a script that the scripting engine 322 is configured to execute on the mobile device 120 . Scripts may be written in a scripting language associated with mobile device 120, which may be a set of commands targeted at controlling the device's hardware, software, and/or operating system. Script engine 322 may be configured to interpret scripts and/or convert scripts into bytecode or other forms that can be interpreted relatively quickly. In some cases, mobile device management system 126 (or another component of enterprise system 110 ) may include one or more scripting tools or applications 220 that assist IT staff in creating scripts.
在一些实施方式中,脚本可具有下面的高级格式:In some implementations, the script may have the following high-level format:
#USE CASE:[description of what the script does]#USE CASE:[description of what the script does]
import androidimport android
import zenlibimport zenlib
[decryption & authentication][decryption & authentication]
[rule body][rule body]
在这个例子中,脚本导入与AndroidTM操作系统相关的代码(“android”)库以及解释规则主体和解密及认证信息的编译代码(“zenlib”)的库。例如,“zenlib”代码可配置成解释逻辑、数学和/或布尔运算符,例如“AND”、“OR”、“THEN”、“LESS THAN”、“MORE THAN”等。In this example, the script imports a library of code associated with the Android ™ operating system ("android") and a library of compiled code ("zenlib") that interprets rule bodies and decryption and authentication information. For example, the "zenlib" code can be configured to interpret logical, mathematical and/or Boolean operators such as "AND", "OR", "THEN", "LESS THAN", "MORE THAN", etc.
从下面描述的各种使用情况中,将认识到,可能提供很多不同类型的移动设备规则214,其使企业代理320检测并预防与移动设备120相关的各种类型的有问题事件。也可能提供很多不同类型的相应补救行动216,其使代理320通过进行各种类型的行动例如限制网络通信、实施密码保护、将报告发送回到企业系统110(例如存储在移动设备120上的数据内容、在设备120上的数据使用、在移动设备120上运行的应用318和很多其它类型的信息的报告)、从设备120删除数据、从移动设备120卸载应用318和很多其它行动来对这样的有问题事件做出反应。From the various use cases described below, it will be appreciated that it is possible to provide many different types of mobile device rules 214 that enable enterprise agent 320 to detect and prevent various types of problematic events related to mobile devices 120 . It is also possible to provide many different types of corresponding remedial actions 216, which cause the agent 320 to perform various types of actions such as restricting network communications, implementing password protection, sending reports back to the enterprise system 110 (such as data stored on the mobile device 120) content, data usage on device 120, applications 318 running on mobile device 120, and many other types of information), deleting data from device 120, uninstalling applications 318 from mobile device 120, and many other actions to respond to such React to problematic events.
移动设备规则214、补救行动216和/或由脚本引擎322运行的脚本的使用可以被用来进行移动设备120的符合性审计。在某些实施方式中,企业系统110可配置成使向移动设备管理器202登记的所有或仅仅一些移动设备120的企业代理320应企业的请求运行一个或多个移动设备规则214。The use of mobile device rules 214 , remedial actions 216 , and/or scripts run by script engine 322 may be used to conduct compliance audits of mobile devices 120 . In certain implementations, the enterprise system 110 may be configured to cause the enterprise agent 320 for all or only some of the mobile devices 120 registered with the mobile device manager 202 to run one or more mobile device rules 214 at the enterprise's request.
例如,假设企业获悉新计算机病毒,企业的移动设备120可能特别易受该病毒的攻击。在这样的情况下,企业的IT员工可使移动设备管理器202将指令发送到企业代理320,例如以运行对新病毒扫描或简单地确定移动设备120是否使用最新的抗病毒软件更新的特定的移动设备规则214。For example, suppose an enterprise learns of a new computer virus to which the enterprise's mobile device 120 may be particularly vulnerable. In such a case, the enterprise's IT staff can cause the mobile device manager 202 to send instructions to the enterprise agent 320, such as to run a scan for new viruses or simply determine whether the mobile device 120 is updated with the latest antivirus software. Mobile Device Rule 214.
在一些情况下,企业的IT员工可使移动设备管理器202将一个或多个“特殊”移动设备规则214发送到移动设备120。在某些实例中,特殊移动设备规则214可连同指令被发送,用于使企业代理320立即确定移动设备120是否符合这些规则。此外,可连同相关补救行动216发送特殊移动设备规则214,且将理解,不同类型的这些特殊移动设备规则214和补救行动216可被发送到不同类型的移动设备120。移动设备管理器202可将特殊移动设备规则214发送到所有移动设备120,其所分配的用户115具有特定的角色206。这些特殊移动设备规则214可以或可以不与在上面描述的定制规则包内提供的移动设备规则214和补救行动216相同。In some cases, an enterprise's IT staff can cause mobile device manager 202 to send one or more "special" mobile device rules 214 to mobile device 120 . In some instances, special mobile device rules 214 may be sent along with instructions for enterprise agent 320 to immediately determine whether mobile device 120 complies with these rules. Furthermore, special mobile device rules 214 may be sent along with related remedial actions 216 , and it will be understood that different types of these special mobile device rules 214 and remedial actions 216 may be sent to different types of mobile devices 120 . The mobile device manager 202 can send special mobile device rules 214 to all mobile devices 120 to which the assigned user 115 has a specific role 206 . These special mobile device rules 214 may or may not be the same as the mobile device rules 214 and remedial actions 216 provided within the custom rules package described above.
当接收到这样的特殊移动设备规则214和可能特殊补救行动216时或当接收到运行已经存储在移动设备120上的移动设备规则214的指令时,移动设备的企业代理320可配置成立即确定移动设备120是否符合规则214。如果移动设备120不符合,则企业代理320可配置成简单地实现特殊补救行动216。Upon receipt of such special mobile device rules 214 and possible special remedial actions 216 or upon receipt of an instruction to execute mobile device rules 214 already stored on mobile device 120, the mobile device's enterprise agent 320 may be configured to Whether device 120 complies with rule 214 . If the mobile device 120 is not compliant, the enterprise agent 320 can be configured to simply implement the special remedial action 216 .
可选地或此外,代理320可配置成将详述运行特殊移动设备规则214的结果的符合性报告(例如详述与规则的符合或不符合和/或符合程度的报告)发送到移动设备管理器202。移动设备管理器202可配置成为了各种目的而使用这些报告。例如,移动设备管理器202可通过只向不符合所执行的移动设备规则的那些移动设备120发送(1)用于使代理320运行一个或多个额外的移动设备规则214的指令且如果移动设备120不符合额外的移动设备规则214则一个或多个额外的补救行动或(2)额外的特殊移动设备规则214和/或特征补救行动216来对报告做出响应。这些额外的移动设备规则214可基于下面的假设来检查其它形式的非符合:不符合一个移动设备规则214的移动设备120更可能不符合其他移动设备规则214。Alternatively or in addition, the agent 320 may be configured to send a compliance report detailing the results of running the particular mobile device rule 214 (e.g., a report detailing compliance or non-compliance with the rule and/or the degree of compliance) to the mobile device management device 202. Mobile device manager 202 can be configured to use these reports for various purposes. For example, the mobile device manager 202 can send (1) an instruction for the agent 320 to run one or more additional mobile device rules 214 to only those mobile devices 120 that do not comply with the enforced mobile device rules and if the mobile device 120 non-compliance with additional mobile device rules 214 then one or more additional remedial actions or (2) additional specific mobile device rules 214 and/or feature remedial actions 216 to respond to the report. These additional mobile device rules 214 may check for other forms of non-compliance based on the assumption that a mobile device 120 that is not compliant with one mobile device rule 214 is more likely to be non-compliant with other mobile device rules 214 .
设备上存在的管理系统的示例使用情况Example use case for a management system present on a device
存在很多可能的“使用情况”,企业可能希望在移动设备120上对这些使用情况使用移动设备规则214和相关补救行动216。现在描述这样的使用情况的例子。将理解,下面的例子不是无遗漏的,以及很多不同类型的移动设备规则214和相关补救行动216可用于很多不同的目的。此外,技术人员将理解,可以可选地对任何其它移动设备规则、问题或使用情况执行下面对特定的使用情况描述的补救行动,如企业可能期望的。下面描述的一些使用情况包含也在下面描述的一个或多个子情况。最后,这些使用情况中的一些在某些方面重叠。There are many possible "use cases" for which an enterprise may wish to employ mobile device rules 214 and associated remedial actions 216 on mobile devices 120 . An example of such a use case is now described. It will be appreciated that the following examples are not exhaustive and that many different types of mobile device rules 214 and associated remedial actions 216 can be used for many different purposes. Furthermore, the skilled artisan will understand that the remedial actions described below for a particular use case may alternatively be performed on any other mobile device rule, problem, or use case, as an enterprise may desire. Some of the use cases described below contain one or more sub-cases also described below. Finally, some of these use cases overlap in some ways.
使用情况1:一个可能的使用情况涉及移动设备120从其所分配的用户115(图1A)失去或被盗的情况。移动设备规则214可规定用于断定设备被失去或被盗的条件。例如当不同的SIM卡被安装时、当某个时间段在没有用户登录的情况下消逝时或当移动设备被报告为失去或被盗时,移动设备规则214可明确说明移动设备120被失去或被盗。相关补救行动216可使企业代理320从移动设备120移除数据和/或软件应用318,例如企业相关应用、所有应用、企业相关数据或所有数据。可选的补救行动216可使代理320锁定设备120以使它变得不可用。这些补救是有用的,因为移动设备120可包含被希望对不与企业相关的人保密的有价值的和/或机密的企业相关数据。在一些实现中,然后企业系统110可向设备120发出命令以删除数据和/或损坏用于对数据解密的加密密钥。这个命令可由移动设备管理系统通过无线运营商网络125发送到移动设备120。 Use Case 1 : One possible use case involves a situation where a mobile device 120 is lost or stolen from its assigned user 115 (FIG. 1A). Mobile device rules 214 may specify conditions for concluding that a device is lost or stolen. Mobile device rules 214 may specify that mobile device 120 is lost or stolen. Related remedial action 216 may cause enterprise agent 320 to remove data and/or software application 318 from mobile device 120 , such as enterprise-related application, all applications, enterprise-related data, or all data. An optional remedial action 216 may have the agent 320 lock the device 120 so that it becomes unusable. These remedies are useful because mobile devices 120 may contain valuable and/or confidential enterprise-related data that is desired to be kept private from those not associated with the enterprise. In some implementations, enterprise system 110 may then issue a command to device 120 to delete the data and/or destroy the encryption keys used to decrypt the data. This command may be sent by the mobile device management system to the mobile device 120 over the wireless carrier network 125 .
使用情况2:这个使用情况与使用情况1有关。小偷可通过从SIM卡端口312移除设备的SIM卡(或取决于移动设备120,安全地存储例如用于识别移动设备120上的用户的服务用户密钥(IMSI)的类似或等效的卡)——这可实际上禁止移动设备120到运营商网络125的连接——来阻止从企业系统110发送的无线命令到达移动设备120。在这样的实例中,可防止企业从设备120删除数据,且小偷可能能够访问数据。可通过提供移动设备规则214来处理这个问题,企业代理320使用移动设备规则214来检测SIM卡从设备120的SEM卡端口312的脱离。在这个使用情况中,代理320可执行包括产生经由用户接口304分发的消息的补救行动216,该消息指示使用设备120的人(例如用户115或小偷)使SIM卡与SIM卡端口312重新啮合。例如,消息可指示人在规定的时间段(例如五分钟)内使SIM卡与SIM卡端口312重新啮合,否则在移动设备120上的所有数据(或仅仅企业相关数据)将被删除。在那种情况下,代理320可进一步配置成删除数据,如果SIM卡在规定的时间段内未重新啮合。可选地或此外,用于对企业数据解密的加密密钥可被无效或删除,作为与和SIM卡脱离有关的问题相关的补救行动。 Use Case 2 : This use case is related to use case 1. A thief can securely store a similar or equivalent card, such as a Service Subscriber Key (IMSI) used to identify the user on the mobile device 120, by removing the device's SIM card (or depending on the mobile device 120) from the SIM card port 312 )—this may actually disable the connection of the mobile device 120 to the carrier network 125—to prevent wireless commands sent from the enterprise system 110 from reaching the mobile device 120. In such instances, an enterprise may be prevented from deleting data from device 120, and a thief may be able to access the data. This problem can be handled by providing mobile device rules 214 that the enterprise agent 320 uses to detect the detachment of the SIM card from the SEM card port 312 of the device 120 . In this use case, agent 320 may perform remedial action 216 including generating a message distributed via user interface 304 instructing a person using device 120 (eg, user 115 or a thief) to re-engage the SIM card with SIM card port 312 . For example, the message may instruct the person to re-engage the SIM card with the SIM card port 312 within a specified period of time (eg, five minutes), otherwise all data (or just enterprise-related data) on the mobile device 120 will be deleted. In that case, the agent 320 may be further configured to delete the data if the SIM card is not re-engaged within a specified period of time. Alternatively or additionally, encryption keys used to decrypt enterprise data may be invalidated or deleted as a remedial action related to issues related to SIM disengagement.
使用情况3:企业代理320可使用移动设备规则214来检测被规定为禁用对移动设备120的密码保护的问题。相应的补救行动216可使代理320在用户接口304上产生消息,该消息指示用户115(也许在规定时间段内)激活设备120上的密码保护。补救行动216还可包括在密码保护未激活的情况下对代理320的指令,例如禁用移动设备120、从设备120删除企业相关数据、使设备120退役(例如废除其证书和/或终止其对移动设备管理器202的登记)等。将理解,从移动设备120删除数据(在这个使用情况或任何其它情况的上下文中)可包括永久地删除数据,或可选地只删除数据的指针或删除和/或无效化数据解密密钥。在有关例子中,移动设备规则214可能需要用户115周期性地例如每90天改变密码。 Use Case 3 : The enterprise agent 320 may use the mobile device rules 214 to detect issues specified to disable password protection on the mobile device 120 . A corresponding remedial action 216 may cause agent 320 to generate a message on user interface 304 instructing user 115 to activate password protection on device 120 (perhaps within a specified period of time). Remedial action 216 may also include instructions to agent 320 where password protection is not activated, such as disabling mobile device 120, deleting enterprise-related data from device 120, decommissioning device 120 (e.g., revoking its certificate and/or terminating its access to mobile device manager 202 registration), etc. It will be appreciated that deleting data from mobile device 120 (in the context of this use case or any other) may include permanently deleting data, or alternatively just deleting a pointer to the data or deleting and/or invalidating a data decryption key. In a related example, mobile device rules 214 may require user 115 to change the password periodically, eg, every 90 days.
使用情况4:企业代理320可使用移动设备规则214来检测被规定为移动设备120位于经授权地理区之外或设备位于未经授权地理区内的问题。可以用各种不同的方式例如通过输入位置(例如在地图上或经度/纬度值)、地理区的形状和尺寸以及在所输入的位置和区的形状之间的位置关系来指定地理区。例如,可通过指定地理圆的半径来规定以所输入的位置为中心的圆形区。移动设备规则214也可包括时间范围(小时、天等),在该时间范围内,限制适用。代理320可使用GPS芯片316来检测设备120的位置。 Use case 4 : The enterprise agent 320 can use the mobile device rules 214 to detect issues specified as the mobile device 120 being outside an authorized geographic area or the device being located within an unauthorized geographic area. Geographical regions can be specified in various ways, such as by entering a location (eg, on a map or longitude/latitude values), the shape and size of the geographic region, and the positional relationship between the entered location and the shape of the region. For example, a circular area centered on the entered location can be specified by specifying the radius of the geographic circle. Mobile device rules 214 may also include a time frame (hours, days, etc.) within which the restriction applies. Agent 320 may use GPS chip 316 to detect the location of device 120 .
相应的补救行动216可使代理320产生经由用户接口304分发的消息,该消息指示用户115使设备120例如在规定时间段内返回到经授权地理区或离开未授权区。补救行动216还可包括在设备120如所指示的移动的情况下对代理320的指令,例如禁用移动设备120、禁用设备120的特征或软件应用(例如摄像机、蓝牙连接、Wi-Fi连接等)、从设备120删除企业相关数据等。补救行动216可简单地将讯息(例如SMS文本、电子邮件)发送到企业的适当管理机构、向它们警告移动设备的位置。A corresponding remedial action 216 may cause agent 320 to generate a message distributed via user interface 304 instructing user 115 to return device 120 to an authorized geographic zone or to leave an unauthorized zone, eg, within a specified time period. Remedial action 216 may also include instructions to agent 320 if device 120 moves as indicated, such as disabling mobile device 120, disabling features or software applications of device 120 (e.g., camera, Bluetooth connection, Wi-Fi connection, etc.) , delete enterprise-related data from the device 120, and the like. Remedial action 216 may simply send a message (eg, SMS text, email) to the appropriate authorities of the enterprise, alerting them of the location of the mobile device.
使用情况5:如上面在使用情况4中所描述的,移动设备规则214可基于移动设备120的位置(例如,如通过使用GPS芯片316所确定的)和/或时间数据来有效地导致移动设备特征的激活或去激活。讨论中的移动设备特征可以是用户接口304(键盘、触摸屏等)、网络接口310、摄像机314、麦克风330、USB连接等。 Use Case 5 : As described above in Use Case 4, the mobile device rules 214 can effectively cause the mobile device 120 to Activation or deactivation of a feature. The mobile device features in question may be user interface 304 (keyboard, touch screen, etc.), network interface 310, camera 314, microphone 330, USB connection, and the like.
举摄像机314的例子来说。企业代理320可使用移动设备规则214来检测被规定为移动设备120位于企业的房屋内的问题,摄像机314可以加以使用。企业可能希望当移动设备120在企业房屋内时防止摄像机314的使用,以防止摄像机从房屋内捕获任何敏感或机密信息、图像或视频。如在本文使用的,“企业房屋”可包括任何建筑物、设施、工厂、校园、设计房或由企业拥有、使用或操作的其它结构或区域。在一个实施方式中,相应于这个问题的补救行动216可使代理320在没有用户的同意的情况下去激活或禁用摄像机314。在另一实施方式中,相应于这个问题的补救行动216可使代理320产生经由用户接口304分发的消息,该消息指示用户115(也许在规定时间段内)去激活或禁用摄像机314。补救行动216还可包括在用户115不去激活或禁用摄像机314的情况下对代理320的指令,例如在没有用户的同意的情况下去激活或禁用摄像机314。优选地,在补救行动216被执行(以及摄像机314被禁用)之后,代理320配置成检测移动设备120何时离开企业房屋。在那个时候,代理320可配置成在没有用户的同意的情况下重新激活摄像机314,或产生经由用户接口304分发的消息,向用户115通知用户被授权重新激活摄像机314。Take the video camera 314 as an example. The enterprise agent 320 may use the mobile device rules 214 to detect issues where the mobile device 120 is specified to be on the premises of the enterprise, and the camera 314 may be used. An enterprise may wish to prevent the use of the camera 314 when the mobile device 120 is on the enterprise premises to prevent the camera from capturing any sensitive or confidential information, images or video from within the premises. As used herein, "business premises" may include any building, facility, factory, campus, design house, or other structure or area owned, used, or operated by a business. In one embodiment, a remedial action 216 corresponding to this problem may cause the agent 320 to deactivate or deactivate the camera 314 without the user's consent. In another embodiment, remedial action 216 corresponding to this problem may cause agent 320 to generate a message distributed via user interface 304 instructing user 115 to deactivate or deactivate camera 314 (perhaps within a specified period of time). The remedial action 216 may also include instructions to the agent 320 if the user 115 does not deactivate or deactivate the camera 314, such as to deactivate or deactivate the camera 314 without the user's consent. Preferably, after remedial action 216 is performed (and camera 314 is disabled), agent 320 is configured to detect when mobile device 120 leaves the enterprise premises. At that time, the agent 320 may be configured to reactivate the camera 314 without the user's consent, or generate a message distributed via the user interface 304 informing the user 115 that the user is authorized to reactivate the camera 314 .
使用情况6:与使用情况5有关,可基于移动设备位置来调节的移动设备“特征”的另一例子是软件应用318,例如设备的web浏览器。例如,企业代理320可使用移动设备规则214来检测被规定为移动设备120位于企业的房屋内的问题,设备的web浏览器可以加以使用。相应的补救行动216可使代理320指示用户禁用web浏览器(通过在用户接口304上产生消息),或简单地在没有用户的同意的情况下禁用web浏览器。然后,当移动设备120随后离开企业房屋时,代理320可配置成检测此并通知用户web浏览器可被使用或在用户不知悉或同意的情况下简单地重新启用web浏览器。将认识到,也可类似地调节除了web浏览器以外的其它软件应用318。 Use Case 6 : Related to Use Case 5, another example of a mobile device "feature" that may be adjusted based on the location of the mobile device is a software application 318, such as the device's web browser. For example, the enterprise agent 320 may use the mobile device rules 214 to detect issues that specify that the mobile device 120 is on the premises of the enterprise, the device's web browser may be used. A corresponding remedial action 216 may have the agent 320 instruct the user to disable the web browser (by generating a message on the user interface 304), or simply disable the web browser without the user's consent. Then, when the mobile device 120 subsequently leaves the corporate premises, the proxy 320 can be configured to detect this and notify the user that the web browser can be used or simply re-enable the web browser without the user's knowledge or consent. It will be appreciated that other software applications 318 besides web browsers may also be similarly adjusted.
使用情况7:与使用情况4和5有关,当检测到移动设备120进入规定地理区域(例如企业房屋)时,企业代理320可配置成执行补救行动216,其使代理320要求用户115将密码输入到设备120中以便使用某些设备特征,例如摄像机314和/或web浏览器。这样的补救行动可更适合于用户115,其角色206要求用户访问在地理区域内的这样的特征。一旦移动设备120离开规定区域,代理320就可配置成不再需要用户115的密码来使用这样的移动设备特征。 Use Case 7 : Related to Use Cases 4 and 5, upon detection of mobile device 120 entering a defined geographic area (e.g., corporate premises), enterprise agent 320 may be configured to perform remedial action 216, which causes agent 320 to require user 115 to enter a password into device 120 to use certain device features, such as camera 314 and/or a web browser. Such remedial action may be more appropriate for user 115 whose role 206 requires the user to access such features within a geographic area. Once the mobile device 120 leaves the prescribed area, the agent 320 can be configured to no longer require the user's 115 password to use such mobile device features.
使用情况8:移动设备规则214可使企业代理320基于时间信息(可能没有考虑地理数据)例如一天的时间、一周的日子、日历的日期范围等来禁用某些移动设备特征(例如摄像机、麦克风)。 Use case 8 : Mobile device rules 214 may enable enterprise agent 320 to disable certain mobile device features (e.g., camera, microphone) based on temporal information (possibly without regard to geographic data) such as time of day, day of week, calendar date range, etc. .
使用情况9:移动设备120可包括在商店或其它零售机构内使用的信用卡扫描仪。当扫描仪的代理320检测到扫描仪物理地离开商店时,代理可执行指示扫描仪的用户115在规定时间段内将扫描仪返回到商店的补救行动216。补救行动216还可包括如果扫描仪没有被返回到商店则从扫描仪删除所扫描的信用卡数据的指令。 Use Case 9 : The mobile device 120 may include a credit card scanner for use in a store or other retail establishment. When the scanner's agent 320 detects that the scanner has physically left the store, the agent may perform a remedial action 216 that instructs the scanner's user 115 to return the scanner to the store within a specified time period. Remedial action 216 may also include instructions to delete the scanned credit card data from the scanner if the scanner is not returned to the store.
使用情况10:可被调节的另一移动设备特征是设备的网络连接能力,例如网络接口310。企业代理320可使用移动设备规则214来检测被规定为移动设备使用网络连接能力来连接或试图连接到不安全的或被企业记入黑名单中的通信网络(例如伪Wi-Fi基站)的问题。例如,用户115可试图连接到不安全的Wi-Fi网络或被记入黑名单中的蜂窝服务塔,其可使移动设备120暴露于安全威胁。补救行动216可防止设备120访问被限制的网络。 Use Case 10 : Another mobile device feature that can be adjusted is the network connectivity capabilities of the device, such as the network interface 310 . Enterprise agent 320 may use mobile device rules 214 to detect issues defined as mobile devices using network connectivity capabilities to connect or attempt to connect to insecure or blacklisted communication networks (e.g., rogue Wi-Fi base stations) . For example, user 115 may attempt to connect to an unsecured Wi-Fi network or a blacklisted cellular service tower, which may expose mobile device 120 to security threats. Remedial action 216 may prevent device 120 from accessing the restricted network.
在另一实施方式中,相应于这个问题的补救行动216可使代理320在没有用户的同意的情况下终止或防止移动设备到不安全的网络的连接。在另一实施方式中,补救行动216可使代理320在没有用户的同意的情况下去激活移动设备的网络连接能力(例如通过关闭网络接口310)。这样的行动可保持一种类型的网络通信能力(例如蜂窝网络,例如3G或4G网络)可用,同时只终止与到不安全的网络相关的网络通信能力(例如Wi-Fi)。在另一实施方式中,补救行动216可使代理320产生对用户115的音频警告或经由用户接口304分发的消息,该消息指示设备120的用户115(也许在规定时间段内)终止到不安全的网络的连接。在又一实施方式中,补救行动216可使代理320产生经由用户接口304分发的消息,该消息指示设备120的用户115(也许在规定时间段内)去激活设备的网络连接能力。在代理320产生经由用户接口304分发的消息的实施方式中,补救行动216还可包括在用户115不终止连接或去激活网络连接能力的情况下对代理320的指令,例如在没有用户的同意的情况下采取这样的行动之一。在又一些其它实施方式中,补救行动216可使代理320锁定移动设备120以使它变得不稳定,也许直到设备从不安全的或被记入黑名单中的通信网络断开为止。In another embodiment, the remedial action 216 corresponding to this issue may cause the proxy 320 to terminate or prevent the mobile device's connection to the unsecured network without the user's consent. In another embodiment, the remedial action 216 may cause the proxy 320 to deactivate the mobile device's network connectivity capabilities (eg, by shutting down the network interface 310 ) without the user's consent. Such action may keep one type of network communication capability available (eg, a cellular network, such as a 3G or 4G network), while only terminating network communication capabilities (eg, Wi-Fi) associated to unsecured networks. In another embodiment, remedial action 216 may cause agent 320 to generate an audio warning to user 115 or a message distributed via user interface 304 indicating that user 115 of device 120 (perhaps within a specified period of time) terminated to an unsafe network connection. In yet another embodiment, remedial action 216 may cause agent 320 to generate a message distributed via user interface 304 instructing user 115 of device 120 to deactivate the device's network connectivity capabilities (perhaps within a specified period of time). In embodiments where the proxy 320 generates messages distributed via the user interface 304, the remedial action 216 may also include instructions to the proxy 320 without the user 115 terminating the connection or deactivating the network connection capability, such as without the user's consent. Take one of these actions. In yet other implementations, the remedial action 216 may cause the agent 320 to lock the mobile device 120 to render it unstable, perhaps until the device is disconnected from the unsecured or blacklisted communication network.
使用情况11:企业可能希望管制哪个软件应用318被授权安装在移动设备120上。例如,某些类型的软件应用318可消极地影响用户的生产率(例如通过使用户从他或她的职责分心),而其它应用318可产生安全威胁(例如可允许其它设备复制存储在移动设备120上的加密数据的文件共享应用;或具有恶意软件或被确定为收集设备数据并将数据发送到流氓服务器的流氓应用)。企业代理320可使用移动设备规则214来检测被规定为移动设备120安装了企业记入黑名单中(即被禁止安装)或至少没有记入白名单中(明确地被允许安装)的软件应用318的问题。代理320可配置成使用设备特定API来确定哪个应用安装在移动设备120上。 Use Case 11 : An enterprise may wish to regulate which software applications 318 are authorized to be installed on a mobile device 120 . For example, certain types of software applications 318 may negatively impact a user's productivity (e.g., by distracting the user from his or her duties), while other applications 318 may create security threats (e.g., may allow other devices to 120; or a rogue app that has malware or is determined to collect device data and send the data to a rogue server). The enterprise agent 320 can use the mobile device rules 214 to detect that the mobile device 120 is specified to have installed software applications 318 that the enterprise blacklists (i.e., is prohibited from installing) or at least is not whitelisted (explicitly allowed to install). The problem. Agent 320 may be configured to use device-specific APIs to determine which applications are installed on mobile device 120 .
因为不同的移动设备平台关于企业系统110在没有用户的同意的情况下卸载未授权应用318的能力而改变,几个不同的补救行动216是可能的。在一个实施方式中,相应的补救行动216可使代理320在用户接口304上产生消息,该消息指示用户115(也许在规定时间段内)从移动设备120卸载未授权软件应用318。补救行动216还可包括在用户115不卸载未授权应用318的情况下对代理320的指令,例如禁用移动设备120、卸载未授权应用318(例如通过使脚本引擎322运行卸载应用的脚本或计划)、防止未授权应用318启动或运行(例如通过使脚本引擎322运行终止与未授权应用318相关的一个或多个过程的脚本)、从设备120删除企业相关数据(这也可由运行适当脚本的脚本引擎322实现)、将关于被记入黑名单中的应用的安装的警告消息(SMS文本、电子邮件等)发送到企业管理机构等。在另一实施方式中,相应的补救行动216可使代理320在没有用户的同意的情况下从移动设备120卸载未授权应用318。对于不允许企业系统110在没有用户的同意的情况下从移动设备120卸载未授权应用318的移动设备平台,企业可选择使代理320使用脚本引擎322来运行终止与未授权应用318相关的一个或多个过程的脚本,从而防止它在移动设备上运行。Because different mobile device platforms vary with respect to the ability of enterprise system 110 to uninstall unauthorized applications 318 without the user's consent, several different remedial actions 216 are possible. In one embodiment, the corresponding remedial action 216 may cause the agent 320 to generate a message on the user interface 304 instructing the user 115 to uninstall the unauthorized software application 318 from the mobile device 120 (perhaps within a specified period of time). The remedial action 216 may also include instructions to the agent 320 if the user 115 does not uninstall the unauthorized application 318, such as disabling the mobile device 120, uninstalling the unauthorized application 318 (e.g., by causing the script engine 322 to run a script or program that uninstalls the application) , prevent unauthorized application 318 from launching or running (e.g., by causing script engine 322 to run a script that terminates one or more processes associated with unauthorized application 318), delete enterprise-related data from device 120 (this may also be performed by a script that runs an appropriate script engine 322), sending a warning message (SMS text, email, etc.) about the installation of the blacklisted application to an enterprise management agency, etc. In another implementation, the corresponding remedial action 216 may cause the agent 320 to uninstall the unauthorized application 318 from the mobile device 120 without the user's consent. For mobile device platforms that do not allow enterprise systems 110 to uninstall unauthorized applications 318 from mobile devices 120 without the consent of the user, the enterprise may choose to have agent 320 use scripting engine 322 to run one or Script for multiple processes, thus preventing it from running on mobile devices.
企业可基于被分配到运行未授权软件应用318的移动设备120的用户115的角色206来改变补救行动的惩办性。例如,考虑具有相应于高级主管人员的角色206的一些用户115的公司企业,具有相应于中级管理者的角色206的其他用户115和具有相应于低级雇员的角色206的其他用户。对于高级主管人员(其移动设备120具有未授权应用318),代理320可实现简单地指示用户115卸载应用318的补救行动216。对于中级管理者(其移动设备120具有未授权应用318),代理320可实现使脚本引擎322终止与未授权应用318相关的一个或多个过程的补救行动216,从而防止它在移动设备120上运行。而且,代理320可只在某些条件下(例如当移动设备在正常工作时间期间在企业房屋上时)运行这样的脚本。最后,对于低级雇员(其移动设备120具有未授权应用318),代理320可实现在没有用户的同意的情况下卸载应用318的补救行动216。技术人员将认识到,企业可基于不同组的标准以很多不同的方式改变其补救行动,以及这仅仅是一个例子。The enterprise may vary the punitive nature of the remedial action based on the role 206 assigned to the user 115 of the mobile device 120 running the unauthorized software application 318 . For example, consider a corporate enterprise that has some users 115 with roles 206 corresponding to senior executives, other users 115 with roles 206 corresponding to mid-level managers, and others with roles 206 corresponding to junior employees. For senior executives (whose mobile device 120 has the unauthorized application 318 ), the agent 320 can implement a remedial action 216 that simply instructs the user 115 to uninstall the application 318 . For mid-level administrators (whose mobile device 120 has an unauthorized application 318), the agent 320 can implement remedial action 216 that causes the scripting engine 322 to terminate one or more processes associated with the unauthorized application 318, thereby preventing it from running on the mobile device 120. run. Also, agent 320 may only run such scripts under certain conditions, such as when the mobile device is on business premises during normal business hours. Finally, for low-level employees (whose mobile devices 120 have unauthorized applications 318), the agent 320 can implement remedial action 216 of uninstalling the application 318 without the user's consent. The skilled artisan will recognize that an enterprise may vary its remedial actions in many different ways based on different sets of criteria, and that this is but one example.
企业可允许某些软件应用318安装在移动设备120上,但只在某些条件下,例如与用户角色206和/或移动设备特性208有关的条件。企业可允许具有特定角色206的用户115在他们的设备120上安装这样的应用,同时禁止其他用户115这么做。企业可允许具有某些特定类型的移动设备120安装特定的软件应用318,同时对不同的设备类型禁止这些软件应用318。可通过规定适当的移动设备规则214来以非常灵活和可定制的方式管制对在移动设备120上的特定软件应用318的安装的禁止。The enterprise may allow certain software applications 318 to be installed on the mobile device 120 , but only under certain conditions, such as those related to the user role 206 and/or mobile device characteristics 208 . An enterprise may allow users 115 with certain roles 206 to install such applications on their devices 120, while prohibiting other users 115 from doing so. An enterprise may allow certain software applications 318 to be installed on mobile devices 120 of certain types, while disallowing these software applications 318 for different device types. The prohibition of installation of specific software applications 318 on mobile devices 120 can be regulated in a very flexible and customizable manner by specifying appropriate mobile device rules 214 .
使用情况12:与使用情况11有关,移动设备规则214可将问题规定为违反规定的限制而运行(与安装相反)软件应用318的企图。这样的限制可以是时间的(应用被允许只在某些时间和/或天期间运行)、地理的(应用被允许只在移动设备120在一个或多个规定的地理区中时运行)、密码相关的(应用被允许只有用户提供与应用相关的正确密码时才运行)、其它类型的限制或条件或其组合。 Use Case 12 : Related to Use Case 11, mobile device rules 214 may specify a problem as an attempt to run (as opposed to install) a software application 318 in violation of the specified restrictions. Such restrictions may be temporal (applications are allowed to run only during certain times and/or days), geographic (applications are only allowed to run when mobile device 120 is in one or more specified geographic regions), passwords Dependent (the application is allowed to run only if the user provides the correct password associated with the application), other types of restrictions or conditions, or a combination thereof.
在一个实施方式中,规则214包括被限制或记入黑名单中的应用318的列表和可能甚至未被限制或记入白名单中的应用318的列表。企业代理320可使用应用监控器服务334(其可以是代理320本身的部分或可选地,移动设备120的另一部分,如所示)来检测哪些应用318或过程正运行。例如,AndroidTM操作系统提供用于收集并观看系统输出的机制,由此,来自系统的各种应用和部分的日志在一系列循环缓冲器中被收集,然后可通过“logcat”命令来被观看和过滤。“logcat”命令可从ADB(Android调试桥)壳被使用来读取日志消息。可选地,Android的Dalvik调试监控器服务器(DDMS)可经由到ADB的连接来自动报告“logcat”信息。因此,在运行AndroidTM操作系统的移动设备120中,企业代理320可配置成“倾听”某些“logcat”信息并检测感兴趣的移动设备应用的调用。将认识到,其它移动设备操作系统提供用于检测移动设备应用的调用的可选系统和方法。In one embodiment, the rules 214 include a list of applications 318 that are restricted or blacklisted and a list of applications 318 that may not even be restricted or whitelisted. Enterprise agent 320 may use application monitor service 334 (which may be part of agent 320 itself or, alternatively, another part of mobile device 120, as shown) to detect which applications 318 or processes are running. For example, the Android ™ operating system provides mechanisms for collecting and viewing system output, whereby logs from various applications and parts of the system are collected in a series of circular buffers and can then be viewed through the "logcat" command and filter. The "logcat" command can be used from the ADB (Android Debug Bridge) shell to read log messages. Alternatively, Android's Dalvik Debug Monitor Server (DDMS) can automatically report "logcat" information via a connection to ADB. Thus, in a mobile device 120 running the Android ™ operating system, the enterprise agent 320 can be configured to "listen" to certain "logcat" messages and detect calls of mobile device applications of interest. It will be appreciated that other mobile device operating systems provide alternative systems and methods for detecting invocations of mobile device applications.
当代理320确定应用318被调用时,代理320确定应用是否被记入黑名单中(或记入白名单中)。如果应用318被记入白名单中或至少没有被记入黑名单中,代理320允许应用运行。如果应用318被记入黑名单中(或也许更严格地,未记入白名单中),则代理320可使用规则214来确定应用的规定限制以及是否限制适用。例如,如果限制是时间的,则代理320可确定允许应用当前运行是否违反时间限制。如果限制是地理的,则代理320可确定设备120是否在被限制的地理区中。如果限制是密码相关的,则代理320可调用给用户115提示与应用318相关的密码的密码输入活动(其可以是补救行动216的部分)。如果任何限制被违反(例如未授权时间或天,在经授权地理区外部的设备120、所提供的不正确的密码、其它限制、这些限制的组合等,如规则214所规定的),则代理230可通过例如脚本引擎322运行结束应用的脚本来防止应用318运行。When the agent 320 determines that the application 318 is invoked, the agent 320 determines whether the application is blacklisted (or whitelisted). If the application 318 is whitelisted or at least not blacklisted, the agent 320 allows the application to run. If the application 318 is blacklisted (or, perhaps more strictly, not whitelisted), the agent 320 can use the rules 214 to determine the prescribed restrictions for the application and whether the restrictions apply. For example, if the restriction is temporal, agent 320 may determine whether allowing the application to currently run violates the temporal restriction. If the restriction is geographic, agent 320 may determine whether device 120 is in the restricted geographic region. If the restriction is password related, agent 320 may invoke a password entry activity that prompts user 115 for the password associated with application 318 (which may be part of remedial action 216). If any restriction is violated (e.g. unauthorized time or day, device 120 outside authorized geographic area, incorrect password provided, other restrictions, combination of these restrictions, etc., as specified in rule 214), the agent 230 may prevent application 318 from running by, for example, script engine 322 running a script that terminates the application.
在某些实施方式中,代理320配置成终止运行的应用318,如果在应用318被调用之后使用限制被违反。换句话说,如果使用条件在应用318的调用时被满足,但然后随后在应用318的使用期间被违反,则代理320可配置成结束应用318。例如,假设可应用的移动设备规则318允许应用318只在规定时间窗期间被使用以及应用318只在被允许的时间窗期间被调用但接着当时间窗终止时保持在使用中。在这种情况下,规则318可指导代理320终止应用318。在另一例子中,假设移动设备规则318允许应用318只在移动设备120在规定地理区中被使用,以及应用318在这个条件被满足时被调用。进一步假设用户115在应用318的使用期间将设备120带到规定地理区之外。在这种情况下,规则318可指导代理320终止应用318,只要设备120离开规定地理区。In some implementations, the agent 320 is configured to terminate the running application 318 if the usage restriction is violated after the application 318 is invoked. In other words, agent 320 may be configured to end application 318 if the usage condition is met at the time of invocation of application 318 but then subsequently violated during use of application 318 . For example, assume that applicable mobile device rules 318 allow application 318 to be used only during a specified time window and that application 318 is only invoked during the allowed time window but then remains in use when the time window expires. In this case, rules 318 may instruct agent 320 to terminate application 318 . In another example, assume that mobile device rules 318 allow application 318 to be used only when mobile device 120 is within a specified geographic area, and application 318 is invoked when this condition is met. Assume further that user 115 takes device 120 outside of the specified geographic area during use of application 318 . In such a case, the rules 318 may direct the agent 320 to terminate the application 318 whenever the device 120 leaves the specified geographic area.
使用情况13:移动设备规则214也可将问题规定为从移动设备120移除所需的软件应用318。用户115可意外地或有意地卸载应用。相关补救行动216可使企业代理320向用户115通知应用318的移除,以及它的重新安装是需要的。Use Case 13: Mobile Device Rules 214 may also specify a problem to remove a required software application 318 from the mobile device 120 . A user 115 may uninstall an application accidentally or intentionally. A related remedial action 216 may cause the enterprise agent 320 to notify the user 115 of the removal of the application 318 and that its reinstallation is required.
使用情况14:与使用情况13有关,移动设备规则214也可由企业代理320使用来检测所需的软件应用318被安装但不在移动设备120上运行时的情况。相关补救行动216可使企业代理320通知用户115并指示用户运行所需的应用。 Use Case 14 : Related to Use Case 13, the mobile device rules 214 can also be used by the enterprise agent 320 to detect when a required software application 318 is installed but not running on the mobile device 120. A related remedial action 216 may cause the enterprise agent 320 to notify the user 115 and instruct the user to run the required application.
使用情况15:企业代理320可使用移动设备规则214来检测被规定为移动设备120存储企业相关数据的问题,设备未被授权存储该企业相关数据。在一个实施方式中,相应的补救行动216可使代理320在用户接口304上产生消息,该消息指示用户115(也许在规定时间段内)从移动设备120删除未授权的企业相关数据。补救行动216还可包括在用户未删除数据的情况下对代理320的指示,例如在没有用户的同意的情况下从设备120删除数据、禁用设备120等。在另一实施方式中,相应的补救行动216可使代理320在没有用户的同意的情况下从移动设备120删除企业相关数据。 Use Case 15 : The enterprise agent 320 can use the mobile device rules 214 to detect issues where the mobile device 120 is specified to store enterprise-related data, which the device is not authorized to store. In one embodiment, a corresponding remedial action 216 may cause agent 320 to generate a message on user interface 304 instructing user 115 to delete unauthorized enterprise-related data from mobile device 120 (perhaps within a specified period of time). The remedial action 216 may also include instructions to the agent 320 if the user did not delete the data, such as deleting data from the device 120 without the user's consent, disabling the device 120, and the like. In another embodiment, the corresponding remedial action 216 may cause the agent 320 to delete the enterprise-related data from the mobile device 120 without the user's consent.
使用情况16:移动设备规则214可由企业代理320使用来检测移动设备120何时在漫游网络中,且相关补救行动216可使代理320向用户115警告其。补救行动216也可在设备正漫游时使代理320将设备120连接到可用的Wi-Fi网络。 Use case 16 : Mobile device rules 214 can be used by enterprise agent 320 to detect when mobile device 120 is in a roaming network, and related remedial action 216 can cause agent 320 to alert user 115 of it. Remedial action 216 may also have agent 320 connect device 120 to an available Wi-Fi network while the device is roaming.
使用情况17:补救行动216可使代理320开始在某个时间段期间例如当设备120正漫游时记录移动设备的位置。代理320可将这个信息报告回到企业系统110。 Use Case 17 : The remedial action 216 may cause the agent 320 to start recording the location of the mobile device during a certain period of time, eg, when the device 120 is roaming. Agent 320 may report this information back to enterprise system 110 .
使用情况18:移动设备规则214可使企业代理320激活或制定可适用的新移动设备规则214,如果移动设备120在某个时间段(例如几个小时或几天)运行而不连接到企业系统110。 Use Case 18 : Mobile Device Rules 214 may enable Enterprise Agent 320 to activate or formulate applicable new Mobile Device Rules 214 if Mobile Device 120 operates for a certain period of time (e.g. hours or days) without being connected to the Enterprise System 110.
使用情况19:移动设备规则214可使企业代理320将移动设备120从其飞行模式切换,如果Wi-Fi或其它网络变成设备可用的。 Use Case 19 : Mobile Device Rules 214 may cause Enterprise Agent 320 to switch Mobile Device 120 from its airplane mode if Wi-Fi or other network becomes available to the device.
使用情况20:如果移动设备120使用VPN,则移动设备规则214可使企业代理320禁用到网络热点的连接。 Use Case 20 : If the mobile device 120 uses a VPN, the mobile device rules 214 can cause the enterprise proxy 320 to disable connections to network hotspots.
使用情况21:与使用情况11有关,移动设备规则214可使企业代理320检测用户115或移动设备120何时试图使用软件应用318(例如FacebookTM、DropboxTM、GmailTM、HotmailTM等)来发送敏感或机密的企业数据。相关补救行动216可使代理320结束软件应用318、卸载它或防止数据传送的其它行动。 Use Case 21 : Related to Use Case 11, Mobile Device Rules 214 may enable Enterprise Agent 320 to detect when User 115 or Mobile Device 120 attempts to send Sensitive or confidential corporate data. Related remedial action 216 may cause agent 320 to terminate software application 318, uninstall it, or other action to prevent data transfer.
使用情况22:与使用情况21有关,移动设备规则214可使企业代理320检测用户115或移动设备120何时连接到企业资源130并访问敏感或机密数据。在某些情况下,补救行动216可使代理320防止设备120将数据下载、复制和/或发送到任何其他人。 Use Case 22 : Related to Use Case 21, mobile device rules 214 may enable enterprise agent 320 to detect when user 115 or mobile device 120 connects to enterprise resource 130 and accesses sensitive or confidential data. In some cases, remedial action 216 may cause agent 320 to prevent device 120 from downloading, copying, and/or sending data to anyone else.
使用情况23:移动设备规则214可使企业代理320检测在移动设备收件箱中的SMS消息的数量何时超过规定数量,且相关补救行动216可使代理320向IT管理员警告其。 Use case 23 : Mobile device rules 214 may enable enterprise agent 320 to detect when the number of SMS messages in a mobile device inbox exceeds a prescribed number, and related remedial action 216 may enable agent 320 to alert IT administrators.
使用情况24:移动设备规则214可使企业代理320监控移动设备的消息收件箱并检测来自被记入黑名单中的成员的进入的SMS消息或包括机密或敏感的企业信息的消息。相关补救行动216可使代理320向IT管理员警告其,禁用设备120,删除敏感消息,禁用设备的消息发送能力,等等。 Use Case 24 : The mobile device rules 214 may enable the enterprise agent 320 to monitor the mobile device's message inbox and detect incoming SMS messages from blacklisted members or messages containing confidential or sensitive enterprise information. A related remedial action 216 may have the agent 320 alert the IT administrator, disable the device 120, delete sensitive messages, disable the device's messaging capabilities, and the like.
使用情况25:与使用情况24有关,移动设备规则214可使企业代理320监控移动设备的外发消息队列并检测发往被记入黑名单中的电话号码的外发SMS消息或包括机密或敏感的企业信息的消息。相关补救行动216可使代理320向IT管理员警告其,禁用设备120,删除敏感消息,禁用设备的消息发送能力,等等。 Use Case 25 : Related to Use Case 24, the Mobile Device Rules 214 can enable the Enterprise Agent 320 to monitor the mobile device's outgoing message queue and detect outgoing SMS messages addressed to blacklisted phone numbers or containing confidential or sensitive enterprise information news. A related remedial action 216 may have the agent 320 alert the IT administrator, disable the device 120, delete sensitive messages, disable the device's messaging capabilities, and the like.
使用情况26:移动设备规则214可由企业代理320使用来检测新的或未授权的SIM卡何时被插入移动设备120内。补救行动216可使代理320将讯息发送到新SIM卡的企业管理机构,指示用户115移除SIM卡,等等。 Use case 26 : The mobile device rules 214 can be used by the enterprise agent 320 to detect when a new or unauthorized SIM card is inserted into the mobile device 120 . Remedial action 216 may cause agent 320 to send a message to the corporate authority for the new SIM card, instructing user 115 to remove the SIM card, and so on.
使用情况27:移动设备规则214可由企业代理320使用来检测移动设备120的用户115的可疑行为的模式或签名。例如,规则214可规定涉及用户行为的某种逻辑组合,例如常去被记入黑名单中的或可疑的网站、被记入黑名单中的或可疑的IP地址的使用和/或被记入黑名单中的移动设备应用的安装或运行。如果代理320确定用户115的行为违反了规则214,则代理320可实施补救行动216,例如防止用户115登录到企业系统110中、从设备120删除所有企业数据等。 Use case 27 : Mobile device rules 214 may be used by enterprise agent 320 to detect patterns or signatures of suspicious behavior by users 115 of mobile devices 120 . For example, rules 214 may specify certain logical combinations involving user behavior, such as frequenting blacklisted or suspicious websites, use of blacklisted or suspicious IP addresses, and/or being logged into The installation or operation of applications on mobile devices that are blacklisted. If agent 320 determines that user 115's actions violated rules 214, agent 320 may implement remedial action 216, such as preventing user 115 from logging into enterprise system 110, deleting all enterprise data from device 120, etc.
一些移动设备操作系统不允许应用(例如企业代理320)看到其它应用正在设备120上做什么。这有时被称为在设备120上的应用的“沙箱化”。优选地,移动设备的应用(其使用是牵涉规定用户的可疑行为模式的移动设备规则214所必需的)被编程以将这些行为记录到下面更充分描述的安全文档容器336中。通过这么做,代理320可配置成通过访问容器336来读取那些可疑行为。Some mobile device operating systems do not allow applications (eg, enterprise agent 320 ) to see what other applications are doing on device 120 . This is sometimes referred to as "sandboxing" of applications on device 120 . Preferably, the mobile device's application, the use of which is required to address the mobile device rules 214 that dictate patterns of suspicious behavior by the user, is programmed to log these behaviors into the secure document container 336 described more fully below. By doing so, agent 320 may be configured to read those suspicious behaviors by accessing container 336 .
使用情况28:企业代理320可使用移动设备规则214来检测被规定为移动设备接收到未授权或可疑网络连接的问题。通常,移动设备120接收比它产生外发连接少得多的进入的网络连接,因为移动设备120的用户115更多地向外连接(例如当用户115浏览网站、搜索在线商店等时)。因此,进入的网络连接可能是由于第三方由于邪恶的原因而侵入到移动设备120内的企图,例如盗窃企业信息、禁用设备120等。当然,存在当进入的连接是经授权的或良性的时例如当移动设备120接收到电子邮件时的一些情况。然而,电子邮件一般通过设备120的公知端口被接收,代理可配置成确定该公知端口。因此,企业代理320可配置成通过检查连接的参数(例如连接的移动设备端口)来对进入的网络连接做出反应。如果检查导致确定进入的连接被授权,则代理320可配置成允许进入的连接。另一方面,如果检查导致确定进入的连接未被授权或是可疑,则代理320可配置成执行拒绝、防止或终止未授权或可疑的网络连接的相应的补救行动216。这个功能可被称为“移动防火墙”。 Use case 28 : The enterprise agent 320 can use the mobile device rules 214 to detect issues specified as mobile devices receiving unauthorized or suspicious network connections. Typically, a mobile device 120 receives far fewer incoming network connections than it makes outgoing connections because the user 115 of the mobile device 120 connects more often (eg, when the user 115 browses a website, searches an online store, etc.). Thus, an incoming network connection may be due to an attempt by a third party to break into mobile device 120 for nefarious reasons, such as stealing corporate information, disabling device 120, and the like. Of course, there are instances when the incoming connection is authorized or benign, such as when mobile device 120 receives an email. However, email is typically received through a well-known port on device 120, which the agent can be configured to determine. Accordingly, enterprise agent 320 may be configured to react to incoming network connections by checking parameters of the connection, such as the connected mobile device port. If the check results in a determination that the incoming connection is authorized, the proxy 320 may be configured to allow the incoming connection. On the other hand, if the inspection results in a determination that the incoming connection is unauthorized or suspicious, agent 320 may be configured to perform a corresponding remedial action 216 of denying, preventing, or terminating the unauthorized or suspicious network connection. This functionality may be referred to as a "mobile firewall".
基于云的企业cloud-based enterprise
在一些实施方式中,提供实质上或完全在云156内的企业系统110。任何所需的移动设备管理系统126、安全移动网关128和企业资源130在这样的基于云的企业系统110中实质上或完全部署在云156内。元应用系统可部署在云156和/或移动设备120内以帮助管理设备120。这样的实施方式可以或可以不包括非云企业系统或部署在非云企业系统内的元应用部件。In some implementations, the enterprise system 110 is provided substantially or entirely within the cloud 156 . Any required mobile device management system 126 , secure mobile gateway 128 , and enterprise resources 130 are deployed substantially or entirely within cloud 156 in such cloud-based enterprise system 110 . A meta-app system can be deployed in the cloud 156 and/or within the mobile device 120 to help manage the device 120 . Such implementations may or may not include non-cloud enterprise systems or meta-application components deployed within non-cloud enterprise systems.
例如,企业(例如社会联网企业)可将移动设备120(例如iPadsTM)提供给一组人,元应用部署在设备120内,且元应用部件和任何所需的系统126、网关128和资源130只部署在云156内。在某些实施方式中,企业可使用存储在云156和/或设备120内的策略(例如访问策略218)以帮助管理或限制移动设备通信或对基于云的企业资源的访问。元应用也可用于监控/测量/补救由企业使用的云或基于云的服务。For example, an enterprise (e.g., a social networking enterprise) may provide mobile devices 120 (e.g., iPads ™ ) to a group of people, the meta-application is deployed within the device 120, and the meta-application components and any required systems 126, gateways 128, and resources 130 Deployed within cloud 156 only. In certain implementations, the enterprise may use policies (eg, access policy 218 ) stored within the cloud 156 and/or device 120 to help manage or limit mobile device communications or access to cloud-based enterprise resources. Meta-applications can also be used to monitor/measure/remediate cloud or cloud-based services used by enterprises.
在企业和移动设备之间的提高的通信体验Enhanced communication experience between enterprise and mobile devices
对于很多运营商网络125,一般存在一些地理区域,其中无线服务是弱的或不可用的。如果例如无线运营商在这样的区域有相对少的或没有蜂窝通信节点或塔,则会出现这种情况。参考图1A,在移动设备120和运营商网络125之间的网络连接142常常是不可靠的,特别是当移动设备120位于具有弱或不存在的无线服务的这样的区域内时。因此,在移动设备120和企业系统110之间的网络连接142、144常常是不可靠的。For many carrier networks 125, there are typically geographic areas where wireless service is weak or unavailable. This can arise if, for example, a wireless carrier has relatively few or no cellular communication nodes or towers in such an area. Referring to FIG. 1A , the network connection 142 between the mobile device 120 and the carrier network 125 is often unreliable, especially when the mobile device 120 is located in such an area with weak or non-existent wireless service. Consequently, the network connections 142, 144 between the mobile device 120 and the enterprise system 110 are often unreliable.
从移动设备120的观点看,当用户115输入待发送到企业系统110的企业资源130的数据时,网络连接142的失去可能是不方便的。例如,软件应用318可配置成打开到移动设备管理系统126或其它网络部件的网络连接142、144,并一般经由移动设备120的用户接口304从用户请求数据输入。例如,应用318可配置成在显示器326上提供一个或多个数据字段,数据字段配置成经由袖珍键盘324接收用户的数据作为文本输入。应用318还可配置成一旦数据由用户115接收就将数据发送到企业资源130。然而,如果网络连接142在数据被发送到移动设备管理系统126之前被失去,应用318就可丢弃用户115输入的数据。例如,在接收到报告失去的连接142的TCP套接字错误时,应用318可丢弃数据。或者,应用318可试图将数据发送到移动设备管理系统126并等待回复。因为连接142被失去,应用318在某个时间段期间没有接收到回复时将最终超时。在任一情况下,应用318可丢弃用户115提供的数据,而数据不发送到移动设备管理系统126。最终,一旦连接142恢复,这就使用户115重新输入数据。From the perspective of mobile device 120 , the loss of network connection 142 may be inconvenient when user 115 enters data to be sent to enterprise resource 130 of enterprise system 110 . For example, the software application 318 may be configured to open a network connection 142 , 144 to the mobile device management system 126 or other network component, and to request data input from a user, typically via the user interface 304 of the mobile device 120 . For example, application 318 may be configured to provide one or more data fields on display 326 configured to receive user data as text input via keypad 324 . Application 318 may also be configured to send data to enterprise resource 130 once the data is received by user 115 . However, the application 318 may discard the data entered by the user 115 if the network connection 142 is lost before the data is sent to the mobile device management system 126 . For example, upon receiving a TCP socket error reporting a lost connection 142, the application 318 may drop data. Alternatively, the application 318 may attempt to send data to the mobile device management system 126 and wait for a reply. Because the connection 142 is lost, the application 318 will eventually time out when no reply is received during a certain period of time. In either case, the application 318 may discard the data provided by the user 115 without the data being sent to the mobile device management system 126 . Ultimately, this allows user 115 to re-enter data once connection 142 is restored.
从企业资源130和隧道中介224(或其它隧道中介)的观点看,可出现稍微类似的动态。特别是,当隧道中介224试图经由应用隧道将数据发送到移动设备120时,移动设备的网络连接142可变得失去。From the perspective of enterprise resource 130 and tunnel intermediary 224 (or other tunnel intermediaries), a somewhat similar dynamic may arise. In particular, when the tunnel intermediary 224 attempts to send data to the mobile device 120 via the application tunnel, the mobile device's network connection 142 may become lost.
在一些实施方式中,当在如上所述的移动设备120的软件应用318和企业资源130之间创建应用隧道时,设备的企业代理320和/或企业的隧道中介224(或其它隧道中介)可配置成通过缓存数据来增强在移动设备120和企业资源130之间的通信。例如,代理320可将数据缓存在移动设备120上,且隧道中介224可将数据缓存在移动设备管理系统126内。In some implementations, when an application tunnel is created between a software application 318 of a mobile device 120 and an enterprise resource 130 as described above, the device's enterprise proxy 320 and/or the enterprise's tunnel intermediary 224 (or other tunnel intermediaries) may Configured to enhance communication between mobile device 120 and enterprise resource 130 by caching data. For example, proxy 320 may cache data on mobile device 120 and tunnel broker 224 may cache data within mobile device management system 126 .
图10是示出一种方法的实施方式,其中移动设备120可响应于到企业计算机系统110的网络连接142的失去而缓存由用户115输入的数据。该方法在图1A的上下文中被描述,但也可在其它计算系统例如图1B-1E的任何系统中被使用。该方法在步骤1002中开始,其中在移动设备120上的软件应用318向用户115提示输入数据。此时,应用隧道可经由隧道中介已经在应用318和企业资源130之间形成。在步骤1004中,应用318例如经由移动设备120的用户接口304接收数据。在步骤1006中,应用318产生请求以将所接收的数据发送到企业系统110的企业资源130。在步骤1008中,企业代理320接收或拦截应用的请求以将所接收的数据发送到企业资源120。在决策步骤1010中,代理320确定在移动设备120和隧道中介224之间的网络连接142、144的可用性。如果网络连接142、144是可用的,则在步骤1012中,代理320开始经由连接142、144将数据发送到隧道中介。例如,代理320可打开到隧道中介服务器的TCP套接字。如果代理能够发送从用户115接收的所有数据,则应用318可不采取与前面在步骤1004从用户接收的数据有关的进一步行动。在一些实施方式中,该方法可返回到步骤1004,如果用户115仍然将新数据输入到应用318。FIG. 10 is an embodiment illustrating a method in which mobile device 120 may cache data entered by user 115 in response to loss of network connection 142 to enterprise computer system 110 . The method is described in the context of FIG. 1A, but can also be used in other computing systems, such as any of the systems of FIGS. 1B-1E. The method begins in step 1002 where the software application 318 on the mobile device 120 prompts the user 115 for data input. At this point, an application tunnel may have been formed between application 318 and enterprise resource 130 via a tunnel intermediary. In step 1004 , the application 318 receives data, eg, via the user interface 304 of the mobile device 120 . In step 1006 , application 318 generates a request to send the received data to enterprise resource 130 of enterprise system 110 . In step 1008 , enterprise agent 320 receives or intercepts the application's request to send the received data to enterprise resource 120 . In decision step 1010 , proxy 320 determines the availability of network connections 142 , 144 between mobile device 120 and tunnel intermediary 224 . If the network connection 142, 144 is available, then in step 1012 the proxy 320 starts sending data via the connection 142, 144 to the tunnel intermediary. For example, proxy 320 may open a TCP socket to the tunnel intermediary server. If the agent is able to send all the data received from the user 115, the application 318 may take no further action regarding the data previously received from the user at step 1004. In some implementations, the method may return to step 1004 if the user 115 is still entering new data into the application 318 .
如果网络连接142、144被失去和不可用,则在步骤1016中,代理320可防止软件应用318检测到网络连接142、144的失去。例如,代理320可防止应用318检测由连接142、144的失去引起的TCP套接字错误。然后在步骤1018中,代理320缓存还没有从移动设备120发送到隧道中介224的所接收的数据的至少一部分(和优选地全部)。数据可缓存在任何适当的机器可读存储器设备例如随机存取存储器308、硬盘驱动器306、闪存或与移动设备120的存储卡端口307啮合的存储卡中。然后,在决策步骤1020中,代理320确定到隧道中介224的网络连接142、144是否恢复。在决策步骤1020中的确定可涉及代理320从代理订阅的通知服务接收通知。如果到隧道中介224的网络连接142、144没有恢复,则该方法可等待一段时间并接着返回到决策步骤1020。一旦网络连接142、144恢复,代理320就经由恢复的网络连接142、144将缓存的数据发送到隧道中介224。If the network connection 142, 144 is lost and unavailable, then in step 1016, the agent 320 may prevent the software application 318 from detecting the loss of the network connection 142, 144. For example, proxy 320 may prevent application 318 from detecting TCP socket errors caused by loss of connection 142 , 144 . Then in step 1018 the proxy 320 caches at least a portion (and preferably all) of the received data that has not yet been sent from the mobile device 120 to the tunnel intermediary 224 . Data may be cached in any suitable machine-readable memory device, such as random access memory 308 , hard drive 306 , flash memory, or a memory card that engages memory card port 307 of mobile device 120 . Then, in decision step 1020, the proxy 320 determines whether the network connection 142, 144 to the tunnel intermediary 224 is restored. The determination in decision step 1020 may involve the proxy 320 receiving a notification from a notification service to which the proxy subscribes. If the network connection 142 , 144 to the tunnel intermediary 224 is not restored, the method may wait for a period of time and then return to decision step 1020 . Once the network connection 142 , 144 is restored, the proxy 320 sends the cached data to the tunnel intermediary 224 via the restored network connection 142 , 144 .
在所示实施方式中,企业代理320只在代理320确定到隧道中介224的连接被失去(步骤1010)之后缓存用户提供的数据(步骤1018)。在其它实施方式中,代理320可配置成在确定到隧道中介224的连接是否被失去或不可用之前缓存用户提供的数据。例如,代理320可响应于在步骤1004从用户接收到数据而缓存数据。在这样的实施方式中,在将数据发送到隧道中介224之后,可擦除缓存的数据。In the illustrated embodiment, enterprise proxy 320 caches user-provided data (step 1018) only after proxy 320 determines that the connection to tunnel intermediary 224 has been lost (step 1010). In other implementations, the proxy 320 may be configured to cache user-supplied data prior to determining whether the connection to the tunneling broker 224 is lost or unavailable. For example, proxy 320 may cache data in response to receiving data from a user at step 1004 . In such implementations, the cached data may be erased after the data is sent to tunnel intermediary 224 .
将认识到,软件应用318可进行用户在几个连续的阶段中输入数据的过程,其中应用318试图在每个阶段之后发送所接收的数据。如果网络连接142、144在最终数据输入阶段之前被失去且应用318在连接142、144被失去之后接收到额外的数据,则企业代理320可配置成缓存额外的数据的至少一部分(和优选地全部)。在那种情况下,代理320可通过经由恢复的网络连接142、144将缓存的额外数据发送到隧道中介来对网络连接142、144的恢复做出响应。It will be appreciated that the software application 318 may conduct the process of the user entering data in several successive stages, with the application 318 attempting to send the received data after each stage. If the network connection 142, 144 is lost before the final data entry stage and the application 318 receives additional data after the connection 142, 144 is lost, the enterprise proxy 320 may be configured to cache at least a portion (and preferably all) of the additional data ). In that case, the proxy 320 may respond to the restoration of the network connection 142 , 144 by sending the cached additional data to the tunnel intermediary via the restored network connection 142 , 144 .
如上面提到的,在步骤1016中,企业代理320可防止软件应用318检测到网络连接142、144的失去。从软件应用318的观点看,连接142、144在这样的情况下是可用的。就应用318来说,它具有IP地址和使用来通信的服务器端口。以这种方式,当事实上应用318只与代理320通信时(当连接142、144被失去时)或经由代理320与隧道中介224通信时(当连接142、144是可用的时),可给应用318它正与企业资源130通信的印象。当连接142、144被失去时,代理320可给应用318企业资源130仍然在读取请求和对请求做出响应的过程中的印象,从而防止应用318超时。As mentioned above, in step 1016, enterprise agent 320 may prevent software application 318 from detecting the loss of network connection 142,144. From the point of view of the software application 318, the connections 142, 144 are available under such circumstances. As far as application 318 is concerned, it has an IP address and a server port to use to communicate. In this way, when in fact the application 318 only communicates with the proxy 320 (when the connection 142, 144 is lost) or communicates with the tunnel intermediary 224 via the proxy 320 (when the connection 142, 144 is available), it can give Apply 318 the impression that it is communicating with enterprise resource 130 . When the connection 142, 144 is lost, the proxy 320 can give the application 318 the impression that the enterprise resource 130 is still in the process of reading and responding to the request, thereby preventing the application 318 from timing out.
移动设备用户的体验可类似于应用318的体验。用户的体验取决于应用318。所以如果代理320保持应用318不知道失去的网络连接142、144,用户也可保持不知道它。这种方法可防止例如在连接142、144失去时用户必须将数据重新输入到应用318中的前述问题。The mobile device user's experience may be similar to that of application 318 . The user's experience depends on the application 318 . So if the proxy 320 keeps the application 318 unaware of the lost network connection 142, 144, the user can also remain unaware of it. This approach prevents the aforementioned problems of having to re-enter data into the application 318 when the connection 142, 144 is lost, for example.
在一些情况下,特别是当移动设备120正从企业系统110下载大量数据时,通过将数据分组缓存在企业系统110内来对失去的网络连接做出响应可能是有用的。图11是示出一种方法的实施方式,其中当到移动设备120的网络连接142、144被失去时,企业计算机系统110缓存待发送到移动设备120的数据。在企业资源130将数据发送到移动设备120的上下文中描述了该方法。虽然在图1A的上下文中描述了该方法,它可在其它计算系统例如图1B-1E的任何系统中被使用。该方法在步骤1102中开始,其中例如经由隧道中介224在移动设备应用318和企业资源130之间建立应用隧道,如上所述。例如,可响应于由软件应用318在移动设备120上产生的访问请求来建立应用隧道。在步骤1104中,隧道中介224从企业资源130接收一个或多个数据分组。在决策步骤1106中,隧道中介224确定在隧道中介224和移动设备120之间的网络连接142、144是否是可用的。如果网络连接142、144是可用的,则在步骤1108中,隧道中介224经由网络连接142、144将数据分组发送到移动设备120。另一方面,如果网络连接142、144不是可用的,则在步骤1110中,隧道中介224将一个或多个所接收的数据分组缓存在计算机可读存储器例如移动设备管理系统126的存储器中。在步骤1110中,隧道中介224可配置成代表移动设备120向企业资源130发送数据的接收的一个或多个确认,如果资源130从设备120预期这样的确认。在任一步骤1108和1110之后,隧道中介224在决策步骤1112中确定隧道中介224是否从企业资源130接收额外的数据分组。如果是,则该方法返回到决策步骤1106。如果否,则该方法可在步骤1114中结束。In some cases, particularly when mobile device 120 is downloading large amounts of data from enterprise system 110 , it may be useful to respond to a lost network connection by buffering data packets within enterprise system 110 . 11 is an embodiment illustrating a method in which the enterprise computer system 110 buffers data to be sent to the mobile device 120 when the network connection 142, 144 to the mobile device 120 is lost. The method is described in the context of enterprise resource 130 sending data to mobile device 120 . Although the method is described in the context of FIG. 1A, it may be used in other computing systems, such as any of the systems of FIGS. 1B-1E. The method begins in step 1102, where an application tunnel is established between mobile device application 318 and enterprise resource 130, eg, via tunnel intermediary 224, as described above. For example, an application tunnel may be established in response to an access request generated on mobile device 120 by software application 318 . In step 1104 , tunnel intermediary 224 receives one or more data packets from enterprise resource 130 . In decision step 1106, tunnel broker 224 determines whether a network connection 142, 144 between tunnel broker 224 and mobile device 120 is available. If the network connection 142 , 144 is available, then in step 1108 the tunnel intermediary 224 sends the data packet to the mobile device 120 via the network connection 142 , 144 . On the other hand, if the network connection 142 , 144 is not available, then in step 1110 the tunnel intermediary 224 buffers the one or more received data packets in computer-readable memory, such as the memory of the mobile device management system 126 . In step 1110 , tunnel intermediary 224 may be configured to send one or more acknowledgments of receipt of data to enterprise resource 130 on behalf of mobile device 120 , if resource 130 expects such acknowledgments from device 120 . After either steps 1108 and 1110 , tunnel intermediary 224 determines in decision step 1112 whether tunnel intermediary 224 received additional data packets from enterprise resource 130 . If so, the method returns to decision step 1106 . If not, the method may end in step 1114 .
在所示实施方式中,隧道中介224只在中介224确定到移动设备120的连接被失去(步骤1106)之后才缓存数据(步骤1110)。在其它实施方式中,隧道中介224可配置成在确定到移动设备120的连接被失去或是可用的之前缓存数据。例如,隧道中介224可响应于来自企业资源130的数据的接收而缓存数据。在这样的实施方式中,可在将数据发送到移动设备120之后擦除缓存的数据。In the illustrated embodiment, tunnel intermediary 224 only caches data (step 1110 ) after intermediary 224 determines that the connection to mobile device 120 has been lost (step 1106 ). In other implementations, the tunnel intermediary 224 can be configured to cache data until it is determined that the connection to the mobile device 120 is lost or available. For example, tunnel intermediary 224 may cache data in response to receipt of data from enterprise resource 130 . In such implementations, the cached data may be wiped after the data is sent to the mobile device 120 .
如上面提到的,在图10所示的方法期间,在移动设备120上的企业代理320使用上面描述的方法优选地给软件应用318(其可以是由企业资源130发送的数据的预期接收者)网络连接142、144还没有被失去的印象。类似地,例如根据图11所示的方法,隧道中介(例如中介224)可配置成给企业资源130网络连接142、144还没有被失去的印象。As mentioned above, during the method shown in FIG. ) The impression that the network connection 142, 144 has not been lost. Similarly, a tunneling intermediary (eg, intermediary 224 ) may be configured to give enterprise resource 130 the impression that network connection 142 , 144 has not been lost, such as in accordance with the method shown in FIG. 11 .
在一些实施方式中,隧道中介(例如中介224)和/或企业代理320配置成压缩通过应用隧道传输的数据。隧道中介可配置成压缩通过资源网络连接152从企业资源130(或在企业系统110之外的另一资源)接收的数据,并通过网络连接142、144将所压缩的数据发送到移动设备120。当接收到所压缩的数据时,企业代理320可配置成在数据被提供到软件应用318之前对数据解压缩,软件应用318是数据的预期接收者。因此,应用318不需要能够对数据解压缩。In some implementations, a tunneling intermediary (eg, intermediary 224 ) and/or enterprise proxy 320 is configured to compress data tunneled through the application. The tunnel intermediary may be configured to compress data received from enterprise resource 130 (or another resource external to enterprise system 110 ) over resource network connection 152 and to send the compressed data to mobile device 120 over network connections 142 , 144 . Upon receiving compressed data, enterprise agent 320 may be configured to decompress the data before it is provided to software application 318, which is the intended recipient of the data. Therefore, application 318 need not be able to decompress the data.
类似地,移动设备的企业代理320可配置成压缩从软件应用318拦截或接收的数据,并通过网络连接142、144将所压缩的数据发送到隧道中介。当接收到所压缩的数据时,隧道中介可配置成在数据被提供到企业资源130(或在企业系统110之外的另一资源)之前对数据解压缩,企业资源130是数据的预期接收者。因此,企业资源130不需要能够对数据解压缩。Similarly, the mobile device's enterprise agent 320 may be configured to compress data intercepted or received from the software application 318 and send the compressed data over the network connection 142, 144 to the tunneling intermediary. When compressed data is received, the tunnel intermediary may be configured to decompress the data before the data is provided to enterprise resource 130 (or another resource external to enterprise system 110), which is the intended recipient of the data . Therefore, enterprise resource 130 need not be able to decompress the data.
这个压缩功能在移动设备120正发送或接收大数据文件时或当移动设备120在网络连接142、144具有低带宽的区域中时可能是有用的。在某些实施方式中,数据被压缩大约20-95%。数据压缩的程度可取决于数据类型、网络连接142、144和152的可用数据带宽以及其它因素。而且,应用318和移动设备120的用户115都可保持不知道数据的压缩和解压缩。This compression function may be useful when the mobile device 120 is sending or receiving large data files or when the mobile device 120 is in an area where the network connection 142, 144 has low bandwidth. In some embodiments, the data is compressed by about 20-95%. The degree of data compression may depend on the type of data, the available data bandwidth of network connections 142, 144, and 152, and other factors. Also, both the application 318 and the user 115 of the mobile device 120 may remain unaware of the compression and decompression of data.
在一些实施方式中,应用隧道可由企业系统110使用来用于错误校正(例如奇偶校验)、失去的数据分组的重发等。隧道中介224可用于线程不安全服务器应用的负载平衡或线程安全/同步。In some implementations, the application tunnel can be used by the enterprise system 110 for error correction (eg, parity checking), retransmission of lost data packets, and the like. Tunnel broker 224 may be used for load balancing or thread safety/synchronization for thread-unsafe server applications.
移动设备的“远程控制”"Remote Control" of Mobile Devices
在一些实施方式中,可提供“远程控制”系统和方法以允许企业的移动设备120在相对于移动设备120位于远处的计算机(“控制器计算机”)处由一个或多个帮助台操作员、管理员或其他人(在本文被共同称为“控制器”)诊断和控制。现在描述这样的系统和方法。In some embodiments, a "remote control" system and method may be provided to allow an enterprise's mobile device 120 to be controlled by one or more help desk operators at a computer located remotely relative to the mobile device 120 (the "controller computer"). , an administrator or others (collectively referred to herein as a "controller") to diagnose and control. Such systems and methods are now described.
关于图2和12,移动设备管理系统126可配置成便于在移动设备120和安装有远程控制模块1202的控制器计算机1200之间的“远程控制会话”。控制器计算机1200由在本文被称为控制器1204的用户操作,并可位于企业计算机系统110(图1A)内或之外。在这个上下文中,隧道中介224可帮助形成在控制器计算机1200和移动设备120的企业代理320(图3)之间的应用隧道。With respect to FIGS. 2 and 12 , the mobile device management system 126 may be configured to facilitate a "remote control session" between the mobile device 120 and the controller computer 1200 on which the remote control module 1202 is installed. Controller computer 1200 is operated by a user referred to herein as controller 1204, and may be located within or outside of enterprise computer system 110 (FIG. 1A). In this context, tunnel intermediary 224 may facilitate the formation of an application tunnel between controller computer 1200 and enterprise agent 320 ( FIG. 3 ) of mobile device 120 .
参考图12,远程控制模块1202优选地配置成向与隧道中介224相关的服务器(例如存储有隧道定义228的服务器或代理服务器)发起网络连接(例如通过互联网)。在一些实施方式中,这个连接是经由应用隧道,例如上面描述的那些应用隧道。将认识到,企业可具有多个移动设备管理系统126。因此,远程控制模块1202可允许控制器1204指定要连接的一个或多个隧道中介224。Referring to FIG. 12 , the remote control module 1202 is preferably configured to initiate a network connection (eg, via the Internet) to a server associated with the tunnel broker 224 (eg, the server storing the tunnel definition 228 or a proxy server). In some embodiments, this connection is via an application tunnel, such as those described above. It will be appreciated that an enterprise may have multiple mobile device management systems 126 . Accordingly, remote control module 1202 may allow controller 1204 to specify one or more tunnel brokers 224 to connect to.
移动设备120的用户115可能与移动设备120的用户遇到技术困难,并可能希望从帮助台服务寻求帮助。可由或为企业或可选地为多个企业排他地操作帮助台服务。在一些实施方式中,用户115可通过联系帮助台服务(例如通过电话呼叫、电子邮件、文本消息等)请求与控制器计算机1200的远程控制会话。在这样的实施方式中,与帮助台服务相关的控制器1204可接着使控制器计算机1200的远程控制模块1202将对在控制器计算机1200和移动设备120之间的远程控制会话的请求发送到用户的移动设备120。在一些实施方式中,移动设备120的企业代理320允许用户115请求或发起与控制器计算机1200的远程控制会话。在一些实施方式中,远程控制会话可由控制器1204发起而不首先由用户115请求。User 115 of mobile device 120 may be experiencing technical difficulties with the user of mobile device 120 and may wish to seek assistance from a help desk service. The help desk service may be operated exclusively by or for an enterprise, or alternatively for a plurality of enterprises. In some implementations, the user 115 may request a remote control session with the controller computer 1200 by contacting a help desk service (eg, by phone call, email, text message, etc.). In such an embodiment, the controller 1204 associated with the help desk service may then cause the remote control module 1202 of the controller computer 1200 to send a request for a remote control session between the controller computer 1200 and the mobile device 120 to the user mobile device 120 . In some implementations, the enterprise agent 320 of the mobile device 120 allows the user 115 to request or initiate a remote control session with the controller computer 1200 . In some implementations, a remote control session may be initiated by the controller 1204 without first being requested by the user 115 .
图13是示出一种方法的实施方式的流程图,其中控制器计算机1200(图12)参与与移动设备120的远程控制会话。该方法在远程控制模块1202连接到与隧道中介224(或与移动设备120的远程控制会话的另一中介)相关的服务器的时刻开始。FIG. 13 is a flowchart illustrating an embodiment of a method in which the controller computer 1200 ( FIG. 12 ) participates in a remote control session with the mobile device 120 . The method begins when the remote control module 1202 connects to a server associated with the tunnel broker 224 (or another broker of a remote control session with the mobile device 120).
在步骤1302中,远程控制模块1202为控制器1204提供可用于远程控制会话的一个或多个移动设备120的识别。这可通过远程控制模块1202为了这样的识别而将请求发送到移动设备管理系统126和移动设备管理器202通过查找在移动设备信息204中的信息做出响应并将所请求的信息发送到控制器计算机1200来实现。所提供的识别可包括例如被分配到移动设备120的用户115的名字或用户名。可根据任何标准例如由控制器1204对远程控制模块1202规定的标准来过滤(例如通过移动设备管理器202或远程控制模块1202)所识别的设备120。例如,远程控制模块1202可以列出仅仅当前连接到企业系统110的那些移动设备120或仅仅是规定用户组的成员的那些移动设备120或用户115。此外,远程控制模块1202可配置成允许控制器1204对照所登记的移动设备120进行搜索,以例如搜索特定的设备120或用户115。除了对控制器1204识别移动设备120的用户115以外,远程控制模块1202也可配置成提供关于所识别的设备120的额外信息,例如设备型号、操作系统版本、平台等。移动设备管理器202可从移动设备信息204得到这样的信息,例如移动设备特性208。In step 1302, the remote control module 1202 provides the controller 1204 with identifications of one or more mobile devices 120 that are available for the remote control session. This may be done by the remote control module 1202 sending a request to the mobile device management system 126 for such identification and the mobile device manager 202 responds by looking up the information in the mobile device information 204 and sending the requested information to the controller computer 1200 to achieve. The provided identification may include, for example, the name or username of the user 115 assigned to the mobile device 120 . Devices 120 identified (eg, by mobile device manager 202 or remote control module 1202 ) may be filtered according to any criteria, such as criteria specified by controller 1204 to remote control module 1202 . For example, the remote control module 1202 may list only those mobile devices 120 currently connected to the enterprise system 110 or only those mobile devices 120 or users 115 that are members of a specified group of users. Additionally, the remote control module 1202 may be configured to allow the controller 1204 to search against registered mobile devices 120 , eg, to search for a particular device 120 or user 115 . In addition to identifying the user 115 of the mobile device 120 to the controller 1204, the remote control module 1202 may also be configured to provide additional information about the identified device 120, such as device model, operating system version, platform, and the like. Mobile device manager 202 may obtain such information, such as mobile device characteristics 208 , from mobile device information 204 .
仍然参考图13,在步骤1304中,远程控制模块1202从控制器1204接收对移动设备120中的至少一个的选择和/或发起与选定设备120的远程控制会话的指令。在步骤1306中,远程控制模块1202将对远程控制会话的请求发送到选定移动设备120。在远程控制会话经由应用隧道被进行的实施方式中,请求可被发送到隧道中介224。在其它实施方式中,请求被直接发送到选定移动设备120。在步骤1308中,控制器计算机1200开始从移动设备120重复地接收数批最近更新的“用户接口仿真数据”。在应用隧道上下文中,这个数据经由隧道中介224从移动设备120流动到控制器计算机1200。用户接口仿真数据可包括移动设备120的企业代理320使用各种设备显示“抓取”方法(也被称为“屏幕抓取”和/或“屏幕缓冲区捕获”)中的任一种来捕获的数据,如通常在桌面计算机领域中已知的。例如,在桌面计算机环境中,用于向另一计算机提供图形接口的一个已知的协议是由MicrosoftTM开发的远程桌面协议RDP。Still referring to FIG. 13 , in step 1304 , the remote control module 1202 receives a selection of at least one of the mobile devices 120 and/or an instruction to initiate a remote control session with the selected device 120 from the controller 1204 . In step 1306 , the remote control module 1202 sends a request for a remote control session to the selected mobile device 120 . In embodiments where the remote control session is conducted via an application tunnel, the request may be sent to the tunnel broker 224 . In other implementations, the request is sent directly to the selected mobile device 120 . In step 1308 , the controller computer 1200 begins to repeatedly receive several batches of the most recently updated “user interface simulation data” from the mobile device 120 . In the context of an application tunnel, this data flows from the mobile device 120 to the controller computer 1200 via the tunnel intermediary 224 . User interface emulation data may include mobile device 120 enterprise agent 320 captured using any of a variety of device display "scraping" methods (also known as "screen scraping" and/or "screen buffer capture") data, as is generally known in the field of desktop computers. For example, in a desktop computer environment, one known protocol for providing a graphical interface to another computer is the Remote Desktop Protocol, RDP, developed by Microsoft ™ .
继续参考图13,在步骤1310中,远程控制模块1202使用用户接口仿真数据来仿真移动设备120的用户接口304的当前状态。例如,图14示出控制器计算机1200的屏幕显示器的实施方式,其包括仿真在参加与控制器计算机1200的远程控制会话的移动设备120的用户接口304的虚拟用户接口1402。再次参考图13,步骤1308和1310通常重复地且一个接一个地出现。因此,一批用户接口仿真数据被接收到(步骤1308)并接着由远程控制模块1202使用以仿真移动设备的用户接口304(步骤1310),且然后新的一批用户接口仿真数据被接收到(步骤1308)并接着用于仿真用户接口304(步骤1310),等等。以这种方式,远程控制模块1202保持更新所仿真的用户接口以反映用户接口304的当前状态。With continued reference to FIG. 13 , in step 1310 , the remote control module 1202 simulates the current state of the user interface 304 of the mobile device 120 using the user interface simulation data. For example, FIG. 14 shows an embodiment of a screen display of a controller computer 1200 that includes a virtual user interface 1402 that emulates the user interface 304 of a mobile device 120 participating in a remote control session with the controller computer 1200 . Referring again to FIG. 13, steps 1308 and 1310 typically occur repeatedly and one after the other. Accordingly, a batch of user interface simulation data is received (step 1308) and then used by the remote control module 1202 to simulate the user interface 304 of the mobile device (step 1310), and then a new batch of user interface simulation data is received (step 1308) step 1308) and then used to simulate the user interface 304 (step 1310), and so on. In this manner, the remote control module 1202 keeps updating the simulated user interface to reflect the current state of the user interface 304 .
优选地,控制器计算机1200的远程控制模块1202允许控制器1204向移动设备120发出命令。这样的命令在本文被称为“远程控制命令”。因此,仍然参考图13,远程控制模块1202可在步骤1312中从控制器1204接收远程控制命令。在一些实施方式中,控制器1204可经由仿真用户接口1402提供这些命令。远程控制命令可用于访问安装在移动设备120上的资源。在这个上下文中,移动设备资源可包括操作系统特征和功能、软件应用、移动设备硬件、数据资源、文件等。然后在步骤1314中,远程控制模块1202将远程控制命令发送到移动设备120。至少一些远程控制命令可以是用户115原本可直接输入到移动设备120中的命令。移动设备120可对这样的远程控制命令做出反应,好像它们经由设备120的用户接口304被接收到一样。这些类型的远程控制命令一般将使移动设备120的用户接口304改变,这又将被反映在从移动设备接收的新的一批用户接口仿真数据中。因此在步骤1316中,远程控制模块1202从移动设备120接收更新的用户接口仿真数据,反映在设备120对至少一些远程控制命令做出反应之后的设备的用户接口304的状态,好像它们经由用户接口304被接收到一样。然后在步骤1318中,远程控制模块1202使用更新的用户接口仿真数据来仿真移动设备120的用户接口304的当前状态。Preferably, the remote control module 1202 of the controller computer 1200 allows the controller 1204 to issue commands to the mobile device 120 . Such commands are referred to herein as "remote control commands". Accordingly, still referring to FIG. 13 , the remote control module 1202 may receive a remote control command from the controller 1204 in step 1312 . In some implementations, the controller 1204 may provide these commands via the simulated user interface 1402 . Remote control commands can be used to access resources installed on the mobile device 120 . In this context, mobile device resources may include operating system features and functions, software applications, mobile device hardware, data resources, files, and the like. Then in step 1314 the remote control module 1202 sends the remote control command to the mobile device 120 . At least some of the remote control commands may be commands that the user 115 would otherwise enter directly into the mobile device 120 . Mobile device 120 may react to such remote control commands as if they were received via user interface 304 of device 120 . These types of remote control commands will generally cause the user interface 304 of the mobile device 120 to change, which in turn will be reflected in a new batch of user interface simulation data received from the mobile device. Thus in step 1316, the remote control module 1202 receives updated user interface simulation data from the mobile device 120 reflecting the state of the device's user interface 304 after the device 120 has reacted to at least some of the remote control commands as if they were via the user interface 304 is received the same. Then in step 1318 the remote control module 1202 simulates the current state of the user interface 304 of the mobile device 120 using the updated user interface simulation data.
在某些实施方式中,远程控制模块1202可允许控制器1204查看关于移动设备120的信息。控制器对信息的查看可从移动设备120的用户接口304分离。因此在步骤1320中,远程控制模块1202可从控制器1204接收对关于移动设备120的信息的请求。在步骤1322中,远程控制模块1202可将对信息的请求发送到移动设备120。该请求可本质上使返回所请求的信息的移动设备特征的API(例如任务管理器、文件管理器、注册表编辑器等的API)自动化。在步骤1324中,远程控制模块1202可从移动设备120接收所请求的信息,而优选地不将该信息显示在仿真用户接口1402内。在步骤1326中,远程控制模块1202可在与控制器计算机1200相关的显示器上显示所请求的信息,优选地在除了仿真用户接口1402以外的位置上。可在步骤1320和1322中请求的、在步骤1324中接收的、并在步骤1326中显示的移动设备信息的例子包括移动设备的系统信息、出现在移动设备上的过程、存储在移动设备上的文件、移动设备的注册表和其它数据。In some implementations, the remote control module 1202 can allow the controller 1204 to view information about the mobile device 120 . The controller's view of the information may be separate from the user interface 304 of the mobile device 120 . Thus in step 1320 the remote control module 1202 may receive a request from the controller 1204 for information about the mobile device 120 . In step 1322 , the remote control module 1202 can send a request for information to the mobile device 120 . The request may essentially automate the mobile device feature's API (eg, APIs of the task manager, file manager, registry editor, etc.) that returns the requested information. In step 1324 , remote control module 1202 may receive the requested information from mobile device 120 , preferably without displaying the information within simulated user interface 1402 . In step 1326 , remote control module 1202 may display the requested information on a display associated with controller computer 1200 , preferably at a location other than simulated user interface 1402 . Examples of mobile device information that may be requested in steps 1320 and 1322, received in step 1324, and displayed in step 1326 include system information for the mobile device, processes present on the mobile device, files, registry and other data of the mobile device.
例如,图14的屏幕显示器包括在仿真用户接口1402旁边显示的系统信息显示器1404。系统信息显示器1404可提供例如移动设备的操作系统版本、平台、型号、硬件序列号、CPU类型、总存储容量、在使用中的存储器、空闲的存储器、总RAM、在使用中的RAM、空闲的RAM、总存储卡存储器(例如SD卡)容量、在使用中的存储卡存储器、空闲的存储卡存储器、AC功率可用性、剩余电池功率和/或从剩余电池功率可用的设备使用时间的一些或全部。将认识到,也可提供额外的信息。For example, the screen display of FIG. 14 includes a system information display 1404 displayed alongside a simulated user interface 1402 . The system information display 1404 may provide, for example, the operating system version, platform, model, hardware serial number, CPU type, total storage capacity, memory in use, memory free, total RAM, RAM in use, free memory, etc. of the mobile device. Some or all of RAM, total memory card memory (eg, SD card) capacity, memory card memory in use, free memory card memory, AC power availability, remaining battery power, and/or device usage time available from remaining battery power . It will be appreciated that additional information may also be provided.
在另一例子中,图15示出在参加与移动设备120的远程控制会话的控制器计算机1200的屏幕显示器的实施方式,其中屏幕显示器包括显示出现在移动设备120上的应用过程的任务管理器显示器1502。所示任务管理器显示器1502被示为在仿真用户接口1402旁边。任务管理器显示器1502可显示例如与过程相关的应用的名称、由过程使用的RAM的数量、由过程利用的CPU功率的百分比、由过程消耗的CPU时间的数量、与过程相关的线程的数量和设备路径中的一些或全部。将认识到,也可提供涉及这样的过程的额外信息。在一些实施方式中,控制器1204可(向远程控制模块1202)发出与任务管理器相关的远程控制命令,例如终止在移动设备120上的一个或多个过程。例如,可响应于经由任务管理器显示器1502做出的选择来发出这样的远程控制命令。In another example, FIG. 15 illustrates an implementation of a screen display of a controller computer 1200 participating in a remote control session with a mobile device 120, wherein the screen display includes a task manager displaying application processes as they appear on the mobile device 120. display 1502 . The illustrated task manager display 1502 is shown next to the simulated user interface 1402 . The task manager display 1502 may display, for example, the name of the application associated with the process, the amount of RAM used by the process, the percentage of CPU power utilized by the process, the amount of CPU time consumed by the process, the number of threads associated with the process, and Some or all of the device paths. It will be appreciated that additional information related to such processes may also be provided. In some implementations, the controller 1204 may issue (to the remote control module 1202 ) remote control commands related to the task manager, such as terminating one or more processes on the mobile device 120 . For example, such remote control commands may be issued in response to selections made via the task manager display 1502 .
图16示出在参加与移动设备120的远程控制会话的控制器计算机1200的屏幕显示器的实施方式,其包括用于查看存储在移动设备120上(在任一前面提到的存储器中)的文件、将文件从移动设备120下载到控制器计算机1200和/或将文件从控制器计算机1200或从不同的联网计算机上传到移动设备120的接口1602。由控制器1204向远程控制模块1202发出的查看文件、下载文件和/或上传文件的命令可作为远程控制命令发送到移动设备120。FIG. 16 shows an embodiment of a screen display of the controller computer 1200 participating in a remote control session with the mobile device 120, including for viewing files stored on the mobile device 120 (in any of the aforementioned memories), Interface 1602 for downloading files from mobile device 120 to controller computer 1200 and/or uploading files from controller computer 1200 or from a different networked computer to mobile device 120 . Commands issued by the controller 1204 to the remote control module 1202 to view files, download files and/or upload files may be sent to the mobile device 120 as remote control commands.
在另一例子中,图17示出在参加与移动设备120的远程控制会话的控制器计算机1200的屏幕显示器的实施方式,其包括用于查看和/或编辑移动设备120的注册表的接口1702。所示注册表接口1702被示为在仿真用户接口1402旁边。In another example, FIG. 17 illustrates an implementation of a screen display of a controller computer 1200 participating in a remote control session with a mobile device 120 that includes an interface 1702 for viewing and/or editing the registry of the mobile device 120 . The illustrated registry interface 1702 is shown next to the simulated user interface 1402 .
图18示出移动设备120参与与控制器计算机1200的远程控制会话的方法的实施方式的流程图。图18所示的方法可相应于图13所示的方法,除了图18的方法是从移动设备120的观点示出以外。如在本文其它地方描述的,移动设备120可包括配置成从移动设备120的用户115接收本地命令的用户接口304,用于访问安装在移动设备上的资源。此外,用户接口304一般配置成例如经由屏幕或显示器326将信息传送到用户115。FIG. 18 shows a flowchart of an embodiment of a method of a mobile device 120 participating in a remote control session with a controller computer 1200 . The method shown in FIG. 18 may correspond to the method shown in FIG. 13 , except that the method of FIG. 18 is shown from the perspective of mobile device 120 . As described elsewhere herein, the mobile device 120 may include a user interface 304 configured to receive local commands from the user 115 of the mobile device 120 for accessing resources installed on the mobile device. Additionally, user interface 304 is generally configured to communicate information to user 115 , such as via a screen or display 326 .
该方法在步骤1802中开始,其中移动设备120的企业代理320从控制器计算机1200接收请求以参与与控制器计算机的远程控制会话。在一些实施方式中,代理320可配置成自动接受这样的请求。在其它实施方式中,代理320配置成例如通过向用户提示许可的指示从用户115得到参与远程控制会话的许可。在所示方法中,代理320在决策步骤1804中确定是否接受请求。如果代理320不接受请求(例如由于用户115拒绝请求,或由于用户115简单地在预定时间段内不给出许可),则该方法可在步骤1806中结束。The method begins in step 1802, where the enterprise agent 320 of the mobile device 120 receives a request from the controller computer 1200 to participate in a remote control session with the controller computer. In some implementations, proxy 320 may be configured to automatically accept such requests. In other embodiments, agent 320 is configured to obtain permission from user 115 to participate in the remote control session, eg, by prompting the user for an indication of permission. In the illustrated method, proxy 320 determines in decision step 1804 whether to accept the request. If the proxy 320 does not accept the request (eg, because the user 115 denies the request, or because the user 115 simply does not give permission within a predetermined period of time), the method may end in step 1806 .
另一方面,如果企业代理320接受请求,则代理320通过请求或建立与控制器计算机1200的应用隧道连接并在步骤1808中从移动设备120得到用户接口仿真数据(上面描述的)来对请求做出响应。在步骤1810中,代理320将用户接口仿真数据发送到控制器计算机1200。代理320可例如以固定的时间间隔或也许只在改变对移动设备的用户接口304出现时重复地发送更新的用户接口仿真数据。On the other hand, if the enterprise proxy 320 accepts the request, the proxy 320 responds to the request by requesting or establishing an application tunnel connection with the controller computer 1200 and getting the user interface emulation data (described above) from the mobile device 120 in step 1808. out response. In step 1810 , agent 320 sends user interface simulation data to controller computer 1200 . The agent 320 may repeatedly send updated user interface simulation data, for example, at regular intervals or perhaps only when a change occurs to the user interface 304 of the mobile device.
仍然参考图18,在步骤1812中,代理320可从控制器计算机1200接收远程控制命令,用于访问安装在移动设备120上的资源。如上面提到的,这样的移动设备资源可包括操作系统特征和功能、软件应用、移动设备硬件、数据资源、文件等。这些远程控制命令中的至少一些可以是用户115可原本经由用户接口304直接输入到移动设备120中的命令。因此在步骤1814中,移动设备120对至少一些远程控制命令做出反应,好像它们经由用户接口304被接收一样。步骤1814可涉及代理320将远程控制命令用设备的自然语言转移和/或提供到设备的硬件和/或软件,方式与命令经由移动设备的用户接口304被接收到时设备的硬件和/或软件将接收命令的方式相同。因为步骤1814可导致对设备的用户接口304的变化,代理320可配置成随后将更新的用户接口仿真数据发送到控制器计算机1200。Still referring to FIG. 18 , at step 1812 the agent 320 may receive a remote control command from the controller computer 1200 for accessing resources installed on the mobile device 120 . As mentioned above, such mobile device resources may include operating system features and functions, software applications, mobile device hardware, data resources, files, and the like. At least some of these remote control commands may be commands that user 115 could otherwise input directly into mobile device 120 via user interface 304 . Thus in step 1814 mobile device 120 reacts to at least some remote control commands as if they were received via user interface 304 . Step 1814 may involve the agent 320 transferring and/or providing the remote control commands in the device's natural language to the device's hardware and/or software in the same manner as the commands are received via the mobile device's user interface 304. will receive commands the same way. Because step 1814 may result in changes to the device's user interface 304 , agent 320 may be configured to then send updated user interface simulation data to controller computer 1200 .
在步骤1816中,移动设备120的企业代理320从控制器计算机1200接收对关于移动设备的信息的请求。例如,这样的信息可包括上面在图13的步骤1320、1322、1324和1326中描述的信息。在步骤1818中,代理320将所请求的信息发送到控制器计算机1200,而不在移动设备120的用户接口304上显示信息。In step 1816, the enterprise agent 320 of the mobile device 120 receives a request from the controller computer 1200 for information about the mobile device. For example, such information may include the information described above in steps 1320, 1322, 1324, and 1326 of FIG. 13 . In step 1818 , agent 320 sends the requested information to controller computer 1200 without displaying the information on user interface 304 of mobile device 120 .
在进行与控制器计算机1200的远程控制模块1202相关的远程控制会话时,移动设备120的企业代理320可配置成允许控制器1204在移动设备120上执行行动。在一些情况下,这些可包括甚至设备120的用户115也不能执行的形动(例如,如果远程控制模块1202具有在安装在移动设备120上的软件应用318的功能之外的功能)。Enterprise agent 320 of mobile device 120 may be configured to allow controller 1204 to perform actions on mobile device 120 while a remote control session is in progress with remote control module 1202 of controller computer 1200 . In some cases, these may include gestures that even the user 115 of the device 120 cannot perform (eg, if the remote control module 1202 has functionality beyond that of the software application 318 installed on the mobile device 120).
将认识到,远程控制模块1202可配置成允许控制器1204在远程控制会话期间对移动设备120进行很多其它操作。例如,远程控制模块1202可配置成允许控制器1204关闭或重启移动设备120。在另一例子中,远程控制模块1202可配置成允许控制器1204将新软件安装到移动设备120上。这可涉及将软件应用安装文件从控制器计算机1200或另一联网计算机发送到移动设备120,以及然后安装应用。在另一例子中,远程控制模块1202可配置成允许控制器1204从移动设备120卸载软件应用318。很多其它操作是可能的。It will be appreciated that the remote control module 1202 can be configured to allow the controller 1204 to perform many other operations on the mobile device 120 during a remote control session. For example, remote control module 1202 may be configured to allow controller 1204 to shut down or restart mobile device 120 . In another example, remote control module 1202 may be configured to allow controller 1204 to install new software onto mobile device 120 . This may involve sending a software application installation file from the controller computer 1200 or another networked computer to the mobile device 120, and then installing the application. In another example, remote control module 1202 may be configured to allow controller 1204 to uninstall software application 318 from mobile device 120 . Many other operations are possible.
在一些实施方式中,控制器计算机1200的远程控制模块1202和移动设备120的企业代理320配置成使控制器1204和移动设备用户115能够使用控制器计算机1200和移动设备120与彼此通信。例如,远程控制模块1202和企业代理320可配置成使允许控制器1204和用户115可听得见地向彼此讲话的互联网协议上话音(VOIP)会话变得可能。移动设备120可使用移动设备120的扬声器328来向用户115可听得见地广播控制器的语音(经由控制器计算机1200的麦克风)。可选地,用户115可通过将一对耳机连接到移动设备120的耳机插口来倾听控制器的语音。类似地,控制器计算机1200的扬声器可向控制器1204广播用户的语音(在移动设备120的麦克风330处输入)。In some implementations, remote control module 1202 of controller computer 1200 and enterprise agent 320 of mobile device 120 are configured to enable controller 1204 and mobile device user 115 to communicate with each other using controller computer 1200 and mobile device 120 . For example, remote control module 1202 and enterprise agent 320 may be configured to enable a Voice over Internet Protocol (VOIP) session that allows controller 1204 and user 115 to speak audibly to each other. The mobile device 120 may use the speaker 328 of the mobile device 120 to audibly broadcast the controller's voice (via the microphone of the controller computer 1200 ) to the user 115 . Alternatively, the user 115 can listen to the controller's voice by connecting a pair of headphones to the headphone jack of the mobile device 120 . Similarly, the speaker of the controller computer 1200 may broadcast the user's voice (input at the microphone 330 of the mobile device 120 ) to the controller 1204 .
在另一例子中,远程控制模块1202和企业代理320可配置成使在控制器1204和用户115之间的文本聊天会话变得可能。图19A示出参加与移动设备120的远程控制会话的控制器计算机1200的屏幕显示器的实施方式,其包括聊天会话接口。在所示实施方式中,远程控制模块1202产生聊天会话区域1902,其中控制器1204可输入待发送到用户115的文本讯息,且其中用户的文本讯息被显示给控制器1204。所示聊天会话区域1902被示为在仿真用户接口1402旁边。图19B示出在图19A中仿真的移动设备120的实施方式。企业代理320优选地配置成在移动设备120的屏幕326上显示在图19A的聊天会话区域1902中显示的实质上相同的文本通信。In another example, remote control module 1202 and enterprise agent 320 may be configured to enable a text chat session between controller 1204 and user 115 . 19A illustrates an embodiment of a screen display of controller computer 1200 participating in a remote control session with mobile device 120, which includes a chat session interface. In the illustrated embodiment, the remote control module 1202 creates a chat session area 1902 where the controller 1204 can enter a text message to be sent to the user 115 and where the user's text message is displayed to the controller 1204 . The illustrated chat session area 1902 is shown next to the simulated user interface 1402 . FIG. 19B illustrates an embodiment of the mobile device 120 emulated in FIG. 19A. Enterprise agent 320 is preferably configured to display on screen 326 of mobile device 120 substantially the same text communication displayed in chat session area 1902 of FIG. 19A .
在另一例子中,远程控制模块1202和企业代理320可配置成使在控制器1204和用户115之间的共享白板通信变得可能。图20示出参加与移动设备120的远程控制会话的控制器计算机1200的屏幕显示器的实施方式,其包括共享白板特征。在所示实施方式中,远程控制模块1202允许控制器1204将图像2002叠加到仿真用户接口1402上。移动设备120的代理320可配置成接收图像2002并接着将它们叠加到移动设备120的屏幕326上。图像2002可包括例如文本、图等。在所示屏幕显示器中,控制器1204圈住在仿真用户接口1402上的图标并叠加词“click here”(点击这里)。In another example, remote control module 1202 and enterprise agent 320 may be configured to enable shared whiteboard communication between controller 1204 and user 115 . Figure 20 shows an embodiment of a screen display of a controller computer 1200 participating in a remote control session with a mobile device 120, which includes a shared whiteboard feature. In the illustrated embodiment, remote control module 1202 allows controller 1204 to superimpose image 2002 onto simulated user interface 1402 . Agent 320 of mobile device 120 may be configured to receive images 2002 and then superimpose them on screen 326 of mobile device 120 . Image 2002 may include, for example, text, graphics, and the like. In the screen display shown, the controller 1204 circles the icon on the simulated user interface 1402 and superimposes the words "click here" (click here).
在某些实施方式中,远程控制模块1202配置成允许控制器1204调节仿真用户接口1402的视图。例如在各种实施方式中,远程控制模块1202配置成允许控制器1204调节仿真接口的分辨率、色彩配合、每像素比特(BPP)、缩放水平、旋转方位等。此外,远程控制模块1202可配置成允许控制器1204调节“刷新率”,移动设备的企业代理320以该刷新率将更新的用户接口仿真数据发送到控制器计算机1200。远程控制模块1202也可配置成允许控制器1204规定从移动设备120接收的数据是否由企业代理320压缩,以及规定压缩的程度。In some implementations, remote control module 1202 is configured to allow controller 1204 to adjust the view of simulation user interface 1402 . For example, in various embodiments, the remote control module 1202 is configured to allow the controller 1204 to adjust the resolution, color matching, bits per pixel (BPP), zoom level, rotation orientation, etc. of the simulation interface. Additionally, the remote control module 1202 may be configured to allow the controller 1204 to adjust the “refresh rate” at which the mobile device's enterprise agent 320 sends updated user interface simulation data to the controller computer 1200 . Remote control module 1202 may also be configured to allow controller 1204 to specify whether data received from mobile device 120 is compressed by enterprise agent 320, and to specify the degree of compression.
在某些实施方式中,远程控制模块1202配置成捕获并保存远程控制会话的方面。例如,远程控制模块1202可配置成允许控制器1204捕获仿真用户接口的图像,将图像打印到硬拷贝打印输出上,记录远程控制会话的视频,等等。远程控制模块1202可配置成允许控制器1204编辑所捕获的图像或视频,和/或经由电子邮件等将所捕获的媒体文件发送给其他人。In some implementations, the remote control module 1202 is configured to capture and save aspects of a remote control session. For example, the remote control module 1202 may be configured to allow the controller 1204 to capture images of the simulated user interface, print the images onto hardcopy printouts, record video of the remote control session, and the like. Remote control module 1202 may be configured to allow controller 1204 to edit captured images or video, and/or send captured media files to others via email or the like.
在一些实施方式中,远程控制模块1202可配置成允许控制器1204创建用于激活或执行移动设备120的某些特征、设置和/或软件应用的宏。In some implementations, the remote control module 1202 may be configured to allow the controller 1204 to create macros for activating or executing certain features, settings, and/or software applications of the mobile device 120 .
关于安全移动网关的分析Analysis on Secure Mobile Gateway
再次参考图4,安全移动网关128可包括已记录数据的仓库410。仓库410可存储指示在移动设备120处产生或由安全移动网关128产生的状态信息的数据。例如,已记录数据可包括各种信息,例如关于通过网关过滤器401对移动设备访问请求的允许和拒绝的数据。已记录数据可以可选地或此外包括由被管理的移动设备120记录并从被管理的移动设备120提取的数据。这样的已记录数据可包括例如指示被下载到移动设备120的文档、在特定的移动设备120上的系统状态、在特定的移动设备120上启动的程序、特定移动设备120所访问的网站或其它网络资源的记录、与在与被管理的移动设备120相关的消息上复制的用户的电子邮件账户相关的信息、附加到电子邮件或由移动设备120接收的其它消息的文档等的数据。已记录数据可包括从移动设备请求402得到的数据。例如,对于支持ActiveSync的安全移动网关128,已记录数据可包括来自ActiveSync请求402的DeviceId、DeviceType、User和/或UserAgent以及由该请求发出的ActiveSync命令。在访问拒绝的情况下,已记录数据也可包括被违反的网关规则404的提供者408以及指示拒绝的原因的信息。如果访问基于移动设备管理系统126的被违反的企业访问策略218被拒绝,则网关128可确定哪个策略218从移动设备管理系统126被违反并将它存储在已记录数据的仓库410中。已记录数据也可包括移动业务数据和/或关于请求402的其它网络信息,例如发出请求的移动设备120的IP地址。可根据记录标准例如Syslog来存储已记录数据,使得数据由其它应用可读取。Referring again to FIG. 4 , the secure mobile gateway 128 may include a repository 410 of recorded data. Repository 410 may store data indicative of status information generated at mobile device 120 or by secure mobile gateway 128 . For example, logged data may include various information, such as data regarding the permission and denial of mobile device access requests through gateway filter 401 . Recorded data may alternatively or additionally include data recorded by and retrieved from the managed mobile device 120 . Such recorded data may include, for example, indications of documents downloaded to the mobile device 120, system status on the particular mobile device 120, programs launched on the particular mobile device 120, websites visited by the particular mobile device 120, or other Records of network resources, information related to email accounts of users copied on messages related to managed mobile devices 120 , data attached to emails or other messages received by mobile devices 120 , etc. The recorded data may include data obtained from the mobile device request 402 . For example, for a secure mobile gateway 128 that supports ActiveSync, logged data may include the DeviceId, DeviceType, User, and/or UserAgent from the ActiveSync request 402 and the ActiveSync command issued by the request. In the case of an access denial, the logged data may also include the provider 408 of the gateway rule 404 that was violated and information indicating the reason for the denial. If access is denied based on a violated enterprise access policy 218 of the mobile device management system 126 , the gateway 128 may determine which policy 218 was violated from the mobile device management system 126 and store it in the repository 410 of logged data. Logged data may also include mobile traffic data and/or other network information about the request 402, such as the IP address of the requesting mobile device 120. Logged data can be stored according to a logging standard such as Syslog, making the data readable by other applications.
已记录数据可提供给分析服务414或由分析服务414访问。在所示实施方式中,安全移动网关128包括周期性地读取已记录数据410并将它的一些或全部发送到分析服务414的日志重定向器服务412。日志重定向服务412优选地可配置成使得IT管理员可引导它只发送匹配可配置标准的已记录数据的那些部分。例如,日志重定向器服务412可配置成只发送涉及被拒绝的请求402的已记录数据或只发送涉及被允许的请求402的已记录数据或基于不同的标准的已记录数据。此外,日志重定向器服务412和/或已记录数据的仓库410可包括使其它系统(例如分析服务414)能够查询或提取涉及已记录请求402的数据例如用户数据、移动设备数据、移动业务数据(例如发送者设备的IP地址)等的数据共享接口。将理解,为了安全或其它目的,参考关于安全移动网关128的分析描述的原理和优点可应用于实现各种数据挖掘和关联。作为例子,如果已记录数据指示移动设备120已访问某些被禁止的站点以及也最近下载然后被转发到外部电子邮件的机密文档,则这个信息可以是对企业资源的访问的拒绝的基础。Logged data may be provided to or accessed by analytics service 414 . In the illustrated embodiment, the secure mobile gateway 128 includes a log redirector service 412 that periodically reads logged data 410 and sends some or all of it to an analysis service 414 . Log redirection service 412 is preferably configurable such that an IT administrator can direct it to send only those portions of logged data that match configurable criteria. For example, the log redirector service 412 may be configured to send only logged data related to denied requests 402 or only logged data related to allowed requests 402 or based on different criteria. Additionally, the log redirector service 412 and/or the repository of logged data 410 may include features that enable other systems (e.g., the analytics service 414) to query or extract data related to the logged request 402, such as user data, mobile device data, mobile business data (such as the IP address of the sender's device), etc. It will be appreciated that the principles and advantages described with reference to the analysis with respect to the secure mobile gateway 128 may be applied to enable various data mining and correlation for security or other purposes. As an example, if logged data indicates that the mobile device 120 has visited certain prohibited sites and confidential documents that were also recently downloaded and then forwarded to external email, this information may be the basis for a denial of access to enterprise resources.
分析服务414可包括例如安全信息管理(SIM)系统、安全事件管理(SEM)系统或安全信息和事件管理(SIEM)系统。SIEM解决方案是SIM和SEM解决方案的组合。分析服务414可配置成基于已记录数据监控、分析和/或产生并发送警告、通知或报告。分析服务414可配置成检测已记录数据中的模式,提供对进一步的分析或行动有用的度量,并诊断与数据相关的问题。分析服务414可配置成处理根据各种标准例如Syslog格式化的数据。例如,分析服务414可利用Splunk——一种具有这些类型的特征的软件程序。分析服务414可以是企业系统110的部分,或可选地可以是用于分析在仓库410中记录的类型的数据的第三方系统的部分。Analysis services 414 may include, for example, a security information management (SIM) system, a security event management (SEM) system, or a security information and event management (SIEM) system. SIEM solutions are a combination of SIM and SEM solutions. Analysis service 414 may be configured to monitor, analyze, and/or generate and send alerts, notifications, or reports based on logged data. Analysis service 414 may be configured to detect patterns in recorded data, provide metrics useful for further analysis or action, and diagnose problems associated with the data. Analysis service 414 may be configured to process data formatted according to various standards, such as Syslog. For example, analytics service 414 may utilize Splunk, a software program with these types of features. Analysis service 414 may be part of enterprise system 110 , or alternatively may be part of a third-party system for analyzing the types of data recorded in warehouse 410 .
例如,分析服务414可配置成通过将讯息(例如电子邮件或SMS消息)发送到被拒绝的用户115来处理安全移动网关128所拒绝的访问,可能指定访问的拒绝的原因(例如“你对XYZ公司的网络的访问的请求被拒绝,因为你的移动设备不符合企业反对安装Angry BirdsTM软件应用的策略”)。For example, analytics service 414 may be configured to handle denied access by secure mobile gateway 128 by sending a message (e.g., an email or SMS message) to denied user 115, possibly specifying a reason for the denial of access (e.g., "Your request for XYZ The request for access to the company's network was denied because your mobile device does not comply with the company's policy against installing the Angry Birds TM software application").
图21示出根据一个实施方式的可被提供到分析服务414的已记录数据的例子。在这个例子中,已记录数据包括行和列的表格。每行相应于移动设备访问请求402。列2102和2104包括分别指示安全移动网关128记录相应行的数据时的日期和时间的数据。关于列2106,“优先级”是识别消息的收集者和级别的可配置Syslog设置。优先级是在所有Syslog收集类型当中适用的可配置项目。在标题“Hostname”下的列2108是提供相应行的数据的主机的IP地址。在所示实施方式中,主机名2108是网关128的IP地址。在标题“消息”下的列2110包括关于选定移动设备访问请求402的各种信息。所示消息数据包括请求被接收到时的日期和时间、网关128对请求采取的行动(允许或拒绝)、与请求相关的用户(在第一行中,“jmcginty”)、移动设备类型和当提交访问请求时使用的移动设备的IP地址。FIG. 21 illustrates an example of logged data that may be provided to analytics service 414, according to one implementation. In this example, the logged data consists of a table of rows and columns. Each row corresponds to a mobile device access request 402 . Columns 2102 and 2104 include data indicating the date and time, respectively, when secure mobile gateway 128 recorded the corresponding row of data. With respect to column 2106, "Priority" is a configurable Syslog setting that identifies the collector and level of the message. Priority is a configurable item that applies to all Syslog collection types. Column 2108 under the heading "Hostname" is the IP address of the host that provided the corresponding row of data. In the illustrated embodiment, hostname 2108 is the IP address of gateway 128 . Column 2110 under the heading "Messages" includes various information about the selected mobile device access request 402 . The message data shown includes the date and time when the request was received, the action gateway 128 took on the request (allow or deny), the user associated with the request (in the first line, "jmcginty"), the mobile device type and when The IP address of the mobile device used to submit the access request.
图22示出用于配置标准的分析服务414的接口的例子,在该标准下,分析服务基于安全移动网关128所记录的数据来发送警告。所示接口是Splunk SIEM工具的部分。接口允许管理员输入警告将被发送时的条件(“Splunk警告:允许ActiveSync用户警告”)、警告的内容(“包括搜索结果”)等。FIG. 22 shows an example of an interface for configuring the analysis service 414 of the standard under which the analysis service sends alerts based on data recorded by the secure mobile gateway 128 . The interface shown is part of the Splunk SIEM tool. The interface allows administrators to enter the conditions under which alerts will be sent ("Splunk alerts: Allow ActiveSync user alerts"), the content of alerts ("Include search results"), etc.
移动设备用户的认证Authentication of mobile device users
企业网络一般在用户的计算机与企业资源的事务开始时认证其用户。在现有系统中,认证通常涉及从用户的客户端设备接收用户名和密码的登录过程,验证用户名相应于经授权用户,并验证密码是用户名的证明密码。虽然一些企业资源130可配置成对与设备的所有事务消费用户名数据(例如以基于用户ID、用户角色206或其它组成员关系等来允许访问),其它资源130并不是如此。对于一些类型的企业资源130,在认证之后,用户被允许进行与资源130的至少一些事务,而不提供登录信息。对于在与经认证用户的最后一次事务之后的规定时间段,在企业的防火墙下游的一些企业资源130假设使用经认证的IP地址(即向企业网络发送用户的登录信息的设备的IP地址)的新请求来自经授权用户。这样的企业资源通常不对与用户的计算设备的每次事务请求并确认用户的登录信息。An enterprise network typically authenticates its users at the beginning of a transaction between the user's computer and an enterprise resource. In existing systems, authentication typically involves a login process of receiving a username and password from a user's client device, verifying that the username corresponds to an authorized user, and verifying that the password is a proof password of the username. While some enterprise resources 130 may be configured to consume username data for all transactions with the device (eg, to allow access based on user ID, user role 206 or other group membership, etc.), other resources 130 are not. For some types of enterprise resources 130, after authentication, the user is permitted to conduct at least some transactions with the resource 130 without providing login information. For a specified period of time after the last transaction with an authenticated user, some enterprise resources 130 downstream of the enterprise's firewall assume the IP address of the authenticated IP address (i.e., the IP address of the device sending the user's login information to the enterprise network) New requests come from authorized users. Such enterprise resources typically do not request and confirm the user's login information for every transaction with the user's computing device.
虽然该方法通常适合于非移动客户端设备,它可呈现移动设备特有的安全风险。移动设备在使用中时常常改变它们的IP地址。例如,当在移动的车辆中时连接到蜂窝网络的移动设备可在不同的蜂窝塔之间切换。类似地,移动设备可在不同的Wi-Fi网络之间切换。移动设备也可在与单个蜂窝塔或Wi-Fi网络相关的不同IP地址之间切换。因此,通过只检查请求的IP地址来确定与进入的移动设备请求相关的用户的企业资源130冒着与不是用户的人进行事务的风险。While this approach is generally suitable for non-mobile client devices, it can present security risks unique to mobile devices. Mobile devices often change their IP addresses while in use. For example, a mobile device connected to a cellular network may switch between different cellular towers while in a moving vehicle. Similarly, a mobile device can switch between different Wi-Fi networks. Mobile devices can also switch between different IP addresses associated with a single cell tower or Wi-Fi network. Thus, an enterprise resource 130 that determines a user associated with an incoming mobile device request by examining only the IP address of the request runs the risk of conducting a transaction with someone who is not the user.
图23示出一种方法的实施方式,分析服务414可通过该方法利用安全移动网关128(图4)以帮助确定是否和/或如何对移动设备对访问或使用企业资源130的请求2302做出响应。例如,企业资源130可经由不同于安全移动网关128的网关接收移动设备请求2302。可经由应用隧道接收请求2302。虽然所示实施方式描绘查询分析服务414以找到用户信息(例如用户115的ID号)到移动业务数据(例如IP地址)的绑定的资源130,除了资源130以外的部件(例如隧道中介224)也可配置成完成相同的操作。23 illustrates an embodiment of a method by which analytics service 414 may utilize secure mobile gateway 128 ( FIG. 4 ) to help determine whether and/or how to respond to mobile device request 2302 to access or use enterprise resource 130. response. For example, enterprise resource 130 may receive mobile device request 2302 via a gateway other than secure mobile gateway 128 . The request 2302 can be received via an application tunnel. While the illustrated embodiment depicts querying the analysis service 414 to find the resource 130 for the binding of user information (e.g., the ID number of the user 115) to mobile service data (e.g., an IP address), components other than the resource 130 (e.g., the tunnel broker 224) It can also be configured to do the same.
在所示实施方式中,安全移动网关128包括例如网关过滤器401和已记录数据的仓库410,如上所述。已记录数据可包括来自由例如网关过滤器401接收的移动设备访问请求402的数据。例如,如果网关128支持ActiveSync,则已记录数据可包括来自ActiveSync请求402的DeviceId、DeviceType、User和/或UserAgent特性值以及由请求402发出的ActiveSync命令。In the illustrated embodiment, the secure mobile gateway 128 includes, for example, a gateway filter 401 and a repository 410 of logged data, as described above. Logged data may include data from mobile device access requests 402 received by gateway filter 401 , for example. For example, if the gateway 128 supports ActiveSync, the logged data may include the DeviceId, DeviceType, User and/or UserAgent property values from the ActiveSync request 402 and the ActiveSync command issued by the request 402 .
请求2302可包括移动业务数据,例如发送请求2302的移动设备120的IP地址。请求2302可以或可以不包括关于发送请求2302的移动设备120的数据。企业资源130可接收请求2302并向分析服务414发送用户确定请求2304。用户确定请求2304包括请求2302的移动业务数据。用户确定请求2304可此外包括企业资源130接收到请求2302时的时间、关于发送请求的移动设备120的数据以及与请求2302相关的其它数据。在一些实施方式中,用户确定请求2304可包括企业资源130或另一企业部件认为是请求2302的发送者的用户115的标识,使得分析服务414本质上被请求验证所识别的用户115是否是发送请求2302的实际人。The request 2302 may include mobile service data, such as the IP address of the mobile device 120 sending the request 2302 . The request 2302 may or may not include data about the mobile device 120 sending the request 2302 . Enterprise resource 130 may receive request 2302 and send user determination request 2304 to analytics service 414 . The user determines that the request 2304 includes the mobile service data requested 2302 . User determination request 2304 may additionally include the time when request 2302 was received by enterprise resource 130 , data about mobile device 120 that sent the request, and other data related to request 2302 . In some implementations, user determination request 2304 may include an identification of user 115 that enterprise resource 130 or another enterprise component believes to be the sender of request 2302, such that analysis service 414 is essentially requested to verify whether identified user 115 is the sender The actual person who requested 2302.
分析服务414可使用用于确定与由企业资源130接收的请求2302相关的用户信息的用户确定算法。在这个上下文中,用户信息可包括请求2302是否由用户115(与不和企业相关或向企业登记的人相反)发送的确定、在用户确定请求2304中识别的用户115是否是将请求2302发送到企业资源130的人的确定和/或发送请求2302的用户115的识别(例如用户名)。用户确定算法可此外确定指示在所计算的绑定中的置信度级别的可靠性分数——特定的用户115是发送请求2302的实际人的置信程度。分析服务414可产生并发送包含由用户确定算法产生的结果的响应2306。算法的结果可包括用户信息和/或可靠性分数。Analysis service 414 may use a user determination algorithm for determining user information related to request 2302 received by enterprise resource 130 . In this context, user information may include a determination of whether the request 2302 was sent by the user 115 (as opposed to someone not associated with or registered with the business), whether the user 115 identified in the user determination request 2304 was the one who sent the request 2302 to Identification of the person of the enterprise resource 130 and/or identification (eg, username) of the user 115 who sent the request 2302 . The user determination algorithm may additionally determine a reliability score indicating a level of confidence in the computed binding—the degree of confidence that the particular user 115 is the actual person who sent the request 2302 . The analysis service 414 may generate and send a response 2306 containing the results generated by the user-determined algorithm. The results of the algorithm may include user information and/or reliability scores.
在图23所示的实施方式中,企业资源130接收请求2302并将用户确定请求2304发送到分析服务414,且分析服务414将响应2306发送回企业资源130。在这样的实施方式中,企业资源130可配置成使用在响应2306内的数据来确定如何对请求2302做出响应。例如,企业可通过对发送请求2302的设备120做出响应、忽略请求2302、将警告发送到IT管理员等来对请求2302做出响应。企业资源130可配置成至少部分地基于可靠性分数(如果被提供)和/或在请求2302内发出的特定行动或命令来做出这个确定。例如,企业资源130可配置成需要相对高的可靠性分数,如果请求2302企图下载敏感或机密的企业数据,同时强加相对低的可靠性分数,如果请求2302企图将数据上传到资源130。企业资源130可配置成允许管理员配置可靠性分数阈值,资源130将响应于请求2302在该可靠性分数阈值处采取任何给定的行动。In the embodiment shown in FIG. 23 , enterprise resource 130 receives request 2302 and sends user determination request 2304 to analysis service 414 , and analysis service 414 sends response 2306 back to enterprise resource 130 . In such implementations, enterprise resource 130 may be configured to use data within response 2306 to determine how to respond to request 2302 . For example, the enterprise may respond to the request 2302 by responding to the device 120 that sent the request 2302, ignoring the request 2302, sending a warning to an IT administrator, etc. Enterprise resource 130 may be configured to make this determination based at least in part on a reliability score (if provided) and/or a particular action or command issued within request 2302 . For example, enterprise resource 130 may be configured to require a relatively high reliability score if request 2302 attempts to download sensitive or confidential enterprise data, while imposing a relatively low reliability score if request 2302 attempts to upload data to resource 130. Enterprise resource 130 may be configured to allow an administrator to configure a reliability score threshold at which resource 130 will take any given action in response to request 2302 .
在其它实施方式中,在企业资源130的上游的部件(例如网关、防火墙、代理服务器、DLP监控设备、隧道中介、SSL业务检查设备或除了安全移动网关128以外的其它部件)接收请求2302,产生用户确定请求2304,并将用户确定请求2304发送到分析服务414,且分析服务414将响应2306发送到在企业资源130的上游的所述部件。在这些实施方式中,上游部件可配置成使用在资源2306内的数据来确定是否将请求2302传递到企业资源130。此外,上游部件可配置成至少部分地基于可靠性分数和/或在请求2302内发出的行动或命令来做出这个确定。例如,如果请求2302企图下载敏感或机密企业数据,上游部件可配置成只有当可靠性分数超过相对高的值时才将请求2302发送到企业资源130。在另一例子中,如果请求2302企图将数据上传到企业资源130,则上游部件可配置成需要相对低的可靠性分数用于将请求2302传递到资源130。上游部件可配置成允许管理员配置可靠性分数阈值,上游部件将响应于请求2302在该可靠性分数阈值处采取任何给定的行动。In other embodiments, a component upstream of the enterprise resource 130 (e.g., a gateway, firewall, proxy server, DLP monitoring device, tunnel broker, SSL traffic inspection device, or other component other than the secure mobile gateway 128) receives the request 2302, generates The user determines the request 2304 and sends the user determined request 2304 to the analysis service 414 , and the analysis service 414 sends a response 2306 to the component upstream of the enterprise resource 130 . In these implementations, an upstream component may be configured to use data within resource 2306 to determine whether to pass request 2302 to enterprise resource 130 . Furthermore, the upstream component can be configured to make this determination based at least in part on the reliability score and/or the action or command issued within the request 2302 . For example, if request 2302 attempts to download sensitive or confidential enterprise data, the upstream component may be configured to send request 2302 to enterprise resource 130 only if the reliability score exceeds a relatively high value. In another example, if the request 2302 attempts to upload data to the enterprise resource 130 , the upstream component may be configured to require a relatively low reliability score for delivering the request 2302 to the resource 130 . The upstream component may be configured to allow an administrator to configure a reliability score threshold at which the upstream component will take any given action in response to the request 2302 .
在一些实施方式中,分析服务414将用户115到移动业务数据(例如IP地址)的它的所计算的绑定主动发送到企业资源130。分析服务414可将绑定直接发送到资源130和/或在资源130的上游的一个或多个部件,其将绑定或相关数据附加到被传输到资源130的移动设备通信。在这些方法中,资源130可使用所计算的绑定而不从分析服务414请求它们。In some implementations, the analytics service 414 unsolicitedly sends its calculated binding of the user 115 to mobile traffic data (eg, IP address) to the enterprise resource 130 . Analysis service 414 may send the binding directly to resource 130 and/or one or more components upstream of resource 130 that attach the binding or related data to the mobile device communication transmitted to resource 130 . In these approaches, resource 130 may use the computed bindings without requesting them from analysis service 414 .
由分析服务414使用的用户确定算法可包括扫描移动业务数据的一些或所有已记录数据(从由安全移动网关128接收的移动设备请求402),其匹配在用户确定请求2304内接收的移动业务数据。对于具有与请求2302的移动业务数据匹配的移动业务数据的任何请求402,算法也可包括从已记录数据410确定在请求402内提供的用户数据或移动设备数据。例如,用户数据和移动设备数据可分别包括ActiveSync请求402的User特性和DeviceID特性的值。分析服务414可通过例如从移动设备管理系统126请求用户数据和/移动设备数据来确定相应于用户数据和/移动设备数据的用户115。例如,User和DeviceID特性值可相应于在移动设备信息204中的特定用户115。如果已记录数据不包括(或分析服务414不能找到)与请求2302的移动业务数据匹配的移动业务数据,则分析服务414可确定请求2302不由用户115发送。The user determination algorithm used by the analysis service 414 may include scanning some or all of the recorded data for mobile traffic data (from the mobile device request 402 received by the secure mobile gateway 128) that matches the mobile traffic data received within the user determination request 2304 . For any request 402 that has mobile service data that matches that of request 2302 , the algorithm may also include determining from recorded data 410 the user data or mobile device data provided within the request 402 . For example, user data and mobile device data may include values of the User property and DevicelD property of the ActiveSync request 402, respectively. The analytics service 414 may determine the user 115 corresponding to the user data and/or mobile device data by, for example, requesting the user data and/mobile device data from the mobile device management system 126 . For example, the User and DeviceID property values may correspond to a particular user 115 in the mobile device information 204 . Analysis service 414 may determine that request 2302 was not sent by user 115 if the recorded data does not include (or analytics service 414 cannot find) mobile traffic data that matches that of request 2302 .
为了确定用户信息并计算可靠性分数,用户确定算法可评估各种因素。在某些实施方式中,用户确定算法比较在请求2302由企业资源130接收时的时间与具有匹配请求2302的数据的移动业务数据的移动设备访问请求402的接收时间(由安全移动网关128)。例如,假设ActiveSync请求402具有相应于用户115的User和DeviceID特性值。进一步假设在请求402内的发送者IP地址与请求2302的发送者IP地址相同,以及从企业资源130(或上游部件)接收到请求2302时的时间起在相对窄的时间段内(之前或之后)请求402由安全移动网关128接收。在这样的情况下,分析服务414可计算指示与请求402相关的用户115是将请求2302发送到企业资源130的人的高可靠性分数。当在请求2302的接收和具有相同的发送者IP地址的时间上最接近的请求402的接收之间的时间段增加时,用户确定算法可计算较低可靠性分数。另一方面,如果在请求402内的发送者IP地址不同于请求2302的发送者IP地址,则分析服务414可计算相对低的可靠性分数和/或确定与请求402相关的用户115可能不是将请求2302发送到企业资源130的人。此外,如果在从请求2302的接收的时间起(之前或之后)的规定的或动态地计算的时间窗内网关128没有接收到具有与请求2302相同的发送者IP地址的请求402,则分析服务414可计算相对低的可靠性分数。To determine user information and calculate a reliability score, a user determination algorithm may evaluate various factors. In some embodiments, the user determination algorithm compares the time when the request 2302 is received by the enterprise resource 130 with the time of receipt (by the secure mobile gateway 128 ) of the mobile device access request 402 with mobile service data matching the data of the request 2302 . For example, assume that ActiveSync request 402 has User and DeviceID property values corresponding to user 115 . Assume further that the sender IP address within request 402 is the same as the sender IP address of request 2302, and within a relatively narrow period of time (either before or after) from when request 2302 was received by enterprise resource 130 (or an upstream component). ) request 402 is received by the secure mobile gateway 128. In such a case, analytics service 414 may calculate a high reliability score indicating that user 115 associated with request 402 is the person who sent request 2302 to enterprise resource 130 . The user determination algorithm may calculate a lower reliability score as the time period between the receipt of Request 2 302 and the receipt of the temporally closest Request 402 with the same sender IP address increases. On the other hand, if the sender IP address within request 402 is different than the sender IP address of request 2302, analysis service 414 may calculate a relatively low reliability score and/or determine that user 115 associated with request 402 may not be The request 2302 is sent to the person at the enterprise resource 130 . Furthermore, if gateway 128 does not receive request 402 with the same sender IP address as request 2302 within a specified or dynamically calculated time window from (before or after) the time of receipt of request 2302, the analysis service 414 may calculate a relatively low reliability score.
在某些实施方式中,用户确定算法评估频率,企业网络以该频率看到与某些移动业务数据例如IP地址相关的特定用户115。例如,假设安全移动网关128在包含企业资源130接收到请求2302时的时间的相对短的时间窗内接收到具有相应于特定用户115的用户值的很多ActiveSync请求402。进一步假设所有所述ActiveSync请求402包括与请求2302的发送者IP地址相同的发送者IP地址。在这些条件下,分析服务414可计算指示与请求402相关的用户115是将请求2302发送到企业资源130的人的非常高的可靠性分数。另一方面,如果在请求402内的发送者IP地址不同于请求2302的发送者IP地址,则分析服务414可计算非常低的可靠性分数和/或确定与请求402相关的用户115可能不是将请求2302发送到企业资源130的人。In some embodiments, the user determines the algorithm evaluation frequency at which the enterprise network sees a particular user 115 associated with certain mobile traffic data, such as an IP address. For example, assume that secure mobile gateway 128 receives many ActiveSync requests 402 with user values corresponding to a particular user 115 within a relatively short time window encompassing the time when enterprise resource 130 receives requests 2302 . Assume further that all of said ActiveSync requests 402 include the same sender IP address as the request 2302 sender IP address. Under these conditions, analytics service 414 may calculate a very high reliability score indicating that user 115 associated with request 402 is the person who sent request 2302 to enterprise resource 130 . On the other hand, if the sender IP address within request 402 is different from the sender IP address of request 2302, analysis service 414 may calculate a very low reliability score and/or determine that user 115 associated with request 402 may not be The request 2302 is sent to the person at the enterprise resource 130 .
在某些实施方式中,用户确定算法评估与特定的用户115相关的不同访问请求402具有不同的移动业务数据的程度。例如,来自特定用户115的访问请求402的字符串具有很多不同的发送者IP地址的事实可能指示用户115在活动中并不断地切换IP地址,同时与企业系统110通信。在这些情况下,分析服务414可计算比如果来自特定用户115的所有访问请求402具有与请求2302相同的发送者IP地址相对更低的可靠性分数。在一个特定的方法中,分析服务414确定(1)具有相应于感兴趣的特定用户115的用户数据、(2)具有不匹配在用户确定请求2304内接收的移动业务数据的移动业务数据以及(3)由安全移动网关128在包含在用户确定请求2304中的接收时间的预定的或动态地计算的时间窗内接收的访问请求402的总数。当所确定的访问请求402的总数增加时,分析服务414可减小所计算的可靠性分数(在请求2302来自特定用户115的置信度水平中)。In some embodiments, the user determination algorithm evaluates the extent to which different access requests 402 associated with a particular user 115 have different mobility data. For example, the fact that the string of access requests 402 from a particular user 115 has many different sender IP addresses may indicate that the user 115 is active and constantly switching IP addresses while communicating with the enterprise system 110 . In these cases, analytics service 414 may calculate a reliability score that is relatively lower than if all access requests 402 from a particular user 115 had the same sender IP address as request 2302 . In one particular approach, the analytics service 414 determines (1) to have user data corresponding to the particular user 115 of interest, (2) to have mobile traffic data that does not match the mobile traffic data received within the user determination request 2304, and ( 3) The total number of access requests 402 received by the secure mobile gateway 128 within a predetermined or dynamically calculated time window of the time of receipt contained in the user determination request 2304 . As the total number of determined access requests 402 increases, analytics service 414 may decrease the calculated reliability score (in the level of confidence that request 2302 is from a particular user 115 ).
在某些实施方式中,用户确定算法考虑请求2302的IP地址是否来自向企业系统110登记或以其他方式与企业系统110相关的IP地址的已知块或子集。IP地址的这样的块或子集可经由企业自己的设备是可用的,主要用于由企业员工使用,例如Wi-Fi网络、企业VPN分配块或漫游外部IP地址。可向安全移动网关128登记IP地址的块或子集。如果请求2302从与企业相关的IP地址发送,则算法可配置成计算较高的可靠性分数。In some implementations, the user determination algorithm considers whether the IP address of the request 2302 is from a known block or subset of IP addresses registered with or otherwise associated with the enterprise system 110 . Such a block or subset of IP addresses may be available via the enterprise's own equipment, primarily for use by enterprise employees, such as a Wi-Fi network, enterprise VPN assigning blocks, or roaming external IP addresses. Blocks or subsets of IP addresses may be registered with secure mobile gateway 128 . The algorithm may be configured to calculate a higher reliability score if the request 2302 is sent from an IP address associated with the enterprise.
将理解,用于计算可靠性分数的用户确定算法除了上面描述的因素以外还可包括其它因素。还将理解,算法不需要考虑上面描述的所有因素,并可使用其任何子组合。It will be appreciated that the user determination algorithm used to calculate the reliability score may also include other factors in addition to those described above. It will also be understood that the algorithm need not take into account all of the factors described above, and any sub-combination thereof may be used.
在图23所示的实施方式中,分析服务414配置成检查在安全移动网关128的仓库410中的已记录数据以建立用户和/或移动设备到移动业务数据(例如IP地址)的绑定。然而,分析服务414可配置成查询移动请求数据的多个不同的日志以计算这样的绑定。如果企业系统110具有多个不同的安全移动网关128(例如对于移动设备通信的不同类型或协议),则分析服务414可配置成查询来自每个网关128的已记录数据。In the embodiment shown in FIG. 23 , the analytics service 414 is configured to examine recorded data in the repository 410 of the secure mobile gateway 128 to establish bindings of users and/or mobile devices to mobile service data (eg, IP addresses). However, analytics service 414 may be configured to query multiple different logs of movement request data to compute such bindings. If enterprise system 110 has multiple different secure mobile gateways 128 (eg, for different types or protocols of mobile device communications), analytics service 414 may be configured to query logged data from each gateway 128 .
分析服务414可配置成产生用户和移动设备到移动业务数据(例如IP地址)的绑定的报告和显示。企业系统110可包括用于查看这样的绑定的基于web的或其它类型的用户接口。例如,可经由移动设备管理系统126的用户接口来显示这样的信息。The analytics service 414 may be configured to generate reports and displays of bindings of users and mobile devices to mobile traffic data (eg, IP addresses). Enterprise system 110 may include a web-based or other type of user interface for viewing such bindings. For example, such information may be displayed via a user interface of the mobile device management system 126 .
在优选实施方式中,企业系统110的各种部件可使用由分析服务414产生的、用户和/或设备到移动业务数据的绑定来跟踪或记录一个或多个移动设备120的网络使用事件。分析服务414可以是可查询的并配置成经由例如web服务与其它部件共享它的信息。In a preferred embodiment, various components of enterprise system 110 may track or log network usage events for one or more mobile devices 120 using the binding of user and/or device to mobile business data generated by analytics service 414 . Analysis service 414 may be queryable and configured to share its information with other components via, for example, web services.
如上面提到的,分析服务414可配置成基于已记录数据产生并发送通知给用户115或IT管理员。此外,分析服务414可配置成至少部分地基于根据用户确定算法计算的一个或多个可靠性分数来发送这样的通知。例如,如果大量请求被拒绝,且如果与其相关的可靠性分数满足规定阈值,则分析服务414可配置成发送适当的警告。另一方面,分析服务414可配置成忽略涉及低可靠性分数的情况。如果存在大量访问拒绝,但它们都具有低可靠性分数,则可能不值得产生并发送通知。As mentioned above, analytics service 414 may be configured to generate and send notifications to users 115 or IT administrators based on recorded data. Additionally, analytics service 414 may be configured to send such notifications based at least in part on one or more reliability scores calculated according to a user-determined algorithm. For example, if a large number of requests are rejected, and if the reliability scores associated therewith meet specified thresholds, the analytics service 414 may be configured to send an appropriate alert. On the other hand, analysis service 414 may be configured to ignore cases involving low reliability scores. If there are a large number of access denials, but they all have low reliability scores, it may not be worth generating and sending notifications.
为了安全目的,分析服务414可配置成对服务414产生的用户、设备和移动业务数据绑定加密。For security purposes, analytics service 414 may be configured to bind encryption of user, device, and mobility data generated by service 414 .
安全文档容器Secure Document Container
再次参考图3。在一些实施方式中,移动设备120可包括可被称为“容器”的安全文档容器336。如在本文解释的,容器336可帮助防止企业信息扩展到移动设备120的不同应用和部件以及其它设备。企业系统110(其可部分地或全部在云156内)可将文档传输到设备120,文档可存储(例如通过企业代理320)在容器336内。容器336可防止未授权应用318和设备120的其它部件访问在容器336内的信息。对于允许用户115使用他们自己的移动设备120用于访问、存储和使用企业数据的企业,在设备120上提供容器336帮助保护企业数据。例如,在设备120上提供容器336可将企业数据集中在每个设备120上的一个位置中,并可便于从设备120选择性地或完全删除企业数据。Referring again to FIG. 3 . In some implementations, mobile device 120 may include a secure document container 336, which may be referred to as a "container." As explained herein, container 336 can help prevent enterprise information from spreading to different applications and components of mobile device 120 and other devices. Enterprise system 110 (which may be partially or entirely within cloud 156 ) may transmit the document to device 120 , and the document may be stored (eg, by enterprise agent 320 ) within container 336 . Container 336 may prevent unauthorized applications 318 and other components of device 120 from accessing information within container 336 . For enterprises that allow users 115 to use their own mobile devices 120 for accessing, storing and using enterprise data, providing a container 336 on the device 120 helps protect the enterprise data. For example, providing container 336 on devices 120 may centralize enterprise data in one location on each device 120 and may facilitate selective or complete deletion of enterprise data from devices 120 .
如在这个上下文中使用的,“文档”可包括任何计算机可读文件,包括文本、音频、视频和/或其它类型的信息或媒体。文档可包括这些媒体类型的任何单个类型或组合。As used in this context, a "document" may include any computer-readable file, including text, audio, video, and/or other types of information or media. Documents may include any single type or combination of these media types.
安全文档容器336可包括实现存储文档和/或其它类型的文件的文件系统338的应用。文件系统338可包括移动设备120的计算机可读存储器的一部分。文件系统338可与移动设备120的计算机可读存储器的其它部分逻辑地分离。以这种方式,企业数据可存储在安全文档容器336中,且私人数据可存储在移动设备120的计算机可读存储器的单独部分中。容器336可允许企业代理320、移动设备应用318和/或设备120的其它部件从文件系统338读取信息、将信息写到文件系统338和/或从文件系统338删除信息(如果被授权这么做)。从容器336删除数据可包括删除存储在容器336中的实际数据,删除存储在容器336中的数据的指针,删除用于对存储在容器336中的数据解密的加密密钥,等等。容器336可由例如代理320、企业系统110的IT管理员或设备120的制造者安装。容器336可使存储在文件系统338中的一些或所有企业数据能够被删除,而不修改存储在容器336外部的移动设备120上的私人数据。文件系统338可便于从文件系统338选择性地或完全删除数据。例如,企业系统110的部件可基于例如编码规则从文件338删除数据。在一些实施方式中,代理320响应于从企业系统110接收到删除命令而从文件系统338删除数据。在其它实施方式中,例如如果未提供代理320,则在没有代理320的帮助下删除数据。Secure document container 336 may include an application implementing a file system 338 that stores documents and/or other types of files. File system 338 may include a portion of the computer-readable memory of mobile device 120 . The file system 338 may be logically separate from other portions of the computer readable memory of the mobile device 120 . In this manner, corporate data can be stored in the secure document container 336 and private data can be stored in a separate portion of the computer-readable memory of the mobile device 120 . Container 336 may allow enterprise agent 320, mobile device application 318, and/or other components of device 120 to read information from, write information to, and/or delete information from file system 338 (if authorized to do so). ). Deleting data from container 336 may include deleting actual data stored in container 336, deleting pointers to data stored in container 336, deleting encryption keys used to decrypt data stored in container 336, and the like. Container 336 may be installed by, for example, agent 320 , an IT administrator of enterprise system 110 , or a manufacturer of device 120 . Container 336 may enable some or all enterprise data stored in file system 338 to be deleted without modifying private data stored on mobile device 120 external to container 336 . File system 338 may facilitate selective or complete deletion of data from file system 338 . For example, components of enterprise system 110 may delete data from file 338 based on, for example, encoding rules. In some implementations, agent 320 deletes data from file system 338 in response to receiving a delete command from enterprise system 110 . In other implementations, the data is deleted without the assistance of the agent 320, eg, if the agent 320 is not provided.
安全文档容器336可包括通过应用318和移动设备120的其它部件管理对文件系统338的访问的访问管理器340。可基于存储在文档和/或文件系统338中的文档访问策略(例如编码规则)来管理对文件系统338的访问。文档访问策略可基于(1)哪个应用318或设备120的其它部件正请求访问、(2)哪些文档正被请求、(3)时间或日期、(4)设备120的地理位置、(5)请求的应用318或其它部件是否提供一个或多个正确的证书、(6)设备120的用户是否提供正确的证书、(7)其它条件或其任何组合来限制对文件系统338的访问。用户的证书可包括例如密码、对安全问题(例如什么是你高中的吉祥物?)的一个或多个答案、生物统计信息(例如指纹扫描、眼扫描等)和类似信息。因此,通过使用访问管理器340,容器336可配置成只由被授权访问容器336的应用318访问。作为一个例子,访问管理器340可使安装在移动设备120上的企业应用能够访问存储在容器336内的数据并防止非企业应用访问存储在容器336内的数据。Secure document container 336 may include access manager 340 that manages access to file system 338 by applications 318 and other components of mobile device 120 . Access to file system 338 may be managed based on document access policies (eg, encoding rules) stored in document and/or file system 338 . Document access policies may be based on (1) which application 318 or other component of device 120 is requesting access, (2) which documents are being requested, (3) time or date, (4) geographic location of device 120, (5) requesting Access to the file system 338 is limited by whether the application 318 or other component of the application 318 provided one or more correct credentials, (6) whether the user of the device 120 provided the correct credentials, (7) other conditions, or any combination thereof. A user's credentials may include, for example, a password, one or more answers to security questions (eg, what is your high school mascot?), biometric information (eg, fingerprint scan, eye scan, etc.), and the like. Thus, using access manager 340 , container 336 may be configured to be accessed only by applications 318 authorized to access container 336 . As one example, access manager 340 may enable enterprise applications installed on mobile device 120 to access data stored within container 336 and prevent non-enterprise applications from accessing data stored within container 336 .
对文档访问的时间和地理限制可能是有用的。例如,企业管理员可使用将文档(存储在容器336内)的可用性限制到规定时间窗和/或地理区(例如,如GPS芯片316所确定的)的文档访问策略,设备120必须存在于该时间窗或地理区内,以便访问文档。此外,当规定时间段终止时或如果移动设备120被带出规定地理区之外,文档访问策略可指示容器336或代理320从容器336删除文档或以其他方式使它们变得不可用。Time and geographic restrictions on document access may be useful. For example, an enterprise administrator may employ a document access policy that limits the availability of documents (stored within container 336) to specified time windows and/or geographic regions (e.g., as determined by GPS chip 316) within which device 120 must be present. within a time window or geographic area to access documents. Additionally, the document access policy may instruct container 336 or agent 320 to delete documents from container 336 or otherwise render them unavailable when a specified time period expires or if mobile device 120 is taken outside a specified geographic area.
一些文档可具有禁止文档保存在安全文档容器336内的访问策略。在这样的实施方式中,只有当用户115登录到企业系统110上时文档才可在移动设备120上查看。Some documents may have an access policy that prohibits documents from being saved within the secure document container 336 . In such an embodiment, the document is viewable on the mobile device 120 only when the user 115 is logged on to the enterprise system 110 .
访问管理器340也可配置成实施远程设备(例如企业资源130或其它企业服务器)和容器336之间的某些连接模式。例如,访问管理器340可要求通过例如应用隧道传输由容器336从远程设备接收和/或从容器336发送到远程设备的文档,如上所述。这样的应用隧道可使用企业系统110的隧道中介224。访问管理器340可要求传输到容器336和从容器336传输的所有文档被加密。企业代理320或访问管理器340可配置成对从容器336发送的文档加密并对发送到容器336的文档解密。在容器336中的文档也可存储在加密形式中。Access manager 340 may also be configured to enforce certain connection patterns between remote devices (eg, enterprise resource 130 or other enterprise servers) and containers 336 . For example, access manager 340 may require that documents received by container 336 from and/or sent from container 336 to a remote device be transmitted through, for example, application tunneling, as described above. Such application tunneling may use tunnel intermediary 224 of enterprise system 110 . Access manager 340 may require that all documents transmitted to and from container 336 be encrypted. Enterprise agent 320 or access manager 340 may be configured to encrypt documents sent from container 336 and decrypt documents sent to container 336 . Documents in container 336 may also be stored in encrypted form.
安全文档容器336可配置成防止包括在文档内的文档或数据由未授权应用和移动设备120的部件或其它设备使用。例如,具有对访问来自容器336的文档的授权的移动设备应用318可被编程以防止用户复制文档的数据并将它粘贴到另一文件或应用接口中或在本地将文档或文档数据保存为在容器336之外的新文件。类似地,容器336可包括不允许这样的拷贝/粘贴和本地保存问题的文档查看器和/或编辑器。而且,访问管理器340可配置成防止这样的拷贝/粘贴和本地保存问题。此外,容器336和被编程和授权访问来自容器336的文档的应用318可配置成防止用户将这样的文档附加到电子邮件或其它形式的讯息。Secure document container 336 may be configured to prevent documents or data contained within the document from being used by unauthorized applications and components of mobile device 120 or other devices. For example, a mobile device application 318 with authorization to access a document from container 336 may be programmed to prevent a user from copying the document's data and pasting it into another file or application interface or saving the document or document data locally as New files outside container 336. Similarly, container 336 may include a document viewer and/or editor that does not allow such copy/paste and local saving issues. Also, the access manager 340 may be configured to prevent such copy/paste and local save issues. Furthermore, container 336 and applications 318 programmed and authorized to access documents from container 336 may be configured to prevent users from attaching such documents to email or other forms of messages.
移动设备应用318可被编程以查找并找到安全文档容器336(或下面描述的包括容器336的安全web浏览器332)作为移动设备120的资源。在某些实施方式中,应用318可在与移动设备120的操作系统的虚拟机分离的安全虚拟机中运行。根据一些其它实施方式,应用可在安全web浏览器332内运行。应用318可被编程以只将企业相关数据写到容器336。例如,可给应用318的源代码提供容器336的资源名称。类似地,远程应用(例如企业资源130)可配置成将数据或文档发送到一个或多个移动设备120的容器336(与设备120的其它部件或存储器位置相反)。将数据存储到容器336可例如在应用318、企业代理320或web浏览器332的控制下自动出现。应用318可被编程以对存储或将存储在容器336内的文档加密或解密。在某些实施方式中,容器336可只由被编程以寻找并使用容器336并具有这么做的授权的应用(在设备120上或远程的)使用。The mobile device application 318 can be programmed to look for and locate the secure document container 336 (or the secure web browser 332 described below including the container 336 ) as a resource of the mobile device 120 . In some implementations, the application 318 may run in a secure virtual machine separate from the virtual machine of the operating system of the mobile device 120 . According to some other implementations, the application may run within the secure web browser 332 . Application 318 may be programmed to only write enterprise-related data to container 336 . For example, the source code of application 318 may be provided with the resource name of container 336 . Similarly, a remote application (eg, enterprise resource 130 ) may be configured to send data or documents to one or more containers 336 of mobile device 120 (as opposed to other components or memory locations of device 120 ). Storing data to container 336 may occur automatically, for example, under the control of application 318 , enterprise agent 320 , or web browser 332 . Application 318 may be programmed to encrypt or decrypt documents stored or to be stored within container 336 . In some implementations, container 336 may only be used by applications (either on device 120 or remotely) that are programmed to find and use container 336 and have authorization to do so.
安全文档容器336可用作被发送到移动设备120的文档和其它文件的临时仓库。远程应用可配置成在一次或周期性基础上将文档发送到容器336(例如经由应用隧道)。例如,销售相关企业资源130可被编程以每天早晨将销售相关文档(例如最近的价格单)发送到具有销售相关角色206的一组用户115(例如销售人员)的容器336。销售相关文档可具有文档访问策略,使得文档将在某个时间或在规定事件(例如用户打开文档)时开始的一段时间终止时“自毁”(例如从容器336自动删除——删除由例如容器336本身或企业代理320执行)。文档分布策略(例如编码规则)可被提供(例如在移动设备管理系统126内)以控制远程应用(例如企业资源130)何时和如何将文档发送到容器336,文档发送到哪些用户115,对文档(例如以如上所述的文档访问策略的形式)的使用和可用性强加什么限制(例如时间或地理限制),等等。Secure document container 336 may serve as a temporary repository for documents and other files that are sent to mobile device 120 . Remote applications may be configured to send documents to container 336 (eg, via an application tunnel) on a one-time or periodic basis. For example, a sales-related enterprise resource 130 may be programmed to send sales-related documents (eg, a recent price list) to a container 336 of a group of users 115 (eg, salespeople) having a sales-related role 206 each morning. Sales related documents may have a document access policy such that the document will "self-destruct" (e.g. automatically delete from container 336 - deleted by e.g. 336 itself or the enterprise agent 320 executes). Document distribution policies (e.g., encoding rules) may be provided (e.g., within mobile device management system 126) to control when and how remote applications (e.g., enterprise resources 130) send documents to containers 336, to which users 115, to which What restrictions (eg temporal or geographical restrictions) are imposed on the use and availability of documents (eg in the form of document access policies as described above), and so on.
为了将文档从这样的仓库发送到容器336的目的,将文档发送到移动设备120的一个或多个安全文档容器336的远程应用可配置成与其它仓库集成。这样的其它仓库可例如存储在企业系统110(例如企业文档仓库如Microsoft SharepointTM仓库)内或云计算系统(例如Box.netTM仓库)中。A remote application that sends documents to one or more secure document containers 336 of a mobile device 120 may be configured to integrate with other repositories for the purpose of sending documents from such repositories to containers 336 . Such other repositories may, for example, be stored within enterprise systems 110 (eg, enterprise document repositories such as Microsoft Sharepoint ™ repositories) or in cloud computing systems (eg, Box.net ™ repositories).
移动设备应用的软件开发工具包Software Development Kit for Mobile Device Applications
某些实施方式的另一方面涉及使应用开发者能够将本文描述的一个或多个功能嵌入移动设备软件应用例如软件应用318内的软件开发工具包。如在本文使用的,“嵌入”可包括应用的源代码的修改。图24示出包括用于创建移动设备应用2406的SDK 2404的软件开发系统2402。软件开发系统2402可由任何适当的计算机硬件实现。软件开发者可例如通过产生程序代码并将它编译到与移动设备120兼容的可执行程序中来创建应用2406。Another aspect of certain embodiments relates to a software development kit that enables an application developer to embed one or more of the functions described herein within a mobile device software application, such as software application 318 . As used herein, "embedding" may include modification of an application's source code. FIG. 24 illustrates a software development system 2402 including an SDK 2404 for creating mobile device applications 2406. Software development system 2402 can be implemented by any suitable computer hardware. A software developer can create an application 2406, for example, by generating program code and compiling it into an executable program compatible with the mobile device 120.
SDK 2404可包括提供不同功能的开发工具2408的库。开发工具2408可包括代码片段、数据结构、协议、例程等。SDK 2404可提供使应用2406能够与开发工具2408通过接口连接的应用编程接口(API)2410。SDK 2404可包括用于产生应用2406的代码的程序编辑器2412和用于将代码转换成机器可读格式的编译器2414。SDK 2404可包括用于调试所开发的代码的调试工具2416。将认识到,SDK 2404除了这些以外还可包括其它特征。还将认识到,SDK 2404不需要包括所有所示的特征。SDK 2404 may include libraries of development tools 2408 that provide different functionality. Development tools 2408 may include code snippets, data structures, protocols, routines, and the like. SDK 2404 may provide an application programming interface (API) 2410 that enables applications 2406 to interface with development tools 2408. SDK 2404 may include a program editor 2412 for generating code for application 2406 and a compiler 2414 for converting the code into a machine-readable format. SDK 2404 may include debugging tools 2416 for debugging the developed code. It will be appreciated that the SDK 2404 may include other features in addition to these. It will also be recognized that the SDK 2404 need not include all of the features shown.
开发工具2408可包括用于将本文描述的一个或多个功能嵌入移动设备软件应用2406中的工具。将认识到,这些工具的任何子组合可嵌入应用2406中,以及本文未描述的其它功能也可被这样嵌入。现在描述不同的开发工具2408。Development tools 2408 may include tools for embedding one or more of the functions described herein into mobile device software applications 2406 . It will be appreciated that any subcombination of these tools may be embedded in application 2406, and that other functionality not described herein may be so embedded. Various development tools 2408 are now described.
在某些实施方式中,SDK 2404包括开发工具2408,其允许应用开发者在应用2406内嵌入用于形成和维持与网络资源的应用隧道(例如,如上所述)的功能并通过经由隧道发送和接收通信来与网络资源通信的功能。网络资源可包括例如企业资源130。工具2408可配置成添加与企业代理320一起参与的应用隧道功能。如上面在应用隧道章节中描述的,企业代理320可从应用2406接收网络通信,根据封装协议来封装它们,将所封装的通信发送到隧道中介,从隧道中介接收类似的通信(其来自隧道端点资源),将可从隧道中介接收的所封装的通信解包,并将解包的通信发送到应用2406。可选地,工具2408可提供用于形成应用隧道的功能而没有企业代理320的参与,其中应用2406本身使用如上所述的封装协议来执行这些行动。In some embodiments, SDK 2404 includes development tools 2408 that allow application developers to embed within applications 2406 functionality for forming and maintaining application tunnels (e.g., as described above) with network resources and transmit and The ability to receive communications to communicate with network resources. Network resources may include enterprise resources 130, for example. Tool 2408 may be configured to add application tunneling functionality that participates with enterprise agent 320 . As described above in the Application Tunneling section, the enterprise agent 320 may receive network communications from the applications 2406, encapsulate them according to an encapsulation protocol, send the encapsulated communications to the tunnel intermediary, receive similar communications from the tunnel intermediary (which come from the tunnel endpoints resource), unpacks the encapsulated communication that may be received from the tunnel intermediary, and sends the unpacked communication to the application 2406. Alternatively, tool 2408 may provide functionality for forming application tunnels without involvement of enterprise agent 320, where application 2406 itself performs these actions using the encapsulation protocol described above.
在某些实施方式中,SDK 2404包括开发工具2408,其允许应用开发者在应用2406内嵌入用于提高在移动设备120和网络资源例如网络资源130之间的通信体验的功能,特别是对于应用隧道通信。这样的功能可包括在到网络的连接失去的情况下在本地将用户输入的数据缓存在移动设备120上,如上所述。这样的功能可同样包括待发送到网络资源的数据的压缩,从网络资源接收的数据的解压缩,如上所述。再次,这样嵌入的功能可与企业代理320一起参与以使这些特征变得可能,或可提供与企业代理320分离的这些特征。In some embodiments, the SDK 2404 includes a development tool 2408 that allows an application developer to embed within the application 2406 functionality for improving the communication experience between the mobile device 120 and a network resource such as the network resource 130, particularly for the application Tunnel communication. Such functionality may include locally caching user-entered data on the mobile device 120 in the event of loss of connectivity to the network, as described above. Such functions may also include compression of data to be sent to network resources, decompression of data received from network resources, as described above. Again, such embedded functionality may engage with the enterprise agent 320 to enable these features, or may provide these features separately from the enterprise agent 320 .
在某些实施方式中,SDK 2404包括开发工具2408,其允许应用开发者在应用2406内嵌入用于参与在移动设备120和帮助台操作员之间的远程控制会话的功能,如上所述。这样的功能可允许帮助台操作员查看关于安装在移动设备120上的应用2406的数据和/或控制应用2406的方面和可能移动设备120的其它特征。这样的功能可包括将用户接口仿真数据发送到帮助台操作员的计算机,如上所述。这样的功能可包括从帮助台操作员接收用于执行在移动设备120上的行动的命令。再次,这样嵌入的功能可与企业代理320一起参与以使这些特征变得可能,或可提供与企业代理320分离的这些特征。In some embodiments, the SDK 2404 includes a development tool 2408 that allows an application developer to embed within the application 2406 functionality for participating in a remote control session between the mobile device 120 and a help desk operator, as described above. Such functionality may allow a help desk operator to view data about and/or control aspects of the application 2406 installed on the mobile device 120 and possibly other features of the mobile device 120 . Such functionality may include sending user interface simulation data to a help desk operator's computer, as described above. Such functionality may include receiving commands from a help desk operator to perform actions on the mobile device 120 . Again, such embedded functionality may engage with the enterprise agent 320 to enable these features, or may provide these features separately from the enterprise agent 320 .
在某些实施方式中,SDK 2404包括开发工具2408,其允许应用开发者在应用2406内嵌入用于找到安全文档容器336、向安全文档容器336提供证书、从安全文档容器336读取和/或写到安全文档容器336的功能,如上所述。这可允许应用2406访问并更新在容器336内的信息。这也可允许应用2406访问由移动设备120从网络资源例如企业资源130或企业系统110的其它应用或部件安全地接收的文档。开发工具2408可配置成修改应用2406的源代码,使得应用2406可按照其在设备120上的资源名称找到容器336。开发工具2408可配置成修改应用2406的源代码,使得应用2406将所有数据(或也许仅仅与企业110有关的数据)写到容器内。例如,开发工具2408可配置成解析应用的源代码以找到用于将数据写入存储器的命令(例如用于允许用户停止使用应用并接着稍后以用户离开时的确切状态重新启动该应用的应用状态数据)或从存储器读取数据的命令,并调节源代码的那些部分中的一个或多个以将数据写到容器336内并从容器336读取数据。In some embodiments, the SDK 2404 includes a development tool 2408 that allows an application developer to embed within the application 2406 methods for locating the secure document container 336, providing credentials to the secure document container 336, reading from the secure document container 336, and/or Write to secure document container 336 functionality, as described above. This may allow applications 2406 to access and update information within container 336 . This may also allow the application 2406 to access documents securely received by the mobile device 120 from network resources, such as the enterprise resource 130 or other applications or components of the enterprise system 110 . Development tool 2408 may be configured to modify the source code of application 2406 such that application 2406 can find container 336 by its resource name on device 120 . Development tool 2408 may be configured to modify the source code of application 2406 such that application 2406 writes all data (or perhaps only data related to enterprise 110 ) into the container. For example, development tools 2408 may be configured to parse the source code of an application to find commands for writing data to memory (e.g., an application that allows a user to stop using an application and then later restart it in the exact state the user left it on). state data) or commands to read data from memory, and adjust one or more of those portions of the source code to write data into and read data from container 336.
在一些实施方式中,SDK的开发工具2408可在应用2406内嵌入对存储在容器336内的文档加密的能力和/或对从容器336得到的文档解密的能力。开发工具2408可在应用2406内嵌入用于允许移动设备120的用户115查看和/或编辑从容器336得到的文档的编辑器。编辑器也可允许用户115将所编辑或最新创建的文档上传到容器336或网络资源(例如企业系统110的企业资源130)。In some implementations, the SDK's development tools 2408 may embed within the application 2406 the ability to encrypt documents stored within the container 336 and/or decrypt documents obtained from the container 336 . The development tool 2408 may embed an editor within the application 2406 for allowing the user 115 of the mobile device 120 to view and/or edit documents obtained from the container 336 . The editor may also allow user 115 to upload edited or newly created documents to container 336 or a network resource (eg, enterprise resource 130 of enterprise system 110 ).
在某些实施方式中,SDK 2404包括开发工具2408,其允许应用开发者在应用2406内嵌入移动设备规则,例如上面描述的规则214。此外,开发工具2408可允许开发者嵌入用于评估移动设备规则的功能,包括查询设备120或其它网络资源以找到评估所需的数据。嵌入的功能也可包括与移动设备规则相关的补救行动,例如上面描述的补救行动216。嵌入的功能还可包括用于在移动设备上自动执行补救行动的补救代理,如上所述。与前面提到的移动设备规则218(其在上面被主要描述为用户特定和设备特定规则)比较,软件开发者可嵌入被定制到特定应用2406的规则和补救行动。在某些实施方式中,SDK 2404包括用于创建并编辑移动设备规则和补救行动的工具,例如上面描述的工具221。软件开发者可使用创建/开发工具来创建移动设备规则和补救行动,并将它们嵌入应用2406内。某些实施方式提供软件开发者可在有或没有修改的情况下使用并嵌在应用2406内的移动设备规则和补救行动的在线库。In some embodiments, the SDK 2404 includes a development tool 2408 that allows an application developer to embed mobile device rules, such as the rules 214 described above, within the application 2406. Additionally, development tools 2408 may allow developers to embed functionality for evaluating mobile device rules, including querying devices 120 or other network resources for data needed for evaluation. Embedded functionality may also include remedial actions related to mobile device rules, such as remedial action 216 described above. Embedded functionality may also include a remediation agent for automatically performing remedial actions on the mobile device, as described above. In contrast to the aforementioned mobile device rules 218 (which are primarily described above as user-specific and device-specific rules), software developers can embed rules and remedial actions that are customized to specific applications 2406 . In some embodiments, SDK 2404 includes tools for creating and editing mobile device rules and remedial actions, such as tool 221 described above. Software developers can use creation/development tools to create mobile device rules and remedial actions and embed them within the application 2406. Certain embodiments provide an online library of mobile device rules and remedial actions that software developers can use with or without modification and embedded within the application 2406.
在某些实施方式中,SDK 2404包括开发工具2408,其允许应用开发者在应用2406内嵌入用于应用故障检测(例如使用如上所述的移动设备规则)、应用性能测量和相关事件的检测的功能。嵌入的功能可包括所检测的故障、性能测量、相关事件、事件时间、事件地点和在移动设备120的本地存储器内的其它数据的记录。开发工具2408可允许应用2406配置成将这样的数据报告到网络资源例如企业系统110的部件和/或分析服务例如上面描述的分析服务414。这个嵌入的功能可给与IT管理器对在移动设备上正发生的可见性,至少它涉及安装在其上的特定应用2406。此外,分析服务可在运行特定应用2406的多个不同的移动设备120当中分析数据。嵌入的功能可包括对在移动设备120上记录和/或经由网络通信报告到其它部件的数据加密。In some embodiments, SDK 2404 includes development tools 2408 that allow application developers to embed within applications 2406 tools for application failure detection (e.g., using mobile device rules as described above), application performance measurements, and detection of related events. Function. Embedded functionality may include logging of detected faults, performance measurements, related events, event times, event locations, and other data within the local memory of the mobile device 120 . Development tools 2408 may allow applications 2406 to be configured to report such data to network resources, such as components of enterprise system 110, and/or analysis services, such as analysis service 414 described above. This embedded functionality can give IT managers visibility into what is happening on the mobile device, at least as it pertains to the specific applications installed on it 2406. Additionally, the analysis service can analyze data among a plurality of different mobile devices 120 running a particular application 2406 . Embedded functionality may include encryption of data logged on mobile device 120 and/or reported to other components via network communications.
在某些实施方式中,SDK 2404包括开发工具2408,其允许应用开发者在应用2406内嵌入用于与元应用例如基于企业系统的元应用部分150和/或基于云的元应用部分151协作的功能。嵌入的功能可包括用于发现关于所安装的应用2406或它被安装于的移动设备120的信息并将所发现的信息发送到元应用用于在例如构造可查询模型(类似于图8的企业模型814)时使用的发现过程,应用2306和/或移动设备120形成可查询模型的至少一部分。嵌入的功能可包括从元应用接收查询,通过从移动设备120取回所查询的数据而对该查询做出响应,以及将所查询的数据发送到元应用。如上面讨论的,元应用可使用所查询的数据来检测问题,执行根本原因分析,和/或选择补救行动。因此,嵌入的功能可包括从元应用接收补救行动,在移动设备120上执行补救行动,并将执行补救行动的结果报告给元应用。在一些实施方式中,嵌入的功能与在设备上存在的企业代理320分担来提供这些特征,而在其它实施方式中,嵌入的功能在不与企业代理320协作的情况下提供这些特征。In some implementations, SDK 2404 includes development tools 2408 that allow application developers to embed within applications 2406 for collaboration with meta-applications such as enterprise system-based meta-application portion 150 and/or cloud-based meta-application portion 151. Function. Embedded functionality may include discovering information about the installed application 2406 or the mobile device 120 it is installed on and sending the discovered information to the meta-application for use in, for example, constructing a queryable model (similar to the enterprise Model 814), application 2306 and/or mobile device 120 form at least a portion of the queryable model. Embedded functionality may include receiving queries from the meta-application, responding to the queries by retrieving the queried data from the mobile device 120, and sending the queried data to the meta-application. As discussed above, the meta-application can use the queried data to detect problems, perform root cause analysis, and/or select remedial action. Accordingly, embedded functionality may include receiving remedial actions from the meta-application, performing remedial actions on the mobile device 120, and reporting the results of performing remedial actions to the meta-application. In some implementations, the embedded functionality is shared with the enterprise agent 320 present on the device to provide these features, while in other implementations, the embedded functionality provides these features without cooperation with the enterprise agent 320 .
安全Web浏览器secure web browser
某些实施方式的另一方面涉及web浏览器,其它移动设备软件应用可在该web浏览器内运行。Web浏览器可设置有一些或所有企业安全性和本文描述的其它特征,并可扩展那些特征用于与在浏览器内运行的移动设备应用一起使用。以这种方式,浏览器可用于实现BYOD策略,同时维持对在企业用户115的移动设备120上运行的应用的控制的期望水平。企业可能需要一些或所有其用户115安装并使用这个web浏览器,以减少与这样的移动设备应用的使用相关的企业安全风险。此外,在一些情况下,这样的web浏览器可使应用开发者为不同的移动设备平台开发移动设备应用的不同版本变得不必要。如上面提到的,安全浏览器也可用于使移动设备用户能够访问公司内联网而不需要虚拟专用网(VPN)。Another aspect of certain embodiments relates to a web browser within which other mobile device software applications can run. Web browsers can be provided with some or all of the enterprise security and other features described herein, and can extend those features for use with mobile device applications running within the browser. In this way, the browser can be used to implement BYOD policies while maintaining a desired level of control over applications running on enterprise users' 115 mobile devices 120 . An enterprise may require some or all of its users 115 to install and use this web browser to reduce enterprise security risks associated with the use of such mobile device applications. Furthermore, in some cases, such web browsers may make it unnecessary for application developers to develop different versions of mobile device applications for different mobile device platforms. As mentioned above, secure browsers can also be used to enable mobile device users to access corporate intranets without the need for a virtual private network (VPN).
参考图3,移动设备120可包括专用web浏览器332。Web浏览器332可配置成执行常规web浏览器的功能,包括在互联网站点上冲浪,显示和/或播放从web浏览器接收的多媒体内容,等等。Web浏览器332可将经由网络访问的数据存储在安全文档容器336中和/或在安全浏览器高速缓存器中。可在企业的指导下删除这样的数据。例如,移动设备管理系统126可发起存储在安全文档容器336或/或安全浏览器高速缓存器中的数据的删除或以其他方式使存储在安全文档容器336或/或安全浏览器高速缓存器中的数据变得不可访问。此外,web浏览器332优选地配置成充当安装在移动设备120上的至少一些其它软件应用318的容器,以允许那些应用318在浏览器332内运行。软件应用318可配置成当应用318本身由用户115启动时启动浏览器332。而且,应用318可配置成启动浏览器332并以对用户115透明的方式在浏览器332内运行。换句话说,可以给用户115应用318照惯例运行而不涉及web浏览器332的印象。Web浏览器332可以利用便于其作为其它软件应用318的容器的使用的协议。例如,web浏览器332可为了这个目的利用HTML5。Referring to FIG. 3 , mobile device 120 may include a dedicated web browser 332 . Web browser 332 may be configured to perform the functions of a conventional web browser, including surfing on Internet sites, displaying and/or playing multimedia content received from the web browser, and the like. Web browser 332 may store data accessed over the network in secure document container 336 and/or in a secure browser cache. Such data may be deleted at the direction of the business. For example, the mobile device management system 126 may initiate deletion or otherwise cause data stored in the secure document container 336 or/or secure browser cache to of data becomes inaccessible. Additionally, web browser 332 is preferably configured to act as a container for at least some other software applications 318 installed on mobile device 120 to allow those applications 318 to run within browser 332 . Software application 318 may be configured to launch browser 332 when application 318 itself is launched by user 115 . Furthermore, the application 318 may be configured to launch a browser 332 and run within the browser 332 in a manner transparent to the user 115 . In other words, the user 115 can be given the impression that the application 318 is running as usual without involving the web browser 332 . Web browser 332 may utilize protocols that facilitate its use as a container for other software applications 318 . For example, web browser 332 may utilize HTML5 for this purpose.
Web浏览器332可提供本文描述的一些或所有功能。例如,web浏览器332可包括由上面描述的SDK 2404和/或企业代理320提供的一些或所有功能。因此,web浏览器332可配置成使用应用隧道用于与网络资源(例如企业资源130)通信。Web浏览器332可从移动设备管理系统126或企业系统110的另一部件接收(或嵌入)移动设备规则214和补救行动216。Web浏览器332可以可选地嵌入移动设备规则和补救行动。Web浏览器332可在应用隧道内利用缓存和/或压缩方法以如上所述提高用户的通信体验。Web浏览器332可配置成向安全文档容器336提供证书、从安全文档容器336读取、写到安全文档容器336和/或提供编辑器用于显示并剪辑从移动设备120的安全文档容器336得到的文档,如上所述。在某些实施方式中,web浏览器332可实现安全文档容器336。Web浏览器332可提示用户115在将在浏览器332内运行的应用318的功能暴露于用户115之前提供访问证书并验证访问证书。可选地或此外,web浏览器332可使由在web浏览器332内运行的应用318存储到移动设备120的数据被加密。Web浏览器332可配置成参与与帮助台操作员的远程控制会话,如上所述。Web浏览器332可配置成记录故障检查、性能测量、相关事件、事件时间和其它数据,并将这样的数据提供到如上面关于SDK 2404描述的分析服务。Web浏览器332可配置成参与与元应用的通信,再次如上所述。通过提供这些和/或其它功能中的至少一些,web浏览器332可使移动设备应用开发者将这样的功能嵌入移动设备应用318内变得不必要。Web browser 332 may provide some or all of the functionality described herein. For example, web browser 332 may include some or all of the functionality provided by SDK 2404 and/or enterprise agent 320 described above. Accordingly, web browser 332 may be configured to use application tunneling for communicating with network resources (eg, enterprise resource 130). Web browser 332 may receive (or embed) mobile device rules 214 and remedial actions 216 from mobile device management system 126 or another component of enterprise system 110 . Web browser 332 may optionally embed mobile device rules and remedial actions. Web browser 332 may utilize caching and/or compression methods within the application tunnel to enhance the user's communication experience as described above. Web browser 332 may be configured to provide credentials to secure document container 336, read from, write to secure document container 336, and/or provide an editor for displaying and clipping files obtained from secure document container 336 of mobile device 120. Documentation, as above. In some implementations, web browser 332 may implement secure document container 336 . Web browser 332 may prompt user 115 to provide and verify access credentials before exposing the functionality of application 318 running within browser 332 to user 115 . Alternatively or in addition, web browser 332 may cause data stored to mobile device 120 by applications 318 running within web browser 332 to be encrypted. Web browser 332 may be configured to participate in a remote control session with a help desk operator, as described above. Web browser 332 may be configured to record troubleshooting, performance measurements, related events, event times, and other data, and provide such data to analysis services as described above with respect to SDK 2404. Web browser 332 may be configured to participate in communications with meta-applications, again as described above. By providing at least some of these and/or other functionalities, the web browser 332 can make it unnecessary for mobile device application developers to embed such functionality within the mobile device application 318 .
在一些实施方式中,web浏览器332可配置成使得这些功能中的一个或多个可在可由远程计算机系统例如企业系统110例如远程地配置的规定条件下被激活或去激活。可规定的条件包括时间条件、位置条件、移动设备特性、用户特性(例如角色206)等。时间条件可以是一天中的时间。例如,web浏览器332可配置成迫使所有移动业务(至少对于配置成启动浏览器332的应用318)只在工作时间(例如周一到周五的8am到5pm)期间通过应用隧道,在那些时间之外,照惯例发送业务。位置条件可以是移动设备120的位置。例如,浏览器332可配置成当设备120在被已知具有不良的无线连接的地理区域中激活前面提到的压缩和缓存特征。In some implementations, web browser 332 is configurable such that one or more of these functions can be activated or deactivated under specified conditions that can be configured by a remote computer system, such as enterprise system 110, eg, remotely. Conditions that may be specified include time conditions, location conditions, mobile device characteristics, user characteristics (eg, role 206), and the like. A time condition can be a time of day. For example, web browser 332 may be configured to force all mobile traffic (at least for applications 318 configured to launch browser 332) to go through the application tunnel only during business hours (e.g., 8am to 5pm Monday through Friday), and between those hours Otherwise, send business as usual. The location condition may be the location of the mobile device 120 . For example, browser 332 may be configured to activate the aforementioned compression and caching features when device 120 is in a geographic area known to have poor wireless connections.
可为不同的移动设备平台创建不同的web浏览器332,每个浏览器版本使用单个标准来运行移动设备应用。这可有利地允许移动设备应用开发者以仅仅一种编程语言来开发移动设备应用318,与为各种移动设备平台创建不同的版本相反。这可为开发者实质上减少应用开发工作量。Different web browsers 332 can be created for different mobile device platforms, each browser version using a single standard to run mobile device applications. This may advantageously allow mobile device application developers to develop mobile device applications 318 in only one programming language, as opposed to creating different versions for various mobile device platforms. This can substantially reduce application development workload for developers.
企业可能需要它的用户115将web浏览器332安装到他们的移动设备120上,并可禁止其它web浏览器的使用。所需的浏览器332可配置成通过隧道将至少一些移动设备业务引导到企业控制的隧道中介,例如上面描述的中介224。这给企业对业务的较大控制,减少来安全风险。企业可使用移动设备规则214,其使设备上存在的企业代理320或web浏览器332本身能够检测在移动设备120上的被禁止的web浏览器的安装和/或使用。相关补救行动216可根据上面描述的方法例如通过卸载它、防止它运行等来防止被禁止的web浏览器的使用。An enterprise may require its users 115 to install a web browser 332 on their mobile devices 120, and may prohibit the use of other web browsers. Required browser 332 may be configured to tunnel at least some mobile device traffic to an enterprise-controlled tunneling intermediary, such as intermediary 224 described above. This gives enterprises greater control over their operations, reducing security risks. Enterprises may use mobile device rules 214 , which enable enterprise agents 320 or web browsers 332 present on the devices themselves to detect the installation and/or use of prohibited web browsers on mobile devices 120 . Relevant remedial action 216 may prevent usage of the prohibited web browser, eg, by uninstalling it, preventing it from running, etc., according to the methods described above.
在一些实施方式中,安全web浏览器332可配置成将一些或所有web冲浪请求引导到如上所述的内容过滤服务器。In some implementations, secure web browser 332 may be configured to direct some or all web surfing requests to a content filtering server as described above.
修改预先存在的移动应用的行为Modify the behavior of pre-existing mobile applications
现在将描述用于使非开发者例如公司的IT部门的成员能够添加或以其他方式修改现有移动应用例如Android、IOS或Windows Mobile应用的行为的系统和过程。该系统或过程可作为一个例子用于基于用户在企业内的角色来创建移动应用的不同版本(具有不同的特权、访问权利等)。例如,可为不同的工作类别(例如主管人员、非管理雇员、实习生等)和/或不同的部门(销售、IT、人力资源等)创建移动应用的不同版本。可在使用所公开的系统的企业可利用的应用修改或“包装”工具或实用程序中实现在这个章节中描述的过程。这个实用程序例如可被托管在企业可访问的服务器(例如作为web服务)上或可被提供到企业(例如作为PC应用)。Systems and processes for enabling non-developers, such as members of a company's IT department, to add to or otherwise modify the behavior of existing mobile applications, such as Android, IOS, or Windows Mobile applications, will now be described. The system or process can be used as an example to create different versions of a mobile application (with different privileges, access rights, etc.) based on the user's role within an enterprise. For example, different versions of the mobile application may be created for different job categories (eg, executives, non-managerial employees, interns, etc.) and/or different departments (sales, IT, human resources, etc.). The processes described in this section may be implemented in application modification or "wrapper" tools or utilities available to enterprises using the disclosed system. This utility may, for example, be hosted on a server accessible to the enterprise (eg as a web service) or provided to the enterprise (eg as a PC application).
在一般使用情况情形中,待修改的移动应用是为特定的企业开发的定制应用。然而,这不需要是这种情况。例如,所公开的系统和过程也可应用于在应用商店中可得到的市场上可买到的移动应用。移动应用可被修改而不被特别写入以支持这样的修改或使这样的修改变得可能。例如,开发者不需要包括应用中的任何特殊代码或功能以使修改变得可能或便于修改,且不需要在修改应用的所公开的过程中被涉及。In a general use case scenario, the mobile application to be modified is a custom application developed for a specific enterprise. However, this need not be the case. For example, the disclosed systems and processes are also applicable to commercially available mobile applications available in application stores. Mobile applications may be modified without being specifically written to support or enable such modifications. For example, the developer is not required to include any special code or functionality in the application to enable or facilitate modification, and need not be involved in the disclosed process of modifying the application.
所修改的行为一般包括涉及标准API调用或类的行为或由涉及标准API调用或类的行为组成。下面是可经由所公开的过程被添加或修改的一些类型的行为的例子:The modified behavior generally includes or consists of behavior involving standard API calls or classes. The following are examples of some types of behavior that may be added or modified via the disclosed process:
1.通常通过移动设备操作系统例如Android和IOS来提供的剪切和粘贴能力可在特定的移动应用例如提供对机密公司数据的访问的应用内被禁用。这个行为变化可能对禁止雇员(或某一类别的雇员)将机密数据意外地或恶意地发送或移动到未经授权的位置是合乎需要的。1. Cut and paste capabilities typically provided by mobile device operating systems such as Android and IOS can be disabled within certain mobile applications such as applications that provide access to confidential corporate data. This change in behavior may be desirable to prohibit employees (or a class of employees) from accidentally or maliciously sending or moving confidential data to unauthorized locations.
2.以非加密格式存储输出的移动应用可被修改来以加密格式存储其输出。在一个实施方式中,这部分地通过修改移动应用的输入/输出参考以使应用使用加密库以对它写到存储器或从存储器读取的数据加密和解密来完成。也可插入使移动应用从企业代理得到密钥用于在对数据加密和解密时使用的代码。2. A mobile application that stores output in a non-encrypted format can be modified to store its output in an encrypted format. In one embodiment, this is accomplished in part by modifying the mobile application's input/output references to cause the application to use an encryption library to encrypt and decrypt data it writes to or reads from memory. Code may also be inserted that causes the mobile application to obtain keys from the enterprise agent for use in encrypting and decrypting data.
3.使用某个级别或类型的加密的移动应用可被修改以使用不同级别或类型的加密。例如,如果联邦政府需要企业来开始使用特定的加密库,则现有的移动应用可被修改以有效地用新加密库替换现有加密库。3. A mobile application that uses a certain level or type of encryption can be modified to use a different level or type of encryption. For example, if the federal government requires businesses to start using a particular encryption library, existing mobile applications can be modified to effectively replace the existing encryption library with the new encryption library.
4.企业可修改移动应用以使它使用到企业的网络或企业系统的特殊安全连接。例如,移动应用可配置成使用如上所述的安全应用隧道。4. The enterprise can modify the mobile application so that it uses a special secure connection to the enterprise's network or enterprise systems. For example, mobile applications can be configured to use secure application tunneling as described above.
5.可修改移动应用以添加登录或其它认证提示或屏幕。5. The mobile application can be modified to add login or other authentication prompts or screens.
6.移动应用可配置成记录和/或报告关于其使用的数据。这个数据可包括例如使用的时间和持续时间、使用的位置(基于例如GPS坐标)、所调用的应用特征、所访问的接入点等。(现有移动设备操作系统例如Android和IOS提供用于使应用能够得到这些和其它类型的使用参数的功能)。这个使用数据可由企业使用来例如监控雇员符合企业的使用限制策略,以识别并校正特定的企业移动应用的问题或确定是否继续为特定的用户支付应用许可证。在移动设备120上收集的应用使用数据可例如由企业代理320报告给移动设备管理系统126或某个其它系统用于分析。6. The mobile application can be configured to record and/or report data about its usage. This data may include, for example, time and duration of use, location of use (based on, for example, GPS coordinates), application features invoked, access points visited, and the like. (Existing mobile device operating systems such as Android and IOS provide functionality for enabling applications to obtain these and other types of usage parameters). This usage data can be used by the enterprise, for example, to monitor employee compliance with the enterprise's usage restriction policies, to identify and correct problems with particular enterprise mobile applications, or to determine whether to continue paying for an application license for a particular user. Application usage data collected on mobile devices 120 may be reported, for example, by enterprise agent 320 to mobile device management system 126 or some other system for analysis.
7.可修改移动应用,以使企业能够在特定雇员的特定移动设备120上远程地发起应用的数据的删除,而不影响应用的其他用户。如上面提到的,也可在例如用户未能输入有效的企业密码阈值次数时执行这样的选择性擦除操作。7. The mobile application can be modified to enable the enterprise to remotely initiate deletion of the application's data on a specific mobile device 120 of a specific employee without affecting other users of the application. As mentioned above, such selective wipe operations may also be performed when, for example, a user fails to enter a valid enterprise password a threshold number of times.
8.可修改移动应用,使得它可由安全启动器350B(图3B)而不是由移动设备的操作系统的一般启动器启动。这可通过例如改变在移动应用中的一个或多个对移动操作系统的通用启动器的参考,使得它们替代地指向安全启动器来完成。如上面解释的,安全启动器可实现一个或多个安全策略,例如在企业应用被启动之前需要有效密码的输入。安全启动器也可例如通过使企业应用使用与移动操作系统的虚拟机分离的安全虚拟机(图3B)被执行来使企业应用在安全执行环境中运行。(见下面的章节。)8. The mobile application can be modified so that it can be launched by the secure launcher 350B (FIG. 3B) instead of the general launcher of the mobile device's operating system. This can be done, for example, by changing one or more references in the mobile application to the mobile operating system's generic launcher so that they instead point to the secure launcher. As explained above, a secure launcher may implement one or more security policies, such as requiring entry of a valid password before an enterprise application can be launched. The secure launcher can also cause the enterprise application to run in a secure execution environment, for example, by causing the enterprise application to be executed using a secure virtual machine (FIG. 3B) separate from the mobile operating system's virtual machine. (See section below.)
9.可修改移动应用以使它在虚拟机350C(图3B)中启动。这可通过例如修改在应用中的参考(例如在Android应用的清单(manifest)中或以任何方式,其中应用被启动)来完成以使它在安全VM中被启动。如下面在标题为“安全虚拟机”的章节中解释的,安全VM可实现本文描述的一些客户端侧安全功能(加密、应用隧道等),减少或消除将这样的功能添加到移动应用本身的需要。这可使企业应用能够在安全执行环境中运行,而私人应用在默认VM中运行。9. The mobile application can be modified so that it launches in virtual machine 350C (FIG. 3B). This can be done by, for example, modifying a reference in the application (eg in the Android application's manifest or in any way where the application is launched) so that it is launched in the secure VM. As explained below in the section titled "Secure Virtual Machine," a secure VM can implement some of the client-side security functions described herein (encryption, application tunneling, etc.), reducing or eliminating the need to add such functionality to the mobile application itself. need. This enables corporate applications to run in a secure execution environment, while private applications run in the default VM.
其它例子包括禁用离线访问、添加URL过滤、添加API过滤、禁用到本地存储器的写入以及防止文档在新应用中打开。Other examples include disabling offline access, adding URL filtering, adding API filtering, disabling writing to local storage, and preventing documents from opening in new applications.
图29示出应用修改系统的一个实施方式。系统包括基于操作员选择的策略来进行修改的应用变换器2900。对于Android应用,变换器2900接收应用的.APK(应用封装)文件,并输出表示已修改的应用的新.APK文件。对于IOS,变换器2900接收.IPA(iPhone应用档案)文件,并输出表示已修改的应用的新.IPA文件。可支持各种其它文件格式和移动设备操作系统。如图29所示,应用变换器2900优选地包括反汇编程序2900A(用于反汇编应用的可执行代码)、代码分析器/映射器2900B、代码修改器/插入器2900C和应用重建器2900D。Figure 29 illustrates one embodiment of an application modification system. The system includes an application transformer 2900 that modifies based on operator selected policies. For Android applications, the transformer 2900 receives the application's .APK (application package) file and outputs a new .APK file representing the modified application. For IOS, the transformer 2900 receives an .IPA (iPhone Application Archive) file and outputs a new .IPA file representing the modified application. Various other file formats and mobile device operating systems are supported. As shown in Figure 29, the application transformer 2900 preferably includes a disassembler 2900A (for disassembling the application's executable code), a code analyzer/mapper 2900B, a code modifier/inserter 2900C and an application rebuilder 2900D.
如在图29中所示的,变换器2900访问包含对各种策略和相关行为例如上面列出的那些策略和相关行为的策略描述的策略库2902。例如,可提供“禁用剪切和粘贴”策略。可以任何适当的语言和格式来描述策略。例如,策略描述被存储为smali文件。如在图29中进一步所示的,系统还包括控制接口2904或使管理员能够选择一个或多个策略来应用于给定应用的“控制台”。控制台2904也可包括用于使管理员能够规定新策略的工具。例如,可规定添加认证序列、禁用剪切和粘贴并使所有文件以加密形式被存储的新策略。这个策略可接着用作用于修改多个移动应用的基础。As shown in FIG. 29, transformer 2900 accesses policy repository 2902 that contains policy descriptions for various policies and related actions, such as those listed above. For example, a "disable cut and paste" policy may be provided. Policies may be described in any suitable language and format. For example, policy descriptions are stored as smali files. As further shown in FIG. 29, the system also includes a control interface 2904 or "console" that enables an administrator to select one or more policies to apply to a given application. Console 2904 may also include tools for enabling administrators to specify new policies. For example, new policies could be specified that add authentication sequences, disable cut and paste, and cause all files to be stored in encrypted form. This strategy can then be used as a basis for modifying multiple mobile applications.
在一般使用情况情形中,公司的IT部门的成员使用控制接口2904来:选择待修改的移动应用,选择待应用的一个或多个策略,并发起变换过程。已修改的应用然后被分配给相关雇员或其他用户(例如通过特殊应用商店,其通过企业代理是可访问的,如上所述)。这个过程可以在不同的策略选择的情况下重复以为不同的用户创建应用的不同版本。策略库2902可例如包括用于实现上面描述的一些或所有类型的策略(和各种其它策略)的策略文件。In a typical use case scenario, a member of a company's IT department uses the control interface 2904 to: select a mobile application to be modified, select one or more policies to apply, and initiate the transformation process. The modified application is then distributed to relevant employees or other users (eg, through a special application store, which is accessible through an enterprise agent, as described above). This process can be repeated with different policy choices to create different versions of the application for different users. Policy repository 2902 may, for example, include policy files for implementing some or all of the types of policies described above (and various other policies).
图30示出可由变换器2900执行来基于选定的一组一个或多个策略来修改Android应用的一序列步骤。类似的过程可用于变换为其它操作系统编写的应用,例如IOS和Windows Mobile。图30所示的整个过程优选地是完全自动化的,意味着不需要人工干预。在块3000中,打开.APK文件。如在本领域中已知的,这个文件包含各种应用部件,例如应用的可执行代码、图像、XML文件、清单和其它资源。在块3002中,反汇编程序2900A反汇编应用的可执行代码以产生一个或多个文本smali文件。如将认识到的,除了smali以外的中间语言可用于实现所公开的修改任务。Figure 30 illustrates a sequence of steps that may be performed by transformer 2900 to modify an Android application based on a selected set of one or more policies. A similar process can be used to transform applications written for other operating systems, such as IOS and Windows Mobile. The entire process shown in Figure 30 is preferably fully automated, meaning that no human intervention is required. In block 3000, the .APK file is opened. As is known in the art, this file contains various application components, such as the application's executable code, images, XML files, manifests, and other resources. In block 3002, the disassembler 2900A disassembles the application's executable code to produce one or more text smali files. As will be appreciated, intermediate languages other than smali may be used to implement the disclosed modification tasks.
在块3004,分析器/映射器2900B分析并映射应用代码(以smali格式)以产生关于将可能被替换的API调用的信息。在块3006中,用新API调用替换相关API调用用于实现一个或多个选定策略。此外,来自策略库2902的相关代码被添加。例如,如果剪切和粘贴功能被禁用,则由应用使用来访问操作系统的切换和粘贴功能的任何API调用可被移除或替换。At block 3004, the analyzer/mapper 2900B analyzes and maps the application code (in smali format) to generate information about API calls that will likely be replaced. In block 3006, the relevant API calls are replaced with new API calls for implementing the one or more selected policies. Additionally, relevant code from policy library 2902 is added. For example, if the cut and paste functionality is disabled, any API calls used by the application to access the switching and pasting functionality of the operating system may be removed or replaced.
作为一个例子,可产生Java I/O文件输入流(Java.io.FileInputStream)类的新版本,且对原始类的所有引用可被修改以指向这个新版本。新版本可例如包括用于分别在文件写和读操作上对数据加密和解密的代码。As an example, a new version of the Java I/O File Input Stream (java.io.FileInputStream) class can be created, and all references to the original class can be modified to point to this new version. The new version may, for example, include code for encrypting and decrypting data on file write and read operations, respectively.
在图30的块3008中,如果可适用,可添加额外的代码以实现不需要任何现有的API调用的替换的一个或多个特征或行为。作为一个例子,可添加代码用于使经授权的管理员能够在用户特定或移动设备特定基础上远程地触发存储在特定的移动设备上的应用的数据的删除。在本例中,在块3008中添加的代码将添加用于接收并处理包含执行这样的选择性擦除或删除操作的命令的消息的功能。In block 3008 of Figure 30, if applicable, additional code may be added to implement the replaced one or more features or behaviors that do not require any existing API calls. As one example, code can be added to enable an authorized administrator to remotely trigger the deletion of an application's data stored on a particular mobile device on a user-specific or mobile-device-specific basis. In this example, the code added in block 3008 would add functionality for receiving and processing messages containing commands to perform such selective wipe or delete operations.
为了提供额外的安全层,可使用本领域中已知的混淆化方法和功能来混淆在前面的块中修改的代码的部分。混淆化的使用损害其他人对添加到应用的安全功能进行逆向工程的能力。混淆化可应用于反汇编的代码(例如smali代码)或可在不同的级别处被应用。To provide an additional layer of security, obfuscation methods and functions known in the art may be used to obfuscate the portion of code modified in the preceding block. The use of obfuscation compromises the ability of others to reverse engineer security features added to an application. Obfuscation can be applied to disassembled code (eg smali code) or can be applied at different levels.
在图30的块3010中,如果必要,应用的清单(例如AndroidManifest.xml)被修改以反映已修改的行为。作为一个例子,如果应用被修改以在安全壳中启动,则清单将被修改以指示Android操作系统使用安全壳来启动应用。在一些实施方式中,这涉及用对安全启动器350B(图5B)的引用代替对操作系统的通用启动器的引用。在块3012中,修改的smali代码和清单连同其它所提取的应用部件一起被编译成新.APK文件。在块3014中,使用数字证书来在这个新.APK文件上签名。In block 3010 of Figure 30, the application's manifest (eg, AndroidManifest.xml) is modified, if necessary, to reflect the modified behavior. As an example, if the application was modified to launch in a secure shell, the manifest would be modified to instruct the Android operating system to use the secure shell to launch the application. In some implementations, this involves replacing references to the operating system's generic launcher with references to secure launcher 350B (FIG. 5B). In block 3012, the modified smali code and manifest are compiled into a new .APK file along with other extracted application components. In block 3014, the new .APK file is signed using a digital certificate.
可以用类似的方式修改为IOS操作系统编写的移动应用。一般,这样的应用作为IPA文件被分布,IPA包括以Mach-O格式的可执行文件、P列表和资源。一旦可执行文件被反汇编以产生ARM汇编代码,它就被映射以识别可能被替换的类,并接着通过(1)识别待替换的一个或多个特定的类、(2)添加/修改代码以替换这样的类、(3)调节类结构以反映修改使得每个新类是原始代码的子类以及(4)更新参考以指向一个或多个新类来被修改。Mobile applications written for the IOS operating system can be modified in a similar manner. Typically, such applications are distributed as an IPA file that includes an executable, P-list, and resources in Mach-O format. Once the executable is disassembled to produce ARM assembly code, it is mapped to identify classes that may be replaced, and then by (1) identifying the specific class or classes to be replaced, (2) adding/modifying code To replace such classes, (3) adjust the class structure to reflect the modifications so that each new class is a subclass of the original code and (4) update references to point to one or more new classes as modified.
在一些实施方式中,可以以一个或多个测试扩大上面描述的过程用于验证待修改的移动应用不包含恶意软件或否则不呈现对企业安全的风险。一个这样的测试涉及产生一些或所有应用文件的散列并接着比较这个散列和与已知恶意软件相关的散列库。如果找到匹配(指示应用可能包括恶意软件),则可终止应用修改过程。In some implementations, the process described above may be augmented with one or more tests for verifying that the mobile application to be modified does not contain malware or otherwise present a risk to enterprise security. One such test involves generating a hash of some or all of the application files and then comparing this hash to a library of hashes associated with known malware. If a match is found (indicating that the application may include malware), the application modification process can be terminated.
另一这样的测试涉及检查由应用做出的API调用和URL请求以检查可疑活动。可疑活动的例子包括读取存储在设备上的私人联系人,将电子邮件发送到云存储设备,以及发送位置信息而不首先请求用户许可。基于这个分析,可产生代表由移动应用引起的风险的级别的分数(例如按1到100的标度)。如果这个分数超过阈值,则修改过程可终止。分数可此外或可选地包括在详述所检测到的可疑活动的报告中。应用修改工具可例如输出这个报告用于审查,并可提示管理员-用户确认或指示修改过程是否应继续进行。Another such test involves examining API calls and URL requests made by applications to check for suspicious activity. Examples of suspicious activity include reading private contacts stored on the device, sending emails to cloud storage devices, and sending location information without first asking the user for permission. Based on this analysis, a score can be generated (eg, on a scale of 1 to 100) representing the level of risk posed by the mobile application. If this score exceeds a threshold, the modification process can be terminated. Scores may additionally or alternatively be included in reports detailing detected suspicious activity. The application modification tool may output this report for review, for example, and may prompt the administrator-user for confirmation or to indicate whether the modification process should proceed.
图29所示的应用修改系统可例如在服务器、个人计算机、工作站或在公司的企业系统内的其它计算机或系统上实现。可选地,应用修改系统可被实现为公司客户通过互联网可访问的托管的服务。系统的各种部件2900-2904可被实现为存储在任何类型的非临时计算机存储设备或系统上的代码模块。The application modification system shown in FIG. 29 may be implemented, for example, on a server, personal computer, workstation, or other computer or system within a company's enterprise system. Alternatively, the application modification system may be implemented as a hosted service accessible to corporate customers via the Internet. The various components 2900-2904 of the system may be implemented as modules of code stored on any type of non-transitory computer storage device or system.
图29所示的系统的部件2900、2902、2904可作为较大系统(例如在这个说明书的其它章节中描述的系统)的部分被提供到公司用于使公司能够管理移动设备并保护由这样的设备访问的数据。例如,这些部件可与在本公开中描述的各种其它部件捆绑在一起并被给予许可。可选地,图29的应用修改系统可作为独立的产品或作为由服务提供者托管并通过网络访问的系统被提供到公司。Components 2900, 2902, 2904 of the system shown in FIG. 29 may be provided to companies as part of a larger system (such as the systems described in other sections of this specification) for use in enabling companies to manage mobile devices and secure Data accessed by the device. For example, these components may be bundled and licensed with various other components described in this disclosure. Alternatively, the application modification system of FIG. 29 may be offered to companies as a stand-alone product or as a system hosted by a service provider and accessed over a network.
安全虚拟机Secure Virtual Machine
如上面提到的,用于将安全层有效地添加到企业移动应用的一种方法是配置或迫使这样的应用在安装在移动设备上的安全VM 350C(图3B)内运行。安全VM可类似于移动操作系统的VM,但可指向被添加到移动设备的特殊代码库,包括用于执行诸如对数据加密/解密的功能和使用应用隧道的代码库。安全VM的使用使企业的IT部门能够在对应用本身有很少修改或没有修改的情况下将安全层有效地添加到预先存在的移动应用。这在例如企业希望使用流行的市场上可买到的移动应用作为企业应用但没有授权来(或以其他方式不希望)对应用进行某些类型的修改时可能是合乎需要的。As mentioned above, one approach for effectively adding a security layer to enterprise mobile applications is to configure or force such applications to run within a secure VM 350C (FIG. 3B) installed on the mobile device. A secure VM can be similar to a mobile operating system's VM, but can point to special code libraries added to the mobile device, including code libraries for performing functions such as encrypting/decrypting data and using application tunneling. The use of a secure VM enables an enterprise's IT department to effectively add a security layer to a pre-existing mobile application with little or no modification to the application itself. This may be desirable when, for example, an enterprise wishes to use a popular commercially available mobile application as an enterprise application but does not have the authorization to (or otherwise does not wish to) make certain types of modifications to the application.
安全VM 350C可载入其自己的用于存储、联网、策略管理等的专用库。例如,由在安全VM 350C中运行的应用存储的一些或所有数据可使用某种加密策略。安全VM 350C可实现一组策略(例如认证、剪切/粘贴的禁用、对某些ULR的访问的防止、对某些API的访问的防止等)以控制在安全VM 350C内的应用的执行。The Secure VM 350C can load its own dedicated libraries for storage, networking, policy management, etc. For example, some or all data stored by applications running in secure VM 350C may use some encryption policy. The secure VM 350C may implement a set of policies (e.g., authentication, disabling of cut/paste, prevention of access to certain ULRs, prevention of access to certain APIs, etc.) to control the execution of applications within the secure VM 350C.
安全VM 350C可基于检测到某些条件例如指示具有病毒或是恶意软件的应用的条件来阻止在其中运行的应用的执行。钩子可被添加到安全VM 350C以防止在某些条件被检测到时程序被执行。安全VM 350C可观察在其中运行的应用的执行特征以确定应用不展示恶意行为。The security VM 350C may prevent the execution of applications running within it based on the detection of certain conditions, such as conditions indicating that the application has a virus or malware. Hooks can be added to the security VM 350C to prevent programs from being executed when certain conditions are detected. Secure VM 350C may observe the execution characteristics of applications running within it to determine that the applications do not exhibit malicious behavior.
通过使用定制VM,所有公司内容可本质上与存储在设备上的其它内容分离。这样的定制VM可防止与在移动设备120的默认VM中执行的应用共享数据或应用。而且,由在定制VM中运行的应用访问和/或操纵的数据可存储在安全数据容器336中,如上所述。By using a custom VM, all corporate content can be essentially separated from other content stored on the device. Such a custom VM may prevent sharing data or applications with applications executing in the default VM of the mobile device 120 . Also, data accessed and/or manipulated by applications running in the custom VM may be stored in the secure data container 336, as described above.
在一个实施方式中,单个安全VM设置在移动设备120上用于运行企业应用,并可用于同时运行多个企业应用。在另一实施方式中,多个安全VM设置在移动设备上,使得每个企业应用在单独的安全VM内运行。这两种方法的混合也是可能的。In one embodiment, a single secure VM is provided on the mobile device 120 for running enterprise applications and can be used to run multiple enterprise applications concurrently. In another embodiment, multiple secure VMs are provided on the mobile device such that each enterprise application runs within a separate secure VM. A mixture of the two approaches is also possible.
各种方法可用于迫使或配置预先存在的移动应用使用安全VM。一种这样的方法涉及修改移动应用以使它使用安全启动器350B,如在前面的章节中描述的。当应用被启动时,安全启动器启动安全VM,并接着将移动应用有效地传递到安全VM用于执行。另一方法涉及通过用对安全VM的引用代替对操作系统的默认虚拟机的引用来修改移动应用。另一方法涉及在应用安装的时间指示移动设备的操作系统在安全VM中执行移动应用。Various methods are available to force or configure pre-existing mobile applications to use the secure VM. One such method involves modifying the mobile application so that it uses the secure launcher 350B, as described in the previous section. The secure launcher starts the secure VM when the application is launched, and then effectively passes the mobile application to the secure VM for execution. Another approach involves modifying the mobile application by replacing references to the operating system's default virtual machine with references to the secure VM. Another approach involves instructing the mobile device's operating system to execute the mobile application in a secure VM at the time of application installation.
在一个实施方式中,每当在安全VM中运行的移动应用执行文件读或写操作时,安全VM就使用加密库来处理正被读或写的数据。安全VM从而将加密应用于由企业应用在本地存储的企业数据。In one embodiment, whenever a mobile application running in the secure VM performs a file read or write operation, the secure VM uses the encryption library to process the data being read or written. The secure VM thus applies encryption to enterprise data stored locally by enterprise applications.
由安全VM使用的库文件在一些实施方式中可合并到操作系统中或以其他方式在OS开发者、设备制造/销售者或具有对制造这样的附加物的适当许可水平的其它方的合作下安装在移动设备上。添加这样的库文件的能力通常增加安全VM的安全能力,但不是必不可少的。The library files used by the Secure VM may in some implementations be incorporated into the operating system or otherwise with the cooperation of the OS developer, device manufacturer/seller, or other party with the appropriate level of permission to manufacture such add-ons Install on mobile devices. The ability to add such library files generally increases the security capabilities of a secure VM, but is not essential.
在安全VM中运行应用的一个益处是安全VM可载入用于存储、联网、策略管理等的可选的一组专用库。例如,可装入库,其使由应用存储的所有数据使用某个加密库被加密。也可装入库,其例如禁用剪切/复制/粘贴操作,需要用户认证,防止对某些URL的访问,防止对某些API的访问,等等。可例如根据用户在企业内的角色或地位、被启动的特定应用或/或其它标准来装入特定的库。One benefit of running applications in a secure VM is that the secure VM can load an optional set of specialized libraries for storage, networking, policy management, and the like. For example, a library can be loaded that causes all data stored by the application to be encrypted using some encryption library. Libraries can also be loaded that eg disable cut/copy/paste operations, require user authentication, prevent access to certain URLs, prevent access to certain APIs, etc. Specific libraries may be loaded, for example, based on the user's role or status within the enterprise, the particular application being launched, or/or other criteria.
在安全或定制VM中运行应用的另一益处是应用的执行可被阻止,如果应用展示存在于恶意软件或病毒中的类型的可疑行为。这可通过将钩子添加到安全VM来实现以使应用的执行能够被监控或/或阻止。Another benefit of running an application in a secure or custom VM is that the execution of the application can be blocked if the application exhibits suspicious behavior of the type present in malware or viruses. This can be accomplished by adding hooks to the secure VM to enable the execution of applications to be monitored and/or blocked.
安全或定制VM还提供用于保持企业内容与存储在设备上的其它内容分离的机制。例如,通过安全VM的使用,由企业存储的数据可存储在安全容器中,如上所述。该数据有利地是设备的默认VM或在它内运行的应用以未加密形式不可访问的。A secure or custom VM also provides mechanisms for keeping enterprise content separate from other content stored on the device. For example, through the use of a secure VM, data stored by an enterprise may be stored in a secure container, as described above. This data is advantageously inaccessible in unencrypted form to the device's default VM or applications running within it.
在Android OS的上下文中,可用于在安全VM中启动应用的一种方法涉及app_process命令的使用以修改标准启动序列。例如,一旦Zygote初始化子过程,就可使用下列格式的命令:execvp(“/system/bin/app_process”,..<args>..)。(Zygote是当Android引导时创建的特殊过程;一旦被创建,它就打开服务器套接字以倾听过程创建请求。)这个调用以新的可执行映象代替老的可执行映像,并使安全VM能够用一些现有的库/jar并用实现例如企业策略推送、安全存储和安全联网特征的一些新的库/jar被装入。新实例不是Zygote或任何其它父过程的共享,而更确切地是具有其自己的执行环境和增加的行为组的完全新的过程。一旦安全VM被装入,下面的步骤就可被执行以在安全VM中启动应用:(1)最新创建的过程执行“附加”操作;(2)一旦ActivityManagerService从最新创建的过程接收到附加请求,它就将所存储的意图发送给它,使得ActivityThread将寻找在应用的清单中的意图,并将创建该活动;以及(3)它接着开始运行应用。这三个步骤与当应用在Android中被启动时通常执行的最后三个步骤相同。Android运行时间或任何其它可兼容的运行时间可装入安全VM中,使得应用与安全VM可兼容。这个上面的过程可由本领域中的技术人员改变,用于与其它操作系统一起使用。In the context of the Android OS, one method available for launching applications in a secure VM involves the use of the app_process command to modify the standard boot sequence. For example, once Zygote initializes a subprocess, a command of the following format can be used: execvp(“/system/bin/app_process”,..<args>..). (Zygote is a special process created when Android boots; once created, it opens a server socket to listen for process creation requests.) This call replaces the old executable image with the new one and makes the secure VM Can use some existing libraries/jars and be loaded with some new libraries/jars implementing features such as enterprise policy push, secure storage and secure networking. The new instance is not a share of Zygote or any other parent process, but rather a completely new process with its own execution environment and increased set of behaviors. Once the secure VM is loaded, the following steps can be performed to start the application in the secure VM: (1) the newly created process performs an "attach" operation; (2) once the ActivityManagerService receives an attach request from the newly created process, It just sends it the stored intent, so that the ActivityThread will look for the intent in the application's manifest, and will create the activity; and (3) it then starts running the application. These three steps are the same as the last three steps normally performed when the application is launched in Android. The Android runtime or any other compatible runtime can be loaded into the secure VM, making the application compatible with the secure VM. This above procedure can be altered by one skilled in the art for use with other operating systems.
应用可被配置或“标记”以用各种方式使用安全/定制VM。例如,在Android的上下文中,标准命令“adb shell pm enable(包名)”可用于设置应用包的“启用”状态或标志。作为另一例子,安装在设备上的企业代理可在安装时进行对这个API的调用并指定将在安全/定制VM中运行的所有应用。当稍后启动这样的应用时,可检查“启用”标志(在Zygote被请求创建新过程/使新过程分支之前),并可基于这个标志的状态来创建新安全VM实例。这个过程可由本领域中的技术人员改变,用于与其它操作系统一起使用。Applications can be configured or "flagged" to use the secure/custom VM in various ways. For example, in the context of Android, the standard command "adb shell pm enable(packagename)" can be used to set the "enabled" state or flag of an application package. As another example, an enterprise agent installed on the device could make a call to this API at install time and specify all applications to run in the secure/custom VM. When such an application is launched later, the "enabled" flag can be checked (before Zygote is asked to create/fork a new process) and based on the state of this flag a new secure VM instance can be created. This procedure can be altered by one skilled in the art for use with other operating systems.
结论in conclusion
安全移动网关128和移动设备管理系统126每个可由计算机系统实现,计算机系统由可以但不需要位于同一位置的一个或多个计算设备(例如物理服务器、工作站等)构成。每个这样的计算设备一般包括执行存储在存储器或其它非临时计算机可读存储介质或设备中的程序指令或模块的处理器(或多个处理器)。安全移动网关128和移动设备管理系统126可在公共硬件上或在分离和不同的硬件上实现。Secure mobile gateway 128 and mobile device management system 126 may each be implemented by a computer system comprised of one or more computing devices (eg, physical servers, workstations, etc.) that may, but need not, be co-located. Each such computing device generally includes a processor (or processors) that executes program instructions or modules stored in memory or other non-transitory computer-readable storage medium or device. Secure mobile gateway 128 and mobile device management system 126 may be implemented on common hardware or on separate and distinct hardware.
上面描述的所有方法和过程可体现在由一个或多个计算机设备(例如智能电话、平板计算机、其它类型的移动设备、物理服务器等)执行的软件代码模块中并经由所述软件代码模块被完全自动化。每个这样的计算机设备一般包括执行存储在存储器或其它非临时计算机可读存储介质或其它计算机存储设备中的程序指令或模块的处理器(或多个处理器)。代码模块可存储在任何类型的计算机可读存储介质或其它计算机存储设备上。一些或所有方法可以可选地体现在专用计算机硬件(例如ASIC或FPGA)中。在给定软件部件(例如企业代理或安全启动器)在本文被描述为执行或实现给定功能的场合,应理解,部件通过可执行指令指示一个或多个处理器(移动设备的处理器)执行或实现功能。All of the methods and processes described above may be embodied in and fully implemented via software code modules executed by one or more computer devices (e.g., smartphones, tablet computers, other types of mobile devices, physical servers, etc.) automation. Each such computer device generally includes a processor (or multiple processors) executing program instructions or modules stored in a memory or other non-transitory computer-readable storage medium or other computer storage device. Code modules may be stored on any type of computer readable storage medium or other computer storage devices. Some or all of the methods may optionally be embodied in special purpose computer hardware such as an ASIC or FPGA. Where a given software component (e.g., an enterprise agent or a secure enabler) is described herein as performing or implementing a given function, it should be understood that the component indicates, by way of executable instructions, that one or more processors (the processor of the mobile device) To perform or realize a function.
对在本公开中描述的实现的各种修改对本领域中的技术人员可以是容易明显的,且在本文规定的一般原理可应用于其它实现,而不偏离本公开的精神或范围。因此,在这个说明书中没有任何事物用来暗示所公开的系统和过程的任何特征、特性或属性是必不可少的。Various modifications to the implementations described in this disclosure may be readily apparent to those skilled in the art, and the generic principles laid down herein may be applied to other implementations without departing from the spirit or scope of this disclosure. Accordingly, nothing in this specification is intended to imply that any feature, characteristic or attribute of the disclosed systems and processes is essential.
也可结合单个实现来实现在单独的实现的上下文中在这个说明书中描述的某些特征。相反,也可在多个实现中单独地或以任何适当的子组合实现在单个实现的上下文中描述的各种特征。而且,虽然特征可在上面被描述为在某些组合中起作用且甚至最初被这样主张,来自所主张的组合的一个或多个特征可在一些情况下从组合删除,且所主张的组合可指向子组合或子组合的变形。Certain features that are described in this specification in the context of separate implementations can also be implemented in combination in a single implementation. Conversely, various features that are described in the context of a single implementation can also be implemented in multiple implementations separately or in any suitable subcombination. Moreover, although features may be described above as functioning in certain combinations and even initially claimed as such, one or more features from a claimed combination may in some cases be deleted from the combination, and the claimed combination may Points to a subcomposition or a variant of a subcomposition.
类似地,虽然操作在附图中以特定的顺序被描述,这不应被理解为要求这样的操作以所示的特定顺序或以连续的顺序被执行,或所有所示的操作都被执行来实现期望的结果。在某些情况下,多任务化和并行处理可能是有利的。而且,在上面描述的实现中的各种系统部件的分离不应被解释为在所有实现中都需要这样的分离,且应理解,所述程序部件和系统可通常一起集成在单个软件产品或封装到多个软件产品中。Similarly, while operations are depicted in the figures in a particular order, this should not be read as requiring that such operations be performed in the particular order shown, or in sequential order, or that all illustrated operations be performed to achieve the desired result. In some cases, multitasking and parallel processing may be advantageous. Moreover, the separation of various system components in the implementations described above should not be construed as requiring such separation in all implementations, and it is understood that the program components and systems may often be integrated together in a single software product or package into multiple software products.
范例实施方式Example implementation
本公开的范例实施方式包括:Example implementations of the present disclosure include:
1.一种存储可执行部件的非临时计算机存储器,所述可执行部件配置成提供用于选择性地保护被呈递到移动设备的附件数据的功能,所述可执行部件包括引导一个或多个计算设备执行过程的指令,所述过程包括:1. A non-transitory computer memory storing executable components configured to provide functionality for selectively securing attachment data rendered to a mobile device, the executable components comprising directing one or more Instructions for a computing device to perform a process, the process including:
从企业资源接收消息的附件,所述消息被呈递到移动设备;Receives an attachment to a message from an enterprise resource that is rendered to the mobile device;
基于企业的一个或多个可配置访问策略来确定是否对所述附件加密;以及determining whether to encrypt the attachment based on one or more configurable access policies of the enterprise; and
当做出对所述附件加密的确定时,When a determination is made to encrypt the attachment,
对所述附件加密;以及encrypt said attachment; and
使加密附件代替所述附件传输到所述移动设备,所述移动设备配置成检测所述加密附件被加密并对所述加密附件解密。An encrypted attachment is caused to be transmitted to the mobile device in place of the attachment, the mobile device being configured to detect that the encrypted attachment is encrypted and to decrypt the encrypted attachment.
2.如权利要求1所述的计算机存储器,其中确定至少部分地基于在所述企业中的所述移动设备的用户的角色。2. The computer storage of claim 1, wherein determining is based at least in part on a role of a user of the mobile device within the enterprise.
3.如权利要求1所述的计算机存储器,其中确定至少部分地基于所述移动设备的一个或多个特性。3. The computer memory of claim 1, wherein determining is based at least in part on one or more characteristics of the mobile device.
4.如权利要求3所述的计算机存储器,其中确定至少部分地基于特定的移动应用是否安装在所述移动设备上。4. The computer memory of claim 3, wherein determining is based at least in part on whether a particular mobile application is installed on the mobile device.
5.如权利要求1所述的计算机存储器,其中确定至少部分地基于所述附件的一个或多个特性。5. The computer storage of claim 1, wherein determining is based at least in part on one or more characteristics of the accessory.
6.如权利要求1所述的计算机存储器,其中所述过程还包括下列操作中的至少一个:6. The computer memory of claim 1, wherein the process further comprises at least one of the following operations:
给所述加密附件命名后缀,所述后缀不同于在所述附件的加密之前的相应附件,其中所述移动设备配置成基于所述后缀检测到所述加密附件被加密;以及naming the encrypted attachment a suffix that is different from a corresponding attachment prior to encryption of the attachment, wherein the mobile device is configured to detect that the encrypted attachment is encrypted based on the suffix; and
给所述附件的链接命名后缀,所述后缀不同于未加密附件的相应链接。Give links to said attachments a suffix that is different from corresponding links to unencrypted attachments.
7.如权利要求1所述的计算机存储器,其中所述过程还包括将用于对所述附件加密的附件密钥加密以及使加密的附件密钥随所述加密附件传输到所述移动设备。7. The computer memory of claim 1, wherein the process further comprises encrypting an attachment key used to encrypt the attachment and transmitting the encrypted attachment key with the encrypted attachment to the mobile device.
8.如权利要求1所述的计算机存储器,其中所述消息是电子邮件消息。8. The computer memory of claim 1, wherein the message is an electronic mail message.
9.如权利要求8所述的计算机存储器,其中所述附件的加密对所述移动设备的电子邮件客户端是透明的。9. The computer memory of claim 8, wherein encryption of the attachment is transparent to an email client of the mobile device.
10.如权利要求1所述的计算机存储器,其中所述过程还包括修改所述企业的所述一个或多个可配置访问策略。10. The computer storage of claim 1, wherein the process further comprises modifying the one or more configurable access policies of the enterprise.
11.如权利要求1所述的计算机存储器,其中使具有所述加密附件的所述消息传输到选定移动设备包括使所述消息经由企业计算系统的防火墙来传输。11. The computer storage of claim 1, wherein causing the message with the encrypted attachment to be transmitted to a selected mobile device comprises causing the message to be transmitted through a firewall of an enterprise computing system.
12.如权利要求1所述的计算机存储器,其中所述过程还包括当做出不对所述附件加密的确定时,使所述附件以未加密的形式传输到所述选定移动设备。12. The computer memory of claim 1, wherein the process further comprises, when a determination is made not to encrypt the attachment, causing the attachment to be transmitted to the selected mobile device in unencrypted form.
13.如权利要求1所述的计算机存储器,其中所述过程还包括:13. The computer memory of claim 1, wherein the process further comprises:
从所述移动设备接收转发所述消息的请求;receiving a request from the mobile device to forward the message;
对所述加密附件解密;以及decrypt the encrypted attachment; and
使具有解密附件的所述消息传输到所述企业资源。The message with the decrypted attachment is caused to be transmitted to the enterprise resource.
14.如权利要求13所述的计算机存储器,其中所述解密对安装在所述移动设备上的电子邮件客户端是透明的。14. The computer memory of claim 13, wherein the decryption is transparent to an email client installed on the mobile device.
15.如权利要求13所述的计算机存储器,其中所述过程还包括当所转发的消息被呈递到不同的移动设备时,基于所述企业的所述一个或多个可配置访问策略中的至少一个是否指示对所述不同的移动设备的所述附件加密来确定是否对所述附件重新加密。15. The computer storage of claim 13, wherein the process further comprises when the forwarded message is rendered to a different mobile device, based on at least one of the one or more configurable access policies of the enterprise Whether to indicate that the attachment is encrypted for the different mobile device determines whether to re-encrypt the attachment.
16.一种系统,包括:16. A system comprising:
数据存储器,其配置成存储规定对附件加密时的条件的一个或多个规则;以及a data store configured to store one or more rules specifying conditions under which attachments are encrypted; and
与所述数据存储器通信的一个或多个计算设备,所述一个或多个计算设备配置成:one or more computing devices in communication with the data store, the one or more computing devices configured to:
监控来自企业计算系统的被呈递到移动设备的消息;以及monitor messages from enterprise computing systems that are rendered to mobile devices; and
至少部分地通过比较与所述选定消息相关的条件与在存储在所述数据存储器中的所述一个或多个规则中的所述条件相关的值来确定是否对所述消息中的选定消息的附件加密。at least in part by comparing a condition associated with the selected message with a value associated with the condition in the one or more rules stored in the data store. Attachments to messages are encrypted.
17.如权利要求16所述的系统,其中所述条件包括所述移动设备的特性。17. The system of claim 16, wherein the condition includes a characteristic of the mobile device.
18.如权利要求16所述的系统,其中所述条件包括与所述移动设备相关的用户的特性。18. The system of claim 16, wherein the condition includes a characteristic of a user associated with the mobile device.
19.如权利要求16所述的系统,其中所述条件包括所述附件的特性。19. The system of claim 16, wherein the condition includes a characteristic of the accessory.
20.如权利要求16所述的系统,其中所述消息是来自企业电子邮件服务器的电子邮件消息,所述电子邮件消息被呈递到所述移动设备。20. The system of claim 16, wherein the message is an email message from an enterprise email server, the email message being rendered to the mobile device.
21.如权利要求20所述的系统,其中所述一个或多个计算设备配置成对所述移动设备的电子邮件客户端透明地将所述附件加密。21. The system of claim 20, wherein the one or more computing devices are configured to encrypt the attachment transparently to an email client of the mobile device.
22.如权利要求20所述的系统,其中所监控的消息根据ActiveSync协议被格式化。22. The system of claim 20, wherein the monitored messages are formatted according to the ActiveSync protocol.
23.如权利要求16所述的系统,其中所述一个或多个计算设备还配置成:23. The system of claim 16, wherein the one or more computing devices are further configured to:
对用于加密所述附件的附件密钥加密;以及encrypting the attachment key used to encrypt the attachment; and
使加密的附件密钥传输到所述移动设备。causing the encrypted attachment key to be transmitted to the mobile device.
24.如权利要求23所述的系统,其中所述一个或多个计算设备配置成对所述附件密钥加密,使得只有所述移动设备配置成对所述附件密钥解密。24. The system of claim 23, wherein the one or more computing devices are configured to encrypt the accessory key such that only the mobile device is configured to decrypt the accessory key.
25.如权利要求16所述的系统,其中所述一个或多个计算设备还配置成基于比较与所述选定消息相关的条件和与在所述数据存储器中存储的所述一个或多个规则中的条件相关的值来对所述选定消息的至少一部分加密。25. The system of claim 16, wherein the one or more computing devices are further configured to compare conditions associated with the selected message with the one or more messages stored in the data store. A value associated with a condition in a rule is used to encrypt at least a portion of the selected message.
26.如权利要求16所述的系统,其中所述一个或多个计算设备包括防火墙服务器、应用服务器、配置成控制防火墙服务器的计算设备或配置成控制应用服务器的计算设备中的至少一个。26. The system of claim 16, wherein the one or more computing devices comprise at least one of a firewall server, an application server, a computing device configured to control a firewall server, or a computing device configured to control an application server.
27.如权利要求16所述的系统,其中所述一个或多个计算设备配置成与所述消息到所述移动设备的传输分开地使所述加密附件传输到所述移动设备。27. The system of claim 16, wherein the one or more computing devices are configured to cause transmission of the encrypted attachment to the mobile device separately from transmission of the message to the mobile device.
28.如权利要求16所述的系统,其中所述一个或多个计算设备配置成:28. The system of claim 16, wherein the one or more computing devices are configured to:
响应于对所述附件加密的确定来对所述附件加密;以及encrypting the attachment in response to a determination that the attachment is encrypted; and
使加密附件代替所述附件传输到所述移动设备。An encrypted attachment is caused to be transmitted to the mobile device in place of the attachment.
29.一种选择性地保护被呈递到移动设备的电子邮件附件数据的方法,所述方法包括:29. A method of selectively securing email attachment data rendered to a mobile device, the method comprising:
监控来自企业资源的被呈递到移动设备的电子邮件消息;Monitor email messages from corporate resources that are delivered to mobile devices;
检测由所述移动设备从所述企业资源请求的数据包括所述电子邮件消息中的选定电子邮件消息的附件;detecting that data requested by the mobile device from the enterprise resource includes an attachment of a selected one of the email messages;
至少部分地通过比较在至少一个规则中的特性的值和与下列项中的至少一个相关的特性来确定是否对所述附件加密用于传输到所述移动设备:所述选定电子邮件消息、所述附件、所述移动设备的用户和所述移动设备;以及determining whether to encrypt the attachment for transmission to the mobile device at least in part by comparing a value of a property in at least one rule with a property associated with at least one of: the selected email message, the accessory, the user of the mobile device, and the mobile device; and
当做出对所述附件加密的确定时,使所述附件加密:Encrypting the attachment when the determination is made to encrypt the attachment:
所述方法由包括一个或多个计算设备的计算系统执行。The method is performed by a computing system including one or more computing devices.
30.一种存储可执行部件的非临时计算机存储器,所述可执行部件配置成安装在移动设备上以提供用于安全地访问来自企业计算系统的数据的功能,所述可执行部件包括引导所述移动设备执行过程的指令,所述过程包括:30. A non-transitory computer memory storing executable components configured to be installed on a mobile device to provide functionality for securely accessing data from an enterprise computing system, the executable components comprising a bootstrap Instructions for performing a process by the mobile device, the process comprising:
确定由所述移动设备接收的电子邮件消息包括由与所述企业计算系统相关的网关加密的附件;以及determining that an email message received by the mobile device includes an attachment encrypted by a gateway associated with the enterprise computing system; and
使用从所述企业计算系统得到的密钥对存储在所述移动设备上的所述附件解密,所述解密对安装在所述移动设备上的电子邮件客户端透明地出现,所述解密也对所述企业计算系统的企业电子邮件服务器透明地出现。Decrypting said attachment stored on said mobile device using a key derived from said enterprise computing system, said decryption occurring transparently to an email client installed on said mobile device, said decryption also An enterprise email server of the enterprise computing system appears transparently.
31.如权利要求30所述的非临时计算机存储器,其中所述过程还包括提示所述移动设备的用户以提供访问证书,且其中所述解密响应于检测到从所述用户接收的所述访问证书指示根据一个或多个企业访问策略所述用户被授权来访问附件。31. The non-transitory computer storage of claim 30, wherein the process further comprises prompting a user of the mobile device to provide access credentials, and wherein the decryption is responsive to detecting the access received from the user The credentials indicate that the user is authorized to access the attachment according to one or more enterprise access policies.
32.如权利要求31所述的非临时计算机存储器,其中所述访问证书包括密码。32. The non-transitory computer storage of claim 31, wherein the access credentials include a password.
范例实施方式Example implementation
本公开的另一范例实施方式包括:Another example implementation of the present disclosure includes:
1.一种计算机可读介质,其上存储有代理部件,所述代理部件配置成安装在用户的移动设备上以通过网络提供对企业系统的企业资源的安全访问,所述代理部件包括实现过程的可执行代码,所述过程包括:1. A computer readable medium having stored thereon an agent component configured to be installed on a user's mobile device to provide secure access to an enterprise resource of an enterprise system over a network, the agent component comprising implementing a process executable code, the process includes:
拦截由安装在所述移动设备上的应用产生的HTTP请求;intercepting HTTP requests generated by applications installed on said mobile device;
根据隧道协议封装所述HTTP请求的表示;以及encapsulating the representation of said HTTP request according to a tunneling protocol; and
将所述HTTP请求的封装表示通过网络发送到隧道中介,该隧道中介配置成提取所述HTTP请求的所述表示并将所述HTTP请求的所述表示转发到相应的企业资源。The encapsulated representation of the HTTP request is sent over a network to a tunnel intermediary configured to extract the representation of the HTTP request and forward the representation of the HTTP request to a corresponding enterprise resource.
2.如权利要求1所述的计算机可读介质,其中封装所述HTTP请求的表示包括通过用所述企业资源的主机名代替主机名来修改所述HTTP请求,以及封装已修改的HTTP请求。2. The computer-readable medium of claim 1, wherein encapsulating the representation of the HTTP request comprises modifying the HTTP request by substituting a hostname of the enterprise resource for a hostname, and encapsulating the modified HTTP request.
3.如权利要求1所述的计算机可读介质,其中所述代理部件配置成作为HTTP代理服务器拦截所述HTTP请求。3. The computer-readable medium of claim 1, wherein the proxy component is configured to intercept the HTTP request as an HTTP proxy server.
4.如权利要求1所述的计算机可读介质,其中所述代理部件配置成结合安装在所述移动设备上的所述应用特有的隧道定义来发送所述HTTP请求的所述封装表示。4. The computer-readable medium of claim 1, wherein the proxy component is configured to send the encapsulated representation of the HTTP request in conjunction with the application-specific tunnel definition installed on the mobile device.
5.如权利要求1所述的计算机可读介质,其中所述代理部件配置成经由应用隧道发送所述HTTP请求的所述封装表示,所述应用隧道专用于在安装在所述移动设备上的所述应用和所述企业资源之间的通信。5. The computer-readable medium of claim 1 , wherein the proxy component is configured to send the encapsulated representation of the HTTP request via an application tunnel dedicated to Communication between the application and the enterprise resource.
6.如权利要求1所述的计算机可读介质,其中所述过程还包括复用来自安装在所述移动设备上的多个应用的封装通信用于通过公共连接传输到所述隧道中介,使得多个应用隧道通过所述公共连接被复用。6. The computer-readable medium of claim 1 , wherein the process further comprises multiplexing encapsulated communications from multiple applications installed on the mobile device for transmission to the tunneling intermediary over a common connection such that Multiple application tunnels are multiplexed over the common connection.
7.如权利要求1所述的计算机可读介质,其中所述代理部件配置成使用定制SSL(安全套接层)库来建立与所述企业资源的安全会话,并使用所述安全连接来发送所述HTTP请求的所述封装表示,所述定制SSL库配置成接受由所述企业资源返回的数字证书,而不考虑主机名失配,使得主机名匹配要求被忽视。7. The computer-readable medium of claim 1 , wherein the proxy component is configured to use a custom SSL (Secure Sockets Layer) library to establish a secure session with the enterprise resource and use the secure connection to send the Said encapsulation of said HTTP request indicates that said custom SSL library is configured to accept digital certificates returned by said enterprise resource regardless of hostname mismatch, such that hostname matching requirements are ignored.
8.一种包括一个或多个计算设备的计算系统,所述计算设备被编程以实现:8. A computing system comprising one or more computing devices programmed to:
应用隧道定义的仓库,每个隧道定义相应于移动设备应用并指示与所述计算机系统的资源相关的服务器端口;以及a repository of application tunnel definitions, each tunnel definition corresponding to a mobile device application and indicating a server port associated with a resource of said computer system; and
隧道中介,其配置成:The tunnel broker, which is configured as:
从安装在移动设备上的代理接收应用隧道形成请求,所述应用隧道形成请求识别所述隧道定义之一;receiving an application tunneling request from an agent installed on the mobile device, the application tunneling request identifying one of the tunnel definitions;
从所述仓库检索所识别的隧道定义;retrieving the identified tunnel definition from the repository;
从所检索的隧道定义确定所述计算机系统的资源的服务器端口;determining a server port of a resource of the computer system from the retrieved tunnel definition;
从所述代理接收至少一个代理产生的通信,所述代理产生的通信包括来自安装在所述移动设备上的应用的应用产生的通信,所述应用与所识别的隧道定义相关,所述应用产生的通信由所述代理封装在封装协议的一个或多个头部内;receiving at least one proxy-generated communication from the proxy, the proxy-generated communication comprising an application-generated communication from an application installed on the mobile device, the application associated with the identified tunnel definition, the application generating The communications of are encapsulated by the proxy within one or more headers of an encapsulation protocol;
从所述代理产生的通信提取所述应用产生的通信;以及extracting the application-generated communications from the proxy-generated communications; and
经由资源网络连接将所述应用产生的通信发送到所述服务器端口。Communications generated by the application are sent to the server port via a resource network connection.
8.如权利要求8所述的计算机系统,其中所述隧道中介还配置成:8. The computer system of claim 8, wherein the tunnel intermediary is further configured to:
经由所述资源网络连接从所述资源接收对所述应用产生的通信的响应;receiving a response to the application-generated communication from the resource via the resource network connection;
将所述响应封装在所述封装协议的一个或多个头部内;以及encapsulating the response within one or more headers of the encapsulation protocol; and
将封装响应发送到所述移动设备的所述代理。An encapsulated response is sent to the agent of the mobile device.
10.如权利要求8所述的计算机系统,其中:10. The computer system of claim 8, wherein:
所述移动设备应用包括web浏览器;The mobile device application includes a web browser;
所述应用产生的通信包括在万维网上可用的信息资源的统一资源定位符(URL);以及Communications generated by the application include Uniform Resource Locators (URLs) of information resources available on the World Wide Web; and
所述隧道中介配置成:The tunnel broker is configured as:
应用管理对所述URL的访问是否被与所述计算机系统相关的企业允许的策略;applying a policy governing whether access to said URL is permitted by an enterprise associated with said computer system;
通过将所述应用产生的通信发送到URL来对所述URL的访问被允许的确定作出响应;以及responding to a determination that access to the URL is permitted by sending the application-generated communication to the URL; and
通过不将所述应用产生的通信发送到URL来对所述URL的访问不被允许的确定作出响应。A determination that access to the URL is not permitted is responded to by not sending the application-generated communication to the URL.
11.如权利要求8所述的计算机系统,还包括与所述隧道中介相关的移动设备管理器,所述移动设备管理器配置成如果所述移动设备或被分配到所述移动设备的用户的一个或多个特性不符合与所述移动设备管理器相关的一个或多个策略则拒绝所述请求。11. The computer system of claim 8 , further comprising a mobile device manager associated with the tunnel broker, the mobile device manager configured to if the mobile device or the user assigned to the mobile device The request is denied if one or more characteristics do not comply with one or more policies associated with the mobile device manager.
12.如权利要求8所述的计算机系统,其中所述隧道中介还配置成:12. The computer system of claim 8, wherein the tunnel intermediary is further configured to:
经由所述资源网络连接从所述资源接收数据;receiving data from the resource via the resource network connection;
经由在所述隧道中介和所述移动设备之间的移动设备网络连接开始将所述数据发送到所述移动设备;initiating sending of the data to the mobile device via a mobile device network connection between the tunneling broker and the mobile device;
通过缓存还未发送到所述移动设备的数据的至少一部分来对所述移动设备网络连接的失去做出响应;以及responding to a loss of the mobile device's network connection by caching at least a portion of the data not yet sent to the mobile device; and
通过经由所恢复的网络连接将缓存的数据发送到所述移动设备来对所述移动设备网络连接的恢复做出响应。Resume of the mobile device network connection is responded to by sending the cached data to the mobile device via the restored network connection.
13.如权利要求8所述的计算机系统,其中所述隧道中介还配置成记录关于下列项中的至少一个的信息:(1)从特定应用接收并经由所述资源网络连接由所述隧道中介发送到所述资源的应用产生的通信;以及(2)从所述资源接收并由所述隧道中介发送到所述移动设备的资源产生的通信。13. The computer system of claim 8, wherein the tunnel intermediary is further configured to record information about at least one of: (1) information received from a specific application and connected by the tunnel intermediary via the resource network application-generated communications sent to the resource; and (2) resource-generated communications received from the resource and sent by the tunneling intermediary to the mobile device.
14.一种包括处理器和存储器的移动设备,所述移动设备包括:14. A mobile device comprising a processor and memory, the mobile device comprising:
存储在所述存储器中的一个或多个应用隧道定义,每个隧道定义相应于移动设备应用并指示本地移动设备端口;one or more application tunnel definitions stored in said memory, each tunnel definition corresponding to a mobile device application and indicating a local mobile device port;
安装在所述移动设备上的代理,所述代理与所述远程计算机系统相关并配置成:an agent installed on the mobile device, the agent being associated with the remote computer system and configured to:
接收由安装在所述移动设备上的应用产生的应用产生的通信,所述应用配置成与远程计算机系统的资源通信;receiving an application-generated communication generated by an application installed on the mobile device configured to communicate with a resource of a remote computer system;
搜索所述存储器以检索与所述应用相关的隧道定义;searching the memory to retrieve tunnel definitions associated with the application;
基于所检索的隧道定义产生应用隧道形成请求;generating an application tunnel formation request based on the retrieved tunnel definition;
将所述应用产生的通信的至少一部分封装在封装协议的一个或多个头部内;以及encapsulating at least a portion of communications generated by the application within one or more headers of an encapsulation protocol; and
将所述应用隧道形成请求和封装的应用产生的通信发送到所述远程计算机系统的隧道中介。The application tunneling request and the encapsulated application-generated communication are sent to a tunneling intermediary of the remote computer system.
15.如权利要求14所述的移动设备,其中所述应用产生的通信包括HTTP请求,且所述代理配置成(1)通过用所述资源的主机名代替所述HTTP请求中的主机名来修改所述HTTP请求,以及(2)将已修改的HTTP请求封装在所述封装协议的所述一个或多个头部内。15. The mobile device of claim 14 , wherein the application-generated communications include HTTP requests, and the proxy is configured to (1) replace the hostname in the HTTP request with the hostname of the resource modifying the HTTP request, and (2) encapsulating the modified HTTP request within the one or more headers of the encapsulation protocol.
16.如权利要求14所述的移动设备,其中所述代理配置成作为所述应用的HTTP代理服务器来操作。16. The mobile device of claim 14, wherein the proxy is configured to operate as an HTTP proxy server for the application.
17.如权利要求14所述的移动设备,其中所述代理还配置成:17. The mobile device of claim 14, wherein the agent is further configured to:
经由在所检索的隧道定义中定义的本地移动设备端口从所述隧道中介接收对所述应用产生的通信的响应,所述响应被封装在所述封装协议的一个或多个头部内;receiving a response to the application-generated communication from the tunnel intermediary via a local mobile device port defined in the retrieved tunnel definition, the response encapsulated within one or more headers of the encapsulation protocol;
从所述一个或多个头部提取资源产生的响应;以及extracting a response resulting from the resource from the one or more headers; and
向第一应用提供所述资源产生的响应。The response generated by the resource is provided to the first application.
18.如权利要求17所述的移动设备,其中所述响应由所述资源产生并由所述隧道中介封装。18. The mobile device of claim 17, wherein the response is generated by the resource and encapsulated by the tunnel intermediary.
19.如权利要求14所述的移动设备,其中所述代理配置成通过缓存还没有发送到所述隧道中介的数据来对移动设备连接的失去做出响应;并配置成通过经由所恢复的移动设备连接将缓存的数据发送到所述隧道中介来对所述移动设备连接的恢复做出响应。19. The mobile device of claim 14 , wherein the proxy is configured to respond to a loss of mobile device connectivity by caching data that has not yet been sent to the tunnel intermediary; The device connection sends cached data to the tunnel intermediary in response to restoration of the mobile device connection.
20.一种包括可执行指令的非临时计算机存储器,所述可执行指令引导移动设备执行过程,所述过程包括:20. A non-transitory computer memory comprising executable instructions directing a mobile device to perform a process, the process comprising:
拦截由在所述移动设备上运行的移动应用发送的消息;intercepting messages sent by a mobile application running on said mobile device;
修改由所述消息规定的主机名以相应于目标应用服务器;modifying the hostname specified by said message to correspond to the target application server;
根据应用隧道协议来封装已修改的消息;以及encapsulating the modified message according to the application tunneling protocol; and
在无线网络上发送所封装的已修改消息用于经由应用隧道分发到所述应用服务器。The encapsulated modified message is sent over the wireless network for distribution to the application server via the application tunnel.
21.如权利要求20所述的非临时计算机存储器,其中指令形成实现所述过程的HTTP代理服务器部件。21. The non-transitory computer storage of claim 20, wherein the instructions form an HTTP proxy server component implementing the process.
22.如权利要求20所述的非临时计算机存储器,其中所述应用隧道专用于在所述移动应用和所述目标应用服务器之间的通信。22. The non-transitory computer storage of claim 20, wherein the application tunnel is dedicated to communication between the mobile application and the target application server.
23.一种包括可执行代码的非临时计算机可读存储器,所述可执行代码配置成安装在移动设备上以实现用于使安装在所述移动设备上的移动应用能够通过网络经由安全应用隧道与应用服务器通信的过程,所述过程包括:23. A non-transitory computer readable memory comprising executable code configured to be installed on a mobile device for enabling a mobile application installed on the mobile device to pass through a network via a secure application tunnel A process of communicating with an application server, the process including:
创建与所述应用服务器的安全SSL(安全套接层)会话,其中创建所述安全SSL会话包括在从所述应用接收的数字证书的检查期间忽视主机名失配,使得所述数字证书不被拒绝;以及creating a secure SSL (Secure Sockets Layer) session with the application server, wherein creating the secure SSL session includes ignoring hostname mismatches during checking of digital certificates received from the application such that the digital certificates are not rejected ;as well as
实现代理服务器,该代理服务器拦截来自在所述移动设备中的移动应用的消息,根据封装协议来封装所述消息,并使用所述安全SSL连接在所述网络上发送所述封装消息。A proxy server is implemented that intercepts messages from a mobile application in said mobile device, encapsulates said messages according to an encapsulation protocol, and sends said encapsulated messages over said network using said secure SSL connection.
24.如权利要求23所述的非临时计算机可读存储器,其中所述过程在所述移动设备上创建对主机名匹配要求的例外,所述例外使所述移动设备能够接受规定由所述代理服务器使用的本地主机的主机名的数字证书。24. The non-transitory computer readable memory of claim 23, wherein the process creates an exception on the mobile device to the hostname matching requirement, the exception enabling the mobile device to accept The digital certificate for the hostname of the local host used by the server.
范例实施方式Example implementation
本公开的额外范例实施方式包括:Additional example embodiments of the present disclosure include:
1.一种提供用于在移动设备执行企业应用的安全环境的方法,所述方法包括:1. A method of providing a secure environment for executing an enterprise application on a mobile device, the method comprising:
将安全启动器安装在所述移动设备上,所述安全启动器与包括在所述移动设备的操作系统内的通用启动器分离,所述通用启动器提供用于启动安装在所述移动设备上的非企业应用的功能;以及installing a secure launcher on the mobile device, the secure launcher being separate from a general launcher included within an operating system of the mobile device, the general launcher providing for launching the functionality of non-enterprise applications; and
将企业应用安装在所述移动设备上,使得所述企业应用能够只使用所述安全启动器而不是使用通用启动器被启动,所述企业应用包括用于访问企业系统的功能;installing an enterprise application on the mobile device such that the enterprise application can be launched using only the secure launcher and not using a universal launcher, the enterprise application including functionality for accessing enterprise systems;
其中所述安全启动器配置成实施认证策略,其中用户启动企业应用时必须输入有效认证信息。Wherein the secure launcher is configured to implement an authentication policy, wherein a user must enter valid authentication information when launching an enterprise application.
2.如权利要求1所述的方法,还包括在所述移动设备上安装与所述移动设备的操作系统的虚拟机分离的安全虚拟机,并配置所述移动设备,使得至少一些所述企业应用但没有一个非企业应用在所述安全虚拟机内运行。2. The method of claim 1, further comprising installing on the mobile device a secure virtual machine separate from the virtual machine of the mobile device's operating system, and configuring the mobile device such that at least some of the enterprise applications but none of the non-enterprise applications run within the secure virtual machine.
3.如权利要求2所述的方法,其中所述安全虚拟机包括用于实施企业数据加密策略的功能,其中由所述企业应用存储在所述移动设备上的数据被加密。3. The method of claim 2, wherein the secure virtual machine includes functionality for enforcing an enterprise data encryption policy, wherein data stored by the enterprise application on the mobile device is encrypted.
4.如权利要求1所述的方法,还包括在所述移动设备上安装可执行代码,所述可执行代码配置成在所述移动设备上创建安全容器并使用所述安全容器来存储由所述企业应用输出的文档,所述安全容器与由所述非企业应用使用来存储数据的存储空间分离。4. The method of claim 1 , further comprising installing executable code on the mobile device, the executable code configured to create a secure container on the mobile device and use the secure container to store For documents output by the enterprise application, the secure container is separate from storage space used by the non-enterprise application to store data.
5.如权利要求1所述的方法,还包括在所述移动设备上安装可执行代码,所述可执行代码配置成创建用于使所述企业应用能够通过网络与所述企业系统安全地通信的应用隧道,每个应用隧道是相应的企业应用特有的。5. The method of claim 1 , further comprising installing executable code on the mobile device, the executable code configured to create an Each application tunnel is specific to a corresponding enterprise application.
6.如权利要求1所述的方法,还包括在将所述企业应用安装在所述移动设备上之前经由应用修改实用程序修改至少一个所述企业应用,以配置所述企业应用来使用加密库对存储在所述移动设备上的数据加密。6. The method of claim 1 , further comprising modifying at least one of the enterprise applications via an application modification utility prior to installing the enterprise applications on the mobile device to configure the enterprise applications to use an encryption library Data stored on the mobile device is encrypted.
7.如权利要求1所述的方法,其中所述方法包括通过用对所述安全启动器的引用代替对所述通用启动器的引用来修改至少一个所述企业应用,以从而使所述企业应用使用所述安全启动器。7. The method of claim 1 , wherein the method includes modifying at least one of the enterprise applications by replacing a reference to the universal launcher with a reference to the secure launcher such that the enterprise application The app uses the secure launcher.
8.一种包括处理器和存储器的移动设备,所述移动计算设备在其上安装有:8. A mobile device comprising a processor and memory, said mobile computing device having mounted thereon:
多个企业应用,其配置成通过网络与企业系统通信;以及a plurality of enterprise applications configured to communicate with the enterprise system over the network; and
安全启动器,其提供用于在所述移动设备上启动所述企业应用的用户接口,所述安全启动器与用于在所述移动设备上启动非企业应用的通用启动器分离,所述通用启动器是所述移动设备的操作系统的一部分,且所述安全启动器与所述操作系统分离,所述企业应用能够只使用所述安全启动器而不是所述通用启动器在所述移动设备上被启动;a secure launcher that provides a user interface for launching the enterprise application on the mobile device, the secure launcher is separate from a generic launcher for launching non-enterprise applications on the mobile device, the generic the launcher is part of the operating system of the mobile device, and the secure launcher is separate from the operating system, the enterprise application can only use the secure launcher instead of the universal launcher in the mobile device is activated on
其中所述安全启动器配置成当用户试图启动企业应用时认证所述移动设备的用户,并配置成当所述用户未能提供有效认证信息时阻止所述企业应用的执行。Wherein the secure launcher is configured to authenticate a user of the mobile device when the user attempts to launch an enterprise application, and is configured to prevent execution of the enterprise application when the user fails to provide valid authentication information.
9.如权利要求8所述的移动设备,其中所述安全启动器的所述用户接口包括在所述移动设备的多个屏幕中显示的持久显示元件,所述持久显示元件使用户能够选择性地使与特定的企业应用相关的企业应用图标的布置显现,所述企业应用图标是可选择的以发起相应企业应用的启动,企业应用图标的所述布置与用于启动非企业应用的应用图标的布置分离。9. The mobile device of claim 8, wherein the user interface of the secure launcher includes a persistent display element displayed in a plurality of screens of the mobile device, the persistent display element enabling a user to selectively The arrangement of enterprise application icons associated with a particular enterprise application, the arrangement of enterprise application icons being selectable to initiate the launch of the corresponding enterprise application, and the arrangement of enterprise application icons for launching non-enterprise applications The layout is separated.
10.如权利要求9所述的移动设备,其中应用图标的所述布置包括可旋转轮显示元件,所述可旋转轮显示元件经由滑动操作可旋转以显现和隐藏沿着所述轮显示元件定位的企业应用图标。10. The mobile device of claim 9, wherein the arrangement of application icons comprises a rotatable wheel display element rotatable via a swipe operation to reveal and hide business application icons.
11.如权利要求8所述的移动设备,还包括安装在所述移动设备上的安全虚拟机,所述安全虚拟机与所述操作系统的虚拟机分离,其中所述移动设备配置成使得至少一些所述企业应用由所述安全虚拟机执行并使得所述非企业应用由所述操作系统的虚拟机执行。11. The mobile device of claim 8 , further comprising a secure virtual machine installed on the mobile device, the secure virtual machine being separate from the virtual machine of the operating system, wherein the mobile device is configured such that at least Some of the enterprise applications are executed by the secure virtual machine and cause the non-enterprise applications to be executed by the operating system's virtual machine.
12.如权利要求11所述的移动设备,其中所述安全虚拟机包括用于使由企业应用存储在所述移动设备的所述存储器中的数据被加密的功能。12. The mobile device of claim 11, wherein the security virtual machine includes functionality for encrypting data stored in the memory of the mobile device by an enterprise application.
13.如权利要求11所述的移动设备,其中所述安全启动器配置成启动所述安全虚拟机,并使由用户选择的企业应用由所述安全虚拟机执行。13. The mobile device of claim 11, wherein the secure launcher is configured to launch the secure virtual machine and cause an enterprise application selected by a user to be executed by the secure virtual machine.
14.如权利要求8所述的移动设备,其中所述安全启动器配置成执行选择性抹掉操作,其中与所述企业应用相关的数据从所述移动设备被删除而不删除与所述非企业应用相关的数据。14. The mobile device of claim 8, wherein the secure launcher is configured to perform a selective erase operation wherein data associated with the enterprise application is deleted from the mobile device without deleting Data related to enterprise applications.
15.如权利要求8所述的移动设备,其中所述移动设备在其上安装了与所述企业系统通信的企业代理部件,所述代理部件包括用于创建应用隧道的可执行代码,所述应用隧道使所述企业应用能够通过所述网络与所述企业应用通信,每个应用隧道是特定的企业应用特有的。15. The mobile device of claim 8, wherein said mobile device has installed thereon an enterprise agent component in communication with said enterprise system, said agent component comprising executable code for creating an application tunnel, said Application tunnels enable the enterprise application to communicate with the enterprise application over the network, each application tunnel being specific to a particular enterprise application.
16.如权利要求15所述的移动设备,其中所述代理配置成收集识别安装在所述移动设备上的所述非企业应用的信息并向所述企业系统的移动设备管理部件报告所述信息。16. The mobile device of claim 15 , wherein the agent is configured to collect information identifying the non-enterprise application installed on the mobile device and report the information to a mobile device management component of the enterprise system .
17.一种提供安全环境用于在移动设备上的企业应用的执行的方法,所述移动设备在其上包括非企业应用,所述方法包括:17. A method of providing a secure environment for execution of an enterprise application on a mobile device comprising a non-enterprise application thereon, the method comprising:
在所述移动设备上安装安全虚拟机,所述安全虚拟机与包括在移动设备的操作系统内包括的虚拟机分离;以及installing a secure virtual machine on the mobile device, the secure virtual machine separate from a virtual machine included within an operating system of the mobile device; and
配置所述移动设备以使至少一个企业应用但没有一个所述非企业应用在所述安全虚拟机中运行,由此,所述非企业应用继续使用包括在所述操作系统内的所述虚拟机;configuring the mobile device to run at least one enterprise application but none of the non-enterprise applications in the secure virtual machine, whereby the non-enterprise applications continue to use the virtual machine included within the operating system ;
其中所述安全虚拟机包括用于实现加密策略的功能,其中由所述企业应用存储在所述移动设备上的数据被加密。Wherein the secure virtual machine includes functionality for implementing an encryption policy, wherein data stored by the enterprise application on the mobile device is encrypted.
18.如权利要求17所述的方法,其中所述安全虚拟机此外包括用于创建在所述移动设备和企业系统之间的应用隧道并使用所述应用隧道用于在所述企业应用和所述企业系统之间的通信的功能。18. The method of claim 17, wherein the secure virtual machine further comprises a device for creating an application tunnel between the mobile device and an enterprise system and using the application tunnel for communication between the enterprise application and the enterprise system. Describes the functionality of communication between enterprise systems.
19.如权利要求17所述的方法,其中所述方法包括将对所述安全虚拟机的引用包括在所述企业应用中。19. The method of claim 17, wherein the method includes including a reference to the secure virtual machine in the enterprise application.
20.如权利要求17所述的方法,还包括将安全启动器安装在所述移动设备上,并配置所述企业应用以使用所述安全启动器,所述安全启动器与包括在所述移动设备的所述操作系统内的通用启动器分离。20. The method of claim 17, further comprising installing a secure launcher on the mobile device and configuring the enterprise application to use the secure launcher, the secure launcher being compatible with a Universal launcher separation within the operating system of the device.
范例实施方式Example implementation
本公开的额外范例实施方式包括:Additional example embodiments of the present disclosure include:
1.一种非临时计算机存储器,其存储应用修改实用程序,该应用修改实用程序使预先存在的移动应用能够被配置成由企业的成员使用来安全地访问移动设备上的企业数据,所述实用程序包括引导计算机系统实现过程的可执行代码,所述过程包括:1. A non-transitory computer memory storing an application modification utility that enables a pre-existing mobile application to be configured for use by members of an enterprise to securely access enterprise data on a mobile device, the utility Programs include executable code that directs a computer system to perform processes including:
反汇编所述移动应用的可执行代码;disassemble the executable code of said mobile application;
分析反汇编的代码;Analyze disassembled code;
修改所述反汇编的代码以增加用于实现至少一个企业安全策略的功能,所述修改包括替换与待修改的一个或多个行为相关的一个或多个API(应用程序接口)调用;以及modifying the disassembled code to increase functionality for implementing at least one enterprise security policy, the modification comprising replacing one or more API (application programming interface) calls associated with the one or more behaviors to be modified; and
使用所修改的反汇编的代码重建所述移动应用。The mobile application is rebuilt using the modified disassembled code.
2.如权利要求1所述的计算机存储器,其中修改所述反汇编的代码包括增加使所述移动应用使用加密库来对存储在移动设备上的数据加密的功能。2. The computer memory of claim 1, wherein modifying the disassembled code includes adding functionality to cause the mobile application to use an encryption library to encrypt data stored on the mobile device.
3.如权利要求1所述的计算机存储器,其中修改所述反汇编的代码包括增加使所述移动应用使用安全应用隧道来通过网络与企业资源通信的功能。3. The computer memory of claim 1, wherein modifying the disassembled code includes adding functionality to cause the mobile application to use a secure application tunnel to communicate with an enterprise resource over a network.
4.如权利要求1所述的计算机存储器,其中修改所述反汇编的代码包括增加当所述移动应用被启动时使用户被提示输入密码的功能。4. The computer memory of claim 1, wherein modifying the disassembled code includes adding functionality that causes a user to be prompted for a password when the mobile application is launched.
5.如权利要求1所述的计算机存储器,其中所述过程还包括混淆所述移动应用的至少一个已修改部分以禁止相关安全特征的逆向工程。5. The computer memory of claim 1, wherein the process further comprises obfuscating at least one modified portion of the mobile application to inhibit reverse engineering of associated security features.
6.如权利要求1所述的计算机存储器,其中修改所述反汇编的代码包括禁用剪切和粘贴功能。6. The computer memory of claim 1, wherein modifying the disassembled code includes disabling cut and paste functionality.
7.如权利要求1所述的计算机存储器,其中修改所述反汇编的代码包括增加使所述企业能够远程地发起从特定移动设备删除与所述移动应用相关的数据的代码。7. The computer memory of claim 1, wherein modifying the disassembled code includes adding code that enables the enterprise to remotely initiate deletion of data related to the mobile application from a particular mobile device.
8.如权利要求1所述的计算机存储器,其中所述过程还包括用对安全启动器的引用代替在所述移动应用中对移动设备操作系统的通用启动器的引用,以从而使所述移动应用使用所述安全启动器。8. The computer memory of claim 1 , wherein the process further comprises replacing a reference to a generic launcher of a mobile device operating system in the mobile application with a reference to a secure launcher, such that the mobile The app uses the secure launcher.
9.如权利要求1所述的计算机存储器,其中所述过程还包括修改所述移动应用中的引用以使所述移动应用在与操作系统虚拟机分离的安全虚拟机中运行。9. The computer memory of claim 1, wherein the process further comprises modifying references in the mobile application to cause the mobile application to run in a secure virtual machine separate from an operating system virtual machine.
10.如权利要求1所述的计算机存储器,其中分析所述反汇编的代码包括检查代表潜在安全风险的行为。10. The computer memory of claim 1, wherein analyzing the disassembled code includes examining behaviors that represent potential security risks.
11.如权利要求1所述的计算机存储器,其中所述实用程序配置成产生代表与所述移动应用相关的风险的级别的分数,所述分数至少部分地基于所述反汇编的代码的分析。11. The computer memory of claim 1, wherein the utility is configured to generate a score representative of a level of risk associated with the mobile application, the score based at least in part on an analysis of the disassembled code.
12.一种配置预先存在的移动应用来供企业的成员使用来使用移动设备安全地访问企业资源的计算机实现的方法,所述方法包括:12. A computer-implemented method of deploying a pre-existing mobile application for use by members of an enterprise to securely access enterprise resources using a mobile device, the method comprising:
反汇编所述移动应用的可执行代码;disassemble the executable code of said mobile application;
分析反汇编的代码;Analyze disassembled code;
修改所述反汇编的代码以增加用于实现至少一个企业安全策略的功能,所述修改包括替换与待修改的一个或多个行为相关的一个或多个API调用;以及modifying the disassembled code to increase functionality for implementing at least one enterprise security policy, the modification comprising replacing one or more API calls associated with the one or more behaviors to be modified; and
使用所修改的反汇编的代码重建所述移动应用;rebuilding the mobile application using the modified disassembled code;
所述方法由计算机系统在可执行指令的控制下执行。The method is performed by a computer system under the control of executable instructions.
13.如权利要求12所述的计算机实现的方法,其中修改所述反汇编的代码包括增加使所述移动应用使用加密库来对存储在移动设备上的数据加密的功能。13. The computer-implemented method of claim 12, wherein modifying the disassembled code includes adding functionality to cause the mobile application to use an encryption library to encrypt data stored on a mobile device.
14.如权利要求12所述的计算机实现的方法,其中修改所述反汇编的代码包括增加使所述移动应用使用应用隧道来通过网络与企业资源通信的功能。14. The computer-implemented method of claim 12, wherein modifying the disassembled code includes adding functionality to cause the mobile application to use application tunneling to communicate with enterprise resources over a network.
15.如权利要求12所述的计算机实现的方法,其中修改所述反汇编的代码包括增加当所述移动应用被启动时使用户被提示输入密码的功能。15. The computer-implemented method of claim 12, wherein modifying the disassembled code includes adding functionality that causes a user to be prompted for a password when the mobile application is launched.
16.如权利要求12所述的计算机实现的方法,还包括混淆所述移动应用的至少一个已修改部分以禁止相关安全特征的逆向工程。16. The computer-implemented method of claim 12, further comprising obfuscating at least one modified portion of the mobile application to inhibit reverse engineering of associated security features.
17.如权利要求12所述的计算机实现的方法,其中修改所述反汇编的代码包括禁用剪切和粘贴功能。17. The computer-implemented method of claim 12, wherein modifying the disassembled code includes disabling cut and paste functionality.
18.如权利要求12所述的计算机实现的方法,其中修改所述反汇编的代码包括增加使所述企业能够远程地发起从特定移动设备删除与所述移动应用相关的数据的代码。18. The computer-implemented method of claim 12, wherein modifying the disassembled code includes adding code that enables the enterprise to remotely initiate deletion of data related to the mobile application from a particular mobile device.
19.如权利要求12所述的计算机实现的方法,还包括用对安全启动器的引用代替对在所述移动应用中的移动设备操作系统的通用启动器的引用,以从而使所述移动应用使用所述安全启动器。19. The computer-implemented method of claim 12 , further comprising replacing a reference to a generic launcher of a mobile device operating system in the mobile application with a reference to a secure launcher, such that the mobile application Use said secure launcher.
20.如权利要求12所述的计算机实现的方法,还包括修改所述移动应用中的引用以使所述移动应用在与操作系统虚拟机分离的安全虚拟机中运行。20. The computer-implemented method of claim 12, further comprising modifying references in the mobile application to cause the mobile application to run in a secure virtual machine separate from an operating system virtual machine.
范例实施方式Example implementation
本公开的额外范例实施方式包括:Additional example embodiments of the present disclosure include:
1.一种包括用户接口、存储器和配置成运行存储在所述存储器上的应用的至少一个处理器的移动设备,所述移动设备包括:1. A mobile device comprising a user interface, memory and at least one processor configured to run an application stored on said memory, said mobile device comprising:
Web浏览器,其安装在所述移动设备的所述存储器上;以及a web browser installed on said memory of said mobile device; and
企业应用,其安装在所述移动设备的所述存储器上,所述企业应用配置成通过启动所述web浏览器并在所述web浏览器内运行来对被运行做出响应;an enterprise application installed on said memory of said mobile device, said enterprise application being configured to respond to being executed by launching said web browser and running within said web browser;
其中所述web浏览器配置成根据一个或多个企业策略管制所述企业应用的操作。Wherein the web browser is configured to regulate operation of the enterprise application according to one or more enterprise policies.
2.如权利要求1所述的移动设备,其中所述web浏览器配置成通过被配置为代理服务器的一个或多个计算设备将通信从所述移动设备路由到企业资源以使内容过滤变得可能。2. The mobile device of claim 1 , wherein the web browser is configured to route communications from the mobile device to enterprise resources through one or more computing devices configured as proxy servers to make content filtering possible.
3.如权利要求1所述的移动设备,其中所述web浏览器配置成经由应用隧道通过所述企业计算系统的隧道中介与企业计算系统的企业资源通信。3. The mobile device of claim 1, wherein the web browser is configured to communicate with an enterprise resource of an enterprise computing system via an application tunnel through a tunnel intermediary of the enterprise computing system.
4.如权利要求1所述的移动设备,其中所述web浏览器配置成使由所述软件应用写到所述存储器的数据被加密。4. The mobile device of claim 1, wherein the web browser is configured to cause data written to the memory by the software application to be encrypted.
5.如权利要求1所述的移动设备,其中所述web浏览器配置成在将所述企业应用的功能显现于所述用户之前验证用户经由所述用户接口提供的访问证书。5. The mobile device of claim 1, wherein the web browser is configured to verify access credentials provided by a user via the user interface prior to exposing functionality of the enterprise application to the user.
6.如权利要求5所述的移动设备,其中所述访问证书包括密码。6. The mobile device of claim 5, wherein the access credentials include a password.
7.如权利要求1所述的移动设备,其中所述web浏览器配置成:7. The mobile device of claim 1, wherein the web browser is configured to:
接收或拦截由所述企业应用发送到网络资源的请求;receiving or intercepting requests sent by the enterprise application to network resources;
将所述请求的至少一部分封装在封装协议的一个或多个头部内;以及encapsulating at least a portion of the request within one or more headers of an encapsulation protocol; and
将所述请求的封装部分发送到与所述网络资源相关的隧道中介,以与所述隧道中介一起建立通信隧道。The encapsulated portion of the request is sent to a tunnel broker associated with the network resource to establish a communication tunnel with the tunnel broker.
8.如权利要求7所述的移动设备,其中所述企业应用配置成经由所述用户接口接收数据并产生将所述数据发送到网络资源的请求,且其中所述web浏览器配置成:8. The mobile device of claim 7, wherein the enterprise application is configured to receive data via the user interface and generate a request to send the data to a network resource, and wherein the web browser is configured to:
通过缓存还没有发送到所述隧道中介的所述数据的至少一部分来对失去网络连接做出响应;以及responding to loss of network connectivity by caching at least a portion of said data not yet sent to said tunneling intermediary; and
通过经由所恢复的网络连接将所缓存的数据发送到所述隧道中介来对所述网络连接的恢复做出响应。The restoration of the network connection is responded to by sending the cached data to the tunnel intermediary via the restored network connection.
9.如权利要求7所述的移动设备,其中所述企业应用配置成产生将第一数据发送到网络资源的请求,且其中所述web浏览器配置成:9. The mobile device of claim 7, wherein the enterprise application is configured to generate a request to send the first data to a network resource, and wherein the web browser is configured to:
压缩所述第一数据;compressing the first data;
经由所述通信隧道将所压缩的第一数据发送到所述隧道中介;sending the compressed first data to the tunnel intermediary via the communication tunnel;
将经由所述通信隧道从所述隧道中介接收的第二数据解压缩;以及decompressing second data received from the tunnel broker via the communication tunnel; and
向所述企业应用提供解压缩的第二数据。The decompressed second data is provided to the enterprise application.
10.如权利要求1所述的移动设备,其中一个或多个企业策略配置成当所述移动设备在规定地理区中的位置上时和/或当对所述网络资源的访问在规定时间范围期间被请求时限制所述企业应用对网络资源的访问。10. The mobile device of claim 1, wherein one or more enterprise policies are configured to: Access to network resources by the enterprise application is restricted when requested.
11.如权利要求1所述的移动设备,其中一个或多个企业策略包括规定条件的一个或多个企业访问规则,在所述条件下,所述移动设备被允许访问企业资源。11. The mobile device of claim 1, wherein the one or more enterprise policies include one or more enterprise access rules specifying conditions under which the mobile device is allowed to access enterprise resources.
12.如权利要求1所述的移动设备,其中所述企业应用配置成基于时间条件、位置条件、移动设备特性或所述移动设备的用户的特性中的至少一个通过启动所述web浏览器并在所述web浏览器内运行来对被运行做出响应。12. The mobile device of claim 1 , wherein the enterprise application is configured to be based on at least one of time conditions, location conditions, mobile device characteristics, or characteristics of a user of the mobile device by launching the web browser and Runs within the web browser in response to being run.
13.如权利要求1所述的移动设备,其中所述web浏览器配置成:13. The mobile device of claim 1, wherein the web browser is configured to:
接收与所述移动设备相关的一个或多个状态度量的一个或多个数据值;receiving one or more data values of one or more state metrics associated with the mobile device;
至少部分地通过使用机器可读逻辑规则分析所接收的一个或多个数据值来检测与所述移动设备相关的问题的实例;以及detecting an instance of a problem associated with the mobile device at least in part by analyzing the received one or more data values using machine-readable logic rules; and
执行机器可读补救行动用于应对所检测的问题实例。A machine readable remedial action is performed in response to the detected problem instance.
14.一种非临时计算机可读介质,其具有存储在其上的计算机可读指令,当所述计算机可读指令被执行时使移动设备执行操作,所述操作包括:14. A non-transitory computer readable medium having stored thereon computer readable instructions that, when executed, cause a mobile device to perform operations comprising:
响应于经由所述移动设备的用户接口接收的运行安装在所述移动设备上的软件应用的请求,调用web浏览器并在所述web浏览器内运行所述软件应用,所述web浏览器配置成经由网络来访问信息资源;以及In response to a request received via a user interface of the mobile device to run a software application installed on the mobile device, invoking a web browser and running the software application within the web browser, the web browser configuring enable access to information resources via the Internet; and
根据一个或多个企业策略经由所述web浏览器控制所述软件应用的操作以保护企业数据。Operation of the software application is controlled via the web browser in accordance with one or more enterprise policies to protect enterprise data.
15.如权利要求14所述的非临时计算机可读介质,其中所述调用所述web浏览器并在所述web浏览器内运行所述软件应用实质上对所述移动计算设备的用户是透明的。15. The non-transitory computer readable medium of claim 14 , wherein said invoking said web browser and running said software application within said web browser is substantially transparent to a user of said mobile computing device of.
16.如权利要求14所述的非临时计算机可读介质,其中控制所述软件应用的操作包括经由应用隧道在所述软件应用和企业资源之间发送通信。16. The non-transitory computer readable medium of claim 14, wherein controlling the operation of the software application comprises sending communications between the software application and an enterprise resource via an application tunnel.
17.如权利要求14所述的非临时计算机可读介质,其中控制所述软件应用的操作包括通过被配置为代理服务器的一个或多个计算设备将通信从所述移动设备路由到企业资源以使内容过滤变得可能。17. The non-transitory computer-readable medium of claim 14 , wherein controlling the operation of the software application includes routing communications from the mobile device to enterprise resources through one or more computing devices configured as proxy servers to Make content filtering possible.
18.如权利要求14所述的非临时计算机可读介质,其中所述操作还包括经由所述web浏览器使由所述软件应用写到所述存储器的数据被加密。18. The non-transitory computer readable medium of claim 14, wherein the operations further comprise, via the web browser, causing data written to the memory by the software application to be encrypted.
19.如权利要求14所述的非临时计算机可读介质,其中所述操作还包括在运行所述软件应用之前所述web浏览器提示用户输入密码并验证所述密码。19. The non-transitory computer readable medium of claim 14, wherein the operations further comprise the web browser prompting a user for a password and verifying the password before running the software application.
20.如权利要求14所述的非临时计算机可读介质,其中控制所述软件应用的操作包括基于比较与所述移动设备相关的条件与存储在所述非临时计算机可读介质上的企业访问规则中的条件的值来管制所述移动设备对企业资源的访问。20. The non-transitory computer-readable medium of claim 14, wherein controlling the operation of the software application comprises comparing conditions associated with the mobile device with enterprise access data stored on the non-transitory computer-readable medium. The value of the condition in the rule to regulate the mobile device's access to enterprise resources.
21.如权利要求14所述的非临时计算机可读介质,其中操作操作还包括:21. The non-transitory computer readable medium of claim 14, wherein the operating operations further comprise:
基于指示由所述用户接口接收的统一资源定位符(URL)的信息来将对信息资源的请求发送到服务器;sending a request for an information resource to a server based on information indicative of a Uniform Resource Locator (URL) received by the user interface;
从所述服务器接收所述信息资源;以及receiving the information resource from the server; and
经由所述移动设备的所述用户接口使所述信息资源变得可用。The information resource is made available via the user interface of the mobile device.
22.一种非临时计算机可读介质,其具有存储在其上的计算机可读指令,所述可执行指令配置成实现安全浏览器,所述安全浏览器配置成至少:22. A non-transitory computer readable medium having computer readable instructions stored thereon, the executable instructions configured to implement a secure browser configured to at least:
在企业用户的移动设备上运行;以及run on a business user's mobile device; and
控制配置成在所述安全浏览器内运行的至少一个企业应用的执行,以便实施至少一个企业安全策略来保护企业数据,其中所述至少一个企业应用存储在所述移动设备上。Execution of at least one enterprise application configured to run within the secure browser is controlled to enforce at least one enterprise security policy to protect enterprise data, wherein the at least one enterprise application is stored on the mobile device.
23.如权利要求22所述的非临时计算机可读介质,其中所述安全浏览器配置成通过下列操作中的一个或多个来控制所述至少一个企业应用的执行:23. The non-transitory computer readable medium of claim 22, wherein the secure browser is configured to control execution of the at least one enterprise application by one or more of the following:
经由应用隧道通过所述企业计算系统的隧道中介来与企业计算系统的企业资源通信,所述应用隧道使用协议封装来通过网络发送数据;communicating with an enterprise resource of an enterprise computing system via an application tunnel that uses protocol encapsulation to send data over a network through a tunnel intermediary of the enterprise computing system;
通过被配置为代理服务器的一个或多个计算设备将通信从所述至少一个企业应用路由到外部计算设备以执行内容过滤;以及routing communications from the at least one enterprise application to an external computing device through one or more computing devices configured as proxy servers to perform content filtering; and
基于比较与所述移动设备相关的条件与一个或多个企业访问规则中的条件的值来管制所述移动设备对所述至少一个企业资源的访问。Access by the mobile device to the at least one enterprise resource is regulated based on comparing a condition associated with the mobile device with a value of a condition in one or more enterprise access rules.
24.如权利要求26所述的移动设备,其中所述安全浏览器配置成使由所述至少一个企业应用写到所述移动设备的数据加密。24. The mobile device of claim 26, wherein the secure browser is configured to encrypt data written to the mobile device by the at least one enterprise application.
25.如权利要求26所述的移动设备,其中所述安全浏览器配置成在使所述至少一个企业应用的功能显现于用户之前验证由所述用户提供的密码。25. The mobile device of claim 26, wherein the secure browser is configured to verify a password provided by the user prior to exposing functionality of the at least one enterprise application to the user.
26.一种移动设备,包括:26. A mobile device comprising:
非临时存储器,其配置成存储第一应用和第二应用,所述第一应用包括可执行指令以自动使所述移动设备响应于所述第一应用被执行而启动所述第二应用,所述第二应用包括可执行指令以在所述第二应用内运行所述第一应用,且所述第二应用还包括可执行指令以实现一个或多个企业访问策略来管制对至少一个企业资源的访问;以及a non-transitory memory configured to store a first application and a second application, the first application comprising executable instructions to automatically cause the mobile device to launch the second application in response to the first application being executed, The second application includes executable instructions to run the first application within the second application, and the second application further includes executable instructions to implement one or more enterprise access policies to govern access to at least one enterprise resource access; and
至少一个处理器,其与所述非临时存储器通信,所述至少一个处理器配置成运行所述第一应用和所述第二应用。At least one processor in communication with the non-transitory memory, the at least one processor configured to run the first application and the second application.
27.如权利要求26所述的移动设备,其中实现一个或多个企业访问策略的所述可执行指令配置成使所述第二应用执行下列操作中的一个或多个:27. The mobile device of claim 26, wherein the executable instructions implementing one or more enterprise access policies are configured to cause the second application to perform one or more of the following:
经由应用隧道通过企业计算系统的隧道中介与所述企业资源通信,所述企业计算系统包括所述一个或多个企业资源:communicating with the enterprise resource via an application tunnel through a tunnel intermediary of an enterprise computing system, the enterprise computing system comprising the one or more enterprise resources:
通过被配置为代理服务器的一个或多个计算设备将通信从所述移动设备路由到所述至少一个企业资源以执行内容过滤;以及routing communications from the mobile device to the at least one enterprise resource via one or more computing devices configured as proxy servers to perform content filtering; and
基于比较与所述移动设备相关的条件与存储在所述非临时计算机可读介质上的一个或多个企业访问规则中的条件的值来管制所述移动设备对所述至少一个企业资源的访问。regulating access by the mobile device to the at least one enterprise resource based on comparing a condition associated with the mobile device with a value of a condition in one or more enterprise access rules stored on the non-transitory computer readable medium .
28.如权利要求26所述的移动设备,其中实现一个或多个企业访问策略的所述可执行指令配置成使所述第二应用使由所述第一应用写到所述非临时存储器的数据加密,并在使所述第一应用的功能显现于用户之前验证由所述用户提供的访问证书。28. The mobile device of claim 26, wherein the executable instructions implementing one or more enterprise access policies are configured to cause the second application to cause the Data is encrypted and access credentials provided by the user are verified before the functionality of the first application is made visible to the user.
范例实施方式Example implementation
本公开的额外范例实施方式包括:Additional example embodiments of the present disclosure include:
1.一种包括计算机可读存储器和配置成执行存储在所述计算机可读存储器上的计算机可执行代码的至少一个处理器,所述移动设备包括:1. A computer-readable memory and at least one processor configured to execute computer-executable code stored on the computer-readable memory, the mobile device comprising:
文件系统,其包括所述移动设备的所述计算机可读存储器的第一部分,所述文件系统配置成存储包括企业文档的企业数据;a file system comprising a first portion of the computer-readable memory of the mobile device, the file system configured to store enterprise data including enterprise documents;
所述计算机可读存储器的第二部分,其配置成存储与在企业中的用户的角色之外的所述移动设备的所述用户的活动相关的私人数据,所述第二部分逻辑地与所述文件系统分离;以及a second portion of the computer readable memory configured to store private data related to activities of the user of the mobile device outside of the user's role in an enterprise, the second portion logically associated with the the filesystem separation described above; and
访问管理器,其由存储在所述移动设备的所述计算机可读存储器上的计算机可执行代码实现,所述访问管理器配置成在所述文件系统上存储所述企业文档,使得所述企业文档与所述私人数据逻辑地分离,并基于与所述企业文档相关的一个或多个文档访问策略来限制安装在所述移动设备上的软件应用对企业文档的访问,使得所述软件应用具有与所述私人数据不同的对访问所述企业文档的限制。an access manager implemented by computer-executable code stored on the computer-readable memory of the mobile device, the access manager configured to store the enterprise documents on the file system such that the enterprise The document is logically separated from the private data, and access to the enterprise document by a software application installed on the mobile device is restricted based on one or more document access policies associated with the enterprise document such that the software application has Restrictions on access to said corporate documents that differ from said private data.
2.如权利要求1所述的移动设备,其中所述访问管理器配置成使所述企业能够远程地发起存储在所述文件系统上的所述企业数据的至少一部分的删除,而不修改存储在所述计算机可读存储器的所述第二部分上的所述私人数据。2. The mobile device of claim 1 , wherein the access manager is configured to enable the enterprise to remotely initiate deletion of at least a portion of the enterprise data stored on the file system without modifying stored data. The private data on the second portion of the computer readable memory.
3.如权利要求1所述的移动设备,其中所述访问管理器配置成基于在所述移动设备和所述企业计算系统之间的通信的模式来确定是否将从企业计算系统接收的企业文档存储在所述文件系统上。3. The mobile device of claim 1 , wherein the access manager is configured to determine whether an enterprise document received from an enterprise computing system will be based on a mode of communication between the mobile device and the enterprise computing system stored on the file system.
4.如权利要求3所述的移动设备,其中所述访问管理器配置成当所述企业文档经由应用隧道通过所述企业计算系统的隧道中介传输到所述移动设备时将所接收的企业文件存储在所述文件系统上。4. The mobile device of claim 3 , wherein the access manager is configured to transfer the received enterprise file stored on the file system.
5.如权利要求1所述的移动设备,其中所述访问管理器配置成基于所述一个或多个访问策略来防止所述软件应用执行下列操作中的至少一个:5. The mobile device of claim 1 , wherein the access manager is configured to prevent the software application from performing at least one of the following operations based on the one or more access policies:
复制来自所述企业文档的数据;Copy data from said corporate profile;
将所述移动设备上的所述企业文档保存在所述文件系统之外;或saving said enterprise document on said mobile device outside of said file system; or
将所述企业文档附加到从所述移动设备发送到另一计算设备的通信。The enterprise document is attached to a communication sent from the mobile device to another computing device.
6.如权利要求1所述的移动设备,其中所述一个或多个文档访问策略基于由所述用户或所述软件应用中的至少一个提供的访问证书来限制对在所述文件系统中的所述企业文档的访问。6. The mobile device of claim 1 , wherein the one or more document access policies restrict access to documents in the file system based on access credentials provided by at least one of the user or the software application. Access to the Enterprise Documentation.
7.如权利要求1所述的移动设备,其中所述一个或多个文档访问策略基于所述软件应用或请求对所述企业文档的访问的所述移动设备的部件的特性中的至少一个来限制对在所述文件系统中的所述企业文档的访问。7. The mobile device of claim 1 , wherein the one or more document access policies are based on at least one of characteristics of the software application or a component of the mobile device requesting access to the enterprise document. Access to the enterprise documents in the file system is restricted.
8.如权利要求1所述的移动设备,其中所述访问管理器配置成使安装在所述移动设备上的企业应用能够访问存储在所述文件系统中的所述企业文档并防止非企业应用访问存储在所述文件系统中的所述企业文档。8. The mobile device of claim 1 , wherein the access manager is configured to enable enterprise applications installed on the mobile device to access the enterprise documents stored in the file system and prevent non-enterprise applications from The enterprise documents stored in the file system are accessed.
9.如权利要求1所述的移动设备,其中所述访问管理器配置成要求存储在所述文件系统中的所述企业文档被加密。9. The mobile device of claim 1, wherein the access manager is configured to require that the enterprise documents stored in the file system be encrypted.
10.一种保护存储在移动设备上的企业数据的方法,所述方法包括:10. A method of protecting enterprise data stored on a mobile device, the method comprising:
通过所述移动设备从企业资源接收企业数据;receiving enterprise data from an enterprise resource via the mobile device;
将所述企业数据存储在所述移动设备的安全文档容器中,使得所述企业数据与非企业数据逻辑地分离,所述安全文档容器包括计算机可读存储器,所述存储在所述移动设备上运行的企业代理的控制下自动出现;以及storing the corporate data in a secure document container of the mobile device such that the corporate data is logically separated from non-corporate data, the secure document container comprising computer readable memory, the stored on the mobile device automatically appear under the control of a running corporate agent; and
根据一个或多个文档访问策略选择性地控制对存储在所述移动设备的所述安全文档容器中的所述企业数据的访问,所述一个或多个文档访问策略规定用于访问所述企业数据的条件,其中对所述非企业数据的访问独立于所述一个或多个文档访问策略。Selectively control access to said enterprise data stored in said secure document container of said mobile device according to one or more document access policies, said one or more document access policies for accessing said enterprise A condition of the data, wherein access to the non-enterprise data is independent of the one or more document access policies.
11.如权利要求10所述的方法,还包括响应于所述移动设备被损坏的指示或所述设备的用户不再与所述企业相关的指示中的至少一个而删除所述安全文档容器中的所述企业数据并保持所述非企业数据不修改。11. The method of claim 10, further comprising deleting the file in the secure document container in response to at least one of an indication that the mobile device is damaged or an indication that the user of the device is no longer associated with the enterprise. of the enterprise data and keep the non-enterprise data unmodified.
12.如权利要求10所述的方法,还包括响应于接收到一段时间终止或所述移动设备的位置在地理区之外的一个或多个的指示而删除所述企业数据。12. The method of claim 10, further comprising deleting the enterprise data in response to receiving an indication of one or more of an expiration of a period of time or a location of the mobile device outside a geographic area.
13.如权利要求10所述的方法,其中所述条件包括一段时间终止或所述移动设备的位置在地理区之外的一个或多个。13. The method of claim 10, wherein the condition includes one or more of an expiration of a period of time or a location of the mobile device outside a geographic area.
14.如权利要求10所述的方法,其中所述条件包括下列项中的一个或多个:14. The method of claim 10, wherein the conditions include one or more of the following:
存储在所述移动设备上的哪个应用请求对所述企业数据的访问;which application stored on the mobile device is requesting access to the enterprise data;
所述移动设备的哪个部件请求对所述企业数据的访问;或which component of the mobile device is requesting access to the enterprise data; or
与随访问所述企业数据的请求提供的证书相关的信息。Information related to credentials provided with requests to access said enterprise data.
15.如权利要求10所述的方法,其中所述企业数据经由在所述企业资源和在所述移动设备上运行的应用之间形成的应用隧道接收自所述企业资源,所述应用隧道使用协议封装来通过网络发送数据。15. The method of claim 10, wherein the enterprise data is received from the enterprise resource via an application tunnel formed between the enterprise resource and an application running on the mobile device, the application tunnel using Protocol encapsulation to send data over the network.
16.如权利要求15所述的方法,其中将所述企业数据存储在所述移动设备的所述安全文档容器中至少部分地响应于检测到所述企业数据由所述应用隧道接收到。16. The method of claim 15, wherein storing the enterprise data in the secure document container of the mobile device is at least in part responsive to detecting that the enterprise data is received by the application tunnel.
17.如权利要求10所述的方法,还包括防止存储在所述移动设备的所述安全文档容器中的所述企业数据存储在所述移动设备上的所述安全文档容器之外。17. The method of claim 10, further comprising preventing the enterprise data stored in the secure document container of the mobile device from being stored outside of the secure document container on the mobile device.
18.一种非临时存储介质,其包括存储在其上的指令,所述指令由移动设备可执行来执行过程,所述过程包括:18. A non-transitory storage medium comprising instructions stored thereon executable by a mobile device to perform a process, the process comprising:
在所述移动设备的存储器的一部分内创建用于存储企业数据的安全文档容器,所述安全文档容器与用于存储非企业数据的存储空间分离;creating a secure document container for storing enterprise data within a portion of memory of the mobile device, the secure document container being separate from storage space for storing non-enterprise data;
将从企业计算系统接收的企业数据存储在所述移动设备的所述安全文档容器中;以及storing enterprise data received from an enterprise computing system in the secure document container of the mobile device; and
基于规定用于允许对存储在所述安全文档容器中的所述企业数据的访问的条件的一个或多个规则来限制对存储在所述安全文档容器中的所述企业数据的访问,其中对存储在所述移动设备上的所述非企业数据的访问独立于所述一个或多个规则。restricting access to the enterprise data stored in the secure document container based on one or more rules specifying conditions for allowing access to the enterprise data stored in the secure document container, wherein Access to the non-enterprise data stored on the mobile device is independent of the one or more rules.
19.如权利要求18所述的存储介质,其中所述过程包括经由在所述企业资源和在所述移动设备上运行的应用之间形成的应用隧道来使在所述移动设备上运行的所述应用与所述企业计算系统的企业资源通信,所述应用隧道使用协议封装来通过网络发送企业数据。19. The storage medium of claim 18 , wherein the process includes enabling all applications running on the mobile device via an application tunnel formed between the enterprise resource and an application running on the mobile device The application communicates with an enterprise resource of the enterprise computing system, and the application tunnel uses protocol encapsulation to send enterprise data over a network.
20.如权利要求18所述的存储介质,其中所述过程还包括响应于检测或接收到在所述一个或多个规则的至少一个中规定的条件的指示这两个操作中的至少一个而删除在所述安全文档容器中的所述企业数据,而与对存储在所述安全文档容器之外的所述移动设备上的其它数据的修改无关。20. The storage medium of claim 18 , wherein the process further comprises in response to at least one of detecting or receiving an indication of a condition specified in at least one of the one or more rules, The enterprise data in the secure document container is deleted independently of modifications to other data stored on the mobile device outside of the secure document container.
21.如权利要求18所述的存储介质,其中所述一个或多个规则配置成基于地理限制或时间限制中的至少一个来限制对所述企业数据的访问。21. The storage medium of claim 18, wherein the one or more rules are configured to restrict access to the enterprise data based on at least one of geographic restrictions or temporal restrictions.
22.如权利要求21所述的存储介质,其中所述过程还包括当规定时间段终止或所述移动设备位于规定地理区之外时从所述安全文档容器删除所述企业数据的至少一部分。22. The storage medium of claim 21, wherein the process further comprises deleting at least a portion of the enterprise data from the secure document container when a specified time period expires or the mobile device is located outside a specified geographic area.
23.如权利要求18所述的存储介质,其中所述条件包括由所述移动设备的用户提供的访问证书经过了验证。23. The storage medium of claim 18, wherein the condition includes verification of access credentials provided by a user of the mobile device.
24.如权利要求18所述的存储介质,其中所述过程还包括从在安全虚拟机中运行的应用得到所述企业数据,所述安全虚拟机与所述移动设备的操作系统的虚拟机分离。24. The storage medium of claim 18, wherein the process further comprises obtaining the enterprise data from an application running in a secure virtual machine separate from a virtual machine of the mobile device's operating system .
25.如权利要求18所述的存储介质,其中所述过程还包括经由安装在所述移动设备上的安全浏览器中运行的应用得到所述企业数据,所述安全浏览器配置成管制所述应用对所述安全文档容器的访问。25. The storage medium of claim 18, wherein the process further comprises obtaining the enterprise data via an application running in a secure browser installed on the mobile device, the secure browser configured to govern the Access to the secure document container is applied.
26.如权利要求18所述的存储介质,其中所述一个或多个规则配置成当非企业应用请求对所述企业数据的访问时拒绝对存储在所述安全文档容器中的所述企业数据的访问。26. The storage medium of claim 18, wherein the one or more rules are configured to deny access to the enterprise data stored in the secure document container when a non-enterprise application requests access to the enterprise data Access.
范例实施方式Example implementation
本公开的额外范例实施方式包括:Additional example embodiments of the present disclosure include:
1.一种移动设备,包括:1. A mobile device, comprising:
处理器和存储器;processor and memory;
企业代理,其安装在所述移动设备上,所述企业代理包括用于使安装在所述移动设备上的企业应用能够安全地访问企业的企业系统的资源的功能,所述企业代理配置成收集与所述移动设备相关的多个状态度量的数据值;an enterprise agent installed on the mobile device, the enterprise agent including functionality for enabling enterprise applications installed on the mobile device to securely access resources of the enterprise's enterprise systems, the enterprise agent configured to collect data values for a plurality of state metrics associated with the mobile device;
多个规则,其存储在所述存储器中,至少一些所述规则将由一个或多个所述状态度量数据值指示的状态映射到指示与所述企业相关的安全风险和/或生产率风险的问题;a plurality of rules stored in said memory, at least some of said rules mapping a status indicated by one or more of said status metric data values to issues indicative of security risks and/or productivity risks associated with said enterprise;
补救行动数据,其存储在所述存储器中,所述补救行动数据规定用于处理特定问题的补救行动,每个补救行动相应于一个或多个所述问题;remedial action data stored in said memory, said remedial action data specifying remedial actions to address particular issues, each remedial action corresponding to one or more of said issues;
其中所述代理配置成:Wherein the agent is configured as:
至少部分地通过使用所述规则分析所述状态度量数据值来程序化地检测所述问题的实例;以及programmatically detecting instances of the problem at least in part by analyzing the state metric data values using the rules; and
通过在所述移动设备上执行所述补救行动之一对所述问题之一的所检测到的实例做出响应,所执行的补救行动相应于所检测到的问题实例的问题。Responsive to the detected instance of one of the problems by performing one of the remedial actions on the mobile device, the performed remedial action corresponding to the problem of the detected problem instance.
2.如权利要求1所述的移动设备,其中至少一些所述问题指示对所述企业的安全风险。2. The mobile device of claim 1, wherein at least some of the questions indicate a security risk to the enterprise.
3.如权利要求1所述的移动设备,其中至少一些所述问题指示对所述企业的生产率风险。3. The mobile device of claim 1, wherein at least some of the issues indicate a productivity risk to the business.
4.如权利要求1所述的移动设备,其中所述代理还配置成基于从所述企业系统接收的规则信息来更新所述规则。4. The mobile device of claim 1, wherein the agent is further configured to update the rules based on rule information received from the enterprise system.
5.如权利要求1所述的移动设备,其中所述补救行动包括包含在所述移动设备的用户接口上产生消息的补救行动,所述消息指示所述设备的用户在所述设备上执行行动。5. The mobile device of claim 1 , wherein the remedial action comprises remedial action comprising generating a message on a user interface of the mobile device, the message instructing a user of the device to perform an action on the device .
6.如权利要求5所述的移动设备,其中所述补救行动相应于被规定为使SIM卡从所述移动设备脱离的问题,且由所述消息指示的所述行动包括使所述SIM卡与所述设备重新啮合。6. The mobile device of claim 5 , wherein the remedial action corresponds to a problem specified as detaching a SIM card from the mobile device, and the action indicated by the message includes detaching the SIM card from the mobile device. Re-engage with said device.
7.如权利要求5所述的移动设备,其中所述补救行动相应于被规定为禁用对所述设备的密码保护的问题,且由所述消息指示的所述行动包括激活对所述设备的密码保护。7. The mobile device of claim 5 , wherein the remedial action corresponds to a question specified as disabling password protection on the device, and the action indicated by the message includes activating password protection on the device. password protection.
8.如权利要求1所述的移动设备,其中所述补救行动中的特定补救行动相应于被规定为所述设备接收未授权网络连接的问题,所述特定的补救行动包括防止所述未授权网络连接。8. The mobile device of claim 1 , wherein a specific one of the remedial actions corresponds to a problem specified as the device receiving an unauthorized network connection, the specific remedial action comprising preventing the unauthorized Internet connection.
9.如权利要求1所述的移动设备,其中所述补救行动中的特定补救行动包括下列行动中的一个:9. The mobile device of claim 1 , wherein specific ones of the remedial actions include one of the following actions:
激活或去激活所述移动设备的特征;以及activate or deactivate features of the mobile device; and
在所述设备的用户接口上产生消息,所述消息指示所述设备的用户激活或去激活所述移动设备的所述特征。A message is generated on a user interface of the device, the message instructing a user of the device to activate or deactivate the feature of the mobile device.
10.如权利要求9所述的移动设备,其中:10. The mobile device of claim 9, wherein:
所述特征包括所述设备的摄像机;The features include a camera of the device;
所述特定的补救行动相应于被定义为所述设备位于所述企业的房屋内且所述摄像机可供使用;said specific remedial action corresponds to being defined as said equipment being on the premises of said business and said camera being available for use;
所述特定的补救行动包括下列操作之一:The specified remedial action includes one of the following:
去激活所述摄像机;以及deactivate the camera; and
在所述设备的所述用户接口上产生所述消息,所述消息指示所述设备的所述用户去激活所述摄像机。The message is generated on the user interface of the device, the message instructing the user of the device to deactivate the camera.
11.如权利要求9所述的移动设备,其中:11. The mobile device of claim 9, wherein:
所述特征包括所述设备的网络连接能力;The characteristics include network connectivity capabilities of the device;
所述特定的补救行动相应于被定义为所述设备使用所述网络连接能力来连接或试图连接到不安全网络;said specific remedial action corresponds to being defined as said device using said network connectivity capability to connect or attempt to connect to an unsecured network;
所述特定的补救行动包括下列操作之一:The specified remedial action includes one of the following:
终止或防止到所述不安全网络的连接;Terminate or prevent connections to said unsecured networks;
去激活所述网络连接能力;deactivating the network connectivity capability;
在所述设备的所述用户接口上产生所述消息,所述消息指示所述设备的所述用户终止到所述不安全网络的所述连接;以及generating said message on said user interface of said device, said message instructing said user of said device to terminate said connection to said unsecured network; and
在所述设备的所述用户接口上产生所述消息,所述消息指示所述设备的所述用户去激活网络连接能力。The message is generated on the user interface of the device, the message instructing the user of the device to deactivate network connectivity capabilities.
12.如权利要求1所述的移动设备,其中所述补救行动中的特定补救行动包括下列操作之一:12. The mobile device of claim 1, wherein specific ones of the remedial actions include one of the following:
从所述设备卸载应用;以及uninstall the application from said device; and
在所述设备的所述用户接口上产生所述消息,所述消息指示所述设备的所述用户从所述设备卸载所述应用。The message is generated on the user interface of the device, the message instructing the user of the device to uninstall the application from the device.
13.如权利要求12所述的移动设备,其中所述特定补救行动相应于被规定为所述应用未被授权安装在所述移动设备上的问题。13. The mobile device of claim 12, wherein the specific remedial action corresponds to a problem specified as the application not being authorized to be installed on the mobile device.
14.如权利要求1所述的移动设备,其中所述补救行动中的至少一个包括下列操作中的至少一个:14. The mobile device of claim 1, wherein at least one of the remedial actions includes at least one of the following:
从所述企业删除数据,所删除的数据与所述企业有关;以及delete data from said business in relation to said business; and
在所述设备的所述用户接口上产生所述消息,所述消息指示所述设备的所述用户删除与所述企业有关的数据。The message is generated on the user interface of the device, the message instructing the user of the device to delete data related to the enterprise.
15.一种非临时存储介质,其具有存储在其上的可执行指令,所述可执行指令引导移动设备执行过程,所述过程包括:15. A non-transitory storage medium having stored thereon executable instructions that direct a mobile device to perform a process, the process comprising:
收集与所述移动设备相关的多个状态度量的数据值;collecting data values for a plurality of state metrics associated with the mobile device;
在所述移动设备上接收和存储多个规则,至少一些所述规则将由一个或多个所述状态度量数据值指示的状态映射到指示与企业相关的安全风险和/或生产率风险的问题,receiving and storing a plurality of rules on said mobile device, at least some of said rules mapping a status indicated by one or more of said status metric data values to issues indicative of security risks and/or productivity risks associated with the enterprise,
接收并存储用于规定处理特定的问题的补救行动的补救行动数据,每个补救行动相应于一个或多个所述问题;receiving and storing remedial action data specifying remedial actions to address particular issues, each remedial action corresponding to one or more of said issues;
至少部分地通过使用所述规则分析所收集的状态度量数据值来检测所述问题的实例;以及detecting instances of the problem at least in part by analyzing the collected state metric data values using the rules; and
通过在所述移动设备上执行所述补救行动之一来对所述问题之一的所检测的实例做出响应,所执行的补救行动相应于所检测的问题实例的问题。Responding to the detected instance of one of the problems by performing one of the remedial actions on the mobile device, the performed remedial action corresponding to the problem of the detected problem instance.
16.一种系统,包括:16. A system comprising:
网关,其包括一个或多个计算设备,所述网关配置成:a gateway comprising one or more computing devices configured to:
从移动设备接收访问企业系统的资源的访问请求;receiving access requests from mobile devices to resources of enterprise systems;
基于可配置标准来允许或拒绝所述访问请求;以及allowing or denying the access request based on configurable criteria; and
记录与所述网关对所述访问请求的允许和拒绝相关的数据;以及分析服务,其配置成:recording data related to the gateway's permission and denial of the access request; and an analysis service configured to:
接收包含与从移动计算设备发送到所述企业系统的资源的通信相关的移动业务数据的用户确定请求;receiving a user determination request comprising mobile traffic data related to communications sent from a mobile computing device to a resource of the enterprise system;
搜索所记录的数据以找到与在所述用户确定请求内接收的所述移动业务数据匹配的移动业务数据;searching recorded data for mobile service data matching said mobile service data received within said user determination request;
确定由所述网关接收的移动设备访问请求,所述移动设备访问请求包含匹配的移动业务数据;determining a mobile device access request received by the gateway, the mobile device access request comprising matching mobile service data;
确定包含在所述访问请求内的用户数据,所述访问请求包含所述匹配的移动业务数据;以及determining user data contained within said access request comprising said matching mobile service data; and
计算指示移动设备用户相应于发起所述通信的用户数据的置信度水平的可靠性分数。A reliability score is calculated indicating a level of confidence that the mobile device user corresponds to the user data initiating the communication.
17.如权利要求16所述的系统,其中:17. The system of claim 16, wherein:
所述通信的移动业务数据包括IP地址;以及The mobile service data of the communication includes an IP address; and
所述匹配的移动业务数据包括IP地址。The matched mobile service data includes an IP address.
18.如权利要求16所述的系统,其中:18. The system of claim 16, wherein:
所述用户确定请求包含所述通信的接收时间;以及the user determination request includes a time of receipt of the communication; and
所述分析服务配置成至少部分地基于比较所述接收时间与所述网关接收到包含所述匹配的移动业务数据的所述访问请求时的时间来计算可靠性分数。The analysis service is configured to calculate a reliability score based at least in part on comparing the time of receipt to a time when the gateway received the access request containing the matching mobile traffic data.
19.如权利要求16所述的系统,其中:19. The system of claim 16, wherein:
所述用户确定请求包含所述通信的接收时间;以及the user determination request includes a time of receipt of the communication; and
所述分析服务配置成:The analysis service is configured as:
搜索所记录的数据以确定(1)具有与在所述用户确定请求内接收的所述移动业务数据匹配的移动业务数据以及(2)由所述网关在包含所述接收时间的时间窗内接收的访问请求的总数;以及searching recorded data to determine that (1) there is mobile service data matching said mobile service data received within said user determination request and (2) received by said gateway within a time window that includes said time of receipt the total number of access requests for ; and
至少部分地基于访问请求的所述总数来计算所述可靠性分数。The reliability score is calculated based at least in part on the total number of access requests.
范例实施方式Example implementation
本公开的额外范例实施方式包括:Additional example embodiments of the present disclosure include:
1.一种用于控制移动设备对企业系统的企业资源的访问的系统,所述系统包括:CLAIMS 1. A system for controlling mobile device access to enterprise resources of an enterprise system, the system comprising:
企业代理,其在企业用户的移动设备上运行,所述企业代理配置成使所述移动设备收集并报告移动设备特性信息,包括关于安装在所述移动设备上的应用的信息;以及an enterprise agent running on an enterprise user's mobile device, the enterprise agent configured to cause the mobile device to collect and report mobile device characteristic information, including information about applications installed on the mobile device; and
移动设备管理系统,其配置成存储至少(1)由所述移动设备报告的所述移动设备特性信息,(2)关于所述移动设备的用户的用户信息,包括规定在企业中的所述用户的相应角色的信息,以及(3)规定所述企业的企业访问策略的数据,包括与特定的企业资源相关的访问策略,所述移动设备管理系统包括一个或多个计算设备;A mobile device management system configured to store at least (1) said mobile device characteristic information reported by said mobile device, (2) user information about a user of said mobile device, including said user specified in an enterprise and (3) data specifying enterprise access policies of the enterprise, including access policies related to specific enterprise resources, and the mobile device management system includes one or more computing devices;
所述移动设备管理系统配置成结合规定所述企业访问策略的所述数据来使用所存储的移动设备特性信息和与所述移动设备相关的用户信息,以控制所述移动设备对所述企业资源的访问。the mobile device management system is configured to use stored mobile device characteristic information and user information associated with the mobile device in conjunction with the data specifying the enterprise access policy to control access by the mobile device to the enterprise resource Access.
2.如权利要求1所述的系统,其中所述移动设备管理系统配置成至少部分地基于如从所述移动设备经由所述企业代理所报告的信息确定的所述移动设备是否具有安装在其上的未授权应用来确定是否允许移动设备对访问企业资源的请求。2. The system of claim 1, wherein the mobile device management system is configured based at least in part on whether the mobile device has a Unauthorized applications on the computer to determine whether to allow the mobile device's request to access corporate resources.
3.如权利要求1所述的系统,其中所述移动设备管理系统配置成通过查找所述移动设备特性信息和与所述设备相关的用户信息并通过确定所查找的移动设备特性信息和用户信息是否符合与所述企业资源相关的至少一个企业访问策略来对来自移动设备的对访问企业资源的请求做出响应。3. The system of claim 1 , wherein the mobile device management system is configured to look up the mobile device characteristic information and user information related to the device and by determining the searched mobile device characteristic information and user information Whether to respond to a request from a mobile device to access an enterprise resource is in compliance with at least one enterprise access policy associated with the enterprise resource.
4.如权利要求3所述的系统,其中来自所述移动设备的对访问所述企业资源的所述请求是形成在所述企业资源和在所述移动设备上运行的应用之间的应用隧道的请求。4. The system of claim 3, wherein the request from the mobile device to access the enterprise resource is to form an application tunnel between the enterprise resource and an application running on the mobile device request.
5.如权利要求3所述的系统,其中所述移动设备管理系统配置成至少部分地基于所述移动设备的所述用户在所述企业内的角色来允许或拒绝所述请求。5. The system of claim 3, wherein the mobile device management system is configured to allow or deny the request based at least in part on a role of the user of the mobile device within the enterprise.
6.如权利要求1所述的系统,其中所述移动设备管理系统配置成至少部分地基于如经由所述企业代理由所述移动设备报告的所述移动设备的位置来允许或拒绝所述请求。6. The system of claim 1, wherein the mobile device management system is configured to allow or deny the request based at least in part on a location of the mobile device as reported by the mobile device via the enterprise agent .
7.如权利要求1所述的系统,其中所述移动设备管理系统配置成基于规定所述企业访问策略的所存储的数据结合所述移动设备特性信息和/或用户信息来产生网关规则,并至少部分地通过向管制移动设备对企业资源的访问的移动网关提供所述网关规则来控制访问。7. The system of claim 1 , wherein the mobile device management system is configured to generate gateway rules based on stored data specifying the enterprise access policy in combination with the mobile device characteristic information and/or user information, and Access is controlled at least in part by providing the gateway rules to a mobile gateway that regulates access of mobile devices to enterprise resources.
8.如权利要求7所述的系统,其中所述移动设备管理系统配置成至少基于所存储的移动设备特性信息和用户信息至少部分地通过将企业访问策略转换成较低级网关规则来产生所述网关规则。8. The system of claim 7, wherein the mobile device management system is configured to generate the at least partly based on at least stored mobile device characteristic information and user information by translating enterprise access policies into lower-level gateway rules. the gateway rules described above.
9.如权利要求7所述的系统,还包括配置成将所述规则应用于从所述移动设备接收的访问请求的移动网关,所述移动网关包括配置成在企业防火墙服务器上运行的移动网关过滤器。9. The system of claim 7, further comprising a mobile gateway configured to apply the rules to access requests received from the mobile device, the mobile gateway comprising a mobile gateway configured to run on an enterprise firewall server filter.
10.如权利要求1所述的系统,其中所述企业代理能够响应于确定未授权应用安装在移动设备上来在所述移动设备上执行补救行动。10. The system of claim 1, wherein the enterprise agent is capable of performing remedial action on the mobile device in response to determining that an unauthorized application is installed on the mobile device.
11.如权利要求1所述的系统,其中所述补救行动包括下列操作中的至少一个:(1)阻止所述未授权应用执行,以及(2)从所述移动设备删除数据。11. The system of claim 1, wherein the remedial action includes at least one of: (1) preventing execution of the unauthorized application, and (2) deleting data from the mobile device.
12.如权利要求1所述的系统,其中所述移动设备管理系统配置成向所述移动设备发送规则,包括指示需要相关补救行动的特定条件的规则,且其中所述企业代理配置成在所述企业代理安装于的相应的移动设备上应用所述规则。12. The system of claim 1, wherein the mobile device management system is configured to send rules to the mobile device, including rules indicating specific conditions requiring relevant remedial action, and wherein the enterprise agent is configured to The rule is applied on the corresponding mobile device on which the enterprise agent is installed.
13.一种非临时计算机可读介质,其上存储有代理部件,所述代理部件配置成安装在企业用户的移动设备上,所述代理部件配置成至少:13. A non-transitory computer readable medium having stored thereon an agent component configured to be installed on a mobile device of an enterprise user, the agent component configured to at least:
向安装在所述移动设备上的一个或多个授权应用提供安全路径以访问企业系统的企业资源;providing one or more authorized applications installed on said mobile device with a secure path to access enterprise resources of an enterprise system;
识别安装在所述移动设备上的应用;identifying applications installed on said mobile device;
确定安装在所述移动设备上的应用中的任一个是否是未授权应用;以及determining whether any of the applications installed on the mobile device is an unauthorized application; and
响应于确定所述未授权应用安装在所述移动设备上而在所述移动设备上执行补救行动。Remedial action is performed on the mobile device in response to determining that the unauthorized application is installed on the mobile device.
14.如权利要求13所述的非临时计算机可读介质,其中所述补救行动包括防止所述未授权应用在所述移动设备上运行。14. The non-transitory computer readable medium of claim 13, wherein the remedial action includes preventing the unauthorized application from running on the mobile device.
15.如权利要求13所述的非临时计算机可读介质,其中所述补救行动包括从所述移动设备卸载所述未授权应用。15. The non-transitory computer readable medium of claim 13, wherein the remedial action comprises uninstalling the unauthorized application from the mobile device.
16.如权利要求13所述的非临时计算机可读介质,其中所述补救行动包括阻止所述移动设备访问所述企业系统。16. The non-transitory computer readable medium of claim 13, wherein the remedial action includes blocking the mobile device from accessing the enterprise system.
17.如权利要求13所述的非临时计算机可读介质,其中所述补救行动包括从所述移动设备删除对存储在所述移动设备上的加密企业数据解密所必需的信息。17. The non-transitory computer readable medium of claim 13, wherein the remedial action includes deleting from the mobile device information necessary to decrypt encrypted enterprise data stored on the mobile device.
18.如权利要求13所述的非临时计算机可读介质,其中所述代理部件通过使用协议封装以创建在特定的经授权应用和特定的企业资源之间的应用隧道来创建所述安全路径。18. The non-transitory computer readable medium of claim 13, wherein the proxy component creates the secure path by using protocol encapsulation to create an application tunnel between a specific authorized application and a specific enterprise resource.
19.如权利要求13所述的非临时计算机可读介质,其中所述代理部件配置成向与所述企业系统相关的移动设备管理系统报告设备特性信息,包括关于安装在所述移动设备上的应用的信息。19. The non-transitory computer readable medium of claim 13, wherein the agent component is configured to report device characteristic information to a mobile device management system associated with the enterprise system, including information about application information.
20.如权利要求19所述的非临时计算机可读介质,与所述移动设备管理系统结合,其中所述移动设备管理系统配置成结合与所述移动设备相关的其它信息来使用关于哪些应用安装在所述移动设备上的信息以确定是否允许所述一个或多个经授权应用对访问企业资源的请求。20. The non-transitory computer readable medium of claim 19, in combination with the mobile device management system, wherein the mobile device management system is configured to use information about which applications are installed in conjunction with other information related to the mobile device. information on the mobile device to determine whether the one or more authorized applications' requests for access to enterprise resources are permitted.
21.一种非临时计算机可读介质,其上存储有企业代理,所述企业代理配置成安装在企业的成员的移动设备上,所述企业代理包括可执行代码,所述可执行代码引导移动设备来:21. A non-transitory computer readable medium having stored thereon an enterprise agent configured to be installed on a mobile device of a member of the enterprise, the enterprise agent comprising executable code that directs a mobile The device comes with:
维持移动设备规则的仓库,包括从与所述企业相关的移动设备管理系统接收的规则,所述移动设备规则中的至少一些规定用于保护企业资源的条件和相关补救行动;maintaining a repository of mobile device rules, including rules received from mobile device management systems associated with said enterprise, at least some of said mobile device rules specifying conditions and related remedial actions for protecting enterprise resources;
收集移动设备特性信息,包括关于安装在所述移动设备上的应用的信息;以及collect mobile device characteristic information, including information about applications installed on said mobile device; and
在所述移动设备上应用所述移动设备规则,其中应用所述移动设备规则包括使用所收集的移动设备特性信息来确定所述条件是否存在,并执行与所检测的条件相关的补救行动。Applying the mobile device rule on the mobile device, wherein applying the mobile device rule includes using the collected mobile device characteristic information to determine whether the condition exists, and performing a remedial action related to the detected condition.
22.如权利要求21所述的计算机可读介质,其中所述企业代理经由移动设备规则的应用配置成确定未授权应用是否安装在所述移动设备上并在未授权应用被安装时执行补救行动。22. The computer-readable medium of claim 21 , wherein the enterprise agent is configured via application of mobile device rules to determine whether an unauthorized application is installed on the mobile device and to perform remedial action if an unauthorized application is installed .
23.如权利要求21所述的计算机可读介质,其中所述企业代理经由移动设备规则的应用配置成确定SIM卡是否从所述移动设备脱离并响应于检测到这样的脱离而执行补救行动。23. The computer-readable medium of claim 21, wherein the enterprise agent is configured via application of mobile device rules to determine if a SIM card has detached from the mobile device and to perform remedial action in response to detecting such detachment.
24.如权利要求21所述的计算机可读介质,其中所述企业代理经由移动设备规则的应用配置成响应于确定密码保护在所述移动设备上禁用而指示用户激活密码保护。24. The computer-readable medium of claim 21, wherein the enterprise agent is configured via application of mobile device rules to instruct a user to activate password protection in response to determining that password protection is disabled on the mobile device.
25.如权利要求21所述的计算机可读介质,其中所述企业代理经由移动设备规则的应用配置成响应于确定所述移动设备位于摄像机的使用未被授权的区域中而禁用所述移动设备的所述摄像机。25. The computer-readable medium of claim 21 , wherein the enterprise agent is configured via application of a mobile device rule to disable the mobile device in response to determining that the mobile device is located in an area where use of a camera is not authorized of the camera.
26.如权利要求21所述的计算机可读介质,其中所述企业代理配置成在所述移动设备上维持安装在所述移动设备上的经授权应用可访问的安全文档容器,并配置成响应于检测到代表企业安全风险的条件而从所述安全文档容器删除数据。26. The computer-readable medium of claim 21 , wherein the enterprise agent is configured to maintain on the mobile device a secure document container accessible to authorized applications installed on the mobile device, and is configured to respond to Data is deleted from the secure document container upon detection of a condition representing an enterprise security risk.
27.如权利要求21所述的计算机可读介质,其中所述企业代理配置成使用协议封装来对安装在所述移动设备上的相应经授权应用创建应用隧道用于通过网络与特定的企业资源进行安全通信。27. The computer-readable medium of claim 21 , wherein the enterprise agent is configured to use protocol encapsulation to create an application tunnel for a corresponding authorized application installed on the mobile device to communicate with a specific enterprise resource over a network Communicate securely.
Claims (28)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201810422004.7A CN108600251B (en) | 2012-09-18 | 2013-09-18 | Mobile device management and security |
Applications Claiming Priority (5)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US201261702671P | 2012-09-18 | 2012-09-18 | |
| US61/702,671 | 2012-09-18 | ||
| US13/649,076 US9378359B2 (en) | 2011-10-11 | 2012-10-10 | Gateway for controlling mobile device access to enterprise resources |
| US13/649,076 | 2012-10-10 | ||
| PCT/US2013/060388 WO2014047168A1 (en) | 2012-09-18 | 2013-09-18 | Mobile device management and security |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201810422004.7A Division CN108600251B (en) | 2012-09-18 | 2013-09-18 | Mobile device management and security |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN104798355A true CN104798355A (en) | 2015-07-22 |
Family
ID=50341906
Family Applications (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201380057326.1A Pending CN104798355A (en) | 2012-09-18 | 2013-09-18 | Mobile device management and security |
| CN201810422004.7A Active CN108600251B (en) | 2012-09-18 | 2013-09-18 | Mobile device management and security |
Family Applications After (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201810422004.7A Active CN108600251B (en) | 2012-09-18 | 2013-09-18 | Mobile device management and security |
Country Status (3)
| Country | Link |
|---|---|
| EP (2) | EP3499839B1 (en) |
| CN (2) | CN104798355A (en) |
| WO (1) | WO2014047168A1 (en) |
Cited By (39)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN105376309A (en) * | 2015-10-30 | 2016-03-02 | 青岛海尔智能家电科技有限公司 | Access gateway distribution method and device |
| CN105516088A (en) * | 2015-11-26 | 2016-04-20 | 北京那个网络科技有限公司 | Equipment information access method and device |
| CN105653943A (en) * | 2015-12-24 | 2016-06-08 | 北京奇虎科技有限公司 | Log auditing method and system for android applications |
| CN106599708A (en) * | 2017-02-21 | 2017-04-26 | 柳州桂通科技股份有限公司 | Real-time access method for preventing visitors from maliciously destroying original data when exchange-accessing between networks and system thereof |
| CN106851574A (en) * | 2017-01-22 | 2017-06-13 | 山东鲁能软件技术有限公司 | A kind of Terminal Security Management system and method based on GIS |
| CN107046530A (en) * | 2016-02-08 | 2017-08-15 | 汉特拉斯特公司 | Coordination governing system for the quick information technology environment of isomery |
| CN107133150A (en) * | 2017-05-15 | 2017-09-05 | 杭州时趣信息技术有限公司 | A kind of method and device of Android anti-replays |
| CN107181801A (en) * | 2017-05-22 | 2017-09-19 | 深圳市连用科技有限公司 | A kind of electronic accessories storage method and terminal |
| CN107256362A (en) * | 2017-06-13 | 2017-10-17 | 深信服科技股份有限公司 | A kind of application layer file system partition method and device |
| CN107343324A (en) * | 2015-09-24 | 2017-11-10 | 株式会社Kt | Method and apparatus for sending and receiving data using WLAN radio resources |
| CN107515924A (en) * | 2017-08-24 | 2017-12-26 | 南京农纷期电子商务有限公司 | A kind of page info collection method based on react native |
| WO2018001138A1 (en) * | 2016-06-30 | 2018-01-04 | Huawei Technologies Co., Ltd. | Systems, devices and processes to support mobile device management of multiple containers in virtualization environment |
| CN107786486A (en) * | 2016-08-18 | 2018-03-09 | 成都鼎桥通信技术有限公司 | The Activiation method and device of operating system |
| CN108282511A (en) * | 2017-09-15 | 2018-07-13 | 广州市动景计算机科技有限公司 | Network data access method, device, system, storage medium and user terminal |
| CN108490914A (en) * | 2018-03-23 | 2018-09-04 | 武汉康慧然信息技术咨询有限公司 | Safety inspection method for central control system of new energy automobile |
| CN108696546A (en) * | 2017-02-15 | 2018-10-23 | 中兴通讯股份有限公司 | A kind of method and device of the user terminal access public network of Enterprise Mobile private network |
| CN108701175A (en) * | 2016-03-30 | 2018-10-23 | 安维智有限公司 | Associate User Accounts with Enterprise Workspaces |
| CN108702360A (en) * | 2016-02-15 | 2018-10-23 | 思科技术公司 | Digital Asset Protection Strategies Using Dynamic Network Attributes |
| CN108810840A (en) * | 2018-04-18 | 2018-11-13 | 天津大学 | Node selecting method in co-positioned based on EFIM and apart from cooperation |
| CN109032647A (en) * | 2018-10-17 | 2018-12-18 | 北京京航计算通讯研究所 | Method for upgrading software based on software supervision and strategy |
| CN109255211A (en) * | 2017-07-12 | 2019-01-22 | 波音公司 | Mobile security countermeasure |
| CN109344620A (en) * | 2018-09-07 | 2019-02-15 | 国网福建省电力有限公司 | A detection method based on hadoop security configuration |
| CN109379738A (en) * | 2017-08-02 | 2019-02-22 | 威睿公司 | The Enterprise Mobile management of double SIM mobile devices |
| CN110352428A (en) * | 2017-03-03 | 2019-10-18 | 微软技术许可有限责任公司 | By security policy manager delegation to account executive |
| CN110362355A (en) * | 2018-04-02 | 2019-10-22 | 青岛海信移动通信技术股份有限公司 | A kind of application interface display methods and device |
| CN110503478A (en) * | 2019-08-26 | 2019-11-26 | 北京深演智能科技股份有限公司 | A kind of APP method for pushing and device |
| CN110521223A (en) * | 2017-02-21 | 2019-11-29 | 蝎子保安产品公司 | Mobile device management system and method |
| CN111052678A (en) * | 2017-11-21 | 2020-04-21 | 威睿公司 | Adaptive Device Enrollment |
| CN111629038A (en) * | 2020-05-19 | 2020-09-04 | 北京达佳互联信息技术有限公司 | Virtual resource sharing processing method and device, server and storage medium |
| CN111756718A (en) * | 2020-06-15 | 2020-10-09 | 深信服科技股份有限公司 | Terminal, access method, system, server and computer readable storage medium |
| CN111988314A (en) * | 2020-08-19 | 2020-11-24 | 杭州铂钰信息科技有限公司 | System architecture and method for dynamically deploying network security service |
| US20210014686A1 (en) * | 2018-03-28 | 2021-01-14 | Huawei Technologies Co., Ltd. | Method For Controlling Access Of Terminal To Network And Network Element |
| CN112805980A (en) * | 2018-07-17 | 2021-05-14 | 微软技术许可有限责任公司 | Techniques for query-free device configuration determination for mobile device management |
| CN114024767A (en) * | 2021-11-25 | 2022-02-08 | 郑州信大信息技术研究院有限公司 | Password-defined network security system construction method, system architecture and data forwarding method |
| CN114384869A (en) * | 2020-10-22 | 2022-04-22 | 费希尔-罗斯蒙特系统公司 | Industrial process control system as a data center for an industrial process plant |
| CN114641968A (en) * | 2019-07-03 | 2022-06-17 | 向心网络公司 | Method and system for efficient network protection of mobile devices |
| US12068912B2 (en) | 2018-07-31 | 2024-08-20 | Microsoft Technology Licensing, Llc | Implementation of compliance settings by a mobile device for compliance with a configuration scenario |
| US12113772B2 (en) | 2019-07-03 | 2024-10-08 | Centripetal Networks, Llc | Cyber protections of remote networks via selective policy enforcement at a central network |
| US20250112906A1 (en) * | 2023-10-02 | 2025-04-03 | Okta, Inc. | Dynamic control plane for configuring capabilities across applications via a cloud platform |
Families Citing this family (23)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB201315931D0 (en) * | 2013-09-06 | 2013-10-23 | Bae Systems Plc | Secured mobile communications device |
| US10116697B2 (en) * | 2013-09-20 | 2018-10-30 | Open Text Sa Ulc | System and method for geofencing |
| EP2851833B1 (en) | 2013-09-20 | 2017-07-12 | Open Text S.A. | Application Gateway Architecture with Multi-Level Security Policy and Rule Promulgations |
| CN104125223B (en) * | 2014-07-22 | 2017-07-21 | 浪潮电子信息产业股份有限公司 | A kind of security protection system of mobile device private data |
| US20160087993A1 (en) * | 2014-09-19 | 2016-03-24 | Microsoft Corporation | Selectively Managing Datasets |
| US9535675B2 (en) | 2014-09-24 | 2017-01-03 | Oracle International Corporation | Rule based device enrollment |
| US9369537B1 (en) | 2015-03-31 | 2016-06-14 | Lock2Learn, LLC | Systems and methods for regulating device usage |
| US9906562B2 (en) * | 2015-08-28 | 2018-02-27 | Nicira, Inc. | Associating service tags with remote data message flows based on remote device management attributes |
| US11388037B2 (en) | 2016-02-25 | 2022-07-12 | Open Text Sa Ulc | Systems and methods for providing managed services |
| US20200220945A1 (en) * | 2017-09-18 | 2020-07-09 | Privacy Software Solutions Ltd. | A method for creating a pre-defined virtual mobilephone profile environment |
| CN108668260B (en) * | 2018-04-17 | 2021-12-24 | 北京华大智宝电子系统有限公司 | SIM card data self-destruction method, SIM card, device and server |
| US11196714B2 (en) | 2018-11-07 | 2021-12-07 | Citrix Systems, Inc. | Systems and methods for encrypted browser cache |
| CN110113356A (en) * | 2019-05-22 | 2019-08-09 | 北京明朝万达科技股份有限公司 | A kind of data monitoring method and device |
| US11477650B2 (en) * | 2019-08-26 | 2022-10-18 | Bank Of America Corporation | Controlling access to enterprise centers using a dynamic enterprise control system |
| CN110781493B (en) * | 2019-09-30 | 2023-04-18 | 奇安信科技集团股份有限公司 | Processing method for running application program, terminal and server |
| CN111882842B (en) * | 2020-08-04 | 2022-12-02 | 珠海格力电器股份有限公司 | Early warning method of sharing equipment and sharing equipment |
| CN112653609B (en) * | 2020-12-14 | 2022-05-27 | 北京指掌易科技有限公司 | VPN identification application method, device, terminal and storage medium |
| CN113297615A (en) * | 2021-05-20 | 2021-08-24 | 青岛海信移动通信技术股份有限公司 | Mobile terminal and data encryption method thereof |
| CN113407967B (en) * | 2021-06-25 | 2023-02-07 | 上海卓悠网络科技有限公司 | A service security method and device based on application market architecture |
| US12284169B2 (en) * | 2021-07-13 | 2025-04-22 | Omnissa, Llc | Accessing corporate resources through an enrolled user device |
| CN114884993B (en) * | 2022-05-07 | 2023-12-22 | 杭州天宽科技有限公司 | Virtualized android system for enhancing data security |
| US11855997B1 (en) * | 2023-02-24 | 2023-12-26 | The Bank Of New York Mellon | System and methods for controlled access to computer resources |
| CN119341850B (en) * | 2024-12-23 | 2025-03-14 | 欢乐互娱(上海)科技股份有限公司 | Zero-trust-based multi-network partition TCP flow scheduling method and system |
Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1713199A (en) * | 2004-06-24 | 2005-12-28 | 村田机械株式会社 | Electronic mail server device and electronic mail processing method |
| CN1849774A (en) * | 2003-09-12 | 2006-10-18 | 安全电子邮件哥德堡公司 | Message security |
| CN101170401A (en) * | 2006-10-27 | 2008-04-30 | 鸿富锦精密工业(深圳)有限公司 | Mail encryption/decryption system and method |
| CN101453708A (en) * | 2007-09-04 | 2009-06-10 | 捷讯研究有限公司 | System and method for processing attachments to messages sent to a mobile device |
| CN101572678A (en) * | 2008-04-30 | 2009-11-04 | 北京明朝万达科技有限公司 | Mail attachment transparent privacy control method |
| US20120036370A1 (en) * | 2010-07-28 | 2012-02-09 | Nextlabs, Inc. | Protecting Documents Using Policies and Encryption |
Family Cites Families (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1716303A (en) * | 1996-09-04 | 2006-01-04 | 英特托拉斯技术公司 | Method for releasing using data from user station point to external station point |
| US8050653B2 (en) * | 2004-03-22 | 2011-11-01 | Research In Motion Limited | System and method for viewing message attachments |
| US7490073B1 (en) | 2004-12-21 | 2009-02-10 | Zenprise, Inc. | Systems and methods for encoding knowledge for automated management of software application deployments |
| US8027472B2 (en) * | 2005-12-30 | 2011-09-27 | Selim Aissi | Using a trusted-platform-based shared-secret derivation and WWAN infrastructure-based enrollment to establish a secure local channel |
| CN101290642B (en) * | 2007-04-16 | 2010-09-29 | 瞬联软件科技(北京)有限公司 | Electronic file transmission control method and its system based on area limit |
| EP2028805A1 (en) * | 2007-08-20 | 2009-02-25 | Research In Motion Limited | System and method for displaying a security encoding indicator associated with a message attachment |
| US8607304B2 (en) * | 2008-03-07 | 2013-12-10 | At&T Mobility Ii Llc | System and method for policy-enabled mobile service gateway |
| WO2009143187A2 (en) * | 2008-05-19 | 2009-11-26 | Citrix Systems, Inc. | Systems and methods for remoting multimedia plugin calls |
| US9378387B2 (en) * | 2010-03-24 | 2016-06-28 | Oracle International Corporation | Multi-level security cluster |
| US8359016B2 (en) * | 2010-11-19 | 2013-01-22 | Mobile Iron, Inc. | Management of mobile applications |
| US8806569B2 (en) * | 2011-02-07 | 2014-08-12 | Tufin Software Technologies Ltd. | Method and system for analyzing security ruleset by generating a logically equivalent security rule-set |
-
2013
- 2013-09-18 CN CN201380057326.1A patent/CN104798355A/en active Pending
- 2013-09-18 CN CN201810422004.7A patent/CN108600251B/en active Active
- 2013-09-18 EP EP19152128.5A patent/EP3499839B1/en active Active
- 2013-09-18 EP EP13771691.6A patent/EP2898652B1/en active Active
- 2013-09-18 WO PCT/US2013/060388 patent/WO2014047168A1/en not_active Ceased
Patent Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1849774A (en) * | 2003-09-12 | 2006-10-18 | 安全电子邮件哥德堡公司 | Message security |
| CN1713199A (en) * | 2004-06-24 | 2005-12-28 | 村田机械株式会社 | Electronic mail server device and electronic mail processing method |
| CN101170401A (en) * | 2006-10-27 | 2008-04-30 | 鸿富锦精密工业(深圳)有限公司 | Mail encryption/decryption system and method |
| CN101453708A (en) * | 2007-09-04 | 2009-06-10 | 捷讯研究有限公司 | System and method for processing attachments to messages sent to a mobile device |
| CN101572678A (en) * | 2008-04-30 | 2009-11-04 | 北京明朝万达科技有限公司 | Mail attachment transparent privacy control method |
| US20120036370A1 (en) * | 2010-07-28 | 2012-02-09 | Nextlabs, Inc. | Protecting Documents Using Policies and Encryption |
Cited By (67)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN107343324B (en) * | 2015-09-24 | 2020-12-04 | 株式会社Kt | Method and apparatus for transmitting and receiving data using WLAN radio resources |
| CN107343324A (en) * | 2015-09-24 | 2017-11-10 | 株式会社Kt | Method and apparatus for sending and receiving data using WLAN radio resources |
| CN105376309A (en) * | 2015-10-30 | 2016-03-02 | 青岛海尔智能家电科技有限公司 | Access gateway distribution method and device |
| CN105376309B (en) * | 2015-10-30 | 2021-08-13 | 青岛海尔智能家电科技有限公司 | Access gateway allocation method and device |
| CN105516088A (en) * | 2015-11-26 | 2016-04-20 | 北京那个网络科技有限公司 | Equipment information access method and device |
| CN105516088B (en) * | 2015-11-26 | 2019-05-03 | 北京那个网络科技有限公司 | The access method and device of facility information |
| CN105653943B (en) * | 2015-12-24 | 2018-08-07 | 北京奇虎科技有限公司 | The log audit method and system of Android applications |
| CN105653943A (en) * | 2015-12-24 | 2016-06-08 | 北京奇虎科技有限公司 | Log auditing method and system for android applications |
| CN107046530B (en) * | 2016-02-08 | 2021-06-18 | 汉特拉斯特公司 | Coordination management system for heterogeneous agile information technology environment |
| CN107046530A (en) * | 2016-02-08 | 2017-08-15 | 汉特拉斯特公司 | Coordination governing system for the quick information technology environment of isomery |
| CN108702360A (en) * | 2016-02-15 | 2018-10-23 | 思科技术公司 | Digital Asset Protection Strategies Using Dynamic Network Attributes |
| CN108702360B (en) * | 2016-02-15 | 2022-02-25 | 思科技术公司 | Digital asset protection policy using dynamic network attributes |
| CN108701175A (en) * | 2016-03-30 | 2018-10-23 | 安维智有限公司 | Associate User Accounts with Enterprise Workspaces |
| CN108701175B (en) * | 2016-03-30 | 2022-06-10 | 安维智有限公司 | Associating user accounts with enterprise workspaces |
| US10405182B2 (en) | 2016-06-30 | 2019-09-03 | Huawei Technologies Co., Ltd. | Systems devices and processes to support mobile device management of multiple containers in virtualization environment |
| WO2018001138A1 (en) * | 2016-06-30 | 2018-01-04 | Huawei Technologies Co., Ltd. | Systems, devices and processes to support mobile device management of multiple containers in virtualization environment |
| CN109314713B (en) * | 2016-06-30 | 2021-02-05 | 华为技术有限公司 | System, apparatus and method for mobile device management supporting multiple virtual containers |
| CN109314713A (en) * | 2016-06-30 | 2019-02-05 | 华为技术有限公司 | Systems, devices, and processes that support mobile device management of multiple containers in virtualized environments |
| CN107786486B (en) * | 2016-08-18 | 2020-03-24 | 成都鼎桥通信技术有限公司 | Method and device for activating operating system |
| CN107786486A (en) * | 2016-08-18 | 2018-03-09 | 成都鼎桥通信技术有限公司 | The Activiation method and device of operating system |
| CN106851574A (en) * | 2017-01-22 | 2017-06-13 | 山东鲁能软件技术有限公司 | A kind of Terminal Security Management system and method based on GIS |
| CN108696546A (en) * | 2017-02-15 | 2018-10-23 | 中兴通讯股份有限公司 | A kind of method and device of the user terminal access public network of Enterprise Mobile private network |
| CN106599708A (en) * | 2017-02-21 | 2017-04-26 | 柳州桂通科技股份有限公司 | Real-time access method for preventing visitors from maliciously destroying original data when exchange-accessing between networks and system thereof |
| CN110521223A (en) * | 2017-02-21 | 2019-11-29 | 蝎子保安产品公司 | Mobile device management system and method |
| CN110352428A (en) * | 2017-03-03 | 2019-10-18 | 微软技术许可有限责任公司 | By security policy manager delegation to account executive |
| CN107133150A (en) * | 2017-05-15 | 2017-09-05 | 杭州时趣信息技术有限公司 | A kind of method and device of Android anti-replays |
| CN107133150B (en) * | 2017-05-15 | 2020-12-15 | 杭州时趣信息技术有限公司 | Method and device for preventing Android from retransmitting |
| CN107181801B (en) * | 2017-05-22 | 2020-08-04 | 深圳市连用科技有限公司 | Electronic accessory storage method and terminal |
| CN107181801A (en) * | 2017-05-22 | 2017-09-19 | 深圳市连用科技有限公司 | A kind of electronic accessories storage method and terminal |
| CN107256362A (en) * | 2017-06-13 | 2017-10-17 | 深信服科技股份有限公司 | A kind of application layer file system partition method and device |
| CN107256362B (en) * | 2017-06-13 | 2020-11-27 | 深信服科技股份有限公司 | Application-level file system isolation method and device |
| CN109255211A (en) * | 2017-07-12 | 2019-01-22 | 波音公司 | Mobile security countermeasure |
| CN109255211B (en) * | 2017-07-12 | 2023-09-15 | 波音公司 | Mobile security countermeasure |
| CN109379738A (en) * | 2017-08-02 | 2019-02-22 | 威睿公司 | The Enterprise Mobile management of double SIM mobile devices |
| CN109379738B (en) * | 2017-08-02 | 2022-08-30 | 威睿公司 | Enterprise mobility management for dual SIM mobile devices |
| CN107515924A (en) * | 2017-08-24 | 2017-12-26 | 南京农纷期电子商务有限公司 | A kind of page info collection method based on react native |
| CN108282511B (en) * | 2017-09-15 | 2021-08-13 | 阿里巴巴(中国)有限公司 | Network data access method, device, system, storage medium and user terminal |
| CN108282511A (en) * | 2017-09-15 | 2018-07-13 | 广州市动景计算机科技有限公司 | Network data access method, device, system, storage medium and user terminal |
| CN111052678A (en) * | 2017-11-21 | 2020-04-21 | 威睿公司 | Adaptive Device Enrollment |
| CN111052678B (en) * | 2017-11-21 | 2023-10-24 | 威睿公司 | Adaptive device registration |
| CN108490914A (en) * | 2018-03-23 | 2018-09-04 | 武汉康慧然信息技术咨询有限公司 | Safety inspection method for central control system of new energy automobile |
| US20210014686A1 (en) * | 2018-03-28 | 2021-01-14 | Huawei Technologies Co., Ltd. | Method For Controlling Access Of Terminal To Network And Network Element |
| CN110362355A (en) * | 2018-04-02 | 2019-10-22 | 青岛海信移动通信技术股份有限公司 | A kind of application interface display methods and device |
| CN110362355B (en) * | 2018-04-02 | 2022-06-28 | 青岛海信移动通信技术股份有限公司 | Application interface display method and device |
| CN108810840B (en) * | 2018-04-18 | 2021-02-19 | 天津大学 | Node selection method based on EFIM and distance cooperation in cooperative positioning |
| CN108810840A (en) * | 2018-04-18 | 2018-11-13 | 天津大学 | Node selecting method in co-positioned based on EFIM and apart from cooperation |
| US12063256B2 (en) | 2018-07-17 | 2024-08-13 | Microsoft Technology Licensing, Llc | Queryless device configuration determination-based techniques for mobile device management |
| CN112805980A (en) * | 2018-07-17 | 2021-05-14 | 微软技术许可有限责任公司 | Techniques for query-free device configuration determination for mobile device management |
| CN112805980B (en) * | 2018-07-17 | 2024-04-12 | 微软技术许可有限责任公司 | Techniques for mobile device management based on query-less device configuration determination |
| US12068912B2 (en) | 2018-07-31 | 2024-08-20 | Microsoft Technology Licensing, Llc | Implementation of compliance settings by a mobile device for compliance with a configuration scenario |
| CN109344620B (en) * | 2018-09-07 | 2021-08-31 | 国网福建省电力有限公司 | A detection method based on hadoop security configuration |
| CN109344620A (en) * | 2018-09-07 | 2019-02-15 | 国网福建省电力有限公司 | A detection method based on hadoop security configuration |
| CN109032647A (en) * | 2018-10-17 | 2018-12-18 | 北京京航计算通讯研究所 | Method for upgrading software based on software supervision and strategy |
| CN109032647B (en) * | 2018-10-17 | 2020-05-19 | 北京京航计算通讯研究所 | Software upgrading method based on software monitoring and strategy |
| CN114641968A (en) * | 2019-07-03 | 2022-06-17 | 向心网络公司 | Method and system for efficient network protection of mobile devices |
| CN114641968B (en) * | 2019-07-03 | 2024-06-04 | 向心有限公司 | Method and system for efficient network protection of mobile devices |
| US12015590B2 (en) | 2019-07-03 | 2024-06-18 | Centripetal Networks, Llc | Methods and systems for efficient cyber protections of mobile devices |
| US12113772B2 (en) | 2019-07-03 | 2024-10-08 | Centripetal Networks, Llc | Cyber protections of remote networks via selective policy enforcement at a central network |
| CN110503478A (en) * | 2019-08-26 | 2019-11-26 | 北京深演智能科技股份有限公司 | A kind of APP method for pushing and device |
| CN111629038B (en) * | 2020-05-19 | 2023-08-08 | 北京达佳互联信息技术有限公司 | Virtual resource sharing processing method and device, server and storage medium |
| CN111629038A (en) * | 2020-05-19 | 2020-09-04 | 北京达佳互联信息技术有限公司 | Virtual resource sharing processing method and device, server and storage medium |
| CN111756718B (en) * | 2020-06-15 | 2022-09-30 | 深信服科技股份有限公司 | Terminal, access method, system, server and computer readable storage medium |
| CN111756718A (en) * | 2020-06-15 | 2020-10-09 | 深信服科技股份有限公司 | Terminal, access method, system, server and computer readable storage medium |
| CN111988314A (en) * | 2020-08-19 | 2020-11-24 | 杭州铂钰信息科技有限公司 | System architecture and method for dynamically deploying network security service |
| CN114384869A (en) * | 2020-10-22 | 2022-04-22 | 费希尔-罗斯蒙特系统公司 | Industrial process control system as a data center for an industrial process plant |
| CN114024767A (en) * | 2021-11-25 | 2022-02-08 | 郑州信大信息技术研究院有限公司 | Password-defined network security system construction method, system architecture and data forwarding method |
| US20250112906A1 (en) * | 2023-10-02 | 2025-04-03 | Okta, Inc. | Dynamic control plane for configuring capabilities across applications via a cloud platform |
Also Published As
| Publication number | Publication date |
|---|---|
| WO2014047168A1 (en) | 2014-03-27 |
| EP3499839A1 (en) | 2019-06-19 |
| EP2898652B1 (en) | 2019-03-06 |
| CN108600251A (en) | 2018-09-28 |
| EP3499839B1 (en) | 2021-03-17 |
| EP2898652A1 (en) | 2015-07-29 |
| CN108600251B (en) | 2021-09-17 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10402546B1 (en) | Secure execution of enterprise applications on mobile devices | |
| CN108600251B (en) | Mobile device management and security | |
| EP3422237B1 (en) | Policy-based application management | |
| US9521147B2 (en) | Policy based application management | |
| US9043480B2 (en) | Policy-based application management | |
| US8881229B2 (en) | Policy-based application management |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| C06 | Publication | ||
| PB01 | Publication | ||
| EXSB | Decision made by sipo to initiate substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| RJ01 | Rejection of invention patent application after publication |
Application publication date: 20150722 |
|
| RJ01 | Rejection of invention patent application after publication |