Поиск по каталогу

Библиотека онлайн

H000895 ВКР Разработка стеганографической подсистемы передачи информации

3400 руб. 1890 руб.

В корзину

РЕФЕРАТ

Объектом изучения является стеганографическая подсистема передачи информации.

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

В результате анализа 4 методов скрытой передачи информации, таких как:

•  Метод передачи информации в ICMP – пакетах;

• Метод передачи информации в M – блоках;

• Метод скрытой передачи информации RSTEG;

• Метод стеганографической передачи информации в сети TCP/IP

Был выбран метод стеганографической передачи информации в сети TCP/IP, так как данный метод позволяет изменять длину TCP-сегмента таким образом, чтобы значение длины данных, переносимых TCP-сегментом, содержало в себе информацию о конфиденциальном тексте. Создано ПО, которое дает возможность производить скрытый обмен конфиденциальной информацией с помощью открытых телекоммуникационных сетей на базе стека протоколов TCP/IP. Приведены результаты имитационного моделирования, которое показывает, что без использования механизма контроля старшего бита и распределения конфиденциальной информации скорость передачи, объем открытых данных и время составляет  ,   и  . При подключении механизма контроля старшего бита скорость передачи открытых данных и объем открытых данных возрастает до   (на 7,3%) и   (на 70,4%), а время уменьшается до и  (на 8,3%), добавляя распределение конфиденциальной информации скорость передачи открытых данных уменьшиться до   (на 1,13%). При этом скорость передачи, объем конфиденциальных данных в скрытом канале составляет  ,  . При подключении механизма контроля старшего бита скорость передачи конфиденциальных данных снижается до  (на 38,13%), а объем конфиденциальных данных не изменяется и составляет  , добавляя распределение конфиденциальной информации скорость передачи конфиденциальных данных снизиться до   (43,75), а объем конфиденциальных данных не изменится.

Научная новизна работы: отсутствует

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

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




















Содержание


Введение………………………………………………………………………... 7

1. Обзор методов стеганографии по уровням модели OSI……….………….. 8

1.1. Методы скрытого обмена информацией в соответствие с моделью OSI………………………………………………………………………..

8

1.2. Краткие выводы по пункту 1……………………………………...…… 10

2. Выбор и описание методов организации скрытого канала связи……..…. 11

2.1. Метод скрытой передачи информации в ICMP-пакетах……..……… 11

2.2. Метод скрытой передачи информации в M-блоках…………..……… 13

2.3. Метод скрытой передачи информации RSTEG……………………..... 16

2.4.   Метод стеганографической передачи информации в сети TCP/IP 22

2.5.    Краткие выводы по пункту 2………………………………………..…. 25

3. Выбор и описание способа организации стеганографической защиты….. 26

3.1. Способ организации стеганографической защиты с использованием ключа…………………………………………………………………......

26

3.2. Краткий вывод по пункту 3………………………………..………….. 33

4. Выбор и описание алгоритмов внедрения информации……….…………. 34

4.1. Режим постоянной маски внедрения……………….………………… 34

4.2. Режим внедрения с расширенной маской………….………………… 34

4.3. Режим внедрения со сцеплением блоков маски……….…………….. 35

4.4. Краткий вывод по пункту 4…………………………….……………... 37

5. Выбор среды моделирования…………………………….………………… 38

5.1. Анализ языка программирования Delphi…………..………………… 38

5.1.1. Преимущества языка программирования Delphi…..…………. 38

5.1.2. Недостатки языка программирования Delphi…..………………... 38

5.2. Анализ языка программирования Visual Basic……………………… 39

5.2.1 Преимущества языка программирования Visual Basic ………….. 39

5.2.2. Недостатки языка программирования Visual Basic ……………. 39

5.3. Анализ языка программирования Visual С++ 40

5.3.1 Преимущества языка программирования Visual С++…………... 40

5.3.2. Недостатки языка программирования Visual С++…….………..... 40

5.4. Краткий вывод по пункту 5……………………………….…..……….. 41

6. Формализация алгоритма и разработка модели………………..………….. 42

6.1. Алгоритмы внедрения информации в сетевые пакеты………………. 42

6.2. Краткий вывод по пункту 6…………….……………….……………... 45

7. Пути совершенствования……………………………………………………. 46

7.1. Повышение скрытности конфиденциального канала…….………..… 46

7.2. Краткий вывод по пункту 7……………......……………..……………. 47

8. Анализ результатов моделирования………………………………………... 48

8.1. Результаты имитационного моделирования……………………..…… 48

8.2. Краткий вывод по пункту 8………………………………………..…... 53

Заключение………………………………………………………….………….. 54





 


Введение


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

Стеганография – метод, который скрывает сам результат передачи данных.

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

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

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

Для достижения поставленной цели в работе решены следующие задачи:

• исследование метода скрытой передачи информации в телекоммуникационных сетях на базе стека протоколов TCP/IP.

• исследование способа стеганографической защиты информации в телекоммуникационных сетях;

• разработка и реализация ПО для имитационного моделирования процесса скрытой передачи информации в телекоммуникационной сети на базе стека протоколов TCP/IP.

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





1. Обзор методов стеганографии по уровням модели OSI


1.1. Методы скрытого обмена информацией в соответствие с моделью OSI


Любой контейнер, который используется для целей компьютерной стеганографии, может быть передан по сети. Сетевые пакеты и образуемые с их помощью потоки также могут выступать в роли контейнера для скрытого сообщения. Таким образом, можно классифицировать распространенные методы скрытия данных в компьютерных объектах по уровням модели OSI. [1, c. 25; 2, с. 47; 3, с. 95; 4, с. 327]

Физический уровень. Для сетей на базе технологии Ethernet для организации скрытого обмена информацией может использоваться модифицированный алгоритм обнаружения коллизий. Метод основан на умышленной генерации сигнала коллизии с последующей отправкой своего кадра впереди или после кадра некоего заранее выбранного третьего пользователя. Порядок следования кадров после сигнала коллизии кодирует 1 или 0.

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

Канальный уровень. Для передачи скрытой информации на канальном уровне могут быть задействованы неиспользуемые части кадра. Для передачи одного байта конфиденциального вложения, число байт данных, которые пришли с сетевого уровня, сокращают на 2 байта. Один байт замещают скрытым вложением, а второй используют в качестве разделителя. [6, с. 35; 7, с. 4-5]

Сетевой уровень. Методы стеганографии сетевого уровня ограничиваются нештатным использованием двух бит поля типа обслуживания (ToS) IP-заголовка (DiffServ Code Point - DSCP), a также применением опции временной отметки. Метод использования бит поля DSCP вскоре может потерять свою функциональность, так как неиспользуемые биты определены для реализации управления потоком с помощью опции Explicit Congestion Notification (ECN).

К сетевому уровню относится метод скрытой передачи данных по ICMP-туннелю. [8, с. 5-7; 9, с. 2-3]

Транспортный уровень. К транспортному уровню модели OSI относят методы скрытой передачи данных, которые используют сохраненные поля заголовков пакетов транспортного уровня или использование опции протоколов (например, временная отметка TCP). На транспортном уровне также могут применять методы стеганографии, которые основаны на манипулировании механизмами повторной передачи и контроля целостности сетевых пакетов. [10, с. 25; 11, с. 197-198; 12, с. 255-256]

Сеансовый уровень. На этом уровне используется метод скрытого обмена данными с использованием общего сетевого ресурса NETBEUI. Один из пользователей создает на разделяемом ресурсе два файла и следит за активностью на ресурсе. Второй пользователь при необходимости передать 1 читает первый файл, а для передачи нуля - второй. Запись в файлы не производится. Благодаря мониторингу активности общего ресурса первый пользователь может узнать, какой файл в данный момент времени читается и таким образом может скрытно получать сообщение.

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

Прикладной уровень. К данному уровню можно отнести методы стеганографии, предполагающие использование документов HTML, простого и форматированного текста, передаваемого по сети, данных, передаваемых по протоколам FTP, TELNET и другим прикладным протоколам.


















1.2. Краткие выводы по пункту 1.


В данном пункте был проведен обзор методов скрытия данных в компьютерных объектах по уровням модели OSI. На физическом уровне был рассмотрен метод модифицированного алгоритма обнаружения коллизий; метод, использующий электромагнитные возмущения. На канальном уровне был рассмотрен метод, задействовавший неиспользуемые части кадра. На сетевом уровне были рассмотрены методы, ограничивающиеся нештатным использованием двух бит поля типа обслуживания IP-заголовка, a также применением опции временной отметки. На транспортном уровне был рассмотрен метод, использующий сохраненные поля заголовков пакетов транспортного уровня; метод, основанный на манипулировании механизмами повторной передачи и контроля целостности сетевых пакетов. На сеансовом уровне был рассмотрен метод скрытого обмена данными с использованием общего сетевого ресурса NETBEUI. На представительском уровне был рассмотрен метод, заключающийся в модификации наименее значащего бита цветовых компонент изображения или отсчетов звукового сигнала. На прикладном уровне был рассмотрен метод, предполагающий использование документов HTML, простого и форматированного текста.



















2. Выбор и описание методов организации скрытого канала связи


2.1. Метод скрытой передачи информации в ICMP-пакетах


Протокол ICMP при помощи сообщений типа «эхо-запрос» и «эхо-ответ» может использоваться для организации скрытого канала. Формат пакета протокола ICMP для сообщений «эхо-запрос» и «эхо-ответ» показан на рисунке 1. [13, с. 693]

 

Рисунок 1 – Формат пакета протокола ICMP для «эхо-запроса» и «эхо-ответа»


ICMP-сообщения с типом «эхо-запрос» и «эхо-ответ» используются в работе утилиты ping, позволяющей определить время двойной задержки (Round Trip Time - RTT) прохождения пакетов до выбранного узла сети. При этом не учитывается время, затрачиваемое на обработку пакетов в узле. Для формирования эхо-запроса 8-битному полю «Тип» присваивается десятичное значение 8, в поле код помещают 0. Для формирования эхо-ответа в поля «Тип» и «Код» помещают нули.

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

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

Данный способ скрытого обмена сообщениями часто называют ICMP-туннелированием (ICMP-туннель).

При реализации системы скрытого обмена сообщениями с помощью протокола ICMP контейнером является поток ICMP-пакетов, а минимальным элементом контейнера - один ICMP-пакет.

Принцип Керкгоффса [25, с. 25-29] предполагает, что злоумышленник знает устройство системы. Единственным неизвестным элементом системы защиты информации должен быть небольшой набор параметров, который является ключом. Сформулированный для криптографических систем, этот принцип применим и к системам скрытой связи. В алгоритмах стеганографии ключ должен определять расположение бит вложения в контейнере. Предложенная система скрытого обмена информацией с помощью пакетов протокола ICMP не предполагает использования ключа. От пакета к пакету место вложения внутри контейнера не меняется.

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

                            (1)

Таким образом, данная система не повышает стойкость вложения к атаке исчерпывающего поиска. Для передачи по сети пакеты протокола ICMP объединяются в IP-дейтаграммы. Максимальная емкость одного ICMP-пакета при передаче конфиденциального вложения   составляет (2):

                      (2)

где  - максимальный размер IP-пакета;

       - длина основного заголовка IP-пакета;

       - длина заголовка ICMP- пакета.

Пакеты такой длины передаются по сети неэффективно. Поэтому для недопущения фрагментации IР-дейтаграмм на практике размер пакета ограничивают сверху таким образом, чтобы общая длина данных ICMP-пакета, заголовка ICMP и заголовка IP не превышала размера максимальной длина блока данных канального уровня (MTU) для сети. В этом случае пропускная способность одного ICMP-пакета сокращается до значения (3):

                               (3)

где  - MTU для данной сети.

Для сети Fast Ethernet пропускная способность одного ICMP-пакета при передаче конфиденциальных данных составит (4):

                        (4)

Однако и это значение требует дополнительных ограничений, основанных на разумности применения. Типичным размером данных, передаваемых в ICMP-пакете, для утилиты ping в составе операционных систем семейства Windows является 32 байта, а для дистрибутивов ОС GNU/Linux - 56 байт. Использование ICMP-пакетов большой длины может привлечь внимание.

При использовании данного способа скрытой связи в сети Fast Ethernet с пропускной способностью канала 100Мбит/с (битовая скорость на канальном уровне), пропускная способность скрытого канала будет равна.

                                          (5)

где   - битовый интервал, с;

     - защитный межкадровый интервал, с;

    - длина конфиденциального вложения, октет;

    - длина заголовка протокола, инкапсулируемого в IP, октет;

    - длина основного IP-заголовка, октет.

Число 26 в данной формуле учитывает протокольную избыточность на канальном уровне при использовании кадров формата Ethernet II.

Пропускная способность для сети Fast Ethernet при максимальной пропускной способности защищенного канала при скрытии информации в пакетах ICMP составляет:

  (6)

Пропускная способность для ОС Linux при длине 56 байт защищенного канала при скрытии информации в пакетах ICMP составляет:

      (7)

Пропускная способность для ОС Windos при длине 32 байт защищенного канала при скрытии информации в пакетах ICMP составляет:

      (8)

2.2. Метод скрытой передачи информации в M-блоках


Рассматриваемый метод работает на сетевом уровне модели OSI и в качестве контейнера использует поток пакетов ICMP, объединненый в IP-дейтаграммы.

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

 

Рисунок 2 - Формат М-блока


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

Для реализации данной системы предложено использовать длину фрагмента сообщения   бит, длину смещения фрагмента и фрагмента ключа   бит. Таким образом, общая длина М - блока составляет 16 байт. Для имитации работы программы ping для ОС семейства Windows предложено дополнять М-блок произвольными данными длиной 16 байт.

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

В качестве альтернативного контейнера предложено использовать дейтаграммы. Формат заголовка IР-дейтаграммы протокола четвертой версии показан на рисунке 3 [13, с. 599].

 

Рисунок 3 - Формат заголовка IP-дейтаграммы


Поля заголовка IP-дейтаграммы обладают следующими функциональными назначениями. Поле «Версия» использует 4 бита. Данное поле устанавливает номер версии протокола IP. Сейчас же распространена 4 версия протокола IP. Из-за исчерпанности адресного пространства 4 версии создана 6 версия протокола.

Поле «Длина заголовка» использует 4 бита. Это поле устанавливает длину IP-заголовка в словах размером 32 бита. Наименьшая длина составляет пять слов размером 32 бита, наибольшая длина составляет пятнадцать слов размером 32 бита.

Поле «Тип обслуживания» использует 8 бит. Данное поле применяется с целью установления характера обслуживания IP-пакетов. Ниже приводится детализированное описание битов:

• 0…2 биты устанавливают приоритет этого сегмента;

• 3 бит устанавливает требование к времени задержки передачи IP –сегмента;

• 4 бит устанавливает требование к пропускной способности маршрута, по которому отправляется IP-пакет;

• 5 бит устанавливает требование к надежной передаче IP-пакета;

• 6…7 биты представлены зарезервированными.

Поле «Общая длина» использует 16 бит и устанавливает общую длину пакета в байтах. Максимальное значение равно 65535 байт.

Поле «Идентификатор» использует 16 бит и применяется для сборки фрагментированных дейтаграмм.

Поле «Флаг» использует 3 бита. Данное поле обеспечивает фрагментацию дейтаграмм и определяет последний фрагмент IP-дейтаграммы.  Поле «Смещение сегмента» использует 13 бит и устанавливает позицию данного фрагмента в IP-дейтаграмме.

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

Поле «Протокол» использует 8 бит. Данное поле определяет протокол следующего уровня, который будет использован при обработке поля данных IP-дейтаграммы. Поле «Контрольная сумма заголовка» использует 16 бит и служит для целостности IP-пакета. Так как определенные поля заголовка изменяются в процессе продвижения пакета по узлам сети, то проверочные разряды контрольной суммы пересчитываются в каждом промежуточном узле IP-дейтаграммы.

Два идентификатора размером 32 бита, завершающих базовый IP-заголовок, имеют адрес отправителя и адрес получателя.

Базовый заголовок IP-дейтаграммы может быть дополнен опциями, общей длиной до 320 бит. Примером такого дополнения является опция временного штампа. Поле дополнительных опций может иметь произвольную длину, поэтому для выравнивания заголовка на границу размером 32 бита после поля опций может присутствовать поле выравнивания, заполняемое нулевыми битами.

Для целей скрытого обмена сообщениями предложено использовать поля идентификатора и опцию временного штампа. Для встраивания информация упаковывается в М-блоки, где длина фрагмента сообщения m=24 бит, длина смещения фрагмента n= 16 бит, длина фрагмента ключа k=24 бит.

Первые 16 бит М-блока скрываются в поле идентификации. Чтобы гарантировать уникальность идентификатора на протяжении времени жизни дейтаграммы, перед отправкой все сформированные М-блоки сортируются в следующем порядке: для данной последовательности {3, 1, 2, 1, 3, 3, 4, 5, 1, 4, 2, 5} упорядоченный вариант будет иметь вид {1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 3}.

Оставшиеся биты скрываются с помощью опции временного штампа.

Формат данной опции представлен на рисунке 4.

 

Рисунок 4 - Формат опции временного штампа IР-пакета


Поле «Тип» содержит десятичное значение равное 68. Благодаря этой опции узел-отправитель может попросить маршрутизатор фиксировать в опцию свои временные отметки. Поле «Длина» содержит значение длины опции, включая заголовок. Данное поле содержит 8 бит. Максимальная длина опции составляет 40 байт. Поле «Указатель» определяет начальную позицию данных IP-дейтаграммы. Данное поле занимает 8 бит. Поле флагов разбито на две части. Первые 4 бит используются для хранения числа узлов. Оставшиеся 4 бит определяют порядок заполнения опции.

Временная отметка — число, состоящее из 32 бит, которое прошло Гринвич после полуночи. Если время не может быть предоставлено после полуночи по Гринвичу, тогда в качестве момента отсчета может быть выбрана другая отсечка, при этом старший бит временной отметки устанавливается в единицу. Каждая последующая отметка должна быть больше предыдущей.

Для встраивания информации в IP-дейтаграмму добавляют опцию с двумя временными штампами. В биты 8-31 каждого штампа помещаются в оставшиеся 48 бит М-блока. Биты 0-7 используются для обеспечения неубывания значений временных штампов от дейтаграммы к дейтаграмме.

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

2.3. Метод скрытой передачи информации RSTEG


Польские специалисты разработали стеганографический метод, который позволяет организовать скрытый обмен информацией с помощью механизма повторной передачи пакетов протокола TCP. Данная система работает на сетевом уровне модели OSI [14, 15, 16].

Формат заголовка ТСР-пакета (пакеты протокола TCP принято называть сегментами) показан на рисунке 5 [13, с. 611].

 

Рисунок 5 – Формат заголовка ТСР-сегмента


Каждый сегмент начинается с 20-байтного заголовка фиксированного формата. За ним могут следовать дополнительные поля. После дополнительных полей может располагаться до 65535-20-20=65495 байт данных, где первые 20 байт – это IP-заголовок, а вторые 20 байт – это TCP-заголовок. Сегменты могут и не содержать данных.

Рассмотрим более подробно каждое поле TCP-заголовка. Поля «Порт отправителя» и «Порт получателя» являются идентификаторами локальных конечных точек соединения. Номер порта вместе с IP-адресом хоста образуют уникальный48-битный идентификатор конечной точки. Пара таких идентификаторов, которые относятся к источнику и приемнику, однозначно определяет соединение.

Поля «Порядковый номер» и «Номер подтверждения» позволяют организовать механизм квитирования. Поле «Номер подтверждения» относится к следующему ожидаемому байту, а не к последнему полученному. Оба они 32-разрядные, так как в TCP-потоке нумеруется каждый байт данных.

Поле «Смещение данных» содержит размер TCP-заголовка, выраженный в 32-разрядных словах. Эта информация необходима, так как поле «Факультативные поля», а вместе с ним и весь заголовок, может быть переменной длины. По сути, это поле указывает смещение от начала сегмента до поля данных, измеренное в 32-битных словах. Это то же самое, что длина заголовка.

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

Затем следуют шесть 1-битовых флагов. Бит «URG» устанавливается в 1 в случае использования поля «Указатель срочности», содержащего смещение в байтах от текущего порядкового номера байта до места расположения срочных данных. Таким образом в протоколе TCP реализуются прерывающие сообщения. Как уже упоминалось, протокол TCP лишь обеспечивает доставку сигнала пользователя до получателя, не интересуясь причиной прерывания.

Если бит «АСК» установлен в 1, значит, поле «Номер подтверждения» содержит осмысленные данные. В противном случае данный сегмент не содержит подтверждения, и поле «Номер подтверждения» просто игнорируется.

Бит «PSH» является, по сути, PUSH-флагом, с помощью которого отправитель просит получателя доставить данные приложению сразу по получении пакета, а не хранить их в буфере, пока тот не наполнится.

Бит «RST» используется для сброса состояния соединения, которое из-за сбоя хоста или по другой причине попало в тупиковую ситуацию. Кроме того, он используется для отказа от неверного сегмента или от попытки создать соединение.

Бит «SYN» применяется для установки соединения. У запроса соединения бит «SYN» = 1, а бит «АСК» = 0, что означает, что поле подтверждения не используется. В ответе на этот запрос содержится подтверждение, поэтому значения этих битов в нем равны: «SYN» = 1, «АСК» = 1. Таким образом, бит «SYN» используется для обозначения сегментов CONNECTION REQUEST и CONNECTION ACCEPTED, а бит «АСК» - чтобы отличать их друг от друга.

Бит «FIN» используется для разрыва соединения. Он указывает на то, что у отправителя больше нет данных для передачи. Однако, даже закрыв соединение, процесс может продолжать получать данные в течение неопределенного времени. У сегментов с битами «FIN» и «SYN» есть порядковые номера, что гарантирует правильный порядок их выполнения.

Управление потоком в протоколе TCP осуществляется при помощи скользящего окна переменного размера. Поле «Окно» сообщает, сколько байт может быть послано после байта, получившего подтверждение. Значение поля «Окно» может быть равно нулю, что означает, что все байты вплоть до «Номер подтверждения-1» получены, но у получателя в данный момент какие-то проблемы, и остальные байты он пока принять не может. Разрешение на дальнейшую передачу может быть получено путем отправки сегмента с таким же значением поля «Номер подтверждения» и ненулевым значением поля «Окно».

Поле «Контрольная сумма» служит для повышения надежности. Оно содержит контрольную сумму заголовка, данных и псевдозаголовка, показанного на рисунке 6. При выполнении вычислений поле Контрольная сумма устанавливается равным нулю, а поле данных дополняется нулевым байтом, если его длина представляет собой нечетное число. Алгоритм вычисления контрольной суммы просто скла­дывает все 16-разрядные слова в дополнительном коде, а затем вычисляет до­полнение для всей суммы. В результате, когда получатель считает контрольную сумму всего сегмента, включая поле Контрольная сумма, результат должен быть равен 0.

 

Рисунок 6 – Предзаголовок, заключаемый в контрольную сумму TCP


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

Поле Факультативные поля предоставляет дополнительные возможности, не покрываемые стандартным заголовком. С помощью одного из таких полей каждый хост может указать максимальный размер поля полезной нагрузки, который он может принять. Чем больше размер используемых сегментов, тем выше эффективность, так как при этом снижается удельный вес накладных расходов в виде 20-байтных заголовков, однако не все хосты способны принимать очень большие сегменты. Хосты могут сообщить друг другу максимальный размер поля полезной нагрузки во время установки соединения. По умолчанию этот размер равен 536 байтам. Все хосты обязаны принимать TCP-сегменты размером 536 + 20 = 556 байт. Для каждого из направлений может быть установлен свой максимальный размер поля полезной нагрузки.

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

Транспортный протокол ТСР позволяет организовать надежную доставку данных по IР-сети. Это достигается благодаря установлению логического соединения. Процедура обмена информацией начинается с установления соединения. Для этого протоколом предусмотрен механизм тройного рукопожатия. Сначала клиент посылает на сервер запрос на установление соединения с установленным флагом SYN и начальным порядковым номером. Сервер выделяет ресурсы для обслуживания соединения и отправляет клиенту подтверждение с флагами и АСК. Получив подтверждение, клиент отправляет свое подтверждение с флагом АСК и на этом соединение считается установленным.

Диаграмма обмена данными по протоколу ТСР имеет вид, представленный на рисунке 7.

 

Рисунок 7 – Диаграмма обмена данными по протоколу ТСР


Работа механизма повторной отправки ТСР-сегментов при истечении времени ожидания квитанции показана на рисунке 8.

 

Рисунок 8 – Диаграмма обмена по протоколу TCP при истечении времени ожидания подтверждения


Данный механизм называется ретрансляцией по истечению времени ожидания (Retransmission Timeouts - RTO). Схема скрытого обмена информацией на его базе может быть проиллюстрирована на рисунке 9.

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

                                                 (9)

где  - идентификационная последовательность;

 - хеш-функция;

                - симметричный стеганографический ключ;

                - значение поля «Порядковый номер» ТСР-сегмента;

        - контрольная сумма ТСР-заголовка;

      - контрольный бит, позволяющий различать запросы на скрытую    передачу и сегменты, содержащие вложение;

     - операция битовой конкатенации (склеивания).

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

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

 






Не забудьте оформить заявку на наиболее популярные виды работ: