天天看點

IPSec基礎-IPSec服務

 

IPSec 協定不是一個單獨的協定,它給出了應用于IP層上網絡資料安全的一整套體系結構,包括網絡認證協定 Authentication Header(AH)、封裝安全載荷協定Encapsulating Security Payload(ESP)、密鑰管理協定Internet Key Exchange (IKE)和用于網絡認證及加密的一些算法等。IPSec 規定了如何在對等層之間選擇安全協定、确定安全算法和密鑰交換,向上提供了通路控制、資料源認證、資料加密等網絡安全服務。

  

一、安全特性

  IPSec的安全特性主要有:

   ·不可否認性 "不可否認性"可以證明消息發送方是唯一可能的發送者,發送者不能否認發送過消息。"不可否認性"是采用公鑰技術的一個特征,當使用公鑰技術時,發送方用私鑰産生一個數字簽名随消息一起發送,接收方用發送者的公鑰來驗證數字簽名。由于在理論上隻有發送者才唯一擁有私鑰,也隻有發送者才可能産生該數字簽名,是以隻要數字簽名通過驗證,發送者就不能否認曾發送過該消息。但"不可否認性"不是基于認證的共享密鑰技術的特征,因為在基于認證的共享密鑰技術中,發送方和接收方掌握相同的密鑰。

  ·反重播性 "反重播"確定每個IP包的唯一性,保證資訊萬一被截取複制後,不能再被重新利用、重新傳輸回目的位址。該特性可以防止攻擊者截取破譯資訊後,再用相同的資訊包冒取非法通路權(即使這種冒取行為發生在數月之後)。

  ·資料完整性 防止傳輸過程中資料被篡改,確定發出資料和接收資料的一緻性。IPSec利用Hash函數為每個資料包産生一個加密檢查和,接收方在打開包前先計算檢查和,若包遭篡改導緻檢查和不相符,資料包即被丢棄。

  ·資料可靠性(加密) 在傳輸前,對資料進行加密,可以保證在傳輸過程中,即使資料包遭截取,資訊也無法被讀。該特性在IPSec中為可選項,與IPSec政策的具體設定相關。

  ·認證 資料源發送信任狀,由接收方驗證信任狀的合法性,隻有通過認證的系統才可以建立通信連接配接。

二、基于電子證書的公鑰認證

  一個架構良好的公鑰體系,在信任狀的傳遞中不造成任何資訊外洩,能解決很多安全問題。IPSec與特定的公鑰體系相結合,可以提供基于電子證書的認證。公鑰證書認證在Windows 2000中,适用于對非Windows 2000主機、獨立主機,非信任域成員的客戶機、或者不運作Kerberos v5認證協定的主機進行身份認證。

三、預置共享密鑰認證

  IPSec也可以使用預置共享密鑰進行認證。預共享意味着通信雙方必須在IPSec政策設定中就共享的密鑰達成一緻。之後在安全協商過程中,資訊在傳輸前使用共享密鑰加密,接收端使用同樣的密鑰解密,如果接收方能夠解密,即被認為可以通過認證。但在Windows 2000 IPSec政策中,這種認證方式被認為不夠安全而一般不推薦使用。

四、公鑰加密

  IPSec的公鑰加密用于身份認證和密鑰交換。公鑰加密,也被稱為"不對稱加密法",即加解密過程需要兩把不同的密鑰,一把用來産生數字簽名和加密資料,另一把用來驗證數字簽名和對資料進行解密。

  使用公鑰加密法,每個使用者擁有一個密鑰對,其中私鑰僅為其個人所知,公鑰則可分發給任意需要與之進行加密通信的人。例如:A想要發送加密資訊給B,則A需要用B的公鑰加密資訊,之後隻有B才能用他的私鑰對該加密資訊進行解密。雖然密鑰對中兩把鑰匙彼此相關,但要想從其中一把來推導出另一把,以目前計算機的運算能力來看,這種做法幾乎完全不現實。是以,在這種加密法中,公鑰可以廣為分發,而私鑰則需要仔細地妥善保管。

五、Hash函數和資料完整性

  Hash資訊驗證碼HMAC(Hash message authentication codes)驗證接收消息和發送消息的完全一緻性(完整性)。這在資料交換中非常關鍵,尤其當傳輸媒介如公共網絡中不提供安全保證時更顯其重要性。

  HMAC結合hash算法和共享密鑰提供完整性。Hash散列通常也被當成是數字簽名,但這種說法不夠準确,兩者的差別在于:Hash散列使用共享密鑰,而數字簽名基于公鑰技術。hash算法也稱為消息摘要或單向轉換。稱它為單向轉換是因為:

  1)雙方必須在通信的兩個端頭處各自執行Hash函數計算;

  2)使用Hash函數很容易從消息計算出消息摘要,但其逆向反演過程以目前計算機的運算能力幾乎不可實作。

  Hash散列本身就是所謂加密檢查和或消息完整性編碼MIC(Message Integrity Code),通信雙方必須各自執行函數計算來驗證消息。舉例來說,發送方首先使用HMAC算法和共享密鑰計算消息檢查和,然後将計算結果A封裝進資料包中一起發送;接收方再對所接收的消息執行HMAC計算得出結果B,并将B與A進行比較。如果消息在傳輸中遭篡改緻使B與A不一緻,接收方丢棄該資料包。

  有兩種最

常用的hash函數:

  ·HMAC-MD5 MD5(消息摘要5)基于RFC1321。MD5對MD4做了改進,計算速度比MD4稍慢,但安全性能得到了進一步改善。MD5在計算中使用了64個32位常數,最終生成一個128位的完整性檢查和。

  ·HMAC-SHA 安全Hash算法定義在NIST FIPS 180-1,其算法以MD5為原型。 SHA在計算中使用了79個32位常數,最終産生一個160位完整性檢查和。SHA檢查和長度比MD5更長,是以安全性也更高。

六、加密和資料可靠性

  IPSec使用的資料加密算法是DES--Data Encryption Standard(資料加密标準)。DES密鑰長度為56位,在形式上是一個64位數。DES以64位(8位元組)為分組對資料加密,每64位明文,經過16輪置換生成64位密文,其中每位元組有1位用于奇偶校驗,是以實際有效密鑰長度是56位。 IPSec還支援3DES算法,3DES可提供更高的安全性,但相應地,計算速度更慢。

七、密鑰管理

  ·動态密鑰更新

  IPSec政策使用"動态密鑰更新"法來決定在一次通信中,新密鑰産生的頻率。動态密鑰指在通信過程中,資料流被劃分成一個個"資料塊",每一個"資料塊"都使用不同的密鑰加密,這可以保證萬一攻擊者中途截取了部分通信資料流和相應的密鑰後,也不會危及到所有其餘的通信資訊的安全。動态密鑰更新服務由Internet密鑰交換IKE(Internet Key Exchange)提供,詳見IKE介紹部分。

  IPSec政策允許專家級使用者自定義密鑰生命周期。如果該值沒有設定,則按預設時間間隔自動生成新密鑰。

  ·密鑰長度

  密鑰長度每增加一位,可能的密鑰數就會增加一倍,相應地,破解密鑰的難度也會随之成指數級加大。IPSec政策提供多種加密算法,可生成多種長度不等的密鑰,使用者可根據不同的安全需求加以選擇。

  ·Diffie-Hellman算法

  要啟動安全通訊,通信兩端必須首先得到相同的共享密鑰(主密鑰),但共享密鑰不能通過網絡互相發送,因為這種做法極易洩密。

  Diffie-Hellman算法是用于密鑰交換的最早最安全的算法之一。DH算法的基本工作原理是:通信雙方公開或半公開交換一些準備用來生成密鑰的"材料資料",在彼此交換過密鑰生成"材料"後,兩端可以各自生成出完全一樣的共享密鑰。在任何時候,雙方都絕不交換真正的密鑰。

  通信雙方交換的密鑰生成"材料",長度不等,"材料"長度越長,所生成的密鑰強度也就越高,密鑰破譯就越困難。 除進行密鑰交換外,IPSec還使用DH算法生成所有其他加密密鑰。

繼續閱讀