Введение в IPsec

Для начала, чтобы обеспечить защиту каких-либо IP-пакетов, нужны два узла IPsec, которые построят между собой туннель IPsec.

Для создания туннеля IPsec используется протокол IKE (Internet Key Exchange) или статически заданные параметры IPsec. В случае IKE, есть две фазы построения IPsec туннеля: IKE фаза 1 и IKE фаза 2.

На IKE этапе 1 два узла договариваются о протоколах шифрования, аутентификации, хеширования и других протоколах, которые они хотят использовать, а также о некоторых других необходимых параметрах. На этом этапе устанавливается сеанс ISAKMP (Internet Security Association and Key Management Protocol). Это также называется туннелем ISAKMP или туннелем первой фазы IKE.

Набор параметров, которые будут использовать два устройства, называется SA (Security Association). Вот пример двух маршрутизаторов, которые установили туннель фазы 1 IKE:

Рисунок

Туннель IKE фазы 1 используется только для управляющего трафика. Этот туннель используется как безопасный метод для организации второго туннеля, называемого туннелем IKE фазы 2 или туннелем IPsec. Второй туннель предназначен уже для непосредственной передачи пользовательских данных а также для управляющих данных, например, пакетов keepalive.

Рисунок

После завершения фазы 2 IKE появится туннель фазы 2 IKE (или туннель IPsec), который можно использовать для защиты пользовательских данных. Эти данные будут передаваться через туннель фазы 2 IKE:

Рисунок

IKE создаёт туннели, но не аутентифицирует и не шифрует пользовательские данные. Для этого используется протокол ESP (Encapsulating Security Payload).

Протокол ESP может работать либо в туннельном либо в транспортном режиме. Основное различие между ними заключается в том, что в транспортном режиме используется исходный IP-заголовок, а в туннельном — новый. Диаграмма ниже даёт наглядное представление об этом:

Рисунок

Транспортный режим часто используется между двумя устройствами, которым требуется защитить часть незащищённого трафика (например, трафик Telnet). Туннельный режим обычно используется для VPN типа «сеть-сеть», где требуется инкапсуляция исходного IP-пакета, поскольку это в основном частные IP-адреса, которые невозможно маршрутизировать через Интернет. Ниже будет подробно рассказано об этих двух режимах.

Весь процесс IPsec состоит из следующих четырёх шагов:

  • Инициирование: инициирование IPsec происходит после завершения конфигурации профиля и создания crypto-map.
  • IKE фаза 1: согласуются параметры для построения туннеля фазы 1 IKE (туннеля ISAKMP).
  • IKE фаза 2: внутри туннеля фазы 1 IKE создаётся туннель фазы 2 IKE (туннель IPsec).
  • Передача данных: пользовательские данные передаются в защищённом виде через туннель IKE фазы 2.

IKE фаза 1

Главное назначение IKE фазы 1 это установить защищённый туннель для IKE фазы 2. Этот процесс можно разделить на три простых шага:

Шаг 1: Переговоры

Узел, данные которого необходимо защитить, инициирует согласование фазы 1 IKE. Два узла согласуют следующие вопросы:

  • Хеширование: используется алгоритм хеширования MD5 или SHA (sha1, sha256, sha512) для проверки целостности данных.
  • Аутентификация: каждый одноранговый узел должен подтвердить, кто он с помощью предварительного ключа (pre-shared key).
  • Назначение группы криптографического алгоритма DH (Диффи-Хеллмана): группа DH определяет стойкость ключа, который используется в процессе обмена ключами. Чем больше номер группы, тем надёжнее она защищена, но и вычисляется дольше.
  • Назначение времени жизни: как долго будет работать туннель IKE фазы 1. Чем короче время жизни, тем туннель надёжнее, потому что его перестройка означает, что будут использованы новые криптографические ключи. В EcorouterOS значение по умолчанию составляет 14 400 секунд (4 часа), но варьируется в пределах 10% в меньшую сторону во избежание коллизий.
  • Шифрование: какой алгоритм будет использован для шифрования: 3DES или AES (AES128, AES192, AES256).

Шаг 2: Обмен ключами DH

После успешного согласования оба узла будут знать, какую политику безопасности использовать. Теперь они будут использовать согласованную группу DH для обмена ключами. В результате у обоих узлов будет общий ключ.

Шаг 3: Аутентификация

На последнем шаге оба узла аутентифицируют друг друга, используя метод аутентификации, согласованный в ходе переговоров. Успешное прохождение аутентификации означает завершение фазы 1 IKE. В результате получается двунаправленный туннель фазы 1 IKE (он же туннель ISAKMP). Это означает, что оба узла могут отправлять и получать данные по этому туннелю.

Три шага, описанных выше, могут быть проделаны в двух режимах: в основном режиме и в агрессивном. В основном режиме придётся использовать шесть сообщений, тогда как в агрессивном — лишь три. Агрессивный режим быстрее основного, поскольку добавляет всю информацию, необходимую для обмена ключами DH, в первые два сообщения. Основной режим считается более безопасным, поскольку идентификация зашифрована, в то время как агрессивный режим делает это в открытом виде.

После этих шагов у обоих участников есть всё необходимое: последнее сообщение от инициатора — это хеш, который используется для аутентификации. Туннель фазы 1 IKE теперь запущен и работает, и всё готово для перехода к фазе к фазе 2 IKE.

IKE фаза 2

Туннель IKE фазы 2 (туннель IPsec) фактически используется для защиты пользовательских данных. Существует только один режим для построения туннеля фазы 2 IKE, который называется быстрым режимом.

Как и в фазе 1 IKE, одноранговые узлы договариваются о ряде пунктов:

  • Протокол IPsec: использовать ли AH (проверку целостности) или ESP (шифрование).
  • Режим инкапсуляции: транспортный или туннельный режим.
  • Шифрование: какой алгоритм шифрования будет использован 3DES, AES128, AES192 или AES256?
  • Аутентификация: какой алгоритм аутентификации используется: MD5, SHA1, SHA256 или SHA512.
  • Обмен DH (необязательно): используется для PFS (Perfect Forward Secrecy, совершенная прямая секретность). PFS не является обязательным и заставляет одноранговые узлы снова запустить обмен DH для генерации нового общего ключа в каждом быстром режиме IKE фазы 2.

В IKEv2 нет основного или агрессивного режима для фазы 1, а также нет быстрого режима для фазы 2. Однако он по-прежнему состоит из двух фаз: первая называется IKE_SA_INIT, а вторая — IKE_AUTH. Для всего обмена требуется всего четыре сообщения.

После завершения второй фазы IKE IPsec готов к защите определённых пользовательских данных. Далее будет объяснено, как это будет реализовано.

Протокол ESP

ESP позволяет шифровать IP-трафик. Его можно использовать в транспортном или туннельном режиме.

В транспортном режиме используется исходный IP-заголовок, и под ним добавляется заголовок ESP. Вот как это выглядит:

Рисунок

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

В туннельном режиме используется новый заголовок IP, что полезно в случаях организации VPN между удалёнными сетями:

Рисунок

Туннельный режим похож на транспортный, но к пакету добавляется новый заголовок. Исходный IP-заголовок теперь также зашифрован.