1.保护私钥
用户要让私钥保密,不能让另一个用户访问,其中保护私钥的几种机制如下表所示:
机制 | 描述 |
---|---|
口令保护 | 这是最简单最常用的私钥保护机制,将私钥存放在用户计算机上的硬盘文件中。这个文件只能用口令或PIN(个人标识号)访问。由于能猜出口令就能访问私钥,因此这是保护私钥最不安全的方法。 |
PCMCIA卡 | PCMCIA(个人计算机内存国际协会)卡实际上是芯片卡,私钥存放在私钥中,不必存放在用户硬盘上。这样可以减少被盗的风险。但是,对签名和加密之类的加密应用程序,密钥要从PCMCIA卡传递到用户计算机内存中。因此,攻击者仍然可以在这个区间捕获。 |
令牌 | 令牌把私钥存放成加密格式。要解密和访问这个令牌,用户提供一次性口令,即在特定访问时有效口令,下次就无效了,要改另一个口令。 |
生物方法 | 私钥与生物特性联系,如指纹、瞳孔、声音,与令牌概念相似,但用户不必带任何东西 |
智能卡 | 智能卡把私钥存放在防伪卡中,其中也有一个计算机芯片,可以进行签名和加密之类的加密功能。这个方法最大的好处是私钥不离开智能卡,可以大大缩小攻击区间,这个方法的缺点是用户要带智能卡,要有兼容的智能卡阅读器 |
许多情况下,用户的私钥要从一个地点传输到另一个地点。例如,假设用户要改变PC机,则可以使用PKCS# 12加密标准,使用可以通过计算机文件导出数字证书和私钥。显然,数字证书和私钥转移到另一个地点时要进行保护。为此,PKCS# 12标准保证用其对称密钥加密,这个对称密钥是从用户的私钥保护口令求出的。
2.多个密钥对
在一些重要业务应用程序中使用多个数字证书,即需要多个密钥对。使用多个数字证书时,一个数字证书只用于签名,一个只用于加密,从而保证失去一个密钥时不会影响用户的整个操作。一般准则为:用于数字签名(不可抵赖)的私钥在到期之后不能备份或存档,而要销毁,保证别人不会在今后用其签名,尽管这种情况可以用CRL/OCSP检查或这个数有效期检查发现,但不能保证万无一失。相反,用于加密和解密的私钥在到期之后备份,以便今后恢复加密信息。
3.密钥更新
好的安全实施要求定期更新密钥对,因为随着时间的推移,密码分析攻击很可能破译这些密钥。可以让数字证书在经过一段时间后到期,这就要求更新密钥对。可以用下列方式处理证书到期问题:
(1)CA根据原先的密钥对重新签发新证书,这是不提倡的,除非原先的密钥对确实很强。
(2)生成新的密钥对,CA根据新的密钥对签发新证书。
密钥更新过程本身可以用两种方案处理:
(1)第一种方法是最终用户要检测证书是否到期,请求CA签发新证书。
(2)第二种方法是在每次使用时自动检查证书有效期,一旦到期就向CA发出更新请求,这时需要有特殊系统。
4.密钥存档
CA要维护用户的密钥与历史。例如,假设有人访问Alice的CA,请求CA提供Alice三年前的数字证书,签名一个法律文件,用于验证。如果CA没有存档这个证书,则无法提供这个信息,从而造成严重的法律问题。因此,密钥存档是任何PKI方案非常重要的方面。