IPsec體系
AH(Authentication Header)認(rèn)證首部
提供如下3種服務(wù):
- 數(shù)據(jù)完整性驗(yàn)證 通過哈希函數(shù)(如MD5)產(chǎn)生的校驗(yàn)來保證
- 數(shù)據(jù)源身份認(rèn)證 通過在計(jì)算驗(yàn)證碼時加入一個共享密鑰來實(shí)現(xiàn)
- 防重放攻擊 AH報頭中的序列號可以防止重放攻擊
格式、封裝:……
運(yùn)行模式
傳輸模式
AH插入到IP首部(包括IP選項(xiàng)字段)之后、傳輸層協(xié)議(如TCP、UDP)或者其它IPsec協(xié)議之前
AH驗(yàn)證區(qū)域是整個IP包(可變字段?除外),包括IP包首部,若源IP地址、目的IP地址修改,無法通過驗(yàn)證
數(shù)據(jù)包經(jīng)過NAT網(wǎng)關(guān)時,源/目的IP地址會被改變,會造成到達(dá)目的地址后的完整性驗(yàn)證失敗
結(jié)論:AH在傳輸模式下和NAT相互沖突,不能同時使用,即:AH不能穿越NAT
隧道模式
AH插入到原始IP首部之前,然后在AH之前再增加一個新的IP首部
ESP(Encapsulating Security Payload )封裝安全載荷
比AH多提供兩種服務(wù):
- 數(shù)據(jù)包加密 可以對整個IP包,也可以只加密IP包的載荷部分,一般用于客戶端計(jì)算機(jī)
- 數(shù)據(jù)流加密 一般用于支持IPsec的路由器,源端路由器并不關(guān)心IP包的內(nèi)容,對整個IP包進(jìn)行加密后傳輸,目的端路由器將該包解密后將原始包繼續(xù)轉(zhuǎn)發(fā)
加密是ESP的基本功能,而數(shù)據(jù)源身份認(rèn)證、數(shù)據(jù)完整性驗(yàn)證以及防重放攻擊都是可選的
格式、封裝:……
運(yùn)行模式
傳輸模式
加密不包括SPI、序號字段和驗(yàn)證數(shù)據(jù)
驗(yàn)證不包括IP首部,所以不存在與NAT沖突的問題
隧道模式
在隧道模式中,ESP插入到原始IP首部之前,然后在ESP之前再增加一個新的IP首部
IKE(Internet Key Exchange)
IKE協(xié)議負(fù)責(zé)密鑰管理,定義了通信實(shí)體間進(jìn)行身份認(rèn)證、協(xié)商加密算法以及生成共享會話密鑰的方法。
IKE將密鑰協(xié)商的結(jié)果保留在安全關(guān)聯(lián)(SA)中,供AH和ESP通信使用
IKE協(xié)議具有完善的前向安全性(PFS),即使第三方截獲用于計(jì)算密鑰的所有交換數(shù)據(jù),也不足以計(jì)算出密鑰。
IKE協(xié)議有兩種模式:主模式和野蠻模式。主模式適用于安全通信雙方之間存在安全通道的情況,而野蠻模式適用于安全通信雙方之間不存在安全通道的情況。IKE協(xié)議通過交換密鑰和身份驗(yàn)證信息,最終建立起一個安全的通信通道,用于后續(xù)的IPsec通信。
兩個階段
階段一:通信雙方彼此間建立一個已通過身份驗(yàn)證和安全保護(hù)的通道。此階段的交換建立了一個ISAKMP安全關(guān)聯(lián),也可稱為IKE SA
主模式
野蠻模式
階段二:在IKE SA的保護(hù)下完成IPsec的協(xié)商(如AH SA、ESP SA)
DOI(Domain of Interpretation )
解釋域,定義IKE沒有定義的協(xié)商的內(nèi)容,如:為使用IKE進(jìn)行協(xié)商SA的協(xié)議統(tǒng)一分配標(biāo)識符
共享一個DOI的協(xié)議從一個共同的命名空間中選擇安全協(xié)議和變換、共享密碼以及交換協(xié)議的標(biāo)識符等
IPsec協(xié)議流程
外出處理
傳輸層的數(shù)據(jù)包流入IP層,以選擇符檢索SPD(安全策略庫),判斷是否需要Ipsec加密,
可能有以下幾種情況:
- 丟棄:簡單丟掉
- 繞過安全服務(wù):為載荷增添IP頭,然后分發(fā)IP包
- 應(yīng)用安全服務(wù):查詢SAD(安全關(guān)聯(lián)庫),確定是否存在有效的SA
① 存在有效SA:取出相應(yīng)參數(shù),將數(shù)據(jù)報封裝,然后發(fā)送
② 尚未建立SA:啟動IKE協(xié)商,成功后按存在有效SA一樣的步驟處理,不成功則將數(shù)據(jù)報丟棄
③ 存在SA但無效:請求協(xié)商新SA,成功后按存在有效SA一樣的步驟處理,不成功則將數(shù)據(jù)報丟棄
進(jìn)入處理
檢查包內(nèi)是否有IPsec頭?
如果沒有,則根據(jù)安全策略SP對包進(jìn)行檢查,決定如何處理:
- 丟棄:直接丟棄
- 應(yīng)用安全服務(wù):SA沒有建立,包同樣會被丟棄
- 將包傳給上層協(xié)議處理
- 如果IP包中包含IPsec頭:
I. 從IP包中提取三元組(SPI,目標(biāo)地址,協(xié)議)并在SAD中檢索。如果未建立SA或SA無效,直接丟棄,不再協(xié)商。
II. 根據(jù)協(xié)議值交給AH層或ESP層處理
III.協(xié)議載荷處理完之后,要在SPD中查詢策略,驗(yàn)證SA使用是否得當(dāng)。
SPD與SAD的關(guān)系
SPD(Security Policy Database,安全存策略數(shù)據(jù)庫)
是IPsec協(xié)議中用于存儲安全策略(SP)信息的數(shù)據(jù)庫。SPD用于存儲SP信息,以便在IPsec通信過程中快速查找和匹配SP。
SP(Security Policy,安全策略):
- 決定對IP數(shù)據(jù)包提供何種保護(hù),并以何種方式實(shí)施保護(hù)
- 根據(jù)源IP地址、目的IP地址、入數(shù)據(jù)還是出數(shù)據(jù)等來標(biāo)識
- IPsec還定義了用戶能以何種粒度來設(shè)定自己的安全策略,不僅可以控制到IP地址,還可以控制到傳輸層協(xié)議或者TCP/UDP端口等
SAD(Security Association Database,安全關(guān)聯(lián)數(shù)據(jù)庫)
是IPsec協(xié)議中用于存儲安全關(guān)聯(lián)(SA)信息的數(shù)據(jù)庫。SAD用于存儲SA信息,以便在IPsec通信過程中快速查找和匹配SA。
SA(Security Association,安全關(guān)聯(lián))
- 兩個IPsec實(shí)體(主機(jī)、安全網(wǎng)關(guān))經(jīng)過協(xié)商建立起來的一種協(xié)定或關(guān)聯(lián),是構(gòu)成IPsec的基礎(chǔ)
- 包括:采用何種IPsec協(xié)議(AH or ESP)、運(yùn)行模式(傳輸模式 or 隧道模式)、驗(yàn)證算法、加密算法、加密密鑰、密鑰生存期、抗重放窗口、計(jì)數(shù)器等,從而決定了保護(hù)什么、如何保護(hù)以及誰來保護(hù)
- 使用AH還是ESP保護(hù)通信需要在SA配置,IKE則用于在通信雙方間協(xié)商SA
- SA是單向的,分為進(jìn)入SA和外出SA
每個SA由三元組(SPI,IP目的地址,IPsec協(xié)議)或(SPI, DST, Protocol),唯一標(biāo)識
- SPI(Security Parameter Index,安全參數(shù)索引),32位,標(biāo)識具有相同IP地址和相同安全協(xié)議的不同SA,放在AH或ESP的頭部
- IP目的地址:SA的終端地址
- IPsec協(xié)議:采用AH或ESP
注:有時是四元組,加上源地址(SRC)
SAD中每個SA除了上述三元組之外,還包括:序列號、序列號溢出、抗重放窗口、存活時間/生存時間、模式、通道目的地、PMTU參數(shù)
關(guān)系
每當(dāng)發(fā)出一個數(shù)據(jù)包時,根據(jù)SPD中對它的策略判斷是否進(jìn)行IPsec處理
- 如果是,從SAD中找到對應(yīng)SA,然后根據(jù)SA提供的參數(shù),對數(shù)據(jù)包進(jìn)行加解密 、生成校驗(yàn)和、封裝成AH/ESP等操作
- 如果否,則后續(xù)處理與SAD無關(guān)
每當(dāng)接收到一個數(shù)據(jù)包時,判斷是否包含IPsec頭
- 如果是,從SAD中找到對應(yīng)SA,提交給AH/ESP等操作。根據(jù)SPD判斷處理是否符合安全策略。
- 如果否,按照丟棄、不用IPsec和使用IPsec(丟棄)判斷處理。
IPsec的實(shí)現(xiàn)方式
主機(jī)實(shí)施
OS集成
作為網(wǎng)絡(luò)層的一部分來實(shí)現(xiàn)
堆棧中的塊
BITS(Bump-in-the-stack), 作為一個“楔子”插入網(wǎng)絡(luò)層與數(shù)據(jù)鏈路層之間,
路由器實(shí)施
原始實(shí)施:等同于主機(jī)上的OS集成方案,集成在路由器軟件,如Cisco
BITW(Bump-in-the-wire):等同于BITS,在設(shè)備中實(shí)施,直接接入路由器的物理接口,不運(yùn)行路由算法,只保障數(shù)據(jù)包的安全文章來源:http://www.zghlxwxcb.cn/news/detail-826783.html
一個完整的IPsecVPN工作原理
文章來源地址http://www.zghlxwxcb.cn/news/detail-826783.html
到了這里,關(guān)于第五章 ip層安全協(xié)議——IPsec(鄭大網(wǎng)安自用)的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!