用于移动应用管理的对移动应用的身份的验证的制作方法

文档序号:9621374阅读:290来源:国知局
用于移动应用管理的对移动应用的身份的验证的制作方法
【专利说明】用于移动应用管理的对移动应用的身份的验证
[0001]交叉引用相关申请
[0002]本申请要求在2013年5月20日提交并具有相同标题的美国专利申请第13/898,167的优先权,其要求2013年3月29日提交的标题为“Systems and Methods forEnterprise Mobility Management”的美国临时专利申请第61/806,577的优先权。
技术领域
[0003]本文所述的各方面总体上涉及到在移动计算设备处的移动应用的管理。更具体地,各方面提供用于校验在未受管的设备上运行的移动应用和控制该移动应用的执行的方式。
[0004]背景
[0005]移动及设备的使用持续增长。具体地,商业和其他企业变得依赖移动计算设备以允许个体远程访问各种计算资源。这种资源可包含例如电子邮箱服务、文件服务、数据和由企业的计算系统或移动设备自身提供的其他电子资源。
[0006]不论个体相对于计算资源位于本地或远距离处,企业可设法保护并控制对这些资源的访问。相应地,企业可实现各种技术机制(例如,网关和防火墙)和访问控制机制(例如,用户验证和授权),以便确保个体只可访问用户被授权并有资格访问的资源。这种机制还可防止未被授权的个体访问计算资源的任何一个。
[0007]关于移动设备,企业可采用各种方式来控制对于来自那些移动设备的计算资源的远程访问。这种尝试可被称为移动设备管理。在一种方式中,企业可为个人提供公司所有的和公司控制的移动设备。这种设备可被配置,从而使得企业能控制该移动设备的配置、功能、操作和数据。就这一点而言,公司所控制的移动设备可被称为受管设备。企业可例如经由客户端-服务器结构远程控制受管的设备。企业服务器可远程地向位于受管设备处的客户端应用发出命令。这种命令可包含,例如,安装新应用或功能、更新已有的应用或功能、更新配置设置、提供数据等等。如果受管设备丢失或被偷,企业可发送命令以锁定或擦除设备,以便防止未被授权的个体获取对设备的访问权或经由设备获取对资源的访问权。
[0008]然而,个体可能发现保留公司所有的移动设备和个人移动设备是不方便的。相反地,个体可能更愿意从他们的个人移动设备访问资源。这个实践可被称为BYOD(带来您自己的设备)。因为这些个人设备可能不是公司控制的,这种个人设备可被称为未受管设备。为了满足这个倾向,允许未受管设备访问这些资源的方法正在发展中。
[0009]例如,提供被配置成操作在未受管的设备处的公司控制的移动应用、受管的移动应用是正在发展的一种方式。然而,存在挑战。为了使得在未受管的设备上运行的受管移动应用成为可行的方式,可能需要防止经由受管的移动应用对资源未授权的访问或使用的机制。具体地,存在验证对受管移动应用的身份以确定受管移动应用已经被修改以避开保护资源的安全机制的需求。此外,存在控制对未受管移动设备处的受管移动应用的操作的需求。
[0010]概述
[0011]下文呈现本文所述各种方面的简单概要。该概述并不是广义的综述,亦非旨在确定权利要求的关键或重要元素或描绘权利要求的范围。以下概述仅仅呈现简化形式中的一些概念,作为对以下提供的更详细描述的介绍前言。
[0012]为了克服以上描述的现有技术中的限制,以及克服将在阅读和理解本说明书时明显的其它限制,本文描述的方面针对使用在移动计算设备处的受管移动应用对位于企业计算系统处的远程计算资源的访问进行控制。此外,本公开的各方面针对控制在移动计算设备本身处的本地计算资源的访问。访问管理器可执行验证过程,其确定请求访问计算资源的移动应用是否已经准确地识别了其自身,以及随后在安装在移动计算设备之后是否未被篡改。以这种方式,访问管理器可保证请求访问计算资源的移动应用可被信任并且没有尝试避开用于保护那些资源的安全性机制。从而,与企业关联的个人可有利地使用他们的个人移动设备来利用远程和本地计算资源。
[0013]本文所述的第一方面提供管理对计算资源的访问的方法。访问管理器可运行在移动设备处以验证在该移动设备处安装的移动应用。如果访问管理器不成功地验证移动应用,访问管理器可阻止移动应用访问计算资源。如果访问管理器确实成功地验证了移动应用,那么访问管理器可将移动应用识别为信任的移动应用。访问管理器可因此允许信任的移动应用访问计算资源。
[0014]本文所述的第二方面提供移动计算设备。移动计算设备可包含被配置成访问计算资源的移动应用、与移动应用有关的所存储的识别信息和访问管理器。访问管理器可被配置成验证移动应用并防止或允许对如上所述的计算资源的访问。
[0015]本文所述的第三方面提供被配置成在移动设备处操作的访问管理器。访问管理器还可被配置验证移动设备处的移动应用并防止或允许经由如上所述的移动应用对计算资源的访问。访问管理器还可被配置成基于在移动应用处存储的应用策略来控制移动应用的操作。
[0016]本文所述的一些方面提供:所存储的识别信息可以是与移动应用有关的且与移动应用一起创建的原始数字证书。访问管理器可通过将为移动应用创建的原始数字证书与从在移动计算设备处的移动操作系统接收的数字证书进行比较来验证移动应用。相对于移动计算设备,计算资源可位于本地或远处。计算资源的示例包含在移动计算设备或远程计算系统处运行的软件应用、由移动计算设备或远程计算系统提供的服务、在移动计算设备或远程计算系统处存储的数据、在移动计算设备或远程计算系统处的硬件及其组合。
[0017]所存储的识别信息还可以是创建时嵌入到移动应用的标识令牌或从移动应用派生的标识令牌。基于嵌入的和派生的标识令牌的布置来构造应用签名。访问管理器验证期间还可向移动应用提供随机数(nonce),并使用该随机数,以使用应用签名和随机数来计算期望的散列值。访问管理器可产生诸如期望的散列值的期望的响应,并将期望的响应与跟随来自访问管理器的挑战的从移动应用接收的响应进行比较。
[0018]结合下文更详细地讨论的公开的内容的益处,将理解这些和其他方面。
[0019]附图简述
[0020]可通过参照下面附图考虑的描述获得本文描述的方面和其优势的更完整的理解,其中相似的参考数字表示相似的特征,且其中:
[0021]图1示出的是可根据本文所描述的一个或多个说明性方面使用的说明性计算机系统架构。
[0022]图2示出的是可根据本文描述的一个或多个说明性方面来使用的说明性远程访问系统架构。
[0023]图3根据本文所述一个或多个示例性方面描绘可使用的示例性虚拟化(超级管理器)系统架构。
[0024]图4示出的是可根据本文所描述的一个或多个说明性方面使用的说明性的基于云的系统架构。
[0025]图5示出的是说明性企业移动性管理系统。
[0026]图6示出的是另一个说明性企业移动性管理系统。
[0027]图7示出的是说明性移动设备管理系统。
[0028]图8示出的是用于受管移动应用的说明性应用签名和挑战响应的框图。
[0029]图9是用于管理未受管移动设备处的移动应用的示例方法步骤的流程图。
[0030]图10是用于在未受管移动设备处为受管操作准备受管移动应用的示例方法步骤的流程图。
[0031]图11是用于初始化未受管移动设备处的受管移动应用的示例方法步骤的流程图。
[0032]图12是在具有第一类型的移动操作系统的未受管移动设备处用于验证受管移动应用的示例方法步骤的流程图。
[0033]图13是在具有第二类型的移动操作系统的未受管移动设备处用于验证受管移动应用的示例方法步骤的流程图。
[0034]图14是用于在受管移动应用的操作期间强制执行应用策略的示例方法步骤的流程图。
[0035]详细描述
[0036]在各种实施方式的以下描述中,对以上识别的附图进行参考,且其形成本文的一部分,且其中以示例说明的方法展示各种实施方式,其中可实践本文描述的方面。应该理解的是,可利用其它实施方式,且可进行对结构和功能的修改而不脱离本文中所描述的范围。各个方面能够用于其它实施方式且能够以各种不同方式实践或执行。
[0037]作为对下面更详细描述的主题的概述,本文所描述的方面针对控制对位于远程的企业计算系统处或移动计算设备自身处的计算资源的访问。访问管理器可执行验证过程,其确定请求访问计算资源的移动应用是否已经准确地识别了其自身,以及随后在安装在移动计算设备之后是否未被更改。以这种方式,访问管理器可保证请求访问计算资源的移动应用可被信任并且没有尝试避开用于保护那些资源的安全性机制。从而,与企业关联的个人可有利地在他们的个人移动设备处利用计算资源。相对于移动计算设备,计算资源可位于本地或远处。计算资源的示例包含在移动计算设备或远程计算系统处操作的软件应用、由移动计算设备或远程计算系统提供的服务、在移动计算设备或远程计算系统处存储的数据、在移动计算设备或远程计算系统处的硬件及其组合。本公开中,远程位于企业的计算系统处的计算资源被称为企业资源。
[0038]应当理解的是,本文所使用的短语和术语是出于描述的目的,并且不应被视为限制性的。而是,本文使用的短语和术语应被给予其最广泛的解释和含义。“包含”和“包括”及其变形的使用意欲包括其后列出的项及其等效形式以及额外的项及其等效形式。术语“安装”、“连接”、“耦合”、“定位”、“接合”和类似的术语意欲包括直接和间接安装、连接、耦合、定位和接合。
[0039]计算机架构
[0040]计算机软件、硬件和网络可用于多种不同的系统环境中,除了别的之外,包括单机、连网、远程访问(又叫做远程桌面)、虚拟化和/或基于云的环境。图1示出系统结构和数据处理设备的一个示例,其可用于在单机和/或联网环境中实施本公开的一个或多个说明性方面。各个网络节点103、105、107和109可经由诸如互联网的广域网(WAN) 101进行互连。也可以或可选地使用其它网络,包括私有内联网、企业网、LAN、城域网(MAN)、无线网络、个人网络(PAN)等等。网络101用于说明的目的并且可以用更少或附加的计算机网络来代替。局域网(LAN)可具有任何已知的LAN拓扑的一个或多个,并可使用各种不同的协议的一个或多个,诸如以太网。设备103、105、107、109和其他设备(未示出)可以经由双绞线、同轴电缆、光纤、无线电波或其它通信介质连接到网络中的一个或多个网络。
[0041]如本文使用的和在附图中所描绘的术语“网络”指的不仅是在其中经由一个或多个通信路径耦合在一起的远程存储设备的系统,而且也指可耦合的单机设备,偶尔指,具有存储能力的这种系统。因此,术语“网络”不但包括“物理网络”,而且包括“内容网络”,其含有归属于单一实体的、驻留在所有物理网络的数据。
[0042]组件可包括数据服务器103、web服务器105和客户端计算机107、109。数据服务器103提供对数据库和控制软件的总体访问、控制和管理,以用于执行本文所描述的公开的一个或多个说明性方面。数据服务器103可连接到web服务器105,其中用户通过该web服务器105根据请求与数据交互并获得数据。可选地,数据服务器103本身可充当web服务器,并可直接连接到互联网。经由直接或间接的连接,或经由某一其它网络,数据服务器103可通过网络101 (例如,互联网)连接到web服务器105。用户可使用远程计算机107、109与数据服务器103交互,例如,使用web浏览器经由web服务器105托管一个或多个外部暴露的网站连接到数据服务器103。客户端计算机107、109可以与数据服务器103合作使用以访问存储在其中的数据,或可以被用于其他目的。例如,从客户端设备107,用户可使用互联网浏览器访问web服务器105,如本领域已知的,或通过执行通过计算机网络(例如互联网)与web服务器105和/或数据服务器103进行通信的软件应用。
[0043]服务器和应用可组合在相同的物理机上,并保留分离的虚拟或逻辑地址,或可驻留在分离的物理机上。图1仅示出可以被使用的网络结构的一个示例,并且本领域中的技术人员应当理解,如在本文进一步所描述的,所使用的特定网络结构和数据处理设备可以改变,并且对于它们提供的功能来说是次要的。例如,通过web服务器105和数据服务器103提供的服务可被组合在单一服务器上。
[0044]每个组件103、105、107、109可为任何类型的已知计算机、服务器或数据处理设备。数据服务器103例如可以包括控制数据服务器103的整体运行的处理器111。数据服务器103可进一步包括RAM 113,ROM 115、网络接口 117、输入/输出接口 119(例如,键盘、鼠标、显示器、打印机等等),以及存储器121。I/O 119可包括各种用于读、写、显示、和/或打印数据或文件的接口单元和驱动器。存储器121还可存储用于控制数据处理设备103的总体操作的操作系统软件123、用于指示数据服务器103执行本文描述的本公开的方面的控制逻辑125、以及提供辅助、支持、和/或其它可能或可能不与本公开的方面结合使用的功能的其它应用软件127。本文中,控制逻辑还可被称为数据服务器软件125。数据服务器软件的功能可涉及操作或决策,这些操作或决策基于编码到控制逻辑的规则自动地进行、由用户提供输入到系统手动进行、和/或基于用户输入的自动处理的组合(例如,查询、数据更新等)。
[0045]存储器121还可存储在执行本公开的一个或多个方面中使用的数据,包括第一数据库129和第二数据库131。在一些实施方式中,第一数据库可包括第二数据库(例如,作为分离的表、报告等)。即,该信息可存储在单个数据库中,或分离成不同的逻辑、虚拟或物理数据库,其取决于系统设计。设备105、107、109可具有如关于设备103所描述的类似或不同的架构。本领域技术人员应理解,如本文所述的数据处理设备103 (或设备105、107、109)的功能可遍布多个数据处理设备,例如,以将处理负载分配到多个计算机、以基于地理位置、用户访问级别、服务质量(QoS)等分开事务。
[0046]—个或多个方面可以在通过本文所描述的一个或多个计算机或其他设备执行的、诸如一个或多个程序模块中的计算机可用或可读数据和/或计算机可执行指令来体现。一般而言,程序模块包括例程、程序、对象、组件、数据结构等,这些当在计算机或其它设备中通过处理器执行时,执行特定任务或执行特定抽象数据类型。该模块可用随后编译用于执行的源代码编程语言来编写,或可用脚本语言来编写,诸如(但不限于)HTML或XML。该计算机可执行指令可存储在计算机可读介质中,诸如非易失性存储设备。可利用任何适当的计算机可读存储介质,包括硬盘、CD-ROM、光学存储设备、磁性存储设备和/或其任何组合。此外,代表如本文所述的数据或事件的各种传输(非存储)介质,可在源和目的之间穿过信号传导介质(诸如金属线、光纤)和/或无线传输介质(例如,空气和/或空间)以电磁波的形式传输。本文所描述的各个方面可被体现为方法、数据处理系统或计算机程序产品。因此,各种功能可整体或部分地体现在软件、固件和/或硬件或硬件等同物,诸如集成电路、现场可编程门阵列(FPGA)等等。特定数据结构可以被用于更有效实施本公开的一个或多个方面,并且预期此类数据结构在本文所述的计算机可执行指令和计算机可用数据的范围内。
[0047]进一步参考图2,可在远程访问环境中实现本文所述的一个或多个方面。图2描绘了示例性的系统架构,包括在说明性计算环境200中的通用计算设备201,其可根据本文所述的一个或多个说明性方面来使用。通用计算设备201可以被用作单服务器或多服务器桌面虚拟化系统(例如,远程访问或云系统)中的服务器206a,所述系统经配置提供用于客户端访问设备的虚拟机。通用计算设备201可具有用于控制服务器及其相关组件(包括随机存取存储器(RAM) 205、只读存储器(ROM) 207、输入/输出(I/O)模块209和存储器215)的整体操作的处理器203。
[0048]I/O模块209可包括鼠标、键盘、触摸屏、扫描仪、光学阅读器和/或手写笔(或其它输入设备)(通用计算设备201的用户可通过这些输入设备提供输入),并且也可包括用于提供音频输出的扬声器和用于提供文本、视听和/或图形输出的视频显示设备中的一个或多个。软件可存储在存储器215和/或其它存储中,以提供指令给处理器203用于配置通用计算设备201为专用计算设备,以便执行如本文所述的各种功能。例如,存储器215可以存储由计算设备201使用的软件(诸如操作系统217、应用219和关联的数据库221)。
[0049]计算设备201可在支持连接到一个或多个远程计算机(诸如终端240 (也称为客户端设备))的网络化环境中运行。终端240可以是个人计算机、移动设备、笔记本计算机、平板计算机、或
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1