фровані за допомогою ключа, відомого сервера. 4. Тепер ключ сеансу відомий і клієнту, і серверу. Він може бути використаний для аутентифікації клієнта, а також для аутентифікації сервера. Ключ сеансу можна використовувати для шифрування переданої в сеансі інформації або для взаємного обміну ключами подсеанса, призначеними для шифрування подальшої переданої інформації. Протокол Kerberos функціонує на одному або декількох серверах аутентифікації, що працюють на фізично захищеному хості. Сервери аутентифікації ведуть бази даних партнерів по обміну інформацією в мережі (користувачів, серверів і т. д.) та їх секретних ключів. Програмний код, що забезпечує функціонування самого протоколу і шифрування даних, знаходиться в спеціальних бібліотеках. Для того щоб виконувати аутентифікацію Kerberos для своїх транзакцій, додатки повинні зробити кілька звернень до бібліотек Kerberos. Процес аутентифікації складається з обміну необхідними повідомленнями з сервером аутентифікації Kerberos.
Протокол Kerberos складається з декількох субпротоколов (або протоколів обміну повідомленнями). Існує два методи, якими клієнт може запитати у сервера Kerberos інформацію, що ідентифікує певний сервер. Перший спосіб передбачає, що клієнт посилає AS простий текстовий запит квитка для конкретного сервера, а у відповідь отримує дані, зашифровані за допомогою свого секретного ключа. Як правило, в даному випадку клієнт посилає запит на квиток, що дозволяє отримати квиток (Ticket Granting Ticket, TGT), який надалі використовується для роботи з видає квитки сервером (Ticket Granting Server, TGS). Другий спосіб передбачає, що клієнт посилає TGT-квитки на TGS-сервер так само, як ніби він обмінюється інформацією з іншим сервером додатків, які вимагають аутентифікації Kerberos.
Інформація, ідентифікує сервер, може бути використана для ідентифікації партнерів по транзакції, що дозволить гарантувати цілісність переданих між ними повідомлень або зберегти в секреті передану інформацію.
Для ідентифікації партнерів по транзакції клієнт посилає квиток на сервер. Оскільки посилається квиток "відкритий" (деякі його частини зашифровані, але вони не завадять виконати посилку копії) і може бути перехоплений і використаний зловмисником, для підтвердження істинності партнера, що послав квиток, передається додаткова інформація, звана аутентифікатором. Вона зашифрована за допомогою ключа сеансу і містить часовідлік, що підтверджує, що повідомлення було згенеровано недавно і не є копією оригінальної посилки. Шифрування аутентифікатора за допомогою ключа сеансу доводить, що інформація була передана істинним партнером по обміну даними. Оскільки, крім запитувача партнера і сервера, ніхто не знає ключ сеансу (він ніколи не надсилається по мережі у відкритому вигляді), з його допомогою можна повністю гарантувати істинність партнера.
Цілісність повідомлень, якими обмінюються партнери, гарантується за допомогою ключа сеансу (Передається у квитку і міститься в інформації ідентифікації партнера). Цей підхід дозволяє знайти атаки типу посилки зловмисником перехопленою копії запиту і модифікації потоку даних. Це досягається генеруванням і пересилкою контрольної суми (хеш-функции) повідомлення клієнта, зашифрованою з допомогою ключа сеансу. Безпека і цілісність повідомлень, якими обмінюються партнери, може бути забезпечена шифруванням переданих даних з допомогою ключа сеансу, переданого у квитку і що міститься в інформації ідентифікації партнера.
Описана вище аутентифікація вимагає доступу на читання до бази даних Kerberos. Однак іноді записи бази даних можуть бути модифіковані. Це відбувається, наприклад, при додаванні нових партнерів по обміну інформацією або при зміні секретного ключа партнера. Зміни бази даних виконуються за допомогою спеціального протоколу обміну між клієнтом і сервером Kerberos, применяющимся та за підтримки декількох копій баз даних Kerberos.
Для нормальної роботи протоколу Kerberos необхідно, щоб кожен хост мережі мав годинник, що були приблизно синхронізовані з годинником інших хостів. Синхронізація необхідна, щоб було легше виявити факт передачі копії заздалегідь перехопленого повідомлення. Ступінь приблизності синхронізації може бути встановлена ​​індивідуально для кожного сервера. Сам протокол синхронізації серверів мережі повинен бути захищений від атак зловмисників. <В
Аутентифікація Kerberos в доменах Active Directory
У міру зростання і ускладнення комп'ютерних мереж підприємства, побудованих на основі систем Windows, стає необхідним застосування протоколу, який забезпечує більш досконалу і надійну аутентифікацію користувачів при доступі до розподілених ресурсів. В операційних системах Windows 2000 для цих цілей розпочато застосовуватися протокол аутентифікації Kerberos версії 5, що входить в систему безпеки доменів Windows 2000, тісно інтегровану з Active Directory. Реалізація протоколу Kerberos версії 5 в Windows 2000 заснована на RFC 1...