一、IPsec协议簇安全框架 1.1、IPsec: 是一组基于网络层的,应用密码学的安全通信协议族。IPsec不是具体指哪个协议,而是一个开放的协议族。
1.2、IPsec ×××: 是基于IPsec协议族构建的在IP层实现的安全虚拟专用网。通过在数据包中插入一个预定义头部的方式,来保证OSI上层协议的安全,主要用于保护TCP、UDP、ICMP和隧道的IP数据包。
1.3、IPsec提供的安全服务: 机密性,完整性,数据源鉴别,不可否认性,重传×××保护和访问控制有限的流量保密等其它安全服务。
1.4、IPsec协议族安全体系框架:
1.5、IPsec协议族:
二、IPsec的工作模式: 2.1、传输模式: 主要应用场景:经常用于主机和主机之间端到端通信的数据保护。 封装方式:不改变原有的IP包头,在源数据包头后面插入IPsec包头,将原来的数据封装成被保护的数据。
2.2、隧道模式: 主要应用场景:经常用于私网与私网之间通过公网进行通信,建立安全×××通道。 封装方式:增加新的IP(外网IP)头,其后是IPsec包头,之后再将原来的整个数据包进行封装。
三、IPsec通信协议: 3.1、 AH协议(Authentication Header,认证包头) AH提供的安全服务: (1)无连接数据完整性:通过哈希(如MD5,SHA1)产生的校验来保证; (2)数据源认证:通过在计算机验证时加入一个共享秘钥来实现; (3)抗重放服务:AH报头中的序列号可以防止重放×××。 AH不提供任何保密性服务:它不加密所保护的数据包。 AH提供对数据包的保护时,它保护的是整个IP数据包(易变的字段除外,如IP头中的 TTL和TOS字段) 3.2、 ESP(Encapsulating Security Payload,封装安全有效载荷)
*保密服务通过使用密码算法加密IP数据包的相关部分来实现。 *数据流保密由隧道模式下的保密服提供。 *ESP通常使用DES,3DES,AES等加密算法来实现数据加密,使用MD5或SHA1来实现 数据完整性验证。
四、IPsec建立阶段 4.1、安全全联盟SA *SA是通信对等体间对某些要素的约定,通信的双方符合SA约定的内容,就可建立SA。 *SA由三元组唯一标示,包括:安全参数索引,目的IP地址,安全协议号。
4.2、IKE产生背景: *用IPsec保护一个IP包之前,必须先建立安全联盟(SA)。 *IPsec的安全联盟可以手工建立,但网络中节点较多时,这时就可以使用IKE自动进行安全联盟建立与秘钥交换过程。IKE就用于动态建立SA,代表IPsec对SA进行协商。
4.3、IKE的用途: *IKE为IPsec协商建立密钥,供AH/ESP加密和验证使用。 *在IPsec通信双方之间,动态的建立安全联盟(SA),对SA进行管理和维护。
4.4、IKE工作过程: *IKE经过两个阶段为IPsec进行密钥协商并建立安全联盟:
第一阶段交换:通信各方彼此间建立了一个已通过身份验证和安全保护的通道,此阶段的交换建立了一个ISAKMP安全联盟,即ISAKMP SA,也可称为IKE SA。
第一阶段有两种协商模式:主模式协商和野蛮模式协商。
第二阶段交换:经建立的安全联盟(IKE SA)为IPsec协商安全服务,即为IPsec协商具体的安全联盟,建立IPsec SA,产生真正可以用来加密数据流的密钥,IPsec SA用于最终的IP数据安全传送。
4.4.1、IKE阶段1协商过程:
4.4.2、IKE阶段1——主模式协商
4.4.3、IKE阶段1——主模式交互过程 消息1:第一个消息由隧道的发起者发起,携带的参数如:机密机制-DES,散列机制-MD5-HAMC,Diffie-Hellman组-2(即DH-2),认证机制-预共享。 消息2:第二个消息是应答方对发送方信息的应答,当应答方查找SPD查找到发送方相关的策略后,将自己的信息同样发送给对端,当然,应答方在发送传输集时将会生成自己的cookie并添加到数据包中。 消息3:当完成第一步骤双方的策略协商后,则开始第二步骤DH公共值互换,随数据发送的还包含辅助随机数,用户生成双方的加密秘钥。 消息4:应答方同样将本端的DH公共值和Nonce随机数发送给对端,通过消息4传输。 消息5:第五个消息由发起者向响应者发送,主要是为了验证对端就是自己想要与之通信的对端。这可以通过预共享、数字签名、加密临时值来实现。 双方交换DH公共值后,结合随机数生成一系列的加密密钥,用于双方加密、校验,同时生成了密钥后,将公共密钥和本端身份信息等进行hash,hash值传输给对端进行验证设备身份。 消息6:由响应者向发起者发送,主要目的和第5条一样。
IKE阶段1有三次交换过程,一共6个消息交互,前4个明文,后2个密文。
4.4.4、IKE阶段1——野蛮模式交互过程 野蛮模式同样包含三个步骤,但仅通过三个包进行传输,标示为aggressive 野蛮模式的三个包交换: (1)第1个交互包发起方建议SA,发起DH交换 (2)第2个交互包接收方接收SA (3)第3个交互包发起方认证接收方 野蛮模式前2个消息明文,第3个密文。
4.4.5、IKE阶段1两种模式对比
4.4.6、IKE阶段2协商过程 *协商IPsec安全参数 *建立IPsec ××× 4.4.7、标准IPsec ×××建立过程
4.4.8、标准IPsec ×××第二阶段 ISAKMP/IKE阶段2只有一种信息交换模式——快速模式,它定义了受保护数据连接是如何在两个IPSEC对等体之间构成的。
快速模式有两个主要的功能: 1.协商安全参数来保护数据连接。 2.周期性的对数据连接更新密钥信息。 第二阶段的效果为协商出IPSec 单向SA,为保护IPsec数据流而创建。第二阶段整个协商过程受第一阶段ISAKMP/IKE SA保护。
4.4.9、数据传输阶段 • 数据传输阶段是通过AH或者ESP通信协议进行数据的传输。 • 数据传输建立在网络层。