2.3.1 基于共享密钥系统的密钥管理方法及技术

2.3.1 基于共享密钥系统的密钥管理方法及技术

密钥必须经常更换,这是安全保密所必需的。否则,即使采用很强的密码算法,时间一长,攻击者截获的密文越多,破译密码的可能性就越大。密钥管理是在参与通信的各方中建立密钥并保护密钥的一整套过程和机制。密钥管理包括密钥产生、密钥注册、密钥认证、密钥注销、密钥分发、密钥安装、密钥储存、密钥导出及密钥销毁等一系列技术问题。密钥管理的目的是确保使用中的密钥是安全的,即保护密钥的秘密性,保护密钥的可鉴别性,防止非授权使用密钥。许多标准化组织提出了一些密钥管理技术的标准,如ISO11770-X和

IEEE1262。

1.密钥生命周期

每个密钥都有其生命周期,有其自身产生、使用和消亡的过程。在密钥的生命周期中有4个主要的状态:即将活动状态(Pending Active)、活动状态(Active)、活动后状态(Post Active)和废弃状态(Obsolete)(如图2-10所示)。在即将活动状态中,密钥已经生成,但还未投入实际使用。活动状态是密钥在实际的密码系统中使用的状态。在活动后状态中,密钥已不能像在活动状态中一样正常使用了,如只能用于解密和验证。废弃状态是指密钥已经不可使用了,所有与此密钥有关的记录都应被删除。

图2-10 密钥的生命周期

密钥安全概念有两级:第一级密钥是长期的密钥,称为主密钥;第二级密钥是和一次会话有关,称为会话密钥。密钥建立是指参与密码协议的双方都得到可用的共享密钥的过程。密钥建立是一个复杂的过程,它与传输信道是否可信、参与协议各方的信任关系及使用什么样的密码技术等因素有关。参与协议的各方可能用直接或间接的方式进行交流,可属于同一个信任域,也可属于不同的信任域,可能使用可信第三方(Trusted Third Party,TTP)提供的服务,也可能不使用可信第三方提供的服务。

2.点对点的密钥建立

最常见的密钥建立模型是点对点的密钥建立模型(Point-to-Point Key Establishment),如图2-11所示。如果使用对称密码技术,在点对点的密钥建立模型中,要求在建立密钥之前参与协议的双方事先共享一个对称密钥,以便使用此共享的对称密钥来保护建立密钥时双方的通信。如果使用公钥密码技术,那么参与协议双方也要事先知道对方的公钥。

图2-11 点对点的密钥建立模型

一旦用户和可信第三方之间建立了共享密钥,就可以使用可信第三方的帮助,在任何两个互不认识的用户之间建立一个共享密钥。

3.同一信任域中的密钥建立

参与密钥建立的Alice和Bob处在同一信任域内,可信第三方TTP提供密钥的产生、密钥的鉴别、密钥的分发等服务。发送者Alice和接收者Bob分别与可信第三方TTP共享一个密钥。设Alice与TTP的共享密钥为kAT,Bob与TTP的共享密钥为kBT,Alice和Bob 可以有两种途径建立密钥。

(1)方案1

Alice产生与Bob的共享密钥kAB,将密钥kAB用Alice与TTP的共享密钥kAT加密后传送给TTP。TTP用与Alice共享的密钥kAT解密后得到kAB,再用与Bob共享的密钥kBT加密kAB,然后把加密的结果传给Bob,或者把加密的结果传给Alice再由Alice传给Bob(如图2-12所示)。Bob用与TTP共享的密钥kBT解密后得到kAB

图2-12 方案1密钥建立过程

(2)方案2

Alice要求TTP产生密钥kAB,TTP产生密钥kAB后分别用与Alice共享的密钥kAT和与Bob共享的密钥kBT加密kAB,然后把加密的结果分别传给Alice和Bob,或者都传给Alice再由Alice传送给Bob(如图2-13所示)。Alice和Bob分别用与TTP共享的密钥kAT和kBT解密后得到kAB

图2-13 方案2密钥建立过程

4.多个信任域中的密钥建立

若参与密钥建立的Alice和Bob处在不同的信任域中,如何进行密钥的建立呢?每个信任域都有各自不同的安全策略,如果可信第三方TTPA和TTPB之间存在信任关系,如共享某个密钥,则Alice和Bob可以通过一系列可信任的通信来建立Alice和Bob之间的共享密钥。

设Alice处在信任域A中,TTPA是信任域A中的可信第三方,Bob处在信任域B中,TTPB是信任域B中的可信第三方,Alice和TTPA之间的共享密钥为kAT,Bob和TTPB之间的共享密钥为kBT,TTPA和TTPB之间存在共享密钥kPAB(如图2-14所示)。

图2-14 多个信任域中的密钥建立模型

Alice和Bob的密钥建立过程如下。

(1)Alice产生与Bob的共享密钥kAB,将密钥kAB用Alice与TTPA的共享密钥kAT加密后传送给TTPA。

(2)TTPA用与Alice共享的密钥kAT解密后得到kAB,再用与TTPB共享的密钥kPAB加密kAB,然后把加密的结果传给TTPB。

(3)TTPB用与TTPA共享的密钥kPAB解密后得到kAB,再用与Bob共享的密钥kBT加密kAB,然后把加密的结果传给Bob。

(4)Bob用与TTPB共享的密钥kBT解密后得到kAB

5.Shamir三次密钥传递协议

Shamir设计了一种三次传递协议,使Alice和Bob无须事先交换任何密钥即可进行保密通信。这里假设存在一种可交换的对称密码算法,即存在

EA(EB(m))=EB(EA(m))

Shamir三次密钥传递协议如下(如图2-15所示)。

图2-15 Shamir三次密钥传递协议

(1)Alice用自己的密钥加密key得到密文c1:=EA(key),将密文c1传给Bob。

(2)Bob用自己的密钥加密c1得到密文c2:=EB(EA(key)),将密文c2传给Alice。

(3)Alice用自己的密钥解密c2得到

c3:=DA(EB(EA(key))):=DA(EA(EB(key))):=EB(key)

将c3传给Bob。

(4)Bob用自己的密钥解密c3得到key。