CN108028845B - 使用导出凭证注册企业移动装置管理服务的系统和方法 - Google Patents

使用导出凭证注册企业移动装置管理服务的系统和方法 Download PDF

Info

Publication number
CN108028845B
CN108028845B CN201680055656.0A CN201680055656A CN108028845B CN 108028845 B CN108028845 B CN 108028845B CN 201680055656 A CN201680055656 A CN 201680055656A CN 108028845 B CN108028845 B CN 108028845B
Authority
CN
China
Prior art keywords
computing device
mobile computing
application
server
enterprise
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.)
Active
Application number
CN201680055656.0A
Other languages
English (en)
Other versions
CN108028845A (zh
Inventor
肖纳克·米斯特里
尤努斯·阿夫塔布
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Citrix Systems Inc
Original Assignee
Citrix Systems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Citrix Systems Inc filed Critical Citrix Systems Inc
Publication of CN108028845A publication Critical patent/CN108028845A/zh
Application granted granted Critical
Publication of CN108028845B publication Critical patent/CN108028845B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • H04W12/068Authentication using credential vaults, e.g. password manager applications or one time password [OTP] applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • H04W12/069Authentication using certificates or pre-shared keys
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/50Service provisioning or reconfiguring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/60Subscription-based services using application servers or record carriers, e.g. SIM application toolkits

Abstract

本文中描述了使用导出凭证将移动计算装置注册到企业移动装置管理系统的方法、系统和计算机可读介质。在各个实施例中,响应于注册到企业移动装置管理服务器的命令,移动计算装置可以运行注册应用程序;将注册请求消息发送至企业移动装置管理服务器;切换到移动计算装置上的证书管理系统应用程序;从证书管理系统服务器请求一个或多个导出凭证;在移动计算装置上的共享库中存储所述一个或多个导出凭证;切换到注册应用程序;检索存储在共享库中的一个或多个导出凭证中的一个导出凭证;以及将所述导出凭证提供至企业移动装置管理服务器,以将移动计算装置注册到至少一个移动装置管理服务。

Description

使用导出凭证注册企业移动装置管理服务的系统和方法
相关申请的交叉引用
本申请要求于2015年9月25日申请的名称为“USING DERIVED CREDENTIALSFORENROLLMENT WITH ENTERPRISE MOBILE DEVICE MANAGEMENT SERVICES”的美国非临时申请序号14/865,376的优先权。此在先申请通过引用全部并入本文中。
技术领域
本文中描述的各个方面一般涉及计算机、网络、硬件以及在其中合适位置的软件、加密技术和安全措施。更具体地,本发明的一个或多个方面涉及企业移动装置管理服务,并且具体地涉及使用导出凭证注册企业移动装置管理服务。
背景技术
企业(enterprise)(例如公司、合伙企业、政府、学术机构、其它组织等)一直面临风险不断增大的针对其计算机网络和资产发起的恶意攻击。一些企业通过在其组织内实施强密码策略减轻了未授权访问其企业资源的风险。密码策略通常迫使企业用户创建并保存大量密码以访问企业资源,并且要定期修改这些密码。然而,这些密码策略并非没有问题。大多数企业用户创建的密码便于其自己记忆,但对于暴力破解、字典或社交工程攻击却是脆弱的。此外,用户往往忘记或错放这些密码,在试图访问企业资源时造成各种问题。
为了解决关于密码策略问题当中的一些问题,一些企业加强了其网络和计算机安全程序以包括个人身份验证(PIV)卡或通用访问卡(CAC)的布署和维护。使用这些卡的企业至少有两个优点。第一,这些卡设计成提供两因素认证:卡的物理拥有以及仅有卡的主人知道的个人身份号(PIN)。第二,这些卡允许企业为企业用户生成并分配导出凭证。“导出凭证”这个术语可以指可以从PIV或CAC中的这些凭证导出、并且可以存储在计算装置而非卡上的加密凭证。通过使用这些卡,企业能够控制提供对资源进行访问的导出凭证以及导出凭证的生命周期和/或寿命,而企业用户则不能。企业可以创建、分配、修改、否决或撤销企业认为保护其企业资源必需的导出凭证。换种方式讲,企业用户可能不需要知道访问企业资源所需的密码;实际上,企业用户可能只需要将其PIV或CAC卡插入到读卡器中并且输入其PIN。
随着新一代计算装置特别是移动计算装置的出现,PIV和CAC卡的使用已经证明是有挑战的。PIV和CAC卡适合可以容易地与读卡器集成的传统计算装置(例如桌面和膝上型计算机)。移动装置缺少膝上和桌面计算机具有的集成智能读卡器,需要将单独的读卡器附连到装置,以从装置提供认证服务。通常,企业PIV或CAC卡的用户必须在其需要新的导出凭证的每个场合认证和出示其卡片。因此,用移动计算装置上的PIV或CAC卡生成导出凭证的用户体验导致否定了移动计算装置提供的大多数便携和移动的优点。
目前的BYOD(bring your own device)-带上你自己的装置的这种趋势进一步提高了这种情况的范围和复杂性。BYOD环境允许企业用户除了企业提供的计算机资源之外,提供其自己的装置用于工作目的,例如移动电话、智能电话、平板电脑、膝上型计算机、个人计算机或其它电子装置。然而,BYOD情形对企业造成内在的安全风险,原因是企业通常缺少对每个雇员提供的装置的统一和完全的控制,原因还有许多企业用户可能抵制将读卡器集成到其个人移动计算装置中。在BYOD世界中,企业移动管理(EMM)解决方案出现,成为一种帮助管理和控制从个人装置远程访问企业资源的流行方式。EMM解决方案一直采用通过所称的移动装置管理(MDM)服务和移动应用程序管理(MAM)服务管理移动计算装置的方法。移动装置管理策略使用访问控制和监测技术控制移动计算装置。移动应用程序管理策略向移动计算装置发布企业软件并管理所述软件。这些策略支持各种安全特征的并入,包括地理围栏特征、远程清除特征、应用程序隔离特征和数据库加密特征。尽管这些EMM解决方案提高了使用个人装置访问企业资源的安全性,但这些解决方案也必然会只增大访问企业资源所需的凭证数目。通常,企业用户必须知道并输入其用户名和网络或目录服务密码,或者其必须提供由EMM服务器生成的一次性密码(OTP)。而且,一些EMM解决方案可能依赖存储于PIV或CAC卡上的凭证进行识别和认证,这导致企业用户不得不在每次想访问企业资源时提供其PIV或CAC卡。
发明内容
下面给出本文中描述的各方面的简要总结。此总结不是详尽的概述,不旨在标识关键或重要元件或界定权利要求的范围。以下总结只以简化形式介绍一些概念作为下面提供的更详细描述的介绍性前序。
为了克服上文描述的现有技术的局限性,并且为了克服通过阅读和理解本说明书可以明白的其它局限性,本文中描述的各方面涉及使用导出凭证使移动计算装置注册企业移动装置管理服务的系统、方法和技术。有利的是,本文中描述的系统、方法和技术可以实现移动计算装置的注册,以及实现从已注册移动计算装置对企业资源的访问,不需要企业用户知道或输入其网络或目录服务密码,不需要在注册或企业资源的后续访问过程中将PIV或CAC卡物理地连接至移动计算装置。
根据一个或多个实施例,一种方法可以包括:由移动计算装置接收注册到企业移动装置管理服务器的命令;响应于接收注册到所述企业移动装置管理服务器的所述命令,由所述移动计算装置运行注册应用程序;由所述移动计算装置使用所述注册应用程序将注册请求消息发送至所述企业移动装置管理服务器;由所述移动计算装置从所述注册应用程序切换到所述移动计算装置上的证书管理系统应用程序;由所述移动计算装置使用所述证书管理系统应用程序从证书管理系统服务器请求一个或多个导出凭证;由所述移动计算装置使用所述证书管理系统应用程序将所述一个或多个导出凭证存储在所述移动计算装置上的共享库中;由所述移动计算装置从所述证书管理系统应用程序切换到所述注册应用程序;由所述移动计算装置使用所述注册应用程序,检索存储在所述移动计算装置上的所述共享库中的所述一个或多个导出凭证中的一个导出凭证;以及由所述移动计算装置使用所述注册应用程序将使用所述注册应用程序检索到的所述一个或多个导出凭证中的所述导出凭证提供至所述企业移动装置管理服务器,以将所述移动计算装置注册到由所述企业移动装置管理服务器提供的至少一个移动装置管理服务。
在一些实施例中,所述方法还可以包括:由所述移动计算装置使用所述注册应用程序提示所述移动计算装置的用户提供所述企业移动装置管理服务器的地址。
在其它实施例中,所述方法还可以包括:由所述移动计算装置使用所述注册应用程序从自动发现服务请求所述企业移动装置管理服务器的配置信息;以及在从所述自动发现服务请求所述企业移动装置管理服务器的所述配置信息之后,由所述移动计算装置从所述自动发现服务接收包括所述企业移动装置管理服务器的配置信息的消息。发送至所述企业移动装置管理服务器的注册请求消息可以包括从所述自动发现服务接收的所述企业移动装置管理服务器的配置信息。
替代性地,在又一些其它实施例中,所述方法还可以包括:由所述移动计算装置使用所述注册应用程序从所述移动计算装置的用户接收密码;由所述移动计算装置使用所述注册应用程序基于从所述移动计算装置的用户接收的密码生成密码验证值;由所述移动计算装置使用所述注册应用程序在所述移动计算装置上的所述共享库中存储所述密码验证值;由所述移动计算装置使用所述注册应用程序将从所述移动计算装置的用户接收的所述密码提供至所述证书管理系统应用程序;以及由所述移动计算装置使用所述证书管理系统应用程序基于存储在所述移动计算装置上的所述共享库中的所述密码验证值验证提供至所述证书管理系统应用程序的密码。所述方法还可以包括:响应于所述注册请求消息,由所述移动计算装置从所述企业移动装置管理服务器接收包括密码复杂度验证规则的消息;以及由所述移动计算装置使用所述密码复杂度验证规则验证所述密码。可以通过以下生成所述密码验证值:生成所述密码的散列;以及对所述密码的散列进行加密。所述方法还可以包括:在所述移动计算装置上的所述共享库中存储所述一个或多个导出凭证之前,由所述移动计算装置使用所述证书管理系统应用程序基于从所述移动计算装置的用户接收的并提供至所述证书管理系统应用程序的密码对所述一个或多个导出凭证进行加密。所述方法还可以包括:在所述移动计算装置上的所述共享库中存储所述一个或多个导出凭证之前,由所述移动计算装置使用所述证书管理系统应用程序使用私/公钥对对所述一个或多个导出凭证进行加密。
在一些实例中,在切换到所述移动计算装置上的所述证书管理系统应用程序之前,所述方法还可以包括响应于所述注册请求消息,由所述移动计算装置从所述企业移动装置管理服务器接收识别所述移动计算装置上的所述证书管理系统应用程序的消息;以及由所述移动计算装置基于从所述企业移动装置管理服务器接收的识别所述移动计算装置上的所述证书管理系统应用程序的消息,确定切换到所述移动计算装置上的所述证书管理系统应用程序。
在其它实例中,所述方法还可以包括在完成所述注册过程之后,由所述移动计算装置使用所述证书管理系统应用程序存储所述一个或多个导出凭证中的至少一个导出凭证。
在又一些其它实例中,可以用相同的开发签名证书对所述注册应用程序和所述证书管理系统应用程序进行数字签名。
在一些实施例中,所述方法还可以包括:由所述移动计算装置使用所述移动计算装置上的一个或多个应用程序,从所述共享库检索所述一个或多个导出凭证中的至少一个导出凭证,所述一个或多个应用程序是用与所述注册应用程序和所述证书管理系统应用程序相同的开发签名证书数字签名的;以及由所述移动计算装置使用从所述共享库检索的所述一个或多个导出凭证中的所述至少一个导出凭证,提供所述移动计算装置上的所述一个或多个应用程序中的功能,或者用所述移动计算装置上的所述一个或多个应用程序访问企业资源。
在一些实施例中,所述方法还可以包括由所述移动计算装置使用所述注册应用程序从所述共享库检索第一导出凭证和第二导出凭证;由所述移动计算装置使用所述注册应用程序将所述第一导出凭证提供至所述企业移动装置管理服务器以完成移动装置管理注册;以及由所述移动计算装置使用所述注册应用程序将所述第二导出凭证提供至所述企业移动装置管理服务器以完成移动应用程序管理注册。
在一些实施例中,在完成所述注册过程之后,可以由所述企业移动装置管理服务器给所述移动计算装置提供策略和应用程序。
在其它实施例中,在从证书管理系统服务器请求一个或多个导出凭证之前,所述方法还可以包括:由所述移动计算装置使用所述证书管理系统应用程序,使用证书管理系统应用程序在所述证书管理系统服务器上认证。
在一些实施例中,可以提示移动计算装置的用户提供用于在证书管理系统服务器上认证的用于识别和认证目的的数据。
在一些实施例中,切换到移动计算装置上的证书管理系统应用程序可以包括:运行移动计算装置上的应用程序商店;以及如果或者当证书管理系统应用程序没有安装在移动计算装置上时,则提示移动计算装置的用户安装证书管理系统应用程序。
系统和非瞬态计算机可读介质可以被配置成提供和/或支持本文中描述的各个方面。得益于在下面更详细讨论的本公开,将认识到这些和附加方面。
附图说明
通过考虑附图参照以下描述,可以获得对本文中描述的各方面和其优点的更加全面的理解,图中相同的附图标记表示相同的特征,并且其中:
图1描绘了根据本文中描述的一个或多个示意性方面可以使用的示意性计算机系统架构。
图2描绘了根据本文中描述的一个或多个示意性方面可以使用的示意性远程访问系统架构。
图3描绘了根据本文中描述的一个或多个示意性方面可以使用的示意性虚拟化(管理程序)系统架构。
图4描绘了根据本文中描述的一个或多个示意性方面可以使用的示意性基于云的系统架构。
图5描绘了示意性企业移动管理系统。
图6描绘了另一示意性企业移动管理系统。
图7描绘了根据本文中描述的一个或多个示意性方面其中移动计算装置可以注册到企业移动装置管理服务器的示意性系统架构。
图8A-8C描绘了根据本文中描述的一个或多个示意性方面用于提供使用导出凭证使移动计算装置注册企业移动装置管理服务的方法的示例性事件序列。
图9描绘了根据本文中描述的一个或多个示意性方面其中已注册移动计算装置可以使用导出凭证以便访问企业资源的示意性系统架构。
图10描绘了根据本文中描述的一个或多个示意性方面用于提供容器化应用程序向企业服务器提供导出凭证的方法的示例性事件序列。
图11描绘了根据本文中描述的一个或多个示意性方面使用导出凭证注册企业移动装置管理服务的示例性方法。
具体实施方式
在以下对各个实施例的描述中,参照上文指出的附图,附图形成其一部分,并且在附图中通过示意示出可以实践本文中描述的各方面的各个实施例。要理解在不偏离本文中描述的范围下可以使用其它实施例,并且可以进行结构和功能的变形。能够在其它实施例中实现各个方面并且能够以各种不同的方式实践或实施各个方面。
作为对下面更加详细地描述的主题的大致介绍,本文中描述的各方面涉及使用导出凭证将移动计算装置注册到企业移动装置管理服务的系统、方法和技术。当企业的雇员可能需要使用导出凭证将其移动计算装置注册到企业移动装置管理服务时,可以使用本文中描述的各方面。当企业用户可能使用导出凭证从用户的已注册移动计算装置访问企业资源时,可以使用本文中描述的其它方面。
在更加详细地讨论这些概念之前,将参照图1-6首先讨论可以用于实现和/或另外提供本发明的各个方面的计算架构和系统的几个示例。
要理解本文中使用的措词和术语是为了描述目的,不应当认为是限制。相反,本文中使用的词语和术语被赋予其最广泛的解释和含义。“包括”、“包含”和其变形的使用旨在包括之后所列的各个项目和其等同物以及附加项目和其等同物。“安装”、“连接”、“耦连”、“定位”、“接合”这些术语和相似术语的使用旨在包括直接和间接的安装、连接、耦连、定位和接合。
计算架构
计算机软件、硬件和网络可以用在各种不同的系统环境中,包括单机、联网、远程访问(亦称远程桌面)、虚拟化和/或基于云的环境及其它。图1图解说明可以用来在单机和/或联网环境中实现本文中描述的一个或多个示意性方面的系统架构和数据处理装置的一个示例。各个网络节点103、105、107和109可以通过广域网(WAN)101(例如互联网)互联。也可以或者替代性地使用其它网络,包括私有内部网、企业网络、局域网(LAN)、城域网(MAN)、无线网络、个人网络(PAN)等等。网络101用于示意目的,可以用更少或更多的计算机网络替代。局域网可以具有一个或多个任何已知的LAN拓扑,并且可以使用各种不同协议中的一个或多个,例如以太网。装置103、105、107、109和其它装置(未示出)可以通过双绞线、同轴电缆、光纤、无线电波或其它通信介质连接至一个或多个网络。
本文中使用并在附图中描绘的“网络”这个术语不仅指其中远程存储装置通过一个或多个通信路径耦连在一起的系统,还指可以不时地耦连到具有存储能力的这类系统的单机装置。因此,“网络”这个术语不仅包括“物理网络”还包括“内容网络”,其包括可属于单个实体的驻存在所有物理网络上的数据。
所述部件可以包括数据服务器103、网络服务器105和客户端计算机107、109。数据服务器103提供用于执行本文中描述的一个或多个示意性方面的数据库和控制软件的总体访问、控制和管理。数据服务器103可以连接至网络服务器105,用户通过网络服务器105交互并且获得所请求的数据。替代性地,数据服务器103本身可以充当网络服务器,并且可以直接连接至互联网。数据服务器103可以通过网络101(例如互联网)、经由直接或间接连接或者经由某种其它网络连接至网络服务器105。用户可以使用远程计算机107、109(例如使用网络浏览器经由网络服务器105为主机的一个或多个暴露于外部的网站连接至数据服务器103)与数据服务器103交互。可以与数据服务器103相呼应地使用客户端计算机107、109以访问其中存储的数据,或者客户端计算机107、109可以用于其它目的。例如,用户可以从客户端装置107使用如本领域已知的互联网浏览器,或者通过执行通过计算机网络(例如互联网)与网络服务器105和/或数据服务器103通信的软件应用程序,访问网络服务器105。
服务器和应用程序可以组合在相同的物理机上,并且可以保留单独的虚拟或逻辑地址,或者可以驻存在单独的物理机上。图1仅图解说明可以使用的网络架构的一个示例,本领域技术人员会认识到使用的具体网络架构和数据处理装置可以变化,相对其提供的功能是次要的,正如本文中进一步描述的。例如,由网络服务器105和数据服务器103提供的服务可以组合在单个服务器上。
每个部件103、105、107、109可以是任何类型的已知计算机、服务器或数据处理装置。数据服务器103例如可以包括控制数据服务器103的总体操作的处理器111。数据服务器103还可以包括随机存取存储器(RAM)113、只读存储器(ROM)115、网络接口117、输入/输出接口119(例如键盘、鼠标、显示器、打印机等)和存储器121。输入/输出(I/O)119可以包括用于读、写、显示和/或打印数据或文件的各种接口单元和驱动器。存储器121还可以存储操作系统软件123以用于控制数据处理装置103、控制逻辑125和其它应用软件127的总体操作,控制逻辑125用于命令数据服务器103执行本文中描述的各方面,其它应用软件127提供可以或者可以不与本文中描述的各方面结合使用的辅助、支持和/或其它功能。控制逻辑在本文中也可以称作数据服务器软件125。数据服务器软件的功能可以指基于编码到控制逻辑中的规则自动进行的、由用户将输入提供到系统中手动进行的操作或决策和/或基于用户输入(例如查询、数据更新等)的自动处理的组合。
存储器121还可以存储执行本文中描述的一个或多个方面时使用的数据,包括第一数据库129和第二数据库131。在一些实施例中,第一数据库可以包括第二数据库(例如作为单独的表、报告等)。即,信息可以存储在单个数据库中,或者根据系统设计分隔到不同的逻辑、虚拟或物理数据库中。装置105、107、109可以具有与关于装置103描述的相似或不同的架构。本领域技术人员会认识到本文中描述的数据处理装置103(或装置105、107、109)的功能可以分散在多个数据处理装置中,例如,在多个计算机之间分配处理负荷,基于地理位置、用户访问等级、服务质量(QoS)等分隔交易。
一个或多个方面可以体现在计算机可使用或可读数据和/或计算机可执行指令中,例如体现在由本文中描述的一个或多个计算机或其它装置执行的一个或多个程序模块中。通常,程序模块包括在由计算机或其它装置中的处理器执行时执行特定的任务或实现特定的抽象数据类型的例程、程序、对象、部件、数据结构等。可以以源代码编程语言编写这些模块,所述源代码编程语言随后被编辑以用于执行,或者可以以脚本语言例如但不限于超文本标记语言(HTML)或可扩展标记语言(XML)编写这些模块。计算机可执行指令可以存储在计算机可读介质(例如非易失性存储装置)上。可以使用任何合适的计算机可读存储介质,包括硬盘、CD-ROM、光存储装置、磁存储装置和/或其任何组合。此外,代表本文中描述的数据或事件的各个传输(非存储)介质可以以通过信号传导介质(例如金属线、光纤)和/或无线传输介质(例如空气和/或空间)传播的电磁波的形式在源和目的地之间传输。本文中描述的各方面可以以方法、数据处理系统或计算机程序产品实施。因此,可以全部或部分地在软件、固件和/或硬件或硬件等同物(例如集成电路、现场可编程门阵列(FPGA))等中实施各个功能。特定的数据结构可以用来更有效地实现本文中描述的一个或多个方面,在本文中描述的计算机可执行指令和计算机可使用数据的范围内可预见这些数据结构。
进一步参照图2,可以在远程访问环境中实现本文中描述的一个或多个方面。图2描绘了根据本文中描述的一个或多个示意性方面可以使用的示例性系统架构,包括在示意性计算环境200中的通用计算装置201。在被配置成为客户端访问装置提供虚拟机的单服务器或多服务器桌面虚拟化系统(例如远程访问或云系统)中,通用计算装置201可以用作服务器206a。通用计算装置201可以具有用于控制服务器和其关联部件(包括RAM 205、ROM207、I/O模块209和存储器215)的总体操作的处理器203。
I/O模块209可以包括鼠标、小键盘、触摸屏、扫描器、光学阅读器和/或触针(或其它输入装置),通过上述这些装置通用计算装置201的用户可以提供输入,I/O模块209还可以包括以下的一个或多个:用于提供音频输出的扬声器和用于提供文本、视听和/或图形输出的视频显示装置。软件可以存储在存储器215和/或其它存储装置内以向处理器203提供指令用于将通用计算装置201配置成专用计算装置,以便执行本文中描述的各个功能。例如,存储器215可以存储由计算装置201使用的软件,例如操作系统217、应用程序219和相关的数据库221。
计算装置201可以在支持连接至一个或多个远程计算机例如终端240(也称作客户端装置)的联网环境中操作。终端240可以是个人计算机、移动装置、膝上型计算机、平板电脑或包括参照通用计算装置103或201在上文描述的许多或所有元件的服务器。图2中描绘的网络连接包括局域网(LAN)225和广域网(WAN)229,不过还可以包括其它网络。在LAN联网环境中使用时,计算装置201可以通过网络接口或适配器223连接至LAN 225。在WAN联网环境中使用时,计算装置201可以包括调制解调器227或用于通过WAN 229,例如计算机网络230(例如互联网)建立通信的其它广域网接口。要认识到,所示的网络连接是示意性的,可以使用其它手段建立计算机之间的通信链接。计算装置201和/或终端240也可以是包括各种其它部件(例如电池、扬声器和天线(未示出))的移动终端(例如移动电话、智能电话、个人数字助理(PDA)、上网本等)。
还可以用各种其它通用或专用计算系统环境或配置操作本文中描述的各方面。可以适合用于本文中描述的各方面的其它计算系统、环境和/或配置的示例包括但不限于个人计算机、服务器计算机、手持或膝上型装置、多处理器系统、基于微处理器的系统、机顶盒、可编程消费电子装置、网络个人计算机(PC)、微型计算机、大型计算机、包括上面的系统或装置中的任何一个的分布式计算环境等等。
如图2所示,一个或多个客户端装置240可以与一个或多个服务器206a-206n(在本文中总称为“服务器206”)通信。在一个实施例中,计算环境200可以包括安装于服务器206和客户机240之间的网络设备。所述网络设备可以管理客户端/服务器连接,并且在一些情况下,可以对多个后台服务器206中的客户端连接进行负载平衡。
在一些实施例中,客户机240可以称作单客户机240或单组客户机240,而服务器206可以称作单服务器206或单组服务器206。在一个实施例中,单客户机240与超过一个服务器206通信,而在另一实施例中,单服务器206与超过一个客户机240通信。在又一实施例中,单客户机240与单服务器206通信。
在一些实施例中,可以用以下非详尽术语中的任何一个称呼客户机240:客户机;客户端;客户端计算机;客户端装置;客户端计算装置;本地机;远程机;客户端节点;端点;或端点节点。在一些实施例中,可以用以下非详尽术语中的任何一个称呼服务器206:服务器;本地机;远程机;服务器场;或主机计算装置。
在一个实施例中,客户机240可以是虚拟机。所述虚拟机可以是任何虚拟机,而在一些实施例中,所述虚拟机可以是由Type 1(类型1)或Type2(类型2)管理程序(例如由Citrix Systems、IBM、VMware开发的管理程序)或任何其它管理程序管理的任何虚拟机。在一些方面,所述虚拟机可以由管理程序管理,而在有些方面,所述虚拟机可以由在服务器206上执行的管理程序或者在客户端240上执行的管理程序管理。
一些实施例包括客户端装置240,客户端装置240显示由远程地在服务器206或其它位于远程的机器上执行的应用程序产生的应用程序输出。在这些实施例中,客户端装置240可以执行虚拟机接收程序或应用程序以在应用程序窗口、浏览器或其它输出窗口显示输出。在一个示例中,应用程序是桌面,而在其它示例中,应用程序是产生或呈现桌面的应用程序。桌面可以包括图形外壳(graphical shell),其对于其中可以集成本地和/或远程应用程序的操作系统的实例提供用户界面。本文中使用的应用程序是在操作系统(可选地也为桌面)的实例已经被加载之后执行的程序。
在一些实施例中,服务器206使用远程呈现协议或其它程序将数据发送至瘦客户端或在客户端上执行的远程显示应用程序,以呈现由在服务器206上执行的应用程序产生的显示输出。瘦客户端或远程显示协议可以是以下非详尽协议列表中的任何一个:由位于Ft.Lauderdale,Florida(佛罗里达州劳德代尔堡市)的Citrix System公司开发的独立计算架构(ICA)协议;或者由位于Redmond,Washington(华盛顿州雷蒙德市)的Microsoft公司制造的远程桌面协议(RDP)。
远程计算环境可以包括超过一台服务器206a-206n,使得例如在云计算环境中,服务器206a-206n从逻辑上被一起组成服务器场206。服务器场206可以包括:地理上分散而逻辑上组合在一起的服务器206,或者位置相互邻近且逻辑上组合在一起的服务器206。在一些实施例中,服务场206内地理上分散的服务器206a-206n可以使用WAN(广域)、MAN(城域)或LAN(局域)通信,其中不同的地理区域可以表征为:不同的洲;一个洲的不同地区;不同的国家;不同的州;不同的城市;不同的校园;不同的房间;或者前述地理位置的任何组合。在一些实施例中,可以作为单个实体管理服务器场206,而在其它实施例中,服务器场206可以包括多个服务器场。
在一些实施例中,服务器场可以包括执行基本相似类型的操作系统平台(例如WINDOWS、UNIX、LINUX、iOS、ANDROID、SYMBIAN等)的服务器206。在其它实施例中,服务器场206可以包括执行第一类型的操作系统平台的第一组一个或多个服务器以及执行第二类型的操作系统平台的第二组一个或多个服务器。
根据需要,服务器206可以配置为任何类型的服务器,例如文件服务器、应用服务器、网络服务器、代理服务器、设备、网络设备、网关、应用网关、网关服务器、虚拟化服务器、部署服务器、安全套接层(SSL)VPN服务器、防火墙、网络服务器、应用服务器,或者配置为主应用程序服务器、执行活动目录的服务器或执行应用程序加速程序提供防火墙功能、应用程序功能或负载平衡功能的服务器。也可以使用其它服务器类型。
一些实施例包括第一服务器206a,其接收来自客户机240的请求,将所述请求转发至第二服务器206b,并用来自第二服务器206b的响应对由客户机240生成的请求进行响应。第一服务器206a可以获得客户机240可用的应用程序的列表以及与驻存在应用程序列表内标识的应用程序上的与应用服务器206有关的地址信息。第一服务器206a然后可以使用网络接口呈现对客户端的请求的响应,并与客户端240直接地通信,以给客户端240提供对标识的应用程序的访问。一个或多个客户端240和/或一个或多个服务器206可以通过网络230(例如网络101)传输数据。
图3示出示意性桌面虚拟化系统的高级架构。如所示的,桌面虚拟化系统可以是单服务器或多服务器系统或者是云系统,包括至少一个虚拟化服务器301,所述至少一个虚拟化服务器301被配置成将虚拟桌面和/或虚拟应用程序提供至一个或多个客户端访问装置240。如本文中使用的桌面指在其中可以驻存和/或执行一个或多个应用程序的图形环境或空间。桌面可以包括图形外壳,其对于其中可以集成本地和/或远程应用程序的操作系统的实例提供用户界面。应用程序可以包括在操作系统(可选地也为桌面)的实例已经被加载之后执行的程序。操作系统的每个实例可以是物理的(例如每个装置一个操作系统)或者是虚拟的(例如在单个装置上运行的OS的许多实例)。可以在本地装置上执行或者在位于远程的(例如远程)装置上执行每个应用程序。
计算机装置301可以被配置为虚拟化环境中的虚拟化服务器,例如单服务器、多服务器或云计算环境。图3中图示的虚拟化服务器301可以被部署为图2中所示的服务器206的一个或多个实施例,和/或可以由图2中所示的服务器206的一个或多个实施例或者由其它已知的计算装置实现。硬件层包括于虚拟化服务器301中,所述硬件层可以包括一个或多个物理盘304、一个或多个物理装置306、一个或多个物理处理器308和一个或多个物理存储器316。在一些实施例中,固件312可以存储在物理存储器316中的存储元件内,并且可以由一个或多个物理处理器308执行。虚拟化服务器301还可以包括操作系统314,所述操作系统314可以存储在物理存储器316中的存储元件中并且由一个或多个物理处理器308执行。还有,管理程序302可以存储在物理存储器316中的存储元件中,并且可以由一个或多个物理处理器308执行。
一个或多个虚拟机332A-C(总称332)可以在一个或多个物理处理器308上执行。每个虚拟机332可以具有虚拟盘326A-C和虚拟处理器328A-C。在一些实施例中,第一虚拟机332A可以使用虚拟处理器328A执行包括工具栈324的控制程序320。控制程序320可以称作控制虚拟机、Dom0、Domain 0或用于系统管理和/或控制的其它虚拟机。在一些实施例中,一个或多个虚拟机332B-C可以使用虚拟处理器328B-C执行客户操作系统330A-B。
虚拟化服务器301可以包括硬件层310,所述硬件层310具有与虚拟化服务器301通信的一件或多件硬件。在一些实施例中,硬件层310可以包括一个或多个物理盘304、一个或多个物理装置306、一个或多个物理处理器308和一个或多个存储器216。物理部件304、306、308和316可以包括例如以上描述的部件中的任何一个。物理装置306可以包括例如网络接口卡、视频卡、键盘、鼠标、输入装置、监视器、显示装置、扬声器、光驱、存储装置、通用串行总线连接、打印机、扫描器、网络元件(例如路由器、防火墙、网络地址解析器、负载平衡器、虚拟专用网络(VPN)网关、动态主机配置协议(DHCP)路由器等)或连接至或与虚拟化服务器301通信的任何装置。硬件层310中的物理存储器316可以包括任何类型的存储器。物理存储器316可以存储数据,在一些实施例中,可以存储一个或多个程序或一组可执行指令。图3图解说明固件312存储于虚拟化服务器301的物理存储器316内的实施例。存储于物理存储器316中的程序或可执行指令可以由虚拟化服务器301的一个或多个处理器308执行。
虚拟化服务器301还可以包括管理程序302。在一些实施例中,管理程序302可以是由虚拟化服务器301上的处理器308执行的创建并管理任何数目的虚拟机332的程序。管理程序302可以称作虚拟机监视器或平台虚拟化软件。在一些实施例中,管理程序302可以是可执行指令和监测在计算机器上执行的虚拟机的硬件的任何组合。管理程序302可以是Type 2管理程序,其中,在操作系统314内执行的管理程序在虚拟化服务器301上执行。虚拟机则在管理程序以上的级别执行。在一些实施例中,Type 2管理程序在用户的操作系统的背景下执行,使得Type 2管理程序与用户的操作系统交互。在其它实施例中,虚拟化环境中的一个或多个虚拟化服务器301则可以反而包括Type 1管理程序(未示出)。Type 1管理程序通过直接访问硬件层310内的硬件和资源可以在虚拟化服务器301上执行。即,如所示的,Type 2管理程序302通过主机操作系统314访问系统资源,而Type 1管理程序可以没有主机操作系统314直接地访问所有系统资源。Type 1管理程序可以直接地在虚拟化服务器301的一个或多个物理处理器308上执行,并且可以包括存储于物理存储器316中的程序数据。
在一些实施例中,管理程序302可以以模拟操作系统330或控制程序320直接访问系统资源的任何方式将虚拟资源提供至在虚拟机332上执行的操作系统330或控制程序320。系统资源可以包括但不限于物理装置306、物理盘304、物理处理器308、物理存储器316和虚拟化服务器301的硬件层310中包括的任何其它部件。管理程序302可以用来模仿虚拟硬件,分割物理硬件,使物理硬件虚拟化和/或执行虚拟机以提供对计算环境的访问。在又一些其它实施例中,管理程序302控制在虚拟化服务器301上执行的虚拟机332的处理器调度和存储器分区。管理程序302可以包括:由位于Palo Alto,California的VMWare公司制造的管理程序;XEN管理程序,一种开源产品,其开发由开源Xen.org社团监管;由Microsoft提供的HyperV、VirtualServer或虚拟PC管理程序;或者其它。在一些实施例中,虚拟化服务器301执行管理程序302,管理程序302创建客户操作系统可以在其上执行的虚拟机平台。在这些实施例中,虚拟化服务器301可以称作主机服务器。此类虚拟化服务器的一个示例是由位于Fort Lauderdale,FL的Citrix Systems公司提供的XEN SERVER。
管理程序302可以创建客户操作系统330在其中执行的一个或多个虚拟机332B-C(通称332)。在一些实施例中,管理程序302可以加载虚拟机图像以创建虚拟机332。在其它实施例中,管理程序302可以执行虚拟机332内的客户操作系统330。在又一些其它实施例中,虚拟机332可执行客户操作系统330。
除了创建虚拟机332之外,管理程序302可以控制至少一个虚拟机332的执行。在其它实施例中,管理程序302可以给至少一个虚拟机332呈现由虚拟化服务器301提供的至少一个硬件资源(例如硬件层310内可用的任何硬件资源)的抽象。在其它实施例中,管理程序302可以控制虚拟机332访问虚拟化服务器301中可用的物理处理器308的方式。控制对物理处理器308的访问可以包括确定虚拟机332是否应该访问处理器308,以及将物理处理器的能力呈现给虚拟机332的方式。
如图3所示,虚拟化服务器301可以驻存或执行一个或多个虚拟机332。虚拟机332是一组可执行指令,其由处理器308执行时,模拟物理计算机的操作,使得虚拟机332能够像物理计算装置那样执行程序和过程。尽管图3图解说明了虚拟化服务器301驻存三个虚拟机332的实施例,但在其它实施例中,虚拟化服务器301可以驻存任何数目的虚拟机332。在一些实施例中,管理程序302给每个虚拟机332提供物理硬件、存储器、处理器和虚拟机332可用的其它系统资源的唯一虚拟视图。在一些实施例中,唯一虚拟视图可以基于以下的一个或多个:虚拟机许可,针对一个或多个虚拟机标识符的策略引擎的应用,访问虚拟机的用户,在虚拟机上执行的应用程序,由虚拟机访问的网络或任何其它期望标准。例如,管理程序302可以创建一个或多个不安全的虚拟机332和一个或多个安全的虚拟机332。可以阻止不安全的虚拟机332访问安全虚拟机332可被允许访问的资源、硬件、存储位置和程序。在其它实施例中,管理程序302可以给每个虚拟机332提供物理硬件、存储器、处理器和虚拟机332可用的其它系统资源的基本相似的虚拟视图。
每个虚拟机332可以包括虚拟盘326A-C(通称326)和虚拟处理器328A-C(通称328)。在一些实施例中,虚拟盘326是虚拟化服务器301的一个或多个物理盘304或者虚拟化服务器301的一个或多个物理盘304的一部分的虚拟化视图。物理盘304的虚拟化视图可以由管理程序302生成、提供和管理。在一些实施例中,管理程序302给每个虚拟机332提供物理盘304的唯一视图。因此,在这些实施例中,与其它虚拟盘326相比,每个虚拟机332中包括的特定虚拟盘326可能是唯一的。
虚拟处理器328可以是虚拟化服务器301的一个或多个物理处理器308的虚拟化视图。在一些实施例中,物理处理器308的虚拟化视图可以由管理程序302生成、提供和管理。在一些实施例中,虚拟处理器328具有至少一个物理处理器308的基本所有相同特征。在其它实施例中,虚拟处理器308提供物理处理器308的修改视图,使得虚拟处理器328的至少一些特征与对应的物理处理器308的特征不同。
进一步参照图4,本文中描述的一些方面可以在基于云的环境中实现。图4图解说明云计算环境(或云系统)400的一个示例。如图4可见,客户端计算机411-414可以与云管理服务器410通信,以访问云系统的计算资源(例如主机服务器403、存储资源404和网络资源405)。
管理服务器410可以在一个或多个物理服务器上实现。管理服务器410可以运行例如位于Ft.Lauderdale,FL的Citrix Systems公司的CLOUDSTACK,或OPENSTACK及其它。管理服务器410可以管理各种计算资源,包括云硬件和软件资源,例如,主机计算机403、数据存储装置404和联网装置405。云硬件和软件资源可以包括专用和/或公用部件。例如,云可以配置为专用云,以由一个或多个特定客户或客户端计算机411-414和/或通过专用网使用。在其它实施例中,公用云或混合公用-专用云可以由其它客户通过开放或混合网络使用。
管理服务器410可以被配置成提供用户界面,云运营商和云客户可以通过所述用户界面与云系统交互。例如,管理服务器410可以给一组应用编程接口(API)和/或一个或多个云运营商控制台应用程序(例如在独立应用程序上的基于网络的)提供用户界面以允许云运营商管理云资源,配置虚拟化层,管理客户帐户并执行其它云管理任务。管理服务器410还可以包括具有用户界面的一组API和/或一个或多个客户控制台应用程序,所述用户界面被配置成通过客户端计算机411-414从终端用户接收云计算请求,例如创建、修改或破坏云内的虚拟机的请求。客户端计算机411-414可以通过互联网或其它通信网络连接至管理服务器410,并且可以请求访问由管理服务器410管理的一个或多个计算资源。响应于客户端请求,管理服务器410可以包括资源管理器,所述资源管理器被配置成基于客户端请求选择并提供云系统的硬件层中的物理资源。例如,管理服务器410和云系统的另外部件可以被配置成通过网络(例如互联网)为客户端计算机411-414的客户提供、创建和管理虚拟机和其运行环境(例如管理程序、存储资源、由网络元件提供的服务等等),给客户提供计算资源、数据存储服务、联网能力以及计算机平台和应用程序支持。云系统还可以被配置成提供各种特定的服务,包括安全系统、开发环境、用户界面等等。
某些客户端411-414可以有关联,例如代表同一终端用户创建虚拟机的不同客户端计算机或者隶属于同一公司或组织的不同用户。在其它示例中,某些客户端411-414可以不相关,例如隶属于不同公司或组织的用户。对于不相关的客户端,虚拟机上的信息或任何一个用户的存储可以对其它用户隐藏。
现在参照云计算环境的物理硬件层,可用区401-402(或区)可以指物理计算资源的并置集。在计算资源的整个云中,一些区可以与其它区在地理上分开。例如,区401可以是位于加利福尼亚州的第一云数据中心,区402可以是位于佛罗里达州的第二云数据中心。管理服务器410可以位于可用区之一或者位于单独的方位。每个区可以包括与该区外部的装置(例如管理服务器410)通过网关相接的内部网络。云的终端用户(例如客户端411-414)可能知道或不知道区之间的不同。例如,终端用户可以请求创建具有特定量的存储器、处理能力和网络能力的虚拟机。管理服务器410可以响应用户的请求,并且可以分配创建虚拟机的资源,用户不必知道是否使用了来自区401或区402的资源创建过虚拟机。在其它示例中,云系统可以允许终端用户请求在特定的区中或者在一个区内的特定资源403-405上分配虚拟机(或其它云资源)。
在此示例中,每个区401-402可以包括各种物理硬件部件(或计算资源)403-405的布置,例如物理主机资源(或处理资源)、物理网络资源、物理存储资源、交换机和可以用来向客户提供云计算服务的另外的硬件资源。云区401-402中的物理主机资源可以包括一个或多个计算机服务器403,例如上文描述的虚拟化服务器301,其可以被配置成创建并驻存虚拟机实例。云区401或402中的物理网络资源可以包括一个或多个网络元件405(例如网络服务提供者),其包括被配置成向云客户提供网络服务的硬件和/或软件,例如防火墙、网络地址解析器、负载平衡器、虚拟专用网络(VPN)网关、动态主机配置协议(DHCP)路由器等等。云区401-402中的存储资源可以包括存储盘(例如固态驱动器(SSD)、磁质硬盘等)和其它存储装置。
图4所示的示例性云计算环境还可以包括具有附加硬件和/或软件资源的虚拟化层(例如图1-3中所示的),所述附加硬件和/或软件资源被配置成创建并管理虚拟机,使用云中的物理资源将其它服务提供至客户。虚拟化层可以包括如上文在图3中描述的管理程序以及其它部件,以提供网络虚拟化、存储虚拟化等。虚拟化层可以是与物理资源层分开的层,或者可以与物理资源层共享一些或全部相同的硬件和/或软件资源。例如,虚拟化层可以包括安装在每个具有物理计算资源的虚拟化服务器403中的管理程序。可以替代性使用已知的云系统,例如,WINDOWS AZURE(位于华盛顿州雷蒙德市的微软公司)、AMAZON EC2(位于华盛顿州西雅图市的Amazon.com公司)、IBM BLUE CLOUD(位于纽约州阿蒙克市的IBM公司)或者其它云系统。
企业移动管理架构
图5表示用在BYOD环境中的企业移动技术架构500。所述架构使得移动装置502的用户能从移动装置502访问企业或个人资源,并且使用移动装置502用于个人用途。用户可以使用由用户购买的移动装置502或者由企业提供给用户的移动装置502访问这些企业资源504或企业服务508。用户可以将移动装置502只用于商业用途或者用于商业和个人用途。移动装置可以运行iOS操作系统、Android操作系统等等。企业可以选择执行管理移动装置504的策略。可以通过防火墙或网关以使得移动装置可以被识别、保护或安全验证并且被提供对企业资源的选择性或完全访问的方式植入所述策略。所述策略可以是移动装置管理策略、移动应用程序管理策略、移动数据管理策略或移动装置、应用程序和数据管理策略的某种组合。通过移动装置管理策略的应用程序管理的移动装置504可以称作已注册装置。
在一些实施例中,移动装置的操作系统可以分成管理分区510和非管理分区512。管理分区510可以具有适用于它的保护在管理分区上运行的应用程序和存储在管理分区中的数据的策略。在管理分区上运行的应用程序可以是安全应用程序。在其它实施例中,所有应用程序可以根据单独从应用程序接收的一组一个或多个策略文件执行,并且其限定一个或多个安全参数、特征、资源限制和/或由移动装置管理系统在该应用程序在所述装置上执行时强制的其它访问控制。通过根据其相应的策略文件操作,每个应用程序可以被允许或限制与一个或多个其它应用程序和/或资源通信,由此创建虚拟分区。因此,如本文中使用的,分区可以指存储器的物理分区部分(物理分区)、存储器的逻辑分区部分(逻辑分区)和/或作为如本文中描述的在多个应用程序上执行一个或多个策略和/或策略文件的结果而创建的虚拟分区(虚拟分区)。用不同的方式讲,通过在管理应用程序上强制策略,这些应用程序可以被限制只能够与其它管理应用程序和可信企业资源通信,由此创建非管理应用程序和装置不可进入的虚拟分区。
安全应用程序可以是电子邮件应用程序、网络浏览应用程序、软件即服务(SaaS)访问应用程序、Windows Application访问应用程序等等。安全应用程序可以是安全的本地应用程序514、由安全应用程序启动器518执行的安全远程应用程序522、由安全应用程序启动器518执行的虚拟化应用程序526等等。安全本地应用程序514可以由安全应用程序包装520来包装。安全应用程序包装520可以包括在安全本地应用程序在移动装置502上执行时在移动装置502上执行的集成策略。安全应用程序包装520可以包括使在移动装置502上运行的安全本地应用程序514指向驻存在企业的资源的元数据,安全本地应用程序514可能需要完成执行安全本地应用程序514时请求的任务。由安全应用程序启动器518执行的安全远程应用程序522可以在安全应用程序启动应用程序518内执行。由安全应用程序启动器518执行的虚拟化应用程序526可以使用移动装置502上、企业资源504处等等的资源。由安全应用程序启动器518执行的虚拟化应用程序526使用的移动装置502上的资源可以包括用户交互资源、处理资源等等。用户交互资源可以用来采集并传送键盘输入、鼠标输入、照相机输入、触摸输入、音频输入、视频输入、手势输入等等。处理资源可以用来呈现用户界面,处理从企业资源504接收的数据等等。由通过安全应用程序启动器518执行的虚拟化应用程序526使用的企业资源504处的资源可以包括用户界面生成资源、处理资源等等。用户界面生成资源可以用来组合用户界面、修改用户界面、更新用户界面等等。处理资源可以用来创建信息、读信息、更新信息、删除信息等等。例如,虚拟化应用程序可以记录与图形用户界面(GUI)有关的用户交互,并将其传送到服务器应用程序,所述服务器应用程序使用用户交互数据作为在服务器上运行的应用程序的输入。在此布置中,企业可以选择在服务器侧保存应用程序以及与所述应用程序有关的数据、文件等。尽管企业可以根据本文中的原理选择通过取得一些应用程序以部署在移动装置上,从而“移动(mobilize)”一些应用程序,但这种布置也可以选择用于某些应用程序。例如,尽管可以取得一些应用程序以用在移动装置上,但其它应用程序可能没有准备好或不适合部署在移动装置上,所以企业可以选择通过虚拟化技术给移动用户提供对未准备应用程序的访问。举另一示例,企业可能有大的复杂数据集的复杂应用程序(例如材料资源规划应用程序),其非常困难或者不期望定制用于移动装置的应用程序,所以企业可以选择通过虚拟化技术提供对应用程序的访问。再举另一示例,企业可能有保存高度安全数据(例如人力资源数据、客户数据、工程数据)的应用程序,企业可能认为其甚至对安全的移动环境也太敏感,所以企业可以选择使用虚拟化技术允许对这些应用程序和数据的访问。企业可以选择在移动装置上提供完全安全和完全功能性的应用程序以及虚拟化应用程序,以允许访问被认为更适合在服务器侧运行的应用程序。在一个实施例中,虚拟化应用程序可以在移动电话上的安全存储位置之一存储一些数据、文件等。例如,企业可以选择允许一些信息存储在电话上,而不允许其它信息存储在电话上。
关于本文中描述的虚拟化应用程序,移动装置可以具有被设计成呈现GUI然后记录与GUI的用户交互的虚拟化应用程序。应用程序可以将用户交互传送到服务器侧以由服务侧应用程序用作与应用程序的用户交互。作为响应,服务器侧上的应用程序可以给移动装置传送回新的GUI。例如,新的GUI可以是静态页面、动态页面、动画等等,由此提供对位于远程的资源的访问。
安全应用程序可以访问存储在移动装置的管理分区510中的安全数据容器528中的数据。在安全数据容器中受保护的数据可以由安全包装应用程序514、由安全应用程序启动器522执行的应用程序、由安全应用程序启动器522执行的虚拟化应用程序526等等访问。存储于安全数据容器528中的数据可以包括文件、数据库等等。存储于安全数据容器528中的数据可以包括局限于特定的安全应用程序530、在安全应用程序532之间共享的数据等等。局限于安全应用程序的数据可以包括安全通用数据534和高度安全数据538。安全通用数据可以使用强加密形式,例如高级加密标准(AES)128位加密等等,而高度安全数据538可以使用非常强的加密形式,例如AES 256位加密。一旦从装置管理器524接收命令,存储于安全数据容器528中的数据可以从装置上删除。安全应用程序可以具有双模式选择540。双模式选择540可以给用户呈现在不安全或非管理模式操作安全应用程序的选择。在不安全或非管理模式中,安全应用程序可以访问存储于移动装置502的非管理分区512上的不安全数据容器542中的数据。存储于不安全数据容器中的数据可以是个人数据544。存储于不安全数据容器542中的数据还可以由在移动装置502的非管理分区512上运行的不安全应用程序548访问。当从移动装置502上删除存储于安全数据容器528中的数据时,存储于不安全数据容器542中的数据可以保留在移动装置502上。企业可能想从移动装置上删除选择的或全部数据、文件和/或企业所有、许可或控制的应用程序(企业数据),同时留下或另外保存个人数据、文件和/或用户所有、许可或控制的应用程序(个人数据)。这种操作可以称作选择性擦除。通过根据本文中描述的各方面布置的企业和个人数据,企业可以执行选择性擦除。
移动装置可以连接至企业资源504和企业的企业服务508,连接至公用互联网548等等。移动装置可以通过虚拟专用网络连接连接至企业资源504和企业服务508。虚拟专用网络连接也称作microVPN或应用程序专用VPN,其可以特定于具体的应用程序550,具体的装置,移动装置上的具体安全区等等552。例如,电话的安全区中的每个包装应用程序可以通过应用程序专用VPN访问企业资源,使得可基于与应用程序关联的属性可以与用户或装置属性信息相结合,批准对VPN的访问。虚拟专用网络连接可以传送微软交换(MicrosoftExchange)通信量、微软活动目录通信量、超文本传输协议(HTTP)通信量、超文本传输安全协议(HTTPS)通信量、应用程序管理通信量等等。虚拟专用网络连接可以支持并能够实现单点登录认证过程554。单点登录过程可以允许用户提供认证凭证的单个集合,其然后被认证服务558验证。认证服务558然后可以批准用户对多个企业资源504的访问,不要求用户将认证凭证提供至每个个别的企业资源504。
虚拟专用网络连接可以由访问网关560建立和管理。访问网关560可以包括性能增强特征,其管理、加速和提高企业资源504向移动装置502的传送。访问网关还可以将通信量从移动装置502重新路由到公用互联网548,使得移动装置502能够访问公用互联网548上运行的公众可用和不安全的应用程序。移动装置可以经由传输网络562连接至访问网关。传输网络562可以是有线网、无线网、云网络、局域网、城域网、广域网、公用网、专用网等等。
企业资源504可以包括电子邮件服务器、文件共享服务器、SaaS应用程序、网络应用程序服务器、Windows应用程序服务器等等。电子邮件服务器可以包括Exchange服务器、Lotus Notes服务器等等。文件共享服务器可以包括ShareFile服务器等等。SaaS应用程序可以包括Salesforce等等。Windows应用程序服务器可以包括为提供旨在本地Windows操作系统上运行的应用程序而建立的应用程序服务器等等。企业资源504可以是基于假定(premise-based)的资源、基于云的资源等等。企业资源504可以由移动装置502直接地或者通过访问网关560访问。企业资源504可以由移动装置502通过传输网络562访问。传输网络562可以是有线网、无线网、云网络、局域网、城域网、广域网、公用网、专用网等等。
企业服务508可以包括认证服务558、威胁检测服务564、装置管理服务524、文件共享服务568、策略管理服务570、社交集成服务572、应用程序控制器服务574等等。认证服务558可以包括用户认证服务、装置认证服务、应用程序认证服务、数据认证服务等等。认证服务558可以使用证书。所述证书可以由企业资源504等等存储在移动装置502上。存储于移动装置502上的证书可以存储在移动装置上的加密位置,所述证书可以暂时存储在移动装置502上以在认证时使用等等。威胁检测服务564可以包括入侵检测服务、未授权访问尝试检测服务等等。未授权访问尝试检测服务可以包括访问装置、应用程序、数据等等的未授权尝试。装置管理服务524可以包括配置、提供、安全、支持、监测、报告和退出运行服务。文件共享服务568可以包括文件管理服务、文件存储服务、文件协作服务等等。策略管理器服务570可以包括装置策略管理器服务、应用程序策略管理器服务、数据策略管理器服务等等。社交集成服务572可以包括联系人集成服务、合作服务、与社交网络(例如Facebook、Twitter和LinkedIn)的集成等等。应用程序控制器服务574可以包括管理服务、提供服务、部署服务、分配服务、撤销服务、包装服务等等。
企业移动技术架构500可以包括应用程序商店578。应用程序商店578可以包括未包装应用程序580、预包装应用程序582等等。应用程序可以从应用程序控制器574填充在应用程序商店578中。应用程序商店578可以由移动装置502通过访问网关560、通过公用互联网548等等访问。可以给应用程序商店提供使用用户界面的直观和简便方式。
软件开发套件584可以通过本说明书之前描述的包装应用程序,给用户提供取得用户选择的应用程序的能力。已经使用软件开发套件584包装的应用程序,通过使用应用程序控制器574填充在应用程序商店578中,然后可以对移动装置502可用。
企业移动技术架构500可以包括管理和分析能力588。管理和分析能力588可以提供与资源使用方式、资源使用频率等等有关的信息。资源可以包括装置、应用程序、数据等等。资源的使用方式可以包括哪个装置下载哪些应用程序,哪些应用程序访问哪些数据等等。资源使用频率可以包括应用程序被下载的频率、数据的特定集合被应用程序访问的次数等等。
图6是另一示例性企业移动管理系统600。出于简洁目的,省略了参照图5在上文描述的移动管理系统500的一些部件。图6中描绘的系统600的架构在许多方面类似于上文参照图5描述的系统500的架构,并且可以包括上文没有提到的附加特征。
在这种情况下,左手侧代表在客户端代理604注册的移动装置602,其与网关服务器606(其包括访问网关和应用程序控制器功能)交互,以访问各种企业资源608和服务609,例如上面右手侧所示的Exchange、Sharepoint、公钥基础设施(PKI)资源、Kerberos资源、证书发行服务。尽管没有具体示出,移动装置602还可以与企业应用程序商店(店面)交互以用于选择和下载应用程序。
客户端代理604充当驻存在企业数据中心中使用高分辨用户体验(HDX)/ICA显示远程协议访问的Windows应用程序/桌面的UI(用户界面)中介。客户端代理604还支持本地应用程序(例如本地iOS或Android应用程序)在移动装置602上的安装和管理。例如,上面的图中显示的管理应用程序610(邮件、浏览器、包装应用程序)都是在装置上本地执行的本地应用程序。这种架构的客户端代理604和应用程序管理框架作用为提供策略驱动管理能力和特征,例如对企业资源/服务608的连接性和SSO(单点登录)。客户端代理604处理针对企业通常是访问网关(AG)的主要用户认证,针对其它网关服务器部件的SSO。客户端代理604从网关服务器606获得策略以控制移动装置602上的管理应用程序610的行为。
本地应用程序610和客户端代理604之间的安全进程间通信(IPC)链接612代表管理信道,其允许客户端代理提供策略以由“包装”每个应用程序的应用程序管理框架614实施。IPC信道612还允许客户端代理604将能够实现连接和SSO的凭证和认证信息提供至企业资源608。最后,IPC信道612允许应用程序管理框架614调用由客户端代理604实现的用户界面功能,例如在线和离线认证。
客户端代理604和网关服务器606之间的通信本质上是来自包装每个本地管理应用程序610的应用程序管理框架614的管理信道的延伸。应用程序管理框架614从客户端代理604请求策略信息,客户端代理604转而从网关服务器606请求策略信息。应用程序管理框架614请求认证,客户端代理604登录到网关服务器606的网关服务部分(也称作NetScaler访问网关)。客户端代理604还可以调用网关服务器606上的支持服务,这可以产生输入资料以导出本地数据库616的加密密钥,或者提供客户端证书,其可以实现对PKI保护资源的直接认证,这将在下文更全面解释。
更详细讲,应用程序管理框架614“包装”每个管理应用程序610。这可以通过显式建立步骤或者通过后建立处理步骤并入。应用程序管理框架614可以在首次运行应用程序610时与客户端代理604配对,以初始化安全IPC信道,并获得该应用程序的策略。应用程序管理框架614可以实施局部适用的策略的相关部分,例如客户端代理登录相关性和限制可以使用本地OS服务的方式或者可以与应用程序610交互的方式的一些遏制策略。
应用程序管理框架614可以使用客户端代理604通过安全IPC信道612提供的服务,以促进认证和内部网络访问。专用和共享数据库616(容器)的密钥管理也可以由管理应用程序610和客户端代理604之间的适当交互管理。库616可以只在在线认证之后可用,或者如果策略允许可以在离线认证之后可用。第一次使用库616可能要求在线认证,离线访问最多可以局限于再次要求在线认证之前的策略更新周期。
可以直接从个体管理应用程序610通过访问网关606实现对内部资源的网络访问。应用程序管理框架614负责代表每个应用程序610安排网络访问。客户端代理604可以通过提供在在线认证之后获得的合适时间限制的二次凭证,促进这些网络连接。可以使用多种网络连接模式,例如反向网络代理连接和端对端VPN类型的通道618。
邮件和浏览器管理应用程序610具有特殊的状态,可以利用通常不可用于任意的包装应用程序的设施。例如,邮件应用程序可以使用特定的后台网络访问机制,这允许其在加长的时间周期访问Exchange,而不需要完全的AG登录。浏览器应用程序可以使用多个专用数据库以隔离不同种类的数据。
这种架构支持各种其它安全特征的并入。例如,网关服务器606(包括其网关服务)在一些情况下不需要验证活动目录(AD)密码。在一些情况下,可以留给企业判断AD密码是否用作一些用户的认证因子。即便用户在线或离线(即连接至或不连接至网络),可以使用不同的认证方法。
递升式认证是这样一种特征,其中网关服务器606可以识别被允许访问要求强认证的高度分类数据的管理本地应用程序610,并确保对这些应用程序的访问只在执行适当的认证之后才被允许,即使这意味着在先前较弱的登录等级之后要求由用户进行再认证。
这种解决方案的另一安全特征是移动装置602上数据库616(容器)的加密。库616可以被加密,这样所有装置上的数据包括文件、数据库和配置都受到保护。对于在线库,密钥可以存储在服务器(网关服务器606)上,对于离线库,密钥的本地副本可以受到用户密码或生物测定验证的保护。当数据存储于装置602上本地的安全容器616中,优选使用最低AES256加密算法。
也可以实施其它安全容器特征。例如,可以包括记录特征,其中,发生在应用程序610内部的所有安全事件被记录并报告给后台。可以支持数据擦除,例如如果应用程序610检测到篡改,可以用随机数据重写关联的加密密钥,在文件系统上不留下用户数据被破坏的任何线索。截屏保护是另一种特征,其中,应用程序可以防止任何数据存储在截屏中。例如,密钥容器的隐藏性质可以设置为YES。这可以使目前屏幕上显示的无论什么内部都被隐藏,产生任何内容通常都会驻存的空白截屏。
例如通过阻止任何数据在应用程序容器外部本地传输,比如将其复制或发送到外部应用程序,可以阻止本地数据传输。键盘缓存特征可以操作,以禁止对于敏感文本字段的自动更正功能。SSL证书验证可以操作,使得应用程序特别验证服务器SSL证书,而不是将其存储在密钥链中。可以使用加密密钥生成特征,使得使用由用户提供的密码短语或生物测定数据生成用来加密装置上的数据的密钥(如果要求离线访问)。如果不要求离线访问,则所述密钥可以与随机生成的另一密钥进行逻辑异或,并存储在服务器侧。密钥导出函数可以操作,使得从用户密码生成的密钥使用KDF(密钥导出函数,特别是基于密码的密钥导出函数2(PBKDF2)),而不是创建其密码散列。后者使密钥易于受到暴力破解或字典攻击。
而且,一个或多个初始化向量可以用在加密方法中。初始化向量将使相同加密数据的多个副本产生不同的密文输出,阻止重放和密码分析攻击。如果不知道用来加密数据的特定初始化向量,则这还能防止攻击者用偷来的加密密钥解密任何数据。此外,可以使用认证后解密,其中,只在用户已经在应用程序内认证之后,才能解密应用程序数据。另一特征可以涉及存储器中的敏感数据,其可以只在需要时存储在存储器中(而不是盘中)。例如,在登录之后,可以从存储器擦除登录凭证,不存储对象-C实例变量内部的加密密钥和其它数据,原因是其可以被容易地引用。实际上,存储器可以对其进行手动分配。
可以实现不活动超时,其中,在策略定义的不活动周期之后,终止用户会话。
可以以其它方式防止应用程序管理框架614的数据泄露。例如,当应用程序610置于后台时,在预定(可配置的)时间段之后可以清除存储器。当在后台运行时,可以拍取最后显示的应用程序屏幕的快照,以固定在前台进程。截屏可以包含凭证数据,因此应当被清除。
另一安全特征涉及OTP(一次性密码)620的使用,不使用AD(活动目录)622密钥访问一个或多个应用程序。在一些情况下,一些用户不知道(或不被允许知道)其AD密码,所以这些用户可以使用OTP 620认证,例如通过使用如SecurID的硬件OTP系统(OTP可以由不同的卖方提供,例如Entrust或Gemalto)。在一些情况下,在用户认证用户ID之后,将带OTP620的文本发送至用户。在一些情况下,这只可以针对在线使用实现,因为提示是单字段。
针对一些应用程序610的离线认证,可以执行离线密码,因为离线使用通过企业策略被允许。例如,企业可能希望店面以此方式被访问。在这种情况下,客户端代理604可能要求用户设置客户离线密码,不使用AD密码。网关服务器606可以提供关于最小长度、字符分类组成和口令的使用年限(例如由标准Windows服务器密码复杂度要求描述的)控制和实施口令标准的策略,不过这些要求可以被修改。
另一特征涉及对于某些应用程序610作为二次凭证的客户端侧证书的实现(出于通过应用程序管理框架micro VPN特征访问PKI保护的网络资源的目的)。例如,应用程序可以使用此类证书。在这种情况下,可以支持使用ActiveSync协议的基于证书的认证,其中,来自客户端代理604的证书可以被网关服务器606检索并用在密钥链中。每个管理应用程序可以具有一个相关的客户端证书,所述客户端证书由网关服务器606中定义的标签标识。
网关服务器606可以与企业专用网络服务交互,以支持客户端证书的发行,从而允许相关的管理应用程序认证内部的PKI保护资源。
客户端代理604和应用程序管理框架614可以被增强以支持获得并使用客户端证书用于认证内部PKI保护的网络资源。可以支持超过一个证书,例如以匹配各种等级的安全性和/或隔离要求。证书可以由邮件和浏览器管理应用程序使用,并最终由任意包装应用程序使用(只要这些应用程序使用网络服务类型的通信模式,其中应用程序管理框架调解http请求是合理的)。
iOS上的应用程序管理客户端证书支持可以依赖于在每个使用周期将公钥密码标准(PKCS)12BLOB(二进制大对象)输入到每个管理应用程序中的iOS密钥链。应用程序管理框架客户端证书支持可以使用带专用存储器中密钥存储的HTTP实现。客户端证书决不会出现在iOS密钥链中,除了可能在强保护的“只在线”的数据值中之外,将不会保持。
通过要求移动装置602对企业认证也可以实现手动SSL,以提供附加的安全性,反之亦然。也可以实现用于认证到网关服务器606的虚拟智能卡。
限制性和完全的Kerberos支持可以是附加特征。完全的支持特征涉及使用AD密码或可信客户端证书执行完全Kerberos登录到活动目录(AD)622的能力,并获得Kerberos服务票以对HTTP协商认证挑战进行响应。限制性支持特征涉及Citrix Access GatewayEnterprise Edition(AGEE)中的约束委派,其中,AGEE支持调用Kerberos协议转换,使得其能响应于HTTP协商认证挑战,获得并使用Kerberos服务票(经过约束委派)。这种机制在反向网络代理(亦称企业虚拟专用网(CVPN))模式并且在VPN和MicroVPN模式中代理http(不是https)连接时起作用。
另一特征涉及应用程序容器锁定和擦除,其可以在越狱或根目录化检测时自动出现,并且作为来自管理控制台的推送命令出现,并且可以包括即便应用程序610不运行时的远程擦除功能。
可以支持企业应用程序商店和应用程序控制器的多站点架构或配置,以允许在失效情况下由几个不同位置之一给用户提供服务。
在一些情况下,可以允许管理应用程序610通过API(示例性OpenSSL)访问证书和私钥。可以允许企业的可信管理应用程序610用应用程序的客户端证书和私钥执行特定的公钥操作。各种使用情况可以被标识并相应对待,这些使用情况例如有当应用程序表现为像浏览器那样并且不需要任何证书访问时,当应用程序读“我是谁”的证书时,当应用程序使用证书建立安全会话令牌时,以及当应用程序使用私钥用于重要数据(例如交易记录)的数字签名或用于临时数据加密时。
使用导出凭证注册企业移动装置管理服务
已经讨论了可以用于提供和/或实现本公开的各个方面的计算架构的几个示例,现在将更详细地讨论几个实施例。具体地,如上面介绍的,本公开的一些方面一般涉及使用导出凭证使移动计算装置注册企业移动装置管理系统。在下面的描述中,将讨论各种各样的示例,这些示例根据一个或多个实施例图解说明移动计算装置可以注册企业移动装置管理系统的方式。
图7描绘了示意性系统架构,其中,移动计算装置710可以注册到企业移动装置管理服务器724,以便访问企业资源720。图7所描述的系统的架构在许多方面类似于上面参照图5和图6描述的系统500和600的架构,并且可以包括上面没有提到的附加特征。为了简洁起见,已经省略了上面参照图5和图6描述的移动管理系统500和600的一些部件。
在一个实施例中,注册应用程序712可以响应于用户命令而运行。可能已经命令移动计算装置710的用户通过启动注册应用程序712开始注册过程。注册应用程序712可以被配置成提示移动计算装置710的用户提供用户名。在一些实施例中,用户名可以包括用户主要名称(UPN)。注册应用程序712还可以被配置成提示移动计算装置710的用户提供企业移动装置管理服务器724的网络地址。在一些实施例中,企业移动装置管理服务器724的网络地址可以包括统一记录定位器(URL)地址。在其它实施例中,企业移动装置管理服务器724的网络地址可以包括互联网协议(IP)地址。
自动发现服务器722可以是单服务器或多服务器系统,或基于云的系统,包括如上文参照图4描述的至少一个虚拟化服务器。注册应用程序712可以通过网络730访问自动发现服务器722。网络730可以是有线网、无线网、云网络、局域网、城域网、广域网、公用网、专用网等等。注册应用程序712可以被配置成生成配置信息请求消息。所述配置信息请求消息可以包括由移动计算装置710的用户提供的用户名和/或企业移动装置管理服务器724的网络地址。注册应用程序712可以通过网络730将这些配置信息请求消息传输至自动发现服务器722。自动发现服务器722可以被配置成用包括企业移动装置管理服务器724的配置信息的消息对来自注册应用程序712的配置信息请求消息进行响应。配置信息可以包括用来与企业移动装置管理服务器724通信的重定向信息和/或设置标记。自动发现服务器722可以基于配置请求消息中包括的用户名或企业移动装置管理服务器724的网络地址,确定其对配置请求消息的响应。
企业移动装置管理服务器724可以是单服务器或多服务器系统,或基于云的系统,包括如上文参照图4描述的至少一个虚拟化服务器。此类移动装置管理服务器的示例有由位于Fort Lauderdale,FL的Citrix Systems公司制造的XENMOBILE服务器。注册应用程序712可以通过网络730访问企业移动装置管理服务器724。注册应用程序712可以被配置成将注册请求消息发送至企业移动装置管理服务器724。在一些实施例中,注册应用程序712可以使用由用户提供的企业移动装置管理服务器724的网络地址寻址注册请求消息。在其它实施例中,注册应用程序712可以使用从自动发现服务器722接收的配置信息寻址注册请求消息。企业移动装置管理服务器724可以被配置成用包括导出凭证信息、证书管理系统应用程序信息和口令复杂度规则信息的响应消息,对注册请求消息进行响应。
进一步参照图7,注册应用程序712可以被配置成基于包括于从企业移动装置管理服务器724接收的注册请求响应消息中的密码复杂度规则信息,提示移动计算装置710的用户提供用户密码。用户密码可以是只有移动计算装置710的用户知道的秘密或密码。用户密码可以不是用户的网络或目录服务密码。用户密码可以用来保护存储于移动计算装置710中的导出凭证,这将在下文更详细描述。注册应用程序712可以被配置成导出由用户密码生成的密码验证值。在一些实施例中,可以使用KDF(密钥导出函数,特别是基于密码的密钥导出函数2(PBKDF2))生成密码验证值,而不是创建用户密码的密码散列。后者使密钥易于受到暴力破解或字典攻击。然后可以使用非常强形式的加密(例如高级加密标准(AES)256位的加密等等)对基于密码的密钥值进行加密。注册应用程序712可以在移动计算装置710上的共享库716中存储产生的密码验证值。注册应用程序712可以不在共享库716中存储用户密码。
移动计算装置710可以运行iOS操作系统、Android操作系统等等。在一个实施例中,共享库716可以是基于iOS的移动计算装置中的共享密钥链;在另一实施例中,共享库716可以是基于Android的移动计算装置中的共享内容提供者;在又一实施例中,共享库716可以是如上文参照图6描述的共享数据库。在一些实施例中,访问共享库716的所有应用程序,如注册应用程序712和证书管理系统应用程序714可以用相同的开发签名证书进行数字签名。可以允许共享相同的开发签名证书的应用程序共享存储于共享库716中的数据。
证书管理系统服务器728可以由证书管理系统应用程序714通过网络730访问。证书管理系统服务器728可以是单服务器或多服务器系统,或基于云的系统,包括如上文参照图4描述的至少一个虚拟化服务器。证书管理系统可以是以下非详尽产品列表中的任何一个:由位于Leicestershire,United Kingdom的Intercede Group Plc.制造的MyID;或者由位于Minneapolis,Minnesota的Entrust Datacard Corporation制造的IdentityGuardTM。注册应用程序712可以启动证书管理系统应用程序714,并使得移动计算装置710将控制切换到证书管理系统应用程序714。作为启动命令的一部分,注册应用程序712可以将从移动计算装置710的用户接收的用户密码提供至证书管理系统应用程序714。在一些实施例中,注册应用程序712可以通过包括所述用户密码的统一资源定位器(URL)地址启动证书管理系统应用程序714。注册应用程序712可以基于从企业移动装置管理服务器724接收的注册请求响应消息中包括的证书管理系统应用程序信息识别要启动的证书管理系统应用程序714。如果或者当由注册应用程序712识别的证书管理系统应用程序714在移动计算装置710上没有安装时,则注册应用程序712可以被配置成在移动计算装置710上启动应用程序商店(图7中没有示出)或者如上文参照图5描述的访问应用程序商店578,并提示移动计算装置710的用户安装证书管理系统应用程序714。
目录服务726可以是单服务器或多服务器系统,或者基于云的系统,包括如上文参照图4描述的至少一个虚拟化服务器。目录服务726可以是被配置成认证和授权企业中的用户和装置的服务器,如由位于华盛顿州雷蒙德市的微软公司制造的Microsoft ActiveDirectory。
证书管理系统应用程序714可以被配置成在证书管理系统服务器728认证移动计算装置的用户和移动计算装置。证书管理系统应用程序714可以使用至少一个或多个认证机制以根据企业要求在证书管理系统服务器728上认证。在一个实施例中,可以远程地执行认证。在另一实施例中,可以在信息站740当面执行认证,并且可以包括生物测定认证。在此实施例中,信息站740根据需要可以配备有PIV或CAC读卡器、照相机和生物测定传感器(图7中未示出)以执行认证机制。除了认证移动计算装置710的用户之外,认证机制可以验证移动计算装置710的用户被允许拥有导出凭证。证书管理系统服务器728可以访问目录服务726中的用户的信息,以认证用户并验证用户的许可。本文中描述的认证机制应当是与企业可能已经使用的实现其组织中PIV或CAC卡的认证的相同的认证机制。换言之,移动计算装置710的用户可能已经熟悉本发明的注册方法和技术中描述的认证机制。
在已经认证用户之后,证书管理系统应用程序714可以从证书管理系统服务器728请求并接收至少一个或多个导出凭证。导出凭证可以包括注册凭证、安全/多目的互联网邮件扩展(S/MIME)加密和签名证书、其它网络凭证、加密证书、签名证书等等。证书管理系统应用程序714可以被配置成使用非常强的加密形式(例如高级加密标准(AES)256位的加密等等)对接收的导出凭证进行加密。当曾启动过证书管理系统应用程序714时,证书管理系统应用程序714可以用由注册应用程序712提供的用户密码增强加密算法。替代性地,证书管理系统应用程序714可以被配置成提示移动计算装置710的用户提供用户密码。借助从共享库716检索的密码验证值,用户密码可以由证书管理系统应用程序714验证。如果或者当用户密码通过验证时,证书管理系统应用程序714可以将加密的导出凭证存储在移动计算装置710上的共享库716中。在其它实施例中,在移动计算装置710上的共享库716中存储导出凭证之前,证书管理系统应用程序714可以使用私钥/公钥对对导出凭证进行加密。
在一些实施例中,证书管理系统应用程序714可以在开始本发明的注册方法和技术之前,认证证书管理系统服务器728,并在共享库716中存储导出凭证。在这种实施例中,移动计算装置710的用户可以完成上面描述的认证机制,在启动注册应用程序712之前,使证书管理系统应用程序714将导出凭证存储在共享库716中。
在证书管理系统应用程序714已经在共享库716中存储导出凭证之后,证书管理系统应用程序714可以使移动计算装置710将控制切换回注册应用程序712。注册应用程序712可以被配置成向企业移动装置管理服务器724发送消息,请求完成注册所需的导出凭证的类型。响应于所述请求,企业移动装置管理服务器724可以被配置成发送包括关于完成注册所需的导出凭证的类型的信息的消息。注册应用程序712可以被配置成从共享库716检索导出凭证的链接。注册应用程序712可以使用由移动计算装置710的用户提供的用户密码对来自共享库716的加密的导出凭证解密。替代性地,如果或者当注册应用程序712没有所述用户密码时,注册应用程序712可以提示移动计算装置710的用户提供所述用户密码。例如,注册应用程序712可以不再具有所述用户密码,因为移动计算装置710的用户可能已经不经意地停止和重新启动注册应用程序712。注册应用程序712可以被配置成将导出凭证呈现给企业移动装置管理服务器724。企业移动装置管理服务器724可以被配置成验证导出凭证。企业移动装置管理服务器724可以与证书管理系统服务器728通信,以检验针对移动计算装置710的导出凭证的有效性。企业移动装置管理服务器724还可以与目录服务726通信,以检验移动计算装置710的用户的有效性。在一些实施例中,所述注册流可以要求注册应用程序712将附加的导出凭证提供至企业移动装置管理服务器724。在这些实施例中,注册应用程序712可以从共享库716检索并解密附加的导出凭证,并将附加的导出凭证提供至企业移动装置管理服务器724。例如,企业移动装置管理服务器724可以要求一组导出凭证以完成移动装置管理注册,并且可以要求不同的一组导出凭证以完成移动应用程序管理注册。在其它实施例中,企业移动装置管理服务器724可以从注册应用程序712提供的导出凭证中提取用户名,而不是从注册应用程序712请求用户名。
一旦完成导出凭证的验证,注册流可以完成,而不需要移动计算装置710的用户提供任何另外的凭证。注册应用程序712可以访问并配置由移动计算装置710的操作系统本地支持的移动装置管理(MDM)代理。例如,在基于iOS的移动计算装置上,注册应用程序712可以配置iOS操作系统中包括的本地MDM代理。企业移动装置管理服务器724还可以推送由注册应用程序712安装的企业确定的策略,以管理移动计算装置710。所述策略可以是移动装置管理策略、移动应用程序管理策略、移动数据管理策略或者移动装置、应用程序和数据管理策略的某种组合。企业移动装置管理服务器724还可以推送将由注册应用程序712安装在移动计算装置710上的应用程序。如上文参照图5描述的,这些应用程序可以是安全的或容器化(containerized)的应用程序,或者可以是不安全的或者非管理应用程序。一旦已经完成注册流,移动计算装置710可以称作已注册装置。
有利的是,如上面更详细地说明的,企业用户可能不必知道或输入其网络或目录服务密码,就能将其移动计算装置注册到企业移动装置管理服务器。此外,注册用户体验得到增强,原因是在注册过程中,PIV或CAC卡不需要物理连接至移动计算装置。而且,企业可以通过企业移动装置、应用程序和移动计算装置上提供的数据管理策略,管理由移动计算装置访问的企业资源的安全性。
图7只图解说明可以使用的系统架构的一个示例,本领域技术人员会认识到使用的特定的系统架构和计算装置可以变化,相对其提供的功能是次要的,如本文中进一步描述的。例如,由自动发现服务器722和企业移动装置管理服务器724提供的服务可以组合在单个服务器上或者可以在多个服务器中进行负载平衡。
图8A-8C描绘了示例性事件序列,其图解说明了使用导出凭证给移动计算装置注册企业移动装置管理服务的方法。从图8A-8C可见,可以在计算环境(例如图7图示的系统)以及具有不同架构的其它系统(例如图1-6的全部或一部分)中执行所描述示例性事件序列的一个或多个步骤和本文中描述的其它相似示例。在其它实施例中,图8A-8C中图示的方法和/或其一个或多个步骤可以体现在计算机可读介质(例如非瞬态计算机可读存储器)中。
参照图8A步骤801,注册应用程序712可以提示移动计算装置710的用户提供用户名。注册应用程序712还可以提示用户提供企业移动装置管理服务器724的网络地址。在步骤802,注册应用程序712可以将消息发送至自动发现服务器722,请求企业移动装置管理服务器724的配置信息。在步骤803,自动发现服务器722可以基于用户名和/或由注册应用程序712提供的企业移动装置管理服务器724的网络地址确定对请求的响应。在步骤804,注册应用程序712可以从自动发现服务器722接收对配置信息请求消息的响应,包括企业移动装置管理服务器724的配置信息。在步骤805,注册应用程序712可以将注册请求消息发送至企业移动装置管理服务器724。注册请求消息可以包括从自动发现服务器722接收的配置信息。在步骤806,注册应用程序712可以从企业移动装置管理服务器724接收对注册请求消息的响应。来自企业移动装置管理服务器724的响应可以包括导出凭证信息、证书管理系统应用程序信息和密码复杂度规则信息。在步骤807,注册应用程序712可以提示用户提供密码。注册应用程序712可以使用从企业移动装置管理服务器724接收的注册请求响应消息中包括的密码复杂度规则信息,验证用户密码。如果或者当用户密码通过验证时,注册应用程序712可以基于用户密码生成密码验证值,并将密码验证值存储在共享库716中,如步骤808所示。在步骤809,注册应用程序712可以使移动计算装置710将控制切换到证书管理系统应用程序714。注册应用程序712可以基于从企业移动装置管理服务器724接收的注册请求响应消息中包括的证书管理系统应用程序信息,识别要启动的证书管理系统应用程序714。在步骤809,注册应用程序712还可以将用户密码提供至证书管理系统应用程序714。
参照图8B步骤810,证书管理系统应用程序714可以在证书管理系统服务器728上认证移动计算装置的用户和移动计算装置。作为认证步骤810的一部分,证书管理系统服务器728可以访问目录服务726中用户的信息,以认证用户,并验证如步骤810a中所示的用户的许可。在步骤810b,证书管理系统服务器728还可以从PIV或CAC卡和位于信息站740的生物测定传感器获得用户的认证信息。步骤810中描述的认证机制可以是由企业确定的认证企业用户的机制。在步骤811,证书管理系统应用程序714可以将消息发送至证书管理系统服务器728,请求导出凭证。在步骤812,证书管理系统服务器728可以响应于所述请求,提供导出凭证,所述导出凭证然后由证书管理系统应用程序714接收。如果或者当证书管理系统应用程序714不具有用户密码时,证书管理系统应用程序714可以提示用户提供用户密码,如步骤813所示。在步骤814,证书管理系统应用程序714可以从共享库716检索密码验证值,并确定用户密码的有效性,如步骤815所示。在步骤816,证书管理系统应用程序714可以使用经验证的用户密码加密导出凭证,并且将加密的导出凭证存储在共享库716中,如步骤817所示。在步骤818,证书管理系统应用程序714可以使移动计算装置将控制切换回注册应用程序712。
参照图8C步骤819,注册应用程序712可以从企业移动装置管理服务器724请求完成注册所需的导出凭证的类型。在步骤820,企业移动装置管理服务器724可以响应于请求,提供完成注册所需的导出凭证的类型。如果或者当注册应用程序712没有用户密码时,则注册应用程序712可以提示移动计算装置710的用户提供用户密码,并使用从共享库716检索的密码验证值验证用户密码,如步骤821所示的。在步骤822,注册应用程序712可以从共享库716检索导出凭证的链接。在步骤823,注册应用程序712可以将导出凭证呈现给企业移动装置管理服务器724。在步骤824,企业移动装置管理服务器724可以验证由注册应用程序712呈现的导出凭证。作为验证步骤824的一部分,企业移动装置管理服务器724可以与目录服务726通信以验证移动计算装置710的用户的有效性,如在步骤824a中所示的。在步骤824b,企业移动装置管理服务器724可以与证书管理系统服务器728通信,以验证针对移动计算装置710的导出凭证的有效性。在步骤825,注册流可以完成,不需要移动计算装置710的用户提供任何进一步的凭证。注册应用程序712可以配置移动计算装置710的操作系统本地的移动装置管理(MDM)代理。企业移动装置管理服务器724还可以推送管理移动计算装置710并在移动计算装置710上安装应用程序的策略。在步骤826,移动计算装置710可以称作已注册装置。
图9描绘了其中已注册移动计算装置910可以使用导出凭证以便访问企业资源720的示意性系统架构。图9中描绘的系统的架构在许多方面与参照图5、图6和图7在上文描述的系统的架构相似,可以包括上文没有提到的附加特征。出于简洁起见,省略了参照图5、图6和图7在上文描述的移动管理系统的一些部件。
已注册移动计算装置910可以通过如上文参照图7和图8A-8C描述的移动装置管理策略的应用程序管理。容器化应用程序918可以是如上文参照图5描述的安全或管理应用程序。因此,容器化应用程序918可以服从于由已注册移动计算装置910强加的移动装置管理策略。容器化应用程序918可以是电子邮件应用程序、网络浏览应用程序、软件即服务(SaaS)应用程序、访问应用程序等等。可以用与注册应用程序712和证书管理系统应用程序714相同的开发签名证书对容器化应用程序918数字签名。因此,容器化应用程序918可以访问由注册应用程序712存储于共享库716中的密码验证值以及由证书管理系统应用程序714存储于共享库716中的导出凭证,如上文关于图7和图8A-8C描述的。容器化应用程序918可以被配置成提示已注册移动计算装置910的用户提供用户密码。容器化应用程序918可以使用从共享库716检索的密码验证值验证用户密码。如果或者当用户密码通过验证时,容器化应用程序918可以检索存储于共享库716中的导出凭证的链接。容器化应用程序918可以直接地或者通过网关950访问企业资源720。
网关950可以是单服务器或多服务器系统,或者基于云的系统,包括如上文参照图4描述的至少一个虚拟化服务器。容器化应用程序918可以通过网络730访问网关950。网关950可以包括性能增强特征,其管理、加速并提高企业资源720向已注册移动计算装置910的传送。这种网关的一个示例是由位于Fort Lauderdale,FL的Citrix Systems公司制造的NETSCALER网关。网关950可以被配置成要求认证凭证以便与已注册移动计算装置910建立通信连接。容器化应用程序918可以被配置成从共享库716检索必要的导出凭证的链接,并将其提供至网关950以便建立与网关950的连接。网关950可以被配置成访问目录服务726中用户的信息,以认证用户并验证用户的许可。网关950还可以被配置成与证书管理系统服务器728通信以验证对于已注册移动计算装置910的导出凭证的有效性。如果或者当提供的导出凭证被网关950验证并且建立通信连接时,容器化应用程序918可以通过网关950访问企业资源720。
企业资源720可以包括电子邮件服务器、文件共享服务器、软件即服务(SaaS)应用程序服务器、网络应用程序服务器、访问应用程序服务器等等。企业服务器960可以是单服务器或多服务器系统,或者基于云的系统,包括如上文参照图4描述的至少一个虚拟化服务器。容器化应用程序918可以通过网络730或者直接地或者通过网关950访问企业服务器960。企业服务器960可以被配置成要求认证凭证,以便容器化应用程序918建立对企业服务器960的连接。企业服务器960还可以被配置成需要附加凭证,签名证书,加密证书等等,以便将资源和功能提供至容器化应用程序918。容器化应用程序918可以被配置成从共享库716检索必需的导出凭证,并根据需要将其呈现给企业服务器960以访问服务器资源,并提供必要的功能。例如,容器化应用程序918可以是安全电子邮件应用程序,企业服务器960可以是安全电子邮件服务器。在这种情况下,安全电子邮件服务器可能要求认证凭证以便认证已注册移动计算装置910的用户。安全电子邮件应用程序还可能需要签名证书以对发送至安全电子邮件服务器以便传送的电子邮件进行数字签名,和/或需要加密证书以加密发送的电子邮件,并解密接收的电子邮件。与网关950相似,企业服务器可以与目录服务726和证书管理系统服务器728通信以认证已注册移动计算装置910的用户,并验证由容器化应用程序918提供的导出凭证。
有利的是,由本方法和技术实现的途径允许企业用户从其已注册移动计算装置访问企业资源,不需要企业用户知道或输入其网络或目录服务密码。此外,PIV或CAC卡不需要物理连接至移动计算装置以获得访问。而且,将移动计算装置注册到企业移动装置管理服务器,因此允许企业使用由企业定义的一个或多个企业移动装置策略、一个或多个应用程序策略和/或一个或多个数据管理策略管理(例如通过企业移动装置管理服务器)移动计算装置访问的企业资源的安全性。
图9图解说明可以使用的系统架构的一个示例,本领域技术人员会认识到使用的特定的系统架构和计算装置可以变化,相对其提供的功能是次要的,如本文中进一步描述的。
图10描绘了示例性事件序列,其提供了容器化应用程序918将存储在共享库716中的导出凭证提供至企业服务器960的方法。如图10可见,除了使用具有不同架构(例如图1-7的全部或一部分)的其它系统之外,可以在计算环境(例如图9中所示的系统)中实现所描述示例性事件序列的一个或多个步骤和本文中描述的其它相似示例。在其它实施例中,图10中所示的方法和/或其一个或多个步骤可以体现在计算机可读介质例如非瞬态计算机可读存储器中。
进一步参照图10,在步骤1001,容器化应用程序918可以提示移动计算装置710的用户提供用户密码。在步骤1002,容器化应用程序918可以从共享库716检索密码验证值,并确定用户密码的有效性,如步骤1003所示。在步骤1004,容器化应用程序918可以从共享库716检索导出凭证的链接。容器化应用程序918还可以使用验证的用户密码对从共享库716检索的导出凭证解密。在步骤1005,容器化应用程序918可以将解密的导出凭证呈现给网关950以便认证并建立通信连接。在步骤1006,网关950可以验证由容器化应用程序918呈现的导出凭证。作为验证步骤1006的一部分,网关950可以与目录服务726通信,以验证已注册移动计算装置910的用户的有效性,如步骤1006a所示。在步骤1006b,网关950可以与证书管理系统服务器728通信以验证对于已注册移动计算装置910的导出凭证的有效性。
参照图10步骤1007,容器化应用程序918可以从共享库716检索企业服务器960认证以及访问企业服务器960的功能需要的导出凭证的链接。容器化应用程序918还可以使用验证的用户密码对从共享库716检索的导出凭证解密。在步骤1008,容器化应用程序918可以通过将解密的导出凭证呈现至企业服务器960从而认证并获得对企业服务器960的访问,如由企业服务器960确定的。在步骤1009,容器化应用程序918可以从共享库716检索附加的导出凭证,并将其呈现至企业服务器960,因为这是访问服务器资源并提供必要的功能所需要的。作为步骤1009的一部分,企业服务器960可以与目录服务726通信以验证已注册移动计算装置910的用户的有效性,如步骤1009a所示的。在步骤1009b,企业服务器960可以与证书管理系统服务器728通信,以验证对于已注册移动计算装置910的导出凭证的有效性。例如,容器化应用程序918可以是安全的电子邮件应用程序,企业服务器960可以是安全的电子邮件服务器。在这种情形中,安全电子邮件服务器可能需要认证凭证以便认证已注册移动计算装置910的用户。一旦认证,安全电子邮件应用程序可能需要用于传送加密证书的附加凭证(例如对发送至安全电子邮件服务器的电子邮件进行数字签名的签名证书)以加密发送的电子邮件,并解密接收的电子邮件等等。举另一示例,容器化应用程序918可以是安全代理,企业服务器960可以是安全客户关系管理服务器。安全代理可以将导出凭证的初始集合呈现给安全客户关系管理服务器以实现初始认证和访问。之后,安全客户关系管理服务器可以请求附加的认证凭证以提供对客户关系管理应用程序的高安全方面的访问。
图11描绘了根据本文中描述的一个或多个示意性方面使用导出凭证注册企业移动装置管理服务的示例性方法。参照图11,在步骤1105,移动计算装置可以接收注册到企业移动装置管理服务器的命令。在步骤1110,响应于接收注册到企业移动装置管理服务器的命令,移动计算装置可以运行注册应用程序。在步骤1115,移动计算装置可以使用注册应用程序将注册请求消息发送至企业移动装置管理服务器。在步骤1120,移动计算装置可以从注册应用程序切换到移动计算装置上的证书管理系统应用程序。在步骤1125,移动计算装置可以使用证书管理系统应用程序从证书管理系统服务器请求一个或多个导出凭证。在步骤1130,移动计算装置可以使用证书管理系统应用程序将一个或多个导出凭证存储在移动计算装置上的共享库中。在步骤1135,移动计算装置可以从证书管理系统应用程序切换到注册应用程序。在步骤1140,移动计算装置可以使用注册应用程序检索存储在移动计算装置上的共享库中的一个或多个导出凭证中的一个导出凭证。在步骤1145,移动计算装置可以使用注册应用程序将使用注册应用程序检索到的一个或多个导出凭证中的一个导出凭证提供至企业移动装置管理服务器,以将移动计算装置注册到由企业移动装置管理服务器提供的至少一个移动装置管理服务。
尽管已经以特定于结构特征和/或方法行为的语言描述了本发明的主题,但要理解所附权利要求中限定的主题不一定局限于上面描述的特定特征或行为。而是,上面描述的特定特征和行为作为以下权利要求的示例性实现描述。

Claims (18)

1.一种使用导出凭证注册企业移动装置管理服务的方法,所述方法包括:
由移动计算装置接收注册到企业移动装置管理服务器的命令;
响应于接收注册到所述企业移动装置管理服务器的所述命令,由所述移动计算装置运行注册应用程序;
由所述移动计算装置使用所述注册应用程序从自动发现服务请求所述企业移动装置管理服务器的配置信息;
在从所述自动发现服务请求所述企业移动装置管理服务器的所述配置信息之后,由所述移动计算装置从所述自动发现服务接收包括所述企业移动装置管理服务器的配置信息的消息;
由所述移动计算装置使用所述注册应用程序将注册请求消息发送至所述企业移动装置管理服务器,其中,所述注册请求消息包括所述移动装置管理服务器的所述配置信息;
由所述移动计算装置从所述注册应用程序切换到所述移动计算装置上的证书管理系统应用程序;
由所述移动计算装置使用所述证书管理系统应用程序从证书管理系统服务器请求一个或多个导出凭证;
由所述移动计算装置使用所述证书管理系统应用程序将所述一个或多个导出凭证存储在所述移动计算装置上的共享库中;
由所述移动计算装置从所述证书管理系统应用程序切换到所述注册应用程序;
由所述移动计算装置使用所述注册应用程序,检索存储在所述移动计算装置上的所述共享库中的所述一个或多个导出凭证中的一个导出凭证;以及
由所述移动计算装置使用所述注册应用程序将使用所述注册应用程序检索到的所述一个或多个导出凭证中的所述导出凭证提供至所述企业移动装置管理服务器,以将所述移动计算装置注册到由所述企业移动装置管理服务器提供的至少一个移动装置管理服务。
2.根据权利要求1所述的方法,其还包括:
由所述移动计算装置使用所述注册应用程序提示所述移动计算装置的用户提供所述企业移动装置管理服务器的地址。
3.根据权利要求1所述的方法,其还包括:
由所述移动计算装置使用所述注册应用程序从所述移动计算装置的用户接收密码;
由所述移动计算装置使用所述注册应用程序基于从所述移动计算装置的用户接收的所述密码生成密码验证值;
由所述移动计算装置使用所述注册应用程序在所述移动计算装置上的所述共享库中存储所述密码验证值;
由所述移动计算装置使用所述注册应用程序将从所述移动计算装置的用户接收的所述密码提供至所述证书管理系统应用程序;以及
由所述移动计算装置使用所述证书管理系统应用程序基于存储在所述移动计算装置上的所述共享库中的所述密码验证值验证提供至所述证书管理系统应用程序的所述密码。
4.根据权利要求3所述的方法,其还包括:
响应于所述注册请求消息,由所述移动计算装置从所述企业移动装置管理服务器接收包括密码复杂度验证规则的消息;以及
由所述移动计算装置使用所述密码复杂度验证规则验证所述密码。
5.根据权利要求3所述的方法,其中,生成密码验证值包括:
生成所述密码的散列;以及
对所述密码的散列进行加密。
6.根据权利要求3所述的方法,其还包括:
在所述移动计算装置上的所述共享库中存储所述一个或多个导出凭证之前,由所述移动计算装置使用所述证书管理系统应用程序基于从所述移动计算装置的用户接收的并提供至所述证书管理系统应用程序的所述密码对所述一个或多个导出凭证进行加密。
7.根据权利要求3所述的方法,其还包括:
在所述移动计算装置上的所述共享库中存储所述一个或多个导出凭证之前,由所述移动计算装置使用所述证书管理系统应用程序使用私/公钥对对所述一个或多个导出凭证进行加密。
8.根据权利要求1所述的方法,其还包括:
在切换到所述移动计算装置上的所述证书管理系统应用程序之前,响应于所述注册请求消息,由所述移动计算装置从所述企业移动装置管理服务器接收识别所述移动计算装置上的所述证书管理系统应用程序的消息;以及
由所述移动计算装置基于从所述企业移动装置管理服务器接收的识别所述移动计算装置上的所述证书管理系统应用程序的消息,确定切换到所述移动计算装置上的所述证书管理系统应用程序。
9.根据权利要求1所述的方法,其还包括:
在完成注册过程之后,由所述移动计算装置使用所述证书管理系统应用程序存储所述一个或多个导出凭证中的至少一个导出凭证。
10.根据权利要求1所述的方法,其中,用相同的开发签名证书对所述注册应用程序和所述证书管理系统应用程序进行数字签名。
11.根据权利要求10所述的方法,其还包括:
由所述移动计算装置使用所述移动计算装置上的一个或多个应用程序,从所述共享库检索所述一个或多个导出凭证中的至少一个导出凭证,所述一个或多个应用程序是用与所述注册应用程序和所述证书管理系统应用程序相同的开发签名证书数字签名的;以及
由所述移动计算装置使用从所述共享库检索的所述一个或多个导出凭证中的所述至少一个导出凭证,提供所述移动计算装置上的所述一个或多个应用程序中的功能,或者用所述移动计算装置上的所述一个或多个应用程序访问企业资源。
12.根据权利要求1所述的方法,其还包括:
由所述移动计算装置使用所述注册应用程序从所述共享库检索第一导出凭证和第二导出凭证;
由所述移动计算装置使用所述注册应用程序将所述第一导出凭证提供至所述企业移动装置管理服务器以完成移动装置管理注册;以及
由所述移动计算装置使用所述注册应用程序将所述第二导出凭证提供至所述企业移动装置管理服务器以完成移动应用程序管理注册。
13.根据权利要求1所述的方法,其中,在完成注册过程之后,由所述企业移动装置管理服务器给所述移动计算装置提供策略和应用程序。
14.根据权利要求1所述的方法,其还包括:
在从所述证书管理系统服务器请求所述一个或多个导出凭证之前:
由所述移动计算装置使用所述证书管理系统应用程序,使用所述证书管理系统应用程序在所述证书管理系统服务器上认证。
15.根据权利要求14所述的方法,其中,在所述证书管理系统服务器上认证包括提示所述移动计算装置的用户提供用于识别和认证目的的数据。
16.根据权利要求1所述的方法,其中,切换到所述移动计算装置上的所述证书管理系统应用程序包括:
运行所述移动计算装置上的应用程序商店;以及
如果或者当所述证书管理系统应用程序没有安装在所述移动计算装置上时,则提示所述移动计算装置的用户安装所述证书管理系统应用程序。
17.一种使用导出凭证注册企业移动装置管理服务的系统,包括:
至少一个处理器;以及
至少一个存储器,所述至少一个存储器存储计算机可执行指令,所述计算机可执行指令在由所述至少一个处理器执行时使所述系统执行权利要求1-16中任一项所述的方法。
18.存储计算机可执行指令的一个或多个非瞬态计算机可读介质,所述计算机可执行指令在由包括至少一个处理器和至少一个存储器的计算机系统执行时,使所述计算机系统执行权利要求1-16中任一项所述的方法。
CN201680055656.0A 2015-09-25 2016-09-16 使用导出凭证注册企业移动装置管理服务的系统和方法 Active CN108028845B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/865,376 US9668136B2 (en) 2015-09-25 2015-09-25 Using derived credentials for enrollment with enterprise mobile device management services
US14/865,376 2015-09-25
PCT/US2016/052057 WO2017053182A1 (en) 2015-09-25 2016-09-16 Using derived credentials for enrollment with enterprise mobile device management services

Publications (2)

Publication Number Publication Date
CN108028845A CN108028845A (zh) 2018-05-11
CN108028845B true CN108028845B (zh) 2020-11-10

Family

ID=57003604

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680055656.0A Active CN108028845B (zh) 2015-09-25 2016-09-16 使用导出凭证注册企业移动装置管理服务的系统和方法

Country Status (4)

Country Link
US (3) US9668136B2 (zh)
EP (1) EP3353982B1 (zh)
CN (1) CN108028845B (zh)
WO (1) WO2017053182A1 (zh)

Families Citing this family (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10581687B2 (en) * 2013-09-26 2020-03-03 Appformix Inc. Real-time cloud-infrastructure policy implementation and management
US10291472B2 (en) 2015-07-29 2019-05-14 AppFormix, Inc. Assessment of operational states of a computing environment
US9825834B2 (en) 2015-03-30 2017-11-21 Airwatch Llc Network speed detection
US10467421B2 (en) * 2015-10-23 2019-11-05 Oracle International Corporation Establishing trust between containers
US10187386B2 (en) * 2015-10-27 2019-01-22 Airwatch Llc Native enrollment of mobile devices
US9973497B2 (en) * 2015-12-04 2018-05-15 Sap Se System and method for communication to enterprise environment users of a mobile application by the mobile application provider
US10341320B2 (en) * 2016-01-19 2019-07-02 Aerohive Networks, Inc. BYOD credential management
US11424931B2 (en) * 2016-01-27 2022-08-23 Blackberry Limited Trusted execution environment
US10628174B2 (en) * 2016-02-17 2020-04-21 Microsoft Technology Licensing, Llc Transfer of control of configuration sources
US10219151B2 (en) 2016-03-17 2019-02-26 Aerohive Networks, Inc. Chromebook credential management
US11297058B2 (en) * 2016-03-28 2022-04-05 Zscaler, Inc. Systems and methods using a cloud proxy for mobile device management and policy
US10445506B2 (en) * 2016-03-30 2019-10-15 Airwatch Llc Detecting vulnerabilities in managed client devices
US10637723B2 (en) * 2016-03-30 2020-04-28 Airwatch Llc Configuring enterprise workspaces
US10389705B2 (en) 2016-03-30 2019-08-20 Airwatch Llc Associating user accounts with enterprise workspaces
US10284554B2 (en) * 2016-05-05 2019-05-07 Airwatch, Llc Systems for providing device-specific access to an e-mail server
US10565664B2 (en) * 2016-06-07 2020-02-18 International Business Machines Corporation Controlling access to a vault server in a multitenant environment
US11005836B2 (en) 2016-06-14 2021-05-11 Extreme Networks, Inc. Seamless wireless device onboarding
US10003670B2 (en) * 2016-06-17 2018-06-19 Airwatch Llc Remote provisioning and enrollment of enterprise devices with on-premises domain controllers
US10505983B2 (en) * 2016-11-09 2019-12-10 Airwatch Llc Enforcing enterprise requirements for devices registered with a registration service
US10594478B2 (en) * 2016-11-18 2020-03-17 International Business Machines Corporation Authenticated copying of encryption keys between secure zones
US10356079B2 (en) * 2016-12-05 2019-07-16 Keeper Security, Inc. System and method for a single sign on connection in a zero-knowledge vault architecture
JP6891569B2 (ja) * 2017-03-17 2021-06-18 株式会社リコー 情報端末、情報処理システム、情報処理方法及びプログラム
US10868742B2 (en) 2017-03-29 2020-12-15 Juniper Networks, Inc. Multi-cluster dashboard for distributed virtualization infrastructure element monitoring and policy control
US11068314B2 (en) 2017-03-29 2021-07-20 Juniper Networks, Inc. Micro-level monitoring, visibility and control of shared resources internal to a processor of a host machine for a virtual environment
US11323327B1 (en) 2017-04-19 2022-05-03 Juniper Networks, Inc. Virtualization infrastructure element monitoring and policy control in a cloud environment using profiles
EP3402152B1 (de) * 2017-05-08 2019-10-16 Siemens Aktiengesellschaft Anlagenspezifisches, automatisiertes zertifikatsmanagement
US10623389B2 (en) * 2017-05-11 2020-04-14 International Business Machines Corporation Authenticating a device based on communication patterns in a group of devices
US10887306B2 (en) 2017-05-11 2021-01-05 International Business Machines Corporation Authenticating an unknown device based on relationships with other devices in a group of devices
ES2862180T3 (es) * 2017-06-01 2021-10-07 Nokia Solutions & Networks Oy Autenticación de usuarios en la red de acceso inalámbrico
US10270759B1 (en) * 2017-06-21 2019-04-23 Mesosphere, Inc. Fine grained container security
CN109309565B (zh) * 2017-07-28 2021-08-10 中国移动通信有限公司研究院 一种安全认证的方法及装置
US10992656B2 (en) * 2017-08-24 2021-04-27 Vmware, Inc. Distributed profile and key management
US11443023B2 (en) * 2017-08-24 2022-09-13 Vmware, Inc. Distributed profile and key management
US10666446B2 (en) * 2017-11-15 2020-05-26 Xage Security, Inc. Decentralized enrollment and revocation of devices
US10972468B2 (en) 2017-11-21 2021-04-06 Vmware, Inc. Adaptive device enrollment
US10986078B2 (en) * 2017-11-21 2021-04-20 Vmware, Inc. Adaptive device enrollment
US10749870B2 (en) 2017-11-21 2020-08-18 Vmware, Inc. Adaptive device enrollment
US10798103B2 (en) * 2017-11-21 2020-10-06 VWware, Inc. Adaptive device enrollment
US10855686B2 (en) 2018-04-09 2020-12-01 Bank Of America Corporation Preventing unauthorized access to secure information systems using multi-push authentication techniques
EP3605373B1 (en) * 2018-07-30 2023-06-07 Blink.ing doo Authentication method for a client over a network
US11151214B2 (en) * 2019-01-23 2021-10-19 Vmware, Inc. Dynamically determining a server for enrollment with management system
US10944626B2 (en) * 2019-01-31 2021-03-09 Box, Inc. Enterprise mobility management (EMM) intermediary application
US20200274713A1 (en) * 2019-02-25 2020-08-27 Tbcasoft, Inc. Credential verification and issuance through credential service providers
US11422912B2 (en) 2019-04-19 2022-08-23 Vmware, Inc. Accurate time estimates for operations performed on an SDDC
US11232188B2 (en) 2019-04-26 2022-01-25 Vmware, Inc. Dynamically displaying features in a graphical user interface of an application
US11424940B2 (en) * 2019-06-01 2022-08-23 Vmware, Inc. Standalone tool for certificate management
US11093260B2 (en) * 2019-06-05 2021-08-17 Vmware Inc. Device provisioning with manufacturer boot environment
US11343148B2 (en) * 2020-03-09 2022-05-24 Microsoft Technology Licensing, Llc Secure management of devices
US11895133B2 (en) 2021-04-05 2024-02-06 Bank Of America Corporation Systems and methods for automated device activity analysis
US20230068880A1 (en) * 2021-08-27 2023-03-02 EMC IP Holding Company LLC Function-based service framework with trusted execution platform
US11936658B2 (en) 2021-11-15 2024-03-19 Bank Of America Corporation Intelligent assignment of a network resource

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101021921A (zh) * 2007-03-14 2007-08-22 联合东方诚信(北京)数据管理中心 一种企业注册登记基本信息保真查询系统以及查询方法
CN101448255A (zh) * 2007-11-27 2009-06-03 飞力凯网路股份有限公司 服务提供系统、服务提供服务器以及信息终端设备
CN101997858A (zh) * 2009-08-24 2011-03-30 华为终端有限公司 用户驻地设备广域网管理协议cwmp会话交互方法及装置
CN102769623A (zh) * 2012-07-24 2012-11-07 北京华财理账顾问有限公司 基于数字证书和生物识别信息进行双重认证的方法

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6275692B1 (en) * 1998-02-11 2001-08-14 Telefonaktiebolaget L M Ericsson (Publ) Server request including code for customizing service to requesting cellular mobile station
US7650303B2 (en) 1998-11-05 2010-01-19 Financeware, Inc. Method and system for financial advising
KR100843541B1 (ko) * 2003-09-05 2008-07-04 인터내셔널 비지네스 머신즈 코포레이션 이동 컴퓨팅 디바이스의 자동 검출을 위한 컴퓨터 구현 방법과 그 장치 및 컴퓨터 판독 가능한 기록 매체
US20110143768A1 (en) * 2009-12-14 2011-06-16 Lane Sean L Methods and apparatus related to region-specific mobile device and infrastructure detection, analysis and display
US20140040979A1 (en) 2011-10-11 2014-02-06 Citrix Systems, Inc. Policy-Based Application Management
US8863297B2 (en) * 2012-01-06 2014-10-14 Mobile Iron, Inc. Secure virtual file management system
US9392077B2 (en) * 2012-10-12 2016-07-12 Citrix Systems, Inc. Coordinating a computing activity across applications and devices having multiple operation modes in an orchestration framework for connected devices
US8910239B2 (en) * 2012-10-15 2014-12-09 Citrix Systems, Inc. Providing virtualized private network tunnels
WO2014062804A1 (en) * 2012-10-16 2014-04-24 Citrix Systems, Inc. Application wrapping for application management framework
US20150127607A1 (en) * 2013-01-10 2015-05-07 Unicom Systems, Inc. Distributed data system with document management and access control
US10284627B2 (en) * 2013-03-29 2019-05-07 Citrix Systems, Inc. Data management for an application with multiple operation modes
US9369449B2 (en) 2013-03-29 2016-06-14 Citrix Systems, Inc. Providing an enterprise application store
US9380077B2 (en) * 2013-08-08 2016-06-28 Iboss, Inc. Switching between networks
US9083752B2 (en) * 2013-10-01 2015-07-14 Codeproof Technologies, Inc. Mobile device management as a simplified online software service
US10742520B2 (en) * 2013-12-31 2020-08-11 Citrix Systems, Inc. Providing mobile device management functionalities
US9501315B2 (en) * 2014-01-10 2016-11-22 Citrix Systems, Inc. Management of unmanaged user accounts and tasks in a multi-account mobile application
US10104538B2 (en) 2014-01-27 2018-10-16 Samsung Electronics Co., Ltd. Apparatus and method for providing a mobile device management service
US9635014B2 (en) 2014-02-21 2017-04-25 Samsung Electronics Co., Ltd. Method and apparatus for authenticating client credentials
WO2015171549A2 (en) * 2014-05-05 2015-11-12 Citrix Systems, Inc. Facilitating communication between mobile applications
US10205760B2 (en) * 2014-05-05 2019-02-12 Citrix Systems, Inc. Task coordination in distributed systems
US10924554B2 (en) * 2014-05-05 2021-02-16 Citrix Systems, Inc. Application customization

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101021921A (zh) * 2007-03-14 2007-08-22 联合东方诚信(北京)数据管理中心 一种企业注册登记基本信息保真查询系统以及查询方法
CN101448255A (zh) * 2007-11-27 2009-06-03 飞力凯网路股份有限公司 服务提供系统、服务提供服务器以及信息终端设备
CN101997858A (zh) * 2009-08-24 2011-03-30 华为终端有限公司 用户驻地设备广域网管理协议cwmp会话交互方法及装置
CN102769623A (zh) * 2012-07-24 2012-11-07 北京华财理账顾问有限公司 基于数字证书和生物识别信息进行双重认证的方法

Also Published As

Publication number Publication date
CN108028845A (zh) 2018-05-11
WO2017053182A1 (en) 2017-03-30
US10285056B2 (en) 2019-05-07
US20190239073A1 (en) 2019-08-01
US9668136B2 (en) 2017-05-30
EP3353982B1 (en) 2019-08-14
EP3353982A1 (en) 2018-08-01
US20180049026A1 (en) 2018-02-15
US20170094509A1 (en) 2017-03-30
US10609560B2 (en) 2020-03-31

Similar Documents

Publication Publication Date Title
CN108028845B (zh) 使用导出凭证注册企业移动装置管理服务的系统和方法
CN111052706B (zh) 将单点登录扩展到联合登录提供者的依赖方的方法
CN109558721B (zh) 客户端应用程序的安全单点登录和条件访问的方法和系统
US11258780B2 (en) Securing a data connection for communicating between two end-points
US20220014515A1 (en) Secure Authentication Of A Device Through Attestation By Another Device
CN109155781B (zh) 对托管应用程序的动态访问
CN107566400B (zh) 用于确定应用的操作模式的方法
CN110521183B (zh) 基于对等通信的虚拟专用网络
US11652613B2 (en) Secure information exchange in federated authentication
JP2018524843A (ja) ハイブリッドクラウドサービスのためのパスワードの暗号化
CN112789841A (zh) 在远程访问或基于云的网络环境中访问资源
US11711214B2 (en) Enhanced token transfer
CN111566619A (zh) 虚拟桌面中的本地映射账户
US20220038282A1 (en) Secure Token Transfer between Untrusted Entities
US11526595B2 (en) Optically scannable representation of a hardware secured artifact
US11829505B2 (en) High security one-time encryption

Legal Events

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