專利名稱:一種基于IPsec的報(bào)文傳輸方法和設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其是涉及一種基于IPsec (IP Security, IP安全)的報(bào)文傳輸方法和設(shè)備。
背景技術(shù):
IPsec是實(shí)現(xiàn)三層VPN (Virtual Private Network,虛擬專用網(wǎng))的技術(shù),通過(guò)建立IPsec隧道來(lái)傳輸數(shù)據(jù)報(bào)文,并在IP層提供以下安全服務(wù):數(shù)據(jù)機(jī)密性(IPsec發(fā)送端設(shè)備在通過(guò)網(wǎng)絡(luò)傳輸數(shù)據(jù)報(bào)文之前對(duì)數(shù)據(jù)報(bào)文進(jìn)行加密),數(shù)據(jù)完整性(IPsec接收端設(shè)備對(duì)數(shù)據(jù)報(bào)文進(jìn)行認(rèn)證,以確保數(shù)據(jù)報(bào)文在傳輸過(guò)程中沒(méi)有被篡改),數(shù)據(jù)來(lái)源認(rèn)證(IPsec接收端設(shè)備認(rèn)證IPsec發(fā)送端設(shè)備是否合法),防重放(IPsec接收端設(shè)備檢測(cè)并拒絕接收過(guò)時(shí)或重復(fù)的數(shù)據(jù)報(bào)文)。其中,IPsec提供了兩種安全機(jī)制:認(rèn)證機(jī)制和加密機(jī)制;認(rèn)證機(jī)制可以使得IPsec接收端設(shè)備能夠確認(rèn)IPsec發(fā)送端設(shè)備的真實(shí)身份以及數(shù)據(jù)報(bào)文在傳輸過(guò)程中是否遭到篡改;加密機(jī)制通過(guò)對(duì)數(shù)據(jù)報(bào)文進(jìn)行加密運(yùn)算來(lái)保證數(shù)據(jù)報(bào)文的機(jī)密性,以防止數(shù)據(jù)報(bào)文在傳輸過(guò)程中被竊聽(tīng)。IPsec包括AH(Authentication Header,認(rèn)證頭)和ESP(Encapsulating SecurityPayload,封裝安全載荷)等安全協(xié)議,并支持傳輸模式和隧道模式;如圖1所示,在傳輸模式下,數(shù)據(jù)報(bào)文的發(fā)送端(主機(jī)A,即IPsec發(fā)送端設(shè)備)和接收端(主機(jī)B,即IPsec接收端設(shè)備)為數(shù)據(jù)報(bào)文的實(shí)際發(fā)送端和接收端,通常情況下,傳輸模式用于保護(hù)兩臺(tái)主機(jī)之間的數(shù)據(jù)報(bào)文傳輸過(guò)程。如圖2所示,為傳輸模式下的數(shù)據(jù)報(bào)文封裝示意圖,在ESP封裝(即將數(shù)據(jù)報(bào)文封裝為ESP報(bào)文)之前,包括IP頭和內(nèi)部數(shù)據(jù)(數(shù)據(jù)報(bào)文頭和數(shù)據(jù)報(bào)文載荷);在進(jìn)行ESP封裝之后,包括IP頭、ESP頭、內(nèi)部數(shù)據(jù)和ESP尾;如圖3所示,為一種ESP報(bào)文的格式示意圖,其中包括ESP頭、內(nèi)部數(shù)據(jù)和ESP尾等。為了防止對(duì)ESP報(bào)文進(jìn)行攻擊,IPsec發(fā)送端設(shè)備在發(fā)送ESP報(bào)文時(shí),需要在ESP報(bào)文中隨機(jī)填充TFC (Traffic Flow Confidentiality,流信息保密)Padding (填充),且數(shù)據(jù)報(bào)文頭中需要明確內(nèi)部數(shù)據(jù)的長(zhǎng)度,以使IPsec接收端設(shè)備能夠?qū)FC Padding從ESP報(bào)文中刪除;而現(xiàn)有技術(shù)中,大部分協(xié)議的數(shù)據(jù)報(bào)文頭中均不會(huì)明確內(nèi)部數(shù)據(jù)的長(zhǎng)度,導(dǎo)致TFC Padding的應(yīng)用場(chǎng)景受到限制,即在沒(méi)有明確內(nèi)部數(shù)據(jù)長(zhǎng)度的應(yīng)用場(chǎng)景下無(wú)法使用TFCPadding 技術(shù)。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供一種基于IPsec的報(bào)文傳輸方法和設(shè)備,以提高傳輸模式下,TFC Padding應(yīng)用場(chǎng)景的使用范圍。為達(dá)上述目的,本發(fā)明實(shí)施例提供一種基于IPsec的報(bào)文傳輸方法,應(yīng)用于包括IPsec發(fā)送端設(shè)備和IPsec接收端設(shè)備的網(wǎng)絡(luò)中,該方法包括以下步驟:
所述IPsec發(fā)送端設(shè)備確定待發(fā)送給所述IPsec接收端設(shè)備的數(shù)據(jù)報(bào)文,所述數(shù)據(jù)報(bào)文中攜帶IP頭、數(shù)據(jù)報(bào)文頭、數(shù)據(jù)報(bào)文載荷;所述IPsec發(fā)送端設(shè)備將所述IP頭、數(shù)據(jù)報(bào)文頭、數(shù)據(jù)報(bào)文載荷添加到ESP報(bào)文中,并在所述ESP報(bào)文中添加TFC Padding,在所述TFC Padding的指定字段中添加TFCPadding的長(zhǎng)度或者數(shù)據(jù)報(bào)文頭與數(shù)據(jù)報(bào)文載荷的長(zhǎng)度;所述IPsec發(fā)送端設(shè)備對(duì)所述數(shù)據(jù)報(bào)文頭、數(shù)據(jù)報(bào)文載荷、TFC Padding、TFCPadding的長(zhǎng)度或者數(shù)據(jù)報(bào)文頭與數(shù)據(jù)報(bào)文載荷的長(zhǎng)度進(jìn)行IPsec處理,并將經(jīng)過(guò)IPsec處理后的ESP報(bào)文發(fā)送給所述IPsec接收端設(shè)備;由所述IPsec接收端設(shè)備利用TFC Padding的長(zhǎng)度或者數(shù)據(jù)報(bào)文頭與數(shù)據(jù)報(bào)文載荷的長(zhǎng)度確定TFC Padding的長(zhǎng)度,并利用所述TFC Padding的長(zhǎng)度從所述ESP報(bào)文中刪除TFC Padding,以得到所述數(shù)據(jù)報(bào)文。所述TFC Padding的指定字段具體為:所述TFC Padding中的最后兩位字節(jié);或者,所述IPsec發(fā)送端設(shè)備與所述IPsec接收端設(shè)備之間協(xié)商的TFC Padding中的指定位鉻的多個(gè)字節(jié)。本發(fā)明實(shí)施例提供一種基于IPsec的報(bào)文傳輸方法,應(yīng)用于包括IPsec發(fā)送端設(shè)備和IPsec接收端設(shè)備的網(wǎng)絡(luò)中,該方法包括以下步驟:所述IPsec接收端設(shè)備接收來(lái)自所述IPsec發(fā)送端設(shè)備的ESP報(bào)文,所述ESP報(bào)文中攜帶了 IP頭,經(jīng)過(guò)IPsec處理后的數(shù)據(jù)報(bào)文頭、數(shù)據(jù)報(bào)文載荷、TFC Padding、TFCPadding的長(zhǎng)度或者數(shù)據(jù)報(bào)文頭與數(shù)據(jù)報(bào)文載荷的長(zhǎng)度;所述IPsec接收端設(shè)備對(duì)所述數(shù)據(jù)報(bào)文頭、數(shù)據(jù)報(bào)文載荷、TFC Padding、TFCPadding的長(zhǎng)度或者數(shù)據(jù)報(bào)文頭與數(shù)據(jù)報(bào)文載荷的長(zhǎng)度進(jìn)行IPsec處理;所述IPsec接收端設(shè)備從所述TFC Padding的指定字段中獲得TFC Padding的長(zhǎng)度或者數(shù)據(jù)報(bào)文頭與數(shù)據(jù)報(bào)文載荷的長(zhǎng)度;所述IPsec接收端設(shè)備利用TFC Padding的長(zhǎng)度或者數(shù)據(jù)報(bào)文頭與數(shù)據(jù)報(bào)文載荷的長(zhǎng)度確定TFC Padding的長(zhǎng)度,并利用所述TFC Padding的長(zhǎng)度從所述ESP報(bào)文中刪除TFC Padding,以得到數(shù)據(jù)報(bào)文頭與數(shù)據(jù)報(bào)文載荷;所述IPsec接收端設(shè)備利用所述IP頭、數(shù)據(jù)報(bào)文頭和數(shù)據(jù)報(bào)文載荷得到所述IPsec發(fā)送端設(shè)備需要發(fā)送給所述IPsec接收端設(shè)備的數(shù)據(jù)報(bào)文。所述IPsec接收端設(shè)備利用數(shù)據(jù)報(bào)文頭與數(shù)據(jù)報(bào)文載荷的長(zhǎng)度確定TFC Padding的長(zhǎng)度,具體包括:所述IPsec接收端設(shè)備確定數(shù)據(jù)報(bào)文頭、數(shù)據(jù)報(bào)文載荷、TFC Padding的長(zhǎng)度之和,并確定TFC Padding的長(zhǎng)度為數(shù)據(jù)報(bào)文頭、數(shù)據(jù)報(bào)文載荷、TFC Padding的長(zhǎng)度之和減去數(shù)據(jù)報(bào)文頭與數(shù)據(jù)報(bào)文載荷的長(zhǎng)度。所述TFC Padding的指定字段具體為:所述TFC Padding中的最后兩位字節(jié);或者,所述IPsec接收端設(shè)備與所述IPsec發(fā)送端設(shè)備之間協(xié)商的TFC Padding中的指定位鉻的多個(gè)字節(jié)。本發(fā)明實(shí)施例提供一種IPsec發(fā)送端設(shè)備,應(yīng)用于包括所述IPsec發(fā)送端設(shè)備和IPsec接收端設(shè)備的網(wǎng)絡(luò)中,所述IPsec發(fā)送端設(shè)備具體包括:確定模塊,用于確定待發(fā)送給所述IPsec接收端設(shè)備的數(shù)據(jù)報(bào)文,所述數(shù)據(jù)報(bào)文中攜帶IP頭、數(shù)據(jù)報(bào)文頭、數(shù)據(jù)報(bào)文載荷;處理模塊,用于將所述IP頭、數(shù)據(jù)報(bào)文頭、數(shù)據(jù)報(bào)文載荷添加到ESP報(bào)文中,并在所述ESP報(bào)文中添加TFC Padding,并在所述TFC Padding的指定字段中添加TFC Padding的長(zhǎng)度或者數(shù)據(jù)報(bào)文頭與數(shù)據(jù)報(bào)文載荷的長(zhǎng)度;以及,對(duì)所述數(shù)據(jù)報(bào)文頭、數(shù)據(jù)報(bào)文載荷、TFC Padding、TFC Padding的長(zhǎng)度或者數(shù)據(jù)報(bào)文頭與數(shù)據(jù)報(bào)文載荷的長(zhǎng)度進(jìn)行IPsec處理;發(fā)送模塊,用于將經(jīng)過(guò)IPsec處理后的ESP報(bào)文發(fā)送給所述IPsec接收端設(shè)備;由所述IPsec接收端設(shè)備利用TFC Padding的長(zhǎng)度或者數(shù)據(jù)報(bào)文頭與數(shù)據(jù)報(bào)文載荷的長(zhǎng)度確定TFC Padding的長(zhǎng)度,并利用所述TFC Padding的長(zhǎng)度從所述ESP報(bào)文中刪除TFCPadding,以得到所述數(shù)據(jù)報(bào)文。所述TFC Padding的指定字段具體為:所述TFC Padding中的最后兩位字節(jié);或者,所述IPsec發(fā)送端設(shè)備與所述IPsec接收端設(shè)備之間協(xié)商的TFC Padding中的指定位鉻的多個(gè)字節(jié)。本發(fā)明實(shí)施例提供一種IPsec接收端設(shè)備,應(yīng)用于包括IPsec發(fā)送端設(shè)備和所述IPsec接收端設(shè)備的網(wǎng)絡(luò)中,所述IPsec接收端設(shè)備具體包括:接收模塊,用于接收來(lái)自所述IPsec發(fā)送端設(shè)備的ESP報(bào)文,所述ESP報(bào)文中攜帶了 IP頭,經(jīng)過(guò)IPsec處理后的數(shù)據(jù)報(bào)文頭、數(shù)據(jù)報(bào)文載荷、TFC Padding、TFC Padding的長(zhǎng)度或者數(shù)據(jù)報(bào)文頭與數(shù)據(jù)報(bào)文載荷的長(zhǎng)度;處理模塊,用于對(duì)所述數(shù)據(jù)報(bào)文頭、數(shù)據(jù)報(bào)文載荷、TFC Padding、TFC Padding的長(zhǎng)度或者數(shù)據(jù)報(bào)文頭與數(shù)據(jù)報(bào)文載荷的長(zhǎng)度進(jìn)行IPsec處理;確定模塊,用于從所述TFC Padding的指定字段中獲得TFC Padding的長(zhǎng)度或者數(shù)據(jù)報(bào)文頭與數(shù)據(jù)報(bào)文載荷的長(zhǎng)度,并利用TFC Padding的長(zhǎng)度或者數(shù)據(jù)報(bào)文頭與數(shù)據(jù)報(bào)文載荷的長(zhǎng)度確定TFC Padding的長(zhǎng)度,并利用所述TFC Padding的長(zhǎng)度從所述ESP報(bào)文中刪除TFC Padding,以得到數(shù)據(jù)報(bào)文頭與數(shù)據(jù)報(bào)文載荷;獲得模塊,用于利用所述IP頭、數(shù)據(jù)報(bào)文頭和數(shù)據(jù)報(bào)文載荷得到所述IPsec發(fā)送端設(shè)備需要發(fā)送給所述IPsec接收端設(shè)備的數(shù)據(jù)報(bào)文。所述確定模塊,具體用于確定數(shù)據(jù)報(bào)文頭、數(shù)據(jù)報(bào)文載荷、TFC Padding的長(zhǎng)度之和,并確定TFC Padding的長(zhǎng)度為數(shù)據(jù)報(bào)文頭、數(shù)據(jù)報(bào)文載荷、TFC Padding的長(zhǎng)度之和減去數(shù)據(jù)報(bào)文頭與數(shù)據(jù)報(bào)文載荷的長(zhǎng)度。所述TFC Padding的指定字段具體為:所述TFC Padding中的最后兩位字節(jié);或者,所述IPsec接收端設(shè)備與所述IPsec發(fā)送端設(shè)備之間協(xié)商的TFC Padding中的指定位鉻的多個(gè)字節(jié)。與現(xiàn)有技術(shù)相比,本發(fā)明實(shí)施例至少具有以下優(yōu)點(diǎn):本發(fā)明實(shí)施例中,IPsec發(fā)送端設(shè)備在發(fā)送ESP報(bào)文時(shí),需要在TFC Padding的指定字段中攜帶TFC Padding的長(zhǎng)度或者數(shù)據(jù)報(bào)文頭與數(shù)據(jù)報(bào)文載荷的長(zhǎng)度;基于此,IPsec接收端設(shè)備在收到ESP報(bào)文之后,能夠依據(jù)TFC Padding的長(zhǎng)度或者數(shù)據(jù)報(bào)文頭與數(shù)據(jù)報(bào)文載荷的長(zhǎng)度確定出TFC Padding的長(zhǎng)度,從而利用TFC Padding的長(zhǎng)度刪除TFC Padding ;上述過(guò)程中,不需要在數(shù)據(jù)報(bào)文頭中明確內(nèi)部數(shù)據(jù)的長(zhǎng)度,從而提高了傳輸模式下,TFC Padding應(yīng)用場(chǎng)景的使用范圍。
圖1是現(xiàn)有技術(shù)中傳輸模式下數(shù)據(jù)報(bào)文的傳輸過(guò)程示意圖;圖2是現(xiàn)有技術(shù)中傳輸模式下的數(shù)據(jù)報(bào)文封裝示意圖;圖3是現(xiàn)有技術(shù)中ESP報(bào)文的格式示意圖;圖4是本發(fā)明實(shí)施例提供的一種基于IPsec的報(bào)文傳輸方法流程示意圖;圖5是本發(fā)明實(shí)施例提供的一種IPsec發(fā)送端設(shè)備的結(jié)構(gòu)示意圖;圖6是本發(fā)明實(shí)施例提供的一種IPsec接收端設(shè)備的結(jié)構(gòu)示意圖。
具體實(shí)施例方式針對(duì)現(xiàn)有技術(shù)中存在的問(wèn)題,本發(fā)明實(shí)施例提供一種基于IPsec的報(bào)文傳輸方法,該方法應(yīng)用于包括IPsec發(fā)送端設(shè)備和IPsec接收端設(shè)備的網(wǎng)絡(luò)中,且該IPsec發(fā)送端設(shè)備與IPsec接收端設(shè)備之間采用基于IPsec的傳輸模式;以圖1為本發(fā)明實(shí)施例的應(yīng)用場(chǎng)景示意圖,IPsec發(fā)送端設(shè)備為主機(jī)A,IPsec接收端設(shè)備為主機(jī)B;如圖4所示,該方法包括以下步驟:步驟401,IPsec發(fā)送端設(shè)備確定待發(fā)送給IPsec接收端設(shè)備的數(shù)據(jù)報(bào)文,該數(shù)據(jù)報(bào)文中攜帶IP頭、數(shù)據(jù)報(bào)文頭、數(shù)據(jù)報(bào)文載荷。具體的,IPsec發(fā)送端設(shè)備在對(duì)數(shù)據(jù)報(bào)文進(jìn)行ESP封裝(即將數(shù)據(jù)報(bào)文封裝為ESP報(bào)文)之前,該數(shù)據(jù)報(bào)文中可以攜帶:IP頭(記為IPHdr)、數(shù)據(jù)報(bào)文頭(記為ProtoHdr)、數(shù)據(jù)報(bào)文載荷(記為ProtoPayload)。步驟402,IPsec發(fā)送端設(shè)備將IP頭、數(shù)據(jù)報(bào)文頭、數(shù)據(jù)報(bào)文載荷添加到ESP報(bào)文中,并在ESP報(bào)文中隨機(jī)添加TFC Padding,并在TFC Padding的指定字段中添加TFCPadding的長(zhǎng)度或者數(shù)據(jù)報(bào)文頭與數(shù)據(jù)報(bào)文載荷的長(zhǎng)度。針對(duì)數(shù)據(jù)報(bào)文頭中沒(méi)有攜帶數(shù)據(jù)報(bào)文頭與數(shù)據(jù)報(bào)文載荷長(zhǎng)度(即數(shù)據(jù)報(bào)文頭與數(shù)據(jù)報(bào)文載荷長(zhǎng)度之和)的應(yīng)用場(chǎng)景,如基于TCP (Transmission Control Protocol,傳輸控制協(xié)議)時(shí),不會(huì)攜帶數(shù)據(jù)報(bào)文頭與數(shù)據(jù)報(bào)文載荷的長(zhǎng)度;基于此,本發(fā)明實(shí)施例中,需要在TFC Padding的指定字段中添加TFC Padding的長(zhǎng)度(記為T(mén)FC-Padding-Length)或者數(shù)據(jù)報(bào)文頭與數(shù)據(jù)報(bào)文載荷的長(zhǎng)度。在本發(fā)明實(shí)施例的一種優(yōu)選實(shí)施方式中,TFC Padding的指定字段具體可以為T(mén)FCPadding中的最后兩位字節(jié);基于此,IPsec發(fā)送端設(shè)備可以將TFC Padding的最后兩個(gè)字節(jié)定義為T(mén)FC Padding的長(zhǎng)度;或者,將TFC Padding的最后兩個(gè)字節(jié)定義為數(shù)據(jù)報(bào)文頭與數(shù)據(jù)報(bào)文載荷的長(zhǎng)度。在本發(fā)明實(shí)施例的另一種優(yōu)選實(shí)施方式中,TFC Padding的指定字段具體可以為IPsec發(fā)送端設(shè)備與IPsec接收端設(shè)備之間協(xié)商的TFC Padding中的指定位絡(luò)的多個(gè)字節(jié),如:IPsec發(fā)送端設(shè)備與IPsec接收端設(shè)備協(xié)商TFC Padding中的第五字節(jié)和第六字節(jié)為指定字段;基于此,IPsec發(fā)送端設(shè)備可以將TFC Padding的第五字節(jié)和第六字節(jié)定義為T(mén)FCPadding的長(zhǎng)度;或者,將TFC Padding的第五字節(jié)和第六字節(jié)定義為數(shù)據(jù)報(bào)文頭與數(shù)據(jù)報(bào)文載荷的長(zhǎng)度。其中,IPsec發(fā)送端設(shè)備與IPsec接收端設(shè)備之間協(xié)商TFC Padding中的指定位鉻的多個(gè)字節(jié)為指定字段具體包括=IPsec發(fā)送端設(shè)備確定指定字段為T(mén)FC Padding中的指定位鉻的多個(gè)字節(jié),并將指定字段的信息通知給IPsec接收端設(shè)備(如通過(guò)IKE協(xié)商報(bào)文通知);或者,IPsec接收端設(shè)備確定指定字段為T(mén)FC Padding中的指定位鉻的多個(gè)字節(jié),并將指定字段的信息通知給IPsec發(fā)送端設(shè)備(如通過(guò)IKE協(xié)商響應(yīng)報(bào)文通知)。本發(fā)明實(shí)施例中,將IP頭、數(shù)據(jù)報(bào)文頭、數(shù)據(jù)報(bào)文載荷、TFC Padding、TFC Padding的長(zhǎng)度或者數(shù)據(jù)報(bào)文頭與數(shù)據(jù)報(bào)文載荷的長(zhǎng)度添加到ESP報(bào)文的過(guò)程為ESP封裝過(guò)程;基于圖3所示的ESP報(bào)文格式示意圖,在ESP封裝過(guò)程中,IPsec發(fā)送端設(shè)備還可以將SPI (Security Parameters Index,安全參數(shù)索引,4個(gè)字節(jié),用于索引解密使用的SA),Sequence Number (抗重放序列號(hào),4個(gè)字節(jié)),Padding (填充,即擴(kuò)展位,0_255個(gè)字節(jié),當(dāng)前要求數(shù)據(jù)報(bào)文長(zhǎng)度(以位為單位)模512為448,如果數(shù)據(jù)報(bào)文長(zhǎng)度不足,則使用擴(kuò)展位填充),Padding Length (填充長(zhǎng)度),Next Header (下一個(gè)協(xié)議頭)、Integrity CheckValue-1CV (完整性校驗(yàn)數(shù)據(jù))等內(nèi)容添加到ESP報(bào)文中。步驟403,IPsec發(fā)送端設(shè)備對(duì)數(shù)據(jù)報(bào)文頭、數(shù)據(jù)報(bào)文載荷、TFC Padding、TFCPadding的長(zhǎng)度或者數(shù)據(jù)報(bào)文頭與數(shù)據(jù)報(bào)文載荷的長(zhǎng)度進(jìn)行IPsec處理。本發(fā)明實(shí)施例的具體實(shí)施方式
中,IPsec發(fā)送端設(shè)備對(duì)數(shù)據(jù)報(bào)文頭、數(shù)據(jù)報(bào)文載荷、TFC Padding,TFC Padding的長(zhǎng)度或者數(shù)據(jù)報(bào)文頭與數(shù)據(jù)報(bào)文載荷的長(zhǎng)度進(jìn)行IPsec處理,具體包括但不限于=IPsec發(fā)送端設(shè)備對(duì)數(shù)據(jù)報(bào)文頭、數(shù)據(jù)報(bào)文載荷、TFC Padding、TFCPadding的長(zhǎng)度或者數(shù)據(jù)報(bào)文頭與數(shù)據(jù)報(bào)文載荷的長(zhǎng)度進(jìn)行加密處理;或者,IPsec發(fā)送端設(shè)備對(duì)數(shù)據(jù)報(bào)文頭、數(shù)據(jù)報(bào)文載荷、TFC Padding、TFC Padding的長(zhǎng)度或者數(shù)據(jù)報(bào)文頭與數(shù)據(jù)報(bào)文載荷的長(zhǎng)度進(jìn)行加密處理和認(rèn)證處理;加密處理和認(rèn)證處理過(guò)程不再贅述。此外,IPsec發(fā)送端設(shè)備還需要對(duì) Padding, Padding Length, Next Header 進(jìn)行加密處理;或者,IPsec發(fā)送端設(shè)備還需要對(duì)Padding, Padding Length, Next Header進(jìn)行加密處理和認(rèn)證處理;此外,IPsec發(fā)送端設(shè)備還需要對(duì)SPI, Sequence Number進(jìn)行認(rèn)證處理;加密處理和認(rèn)證處理過(guò)程不再贅述。本發(fā)明實(shí)施例中,IPsec發(fā)送端設(shè)備在對(duì)數(shù)據(jù)報(bào)文頭、數(shù)據(jù)報(bào)文載荷、TFCPadding、TFC Padding的長(zhǎng)度或者數(shù)據(jù)報(bào)文頭與數(shù)據(jù)報(bào)文載荷的長(zhǎng)度進(jìn)行IPsec處理之后,還需要調(diào)整IP頭中的IP數(shù)據(jù)長(zhǎng)度以及校驗(yàn)和。步驟404,IPsec發(fā)送端設(shè)備將經(jīng)過(guò)IPsec處理之后的ESP報(bào)文(即ESP封裝之后的報(bào)文,如圖3所示)發(fā)送給IPsec接收端設(shè)備。步驟405,IPsec接收端設(shè)備接收來(lái)自IPsec發(fā)送端設(shè)備的ESP報(bào)文,該ESP報(bào)文中攜帶了 IP頭,經(jīng)過(guò)IPsec處理后的數(shù)據(jù)報(bào)文頭、數(shù)據(jù)報(bào)文載荷、TFC Padding、TFC Padding的長(zhǎng)度或者數(shù)據(jù)報(bào)文頭與數(shù)據(jù)報(bào)文載荷的長(zhǎng)度。此外,該ESP報(bào)文中還攜帶了經(jīng)過(guò)IPsec處理后的SPI, Sequence Number,Padding, Padding Length, Next Header、Integrity Check Value-1CV 等內(nèi)容。步驟406,IPsec接收端設(shè)備對(duì)數(shù)據(jù)報(bào)文頭、數(shù)據(jù)報(bào)文載荷、TFC Padding、TFCPadding的長(zhǎng)度或者數(shù)據(jù)報(bào)文頭與數(shù)據(jù)報(bào)文載荷的長(zhǎng)度進(jìn)行IPsec處理。
本發(fā)明實(shí)施例的具體實(shí)施方式
中,基于步驟403中的IPsec處理處理方式,IPsec接收端設(shè)備對(duì)數(shù)據(jù)報(bào)文頭、數(shù)據(jù)報(bào)文載荷、TFC Padding、TFC Padding的長(zhǎng)度或者數(shù)據(jù)報(bào)文頭與數(shù)據(jù)報(bào)文載荷的長(zhǎng)度進(jìn)行IPsec處理,具體包括但不限于=IPsec接收端設(shè)備對(duì)數(shù)據(jù)報(bào)文頭、數(shù)據(jù)報(bào)文載荷、TFC Padding、TFC Padding的長(zhǎng)度或者數(shù)據(jù)報(bào)文頭與數(shù)據(jù)報(bào)文載荷的長(zhǎng)度進(jìn)行解密處理;或者,IPsec接收端設(shè)備對(duì)數(shù)據(jù)報(bào)文頭、數(shù)據(jù)報(bào)文載荷、TFC Padding、TFC Padding的長(zhǎng)度或者數(shù)據(jù)報(bào)文頭與數(shù)據(jù)報(bào)文載荷的長(zhǎng)度進(jìn)行解密處理和驗(yàn)證處理。此外,IPsec接收端設(shè)備還需要對(duì) Padding, Padding Length, Next Header 進(jìn)行解密處理;或者,IPsec接收端設(shè)備還需要對(duì)Padding, Padding Length, Next Header進(jìn)行解密處理和驗(yàn)證處理;此外,IPsec接收端設(shè)備還需要對(duì)SPI, Sequence Number進(jìn)行驗(yàn)證處理;解密處理和驗(yàn)證處理過(guò)程不再贅述。具體的,IPsec接收端設(shè)備在收到ESP報(bào)文之后,可以利用SPI查找對(duì)應(yīng)的SA(Security Association,安全聯(lián)盟),并利用查找到的SA對(duì)ESP報(bào)文(除了 IP頭之外的其它內(nèi)容)進(jìn)行解密處理和驗(yàn)證處理。步驟407,IPsec接收端設(shè)備從TFC Padding的指定字段中獲得TFC Padding的長(zhǎng)度或者數(shù)據(jù)報(bào)文頭與數(shù)據(jù)報(bào)文載荷的長(zhǎng)度,并利用TFC Padding的長(zhǎng)度或者數(shù)據(jù)報(bào)文頭與數(shù)據(jù)報(bào)文載荷的長(zhǎng)度確定TFC Padding的長(zhǎng)度。本發(fā)明實(shí)施例中,TFC Padding的指定字段具體為:TFC Padding中的最后兩位字節(jié);或者,IPsec接收端設(shè)備與IPsec發(fā)送端設(shè)備之間協(xié)商的TFC Padding中的指定位絡(luò)的多個(gè)字節(jié)。本發(fā)明實(shí)施例中,IPsec接收端設(shè)備利用TFC Padding的長(zhǎng)度或者數(shù)據(jù)報(bào)文頭與數(shù)據(jù)報(bào)文載荷的長(zhǎng)度確定TFC Padding的長(zhǎng)度,具體包括如下方式:方式一、IPsec接收端設(shè)備利用TFC Padding長(zhǎng)度字段的值直接確定TFCPadding的長(zhǎng)度;具體的,IPsec接收端設(shè)備對(duì)數(shù)據(jù)報(bào)文頭、數(shù)據(jù)報(bào)文載荷、TFC Padding、TFCPadding的長(zhǎng)度進(jìn)行IPsec處理之后,可以從ESP報(bào)文中得到TFC Padding長(zhǎng)度字段,繼而直接確定TFC Padding的長(zhǎng)度。方式二、IPsec接收端設(shè)備利用數(shù)據(jù)報(bào)文頭與數(shù)據(jù)報(bào)文載荷的長(zhǎng)度確定TFCPadding的長(zhǎng)度,具體包括=IPsec接收端設(shè)備對(duì)數(shù)據(jù)報(bào)文頭、數(shù)據(jù)報(bào)文載荷、TFC Padding、數(shù)據(jù)報(bào)文頭與數(shù)據(jù)報(bào)文載荷的長(zhǎng)度進(jìn)行IPsec處理之后,可計(jì)算數(shù)據(jù)報(bào)文頭、數(shù)據(jù)報(bào)文載荷、TFC Padding的長(zhǎng)度之和(即總長(zhǎng)度減其它內(nèi)容長(zhǎng)度),并從ESP報(bào)文中得到數(shù)據(jù)報(bào)文頭與數(shù)據(jù)報(bào)文載荷的長(zhǎng)度;進(jìn)一步,IPsec接收端設(shè)備確定TFC Padding的長(zhǎng)度為數(shù)據(jù)報(bào)文頭、數(shù)據(jù)報(bào)文載荷、TFC Padding的長(zhǎng)度之和減數(shù)據(jù)報(bào)文頭與數(shù)據(jù)報(bào)文載荷的長(zhǎng)度。步驟408,IPsec接收端設(shè)備利用TFC Padding的長(zhǎng)度從ESP報(bào)文中刪除TFCPadding,得到數(shù)據(jù)報(bào)文頭與數(shù)據(jù)報(bào)文載荷,并利用IP頭、數(shù)據(jù)報(bào)文頭和數(shù)據(jù)報(bào)文載荷得到IPsec發(fā)送端設(shè)備需要發(fā)送給IPsec接收端設(shè)備的數(shù)據(jù)報(bào)文。具體的,IPsec接收端設(shè)備在對(duì)數(shù)據(jù)報(bào)文頭、數(shù)據(jù)報(bào)文載荷、TFC Padding、TFCPadding的長(zhǎng)度或者數(shù)據(jù)報(bào)文頭與數(shù)據(jù)報(bào)文載荷的長(zhǎng)度、SPI, SequenceNumber, Padding,Padding Length, Next Header、Integrity Check Value-1CV 等內(nèi)容進(jìn)行 IPsec 處理之后,可以直接從ESP報(bào)文中刪除TFC Padding的長(zhǎng)度或者數(shù)據(jù)報(bào)文頭與數(shù)據(jù)報(bào)文載荷的長(zhǎng)度、SPI, Sequence Number, Padding, Padding Length, Next Header、Integrity CheckValue-1CV等內(nèi)容;并利用TFC Padding的長(zhǎng)度從ESP報(bào)文中刪除TFC Padding,之后可以得到數(shù)據(jù)報(bào)文頭與數(shù)據(jù)報(bào)文載荷,在補(bǔ)充IP頭之后,可以得到數(shù)據(jù)報(bào)文。本發(fā)明實(shí)施例中,IPsec發(fā)送端設(shè)備在發(fā)送ESP報(bào)文時(shí),需要在ESP報(bào)文中攜帶TFCPadding的長(zhǎng)度或者數(shù)據(jù)報(bào)文頭與數(shù)據(jù)報(bào)文載荷的長(zhǎng)度;基于此,IPsec接收端設(shè)備在收到ESP報(bào)文之后,能夠依據(jù)TFC Padding的長(zhǎng)度或者數(shù)據(jù)報(bào)文頭與數(shù)據(jù)報(bào)文載荷的長(zhǎng)度確定出TFC Padding的長(zhǎng)度,從而利用TFC Padding的長(zhǎng)度刪除TFC Padding ;上述過(guò)程中,不需要在數(shù)據(jù)報(bào)文頭中明確內(nèi)部數(shù)據(jù)的長(zhǎng)度,從而提高了傳輸模式下,TFC Padding應(yīng)用場(chǎng)景的使用范圍?;谂c上述方法同樣的發(fā)明構(gòu)思,本發(fā)明實(shí)施例中還提供了一種IPsec發(fā)送端設(shè)備,應(yīng)用于包括所述IPsec發(fā)送端設(shè)備和IPsec接收端設(shè)備的網(wǎng)絡(luò)中,如圖5所示,所述IPsec發(fā)送端設(shè)備具體包括:確定模塊11,用于確定待發(fā)送給所述IPsec接收端設(shè)備的數(shù)據(jù)報(bào)文,所述數(shù)據(jù)報(bào)文中攜帶IP頭、數(shù)據(jù)報(bào)文頭、數(shù)據(jù)報(bào)文載荷;處理模塊12,用于將所述IP頭、數(shù)據(jù)報(bào)文頭、數(shù)據(jù)報(bào)文載荷添加到ESP報(bào)文中,并在所述ESP報(bào)文中添加TFC Padding,并在所述TFC Padding的指定字段中添加TFCPadding的長(zhǎng)度或者數(shù)據(jù)報(bào)文頭與數(shù)據(jù)報(bào)文載荷的長(zhǎng)度;以及,對(duì)所述數(shù)據(jù)報(bào)文頭、數(shù)據(jù)報(bào)文載荷、TFC Padding、TFC Padding的長(zhǎng)度或者數(shù)據(jù)報(bào)文頭與數(shù)據(jù)報(bào)文載荷的長(zhǎng)度進(jìn)行IPsec處理;發(fā)送模塊13,用于將經(jīng)過(guò)IPsec處理后的ESP報(bào)文發(fā)送給所述IPsec接收端設(shè)備;由所述IPsec接收端設(shè)備利用TFC Padding的長(zhǎng)度或者數(shù)據(jù)報(bào)文頭與數(shù)據(jù)報(bào)文載荷的長(zhǎng)度確定TFC Padding的長(zhǎng)度,并利用所述TFC Padding的長(zhǎng)度從所述ESP報(bào)文中刪除TFCPadding,以得到所述數(shù)據(jù)報(bào)文。本發(fā)明實(shí)施例中,所述TFC Padding的指定字段具體為:所述TFC Padding中的最后兩位字節(jié);或者,所述IPsec發(fā)送端設(shè)備與所述IPsec接收端設(shè)備之間協(xié)商的TFC Padding中的指定位鉻的多個(gè)字節(jié)。其中,本發(fā)明裝鉻的各個(gè)模塊可以集成于一體,也可以分離部署。上述模塊可以合并為一個(gè)模塊,也可以進(jìn)一步拆分成多個(gè)子模塊。基于與上述方法同樣的發(fā)明構(gòu)思,本發(fā)明實(shí)施例中還提供了一種IPsec接收端設(shè)備,應(yīng)用于包括IPsec發(fā)送端設(shè)備和所述IPsec接收端設(shè)備的網(wǎng)絡(luò)中如圖6所示,所述IPsec接收端設(shè)備具體包括:接收模塊21,用于接收來(lái)自所述IPsec發(fā)送端設(shè)備的ESP報(bào)文,所述ESP報(bào)文中攜帶了 IP頭,經(jīng)過(guò)IPsec處理后的數(shù)據(jù)報(bào)文頭、數(shù)據(jù)報(bào)文載荷、TFC Padding、TFC Padding的長(zhǎng)度或者數(shù)據(jù)報(bào)文頭與數(shù)據(jù)報(bào)文載荷的長(zhǎng)度;處理模塊22,用于對(duì)所述數(shù)據(jù)報(bào)文頭、數(shù)據(jù)報(bào)文載荷、TFC Padding、TFC Padding的長(zhǎng)度或者數(shù)據(jù)報(bào)文頭與數(shù)據(jù)報(bào)文載荷的長(zhǎng)度進(jìn)行IPsec處理;確定模塊23,用于從所述TFC Padding的指定字段中獲得TFC Padding的長(zhǎng)度或者數(shù)據(jù)報(bào)文頭與數(shù)據(jù)報(bào)文載荷的長(zhǎng)度,并利用TFC Padding的長(zhǎng)度或者數(shù)據(jù)報(bào)文頭與數(shù)據(jù)報(bào)文載荷的長(zhǎng)度確定TFC Padding的長(zhǎng)度,并利用所述TFC Padding的長(zhǎng)度從所述ESP報(bào)文中刪除TFC Padding,以得到數(shù)據(jù)報(bào)文頭與數(shù)據(jù)報(bào)文載荷;獲得模塊24,用于利用所述IP頭、數(shù)據(jù)報(bào)文頭和數(shù)據(jù)報(bào)文載荷得到所述IPsec發(fā)送端設(shè)備需要發(fā)送給所述IPsec接收端設(shè)備的數(shù)據(jù)報(bào)文。所述確定模塊23,具體用于確定數(shù)據(jù)報(bào)文頭、數(shù)據(jù)報(bào)文載荷、TFC Padding的長(zhǎng)度之和,并確定TFC Padding的長(zhǎng)度為數(shù)據(jù)報(bào)文頭、數(shù)據(jù)報(bào)文載荷、TFC Padding的長(zhǎng)度之和減去數(shù)據(jù)報(bào)文頭與數(shù)據(jù)報(bào)文載荷的長(zhǎng)度。本發(fā)明實(shí)施例中,所述TFC Padding的指定字段具體為:所述TFC Padding中的最后兩位字節(jié);或者,所述IPsec接收端設(shè)備與所述IPsec發(fā)送端設(shè)備之間協(xié)商的TFC Padding中的指定位鉻的多個(gè)字節(jié)。其中,本發(fā)明裝鉻的各個(gè)模塊可以集成于一體,也可以分離部署。上述模塊可以合并為一個(gè)模塊,也可以進(jìn)一步拆分成多個(gè)子模塊。通過(guò)以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可借助軟件加必需的通用硬件平臺(tái)的方式來(lái)實(shí)現(xiàn),當(dāng)然也可以通過(guò)硬件,但很多情況下前者是更佳的實(shí)施方式。基于這樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述的方法。本領(lǐng)域技術(shù)人員可以理解附圖只是一個(gè)優(yōu)選實(shí)施例的示意圖,附圖中的模塊或流程并不一定是實(shí)施本發(fā)明所必須的。本領(lǐng)域技術(shù)人員可以理解實(shí)施例中的裝鉻中的模塊可以按照實(shí)施例描述進(jìn)行分布于實(shí)施例的裝鉻中,也可以進(jìn)行相應(yīng)變化位于不同于本實(shí)施例的一個(gè)或多個(gè)裝鉻中。上述實(shí)施例的模塊可以合并為一個(gè)模塊,也可以進(jìn)一步拆分成多個(gè)子模塊。上述本發(fā)明實(shí)施例序號(hào)僅僅為了描述,不代表實(shí)施例的優(yōu)劣。以上公開(kāi)的僅為本發(fā)明的幾個(gè)具體實(shí)施例,但是,本發(fā)明并非局限于此,任何本領(lǐng)域的技術(shù)人員能思之的變化都應(yīng)落入本發(fā)明的保護(hù)范圍。
權(quán)利要求
1.一種基于IPsec的報(bào)文傳輸方法,應(yīng)用于包括IPsec發(fā)送端設(shè)備和IPsec接收端設(shè)備的網(wǎng)絡(luò)中,其特征在于,該方法包括以下步驟: 所述IPsec發(fā)送端設(shè)備確定待發(fā)送給所述IPsec接收端設(shè)備的數(shù)據(jù)報(bào)文,所述數(shù)據(jù)報(bào)文中攜帶IP頭、數(shù)據(jù)報(bào)文頭、數(shù)據(jù)報(bào)文載荷; 所述IPsec發(fā)送端設(shè)備將所述IP頭、數(shù)據(jù)報(bào)文頭、數(shù)據(jù)報(bào)文載荷添加到ESP報(bào)文中,并在所述ESP報(bào)文中添加TFC Padding,在所述TFC Padding的指定字段中添加TFC Padding的長(zhǎng)度或者數(shù)據(jù)報(bào)文頭與數(shù)據(jù)報(bào)文載荷的長(zhǎng)度; 所述IPsec發(fā)送端設(shè)備對(duì)所述數(shù)據(jù)報(bào)文頭、數(shù)據(jù)報(bào)文載荷、TFC Padding、TFC Padding的長(zhǎng)度或者數(shù)據(jù)報(bào)文頭與數(shù)據(jù)報(bào)文載荷的長(zhǎng)度進(jìn)行IPsec處理,并將經(jīng)過(guò)IPsec處理后的ESP報(bào)文發(fā)送給所述IPsec接收端設(shè)備; 由所述IPsec接收端設(shè)備利用TFC Padding的長(zhǎng)度或者數(shù)據(jù)報(bào)文頭與數(shù)據(jù)報(bào)文載荷的長(zhǎng)度確定TFC Padding的長(zhǎng)度,并利用所述TFC Padding的長(zhǎng)度從所述ESP報(bào)文中刪除TFCPadding,以得到所述數(shù)據(jù)報(bào)文。
2.如權(quán)利要求1所述的方法,其特征在于,所述TFCPadding的指定字段具體為: 所述TFC Padding中的最后兩位字節(jié);或者, 所述IPsec發(fā)送端設(shè)備與所述IPsec接收端設(shè)備之間協(xié)商的TFC Padding中的指定位鉻的多個(gè)字節(jié)。
3.一種基于IPsec的報(bào)文傳輸方法,應(yīng)用于包括IPsec發(fā)送端設(shè)備和IPsec接收端設(shè)備的網(wǎng)絡(luò)中,其特征在于,該方法包括以下步驟: 所述IPsec接收端設(shè)備接收來(lái)自所述IPsec發(fā)送端設(shè)備的ESP報(bào)文,所述ESP報(bào)文中攜帶了 IP頭,經(jīng)過(guò)IPsec處理后的數(shù)據(jù)報(bào)文頭、數(shù)據(jù)報(bào)文載荷、TFC Padding、TFC Padding的長(zhǎng)度或者數(shù)據(jù)報(bào)文頭與數(shù)據(jù)報(bào)文載荷的長(zhǎng)度; 所述IPsec接收端設(shè)備對(duì)所述數(shù)據(jù)報(bào)文頭、數(shù)據(jù)報(bào)文載荷、TFC Padding、TFC Padding的長(zhǎng)度或者數(shù)據(jù)報(bào)文頭與數(shù)據(jù)報(bào)文載荷的長(zhǎng)度進(jìn)行IPsec處理; 所述IPsec接收端設(shè)備從所述TFC Padding的指定字段中獲得TFCPadding的長(zhǎng)度或者數(shù)據(jù)報(bào)文頭與數(shù)據(jù)報(bào)文載荷的長(zhǎng)度; 所述IPsec接收端設(shè)備利用TFC Padding的長(zhǎng)度或者數(shù)據(jù)報(bào)文頭與數(shù)據(jù)報(bào)文載荷的長(zhǎng)度確定TFC Padding的長(zhǎng)度,并利用所述TFC Padding的長(zhǎng)度從所述ESP報(bào)文中刪除TFCPadding,以得到數(shù)據(jù)報(bào)文頭與數(shù)據(jù)報(bào)文載荷; 所述IPsec接收端設(shè)備利用所述IP頭、數(shù)據(jù)報(bào)文頭和數(shù)據(jù)報(bào)文載荷得到所述IPsec發(fā)送端設(shè)備需要發(fā)送給所述IPsec接收端設(shè)備的數(shù)據(jù)報(bào)文。
4.如權(quán)利要求3所述的方法,其特征在于,所述IPsec接收端設(shè)備利用數(shù)據(jù)報(bào)文頭與數(shù)據(jù)報(bào)文載荷的長(zhǎng)度確定TFC Padding的長(zhǎng)度,具體包括: 所述IPsec接收端設(shè)備確定數(shù)據(jù)報(bào)文頭、數(shù)據(jù)報(bào)文載荷、TFC Padding的長(zhǎng)度之和,并確定TFC Padding的長(zhǎng)度為數(shù)據(jù)報(bào)文頭、數(shù)據(jù)報(bào)文載荷、TFC Padding的長(zhǎng)度之和減去數(shù)據(jù)報(bào)文頭與數(shù)據(jù)報(bào)文載荷的長(zhǎng)度。
5.如權(quán)利要求3或4所述的方法,其特征在于,所述TFCPadding的指定字段具體為: 所述TFC Padding中的最后兩位字節(jié);或者, 所述IPsec接收端設(shè)備與所述IPsec發(fā)送端設(shè)備之間協(xié)商的TFC Padding中的指定位鉻的多個(gè)字節(jié)。
6.一種IPsec發(fā)送端設(shè)備,應(yīng)用于包括所述IPsec發(fā)送端設(shè)備和IPsec接收端設(shè)備的網(wǎng)絡(luò)中,其特征在于,所述IPsec發(fā)送端設(shè)備具體包括: 確定模塊,用于確定待發(fā)送給所述IPsec接收端設(shè)備的數(shù)據(jù)報(bào)文,所述數(shù)據(jù)報(bào)文中攜帶IP頭、數(shù)據(jù)報(bào)文頭、數(shù)據(jù)報(bào)文載荷; 處理模塊,用于將所述IP頭、數(shù)據(jù)報(bào)文頭、數(shù)據(jù)報(bào)文載荷添加到ESP報(bào)文中,并在所述ESP報(bào)文中添加TFC Padding,并在所述TFC Padding的指定字段中添加TFC Padding的長(zhǎng)度或者數(shù)據(jù)報(bào)文頭與數(shù)據(jù)報(bào)文載荷的長(zhǎng)度; 以及,對(duì)所述數(shù)據(jù)報(bào)文頭、數(shù)據(jù)報(bào)文載荷、TFC Padding、TFC Padding的長(zhǎng)度或者數(shù)據(jù)報(bào)文頭與數(shù)據(jù)報(bào)文載荷的長(zhǎng)度進(jìn)行IPsec處理; 發(fā)送模塊,用于將經(jīng)過(guò)IPsec處理后的ESP報(bào)文發(fā)送給所述IPsec接收端設(shè)備;由所述IPsec接收端設(shè)備利用TFC Padding的長(zhǎng)度或者數(shù)據(jù)報(bào)文頭與數(shù)據(jù)報(bào)文載荷的長(zhǎng)度確定TFC Padding的長(zhǎng)度,并利用所述TFC Padding的長(zhǎng)度從所述ESP報(bào)文中刪除TFC Padding,以得到所述數(shù)據(jù)報(bào)文。
7.如權(quán)利要求6所述的IPsec發(fā)送端設(shè)備,其特征在于,所述TFCPadding的指定字段具體為: 所述TFC Padding中的最后兩位字節(jié);或者, 所述IPsec發(fā)送端設(shè)備與所述IPsec接收端設(shè)備之間協(xié)商的TFC Padding中的指定位鉻的多個(gè)字節(jié)。
8.—種IPsec接收端設(shè)備,應(yīng)用于包括IPsec發(fā)送端設(shè)備和所述IPsec接收端設(shè)備的網(wǎng)絡(luò)中,其特征在于,所述IPsec接收端設(shè)備具體包括: 接收模塊,用于接收來(lái)自所述IPsec發(fā)送端設(shè)備的ESP報(bào)文,所述ESP報(bào)文中攜帶了 IP頭,經(jīng)過(guò)IPsec處理后的數(shù)據(jù)報(bào)文頭、數(shù)據(jù)報(bào)文載荷、TFC Padding、TFC Padding的長(zhǎng)度或者數(shù)據(jù)報(bào)文頭與數(shù)據(jù)報(bào)文載荷的長(zhǎng)度; 處理模塊,用于對(duì)所述數(shù)據(jù)報(bào)文頭、數(shù)據(jù)報(bào)文載荷、TFC Padding、TFC Padding的長(zhǎng)度或者數(shù)據(jù)報(bào)文頭與數(shù)據(jù)報(bào)文載荷的長(zhǎng)度進(jìn)行IPsec處理; 確定模塊,用于從所述TFC Padding的指定字段中獲得TFC Padding的長(zhǎng)度或者數(shù)據(jù)報(bào)文頭與數(shù)據(jù)報(bào)文載荷的長(zhǎng)度,并利用TFC Padding的長(zhǎng)度或者數(shù)據(jù)報(bào)文頭與數(shù)據(jù)報(bào)文載荷的長(zhǎng)度確定TFC Padding的長(zhǎng)度,并利用所述TFC Padding的長(zhǎng)度從所述ESP報(bào)文中刪除TFC Padding,以得到數(shù)據(jù)報(bào)文頭與數(shù)據(jù)報(bào)文載荷; 獲得模塊,用于利用所述IP頭、數(shù)據(jù)報(bào)文頭和數(shù)據(jù)報(bào)文載荷得到所述IPsec發(fā)送端設(shè)備需要發(fā)送給所述IPsec接收端設(shè)備的數(shù)據(jù)報(bào)文。
9.如權(quán)利要求8所述的IPsec接收端設(shè)備,其特征在于, 所述確定模塊,具體用于確定數(shù)據(jù)報(bào)文頭、數(shù)據(jù)報(bào)文載荷、TFC Padding的長(zhǎng)度之和,并確定TFC Padding的長(zhǎng)度為數(shù)據(jù)報(bào)文頭、數(shù)據(jù)報(bào)文載荷、TFC Padding的長(zhǎng)度之和減去數(shù)據(jù)報(bào)文頭與數(shù)據(jù)報(bào)文載荷的長(zhǎng)度。
10.如權(quán)利要求8或9所述的IPsec接收端設(shè)備,其特征在于,所述TFCPadding的指定字段具體為: 所述TFC Padding中的最后兩位字節(jié);或者,所述IPsec接收端設(shè)備與所述IPsec發(fā)送端設(shè)備之間協(xié)商的TFC Padding中的指定位鉻的多個(gè)字節(jié)。`
全文摘要
本發(fā)明公開(kāi)了一種基于IPsec的報(bào)文傳輸方法和設(shè)備,該方法包括IPsec發(fā)送端設(shè)備確定數(shù)據(jù)報(bào)文,其中攜帶IP頭、數(shù)據(jù)報(bào)文頭、數(shù)據(jù)報(bào)文載荷;IPsec發(fā)送端設(shè)備將IP頭、數(shù)據(jù)報(bào)文頭、數(shù)據(jù)報(bào)文載荷添加到ESP報(bào)文中,并在TFC Padding的指定字段中添加TFC Padding和TFC Padding的長(zhǎng)度;IPsec發(fā)送端設(shè)備對(duì)數(shù)據(jù)報(bào)文頭、數(shù)據(jù)報(bào)文載荷、TFC Padding、TFC Padding的長(zhǎng)度進(jìn)行IPsec處理,并經(jīng)過(guò)IPsec處理后的ESP報(bào)文發(fā)送給IPsec接收端設(shè)備;IPsec接收端設(shè)備利用TFC Padding的長(zhǎng)度從ESP報(bào)文中刪除TFC Padding,以得到數(shù)據(jù)報(bào)文。本發(fā)明實(shí)施例中,提高了傳輸模式下,TFC Padding應(yīng)用場(chǎng)景的使用范圍。
文檔編號(hào)H04L29/06GK103179055SQ20131009335
公開(kāi)日2013年6月26日 申請(qǐng)日期2013年3月21日 優(yōu)先權(quán)日2013年3月21日
發(fā)明者楊超 申請(qǐng)人:杭州華三通信技術(shù)有限公司