2. 2
План лекции
● Основные понятия IAA
● Проектирование по 15408.2
● Реализация ИАА
Цель лекции — получить представление о
проектировании и методах реализации ИАА
7. 7
Функциональные
требования
● FAU - аудит/протоколирование;
● FIA - идентификация/аутентификация;
● FRU - использование ресурсов
● FCO - неотказуемость
● FPR - приватность
● FDP - защита данных пользователя;
● FPT - защита функций безопасности
● FCS - криптографическая поддержка;
● FMT - управление безопасностью
● FTA - управление сеансами работы пользователей
● FTP - доверенный маршрут/канал
13. 13
Аутентификация
пользователя
● Действия до аутентификации
● Проверка уникальности секрета
● Механизмы одноразовых секретов
● Механизмы аутентификации (и их
сочетание)
● Повторная аутентификация
● Обратная связь с пользователем в момент
аутентификации
16. 16
Алгоритм Kerberos
● Действующие лица
– AS (Auth Server)
– TGS (Ticket Gateway Server)
– SS (Service Server)
– Client
● Основной принцип
– Двойное подтверждение каждого раунда
● Не затрагивает вопрос распределения
секретов
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
22. 22
Первый раунд
● Client ← ClientID, Secret
● Client Message A → AS
● AS Compare(Message A, DB)
● AS Message B → Client
● AS TGT → Client
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)
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)
36. 36
Третий раунд
● Client Message E → SS
● Client CST → SS
● SS CST → SessKey(SS), ClientID,
TimeStamp+2
● SS Message E → ClientID, TimeStamp+2
37. 37
Третий раунд
● Client Message E → SS
● Client CST → SS
● SS CST → SessKey(SS), ClientID,
TimeStamp+2
● SS [ClientID, TimeStamp] SessKey(SS) →
ClientID, TimeStamp+2
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)
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
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
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
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
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
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
46. 46
Протокол OpenID(XML-
based)
● Идентификация клиента на сервисе через
доверенную сторону
● Доверенная сторона определяется по логину
● Перенаправление на сайт доверенной
стороны для аутентификации
● Подтверждение доверия клиента сервису
● Перенаправление обратно с передачей
идентификационных данных сервису
● Сервис проверяет, что данные от
доверенной стороны
47. 47
Протокол Oauth (XML-
based)
● Протокол авторизации доступа третьей
стороны к ресурсу клиента на сервере
● Попутно может и использоваться как
протокол для первых двух стадий
● Схема работы:
– По запросу третьей стороны сервер выделяет ей
токен
– Токен отдается пользователю и должен быть им
подтвержден на сервере
– После подтверждения третья сторона запрашивает
новый токен и получает доступ с его помощью
48. 48
Single Sign-On (SSO)
● Совокупность методов для организации
прозрачного доступа к ресурсам без
дополнительного ввода пароля
● Требование: ресурсы должны доверять
единому провайдеру
● Возможно через Kerberos или cookie