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

Вид: 12357|Ответ: 0

Различия в динамическом OTP, TOTP и HOTP токенов

[Скопировать ссылку]
Опубликовано 25.07.2020 16:41:17 | | | |
Обзор

Двухфакторная аутентификация (также известная как 2FA) — это механизм, который объединяет два различных метода аутентификации для аутентификации пользователей. В марте 2011 года Google объявила о внедрении двухфакторной аутентификации онлайн, за ней последовали MSN и Yahoo.

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

Аппаратные устройства, способные генерировать токены
Приложение для смартфона

OTP

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

OTP — это сокращение от One-Time Password, что означает «одноразовый пароль». Он делится на два типа:

HOTP (алгоритм одноразового пароля на основе HMAC)

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



Клиент и сервер заранее договариваются о ключе K для генерации одноразового пароля. У клиента и сервера есть счётчик событий C, и они заранее синхронизируют значения счёта. Truncate — это алгоритм, который преобразует 20-байтовую строку, сгенерированную HMAC-SHA-1, в несколько десятичных цифр.

TOTP (алгоритм одноразового пароля на основе времени)

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


T0 — это начальное время тестирования, которое по умолчанию равно 0  
X — это шаг времени, который по умолчанию равен 30 секундам
Официальная документация даёт каштан, при условии, что текущее unix время = 59, T0 = 0, X = 30, затем T=1
При текущем unix time=60, T0=0, X=30, затем T=2
То есть значение T округляется вниз, а десятичная — отбрасывается



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





Предыдущий:Серия Angular 9 (XII) генерирует динамические токены на основе OTP
Следующий:.NET/C# генерирует одноразовые пароли на основе TOTP
Отказ:
Всё программное обеспечение, программные материалы или статьи, публикуемые Code Farmer Network, предназначены исключительно для учебных и исследовательских целей; Вышеуказанный контент не должен использоваться в коммерческих или незаконных целях, иначе пользователи несут все последствия. Информация на этом сайте взята из Интернета, и споры по авторским правам не имеют отношения к этому сайту. Вы должны полностью удалить вышеуказанный контент с компьютера в течение 24 часов после загрузки. Если вам нравится программа, пожалуйста, поддержите подлинное программное обеспечение, купите регистрацию и получите лучшие подлинные услуги. Если есть нарушение, пожалуйста, свяжитесь с нами по электронной почте.

Mail To:help@itsvse.com