Одноразовий пароль 1
Одноразовий пароль (англ. One time password, OTP) - це пароль. дійсний тільки для одного сеансу аутентифікації. Дія одноразового пароля також може бути обмежене певним проміжком часу.
Перевага одноразового пароля в порівнянні зі статичним полягає в тому, що пароль неможливо використовувати повторно. Таким чином, зловмисник, що перехопив дані з успішною сесії аутентифікації, не може використовувати скопійований пароль для отримання доступу до інформації, що захищається інформаційній системі. Використання одноразових паролів саме по собі не захищає від атак, заснованих на активному втручанні в канал зв'язку, який використовується для аутентифікації (наприклад, від атак типу «людина посередині»).
Людина не в змозі запам'ятати одноразові паролі. Тому потрібні додаткові технології для їх коректної роботи.
Способи створення та поширення OTP
Алгоритми створення OTP зазвичай використовують випадкові числа. Це необхідно, тому що інакше було б легко передбачити наступні паролі на основі знання попередніх. Конкретні алгоритми OTP сильно розрізняються в деталях. Різні підходи до створення одноразових паролів перераховані нижче.
- Використовують математичні алгоритми для створення нового пароля на основі попередніх (паролі фактично становлять ланцюжок, і повинні бути використані в певному порядку).
- Засновані на тимчасової синхронізації між сервером і клієнтом, що забезпечує пароль (паролі дійсні протягом короткого періоду часу)
- Використовують математичний алгоритм, де новий пароль заснований на запиті (наприклад, випадкове число, вибирається сервером або частини вхідного повідомлення) і / або лічильнику.
математичні алгоритми
Один підхід, розроблений Леслі Лемпортом. використовує однобічну функцію (назвемо її f). Система одноразових паролів починає працювати від початкового числа s. потім генерує паролі
стільки разів, скільки необхідно. Якщо шукається нескінченна серія паролів, нове початкове число може бути вибрано після того, як ряд для s виявляється вичерпаним. Кожен пароль розподіляється в зворотному порядку, починаючи з f (f (... f (s)) ...), закінчуючи f (s).
Якщо зловмисникові вдається отримати одноразовий пароль, він може отримати доступ тільки на один період часу або одне з'єднання, але це стає марним, коли цей період закінчиться. Щоб отримати наступний пароль в ланцюжку з попередніх, необхідно знайти спосіб обчислення зворотної функції f -1. Так як f була обрана односторонньої, то зробити це неможливо. Якщо f - криптографічний хеш-функція. яка зазвичай використовується, то, наскільки відомо, це буде обчислювально нездійсненна задача.
Синхронізовані за часом

Синхронізовані за часом одноразові паролі зазвичай пов'язані з фізичними апаратними токенами (наприклад, кожному користувачеві видається персональний токен, який генерує одноразовий пароль). Усередині токена вбудовані найточніший годинник, які синхронізовані з годинником на сервері. У цих OTP-системах час є важливою частиною алгоритму створення пароля, так як генерація нового пароля грунтується на поточному часу, а не на попередньому паролі або секретному ключі.
Останнім часом стало можливим вбудовувати електронні компоненти, пов'язані з постійними токенами-годинами, такі, як від ActivIdentity, InCard, RSA. SafeNet. Vasco, VeriSign і Protectimus, в форм-фактор кредитної картки. Однак, так як товщина карти (від 0.79 мм до 0.84мм) не дозволяє використовувати традиційні елементи батарейок, необхідно використовувати спеціальні батарейки, засновані на полімери, час життя яких набагато більше, ніж у звичайних міні-батарейок. Крім того, повинні використовуватися вкрай малопотужні напівпровідникові компоненти для економії енергії під час режиму очікування і / або використання продукту. У виробництві тонких пристроїв OTP лідирують дві компанії: Identita і NagraID.
Використання одноразових паролів із запитом вимагає від користувача забезпечувати синхронізовані за часом запити, щоб була виконана перевірка справжності. Це може бути зроблено шляхом введення значення в сам токен. Щоб уникнути появи дублікатів, зазвичай включається додатковий лічильник, так що якщо трапиться отримання двох однакових запитів, то це все одно призведе до появи різних одноразових паролів. Однак обчислення зазвичай не включають попередній одноразовий пароль, так як це призведе до синхронізації завдань. EMV починають використовувати такі системи (т. Зв. «Chip Authentication Program») для кредитних карт в Європі.
Одноразовий пароль через SMS
У той же час одноразові паролі через SMS можуть бути менш безпечні, так як стільникові оператори стають частиною ланцюга довіри. У разі дозволеної функції роумінгу треба довіряти більше ніж одному мобільному оператору (в деяких випадках, всім організаціям, які мають доступ до системи сигналізації ОКС7).
Для систем, які спираються на електронні маркери, не синхронізовано з часу системи, повинні вирішити проблему, коли сервер і токен збиваються з синхронізації. Це призводить до додаткових витрат на розробку. З іншого боку, вони дозволяють уникати витрат на годинник в електронних токенах (і корекцію їх значень з урахуванням тимчасового дрейфу).
Хоча одноразові паролі є більш безпечними, ніж звичайні паролі, використання систем OTP все ще вразливе для атак типу «людина посередині». Тому одноразові паролі не повинні передаватися третій стороні. Синхронізований чи одноразовий пароль по часу, в основному, ніяк не впливає на ступінь уразливості. Засновані на запиті одноразові паролі теж є уразливими, хоча успішна атака вимагає від зловмисника трохи більше активних дій, ніж для інших типів OTP.
Запатентовано безліч технологій OTP. Це робить стандартизацію в цій області ще більш важкою, так як кожна компанія намагається проштовхнути свою власну технологію. Проте, стандарти існують, наприклад, RFC 1760 (S / Key), RFC 2289 (OTP), RFC 4226 (HOTP) і RFC 6238 (TOTP).
OTP в рамках банківської справи
У деяких країнах одноразові паролі використовуються для віддаленого використання банків. У деяких з цих систем банк посилає користувачеві пронумерований список одноразових паролів, надрукований на папері. Для кожної віддаленої транзакції користувач повинен ввести відповідний одноразовий пароль з цього списку. У Німеччині ці паролі зазвичай називають TAN-кодом (від «transaction authentication numbers»). Деякі банки відправляють TAN-коди користувачу за допомогою SMS, і в цьому випадку вони називаються mTAN-коди (від «mobile TANs»).
Найчастіше одноразові паролі є уособленням двофакторної аутентифікації. Деякі Технології єдиного входу [5] системи використовують одноразові паролі. OTP технологія так само використовується в токенах безпеки.