Шифрование Sql server с помощью пароля / сертификата?

#sql-server

#sql-сервер

Вопрос:

Когда я использую

 CREATE SYMMETRIC KEY SecureSymmetricKey
    WITH ALGORITHM = DESX
    ENCRYPTION BY PASSWORD = N'StrongPassword';


DECLARE  @str NVARCHAR(100)
SET @str = 'lala';

OPEN SYMMETRIC KEY SecureSymmetricKey
    DECRYPTION BY PASSWORD = N'StrongPassword';
  

От кого я пытаюсь защитить данные?

данные, отправляемые с клиента на сервер? (данные отправляются с помощью plaing text — я не могу активировать команды sql перед отправкой данных …) или люди, у которых есть доступ к sql server?

Ответ №1:

Вы пытаетесь защитить свои данные в базе данных от людей, которые либо имеют доступ к любому из:

  • экземпляр SQL Server
  • файлы данных
  • файлы резервных копий

Поэтому, если кто-то украдет ваши резервные ленты, у него не будет базы данных незашифрованных SSN или номеров кредитных карт для продажи на черном рынке.

Комментарии:

1. Спасибо за ответ. Если хакер получил мои файлы данных, есть ли способ, которым он может увидеть пароль: N’strongpassword’??

2. Я спрашиваю вас об этом, потому что я хочу убедиться, что он не сможет прочитать данные — и если он сможет извлечь пароль — он сможет увидеть реальные данные…

3. Я не могу придумать способ получения пароля — я считаю, что он хэшируется с начальным значением, а не хранится в виде открытого текста, поэтому его нельзя получить.