常规加密密钥的分配有几种方案,请对比一下它们的优缺点。
1集中式密钥分配方案
由一个中心节点或者由一组节点组成层次结构负责密钥的产生并分配给通信的双方,在这种方式下,用户不需要保存大量的会话密钥,只需要保存同中心节点的加密密钥,用于安全传送由中心节点产生的即将用于与第三方通信的会话密钥。这种方式缺点是通信量大,同时需要较好的鉴别功能以鉴别中心节点和通信方。目前这方面主流技术是密钥分配中心KDC技术。我们假定每个通信方与密钥分配中心KDC之间都共享一个惟一的主密钥,并且这个惟一的主密钥是通过其他安全的途径传递。
2分散式密钥分配方案
使用密钥分配中心进行密钥的分配要求密钥分配中心是可信任的并且应该保护它免于被破坏。如果密钥分配中心被第三方破坏,那么所有依靠该密钥分配中心分配会话密钥进行通信的所有通信方将不能进行正常的安全通信。如果密钥分配中心被第三方控制,那么所有依靠该密钥分配中心分配会话密钥进行进信的所有通信方之间的通信信息将被第三方窃听到
3密钥的产生需要注意哪些问题?
算法的安全性依赖于密钥,如果用一个弱的密钥产生方法,那么整个系统都将是弱的。DES有56位的密钥,正常情况下任何一个56位的数据串都能成为密钥,所以共有256种可能的密钥。在某些实现中,仅允许用ASCII码的密钥,并强制每一字节的最高位为零。有的实现甚至将大写字母转换成小写字母。这些密钥产生程序都使得DES的攻击难度比正常情况下低几千倍。因此,对于任何一种加密方法,其密钥产生方法都不容忽视。
大部分密钥生成算法采用随机过程或者伪随机过程来生成密钥。随机过程一般采用一个随机数发生器,它的输出是一个不确定的值。伪随机过程一般采用噪声源技术,通过噪声源的功能产生二进制的随机序列或与之对应的随机数。
4KDC在密钥分配过程中充当何种角色?
KDC在密钥分配过程中充当可信任的第三方。KDC保存有每个用户和KDC之间共享的唯一密钥,以便进行分配。在密钥分配过程中,KDC按照需要生成各对端用户之间的会话密钥,并由用户和KDC共享的密钥进行加密,通过安全协议将会话密钥安全地传送给需要进行通信的双方。