用于對數據進行安全處理的系統和方法【專利摘要】此處描述的方法和系統提供了外部存儲提供商在企業設置中的安全實施。特別地,本發明提供了允許對過程的安全使用,所述過程可以傳輸文件到外部存儲提供商或者訪問來自外部存儲提供商的文件。在一些裝置中,諸如不受信任過程的過程可能請求訪問文件。安全代理可以攔截該請求并且加密該文件。該文件于是可以被傳輸到外部存儲提供商。用戶可以隨后請求訪問該文件。安全代理可以攔截與此請求有關的消息,確定該用戶是否被授權訪問該文件,以及解密該文件。【專利說明】用于對數據進行安全處理的系統和方法[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·英尼斯申請人:西里克斯系統公司