本發(fā)明涉及網(wǎng)絡(luò)通訊技術(shù)領(lǐng)域,尤其涉及一種多跳vpn隧道的實(shí)現(xiàn)方法。
背景技術(shù):
vpn(virtualprivatenetwork虛擬專用網(wǎng)絡(luò)),被定義為通過一個(gè)公用網(wǎng)絡(luò)(通常是因特網(wǎng))建立一個(gè)臨時(shí)的、安全的連接,是一條穿過公用網(wǎng)絡(luò)的安全、穩(wěn)定的隧道。vpn最初被設(shè)計(jì)用于擴(kuò)展企業(yè)內(nèi)部網(wǎng),它可以幫助異地用戶、公司分支機(jī)構(gòu)、商業(yè)伙伴及供應(yīng)商同公司的內(nèi)部網(wǎng)建立可信的安全連接,并保證數(shù)據(jù)的安全傳輸。由于其隧道數(shù)據(jù)的加密特性,普通用戶或安全審計(jì)人員也常常使用vpn匿名訪問目標(biāo)網(wǎng)絡(luò),避免通信信息被識別泄露。當(dāng)前主流的vpn軟件主要使用pptp、l2tp/ipsec、開源openvpn、sock5等等隧道協(xié)議構(gòu)建vpn隧道。洋蔥路由則采用多級隨機(jī)代理的模式實(shí)現(xiàn)隱匿上網(wǎng)要求。
現(xiàn)有主流的vpn軟件雖然使用不同的隧道協(xié)議,但vpn隧道鏈路均采用vpn客戶端同vpn服務(wù)端直連的方式,再由vpn服務(wù)端轉(zhuǎn)發(fā)用戶的明文數(shù)據(jù)到目標(biāo)網(wǎng)絡(luò)。攻擊者鎖定vpn服務(wù)端之后,可以直接定位到vpn客戶端所在的ip,可能會進(jìn)一步引發(fā)用戶被直接攻擊。因而主流的vpn軟件在數(shù)據(jù)源保護(hù)上安全級別不高。洋蔥路由采用多級隨機(jī)代理的模式構(gòu)建vpn網(wǎng)絡(luò),在加密安全性和ip隱匿性上具有顯著優(yōu)點(diǎn),但由于其開發(fā)背景與美國安全局之間有千絲萬縷的聯(lián)系,國內(nèi)使用容易造成安全信息泄露,故無法做到真實(shí)的安全通信?;诖耍F(xiàn)研究一種多跳vpn隧道的實(shí)現(xiàn)方法,vpn客戶端通過2跳或2跳以上的隨機(jī)鏈路同vpn服務(wù)端建立通信隧道,且不同跳之間的鏈路通信允許協(xié)議不同,攻擊者即使鎖定了vpn服務(wù)端,也不容易進(jìn)一步跟蹤定位到客戶端用戶。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于克服現(xiàn)有技術(shù)的不足,提供了一種多跳vpn隧道的實(shí)現(xiàn)方法。
本發(fā)明是通過以下技術(shù)方案實(shí)現(xiàn)的:一種多跳vpn隧道的實(shí)現(xiàn)方法,包括vpn客戶端、vpn服務(wù)端,所述vpn客戶端通過2跳或2跳以上的隨機(jī)鏈路同vpn服務(wù)端建立通信隧道,且不同跳之間的鏈路通信允許協(xié)議不同。
作為本發(fā)明的優(yōu)選方式之一,所述vpn客戶端與vpn服務(wù)端之間的通訊方法包括以下步驟:
(1)首先將vpn網(wǎng)絡(luò)上的vps分不同類型、不同鏈路級別進(jìn)行管理;
(2)不同vps根據(jù)配置的?;钔ㄐ诺刂废蚬芾碇行幕蛏弦患塿ps節(jié)點(diǎn)保活,若b向a保活,則b為a的子節(jié)點(diǎn);
(3)vpn客戶端向vpn服務(wù)端申請隧道建鏈。
作為本發(fā)明的優(yōu)選方式之一,所述步驟(1)的具體方法為:根據(jù)vps是否與用戶直接連接劃分為兩類:直接同用戶連接的vps為一級vps節(jié)點(diǎn),不直接同用戶連接的為非一級vps節(jié)點(diǎn);根據(jù)vps在多跳隧道中所屬層次劃分為不同級:多跳隧道中直接同用戶連接的vps稱為一級vps節(jié)點(diǎn)、之后依次為二級vps節(jié)點(diǎn)、三級vps節(jié)點(diǎn)。
作為本發(fā)明的優(yōu)選方式之一,所述步驟(2)的具體方法為:一級vps節(jié)點(diǎn)直接同管理中心保活:攜帶本vps的服務(wù)ip、中繼服務(wù)端口等信息、同時(shí)攜帶其子vps上報(bào)的?;钚畔洌环且患塿ps節(jié)點(diǎn)根據(jù)其配置的上一級vps?;钔ㄐ诺刂?,同時(shí)向一個(gè)或多個(gè)上一級的vps節(jié)點(diǎn)保活;非一級vps?;钚畔緑ps的服務(wù)ip、中繼服務(wù)端口等信息、子vps上報(bào)的?;钚畔?;根據(jù)保活信息,管理中心和每一級vps可以以樹形結(jié)構(gòu)管理當(dāng)前可用的子vps節(jié)點(diǎn)信息(通常包含服務(wù)ip、服務(wù)中繼端口、vpn端口、隧道協(xié)議類型、vps負(fù)載情況等信息),用于節(jié)點(diǎn)的智能選取。
作為本發(fā)明的優(yōu)選方式之一,所述步驟(3)的具體方法為:用戶接入該vpn網(wǎng)絡(luò)時(shí),向管理中心申請可用的一級vps節(jié)點(diǎn)列表,然后選定任意一個(gè)一級vps節(jié)點(diǎn)和期待鏈路跳數(shù),發(fā)送“建鏈請求消息”給該一級vps節(jié)點(diǎn)申請隧道建鏈,該一級vps節(jié)點(diǎn)接收到建鏈請求后,根據(jù)?;钕⑸傻膙ps信息樹,智能選擇下一級vps節(jié)點(diǎn)建立鏈路;其他非一級vps節(jié)點(diǎn)同樣根據(jù)自己的vps信息樹,智能選擇下一級vps節(jié)點(diǎn)建立鏈路,直到滿足跳數(shù)需要或者當(dāng)前節(jié)點(diǎn)無下一級vps節(jié)點(diǎn)可選,此時(shí)隧道鏈路建鏈完成,原路返回“建鏈成功響應(yīng)”給用戶之后,用戶客戶端可以直接轉(zhuǎn)發(fā)加密真實(shí)數(shù)據(jù)到多跳vpn隧道中傳輸,再由最后跳vps節(jié)點(diǎn)轉(zhuǎn)發(fā)用戶數(shù)據(jù)明文到目標(biāo)網(wǎng)絡(luò),隧道建鏈過程中各vps節(jié)點(diǎn)將會緩存鏈路轉(zhuǎn)換對應(yīng)的映射關(guān)系,當(dāng)目標(biāo)網(wǎng)絡(luò)返回?cái)?shù)據(jù)時(shí),各vps負(fù)責(zé)沿原鏈路方式返回隧道數(shù)據(jù)給用戶。
作為本發(fā)明的優(yōu)選方式之一,所述vpn隧道建鏈處理流程包括以下步驟:
(1)用戶向管理服務(wù)中心申請一級vps節(jié)點(diǎn);
(2)用戶發(fā)送建鏈請求給一級vps節(jié)點(diǎn)a(包含跳數(shù)n信息);
(3)vps節(jié)點(diǎn)a選擇滿足跳數(shù)條件的下一級節(jié)點(diǎn)(剩余跳數(shù));
(4)下vps節(jié)點(diǎn)選擇滿足跳數(shù)條件的下下一級節(jié)點(diǎn)(剩余跳數(shù));
(5)當(dāng)跳數(shù)滿足或無下一級節(jié)點(diǎn),返回步驟(4),否則進(jìn)入步驟(6);
(6)隧道建鏈完畢,原路返回建鏈成功響應(yīng);
(7)vpn隧道數(shù)據(jù)開始通信。
作為本發(fā)明的優(yōu)選方式之一,所述不同類型vps包含的元素屬性不同:一級vps包含服務(wù)ip、中繼服務(wù)端口、管理中心保活通信地址等屬性;非一級vps包含服務(wù)ip、中繼服務(wù)端口、vpn服務(wù)端口、vpn服務(wù)協(xié)議類型、上一級vps保活通信地址列表等屬性。
作為本發(fā)明的優(yōu)選方式之一,構(gòu)建vpn隧道時(shí),所述vps級別不超過10級,避免跳數(shù)太多導(dǎo)致隧道通信的網(wǎng)絡(luò)時(shí)延太長。
本發(fā)明相比現(xiàn)有技術(shù)的優(yōu)點(diǎn)在于:(1)用戶通信隧道采用多跳鏈路節(jié)點(diǎn)實(shí)現(xiàn),客戶端至少通過2跳連接到目標(biāo)網(wǎng)絡(luò),客戶端ip更具有隱匿性。(2)由于終跳vps節(jié)點(diǎn)不直接同管理中心交互,管理中心的ip不易暴露,vpn網(wǎng)絡(luò)管理更加安全;(3)整個(gè)多跳鏈路,鏈路支路選擇具有隨機(jī)性,且隧道協(xié)議也允許不同,增加了vpn隧道的復(fù)雜性,有效抑制了攻擊者反追蹤。
附圖說明
圖1是本發(fā)明的vps分層網(wǎng)絡(luò)拓?fù)涫疽鈭D;
圖2是本發(fā)明的多跳vpn隧道建鏈流程圖。
具體實(shí)施方式
下面對本發(fā)明的實(shí)施例作詳細(xì)說明,本實(shí)施例在以本發(fā)明技術(shù)方案為前提下進(jìn)行實(shí)施,給出了詳細(xì)的實(shí)施方式和具體的操作過程,但本發(fā)明的保護(hù)范圍不限于下述的實(shí)施例。
如圖1所示:圖中分別展示了用戶通過2跳隧道(用戶——a2節(jié)點(diǎn)——b5節(jié)點(diǎn)——目標(biāo)網(wǎng)絡(luò))和3跳隧道(用戶——a1節(jié)點(diǎn)——b2節(jié)點(diǎn)——b10節(jié)點(diǎn)——目標(biāo)網(wǎng)絡(luò))到達(dá)目標(biāo)網(wǎng)絡(luò)的情況。黑色單向箭頭為鏈路?;顮顟B(tài)消息。一種多跳vpn隧道的實(shí)現(xiàn)方法,包括vpn客戶端、vpn服務(wù)端,所述vpn客戶端通過2跳或2跳以上的隨機(jī)鏈路同vpn服務(wù)端建立通信隧道,且不同跳之間的鏈路通信允許協(xié)議不同,所述vpn客戶端與vpn服務(wù)端之間的通訊方法包括以下步驟:
(1)首先將vpn網(wǎng)絡(luò)上的vps分不同類型、不同鏈路級別進(jìn)行管理;
(2)不同vps根據(jù)配置的保活通信地址向管理中心或上一級vps節(jié)點(diǎn)?;?,若b向a?;?,則b為a的子節(jié)點(diǎn);
(3)vpn客戶端向vpn服務(wù)端申請隧道建鏈。
作為本發(fā)明的優(yōu)選方式之一,所述步驟(1)的具體方法為:根據(jù)vps是否與用戶直接連接劃分為兩類:直接同用戶連接的vps為一級vps節(jié)點(diǎn),不直接同用戶連接的為非一級vps節(jié)點(diǎn);根據(jù)vps在多跳隧道中所屬層次劃分為不同級:多跳隧道中直接同用戶連接的vps稱為一級vps節(jié)點(diǎn)、之后依次為二級vps節(jié)點(diǎn)、三級vps節(jié)點(diǎn),圖1中的a1-a3為一級vps節(jié)點(diǎn),b1-b15為非一級vps節(jié)點(diǎn);其中b1-b8又為二級vps節(jié)點(diǎn),b9-b15為三級vps節(jié)點(diǎn),構(gòu)建vpn隧道時(shí),應(yīng)該限定vps級別最好不要超過10級,避免跳數(shù)太多導(dǎo)致隧道通信的網(wǎng)絡(luò)時(shí)延太長,不同類型vps包含的元素屬性不同:一級vps包含服務(wù)ip、中繼服務(wù)端口、管理中心?;钔ㄐ诺刂返葘傩?;非一級vps包含服務(wù)ip、中繼服務(wù)端口、vpn服務(wù)端口、vpn服務(wù)協(xié)議類型、上一級vps?;钔ㄐ诺刂妨斜淼葘傩?。
作為本發(fā)明的優(yōu)選方式之一,所述步驟(2)的具體方法為:一級vps節(jié)點(diǎn)直接同管理中心?;睿簲y帶本vps的服務(wù)ip、中繼服務(wù)端口等信息、同時(shí)攜帶其子vps上報(bào)的保活信息樹;非一級vps節(jié)點(diǎn)根據(jù)其配置的上一級vps?;钔ㄐ诺刂?,同時(shí)向一個(gè)或多個(gè)上一級的vps節(jié)點(diǎn)?;睿粓D1中處于三級的b10同時(shí)向二級的b1、b2、b3節(jié)點(diǎn)?;睿且患塿ps?;钚畔緑ps的服務(wù)ip、中繼服務(wù)端口等信息、子vps上報(bào)的?;钚畔?;根據(jù)?;钚畔ⅲ芾碇行暮兔恳患塿ps可以以樹形結(jié)構(gòu)管理當(dāng)前可用的子vps節(jié)點(diǎn)信息(通常包含服務(wù)ip、服務(wù)中繼端口、vpn端口、隧道協(xié)議類型、vps負(fù)載情況等信息),用于節(jié)點(diǎn)的智能選取。
作為本發(fā)明的優(yōu)選方式之一,所述步驟(3)的具體方法為:用戶接入該vpn網(wǎng)絡(luò)時(shí),向管理中心申請可用的一級vps節(jié)點(diǎn)列表,然后選定任意一個(gè)一級vps節(jié)點(diǎn)和期待鏈路跳數(shù),發(fā)送“建鏈請求消息”給該一級vps節(jié)點(diǎn)申請隧道建鏈,該一級vps節(jié)點(diǎn)接收到建鏈請求后,根據(jù)保活消息生成的vps信息樹,智能選擇下一級vps節(jié)點(diǎn)建立鏈路;其他非一級vps節(jié)點(diǎn)同樣根據(jù)自己的vps信息樹,智能選擇下一級vps節(jié)點(diǎn)建立鏈路,直到滿足跳數(shù)需要或者當(dāng)前節(jié)點(diǎn)無下一級vps節(jié)點(diǎn)可選,此時(shí)隧道鏈路建鏈完成,原路返回“建鏈成功響應(yīng)”給用戶之后,用戶客戶端可以直接轉(zhuǎn)發(fā)加密真實(shí)數(shù)據(jù)到多跳vpn隧道中傳輸,再由最后跳vps節(jié)點(diǎn)轉(zhuǎn)發(fā)用戶數(shù)據(jù)明文到目標(biāo)網(wǎng)絡(luò),隧道建鏈過程中各vps節(jié)點(diǎn)將會緩存鏈路轉(zhuǎn)換對應(yīng)的映射關(guān)系,當(dāng)目標(biāo)網(wǎng)絡(luò)返回?cái)?shù)據(jù)時(shí),各vps負(fù)責(zé)沿原鏈路方式返回隧道數(shù)據(jù)給用戶,圖1所示的2跳隧道(用戶——a2節(jié)點(diǎn)——b5節(jié)點(diǎn)——目標(biāo)網(wǎng)絡(luò)),用戶同a2之間可以使用基于udp的隧道協(xié)議,a2同b5之間可以使用基于tcp的隧道協(xié)議,b5到目標(biāo)網(wǎng)絡(luò)為解密后的明文數(shù)據(jù),不要求多跳隧道不同支路的隧道協(xié)議相同。
作為本發(fā)明的優(yōu)選方式之一,如圖2所示:所述vpn隧道建鏈處理流程包括以下步驟:
(1)用戶向管理服務(wù)中心申請一級vps節(jié)點(diǎn);
(2)用戶發(fā)送建鏈請求給一級vps節(jié)點(diǎn)a(包含跳數(shù)n信息);
(3)vps節(jié)點(diǎn)a選擇滿足跳數(shù)條件的下一級節(jié)點(diǎn)(剩余跳數(shù));
(4)下vps節(jié)點(diǎn)選擇滿足跳數(shù)條件的下下一級節(jié)點(diǎn)(剩余跳數(shù));
(5)當(dāng)跳數(shù)滿足或無下一級節(jié)點(diǎn),返回步驟(4),否則進(jìn)入步驟(6);
(6)隧道建鏈完畢,原路返回建鏈成功響應(yīng);
(7)vpn隧道數(shù)據(jù)開始通信。
作為本發(fā)明的優(yōu)選方式之一,所述不同類型vps包含的元素屬性不同:一級vps包含服務(wù)ip、中繼服務(wù)端口、管理中心?;钔ㄐ诺刂返葘傩?;非一級vps包含服務(wù)ip、中繼服務(wù)端口、vpn服務(wù)端口、vpn服務(wù)協(xié)議類型、上一級vps?;钔ㄐ诺刂妨斜淼葘傩?。
本發(fā)明在建立vpn隧道時(shí),默認(rèn)跳轉(zhuǎn)起中繼作用的一級vps節(jié)點(diǎn),由一級vps節(jié)點(diǎn)再智能選擇下一級vps節(jié)點(diǎn)建立隨機(jī)隧道支路。不同層次的vps節(jié)點(diǎn)允許隧道協(xié)議不同,大大增強(qiáng)了vpn隧道鏈路的復(fù)雜性,可以有效抑制攻擊者反追蹤。
以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。