IKEv2

IKEv2 (Internet Key Exchange v2, RFC 7296, 2010) — переработанный протокол установки IPsec-соединений. Заменил монструозный IKEv1. Проще, быстрее, с встроенной поддержкой мобильности (MOBIKE) и NAT.

Что улучшили относительно IKEv1

IKEv1IKEv2
Раундов handshake6-94 (2 exchange)
Согласование параметровОтдельно Phase 1 + Phase 2Одновременно
NAT-traversalОпция (RFC 3947)Встроено
MOBIKE (миграция IP)НетДа (RFC 4555)
EAP (пароли, MSCHAPv2)Нет, только XAUTH-хакВстроено
RekeyingРазрывает соединениеБез разрыва
Dead peer detectionОтдельный RFCВстроено (liveness check)
Устойчивость к DoSПлохаяCookies + puzzle

Handshake

IKE_SA_INIT (первый обмен):
  Client → Server: SA proposal, DH KE, nonce
  Server → Client: SA choice, DH KE, nonce
  (Устанавливается IKE SA с шифрованием DH-выведенными ключами)

IKE_AUTH (второй обмен):
  Client → Server: ID, cert/PSK, EAP, traffic selectors  (уже зашифровано)
  Server → Client: ID, cert, first CHILD_SA parameters
  (Установлена IKE SA + первая IPsec CHILD_SA)

Всего 4 сообщения → есть шифрованный туннель для данных.

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

MOBIKE — миграция без разрыва

Мобильный клиент переходит с Wi-Fi на LTE, IP меняется. Обычный IPsec-туннель разорвался бы. MOBIKE позволяет:

  1. Клиент отправляет UPDATE_SA_ADDRESSES с новым IP.
  2. Сервер обновляет SA-endpoint.
  3. Туннель продолжает работать без нового handshake.

Ключевая фича для мобильных VPN. Аналог Connection ID в QUIC.

Крупные реализации

Типичный use-case

Корпоративный VPN на iPhone/Windows/Mac без установки стороннего клиента:

Криптография (RFC 8247)

Слабости

См. также