一種文檔管理系統和方法
2023-05-09 20:49:46
一種文檔管理系統和方法【專利摘要】本發明公開了一種文檔管理系統,包括文檔處理客戶端和文檔處理伺服器,文檔處理客戶端適於截取代理伺服器接收到的、計算設備發送的數據上傳請求,並發送到文檔處理伺服器;文檔處理伺服器適於通過文檔保護客戶端從文檔保護伺服器獲取與計算設備對應的第一密鑰,利用第一密鑰將數據上傳請求中包括的文檔內容進行解密後,利用文檔處理伺服器對應的第二密鑰對解密後的文檔內容進行加密,並將修改後的數據上傳請求發送到文檔處理客戶端;文檔處理客戶端接收到修改後的數據上傳請求時,通知代理伺服器將該修改後的數據上傳請求發送到應用伺服器,以供應用伺服器從中獲取利用第二密鑰加密的文檔內容並進行存儲。本發明還公開了一種對應的文檔管理方法。【專利說明】一種文檔管理系統和方法【
技術領域:
】[0001]本發明涉及計算機和網際網路領域,具體涉及一種文檔管理系統和方法。【
背景技術:
】[0002]隨著計算機技術及網絡技術的普及和發展,豐富的網絡數據資源為人們的生活帶來了極大的便利,同時也帶來了諸多的困惑。例如,在企業中,一些涉及企業秘密的文件一般都以電子文件的方式存在,這些文件很容易經由網際網路發送到企業之外,從而導致文件洩密。因此,能夠保護文檔以防止文檔內容外傳的方案隨之產生。[0003]透明加解密技術是近年來針對企業文件保密需求應運而生的一種文件加密技術。所謂透明,是指對使用者來說是不可見的。現有的一種透明加解密方案是在用戶的計算設備上安裝防洩密的文檔保護客戶端,文檔以密文方式存儲在計算設備的文檔存儲器(例如硬碟)中,讓用戶需要瀏覽文檔內容時,將加密的文檔從文檔存儲器中讀取出來並解密,從而將明文呈現給用戶。而當用戶對文檔內容進行了修改等之後並進行存儲時,文檔保護客戶端會對該文檔內容進行加密,並存儲到文檔存儲器中。這樣即使將該文檔從文檔存儲器複製到外部,該文檔也是加密狀態,從而防止了文檔內容外洩的風險。[0004]目前,在一些企業的區域網內部,還包括各種應用伺服器,企業內部的成員可以通過自己的計算設備來訪問應用伺服器,從而進入各種應用,並獲得相應的應用信息以及應用中的文檔內容。目前大部分在應用中的信息都是以明文方式進行存儲。由於企業通常還和外部的網際網路相連接,如果黑客侵入企業的區域網路,就可以直接進入應用伺服器而獲取其中的信息,導致信息洩露。[0005]當在用戶的計算設備上採用透明加解密方案時,如何和現有的應用伺服器進行結合存在較大的問題。例如,用戶可以將本地的文檔上傳到應用伺服器上,以便讓其他用戶查看。但是如果上傳到應用伺服器的文檔為加密格式,則其他用戶難以打開這個文檔。如果這個文檔以明文方式存儲在應用伺服器上,則會發生文檔從應用伺服器洩密出去的風險。[0006]所以,需要一種文檔管理方案,能夠讓目前使用透明加解密方案的計算設備還可以方便地利用應用伺服器提供的應用,同時不用擔心內容會外洩。【
發明內容】[0007]鑑於上述問題,提出了本發明以便提供一種克服上述問題或者至少部分地解決上述問題的文檔管理系統和方法。[0008]根據本發明的一個方面,提供了一種文檔管理系統,包括文檔處理客戶端和文檔處理伺服器,文檔處理客戶端駐留在代理伺服器中,代理伺服器一方面與應用伺服器通信連接,另一方面與一個或多個計算設備通信連接,計算設備通過代理伺服器與應用伺服器上的應用進行交互,且文檔處理伺服器和計算設備中均駐留有文檔保護客戶端,文檔保護客戶端和文檔保護伺服器通信連接,從而對計算設備中的文檔內容進行透明加解密保護,其中:文檔處理客戶端適於截取代理伺服器接收到的、計算設備發送的數據上傳請求,並將該數據上傳請求發送到文檔處理伺服器;文檔處理伺服器適於接收到文檔處理客戶端發送的數據上傳請求時,通過文檔處理伺服器中的文檔保護客戶端從文檔保護伺服器獲取與計算設備對應的第一密鑰,利用第一密鑰將該數據上傳請求中包括的、計算設備要上傳到應用伺服器的文檔內容進行解密後,利用文檔處理伺服器對應的第二密鑰對解密後的文檔內容進行加密,並將修改後的數據上傳請求發送到文檔處理客戶端;文檔處理客戶端接收到文檔處理伺服器發送的修改後的數據上傳請求時,通知代理伺服器將該修改後的數據上傳請求發送到應用伺服器,以供應用伺服器從修改後的數據上傳請求中獲取利用第二密鑰加密的文檔內容並進行存儲。[0009]可選地,在根據本發明的文檔管理系統中,文檔處理客戶端還適於截取代理伺服器接收到的、應用伺服器發送的針對計算設備的數據下載請求的數據下載響應,並將該數據下載響應發送到文檔處理伺服器;文檔處理伺服器還適於接收到文檔處理客戶端發送的數據下載響應時,利用文檔處理伺服器對應的第二密鑰將該數據下載響應中包括的、計算設備要從應用伺服器下載的文檔內容進行解密後,通過文檔處理伺服器中的文檔保護客戶端從文檔保護伺服器獲取與計算設備對應的第一密鑰,利用第一密鑰對解密後的文檔內容進行加密,並將修改後的數據下載響應發送到文檔處理客戶端;文檔處理客戶端接收到文檔處理伺服器發送的修改後的數據下載響應時,通知代理伺服器將該修改後的數據下載響應發送到計算設備,以供計算設備從修改後的數據下載響應中獲取利用第一密鑰加密的文檔內容。[0010]可選地,在根據本發明的文檔管理系統中,文檔處理伺服器中存儲有應用列表,所述應用列表中包括一個或多個加密應用;文檔處理伺服器利用第二密鑰對文檔內容進行加密/解密前,判斷該文檔內容是否屬於應用列表中加密應用對應的文檔內容,若是,利用第二密鑰對該文檔內容進行加密/解密,否則,不利用第二密鑰對該文檔內容進行加密/解LUO[0011]可選地,在根據本發明的文檔管理系統中,所述數據上傳請求和數據下載請求為http請求,所述數據下載響應為http響應,所述文檔處理客戶端為icap客戶端,所述文檔處理伺服器為icap伺服器。[0012]可選地,在根據本發明的文檔管理系統中,文檔處理伺服器對文檔內容進行加密/解密後,還根據加密/解密後文檔內容的長度,相應修改http請求頭/http響應頭中的Content-Length欄位。[0013]根據本發明的另一方面,提供了一種文檔管理方法,在文檔處理客戶端和文檔處理伺服器中執行,文檔處理客戶端駐留在代理伺服器中,代理伺服器一方面與應用伺服器通信連接,另一方面與一個或多個計算設備通信連接,計算設備通過代理伺服器與應用伺服器上的應用進行交互,且文檔處理伺服器和計算設備中均駐留有文檔保護客戶端,文檔保護客戶端和文檔保護伺服器通信連接,從而對計算設備中的文檔內容進行透明加解密保護,該文檔管理方法包括:文檔處理客戶端截取代理伺服器接收到的、計算設備發送的數據上傳請求,並將該數據上傳請求發送到文檔處理伺服器;文檔處理伺服器接收到文檔處理客戶端發送的數據上傳請求時,通過文檔處理伺服器中的文檔保護客戶端從文檔保護伺服器獲取與計算設備對應的第一密鑰,利用第一密鑰將該數據上傳請求中包括的、計算設備要上傳到應用伺服器的文檔內容進行解密後,利用文檔處理伺服器對應的第二密鑰對解密後的文檔內容進行加密,並將修改後的數據上傳請求發送到文檔處理客戶端;文檔處理客戶端接收到文檔處理伺服器發送的修改後的數據上傳請求時,通知代理伺服器將該修改後的數據上傳請求發送到應用伺服器,以供應用伺服器從修改後的數據上傳請求中獲取利用第二密鑰加密的文檔內容並進行存儲。[0014]可選地,根據本發明的文檔管理方法還包括:文檔處理客戶端截取代理伺服器接收到的、應用伺服器發送的針對計算設備的數據下載請求的數據下載響應,並將該數據下載響應發送到文檔處理伺服器;文檔處理伺服器接收到文檔處理客戶端發送的數據下載響應時,利用文檔處理伺服器對應的第二密鑰將該數據下載響應中包括的、計算設備要從應用伺服器下載的文檔內容進行解密後,通過文檔處理伺服器中的文檔保護客戶端從文檔保護伺服器獲取與計算設備對應的第一密鑰,利用第一密鑰對解密後的文檔內容進行加密,並將修改後的數據下載響應發送到文檔處理客戶端;文檔處理客戶端接收到文檔處理伺服器發送的修改後的數據下載響應時,通知代理伺服器將該修改後的數據下載響應發送到計算設備,以供計算設備從修改後的數據下載響應中獲取利用第一密鑰加密的文檔內容。[0015]可選地,在根據本發明的文檔管理方法中,文檔處理伺服器中存儲有應用列表,所述應用列表中包括一個或多個加密應用;文檔處理伺服器利用第二密鑰對文檔內容進行加密/解密前,判斷該文檔內容是否屬於應用列表中加密應用對應的文檔內容,若是,利用第二密鑰對該文檔內容進行加密/解密,否則,不利用第二密鑰對該文檔內容進行加密/解LUO[0016]可選地,在根據本發明的文檔管理方法中,所述數據上傳請求和數據下載請求為http請求,所述數據下載響應為http響應,所述文檔處理客戶端為icap客戶端,所述文檔處理伺服器為icap伺服器。[0017]可選地,在根據本發明的文檔管理方法中,文檔處理伺服器對文檔內容進行加密/解密後,還根據加密/解密後文檔內容的長度,相應修改http請求頭/http響應頭中的Content-Length欄位。[0018]在根據本發明的文檔管理方案中,利用文檔處理伺服器與駐留在代理伺服器中的文檔處理客戶端,對用戶的計算設備與應用伺服器之間的各種交互報文進行處理,可以在應用伺服器上存儲經過加密的文檔內容,而這些文檔內容在傳輸到用戶的技術設備時,已經用用戶計算設備對應的密鑰進行了加密,從而可以正常地利用在用戶計算設備上的透明加解密系統進行處理。這樣,一方面用戶訪問應用伺服器的行為沒有受到任何幹擾,同時應用伺服器上以加密方式存儲各種文檔,能夠降低在應用伺服器被黑客侵入時,文檔被竊取的風險。[0019]上述說明僅是本發明技術方案的概述,為了能夠更清楚了解本發明的技術手段,而可依照說明書的內容予以實施,並且為了讓本發明的上述和其它目的、特徵和優點能夠更明顯易懂,以下特舉本發明的【具體實施方式】。【專利附圖】【附圖說明】[0020]通過閱讀下文優選實施方式的詳細描述,各種其他的優點和益處對於本領域普通技術人員將變得清楚明了。附圖僅用於示出優選實施方式的目的,而並不認為是對本發明的限制。而且在整個附圖中,用相同的參考符號表示相同的部件。在附圖中:[0021]圖1示出了根據本發明一個實施例的文檔管理系統的結構圖;[0022]圖2示出了根據本發明一個實施例的文檔管理系統執行的上傳文檔內容的流程圖;以及[0023]圖3示出了根據本發明一個實施例的文檔管理系統執行的下載文檔內容的流程圖。【具體實施方式】[0024]下面將參照附圖更詳細地描述本公開的示例性實施例。雖然附圖中顯示了本公開的示例性實施例,然而應當理解,可以以各種形式實現本公開而不應被這裡闡述的實施例所限制。相反,提供這些實施例是為了能夠更透徹地理解本公開,並且能夠將本公開的範圍完整的傳達給本領域的技術人員。[0025]圖1示出了根據本發明一個實施例的文檔管理系統的結構圖。如圖1所示,文檔管理系統包括文檔處理客戶端140和文檔處理伺服器150,文檔處理客戶端140駐留在代理伺服器130中,代理伺服器130—方面與應用伺服器110通信連接,另一方面與一個或多個計算設備120通信連接。[0026]每個計算設備120都具有網絡客戶端122。用戶通過計算設備120中的網絡客戶端122來訪問應用伺服器110,例如訪問應用伺服器110上的應用,從應用獲取內容,向應用提交內容等。網絡客戶端122可以是各種網絡瀏覽器(例如ie內核的瀏覽器、chrome內核的瀏覽器等)。[0027]每個計算設備120中均駐留有文檔保護客戶端124。計算設備120中通常運行現代的作業系統,利用作業系統來管理計算設備中的硬體資源。一般來說,現代的作業系統會劃分為用戶空間層和內核層。文檔保護客戶端124不僅僅在用戶空間層運行,而且其還有一部分部件在作業系統的內核層中運行。[0028]文檔保護伺服器160通過網絡和各個計算設備120相連。文檔保護伺服器160和文檔保護客戶端124進行通信,對計算設備中的文檔內容進行透明加解密保護,從而可以確保在計算設備中的特定文檔不能在計算設備之外的其它設備上被查看、修改等。根據一個實施方式,未安裝有文檔保護客戶端124的計算設備不能打開文檔。另外,文檔保護伺服器160還包括日誌存儲器162。各個計算設備中文檔保護客戶端124所監測到的、各個應用對文檔的操作記錄都會發送到文檔保護伺服器160並存儲到日誌存儲器162中。這樣,當發現某個文檔被外洩時,可以根據日誌存儲器162中存儲的操作記錄來確定有可能是哪個客戶端發生了外洩。此外還可以通過對日誌存儲器162中存儲的操作記錄進行統計分析來確定文檔被外洩的風險性。[0029]文檔保護伺服器160還包括身份認證部件164,適於對各個計算設備處的用戶進行身份認證,從而確保只有認證通過的用戶才可以使用計算設備來進行文檔操作。[0030]文檔保護伺服器160還可以包括規則存儲器166,其中存儲了不同用戶使用各種應用來進行文檔操作的規則,例如對於一般用戶來說,可以使用word字處理軟體來瀏覽和修改word文檔,但是不能列印文檔。而對於一般財務人員來說,則可以利用Exel表格處理軟體來打開、瀏覽財務文檔,但是不能瀏覽開發文檔。而對於公司的財務總監來說,對於財務文檔具有全部權限。文檔保護伺服器160可以根據需要更新規則存儲器166中存儲的規貝U,並發送給相應的客戶端,以便文檔保護客戶端124可以根據該規則來確定文檔操作的權限等。另外,規則存儲器166中還存儲了文檔保護系統支持可以進行文檔保護的應用的列表,以及支持文檔保護的格式等。[0031]應用伺服器110中可以駐留各種應用,這些應用可以獲取用戶經由網絡客戶端122提交的數據請求,對數據請求進行處理,並反饋處理結果。例如一些日曆類應用可以記錄用戶將來的會議計劃以及和這些會議相關聯的文檔,並且在用戶請求時向用戶提供日曆詳情。一些項目類應用可以記錄用戶的項目細節以及相關聯的文檔。用戶可以添加項目,添加與項目相關聯的文檔等。[0032]應用伺服器110通常以web伺服器的方式提供web服務,也可以具有一些api接口,但是這些接口都是通過http及其相關協議來提供。相應地,網絡客戶端122向應用伺服器110發送的數據請求為http請求,應用伺服器110向網絡客戶端122返回的數據響應為http響應。其中,所述數據請求可以為數據上傳請求和數據下載請求,例如httppost請求和httpget請求。[0033]應用伺服器110不受限於具體的應用類型,本發明要保護的是任何要在應用伺服器110上存儲用戶信息和文檔的應用。[0034]在計算設備120上的網絡客戶端122要和應用伺服器110上的應用進行交互時,需要經由代理伺服器130。設置代理伺服器可以採用以下三種方式之一。[0035]方式I,普通代理方式[0036]需要在計算設備120上設置代理地址和埠為代理伺服器的地址和埠,例如地址為192.168.1.177,埠為3128。[0037]方式2,透明代理方式[0038]計算設備120中的網絡客戶端的web訪問需要經過網關(防火牆),代理伺服器構架在網關主機中,並在網關主機中進行配置,以將網絡客戶端的web訪問數據重定向給代理伺服器處理。例如,在網關主機中進行如下配置:[0039]iptables-tnat_APREROUTING-s192.168.6.0/24-1ethO-ptcp-dport80-jREDIRECT-to-ports3128[0040]利用這個配置,就可以將來自一個區域網路(網段為192.168.6.0/24)的計算設備的web訪問重定向到一個新的埠來處理。[0041]方式3,反向代理方式[0042]需要修改計算設備的host文件中有關域名解析的部分,將對應用伺服器的數據請求轉到代理伺服器,並對代理伺服器的配置文件進行修改。對網絡客戶端的host文件的修改例如為:[0043]192.168.1.177tfg.alipaytfg.com[0044]代理伺服器釆用squid技術時,修改代理伺服器/etc/squid3/squid,conf文件例如為:[0045]http—port80accelvhostvport[0046]cache—peer192.168.1.123parent80no-queryoriginservername=tfglogin=PASSTHRU[0047]cache—peer—domaintfgtfg.alipaytfg.com[0048]需要說明的是,本發明實施例對代理伺服器的設置方式不做限制,本領域技術人員可以根據具體的應用環境進行合理選擇。[0049]代理伺服器130中包括有文檔處理客戶端140,文檔處理客戶端140和文檔處理伺服器150通信連接。代理伺服器130接收到來自網絡客戶端122的數據請求時,文檔處理客戶端140會截取該數據請求,並且將該數據請求發送到文檔處理伺服器150進行處理,並將處理後的數據請求返回給文檔處理客戶端140,然後,文檔處理客戶端140通知代理伺服器130將文檔處理伺服器150返回的數據請求發送到應用伺服器110。[0050]相應地,代理伺服器130接收到來自應用伺服器110的數據響應時,文檔處理客戶端140會截取該數據響應,並且將該數據響應發送到文檔處理伺服器150進行處理,並將處理後的數據響應返回給文檔處理客戶端140,然後,文檔處理客戶端140通知代理伺服器130將文檔處理伺服器150返回的數據響應發送到計算設備120中的網絡客戶端122。[0051]在一種實現方式中,文檔處理客戶端140和文檔處理伺服器150採用icap(InternetContentAdaptat1nProtocol,網際網路內容變換協議)技術來實現,即文檔處理客戶端140為icap客戶端(icapclient),文檔處理伺服器150為icap伺服器(icapserver)。[0052]icap是在http消息(httpmessage)上執行遠程過程調用(RPC)的一種輕量級的協議,它讓icapclient可以把httpmessage傳給icapserver,然後icapserver可以對其進行某種變換或者其他處理(「匹配」)。icap具有兩種工作模式,分別為請求修改(reqmod)模式和響應修改(respmod)模式。在請求修改模式下,被變換的httpmessage是http請求,在響應修改模式下,被變換的httpmessage是http響應。本發明實施例的文檔管理系統同時工作在這兩種模式下,其對http請求和http響應都進行轉發和處理。例如,可以對icap客戶端和icap伺服器進行如下配置,來激活請求修改模式和響應修改模式:[0053]icap—enabIeon[0054]icap—preView—enabIeon[0055]icap—preview—size128[0056]icap—send—client—ipon[0057]icap—service—failure—limit-1[0058]icap_serviceservcie_httpflt_reqreqmod_precache0icap://127.0.0.1:1344/httpfIt[0059]icap_serviceservcie_httpflt_resprespmod_precacheIicap://127.0.0.1:1344/httpfIt[0060]adaptat1n_service_setclass—httpfIt—reqservice—httpfIt—req[0061]adaptat1n_service_setclass—httpfIt—respservice—httpfIt—resp[0062]adaptat1n_service_setclass—httpfIt—reqallowall[0063]adaptat1n_service_setclass—httpfIt—respallowall[0064]文檔處理伺服器150中包括文檔保護客戶端152,文檔保護客戶端152與文檔保護伺服器160進行通信,從而從文檔保護伺服器160獲取各計算設備120進行文檔內容透明加解密保護所使用的第一密鑰,一般而言,不同的計算設備所對應的第一密鑰各不相同。文檔處理伺服器150還維護一個對文檔內容進行加解密的第二密鑰,且第二密鑰不同於第一密鑰。[0065]在本發明實施例中,文檔處理伺服器150主要是對數據上傳請求所攜帶的利用第一密鑰加密的文檔內容進行解密處理,並利用第二密鑰對解密後的文檔內容進行加密處理,以及對數據下載響應所攜帶的利用第二密鑰加密的文檔內容進行解密處理,並利用第一密鑰對解密後的文檔內容進行加密處理。[0066]以下分別對根據本發明實施例的文檔管理系統所執行的上述兩種處理的流程進行說明。[0067]圖2示出了根據本發明一個實施例的文檔管理系統執行的上傳文檔內容的流程圖。參照圖2,上傳文檔內容的流程始於步驟S202。在步驟S202中,計算設備120中的網絡客戶端122發出一個數據上傳請求(例如httppost),該數據上傳請求中包括計算設備120要上傳到應用伺服器110的文檔內容,且該文檔內容由文檔保護客戶端124利用第一密鑰進行了加密處理。由於設置了代理伺服器,因此該數據上傳請求會先到達代理伺服器130,代理伺服器130中的文檔處理客戶端140會截取該數據上傳請求,並將該數據上傳請求發送到文檔處理伺服器150。[0068]在步驟S204中,文檔處理伺服器150接收文檔處理客戶端140發送的數據上傳請求,對該數據上傳請求進行解析,從中獲取計算設備120要上傳到應用伺服器110的文檔內容,以及該請求中的用戶標識(例如發起請求用戶所在計算設備的ip地址等),根據獲取到的用戶標識,利用在文檔處理伺服器150中的文檔保護客戶端152從文檔保護伺服器160獲取與該計算設備對應的第一密鑰,並利用第一密鑰對該文檔內容進行解密。隨後,利用文檔處理伺服器150對應的第二密鑰對解密後的文檔內容進行加密,並根據加密後的文檔內容重新構造數據上傳請求,將重新構造得到的修改後的數據上傳請求發送到文檔處理客戶端140。[0069]在一種實現方式中,文檔處理伺服器150中存儲有一應用列表,所述應用列表中包括一個或多個加密應用。文檔處理伺服器150對數據上傳請求進行解析後,判斷其中攜帶的文檔內容是否屬於應用列表中加密應用對應的文檔內容。當文檔內容屬於加密應用對應的文檔內容時,才對該文檔內容進行上述的解密和加密處理,並根據加密後的文檔內容重新構造數據上傳請求,將修改後的數據上傳請求發送到文檔處理客戶端140;當文檔內容不屬於加密應用對應的文檔內容時,不對該文檔內容進行上述的解密和加密處理,直接將所接收到的數據上傳請求發送到文檔處理客戶端140。由於不同應用對安全性的需求不一定相同,因此本發明實施例對不同應用進行區別處理,僅對安全性需求高的應用的文檔內容進行加密存儲,不對安全性需求低的應用的文檔內容進行加密存儲,從而提高了文檔管理的靈活性。[0070]當該數據上傳請求為httppost請求時,可以從http請求頭中獲取Content-Type欄位,根據所獲取的Content-Type欄位內容來判斷該數據上傳請求攜帶的文檔內容所屬的應用類型,並根據所獲取的應用類型來判斷其是否屬於應用列表中的加密應用。[0071]另外,文檔處理伺服器150在重新構造數據上傳請求時,還根據利用第二密鑰加密後文檔內容的長度,來確定http請求中http請求頭的Content-Length欄位內容,即將Content-Length欄位內容修改為利用第二密鑰加密後文檔內容的長度。[0072]在步驟S206中,文檔處理客戶端140接收文檔處理伺服器150發送的修改後的數據上傳請求,通知代理伺服器130將該修改後的數據上傳請求發送到應用伺服器110。[0073]在步驟S208中,應用伺服器110接收代理伺服器130發送的修改後的數據上傳請求,從該數據上傳請求中獲取利用第二密鑰加密的文檔內容,將加密的文檔內容進行存儲,例如存儲到文檔存儲器112中,並且返回應答內容(即數據上傳響應)。[0074]之後,代理伺服器130接收該數據上傳響應,文檔處理客戶端140截取該數據上傳響應,並發送到文檔處理伺服器150,文檔處理伺服器150對該數據上傳響應進行分析後,發現不需要進行處理,直接將該數據上傳響應返回該文檔處理客戶端140,文檔處理客戶端150通知代理伺服器130將該數據上傳響應發送給計算設備120,從而完成上傳處理流程。[0075]圖3示出了根據本發明一個實施例的文檔管理系統執行的下載文檔內容的流程圖。參照圖3,下載文檔內容的流程始於步驟S302。在步驟S302中,計算設備120中的網絡客戶端122發出一個數據下載請求(例如httpget),請求從應用伺服器110獲取某個應用的文檔內容。由於設置了代理伺服器,因此該數據下載請求會先到達代理伺服器130,代理伺服器130中的文檔處理客戶端140會截取該數據下載請求,並將該數據下載請求發送到文檔處理伺服器150。[0076]在步驟S304中,文檔處理伺服器150接收文檔處理客戶端140發送的數據下載傳請求,對該數據下載請求進行解析,發現不需要對該數據下載請求進行處理,於是,直接將該數據下載請求返回給文檔處理客戶端140。[0077]在步驟S306中,文檔處理客戶端140接收文檔處理伺服器150發送的數據下載請求,通知代理伺服器130將該數據下載請求發送到應用伺服器110。[0078]在步驟S308中,應用伺服器110接收代理伺服器130發送的數據下載請求,對該數據下載請求進行解析,根據解析結果從文檔存儲器112中獲取計算設備120所請求的文檔內容,該文檔內容可能是利用第二密鑰進行加密的文檔內容,並根據獲取到的文檔內容構造數據下載響應,將該數據下載響應發送到代理伺服器130。[0079]在步驟S310中,代理伺服器130接收到應用伺服器110發送的文檔下載響應時,文檔處理客戶端140截取該數據下載響應,並將該數據下載響應發送到文檔處理伺服器150。[0080]在步驟S312中,文檔處理伺服器150接收文檔處理客戶端140發送的數據下載響應,對該數據下載響應進行解析,從中獲取計算設備120要從應用伺服器110下載的文檔內容,以及請求下載該文檔內容的用戶標識(例如發起數據下載請求用戶所在計算設備的ip地址等),根據獲取到的用戶標識,利用在文檔處理伺服器150中的文檔保護客戶端152從文檔保護伺服器160獲取與該計算設備對應的第一密鑰,利用文檔處理伺服器150對應的第二密鑰對該文檔內容進行解密,隨後,利用第一密鑰對解密後的文檔內容進行加密,並根據加密後的文檔內容重新構造數據下載響應,將重新構造得到的修改後的數據下載響應發送到文檔處理客戶端140。[0081]在一種實現方式中,文檔處理伺服器150中存儲有一應用列表,所述應用列表中包括一個或多個加密應用。文檔處理伺服器150對數據下載響應進行解析後,判斷其中攜帶的文檔內容是否屬於應用列表中加密應用對應的文檔內容。當文檔內容屬於加密應用對應的文檔內容時,才對該文檔內容進行上述的解密和加密處理,並根據加密後的文檔內容重新構造數據下載響應,將修改後的數據下載響應發送到文檔處理客戶端140;當文檔內容不屬於加密應用對應的文檔內容時,不對該文檔內容進行上述的解密和加密處理,直接將所接收到的數據下載響應發送到文檔處理客戶端140。由於不同應用對安全性的需求不一定相同,因此本發明實施例對不同應用進行區別處理,僅對安全性需求高的應用的文檔內容進行加密和解密處理,不對安全性需求低的應用的文檔內容進行加密和解密處理,從而提高了文檔管理的靈活性。[0082]當該數據下載響應為httpget響應時,可以從http響應頭中獲取Content-Type欄位,根據所獲取的Content-Type欄位內容來判斷該數據下載響應攜帶的文檔內容所屬的應用類型,並根據所獲取的應用類型來判斷其是否屬於應用列表中的加密應用。[0083]另外,文檔處理伺服器150在重新構造數據下載響應時,還根據利用第一密鑰加密後文檔內容的長度,來確定http響應中http響應頭的Content-Length欄位內容,即將Content-Length欄位內容修改為利用第一密鑰加密後文檔內容的長度。[0084]在步驟S314中,文檔處理客戶端140接收到文檔處理伺服器150發送的修改後的數據下載響應,通知代理伺服器150將該修改後的數據下載響應發送到計算設備120中的網絡客戶端122,網絡客戶端122從修改後的數據下載響應中獲取利用第一密鑰加密的文檔內容,並可以利用文檔保護客戶端124對該文檔內容解密後進行呈現。[0085]在根據本發明的文檔管理方案中,利用文檔處理伺服器與駐留在代理伺服器中的文檔處理客戶端,對用戶的計算設備與應用伺服器之間的各種交互報文進行處理,可以在應用伺服器上存儲經過加密的文檔內容,而這些文檔內容在傳輸到用戶的技術設備時,已經用用戶計算設備對應的密鑰進行了加密,從而可以正常地利用在用戶計算設備上的透明加解密系統進行處理。這樣,一方面用戶訪問應用伺服器的行為沒有受到任何幹擾,同時應用伺服器上以加密方式存儲各種文檔,能夠降低在應用伺服器被黑客侵入時,文檔被竊取的風險。[0086]在此提供的算法和顯示不與任何特定計算機、虛擬系統或者其它設備固有相關。各種通用系統也可以與基於在此的示教一起使用。根據上面的描述,構造這類系統所要求的結構是顯而易見的。此外,本發明也不針對任何特定程式語言。應當明白,可以利用各種程式語言實現在此描述的本發明的內容,並且上面對特定語言所做的描述是為了披露本發明的最佳實施方式。[0087]在此處所提供的說明書中,說明了大量具體細節。然而,能夠理解,本發明的實施例可以在沒有這些具體細節的情況下實踐。在一些實例中,並未詳細示出公知的方法、結構和技術,以便不模糊對本說明書的理解。[0088]類似地,應當理解,為了精簡本公開並幫助理解各個發明方面中的一個或多個,在上面對本發明的示例性實施例的描述中,本發明的各個特徵有時被一起分組到單個實施例、圖、或者對其的描述中。然而,並不應將該公開的方法解釋成反映如下意圖:即所要求保護的本發明要求比在每個權利要求中所明確記載的特徵更多的特徵。更確切地說,如下面的權利要求書所反映的那樣,發明方面在於少於前面公開的單個實施例的所有特徵。因此,遵循【具體實施方式】的權利要求書由此明確地併入該【具體實施方式】,其中每個權利要求本身都作為本發明的單獨實施例。[0089]本領域那些技術人員可以理解,可以對實施例中的設備中的模塊進行自適應性地改變並且把它們設置在與該實施例不同的一個或多個設備中。可以把實施例中的模塊或單元或組件組合成一個模塊或單元或組件,以及此外可以把它們分成多個子模塊或子單元或子組件。除了這樣的特徵和/或過程或者單元中的至少一些是相互排斥之外,可以採用任何組合對本說明書(包括伴隨的權利要求、摘要和附圖)中公開的所有特徵以及如此公開的任何方法或者設備的所有過程或單元進行組合。除非另外明確陳述,本說明書(包括伴隨的權利要求、摘要和附圖)中公開的每個特徵可以由提供相同、等同或相似目的的替代特徵來代替。[0090]此外,本領域的技術人員能夠理解,儘管在此所述的一些實施例包括其它實施例中所包括的某些特徵而不是其它特徵,但是不同實施例的特徵的組合意味著處於本發明的範圍之內並且形成不同的實施例。例如,在下面的權利要求書中,所要求保護的實施例的任意之一都可以以任意的組合方式來使用。[0091]本發明的各個部件實施例可以以硬體實現,或者以在一個或者多個處理器上運行的軟體模塊實現,或者以它們的組合實現。本領域的技術人員應當理解,可以在實踐中使用微處理器或者數位訊號處理器(DSP)來實現根據本發明實施例的文檔管理系統中的一些或者全部部件的一些或者全部功能。本發明還可以實現為用於執行這裡所描述的方法的一部分或者全部的設備或者裝置程序(例如,電腦程式和電腦程式產品)。這樣的實現本發明的程序可以存儲在計算機可讀介質上,或者可以具有一個或者多個信號的形式。這樣的信號可以從網際網路網站上下載得到,或者在載體信號上提供,或者以任何其他形式提供。[0092]應該注意的是上述實施例對本發明進行說明而不是對本發明進行限制,並且本領域技術人員在不脫離所附權利要求的範圍的情況下可設計出替換實施例。在權利要求中,不應將位於括號之間的任何參考符號構造成對權利要求的限制。單詞「包含」不排除存在未列在權利要求中的元件或步驟。位於元件之前的單詞「一」或「一個」不排除存在多個這樣的元件。本發明可以藉助於包括有若干不同元件的硬體以及藉助於適當編程的計算機來實現。在列舉了若干裝置的單元權利要求中,這些裝置中的若干個可以是通過同一個硬體項來具體體現。單詞第一、第二、以及第三等的使用不表示任何順序。可將這些單詞解釋為名稱。【權利要求】1.一種文檔管理系統,包括文檔處理客戶端和文檔處理伺服器,文檔處理客戶端駐留在代理伺服器中,代理伺服器一方面與應用伺服器通信連接,另一方面與一個或多個計算設備通信連接,計算設備通過代理伺服器與應用伺服器上的應用進行交互,且文檔處理伺服器和計算設備中均駐留有文檔保護客戶端,文檔保護客戶端和文檔保護伺服器通信連接,從而對計算設備中的文檔內容進行透明加解密保護,其中:文檔處理客戶端適於截取代理伺服器接收到的、計算設備發送的數據上傳請求,並將該數據上傳請求發送到文檔處理伺服器;文檔處理伺服器適於接收到文檔處理客戶端發送的數據上傳請求時,通過文檔處理伺服器中的文檔保護客戶端從文檔保護伺服器獲取與計算設備對應的第一密鑰,利用第一密鑰將該數據上傳請求中包括的、計算設備要上傳到應用伺服器的文檔內容進行解密後,利用文檔處理伺服器對應的第二密鑰對解密後的文檔內容進行加密,並將修改後的數據上傳請求發送到文檔處理客戶端;以及文檔處理客戶端接收到文檔處理伺服器發送的修改後的數據上傳請求時,通知代理伺服器將該修改後的數據上傳請求發送到應用伺服器,以供應用伺服器從修改後的數據上傳請求中獲取利用第二密鑰加密的文檔內容並進行存儲。2.如權利要求1所述的文檔管理系統,其中:文檔處理客戶端還適於截取代理伺服器接收到的、應用伺服器發送的針對計算設備的數據下載請求的數據下載響應,並將該數據下載響應發送到文檔處理伺服器;文檔處理伺服器還適於接收到文檔處理客戶端發送的數據下載響應時,利用文檔處理伺服器對應的第二密鑰將該數據下載響應中包括的、計算設備要從應用伺服器下載的文檔內容進行解密後,通過文檔處理伺服器中的文檔保護客戶端從文檔保護伺服器獲取與計算設備對應的第一密鑰,利用第一密鑰對解密後的文檔內容進行加密,並將修改後的數據下載響應發送到文檔處理客戶端;以及文檔處理客戶端接收到文檔處理伺服器發送的修改後的數據下載響應時,通知代理伺服器將該修改後的數據下載響應發送到計算設備,以供計算設備從修改後的數據下載響應中獲取利用第一密鑰加密的文檔內容。3.如權利要求2所述的文檔管理系統,其中,文檔處理伺服器中存儲有應用列表,所述應用列表中包括一個或多個加密應用;文檔處理伺服器利用第二密鑰對文檔內容進行加密/解密前,判斷該文檔內容是否屬於應用列表中加密應用對應的文檔內容,若是,利用第二密鑰對該文檔內容進行加密/解密,否則,不利用第二密鑰對該文檔內容進行加密/解密。4.如權利要求2所述的文檔管理系統,其中,所述數據上傳請求和數據下載請求為http請求,所述數據下載響應為http響應,所述文檔處理客戶端為icap客戶端,所述文檔處理伺服器為icap伺服器。5.如權利要求4所述的文檔管理系統,其中,文檔處理伺服器對文檔內容進行加密/解密後,還根據加密/解密後文檔內容的長度,相應修改http請求頭/http響應頭中的Content-Length欄位。6.一種文檔管理方法,在文檔處理客戶端和文檔處理伺服器中執行,文檔處理客戶端駐留在代理伺服器中,代理伺服器一方面與應用伺服器通信連接,另一方面與一個或多個計算設備通信連接,計算設備通過代理伺服器與應用伺服器上的應用進行交互,且文檔處理伺服器和計算設備中均駐留有文檔保護客戶端,文檔保護客戶端和文檔保護伺服器通信連接,從而對計算設備中的文檔內容進行透明加解密保護,該文檔管理方法包括:文檔處理客戶端截取代理伺服器接收到的、計算設備發送的數據上傳請求,並將該數據上傳請求發送到文檔處理伺服器;文檔處理伺服器接收到文檔處理客戶端發送的數據上傳請求時,通過文檔處理伺服器中的文檔保護客戶端從文檔保護伺服器獲取與計算設備對應的第一密鑰,利用第一密鑰將該數據上傳請求中包括的、計算設備要上傳到應用伺服器的文檔內容進行解密後,利用文檔處理伺服器對應的第二密鑰對解密後的文檔內容進行加密,並將修改後的數據上傳請求發送到文檔處理客戶端;以及文檔處理客戶端接收到文檔處理伺服器發送的修改後的數據上傳請求時,通知代理伺服器將該修改後的數據上傳請求發送到應用伺服器,以供應用伺服器從修改後的數據上傳請求中獲取利用第二密鑰加密的文檔內容並進行存儲。7.如權利要求6所述的文檔管理方法,還包括:文檔處理客戶端截取代理伺服器接收到的、應用伺服器發送的針對計算設備的數據下載請求的數據下載響應,並將該數據下載響應發送到文檔處理伺服器;文檔處理伺服器接收到文檔處理客戶端發送的數據下載響應時,利用文檔處理伺服器對應的第二密鑰將該數據下載響應中包括的、計算設備要從應用伺服器下載的文檔內容進行解密後,通過文檔處理伺服器中的文檔保護客戶端從文檔保護伺服器獲取與計算設備對應的第一密鑰,利用第一密鑰對解密後的文檔內容進行加密,並將修改後的數據下載響應發送到文檔處理客戶端;以及文檔處理客戶端接收到文檔處理伺服器發送的修改後的數據下載響應時,通知代理伺服器將該修改後的數據下載響應發送到計算設備,以供計算設備從修改後的數據下載響應中獲取利用第一密鑰加密的文檔內容。8.如權利要求7所述的文檔管理方法,其中,文檔處理伺服器中存儲有應用列表,所述應用列表中包括一個或多個加密應用;文檔處理伺服器利用第二密鑰對文檔內容進行加密/解密前,判斷該文檔內容是否屬於應用列表中加密應用對應的文檔內容,若是,利用第二密鑰對該文檔內容進行加密/解密,否則,不利用第二密鑰對該文檔內容進行加密/解密。9.如權利要求7所述的文檔管理方法,其中,所述數據上傳請求和數據下載請求為http請求,所述數據下載響應為http響應,所述文檔處理客戶端為icap客戶端,所述文檔處理伺服器為icap伺服器。10.如權利要求9所述的文檔管理方法,其中,文檔處理伺服器對文檔內容進行加密/解密後,還根據加密/解密後文檔內容的長度,相應修改http請求頭/http響應頭中的Content-Length欄位。【文檔編號】H04L29/06GK104348838SQ201410660158【公開日】2015年2月11日申請日期:2014年11月18日優先權日:2014年11月18日【發明者】李景盛申請人:深圳市大成天下信息技術有限公司