Remove ads
来自维基百科,自由的百科全书
互联网安全协议(英语:Internet Protocol Security,缩写:IPsec)是一个协议包,透过对IP协议的分组进行加密和认证来保护IP协议的网络传输协议族(一些相互关联的协议的集合)。
IPsec的源始编码是在IPv4的环境中于1994年开发,第一版IPsec协议在RFC 2401-2409中定义。在2005年第二版标准文档发布,新的文档定义在RFC 4301和RFC 4309中[7][8]。在IPv4中IPsec的使用是一个可选项,在IPv6 RFC 6434中为必选的内容 [9],这样做的目的,是为了随着 IPv6的进一步流行,IPsec可以得到更为广泛的使用。
从1920-70年代初开始,美国高级研究项目局赞助了一系列实验性的ARPANET加密设备,起初用于本地ARPANET数据包加密,随后又用于TCP/IP数据包加密。
从1986年到1991年,美国国家安全局在其安全数据网络系统(SDN)计划下赞助了互联网安全协议的开发,包括摩托罗拉在内的各种供应商聚集在一起,于1988年生产了一种网络加密设备,这项工作于1988年由NIST公开发表,其中第3层的安全协议(SP3)演变为ISO标准的网络层安全协议(NLSP)。[10]
从1992年到1995年,有三个研究小组对IP层加密分别进行了独立研究:
互联网工程任务组(IETF)于1992年成立了IP安全工作组,以规范对 IPsec 的公开协议,1995年工作组成员有 TIS、Cisco、FTP、Checkpoint 等五个企业组成,首次合作协商改进了 NRL 起草的 IPsec 协议标准,以及规范了 Cisco 和 TIS 提供的 IPsec 开放源代码,此后,发布了RFC-1825和RFC-1827,NRL在1996年 USENIX 会议论文集中进行了描述了,由麻省理工学院在线提供,并成为大多数初始商业实现的基础。[14]
IPsec被设计用来提供(1)入口对入口通信安全,在此机制下,分组通信的安全性由单个节点提供给多台机器(甚至可以是整个局域网);(2)端到端分组通信安全,由作为端点的计算机完成安全操作。上述的任意一种模式都可以用来构建虚拟专用网(VPN),而这也是IPsec最主要的用途之一。应该注意的是,上述两种操作模式在安全的实现方面有着很大差别。
因特网范围内端到端通信安全的发展比预料的要缓慢[来源请求],其中部分原因,是因为其不够普遍或者说不被普遍信任。公钥基础设施能够得以形成(DNSSEC最初就是为此产生的),一部分是因为许多用户不能充分地认清他们的需求及可用的选项,导致其作为内含物强加到卖主的产品中(这也必将得到广泛采用);另一部分可能归因于网络响应的退化(或说预期退化),就像兜售信息的充斥而带来的带宽损失一样。
IPsec协议工作在OSI模型的第三层,使其在单独使用时适于保护基于TCP或UDP的协议(如安全套接子层(SSL)就不能保护UDP层的通信流)。这就意味着,与传输层或更高层的协议相比,IPsec协议必须处理可靠性和分片的问题,这同时也增加了它的复杂性和处理开销。相对而言,SSL/TLS依靠更高层的TCP(OSI的第四层)来管理可靠性和分片。
此条目需要更新。 (2020年5月22日) |
认证头(Authentication Header,AH)被用来保证被传输分组的完整性和可靠性。此外,它还保护不受重放攻击。认证头试图保护IP数据报的所有字段,那些在传输IP分组的过程中要发生变化的字段就只能被排除在外。当认证头使用非对称数字签名算法(如RSA)时,可以提供不可否认性(RFC 1826)[15]。
认证头分组图示:
位偏移 | 字节 | 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 | |
0 | 下一个头 | 载荷长度 | 保留 | ||
32 | 安全参数索引(SPI) | ||||
64 | 串行号 | ||||
96+ | 认证数据(可变长度) |
字段含义:
封装安全载荷(Encapsulating Security Payload,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 | |
0 | 安全参数串行(SPI) | ||||||||||||||||||||||||||||||||
32 | 串行号 | ||||||||||||||||||||||||||||||||
64+ | 载荷*(可变长度) | ||||||||||||||||||||||||||||||||
填充(0-255字节) | |||||||||||||||||||||||||||||||||
填充长度 | 下一个头 | ||||||||||||||||||||||||||||||||
认证数据(可变长度) |
字段含义:
FreeS/WAN项目已经开发了一个开源的GNU/Linux操作系统下的IPsec实现。Free S/WAN项目的开发在2004年时被中止。Openswan、strongSwan和libreswan是Free S/WAN延续。
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.