|
 |
|
 |
|
|
|
四、安全群组SA
在IPSec标准中最重要的项目就是SA,它定义了一个安全的"环境",这个环境的内容包含了IP封包加密,解密,和认证的相关讯息,叙述如下:
- 密码功能:提供加密或认证或两者同时。
- 密码算法:例如加/解密使用DES(或 Triple-DES)认证使用MD5 (或SHA-1)。
- 密码算法中所使用的金钥,金钥的生命周期等。
- 是否有启始化向量。
- SA的生命周期
SA可以使用安全参数索引SPI(32位)来描述,也就是一个SPI值决定一个特定的SA,而主机的IP地址与SPI则定义了唯一的SA。例如主机A可以通知主机B SPI值为1000,它所相对的SA环境,密码功能为有只加密,用DES,金钥为0x1234567890abcdef(长度64位,其中8个位为同位)。所以主机A就可以藉由SPI 1000的值来加密它的数据,然后传送到主机B。当B收到封包后利用主机A和SPI的值就可以决定出SA而解密取回原始数据。
从上面的叙述可以发现SA是单向的(A B),但是对主机A与主机B这两个要建立安全通讯的主机而言则需要两个SA,每一方向一个,(A B)和(B A)。
此外SA的使用有两种键入方式,主机导向键入方式(Host-Oriented Keying)与使用者导向键入方或(User-Oriented Keying)。前者是不考虑使用者,从同一个系统所发出的封包,均使用相同的金钥,而后者则是以使用者为考量,允许使用者有不同的金钥。例如:同一使用者有多把金钥用于不同的服务,如FTP与Telnet使用不同的金钥。
五、一个IPSec的实际例子
二~四节已介绍了IPSec的基本架构,IP AH, IP ESP, SA, SPI等。现在我们将这些全部放在一起以实际的例子来加以说明。
EXAMPLE:假设有一个主机yang.chtti.com.tw欲藉由IPSec安全机制将具有加密及认证的TCP封包送到另一部主机yang.csie.ndhu.edu.tw。它希望它的gateway gatekeeper.chtti.com.tw能做加密,认证的工作,而对方的gateway gw.csie.ndhu.edu.tw能解密这些封包并认证,使用的SPI参数值假设是0x1234是指向大家事先同意的安全群组SA。
这个IPSec例子的说明示意图,当主机yang.chtti.com.tw所送的封包到它的gateway时, gateway加密封包并加入ESP Header,然后加入AH和新的IP标头,其中以gateway的地址gatekeeper.chtti.com.tw当作新的来源地址,并以gw.csie.ndhu.edu.tw当作新的目的端地址,最后计算杂凑函数值并加在AH中。
CHECK POINT Firewall-1(CHEK POINT在Firewall市场占有率约44%)的例子,Firewall-1有很好的人机界面(GUI),从图中可以清楚看出使用了AH和ESP,认证用的单向杂凑函数为SHA-1,加密算法为DES,同时也可看到加密及认证的金钥,SPI的数值为0x1234。
由于安全群组SA可以是不同的,所以我们也可以在CHECK POINT Firewall-1中的Security Policy加入下面两条规则(rule),如图所示。因为使用的SPI值不一样,从yang.chtti.com.tw到yang.csie.ndhu.edu.tw的方向是使用SPI 0x1000,反方向则是使用SPI 0x2000,这两台主机彼此做FTP时使用的算法跟金钥可以是不同的。
六、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等四种模式。
|
|
|
 |
|
 |
|
|
|
|
 |
热点文章列表 |
|
|
|
|