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