一種加密流量數據監控的方法、裝置及系統與流程
2023-06-21 08:47:36

本發明涉及網際網路技術領域,特別是涉及一種加密流量數據監控的方法、裝置及系統。
背景技術:
在現有的瀏覽器訪問各種網站時,是通過超文本傳送協議(Hypertext transfer protocol,簡稱HTTP)來定義瀏覽器如何向網絡伺服器請求網絡內容以及網絡伺服器如何把網絡內容傳送給瀏覽器的。HTTP是面向應用層協議,它是全球資訊網上能夠可靠的交換文件(包括文本、聲音、圖像等各種多媒體文件)的重要基礎。而伴隨著網際網路技術的發展,人們可以通過網絡進行各種活動,如網路遊戲、網上購物、網上看視頻、網上轉帳等。由於人們的日常生活與網絡之間的聯繫越來越緊密,因此如何保護人們在網絡上的各種訪問信息也變得越來越重要。尤其對於網上購物、網上轉帳等情況,就更需要對用戶的訪問信息進行加密保護。
為了使HTTP的使用更加安全,現有技術通過在原有HTTP的基礎上加入安全套接(Secure Sockets Layer,簡稱SSL)層協議構建出HTTPS協議,HTTPS的安全基礎是SSL,用於對訪問相關的詳細信息進行加密,達到安全的HTTP數據傳輸的目的。但是,在現有的區域網管理過程中,對於區域網內的HTTPS流量而言,由於其進行了加密,因此無法獲取到流量的詳細信息,不便於對區域網進行監控與管理。
技術實現要素:
有鑑於此,本發明提出了一種加密流量數據監控的方法、裝置及系統,主要目的在於解決現有技術中無法對區域網內的加密流量數據進行有效監控的問題。
依據本發明的第一個方面,本發明提供一種加密流量數據監控的方法,該方法主要應用於網關側,包括:
在網關側攔截客戶端發送的安全訪問請求;
向客戶端發送對應所述安全訪問請求的偽證書,以便客戶端根據自身預置的偽證書庫對所述偽證書進行驗證;
接收客戶端返回的用於對流量數據進行加密的隨機密鑰;
根據所述隨機密鑰對客戶端發送的加密流量數據解密後進行監控。
依據本發明的第二個方面,本發明提供一種加密流量數據監控的方法,該方法主要應用於客戶端側,包括:
接收網關發送的對應客戶端安全訪問請求的偽證書;
根據預置的偽證書庫對接收的所述偽證書進行驗證;
當對接收的所述偽證書驗證通過後,生成用於對流量數據進行加密的隨機密鑰;
將所述隨機密鑰發送給網關,以便網關根據所述隨機密鑰對加密的流量數據解密後進行監控。
依據本發明的第三個方面,本發明提供一種加密流量數據監控的裝置,該裝置主要位於網關中或者與網關建立有數據交互關係,包括:
攔截單元,用於在網關側攔截客戶端發送的安全訪問請求;
發送單元,用於向客戶端發送對應所述安全訪問請求的偽證書,以便客戶端根據自身預置的偽證書庫對所述偽證書進行驗證;
接收單元,用於接收客戶端返回的用於對流量數據進行加密的隨機密鑰;
處理單元,用於根據所述隨機密鑰對客戶端發送的加密流量數據解密後進行監控。
依據本發明的第四個方面,本發明提供一種加密流量數據監控的裝置,該裝置主要位於客戶端中或者與客戶端建立有數據交互關係,包括:
接收單元,用於接收網關發送的對應客戶端安全訪問請求的偽證書;
驗證單元,用於根據預置的偽證書庫對接收的所述偽證書進行驗證;
生成單元,用於當對接收的所述偽證書驗證通過後,生成用於對流量數據進行加密的隨機密鑰;
發送單元,用於將所述隨機密鑰發送給網關,以便網關根據所述隨機密鑰對加密的流量數據解密後進行監控。
依據本發明的第五個方面,本發明提供一種加密流量數據監控的系統,包括:
網關、客戶端及伺服器,其中,所述網關包含上述第三個方面所述的裝置,所述客戶端包含上述第四個方面所述的裝置。
藉由上述技術方案,本發明實施例提供的一種加密流量數據監控的方法、裝置及系統,能夠在網關側攔截客戶端發送的安全訪問請求,並構建一份對應所述安全訪問請求的偽證書,將偽證書返回給客戶端後,由客戶端根據預置的偽證書庫對偽證書進行驗證,當偽證書驗證通過後,客戶端與網關協商好對流量數據進行加密的密鑰,從而在客戶端後續發送經過加密的流量數據時,能夠在網關側被攔截並解密。與現有技術中當區域網內使用HTTPS協議進行訪問請求時,由於無法獲知訪問請求的流量數據的具體內容,導致無法對區域網內客戶端的日常操作進行監控的缺陷相比,本發明能夠對區域網內進出的加密流量數據進行還原,便於對區域網進行有效的監控與管理。
上述說明僅是本發明技術方案的概述,為了能夠更清楚了解本發明的技術手段,而可依照說明書的內容予以實施,並且為了讓本發明的上述和其它目的、特徵和優點能夠更明顯易懂,以下特舉本發明的具體實施方式。
附圖說明
通過閱讀下文優選實施方式的詳細描述,各種其他的優點和益處對於本領域普通技術人員將變得清楚明了。附圖僅用於示出優選實施方式的目的,而並不認為是對本發明的限制。而且在整個附圖中,用相同的參考符號表示相同的部件。在附圖中:
圖1示出了本發明實施例提供的一種加密流量數據監控的方法的流程圖;
圖2示出了本發明實施例提供的另一種加密流量數據監控的方法的流程圖;
圖3示出了本發明實施例提供的一種加密流量數據監控的裝置的組成框圖;
圖4示出了本發明實施例提供的一種加密流量數據監控的裝置的組成框圖;
圖5示出了本發明實施例提供的一種加密流量數據監控的裝置的組成框圖;
圖6示出了本發明實施例提供的一種加密流量數據監控的裝置的組成框圖;
圖7示出了本發明實施例提供的一種加密流量數據監控的系統的示意圖。
具體實施方式
下面將參照附圖更加詳細地描述本公開的示例性實施例。雖然附圖中顯示了本公開的示例性實施例,然而應當理解,可以以各種形式實現本公開而不應被這裡闡述的實施例所限制。相反,提供這些實施例是為了能夠更透徹地理解本公開,並且能夠將本公開的範圍完整的傳達給本領域的技術人員。
現有的HTTPS協議是由SSL和HTTP協議構建的可進行加密傳輸、身份認證的網絡協議,使用HTTPS傳輸的流量數據都是進行加密傳輸的,如果在區域網內進出的流量都為HTTPS流量時,由於無法獲知這些流量的加密數據,因此不便於對區域網進行有效的管理。
為了解決上述問題,本發明實施例提供了一種加密流量數據監控的方法,能夠針對區域網內HTTPS加密流量數據進行還原並監控,從而對區域網的網絡安全進行有效管理。該方法主要應用於網關側,如圖1所示,該方法包括:
101、在網關側攔截客戶端發送的安全訪問請求。
通常用戶在訪問某些網站如購物網站或者銀行及金融機構的網站時,為了保護用戶的訪問信息不被惡意截獲並利用,網站往往會使用HTTPS協議來與用戶的客戶端進行信息傳遞。採用HTTPS的網站伺服器必須從證書管理機構(Certificate Authority,簡稱CA)申請一個用於證明伺服器用途類型的證書,只有網站伺服器的證書被客戶端驗證通過後,才能確定客戶端訪問的網站是安全的。由於HTTPS協議是由HTTP協議與SSL構建的可進行加密傳輸、身份認證的網絡協議,因此客戶端使用HTTPS:URL連接到網站時,需要驗證網站的證書,當網站證書驗證通過後,客戶端就會與網站之間進行加密的流量數據傳輸。但是,在需要進行監管的區域網內,如果客戶端發送的安全訪問請求,也就是客戶端向網站發送的HTTPS:URL順利的經過上述一系列過程,那麼管理員將無法獲取流量數據的明文信息,從而無法對區域網內客戶端的操作進行監管。因此,為了監控區域網內進出的加密流量數據,本發明首先需要執行步驟101在網關側攔截客戶端發送的安全訪問請求。
102、向客戶端發送對應安全訪問請求的偽證書,以便客戶端根據自身預置的偽證書庫對所述偽證書進行驗證。
由於客戶端與網站進行安全的數據交互時,也就是它們之間使用HTTPS協議傳輸數據時,網站需要向客戶端發送證書,以便客戶端對該證書進行驗證,只有在該證書被驗證通過後,客戶端才會與網站之間協商一個對流量數據進行加密的密鑰,並使用該密鑰加密客戶端與網站之間交互的數據信息。因此,為了對區域網內客戶端的操作進行監管,就需要對客戶端發送的加密流量數據進行還原,而還原加密流量數據就需要獲取加密使用的密鑰。由於客戶端在對網站發送的證書認證通過後,會與網站協商一個對流量數據進行加密的密鑰。因此,要獲取該密鑰就需要與客戶端私自建立一個證書的認證過程。由於本發明實施例在步驟101中已經在網關側攔截了客戶端發送的安全訪問請求,網站沒有收到該安全訪問請求就不會向客戶端發送自己擁有的證書,因此在步驟101之後,本發明實施例需要執行步驟102向客戶端發送對應安全訪問請求的偽證書,以便客戶端根據自身預置的偽證書庫對所述偽證書進行驗證。
103、接收客戶端返回的用於對流量數據進行加密的隨機密鑰。
當在步驟102中將對應安全訪問請求的偽證書發送給客戶端後,客戶端會對該偽證書進行驗證,在驗證該偽證書時是通過預先安裝在客戶端內的偽證書庫進行驗證的,當網關發送的偽證書位於客戶端內的偽證書庫中時,客戶端認為該偽證書的擁有者是安全的,並會與偽證書的擁有者協商一個密鑰,用來對它們之間的傳輸數據進行加密。由於本發明實施例中客戶端預置的偽證書庫是針對性的安裝的,因此步驟102中網關發送給客戶端的偽證書一定會被客戶端認證通過。由此,在步驟102之後,會執行步驟103接收客戶端返回的用於對流量數據進行加密的隨機密鑰。
104、根據隨機密鑰對客戶端發送的加密流量數據解密後進行監控。
當在步驟103中接收到客戶端返回的用於對流量數據進行加密的隨機密鑰之後,就可以執行步驟104根據隨機密鑰對客戶端發送的加密流量數據解密後進行監控。
進一步的,本發明實施例還提供了一種加密流量數據監控的方法,該方法主要應用於客戶端側,如圖2所示,該方法包括:
201、接收網關發送的對應客戶端安全訪問請求的偽證書。
當客戶端訪問網站時,需要向網站發送訪問請求,在本發明實施例中為安全訪問請求,隨後客戶端會收到網站返回的證書,並對證書進行驗證。但是在本發明實施例中,為了對進出區域網的加密流量數據進行監控,會在網關側攔截客戶端發出的安全訪問請求,並根據該安全訪問請求對應的信息構建一個偽證書並發送給客戶端。而區域網內的客戶端是不知道其發送的安全訪問請求已經被攔截,客戶端只要收到返回的證書後,就會對證書進行驗證。因此,在客戶端一側需要執行步驟201接收網關發送的對應客戶端安全訪問請求的偽證書。
202、根據預置的偽證書庫對接收的偽證書進行驗證。
由於本發明實施例為了監控區域網內進出的加密流量數據,因此會預先在區域網內的客戶端中預置偽證書庫。當客戶端接收到網關發送的偽證書後,就需要對該偽證書進行驗證。具體的是在預置的偽證書庫中查找是否存在網關發送的偽證書的。若預置的偽證書庫中存在網關發送的偽證書,則客戶端認為與該偽證書的擁有者進行通信是安全的。
203、當對接收的偽證書驗證通過後,生成用於對流量數據進行加密的隨機密鑰。
當客戶端通過步驟202對網關發送的偽證書驗證通過後,就會生成一個隨機密鑰,並使用該隨機密鑰對與網站之間傳遞的流量數據進行加密。
204、將隨機密鑰發送給網關,以便網關根據所述隨機密鑰對加密的流量數據解密後進行監控。
當客戶端生成對流量數據進行加密的隨機密鑰之後,就會將該隨機密鑰發送給驗證通過的偽證書的擁有者,並在隨後的通信中使用該隨機密鑰對傳遞的數據信息進行加密,而偽證書的擁有者在收到客戶端發送的隨機密鑰後,就可以使用該隨時密鑰來獲取加密流量數據的明文信息,從而能夠加密流量數據進行監控。
本發明實施例提供的一種加密流量數據監控的方法,能夠在網關側攔截客戶端發送的安全訪問請求,並構建一份對應所述安全訪問請求的偽證書,將偽證書返回給客戶端後,由客戶端根據預置的偽證書庫對偽證書進行驗證,當偽證書驗證通過後,客戶端與網關協商好對流量數據進行加密的密鑰,從而在客戶端後續發送經過加密的流量數據時,能夠在網關側被攔截並解密。與現有技術中當區域網內使用HTTPS協議進行訪問請求時,由於無法獲知訪問請求的流量數據的具體內容,導致無法對區域網內客戶端的日常操作進行監控的缺陷相比,本發明能夠對區域網內進出的加密流量數據進行還原,便於對區域網進行有效的監控與管理。
為了更好的對上述圖1及圖2所示的方法進行理解,作為對上述實施方式的細化和擴展,本發明實施例將結合圖1及圖2的步驟進行詳細說明。
本發明實施例為了監控區域網內進出的加密流量數據,需要在網關側對客戶端發送給網站的流量進行攔截,阻斷客戶端與網站之間的正常通信,也就是在網關側設立一個代理層,代理層對客戶端與網站之間的傳遞信息進行中轉,在中轉過程中能夠對客戶端與網站之間的加密流量數據進行還原。具體的,在客戶端與網站伺服器進行正常通信的情況下,客戶端向網站發送HTTPS的安全訪問請求時,客戶端的瀏覽器會向網站伺服器傳送客戶端SSL協議的版本號、加密算法的種類、產生的隨機數以及其他伺服器和客戶端之間通信所需要的各種信息;而且在正常情況下,伺服器也會向客戶端傳送SSL協議的版本號、加密算法的種類、隨機數以及其他相關信息,同時伺服器還將向客戶端傳送自己的證書。因此,本發明實施例在網關側攔截客戶端發送的安全訪問請求後,就會截獲網站伺服器和客戶端之間通信所需要的各種信息,並根據這些信息構建出一個客戶端所要訪問伺服器的偽證書,也就是與客戶端發送的安全訪問請求對應的偽證書;網關內的代理層構建了偽證書後,就會代替網站伺服器將該偽證書發送給客戶端,以便客戶端對該偽證書進行驗證。
具體的在執行上述過程時,可以在網關側的代理層建立一個偽的證書頒發機構,用於給網站頒發自籤名證書,例如當區域網內客戶端訪問淘寶網站時,其訪問請求會經過網關側進行傳遞,此時,網關會根據訪問請求中有關淘寶網站的信息,抽取TLS協議(TLS建立在SSL3.0協議規範之上,是SSL3.0的後續版本)數據包,由於TLS協議中的記錄協議可能包含長度、描述和內容等欄位,並且記錄協議也可以不加密使用,因此可以對抽取的TLS協議數據包進行拆解,根據拆解後得到的信息偽造一個淘寶證書,將偽造的證書返回給客戶端,以便客戶端對該偽證書進行驗證。
當客戶端收到網關發送的偽證書後,就需要對偽證書進行驗證。由於本發明實施例為了監控區域網內進出的加密流量數據,必須要確保客戶端能夠將網關發送的偽證書驗證通過,因此就需要提前在客戶端中預置偽證書庫,並通過預置的偽證書庫對網關發送的偽證書進行驗證。客戶端只有在驗證偽證書正確後,才能確定該偽證書的發送者也就是偽證書擁有者是可信的,可以與其協商密鑰並進行後續的數據傳輸。具體的,客戶端對偽證書的驗證包括:偽證書是否過期,偽證書的發行者是否可靠,發行者證書的公鑰能否正確解開偽證書的「發行者數字籤名」等。如果合法性沒有通過驗證,則通信將斷開;如果合法性通過驗證,則會與偽證書的發送者協商密鑰用於對流量數據進行加密。
由於本發明實施例在網關側設置了具有偽證書頒發機構的代理層,並且在客戶端中預置了偽證書庫,這些操作都是人為設定的,目的是為了讓網關發送的偽證書能夠順利通過客戶端的驗證。因此,上述驗證偽證書是否過期這一過程可以在設置偽證書庫的過程中就予以規避。因此,本發明實施例中的客戶端在驗證網關發送的偽證書時,主要就是驗證偽證書的發行者(代理層的偽證書頒發機構)是否可靠,發行者證書(網關側根證書)的公鑰能否正確解開偽證書的「發行者數字籤名」。由於根證書是CA認證中心給自己頒發的證書,是信任鏈的起始點。根證書是一份特殊的證書,它的籤發者是它本身,下載根證書就表示對該根證書以下所籤發的證書都表示信任。而本發明實施例中代理層的偽證書頒發機構在構建偽證書時,是通過網關側的根證書對偽證書進行籤名的。因此,客戶端需要先安裝網關側的根證書,安裝了根證書,就證明客戶端信任偽證書的發行者(代理層的偽證書頒發機構);當客戶端安裝了網關側的根證書後,就可以使用根證書的公鑰對網關發送的偽證書的籤名進行驗證,驗證通過後就可以將該偽證書在預置的偽證書庫中進行校驗,當確定該偽證書位於預置的偽證書庫中時,客戶端會認為該偽證書的擁有者是安全的,可以與之進行通信。
當客戶端對網關發送的偽證書的驗證通過後,就會隨機產生一個用於後續與伺服器進行通信的隨機密鑰,該隨機密鑰用於對通信的流量數據進行加密。由於該隨機密鑰也需要一同傳送給伺服器,以便伺服器利用該隨機密鑰對返回給客戶端的數據進行加密,因此,為了確保該隨機密鑰的安全性,客戶端還需要將該隨機密鑰進行加密後才能傳送給伺服器。由於本發明實施例中客戶端不知道其接收的偽證書是由網關發送的,因此客戶端還是會將加密後的隨機密鑰傳送給網關。具體的,在對隨機密鑰進行加密時,客戶端會使用網關發送的偽證書中包含的公共密鑰對隨機密鑰進行加密。由於偽證書是由網關側的代理層發送的,因此,網關側會唯一保留有對應偽證書中的公共密鑰的私有密鑰。
當網關接收到客戶端返回的經過偽證書中的公共密鑰進行加密的隨機密鑰後,就會使用與公共密鑰對應的私有密鑰對加密的隨機密鑰進行解密。其中,公共密鑰加密的數據只能用對應的私有密鑰進行解密,並且私有密鑰只在發送偽證書的網關側保留。當網關獲得隨機密鑰後,就能夠使用該隨機密鑰對客戶端發送的加密流量數據進行解密還原,從而能夠對區域網內進出的加密流量數據進行監控。這裡需要說明的是,本發明實施例中對流量數據進行加密的隨機密鑰可以為隨機產生的對稱密鑰。
由於本發明實施例在網關側將客戶端發送的安全訪問請求進行了攔截,並使用網關側的代理層私自向客戶端返回了一個經過根證書籤名的偽證書,使客戶端誤以為該偽證書是由網站伺服器發送的,因此客戶端會對該偽證書進行驗證;並且由於客戶端內預置了偽證書庫以及預先安裝了網關側的根證書,因此客戶端通過根證書會將網關發送的偽證書驗證通過,當客戶端對驗證通過的偽證書進行校驗發現其位於偽證書庫之後,就可以與網關協商對流量數據進行加密的隨機密鑰,並將使用偽證書內的公共密鑰對該隨機密鑰進行加密後發送給網關,網關接收到經過加密的隨機密鑰之後,會使用與所述公共密鑰對應的私有密鑰進行解密得到該隨機密鑰,從而使用該隨機密鑰對後續客戶端發送的加密流量數據進行解密還原,實現對區域網進出的加密流量數據的有效監控。
進一步的,作為對上述圖1所示方法的實現,本發明實施例提供了一種加密流量數據監控的裝置,該裝置主要位於網關中或者與網關建立有數據交互關係,如圖3所示,該裝置包括:攔截單元31、發送單元32、接收單元33及處理單元34,其中,
攔截單元31,用於在網關側攔截客戶端發送的安全訪問請求;
發送單元32,用於向客戶端發送對應所述安全訪問請求的偽證書,以便客戶端根據自身預置的偽證書庫對所述偽證書進行驗證;
接收單元33,用於接收客戶端返回的用於對流量數據進行加密的隨機密鑰;
處理單元34,用於根據所述隨機密鑰對客戶端發送的加密流量數據解密後進行監控。
進一步的,如圖4所示,發送單元32包括:
提取模塊321,用於提取所述安全訪問請求的協議數據包;
構建模塊322,用於根據所述協議數據包中的數據信息構建與所述安全訪問請求對應的偽證書;
發送模塊323,用於將構建的所述偽證書發送給客戶端。
進一步的,接收單元33用於當所述偽證書被客戶端驗證通過後,接收客戶端返回的經過加密的隨機密鑰。
進一步的,接收單元33用於接收客戶端返回的經過所述偽證書中包含的公共密鑰進行加密的隨機密鑰。
進一步的,如圖4所示,處理單元34包括:
第一解密模塊341,用於根據與所述偽證書中包含的公共密鑰相對應的私有密鑰對經過加密的隨機密鑰進行解密,所述私有密鑰唯一保留在網關側;
第二解密模塊342,用於使用解密後得到的隨機密鑰對客戶端發送的加密流量數據解密後進行監控。
進一步的,作為對上述圖2所示方法的實現,本發明實施例提供了一種加密流量數據監控的裝置,該裝置主要位於客戶端中或者與客戶端建立有數據交互關係,如圖5所示,該裝置包括:接收單元51、驗證單元52、生成單元53及發送單元54,其中,
接收單元51,用於接收網關發送的對應客戶端安全訪問請求的偽證書;
驗證單元52,用於根據預置的偽證書庫對接收的所述偽證書進行驗證;
生成單元53,用於當對接收的所述偽證書驗證通過後,生成用於對流量數據進行加密的隨機密鑰;
發送單元54,用於將所述隨機密鑰發送給網關,以便網關根據所述隨機密鑰對加密的流量數據解密後進行監控。
進一步的,如圖6所示,驗證單元52包括:
安裝模塊521,用於安裝網關側的根證書;
驗證模塊522,用於通過所述根證書對網關發送的所述偽證書的籤名進行驗證;
校驗模塊523,用於將驗證通過的所述偽證書在預置的偽證書庫中進行校驗,確定所述偽證書是否位於預置的偽證書庫中。
進一步的,如圖6所示,生成單元53包括:
生成模塊531,用於生成對流量數據進行加密的隨機密鑰;
加密模塊532,用於對所述隨機密鑰進行加密。
進一步的,加密模塊532使用所述偽證書中包含的公共密鑰對所述隨機密鑰進行加密。
進一步的,發送單元54用於將使用所述公共密鑰進行加密的隨機密鑰發送給網關,以便網關根據與所述公共密鑰相對應的私有密鑰對加密的隨機密鑰進行解密,並使用解密後得到的隨機密鑰對加密流量數據解密後進行監控,所述私有密鑰唯一保留在網關側。
本發明實施例提供的一種加密流量數據監控的裝置,能夠在網關側攔截客戶端發送的安全訪問請求,並構建一份對應所述安全訪問請求的偽證書,將偽證書返回給客戶端後,由客戶端根據預置的偽證書庫對偽證書進行驗證,當偽證書驗證通過後,客戶端與網關協商好對流量數據進行加密的密鑰,從而在客戶端後續發送經過加密的流量數據時,能夠在網關側被攔截並解密。與現有技術中當區域網內使用HTTPS協議進行訪問請求時,由於無法獲知訪問請求的流量數據的具體內容,導致無法對區域網內客戶端的日常操作進行監控的缺陷相比,本發明能夠對區域網內進出的加密流量數據進行還原,便於對區域網進行有效的監控與管理。
此外,由於本發明實施例提供的裝置在網關側將客戶端發送的安全訪問請求進行了攔截,並使用網關側的代理層私自向客戶端返回了一個經過根證書籤名的偽證書,使客戶端誤以為該偽證書是由網站伺服器發送的,因此客戶端會對該偽證書進行驗證;並且由於客戶端內預置了偽證書庫以及預先安裝了網關側的根證書,因此客戶端通過根證書會將網關發送的偽證書驗證通過,當客戶端對驗證通過的偽證書進行校驗發現其位於偽證書庫之後,就可以與網關協商對流量數據進行加密的隨機密鑰,並將使用偽證書內的公共密鑰對該隨機密鑰進行加密後發送給網關,網關接收到經過加密的隨機密鑰之後,會使用與所述公共密鑰對應的私有密鑰進行解密得到該隨機密鑰,從而使用該隨機密鑰對後續客戶端發送的加密流量數據進行解密還原,實現對區域網進出的加密流量數據的有效監控。
進一步的,作為對上述圖1及圖2所示方法的實現,以及對上述圖3、圖4以及圖5、圖6的應用,本發明實施例提供了一種加密流量數據監控的系統,如圖7所示,該系統包括:網關71、客戶端72及伺服器73;其中,網關71包含上述圖3或圖4所示的裝置;客戶端72包含上述圖5或圖6所示的裝置。
本發明實施例提供的一種加密流量數據監控的系統,能夠在網關側攔截客戶端發送的安全訪問請求,並構建一份對應所述安全訪問請求的偽證書,將偽證書返回給客戶端後,由客戶端根據預置的偽證書庫對偽證書進行驗證,當偽證書驗證通過後,客戶端與網關協商好對流量數據進行加密的密鑰,從而在客戶端後續發送經過加密的流量數據時,能夠在網關側被攔截並解密。與現有技術中當區域網內使用HTTPS協議進行訪問請求時,由於無法獲知訪問請求的流量數據的具體內容,導致無法對區域網內客戶端的日常操作進行監控的缺陷相比,本發明能夠對區域網內進出的加密流量數據進行還原,便於對區域網進行有效的監控與管理。
此外,由於本發明實施例提供的系統在網關側將客戶端發送的安全訪問請求進行了攔截,並使用網關側的代理層私自向客戶端返回了一個經過根證書籤名的偽證書,使客戶端誤以為該偽證書是由網站伺服器發送的,因此客戶端會對該偽證書進行驗證;並且由於客戶端內預置了偽證書庫以及預先安裝了網關側的根證書,因此客戶端通過根證書會將網關發送的偽證書驗證通過,當客戶端對驗證通過的偽證書進行校驗發現其位於偽證書庫之後,就可以與網關協商對流量數據進行加密的隨機密鑰,並將使用偽證書內的公共密鑰對該隨機密鑰進行加密後發送給網關,網關接收到經過加密的隨機密鑰之後,會使用與所述公共密鑰對應的私有密鑰進行解密得到該隨機密鑰,從而使用該隨機密鑰對後續客戶端發送的加密流量數據進行解密還原,實現對區域網進出的加密流量數據的有效監控。
本發明的實施例公開了:
A1、一種加密流量數據監控的方法,其特徵在於,所述方法包括:
在網關側攔截客戶端發送的安全訪問請求;
向客戶端發送對應所述安全訪問請求的偽證書,以便客戶端根據自身預置的偽證書庫對所述偽證書進行驗證;
接收客戶端返回的用於對流量數據進行加密的隨機密鑰;
根據所述隨機密鑰對客戶端發送的加密流量數據解密後進行監控。
A2、根據A1所述的方法,其特徵在於,所述向客戶端發送對應所述安全訪問請求的偽證書包括:
提取所述安全訪問請求的協議數據包;
根據所述協議數據包中的數據信息構建與所述安全訪問請求對應的偽證書;
將構建的所述偽證書發送給客戶端。
A3、根據A1所述的方法,其特徵在於,所述接收客戶端返回的用於對流量數據進行加密的隨機密鑰包括:
當所述偽證書被客戶端驗證通過後,接收客戶端返回的經過加密的隨機密鑰。
A4、根據A3所述的方法,其特徵在於,所述接收客戶端返回的經過加密的隨機密鑰包括:
接收客戶端返回的經過所述偽證書中包含的公共密鑰進行加密的隨機密鑰。
A5、根據A4所述的方法,其特徵在於,所述根據所述隨機密鑰對客戶端發送的加密流量數據解密後進行監控包括:
根據與所述偽證書中包含的公共密鑰相對應的私有密鑰對經過加密的隨機密鑰進行解密,所述私有密鑰唯一保留在網關側;
使用解密後得到的隨機密鑰對客戶端發送的加密流量數據解密後進行監控。
A6、根據A1-5中任一項所述的方法,其特徵在於,所述用於對流量數據進行加密的隨機密鑰為隨機對稱密鑰。
B7、一種加密流量數據監控的方法,其特徵在於,所述方法包括:
接收網關發送的對應客戶端安全訪問請求的偽證書;
根據預置的偽證書庫對接收的所述偽證書進行驗證;
當對接收的所述偽證書驗證通過後,生成用於對流量數據進行加密的隨機密鑰;
將所述隨機密鑰發送給網關,以便網關根據所述隨機密鑰對加密的流量數據解密後進行監控。
B8、根據B7所述的方法,其特徵在於,所述根據預置的偽證書庫對接收的所述偽證書進行驗證包括:
安裝網關側的根證書;
通過所述根證書對網關發送的所述偽證書的籤名進行驗證;
將驗證通過的所述偽證書在預置的偽證書庫中進行校驗,確定所述偽證書是否位於預置的偽證書庫中。
B9、根據B7所述的方法,其特徵在於,所述生成用於對流量數據進行加密的隨機密鑰包括:
生成用於對流量數據進行加密的隨機密鑰,並對所述隨機密鑰進行加密。
B10、根據B9所述的方法,其特徵在於,所述對所述隨機密鑰進行加密包括:
使用所述偽證書中包含的公共密鑰對所述隨機密鑰進行加密。
B11、根據B10所述的方法,其特徵在於,所述將所述隨機密鑰發送給網關,以便網關根據所述隨機密鑰對加密的流量數據解密後進行監控包括:
將使用所述公共密鑰進行加密的隨機密鑰發送給網關,以便網關根據與所述公共密鑰相對應的私有密鑰對加密的隨機密鑰進行解密,並使用解密後得到的隨機密鑰對加密流量數據解密後進行監控,所述私有密鑰唯一保留在網關側。
B12、根據B7-11所述的方法,其特徵在於,所述用於對流量數據進行加密的隨機密鑰為隨機對稱密鑰。
C13、一種加密流量數據監控的裝置,其特徵在於,所述裝置包括:
攔截單元,用於在網關側攔截客戶端發送的安全訪問請求;
發送單元,用於向客戶端發送對應所述安全訪問請求的偽證書,以便客戶端根據自身預置的偽證書庫對所述偽證書進行驗證;
接收單元,用於接收客戶端返回的用於對流量數據進行加密的隨機密鑰;
處理單元,用於根據所述隨機密鑰對客戶端發送的加密流量數據解密後進行監控。
C14、根據C13所述的裝置,其特徵在於,所述發送單元包括:
提取模塊,用於提取所述安全訪問請求的協議數據包;
構建模塊,用於根據所述協議數據包中的數據信息構建與所述安全訪問請求對應的偽證書;
發送模塊,用於將構建的所述偽證書發送給客戶端。
C15、根據C13所述的裝置,其特徵在於,所述接收單元用於當所述偽證書被客戶端驗證通過後,接收客戶端返回的經過加密的隨機密鑰。
C16、根據C15所述的裝置,其特徵在於,所述接收單元用於接收客戶端返回的經過所述偽證書中包含的公共密鑰進行加密的隨機密鑰。
C17、根據C16所述的裝置,其特徵在於,所述處理單元包括:
第一解密模塊,用於根據與所述偽證書中包含的公共密鑰相對應的私有密鑰對經過加密的隨機密鑰進行解密,所述私有密鑰唯一保留在網關側;
第二解密模塊,用於使用解密後得到的隨機密鑰對客戶端發送的加密流量數據解密後進行監控。
D18、一種加密流量數據監控的裝置,其特徵在於,所述裝置包括:
接收單元,用於接收網關發送的對應客戶端安全訪問請求的偽證書;
驗證單元,用於根據預置的偽證書庫對接收的所述偽證書進行驗證;
生成單元,用於當對接收的所述偽證書驗證通過後,生成用於對流量數據進行加密的隨機密鑰;
發送單元,用於將所述隨機密鑰發送給網關,以便網關根據所述隨機密鑰對加密的流量數據解密後進行監控。
D19、根據D18所述的裝置,其特徵在於,所述驗證單元包括:
安裝模塊,用於安裝網關側的根證書;
驗證模塊,用於通過所述根證書對網關發送的所述偽證書的籤名進行驗證;
校驗模塊,用於將驗證通過的所述偽證書在預置的偽證書庫中進行校驗,確定所述偽證書是否位於預置的偽證書庫中。
D20、根據D18所述的裝置,其特徵在於,所述生成單元包括:
生成模塊,用於生成對流量數據進行加密的隨機密鑰;
加密模塊,用於對所述隨機密鑰進行加密。
D21、根據D20所述的裝置,其特徵在於,所述加密模塊使用所述偽證書中包含的公共密鑰對所述隨機密鑰進行加密。
D22、根據D21所述的裝置,其特徵在於,所述發送單元用於將使用所述公共密鑰進行加密的隨機密鑰發送給網關,以便網關根據與所述公共密鑰相對應的私有密鑰對加密的隨機密鑰進行解密,並使用解密後得到的隨機密鑰對加密流量數據解密後進行監控,所述私有密鑰唯一保留在網關側。
E23、一種加密流量數據監控的系統,其特徵在於,所述系統包括:
網關、客戶端及伺服器;其中,
所述網關包含上述C13-17中任一項所述的裝置;
所述客戶端包含上述D18-22中任一項所述的裝置。
在上述實施例中,對各個實施例的描述都各有側重,某個實施例中沒有詳述的部分,可以參見其他實施例的相關描述。
可以理解的是,上述方法及裝置中的相關特徵可以相互參考。另外,上述實施例中的「第一」、「第二」等是用於區分各實施例,而並不代表各實施例的優劣。
所屬領域的技術人員可以清楚地了解到,為描述的方便和簡潔,上述描述的系統,裝置和單元的具體工作過程,可以參考前述方法實施例中的對應過程,在此不再贅述。
在此提供的算法和顯示不與任何特定計算機、虛擬系統或者其它設備固有相關。各種通用系統也可以與基於在此的示教一起使用。根據上面的描述,構造這類系統所要求的結構是顯而易見的。此外,本發明也不針對任何特定程式語言。應當明白,可以利用各種程式語言實現在此描述的本發明的內容,並且上面對特定語言所做的描述是為了披露本發明的最佳實施方式。
在此處所提供的說明書中,說明了大量具體細節。然而,能夠理解,本發明的實施例可以在沒有這些具體細節的情況下實踐。在一些實例中,並未詳細示出公知的方法、結構和技術,以便不模糊對本說明書的理解。
類似地,應當理解,為了精簡本公開並幫助理解各個發明方面中的一個或多個,在上面對本發明的示例性實施例的描述中,本發明的各個特徵有時被一起分組到單個實施例、圖、或者對其的描述中。然而,並不應將該公開的方法解釋成反映如下意圖:即所要求保護的本發明要求比在每個權利要求中所明確記載的特徵更多的特徵。更確切地說,如下面的權利要求書所反映的那樣,發明方面在於少於前面公開的單個實施例的所有特徵。因此,遵循具體實施方式的權利要求書由此明確地併入該具體實施方式,其中每個權利要求本身都作為本發明的單獨實施例。
本領域那些技術人員可以理解,可以對實施例中的設備中的模塊進行自適應性地改變並且把它們設置在與該實施例不同的一個或多個設備中。可以把實施例中的模塊或單元或組件組合成一個模塊或單元或組件,以及此外可以把它們分成多個子模塊或子單元或子組件。除了這樣的特徵和/或過程或者單元中的至少一些是相互排斥之外,可以採用任何組合對本說明書(包括伴隨的權利要求、摘要和附圖)中公開的所有特徵以及如此公開的任何方法或者設備的所有過程或單元進行組合。除非另外明確陳述,本說明書(包括伴隨的權利要求、摘要和附圖)中公開的每個特徵可以由提供相同、等同或相似目的的替代特徵來代替。
此外,本領域的技術人員能夠理解,儘管在此所述的一些實施例包括其它實施例中所包括的某些特徵而不是其它特徵,但是不同實施例的特徵的組合意味著處於本發明的範圍之內並且形成不同的實施例。例如,在下面的權利要求書中,所要求保護的實施例的任意之一都可以以任意的組合方式來使用。
本發明的各個部件實施例可以以硬體實現,或者以在一個或者多個處理器上運行的軟體模塊實現,或者以它們的組合實現。本領域的技術人員應當理解,可以在實踐中使用微處理器或者數位訊號處理器(DSP)來實現根據本發明實施例的發明名稱(如確定網站內連結等級的裝置)中的一些或者全部部件的一些或者全部功能。本發明還可以實現為用於執行這裡所描述的方法的一部分或者全部的設備或者裝置程序(例如,電腦程式和電腦程式產品)。這樣的實現本發明的程序可以存儲在計算機可讀介質上,或者可以具有一個或者多個信號的形式。這樣的信號可以從網際網路網站上下載得到,或者在載體信號上提供,或者以任何其他形式提供。
應該注意的是上述實施例對本發明進行說明而不是對本發明進行限制,並且本領域技術人員在不脫離所附權利要求的範圍的情況下可設計出替換實施例。在權利要求中,不應將位於括號之間的任何參考符號構造成對權利要求的限制。單詞「包含」不排除存在未列在權利要求中的元件或步驟。位於元件之前的單詞「一」或「一個」不排除存在多個這樣的元件。本發明可以藉助於包括有若干不同元件的硬體以及藉助於適當編程的計算機來實現。在列舉了若干裝置的單元權利要求中,這些裝置中的若干個可以是通過同一個硬體項來具體體現。單詞第一、第二、以及第三等的使用不表示任何順序。可將這些單詞解釋為名稱。