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