logo search
Tema_3_5_Virtualnye_chastnye_se-ti_VPN

Защита данных на канальном уровне

На канальном уровне применяются упомянутые выше протоколы PPTP(разработчикMicrosoft),L2F(разработчикCiscoSystems) иL2TP(совместная разработкаMicrosoftиCiscoSystems).

Протоколы PPTP и L2TP основываются на протоколе Point-to-Point Protocol (PPP). PPP — протокол канального уровня, разработан для инкапсуляции данных и их доставки по соединениям типа точка-точка.

В основе протокола PPTP лежит следующий алгоритм: сначала производится инкапсуляция данных с помощью протокола PPP, затем протокол PPTP выполняет шифрование данных и инкапсуляцию. PPTP инкапсулирует PPP-кадр в пакет GenericRoutingEncapsulation(протокол GRE). Схема инкапсуляции приведена на Рис. 1 .3.

IP

заголовок

GRE

заголовок

PPP

заголовок

IP

заголовок

TCP,

UDP

Данные

Рис. 1.3. Инкапсуляция в протоколе PPTP

К исходному отправляемому IP-пакету (обозначенному на рисунке серым цветом) последовательно добавляютсяPPP-,GRE- иIP-заголовки. В новомIP-пакете в качестве адресов указываются адреса туннелирующих узлов.

Протокол PPTPочень часто используется провайдерами Интернет при организации прямого кабельного подключения пользователей. В этом случае пользователям назначаетсяIP-адрес из диапазона «домашних» сетей (например, 10.1.1.189 или 192.168.1.1). Сервер провайдера имеет два адреса — внутренний (для «домашней» сети) и внешний («настоящий»). Когда пользователь авторизуется наPPTP-сервере провайдера, ему динамически выделяется реальныйIP-адрес.

Внутри локальной сети между пользователем и PPTP-сервером циркулируютIP-пакеты с внутреннимиIP-адресами, внутри которых инкапсулированы пакеты с внешними адресами.

Рис. 1.4. Пакет протокола PPTP

На Рис. 1 .4 приведен пример обмена по протоколу POP3 (порт приемника 110), осуществляемого между удаленнымPOP3-сервером с адресом 194.226.237.16 и пользователем, которому назначен динамический адрес 195.12.90.175. В локальной сети видны пакеты протоколаIP/GRE, проходящие между узлами 10.1.1.189 (внутренний адрес пользователя) и 10.1.0.2 (внутренний адресPPTP-сервера).

Обычно провайдеры не включают возможность шифрования и сжатия инкапсулируемых пакетов, поэтому при анализе трафика в локальной сети содержимое IP/GRE-пакетов легко распознать и увидеть адреса, протокол и передаваемые данные.

Для шифрования передаваемых данных с использованием клиентов с ОС WindowsXPнеобходимо в настройках подключения указать пункт «RequireDataEncryption» («Требовать шифрование данных», Рис. 1 .5).

Рис. 1.5. Настройка клиента протокола PPTP

В протоколе PPTP для аутентификации предусматриваются различные протоколы аутентификации:

Наиболее стойким является протокол MSCHAPверсии 2, требующий взаимную аутентификацию клиента и сервера. В протоколеMSCHAPмогут быть использованы три различных варианта передачи пароля:

Последний вариант наиболее защищенный, алгоритм его состоит в следующем (Рис. 1 .6).

Рис. 1.6. Аутентификация в протоколе MSCHAP

Рис. 1.7. Схема формирования «ответа» в протоколе MSCHAP

Для шифрования передаваемых данных применяется поточный шифр RC4 с 40- либо 128-разрядным ключом. Алгоритм предполагает существование секретного ключа, известного обоим участникам соединения. Данный ключ формируется из хэш-функции «Lan Manager» пароля пользователя, известного и клиенту, и серверу.