СТЕГАНОГРАФИЧЕСКИЙ МЕТОД ПЕРЕДАЧИ ИНФОРМАЦИИ, НЕ ВЫЗЫВАЮЩИЙ ИСКАЖЕНИЙ КОНТЕЙНЕРА

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

Ключевые слова: стеганография, ключ, встраивание, цифровые водяные знаки

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

Следуя общепринятой терминологии, будем использовать термин контейнер для обозначения информации, в которую встраивается другая информация для скрытой передачи по каналу связи. Секретное сообщение – та информация, которую встраивают в контейнер. Встраивание – процесс преобразования контейнера с помощью секретного сообщения таким образом, чтобы сообщение можно было передать по каналу связи незаметно для злоумышленника. Однако стоит сделать уточнение: в нашем методе не используется встраивание как таковое, поэтому будем использовать термин «встраивание» с использованием кавычек. Стегоконтейнер – контейнер, содержащий встроенное сообщение. Также в данном методе используется секретный ключ – информация, которая используется в процессе встраивания и содержится в секрете от злоумышленника.

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

Еще одним похожим методом была решетка Кардано. Итальянский математик Джероламо Кардано (1501 – 1576) предложил использовать лист с отверстиями для маскирования секретного сообщения в обычных посланиях. По его методу в листе проделывали отверстия, в отверстиях вписывалось сообщение, а затем из полученных фраз составляли безобидное послание . В данном случае процесс придумывания осмысленного текста из набора букв и слов является трудоемким.

С развитием цифровой обработки информации стал возможным другой подход, в котором несекретное сообщение уже существует в виде контейнера. Контейнер может быть текстом, фотографией или музыкальной композицией. Его можно использовать для внедрения секретного сообщения.

Опишем метод «встраивания» секретной информации в контейнер для установления скрытого канала передачи информации.

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

Старт алгоритма начинается с нулевых битов контейнера и секретного сообщения. Ячейка таблицы с номером 𝑖 заполняется 𝑗-ым номером байта контейнера, если 𝑖-ый бит секретного сообщения равен старшему биту 𝑗-ого байта контейнера. Если условие выполнено, переходим к заполнению ячейки 𝑖+1, номер байта контейнера также становится 𝑗+1. Если условие не выполнено, переходим к 𝑗+1 байту контейнера. Таким образом, заполняются все ячейки ключевой таблицы, до тех пор, пока все секретное сообщение не будет «помещено» в контейнер. Исходя из алгоритма, размер секретной информации не может превышать 1/8 размера контейнера, чтобы не возникло ситуации, когда алгоритм дошел до последнего байта контейнера, а секретное сообщение «встроено» не полностью.