Схема роботи Kerberos 5
СА перевіряє, чи є такий клієнт в базі. Якщо є, то назад СА відправляє повідомлення (AS_REP), що включає:* Сесійна ключ Клієнт / TGS, ідентифікатор TGS та час життя мандата, зашифровані секретним ключем клієнта. Якщо політика KDC вимагає попередньої аутентифікації, то користувач отримує повідомлення KRB_ERROR, у відповідь на яке посилає повторний запит, але вже c даними для встановлення… Читати ще >
Схема роботи Kerberos 5 (реферат, курсова, диплом, контрольна)
Схема роботи Kerberos 5 в даний час відбувається наступним чином:
Вхід користувача в систему:
- 1. Користувач вводить ім'я і пароль на клієнтській машині.
- 2. Клієнтська машина виконує над паролем односторонню функцію (зазвичай хеш), і результат стає секретним ключем клієнта / користувача.
Аутентифікація клієнта:
- 1. Клієнт відсилає запит (AS_REQ) на СА для отримання аутентифікаційних вірчих даних і подальшого їх надання TGS сервера (згодом він буде їх використовувати для отримання мандатів без додаткових запитів на застосування секретного ключа користувача.) Даний запит містить:
- * Ідентифікатор клієнта, його мітка часу і ідентифікатор сервера.
- 2. Якщо політика KDC вимагає попередньої аутентифікації, то користувач отримує повідомлення KRB_ERROR, у відповідь на яке посилає повторний запит, але вже c даними для встановлення автентичності.
- 3. СА перевіряє, чи є такий клієнт в базі. Якщо є, то назад СА відправляє повідомлення (AS_REP), що включає:
- * Сесійна ключ Клієнт / TGS, ідентифікатор TGS та час життя мандата, зашифровані секретним ключем клієнта.
- * TGT (який включає ідентифікатор і мережеву адресу клієнта, мітку часу KDC, період дії мандата і сесійний ключ Клієнт / TGS), зашифрований секретним ключем TGS.
Якщо ж ні, то клієнт отримує нове повідомлення, яке говорить про виникнення помилки.
Отримавши повідомлення, клієнт розшифровує свою частину для отримання сесійної Ключа Клієнт / TGS. Цей сесійний ключ використовується для подальшого обміну з сервером TGS. (Важливо: Клієнт не може розшифрувати TGT, так як воно зашифровано секретним ключем TGS) У цей момент у користувача достатньо даних, щоб авторизуватися на TGS.
Авторизація клієнта на TGS:
- 1. Для запиту сервісу клієнт формує запит на TGS (TGS_REQ) містить наступні дані:
- * TGT, отриманий раніше і ідентифікатор сервісу.
- * Аутентифікатор (складений з ID клієнта і тимчасового штампа), зашифрований на Сесійній Ключі Клієнт/TGS.
- 2. Після отримання TGS_REQ, TGS витягує з нього TGT і розшифровує його використовуючи секретний ключ TGS. Це дає йому Сесійна Ключ Клієнт/TGS. Їм він розшифровує аутентифікатор. Потім він генерує сесійний ключ клієнт/сервіс і посилає відповідь (TGS_REP) включає:
- * мандат сервісу (який містить ID клієнта, мережеву адресу клієнта, мітку часу KDC, час дії мандата і Сесійна Ключ клієнт/сервіс) зашифрований секретним ключем сервісу.
- * Сесійна ключ клієнт/сервіс, ідентифікатор сервісу і час життя мандата, зашифровані на Сесійній Ключі Client/TGS.
Запит сервісу клієнтом:
- 1. Після отримання TGS_REP, у клієнта достатньо інформації для авторизації на сервісі. Клієнт з'єднується з ним і посилає повідомлення містить:
- * Зашифрований мандат сервісу отриманий раніше.
- * Новий аутентифікатор, зашифрований на сесійному ключі клієнт/ сервіс, і включає ID клієнта і мітку часу.
- 2. Сервіс розшифровує мандат використовуючи свій секретний ключ і отримує сесійний ключ клієнт/сервіс. Використовуючи новий ключ, він розшифровує аутентифікатор і посилає клієнтові наступне повідомлення для підтвердження готовності обслужити клієнта і показати, що сервер дійсно є тим, за кого себе видає:
- * мітку часу, зазначену клієнтом + 1, зашифровану на сесійному ключі клієнт/сервіс.
- 3. Клієнт розшифровує підтвердження, використовуючи сесійний ключ клієнт/сервіс і перевіряє, чи дійсно мітка часу коректно оновлена. Якщо це так, то клієнт може довіряти сервера і може почати посилати запити на сервер.
- 4. Сервер надає клієнту необхідний сервіс