IPsec


IPsec (简体)

Free Web Hosting with Website Builder
網路協議
5. 應用層

DHCP · DNS · 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