Соединение HSM постоянное или непостоянное
Я собираюсь использовать thales hsm только для шифрования / дешифрования aes с использованием http://www.pkcs11interop.net/
Но у меня есть один вопрос, поднятый в моей голове. У меня есть два способа использовать thales hsm с моим серверным приложением
Один из способов заключается в следующем: всякий раз, когда мне нужно выполнить операцию AES, откройте соединение, сделайте работу, закройте соединение.
Другой способ: открыть соединение при запуске серверного приложения, выполнить операции во время жизни серверного приложения, закрыть соединение всякий раз, когда необходимо закрыть сервер.
Итак, мой вопрос, какой путь является правильным (или предлагаемым) способом использования hsm?
1 ответ
Это полностью зависит от ваших потребностей и использования HSM. Если вы отправляете 1 сообщение за 5 минут, лучше открывать соединение для каждой операции AES и закрывать соединение после завершения работы. Обычно, если вы отправляете более 1 сообщения в минуту, у вас должны быть постоянные соединения, потому что ограниченные ресурсы соединения HSM могут быть исчерпаны за короткое время.
Настройки Thales HSM по умолчанию позволяют открывать до 64 подключений и проверять эти подключения с интервалом в 60 минут. Если соединение закрыто, оно может понять это через 60 минут.
Если вы открываете соединение для каждого запроса, вы можете за короткое время достичь ограничения в 64 соединения, и, как правило, запуск HSM больше не позволяет открывать новые соединения. Чтобы избавиться от этого, вы можете изменить настройки Hsm на 1-минутные интервалы проверки для сборки мусора соединений.
Я предлагаю использовать постоянные соединения (пул) для интенсивного использования модулей HSM и обновлять (закрывать-открывать) все соединения с интервалом в 20 минут.