Реферат: Безопасность в распределенных системах
Комитетпо науке и высшемуобразованию
МосковскийГосударственныйИнститут Электроникии Математики(ТУ).
Кафедра«Вычислительныемашины,
комплексы, системы и сети».
КУРСОВАЯРАБОТА
покурсу “Сетирабочих станций”.
Тема
Безопасностьв распределенныхсистемах
Выполнил студент группы С-102
Курбатов К.А.
Руководитель
Григорьева И.Б.
Подпись _____________________
Подпись _____________________
Москва1998.
Оглавление
Введение
Концентрацияинформациив компьютерах—аналогичноконцентрацииналичных денегв банках—заставляетвсе болееусиливатьконтроль вцелях защитыинформации.Юридическиевопросы, частнаятайна, национальнаябезопасность— всеэти соображениятребуют усилениявнутреннегоконтроля вкоммерческихи правительственныхорганизациях.Работы в этомнаправлениипривели к появлениюновой дисциплины: безопасностьинформации.Специалиств областибезопасностиинформацииотвечает заразработку, реализациюи эксплуатациюсистемы обеспеченияинформсционнойбезопасности, направленнойна поддержаниецелостности, пригодностии конфиденциальностинакопленнойв организацииинформации.В его функциивходит обеспечениефизической(техническиесредства, линиисвязи и удаленныекомпьютеры)и логической(данные, прикладныепрограммы, операционнаясистема) защитыинформационныхресурсов.
Сложностьсоздания системызащиты информацииопределяетсятем, что данныемогут бытьпохищены изкомпьютераи одновременнооставатьсяна месте; ценностьнекоторыхданных заключаетсяв обладанииими, а не в уничтоженииили изменении.
Проблемазащиты компьютерныхсетей отнесанкционированногодоступа приобрелаособую остроту.Развитиекоммуникационныхтехнологийпозволяетстроить сетираспределеннойархитектуры, объединяющиебольшое количествосегментов, расположенныхна значительномудалении другот друга. Всеэто вызываетувеличениечисла узловсетей, разбросанныхпо всему миру, и количестваразличных линийсвязи междуними, что, в своюочередь, повышаетриск несанкционированногоподключенияк сети для доступак важной информации.Особенно неприятнойтакая перспективаможет оказатьсядля банковскихили государственныхструктур, об-ладающихсекретнойинформациейкоммерческогоили любогодругого характера.В этом случаенеобходимыспециальныесредстваидентификациипользователейв сети, обеспечивающиедоступ к информациилишь в случаеполной уверенностив наличии упользователяправ доступак ней.
Существуетряд разработок, позволяющихс высокой степеньюнадежностиидентифицироватьпользователяпри входе всистему. Срединих, например, есть технологии, идентифицирующиепользователяпо сетчаткеглаза или отпечаткампальцев. Крометого, ряд системиспользуюттехнологии, основанныена примененииспециальногоидентификационногокода, постояннопередаваемогопо сети. Так, при использованииустройства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 Solaris2.3и т.п.) соответствуютклассу С.
В1—первый в классификацииуровень, в которомимеет местоконтроль доступаи переносаданных, основанныйна уровняхконфиденциальности.Для непривилегированныхпользователейиспользуютсяданные идентификациии аутентификациидля определенияуровня авторизациитекущегопользователя, которые ДостовернаяКомпьютернаяБаза (ТСВ—Trusted Computer Base)сравниваетсо своей базойданных пользователей, содержащейранги авторизациидля каждогопользователя.Если информация, указанная привхождении всвязь, корректнаи ее уровеньпризнан соответствующимзапросу, ТСВдопускаетпользователяв систему. Припопытке доступак файлам ТСВвыступаетв роли арбитра, при этом ТСВосновываетсяна уровнепользователяи метке файлаили объекта, к которымпользовательпытается получитьдоступ. Посколькууровень конфиденциальностипредставляетсяуровнем прозрачностии категориейдоступа, а разрешениена доступ кобъекту определяетсяконфиденциальностьюи объекта, исубъекта (внешнийп(отношению кТСВ), авторизациясубъекта становитсякомпонентомтребованийк авторизации.
ОранжеваяКнига фокусируетвнимание назаконченнывычислительныхсистемах иопределяетшесть ключевыхтребованийбезопасностиинформации:
1)система должнаиметь четкийсертификатбезопасности
2)каждый объект, ассоциированныйс этим сертификате! должен иметьметку контролядоступа;
3)индивидуальныепользователидолжны бытьидентифицированы;
4)система должнаподдерживатьсовокупностьсведенийнакапливающихсясо временеми используемыхдля упрощенпроверки средствзащиты;
5)система должнабыть открытадля независимойоценки безопасностиинформации;
6)система должнабыть постояннозащищена отизменененийконфигурацииили каких-либодругих изменений.
Современи выпускаОранжевой книгибыло опубликованомножестводругих документовс различнымицветами обложек.Эта «радужнаясерия» охватываетвопросы ИнтерпретацииДостоверныхСетей(Trusted Network Interdivtation), ИнтерпретацииДостоверныхБаз Данных(Trusted DataBase Interdivtation), руководствапо паролям, руководствопо избирательномуконтролю доступаи ПереченьОцененныхСредств.
НекоторыереализацииКорпорацияOracleразработалареляционнуюСУБД с обеспечениеммногоуровневойзащиты информации(Multi-Level Security—MLS)—Trusted ORACLE7, обладающую, в том числе, и всеми стандартнымивозможностямиORACLE7.
В прошломкомпании, которыежелали защититьсекретную иликонфиденциальнуюинформацию, вынуждены былииспользоватьдля этих целейспециальноеили выделенноеоборудование.С появлениемтаких продуктов, какTrusted ORACLE7, эта необходимостьотпала.Trusted ORACLE7позволяетразмещатьважную дляконкурентовинформациюв базе данных, в которой хранитсяобщая информация, без всякогориска, что какой-топользовательслучайно илипреднамереннополучит доступк секретнойили конфиденциальнойинформации.
TrustedORACLE7функционируетс использованиемдвух наборовправил: ИзбирательноеУправлениеДоступом(DAC— DiscretionaryAccess 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 Developer2000,Designer 2000и др. могутиспользоватьсясTrusted ORACLE7.
ПерспективыразвитияСпоявлениемOracle RDBMSверсии 7.2 разработчикиприложенийсмогут поставлятькодPL/SQLв свернутом(Wrapped)формате. Разработчик, который планируетраспространятьприложениянаPL/SQL, больше не долженотправлятьисходный кодPL/SQL.Скрытие исходногокода облегчаетзащиту интеллектуальнойсобственностии уменьшаетвозможныезлоупотребленияили искаженияприложений.
ЗащищенныеСУБД другихпоставщиковInformixпоставляетOnLine/Secure5.0, который, подобнодругим конкурирующимпродуктам вданной области, представляетсобой реляционнуюСУБД, обеспечивающуюмногоуровневуюзащиту информациив БД и работающуюс использованиемдвух наборовправилDACиMAC.
АналогичныемеханизмыподдерживаетSybaseв продуктеSecureSQL Server Version10.0.
СистемаKerberosСистемаKerberos(по-русски—Цербер), разработаннаяучастникамипроектаAthena, обеспечиваетзащиту сетиот несанкционированногодоступа, базируясьисключительнона программныхрешениях, ипредполагаетмногократнуюшифрованиепередаваемойпо сети управляющейинформации.Kerberosобеспечиваетидентификациюпользователейсети и серверов, не основываясьна сетевыхадресах иособенностяхоперационныхсистем рабочихстанций пользователей, не требуя физическойзащиты информациина всех машинахсети и исходяиз предположения, что пакеты всети могут бытьлегко прочитаныи при желанииизменены.
Клиент/Kerberos/ CepвepKerberosимеет структурутипа клиент/сервери состоит изклиентскихчастей, установленныхна все машинысети (рабочиестанции пользователейи серверы), и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, опубликоваласпецификациюпятой версиисистемы, основныеособенностикоторой отраженыв стандартеRFC1510.Эта модификация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 годы.