Сокрытие сообщений путем их распыления в пространстве

Автор: Алексеев А.П., Орлов В.В.

Журнал: Инфокоммуникационные технологии @ikt-psuti

Рубрика: Технологии компьютерных систем и сетей

Статья в выпуске: 3 т.6, 2008 года.

Бесплатный доступ

В статье рассматривается способ повышения криптографической стойкости путем сокрытия сообщения методами стеганографии с использованием пространственного распыления.

Короткий адрес: https://sciup.org/140191253

IDR: 140191253

Текст обзорной статьи Сокрытие сообщений путем их распыления в пространстве

В статье рассматривается способ повышения криптографической стойкости путем сокрытия сообщения методами стеганографии с использованием пространственного распыления.

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

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

Если младший бит байта цветовой компоненты пикселя исследуемого контейнера содержит единицу, то во все биты этого байта записываются единицы. Аналогично если младший бит байта цветовой компоненты пикселя исследуемого контейнера содержит ноль, то во все биты байта соответствующей цветовой компоненты пикселя записываются ноли. На рис. 1а представлен пример однотонного (черного) контейнера.

а)

б)

Рис. 1. Исследуемый контейнер (а – до обработки; б – после обработки программой showIt)

Без специальных мер визуально обнаружить наличие вложения практически невозможно. Однако после описанной выше обработки контейнера (проявления) следы внедрения текста в графическое изображение отчетливо видны (см. рис. 1б).

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

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

Другой подход к повышению секретности – распыление сообщения по нескольким контейнерам. Такие контейнеры будем называть распределенными в пространстве контейнерами.

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

Рассмотримпример.Разобьемсекретныйтекстна блоки, состоящие из одной буквы (символа).Скроем блоки текста в графических контейнерах.Для упрощения изложения используем запись данных в конец файла изображения формата JPEG. Вместе с блоком секретноготекставфайлбудемзаписыватьдлинутек-стового блока,выраженную в байтах.Предположим, что для внедрения выбрано 4 отдельных контейнера (например,фотографии в формате JPEG). Пусть требуется передать секретный текст – «УДАР»,причем в качестве ключа выбрано слово «СЕКРЕТ».

Вначале нужно разбить секретное сообщение на блоки. Разделим текст на четыре блока (символа): «У», «Д», «А», «Р». Затем на основе ключа сформируем псевдослучайную последовательность номеров распределенных в пространстве контейнеров. При использовании ключа «СЕКРЕТ» получаем числа: 4, 2, 1, 3. Именно в этом порядке будем выбирать отдельные контейнеры для записи в них блоков секретного текста. Блок «У» будет записан в контейнер с номером 4, блок «Д» - в контейнер с номером 2 и т. д., наконец, блок «Р» будет скрыт в контейнере с номером 3. На рис. 2 представлена часть дампа файла JPEG до внедрения блока сообщения.

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

На рисунке видно,что сразу за маркером конца сообщения следует байт D3,представляющий символ первого блока секретного текста «У». Далее записаны четыре байта – это длина записанного блока. Аналогичным образом скрыты и другие части секретного послания.

Процесс распределения информации в пространстве можно представить в виде схемы,пока-занной на рис.4.

00001100 1F ЕЗ 5А 36 7Е 22 D3 А2 23 75 DD ВО FA ЗА 7F 5А 00001110 F2 7А 29 39 5С 2С 7В 55 DF 8D ED 1Е DC С4 97 D6 00001120 FB 4F 5F DE С6 3F 95 61 СВ AF D9 ВВ 13 F6 С8 3F 00001130 EF Е8 FF ОО 1А F3 1А 29 47 DD D8 1А В9 Е9 63 5Е 00001140 ВЗ 1D 2F 2D С7 FD В4 14 EF F8 48 AD 41 CF DB 61 00001150 FF 00 BF А2 ВС СА 8А АЕ 60 В1 ЕВ 10 78 Вб D9 3F 00001160 Е6 27 1А 7F СО СЗ 53 6Е FC 53 67 ЗА ЕЗ FB 55 5F 00001170 DB 70 03 F9 D7 94 D1 53 70 В1 Е8 33 6В 76 8С 78 00001180 ВВ 88 FF 00 СО С5 64 6В ВА 94 37 1А 6С С8 93 А4 00001190 8С 71 СО 60 4F DE 15 СА D1 4F 98 2С 00 FF D9 □ rZ6~,,yg#u3**b: г TZ)9\,{UflftH ЬД-Ц ыО_И№?>аЛ1Щ» НИ? пия у )СЭШ Кйс~ i /-ЗэГ пшНАПЫа я igjKlb@'±/i х^Щ? ж" АГ5пьЗд:гыи_ Ыр щЧ"СЗр±иЗкиН1Х »1я AEdke"7 1И'« №qA'O№ КСО , яШ

Рис. 2. Часть дампа файла контейнера до внедрения блока сообщения

О00011А0

1F ЕЗ 5А 36 F2 7А 29 39 FB 4F 5F DE EF Е8 FF 00

ВЗ 1D 2F 2D FF ОО BF А2

Е6 27 1А 7F

DB 70 03 F9

ВВ 88 FF 00 8С 71 СО 60 01 ОО 00 00

7Е 22 D3 А2 5С 2С 7В 55 С6 3F 95 61 1А F3 1А 29 С7 FD В4 14

ВС СА 8А АЕ СО СЗ 53 6Е D7 94 D1 53 СО С5 64 6В 4F DE 15 СА □ □ □ □

23 75 DD ВО DF 8D ED 1Е СВ AF D9 ВВ 47 DD D8 1А EF F8 48 AD 60 В1 ЕВ 10 FC 53 67 ЗА 70 В1 Е8 33 ВА 94 37 1А D1 4F 98 2С □ □ □ □

FA ЗА 7F 5А DC С4 97 D6 13 F6 С8 3F

В9 Е9 63 5Е 41 CF DB 61 78 Вб D9 3F

ЕЗ FB 55 5F 6В 76 8С 78 6С С8 93 А4 00 FF Р9[РЗ] □ □ □ □

rZ6~"yg#u3°b: Z тг)9\,{иЯЙн ЬД-Ц ы0_ЮЖ? • а ЛИЦ» НИ? пия у )СЭШ №йс* i /-ЗэГ пшН-АПЫа я igjKib0'±vi х^ш? ж" АГЗпь5д:гыО_ Ыр ii|4"CSp±H3kuHiX »1я AEdke"7 1И' й IbqA'OH) КСО , я11(!]

□□□□□□□□□□□а

Рис. 3. Часть дампа файла контейнера после внедрения блока сообщения

Рис. 4. Распределение информации в пространстве

На приемной стороне с помощью ключа «СЕКРЕТ» восстанавливается необходимая последовательность извлечения блоков секретной информации из распределенных контейнеров: 4, 2, 1, 3. Первый блок извлекается из контейнера под номером 4. Для этого из файла считываются последние 4 байта,в которых указывается длина блока секретной информации. Затем считывается сам блок – символ «У». После этого обрабатывается контейнер под номером 2и т.д.Наконец, извлеченные блоки соединяются, образуя читаемый текст: «У» + «Д» + «А» + «Р» = «УДАР».

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

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

Рассмотренный принцип сокрытия информации с распылением данных в пространстве был реализован в программе Di-stego (от английского «distributed steganography»,то есть «распределенная стеганогра-фия»).Внешний вид приложения показан на рис.5.

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

Рис. 5. Главное окно программы di-stego

для сокрытия сообщения,то следует ввести текст в соответствующее поле и нажать кнопку «Скрыть текст».Если программа используется для извлечения ранее внедренного сообщения,то следует нажать кнопку «Извлечь текст».

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

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

Сначала представим секретный текст в двоичной форме,используя таблицу cP1251 (см.таблицу 1).

Таблица 1. Кодирование секретного текста

Символ

Десятичный код

CP1251

Двоичный код CP1251

У

211

11010011

Д

196

11000100

А

192

11000000

Р

208

11010000

Рис. 6. Побитовое распределение сообщения в пространстве (на примере одного байта секретного текста)

Следующий шаг – генерация последовательности внедрения на основе ключа. Для ключа «СЕКРЕТ» получаем: 1, 3, 2, 2, 4, 1, 1, 3; 3, 3, 1, 1, 4, 3, 2, 4; 1, 3, 3, 3, 1, 3, 1, 3; 1, 4, 4, 1, 2, 2, 2, 1. Биты текста внедряются последовательно от старших разрядов к младшим. Порядок внедрения бит первого символа секретного текста показан на рис. 6.

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

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

Список литературы Сокрытие сообщений путем их распыления в пространстве

  • Грибунин В.Г., Оков И.Н., Туринцев И.В. Цифровая стеганография. М.: СОЛОН-Пресс, 2002. -272 с.
  • Алексеев А.П., Орлов В.В., Сухова Е.Н. Изучение стеганографии на уроках информатики//Информатика и образование. №8, 2007. -С. 65-71.
Статья обзорная