Пользователь воспринимает сеть как надежно защищенную среду только в том случае, если он уверен, что его "собеседник" – именно тот, за кого он себя выдает (аутентификация сторон), что передаваемые пакеты не просматриваются посторонними лицами (секретность связи) и что получаемые данные не подверглись изменению в процессе передачи (целостность данных). Все перечисленные задачи призван решать протокол IPSec.
Internet Protocol Security (IPSec) – это комплект протоколов, касающихся вопросов шифрования, аутентификации и обеспечения защиты при транспортировке IP-пакетов.
Первоначально IPSec включал в себя 3 алгоритмо-независимые базовые спецификации, опубликованные в качестве RFC-документов: "Архитектура безопасности IP", "Аутентифицирующий заголовок (AH)", "Инкапсуляция зашифрованных данных (ESP)" (RFC 1825, 1826 и 1827). В ноябре 1998 года были предложены новые версии этих спецификаций, имеющие в настоящее время статус предварительных стандартов, это RFC2401 - RFC2412. В целом в IPSec входят 20 предложений по стандартам и 18 RFC, в том числе несколько алгоритмо-зависимых спецификаций, описывающих применение конкретных алгоритмов шифрования и аутентификации.
Таким образом, IPSec предоставляет возможность использования трех инструментальных средств защиты:
протокола аутентификации (Authentication Header, AH), который "привязывает" данные в составе пакета к своеобразной подписи, позволяющей удостовериться как в подлинности отправителя, так и в целостности принятых от него данных;
протокола Encapsulated Security Payload (ESP), отвечающего за шифрование содержимого отдельных пакетов (и даже некоторых IP-адресов, передаваемых в их составе);
протокола обмена ключами (Internet Key Exchange, IKE), который предназначен для согласования используемых алгоритмов аутентификации и шифрования, ключей и продолжительности их действия, а также для защищенного обмена ключами.
Программное обеспечение перечисленных протоколов, как уже было сказано, может функционировать на серверах или компьютерах конечных пользователей, но чаще его устанавливают на маршрутизаторах, брандмауэрах или специализированных устройствах, которые в архитектуре IPSec именуются шлюзами безопасности (security gateway).
Различают два режима использования протоколов IPSec – транспортный и туннельный.
Транспортный режим используется для шифрования поля данных IP-пакета, содержащего протоколы транспортного уровня (TCP, UDP, ICMP), которое, в свою очередь, содержит информацию прикладных служб. Примером применения транспортного режима является передача электронной почты. Все промежуточные узлы на маршруте пакета от отправителя к получателю используют только открытую информацию сетевого уровня. Недостатком транспортного режима является отсутствие механизмов скрытия конкретных отправителя и получателя пакета, а также возможность проведения анализа трафика.
Туннельный режим предполагает шифрование всего IP-пакета и включение его в качестве данных в другой IP-пакет, который и направляется во внешнюю сеть. Этот режим применяется, как правило, при обмене информацией между удаленными сегментами распределенной корпоративной сети, когда необходимо полностью скрыть и информацию, и адресную структуру сегментов. Адресные поля "внешнего" пакета при этом заполняются шлюзом VPN организации (брандмауэром, маршрутизатором и т.д.) и в качестве получателя указывают на шлюз VPN той подсети, в которую направляется пакет. При получении пакета из внешней сети шлюз VPN расшифровывает изначальный IP-пакет и направляет его получателю.
Рассмотрим последовательно функции всех трех составляющих комплекта протоколов IPSec.