IPSec
IPsec
Протокол
IPsec — набор протоколов для обеспечения защиты
данных, передаваемых по межсетевому протоколу IP. Позволяет осуществлять
подтверждение подлинности, проверку целостности и/или шифрование IP-пакетов.
IPsec также включает в себя протоколы для защищённого обмена ключами в сети
Интернет.
Первоначально сеть Интернет была создана как
безопасная среда передачи данных между военными. Так как с ней работал только
определённый круг лиц, людей образованных и имеющих представления о политике
безопасности, то явной нужды построения защищённых протоколов не было.
Безопасность организовывалась на уровне физической изоляции объектов от
посторонних лиц, и это было оправдано, когда к сети имело доступ ограниченное
число машин. Однако, когда Интернет стал публичным и начал активно развиваться
и разрастаться, такая потребность появилась[1].
И в 1994 году Совет по архитектуре Интернет
(IAB) выпустил отчёт «Безопасность архитектуры Интернет». Он посвящался в
основном способам защиты от несанкционированного мониторинга, подмены пакетов и
управлению потоками данных. Требовалась разработка некоторого стандарта или
концепции, способной решить эту проблему. В
результате, появились стандарты
защищённых протоколов, в числе которых и IPsec. Первоначально он включал в себя
три базовые спецификации, описанные в документах (RFC1825, 1826 и 1827), однако
впоследствии рабочая группа IP Security Protocol IETF пересмотрела их и
предложила новые стандарты (RFC2401 — RFC2412), используемые и в настоящее
время.
Архитектура IPsec
Построение защищённого канала связи может быть
реализовано на разных уровнях модели OSI. Так, например, популярный
SSL-протокол работает на уровне представления, а PPTP — на сеансовом.
Уровни OSI Протокол защищённого канала
Прикладной уровень S/MIME
Уровни OSI | Протокол защищённого канала |
Прикладной уровень | S/MIME |
Уровень представления | SSL.TLS |
Сеансовый уровень | PPTP |
Транспортный уровень | AH.ESP |
Сетевой уровень | IPsec |
Канальный уровень | PPP |
Физический уровень |
В вопросе выбора уровня реализации защищённого
канала несколько противоречивых аргументов: с одной стороны, за выбор верхних
уровней говорит их независимость от вида транспортировки (выбора протокола
сетевого и канального уровней), с другой стороны, для каждого приложения
необходима отдельная настройка и конфигурация. Плюсом в выборе нижних уровней
является их универсальность и наглядность для приложений, минусом — зависимость
от выбора конкретного протокола (например, PPP или Ethernet). Компромиссом в выборе
уровня является IPsec: он располагается на сетевом уровне, используя самый
распространённый протокол этого уровня — IP. Это делает IPsec более гибким, так
что он может использоваться для защиты любых протоколов, базирующихся на TCP и
UDP. В то же время, он прозрачен для большинства приложений.[2]
IPsec является набором стандартов Интернета и
своего рода «надстройкой» над IP-протоколом. Его ядро составляют три протокола
[3]:
• Authentication Header (АН) обеспечивает
целостность передаваемых данных, аутентификацию источника информации и функцию
по предотвращению повторной передачи пакетов
• Encapsulating Security Payload (ESP)
обеспечивает конфиденциальность (шифрование) передаваемой информации,
ограничение потока конфиденциального трафика. Кроме этого, он может исполнять
функции AH: обеспечить целостность передаваемых данных, аутентификацию
источника информации и функцию по предотвращению повторной передачи пакетов.
При применении ESP в обязательном порядке должен указываться набор услуг по
обеспечению безопасности: каждая из его функций может включаться опционально.
• Internet Security Association and Key
Management Protocol (ISAKMP) — протокол, используемый для первичной настройки
соединения, взаимной аутентификации конечными узлами друг друга и обмена секретными
ключами. Протокол предусматривает использование различных механизмов обмена
ключами, включая задание фиксированных ключей, использование таких протоколов,
как Internet Key Exchange, Kerberized Internet Negotiation of Keys (RFC 4430)
или записей DNS типа IPSECKEY (RFC 4025).
Также одним из ключевых понятий является
Security Association (SA). По сути, SA является набором параметров,
характеризующим соединение. Например, используемые алгоритм шифрования и
хеш-функция, секретные ключи, номер пакета и др.
Как работает IPsec
В работе протоколов IPsec можно выделить пять
этапов:[13]
1. Первый этап начинается с создания на каждом
узле, поддерживающим стандарт IPsec, политики безопасности. На этом этапе
определяется, какой трафик подлежит шифрованию, какие функции и алгоритмы могут
быть использованы.
2. Второй этап является по сути первой фазой
IKE. Её цель — организовать безопасный канал между сторонами для второй фазы
IKE. На втором этапе выполняются:
o Аутентификация и защита идентификационной
информации узлов
o Проверка соответствий политик IKE SA узлов для безопасного обмена ключами
o Обмен Диффи-Хеллмана, в результате которого у
каждого узла будет общий секретный ключ
o Создание безопасного канала для второй фазы IKE
3. Третий этап является второй фазой IKE. Его задачей является создание
IPsec-туннеля. На третьем этапе выполняются следующие функции:
o Согласуются параметры IPsec SA по защищаемому IKE SA каналу, созданному в
первой фазе IKE
o Устанавливается IPsec SA
o Периодически осуществляется пересмотр IPsec SA, чтобы убедиться в её
безопасности
o (Опционально) выполняется дополнительный обмен
Диффи-Хеллмана
4. Рабочий этап. После создания IPsec SA
начинается обмен информацией между узлами через IPsec-туннель, используются
протоколы и параметры, установленные в SA.
5. Прекращают действовать текущие IPsec SA. Это
происходит при их удалении или при истечении времени жизни (определенное в SA в
байтах информации, передаваемой через канал, или в секундах), значение которого
содержится в SAD на каждом узле. Если требуется продолжить передачу,
запускается фаза два IKE (если требуется, то и первая фаза) и далее создаются
новые IPsec SA. Процесс создания новых SA может происходить и до завершения
действия текущих, если требуется непрерывная передача данных.

Использование
IPsec_VPN
Протокол IPsec используется, в основном, для
организации VPN-туннелей. В этом случае протоколы ESP и AH работают в режиме
туннелирования. Кроме того, настраивая политики безопасности определенным
образом, протокол можно использовать для создания межсетевого экрана. Смысл
межсетевого экрана заключается в том, что он контролирует и фильтрует
проходящие через него пакеты в соответствии с заданными правилами.
Устанавливается набор правил, и экран просматривает все проходящие через него
пакеты. Если передаваемые пакеты попадают под действие этих правил, межсетевой
экран обрабатывает их соответствующим образом[14]. Например, он может отклонять
определенные пакеты, тем самым прерывая небезопасные соединения. Настроив
политику безопасности соответствующим образом, можно, например, запретить
веб-трафик. Для этого достаточно запретить отсылку пакетов, в которые
вкладываются сообщения протоколов HTTP и HTTPS. IPsec можно применять и для
защиты серверов — для этого отбрасываются все пакеты, кроме пакетов,
необходимых для корректного выполнения функций сервера. Например, для
Web-сервера можно блокировать весь трафик, за исключением соединений через 80-й
порт протокола TCP, или через порт TCP 443 в случаях, когда применяется HTTPS.
Пример[15]:
С помощью IPsec здесь обеспечивается безопасный
доступ пользователей к серверу. При использовании протокола ESP все обращения к
серверу и его ответы шифруются. Однако за VPN-шлюзом (в домене шифрования)
передаются открытые сообщения. Другие примеры использования IPsec[16]:
• шифрование трафика между файловым сервером и
компьютерами в локальной сети, используя IPsec в транспортном режиме.
• соединение двух офисов с использованием IPsec
в туннельном режиме.