Криптование в сетях Ethernet

Автор: Пользователь скрыл имя, 06 Августа 2013 в 16:44, реферат

Описание работы

IPsec представляет собой набор протоколов для обеспечения безопасности сетевого соединения. Протоколы IPsec разработаны IETF (Internet Engineering Task Force). Под безопасностью здесь подразумевается: контроль доступа, обеспечение сохранности данных, идентификация отправителя, защита от атак воспроизведения и секретность обмена. Первые документы, регламентирующие IPsec, были приняты в 1998-99 годах (RFC-2401-02, -2406, -2408 и -2709). Существуют версии IPsec дляIPv4 и IPv6. Важной особенностью этой технологии является то, что пользователь может даже не знать, что он пользуется IPsec и, как правило, нет необходимости адаптировать для работы с IPsec уже существующие приложения. И, тем не менее, дебаты и обсуждения области и способов применения этой технологии продолжаются.

Работа содержит 1 файл

Рыжих Сергей.doc

— 288.50 Кб (Скачать)

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

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

Алгоритмы аутентификации

AH содержит ICV (Integrity Check Value) в аутентификационной части заголовка, и эта контрольная сумма формируется обычно (но не всегда) с помощью стандартного криптографического хэш алгоритма, например, MD5 или SHA-1.

Здесь используется не традиционная контрольная сумма, которая не может предотвратить намеренное искажение содержимого, а алгоритм HMAC (Hashed Message Authentication Code), который при вычислении ICV применяет секретный ключ. Несмотря на то, что хакер может заново вычислить хэш, без секретного ключа он не сможет корректно сформировать ICV. Алгоритм HMAC описан в документе RFC 2104.

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

AH и NAT

Именно потому, что AH обеспечивает хорошую защиту содержимого пакета, так как этот протокол покрывает все, что только нужно защитить, эта защита приводит к несовместимости с NAT (Network Address Translation).

Протокол NAT используется для установления соответствия между  частными IP-адресами (например, 19.125.1.X) и легальными IP. При этом IP заголовок модифицируется устройством NAT путем замены IP-адресов отправителя и получателя.

Когда изменяются IP-адреса, нужно заново вычислить контрольную  сумму заголовка. Это нужно сделать  в любом случае. Так как устройство NAT обычно размещается в одном  шаге между отправителем и получателем это требует, кроме того декрементации значения TTL (Time To Live).

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

Аналогичная проблема возникает  при использовании протокола PAT (Port Address Translation), который устанавливает соответствие нескольких частных IP адресов одному внешнему IP. В этом случае изменяются не только IP-адреса. Но и коды портов в UDP и TCP пакетах (а иногда и в поле данных). Это требует много большей адаптивности со стороны устройства NAT, и более серьезных модификаций всей IP дейтограммы.

По этой причине, протокол AH в туннельном или транспортном режиме полностью несовместим с NAT.

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

Протокол NAT транслирует IP адреса “на  пролете” — но он должен отслеживать то, с каким соединением происходит работа, чтобы корректно связывать отклики с источником пакетов. При использовании TCP или UDP, это обычно делается с привлечением номеров порта, но IPsec не оставляет такой возможности.

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

ESP (Encapsulating Security Payload – поле данных безопасной инкапсуляции)

На рис. 5 показан формат заголовка пакета ESP. Первое поле заголовка  имеет длину 32 бита и содержит значение индекса параметров безопасности (SPI), которое определяет конкретный набор  таких параметров, используемый для данного пакета. За ним следует 32-битовое поле номера по порядку.

Рис. 5. Формат ESP-пакета без аутентификации

Далее размещается поле зашифрованных данных, для выравнивания его длины (+ 2 октета Pad len и Next hdr) до кратного размеру блока шифрования может использоваться поле заполнитель, которое, как и поле данных, может иметь переменную длину. После поля заполнителя размещается хвостовик, содержащий два однооктетных поля: длины заполнителя (Pad len) и кода следующего заголовка (Next hdr). Поле Next hdr характеризует тип поля данных, расположенного выше на рисунке. Протокол ESP требует, чтобы поля Pad len и Next hdr были выровнены по правому полю 32-битового слова. Для решения этой задачи также может использоваться поле заполнитель.

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

Документы RFC IPsec не регламентируют конкретный алгоритм шифрования, но допускают  использование DES, triple-DES, AES и Blowfish для  шифрования поля данных. Алгоритм, используемый для конкретного соединения, специфицируется ассоциацией безопасности SA (рассмотренной ниже), SA включает в себя не только алгоритм, но и используемый ключ.

В отличие от протокола AH, который  вводит небольшой заголовок перед  полем данных, ESP “окружает” защищаемое поле данных. Поля индекс параметров безопасности (Security Parameters Index) и номер по порядку служат для тех же целей, что и в случае AH, но в ESP имеются также поля заполнителя, следующего заголовка, и опционно аутентификационных данных в конце, в хвостовике ESP (см. рис. 6).

Возможно использование ESP без какого-либо шифрования (чтобы  применить NULL алгоритм). Этот режим  не обеспечивает конфиденциальности, и его имеет смысл использовать в сочетании с аутентификацией ESP. Неэффективно использовать ESP без  шифрования или аутентификации (если только это не делается для тестирования протокола).

Заполнение делается для того, чтобы сделать возможным  применение блочных алгоритмов шифрования, длина поля заполнителя определяется значением поляpad len. Поле next hdr определяет тип протокола поля данные (IP, TCP, UDP и т.д.). Следует иметь в виду, что поле данные размещено до этого указателя (см. рис. 6).

Помимо шифрования, ESP может опционно предоставлять возможность  аутентификации, с привлечение алгоритма HMAC. В отличие от AH, однако, эта аутентификация производится только для ESP заголовка и зашифрованного поля данных. При этом не перекрывается весь IP пакет. Это не существенно ослабляет безопасность аутентификации, но дает некоторые важные преимущества.

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

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

ESP в транспортном  режиме

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

Структура данных в пакете для протокола ESP в транспортном режиме показана на рис. 6. Жирным контуром выделены аутентификацируемые данные, а закрашенная область отмечает шифруемую часть данных. Поле Next внизу рисунка характеризует тип протокола поля данных, закрашенного на рисунке (в приведенном примере это ТСР).

 

 

 

 

Рис. 6. Структура  данных в пакете для протокола ESP в транспортном режиме

ESP в туннельном  режиме

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

Структура данных в пакете для протокола ESP в туннельном режиме показана на рис. 7. Слева на рисунке  размешен формат исходной дейтограммы  с инкапсулированным ТСР-сегментом. Жирным контуром выделены аутентифицированные данные, а закрашенная область отмечает шифруемую часть данных. ПолеNext внизу рисунка характеризует тип протокола данных (на рисунке закрашено, в приведенном примере это IP).

Рис. 7. Структура  данных в пакете для протокола ESP в туннельном режиме

Реализация шифрованного соединения в туннельном режиме очень  близка к традиционным VPN.

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

Построение VPN

При полном перекрытии аутентификационного  заголовка и инкапсулированного поля данных можно построить настоящую VPN (Virtual Private Network). Конечной целью VPN является объединение двух безопасных сетей  через небезопасные каналы (например, сети двух отделений компании через Internet). Схема построения VPN показана на рис. 8. Предполагается, что обработка пакетов VPN на входе/выходе локальных сетей осуществляется в сетевых шлюзах (GW). Функции GW могут выполнять и сетевые экраны (Firewall).

Рис. 8. Схема  построения VPN

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

На рис. 9 показана структура VPN-пакета при использовании протокола ESP и аутентификации.

Рис. 9. Структура VPN-пакета при использовании протокола ESP и аутентификации

Поле Next в данном случае характеризует тип протокольного  пакета, размещенного выше на рисунке (тип=IP, закрашенная область).

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

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

Трафик, защищенный так, не предоставляет перехватчику информации о том, что два сетевых объекта  соединены VPN. Эта информация может  оказаться атакеру полезной для  понимания структуры отношений  партнеров. В протоколе ESP даже тип транспортного протокола (TCP, UDP или ICMP) оказывается скрыт от постороннего.

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

Вложение пакет-в-пакет  может быть многослойным. ЭВМ A и ЭВМ B могут установить свое аутентифицированное соединение (с помощью протокола AH), и осуществлять маршрутизацию через VPN. Это приведет к тому, что внутренний пакет AH будет помещен внутрь пакета ESP+Auth. Важно использовать аутентификацию даже в случае применения шифрования, так как такое соединение может стать объектом атаки, описанной в http://eprint.iacr.org/2005/416 (Paterson & Yau).

Ассоциации  безопасности и SPI

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

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

Параметры безопасности задаются SA (Security Association), которая определяет параметры и процедуры, специфические для конкретного соединения. Каждый партнер может иметь один или более SA. Когда дейтограмма приходит, для нахождения правильного SA в базе данных SADB (Security Associations Database – база данных ассоциаций безопасности) используются три значения:

  • IP адрес места назначения.
  • IPsec протокол (ESP или AH, содержится в заголовке).
  • Индекс параметров безопасности (SPI).

Во многих отношениях эта тройка может быть уподоблена IP сокету, который однозначно определяется IP адресом удаленного партнера (IPv4 или IPv6), протоколом и номером порта. В перечень компонентов SA входят:

Информация о работе Криптование в сетях Ethernet