Сокрытие данных в изображении и видео

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

· кодовой избыточностью, возникающей при неоптимальном описании изображения;

· межпиксельной избыточностью, которая обусловлена наличием сильной корреляционной зависимостью между пикселями реального изображения;

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

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

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

· методы замены во временной (пространственной) области;

· методы сокрытия в частотной области изображения;

· широкополосные методы;

· статистические методы;

· методы искажения;

· структурные методы.

Рассмотрим некоторые особенности, которые характерны для каждой из выделенных групп стеганометодов.

Методы замены

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

Наиболее распространенным методом этого класса является метод замены наименьшего значащего бита (НЗБ).

Популярность метода НЗБ обусловлена его простотой и тем, что он позволяет скрывать в относительно небольших файлах довольно большие объемы информации. Данный метод обычно работает с растровыми изображениями, которые представлены в формате без сжатия (например, GIF и BMP). Основным его недостатком является сильная чувствительность к малейшим искажениям контейнера. Для ослабления этой чувствительности часто применяют помехоустойчивое кодирование.

Суть метода НЗБ заключается в замене наименее значащих битов пикселей изображения битами секретного сообщения. В простейшем случае проводится замена НЗБ всех последовательно расположенных пикселей изображения. Однако, так как длина секретного сообщения обычно меньше количества пикселей изображения, то после его внедрения в контейнере будут присутствовать две области с различными статистическими свойствами (область, в которой незначащие биты были изменены, и область, в которой они не менялись). Это может быть легко обнаружено с помощью статистических тестов. Для создания эквивалентного изменения вероятности всего контейнера секретное сообщение обычно дополняют случайными битами так, чтобы его длина в битах была равна количеству пикселей в исходном изображении.

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

Для контейнеров произвольного доступа (изображений) может использоваться метод псевдослучайной перестановки.

Его суть заключается в том, что генератор псевдослучайных чисел производит последовательность индексов j1, ..., jl(m) и сохраняет k-й бит сообщения в пикселе с индексом jk. Однако в этом случае один индекс может появиться в последовательности более одного раза, т.е. может произойти “пересечение” — искажение уже встроенного бита. Если число битов сообщения намного меньше размера изображения, то вероятность пересечения незначительна, и поврежденные биты могут быть восстановлены с помощью корректирующих кодов. Вероятность, по крайней мере, одного пересечения оценивается как

p » 1 – exp, при условии, что l(m)<< l(c).

При увеличении l(m) и l(c)=const данная вероятность стремится к единице. Для предотвращения пересечений необходимо сохранять все индексы использованных элементов ji и перед сокрытием нового пикселя проводить проверку его на повторяемость.

Еще один подход в реализации метода замены (метод блочного сокрытия) состоит в следующем. Исходное изображение-контейнер разбивается на l(m) непересекающихся блоков Ii произвольной конфигурации и для каждого из них вычисляется бит четности p(Ii):

p(I) =

В каждом блоке проводится сокрытие одного секретного бита mi. Если бит четности p(Ii) блока Ii не совпадает с секретным битом mi, то происходит инвертирование одного из НЗБ блока Ii, в результате чего p(Ii) = mi. Выбор блока может производиться случайно с использованием стегоключа. Хотя этот метод обладает такой же устойчивостью к искажениям, как и все предыдущие, он имеет ряд преимуществ. Прежде всего, имеется возможность изменять значения такого пикселя в блоке, для которого статистика контейнера изменится минимально. Кроме того, влияние последствий встраивания секретных данных в контейнер можно уменьшить за счет увеличения размера блока.

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

Палитра из N цветов определяется как список пар индексов (i, ci), который определяет соответствие между индексом i и его вектором цветности ci. В изображении каждому пикселю присваивается индекс в палитре. Так как цвета в палитре не всегда упорядочены, то скрываемую информацию можно кодировать последовательностью хранения цветов в палитре. Существует N! различных способов перестановки N-цветной палитры, что вполне достаточно для сокрытия небольшого сообщения. Однако методы сокрытия, в основе которых лежит порядок формирования палитры, также неустойчивы: любая атака, связанная с изменениями палитры, уничтожает секретное сообщение.

Зачастую соседние цвета в палитре не обязательно являются схожими, поэтому некоторые стеганометоды перед сокрытием данных проводят упорядочивание палитры так, что смежные цвета становятся подобными. Например, значения цвета может быть упорядочено по расстоянию d в RGB-пространстве, где d = . Так как орган зрения человека более чувствителен к изменениям яркости цвета, то намного лучше сортировать содержимое палитры по значениям яркости сигнала. После сортировки палитры можно изменять НЗБ индексов цвета без особого искажения изображения.

Некоторые стеганометоды предусматривают уменьшение общего количества значений цветов (до N/2) путем “размывания” изображения. При этом элементы палитры дублируются так, чтобы значения цветов для них различались незначительно. В итоге каждое значение цвета размытого изображения соответствует двум элементам палитры, которые выбираются в соответствии с битом секретного сообщения.

К методам замены можно также отнести метод квантования изображений. Данный метод основан на межпиксельной зависимости, которую можно описать некоторой функцией Q. В простейшем случае, можно рассчитать разность ei между смежными пикселями xi и xi+1 и задать ее в качестве параметра для функции Q: Δi = Q(xi – xi 1), где Δi — дискретная аппроксимация разности сигналов xi – xi 1. Так как Δi является целым числом, а реальная разность xi – xi 1 — вещественным, то появляется ошибка квантования di = Δi – ei. Для сильно коррелированных сигналов эта ошибка близка к нулю: di » 0. В данном методе сокрытие информации проводится путем корректирования разностного сигнала Δi. Стегоключ представляет собой таблицу, которая каждому возможному значению Δi ставит в соответствие определенный бит, например:

Δi –4 –3 –2 –1
 

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

Наши рекомендации