1.6.2 密钥管理
密钥生命周期如图1-7所示。密钥管理是密码技术应用中的核心任务之一,良好的密钥管理是保证密码系统安全性的基础。在我国的商用密码应用的安全性评估过程中,密钥管理是一项关键的评估项。
图1-7 密钥生命周期
密钥管理是对密钥在其生命周期内的各阶段进行管理,内容如下:
● 密钥生成:使用密码学安全的随机数生成算法生成密钥。密钥的长度和生成算法直接影响密钥空间的复杂度和安全强度。
● 密钥注册:将新生成的密钥加入密钥管理系统中,以正式启用该密钥。注册过程会为新密钥分配一个唯一的标识符(ID),并记录密钥的元数据。在判断新密钥符合系统的密钥策略之后,新密钥加入密钥管理系统中,与其ID和元数据关联起来。
● 密钥分发:将密钥分发给需要进行加密/解密或身份认证的各个实体。常用的分发方式有手工录入、电子分发、Diffie-Hellman协商等。
● 密钥使用:密钥使用是密钥适用期内发挥密钥作用并确保加解密有效的过程。根据密钥建立协议的类型,密钥可能是临时的(会话密钥),并且需要在数字证书到期时撤销。
● 密钥存储:对生成和分发的密钥进行安全存储。可以存储在硬件安全模块、IC卡、文件等之中。存储安全性也影响整体的密钥安全。
● 密钥归档:对过期或撤销的密钥进行归档存储,这有利于后续进行审计或调查工作。需保证归档密钥的安全。
● 密钥备份:出于容灾和恢复目的,进行密钥的备份存储。需保证备份密钥的安全。
● 密钥恢复:授权实体从备份或归档中获取或重建密钥。
● 密钥轮换(更新):为了降低密钥被破解的风险,需要对密钥进行定期更新。密钥的更新需要在整个系统中同步进行。
● 密钥挂起:暂时禁止使用某个密钥,使其失效。当密钥存在安全隐患或需要临时禁用时,可以进行挂起操作。挂起后的密钥不能被用于加密、解密、签名等密码运算,但其本身并不会被删除。
● 密钥撤销:撤销或者废除一个密钥。对于那些已知或怀疑已泄露的密钥,需要立即进行撤销,从系统中删除,以防止其继续被使用。
● 密钥销毁:在一个密钥的生命周期结束时,安全地销毁该密钥。它是密钥管理的最终步骤,目的是确保该密钥不再被任何人使用,这一过程涉及对密钥的软件副本、硬件副本进行销毁,防止其泄露造成损害。
密钥管理涉及密钥在整个生命周期内的各个方面,直接决定着密码系统或信息系统的安全性。在实际运用中,需要制定全面的密钥管理政策,指定密钥的生命周期、使用范围以及各过程的操作规程。在密钥的整个生命周期内,对它的管理都需要进行过程记录并进行审计,特别是要定期审计密钥的使用情况、密钥是否在授权范围内进行了更新或访问等。这有助于及时发现密钥使用异常并进行整改。
作为信息安全的基石,密钥管理工作面临很多挑战。密钥生命周期中的任何一个环节出现纰漏,都会有密钥泄露的风险。这些工作的管理成本高,人为操作风险大等,因而未来需要寻求更加自动化和智能化的管理手段。