版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
摘要IPSec作為虛擬專用網(wǎng)(VPN)的實(shí)現(xiàn)技術(shù)之一,具有其他VPN實(shí)現(xiàn)技術(shù)不具備的諸多優(yōu)點(diǎn)。IKE是IPSec體系的重要組成部分,它能夠動態(tài)協(xié)商和管理IPSecSA,從而建立IPSecVPN之間安全的通訊隧道。而IKE的改進(jìn)版本IKEv2進(jìn)一步增強(qiáng)了通訊隧道的安全性。目前國內(nèi)研發(fā)的同類VPN網(wǎng)關(guān)大都沒有實(shí)現(xiàn)IKEv2動態(tài)密鑰協(xié)商機(jī)制,國外成熟產(chǎn)品由于安全原因不能大規(guī)模地應(yīng)用于我國的重要部門,所以研制適合我國國情的IPSecVPN系統(tǒng)具有很好的現(xiàn)實(shí)意義。本文首先簡要介紹了IPSecVPN的基本原理,闡述了IKE和IPSecVPN之間的關(guān)系,同時分析了國內(nèi)外同類研究的現(xiàn)狀,并且說明了課題的來源和意義。然后,分析了IKEv2及其相關(guān)技術(shù),提出了本課題的IPSecVPN和IKEv2實(shí)現(xiàn)方案,建立了全新的模塊架構(gòu)。在此基礎(chǔ)之上,對動態(tài)協(xié)商模塊、內(nèi)核通訊模塊、加密認(rèn)證算法模塊分別進(jìn)行了設(shè)計與實(shí)現(xiàn)。本文通過擴(kuò)展IKEv2改進(jìn)了動態(tài)IP地址環(huán)境下IKEv2協(xié)商的不足,并且通過BAN邏輯分析證明了擴(kuò)展方案的可靠性。另外,通過提出增加新的消息類型和擴(kuò)展項(xiàng),本文對PF_KEY協(xié)議第二版本進(jìn)行擴(kuò)展,增加了IKEv2進(jìn)程和內(nèi)核中安全策略數(shù)據(jù)庫以及ID-IP映射數(shù)據(jù)庫之間的交互能力。然后,本文分析實(shí)現(xiàn)了IKEv2相關(guān)的密碼學(xué)算法,提出了預(yù)共享密鑰認(rèn)證方式的整體改進(jìn)思路。最后,本文對所做工作進(jìn)行了總結(jié),并討論了VPN和IKE的發(fā)展趨勢,提出了課題下一步擴(kuò)展的若干思路。關(guān)鍵字:IPSec,IKEv2,安全關(guān)聯(lián),PF_KEY,虛擬專用網(wǎng)作者:指導(dǎo)教師:AbstractComparetootherVPNrealizationtechnologies,IPSechasalotofadvantages.AsanimportantpartofIPSecsystem,IKEmechanismcannegotiateandmanageIPSecSAdynamically,soastobuildthesecurecommunicationtunnelsbetweenIPSecVPNs.IKEv2,theIKE'simprovededition,enhancesthesecurityoftheIPSecVPNcommunicationtunnelsgreatly.Atpresent,mostofdomesticVPNgatewayshavenotimplementedtheIKEv2dynamickeynegotiationmechanism.Andinourcountry,foreignmatureproductscannotbeusedbyimportantdepartmentsinalargescaleduetosecurereasons.SoithasmomentouscurrentsignificancetostudyanddevelopIPSecVPNsystemsthatfitinwithourcountry'ssituation.ThisarticlefirstintroducesthebasicprinciplesofIPSecVPNsimply,elaboratestherelationsbetweenIKEandIPSecVPN.Moreover,itanalyzesthepresentsituationofsimilarresearches,andexplainsthesourceandmeaningofthestudy.Then,thearticleanalyzesIKEv2andrelatedtechnologies,putforwardstherealizationschemesforIPSecVPNandIKEv2,establishesthenewmoduleframework.Basedonaboveworks,thearticledesignsandrealizesthedynamicnegotiationmodule,kernelcommunicationmodule,encryptionandauthenticationmodule.ThearticlerectifiesthedefectofIKEv2negotiationwithdynamicIPaddresstoextendIKEv2.AndthereliabilityoftheextensionschemeisprovedthroughBANlogicanalysis.Byaddingnewmessagetypesanditems,thearticleextendsthePF_KEYsecondeditiontomakeIKEv2processioncontactwithSPDandIDPDinkernel.Torectifiestheinsufficiencyofthesafetyinpre-sharedkeyauthenticationmechanism,thisarticlepresentstheimprovedscheme.Finally,itsummarizesourwork,discussesthedevelopmenttendencyofIPSecandIKE,andgivesourthoughtsaboutthefurtherwork.Keywords:IPSec,IKEv2,SA,PF_KEY,VPN WrittenbyGaoZhendongSupervisedbyZhuYanqin目錄TOC\o"1-4"\h\z引言 1第一章課題概述 41.1IPSecVPN概述 41.2IKE與IPSecVPN的關(guān)系 51.3國內(nèi)外研究現(xiàn)狀 61.4課題來源和意義 91.5本文主要工作和貢獻(xiàn) 111.6小結(jié) 12第二章協(xié)議分析和總體設(shè)計 13基本概念 132.1.1安全關(guān)聯(lián)(SA) 132.1.2安全關(guān)聯(lián)數(shù)據(jù)庫(SAD) 132.1.3安全策略數(shù)據(jù)庫(SPD) 142.2AH和ESP協(xié)議 152.3IKE協(xié)議 152.4IKEv2協(xié)議 162.5PF_KEY協(xié)議 172.5.1PF_KEY與IKEv2的關(guān)系 172.5.2PF_KEY的優(yōu)勢 172.6VPN與動態(tài)密鑰協(xié)商機(jī)制總體結(jié)構(gòu)設(shè)計 182.7小結(jié) 21第三章動態(tài)密鑰協(xié)商過程 22相關(guān)消息格式 223.1.1IKEv2協(xié)商消息格式 22消息頭和通用載荷頭 23載荷類型 253.2IKEv2協(xié)商過程 26初始交換 26協(xié)商子SA交換 28信息交換 293.3IKEv2協(xié)商的擴(kuò)展設(shè)計 293.3.1擴(kuò)展方案總體思路 293.3.2提交階段 343.3.3協(xié)商主階段 363.3.4BAN邏輯分析證明 383.4IKEv2的實(shí)現(xiàn) 403.4.1總體實(shí)現(xiàn)思路 403.4.2提交階段的實(shí)現(xiàn) 433.4.3協(xié)商主階段的實(shí)現(xiàn) 453.5小結(jié) 51第四章內(nèi)核通訊機(jī)制 524.1PF_KEY協(xié)議簡介 524.2針對IDPD的擴(kuò)展設(shè)計 544.2.1擴(kuò)展項(xiàng)類型擴(kuò)充 544.2.2消息類型擴(kuò)充 554.3針對SPD的擴(kuò)展設(shè)計 564.3.1擴(kuò)展項(xiàng)類型擴(kuò)充 574.3.2消息類型擴(kuò)充 594.3.3擴(kuò)展方案應(yīng)用 614.4PF_KEY的實(shí)現(xiàn) 644.4.1PF_KEY協(xié)議注冊 644.4.2套接字的創(chuàng)建和關(guān)閉 644.4.3應(yīng)用層向內(nèi)核發(fā)送消息 684.4.4內(nèi)核向應(yīng)用層發(fā)送消息 694.4.5應(yīng)用層接收內(nèi)核反饋消息 70小結(jié) 71第五章加密認(rèn)證算法 725.1Diffie-Hellman算法 72預(yù)共享密鑰認(rèn)證算法 745.3RSA數(shù)字簽名認(rèn)證算法 755.4小結(jié) 79第六章系統(tǒng)測試 80網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu) 806.2IKEv2協(xié)商測試 816.2.1功能測試 816.2.2性能測試 856.3IPSecVPN整體測試 866.3.1功能測試 866.3.2性能測試 876.3.3安全性測試 906.4與國內(nèi)外同類系統(tǒng)的比較 906.5測試結(jié)論 916.6小結(jié) 91第七章總結(jié)與展望 937.1總結(jié) 937.2展望 957.2.1VPN的發(fā)展趨勢 957.2.2IKE的發(fā)展趨勢 957.2.3橢圓曲線密碼體制 96參考文獻(xiàn) 97附錄縮略語 101致謝 102攻讀碩士學(xué)位期間公開發(fā)表的論文 103引言伴隨著網(wǎng)絡(luò)信息時代的到來,網(wǎng)絡(luò)安全問題日益突出,已經(jīng)引起全球的普遍關(guān)注。VPN(VirtualPrivateNetwork,虛擬專用網(wǎng))[1]技術(shù)的產(chǎn)生為解決網(wǎng)絡(luò)安全問題提供了一條有效途徑。VPN可以將物理上分布在不同地點(diǎn)的網(wǎng)絡(luò)通過公用骨干網(wǎng)(Internet)連接成邏輯上直通的虛擬子網(wǎng)。為了保障信息在公共網(wǎng)絡(luò)傳輸?shù)陌踩?,VPN技術(shù)采用了加密、認(rèn)證、存取控制等措施,提供了機(jī)密性和數(shù)據(jù)完整性等安全服務(wù),保證信息在傳輸過程中不被偷看、篡改和復(fù)制。由于使用Internet等公共網(wǎng)絡(luò)相對租用專線來說,費(fèi)用極為低廉,所以VPN技術(shù)能使企業(yè)通過Internet等公共網(wǎng)絡(luò)廉價又安全地傳輸數(shù)據(jù)信息。IPSec(IPSecurity)[2]是VPN實(shí)現(xiàn)技術(shù)之一,它是IP層的安全體系結(jié)構(gòu),包括AH(AuthenticationHeader,認(rèn)證頭)[3]、ESP(EncapsulatingSecurityPayload,封裝安全載荷)[4]和IKE(Internet動態(tài)密鑰交換)[5]。IPSec使用AH和ESP這兩個安全協(xié)議對數(shù)據(jù)進(jìn)行安全處理,提供數(shù)據(jù)源的驗(yàn)證、無連接數(shù)據(jù)完整性、數(shù)據(jù)機(jī)密性、抗重播和有限業(yè)務(wù)流機(jī)密性等安全服務(wù),利用認(rèn)證、加密等安全措施為上層協(xié)議的應(yīng)用提供安全保障。各種應(yīng)用程序可以享用IP層提供的安全服務(wù),而不必設(shè)計和實(shí)現(xiàn)自己的安全機(jī)制,降低了產(chǎn)生安全漏洞的可能性。VPN技術(shù)要求在物理上分離的各個網(wǎng)絡(luò)之間建立高強(qiáng)度的安全通訊隧道,以保證數(shù)據(jù)能夠在這個虛擬的通訊隧道中安全地傳輸。建立安全通信隧道的安全參數(shù)包括通訊雙方的認(rèn)證機(jī)制、使用的加密解密算法、密鑰等,這些安全參數(shù)共同構(gòu)成SA(SecurityAssociation,安全關(guān)聯(lián))。SA可以進(jìn)行手工管理,也可以進(jìn)行動態(tài)管理。在這兩種方式中,動態(tài)協(xié)商管理方式相對手工管理方式更安全、更靈活,可以顯著地提高通訊隧道的安全性。IKE協(xié)議正是實(shí)現(xiàn)這種動態(tài)協(xié)商管理方式的技術(shù)之一,它也是IPSec協(xié)議默認(rèn)的自動密鑰協(xié)商交換機(jī)制,可以用于動態(tài)地建立安全關(guān)聯(lián)(SA),為通信雙方協(xié)商IPSec通信所需的相關(guān)信息,例如加密算法、密鑰信息、通信雙方的身份信息等。IKE建立在ISAKMP定義的框架基礎(chǔ)之上,并且實(shí)現(xiàn)了兩種密鑰管理協(xié)議OAKLEY和SKEME的一部分功能,它是建立在多個協(xié)議基礎(chǔ)之上的混合型協(xié)議。由于IKE具有很多不足之處,例如協(xié)議復(fù)雜、理論上容易受到攻擊等,所以如何改進(jìn)IKE已經(jīng)成為當(dāng)今業(yè)界在IPSecVPN實(shí)施方案中關(guān)注的焦點(diǎn)。IETF一直在對現(xiàn)有IKE的不合理部分積極征集改進(jìn)意見,其IPSec工作組也于2004年9月推出了最新的IKE第二版本的草案[6],該草案對IKE進(jìn)行了全面的優(yōu)化與改進(jìn),使之具有更好的性能、更高的安全性以及更清晰的協(xié)議框架。目前,以IKE第二版本取代原有的IKE已經(jīng)成為業(yè)內(nèi)人士的共識。另外,國內(nèi)現(xiàn)有的大部分VPN同類產(chǎn)品由于底層操作系統(tǒng)被國外壟斷,因此不具備很高的安全性。另外,目前所有的國內(nèi)同類產(chǎn)品只是實(shí)現(xiàn)了原有版本的IKE協(xié)議,而在這些產(chǎn)品中,還有一部分雖然宣稱具備IKE動態(tài)密鑰協(xié)商功能,但是大部分沒有通過權(quán)威機(jī)構(gòu)的測評。相對而言,國外的同類研究起步較早,VPN同類產(chǎn)品比較成熟,對新的IKE第二版本已經(jīng)推出了相關(guān)產(chǎn)品實(shí)現(xiàn),極大地提高了VPN的安全性。但是由于國外公司對重要技術(shù)的壟斷,使用非本國產(chǎn)品存在很多安全隱患,而國外的成熟產(chǎn)品由于安全原因不能大規(guī)模應(yīng)用于我國的重要部門,所以研究開發(fā)一套適合我國使用的VPN相關(guān)產(chǎn)品具有深遠(yuǎn)意義。本課題來源于編號為BK2004039的江蘇省自然科學(xué)基金項(xiàng)目,該基金項(xiàng)目的目標(biāo)是在Linux平臺下建立高強(qiáng)度的VPN安全網(wǎng)關(guān)核心系統(tǒng)。為了達(dá)到預(yù)期目標(biāo),本文主要在IPSecVPN網(wǎng)關(guān)系統(tǒng)中引入了新的IKEv2動態(tài)密鑰協(xié)商機(jī)制。本文在討論了和IKEv2相關(guān)的多種技術(shù)規(guī)范的基礎(chǔ)上,提出了IKEv2的實(shí)現(xiàn)框架,并在該框架下詳細(xì)討論了相關(guān)的模塊設(shè)計與實(shí)現(xiàn),其中包括動態(tài)協(xié)商模塊、內(nèi)核通訊模塊、加密認(rèn)證算法模塊等。在這個過程中,本文分析研究了IKEv2及其不足,提出了針對動態(tài)IP地址環(huán)境下進(jìn)行協(xié)商的相應(yīng)擴(kuò)展方案,并對內(nèi)核通訊模塊中的PF_KEY協(xié)議進(jìn)行了相應(yīng)的擴(kuò)展,增加了新的消息類型,擴(kuò)充了PF_KEY協(xié)議的功能,以滿足IKEv2協(xié)商進(jìn)程的需要。針對預(yù)共享密鑰認(rèn)證方式安全性不高的弱點(diǎn),本文在加密認(rèn)證算法模塊中提出了將密鑰共享思想和認(rèn)證方法結(jié)合的整體改進(jìn)思路。為了闡述本人所作工作,本文共分七章,各章的內(nèi)容安排如下:第一章主要介紹目前國內(nèi)外相關(guān)研究的現(xiàn)狀,闡述了課題的來源和意義,并且概括了本文所作的工作。第二章討論系統(tǒng)涉及的主要技術(shù),并對這些技術(shù)進(jìn)行了簡要分析,然后提出了VPN系統(tǒng)的總體結(jié)構(gòu)設(shè)計和動態(tài)密鑰協(xié)商機(jī)制的實(shí)現(xiàn)框架。第三章首先討論了IKEv2動態(tài)協(xié)商的具體過程,其中包括了協(xié)商消息的格式組成,然后針對IKEv2協(xié)商過程中的不足,本文提出了相應(yīng)的擴(kuò)展方案,并使用BAN邏輯在理論上證明了該方案的可靠性。第四章討論了內(nèi)核通訊模塊的設(shè)計實(shí)現(xiàn)。在分析了PF_KEY協(xié)議第二版本的基礎(chǔ)之上,本章提出了擴(kuò)展方案以增強(qiáng)其功能。第五章介紹了加密認(rèn)證算法模塊的設(shè)計與實(shí)現(xiàn),包括Diffie-Hellman算法、預(yù)共享密鑰認(rèn)證算法和RSA數(shù)字簽名認(rèn)證算法。第六章對系統(tǒng)進(jìn)行了測試,并與國內(nèi)外的同類系統(tǒng)進(jìn)行了比較。第七章對所作工作進(jìn)行了總結(jié),隨后闡述了VPN和IKE的發(fā)展趨勢,提出了系統(tǒng)下一步擴(kuò)展的思路。第一章課題概述1.1IPSecVPN概述對于傳統(tǒng)的企業(yè)組網(wǎng)方案,如果要進(jìn)行遠(yuǎn)地網(wǎng)絡(luò)和本地網(wǎng)絡(luò)互聯(lián),一般的解決方法是租用DDN等專線,而對于外出辦公人員只能通過撥號線路進(jìn)入公司內(nèi)部的局域網(wǎng)。隨著業(yè)務(wù)的發(fā)展,公司必須要為此支付昂貴的費(fèi)用,虛擬專用網(wǎng)(VPN)技術(shù)的出現(xiàn)改變了這種情況。VPN是指依靠Internet服務(wù)提供商(ISP)和其它網(wǎng)絡(luò)服務(wù)提供商(NSP)在公共網(wǎng)絡(luò)中建立專用數(shù)據(jù)通信網(wǎng)絡(luò)的技術(shù)[7]。如圖1.1所示,在虛擬專用網(wǎng)中,VPN網(wǎng)關(guān)之間的連接沒有使用傳統(tǒng)專用網(wǎng)絡(luò)所需要的端到端的物理鏈路,而是利用某種公共網(wǎng)絡(luò)資源(如Internet)動態(tài)組成。圖1.1VPN示意圖VPN采用隧道技術(shù)在公共網(wǎng)絡(luò)中形成企業(yè)專用的鏈路網(wǎng)絡(luò)。為了創(chuàng)建隧道,位于隧道兩端的客戶機(jī)和服務(wù)器必須使用相同的隧道協(xié)議。目前存在以下幾種解決方案[8]:屬于第三層隧道協(xié)議的IPSec、在數(shù)據(jù)鏈路層實(shí)現(xiàn)數(shù)據(jù)封裝的PPTP和L2TP以及SSL(存在SOCKS4和SOCKS5兩個版本)。另外還有Cisco公司提出的L2F隧道協(xié)議。IPSec是目前網(wǎng)絡(luò)安全領(lǐng)域的熱門話題,它是IETF(因特網(wǎng)工程任務(wù)組)的IPSec工作組為了在IP層提供通訊安全服務(wù)而制定的一套協(xié)議簇,它包括安全協(xié)議部分(ESP和AH)和密鑰協(xié)商部分(IKE)。安全協(xié)議部分定義了對通訊的安全保護(hù)機(jī)制,密鑰協(xié)商部分定義了如何為安全協(xié)議協(xié)商安全保護(hù)參數(shù)以及如何對通訊實(shí)體的身份進(jìn)行認(rèn)證。IPSec是網(wǎng)絡(luò)層的VPN技術(shù),它獨(dú)立于應(yīng)用程序,能夠使其它軟件無需修改就能自動擁有IPSec提供的安全功能。IPSec使用自己的數(shù)據(jù)包封裝原始的IP信包,因此可以保護(hù)所有應(yīng)用協(xié)議的信息。另外,IPSec比其他同類協(xié)議具有更好的兼容性,密鑰自動管理功能也使IPSec優(yōu)于PPTP和L2TP。IPSecVPN安全網(wǎng)關(guān)的基本原理是對子網(wǎng)內(nèi)經(jīng)過網(wǎng)關(guān)的IP數(shù)據(jù)包進(jìn)行數(shù)據(jù)加密和摘要認(rèn)證,并且附加新的數(shù)據(jù)包頭,然后以公網(wǎng)的數(shù)據(jù)包格式發(fā)送至公共網(wǎng)絡(luò)中,在到達(dá)對方子網(wǎng)的IPSecVPN網(wǎng)關(guān)后,對數(shù)據(jù)包進(jìn)行驗(yàn)證和解密,恢復(fù)原始的IP數(shù)據(jù)包,再將其發(fā)送至子網(wǎng)內(nèi)相應(yīng)的主機(jī)完成整個通訊過程。由于原始數(shù)據(jù)包已經(jīng)被加密處理,所以即使在公共網(wǎng)絡(luò)中被截獲,對于截取者來說也只是無用的內(nèi)容。即使截取者最終能夠?qū)⒔孬@的數(shù)據(jù)包解密,其花費(fèi)的時間將使解密工作毫無意義,因?yàn)榇藭r主機(jī)之間的通訊已經(jīng)完成。1.2IKE與IPSecVPN的關(guān)系IPSecVPN安全網(wǎng)關(guān)為了實(shí)現(xiàn)在不安全的公共網(wǎng)絡(luò)中建立一個安全的、驗(yàn)證過的通訊隧道,必須要和通訊另一端的IPSecVPN網(wǎng)關(guān)協(xié)商通訊隧道的安全參數(shù),即安全關(guān)聯(lián)(SA)。安全關(guān)聯(lián)描述了IPSecVPN安全網(wǎng)關(guān)之間通信所使用的加密和認(rèn)證算法、密鑰、傳輸模式、密鑰生存期、密鑰的更新頻率、安全關(guān)聯(lián)生存期以及其他附加參數(shù)。利用這些安全參數(shù),兩個IPSecVPN網(wǎng)關(guān)可以安全地在通訊隧道中傳輸數(shù)據(jù)。目前安全關(guān)聯(lián)(SA)的管理方法有以下兩種:手工配置手工配置方式通常是用戶或者系統(tǒng)管理員在通訊隧道兩端的VPN網(wǎng)關(guān)手工配置安全關(guān)聯(lián),提供與其他IPSecVPN網(wǎng)關(guān)進(jìn)行安全通訊所需要的加密密鑰以及其他安全參數(shù)。手工配置管理技術(shù)雖然原理簡單,但是有以下諸多缺點(diǎn):通訊隧道兩端的IPSecVPN網(wǎng)關(guān)如果不隸屬于同一個組織,隧道兩端的網(wǎng)關(guān)就有可能不能被很好地配置。由于系統(tǒng)管理員要為每個可能參加通訊的IPSecVPN網(wǎng)關(guān)手工配置安全關(guān)聯(lián),所以造成管理工作非常復(fù)雜。當(dāng)網(wǎng)絡(luò)規(guī)模擴(kuò)大的時候,這種管理上的復(fù)雜性也隨之成倍增加。安全關(guān)聯(lián)中的通訊密鑰等安全參數(shù)不能得到及時地更新。人工介入安全關(guān)聯(lián)的管理也帶來了潛在的安全隱患。綜上所述,手工管理安全關(guān)聯(lián)的方式并不適合大型網(wǎng)絡(luò),它只能適用于小范圍或者靜態(tài)的網(wǎng)絡(luò)環(huán)境。動態(tài)協(xié)商動態(tài)協(xié)商管理方式相對于手工管理方式更靈活、更安全。它通過使用動態(tài)密鑰協(xié)商協(xié)議,可以自動地創(chuàng)建、協(xié)商密鑰和其他安全要素。動態(tài)協(xié)商管理方式極大地降低了管理上的復(fù)雜性,提高了安全關(guān)聯(lián)的安全性,也為變化的、較大型的分布式系統(tǒng)提供了更大的擴(kuò)展性,并且避免了位于不同組織之間的網(wǎng)關(guān)互通管理問題。對于動態(tài)協(xié)商過程,VPN網(wǎng)關(guān)可以使用多種協(xié)議,但是IKE目前已經(jīng)成為事實(shí)上的工業(yè)標(biāo)準(zhǔn)。對于IPSecVPN實(shí)現(xiàn)來說,IKE是目前實(shí)現(xiàn)動態(tài)密鑰協(xié)商的首選機(jī)制,同時也是IPSecVPN的重要組成部分。沒有IKE動態(tài)密鑰協(xié)商機(jī)制的支持,包含密鑰的安全關(guān)聯(lián)只能通過手工進(jìn)行配置管理,這樣IPSecVPN的安全性將受到極大地影響。所以綜上所述,IKE能夠在很大程度上提高IPSecVPN的安全性,是IPSecVPN必不可少的組成部分。1.3國內(nèi)外研究現(xiàn)狀目前,IPSec相關(guān)技術(shù)在國內(nèi)正處于蓬勃發(fā)展時期,一些國內(nèi)廠商已經(jīng)陸續(xù)推出自己單獨(dú)的VPN產(chǎn)品,例如北京天融信公司的TOPSECVPN網(wǎng)關(guān)產(chǎn)品。而另外一些廠商在防火墻中加載了VPN模塊,以實(shí)現(xiàn)VPN的部分功能[9][10][11],例如東軟、華為、聯(lián)想等。目前國內(nèi)比較流行的VPN產(chǎn)品有北京天融信、上海華依、廣州天網(wǎng)等品牌。另外,國內(nèi)很多相關(guān)產(chǎn)品在Windows平臺上實(shí)現(xiàn)VPN功能,由于底層操作系統(tǒng)被國外壟斷,所以此類產(chǎn)品不具備很高的安全性,也就不適合運(yùn)用于我國的要害部門。此類產(chǎn)品有深圳惠爾頓信息技術(shù)的e地通IPSecVPN系統(tǒng)[12]和上海東顯通訊科技的VPN系統(tǒng)[13]等。作為IPSecVPN的重要技術(shù)之一的IKE,對IPSecVPN的安全性有著非常重要的作用。而原有版本的IKE具有很多缺點(diǎn),遭到了業(yè)界的廣泛批評[14]。隨著技術(shù)的發(fā)展,原有的IKE已經(jīng)不能很好地滿足業(yè)界的需要,制定一個全新的替代協(xié)議成為迫切的需求。IKEv2作為對IKE的全面修復(fù)、改進(jìn)的協(xié)議,自從IETF于2002年推出了第一版草案之后,迅速成為了業(yè)界關(guān)注的焦點(diǎn)。在業(yè)內(nèi)眾多國外知名廠商的支持下,IKEv2已經(jīng)先后推出了17個草案版本,在這一過程中,IKEv2得到了不斷地擴(kuò)充與完善。相信在不久的將來,IKEv2將很快成為得到廣泛支持的RFC正式標(biāo)準(zhǔn)。目前,國內(nèi)對IKEv2的研究正處于起步階段。由于IKEv2草案推出的時間并不是很長,很多國內(nèi)VPN廠商只是在自己的產(chǎn)品中實(shí)現(xiàn)了原有版本的IKE,還沒有引入IKEv2。這樣,國內(nèi)廠商的VPN產(chǎn)品就不能發(fā)揮IKEv2的各種優(yōu)勢,不同程度地存在原有版本潛在的安全漏洞與問題。另外,國內(nèi)也沒有出現(xiàn)專門的IKEv2第三方安全工具包。所以,在IKEv2的相關(guān)研究方面,我國明顯落后于國外。國外對IPSecVPN的研究起步較早,大多數(shù)VPN都是在專用平臺下實(shí)現(xiàn),與操作系統(tǒng)綁定得比較緊密,并且VPN服務(wù)器正朝著專用硬件化與軟件實(shí)現(xiàn)相結(jié)合的方向發(fā)展。國外主流的VPN產(chǎn)品有Cisco、Avaya、NetScreen、朗訊、NETGEAR等公司品牌。在國外,針對IKEv2的相關(guān)研究正如火如荼地進(jìn)行。在國外比較流行的VPN產(chǎn)品的供應(yīng)商中,Cisco公司已經(jīng)計劃在2005年底在自己的VPN產(chǎn)品中實(shí)現(xiàn)IKEv2[15]。而全球網(wǎng)絡(luò)安全解決方案的領(lǐng)先供應(yīng)商SafeNet公司也宣布推出了針對電信行業(yè)的QuickSec。這是市場上第一款基于電信的IPSec和IKEv2安全工具包,可以無縫地把IKEv2協(xié)議集成到高級網(wǎng)絡(luò)解決方案中[16]。Intoto公司作為業(yè)界領(lǐng)先的安全集成供應(yīng)商,也宣布已經(jīng)在iGatewayVPN系列產(chǎn)品中實(shí)現(xiàn)了IKEv2[17],以便提供更好的性能、安全性、可靠性以及遠(yuǎn)程訪問能力。另外,CreekSideNetworks公司宣布推出了npsIKEv2引擎[18],該IKEv2引擎基于IKEv2的第8個草案實(shí)現(xiàn),適用于多種應(yīng)用場合。Unicoi公司也在自己的產(chǎn)品中提供了升級到IKEv2的方式[19],為IKEv2即將成為RFC標(biāo)準(zhǔn)做好準(zhǔn)備。在IPv6領(lǐng)域享有盛名的Interpeak公司在2005年初也宣布了對IKEv2的支持,在公司的產(chǎn)品中實(shí)現(xiàn)了IKEv2,以便利用IKEv2的各種優(yōu)勢提高產(chǎn)品的安全性以及性能[20]。在開源項(xiàng)目方面,Xelerance公司已經(jīng)計劃在著名的VPN開源項(xiàng)目Openswan中加入IKEv2的實(shí)現(xiàn)[21],因?yàn)樵械腛penswan只實(shí)現(xiàn)了原有版本的IKE。而在互聯(lián)網(wǎng)著名的SOURCEFORGE開源項(xiàng)目社區(qū)中,一個名為“IKEv2”的項(xiàng)目也于2005年7月正式啟動[22]。該項(xiàng)目的目標(biāo)是在類似UNIX的平臺下以守護(hù)進(jìn)程的方式實(shí)現(xiàn)IKEv2動態(tài)密鑰協(xié)商機(jī)制。此外,關(guān)于IKEv2的相關(guān)理論研究也在繼續(xù)進(jìn)行。根據(jù)目前相關(guān)的標(biāo)準(zhǔn)RFC文檔,無論是原有版本的IKE還是新的IKEv2協(xié)議都不能在具有動態(tài)IP地址的網(wǎng)絡(luò)環(huán)境建立VPN隧道,這給很多中小型企業(yè)帶來了很多不便之處。因?yàn)殡娦胚\(yùn)營商目前提供的接入方式有虛擬撥號和專線接入,前者為用戶提供動態(tài)IP,后者為用戶提供固定IP,兩者的費(fèi)用差價很懸殊。由于固定IP地址的月租費(fèi)比較昂貴,過去只有銀行、政府和大型企業(yè)等少數(shù)單位才能負(fù)擔(dān)得起,甚至國內(nèi)有些地區(qū)根本就不提供固定公網(wǎng)IP地址租用業(yè)務(wù),這極大地限制了VPN的應(yīng)用范圍。而隨著ADSL等廉價高效的寬帶接入方式的不斷普及,使用動態(tài)IP地址可以讓中小企業(yè)以非常低廉的費(fèi)用接入Internet。為此IETF推出了IKEv2的擴(kuò)展方案MOBIKE[23][24]以解決IP地址變動情況下進(jìn)行IKEv2密鑰交換協(xié)商的問題,這些擴(kuò)展方案目前還處于草案階段。但是,值得注意的是,MOBIKE擴(kuò)展方案只是考慮了IKEv2協(xié)商雙方在協(xié)商過程結(jié)束之后IP地址發(fā)生變化的情況,并沒有考慮到在IKEv2協(xié)商過程之前參加協(xié)商的IPSecVPN網(wǎng)關(guān)的公網(wǎng)IP地址已經(jīng)發(fā)生變化這種情況,也就是說在以動態(tài)IP接入互聯(lián)網(wǎng)的情況下,IKEv2協(xié)商雙方無法進(jìn)行協(xié)商。本文針對以上問題,在后面的章節(jié)提出了相應(yīng)的擴(kuò)展方案。目前,一些廠商已經(jīng)陸續(xù)推出了以下幾種動態(tài)IP地址環(huán)境下建立VPN隧道的解決方案。(1)使用動態(tài)域名服務(wù)(DDNS)動態(tài)域名服務(wù)(DDNS)為使用動態(tài)IP接入Internet的系統(tǒng)提供固定的域名,可以幫助解決建立動態(tài)IP地址環(huán)境下的VPN隧道。在這種方式下,VPN服務(wù)器要求安裝DDNS相關(guān)軟件,并為自己申請域名和主機(jī)名,其IP地址更新后,自動在DDNS上通過驗(yàn)證來更新自己的IP地址。當(dāng)VPN網(wǎng)關(guān)之間或者VPN客戶端需要進(jìn)行IKE協(xié)商的時候,使用VPN服務(wù)器的域名呼叫VPN服務(wù)器,由DDNS服務(wù)器負(fù)責(zé)將域名解析為VPN服務(wù)器的IP地址,這樣就能使IKE建立VPN隧道。這是一種比較常見的動態(tài)地址協(xié)商的解決方案,如美國NETGEAR公司的VPN系列產(chǎn)品、居易公司的Vigor系列、天網(wǎng)安公司的安全網(wǎng)關(guān)SNSG-800等。此類產(chǎn)品的共同特點(diǎn)是支持ADSL、CableModem等寬帶接入方式,一般支持IPSec、PPTP、L2TP等協(xié)議,提供完整的動態(tài)域名解決方案,內(nèi)置第三方DDNS服務(wù)商的DDNS客戶端軟件?;贒DNS的動態(tài)協(xié)商機(jī)制簡便易行,但還存在一些問題。如需要專門的第三方服務(wù)提供商支持,而一些DDNS注冊服務(wù)程序繁瑣。如果DDNS服務(wù)提供商停止服務(wù),會給用戶帶來不可預(yù)見的風(fēng)險。DDNS最初是為動態(tài)IP提供Web服務(wù)設(shè)計的,DDNS客戶端與DDNS服務(wù)器之間的通信存在安全隱患。另外,一些DDNS服務(wù)是有償?shù)模枰度腴L期的服務(wù)成本。(2)Web尋址深信服公司的WebAgent專利技術(shù)是一種支持全動態(tài)IP接入的純軟件VPN方案。該方案通過基于Web的動態(tài)尋址,使VPN產(chǎn)品可以支持各種上網(wǎng)方式,無需固定IP或有效IP,為企業(yè)選擇合適的ISP提供了極大的方便。WebAgent為一普通的文件,只要求網(wǎng)站支持ASP或PHP即可。用戶完全可以將WebAgent置于自己的網(wǎng)站上,建立完全屬于自己的VPN全套系統(tǒng)。與動態(tài)域名技術(shù)相比,WebAgent動態(tài)尋址更安全,更穩(wěn)定,更節(jié)省成本(不因?qū)ぶ范黾宇~外費(fèi)用),不依賴于專門的第三方服務(wù)提供商,但客戶端與服務(wù)器之間的通訊同樣存在安全風(fēng)險,Web安全問題值得關(guān)注。1.4課題來源和意義本課題來源于名為“基于PKI、ECC的高強(qiáng)度VPN安全網(wǎng)關(guān)技術(shù)與核心系統(tǒng)的研究”的江蘇省自然科學(xué)基金項(xiàng)目,項(xiàng)目編號為BK2004039。該基金項(xiàng)目是在課題組對VPN與IPSec前期研究的基礎(chǔ)上,在密鑰協(xié)商協(xié)議IKE/IKEv2中引入PKI體系,并在PKI現(xiàn)有RSA算法外研究新的高強(qiáng)度算法,對橢圓曲線加密(ECC)、基于ECC的密鑰交換、數(shù)據(jù)加密、數(shù)字簽名、快速算法與優(yōu)化以及在VPN和IKE/IKEv2中使用PKI、ECC認(rèn)證和優(yōu)化進(jìn)行研究,研制基于PKI、ECC的高強(qiáng)度VPN安全網(wǎng)關(guān)原型與核心系統(tǒng)。目前IPSecVPN的研究是網(wǎng)絡(luò)安全領(lǐng)域的熱門話題,本課題所屬項(xiàng)目的研發(fā)具有很強(qiáng)的現(xiàn)實(shí)意義:(1)目前VPN的應(yīng)用大大增加了企事業(yè)單位的辦公效率,它能使分離的網(wǎng)絡(luò)之間通過廉價的公共網(wǎng)絡(luò)(Internet)互相訪問,而不是使用昂貴的專線,極大地節(jié)省了成本。另外VPN的擴(kuò)展性良好,因?yàn)镮nternet的無處不在決定了增加或減少用戶接入數(shù)目是非常容易的。而專線則不同,如果要增加接入的用戶個數(shù),必須增加專線所需要的接入點(diǎn),而且必須進(jìn)行工程布線等繁瑣的工作。(2)由于IPsecVPN采用了加密技術(shù),因此國家黨政機(jī)關(guān)、事業(yè)單位和軍隊(duì)不可能直接采用國外現(xiàn)有產(chǎn)品來搭建整個VPN網(wǎng)絡(luò),而且使用國外的IPSecVPN產(chǎn)品也不利于我國使用自己的加密體系。(3)目前很多國內(nèi)廠家的VPN產(chǎn)品建立在Windows操作系統(tǒng)之上,由于操作系統(tǒng)被國外壟斷,所以不利于我國大規(guī)模地運(yùn)用于要害部門。Linux作為開放源代碼的操作系統(tǒng),使開發(fā)方可以對VPN系統(tǒng)擁有全面的安全控制。因此本課題在Linux平臺上實(shí)現(xiàn)IPSecVPN網(wǎng)關(guān)系統(tǒng),具有很好的現(xiàn)實(shí)意義。本文所作工作是該基金項(xiàng)目的重要組成部分,在整個項(xiàng)目中具有重要地位和意義:(1)VPN網(wǎng)關(guān)之間的安全通訊需要安全關(guān)聯(lián)(其中包括密鑰等安全參數(shù))的保護(hù),而目前安全關(guān)聯(lián)的管理存在動態(tài)協(xié)商和手工管理兩種方式。由于動態(tài)協(xié)商方式能夠動態(tài)地生成和改變安全關(guān)聯(lián),相對于手工方式具有安全性高、靈活性好等優(yōu)點(diǎn),所以是否支持安全關(guān)聯(lián)的動態(tài)協(xié)商機(jī)制已經(jīng)成為衡量VPN產(chǎn)品優(yōu)劣的一項(xiàng)重要指標(biāo)。(2)雖然IKE能夠動態(tài)協(xié)商保護(hù)IPSecVPN通訊隧道的IPSec安全關(guān)聯(lián),但是原有版本的IKE存在許多弱點(diǎn),很多學(xué)者和廠商一直在進(jìn)行IKE的改進(jìn)工作。IKE弱點(diǎn)的根源在于IKE本身的復(fù)雜機(jī)制,這不僅讓攻擊者有可能設(shè)計出成功的破解方法,而且?guī)砹藚f(xié)同工作的問題,增加了在不同廠商VPN設(shè)備之間建立VPN隧道的困難,并且導(dǎo)致了性能的降低。而IKEv2與原有版本的IKE相比更加安全,并且易于使用,它提供了較少的VPN設(shè)備配置參數(shù),從而節(jié)省了花費(fèi)在設(shè)備配置上的時間。另外,IKEv2也減少了需要用戶填寫的域,降低了人為錯誤的發(fā)生概率,而這些人為錯誤往往是難于發(fā)現(xiàn)和更正的。所以使用新一代的IKEv2對于提高VPN的安全性和性能具有重要意義。(3)目前國內(nèi)雖然有很多廠商推出了自己的VPN產(chǎn)品,但是真正完整地實(shí)現(xiàn)整個IPSec協(xié)議體系的安全產(chǎn)品還比較缺乏。目前IKEv2的相關(guān)研究和應(yīng)用在國內(nèi)剛剛起步,國內(nèi)絕大部分廠商還沒有在自己的VPN產(chǎn)品中引入IKEv2,所以本文的工作具有一定的先進(jìn)性和進(jìn)步性。(4)本課題提出的動態(tài)IP地址下IKEv2擴(kuò)展協(xié)商機(jī)制解決了目前中小型企業(yè)使用動態(tài)IP地址無法建立VPN隧道的問題,必將促進(jìn)VPN與IKE協(xié)商機(jī)制的進(jìn)一步發(fā)展。目前,跟蹤研究國外IPSec相關(guān)技術(shù)和產(chǎn)品的發(fā)展,開發(fā)具有自主版權(quán)的IPSecVPN產(chǎn)品已經(jīng)成為國內(nèi)眾多安全廠家的努力目標(biāo)。綜上所述,本文的研究具有重要意義和良好的應(yīng)用前景。1.5本文主要工作和貢獻(xiàn)本課題在Linux操作系統(tǒng)下使用C語言進(jìn)行開發(fā),整個系統(tǒng)主要分為以下三大部分:(1)應(yīng)用層的IKEv2協(xié)議實(shí)現(xiàn)部分。(2)應(yīng)用層IKEv2進(jìn)程與內(nèi)核空間相關(guān)數(shù)據(jù)庫的交互部分,本課題使用了PF_KEY。(3)內(nèi)核空間的IPSec(ESP與AH)處理部分。這一部分由課題組其他成員完成。為了實(shí)現(xiàn)以上三大部分的功能,本文主要進(jìn)行了以下三部分工作:(1)動態(tài)密鑰協(xié)商機(jī)制本文為了解決IPSecVPN安全網(wǎng)關(guān)中安全關(guān)聯(lián)手工管理方式以及傳統(tǒng)的IKE導(dǎo)致的一系列不足之處,引入了IKEv2動態(tài)密鑰協(xié)商機(jī)制,并對IKEv2機(jī)制進(jìn)行了擴(kuò)展,提出了一種能夠在動態(tài)IP地址環(huán)境下建立VPN隧道的IKEv2協(xié)商擴(kuò)展機(jī)制。目前業(yè)內(nèi)使用的動態(tài)IP環(huán)境下建立VPN隧道的主要方式包括DDNS和網(wǎng)站尋址交換技術(shù)這兩種,它們本質(zhì)上是同一類技術(shù),都是為公眾服務(wù)的,因?yàn)榫W(wǎng)站是供所有人看的,服務(wù)質(zhì)量定位于信息發(fā)布,所以安全性比較差。另外網(wǎng)站尋址機(jī)制采用虛擬主機(jī)技術(shù),穩(wěn)定性比較弱。而本文提出的IKEv2擴(kuò)展方案是一種高安全級別的服務(wù)技術(shù),隱蔽性強(qiáng),相對于DDNS和網(wǎng)站尋址交換技術(shù)具有更高的穩(wěn)定性和安全性。(2)內(nèi)核通訊機(jī)制IKEv2協(xié)商進(jìn)程運(yùn)行于應(yīng)用層空間,它需要和內(nèi)核中的相關(guān)數(shù)據(jù)庫進(jìn)行交互。本文為了滿足IKEv2協(xié)商進(jìn)程的需要,使用了PF_KEY協(xié)議作為接口。因?yàn)镻F_KEY協(xié)議本身位于應(yīng)用層與內(nèi)核之間,所以本文對Linux內(nèi)核直接進(jìn)行了改造,部分功能在內(nèi)核空間得到實(shí)現(xiàn)。而國外的產(chǎn)品如FreeS/WAN[25]軟件以及以它為基礎(chǔ)發(fā)展而來的Openswan和Strongswan[26]由于采用外掛處理模塊的方式,它們和內(nèi)核的交互以及對IP包的處理所花費(fèi)的時間必然大大高于直接改造內(nèi)核的程序。所以從這個角度分析,本課題的性能在此方面是優(yōu)于外掛式的安全網(wǎng)關(guān)程序的。另外,由于目前還沒有正式的RFC標(biāo)準(zhǔn)文檔描述PF_KEY如何和內(nèi)核中的安全策略數(shù)據(jù)庫進(jìn)行交互,所以本文為此提出了相應(yīng)的PF_KEY擴(kuò)展方案,以賦予PF_KEY針對安全策略數(shù)據(jù)庫的交互能力。此外,本文針對動態(tài)IP環(huán)境下IKEv2協(xié)商建立VPN隧道的不足,提出了相應(yīng)的擴(kuò)展方案。為了滿足擴(kuò)展方案的需要,本文又對PF_KEY進(jìn)行了必要的相關(guān)擴(kuò)展。(3)加密認(rèn)證算法由于IKEv2協(xié)商進(jìn)程需要通過不安全的公共網(wǎng)絡(luò)和其他VPN網(wǎng)關(guān)的IKEv2協(xié)商進(jìn)程進(jìn)行通訊協(xié)商,所以協(xié)商過程的安全性顯的非常重要。本文為此提供了若干種重要的加密認(rèn)證算法,以保障協(xié)商過程的安全性。另外,針對預(yù)共享密鑰認(rèn)證方法安全性弱的缺點(diǎn),本文提出了一種整體改進(jìn)思路試圖提高該認(rèn)證方法的安全性。1.6小結(jié)本章主要介紹了IPSecVPN以及IKE的基本情況,討論了國內(nèi)外研究現(xiàn)狀,闡述了本課題的意義,概括了本文的主要工作和貢獻(xiàn)。在下一章,本文將簡要介紹動態(tài)密鑰協(xié)商機(jī)制的相關(guān)技術(shù),并在此基礎(chǔ)之上提出本課題的VPN和IKEv2實(shí)現(xiàn)框架。第二章協(xié)議分析和總體設(shè)計IPSecVPN網(wǎng)關(guān)是綜合多種技術(shù)機(jī)制的結(jié)合體。比如,AH和ESP提供了對進(jìn)出網(wǎng)關(guān)數(shù)據(jù)包的加密認(rèn)證等安全服務(wù),在提高IP協(xié)議安全性的基礎(chǔ)上提供了IPSecVPN的基本功能。AH和ESP對進(jìn)出網(wǎng)關(guān)的數(shù)據(jù)包提供安全服務(wù)時需要檢索內(nèi)核中的安全關(guān)聯(lián)和安全策略等數(shù)據(jù)庫,確定有無策略指定的安全關(guān)聯(lián),如果不存在就通過內(nèi)核通訊機(jī)制通知應(yīng)用層的IKEv2守護(hù)進(jìn)程啟動IKEv2協(xié)商過程在VPN網(wǎng)關(guān)之間協(xié)商IPSecSA,以此創(chuàng)建安全的通訊隧道。IKEv2協(xié)商得到的安全關(guān)聯(lián)將通過通訊機(jī)制更新內(nèi)核中的安全關(guān)聯(lián)數(shù)據(jù)庫。本章在分析了以上幾種協(xié)議機(jī)制之后,提出了本課題的VPN網(wǎng)關(guān)的結(jié)構(gòu)設(shè)計,并且在此基礎(chǔ)上建立了IKEv2機(jī)制的實(shí)現(xiàn)框架和模塊劃分。安全關(guān)聯(lián)(SA)安全關(guān)聯(lián)(SA)[27]的概念是IPSecVPN的基礎(chǔ),有些文獻(xiàn)又把它稱之為安全聯(lián)盟[28]。安全關(guān)聯(lián)定義了各種類型的安全參數(shù),它是通信對等方之間對一些安全要素的一種約定,例如IPSec協(xié)議的操作模式、密碼算法、密鑰以及密鑰的生存期等,它同時也是兩個IPSecVPN網(wǎng)關(guān)之間的一個單向邏輯連接。安全關(guān)聯(lián)決定了保護(hù)什么、如何保護(hù)以及由誰來保護(hù)通訊數(shù)據(jù)[29],它可以通過IKE、IKEv2協(xié)議在通信對等方之間動態(tài)協(xié)商。一個安全關(guān)聯(lián)可以由一個三元組唯一標(biāo)識,該三元組包含一個安全參數(shù)索引(SecurityParameterIndex,SPI)、一個源或者目的IP地址以及一個特定的IPSec協(xié)議(例如AH或者ESP)。安全關(guān)聯(lián)數(shù)據(jù)庫(SAD)安全關(guān)聯(lián)數(shù)據(jù)庫是與安全關(guān)聯(lián)相關(guān)的參數(shù)集合。每個安全關(guān)聯(lián)在安全關(guān)聯(lián)數(shù)據(jù)庫中都有一個條目,為使用這個安全關(guān)聯(lián)的IP數(shù)據(jù)包指定實(shí)現(xiàn)IPSec處理必需的內(nèi)容。下面的參數(shù)定義了一個安全關(guān)聯(lián)條目:(1)安全參數(shù)索引(SPI)。(2)用于安全關(guān)聯(lián)的協(xié)議(ESP或者AH)。(3)IPSec協(xié)議運(yùn)行模式(隧道模式或者傳輸模式)。(4)序列號計數(shù)器。(5)反重傳窗口。(6)路徑最大傳送單元MTU(MaximumTransmissionUnit)。(7)安全關(guān)聯(lián)的源和目的IP地址。(8)使用的驗(yàn)證算法和它的驗(yàn)證密鑰。(9)加密算法和它的加密密鑰。(10)身份驗(yàn)證和加密密鑰的生命周期。(11)安全關(guān)聯(lián)的生命周期。安全策略數(shù)據(jù)庫(SPD)安全策略數(shù)據(jù)庫[30][31]定義了對于特定的IP數(shù)據(jù)流使用哪種安全服務(wù)和格式。系統(tǒng)管理員可以通過安全策略數(shù)據(jù)庫控制IPSec的處理范圍,從而控制經(jīng)過安全網(wǎng)關(guān)的數(shù)據(jù)流。IPSec協(xié)議要求在所有數(shù)據(jù)流處理過程中都必須查詢SPD,不管數(shù)據(jù)流是輸入還是輸出。IP數(shù)據(jù)包的進(jìn)出處理過程中需要查詢SPD,以便判斷為這個數(shù)據(jù)包提供哪些安全服務(wù)。對于所有進(jìn)出的數(shù)據(jù)流,IPSecVPN網(wǎng)關(guān)有三種處理方法:丟棄信包、旁路IPSec處理和進(jìn)行IPSec處理。丟棄信包處理方法是指不允許信包訪問目的主機(jī),所以信包在經(jīng)過網(wǎng)關(guān)的時候必須被丟棄。旁路IPSec處理方法是指通信是被允許的,但是通信過程不需要IPSec提供保護(hù)措施。第三種選擇進(jìn)行IPSec處理是指通訊是被允許的,而且還需要IPSec提供保護(hù)。這種情況需要查詢SPD,并通過對應(yīng)的策略條目在SAD中得到相應(yīng)的安全關(guān)聯(lián),這個得到的安全關(guān)聯(lián)指出了以上IPSec處理所使用的安全協(xié)議、模式和算法等參數(shù)。目前IPSec允許SPD中存在以下主要內(nèi)容:(1)目的IP地址(2)源IP地址(3)傳輸層協(xié)議(4)源端口(5)目的端口(6)SAD關(guān)聯(lián)入口(7)名稱2.2AH和ESP協(xié)議AH和ESP協(xié)議屬于IPSecVPN體系中的安全協(xié)議部分,設(shè)計它們的目的是為了增強(qiáng)IP數(shù)據(jù)包的安全性。AH協(xié)議為IP數(shù)據(jù)包提供了無連接的完整性、數(shù)據(jù)源認(rèn)證和抗重放保護(hù)服務(wù),而ESP協(xié)議為IP數(shù)據(jù)包提供完整性校驗(yàn)、身份認(rèn)證、數(shù)據(jù)加密以及重放攻擊保護(hù)等安全服務(wù),即在AH協(xié)議提供的安全服務(wù)基礎(chǔ)上增加了機(jī)密性服務(wù)。AH和ESP協(xié)議都可以在原始的IP數(shù)據(jù)包的基礎(chǔ)上加入自己的數(shù)據(jù)包頭以加強(qiáng)整個IP數(shù)據(jù)包的安全性。2.3IKE協(xié)議IKE協(xié)議屬于IPSecVPN體系的動態(tài)密鑰協(xié)商部分,它是可供選擇的動態(tài)密鑰交換機(jī)制之一,目前已經(jīng)成為事實(shí)上的工業(yè)標(biāo)準(zhǔn)。IKE協(xié)議用來進(jìn)行虛擬專用網(wǎng)VPN的認(rèn)證與SA會話密鑰的協(xié)商,它沿用了Internet安全關(guān)聯(lián)和密鑰交換協(xié)議(ISAKMP)[32]的基礎(chǔ)、Oakley密鑰確定協(xié)議[33]的模式以及SKEME協(xié)議的共享和密鑰更新技術(shù)。IKE協(xié)議可以動態(tài)地建立安全關(guān)聯(lián),為通信雙方提供IPSec安全通信所需的相關(guān)信息,例如加密算法、會話密鑰、通信雙方身份認(rèn)證等。IKE協(xié)議為自動密鑰交換奠定了框架,其高強(qiáng)度與可靠性是IPSecVPN數(shù)據(jù)安全傳輸?shù)南葲Q條件和保證。IKE是個非常復(fù)雜的協(xié)議,整個IKE協(xié)議規(guī)范分為三個部分:ISAKMP、IKE、DOI(DomainofInterpretation)。另外,在整個IKE協(xié)議規(guī)范中,ISAKMP和IKE的區(qū)分是比較模糊的。IKE機(jī)制協(xié)商的目的是產(chǎn)生一個通過驗(yàn)證的密鑰和提供雙方同意的安全服務(wù),即最終提供IPSec安全關(guān)聯(lián)(IPSecSA)使IPSecVPN之間能夠建立安全的數(shù)據(jù)通訊隧道。IKE通過兩個階段的協(xié)商過程來建立IPSec安全關(guān)聯(lián)(IPSecSA)。第一階段建立ISAKMPSA,第二階段利用第一階段得到的ISAKMPSA建立IPSecSA。ISAKMPSA和IPSecSA的區(qū)別在于前者是雙向的。IKE把動態(tài)協(xié)商過程定義成兩個階段的原因是為了提高IKE的協(xié)商效率。因?yàn)榈谝浑A段協(xié)商的結(jié)果可以應(yīng)用于多個第二階段協(xié)商過程,而第二階段協(xié)商過程可以同時進(jìn)行多個,這樣就能減少傳輸往返和冪運(yùn)算,從而大大提高了協(xié)商的效率[34]。對于協(xié)商過程的第一階段,IKE存在兩種模式:主模式和積極模式。主模式是一種身份保護(hù)交換模式,而積極模式基于ISAKMP的野蠻交換法。在第二階段,IKE提供了快速交換模式,它的作用是為IKE之外的其它協(xié)議協(xié)商安全服務(wù)。對于參與密鑰交換的雙方,如果建立了ISAKMPSA,那么不管誰是發(fā)起者,任何一方都可以主動發(fā)起第二階段的交換。第一階段中的主模式提供了身份保護(hù),當(dāng)身份保護(hù)不必要時,可以使用積極模式進(jìn)一步減少傳輸往返。在IKE整個協(xié)商過程中,ISAKMP消息(或者稱為IKE消息)被用來進(jìn)行安全關(guān)聯(lián)的協(xié)商交互。IKE是一種混合型協(xié)議,其復(fù)雜性一直受到業(yè)界廣泛的批評。另外,IKE還存在以下問題[35]:(1)原有標(biāo)準(zhǔn)提供的某些功能基本上不被使用,數(shù)據(jù)結(jié)構(gòu)存在簡化的空間。(2)建立IPSec安全關(guān)聯(lián)的過程需要進(jìn)行多次消息交互。(3)IKE協(xié)議本身的缺陷導(dǎo)致了其受拒絕服務(wù)攻擊、重放攻擊、中間人攻擊等危險,所以有必要增強(qiáng)其抵御能力。2.4IKEv2協(xié)議為了解決原有IKE的諸多缺點(diǎn),IKEv2主要對IKE進(jìn)行了以下改進(jìn):(1)在單一的文檔中定義了IKEv2,取代了原有的RFC2407(IPSecDOI)、RFC2408(ISAKMP)、RFC2409(IKE)以及隨后補(bǔ)充的關(guān)于NAT穿透、擴(kuò)展認(rèn)證和獲取遠(yuǎn)程訪問地址等分散的文檔。(2)用4條消息交換取代了原有的9條消息,提高了協(xié)商效率。(3)刪除了原有協(xié)議中的DOI、SIT以及域名標(biāo)識符、提交位這些功能不強(qiáng)且難以理解、容易混淆的數(shù)據(jù)結(jié)構(gòu)。(4)修復(fù)了多處公認(rèn)的密碼學(xué)方面的安全漏洞。(5)定義了獨(dú)立的通訊量選擇載荷,分擔(dān)了原有ID載荷的部分功能,增加了協(xié)議靈活性。IKEv2將原有第一階段的3次消息交換修改為初始階段的IKE_SA_INIT和IKE_AUTH兩個消息交換。IKE_SA_INIT交換中的消息沒有進(jìn)行加密處理,它協(xié)商了IKE_SA中包含的各種安全參數(shù),其中包括密碼學(xué)相關(guān)算法,并且進(jìn)行Nonce值以及Diffle-Hellman交換,最后建立IKE_SA。而IKE_AUTH消息交換則使用了IKE_SA_INIT階段生成的密鑰材料進(jìn)行了加密處理,并對IKE_SA_INIT消息交換過程進(jìn)行了認(rèn)證,最終建立起第一個CHILD_SA。接下來的CREATE_CHILD_SA交換階段對應(yīng)原有IKE的第二階段,可以由任意一方發(fā)起。初始階段建立的安全關(guān)聯(lián)用于保護(hù)這一階段的消息交換,最終建立起CHILD_SA,即IPSecSA。在IKEv2中,還定義了消息交換。在這個交換中,IKEv2協(xié)商雙方一般發(fā)送關(guān)于錯誤或者通知事件的控制消息。消息交換一定要在IKE_SA_INIT消息交換結(jié)束后進(jìn)行,交換過程同樣受到安全保護(hù)。2.5PF_KEY協(xié)議2.5.1PF_KEY與IKEv2的關(guān)系應(yīng)用層的IKEv2守護(hù)進(jìn)程在運(yùn)行過程中需要修改和查詢內(nèi)核中的安全關(guān)聯(lián)、安全策略等相關(guān)數(shù)據(jù)庫,這就需要某種機(jī)制提供內(nèi)核和應(yīng)用層之間交互的通道,PF_KEY提供了這種能力。值得注意的是,描述PF_KEY的RFC2367并沒有賦予PF_KEY對安全策略數(shù)據(jù)庫的操作能力[36],而本課題對PF_KEY進(jìn)行了擴(kuò)展,增加了它和安全策略數(shù)據(jù)庫進(jìn)行交互的能力。IKEv2守護(hù)進(jìn)程和PF_KEY的關(guān)系如圖2.1所示。圖2.1IKEv2守護(hù)進(jìn)程和PF_KEY的關(guān)系2.5.2PF_KEY的優(yōu)勢Linux本身已經(jīng)提供了以下幾種進(jìn)程間的通訊機(jī)制:管道、信號、共享內(nèi)存和消息隊(duì)列等。本課題并沒有采用以上幾種已有的通訊機(jī)制,而是采用了PF_KEY協(xié)議,這主要是因?yàn)镻F_KEY存在以下優(yōu)勢:(1)本課題使用的PF_KEY是專門為操作內(nèi)核中的安全關(guān)聯(lián)、安全策略等相關(guān)數(shù)據(jù)庫設(shè)計的,具有很強(qiáng)的針對性。(2)Linux本身提供的進(jìn)程通訊機(jī)制無法很好地實(shí)現(xiàn)應(yīng)用層空間和內(nèi)核空間之間的進(jìn)程通訊。例如信號機(jī)制只能實(shí)現(xiàn)內(nèi)核向應(yīng)用層進(jìn)程發(fā)送信號,而不能接收來自應(yīng)用層的信號[37]。另外,共享內(nèi)存機(jī)制常常需要與其他機(jī)制配合才能完成進(jìn)程之間的通訊[38]。(3)PF_KEY本質(zhì)上是一個套接字機(jī)制。它能夠借助內(nèi)核已有的套接字機(jī)制很好地嵌入內(nèi)核從而達(dá)到兩個運(yùn)行空間的交互。在國內(nèi)外的IPSecVPN的實(shí)現(xiàn)中,PF_KEY機(jī)制并不是唯一的選擇。有些實(shí)現(xiàn)選用了Linux的消息隊(duì)列機(jī)制實(shí)現(xiàn)內(nèi)核和應(yīng)用層的通訊[39][40]??傮w來說,由于PF_KEY機(jī)制表現(xiàn)為套接字形式,所以使用PF_KEY比其他同類機(jī)制更有效、更方便。2.6VPN與動態(tài)密鑰協(xié)商機(jī)制總體結(jié)構(gòu)設(shè)計圖2.2描述了本課題的IPSecVPN網(wǎng)關(guān)的總體結(jié)構(gòu)設(shè)計。圖2.2IPSecVPN網(wǎng)關(guān)的總體結(jié)構(gòu)設(shè)計考慮到VPN系統(tǒng)的互操作性和兼容性,本課題的VPN網(wǎng)關(guān)的總體結(jié)構(gòu)設(shè)計大體遵循了已有的相關(guān)RFC標(biāo)準(zhǔn),另外為了擴(kuò)展IKEv2在動態(tài)IP地址環(huán)境下的協(xié)商能力,本課題對VPN網(wǎng)關(guān)的總體結(jié)構(gòu)也進(jìn)行了相應(yīng)地擴(kuò)展,在內(nèi)核已有的SAD和SPD的基礎(chǔ)上增加了IDPD數(shù)據(jù)庫,以支持應(yīng)用層空間的IKEv2協(xié)商。如圖2.2所示,本課題的整個VPN網(wǎng)關(guān)的結(jié)構(gòu)主要包括以下部分:(1)IKEv2守護(hù)進(jìn)程動態(tài)密鑰協(xié)商守護(hù)進(jìn)程(IKEv2守護(hù)進(jìn)程)運(yùn)行在用戶空間即應(yīng)用層空間,它的主要功能是和其它VPN網(wǎng)關(guān)的動態(tài)密鑰協(xié)商守護(hù)進(jìn)程協(xié)商雙方安全通訊的各種安全參數(shù),即安全關(guān)聯(lián)。動態(tài)密鑰協(xié)商守護(hù)進(jìn)程主要由IKEv2動態(tài)協(xié)商模塊、內(nèi)核通訊模塊、加密認(rèn)證算法模塊以及系統(tǒng)管理配置模塊等四個功能模塊組成。UDP500或者4500端口和其他VPN網(wǎng)關(guān)的IKEv2守護(hù)進(jìn)程進(jìn)行協(xié)商,最終得到CHILD_SA,即IPSecSA。然后IKEv2守護(hù)進(jìn)程調(diào)用內(nèi)核通訊模塊,利用PF_KEY將協(xié)商得到的安全關(guān)聯(lián)傳入內(nèi)核空間的SAD,以便以后可以再次使用。由于本課題針對動態(tài)IP環(huán)境下的IKEv2協(xié)商進(jìn)行了部分?jǐn)U展,所以IKEv2守護(hù)進(jìn)程的具體協(xié)商過程與IKEv2草案提出的標(biāo)準(zhǔn)過程有些差異,具體設(shè)計與實(shí)現(xiàn)可以參考第三章。圖2.3VPN網(wǎng)關(guān)之間的動態(tài)密鑰協(xié)商內(nèi)核通訊模塊主要使用PF_KEY提供了應(yīng)用層和內(nèi)核空間的交互接口,這種接口能夠使應(yīng)用層的IKEv2守護(hù)進(jìn)程對內(nèi)核中相關(guān)數(shù)據(jù)庫的修改實(shí)時生效而不需要重新啟動VPN網(wǎng)關(guān)。本文將在第四章詳細(xì)討論內(nèi)核通訊模塊的具體設(shè)計與實(shí)現(xiàn)。由于VPN通訊隧道建立在不安全的公共網(wǎng)絡(luò)中,所以建立安全通訊隧道所使用的安全關(guān)聯(lián)必須建立在安全的協(xié)商過程之上,而要保證協(xié)商過程的安全性需要對協(xié)商過程進(jìn)行加密、認(rèn)證等安全處理。加密認(rèn)證算法模塊提供了在協(xié)商過程中對數(shù)據(jù)包進(jìn)行加密和認(rèn)證的手段,其中包括密鑰的協(xié)商、交換和數(shù)字簽名算法的實(shí)現(xiàn)。第五章將討論加密認(rèn)證模塊包含的幾種重要的安全算法以保證安全關(guān)聯(lián)的協(xié)商過程是可靠、安全的。用戶空間的用戶管理配置進(jìn)程為使用者提供了友善的管理界面,它可以進(jìn)行內(nèi)核中安全關(guān)聯(lián)等相關(guān)數(shù)據(jù)庫以及相關(guān)認(rèn)證、加密算法和生存時間等參數(shù)的實(shí)時配置。它負(fù)責(zé)與IKEv2守護(hù)進(jìn)程中的系統(tǒng)管理配置模塊聯(lián)系,由系統(tǒng)管理配置模塊具體實(shí)施用戶的配置和管理操作。系統(tǒng)管理配置模塊主要接收用戶管理配置進(jìn)程的指令,將配置項(xiàng)的改動直接與IKEv2協(xié)商過程聯(lián)系起來,或者將用戶對配置的改動直接寫入內(nèi)核中相應(yīng)的SPD、SAD以及IDPD中,供IPSec處理使用。同時它還負(fù)責(zé)將用戶的配置信息與操作過程記錄在配置文件和日志文件中。IKEv2交互后得到的信息也可以直接寫入日志文件。由于系統(tǒng)管理配置模塊主要由課題組其他成員完成,這里就不再詳細(xì)介紹。(2)PF_KEY通訊接口PF_KEY通訊接口提供了應(yīng)用層的IKEv2守護(hù)進(jìn)程和內(nèi)核中各個相關(guān)數(shù)據(jù)庫的交互能力。在本課題的VPN總體結(jié)構(gòu)設(shè)計中,內(nèi)核內(nèi)部存在SAD、SPD和IDPD三個數(shù)據(jù)庫,其中SAD和SPD是遵守RFC標(biāo)準(zhǔn)而存放于內(nèi)核中,IDPD是為了滿足IKEv2擴(kuò)展的需要而新增加的,主要作用是存放IKEv2協(xié)商方的相關(guān)信息,例如協(xié)商方當(dāng)前的公網(wǎng)IP地址等。由于目前相關(guān)的RFC標(biāo)準(zhǔn)文檔只描述了應(yīng)用層的IKEv2守護(hù)進(jìn)程和位于內(nèi)核的SAD的交互方法,而沒有規(guī)范IKEv2守護(hù)進(jìn)程和SPD、IDPD如何進(jìn)行交互,所以本課題對目前只具備針對SAD交互能力的PF_KEY協(xié)議進(jìn)行擴(kuò)展,使它的交互能力涵蓋SPD和IDPD。(3)內(nèi)核IPSec處理部分內(nèi)核IPSec處理部分負(fù)責(zé)對經(jīng)過網(wǎng)關(guān)的IP數(shù)據(jù)包進(jìn)行相應(yīng)的IPSec處理,在處理過程中有時需要在SAD和SPD中查詢所需的安全關(guān)聯(lián)或安全策略。如果在SAD不存在安全策略指定的安全關(guān)聯(lián),內(nèi)核則通過本文提供的內(nèi)核通訊模塊通知應(yīng)用層的IKEv2守護(hù)進(jìn)程和其它VPN網(wǎng)關(guān)的IKEv2守護(hù)進(jìn)程進(jìn)行安全關(guān)聯(lián)的動態(tài)協(xié)商。協(xié)商完成之后IKEv2協(xié)商進(jìn)程使用PF_KEY接口將協(xié)商得到的安全關(guān)聯(lián)存入內(nèi)核中的SAD,IPSec處理模塊則使用安全關(guān)聯(lián)應(yīng)用于AH、ESP協(xié)議對IP數(shù)據(jù)包提供數(shù)據(jù)源認(rèn)證和無連接的數(shù)據(jù)完整性驗(yàn)證,通過在不安全的網(wǎng)絡(luò)上傳輸加密后的數(shù)據(jù)來保證數(shù)據(jù)的安全性。對于AH和ESP存在兩種操作模式:傳輸模式和隧道模式。由于這部分由其他同學(xué)完成,所以本文不再對這部分進(jìn)行詳細(xì)闡述。2.7小結(jié)本章首先介紹了VPN和動態(tài)密鑰協(xié)商機(jī)制實(shí)現(xiàn)的一些相關(guān)概念和技術(shù),其中包括安全關(guān)聯(lián)及其相關(guān)數(shù)據(jù)庫、AH和ESP協(xié)議、原有的IKE協(xié)議以及新推出的IKEv2等。為了解決應(yīng)用層進(jìn)程(例如IKEv2守護(hù)進(jìn)程)和內(nèi)核的交互通訊問題,本章采用PF_KEY協(xié)議,并且分析了它的優(yōu)勢。最后,本章提出了本課題的VPN系統(tǒng)包括動態(tài)密鑰協(xié)商機(jī)制的總體設(shè)計和模塊劃分。下一章將詳細(xì)討論IKEv2動態(tài)協(xié)商模塊的相關(guān)內(nèi)容,以建立IPSec安全關(guān)聯(lián)確保VPN通訊隧道的安全性。第三章動態(tài)密鑰協(xié)商過程IPSecSA包含了密鑰、加密認(rèn)證算法等安全參數(shù),它可以使VPN網(wǎng)關(guān)之間建立安全的、經(jīng)過認(rèn)證的通訊隧道以保障數(shù)據(jù)的安全傳輸。手工管理安全關(guān)聯(lián)存在諸多缺點(diǎn),不具備很高的安全性,而原有版本的IKE協(xié)議雖然能夠動態(tài)地協(xié)商IPSec安全關(guān)聯(lián),但是IKE本身存在協(xié)議復(fù)雜、易受攻擊、效率低下等缺陷。IKEv2作為IKE的繼任者,在繼承IKE的優(yōu)勢基礎(chǔ)之上全面修復(fù)了IKE的諸多缺點(diǎn),極大地提高了協(xié)商過程的安全性與性能,從而有力地提高了整個VPN的安全性與性能。傳統(tǒng)的IKE只能在固定IP地址的情況下進(jìn)行IPSecSA的協(xié)商,IKEv2的擴(kuò)展草案MOBIKE雖然提出了相應(yīng)的擴(kuò)展方案,但是草案只是考慮了IPSecSA協(xié)商之后地址改變的情況,也就是說只能在VPN隧道建立之后才允許IP地址發(fā)生變化,這極大地限制了動態(tài)密鑰協(xié)商機(jī)制的應(yīng)用范圍。本章為了解決以上局限,對IKEv2協(xié)議進(jìn)行了進(jìn)一步地擴(kuò)展,提出了一種全新的IKEv2動態(tài)協(xié)商過程,它能夠使IPSec安全關(guān)聯(lián)在動態(tài)IP地址環(huán)境下通過IKEv2動態(tài)協(xié)商模塊動態(tài)地、安全地得到與更新,并且能在動態(tài)IP地址環(huán)境下及時地發(fā)現(xiàn)IKEv2協(xié)商對方是否在線,具有及時發(fā)現(xiàn)故障的能力,從而提高了IKEv2協(xié)議的協(xié)商能力,擴(kuò)展了VPN的應(yīng)用范圍。3.1相關(guān)消息格式IKEv2協(xié)商消息格式標(biāo)準(zhǔn)的IKEv2協(xié)商過程使用IKEv2消息進(jìn)行交互協(xié)商。如圖3.1所示,IKEv2消息均以IKEv2消息頭開始,然后緊跟以通用載荷頭為首的各種載荷。圖3.1IKEv2消息格式消息頭和通用載荷頭在IKEv2中,消息頭的具體格式如圖3.2所示。圖3.2IKEv2消息頭格式消息頭各個域的含義如下:(1)發(fā)起者的安全關(guān)聯(lián)索引發(fā)起者的安全關(guān)聯(lián)索引由協(xié)商的發(fā)起者選擇以聲明一個唯一的IKE安全關(guān)聯(lián)。這個域始終不為零。(2)響應(yīng)者的安全關(guān)聯(lián)索引響應(yīng)者的安全關(guān)聯(lián)索引和發(fā)起者安全關(guān)聯(lián)索引類似,它是由響應(yīng)者選擇以聲明一個唯一的IKE安全關(guān)聯(lián)。這個域在IKEv2初始階段的第一條消息中必須置為零,而在其他消息中則必須設(shè)置為非零。(3)下一載荷類型這個8比特域說明了消息頭后面的載荷類型,即消息中的第一個載荷類型。(4)主版本指定了所用IKE協(xié)議的主版本號。這里必須設(shè)置為2。(5)副版本這個域說明了IKE協(xié)議的副版本號。這里必須設(shè)置為0。(6)交換類型這個8比特域指定了目前進(jìn)行的消息交換的種類。例如IKEv2的初始交換(IKE_SA_INIT)、協(xié)商子SA交換(CREATE_CHILD_SA)等。(7)標(biāo)志這個域主要說明了IKEv2消息的若干標(biāo)記,用于表明當(dāng)前消息的發(fā)送者是發(fā)起者還是響應(yīng)者、IKEv2消息是否能夠和更高版本的IKE消息進(jìn)行交互等等。(8)消息ID這個域主要用于控制消息的重發(fā)以協(xié)調(diào)協(xié)商雙方,這是對原有IKE的改進(jìn),可以有效抵御重放攻擊。(9)消息長度消息長度域的長度為4個8位字節(jié),包含了整個消息包括IKEv2消息頭和所有載荷的長度。在本課題實(shí)現(xiàn)中消息頭的具體定義如下:structikev2_hdr{u_int64_tinitiator_SPI[SPI_SIZE]; /*發(fā)起者的安全關(guān)聯(lián)索引*/u_int64_tresponder_SPI[SPI_SIZE]; /*響應(yīng)者的安全關(guān)聯(lián)索引*/u_int8_tnext_payload; /*下一個載荷類型 */u_int8_t version; /*高4位:主版本 *//*低4位:副版本 */u_int8_texchange_type; /*交換類型 */u_int8_tflags; /*標(biāo)記 */u_int32_tmsg_id; /*消息ID */u_int32_tmsg_length; /*消息長度 */};其中u_int8_t、u_int32_t、u_int64_t是本課題自定義的數(shù)據(jù)類型。IKEv2消息頭后面緊跟各種載荷,而各種載荷都是以通用載荷頭開始的。通用載荷頭明確定義了各種載荷的邊界,:圖3.3通用載荷頭格式圖3.3中各個域的含義如下:(1)下一載荷類型主要指出當(dāng)前載荷后面的載荷類型。如果當(dāng)前載荷是整個消息的最后一個載荷,則這個域就被置為0。(2)C域描述了消息發(fā)送者允許接收者在不理解載荷類型的情況下作出的處理。這個域是IKEv
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 波浪發(fā)型課程設(shè)計中班
- 二零二五年度ktv音響設(shè)備租賃及維護(hù)服務(wù)合同3篇
- 糧食經(jīng)濟(jì)與文化課程設(shè)計
- 二零二五年度LED廣告租賃與品牌形象塑造協(xié)議3篇
- 2025年度智能化企業(yè)員工勞動權(quán)益保障合同范本2篇
- 二零二五年剪輯師與游戲公司合作合同2篇
- 物理原子學(xué)課程設(shè)計
- 《手機(jī)玻璃蓋板瑕疵自動檢測方法的研究》
- 電子材料課程設(shè)計教案
- 2025版生態(tài)農(nóng)業(yè)園區(qū)規(guī)劃設(shè)計施工合同3篇
- 2024年03月中國農(nóng)業(yè)發(fā)展銀行內(nèi)蒙古分行校園招考擬招錄人員筆試歷年參考題庫附帶答案詳解
- 2024年盾構(gòu)操作工職業(yè)技能競賽理論考試題庫(含答案)
- (西北卷)名校教研聯(lián)盟2025屆高三12月聯(lián)考英語試卷(含答案解析)
- 金科新未來大聯(lián)考2025屆高三12月質(zhì)量檢測語文試題(含答案解析)
- 江蘇省2025年高中學(xué)業(yè)水平合格考?xì)v史試卷試題(含答案詳解)
- 云南省昆明市(2024年-2025年小學(xué)六年級語文)部編版期末考試(上學(xué)期)試卷及答案
- 《嬰幼兒常見病識別與預(yù)防》課件-嬰幼兒濕疹
- 遺傳群體文獻(xiàn)解讀集
- 工藝裝備環(huán)保性與安全性的設(shè)計要點(diǎn)
- [玻璃幕墻施工方案]隱框玻璃幕墻施工方案
- 國家開放大學(xué)電大本科《管理案例分析》2023-2024期末試題及答案(試卷代號:1304)
評論
0/150
提交評論