控制移动装置对安全数据的访问的制作方法

文档序号:8927027阅读:349来源:国知局
控制移动装置对安全数据的访问的制作方法
【专利说明】控制移动装置对安全数据的访问
[0001]相关申请的交叉引用
[0002]本申请要求下列专利申请的优先权:2013年9月27日提交的名称为“CONTROLLING MOBILE DEVICE ACCESS TO SECURE DATA” 的序列号为 14/039,632 的美国非临时专利申请,该专利申请要求2013年8月2日提交的名称为“CONTROLLING MOBILEDEVICE ACCESS TO SECURE DATA”的序列号为61/861,910美国临时专利申请的优先权;2012 年 10 月 16 日提交的名称为 “MANAGING ENCRYPTED DATA VAULTS FOR MANAGEDAPPLICAT1NS ON UNMANAGED MOBILE DEVICE” 的序列号为 61/714,293 的美国临时专利申请;以及 2013年 3 月 29 日提交的名称为“SYSTEMS AND METHODS FOR ENTERPRISE MOBILITYMANAGEMENT”的序列号为61/806,577的美国临时专利申请。
[0003]上述专利申请中的每个专利申请通过弓I用以其整体并入本文。
[0004]背景
[0005]本公开的各方面涉及计算机硬件和软件。具体地,本公开的一个或多个方面主要涉及用于提供企业应用商店的计算机硬件和软件。
[0006]公司和其他组织正越来越多向它们的员工和其他伙伴提供移动装置(例如智能手机、平板电脑)和其他的移动计算装置和/或以其他方式允许它们的员工和其他伙伴启用所述移动装置和其他的移动计算装置。随着这些装置继续普及和提供越来越多的功能,许多组织可能希望对如何使用这些装置、这些装置能够访问什么资源以及在这些装置上运行的应用如何可与其他资源交互进行特定的控制。
[0007]概述
[0008]本公开的各方面提供更有效、更经济、功能化和方便的方式来对可以如何使用移动装置、移动装置能够访问什么资源以及在这些装置上运行的应用可如何与其他资源交互进行控制。具体地,在下面更加详细讨论的一个或多个实施例中,可以实施能够提供这些和功能的企业应用商店。
[0009]本公开的各方面涉及提供用于一个或多个被管理应用的数据的安全容器或数据仓库。在某些实施例中,每个被管理应用可以被指定其自己的专用数据仓库,和/或可以被指定至少一个其他被管理应用可访问的共享数据仓库。在被管理应用执行时,访问数据的调用可以被拦截并被重定向到安全容器。存储在安全容器中的数据可以根据策略来加密。
[0010]其他方面涉及例如经由与被管理应用相关联的选择性数据擦除来从安全容器删除数据。例如,某些方面涉及移动装置拦截来自在该移动装置上执行的被管理应用的读或写操作;基于读或写操作访问安全容器,该安全容器是读或写操作被重定向到其中以及数据是以加密形式存在于其中的逻辑接口 ;确定执行与被管理应用相关联的选择性数据擦除;并且从安全容器删除加密数据。
[0011]另外方面涉及形成或以其他方式配置安全容器。例如,某些方面涉及移动装置经由接入网关获得策略信息,被管理应用所需要的资源通过该接入网关是可访问的,其中该策略信息定义当被管理应用在执行时要被使用的安全容器;经由接入网关获得密钥信息,其中该密钥信息包括用于加密或解密安全容器的数据的一个或多个密钥;基于策略信息配置安全容器,其中该安全容器是读或写操作被重定向到其中以及数据是以加密形式存在于其中的逻辑接口 ;拦截在被管理应用在移动装置上执行时来自该被管理应用的读或写操作;以及基于读或写操作访问安全容器。
[0012]另外方面涉及接收加密/解密储存在安全容器中的数据所需要的密钥信息。例如,某些方面涉及移动装置向接入网关传送消息,被管理应用所需要的资源通过该接入网关是可访问的,其中该消息与用于访问所述资源的授权过程有关;经由接入网关接收密钥信息,其中该密钥信息包括用于加密或解密安全容器的数据的一个或多个密钥,其中该安全容器是读或写操作被重定向到其中以及数据是以加密形式存在于其中的逻辑接口 ;拦截在被管理应用在移动装置上执行时来自该被管理应用的读或写操作;以及基于读或写操作以及一个或多个密钥访问安全容器。
[0013]另外的方面涉及发布用于下载到移动装置上的被管理应用、策略信息和密钥信息。例如,某些方面涉及一个或多个计算装置对于被管理应用确定策略信息,该被管理应用是可被访问的,用于在一个或多个移动装置上安装,所述策略信息定义当被管理应用在执行时要被使用的一个或多个安全容器;确定密钥信息,该密钥信息包括用于加密或解密一个或多个安全容器的数据的一个或多个密钥;发布被管理应用、策略信息和密钥信息,使得所有是可访问的,以安装在一个或多个移动装置上;以及向移动装置传送被管理应用、策略信息和密钥信息。
[0014]这些功能和许多其他功能一起被在下面更加详细讨论。
[0015]附图简述
[0016]本公开借助示例来说明,并且不限于随附绘图中的示例,附图中的相同附图标记表示类似的元件,并且在附图中:
[0017]图1示出可以根据本公开的一个或多个方面来使用的说明性计算机系统架构。
[0018]图2示出可以根据本公开的各个方面来使用的说明性远程访问系统架构。
[0019]图3示出可以根据本公开的一个或多个方面来使用的说明性虚拟化(超级管理器)系统架构。
[0020]图4示出可以根据本公开的各个方面来使用的说明性基于云的系统架构。
[0021]图5示出可以根据本公开的一个或多个方面来使用的说明性企业移动管理系统。
[0022]图6示出可以根据本公开的各个方面来使用的另一说明性企业移动管理系统。
[0023]图7示出根据本公开的一个或多个方面其中可以被访问专用数据仓库和共享数据仓库的示例图。
[0024]图8示出根据本文公开的各个方面结合被管理应用用于将数据存储到数据仓库或容器内的示例方法。
[0025]图9示出根据本公开的一个或多个方面适合执行从移动装置的一个或多个安全容器选择性擦除数据的示例方法。
[0026]图10示出根据本公开的各个方面其中被管理应用被配置的示例过程。
[0027]图11示出根据本文所述的一个或多个方面用于提供用于安全容器的加密密钥和解密密钥的示例方法。
[0028]图12示出结合本文所述的各个方面用于发布被管理应用的示例方法。
[0029]详细描述
[0030]在各个实施例的下列描述中,引用了在上面确认并形成各个实施例的一部分的附图,并且其中借助于说明各个实施例来示出,在各个实施例中本文描述的各方面可以被实践。应当理解,可以使用其他实施例并可以做出结构和功能的更改,而不脱离本文所述的范围。各个方面能够以其他实施例和以各种不同方式来实践或实施。
[0031]作为在下面更加详细描述的主题的一般介绍,本公开的各个方面涉及提供用于一个或多个被管理应用的数据的安全容器或数据仓库。在某些实施例中,每个被管理应用可以被指定其自己的专用数据仓库,和/或可以被指定至少一个其他被管理应用可访问的共享数据仓库。在被管理应用执行时,访问数据的调用可以被拦截并被重定向到安全容器。存储在安全容器中的数据可以根据可以被企业设定的策略来加密。因此,从安全容器检索的数据在转发至应用之前可能需要被解密。其他方面涉及,例如经由与被管理应用相关联的选择性数据擦除(例如,当被管理应用被卸载或当移动装置违背企业策略进行操作时)从安全容器删除数据。另外的方面涉及配置和形成安全容器,检索加密/解密存储在安全容器中的数据所需要的密钥信息,并且发布用于下载到移动装置(例如,在应用商店中)的被管理应用、策略信息和密钥信息。
[0032]应当理解,本文所用的措辞和术语用于描述目的,不应被看做是限制性的。相反,本文所用的措辞和术语应当给予其最广义的解释和含义。在使用“包括(including)”和“包含(comprising) ”及其变体时,意指包含在其后面列出的各项及其等价物以及另外的项及其等价物。在使用术语“安装(mounted) ”、“连接(connected) ”、“親接(coupled) ”、“定位(posit1ned) ”、“嗤合(engaged) ”和类似术语时,意指包括直接和间接安装、连接、親接、定位和啮合两者。
[0033]计算架构
[0034]计算机软件、硬件和网络可以被用在各种不同的系统环境中,所述系统环境除了其他的环境以外,还包括独立的、联网的、远程访问(又叫做,远程桌面)、虚拟化的和/或基于云的环境。图1示出在独立和/或联网环境中可以用于实施本文所述的一个或多个说明性方面的系统架构和数据处理装置的一个示例。各个网络节点103、105、107和109可以经由广域网(WAN)101(诸如互联网)来互连。其他网络也可以或可替代使用,包括专用的内联网、公司网络、LAN、城域网(MN)、无线网络、个人网络(PAN)等。网络101用于说明目的,并且可以用更少或添加的计算机网络来替代。局域网(LAN)可以具有一个或多个任何已知的LAN拓扑结构,并且可以使用各种不同协议中的一个或多个(例如以太网协议)。装置103、105、107、109和其他装置(未示出)可以经由双绞线、同轴电缆、光纤、无线电波或其它通信介质连接到网络中的一个或多个网络。
[0035]如在本文使用并在附图中示出的术语“网络”不仅指的是其中远程存储装置经由一个或多个通信路径耦接在一起的系统,而且指的是不时耦接于具有存储能力的此类系统的独立装置。因此,术语“网络”不仅包括“物理网络”,而且包括“内容网络”,该内容网络由归因于驻留在所有物理网络上的单个实体的数据组成。
[0036]组件可以包括数据服务器103、网页服务器105和客户端计算机107、109。数据服务器103提供数据库的全面访问、控制和管理,以及用于执行本文所述的一个或多个说明性方面的控制软件。数据服务器103可以被连接到网页服务器105,用户根据需要通过该网页服务器与数据服务器交互并获得数据。另选地,数据服务器103可以自身充当网页服务器并被直接连接到互联网。数据服务器103可以通过网络101 (例如,互联网)、经由直接连接或间接连接或经由某些其他网络被连接到网页服务器105。用户可以经由被网页服务器105托管的一个或多个向外暴露的网站,使用远程计算机107、109 (例如使用连接到数据服务器103的网页浏览器)与数据服务器103交互。客户端计算机107、109可以与数据服务器103合作使用以访问存储在其中的数据,或可以被用于其他目的。例如,如在本领域中是公知的,用户可以从客户端装置107使用互联网浏览器访问网页服务器105,或通过执行在计算机网络(例如互联网)上与网页服务器105和/或数据服务器103通信的软件应用来访问网页服务器105。
[0037]服务器和应用可以被组合在相同的物理机器上,并且保留单独的虚拟化或逻辑地址,或可以驻留在单独的物理机器上。图1仅示出可以被使用的网络架构的一个示例,并且本领域中的技术人员应当理解,如在本文进一步所描述的,所使用的特定网络架构和数据处理装置可以改变,并且对于它们提供的功能来说是次要的。例如,由网页服务器105和数据服务器103提供的服务可以被组合在单个服务器上。
[0038]每个组件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。数据服务器软件的功能可以指的是基于被编码到控制逻辑中的规则自动执行、由提供输入到系统中的用户手动执行的操作或决定,和/或基于用户输入的自动处理的组合(例如,查询,数据更新等)。
[0039]存储器121还可以存储用于执行本文所述的一个或多个方面的数据,该数据包括第一数据库129和第二数据库131。在某些实施例中,第一数据库可以包括第二数据库(例如,作为单独的表格、报告等)。就是说,信息可以被存储在单个数据库中,或根据系统设计被分隔为不同的逻辑、虚拟化或物理数据库。装置105、107、109可以具有如关于装置103所述的相似或不同的架构。本领域中的技术人员应当理解,如本文所述的数据处理装置103 (或装置105、107、109)的功能可以跨多个数据处理装置分布,例如以跨多个计算机分布处理负荷,以基于地理位置用户访问级别、服务质量(QoS)等分隔事务。
[0040]—个或多个方面可以在由如本文所述的一个或多个计算机或其他装置执行的计算机可用或可读的数据和/或计算机可执行的指令中(例如在一个或多个程序模块中)实施。一般来说,程序模块包括当由计算机或其他装置中的处理器实施时其执行特定任务或实施特定抽象数据类型的例程、程序、对象、组件、数据结构等。模块可以以随后被编译用于执行的源代码编程语言来写,或可以以脚本语言(诸如(但不限于)HTML或XML)来写。计算机可执行指令可以被存储在计算机可读介质(诸如非易失性存储装置)上。任何合适的计算机可读存储介质可以被利用,所述介质包括硬盘、CD-ROM、光学存储装置、磁存储装置和/或它们的任何组合。此外,表示如本文所述的数据或事件的各种传输(非存储)介质可以以电磁波的形式在源与目的地之间传送,所述电磁波通过信号传导介质(诸如金属线、光纤和/或无线传输介质(例如,空气和/或空间))行进。本文所述的各个方面可以被实施为方法、数据处理系统或计算机程序产品。因此,各个功能可以全部或部分体现于软件、固件和/或硬件或硬件等价物(诸如集成电路、现场可编程门阵列(FPGA)等)中。特定数据结构可以被用于更有效实施本文所述的一个或多个方面,并且预期此类数据结构在本文所述的计算机可执行指令和计算机可用数据的范围内。
[0041]进一步参考图2,本文所述的一个或多个方面可以在远程访问环境中实施。图2示出根据本文所述的一个或多个说明性方面的示例系统架构,其包括可以被用在说明性计算环境200中的通用计算装置201。通用计算装置201可以被用作单一服务器或多服务器桌面虚拟化系统(例如,远程访问或云系统)中的服务器206a,所述系统经配置提供用于客户端访问装置的虚拟机。通用计算装置201可以具有用于控制服务器及其关联组件的整体运行的处理器203,所述关联组件包括随机存取存储器(RAM) 205、只读存储器(ROM) 207、输入/输出(I/o)模块209以及存储器215。
[0042]I/O模块209可以包括鼠标、键盘、触摸屏、扫描器、光学读取器和/或通用计算装置201的用户可以通过其可以提供输入的触针(或其他输入装置),并且还可以包括用于提供音频输出的一个或多个扬声器以及用于提供文本、音频、视频和/或图形输出的视频显示装置。软件可以被存储在存储器215和/或其他储存器内,以向处理器203提供指令,该指令用于将通用计算装置201配置为专用计算装置以便执行如本文所述的各种功能。例如,存储器215可以存储由计算装置201使用的软件(诸如操作系统217、应用程序219和关联的数据库221)。
[0043]计算装置201可以在联网的环境中运行,该联网环境支持至一个或多个远程计算机(诸如终端240 (也被称为客户端装置))的连接。终端240可以是包括上面关于通用计算装置103或201所述的许多或全部元件的个人计算机、移动装置、便携式计算机、平板电脑或服务器。在图2中示出的网络连接包括局域网(LAN) 225和广域网(WAN) 229,但是也可以包括其他网络。当用在LAN联网环境中时,计算装置201可以通过网络接口或适配器223被连接到LAN 225。当用在WAN联网环境中时,计算装置201可以包括调制解调器227或用于在WAN 229 (例如计算机网络230 (例如,互联网))上建立通信的其他广域网接口。应当理解,所示出的网络连接是说明性的,并且可以使用在计算机之间建立通信链接的其他装置。计算装置201和/或终端240也可以是包括各种其他组件(诸如电池、扬声器和天线(未示出))的移动终端(例如,移动电话,智能电话,PDA,笔记本电脑等)。
[0044]本文描述的各方面也可以用许多其他通用或专用计算系统环境或配置来运行。可能适合用于本文所述的各方面的其他计算系统、环境和/或配置的示例包括但不限于个人计算机、服务器计算机、手持或便携式装置、多处理器系统、基于微处理器的系统、机顶盒、可编程消费电子装置、网络PC、小型计算机、大型计算机、包括上述系统或装置中的任一个的分布式计算环境等等。
[0045]如图2中所示,一个或多个客户端装置240可以与一个或多个服务器206a-206n(本文通常称为“服务器206”)通信。在一个实施例中,计算环境200可以包括安装在服务器206与客户端机器240之间的网络设备。网络设备可以管理客户端/服务器连接,并且在某些情况下可以负载平衡多个后端服务器206之间的客户端连接。
[0046]在某些实施例中,客户端机器240可以被称为单个客户端机器240或单组客户端机器240,而服务器206可以被称为单个服务器206或单组服务器206。在一个实施例中,单个客户端机器240与一个以上的服务器206通信,而在另一实施例中,单个服务器206与一个以上的客户端机器240通信。在又一实施例中,单个客户端机器240与单个服务器206通信。
[0047]在某些实施例中,客户端机器240可以被引用为下列非穷举术语中的任意一个:客户端机器;客户端;客户端计算机;客户端装置;客户端计算装置;本地机器;远程机器;客户端节点;端点;或端部节点。在某些实施例中,服务器206可以被引用为下列非穷举术语中的任意一个:服务器,本机机器;远程机器;服务器群或主机计算装置。
[0048]在一个实施例中,客户端装置240可以是虚拟机。该虚拟机可以是任何虚拟机,而在某些实施例中,该虚拟机可以是由类型I或类型2超级管理器(例如通过Citrix系统、IBM、VMware开发的超级管理器或任何其他超级管理器)管理的任何虚拟机。在某些方面,虚拟机可以由超级管理器来管理,而在有些方面,虚拟机可以通过在服务器206上执行的超级管理器或在客户端240上执行的超级管理器来管理。
[0049]某些实施例包括显示由在服务器206上远程执行的应用或其他定位在远端的机器所生成的应用输出的客户端装置240。在这些实施例中,客户端装置240可以执行虚拟机接收器程序或应用,以在应用窗口、浏览器或其他输出窗口中显示输出。在一个示例中,应用是桌面,而在其他示例中,应用是生成或呈现桌面的应用。桌面可以包括提供用于操作系统的实例的用户界面的图形壳,本地和/或远程应用可以被集成到该图形壳中。如本文所使用的应用是在操作系统的实例(以及,可选地也包括桌面)已被加载后执行的程序。
[0050]在某些实施例中,服务器206使用远程显示协议或其他程序向瘦客户端或在客户端上执行的远程显示应用发送数据,以呈现由在服务器206上执行的应用所生成的显示输出。瘦客户端或远程显示协议可以是下列非穷举协议列表中的任意一个:通过佛罗里达州劳德代尔堡(Ft.Lauderdale, Florida)的Citrix系统公司开发的独立计算架构(ICA)协议;或通过华盛顿雷德蒙德(Redmond, Washington)的微软公司制造的远程桌面协议(RDP) ο
[0051]远程计算环境可以包括一个以上的服务器206a-206n,使得服务器206a-206n例如在云计算环
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1