Глоссарий
Идентификация
Идентификация - процесс в результате которого система получит идентификатор, однозначно определяющий клиента в системе.
Аутентификация
Аутентификация - процедура проверки подлинности. Подлинность протзователя по верификации его пароля или любого другого секрентоно фактора, который известен только пользователю и может свидетельствовать о том, что перед нами точно тот пользователь. Подлинность системы при m2m взаиможействии по проверки id и секрета запрашавающей стороны с целью подтвердить (аутентификацировать) подлинность системы инициирующей запрос.
Авторизация
Авторизация - предоставление прав на выполнение операции/действия.
m2m взаиможействие
M2M - Machine-to-Machine
Взаиможействие между двумя машинами (сервисами, программами) в случае, когда инициатор взаимодействия не пользователь (человек), а машина.
Фактор аутентификации
Фактор аутентификации относится к уникальному элементу или фрагменту информации, который проверяет личность пользователя, пытающегося получить доступ к цифровой платформе или системе. Свойства которые делают человека уникальным.
- пароль
- секретная фраза
- пин код
- владение номером телефона, OTP
- владение email, одноразрвая ссылка из письма
etc...
Multi-Factor Authentication, MFA
Многофакторная аутентификация - Процесс аутентификации в котором используется больше одного фактора. Повышает достоверность процедуры проверки подлинности.
Двухфакторная аутентификация, 2FA
Подход когда для аутентификации используется два фактора. Обычно это логин/пароль и OPT (One-time password) в смс или реже в push уведомлениях.
One-time password, OTP
Одноразовый пароль — это пароль, действительный только для одного сеанса аутентификации. Используеься как дополниьльный фактор аутентификации. Реже как основной. Доставлется через CMC, push уведомления, email.
TOTP, Time-based One-Time Password
TOTP - OATH-алгоритм создания одноразовых паролей для защищённой аутентификации, являющийся улучшением HOTP (HMAC-Based One-Time Password Algorithm)
Пользователю предлагается отсканировать QR-код с помощью специального приложения для смартфона (Google Authenticator, Authy), которое в дальнейшем постоянно генерирует одноразовый пароль для пользователя.
hmacHash = HMAC-SHA-1 (секретный ключ, счетчик)
hmacHash[19] means 19th byte of the string.offset = hmacHash[19] & 0xf;
truncatedHash = (hmacHash[offset++] & 0x7f) << 24 | (hmacHash[offset++] & 0xff) << 16 | (hmacHash[offset++] & 0xff) << 8 | (hmacHashh[offset++] & 0xff);
finalOTP = (truncatedHash % (10 ^ numberOfDigitsRequiredInOTP));
TOTP - HOTP где в качестве счетчика используется времени. counter = currentUnixTime / 30
Single Sign-On
Технология единого входа. Позволяет пользователю перемещаться между различными приложениями не продя процедуру аутентификации в каждом из них. Пользователь один раз проходит аутентификацию, а все приложения, которые были интегрированы с SSO провайдером проводят аутентификацию без участия пользователя.
RBAC
Role-based access control - управление доступом на основе ролей.
ABAC
Attribute-based access control - управление доступом на основе свойств объекта, субь екта или окружения.
ReBAC
Relationship-based access control - управление доступом на основе отношений между объектами. По графу устанавливается связь между объектом и субъектом и определяет права доступа к конкретному объекту. Не заменяет детальной проверки по свойствам объекта по ABAC.
ACL
Access Control List - список управления доступом, который определяет, кто или что может получать доступ к объекту, и какие именно операции разрешено или запрещено выполнять субъекту.
Google Zanzibar
Zanzibar: Google’s Consistent, Global Authorization System