Методы сокрытия в частотной области изображения
Как уже отмечалось, стеганографические методы замены неустойчивы к любым искажениям, а применение операции сжатия с потерями приводит к полному уничтожению всей секретной информации, скрытой методом НЗБ в изображении. Более устойчивыми к различным искажениям, в том числе сжатию, являются методы, которые используют для сокрытия данных не временную область, а частотную.
Существуют несколько способов представления изображения в частотной области. Например, с использованием дискретного косинусного преобразования (ДКП), быстрого преобразования Фурье или вейвлет-преобразования. Данные преобразования могут применяться как ко всему изображению, так и к некоторым его частям. При цифровой обработке изображения часто используется двумерная версия дискретного косинусного преобразования:
S(u, v) = C(u) C(v) cos cos,
S(x, y) = cos cos,
где C(u)=1/, если u=0 и C(u)=1 в противном случае.
Один из наиболее популярных методов сокрытия секретной информации в частотной области изображения основан на относительном изменении величин коэффициентов ДКП. Для этого изображение разбивается на блоки размером 8´8 пикселей. Каждый блок предназначен для сокрытия одного бита секретного сообщения. Процесс сокрытия начинается со случайного выбора блока bi, предназначенного для кодирования i-го бита сообщения. Для выбранного блока изображения bi проводится ДКП: Bi = D{bi}. При организации секретного канала абоненты должны предварительно договориться о конкретных двух коэффициентах ДКП, которые будут использоваться для сокрытия секретных данных. Обозначим их как (u1, v1) и (u2, v2). Эти два коэффициента должны соответствовать косинус-функциям со средними частотами, что обеспечит сохранность информации в существенных областях сигнала, которая не будет уничтожаться при JPEG-сжатии. Так как коэффициенты ДКП-средних являются подобными, то процесс сокрытия не внесет заметных изменений в изображение.
Если для блока выполняется условие Bi(u1, v1) > Bi(u2,v2), то считается, что блок кодирует значение 1, в противном случае — 0. На этапе встраивания информации выбранные коэффициенты меняют между собой значения, если их относительный размер не соответствует кодируемому биту. На шаге квантования JPEG-сжатие может воздействовать на относительные размеры коэффициентов, поэтому, прибавляя случайные значения к обеим величинам, алгоритм гарантирует что |Bi(u1, v1) – Bi(u2,v2)| > x, где x > 0. Чем больше x, тем алгоритм будет более устойчивым к сжатию, но при этом качество изображения ухудшается. После соответствующей корректировки коэффициентов выполняется обратное ДКП.
Извлечение скрытой информации проводится путем сравнения выбранных двух коэффициентов для каждого блока.
Широкополосные методы
Широкополосные методы передачи применяются в технике связи для обеспечения высокой помехоустойчивости и затруднения процесса перехвата. Суть широкополосных методов состоит в значительном расширении полосы частот сигнала, более чем это необходимо для передачи реальной информации. Расширение диапазона выполняется в основном посредством кода, который не зависит от передаваемых данных. Полезная информация распределяется по всему диапазону, поэтому при потере сигнала в некоторых полосах частот в других полосах присутствует достаточно информации для ее восстановления.
Таким образом, применение широкополосных методов в стеганографии затрудняет обнаружение скрытых данных и их удаление. Цель широкополосных методов подобна задачам, которые решает стегосистема: попытаться “растворить” секретное сообщение в контейнере и сделать невозможным его обнаружение. Поскольку сигналы, распределенные по всей полосе спектра, трудно удалить, стеганографические методы, построенные на основе широкополосных методов, являются устойчивыми к случайным и преднамеренным искажениям.
Для сокрытия информации применяют два основных способа расширения спектра:
· с помощью псевдослучайной последовательности, когда секретный сигнал, отличающийся на константу, модулируется псевдослучайным сигналом;
· с помощью прыгающих частот, когда частота несущего сигнала изменяется по некоторому псевдослучайному закону.
Рассмотрим один из вариантов реализации широкополосного метода. В качестве контейнера используется полутоновое изображение размером N´М. Все пользователи скрытой связи имеют множество l(m) изображений ji размером N´М, которое используется в качестве стегоключа. Изображения ji ортогональны друг другу, т.е.
ji jj = = Gidij, где Gi = , dij — дельта-функция.
Для сокрытия сообщения m необходимо сгенерировать стегосообщение E(x, y) в виде изображения, формируя взвешенную сумму
E(x, y) =
Затем, путем формирования поэлементной суммы обоих изображений, встроить секретную информацию E в контейнер C: S(x, y)=C(x, y) + E(x, y).
В идеале, контейнерное изображение C должно быть ортогонально ко всем ji (т.е. =0), и получатель может извлечь i-й бит сообщения mi, проектируя стегоизображение S на базисное изображение ji:
= + = = Gi mi (20.1)
Секретная информация может быть извлечена путем вычисления mi = /Gi. Заметим, что на этом этапе нет нужды в знании исходного контейнера C. Однако на практике контейнер C не будет полностью ортогонален ко всем изображениям ji, поэтому в соотношение (20.1) должна быть введена величина погрешности (C, ji) = ΔCi, т.е. (C, ji) = ΔCi + Gimi.
Покажем, что при некоторых допущениях, математическое ожидание ΔCi равно нулю. Пусть C и ji две независимые случайные величины размером N´M. Если предположить, что все базисы изображений не зависят от передаваемых сообщений, то:
[ΔCi] = [ji(x, y)] = 0
Таким образом, математическое ожидание величины погрешности =0. Поэтому операция декодирования заключается в восстановлении секретного сообщения путем проектирования стегоизображения S на все функции ji: Si = = ΔCi + Gimi. Если математическое ожидание ΔCi равно нулю, то Si » Gimi. Если секретные сообщения были закодированы как строки –1 и 1 (вместо простого использования двоичных строк), значения mi могут быть восстановлены с помощью функции:
mi = sign(Si) = , при условии, что Gi>>0
Если mi = 0, то скрываемая информация будет утеряна. При некоторых условиях значение |ΔCi| может возрасти настолько (хотя его математическое ожидание равно нулю), что извлечение соответствующего бита станет невозможным. Однако это происходит редко, а возможные ошибки можно исправлять, применяя корректирующие коды.
Основное преимущество широкополосных стеганометодов — это сравнительно высокая устойчивость к искажениям изображения и разного вида атакам, так как скрываемая информация распределена в широкой полосе частот, и ее трудно удалить без полного разрушения контейнера. Искажения стегоизображения увеличивают значение ΔCi и, если |ΔCi| > |ΔGimi|, то скрытое сообщение не пострадает.
Статистические методы
Статистические методы скрывают информацию путем изменения некоторых статистических свойств изображения. Они основаны на проверке статистических гипотез. Суть метода заключается в таком изменении некоторых статистических характеристик контейнера, при котором получатель сможет отличить модифицированное изображение от не модифицированного.
Данные методы относятся к “однобитовым” схемам, т.е. ориентированы на сокрытие одного бита секретной информации. l(m)-разрядная статистическая стегосистема образуется из множества одноразрядных путем разбиения изображения на l(m) непересекающихся блоков B1, ..., Bl(m). При этом секретный бит сообщения mi встраивается в i-й блок контейнера. Обнаружение спрятанного бита в блоке производится с помощью проверочной функции, которая отличает модифицированный блок от немодифицированного:
f(Bi) =
Основная задача при разработке статистического метода — это создание соответствующей функции f. Построение функции f делается на основе теории проверки статистических гипотез (например: основной гипотезы “блок Bi не изменен“ и альтернативной — “блок Bi изменен”). При извлечении скрытой информации необходимо последовательно применять функцию f ко всем блокам контейнера Bi. Предположим, что известна статистика распределения элементов немодифицированного блока изображения h(Bi). Тогда, используя стандартные процедуры, можно проверить, превышает ли статистика h(Bi) анализируемого блока некоторое пороговое значение. Если не превышает, то предполагается, что в блоке хранится бит 0, в противном случае — 1.
Зачастую статистические методы стеганографии сложно применять на практике. Во-первых, необходимо иметь хорошую статистику h(Bi), на основе которой принимается решение о том, является ли анализируемый блок изображения измененным или нет. Во-вторых, распределение h(Bi) для “нормального” контейнера должно быть заранее известно, что в большинстве случаев является довольно сложной задачей.
Рассмотрим пример статистического метода. Предположим, что каждый блок контейнера Bi представляет собой прямоугольник пикселей p(i)n,m. Пусть имеется псевдослучайная двоичная модель того же размера S = { S(i)n,m }, в которой количество единиц и нулей совпадает. Модель S в данном случае представляет собой стегоключ. Для сокрытия информации каждый блок изображения Bi делится на два равных подмножества Ci и Di, где Ci = { p(i)n,m Î Bi | Sn,m = 1} и Di = { p(i)n,m Î Bi | Sn,m = 0}. Затем ко всем пикселям множества Ci добавляется значение k > 0. Для извлечения сообщения необходимо реконструировать подмножества Ci и Di и найти различие между ними. Если блок содержит сообщение, то все значения подмножества Ci будут больше, чем соответствующие значения на этапе встраивания сообщения. Если предположить, что все пиксели Ci и Di независимые, случайно распределенные величины, то можно применить статистический тест:
qi = , где =,
где — среднее значение всех пикселей множества Ci, а Var[Ci] — оценка дисперсии случайных переменных в Ci. В соответствии с центральной предельной теоремой, статистика q будет асимптотически стремиться к нормальному распределению N(0, 1). Если сообщение встроено в блок изображения Bi, то математическое ожидание q будет больше нуля. Таким образом, i-й бит секретного сообщения восстанавливается путем проверки статистики qi блока Bi на равенство нулю.
Методы искажения
Методы искажения, в отличие от предыдущих методов, требуют знания о первоначальном виде контейнера. Схема сокрытия заключается в последовательном проведении ряда модификаций контейнера, которые выбираются в соответствии с секретным сообщением. Для извлечения скрытых данных необходимо определить все различия между стеганограммой и исходным контейнером. По этим различиям восстанавливается последовательность модификаций, которые выполнялись при сокрытии секретной информации. В большинстве приложений такие системы бесполезны, поскольку для извлечения данных необходимо иметь доступ к набору первоначальных контейнеров: если противник также будет иметь доступ к этому набору, то он сможет легко обнаружить модификации контейнера и получить доказательства скрытой переписки. Таким образом, основным требованием при использовании таких методов является необходимость распространения набора исходных контейнеров между абонентами сети через секретный канал доставки.
Методы искажения легко применимы к цифровым изображениям. Как и в методах замены, для сокрытия данных выбирается l(m) различных пикселей контейнера, которые используются для сокрытия информации. Такой выбор можно произвести, используя датчик случайных чисел (или перестановок). При сокрытии бита 0 значение пикселя не изменяется, а при сокрытии 1 к цвету пикселя прибавляется случайное значение Dх. Хотя этот подход подобен методу замены, имеется одно существенное различие: в методе LSB значение выбранного цвета не обязательно равняется секретному биту сообщения, а в методах искажения при сокрытии нулевого бита не происходит никаких изменений. Помимо этого, значение Dх может быть выбрано так, что будут сохраняться статистические свойства контейнера. Для извлечения скрытых данных необходимо провести сравнение всех l(m) выбранных пикселей стеганограммы с соответствующими пикселями исходного контейнера. Если i-й пиксель будет отличаться, то это свидетельствует о том, что в скрытом сообщении был единичный бит, иначе — нулевой.
Существует еще один подход к реализации метода искажения изображения при сокрытии данных. В соответствии с данным методом при вставке скрываемых данных делается попытка скорее изменить порядок появления избыточной информации в контейнере, чем изменить его содержимое. При сокрытии данных составляется определенный “список пар” пикселей, для которых отличие будет меньше порогового. Этот список играет роль стегоключа — без него нельзя восстановить секретное сообщение. Если абонент имеет доступ к “списку пар”, он всегда сможет провести обратную процедуру.
Структурные методы
Рассмотренные выше методы в основном использовали информационную избыточность на уровне пикселей или же проводили преобразования в частотной области изображения. Ниже рассматривается метод, в котором сокрытие информации проводится на содержательном уровне с использованием структурных и информационных параметров изображения. По существу, он является развитием известной стеганографической технологии — семаграмм. Суть метода заключается в проведении последовательных преобразований фрагментов графического изображения, которые в конечном итоге приводят к формированию скрываемого текста.
В настоящее время появилось множество графических пакетов программ и баз данных, с помощью которых можно создавать различные графические изображения, презентации, мультипликацию и пр. В каждом графическом изображении можно выделить отдельные компоненты, которые в соответствии с его областью интерпретации имеют свою информационную нагрузку. Визуальный образ S можно представить в виде цифровой последовательности, которая затем легко преобразуется в текстовое сообщение. Это возможно, например, в процессе покрытия образа некоторым графом, используя информационную интерпретацию его отдельных компонентов. В первом приближении вершинами такого графа могут служить отдельные компоненты рисунка, а ребрами — их соединения. При кодировании скрываемой информации полученный граф можно преобразовывать достаточно широким спектром известных в теории графов преобразованиями. В конечном итоге такой граф может быть размечен в соответствии с определенным алгоритмом и представлен в виде его числового инварианта. Простейшим инвариантом является матрица смежности графа (последовательность нумерации вершин). Можно использовать несколько инвариантов, которые описываются в виде многочлена. Секретный ключ при таком подходе — это способ нумерации графа. Известно, что возможное количество перенумерованных графов для произвольного графа достаточно большое. Это обстоятельство делает предложенный способ сокрытия сообщений достаточно устойчивым против атак вскрытия.
В структурных методах можно выделить отдельные этапы стеганографического преобразования.
Первым этапом является преобразование защищаемого секретного сообщения m в цифровую форму CH. Это преобразование может быть, например, любым криптографическим преобразованием. Оно представляет собой шифрование текста со всеми соответствующими атрибутами, включая ключи шифрования.
Второй этап представляет собой преобразование последовательности чисел CH в графическую структуру GS. В качестве графических структур чаще всего используются графы. Кроме графов, можно использовать различные пиктограммы или другие структуры, которые поддаются формальному описанию тем или иным способом.
На третьем этапе осуществляется преобразование графической структуры GS в визуальную информационную среду WS. В общем случае в качестве такой среды может использоваться, например, любая мультимедийная или программная среда.
Четвертый этап представляет собой совокупность методов и соответствующих процедур, с помощью которых формируется сюжет из визуальных образов с внедренными в них тайными сообщениями.
В рамках данного подхода визуальный образ состоит из графических элементов, которые идентифицируются с элементами GS. Данные элементы представляют собой помеченные вершины, помеченные или непомеченные ребра и другие элементы, идентифицирующие компоненты из CH. Необходимым этапом функционирования такой стегосистемы является формирование некоторого сюжета для фрагмента информационной среды из отдельных графических образов.
Таким образом, вся цепочка преобразований, которая реализуется стегосистемой на уровне отдельных этапов преобразования, может быть записана в виде: SÞCHÞGSÞWSÞSJ, где SJ — описание сюжета, которое составляется из отдельных графических образов. Следует отметить, что рассмотренный подход применим как для преобразования изображения с целью размещения в нем скрываемого сообщения, так и для генерирования визуального изображения по секретному сообщению.