Переведенная статья N.F. Johnson, S. Jajodia
Обзор стеганографии: Видимое и невидимое

Перевод: Хотов Антон Андреевич
Первоисточник: http://www.jjtc.com/pub/nfjidr99.pdf

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

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

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

 

ЗАГРУЗОЧНЫЕ МОДУЛИ

В компьютер, изображение это массив чисел,  иначе говоря, легкие интенсивности цвета в различных точках (пиксели). Эти пиксели составляют растровые данные изображения. Обычный размер изображения - 640 на 480 пикселей и 256 цветов (или 8 битов на пиксель). Такое изображение могло содержать около 300 килобайт данных. Цифровые изображения типично сохраняются в любых файлах на 24 или 8 бит. 24 битные двоичные образы обеспечивает больше места для того, чтобы скрывать информацию; однако, это может быть весьма большим (за исключением изображений JPEG). Все цветовые изменения для пикселей получены из трех основных цветов: красный, зеленый, и синий. Каждый основной цвет представлен на 1 байт; изображения на 24 бита используют 3 байта на пиксель, чтобы представить номер цвета. Эти 3 байта могут быть представлены как шестнадцатеричные, десятичные, и двойные значения. Во многих Web-страницах, цвет фона представлен шестнадцатеричным номером фактически с шестью цифрами три пары, представляющие красный, зеленый, и синий. Белый фон имел бы значение FFFFFF: 100 процентов красный (FF), 100 процентов зеленый (FF), и 100 процентов синий (FF). Его десятичное значение - 255, 255, 255, и его двойное значение - 11111111, 11111111, 11111111, которые являются тремя байтами, составляющими белый цвет.

Это определение белого фона аналогично к цветному определению отдельного пикселя в изображении. Чем больше пикселей, тем больше размер файла. Например, предположите, что мы 24 битное изображение 1024 пикселя шириной общей разрешающей способностью 768 пикселей высотой. Такое изображение имеет больше чем два миллион пикселей, наличие такого количества пикселей приводит к тому, что размер файла превышает 2 мегабайта. Поскольку такое изображения на 24 бита являются все еще относительно редкими в Internet, то размер такого изображения привлек бы внимание в течение передачи данных.

Поэтому практикуют сжатие файлов.

Существует два вида сжатия без потерь и с потерями. Оба метода сохраняют пространство памяти, но имеют различные результаты, сталкиваясь со скрытой информацией, когда информация распаковывается. Сжатие без потерь позволяет нам восстанавливать оригинальное сообщение точно, поэтому, это предпочтено тогда, когда оригинальная информация должна остаться неповрежденной (как например со стеганографическим изображением). Сжатие без потерь типично для изображений сохраненных в формате обмена графическими данными  и 8 битов BMP (Windows Microsoft и файл точечной графики РТА).

Сжатие с потерями, с другой стороны, сохраняет место, но не может обеспечить целостность оригинального изображения.

Этот метод символизирует изображения, сохраненные как JPEG (Объединенная Фотографическая Группа Экспертов). Из-за сжатия с потерями алгоритм, который мы обсудим позже, JPEG форматы обеспечивают близкие приближения к высококачественным цифровым фотографиям, но не точный дубликат.

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

Большинство стеганографического программного обеспечения не поддерживает и не рекомендует использование JPEG изображения, но рекомендует вместо этого использование изображений на 24 бита без сжатия типа BMP. Следующая - лучшая альтернатива к изображениям на 24 бита с 256 цветами или полутоновые изображения. Наиболее общий из них найдены в Internet файлы формата обмена графическими данными.

В цветных изображениях на 8 битов типа файлов формата обмена графическими данными, каждый пиксель представленный как отдельный байт, и каждый пиксель просто точки к цветной индексной таблице (палитра) с 256 возможными значениями цвета. Значение пикселя, является между 0 и 255. Программное обеспечение просто красит обозначенный цвет на экране в выбранной позиции пикселя. Число 1a, красная палитра, иллюстрирует тонкие изменения в цвете равное-28. Компьютер, визуально дифференцируясь между цветами, выдает нужный. Число1b показывает тонкие цветовые изменения так же как те, которые кажутся неважными. Большинство стеганографических экспертов рекомендуют использование изображения, показывающие 256 оттенков серых и 3 полутоновых изображений, потому что оттенки изменяются очень постепенно от бита к биту, в результате меньше значение изменяется между входов палитры и лучше скрывается информация.

Число 24 показывает, что в полутоновой палитре 256 оттенков. Некоторые изображения с 4 битами, созданные с 16 оттенками полутона, очевидно, эти изображения предполагают намного меньше места для изменений. В то время как полутоновые изображения могут выполнить лучшие результаты для стеганографии, отображение с тонкими цветными изменениями являются также очень эффективными.

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

 

СОКРЫТИЕ ИНФОРМАЦИИ В ЦИФРОВЫХ ИЗОБРАЖЕНИЯХ

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

• вставка наименьшего значащего бита;

• маскировка и фильтрация;

• алгоритмы и преобразования;

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

Изображения на 24 бита. Скрывать изображение в младших битах каждого байт с 24 битами, вы можете хранить 3 бита в каждом пиксель. 1 024 на 768 изображений имеют потенциал, чтобы скрыться общее количество 2 359 296 битов (294 912 байтов) информации. Если вы сжимаете сообщение, которое будет скрыто, прежде всего, вы внедряете эту информацию, в результате вы можете скрыть большое количество информации. Человеческий глаз будет воспринимать аналогично как стегоизображение, так и обычное изображение. Например, символ Банка может быть скрыт в трех пикселях (не принимающий никакое сжатие). Оригинальный растр данные для 3 пикселей (9 байтов) могут быть

(00100111 11101001 11001000)

(00100111 11001000 11101001)

(11001000 00100111 11101001)

Двойное значение для - 10000011. Вставка двойного значения в трех пикселях привело бы к двум представителям цветовой палитры. Представитель красной палитры (a) с 256 цветами и (b) 256 - синего цвета. Палитра такая, потому что происходит 256- цветная инверсия

Представитель полутоновый палитра 256 оттенки.

(a) (b)

(00100111 11101000 11001000)

(00100110 11001000 11101000)

(11001000 00100111 11101001)

Подчеркнутые биты - единственные три, фактически измененные в используемых 8 байтах. В среднем, младший бит требует  только половину битов в изображении и может быть изменен. Вы можете скрыться данные сколь - угодно и вторые наименьшие значащие биты, и тем не менее человеческий глаз не способен различить это. Изображения на 8 битов. Изображения на 8 битов как не прощают младшему биту манипуляция с изображением из-за цветных ограничений. Авторы стеганографических программ изобрели несколько подходов - некоторые более успешные чем другие, чтобы скрыть информацию в изображениях на 8 битов. Сначала, изображение покрытия должно быть более тщательно выбрано так, чтобы стего - изображение не передало бы существование внедренного сообщения. Когда информация вставлена в младшие биты растровые данные, указатели на цветные входы в палитре изменяются. В сокращенном примере, простой с четырьмя цветовыми палитрами из белых, красного, синего, и зеленого имеет соответствующие входы позиции палитры 0 (00), 1 (01), 2 (10), и 3 (11), соответственно. Растровые значения из четырех смежных пикселей белых, белого, синего, и синих - 00 01 10 11. Сокрытие двойного значения 1010 для замен номер 10 растровые данные к 01 00 11 10, который является красным, белым, зеленым, синим. Большие изменения в изображении видимы и ясно подсвечивают слабость использования изображений на 8 битов. С другой стороны, есть небольшое видимое различие, замеченное между смежными серыми значениями.

В стеганографических программных процессах вставка младшего бита делается, для того чтобы делать скрытую информацию меньше обнаруживаемой. Например, EzStego имеет упорядоченную инструментальную палитра, чтобы уменьшить возникновение смежного индекса цвета, которые контрастируют также очень прежде, чем это вставляет сообщение. Этот подход работает весьма хорошо в полутоновом изображения, и могут работать хорошо в изображениях со связанные цвета. Табуреты, другой стеганографический инструмент, использует другой подход, близко приближая изображение покрытия, которое может означать радикальные изменения палитры. Как с 24 битным изображением, изменяя младший бит, пиксели могут создать новый цвета. (Новые цвета нельзя добавить к  8 битовым картинкам из-за предела палитры). Вместо этого, Табуреты уменьшают номер цветов при поддержании качества изображения, так, чтобы изменения младшего бита решительно не изменили цвет значения. Например, восемь номеров цвета требуются для каждого цвета, если значения 000 до 111 должны быть сохранены. Сокращение номера уникальных цветов к 32 гарантирует, что это эти значения могут использоваться, и что номер цвета не будет превышать 256 (256/8 = 32). Каждый из 32 уникальных цвета в палитре может быть расширен до восьми цветов, имеющих значения младшего бита виде  красного, зеленого, синего цветов (RGB). Это заканчивается во множественных цветах в палитре тот просмотр то же самое визуально, но это может измениться на один бит. Такие инструментальные средства используют подобный подход с полутоновым изображения. Однако, заканчивающиеся stego-изображения как применено с Табуретами больше не полутоновые. Вместо просто движения со смежными цветами как делает  EzStego, Табуреты управляют палитрой, чтобы произвести цвета это имейте различие одного бита. Например, в полутоновом изображении, белый будет двигаться в черный,  после RGB утрачивается (255 255 255), (254 254 254)..., (1 1 1), (0 0 0) После обработки  табуретами, значение для белого цвета будет распространено по диапазону восьми цветов типа (255 255 255), (255 255 254), и (255 254 255).

Визуально, stego-изображение может выглядеть, так же как и полутоновое изображение покрытия, но это фактически становится цветным изображение на 8 битов.