專業提供企業網絡專線 、MPLS VPN、SD-WAN、IPLC、IPLC、海外IDC、云專線等技術方案。
咨詢熱線:400-028-9798

IPLC

IPsec不同安全協議的報文封裝結構對比

發布時間:2021-07-21 17:04:57來源:鐵軍哥作者:衡水鐵頭哥閱讀:

[導讀]: IPsec SA(Security Association,安全聯盟)分為兩種類型:傳輸模式和隧道模式。 傳輸模式 SA 是兩個主機之間的安全聯盟。在 ESP 的情況下,傳輸模式 SA 僅為這些更高層協議提供安全服務,...
IPsec SA(Security Association,安全聯盟)分為兩種類型:傳輸模式和隧道模式。

傳輸模式 SA 是兩個主機之間的安全聯盟。在 ESP 的情況下,傳輸模式 SA 僅為這些更高層協議提供安全服務,而不是為 IP 標頭或 ESP 標頭之前的任何擴展標頭提供安全服務。在 AH 的情況下,保護還擴展到 IP 標頭的選定部分、擴展標頭的選定部分和選定的選項。

隧道模式SA本質上是應用于IP隧道的SA。每當SA的任一端是安全網關時,SA 必須是隧道模式。因此,兩個安全網關之間的 SA 始終是隧道模式 SA,主機和安全網關之間的 SA 也是如此。

對于隧道模式 SA,有一個“外部”IP 標頭指定 IPsec 處理目的地,加上一個“內部”IP 標頭,指定數據包的(表面)最終目的地。安全協議頭出現在外部 IP 頭之后,內部 IP 頭之前。如果在隧道模式下使用 AH,則外部 IP 報頭的部分將受到保護(如上所述),以及所有隧道傳輸的 IP 數據包(即,所有內部 IP 報頭都受到保護,以及更高層協議)。如果采用 ESP,則僅對隧道數據包提供保護,而不對外部報頭提供保護。

總之,主機必須同時支持傳輸和隧道模式;要求安全網關僅支持隧道模式,如果安全網關支持傳輸模式,則應僅在安全網關充當主機時使用。

組網圖

IPsec不同安全協議的報文封裝結構對比

采用和第一次實驗(IPsec小實驗:手工方式建立保護IPv4報文的IPsec-ESP隧道)相同的組網圖。

設備配置

IPsec這個實驗我是在H3C模擬器HCL中做的,主要配置任務包括以下幾點:

1、配置IPsec保護的數據流量。一般也稱為感興趣流,用ACL來進行匹配;

2、配置IPsec安全提議。指定對IP報文的封裝形式為傳輸模式或隧道模式,選擇安全協議為AH或ESP或AH-ESP,并配置與之對應的加密算法及認證算法;

3、配置IPsec安全策略。包含配置應用感興趣流,應用IPsec安全提議,指定IPsec隧道地址,配置安全協議的SPI(Security Parameter Index,安全參數索引)和SA(Security Association,安全聯盟)密鑰;

4、在接口上應用IPsec安全策略。

所以,今天,我們將主要通過調整安全協議、加密算法和認證算法來驗證一下。

IPsec安全提議支持的安全協議有AH、ESP和AH-ESP,相關協議介紹請參照相關RFC文檔,不同安全協議的數據封裝格式如下圖所示:

IPsec不同安全協議的報文封裝結構對比

HCL模擬器支持的安全協議:

IPsec不同安全協議的報文封裝結構對比

缺省情況下,采用ESP安全協議,那就延用上個實驗的環境,先測一下ESP安全協議。

使用ESP安全協議的報文結構

已知使用ESP封裝的報文,MTU值為1400字節。從RFC2406我們得知,ESP封裝報文頭格式如下:

IPsec不同安全協議的報文封裝結構對比

雖然抓包的可讀性比較差,但還是要做一下分析。

IPsec不同安全協議的報文封裝結構對比

將標準的封裝格式和實際報文進行對比,可以得出:

1、SPI字段長度為4字節;

2、序列號字段長度為4字節;

3、加密填充內容字段長度可變,長度為0-255字節;

4、填充長度字段長度為1字節;

5、下一個頭部字段長度為1字節;

6、認證數據字段長度可變,并且是可選的。

所以上面1和2為ESP頭,3-6位ESP-T(校驗尾),初步推算ESP-T長度為44字節。

所以使用ESP封裝的完整報文結構如下圖所示:

IPsec不同安全協議的報文封裝結構對比

使用AH安全協議的報文結構

修改安全協議在IPsec的安全提議transform-set中,重新配置安全協議為AH。并在IPsec策略中修改SA的SPI和密鑰。

#

ipsec transform-set tran1

protocol ah

ah authentication-algorithm sha1

#

ipsec policy ipsec 10 manual

sa spi inbound ah 123321

sa string-key inbound ah simple 123321

sa spi outbound ah 123321

sa string-key outbound ah simple 123321

查看SA信息,發現協議已經是AH了,并且沒有加密算法。

IPsec不同安全協議的報文封裝結構對比

測試封裝后的MTU為1428字節。

IPsec不同安全協議的報文封裝結構對比

抓包進行分析,發現僅僅是在原始報文頭部加了一個認證頭,沒有對報文進行加密,原始報文數據一目了然。

IPsec不同安全協議的報文封裝結構對比

對比RFC2402中的報文結構,AH頭部封裝和協議中完全一致。RFC2402中AH ICV字段為可變長度,此處該字段長度為12字節。

IPsec不同安全協議的報文封裝結構對比

所以使用ESP封裝的完整報文結構如下圖所示:

IPsec不同安全協議的報文封裝結構對比

組合使用AH-ESP安全協議的報文結構

再從IPsec的安全提議transform-set中,配置安全協議為AH-ESP。并在IPsec策略中添加SA的SPI和密鑰。需要注意,AH和ESP的SPI值不能重復,否則無法配置。

#

ipsec transform-set tran1

esp encryption-algorithm aes-cbc-128

esp authentication-algorithm sha1

#

ipsec policy ipsec 10 manual

sa spi inbound ah 123321

sa spi inbound esp 321123

sa string-key inbound ah simple 123321

sa string-key inbound esp simple 123321

sa spi outbound ah 123321

sa spi outbound esp 321123

sa string-key outbound ah simple 123321

sa string-key outbound esp simple 123321

查看SA信息,能發現SA中同時包含AH和ESP,加密算法和認證算法均有體現。

IPsec不同安全協議的報文封裝結構對比

測得封裝后的鏈路MTU為1376字節。

IPsec不同安全協議的報文封裝結構對比

抓包進行分析,發現報文封裝結構和之前學習的一樣,先封裝ESP,再加一個AH認證頭。

IPsec不同安全協議的報文封裝結構對比

所以組合使用AH和ESP封裝的完整報文結構如下圖所示:

IPsec不同安全協議的報文封裝結構對比

修改ESP加密算法

驗證完了安全協議,那加密算法會不會對報文封裝有影響呢?

這個驗證還是比較簡單的,僅需要在IPsec安全提議transform-set中修改加密算法即可,此處將原來的aes-cbc-128算法修改為aes-ctr-256。

#

ipsec transform-set tran1

protocol ah-esp

esp encryption-algorithm aes-ctr-256

esp authentication-algorithm sha1

ah authentication-algorithm sha1

修改之后查看SA信息,驗證加密算法修改成功。

IPsec不同安全協議的報文封裝結構對比

測試修改加密算法之后的MTU值為1384字節,比使用aes-cbc-128的1376字節增加8字節。

IPsec不同安全協議的報文封裝結構對比

總結

1、使用不同安全協議的報文封裝結構如下圖所示:

IPsec不同安全協議的報文封裝結構對比

2、使用的加密算法和認證算法在SA中均可查看;

3、ESP使用的加密算法不同,ESP校驗尾部填充報文長度不同;

4、同時使用AH和ESP封裝時,需要在IPsec策略中分別配置SA的AH-SPI值和ESP-SPI值,并且兩個值不可以相同。

填坑成功,具體不同算法檢驗長度分別是多少,有待各位去驗證了,方法已經告訴你們了

以上就是

IPsec不同安全協議的報文封裝結構對比

的介紹,Vecloud提供全球網絡優化服務、MPL專線、SD-WAN企業組網、IPLC專線海外專線業務。

免責聲明:部分文章信息來源于網絡以及網友投稿,本網站只負責對文章進行整理、排版、編輯,是出于傳遞 更多信息之目的,并不意味著贊同其觀點或證實其內容的真實性,如本站文章和轉稿涉及版權等問題,請作者在及時聯系我們本站,我們會盡快處理。

標題:IPsec不同安全協議的報文封裝結構對比

TAG標簽: IPSEC VPN

地址:http://www.indiamait.com/haiwaizhuanxian/315.html

常見問題