本發(fā)明涉及計(jì)算機(jī)網(wǎng)絡(luò),特別涉及一種網(wǎng)絡(luò)代理賬戶(hù)控制方法。
背景技術(shù):
移動(dòng)虛擬專(zhuān)網(wǎng)正在變成一個(gè)相互連接的將整個(gè)移動(dòng)用戶(hù)和貿(mào)易伙伴連接到一起的網(wǎng)絡(luò);它將成為一個(gè)以更安全便捷高速的方式為客戶(hù)以及企業(yè)提供他們所需要服務(wù)的業(yè)務(wù)平臺(tái)?,F(xiàn)在的企業(yè)主要從三點(diǎn)出發(fā)對(duì)移動(dòng)虛擬專(zhuān)網(wǎng)進(jìn)行改進(jìn)發(fā)展:首先是安全,保證數(shù)據(jù)的傳輸安全有效;其次qos;最后通過(guò)嵌入式集成化目錄與公共和私有化目錄交互,從而實(shí)現(xiàn)對(duì)遠(yuǎn)程和移動(dòng)用戶(hù)信息進(jìn)行管理和控制。隨著移動(dòng)虛擬專(zhuān)網(wǎng)在用戶(hù)間的應(yīng)用也越來(lái)越普遍,但是它仍然暴露出來(lái)一些缺點(diǎn)。首先在賬戶(hù)-服務(wù)器和賬戶(hù)-賬戶(hù)之間全部建立隧道需要在路由設(shè)備上進(jìn)行n2次的網(wǎng)絡(luò)配置與管理,工作量巨大且維護(hù)成本高;其次假設(shè)已經(jīng)成功建立好移動(dòng)虛擬網(wǎng)絡(luò),在智能業(yè)務(wù)越來(lái)越發(fā)達(dá)的今天,移動(dòng)虛擬專(zhuān)網(wǎng)缺乏對(duì)多播和路由技術(shù)的支持,在企業(yè)級(jí)用戶(hù)需要一些高質(zhì)量的信息交互時(shí),無(wú)法真正發(fā)揮作用。
技術(shù)實(shí)現(xiàn)要素:
為解決上述現(xiàn)有技術(shù)所存在的問(wèn)題,本發(fā)明提出了一種網(wǎng)絡(luò)代理賬戶(hù)控制方法,包括:
建立賬戶(hù)服務(wù)器,集中管理socks5信道建立階段的密鑰信息和安全規(guī)則;
針對(duì)移動(dòng)虛擬專(zhuān)網(wǎng),將協(xié)商安全規(guī)則的集合設(shè)置為賬戶(hù)群組,群組中的賬戶(hù)共享用來(lái)協(xié)商的密鑰和安全規(guī)則;
結(jié)合socks5協(xié)議實(shí)現(xiàn)對(duì)密鑰和規(guī)則的分發(fā),實(shí)現(xiàn)點(diǎn)到點(diǎn)連接。
優(yōu)選地,不同的賬戶(hù)服務(wù)器管理不同的密鑰和安全規(guī)則,即一個(gè)專(zhuān)網(wǎng)中通過(guò)不同的賬戶(hù)服務(wù)器來(lái)劃分不同的群組;
賬戶(hù)服務(wù)器產(chǎn)生和管理的密鑰和安全規(guī)則分發(fā)給同組的賬戶(hù)來(lái)實(shí)現(xiàn)多播過(guò)程。
優(yōu)選地,每個(gè)賬戶(hù)基于賬戶(hù)服務(wù)器分發(fā)的規(guī)則和安全規(guī)則來(lái)加密通信報(bào)文。
優(yōu)選地,所述賬戶(hù)服務(wù)器用于為整個(gè)賬戶(hù)群組維護(hù)安全規(guī)則、創(chuàng)建和維護(hù)密鑰信息;
賬戶(hù)服務(wù)器與賬戶(hù)的交互工作過(guò)程分為兩種情況:賬戶(hù)通過(guò)配置登錄信息向賬戶(hù)服務(wù)器進(jìn)行登錄,賬戶(hù)服務(wù)器收到賬戶(hù)的登錄信息將密鑰和安全規(guī)則分發(fā);在密鑰設(shè)定的有效期超時(shí)前,賬戶(hù)服務(wù)器會(huì)產(chǎn)生重加密信息,通過(guò)這個(gè)重加密信息通知所有賬戶(hù)替換新的密鑰。
優(yōu)選地,所述密鑰包括兩種類(lèi)型:
加密報(bào)文的密鑰pk:由群組內(nèi)的所有賬戶(hù)共享,用于加密賬戶(hù)之間的報(bào)文;
加密密鑰的密鑰ek:由組內(nèi)的所有賬戶(hù)共享,用于加密賬戶(hù)服務(wù)器向賬戶(hù)發(fā)送的重加密消息。
優(yōu)選地,同一個(gè)賬戶(hù)群組的賬戶(hù)在通過(guò)賬戶(hù)服務(wù)器登錄成功之后,兩兩之間協(xié)商建立socks5信道;
賬戶(hù)在向賬戶(hù)服務(wù)器登錄時(shí)提供這個(gè)群組的id來(lái)進(jìn)行身份認(rèn)證,身份認(rèn)證成功后賬戶(hù)服務(wù)器根據(jù)組id進(jìn)行密鑰和安全規(guī)則的分發(fā)。
優(yōu)選地,所述協(xié)商建立socks5信道,進(jìn)一步包括:
第一階段協(xié)商過(guò)程需要交換6條消息,最終協(xié)商出來(lái)安全規(guī)則:
7.1.通信雙方特征hash值交換,發(fā)起方產(chǎn)生hash-i;應(yīng)答方產(chǎn)生hash-r,并與hash-i一起發(fā)送,這一對(duì)hash在整個(gè)安全規(guī)則協(xié)商中不變;
7.2.發(fā)起者產(chǎn)生rsa的秘密值xi;在選定的rsa組中產(chǎn)生公開(kāi)數(shù)值g^xi;產(chǎn)生隨機(jī)數(shù)ni;在報(bào)文載荷中發(fā)送ni,g^xi;在收到響應(yīng)者的消息后,計(jì)算rsa的對(duì)稱(chēng)密鑰g^xy;最后用g^xy、ni、nr計(jì)算安全密鑰z;
7.3.應(yīng)答者產(chǎn)生rsa的秘密值xr;在選定的rsa組中產(chǎn)生公開(kāi)數(shù)值g^xr;產(chǎn)生隨機(jī)數(shù)nr;在報(bào)文載荷中送出nr,g^xr;在收到發(fā)起者的信息之后,計(jì)算rsa的對(duì)稱(chēng)密鑰g^xy;用g^xy、nr、ni計(jì)算安全密鑰z,計(jì)算出來(lái)安全密鑰z后再應(yīng)用rsa算法計(jì)算出以下三個(gè)參數(shù):
skid_d:在socks5協(xié)議階段協(xié)商使用,通過(guò)這個(gè)參數(shù)來(lái)計(jì)算協(xié)議產(chǎn)生的密鑰資源;
skid_a:散列算法預(yù)分發(fā)密鑰信息,通過(guò)這個(gè)參數(shù)實(shí)現(xiàn)對(duì)協(xié)商數(shù)據(jù)的完整性認(rèn)證;
skid_e:一個(gè)加密參數(shù),通過(guò)它對(duì)下一階段信息、數(shù)據(jù)、預(yù)分發(fā)密鑰和socks協(xié)議協(xié)商過(guò)程進(jìn)行加密。
7.4.在通過(guò)兩個(gè)消息交換用戶(hù)身份信息載荷和散列載荷,對(duì)對(duì)方進(jìn)行驗(yàn)證,這兩個(gè)消息都是通過(guò)加密進(jìn)行的;
第二階段對(duì)socks5協(xié)議的某些定義進(jìn)行擴(kuò)展:將安全規(guī)則擴(kuò)展成賬戶(hù)群組安全規(guī)則,其中還包括3個(gè)子規(guī)則:第一階段協(xié)商產(chǎn)生的安全規(guī)則、重加密密鑰、數(shù)據(jù)傳輸保護(hù);其中對(duì)于重加密密鑰,在一個(gè)多播群組中只存在一個(gè)重加密密鑰,是通過(guò)賬戶(hù)服務(wù)器直接分發(fā)給群組賬戶(hù);在群組賬戶(hù)更新時(shí),賬戶(hù)服務(wù)器通過(guò)重加密密鑰通知群組賬戶(hù)進(jìn)行密鑰的更新與處理;
數(shù)據(jù)傳輸保護(hù)通過(guò)通信雙方單播協(xié)商而成,通過(guò)拉取和推送兩個(gè)交換過(guò)程與賬戶(hù)服務(wù)器進(jìn)行規(guī)則管理,賬戶(hù)之間通過(guò)這兩個(gè)交換得到的安全規(guī)則保證各個(gè)賬戶(hù)數(shù)據(jù)傳輸?shù)陌踩??!?/p>
本發(fā)明相比現(xiàn)有技術(shù),具有以下優(yōu)點(diǎn):
本發(fā)明提出了一種網(wǎng)絡(luò)代理賬戶(hù)控制方法,實(shí)現(xiàn)了不同賬戶(hù)密鑰和規(guī)則的安全集中管理和多點(diǎn)之間的無(wú)隧道連接,支持大規(guī)模擴(kuò)展,并且能夠保證大流量環(huán)境下的通信質(zhì)量。
附圖說(shuō)明
圖1是根據(jù)本發(fā)明實(shí)施例的網(wǎng)絡(luò)代理賬戶(hù)控制方法的流程圖。
具體實(shí)施方式
下文與圖示本發(fā)明原理的附圖一起提供對(duì)本發(fā)明一個(gè)或者多個(gè)實(shí)施例的詳細(xì)描述。結(jié)合這樣的實(shí)施例描述本發(fā)明,但是本發(fā)明不限于任何實(shí)施例。本發(fā)明的范圍僅由權(quán)利要求書(shū)限定,并且本發(fā)明涵蓋諸多替代、修改和等同物。在下文描述中闡述諸多具體細(xì)節(jié)以便提供對(duì)本發(fā)明的透徹理解。出于示例的目的而提供這些細(xì)節(jié),并且無(wú)這些具體細(xì)節(jié)中的一些或者所有細(xì)節(jié)也可以根據(jù)權(quán)利要求書(shū)實(shí)現(xiàn)本發(fā)明。
本發(fā)明的一方面提供了一種網(wǎng)絡(luò)代理賬戶(hù)控制方法。圖1是根據(jù)本發(fā)明實(shí)施例的網(wǎng)絡(luò)代理賬戶(hù)控制方法流程圖。
本發(fā)明針對(duì)移動(dòng)虛擬專(zhuān)網(wǎng)安全加密,結(jié)合socks5協(xié)議實(shí)現(xiàn)對(duì)密鑰和規(guī)則的集中管理與分發(fā),從而實(shí)現(xiàn)點(diǎn)到點(diǎn)的無(wú)隧道連接。socks5在協(xié)議棧的tcp層上運(yùn)行,是介于傳輸層和應(yīng)用層之間的中介層協(xié)議,是為了讓使用tcp和udp的客戶(hù)/服務(wù)器應(yīng)用程序更方便安全地使用網(wǎng)絡(luò)防火墻所提供的服務(wù)而設(shè)計(jì)。對(duì)于上層應(yīng)用層協(xié)議來(lái)說(shuō),socks代理只是簡(jiǎn)單地傳遞數(shù)據(jù)包,而不必關(guān)心是何種應(yīng)用協(xié)議(比如ftp,http請(qǐng)求)。socks5協(xié)議的工作原理與應(yīng)用代理相似,作為網(wǎng)絡(luò)邊界上的socks服務(wù)器接收客戶(hù)的請(qǐng)求,并代理外部的應(yīng)用服務(wù)器,使得客戶(hù)與外部的聯(lián)系實(shí)質(zhì)上是socks客戶(hù)與socks服務(wù)器之間的聯(lián)系;而外部的應(yīng)用服務(wù)器所接受的請(qǐng)求是來(lái)自socks服務(wù)器的外部接口,也就是說(shuō)socks服務(wù)器對(duì)內(nèi)部網(wǎng)絡(luò)的客戶(hù)來(lái)說(shuō)是服務(wù)器,對(duì)外部網(wǎng)絡(luò)的應(yīng)用服務(wù)器來(lái)說(shuō)是客戶(hù)。
本發(fā)明建立賬戶(hù)服務(wù)器來(lái)實(shí)現(xiàn)socks5信道協(xié)商建立階段的密鑰信息和安全規(guī)則的集中管理。將所有移動(dòng)虛擬專(zhuān)網(wǎng)賬戶(hù)中協(xié)商安全規(guī)則的集合設(shè)置為賬戶(hù)群組,一個(gè)群組中的賬戶(hù)共享用來(lái)協(xié)商的密鑰和安全規(guī)則信息。一個(gè)賬戶(hù)服務(wù)器及它的冗余備份賬戶(hù)服務(wù)器用來(lái)劃分賬戶(hù)群組,不同的賬戶(hù)服務(wù)器管理不同的密鑰和安全規(guī)則,即一個(gè)專(zhuān)網(wǎng)中通過(guò)不同的賬戶(hù)服務(wù)器來(lái)劃分不同的群組;賬戶(hù)服務(wù)器產(chǎn)生和管理的密鑰和安全規(guī)則分發(fā)給同組的賬戶(hù)來(lái)實(shí)現(xiàn)多播過(guò)程。
賬戶(hù)通過(guò)和賬戶(hù)服務(wù)器的協(xié)商來(lái)加入不同的賬戶(hù)群組中,形成群組賬戶(hù)。賬戶(hù)負(fù)責(zé)對(duì)同組之間賬戶(hù)數(shù)據(jù)報(bào)文加密和解密,數(shù)據(jù)報(bào)文的轉(zhuǎn)發(fā)發(fā)生在同一個(gè)群組的賬戶(hù)之間,賬戶(hù)就是基于賬戶(hù)服務(wù)器分發(fā)的規(guī)則和安全規(guī)則來(lái)加密通信報(bào)文。
賬戶(hù)服務(wù)器為整個(gè)賬戶(hù)群組維護(hù)安全規(guī)則、創(chuàng)建和維護(hù)密鑰信息。它有兩個(gè)功能:響應(yīng)賬戶(hù)的登錄請(qǐng)求,以及發(fā)送重加密消息。具體賬戶(hù)服務(wù)器與賬戶(hù)的交互工作過(guò)程分為兩種情況:賬戶(hù)通過(guò)配置登錄信息向賬戶(hù)服務(wù)器進(jìn)行登錄,賬戶(hù)服務(wù)器收到賬戶(hù)的登錄信息將密鑰和安全規(guī)則分發(fā);在密鑰設(shè)定的有效期超時(shí)前,賬戶(hù)服務(wù)器會(huì)產(chǎn)生重加密信息,通過(guò)這個(gè)重加密信息通知所有賬戶(hù)替換新的密鑰。
密鑰包括兩種類(lèi)型:pk加密報(bào)文的密鑰:由群組內(nèi)的所有賬戶(hù)共享,用于加密賬戶(hù)之間的報(bào)文;ek加密密鑰的密鑰:由組內(nèi)的所有賬戶(hù)共享,用于加密賬戶(hù)服務(wù)器向賬戶(hù)發(fā)送的重加密消息。
賬戶(hù)通過(guò)賬戶(hù)服務(wù)器來(lái)共享相同安全規(guī)則和密鑰。同一個(gè)賬戶(hù)群組的賬戶(hù)在通過(guò)賬戶(hù)服務(wù)器登錄成功之后,兩兩之間便可以協(xié)商建立socks5信道。賬戶(hù)在向賬戶(hù)服務(wù)器登錄時(shí)提供這個(gè)群組的id來(lái)進(jìn)行身份認(rèn)證,身份認(rèn)證成功后賬戶(hù)服務(wù)器根據(jù)組id進(jìn)行密鑰和安全規(guī)則的分發(fā)。
第一階段協(xié)商過(guò)程需要交換6條消息,最終協(xié)商出來(lái)安全規(guī)則。
1.通信雙方特征hash值交換,發(fā)起方產(chǎn)生hash-i;應(yīng)答方產(chǎn)生hash-r,并與hash-i一起發(fā)送,這一對(duì)hash在整個(gè)安全規(guī)則協(xié)商中不變;
2.發(fā)起者產(chǎn)生rsa的秘密值xi;在選定的rsa組中產(chǎn)生公開(kāi)數(shù)值g^xi;產(chǎn)生隨機(jī)數(shù)ni;在報(bào)文載荷中發(fā)送ni,g^xi;在收到響應(yīng)者的消息后,計(jì)算rsa的對(duì)稱(chēng)密鑰g^xy;最后用g^xy、ni、nr計(jì)算安全密鑰z;
3.應(yīng)答者產(chǎn)生rsa的秘密值xr;在選定的rsa組中產(chǎn)生公開(kāi)數(shù)值g^xr;產(chǎn)生隨機(jī)數(shù)nr;在報(bào)文載荷中送出nr,g^xr;在收到發(fā)起者的信息之后,計(jì)算rsa的對(duì)稱(chēng)密鑰g^xy;用g^xy、nr、ni計(jì)算安全密鑰z,計(jì)算出來(lái)安全密鑰z后再應(yīng)用rsa算法計(jì)算出以下三個(gè)參數(shù):
skid_d:在socks5協(xié)議階段協(xié)商使用,通過(guò)這個(gè)參數(shù)來(lái)計(jì)算協(xié)議產(chǎn)生的密鑰資源;
skid_a:散列算法預(yù)分發(fā)密鑰信息,通過(guò)這個(gè)參數(shù)實(shí)現(xiàn)對(duì)協(xié)商數(shù)據(jù)的完整性認(rèn)證;
skid_e:一個(gè)加密參數(shù),通過(guò)它對(duì)下一階段信息、數(shù)據(jù)、預(yù)分發(fā)密鑰和socks協(xié)議協(xié)商過(guò)程進(jìn)行加密。
4.在通過(guò)兩個(gè)消息交換用戶(hù)身份信息載荷和散列載荷,對(duì)對(duì)方進(jìn)行驗(yàn)證,這兩個(gè)消息都是通過(guò)加密進(jìn)行的。
第二階段對(duì)socks5協(xié)議的定義進(jìn)行擴(kuò)展:將單一安全規(guī)則擴(kuò)展成賬戶(hù)群組安全規(guī)則,其中還包括了3個(gè)子規(guī)則:第一階段協(xié)商產(chǎn)生的安全規(guī)則、重加密密鑰、數(shù)據(jù)傳輸保護(hù)。其中對(duì)于重加密密鑰,在一個(gè)多播群組中只存在一個(gè)重加密密鑰,是通過(guò)賬戶(hù)服務(wù)器直接分發(fā)給群組賬戶(hù)。在群組賬戶(hù)更新時(shí),賬戶(hù)服務(wù)器通過(guò)重加密密鑰通知群組賬戶(hù)進(jìn)行密鑰的更新與處理,從而達(dá)到維持整個(gè)群組通信的安全性。
數(shù)據(jù)傳輸保護(hù)通過(guò)通信雙方單播協(xié)商而成,通過(guò)拉取和推送兩個(gè)交換過(guò)程與賬戶(hù)服務(wù)器進(jìn)行規(guī)則管理,賬戶(hù)之間通過(guò)這兩個(gè)交換得到的安全規(guī)則保證各個(gè)賬戶(hù)數(shù)據(jù)傳輸?shù)陌踩浴?/p>
拉取交換包含了四條消息交互,從初始的賬戶(hù)申請(qǐng)加入群組開(kāi)始通過(guò)協(xié)商從群組對(duì)應(yīng)的賬戶(hù)服務(wù)器中拉取下來(lái)通信所需要的各種信息,從而獲得了重加密密鑰和socks5安全規(guī)則,最終與賬戶(hù)之間建立起安全的數(shù)據(jù)通信:
消息1.群組賬戶(hù)向賬戶(hù)服務(wù)器發(fā)送s5head*,md5(1),ni,id;
消息2.賬戶(hù)服務(wù)器向群組賬戶(hù)返回s5head*,md5(2),nr,sa;
消息3.群組賬戶(hù)向賬戶(hù)服務(wù)器發(fā)送s5head*,md5(3)[,xpld];
消息4.賬戶(hù)服務(wù)器向群組賬戶(hù)返回s5head*,md5(4),[seq,]kd
其中s5head*是加密后的socks5報(bào)頭,ni和nr是賬戶(hù)和群組賬戶(hù)服務(wù)器當(dāng)前的隨機(jī)數(shù);sa包含重加密密鑰和socks5群組賬戶(hù);xpld中包含用于rsa交換的密鑰交換載荷;kd載荷包含了ek和pk;
md5(1)-md5(4)是由散列函數(shù)md5計(jì)算出來(lái)的,用來(lái)對(duì)每次的交換的消息進(jìn)行認(rèn)證。
md5(1)=md5(skid_a,m-id|ni|id)
md5(2)=md5(skid_a,m-id|ni_b|nr|sa)
md5(3)=md5(skid_a,m-id|ni_b|nr_b[|xpld])
md5(4)=md5(skid_a,m-id|ni_b|nr_b[|seq]|kd)
其中“|”表示信息的連接。
這個(gè)信息交換過(guò)程是在第一階段安全規(guī)則的保護(hù)下完成,skid_a是第一階段協(xié)商出來(lái)的散列預(yù)分發(fā)密鑰,用來(lái)第二階段的密鑰認(rèn)證。隨機(jī)載荷ni和nr用來(lái)保證群組賬戶(hù)服務(wù)器和賬戶(hù)的活性和抗重放攻擊。在群組賬戶(hù)服務(wù)器收到消息3之前,即證明賬戶(hù)是否存活之前,賬戶(hù)服務(wù)器只返回給賬戶(hù)安全規(guī)則,不進(jìn)行密鑰下載。在收到消息3之后,才會(huì)把kd所包含的全部密鑰下載給組賬戶(hù),即消息4。雙方在消息3和4中交換kd載荷之前,先使用rsa交換生成共享的密鑰,群組賬戶(hù)服務(wù)器用該密鑰對(duì)kd載荷進(jìn)行異或,然后再下載給賬戶(hù)。
當(dāng)多播組中各賬戶(hù)的關(guān)系發(fā)生變化時(shí),群組賬戶(hù)服務(wù)器必須對(duì)整個(gè)組的當(dāng)前密鑰進(jìn)行更新,所以就引入了推送交換,此交換在重加密密鑰的保護(hù)下進(jìn)行,群組賬戶(hù)服務(wù)器使用多播的方式把更新后的密鑰推送給所有的賬戶(hù):
群組賬戶(hù)服務(wù)器向賬戶(hù)發(fā)送:s5head*,seq,[d,]sa,kd,wtm
seq為序列號(hào)載荷,是一個(gè)包含32位大小的數(shù)字,其單調(diào)遞增。首先由群組賬戶(hù)服務(wù)器進(jìn)行初始化0,每次發(fā)送一個(gè)推送消息,seq載荷的值就增1。群組賬戶(hù)通過(guò)拉取消息獲得當(dāng)前的seq值,之后通過(guò)推送消息接收到的seq必須大于先前的seq值,如果小于或等于那么說(shuō)明發(fā)生了報(bào)文重放,必須丟棄該消息。
wtm稱(chēng)為水印載荷,防止群組賬戶(hù)服務(wù)器被惡意冒充;群組賬戶(hù)在接收到群組賬戶(hù)服務(wù)器發(fā)送的推送消息后,先驗(yàn)證wtm,如果驗(yàn)證通過(guò)則接受該消息,如果不符合則直接丟棄該消息。
本發(fā)明設(shè)計(jì)自己的協(xié)議棧結(jié)構(gòu),并實(shí)現(xiàn)在移動(dòng)虛擬專(zhuān)網(wǎng)的在ip網(wǎng)絡(luò)設(shè)備中配置賬戶(hù)服務(wù)器和賬戶(hù)實(shí)現(xiàn)客戶(hù)的組網(wǎng)要求,下文介紹實(shí)現(xiàn)組網(wǎng)的協(xié)議棧結(jié)構(gòu)和事件流。在應(yīng)用層設(shè)計(jì)認(rèn)證模塊、多播安全規(guī)則模塊和密鑰交換模塊,而在報(bào)文轉(zhuǎn)發(fā)的網(wǎng)絡(luò)層本發(fā)明使用成熟的socks5協(xié)議。整個(gè)協(xié)議棧系統(tǒng)分為控制平面和數(shù)據(jù)平面??刂破矫嬷幸?guī)則創(chuàng)建模塊用于在新賬戶(hù)加入賬戶(hù)群組時(shí)創(chuàng)建安全規(guī)則,密鑰傳輸模塊為賬戶(hù)下載和更新密鑰,其中包括ek和pk。存儲(chǔ)模塊用于存儲(chǔ)生成的安全規(guī)則與所有賬戶(hù)的id、公鑰信息,對(duì)多播數(shù)據(jù)的認(rèn)證提供認(rèn)證信息。數(shù)據(jù)平面中認(rèn)證模塊采用rsa算法對(duì)進(jìn)入/外出的數(shù)據(jù)進(jìn)行簽名認(rèn)證。網(wǎng)絡(luò)層的socks5模塊首先和安全規(guī)則模塊進(jìn)行交互,從而獲取到socks5的安全規(guī)則,接下來(lái)用于發(fā)送由認(rèn)證模塊簽名并且認(rèn)證的數(shù)據(jù)流。
在賬戶(hù)對(duì)報(bào)文的封包處理中,只有成功匹配了訪問(wèn)列表的報(bào)文才能進(jìn)行封包處理?;谌航M的移動(dòng)虛擬專(zhuān)網(wǎng)中的賬戶(hù)在本地配置訪問(wèn)列表并從賬戶(hù)服務(wù)器下載訪問(wèn)列表,且賬戶(hù)優(yōu)先匹配本地配置的訪問(wèn)列表。
如果賬戶(hù)已經(jīng)登錄成功,socks5群組賬戶(hù)已經(jīng)分發(fā)到規(guī)則應(yīng)用接口,數(shù)據(jù)報(bào)文開(kāi)始經(jīng)過(guò)接口進(jìn)行轉(zhuǎn)發(fā),則對(duì)路由到接口的ip報(bào)文進(jìn)行封包處理,如果配置了本地訪問(wèn)列表,則先匹配本地的訪問(wèn)列表,再匹配分發(fā)的訪問(wèn)列表,根據(jù)匹配結(jié)果做丟棄或進(jìn)行socks5封包處理。對(duì)查找不到訪問(wèn)列表的報(bào)文透?jìng)?,?duì)本機(jī)發(fā)送的協(xié)商報(bào)文不做處理。
在對(duì)報(bào)文進(jìn)行封包處理時(shí),如果socks5群組賬戶(hù)的封包模式為隧道模式,則設(shè)置外層封包的ip頭的源目的地址與內(nèi)層ip頭相同。當(dāng)滿(mǎn)足報(bào)文的大小超過(guò)socks5群組賬戶(hù)的最大封包長(zhǎng)度、報(bào)文沒(méi)有設(shè)置df標(biāo)記的條件后,賬戶(hù)先對(duì)待封包的報(bào)文進(jìn)行分片,然后再封包處理。
賬戶(hù)對(duì)報(bào)文進(jìn)行解包處理,socks5對(duì)接口上送的socks5報(bào)文進(jìn)行解包處理。如果是轉(zhuǎn)發(fā)的報(bào)文,則優(yōu)先匹配賬戶(hù)服務(wù)器分發(fā)的訪問(wèn)列表,匹配規(guī)則時(shí)忽略上層協(xié)議和端口號(hào)。如果匹配到訪問(wèn)列表的拒絕規(guī)則,則需要繼續(xù)匹配,直到?jīng)]有匹配的允許規(guī)則再出現(xiàn)于報(bào)文。
如果是到本機(jī)的報(bào)文,則直接查找socks5群組賬戶(hù)對(duì)報(bào)文進(jìn)行解包。如果接收到的報(bào)文是明文,則無(wú)論是到本機(jī)還是轉(zhuǎn)發(fā),均先匹配本地訪問(wèn)列表,然后再匹配賬戶(hù)服務(wù)器分發(fā)的訪問(wèn)列表。
在賬戶(hù)向賬戶(hù)服務(wù)器進(jìn)行登錄時(shí),賬戶(hù)首先獲取本地配置的賬戶(hù)服務(wù)器列表中的第一個(gè)賬戶(hù)服務(wù)器并向其發(fā)起登錄,如果第一階段或者第二階段協(xié)商失敗,則賬戶(hù)嘗試向下一個(gè)賬戶(hù)服務(wù)器登錄,一直遍歷到賬戶(hù)服務(wù)器列表中的最后一個(gè)。如果賬戶(hù)無(wú)法正常接收賬戶(hù)服務(wù)器應(yīng)答的報(bào)文,此時(shí)賬戶(hù)重發(fā)上一條報(bào)文,當(dāng)重發(fā)達(dá)到一定次數(shù)后則終止協(xié)商。。如果遍歷完所有賬戶(hù)服務(wù)器都沒(méi)登錄成功,則重新從賬戶(hù)服務(wù)器列表中的第一個(gè)開(kāi)始進(jìn)行第二輪嘗試登錄,一直到登錄成功為止。
在賬戶(hù)登錄成功后,會(huì)根據(jù)賬戶(hù)服務(wù)器分發(fā)的socks5群組賬戶(hù)密鑰和重加密密鑰的有效期計(jì)算出重登錄的時(shí)間并刷新該登錄定時(shí)器。如果在該定時(shí)器超時(shí)時(shí)間內(nèi)賬戶(hù)沒(méi)有接收到賬戶(hù)服務(wù)器發(fā)送的重加密報(bào)文,則賬戶(hù)重新向該賬戶(hù)服務(wù)器進(jìn)行登錄并獲取新的密鑰信息。重登錄時(shí)間的計(jì)算方法是:先分別計(jì)算socks5群組賬戶(hù)密鑰和重加密密鑰的重登錄時(shí)間,然后再取其中最小時(shí)間為賬戶(hù)的重登錄時(shí)間。
socks5群組賬戶(hù)密鑰重登錄時(shí)間的計(jì)算步驟:
1.先分別計(jì)算保護(hù)每一條數(shù)據(jù)流的所有socks5群組賬戶(hù)中最大的有效期,再?gòu)闹蝎@取最小的有效期做為當(dāng)前賬戶(hù)組中的socks5群組賬戶(hù)有效期;
2.如果socks5群組賬戶(hù)密鑰的有效期大于預(yù)定義最大閾值,則重登錄時(shí)間=群組賬戶(hù)密鑰有效期-(60+0到(socks5群組賬戶(hù)密鑰有效期*10%-60)/2)之間的隨機(jī)值);
3.如果socks5群組賬戶(hù)密鑰的有效期在預(yù)設(shè)最小閾值和最大閾值之間,則重登錄時(shí)間=socks5群組賬戶(hù)密鑰有效期-60到75之間的隨機(jī)值;
4.如果socks5群組賬戶(hù)的有效期小于預(yù)設(shè)最小閾值時(shí),則重登錄時(shí)間=socks5群組賬戶(hù)生命周期有效期-1到30之間的隨機(jī)值;
重加密密鑰的重登錄時(shí)間的計(jì)算方法為:
1.計(jì)算賬戶(hù)服務(wù)器分發(fā)的重加密密鑰的最小有效期;
2.如果重加密密鑰的有效期大于預(yù)設(shè)第一閾值,則重登錄時(shí)間=重加密密鑰有效期-50到150之間的隨機(jī)值;
3.如果重加密密鑰的有效期小于等于預(yù)設(shè)第二閾值,則重登錄時(shí)間=重加密密鑰有效期+5到25之間的隨機(jī)值。
在賬戶(hù)登錄成功后,根據(jù)賬戶(hù)服務(wù)器分發(fā)規(guī)則的優(yōu)先級(jí)確定轉(zhuǎn)發(fā)出方向使用的socks5群組賬戶(hù)密鑰。在密鑰過(guò)期后,賬戶(hù)服務(wù)器更新密鑰并分發(fā)給所有賬戶(hù)。
綜上所述,本發(fā)明提出了一種網(wǎng)絡(luò)代理賬戶(hù)控制方法,實(shí)現(xiàn)了不同賬戶(hù)密鑰和規(guī)則的安全集中管理和多點(diǎn)之間的無(wú)隧道連接,支持大規(guī)模擴(kuò)展,并且能夠保證大流量環(huán)境下的通信質(zhì)量。
顯然,本領(lǐng)域的技術(shù)人員應(yīng)該理解,上述的本發(fā)明的各模塊或各步驟可以用通用的計(jì)算系統(tǒng)來(lái)實(shí)現(xiàn),它們可以集中在單個(gè)的計(jì)算系統(tǒng)上,或者分布在多個(gè)計(jì)算系統(tǒng)所組成的網(wǎng)絡(luò)上,可選地,它們可以用計(jì)算系統(tǒng)可執(zhí)行的程序代碼來(lái)實(shí)現(xiàn),從而,可以將它們存儲(chǔ)在存儲(chǔ)系統(tǒng)中由計(jì)算系統(tǒng)來(lái)執(zhí)行。這樣,本發(fā)明不限制于任何特定的硬件和軟件結(jié)合。
應(yīng)當(dāng)理解的是,本發(fā)明的上述具體實(shí)施方式僅僅用于示例性說(shuō)明或解釋本發(fā)明的原理,而不構(gòu)成對(duì)本發(fā)明的限制。因此,在不偏離本發(fā)明的精神和范圍的情況下所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。此外,本發(fā)明所附權(quán)利要求旨在涵蓋落入所附權(quán)利要求范圍和邊界、或者這種范圍和邊界的等同形式內(nèi)的全部變化和修改例。