HSM - криптоки - накладные на открытие сессий - PullRequest
3 голосов
/ 15 июня 2010

У меня запрос на сеансы с HSM.

Мне известно, что возникают издержки, если вы инициализируете и завершаете API-интерфейс cryptoki для каждого файла, который хотите зашифровать / расшифровать.

Мои запросы:

  1. Есть ли издержки при открытии и закрытии отдельных сеансов для каждого файла, который вы хотите зашифровать / расшифровать. (C_Initialize / C_Finalize)

  2. Сколько максимальное количество сеансов я могу иметь для HSM одновременно, без ущерба для производительности?

  3. Является ли открытие и закрытие сеанса для обработки отдельных файлов лучшим подходомили открыть сеанс и обработать несколько файлов, а затем закрыть сеанс наилучшим способом?

Спасибо

Ответы [ 3 ]

1 голос
/ 15 июня 2010

Прежде всего, PKCS # 11 spec имеет довольно обширную документацию по общему обзору потоков, приложений и сеансов.

Во-вторых, это зависит от вашего оборудования HSM и модуля PKCS # 11реализация.Как ваш провайдер PKCS # 11 представляет слоты?Вы используете один и тот же ключ все время?Каковы механизмы аутентификации для ключа?

  1. Как использовать C_Initialize (и C_Finalize) подробно рассматривается в спецификации PKCS # 11
  2. Количество сеансов зависит от PKCS # 11реализацию, см. ulMaxSessionCount в CK_TOKEN_INFO

Попробуйте с одним сеансом.Вы уверены, что вашим узким местом будет обработка сеанса?

0 голосов
/ 17 июня 2010

Есть накладные расходы на сессиях открытия и закрытия (из моих экспериментов). Лучше не открывать отдельные сессии для каждого файла.

Обновление: от моего поставщика:

Нет предела или указанного количества сеансов, которые вы можете открыть на токене, однако это может быть много тысяч.

Это зависит от того, что вы делаете и как оно потребляет ОЗУ устройства. Открытие слишком большого количества сеансов и создание слишком большого количества объектов сеансов, достигающих предела, который может вместить ОЗУ, определенно повлияет на производительность устройства.

Спасибо

0 голосов
/ 15 июня 2010

Лучше всего определенно открывать сессию один раз за запуск приложения. То есть нет смысла закрывать сеанс во время работы вашего приложения - сеанс является частным для вашего приложения, и никакое другое приложение не может использовать его для доступа к устройству и его использования, если вы открыли сеанс.

...