IPsec Error INVALID_KE_PAYLOAD: несовпадение групп Diffie-Hellman в Фазе 1
На начальном этапе установления IPsec соединения Фаза 1 обрывается:
- Ошибки:
IPsec Error: INVALID_KE_PAYLOAD: Diffie-Hellman group mismatch in Phase 1,received INVALID_KE_PAYLOAD notify (type 17)илиselected DH group doesn't match KE payload. - Инициатор отправляет открытый ключ (Key Exchange Payload) для одной группы DH, а ответчик требует другую.
- Туннель циклически перезапускается каждые несколько секунд, не доходя до этапа аутентификации IKE_AUTH.
1. Механизм Key Exchange Payload в IKEv2 (RFC 7296 Section 1.2)
В отличие от IKEv1, где согласование параметров и обмен ключами разделены на разные шаги, в IKEv2 инициатор отправляет свой открытый ключ Диффи-Хеллмана (KE Payload) уже в самом первом пакете IKE_SA_INIT, делая предположение (Guess) о поддерживаемой группе DH. Если ответчик согласен с набором шифров, но предпочитает другую группу DH из списка предложенных, он возвращает уведомление INVALID_KE_PAYLOAD с указанием желаемой группы. Инициатор должен немедленно пересчитать ключ для указанной группы и повторить обмен.
2. Анализ разногласий в журналах шлюза
# Лог strongSwan
[IKE] peer rejected KE payload, requested DH group MODP_2048 (group 14)
[IKE] initiating IKE_SA_INIT with new KE payload for group MODP_20483. Симметричная настройка предложений IKE (Proposals)
Убедитесь, что первая (приоритетная) группа DH совпадает в конфигурациях обоих узлов.
Конфигурация Инициатора (swanctl.conf):
connections {
site-to-site {
# Первая группа x25519 будет отправлена в первичном KE payload
proposals = aes256-sha256-x25519, aes256-sha256-modp2048
}
}Конфигурация Ответчика (swanctl.conf):
connections {
site-to-site {
# Приоритет должен соответствовать инициатору для исключения повторного обмена
proposals = aes256-sha256-x25519, aes256-sha256-modp2048
}
}4. Таблица соответствия групп Diffie-Hellman
| Номер группы | Обозначение RFC | Описание криптографии |
|---|---|---|
| Group 14 | modp2048 | 2048-bit MODP Group (Минимальный стандарт) |
| Group 19 | ecp256 | 256-bit Random ECP (NIST P-256) |
| Group 20 | ecp384 | 384-bit Random ECP (NIST P-384) |
| Group 31 | x25519 | Curve25519 (Максимальная скорость и безопасность) |
5. Применение и сброс состояния
swanctl --load-all
swanctl --initiate --ike site-to-site Частые вопросы (FAQ)
Является ли сообщение INVALID_KE_PAYLOAD критическим сбоем?
В IKEv2 это штатный механизм торга (Negotiation Loop). Однако он добавляет лишний Round-Trip Time (RTT) к скорости установки туннеля. Для мгновенного старта туннеля первая группа DH в пропозалах должна строго совпадать на обоих концах.
Почему туннель не поднимается, если группы DH указаны одинаковые?
Проверьте алгоритм хеширования (PRF). Если инициатор предлагает x25519 с prfsha256, а ответчик настроен на x25519 с prfsha512, возникнет ошибка согласования предложений (NO_PROPOSAL_CHOSEN).
Безопасно ли использовать DH Group 2 и Group 5?
Нет. Группы MODP-1024 (Group 2) и MODP-1536 (Group 5) признаны криптографически небезопасными и отключены во всех современных дистрибутивах Linux и прошивках сетевого оборудования.
Какая группа DH наименее требовательна к процессору шлюза?
Группа 31 (Curve25519 / x25519) обеспечивает наименьшую нагрузку на процессор и наивысшую скорость генерации общих секретов.