Влияние предварительного криптографического кодирования сообщения на его обнаруживаемость в стеганографических системах
- Авторы: Шамшаев М.Ю.1, Шакурский М.В.1
-
Учреждения:
- Поволжский государственный университет телекоммуникаций и информатики
- Выпуск: Том 21, № 2 (2023)
- Страницы: 84-89
- Раздел: Электромагнитная совместимость и безопасность оборудования
- URL: https://journals.eco-vector.com/2073-3909/article/view/628973
- DOI: https://doi.org/10.18469/ikt.2023.21.2.12
- ID: 628973
Цитировать
Полный текст
Аннотация
Классическая задача стеганографии заключается в маскировке важного сообщения в покрывающем объекте, не представляющем интерес для злоумышленника. При этом внимание уделяется защите от обнаружения самого фак-та встраивания сообщения, так как в случае подозрения злоумышленником факта наличия скрытого сообщения в передаваемом информационном объекте злоумышленник может разрушить сообщение. Внимание же устойчивости к прочтению в стеганографии не уделяется, так как считается, что этот вопрос решается посредством предварительного криптографического шифрования сообщения. Однако, такое шифрование влияет на статистические параметры сообщения, что играет немаловажную роль при формировании стеганографической системы. Статья посвящена анализу влияния криптографического кодирования на потенциальную обнаруживаемость сообщения после стеганографической маскировки. Приводятся результаты исследования влияния криптографического кодирования на распределение значений передаваемой информации при использовании шифра «Кузнечик».
Ключевые слова
Полный текст
Введение
В настоящее время вопрос безопасности передачи информации является одним из самых актуальных в области информационных технологий. Это связано как с переходом многих сфер человеческих и корпоративных взаимоотношений в области электронных систем передачи данных, так и с растущим уровнем киберпреступности. Очевидно, что системы защиты информации находятся в положении «отстающего», так как преступники постоянно находят новые пути обмана. С другой стороны, внедрение новых систем безопасности сковывается бюрократическим аппаратом в организациях. Тем не менее, постоянное развитие систем защиты информации значительно осложняет работу злоумышленников.
Одним из важных аспектов информационной безопасности является передача данных по открытым каналам связи, включающим в себя проводные и беспроводные сети, интернет и другие средства, где невозможно гарантировать отсутствие утечки передаваемой информации. Для решения задачи конфиденциальности передаваемых данных используется аппарат криптографии [1].
Задачей криптографического кодирования является обеспечение конфиденциальности передаваемой информации, то есть злоумышленник, зная о передаче информации, не имеет возможности ее дешифровки. Однако целостность передаваемой информации не гарантируется, так как в случае необходимости канал или сообщение могут быть разрушены. В случае, если злоумышленник способен разрушить сообщение, подозревая его ценность, криптографическое кодирование малоэффективно. Такая ситуация может возникнуть в случае тайной переписки, передачи сигналов управления беспилотными аппаратами и в других случаях. Тогда эффективным способом защиты является маскировка информации – стеганография. Здесь важно заметить, что стеганография не гарантирует целостность канала и сообщения. Они также могут быть разрушены. Речь идет о той грани, когда принимается решение о разрушении канала и сообщения. То есть, при перехвате информации злоумышленник не преследует цель разрушить канал и сообщение. Его задача - разрушить его только в случае передачи важного сообщения. Именно в этом свете маскировка важного сообщения в неважное способна обеспечить его доставку. Таким образом, ключевую роль играет не вопрос прочтения сообщения, а сам факт подозрения, что в передаваемой информации скрыто важное сообщение. Поэтому, в стеганографии вопрос политики злоумышленника, используемых им методов оценки передаваемой информации и набора возможных действий является открытым и требует дополнительных исследований.
При анализе стеганографических методов принимается определенная рабочая модель поведения злоумышленника. В соответствии с этой моделью производится исследование и анализ метода. При этом используется целый ряд допущений, которые на практике могут быть и некорректными.
Исследование, описанное в данной статье, позволяет уточнить модель стеганографической системы и проиллюстрировать совместное использование стеганографического и криптографического кодирования.
В научной литературе [1; 2] указывается, что при стеганографической маскировке сообщения, защита от прочтения решается предварительным криптографическим шифрованием. Например, современные блочные шифры обладают достаточной устойчивостью к взлому и высокой скоростью шифрования. Однако, важным вопросом стеганографии является характер шифруемого сообщения. Учитывая объем передаваемых данных, акцент в стеганографическом анализе делается на статистических методах оценки информации, передаваемой по открытому каналу связи. При анализе методов стеганографии мало внимания уделяется статистическому характеру сообщения. Так часть встраиваемого сообщения может состоять из последовательности только нулей или только единиц, что может оказать значительное влияние на статистические характеристики стеганографической системы (заполненного стеганографического контейнера). Предварительное криптографическое шифрование оказывает определенное влияние на статистические характеристики сообщения. При этом многообразие различных вариантов шифрования может оказывать различное влияние на параметры встраиваемого сообщения. Таким образом, предварительное криптографическое шифрование позволяет не только обезопасить встраиваемое сообщение от прочтения, но и уточнить статистическую модель встраиваемого сообщения, что, в свою очередь, позволит уточнить потенциальную полезную нагрузку стеганографической системы.
В статье взят для анализа шифр «Кузнечик». Криптографический шифр «Кузнечик» использует блочное шифрование с длиной блока 128 бит и ключом длиной 256 бит. Шифр работает в режиме ECB (electronic code book) или в режиме простой замены. В процессе шифрования используется матрица 8x8, которая состоит из 64 байтов, и представляет собой расширенный вектор [3].
Процесс шифрования происходит в 10 раундов, в каждом из которых используется 8 нелинейных преобразований и 1 линейное преобразование. Нелинейные преобразования основаны на заменах байтов и перестановках битов, а линейное преобразование основано на умножении матрицы на столбец данных [4].
Данный шифр утвержден в качестве стандарта в ГОСТ Р 34.12-2015 «Информационная технология. Криптографическая защита информации. Блочные шифры» приказом от 19 июня 2015 года № 749-ст. Стандарт вступил в действие с 1 января 2016 года. Шифр разработан Центром защиты информации и специальной связи ФСБ России с участием АО «Информационные технологии и коммуникационные системы» [5–10].
Моделирование криптографического шифрования
Компьютерное моделирование шифрования выполнено на языке Python. В качестве сообщения выбраны три набора с различным распределением значений: с одинаковым количеством нулей и единиц, с доминирующим количеством нулей и с доминирующим количеством единиц. Это позволило оценить влияние шифрования на распределение значений в зашифрованных сообщениях. Сами значения подбирались генератором псевдослучайных чисел.
Для проведения эксперимента была создана программа генерации исходного сообщения в двоичной системе счисления, которая формирует сообщение длинной 1024 символа с указанным распределением нулей и единиц. Также программа переводит полученное число из двоичной системы счисления в шестнадцатеричную. Код программы приведен ниже:
import random
# Генерация случайного сообщения
message_length = 1024
zero_percent = 95 # Процент нулей
message = “”.join (
“0” if random.randrange (100) < zero_percent else “1”
for _ in range (message_length)
)
print («Сообщение в двоичном виде:», message)
# Перевод двоичного сообщения в шестнадцатеричное
hex_message = hex (int(message, 2))[2:]
print («Сообщение в шестнадцатеричном виде:», hex_message.upper ())
Выходные данные программы генерации сообщения:
Сообщение в 16-ричном виде: 93A038991EEF74F256F19F80639B4371EDCF1B7D0176A4865A2FF7FF209A41F240C023F8D3501178D8D6B7B7266CFEF78AAF76D1D4461BDAF773A56EAED11C84878EC935B53C3151BE33C576C44B215623C06FFDEC36BCF3CCC0BEC8FB08F4CADBC2843CC4F85AD12A5B7318EE57A77443E2C0991DE3471BF156415F651E3CD9.
Следующим шагом полученное сообщение в шестнадцатеричном виде шифруется при помощи криптографического шифра «Кузнечик». В результате шифрования получено сообщение, представленное ниже.
Зашифрованное сообщение в 16-ричном виде: D206700720EAD67902EAACA5DE855A8585512E8D93CEE3067A4D6CDCF799B2E79AF8B3B4FC82F13A0D6B07A979A8D9A3A8BF70A30BEA66C31C95B9B6245C469EB89B6E19078AAFC3B8B0D13D87BF4D5F9D30EF62CBF512FFADA0D17BA473735E4C49783FDS201FCEES8ED91B082C72S4E261C20B89BBB4D1A49C5746S7D66D85
Проведем анализ распределения значений в зашифрованном сообщении. Для этого воспользуемся встроенным аппаратом построения гистограмм. Код программы построения гистограмм приведен ниже:
import matplotlib.pyplot as plt
def count_zeroes_ones (message):
zeroes = message.count (‘0’)
ones = message.count (‘1’)
return zeroes, ones
def main ():
message1 = input («Введите исходное сообщение: «)
message2 = input («Введите зашифрованное сообщение: «)
zeroes1, ones1 = count_zeroes_ones (message1)
zeroes2, ones2 = count_zeroes_ones (message2)
labels = [‘Нули’, ‘Единицы’]
message1_data = [zeroes1, ones1]
message2_data = [zeroes2, ones2]
x = range (len(labels))
fig, ax = plt.subplots ()
ax.bar (x, message1_data, width=0.3, label=’Исходное сообщение’)
ax.bar ([x_elem + 0.3 for x_elem in x], message2_data, width=0.3, label=’Зашифрованное сообщение’)
ax.set_ylabel (‘Количество’)
ax.set_xlabel (‘Данные’)
ax.set_title (‘Распределение нулей и единиц’)
ax.set_xticks ([x_elem + 0.15 for x_elem in x])
ax.set_xticklabels (labels)
ax.legend ()
ax.grid (True)
ax.set_ylim ([0, max(max(message1_data), max (message2_data))+1])
plt.show ()
if __name__ == ‘__main__’:
main ()
Из проведенных экспериментов для анализа выбраны три с различным соотношением количества нулей и единиц в шифруемом сообщении.
Эксперимент №1: 50% нулей и 50% единиц. Результат моделирования приведен в виде диаграммы на рисунке 1.
Эксперимент №2: 5% нулей и 95% единиц. Результат моделирования приведен в виде диаграммы на рисунке 2.
Эксперимент №3: 95% нулей и 5% единиц. Результат моделирования приведен в виде диаграммы на рисунке 3.
Рисунок 1. Результат моделирования при 50% логических нулей и 50% логических единиц
Рисунок 2. Результат моделирования при 5% логических нулей и 95% логических единиц
Рисунок 3. Результат моделирования при 95% логических нулей и 5% логических единиц
Видно, что в результате шифрования распределение значений становится близким к равномерному. Данный результат говорит в пользу использования блочных шифров на основе сети Фейстеля, так как позволяет построить модель стеганографической системы, в которой сообщение всегда имеет распределение близкое к равномерному.
Анализ эксперимента и заключение
Полученный в работе результат имеет важное значение, так как позволяет определить статистические характеристики сообщения. Например, если допустить, что сообщение предварительно криптографически зашифровано, то при проектировании и исследовании стеганографических систем можно считать, что распределение значений сообщения близко к равномерному.
Важно отметить, что не все шифры оказывают аналогичное воздействие на распределение значений в сообщении, что требует развития исследований. Полученное равномерное распределение значений сообщения не является однозначным достоинством. С одной стороны, совместно с использованием маскировки в наименьшем битном слое покрывающего объекта, можно считать такое распределение достоинством, с другой стороны только по отношению к покрывающим объектам, где наименьший битный слой обладает равномерным распределением. Это встречается не так уж часто. Более того, в работах [6–9] показано, что равномерное распределение в наименьшем битном слое может рассматриваться как индикатор наличия скрытого сообщения, которое может быть легко обнаружено на основе NIST-тестов.
Таким образом, использование блочных шифров позволяет сделать распределение встраиваемых сообщений близким к равномерному, что позволит более точно определить предел полезной нагрузки при формировании стегосистемы на основе известных методов и обеспечить конфиденциальность скрытой информации. Однако в системах реального времени использование блочных шифров для предварительного шифрования может привести к потенциальной уязвимости стегосистемы, так как статистический характер покрывающего объекта случаен и не может быть предварительно проанализирован [10].
Об авторах
Максим Юрьевич Шамшаев
Поволжский государственный университет телекоммуникаций и информатики
Автор, ответственный за переписку.
Email: maxsham2000@mail.ru
магистрант кафедры информационной безопасности
Россия, СамараМаксим Викторович Шакурский
Поволжский государственный университет телекоммуникаций и информатики
Email: m.shakurskiy@gmail.com
д.т.н., заведующий кафедрой информационной безопасности
Россия, СамараСписок литературы
- Таранников Ю. Зачем в криптографии используется кодирование? URL: https://postnauka.ru/faq/85941 (дата обращения: 06.05.2023).
- Агурьянов И. Виды и способы криптографических преобразований. URL: https://www.securitylab.ru/blog/personal/aguryanov/29980.php (дата обращения: 06.05.2023).
- Криптографический алгоритм «Кузнечик»: просто о сложном. URL: https://habr.com/ru/articles/459004/ (дата обращения: 06.05.2023).
- Дроботун Е. Работаем с алгоритмом блочного шифрования «Кузнечик» из ГОСТ 34.12-2015. URL: https://xakep.ru/2017/02/02/working-with-grasshopper/ (дата обращения: 06.05.2023).
- Шишкин В. ГОСТ Р 34.12–2015: чего ожидать от нового стандарта? URL: https://lib.itsec.ru/articles2/crypto/gost-r-chego-ozhidat-ot-novogo-standarta (дата обращения: 06.05.2023).
- Гистограммы и графики распределения в Python. URL: https://itnan.ru/post.php?c=1&p=683738 (дата обращения: 06.05.2023).
- Грибунин В.Г., Оков И.Н., Туринцев И.В. Цифровая стеганография. 2-е изд. М.: СОЛОН-Пресс, 2021. 262 c.
- Обзор методов статистического анализа данных. URL: http://statlab.kubsu.ru/node/4 (дата обращения: 06.05.2023).
- Шифр «Кузнечик» (ГОСТ Р 34.12-2015) и режимы работы блочных шифров (ГОСТ Р 34.13-2015). URL: https://studme.org/239569/informatika/shifr_kuznechik_gost_3412_2015_rezhimy_raboty_blochnyh_shifrov_gost_3413_2015 (дата обращения: 06.05.2023).
- Караулова О.А., Шакурский М.В. Особенности оценки стеганографических систем с точки зрения стеганографического анализа // Ассоциация выпускников и сотрудников ВВИА имени профессора Н.Е. Жуковского: материалы XIX Международной научно-практической конференции, 2022. С. 66–70.
![](/img/style/loading.gif)