Windows 8

Защищенные системы передачи информации. Аутентичное распределение ключей

Защищенные системы передачи информации. Аутентичное распределение ключей

Создание защищенного канала передачи данных между распределенными информационными ресурсами предприятия

А. А. Теренин, к. т. н.,

специалист по обеспечению качества ИТ и ПО

«Дойче Банк Москва»

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

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

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

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

    канал передачи данных должен быть постоянным,

    данные, передаваемые по такому каналу, должны сохранять целостность, достоверность и конфиденциальность.

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

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

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

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

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

Как обеспечить подобную защиту канала передачи данных?

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

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

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

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

Рассмотрим подробно, как можно создавать защищенные каналы передачи данных через Интернет.

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

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

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

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

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

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

Из дополнительных требований к реализуемому защитному каналу передачи данных можно выделить:

    идентификацию и аутентификацию взаимодействующих сторон;

    процедуру защиты от подмены одной из сторон (использование криптоалгоритмов с открытым ключом);

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

    конфигурирование и проверку качества канала связи;

    компрессию передаваемой информации;

    обнаружение и коррекцию ошибок при передаче данных по каналам связи;

    аудит и регистрацию событий;

    автоматическое восстановление работоспособности.

Построим модель нарушителя и модель объекта защиты (рис. 1).

Алгоритм установления соединения

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

Рассматриваются две стороны: сервер и клиент – рабочая станция, которая хочет установить соединение с сервером для дальнейшей работы с ним.

Изначально существуют только два ключа: открытый и закрытый ключи сервера (ОКС и ЗКС ), причем открытый ключ сервера известен всем и передается клиенту при его обращении к серверу. Закрытый ключ сервера в строжайшей секретности хранится на сервере.

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

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

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

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

1. Клиент посылает серверу запрос на соединение.

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

3. Клиент генерирует свои ключи (открытый и закрытый) для работы с сервером (ОКК и ЗКК ).

4. Клиент генерирует ключ сессии (КС ) (симметричный ключ шифрования сообщений).

5. Клиент передает серверу следующие компоненты:

    открытый ключ клиента (ОКК );

    ключ сессии;

    случайное сообщение (назовем его Х ), зашифрованное открытым ключом сервера по алгоритму RSA .

6. Сервер обрабатывает полученное сообщение и посылает в ответ сообщение Х , зашифрованное ключом сессии (симметричное шифрование) + зашифрованное открытым ключом клиента (асимметричное шифрование, например алгоритм RSA ) + подписанное закрытым ключом сервера (RSA, DSA, ГОСТ ) (то есть если мы на стороне клиента после дешифрования получим опять Х, то это значит, что:

    сообщение пришло от сервера (подпись – ЗКС );

    сервер принял наш ОКК (и зашифровал нашим ключом);

    сервер принял КС (зашифровал этим ключом сообщение).

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

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

Схема алгоритма установления соединения приведена на рис. 2.

Алгоритм подготовки сообщения к отправке в защищенный канал

Постановка задачи звучит следующим образом: на вход алгоритма поступает исходный (открытый) текст, на выходе путем криптографических преобразований мы получаем закрытый и подписанный файл. Главная задача, поставленная перед этим алгоритмом, состоит в обеспечении безопасной передачи текста, обеспечении защиты в незащищенном канале.

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

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

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

Алгоритм может быть реализован следующим образом (рис. 3):

    исходный текст сжимается с помощью алгоритма ZIP;

    параллельно этому процессу происходит подпись исходного текста открытым ключом получателя;

    сжатый текст шифруется симметричным ключом сессии, этот ключ тоже есть на приемной стороне;

    к зашифрованному и сжатому тексту добавляется цифровая подпись, однозначно идентифицирующая отправителя;

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

Алгоритм обработки сообщения при приеме из защищенного канала

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

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

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

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

Алгоритм обработки сообщения при приеме из защищенного канала (рис. 4):

    из полученного зашифрованного, сжатого и подписанного сообщения выделяется цифровая подпись;

    текст без цифровой подписи дешифруется ключом сессии;

    декодированный текст проходит процедуру разархивирования с использованием, например, алгоритма ZIP;

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

    на выходе алгоритма мы имеем исходное открытое сообщение и результат проверки подписи.

Алгоритм подписи сообщения

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

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

Для нахождения значения хэшфункции можно применять известные алгоритмы хэширования (SHA, MD4, MD5, ГОСТ и др.), которые позволяют получить на выходе блок данных фиксированной длины. Именно с этим блоком и будет работать алгоритм цифровой подписи. В качестве алгоритма электронной цифровой подписи можно использовать алгоритмы DSA, RSA, Эль-Гамаля и др.

Опишем алгоритм подписи сообщения по пунктам (рис. 5):

    на вход общего алгоритма поступает исходный текст любой длины;

    вычисляется значение хэш-функции для данного текста;

    ЭЦП ;

    используя поступившие данные, вычисляется значение ЭЦП всего текста;

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

Алгоритм проверки подписи

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

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

Опишем алгоритм проверки подписи сообщения по пунктам (рис. 6):

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

    вычисляется значение хэш-функции от данного текста;

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

    в этот же блок направляется цифровая подпись, которая пришла на вход общего алгоритма;

    также на вход этого блока (вычисление цифровой подписи) поступает секретный (закрытый) ключ, который используется для нахождения ЭЦП ;

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

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

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

Возможные атаки на предложенную схему реализации защищенного канала связи

Рассмотрим наиболее распространенные примеры возможных атак на защищенный канал передачи данных .

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

Мы доверяем себе, а также программному обеспечению, установленному на рабочей станции.

При использовании для установления связи с сервером браузера (Internet Explorer или Netscape Navigator) мы доверяем этому браузеру и доверяем его проверке сертификатов посещаемых сайтов.

После проверки подписи на апплете можно доверять ОКС , который вшит в загружаемые с сервера данные или программы (апплеты).

Обладая ОКС , которому мы доверяем, можно приступить к дальнейшей работе с сервером.

Если система строится с применением клиентских приложений, то необходимо доверять установленному клиентскому ПО. После чего по подобной, приведенной выше цепочке мы можем доверять серверу, с которым установлено соединение.

Возможные атаки.

1. При передаче ОКС . Он, в принципе, доступен всем, поэтому злоумышленнику перехватить его не составит труда. Обладая ОКС , теоретически можно вычислить ЗКС . Необходимо использовать криптографические ключи, достаточной для заданного времени сохранения конфиденциальности длины.

2. После передачи с сервера ОКС и перед отправлением клиентом в ответ своих ОКК и КС . В случае если при их генерации (ОКК , ЗКК и КС ) используется слабый генератор случайных чисел, можно попытаться предсказать все три указанных параметра или какой-нибудь один из них.

Для отражения данной атаки необходимо генерировать случайные числа, отвечающие ряду требований. Нельзя, например, использовать для генерации случайных чисел таймер, так как злоумышленник, перехватив первое сообщение (ОКС от сервера), может установить время отправления пакета с точностью до секунд. Если таймер срабатывает каждую миллисекунду, то для вскрытия необходим полный перебор всего лишь 60 000 значений (60 с _ 1000 мс).

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

3. При передаче от клиента к серверу пакета, содержащего ОКК , КС , Х , зашифрованного ОКС . Чтобы вскрыть перехваченную информацию, необходимо обладать ЗКС . Данная атака сводится к атаке, рассмотренной выше (подбор ЗКС ). Сама по себе закрытая информация, передаваемая серверу, бесполезна для злоумышленника.

4. При передаче от сервера к клиенту некоторого тестового сообщения Х , зашифрованного КС и ОКК и подписанного ЗКС . Чтобы расшифровать перехваченное сообщение, надо знать и ОКК , и КС , которые будут известны в случае реализации одной из приведенных выше атак после того, как противнику стал известен ЗКС .

Но расшифровка тестового сообщения не настолько страшна, гораздо большую опасность представляет собой возможность подделки передаваемого сообщения, когда злоумышленник может выдать себя за сервер. Для этого ему надо знать ЗКС , чтобы корректно подписать пакет, и все ключи КС и ОКК , как и само сообщение Х , чтобы правильно составить подложный пакет.

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

Итак, мы рассмотрели атаки, возможные на этапе реализации процедуры «рукопожатия» (HandShake). Опишем атаки, которые могут осуществляться в процессе передачи данных по нашему каналу.

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

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

Из описанного следует, что в любом случае злоумышленник может применить только атаку на основе полного перебора всех возможных значений ключа. Для усиления устойчивости к данному типу атак необходимо расширять диапазон значений КС . При использовании ключа длиной 1024 бита диапазон возможных значений возрастает до 2 1024 .

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

При попытке подмены какой-либо из сторон, то есть при попытке выдать себя за легального участника обмена после установления сеанса связи, ему необходимо знать КС и ЗК (см. случаи, рассмотренные ранее). Если ни КС , ни ЗК того, вместо кого он хочет подсоединиться к каналу связи, злоумышленнику неизвестны, то система тут же узнает об этом, и дальнейшая работа с компрометированным источником прекратится.

В самом начале работы, при подсоединении к серверу, возможна тривиальная атака: подмена DNS-сервера. Защититься от нее не представляется возможным. Решение данной проблемы возложено на администраторов DNS-серверов, находящихся в ведении интернет-провайдеров. Единственное, что может спасти, – это уже описанная выше процедура проверки сертификата сайта браузером, подтверждающая, что произошло подключение именно к нужному серверу.

Заключение

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

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

Подобную технологию организации защищенных соединений организует протокол сетевого взаимодействия SSL. Кроме этого, на основе предложенных принципов строятся виртуальные частные сети (Virtual Private Networks – VPN).

ЛИТЕРАТУРА

1. Медведовский И. Д., Семьянов П. В., Платонов В. В. Атака на Интернет. – СПб.: Изд-во «ДМК» 1999. – 336 с.

2. Карве А. Инфраструктура с открытыми ключами. LAN/Журнал сетевых решений (Russian edition), 8, 1997.

3. Мельников Ю. Н. Электронная цифровая подпись. Возможности защиты. Конфидент № 4 (6), 1995, с. 35–47.

4. Теренин А. А., Мельников Ю. Н. Создание защищенного канала в сети. Материалы семинара «Информационная безопасность – юг России», Таганрог, 28–30 июня 2000.

5. Теренин А. А. Разработка алгоритмов для создания защищенного канала в открытой сети. Автоматизация и современные технологии. – Изд-во «Машиностроение», № 6, 2001, с. 5–12.

6. Теренин А. А. Анализ возможных атак на защищенный канал в открытой сети, созданный программным способом. Материалы XXII Конференции молодых ученых механико-математического факультета МГУ, М, 17–22 апреля 2000.

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

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

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

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

К программной реализации алгоритма предъявляются следующие требования:

Прозрачность для пользователя;

Отказоустойчивость;

- надежное хранение секретных ключей и системных данных ограниченного доступа;

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

Совместимость с различным сетевым оборудованием.

Рассмотрим алгоритм «Метка привилегий» подробнее. В обычном режиме пакеты передаются непосредственно от источника адресату, минуя сервер. Это обычная локальная сеть организации. Перед предполагаемым началом специального режима администратор запускает службу на сервере. Сеть переходит в режим ожидания.

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

Специальный режим. Проверяется аутентификационная информация отправителя пакета. Наглядно работа сервера показана в виде блок-схемы на рисунке 2.

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

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

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

Методика организации защищенного канала

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

На основании алгоритма «Метка привилегий» была разработана методика организации защищенного канала передачи информации с управлением трафиком при передаче.

Рассмотрим этапы, которые включает данный способ обмена конфиденциальной информацией для пользователя.

1. Предъявляется аутентификатор (электронный ключ).

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

3. Начинается видеоконференция (а во время нее - отправка конфиденциальной информации).

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

5. Конференция завершается.

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

Аутентификация

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

Таким образом, требуется применить одношаговую схему аутентификации по аппаратному ключу и по полю данных в заголовке пакета TCP. Наиболее простым и эффективным способом решения этой задачи будет применение алгоритма вычисления имитовставки по ГОСТу 28147-89, поскольку он обеспечивает высокую криптостойкость, позволяет варьировать длину аутентификационного поля в пакете и эффективно реализуется на современных аппаратных платформах ПЭВМ общего назначения. При этом для решения обеих задач может применяться один и тот же ключ, хранимый на предъявляемом оператором ключевом носителе. При аутентификации пользователя для входа в систему (при запуске клиентского приложения) на сервер отправляется тестовое сообщение, зашифрованное на ключе с предъявленного ключевого носителя. Если серверу удалось расшифровать его ключом, соответствующим легальному пользователю данного узла сети, аутентификация считается пройденной и сервер сообщает об этом клиентскому приложению.

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

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

Стеганография

При стеганографическом преобразовании добавление контейнеров должно происходить в реальном времени, кроме того, необходимо обеспечить стойкость ключа.

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

Особенностями применения стеганографии в разрабатываемой методике для видеоконференций являются следующие:

Стегоконтейнеры встраиваются в реальном времени;

Открытая передаваемая информация имеет большой размер - увеличивается нагрузка на канал;

В стегоконтейнерах необходимо передавать аутентификационные метки;

Добавление контейнеров должно проходить в прозрачном для пользователя режиме;

Аутентификация должна быть простой для пользователя и выполняться в автоматическом режиме;

Передача аутентификационных меток должна проводиться постоянно.

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

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

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

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

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

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

Программная реализация

Рассмотрим работу программы, реализующей данный алгоритм. Необходимо отметить, что она состоит из клиентской и серверной частей.

Клиентская часть запускается в фоновом режиме, предоставляя минимальный набор возможностей:

Участвовать в видеоконференции;

Отправить конфиденциальную информацию адресату;

Принять и распознать конфиденциальную информацию.

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

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

Таким образом, администратор вручную выполняет следующие действия:

Ввод IP-адреса пользователей видеоконференции;

Выбор размера смещения под адрес;

Ввод пользовательских ключей для осуществления аутентификации.

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

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

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

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

Программа предполагает наличие двух видов пользователей - клиент и администратор.

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

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

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

Для реализации алгоритма «Метки привилегий» необходимо модифицировать заголовки TCP-пакетов. Вначале была изучена спецификация RFC 793 (описывающая структуру пакета TCP) и подобраны инструменты - библиотеки PCAP и libnet. Обе библиотеки являются кроссплатформенными. С их помощью можно создать собственную программу, реализующую функции обработки TCP-заголовков.

В качестве прототипа была создана собственная реализация программы, позволяющей создать сокет либо в состоянии сервера (ожидает подключение клиента), либо в состоянии клиента (пытается подключиться к серверу). Были учтены результаты предыдущих разработок в университете по смежной тематике .

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

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

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

Литература

1. Литвиненко В.А., Ховансков С.А. Распределенные вычисления в сети методом коллективного принятия решения // Изв. ЮФУ. Технич. науки: тематич. вып.: Безопасность телекоммуникационных систем. Таганрог: Изд-во ТТИ ЮФУ, 2008. № 3 (80). С. 110-113.

2. Свентусов С.В. Методы снижения загрузки серверов аудиоконференций // Изв. СПбГЭУ (ЛЭТИ), 2008. Вып. 2. С. 25-30.

3. Шейда В.В. Использование протоколов TCP И UDP для защищенной передачи информации по SSL-VPN-туннелям: докл. ТГУСУР, 2010. С. 225-229.

4. Самуйлов К.Е. Метод решения задачи разделения ресурсов мультисервисной сети между виртуальными частными сетями с одноадресными и многоадресными соединениями // Вестн. РУДН. Сер.: Математика, информатика, физика. 2010. № 2 (1). С. 42-53.

5. Антамошкин А.Н., Золотарев В.В. Алгоритм расчета прогнозируемого трафика при проектировании распределенных систем обработки и хранения информации // Вестн. СибГАУ, Красноярск, 2006. № 1. С. 5-10.

6. Бондарь И.В., Золотарев В.В., Попов А.М. Методика оценки защищенности информационной системы по требованиям стандартов информационной безопасности // Информатика и системы управления. 2010. Вып. 4 (26). С. 3-12.

Для реализации различных сервисов защиты информации в се-тях, построенных на базе коммуникационной архитектуры TCP/IP. используется ряд типовых механизмов и протоколов защиты. Решение, соответствующее практическим потребностям, обычно может быть получено как определенная их комбинация. Среди всех меха-низмов защиты, применяемых для целей электронной коммерции и электронного документооборота, важнейшее место занимают средства образования защищенных каналов передачи информации. Здесь мы рассмотрим стандартные протоколы, предназначенные для ре-шения этой задачи.
Очень широкое распространение за последние годы получили локальные и глобальные компьютерные сети на основе коммуникационной архитектуры TCP/IP. Одна из причин популярности TCP/IP - хорошо разработанная система функций защиты информа-ции, закрепленная рекомендациями серии RFC, которые публикуются международной организацией IETF (Internet Engineering Task Force). В связи с этим они являются основной нормативно-техничес-кой базой реализации информационных систем, предназначенных для целей электронной коммерции.
В сетях, основанных на архитектуре TCP/IP, наибольшее рас-пространение получили два метода реализации защищенных кана-лов передачи информации. Один из них - применение стандартных механизмов и протоколов защиты информации, определяемых ар-хитектурой безопасности IPSec. Это рамочная модель (frame-work), включающая четыре компонента:
протокол АН - Authentication Header;
протокол ESP - Encapsulating Security Payload;
протокол IPcomp -IP payload compression;
рамочную модель IKE - Internet Key Exchange.
Для каждого из них (занимающих свое место среди протоколов коммуникационной архитектуры TCP/IP) описываются форматы, за-головки, специфические криптографические механизмы и режимы их применения. Архитектура IPSec добавляет к IP-пакетам проверку целостности, подлинности (аутентичности), шифрование и защиту от повтора пакетов. Она используется для обеспечения безопасности соединений между оконечными пользователями и для создания за-щищенных туннелей между шлюзами.
Архитектура IPSec была создана для обеспечения способности к взаимодействию. При корректной реализации она не оказывает никакого влияния на сети и хосты, не поддерживающие ее. Модель не зависит от используемых криптографических алгоритмов и допускает включение новых алгоритмов по мере их появления. Архитектура поддерживается дня коммуникационных протоколов IPv4 и IPv6 (в по-следнем случае она является обязательным компонентом коммуникационной архитектуры). Конкретная реализация того или иного крипто-графического алгоритма для использования протоколами в архитектуре IPSec называется преобразованием (transform). Например, алгоритм DES, используемый протоколом ESP в режиме сцепления блоков, в терминологии IPSec называется преобразованием ESP DES-CBC. Преобразования, пригодные для использования в протоколах, публи-куются в рекомендациях серии RFC, принятых IETF.
Архитектура IPSec базируется на двух главных компонентах: защищенных ассоциациях (Security Associations - SA) и туннелиро- вании.
Защищенная ассоциация - это однонаправленное (симплексное) ло-гическое соединение между двумя системами, поддерживающими IP-
Sec, которое однозначно идентифицируется тремя параметрами, где Security Parameter Index (SPI) - 32-битовая величина, используемая для иден-тификации различных SA с одним и тем же адресом получателя и про-токолом безопасности (SPI переносится в заголовке протокола безо-пасности - АН или ESP; SPI имеет только локальное значение, так как определяется создателем SA; обычно SPI выбирается системой- получателем во время установления SA); IP destination address - IP- адрес системы-получателя, который может быть адресом единичной системы, а также адресом широковещательной или групповой рассыл-ки; однако текущие механизмы управления SA определены только для адресов единичных систем; Security protocol - величина, которая указывает на выбор протокола АН или ESP.
Защищенная ассоциация может быть установлена в одном из двух режимов: транспортном или туннельном, в зависимости от ре-жима протокола в этой ассоциации. Напомним, что SA является симплексным соединением, следовательно, для двунаправленной связи между двумя системами, поддерживающими IPSec, должны быть определены две SA, по одной в каждом направлении.
Каждая отдельно взятая SA предоставляет сервисы безопасности для трафика, переносимого ею либо через протокол АН, либо через протокол ESP, но не через оба протокола сразу. Другими словами, для соединения, которое должно быть защищено одновременно протоко-лами АН и ESP, в каждом направлении должны быть определены две ассоциации. В этом случае все множество SA, которые определены для соединения, носит название связки защищенных ассоциаций (SA bundle). Ассоциации, входящие в связку, не обязательно должны за-вершаться в одной и той же конечной точке. Например, мобильный хост мог бы использовать SA с протоколом АН для связи между собою и межсетевым экраном (МЭ) и другую SA с протоколом ESP, которая продолжается до хоста, расположенного позади МЭ.
Реализация IPSec поддерживает две базы данных (БД), связанные с SA.
Security Policy Database (SPD) - база данных политики безопас-ности, которая специфицирует те сервисы безопасности, которые должны предоставляться IP-трафику. Они зависят от таких факторов, как адреса источников и получателей, «внутриполосный» или «внеполосный» характер трафика и т. п. БД содержит упорядоченный список записей о политике, раздельных для «внутриполосного» и «внеполосного» трафика. Эти записи могут специфицировать, что часть трафика должна миновать обработку через механизмы архи-тектуры IPSec, часть должна быть вообще удалена, а остальной трафик должен быть обработан модулем, реализующим функции архи-тектуры IPSec. Записи в этой БД похожи на правила межсетевого экранирования или пакетной фильтрации.
Security Association Database (SAD) - база данных защищенных ассоциаций, которая содержит параметрическую информацию о ка-ждой SA, в том числе алгоритмы и ключи, используемые протоко-лами АН и ESP, последовательные номера ассоциаций, режимы про-токолов и время жизни SA. Для «внеполосной» обработки записи SPD указывают на записи в SAD, т. е. SPD определяет, какие SA должны быть использованы для данного пакета. Для «внутриполос- ной» обработки SAD служит средством определения способа обра-ботки пакета.
Пользовательский интерфейс реализации IPSec обычно либо скрывает эти БД, либо представляет их в более дружественном виде.
Туннелирование, или инкапсуляция, - это обычный метод защиты для сетей с маршрутизацией пакетов. Он заключается в том, что па-кеты, передаваемые в сети, «оборачиваются» в новые пакеты, так как к первоначальному пакету приписывается новый заголовок и, возможно, хвостовик. Исходный пакет целиком становится заполне-нием нового пакета более низкоуровневого протокола (рис. 4.2). Новый IP- заголовок ^Щ^Л"Г^Врк^ ;" > - Заполн єш щ ІР^п лк Исходная (инкапсулированная) дейтаграмма становится заполнением нового IP-пакета
Рис. 4.2. Принцип туннелирования (инкапсуляции) протоколов
Туннелирование часто используется для того, чтобы перенести трафик какого-либо протокола через сеть, которая не поддерживает этот протокол непосредственно. Например, протоколы NetBIOS или IPX могут быть инкапсулированы в IP-пакеты для переноса их через глобальную сеть, построенную в архитектуре ТСРЛР. Туннелирова- ние можно использовать и для целей защиты информации. Так и происходит в архитектуре IPSec: туннелирование применяется для того, чтобы обеспечить сплошную защиту передаваемых пакетов, включая и заголовки инкапсулируемых пакетов. Если пакеты шиф-руются, то злоумышленник не может извлечь оттуда, к примеру, адрес получателя пакетов (в отсутствие туннелирования он это легко смог бы сделать). Таким образом, от постороннего наблюдателя мо-жет быть скрыта внутренняя структура частной сети.
Туннелирование требует промежуточной обработки исходного пакета при маршрутизации. Адрес получателя, указанный во внешнем заголовке, обычно является адресом межсетевого экрана или маршрутизатора, поддерживающего архитектуру IPSec. Он получает инкапсулированный пакет, извлекает из него содержимое исходного пакета и посылает его оконечному получателю. Дополнительные затраты на обработку компенсируются повышением уровня безопас-ности.
Замечательным преимуществом туннелирования IP-пакетов является способность обмениваться пакетами с частными ІР-адресами между двумя внутренними сетями организаций через публичный канал, который требует, чтобы узлы имели уникальные глобальные адреса. Так как инкапсулированный заголовок не обрабатывается маршрутизаторами в сети Интернет, достаточно, чтобы только око-нечные точки туннеля (шлюзы) имели бы глобально присвоенные адреса. Хосты в частных сетях (интранет-сетях) за ними могут иметь частные адреса (например, вида Ю.х.х.х). Так как глобальные ІР- адреса становятся дефицитными, такой метод взаимосвязи сетей приобретает большое значение. Модель туннелирования в архитек-туре безопасности IPSec описана в рекомендации RFC 2003 - «IP Encapsulation within IP».
Далее мы рассмотрим протоколы архитектуры IPSec, более ин-тересные с технической, нежели с алгоритмической точки зрения, так как их криптографическая «начинка» довольно проста.
Итак, первым компонентом архитектуры безопасности IPSec является протокол АН. Он используется для того, чтобы обеспечить целостность и подлинность IP-дейтаграмм. С его помощью также возможна защита и от повтора пакетов. Хотя его использование рас-сматривается как необязательное, сервис защиты от повтора пакетов должен быть реализован в любой системе, совместимой с архитек-турой IPSec. Сервисы не требуют установки соединений, следова-тельно, должны быть обеспечены для каждого пакета в отдельности. Протокол АН используется в двух режимах: транспортном и тун-нельном.
Протокол АН обеспечивает подлинность для возможно большей части IP-дейтаграмм. В транспортном режиме некоторые поля IP- заголовка изменяются при маршрутизации, поэтому их значения не могут быть предсказаны получателем. Эти поля называются пере-менными (mutable) и не защищаются протоколом АН. Переменные поля пакета IPv4 таковы:
поле, указывающее тип сервиса (Type of service - TOS); поле флагов; поле смещения фрагмента (Fragment offset); поле времени жизни пакета (Time to live - TTL); поле контрольной суммы заголовка (header checksum).
Когда требуется защита этих полей, должно быть использовано туннелирование. Заполнение IP-пакета рассматривается как неизме-няемое и в любом случае защищается методом АН.
Протокол АН идентифицируется номером протокола 51, присво-енным IANA. Заголовок протокола непосредственно предшествует заголовку протокола АН, содержащему эту величину в своих полях.
Обработка методом, предусмотренным протоколом АН, приме-нима только к нефрагментированным IP-пакетам. Однако IP-пакет с заголовком АН может быть фрагментирован промежуточным мар-шрутизатором. В этом случае получатель сначала собирает пакет, а затем применяет к нему обработку в соответствии с методом, пре-дусмотренным АН. Если при начале обработки оказывается, что ІР- пакет предположительно разбит на фрагменты (поле смещения не-нулевое или флаг More fragments установлен в единицу), он удаляет-ся. Это предотвращает атаку методом перекрытия фрагментов (over-lapping fragment attack), которая возможна при некорректном ис-пользовании алгоритма сборки фрагментов и позволяет искажать пакеты и пересылать их через МЭ.
Пакеты, которые не проходят аутентификацию, удаляются и ни-когда не доставляются на верхние уровни. Этот режим значительно уменьшает вероятность успешного проведения атак, приводящих к отказу в обслуживании, цель которых заключается в том, чтобы блокировать связь с хостом или шлюзом, наводняя их «поддельными» пакетами.
Формат АН-заголовка (рис. 4.3) описан в RFC 2402. В него вхо-дят следующие поля:
«Следующий заголовок» - Next header (8 бит); «Длина заполнения пакета» - Payload length (8 бит); Зарезервированное поле (16 бит, установленных в 0); «Индекс параметра безопасности» - Security Parameter Index (SPI) (32 бита);

«Код аутентификации сообщения» - Authentication data (32 бита для IPv4, 64 бита для IPv6). " .АН- ¦ "
л J Л ГОЛОВОК-./ ЕР-заголовок Заполнение IP-пакет а
^Сиед: заголовок \ Дтата.запрЛнегаи^;". ¦^ЬаіУез.^ві"фЬвжо;-"- j;.jv".>": іуі"ійдексі гі{ірпмвт]їгі¦ $ёзЬпас>гостн^^Ріу//йv;} ? ¦; yVi.. ¦ ;">¦. "¦ ігіорЯДКОЕЬШ"НОМф- Шкёга к-ПОСЛЄД(ІВ"аТельНОСТІІ ; іЛ", u.:: г^ -К о д1. луг енті 1фїік аці иГ t6o бщейія j . 32 бита >- Рис. 4.3. Формат заголовка протокола АН в соответствии с RFC 2402
Заголовок АН в транспортном режиме вставляется в пакет сразу после заголовка IP-пакета (рис. 4.4). Если дейтаграмма уже имеет заголовок IPSec, заголовок АН помещается перед ним. Транспортный режим используется хостами, но не шлюзами. Шлюзам не тре-буется поддерживать транспортный режим. Преимуществом транспортного режима является меньшая вычислительная сложность, не-достатком - отсутствие проверки подлинности изменяемых полей.
ЕР-заголовок
Заполнение ІР-пакета і"*. - ІР-заголовок:., "АІІ- -заголовок- Заполненне ЕР-пакета -с ->- Дейтаграмма с АН-зпгачовком в транспортом режиме
Обеспечена аутенпгіность (кроме изменяемых псшеп) Рис. 4.4. Заголовок протокола АН в транспортном режиме
Исходная ІР-деґпаграмма
; „ "АІІ- -заголовок-
ІР-заголовок
Заполнение ЕР-пакета
АН в туннельном реэ/симе использует ранее рассмотренную кон-цепцию туннелирования. При этом конструируется новая 1Р-дей- таграмма, в то время как исходная становится ее заполнением. АН в транспортном режиме применяется к полученной дейтаграмме (рис. 4.5). Туннельный режим используется всякий раз, когда око-нечным узлом защищенной ассоциации является шлюз. Так, между двумя МЭ всегда используется туннельный режим.
Заполнение IP-пакета
ІР- заголовок
Исходная IP-дейтаграмма

ІР-
заголовок
Заполненне ІР-пакета


Обеспечена аугенттргность (кроме изменяемых полей в новом ЕР-зяголовке)

В туннельном реэ/симе
Туннелирован- ная дейтаграмма Дейтаграмма с АН-заголовком в туннельном режиме
Шлюзы часто также поддерживают и транспортный режим. Этот режим разрешен, когда шлюз действует как хост, т. е. в случаях, когда трафик предназначен самому шлюзу. Например, команды SNMP могут быть направлены шлюзу, используя транспортный режим.
В туннельном режиме IP-адреса внешних заголовков не обяза-тельно должны быть теми же самыми, что и адреса внутренних за-головков. Например, два шлюза могут организовать АН-туннель, который используется для того, чтобы гарантировать подлинность
всего трафика между сетями, которые они соединяют. Это типичный случай применения туннельного режима.
Преимуществом туннельного режима является полная защита инкапсулируемых ІР-дейтаграмм и возможность использования ча-стных адресов. Однако этот режим приводит к дополнительной вы-числительной работе узлов сети.
Протокол ESP используется для обеспечения целостности, под-линности и для шифрования ІР-дейтаграмм, а также (факультативно) для защиты от повторной передачи пакетов. Эти сервисы пре-доставляются без установления соединения, поэтому они должны применяться для каждого пакета в отдельности. Множество требуе-мых сервисов выбирается при установлении защищенной ассоциа-ции (SA). Вместе с тем существуют и некоторые ограничения: проверка целостности пакета и аутентификация используются совместно;
защита от повтора может выбираться только в совокупности с проверкой целостности и аутентификацией; защита от повтора может быть выбрана только получателем па-кетов.
Шифрование может быть выбрано независимо от других сервисов. Если шифрование разрешено, рекомендуется, чтобы проверка целостности и аутентификация также были включены. Если исполь-зуется одно только шифрование, злоумышленник может искажать пакеты для того, чтобы осуществить атаку криптоаналитика.
Хотя и аутентификация (с проверкой целостности) и шифрова-ние необязательны, всегда выбирается по меньшей мере одна из этих функций, так как в противном случае использование протокола ESP вообще не имеет смысла.
Протокол ESP идентифицируется номером протокола 50, при-своенным IANA. Заголовок протокола (IPv4, IPv6 или расширение) непосредственно предшествует ESP-заголовку, который и содержит эту величину протокола.
Обработка по методу ESP" применима только к нефрагментиро- ванным IP-пакетам. Однако IP-пакет с примененным к нему ESP может быть фрагментирован промежуточными маршрутизаторами. В этом случае получатель сначала собирает пакет, а затем применяет к нему обработку, предусмотренную протоколом ESP. Если 1Р-па-
кет, который предположительно является фрагментированным, по-ступает для обработки на уровень протокола ESP, он удаляется. Это предотвращает атаку методом перекрытия фрагментов пакетов.
Если выбраны и шифрование и аутентификация с проверкой це-лостности, то получатель вначале проверяет аутентичность пакета и, только если этот шаг завершился успешно, производит расшифровку заполнения пакета. Этот порядок позволяет сэкономить вычисли-тельные ресурсы и уменьшить уязвимость системы защиты к атакам, приводящим к отказу в обслуживании.
Формат пакета при применении ESP (рис. 4.6) описан в RFC 2406. Он более сложен, чем при применении АН, так как включает не только заголовок, но также и концевик и код аутентификации пакета. Заполнение пакета инкапсулируется между заголовком и концевиком, что и дало имя этому методу защиты. | ІР- заголовок f/^pp"-i: заголовок. Заполненпе IP-пакета Конце"-..
.Іл/"ВІГК^ І^шфикащиі^1 Индекспараметр д. бе зопа єно сш- (SE1)
ч. ESP-чаго ловок
ПорядковыГьномер^ пакета в последовательности
к
Заполнение пакета (поле переменной длины)
^Дополнение (от;.О до.
ЬЪд"арденП"фжащ-пгсообщеим^!: щтг.
ESP-концевик

І"івМІГіГ.і"С"ї
«Индекс параметра безопасности» - SPI - Security Parameter Index (32 бита);
«Порядковый номер пакета в последовательности» - Sequence number (32 бита);
поле заполнения, т. е. данные, полученные от протокола более высокого уровня - Payload data (обязательное, переменной длины); дополнение предыдущего поля до длины, кратной 256 байт, - Padding (от 0 до 255 байт, установленных в 0); длина предыдущего поля дополнения - Pad length (8 бит); «Следующий заголовок» - Next header (8 бит, обязательное); «Код аутентификации сообщения» - Authentication data (пере-менной длины).
Как и протокол АН, протокол ESP может использоваться в двух режимах: транспортном и туннельном.
ESP в транспортном реэ/симе. В этом режиме ESP-заголовок следует сразу после IP-заголовка, как показано на рис. 4.7. Если дей-таграмма уже имеет IPSec-заголовок, то ESP-заголовок должен следовать перед первым из них. Концевик протокола ESP и необяза-тельный код аутентификации добавляются к заполнению.


реалше

Протокол ESP в транспортном режиме не обеспечивает ни ау-тентификацию, ни шифрование для IP-заголовка. Это недостаток, так как «ложные» пакеты все же моїут быть доставлены для обра-ботки протоколом ESP. Преимущество транспортного режима - низкие вычислительные затраты. Как и в случае АН, протокол ESP
в транспортном режиме используется хостами, но не шлюзами. Шлюзам вообще не требуется поддерживать транспортный режим.

Организация защищенного канала связи

Максим Илюхин,
к.т.н., ОАО "ИнфоТеКС"

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

Система ViPNet

На заре своего развития идея организации частных приватных сетей (VPN) была чрезвычайно популярна, и многие серьезные участники ИТ-рынка и энтузиасты-любители пытались воплотить абстрактные идеи в реальный программный продукт. Серьезные компании создали множество решений, обеспечивающих функциональность частных приватных сетей как на программном, так и на аппаратном уровне. Одним из самых ярких и масштабных стала система ViPNet, разработанная компанией "ИнфоТеКС".

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

Ключевая структура носит комбинированный характер, имеет как симметричную схему распределения ключей, что позволяет обеспечить жесткую централизованную систему управления, так и систему открытого распределения ключей, и используется как доверенная среда для работы PKI. Прикладные программы системы ViPNet дополнительно предоставляют защищенные службы реального времени для циркулярного обмена сообщениями, проведения конференций, ведения переговоров; для служб гарантированной доставки почтовой корреспонденции с процедурами электронной подписи и разграничением доступа к документам; для служб автопроцессинга для автоматической доставки файлов. Кроме того, отдельно оформленные криптографические функции ядра (подпись и шифрование) и реализованная поддержка MS Crypto API при необходимости могут встраиваться непосредственно в различные прикладные системы (например, системы электронного документооборота).

Программное обеспечение системы ViPNet функционирует в операционных средах Windows, Linux.

ViPNet CUSTOM

ViPNet CUSTOM - многофункциональная технология создания защищенных VPN-сетей с возможностью развертывания полноценной PKI-структуры, ориентированная на организацию защищенного взаимодействия "клиент - клиент", в то время как большинство VPN-решений других производителей обеспечивают только соединения уровня "сервер - сервер" или "сервер -клиент". Это дает возможность реализовать любую необходимую политику разграничения доступа в рамках всей защищенной сети, а также снизить нагрузку на VPN-серверы, так как в общем случае при взаимодействии "клиент - клиент" VPN-сервер не задействован в операциях шифрования трафика между этими клиентами. Большое внимание в ViPNet CUSTOM уделено решению проблемы функционирования в условиях наличия разнообразного сетевого оборудования и программного обеспечения, реализующего динамическую или статическую трансляцию адресов/портов (NAT/PAT), что существенно облегчает процесс интеграции системы защиты в существующую инфраструктуру сети. В большинстве случаев ручной настройки клиентского ПО ViPNet Client вообще не требуется.

Каждый компонент ViPNet CUSTOM содержит встроенный сетевой экран и систему контроля сетевой активности приложений, что позволяет получить надежную распределенную систему межсетевых и персональных сетевых экранов.

Для разрешения возможных конфликтов IP-адресов в локальных сетях, включаемых в единую защищенную сеть, ViPNet CUSTOM предлагает развитую систему виртуальных адресов. Во многих случаях это позволяет упростить настройку прикладного ПО пользователя, так как наложенная виртуальная сеть со своими виртуальными адресами будет скрывать реальную сложную структуру сети. ViPNet CUSTOM поддерживает возможность межсетевого взаимодействия, что позволяет устанавливать необходимые защищенные каналы связи между произвольным числом защищенных сетей, построенных с использованием ViPNet CUSTOM. Кроме того, система обеспечивает защиту информации в современных мульти-сервисных сетях связи, предоставляющих услуги IP-телефонии и аудио- и видеоконфе-ренц-связи. Поддерживается приоритизация трафика и протоколы Н.323, Skinny.

Данная настройка Iptables рассчитана на схему с использованием 2 сетевых интерфейсов.

Рис 5

Программа позволяет задать правила, которым должны соответствовать проходящие через брандмауэр IP-пакеты. Эти правила, как и все настройки Linux, записываются в текстовый файл, находящийся в папке /etc. Последовательность правил называется цепочкой (CHAIN). Для одного и того же сетевого интерфейса используются несколько цепочек. Если проходящий пакет не соответствует ни одному из правил, то выполняется действие по умолчанию.

Для определений правил используются несколько таблиц:

Используется для изменения заголовка пакета. Допускается выполнять только нижеперечисленные действия:

  • · TOS
  • · TTL
  • · MARK

Действие TOS выполняет установку битов поля Type of Service в пакете. Это поле используется для назначения сетевой политики обслуживания пакета, т.е. задает желаемый вариант маршрутизации. Однако, следует заметить, что данное свойство в действительности используется на незначительном количестве маршрутизаторов в Интернете. Другими словами, не следует изменять состояние этого поля для пакетов, уходящих в Интернет, потому что на роутерах, которые таки обслуживают это поле, может быть принято неправильное решение при выборе маршрута.

Действие TTL используется для установки значения поля TTL (Time To Live) пакета. Есть одно неплохое применение этому действию. Мы можем присваивать определенное значение этому полю, чтобы скрыть наш брандмауэр от чересчур любопытных провайдеров (Internet Service Providers). Дело в том, что отдельные провайдеры очень не любят когда одно подключение разделяется несколькими компьютерами. и тогда они начинают проверять значение TTL приходящих пакетов и используют его как один из критериев определения того, один компьютер "сидит" на подключении или несколько.

Действие MARK устанавливает специальную метку на пакет, которая затем может быть проверена другими правилами в iptables или другими программами, например iproute2 . С помощью "меток" можно управлять маршрутизацией пакетов, ограничивать траффик и т.п.

Используется для выполнения преобразований сетевых адресов NAT (Network Address Translation). Только первый пакет из потока проходит через цепочки этой таблицы, трансляция адресов или маскировка применяются ко всем последующим пакетам в потоке автоматически. Для этой таблицы характерны действия:

  • · DNAT
  • · SNAT
  • · MASQUERADE

Действие DNAT (Destination Network Address Translation) производит преобразование адресов назначения в заголовках пакетов. Другими словами, этим действием производится перенаправление пакетов на другие адреса, отличные от указанных в заголовках пакетов.

SNAT (Source Network Address Translation) используется для изменения исходных адресов пакетов. С помощью этого действия можно скрыть структуру локальной сети, а заодно и разделить единственный внешний IP адрес между компьютерами локальной сети для выхода в Интернет. В этом случае брандмауэр, с помощью SNAT , автоматически производит прямое и обратное преобразование адресов, тем самым давая возможность выполнять подключение к серверам в Интернете с компьютеров в локальной сети.

Маскировка (MASQUERADE ) применяется в тех же целях, что и SNAT , но в отличие от последней, MASQUERADE дает более сильную нагрузку на систему. Происходит это потому, что каждый раз, когда требуется выполнение этого действия - производится запрос IP адреса для указанного в действии сетевого интерфейса, в то время как для SNAT IP адрес указывается непосредственно. Однако, благодаря такому отличию, MASQUERADE может работать в случаях с динамическим IP адресом, т.е. когда вы подключаетесь к Интернет, скажем через PPP, SLIP или DHCP.

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

Так же можно осуществлять фильтрацию по состоянию соединения. Допустимыми являются состояния NEW, ESTABLISHED, RELATED и INVALID. В таблице, приводимой ниже, рассматриваются каждое из возможных состояний.

Состояние

Описание

Признак NEW сообщает о том, что пакет является первым для данного соединения. Это означает, что это первый пакет в данном соединении, который увидел модуль трассировщика. Например если получен SYN пакет являющийся первым пакетом для данного соединения, то он получит статус NEW. Однако, пакет может и не быть SYN пакетом и тем не менее получить статус NEW. Это может породить определенные проблемы в отдельных случаях, но может оказаться и весьма полезным, например когда желательно "подхватить" соединения, "потерянные" другими брандмауэрами или в случаях, когда таймаут соединения уже истек, но само соединение не было закрыто.

Состояние RELATED одно из самых "хитрых". Соединение получает статус RELATED если оно связано с другим соединением, имеющим признак ESTABLISHED. Это означает, что соединение получает признак RELATED тогда, когда оно инициировано из уже установленного соединения, имеющего признак ESTABLISHED. Хорошим примером соединения, которое может рассматриваться как RELATED, является соединение FTP-data, которое является связанным с портом FTP control, а так же DCC соединение, запущенное из IRC. Обратите внимание на то, что большинство протоколов TCP и некоторые из протоколов UDP весьма сложны и передают информацию о соединении через область данных TCP или UDP пакетов и поэтому требуют наличия специальных вспомогательных модулей для корректной работы.

Состояние ESTABLISHED говорит о том, что это не первый пакет в соединении. Схема установки состояния ESTABLISHED достаточна проста для понимания. Единственное требование, предъявляемое к соединению, заключается в том, что для перехода в состояние ESTABLISHED необходимо чтобы узел сети передал пакет и получил на него ответ от другого узла (хоста). После получения ответа состояние соединения NEW или RELATED будет заменено на ESTABLISHED.

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