80-82x

advertisement
80.PPTP (англ. Point-to-point tunneling protocol) —
туннельный протокол типа точка-точка, позволяющий
компьютеру устанавливать защищённое соединение с
сервером за счёт создания специального туннеля в
стандартной, незащищённой, сети. PPTP помещает
(инкапсулирует) кадры PPP в IP-пакеты для передачи по
глобальной IP-сети, например Интернет. PPTP может также
использоваться для организации туннеля между двумя
локальными сетями. РРТР использует дополнительное TCPсоединение для обслуживания туннеля.
Спецификация
Спецификация протокола была опубликована как «информационный» RFC 2637 в 1999 году.
Протокол считается менее безопасным, чем другие VPN-протоколы, например, IPSec. PPTP
работает, устанавливая обычную PPP сессию с противоположной стороной с помощью протокола
Generic Routing Encapsulation. Второе соединение на TCP-порте 1723 используется для инициации и
управления GRE-соединением. PPTP сложно перенаправлять за сетевой экран, так как он требует
одновременного установления двух сетевых сессий.
PPTP-трафик может быть зашифрован с помощью MPPE. Для аутентификации клиентов могут
использоваться различные механизмы, наиболее безопасные из них — MSCHAP-v2 и EAP-TLS.
Реализация PPTP
PPTP удалось добиться популярности благодаря тому что это первый VPN протокол,
поддерживаемый корпорацией Microsoft. Все версии Microsoft Windows, начиная с Windows 95
OSR2, включают в свой состав PPTP-клиент, однако существует ограничение на два одновременных
исходящих соединения. А сервис удалённого доступа для Microsoft Windows включает в себя PPTP
сервер. PPTP был объектом множества анализов безопасности, в нём были обнаружены различные
серьёзные уязвимости. Известные относятся к используемым протоколам аутентификации PPP,
устройству протокола MPPE, и интеграции между аутентификациями MPPE и PPP для установки
сессионного ключа. Краткий обзор данных уязвимостей:





MSCHAP-v1 совершенно ненадёжен. Существуют утилиты для лёгкого
извлечения хешей паролей из перехваченного обмена MSCHAP-v1.[1]
MSCHAP-v2 уязвим к словарной атаке на перехваченные challenge response пакеты. Существуют
программы, выполняющие данный процесс.[2]
В 2012 году было показано, что сложность подбора ключа MSCHAP-v2 эквивалентна подбору
ключа к шифрованию DES, и был представлен онлайн-сервис, который способен восстановить
ключ за 23 часа.[3]
При использовании MSCHAP-v1, MPPE использует одинаковый RC4 сессионный ключ для
шифрования информационного потока в обоих направлениях. Поэтому стандартным методом
является выполнение XOR’а потоков из разных направлений вместе, благодаря чему
криптоаналитик может узнать ключ.[4]
MPPE использует RC4 поток для шифрования. Не существует метода для аутентификации
цифробуквенного потока и поэтому данный поток уязвим к атаке, делающей подмену битов.
Злоумышленник легко может изменить поток при передаче и заменить некоторые биты, чтобы
изменить исходящий поток без опасности своего обнаружения. Данная подмена битов может
быть обнаружена с помощью протоколов, считающих контрольные суммы.[1]
81. L2TP (англ. Layer 2 Tunneling Protocol — протокол туннелирования второго уровня) — в
компьютерных сетях туннельный протокол, использующийся для поддержки виртуальных
частных сетей. Главное достоинство L2TP состоит в том, что этот протокол позволяет создавать
туннель не только в сетях IP, но и в таких, как ATM, X.25 и Frame Relay.[1]
Схема работы
На диаграмме показана схема работы протокола
L2TP. Целью здесь является туннелирование
кадров PPP между удаленной системой или
клиентом LAC (L2TP Access Concentrator) и LNS
(L2TP Network Server), размещенной в LAN.[3]
Удаленная система инициирует PPP-соединение
с LAC через коммутируемую телефонную сеть
PSTN (Public Switched Telephone Network). LAC
затем прокладывает туннель для PPPсоединения через Интернет, Frame Relay или
ATM к LNS, и таким образом осуществляется
доступ к исходной LAN. Адреса удаленной
системе предоставляются исходной LAN через согласование с PPP NCP. Аутентификация,
авторизация и аккаунтинг могут быть предоставлены областью управления LAN, как если бы
пользователь был непосредственно соединен с сервером сетевого доступа NAS.
LAC-клиент (ЭВМ, которая исполняет программу L2TP) может также участвовать в туннелировании
до исходной LAN без использования отдельного LAC, если ЭВМ, содержащая программу LACклиента, уже имеет соединение с Интернет. Создается «виртуальное» PPP-соединение, и
локальная программа L2TP LAC формирует туннель до LNS. Как и в вышеописанном случае,
адресация, аутентификация, авторизация и аккаунтинг будут обеспечены областью управления
исходной LAN.
IPSec (сокращение от IP Security) — набор протоколов для обеспечения защиты данных,
передаваемых по межсетевому протоколу IP, позволяет осуществлять подтверждение
подлинности и/или шифрование IP-пакетов. IPsec также включает в себя протоколы для
защищённого обмена ключами в сети Интернет. В основном, применяется для организации vpnсоединений.
Архитектура IPsec.Протоколы IPsec, в отличие от других хорошо известных протоколов SSL и TLS,
работают на сетевом уровне (уровень 3 модели OSI). Это делает IPsec более гибким, так что он
может использоваться для защиты любых протоколов, базирующихся на TCP и UDP. IPsec может
использоваться для обеспечения безопасности между двумя IP-узлами, между двумя шлюзами
безопасности или между IP-узлом и шлюзом безопасности. Протокол является "надстройкой" над
IP-протоколом, и обрабатывает сформированные IP-пакеты описанным ниже способом. IPsec
может обеспечивать целостность и/или конфиденциальность данных передаваемых по сети.
IPsec использует следующие протоколы для выполнения различных функций:
Authentication Header (АН) обеспечивает целостность виртуального соединения (передаваемых
данных), аутентификацию источника информации и дополнительную функцию по
предотвращению повторной передачи пакетов Encapsulating Security Payload (ESP) может
обеспечить конфиденциальность (шифрование) передаваемой информации, ограничение потока
конфиденциального трафика. Security Association (SA) обеспечивают связку алгоритмов и данных,
которые предоставляют параметры, необходимые для работы AH и/или ESP. Internet Security
Association and Key Management Protocol (ISAKMP) обеспечивает основу для аутентификации и
обмена ключами, проверки подлинности ключей.
SSL (англ. Secure Sockets Layer — уровень защищённых сокетов) — криптографический протокол,
который обеспечивает установление безопасного соединения между клиентом и сервером. SSL
изначально разработан компанией Netscape Communications. Впоследствии на основании
протокола SSL 3.0 был разработан и принят стандарт RFC, получивший имя TLS.
Протокол обеспечивает конфиденциальность обмена данными между клиентом и сервером,
использующими TCP/IP, причём для шифрования используется асимметричный алгоритм с
открытым ключом. При шифровании с открытым ключом используются два ключа, открытый и
секретный, причем любой из них может использоваться для шифрования сообщения. Если для
шифрования сообщения был использован открытый ключ, то для расшифровки должен
использоваться секретный, и наоборот. В такой ситуации возможны два способа использования
ключей. Во-первых, сторона, хранящая в тайне секретный ключ и опубликовавшая открытый,
может принимать от противоположной стороны сообщения, зашифрованные открытым ключом,
которые не может прочитать никто, кроме нее (ведь для расшифровки требуется секретный ключ,
известный только ей). Во-вторых, с помощью закрытого ключа сторона-обладатель закрытого
ключа может создавать зашифрованные сообщения, которые может прочесть кто угодно (ведь
для расшифровки нужен открытый ключ, доступный всем), но при этом прочитавший может быть
уверен, что это сообщение было создано стороной-обладателем секретного ключа.
TLS (Transport Layer Security) — криптографический протокол, обеспечивающий защищённую
передачу данных между узлами в сети Интернет.
TLS-протокол основан на протоколе Netscape SSL версии 3.0 и состоит из двух частей — TLS
Record Protocol и TLS Handshake Protocol. Различия между SSL 3.0 и TLS 1.0 незначительны, но, всё
же они есть.
TLS предоставляет возможности аутентификации и безопасной передачи данных через
Интернет с использованием криптографических средств. Часто происходит лишь аутентификация
сервера, в то время как клиент остается неаутентифицированным. Для взаимной аутентификации
каждая из сторон должна поддерживать инфраструктуру открытого ключа (PKI), которая позволяет
защитить клиент-серверные приложения от перехвата сообщений, редактирования существующих
сообщений и создания поддельных.
SSL включает в себя три основных фазы:
Диалог между сторонами, целью которого является выбор алгоритма шифрования
Обмен ключами на основе криптосистем с открытым ключом или аутентификация на основе
сертификатов.
Передача данных, шифруемых при помощи симметричных алгоритмов шифрования
Клиент и сервер, работающие по TLS, устанавливают соединение, используя процедуру
handshake («рукопожатие»). В течение этого handshake клиент и сервер принимают соглашение
относительно параметров, используемых для установления защищенного соединения.
Download