專(zhuān)利名稱(chēng):安全代理通道復(fù)用方法和安全代理通道復(fù)用服務(wù)器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)通信技術(shù),特別涉及基于SSL協(xié)議的HTTP協(xié)議應(yīng)用代理技術(shù)。
背景技術(shù):
SSL(Secure Socket Layer)是netscape公司設(shè)計(jì)的主要用于WEB的安全傳輸協(xié)議。SSL是一個(gè)介于HTTP協(xié)議與TCP之間的一個(gè)可選層,在TCP之上建立了一個(gè)加密通道,通過(guò)這一層的數(shù)據(jù)經(jīng)過(guò)了加密,實(shí)現(xiàn)保密的效果。
HTTP瀏覽器在向WEB服務(wù)器發(fā)起一個(gè)頁(yè)面請(qǐng)求時(shí),在瀏覽器與WEB服務(wù)器之間可能會(huì)創(chuàng)建多條TCP連接,以縮短頁(yè)面的響應(yīng)時(shí)間,如圖1所示。
當(dāng)HTTP瀏覽器通過(guò)代理的方式訪問(wèn)WEB服務(wù)器時(shí),同樣在瀏覽器與代理客戶端之間、代理客戶端與代理服務(wù)器之間、代理服務(wù)器與WEB服務(wù)器之間也會(huì)存在多條TCP連接。當(dāng)在代理客戶端與代理服務(wù)器之間使用SSL協(xié)議時(shí),就會(huì)創(chuàng)建多條基于SSL協(xié)議的安全通道,如圖2所示。由于在使用SSL協(xié)議創(chuàng)建一條新的連接的開(kāi)銷(xiāo)比較大,有時(shí)會(huì)比真正需要傳輸?shù)臄?shù)據(jù)還要大,因此這種處理方式具有較大的弊端,增加了網(wǎng)絡(luò)的流量并且增加了客戶端的響應(yīng)時(shí)間。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問(wèn)題是,提供一種通道復(fù)用技術(shù),能夠?qū)崿F(xiàn)低開(kāi)銷(xiāo)、對(duì)終端用戶透明并具有較高傳輸速度的方法。
本發(fā)明解決所述技術(shù)問(wèn)題采用的技術(shù)方案是提供一種安全代理通道復(fù)用方法,包括以下步驟a、代理客戶端與代理服務(wù)器建立第一類(lèi)連接;b、瀏覽器通過(guò)第一類(lèi)連接提供的安全隧道與WEB服務(wù)器建立第二類(lèi)連接;所述步驟b中,第一類(lèi)連接以復(fù)用的方式傳遞瀏覽器與WEB服務(wù)器之間的第二類(lèi)連接。
所述第一類(lèi)連接為基于SSL的安全連接,所述第二類(lèi)連接為瀏覽器與WEB服務(wù)器之間的TCP連接。所述第一類(lèi)連接提供子通道,所述第二類(lèi)連接由所述子通道傳遞。步驟b包括b1、代理客戶端收到瀏覽器發(fā)出的建立一個(gè)第二類(lèi)連接的HTTP請(qǐng)求時(shí),尋找一個(gè)空閑的子通道,以所述子通道傳遞所述第二類(lèi)連接的數(shù)據(jù)包和該子通道號(hào)到代理服務(wù)器,并記錄子通道號(hào)——該第二類(lèi)連接的socket號(hào)之間的映射表,對(duì)該請(qǐng)求進(jìn)行加復(fù)用;b2、代理服務(wù)器收到從代理客戶端發(fā)來(lái)的數(shù)據(jù),進(jìn)行去復(fù)用,即取出HTTP請(qǐng)求中的子通道號(hào),并記錄;b3、代理服務(wù)器建立與WEB服務(wù)器的連接,并將該連接的socket號(hào)與步驟b2中的子通道號(hào)對(duì)應(yīng),再將HTTP請(qǐng)求發(fā)送到所代理的WEB服務(wù)器;b4、WEB服務(wù)器將響應(yīng)返回到代理服務(wù)器;b5、代理服務(wù)器根據(jù)所接收數(shù)據(jù)的socket號(hào)獲得與其對(duì)應(yīng)的子通道號(hào),使用該子通道號(hào)對(duì)所得響應(yīng)進(jìn)行加復(fù)用,即將子通道號(hào)附加到HTTP響應(yīng)中,將響應(yīng)返回代理客戶端;b6、代理客戶端收到響應(yīng)之后進(jìn)行去復(fù)用,根據(jù)子通道號(hào)獲得要返回給瀏覽器響應(yīng)的socket號(hào),將響應(yīng)通過(guò)該socket號(hào)返回到瀏覽器。所述第一類(lèi)連接設(shè)有時(shí)間限制,所述第一類(lèi)連接保持到超時(shí)。所述步驟b5中,如果WEB服務(wù)器關(guān)閉該連接,則代理服務(wù)器釋放該子通道號(hào)。所述步驟b6中,如果瀏覽器關(guān)閉該連接,代理客戶端釋放該子通道號(hào)。
本發(fā)明還提供一種實(shí)現(xiàn)上述代理服務(wù)器功能的安全代理通道復(fù)用服務(wù)器。包括SSL代理裝置,用于與代理客戶端之間的基于SSL的通信以及代理瀏覽器到WEB服務(wù)器的通信;復(fù)用-解復(fù)用裝置,用于與代理客戶端之間建立子通道和通過(guò)子通道的通信。
本發(fā)明的有益效果是,減少了SSL安全隧道的個(gè)數(shù),提高了代理服務(wù)器的連接容量和處理效率;降低了網(wǎng)絡(luò)數(shù)據(jù)傳輸量,減少了客戶端的響應(yīng)時(shí)間。
以下結(jié)合附圖和具體實(shí)施方式
對(duì)本發(fā)明作進(jìn)一步的說(shuō)明。
圖1為終端——WEB服務(wù)器之間多個(gè)TCP連接示意圖。
圖2為經(jīng)過(guò)代理服務(wù)器的終端——WEB服務(wù)器之間多個(gè)TCP連接經(jīng)過(guò)SSL代理的示意圖。
圖3為本發(fā)明實(shí)施例1示意圖。
圖4是本發(fā)明實(shí)施方式流程圖。
圖5是本發(fā)明實(shí)施例2示意圖。
具體實(shí)施例方式
本實(shí)施方式中,代理客戶端為一個(gè)軟件形式的產(chǎn)品,安裝在使用瀏覽器的用戶計(jì)算機(jī)中,代理服務(wù)器為一個(gè)獨(dú)立的SSL安全代理網(wǎng)關(guān)設(shè)備,并且與所代理的WEB服務(wù)器可以互通。代理客戶端與代理服務(wù)器之間建立基于SSL協(xié)議的第一類(lèi)連接,作為瀏覽器和WEB服務(wù)器之間的連接的安全隧道。本實(shí)施方式的“第二類(lèi)連接”是瀏覽器與WEB服務(wù)器之間的TCP連接。
如圖4所示,作為實(shí)施的具體步驟如下1、用戶計(jì)算機(jī)的瀏覽器代理網(wǎng)關(guān)設(shè)置到代理客戶端;2、設(shè)置其它代理客戶端配置參數(shù),如代理服務(wù)器的地址及端口號(hào)、使用HTTP代理、超時(shí)時(shí)間等;3、設(shè)置代理服務(wù)器配置參數(shù),如所代理的WEB服務(wù)器的IP地址及端口號(hào)、超時(shí)時(shí)間等;4、使用瀏覽器發(fā)起到所代理WEB服務(wù)器的連接;5、代理客戶端檢測(cè)是否有到代理服務(wù)器的SSL隧道建立,若沒(méi)有則建立與代理服務(wù)器的SSL隧道并且進(jìn)入下一步;若已經(jīng)有SSL隧道存在,則進(jìn)入下一步;6、代理客戶端對(duì)收到的HTTP請(qǐng)求數(shù)據(jù)加通道復(fù)用,即尋找尚未使用的子通道號(hào),同時(shí)建立接收請(qǐng)求的socket號(hào)與該子通道號(hào)的一一對(duì)應(yīng)關(guān)系,并將該子通道號(hào)附加到HTTP請(qǐng)求中,最后將該請(qǐng)求發(fā)送到代理服務(wù)器;7、代理服務(wù)器收到從代理客戶端發(fā)來(lái)的數(shù)據(jù),進(jìn)行去復(fù)用,即取出HTTP請(qǐng)求中的子通道號(hào),并將其保留。代理服務(wù)器建立與WEB服務(wù)器的連接,并將該連接的socket號(hào)與子通道號(hào)對(duì)應(yīng),最后將HTTP請(qǐng)求發(fā)送到所代理的WEB服務(wù)器;8、WEB服務(wù)器將響應(yīng)返回到代理服務(wù)器;9、代理服務(wù)器根據(jù)所接收數(shù)據(jù)的socket號(hào)獲得與其對(duì)應(yīng)的子通道號(hào),使用該子通道號(hào)對(duì)所得響應(yīng)進(jìn)行加復(fù)用,即將子通道號(hào)附加到HTTP響應(yīng)中,將響應(yīng)返回代理客戶端。如果WEB服務(wù)器關(guān)閉該連接,則代理服務(wù)器釋放該子通道號(hào);
10、代理客戶端收到響應(yīng)之后進(jìn)行去復(fù)用,根據(jù)子通道號(hào)獲得要返回給瀏覽器響應(yīng)的socket號(hào),將響應(yīng)通過(guò)該socket號(hào)返回到瀏覽器。如果瀏覽器關(guān)閉該連接,代理客戶端則釋放該子通道號(hào);11、瀏覽器接收響應(yīng)并進(jìn)行顯示,從而實(shí)現(xiàn)對(duì)WEB服務(wù)的訪問(wèn)。本發(fā)明還提供一種實(shí)現(xiàn)上述安全代理的安全代理通道復(fù)用服務(wù)器,以之完成代理服務(wù)器的功能。包括SSL代理裝置,用于與代理客戶端之間的基于SSL的通信以及代理瀏覽器到WEB服務(wù)器的通信;復(fù)用一解復(fù)用裝置,用于與代理客戶端之間建立子通道和通過(guò)子通道的通信。對(duì)于本領(lǐng)域技術(shù)人員而言,完全能夠根據(jù)上述安全代理方法實(shí)現(xiàn)代理服務(wù)器這一裝置。
應(yīng)該指出的是,無(wú)論是多個(gè)TCP連接復(fù)用在一個(gè)SSL隧道中,還是多個(gè)TCP連接復(fù)用在數(shù)個(gè)隧道中(如圖5),只要是以復(fù)用的形式傳遞,都屬于本發(fā)明權(quán)利范圍。
權(quán)利要求
1.安全代理通道復(fù)用方法,包括以下步驟a、代理客戶端與代理服務(wù)器建立第一類(lèi)連接;b、瀏覽器通過(guò)第一類(lèi)連接提供的安全隧道與WEB服務(wù)器建立第二類(lèi)連接;其特征在于,所述步驟b中,第一類(lèi)連接以復(fù)用的方式傳遞瀏覽器與WEB服務(wù)器之間的第二類(lèi)連接。
2.如權(quán)利要求1所述的安全代理通道復(fù)用方法,其特征在于,所述第一類(lèi)連接為基于SSL的安全連接,所述第二類(lèi)連接為瀏覽器與WEB服務(wù)器之間的連接。
3.如權(quán)利要求2所述的安全代理通道復(fù)用方法,其特征在于,所述第一類(lèi)連接提供子通道,所述第二類(lèi)連接由所述子通道傳遞。
4.如權(quán)利要求3所述的安全代理通道復(fù)用方法,其特征在于,步驟b包括b1、代理客戶端收到瀏覽器發(fā)出的建立一個(gè)第二類(lèi)連接的HTTP請(qǐng)求時(shí),尋找一個(gè)空閑的子通道,以所述子通道傳遞所述第二類(lèi)連接的數(shù)據(jù)包和該子通道號(hào)到代理服務(wù)器,并記錄子通道號(hào)與該第二類(lèi)連接的socket號(hào)之間的映射表,并對(duì)該請(qǐng)求進(jìn)行加復(fù)用;b2、代理服務(wù)器收到從代理客戶端發(fā)來(lái)的數(shù)據(jù),進(jìn)行去復(fù)用,取出HTTP請(qǐng)求中的子通道號(hào),并記錄;b3、代理服務(wù)器建立與WEB服務(wù)器的連接,并將該連接的socket號(hào)與步驟b2中的子通道號(hào)對(duì)應(yīng),再將HTTP請(qǐng)求發(fā)送到所代理的WEB服務(wù)器;b4、WEB服務(wù)器將響應(yīng)返回到代理服務(wù)器;b5、代理服務(wù)器根據(jù)所接收數(shù)據(jù)的socket號(hào)獲得與其對(duì)應(yīng)的子通道號(hào),使用該子通道號(hào)對(duì)所得響應(yīng)進(jìn)行加復(fù)用,即將子通道號(hào)附加到HTTP響應(yīng)中,將響應(yīng)返回代理客戶端;b6、代理客戶端收到響應(yīng)之后進(jìn)行去復(fù)用,根據(jù)子通道號(hào)獲得要返回給瀏覽器響應(yīng)的socket號(hào),將響應(yīng)通過(guò)該socket號(hào)返回到瀏覽器。
5.如權(quán)利要求4所述的安全代理通道復(fù)用方法,其特征在于,所述第一類(lèi)連接設(shè)有時(shí)間限制,所述第一類(lèi)連接保持到超時(shí)。
6.如權(quán)利要求4所述的安全代理通道復(fù)用方法,其特征在于,所述步驟b5中,如果WEB服務(wù)器關(guān)閉該連接,則代理服務(wù)器釋放該子通道號(hào)。
7.如權(quán)利要求4所述的安全代理通道復(fù)用方法,其特征在于,所述步驟b6中,如果瀏覽器關(guān)閉該連接,代理客戶端釋放該子通道號(hào)。
8.安全代理通道復(fù)用服務(wù)器,其特征在于,實(shí)現(xiàn)權(quán)利要求1-7所述的代理服務(wù)器功能。
9.如權(quán)利要求8所述的安全代理通道復(fù)用服務(wù)器,其特征在于,包括SSL代理裝置,用于與代理客戶端之間的基于SSL的通信以及代理瀏覽器到WEB服務(wù)器的通信;復(fù)用—解復(fù)用裝置,用于與代理客戶端之間建立子通道和通過(guò)子通道的通信。
全文摘要
安全代理通道復(fù)用方法和安全代理通道復(fù)用服務(wù)器,涉及計(jì)算機(jī)通信技術(shù),特別涉及基于SSL協(xié)議的HTTP協(xié)議應(yīng)用代理技術(shù)。本發(fā)明的方法包括以下步驟a、代理客戶端與代理服務(wù)器建立第一類(lèi)連接;b、瀏覽器通過(guò)第一類(lèi)連接提供的安全隧道與WEB服務(wù)器建立第二類(lèi)連接;所述步驟b中,第一類(lèi)連接以復(fù)用的方式傳遞瀏覽器與WEB服務(wù)器之間的第二類(lèi)連接。本發(fā)明的有益效果是,減少了SSL安全隧道的個(gè)數(shù),提高了代理服務(wù)器的連接容量和處理效率;降低了網(wǎng)絡(luò)數(shù)據(jù)傳輸量,減少了客戶端的響應(yīng)時(shí)間。
文檔編號(hào)H04L5/00GK1728628SQ20041004033
公開(kāi)日2006年2月1日 申請(qǐng)日期2004年7月30日 優(yōu)先權(quán)日2004年7月30日
發(fā)明者杜勇, 孟春雷, 丁滿義 申請(qǐng)人:邁普(四川)通信技術(shù)有限公司