Одноразовый пароль, основанный на времени
Одноразовый пароль на основе времени ( TOTP ) — это компьютерный алгоритм , который генерирует одноразовый пароль (OTP), используя текущее время в качестве источника уникальности. Являясь расширением алгоритма одноразового пароля (HOTP) на основе HMAC, он был принят в качестве Инженерной группы Интернета (IETF). стандарта RFC 6238 . [ 1 ]
TOTP является краеугольным камнем Инициативы открытой аутентификации (OATH) и используется во многих системах двухфакторной аутентификации. [ 1 ] (2FA) системы.
История
[ редактировать ]Благодаря сотрудничеству нескольких членов OATH был разработан проект TOTP с целью создания отраслевого стандарта. Он дополняет основанный на событиях одноразовый стандарт HOTP и предлагает конечным пользователям и предприятиям больший выбор технологий, которые лучше всего соответствуют требованиям их приложений и рекомендациям по безопасности . В 2008 году OATH представила в IETF черновую версию спецификации. Эта версия включает в себя все отзывы и комментарии, полученные авторами от технического сообщества на основе предыдущих версий, отправленных в IETF. [ 2 ] В мае 2011 года TOTP официально стал RFC 6238. [ 1 ]
Алгоритм
[ редактировать ]Чтобы установить аутентификацию TOTP, аутентификатор и аутентификатор должны предварительно установить как параметры HOTP , так и следующие параметры TOTP:
- T 0 , время Unix , с которого начинается отсчет временных шагов (по умолчанию 0),
- T X — интервал, который будет использоваться для расчета значения счетчика C T (по умолчанию — 30 секунд).
И аутентификатор, и аутентификатор вычисляют значение TOTP, затем аутентификатор проверяет, соответствует ли значение TOTP, предоставленное аутентификатором, локально сгенерированному значению TOTP. Некоторые аутентификаторы допускают значения, которые должны были быть сгенерированы до или после текущего времени, чтобы учесть небольшие отклонения часов , задержку сети и задержки пользователя.
TOTP использует алгоритм HOTP, заменяя счетчик неубывающим значением в зависимости от текущего времени:
Значение TOTP ( K ) = значение HOTP ( K , C T ),
расчет значения счетчика
где
- C T представляет собой количество промежутков T X между T 0 и T ,
- T — текущее время в секундах с определенной эпохи ,
- T 0 — это эпоха, указанная в секундах, начиная с эпохи Unix (например, если используется время Unix , тогда T 0 равно 0),
- T X — продолжительность одного периода времени (например, 30 секунд).
Безопасность
[ редактировать ]В отличие от паролей , коды TOTP действительны только в течение ограниченного времени. Однако пользователи должны вводить коды TOTP на странице аутентификации, что создает вероятность фишинговых атак . Из-за короткого периода действия кодов TOTP злоумышленникам приходится проксировать учетные данные в режиме реального времени. [ 3 ]
Учетные данные TOTP также основаны на общем секрете, известном как клиенту, так и серверу, что создает множество мест, из которых секрет может быть украден. [ 4 ] Злоумышленник, имеющий доступ к этому общему секрету, может по своему желанию генерировать новые действительные коды TOTP. Это может стать особой проблемой, если злоумышленник взломает большую базу данных аутентификации. [ 5 ]
См. также
[ редактировать ]- Ботан (библиотека программирования)
- БесплатноOTP
- Google Аутентификатор
- мультиОТП
- Сравнение приложений TOTP
Ссылки
[ редактировать ]- ^ Перейти обратно: а б с м'Райхи, Дэвид; Райделл, Йохан; Пей, Минлян; Мачани, Салах (май 2011 г.). «RFC 6238 – TOTP: алгоритм одноразового пароля на основе времени» . Архивировано из оригинала 11 июля 2011 года . Проверено 13 июля 2011 г.
- ^ Александр, Мэдисон. «OATH представляет TOTP: спецификацию одноразового пароля на основе времени в IETF» . Открытая аутентификация . Архивировано из оригинала 9 апреля 2013 года . Проверено 22 февраля 2010 г.
- ^ Умавинг, Джови (21 января 2019 г.). «Двухфакторная аутентификация побеждена? В центре внимания последняя проблема 2FA» . Лаборатория Малваребайтс . Архивировано из оригинала 25 сентября 2020 года . Проверено 9 августа 2020 г.
- ^ «Одноразовые пароли на основе времени (TOTP)» . www.transmitsecurity.com . 25 июня 2020 г. Проверено 2 мая 2022 г.
- ^ Зеттер, Ким. «RSA соглашается заменить токены безопасности после признания компрометации» . ПРОВОДНОЙ . Архивировано из оригинала 12 ноября 2020 года . Проверено 17 февраля 2017 г. .