跳至內容

IPsec

維基百科,自由的百科全書

這是本頁的一個歷史版本,由223.16.153.54對話2012年5月13日 (日) 15:11編輯。這可能和目前版本存在着巨大的差異。

IPsecInternet Protocol Security),是通過對IP協議互聯網協議)的分組進行加密認證來保護IP協議的網絡傳輸協議族(一些相互關聯的協議的集合)。

IPsec由兩大部分組成:(1)建立安全分組流的密鑰交換協議;(2)保護分組流的協議。前者為互聯網金鑰交換(IKE)協議。後者包括加密分組流的封裝安全載荷協議(ESP協議)或認證頭協議(AH協議)協議,用於保證數據的機密性、來源可靠性(認證)、無連接的完整性並提供抗重播服務。

標準現狀

IPv6IETFIP協議分組通信制定的新的互聯網標準,IPsec是其中必選的內容,但在IPv4中的使用則是可選的。這樣做的目的,是為了隨着IPv6的進一步流行,IPsec可以得到更為廣泛的使用。第一版IPsec協議在RFCs 2401-2409中定義。在2005年第二版標準文檔發佈,新的文檔定義在RFC4301和RFC4309中。

設計意圖

IPsec被設計用來提供(1)入口對入口通信安全,在此機制下,分組通信的安全性由單個節點提供給多台機器(甚至可以是整個局域網);(2)端到端分組通信安全,由作為端點的計算機完成安全操作。上述的任意一種模式都可以用來構建虛擬專用網 (VPN),而這也是IPsec最主要的用途之一。應該注意的是,上述兩種操作模式在安全的實現方面有着很大差別。

互聯網範圍內端到端通信安全的發展比預料的要緩慢[來源請求],其中部分原因,是因為其不夠普遍或者說不被普遍信任。公鑰基礎設施能夠得以形成(DNSSEC最初就是為此產生的),一部分是因為許多用戶不能充分地認清他們的需求及可用的選項,導致其作為內含物強加到賣主的產品中(這也必將得到廣泛採用);另一部分可能歸因於網絡響應的退化(或說預期退化),就像兜售信息的充斥而帶來的帶寬損失一樣。

IPsec與其它互聯網安全協議的對比

IPsec協議工作在OSI 模型的第三層,使其在單獨使用時適於保護基於TCPUDP的協議(如 安全套接子層SSL)就不能保護UDP層的通信流)。這就意味着,與傳輸層或更高層的協議相比,IPsec協議必須處理可靠性和分片的問題,這同時也增加了它的複雜性和處理開銷。相對而言,SSL/TLS依靠更高層的TCP(OSI的第四層)來管理可靠性和分片。

技術細節

認證頭

認證頭(AH)被用來保證被傳輸分組的完整性和可靠性。此外,它還保護不受重放攻擊。認證頭試圖保護IP數據報的所有字段,那些在傳輸IP分組的過程中要發生變化的字段就只能被排除在外。

認證頭分組圖示:

0 1 2 3
0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7
下一個頭 載荷長度 保留
安全參數索引(SPI)
序列號

認證數據(可變長度)

字段含義:

下一個頭
標識被傳送數據所屬的協議。
載荷長度
認證頭包的大小。
保留
為將來的應用保留(目前都置為0).
安全參數索引
與IP位址一同用來標識安全參數。
序列號
單調遞增的數值,用來防止重放攻擊。
認證數據
包含了認證當前包所必須的數據。

封裝安全載荷 (ESP)

封裝安全載荷(ESP)協議對分組提供了源可靠性、完整性和保密性的支持。與AH頭不同的是,IP分組頭部不被包括在內。

ESP分組圖示:

0 1 2 3
0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7
安全參數序列(SPI)
序列號

載荷 *(可變長度)

  填充(0-255 字節)
    填充長度 下一個頭

Authentication Data (variable) 認證數據(可變長度)

字段含義:

安全參數索引
與IP位址一同用來標識安全參數
序列號
單調遞增的數值,用來防止重放攻擊。
載荷數據
實際要傳輸的數據。
填充
某些塊加密算法用此將數據填充至塊的長度。
填充長度
以位為單位的填充數據的長度。
下一個頭
標識被傳送數據所屬的協議。
認證數據
包含了認證當前包所必須的數據。

實現

FreeS/WAN項目已經開發了一個開源GNU/Linux環境下的IPsec實現。且一個基於KAME項目的IPsec實現已經包含在NetBSDFreeBSD以及2.6 Linux內核中。從某種程度上說,也是因為這個原因,Free S/WAN項目的開發在2004年3月時被中止。OpenswanstrongSwan是Free S/WAN延續。

至今已有許多IPsec協議和ISAKMPIKE協議的實現。它們包括:

請參閱

IPsec相關RFC文檔

RFC 2401
IP協議的安全架構
RFC 2402
認證頭
RFC 2406
封裝安全載荷
RFC 2407
ISAKMP的IPsec解釋域(IPsec DoI)
RFC 2408
互聯網安全關聯與密鑰管理協議(ISAKMP)
RFC 2409
互聯網密鑰交換(IKE)

其它連結