Механизм секретов TOTP генерирует временные учетные данные в соответствии со стандартом TOTP. Этот механизм также может использоваться для создания нового ключа и проверки паролей, сгенерированных с помощью этого ключа.
Механизм секретов TOTP может работать как в режиме генератора (аналогично Google Authenticator), так и в режиме провайдера (аналогично сервису входа Google.com).
Режим генератора
Механизм секретов TOTP может выступать в роли генератора TOTP-кодов. В этом режиме он может заменить традиционные генераторы TOTP, такие как Google Authenticator. Это обеспечивает дополнительный уровень безопасности, поскольку возможность генерации кодов защищена политиками, а весь процесс аудируется.
Настройка
Большинство механизмов секретов требуют предварительной настройки перед использованием. Эти шаги обычно выполняются оператором или инструментом управления конфигурацией.
Активируйте механизм секретов TOTP:
$ stronghold secrets enable totp
Success! Enabled the totp secrets engine at: totp/
По умолчанию механизм монтируется по имени. Чтобы активировать его по другому пути, используйте аргумент -path
.
Настройте именованный ключ. Имя этого ключа будет использоваться для его идентификации.
$ stronghold write totp/keys/my-key \
url="otpauth://totp/Stronghold:test@test.com?secret=Y64VEVMBTSXCYIWRSHRNDZW62MPGVU2G&issuer=Stronghold"
Success! Data written to: totp/keys/my-key
Параметр url
соответствует секретному ключу или значению из штрих-кода, предоставленного сторонним сервисом.
Использование
После настройки механизма и получения пользователем или системой токена Stronghold с соответствующими разрешениями можно генерировать учетные данные.
Сгенерируйте новый OTP-код, прочитав данные из /code
с указанием имени ключа:
$ stronghold read totp/code/my-key
Key Value
--- -----
code 260610
Используя ACL, можно ограничить доступ к механизму TOTP так, чтобы доверенные операторы могли управлять определениями ключей, а пользователи и приложения были ограничены в доступе к определенным учетным данным.
Режим провайдера
Механизм секретов TOTP также может выступать в роли провайдера TOTP. В этом режиме он может использоваться для генерации новых ключей и проверки паролей, созданных с помощью этих ключей.
Настройка
Активируйте механизм секретов TOTP:
$ stronghold secrets enable totp
Success! Enabled the totp secrets engine at: totp/
По умолчанию механизм монтируется по имени. Чтобы активировать его по другому пути, используйте аргумент -path
.
Создайте именованный ключ, используя параметр generate
. Это указывает Stronghold работать в режиме провайдера:
$ stronghold write totp/keys/my-user \
generate=true \
issuer=Stronghold \
account_name=user@test.com
Key Value
--- -----
barcode iVBORw0KGgoAAAANSUhEUgAAAMgAAADIEAAAAADYoy0BA...
url otpauth://totp/Stronghold:user@test.com?algorithm=SHA1&digits=6&issuer=Stronghold&period=30&secret=V7MBSK324I7KF6KVW34NDFH2GYHIF6JY
Ответ включает base64-кодированный штрих-код и OTP-ссылку. Оба варианта эквивалентны. Передайте их пользователю, который проходит аутентификацию с помощью TOTP.
Использование
Пользователь может проверить TOTP-код, сгенерированный сторонним приложением:
$ stronghold write totp/code/my-user code=886531
Key Value
--- -----
valid true