Lt304888.ru

Туристические услуги

HOTP

19-05-2023

Перейти к: навигация, поиск

HOTP (HMAC-Based One-Time Password Algorithm) — алгоритм защищенной аутентификации с использованием одноразового пароля (One Time Password, OTP). Основан на HMAC (SHA-1). Является алгоритмом односторонней аутентификации, а именно сервер производит аутентификацию клиента.

История

Алгоритм впервые формально описан командой IETF в декабре 2005.[1][2] Он стал первым реально успешным проектом Initiative for Open Authentication (OATH).[3] Алгоритмы генерации одноразовых паролей получили в это время широкую популярность, в связи с резким развитием мобильной индустрии. Требовался надежный алгоритм, простой в плане реализации. В 2008 году HOTP подарил жизнь более сильному алгоритму Time-based One-time Password Algorithm (TOTP), который во многом наследует черты родителя. В сентябре 2010 на основе TOTP был разработан мощный алгоритм аутентификации OATH Challenge-Response Algorithm (OCRA).[3]

Аналоги и отличия

HOTP генерирует ключ на основе разделяемого секрета и не зависящего от времени счетчика. Поэтому, в отличие от алгоритмов, использующих для вычисления пароля таймер, HOTP защищен от рассинхронизации передающих устройств или слишком большого расстояния между ними (такого расстояния, что ответ от получателя приходит позже, чем истечет время валидности пароля).[1] Алгоритм так же внес инновации в технологию генерации одноразовых паролей. Стойкая по тем временам хеш-функция SHA-1 сочеталась с нетривиальным решением наличия счетчика событий. Эти черты подняли HOTP на один уровень с такими проверенными временем алгоритмами как S/KEY.[3]

Принцип работы

Введем обозначения:

  •  — Секретный ключ, известный только клиенту и серверу;
  •  — Счетчик, длинной 8 бит. Обязательно синхронизирован между сторонами.
  •  — Количество цифр в генерируемом пароле. Зависит от реализации.

Общая схема работы :

Подробнее:

Генерируем 20 байт информации:

  • HMAC-SHA-1(K,C)

Определенным образом выбираем 4 байта из имеющихся 20:

  • Trancate(HMAC-SHA-1(K,C))

Обрезаем сообщение до нужного размера:

  • toNumber(Trancate(HMAC-SHA-1(K,C))) mod 10^D

Реализации

Объединение OATH, стандартизовав HOTP, не давало никаких указаний по поводу реализации алгоритма. Напротив, свобода разработчиков позволяет находить все новые решения, стремясь удовлетворить потребности заказчика и внести инновационный вклад в технологию OTP.[1][2][4]

Распространенную реализации HOTP в java можно найти в пакете org.jboss.security.otp, который входит в стандартные библиотеки свободно распространяемого веб-сервера Apache Jboss.

Ещё реализацию предоставляет проект OATH Toolkit, библиотека liboath которого создавать пароли в режиме HOTP и TOTP.[5]

Большое количество слабо интеллектуальных устройств специально созданных для генерации паролей или передачи данных с помощью HOTP и TOTP. (Feitian,SecuTech,SmartDisplayer,Vasco,Yubico) Используется так же в домашних сетях для управления периферией с помощью пульта дистанционного управления или мобильного телефона.[2]

В дополнение

HOTP основан на SHA-1, в которой была найдена коллизионная уязвимость, однако, алгоритм использует только факт случайности числа, посчитанного на её основе, поэтому наличие коллизий непосредственно не влияет на его работу.[1][4]

Односторонняя аутентификация подразумевает, что клиент по потребности пытается установить связь. После чего сервер отправляет запрос обратно клиенту и проверяет его ответ на подлинность. Модификация алгоритма OCRA позволяет так же и пользователю провести аутентификацию сервера.[3]

Ссылки

  • RFC 4226
  • HOTP-Based User Authentication Scheme in Home Networks

Литература

  1. 1 2 3 4 «Algorithm agility and OATH» by Burt Kaliski, RSA Laboratories.May 19, 2005.
  2. 1 2 3 «HOTP-Based User Authentication Scheme in Home Networks» by Binod Vaidya, Jong Hyuk Park and Joel J.P.C. Rodrigues. 2009
  3. 1 2 3 4 «OATH: yesterday, today, and tomorrow» by Nathan Willis, December 15, 2010.
  4. 1 2 «Attacks on SHA-1» by Initiative for Open AuTHentication,March 2, 2005.
  5. «Introducing the OATH Toolkit» by Simon Josefsson, 2011.

См. также

HOTP.

© 2020–2023 lt304888.ru, Россия, Волжский, ул. Больничная 49, +7 (8443) 85-29-01