Jump to content

Одноразовый пароль на основе HMAC

Одноразовый пароль на основе HMAC ( HOTP ) — это алгоритм одноразового пароля (OTP), основанный на HMAC . Это краеугольный камень Инициативы открытой аутентификации (OATH).

HOTP был опубликован как информационный документ IETF RFC 4226 в декабре 2005 года, в котором документирован алгоритм вместе с реализацией Java. С тех пор алгоритм был принят многими компаниями по всему миру (см. ниже). Алгоритм HOTP — это свободно доступный открытый стандарт .

Алгоритм

[ редактировать ]

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

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

  • Криптографический хеширования метод H (по умолчанию SHA-1 ).
  • Секретный ключ K , который представляет собой произвольную строку байтов и должен оставаться закрытым.
  • Счетчик C . , который считает количество итераций
  • Длина значения HOTP d (6–10, по умолчанию — 6, рекомендуется 6–8).

полученное на основе секретного ключа K и счетчика C. Обе стороны вычисляют значение HOTP , Затем аутентификатор сравнивает свое локально сгенерированное значение со значением, предоставленным аутентифицированным.

Аутентификатор и аутентифицированный увеличивают счетчик C независимо друг от друга, причем последний может увеличиваться раньше первого, поэтому разумным является протокол ресинхронизации. RFC   4226 на самом деле не требует этого, но содержит рекомендации. При этом аутентификатор просто неоднократно пытается выполнить проверку перед своим счетчиком через окно размера s . Счетчик аутентификатора продолжает движение вперед от значения, при котором проверка прошла успешно, и не требует никаких действий со стороны аутентифицированного лица.

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

Шестизначные коды обычно предоставляются проприетарными аппаратными токенами от ряда поставщиков, сообщающих значение d по умолчанию . Усечение извлекает 31 бит или десятичные цифры, что означает, что d может быть не более 10, при этом 10-я цифра добавляет меньше вариаций и принимает значения 0, 1 и 2 (т. е. 0,3 цифры).

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

Значение HOTP — это удобочитаемый результат проектирования, десятичное число d (без пропуска ведущих нулей):

Значение HOTP = HOTP ( K , C ) mod 10 д .

То есть значение представляет собой d наименее значащую десятичную цифру HOTP.

HOTP — это усечение HMAC счетчика C (по ключу K и хеш-функции H ):

HOTP ( K , C ) = усечь (HMAC H ( K , C )),

где счетчик C должен использоваться с прямым порядком байтов .

Усечение сначала берет 4 младших бита MAC и использует их в качестве смещения байта i :

truncate( MAC ) = Extract31( MAC , MAC [(19 × 8 + 4):(19 × 8 + 7)]),

где «:» используется для извлечения битов от начального номера бита до конечного номера бита включительно, где эти номера бит имеют начало от 0. Использование «19» в приведенной выше формуле относится к размеру вывода хэш-функции. При значении по умолчанию SHA-1 выходной размер составляет 20 байт , поэтому последний байт — это байт 19 (0-начало).

Этот индекс i используется для выбора 31 бита из MAC , начиная с бита i × 8 + 1:

extract31( MAC , i ) = MAC [( i × 8 + 1): ( i × 8 + 4 × 8 - 1)].

31 бит — это на один бит меньше 4-байтового слова. Таким образом, значение можно поместить внутрь такого слова без использования знакового бита (самого старшего бита). Это сделано для того, чтобы избежать выполнения модульной арифметики с отрицательными числами, поскольку она имеет множество различных определений и реализаций. [1]

Как аппаратные, так и программные токены доступны от различных поставщиков, ссылки на некоторые из них приведены ниже. Аппаратные токены, реализующие OATH HOTP, как правило, значительно дешевле, чем их конкуренты, основанные на собственных алгоритмах. [2] С 2010 года аппаратные токены OATH HOTP можно приобрести по предельной цене. [3] Некоторые продукты можно использовать для создания надежных паролей, а также для OATH HOTP. [4]

Программные токены доступны (почти) для всех основных мобильных устройств и смартфонов платформ ( J2ME , [5] Андроид , [6] айфон , [7] Ежевика , [8] условия , [9] macOS , [10] и Windows Мобайл [8] ).

Хотя первые отзывы некоторых компьютерных изданий в 2004 и 2005 годах были негативными, [11] [12] [13] после того, как IETF принял HOTP в качестве RFC 4226 в декабре 2005 года, различные поставщики начали производить HOTP-совместимые токены и/или целые решения для аутентификации.

Согласно статье «Дорожная карта: замена паролей на OTP-аутентификацию» [2] о строгой аутентификации, опубликованной Burton Group (подразделение Gartner, Inc. ) в 2010 году: « Gartner ожидает, что форм-фактор аппаратного OTP продолжит испытывать умеренный рост, в то время как OTP для смартфонов будут расти и станут аппаратной платформой по умолчанию с течением времени». время."

См. также

[ редактировать ]
  1. ^ Фрэнк, Хорнарт; Дэвид, Наккеш; Михир, Белларе; Охад, Ранен (декабрь 2005 г.). «HOTP: алгоритм одноразового пароля на основе HMAC» . www.tools.ietf.org . дои : 10.17487/RFC4226 .
  2. ^ Перейти обратно: а б Диодати, Марк (2010). «Дорожная карта: замена паролей с помощью OTP-аутентификации» . Группа Бертон . Архивировано из оригинала 21 июля 2011 г. Проверено 10 февраля 2011 г.
  3. ^ «Токены аутентификации безопасности — доверить» . Доверить . 2011. Архивировано из оригинала 5 апреля 2013 г. Проверено 5 марта 2010 г.
  4. ^ «Токены sCrib для пароля — Smart Crib» . Умная кроватка . 2013. Архивировано из оригинала 20 марта 2013 г.
  5. ^ «DS3 запускает мидлет-приложение OathToken» . Решения для систем безопасности данных . 24 февраля 2006 г. Архивировано из оригинала 29 декабря 2013 года.
  6. ^ «СтронгАут» . 2010. Архивировано из оригинала 18 мая 2010 г.
  7. ^ Коббс, Арчи Л. (2010). «Жетон Клятвы» . Арчи Л. Коббс .
  8. ^ Перейти обратно: а б «Мягкие токены ActivIdentity» . АктивИдентити . 2010. Архивировано из оригинала 17 сентября 2010 г.
  9. ^ Уитбек, Шон (2011). «Генератор OTP для N900» . Шон Уитбек .
  10. ^ «СекуриТокен» . Программное обеспечение Feel Good . 2011. Архивировано из оригинала 25 апреля 2012 г.
  11. ^ Кернс, Дэйв (6 декабря 2004 г.). «Копать глубже в OATH выглядит не очень хорошо» . Сетевой мир .
  12. ^ Уиллоуби, Марк (21 марта 2005 г.). «Нет соглашения об аутентификации присяги» . Компьютерный мир . Архивировано из оригинала 11 октября 2012 г. Проверено 7 октября 2010 г.
  13. ^ Калиски, Берт (19 мая 2005 г.). «Алгоритмическая гибкость и OATH» . Компьютерный мир . Архивировано из оригинала 11 октября 2012 г. Проверено 7 октября 2010 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: a0aef9fa7d675b835f2145140795a601__1722849240
URL1:https://arc.ask3.ru/arc/aa/a0/01/a0aef9fa7d675b835f2145140795a601.html
Заголовок, (Title) документа по адресу, URL1:
HMAC-based one-time password - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)