您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > IPSec基础-密钥交换和密钥保护
IPSec基础-密钥交换和密钥保护Internet密钥交换(IKE)两台IPSec计算机在交换数据之前,必须首先建立某种约定,这种约定,称为安全关联,指双方需要就如何保护信息、交换信息等公用的安全设置达成一致,更重要的是,必须有一种方法,使那两台计算机安全地交换一套密钥,以便在它们的连接中使用。见图七。图七、Internet密钥交换Internet工程任务组IETF制定的安全关联标准法和密钥交换解决方案--IKE(Internet密钥交换)负责这些任务,它提供一种方法供两台计算机建立安全关联(SA)。SA对两台计算机之间的策略协议进行编码,指定它们将使用哪些算法和什么样的密钥长度,以及实际的密钥本身。IKE主要完成两个作用:·安全关联的集中化管理,减少连接时间·密钥的生成和管理一、什么是SA?安全关联SA(SecurityAssociation)是单向的,在两个使用IPSec的实体(主机或路由器)间建立的逻辑连接,定义了实体间如何使用安全服务(如加密)进行通信。它由下列元素组成:1)安全参数索引SPI;2)IP目的地址;3)安全协议。SA是一个单向的逻辑连接,也就是说,在一次通信中,IPSec需要建立两个SA,一个用于入站通信,另一个用于出站通信。若某台主机,如文件服务器或远程访问服务器,需要同时与多台客户机通信,则该服务器需要与每台客户机分别建立不同的SA。每个SA用唯一的SPI索引标识,当处理接收数据包时,服务器根据SPI值来决定该使用哪种SA。二、第一阶段SA(主模式SA,为建立信道而进行的安全关联)IKE建立SA分两个阶段。第一阶段,协商创建一个通信信道(IKESA),并对该信道进行认证,为双方进一步的IKE通信提供机密性、数据完整性以及数据源认证服务;第二阶段,使用已建立的IKESA建立IPsecSA。分两个阶段来完成这些服务有助于提高密钥交换的速度。第一阶段协商(主模式协商)步骤:1.策略协商,在这一步中,就四个强制性参数值进行协商:1)加密算法:选择DES或3DES2)hash算法:选择MD5或SHA3)认证方法:选择证书认证、预置共享密钥认证或Kerberosv5认证4)Diffie-Hellman组的选择2.DH交换虽然名为密钥交换,但事实上在任何时候,两台通信主机之间都不会交换真正的密钥,它们之间交换的只是一些DH算法生成共享密钥所需要的基本材料信息。DH交换,可以是公开的,也可以受保护。在彼此交换过密钥生成材料后,两端主机可以各自生成出完全一样的共享主密钥,保护紧接其后的认证过程。3.认证DH交换需要得到进一步认证,如果认证不成功,通信将无法继续下去。主密钥结合在第一步中确定的协商算法,对通信实体和通信信道进行认证。在这一步中,整个待认证的实体载荷,包括实体类型、端口号和协议,均由前一步生成的主密钥提供机密性和完整性保证。三、第二阶段SA(快速模式SA,为数据传输而建立的安全关联)这一阶段协商建立IPsecSA,为数据交换提供IPSec服务。第二阶段协商消息受第一阶段SA保护,任何没有第一阶段SA保护的消息将被拒收。第二阶段协商(快速模式协商)步骤:1.策略协商,双方交换保护需求:·使用哪种IPSec协议:AH或ESP·使用哪种hash算法:MD5或SHA·是否要求加密,若是,选择加密算法:3DES或DES在上述三方面达成一致后,将建立起两个SA,分别用于入站和出站通信。2.会话密钥材料刷新或交换在这一步中,将生成加密IP数据包的会话密钥。生成会话密钥所使用的材料可以和生成第一阶段SA中主密钥的相同,也可以不同。如果不做特殊要求,只需要刷新材料后,生成新密钥即可。若要求使用不同的材料,则在密钥生成之前,首先进行第二轮的DH交换。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(PerfectForwardSecrecy)与密钥生命期不同,PFS决定新密钥的生成方式,而不是新密钥的生成时间。PFS保证无论在哪一阶段,一个密钥只能使用一次,而且,生成密钥的材料也只能使用一次。某个材料在生成了一个密钥后,即被弃,绝不用来再生成任何其他密钥。这样可以确保一旦单个密钥泄密,最多只可能影响用该密钥加密的数据,而不会危及整个通信。PFS分主密钥PFS和会话密钥PFS,启用主密钥PFS,IKE必须对通信实体进行重新认证,即一个IKESA只能创建一个IPsecSA,对每一次第二阶段SA的协商,主密钥PFS都要求新的第一阶段协商,这将会带来额外的系统开销。因此使用它要格外小心。然而,启用会话密钥PFS,可以不必重新认证,因此对系统资源要求较小。会话密钥PFS只要求为新密钥生成进行新的DH交换,即需要发送四个额外消息,但无须重新认证。PFS不属于协商属性,不要求通信双方同时开启PFS。主密钥PFS和会话密钥PFS均可以各自独立设置。
本文标题:IPSec基础-密钥交换和密钥保护
链接地址:https://www.777doc.com/doc-2879266 .html