網絡層安全協議——IPSec

1.IPSec的目標

爲IPv4和IPv6提供具有較強的互操作能力,IPv4下IPSec爲可選,而IPv6下爲必選

高質量和基於密碼的安全

在IP層實現多種安全服務,包括:

訪問控制、無連接完整性、數據源驗證、抗重播、保密性和有限的業務流機密性

2.網絡層安全性

優點:

密鑰協商的開銷被大大的消減了

需要改動的應用程序很少,對用戶透明

很容易構建VPN

缺點:

很難解決“抗抵賴”之類的問題,即無法認證到每個個人

3.IPSec安全體系結構圖

4.IPSec安全體系的內容

IPSec並不是一個單一的協議,而是能夠在IP層提供互聯網通信安全的協議族。並沒有限定用戶必須使用何種特定的加密和鑑別算法。實際上IPSec是一個框架,它允許通信雙方選擇合適的算法和參數(如密鑰長度)。IPSec就是“IP安全(security)”的縮寫。

IPSec協議族中的協議可劃分爲三個部分:

(1)IP安全數據報格式的兩個協議:

AH:Authentication Header 驗證頭部

ESP:Encapsulation Security Payload 封裝安全載荷

其中,驗證頭部AH:

提供源點鑑別和數據完整性,但不能保密

驗證算法由SA指定

認證範圍:整個包

其中,封裝安全載荷ESP:

提供源點鑑別、數據完整性、加密及抗重播等安全服務

加密算法和身份驗證方法均由SA指定

IPSec支持IPv4和IPv6。在IPv6中,AH和ESP都是擴展首部的一部分。AH協議的功能都已包含在ESP協議中,因此使用ESP協議就可以不使用AH協議。使用AH或ESP協議的IP數據報稱爲IP安全數據報(或IPSec數據報)。

AH和ESP均用於兩種模式:傳輸模式和隧道模式。

傳輸模式:在整個傳輸層報文段的前後分別添加若干控制信息,再加上IP首部,構成IP安全數據報。

隧道模式:在原始IP數據報的前後分別添加若干控制信息,再加上新的IP首部,構成IP安全數據報。

兩種方式,IP安全數據報的IP首部都是不加密的,這樣數據報才能在各個路由器之間進行轉發,從源點安全地轉發到終點。所謂的“安全數據報”是指數據報的數據部分是經過加密的,並能夠被鑑別的。

(2)有關加密算法的三個協議(在此不討論)

(3)互聯網密鑰交換IKE(Internet Key Exchange)協議

密鑰管理(Key Management):

SA(Security Association)安全聯盟

ISAKMP定義了密鑰管理框架

IKE是目前正式確定用於IPSec的密鑰交換協議

5.IPSec的模式

隧道模式下,“原始IP首部”中,用兩臺通信的主機IP地址分別作爲源地址和目的地址,而在IP安全數據報的“新的IP首部”中,若兩臺路由器進行通信,則使用兩臺路由器的地址作爲源地址和目的地址;若一臺路由器和主機之間進行通信,則使用路由器和主機的IP地址分別作爲源地址和目的地址。

6.AH相關

1)AH頭格式

SPI:標識此包用什麼樣的算法和什麼樣的密鑰進行加密處理

2)AH的傳輸模式

3)AH的隧道模式

4)AH的處理過程

過程1

對於發出去的包的處理構造AH:

創建一個外出SA(手工或通過IKE)

產生序列號

填充AH頭的各字段

計算ICV(Integrity Check Value完整性檢驗值),內容包括IP頭中部分域、AH自身、上層協議數據

AH頭中的“下一頭部”置爲原IP報頭中的“協議”字段的值,原IP報頭的“協議”字段置爲51(代表AH)

過程2

對於接收到的包的處理:

分片裝配

查找SA     依據:目標IP地址、AH協議、SPI

檢查序列號

ICV檢查

7.ESP相關

1)ESP頭

2)ESP的傳輸模式

3)ESP的隧道模式

4)ESP的處理過程

過程1

對於發出去的包的處理:

查找SA

加密

封裝必要的數據,放到payload data域中,不同的模式封裝數據的範圍不同

增加必要的padding數據

加密操作

驗證

計算ICV,注意,針對加密後的數據進行計算

過程2

對於接收到的包(Inbound Packet)的處理:

分片裝配

查找SA   依據:目標IP地址、ESP協議、SPI

檢查序列號(可選,針對重放攻擊),使用一個滑動窗口來檢查序列號的重放

ICV檢查

解密      根據SA中指定的算法和密鑰、參數,對於被加密部分的數據進行解密     去掉padding      重構原始的IP包

8.安全聯盟SA

在發送IP安全數據報之前,在源實體和目的實體之間創建一條網絡層的邏輯連接,即安全關聯CA。這樣,傳統的互聯網中無連接的網絡層就變成了具有邏輯連接的一個層。安全關聯是從源點到終點的單向連接,它能夠提供安全服務。若要進行雙向安全通信,則兩個方向都需要建立安全關聯。

SA可以是兩部路由器、路由器與主機之間進行建立。建立安全關聯的路由器或主機,必須維護這條SA的狀態信息。

每個SA通過三個參數來標誌<spi,dst(src),protocol>

—安全參數索引SPI(Security Parameters Index)

—對方IP地址

—安全協議標識:AH or ESP

當路由器要通過SA發送安全數據報時,就必須讀取SA的這些狀態信息,以便知道如何把IP數據報進行加密和鑑別。

SA與IPSec系統中實現的兩個數據庫有關

—安全策略數據庫(SPD):指明什麼樣的數據報需要進行IPSec處理

—安全關聯數據庫(SAD):指明若需要使用IP安全數據報,應怎樣做(使用哪一個SA)

9.IPSec密鑰管理

包括密鑰的確定和分配

兩種方式:

—手工的

—自動的:Internet密鑰交換IKE(非IPSec專用)

作用:在IPSec通信雙方之間,建立起共享安全參數及驗證過的密鑰(建立“安全關聯”),IKE代表IPSec對SA進行協商,並對SADB數據庫進行填充

10.Internet密鑰交換協議—IKE

IKE協議:

負責在通信兩端安全地交換密鑰

RFC2409,是Oakley和SKEME協議的一種混合

基於ISAKMP框架

沿用了Oakley和SKEME的共享和密鑰更新技術

ISAKMP:

Internet  Security Association and Key Management Protocol

RFC 2408

定義如何建立安全聯盟 並初始化密鑰

11.兩階段交換

第一階段:建立起ISAKMP SA——IKE SA

雙方(例如ISAKMP Servers)商定如何保護以後的通訊

,通信雙方建立一個已通過身份鑑別和安全保護的通道

此SA將用於保護後面的protocol SA的協商過程

第二階段:建立起針對其他安全協議的SA——IPSec SA

這個階段可以建立多個SA

此SA將被相應的安全協議用於保護數據或者消息的交換

12.IPSec—vpn要求

數據私密性

數據完整性

數據來源鑑別

防重放

13.IPSec—vpn協議和算法

IP安全協議:AH,ESP

數據加密標準:DES,3DES

公共密鑰密碼協議:Diffie—Hellman(D-H)

散列算法:MD5,SHA-1

公鑰加密算法:RSA

Internet密鑰交換:IKE

證書授權中心:CA

14.實驗

兩臺Windows2003服務器實現傳輸模式的VPN

兩臺Windows2003服務器實現隧道模式的VPN

設計:

通信一方必須告訴另一方自己的策略

通信雙方必須保持策略一致,用ping測試IPSec配置是否成功

隧道模式:IPSec必須成對出現,既有隧道進方向,又有隧道出方向

windows上實現IPSec和路由器上實現完全不同:Windows利用圖形界面,路由器利用一條一條的命令

若通信一方配置IPSec,另一方未配置,則ping不通,如下:

雙方都配置好IPSec,且參數一致,則結果有個協商過程,如下:

注意:

通信兩端的源地址和目的地址,可以爲一個特定IP地址,也可以爲一個特定的IP子網等,如下列表中的選項:

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章