1. 程式人生 > >IPSec VPN學習(四)

IPSec VPN學習(四)

IPsec:

IPSec 是一項標準的安全技術,它通過在資料包中插入一個預定義頭部的方式,來保障OSI上層協議資料的安全。IPSec主要用於保護網路層(IP)資料,因此它提供了網路層的安全性。

 

對原始的IP負載實現加密,實現對IPSec頭部和原始IP負載的驗證,以確保資料的完整性。

對VPN流量提供瞭如下3個方面的保護:

私密性(Confidentiality):資料私密性也就是對資料進行加密。這樣一來,即使第三方能夠捕獲加密後的資料,也不能將其恢復成明文。

完整性(Integrity):完整性確保資料在傳輸過程中沒有被第三方篡改。

源認證(Authenticity):源認證也就是對傳送資料包的源進行認證,確保是合法的源傳送了此資料包。

IPSec框架:

1,IPSec的做法是提供一個框架性的結構,但每一次IPSec會話所使用的具體演算法,都是通過協商來決定的。

舉例說明

如果我們覺得 3DES 這個演算法所提供的 168 位的加密強度能夠滿足當前的需要,那麼就不妨暫且使用這個協議來加密資料。但是隻要有一天 3DES 出現了嚴重漏洞,或者出現了一個更好的加密協議,那麼我們也可以馬上更換加密協議,使 IPSec VPN 總是使用最新最好的協議來進行加密。

雜湊函式、加密演算法,還包括封裝協議和模式、金鑰有效期等內容都可以通過協商決定,在兩個IPSec對等體之間協商的協議叫做IKE,

2,雜湊函式也叫做HASH函式,主流的雜湊演算法有MD5與SHA-1。雜湊函式的主要任務是驗證資料的完整性。通過雜湊函式計算得到的結果叫做雜湊值,這個雜湊值也常常被稱為資料的指紋(Fingerprint)。

為什麼雜湊函式會被稱為資料的指紋呢?

這是因為雜湊函式的工作原理和日常我們對指紋採集和使用的原理幾乎一樣。

 

 

 

 

雜湊函式具有下面4個特點。

1.固定大小 雜湊函式可以接收任意大小的資料,並輸出固定大小的雜湊值。以 MD5 這個雜湊演算法為例,不管原始資料有多大,通過 MD5計算得到的雜湊值總是 128位元,而SHA-1的輸出長度則為160位元。

2.雪崩效應 原始資料就算修改哪怕一個位元,計算得到的雜湊值也會發生巨大的變化。

3.單向 只可能從原始資料計算得到雜湊值,不可能從雜湊值恢復哪怕一個位元的原始資料。

4.衝突避免 幾乎不能夠找到另外一個數據和當前資料計算的雜湊值相同,因此雜湊函式能夠確保資料的唯一性。

看一下雜湊演算法如何驗證資料的完整性。

 

步驟 1:使用雜湊函式,計算需要傳送的“重要檔案”的雜湊值,得到“雜湊值一”。

步驟2:對需要傳送的“重要檔案”和步驟1計算得到的“雜湊值一”進行打包,然後一起傳送給接收方。

步驟3:接收方對收到的“重要檔案”進行雜湊函式計算,得到“雜湊值二”。

步驟4:接收方將收到檔案中的“雜湊值一”和步驟3計算得到的“雜湊值二”進行對比,如果兩個雜湊值相同,那麼根據雜湊函式雪崩效應和衝突避免的特點,就可以確定“重要檔案”的完整性,也就是這份“重要檔案”在整個傳輸過程中沒有遭到過別人的篡改。

雜湊函式雖然能夠很好地確認資料的完整性,但是卻容易遭受中間人攻擊,我們來看看中間人攻擊是如何進行的,如圖3-6所示。

 

為了彌補這個漏洞,我們可以使用一個叫做金鑰化雜湊資訊認證程式碼(HMAC, Keyed-hash Message Authentication Code)的技術,這項技術不僅僅能夠實現完整性校驗,還能完成源認證的任務,

 

=========================================================

 

步驟1:首先,網路管理員需要預先在要建立OSPF鄰居關係的兩臺路由器上,通過ipospf message-digest-key 1 md5 cisco命令,配臵預共享祕密“cisco”。

步驟 2:傳送方把要傳送的路由更新資訊加上預共享祕密一起進行雜湊計算,得到“雜湊值一”,這種聯合共享祕密一起計算雜湊值的技術就叫做HMAC。

步驟3:傳送方路由器把步驟2通過HMAC技術得到的“雜湊值一”和明文的路由更新資訊進行封裝,一起傳送給接收方(注意路由更新資訊是明文傳送的,絕對沒有進行任何加密處理)。

===========================================================================

 

步驟1:從收到的資訊中提取明文的路由更新資訊。

步驟2:把步驟1提取出來的明文路由更新資訊加上接收方路由器預先配臵的共享金鑰“cisco”一起進行雜湊計算,得到“雜湊值二”。

步驟3:提取出收到資訊中的“雜湊值一”,用它和步驟2計算得到的“雜湊值二”進行比較,如果相同,表示路由更新資訊是沒有被篡改過的,也就是完整的。同時,還可以確定這是預先配臵共享祕密的那臺比鄰路由器所傳送的路由更新,因為只有這臺路由器才知道共享祕密的內容,因此也只有它才能夠通過HMAC技術製造出能夠校驗成功的雜湊值。

============================================================================

HMAC的兩大安全特性,完整性校驗和源認證。

IPSec和HTTPS技術都採用了HMAC技術來對每一個傳輸的資料包做完整性校驗和源認證。