第七章 網(wǎng)絡(luò)與信息安全 IPSec_第1頁
第七章 網(wǎng)絡(luò)與信息安全 IPSec_第2頁
第七章 網(wǎng)絡(luò)與信息安全 IPSec_第3頁
第七章 網(wǎng)絡(luò)與信息安全 IPSec_第4頁
第七章 網(wǎng)絡(luò)與信息安全 IPSec_第5頁
已閱讀5頁,還剩44頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

網(wǎng)絡(luò)與信息安全第7章IP層安全協(xié)議(IPsec)1目前互聯(lián)網(wǎng)采用的最基本協(xié)議是IP協(xié)議,它向其他運行在網(wǎng)絡(luò)層或網(wǎng)絡(luò)層之上的協(xié)議提供了數(shù)據(jù)傳送服務(wù)。任何類型的數(shù)據(jù)都能通過這個基本而有效的傳送機制得到傳輸服務(wù),但是IP不能提供安全特性。在路由過程中,IP數(shù)據(jù)包可以被偽造、篡改或窺視?,F(xiàn)在在互聯(lián)網(wǎng)應(yīng)用領(lǐng)域已有許多與特定場合應(yīng)用相關(guān)的安全服務(wù),它們考慮的是特定應(yīng)用系統(tǒng)的安全,如安全電子郵件(PGP,S/MIME)、網(wǎng)絡(luò)中的認(rèn)證(包括Kerberos,X.509)等。但是有時用戶的某些需求會跨越協(xié)議層,如不允許對不可信站點的連接,可以對從自己網(wǎng)絡(luò)發(fā)出的數(shù)據(jù)包加密,能對進入自己網(wǎng)絡(luò)的數(shù)據(jù)報進行認(rèn)證等,這些安全策略的實施都需要在IP層上進行。IP層上的安全應(yīng)該并且能夠包含了以下安全服務(wù):鑒別、保密性、密鑰管理(防重放攻擊)2鑒于對IP層上的安全性需求,因特網(wǎng)工程任務(wù)組(IETF)委托因特網(wǎng)協(xié)議安全協(xié)議工作組(IPSec)對IP安全協(xié)議和對應(yīng)的因特網(wǎng)密鑰管理協(xié)議進行標(biāo)準(zhǔn)化工作。主要目的是使有安全需求的用戶能夠使用相應(yīng)的加密安全體制。IPSec工作組制定了目前的IP層的安全協(xié)議IPSec,它可以“無縫”地為IP引入安全特性。IPSec是一組協(xié)議套件,套件內(nèi)的各種協(xié)議通常稱為“IPSec”,如鑒別首部AH(authenticationheader)、封裝安全載荷ESP(encapsulatingsecuritypayload)及Internet密鑰交換IKE(Internetkeyexchange)AH協(xié)議為IP包提供信息源鑒別和數(shù)據(jù)完整性服務(wù)ESP協(xié)議可以實現(xiàn)通信內(nèi)容的保密性并可選地提供鑒別服務(wù)IKE解決密鑰的安全交換。1985年,IETF的IPSec工作組發(fā)表了5個與安全相關(guān)的腿標(biāo)準(zhǔn)文件RFC1825-1829,這些文件主要對網(wǎng)絡(luò)層的安全能力及應(yīng)包含的特征進行定義。隨后出臺關(guān)于IPv6的RFC中定義IPv6必須支持這些安全特性,而在IPv4中這些安全特性是可選的。1998年又陸續(xù)發(fā)布了一批RFC文檔。這些文檔可以分為7類。3IPSec的用途保證因特網(wǎng)上各分支辦公點的安全連接。公司可以借助因特網(wǎng)或公用的廣域網(wǎng)搭建安全的虛擬專用網(wǎng)絡(luò)。這使得公司可以不必耗巨資去建立自己的專用網(wǎng)絡(luò),而只須依托因特網(wǎng)即可獲得同樣地效果。保證因特網(wǎng)上遠(yuǎn)程訪問的安全。在計算機上裝有IPSec的終端用戶可以通過撥入所在地的ISP的方式獲得對公司網(wǎng)絡(luò)的安全訪問權(quán)。這一做法降低了流動辦公人員及遠(yuǎn)距離工作者的長途電話費用。通過外部網(wǎng)或內(nèi)部網(wǎng)建立與合作伙伴的聯(lián)系。IPSec通過認(rèn)證和密鑰交換機制確保企業(yè)與其他組織的信息往來的安全性和機密性。提高了電子商務(wù)的安全性。盡管在電子商務(wù)的許多應(yīng)用中已嵌入了一些安全協(xié)議,IPSec的使用仍然可以使其安全級別在原有的基礎(chǔ)上更進一步,因為所有由網(wǎng)絡(luò)管理員指定的通信都是認(rèn)證和加密的。4IPSec的優(yōu)點如果在路由器或在防火墻上執(zhí)行了IPSec,它將會為周邊的通信提供強有力的安全保障。一個公司或工作組內(nèi)部的通信將不增加與安全相關(guān)的費用。IPSec在傳輸層下,對于應(yīng)用程序來說是透明的。當(dāng)在路由器或防火墻上實現(xiàn)IPSec時,無需更改用戶或服務(wù)器系統(tǒng)中的軟件設(shè)置。即使在終端中執(zhí)行IPSec,應(yīng)用程序一類的上層軟件也不會受影響。IPSec對終端用戶是透明的,因次不必對用戶進行安全機制的培訓(xùn)如果需要的話,IPSec可以為個體用戶提供安全保障,這樣做就可以保護企業(yè)內(nèi)部的敏感信息。IPSec的主要特征在于它對所有IP級的通信進行加密和認(rèn)證,使得IPSec可以確保包括遠(yuǎn)程登陸、客戶/服務(wù)器、電子郵件、文件傳輸及Web訪問等在內(nèi)的多種應(yīng)用程序的安全,從而成為目前最易于擴展、最完整的一種網(wǎng)絡(luò)安全方案。57.1IPSec安全體系結(jié)構(gòu)7.1.1IPSec的功能1、身份鑒別:即確保IP報文來源于合法的IP報文發(fā)送者,以防止偽造合法身份而對網(wǎng)絡(luò)形成攻擊。2、數(shù)據(jù)完整性保護:IPSec通過此項功能以保證IP報文中的數(shù)據(jù)為發(fā)送方最初放在報文中的原始數(shù)據(jù),以防止因接收到被篡改的報文而受到攻擊。3、數(shù)據(jù)的機密性保護:IPSec通過對IP報文實施一定的加密算法以防止信息被非法者竊取。4、防重放攻擊:即防止敵手截獲已經(jīng)過認(rèn)證的IP數(shù)據(jù)報后實施重放攻擊。67.1.2IPSec的體系結(jié)構(gòu)IPSec體系結(jié)構(gòu)由一系列RFC文檔定義,整個IPSec協(xié)議族的體系結(jié)構(gòu)如圖所示。7IPSec體系結(jié)構(gòu)定義了IPSec協(xié)議的語義、一般性概念、應(yīng)提供的各種能力等定義了如何使用ESP進行數(shù)據(jù)包加密的處理規(guī)則,ESP首部格式及其提供的服務(wù)定義了如何使用AH進行數(shù)據(jù)包鑒別的處理規(guī)則,AH首部格式及其提供的服務(wù)描述如何將不同加密算法用于ESP描述如何將不同鑒別算法用于AH和ESP可選的鑒別選項中描述密鑰管理機制的文檔,包括如何協(xié)商密鑰,分發(fā)密鑰等,其中IKE是默認(rèn)的密鑰自動交換協(xié)議,密鑰協(xié)商的結(jié)果,通過DOI轉(zhuǎn)換為IPSec的參數(shù)包括一些參數(shù),批準(zhǔn)的加密和鑒別算法標(biāo)識,以及運行參數(shù)等87.1.3安全關(guān)聯(lián)(SA)要進行安全通信,需采用身份鑒別和加密服務(wù)。所以通信的雙方在通信之前需協(xié)商好采用那種安全協(xié)議、加密算法以及加密的密鑰等問題。所謂的安全關(guān)聯(lián)(SecurityAssociation)就是通信雙方協(xié)商好的安全通信的構(gòu)建方案,是通信雙方共同簽署的“協(xié)定”。安全關(guān)聯(lián)是單工的,即從業(yè)務(wù)流的發(fā)送方到收方的一個單向邏輯關(guān)系。在典型的、雙向的點到點連接中,需要提供兩個SA。安全關(guān)聯(lián)由如下3個參數(shù)唯一確定:安全參數(shù)索引(SecurityParametersIndex,SPI):SPI是一個長度為32位的數(shù)據(jù),接收方用AH和ESP報頭的SPI唯一地確定一個SA。IP目的地址:即SA中接收方的IP地址。安全協(xié)議標(biāo)識符:用以標(biāo)識通信雙方采用的是AH協(xié)議還是ESP協(xié)議。9除以上3個參數(shù)外,SA還包含以下參數(shù):順序號計數(shù)器(SequenceNumberCountor):用來產(chǎn)生AH或ESP報頭中的順序號(SequenceNumber),達到防止重放攻擊目的;順序號溢出標(biāo)志(SequenceCounterOverflow):表示順序號的溢出是否能產(chǎn)生一個可審核的事件并防止這一SA上的數(shù)據(jù)包的進一步傳送;防重放窗口(Anti-replayWindow):用來判斷入站AH或ESP數(shù)據(jù)包是否重放;AH信息(AH

Information):所采用AH的身份鑒別算法、密鑰、密鑰生命周期和其他一些相關(guān)參數(shù);ESP信息(ESP

Information):所采用ESP的身份鑒別算法、密鑰、密鑰生命周期和其他一些相關(guān)參數(shù);10SA的生命周期(LifeTimeofthisSA):表示一個時間間隔,在該間隔以后,此SA或者結(jié)束或者被一個新的SA所替代。同時這一參數(shù)中還有一個標(biāo)識符用來標(biāo)識此SA是被結(jié)束還是被替代;IPSec協(xié)議模式(IPSecProtocolmode):路徑最大傳輸單元(PathMTU):指能傳輸?shù)淖畲髷?shù)據(jù)包的長度;以上參數(shù)除了AH信息和ESP信息分別僅為采用AH協(xié)議或ESP協(xié)議時要求以外,其它參數(shù)在兩種協(xié)議中都被要求。11在每一個IPSec的執(zhí)行過程中,都有一個標(biāo)準(zhǔn)的安全關(guān)聯(lián)數(shù)據(jù)庫(Security

AssociationDatabase,SAD),其中存放了每一個SA的相關(guān)參數(shù)。SA的創(chuàng)建分兩步進行:先協(xié)商SA參數(shù),再用SA更新安全策略數(shù)據(jù)庫。協(xié)商SA參數(shù)可采用人工協(xié)商或Internet標(biāo)準(zhǔn)密鑰管理協(xié)議(比如IKE)來完成。人工密鑰協(xié)商是必須支持的,在IPSec的早期開發(fā)及測試過程中,人工協(xié)商是一項非常有用的方式。在人工密鑰協(xié)商過程中,通信雙方都需要離線同意SA的各項參數(shù)。但人工協(xié)商過程非常容易出錯,既麻煩、又不安全。因此,在已經(jīng)有一種穩(wěn)定、可靠的密鑰管理協(xié)議的前提下,已經(jīng)配置好IPSec的一個環(huán)境中,SA的建立通過一種Internet標(biāo)準(zhǔn)密鑰管理協(xié)議來完成。如果安全策略要求建立安全、保密的連接,但卻找不到相應(yīng)的SA,IPSec的內(nèi)核便會自動調(diào)用IKE。IKE會與目標(biāo)主機協(xié)商具體的SA。127.1.4安全策略數(shù)據(jù)庫安全策略決定了為一個包提供的安全服務(wù)。IPSec將安全策略所有可能實施方案,保存在一個數(shù)據(jù)庫中,這個數(shù)據(jù)庫稱為安全策略數(shù)據(jù)庫(SPD)。根據(jù)“選擇符”對該數(shù)據(jù)庫進行檢索,獲取為一個IP包提供安全服務(wù)的有關(guān)信息。IP包的外出和進入處理都要以安全策略為準(zhǔn),在進入和外出包處理過程中,需查閱SPD,以判斷為這個包提供哪些安全服務(wù)。對外出通信而言,在SPD中進行檢索的結(jié)果是一個指針,指向SAD中的SA或SA集束(前提是已建立了SA)。SA或SA集束需要根據(jù)策略的要求,按指定的順序依次對外出包進行處理。假如SA尚未建立,就會調(diào)用密鑰管理協(xié)議來建立數(shù)據(jù)包;對進入通信來說,首先要對包進行安全處理。然后,根據(jù)選擇符對SPD數(shù)據(jù)庫進行檢索,證實對包采取的策略。13出站的IP包的處理過程。比較選擇符與SPD相關(guān)條目,從而使所需處理IP包與零個或多個SA相映射;判斷是否有SA應(yīng)用于此IP包;進行IPSec處理。選擇符是從網(wǎng)絡(luò)層和傳送層頭內(nèi)提取出來的,每個SPD條目都有一組從網(wǎng)絡(luò)層和傳送層頭內(nèi)提取出來字段值,稱作選擇符。確定SPD條目的選擇符如下:目的IP地址:可以是單個也可以是多個IP地址列表或通配符(掩碼)地址。后兩種地址用于支持共享同一SA的多目的地址系統(tǒng);源IP地址:形式同目的IP地址;用戶ID:操作系統(tǒng)使用的用戶識別符;數(shù)據(jù)敏感度級別:用于為通信系統(tǒng)提供信息流的安全性服務(wù);傳輸層協(xié)議:從IPv4或IPv6的NextHeader字段獲得,可以是一個協(xié)議序號、協(xié)議序號列表或協(xié)議序號范圍;IPSec協(xié)議:系統(tǒng)采用何種IPSec協(xié)議;源和目標(biāo)端口:它們可以是單獨的TCP或UDP端口值、端口列表或通配符端口147.1.5IPSec的兩種運行模式IPSec協(xié)議(包括AH和ESP)既可用來保護一個完整的IP載荷,亦可用來保護某個IP載荷的上層協(xié)議。這兩方面的保護分別是由IPSec兩種不同的模式來提供的,如圖所示。其中,傳送模式用來保護上層協(xié)議;而通道模式用來保護整個IP數(shù)據(jù)報。在傳送模式中,IPSec先對上層協(xié)議進行封裝,增加一IPSec頭,對上層協(xié)議的數(shù)據(jù)進行保護,然后才由IP協(xié)議對封裝的數(shù)據(jù)進行處理,增加IP頭;而在通道模式中,IPSec對IP協(xié)議處理后的數(shù)據(jù)進行封裝,增加一IPSec頭,對IP數(shù)據(jù)報進行保護,然后再由IP協(xié)議對封裝的數(shù)據(jù)進行處理,增加新IP頭。15傳送運行模式的實施:傳送模式下,IPSec模塊運行于通信的兩個端主機。有如下優(yōu)點:(1)即使位于同一子網(wǎng)內(nèi)的其他用戶,也不能非法修改通信雙方的數(shù)據(jù)內(nèi)容。(2)分擔(dān)了安全網(wǎng)關(guān)的處理負(fù)荷。但同時也具有以下缺點:(1)每個需要實現(xiàn)傳送模式的主機都必須安裝并實現(xiàn)IPSec模塊,因此端用戶無法得到透明的安全服務(wù),并且端用戶為獲得AH服務(wù)必須付出內(nèi)存、處理時間等方面的代價。(2)不能使用私有的IP地址,必須使用公有地址資源。16遂道運行模式的實施:采用遂道模式,IPSec模塊運行于安全網(wǎng)關(guān)或主機,IPSec具有以下優(yōu)點:1)子網(wǎng)內(nèi)部的各主機憑借安全網(wǎng)關(guān)的IPSec處理透明地得到安全服務(wù)。2)可以在子網(wǎng)內(nèi)部使用私有IP地址,無需占用公有地址資源。但同時也具有以下缺點:1)增加了安全網(wǎng)關(guān)的處理負(fù)載。2)無法控制來自子網(wǎng)內(nèi)部的攻擊者。177.1.5IPSec處理IPSec處理分為兩類:發(fā)送處理和接收處理。1、發(fā)送處理由數(shù)據(jù)包頭信息,檢索SPD數(shù)據(jù)庫,判斷應(yīng)為這個包提供哪些安全服務(wù)。需要輸入SPD的是選擇符。至于SPD檢索的輸出,則可能有下面這幾種情況:丟棄這個包;繞過安全服務(wù);應(yīng)用安全服務(wù)。182、接收處理接收處理如圖所示:收到IP包后,假如包內(nèi)根本沒有包含IPSec頭,那么安全層就會對策略進行檢查,判斷該如何對這個包進行處理。如果IP包中包含了IPSec頭,就會由IPSec對這個包進行處理。IPSec會從IP包中提取出SPI、目標(biāo)地址和協(xié)議。它會利用<SPI,目標(biāo)地址,協(xié)議>字元組對SAD數(shù)據(jù)庫進行檢索,確定與包對應(yīng)的SA。若對應(yīng)的SA不存在,丟棄IP包;否則,根據(jù)SA對IP包進行處理,并將處理后的包傳遞到下一層。197.2AH協(xié)議AH協(xié)議主要用于保護數(shù)據(jù)的完整性和對IP包進行鑒別。原理:發(fā)送方將IP分組頭、上層數(shù)據(jù)、公共密鑰這3部分通過MD5(或SHA-1)算法進行計算,得出AH首部的認(rèn)證數(shù)據(jù),并將AH首部加入IP分組中。當(dāng)數(shù)據(jù)傳輸?shù)浇邮辗綍r,接收方將收到的IP分組頭、數(shù)據(jù)部分和公共密鑰的相同的MD5(或SHA-1)算法運算,并把得到的結(jié)果和收到的數(shù)據(jù)分組的AH首部進行比較,進行認(rèn)證。如果信息一致,則證明報文沒有被非法修改,也證明報文并非法者偽造。但AH協(xié)議并不提供對數(shù)據(jù)的保密性保護,因此當(dāng)數(shù)據(jù)通過網(wǎng)絡(luò)時,如果攻擊者使用協(xié)議分析器照樣能夠竊取敏感數(shù)據(jù)。AH還可以通過其單調(diào)遞增的序列號(SequenceNumber,SN)防止消息重放攻擊。207.2.1AH報頭格式下一報頭:長8bit,用以識別這一報頭之后緊跟的報頭類型。負(fù)載長度:長8bit,其值為單位是32位字的AH報頭長度減2。保留(Reserved):長16bit,留待將來使用。鑒別數(shù)據(jù):其長度可變,但必須是32位字的整數(shù)倍,其中包含完整性檢查值。217.2.2AH的運行模式AH可運行于傳送模式和通道模式,它保護的數(shù)據(jù)是一個上層協(xié)議或一個完整的IP數(shù)據(jù)報。任何一種情況下,AH都要對外部IP頭的固有部分進行身份驗證。運行于傳送模式時,保護的是端到端的通信。通信的終點必須是IPSec終點。AH頭被插在數(shù)據(jù)報中IP頭與需要保護的上層協(xié)議之間,對這個數(shù)據(jù)報進行安全保護。22運行于通道模式時,它將自己保護的數(shù)據(jù)報封裝起來,另外,在AH頭之前,另添了一個IP頭。里面的IP數(shù)據(jù)報中包含了通信的原始尋址,而“外面的”IP數(shù)據(jù)包則包含了IPSec端點的地址。通道模式可用來替換端對端安全服務(wù)的傳送模式,但是,由于這一協(xié)議中沒有提供機密性,因此,相應(yīng)地就沒有通信分析這一保護措施,所以它沒什么用處。AH只用于保證收到的數(shù)據(jù)包在傳輸過程中不會被修改,保證由要求發(fā)送它的當(dāng)事人將它發(fā)送出去,以及保證它是一個新的非重播的數(shù)據(jù)包。237.2.2AH處理1、發(fā)送處理對外出數(shù)據(jù)包,利用這個SA構(gòu)建一個AH頭之前,計算器就開始遞增。這樣保證了每個AH頭中的序列號都是一個獨一無二的、非零的和單向遞增的數(shù)。AH頭的其余字段都將填滿恰當(dāng)?shù)闹?。SPI字段分配的值是取自SA的SPI,鑒別數(shù)據(jù)字段設(shè)成0。AH將安全保護擴展到外部IP頭的原有的或預(yù)計有的字段。因此,要將完整性檢查值(ICV)之前的不定字段調(diào)成零。對沒有包含在身份認(rèn)證ICV中的IPv4頭來說,它的不定字段包括Typeofservice(服務(wù)類型)、Flags(標(biāo)志)、Fragmentoffset(分段偏移)、Timetolive(存活時間)和Headerchecksum(頭校驗和)。24對IPv4選項或IPv6擴展頭來說,如果它們是固定的或預(yù)定的,都會包含在ICV計算之中。否則,必需在計算ICV之前,把它們調(diào)成零。身份認(rèn)證可能要求進行適當(dāng)?shù)奶畛?。對有些MAC來說,比如DES-CBCMAC,要求在其上面應(yīng)用MAC的數(shù)據(jù)必須是算法的塊尺寸的倍數(shù)。因此,必須進行填充,以便正確地使用MAC。這個填充項是隱式添加的。它必須一概為零,其大小不包括在載荷長度中,并且不隨數(shù)據(jù)包一起傳送。對于IPv4,AH頭必須是32個字節(jié)的倍數(shù),IPv6則是64個字節(jié)的一倍。若MAC的輸出和這項要求不符,就必須添加AH頭。對于填充項的值,必須包括在ICV計算中,并在載荷長度中反映出填充項的大小。如果強制實施身份認(rèn)證程序正確對齊了,在用HMAC-MD5-96或HMAC-SHA-96時,就不再需要填充項。通過把密鑰從SA和整個IP包(包括AH頭)傳到特定的算法(它被認(rèn)作SA中的身份認(rèn)證程序)這一方式,對ICV進行計算。由于不定字段已設(shè)成零,不會包括在ICV計算中。接下來,ICV值被復(fù)制到AH的“鑒別數(shù)據(jù)”字段中,IP頭中的不定字段就可根據(jù)IP處理的不同得以填充。最后,IP包就可以輸出了。252、接收處理由IP頭的目的地址、特定協(xié)議(這里是51)和取自AH頭的SPI這三者再對SAD進行檢索找SA。如果沒有找到合適的SA,這個包就會被丟棄。找到SA之后,進行序列號檢查。這一步是可選的,但這樣做收效甚微,以致沒有理由不執(zhí)行抗重播檢查??怪夭z查會決定這個包是新收的還是以前收到的。如果檢查失敗,這個包就會被丟棄?,F(xiàn)在必須檢查ICV了。首先將AH頭的鑒別數(shù)據(jù)字段中的ICV值保存下來,然后將那個字段清零。IP中的所有不定字段也被清零(如上所述,這些其實是先于ICV計算清零的相同的字段)。取決于驗證算法以及載荷長度,可能還要進行隱式填充,使驗證數(shù)據(jù)的長度符合算法的要求。隱式填充包含的值必須全為零。隨后,對整個數(shù)據(jù)包應(yīng)用驗證算法進行計算,并將獲得的摘要同保存下來的ICV值進行比較。如相符,IP包就通過了身份驗證;如不符,便丟棄該包。ICV一經(jīng)驗證,如有必要,滑動接收窗口的序列號可以遞增。這樣便結(jié)束了一次AH處理過程。隨后,保存下來的IP頭可被恢復(fù)—記住不定字段已經(jīng)置零,所以能防止對其作進一步的處理—而且驗證通過的整個數(shù)據(jù)報可傳遞給下一步的IP處理。267.3ESP協(xié)議ESP用于為IP報文提供保密性業(yè)務(wù)和可選的數(shù)據(jù)完整性保護。和AH一樣,ESP也可通過其序列號的單調(diào)性來防重放攻擊。7.3.1

ESP報頭格式ESP報頭格式如圖所示。27相關(guān)字段的說明如下:有效負(fù)載數(shù)據(jù)(PayloadData):包括被加密保護的IP包或傳輸層數(shù)據(jù)段(傳輸模式)。填充項(Padding):0~255字節(jié),該字段用于當(dāng)加密算法要求明文長度為某一長度整數(shù)倍時,則可通過填充達到所需長度等。填充長度(PadLength):長8bit,指明填充項的長度,接收端利用它恢復(fù)載荷數(shù)據(jù)的真實長度。鑒別數(shù)據(jù)(AuthenticationData):長度必須為32位字的整數(shù)。是一個驗證算法(通常是散列函數(shù))應(yīng)用于ESP包所得出的完整性檢查值(ICV)。該字段是可選的。加密保護的范圍287.3.2ESP的運行模式ESP也可選用兩種方式中的一種來應(yīng)用于IP包:傳送模式或通道模式。其間的差別決定了ESP保護的真正對象是什么。在傳送模式中,ESP頭插在IP頭和IP包的上層協(xié)議頭之間:通道模式下,整個受保護的IP包都封裝在一個ESP頭中,還增加了一個新的IP頭。7.3.3ESP處理1、發(fā)送處理對在IPv4上運行的傳送模式應(yīng)用來說,ESP頭緊跟在IP頭(包括IP頭可能有的任何選項)之后,插入一個外出的IP包中。IP頭的協(xié)議字段被復(fù)制到ESP頭的“下一個頭”字段中,ESP頭的其余字段則被填滿—SPI字段分配到的是來自SAD的、用來對這個包進行處理的特定SA的SPI;填充序列號字段的是序列中的下一個值;填充數(shù)據(jù)會被插入,其值被分配;同時分配的還有填充長度值。隨后,IP頭的協(xié)議字段得到的是ESP的值,或者50。除了頭插入位置不同之外,IPv6處理規(guī)則基本上類似于IPv4。ESP頭可插在任意一個擴展頭之后。29對隧道模式應(yīng)用來說,ESP頭是加在IP包前面的。如果封裝的是一個IPv4包,那么ESP頭的“下一個頭”字段分配到值4;如果封裝的是一個IPv6包,則分配到值41。其他字段的填充方式和在傳送模式中一樣。隨后,在ESP頭的前面新增了一個IP頭,并對相應(yīng)的字段進行填充(賦值)—源地址對應(yīng)于應(yīng)用ESP的那個設(shè)備本身;目標(biāo)地址取自于用來應(yīng)用ESP的SA;協(xié)議設(shè)為50;其他字段的值則參照本地的IP處理加以填充。不管哪種模式下,接下去的步驟都是相同的。從恰當(dāng)?shù)腟A中選擇加密器(加密算法),對包進行加密(從載荷數(shù)據(jù)的開頭,一直到“下一個頭”字段)。隨后,使用恰當(dāng)?shù)腟A中的認(rèn)證器,對包進行認(rèn)證(自ESP頭開始,中間經(jīng)過加密的密文,一直到ESP尾)。隨后,將認(rèn)證器的結(jié)果插入ESP尾的“認(rèn)證數(shù)據(jù)”字段中。對外出數(shù)據(jù)包進行處理的最后一步是:重新計算位于ESP前面的IP頭的校驗和。302、接收處理接收方在收到一個ESP包之后,若不對這個包進行處理,就無法得知它究竟處于隧道模式,還是傳送模式。根據(jù)對這個包進行處理的SA,便可知道它到底處在什么模式下。但除非完成了對它的解密,實際上不可能知道ESP保護的是什么。收到ESP包后,首先要檢查處理這個包的SA是否存在——這是基本的IPSec要求,而不是ESP專有的。如果沒有SA,這個包就會被丟棄。一旦認(rèn)證通過了一個有效的SA,就可用它開始對包的處理。首先檢查序列號。由于ESP身份認(rèn)證密文而不是明文,接下來進行的便是對這個包進行身份認(rèn)證。然后是解密。通過取自SA的密鑰和密碼算法,就可對ESP包進行解密,這個ESP包從載荷數(shù)據(jù)開始到下一個頭結(jié)束。傳送身份認(rèn)證和解密檢查成功之后,就可對結(jié)果數(shù)據(jù)包進行初步的有效性檢驗。如果用來處理這個數(shù)據(jù)包的SA表明在某一特定模式下——要么是隧道模式,要么是傳送模式—只能處理ESP包,那么還必須檢驗這個包的適用性。如果這個包與要求的模式不符,就必須把它丟棄。對于傳送模式,上層協(xié)議頭與IP頭是同步的,ESP頭的下一個頭字段被復(fù)制到IP頭的協(xié)議字段中,并計算出一個新的IP校驗和;對于隧道模式,就拋開外部IP頭和ESP頭——我們需要的是這個解開封裝的包。為進行下一步的處理,可將一個經(jīng)過改造和認(rèn)證的包轉(zhuǎn)發(fā)出去。如果它是一個傳送模式包,就會轉(zhuǎn)發(fā)到一個高一級的協(xié)議層(比如TCP或UDP),由它們對這個包進行處理;如果它是一個隧道模式包,就會重新插入到IP處理流中,繼續(xù)轉(zhuǎn)發(fā)到它的最終目的地。317.3.4ESP和AH的比較總的說來,AH可證明數(shù)據(jù)的起源地、保障數(shù)據(jù)的完整性、防止相同數(shù)據(jù)包的重播。而ESP除具有AH的所有能力之外,還可選擇保障數(shù)據(jù)的機密性,以及為數(shù)據(jù)流提供有限的機密性保障。

327.3.5ESP和AH的同時實現(xiàn)由前面的介紹可以知道,單個的SA能夠?qū)崿F(xiàn)AH和ESP,但卻不能同時實現(xiàn)這兩種協(xié)議。有時,特定的通信業(yè)務(wù)要求AH和ESP都提供服務(wù)。此時,對相同的IP業(yè)務(wù)流必須應(yīng)用多個SA來實現(xiàn)所需IPSec服務(wù)。我們稱這種多個SA序列為SA束。SA束可以通過兩種方式形成:1)傳輸鄰接:指對同一個IP數(shù)據(jù)報多次應(yīng)用傳輸模式的AH和ESP兩種協(xié)議,但只允許兩種協(xié)議一個層次的組合。2)重復(fù)遂道:指對同一個IP數(shù)據(jù)報在遂道模式下使用ESP和AH的多層嵌套。這兩種方式不可以結(jié)合起來使用。如在網(wǎng)關(guān)間使用重復(fù)遂道形式而在兩個子網(wǎng)主機之間使用傳輸鄰接方式。337.4ISAKMP協(xié)議IPSec的密鑰管理是對密鑰的產(chǎn)生、登記、認(rèn)識、注冊、分發(fā)、安裝、存儲、歸檔、注解等服務(wù)的實施和運用。而密鑰協(xié)商則是密鑰管理的一個重要的組成部份,它主要處理密鑰的生成、分發(fā),二者的關(guān)系可由圖描述。ISAKMP為IPSec提供了一個密鑰管理框架,并為安全屬性的協(xié)商提供了協(xié)議支持,不同的密鑰管理算法都可以集成到這個框架中。IKE(密鑰交換),主要用于完成密鑰協(xié)商。347.4.1ISAKMP報頭格式ISAKMP消息的構(gòu)成是:一個ISAKMP報頭,其后緊跟一個或多個有效載荷。這些有效載荷格式提供了獨立于具體密鑰協(xié)議、加密算法和身份驗證機制的格式。ISAKMP報頭格式如圖所示。35相關(guān)字段說明如下:發(fā)起者和響應(yīng)者cookie(IntiatorandResponderCookie):64位,由通信雙方創(chuàng)建的,并隨消息ID一道,用來標(biāo)識本次ISAKMP交換。下一載荷(NextPayload):8位,指出哪一個ISAKMP載荷緊跟在這個頭之后。主版本和副版本:各4位,指出ISAKMP正在使用的主副版本號。交換類型(ExchangeType):8位,功能將在后面介紹。標(biāo)志(Flags):8位,指出密鑰交換類型。消息ID:32位,用來標(biāo)識協(xié)議的狀態(tài)。消息長度:32位,說明整個消息的長度,包括頭和有效載荷。36Cookie有些Web服務(wù)器能夠收集有關(guān)用戶的特定狀態(tài)信息,用來在以后的會話中使用。這些信息將保存在用戶的瀏覽器中,當(dāng)下一次用戶連接到這個服務(wù)器時,瀏覽器就可以將合適的狀態(tài)發(fā)送給服務(wù)器使用。HTTP的這種狀態(tài)管理機制被稱為Cookie。Cookie用來代表服務(wù)器和瀏覽器之間傳遞的狀態(tài)信息。用戶的瀏覽器可以接受來自服務(wù)器的Cookie并存儲在本地。再次連接到服務(wù)器時,瀏覽器可以將Cookie發(fā)送給服務(wù)器。377.4.2ISAKMP載荷每一個ISAKMP有效載荷都以如圖所示格式的載荷報頭開始:其中下一載荷字段表示緊接的載荷類型,如果載荷已經(jīng)是最后一個載荷,載荷字段值必須取0;保留字段值必須取0;載荷長度表明這一負(fù)載以8位位組為單位的長度。38ISAKMP載荷類型及載荷字段值如表。397.4.3

ISAKMP的協(xié)商階段和交換類型

ISAKMP采用兩階段協(xié)商機制。在第一階段,在通信雙方間建立ISAKMP

SA,即建立一個通過了身份驗證和安全保護的通道。在第二階段,使用第一階段建立起來的通道為另一個不同的協(xié)議(如IPSec)協(xié)商安全服務(wù)。ISAKMP

SA實際上是安全策略的一個抽象和一個密鑰,它和IPSec

SA既有某些共同之處,也有很大區(qū)別。在建立這個SA之前,通信雙方必須先協(xié)商好規(guī)則、驗證方法、所需參數(shù)等等,ISAKMPSA必須用來對后續(xù)階段2的信息交換提供驗證。階段2交換可為其它協(xié)議建立安全關(guān)聯(lián)。完成一次階段2交換以后,在ISAKMP處理過程中和它關(guān)聯(lián)在一起的狀態(tài)便不復(fù)存在,但ISAKMP

SA繼續(xù)存在,以確保階段2交換的安全。ISAKMP定義了五種密鑰交換。然而這些交換不能算是完整的交換,因為它既未定義一次特定的驗證密鑰交換如何完成,也未定義建立SA所需的屬性。對于IPSec而言,這部份工作交給了IKE去完成。401、基本交換(BaseExchange)在第1條消息中,發(fā)起者請求建立一個SA,并在SA中提出自己的proposal,然后產(chǎn)生一個偽隨機數(shù)(包含在NONCE載荷中),此隨機數(shù)不但提供對話雙方參與通信的證明,而且因為每次產(chǎn)生的隨機數(shù)都不一樣,所以也是抗重放攻擊的好方法?;窘粨Q允許密鑰交換和身份驗證信息在一起傳送,都是明文傳輸,這樣就減少了交換的消息量,但這種交換無法提供身份保護。前兩個消息是建立SA;后兩個消息交換密鑰信息和用戶ID,使用AUTH有效載荷來鑒別來自前兩個消息的密鑰、身份和一次性隨機數(shù)。412、身份保護交換在身份保護交換中,密鑰交換和身份、鑒別信息分開,因此提供了對身份的保護,但同時也增加了交換的消息量。前兩個消息是建立SA;隨后兩個消息用于密鑰交換;最后兩條消息用于交換包含了鑒別信息的加密數(shù)據(jù),鑒別信息包括數(shù)字簽名、公鑰證書等。423、身份驗證交換身份驗證交換在不提供身份保護的代價下最小化了交換的消息量。它只需要傳輸與鑒別有關(guān)的信息,最終形成SA,并通過驗證確認(rèn)對方正是自己需要交流的對象。用于完成相互的鑒別,不用于密鑰交換;前兩個消息建立SA;響應(yīng)者在第二個消息還向發(fā)起者發(fā)送自己的ID,并使用鑒別來保護該報文。發(fā)起者在第三條消息中向響應(yīng)者傳輸它的已鑒別的ID。434、野蠻交換(AggressiveExchange)在野蠻交換中,發(fā)起者不能發(fā)送多個提議,這是因為發(fā)起者必須在第1條消息中提供Diffie-Hellman的公共值和以及它的隨機數(shù)。第1條消息,發(fā)起者提議建立SA,同時還開始了密鑰交換過程并向響應(yīng)者提供自己的ID;第2條消息,響應(yīng)者表示接受建立SA的提議,并完成密鑰交換及鑒別傳輸?shù)男畔ⅲ坏?條消息,發(fā)送者向響應(yīng)者傳送鑒別加密結(jié)果,使用共享的密鑰加密,其中鑒別的范圍覆蓋了以前的信息。445、信息交換(InformationalExchange)

信息交換用于向?qū)?/p>

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論