Я использую NServiceBus с MSMQ между моим веб-приложением и службой, и мне нужно иметь возможность зашифровать полезную нагрузку сообщения так, чтобы, если сообщение помещается в очередь локально на веб-сервере (узел службы не работает), конфиденциальные данные не могли быть просмотренным.
Поскольку веб-сервер является общедоступным, от меня требуется не только шифрование данных, которые могут быть в любом случае сериализованы на диск, но я также не могу сохранить ключ шифрования на веб-сервере.
Я рассмотрел использование DPAPI для хранения ключа, но, поскольку ключ будет храниться на хосте, я пока не знаю, противоречит ли это требованию или нет. Другой вариант, который я рассмотрел, заключается в том, что при запуске веб-приложения оно может запросить ключ у службы и сохранить его в памяти в течение всего срока службы пула приложений.
Раньше мне не приходилось работать с этим уровнем требований к шифрованию, и я хотел бы узнать, что делают другие, и получить отзывы об упомянутых выше идеях.