Лучшие практики для работы с зашифрованными данными в MSSQL - PullRequest
2 голосов
/ 11 февраля 2009

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

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

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

1 Ответ

1 голос
/ 18 февраля 2009

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

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

...