IPSec(IPSecurity)
該協議把密碼技術應用在網絡層,以向信息的發送方和接收方提供源地址驗證、數據傳輸的完整性、存取控制、保密性等安全服務,保護通信免遭竊聽、抵御網絡攻擊,而且更高層的應用層協議也可以直接或間接地使用這些安全服務,為其上層協議如TCP、UDP等提供透明的安全保護服務,在Internet這樣不安全的網絡中為通信提供安全保證。
在IPv6中,IPSec協議是一個必備的組成部分,被強制實施;在IPv4中,它是一個可選的擴展協議。
由于Internet等網絡具有公共特性,因此在通信過程中難以確認傳輸媒介是安全的,所以要進行安全的通信,則通信數據必須經過加密。IPSec協議對數據的加密以數據包而不是整個數據流為單位,這不僅非常靈活,也有助于進一步提高IP數據包的安全性。
IPSec協議的基本工作原理是
發送方在發送數據前對數據實施加密,然后把密文數據發送到網絡中去,開始傳輸。在整個傳輸過程中,數據都是以密文方式傳輸的,直到數據到達目的節點,才由接收方對密文進行解密,提取明文信息。
IPSec協議對網絡層的通信使用了加密技術,它不是加密數據包的頭部和尾部信息(如源地址、目的地址、端口號、CRC校驗值等),而是對數據包中的數據進行加密。由于加密過程發生在IP層,因此可在不改變HTTP等上層應用協議的情況下進行網絡協議的安全加密,為通信提供透明的安全傳輸服務。
IPSec協議中使用端到端的工作模式,掌握加密、解密方法的只有數據的發送方和接收方,兩者各自負責相應的數據加密、解密處理,而網絡中其他節點只負責轉發數據,無須支持IPSec,從而可以實現加密通信與傳輸媒介無關,保證機密數據在公共網絡環境下的適應性和安全性。因此,IPSec可以應用到非常廣泛的環境中,能為局域網、撥號用戶、遠程站點、Internet之上的通信提供有力的保護,而且還能用來篩選特定數據流,還可以用于不同局域網之間通過互聯網的安全互聯。
IPSec協議不是一個單獨的協議,它包括應用于IP層上網絡數據安全的一整套協議,主要包括AH(AuthenticationHeader,IP認證頭部協議)、ESP(EncapsulatingSecurityPayload,封裝安全負載協議)、IKE(InternetKeyExchange,Internet密鑰交換協議)和用于網絡認證及加密的一些算法等。
AH提供數據的完整性和認證,但不包括保密性;而ESP原則上只提供保密性,但也可在ESPHeader中選擇適當的算法及模式來實現數據的完整性和認證。AH和ESP可分開使用也可一起使用。IKE則提供加密算法、密鑰等的協商。
1.安全關聯和安全策略
安全關聯(SecurityAssociation,SA)是指提供通信安全服務的發送方和接收方之間的一種單向關系。安全關聯是構成IPSec的基礎,它是進行通信的雙方經協商建立起來的一種協定。安全關聯可以用一個32位的安全參數索引(SecurityParameterIndex,SPI)來唯一標識,一個SPI值決定一個特定的SA,它通常放在AH或ESP頭中;安全關聯是單向的,如果要對兩臺主機A與B實現雙向安全,則需要兩個安全關聯,每個方向一個:(A,B)、(B,A)。安全關聯的內容包含了IP數據包是否加密、認證,以及加密、認證采用的算法、密鑰等相關信息。所有的SA記錄都存放在安全關聯數據庫中,按散列方式存取。
安全策略(SecurityPolicy)定義了兩個IPSec系統之間的安全通信特征,并決定在該通信中為數據包提供的安全服務。一個IPSec系統的所有安全策略都存放在安全策略數據庫中,根據選擇符包括源地址、目的地址、協議、端口等)進行檢索。安全策略通常與SA合作,共同作用于通信的數據包。
2.AH
AH協議先將數據進行校驗和加密,然后封裝為IP包,從而實現無連接通信的數據完整性、數據源認證和防止重放攻擊。AH能完成除數據加密外的所有的ESP所能提供的功能。在認證機制上,它所覆蓋的范圍比ESP的廣,包括對IP頭中一些選項的認證。
為了應用IPSec協議,IP數據包的格式要有所改變,即在IP頭和被保護的數據之間插入一個AH頭;
AH頭的格式,包括:下一報頭、有效載荷長度、保留位、安全參數索引、序列號、認證數據。
AH使用的典型的認證算法是一種迭代型的消息摘要算法。AH中采用MD5算法,可以提供完整性服務。從前面的講述可以知道MD5可以對任意長度的信息進行散列運算產生一個唯一的128位消息摘要。由于消息摘要是唯一的,所以對信息的任何修改都將得到另一個不同的消息摘要,因此能防止消息被篡改,從而保證了數據的完整性。AH也可以采用SHA算法提供更強的抗攻擊能力,SHA是在MD5的基礎上,增加了分組處理的迭代次數和復雜性,產生一個160位的消息摘要。接收者在收到數據后可以通過檢驗數據包中的單向遞增的序列號來確定數據包的合法性,防止重放攻擊。
3.ESP
ESP通過對數據包的數據進行加密來提供傳輸信息的保密性,從而實現了數據完整性、數據源認證、數據保密性的安全服務。ESP是一個通用的、可擴展的安全機制,其加密認證算法主要由SA的相應數據項決定。接收者也可以通過在收到數據后檢驗數據包中的單向遞增的序列號來確定數據包的合法性,防止重放攻擊。
在應用中,需要在IP數據包的頭和被保護的數據之間插入一個ESP頭,在被保護的數據后附加一個ESP尾;
ESP頭的格式如圖所示,包括:安全參數索引(標識用于處理數據包的安全關聯)、序列號(用于防止重放攻擊)、有效荷載數據。ESP頭的所有字段都是不加密的,因為在解密數據包時需要先讀取頭部字段。
ESP尾的格式如圖所示,包括:填充項(某些加密算法要求被加密數據的長度是密鑰長度的整數倍,若受保護的數據的長度不滿足這個要求,就需要在后面追加一些填充項)、填充項長度(指明填充項的長度)、下一個頭部、認證數據(數據完整性的檢驗結果)。
ESP在提供加密功能的同時,還可以提供認證功能。對于發出的數據包,首先進行加密處理;而對于收到的數據包,則先進行認證處理。
ESP支持多種加密算法。DES是ESP中默認的加密算法,它采用64位的密鑰,對明文進行加密,加密、解密使用同一個密鑰,該算法簡單高效。此外還可以選擇采用3DES、AES、RC5、RC6、Blowfish等算法。
4.IP密鑰交換
IKE是一個混合協議,它使用了Internet安全關聯和密鑰管理協議(InternetSecurityAssociationandKeyManagementProtocol,ISAKMP)、密鑰確定協議Oakley和描述支持匿名和快速密鑰刷新的密鑰交換的SKEME協議。IKE除了實現通信雙方的密鑰交換,還使用ISAKMP實現IPSec的安全關聯。
ISAKMP協議是IKE的核心組成部分,它定義了包括協商、建立、修改、刪除安全關聯的過程和數據格式。ISAKMP的工作分為兩個階段:第一階段,通信雙方協商并建立一個安全的通道,并對該通道進行驗證,為第二階段的進一步通信提供安全服務;第二階段,為IPSec建立起具體的IPSec安全關聯,用于保護通信雙方的數據傳輸安全。在IKE的協商過程中,使用了Diffie-Hellman機制、Oakley的密鑰交換模式和SKEME的共享和密鑰更新技術。
5.IPSec的工作模式
IPSec的工作模式有兩種:傳輸模式和隧道模式。
傳輸模式首先將要傳送的數據使用IPSec加密封裝起來,再把相關的IPSec頭插入IP頭和被保護的數據之間封裝起來。因為IP頭沒有加密,接收端收到封裝的數據包時直接處理IP頭,然后從IPSec頭讀取SPI值得到相對的SA,再利用SA所定的解密參數解出所加密的數據。
傳輸模式的IPSec頭直接加在欲傳送的數據前,由于加密的部分較少,沒有額外的處理,因此比較節省帶寬和CPU負載,通信和處理效率較高。
在傳輸模式中,解密者就是目的地址端的使用者。
隧道模式首先使用SA的相關信息將IP的數據包全部加密,接下來在前面加上ESPHeader,然后把它們作為數據為它們再加上一個新的IP頭。接收端收到ESP封包后,使用ESPHeader內容中的SPI值提供的SA,然后解出ESPHeader后的裝載數據,就可以取回原始的IP頭與封包。
隧道模式可以在兩個終端之間建立一個安全的隧道,經由這兩個終端之間的通信均在這個隧道中進行,因此安全性較高。
兩種模式的IP數據包的格式如圖所示。
責任編輯人:CC
-
協議
+關注
關注
2文章
614瀏覽量
39820 -
IPSec
+關注
關注
0文章
59瀏覽量
23275
發布評論請先 登錄
基于SoC 的IPSec 協議實現技術
基于IPSEC安全協議的INTERNET通信安全
IPsec協議的研究和分析
基于IPSEC安全協議的網絡通信安全

IPSec基本原理
icmp協議工作原理

ipsec如何配置

ipsec是什么_ipsec怎么用

簡述ipsec的工作原理

評論