способ стеганографической передачи информации в сети тср/ip
Классы МПК: | G09C1/00 Способы и устройства, в которых данная последовательность знаков, например обычный текст, переводится в непонятную последовательность знаков перестановкой знаков или групп знаков или заменой их другими знаками и группами в соответствии с заданной системой H04L9/00 Устройство для секретной или скрытой связи |
Автор(ы): | Орлов Владимир Владимирович (RU), Алексеев Александр Петрович (RU) |
Патентообладатель(и): | Государственное образовательное учреждение высшего профессионального образования "Поволжский государственный университет телекоммуникаций и информатики" (ГОУВПО ПГУТИ) (RU) |
Приоритеты: |
подача заявки:
2010-06-18 публикация патента:
10.10.2012 |
Изобретение относится к вычислительной техники, а именно к области телекоммуникаций, и предназначено для скрытой передачи секретной информации. Техническим результатом является повышение криптографической и стеганографической стойкости вложений. Способ стеганографической передачи информации, в котором секретный текст с помощью криптографического преобразования превращают в шифртекст, на основе ключа генерируют псевдослучайную маску, определяющую порядок передачи информационных и маскирующих сегментов, при передаче маскирующего сегмента по открытой сети передают ТСР-сегмент, не содержащий секретных данных, а для передачи информационного ТСР-сегмента на основе ключа формируют псевдослучайное двоичное значение длины открытого текста, единичные биты которого замещают битами секретных данных, после чего формируют ТСР-сегмент, содержащий полученное значение камуфлирующих данных, и отправляют его по сети.
Формула изобретения
Способ стеганографической передачи информации, заключающийся в том, что открытый секретный текст предварительно шифруют и передают по сети по протоколу TCP с использованием служебных заголовков сетевых пакетов протоколов IP и TCP, отличающийся тем, что зашифрованный текст представляют в виде последовательности бит, выбирают камуфлирующий открытый текст, преобразуют камуфлирующий открытый текст в последовательность байт, затем на основании ключа формируют псевдослучайную секретную маску в виде последовательности бит, единичные значения которых означают формирование на передающей стороне информационных ТСР-сегментов, несущих скрытую информацию, а нулевые значения секретной маски означают формирование на передающей стороне маскирующих ТСР-сегментов, в которых отсутствует скрытая информация, далее при передаче маскирующего сегмента выделяют фрагмент камуфлирующего открытого текста случайной длины в интервале от 1 до MMS - L3 октет и помещают его в маскирующий сегмент, для определения длины информационного сегмента, разряды двоичного значения длины открытого текста (ДОТ) вначале заполняют псевдослучайными битами, генерируемыми на основе ключа, затем в позиции единичных разрядов записывают биты секретного текста, а в позиции нулевых разрядов - псевдослучайные двоичные числа, полученное значение ДОТ используют для выделения следующего фрагмента открытого камуфлирующего текста, после чего информационные и маскирующие TCP-сегменты передают в соответствии с секретной маской по открытому каналу связи до тех пор, пока не будут переданы весь секретный текст и весь открытый камуфлирующий текст.
Описание изобретения к патенту
Изобретение относится к области телекоммуникаций и предназначено для скрытой передачи секретной информации.
Известен способ скрытой передачи информации в поле дополнительной информации ICMP-пакетов [1]. Как известно, ICMP-пакеты с типом 8 (эхо-запрос) и 0 (эхо-ответ) используются при работе утилиты диагностики сети ping. При этом содержимое поля данных ICMP-пакета может быть произвольным с тем условием, что данные, передаваемые с эхо-ответом, должны дублировать данные, полученные с эхо-запросом. Таким образом, на уровне протокола решается проблема контроля целостности и подтверждения доставки сообщения.
Предложенный в [1] способ заключается в заполнении поля дополнительной информации ICMP-пакета блоками секретного текста, предварительно зашифрованного методами криптографии.
Этот способ имеет существенный недостаток. Каждый ICMP-пакет содержит фрагмент секретной информации. Это позволяет легко обнаружить стеганографический канал и произвести атаку на скрытое вложение.
Другой способ скрытой передачи информации по IP-сети, рассмотренный в [1], является наиболее близким аналогом (прототипом) и заключается в скрытой передаче информации путем ее размещения в поле Идентификации (Identification) заголовка IP-дейтаграммы.
Прототип имеет недостатки. Блоки секретной информации непосредственно содержатся в заголовке IP-дейтаграммы и могут быть легко извлечены, удалены или модифицированы.
Техническим результатом данного изобретения является повышение криптографической и стеганографической стойкости вложений (скрытого канала связи).
Сущность предлагаемого способа стеганографической передачи информации заключается в том, что секретный текст, представляющий из себя последовательность бит, с помощью криптографического преобразования превращают в шифртекст, выбирают открытый камуфлирующий текст достаточной длины, представляющий из себя последовательность байт, на фоне которого будет осуществляться передача шифртекста, затем на основании ключа формируют псевдослучайную маску в виде последовательности бит, единичные значения которых означают формирование информационного ТСР-сегмента, а нулевые - маскирующего ТСР-сегмента, далее при передаче маскирующего сегмента выбирают фрагмент открытого текста произвольной длины в диапазоне от 1 до (MSS - Lз ) октет, где MSS - максимальная длина одного ТСР-сегмента для данной сети, октет, Lз - длина TCP-заголовка, октет, а для информационного сегмента формируют начальное двоичное значение длины открытого текста (ДОТ), состоящее из (Lm - 1) бит, где Lm=log2(MSS-Lз), бит, разряды полученного начального двоичного значения ДОТ заполняют псевдослучайными битами, генерируемыми на основе ключа, затем в позиции единичных разрядов записывают биты секретного текста, а в позиции нулевых разрядов - случайные значения, получая значение ДОТ, которое используется для формирования фрагмента открытого текста соответствующей длины, после чего полученный фрагмент открытого текста передается по открытой сети в виде ТСР-сегмента.
Основная идея заявляемого технического решения заключается в следующем.
Секретный зашифрованный текст представляют в двоичном виде. Биты фрагмента секретного текста размещают в разрядах двоичного значения длины открытого текста (ДОТ), передаваемого с помощью ТСР-сегмента. При этом некоторые ТСР-сегменты, передаваемые по сети, не будут содержать секретной информации. Заголовки ТСР-сегментов и IP-дейтаграмм не будут содержать секретной информации, что позволяет защитить скрытый канал от обнаружения. Кроме того, биты секретного текста оказываются распределенными между различными ТСР-сегментами, а также внутри двоичного значения ДОТ каждого информационного сегмента.
Предполагая наличие скрытого канала связи, стегоаналитик должен решить следующие задачи.
1. Определить, какие из передаваемых по сети ТСР-сегментов являются информационными (то есть содержащими секретную информацию), а какие маскирующими (то есть не содержащими секретных данных). Следует учитывать, что распределение информации среди ТСР-сегментов происходит псевдослучайно в соответствии с секретным ключом. Следовательно, данная задача сводится к предсказанию последовательности, вырабатываемой датчиком псевдослучайной последовательности (ПСП) при неизвестном ключе.
2. Определить, какие разряды двоичного значения ДОТ информационного сегмента переносят секретную информацию, а какие являются маскирующими.
3. Дешифровать криптограмму, полученную с помощью стойкого шифра.
При использовании криптографически надежных датчиков ПСП и ключа, а также с учетом того, что в результате шифрования секретный текст превращается в псевдослучайно распределенную последовательность, эти задачи криптоанализа нереализуемы при данном уровне техники за приемлемое время. Не следует забывать, что передаваемое скрытно сообщение было предварительно зашифровано одним из криптостойких шифров.
Осуществление изобретения
Рассмотрим пример передачи секретного зашифрованного текста, представляющего из себя последовательность из десяти бит 1, 1, 0, 1, 0, 1, 0, 0, 1, 0. Предположим, что на основании ключа выработана следующая ПСП, определяющая порядок передачи информационных и маскирующих ТСР-сегментов: 0, 1, 0, 0, 1. Другими словами, передача секретной информации будет осуществлена с помощью пяти ТСР-сегментов - двух информационных и трех маскирующих. В рассматриваемом примере будем полагать, что значение MSS для сети равно 556 октетам. Также будем считать, что TCP-заголовки не содержат опции и имеют длину Lз=20 октет.
Максимальная длина открытого текста, передаваемого по данной сети в одном ТСР-сегменте, будет составлять MSS - Lз =556-20=536 (октет). Следовательно, максимальное число разрядов двоичного значения ДОТ
Lm=log2 (MSS-Lз)=log2(536) 9,07.
С учетом округления до ближайшего большего целого значения получаем Lm=10 бит.
Так как первый бит ПСП, определяющей порядок передачи информационных и маскирующих сегментов, равен 0, первый сегмент будет маскирующим. Длина открытого текста, переносимого с помощью этого сегмента, выбирается произвольно (случайно) из диапазона [1; 536] октет. Фрагмент открытого текста выбранной длины передается с помощью ТСР-сегмента. На этом передача маскирующего сегмента завершается.
Следующий ТСР-сегмент должен быть информационным, то есть должен переносить секретные данные. Для его формирования псевдослучайно на основании ключа генерируется начальное значение ДОТ (то есть длина открытого текста, передаваемого в информационном сегменте) в виде последовательности бит длиной Lm-1=9 бит. Для примера возьмем следующую последовательность: 1, 0, 0, 1, 0, 1, 1, 0, 1. Рассматривая формирование начального значения ДОТ в десятичной системе, нужно говорить о псевдослучайной (однозначно зависящей от секретного ключа) генерации числа из диапазона [1; 2(Lm-1)]. В данном примере выбирается число из диапазона [1; 512]. Верхний предел диапазона не превосходит максимальной длины одного ТСР-сегмента для данной сети.
Так как в выработанном начальном значении ДОТ пять разрядов имеют единичное значение, то с помощью данного информационного сегмента будет передано пять бит секретного текста. Для этого в разрядах начального значения ДОТ, в позициях которых биты имеют единичное значение, размещают биты секретного текста (полужирным выделены размещенные биты секретной информации):
1 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0 |
Разряды начального значения ДОТ, в позициях которых биты имеют нулевые значения, записывается случайная (независящая от секретного ключа) последовательность нулей и единиц (полужирным выделены размещенные биты секретной информации):
1 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 0 |
Таким образом, сформировано двоичное значение ДОТ.
Полученное двоичное значение ДОТ переводится в десятичную форму: 1001110100 (2)=372(10). Таким образом, для передачи фрагмента секретного текста 1, 1, 0, 1, 0 нужно передать в сеть ТСР-сегмент, содержащий блок камуфлирующего текста длиной 372 октет. Другими словами, нужно подготовить очередной блок камуфлирующего (несекретного открытого) текста длиной 372 октет, сформировать ТСР-сегмент, добавив к подготовленному блоку камуфлирующего текста ТСР-заголовок. Затем готовый ТСР-сегмент передают программе IP-протокола для передачи по сети.
Следующие два ТСР-сегмента должны быть маскирующими, так как очередные биты ПСП, определяющей порядок следования информационных и маскирующих сегментов, имеют нулевое значение.
Затем следующие пять бит секретного текста 1, 0, 0, 1, 0 передаются в очередном информационном сегменте. Для этого на основе секретного ключа генерируется начальное двоичное значение ДОТ. Для примера будем считать, что сгенерирована последовательность бит 1, 1, 0, 1, 1, 1, 0, 0, 0. Затем в позициях, где биты имеют единичное значение, размещают биты секретного текста, а позиции, где биты имеют нулевые значения, заполняют случайными значениями (полужирным выделены размещенные биты секретного текста):
1 | 0 | 1 | 0 | 1 | 0 | 1 | 1 | 0 |
Полученное двоичное значение ДОТ переводят в десятичную систему счисления: 101010110(2)=342(10). Затем формируют блок камуфлирующего текста длиной 342 октет, формируют ТСР-сегмент и передают его на уровень IP-протокола для передачи по сети.
На приемной стороне перед началом сеанса связи получатель, зная ключ, генерирует (воссоздает) имеющуюся последовательность следования информационных и маскирующих сегментов. В силу симметричности рассматриваемой системы, эта последовательность будет 0, 1, 0, 0, 1.
Установив соединение согласно протоколу TCP, получатель ждет ТСР-сегмент, содержащий данные. Получение такого сегмента является сигналом к началу сеанса скрытой связи. С этого момента начинается отсчет информационных и маскирующих сегментов.
Первый пришедший ТСР-сегмент, содержащий данные, получатель трактует как маскирующий, так как первый элемент последовательности, определяющей порядок следования информационных и маскирующих сегментов, равен 0. Длина этого сегмента может быть произвольной.
Следующий сегмент является информационным. Приняв его, получатель вычисляет длину камуфлирующего текста, переносимого данным сегментом, и переводит ее в двоичную форму:
1 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 0 |
Затем на основании ключа получатель воссоздает начальное двоичное значение ДОТ:
1 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 1 |
Извлечение бит секретного текста осуществляется из тех разрядов ДОТ, где в соответствующих разрядах начального значения ДОТ размещены единичные биты:
1 | 1 | 0 | 1 | 0 |
Таким образом, на приеме получаем фрагмент секретного текста 1, 1, 0, 1, 0.
Следующие два сегмента являются маскирующими, так как соответствующие элементы ПСП, определяющей порядок следования сегментов, являются нулевыми.
Пятый сегмент является информационным. Для его обработки получатель вычисляет длину камуфлирующего текста и переводит ее в двоичную систему счисления:
1 | 0 | 1 | 0 | 1 | 0 | 1 | 1 | 0 |
На основании секретного ключа получатель воссоздает начальное двоичное значение ДОТ:
1 | 1 | 0 | 1 | 1 | 1 | 0 | 0 | 0 |
Из вычисленного двоичного значения ДОТ выбирают те биты, в позициях которых биты начального значения ДОТ равны единице:
1 | 0 | 0 | 1 | 0 |
Таким образом извлечен фрагмент секретного текста 1, 0, 0, 1, 0.
Соединив два фрагмента, получаем секретный текст: 1, 1, 0, 1, 0, 1, 0, 0, 1, 0.
Следует отметить следующую особенность протокола TCP. Для более эффективного использования канальных ресурсов предполагается, что отправляемые пользователем данные накапливаются в буфере. Непосредственно передача осуществляется при его полном заполнении либо при указании в заголовке ТСР-сегмента бита проталкивания [2].
Положительные стороны заявляемого технического решения
Заявляемое техническое решение позволяет организовать скрытый канал передачи информации, причем заголовки сетевых пакетов всех уровней не будут содержать секретный текст в явном виде, что осложняет стеганографический анализ. Задача стеганографического анализа сводится к предсказанию ПСП без ключа, определяющего начальную инициализацию датчика ПСП. При условии, что датчик ПСП и ключ являются криптографически надежными, данная задача неразрешима при данном уровне техники за приемлемое время. Учитывая, что помимо рассеивания секретных данных внутри двоичного значения ДОТ рассеивание осуществляется и между ТСР-сегментами (путем введения маскирующих сегментов), указанную задачу стегоаналитик должен решить дважды.
Даже в том случае, если стегоаналитик сможет выделить часть бит секретных данных, для получения читаемого (осмысленного) текста ему предстоит еще успешно осуществить криптографическую атаку, так как скрываемый текст предварительно был зашифрован. При правильном выборе криптографически надежных шифра и ключа задача взлома шифра также не может быть решена за приемлемое время.
Литература
1. Savateev E.О. Design of Steganography System Based on the Version 4 Internet Protocol // IEEE International Siberian Conference on Control and Communications (SIBCON-2005) - Tomsk - pp.26-49.
2. Postel J. RFC 793. Transmission Control Protocol. September 1971.
Класс G09C1/00 Способы и устройства, в которых данная последовательность знаков, например обычный текст, переводится в непонятную последовательность знаков перестановкой знаков или групп знаков или заменой их другими знаками и группами в соответствии с заданной системой
Класс H04L9/00 Устройство для секретной или скрытой связи