简介
IPSec(InternetProtocolSecurity)是安全联网的长期方向。它通过端对端的安全性来提供主动的保护以防止专用网络与 Internet 的***。在通信中,只有发送方和接收方才是唯一必须了解 IPSec 保护的计算机。在 Windows 2000、Windows XP 和 Windows Server 2003 家族中,IPSec 提供了一种能力,以保护工作组、局域网计算机、域客户端和服务器、分支机构(物理上为远程机构)、Extranet 以及漫游客户端之间的通信。
IPsec(Internet Protocol Security),是通过对IP协议(互联网协议)的分组进行加密和认证来保护IP协议的网络传输协议族(一些相互关联的协议的集合)。
IPsec由两大部分组成:
(1)建立安全分组流的密钥交换协议;
(2)保护分组流的协议。
前者为互联网金钥交换(IKE)协议。后者包括加密分组流的封装安全载荷协议(ESP协议)或认证头协议(AH协议)协议,用于保证数据的机密性、来源可靠性(认证)、无连接的完整性并提供抗重播服务。
IPsec与其它互联网安全协议的对比
IPsec协议工作在OSI 模型的第三层,使其在单独使用时适于保护基于TCP或UDP的协议(如安全套接子层(SSL)就不能保护UDP层的通信流)。这就意味着,与传输层或更高层的协议相比,IPsec协议必须处理可靠性和分片的问题,这同时也增加了它的复杂性和处理开销。相对而言,SSL/TLS依靠更高层的TCP(OSI的第四层)来管理可靠性和分片。
作用:
保护 IP 数据包的内容。
通过数据包筛选及受信任通讯的实施来防御网络***。
这两个目标都是通过使用基于加密的保护服务、安全协议与动态密钥管理来实现的。这个基础为专用网络计算机、域、站点、远程站点、Extranet 和拨号用户之间的通信提供了既有力又灵活的保护。它甚至可以用来阻碍特定通讯类型的接收和发送。
其中以接收和发送最为重要。
安全协议:
(1)AH(AuthenticationHeader) 协议。
它用来向 IP通信提供数据完整性和身份验证,同时可以提供抗重播服务。
在 IPv6 中协议采用 AH 后, 因为在主机端设置了一个基于算法独立交换的秘密钥匙, 非法潜入的现象可得到有效防止, 秘密钥匙由客户和服务商共同设置。在传送每个数据包时,IPv6 认证根据这个秘密钥匙和数据包产生一个检验项。在数据接收端重新运行该检验项并进行比较,从而保证了对数据包来源的确认以及数据包不被非法修改。
(2)ESP(EncapsulatedSecurityPayload) 协议。
它提供 IP层加密保证和验证数据源以对付网络上的监听。因为 AH虽然可以保护通信免受篡改, 但并不对数据进行变形转换, 数据对于***而言仍然是清晰的。为了有效地保证数据传输安全, 在IPv6 中有另外一个报头 ESP,进一步提供数据保密性并防止篡改。
密钥管理协议:
密钥管理协议 ISAKMP, 提供共享安全信息。Internet密钥管理协议被定义在应用层,IETF规定了 Internet安全协议和 ISAKMP(Internet Security Association and KeyManagement Protocol) 来实现 IPSec 的密钥管理,为身份认证的 SA 设置以及密钥交换技术。
传输模式:
隧道(tunnel)模式:用户的整个IP数据包被用来计算AH或ESP头,AH或ESP头以及ESP加密的用户数据被封装在一个新的IP数据包中。通常,隧道模式应用在两个安全网关之间的通讯。
传输(transport)模式:只是传输层数据被用来计算AH或ESP头,AH或ESP头以及ESP加密的用户数据被放置在原IP包头后面。通常,传输模式应用在两台主机之间的通讯,或一台主机和一个安全网关之间的通讯。定义了一个通用格式。
相关问题:
IPSec 基于端对端的安全模式,在源 IP 和目标 IP 地址之间建立信任和安全性。考虑认为 IP 地址本身没有必要具有标识,但 IP 地址后面的系统必须有一个通过身份验证程序验证过的标识。只有发送和接收的计算机需要知道通讯是安全的。每台计算机都假定进行通讯的媒体不安全,因此在各自的终端上实施安全设置。除非两台计算机之间正在进行防火墙类型的数据包筛选或网络地址转换,否则仅从源向目标路由数据的计算机不要求支持 IPSec。该模式允许为下列企业方案成功部署 IPSec:
局域网 (LAN):客户端/服务器和对等网络
广域网(WAN):路由器到路由器和网关到网关
远程访问:拨号客户机和从专用网络访问 Internet
通常,两端都需要 IPSec 配置(称为 IPSec 策略)来设置选项与安全设置,以允许两个系统对如何保护它们之间的通讯达成协议。Windows 2000、Windows XP 和 Windows Server 2003 家族实施 IPSec 是基于“Internet 工程任务组 (IETF)”IPSec工作组开发的业界标准。IPSec 相关服务部分是由 Microsoft 与 Cisco Systems, Inc. 共同开发的。
IPSec 协议不是一个单独的协议,它给出了应用于IP层上网络数据安全的一整套体系结构,包括网络认证协议 Authentication Header(AH)、封装安全载荷协议Encapsulating Security Payload(ESP)、密钥管理协议Internet Key Exchange (IKE)和用于网络认证及加密的一些算法等。这些协议用于提供数据认证、数据完整性和加密性三种保护形式。AH和ESP都可以提供认证服务,但AH提供的认证服务要强于ESP。而IKE主要是对密钥进行交换管理,对算法、协议和密钥3个方面进行协商。
IPSec 规定了如何在对等层之间选择安全协议、确定安全算法和密钥交换,向上提供了访问控制、数据源认证、数据加密等网络安全服务。
安全特性:
·不可否认性
·反重播性
·数据完整性
·数据可靠性(加密)
·认证
数据可靠性:
IPSec使用的数据加密算法是DES--Data Encryption Standard(数据加密标准)。DES密钥长度为56位,在形式上是一个64位数。DES以64位(8字节)为分组对数据加密,每64位明文,经过16轮置换生成64位密文,其中每字节有1位用于奇偶校验,所以实际有效密钥长度是56位。 IPSec还支持3DES算法,3DES可提供更高的安全性,但相应地,计算速度更慢。
密钥管理:
·动态密钥更新
·Diffie-Hellman算法
数据包封装:
认证头
认证头(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地址一同用来标识安全参数
序列号
单调递增的数值,用来防止重放***。
载荷数据
实际要传输的数据。
填充
某些块加密算法用此将数据填充至块的长度。
填充长度
以位为单位的填充数据的长度。
下一个头
标识被传送数据所属的协议。
认证数据
包含了认证当前包所必须的数据。
Ipsec在企业中的应用---------搭建×××隧道
在企业中总部与分部之间相互通信可以在中间使用ISP的专线,但是采用专线的话,费用比较昂贵。而对于这种情况来说使用ipsec搭建×××通道既能达到总部与分部之间的通信还能够节省不少费用,此乃是“一举两得”。
IPSEC ××× 的类型:
常见的IPSEC ××× 类型有站到站(site to site 或者是LAN TO LAN)、easy ×××(远程访问×××)、DM×××(动态多点×××)、GET ×××(Group Encrypted Transport(GET) ××× )等。
IPSec协商
IPSec除了一些协议原理外,我们更关注的是协议中涉及到方案制定的内容:
1.兴趣流:IPSec是需要消耗资源的保护措施,并非所有流量都需要IPSec进行处理,而需要IPSec进行保护的流量就称为兴趣流,最后协商出来的兴趣流是由发起方和响应方所指定兴趣流的交集,如发起方指定兴趣流为192.168.1.0/24à10.0.0.0/8,而响应方的兴趣流为10.0.0.0/8à192.168.0.0/16,那么其交集是192.168.1.0/24ßà10.0.0.0/8,这就是最后会被IPSec所保护的兴趣流。
2.发起方:Initiator,IPSec会话协商的触发方,IPSec会话通常是由指定兴趣流触发协商,触发的过程通常是将数据包中的源、目的地址、协议以及源、目的端口号与提前指定的IPSec兴趣流匹配模板如ACL进行匹配,如果匹配成功则属于指定兴趣流。指定兴趣流只是用于触发协商,至于是否会被IPSec保护要看是否匹配协商兴趣流,但是在通常实施方案过程中,通常会设计成发起方指定兴趣流属于协商兴趣流。
3.响应方:Responder,IPSec会话协商的接收方,响应方是被动协商,响应方可以指定兴趣流,也可以不指定(完全由发起方指定)。
4.发起方和响应方协商的内容主要包括:双方身份的确认和密钥种子刷新周期、AH/ESP的组合方式及各自使用的算法,还包括兴趣流、封装模式等。
5. SA:发起方、响应方协商的结果就是曝光率很高的SA,SA通常是包括密钥及密钥生存期、算法、封装模式、发起方、响应方地址、兴趣流等内容。
下篇:ipsec搭建×××通道案例--------