Лучшие практики для работы с зашифрованными данными в MSSQL

У меня есть некоторые данные в моей пользовательской базе данных, которые я предпочел бы зашифровать. Большую часть данных необходимо будет расшифровать по запросу, но есть также пароли, которые могут оставаться зашифрованными (в старые времена мы использовали pwdcompare, но я считаю, что сейчас это устарело).

Я следовал за шагами здесь, таким образом, я теперь успешно зашифровал свои данные.

Что я не понимаю, так это правильный способ открыть главный ключ во время выполнения, чтобы зашифровать / расшифровать данные. Если я хочу использовать хранимые процедуры для извлечения зашифрованных данных, как мне открыть главный ключ? Я передаю пароль главного ключа, используя сохраненный параметр proc?

1 ответ

Решение

Как я понял, вы должны создать главный ключ один раз (вы можете сделать это во время процесса установки), и это первый и последний раз, когда требуется пароль. После этого с помощью мастер-ключа создайте ключ шифрования (симметричный или асимметричный) без пароля и используйте его для шифрования / дешифрования ваших данных. Вам не нужно давать пароль для этого, все, что вам нужно, это использовать свой ключ шифрования и иметь разрешение CONTROL на него. Единственная проблема заключается в том, что у вашего администратора тоже может быть это:)

Смотрите эту статью: Использование асимметричного шифрования и цифровых подписей в базе данных SQL Server 2005

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