專利名稱:一種基于異地Socks5代理的移動SSL VPN系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本實用新型涉及一種基于SSL的無線接入系統(tǒng),主要應(yīng)用于GPRS/CDMA等公共移 動網(wǎng)絡(luò)環(huán)境。特別涉及一種基于異地Socks5代理的移動SSL VPN系統(tǒng)。
背景技術(shù):
目前,無線移動的安全接入一般借用IPSEC VPN或者SSL VPN技術(shù),然而IPSEC VPN和SSLVPN技術(shù)最早都是針對固定網(wǎng)絡(luò)的安全問題而提出的。因此,相對于固定網(wǎng)絡(luò),移 動網(wǎng)絡(luò)還有更多的問題需要解決。由于信號的不穩(wěn)定,移動網(wǎng)絡(luò)的傳輸能力很不穩(wěn)定,有時甚至?xí)艟€,而且,移動 終端在不同移動網(wǎng)路之間切換時,終端與局端之間的連接也會中斷,從而影響傳輸性能和 用戶體驗。同時,移動VPN還需要考慮移動IP的問題。另外,移動終端設(shè)備本身CPU處理能力較弱,體積小易丟失,各個移動操作系統(tǒng)差 別較大,有些移動操作系統(tǒng)如symbain甚至沒有開放網(wǎng)絡(luò)底層接口。針對移動網(wǎng)絡(luò)的這些問題,目前比較流行是采用IPSec與Mobile-IP相結(jié)合的方 法,Mobile-IP隱藏了 IP地址變化對IPSec的影響,然而這種方法要求傳輸層來實現(xiàn)數(shù)據(jù) 流控制和會話恢復(fù)功能,增加了系統(tǒng)的復(fù)雜性,而且無法在不開放網(wǎng)絡(luò)底層接口的移動終 端系統(tǒng)上實現(xiàn)。
實用新型內(nèi)容為了克服現(xiàn)有的移動VPN系統(tǒng)無法容易實現(xiàn)移動網(wǎng)絡(luò)中不間斷的安全傳輸?shù)牟?足,本實用新型提供一種新的移動VPN解決方案,使用高效簡便的方法保證應(yīng)用程序與應(yīng) 用服務(wù)器之間的不間斷安全傳輸,而且能夠方便的實現(xiàn)在不同的移動終端平臺上。本實用新型為解決其技術(shù)問題通過以下技術(shù)方案來實現(xiàn)首先,作為實現(xiàn)本實用新型方案的應(yīng)用環(huán)境,它是一種基于異地Socks5代理的移 動SSLVPN系統(tǒng),該系統(tǒng)總體由服務(wù)器端和客戶端終端轉(zhuǎn)發(fā)平臺組成。該系統(tǒng)的總體框架 示意圖參見圖1。服務(wù)器端,包含Socks5代理與應(yīng)用掛接單元、服務(wù)器端應(yīng)用服務(wù)(后臺應(yīng)用服務(wù)) 與VPN局端平臺。其中,作為數(shù)據(jù)傳輸平臺的VPN局端包含局端VPN單元和Socks5代理轉(zhuǎn) 發(fā)單元??蛻舳私K端,包含移動SSL VPN終端設(shè)備、客戶端應(yīng)用、Socks5數(shù)據(jù)轉(zhuǎn)發(fā)單元。其 中,移動SSL VPN終端設(shè)備包含終端VPN單元和Socks5代理單元,它是移動終端,采用在應(yīng) 用層級別上利用Socks5協(xié)議進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā)搭建安全接入VPN的方式。服務(wù)器端與客戶端終端建立SSL連接;通過建立SSL VPN通道實現(xiàn)連接通信。另外,從客戶端終端應(yīng)用到服務(wù)器端應(yīng)用被異地的Socks5代理中繼分為三段TCP 連接;Socks代理的邏輯和訪問控制由局端來完成,終端代理只負(fù)責(zé)數(shù)據(jù)轉(zhuǎn)發(fā)。這三段TCP連接分別為(1)終端應(yīng)用程序到VPN終端;(2) VPN 終端到 VPN 局端;(3) VPN局端到內(nèi)網(wǎng)服務(wù)器。其中,上述連接(1)和連接(3)均為固網(wǎng)連接,連接(2)包含移動網(wǎng)絡(luò)連接。對連 接(2)進(jìn)行優(yōu)化以適應(yīng)無線網(wǎng)絡(luò)環(huán)境的不穩(wěn)定性。針對上述連接⑵,VPN終端到VPN局端的連接,利用隊列緩存機(jī)制,在無線連接中 斷期間自動按順序緩存用戶數(shù)據(jù),連接重新恢復(fù)后繼續(xù)傳輸。下面具體描述根據(jù)本實用新型所述系統(tǒng)所能實現(xiàn)的利用異地Socks5代理技術(shù)實 現(xiàn)的改善移動SSL VPN性能的方法,該方法包括在移動客戶端安裝Socks5數(shù)據(jù)轉(zhuǎn)發(fā)以及SSL VPN終端單元;在服務(wù)器端安裝 Socks5代理邏輯處理單元以及SSL VPN局端單元;終端單元和局端單元建立SSL (Secure SocketLayer)連接;配置移動終端代理設(shè)置,使其代理數(shù)據(jù)重定向到本地Socks5數(shù)據(jù)轉(zhuǎn)發(fā) 單元,數(shù)據(jù)由VPN通道傳輸;服務(wù)器端解析代理邏輯與后臺應(yīng)用掛接。上述方案中,所述終端單元與局端單元建立SSL連接時,SSL VPN通道建立在無線 環(huán)境中,連接建立后還需通過身份鑒權(quán)以獲得可訪問應(yīng)用服務(wù)列表。上述方案中,所述移動客戶端安裝Socks5數(shù)據(jù)轉(zhuǎn)發(fā)單元以及SSLVPN終端單元時, 轉(zhuǎn)發(fā)單元對于客戶端發(fā)起的包括Socks5代理請求、Socks5鑒權(quán)流程信息以及所需轉(zhuǎn)發(fā)的 應(yīng)用數(shù)據(jù)在內(nèi)的所有數(shù)據(jù)包全部通過SSL VPN通道進(jìn)行轉(zhuǎn)發(fā)。上述方案中,所述服務(wù)器端安裝Socks5代理邏輯處理單元以及SSL VPN局端單元 時,代理邏輯處理單元對從SSL VPN通道接收到的Socks5代理請求進(jìn)行解析以確定代理屬 性從而與對應(yīng)后臺應(yīng)用服務(wù)通信。上述方案中,所述VPN終端利用時間片輪詢方式實現(xiàn)會話復(fù)用。上述方案中,所述VPN局端利用多線程和匿名管道實現(xiàn)會話復(fù)用。本實用新型的有益效果是,可以在不同類型的移動終端上,通過不同類型的公共 移動網(wǎng)絡(luò),實現(xiàn)安全接入和不間斷數(shù)據(jù)安全傳輸。工作在應(yīng)用層,系統(tǒng)容易實現(xiàn)。
圖1為本實用新型方法應(yīng)用時的系統(tǒng)總體框架示意圖。圖2為本實用新型方法中局端與終端交互流程圖。圖3為本實用新型方法中終端工作流程圖。圖4為本實用新型方法中局端工作流程圖。
具體實施方式
為了使本實用新型實現(xiàn)的技術(shù)手段、創(chuàng)作特征、達(dá)成目的與功效易于明白了解,下 面結(jié)合具體圖示,進(jìn)一步闡述本實用新型。本實用新型方法在具體應(yīng)用時包括以下步驟在終端安裝終端代理程序以及VPN 模塊;局端安裝局端代理以及VPN模塊;啟動局端程序;啟動終端程序;局端和終端建立 SSL VPN通道;移動終端啟用客戶應(yīng)用;客戶應(yīng)用與終端建立連接并通過SSL VPN與局端協(xié)商;客戶端與局端協(xié)商完成后局端與后臺對應(yīng)應(yīng)用服務(wù)交互;最終移動客戶端應(yīng)用程序與 局端后臺應(yīng)用服務(wù)建立通信。如圖2所示,本實用新型的具體過程是通過將SSL技術(shù)與socks代理技術(shù)相結(jié) 合,將應(yīng)用程序的數(shù)據(jù)流轉(zhuǎn)發(fā)給布置在同一移動終端的移動VPN終端,然后通過移動VPN終 端與局端之間的安全隧道安全地傳輸數(shù)據(jù)給內(nèi)網(wǎng)的應(yīng)用服務(wù)器。代理中繼的使用將網(wǎng)絡(luò)連 接分成三部分應(yīng)用程序到移動VPN終端,移動VPN終端到移動VPN局端,移動VPN局端到 內(nèi)網(wǎng)應(yīng)用服務(wù)器。三個部分的連接相互獨(dú)立,同時只有移動VPN終端到移動VPN局端之間 的連接涉及無線環(huán)境,所以只要在移動VPN終端與局端之間實現(xiàn)會話快速恢復(fù)和數(shù)據(jù)流控 制功能,就可以實現(xiàn)應(yīng)用程序與內(nèi)網(wǎng)服務(wù)器之間的不間斷傳輸。本方案所涉及的技術(shù)都工作在應(yīng)用層,不需要操作系統(tǒng)提供底層的網(wǎng)絡(luò)接口,所 以可以方便的實現(xiàn)在不同的移動操作系統(tǒng)上。根據(jù)上述流程,進(jìn)一步說明以下兩功能步驟的實現(xiàn)原理和過程(一 )安全傳輸VPN終端與VPN局端之間使用SSL協(xié)議進(jìn)行安全傳輸,給代理請求數(shù)據(jù)和應(yīng)用數(shù)據(jù) 提供一個安全的傳輸通道。VPN局端在特定端口上監(jiān)聽SSL連接請求。VPN終端首先與局 端進(jìn)行SSL握手,使用X509證書實現(xiàn)終端與局端的相互認(rèn)證。建立好SSL通道后,終端與 局端進(jìn)行用戶名/密碼認(rèn)證,從而實現(xiàn)多因子認(rèn)證,提高安全性。然后終端與局端進(jìn)行進(jìn)一 步協(xié)商,VPN終端提供本身相關(guān)信息如設(shè)備標(biāo)識、操作系統(tǒng)、安全狀態(tài)等給VPN局端,VPN局 端根據(jù)這些信息實現(xiàn)訪問控制,提供可訪問的資源列表給終端。安全通道建立完之后,VPN 終端與VPN局端就可以為移動應(yīng)用程序提供安全傳輸功能。(二)后臺掛接VPN終端與局端共同實現(xiàn)s0Cks5代理服務(wù)器的功能VPN終端實現(xiàn)代理請求轉(zhuǎn)發(fā) 和傳輸數(shù)據(jù)的轉(zhuǎn)發(fā),VPN局端實現(xiàn)Socks5代理邏輯。VPN終端程序在移動設(shè)備上開啟SockS5 監(jiān)聽端口,處于同一設(shè)備上的應(yīng)用程序向該端口發(fā)起代理請求,VPN終端程序轉(zhuǎn)發(fā)代理請求 給VPN局端,VPN局端程序處理代理請求,與服務(wù)器建立連接。代理連接建立好之后,應(yīng)用 程序與服務(wù)器之間通過由VPN終端和VPN局端組成的代理服務(wù)器轉(zhuǎn)發(fā)數(shù)據(jù),實現(xiàn)數(shù)據(jù)的交 互。Socks5代理支持TCP協(xié)議和UDP協(xié)議。請參閱圖3所示的終端具體工作流程,首先終端從用戶界面讀取的參數(shù)與VPN服 務(wù)器協(xié)商建立SSL通道,此步驟完成后,用戶將自身用戶名和密碼經(jīng)過自定義的數(shù)據(jù)結(jié)構(gòu) 封裝成數(shù)據(jù)包通過SSL通道傳輸給VPN服務(wù)器。自定義的數(shù)據(jù)結(jié)構(gòu)除了用于在轉(zhuǎn)發(fā)中指明 數(shù)據(jù)包的性質(zhì)(TCP、UDP還是控制信息)也以端口號來保持連接來回的一致性。這樣傳輸 的數(shù)據(jù)包除了本身需要傳輸?shù)臄?shù)據(jù)(該數(shù)據(jù)可以是socks代理請求及相關(guān)消息,也可以是 用戶應(yīng)用數(shù)據(jù)),還主要包括了連接的端口號、IP地址以及數(shù)據(jù)包類型。通過認(rèn)證之后,VPN 服務(wù)器返回給客戶端一個可訪問的資源列表。此時的數(shù)據(jù)均是經(jīng)過加密通過SSL Tunnel 傳輸?shù)摹?蛻舳四玫劫Y源列表之后,就在本機(jī)地址上監(jiān)聽Socks代理端口,每當(dāng)有應(yīng)用發(fā) 起Socks連接請求,這個socket將被記錄下來,以便接收將來從VPN服務(wù)器傳送過來的發(fā) 給該應(yīng)用程序的數(shù)據(jù)包。此時,被監(jiān)聽的端口包括Socks代理bind端口,SSL連接端口,數(shù) 個sockssocket連接端口。如果SSL連接端口收到數(shù)據(jù),則將數(shù)據(jù)解密后,讀取數(shù)據(jù)包頭中端口號,從而傳給相應(yīng)的應(yīng)用;如果socks連接收到數(shù)據(jù),則將數(shù)據(jù)做好新的自定義封裝, 然后轉(zhuǎn)交給SSL通道加密后傳輸;如果是socks代理bind監(jiān)聽端口收到連接請求,則建立 新的socket連接并保存這個連接。請參閱圖4所示的局端具體工作流程,局端首先啟動程序讀取配置參數(shù)然后監(jiān)聽 SSL端口,從客戶端發(fā)來SSL請求后與之建立連接并進(jìn)行用戶名身份鑒權(quán)以發(fā)給相信的可 訪問后臺資源列表。SSL VPN通道建立好之后,之后的數(shù)據(jù)傳輸通信均使用該通道進(jìn)行安全 傳輸。局端等待終端數(shù)據(jù)包。如果該數(shù)據(jù)包所使用端口號并未被記錄則判定為新包,局端 為此次客戶端請求建立新的Socks5連接處理線程,此時的數(shù)據(jù)也可以為后臺應(yīng)用服務(wù)傳 送的數(shù)據(jù)包,連接處理線程解析數(shù)據(jù)格式進(jìn)行對應(yīng)代理轉(zhuǎn)發(fā)。如果數(shù)據(jù)包頭所含端口號已 有記錄則查找之前與之對應(yīng)的Socks5處理線程,并將數(shù)據(jù)轉(zhuǎn)發(fā)給該線程,該線程進(jìn)行相應(yīng) 的代理轉(zhuǎn)發(fā)處理,然后再次等待終端數(shù)據(jù)。上述的對實施例的描述是為便于該技術(shù)領(lǐng)域的普通技術(shù)人員能理解和使用本實 用新型。熟悉本領(lǐng)域技術(shù)的人員顯然可以容易地對這些實施例做出各種修改,并把在此說 明的一般原理應(yīng)用到其他實施例中而不必經(jīng)過創(chuàng)造性的勞動。因此,本實用新型不限于上 述實施例,在不脫離本實用新型的范疇的情況下所做出的修改都在本實用新型的保護(hù)范圍 之內(nèi)。
權(quán)利要求一種移動SSLVPN系統(tǒng),其特征在于是基于異地Socks5代理的移動SSLVPN系統(tǒng),由服務(wù)器端和客戶端終端設(shè)備組成;所述服務(wù)器端設(shè)備,具備Socks5代理與應(yīng)用掛接功能、服務(wù)器端應(yīng)用服務(wù)功能、VPN局端平臺功能、局端VPN功能和Socks5代理轉(zhuǎn)發(fā)功能;所述客戶端終端設(shè)備,具備客戶端應(yīng)用功能、終端VPN功能、Socks5數(shù)據(jù)轉(zhuǎn)發(fā)功能和Socks5代理功能,客戶端終端采用在應(yīng)用層級別上利用Socks5協(xié)議進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā)以搭建安全接入VPN的方式;所述服務(wù)器端與客戶端終端建立SSL連接;通過建立SSL VPN通道實現(xiàn)連接通信。
2.根據(jù)權(quán)利要求1所述的移動SSLVPN系統(tǒng),其特征在于所述客戶端終端應(yīng)用到服 務(wù)器端應(yīng)用被異地的Socks5代理中繼分為從終端應(yīng)用程序到VPN終端、從VPN終端到VPN 局端、從VPN局端到內(nèi)網(wǎng)服務(wù)器三段TCP連接;Socks代理的邏輯和訪問控制由服務(wù)器端來 完成,終端代理只負(fù)責(zé)數(shù)據(jù)轉(zhuǎn)發(fā)。
3.根據(jù)權(quán)利要求2所述的移動SSLVPN系統(tǒng),其特征在于所述從終端應(yīng)用程序到VPN 終端和從VPN局端到內(nèi)網(wǎng)服務(wù)器的兩段TCP連接均為固網(wǎng)連接。
4.根據(jù)權(quán)利要求2所述的移動SSLVPN系統(tǒng),其特征在于所述從VPN終端到VPN局端 的TCP連接包含移動網(wǎng)絡(luò)連接,利用隊列緩存機(jī)制,在無線連接中斷期間自動按順序緩存 用戶數(shù)據(jù),連接重新恢復(fù)后繼續(xù)傳輸,并且通過進(jìn)行優(yōu)化以適應(yīng)無線網(wǎng)絡(luò)環(huán)境的不穩(wěn)定性。
專利摘要本實用新型公開了一種基于異地Socks5代理的移動SSL VPN系統(tǒng)。這種移動VPN系統(tǒng)包括移動SSL VPN局端系統(tǒng)和移動SSL VPN終端系統(tǒng),局端系統(tǒng)位于處在企業(yè)內(nèi)網(wǎng)DMZ的VPN服務(wù)器上,終端系統(tǒng)位于移動設(shè)備。該方法包括采用在應(yīng)用層級別上利用Socks5協(xié)議進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā)搭建安全接入VPN的方式;將客戶端應(yīng)用程序到局端應(yīng)用的TCP連接利用Socks代理中繼分為三段;Socks代理功能由異地的終端和局端共同實現(xiàn)。本實用新型改善了SSLVPN在無線網(wǎng)絡(luò)中的連接性能,減小了無線網(wǎng)絡(luò)速率極不穩(wěn)定、易斷線的缺點(diǎn)帶來的連接性能影響。
文檔編號H04L29/06GK201657020SQ200920212439
公開日2010年11月24日 申請日期2009年12月4日 優(yōu)先權(quán)日2009年12月4日
發(fā)明者汪海航, 舒明磊, 譚博, 譚成翔 申請人:同濟(jì)大學(xué)