Связь HSM Genereall
Я новичок в HSM и не нахожу информации о подробном общении. Как работает связь между HSM и хост-приложением? Я знаю, что есть драйверы, но хочу понять, что такое дешифрование и шифрование по ключу. Как приложение может зашифровать сообщения и узнать конкретный ключ?
Спасибо за поддержку.
Ура, Хорст
2 ответа
... и я не нахожу Информации о подробном общении.
Неудивительно: по крайней мере 3 года назад, когда я работал с HSM, документы HSM были конфиденциальными или строго конфиденциальными, и не каждый клиент имел доступ ко всем документам.
Как работает связь между HSM и хост-приложением?
Я не могу здесь говорить об информации, которую я получил из конфиденциальных документов.
Однако даже при чтении руководства пользователя процессоров 27x становится ясно, что совместно используемая оперативная память используется для связи между HSM и центральным процессором.
Я знаю, что есть водитель ...
HSM - это «просто» второй ЦП на той же микросхеме, что и главный ЦП. Он имеет собственное ОЗУ и (если HSM активен) собственные области во флэш-памяти, к которым не может получить доступ основной ЦП.
«Драйвер» - это не только драйвер, но и полный код, который работает на этом втором процессоре.
Вы можете заменить этот «Драйвер» программным обеспечением, которое выполняет другие вычисления - например, 2D-графику - вместо шифрования и безопасности. В этом случае HSM будет выполнять вычисления 2D-графики вместо шифрования данных!
Вы можете спросить, почему расчет шифрования не выполняется на основном процессоре. Ответ прост:
Главный ЦП не имеет доступа к флэш-памяти или ОЗУ HSM.
Если основной ЦП взломан, хакер может считывать ОЗУ и флэш-память основного ЦП, но не может получить доступ к секретным данным (например, ключам), хранящимся в ОЗУ или флэш-памяти HSM.
Как приложение может зашифровать сообщения?
Как он знает конкретный ключ?
Конечно, это зависит от программного обеспечения («Драйвер»), которое работает на HSM.
Как правило, ключи и данные, которые должны быть зашифрованы, записываются в общую оперативную память главным процессором.
Приложение, работающее на HSM («Драйвер»), будет считывать данные оттуда.
Обычно такое приложение обеспечивает функцию хранения секретных ключей во флеш-памяти HSM (к которой не может получить доступ главный ЦП) и использования этих ключей для шифрования.
Результат (например, зашифрованное сообщение) будет помещен обратно в общую оперативную память, где центральный процессор сможет считывать данные.
Будет протокол низкого уровня, который будет чем-то вроде */IP (TCP или UDP), когда HSM находится в форм-факторе устройства, или драйвером PCIe, если это карта PCIe, или драйвером USB, когда он представляет собой форм-фактор USB.
Поверх этого будет располагаться собственный протокол связи HSM. Это протокол связи, а не криптосистема.
Помимо протокола связи, будет криптосистема. Криптосистемы на основе стандартов похожи на PKCS#11 или CAPI/CSP/CNG или JCE. HSM, вероятно, также будет иметь свою собственную собственную криптосистему, и в большинстве случаев стандартная криптосистема является просто мостом к частной системе.
Таким образом, то, как HSM подготавливает ключ для использования, и как ваше приложение использует ключ, полностью зависит от HSM и вашего приложения.
Как правило, ваше приложение:
- Войдите в систему (это может происходить более одного раза, если ваш сеанс HSM поддерживает двойное управление (или "4 глаза")).
- Найдите, откройте или подготовьте ключ для использования (разные HSM используют разные идиомы). Этот "ключ" может быть зашифрованным ("завернутым") большим двоичным объектом или может быть дескриптором ключа.
- Передайте HSM ключ, данные и флаги вместе с запросом. Подписать / проверить / зашифровать / расшифровать / обернуть / развернуть / хэш /...
HSM будет
- Примите ключ, данные, флаги и запрос операции, выполните операцию, используя или на входах, а затем отбросьте ключ и входные данные.
- Вернуть результат операции.
Вы можете использовать программный симулятор HSM (SoftHSM, CryptoServer Simulator от Utimaco GmbH), чтобы изучить, как их использовать в вашей локальной среде.