IPsec


IPsec (简体)

網路協議
5. 應用層

DHCP · DHCP · FTP · Gopher · HTTP · IMAP4 · IRC · NNTP · XMPP · POP3 · SIP · SMTP · SNMP · SSH · TELNET · RPC · RTCP · RTSP · TLS · SDP · SOAP · GTP · STUN · NTP · 更多

4. 傳輸層
TCP · UDP · DCCP · SCTP · RTP · RSVP · PPTP · 更多
3. 網路層
IP (IPv4 · IPv6) · ARP · RARP · ICMP · ICMPv6 · IGMP · RIP · OSPF · BGP · IS-IS · IPsec · 更多
2. 資料鏈結層
802.11 · 802.16 · Wi-Fi · WiMAX · ATM · DTM · 令牌環 · 乙太網 · FDDI · 幀中繼 · GPRS · EVDO · HSPA · HDLC · PPP · L2TP · ISDN · 更多
1. 實體層
乙太網實體層 · 數據機 · PLC · SONET/SDH · G.709 · 光導纖維 · 同軸電纜 · 雙絞線 · 更多
本模板: 檢視  討論  編輯  歷史


IPsec(縮寫IP Security)是保護IP協議安全通信的標準,它主要對IP協議分組進行加密認證

IPsec作為一個協議族(即一系列相互關聯的協議)由以下部分組成:(1)保護分組流的協議;(2)用來建立這些安全分組流的密鑰交換協議。前者又分成兩個部分:加密分組流的封裝安全載荷(ESP)及較少使用的認證頭(AH),認證頭提供了對分組流的認證並保證其消息完整性,但不提供保密性。目前為止,IKE協議是唯一已經制定的密鑰交換協議。

目錄

標準現狀

IPv6IETF為IP協議分組通信制定的新的網際網路標準,IPsec是其中必選的內容,但在IPv4中的使用則是可選的。這樣做的目的,是為了隨著IPv6的進一步流行,IPsec可以得到更為廣泛的使用。IPsec協議在RFCs 2401-2409中定義,根據工作進展,至2004年會有新版的替換文檔發布。

設計意圖

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協議和ISAKMP/IKE協議的實現。它們包括:

  • NRL IPsec,屬於原型的一種
  • OpenBSD,代碼源於NRL IPsec
  • Mac OS X,包含了Kame IPsec的代碼
  • Cisco IOS
  • Microsoft Windows Win2K and WinXP
  • SSH Sentinel (現作為 SafeNet的一部分)提供了工具包
  • Solaris

請參閱

IPsec相關RFC文檔

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

其它連結


! __







Why are we here?
All text is available under the terms of the GNU Free Documentation License
This page is cache of Wikipedia. History