Протоколы формирования защищенных каналов на сеансовом уровне
При построении защищенных виртуальных сетей на сеансовом уровне появляется возможность криптографической защиты информационного обмена, включая аутентификацию, a также реализации ряда функций посредничества между взаимодействующими сторонами.
Действительно, сеансовый уровень модели OSI отвечает за установку логических соединений и управление этими соединениями.
Для защиты информационного обмена на сеансовом уровне широкое распространение получил протокол SSL (Secure Sockets Layer).
Протоколы ssl/tls Рис. 6. Криптозащищенные туннели, сформированные на основе протокола ssl
П ротокол SSL применяется в качестве протокола защищенного канала, работающего на сеансовом уровне модели OSI. Этот протокол использует криптографические методы защиты информации для обеспечения безопасности информационного обмена. Протокол SSL выполняет все функции по созданию защищенного канала между двумя абонентами сети, включая их взаимную аутентификацию, обеспечение конфиденциальности, целостности и аутентичности передаваемых данных.
Согласно протоколу SSL криптозащищенные туннели создаются между конечными точками виртуальной сети. Инициаторами каждого защищенного туннеля являются клиент и сервер, функционирующие на компьютерах в конечных точках туннеля (рис. 6).
Протокол SSL предусматривает следующие этапы взаимодействия клиента и сервера при формировании и поддержке защищаемого соединения:
установление SSL-сессии;
защищенное взаимодействие.
В процессе установления SSL-сессии решаются следующие задачи:
аутентификация сторон;
согласование криптографических алгоритмов и алгоритмов сжатия, которые будут использоваться при защищенном информационном обмене;
формирование общего секретного мастер-ключа;
генерация на основе сформированного мастер-ключа общих секретных сеансовых ключей для криптозащиты информационного обмена.
Протокол SSL 3.0 поддерживает три режима аутентификации:
взаимную аутентификацию сторон;
одностороннюю аутентификацию сервера без аутентификации клиента;
полную анонимность.
В январе 1999 г. на смену версии SSL 3.0 пришел протокол TLS (Transport Layer Security), который базируется на протоколе SSL и в настоящее время является стандартом Интернета. Различия между протоколами SSL 3.0 и TLS 1.0 не слишком существенны.
К недостаткам протоколов SSL и TLS можно отнести то, что для транспортировки своих сообщений они используют только один протокол сетевого уровня — IP, и, следовательно, могут работать только в IP-сетях.
Кроме того, в SSL для аутентификации и шифрования используются одинаковые ключи, что при определенных условиях может привести к потенциальной уязвимости.
Протокол socks
Протокол SOCKS организует процедуру взаимодействия клиент-серверных приложений на сеансовом уровне модели OSI через сервер-посредник, или proxy-сервер.
В общем случае программы-посредники, которые традиционно используются в МЭ, могут выполнять следующие функции:
идентификацию и аутентификацию пользователей;
криптозащиту передаваемых данных;
разграничение доступа к ресурсам внутренней сети;
разграничение доступа к ресурсам внешней сети;
фильтрацию и преобразование потока сообщений, например поиск вирусов и прозрачное шифрование информации;
трансляцию внутренних сетевых адресов для исходящих потоков сообщений.
Согласно спецификации протокола SOCKS различают SOCKS-сервер, который целесообразно устанавливать на шлюз (МЭ) сети, и SOCKS-клиент, который устанавливают на каждый пользовательский компьютер. SOCKS-сервер обеспечивает взаимодействие с любым прикладным сервером от имени соответствующего этому серверу прикладного клиента. SOCKS-клиент предназначен для перехвата всех запросов к прикладному серверу со стороны клиента и передачи их SOCKS-серверу.
SOCKS-сервер может выполнять такие функции, как:
разграничение доступа к ресурсам внутренней сети;
разграничение доступа к ресурсам внешней сети;
фильтрация потока сообщений, например, динамический поиск вирусов;
регистрация событий и реагирование на задаваемые события;
кэширование данных, запрашиваемых из внешней сети.
Специальные программы, называемые соксификаторами, дополняют клиентские приложения поддержкой протокола SOCKS. К таким программам относится, например, NEC SocksCap и др. При установке соксификатор внедряется между пользовательскими приложениями и стеком коммуникационных протоколов. Далее в процессе работы он перехватывает коммуникационные вызовы, формируемые приложениями, и перенаправляет их в случае надобности на SOCKS-сервер. При отсутствии нарушений установленных правил безопасности работа SOCKS-клиента совершенно прозрачна для клиентских приложений и пользователей.
Т аким образом, для формирования защищенных виртуальных сетей по протоколу SOCKS в точке сопряжения каждой локальной сети с Интернетом на компьютере-шлюзе устанавливается SOCKS-сервер, а на рабочих станциях в локальных сетях и на компьютерах удаленных пользователей устанавливаются SOCKS-клиенты. По существу, SOCKS-сервер можно рассматривать как МЭ, поддерживающий протокол SOCKS (рис. 7).
Рис. 7. Схема взаимодействия по протоколу SOCKS