IPSec認(rèn)證包頭(AH)是一個(gè)用于提供IP數(shù)據(jù)報(bào)完整性和認(rèn)證的機(jī)制。其完整性是保證數(shù)據(jù)報(bào)不被無意的或惡意的方式改變,而認(rèn)證則驗(yàn)證數(shù)據(jù)的來源(識別主機(jī)、用戶、網(wǎng)絡(luò)等)。AH本身其實(shí)并不支持任何形式的加密,它不能保證通過Internet發(fā)送的數(shù)據(jù)的可信程度。AH只是在加密的出口、進(jìn)口或使用受到當(dāng)?shù)卣拗频那闆r下可以提高全球Intenret的安全性。當(dāng)全部功能實(shí)現(xiàn)后,它將通過認(rèn)證IP包并且減少基于IP欺騙的攻擊機(jī)率來提供更好的安全服務(wù)。AH使用的包頭放在標(biāo)準(zhǔn)的IPv4和IPv6包頭和下一個(gè)高層協(xié)議幀(如TCP、UDP、ICMP等)之間。
AH協(xié)議通過在整個(gè)IP數(shù)據(jù)報(bào)中實(shí)施一個(gè)消息文摘計(jì)算來提供完整性和認(rèn)證服務(wù)。一個(gè)消息文摘就是一個(gè)特定的單向數(shù)據(jù)函數(shù),它能夠創(chuàng)建數(shù)據(jù)報(bào)的唯一的數(shù)字指紋。消息文摘算法的輸出結(jié)果放到AH包頭的認(rèn)證數(shù)據(jù)(Authentication_Data)區(qū)。消息文摘5算法(MD5)是一個(gè)單向數(shù)學(xué)函數(shù)。當(dāng)應(yīng)用到分組數(shù)據(jù)中時(shí),它將整個(gè)數(shù)據(jù)分割成若干個(gè)128比特的信息分組。每個(gè)128比特為一組的信息是大分組數(shù)據(jù)的壓縮或摘要的表示。當(dāng)以這種方式使用時(shí),MD5只提供數(shù)字的完整性服務(wù)。一個(gè)消息文摘在被發(fā)送之前和數(shù)據(jù)被接收到以后都可以根據(jù)一組數(shù)據(jù)計(jì)算出來。如果兩次計(jì)算出來的文摘值是一樣的,那么分組數(shù)據(jù)在傳輸過程中就沒有被改變。這樣就防止了無意或惡意的竄改。在使用HMAC-MD5認(rèn)證過的數(shù)據(jù)交換中,發(fā)送者使用以前交換過的密鑰來首次計(jì)算數(shù)據(jù)報(bào)的64比特分組的MD5文摘。從一系列的16比特中計(jì)算出來的文摘值被累加成一個(gè)值,然后放到AH包頭的認(rèn)證數(shù)據(jù)區(qū),隨后數(shù)據(jù)報(bào)被發(fā)送給接收者。接收者也必須知道密鑰值,以便計(jì)算出正確的消息文摘并且將其與接收到的認(rèn)證消息文摘進(jìn)行適配。如果計(jì)算出的和接收到的文摘值相等,那么數(shù)據(jù)報(bào)在發(fā)送過程中就沒有被改變,而且可以相信是由只知道秘密密鑰的另一方發(fā)送的。
二、IPSec加密
封包安全協(xié)議(ESP)包頭提供IP數(shù)據(jù)報(bào)的完整性和可信性服務(wù)ESP協(xié)議是設(shè)計(jì)以兩種模式工作的:隧道(Tunneling)模式和傳輸(Transport)模式。兩者的區(qū)別在于IP數(shù)據(jù)報(bào)的ESP負(fù)載部分的內(nèi)容不同。在隧道模式中,整個(gè)IP數(shù)據(jù)報(bào)都在ESP負(fù)載中進(jìn)行封裝和加密。當(dāng)這完成以后,真正的IP源地址和目的地址都可以被隱藏為Internet發(fā)送的普通數(shù)據(jù)。這種模式的一種典型用法就是在防火墻-防火墻之間通過虛擬專用網(wǎng)的連接時(shí)進(jìn)行的主機(jī)或拓?fù)潆[藏。在傳輸模式中,只有更高層協(xié)議幀(TCP、UDP、ICMP等)被放到加密后的IP數(shù)據(jù)報(bào)的ESP負(fù)載部分。在這種模式中,源和目的IP地址以及所有的IP包頭域都是不加密發(fā)送的。
IPSec要求在所有的ESP實(shí)現(xiàn)中使用一個(gè)通用的缺省算法即DES-CBC算法。美國數(shù)據(jù)加密標(biāo)準(zhǔn)(DES)是一個(gè)現(xiàn)在使用得非常普遍的加密算法。它最早是在由美國政府公布的,最初是用于商業(yè)應(yīng)用。到現(xiàn)在所有DES專利的保護(hù)期都已經(jīng)到期了,因此全球都有它的免費(fèi)實(shí)現(xiàn)。IPSec ESP標(biāo)準(zhǔn)要求所有的ESP實(shí)現(xiàn)支持密碼分組鏈方式(CBC)的DES作為缺省的算法。DES-CBC通過對組成一個(gè)完整的IP數(shù)據(jù)包(隧道模式)或下一個(gè)更高的層協(xié)議幀(傳輸模式)的8比特?cái)?shù)據(jù)分組中加入一個(gè)數(shù)據(jù)函數(shù)來工作。DES-CBC用8比特一組的加密數(shù)據(jù)(密文)來代替8比特一組的未加密數(shù)據(jù)(明文)。一個(gè)隨機(jī)的、8比特的初始化向量(IV)被用來加密第一個(gè)明文分組,以保證即使在明文信息開頭相同時(shí)也能保證加密信息的隨機(jī)性。DES-CBC主要是使用一個(gè)由通信各方共享的相同的密鑰。正因?yàn)槿绱?,它被認(rèn)為是一個(gè)對稱的密碼算法。接收方只有使用由發(fā)送者用來加密數(shù)據(jù)的密鑰才能對加密數(shù)據(jù)進(jìn)行解密。因此,DES-CBC算法的有效性依賴于秘密密鑰的安全,ESP使用的DES-CBC的密鑰長度是56比特。

分享到

多易

相關(guān)推薦