Если вы когда-либо использовали аппаратный токен для подтверждения цифровых банковских транзакций или касались YubiKey для генерации кода входа, вы использовали технологию одноразовых паролей на основе HMAC (HOTP). Чтобы помочь вам понять, как использовать HOTP для защиты своих аккаунтов, мы разберем, как работает HOTP, каковы его преимущества и ограничения, а также сравним его с другими методами OTP.

Что такое HOTP?

HOTP расшифровывается как «одноразовый пароль на основе HMAC». Это метод двухфакторной аутентификации (2FA), который генерирует одноразовые коды входа по запросу.

HMAC, или код аутентификации сообщений на основе хеш-функций, представляет собой криптографический метод, в котором секретный ключ и хеш-функция используются для получения безопасного, защищенного от несанкционированного доступа значения. HOTP применяет HMAC вместе со счетчиком, чтобы гарантировать, что каждый код аутентификации уникален и может быть использован только один раз.

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

Как работает HOTP?

Аутентификация HOTP основана на двух общих компонентах: секретном ключе и счетчике. Как устройство пользователя, так и сервер аутентификации хранят эти значения и используют их для независимой генерации одного и того же одноразового кода.

Настройка: при настройке аппаратного токена секретный ключ передается между устройством и сервером приложения и надежно сохраняется на обеих сторонах.

Генерация кода: устройство использует криптографическую хеш-функцию под названием HMAC, чтобы объединить секретный ключ с текущим значением счетчика. Результатом является короткий, непредсказуемый одноразовый пароль.

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

Объяснение работы системы счетчиков HOTP

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

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

Аутентификация HOTP против других OTP

HOTP против OTP

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

HOTP против TOTP

Одноразовые пароли на основе времени (TOTP) автоматически генерируют новый код каждые 30–60 секунд. Самый распространенный пример TOTP — коды, генерируемые в приложениях для аутентификации. HOTP, напротив, генерирует новый код только по запросу, используя счетчик, а не таймер.

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

Однако HOTP более надежен в ситуациях, когда на устройствах установлены ненадежные часы. Например, на оборудовании в удаленных местоположениях со слабым интернет-подключением.

HOTP против кодов из СМС и электронных писем

Коды OTP, отправляемые по СМС и электронной почте, уязвимы для перехвата, поскольку они передаются по сотовым и интернет-сетям. HOTP генерирует коды на устройстве, что делает его более безопасным и обеспечивает стабильный доступ даже при перебоях в работе сети.

Каковы преимущества и ограничения HOTP?

Преимущества аутентификации HOTP

Использование HOTP в качестве предпочтительного метода OTP дает несколько преимуществ:

  • Работает офлайн: HOTP может работать в режиме офлайн, что делает его идеальным для местоположений с ограниченным доступом к интернету.
  • Нет ограничений по времени: срок действия кодов HOTP не истекает автоматически, поэтому вы можете спокойно ввести код.
  • Общепризнанный алгоритм: HOTP описан в стандарте RFC 4226(новое окно), что гарантирует совместимость программного обеспечения и аппаратных токенов различных производителей.
  • Меньше зависимостей: система HOTP на основе счетчиков не зависит от точности часов или постоянного подключения к сети, что делает ее работу более предсказуемой в определенных условиях.

Ограничения аутентификации HOTP

Как и у любой технологии, у HOTP есть особенности, которые следует учитывать:

  • Неограниченный срок действия: коды HOTP могут оставаться активными неопределенное время, если не будут сгенерированы новые коды. Это дает злоумышленникам больше времени на использование украденных кодов.
  • Синхронизация счетчиков: если вы будете генерировать коды, но не будете их использовать, счетчики на вашем устройстве и сервере могут рассинхронизироваться, что приведет к сбоям аутентификации.
  • Ручное управление: поскольку срок действия кодов не истекает автоматически, вам придется самостоятельно генерировать новые коды после каждого использования.

Сделайте шаг к более надежной защите паролей

Хотя HOTP не обеспечивает преимуществ безопасности в виде автоматического истечения срока действия кодов или удобства СМС-кодов, его система на основе счетчиков обладает уникальными достоинствами. Это проверенная система двухфакторной аутентификации с надежным офлайн-доступом, а отсутствие спешки может сделать ее предпочтительной для некоторых пользователей.
Чтобы легко управлять своими паролями и кодами двухфакторной аутентификации в одном зашифрованном местоположении, рекомендуем воспользоваться Proton Pass. Наш безопасный менеджер паролей со встроенным аутентификатором двухфакторной аутентификации надежно защищает все ваши учетные данные и коды двухфакторной аутентификации с помощью сквозного шифрования. Обеспечить безопасность и удобство вашей цифровой жизни еще никогда не было так просто.