Построение системы защиты базы данных
(применение метода «Прозрачного шифрования»)
Иерархия (архитектура) ключей SQL-сервера
Хранимая
процедура защиты базы данных
10
ПРИЛОЖЕНИЕ Б
USE Variant_5
Go
Create MASTER KEY ENCRYPTION BY PASSWORD= ‘$AaIShr$01’
go
CREATE ASYMMETRIC KEY Asimkey
WITH ALGORITHM = RSA_2048
ENCRYPTION BY PASSWORD = ‘AsKey_01’
Go
ALTER TABLE Обращения
ADD Kod_people varchar(100),
FIO_people varchar(100),
Обращения varchar(100);
Go
OPEN SYMMETRIC KEY SummKey
DECRYPTION BY ASYMMETRIC KEY AsimmKey
WITH PASSWORD = ‘AsKey_01’
Update Обращения
SET Kod_people = EncryptByKey(KEY_GUID(‘SummKey’),Решение),
FIO_people = EncryptByKey(KEY_GUID(‘SummKey’),Пользователи),
INN = EncryptByKey(KEY_ GUID(‘SummKey’),Группы;
GO
OPEN SYMMETRIC KEY SummKey
DECRYPTION BY ASYMMETRIC KEY AsimmKey
WITH PASSWORD = ‘AsKey_01’
Select (CONVERT(varchar(100),DecryptByKey(Kod_people))),
CONVERT(varchar(100),DecryptByKey(FIO_people))),
CONVERT(varchar(100),DecryptByKey(INN))) from Обращения;
GO
@Encr_doc_num NVARCHAR(100) OUT,
@Encr_series NVARCHAR(100) OUT,
@Encr_number NVARCHAR(100) OUT,
AS
OPEN SYMMETRIC KEY SummKey DECRYPTION BY ASYMMETRIC KEY AsimmKey WITH PASSWORD = ‘AsKey_01’
Insert into Обращения values(@full_number,@series,@number,’NULL’, ’NULL’, ’NULL’)
UPDATE Обращения
SET Kod_people = EncryptByKey(KEY_GUID(‘SummKey’),Решение),
FIO_people = EncryptByKey(KEY_GUID(‘SummKey’),Пользователи),
INN = EncryptByKey(KEY_ GUID(‘SummKey’),Группы;
UPDATE Обращения
SET Kod_people= Convert(varchar(100),DecryptByKey(Kod_people)),
FIO_people= Convert(varchar(100),DecryptByKey(FIO_people)),
Обращения = Convert(varchar(100),DecryptByKey(Обращения));
SELECT @Encr_doc_num = Kod_people, @Encr_series= FIO_people,@Encr_number= Обращения
FROM Обращения WHERE Kod_people= @full_number;
go