Internet Key Exchange

редактировать
Интернет-протокол

В вычислениях, Internet Key Exchange (IKE, иногда IKEv1 или IKEv2, в зависимости от версии) - это протокол, используемый для установки сопоставления безопасности (SA) в набор протоколов IPsec. IKE основан на протоколе Oakley и ISAKMP. IKE использует сертификаты X.509 для аутентификации - либо предварительно совместно используемые, либо распределенные с использованием DNS (предпочтительно с DNSSEC ) - и ключ Диффи – Хеллмана. exchange для установки общего секрета сеанса, из которого происходят криптографические ключи. Кроме того, необходимо вручную поддерживать политику безопасности для каждого узла, который будет подключаться.

Содержание

  • 1 История
  • 2 Архитектура
    • 2.1 Фазы IKEv1
    • 2.2 Проблемы с IKE
    • 2.3 Улучшения с IKEv2
  • 3 Расширения протокола
  • 4 Реализации
  • 5 Уязвимости
  • 6 См. Также
  • 7 Ссылки
  • 8 Внешние ссылки

История

Интернет-разработка Целевая группа (IETF) первоначально определила IKE в ноябре 1998 года в серии публикаций (Запрос комментариев ), известных как RFC 2407, RFC 2408 и RFC 2409 :

  • RFC 2407 определяет домен интерпретации IP-безопасности Интернета для ISAKMP.
  • RFC 2408 определяет протокол ассоциации безопасности и управления ключами Интернета (ISAKMP).
  • RFC 2409 определяет Интернет-обмен ключами (IKE).

RFC 4306 обновил IKE до версии 2 (IKEv2) в декабре 2005 года. RFC 4718 прояснил некоторые открытые детали в октябре 2006 года. RFC 5996 объединил эти два документа плюс дополнительные пояснения к обновленному протоколу IKEv2, опубликованному в сентябре 2010 года. В более позднем обновлении документ был обновлен с предложенного стандарта до Интернет-стандарта, опубликованного как RFC 7296 в октябре 2014 года.

Головная организация IETF, The Internet Society (ISOC), сохранила авторские права на эти стандарты как свободно доступные для интернет-сообщества.

Архитектура

Большинство реализаций IPsec состоят из демона IKE , который работает в пользовательском пространстве, и стека IPsec в ядре, который обрабатывает фактические IP пакеты.

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

Протокол IKE использует пакеты UDP, обычно на порте 500, и обычно требует 4–6 пакетов с 2–3 круговыми обходами для создания SA (сопоставление безопасности) с обеих сторон. Затем согласованный ключевой материал передается в стек IPsec. Например, это может быть ключ AES, информация, определяющая конечные IP-точки и порты, которые должны быть защищены, а также тип туннеля IPsec, созданный. Стек IPsec, в свою очередь, перехватывает соответствующие IP-пакеты, если и где это необходимо, и выполняет шифрование / дешифрование по мере необходимости. Реализации различаются в зависимости от того, как осуществляется перехват пакетов - например, некоторые используют виртуальные устройства, другие берут часть брандмауэра и т. Д.

IKEv1 состоит из двух этапов: этапа 1 и этапа 2.

Этапы IKEv1

Первая фаза IKE - установить безопасный аутентифицированный канал связи с использованием алгоритма обмена ключами Диффи – Хеллмана для генерации общего секретного ключа для дальнейшего шифрования IKE коммуникации. Это согласование приводит к одному двунаправленному ISAKMP Security Association (SA). Аутентификация может быть выполнена с использованием либо общего ключа (общий секрет), подписей, либо шифрования с открытым ключом. Фаза 1 работает либо в основном режиме, либо в агрессивном режиме. Основной режим защищает идентичность одноранговых узлов и хэш общего ключа путем их шифрования; В агрессивном режиме этого не происходит.

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

Проблемы с IKE

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

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

Улучшения с IKEv2

Протокол IKEv2 был описан в Приложении A к RFC 4306 в 2005 году. Были устранены следующие проблемы:

  • Меньше Запрос на Комментарии (RFC): Спецификации для IKE были охвачены по крайней мере в трех RFC, и больше, если принять во внимание NAT traversal и другие широко используемые расширения. IKEv2 объединяет их в одном RFC, а также вносит улучшения для поддержки NAT traversal (Network Address Translation (NAT)) и межсетевого экрана обход в целом.
  • Поддержка стандартной мобильности: существует стандартное расширение для IKEv2 с именем [rfc: 4555 Mobility and Multihoming Protocol] (MOBIKE) (см. также IPsec ), используемое для поддержки мобильности и множественная адресация для него и Инкапсуляция полезной нагрузки безопасности (ESP). Используя это расширение, IKEv2 и IPsec могут использоваться мобильными и многосетевыми пользователями.
  • NAT traversal : инкапсуляция IKE и ESP в дейтаграмме пользователя Протокол (порт UDP 4500) позволяет этим протоколам проходить через устройство или межсетевой экран, выполняющий поддержку NAT.
  • Stream Control Transmission Protocol (SCTP): IKEv2 позволяет использовать SCTP протокол, используемый в протоколе интернет-телефонии, Voice over IP (VoIP).
  • Простой обмен сообщениями: IKEv2 имеет один механизм начального обмена с четырьмя сообщениями, где IKE предоставляет восемь совершенно разных механизмов начального обмена, у каждого из них были свои преимущества и недостатки.
  • Меньшее количество криптографических механизмов: IKEv2 использует криптографические механизмы для защиты своих пакетов, которые очень похожи на те, что использует IPsec ESP для защиты пакетов IPsec. Это привело к упрощению реализации и сертификации для Common Criteria и FIPS 140-2 (Федеральный стандарт обработки информации (FIPS), которые требуют, чтобы каждая криптографическая реализация была отдельно
  • Надежность и управление состоянием: IKEv2 использует порядковые номера и подтверждения для обеспечения надежности и требует некоторой логистики обработки ошибок и общего управления состоянием. IKE может оказаться в мертвом состоянии из-за отсутствия таких мер надежности, где обе стороны ожидали, что другая сторона инициирует действие, которое так и не произошло. Временные решения (такие как Dead-Peer-Detection ) были разработаны, но не стандартизированы. Это означало, что различные реализации обходных путей не были всегда совместим.
  • Отказ в обслуживании (DoS) устойчивость к атакам: IKEv2 не выполняет много обработки, пока не определит, существует ли на самом деле запрашивающая сторона. Это решило некоторые из проблем DoS, с которыми столкнулся IKE, который будет выполнять много дорогостоящей криптографической обработки из поддельных местоположений.
Предположим, что HostA имеет индекс параметров безопасности (SPI) Aи HostB имеет SPI из B, сценарий будет выглядеть следующим образом:
HostA ---------------- ---------------------------------- HostB | HDR (A, 0), sai1, kei, Ni-- ------------------------>| | <----------------------------HDR(A,0),N(cookie)| |HDR(A,0),N(cookie),sai1,kei,Ni---------------->| | <--------------------------HDR(A,B),SAr1,ker,Nr|
Если HostB (отвечающая сторона) обнаруживает большое количество полуоткрытых IKE-соединений, он отправит незашифрованное ответное сообщение IKE_SA_INITна HostA ( инициатор) с уведомляющим сообщением типа COOKIE, и будет ожидать, что HostA отправит запрос IKE_SA_INITс этим значением cookie в уведомляющей полезной нагрузке на HostB . Это необходимо для того, чтобы инициатор действительно мог обрабатывать ответ IKE от ответчика.

Расширения протокола

Рабочая группа IETF ipsecme стандартизировала ряд расширений с целью модернизации протокола IKEv2. и лучше адаптировать его к крупным производственным средам. Эти расширения включают в себя:

  • Возобновление сеанса IKE : возможность возобновить неудачный «сеанс» IKE / IPsec после сбоя без необходимости проходить весь процесс настройки IKE (RFC 5723 ).
  • Перенаправление IKE : перенаправление входящих запросов IKE, позволяющее легко балансировать нагрузку между несколькими конечными точками IKE (RFC 5685 ).
  • Видимость трафика IPsec : специальная маркировка пакетов ESP, которые аутентифицированы, но не зашифрованы, с целью упростить для промежуточных ящиков (таких как системы обнаружения вторжений ) анализ потока (RFC 5840 ).
  • Mutual EAP authentication : поддержка EAP - аутентификация только (т. е. без сертификата) обоих одноранговых узлов IKE; цель состоит в том, чтобы разрешить использование современных методов аутентификации на основе пароля (RFC 5998 ).
  • Быстрый сбой обнаружение : минимизация времени до тех пор, пока одноранговый узел IKE не обнаружит, что его противоположный одноранговый узел вышел из строя (RFC 6290 ).
  • Расширения высокой доступности : улучшение IKE / IPsec- синхронизация протокола уровня между кластером конечных точек IPsec и одноранговым узлом, чтобы уменьшить вероятность разрыва соединений после события аварийного переключения (RFC 6311 ).

Реализации

IKE поддерживается как часть Реализация IPsec в Windows 2000, Windows XP, Windows Server 2003, Windows Vista и Windows Server 2008. Реализация ISAKMP / IKE была совместно разработана Cisco и Microsoft.

Microsoft Windows 7 и Windows Server 2008 R2 частично поддерживают IKEv2 (RFC 7296 ), а также MOBIKE (RFC 4555 ) с помощью функции повторного подключения VPN (также известной как Agile VPN).

Существует несколько реализаций IPsec с открытым исходным кодом с соответствующими возможностями IKE. В Linux, Libreswan, Openswan и strongSwan реализации предоставляют демон IKE, который может настраивать (т. Е. Устанавливать SA) для KLIPS или Стеки IPsec на основе ядра XFRM / NETKEY. XFRM / NETKEY - это встроенная реализация IPsec для Linux, доступная с версии 2.6.

В дистрибутивах программного обеспечения Berkeley также есть реализация IPsec и демон IKE, и, что наиболее важно, криптографическая структура (OpenBSD Cryptographic Framework, OCF), что обеспечивает поддержку криптографические ускорители намного проще. OCF недавно был перенесен на Linux.

Значительное количество поставщиков сетевого оборудования создали свои собственные демоны IKE (и реализации IPsec) или лицензируют стек друг у друга.

Существует ряд реализаций IKEv2, и некоторые компании, занимающиеся сертификацией IPsec и тестированием совместимости, начинают проводить семинары по тестированию, а также обновляют требования к сертификации для тестирования IKEv2. ICSA Labs провела свой последний семинар по взаимодействию IKEv2 в Орландо, штат Флорида, в марте 2007 года с участием 13 поставщиков со всего мира.

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

Уязвимости

Утечка NSA, выпущенные Der Spiegel, указывают, что IKE используется неизвестным образом для дешифрования трафика IPSec, как и ISAKMP. Исследователи, обнаружившие атаку Logjam, заявляют, что взлом 1024-битной группы Диффи – Хеллмана приведет к поломке 66% серверов VPN, 18% из миллиона доменов HTTPS с наибольшим числом разрядов и 26% SSH-серверов, что, по утверждениям исследователей, согласуется с утечками. Это утверждение было опровергнуто Эялем Роненом и Ади Шамиром в их статье «Критический обзор несовершенной прямой секретности» и Полом Воутерсом из Libreswan в статье «66% VPN на самом деле не сломаны»

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

Обе версии стандарта IKE уязвимы для автономной атаки по словарю, когда используется пароль с низкой энтропией. Для IKEv1 это верно для основного режима и агрессивного режима.

См. Также

Ссылки

Внешние ссылки

Последняя правка сделана 2021-05-24 04:58:47
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте