IKE IPSec基础-密钥交换和密钥保护Internet密钥交换( 二 )


3.SA和密钥连同SPI,递交给IPSec驱动程序 。
第二阶段协商过程与第一阶段协商过程类似,不同之处在于:在第二阶段中,假如响应超时,则自动尝试重新进行第一阶段SA协商 。
第一阶段SA建立起安全通信信道后保存在高速缓存中,在此基础上可以建立多个第二阶段SA协商,从而提高整个建立SA过程的速度 。只要第一阶段SA不超时,就不必重复第一阶段的协商和认证 。答应建立的第二阶段SA的个数由IPSec策略属性决定 。
四、SA生命期
第一阶段SA有一个缺省有效时间,假如SA超时,或"主密钥"和"会话密钥"中任何一个生命期时间到,都要向对方发送第一阶段SA删除消息,通知对方第一阶段SA已经过期 。之后需要重新进行SA协商 。第二阶段SA的有效时间由IPSec驱动程序决定 。
密钥保护
一、密钥生命期
生命期设置决定何时生成新密钥 。在一定的时间间隔内重新生成新密钥的过程称为"动态密钥更新"或"密钥重新生成" 。密钥生命期设置决定了在特定的时间间隔之后,将强制生成新密钥 。例如,假设一次通信需要1万秒,而我们设定密钥生命期为1千秒,则在整个数据传输期间将生成10个密钥 。在一次通信中使用多个密钥保证了即使攻击者截取了单个通信密钥,也不会危及全部通信安全 。密钥生命期有一个缺省值,但"主密钥"和"会话密钥"生命期都可以通过配置修改 。无论是哪种密钥生命期时间到,都要重新进行SA协商 。单个密钥所能处理的最大数据量不答应超过100兆 。
二、会话密钥更新限制
反复地从同一个的"主密钥"生成材料去生成新的"会话密钥"很可能会造成密钥泄密 。"会话密钥更新限制"功能可以有效地减少泄密的可能性 。例如,两台主机建立安全关联后,A先向B发送某条消息,间隔数分钟后再向B发送另一条消息 。由于新的SA刚建立不久,因此两条消息所用的加密密钥很可能是用同一"材料"生成的 。假如想限制某密钥"材料"重用次数,可以设定"会话密钥更新限制" 。譬如,设定"会话密钥更新限制"为5,意味着同一"材料"最多只能生成5个"会话密钥" 。
若启用"主密钥精确转发保密(PFS)",则"会话密钥更新限制"将被忽略,因为PFS 每次都强制使用新"材料"重新生成密钥 。将"会话密钥更新限制"设定为1和启用PFS效果是一样的 。假如既设定了"主密钥"生命期,又设定了"会话密钥更新限制",那么无论哪个限制条件先满足,都引发新一轮SA协商 。在缺省情况下,IPSec不设定"会话密钥更新限制" 。
三、Diffie-Hellman(DH)组
DH组决定DH交换中密钥生成"材料"的长度 。密钥的牢固性部分决定于DH组的强度 。IKE共定义了5个DH组,组1(低)定义的密钥"材料"长度为768位;组2(中)长度为1024位 。密钥"材料"长度越长,所生成的密钥安全度也就越高,越难被破译 。
DH组的选择很重要,因为DH组只在第一阶段的SA协商中确定,第二阶段的协商不再重新选择DH组,两个阶段使用的是同一个DH组,因此该DH组的选择将影响所有"会话密钥"的生成 。
在协商过程中,对等的实体间应选择同一个DH组,即密钥"材料"长度应该相等 。若DH组不匹配,将视为协商失败 。
四、精确转发保密PFS(Perfect Forward Secrecy)
与密钥生命期不同,PFS决定新密钥的生成方式,而不是新密钥的生成时间 。PFS保证无论在哪一阶段,一个密钥只能使用一次,而且,生成密钥的"材料"也只能使用一次 。某个"材料"在生成了一个密钥后,即被弃,绝不用来再生成任何其他密钥 。这样可以确保一旦单个密钥泄密,最多只可能影响用该密钥加密的数据,而不会危及整个通信 。

推荐阅读