Интерес к стеганографии появился в последнее десятилетие и вызван широким распространением мультимедийных технологий. Методы стеганографии позволяют не только скрытно передавать данные, но и решать задачи помехоустойчивой аутентификации, защиты информации от несанкционированного копирования, отслеживания распространения информации по сетям связи, поиска информации в мультимедийных базах данных.
Международные симпозиумы по скрытию данных проводятся с 1996 года, по стеганографии первый симпозиум состоялся в июле 2002 года. Стеганография – быстро и динамично развивающаяся наука, использующая методы и достижения криптографии, цифровой обработки сигналов, теории связи и информации.
На русском языке стеганографии было посвящено только несколько обзорных журнальных статей. Данная книга призвана восполнить существующий пробел. В ней обобщены самые последние результаты исследований зарубежных ученых. В книге рассмотрены как теоретические, так и практические аспекты стеганографии, выполнена классификация стегосистем и методов встраивания, детально исследованы вопросы повышения пропускной способности стегоканала, обеспечения стойкости и незаметности внедрения, приведено более 50 алгоритмов встраивания данных.
Книга предназначена для студентов, аспирантов, научных работников, изучающих вопросы защиты информации, а также для инженеров-проектировщиков средств защиты информации. Также несомненный интерес она вызовет у специалистов в области теории информации и цифровой обработки сигналов.
Введение
Задача защиты информации от несанкционированного доступа решалась во все времена на протяжении истории человечества. Уже в древнем мире выделилось два основных направления решения этой задачи, существующие и по сегодняшний день: криптография и стеганография. Целью криптографии является скрытие содержимого сообщений за счет их шифрования. В отличие от этого, при стеганографии скрывается сам факт существования тайного сообщения.
Слово «стеганография» имеет греческие корни и буквально означает «тайнопись». Исторически это направление появилось первым, но затем во многом было вытеснено криптографией. Тайнопись осуществляется самыми различными способами. Общей чертой этих способов является то, что скрываемое сообщение встраивается в некоторый безобидный, не привлекающий внимание объект. Затем этот объект открыто транспортируется адресату. При криптографии наличие шифрованного сообщения само по себе привлекает внимание противников, при стеганографии же наличие скрытой связи остается незаметным.
Какие только стеганографические методы не использовали люди для защиты своих секретов! Известные примеры включают в себя использование покрытых воском дощечек, вареных яиц, спичечных коробков и даже головы раба (сообщение читалось после сбривания волос гонца). В прошлом веке широко использовались так называемые симпатические чернила, невидимые при обычных условиях. Скрытое сообщение размещали в определенные буквы невинных словосочетаний, передавали при помощи внесения в текст незначительных стилистических, орфографических или пунктуационных погрешностей. С изобретением фотографии появилась технология микрофотоснимков, успешно применяемая Германией во время мировых войн. Крапление карт шулерами — это тоже пример стеганографии.
Во время Второй мировой войны правительством США придавалось большое значение борьбе против тайных методов передачи информации. Были введены определенные ограничения на почтовые отправления. Так, не принимались письма и телеграммы, содержащие кроссворды, ходы шахматных партий, поручения о вручении цветов с указанием времени и их вида; у пересылаемых часов переводились стрелки. Был привлечен многочисленный отряд цензоров, которые занимались даже перефразированием телеграмм без изменения их смысла.
Скрытие информации перечисленными методами возможно лишь благодаря тому, что противнику неизвестен метод скрытия. Между тем, еще в 1883 году Кергофф писал о том, что система защиты информации должна обеспечивать свои функции даже при полной информированности противника о ее структуре и алгоритмах функционирования. Вся секретность системы защиты передаваемой сведений должна заключаться в ключе, то есть в предварительно (как правило) разделенном между адресатами фрагменте информации. Несмотря на то, что этот принцип известен уже более 100 лет, и сейчас встречаются разработки, пренебрегающие им. Конечно, они не могут применяться в серьезных целях.
1. ВВЕДЕНИЕ В ЦИФРОВУЮ СТЕГАНОГРАФИЮ
1.1. Цифровая стеганография. Предмет, терминология, области применения
Цифровая стеганография как наука родилась буквально в последние годы. По нашему мнению она включает в себя следующие направления:
1) встраивание информации с целью ее скрытой передачи;
2) встраивание цифровых водяных знаков (ЦВЗ) (watermarking);
3) встраивание идентификационных номеров (fingerprinting);
4) встраивание заголовков (captioning).
1.2. Встраивание сообщений в незначащие элементы контейнера
Цифровые изображения представляют из себя матрицу пикселов. Пиксел — это единичный элемент изображения. Он имеет фиксированную разрядность двоичного представления. Например, пикселы полутонового изображения кодируются 8 битами (значения яркости изменяются от 0 до 255).
Младший значащий бит (LSB) изображения несет в себе меньше всего информации. Известно, что человек обычно не способен заметить изменение в этом бите. Фактически, он является шумом. Поэтому его можно использовать для встраивания информации. Таким образом, для полутонового изображения объем встраиваемых данных может составлять 1/8 объема контейнера. Например, в изображение размером 512х512 можно встроить 32 килобайта информации. Если модифицировать два младших бита (что также почти незаметно), то можно скрытно передать вдвое больший объем данных.
Достоинства рассматриваемого метода заключаются в его простоте и сравнительно большом объеме встраиваемых данных. Однако, он имеет серьезные недостатки. Во-первых, скрытое сообщение легко разрушить, как это показано в третьей главе. Во-вторых, не обеспечена секретность встраивания информации. Нарушителю точно известно местоположение всего ЦВЗ. Для преодоления последнего недостатка было предложено встраивать ЦВЗ не во все пикселы изображения, а лишь в некоторые из них, определяемые по псевдослучайному закону в соответствии с ключом, известному только законному пользователю. Пропускная способность при этом уменьшается.
Рассмотрим подробнее вопрос выбора пикселов изображения для встраивания в них скрытого сообщения.
В работе [7] отмечается неслучайный характер поведения младшего значащего бита изображений. Скрываемое сообщение не должно изменять статистики изображения. Для этого, в принципе возможно, располагая достаточно большим количеством незаполненных контейнеров, подыскать наиболее подходящий. Теоретически возможно найти контейнер, уже содержащий в себе наше сообщение при данном ключе. Тогда изменять вообще ничего не надо, и вскрыть факт передачи будет невозможно. Эту ситуацию можно сравнить с применением одноразового блокнота в криптографии. Метод выбора подходящего контейнера требует выполнения большого количества вычислений и обладает малой пропускной способностью.
1.3. Математическая модель стегосистемы
Стегосистема может быть рассмотрена как система связи [8].
Алгоритм встраивания ЦВЗ состоит из трех основных этапов: 1) генерации ЦВЗ, 2) встраивания ЦВЗ в кодере и 3) обнаружения ЦВЗ в детекторе.
1) Пусть
есть множества возможных ЦВЗ, ключей, контейнеров и скрываемых сообщений, соответственно. Тогда генерация ЦВЗ может быть представлена в виде
,
, (1.2)
1.4. Стеганографические протоколы
Важное значение для достижения целей стеганографии имеют протоколы. По протоколом понимается «порядок действий, предпринимаемых двумя или более сторонами, предназначенный для решения определенной задачи» [11]. Можно разработать исключительно эффективный алгоритм скрытия информации, но из-за его неправильного применения не добиться своей цели. И протокол и алгоритм есть некоторая последовательность действий. Различие заключается в том, что в протокол должны быть обязательно вовлечены двое или более сторон. При этом предполагается, что участники принимают на себя обязательство следовать протоколу. Также как и алгоритм, протокол состоит из шагов. На каждом шаге протокола выполняются некоторые действия, которые могут заключаться, например, в производстве каких-то вычислений, или осуществлении некоторых действий.
1.4.1. Стеганография с открытым ключом
Стеганография с открытым ключом опирается на достижения криптографии последних 25 лет. Понятие «открытый ключ» означает, что для дешифровки сообщения используется другой ключ, чем при его шифровании. При этом один из ключей делается общедоступным, открытым. Криптографическая система с открытым ключом используется, например, при цифровой подписи. При этом сообщение подписывается закрытым ключом, и любой, имеющий соответствующий открытый ключ, может удостовериться в ее подлинности. При шифровании данных используют обратный порядок: сообщение подписывается открытым ключом, а прочитать его может лишь имеющий соответствующий закрытый ключ. Естественно, что из открытого ключа никакими способами нельзя получить закрытый ключ (в вычислительном смысле).
Напомним, что стеганографический ключ не шифрует данные, а скрывает место их нахождения в контейнере. Спрятанные данные могут быть дополнительно зашифрованы обычными методами, но этот вопрос не относится к стеганографии. Для того, чтобы была возможность организации стегоканала, стороны должны, как правило, иметь перед началом сеанса некоторую информацию.
Вернемся к «проблеме заключенных». Предположим, что Алиса и Боб еще во время нахождения на свободе обменялись закрытыми или открытыми ключами друг с другом. Тогда их задача заключается во встраивании сообщений в контейнер в соответствии с ключом. Встроенное сообщение не должно заметно изменять контейнер и обнаруживаться посредством статистических тестов. Если Вилли злоумышленный нарушитель, то у него имеется возможность некоторого искажения сигнала, передаваемого от Алисы к Бобу. Это может привести к потере скрытого сообщения, если не использовать специальные методы (например, помехоустойчивое кодирование, или расширение спектра сигналов).
Возможно ли осуществление скрытой связи между Алисой и Бобом, если у них имеются только открытые ключи друг друга? Оказывается, да. В публикации [11] представлен протокол, следуя которому заключенные могут наладить в этом случае скрытую «переписку». При этом надо отметить, что предположение о том, что Алиса и Боб имеют открытые ключи друг друга не является чем-то необычным. Протокол, приведенный в [11] предполагает наличие пассивного нарушителя и заключается в следующем:
1. Алиса встраивает свое сообщение с использованием известного ей открытого ключа Боба в стегоканал, подверженный наблюдению со стороны Вилли.
1.4.2. Обнаружение ЦВЗ с нулевым знанием
Робастные ЦВЗ могут применяться в различных приложениях, соответственно, и требования к ним могут предъявляться различные. Можно выделить следующие категории требований к робастным ЦВЗ:
— ЦВЗ обнаруживается всеми желающими. В этом случае он служит для уведомления о собственнике защищаемого контента и для предотвращения непреднамеренного нарушения прав собственника.
— ЦВЗ обнаруживается, по крайней мере, одной стороной. В этом случае его использование связано с поиском нелегально распространяемых копий, например, в сети Интернет.
— ЦВЗ крайне трудно модифицировать или извлечь из контента. В этом случае ЦВЗ служит для аутентификации.
Одновременное выполнение вышеприведенных требований невозможно, так как они являются противоречивыми. Поэтому, в различных приложениях используются как системы ЦВЗ с секретным, так и с общедоступным ключом. Системы с общедоступным ключом находят гораздо большее применение, так как они могут быть использованы как для обнаружения, так и для предотвращения несанкционированного использования контента. Для того, чтобы поисковая система обнаружила ЦВЗ с секретным ключом, ей необходимо проверить каждое изображение на наличие в нем каждого из возможных ЦВЗ, что является вычислительно трудоемкой задачей. В случае же общедоступного ЦВЗ алгоритм обнаружения единственный. Однако, общедоступные ЦВЗ обладают серьезным недостатком: так как их местоположение известно, то их можно без труда извлечь из защищаемого изображения.
1.5. Некоторые практические вопросы встраивания данных
Часто используют следующий принцип встраивания данных. Пусть сигнал контейнера представлен последовательностью из
n
бит. Процесс скрытия информации начинается с определения бит контейнера, которые можно изменять без внесения заметных искажений — стегопути. Далее среди этих бит обычно в соответствии с ключом выбираются биты, заменяемые битами ЦВЗ.
Рассмотрим другие возможные способы внедрения в контейнер битов ЦВЗ.
1) Инверсия бита. Значения битов стегопути заменяются на противоположные. При этом «1» может соответствовать замена 0->1, «0» — замена 1->0.
2) Вставка бита. Перед битом стегопути вставляется бит ЦВЗ. При этом значение бита ЦВЗ должно быть противоположно значению бита контейнера.
3) Удаление бита. Выбираются пары «01» или «10» битов стегопути, соответствующие разным значениям бита ЦВЗ. Затем первый бит пары удаляется.