48
1 Лекция №6 Идентификация Аутентификация Авторизация

Идентификация, Аутентификация, Авторизация

Embed Size (px)

Citation preview

Page 1: Идентификация, Аутентификация, Авторизация

1

Лекция №6

Идентификация

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

Авторизация

Page 2: Идентификация, Аутентификация, Авторизация

2

План лекции

● Основные понятия IAA ● Проектирование по 15408.2● Реализация ИАА

Цель лекции — получить представление о проектировании и методах реализации ИАА

Page 3: Идентификация, Аутентификация, Авторизация

3

Определения

● Идентификация● Аутентификация● Авторизация● Секрет (данные аутентификации, credentials)

Page 4: Идентификация, Аутентификация, Авторизация

4

Основная Последовательность

1.Подключение к системе

2.Ввод логина

3.Идентификация

4.Ввод пароля

5.Аутентификация

6.Запрос ресурса

7.Авторизация

Page 5: Идентификация, Аутентификация, Авторизация

5

Факторы

● Однофакторная аутентификация● Многофакторная аутентификация

– Фактор владения

– Фактор знания

– Фактор атрибутивный

– Дополнительные факторы

Page 6: Идентификация, Аутентификация, Авторизация

6

Пароли

● Одноразовые пароли● Многоразовые пароли● Энтропия пароля● Другие метрики качества пароля (секрета)

Page 7: Идентификация, Аутентификация, Авторизация

7

Функциональные требования

● FAU - аудит/протоколирование;

● FIA - идентификация/аутентификация;

● FRU - использование ресурсов

● FCO - неотказуемость

● FPR - приватность

● FDP - защита данных пользователя;

● FPT - защита функций безопасности

● FCS - криптографическая поддержка;

● FMT - управление безопасностью

● FTA - управление сеансами работы пользователей

● FTP - доверенный маршрут/канал

Page 8: Идентификация, Аутентификация, Авторизация

8

FIA — Идентификация/ Аутентификация

● Семейства:– Определение атрибутов пользователя

(FIA_ATD)

– Спецификация секретов (FIA_SOS)

– Идентификация пользователя (FIA_UID)

– Аутентификация пользователя (FIA_UAU)

– Связывание пользователь-субъект (FIA_USB)

– Отказы аутентификации(FIA_AFL)

Page 9: Идентификация, Аутентификация, Авторизация

9

FIA — Идентификация/ Аутентификация

Page 10: Идентификация, Аутентификация, Авторизация

10

Определение атрибутов пользователя

● Список атрибутов безопасности у пользователей

● Часто итерируется

Page 11: Идентификация, Аутентификация, Авторизация

11

Спецификация секретов

● Метрика для проверки качества секретов пользователя (FIA_SOS.1)

● Механизм для создания секретов внутри ОО (FIA_SOS.2)

Page 12: Идентификация, Аутентификация, Авторизация

12

Идентификация пользователя

● Список действий до идентификации● Или требование идентификации до любых

действий

Page 13: Идентификация, Аутентификация, Авторизация

13

Аутентификация пользователя

● Действия до аутентификации● Проверка уникальности секрета● Механизмы одноразовых секретов● Механизмы аутентификации (и их

сочетание)● Повторная аутентификация● Обратная связь с пользователем в момент

аутентификации

Page 14: Идентификация, Аутентификация, Авторизация

14

Связывание пользователь-субъект

● Сопоставление атрибутов безопасности пользователя и его субъекта в системе

Page 15: Идентификация, Аутентификация, Авторизация

15

Отказы аутентификации

● Обработка отказов аутентификации● Действия при отказе● Количество отказов перед блокировкой

Page 16: Идентификация, Аутентификация, Авторизация

16

Алгоритм Kerberos

● Действующие лица– AS (Auth Server)

– TGS (Ticket Gateway Server)

– SS (Service Server)

– Client

● Основной принцип– Двойное подтверждение каждого раунда

● Не затрагивает вопрос распределения секретов

Page 17: Идентификация, Аутентификация, Авторизация

17

Первый раунд

● Client ← ClientID, Secret

Page 18: Идентификация, Аутентификация, Авторизация

18

Первый раунд

● Client ← ClientID, Secret● Client (ClientID, TimeStamp, ReqService) →

AS

Page 19: Идентификация, Аутентификация, Авторизация

19

Первый раунд

● Client ← ClientID, Secret● Client Message A → AS

Page 20: Идентификация, Аутентификация, Авторизация

20

Первый раунд

● Client ← ClientID, Secret● Client Message A → AS● AS Compare(Message A, DB)

Page 21: Идентификация, Аутентификация, Авторизация

21

Первый раунд

● Client ← ClientID, Secret● Client Message A → AS● AS Compare(Message A, DB)● AS [SessKey(TGS)] Secret → Client● AS [SessKey(TGS), ClientID, TimeStamp+1, ...]

TGSkey → Client

Page 22: Идентификация, Аутентификация, Авторизация

22

Первый раунд

● Client ← ClientID, Secret● Client Message A → AS● AS Compare(Message A, DB)● AS Message B → Client ● AS TGT → Client

Page 23: Идентификация, Аутентификация, Авторизация

23

Первый раунд

● Client ← ClientID, Secret● Client Message A → AS● AS Compare(Message A, DB)● AS Message B → Client ● AS TGT → Client● Client Message B → SessKey(TGS)

Page 24: Идентификация, Аутентификация, Авторизация

24

Первый раунд

● Client ← ClientID, Secret● Client Message A → AS● AS Compare(Message A, DB)● AS Message B → Client ● AS TGT → Client● Client [SessKey(TGS)] (Secret) →

SessKey(TGS)

Page 25: Идентификация, Аутентификация, Авторизация

25

Второй раунд

● Client [ClientID, TimeStamp+1] SessKey(TGS)→ TGS

● Client TGT → TGS

Page 26: Идентификация, Аутентификация, Авторизация

26

Второй раунд

● Client Message C → TGS● Client TGT → TGS

Page 27: Идентификация, Аутентификация, Авторизация

27

Второй раунд

● Client Message C → TGS● Client TGT → TGS● TGS TGT → SessKey(TGS), ClientID,

TimeStamp+1, …

Page 28: Идентификация, Аутентификация, Авторизация

28

Второй раунд

● Client Message C → TGS● Client TGT → TGS● TGS TGT → SessKey(TGS), ClientID,

TimeStamp+1, …● TGS Message C → ClientID, TimeStamp+1

Page 29: Идентификация, Аутентификация, Авторизация

29

Второй раунд

● Client Message C → TGS● Client TGT → TGS● TGS TGT → SessKey(TGS), ClientID,

TimeStamp+1, …● TGS Message C → ClientID, TimeStamp+1● TGS Compare(ClientID, TimeStamp+1)

Page 30: Идентификация, Аутентификация, Авторизация

30

Второй раунд

● Client Message C → TGS● Client TGT → TGS● TGS TGT → SessKey(TGS), ClientID, ...● TGS Message C → ClientID, TimeStamp+1● TGS Compare(ClientID, TimeStamp+1)● TGS [SessKey(SS), ClientID,

TimeStamp+2...]SSkey → Client ● TGS [SessKey(SS)]Sesskey(TGS)→ Client

Page 31: Идентификация, Аутентификация, Авторизация

31

Второй раунд

● Client Message C → TGS● Client TGT → TGS● TGS TGT → SessKey(TGS), ClientID, ...● TGS Message C → ClientID, TimeStamp +1● TGS Compare(ClientID, TimeStamp+1)● TGS CST → Client ● TGS Message D → Client

Page 32: Идентификация, Аутентификация, Авторизация

32

Второй раунд

● Client Message C → TGS● Client TGT → TGS● TGS TGT → SessKey(TGS), ClientID, …● TGS Message C → ClientID, TimeStamp+1● TGS Compare(ClientID, TimeStamp+1)● TGS CST → Client ● TGS Message D → Client● Client Message D → SessKey(SS)

Page 33: Идентификация, Аутентификация, Авторизация

33

Второй раунд

● Client Message C → TGS● Client TGT → TGS● TGS TGT → SessKey(TGS), ClientID, …● TGS Message C → ClientID, TimeStamp+1● TGS Compare(ClientID, TimeStamp+1)● TGS CST → Client ● TGS Message D → Client● Client [SessKey(SS)]Sesskey(TGS) →

SessKey(SS)

Page 34: Идентификация, Аутентификация, Авторизация

34

Третий раунд

● Client [ClientID, TimeStamp+2] SessKey(SS) → SS

● Client CST → SS

Page 35: Идентификация, Аутентификация, Авторизация

35

Третий раунд

● Client Message E → SS● Client CST → SS

Page 36: Идентификация, Аутентификация, Авторизация

36

Третий раунд

● Client Message E → SS● Client CST → SS● SS CST → SessKey(SS), ClientID,

TimeStamp+2● SS Message E → ClientID, TimeStamp+2

Page 37: Идентификация, Аутентификация, Авторизация

37

Третий раунд

● Client Message E → SS● Client CST → SS● SS CST → SessKey(SS), ClientID,

TimeStamp+2● SS [ClientID, TimeStamp] SessKey(SS) →

ClientID, TimeStamp+2

Page 38: Идентификация, Аутентификация, Авторизация

38

Третий раунд

● Client Message E → SS● Client CST → SS● SS CST → SessKey(SS), ClientID,

TimeStamp+2● SS Message E → ClientID, TimeStamp+2● SS Compare(ClientID, TimeStamp+2)

Page 39: Идентификация, Аутентификация, Авторизация

39

Третий раунд

● Client Message E → SS● Client CST → SS● SS CST → SessKey(SS), ClientID, …● SS Message E → ClientID, TimeStamp+2● SS Compare(ClientID, TimeStamp+2) ● SS [TimeStamp+3] SessKey(SS) → Client

Page 40: Идентификация, Аутентификация, Авторизация

40

Третий раунд

● Client Message E → SS● Client CST → SS● SS CST → SessKey(SS), ClientID, …● SS Message E → ClientID, TimeStamp+2● SS Compare(ClientID, TimeStamp+2) ● SS Message F → Client

Page 41: Идентификация, Аутентификация, Авторизация

41

Третий раунд

● Client Message E → SS● Client CST → SS● SS CST → SessKey(SS), ClientID, …● SS Message E → ClientID, TimeStamp+2● SS Compare(ClientID, TimeStamp+2) ● SS Message F → Client● Client Message F → TimeStamp+3

Page 42: Идентификация, Аутентификация, Авторизация

42

Третий раунд

● Client Message E → SS● Client CST → SS● SS CST → SessKey(SS), ClientID, …● SS Message E → ClientID, TimeStamp+2● SS Compare(ClientID, TimeStamp+2) ● SS Message F → Client● Client [TimeStamp+3] SessKey(SS) →

TimeStamp+3

Page 43: Идентификация, Аутентификация, Авторизация

43

Третий раунд

● Client Message E → SS● Client CST → SS● SS CST → SessKey(SS), ClientID, …● SS Message E → ClientID, TimeStamp+2● SS Compare(ClientID, TimeStamp+2) ● SS Message F → Client● Client Message F → TimeStamp+3● Client Work → SS

Page 44: Идентификация, Аутентификация, Авторизация

44

Алгоритм Radius

● Действующие лица:– Клиентское устройство

– NAS

– 3A

– DB

● Протокол 3A

Page 45: Идентификация, Аутентификация, Авторизация

45

Алгоритм Radius

● Client secret → NAS

● NAS auth → 3А

● 3A → DB

● 3A → NAS

● NAS access → 3A

● 3A → DB

● 3A → NAS

● NAS counts resourse usage

● 3A end usage → NAS

● NAS report → 3A

Page 46: Идентификация, Аутентификация, Авторизация

46

Протокол OpenID(XML-based)

● Идентификация клиента на сервисе через доверенную сторону

● Доверенная сторона определяется по логину● Перенаправление на сайт доверенной

стороны для аутентификации● Подтверждение доверия клиента сервису● Перенаправление обратно с передачей

идентификационных данных сервису● Сервис проверяет, что данные от

доверенной стороны

Page 47: Идентификация, Аутентификация, Авторизация

47

Протокол Oauth (XML-based)

● Протокол авторизации доступа третьей стороны к ресурсу клиента на сервере

● Попутно может и использоваться как протокол для первых двух стадий

● Схема работы:– По запросу третьей стороны сервер выделяет ей

токен

– Токен отдается пользователю и должен быть им подтвержден на сервере

– После подтверждения третья сторона запрашивает новый токен и получает доступ с его помощью

Page 48: Идентификация, Аутентификация, Авторизация

48

Single Sign-On (SSO)

● Совокупность методов для организации прозрачного доступа к ресурсам без дополнительного ввода пароля

● Требование: ресурсы должны доверять единому провайдеру

● Возможно через Kerberos или cookie