IPSec基礎(chǔ)(二)——IPSec協(xié)議類型

字號:

IPSec提供了兩種安全機(jī)制:認(rèn)證和加密。認(rèn)證機(jī)制使IP通信的數(shù)據(jù)接收方能夠確認(rèn)數(shù)據(jù)發(fā)送方的真實(shí)身份以及數(shù)據(jù)在傳輸過程中是否遭篡改。加密機(jī)制通過對數(shù)據(jù)進(jìn)行編碼來保證數(shù)據(jù)的機(jī)密性,以防數(shù)據(jù)在傳輸過程中被竊聽。IPSec 協(xié)議組包含Authentication Header(AH)協(xié)議、Encapsulating Security Payload(ESP)協(xié)議和Internet Key Exchange(IKE)協(xié)議。其中AH協(xié)議定義了認(rèn)證的應(yīng)用方法,提供數(shù)據(jù)源認(rèn)證和完整性保證;ESP協(xié)議定義了加密和可選認(rèn)證的應(yīng)用方法,提供可靠性保證。在實(shí)際進(jìn)行IP通信時,可以根據(jù)實(shí)際安全需求同時使用這兩種協(xié)議或選擇使用其中的一種。AH和ESP都可以提供認(rèn)證服務(wù),不過,AH提供的認(rèn)證服務(wù)要強(qiáng)于ESP。IKE用于密鑰交換(將在以后部分討論)。
    一、Authentication Header(AH)協(xié)議結(jié)構(gòu)
    AH協(xié)議為IP通信提供數(shù)據(jù)源認(rèn)證、數(shù)據(jù)完整性和反重播保證,它能保護(hù)通信免受篡改,但不能防止竊聽,適合用于傳輸非機(jī)密數(shù)據(jù)。AH的工作原理是在每一個數(shù)據(jù)包上添加一個身份驗(yàn)證報(bào)頭。此報(bào)頭包含一個帶密鑰的hash散列(可以將其當(dāng)作數(shù)字簽名,只是它不使用證書),此hash散列在整個數(shù)據(jù)包中計(jì)算,因此對數(shù)據(jù)的任何更改將致使散列無效--這樣就提供了完整性保護(hù)。
    AH報(bào)頭位置在IP報(bào)頭和傳輸層協(xié)議報(bào)頭之間,見圖一。 AH由IP協(xié)議號" 51"標(biāo)識,該值包含在AH報(bào)頭之前的協(xié)議報(bào)頭中,如IP報(bào)頭。AH可以單獨(dú)使用,也可以與ESP協(xié)議結(jié)合使用。
    AH報(bào)頭字段包括:
    ·Next Header(下一個報(bào)頭): 識別下一個使用IP協(xié)議號的報(bào)頭,例如,Next Header值等于"6",表示緊接其后的是TCP報(bào)頭。
    ·Length(長度): AH報(bào)頭長度。
    ·Security Parameters Index (SPI,安全參數(shù)索引): 這是一個為數(shù)據(jù)報(bào)識別安全關(guān)聯(lián)的 32 位偽隨機(jī)值。SPI 值 0 被保留來表明"沒有安全關(guān)聯(lián)存在"。
    ·Sequence Number(序列號):從1開始的32位單增序列號,不允許重復(fù),地標(biāo)識了每一個發(fā)送數(shù)據(jù)包,為安全關(guān)聯(lián)提供反重播保護(hù)。接收端校驗(yàn)序列號為該字段值的數(shù)據(jù)包是否已經(jīng)被接收過,若是,則拒收該數(shù)據(jù)包。
    ·Authentication Data(AD,認(rèn)證數(shù)據(jù)): 包含完整性檢查和。接收端接收數(shù)據(jù)包后,首先執(zhí)行hash計(jì)算,再與發(fā)送端所計(jì)算的該字段值比較,若兩者相等,表示數(shù)據(jù)完整,若在傳輸過程中數(shù)據(jù)遭修改,兩個計(jì)算結(jié)果不一致,則丟棄該數(shù)據(jù)包。