Одноразовий пароль
Одноразовий пароль (англ. one time password, OTP) — це пароль, який є дійсним тільки для одного сеансу автентифікації. Його дія також може бути обмежена певним проміжком часу. Перевага такого паролю порівняно зі статичним полягає в тому, що його неможливо використовувати повторно. Таким чином, зловмисник, що перехопив дані з успішної сесії автентифікації, не може використовувати скопійований пароль для отримання доступу до захищеної інформаційної системи. Використання одноразових паролів не захищає від атак, заснованих на активному втручанні в канал зв'язку, що використовується для автентифікації (наприклад, від атак типу «людина посередині»).
Людина не в змозі запам'ятати одноразові паролі. Тому потрібні додаткові технології для їх коректної роботи.
Способи створення та розповсюдження 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, InCard, RSA, SafeNet, VASCO, Verisign і Protectimus, в форм-фактор кредитної картки. Однак, оскільки товщина картки (від 0.79 мм до 0.84мм) не дозволяє використовувати традиційні елементи батарейок, необхідно використовувати спеціальні батарейки, засновані на полімерах, час життя яких набагато більший, ніж у звичайних міні-батарейок. Крім того, повинні використовуватися напівпровідникові компоненти з дуже малою потужністю для економії енергії під час режиму очікування та / або використання продукту. У виробництві тонких пристроїв OTP лідирують дві компанії: Identita і NagraID.
Мобільні телефони і КПК також можуть бути використані для генерації синхронізованих за часом одноразових паролів. Цей підхід може бути більш економним, оскільки більшість користувачів Інтернету вже має мобільні телефони, та більш зручним, тому що у користувача не буде необхідності носити з собою окремий токен для кожного безпечного з'єднання, коли він або вона потребуватиме доступу.
Запит
Використання одноразових паролів із запитом вимагає від користувача забезпечувати синхронізовані за часом запити, щоб була виконана перевірка справжності. Це може бути зроблено шляхом введення значення в сам токен. Щоб уникнути появи дублікатів, зазвичай включається додатковий лічильник, таким чином, що при випадковому отриманні двох однакових запитів, все одно з'являться різні одноразові паролі. Однак обчислення зазвичай не містять попередній одноразовий пароль, так як це призведе до синхронізації задач. EMV починають використовувати такі системи (т. з. «Chip Authentication Program») для кредитних карток в Європі.
Одноразовий пароль через SMS
Поширена технологія, що використовується для доставки одноразових паролів — це SMS. Оскільки SMS — це розповсюджений канал зв'язку, який є у всіх телефонах і використовується великою кількістю клієнтів, SMS-повідомлення мають найбільший потенціал для всіх споживачів, що володіють низькою собівартістю. Токени, смарт-картки та інші традиційні методи автентифікації набагато дорожчі для реалізації і використання та часто зустрічають опір з боку споживачів. Вони також набагато вразливіші для атак типу «людина посередині», в яких фішери крадуть одноразові паролі обманом або навіть тому, що одноразові паролі відображуються на екрані токена. Також токени можуть бути втрачені і інтеграція одноразових паролів в мобільні телефони може бути безпечнішою і простішою, бо користувачам не доведеться носити з собою додаткові портативні пристрої. Водночас одноразові паролі через SMS можуть бути менш безпечним, оскільки мобілні оператори стають частиною ланцюга довіри. У разі роумінгу треба довіряти більшій кількості операторів.
Одноразовий пароль на мобільному телефоні
Порівняно з апаратною реалізацією токена, яка вимагає, щоб користувач мав з собою пристрій-токен, токен на мобільному телефоні істотно знижує витрати і пропонує безпрецедентний рівень зручності. Це рішення також зменшує матеріально-технічні вимоги, бо немає необхідності видавати окремий пристрій кожному користувачеві. Мобільні токени, такі, як FiveBarGate, FireID або PROTECTIMUS SMART додатково підтримують деяку кількість токенів протягом одного встановлення додатка, дозволяючи користувачеві автентифікуватися на декількох ресурсах з одного пристрою. Цей варіант також передбачає специфічні додатки для різних моделей телефонів користувача. Токени в мобільних телефонах також безпечніші, ніж OTP по SMS, бо SMS відправляються мережею GSM в текстовому форматі з можливістю перехоплення.
Порівняння технологій
З точки зору витрат, найдешевшими рішеннями є поширення одноразових паролів на папері, скретч-картці або генераторі одноразових паролів на мобільному телефоні. Це так, тому що ці системи виключають витрати, пов'язані з (пере)видачею електронних токенів і вартістю SMS повідомлень.
Для систем, які спираються на електронні токени (не синхронізовані за часом системи), повинні вирішити проблему, коли сервер і токен збиваються з синхронізації. Це призводить до додаткових витрат на розробку. З іншого боку, вони дозволяють уникати витрат на годинник в електронних токенах (і корекцію їх значень з урахуванням тимчасового дрейфу).
Одноразові паролі також уразливі для «вивудження» (фішинга). Наприкінці 2005 у користувачів Банку Швеції обманом виманили їх одноразові паролі[1]. Навіть синхронізовані за часом паролі уразливі для фішингу, якщо зловмисник встигає досить швидко скористатися паролем. Це було помічено в 2006 по атаці на користувачів Citibank в США[2].
Хоча одноразові паролі є більш безпечними, ніж звичайні паролі, використання систем OTP все ще вразливе для атак типу «людина посередині». Тому одноразові паролі не повинні передаватися третій стороні. Синхронізований чи одноразовий пароль за часом, в основному, ніяк не впливає на ступінь уразливості. Засновані на запиті одноразові паролі теж є вразливими, хоча успішна атака вимагає від зловмисника більше активних дій, ніж для інших типів OTP.
Стандартизація
Запатентовано безліч технологій OTP. Це робить стандартизацію в цій області більш важкою, оскільки кожна компанія намагається проштовхнути свою власну технологію. Стандарти, однак, існують, наприклад, RFC 2289 [3] і HOTP.
OTP в рамках банківської справи
В деяких країнах одноразові паролі використовуються для віддаленого користування банками. У деяких з цих систем банк надсилає користувачеві пронумерований список одноразових паролів, надрукований на папері. Для кожної віддаленої транзакції користувач повинен ввести відповідний одноразовий пароль з цього списку. У Німеччині ці паролі зазвичай називають TAN-кодом (від «transaction authentication numbers»). Деякі банки відправляють TAN-коди користувачу за допомогою SMS, і в цьому випадку вони називаються mTAN-коди (від «mobile TANs»).
Пов'язані технології
Найчастіше одноразові паролі є уособленням двофакторної автентифікації. Деякі технології єдиного входу[4] системи використовують одноразові паролі. OTP технологія так само використовується в токенах.
Посилання
Постачальники рішень одноразових паролів:
Примітки
- Стаття в The Register
- Washington Post Security Blog
- http://www.ietf.org/rfc/rfc2289.txt
- Сильна аутентифікація за допомогою «єдиного входу» на білому папері. Архів оригіналу за 20 серпня 2009. Процитовано 5 жовтня 2014.