现代通信技术中需要产生大量的密钥,以分配给系统中的各个节点或实体,如果依靠人工产生密钥的方式就不能适应大量密钥需求的现状,因此实现密钥产生的自动化,可以减轻人工制造密钥的工作负担,还可避免人为因素导致的泄密。
1.密钥产生的技术
密钥的产生目前主要利用噪声源技术。噪声源的功能是产生二进制的随机序列或与之对应的随机数。它是密钥产生设备的核心部件。噪声源的另一个用途是在物理层加密的环境下进行信息填充,使网络具有防止流量分析的功能。当采用序列密码时,也有防止乱数空发的功能。噪声源还被用于某些身份验证技术中,如对等实体鉴别。为了防止口令被窃取,常常使用随机应答技术,这时的提问与应答是由噪声源控制的。
噪声源输出随机数序列,按照产生的方法分类如下。
(1)伪随机序列
用数学方法和少量的种子密钥产生周期很长的随机序列。伪随机序列一般都有良好的、能受理论检验的随机统计特性,但当序列的长度超过了唯一解距离时,就成了一个可预测的序列。
(2)物理随机序列
用热噪声等客观方法产生的随机序列。实际的物理噪声往往要受到温度、电源、电路特性等因素的限制,其统计特性常带有一定的偏向性。
(3)准随机序列
用数学方法和物理方法相结合产生的随机序列。准随机序列可以克服前两者的缺点。
物理噪声源基本上有3类:基于力学的噪声源技术、基于电子学的噪声源技术、基于混沌理论的噪声源技术。
2.密钥产生的方法
(1)主机主密钥的产生
密钥的随机性,避免可预测性。主密钥是控制产生其他加密密钥,而且长时间保持不变,因此它的安全性是至关重要的。
(2)加密密钥的产生
加密密钥构成的密钥表存储在主机中的辅助存储器中,只有密钥产生器才能对此表进行增加、修改、删除和更换密钥,其副本则以秘密方式送给相应的终端或主机。一个由n个终端用户组成的通信网,若要求任意一对用户之间彼此能进行保密通信,则需要C个密钥加密密钥。当n较大时,难免有一个或数个被敌手掌握。因此,密钥产生算法应当能够保证其他用户的密钥加密密钥仍有足够的安全性。可用随机比特产生器(如噪声二极管振荡器等)或伪随机数产生器生成这类密钥。
(3)会话密钥的产生
会话密钥可在密钥加密密钥作用下通过某种加密算法产生,如用初始密钥控制一非线性移位寄存器或用密钥加密密钥控制DES算法产生。