С чем кушатьIPSec

Как вдруг выяснилось IPsec это набор протоколов, типа стека TCP\IP
Сказать у нас IPSec - не сказать толком ничего, нужно указать подробности.

Распутаем термины:

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

А чего согласовываем?

Первым делом - как участники аутентифицируют трафик друг друга - по протоколам AH (протоколы ESP тоже могут выполнять функцию AH). Задача - идентифицировать вторую сторону.

Для аутентификации и шифра нужны ключи. Для первого можно использовать заранее настроенный пароль (pre-share) или ключи RSA, которые могут быть подтверждены сертификатами или еще как то. Для шифра - RSA.
RSA - протокол, реализация алгоритма Диффи-Хилмана. Фишка - открытый обмен цифрами из которых участники могут сделать себе ключи шифрования, а злодей - не может.

AH кроме аутентификации еще дает целостность информации (в том числе защиту от повторных пакетов). Механизм - прикреплять к пакетам хеш по алгоритмам SHA или MD5. В AH трафик не шифруется.

Конкретная реализация обеспечения целостности - описывается протоколом HMAC который берет хеш и ключи и делает контрольную сумму. Второй вариант CBC-MAC, когда вместа хеша берется зашифрованные параметры пакета (например AES-CBC-MAC)

ESP - протокол шифрования самих пакетов, используя алгоритм DES, 3DES или AES. Так как эти алгоритмы симметричные, то RSA шифрует ассиметричным ключем сеансовый ключ, который потом уничтожается. Важно то, что при установлении соединения и формировании SA мы выбираем будет ли делаться с пакетом только AH, только ESP или ESP+AH (в этом случае ESP выполняет обе роли, формируется один заголовок в котором есть поля, отвечающие как за шифрование таки за аутентификацию и целостность)

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

Для кристальной ясности - AH защищает заголовок. Данные могут быть прочитаны но не могут быть подменены или изменены, так как это вызовет модификацию заголовка и такой пакет будет отброшен. ESP шифрует данные и не трогает заголовок. И наконец, ESP c включенным AH шифрует данные и следит за целостностью заголовка, но в отличии от чистого AH рассчитывает контрольную сумму только для себя самого. Добавим туннельный режим = 100% защита исходного пакета, без аутентификации и целостности транспортного верхнего заголовка)))

Кому бутербродов с GRE под IPSec?

Картинка, в общем, говорит за себя. Следим за руками расположением заголовка ESP
Хорошая статья с картинками из Вайршарка об этом

Другие пруфлинки:
RSA по-русски
IPSec на XGU
Тоже полезно от Ciscolab
Антициско о том же

Комментарии

Популярные сообщения из этого блога

Cisco Policing and Shaping.

EDU-JUN-JMV lab on vMX. Part1.

Опять GRE. Мультикаст, MTU и мать всех статей.