IPSec, сокращение от Internet Protocol Security, представляет собой набор криптографических протоколов, которые защищают трафик данных в сетях Интернет-протокола (IP).
В IP-сетях, включая Всемирную паутину, отсутствует шифрование и защита конфиденциальности. IPSec VPN устраняет эту слабость, предоставляя основу для зашифрованного и конфиденциального общения в сети.
Ниже мы более подробно рассмотрим IPSec и то, как он работает с VPN-туннелями для защиты данных в незащищенных сетях.
Краткая история IPSec
Когда в начале 80-х годов был разработан Интернет-протокол, безопасность не была приоритетом. Однако по мере того, как число пользователей Интернета продолжает расти, возрастает и потребность в высокой безопасности.
Чтобы удовлетворить эту потребность, Агентство национальной безопасности в середине 80-х годов спонсировало разработку протоколов безопасности в рамках программы Secure Data Network Systems. Это привело к разработке протокола безопасности уровня 3 и, в конечном итоге, протокола безопасности сетевого уровня. Многие инженеры работали над этим проектом на протяжении 90-х годов, и IPSec вырос из этих усилий. IPSec теперь является стандартом с открытым исходным кодом и частью IPv4.
Как работает IPSec

IPSec работает с VPN-туннелями для установления частных двусторонних соединений между устройствами.
Когда два компьютера устан��вливают VPN- соединение , они должны согласовать набор протоколов безопасности и алгоритмов шифрования, а также обменяться криптографическими ключами для разблокировки и просмотра зашифрованных данных.
Здесь в игру вступает IPSec. IPSec работает с VPN-туннелями для установления частных двусторонних соединений между устройствами. IPSec — это не единый протокол; вместо этого это полный набор протоколов и стандартов, которые работают вместе, чтобы обеспечить конфиденциальность, целостность и подлинность пакетов данных Интернета, проходящих через VPN-туннель.
Вот как IPSec создает безопасный VPN-туннель:
- IPSec аутентифицирует данные, чтобы гарантировать целостность пакетов во время передачи.
- IPSec шифрует интернет-трафик через VPN-туннели, чтобы данные невозможно было просмотреть.
- IPSec защищает данные от атак повторного воспроизведения, которые могут привести к несанкционированному входу в систему.
- IPSec обеспечивает безопасный обмен криптографическими ключами между компьютерами.
- IPSec обеспечивает два режима безопасности: туннельный и транспортный.
IPSec VPN защищает данные, передаваемые от хоста к хосту, от сети к сети, от хоста к сети и от шлюза к шлюзу (так называемый туннельный режим, когда весь IP-пакет шифруется и аутентифицируется).
Протоколы IPSec и поддерживающие компоненты
Стандарт IPSec разделен на несколько основных протоколов и вспомогательных компонентов.
Основной протокол IPSec
- Заголовок аутентификации IPSec (AH) : этот протокол защищает IP-адреса компьютеров, участвующих в процессе обмена данными, чтобы гарантировать, что биты данных не будут потеряны, изменены или повреждены во время процесса передачи. AH также проверяет, что человек, отправляющий данные, действительно отправил их, защищая туннель от вторжения неавторизованных пользователей.
- Инкапсуляция полезной нагрузки безопасности (ESP) : протокол ESP обеспечивает часть шифрования IPSec, обеспечивая безопасность трафика данных между устройствами. ESP шифрует пакеты данных/полезную нагрузку, аутентифицирует полезную нагрузку и ее происхождение в наборе протоколов IPSec. Этот протокол эффективно шифрует интернет-трафик, так что любой, кто заглянет в туннель, ничего в нем не увидит.
ESP шифрует и аутентифицирует данные, тогда как AH только аутентифицирует данные.
Компоненты, поддерживающие IPSec
- Ассоциации безопасности (SA) : Ассоциации безопасности и политики устанавливают различные соглашения безопасности, используемые при обмене. Эти соглашения могут определять тип шифрования и алгоритм хеширования, которые будут использоваться. Эти политики часто являются гибкими, позволяя устройствам решать, как они хотят поступать.
- Интернет-обмен ключами (IKE) : для работы шифрования компьютеры, участвующие в обмене частными сообщениями, должны использовать общий ключ шифрования. IKE позволяет двум компьютерам безопасно обмениваться ключами шифрования при установке VPN-соединения.
- Алгоритмы шифрования и хеширования : криптографические ключи работают с использованием хэш-значений, сгенерированных с использованием хэш-алгоритма. AH и ESP являются очень общими, они не определяют конкретный тип кодировки. Однако IPsec часто использует для шифрования Message Digest 5 или Secure Hash Algorithm 1.
- Защита от атак повторного воспроизведения : IPSec также включает стандарты для предотвращения повторного воспроизведения любых пакетов данных, которые являются частью успешного процесса входа в систему. Этот стандарт не позволяет хакерам использовать воспроизведенную информацию для копирования данных для входа в систему.
IPSec — это комплексное решение протокола VPN, которое также может служить протоколом шифрования в L2TP и IKEv2.
Режимы туннелирования: Туннель и Транспорт

IPSec отправляет данные в туннельном или транспортном режиме.
IPSec отправляет данные в туннельном или транспортном режиме. Эти режимы тесно связаны с типом используемого протокола: AH или ESP.
- Туннельный режим : в туннельном режиме защищен весь пакет. IPSec оборачивает пакет данных в новый пакет, шифрует его и добавляет новый IP-заголовок. Он обычно используется в настройках VPN типа «сеть-сеть».
- Транспортный режим : в транспортном режиме исходный IP-заголовок сохраняется и не шифруется. Зашифрованы только полезная нагрузка и трейлер ESP. Транспортный режим обычно используется в настройках VPN типа «клиент-сайт».
Для VPN наиболее распространенной конфигурацией IPSec является ESP с аутентификацией в туннельном режиме. Эта структура помогает интернет-трафику безопасно и анонимно перемещаться внутри VPN-туннеля по незащищенным сетям.
Так в чем же разница между туннельным и транспортным режимами в IPsec?
Туннельный режим в IPsec используется между двумя выделенными маршрутизаторами, при этом каждый маршрутизатор действует как один конец виртуального «туннеля» через общедоступную сеть. В туннельном режиме начальный IP-заголовок содержит конечный пункт назначения зашифрованного пакета вместе с полезной нагрузкой пакета. Чтобы промежуточные маршрутизаторы знали, куда пересылать пакеты, IPsec добавляет новый заголовок IP. На каждом конце туннеля маршрутизаторы декодируют IP-заголовки для доставки пакетов по назначению.
В транспортном режиме полезная нагрузка каждого пакета шифруется, но исходный IP-заголовок — нет. Таким образом, промежуточные маршрутизаторы могут видеть конечный пункт назначения каждого пакета — если только не используется отдельный туннельный протокол (например, GRE).
Какой порт использует IPsec?
Сетевой порт — это виртуальное место, куда данные передаются внутри компьютера. Порты — это то, как компьютер отслеживает различные процессы и соединения. Если данные поступают на определенный порт, операционная система компьютера знает, какому процессу они принадлежат. IPsec обычно использует порт 500.
Как IPsec влияет на MSS и MTU?
MSS и MTU — это два измерения размера пакета. Пакеты могут достичь только определенного размера (в байтах), прежде чем компьютеры, маршрутизаторы и коммутаторы не смогут их обработать. MSS измеряет размер полезной нагрузки каждого пакета, а MTU измеряет весь пакет, включая заголовки. Пакеты, превышающие сетевой MTU, могут быть фрагментированы, то есть разбиты на более мелкие пакеты, а затем повторно собраны. Пакеты, превышающие MSS, просто отбрасываются.
Протокол IPsec добавляет к пакетам ряд заголовков и концевиков, каждый из которых занимает несколько байт. Для сетей, использующих IPsec, MSS и MTU должны быть скорректированы соответствующим образом, иначе пакеты будут фрагментированы и слегка задержаны. Обычно MTU для сети составляет 1500 байт. Обычный заголовок IP имеет длину 20 байт, а заголовок TCP также имеет длину 20 байт, что означает, что каждый пакет может содержать 1460 байт полезной нагрузки. Однако IPsec добавляет заголовок аутентификации, заголовок ESP и соответствующие трейлеры. Они добавляют к пакету 50–60 байт и более.