3 курс / БСБД2 Лабораторная работа 1
.pdfМинистерство науки и высшего образования Российской Федерации Федеральное государственное автономное образовательное учреждение высшего образования
ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ (ТУСУР)
Кафедра комплексной информационной безопасности электронновычислительных систем (КИБЭВС)
ШИФРОВАНИЕ Отчет по лабораторной работе №1
по дисциплине «Безопасность систем баз данных»
Студент гр. 7x3-x
_______ xxxxxxxxxxx
_______
Приняла: Преподаватель кафедры КИБЭВС
_______ Романова Е.С.
_______
Томск 2025
Введение
Целью работы является изучение основ шифрования, его целей и задач, а также практическая реализация шифрования в СУБД MS SQL Server.
Постановка задачи:
1.Выполнить ход работы, представленный в методическом указании согласно варианту №2;
2.В рамках задания по TDE (прозрачному шифрованию данных) зашифровать базу данных AdventureWorks2017 с помощью алгоритма шифрования AES_256;
3.В рамках задания по AE (постоянному шифрованию данных), ознакомиться с ситуацией и зашифровать столбец с помощью режима AE, а именно столбец с идентификационными номерами деталей велосипедов.
2
1 ХОД РАБОТЫ
Была открыта база данных AdventureWorks2017, в ней была найдена и выведена при помощи SQL-запроса таблица «Sales.CreditCard» (рисунок 1.1).
Рисунок 1.1 – Вывод таблицы «Sales.CreditCard»
Таблица «Sales.CreditCard» содержит столбцы с индивидуальным номером карты (CreditCardID), типом карты (CardType), номером карты (CardNumber), месяцем срока годности (ExpMonth), годом срока годности
(ExpYear) и датой модификации (ModifiedDate).
В рамках TDE зашифровывается целиком вся база данных, шифрование базируется либо на внешнем ключе (с помощью EKM), либо с использованием сертификата от сервера. В рамках данной лабораторной работы рассматривается использование сертификата.
Для выполнения TDE был создан новый SQL запрос нажатием кнопки «Создать запрос» на панели инструментов, расположенной в верхней части окна SSMS. Введенный запрос предоставлен на рисунке 1.2.
3
Рисунок 1.2 – Результат выполнения запроса шифрования базы данных
В качестве пароля в третьей строке использовалась случайная строка символов, а в качестве поясняющей информации к сертификату была указана фамилия. Алгоритм шифрования был установлен согласно варианту №2: AES_256.
Чтобы проверить, что режим шифрования запущен, команда включения режима шифрования базы данных была выполнена снова и её выполнение вернуло ошибку, в которой сообщается о том, что шифрование уже запущено. Результат продемонстрирован на рисунке 1.3.
4
Рисунок 1.3 – Проверка режима шифрования
В качестве примера Always Encrypted рассматривается столбец
«CardNumber» из рассматриваемой ранее таблицы «Sales.CreditCard». Always Encrypted реализуется с использованием мастера нажатием ЛКМ по таблице в обозревателе решений и выбором опции «Зашифровать столбцы». В первую очередь выбираются столбцы, которые будут зашифрованы, тип и ключ шифрования (рисунок 1.4).
5
Рисунок 1.4 – Шифрование столбца
Была выполнена настройка главного ключа. Необходимо было указать к какому мастер ключу он имеет отношение и каков источник этого ключа. Так как главный ключ еще не создан, было выбрано автоматическое создание, а в качестве поставщика – хранилище сертификатов Windows (рисунок 1.5). На вкладке «Параметры запуска» определяется, когда будет запущен скрипт шифрования. На вкладке «Сводка» приводится для ознакомления итоговый набор параметров, собранный мастером.
6
Рисунок 1.5 – Настройка главного ключа
После завершения работы мастера был выведен зашифрованный столбец (рисунок 1.6).
Рисунок 1.6 – Зашифрованные данные
7
Было проверено считывание зашифрованных данных с помощью подключения к СУБД с указанием в дополнительных параметрах параметра column encryption setting=enabled (рисунок 1.7).
Рисунок 1.7 – Подключение к СУБД с указанием параметра
Был выполнен запрос на чтение к таблице, содержащей зашифрованную информацию. SSMS сообщил о том, что для обработки данных в зашифрованном столбце, необходимо включить определение параметров. После подтверждения данные были успешно расшифрованы (рисунок 1.8).
8
Рисунок 1.8 – Расшифрованные данные
Для выключения режима шифрования AE используется тот же мастер, с помощью которого он был включен. Для этого на вкладке «Выбор столбца» у зашифрованного столбца был выбран тип шифрования «Открытый текст» (рисунок 1.9).
Рисунок 1.9 – Выключение режима шифрования АЕ
9
Ключ расшифрования ключевой информации хранится в локальном хранилище сертификатов Windows. В окне запуска был введен certmgr.msc для нахождения местоположения ключа (рисунок 1.10).
Рисунок 1.10 – Ключ расшифрования
Было выполнено индивидуальное задание по варианту №2 для АЕ: Велосипеды компании не так просты, как кажутся. В их составе множество различных мелких деталей. Некоторые из них изготавливаются по секретным разработкам компании, добавляя их продукции особенности, которые и придают компании конкурентоспособности. Не стоило бы про них знать конкурентам.
Исходя из задания можно сделать вывод, что в таблице требуется зашифровать столбец с идентификационными номерами деталей велосипедов. Номера деталей хранятся в таблице «Production.BillOfMaterials» в столбце «ComponentID». Так как «ComponentID» является внешним ключом, который ссылается на другой столбец, то для сохранения целостности нужно зашифровать «ProductID» в таблице «Production.Product», который им является. «ProductID» является первичным ключом, поэтому шифрование невозможно
(рисунок 1.11).
10
