Генератор кодів TOTP і HOTP
Генеруйте коди 2FA TOTP і HOTP із секрету Base32 або URI otpauth:// з SHA-1, SHA-256 чи SHA-512, живим відліком і QR-кодом для застосунків 2FA.
Секрет 2FA такий само чутливий, як пароль. Усе тут виконується локально у вашому браузері: секрет, коди й QR-код ніколи нікуди не надсилаються.
- Попередній код
- —
- Поточний код
- —
- Наступний код
- —
Коди TOTP залежать від годинника вашого пристрою. Якщо вони не збігаються, перевірте, чи час встановлюється автоматично.
Налаштування застосунку-автентифікатора
Додайте видавця й назву облікового запису, а потім скануйте QR-код або скопіюйте посилання otpauth:// у свій застосунок-автентифікатор.
Як згенерувати коди TOTP
- Вставте секрет Base32 (наприклад,
JBSWY3DPEHPK3PXP) або повне посиланняotpauth://у поле Секрет (Base32) або URI otpauth://. Пробіли, дефіси, малі літери та відсутнє доповнення=допускаються. - Коди з’являються під час введення або після натискання Показати коди. Вставлений URI автоматично заповнює поля Тип, Алгоритм, Цифр, Період (секунди), Видавець та Обліковий запис.
- Читайте Поточний код посередині, а з боків – Попередній код і Наступний код. Смуга нижче відлічує секунди до зміни коду, а Копіювати код копіює його без пробілу.
- Для кодів за лічильником виберіть HOTP (за лічильником), задайте Лічильник і використовуйте Наступний лічильник, щоб рухатися вперед.
- Щоб створити новий секрет 2FA, натисніть Новий випадковий секрет. Заповніть Видавець і Обліковий запис, а потім скануйте QR-код застосунком-автентифікатором, натисніть Копіювати URI або Завантажити QR-код (PNG).
Як працюють TOTP і HOTP
HOTP (RFC 4226) обчислює HMAC 8-байтового лічильника зі спільним секретом, а потім застосовує динамічне усікання: останні чотири біти HMAC вибирають зсув, звідти читаються чотири байти, старший біт скидається, а число береться за модулем 10^цифр. Результат – код із 6–8 цифр.
TOTP (RFC 6238) – це HOTP, де лічильником є поточний часовий крок: T = floor(Unix time / period), а період за замовчуванням становить 30 секунд. Ваш телефон і сервер обчислюють той самий код незалежно, бо мають спільний секрет і (приблизно) однаковий годинник. Тому й показано Попередній код та Наступний код: сервери зазвичай приймають один крок до або після, щоб допустити розбіжність годинників.
HMAC виконується через Web Crypto API вашого браузера з SHA-1, SHA-256 або SHA-512. SHA-1 із 6 цифрами та 30 секундами використовують майже всі сервіси; SHA-256 і SHA-512 дозволені RFC 6238, але деякі застосунки їх ігнорують, тож змінюйте типові значення, лише якщо цього вимагає сервіс.
URI otpauth:// і QR-код
Застосунки-автентифікатори налаштовують за допомогою URI на кшталт otpauth://totp/Example:alice@example.com?secret=…&issuer=Example&algorithm=SHA1&digits=6&period=30, який зазвичай показують як QR-код. Цей інструмент читає такі URI (зокрема мітки з відсотковим кодуванням на кшталт ACME%20Co) і створює нові. QR-код малюється локально з URI, показаного в полі URI otpauth://.
Новий випадковий секрет має 20 байт (160 біт), як рекомендує RFC 4226, і береться з crypto.getRandomValues.
Поради щодо безпеки
- Секрет – це і є другий фактор: будь-хто, хто його має, може створювати ваші коди. Не вставляйте секрети важливих облікових записів на спільних комп’ютерах і ніколи не діліться знімками екрана з QR-кодом.
- Усе обчислюється локально; нічого не надсилається мережею. Закрийте вкладку, коли завершите.
- Зберігайте резервні коди від сервісу: втрачений секрет відновити неможливо.
Поширені запитання
Чому мій код не збігається з кодом у застосунку?
Спершу перевірте годинник пристрою: коди TOTP змінюються щоперіоду, тож годинник, що відстає чи поспішає більш ніж на 30 секунд, дає інші коди. Потім перевірте, чи алгоритм, кількість цифр і період збігаються з тим, що використав сервіс.
Чи сумісний цей інструмент із Google Authenticator та подібними застосунками?
Так. Він відповідає RFC 6238 і формату URI otpauth, який використовують ці застосунки. Скануйте QR-код або введіть секрет Base32 у застосунку, і обидва мають показувати той самий Поточний код.
Чим TOTP відрізняється від HOTP?
TOTP рухається вперед разом із часом, тому код спливає після періоду. HOTP рухається вперед за лічильником, що збільшується щоразу, коли використовують код, тож код лишається дійсним, доки його не використають або не замінять.
Чи можна використовувати цей інструмент як щоденний автентифікатор?
Він призначений для тестування, розробки та відновлення. Для щоденного використання безпечніші застосунок на телефоні чи апаратний ключ, бо секрет не треба щоразу вставляти на вебсторінку.
Чи перевіряли обчислення за стандартами?
Так. Інструмент протестовано на значеннях HOTP з додатка D до RFC 4226 і значеннях TOTP з додатка B до RFC 6238 для SHA-1, SHA-256 та SHA-512.
Схожі інструменти
- Генератор HMAC Обчисліть HMAC-SHA1, SHA-256, SHA-384 чи SHA-512 із ключем у вигляді тексту, hex або Base64 та перевірте підпис вебхука у браузері.
- Генератор паролів Безкоштовний генератор створює надійні випадкові паролі від 4 до 128 символів у вашому браузері із захищеним генератором. Нічого не зберігається.
- Генератор QR-кодів Створюйте безкоштовні QR-коди для посилань, тексту, Wi-Fi, контактів, пошти та SMS. Додайте кольори й логотип, завантажте PNG чи SVG. Приватно.
- Розподіл секрету за схемою Шаміра Розділіть пароль чи фразу відновлення на N часток, будь-які M з яких відновлюють секрет, за схемою Шаміра над GF(256) локально у вашому браузері.