TOTP — це абревіатура від «time-based one-time password» (одноразовий пароль, що залежить від часу). Ця технологія лежить в основі багатьох шестизначних кодів, які відображаються в додатках-аутентифікаторах. Код TOTP обчислюється на основі приватного ключа налаштування та поточного часу, а потім втрачає чинність через короткий проміжок часу.
TOTP зазвичай використовується як другий крок у процесі двофакторної автентифікації. Він може працювати навіть без мобільного сигналу, оскільки додаток-автентифікатор обчислює код локально, а не чекає на повідомлення.
Яка інформація використовується для створення коду TOTP?
Важливими є два вхідні параметри: спільний секрет і лічильник часу. Провайдер облікового запису створює секрет під час налаштування та передає його вашому аутентифікатору за допомогою QR-коду або ручного ключа. Потім обидві сторони поділяють час на рівні проміжки та виконують однаковий криптографічний розрахунок.
Якщо секрет, алгоритм і часовий проміжок збігаються, обидві сторони генерують однаковий короткий код. Сам секрет не потрібно передавати під час кожного входу в систему.

Як працює TOTP?
- Постачальник створює унікальний секрет для реєстрації аутентифікатора.
- Ви скануєте QR-код для налаштування або вводите секрет вручну на надійному пристрої.
- Аутентифікатор поєднує секрет із поточним часовим вікном.
- Результат зводиться до короткого числового коду, зазвичай з шести цифр.
- Постачальник обчислює очікуваний код і порівнює його з вашим введенням.
У стандарті RFC 6238 TOTP визначено як варіант HOTP, що базується на часі. Зазвичай використовується 30-секундний інтервал, шість цифр та алгоритм HMAC-SHA-1, хоча існують й інші підтримувані алгоритми та налаштування.
Чому коди TOTP мають термін дії?
Короткий термін дії обмежує час, протягом якого скопійований код можна використовувати повторно. Як тільки часовий проміжок змінюється, аутентифікатор генерує нове значення. Сервіси можуть допускати невелике відхилення від заданого проміжку, щоб врахувати затримки в мережі та незначні розбіжності в часі, але ширший допуск також збільшує вікно прийнятності.
Введіть новий код на початку його відліку. Якщо коди постійно відхиляються, скористайтеся нашим посібником щодо усунення несправностей коду 2FA, який не працює.
TOTP проти HOTP
TOTP і HOTP використовують схожі обчислення, але працюють по-різному:
- TOTP змінюється відповідно до часового кроку, тому годинники аутентифікаторів повинні бути синхронізовані.
- HOTP змінюється, коли лічильник просувається вперед, наприклад, після натискання кнопки або успішного використання.
TOTP широко використовується в програмних додатках-аутентифікаторах, оскільки час забезпечує автоматичний змінний фактор. HOTP досі використовується деякими апаратними токенами та спеціалізованими системами.
TOTP проти SMS-кодів
Додаток TOTP обчислює коди на пристрої та зазвичай працює в автономному режимі. SMS покладається на телефонну мережу для доставки коду. SMS зручний, але на нього можуть впливати підміна SIM-карт, перепризначення номерів, перехоплення та збої в доставці.
Ні звичайний TOTP, ні SMS не є повністю захищеними від фішингу: переконлива підроблена сторінка входу може перехопити та передати поточний код. Для важливих облікових записів пароль-ключ або ключ безпеки FIDO, як правило, є більш надійними, якщо вони підтримуються. Дивіться наше детальне порівняння додатків-аутентифікаторів та SMS.
Що таке секрет TOTP?
Секрет — це довготривалий ідентифікатор, на якому ґрунтуються всі майбутні коди для цієї реєстрації. Будь-хто, хто його має, може налаштувати інший аутентифікатор і генерувати відповідні значення. Знімок екрана з QR-кодом налаштування є конфіденційним, оскільки зазвичай містить цей секрет.
У нашому посібнику пояснюється, де знайти ключ для ручної налаштування 2FA та як відрізнити його від пароля або коду відновлення.
Чи може TOTP працювати в автономному режимі?
Так. Після налаштування аутентифікатору потрібен секрет і точний годинник, а не активне підключення до Інтернету. Сервісу, що перевіряє вхід, все одно потрібен доступ до збереженої інформації про реєстрацію.
Як безпечно користуватися генератором TOTP
- Використовуйте лише секретні ключі, що належать обліковим записам, якими ви маєте право керувати.
- Перед введенням секретного ключа перевірте адресу веб-сайту та пристрій.
- Ніколи не надсилайте секретний код або QR-код для налаштування через чат або форми підтримки.
- Зберігайте коди відновлення окремо від аутентифікатора, який ви використовуєте щодня.
- Повторно пройдіть реєстрацію, якщо секрет міг бути розкритий.
Для авторизованого тестування генератор TOTP Get2FA.dev обчислює стандартні коди у вашому браузері. Для щоденного використання на важливих облікових записах віддавайте перевагу авторитетному аутентифікатору або методу на основі апаратного забезпечення.
Поширені запитання
Як довго діє код TOTP?
За замовчуванням — тридцять секунд, але постачальник може встановити інший термін. Відлік часу відбувається у певному часовому вікні; він не поновлюється, коли ви переглядаєте або копіюєте код.
Чому коди TOTP зазвичай складаються з шести цифр?
Шість цифр забезпечують баланс між зручністю використання та обмеженою кількістю можливих значень. Обмеження частоти запитів та короткі періоди дії кодів є важливими, оскільки простір кодів сам по собі не є великим.
Чи можуть два пристрої відображати один і той самий код TOTP?
Так, якщо обидва пристрої мають однаковий секрет, використовують однакові налаштування та мають синхронізовані годинники. Доцільність дублювання реєстрації залежить від вашої політики безпеки.
Чи є TOTP тим самим, що й 2FA?
Ні. TOTP — це лише один із можливих методів автентифікації. Дізнайтеся, що означає 2FA та як працюють інші її методи.
