“Internet 協議安全性 (IPSec)”是一種開放標準的框架結構,通過使用加密的安全服務以確保在 Internet 協議 (IP) 網絡上進行保密而安全的通訊。Microsoft® Windows® 2000、Windows XP 和 Windows Server 2003 家族實施 IPSec 是基於“Internet 工程任務組 (IETF)”IPSec 工作組開發的標準。
簡介IPSec 是安全聯網的長期方向。它通過端對端的安全性來提供主動的保護以防止專用網絡與 Internet 的***。在通信中,只有發送方和接收方纔是唯一必須瞭解 IPSec 保護的計算機。在 Windows XP 和 Windows Server 2003 家族中,IPSec 提供了一種能力,以保護工作組、局域網計算機、域客戶端和服務器、分支機構(物理上爲遠程機構)、Extranet 以及漫遊客戶端之間的通信。
IPsec(Internet Protocol Security),是通過對IP協議(互聯網協議)的分組進行加密和認證來保護IP協議的網絡傳輸協議族(一些相互關聯的協議的集合)。
IPsec由兩大部分組成:(1)建立安全分組流的密鑰交換協議;(2)保護分組流的協議。前者爲互聯網金鑰交換(IKE)協議。後者包括加密分組流的封裝安全載荷協議(ESP協議)或認證頭協議(AH協議)協議,用於保證數據的機密性、來源可靠性(認證)、無連接的完整性並提供抗重播服務。
作用目標 1、保護 IP 數據包的內容。 2、通過數據包篩選及受信任通訊的實施來防禦網絡***。這兩個目標都是通過使用基於加密的保護服務、安全協議與動態密鑰管理來實現的。這個基礎爲專用網絡計算機、域、站點、遠程站點、Extranet 和撥號用戶之間的通信提供了既有力又靈活的保護。它甚至可以用來阻礙特定通訊類型的接收和發送。
3、其中以接收和發送最爲重要與IPSec 相關的幾個術語
數據流:
在 IPSec 中,一組具有相同源地址/掩碼、目的地址/掩碼和上層協議的數據集稱爲數據流。通常,一個數據流採用一個訪問控制列表(acl)來定義,所有爲ACL 允許通過的報文在邏輯上作爲一個數據流。爲更容易理解,數據流可以比作是主機之間一個的TCP 連接。IPSec 能夠對不同的數據流施加不同的安全保護,例如對不同的數據流使用不同的安全協議、算法或密鑰。
安全策略:
由用戶手工配置,規定對什麼樣的數據流採用什麼樣的安全措施。對數據流的定義是通過在一個訪問控制列表中配置多條規則來實現,在安全策略中引用這個訪問控制列表來確定需要進行保護的數據流。一條安全策略由“名字”和“順序號”共同唯一確定。
安全策略組:
所有具有相同名字的安全策略的集合。在一個接口上,可應用或者取消一個安全策略組,使安全策略組中的多條安全策略同時應用在這個接口上,從而實現對不同的數據流進行不同的安全保護。在同一個安全策略組中,順序號越小的安全策略,優先級越高。
安全聯盟(Security Association,簡稱SA):
IPSec 對數據流提供的安全服務通過安全聯盟SA 來實現,它包括協議、算法、密鑰等內容,具體確定瞭如何對IP 報文進行處理。一個SA 就是兩個IPSec 系統之間的一個單向邏輯連接,輸入數據流和輸出數據流由輸入安全聯盟與輸出安全聯盟分別處理。安全聯盟由一個三元組(安全參數索引(SPI)、IP 目的地址、安全協議號(AH或ESP))來唯一標識。安全聯盟可通過手工配置和自動協商兩種方式建立。手工建立安全聯盟的方式是指用戶通過在兩端手工設置一些參數,然後在接口上應用安全策略建立安全聯盟。自動協商方式由IKE 生成和維護,通信雙方基於各自的安全策略庫經過匹配和協商,最終建立安全聯盟而不需要用戶的干預。
安全聯盟超時處理:
安全聯盟更新時間有“計時間”(即每隔定長的時間進行更新)和“計流量”(即每傳輸一定字節數量的信息就進行更新)兩種方式。
安全參數索引(SPI):
是一個32 比特的數值,在每一個IPSec 報文中都攜帶該值。SPI、IP 目的地址、安全協議號三者結合起來共同構成三元組,來唯一標識一個特定的安全聯盟。在手工配置安全聯盟時,需要手工指定SPI 的取值。爲保證安全聯盟的唯一性,每個安全聯盟需要指定不同的SPI 值;使用IKE協商產生安全聯盟時,SPI 將隨機生成。
安全提議:
包括安全協議、安全協議使用的算法、安全協議對報文的封裝形式,規定了把普通的IP 報文轉換成IPSec 報文的方式。在安全策略中,通過引用一個安全提議來規定該安全策略採用的協議、算法等。
IPSec 的配置
IPSec 的配置包括:
一 創建加密訪問控制列表
二 定義安全提議
設置安全協議對IP 報文的封裝模式
選擇安全協議
三 選擇加密算法與認證算法
四 創建安全策略
1. 手工創建安全策略
(1) 手工創建安全策略
(2) 配置安全策略引用的訪問控制列表
(3) 指定安全隧道的起點與終點
(4) 配置安全策略中引用的安全提議
(5) 配置安全策略聯盟的SPI 及使用的密鑰
(A) 配置安全策略聯盟的SPI 參數
(B) 配置安全策略聯盟使用的密鑰
2. 用IKE 創建安全策略聯盟
(1) 用IKE 創建安全策略聯盟
(2) 配置安全策略引用的訪問控制列表
(3) 指定安全隧道的終點
(4) 配置安全策略中引用的安全提議
(5) 配置安全聯盟的生存時間(可選)
(a) 配置全局的安全聯盟生存週期
(b)配置單獨的安全聯盟生存週期(可選)
啓動對隧道對端路由可達性的監測
五:在接口上應用安全策略組
加密卡實現 IPSec 的配置包括:
創建加密訪問控制列表
配置加密卡
使能 VRP 主體軟件備份
定義安全提議
選擇加密算法與認證算法
創建安全策略
在接口上應用安全策略組
常見問題
一、安全特性 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函數很容易從消息計算出消息摘要,但其逆向反演過程以目前計算機的運算能力幾乎不可實現。
六、加密和數據可靠性 IPSec使用的數據加密算法是DES--Data Encryption Standard(數據加密標準)。DES密鑰長度爲56位,在形式上是一個64位數。DES以64位(8字節)爲分組對數據加密,每64位明文,經過16輪置換生成64位密文,其中每字節有1位用於奇偶校驗,所以實際有效密鑰長度是56位。 IPSec還支持3DES算法,3DES可提供更高的安全性,但相應地,計算速度更慢。 七、密鑰管理 ·動態密鑰更新·密鑰長度
·Diffie-Hellman算法