IKE——因特网密钥交换协议(Internet Key Exchange)
基本概念
作用
IKE协议常用来确保虚拟专用网络VPN(virtual private network)与远端网络或者宿主机进行交流时的安全(包括交换和管理在VPN中使用的密钥)
IKE为IPSec提供了协商密钥、建立IPSec安全联盟的服务(首先对等体间建立一个IKE SA,在IKE SA的保护下,根据对等体间配置的AS/ESP协议的加密算法、预共享密钥等协商出IPSec SA),简化IPSec的使用和管理
组成
IKE属于一种混合型协议,由三个协议(组件)组成:
1:Internet安全关联和密钥管理协议——ISAKMP(框架)
2:密钥交换协议——OAKLEY(基于到达两个对等体间的加密密钥交换机制)
3:密钥交换协议——SKEME(实现公钥加密认证的机制)
IKE创建在由ISAKMP定义的框架上(UDP 500),沿用了OAKLEY的交换模式、SKEME的共享和密钥更新技术,还定义了它自己的两种密钥交换模式
IKE协商SA类型
阶段一:IKE(ISAKMP) SA
阶段二:IPSec SA
IKE的安全机制
身份认证方式()
确认通信双方身份
预共享密钥(pre-shared key)认证
数字签名(digital signature)认证
数字信封认证
预共享密钥认证
发起者和响应者必须事先协商一个共享密钥,信息在传输前使用共享密钥加密,接收端使用同样的密钥解密。如果接收方能解密,即认为可以通过认证(若是手动模式,则预共享密钥是自己手动在两端配置的;若是IKE自动协商模式,则预共享密钥是通过DH算法动态生成的)
优缺点
配置简单,但使用预共享密钥,当出现一对多的情况时,需要为每一个对等体配置预共享密钥,适合于小型网络,对于大型网络安全性较低
数字证书认证(一般使用RSA)
在数字证书认证中,通信双方使用CA颁发的数字证书进行合法性验证,双方各有自己的公钥(网上传输)和私钥(自己持有)
发送方对原始报文进行Hash计算,并用自己的私钥对报文计算结果进行加密,生成数字证书。接收方使用发送方的公钥对数字签名进行解密,并对报文进行Hash计算(对发送来的报文进行Hash计算),判断计算结果与解密后的结果是否相同。若相同,则认证通过;否则失败
优缺点
数字证书安全性较高,但需要CA来颁发数字证书,且存在有效CRL及时性差:即有证书被窃取从CA吊销后,因未即使更新CRL导致被劫持等攻击
数字信封认证
被公钥加密的对称密钥称为数字信封
发送方首先产生一个对称密钥,使用接收方的公钥对此对称密钥进行加密。发送方用对称密钥加密报文,同时用自己的私钥生成数字签名。
接收方用自己的私钥解密数字信封得到对称密钥,再用对称密钥解密报文。同时根据发送方的公钥对数字签名进行解密,验证发送方的数字签名是否正确。正确则验证通过
优缺点
数字信封认证在设备需要符合国家密码管理局要求时使用,但此认证方法只能在IKEv1的主模式协商过程中使用
身份保护
身份数据在密钥产生后加密传输,实现了对身份数据的保护
DH
DH,全称:Diffie-Hellman密钥交换。
作用
使用这种算法,通信双方仅通过交换一些可以公开的信息就能够生成出共享的秘密数字,而这一秘密数字就可以被用作对称密码的密钥
具体交换过程(本过程借用《图解密码学》中的事例)
通信双方为Alice与Bob
1:Alice向Bob发送两个质数P和G
P必须是一个非常大的质数,而G要是一个与P相关的数,称为生成元(generator)
2:Alice生成一个随机数A
A是一个1~P-2之间的整数
3:Bob生成一个随机数B
B也是一个1~P-2之间的整数
4:Alice将GA mod P这个数发给Bob
5:Bob将GB mod P这个数发给Bob
6:Alice用Bob发送过来的数计算A次方并求mod P
(GB mod P)A mod P =GB x Amod P
7:Alice用Bob发送过来的数计算B次方并求mod P
(GA mod P)B mod P =GA x B mod P
此时Alice与Bob两端即可生成两个相同的共享密钥
PFS
PFS,全称:Perfect Forward Secrecy 完美向前保密
完美的前向安全性是一种安全特性,指一个密钥被破解,并不会影响其他密钥的安全性(即一系列密钥间没有派生关系,即使一个被破解,也不会导致其他密钥被破解)
具体过程
IPSec SA的密钥是从IKE SA的密钥导出的,由于一个IKE SA协商生成一对或多对IPSec SA,当IKE的密钥被窃取后,攻击者将可能收集到足够的信息来导出IPSec SA的密钥,PFS通过执行一次额外的DH交换,保证IPSec SA密钥的安全。
下一篇文章将介绍IKEv1与IKEv2具体交互过程