Я хочу зашифровать существующий столбец в SQL Server 2005 с помощью инструкции UPDATE, перемещая старый контент в новый зашифрованный столбец.Как использовать защищенное шифрование существующего столбца в SQL Server 2005
У меня есть 2 варианта: симметричный и асимметричный.
Проблема у меня есть, что с симметричным ключом, я должен вставить пароль в SP, чтобы прочитать колонку, как:
-- Create key (at some earlier point)
create symmetric key sk_user_profile with algorithm = aes_192 encryption by password = '[email protected]!!';
-- Now encrypt the contents
-- open the key so that we can use it
open symmetric key sk_user_profile decryption by password = '[email protected]!!';
UPDATE users
SET password_enc = encryptbykey(key_guid('sk_user_profile'), password_plain, 1, user_id)
close symmetric key sk_user_profile
Теперь, если я хочу, чтобы выбрать данные, я до сих пор придется повторно открыть ключ с
open symmetric key sk_user_profile decryption by password = '[email protected]!!';
побеждающего точку не так, как я встраивание простой текстовый пароль внутри хранимой процедуры.
Некоторые вопросы
- Есть ли способ обойти эту проблему - то есть создать сертификат с этим паролем, а затем со ссылкой на сертификат, а?
- Этот сертификат должен быть приобретен (например, SSL), или я могу создать свой собственный?
- Является ли этот метод масштабируемым для отказоустойчивых кластерных баз данных, то есть шифрование не основано на машине, а только предоставленный пароль. Поэтому переход на другой ресурс может читать пароли
Спасибо за вашу помощь
Существует шифрование по сертификату. –