Взаємна автентифікації суб’єктів з довіреною третьою стороною

Содержание

Слайд 2

1 Схема симетричної автентифікації з довіреною третьою мережею

1 Схема симетричної автентифікації з довіреною третьою мережею

Слайд 3

Довірена третя сторона (арбітр) Chris володіє секретними ключами КАС і КВС

Довірена третя сторона (арбітр) Chris

володіє секретними ключами КАС і КВС відповідно

для взаємодії з Аlice і Воb.
Слайд 4

Крок 1: Аlice бажає взаємодіяти з Воb та надсилає Chris повідомлення,

Крок 1: Аlice бажає взаємодіяти з Воb та надсилає Chris

повідомлення,

що містить ідентифікатори суб'єктів взаємодії, що запитується IDA та IDB.
Слайд 5

Крок 2: Сhris отримавши повідомлення формує сеансовий ключ КАВ для взаємодії

Крок 2: Сhris отримавши повідомлення

формує сеансовий ключ КАВ для взаємодії суб'єктів

Аlice і Воb і посилає Аlice зашифроване повідомлення
КАС{IDB,KAB,KBC { IDB KAB} }
Слайд 6

Це зашифроване повідомлення містить сеансовий ключ для роботи з Воb і

Це зашифроване повідомлення

містить сеансовий ключ для роботи з Воb і шифровку,

яка по суті є дозволом для Аlice на роботу з Воb.
Слайд 7

Крок 3: Аlice розшифрувавши отримане повідомлення, визначає ключ КАВ і дозвіл

Крок 3: Аlice розшифрувавши отримане повідомлення, визначає ключ КАВ і дозвіл

Квс{IDA,KAB}
який вона розшифрувати не може, оскільки не знає ключа Квс
Слайд 8

4 Після цього Воb формує відповідь на запит і відправляє Аlice

4 Після цього Воb формує відповідь на запит і відправляє Аlice

повідомлення

КАВ {IDA, h (xA) }

Слайд 9

Крок 5: Аlice отримавши повідомлення розшифровує його і перевіряє відповідь Воb;

Крок 5: Аlice отримавши повідомлення

розшифровує його і перевіряє відповідь Воb;


у разі позитивного результату перевірки процес автентифікації успішно завершується.
Слайд 10

2 Протокол Керберос

2 Протокол Керберос

Слайд 11

Схема передбачає взаємодію між трьома програмними компонентами клієнтом С, сервером Kerberos прикладним сервером S.

Схема передбачає взаємодію між трьома програмними компонентами

клієнтом С,
сервером Kerberos


прикладним сервером S.
Слайд 12

Kerberos Сервер Kerberos має доступ до бази даних, яка містить ідентифікатори і секретні ключі об'єктів.

Kerberos

Сервер Kerberos має доступ до бази даних, яка містить ідентифікатори і

секретні ключі об'єктів.
Слайд 13

Запис кожного користувача і кожного прикладного сервера в базі даних Kerberos

Запис кожного користувача і кожного прикладного сервера в базі даних Kerberos

містить наступні компоненти

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

Слайд 14

Програмне забезпечення сервера Kerberos розділене за своїми функціями на дві частини:

Програмне забезпечення сервера Kerberos

розділене за своїми функціями на дві частини:
сервер

автентифікації AS (Authentication Server)
сервер видачі дозволів (квитків) TGS (Ticket Granting Server).
Слайд 15

Слайд 16

Крок 1 Клієнт С посилає серверу автентифікації повідомлення, що містить :

Крок 1 Клієнт С посилає серверу автентифікації повідомлення, що містить :

ідентифікатор

клієнта IDC і ідентифікатор видачі дозволів IDTGS,
інформацію , призначену для ідентифікації конкретного запиту:
час,
свій мережевий адрес та інше.
Слайд 17

Крок 2 – 1: Сервер автентифікації здійснює пошук в базі даних

Крок 2 – 1: Сервер автентифікації здійснює

пошук в базі даних Kerberos

за ідентифікатором клієнта і ідентифікатором послуги,
знаходить відповідні ключі
​​формує сеансовий ключ для взаємодії клієнта і сервера видачі дозволів.
Слайд 18

Крок 2-2: Після цього сервер AS посилає відповідь клієнту. Ця відповідь

Крок 2-2: Після цього сервер AS посилає відповідь клієнту. Ця відповідь

містить дві шифровки:

Перша, отримана на секретному ключі клієнта , містить:
сеансовий ключ для роботи з сервером видачі дозволів,
ідентифікатор клієнта,
термін життя дозволу клієнта на роботу з сервером TGS.

Слайд 19

Крок 2-3 Друга шифровка, отримана на ключі , це дозвіл (ticket-granting

Крок 2-3

Друга шифровка, отримана на ключі , це дозвіл (ticket-granting ticket)

клієнту на взаємодію з cepвepoм TGS.
До складу другої шифровки, яку клієнт прочитати не в змозі (оскільки не знає ключа) входять:
ідентифікатори, сеансовий ключ і термін життя цього дозволу .
Слайд 20

Крок 3 Отримавши повідомлення, клієнт розшифровує першу його половину на ключі

Крок 3

Отримавши повідомлення, клієнт розшифровує першу його половину на ключі ,

перевіряє позначку , дізнається сеансовий ключ і термін життя дозволу на роботу з сервером TGS.
В результаті обміну повідомленнями з сервером AS, клієнт отримує дозвіл на роботу з сервером TGS.
Слайд 21

Крок 3-2 Потім клієнт посилає запит серверу видачі дозволів. Повідомлення для

Крок 3-2

Потім клієнт посилає запит серверу видачі дозволів.
Повідомлення для

сервера TGS включає в себе дві шифровки.
Перша, отримана на сеансовому ключі , включає в себе ідентифікатори , ідентифікатор запиту і тимчасову мітку .
Друга – це «запечатаний» ключем дозвіл .
Слайд 22

Крок 4 Сервер видачі дозволів розшифровує дозвіл дізнається сеансовий ключ ,

Крок 4 Сервер видачі дозволів

розшифровує дозвіл
дізнається сеансовий ключ ,

за допомогою якого читає першу частину прийнятого повідомлення,
перевіряє ідентифікатор і тимчасову мітку .
Слайд 23

Крок 4-2 Упевнившись у справжності клієнта, сервер TGS виробляє сеансовий ключ

Крок 4-2 Упевнившись у справжності клієнта, сервер TGS

виробляє сеансовий ключ

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

Крок 4-3 Після цього відправляється повідомлення клієнту, яке містить зашифровані на

Крок 4-3 Після цього відправляється повідомлення клієнту, яке містить

зашифровані на

ключі , сеансовий ключ і термін життя дозволу клієнта на роботу з сервером,
сам цей дозвіл , зашифрований на секретному ключі .
Слайд 25

Крок 5-1 Клієнт, отримавши повідомлення, розшифровує першу його частину з якої

Крок 5-1

Клієнт, отримавши повідомлення, розшифровує першу його частину з якої витягує

сеансовий ключ для роботи з сервером S і термін життя дозволу на взаємодію з сервером S.
Слайд 26

Крок 5-2 Саме «запечатаний» ключем дозвіл клієнт прочитати не може. Таким

Крок 5-2

Саме «запечатаний» ключем дозвіл клієнт прочитати не може.
Таким чином,

в результаті обміну з сервером видачі дозволів, клієнт отримує дозвіл на подальшу взаємодію вже з прикладним сервером.
Слайд 27

Крок 5-3 Нарешті, клієнт посилає серверу S повідомлення, що містить свій

Крок 5-3

Нарешті, клієнт посилає серверу S повідомлення, що містить свій ідентифікатор

зашифрований на сеансовому ключі,
тимчасову мітку
також дозвіл , отриманий від сервера TGS.
Слайд 28

Крок 6-1 Прийнявши повідомлення від клієнта і «розпечатавши» дозвіл , прикладний

Крок 6-1

Прийнявши повідомлення від клієнта і «розпечатавши» дозвіл , прикладний сервер

дізнається сеансовий ключ і з його допомогою проводить автентифікацію клієнта, перевіряючи ідентифікатор і тимчасову мітку .
Слайд 29

Крок 6-2 Відповідь сервера клієнту надсилається в тому випадку, коли потрібна

Крок 6-2

Відповідь сервера клієнту надсилається в тому випадку, коли потрібна взаємна

автентифікація.
Відповідь прикладного сервера в цьому випадку містить зашифрований на ключі результат перетворення мітки .
Слайд 30

Слайд 31

3 Протокол Керберос 5

3 Протокол Керберос 5

Слайд 32

Крок 1 Клієнт С надсилає локальному серверу AS Idc , Idtgs

Крок 1

Клієнт С надсилає локальному серверу AS
Idc , Idtgs , Nc

,
Nc – величина, яка не повторюється в жодному сеансі протоколу, випадкове число
Слайд 33

Крок 2 Локальний сервер AS надсилає клієнтові С Ek (Nc,Kc,as, ID

Крок 2

Локальний сервер AS надсилає клієнтові С
Ek (Nc,Kc,as, ID tgs,

tas), Tc,tgs
Tc,tgs – квітки для доступу для сервера видачі квитків
Слайд 34

Крок 2 можна записати як {IDtgs, Ekc,tgs (Idc, Idtgs, tas, l,

Крок 2 можна записати як

{IDtgs, Ekc,tgs (Idc, Idtgs, tas, l, Kc,tgs)}
Tas

– мітки часу
L – термін дії квитків
Слайд 35

Кроки 1-2 Виконуються виключно під час першого входження клієнта до системи.

Кроки 1-2

Виконуються виключно під час першого входження клієнта до системи.

Слайд 36

Крок 3 Клієнт С надсилає локальному серверу TGS автентифікатор для видачі

Крок 3

Клієнт С надсилає локальному серверу TGS автентифікатор для видачі квитків
Ac,tgs=Ekc,tgs

(IDc, tc…),
IDtgs –rem, Nc,Tc,tgs
Слайд 37

Remark - REM Коментар # пояснювальний текст у програмі, макрокоманді або

Remark - REM

Коментар # пояснювальний текст у програмі, макрокоманді або командному

файлі. Ігнорується під час виконання
Слайд 38

Крок 4 Локальний сервер TGP надсилає клієнтові С зашифроване повідомлення Ekc,tgs

Крок 4

Локальний сервер TGP надсилає клієнтові С зашифроване повідомлення
Ekc,tgs (Kc,tgs, ID

tgs-rem - remNc, ttgs,…)
Tc,tgs- rem,
де ttgs – мітка часу, Tc,tgs – квіток до доступу
Слайд 39

Кроки 3-4 Виконуються кожного разу коли клієнт С бажає звернутися до

Кроки 3-4

Виконуються кожного разу коли клієнт С бажає звернутися до серверу

S, що розташований у новому домені, до якого клієнт не звертався.
Слайд 40

Крок 5 Клієнт С звертається до віддаленого сервера TGS: Ac,tgs-rem, Tc, tgs-rem, IDs – rem,Nc

Крок 5

Клієнт С звертається до віддаленого сервера TGS:
Ac,tgs-rem, Tc, tgs-rem, IDs

– rem,Nc
Слайд 41

Крок 6 Віддалений TGS сервер надсилає клієнтові С: Ekc,tgs-rem (Kc, s-

Крок 6

Віддалений TGS сервер надсилає клієнтові С:
Ekc,tgs-rem (Kc, s- rem ,

IDs - rem, Nc, ttgs-rem) Tc,s-rem
Слайд 42

Кроки 5-6 Виконуються кожного разу коли клієнт С звертається до нового

Кроки 5-6

Виконуються кожного разу коли клієнт С звертається до нового сервера

S у віддаленому відносно нього домені
Слайд 43

Крок 7 Клієнт С надсилає віддаленому серверу S Ac.s-rem = Ekc,s-rem (IDc, tc, kc,s-rem, …)

Крок 7

Клієнт С надсилає віддаленому серверу S
Ac.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)

Крок 8

Віддалений сервер S надсилає клієнтові С
As-rem,c =
Ekc,s-rem (IDs - rem,

tc,+
L,ks-rem,c)