DPAPI с учетной записью службы ASP.NET

Я хочу зашифровать данные перед сохранением в базу данных. Доступ к данным контролируется приложением. Таким образом, любой, имеющий роль администратора, должен иметь возможность видеть данные. Я хочу иметь возможность защитить ключ шифрования, используемый для шифрования / дешифрования данных. Я не хочу использовать машинный ключ DPAPI, поскольку на сервере размещено несколько приложений.

Мне было интересно, возможно ли создать учетную запись службы и использовать учетные данные этой учетной записи для шифрования ключа в файле web.conf ig.

Спасибо

1 ответ

Хорошо, ответ вроде да и нет в зависимости от вашего стека..

Если вы размещены на IIS 7, вы можете просто использовать выделенный пул приложений и использовать новую функцию LoadUserProfile, которая позволит DPAPI использовать хранилище пользователей.

В IIS 6 такой функции нет, поэтому строгого ответа нет, но Microsoft предоставила хороший пример того, как получить аналогичный конечный результат. Они используют службу для шифрования / дешифрования, так как диспетчер управления службами Windows загружает профиль пользователя (что позволяет DPAPI работать).

Это довольно длинное чтение, но оно должно сработать:

Создание безопасных приложений ASP.NET: аутентификация, авторизация и безопасная связь

Другие вопросы по тегам