为什么 CA 的发行速度取决于他们已经发行的证书数量?

信息安全 证书颁发机构 运行
2021-08-31 06:12:43

我已经看到了长时间攻击 CA 并测量其吞吐量(颁发的证书/秒)的专有测试结果。发现随着其数据库/撤销列表大小的增长,CA 颁发新证书的速度变慢(专有工作,遗憾的是没有结果可链接)。例如,一些企业基础架构 CA(例如:S/MIME)因数据库中大约 100,000 个证书而陷入困境。EJBCA 陷入了大约 100 万个证书等问题。

我的问题是:数据库可以轻松处理数百万行的快速查找/插入,那么证书颁发有什么不同?大概有某种加密正在进行,其运行时间取决于数据库的大小。

请注意,这是对此问题的评论的后续问题

1个回答

自答。

评论表明,这些结果可以解释为我们正在对非托管、一刀切的数据库进行近乎恒定的插入,并且可以通过在数据库中投入一些精力来修复它们。

在向同事提及这一点时,有人指出,出于礼貌,一些 CA 会检查您的公钥是否唯一,以防止一台服务器冒充另一台服务器。这将需要 O(log n) 搜索,或后台哈希表维护,或者在数据库变大时会使用大量 CPU 的其他东西。