Домой / Основные настройки / Программные продукты и системы. Каналы защищенной передачи данных

Программные продукты и системы. Каналы защищенной передачи данных

Андрей Субботин Материал приводится с разрешения редакции.

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

    конфиденциальность информации (доступность ее только для того, кому она предназначена);

    целостность информации (ее достоверность и точность, а также защищенность ее преднамеренных и непреднамеренных искажений);

    готовность информации (в любой момент, когда в ней возникает необходимость).

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

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

Первый вариант более прост в реализации и может использоваться для работы практически с любыми системами передачи электронной почты. Наиболее часто применяются алгоритмы шифрования DES, RSA, ГОСТ 28147-89, "Веста-2".

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

Целостность передаваемой по открытым каналам связи информации обеспечивается использованием специальной электронной подписи, которая позволяет установить авторство и подлинность информации. Электронная подпись в настоящее время широко применяется для подтверждения юридической значимости электронных документов в таких системах обмена информации, как Банк - Банк, Банк - Филиал, Банк - Клиент, Биржа - Брокерская контора и т. п. Из наиболее распространенных алгоритмов электронной подписи можно назвать такие, как RSA, PGP, ElGamal.

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

Положим, разработчик системы защиты утверждает, что полностью реализовал в ней требования ГОСТ 28147-89. Этот ГОСТ был опубликован, но не полностью. Не были опубликованы некоторые специальные криптографические подстановки, от которых существенно зависит ее криптостойкость. Таким образом, в правильности реализации ГОСТ можно быть уверенным только при наличии сертификата ФАПСИ, которого у большинства разработчиков нет.

Разработчик системы защиты сообщает, что у реализовал алгоритм RSA. При этом он умалчивает о том, что реализация должна лицензироваться фирмой RSA Data Security Inc. (патент США # 4 405 829). Более того, вывоз из США реализаций RSA с длиной ключа более 40 бит запрещен (криптостойкость такого ключа оценивается специалистами примерно в несколько дней работы обычного компьютера с процессором Pentium).

Разработчик системы защиты сообщает, что в ней реализован алгоритм PGP, который широко применяется у нас в стране благодаря бесплатно распространявшимся до 1995 г. его исходным текстам через BBS США. Здесь две проблемы. Первая - электронная подпись сделана на базе алгоритма RSA и, с точки зрения охраны авторских прав, также должна лицензироваться фирмой RSA Data Security Inc. Вторая - распространяемые программы нечувствительны к вмешательству в их работу, поэтому с помощью специального криптовируса можно легко получить секретный ключ для формирования электронной подписи.

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

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

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

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

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

При межсетевом взаимодействии между территориально удаленными объектами компании возникает задача обеспечения безопасности информационного обмена между клиентами и серверами различных сетевых служб. Сходные проблемы имеют место и в беспроводных локальных сетях (Wireless Local Area Network, WLAN), а также при доступе удаленных абонентов к ресурсам корпоративной информационной системы. В качестве основной угрозы здесь рассматривается несанкционированное подключение к каналам связи и осуществление перехвата (прослушивания) информации и модификация (подмена) передаваемых по каналам данных (почтовые сообщения, файлы и т.п.).

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

В первом варианте шифрование информации, предназначенной для транспортировки по каналу связи через неконтролируемую территорию, должно осуществляться на узле-отправителе (рабочей станции - клиенте или сервере), а расшифровка - на узле-получателе. Этот вариант предполагает внесение существенных изменений в конфигурацию каждой взаимодействующей стороны (подключение средств криптографической защиты к прикладным программам или коммуникационной части операционной системы), что, как правило, требует больших затрат и установки соответствующих средств защиты на каждый узел локальной сети. К решениям данного варианта относятся протоколы SSL, S-HTTP, S/MIME, PGP/MIME, которые обеспечивают шифрование и цифровую подпись почтовых сообщений и сообщений, передаваемых с использованием протокола http.

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

Протокол Kerberos

Протоколы аутентификации:

3. Аутентификация с помощью открытого ключа

Описание DSA

p = простое число длинной L битов, где L принимает значение, кратное 64, в диапазоне от 512 до 1024.

q= 160-битовой простое число - множитель p-1

g = , где h - любое число, меньшее p-1, для которого больше 1

x = число, меньшее q

Используется однонаправленная хэш-функция: Н(m).

Первые три параметра, p, q, g, открыты и могут быть общими для пользователей сети. Закрытым ключом является х, а открытым - у. Чтобы подписать сообщение, m:

1. А генерирует случайное число k, меньше q

2. А генерирует

Его подписью служат параметры r и s, он посылает их В

3. В проверяет подпись, вычисляя

Если v=r, то подпись правильна.

Резюме

Система стандартов IPSec вобрала в себя прогрессивные методики и достижения в области сетевой безопасности. Система IPSec прочно занимает лидирующие позиции в наборе стандартов для создания VPN. Этому способствует ее открытое построение, способное включать все новые достижения в области криптографии. IPsec позволяет защитить сеть от большинства сетевых атак, «сбрасывая» чужие пакеты еще до того, как они достигнут уровня IP на принимающем компьютере. В защищаемый компьютер или сеть могут войти только пакеты от зарегистрированных партнеров по взаимодействию.

IPsec обеспечивает:

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

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

Защита на прикладном уровне

Протокол SSL

Протокол SSL (Secure Socket Layer - уровень защищенных сокетов), разработанный Netscape Communications при участии RSA Data Security, предназначен для реализации защищенного обмена информацией в клиент/серверных приложениях. На практике SSL широко реализуется только совместно с протоколом прикладного уровня HHTP.

Функции безопасности, предоставляемые протоколом SSL:

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

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

Рисунок 9 Криптозащищенные туннели, сформированные на основе протокола SSL

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

Протокол диалога SSL имеет два основных этапа формирования и поддержки защищаемого соединения:

  • установление SSL-сессии;
  • защищенное взаимодействие.

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

В процессе установления SSL - сессии решаются следующие задачи:

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

Рисунок 10 Процесс аутентификации клиента сервером

В протоколе SSL предусмотрено два типа аутентификации:

  • аутентификация сервера клиентом;
  • аутентификация клиента сервером.

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

Схема применения протокола

До передачи сообщение по линии передачи данных, сообщение проходит следующие этапы обработки:

1.Сообщение фрагментируется на блоки, пригодные для обработки;

2.Данные сжимаются (опционально);

3.Генерируется MAC ключ ;

4.Данные зашифровываются с помощью ключа ;

1.Используя ключ , данные расшифровываются;

2.Проверяется MAC ключ ;

3.Происходит декомпрессия данных (если использовалось сжатие);

4.Сообщение собирается из блоков и получатель читает сообщение.

Аутентичное распределение ключей

A , Клиент CA Удостоверяющий центр B , Сервер
Генерация пары ключей цифровой подписи: . Передача в УЦ - симметричная схема шифрования; - схема открытого шифрования; - схема ЦП; - любые функции (лучше ОНФ) Генерация пары ключей схемы открытого шифрования: . Передача в УЦ
K - случайный сеансовый ключ.

Если , то K принимается как аутентичный общий секретный ключ

Рабочий этап

A B

Симметричная схема шифрования

. . . и т.д. . . .

Атаки на протокол SSL

Как и другие протоколы, SSL подвержен атакам, связанным с не доверенной программной средой, внедрение программ-закладок и др.:

  • Атака отклика. Заключается в записи злоумышленником успешной коммуникационной сессии между клиентом и сервером. Позднее, он устанавливает соединение с сервером, используя записанные сообщения клиента. Но при помощи уникального идентификатора соединения "nonce" SSL отбивает эту атаку. Коды этих идентификаторов имеют длину 128 бит, в связи с чем злоумышленнику необходимо записать 2^64 идентификаторов, чтобы вероятность угадывания была 50%. Количество необходимых записей и низкую вероятность угадывания делают эту атаку бессмысленной.
  • Атака протокола рукопожатия. Злоумышленник может попытаться повлиять на процесс обмена рукопожатиями для того, чтобы стороны выбрали разные алгоритмы шифрования. Из-за того, что многие реализации поддерживают экспортированное шифрование, а некоторые даже 0-шифрование или MAC-алгоритм, эти атаки представляют большой интерес. Для реализации такой атаки злоумышленнику необходимо подменить одно или более сообщений рукопожатия. Если это происходит, то клиент и сервер вычислят различные значения хэшей сообщения рукопожатия. В результате чего стороны не примут друг от друга сообщения "finished". Без знания секрета злоумышленник не сможет исправить сообщение "finished", поэтому атака может быть обнаружена.
  • Раскрытие шифров. SSL зависит от нескольких криптографических технологий. Шифрование с общедоступным ключом RSA используется для пересылки ключей сессии и аутентификации клиента/сервера. В качестве шифра сессии применяются различные криптографические алгоритмы. Если осуществлена успешная атака на эти алгоритмы, SSL не может уже считаться безопасным. Атаки против определенных коммуникационных сессий могут производиться путем записи сессии, и затем предпринимается попытка подобрать ключ сессии или ключ RSA. В случае успеха открывается возможность прочесть переданную информацию.
  • Злоумышленник посередине. Man-in-the-Middle атака предполагает наличие трех сторон: клиента, сервера и злоумышленника. Злоумышленник, находясь между ними, может перехватывать обмен сообщениями между клиентом и сервером. Атака является эффективной только если для обмена ключами применяется алгоритм Диффи-Хэлмана, так как целостность принимаемой информации и ее источник проверить невозможно. В случае SSL такая атака невозможна из-за использования сервером сертификатов, заверенных центром сертификации.

Протокол TLS

Цель создания и преимущества

Цель создания TLS - повышение защиты SSL и более точное и полное определение протокола:

  • Более надежный алгоритм MAC
  • Более детальные предупреждения
  • Более четкие определения спецификаций "серой области"

TLS предоставляет следующие усовершенствованные способы защиты:

  • Хэширование ключей для идентификации с помощью сообщений - TLS применяет в коде идентификации сообщения (HMAC) хэширование, предотвращающее от изменения записи при передаче по незащищенной сети, например в Internet. SSL версии 3.0 также поддерживает идентификацию сообщений с помощью ключей, но HMAC считается более надежным, чем функция MAC, применяемая в SSL версии 3.0.
  • Улучшенная псевдослучайная функция (PRF) С помощью PRF создаются данные ключа. В TLS функция PRF определена с помощью HMAC. PRF применяет два алгоритма хэширования, обеспечивающих ее защиту. Если один из алгоритмов будет взломан, данные будут защищены вторым алгоритмом.
  • Улучшенная проверка сообщения "Готово" - Протоколы TLS версии 1.0 и SSL версии 3.0 отправляют обеим конечным системам сообщение "Готово", означающее, что доставленное сообщение не было изменено. Однако в TLS эта проверка основана на значениях PRF и HMAC, что обеспечивает более высокий уровень защиты по сравнению с SSL версии 3.0.
  • Согласованная обработка сертификатов - В отличие от SSL версии 3.0, TLS пытается указать тип сертификата, который может применяться различными реализациями TLS.
  • Особые предупреждающие сообщения - TLS предоставляет более точные и полные предупреждения о неполадках, обнаруженных одной из конечных систем. TLS также содержит информацию о том, когда какие сообщения с предупреждениями следует отправлять.

Протокол SSH

Протокол SSH (Secure Shell-оболочка безопасности) - это набор протоколов аутентификации с открытым ключом, позволяющий пользователю на стороне клиента безопасно регистрироваться на удалённом сервере.

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

Все сообщения шифруются с помощью IDEA .

Архитектура протокола SSH

SSH выполняется между двумя ненадёжными компьютерами, работающими в незащищенной сети(клиент - сервер).

Набор протоколов SSH состоит из трех компонентов:

  • Протокол транспортного уровня SSH (SSH Transport Layer Protocol), обеспечивает аутентификацию сервера. Для этого используется открытый ключ. Исходной информацией для этого протокола как со стороны сервера, так и со стороны клиента, является пара открытых ключей - "ключи головного компьютера". Итогом протоколом является взаимно аутентифицированный защищённый канал, который гарантирует секретность и целостность данных.
  • Протокол аутентификации пользователя SSH (SSH User Authentication Protocol). Выполняется по каналу односторонней аутентификации, установленному протоколом транспортного уровня SSH. Для выполнения аутентификации от клиента к серверу, поддерживаются различные протоколы односторонней аутентификации. Эти протоколы могут применять либо открытый ключ, либо пароль. Например, они могут быть созданы на основе протокола аутентификации с помощью простого пароля. Результатом протокола является взаимно аутентифицированный защищённый канал между сервером и пользователем. Применяются следующие методы:

publickey - клиент высылается ЭЦП , сервер проверяет доверие открытому ключу клиента по имеющейся на сервере копии ключа, затем проверяет аутентичность клиента по Sc.

password - клиент подтверждает свою аутентичность паролем.

hostbased - аналогично publickey, только используется пара ключей для клиентского хоста; подтвердив аутентичность хоста, сервер доверяет имени пользователя.

  • Протокол связи SSH (SSH Connection Protocol) выполняется по взаимно аутентифицированному защищённому каналу, установленному предыдущими протоколами. Протокол обеспечивает работу защищённого канала при этом разделяя его на несколько защищённых логических каналов.

Протокол распределения ключами

Протокол включает в себя 3 этапа. Первый этап - "Hello" phase, где первый идентификатор это строка, I, отправляется, чтобы начать протокол, за которым следует список поддерживаемых алгоритмов - X.

На 2-й стадии стороны согласуют секретный ключ, s. Для этого применяется алгоритм Диффи-Хеллмана . Сервер подтверждает свою идентичность, отправляя клиенты свой открытый ключ, , верифицированный цифровой подписью, , и подпись дайджеста, h. В качестве идентификатора sid устанавливается значение h.

На стадии 3 секретный ключ, идентификатор сессии и дайджест используются для создании 6 "apllication keys", вычисленных с помощью .

Резюме

К преимуществам протокола относится:

  • возможность действий на сквозной основе (end - to - end) с осуществляющими стеками TCP/IP, существующими интерфейсами прикладного программирования;
  • повышенная эффективность по сравнению с медленными каналами;
  • отсутствие каких-либо проблем с фрагментацией, определением максимального объёма блоков, передаваемых по данному маршруту;
  • сочетание компрессии с шифрованием.

Для реализации различных сервисов защиты информации в се-тях, построенных на базе коммуникационной архитектуры 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
в транспортном режиме используется хостами, но не шлюзами. Шлюзам вообще не требуется поддерживать транспортный режим.