На главную | Содержание | Назад | Вперёд
Наши друзья

 

 

Использование системы Kerberos

Этой главе я расскажу о системе обмена ключами Kerberos — прекрасном нструментальном средстве повышения безопасности любой сети. Она была разрР*' этана в Массачусетском технологическом институте (MIT) в рамках программы therm. В Kerberos используется ряд взаимосвязанных средств и один-единственный 1дсжиый сервер, управляющий доступом к огромным распределенным системам, рочитав главу, вы узнаете следующее:
» Система Kerberos основана на принципе, утверждающем, что только огра­ниченное число машин могут быть абсолютно надежными.
* Для управления доступом ко всем остальным серверам сети в Kerberos используется одна надежная машина — надежный сервер.
Для управления доступом к серверам в системе Kerberos используется за­шифрованный файл, называемый билетом.
» В сетях, поддерживающих Kerberos, используется шесть базовых типов билетов: начальный, преидентифицированный, недействительный, возобнов­ляемый, досрочный и передаваемый.
» В Kerberos для представления пользователей (клиентов или серверов) ис­пользуются имена членов сети. Для представления областей управления надежного сервера используются имена областей действия.
» Системы Kerberos не являются от атак хакеров.
В системах Kerberos существует несколько ошибок, представляющих серьез­ную потенциальную опасность.
lEPBot ЗНАКОМСТВО
erberos - это система идентификации и проверки прав доступа. Она была разра-ггана в Массачусетском технологическом институте в рамках программы Athena. реда Kerberos располагается на одном абсолютно надежном хра-
информацию о паролях и привилегиях доступа каждого ри этом важно обеспечить надежную круглосуточную физическую защиту этой л шины. Например, она может располагаться в закрытой комнате или охра-чться человеком. (В Массачусетском институте этой машине присвоено имя 'rberos.mit.edu.) Благодаря этому пользователи сети могут полностью доверять «формации, расположенной на надежном сервере. В среде, основанной на системы Kerberos, этот компьютер является единственным серве-которому сетевые программы должны предоставить информацию о адежность остальной части сети не является столь важной. Другими словами, система Kerberos работает по принципу «Проще защитить один сервер, чем все компьютеры сети».
РАСПРЕДЕЛЕННЫЕ СИСТЕМЫ
Во всех предыдущих главах мы часто говорили о сетях и свя­занных с ними проблемах безопасности. Однако мы до сих пор ни разу не упомянули о распределенных системах. Распре­деленная система — это сеть с одним иди более сервером и одной (или более) рабочей станцией. Подразумевается, что в таких системах используются обычные (небезопасные) компьютеры. Распре­деленная система состоит из нескольких пространственно удаленных машин. Поэтому практически невозможно, чтобы каждый компьютер системы был безопасным.
Если пользователь сети, построенной на основе системы Kerberos, хочет получить доступ к какому-либо ресурсу сервера (например, файлу), он должен попросить разрешения у надежного сервера. Чтобы получше разобраться с этой ситуацией, давайте рассмотрим следующий пример. Вы (клиент) хотите получить доступ к файлу sailingjoats, расположенному на файловом (ненадежном) сервере сети. Допустим, что вы уже вошли в сеть. В этом случае программное обеспечение, установленное на вашей рабочей станции, произведет следующие операции:
1. ПО создаст цифровую подпись сообщения с запросом на файл sailingjoats. Для создания подписи будет использован ваш личный ключ, а для шифрова­ния сообщения открытый ключ сервера. Подпись сообщения и его шиф­рование преследует две цели. Во-первых, шифрование с одноразовым
ключом (с большой долей вероятности) служит гарантией того, что за­прос будет прочитан только надежным сервером. Во-вторых, надежный сервер использует цифровую подпись для идентификации отправителя за­проса.
2. Программное обеспечение вашего компьютера посылает зашифрованное сообщение надежному серверу.


Глава 10. Использование системы Kerberos
3. Надежный сервер анализирует сообщение. Затем с помощью вашей циф­ровой подписи он идентифицирует личность создателя сообщения. Полу­ченный дентификатор сверяется со списком пользователей, обладающих правом доступа к файлу sailingJwats.
4. Если у вас есть права доступа к серверу и к файлу sailing boats, то надеж­ный сервер соединит вас с файловым сервером. Кроме того, он укажет последнему, что вы обладаете правами на доступ к файлу sailing boats.
Чтобы соединить вас с файловым сервером, надежный сервер должен проделать следующие операции:
1.
Надежный сервер посылает вам уникальный ключ — билет (ticket). Чтобы предотвратить перехват билета, надежный сервер зашифровывает его при помощи открытого ключа пользователя. В билете содержится информа­ция о праве доступа и одноразовый ключ — простой ключ для шифрования, с помощью которого будут производиться все операции с файловым сер­вером. показана передача билета.
2. Кроме того, надежный сервер посылает копию билета файловому серве­ру. Чтобы предотвратить ее перехват, он зашифровывает копию с помо­щью открытого ключа файлового сервера. показана пере­дача копии билета файловому серверу.
3. Файловый сервер соединяется с вашим компьютером. При этом обе ма­шины сверяют копии билетов, чтобы идентифицировать друг друга. Про­граммное обеспечение клиента зашифровывает свою копию билета с по­мощью открытого ключа файлового сервера и пересылает ее файловому серверу. Тот, в свою очередь расшифровывает копию с помощью своего личного ключа. Если присланная копия совпадает с копией, располо­женной на файловом сервере, то сервер даст «добро» на соединение. Если же это не так, то сервер не будет создавать соединение. показано, как клиент и файловый сервер сравнивают билеты.
4. Если билеты соответствуют, то работа надежного сервера завершена. После этого пользователь может обмениваться данными с файловым сервером по безопасному каналу. Файловый сервер, в зависимости от своих устано­вок, может зашифровать пересылаемый файл с помощью открытого клю­ча пользователя (хранящегося на надежном сервере) либо с помощью од­норазового ключа. Кроме того, он может просто переслать запрашивае­мый файл (т. е. без применения шифрования). показаны все способы пересылки информации.


5. После успешной пересылки файла сервер посылает надежному серверу со­общение о том, что запрошенная операция завершена. Получив такое сообщение, надежный сервер должен аннулировать текущий билет. Если клиент попытается воспользоваться этим же билетом для повторного до­ступа к тому же самому файлу, то надежный сервер запретит подобную операцию.
другой взгляд на   систему kerberos
Как уже говорилось, сервер Kerberos является единственным надежным серве­ром в сети. Чтобы лучше понять эту концепцию, считайте, что система Kerberos предоставляет метод проверки членов незащищенной сети (рабочих станций или серверов). При этом не нужны ни средства идентификации, встроенные в опе­рационную систему хоста, ни проверка надежности хоста. Более того, в сетях Kerberos не требуется обеспечения физической безопасности хостов. Наоборот, в ней сделано неявное предположение, что пакеты могут быть прочитаны и из­менены любым человеком. Другими словами, в Kerberos вся сеть является зоной риска (за исключением надежного сервера). Система Kerberos предполагает, что хакер может перехватить любое сообщение в сети, а также постоянно пытается проникнуть в сеть.
Итак, исходя из этих предположений, система Kerberos проводит проверку транз­акций. Kerberos — это внешняя (т. е. не встроенная в операционную систему) служба проверки, где применяется шифрование с совместно используемым клю­чом. Напомню, что под совместно используемым ключом подра­зумевается ключ, которым стороны должны обменяться (по безопасному кана­лу) до начала связи. Подобные ключи называются так потому, что их совместно используют обе стороны соединения. Не путайте их с личными ключами, кото­рые используются в системах с открытым ключом. Такой ключ должен быть известен только одному человеку — его создателю.
БЕСПЛАТНАЯ версия Kerberos, Version5, PATCH TEVET 1
Чтобы загрузить последнюю версию Kerberos (Version 5, Patch Level 1) для Unix, посетите Web-сайт MIT, расположенный по адресу
тельство США наложило ограничения на экспорт используемой в Kerberos схемы шифрования DES, В связи с этим система Kerberos распространяется только гражданам США или Канады.
ОГРАНИЧЕНИЯ НА РАСПРОСТРАНЕНИЕ СИСТЕМ Kerberos
безопасности правительство США
запретило экспорт многих программных продуктов, связан­ных с шифрованием информации. Вместе с Kerberos к таким| продуктам относятся PGP, Netscape Navigator, Internet Explorer. Для экспортной продажи этих пакетов требуется специальная лицензия правительства США. Любая организация или физическое лицо, собирающиеся использовать систему Kerberos, должны получить лицензию на экспорт систем шифрования, В одном из следующих разделов я расскажу вам о Bones — альтернативе для разработчиков и системных администрато­ров, проживающих вне Соединенных Штатов Америки или Канады.
ПОДРОБНОСТИ ПРОЦЕССА ПРОВЕРКИ
Как уже говорилось, надежный сервер Kerberos проверяет каждую транзакцию в сети до того, как она произойдет. Более того, он является единственным ком­пьютером, производящим проверку транзакций. Ниже приведены этапы про­цесса проверки транзакции:
1. Клиент посылает серверу идентификации (надежному серверу) запрос на мандат (credential) необходимого сервера.
2. Сервер идентификации просматривает права клиента, чтобы решить, раз­решен ли ему доступ к запрашиваемому серверу и ресурсу.
3. Если у клиента нет таких прав, то сервер идентификации игнорирует за­прос клиента — другими словами, он не выдает клиенту билета.
4. Если клиент обладает правами доступа к запрашиваемому серверу и ресур­су, то сервер идентификации передает ему запрошенный мандат (обычно такой мандат называют просто билетом), зашифрованный с помощью от­крытого ключа клиента. Мандат состоит из билета запрашиваемого серве­ра и временного ключа шифрования (часто называемого одноразовым клю­чом — 4).
5. Сервер идентификации зашифровывает этот мандат с помощью открытого ключа запрашиваемого сервера и посылает его последнему. Тот, в свою очередь, расшифровывает полученное сообщение и ждет сообщения от клиента.
6. Тем временем клиент зашифровывает одноразовый ключ с помощью от­крытого ключа запрашиваемого сервера, а затем пересылает билет (содер­жащий идентификатор клиента и зашифрованную копию одноразового ключа) запрашиваемому серверу.
7. Запрашиваемый сервер расшифровывает одноразовый ключ с помощью своего личного ключа. Расшифрованная копия сверяется с копией, полу­ченной от сервера идентификации. Если они совпадают, то запрашивае­мый сервер разрешает клиенту доступ к требуемому ресурсу. Кроме того, клиент также может воспользоваться одноразовым ключом для идентифи­кации сервера. После этого обе стороны могут использовать одноразовый ключ для шифрования передаваемых сообщений. Однако существует и альтернативное решение: они могут обменяться дополнительным однора­зовым ключом, который также может быть использован для шифрования
передаваемых сообщений.
В любой реализации Kerberos используется один или несколько серверов иден­тификации (надежных серверов). Все они должны выполняться на физически защищенных хостах. Серверы идентификации поддерживают базу данных с ин­формацией о членах сети (другими словами, в этой базе данных содержится спи­сок всех пользователей и серверов), а также совместно используемый и откры­тый ключ каждого члена сети (principal). Возможности шифрования и протокол Kerberos реализуются с помощью библиотек кода. Чтобы добавить к транзакци­ям средства проверки прав доступа, стандартное сетевое приложение использует один или два запроса к библиотеке Kerberos.

 

На главную | Содержание | Назад | Вперёд
 
Яндекс.Метрика