Similar presentations:
Взаємна автентифікації суб’єктів з довіреною третьою стороною
1. Захист інформації в телекомунікаційних системах
ВЗАЄМНА АВТЕНТИФІКАЦІЇ СУБ’ЄКТІВз довіреною третьою стороною
Лекція № 11
Розробив: доц., к.т.н. Золотарьов В.А.
Харківський національний університет радіоелектроніки
Факультет інфокомунікацій
Кафедра ІМІ
2. 1 Схема симетричної автентифікації з довіреною третьою мережею
KAB{IDA, XA},KBC{IDA,KAB}Абонент А
K
Генератор ПВП
А
AC
Абонент В
3
1
K AB {h ( X A )}
4
K AC { ID B , K AB , K BC { ID AC , K AB }}
ID,
A ID
B
2
Абонент С (арбітр)
K
K
AC
Генератор ПВП
С
K
BC
BC
3. Довірена третя сторона (арбітр) Chris
• володіє секретнимиключами КАС і КВС
відповідно для
взаємодії з Аlice і Воb.
4. Крок 1: Аlice бажає взаємодіяти з Воb та надсилає Chris
• повідомлення,що містить
ідентифікатори
суб'єктів
взаємодії, що
запитується IDA та
IDB.
5. Крок 2: Сhris отримавши повідомлення
формує сеансовий ключКАВ для взаємодії
суб'єктів Аlice і Воb і
посилає Аlice
зашифроване
повідомлення
КАС{IDB,KAB,KBC { IDB
KAB} }
6. Це зашифроване повідомлення
містить сеансовий ключдля роботи з Воb і
шифровку, яка по суті є
дозволом для Аlice на
роботу з Воb.
7. Крок 3: Аlice розшифрувавши отримане повідомлення, визначає ключ КАВ і дозвіл
Квс{IDA,KAB}який вона
розшифрувати не
може, оскільки
не знає ключа
Квс
8. 4 Після цього Воb формує відповідь на запит і відправляє Аlice повідомлення
КАВ {IDA, h (xA) }9. Крок 5: Аlice отримавши повідомлення
розшифровує йогоі перевіряє
відповідь Воb;
у разі позитивного
результату
перевірки процес
автентифікації
успішно
завершується.
10. 2 Протокол Керберос
11. Схема передбачає взаємодію між трьома програмними компонентами
• клієнтом С,• сервером Kerberos
• прикладним сервером S.
12. Kerberos
• Сервер Kerberos має доступ до бази даних,яка містить ідентифікатори і секретні ключі
об'єктів.
13. Запис кожного користувача і кожного прикладного сервера в базі даних Kerberos містить наступні компоненти
Ідентифікатор суб'єкта;
Секретний ключ суб'єкта;
Дату закінчення терміну дії секретного ключа;
Максимальний термін життя дозволів, які
видаються суб'єкту;
• Номер версії секретного ключа суб'єкта;
• Дату останньої модифікації запису;
• Іншу службову інформацію.
14. Програмне забезпечення сервера Kerberos
• розділене за своїми функціями на двічастини:
сервер автентифікації AS (Authentication
Server)
сервер видачі дозволів (квитків) TGS (Ticket
Granting Server).
15.
Клієнт СK AC
Генератор
ПВП С
1
3
5
Сервер S
6
2
K S ,TGS
4
Kerberos
Сервер AS
K C , AS
Генератор
ПВП AS
Сервер TGS
KTGS,AS
KTGS,AS
Генератор
ПВП TGS
K S ,TGS
16. Крок 1 Клієнт С посилає серверу автентифікації повідомлення, що містить :
• ідентифікатор клієнта IDC і ідентифікаторвидачі дозволів IDTGS,
• інформацію , призначену для ідентифікації
конкретного запиту:
час,
свій мережевий адрес та інше.
17. Крок 2 – 1: Сервер автентифікації здійснює
• пошук в базі даних Kerberos заідентифікатором клієнта і ідентифікатором
послуги,
• знаходить відповідні ключі
• формує сеансовий ключ для взаємодії
клієнта і сервера видачі дозволів.
18. Крок 2-2: Після цього сервер AS посилає відповідь клієнту. Ця відповідь містить дві шифровки:
Перша, отримана на секретному ключіклієнта , містить:
сеансовий ключ для роботи з сервером
видачі дозволів,
ідентифікатор клієнта,
термін життя дозволу клієнта на роботу з
сервером TGS.
19. Крок 2-3
• Друга шифровка, отримана на ключі , цедозвіл (ticket-granting ticket) клієнту на
взаємодію з cepвepoм TGS.
• До складу другої шифровки, яку клієнт
прочитати не в змозі (оскільки не знає
ключа) входять:
• ідентифікатори, сеансовий ключ і термін
життя цього дозволу .
20. Крок 3
• Отримавши повідомлення, клієнтрозшифровує першу його половину на
ключі , перевіряє позначку , дізнається
сеансовий ключ і термін життя дозволу на
роботу з сервером TGS.
• В результаті обміну повідомленнями з
сервером AS, клієнт отримує дозвіл на
роботу з сервером TGS.
21. Крок 3-2
• Потім клієнт посилає запит серверу видачідозволів.
• Повідомлення для сервера TGS включає в
себе дві шифровки.
• Перша, отримана на сеансовому ключі ,
включає в себе ідентифікатори ,
ідентифікатор запиту і тимчасову мітку .
• Друга – це «запечатаний» ключем дозвіл .
22. Крок 4 Сервер видачі дозволів
• розшифровує дозвіл• дізнається сеансовий ключ , за допомогою
якого читає першу частину прийнятого
повідомлення,
• перевіряє ідентифікатор і тимчасову мітку .
23. Крок 4-2 Упевнившись у справжності клієнта, сервер TGS
• виробляє сеансовий ключ для взаємодіїклієнта С і сервера S.
• На знанні цього ключа і ґрунтуватиметься в
майбутньому взаємна автентифікація С і S.
• Після цього відправляється повідомлення
клієнту, яке містить зашифровані на ключі ,
сеансовий ключ і термін життя дозволу клієнта
на роботу з сервером, а також саме цей дозвіл
, зашифрований на секретному ключі .
24. Крок 4-3 Після цього відправляється повідомлення клієнту, яке містить
• зашифровані на ключі , сеансовий ключ ітермін життя дозволу клієнта на роботу з
сервером,
• сам цей дозвіл , зашифрований на
секретному ключі .
25. Крок 5-1
• Клієнт, отримавши повідомлення,розшифровує першу його частину з якої
витягує сеансовий ключ для роботи з
сервером S і термін життя дозволу на
взаємодію з сервером S.
26. Крок 5-2
• Саме «запечатаний» ключем дозвіл клієнтпрочитати не може.
• Таким чином, в результаті обміну з
сервером видачі дозволів, клієнт отримує
дозвіл на подальшу взаємодію вже з
прикладним сервером.
27. Крок 5-3
• Нарешті, клієнт посилає серверу Sповідомлення, що містить свій
ідентифікатор зашифрований на
сеансовому ключі,
• тимчасову мітку
• також дозвіл , отриманий від сервера TGS.
28. Крок 6-1
• Прийнявши повідомлення від клієнта і«розпечатавши» дозвіл , прикладний
сервер дізнається сеансовий ключ і з його
допомогою проводить автентифікацію
клієнта, перевіряючи ідентифікатор і
тимчасову мітку .
29. Крок 6-2
• Відповідь сервера клієнту надсилається втому випадку, коли потрібна взаємна
автентифікація.
• Відповідь прикладного сервера в цьому
випадку містить зашифрований на ключі
результат перетворення мітки .
30.
КлієнтІдентифікатор клієнта
Мітка часу клієнта
Ідентифікатор сервера (TGS)
Запит до СА
СА
KBR_ERROR
Посилає повідомлення, що потребує
попереднього встановлення автентичності
Клієнт
Ідентифікатор клієнта
Локальний час
Зашифроване ключем користувача
Запит до СА
СА генерує сесійний ключ (Клієнт/TGS)
Копія сесійного ключа користувача
Ідентифікатор сервера (TGS)
Час життя квитка
Зашифроване ключем користувача
Відповідь СА
TGT
Клієнт
Ідентифікатор сервіса
TGT
Автентифікатор
Копія сесійного ключа
користувача для TGS
Ідентифікатор клієнта
Час життя квитка
Мітка часу ЦРК
IP адрес клієнта
Зашифроване ключем
TGS
Запит до TGS
TGS генерує сесійний ключ (Клієнт/сервіс)
Копія сесійного ключа користувача
Ідентифікатор сервісу
Час життя квитка
Зашифроване ключем СА
Відповідь TGS
Квиток сервіса
Клієнт
Квиток сервіса
Новий автентифікатор
Запит сервісу
Сервіс
Відповідь сервіса
Перевірка коректності оновлення
мітки часу
Мітка часу клієнта
Копія нового сесійного
ключа для сервісу
Ідентифікатор клієнта
Час життя квитка
Мітка часу ЦРК
IP адрес клієнта
Зашифроване ключем
сервісу
31. 3 Протокол Керберос 5
32. Крок 1
Клієнт С надсилає локальному серверуAS
Idc , Idtgs , Nc ,
Nc – величина, яка не повторюється в
жодному сеансі протоколу, випадкове число
33. Крок 2
Локальний сервер AS надсилає клієнтові СEk (Nc,Kc,as, ID tgs, tas), Tc,tgs
Tc,tgs – квітки для доступу для сервера
видачі квитків
34. Крок 2 можна записати як
{IDtgs, Ekc,tgs (Idc, Idtgs, tas, l, Kc,tgs)}
Tas – мітки часу
L – термін дії квитків
35. Кроки 1-2
Виконуються виключно під час першоговходження клієнта до системи.
36. Крок 3
Клієнт С надсилає локальному серверу TGSавтентифікатор для видачі квитків
Ac,tgs=Ekc,tgs (IDc, tc…),
IDtgs –rem, Nc,Tc,tgs
37. Remark - REM
• Коментар # пояснювальний текст упрограмі, макрокоманді або командному
файлі. Ігнорується під час виконання
38. Крок 4
Локальний сервер TGP надсилає клієнтові Сзашифроване повідомлення
Ek
c,tgs (
Kc,tgs, ID tgs-rem - remNc, ttgs,…)
Tc,tgs- rem,
де ttgs – мітка часу, Tc,tgs – квіток до доступу
39. Кроки 3-4
• Виконуються кожного разу коли клієнт Сбажає звернутися до серверу S, що
розташований у новому домені, до якого
клієнт не звертався.
40. Крок 5
Клієнт С звертається до віддаленого сервераTGS:
Ac,tgs-rem, Tc, tgs-rem, IDs – rem,Nc
41. Крок 6
Віддалений TGS сервер надсилає клієнтові С:Ekc,tgs-rem (Kc, s- rem , IDs
Tc,s-rem
- rem, Nc, ttgs-rem)
42. Кроки 5-6
• Виконуються кожного разу коли клієнт Сзвертається до нового сервера S у
віддаленому відносно нього домені
43. Крок 7
• Клієнт С надсилає віддаленому серверу SAc.s-rem =
Ekc,s-rem (IDc, tc, kc,s-rem, …)
44. Крок 8
Віддалений сервер S надсилає клієнтові СAs-rem,c =
Ekc,s-rem (IDs - rem, tc,+
L,ks-rem,c)
45. Крок 8
• Є необов`язковим та виконується, коли Свимагає від S взаємної автентифікації