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算法生成所有其他加密密鑰。
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章