Поэтому я спросил в чате о том, насколько безопасны файлы резервных копий SQL Server.
Мне сказали, что если злоумышленник имеет доступ к незашифрованному файлу .bak, он может получить доступ к данным.
Итак, давайте посмотрим на этот сценарий:
OPEN SYMMETRIC KEY MySymetricKey DECRYPTION
BY CERTIFICATE MyCertificate
обратите внимание - здесь нет пароля.
а затем мы шифруем наши таблицы:
UPDATE tbl1
SET namePAss = ENCRYPTBYKEY(KEY_GUID('MySymetricKey'),name)
GO
Теперь допустим, что хакер получил мой bak
файл. Все, что он должен сделать для просмотра данных (на своем собственном компьютере и sql-сервере), это:
SELECT
convert( NVARCHAR(max), decryptbykey(namePAss))
FROM tbl1
Будет ли он по-прежнему иметь доступ к данным?
источник
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'DB Master key password!' GO
- Я создал его с паролем. но странно то, что когда я его открываю - мне не нужен пароль, это точно код, который вы вставили. Это то, что я не понимаю. Если я хакер - мне наплевать на пароль, используемый для его создания. все, что мне нужно сделать, этоOPEN SYMMETRIC KEY MySymetricKey DECRYPTION
СЕРТИФИКАТ MyCertificate` и здесь нет пароля. пожалуйста, поправьте меняКороткий ответ - нет, так как им потребуется главный ключ базы данных и его пароль.
Вот хороший обзор шифрования сертификатов: http://www.mssqltips.com/sqlservertip/1319/sql-server-2005-encryption-certificates-overview/
И один для мастер-ключей: http://www.mssqltips.com/sqlservertip/1312/managing-sql-server-2005-master-keys-for-encryption/
источник