1. 程式人生 > >TCP-IP詳解:IPSec OverView

TCP-IP詳解:IPSec OverView

參考教材:TCP-IP Guide

IPSec 介紹

IPSec是IP層的一種安全協議,主要作用就是為了解決網路通訊中的安全問題。在一般的網路中,暴露這很多的安全問題,比如說資料包被監聽竊取,被篡改,以及偽造身份,拒絕服務等。可能在我們使用網路的過程中體會不到網路安全的重要性,可以試想一個場景,你在網路上操作你的網上銀行賬號,如果你的路由器被竊聽,你傳送的資料包會被攻擊者接收,如果沒有一些安全措施,很容易就把你的賬號密碼資訊竊取,這就是不安全的網路。但是如果使用了一些安全的措施,可能攻擊者就無法或者很難拿到你的這種敏感資訊。

對於IP層來講,它是不可靠的,資料包可能會被丟失,篡改等。IPSec就是一種安全保障措施,能夠保證資料的真實性和保密性

。功能可以總結為:

1.隱私資料加密 2.資料完整性 3.抵禦特定的攻擊 4.協商加密演算法 其中與IPSec息息相關的是:RFC2401規定了整個IPSec體系,IPSec的安全傳輸協議,IPSec的兩種傳輸模式,動態祕鑰交換! 如果要進行安全的通訊,先下看看如何做到? 1. 首先如何對資料加密, 這個就要了解IPSec的核心協議以及加密演算法 2. 接收方接收到也的需要知道如何解密, 所以需要進行協商,知道是如何加密的,一遍進行解密 3. 傳輸的方式,在哪個層傳輸,比如說是在IP層加密,還是在特定的路由器進行設定 接下來慢慢擊破!

IPSec核心協議

    下圖主要給給出了IPSec的協議和相關元件

IPSec的核心協議主要是 AH : 該協議主要是提供資料的認證服務和源驗證服務,這個協議不提供加密功能,有效的抗重播能力 ESP:認證的頭部來保證資料的完整性,同時可以對payload進行加密 AH和ESP不能單獨運作,需要下列元件支援 IPSec支援的元件主要有: 加密雜湊演算法:AH 和 ESP 並沒有指定特定的加密演算法,這使得他們可以靈活的工作在多重演算法之下同時也可以根據需求的需要進行協商,兩個常用的演算法是MD5 和 安全雜湊演算法 SHA-1 安全策略/SA:SA,管理方法, 需要一些方法來跟蹤裝置之間的安全關係,構造SA,進行交換協商,注意這個地方每個SA都是單項的。 IKE:金鑰交換協議,主要是用於兩端協商使用的加解密演算法和SA資訊

IPSec實現架構

這裡來回答IPSec是工作在哪一個層次的。其實在這裡也沒有一個確切的結論,不同的系統也有不同的實現方式,當然也有專門支援IPSec的路由器,目前基本都是有2中,一個就是實現在主機,一個就是實現在路由器等特定的網路裝置。 但是從實體數量來講主機數目遠比路由器多的多,所以要實現主機支援IPSec要比路由器支援更加久遠。 1. 整合的設計,將IPSec實現整合到IP層,這個設計現在的Linux IPV6協議棧已經實現,IPv4因為實現比較早,所以實現起來比較複雜 2. Bump In The Stack(BITS):將IP和IPSec分成2層, IPSec位於鏈路層和IP層之間
3.BITW:這種方式主要是實現在特定的網路裝置,一般的主機不具有IPSec功能。比如說元件一個特定的VPN的網路,本身主機發出去的包並沒有被加密,但是發出去的時候,預設的路由器局域IPSec功能,給資料包加密。如下圖,IPSEC在R1和R2之間..

IPSec模式

這個部分回答IPSec中資料包按照什麼格式如何進行傳輸的? 有兩種模式:傳輸模式和隧道模式。 傳輸模式:這個資料包的格式就是在IP header和 payload之間,中間是AH或者ESP頭,封裝成這種資料格式,然後輸送到網路中。
隧道模式:這種模式主要是加密整個資料包,然後再加密的封包上增加新的頭部,可以看到IPSec的頭部右邊是整個的資料包,然後重新增加一個新的頭部。
資料包按照如上方式進行封裝,然後傳送到網路中進行傳輸,所以其實說起來網路傳輸並沒有什麼變化,只是IPSec對資料包進行了改裝,增加的其安全性,以一種偽裝的形式傳輸在網路中,即使被接收,別人也無法獲取裡面什麼資訊。