Протокол Kerberos, Your Private Network

Протокол Kerberos використовується в системах клієнт-сервер для аутентифікації та обміну ключовою інформацією, призначеною для встановлення захищеного каналу зв'язку між абонентами, що працюють як у локальній, так і в глобальних мережах. Цей протокол вбудований як основний протокол автентифікації в Microsoft Windows 2000 і UNIX BSD.

Kerberos забезпечує аутентифікацію у відкритих мережах, тобто при роботі Kerberos мається на увазі, що зловмисники можуть робити такі дії:

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

Відповідно, забезпечення безпеки в Kerberos побудовано таким чином, щоб нейтралізувати будь-які потенційні проблеми, які можуть виникнути через вказані дії зловмисників.

Основу Kerberos складає протокол аутентифікації та розподілу ключів Нідхема-Шредера з третьою довіреною стороною. Розглянемо цю версію протоколу. У протоколі Kerberos (версія 5) беруть участь дві сторони, що взаємодіють, і довірений сервер, що виконує роль Центру розподілу ключів.

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

Система Kerberos має структуру типу клієнт-сервер і складається з клієнтських частин, встановлених на всіх робочих станціях користувачів та серверах мережі та сервераKerberos, що знаходиться на якомусь (не обов'язково виділеному) комп'ютері. Клієнтами можуть бути користувачі, а також незалежні програми, які виконують такі дії, як завантаження віддалених файлів, відправлення повідомлень, доступ до БД, доступ до принтерів, отримання привілеїв адміністратора і т.п.

Сервер Kerberos KS можна розділити на дві частини: сервер аутентифікації AS (Authentication Server) і сервер служби видачі мандатів TGS (Ticket Granting Service). Фізично ці сервери можуть бути поєднані. Інформаційними ресурсами, необхідні клієнтам, управляє сервер інформаційних ресурсів RS. Передбачається, що сервери Kerberos надійно захищені від фізичного доступу зловмисників.

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

Kerberos також створює сеансові ключі (session key), які видаються клієнту та серверу (або двом клієнтам) та нікому більше. Сеансовий ключ використовується для шифрування повідомлень, якими обмінюються дві сторони, та знищується після закінчення сеансу.

Область дії системи Kerberos поширюється на ту ділянку мережі, всі користувачі якої зареєстровані під своїми іменами та паролями в базі даних сервера Kerberos.

Удосконалено процес ідентифікації та аутентифікації користувача в системі Kerberos версії 5 можна описати так.

network

Схема роботи протоколу Kerberos

Клієнт С, бажаючи отримати доступ до ресурсу мережі, надсилає запит серверу автентифікації AS. Сервер AS ідентифікує користувача за допомогою його імені та пароля та надсилає клієнту мандат (ticket) на доступ до сервера служби виділення мандатів TGS (Ticket-Granting Service).

Для використання конкретного цільового сервера інформаційних ресурсів RS клієнт З просить TGS мандат на звернення до цільового сервера RS. Якщо все гаразд, TGS дозволяє використання необхідних ресурсів мережі та надсилає відповідний мандат клієнту С.

Основні кроки роботи системи Kerberos (див. рис. 13.10):

1. З -> AS — запит клієнта до сервера AS дозволити звернутися до служби TGS. 2. AS -> З — дозвіл (мандат) від сервера AS клієнту Звернутися до служби TGS. 3. З -> TGS — запит клієнта С до служби TGS отримання допуску (мандату) до сервера ресурсів RS. 4. TGS -> З — дозвіл (мандат) від служби TGS клієнту З звернення до серверу ресурсів RS. 5. З -> RS — запит на інформаційний ресурс (послуги) у сервера RS. 6. RS -> С — підтвердження автентичності сервера RS та надання інформаційного ресурсу клієнта С.

Ця модель взаємодії клієнта з серверами може функціонувати лише за умови забезпечення конфіденційності та цілісності інформації, що передається. Без суворого забезпечення інформаційної безпеки клієнт С не може надсилати серверам AS, TGS та RS свої запити та отримувати дозволи на доступ до обслуговування в мережі.

Щоб уникнути можливості перехоплення та несанкціонованого використання інформації, Kerberos застосовує при передачі будь-якої керуючої інформації в мережі систему багаторазового шифрування з використанням комплексусекретних ключів (секретний ключ клієнта, секретний ключ сервера, секретні сеансові ключі пари клієнт-сервер). Kerberos може використовувати різні симетричні алгоритми шифрування та хеш-функції.

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