Как я могу сделать симметричный дубликат ключа SQL Server?

У нас есть сервер с базой данных, которая имеет симметричный ключ (База данных-> безопасность-> Симметричный ключ). У нас есть резервные дублирующиеся базы данных, что мы используем в качестве теста базы данных, но у нас нет этого ключа там.

Как я могу сделать этот симметричный дубликат ключа (или сделать новый точно как старое), и поместите его в существующие базы данных? Это должно иметь то же значение и ключевое имя как другое.

Это находится на SQL Server 2008.

alt text

5
задан Glorfindel 11 July 2019 в 07:04
поделиться

1 ответ

Прежде всего при создании симметричного ключа убедитесь, что вы используете параметры KEY_SOURCE, IDENTITY_VALUE и ALGORITHM.

Если вы еще этого не сделали, создайте главный ключ базы данных и сертификат для защиты симметричного ключа.

-- Create Database Master Key 
CREATE MASTER KEY ENCRYPTION BY
PASSWORD = 'Your Database Master Key Password here' 
GO

-- Create Encryption Certificate 
CREATE CERTIFICATE MyCertificateName
WITH SUBJECT = 'Your Certificate Description Here' 
GO

-- Create Symmetric Key
CREATE SYMMETRIC KEY MyKeyName WITH
IDENTITY_VALUE = 'Enter a key description',
ALGORITHM = AES_256, 
KEY_SOURCE = 'Enter a key phrase here (keep very secret)'
ENCRYPTION BY CERTIFICATE MyCertificateName;
  • Параметр IDENTITY_VALUE используется для создания guid в таблице sys.symmetric_keys, которая для работы должна быть одинаковой в обеих базах данных.

  • Параметр KEY_SOURCE используется для создания самого ключа, поэтому убедитесь, что он точно такой же и хорошо защищен.

  • АЛГОРИТМ - это, конечно, алгоритм, который SQL-сервер использует для шифрования и дешифрования данных, который для работы должен быть одинаковым.

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

Если ваш существующий ключ не был создан таким образом, вам придется расшифровать все с помощью вашего старого ключа и повторно зашифровать его с помощью нового.

Здесь можно найти несколько хороших источников по созданию ключей:

7
ответ дан 14 December 2019 в 08:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: