2. Общая схема работы доменной 2ФА
Двухфакторная аутентификация (2ФА, 2FA) — это метод идентификации пользователя в
каком-либо сервисе при помощи запроса аутентификационных данных двух разных типов.
Суть 2ФА: чтобы куда-то попасть, необходимо подтвердить тот факт, что вы — это вы,
причём при помощи двух факторов («ключей»), одним из которых вы владеете, а другой
знаете (держите в памяти).
Совместно токен и PIN-код формируют такую систему 2ФА: токен — «ключ», которым вы
владеете, а PIN-код к нему — «ключ», который вы знаете, т.е. в данном случае: 1-й фактор —
наличие сертификата пользователя на токене, выданного Удостоверяющим Центром (УЦ)
сертификации, а 2-й фактор — наличие доступа к сертификату пользователя на токене
(владение) — знание PIN-кода.
Процедура аутентификации пользователя в домене при использовании сертификата на
токене (смарт-карте):
1. предъявляется имя пользователя (в консоли или менеджеру входа в систему)
2. PAM-модуль (pam_sss) и служба sssd проверяют для этого имени пользователя
доступность аутентификации по токену, а именно:
a. сертификат на токене выпущен УЦ, которому мы доверяем
b. сертфикат действителен, т.е. не отозван
c. можно ли однозначно сопоставить доменного пользователя и сертификат
i. по умолчанию проверяется соответствие сертификата на токене и сертификата в
базе LDAP домена для этого пользователя
ii. если сертификата в базе LDAP домена нет, то сопоставление производится
согласно правилу maprule службы sssd
3. при успешном сопоставлении сертификата и доменного пользователя запускается
процесс PKINIT
a. выдаётся запрос на ввод PIN-кода
b. если PIN-код корректный, то проверяется соответствие всей цепочки сертификатов:
пользователя, домена (KDC, Центр распределения ключей) и УЦ
c. если цепочка сертификатов успешно проверена, то пользователю выдаётся билет
Kerberos и осуществляется вход в ОС
4. если проверки не пройдены и существует альтернативный способ аутентификации,
предлагается им воспользоваться, иначе вход в ОС отвергается
PKINIT — это механизм предварительной аутентификации (до приглашения ввести пароль)
для Kerberos 5, который использует сертификаты X.509 для аутентификации клиентов в
доменной инфраструктуре.
2