IPSce的金钥管理方法
在IP AH和IP ESP中所用到的认证与加密金钥,如何交换与管理呢!一把金钥是否一直使用呢!这些问题都尚末提及,这些问题对IPSec而言是非常重要的课题。
如果是几台主机,可以用人工的方式来交换金钥,例如打电话或E-mail,但是主机数目一多,或者是主机数据常更改,这时侯就需要一套安全且正式的协议来做这件事情了。
目前主要的金钥管理协议的参考规范有:(1)SKIP(Simple Key-management for IP)(2)ISAKMP/Oakley(Internet Security Association Key Management Protocol /Oakley )。上述两种方法都可应用在IPv4与IPv6中,SKIP较为简单,而ISAKMP/Oakley则可以应用于较多的协议。事实上,IP层的金钥交换协议尚有Photuris和SKEME等。
1.SKIP:
SKIP是由Sun Microsystem所发展,目有三种版本:Sun, TIK,和ELVIS+SKIP。SKIP金钥管理的观念是阶层式的金钥管理,如图所示。通讯的双方真正共享的密钥是Kij(这是利用Diffie Hellman的公开金钥对而达到共享的)。为了安全的考量,公开金钥应至凭证管理中心(Certificate Authority;CA)申请凭证。因此IPSec的使用也需要每一国家的公开金钥基础建设(Public Key Infrastructure;PKI)来配合。
使用Kij推导而得Kijn=MD5(Kij/n),其中n是现在时间距离1995年1月1日零点的时数,Kijn是一个长期金钥(每隔1小时更换一次),利用Kijn这把金钥将短期金钥Kp(每隔2分钟更换一次)加密后插入SKIP Header送到对方。接收端收到后利用Kijn解回Kp。接下来双方使用E_Kp=MD5(Kp/0)及A_Kp=MD5(Kp/2)导出加密金钥E_Kp和认证金钥A_Kp。由于金钥推导过程是一层一层的,因SKIP称之为阶层式的金钥管理架构。
我们一样使用第五节的例子:"当主机yang.chtti.com.tw欲与主机yang.csie.ndhu.edu.tw启动通讯",来讨论SKIP协议,图是SKIP封包内容的描述。
SKIP原欲与ISAKMP整合考量,但失败了。因为IPv6已决定使用ISAKMP与Oakley金钥交换的合并协议,也就是ISAKMP/Oakley(现已称作IKE;Internet Key Exchange)。所以SKIP并非IPSec强制规定的金钥管理方法。
2.ISAKMP/Qakley(IKE):
Oakley金钥交换协议是由亚利桑那大学所提出,它与SEKME有相当多的共同部份(注:SEKME则是Photuris的延伸)。
ISAKMP有两个操作阶段。第一阶段中,相关的一些安全属性经过协商,并产生一些金钥,…等。这些内容构成第一个SA,一般称作ISAKMP SA,与IPSec SA不一样的是它是双向的。第二阶段则是以ISAKMP SA的安全环境来建立AH或ESP的SA。
IKE则是ISAKMP使用Oakley的一些模式和SKEME快速rekey的观念合并而成,它有(1)Main Mode (2)Aggressive Mode (3)Quick Mode(4)New group mode等四种模式。
IPSec在VPN上的应用
在了解IPSec协议的工作原理后,我们来看它不同的用场合,值得注意的是在网络层提供安全机制,对应用层而言是完全透通的(trarsparent)。IPSec可以装设在gateway或主机上,或是两者同时,若IPSec装在gateway上,则可在不安全的Internet上提供一个安全的信道,若是装在主机,则能提供主机端对端的安全性。分别是gateway对gateway,主机对gateway,主机对主机三种可能的应用状况。