Создание защищенных сетевых соединений
Выше отмечалась важность парольной защиты для аутентификации пользователя при работе на одном компьютере. Однако большинство пользователей работают не только со своим компьютером, но и используют его в качестве посредника для доступа к другим компьютерам или серверам в сетях. В этом случае возникают две серьезные проблемы.
Пользователь обращается (посылает запрос) определенному серверу. А от кого получает ответ: от запрашиваемого или "чужого" сервера? То есть первая проблема при работе в компьютерной сети – это аутентификация запрашиваемого сервера.
Если пользователь получил ответ от запрашиваемого сервера, то возникает вопрос, с какими правами он будет на нем работать? Это вторая проблема – авторизация пользователя на сервере.
Применение только паролей здесь непригодно, так как их придется пересылать по сети, рискуя "подарить" злоумышленникам.
Технология VPN
Первый способ решения перечисленных сетевых проблем – защита сетевого трафика с использованием виртуальных частных сетей (Virtual Private Networks, VPN). Технология VPN позволяет создать защищенное соединение при незащищенных каналах связи. Подобные соединения часто называют туннелями. В повседневной жизни своеобразные защищенные туннели создают для быстрого и безопасного перемещения па автомобиле важных персон, руководителей государств.
При помощи VPN соединяют между собой и отдельные компьютеры, и отдельные локальные сети. Для создания VPN-туннелей необходимы не только специальные протоколы, специальное программное обеспечение, но и специфическое оборудование шлюз VPN (VPN Gateway), или VPN-сервер. Особенности использования VPN следующие:
• В заголовки пакетов передаваемой информации закладывается однозначный маршрут их передвижения по сети.
• Осуществляется шифрование трафика, т.е. можно скрыть трафик и от интернет-провайдера.
• VPN-шлюз осуществляет подмену вашего IP-адреса (хотя на самом шлюзе ваш IP-адрес должен, естественно, быть зарегистрирован), фактически скрывая ваше присутствие в сети.
• Основой защиты в данной технологии служит ваше доверие хозяевам VPN-шлюза (сервера), знающим ваши истинные параметры и способным расшифровать ваш трафик.
Система Kerberos
Второй и наиболее распространенный в операционных системах способ аутентификации – система Kerberos (Цербер). Аутентификация по Kerberos применяется во многих операционных системах: Windows, MAC ОС, некоторых версиях Linux.
Работа системы Kerberos строится на следующих принципах:
• Первичную аутентификацию выполняет пароль пользователя при входе в операционную систему (точнее, его хеш или подобное преобразование, но обязательно несущее информацию о текущей дате и времени).
• Система Kerberos включает аутентифицирующий сервер и расположенную там же службу предоставления билетов.
• Все формируемые в системе билеты-сообщения являются временны́ми, т.е. ограничены во времени своего действия.
• Пользователь и система Kerberos четырехкратно обмениваются билетами-сообщениями, содержащими в том числе и "свежие" с учетом текущего времени аутентификаторы самого сервера. Получая назад билеты-сообщения со своими аутентификаторами, которые не может изменить пользователь, сервер убеждается в его подлинности.
Работа системы напоминает обучение студентов в вузе. После успешной сдачи вступительных экзаменов (передача на сервер аутентификаторов) вуз (сервером Kerberos) издает приказ (первый из билетов Kerberos) о зачислении поступающего в ряды студентов. На основании приказа о зачислении обучающийся получает в деканате (аналог службы выдачи билетов) студенческий билет с определенным временем действия, содержащий аутентификаторы вуза (сервера) и студента (пользователя). Используя этот билет, студент может получить дополнительные услуги (на языке информатики – сервисы): входить в корпуса, посещать аудитории, лаборатории, библиотеку, спортзал, клуб и т.д. Но периодически студент должен предъявить деканату (аналог сервера Kerberos) другой билет, им же выданный, – зачетную книжку. Несоответствие записей, несоответствие времени получения записей в этих своеобразных билетах, и студент (пользователь) не получит больше услуг вуза (сервера).
Недостаток системы Kerberos – возможность передачи или раскрытия пароля пользователя другому лицу. В результате это лицо аутентифицируется на сервере как законный пользователь и будет допущено ко всем ресурсам и сервисам.
Протоколы SSL/TSL
Третий способ обеспечения безопасной передачи информации по сети – применение для аутентификации сервера сертификатов, которые в отличие от ранее рассмотренных билетов выдаются открытым сетевым центром сертификации (например, VerySign), устанавливаются на сервер (вебсервер) и могут автоматически "интегрироваться" в хранилище сертификатов браузера пользователя.
SSL (Secure Socket Layer – протокол защищенных сокетов) и TSL (Transport Layer Security – протокол защиты транспортного уровня) – это криптографические протоколы, обеспечивающие безопасную передачу данных по сети. TSL-протокол – это версия SSL, предназначенная для использования в сети Интернет. Обмен информацией с сервером происходит в несколько этапов.
Обозреватель пользователя направляет серверу запрос на получение интересующей пользователя информации.
Сервер в ответ на запрос посылает свой сертификат с открытым ключом для несимметричного шифрования программе-обозревателю пользователя.
Программа-обозреватель, используя полученный открытый ключ, сверяет полученный сертификат с копией, имеющейся у него. Если проверка прошла успешно, то сертификат сервера считается подлинным.
На компьютере пользователя создается ключ для симметричного шифрования (им будет шифроваться весь трафик, передаваемый от сервера пользователю). Но как его передать на сервер?
Пользователь шифрует по схеме несимметричного шифрования свой созданный ключ с помощью полученного от сервера открытого ключа. Зашифрованный ключ передается на сервер.
Сервер своим закрытым (секретным) ключом расшифровывает полученное сообщение от пользователя, извлекая присланный им ключ для симметричного шифрования.
Теперь оба участника информационного обмена доверяют друг другу и имеют один общий ключ для симметричного шифрования трафика. Дальнейший обмен информацией между ними можно считать защищенным, безопасным.
Особенности использования SSL. К ним относятся следующие.
• Инициатива на установление защищенного SSL-coединения исходит от сервера, а не от пользователя. Не пользователь выбирает эго соединение, а соединение изначально должно быть настроено на SSL-протокол.
• Как правило, с помощью SSL защищается не весь ресурс, а только отдельные веб-страницы, на которых требуется ввести пароль или номер кредитной карточки.
• Пользователю для подключения к защищенным страницам не требуется дополнительных устройств или программного обеспечения. Достаточно иметь современную программу-обозреватель, так как она уже "обучена" работе с SSL- соединениями.
• Перед получением защищенной страницы пользователь должен принять от сервера SSL сертификат, после чего сервер передаст клиенту открытый ключ для шифрования передаваемой от пользователя информации. Расшифровку ведет сам сервер, так как только ему известен секретный ключ.