專利名稱:一種防止網(wǎng)絡(luò)攻擊的數(shù)據(jù)傳輸方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信領(lǐng)域,更具體地說,涉及一種防止網(wǎng)絡(luò)攻擊的數(shù)據(jù)傳輸方 法及系統(tǒng)。
背景技術(shù):
網(wǎng)管系統(tǒng)已為人們所熟知,在企業(yè)中其用于管理公司運營產(chǎn)品線中的每臺服務(wù)器。如附圖1所示,即目前網(wǎng)管系統(tǒng)的架構(gòu),其通過代理(Agent)收集每 臺服務(wù)器的狀態(tài),將收集到的數(shù)據(jù)集中到網(wǎng)絡(luò)管理系統(tǒng)(Network Management System, NMS) , NMS提供可視化的界面,可以監(jiān)控每臺服務(wù)器的運行狀態(tài), 也可以管理服務(wù)器。NMS和每臺服務(wù)器上的Agent通過用戶數(shù)據(jù)報協(xié)議(User Datagram Protocol, UDP)方式進行通訊,通訊數(shù)據(jù)中包括了 Agent收集到的服 務(wù)器運行的參數(shù),還包括NMS下達(dá)的管理指令。NMS和Agent之間的數(shù)據(jù)通訊要 能夠做到絕對可靠,也即Agent不能謊報軍情,NMS也不能隨意下達(dá)命令。但是目前常規(guī)的網(wǎng)絡(luò)通訊協(xié)議中,客戶端和服務(wù)器之間的數(shù)據(jù)采用不認(rèn)證 的方式進行傳輸,如實時流協(xié)議(Real Time Streaming Protocol, RTSP)、實 時傳輸協(xié)議(Real Time Transport Protocol, RTP )、超文本傳輸協(xié)議(Hypertext Transfer Protocol, HTTP)、域名服務(wù)器(Domain Name Server, DNS)協(xié)議等, 這些通訊協(xié)議既有文本的也有二進制的,它們都能實現(xiàn)某種既定的數(shù)據(jù)傳輸目 的,但有一個致命的缺陷, 一旦網(wǎng)絡(luò)數(shù)據(jù)包被黑客截獲,加以分析,并通過鏈 路層模擬客戶端或服務(wù)器,發(fā)出某些危險的指令,就可能非法獲取某些信息或 導(dǎo)致網(wǎng)絡(luò)系統(tǒng)的癱瘓。因此需要一種新的防止網(wǎng)絡(luò)攻擊的數(shù)據(jù)傳輸方法,從而防止遭受網(wǎng)絡(luò)攻擊, 提高系統(tǒng)安全性。發(fā)明內(nèi)容本發(fā)明的目的在于提供一種防止網(wǎng)絡(luò)攻擊的數(shù)據(jù)傳輸系統(tǒng),旨在解決現(xiàn)有 技術(shù)在網(wǎng)絡(luò)數(shù)據(jù)傳輸過程中存在的易受網(wǎng)絡(luò)攻擊、安全性低的問題。本發(fā)明的目的還在于提供一種防止網(wǎng)絡(luò)攻擊的數(shù)據(jù)傳輸方法,以更好地解 決現(xiàn)有技術(shù)中存在的上述問題。為了實現(xiàn)發(fā)明目的,所述防止網(wǎng)絡(luò)攻擊的數(shù)據(jù)傳輸系統(tǒng),包括客戶端和服 務(wù)器,在所述系統(tǒng)中互為本端和對端,所述客戶端和服務(wù)器均包括加密處理單元和認(rèn)證單元,用于在數(shù)據(jù)傳輸過程中相互進行身份認(rèn)證;所述加密處理單元根據(jù)固定函數(shù)對對端發(fā)送的序列數(shù)進行變換,并基于所述序列數(shù)按照雙方確定的加密算法得到加密數(shù);所述認(rèn)證單元根據(jù)對端發(fā)送的序列數(shù)和加密數(shù)對對端分身進行驗證。 優(yōu)選地,所述加密處理單元進一步包括序列更替模塊、加密數(shù)計算模塊; 所述序列更替模塊用于根據(jù)固定函數(shù)對對端發(fā)送的序列數(shù)進行變換; 所述加密數(shù)計算模塊按照雙方確定的加密算法,根據(jù)序列數(shù)計算得到加密數(shù)。優(yōu)選地,所述加密數(shù)計算模塊存儲有一個加密算法的配置文件,該配置文 件中記載至少一種信息-摘要算法,供本端或?qū)Χ诉x擇并協(xié)商一致。為了更好地實現(xiàn)發(fā)明目的,所述防止網(wǎng)絡(luò)攻擊的數(shù)據(jù)傳輸方法中,客戶端 和服務(wù)器互為本端和對端,所述方法包括以下步驟A. 本端發(fā)送握手消息至對端,接收對端反饋的序列數(shù)及傳輸數(shù)據(jù),并接收 對端根據(jù)所述序列數(shù)生成的第 一加密數(shù);B. 本端根據(jù)所述第一加密數(shù)驗證對端身份,再對所述序列數(shù)進行變換,根 據(jù)變換后的序列數(shù)及傳輸數(shù)據(jù)計算第二加密數(shù),將所述第二加密數(shù)發(fā)送至對端;C. 對端接收到本端發(fā)送的第二加密數(shù),則根據(jù)所述第二加密數(shù)驗證本端身份;所述第一加密數(shù)和第二加密數(shù)通過一致的加密算法所得。 優(yōu)選地,所述步驟B中計算加密數(shù)的過程進一步包括 B1 .按照固定函數(shù)對序列數(shù)進行變換; 82.基于所述序列數(shù),按照加密算法計算得到第二加密數(shù)。 優(yōu)選地,所述步驟B1中的固定函數(shù)是一個單調(diào)函數(shù),公式為x^x+a,其中a 是非零整數(shù)。優(yōu)選地,所述步驟Bl中a的取值為l。優(yōu)選地,所述加密算法從本端存儲的配置文件中提取,并與對端協(xié)商一致。 優(yōu)選地,所述配置文件中包括至少一種信息-摘要算法。本發(fā)明通過在數(shù)據(jù)傳輸時,采用動態(tài)的加密算法計算加密數(shù),也即每次 序列數(shù)固定變換(如每次加l),再根據(jù)加密算法計算加密數(shù),然后雙方認(rèn)證。 這樣就使得黑客無法捕捉或篡改數(shù)據(jù)包,提高了網(wǎng)絡(luò)安全。
圖l是現(xiàn)有技術(shù)中的數(shù)據(jù)傳輸系統(tǒng)結(jié)構(gòu)圖;圖2是本發(fā)明中防止網(wǎng)絡(luò)攻擊的數(shù)據(jù)傳輸系統(tǒng)結(jié)構(gòu)圖;圖3是本發(fā)明的 一 個實施例中客戶端的結(jié)構(gòu)圖;圖4是本發(fā)明中防止網(wǎng)絡(luò)攻擊的數(shù)據(jù)傳輸方法流程圖;圖5是本發(fā)明的 一個實施例中防止網(wǎng)絡(luò)攻擊的數(shù)據(jù)傳輸方法的時序圖。
具體實施方式
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實 施例,對本發(fā)明進行進一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅 僅用以解釋本發(fā)明,并不用于限定本發(fā)明。本發(fā)明通過在數(shù)據(jù)傳輸時,每次本端對接收到的序列數(shù)固定變換(如每次 加l),再根據(jù)加密算法計算加密數(shù),然后雙方認(rèn)證。這樣就使得黑客無法捕捉 或篡改數(shù)據(jù)包,提高了網(wǎng)絡(luò)安全。圖2示出了本發(fā)明中防止網(wǎng)絡(luò)攻擊的數(shù)據(jù)傳輸系統(tǒng)結(jié)構(gòu),包括客戶端100和 服務(wù)器200,其中客戶端100包括信息收發(fā)單元101、加密處理單元102、認(rèn)證單 元103,服務(wù)器200包括信息收發(fā)單元201、加密處理單元202、認(rèn)證單元203。在 本發(fā)明中,客戶端100中各單元的功能與服務(wù)器200中是對等的,兩者需要相互 驗證身份,因此在本發(fā)明中互為本端和對端。現(xiàn)以客戶端100為例,對各功能單元進行說明(1 )信息收發(fā)單元101與加密處理單元102進行數(shù)據(jù)交互,用于與服務(wù)器200 進行信息交互。包括發(fā)送握手消息至服務(wù)器200;接收服務(wù)器200反饋的傳輸 數(shù)據(jù)及序列數(shù),并送入加密處理單元102;將加密處理單元102計算得到的加密 數(shù)發(fā)送給服務(wù)器200進行驗證;以及接收服務(wù)器200發(fā)送的加密數(shù),并將其送入 認(rèn)證單元103進行驗證。(2)加密處理單元102與信息收發(fā)單元101進行數(shù)據(jù)交互,用于根據(jù)變換后的序列數(shù)及傳輸數(shù)據(jù)計算加密數(shù)。在本發(fā)明的一個示例方案中,如圖3所示,該 加密處理單元102進一步包括序列更替模塊1021、加密數(shù)計算模塊1022,其中序列更替模塊1021用于根據(jù)固定函數(shù)對對端發(fā)送的序列數(shù)進行變換。在一 個實施例中,該固定函數(shù)是一個單調(diào)函數(shù),公式為X3+a,其中a是非零整數(shù), 比如a的數(shù)值可以取l。加密數(shù)計算模塊1022按照雙方確定的加密算法,根據(jù)序列數(shù)計算得到加密 數(shù)。該加密算法可以是多種,例如是信息-摘要算法5( Message-Digest Algorithm 5, MD5),只要雙方確定均釆用該算法即可。在一個典型實施例中,加密數(shù)計 算模塊1022存儲有一個加密算法的配置文件,該配置文件中記載至少一種信息 -摘要算法,并對各種算法進行編號,本端和對端在首次握手時,使用初始默 認(rèn)的同一編號的加密算法進行加密,此后若變換加密算法,則在本端發(fā)送的請 求信息中更換加密算法的編號,對端根據(jù)請求信息在配置文件中啟動與該編號 對應(yīng)的其他加密算法。由上可知,本發(fā)明中加密數(shù)的計算與序列數(shù)相關(guān),而序 列數(shù)每次都是不重復(fù)(每次加l)的,且加密數(shù)與實際傳輸?shù)膬?nèi)容相關(guān)。因此只 要通訊雙方都知道加密方法就可以順利進行相互認(rèn)證,但是第三方則很難石皮解 加密數(shù),這就達(dá)到了防止黑客攻擊的目的。(3)認(rèn)證單元203與信息收發(fā)單元101進行數(shù)據(jù)交互,用于根據(jù)對端(即服 務(wù)器200)發(fā)送的序列數(shù)和加密數(shù)對對端分身進行驗證。其具體的驗證過程可參 照現(xiàn)有技術(shù)。如前所述,客戶端100中各單元的功能與服務(wù)器200中是對等的,因此服務(wù) 器200中各單元的功能不再贅述。圖4示出了本發(fā)明中防止網(wǎng)絡(luò)攻擊的數(shù)據(jù)傳輸方法流程,該方法流程基于圖 2所示的系統(tǒng)結(jié)構(gòu)。在該方法流程中,客戶端100和服務(wù)器200互為本端及對端, 具體過程如下在步驟S401中,本端發(fā)送握手消息至對端,并接收對端反饋的序列數(shù)及傳 輸數(shù)據(jù),以及接收對端根據(jù)序列數(shù)生成的第一加密數(shù)。在一個示例方案中,本 端是客戶端IOO,對端是服務(wù)器200。那么客戶端100發(fā)送握手消息至服務(wù)器200, 并接收服務(wù)器200反饋的序列數(shù)及傳輸數(shù)據(jù),以及接收服務(wù)器200根據(jù)序列數(shù)生 成的第一加密數(shù)。在另一個示例方案中,本端是服務(wù)器200,對端是客戶端IOO。 那么服務(wù)器200發(fā)送握手消息至客戶端100,并接收客戶端1 OO反饋的序列數(shù)及傳輸數(shù)據(jù),以及接收客戶端1 oo根據(jù)序列數(shù)生成的第 一加密數(shù)。在本發(fā)明中,第一加密數(shù)及后續(xù)的第二加密數(shù),直至第N加密數(shù),都是根據(jù)本端和對端協(xié)商 一致的加密算法進行計算所得。在步驟S402中,本端接收到數(shù)據(jù)后,根據(jù)第一加密數(shù)對對端身份進行驗證,然后對序列數(shù)進行變換,根據(jù)變換后的序列數(shù)及傳輸數(shù)據(jù)計算第二加密數(shù),并將第二加密數(shù)發(fā)送至對端。該步驟中計算第二加密數(shù)的步驟進一步包括(1)按照固定函數(shù)對序列數(shù)進行變換;(2)基于該序列數(shù),按照加密算法計算得到 第二加密數(shù)。在一個示例方案中,本端是客戶端IOO,對端是服務(wù)器200。那么 客戶端100根據(jù)變換后的序列數(shù)及傳輸數(shù)據(jù)計算第二加密數(shù),并將第二加密數(shù)發(fā) 送至服務(wù)器200。在另一個示例方案中,本端是JIl務(wù)器200,對端是客戶端IOO。 那么服務(wù)器200根據(jù)變換后的序列數(shù)及傳輸數(shù)據(jù)計算第二加密數(shù),并將第二加密 數(shù)發(fā)送至客戶端IOO。在一個實施例中,前述步驟(1)中的固定函數(shù)是一個單調(diào)函數(shù),公式為 x=x+a,其中a是非零整數(shù),比如a的數(shù)值可以取l。而步驟(2)中的加密算法可 以是MD5,或者其他類型的加密算法,只要雙方確定均采用該算法即可。在一 個典型實施例中,加密數(shù)計算模塊1022存儲有一個加密算法的配置文件,該配 置文件中記載至少一種信息-摘要算法,并對各種算法進行編號,本端和對端 在首次握手時,使用初始默認(rèn)的同一編號的加密算法進行加密,此后若變換加 密算法,則在本端發(fā)送的請求信息中更換加密算法的編號,對端根據(jù)請求信息 在配置文件中啟動與該編號對應(yīng)的其他加密算法。在步驟S403中,對端根據(jù)加密數(shù)驗證本端身份是否合法。在一個示例方案 中,本端是客戶端IOO,對端是服務(wù)器200。那么服務(wù)器200根據(jù)第二加密數(shù)'^ii 客戶端100身份是否合法。在另一個示例方案中,本端是服務(wù)器200,對端是客 戶端100。那么客戶端1 OO根據(jù)第二加密數(shù)驗證服務(wù)器200身份是否合法。圖5是本發(fā)明的一個實施例中防止網(wǎng)絡(luò)攻擊的數(shù)據(jù)傳輸方法的時序圖。該方 法時序基于圖2、圖3所示的系統(tǒng)結(jié)構(gòu)及圖4所示的方法流程。該實施例是一個典 型的應(yīng)用場景,展示了雙方在一次數(shù)據(jù)傳輸過程中進行身份驗證的全過程。具 體過程如下步驟l:客戶端100發(fā)送握手消息至服務(wù)器200。步驟2:服務(wù)器200生成序列數(shù),根據(jù)該序列數(shù)計算第一加密數(shù),然后將序列數(shù)、第一加密數(shù)和傳輸數(shù)據(jù)均發(fā)送給客戶端IOO。該本實施例中,加密算法采用信息-摘要算法5 (Message-Digest Algorithm 5, MD5 )。步驟3:服務(wù)器200反饋序列數(shù)、傳輸數(shù)據(jù)、第一加密數(shù)至客戶端100。 步驟4:客戶端100通過其信息收發(fā)單元101收到序列數(shù)及傳輸數(shù)據(jù)后,利用加密處理單元102按照固定函數(shù)對序列數(shù)進行變換。在該實施例中,固定函數(shù)是一個單調(diào)函數(shù),公式為x-x+l,也即每次對序列數(shù)進行加l處理。步驟5:客戶端100進一步利用加密處理單元102根據(jù)序列數(shù)和此前的傳輸數(shù)據(jù)計算第二加密數(shù)。此時所采用的加密算法與第一加密數(shù)的計算方法一致,還是釆用MD5。由上可知,加密數(shù)的計算與序列數(shù)相關(guān),而序列數(shù)每次都是不重 復(fù)(每次加l)的,且加密數(shù)與實際傳輸?shù)膬?nèi)容相關(guān)。因此只要通訊雙方都知道 加密方法就可以順利進行相互認(rèn)證,但是第三方則很難破解加密數(shù),這就達(dá)到 了防止黑客攻擊的目的。步驟6:客戶端100利用其信息收發(fā)單元101發(fā)送序列數(shù)及第二加密數(shù)至服務(wù) 器200。步驟7:服務(wù)器200根據(jù)序列數(shù)及加密數(shù)驗證客戶端100的身份是否合法如 不合法則結(jié)束,如合法則繼續(xù)執(zhí)行后續(xù)步驟。以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā) 明的精神和原則之內(nèi)所作的任何修改、等同替換和改進等,均應(yīng)包含在本發(fā)明 的保護范圍之內(nèi)。
權(quán)利要求
1、一種防止網(wǎng)絡(luò)攻擊的數(shù)據(jù)傳輸系統(tǒng),包括客戶端和服務(wù)器,在所述系統(tǒng)中互為本端和對端,其特征在于,所述客戶端和服務(wù)器均包括加密處理單元和認(rèn)證單元,用于在數(shù)據(jù)傳輸過程中相互進行身份認(rèn)證;所述加密處理單元根據(jù)固定函數(shù)對對端發(fā)送的序列數(shù)進行變換,并基于所述序列數(shù)按照雙方確定的加密算法得到加密數(shù);所述認(rèn)證單元根據(jù)對端發(fā)送的序列數(shù)和加密數(shù)對對端分身進行驗證。
2、 根據(jù)權(quán)利要求l所述的防止網(wǎng)絡(luò)攻擊的數(shù)據(jù)傳輸系統(tǒng),其特征在于,所 述加密處理單元進一步包括序列更替模塊、加密數(shù)計算模塊;所述序列更替模塊用于根據(jù)固定函數(shù)對對端發(fā)送的序列數(shù)進行變換; 所述加密數(shù)計算模塊按照雙方確定的加密算法,根據(jù)序列數(shù)計算加密數(shù)。
3、 根據(jù)權(quán)利要求2所述的防止網(wǎng)絡(luò)攻擊的數(shù)據(jù)傳輸系統(tǒng),其特征在于,所 述加密數(shù)計算模塊存儲有一個加密算法的配置文件,該配置文件中記載至少一 種信息-摘要算法,供本端或?qū)Χ诉x擇并協(xié)商一致。
4、 一種基于權(quán)利要求l所述系統(tǒng)防止網(wǎng)絡(luò)攻擊的數(shù)據(jù)傳輸方法,其中客戶 端和服務(wù)器互為本端和對端,其特征在于,所述方法包括以下步驟A. 本端發(fā)送握手消息至對端,接收對端反饋的序列數(shù)及傳輸數(shù)據(jù),并接收 對端根據(jù)所述序列數(shù)生成的第 一加密數(shù);B. 本端根據(jù)所述第一加密數(shù)驗證對端身份,再對所述序列數(shù)進行變換,根 據(jù)變換后的序列數(shù)及傳輸數(shù)據(jù)計算第二加密數(shù),將所述第二加密數(shù)發(fā)送至對端;C. 對端接收到本端發(fā)送的第二加密數(shù),則根據(jù)所述第二加密數(shù)驗證本端身份;所述第一加密數(shù)和第二加密數(shù)通過一致的加密算法所得。
5、 根據(jù)權(quán)利要求4所述的防止網(wǎng)絡(luò)攻擊的數(shù)據(jù)傳輸方法,其特征在于,所 述步驟B中計算加密數(shù)的過程進一步包括B1 .按照固定函數(shù)對序列數(shù)進行變換;B2,基于所述序列數(shù),按照加密算法計算得到第二加密數(shù)。
6、 根據(jù)權(quán)利要求5所述的防止網(wǎng)絡(luò)攻擊的數(shù)據(jù)傳輸方法,其特征在于,所 述步驟B1中的固定函數(shù)是一個單調(diào)函數(shù),公式為x^+a,其中a是非零整數(shù)。
7、 根據(jù)權(quán)利要求6所述的防止網(wǎng)絡(luò)攻擊的數(shù)據(jù)傳輸方法,其特征在于,所述步驟Bl中a的取值為l。
8、 根據(jù)權(quán)利要求4至7中任一權(quán)利要求所述的防止網(wǎng)絡(luò)攻擊的數(shù)據(jù)傳輸方 法,其特征在于,所述加密算法從本端存儲的配置文件中提取,并與對端協(xié)商 一致。
9、 根據(jù)權(quán)利要求8所述的防止網(wǎng)絡(luò)攻擊的數(shù)據(jù)傳輸方法,其特征在于,所 述配置文件中包括至少一種信息-摘要算法。
全文摘要
本發(fā)明涉及通信領(lǐng)域,提供了一種防止網(wǎng)絡(luò)攻擊的數(shù)據(jù)傳輸方法及系統(tǒng)。所述方法包括以下步驟A.本端發(fā)送握手消息至對端,接收對端反饋的序列數(shù)及傳輸數(shù)據(jù),并接收對端根據(jù)所述序列數(shù)生成的第一加密數(shù);B.本端根據(jù)所述第一加密數(shù)驗證對端身份,再對所述序列數(shù)進行變換,根據(jù)變換后的序列數(shù)及傳輸數(shù)據(jù)計算第二加密數(shù),將所述第二加密數(shù)發(fā)送至對端;C.對端接收到本端發(fā)送的第二加密數(shù),則根據(jù)所述第二加密數(shù)驗證本端身份;所述第一加密數(shù)和第二加密數(shù)通過一致的加密算法所得。本發(fā)明通過在數(shù)據(jù)傳輸時,采用動態(tài)的加密算法計算加密數(shù),使得黑客無法捕捉或篡改數(shù)據(jù)包,提高了網(wǎng)絡(luò)安全。
文檔編號H04L29/06GK101217532SQ200710125580
公開日2008年7月9日 申請日期2007年12月28日 優(yōu)先權(quán)日2007年12月28日
發(fā)明者昊 吳, 敏 湯, 鄭衍剛 申請人:深圳市融創(chuàng)天下科技發(fā)展有限公司