Одноразовий пароль
Одноразовий пароль (англ. one time password, OTP) — це пароль, який є дійсним тільки для одного сеансу автентифікації. Його дія також може бути обмежена певним проміжком часу. Перевага такого паролю порівняно зі статичним полягає в тому, що його неможливо використовувати повторно. Таким чином, зловмисник, що перехопив дані з успішної сесії автентифікації, не може використовувати скопійований пароль для отримання доступу до захищеної інформаційної системи. Використання одноразових паролів не захищає від атак, заснованих на активному втручанні в канал зв'язку, що використовується для автентифікації (наприклад, від атак типу «людина посередині»).
Людина не в змозі запам'ятати одноразові паролі. Тому потрібні додаткові технології для їх коректної роботи.
Алгоритми створення OTP зазвичай використовують випадкові числа. Це необхідно, бо інакше було б легко передбачити подальші паролі на основі знання попередніх. Конкретні алгоритми OTP сильно розрізняються в деталях. Різні підходи до створення одноразових паролів перераховані нижче.
- Які використовують математичні алгоритми для створення нового пароля на основі попередніх (паролі фактично становлять ланцюжок, і повинні бути використані в певному порядку).
- Засновані на тимчасовій синхронізації між сервером і клієнтом, що забезпечує пароль (паролі дійсні протягом короткого періоду часу)
- Які використовують математичний алгоритм, де новий пароль заснований на запиті (наприклад, випадкове число, яке обирає сервер, або частини вхідного повідомлення) та / або лічильнику.
Також існують різні способи повідомлення користувачеві наступний пароль.
- системи використовують спеціальні електронні токени, які користувач носить із собою й які створюють одноразові паролі і виводять потім їх на маленькому екрані.
- системи, що складаються з програм, які користувач запускає з мобільного телефону.
- системи генерують одноразові паролі на сервері і потім відправляють їх користувачеві, використовуючи сторонні канали, такі, як SMS — повідомлення.
- системи, у яких одноразові паролі надруковані на аркуші паперу або на скретч-картці, які користувачеві необхідно мати з собою.
Один підхід, розроблений Леслі Лампортсом, використовує односторонню функцію (назвемо її f ). Система одноразових паролів починає працювати від початкового числа s , потім генерує паролі
- F (s), f (f (s)), f (f (f (s))), …
стільки разів, скільки необхідно. Якщо відбувається пошук нескінченної серії паролів, то нове початкове число може бути обрано після того, як ряд для s виявиться вичерпаним. Кожен пароль розподіляється в зворотному порядку, починаючи з f ( f (… f (s)) …), закінчуючи f (s).
Якщо у зловмисника виходить одержати одноразовий пароль, він може отримати доступ тільки на один період часу або на одне з'єднання, але це стає марним, коли цей період закінчиться. Щоб отримати наступний пароль в ланцюжку з попередніх, необхідно знайти спосіб обчислення оберненої функції f −1 . Оскільки f було обрано односторонньою, то зробити це неможливо. Якщо f — криптографічна хеш-функція, яка зазвичай використовується, то, наскільки відомо, це буде неможливо обчислити.
Синхронізовані за часом одноразові паролі зазвичай пов'язані з фізичними апаратними токенами (наприклад, кожен користувач отримує персональний токен, який генерує одноразовий пароль). Усередині токена вбудовані точні годинники, які синхронізовані з годинником на сервері. У цих OTP-системах час є важливою частиною алгоритму створення пароля, оскільки генерація нового пароля ґрунтується на поточному часі, а не на попередньому паролі або секретному ключі.
Останнім часом стало можливим вбудовувати електронні компоненти, пов'язані з постійними токенами-годинами, такі, як від ActivIdentity[en], InCard, RSA, SafeNet[en], VASCO, Verisign і Protectimus, в форм-фактор кредитної картки. Однак, оскільки товщина картки (від 0.79 мм до 0.84мм) не дозволяє використовувати традиційні елементи батарейок, необхідно використовувати спеціальні батарейки, засновані на полімерах, час життя яких набагато більший, ніж у звичайних мініатюрних батарейок. Крім того, повинні використовуватися напівпровідникові компоненти з дуже малою потужністю для економії енергії під час режиму очікування та / або використання продукту. У виробництві тонких пристроїв OTP лідирують дві компанії: Identita і NagraID.
Мобільні телефони і КПК також можуть бути використані для генерації синхронізованих за часом одноразових паролів. Цей підхід може бути більш економним, оскільки більшість користувачів Інтернету вже має мобільні телефони, та більш зручним, тому що у користувача не буде необхідності носити з собою окремий токен для кожного безпечного з'єднання, коли він або вона потребуватиме доступу.
Використання одноразових паролів із запитом вимагає від користувача забезпечувати синхронізовані за часом запити, щоб була виконана перевірка справжності. Це може бути зроблено шляхом введення значення в сам токен. Щоб уникнути появи дублікатів, зазвичай включається додатковий лічильник, таким чином, що при випадковому отриманні двох однакових запитів, все одно з'являться різні одноразові паролі. Однак обчислення зазвичай не містять попередній одноразовий пароль, так як це призведе до синхронізації задач. EMV починають використовувати такі системи (т. з. «Chip Authentication Program») для кредитних карток в Європі.
Поширена технологія, що використовується для доставляння одноразових паролів — це SMS. Оскільки SMS — це розповсюджений канал зв'язку, який є у всіх телефонах і використовується великою кількістю клієнтів, SMS-повідомлення мають найбільший потенціал для всіх споживачів, що володіють низькою собівартістю. Токени, смарт-картки та інші традиційні методи автентифікації потребують додаткового обладнання, в той час як телефони вже наявні практично у всіх клієнтів. Але канал SMS також набагато вразливіший для атак типу «людина посередині», оскільки мобільні оператори стають частиною ланцюга довіри. У разі роумінгу треба довіряти більшій кількості операторів.
Також токени можуть бути втрачені і інтеграція одноразових паролів в мобільні телефони може бути безпечнішою і простішою, бо користувачам не доведеться носити з собою додаткові портативні пристрої.
Порівняно з апаратною реалізацією токена, яка вимагає, щоб користувач мав з собою пристрій-токен, токен на мобільному телефоні істотно знижує витрати і пропонує безпрецедентний рівень зручності. Це рішення також зменшує матеріально-технічні вимоги, бо немає необхідності видавати окремий пристрій кожному користувачеві. Мобільні токени, такі, як FiveBarGate, FireID або PROTECTIMUS SMART додатково підтримують деяку кількість токенів протягом одного встановлення додатка, дозволяючи користувачеві автентифікуватися на декількох ресурсах з одного пристрою.
З точки зору витрат, найдешевшими рішеннями є поширення одноразових паролів на папері, скретч-картці або генераторі одноразових паролів на мобільному телефоні. Це так, тому що ці системи виключають витрати, пов'язані з (пере)видачею електронних токенів і вартістю SMS повідомлень.
Системи, що використовують електронні токени, мають проблеми з синхронізацією між сервером і токеном, що призводить до додаткових витрат на розробку, однак це дозволяє уникнути витрат на годинник в токенах.
Одноразові паролі стають дуже уразливими для фішингу або соціальної інженерії, які можуть призвести до обману користувачів і отримання паролів незаконно. Наприклад 2005 у користувачів Банку Швеції обманом виманили їх одноразові паролі[1]. Навіть синхронізовані за часом паролі уразливі для фішингу, якщо зловмисник встигає досить швидко скористатися паролем. Це було помічено в 2006 по атаці на користувачів Citibank в США[2]. Фішинг та соціальна інженерія не є проблема саме SMS чи OTP, проте низький рівень обізнаності в інформаційній безпеці, на додаток до звичної користувачам технології SMS надає зловмисникам можливість простіше обманювати своїх жертв. Провайдери вимушені додавати в SMS-повідомлення інформацію про те що пароль не можна нікому повідомляти, та при використанні спеціальних пристроїв навчати користувачів про небезпеку, повідомляти про персональну відповідальність за передачу паролів третім особам, та поведінку при компрометації або втраті пристрою.
Використання каналів SMS найбільш вразлива до атаки «людина посередині».
Запатентовано безліч технологій OTP. Це робить стандартизацію в цій області більш важкою, оскільки кожна компанія намагається проштовхнути свою власну технологію. Стандарти, однак, існують, наприклад RFC 2289 (англ.) і HOTP.
В деяких країнах одноразові паролі використовуються для віддаленого користування банками. У деяких з цих систем банк надсилає користувачеві пронумерований список одноразових паролів, надрукований на папері. Для кожної віддаленої транзакції користувач повинен ввести відповідний одноразовий пароль з цього списку. У Німеччині ці паролі зазвичай називають TAN-кодом (від «transaction authentication numbers[en]»). Деякі банки відправляють TAN-коди користувачу за допомогою SMS, і в цьому випадку вони називаються mTAN-коди (від «mobile TANs»).
Найчастіше одноразові паролі є уособленням двофакторної автентифікації. Деякі технології єдиного входу[3] системи використовують одноразові паролі. OTP технологія так само використовується в токенах.
Постачальники рішень одноразових паролів:
- ↑ Стаття в The Register
- ↑ Washington Post Security Blog
- ↑ Сильна аутентифікація за допомогою «єдиного входу» на білому папері. Архів оригіналу за 20 серпня 2009. Процитовано 5 жовтня 2014.