Курсовая: Безопасность в распределенных системах
САНКТ-ПЕТЕРБУРГСКАЯ ИНЖЕНЕРНАЯ
ШКОЛА ЭЛЕКТРОНИКИ
КУРСОВАЯ РАБОТА
по курсу УСЕТЕВЫЕ ТЕХНОЛОГИИФ.
Тема
Безопасность в распределенных системах
Группа 386-ф
Ковпак Л.В.
Санкт-Петербург
Введение
Концентрация информации в компьютерах Ч аналогично концентрации наличных
денег в банках Ч заставляет все бонлее усиливать контроль в целях защиты
информации. Юридинческие вопросы, частная тайна, национальная безопасность Ч
все эти соображения требуют усиления внутреннего контроля в коммерческих и
правительстнвенных организациях. Работы в этом направлении привели к
появлению новой дисциплины: безопасность информации. Специалист в области
безопаснности информации отвечает за разработку, реализацию и экснплуатацию
системы обеспеченния информсционной безопаснности, направленной на
подндержание целостности, пригоднности и конфиденциальности накопленной в
организации иннформации. В его функции вхондит обеспечение физической
(технические средства, линии связи и удаленные компьютенры) и логической
(данные, прикладные программы, операнционная система) защиты иннформационных
ресурсов.
Сложность создания системы защиты информации определяется тем, что данные
могут быть похищены из компьютера и одновременно оставатьнся на месте;
ценность некоторых данных заключается в обладании ими, а не в уничтожении или
изменении.
Проблема защиты компьютернных сетей от несанкциониронванного доступа
приобрела особую остроту. Развитие комнмуникационных технологий позволяет
строить сети распренделенной архитектуры, объединняющие большое количество
сегментов, расположенных на значительном удалении друг от друга. Все это
вызывает увелинчение числа узлов сетей, разнбросанных по всему миру, и
конличества различных линий свянзи между ними, что, в свою оченредь, повышает
риск несанкцинонированного подключения к сети для доступа к важной
иннформации. Особенно неприятнной такая перспектива может оказаться для
банковских или государственных структур, об-ладающих секретной информанцией
коммерческого или любонго другого характера. В этом случае необходимы
специальнные средства идентификации пользователей в сети, обеспенчивающие
доступ к информанции лишь в случае полной увенренности в наличии у
пользовантеля прав доступа к ней.
Существует ряд разработок, позволяющих с высокой степенью нандежности
идентифицировать пользователя при входе в систему. Сренди них, например, есть
технологии, идентифицирующие пользователя по сетчатке глаза или отпечаткам
пальцев. Кроме того, ряд систем иснпользуют технологии, основанные на
применении специального иденнтификационного кода, постоянно передаваемого по
сети. Так, при иснпользовании устройства SecureID (фирмы Security Dinamics)
обеспенчивается дополнительная информация о пользователе в виде
шестинзначного кода. В данном случае работа в сети невозможна без наличия
специальной карты SecureID (похожей на кредитную), которая обеснпечивает
синхронизацию изменяющегося кода пользователя с хранянщимися на UNIX-хосте,
При этом доступ в сеть и работа в ней может осуществляться лишь при знании
текущего значения кода, который отображается на дисплее устройства SecureID.
Однако основным нендостатком этой и ей подобных систем является необходимость
в спенциальном оборудовании, что вызывает неудобства в работе и
дополнинтельные затраты.
В статье рассматриваются некоторые возможности обеспечения безопаснности в
системах Ч шифрование информации при передаче по каналам связи и
использование надежных (достоверных, доверительных) (Trusted) систем Ч на
примере СУБД ORACLE, а так же система защиты от несанкционированого доступа к
сети Kerberos.
Безопасность в среде баз данных
Очевидные достоинства баз данных в современной среде обработки даннных служат
гарантией их дальнейшего развития и использования. Контнроль доступа в этой
области важен ввиду колоссальной концентрации иннформации.
В настоящий момент лхребтом базовых систем обработки информации во многих
больших организациях является локальная сеть, которая постенпенно занимает
такое же место и в фирмах меньшего размера. Растущая понпулярность локальных
сетей требует соответствующей защиты информанции, но исторически они были
спроектированы как раз не для разграниченния, а для облегчения доступа и
коллективного использования ресурсов. В среде локальных сетей в пределах
здания или района (городка) сотрудник, имеющий доступ к физической линии,
может просматривать данные, не предназначенные для него. В целях защиты
информации в различных комнбинациях используются контроль доступа,
авторизация и шифрование иннформации, дополненные резервированием.
Определение потребности в защите информации
Обеспечение безопасности информации Ч дорогое дело, и не столько из-за затрат
на закупку или установку средств, сколько из-за того, что труднно
квалифицированно определить границы разумной безопасности и соотнветствующего
поддержания системы в работоспособном состоянии.
Если локальная сеть разрабатывались в целях совместного использованния
лицензионных программных средсов, дорогих цветных принтеров или больших
файлов общедоступной информации, то нет никакой потребности даже в
минимальных системах шифрования/дешифрования информации.
Средства защиты информации нельзя проектировать, покупать или устанавливать
до тех пор, пока не произведен соответствующий анализ.
Анализ риска должен дать объективную оценку многих факнторов (подверженность
появлению нарушения работы, веронятность появления нарушения работы, ущерб от
коммерченских потерь, снижение коэффициента готовности системы, общественные
отношения, юридические проблемы) и предонставить информацию для определения
подходящих типов и уровней безопасности. Коммерческие организации все в
больншей степени переносят критическую корпоративную инфорнмацию с больших
вычислительных систем в среду открытых систем и встречаются с новыми и
сложными проблемами при реализации и эксплуатации системы безопасности.
Сегодня все больше организаций разворачивают мощные распределеннные базы
данных и приложения клиент/сервер для управленния коммерческими данными. При
увеличении распределенния возрастает также и риск неавторизованного доступа к
даннным и их искажения.
Шифрование данных традиционно использовалось правинтельственными и оборонными
департаментами, но в связи с изменением потребностей и некоторые наиболее
солидные компании начинают использовать возможности, предоставляенмые
шифрованием для обеспечения конфиденциальности иннформации.
Финансовые службы компаний (прежде всего в США) представляют важную и большую
пользовательскую базу и чансто специфические требования предъявляются к
алгоритму, иснпользуемому в процессе шифрования. Опубликованные алгонритмы,
например DES (См. ниже), являются обязательными. В то же время, рынок
коммерческих систем не всегда требует танкой строгой защиты, как
правительственные или оборонные вендомства, поэтому возможно применение
продуктов и другого типа, например PGP (Pretty Good Privacy).
Шифрование
Шифрование данных может осуществляться в режимах On-Line (в темпе поступления
информации) и Off-Line (автонномном). Остановимся подробнее на первом типе,
представлянющем больший интерес. Наиболее распространены два алгонритма.
Стандарт шифрования данных DES (Data Encryption Standard) был разработан
фирмой IBM в начале 70-х годов и в настоящее время является правительственным
стандартом для шифрования цифровой информации. Он рекомендован Ассонциацией
Американских Банкиров. Сложный алгоритм DES иснпользует ключ длиной 56 бит и
8 битов проверки на четность и требует от злоумышленника перебора 72
квадриллионов вознможных ключевых комбинаций, обеспечивая высокую степень
защиты при небольших расходах. При частой смене ключей алнгоритм
удовлетворительно решает проблему превращения коннфиденциальной информации в
недоступную.
Алгоритм RSA был изобретен Ривестом, Шамиром и Альде-маном в 1976 году и
представляет собой значительный шаг в криптографии. Этот алгоритм также был
принят в качестве стандарта Национальным Бюро Стандартов.
DES, технически, является СИММЕТРИЧНЫМ алгоритнмом, а RSA Ч АСИММЕТРИЧНЫМ, то
есть он использует разные ключи при шифровании и дешифровании. Пользоватенли
имеют два ключа и могут широко распространять свой откнрытый ключ. Открытый
ключ используется для шифрования сообщения пользователем, но только
определенный получатель может дешифровать его своим секретным ключом;
открытый ключ бесполезен для дешифрования. Это делает ненужными секретные
соглашения о передаче ключей между корреспонденнтами. DES определяет длину
данных и ключа в битах, а RSA монжет быть реализован при любой длине ключа.
Чем длиннее ключ, тем выше уровень безопасности (но становится длительннее и
процесс шифрования и дешифрования). Если ключи DES можно сгенерировать за
микросекунды, то примерное время геннерации ключа RSA Ч десятки секунд.
Поэтому открытые клюнчи RSA предпочитают разработчики программных средств, а
секретные ключи DES Ч разработчики аппаратуры.
Некоторые решения
Примером архитектуры клиент/сервер, которую хорошо дополняют средства
шифрования, могут служить Oracle Server, сетевые продукты (SQMNet) и
программное обеспечение клинента.
Сетевая служба безопасности (SNS Ч Secure Network Services) предлагает
стандартный, оптимизированный алгонритм шифрования DES с ключом длиной 56 бит
для организанций, от которых требуется использовать стандарт DES. Для
занказчиков вне пределов США или Канады SNS предлагает DES40, в котором
комбинируется использование алгоритма шифрования DES с общепринятым ключом
длиной 40 бит (экнспорт технологий шифрования в США законодательно
огранинчен). Наряду с DES возможно также использование алгоритма шифрования
RSA RC4.
Секретный, генерируемый случайным образом ключ для каждой сессии SQL* Net
сохраняет весь сетевой трафик Ч включая пароли, значения данных, SQL-
утверждения и сохранняемые вызовы и результаты.
Для обнаружения модификации или подмены данных во время передачи SNS
генерирует криптографически защищеннное значение, вычисляемое по содержимому
сообщения, и включает его в каждый пакет, передаваемый по сети. При
полунчении пакета в пункте назначения SNS немедленно производит проверку
целостности каждого пакета.
Устойчивость к искажению данных обеспечивается следуюнщим образом:
1) криптографически защищенная контрольная сумма в каждом пакете SQL*
Net обеспечивает защиту от модификации данных и замены операции;
2) при обнаружении нарушений операции незамедлительно автоматически
завершаются;
3) информация о всех нарушениях регистрируется в журннале.
Наряду с этим обеспечивается многопротокольная перекондировка данных, т.е.
полностью поддерживается Oracle Multiprotocol Interchange Ч при работе с
зашифрованной сеснсией можно начинать работу с одним сетевым протоколом, а
занканчивать с другим, при этом не требуется дешифрование или перешифрование
информации. SNS полностью поддерживаетнся сквозными шлюзами, Oracle
Transparent Gateways, и процендурными шлюзами, Oracle Procedural Gateways,
которые дают возможность организовывать полностью зашифрованные сеснсии
клиент/сервер к отличным от Oracle источникам данных, включая Adabas, CA-
Datacom, DB2, DRDA, FOCUS, IDMS, IMS, ISAM, MUMPS, QSAM, Rdb, RMS, SAP,
SQL/DS, SQL/400, SUPRA, Teradata, TOTAL, VSAM и другие.
SNS работает со всеми основными протоколами, поддержинваемыми SQL* Net,
включая AppleTalk, Banyan, DECnet, LU6.2, MaxSix, NetBIOS, SPX/IPX, TCP/IP,
X.25 и другие.
Обеспечивается независимость от топологии сети Ч SNS работает во всех
основных сетевых средах, поддерживаемых SQL-Net.
SNS представляет собой дополнительный продукт к станндартному пакету SQL*
Net, то есть требуется предварительно приобрести лицензию на SQL* Net.
Продукт надо покупать и для клиента, и для сервера.
Вместе тем СУБД Oracle, начиная с версии 7.1, пароль перендается по сети в
зашифрованном виде.
Это означает, что при организации связи клиент/сервер иснпользуется новый
протокол установления связи, в котором применяется сеансовый ключ, пригодный
только для единстнвенной попытки соединения с базой данных и используемый в
качестве ключа для шифрования пароля, прежде чем он будет передан клиентам.
Oracle-сервер находит зашифрованный панроль для этого пользователя и
использует его в качестве клюнча, которым он зашифровывает сеансовый ключ.
Затем сервер пересылает этот зашифрованный сеансовый ключ клиенту. Клиент
шифрует (применяя тот же самый односторонний алнгоритм, который используется
сервером) пароль, введенный пользователем, и с его помощью дешифрует
зашифрованный сеансовый ключ. Обнаружив этот сеансовый ключ, он испольнзует
его Ч это становится совместным секретом клиента и сернвера Ч для шифрования
пароля пользователя. Этот зашифронванный пароль затем передается через сеть
серверу. Сервер деншифрует пароль и затем зашифровывает его, используя
однонсторонний алгоритм сервера; результат этих вычислений свенряется со
значением, хранимым в словаре данных. Если они совпадают, клиенту
предоставляется доступ. Такой подход ренализуется как в соединениях типа
клиент/сервер, так и сернвер/сервер, где сеансы устанавливаются через так
называемые полномочные звенья баз данных (т.е. звенья баз данных без
вложенных имен пользователей и паролей).
Понятия идентификации и аутентифинкации
в достоверных системах
Известны большие выгоды, которые дает переход к открынтым системам. Но среди
них не значится безопасность инфорнмации. Это и понятно Ч центр обработки
данных передает ненкоторые из своих функций по контролю за системой отделам и
пользователям и тем самым рассеивает объект безопасности.
Сохранить требуемый уровень безопасности системы вознможно при использовании
операционных систем класса В1 (Trusted), которые позволяют администратору
системы приснвоить каждому пользователю уровень доступности объектов системы
(Secret, Confidential, Unclassified).
Обработка секретной и конфиденциальной информации требует от системы
использовать механизм гарантии соответстнвующей идентификации и
аутентификации пользователей. Все возможные подходы к идентификации и
аутентификации' долнжны быть идентифицированы, рассмотрены и сравнены с
Кринтерием Оценки Достоверности Вычислительных Систем (TCSEC), или с
лОранжевой Книгой (в Европе Ч Критерием Оценки Безопасности Информационных
Технологий, или лБенлой Книгой).
TCSEC делится на четыре класса: D, С, В и А. Эти классы упорядочены, причем
самый высокий класс (А) зарезервиронван за системами, имеющими наивысший
уровень защиты иннформации. Внутри классов В и С имеются подклассы, которые
тоже упорядочены в соответствии с обеспечиваемым уровнем защиты. Коротко
говоря, принадлежность к классу D означанет, что система не имеет средств
защиты информации (некласнсифицированная), к классу С Ч что она имеет
некоторые среднства избирательной защиты (классифицированная), к классу В Ч
что к упомянутым ранее средствам добавляются гарантии безопасности и они
описываются как лполномочные (секретнная информация), ну а если система
отнесена к классу А, знанчит, средства защиты ранее проверены (совершенно
секретная информация). Многие популярные операционные системы (например,
различные варианты PС UNIX, Sun Solaris 2.3 и т.п.) соответствуют классу С.
В1 Ч первый в классификации уровень, в котором имеет место контроль доступа и
переноса данных, основанный на уровнях конфиденциальности. Для
непривилегированных пользователей используются данные идентификации и
аутентификации для определения уровня авторизации текущего пользователя,
которые Достоверная Компьютерная База (ТСВ Ч Trusted Computer Base)
сравнинвает со своей базой данных пользователей, содержащей ранги авторизации
для каждого пользователя. Если информация, указанная при вхождении в связь,
корректна и ее уровень признан соответствующим запросу, ТСВ допускает
пользовантеля в систему. При попытке доступа к файлам ТСВ выступанет в роли
арбитра, при этом ТСВ основывается на уровне пользователя и метке файла или
объекта, к которым пользовантель пытается получить доступ. Поскольку уровень
конфиденциальности представляется уровнем прозрачности и катенгорией доступа,
а разрешение на доступ к объекту определяетнся конфиденциальностью и объекта,
и субъекта (внешний п ( отношению к ТСВ), авторизация субъекта становится
компонентом требований к авторизации.
Оранжевая Книга фокусирует внимание на законченны вычислительных системах и
определяет шесть ключевых требований безопасности информации:
1) система должна иметь четкий сертификат безопасности
2) каждый объект, ассоциированный с этим сертификате! должен иметь метку
контроля доступа;
3) индивидуальные пользователи должны быть идентифицированы;
4) система должна поддерживать совокупность сведений накапливающихся со
временем и используемых для упрощен проверки средств защиты;
5) система должна быть открыта для независимой оценки безопасности
информации;
6) система должна быть постоянно защищена от измененений конфигурации
или каких-либо других изменений.
Со времени выпуска Оранжевой книги было опубликовано множество других
документов с различными цветами обложек. Эта лрадужная серия охватывает
вопросы Интерпретации Достоверных Сетей (Trusted Network Interpretation),
Интерпретации Достоверных Баз Данных (Trusted DataBase Interpretation),
руководства по паролям, руководство по избирательному контролю доступа и
Перечень Оцененных Средств.
Некоторые реализации
Корпорация Oracle разработала реляционную СУБД с обеснпечением многоуровневой
защиты информации (Multi-Level Security Ч MLS) Ч Trusted ORACLE7, обладающую,
в том чиснле, и всеми стандартными возможностями ORACLE7.
В прошлом компании, которые желали защитить секретную или конфиденциальную
информацию, вынуждены были иснпользовать для этих целей специальное или
выделенное оборундование. С появлением таких продуктов, как Trusted ORAнCLE7,
эта необходимость отпала. Trusted ORACLE7 позволяет размещать важную для
конкурентов информацию в базе даннных, в которой хранится общая информация,
без всякого риска, что какой-то пользователь случайно или преднамеренно
полунчит доступ к секретной или конфиденциальной информации.
Trusted ORACLE7 функционирует с использованием двух наборов правил:
Избирательное Управление Доступом (DAC Ч Discretionary Access Control) и
Полномочное Управление Доснтупом (MAC Ч Mandatory Access Control).
Использование DAC ограничивается такими объектами баз данных, как таблинцы,
виды, последовательности и хранимые процедуры, основаннные на идентификации
пользователей, и групповые ассоцианции. Создатель объектов баз данных Ч
например, таблиц Ч монжет предоставлять доступ другому пользователю.
MAC представляет собой шаг вперед по сравнению с DAC и помечает содержание
объектов баз данных. MAC ограничивает доступ к объекту путем сравнения так
называемой метки объекнта с уровнем авторизации пользователя. Помимо меток
MAC Trusted ORACLE7 помечает такие элементы объектов, как строки и таблицы. В
результате этого свойства даже при услонвии, что DAC пытается дать
пользователю доступ к помеченнонму объекту, ему будет разрешен доступ, только
если его уровень авторизации будет не ниже, чем уровень авторизации
информанции, к которой пытается получить доступ пользователь.
Обратите внимание, что Trusted ORACLE7 должна функнционировать над ОС с
многоуровневой защитой информации, чтобы обеспечить уровни защиты информации,
заложенные в ней при проектировании. Обмен между системами с многоунровневой
защитой (меточной), а также между системой с мнонгоуровневой защитой и
обычной системой, не использующей метки, возможен только посредством
меточного сетевого пронтокола. Такие протоколы передают в дополнение к другим
атнрибутам защиты информации, подобно идентификаторам польнзователей или
групп, метки пакетов, которые обычно порожданются из меток передающего
процесса. Большинство общих менточных протоколов являются вариантами
протокола MaxSix, представляющего собой совокупность сетевых протоколов
занщиты информации и программных интерфейсов, теоретически спроектированного
для поддержки сетей OSI и TCP/IP, хотя в настоящее время имеются только
реализации MaxSix. Протонколы MaxSix соответствуют RIPCO, CIPCO и DNSIX.
Больншинство поставщиков рабочих станций MLS с Режимом Разделения на Секции
(CMW Ч Compartamented Mode Workstation) реализовали протоколы MaxSix в своих
защищеннных ОС. MaxSix обеспечивает не только службы расставления меток и
трансляции, но и допускает единственную заранее опнределенную метку MLS.
Таким образом, помеченный сервер в действительности действует как сторож;
аналогично, БД Trusted ORACLE7 на этом сервере работает как сторож сервера
СУБД.
Как и обычные протоколы, SQL* Net поддерживает эти менточные протоколы
посредством протокольных адаптеров; напнример, имеются реализации адаптеров
протоколов SQL* Net для TNET фирмы Sun, MaxSix фирмы DEC и MaxSix фирмы HP.
На станциях, где многоуровневая среда соединяется с ненметочной средой, на
одной стороне соединения (многоуровненвой) работает адаптер SQL* Net для
варианта MaxSix, а на друнгой Ч адаптер SQL* Net для протокола TCP/IP
(неметочная среда).
Все продукты корпорации Oracle Developer 2000, Designer 2000 и др. могут
использоваться с Trusted ORACLE7.
Перспективы развития
С появлением Oracle RDBMS версии 7.2 разработчики принложений смогут
поставлять код PL/SQL в свернутом (Wrapped) формате. Разработчик, который
планирует распронстранять приложения на PL/SQL, больше не должен отправнлять
исходный код PL/SQL. Скрытие исходного кода облегчанет защиту
интеллектуальной собственности и уменьшает вознможные злоупотребления или
искажения приложений.
Защищенные СУБД других поставщиков
Informix поставляет OnLine/Secure 5.0, который, подобно другим конкурирующим
продуктам в данной области, преднставляет собой реляционную СУБД,
обеспечивающую многоунровневую защиту информации в БД и работающую с
использонванием двух наборов правил DAC и MAC.
Аналогичные механизмы поддерживает Sybase в продукте Secure SQL Server
Version 10.0.
Система Kerberos
Система Kerberos (по-русски Ч Цербер), разработанная участниканми проекта
Athena, обеспечивает защиту сети от несанкционированнонго доступа, базируясь
исключительно на программных решениях, и предполагает многократную шифрование
передаваемой по сети управнляющей информации. Kerberos обеспечивает
идентификацию пользонвателей сети и серверов, не основываясь на сетевых
адресах и особеннонстях операционных систем рабочих станций пользователей, не
требуя физической защиты информации на всех машинах сети и исходя из
предположения, что пакеты в сети могут быть легко прочитаны и при желании
изменены.
Клиент/ Kerberos/ Cepвep
Kerberos имеет структуру типа клиент/сервер и состоит из клиентнских частей,
установленных на все машины сети (рабочие станции пользователей и серверы), и
Kerberos-сервера (или серверов), располангающегося на каком-либо (не
обязательно выделенном) компьютере. Kerberos-сервер, в свою очередь, делится
на две равноправные части:
сервер идентификации (authentication server) и сервер выдачи разреншений
(ticket granting server). Следует отметить, что существует в трентий сервер
Kerberos, который, однако, не участвует в идентификации пользователей, а
предназначен для административных целей. Область действия Kerberos (realm)
распространняется на тот участок сети, все пользонватели которого
зарегистрированы под своими именами и паролями в базе Kerberos-сервера и где
все серверы обнладают общим кодовым ключом с идентификационной частью
Kerberos. Эта область не обязательно должна быть участком локальной сети,
понскольку Kerberos не накладывает огранничения на тип используемых
коммунникаций (о способе доступа из области действия одного Kerberos-сервера
в область действия другого будет сказанно чуть ниже).
Упрощенно модель работы Kerberos можно описать следующим образом.
Пользователь (Kerberos-клиент), желая получить доступ к ресурсу сети,
направляет запрос идентификанционному серверу Kerberos. Последнний
идентифицирует пользователя с помощью его имени и пароля и выдает разрешение
на доступ к серверу выданчи разрешений, который, в свою оченредь, дает
лдобро на использование необходимых ресурсов сети. Однако данная модель не
отвечает на вопрос о надежности защиты информации, понскольку, с одной
стороны, пользовантель не может посылать идентификанционному серверу свой
пароль по сети, а с другой Ч разрешение на доступ к обслуживанию в сети не
может быть послано пользователю в виде обычнонго сообщения. В обоих случаях
инфорнмация может быть перехвачена и иснпользована для несанкционированнонго
доступа в сеть. Для того, чтобы избенжать подобных неприятностей
Kerberos, применяет сложную систему многократного шифрования при перендаче
любой управляющей информанции в сети.
Доступ пользователей к сетевым серверам, файлам, приложениям, принтерам и
т.д. осуществляется по следующей схеме.
Клиент (под которым в дальнейншем будет пониматься клиентская часть Kerberos,
установленная на рабончей станции пользователя) направляет запрос
идентификационному серверу на выдачу лразрешения на получение разрешения
(ticket-granting ticket), которое даст возможность обратиться к серверу
выдачи разрешений. Иденнтификационный сервер адресуется к базе данных,
хранящей информацию о всех пользователях, и на основании сондержащегося в
запросе имени пользонвателя определяет его пароль. Затем клиенту отсылается
лразрешение на получение разрешения и специальнный код сеанса (session key),
которые шифруются с помощью пароля польнзователя как ключа. При получении
этой информации пользователь на его рабочей станции должен ввести свой
пароль, и если он совпадает с хранящинмися в базе Kerberos-сервера,
лразреншение на получение разрешения и код сеанса будут успешно
расшифронваны. Таким образом решается пронблема с защитой пароля Ч в данном
случае он не передается по сети.
После того как клиент зарегистринровался с помощью идентификационнного
сервера Kerberos, он отправляет запрос серверу выдачи разрешений на получение
доступа к требуемым ренсурсам сети. Этот запрос (или лразреншения на
получение разрешения) сондержит имя пользователя, его сетевой адрес, отметку
времени, срок жизни этого разрешения и код сеанса. лРазнрешение на получение
разрешения зашифровывается два раза: сначала с помощью специального кода,
который известен только идентификационнонму серверу и серверу выдачи
разрешенний, а затем, как уже было сказано, с помощью пароля пользователя.
Это предотвращает не только возможность использования этого разрешения при
его перехвате, но и делает его недонступным самому пользователю. Для того
чтобы сервер выдачи разрешений дал клиенту доступ к требуемым ренсурсам,
недостаточно только лразреншения на получение разрешения. Вместе с ним
клиент посылает так нанзываемый аутентикатор (authenticator), зашифровываемый
с помощью кода сеанса и содержащий имя польнзователя, его сетевой адрес и еще
одну отметку времени.
Сервер выдачи разрешений расншифровывает полученное от клиента лразрешение на
получение разрешенния, проверяет, не истек ли срок его лгодности, а затем
сравнивает имя пользователя и его сетевой адрес, нанходящиеся в разрешении, с
данными, которые указаны в заголовке пакета пришедшего сообщения. Однако на
этом проверки не заканчиваются. Сервер выдачи разрешений расшифнровывает
аутентикатор с помощью кода сеанса и еще раз сравнивает имя пользователя и
его сетевой адрес с предыдущими двумя значениями, и только в случае
положительного рензультата может быть уверен наконец, что клиент именно тот,
за кого себя выдает. Поскольку аутентикатор иснпользуется для идентификации
клинента всего один раз и только в теченние определенного периода времени,
становится практически невозможнным одновременный перехват лразнрешения на
получение разрешения и аутентикатора для последующих понпыток
несанкционированного достунпа к ресурсам сети. Каждый раз, при необходимости
доступа к серверу сенти, клиент посылает лразрешение на получение разрешения
многоразонвого использования и новый аутентинкатор.
После успешной идентификации клиента в качестве источника запроса сервер
выдачи разрешений отсылает пользователю разрешение на доступ к ресурсам сети
(которое может иснпользоваться многократно в течение некоторого периода
времени) и новый код сеанса. Это разрешение зашифронвано с помощью кода,
известного только серверу выдачи разрешений и серверу, к которому требует
доступа клиент, и содержит внутри себя конпию нового кода сеанса. Все
сообщенние (разрешение и новый код сеанса) зашифровано с помощью старого кода
сеанса, поэтому расшифровать его монжет только клиент. После расшифнровки
клиент посылает целевому сернверу, ресурсы которого нужны польнзователю,
разрешение на доступ и аунтентикатор, зашифрованные с помонщью нового кода
сеанса.
Для обеспечения еще более высонкого уровня защиты, клиент, в свою очередь,
может потребовать идентинфикации целевого сервера, чтобы обензопаситься от
возможного перехвата информации, дающей право на доступ к ресурсам сети. В
этом случае он тренбует от сервера высылки значения отнметки времени,
увеличенного на единицу и зашифрованного с помонщью кода сеанса. Сервер
извлекает копию кода сеанса, хранящуюся внутнри разрешения на доступ к
серверу, использует его для расшифровки аунтентикатора, прибавляет к отметке
времени единицу, зашифровывает понлученную информацию с помощью кода сеанса и
отсылает ее клиенту.
Расшифровка этого сообщения позвонляет клиенту идентифицировать сернвер.
Использование в качестве кода отметки времени обеспечивает увенренность в
том, что пришедший клиненту ответ от сервера не является понвтором ответа на
какой-либо предындущий запрос.
Теперь клиент и сервер готовы к передаче необходимой информации с должной
степенью защиты. Клиент обнращается с запросами к целевому сернверу,
используя полученное разрешенние. Последующие сообщения зашифнровываются с
помощью кода сеанса.
Более сложной является ситуанция, когда клиенту необходимо дать серверу право
пользоваться какими-либо ресурсами от его имени. В каченстве примера можно
привести ситуанцию, когда клиент посылает запрос серверу печати, которому
затем необнходимо получить доступ к файлам пользователя, расположенным на
файл-сервере. Кроме того, при входе в удаленную систему пользователю
необходимо, чтобы все идентификанционные процедуры выполнялись так же, как и
с локальной машины. Эта проблема решается установкой спенциальных флагов в
лразрешении на получение разрешения (дающих однноразовое разрешение на
доступ к серверу от имени клиента для первонго примера и обеспечивающих
постонянную работу в этом режиме для втонрого). Поскольку, как было сказано
выше, разрешения строго привязаны к сетевому адресу обладающей ими станции,
то при наличии подобных флагов сервер выдачи разрешений должен указать в
разрешении сетевой адрес того сервера, которому переданются полномочия на
действия от именни клиента.
Следует отметить также, что для всех описанных выше процедур иденнтификации
необходимо обеспечить донступ к базе данных 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/N 6693-70.
Trusted ORACLE7 Server Administrator's Guide. P/N d610-70.
Trusted ORACLE7 Technical Overview. P/N Al 4774.
Computer Security and Evaluations Criteria White Paper. P/NA12944.
SQL* Net v. 4 Administrator's Guide. P/N 6545-20
Multiprotocol Interchange Administrator's Guide. P/N 6544-10.
Журналы (№3-10) УСетиФ за 1998 год.
Журнал УОткрытые системыФ за 1997-1998 годы.