Internet 密钥交换协议(IKE)用于在两个通信实体协商和建立安全相关,交换密钥。安全相关(SecurityAssociation)是 IPSec中的一个重要概念。一个安全相关表示两个或多个通信实体之间经过了身份认证,且这些通信实体都能支持相同的加密算法,成功地交换了会话密钥,可以开始利用IPSec 进行安全通信。IPSec 协议本身没有提供在通信实体间建立安全相关的方法,利用 IKE 建立安全相关。IKE定义了通信实体间进行身份认证、协商加密算法以及生成共享的会话密钥的方法
IKE是一种混合型协议,由RFC2409定义,包含了3个不同协议的有关部分:ISAKMP、Oakley和SKEME。IKE和ISAKMP的不同之处在于:IKE真正定义了一个密钥交换的过程,而ISAKMP只是定义了一个通用的可以被任何密钥交换协议使用的框架。
Oakley:定义IKE提供了一个多样化,多模式的应用,让IKE可以用在很多场合,大学开发的
SKEME:提供了IKE交换密钥的算法,方式;即,通过DH进行密钥交换和管理的方式,个人开发的
ISAKMP:它是一个筐架,在该筐架以内,它定义了每一次交换的包结构,每次需要几个包交换,主模式6个包交换和主动模式3个包交换,它由美国国家安全处开发,在配置IPSECVPN的时候,只能设置它,前两个协议不能被设置。
ISAKMP(Internet Security Association Key ManagementProtocol,Internet安全联盟密钥管理协议)由RFC2408定义,定义了协商、建立、修改和删除SA的过程和包格式。ISAKMP只是为SA的属性和协商、修改、删除SA的方法提供了一个通用的框架,并没有定义具体的SA格式。
ISAKMP没有定义任何密钥交换协议的细节,也没有定义任何具体的加密算法、密钥生成技术或者认证机制。这个通用的框架是与密钥交换独立的,可以被不同的密钥交换协议使用。
ISAKMP报文可以利用UDP或者TCP,端口都是500,一般情况下常用UDP协议。
ISAKMP双方交换的内容称为载荷(payload),ISAKMP目前定义了13种载荷,一个载荷就像积木中的一个“小方块”,这些载荷按照某种规则“叠放”在一起,然后在最前面添加上ISAKMP头部,这样就组成了一个ISAKMP报文,这些报文按照一定的模式进行交换,从而完成SA的协商、修改和删除等功能。
在配置IPSEC VPN的时候,只能设置它,前两个协议不能被设置,
IKE是以上三个筐架协议的混合体。IP SEC强是因为他IKE强。
IKE为IPSec通信双方提供密钥材料,这个材料用于生成加密密钥和验证密钥。另外,IKE也为IPSec协议AHESP协商SA。
IKE中有4种身份认证方式:
(1) 基于数字签名(DigitalSignature),利用数字证书来表示身份,利用数字签名算法计算出一个签名来验证身份。
(2) 基于公开密钥(Public KeyEncryption),利用对方的公开密钥加密身份,通过检查对方发来的该HASH值作认证。
(3) 基于修正的公开密钥(Revised Public Key Encryption),对上述方式进行修正。
(4) 基于预共享字符串(PreShared Key),双方事先通过某种方式商定好一个双方共享的字符串。
IKE目前定义了4种模式:主模式、积极模式、快速模式和新组模式。前面3个用于协商SA,最后一个用于协商DiffieHellman算法所用的组。主模式和积极模式用于第一阶段;快速模式用于第二阶段;新组模式用于在第一个阶段后协商新的组。
在第一阶段中:
主模式:LAN to LAN六个包交换,在认证的时候是加密的,
1、2个包:策略和转换集的协商。第一阶段的加密和HASH的策略,包括对方的IP地址。对第阶段策略的协商,发起者把它所有的策略发给接收者让它选择协商(发起者可以设很多个策略),
3、4个包:进行DH(DH算出的公共值和两边产生的随机数)的交换,这两外包很大,MTU小可能在这个地方出错。
5、6个包:彼此进行认证,HASH被加密过,对方解密才能进行认证。
远程拔号VPN:主动模式,3个包,减少对PC的压力,在认证的时候是不加密的
在第二阶段中(快速模式):会对第一阶段的信息再做一次认证
快速模式:当IPSEC参数设的不一致,它会在快速模式的第1、2个包报错,会出现不可接受信息。以及感兴趣流(ACL定义内容)也要匹配。ACL两边要对应一致。
快速模式的1、2、3个包的作用是再进行双方的认证,协商IP sec SA的策略,建立IP sec的安全关联,周期性的更新IPsec的SA,默认一小时一次,ISAKMP默认是一天更新一次,协商双方的感兴趣流,如果有PFS,就会进行新一轮的DH交换,过程与第一阶段的DH交换基本一样。