第3章密钥分配与管理技术海军工程大学第3章密钥分配与管理技术主要内容3.1密钥分配技术3.2公钥基础设施3.3密钥托管技术3.4密钥管理技术3.5小结第3章密钥分配与管理技术3.1密钥分配技术3.1.1密钥分配中心方式密钥分配中心方式是当前的主流方式。每个节点或用户只需保管与密钥分配中心(KDC)之间使用的密钥加密密钥,而KDC为每个用户保管一个不相同的密钥加密密钥。当两个用户需要通信时,需向KDC申请。KDC将工作密钥(或称会话密钥)用这两个用户的密钥加密密钥分别加密后送给这两个用户(通常是通过其中一个转送)。第3章密钥分配与管理技术3.1密钥分配技术这种方式的特点是,用户不必保存大量的工作密钥,可实现一报一密;缺点是通信量大,而且需要有较好的鉴别功能,以识别KDC和用户。KDC可变形成为电话号码本方式,适用于非对称密码体制。通过建立用户的公开密钥表,在密钥的连通范围内散发,也可采用目录方式动态去查询,后面介绍的公开密钥管理体制采用的就是这种思想。第3章密钥分配与管理技术3.1密钥分配技术3.1.2离散对数方法设P是一个质数,a是P的一个本原元,要求a和P是公开的,网络中的每个用户I选一个小于p的整数作为秘密密钥。设甲和乙是两个用户,各自的密钥分别是和,则他们可基于离散对数方法用如下过程建立彼此间的会话密钥。(1)双方各自计算(2)交换和;(3)求出会话密钥为ik1k2k111mod,0kbaPbP222mod,0kbaPbP1b2b1221()()mod,0kkkkkaaPkP第3章密钥分配与管理技术3.1密钥分配技术这种方法不能防止从信道进行窃听,因此还需要某种加密机制的保护,并且同时需要使用密钥协商机制来防止桥接攻击。针对这些问题,Hughes提出了一种改进方式,使得双方密钥的生成呈异步形式。要做到这一点,必须:(1)甲事先计算密钥;(2)乙在需要与甲通信时计算并送给甲;(3)甲计算并送给乙;(4)乙计算而,从而表现甲和乙使用的密钥相同。PaKbmod1PaYbmod2PYXbmod1PXKbmod12PXKbmod12)(mod12122112//PKaaYXKbbbbbbb第3章密钥分配与管理技术3.1密钥分配技术3.1.3智能卡方法智能卡方法的基本思想是将RSA与Diffie-Hellman协议相结合,通过KDC分配可进行密钥管理的智能卡,而平时使用密钥时不需要KDC。整个系统有一个通信各方均使用的公开密钥,而对应的秘密密钥保留在发卡方,用户持有的是该秘密密钥的一个变形。需要通信时,使用智能卡产生一个工作密钥。具体做法如下:第3章密钥分配与管理技术3.1密钥分配技术(1)磁卡分发时:在对应的RSA体制下,找一个为p或q的本原元的整数g。对于用户I,设定他的身份标志为整数,计算。将整数组(r,g,,)存储在磁卡中发给用户,其中需要保密(因为它包含发卡中心的秘密密钥的信息),而其他数据是可公开的。iIDrIDSkSiimodkPiSiS第3章密钥分配与管理技术3.1密钥分配技术(2)需要通信时:基于Diffie-Hellman协议。用户I和用户J要建立一共同的工作密钥时,用户I产生一个随机数并计算并连同自己的发给用户J。J也产生一个随机数并计算,并连同自己的发给用户I。然后双方分别计算出共享的工作密钥:因为所以iR)(modrgSXiRiiiIDjR)(modrgSXjRjjjID)(mod)/)(()(mod)/(rIDgSrIDXKikjikRjPRjRjPji)(mod)/)(()(mod)/(rIDgSrIDXKjkijkRiPRiRiPij1)(mod/)(mod/rIDIDrIDSiPSiiPikkkiRjPRPSjPRRRiPRPSiRiPRSijKrIDgIDrgrIDgIDrIDgIDKikjkkkjijkikkjkik)(mod)/()(mod)(mod)/()(mod)/)((第3章密钥分配与管理技术3.1密钥分配技术(3)需要验证身份时:利用RSA体制确认通信的对方拥有正确的。用户I产生一个随机数,并计算将和发给用户J。iSiR)(mod)(modrgSYrgXiikRiiRPiiiYX,iID第3章密钥分配与管理技术3.1密钥分配技术用户J也类似地产生一个随机数并计算并将和发给用户I。jR)(mod)(modrgSYrgXRjjjRjPjkjjYX,jID第3章密钥分配与管理技术3.1密钥分配技术因为在模r的情况下有所以用户I和J均可用此方法验证对方的身份。注意:在智能卡方法中,RSA的秘密密钥只在磁卡发行时使用,在磁卡使用过程中并不需要,因此智能卡系统在使用时不需要KDC。整个系统的安全性依赖于RSA的可靠性。iPSiPiRPPRiiPiIDIDSggSXYkkkikkik/)(/第3章密钥分配与管理技术3.1密钥分配技术3.1.4加密的密钥交换EKE加密的密钥交换(EncryptedKeyExchange-EKE)方法由SteveBellovin和MichaelMerritt设计;用共享的对称密钥P(如口令)来保护随机产生的公开密钥K,进而提高对会话密钥的保护程度。具体的做法如下:第3章密钥分配与管理技术3.1密钥分配技术(1)A随机产生一个公开/秘密密钥对,使用对称密钥算法将公开密钥加密,然后标识符A和送给B。(2)B收到后,再产生一个随机的会话密钥K,然后向A发送。(3)A收到后,解出K,然后产生一个随机串,并向B发送。K)(KEP))((KEEKPAR)(AkRE第3章密钥分配与管理技术3.1密钥分配技术(4)B收到后,产生一个,向A发送。(5)A收到后,向B发送。(6)B收到后,若确认正确,则双方密钥交换与鉴别成功。BR),(BAkRRE)(BKREBR第3章密钥分配与管理技术3.1密钥分配技术这是一个密钥交换(前三步)加双向身份认证(后三步)的方法,这种方法的优点是即使口令被攻击者猜出,他只能获得,而这个公开密钥只能用于加密,不能用于解密,因此他仍然无法获得实际使用的会话密钥K的内容。这种方法的缺点是交互次数较多,比较繁琐。K第3章密钥分配与管理技术3.1密钥分配技术3.1.5Internet密钥交换IKEIKE(TheInternetKeyExchange)是IETF制定的Internet环境下的密钥交换协议。IKE是由RFC2409文件描述的一种混合密钥交换协议,IKE协商分两个阶段:阶段一定义了主模式和野蛮模式,阶段二定义了快速模式;另外还有两个额外的交换,即信息交换和新组交换第3章密钥分配与管理技术3.1密钥分配技术IKE协议针对可能的攻击设计了相应的安全机制,并制定了五种交换模式,下面针对IKE协议的安全机制和交换模式,进行分析。第3章密钥分配与管理技术3.1密钥分配技术1.IKE的安全隐患IKE在阶段一协商采用Diffie-Hellman密钥交换协议,Diffie-Hellman交换技术可以在一个不安全的通信信道上,在交换的双方之间,建立起一个安全的共享秘密K,并且可以用共享的秘密来保护通信。Diffie-Hellman交换不能抵抗中间人攻击,当它面临洪泛攻击时表现比较脆弱。第3章密钥分配与管理技术3.1密钥分配技术(1)洪泛攻击(FloodingAttack)FloodingAttack也叫DoS(DenialofService)攻击,在Diffie-Hellman交换中,攻击者可以制造大量的伪造IP的请求包,发给被攻击者。每一个请求包让被攻击者响应,考虑到这些包来自“不同的IP”,响应者对每一个包进行计算开销很大的幂运算处理,一旦伪造包到达率达到一定程度,响应者将无法响应真正的合法用户。第3章密钥分配与管理技术3.1密钥分配技术针对“FloodingAttack”IKE设计了“cookie”交换,cookie生成方式为:联系双方的IP地址/端口/协议散列运算的结果,或者是时间戳。这样每个cookie可以和一个远程通信方对应起来。一旦发起者和响应者cookie交换完以后,余下的密钥交换消息都必须包含cookie对,相应的cookie与发起者和响应者的IP地址联系起来。第3章密钥分配与管理技术3.1密钥分配技术如果攻击者与被攻击者交换cookie后,攻击者想发送多个不同的伪造IP地址和同一对cookie进行Diffie-Hellman交换消息,被攻击者会将这类信息轻易丢弃,因为cookie不与这些伪IP地址对应。攻击者必须为每一个伪IP进行一次cookie交换,而且必须接收被攻击者发出的响应者cookie消息,由于IP地址是伪造的,这将是开销很大的被动窃听。Cookie消息机制不能从根本上保证防御DoS攻击,但它能让攻击者增大发起DoS的代价,是一种被动防御方式。第3章密钥分配与管理技术3.1密钥分配技术(2)中间人攻击(ManInTheMiddleAttack)Diffie-Hellman交换最大的不足是它易遭受中间人攻击。在这种攻击中,攻击者在发起者面前模仿响应者,而在响应者面前模仿发起者。则攻击者共享发起者和响应者的秘密。第3章密钥分配与管理技术3.1密钥分配技术但在IKE提供对共享秘密的认证后,便能有效的防范此类攻击,攻击者无法提供让通信双方认可的认证消息。IKE提供了三种认证方式:预共享密钥、数字签名、公钥加密第3章密钥分配与管理技术3.1密钥分配技术在预共享密钥认证中,通常通过发起者身份Idi和响应者身份Idr来对应共享密钥表,但在IKE的主模式PSKEY只能通过发起者和响应者的IP地址确定,所以主模式下的预共享密钥认证必须在发起者和响应者的IP地址固定才能实施。但是在野蛮模式下,可以通过Idi和Idr来确定PSKEY。野蛮模式没有提供身份保密。第3章密钥分配与管理技术3.1密钥分配技术签名认证是最具推广性的认证方式,但是如何对方的公钥一直是个难题。基于证书的数字签名认证,可以与PKI对应起来,组建PKI的VPN,通过可信的第三方签发的证书来获取对方的公钥。IKE将基于证书的数字签名认证作为可选项。数字签名认证提供了不可抵赖性,因为数字签名可以作为证实特定实体的证据,这也是其它两种认证方式不能提供的能力。第3章密钥分配与管理技术3.1密钥分配技术公钥加密认证采用对方的公钥对身份信息Idi/r和随机数Ni/r进行加密,因为Ni/r也为种子密钥贡献过力量,所以公钥加密认证比前两种方式Ni/r均采用明文传递要安全。不足的是它需要代价高昂的两次公共密钥加密运算。同时它有一部分容易抵赖的特性,也就是说每一方都可以否认它曾是一次交换的参与者,因为双方完全可以重建双方交换的信息。第3章密钥分配与管理技术3.1密钥分配技术2.IKE协商模式的安全IKE的主模式的安全主要基于Diffie-Hellman交换的安全,增加了部分抗DoS攻击能力和身份认证能力。此外它还额外提供了身份保护——IDi/r都是加密后传输,和ISAKMP协商能力——保护套件经过双方协商。第3章密钥分配与管理技术3.1密钥分配技术IKE的野蛮模式以降低安全强度的代价来提高IKE的协商速度。野蛮模式不提供身份保护,也没有利用ISAKMP协商能力——保护套件由发起者直接确定。第二阶段的快速模式,用第一阶段生成的加密密钥SKEYIDd衍生出用于IPSecSA的加密密钥:NEWKEY=hashfunc(SKEYIDd,protocol|SPI|Ni|Nr)第3章密钥分配与管理技术3.1密钥分配技术每个IPSecSA通过安全参数索引SPI和随机数Ni、Nr使自己的密钥独一无二。但是所有的密钥都与SKEYIDd有关联,如果攻击者能够在第一阶段判断出SKEYIDd,那么由SKEYIDd衍生的密钥将变的不再安全。IKE因此提供了PFS(PerfectForwardSecrecy),完美向前保护的选项。就是再一次进行Diffie-Hellman交换,生成新的共享秘密K。而新的IPSecSA加密密钥将