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