Какие знаешь способы аутентификации пользователя

«Какие знаешь способы аутентификации пользователя» — вопрос из категории Безопасность, который задают на 27% собеседований Системный Аналитик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Вот основные методы аутентификации:

  1. Логин/пароль
    Самый распространённый способ. Пример хеширования пароля в Python:
    import bcrypt
    password = b"secure_password"
    hashed = bcrypt.hashpw(password, bcrypt.gensalt())
  1. Многофакторная аутентификация (MFA)
    Комбинация двух или более факторов (знание + владение + биометрия). Например, SMS-код + пароль.

  2. OAuth/OpenID Connect
    Делегированная аутентификация через провайдеров (Google, Facebook). Использует токены (JWT).

  3. Биометрия
    Отпечатки пальцев, распознавание лица (Face ID, Touch ID).

  4. API-ключи
    Для сервис-сервисной аутентификации. Пример заголовка:

    Authorization: Bearer api_key_123
  1. Сессии/Cookies
    Хранение идентификатора сессии на сервере и передача через cookie.

  2. Certificate-based
    Клиентские SSL-сертификаты для строгой аутентификации.

  3. Одноразовые пароли (TOTP/HOTP)
    Приложения типа Google Authenticator генерируют временные коды.