用于对数据进行安全处理的系统和方法

文档序号:7991178
用于对数据进行安全处理的系统和方法【专利摘要】此处描述的方法和系统提供了外部存储提供商在企业设置中的安全实施。特别地,本发明提供了允许对过程的安全使用,所述过程可以传输文件到外部存储提供商或者访问来自外部存储提供商的文件。在一些装置中,诸如不受信任过程的过程可能请求访问文件。安全代理可以拦截该请求并且加密该文件。该文件于是可以被传输到外部存储提供商。用户可以随后请求访问该文件。安全代理可以拦截与此请求有关的消息,确定该用户是否被授权访问该文件,以及解密该文件。【专利说明】用于对数据进行安全处理的系统和方法[0001]相关申请的交叉引用[0002]本申请主张共同待决的美国临时专利申请N0.61/487,519的优先权,其于2011年5月18日提交,发明名称为“SYSTEMSANDMETHODSFORSECUREHANDLINGOFDATAACCESSEDBYRONIZATIONPROGRAMS”。上述申请全文通过引用结合于此。【
技术领域
】[0003]本公开内容涉及在企业网络中使用外部存储提供商。特别地,本公开内容涉及用于在被程序访问以及传输到外部存储提供商或外部存储设施之前使数据安全的方法和系统。【
背景技术
】[0004]用于文件存储和递送的软件即服务(SaaS)解决方案的发展对于力图控制以及使他们网络上的数据安全的企业网络管理员提出了挑战。SaaS解决方案有时称为在〃云〃中被提供的解决方案。在选择使用由外部存储提供商提供的服务时的一个缺点在于,企业冒着将敏感数据暴露给不受信任第三方的风险。例如,数据可能经受外部服务提供商而不是企业网络的策略和控制。因此企业在利用外部存储的数据工作时会无法强制执行诸如其自己密码要求的策略。企业也会无法跟踪文件被外部存储提供商的用户保持在何处。[0005]另外,外部存储提供商可以按照全有或全无(alΙ-or-nothing)方式操作从而为用户提供访问。也就是说,外部存储提供商可以提供存储服务给特定用户或者给整个公司。然而,当前解决方案并未提供对在典型企业网络设置中已有的文件访问实施更细化方法的能力。例如,企业网络可能典型地涉及各种不同用户群组,所述不同用户群组对不同文件可具有不同程度的访问(无论是以组织层次所细分还是以组织内的不同群组细分)。对于希望将他们的企业网络与由外部存储提供商提供的服务组合的人来说,当前无法获得这种根据企业网络内的用户群组来准许和授权对文件的访问的细化方法。【
发明内容】[0006]下文给出本公开内容的简要概述,从而提供对一些方面的基本理解。其并非是意在识别本公开内容的重要或关键要素或者界定其范围。下述概述纯粹以简化形式给出该公开内容的一些方面,以作为在下文给出的更详细描述的序言。[0007]在一个实施例中,此处描述的方法和系统提供了用于实现利用由外部存储提供商提供的服务的企业网络的安全和控制的各种功能性。特别地,本发明提供用于对由在客户端计算机上执行的一个或多个过程所访问的文件进行安全处理的系统和方法,所述过程诸如为不受信任过程或程序。在一些实施例中,在客户端计算机上执行的过程可以是由外部存储提供商提供的使得能够连接到外部存储提供商以及从其传送文件/往其传送文件的实用程序。这种过程也可以是同步程序,其被设计成更新、同步、备份或存档在企业网络内对于外部存储提供商而言可利用的文件。[0008]在一些实施例中,一种用于对由在客户端计算机上执行的一个或多个过程所访问的文件进行安全处理方法可以包括:由在客户端计算机上执行的安全代理拦截来自在客户端计算机上执行的过程的消息。该消息可以被寻址到与该程序通信的外部存储提供商,并且该消息可以标识文件。该方法还可以包括:由该安全代理使用加密密钥来加密该文件,从而得到经加密的文件。该方法还可以包括:由安全代理利用共享密钥来加密该加密密钥,从而得到经加密的加密密钥。该方法还可以包括:向该过程可访问的位置提供经加密的文件和经加密的加密密钥。[0009]附加地,在一些实施例中,一种用于对由在客户端计算机上执行的一个或多个过程所访问的文件进行安全处理方法可以包括:由在第一客户端计算机上执行的第一安全代理拦截由在第一客户端计算机上执行的第一不受信任过程作出的访问文件的请求。该方法还可以包括:由第一安全代理使用第一加密密钥加密所述文件。该方法还可以包括:由第一安全代理使用共享密钥加密该第一加密密钥。该方法还可以包括:由第一安全代理向第一不受信任程序提供经加密的文件和经加密的第一加密密钥,以便向网络传输。该方法还可以包括:由在第二客户端计算机上执行的第二安全代理拦截由在第二客户端计算机上执行的第二不受信任过程代表用户作出的访问该文件的请求。该方法还可以包括:由第二安全代理确定该用户被集中服务授权访问该文件。该方法还可以包括:响应于确定该用户被集中服务授权访问该文件,由第二安全代理使用该共享密钥解密经加密的第一加密密钥。该方法还可以包括:由第二安全代理使用第一加密密钥解密经加密的文件。[0010]在一些实施例中,用于对文件访问提供安全处理的方法还可以包括确定第一不受信任过程意欲进行下述操作其中之一:向网络同步、存储或传输该文件的副本。在一些实施例中,用于对一个或多个不受信任过程所访问的文件提供安全处理的方法还可以包括确定该文件不被加密。[0011]在一些实施例中,用于对文件访问提供安全处理的方法还可以包括:由该用户发起访问请求。[0012]在一些实施例中,用于对文件访问提供安全处理的方法还可以包括:由第二用户发起访问请求。[0013]在一些实施例中,用于对文件访问提供安全处理的方法还可以包括:由第二用户发起访问请求,该第二用户属于分配给该文件的受众类别。[0014]在一些实施例中,用于对文件访问提供安全处理的方法还可以包括生成该第一加密密钥从而包括用于该文件的唯一密钥。[0015]在一些实施例中,用于对文件访问提供安全处理的方法还可以包括确定第二不受信任过程意欲进行下述操作其中之一:从网络同步、访问或传送经标记的文件的副本。[0016]在一些实施例中,用于对文件访问提供安全处理的方法还可以包括:响应于确定该用户未被集中服务授权访问该文件,由第二安全代理拒绝解密经加密的文件。[0017]在一些实施例中,用于对文件访问提供安全处理的方法还可以包括:拦截访问已经使用第二加密密钥加密的第二文件的请求,并且向第一不受信任过程提供第二经标记的文件,该第二经标记的文件使用分配给该第二文件的受众类别来标记,并且包括(i)第二文件和(ii)使用共享密钥加密的第二加密密钥。[0018]在一些实施例中,用于对文件访问提供安全处理的方法还可以包括:向集中服务指定被授权访问该文件的一个或多个用户。[0019]在一些实施例中,用于对文件访问提供安全处理的方法还可以包括:查阅访问列表以确定该用户是否被授权访问该文件。[0020]在一些实施例中,用于对文件访问提供安全处理的方法还可以包括:为该文件分配受众类别,该受众类别选自多个预定受众类别。[0021]在一些实施例中,用于对文件访问提供安全处理的方法还可以包括:为该文件分配受众类别,该受众类别包括被授权访问该文件的一个或多个用户。该方法还可以包括确定该用户属于分配给该文件的受众类别。该方法还可以包括:使用该受众类别的标识符标记经加密的文件。该方法还可以包括:使用用于确定分配给该文件的受众类别的哈希表的密钥,标记经加密的文件。该方法还可以包括:使用该共享密钥加密该受众类别的标识符。该方法还可以包括:使用第一加密密钥加密该受众类别的标识符。[0022]在一些实施例中,用于对文件访问提供安全处理的方法还可以包括一种方法,其中共享密钥为公钥-私钥对,并且该方法还可以包括使用私钥解密该文件。[0023]在一个或多个实施例中,一种用于对文件访问进行安全处理的系统可以包括与多个安全代理通信的集中服务,该集中服务维持共享密钥。该系统还可以包括在第一客户端计算机上执行的第一安全代理。该系统还可以包括拦截由在第一客户端计算机上执行的第一不受信任过程或程序作出的访问文件的请求的第一安全代理。该系统还可以包括使用第一加密密钥加密文件的第一安全代理。该系统还可以包括使用共享密钥加密第一加密密钥的第一安全代理。该系统还可以包括向第一不受信任过程提供经加密的文件和经加密的第一加密密钥以便传输到网络的第一安全代理。该系统还可以包括第一安全代理和第二安全代理。第一安全代理和第二安全代理可以在第二客户端计算机上执行,并且第二安全代理可以拦截由在第二客户端计算机上执行的第二不受信任过程(例如代表用户)作出的访问文件的请求,确定该用户被集中服务授权访问该文件,响应于确定该用户被集中服务授权访问该文件,而使用该共享密钥解密经加密的第一加密密钥,以及使用第一加密密钥解密经加密的文件。【专利附图】【附图说明】[0024]通过参考结合附图进行的下述描述,该公开内容的前述以及其它目的、方面、特征和优点将变得更加清楚,在附图中:[0025]图1A-1C为描述网络环境的示例实施例的框图,所述网络环境包括连接到外部存储提供商的企业网络中的客户端机器;[0026]图1D为描述网络环境的示例实施例的框图,所述网络环境包括与远程机器通信的本地机器;[0027]图1E-1F为描述与实施此处描述的方法和系统有关地的可使用的计算装置或计算装置平台的示例实施例的框图;[0028]图2A-2F为描述用于对传输到外部存储提供商的数据进行安全处理的示例实施例的框图;[0029]图3A-3B为描述用于在由过程传输之前使数据安全的方法的示例实施例的流程图;[0030]图3C-3D为描述用于在由过程传输之前使数据安全的方法的示例实施例的流程图;[0031]图4A-4B为描述用于从外部存储提供商检索安全的数据的方法的示例实施例的流程图;[0032]图4C-4D为描述用于从外部存储提供商检索安全的数据的方法的示例实施例的流程图;[0033]图5A为描述加密过程的图例的流程图;[0034]图5B为描述加密数据的各种图例的图示;[0035]图6A-6B为描述加密和解密过程的示例实施例的流程图;[0036]图6C为描述用于向外部存储提供商的文件存储提供安全性的系统的示例实施例的框图;[0037]图7为描述安全部件的示例的框图。[0038]图8A-8B为描述用于向由外部存储提供商进行的文件存储提供安全性的涉及加密和解密的示例方法的流程图;[0039]图8C-8D为描述用于向由外部存储提供商进行的文件存储提供安全性的涉及加密和解密的示例方法的流程图;[0040]图9A为用于认证用户以访问由外部存储提供商存储的安全文件的系统的示例实施例的框图;以及[0041]图9B为描述用于进一步加密由外部存储提供商提供的安全文件的系统的示例实施例的框图。[0042]当结合附图时从下文进行的详细描述,本发明的特征和优点将变得更加清楚,其中相似的附图标记始终表示相应的元件。在各图中,相似的附图标记通常表示相同、功能上相似和/或结构式相似的元件。【具体实施方式】[0043]出于阅读下述对各种实施例的描述的目的,对说明书的各部分以及它们的相应内容的下述描述会是有帮助的:[0044]-部分A描述可用于实践此处描述的实施例的各种加密方案和标准;[0045]-部分B描述可用于实践此处描述的实施例的网络环境和计算环境;以及[0046]-部分C描述用于对程序访问的数据进行安全处理的系统和方法,并且描述用于向由外部存储提供商提供的文件存储提供安全性的系统和方法。[0047]A.加密方案&标准[0048]在此说明书全文中,可能提及“哈希函数”、“哈希”或“哈希法”。这些术语是关于接收数据作为输入并且响应于所述输入提供给定输出的任何过程或数学函数。所述输出可以称为哈希值,或者可以称为消息摘要。哈希的输出可以是单个数据或整数。哈希的输出可以是固定大小的位串。哈希函数可以依赖于一个或多个关键字以完成所述哈希法。本领域中已知的哈希函数示例包括MD2肖息摘要算法)、MD4、MD5、SHA-0(安全哈希算法)、SHA_1、SHA-2、GOST(例如,标准GOSTR34.11-94或G0ST34.311-95)、HAVAL,PANAM、RadioGatun,RACE完整性源语评价消息摘要(RIPEMD)、Tiger和WHIRLPOOL。[0049]在此说明书全文中,可能提及“公钥”、“公共密钥”、“公钥加密”、“公钥基础设施”和“PKI”。这些术语是关于用于将数据转变成仅仅可由预期的一个接受者,多个接受者或受众解译的形式的任何方法。公钥加密方法可涉及使用不对称密钥算法,其中加密数据所需的密钥不同于解密数据所需的密钥。这允许用于加密所述数据使用的密钥即“公钥”被广泛地分享。安全性的完整性得到维持,因为用于解密经加密的信息的分离的密钥仍是私密的。私密密钥也可以称为私钥,并且公钥和相应私钥的组合可以称为公钥-私钥对。因而,公钥加密并不要求一个或多个秘密密钥的安全初始交换。不对称密钥实现的示例包括数字签名标准(DSS)、RSA加密算法、良好隐私(PGP)、因特网密钥交换、ZRTP、安全外壳(SSH)、安全套接层(SSL)、传输层安全性(TLS)以及安全因特网实时会议(SILC)。[0050]应理解,在此公开内容全文中,在使用或公开公钥或公钥加密的场合,也可以可替换地使用任何其它形式的加密从而成功地实施此处公开的系统和方法,所述其它形式的加密包括私钥加密或任何其它形式的加密。[0051]在此说明书全文中,可能提及加密。加密可以指用于从经解释的形式转变数据并且通过过程对该数据进行安全处理的任何手段,该过程使得该数据仅仅除了具有解密该经加密数据的手段的人对于任何人均是不可解译的。加密可以指包括私钥和公钥加密的多种多样加密标准和技术。加密和解密可以经由实施密码、密钥或者二者的组合的系统来实现。加密方案可以包括对称密钥加密方案,其中秘密密钥在寻求加密数据的一方和寻求解密数据的一方之间交换。这种方案也可以称为“共享秘密”或“预共享”加密方案。这种加密方案的示例可以包括先进加密标准、Blowfish,Twofish,Serpent,CAST5(也称为CAST-128)或其它CAST变型(例如CAST256),RivestCipher4(RC4)或其它RC变型(例如ARC4)、三重数据加密标准(三重DES或3DES)以及国际数据加密算法(IDEA)。[0052]应理解,在此公开内容全文中,在对称密钥共享秘密加密或任何其它形式的加密被使用或公开的场合中,也可以可替换地使用任何其它形式的加密从而成功实施此处公开的系统和方法,包括公钥加密或任何其它形式的加密。[0053]在此说明书全文中,可能提及“共享密钥”或“共享的密钥”以用于加密或解密的目的。共享密钥是可以在特定用户群组之间共享的密钥。共享密钥可以是在任何类型或形式的加密方案或标准中使用的任何类型或形式的密钥。在一些实施例中,共享密钥可以是特定文件所独有的或者可以与单个用户、应用或者过程共享。在一些实施例中,共享密钥可以是不对称私钥/公钥对。[0054]B.网络和计算环塏[0055]现在参考图1A,描述网络环境的实施例。简要地概述,该网络环境可以包括一个或多个客户端机器,其被描述为客户端机器10和客户端机器20。客户端机器也可以通常称为本地机器(多个)、客户端(多个)、客户端节点(多个)、客户端机器(多个)、客户端计算机(多个)、客户端装置(多个)、端点(多个)或者端点节点(多个)。一个或多个客户端机器可以经由一个或多个网络150与一个或多个远程机器30、30’和30”(通常也称为(多个)服务器30或(多个)远程机器30)通信。在一些实施例中,远程机器可以一起包括服务器群38。附加地,在一些布置中,客户端机器10和20可以被视为企业网络的一部分(例如,即使它们可以是经由因特网连接的移动装置)。远程机器30、30’、30’’或服务器群38可以提供向客户端机器和/或企业网络中的任何其它机器提供外部存储,并且可以被视为外部存储提供商的一部分。[0056]现在参考图1B,描述了网络环境的另一实施例。图1B包括与图1A类似的网络环境,其添加有机器18和客户端机器15。简要地概述,该网络环境可以包括一个或多个客户端机器10、15和20,其经由一个或多个网络150以及通过企业网络上的机器18与一个或多个远程机器30、30’和30”通信。[0057]机器18可以是企业网络上的服务器,该服务器提供在此公开内容的其它地方更详细描述的安全部件。机器18也可以为像是客户端机器10、15或20的计算装置。机器18也可以是诸如代理服务器或防火墙服务器的中间网络装置或服务器。[0058]现在参考图1C,示出了与图1B类似的网络环境,其添加有虚拟磁盘卷40。机器18与虚拟磁盘卷40通信,该虚拟磁盘卷40安装在企业网络上并且与远程机器30、30’或30’’通信。在一个实施例中,虚拟磁盘卷40可以是外部存储提供商存储在远程机器30、30’或30’’上的外部存储信息的位置的标识符。所述标识符可以存储于企业网络中的任何机器(包括机器18、企业网络中的某些其它计算装置或服务器)上,或者存储于企业网络中的多个服务器或计算装置上。[0059]虚拟磁盘卷40可以用于访问由外部存储提供商在远程机器30、30’或30’’上存储的数据。虚拟磁盘卷40可以位于客户端机器10、网络上的节点、机器18处,或者位于企业网络上的任何其它装置或机器。[0060]企业网络可以是局域网(LAN),诸如公司内部网,或者能够由单个实体或企业安全处理和控制的其它网络。局域网可以跨过各种各样地理位置,并且可以通过本领域中已知的许多技术(诸如虚拟私人联网)被延伸到远程用户。外部存储提供商可以是在企业网络外部的针对文件、数据和通信的存储服务的任何提供商。[0061]在一些实施例中,外部存储提供商可以在与控制该企业网络的相同的实体控制之下。远程机器30、30’或30’’可以是企业网络的一部分。在一些实施例中,远程机器30、30’或30’’可以物理上存在于与企业网络的其它部件相同的位置。[0062]网络150可以是广域网(WAN),诸如公共因特网或万维网,或者能够将企业网络与外部存储提供商连接的其它网络。在一些实施例中,网络150可以是私人网络。[0063]网络150可以是任何类型和/或形式的网络并且可以包括下述网络中任何一种:点到点网络、广播网、广域网、局域网、电信网络、数据通信网络、计算机网络、ATM(异步传输模式)网络、SONET(同步光学网络)网络、SDH(同步数字层次)网络、无线网络以及有线网络。在一些实施例中,网络150可以包括无线链路,诸如红外信道或卫星频带。网络150的拓扑可以是总线、星型或者环状网络拓扑。网络150可以是本领域普通技术人员知晓的能够支持此处所述操作的任何这种网络拓扑。该网络可以包括利用用于在移动装置之间通信的任何一种或多种协议的移动电话网络,所述协议包括AMPS(先进移动电话服务)、TDMA(时分多址)、CDMA(码分多址)、GSM(全球移动通信系统)、GPRS(通用分组无线服务)或UMTS(通用移动电信系统)。在一些实施例中,不同类型的数据可以经由不同协议发送。在其它实施例中,相同类型的数据可以经由不同协议传输。[0064]在一些实施例中,该系统可以包括多个逻辑分组的远程机器30、30’或30’’。在这些实施例的一个实施例中,远程机器的该逻辑分组可以称为服务器群38。在这些实施例的另一实施例中,远程机器30、30’或30’’可以在地理上散布。在其它实施例中,服务器群38可以作为单个实体来管理。在再一实施例中,服务器群38包括多个服务器群(例如,地理上分散的服务器群的集合)。每个服务器群中的远程机器可以是异构的:一个或多个远程机器可以根据一种类型的操作系统平台(例如WINDOWSNT,WIND0WS2003,WIND0WS2008,WIND0WS7和WINDOWSServer2008R2,所有这些均由华盛顿州雷蒙德的微软公司制造)操作,而一个或多个其它远程机器106可以根据另一类型的操作系统平台(例如Unix或Linux)或任何其它操作系统平台操作。可替换地,远程机器可以使用相同类型的操作系统(例如都使用WINDOWS,或者都使用Linux等)。[0065]每个服务器群的远程机器30、30’或30’’不需要物理上靠近同一服务器群中的另一远程机器。因而,逻辑上被分组成一个服务器群的远程机器分组可以使用广域网(WAN)连接或城域网(MAN)连接而互连。例如,服务器群38可以包括物理上位于不同大陆或者大陆、国家、州、城市、校园或房间的不同地区的远程机器。如果远程机器使用局域网(LAN)连接或某种形式的直接连接来连接,服务器群中远程机器之间的数据传输速度可以得到增加。[0066]在一个或多个实施例中,远程机器30、30’或30’’提供企业网络外部的数据存储服务。这些数据存储服务可以包括数据存储、文件存储、通信存储、备份存储、存档存储、冗余存储或任何其它形式的存储。这些数据存储服务可以使用包括TCP/IP(传输控制协议/因特网协议)的各种不同协议来传输和接收数据。在一些实施例中,远程机器30、30’或30’’可以提供外部存储服务,诸如由加利福尼亚州旧金山市的Dropbox公司提供的“Dropbox”服务;加利福尼亚州帕洛阿尔托市的Box.net公司提供的“Box.net”服务;由加利福尼亚州圣马特奥市的Sugarsync公司提供的“Sugarsync”服务;由马萨诸塞州霍普金顿市的EMC有限公司提供的“Mozy”服务;由马萨诸塞州波士顿市的Carbonite公司提供的“Carbonite”服务;由加利福尼亚州柏林盖姆市的Zecter公司提供的“ZumoDrive”服务;由华盛顿州雷蒙德市的微软公司提供的“SkyDrive”服务;以及由加利福尼亚州库比蒂诺市的AppIe公司提供的“MobiIeMe”服务。[0067]客户端机器10、15或20可以执行、操作或以其它方式提供应用,该应用可以是任何类型和/或形式的软件、程序或者可执行指令,诸如任何类型和/或形式的网络浏览器、基于网络的客户端、客户端-服务器应用、瘦客户端计算客户端、ActiveX控件或Java小程序,或者能够在客户端机器10、15或20上执行的任何其它类型和/或形式的可执行指令。在一些实施例中,该应用可以是由远程机器(例如,远程机器30、30’或30’’)代表客户端机器(例如客户端机器10、15或20)执行的基于服务器的或基于远程的应用。在其它实施例中,远程机器可以使用任何瘦客户端协议、表示层协议或远程显示协议向客户端机器显示输出,所述协议为诸如由佛罗里达州劳德代尔堡的CitrixSystems公司制造的独立计算架构(ICA)协议;由盛顿州雷蒙德市的微软公司制造的远程桌面协议(RDP);X11协议;由AT&T贝尔实验室制造的虚拟网络计算(VNC)协议;由美国加利福尼亚州森尼维尔市以及以色列赖阿南纳的Qumranet公司制造的SPICE协议;由加利福尼亚州苗必达市的VESA制造的Net2Display协议;由加拿大不列颠哥伦比亚省的本拿比市的Teradici公司制造的PC-over-1P协议;由加利福尼亚州圣何塞市的Wyse技术公司制造的TCX协议;纽约州纽约市的哥伦比亚大学开发的THINC协议;或者由马萨诸塞州切姆斯福德市的Desktone公司制造的Virtual-D协议。该应用可以使用任何类型的协议,并且它例如可以是HTTP客户端、FTP客户端、Oscar客户端或Telnet客户端。在再一实施例中,该应用包括与因特网语音协议(VoIP)通信有关的任何类型的软件,诸如软IP电话。在另外实施例中,该应用包括与实时数据通信有关的任何应用,诸如用于流媒体视频和/或音频的应用。[0068]客户端机器10、15或20可以是任何工作站、桌上型计算机、[0069]膝上型或笔记本计算机、服务器、手持计算机、移动电话或其它便携电信装置、媒体播放装置、游戏系统、移动计算装置,或者能够通信并且具有足够处理器能力和存储器容量以执行此处所述操作的任何其它类型和/或形式的计算、电信或媒体装置。在一些实施例中,客户端机器可以是诸如智能电话或平板计算机的移动计算装置,其包括诸如下述的产品:由加利福尼亚州库比蒂诺市的Apple公司制造的iPhone或iPad;由加拿大安大略省滑铁卢的ResearchinMotion有限公司制造的BlackBerry装置;由华盛顿州雷蒙德市的微软公司制造的Windows移动装置;由伊利诺伊州利伯蒂维尔的Motorolla公司制造的Xoom;能够运行由加利福尼亚州山景城的Google公司提供的Android平台的装置;以及任何其它类型的移动计算装置。在一些布置中,移动计算装置可以经由因特网连接到企业网络。[0070]在一些实施例中,客户端机器10、15或20可以具有与该装置相容的不同处理器、操作系统以及输入装置。例如,在一个实施例中,客户端机器10可以是由Palm公司制造的TREO180,270,600,650,680,700p,700w/wx,750,755p,800w,Centro或Pro智能电话。在这些实施例中的一些实施例中,TREO智能电话在PalmOS操作系统的控制下操作,并且包括触笔输入装置以及五向导航器装置。[0071]在其它实施例中,客户端机器10可以是移动装置,诸如JAVA-enabled蜂窝电话或个人数字助理(PDA),诸如均由伊利诺伊州绍姆堡的Motorola公司制造的i55sr、i58sr、i85s、i88s、i90c、i95cl、i335、i365、i570、1576、i580、i615、i760、i836、i850、i870、i880、i920、i930、ic502、ic602、ic902、?776或imllOO;由日本京都的京瓷制造的6035或7135,或者由韩国首尔的三星电子有限公司制造的i300或i330。在一些实施例中,客户端机器10可以是由芬兰的诺基亚或者由瑞典隆德的索尼爱立信移动通信公司制造的移动装置。[0072]在再一实施例中,客户端机器10、15或20可以是Blackberry手持或智能电话,诸如由ResearchInMotion有限公司制造的那些装置,其包括Blackberry7100系列、8700系列、7700系列、7200系列、Blackberry7520、BlackberryPEARL8100、8700系列、8800系列、BlackberryStorm、BlackberryBold>BlackberryCurve8900以及BlackberryPearlFlip。在进一步的其它实施例中,客户端机器10、15或20可以是智能电话、掌上PC、掌上PC电话或支持微软Windows移动软件的其它手持移动装置。再者,客户端机器10、15或20可以是任何工作站、桌上型计算机、膝上型或笔记本计算机、服务器、手持计算机、移动电话、任何其它计算机,或者能够通信并具有足够处理器能力和存储器容量以执行此处所述的操作的其它形式的计算或电信装置。[0073]现在参考图1D,来描述网络环境的实施例。简要地概述,该网络环境包括一个或多个本地机器102a-102n(通常也称为本地机器(多个)102、客户端(多个)102、客户端节点(多个)102、客户端机器(多个)102、客户端计算机(多个)102、客户端装置(多个)102、端点(多个)102或者端点节点(多个)102)。一个或多个本地机器102a-102n可以经由一个或多个网络104与一个或多个远程机器106a-106n(通常也称为服务器(多个)106或远程机器(多个)106)通信。在一些实施例中,任何或所有的本地机器102a-102n具有这样的能力:既充当寻求访问由服务器提供的资源的客户端节点,又充当为其它本地机器提供对托管资源的访问的服务器。[0074]尽管图1D示出本地机器102a_102n和远程机器106a_106n之间的网络104,本地机器102a-102n和远程机器106a_106n可以位于同一网络104上。网络104可以是诸如公司内部网、城域网(MAN)的局域网(LAN),或者诸如因特网或万维网的广域网(WAN)。在一些实施例中,本地机器102a-102n和远程机器106a_106n之间存在多个网络104。在这些实施例的一个实施例中,网络104’(未示出)可以是私人网络并且网络104可以是公共网络。在这些实施例的另一个实施例中,网络104可以是私人网络并且网络104’是公共网络。在再一实施例中,网络104和104’可以都是私人网络。在又一个实施例中,网络104和104’可以都是公共网络。[0075]网络104可以是任何类型和/或形式的网络并且可以包括下述中任何一种:点到点网络、广播网、广域网、局域网、电信网络、数据通信网络、计算机网络、ATM网络、SONET网络、SDH网络、无线网络以及有线网络。在一些实施例中,网络104可以包括无线链路,诸如红外信道或卫星频带。网络104的拓扑可以是总线、星型或者环状网络拓扑。网络104可以是本领域普通技术人员知晓的能够支持此处所述操作的任何这样的网络拓扑。该网络可以包括利用用于在移动装置之间通信的任何一种或多种协议的移动电话网络,所述协议包括AMPS、TDMA、CDMA、GSM、GPRS或UMTS。在一些实施例中,不同类型的数据可以经由不同协议传输。在其它实施例中,相同类型的数据可以经由不同协议传输。[0076]在一些实施例中,该系统可以包括多个逻辑分组的远程机器106a_106n。在这些实施例中的一个实施例中,远程机器的该逻辑分组可以称为服务器群。在这些实施例中的另一实施例中,远程机器106a_106n可以在地理上散布。在其它实施例中,服务器群可以作为单个实体来管理。在再一实施例中,服务器群包括多个服务器群。每个服务器群中的远程机器106a-106n可以是异构的:一个或多个远程机器106a_106n可以根据一种类型的操作系统平台(例如WINDOWSNT,WIND0WS2003,WIND0WS2008,WIND0WS7和WINDOWSServer2008R2,所有这些均由华盛顿州雷蒙德的微软公司制造)操作,而一个或多个其它远程机器106可以根据另一类型的操作系统平台(例如,Unix或Linux)操作。[0077]每个服务器群的远程机器不需要物理上靠近同一服务器群中的另一远程机器。因而,逻辑上被分组成服务器群的远程机器分组106a-106n可以使用广域网(WAN)连接或城域网(MAN)连接而互连。例如,服务器群可以包括物理上位于不同大陆或者大陆、国家、州、城市、校园或房间的不同地区的远程机器106a_106n。如果远程机器106a_106n使用局域网(LAN)连接或某种形式的直接连接来连接,服务器群中远程机器106a-106n之间的数据传输速度可以得到增加。[0078]任何或所有的远程机器106a_106n可以是文件服务器、应用服务器、网络服务器、代理服务器、应用、网络应用、网关、应用网关、网关服务器、虚拟化服务器、部署服务器、SSLVPN服务器或者防火墙。在一些实施例中,远程机器(例如远程机器106)提供远程认证拨入用户服务,并且被称为RADIUS服务器。在其它实施例中,远程机器可以具有充当应用服务器或者主应用服务器的能力。在再一实施例中,远程机器可以是刀片式服务器。在再一实施例中,远程机器可以执行虚拟机器,从而向用户或客户端计算机(例如客户端机器102)提供对计算环境的访问。[0079]在一个实施例中,任何或所有的远程机器106a_016n可以包括活跃目录(activedirectory)。例如,远程机器106可以是应用程序加速应用。对于其中远程机器106为应用程序加速应用的实施例,远程机器106可以提供包括防火墙功能、应用防火墙功能或负载均衡功能的功能。在一些实施例中,远程机器106可以包括诸如由下述公司制造的一系列应用的其中之一的应用:加利福尼亚州圣何塞市的CitrixApplicationNetworkingGroup,或者加利福尼亚州山景城的SilverPeakSystems公司,或者加利福尼亚州旧金山市的Riverbed技术公司,或者华盛顿州西雅图市的F5Networks公司,或者加利福尼亚州森尼维尔市的JuniperNetworks公司。[0080]在一些实施例中,远程机器106可以代表本地机器(例如本地机器102a_102n任何其一)的用户来执行应用。在其它实施例中,远程机器可以执行虚拟机器,该虚拟机器提供执行会话,在该执行会话期间应用代表本地机器的用户而执行。在这些实施例的一个或多个实施例中,执行会话为托管桌面会话。在其它实施例中,执行会话提供对计算环境的访问,该计算环境可以包括下述中的一个或多个:应用、多个应用、桌面或者桌面会话。如此处使用,桌面或桌面会话是指其中可以托管和/或执行一个或多个应用的图形环境或空间。对于其中可以整合本地和/或远程应用的操作系统的实例,桌面可以包括提供用户接口的图形壳。如此处使用,该应用为在操作系统的实例(以及可选地桌面也)被加载之后执行的程序。操作系统的每个实例可以是物理的(例如每个装置一个操作系统)或虚拟的(例如在单个装置上运行的OS的许多实例)。每个应用可以在本地装置上执行,或者在远程位置装置上执行(例如遥控)。[0081]在一些实施例中,本地机器(例如本地机器102)可以与远程机器(例如远程机器106a-106n任何其一)通信。在一个实施例中,本地机器102直接与服务器群中的远程机器106a-106n其中之一通信。在另一实施例中,本地机器102可以执行程序邻近应用从而与服务器群中的远程机器通信。在再一实施例中,远程机器可以提供主节点的功能。在一些实施例中,本地机器102可以通过网络104与服务器群中的远程机器106a-106n通信。通过网络104,本地机器102例如可以请求执行由服务器群中的远程机器106a-106n托管的各种应用,并且可以接收应用执行的结果的输出以供显示。在一些实施例中,仅仅主节点可以提供标识以及提供与托管所请求的应用的远程机器相关联的地址信息所需的功能性。[0082]在一个实施例中,任何或所有的远程机器106a_106n可以提供网络服务器的功能。例如,远程机器106a可以接收来自本地机器102的请求,可以将该请求转发到第二远程机器106b,并且可以利用对来自远程机器106b的请求的响应,来响应该本地机器102的请求。在再一实施例中,远程机器106a可以获得本地机器102可用的应用的清单以及与托管由应用的清单所标识的应用的远程机器106b相关联的地址信息。在又一实施例中,远程机器106a可以使用网页界面给出对本地机器102的请求的响应。在一个实施例中,本地机器102可以直接与远程机器106a通信以访问所标识的应用。在另一实施例中,本地机器102可以接收由所标识的应用在远程机器106a上执行所生成的输出数据,诸如显示数据。[0083]在一些实施例中,任何或所有的远程机器106a_106n(或包括远程机器106a_106n的服务器群)可以正在运行一个或多个应用,诸如提供瘦客户端计算或远程显示展示应用的应用。例如,在一个实施例中,远程机器106a(或包括远程机器106a的服务器群)可以执行下述产品来作为应用:CitrixSystems公司的CITRIXACCESSSHTE的任何部分,诸如METAFRAME或CITRIXPRESENTATIONSERVER产品,由CitrixSystems公司制造的下述产品:CITRIXXENAPP,CITRIXXENDESKTOP,CITRIXACCESSGATEWAY中任何一种,和/或由微软公司制造的MICROSOFTWINDOWS终端服务中的任何一种。在另一实施例中,该应用为由佛罗里达州劳德代尔堡的CitrixSystems公司开发的独立计算架构(ICA)客户端。在再一实施例中,远程机器106a可以运行应用,该应用例如可以是诸如由华盛顿州雷蒙德市的微软公司制造的MICROSOFTEXCHANGE的提供电子邮件服务的应用服务器,网络服务器或因特网服务器,或者桌面共享服务器,或者协同服务器。在又一个实施例中,任何应用均可以包括任何类型的托管服务或产品,诸如由加利福尼亚州圣色色拉的CitrixOn线路Division公司提供的G0T0MEETING,由加利福尼亚州圣克拉拉的WebEx公司提供的WEBEX,或者由华盛顿州雷蒙德市的微软公司提供的MicrosoftOfficeLIVEMEETING。[0084]任何或所有的本地机器102a_102n可以执行、操作或以其它方式提供应用,该应用可以是任何类型和/或形式的软件、程序或可执行指令。该应用可以是任何类型和/或形式的网络浏览器、基于网络的客户端、客户端-服务器应用、瘦客户端计算客户端、ActiveX控件或Java小程序,或者能够在本地机器102a_102n上执行的任何其它类型和/或形式的可执行指令。例如,在一些实施例中,该应用可以是在远程机器106a上代表本地机器102a被执行的基于服务器的或基于远程的应用。在其它实施例中,远程机器106a可以使用任何瘦客户端协议、表示层协议或者远程显示协议而向本地机器102a显示输出,诸如由佛罗里达州劳德代尔堡的CitrixSystems公司制造的ICA协议;由华盛顿州雷蒙德市的微软公司制造的远程桌面协议(RDP)5Xll协议;由AT&T贝尔实验室制造的虚拟网络计算(VNC)协议;由美国加利福尼亚州森尼维尔市以及以色列赖阿南纳的Qumranet公司制造的SPICE协议;由加利福尼亚州苗必达市的VESA制造的Net2Display协议;由加拿大不列颠哥伦比亚省的本拿比市的Teradici公司制造的PC-over-1P协议;由加利福尼亚州圣何塞市的Wyse技术公司制造的TCX协议;纽约州纽约市的哥伦比亚大学开发的THINC协议;或者由马萨诸塞州的切姆斯福德市的Desktone公司制造的Virtual-D协议。该应用可以使用任何类型的协议并且它可以是例如HTTP客户端、FTP客户端、Oscar客户端或Telnet客户端。在再一实施例中,该应用可以包括与因特网语音协议(VoIP)通信有关的任何类型的软件,诸如软IP电话。在另外实施例中,该应用可以包括与实时数据通信有关的任何应用,诸如用于流传输视频和/或音频的应用。[0085]本地机器102a_102n和远程机器106a_106n可以部署成和/或在任何类型和形式的计算装置上执行,诸如计算机、网络装置或能够在任何类型和形式的网络上通信,并且执行此处所述操作的应用。图1E和IF描述可以用于实施本地机器102、远程机器106或者此处所述其它计算机或机器的实施例的计算装置100的框图。诸如通过根据需要对部件进行添加、移除、组合、分割等等,可以对图1E和IF所示的示例计算装置100进行改变。如图1E和IF所述,每个计算装置100包括中央处理单元121和主存储器单元122。如图1E所示,计算装置100可以包括存储装置128、装配装置116、网络接口118、1/0控制器123、显示装置124a-n、键盘126以及诸如鼠标的指点装置127。存储装置128可以包括但不限于操作系统、软件和客户端代理120。如图1F所示,每个计算装置100还可以包括附加可选元件,诸如存储器端口103、桥接器170、一个或多个输入/输出装置130a-130n(通常使用附图标记130来引用)以及与中央处理单元121通信的高速缓存存储器140。[0086]中央处理单元121为响应于并且处理从主存储器单元122提取的指令的任何逻辑电路。在许多实施例中,中央处理单元121由微处理器单元提供,该微处理器单元诸如是:由加利福尼亚州山景城的Intel公司制造的微处理器;由伊利诺伊州绍姆堡的Motorola公司制造的微处理器;由加利福尼亚州圣克拉拉的Transmeta公司制造的微处理器;RS/6000处理器,由纽约州白原市的InternationalBusinessMachines制造的微处理器;或者由加利福尼亚州森尼维尔市的AdvancedMicroDevices制造的微处理器。计算装置100可以基于任何这些处理器,或能够按照如此处描述进行操作的任何其它处理器。[0087]主存储器单元122可以是能够存储数据并且允许任何存储位置直接被微处理器121访问的一个或多个存储器芯片,诸如静态随机存取存储器(SRAM)、突发SRAM或同步突发SRAM(BSRAM)、动态随机存取存储器(DRAM)、快速页模式DRAM(FPMDRAM)、增强DRAM(EDRAM)、扩展数据输出RAM(ED0RAM)、扩展数据输出DRAM(ED0DRAM)、突发扩展数据输出DRAM(BEDODRAM)、增强DRAM(EDRAM)、同步DRAM(SDRAM),JEDECSRAM、PC100SDRAM、双倍数据率SDRAM(DDRSDRAM)、增强SDRAM(ESDRAM)、同步链路DRAM(SLDRAM)、直接RambusDRAM(DRDRAM)或者铁电RAM(FRAM)0主存储器122可以基于任何上文所述存储器芯片,或能够按照如此处所述进行操作的任何其它可用存储器芯片。在图1E所示实施例中,处理器121经由系统总线150(在下文更详细描述)与主存储器122通信。图1F描述计算装置100的实施例,其中处理器经由存储器端口103直接与主存储器122通信。例如,在图1F中,主存储器122可以是DRDRAM。[0088]图1F描述其中主处理器121经由二级总线直接与高速缓存存储器140通信的实施例,该二级总线有时称为后端总线。在其它实施例中,主处理器121使用系统总线150与高速缓存存储器140通信。高速缓存存储器140可以具有比主存储器122更快的响应时间,并且可以使用SRAM、BSRAM或EDRAM来提供。在图1E所示的实施例中,处理器121经由本地系统总线150与各种I/O装置130通信。各种总线可以用于将中央处理单元121连接到任一I/O装置130,所述总线包括VESAVL总线、ISA总线、EISA总线、微信道架构(MCA)总线、PCI总线、PC1-X总线、PC1-Express总线或NuBus。对于其中输入/输出(I/O)装置为视频显示器124的实施例,处理器121可以使用高级图形端口(AGP)与显示器124通信。图1F描述计算机100的实施例,其中主处理器121经由HYPERTRANSP0RT、RAPID10或INFINIBAND通信技术直接与I/O装置130b通信。图1F还描述其中本地总线和直接通信混合的实施例:处理器121使用本地互连总线与I/O装置130a通信同时直接与I/O装置130b通信。[0089]各种各样I/O装置130a_130n可以存在于计算装置100。输入装置包括键盘、鼠标、跟踪板、跟踪球、麦克风和绘图平板。输出装置包括视频显示器、扬声器、喷墨打印机、激光打印机以及染料升华打印机。如图1E所示,I/O控制器123可以控制I/O装置。I/O控制器可以控制一个或多个I/O装置,诸如键盘126和例如鼠标或光学笔的指点装置127。另夕卜,I/O装置也可以为计算装置100提供存储装置和/或装配介质116。在再一实施例中,计算装置100可以提供USB连接(未示出)以接收手持USB存储装置,诸如由加利福尼亚州洛斯阿拉米托斯的TwintechIndustry公司制造的USB闪存驱动器系列的装置。[0090]再次参考图1E,计算装置100可以支持任何合适的装配装置116,诸如用于接收诸如3.5英寸、5.25英寸盘或ZIP盘的软盘的软盘驱动器,⑶-ROM驱动器,⑶-R/RW驱动器,DVD-ROM驱动器,各种格式的磁带驱动器,USB装置,硬盘驱动器或适合于装配软件和程序的任何其它装置。计算装置100还可以包括诸如一个或多个硬盘驱动器或独立盘冗余阵列的存储装置,以用于存储操作系统和其它相关软件,以及用于存储应用软件程序,诸如与客户端代理120有关的任何程序。可选地,任何装配装置116也可以用作存储装置。附加地,操作系统和软件可以从例如下述的可启动介质运行:诸如KNOPPIX的可启动CD、从knoppix.net作为GNU/Linux分布可获得的用于GNU/Linux的可启动⑶。[0091]另外,计算装置100可以包括网络接口118,从而通过各种连接接口到网络104,所述连接包括但不限于:标准电话线路、LAN或WAN链路(例如802.11,Tl,T3,56kb,X.25,SNA,DECNET)、宽带连接(例如ISDN,帧中继,ATM,吉比特以太网,SONET上以太网)、无线连接或者任何或所有上述的某种组合。连接可以使用各种通信协议(例如TCP/IP,IPX,SPX,NetBIOS,以太网,ARCNET,SONET,SDH,光纤分布式数据接口(FDDI),RS232,IEEE802.11,IEEE802.lla,IEEE802.llb,IEEE802.llg,CDMA,GSM,WiMax以及直接异步连接)来建立。在一个实施例中,经由任何类型和/或形式的网关或隧道协议(诸如安全套接层(SSL)或传输层安全性(TLS),或者由佛罗里达州劳德代尔堡的CitrixSystems公司制造的Citrix网关协议),计算装置100与其它计算装置100’通信。网络接口118可以包括内建网络适配器,网络接口卡,PCMCIA网卡,卡总线网络适配器,无线网络适配器,USB网络适配器,调制解调器,或者适合于将计算装置100接口到任何类型的能够通信的网络并且执行此处所述操作的任何其它装置。[0092]在一些实施例中,计算装置100可以包括或连接到多个显示装置124a_124n,每个所述显示装置可以是相同或不同的类型和/或形式。这样,任一I/o装置130a-130n和/或I/O控制器123可以包括任何类型和/或形式的合适硬件、软件或者硬件和软件的组合,从而通过计算装置100支持、使能或者提供连接以及使用多个显示装置124a-124n。例如,计算装置100可以包括任何类型和/或形式的视频适配器、视频卡、驱动器和/或库,从而与显示装置124a-124n接口连接、通信、连接或以其它方式使用显示装置124a_124n。在一个实施例中,视频适配器可以包括多个连接器从而接口连接到多个显示装置124a-124n。在其它实施例中,计算装置100可以包括多个视频适配器,每个视频适配器连接到一个或多个的显示装置124a-124n。在一些实施例中,计算装置100的操作系统的任何部分可以配置成用于使用多个显示器124a-124n。在其它实施例中,一个或多个的显示装置124a_124n可以由一个或多个其它计算装置(诸如,例如经由网络连接到计算装置100的计算装置IOOa和100b)提供。这些实施例可以包括设计和构造成使用另一计算机的显示装置作为计算装置100的第二显示装置124a的任何类型的软件。本领域普通技术人员将认识和理解计算装置100可以配置成具有多个显示装置124a-124n的各种方式和实施例。[0093]在另外实施例中,I/O装置130可以是系统总线150和外部通信总线(诸如USB总线、Apple桌面总线、RS-232串行连接、SCSI总线、FireWire总线、FireWire800总线、以太网总线、AppIeTalk总线、吉比特以太网总线、异步传送模式总线、HIPPI总线、超级HIPPI总线、SerialPlus总线、SCI/LAMP总线、光纤信道总线、或者串行附加小型计算机系统接口总线)之间的桥接器。[0094]在图1E和图1F中描述类型的计算装置100典型地在操作系统的控制下操作,该操作系统控制任务的调度以及对系统资源的访问。计算装置100可以运行任何操作系统,诸如任何版本的微软WINDOWS操作系统,不同版本的Unix和Linux操作系统,任何版本的用于Macintosh计算机的MACOS,任何嵌入式操作系统,任何实时操作系统,任何开源操作系统,任何专有操作系统,任何用于移动计算装置的操作系统,或者能够在计算装置上运行并且执行此处所述操作的任何其它操作系统。典型操作系统包括但不限于:均由华盛顿州雷蒙德市的微软公司制造的WIND0WS3.X,WIND0WS95,WIND0WS98,WIND0WS2000,WINDOWSNT3.51,WINDOWSNT4.0,WIND0WS7,WINDOWSCE,WINDOWSXP以及WINDOWSVISTA;由加利福尼亚州库比蒂诺市的Apple公司制造的MACOS;由纽约州阿蒙克的国际商业机器制造的OS/2;以及犹他州盐湖城市的Caldera公司发布的免费可获得的操作系统Linux,或者任何类型和/或形式的Unix操作系统等等。[0095]计算装置100可以是任何工作站,桌上型计算机,膝上型或笔记本计算机,服务器,手持计算机,移动电话或其它便携电信装置,媒体播放装置,游戏系统,移动计算装置,或者能够通信并且具有足够处理器能力和存储器容量以执行此处所述操作的任何其它类型和/或形式的计算、电信或媒体装置。例如,计算装置100可以包括由加利福尼亚州库比蒂诺市的Apple公司制造的IPOD装置系列的装置;由日本东京的Sony公司制造的PLAYSTAT10N2,PLAYSTAT10N3,或者PERSONALPLAYSTATIONPORTABLE(PSP)装置;由日本京都的Nintendo有限公司制造的NINTENDODS,NINTENDOGAMEB0Y,NINTENDOGAMEB0YADVANCED或NINTENDOREVOLUTION装置;或者由华盛顿州雷蒙德市的微软公司制造的XBOX或XB0X360装置。[0096]在一些实施例中,计算装置100可以具有与该装置相容的不同处理器、操作系统和输入装置。例如,在一个实施例中,计算装置100可以是由Palm公司制造的TRE0180,270,600,650,680,700p,700w/wx,750,755p,800w,Centro或Pro智能电话。在这些实施例的其中一些中,TREO智能电话可以在PalmOS操作系统的控制下操作,并且包括触笔输入装置以及五向导航器装置。[0097]在其它实施例中,计算装置100可以是移动装置,诸如支持JAVA的蜂窝电话或个人数字助理(PDA),诸如均由伊利诺伊州绍姆堡的Motorola公司制造的i55sr、i58sr、i85s、i88s、i90c、i95cl、i335、i365、i570、1576、i580、i615、i760、i836、i850、i870、i880、i920、i930、ic502、ic602、ic902、i776或imllOO;由日本京都的京瓷制造的6035或7135;或者由韩国首尔的三星电子有限公司制造的i300或i330。在一些实施例中,计算装置100可以是由芬兰的诺基亚或者瑞典隆德的索尼爱立信移动通信公司制造的移动装置。[0098]在再一实施例中,计算装置100可以是Blackberry手持或智能电话,诸如由ResearchInMotionLimited制造的装置,包括Blackberry7100系列,8700系列,7700系列,7200系列,Blackberry7520,BlackberryPEARL8100,8700系列,8800系列,BlackberryStorm,BlackberryBold,BlackberryCurve8900以及BlackberryPearlFlip。在再一实施例中,计算装置100可以是智能电话、掌上PC、掌上PC电话或者支持微软Windows移动软件的其它手持移动装置。再者,计算装置100可以是任何工作站、桌上型计算机、膝上型或笔记本计算机、服务器、手持计算机、移动电话、任何其它计算机、或者能够通信并且具有足够处理器能力和存储器容量以执行此处所述操作的其它形式的计算或电信装置。[0099]在一些实施例中,计算装置100可以是数字音频播放器。在这些实施例中的一个实施例中,计算装置100可以是数字音频播放器,诸如由加利福尼亚州库比蒂诺市的Apple公司制造的AppleIPOD,IPODTouch,IPODNANO和IPODSHUFFLE系列装置。在这些实施例中的另一实施例中,数字音频播放器既可以充当便携媒体播放器,也可以充当大容量存储装置。在其它实施例中,计算装置100可以是数字音频播放器,诸如由新泽西州里奇菲尔德公园的SamsungElectronicsAmerica制造的DigitalAudioPlayerSelectMP3播放器,或者由伊利诺伊州绍姆堡的Motorola公司制造的Motorolam500或m25数字音频播放器。在再一实施例中,计算装置100可以是便携媒体播放器,诸如由CreativeTechnologies有限公司制造的ZenVisionW、ZenVision系列、ZenPortableMediaCenter装置或者DigitalMP3系列MP3播放器。在再一实施例中,计算装置100可以是支持包括但不限于下述文件格式的便携媒体播放器或数字音频播放器:MP3,WAV,M4A/AAC,WMA保护AAC,AIFF,Audibleaudiobook,Apple无损音频文件格式以及.mov、.m4v和.mp4MPEG_4(H.264/MPEG-4AVC)视频文件格式。[0100]在一些实施例中,计算装置100包括装置的组合,诸如移动电话与数字音频播放器或便携媒体播放器组合。在这些实施例中的一个实施例中,计算装置100可以是MotorolaRAZR或MotorolaROKR系列的组合数字音频播放器和移动电话。在这些实施例中的另一实施例中,计算装置100可以是由加利福尼亚州库比蒂诺市的Apple公司制造的iPhone系列智能电话中的装置。[0101]在一个实施例中,计算装置102a可以从远程机器106请求资源,同时向客户端102b提供远程机器106的功能性。在这种实施例中,计算装置102a相对于从远程机器106(其可以称为服务器)接收的数据可以称为客户端,并且计算装置102a相对于第二客户端102b可以称为服务器。在另一实施例中,客户端102可以代表客户端102的用户向远程机器106请求资源。[0102]C.由外部存储提供商向文件存储程序提供安全性以及向文件存储装置提供安全性[0103]现在参考图2A,描述用于对由过程访问的数据进行安全处理的系统的示例实施例。在一些实施例中,客户端机器(例如客户端机器10)可以包括一个或多个过程或程序(例如过程21),一个或多个安全代理(例如安全代理22)以及一个或多个数据文件(例如数据文件23)。在一些布置中,过程21可以发送标识特定文件的消息。例如,过程21可以发起访问数据文件23的请求(例如描述为线路25)。请求25可以包括数据文件23的标识符。安全代理22可以拦截该请求,并且可以加密数据文件23。安全代理可以随后向过程21提供(例如描述为经由线路26)经加密的数据文件。在接收经加密的数据文件之后,过程21可以传输(描述为线路27)经加密的文件,以便传输到外部存储提供商(例如,经由网络20将经加密的文件传输到外部存储装置30)。[0104]数据文件23可以是能够存储于计算系统的任何数据文件。数据文件23可以是文本文档、数据的编译、电子表格、图像、电影文件、日志文件、或任何其它类型的计算机文件。在一个实施例中,数据文件23是未加密的。在一些实施例中,数据文件23可以是经加密的文件。在数据文件23是经加密的文件的一些布置中,安全代理22可以对数据文件23进行二次加密(例如,向数据文件23添加第二层加密)。[0105]在一些实施例中,数据文件23可以是文件集合。数据文件23可以是包括多个文件的目录的表示。数据文件23可以是包括多个文件的存档文件,诸如.zip存档文件。[0106]数据文件23无需存储于客户端机器上,而是可以存储于客户端机器可访问的任何位置。在一些实施例中,数据文件23可以存储于网络位置、外部硬盘驱动器、⑶-ROM、软盘驱动器、USB闪存驱动器或者Bluetooth可访问装置。在一些变型中,数据文件23可以存储于可以因特网连接的移动装置,诸如智能电话。[0107]在一个实施例中,安全代理22可以是在客户端机器上运行的独立应用程序,大应用的子过程,或者其它可执行代码(例如脚本)[0108]的集合。安全代理可以与诸如集中服务24(在下文更详细讨论)的许多其它部件或者许多其它数据库、密钥存储库、网络监视设备或者认证服务器通信。[0109]在一个实施例中,过程21可以在客户端机器上运行。在一些实施例中,安全代理22可以不在客户端机器上运行,而可以在通过网络连接到客户端机器的不同机器上运行(例如,安全代理22可以远程托管于代表客户端机器的不同机器)。[0110]在一些实施例中,安全代理可以作为监听过程进行操作,其等待检测到过程21对文件的请求。安全代理可以随后触发位于客户端机器上或者网络上其它位置的附加过程或子过程,从而完成包括加密在内的安全代理的功能。[0111]在一些实施例中,安全代理可以确定特定程序、过程、应用或用户是“受信任”还是“不受信任”。也就是说,所述程序、过程、应用或用户是否被允许仅加密访问。受信任过程可以被允许无加密地完全访问文件。不受信任过程可以被允许对文件的仅加密访问。不受信任过程也可以指其它类型的过程,诸如,例如不被允许访问文件的“黑名单”过程。在一些变型中,本地备份程序被列为黑名单过程其中之一并且被拒绝访问文件。[0112]过程21可以是尝试访问文件23的任何过程。过程21可以是不受信任或受信任过程。过程21可以是在客户端机器上运行的独立应用,或者它可以是大过程的部件或子过程。过程21可以是由外部存储提供商提供的过程。[0113]在一个实施例中,过程21可以是由加利福尼亚州旧金山市的Dropbox公司提供的客户端Dropbox应用。在一些实施例中,过程21可以不由外部存储提供商提供。在其它实施例中,过程21可以是由华盛顿州雷蒙德市的微软公司提供的Outlook应用。在其它实施例中,过程21可以是由加利福尼亚州帕洛阿尔托市的Box.net公司提供的“Box.net”服务所提供的客户端应用;由加利福尼亚州圣马特奥市的Sugarsync公司提供的“Sugarsync”服务;由马萨诸塞州霍普金顿市的EMC有限公司提供的“Mozy”服务;由马萨诸塞州波士顿市的Carbonite公司提供的“Carbonite”服务;由加利福尼亚州柏林盖姆市的Zecter公司提供的“ZumoDrive”服务;由华盛顿州雷蒙德市的微软公司提供的“SkyDrive”服务;以及由加利福尼亚州库比蒂诺市的Apple公司提供的“MobileMe”服务。在一些实施例中,过程21可以是并非由外部存储提供商提供而是与外部存储提供商通信的应用。[0114]在一个实施例中,过程21可以是尝试将客户端机器可访问的文件与存储于外部存储提供商的文件同步的同步过程。[0115]现在参考图2B,描述用于访问由外部存储提供商存储的安全数据的示例实施例。在一些实施例中,用户可以致使或以其它方式发起(例如,描述为线路28)将被递送到外部存储提供商(例如被寻址到外部存储提供商30)的消息,诸如针对由外部存储提供商存储的数据文件31的请求(例如被寻址到外部存储设施30并且标识了数据文件31)。在一些布置中,数据文件31可以被加密(在图2B中由锁描述)。该消息或请求可以行进通过安全代理22和过程21。过程21可以使用网络20代表用户从外部存储提供商30请求数据文件31(描述为线路29)。安全代理22可以拦截针对数据文件31的请求。安全代理22通过咨询集中服务24可以确定该用户是否被授权访问该文件。如果被授权,安全代理可以提供数据文件31给用户(描述为线路32)。在其它布置中,安全代理22可以在将文件31提供给用户之前解密文件31。[0116]在一些布置中,安全代理22可以在消息由过程21发布时就拦截该消息(例如,安全代理22可以在线路29而不是线路28拦截消息传输)。在这种布置中,用户可以与过程21交互,以致使消息被传输到外部存储提供商(并且随后被安全代理22拦截)。[0117]在一个实施例中,集中过程24可以是在服务器或网络中其它机器上运行的客户端机器可访问的过程。在一些实施例中,集中服务24可以是在客户端机器上运行的过程。在其它实施例中,集中服务24可以是在客户端机器上以及在网络上的其它机器上运行的过程的组合。[0118]在一些实施例中,安全代理22可以通过咨询集中服务24而确定应用、过程或机器是否被授权访问数据文件。[0119]现在参考图2C,描述用于对过程访问的数据进行安全处理的系统的示例实施例。简要地概述,过程21可以传输消息(描述为线路25),诸如访问数据文件23的请求。安全代理22可以拦截该请求。安全代理22可以与集中服务24以及受众类别33的存储位置通信。安全代理22可以将受众类别分配给数据文件23并且可以加密数据文件23。安全代理22可以将经加密的文件提供给过程21(描述为线路26)。该过程可以经由网络20将经加密的文件传输到外部存储提供商30(描述为线路27)。[0120]受众类别可以是被允许访问具体文件的任何请求者群组。请求者可以包括用户、过程、程序、机器或计算机等等。受众类别可以映射到运行企业网络的实体的组织结构。受众类别也可以根据在组织中的特定作业或人物、群组、地理位置、或者根据任何其它标准而细分。例如,一些受众可以根据布置而被归类,诸如“个人”,“行政人员”,“公司范围内”或“公众”。受众类别也可以是由分离的软件应用维持的用户群组,诸如由华盛顿州雷蒙德市的Microsoft公司提供的MicrosoftExchangeServer维持的用户群组。受众类别可以选自多个预定受众类别。[0121]在一些实施例中,安全代理22可以直接与受众类别存储库33的存储位置通信(未示出)。[0122]现在参考图2D,描述用于访问由外部存储提供商存储的安全数据的示例实施例。用户可以传输或以其它方式发起被寻址到外部存储提供商的消息,诸如针对数据文件31的请求(描述于线路28)。在一些布置中,数据文件31可以被加密(如图2D中的锁所描述)。安全代理22可以拦截消息,并且通过咨询集中服务24和受众类别33而确定该用户(或过程)是否属于分配给经加密的文件的受众类别。如果用户(或过程)属于所分配的受众类另O,可以从外部存储提供商检索该文件并且向用户提供该文件(描述于线路32)。从外部存储提供商进行检索可以包括将消息从安全代理22转发到过程21,以致使过程21经由网络20将消息传输外部存储提供商30(描述于线路29)。安全代理22可以在将数据文件提供给用户之前解密该数据文件。在一些布置中,安全代理22可以在过程21发出消息时就拦截该消息(例如,安全代理22可以在线路29而不是在线路28拦截消息传输)。在这种布置中,用户可以与过程21交互以致使消息被传输到外部存储提供商(并且随后被安全代理22拦截)。[0123]现在参考图2E,描述用于对由过程访问的数据进行安全处理的系统的示例实施例。在一些布置中,安全代理22可以拦截消息,诸如由过程21发出的针对数据文件23的请求(描述为图2E中的线路25)。安全代理22可以将用于数据文件23的标识符添加到访问列表34。安全代理22可以加密数据文件23并且将经加密的文件提供给过程21(描述为线路26)。在接收到经加密的文件时,过程21可以经由网络20将经加密的文件传输到外部存储提供商30(描述为线路27)。[0124]在一些实施例中,安全代理22可以直接与访问列表34通信(未示出)。[0125]现在参考图2F,描述用于访问由外部存储提供商存储的安全数据的示例实施例。用户可以致使传输或以其它方式发起被寻址到外部存储提供商的消息,诸如针对由外部存储装置30存储的数据文件31的请求。安全代理22可以拦截消息(描述于线路28)并且通过咨询访问列表34确定该用户(或过程)是否被授权访问经加密的文件31(例如,通过确定用于所请求的文件的标识符是否被包括在该访问列表中)。如果用户(或过程)被授权,安全代理22,该文件可以从外部存储提供商被检索并且被提供到用户(描述于线路32)。从外部存储提供商检索可以包括将消息从安全代理22转发到过程21,以致使过程21经由网络20将消息传输到外部存储提供商30(描述于线路29)。安全代理22可以在将数据文件提供给用户之前解密该数据文件。在一些布置中,安全代理22可以在过程21发出消息时就拦截该消息(例如,安全代理22可以在线路29而不是在线路28拦截消息传输)。在这种布置中,用户可以与过程21交互以致使消息被传输到外部存储提供商(并且随后被安全代理22拦截)。[0126]将结合图3A-3D和4A-4D中描述的示例方法以及图5A和5B中描述的示例图例来讨论图1A-1F和图2A-2F中描述的示例实施例的进一步细节。[0127]现在参考图3A,描述用于对由过程访问的数据进行安全处理的示例方法。在步骤310,可以传输访问特定数据文件的消息,诸如过程(例如过程21)作出的访问文件的请求。在一些布置中,该过程可以是不受信任过程。在步骤314,可以诸如由与该过程通信的安全代理(例如安全代理22)拦截该消息。在步骤318,由该消息标识的数据文件可以由安全代理使用加密密钥加密。在步骤320,可以(例如由安全代理)使用共享密钥加密该加密密钥,从而得到经加密的加密密钥。在一些布置中,加密该加密密钥可以允许(例如,由集中服务或在两个安全代理之间双边地)控制另一安全代理是否被允许解密该加密密钥。在一些变型中,共享密钥可以由集中服务维持。在步骤324,可以将经加密的文件和/或经加密的第一加密密钥提供到该过程可访问的位置,或以其它方式传输到过程。现在将讨论这些步骤的更多细节。[0128]在一些实施例中,可以由半受信任过程发出访问文件的消息。在其它实施例中,可以代表代表用户,或者代表另一过程或应用发出访问文件的消息。该消息可以是对客户端机器的本地请求,对企业网络上不同机器的请求,或者对企业网络之外的机器的请求。例如,该消息可以是在因特网上发出或者从因特网接收的请求。在一些实施例中,可以根据预定调度或根据同步协议发起该消息的传输。[0129]在一些实施例中,由该消息标识的文件可以驻留于本地客户端机器。在其它实施例中,该文件可以驻留在客户端机器可访问的任何位置。该文件可以存储于企业网络中的服务器,或者该文件可以存储于企业网络外部的服务器。该文件可以存储于通过因特网连接到客户端机器的计算机器。该文件可以存储于“云”中。[0130]在一些实施例中,安全代理可以通过作为等待消息被传输的监听过程来操作而拦截消息。在一些布置中,安全代理可以对检测的消息进行响应。在一些实施例中,拦截可以通过利用中间网络应用路由所有网络流量来实现。拦截可以发生在客户端机器上,企业网络中的一些其它机器上,企业网络中的多个机器上,或者通过因特网连接的多个机器上。[0131]在一些实施例中,安全代理可以通过产生用于被加密文件的唯一加密密钥而使用加密密钥来加密该文件。在一些实施例中,加密密钥可以由不同计算装置存储,诸如由集中服务(例如集中服务24)存储。在其它实施例中,加密密钥可以存储于企业网络中的机器上并且可为安全代理获得。文件的加密可以发生在客户端机器处,企业网络中的一些其它机器上,企业网络中的多个机器上,或者通过因特网连接的多个机器上。[0132]安全代理可以咨询远程定位的密钥存储库或密钥引擎,从而生成用于该文件的唯一加密密钥。在一些实施例中,加密密钥可以由集中服务管理并且根据需要中继到安全代理。在一些实施例中,加密密钥可以并不暴露于安全代理,并且安全代理可以使用集中服务以执行加密/解密。[0133]在一些实施例中,安全代理可以通过使用企业网络的所有用户可获得的共享密钥,使用共享密钥加密该加密密钥。在一些实施例中,共享密钥可以由集中服务(例如集中服务24)管理或维持。在一些变型中,共享密钥可以在两个安全代理之间双边地管理。在一些实施例中,共享密钥可以是私钥。在其它实施例中,共享密钥可以是公钥。在一些实施例中,共享密钥可以对于特定用户组或特定应用或过程组已知的密钥。在一些实施例中,共享密钥可以通常为企业网络上的受信任过程所知晓。加密密钥的加密可以发生在客户端机器处,企业网络中的一些其它机器上,企业网络中的多个机器上,或者通过因特网连接的多个机器上。共享密钥可以符合诸如公钥对、预共享密钥等等的各种密钥管理方案。[0134]在一些实施例中,通过将文件从客户端机器上的一个过程发送到另一过程,而将经加密的文件可以提供到可访问位置。在其它实施例中,可以通过在本地企业网络上或在因特网上提供文件,来实现将文件提供到可访问位置。也可以通过将文件的标识符或文件的位置,而不是整个文件发送到传输标识该文件的消息的过程(例如过程21),来实现将文件提供到可访问位置。[0135]现在参考图3B,描述用于对由过程访问的数据进行安全处理的示例方法。在步骤330,可以由过程传输访问文件的消息。在一些布置中,该过程可以是不受信任过程。在步骤334,可以由安全代理(例如安全代理22)拦截该消息。在步骤336,可以由安全代理将受众类别分配给文件,诸如通过确定哪个受众类别标识符进行分配,以及存储标识该分配的数据。在一些布置中,可以使用所分配的受众类别的标识符来标记该文件。在步骤338,可以由安全代理使用加密密钥来加密该文件。在步骤340,可以由安全代理使用共享密钥来加密该加密密钥。在步骤344,可以由安全代理将经加密的文件和/或经加密的加密密钥提供到该过程(例如过程21)可访问的位置。被提供到该过程的经加密的文件可以已经用关联的受众类别来标记。[0136]在一个或多个实施例中,共享密钥可以是企业网络上的受信任过程通常可获得并且安全代理可访问的密钥。在一些实施例中,共享密钥可以由集中服务24控制,并且可以在集中服务确认该用户被授权访问文件时,由集中服务24提供给安全代理22。[0137]现在参考图3C,描述用于对由过程访问的数据进行安全处理的示例方法。在步骤360,可以由过程(例如过程21)传输访问文件的消息或请求。在步骤362,可以由安全代理(例如安全代理22)拦截该请求。在步骤364,可以确定该过程是否被允许仅加密地访问该文件。如果该过程不被允许仅加密访问(例如,该过程具有对文件的不同访问权限,或者可以如同由客户端机器可访问那样访问该文件),则安全代理可以在步骤365基于访问权限而允许或拒绝对该文件的访问(例如,高于仅加密访问的权限一诸如完全访问一会致使允许,而低于仅加密访问权限一诸如无访问权限一会致使拒绝)。如果该过程被允许仅加密访问,该方法可以进行到步骤366,在该步骤中安全代理可以分配受众类别给该文件。在步骤368,可以使用加密密钥加密该文件。在步骤370,可以由安全代理使用共享密钥加密该加密密钥。在步骤372,安全代理可以使用所分配的受众类别标记经加密的文件和经加密的加密密钥。在步骤374,安全代理可以确定经加密的文件的当前文件类型是否指示该文件是经加密的文件。如果文件类型并未指示该文件被加密,安全代理可以在步骤376将文件类型改变为指示文件被加密的文件类型。一旦或如果文件类型指示文件被加密,安全代理在步骤377可以将所标记的和经加密的文件以及经加密的加密密钥提供给该过程,诸如通过将经加密的文件和经加密的加密密钥提供至该过程可访问的位置。[0138]在一些实施例中,确定该过程不被允许仅加密访问可以导致安全代理不允许访问该文件。[0139]在一些实施例中,通过将文件上的文件扩展名改变为指示文件被加密的文件类型,安全代理可以改变文件类型。[0140]现在参考图3D,描述用于对不受信任过程访问的数据进行安全处理的示例方法。在步骤380,可以由过程(例如过程21)传输访问文件的消息或请求。在步骤382,可以由安全代理(例如安全代理22)拦截请求。在步骤384,确定该过程是否被允许仅加密访问(315)。如果该过程不被允许仅加密访问(例如,该过程具有对文件的不同访问权限,或者可以如同由客户端机器可访问那样访问该文件),则在步骤385安全代理可以基于访问权限而允许或拒绝对该文件的访问。如果该过程被允许仅加密访问,方法进行到步骤386,在该步骤中安全代理可以将用于该文件的标识符添加到访问列表。在步骤388,可以由安全代理使用加密密钥加密该文件。在步骤390,可以使用共享密钥加密该加密密钥。在步骤392,安全代理可以确定加密文件的当前文件类型是否指示该文件是经加密的文件。如果文件类型并未指示文件是加密的,安全代理可以在步骤393将文件类型改变为指示文件被加密的文件类型。一旦或如果文件类型指示文件是加密的,安全代理可以在步骤394,将经加密的文件和经加密的加密密钥提供给过程,诸如通过将经加密的文件和经加密的加密密钥放置在该过程可访问的位置。[0141]现在参考图4A,描述了用于访问由外部存储提供商存储的安全数据的示例方法。在步骤400,由用户经由过程(例如过程21)作出或以其它方式发起访问由外部存储提供商存储的文件(例如经加密的文件31)的消息或请求。在步骤404,可以由安全代理拦截该请求。在步骤408,安全代理可以确定授权以访问文件,诸如该用户(或过程)是否被授权访问文件。在步骤412,安全代理可以使用共享密钥来解密与所请求的文件一起存储的经加密的加密密钥。在步骤416,安全代理可以使用在步骤416恢复的加密密钥来解密该文件。将在下文讨论这些步骤的另外细节。[0142]在一些实施例中,由用户经由过程发起的访问文件的消息或请求可以由代表用户的应用或过程传输,并且此传输可以被安全代理拦截。在其它实施例中,可以由过程或应用诸如根据预定调度或同步协议而作出该请求,而没有来自用户的请求。附加地,该请求可以源于客户端机器、企业网络或因特网。另外,该请求可以被寻址到外部存储提供商并且可以标识用户或过程期望访问的文件。[0143]在一些实施例中,安全代理可以通过例如作为等待正被作出的请求的监听过程操作,来拦截该访问请求。在一些变型中,安全代理可以对请求进行响应。在一些实施例中,拦截可以通过利用中间网络应用来路由所有网络流量来实现。拦截可以发生在客户端机器处,企业网络中的一些其它机器上,企业网络中的多个机器上,或者通过因特网连接的多个机器上。[0144]在一些实施例中,安全代理可以通过例如咨询集中服务而确定是否授权访问文件。在一些实施例中,确定授权可以包括确定特定应用或过程是否被授权访问文件。在一些实施例中,确定授权可以包括咨询受众类别数据库,该受众类别数据库为用户群组提供针对文件的不同访问级别。在一些实施例中,确定授权可以包括咨询访问列表,该访问列表将用户或用户群组与针对文件的各种不同的访问级别相关联。在一些变型中,确定授权可以咨询或不咨询集中服务而实现。在一些实施例中,确定授权可以通过与受众类别数据库和/或访问列表直接通信的安全代理实现。在其它实施例中,安全代理可以具有本地可获得的资源,以确定访问该文件的授权,所述资源诸如为确定特定用户、应用或过程是否具有访问特定文件的授权所需的资源。[0145]在一些实施例中,安全代理可以使用共享密钥来解密与该文件一起存储的经加密的加密密钥,例如通过在客户端机器上执行解密。在其它实施例中,可以通过在企业网络上或在因特网上,将经加密的加密密钥发送到可以使用共享密钥执行解密的不同机器,来实现对经加密的加密密钥的解密。在一些实施例中,共享密钥可以是私人密钥。在一些实施例中,共享密钥可以是公共密钥。在一些实施例中,共享密钥可以由集中服务(例如集中服务24)管理。在其它实施例中,安全代理可以与集中服务或其它过程、数据库或资源通信,从而确定在实现对经加密的加密密钥的解密时使用多个可用密钥中的哪个密钥。[0146]在一些实施例中,安全代理可以使用加密密钥来解密该文件,例如通过在客户端机器执行解密。在一些实施例中,可以通过在企业网络或因特网上,将经解密的文件传输到执行解密的另一机器,来实现解密该文件。用于解密该文件的加密密钥可以是在步骤408恢复的加密密钥,并且它可以是针对经加密的文件而生成的唯一密钥。尽管加密密钥可以与该文件一起被存储,但加密密钥可以可替换地由集中服务管理,或存储于密钥存储库中,该密钥存储库可以与安全代理直接通信,或者经由集中服务与安全代理通信。安全代理可以响应于针对分配给经加密的文件的密钥的请求,而从集中服务或密钥存储库接收加密密钥。[0147]现在参考图4B,描述用于访问由外部存储提供商存储的安全数据的示例方法。在步骤420,可以由用户经由过程(例如过程21)作出访问经加密的文件(例如经加密的文件31)的请求,该经加密的文件可以由外部存储提供商存储。在步骤424,安全代理(安全代理22)可以拦截针对经加密的文件的访问请求。在步骤428,安全代理可以基于分配给该文件的受众类别而确定对访问该文件的授权。如果用户(或过程)在该受众类别之内,安全代理可以确定存在对访问文件的授权,并且该方法可以进行到步骤432。否则,该方法可以结束。在步骤432,安全代理可以解密与该文件一起存储的经加密的加密密钥。可以使用共享密钥执行经加密的加密密钥的解密。在步骤436,安全代理可以使用该加密密钥来解密该文件。[0148]现在参考图4C,描述用于访问由外部存储提供商存储的安全数据的示例方法。在步骤440,可以由用户经由过程作出访问由外部存储提供商存储的文件的请求。在步骤442,安全代理可以拦截由用户作出(或由该过程响应于用户交互而传输)的针对该文件的访问请求。在步骤444,安全代理可以确定所请求文件的文件类型是否指示该文件是加密的。如果文件类型并未指示文件是加密的,在步骤445安全代理可以允许由用户访问该文件。然而,如果文件类型指示文件是加密的,则在步骤446确定用户(或过程)是否属于分配给该文件的受众类别。如果用户(或过程)不属于分配给该文件的受众类别,在步骤447不允许用户访问。然而,如果用户属于分配给该文件的受众类别,在步骤448安全代理可以使用共享密钥解密经加密的加密密钥。在步骤450,安全代理可以使用由步骤448恢复的加密密钥来解密经加密的文件。[0149]在一些实施例中,有可能在将文件传输到外部存储提供商与随后检索该文件之间,改变分配给文件特定受众类别、用户或过程的成员资格。由于受众类别成员资格改变,有可能的情况是,之前致使文件被传输到外部存储提供商的用户或过程在稍后时间阶段可能无法访问文件(例如,由于该用户或过程可能已经被清除而不是被允许访问文件的受众类别的成员)。[0150]现在参考图4D,描述用于访问由外部存储提供商存储的安全数据的示例方法。在步骤460,可以用户经由过程作出访问由外部存储提供商存储的文件的请求。在步骤462,安全代理可以拦截针对该文件的访问请求。在步骤464,安全代理可以确定所请求文件的文件类型是否指示该文件是加密的。如果文件类型并未指示文件是加密的,在步骤465安全代理可以允许由用户访问该文件。然而,如果文件类型指示文件是加密的,在步骤466可以通过咨询访问列表而确定用户是否被授权访问文件。如果用户未被授权访问文件,在步骤467不允许用户访问。然而,如果用户被授权访问文件,安全代理可以进行到步骤468,在该步骤中可以使用共享密钥来解密经加密的加密密钥。在步骤470,安全代理可以使用由步骤468恢复的加密密钥来解密经加密的文件。[0151]在一些实施例中,可以根据文件的标识符来对访问列表建立索引,使与用户(或过程)或用户群组(或过程群组)的列表与被允许访问的文件相关联。访问列表还可以包括明确地被拒绝访问该文件的用户或用户群组的列表。随后可以例如通过搜索文件的标识符并且检查该用户或过程是被允许还是被拒绝访问,而确定对访问文件的授权。[0152]在一些实施例中,有可能在将文件传输到外部存储提供商与随后检索文件之间改变访问列表。由于此改变,于是可能的情况为,之前将文件传输到外部存储提供商的用户(或过程)在稍后时间阶段可能无法访问文件(例如,由于该用户或过程可能已经从与访问列表上与特定文件标识符相关联的被允许用户的列表清除,或者已经被添加到被拒绝用户/过程的列表)。[0153]现在参考图5A,描述加密过程的图例。加密过程以数据文件开始,如在501描述。数据文件可以使用加密密钥被加密,如在503描述。在一些实施例中,加密密钥可以是针对数据文件唯一生成的密钥。如在505描述,加密密钥可以随后使用共享密钥被加密并且与经加密的文件分组在一起(或以其它方式分配给经加密的文件)。附加地,如在507描述,与数据文件相关联的受众类别标识符可以与经分组的经加密的加密密钥和经加密的文件分组在一起(或以其它方式“标记”或关联)。受众类别标识符可以与经加密的加密密钥和经加密的文件以未加密形式(例如用明码)来分组,或者受众类别标识符可以是哈希形式。哈希形式可以能够被安全代理解释。[0154]在一些实施例中,数据文件本身可以是经加密的文件并且描述于503的加密可以添加第二层的加密。[0155]在一些实施例中,例如可以通过将受众类别标识符添加到经加密的文件的元数据来实现使用受众类别标识符标记文件。[0156]现在参考图5B,描述了诸如文件和密钥的加密数据的各种图例。此公开内容中讨论的各种机器和/或过程可以利用所描述的加密数据的示例。如在510描述,在一些实施例中经加密的文件可以不包括受众类别标识符。相反,经加密的文件可以仅由经加密的文件和经加密的加密密钥组成。如在515描述,受众类别标识符可以已经使用共享密钥与该加密密钥一起加密,从而形成受众类别标识符和加密密钥的经加密的列表。如在520描述,受众类别标识符可以已经与该文件一起被加密。本领域普通技术人员将理解,所公开的系统和方法可以使用任何这些加密方案以及其任何组合。另外,本公开内容可以考虑将本领域中已知的许多其它可行加密方案与本发明一起使用。[0157]除了由外部存储提供商向文件存储程序提供安全性以及向文件存储提供安全性的系统和方法的上述示例实施例外,图6A-6C、7、8A-8D和9A-9B还提供附加示例。下述示例的一个或多个方面可以与上述示例实施例的各种方面组合。现在参考图6A,描述加密过程的图例。简要地概述,数据文件601可由客户端机器访问。尝试通过网络650将数据文件601传输到外部存储提供商的机器(未不出)。在一些布置中,尝试传输可以包括在被寻址到外部存储提供商(或外部存储提供商的机器)的一个或多个包中传输数据文件601。安全部件可以检测或拦截该传输,并且可以将数据文件610(经由线路615示出的加密过程)加密成经加密的文件620。安全部件随后可以经由网络650将经加密的文件传输到外部存储提供商。[0158]在一个实施例中,安全部件可以在中间设备(例如机器18)上运行,该中间设备可以位于企业网络的边缘。在其它实施例中,安全部件可以在客户端机器上或企业网络的任何其它机器上运行。安全部件也可以作为各过程的组合在许多服务器、机器、中间设备和客户端上运行。[0159]在一些实施例中,由安全部件执行的加密可以被视为“快速”加密或“实时”加密,因为文件在加密之后可以被立即解密。在一些实施例中,可以通过使用“TrueCrypt”开源程序或其它合适的快速加密程序实施该快速加密。[0160]现在参考图6B,描述的解密过程的图例。可以作出访问由外部存储提供商跨过网络存储的经加密的文件的请求(未示出)。响应于该请求,经加密的文件630可以从外部存储提供商被传输并且被寻址到客户端机器。安全部件可以拦截经加密的数据文件630并且可以将经加密的文件630解密为未加密数据文件640(解密过程描述于635)。在解密该文件之后,安全部件可以将未加密的数据文件640传输到作出针对该文件的原始请求的客户端机器或者所拦截的传输被寻址到的客户端机器。[0161]在一些实施例中,安全部件可以确定尝试访问该文件的特定用户是否被授权访问经加密的文件。安全部件也可以确定特定应用、过程或客户端机器是否被授权访问经加密的文件。[0162]在一个或多个实施例中,安全部件可以分配用于安装虚拟磁盘卷的位置,该虚拟磁盘卷包括所存储的经加密的文件的副本或表示。虚拟磁盘卷可以由安全部件或外部存储提供商提供。虚拟磁盘卷可以是链接到存储的文件在外部存储提供商的位置的网络目录。虚拟磁盘卷可以是提供对外部存储提供商的存储位置的访问的应用或过程。[0163]在一些实施例中,由外部存储提供商存储在虚拟磁盘卷上的经加密的文件的表示可以是链接、图标、截屏、图像、虚拟副本、或者使得能够访问由外部存储提供商存储的经加密的文件的任何其它表示或标识符。表示也可以是整个经加密的文件的删节预览副本。表示也可以是目录、目录标识符或者目录的部分。[0164]在一些实施例中,存储于虚拟磁盘卷的经加密的文件的副本可以是由安全部件制作和维持的本地副本。虚拟磁盘驱动器上的本地副本也可以由外部存储提供商制作和维持。可能期望维持虚拟磁盘卷上的本地副本以用于同步的目的,特别是在外部存储提供商被用作备份服务提供商的情况下。[0165]现在参考图6C,描述用于代表用户从外部存储提供商访问安全文件的系统的示例实施例。简要地概述,被授权访问位置的用户经由过程发起针对经加密的数据文件660的请求(描述于668)。在一些布置中,该请求可以被寻址到虚拟磁盘卷664。虚拟磁盘卷664可以已经被安装使得由外部存储提供商存储的文件可以被访问(例如,通过从虚拟磁盘卷请求文件)。安全部件666可以拦截针对该文件的请求。该请求可以随后被传递到虚拟磁盘卷664,以便虚拟磁盘卷664经由网络662从外部存储提供商检索经加密的数据文件660。在接收经加密的数据文件660时,虚拟磁盘卷可以将经加密的数据文件660传输到由用户用于请求该文件的过程。安全部件可以拦截经加密的数据文件660并且可以解密经加密的文件660以及将未加密的数据文件提供给该过程(将数据文件提供给过程描述于670)。[0166]在一些实施例中,安全部件可以确定尝试访问虚拟磁盘卷664的特定用户是否被授权访问该位置。安全部件也可以确定特定应用或过程是否被授权访问该虚拟磁盘卷664。[0167]在一些实施例中,用以安装虚拟磁盘卷的位置为网络安装位置。安装虚拟磁盘卷的位置也可以是安全网络安装位置。[0168]现在参考图7,描述安全部件的示例框图。安全部件700可以包括下述中的一个或多个:密钥管理器模块701、监视模块702、安装模块703、认证模块704或加密模块705。密钥管理器模块可以与密钥存储库711通信进行操作。监视模块702可以与网络通信进行操作。安装模块703可以与虚拟磁盘卷(诸如安装在网络上各种位置的虚拟磁盘卷731和731’)通信进行操作。认证模块704可以与用于认证信息741的存储位置通信进行操作。加密模块可以与未加密数据文件710和经加密的文件712通信进行操作。[0169]在一个实施例中,安全部件700的每个模块可以在企业网络的机器上运行,诸如在位于企业网络边缘的机器(例如机器18)上运行。在其它实施例中,安全部件700可以作为单个过程或作为多个过程在单个机器或多个机器上运行。[0170]在一些实施例中,安全部件的每个模块可以作为单个过程或作为多个过程在单个机器或多个机器上运行。[0171]在一个或多个实施例中,密钥管理器模块701可以负责分配和跟踪由安全部件使用的加密密钥。[0172]在一些实施例中,密钥管理器模块701可以与密钥生成单元通信进行操作,该密钥生成单元可以生成加密文件所使用的加密密钥。[0173]在一个实施例中,监视模块702可以负责监视该网络以及监视安全部件的使用。监视模块702可以跟踪安全部件的使用并且可以生成关于安全部件和网络的使用的报告和信息。[0174]在一些实施例中,监视模块702可以与审核系统通信进行操作。该审核系统可以用于执行审核和符合性检查的目的。[0175]在一个实施例中,安装模块703可以负责分配用于虚拟磁盘卷的位置。安装模块可以与认证模块704通信进行操作,从而确定具体用户或应用是否被授权使用各种位置。安装模块可以生成用于虚拟磁盘卷的新位置。[0176]在一个或多个实施例中,认证模块704可以负责认证特定用户或应用是否被授权访问指定位置。认证模块可以与提供认证信息的数据库741通信进行操作。认证模块使用的认证信息可以是任何形式的认证信息,不管是受众类别信息、访问列表信息、群组信息、目录结构信息还是其他及类似信息。[0177]在一些实施例中,认证模块704可以负责确定特定用户或应用是否被授权访问指定的经加密的文件。[0178]在一个或多个实施例中,加密模块705可以负责将数据文件710加密为经加密的文件712。加密模块可以使用本领域中已知的任何形式的加密。加密模块可以将标记或附加信息,诸如受众类别标识符和/或用于加密经加密的文件的加密密钥的经加密版本,添加到与经加密的文件712相关联的元数据。[0179]安全部件可以与集中服务(例如集中服务24)通信进行操作。该集中服务可以提供用于使在外部存储提供商和多个计算机之间的文件传送安全的服务。[0180]现在参考图8A,描述用于对供传输到外部存储提供商的文件进行安全处理的示例方法。在步骤801,安全部件可以检测文件向外部存储提供商的传输。在一些布置中,安全部件可以检测不同类型的消息的传输,诸如存储正被递送到外部存储提供商的文件的请求。这种请求可以被寻址到外部存储提供商标签,并可以标识该文件或者包括该文件的数据的至少一部分。在步骤803,安全部件可以加密该文件。在步骤805,安全部件可以将该文件传输到外部存储提供商。在步骤807,安全部件可以分配用于安装由外部存储提供商暴露的虚拟磁盘卷的位置。在步骤809,安全部件可以将虚拟磁盘卷安装到所分配的位置。现在,将描述这些步骤的进一步细节。[0181]在一些实施例中,安全部件通过例如作为等待尝试传输文件到外部存储提供商的监听过程操作,可以检测文件向外部存储提供商传输。在一些实施例中,安全部件可以通过例如在中间网络机器上操作并且检查进入的网络流量而实现对文件传输的检测。在一些实施例中,文件传输的检测可以包括将所有因特网流量路由到能够检测文件向外部存储提供商的传输的特定网络节点。在一些变型中,文件传输的检测可以在网络防火墙或其它网络应用处实现。在一些实施例中,文件传输的检测可以发生在客户端机器处,企业网络上的一个或多个机器上,或者因特网上该网络可访问的一个或多个机器处。[0182]在一些实施例中,安全部件可以通过例如利用为了加密该文件而特别地生成的唯一加密密钥来加密该文件。文件的加密可以发生在中间网络装置处,企业网络上的任何机器处,多个机器处,或者经由因特网可访问的一个或多个机器处。通过咨询集中服务、密钥生成器、密钥存储库、访问列表以及受众类别数据库或者任何其它认证或加密服务或资源,安全部件可以实现对该文件的加密。[0183]在一些实施例中,安全部件可以通过在因特网上传输经加密的文件,而将该文件传输到外部存储提供商。在一些实施例中,经加密的文件的传输可以包括发送请求到外部存储提供商以将经加密的文件上载到特定位置。在一些实施例中,经加密的文件的传输可以包括将经加密的文件放置在客户端机器或企业网络上的某一位置并且根据预定调度或同步协议将该文件发送到外部存储提供商。[0184]在一些实施例中,安全部件可以分配用于安装使用所存储的经加密的文件的副本或表示的安装虚拟磁盘卷的位置。在一些实施例中,分配用于安装虚拟磁盘卷的位置可以通过使用在多个操作系统上可用的网络安装协议来实现。在一些实施例中,分配用于安装虚拟磁盘卷的位置可以包括运行充当网络驱动器的特定过程或应用。在其它实施例中,分配用于安装虚拟磁盘卷的位置可以包括运行如下过程或应用,该过程或应用将由外部存储提供商存储的经加密的文件的副本或表示提供给用户。[0185]在一些实施例中,安全部件可以将虚拟磁盘卷安装到所分配的位置。在一些实施例中,安装虚拟磁盘卷可以通过使用在多个操作系统上可用的网络安装协议来实现。在一些实施例中,安装虚拟磁盘卷可以包括运行充当网络驱动器的特定过程或应用。在其它实施例中,安装虚拟磁盘卷可以包括运行如下过程或应用,该过程或应用将由外部存储提供商存储的文件的副本或表示提供给用户。在一些实施例中,安装虚拟磁盘卷可以包括通过任何手段使得由外部存储提供商存储的文件的副本或表示对于用户、过程或应用是可获得的。虚拟磁盘卷可以安装在网络中的任何节点处,客户端机器上,用户的桌面上,网络驱动器上,或者网络上由外部存储提供商存储的文件的副本或表示可以定位的任何其它位置处。[0186]现在参考图SB,描述用于经由虚拟磁盘卷访问由外部存储提供商存储的安全文件的示例方法。在步骤821,安全部件可以拦截访问文件的请求。在步骤823,安全部件可以从外部存储提供商检索文件的经加密版本并且可以解密该经加密的文件。在解密该文件后,安全部件可以将该文件提供给发出请求的过程、用户和/或机器。现在将讨论这些步骤的进一步的细节。[0187]在一些实施例中,通过例如作为等待请求的监听过程运行,安全部件可以拦截访问经加密的文件的请求。在一些实施例中,拦截访问文件的请求可以发生在客户端机器处,一个或多个中间网络装置处,机器或应用处,或者跨越因特网可访问的一个或多个机器处。在一些实施例中,拦截访问文件的请求可以包括将所有网络流量路由经过能够拦截访问经加密的文件的请求的网络上的具体节点。在一些实施例中,拦截访问文件的请求可以通过运行如下过程或应用来实现,该过程或应用监视安装到网络的虚拟磁盘卷。在一些实施例中,拦截访问文件的请求可以通过在客户端机器上运行的应用或过程实现。[0188]在一些实施例中,通过例如传输来自外部存储提供商的针对经加密的文件的请求并且针对解密密钥而咨询集中服务,安全部件可以检索和解密所请求的文件的经加密的版本。在一些实施例中,安全部件可以通过使用针对经加密的文件生成的唯一密钥来解密经加密的文件。唯一密钥可以由集中服务存储。在一些实施例中,解密经加密的文件可以包括咨询受众类别数据库,访问列表,密钥存储库以及密钥生成器,或者可用于加密和认证的任何其它应用或资源。检索和解密所请求的文件的经加密版本可以发生在中间网络装置处,企业网络上的任何机器处,多个机器处,或者经由因特网可访问的一个或多个机器处。在一些实施例中,安全部件可以响应于确定用户、应用或过程被授权访问经加密的文件或特定位置而执行步骤823。[0189]现在参考图SC,描述用于对供发送到外部存储提供商的文件进行安全处理的示例方法。在步骤831,客户端机器、用户、应用或过程可以开始从企业网络向外部存储提供商传输文件。在步骤833,安全部件可以检测该发送。在步骤835,安全部件可以加密该文件。在步骤837,安全部件可以将经加密的文件传输到外部存储提供商。在步骤839,安全部件可以分配用于虚拟磁盘卷的位置。在步骤841,安全部件可以将由外部存储提供商暴露的虚拟磁盘卷安装到所分配的位置。[0190]现在参考图8D,描述用于经由所安装的虚拟磁盘卷访问由外部存储提供商存储的安全文件的示例方法。在步骤851,诸如,例如经由与虚拟磁盘卷交互,用户可以发起访问由外部存储提供商存储的文件的请求。在步骤853,安全部件可以拦截该访问请求。在步骤855,安全部件可以确定是否存在对访问该虚拟磁盘卷的授权,诸如用户、过程或机器是否能访问该虚拟磁盘卷。如果未被授权访问指定位置,则在步骤856会不允许对虚拟磁盘卷的访问,并且因此也会不允许对该文件的访问。如果被授权访问虚拟磁盘卷,方法可以继续并且在步骤857,安全部件可以从外部存储提供商(在那里该文件可以以经加密的形式被存储)检索文件以及解密该文件(如果需要)。在步骤859,安全部件可以将未加密的文件提供给用户。[0191]在一些实施例中,可以由应用或过程作出访问由外部存储提供商存储的文件的请求。安全部件可以确定给定的应用、过程或机器是否被授权访问特定的虚拟磁盘卷。[0192]现在参考图9A,描述用于认证对由外部存储提供商存储的文件的访问的系统的示例实施例。用户可以作出针对由外部存储提供商930存储的文件的请求(描述为线路901)。安全部件910可以实施第一认证过程903,以确定该用户被授权访问由外部存储提供商存储的经加密的文件。如果被授权,安全部件910可以经由网络920将该请求提供给外部存储提供商930。外部存储提供商可以实施第二认证过程905以确定用户被授权访问经加密的文件915。[0193]在一些实施例中,第一认证过程903可以包括确定特定用户被授权访问特定位置。第一认证过程903还可以包括确定用户被授权访问经加密的文件915本身。[0194]在一些实施例中,第一认证过程903可以确定特定应用、过程或机器被授权访问特定位置或经加密的文件。[0195]在一些实施例中,第二认证过程905可以确定特定应用、过程或机器被授权访问特定位置或经加密的文件。[0196]现在参考图9B,描述用于在外部存储提供商进一步加密经加密的文件的系统的示例实施例。外部存储提供商930可以经由网络935从企业网络(未示出)接收经加密的文件940。外部存储提供商930还可以将经加密的文件940加密为经加密的文件945(加密描述为线路942)。在收到来自企业网络的访问该文件的请求时,外部服务提供商930可以类似地将经加密的文件945解密为经加密的文件940,并且因此外部服务提供商可以通过将经加密的文件940传输给企业网络而响应于该请求。[0197]在一些实施例中,外部存储提供商930还可以在经加密的文件离开企业网络之前并且在公共因特网上传输之前,进一步加密经加密的文件940。在这种实施例中,外部存储提供商可以在收到访问该文件的请求时,仅仅在该文件在公共因特网上被传输回到企业网络之后解密经加密的文件945。[0198]已经描述了用于对由同步程序访问的数据提供安全处理的系统和方法的某些实施例,本领域技术人员现在将清楚,也可以使用结合了本发明的构思的其它实施例。【权利要求】1.一种方法,包括:由在第一客户端计算机上执行的第一安全代理拦截来自在所述第一客户端计算机上执行的第一过程的消息,其中所述消息被寻址到外部存储提供商,并且其中所述消息标识文件;由所述第一安全代理使用第一加密密钥加密所述文件,从而得到经加密的文件;由所述第一安全代理使用共享密钥加密所述第一加密密钥,从而得到经加密的第一加密密钥;以及向所述第一过程可访问的位置提供所述经加密的文件和所述经加密的第一加密密钥。2.根据权利要求1所述的方法,还包括:使用受众类别来标记所述经加密的文件,所述受众类别指定哪些请求者被授权访问所述文件。3.根据权利要求2所述的方法,还包括:由在第二客户端计算机上执行的第二安全代理拦截请求访问先前由所述第一安全代理加密的所述文件的文件访问请求;基于所述受众类别确定所述文件访问请求被授权;由所述第二安全代理使用所述共享密钥解密所述经加密的第一加密密钥;以及由所述第二安全代理使用所述第一加密密钥解密所述经加密的文件。4.根据权利要求1所述的方法,还包括:确定所述第一程序意欲执行下述操作中的至少一种:将所述文件同步到所述文件的网络副本,将所述文件的副本存储到网络,或者经由网络传输所述文件的副本。5.根据权利要求1所述的方法,其中向所述第一程序可访问的所述位置提供所述经加密的文件和所述经加密的第一加密密钥包括:向所述第一程序可访问的所述位置提供经标记的文件,其中所述经标记的文件包括所述经加密的文件、所述经加密的第一加密密钥以及分配给所述经加密的文件的受众类别标识符。6.根据权利要求1所述的方法,还包括:使用访问列表来确定对所述文件的访问是否被授权。7.根据权利要求1所述的方法,还包括:将用于所述文件的标识符添加到访问列表,所述访问列表列出请求者能够访问的一个或多个经授权的文件。8.根据权利要求1所述的方法,还包括:从与所述第一安全代理通信的集中服务获得所述共享密钥。9.根据权利要求1所述的方法,其中所述消息为请求访问正由所述外部存储提供商存储的所述文件的文件访问请求,或者所述消息为请求所述文件由所述外部存储提供商存储的文件存储请求。10.根据权利要求1所述的方法,其中所述第一过程为不受信任程序。11.一种设备,包括:一个或多个处理器;以及存储计算机可读取指令的存储器,所述计算机可读取指令被配置成在由所述一个或多个处理器执行时致使所述设备:拦截来自在第一客户端计算机上执行的第一过程的消息,其中所述消息被寻址到外部存储提供商,并且其中所述消息标识文件;使用第一加密密钥加密所述文件,从而得到经加密的文件;使用共享密钥加密所述第一加密密钥,从而得到经加密的第一加密密钥;以及向所述第一过程可访问的位置提供所述经加密的文件和所述经加密的第一加密密钥。12.根据权利要求11所述的设备,其中所述存储器还存储如下计算机可读取指令,所述计算机可读取指令被配置成在由所述一个或多个处理器执行时致使所述设备:使用受众类别标记所述经加密的文件,所述受众类别指定哪些请求者被授权访问所述文件。13.根据权利要求11所述的设备,其中所述存储器还存储如下计算机可读取指令,所述计算机可读取指令被配置成在由所述一个或多个处理器执行时致使所述设备:确定所述第一程序意欲执行下述操作中的至少一种:将所述文件同步到所述文件的网络副本,将所述文件的副本存储到网络,或者经由网络传输所述文件的副本。14.根据权利要求11所述的设备,其中向所述第一程序可访问的所述位置提供所述经加密的文件和所述经加密的第一加密密钥包括:向所述第一程序可访问的所述位置提供经标记的文件,其中所述经标记的文件包括所述经加密的文件、所述经加密的第一加密密钥以及分配给所述经加密的文件的受众类别标识符。15.根据权利要求11所述的设备,其中所述存储器还存储如下计算机可读取指令,所述计算机可读取指令被配置成在由所述一个或多个处理器执行时致使所述设备:使用访问列表来确定对所述文件的访问是否被授权。16.根据权利要求11所述的设备,其中所述存储器还存储如下计算机可读取指令,所述计算机可读取指令被配置成在由所述一个或多个处理器执行时致使所述设备:将用于所述文件的标识符添加到访问列表,所述访问列表列出请求者能够访问的一个或多个经授权的文件。17.根据权利要求11所述的设备,其中所述存储器还存储如下计算机可读取指令,所述计算机可读取指令被配置成在由所述一个或多个处理器执行时致使所述设备:从与所述第一安全代理通信的集中服务获得所述共享密钥。18.根据权利要求11所述的设备,其中所述消息为请求访问正由所述外部存储提供商存储的所述文件的文件访问请求,或者所述消息为请求所述文件由所述外部存储提供商存储的文件存储请求。19.一种方法,包括:由在第一客户端计算机上执行的第一安全代理拦截来自在第一客户端计算机上执行的第一程序的文件存储请求,其中所述文件存储请求被寻址到与所述第一程序通信的外部存储提供商,并且其中所述文件存储请求请求所述外部存储提供商存储文件;由所述第一安全代理使用第一加密密钥加密所述文件,从而得到经加密的文件;以及向所述外部存储提供商提供所述经加密的文件。20.根据权利要求19所述的方法,还包括:分配用于安装虚拟磁盘卷的位置;将所述虚拟磁盘卷安装到所分配的网络安装位置;使用所述虚拟磁盘卷提供对所述经加密的文件的访问;拦截经由所述虚拟磁盘卷访问所述经加密的文件的请求;从所述外部服务提供商检索所述经加密的文件;以及解密所述经加密的文件。`【文档编号】H04L9/08GK103688485SQ201280035298【公开日】2014年3月26日申请日期:2012年5月18日优先权日:2011年5月18日【发明者】R·海顿,A·英尼斯申请人:西里克斯系统公司
再多了解一些
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1