CN105637523B - 安全客户端驱动映射和文件存储*** - Google Patents

安全客户端驱动映射和文件存储*** Download PDF

Info

Publication number
CN105637523B
CN105637523B CN201480056644.0A CN201480056644A CN105637523B CN 105637523 B CN105637523 B CN 105637523B CN 201480056644 A CN201480056644 A CN 201480056644A CN 105637523 B CN105637523 B CN 105637523B
Authority
CN
China
Prior art keywords
data file
file
data
encryption
client
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
CN201480056644.0A
Other languages
English (en)
Other versions
CN105637523A (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 CN105637523A publication Critical patent/CN105637523A/zh
Application granted granted Critical
Publication of CN105637523B publication Critical patent/CN105637523B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6272Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database by registering files or documents with a third party
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2143Clearing memory, e.g. to prevent the data from being stolen

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本文描述了用于提供用于移动设备管理类型保护的安全客户端驱动映射和/或文件存储的方法和***,可包括:执行用于在移动设备上呈现的受管应用,接收将数据文件在本地保存在移动设备上的请求;以及确定数据文件是否包含敏感数据。随后,当数据文件包含敏感数据时且响应于该请求,该方法和***还可包括将数据文件加密,将加密的数据文件存储在移动设备上,并将加密的数据文件链接到数据文件的未加密版本,数据文件的未加密版本不包含敏感数据。

Description

安全客户端驱动映射和文件存储***
对其它申请的交叉引用
本申请要求2013年10月16日提交的并具有标题“Secure Client Drive Mappingand File Storage System for Mobile Device Management Type Security”的未决的美国申请序列号14/054,899的优先权。
技术领域
本公开的方面涉及计算机硬件和软件。特别是,本公开的一个或多个方面通常涉及用于提供用于移动设备管理类型保护的安全客户端驱动映射和/或文件存储***的计算机硬件和软件。
背景
移动设备(例如智能电话、平板计算机、其它类型的移动计算设备等)变得越来越普遍。越来越多的人正为了各种目的而在个人和商业背景中使用移动设备。使用操作***例如WINDOWS 8,软件和硬件公司在单个移动设备上给移动设备提供例如社交网络服务连同计算服务例如字处理应用。
在单个电子设备上允许移动和计算服务对有带着在那个移动设备上的机密和/或敏感公司数据旅行的雇员的公司是有风险的。这在移动设备的本地驱动器被映射到公司的服务器和/或网络时尤其如此。例如,雇员可将包含敏感公司数据的文件上传到社交联网站点,因而引起大的安全问题。此外,如果不受欢迎的用户可以访问雇员的移动设备,则不受欢迎的用户也许能够访问在设备上存储在所映射的设备驱动器中的机密信息。
因此,存在对存储在移动设备上的敏感数据保护的需要。
概述
下文提供本文所述的各种方面的简化概述。该概述并不是广泛概述,且并不意欲识别关键或重要的元件或描述权利要求的范围。下面的概述仅仅提供以简化形式的一些概念作为下面提供的更详细描述的介绍性序言。
为了克服在上面描述的现有技术中的限制并克服在阅读和理解本说明书时明显的其它限制,本文所述的方面目的在于提供用于客户端设备文件存储和/或驱动映射的移动设备管理类型保护。
本公开的一个或多个方面提供:
1)一种方法,其可包括:执行用于在移动设备上呈现的受管应用,接收将数据文件在本地保存在移动设备上的请求;以及确定数据文件是否包含敏感数据。随后,当数据文件包含敏感数据时且响应于该请求,该方法还可包括将数据文件加密,将加密的数据文件存储在移动设备上,并将加密的数据文件链接到数据文件的未加密版本,数据文件的未加密版本不包含敏感数据。
2)如项目1)所述的方法,还包括:
在所述移动设备处接收打开所述加密的数据文件的请求;以及
响应于其而在所述移动设备处拒绝对所述加密的数据文件的访问,除非预定条件被满足。
3)如项目1)所述的方法,其中确定包括检测当所述数据文件处于使用中时由所述受管应用对所述数据文件的修改。
4)如项目3)所述的方法,其中所述修改包括:
连接到企业服务器机器;
访问来自所述企业服务器机器的企业信息;
将所述企业信息***所述数据文件内;以及
当所述敏感数据包括所述企业信息时:
对所述企业信息加密,以及
将加密的企业信息链接到所述数据文件的所述未加密版本。
5)如项目1)所述的方法,其中所述敏感数据包括企业机密数据。
6)如项目1)所述的方法,其中所述数据文件由主机服务器使用第一机群特定加密密钥来加密。
7)如项目6)所述的方法,其中所述第一机群特定密钥被存储在与未加密的数据文件相关的元数据中。
8)如项目7)所述的方法,其中所述元数据是与所述未加密的数据文件相关的文件流和变化日志之一,且所述元数据使用第二机群特定密钥被加密。
9)包括至少一个处理器和存储指令的至少一个存储器的***,指令在由至少一个处理器执行时可使***执行步骤。***执行的步骤可包括:执行用于在移动设备上呈现的受管应用,接收将数据文件在本地保存在移动设备上的请求;以及确定数据文件是否包含敏感数据。随后,当数据文件包含敏感数据时且响应于该请求,指令还可使***执行:将数据文件加密,将加密的数据文件存储在移动设备上,并将加密的数据文件链接到数据文件的未加密版本,数据文件的未加密版本不包含敏感数据。
10)如项目9)所述的***,所述指令还使所述***执行:
在所述移动设备处接收打开所述加密的数据文件的请求;以及
响应于其而在所述移动设备处拒绝对所述加密的数据文件的访问,除非预定条件被满足。
11)如项目9)所述的***,其中确定包括检测当所述数据文件处于使用中时由所述受管应用对所述数据文件的修改。
12)如项目11)所述的***,其中所述修改包括:
连接到企业服务器机器;
访问来自所述企业服务器机器的企业信息;
将所述企业信息***所述数据文件内;以及
当所述敏感数据包括所述企业信息时:
对所述企业信息加密,以及
将加密的企业信息链接到所述数据文件的所述未加密版本。
13)如项目9)所述的***,其中所述敏感数据包括企业机密数据。
14)如项目9)所述的***,其中所述数据文件由主机服务器使用第一机群特定加密密钥来加密。
15)如项目14)所述的***,其中所述第一机群特定密钥被存储在与未加密的数据文件相关的元数据中。
16)如项目15)所述的***,其中所述元数据是与所述未加密的数据文件相关的文件流和变化日志之一,且所述元数据使用第二机群特定密钥被加密。
17)一种或多种非临时计算机可读存储介质,其具有存储在其上的指令,指令在由一个或多个处理器执行时可使一个或多个处理器执行步骤。一个或多个处理器执行的步骤可包括:执行用于在移动设备上呈现的受管应用,接收将数据文件在本地保存在移动设备上的请求;以及确定数据文件是否包含敏感数据。随后,当数据文件包含敏感数据时且响应于该请求,指令还可使一个或多个处理器执行将数据文件加密,将加密的数据文件存储在移动设备上,并将加密的数据文件链接到数据文件的未加密版本,数据文件的未加密版本不包含敏感数据。
18)如项目17)所述的一种或多种非临时计算机可读存储介质,所述指令还使所述一个或多个处理器执行:
在所述移动设备处接收打开所述加密的数据文件的请求;以及
响应于其而在所述移动设备处拒绝对所述加密的数据文件的访问,除非预定条件被满足。
19)如项目17)所述的一种或多种非临时计算机可读存储介质,其中确定包括检测当所述数据文件处于使用中时由所述受管应用对所述数据文件的修改。
20)如项目19)所述的一种或多种非临时计算机可读存储介质,其中所述修改包括:
连接到企业服务器机器;
访问来自所述企业服务器机器的企业信息;以及
将所述企业信息***所述数据文件内,
当所述敏感数据包括所述企业信息时,所述指令还使所述一个或多个处理器执行:
对所述企业信息加密;以及
将加密的企业信息链接到所述数据文件的所述未加密版本。
在有下面更详细讨论的公开的益处的情况下将认识到这些和额外的方面。
附图说明
考虑到附图通过参考下面的详细描述可获取对本文所述的方面及其优点的更彻底的理解,其中相似的参考数字指示相似的特征,以及其中:
图1描绘可根据本文所述的一个或多个例证性方面使用的例证性计算机***架构。
图2描绘可根据本文所述的一个或多个例证性方面使用的例证性远程访问***架构。
图3描绘示出根据本文所述的一个或多个例证性方面的用于客户端驱动映射的移动设备管理类型保护的***的方框图。
图4描绘可根据本文所述的一个或多个例证性方面使用的例证性基于云的***架构。
图5描绘根据本文所述的一个或多个例证性方面的例证性企业移动性管理***。
图6描绘根据本文所述的一个或多个例证性方面的另一例证性企业移动性管理***。
图7描绘示出根据本文所述的一个或多个例证性方面的使用用于客户端驱动映射的移动设备管理类型保护将已修改文件保存到被映射的本地驱动器的过程的流程图。
图8描绘示出根据本文所述的一个或多个例证性方面的使用用于客户端驱动映射的移动设备管理类型保护打开在客户端上的文件的过程的流程图。
具体实施方式
在各种实施方式的下面的描述中,参考在上面识别的并形成其一部分的附图,且其中作为例证示出本文所述的方面可被实施的各种实施方式。应理解,可利用其它实施方式且可做出结构和功能修改而不偏离本文所述的范围。各种方面能够有其它实施方式且能够以各种不同的方式被实施或执行。
作为对下面更详细描述的主题的一般介绍,本文所述的方面目的在于使用在移动计算设备处的受管移动应用来控制对在企业计算***处的资源的远程访问。访问管理员可执行确定请求对企业资源的访问的移动应用是否本身被准确地识别出且随后在安装在移动计算设备处之后未被改变的确认过程。以这种方式,访问管理员可确保请求对企业资源的访问的移动应用可以是信任的且不试图绕开用于保护那些企业资源的安全机制。作为结果,与企业相关的个人可有利地在他们的个人移动设备处利用企业资源。
应理解,在本文使用的短语和术语是为了描述的目的且不应被视为限制性的。更确切地,在本文使用的短语和术语应被给予它们的最广泛的解释和含义。“including(包括)”和“comprising(包括)”及其变形的使用意欲包括在其后列出的项目及其等效形式以及额外的项目及其等效形式。术语“安装”、“连接”、“耦合”、“定位”、“啮合”和类似术语的使用意指包括直接和间接的安装、连接、耦合、定位和啮合。
计算架构
可在各种不同的***环境——尤其包括独立、联网、远程访问(又称远程桌面)、虚拟化和/或基于云的环境——中利用计算机软件、硬件和网络。图1示出可用于在独立和/或联网环境中实现在本文所述的一个或多个例证性方面的***架构和数据处理设备的一个例子。可经由广域网(WAN)101例如互联网来使各种网络节点103、105、107和109互连。也可以或可选地使用其它网络,包括专用内联网、局域网(LAN)、城域网(MAN)、无线网络、个人网络(PAN)等。网络101是为了说明目的且可以用更少的或额外的计算机网络代替。LAN可具有任何已知的LAN拓扑的一个或多个,并可使用各种不同的协议中的一个或多个,例如以太网。设备103、105、107、109和其它设备(未示出)可经由双绞线、同轴电缆、光纤、无线电波或其它通信介质连接到一个或多个网络。
如在本文使用和在附图中描绘的术语“网络”不仅指远程存储设备经由一个或多个通信路径被耦合在一起的***,而且也指可有时耦合到具有存储能力的这样的***的独立设备。因此,术语“网络”不仅包括“物理网络”而且包括由遍及所有物理网络存在的、可归属于单个实体的数据组成的“内容网络”。
部件可包括数据服务器103、web服务器105和客户端计算机107、109。数据服务器103提供用于执行本文所述的一个或多个例证性方面的数据库和控制软件的总访问、控制和管理。数据服务器103可连接到web服务器105,用户与该web服务器105交互作用并如所请求的得到数据。可选地,数据服务器103可充当web服务器本身并直接连接到互联网。数据服务器103可通过网络101(例如互联网)、经由直接或间接连接或经由某个其它网络连接到web服务器105。用户可使用远程计算机107、109例如使用经由web服务器105所托管的一个或多个外部暴露的web站点连接到数据服务器103的web浏览器来与数据服务器103交互作用。客户端计算机107、109可与数据服务器103协调地使用以访问存储在其中的数据,或可用于其它目的。例如,用户可使用如在本领域中已知的互联网浏览器或通过执行通过计算机网络(例如互联网)与web服务器105和/或数据服务器103通信的软件应用来从客户端设备107访问web服务器。
服务器和应用可组合在相同的物理机器上,并保持单独的虚拟或逻辑地址,或可存在于单独的物理机器上。图1示出可被使用的网络架构的仅仅一个例子,且本领域中的技术人员将认识到,所使用的特定的网络架构和数据处理设备可改变,且对它们提供的功能是次要的,如在本文进一步描述的。例如,由web服务器105和数据服务器103提供的服务可组合在单个服务器上。
每个部件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。数据服务器软件的功能可以指基于被编码到控制逻辑内的规则而自动做出的、由将输入提供到***内的用户手动做出的操作或决定和/或基于用户输入(例如查询、数据更新等)的自动处理的组合。
存储器121还可存储在本文所述的一个或多个方面的执行中使用的数据,包括第一数据库129和第二数据库131。在一些实施方式中,第一数据库可包括第二数据库(例如作为单独的表格、报告等)。也就是说,信息可存储在单个数据库中,或分成不同的逻辑、虚拟或物理数据库,取决于***设计。设备105、107、109可具有与关于设备103所述的相似或不同的架构。本领域中的技术人员将认识到,如本文所述的数据处理设备103(或设备105、107、109)的功能可在多个数据处理设备当中扩展,例如以在多个计算机当中分配处理负载,基于地理位置、用户访问水平、服务质量(QoS)等来分离交易。
一个或多个方面可体现在计算机可用或可读数据和/或计算机可执行指令中,例如在由一个或多个计算机或如本文所述的其它设备执行的一个或多个程序模块中。通常,程序模块包括当被计算机或其它设备中的处理器执行时执行特定的任务或实现特定的抽象数据类型的例程、程序、对象、部件、数据结构等。模块可以用随后被编译用于执行的源代码编程语言被编写或可以用脚本语言例如(但不限于)Javascript或ActionScript被编写。计算机可执行指令可存储在计算机可读介质例如非易失性存储设备上。可利用任何适当的计算机可读存储介质,包括硬盘、CD-ROM、光学存储设备、磁性存储设备和/或其任何组合。此外,可在源和目的地之间以通过信号传导介质例如金属线、光纤和/或无线传输介质(例如空气和/或空间)传播的电磁波的形式传送表示如本文所述的数据或事件的各种传输(非存储)介质。本文所述的各种方面可被体现为方法、数据处理***或计算机程序产品。因此,各种功能可全部或部分地体现在软件、固件和/或硬件或硬件等效形式例如集成电路、现场可编程门阵列(FPGA)等中。特定的数据结构可用于更有效地实现本文所述的一个或多个方面,且这样的数据结构被设想在本文所述的计算机可执行指令和计算机可用数据的范围内。
进一步参考图2,可在远程访问环境中实现本文所述的一个或多个方面。图2描绘示例***架构,其包括可根据本文所述的一个或多个例证性方面使用的在例证性计算环境200中的一般计算设备201。一般计算设备201可用作在配置成为客户端访问设备提供虚拟机的单服务器或多服务器桌面虚拟化***(例如远程访问或云***)中的服务器206a。一般计算设备201可具有用于控制服务器及其相关部件——包括随机存取存储器(RAM)205、只读存储器(ROM)207、输入/输出(I/O)模块209和存储器215——的总操作的处理器203。
I/O模块209可包括鼠标、键盘、触摸屏、扫描仪、光学阅读器和/或手写笔(或其它输入设备)(一般计算设备201的用户可通过这些设备提供输入),且还可包括用于提供音频输出的扬声器和用于提供文本、视听和/或图形输出的视频显示设备中的一个或多个。软件可存储在存储器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可以是虚拟机。虚拟机可以是任何虚拟机,虽然在一些实施方式中虚拟机可以是由类型1或类型2管理程序例如由Citrix Systems、IBM、VMware所形成的管理程序或任何其它管理程序管理的任何虚拟机。在一些方面中,虚拟机可由管理程序管理,而在方面中,虚拟机可由在服务器206上执行的管理程序或在客户端240上执行的管理程序管理。
一些实施方式包括显示应用输出的客户端设备240,应用输出由在服务器206或其它远程定位的机器上远程地执行的应用产生。在这些实施方式中,客户端设备240可执行虚拟机接收器程序或应用以在应用窗口、浏览器或其它输出窗口中显示输出。在一个例子中,应用是桌面,而在其它例子中,应用是产生或显现桌面的应用。桌面可包括为操作***的实例提供用户接口的图形外壳,本地和/或远程应用可集成在该图形外壳中。如在本文使用的应用是在操作***(以及可选地还有桌面)的实例被装入之后执行的程序。
服务器206在一些实施方式中使用远程表示协议或其它程序来将数据发送到瘦客户端或远程显示应用,远程显示应用在客户端上执行以显现由在服务器206上执行的应用产生的显示输出。瘦客户端或远程显示协议可以是协议的下面的非详尽列表中的任一个协议:由佛罗里达州Ft.Lauderdale的Citrix Systems有限公司开发的独立计算架构(ICA)协议或由华盛顿州Redmond的微软公司制造的远程桌面协议(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可按需要被配置为任何类型的服务器,例如文件服务器、应用服务器、web服务器、代理服务器、器具、网络器具、网关、应用网关、网关服务器、虚拟化服务器、部署服务器、SSL VPN服务器、防火墙、web服务器、应用服务器或作为主应用服务器、执行活动目录的服务器或执行提供防火墙功能、应用功能或负载平衡功能的应用加速程序的服务器。也可使用其它服务器类型。
一些实施方式包括从客户端机器240接收请求、将请求转发到第二服务器206b并使用来自第二服务器206b的响应对由客户端机器240产生的请求做出响应的第一服务器206a。第一服务器206a可获取客户端机器240可采用的应用的列举以及与托管在应用的列举内识别出的应用的应用服务器206相关的地址信息。第一服务器206a可接着使用web接口显现对客户端的请求的响应,并与客户端240直接通信以给客户端240提供对所识别的应用的访问。一个或多个客户端240和/或一个或多个服务器206可通过网络230例如网络101传输数据。
图2示出例证性桌面虚拟化***的高级架构。如所示,桌面虚拟化***可以是单服务器或多服务器***或云***,包括配置成向一个或多个客户端访问设备240提供虚拟桌面和/或虚拟应用的至少一个虚拟化服务器206。如在本文使用的,桌面指图形环境或空间,其中一个或多个应用可被托管和/或执行。桌面可包括为操作***的实例提供用户接口的图形外壳,本地和/或远程应用可集成在该图形外壳中。应用可包括在操作***(以及可选地还有桌面)的实例被装入之后执行的程序。操作***的每个实例可以是物理的(例如每设备一个操作***)或虚拟的(例如在单个设备上运行的OS的很多实例)。每个应用可在本地设备上执行或在远程定位的设备(例如远程的)上执行。
图3示出根据本文描述的一个或多个所公开的特征的用于客户端驱动映射的移动设备管理类型保护的***300的例子的方框图。***300可包括网络301、客户端驱动映射文件***(CDM***)302和客户端304。
网络301可由企业例如公司或工商企业操作和/或管理。网络301可允许客户端例如客户端304的用户从客户端访问企业或个人资源例如文件,并使用客户端用于个人使用。
CDM***302还可包括驱动器,例如CDM***驱动器306、***文件和可在用户或内核模式中操作的网络管理器。CDM***302可使用例如CDM服务驱动器306来将客户端驱动器映射到企业驱动器或CDM***302的驱动器。CDM***302的每个部件可与CDM***302的任何其它部件交互作用和/或耦合。CDM***302可例如位于企业服务器机器上。
客户端304可以是任何电子计算设备,例如平板计算机304a、膝上型计算机304b、移动电话304c等。客户端304可由将304a、304b和304c中的每个链接到CDM***302的线连接和/或耦合到在图3中示出的CDM***302。例如,CDM***302可以是网络301的部分,网络301可以是企业网。客户端304也可使用例如远程访问连接来连接到网络301。
***300可用于将在客户端304上的驱动器映射到与CDM***302相关的企业驱动器。当客户端设备连接到企业网络时,客户端驱动器映射使在客户端设备——包括CD-ROM、DVD或USB记忆棒——上安装的任何目录变成用户可采用的。当服务器配置成允许客户端驱动映射时,用户可访问他们的本地存储的文件,当连接到企业网络时与它们一起工作,并接着再次将它们保存在本地驱动器上或在服务器上的驱动器上。驱动器的映射允许与CDM***302相关的企业驱动器和客户端304的本地驱动器彼此通信,使得在客户端304上的读取和写入可经过CDM***302。例如,在客户端304连接到CDM***302且在客户端304上的驱动器映射到与CDM***302相关的企业驱动器之后,使用由CDM***302管理的应用将文件保存在客户端304上的请求可将文件的数据传递到CDM***302,且CDM***302可接着将文件写到在客户端304上的驱动器。在驱动器被映射之后,在客户端上运行的应用可通过访问那个驱动器从存储位置例如从企业服务器机器读取并写入文件,就好像那个驱动器表示在客户端例如客户端304上的本地物理硬盘驱动器一样。
进一步参考图4,可在基于云的环境中实现本文所述的一些方面。图4示出云计算环境(或云***)400的例子。如在图4中看到的,客户端计算机411-414可与云管理服务器410通信以访问云***的计算资源(例如主机服务器403a-403b(本文中总称为“主机服务器403”)、存储资源404a-404b(本文中总称为“存储资源404”)和网络资源405a-405b(本文中总称为“网络资源405”))。
可在一个或多个物理服务器上实现管理服务器410。管理服务器410可例如运行由佛罗里达州Ft.Lauderdale的Citrix Systems有限公司的CLOUDSTACK或OPENSTACK等。管理服务器410可管理各种计算资源,包括云硬件和软件资源,例如主机计算机403、数据存储设备404和联网设备405。云硬件和软件资源可包括专用和/或公共部件。例如,云可被配置为由一个或多个特定的消费者或客户端计算机411-414和/或通过专用网络使用的专用云。在其它实施方式中,公共云或混合公共-专用云可由其他消费者通过开放或混合网络来使用。
管理服务器410可配置成提供用户接口,云操作员和云消费者可通过用户接口与云***交互作用。例如,管理服务器410可提供一组API和/或具有用户接口以允许云操作员管理云资源、配置虚拟化层、管理消费者账户并执行其它云管理任务的一个或多个云操作员控制台应用(例如基于web或独立应用)。管理服务器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(华盛顿州Redmond的微软公司)、AMAZON EC2(华盛顿州西雅图的Amazon.com有限公司)、IBM BLUECLOUD(纽约Armonk的IBM公司)等。
企业移动性管理架构
图5表示在BYOD环境中使用的企业移动性技术架构500。该架构使移动设备502的用户能够从移动设备502访问企业或个人资源并使用移动设备502用于个人使用。用户可使用由用户购买的移动设备502或由企业提供给用户的移动设备502来访问这样的企业资源504或企业服务508。用户可将移动设备502只用于企业用途或用于企业和个人用途。移动设备可运行iOS操作***、Android操作***和/或类似操作***。企业可选择实现策略以管理移动设备504。策略可通过防火墙或网关被植入,使得移动设备可被识别出、保护或安全性被验证并被提供对企业资源的选择性或完全的访问。策略可以是移动设备管理策略、移动应用管理策略、移动数据管理策略或移动设备应用和数据管理策略的某个组合。通过移动设备管理策略的应用来管理的移动设备504可被称为已登记的设备。
移动设备的操作***可分成受管分区510和非受管分区512。受管分区510可使策略应用于它以保护在受管分区上运行的应用和存储在受管分区中的数据。在受管分区上运行的应用可以是安全应用。安全应用可以是电子邮件应用、web浏览应用、软件即服务(SaaS)访问应用、Windows应用访问应用等。安全应用可以是安全本机应用514、由安全应用发起器518执行的安全远程应用522、由安全应用发起器518执行的虚拟化应用526等。安全本机应用514可由安全应用封装器520封装。安全应用封装器520可包括当安全本机应用在设备上被执行时在移动设备502上执行的综合策略。安全应用封装器520可包括使在移动设备502上运行的安全本机应用514指向在企业处托管的资源的元数据,安全本机应用514可能需要所述资源来完成当执行安全本机应用514时请求的任务。由安全应用发起器518执行的安全远程应用522可在安全应用发起器518内执行。由安全应用发起器518执行的虚拟化应用526可利用在移动设备502上、在企业资源504处等的资源。在移动设备502上由安全应用发起器518所执行的虚拟化应用526使用的资源可包括用户交互作用资源、处理资源等。用户交互作用资源可用于收集并传输键盘输入、鼠标输入、摄像机输入、触觉输入、音频输入、视觉输入、手势输入等。处理资源可用于显现用户接口、处理从企业资源504接收的数据等。由安全应用发起器518所执行的虚拟化应用526使用的在企业资源504处的资源可包括用户接口产生资源、处理资源等。用户接口产生资源可用于组装用户接口、修改用户接口、刷新用户接口等。处理资源可用于创建信息、阅读信息、更新信息、删除信息等。例如,虚拟化应用可记录与GUI相关的用户交互作用并将它们传递到服务器应用,其中服务器应用将使用用户交互作用数据作为对在服务器上操作的应用的输入。在这个布置中,企业可选择维持在服务器侧上的应用以及与应用相关的数据、文件等。虽然企业可选择根据本文的原理通过保护用于部署在移动设备上的一些应用来“移动化”这些应用,也可为某些应用选择这个布置。例如,虽然一些应用可被保护用于在移动设备上使用,其它应用可能不准备或适合于部署在移动设备上,所以企业可以选择通过虚拟化技术来给移动用户提供对未准备好的应用的访问。作为另一例子,企业可具有带有大的和复杂的数据集的大的复杂的应用(例如材料资源规划应用),其中为移动设备定制应用可能非常难或不合乎需要,所以企业可选择通过虚拟化技术来提供对应用的访问。作为又一例子,企业可具有维持可被企业视作对甚至安全移动环境也太敏感的高度安全数据(例如人力资源数据、消费者数据、工程设计数据)的应用,所以企业可选择使用虚拟化技术来允许对这样的应用和数据的移动访问。企业可选择在移动设备上提供完全安全的和全功能的应用以及虚拟化应用来允许对被认为在服务器侧上更恰当地操作的应用的访问。在实施方式中,虚拟化应用可在移动设备上在安全存储位置之一上存储一些数据、文件等。企业例如可选择允许某些信息而不允许其它信息被存储在电话上。
根据如在本文所述的虚拟化应用,移动设备可具有设计成显现GUI并接着记录用户与GUI的交互作用的虚拟化应用。应用可将用户交互作用传递到服务器侧以由服务器侧应用使用来作为与应用的用户交互作用。作为响应,在服务器侧上的应用可将新GUI传输回到移动设备。例如,新GUI可以是静态页面、动态页面、动画等。
在受管分区上运行的应用可以是稳定的应用。稳定的应用可由设备管理器524管理。设备管理器524可监控稳定的应用并利用用于检测并补救问题的技术,如果这样的技术不被利用来检测并补救问题,将导致不稳定的应用。
安全应用可访问存储在移动设备的受管分区510中的安全数据容器528中的数据。存储在安全数据容器中的数据可由安全本机应用514、由安全应用发起器518执行的安全远程应用522、由安全应用发起器518执行的虚拟化应用526等访问。存储在安全数据容器528中的数据可包括文件、数据库等。存储在安全数据容器528中的数据可包括被限制到特定的安全应用530、在安全应用532当中被共享等的数据。被限制到安全应用的数据可包括安全一般数据534和高度安全的数据538。安全一般数据可使用强形式的加密,例如AES 128位加密等,而高度安全的数据538可使用非常强的形式的加密,例如AES 254位加密。当从设备管理器524接收到命令时,可从设备删除存储在安全数据容器528中的数据。安全应用可具有双模选项540。双模选项540可给用户显现在不安全模式中操作安全应用的选项。在不安全模式中,安全应用可访问存储在移动设备502的非受管的分区512上的不安全数据容器542中的数据。存储在不安全数据容器中的数据可以是个人数据544。存储在不安全数据容器542中的数据也可由在移动设备502的非受管的分区512上运行的不安全应用访问。当从移动设备502删除存储在安全数据容器528中的数据时,存储在不安全数据容器542中的数据可保持在移动设备502上。企业可能想要从移动设备删除由企业拥有、许可或控制的选定或所有数据、文件和/或应用(企业数据),同时维持或以其他方式保存由用户拥有、许可或控制的个人数据、文件和/或应用(个人数据)。这个操作可被称为选择性擦除。在企业和个人数据根据本文所述的方面被布置的情况下,企业可执行选择性擦除。
移动设备可连接到在企业处的企业资源504和企业服务508、公共互联网548等。移动设备可通过虚拟专用网络连接而连接到企业资源504和企业服务508。虚拟专用网连接可以是特定应用550、特定设备、在移动设备上的特定安全区域等(例如552)所特有的。例如,在电话的安全区域中的每个被封装的应用可通过应用特定VPN来访问企业资源,使得对VPN的访问将基于与应用相关的属性而被准予,可能结合用户或设备属性信息。虚拟专用网连接可承载微软Exchange业务、微软活动目录业务、HTTP业务、HTTPS业务、应用管理业务等。虚拟专用网连接可支持并启用单点登录认证过程554。单点登录过程可允许用户提供单组认证证书,且接着由认证服务558验证。认证服务558可接着准予用户访问多个企业资源504,而不需要用户向每个单独的企业资源504提供认证证书。
虚拟专用网连接可由接入网关560建立并管理。接入网关560可包括管理、加速并提高企业资源504到移动设备502的输送的性能增强特征。接入网关也可将业务从移动设备502按规定路线重新发送到公共互联网548,使移动设备502能够访问在公共互联网548上运行的公开可得到的和不安全的应用。移动设备可经由传输网络562连接到接入网关。传输网络562可以是有线网络、无线网络、云网络、局域网、城域网、广域网、公共网络、专用网络等。
企业资源504可包括电子邮件服务器、文件共享服务器、SaaS应用、Web应用服务器、Windows应用服务器等。电子邮件服务器可包括Exchange服务器、Lotus Notes服务器等。文件共享服务器可包括ShareFile服务器等。SaaS应用可包括Salesforce等。Windows应用服务器可包括被构造来提供意欲在本地Windows操作***上运行的应用的任何应用服务器等。企业资源504可以是内建式资源、基于云的资源等。企业资源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可通过接入网关560、通过公共互联网548等由移动设备502访问。应用商店可被提供有直观和容易使用的用户接口。应用商店578可提供对软件开发工具箱584的访问。软件开发工具箱584可以给用户提供通过对由用户的选择的应用进行封装来安全化该应用的能力,如前面在这个描述中所述的。使用软件开发工具箱584封装的应用可接着通过使用应用控制器574将它填充在应用商店578中来变成移动设备502可采用的。
企业移动性技术架构500可包括管理和分析能力。管理和分析能力可提供与资源如何被使用、资源多常被使用等有关的信息。资源可包括设备、应用、数据等。资源如何被使用可包括哪些设备下载哪些应用、哪些应用访问哪些数据等。资源多少时候被使用一次可包括应用多少时候被下载一次、特定的一组数据被应用访问多少次等。
图6是另一例证性企业移动性管理***600。为了清楚起见,省略了上面关于图5所述的移动性管理***500的一些部件。在图6中描绘的***600的架构在很多方面类似于上面关于图5所述的***500的架构并可包括上面未提到的额外特征。
在这种情况下,左手侧表示具有客户端代理软件604的已登记的移动设备602,其与云网关606(其包括接入网关和应用控制器功能)交互作用以访问各种企业资源608和服务609例如Exchange、Sharepoint、资源、Kerberos资源和证书发行服务,如在上面的右手侧上所示的。虽然没有特别示出,移动设备602也可为了应用的选择和下载而与企业应用商店(例如StoreFront)交互作用。
客户端代理软件604充当使用HDX/ICA显示远程协议来访问的在企业数据中心中托管的Windows应用/桌面的UI(用户接口)媒介物。客户端代理软件604还支持在移动设备602上的本机应用的安装和管理,例如本机iOS或Android应用。例如,在上面的附图中所示的受管应用610(邮件、浏览器、封装的应用)都是在设备上在本地执行的本机应用。客户端代理软件604和这个架构的应用管理框架(AMF)起作用来提供策略驱动管理能力和特征,例如到企业资源/服务608的连接和SSO(单点登录)。客户端代理软件604使用对其它云网关部件的SSO来处理对企业、通常对接入网关(AG)的主要用户认证。客户端代理软件604从云网关606得到策略以控制在移动设备602上的AMF管理的应用610的行为。
在本机应用610和客户端代理软件604之间的安全IPC链路612代表管理通道,其允许客户端代理软件提供由“封装”每个应用的AMF框架614实施的策略。IPC通道612还允许客户端代理软件604提供实现到企业资源608的连接和SSO的证书和认证信息。最后,IPC通道612允许AMF框架614调用由客户端代理软件604实现的用户接口功能,例如在线和离线认证。
在客户端代理软件604和云网关606之间的通信本质上是管理通道从封装每个本机受管应用610的AMF框架614的扩展。AMF框架614向客户端代理软件604请求策略信息,客户端代理软件604又向云网关606请求它。AMF框架614请求认证,且客户端代理软件604登录到云网关606(也被称为NetScaler接入网关)的网关服务部分内。客户端代理软件604也可调用在云网关606上的支持服务,其可产生输入材料以得到本地数据仓库616的加密密钥或提供可实现对PKI被保护资源的直接认证的客户端证书,如下面更充分解释的。
更详细地,AMF框架614“封装”每个受管应用610。这可经由显式构造步骤或经由构造后处理步骤而被合并。AMF框架614可在应用610首次发起时与客户端代理软件604“配对”以初始化安全IPC通道并得到对那个应用的策略。AMF框架614可实施在本地应用的策略的相关部分,例如客户端代理软件登录相关性和限制本地OS服务可如何被使用或它们可如何与应用610交互作用的一些遏制策略。
AMF框架614可使用通过安全IPC通道612由客户端代理软件604提供的服务以便于认证和内部网络接入。私有和共享数据仓库616(容器)的密钥管理也可由在受管应用610和客户端代理软件604之间的适当交互作用管理。仓库616可以只在在线认证之后是可用的,或可以在离线认证之后变得可用——如果被策略允许。仓库616的首次使用可能需要在线认证,且离线访问可至多被限制到在在线认证再次被需要之前的策略刷新期。
对内部资源的网络访问可通过接入网关606直接从单独的受管应用610出现。AMF框架614负责代表每个应用610配合网络访问。客户端代理软件604可通过提供在在线认证之后得到的适当时间限制辅助证书来便于这些网络连接。可使用网络连接的多个模式,例如反向web代理连接和端对端VPN型隧道618。
邮件和浏览器受管应用610具有特殊状态,并可利用可能通常对任意封装应用不可用的设施。例如,邮件应用可使用特殊后台网络访问机制,其允许它在延长的一段时间内访问Exchange而不需要完全的AD登录。浏览器应用可使用多个私有数据仓库来分离不同类型的数据。
这个架构支持各种其它安全特征的合并。例如,云网关606(包括它的网关服务)在一些情况下将不需要确认AD密码。它可由企业对在一些情况下对于一些用户AD密码是否用作认证因素的判定来决定。可使用不同的认证方法,不管用户是在线的还离线的(即连接还是未连接到网络)。
进阶认证是一种特征,其中云网关606可识别被允许访问需要强认证的高度机密的数据的受管本机应用610,并确保对这些应用的访问只在执行适当的认证之后被允许,即使这意味着在前一较弱水平的登录之后重新认证被用户需要。
这个解决方案的另一安全特征是在移动设备602上的数据仓库616(容器)的加密。仓库616可被加密,使得包括文件、数据库和配置的所有设备上数据被保护。对于在线仓库,密钥可存储在服务器(云网关606)上,而对于离线仓库,密钥的本地拷贝可由用户密码保护。当数据在本地在安全容器616中存储在设备602上时,最低限度利用AES 256加密算法是优选的。
也可实现其它安全容器特征。例如,可包括日志特征,其中在应用610内部发生的所有安全事件被记录并报告给后端。可支持数据擦除,例如如果应用610检测到篡改,则相关的加密密钥可以用随机数据被改写,在文件***上没有留下用户数据被破坏的暗示。抓屏保护是另一特征,其中应用可防止任何数据存储在抓屏中。例如,密钥窗口的隐藏特性可被设置为是。这可以使当前显示在屏幕上的任何内容被隐藏,导致任何内容通常存在于的空白抓屏。
可例如通过防止任何数据在本地被传输到应用容器之外例如通过将它复制或将它发送到外部应用来防止本地数据传输。键盘高速缓存特征可操作来禁用敏感文本字段的自动校正功能。SSL证书验证可以是有效的,所以应用特别验证服务器SSL证书而不是它被存储在密钥链中。可使用加密密钥产生特征,以便使用由用户提供的通行码来产生用于对设备上的数据加密的密钥(如果离线访问是需要的)。它可与随机产生的并存储在服务器侧上的另一密钥进行异或操作,如果离线访问是不需要的。密钥得到功能可操作,使得从用户密码产生的密钥使用KDF(密钥得到功能,特别是PBKDF2)而不是创建它的密码散列。后者使密钥易受强力或字典攻击的影响。
此外,可在加密方法中使用一个或多个初始化矢量。初始化矢量将使相同的加密数据的多个拷贝产生不同的密码文本输出,防止重播和密码攻击。这也将防止攻击者使用被盗的加密密钥对任何数据解密,如果用于对数据加密的特定的初始化矢量是未知的。此外,可使用认证然后解密,其中应用数据只在用户在应用内认证了之后被解密。另一特征可涉及在存储器中的敏感数据,其可只在它被需要时保持在存储器中(而不是磁盘中)。例如,登录证书可在登录之后从存储器被擦除,且加密密钥和在objective-C实例变量内部的其它数据不被存储,因为它们可容易被参考。替代地,可以为这些手动地分配存储器。
可实现不活动超时,其中在策略定义的不活动期之后,用户会话终止。
可以用其它方式防止数据从AMF框架614泄漏。例如,当应用610被放置在后台中时,存储器可在预定(可配置的)时间段之后被清除。当作为后台时,应用的最后显示的屏幕的快照可被获取以加快前景化过程。抓屏可包含机密数据且因此应被清除。
另一安全特征涉及OTP(一次性密码)620的使用而没有用于访问一个或多个应用的AD(活动目录)622密码的使用。在一些情况下,一些用户可能不知道(或不被允许知道)他们的AD密码,所以这些用户可使用OTP 620例如通过使用硬件OTP***如SecurID(OTP也可由不同的卖方例如Entrust或Gemalto提供)来进行认证。在一些情况下,在用户使用用户ID进行认证之后,文本使用OPT 620被发送到用户。在一些情况下,这可只为了在线使用而实现,提示是单个字段。
可为了对那些应用610的离线认证来实现离线密码,对那些应用610的离线使用经由企业策略被允许。例如,企业可能想要企业应用商店以这种方式被访问。在这种情况下,客户端代理软件604可能需要用户设置定制离线密码,且AD密码不被使用。云网关606可提供策略以关于例如由标准Windows服务器密码复杂性要求所描述的最小长度、字符类组成和密码的期限来控制并实施密码标准,虽然这些要求可被修改。
另一特征涉及作为辅助证书的某些应用610的客户端侧证书的实现(为了经由AMF微VPN特征来访问PKI保护的web资源的目的)。例如,电子邮件应用可利用这样的证书。在这种情况下,可支持使用ActiveSync(或其它同步)协议的基于证书的认证,其中来自客户端代理软件604的证书可由云网关606取回并在密钥链中被使用。每个受管应用可具有由在云网关606中定义的标签识别的一个相关的客户端证书。
云网关606可与企业专用web服务交互作用以支持客户端证书的发布,以允许相关的受管应用对内部PKI保护的资源进行认证。
可增强客户端代理软件604和AMF框架614以支持得到并使用用于对内部PKI保护的网络资源进行认证的客户端证书。可支持多于一个证书以例如匹配安全的各种级别和/或分离要求。证书可由邮件和浏览器管理的应用并最终由任意封装的应用使用(假定那些应用使用web服务型通信模式,其中AMF框架传达HTTPS请求是合理的)。
在iOS上的AMF客户端证书支持可依赖于在每个使用期期间将PKCS12BLOB(二进制大对象)引入到在每个受管应用的iOS密钥链内。AMF客户端证书支持可使用具有私有存储器中密钥存储的HTTPS实现。客户端证书将从不存在于iOS钥匙链中且将不存留,除了可能在被强保护的“仅在线”数据值中以外。
也可实现相互SSL以通过要求移动设备602向企业认证来提供额外的安全,反之亦然。也可实现用于对云网关606进行认证的虚拟智能卡。
有限和完全的Kerberos支持可以是额外的特征。完全支持特征涉及使用AD密码或可信客户端证书对AD 622进行完全Kerberos登录并得到Kerberos服务票证以对HTTP协商认证挑战做出响应的能力。有限的支持特征涉及在AFEE中的约束委托,其中AFEE支持调用Kerberos协议过渡,使得它可响应于HTTP协商认证挑战而得到并使用Kerberos服务票证(受到约束委托)。这个机制在反向web代理(又称CVPN)模式中工作,且当HTTP(但不是HTTPS)连接在VPN和MicroVPN模式中被代理时。
另一特征涉及应用容器锁定和擦除,其可在检测到越狱或获得超级权限时自动出现,并出现为来自管理控制台的推送命令,并可包括远程擦除功能,即使应用610不运行。
可支持允许用户在故障的情况下从几个不同位置之一被服务的企业应用商店和应用控制器的多站点架构或配置。
在一些情况下,可允许受管应用610经由API(示例OpenSSL)来访问证书和私有密钥。可允许企业的可信受管应用610使用应用的客户端证书和私有密钥执行特定的公共密钥操作。各种使用情况可相应地被识别和处理,例如当应用像浏览器一样运转且没有证书访问被需要时,当应用读取对“我是谁”的证书时,当应用使用证书来构造安全会话令牌时,以及当应用使用用于重要数据(例如交易日志)的数字签名或用于临时数据加密的私有密钥时。
用于客户端驱动映射的移动设备管理类型保护的安全客户端驱动映射和文件存储
根据本文描述的一个或多个所公开的特征,对被保存到客户端设备的机密数据和/或文件的管理控制可由程序例如ZENPRISE或MICROSOFT SCCM提供。可提供对被写到客户端驱动器的文件的管理控制,使得管理控制台例如ZENPRISE可监控在客户端驱动器中的敏感文件和/或使用策略从客户端驱动器远程清除/擦除文件。
根据本文描述的一个或多个所公开的特征,到客户端驱动器的读和/或写命令可通过可存在于企业服务器机器例如XENDESKTOP SERVER上的CDM文件***(“CDM***”)例如CDM***302来操作。CDM***可使用机群/企业特定密钥来对到客户端设备的写命令加密。当打开文件时,CDM***可使用机制来区分文件是否可已经通过使用例如驱动器例如CDM驱动器306被写入或保存,和/或可从客户端驱动器打开现有的个人文件。为了这个目的,CDM***可使用新技术文件***(NTFS)交替流(“文件流”)或相关机制,例如变化日志。因此,在接收到打开文件的请求之后,如果特殊或经标记的文件流存在于文件中,则文件可能已经被CDM***保存,且文件的文件块的一部分可能需要在使用应用打开文件之前被解密,其中应用可以是受管应用。
根据本文所述的一个或多个特征,当用户可正在修改存储在客户端驱动器中的现有个人文件时,CDM***可被拒绝对写到同一文件的授权。例如,在用户打开文件例如可位于客户端驱动器上的EXCEL文件myfile.xsl时,用户可将敏感或机密信息例如公司执照复制到电子数据表(例如经由剪切和粘贴)内。当用户希望保存已修改文件时,CDM***可合并现有的未修改文件的拷贝与来自已修改文件的任何更新的文件块/数据,这可导致包括更新的文件块/数据的新文件被创建。这个新文件可与现有的未修改文件分离,并可以用加密形式被保存到客户端驱动器,其可由CDM***控制和/或通过CDM***被访问。然后,如果用户希望使用例如应用例如EXCEL的本地安装的版本打开myfile.xsl,则未修改文件(例如不包含添加的敏感或机密信息的myfile.xsl)可被打开和/或访问。可选地或此外,如果用户希望使用例如可以在CDM***的控制下的应用例如EXCEL的受管版本打开myfile.xsl,则新文件(即包含添加的敏感或机密信息的myfile.xsl)可被打开和/或访问。CDM***可使用文件的元数据例如在文件流或变化日志中标记的流来将不包含机密数据的未修改文件链接到或指向包含机密数据的新文件。因此,CDM***可检测到客户端连接到CDM***,并响应于接收到打开现有文件的请求,CDM***可确定例如在文件流或变化日志中的文件的元数据是否包括标记流,其包括到包含机密数据的文件的版本的链接,且如果是,则可提供对包含机密数据的文件的客户端访问。
现在下面在图7和8中讨论与所公开的实施方式一致的示例特征和过程。
图7是根据本文描述的一个或多个所公开的特征的使用用于移动设备管理类型保护的安全客户端驱动器映射和文件存储来将已修改文件保存到被映射的本地驱动器的示例过程700的流程图。在一个或多个实施方式中,在图7中所示的过程和/或其一个或多个步骤可由计算设备(例如客户端设备304、企业服务器机器等)执行。在其它实施方式中,图7所示的过程和/或其一个或多个步骤可体现在存储在计算机可读介质例如非临时计算机可读存储器中的计算机可执行指令中。在过程700中,可例如在客户端侧上例如在客户端304上执行或实施步骤706、708、710、712、714、740和746,且可例如在企业服务器机器或CDM***侧上例如在CDM***302上执行或实施步骤718、720、722、724、726、728、730、732、734、736、738、742、744和746。可选地或此外,可在客户端企业服务器机器或CDM***上执行在过程700中的任何步骤。
过程700可以以步骤706开始,其中应用例如电子数据表或字处理程序可在客户端设备例如客户端304上被装入或发起。应用可以运行在可以可操作地连接到CDM***302的服务器例如企业服务器上受管理的应用的实例。受管应用可例如配置成提供至少一个受管模式,其中一个或多个策略应用于受管应用,且一个或多个策略可配置成限制受管应用的一个或多个功能,如上面讨论的。可响应于例如来自用户或其它应用访问受管应用的请求来装入或发起受管应用。可例如从基本虚拟桌面或企业输送的应用发起受管应用。可选地或此外,应用可在客户端304上运行。在步骤708中,可接收对访问和修改文件的请求。例如,客户端304可接收访问和修改一个或多个客户端资源例如存储在客户端304上的本地驱动器中的文件和/或文档的请求。本地驱动器可以是映射或未映射的驱动器。修改可以是例如将数据输入到文档内或将机密数据例如私有公司数据***到资源内。当用户使用可连接到企业服务器机器和/或CDM***302或与企业服务器机器和/或CDM***302相关的客户端304时,文件可被修改,以接收来自企业服务器机器的信息并将该信息***到文件内。根据一些实施方式,用户可登录到企业机器或资源,并将来自企业机器或资源的内容下载或保存到客户端上的驱动器,该内容于是可以在客户端上被修改。根据一些实施方式,用户可打开在客户端上的文件,并将敏感信息复制到那个文件,敏感信息可例如从企业服务器机器得到。
在步骤710中,可接收将已修改文件保存到客户端304的请求。因此,在文件的修改之后,用户可能希望在关闭应用或关掉客户端之前在本地保存文件。
在步骤712中,响应于接收到保存已修改文件的请求,可例如由客户端304做出应用是否在例如由企业管理的受管模式中运行或应用是否不在受管模式中运行的确定。例如,运行受管应用的客户端304可连接到企业服务器机器,其可连接到CDM***302。在这种情况下,客户端304可使其本地驱动器被映射到与CDM***302相关的企业服务器机器。可选地,不运行受管应用的客户端304可以不连接到企业服务器机器,且因此可以不使其本地驱动器被映射到与CDM***302相关的企业服务器机器。
如果在步骤712确定应用可不在受管模式中,则过程700继续到步骤714。在步骤714中,已修改文件可被保存到客户端304的本地驱动器。例如,已修改文件可覆盖现有的文件或可被保存为在本地驱动器上的新文件。该过程然后可在步骤716结束。
如果在步骤712确定应用可在受管模式中,则过程700继续到步骤718。在步骤718中,保存已修改文件的请求可由可连接到企业服务器机器或与企业服务器机器相关的CDM***例如CDM***302接收。客户端304的本地驱动器也可映射到可操作地连接到CDM***302的企业驱动器。
在CDM***302从客户端304接收到保存已修改文件的请求之后,在步骤720确定已修改文件是否包含机密或敏感数据。机密数据可以是设法被与企业和/或CDM***302相关的公司保护的数据。机密数据还可包括不应被不被批准访问数据的任何人访问的数据。在708的文件的修改可将机密数据***文件内。因此,CDM***304可访问在文件中的被***的和/或修改的数据以确定已修改文件是否包含机密数据。CDM***304还可比较文件的预先存在的版本与已修改文件以做出这个判断。可选地,CDM***304可在数据从基于企业的源例如从存在于企业存储器中的文件被复制到文件的任何时间确定文件包含敏感数据,而不考虑拷贝的数据是否实际上是机密/敏感的。可选地,CDM***304可将可由例如用户使用客户端304输入、***、复制、粘贴、键入等到文件内的任何数据处理为机密/敏感的。可选地,与企业和/或CDM***302相关的人员例如网络管理员或经理可配置企业和/或CDM***302的安全级别,且这个安全级别的实施可用于帮助确定文件是否包含机密/敏感的信息。例如,如果安全级别被设置为较高的、更限制的级别,则被输入到文件内的大部分数据可被考虑为机密/敏感的。如果例如安全级别被设置为较低的、较不限制的级别,则被输入到文件内的大部分数据可以不被考虑为机密/敏感的。此外,网络管理员或经理可以有添加用于确定被输入到文件内的数据是否可被考虑为机密/敏感的额外要求/条件的灵活性。
如果在步骤720确定已修改文件可不包含机密数据,则过程700继续到步骤714。在步骤714中,已修改文件可保存到客户端304的本地驱动器。例如,已修改文件可覆盖现有文件,或可在本地驱动器上被保存为新文件。该过程接着可在步骤716结束。
在步骤720确定已修改文件可包含机密数据,则过程继续到步骤722。在步骤722中,已修改文件或已修改文件的一部分可被加密,创建加密修改文件。因此,包含机密数据的文件的部分可被加密和/或额外的部分可被加密。加密部分可包括加密数据块。任何加密算法可用于执行加密。已修改文件可使用机群特定加密密钥被加密。例如,机群特定私有加密密钥可以是为特定的企业、为连接到特定企业的计算设备或为用于维持企业服务器机器***的一组服务器产生的加密密钥。加密密钥可以是客户端设备例如客户端设备304特有的,和/或是CDM***例如***302特有的。加密密钥也可存储在企业服务器机器或CDM***302上。
在步骤724中,确定已修改文件的预先存在的版本是否可存在于例如可以可操作地耦合到CDM***302的企业服务器机器上。例如,如果在步骤708当用户可访问并修改文件时,用户可使用例如由企业服务器机器管理的应用来打开来自企业服务器机器的文件。可选地或此外,文件可最初在客户端304上被创建,且因此文件的版本可以不存在于企业服务器机器上。已修改文件的预先存在的版本可以不包含在步骤708中接收的修改和/或任何机密数据。
如果在步骤724确定已修改文件的预先存在的版本可以不已经存在于企业服务器机器上,则过程700继续到步骤726。在步骤726中,CDM***302可从加密修改文件创建新的加密文件,并将它存储在企业服务器机器上。例如,新的加密文件可包括相应于机密数据和/或文件中的任何其它数据的加密数据块。
在步骤728中,新加密文件的元数据的一部分或全部可被加密。元数据可描述文件的特性并可包括在对已修改文件的加密中使用的加密密钥。元数据可包括文件流和/或变化日志或与文件流和/或变化日志相关。文件流和变化日志可以是可与文件相关的元数据,使得在应用请求打开文件之后,例如与文件相关的元数据例如文件流或变化日志可被读取。在一些实施方式中,文件流可被加密,所以例如可以不在受管模式中的应用也许不能够确定例如存储在文件流中的文件的位置。在这个方面中,受管应用可以能够将文件流解密,使得例如存储在文件流中的文件的位置可被确定。下面将进一步讨论这个方面。元数据、文件流和/或变化日志可包括流标记或与流标记相关,流标记可包括文件的名称,可指向文件和/或指示位置或如何访问可存储在企业服务器机器和/或客户端304上的文件。流标记可在步骤728中被加密。例如,标记可以用信号向受管应用、客户端设备304、企业服务器机器或CDM***302通知是访问数据文件的未加密还是加密版本。下面将进一步讨论这个方面。标记可指示新加密文件是否包含机密数据。此外,多于一个标记可被包括在元数据内,元数据可指向可包括不同的机密数据的不同文件。此外,可用于在步骤722对已修改文件加密的机群特定加密密钥可被包括在新加密文件的元数据内并在步骤728中被加密。此外,新加密文件的元数据可使用机群特定加密密钥被加密,该加密密钥可以与本文公开的其它加密密钥例如用于在步骤722对已修改文件加密的机群特定加密密钥相同或不同。例如,用于对元数据加密的机群特定私有加密密钥可以是为特定的企业、为连接到特定企业服务器机器的计算设备或为用于维持企业服务器机器***的一组服务器产生的加密密钥。用于对元数据加密的加密密钥可以是文件、客户端设备例如客户端设备304特有的,和/或是CDM***例如***302特有的。用于对元数据加密的加密密钥可存储在企业服务器机器或CDM***702上。新加密文件可接着被保存在例如客户端304或企业服务器机器上。
如果在步骤724确定已修改文件的预先存在的版本可已经存在于企业服务器机器上,则过程700继续到步骤730。在步骤730中,确定预先存在的文件是否包括在例如预先存在的文件的元数据中的加密标记。标记可被包括在文件流或变化日志中,文件流或变化日志被包括在预先存在的文件的元数据中或与预先存在的文件的元数据相关。
如果在步骤730确定预先存在的文件可不包括加密标记,则过程700继续到步骤732。在步骤732中,可在CDM***302或企业服务器机器上创建可包括机密数据的预先存在的文件的拷贝(“拷贝的非安全文件”)。
在步骤734中,拷贝的非安全文件可被加密以创建拷贝的安全文件。此外,用于在722对已修改文件加密的机群特定加密密钥可被包括在拷贝的安全文件的元数据中。此外,拷贝的安全文件的元数据可使用机群特定加密密钥被加密,该加密密钥可以与本文公开的其它加密密钥例如用于在步骤722对已修改文件加密的机群特定加密密钥相同或不同。
在步骤736中,预先存在的文件的元数据的一部分或全部可被加密,创建经标记的未修改文件。例如,加密标记可被创建和/或包括在元数据中。加密标记可被包括在文件流或变化日志中,文件***或变化日志被包括在经标记的未修改文件的元数据中或与经标记的未修改文件的元数据相关。标记可将经标记的未修改文件链接到或指向拷贝的安全文件。例如,标记可以用信号向例如受管应用、客户端设备304、企业服务器机器和/或CDM***302通知是否在接收到打开经标记的未修改文件的请求之后访问拷贝的安全文件。下面将进一步讨论这个方面。标记可指示经标记的未修改文件是否包含机密数据。此外,多于一个标记可被包括在元数据内。此外,用于对文件加密的机群特定加密密钥可被包括在经标记的未修改文件的元数据内并在步骤736中被加密。此外,经标记的未修改文件的元数据可使用机群特定加密密钥被加密,该加密密钥可以与本文公开的其它加密密钥例如用于在步骤722对已修改文件加密的机群特定加密密钥相同或不同。例如,用于对经标记的未修改文件的元数据加密的机群特定私有加密密钥可以是为特定的企业、为连接到特定企业服务器机器的计算设备或为用于维持企业服务器机器***的一组服务器产生的加密密钥。用于对经标记的未修改文件的元数据加密的加密密钥可以是文件、客户端设备例如客户端设备304特有的,和/或是CDM***例如CDM***302特有的。用于对经标记的未修改文件的元数据加密的加密密钥可存储在企业服务器机器或CDM***702上。经标记的未修改文件可接着存储在客户端例如客户端304上。此外或可选地,经标记的未修改文件可存储在CDM***702或企业服务器机器上。
在步骤738中,可在722被加密的已修改文件的部分可与拷贝的安全文件合并或保存到拷贝的安全文件以创建加密拷贝文件。加密拷贝文件可存储在企业服务器机器、CDM***例如CDM***302上和/或客户端例如客户端304上。在步骤736中创建的经标记的未修改文件可包括指向这个最新创建的加密拷贝文件的标记,使得在接收到在客户端上打开经标记的未修改文件的请求之后,经标记的未修改文件的标记可指向和/或允许访问加密拷贝文件。下面将进一步描述这个方面。
在步骤740中,经标记的未修改文件可接着存储在客户端上,例如在客户端304上、在所映射的本地驱动器中。该过程可接着在步骤716结束。
如果在步骤730确定预先存在的文件可包括加密标记(“经标记的预先存在的文件”),则过程700继续到步骤742。在步骤742中,流标记可使用加密密钥例如机群特定加密密钥被解密,该加密密钥可以与本文公开的其它加密密钥例如用于在步骤722对已修改文件加密的机群特定加密密钥相同或不同。对流标记解密允许对经标记的预先存在的文件的修改。
在步骤744中,在722可被加密的已修改文件的部分可与经标记的预先存在的文件合并或保存到经标记的预先存在的文件以创建更新的标记文件。更新的标记文件可存储在企业服务器机器、CDM***例如CDM***302上和/或客户端例如客户端304上。经标记的预先存在的文件可包括指向这个更新的标记文件的流标记,使得在接收到在客户端上打开经标记的预先存在的文件的请求之后,经标记的预先存在的文件的标记可指向和/或允许访问更新的标记文件。下面将进一步描述这个方面。
在步骤746中,经标记的预先存在的文件可接着存储在客户端上,例如在客户端304上、在所映射的本地驱动器中。该过程可接着在步骤716结束。
图8是示出根据本文描述的一个或多个所公开的特征的使用用于移动设备管理类型保护的安全客户端驱动映射和文件存储来在客户端(诸如客户端304)上打开文件的示例过程800的流程图。在一个或多个实施方式中,在图8中示出的过程和/或其一个或多个步骤可由计算设备(例如客户端设备304、企业服务器机器等)执行。在其它实施方式中,图8所示的过程和/或其一个或多个步骤可体现在存储在计算机可读介质例如非临时计算机可读存储器中的计算机可执行指令中。在过程800中,可例如在客户端侧上例如在客户端304上执行或实施步骤806、808、810、812、814、824、832和834,且可例如在企业服务器机器或CDM***侧上例如在CDM***302上执行或实施步骤818、820、822、826、828和830。可选地或此外,可在客户端、企业服务器机器或CDM***上执行在过程800中的任何步骤。
过程800可以以步骤806开始,其中应用例如电子数据表或字处理程序可在客户端设备例如客户端304上被装入或发起。应用可以运行在可以可操作地连接到CDM***302的服务器例如企业服务器上被管理的应用的实例。受管应用可例如配置成提供至少一个受管模式,其中一个或多个策略应用于受管应用,且一个或多个策略可配置成限制受管应用的一个或多个功能,如上面讨论的。可响应于例如来自用户或其它应用的访问受管应用的请求来装入或发起受管应用。可例如从基本虚拟桌面或企业输送的应用发起受管应用。可选地或此外,应用可在客户端304上运行。
在步骤808中,可在客户端设备例如客户端304上接收访问或打开存储在本地设备驱动器上的预先存在的文件的请求。例如,用户或其它应用可做出这样的请求。本地设备驱动器可以使用CDM***例如CDM***302映射到企业驱动器。
在步骤810中,响应于接收到访问或打开存储在例如客户端304的本地驱动器上的预先存在的文件的请求,可例如由客户端304、CDM***302或企业服务器机器做出一个或多个条件或启发法是否可被满足以例如访问可链接到预先存在的文件或与预先存在的文件相关的敏感或机密信息的确定。敏感或机密信息可被包括在存储在企业服务器机器上的文件中。例如,存储在客户端304上的预先存在的文件可包括在预先存在的文件的元数据中的标记,其可以指向存储在企业服务器机器上的文件。因此,在访问或打开预先存在的文件的请求可被接收到之后且如果一个或多个条件被满足,则对存储在企业服务器机器上的文件的访问可被准予。下面将进一步讨论这个方面。条件或启发法可包括所发起的应用是否可以是受管应用;客户端304是否可连接到CDM***302和/或企业服务器机器;预先存在的文件是否可具有在例如预先存在的文件的元数据中的标记,其可以指向另一文件;预先存在的文件是否可包括加密元数据;预先存在的文件是否包括机密或敏感信息;预先存在的元数据的一部分是否与文件流和/或变化日志相关或包括文件流和/或变化日志;拷贝和/或粘贴事件是否出现;客户端是否通过应用例如CITRIX RECEIVER等连接到网络。根据一些方面,如果一些条件可被满足,则某些信息可以是可访问的,而其它信息可以不是可访问的。例如,可以有可被满足的、可允许对完整的文件的访问的预定数量的条件,同时可允许访问文件的一部分的、较低的预定数量的条件可被满足。
如果在步骤810确定一个或多个条件可以不被满足,则过程800继续到步骤812。在步骤812中,可拒绝对信息例如加密和/或机密或敏感信息的访问。这样的信息可存储在例如客户端304、CDM***302或企业服务器机器上存储的文件中。
在步骤814中,可在客户端如客户端304上运行的应用可然后打开可以不包含某些信息例如加密和/或机密或敏感信息的预先存在的文件(非安全文件)的版本。非安全文件可存储在例如客户端304、CDM***302上或企业服务器机器上。过程然后可在步骤816结束。
如果在步骤810确定一个或多个条件可被满足,则过程800继续到步骤818。在步骤818中,打开预先存在的文件的请求可由CDM***例如CDM***302接收,CDM***可连接到企业服务器机器和/或客户端例如客户端304或与企业服务器机器和/或客户端例如客户端304相关。
在CDM***302从客户端304接收到打开预先存在的文件的请求之后,在步骤820确定预先存在的文件是否可包含加密元数据。例如,流标记可存在于被包括在预先存在的文件的元数据中或与预先存在的文件的元数据相关的文件流或变化日志中。标记也可被加密。相应地,在步骤820,可确定预先存在的文件是否包含这样的标记。
如果在步骤820确定预先存在的文件可以不包括加密标记,则过程800继续到步骤822。在步骤822,CDM***302可返回可以不包含信息例如加密和/或机密或敏感信息的预先存在的文件(非安全文件)的版本的文件句柄。文件句柄可提供用于访问非安全文件的指示器。
在步骤824中,可在客户端例如客户端304上运行的应用可接收非安全文件的文件句柄。
在步骤814中,可在客户端如客户端304上运行的应用可然后打开非安全文件。非安全文件可存储在例如客户端304、CDM***302上或企业服务器机器上。该过程然后可在步骤816结束。
如果在步骤820确定预先存在的文件的元数据可例如在文件流或变化日志中包括加密标记,则过程800继续到步骤826。在步骤826中,加密标记可使用加密密钥例如机群特定加密密钥被解密。
在步骤826中加密标记被解密之后,在步骤828确定预先存在的文件的解密标记是否可包含与可包括机密或敏感信息的预先存在的文件(安全文件)的版本相关的信息。例如,标记可包括与安全文件相关的信息,并可将预先存在的文件指向安全文件,和/或可允许对安全文件的访问。
如果在步骤828确定预先存在的文件的解密标记可以不包含与预先存在的文件的安全版本相关的信息,则过程800继续到步骤822。在步骤822中,CDM***302可返回可以不包含信息例如加密和/或机密或敏感信息的预先存在的文件(“非安全文件”)的版本的文件句柄。文件句柄可提供用于访问非安全文件的指示器。
在步骤824中,可在客户端例如客户端304上运行的应用可接收非安全文件的句柄。
在步骤814中,可在客户端如客户端304上运行的应用可然后打开非安全文件。非安全文件可存储在例如客户端304、CDM***302上或企业服务器机器上。该过程然后可在步骤816结束。
如果在步骤828确定预先存在的文件的解密标记可以包含与预先存在的文件的安全版本相关的信息,则过程800继续到步骤830。在步骤830中,CDM***302可返回可以包含信息例如加密和/或机密或敏感信息的预先存在的文件(“安全文件”)的版本的文件句柄。文件句柄可提供用于访问安全文件的指示器。
在步骤832中,可在客户端例如客户端304上运行的应用可接收安全文件的句柄。
在步骤834中,可在客户端如客户端304上运行的应用可然后打开预先存在文件的安全版本。这个安全文件可存储在例如客户端304、CDM***302上或企业服务器机器上。该过程然后可在步骤816结束。
虽然用结构特征和/或方法动作特有的语言描述了主题,应理解,在所附权利要求中定义的主题并不一定限于上面所述的特定特征或动作。更确切地,上面所述的特定特征和动作被描述为接下来的权利要求的示例实现。

Claims (20)

1.一种提供安全文件存储的方法,包括:
执行用于在移动设备上呈现的受管应用;
接收将数据文件在本地保存在所述移动设备上的请求;
确定所述数据文件是否包含敏感数据;以及
当所述数据文件包含敏感数据时并响应于所述请求:
将所述数据文件加密;
将加密的数据文件存储在所述移动设备上;以及
将所述加密的数据文件链接到所述数据文件的未加密版本,所述数据文件的所述未加密版本不包含所述敏感数据。
2.如权利要求1所述的方法,还包括:
在所述移动设备处接收打开所述加密的数据文件的请求;
当第一预定条件被满足时,允许对所述加密的数据文件的访问;以及
当第二预定条件被满足时,允许对所述数据文件的所述未加密版本的访问。
3.如权利要求1所述的方法,其中确定包括检测当所述数据文件处于使用中时由所述受管应用对所述数据文件的修改。
4.如权利要求3所述的方法,其中所述修改包括:
连接到企业服务器机器;
访问来自所述企业服务器机器的企业信息;
将所述企业信息***所述数据文件内;以及
当所述敏感数据包括所述企业信息时:
对所述企业信息加密,以及
将加密的企业信息链接到所述数据文件的所述未加密版本。
5.如权利要求1所述的方法,其中所述敏感数据包括企业机密数据。
6.如权利要求1所述的方法,其中所述数据文件由主机服务器使用第一机群特定加密密钥来加密。
7.如权利要求6所述的方法,其中所述第一机群特定加密密钥被存储在与未加密的数据文件相关的元数据中。
8.如权利要求7所述的方法,其中所述元数据是与所述未加密的数据文件相关的文件流和变化日志之一,且所述元数据使用第二机群特定密钥被加密。
9.一种用于提供安全文件存储的***,包括:
至少一个处理器;以及
至少一个存储器,其存储指令,所述指令在由所述至少一个处理器执行时使所述***执行:
执行用于在移动设备上呈现的受管应用;
接收将数据文件在本地保存在所述移动设备上的请求;
确定所述数据文件是否包含敏感数据;以及
当所述数据文件包含敏感数据时且响应于所述请求,所述指令还使所述***执行:
将所述数据文件加密;
将加密的数据文件存储在所述移动设备上;以及
将所述加密的数据文件链接到所述数据文件的未加密版本,
所述数据文件的所述未加密版本不包含所述敏感数据。
10.如权利要求9所述的***,所述指令还使所述***执行:
在所述移动设备处接收打开所述加密的数据文件的请求;
当第一预定条件被满足时,允许对所述加密的数据文件的访问;以及
当第二预定条件被满足时,允许对所述数据文件的所述未加密版本的访问。
11.如权利要求9所述的***,其中确定包括检测当所述数据文件处于使用中时由所述受管应用对所述数据文件的修改。
12.如权利要求11所述的***,其中所述修改包括:
连接到企业服务器机器;
访问来自所述企业服务器机器的企业信息;
将所述企业信息***所述数据文件内;以及
当所述敏感数据包括所述企业信息时:
对所述企业信息加密,以及
将加密的企业信息链接到所述数据文件的所述未加密版本。
13.如权利要求9所述的***,其中所述敏感数据包括企业机密数据。
14.如权利要求9所述的***,其中所述数据文件由主机服务器使用第一机群特定加密密钥来加密。
15.如权利要求14所述的***,其中所述第一机群特定加密密钥被存储在与未加密的数据文件相关的元数据中。
16.如权利要求15所述的***,其中所述元数据是与所述未加密的数据文件相关的文件流和变化日志之一,且所述元数据使用第二机群特定密钥被加密。
17.一种用于提供安全文件存储的***,包括:
用于执行用于在移动设备上呈现的受管应用的模块;
用于接收将数据文件在本地保存在所述移动设备上的请求的模块;
用于确定所述数据文件是否包含敏感数据的模块;
用于当所述数据文件包含敏感数据时且响应于所述请求执行以下动作的模块:
将所述数据文件加密;
将加密的数据文件存储在所述移动设备上;以及
将所述加密的数据文件链接到所述数据文件的未加密版本,所述数据文件的所述未加密版本不包含所述敏感数据。
18.如权利要求17所述的***,还包括:
用于在所述移动设备处接收打开所述加密的数据文件的请求的模块;
用于当第一预定条件被满足时允许对所述加密的数据文件的访问的模块;以及
用于当第二预定条件被满足时允许对所述数据文件的所述未加密版本的访问的模块。
19.如权利要求17所述的***,其中,用于确定所述数据文件是否包括敏感数据的所述模块包括用于检测当所述数据文件处于使用中时由所述受管应用对所述数据文件的修改的模块。
20.如权利要求19所述的***,其中所述修改包括:
连接到企业服务器机器;
访问来自所述企业服务器机器的企业信息;以及
将所述企业信息***所述数据文件内,
其中,当所述敏感数据包括所述企业信息时,所述修改还包括:
对所述企业信息加密;以及
将加密的企业信息链接到所述数据文件的所述未加密版本。
CN201480056644.0A 2013-10-16 2014-10-15 安全客户端驱动映射和文件存储*** Active CN105637523B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/054,899 2013-10-16
US14/054,899 US9218494B2 (en) 2013-10-16 2013-10-16 Secure client drive mapping and file storage system for mobile device management type security
PCT/US2014/060670 WO2015057825A1 (en) 2013-10-16 2014-10-15 Secure client drive mapping and file storage system for mobile device management type security

Publications (2)

Publication Number Publication Date
CN105637523A CN105637523A (zh) 2016-06-01
CN105637523B true CN105637523B (zh) 2019-01-08

Family

ID=51866330

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480056644.0A Active CN105637523B (zh) 2013-10-16 2014-10-15 安全客户端驱动映射和文件存储***

Country Status (6)

Country Link
US (1) US9218494B2 (zh)
EP (1) EP3058502B1 (zh)
JP (1) JP6480435B2 (zh)
KR (1) KR101824980B1 (zh)
CN (1) CN105637523B (zh)
WO (1) WO2015057825A1 (zh)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150070890A (ko) * 2013-12-17 2015-06-25 삼성전자주식회사 파일 처리 방법 및 이를 지원하는 전자 장치
US20150188910A1 (en) * 2013-12-26 2015-07-02 Iswind Digital Engineering Inc. Policy group based file protection system, file protection method thereof, and computer readable medium
US9652597B2 (en) * 2014-03-12 2017-05-16 Symantec Corporation Systems and methods for detecting information leakage by an organizational insider
US10965608B2 (en) * 2014-06-24 2021-03-30 Keepsayk LLC Mobile supercloud computing system and method
US10162767B2 (en) * 2015-06-27 2018-12-25 Mcafee, Llc Virtualized trusted storage
US10140296B2 (en) * 2015-11-24 2018-11-27 Bank Of America Corporation Reversible redaction and tokenization computing system
US9946895B1 (en) * 2015-12-15 2018-04-17 Amazon Technologies, Inc. Data obfuscation
WO2018034989A1 (en) * 2016-08-14 2018-02-22 Liveperson, Inc. Systems and methods for real-time remote control of mobile applications
CN107766716B (zh) * 2016-08-16 2021-08-31 阿里巴巴集团控股有限公司 证书检测方法及装置、电子设备
KR102569734B1 (ko) * 2016-10-05 2023-08-25 삼성전자주식회사 전자장치 및 그 제어방법
US10395027B2 (en) * 2016-12-09 2019-08-27 Vmware, Inc. Co-existence of management applications and multiple user device management
US10915657B2 (en) * 2017-07-19 2021-02-09 AVAST Software s.r.o. Identifying and protecting personal sensitive documents
CN107979595B (zh) * 2017-11-23 2020-11-13 储明 私有数据保护方法及网关***
CN107930113B (zh) * 2017-12-12 2021-01-29 苏州蜗牛数字科技股份有限公司 一种基于客户端同步的Xbox平台多人游戏接入控制方法
EP3842980B1 (en) * 2018-04-11 2023-05-31 Capital One Services, LLC System and method for automatically securing sensitive data in public cloud using a serverless architecture
EP4216094A1 (en) 2018-04-11 2023-07-26 Capital One Services, LLC System and method for automatically securing sensitive data in public cloud using a serverless architecture
US10121021B1 (en) 2018-04-11 2018-11-06 Capital One Services, Llc System and method for automatically securing sensitive data in public cloud using a serverless architecture
CN110932843B (zh) * 2019-11-19 2022-04-29 湖北工业大学 一种嵌入式***数据通讯加密方法
CN111125674B (zh) * 2019-12-20 2022-03-22 ***股份有限公司 开放式数据处理***、开放式数据***及数据处理方法
US11159513B1 (en) * 2020-05-29 2021-10-26 Kyocera Document Solutions Inc. Systems, apparatus, and computer program products for installing security certificates in publicly accessible printer stations through gateway
CN112100600A (zh) * 2020-08-24 2020-12-18 中国电子科技集团公司第三十八研究所 一种敏感数据的安全访问方法
US11836388B2 (en) * 2021-04-21 2023-12-05 EMC IP Holding Company LLC Intelligent metadata compression
CN113553554A (zh) * 2021-07-12 2021-10-26 国网青海省电力公司信息通信公司 一种数据中台运维***
US20230068880A1 (en) * 2021-08-27 2023-03-02 EMC IP Holding Company LLC Function-based service framework with trusted execution platform

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1716149A (zh) * 1996-09-04 2006-01-04 英特托拉斯技术公司 一种从用户站点向外部站点发布使用数据的方法
CN102918539A (zh) * 2010-06-08 2013-02-06 英特尔公司 用于保护重放内容的方法和装置

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09233067A (ja) * 1990-07-31 1997-09-05 Hiroichi Okano 知的情報処理方法および装置
US7293175B2 (en) * 2000-06-29 2007-11-06 Lockheed Martin Corporation Automatic information sanitizer
US7669051B2 (en) 2000-11-13 2010-02-23 DigitalDoors, Inc. Data security system and method with multiple independent levels of security
US9311499B2 (en) * 2000-11-13 2016-04-12 Ron M. Redlich Data security system and with territorial, geographic and triggering event protocol
US7558967B2 (en) 2001-09-13 2009-07-07 Actel Corporation Encryption for a stream file in an FPGA integrated circuit
GB0126241D0 (en) * 2001-10-31 2002-01-02 Ibm A method and system for transmitting sensitive information over a network
US6697839B2 (en) * 2001-11-19 2004-02-24 Oracle International Corporation End-to-end mobile commerce modules
US7421443B2 (en) 2003-01-29 2008-09-02 Microsoft Corporation Filestream data storage attribute
US7155465B2 (en) 2003-04-18 2006-12-26 Lee Howard F Method and apparatus for automatically archiving a file system
US7400891B2 (en) * 2004-11-10 2008-07-15 At&T Delaware Intellectual Property, Inc. Methods, systems and computer program products for remotely controlling wireless terminals
US7624443B2 (en) 2004-12-21 2009-11-24 Microsoft Corporation Method and system for a self-heating device
JP4564370B2 (ja) * 2005-02-08 2010-10-20 三井住友海上火災保険株式会社 情報管理システム及び情報管理方法
JP2006313448A (ja) * 2005-05-09 2006-11-16 Hitachi Medical Corp 情報処理装置
US20060259527A1 (en) 2005-05-13 2006-11-16 Devarakonda Murthy V Changed files list with time buckets for efficient storage management
JP2007156861A (ja) * 2005-12-06 2007-06-21 Nec Software Chubu Ltd 機密情報保護装置及び機密情報保護方法並びにプログラム
US7957532B2 (en) * 2006-06-23 2011-06-07 Microsoft Corporation Data protection for a mobile device
US8370645B2 (en) * 2009-03-03 2013-02-05 Micron Technology, Inc. Protection of security parameters in storage devices
WO2011082113A1 (en) 2009-12-31 2011-07-07 Commvault Systems, Inc. Asynchronous methods of data classification using change journals and other data structures
AU2011296303B2 (en) 2010-08-30 2015-01-22 VMware LLC Unified workspace for thin, remote, and SaaS applications
US20120090035A1 (en) 2010-10-12 2012-04-12 Synergetics Incorporated System and Tool for Logistics Data Management on Secured Smart Mobile Devices
US9824091B2 (en) 2010-12-03 2017-11-21 Microsoft Technology Licensing, Llc File system backup using change journal
US8560722B2 (en) 2011-03-18 2013-10-15 International Business Machines Corporation System and method to govern sensitive data exchange with mobile devices based on threshold sensitivity values
US9288671B2 (en) 2011-06-16 2016-03-15 Accuris Technologies Limited Device authentication method and devices
US8898472B2 (en) 2011-07-18 2014-11-25 Echoworx Corporation Mechanism and method for managing credentials on IOS based operating system
US9204175B2 (en) 2011-08-03 2015-12-01 Microsoft Technology Licensing, Llc Providing partial file stream for generating thumbnail
US8949929B2 (en) 2011-08-10 2015-02-03 Qualcomm Incorporated Method and apparatus for providing a secure virtual environment on a mobile device
US9954578B2 (en) 2011-09-08 2018-04-24 Yubico Inc. Devices and methods for identification, authentication and signing purposes
US20130067232A1 (en) 2011-09-09 2013-03-14 Kai Chung CHEUNG METHOD AND SYSTEM FOR CREDENTIAL MANAGEMENT AND DATA ENCRYPTION FOR iOS BASED DEVICES
CN103186535B (zh) 2011-12-27 2016-10-19 腾讯科技(深圳)有限公司 一种移动终端图片管理方法及设备
US8572685B2 (en) 2012-01-06 2013-10-29 Timothy J. Caplis Consolidated data services apparatus and method
JP6004408B2 (ja) * 2012-03-30 2016-10-05 シンクロノス テクノロジーズ インコーポレイテッド 安全移動体フレームワーク
US9253209B2 (en) * 2012-04-26 2016-02-02 International Business Machines Corporation Policy-based dynamic information flow control on mobile devices

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1716149A (zh) * 1996-09-04 2006-01-04 英特托拉斯技术公司 一种从用户站点向外部站点发布使用数据的方法
CN102918539A (zh) * 2010-06-08 2013-02-06 英特尔公司 用于保护重放内容的方法和装置

Also Published As

Publication number Publication date
JP2017502368A (ja) 2017-01-19
KR101824980B1 (ko) 2018-02-02
KR20160068952A (ko) 2016-06-15
JP6480435B2 (ja) 2019-03-13
US9218494B2 (en) 2015-12-22
WO2015057825A1 (en) 2015-04-23
EP3058502B1 (en) 2017-08-23
EP3058502A1 (en) 2016-08-24
US20150106946A1 (en) 2015-04-16
CN105637523A (zh) 2016-06-01

Similar Documents

Publication Publication Date Title
CN105637523B (zh) 安全客户端驱动映射和文件存储***
US11722465B2 (en) Password encryption for hybrid cloud services
US9858428B2 (en) Controlling mobile device access to secure data
CN105247531B (zh) 提供受管浏览器
CN105340309B (zh) 具有多个操作模式的应用
CN105393524B (zh) 图像分析和管理
CN106471783B (zh) 经由网关的企业***认证和授权
CN105308923B (zh) 对具有多操作模式的应用的数据管理
CN105359486B (zh) 使用代理安全访问资源
CN104904178B (zh) 提供虚拟专用网络隧道的方法和设备及计算机可读介质
CN105379223B (zh) 管理对企业资源的访问的方法和装置
CN109558721A (zh) 客户端应用程序的安全单点登录和条件访问
US20140297859A1 (en) Providing mobile device management functionalities for a managed browser
US20140297840A1 (en) Providing mobile device management functionalities
CN106031128B (zh) 移动设备管理的方法和装置
CN107924431B (zh) 匿名应用程序包装
CN105340239A (zh) 利用环境锁定移动设备
CN107852585A (zh) 改进经包装应用程序的性能
US8813179B1 (en) Providing mobile device management functionalities
AU2019378694B2 (en) Systems and methods for live tiles for SaaS

Legal Events

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