Перейти к содержимому

Одноразовые пароли (OTP) ​

Одноразовый пароль (OTP) — это временный код, используемый для двухфакторной аутентификации (2FA). KeePassium может хранить и генерировать одноразовые пароли на основе времени — наиболее распространённую схему в современном интернете.

Хранение OTP в базе паролей — это безопасный, переносимый и не зависящий от поставщика способ.

Как работают OTP ​

Этот раздел — краткий обзор того, как работают одноразовые пароли на основе времени.

Во время первоначальной настройки онлайн-сервис и клиентское приложение (например, KeePassium) обмениваются секретом. Это короткая последовательность символов, случайно сгенерированная сервером и переданная клиенту через QR-код. И сервер, и клиент сохраняют секрет — и на этом первоначальная настройка завершается.

При повседневном использовании, когда вам нужно войти на сервер, обе стороны — и сервер, и KeePassium — выполняют следующие шаги:

  • Подсчитывают, сколько времени прошло с 1 января 1970 года. Только каждой секунды учитываются более длительные интервалы, например 30 секунд. Иными словами, вычисляется количество полуминут, прошедших с опорной даты (счётчик).
  • Количество полуминут обрабатывается криптографическим алгоритмом, поведение которого зависит от секрета.
  • Результат сокращается до 6–8 цифр для удобства ввода.

INFO

Интервал времени, криптографический алгоритм и длина кода — это настраиваемые параметры, входящие в конфигурацию OTP. Полный стандарт доступен в RFC6238.

Наконец, когда вы вводите сгенерированный OTP в форму входа, сервер сравнивает ваш код со своим, сгенерированным локально. Если они совпадают, у сервера есть надёжное доказательство того, что клиент знает секрет — при этом сам секрет во время проверки не передавался.

Настройка OTP ​

Настроить OTP в KeePassium можно двумя способами: отсканировав QR-код или введя секрет вручную.

С помощью QR-кода ​

Это самый простой и быстрый способ:

  • Откройте редактор записи
  • Нажмите + вверху, затем Одноразовый пароль → Сканировать QR-код
  • Наведите камеру на QR-код, показанный целевым сайтом.
    • Также можно импортировать QR-код из фотографии.

Конфигурация будет сохранена в дополнительном поле с именем otp в виде otpauth URI (фактический стандарт для QR-кодов 2FA).

Пример QR-кода
Пример QR-кода с конфигурацией OTP

Если конфигурация OTP предоставлена в виде ссылки, начинающейся с otpauth://, KeePassium сможет обработать и её.

  • Откройте настройки устройства → Основные → Автозаполнение и пароли
  • Измените поле Настраивать коды в: на KeePassium

Теперь KeePassium будет открываться автоматически, когда вы нажмёте на ссылку с конфигурацией OTP или отсканируете OTP QR-код приложением «Камера». Затем приложение поможет вам импортировать конфигурацию OTP в нужную запись.

С помощью секретного ключа ​

Ручная настройка с секретным ключом пригодится, когда вы не можете отсканировать QR-код.

Скриншот: Не удаётся отсканировать код?
  • Выберите на сайте вариант ввода секретного ключа вручную
  • Скопируйте секретный ключ в буфер обмена
  • В KeePassium откройте редактор записи, нажмите + вверху → Одноразовый пароль → Ввести вручную
  • Вставьте секретный ключ и нажмите Готово

TIP

Пробелы и регистр не имеют значения. Abc и a B C — это один и тот же код.

Для Steam OTP ​

Сервис Steam компании Valve использует собственный формат TOTP. KeePassium умеет генерировать и коды TOTP для Steam.

Откройте запись Steam в базе паролей и создайте два дополнительных поля:

  • TOTP Settings со значением 30;S (30 — интервал обновления, а S означает, что коды TOTP должны иметь особый формат Steam)
  • TOTP Seed с секретным ключом (в формате Base32)

Извлечение секретного ключа Steam официально не поддерживается Valve, но возможно. Описание этой процедуры выходит за рамки данного документа.

Использование OTP ​

После настройки коды OTP отображаются как в списке записей, так и в просмотре записи.

Скриншот
OTP в списке записей

В списке записей коды OTP обычно скрыты за кнопками часы. Нажмите кнопку, чтобы показать OTP и скопировать его в буфер обмена.

Когда срок действия OTP подходит к концу, он начинает пульсировать цветом. Иногда лучше дождаться следующего кода, чтобы сервер точно его принял.

В просмотре записи коды OTP показаны сразу. Небольшая линия под кодом показывает время, оставшееся до обновления кода. Поле с конфигурацией OTP в просмотре записи скрыто. Чтобы получить к нему доступ, начните изменять запись.

Скриншот
OTP в просмотре записи

Совместимость ​

Коды OTP, настроенные в KeePassium, совместимы с KeePassXC и большинством мобильных приложений. Работает это и в обратную сторону: коды, настроенные в других приложениях, будут работать и в KeePassium.

Исключение — KeePass, которому нужен плагин KeePassOTP, чтобы понимать OTP, настроенные другими приложениями.

Устранение неполадок ​

Отсутствует кнопка настройки OTP ​

Ваш файл базы паролей использует устаревший формат, который не поддерживает дополнительные поля записей. Решение: обновите базу до формата KDBX.

Сгенерированные коды OTP не принимаются ​

  • Убедитесь, что системное время на устройстве установлено правильно. Даже отклонение в 30 секунд может сделать сгенерированные коды недействительными.
  • Проверьте введённый секретный ключ на возможные опечатки. Пробелы и регистр не имеют значения.