一種對經過nat穿越的ipsec報文進行ah認證的方法及裝置的制造方法
【技術領域】
[0001]本發明涉及信息系統及網絡安全領域,具體來說,就是在信息承載網絡上確保合法用戶才可以訪問被授權的資源,同時保護正常服務以防被外部攻擊。
【背景技術】
[0002]在國際互聯網(Internetwork, Internet)發展初期,由于規模較小且相對私有,設計時并未考慮完善的安全保護手段。隨著Internet爆炸性增長,公共網絡上出現大量不可靠用戶,而絕大部分通訊流量卻要經過這些不安全的公共網絡,所以根本無法保證在網絡上發送和接受數據是安全可靠的。為了彌補網絡安全性缺失,同時不需要關注高層協議而具備通用性,Internet社區設計了一種在網絡互連協議(Internet Protocol, IP)層提供安全性的協議,這個協議被稱作IP Security,縮寫為IPSEC。
[0003]所述IPSEC的安全特性主要有:
[0004]I數據私密性,通過三重數據加密算法(Triple Data Encrypt1n Algorithm,3DES)、高級加密算法(Advanced Encrypt1n Algorithm,AES)等加密算法對數據進行加解密,保證數據包在傳輸過程中,即使被截取,信息也無法被破解讀取;
[0005]2數據完整性,通過消息摘要算法第五版(Message Digest Algorithm,MD5)、安全散列算法(Secure Hash Algorithm, SHA)等算法對數據進行驗證,防止傳輸過程中數據被第三方篡改;
[0006]3數據抗重放性,通過序列號防止數據被截取后,通過大量復制重新傳送給目的端;
[0007]4不可否認性,發送方通過私鑰生成一個數字簽名并和數據一起發送,接收方可以通過公鑰驗證數字簽名。在理論上私鑰只有發送方擁有,所以可以通過數字簽名來防止發送方否認曾發送該消息。
[0008]所述IPSEC的關鍵概念主要有:
[0009]I安全關聯(Security Associat1ns, SA),為安全傳輸創建的一個單向邏輯通道,所有經過同一個SA的數據會得到相同的安全服務。雙向數據需要通信實體之間維護一對SA0
[0010]2 安全關聯數據庫(Security Associat1ns Database, SAD),用于存放與 SA 關聯的所有狀態數據結構;
[0011]3安全策略數據庫(Security Policy Database, SF1D),用于存放數據報文應用的安全服務以及獲取安全服務的方式;
[0012]4安全參數索引(Security Parameters Index, SPI), 一個隨認證頭/封裝安全載荷(IP Authenticat1n Header/Encapsulate Secure Payload, AH/ESP)頭傳送的 32bit數值,用于接收端識別數據和SA的綁定關系。
[0013]IPSEC并非一個單獨的協議,而是一系列協議和服務的集合。這些服務和集合一起來提供不同類型的安全保護。
[0014]IPSEC協議主要有:
[0015]IAH:為IP報文提供數據完整性、數據源認證和抗重發攻擊,但不為數據提供機密性,適合傳輸非機密性數據。其工作原理是發送方通過HMAC-MD5 (以任意長度的比特串和密鑰作為輸入,輸出128位的完整性校驗值)或HMAC-SHA1算法(以任意長度的比特串和密鑰作為輸入,輸出160位的完整性校驗值)應用到報文數據內容生成認證數據,并將其附在報文中發送;接收方收到帶有認證數據的報文后,執行同樣的算法并和發送方的認證數據進行比較,如果傳輸過程中對數據的任何修改都可能導致比較失敗,這樣既可提供數據完整性保護。
[0016]AH會為每個數據報文添加一個身份驗證頭,格式為
[0017]Next Header:8bit,描述AH認證頭下一個載荷的類型;
[0018]Payload Length:8bit, AH認證頭長度,以4字節為單位減2 ;
[0019]Reserved: 16bit,保留字段,留于后續擴展;
[0020]SP1: 32bit,接收方將根據SPI查找對應SA ;
[0021]Sequence Number: 32bit,單增序列號,唯一標識每個數據報文,提供抗重放攻擊;
[0022]Authenica1n Data:通常 96bit,完整性認證值。
[0023]2ESP:為IP報文提供機密性、數據完整性和抗重放攻擊。其工作原理是發送方通過DES、3DES和AES等算法對數據報文有效負載進行加密處理以避免其他用戶通過監聽來獲取數據報文的內容,接收方使用相同的密鑰對報文進行解密處理以恢復明文。ESP也提供數據完整性保護,但并不認證IP頭。ESP會為每個數據報文添加一個ESP報文頭和報文尾。
[0024]ESP報文頭格式為
[0025]SP1: 32bit,接收方將根據SPI查找對應SA ;
[0026]Sequence Number: 32bit,單增序列號,唯一標識每個數據報文,提供抗重放攻擊;
[0027]IV:長度不定,某些加密算法需要使用IV,esp對IV進行驗證但不加密;
[0028]ESP報尾格式為
[0029]Padding:0-255 字節,填充字段;
[0030]Padding Length:填充項長度,接收端根據該字段去除填充項;
[0031]Next Header:8bit,描述ESP頭下一個載荷的類型;
[0032]AH和ESP都實現隧道模式和傳輸模式以支持不同的應用場景。
[0033]3Internet 密鑰交換協議(Internet Key Exchange, IKE):為 Internet 上任何需要進行加密和認證的協議提供算法和密鑰協商服務。它將交換過程分成兩個階段,第一個階段建立IKE自身的安全聯盟,協商加密、認證算法和密鑰;第二個階段為IPSEC協商算法和密鑰。
[0034]由于AH模式主要是用于保護報文內容的完整性,認證的范圍是整個IP報文,對于報頭中參與認證字段的修改都會導致AH認證失敗,而網絡地址轉換(Network AddressTranslat1n, NAT)是通過修改報頭中的IP地址和端口號來解決公網地址不足的問題。因此報文經過AH認證后再穿越NAT將會導致接收端認證失敗。
[0035]現有技術介紹了一種IPSEC在AH模式下實現NAT穿越的方法,可以解決AH模式和NAT穿越的共存問題,但存在以下不足:
[0036]I要求NAT設備必須能感知IPSEC報文,這會進一步增加NAT設備的處理壓力;
[0037]2需要升級現網中NAT設備以支持IPSEC報文,這將增大現網運營商的升級成本。
【發明內容】
[0038]本發明的目的在于提供一種對經過NAT穿越的IPSEC報文進行AH認證的方法及裝置,能更好地解決AH模式和NAT穿越共存時避免中間NAT設備感知IPSEC報文的問題,使IPSET報文在AH模式下實現NAT穿越。
[0039]根據本發明的一個方面,提供了一種對經過NAT穿越的IPSEC報文進行AH認證的方法,包括:
[0040]接收端接收來自發送端的IKE第二階段協商報文;
[0041]從所述IKE第二階段協商報文的載荷中提取原始IP地址和端口號作為第一 IP地址和端口號、從所述IKE第二階段協商報文的報文頭中提取IP地址和端口號作為第二 IP地址和端口號;
[0042]根據所述第一 IP地址和端口號、第二 IP地址和端口號,建立NAT轉換表;
[0043]利用所述NAT轉換表,對收到的IPSEC報文進行AH認證。
[0044]優選地,在所述的接收端接收來自發送端的IKE協商報文的步驟之前