![OpenVPN 撤销(CLR 黑名单)计算是否有效?我可以安全地撤销多少个密钥?](https://linux22.com/image/517162/OpenVPN%20%E6%92%A4%E9%94%80%EF%BC%88CLR%20%E9%BB%91%E5%90%8D%E5%8D%95%EF%BC%89%E8%AE%A1%E7%AE%97%E6%98%AF%E5%90%A6%E6%9C%89%E6%95%88%EF%BC%9F%E6%88%91%E5%8F%AF%E4%BB%A5%E5%AE%89%E5%85%A8%E5%9C%B0%E6%92%A4%E9%94%80%E5%A4%9A%E5%B0%91%E4%B8%AA%E5%AF%86%E9%92%A5%EF%BC%9F.png)
我们正在构建一个系统,在这个系统中,我们将不得不将大量 OpenVPN 密钥列入黑名单。因此,问题是:OpenVPN 将密钥列入黑名单的算法是否有效?在 OpenVPN 接受新连接/重新验证现有连接需要太多资源之前,我可以安全地撤销多少密钥?
答案1
我记得,当您使用证书吊销列表 (CRL) 时,它会在连接时检查每个连接的客户端,并且每次重新协商 TLS/SSL 连接时都会检查它(我相信是每小时一次)。基于此,我猜您必须将相当多的证书列入黑名单,否则这很可能成为问题。
考虑一下,如果您有 2000 个客户端连接,连接/断开率为每分钟 50 个客户端连接(这些数字纯粹是编造的,但故意高于大多数人看到的),那么您每小时将检查 CRL 约 5000 次。在现代服务器上,我认为 OpenVPN 可以在大约 5 秒内完成 5000 次检查,即使有相当数量的证书被列入黑名单。
我从未见过或听说过有人对此进行基准测试,因此实际测试可能是您唯一能确定的方法。我绝对建议设置一个测试环境,以编程方式生成几千个(或更多)证书,然后撤销其中大部分证书。然后连接一些测试客户端,看看服务器如何处理它。我预计 OpenVPN 对此不会感到惊讶,但可能值得验证。
答案2
我认为 CRL 中不涉及加密,只是将客户端的数据与列表进行比较。它应该非常非常快。
当然,只有一种方法可以确定……