Безпека в розподілених системах

[ виправити ] текст може містити помилки, будь ласка перевіряйте перш ніж використовувати.

скачати

Комітет з науки та вищої освіти

Московський Державний Інститут Електроніки та Математики (ТУ).


Кафедра "Обчислювальні машини,
комплекси, системи та мережі ".


Курсова робота

з курсу "Мережі робочих станцій".


Тема

Безпека в розподілених системах


Виконав студент групи С-102
Курбатов К.А.


Керівник

Григор'єва І.Б.


Підпис _____________________

Підпис _____________________


Москва 1998.

Зміст


Вступ 4

Безпека в середовищі баз даних 6

Визначення потреби в захисті інформації 7

Шифрування 9

Деякі рішення 10

Поняття ідентифікації і аутентифікації в достовірних системах 13

Деякі реалізації 17

Перспективи розвитку 20

Захищені СУБД інших постачальників 20

Система Kerberos 20

Клієнт / Kerberos / Cepвep 21

Зв'язок між Kerberos-областями 29

Цільовий сервер 29

Kerberos-травень 1931

Висновок 32

Література 34


Введення

Концентрація інформації в комп'ютерах - аналогічно концентрації готівкових грошей в банках - змушує все більше посилювати контроль з метою захисту інформації. Юридичні питання, приватна таємниця, національна безпека - всі ці міркування вимагають посилення внутрішнього контролю в комерційних та урядових організаціях. Роботи в цьому напрямку привели до появи нової дисципліни: безпека інформації. Фахівець у галузі безпеки інформації відповідає за розробку, реалізацію та експлуатацію системи забезпечення інформсціонной безпеки, спрямованої на підтримку цілісності, придатності та конфіденційності накопиченої в організації інформації. У його функції входить забезпечення фізичної (технічні засоби, лінії зв'язку і віддалені комп'ютери) і логічної (дані, прикладні програми, операційна система) захисту інформаційних ресурсів.

Складність створення системи захисту інформації визначається тим, що дані можуть бути викрадені з комп'ютера і водночас залишатися на місці; цінність деяких даних полягає у володінні ними, а не в знищенні або зміну.

Проблема захисту комп'ютерних мереж від несанкціонованого доступу набула особливої ​​гостроти. Розвиток комунікаційних технологій дозволяє будувати мережі розподіленої архітектури, що об'єднують велику кількість сегментів, розташованих на значній відстані один від одного. Все це викликає збільшення числа вузлів мереж, розкиданих по всьому світу, і кількості різних ліній зв'язку між ними, що, у свою чергу, підвищує ризик несанкціонованого підключення до мережі для доступу до важливої ​​інформації. Особливо неприємною така перспектива може виявитися для банківських або державних структур, про-ладают секретною інформацією комерційного або будь-якого іншого характеру. У цьому випадку необхідні спеціальні засоби ідентифікації користувачів в мережі, що забезпечують доступ до інформації лише в разі повної впевненості в наявності у користувача прав доступу до неї.

Існує ряд розробок, що дозволяють з високим ступенем надійності ідентифікувати користувача при вході в систему. Серед них, наприклад, є технології, що ідентифікують користувача по сітківці ока або відбитками пальців. Крім того, ряд систем використовують технології, засновані на застосуванні спеціального ідентифікаційного коду, постійно переданого по мережі. Так, при використанні пристрою 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 Interdivtation), Інтерпретації Достовірних Баз Даних (Trusted DataBase Interdivtation), керівництва по паролях, керівництво по виборчому контролю доступу та Перелік оцінених Коштів.

Деякі реалізації

Корпорація Oracle розробила реляційну СУБД з забезпеченням багаторівневого захисту інформації (Multi-Level Security - MLS) - Trusted ORACLE7, що володіє, в тому числі, і всіма стандартними можливостями ORACLE7.

У минулому компанії, які бажали захистити секретну або конфіденційну інформацію, змушені були використовувати для цих цілей спеціальне або виділене обладнання. З появою таких продуктів, як Trusted ORACLE7, ця необхідність відпала. 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 не є вирішенням всіх проблем, пов'язаних зі спробами несанкціонованого доступу в мережу (наприклад, він безсилий, якщо хто-небудь дізнався пароль користувача), тому його наявність не виключає інших стандартних засобів підтримання відповідного рівня секретності в мережі.

Жодна комп'ютерна система захисту інформації не є абсолютно безпечною. Однак адекватні заходи захисту значно ускладнюють доступ до системи і знижують ефективність зусиль зловмисника (відношення середніх витрат на злом захисту системи і очікуваних результатів) так, що проникнення в систему стає недоцільним. Ключовим елементом у системі безпеки є адміністратор системи. Які б кошти ви не здобували, якість захисту буде залежати від здібностей і зусиль цієї людини.

Література

  1. Дьяченко В.І. "Теорія систем безпеки даних", ТОВ "Істок", М. - 1995р.

  2. Information Security Service DATAPRO International,

  3. McGraw-HTl, Inc.

  4. ORACLE7 Server Concepts Manual. P / N 6693-70.

  5. Trusted ORACLE7 Server Administrator's Guide. P / N d610-70.

  6. Trusted ORACLE7 Technical Overview. P / N Al 4774.

  7. Computer Security and Evaluations Criteria White Paper. P/NA12944.

  8. SQL * Net v. 4 Administrator's Guide. P / N 6545-20

  9. Multiprotocol Interchange Administrator's Guide. P / N 6544-10.

  10. Журнали (№ 3-10) "Мережі" за 1998 рік.

  11. Журнал "Відкриті системи" за 1997-1998 роки.


Додати в блог або на сайт

Цей текст може містити помилки.

Програмування, комп'ютери, інформатика і кібернетика | Реферат
68.9кб. | скачати


Схожі роботи:
Контактні явища в розподілених гетероструктуpax
Інтегруючі цифрові вольтметри, розподілених миттєвих результ
Основні джерела небезпеки для розподілених інформаційних систем
Автоматичне розпаралелювання програм для розподілених систем Статичний побудова розширеного
Безпека на вулиці Безпека на транспорті
Мобільні об єкти та мобільні агенти майбутнє розподілених обчислень
Інтегруючі цифрові вольтметри, розподілених миттєвих результатів вимірювань Цифрові вольтметри
Знання у системах спілкування
Оптимальність у системах керування
© Усі права захищені
написати до нас