Таким образом, если применить корректирующие преобразования к стего, то использованные методы статистического стегоанализа не способны выявить факт существования стегоканала. Однако справедливости ради необходимо отметить, что могут быть построены другие статистические атаки, для нейтрализации которых потребуется дополнительно использовать избыточные биты, что еще более уменьшит скорость передачи скрываемой информации.
Совершенствование стегосистем в общем случае может быть описано некоторым итеративным процессом. Стегосистемы разрабатываются и предлагаются авторами к использованию. Они исследуются известными методами стегоанализа, при необходимости для них разрабатываются новые методы анализа, и так до тех пор, пока не удается их взломать. Затем с учетом выявленных слабостей затем принципы построения стегосистем совершенствуются, но одновременно развиваются и стегоатаки. Этот процесс итеративно продолжается, пока не удается доказать, что при текущем уровне развития стегоанализа данная стегосистема является практически стойкой. Такой процесс сложился для анализа и синтеза криптосистем, и очевидно, что он справедлив и для стегосистем. Однако надо учитывать, во-первых, что по сравнению с криптосистемами в стегосистемах есть дополнительный параметр – контейнер, а во-вторых, практическая стойкость стегосистем может иметь значительно большее число толкований.
4.5. Теоретико-сложностный подход к оценке стойкости стеганографических систем
Рассмотренные в работах [2], [3] информационно-теоретические модели стойкости стеганографических систем имеют существенные недостатки. Впервые на это было обращено внимание в статье [19]. Как отмечено в этой работе, успешно применяемые для анализа криптосистем информационно- теоретические методы плохо подходят для анализа стегосистем. Причина этого в том, что процедура обнаружения скрытого сообщения не может быть смоделирована как непрерывный процесс. В самом деле, нарушитель может получить лишь два результата анализа подозрительного канала связи: либо он обнаружит факт присутствия стегосистемы, либо нет. Таким образом, мы имеем дело с прерывистым процессом, к которому неприменимы методы теории информации. В криптографии не так, там нарушитель может получать частичное знание об открытом сообщении (или ключе), и тем не менее система будет практически стойкой. Стегосистема же обязана быть совершенно стойкой по Шеннону. На рис.4.11 на качественном уровне показана разность между криптосистемами и стегосистемами.
Осознание факта малопригодности информационно-теоретических моделей для анализа стегосистем повлекло за собой появление теоретико-сложностных подходов к оценке их стойкости [20]. В этой работе по-новому рассмотрено понятие стойкости стегосистем и построена конструктивная модель стойкой стегосистемы в виде вероятностной полиномиальной по времени игры между нарушителем и скрывающим информацию. К основным недостаткам информационно-теоретических моделей стегосистем можно отнести следующие.
1) Также как и в криптографии, на практике невозможно реализовать совершенно стойкую стегосистему. Можно показать, что реализация такой стегосистемы сводится к одноразовому блокноту (так называемому шифру Вернама). Таким образом, информационно-теоретические модели стегосистем неконструктивны.
2) Распределение вероятностей контейнеров на практике неизвестно, или известно с точностью до некоторой весьма и весьма приблизительной модели.
3) Используемые контейнеры отнюдь не являются реализацией случайного процесса, а, чаще всего, оцифрованными образами реальных физических объектов.
4) Вполне реалистично было бы предположить, что нарушитель имеет доступ лишь к ограниченным вычислительным ресурсам. Как и в криптографии достаточно потребовать, чтобы стегосистема выдерживала бы все полиномиальные тесты по ее обнаружению. Этот момент также не учитывают информационно-теоретические модели.
Рассмотрим модель стегосистемы, предложенную в работе [20]. Предположим, что имеется множество возможных контейнеров , элементы которого порождаются некоторым полиномиальным алгоритмом. Встраиваемое сообщение , выбирается из множества возможных сообщений . Стегосистема определяется тройкой полиномиальных алгоритмов.
Алгоритм есть процесс генерации ключа, который в ответ на входную строку из единиц порождает псевдослучайный стегоключ . В соответствие с принципом Керхгофа стойкость зависит от ключа, а его длина является параметром секретности стегосистемы. Алгоритм выполняет внедрение информации, формируя на основе , и , стего . Алгоритм извлекает из с использованием ключа сообщение . В случае, если контейнер действительно содержал встроенное сообщение, то . Для определения наличия стегосистемы нарушитель должен решить следующую задачу:
на основе контейнера определить, существует ли ключ , порождаемый и сообщение такие, что .
Интересно отметить, что если на структуру скрытого сообщения не накладывается никаких ограничений, то для многих стегосистем эта задача неразрешима. В самом деле, любая комбинация бит может быть вложением, и даже если нарушитель каким-то образом и заподозрит наличие скрытой связи, все равно ему невозможно будет доказать это третьей стороне. Поэтому, в работе [20] на структуру скрытого сообщения накладывается ограничение: оно должно иметь какой-то семантический смысл.
Далее, считается, что у нарушителя имеется стегосистема в виде «черного ящика», то есть он имеет возможность порождать стего из выбираемых им контейнеров и скрытых сообщений, не зная при этом ключа. Для этой цели у него имеется два оракула: один для генерации пустых контейнеров (стеганографический оракул), другой – для получения из них стего, то есть имитации алгоритма внедрения (оракул оценки). Так как оба оракула вероятностные, то в случае выбора первым оракулом несколько раз подряд одного и того же контейнера, стего будут получаться различными. Это помогает нарушителю выяснять структуру алгоритма внедрения, выбрав в качестве контейнера, например, однотоновое изображение.
Атака (игра) заключается в следующем. Нарушитель имеет неоднократную возможность генерировать контейнеры и соответствующие им стего, пытаясь выяснить структуру стегоалгоритма. При этом имеется то ограничение, что вся процедура должна быть полиномиальной по длине ключа и размеру контейнера. После того, как он закончил работу, ему предъявляются два случайно выбранных контейнера: один пустой, другой – заполненный. Стегосистема называется условно стойкой, если у нарушителя нет возможности правильного определения стего с вероятностью, незначительно отличающейся от1/2. В работе [20] дано определение понятия «незначительно отличающейся» и приведено математическое описание вербально изложенной выше модели. Условно стойкая стегосистема сохраняет это свойство для всех возможных ключей и всех возможных контейнеров.
Ясно, что понятие условно стойкой стегосистемы более слабое, чем понятие стегосистемы, стойкой с информационо-теоретической точки зрения и включает ее как частный случай. Безусловно стойкая стегосистема в приведенной выше модели получается в случае, если снять ограничение полиномиальности во времени игры.
Каким образом построить условно стойкую стегосистему? Одна из возможностей, широко используемая и в криптографии, заключается во взятии за основу какой-нибудь трудной в вычислительном смысле математической задачи, например, обращение односторонней функции (разложение на множители, дискретное логарифмирование и т.д.). Тогда останется показать связь между невозможностью решения этой задачи и невозможностью вскрытия стегосистемы – и условно стойкая стегосистема построена. Из криптографии известно, что, к сожалению, вопрос построения доказуемо односторонней функции нерешен. В работе [20] показано, как можно построить стегосистему на основе известного криптоалгоритма RSA.
Ранее была исследована стойкость стегосистем к попыткам пассивного нарушителя установления факта скрытия передаваемых сообщений. Дополнительно к требованиям скрытности связи могут предъявляться требования по исключению навязывания в стегоканале ложных сообщений активным нарушителем. Например, в работе Г.Симмонса описана так называемая задача заключенных [6]. В этой задаче арестованные Алиса и Боб пытаются по скрытому каналу связи договориться о побеге. Тюремщик Вилли пытается не только обнаружить факт обмена информации, но и от имени Алисы навязать Бобу ложную информацию. Потому рассмотрим особенности построения стегосистем с возможностью аутентификации передаваемых сообщений, возможные атаки нарушителя и определим оценки имитостойкости стегосистем.
Формально опишем построение стегосистемы с аутентификацией скрытно передаваемых сообщений. Пусть стегосистема использует секретный ключ, принимающий значения Множество контейнеров С разбивается на n подмножеств каждое из которых описывается своим вероятностным распределением Поставим подмножества контейнеров в соответствие секретным ключам При действующем ключе аутентификации сообщение, доставленное по каналу скрытой связи, считается получателем подлинным, если оно вложено в контейнер, принадлежащий подмножеству с распределением Если при действующем ключе заполненный контейнер не принадлежит подмножеству , то извлеченное из него сообщение признается получателем ложным. Таким образом, при действующем ключе все множество контейнеров разделено на допустимые, в которых подлинность вложенных в них сообщений признается получателем, и недопустимые, которые не могут быть выбраны для передачи отправителем скрываемых сообщений. Следовательно, получение таких контейнеров с вложенными сообщениями означает, что они навязаны нарушителем.
Если принятое стего S имеет распределение , совпадающее с распределением множества допустимых контейнеров при действующем ключе , то функция проверки подлинности скрываемых в них сообщений принимает единичное значение и полученное сообщение признается подлинным, а если распределения не совпадают, то функция принимает нулевое значение и сообщение отвергается как имитонавязанное:
Функция проверки подлинности при построении стегосистемы с аутентификацией сообщений может быть задана аналитически, графически или в виде таблицы. При аналитическом задании каждому значению ключа ставится в соответствие свое подмножество допустимых контейнеров. Эти подмножества отличаются друг от друга законами распределения или их параметрами. Например, используются различные распределения вероятностей непрерывных контейнеров (нормальное, Райса, Накагами и другие). Или подмножества контейнеров-изображений отличаются спектральными характеристиками. Например, в каждом подмножестве энергия спектра изображений сосредоточена в своем диапазоне частот. Известно, что изображения можно разделить на высокочастотные, основная энергия спектра которых принадлежит верхней полосе частот, и на низкочастотные. Также можно разделить контейнеры-изображения на подмножества по типу сюжета: пейзаж, портрет, натюрморт и т. п. Хотя при сюжетном разбиении трудно математически строго задать функцию в терминах законов распределения, на практике задание такой функции не представляет труда. Множество всех контейнеров разбивается на n непересекающихся подмножеств контейнеров Например, контейнеры могут быть разбиты на подмножества их пересечением. При действующем ключе отправитель выбирает подмножество контейнеров . Скрываемое сообщение , где , встраивается в контейнер этого подмножества, образуя стегограмму . Получатель стегограммы проверяет ее соответствие действующему ключу. Он убеждается, что полученная стегограмма допустима при ключе , если выполняется . Это равенство выполняется, если стегограмма принадлежит подмножеству контейнеров . Следовательно, извлеченное из этой стегограммы сообщение подлинно. Но если принятая стегограмма не принадлежит допустимому подмножеству контейнеров, то функция проверки принимает нулевое значение, и принятое сообщение отвергается как ложное. Графическое описание функции проверки подлинности представлено на рис. 4.12. Пусть по стегоканалу могут передаваться различных сообщений: Множество ключей стегосистемы состоит из n ключей, из которых равновероятно и случайно выбирается действующий ключ.