Телефон: 8-800-350-22-65
WhatsApp: 8-800-350-22-65
Telegram: sibac
Прием заявок круглосуточно
График работы офиса: с 9.00 до 18.00 Нск (5.00 - 14.00 Мск)

Статья опубликована в рамках: Научного журнала «Студенческий» № 33(77)

Рубрика журнала: Информационные технологии

Скачать книгу(-и): скачать журнал

Библиографическое описание:
Арленинов Д.И., Чигарина Е.И. СРАВНИТЕЛЬНЫЙ АНАЛИЗ ИСПОЛЬЗОВАНИЯ МЕТОДОВ ШИФРОВАНИЯ ДАННЫХ СУБД MS SQL SERVER // Студенческий: электрон. научн. журн. 2019. № 33(77). URL: https://sibac.info/journal/student/77/154636 (дата обращения: 26.04.2024).

СРАВНИТЕЛЬНЫЙ АНАЛИЗ ИСПОЛЬЗОВАНИЯ МЕТОДОВ ШИФРОВАНИЯ ДАННЫХ СУБД MS SQL SERVER

Арленинов Дмитрий Игоревич

магистрант, кафедра информационных систем и технологий факультета информатики, «Самарский национальный исследовательский университет имени академика С.П. Королева»,

РФ, г. Самара

Чигарина Елена Ивановна

доцент, канд. техн. наук, кафедра информационных систем и технологий факультета информатики, «Самарский национальный исследовательский университет имени академика С.П. Королева»,

РФ, г. Самара

Согласно статистике, в последние годы количество утечек информации в при работе с данными растет, при этом на 2018 год более тридцати процентов из них приходятся на внешних нарушителей и более шестидесяти выполнено с участием сотрудников организации.

Шифрование — обратимое преобразование информации в целях сокрытия от неавторизованных лиц, с предоставлением, в это же время, авторизованным пользователям доступа к ней. Главным образом, шифрование служит задачей соблюдения конфиденциальности передаваемой информации. Важной особенностью любого алгоритма шифрования является использование ключа, который утверждает выбор конкретного преобразования из совокупности возможных для данного алгоритма. СУБД SQL Server поддерживает следующие механизмы шифрования: шифрование паролем, асимметричные ключи, симметричные ключи и сертификаты.

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

Сертификаты содержат следующие сведения: открытый ключ субъекта, идентификационные данные субъекта, срок действия сертификата, идентификационные данные поставщика сертификата, цифровая подпись поставщика.

Асимметричный ключ состоит из закрытого ключа и соответствующего открытого ключа. Каждый из этих ключей позволяет дешифровать данные, зашифрованные другим ключом. На выполнение асимметричных операций шифрования и дешифрования требуется сравнительно много ресурсов, но они обеспечивают более надежную защиту, чем симметричное шифрование. Асимметричный ключ можно использовать для шифрования симметричного ключа перед его сохранением в базе данных.

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

В некоторых методах шифрования также используются различные алгоритмы.

Алгоритмы шифрования определяют преобразования данных, исключающие возможность легкого восстановления исходного текста неавторизированными пользователями. SQL Server позволяет администраторам и разработчикам выбирать из нескольких алгоритмов, в том числе DES, Triple DES, TRIPLE_DES_3KEY, RC2, RC4, RC4 со 128-разрядным ключом, DESX, AES со 128-разрядным ключом, AES со 192-разрядным ключом и AES с 256-разрядным ключом.

Начиная с версии SQL Server 2016 (13.x) все алгоритмы, отличные от AES_128, AES_192 и AES_256, являются нерекомендуемыми.

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

В результате было получено, что все виды шифрования работают только со следующими типами данных: char, varchar, binary, varbinary, nchar, nvarchar. Однако с типами данных char и binary результат расшифровки всегда null в независимости от объема шифруемых данных.

Экспериментальным путем были выявлены границы корректной работы методов шифрования для всех алгоритмов шифрования и типов данных (таблица 1, таблица 2).

Также в результате исследования было выявлено, что при расшифровании данных следующими аглоритмами: Symmetric (AES_192), Symmetric (AES_128), Asymmetric (RSA_4096), Asymmetric (RSA _3072), Asymmetric (RSA _2048) и Certificate расшифрованные данные отображаются не корректно.

Для оценки быстродействия работы методов шифрования для всех алгоритмов использовались таблицы с 1000 записями с максимально возможным объемом данных, как показано в таблице 3 и в таблице 4. В результате было получено, что при использовании симметричного шифрования все алгоритмы работают примерно одинаково, кроме шифрования типа данных nvarchar симметричным ключом с алгоритмами AES_192 и AES_128.  Их скорость работы больше примерно в 2 раза (Рисунок 1). Самым быстрым методом шифрования оказался симметричный ключ с алгоритмами AES_128, AES_192 и AES_256.  Самым медленным методом шифрования является ассиметричный ключ с использованием алгоритма RSA_4096. По результатам сводной таблицы 3 видно, что время работы метода шифрования ассиметричным ключом пропорционально объему максимально возможному объему шифруемых данных. При шифровании симметричным ключом алгоритмами AES_256 и AES_192 шифрование завершается ошибкой OutOfMemoryException. Тем самым эти алгоритмы требуют больше памяти, чем остальные методы шифрования при работе с 10000 записями.

При сравнении с шифрованием 1000 записей выявлена прямая пропорциональность в зависимости от объема данных (Рисунок 2).

Таким образом, при шифровании симметричным ключом типа данных nvarchar не рекомендуется использовать алгоритмы AES_192 и AES_128, так как их скорость выполнения значительно выше, чем у других алгоритмов. Для выполнения быстрого шифрования небольшого количества записей лучше использовать симметричных ключ и любой его алгоритм. Самым медленным методом оказался асимметричный ключ с алгоритмом RSA_4096. Однако при увеличении объема шифруемой информации до 10000 записей не рекомендуется использовать шифрование симметричным ключом алгоритмами AES_256 и AES_192 из-за появления ошибки OutOfMemoryException.

 

Рисунок 1. Диаграмма зависимости времени выполнения шифрования от типа данных и метода шифрования

 

Рисунок 2. График зависимости времени выполнения шифрования от количества данных

 

 Таблица 1.

Максимальный объем шифруемой информации

Метод шифрования (алгоритм)\

Тип данных

Asymmetric

(RSA_4096)

Asymmetric

(RSA _3072)

Asymmetric

(RSA _2048)

Certificate

Char

NULL

NULL

NULL

NULL

Varchar

501 работает / 502 NULL

373 работает / 374 NULL

245 работает / 246 NULL

245 работает / 246 NULL

Binary

NULL

NULL

NULL

NULL

Varbinary

501 работает / 502 NULL

373 работает / 374 NULL

245 работает / 246 NULL

245 работает / 246 NULL

Nchar

501 работает / 502 NULL

373 работает / 374 NULL

245 работает / 246 NULL

245 работает / 246 NULL

Nvarchar

501 работает / 502 NULL

373 работает / 374 NULL

245 работает / 246 NULL

245 работает / 246 NULL

 

Таблица 2.

Максимальный объем шифруемой информации

Метод шифрования (алгоритм)\

Тип данных

Symmetric

(AES_256)

Symmetric

(AES_192)

Symmetric

(AES_128)

Char

NULL

NULL

NULL

Varchar

7935 работает /

7936 NULL

7935 работает /

7936 NULL

7935 работает /

7936 NULL

Binary

NULL

NULL

NULL

Varbinary

7935 работает /

7936 NULL

7935 работает /

7936 NULL

7935 работает /

7936 NULL

Nchar

7935 работает /

7936 NULL

7935 работает /

7936 NULL

7935 работает /

7936 NULL

Nvarchar

7935 работает /

7936 NULL

7935 работает /

7936 NULL

7935 работает /

7936 NULL

 

Таблица 3.

Время шифрования 1000 записей

Метод шифрования (алгоритм)\

Тип данных

Symmetric

(AES_256)

Symmetric

(AES_192)

Symmetric

(AES_128)

Varchar

828

833

824

Varbinary

843

833

843

Nvarchar

836

1820

1337

Nchar

837

841

821

 

Таблица 4.

Время шифрования 1000 записей

Метод шифрования (алгоритм)\

Тип данных

Asymmetric

(RSA_4096)

Asymmetric

(RSA _3072)

Asymmetric

(RSA _2048)

Certificate

Varchar

15730

7988

3543

3369

Varbinary

15590

8141

3426

3358

Nvarchar

15626

9158

3388

4009

Nchar

15664

8081

3400

4247

 

Таблица 5.

Время шифрования 10000 записей

Метод шифрования (алгоритм)\

Тип данных

Symmetric

(AES_256)

Symmetric

(AES_192)

Symmetric

(AES_128)

Nvarchar

OutOfMemoryException

OutOfMemoryException

8789

 

 

Таблица 6.

Время шифрования 10000 записей

Метод шифрования (алгоритм)\

Тип данных

Asymmetric

(RSA_4096)

Asymmetric

(RSA _3072)

Asymmetric

(RSA _2048)

Certificate

Nvarchar

157433

81287

37436

36192

 

Список литературы:

  1. Международный научно-практический журнал программные продукты и системы [электронный ресурс] — Режим доступа. — URL: http://www.swsys.ru/index.php?page=article&id=4175 (дата обращения 12.04.2019)
  2. Студенческая библиотека онлайн [электронный ресурс] — Режим доступа. — URL: https://studbooks.net/2156598/informatika/shifrovanie_informatsii_vozmozhnosti_vidy (дата обращения 17.04.2019)
  3. Microsoft Документация по SQL [электронный ресурс] — Режим доступа. — URL: https://docs.microsoft.com/ru-ru/sql/relational-databases/security/encryption/encryption-hierarchy?view=sql-server-2017 (дата обращения 12.05.2019)
  4. Microsoft Документация по SQL [электронный ресурс] — Режим доступа. — URL: https://docs.microsoft.com/ru-ru/sql/relational-databases/security/encryption/choose-an-encryption-algorithm?view=sqlallproducts-allversions (дата обращения 17.05.2019)
  5. Technet microsoft [электронный ресурс] — Режим доступа. — URL: https://technet.microsoft.com/ru-ru/ms189586(v=sql.15) (дата обращения 24.04.2019)

Оставить комментарий

Форма обратной связи о взаимодействии с сайтом
CAPTCHA
Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.