Протокол аутентификації Kerberos
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

Протокол аутентификації Kerberos визначає взаємодію між клієнтом і мережевим сервісом аутентификації, відомим як KDC (Key Distribution Center). У Windows NT KDC використовується як сервіс аутентификація на всіх контроллерах домена. Домен Windows NT еквівалентний області Kerberos, але до неї звертаються як до домену. Реалізація протоколу Kerberos в Windows NT заснована на визначенні Kerberos в RFC1510, Клієнт Kerberos реалізований у вигляді ПФБ (постачальника функцій безпеки) Windows NT, заснованому на SSPI. Початкова аутентификація Kerberos інтегрована з процедурою WinLogon. Сервер Kerberos (KDC) інтегрований з існуючими службами безпеки Windows NT, що виконуються на контроллері домена. Для зберігання інформації про користувачів і групи він використовує службу каталогів Active Directory.

Протокол Kerberos посилює існуючі функції безпеки Windows NT і додає нові. Розглянемо останні детальніше.

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

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

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

 

Аутентификація NTLM

Перед тим, як розглянути процес аутентификації Kerberos, пригадаємо механізм, діючий в попередніх версіях Windows NT.

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

Якщо користувач має обліковий запис і привілеї доступу в систему, а введений ним пароль вірний, підсистема захисту створює об'єкт маркер доступу, що представляє користувача. Він порівняємо з ключем, що містить «посвідчення особи» користувача. Маркер доступу зберігає таку інформацію, як ідентифікатор захисту SID (Security ID), ім'я користувача і імена груп, до яких він належить.

Маркер доступу або його копія асоціюються з будь-яким процесом, що виконується користувачем (наприклад, відкриття або друк файла). Комбінація процес-маркер називається суб'єктом. Суб'єкти оперують над об'єктами Windows NT шляхом виклику системних сервісів. Коли суб'єкт здійснює доступ до захищеного об'єкта, (наприклад, файлу або каталогу), вміст маркера порівнюється з вмістом списку контролю доступу до об'єкта ACL (Access Control List) шляхом стандартної перевірки. При цьому визначається, чи можна надати суб'єкту право на виконання операції, що запитується. Ця ж процедура може при необхідності згенерувати повідомлення аудиту, що відображають результати спроб доступу.

Створений маркер передається процесу Win32 WinLogon. WinLogon наказує підсистемі Win32 створити процес для користувача, і маркер доступу приєднується до цього процесу. Після цього підсистема Win32 ініціює Windows NT Explorer, і на екрані з'являється відповідне вікно.

Основи Kerberos

Kerberos є протоколом аутентификації з спільним секретом - і користувачеві, і KDC відомий пароль (KDC зашифрований пароль). Протокол Kerberos визначає серію обмінів між клієнтами, KDC і серверами для отримання квитків Kerberos. Коли клієнт починає реєстрацію в Windows NT, постачальник функцій безпеки Kerberos отримує початковий квиток Kerberos TGT (Ticket grant ticket), заснований на зашифрованому представленні пароля. Windows NT зберігає TGT в кеші квитків на робочій станції, пов'язаній з контекстом реєстрації користувача. При спробі клієнтської програми звернутися до мережевої служби перевіряється кеш квитків: чи є в ньому вірний квиток для поточного сеансу роботи з сервером. Якщо такого квитка немає, на KDC посилається запит з TGT для отримання сеансового квитка, що дозволяє доступ до сервера.

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

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

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

Інтеграція Kerberos

Протокол Kerberos повністю інтегрований з системою безпеки і контролю доступу Windows NT. Початкова реєстрація в Windows NT забезпечується процедурою WinLogon, що використовує ПФБ Kerberos для отримання початкового квитка TGT. Інші компоненти системи, наприклад, Redirector, застосовують інтерфейс SSPI до ПФБ Kerberos для отримання сеансового квитка для видаленого доступу до файлів сервера SMB.

У протоколі Kerberos версії 5 для сеансових квитків визначено поле, що шифрується. Воно призначене для даних авторизації, однак використання цього поля визначається конкретними додатками, В Windows NT полі даних авторизації служить для зберігання ідентифікатора безпеки Security ID, що однозначно визначає користувача і членство в групі. Постачальник функцій безпеки Kerberos на серверний стороні використовує поле авторизації для створення маркера захищеного доступу (security access token), що представляє користувача в цій системі. Сервер, слідуючи моделі безпеки Windows NT, використовує цей маркер для доступу до локальних ресурсів, захищених списками контролю доступу.

Делегування аутентификації підтримується в протоколі Kerberos версії 5 шляхом використання в сеансових квитках прапорів proxy і forwarding. Сервер Windows NT застосовує делегування для отримання сеансового квитка на доступ від імені клієнта до іншого сервера.

Взаємодія Kerberos

Протокол Kerberos версії 5 реалізований в різних системах і використовується для одноманітності аутентификація в розподіленій мережі.

Під взаємодією Kerberos мається на увазі загальний протокол, що дозволяє обліковим записам аутентифікованих користувачів, що зберігаються в одній базі (що можливо тиражується) на всіх платформах підприємства, здійснювати доступ до всіх сервісів в гетерогенного середовищі. Взаємодія Kerberos засновується на наступних характеристиках:

• загальний протокол аутентификації користувача або сервісу на основне ім'я при мережевому підключенні;

• можливість визначення довірчих відносин між областями Kerberos і створення посилальний запитів квитків між областями;

• підтримка певних вимог в RFC 1510 до взаємодії, що відносяться до алгоритмів шифрування і контрольних сум, взаємної аутентификація і інших можливостей квитків;

• підтримка форматів маркера безпеки Kerberos версії 5 для встановлення контексту і обміну повідомленнями так, як це визначене робочою групою lETFCommon Authentication Technology.

Дата: 2019-07-30, просмотров: 43.