Безопасность в распределенных системах
клиента
«разрешение на получение разрешения», проверяет, не истек ли срок его
«годности», а затем сравнивает имя пользователя и его сетевой адрес,
находящиеся в разрешении, с данными, которые указаны в заголовке пакета
пришедшего сообщения. Однако на этом проверки не заканчиваются. Сервер
выдачи разрешений расшифровывает аутентикатор с помощью кода сеанса и еще
раз сравнивает имя пользователя и его сетевой адрес с предыдущими двумя
значениями, и только в случае положительного результата может быть уверен
наконец, что клиент именно тот, за кого себя выдает. Поскольку аутентикатор
используется для идентификации клиента всего один раз и только в течение
определенного периода времени, становится практически невозможным
одновременный перехват «разрешения на получение разрешения» и аутентикатора
для последующих попыток несанкционированного доступа к ресурсам сети.
Каждый раз, при необходимости доступа к серверу сети, клиент посылает
«разрешение на получение разрешения» многоразового использования и новый
аутентикатор.
После успешной идентификации клиента в качестве источника запроса
сервер выдачи разрешений отсылает пользователю разрешение на доступ к
ресурсам сети (которое может использоваться многократно в течение
некоторого периода времени) и новый код сеанса. Это разрешение зашифровано
с помощью кода, известного только серверу выдачи разрешений и серверу, к
которому требует доступа клиент, и содержит внутри себя копию нового кода
сеанса. Все сообщение (разрешение и новый код сеанса) зашифровано с помощью
старого кода сеанса, поэтому расшифровать его может только клиент. После
расшифровки клиент посылает целевому серверу, ресурсы которого нужны
пользователю, разрешение на доступ и аутентикатор, зашифрованные с помощью
нового кода сеанса.
Для обеспечения еще более высокого уровня защиты, клиент, в свою
очередь, может потребовать идентификации целевого сервера, чтобы
обезопаситься от возможного перехвата информации, дающей право на доступ к
ресурсам сети. В этом случае он требует от сервера высылки значения отметки
времени, увеличенного на единицу и зашифрованного с помощью кода сеанса.
Сервер извлекает копию кода сеанса, хранящуюся внутри разрешения на доступ
к серверу, использует его для расшифровки аутентикатора, прибавляет к
отметке времени единицу, зашифровывает полученную информацию с помощью кода
сеанса и отсылает ее клиенту.
Расшифровка этого сообщения позволяет клиенту идентифицировать
сервер. Использование в качестве кода отметки времени обеспечивает
уверенность в том, что пришедший клиенту ответ от сервера не является
повтором ответа на какой-либо предыдущий запрос.
Теперь клиент и сервер готовы к передаче необходимой информации с
должной степенью защиты. Клиент обращается с запросами к целевому серверу,
используя полученное разрешение. Последующие сообщения зашифровываются с
помощью кода сеанса.
Более сложной является ситуация, когда клиенту необходимо дать
серверу право пользоваться какими-либо ресурсами от его имени. В качестве
примера можно привести ситуацию, когда клиент посылает запрос серверу
печати, которому затем необходимо получить доступ к файлам пользователя,
расположенным на файл-сервере. Кроме того, при входе в удаленную систему
пользователю необходимо, чтобы все идентификационные процедуры выполнялись
так же, как и с локальной машины. Эта проблема решается установкой
специальных флагов в «разрешении на получение разрешения» (дающих
одноразовое разрешение на доступ к серверу от имени клиента для первого
примера и обеспечивающих постоянную работу в этом режиме для второго).
Поскольку, как было сказано выше, разрешения строго привязаны к сетевому
адресу обладающей ими станции, то при наличии подобных флагов сервер выдачи
разрешений должен указать в разрешении сетевой адрес того сервера, которому
передаются полномочия на действия от имени клиента.
Следует отметить также, что для всех описанных выше процедур
идентификации необходимо обеспечить доступ к базе данных Kerberos только
для чтения. Но иногда требуется изменять базу, например, в случае изменения
ключей или добавления новых пользователей. Тогда используется третий сервер
Kerberos — административный (Kerberos Administration Server). He вдаваясь
в подробности его работы, следует отметить, что его реализации могут сильно
отличаться (так, возможно ведение нескольких копий базы одновременно).
Связь между Kerberos-областями
Как уже было сказано выше, при использовании Kerberos-серверов сеть
делится на области действия Kerberos. Схема доступа клиента, находящегося в
области действия одного Kerberos-сервера, к ресурсам сети, расположенным в
области действия другого Kerberos, осуществляется следующим образом.
Целевой сервер
Оба Kerberos-сервера должны быть обоюдно зарегистрированы, то есть
знать общие секретные ключи и, следовательно, иметь доступ к базам
пользователей друг друга. Обмен этими ключами между Kerberos-серверами (для
работы в каждом направлении используется свой ключ) позво-ляет
зарегистрировать сервер выдачи разрешений каждой области как клиента в
другой области. После этого клиент, требующий доступа к ресурсам,
находящимся в области действия другого Kerberos-сервера, может получить
разрешение от сервера выдачи разрешений своего Kerberos по описанному выше
алгоритму. Это разрешение, в свою очередь, дает право доступа к серверу
выдачи разрешений другого Kerberos-сервера и содержит в себе отметку о том,
в какой Kerberos-области зарегистрирован пользователь. Удаленный сервер
выдачи разрешений использует один из общих секретных ключей для расшифровки
этого разрешения (который, естественно, отличается от ключа, используемого
в пределах этой области) и при успешной расшифровке может быть уверен, что
разрешение выдано клиенту соответствующей Kerberos-области. Полученное
разрешение на доступ к ресурсам сети предъявляется целевому серверу для
получения соответствующих услуг.
Следует, однако, учитывать, что большое число Kerberos-серверов в
сети ведет к увеличению количества передаваемой идентификационной
информации при связи между разными Kerberos-областями. При этом
увеличивается нагрузка на сеть и на сами Kerberos-серверы. Поэтому более
эффективным следует считать наличие в большой сети всего нескольких
Kerberos-серверов с большими областями действия, нежели использование
множества Kerberos-серверов. Тая, Kerberos-система, установленная компанией
Digital Equipment для большой банковской сети, объединяющей отделения в Нью-
Йорке, Париже и Риме, имеет всего один Kerberos-сервер. При этом, несмотря
на наличие в сети глобальных коммуникаций, работа Kerberos-системы
практически не отразилась на производительности сети.
Kerberos-5
К настоящему времени Kerberos выдержал уже четыре модификации, из
которых четвертая получила наибольшее распространение. Недавно группа,
продолжающая работу над Kerberos, опубликовала спецификацию пятой версии
системы, основные особенности которой отражены в стандарте RFC 1510. Эта
модификация Kerberos имеет ряд новых свойств, из которых можно выделить
следующие.
Уже рассмотренный ранее механизм передачи полномочий серверу на
действия от имени клиента, значительно облегчающий идентификацию в сети в
ряде сложных случаев, является нововведением пятой версии.
Пятая версия обеспечивает более упрощенную идентификацию
пользователей в удаленных Kerberos-областях, с сокращенным числом передач
секретных ключей между этими областями. Данное свойство, в свою очередь,
базируется на механизме передачи полномочий.
Если в предыдущих версиях Kerberos для шифрования использовался
исключительно алгоритм DES (Data Encryption Standard — Стандарт Шифрования
Данных), надежность которого вызывала некоторые сомнения, то в данной
версии возможно использование различных алгоритмов шифрования, отличных от
DES.
Заключение
Многие производители сетевого и телекоммуникационного оборудования
обеспечивают поддержку работы с Kerberos в своих устройствах.
Следует, однако, отметить, что использование Kerberos не является
решением всех проблем, связанных с попытками несанкционированного доступа в
сеть (например, он бессилен, если кто-либо узнал пароль пользователя),
поэтому его наличие не исключает других стандартных средств поддержания
соответствующего уровня секретности в сети.
Ни одна компьютерная система защиты информации не является абсолютно
безопасной. Однако адекватные меры защиты значительно затрудняют доступ к
системе и снижают эффективность усилий злоумышленника (отношение средних
затрат на взлом защиты системы и ожидаемых результатов) так, что
проникновение в систему становится нецелесообразным. Ключевым элементом в
системе безопасности является администратор системы. Какие бы средства вы
ни приобретали, качество защиты будет зависеть от способностей и усилий
этого человека.
Литература
Дьяченко В.И. “Теория систем безопасности данных”, ООО “Исток”, М.-
1995г.
Information Security Service DATAPRO International,
McGraw-HTl, Inc.
ORACLE7 Server Concepts Manual. P/
| | скачать работу |
Безопасность в распределенных системах |