Безопасный протокол IP (IPSec) представляет собой набор стандартов, используемых для защиты данных и для аутентификации на уровне IP. Текущие стандарты IPSec включают независимые от алгоритмов базовые спецификации, которые являются стандартными RFC. Эти RFC, перечисленные ниже, сейчас пересматриваются с целью разрешения различных проблем безопасности, которые имеются в текущих спецификациях. - RFC 2401 (Security Architecture for the Internet Protocol) – Архитектура защиты для протокола IP. - RFC 2402 (IP Authentication header) – Аутентификационный заголовок IP. - RFC 2403 (The Use of HMAC-MD5-96 within ESP and АН) – Использование алгоритма хэширования MD-5 для создания аутентификационного заголовка. - RFC 2404 (The Use of HMAC-SHA-1-96 within ESP and АН) – Использование алгоритма хэширования SHA-1 для создания аутентификационного заголовка. - RFC 2405 (The ESP DES-CBC Cipher Algorithm With Explicit TV) – Использование алгоритма шифрования DES. - RFC 2406 (IP Encapsulating Security Payload (ESP)) – Шифрование данных. - RFC 2407 (The Internet IP Security Domain of Interpretation for ISAKMP) – Область применения протокола управления ключами. - RFC 2408 (Internet Security Association and Key Management Protocol (ISAKMP)) – Управление ключами и аутентификаторами защищенных соединений. - RFC 2409 (The Internet Key Exchange (IKE)) – Обмен ключами. - RFC 2410 (The NULL Encryption Algorithm and Its Use With IPsec) – Нулевой алгоритм шифрования и его использование. - RFC 2411 (IP Security Document Roadmap) – Дальнейшее развитие стандарта. - RFC 2412 (The OAKLEY Key Determination Protocol) – Проверка аутентичности ключа.
Заметим, что со временем будут разработаны новые алгоритмы аутентификации и шифрования. Работа над ними не прекращается, и в результате мы будем иметь смесь из этих алгоритмов, одни из которых будут сильнее, а другие слабее.
Протокол IPSec также включает криптографические методы, удовлетворяющие потребности управления ключами на сетевом уровне безопасности. Протокол управления ключами Ассоциации безопасности Интернет (Internet Security Association Key Management Protocol – ISAKMP) создает рамочную структуру для управления ключами в сети Интернет и предоставляет конкретную протокольную поддержку для согласования атрибутов безопасности. Само по себе это не создает ключей сессии, однако эта процедура может использоваться с разными протоколами, создающими такие ключи (например, с Oakley), и в результате мы получаем полное решение для управления ключами в Интернет. Протокол определения ключей Oakley Key Determination Protocol пользуется гибридным методом Диффи-Хеллмана, чтобы создать ключи сессии Интернет для центральных компьютеров и маршрутизаторов. Протокол Oakley решает важную задачу обеспечения полной безопасности эстафетной передачи данных. Он основан на криптографических методах, прошедших серьезное испытание практикой. Полная защита эстафетной передачи означает, что если хотя бы один ключ раскрыт, раскрыты будут только те данные, которые зашифрованы этим ключом. Что же касается данных, зашифрованных последующими ключами, они останутся в полной безопасности.
Протоколы ISAKMP и Oakley были совмещены в рамках гибридного протокола IKE – Internet Key Exchange. Протокол IKE, включающий ISAKMP и Oakley, использует рамочную структуру ISAKMP для поддержки подмножества режимов обмена ключами Oakley. Новый протокол обмена ключами обеспечивает (в виде опции) полную защиту эстафетной передачи данных, полную защиту ассоциаций, согласования атрибутов, а также поддерживает методы аутентификации, допускающие отказ от авторства и не допускающие такого отказа. Этот протокол может, к примеру, использоваться для создания виртуальных частных сетей (VPN) и для того, чтобы предоставить пользователям, находящимся в удаленных точках (и пользующимся динамически распределяемыми адресами IP), доступ к защищенной сети.
Стандарт IPSec позволит поддержать на уровне IP потоки безопасных и аутентичных данных между взаимодействующими устройствами, включая центральные компьютеры, межсетевые экраны (сетевые фильтры) различных типов и маршрутизаторы. Ниже приводится пример использования IPSec для обеспечения обмена аутентифицированными конфиденциальными данными между удаленным маршрутизатором и межсетевым экраном (см. рисунок 1).
Прежде чем пройти через межсетевой экран предприятия, весь трафик, идущий от удаленного маршрутизатора, должен быть аутентифицирован. Маршрут затор и межсетевой экран должны согласовать “ассоциацию безопасности” (SA), то есть прийти к согласию относительно политики в области безопасности. SA включает: - алгоритм шифрования; - алгоритм аутентификации; - общий ключ сессии; - срок действия ключа.
Ассоциация SA является однонаправленной, поэтому для двусторонней связи нужно устанавливать две SA, по одной для каждого направления. Как правило, в обоих случаях политика остается той же самой, но существует возможность и для асимметричной политики в разных направлениях. Согласование SA проводится через ISAKMP. Кроме того, SA могут определяться вручную. На рисунке 1 показан процесс согласования через ISAKMP, который происходит, когда на маршрутизатор поступает пакет, предназначенный для межсетевого экрана предприятия.
После согласования SA принимается решение о том, следует ли использовать средства аутентификации, конфиденциальности и целостности данных или ограничиться только аутентификацией. Если использоваться будут только средства аутентификации, текущий стандарт предполагает применение хэш-функции, а точнее алгоритма не ниже MD5 с 128-разрядными ключами. Заголовок пакета и данные пропускаются через хэш-функцию, и результаты этого вычисления вводятся в специальное поле заголовка АН, как показано на рисунке 2.
Новый пакет с аутентификационным заголовком, расположенным между заголовком IP и данными, отправляется через маршрутизатор в пункт назначения. Когда этот пакет попадает на межсетевой экран, который проверяет его аутентичность, вычисляя хэш с помощью хэш-функции, указанной в SA, обе стороны должны использовать одни и те же хэш-функции. Как показано на рисунке 3, межсетевой экран сравнивает вычисленный им хэш с параметрами, указанными в соответствующем поле АН. Если эти величины совпадают, аутентичность и целостность данных считается доказанной (если пакет передан из удаленной точки и при передаче не был искажен ни один бит).
Заметим, что вставка заголовка АН расширяет пакет, и поэтому для данного пакета может потребоваться фрагментация, которая производится после заголовка АН для исходящих пакетов и перед ним для входящих пакетов.Если, помимо всего вышесказанного, стороны пожелают использовать средства поддержки конфиденциальности, SA указывает, что весь трафик, поступающий из удаленного маршрутизатора на межсетевой экран предприятия, должен аутентифицироваться и шифроваться. В противном случае межсетевой экран его не пропустит. ESP поддерживает аутентификацию, целостность и конфиденциальность данных и работает в двух режимах: туннельном и транспортном, как показано на рисунках 4 и 5.