пятница, 4 сентября 2009 г.

IPSec - что же это такое

Вот, как и обещал, да и пока есть время и энергия, чтобы начать.

IPSec - это широко используемая технология, которая позволяет добавить дополнительный уровень шифрования и проверки подлинности/целостности сообщений к любому траффику, который передается поверх IP. Ее используют как для создания VPN, так и просто для защиты отдельно взятых хостов или данных.
Принципиально в IPSec можно выделить три отдельные части:
1. это протокол AH, который позволяет подписывать/хешировать IP-пакеты, что позволяет проверять подлинность отправителя и целостность пакета. Он просто добавляет подписи к пакетам и ничего не шифрует.
2. Протокол ESP - Encapsulated Security Payload - позволяет шифровать все данные в пакете целиком, используя различные алгоритмы.
3. Протокол IKE, который опционально может использоваться для обмена ключами шифрования между сторонами.

В основном для проверки подлинности сторон используется RSA-сертификат или общий ключ. Что из этого выбирать - зависит от задачи. В общем случае, RSA-сертификаты являются более расширяемым вариантом, особенно при наличии распределенной сети с множеством связей между хостами или маршрутизаторами, так как в этом случае каждому узлу достаточно иметь только сертификат вашего центра сертификации (CA) для проверки подлинности отправителя, а не отдельную секретную фразу для каждого соединения.

IPSec может использоваться в двух разных режимах, у которых разные области применения.
1. Транспортный режим. Просто шифрует/подписывает пакеты с данными в соответствии с заданной политикой. Используется в соединениях хост-хост.
2. Туннельный режим. Используется на маршрутизаторах для создания шифрованных туннелей между приватными сетями через публичные сети, например Интернет. Отличается тем что траффик из защищаемой сети инкапсулируется в IP-пакеты вместе с заголовками и шифруется/подписывается, а затем отправляется другому маршрутизатору, который это расшифровывает и передает дальше.

Таким образом, есть различные режимы, в которых можно использовать IPSec:
1. Соединение хост-хост.
2. Соединение хост-шлюз.
3. Соединение шлюз-шлюз.

Во всех трех случаях используется немного разный подход, особенно в варианте мобильный хост-шлюз, где адрес мобильного хоста заранее неизвестен.

Более того, для некоторых операционных систем существует несколько реализаций IPSec-стека, которые конфигурируются по-разному (хотя понятия везде одни и те же).

Основной сложностью в установке IPSec-соединений между различными ОS/устройствами является возможная несовместимость реализаций или разные множества поддерживаемых протоколов и методов аутентификации.
Об этом тоже пойдет речь.


Комментариев нет:

Отправить комментарий