高效且实时的证书认证系统解析
1. 现有证书吊销相关概念与系统
- 证书吊销列表(CRL) :是由证书颁发机构(CA)签名的,包含序列号、发行日期和到期日期的简单声明。它由一系列已吊销但尚未过期的证书序列号、时间戳和其他信息组成。验证证书签名后,为确定证书是否仍然有效,需向目录查询最新的CRL副本,目录需完整发送该CRL。当吊销证书的到期日期到达,其序列号可从CRL中移除。
- 证书吊销系统(CRS)
- CRS1 :Micali的方案之一,使用离线/在线签名方案,通过单向函数f更新签名。选择随机值y0,将f k(y0)存储在证书中,签名可更新k次,第i次更新发布f k - i(y0)值作为证书新鲜度证明。验证证书签名后,向目录查询最新更新值以确定证书有效性。该方案查询通信成本低,但CA到目录的通信成本高,验证时间与证书自颁发以来的更新次数成正比,限制了证书的生命周期和更新率。多数后续方案可与CRS1结合以实现通信/新鲜度的权衡。
- CRS2 :同样是Micali的方案,利用Merkle树提供证书吊销状态信息。为每个有效证书的序列号分配两位,指示其是否已颁发和是否已吊销,这些位存储在树的叶子节点中,每个父节点存储子节点值的哈希值,根节点由CA签名。验证证书签名后,向目录查询从证书叶子节点到根节点路径上的哈希值和根节点的签名,然后检查叶子节点的相应位、验证哈希值和根节点签名。查询通信复杂度与证书数量呈对数关系,加上一个签名的长度。CA到目录的通信仅包括更改的叶子节点值和新的根节点签名。不过