Time-based One-Time Password

Метод OTP, который использует Authelia, - это алгоритм одноразовых паролей на основе времени (TOTP) RFC6238, который является расширением алгоритма одноразовых паролей на основе HMAC (HOTP) RFC4226.

Файл конфигурации configuration.yml

totp:
  disable: false
  issuer: 'authelia.com'
  algorithm: 'sha1'
  digits: 6
  period: 30
  skew: 1
  secret_size: 32
  allowed_algorithms:
    - 'SHA1'
  allowed_digits:
    - 6
  allowed_periods:
    - 30
  disable_reuse_security_policy: false

Опции

Disable

Это отключает одноразовый пароль (TOTP), если установлено значение true.

issuer

Приложения, генерирующие одноразовые пароли, основанные на времени, обычно отображают эмитента, чтобы отличить приложения, зарегистрированные пользователем.

Authelia позволяет настраивать эмитента, чтобы отличить запись, созданную Authelia, от других.

algorithm

Алгоритм, используемый для ключа TOTP.

Возможные значения:

  • sha1
  • sha256
  • sha512

Изменение этого значения влияет только на вновь зарегистрированные ключи TOTP.

digits

Количество цифр, которые пользователь должен ввести для аутентификации. Обычно не рекомендуется изменять этот параметр, поскольку многие TOTP-приложения не поддерживают ничего, кроме 6. Хуже того, некоторые TOTP-приложения позволяют добавить ключ, но не используют правильное количество цифр, указанное в ключе.

Правильные значения - 6 или 8.

period

Период времени в секундах между поворотами клавиш или временной элемент TOTP.

Рекомендуется держать это значение равным 30, минимальное значение - 15.

skew

Количество временных одноразовых паролей по обе стороны от текущего действующего временного одноразового пароля, которые также должны считаться действительными. Значение по умолчанию 1 приводит к 3 действительным одноразовым паролям на основе времени. При значении 2 их будет 5.

secret_size

Длина в байтах генерируемых общих секретов. Минимальное значение - 20 (или 160 бит), а по умолчанию - 32 (или 256 бит).

allowed_algorithms

Аналогичен алгоритму с теми же ограничениями, за исключением того, что эта опция позволяет пользователям выбирать из этого списка. Этот список всегда будет содержать значение, заданное в опции алгоритма.

disable_reuse_security_policy

Отключает политику, которая предотвращает повторное использование кодов одноразовых паролей, основанных на времени. Это дополнительная мера безопасности, которая предотвращает повторное воспроизведение кодов. Это касается только тех кодов, которые используются в течение срока действия более одного раза.

Регистрация

Когда пользователи впервые регистрируют свое устройство TOTP, текущий эмитент, алгоритм и период используются для генерации ссылки TOTP и QR-кода. Эти значения сохраняются в базе данных для последующих проверок.

Входная валидация

Параметры конфигурации периода и перекоса влияют друг на друга. По умолчанию период равен 30, а перекос - 1.