密钥管理涵盖了密钥的整个生命周期,涉及它的产生、使用、存储、备份与恢复、更新、销毁以及撤销等。为了方便进行审计,密钥管理各个过程都要记录日志。
1.密钥的产生
为了防止对密钥的非授权访问,密钥必须在安全环境中生成。客户端分散生成和密钥分配中心集中生成是密钥生成的两种方式。下表是这两种方式的优缺点对比。
为了避免弱密钥,防止被猜测分析出来,密钥需要具有包括长周期性、非线性、统计意义上的等概率性以及不可预测性等的足够的随机性。但真正的随机序列是无法用计算机模拟产生的,目前常采用的是物理噪声源方法,来产生足够随机的伪随机序列。
密钥的另一个要求是要够长。密钥长度多少需考虑多方面的要素,包括数据价值,数据安全期,攻击者的资源情况、计算机的性能和加密算法的发展等。
2.密钥的存储
密钥的安全存储是要确保密钥在存储状态下的保密性、真实性和完整性。密钥安全存储的原则是不允许密钥以明文形式出现在密钥管理设备之外。例如,可以通过将密钥以明文形式存储在安全的IC卡或智能卡中,由专人保管,使用时插入设备中。如果无法做到,必须用另一个密钥加密来保护该密钥,或由一个可信方来分发。
安全可靠的存储介质是密钥安全存储的物质条件,安全的访问控制机制是管理条件。
3.密钥的备份和恢复
密钥的备份本质上也是一种密钥的存储。为了防止密钥遭到毁坏造成数据丢失,进一步确保密钥和加密数据的安全,可利用备份的密钥恢复出原来的密钥或被加密的数据。密钥备份有以下原则:
一般采用高级密钥保护低级密钥的密文形态进行备份,以减少明文形态的密钥数量。
对于高级密钥,一般采用多个密钥分量的形式进行备份(不能采用密文形态备份),即把密钥通过门限方案分割成几部分,每个密钥分量备份到不同的设备或地点,并且指定专人负责。
密钥的备份应当考虑方便恢复,密钥恢复要遵循安全的规章制度且经过授权。
4.密钥的更新
密钥更新是密钥管理的基本要求,无论密钥是否泄漏,都应该定期更新,为防止攻击者在长时间内通过截获大量的密文来分析出密钥,会话密钥应当频繁更换。密钥加密密钥无须频繁更换,而主密钥可有更长的更换时间。
5.密钥的销毁和撤销
密钥使用时间越长,它泄露的可能性就越大。如果密钥已经泄露,又没有被使用者察觉,那么密钥使用越久,损失就会越大。
因此对任何密钥的使用,都必须像身份证、护照一样设置有效期。当密钥超过有效期或停止使用后,应该对该密钥进行销毁,以禁止攻击者通过观察数据或从抛弃的设备中确定旧密钥值。
从法律上,密钥的撤销是取消密钥与密钥拥有者之间的关联,解除实体对密钥使用过程中应承担的义务,密钥的撤销的同时意味着密钥也被销毁。