1.5 密钥管理
密钥是密码系统的核心,保护密钥至关重要。密钥管理是指密钥全生命周期的管理,涉及密钥的产生、分发、存储、使用、更新、归档、撤销、备份、恢复和销毁等环节。有效的密钥管理是确保数据安全、防止未经授权的访问与避免数据泄露的关键。
密钥管理需对密钥的整个生命周期进行保护。密钥的生命周期指密钥经历的一系列状态,具体如下。
1)待激活:在待激活状态,密钥已生成,但尚未激活使用。
2)激活:在激活状态,密钥用于加密、解密或验证数据。
3)挂起:在挂起状态,密钥仅用于解密或验证。
若明确某个密钥已受到威胁,应立即将密钥状态变为挂起状态,之后该密钥仅可用于解密或验证状态变化前收到的数据,不可用于其他场景。需要注意的是,确定受到威胁的密钥不能被再次激活。当密钥确定受到未经授权的访问或控制时,可认为该密钥受到威胁。密钥生命周期中的状态如图1-6所示。
图1-6 密钥生命周期中的状态示意
密钥的有效性应在时间和使用次数上受到限制。用于派生密钥的原始密钥比生成密钥需要更多的保护,同时应避免密钥乱用,如使用密钥的加密密钥去加密数据等。
密钥状态转换指密钥从一个状态迁移到另一个状态。密钥状态如下。
1)生成:应根据指定的密钥生成规则生成密钥。密钥生成过程中使用的随机数生成器应满足相关标准。
2)激活:使密钥有效,可用于密码运算。
3)释放:限制密钥的使用,密钥过期或被撤销都会发生这种情况。
4)再激活:允许挂起的密钥重新用于密码运算。
5)销毁:终止密钥的生命周期,包括对密钥的逻辑销毁,也可包括物理销毁。
密钥状态转换由以下事件触发:需要新密钥、密钥受威胁、密钥过期、密钥生命周期结束等。密钥管理涉及多种密钥状态转换与服务。
1)对称密码技术:密钥生成后,从待激活状态到激活状态的转换包括密钥安装,也可包括密钥的注册和分发。在某些情况下,安装涉及派生一个特殊的密钥。密钥的生命周期应限制在一个固定的期限内。通常,释放终止激活状态是因为密钥过期。如果发现处于激活状态的密钥受到威胁,撤销该密钥可使它进入挂起状态。一个处于挂起状态的密钥可被归档。如果在某些条件下需再次使用已归档的密钥,它将被再激活,在它完全激活前,可能需再次安装和分发;否则,释放后,密钥可能会被注销和销毁。
2)非对称加密技术:密钥(公钥和私钥)对生成后会进入待激活状态。注意,这对密钥的生命周期有关联但不相同。在私钥进入激活状态之前,注册和分发给用户是可选的,但安装是必需的。私钥在激活状态和挂起状态间的转换,包括释放、再激活和销毁,与上述对称密钥的情形类似。当签发公钥时,通常由CA生成一个包含公钥的证书,以确保公钥的有效性和所有权。该公钥证书可放在目录中或其他类似服务中用于分发,或传回给所有者进行分发。当所有者发送用其私钥签名的数据时,也可附上证书。一旦公钥被验证,该密钥对就进入激活状态。当密钥对用于数字签名时,在私钥释放或销毁后,相应的公钥可能不定期地处于激活状态或挂起状态。为了验证相关私钥在原定的有效期内产生的数字签名,我们可能需要访问公钥。当采用非对称技术实现保密服务,且用于加密的密钥已释放或被销毁时,密钥对中的密钥仍可能处于激活或挂起状态,以便后续的解密。对于签名密钥,对应的公钥将处于激活或挂起状态;对于加密密钥,对应的私钥将处于激活或挂起状态。