#database #encryption #data-protection
#База данных #шифрование #защита данных
Вопрос:
Я собираюсь хранить конфиденциальные данные, такие как SSN и номера банковских счетов, в своей базе данных SQL Server. База данных расположена на сервере, отдельном от того, где выполняется код приложения, и у меня есть группы безопасности, настроенные так, чтобы разрешать входящий доступ к серверу БД только с моего IP-адреса сервера приложений. Я уже внедрил API IDataProtector и использую его для хранения зашифрованных паролей в моей БД, поэтому я собирался использовать это для хранения SSN и банковской информации.
Но сегодня я прочитал о Always Encrypted, который представляет собой метод на основе SQL Server, который вы можете использовать для шифрования определенных столбцов. Со страницы Microsoft: «Always Encrypted позволяет клиентам шифровать конфиденциальные данные внутри клиентских приложений и никогда не раскрывать ключи шифрования для ядра базы данных (базы данных SQL или SQL Server). В результате Always Encrypted обеспечивает разделение между теми, кто владеет данными и может их просматривать, и теми, кто управляет данными, но не должен иметь доступа «.
Если меня больше всего беспокоят хакеры, проникающие в мою БД и крадущие данные, какой из этих методов более безопасен? Главный ключ для Always Encrypted будет храниться в хранилище сертификатов Windows на сервере приложений. Я, честно говоря, не знаю, где хранятся ключи для IDataProtection, поскольку прошло некоторое время с тех пор, как я его настроил. У меня нет ничего явного при запуске в службах.AddDataProtection() .
Ответ №1:
После долгих исследований я думаю, что пока я использую Data Protector. Основным моментом принятия решения было то, что я не хочу использовать Azure Key Vault для централизованного хранения ключей, а Always Encrypted не предлагает много альтернатив.
Я обнаружил, что не могу использовать хранилище сертификатов Windows для основных ключей столбцов, потому что мои экземпляры EC2 находятся на балансировщике нагрузки / автоскейлинге, и поэтому среда Windows может быть перестроена в любое время и потерять ключи.