Мы создаем систему, в которой нам придется довольно много заносить ключи OpenVPN в черный список. Отсюда вопрос: эффективен ли алгоритм OpenVPN для вычисления ключей в черный список? Сколько ключей я могу безопасно отозвать, прежде чем OpenVPN потребует слишком много ресурсов для принятия нового подключения / повторной проверки существующего?
Я считаю, что в CRL не используется криптография, а просто сравниваются данные от клиента со списком. Это должно быть очень и очень быстро.
Конечно, есть только один способ убедиться ...
Насколько я помню, когда вы используете список отзыва сертификатов (CRL), он проверяется для каждого подключающегося клиента во время подключения, и он проверяется каждый раз, когда выполняется повторное согласование TLS / SSL-соединения (что, как я полагаю, осуществляется ежечасно). Исходя из этого, я предполагаю, что вам нужно будет внести довольно значительное количество сертификатов в черный список, прежде чем это, вероятно, станет проблемой.
Подумайте, если у вас есть две тысячи подключенных клиентов со скоростью подключения / отключения 50 клиентов в минуту (эти числа просто составлены для примера, но намеренно выше, чем большинство людей увидят), тогда вы будете проверять против CRL примерно 5000 раз в час. Я полагаю, что на современном сервере OpenVPN может выполнить 5000 проверок примерно за 5 секунд, даже если приличное количество сертификатов находится в черном списке.
Я не видел и не слышал, чтобы кто-то проводил эталонное тестирование, поэтому фактическое тестирование, вероятно, единственный способ узнать наверняка. И я бы абсолютно рекомендовал настроить тестовую среду, программно сгенерировать несколько тысяч (или более) сертификатов, а затем отозвать большинство из этих сертификатов. Затем подключите несколько тестовых клиентов и посмотрите, как сервер справится с этим. Я ожидал, что OpenVPN даже не моргнет, но, вероятно, стоит проверить.