Научная статья на тему 'Вопросы построения криптостеганографических систем. Модель стеганографического канала передачи данных'

Вопросы построения криптостеганографических систем. Модель стеганографического канала передачи данных Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
481
107
i Надоели баннеры? Вы всегда можете отключить рекламу.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Алиев А. Т., Аграновский А. В.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Вопросы построения криптостеганографических систем. Модель стеганографического канала передачи данных»

$’ос = ({02}*8ос)©({03}*81с) ©Б^зс,

S,lo = Бос©({02}*Б1с) ©({03}*Б2с) ©Бсз,

S’2c = Б0с©Б1с©({02}*Б2с) ©({03}*Бзс),

S’зc = ({03}*Б0с) ©Б1с©Б2с©({02}*Бзс).

Рассматривая преобразование М1хСо1ишш, необходимо помнить, что разность рассматривается как сумма по модулю два между двумя состояниями текста, то есть АХ = Х © Х’. В этом случае 2*ДХ = 2*Х © 2*Х’ и 3*ДХ = 3*Х © 3*Х’. Принимая это во внимание, нами были выявлены правила изменения разности столбцов в процессе прохождения данных через преобразование М1хСо1ишп«.

При этом рассматривались следующие варианты входных столбцов разностей:

- ненулевое значение имеет всего один байт (рис.1);

- ненулевое значение имеют два байта, и при этом ненулевые байты имеют одинаковое значение (рис. 2);

- ненулевое значение имеют два байта, и при этом ненулевые байты имеют разные значение (рис. 3);

- три ненулевых байта, имеющих одинаковое значение (рис. 4);

- все байты равны между собой и отличны от нуля (рис. 5).

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

Работа поддержана грантом РФФИ № 06-07-89010

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1. Л.К.Бабенко, Е.А.Ищукова. Современные алгоритмы блочного шифрования и методы их анализа. - М: Гелиос АРВ, 2006. - 376 с.

А.Т. Алиев, А.В. Аграновский

Россия, г. Ростов-на-Дону, ФГНУ НИИ "Спецвузавтоматика"

ВОПРОСЫ ПОСТРОЕНИЯ КРИПТОСТЕГАНОГРАФИЧЕСКИХ СИСТЕМ.

МОДЕЛЬ СТЕГАНОГРАФИЧЕСКОГО КАНАЛА ПЕРЕДАЧИ ДАННЫХ

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

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

Базовая модель стеганографической системы Согласно предложенной Кристианом Кэтчином [1] общей модели стегокана-ла, можно выделить трех основных участников: отправителя, адресата и противника. Для того чтобы переслать секретное сообщение т еМ, отправитель выбирает некоторое открытое сообщение сеС (контейнер) и с помощью стегосистемы производит внедрение в него сообщения т. Сформированное в результате сообщение 5е5” | 5 = с © т передается по открытому каналу адресату. В общем случае предполагается, что между отправителем и резидентом помимо стегоканала существует некоторый дополнительный закрытый канал передачи информации, по которому они договариваются об используемом методе сокрытия информации, протоколе передачи стегосообщений и обмениваются необходимыми ключами (рис.1).

Секретное сообщение Секретный канал

Рис. 1. Общая модель стеганографического канала

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

В общем случае любая стеганографическая система может быть представлена в виде совокупности объектов ^ = (С,М, К,0,Н,Я), где С и Q - множества пустых и заполненных контейнеров, М - множество скрываемых сообщений, К = {0,1,.я -1} - множество ключей, Н = {Ик,к е К} - множество правил внедрения сообщений из М в контейнеры из С, Я = {гк, к е К} - множество соответствующих элементам из Н правил восстановления (извлечения) сообщений из контейнеров Q. В реальных системах сложность перестройки алгоритмов внедрения сообщений в зависимости от ключа привела к тому, что в большинстве решений ключи встраивания не используются. В тех же случаях, когда в программном продукте предлагается использование дополнительных ключей, в действительности оказывается, что эти ключи не являются ключами встраивания, а представляют собой ключи используемых в неявном виде шифров. Зачастую ими оказываются тривиальные шифры перестановки и разбавления. В обоих случаях стеганографи-

ческая система представима в виде £ = (С, М ,0, И, г) , где к, г - независящие от ключа, бесключевые правила внедрения и извлечения информации.

Так как построение реальных ключевых стегосистем является достаточно сложной задачей, требующей разработки легко перестраиваемых алгоритмов сокрытия информации, что в большинстве случаев либо нерационально, либо просто невозможно в связи с предъявляемыми требованиями к уровню скрытности и ограничениями на полосу передачи данных, то возникает вопрос, возможности построения стойких стеганографических систем на основе систем £ = (С,М,0,И,г) с определенным, приемлемым уровнем стойкости к обнаружению.

Возможность построения стойких стеганографических систем

В криптографии при оценке надежности той или иной системы зачастую обращаются к правилам Керкгоффса [2]. Напомним, что согласно второму правилу Керкгоффса: компрометация системы не должна причинять неудобств пользователям. Суть этого правила заключается в том, что противнику, при проведении им атаки на какую-либо систему, могут быть известны все детали ее реализации. Единственный параметр, который ему может быть неизвестен, это ключ шифрования. То есь надежность системы должна определяться лишь секретностью ключа.

С точки зрения классической стеганографии в рассматриваемом нами случае системы £ = (С, М ,0, И, г) , секретность в первую очередь определяется секретностью алгоритмов и способов сокрытия информации, их компрометация позволяет противнику эффективно перехватывать и подменять сообщения. Одним из возможных выходов в данной ситуации может являться совместное использование безключевых методов сокрытия и извлечения информации с уже проверенными на стойкость криптографическими алгоритмами и протоколами.

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

1. Должна сохраняться функциональность контейнеров. Заполненный контейнер должен обладать свойством естественности, т.е. принадлежать множеству всех возможных контейнеров Q с С;

2. Распределение Р(Си^) должно быть равномерным, т.е.

V сеСиQ : р(с) = 1/|СuQІ = 1/|с|;

3. В процессе записи информации в контейнер должны сохраняться все статистические характеристики любого из распределений, полученных в результате вычисления всех возможных функций /: Q -^Х, где X- некоторое произвольное множество.

4. Для любого контейнера сеСи Q вероятность того, что в нем содержится дополнительная информация, должна быть равна 1 (пустой контейнер тоже содержит в себе информацию);

5. Внедрение информации в контейнер должно осуществляться не за счет записи в него дополнительной информации, а за счет изменения уже существующей VmеM, сеС: Н(д) = Н(с), q = к(т,с);

Из требований 3-5 можно сформулировать дополнительные требования, касающиеся элементов из М. Так распределение возможных сообщений теМ должно быть равномерным, а распределение элементов отдельного сообщения т должно соответствовать распределению той информации в контейнере, которая будет замещена в процессе записи сообщения т в контейнер.

Можно заметить, что производные требования к элементам множества M соответствуют требованиям, сформулированным К. Шенноном для совершенных шифров. Таким образом, для того, чтобы стегосистема обладала высоким уровнем стойкости, применяемые в ней стеганографические алгоритмы должны максимально полно отвечать представленным выше требованиям, а предварительная обработка скрываемых сообщений должна включать в себя этап шифрования передаваемых сообщений. Этап шифрования позволит добиться равномерности распределения над M и ввести дополнительный параметр стегосистемы - ключ. Заметим, что из любого контейнера противник может извлечь некоторое сообщение. В случае если характеристики сообщений извлеченных из пустого и заполненного контейнеров совпадут, без знания самого передаваемого сообщения или какой-либо другой дополнительной информации, однозначно, установит факт скрытой передачи сообщения будет невозможно. Таким образом, ключ шифрования может быть превращен в ключ стеганографической системы. Саму стеганографическую систему в данном случае будем называть криптостеганографической. В общем случае такая система обладает стойкостью, эквивалентной стойкости используемых в ней алгоритмов шифрования, но только тогда, когда применяемые стеганографические алгоритмы отвечают описанным выше требованиям и являются совершенными или же е совершенными [3] со значением е > 0.

Модель стегоканала с использованием блочных шифров и ЭЦП

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

Общая схема предлагаемой модели стегоканала с выделением всех основных этапов формирования стегосообщений на стороне отправителя представлена на рис. 2. Согласно сделанным в предыдущем параграфе предложениям по использованию алгоритмов шифрования можно сформировать стеганографический протокол передачи данных содержащий следующие шаги на стороне отправителя:

1. Сжатие исходного сообщения m е M для увеличения энтропии и уменьшения размеров пересылаемого сообщения |m j < |m|.

2. Приведение размера сжатого сообщения в соответствии с емкостью выбранного контейнера, разбиение больших сообщений и разбавление незначащей информацией более коротких m' ^ т[, m2 , .m'n , где |mj определяется емкостью соответствующего контейнера с е C .

3. Формирование заголовков, содержащих информацию о длине, номере и других необходимых параметрах сообщения т, вычисление контрольной суммы или ЭЦП отсылаемого сообщения и добавление ее в конец сообщения: mj = Caption, mj, Hash(mj)}.

4. Шифрование сформированного сообщения mj на ключе к е K, где K -

множество ключей шифрования: mj = Ек Caption, mj, Hash(mi)}.

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

6. Внедрение сообщения в контейнер q = h(mjj, с).

Этап шифрования в данном случае, как отмечалось ранее, выполняет несколько функций, во-первых, использование предварительного шифрования по-

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

Необходимо также учитывать и то, что в ходе записи сообщений в контейнеры с помощью реальных алгоритмов все же возможно искажение некоторых параметров контейнеров, что может быть выявлено противником при сопоставлении параметров пустых и заполненных контейнеров. Для того чтобы исключить такую возможность, необходимо при передаче пустых контейнеров заполнять их каким-либо «мусором», т.е. случайными данными, не несущими никакой информации. При этом все характеристики «мусора» должны соответствовать характеристикам передаваемых сообщений. Кроме того, в реальных системах необходимо учитывать также и вероятность того, что при определенных сочетаниях параметров контейнеров и скрываемых сообщений стегосистема может быть обнаружена некоторыми из известных методов стегоанализа. Чтобы не допустить подобных ситуаций, отправителю необходимо самому, непосредственно перед отправкой сообщения, проверить сформированное им стегосообщение на стойкость к известным методам стегоанализа. Также важным моментом является разовость контейнеров, ведь в случае повторения контейнера противник простым сравнением двух перехваченных им контейнеров может легко обнаружить скрытый канал.

Задача автоматизированной передачи секретной информации при использовании методов стеганографии требует автоматизации не только блока формирования сжатых сообщений, но также и блока выбора анализа и предварительной обработки и отбраковки контейнеров. В предложенной модели данный аспект также учитывается. Так на первом шаге осуществляется случайный выбор контейнера из базы имеющихся и еще не задействованных контейнеров либо осуществляется автоматическая генерация нового контейнера. Выбранный на некотором шаге контейнер проходит предварительную проверку, в ходе которой устанавливается: соответствуют ли параметры конкретного контейнера общим среднестатистическим параметрам остальных контейнеров, в случае если по каким-то параметрам выявлено отклонение, контейнер отбраковывается и вместо него выбирается другой. В ходе предварительного анализа также устанавливается возможный свободный объем контейнера. Прошедший предварительный анализ контейнер подвергается более тщательному анализу с учетом установленных для конкретной стегосистемы параметров сокрытия информации и требований уровня защиты передаваемой информации, т.е. проверяется, является ли для данного контейнера возможное в ходе записи информации максимальное искажение допустимым.

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

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

S = (Е({Сарйоп, М'и Sign})|Dust)©C

Рис. 2. Схема криптостеганографической системы на стороне отправителя

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

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

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

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

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1. Christian Cachin, An Information-Theoretic Model for Steganography, In Proceeding of 2nd Workshop on Information Hiding (D. Aucsmith, ed.), Lecture Notes in Computer Science, Springer, 1525, pp. 306-318, 1998.

2. ЗубовА.Ю., Совершенные шифры. - М.: Гелиос АРВ, 2003. - 160 с.

3. Алиев А.Т., Баткин А.В. Оценка стойкости систем скрытой передачи информации // Известия ТРТУ. Тематический выпуск. Материалы VII Международной научно-практической конференции "Информационная безопасность''-Таганрог: Изд-во ТРТУ, 2005. №4 (48), - С.199-204.

В.О. Осипян

Россия, г. Краснодар, Кубанский госуниверситет

МОДЕЛЬ СЗИ С СЖАТИЕМ И ИСПРАВЛЕНИЕМ ОШИБОК

Исходя из теоретических истоков построения стойких и эффективных систем защиты информации, отметим особо, что все математические задачи, да и не только они, являются системами сокрытия и защиты информации с заданными условиями, а сами решения указанных задач соответствуют правильным ключам. Что же касается вопроса решений, то они соответствуют испытанию или проверке правильного ключа. Стало быть, выбор подходящей задачи позволит строить систему защиты информации на должном уровне. Особенно если этот выбор, как отметил ещё К. Шеннон [1], связан с задачей, которая содержит диофантовые трудности или, в общем случае, принадлежит классу NP-полных задач.

П

Пусть х1,х2,...,хт = У!,У2»—»Ут , 1 < n < m (1)

- многостепенная система диофантовых уравнений размерности m степени n, а

П

а i , а 2 , . . . , а m = b 1 , b 2 , ... , b m, (2)

её двупараметрическое решение aj = aj (a, b), b = b (a, b), i = 1. . m, которое можно устанавливать методами работ [3, 4], где a и b некоторые параметры.

Далее, сопоставим каждому двупараметрическому решению (2) системы (1) два рюкзака

А = (ai , а2 , . . . , am) и B = (bi, b2, . . . , bm).

Мы говорим, что числовые рюкзаки А и B размерности m равносильны между собой и имеют степень n, если компоненты А и B являются решениями системы диофантовых уравнений (1). Этот факт будем записывать так:

П П

A = B или (a i , а 2 , ... , a m) = (b 1 , b 2 , ... , b m). (3)

Очевидно, относительно введённого бинарного отношения выполняются следующие три свойства равносильности:

i Надоели баннеры? Вы всегда можете отключить рекламу.