为了防止密钥托管代理滥用职权及托管密钥被泄漏,用户的私钥被分解成若干部分,由不同的密钥托管代理负责保存。只有将所有的私钥分量合在一起,才能恢复用户私钥的有效性。
进行密钥托管的步骤如下:
(1)用户选择若干个密钥托管代理,分给每一个代理一部分私钥和一部分公钥。托管代理根据所得到的密钥分量产生相应的托管证书。证书中包括该用户的特定标识符(UID:Unique Identify)、被托管的那部分公钥和私钥、托管证书的编号。密钥托管代理还要用自己的签名私钥对托管证书进行加密,产生数字签名,并将其附在托管证书上。
(2)用户收到所有托管证书后,将证书和完整的公钥递交给证书授权认证中心,申请加密证书。
(3)证书授权认证中心检验每份托管证书的真实性,即是否每一个托管代理都保管了一部分有效的私钥分量,并对用户身份加以确认。完成所有的验证工作后,证书授权认证中心生成加密证书,发送给用户。
司法部门利用密钥托管对信息的强制访问
在必要时,司法部门可利用密钥托管代理,通过数据恢复域实现对通信内容的强制访问。
司法部门在取得授权后,首先监听并截获可疑信息,利用数据恢复域中发送者的加密证书获得发送者的托管代理标识符及其对应的托管证书号,然后把自己的授权证书和托管证书号交给相应的密钥托管代理。密钥托管代理检验授权证书的真伪,并在确认真实无误后向司法部门发送自己保管的那部分私钥。在收集了所有的私钥成分后,司法部门就能恢复出发送者的私钥,再结合接收者的公钥及时间戳,就能破解会话密钥,进而破解整个密文。这个密文既可以是一个特殊加密的通信会话,也可以是一个加密存储的文件。由于密钥托管不参与通信过程,所以在通信双方毫无察觉的情况下,司法部门就能审查通信内容。
密钥托管系统的安全和成本
任何一个密钥托管系统,都可能发送涉及到成千家公司和密钥托管代理机构,甚至要求世界范围内的法律执行部门进行合作。并且,随着用户级加密软件和硬件性能的提高。密钥恢复也相应地增加了难度。密钥恢复使用到的实体数量和复杂性,对整个系统的安全和成本有很重要的影响。
密钥托管系统的成本包括:密钥恢复机构的操作成本、产品设计和工程代价、政府监督费用等。在密钥托管系统的设计与实现方面,任何一个潜在的漏洞都可能让非法用户获取相应数据的企图得逞。密钥恢复机制的操作一旦失败,除了不能满足法律执行部门的要求之外,还可能危害到其它正常的操作,甚至整个加密系统的最终安全,如密钥被非法泄漏、有价值密钥信息被窃取。
此外,密钥恢复基础设施本身具有一些被非法用户认为极有攻击价值的目标,如以集中方式存储的通信密钥及有关信息的数据库。当用户需要发送密钥给密钥恢复机构时,许多密钥恢复系
统要求用户先用代理机构的公钥在本地对密钥加密。如果密钥恢复中心只有一个这样的密钥,那么这个密钥就具有关系全局的价值,但从安全角度上看是一个弱点。当然,为