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

Post on 20-May-2015

501 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

1

Лекция №6

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

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

Авторизация

2

План лекции

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

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

3

Определения

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

4

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

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

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

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

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

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

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

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

5

Факторы

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

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

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

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

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

6

Пароли

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

7

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

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

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

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

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

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

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

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

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

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

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

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

8

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

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

(FIA_ATD)

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

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

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

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

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

9

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

10

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

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

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

11

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

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

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

12

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

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

действий

13

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

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

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

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

14

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

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

15

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

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

16

Алгоритм Kerberos

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

– TGS (Ticket Gateway Server)

– SS (Service Server)

– Client

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

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

17

Первый раунд

● Client ← ClientID, Secret

18

Первый раунд

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

AS

19

Первый раунд

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

20

Первый раунд

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

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

22

Первый раунд

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

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)

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)

25

Второй раунд

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

● Client TGT → TGS

26

Второй раунд

● Client Message C → TGS● Client TGT → TGS

27

Второй раунд

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

TimeStamp+1, …

28

Второй раунд

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

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

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)

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

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

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)

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)

34

Третий раунд

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

● Client CST → SS

35

Третий раунд

● Client Message E → SS● Client CST → SS

36

Третий раунд

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

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

37

Третий раунд

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

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

ClientID, TimeStamp+2

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)

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

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

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

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

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

44

Алгоритм Radius

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

– NAS

– 3A

– DB

● Протокол 3A

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

46

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

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

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

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

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

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

47

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

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

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

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

токен

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

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

48

Single Sign-On (SSO)

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

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

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

top related