Назад | Перейти на главную страницу

Насколько хорошо haproxy масштабируется для обработки аутентификации сертификата клиента?

Поскольку это вопрос о проблеме безопасности, связанный с производительностью, некоторые люди из отдела информационной безопасности предложили опубликовать здесь:

Моя компания, занимающаяся IoT, хотела бы использовать аутентификацию сертификата клиента для защиты связи между каждой «вещью» и центральным сервером. Мы развертываем около 30 тысяч объектов в год, и их срок службы составляет около 5 лет, поэтому наше серверное решение должно поддерживать 150-200 тысяч сертификатов одновременно. Читая и спрашивая другие вопросы, похоже, лучшее решение - EJBCA, который, кажется, неплохо масштабируется, но я также вижу, что haproxy (теоретически) тоже может это делать.

У меня такой вопрос: насколько хорошо haproxy масштабируется для обработки большого количества клиентских сертификатов и подключений?

Чтобы прояснить возможное заблуждение, довольно популярно среди людей, которые узнали о парах открытого / закрытого ключей. Сертификат - это нечто большее, чем открытый ключ. Даже если у вас есть 30000 различных закрытых ключей на устройствах, которые с вами разговаривают, на вашей стороне 30000 открытых ключей вам не нужны. Или 30000 штук чего угодно. Вам понадобится 1 штука. Прелесть криптографических подписей заключается в том, что вы можете аутентифицировать огромное количество закрытых ключей, когда единственное, что вы знаете, - это всего лишь один сертификат (называемый сертификатом CA), и у вас даже нет всех их открытых ключей.

Иногда есть еще несколько сертификатов CA, чтобы обеспечить длительные миграции / обновления, совместимость с иностранными системами и т. Д., Но теоретически одного достаточно.

В этом контексте фактический ответ на вопрос: haproxy будет очень хорошо масштабироваться в вашей ситуации, как и любое другое программное обеспечение. Пока вы используете только несколько сертификатов CA, вы не заметите никакой разницы, аутентифицирует ли haproxy 30 закрытых ключей, 30 000 приватных ключей или 300 000 приватных ключей.