Система. Net .Security.SslStream с HSM - PullRequest
0 голосов
/ 01 мая 2020

Как использовать. NET 4.8 Система. Net .Security.SslStream с внешним устройством (HSM), которое защищает частные ключи RSA, поскольку SslStream.AuthenticateAsServer требует X509Certificate с обоими открытыми / закрытыми ключами. Как я могу связать закрытый ключ X509Certificate с HSM и передать проверку SslStream на удаленное безопасное устройство?

Возможно ли это даже с помощью абстракции ssl от Microsoft или я должен полагаться на какую-то собственную реализацию ssl (библиотека с открытым исходным кодом)?

1 Ответ

0 голосов
/ 02 мая 2020

Я действительно не знаю вашу архитектуру, поэтому у меня проблемы дают хороший ответ. Он некоторые указатели 1) Когда вы что-то шифруете, вам всегда нужно расшифровать (или проверить). Таким образом, у вас всегда есть две копии закрытого ключа. Один, где он используется для шифрования, а другой, где он используется для дешифрования (или проверки)

2) Когда ключ находится в файловой системе, вы всегда можете защитить файл с помощью учетных данных. Но вы не можете помешать кому-либо удалить жесткий диск и прочитать данные в другой системе. Таким образом, HSM обеспечивает физическую защиту диска, поэтому кто-то не может прочитать ваш закрытый ключ, удалив диск. 3) Ваша система имеет красно-черную границу, где красная область - там, где данные не зашифрованы, а черная - там, где данные зашифрованы. У вас будет брандмауэр, который является разделением между красными и черными областями. В вашем случае у вас есть три области безопасности, где третья область - фиолетовая (устройство HSM), где защищен закрытый ключ.

Проблема, с которой вы сталкиваетесь, - это установка красных / черных / фиолетовых границ вашего система. У вас есть красные данные, которые должны быть зашифрованы с сертификатом, который находится на HSM. Я думаю, что у вас есть внутренняя красная сеть (или база данных) с данными, которые необходимо зашифровать с помощью сертификата перед отправкой в ​​виде зашифрованных черных данных. Поэтому я рекомендую иметь сервис на HSM, который выполняет шифрование. Таким образом, ваша красная сеть для получения данных в зашифрованном виде вы бы отправили в службу шифрования. Затем после шифрования данные могут быть отправлены брандмауэром в виде черных данных.

...