Огляд
Двофакторна автентифікація (також відома як 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 час ==60, T0=0, X=30, тоді T=2 Тобто значення T округляється вниз, а десяткова — відкидається
З наведеного вище рисунка видно, що алгоритм введення має два основні елементи: один — спільний ключ (також відомий як насіння), а інший — підрахунок (або часовий коефіцієнт), який обчислюється певним алгоритмом. Якщо обидва елементи узгоджені, серверний і клієнтський сторони обчислять однаковий результат, що дозволяє функціональність автентифікації.
|