Шифрование и хранение конфиденциальных данных в SQL Server 2008 - PullRequest
1 голос
/ 06 января 2011

Рассмотрим следующее изображение, на котором показана иерархия шифрования, используемая в SQL Server.Обратите внимание на первый синий блок, в котором говорится, что SMK зашифрован с использованием DPAPI .DPAPI использует учетные данные пользователя (+ еще), зашедшие в систему, для шифрования данных, поэтому он зависит от компьютера.Это означает, что SMK (а также DMK и любой производный пароль) будут зависеть от компьютера (на самом деле он генерируется установкой SQL Server).OTOH, я могу создать / сделать резервную копию сертификата X.509 в SQL Server (используя CREATE CERTIFICATE, BACKUP CERTIFICATE и т. Д.).

Сценарий / вопрос:

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

ЯИнтересно, как мне восстановить резервную копию на другом компьютере, если SMK относится к текущему экземпляру SQL Server?Что я должен сделать, чтобы получить доступ к этим зашифрованным данным после их восстановления на другом компьютере?

ОБНОВЛЕНИЕ: Поправьте меня, если я ошибаюсь!Мы могли бы использовать команду BACKUP SERVICE MASTER KEY TO FILE для поддержки текущего используемого SMK.Этот ключ, однако, может быть восстановлен на любом другом SQLServer (в / из того же компьютера) с помощью команды RESTORE SERVICE MASTER KEY FROM FILE.Когда SMK восстанавливается, он снова шифруется с использованием DPAPI, так что сам ключ может храниться где-то на машине.

Любая помощь будет принята с благодарностью,

Encryption Hierarchy

1 Ответ

0 голосов
/ 10 января 2011

Диаграмма показывает, что сертификат может быть защищен либо DMK, либо паролем. Если вы защищаете его только паролем, он должен быть переносимым.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...