Концепція одноразових паролів в системі аутентифікації

Технологія One-Time Password – одне з найбільш перспективних рішень задачі аутентифікації користувачів при передачі інформації по відкритих каналах зв'язку.

Як показують останні дослідження, одна з найбільш серйозних загроз у сфері інформаційної безпеки для компаній є несанкціонований доступ (НСД) до комп'ютерних систем. За даними дослідження CSI / FBI Computer Crime and Security Survey 2005, у минулому році 55% компаній зареєстрували інциденти, пов'язані з несанкціонованим доступом до даних. Більш того, в тому ж році компанії втратили внаслідок неавторизованого доступу в середньому по 303 тис. дол, причому в порівнянні з 2004 роком збитки збільшилися у 6 разів.

Природно, для російських компаній цифри цих збитків будуть зовсім іншими, однак це не скасовує самої проблеми: несанкціонований доступ дійсно завдає серйозної шкоди компаніям, незалежно від того, усвідомлює це керівництво, чи ні.

Зрозуміло, що надійність захисту від цієї загрози в першу чергу залежить від якості аутентифікації користувачів. Сьогодні говорити про інформаційну безпеку без прив'язки до персоналізованому доступу і відстеження всіх дій користувачів у мережі просто не має сенсу. Втім, коли мова йде про аутентифікації користувачів на комп'ютерах, що входять в корпоративну локальну мережу, то особливих труднощів не виникає. Ринок пропонує чимало різних рішень, включаючи смарт-карти і електронні ключі, біометричні засоби аутентифікації і навіть такі екзотичні, як графічні паролі. Дещо по-іншому йдуть справи, якщо користувачеві необхідно підключитися до корпоративної комп'ютерної мережі віддалено, наприклад, через Інтернет. У цьому випадку він може зіткнутися з цілим рядом проблем, які ми і розглянемо докладніше.


Підводні камені віддаленого доступу


Перебуваючи в недоверенной середовищі (поза офісом) користувач стикається з необхідністю вводити пароль з чужого комп'ютера (наприклад, з Інтернет-кафе). Паролі кешуються, як і будь-яка інша вводиться в комп'ютер інформація, і при бажанні ними може скористатися хто завгодно у своїх небезкорисливих цілях.

Досить поширений сьогодні і такий вид комп'ютерного шахрайства, як сніффінг (від англ. Sniff – нюхати) – перехоплення зловмисником мережевих пакетів з метою виявлення його цікавить. Використовуючи цей прийом, хакер може "винюхати" пароль користувача і використовувати його для несанкціонованого доступу. Серйозним випробуванням піддає просту парольний захист (особливо при віддаленому доступі) нове покоління вірусів-шпигунів, непомітно потрапляють на комп'ютер користувача в ході звичайного "перегортання" web-сторінок. Вірус може бути запрограмований на фільтрацію інформаційних потоків конкретного комп'ютера з метою виявлення комбінацій символів, які можуть бути паролями. Ці комбінації "шпигун" пересилає своєму творцеві, а тому залишається тільки виявити потрібний пароль.

Зрозуміло, що апаратний спосіб організації безпечного доступу в мережу в кілька разів надійніше простих паролів, однак як скористатися своєю смарт-картою або USB-ключем, перебуваючи знову ж таки поза офісом? Швидше за все, це не вдасться, оскільки для першого пристрою потрібен як мінімум зчитувач, для другого – USB-порт, який може бути заблокований (Інтернет-кафе) або, гірше того, його може просто не опинитися на пристрої, з якого користувач намагається отримати доступ (КПК, мобільний телефон, смартфон та ін.) Чи варто навіть говорити про те, що для роботи апаратних засобів – смарт-карт і USB-ключів – Необхідне відповідне ПО, встановити яке в тому ж інтернет-кафе навряд чи можливо.

Тим часом ситуації, коли необхідно віддалено отримати або відправити інформацію, виникають досить часто. Візьмемо хоча б системи електронного банкінгу: нескладно уявити собі ситуацію, коли для віддаленого управління своїм рахунком, користувачеві буде потрібно доступ до захищених банківських ресурсів. Сьогодні частина банків усвідомила необхідність використання апаратної авторизації із застосуванням USB-ключа. Але скористатися ним по ряду описаних вище причин, можна далеко не завжди.

Специфіка бізнесу багатьох великих компаній часто зобов'язує їх надавати доступ до власних ресурсів стороннім користувачам – партнерам, клієнтам, постачальникам. Сьогодні у Росії активно набирає обертів такий тип співробітництва як аутсорсинг: компанія-субпідрядник для виконання робіт за замовленням може знадобитися доступ до захищених ресурсів замовника.

Потреба підключення до корпоративної мережі по надійної схемою аутентифікації за наявності під рукою лише КПК або смартфону може стати серйозною проблемою, якщо користувач знаходиться на конференції, переговорах та інших ділових заходах.

Як раз для мобільних додатків, а також для організації доступу до потрібної інформації з тих місць, де не можливо встановити спеціальне програмне забезпечення, була розроблена концепція одноразових паролів OTP – One-Time Password.


Одноразовий пароль: ввів і забув


Одноразовий пароль – це ключове слово, дійсне тільки для одного процесу аутентифікації протягом обмеженого проміжку часу. Такий пароль повністю вирішує проблему можливого перехоплення інформації або банального підглядання. Навіть якщо зловмисник зможе отримати пароль "жертви", шанси скористатися ним для отримання доступу дорівнюють нулю.

Перші реалізації концепції одноразових паролів були засновані на статичному наборі ключових слів, тобто спочатку генерувався список паролів (ключів, кодових слів і т.п.), які потім могли застосовувати користувачі. Подібний механізм використовувався в перших банківських системах з можливістю віддаленого керування рахунком. При активації цієї послуги клієнт отримував конверт зі списком своїх паролів. Потім при кожному доступі до системи він використовував чергове ключове слово. Дійшовши до кінця списку, клієнт знову їхав в банк за новим. Таке рішення мало цілий ряд недоліків, головний з яких – низька надійність. Все-таки постійно носити з собою список паролів небезпечно, його легко можна втратити або його можуть вкрасти зловмисники. І потім, список не є нескінченним, а що коли в потрібний момент не буде можливості доїхати до банку?

На щастя, сьогодні ситуація змінилася найрадикальнішим чином. Взагалі, в західних країнах використання одноразових паролів для аутентифікації саме в інформаційних системах стало звичним явищем. Проте в нашій країні технологія OTP до недавнього часу залишалася недоступною. І лише недавно керівництво компаній почало усвідомлювати ризик НСД, у кілька разів збільшується при віддаленому доступі. Попит, як відомо, народжує пропозицію. Тепер продукти, що використовують для віддаленої аутентифікації одноразові паролі, стали поступово займати своє місце і на російському ринку.

У сучасних технологіях аутентифікації за допомогою OTP застосовується динамічна генерація ключових слів за допомогою сильних криптографічних алгоритмів. Тобто аутентифікаційні дані – це результат шифрування будь-якого початкового значення за допомогою особистого ключа користувача.

Дана інформація є і у клієнта, і у сервера. Вона не передається по мережі і не доступна для перехоплення. В якості початкового значення використовується загальновідома для обох сторін процесу аутентифікації інформація, а ключ шифрування створюється для кожного користувача при його ініціалізації в системі. (Рис. 1)



Рис. 1. Приклад генерації одноразових паролів на стороні користувача.


Варто відзначити, що на даному етапі розвитку технологій OTP існують системи, що використовують як симетричну, так і асиметричну криптографію. У першому випадку секретним ключем повинні мати обидві сторони. У другому секретний ключ потрібен тільки користувачеві, а у сервера аутентифікації він відкритий.


Реалізація


Технології OTP були розроблені в рамках галузевої ініціативи Open Authentication (OATH), висунутої компанією VeriSign в 2004 році. Суть цієї ініціативи полягає у розробці стандартної специфікації дійсно надійної аутентифікації для різних інтернет-сервісів. Причому мова йде про двухфакторной визначенні прав користувачів, в процесі якого останній повинен "висунути" смарт-карту або USB-токен і свій пароль. Таким чином, одноразові паролі з часом можуть стати стандартним засобом віддаленої аутентифікації в різних системах.

Сьогодні розроблено і використовується на практиці кілька методів реалізації систем аутентифікації по одноразових паролів.

Метод "запит-відповідь"


Принцип його роботи такий: на початку процедури аутентифікації користувач відправляє на сервер свій логін. У відповідь на це останній генерує якусь випадкову рядок і посилає її назад. Користувач за допомогою свого ключа зашифровує ці дані і відправляє їх назад. Сервер ж у цей час "знаходить" у своїй пам'яті секретний ключ даного користувача і кодує з його допомогою вихідну рядок. Далі проводиться порівняння обох результатів шифрування. При їх повному збігу вважається, що аутентифікація пройшла успішно. Цей метод реалізації технології одноразових паролів, на відміну від всіх інших, називається асинхронним, оскільки процес аутентифікації не залежить від історії роботи користувача з сервером і інших чинників.

Метод "тільки відповідь"


При його використанні алгоритм аутентифікації виглядає дещо простіше. На самому початку процесу програмне або апаратне забезпечення користувача самостійно генерує вихідні дані, які будуть зашифровані та відправлені на сервер для порівняння. При цьому в процесі створення рядка використовується значення попереднього запиту. Сервер теж володіє такими "знаннями". Тобто він, використовуючи ім'я користувача, знаходить значення попереднього її запиту та генерує за тим же алгоритмом точно таку ж рядок. Зашифрувавши її за допомогою особистого ключа користувача (він також зберігається на сервері), сервер отримує значення, яке має повністю збігатися з надісланими користувачем даними.

Метод "синхронізація за часом"


У ньому в якості початкового рядка виступають поточні показання таймера спеціального пристрою або комп'ютера, на якому працює людина. При цьому зазвичай використовується не точний час, а поточний інтервал з встановленими заздалегідь межами (наприклад, 30 секунд). Ці дані зашифровуються за допомогою таємного ключа і у відкритому вигляді відправляються на сервер разом з ім'ям користувача. Сервер при отримано запит на аутентифікацію здійснює ті ж самі дії: отримує поточний час від свого таймера і зашифровує його. Після цього йому залишається тільки порівняти два значення: обчислене і отримане від віддаленого комп'ютера.

Метод "синхронізація по події"


У принципі, цей метод практично повністю ідентичний попередній розглянутої технології. Ось тільки в якості вихідної рядки в ньому використовується не час, а кількість успішних процедур аутентифікації, проведених до поточної. Це значення підраховується обома сторонами окремо один від одного. В іншому ж даний метод повністю ідентичний попередньому.

У деяких системах реалізуються так звані змішані методи, де в якості початкового значення використовується два або навіть більше типів інформації. Наприклад, існують системи, які враховують як лічильники аутентифікації, так і свідчення вбудованих таймерів. Такий підхід дозволяє уникнути безлічі недоліків окремих методів.


Уразливості технологій ОТР


Технологія одноразових паролів вважається досить надійною. Проте об'єктивності заради відзначимо, що і в неї є свої недоліки, до яких схильні всі системи, що реалізують принцип OTP у чистому вигляді. Подібні уразливості можна розділити на дві групи. До першої належать потенційно небезпечні "дірки", притаманні всім методам реалізації. Найбільш серйозною з них є можливість підміни сервера аутентифікації. При цьому користувач буде відправляти свої дані прямо зловмисникові. Ну а він може відразу використовувати їх для доступу до цього сервера. У разі застосування методу "Запит-відповідь" алгоритм атаки трохи ускладнюється (комп'ютер хакера повинен зіграти роль "посередника", пропускаючи через себе процес обміну інформацією між сервером і клієнтом). Втім, варто відзначити, що на практиці здійснити таку атаку зовсім непросто.

Інша вразливість властива тільки синхронним методів реалізації одноразових паролів, оскільки існує ризик рассинхронізациі інформації на сервері і в програмному або апаратному забезпеченні користувача. Припустимо, в якійсь системі початковими даними є свідчення внутрішніх таймерів. І з якихось причин вони починають не збігатися один з одним. У цьому випадку всі спроби користувачів пройти аутентифікацію будуть невдалими (помилка першого роду). На щастя, в подібних випадках помилка другого роду (помилковий допуск "чужого") виникнути не може. Втім, варто відзначити, що ймовірність виникнення описаної ситуації також вкрай мала.

Деякі атаки застосовні тільки до окремих способів реалізації технології одноразових паролів. Для прикладу можна знову взяти метод синхронізації за таймером. Як ми вже говорили, час в ньому враховується не з точністю до секунди, а в межах якогось встановленого заздалегідь інтервалу. Це необхідно для врахування можливості рассинхронізациі таймерів, а також появи затримок у передачі даних. І саме цим моментом теоретично може скористатися зловмисник для отримання несанкціонованого доступу до віддаленої системи. Для початку хакер "прослуховує" мережевий трафік від користувача до сервера аутентифікації і перехоплює відправлені "жертвою" логін та одноразовий пароль. Потім він тут же блокує його комп'ютер (перевантажує його, обриває зв'язок тощо), а сам відправляє авторизаційні дані вже від себе. І якщо він встигне зробити це так швидко, щоб інтервал аутентифікації не встиг змінитися, то сервер визнає його за зареєстрованого користувача.

Зрозуміло, що для такої атаки зловмисник повинен мати можливість "прослуховування" трафіку, а також швидкого блокування комп'ютера клієнта, а реально здійснити це – завдання не з легких. Найпростіше виконати ці умови тоді, коли атака замислюється наперед, причому для підключення до віддаленої системи "жертва" буде використовувати комп'ютер з чужої локальної мережі. У цьому випадку хакер може заздалегідь "Попрацювати" над одним з ПК, отримавши можливість керувати ним з іншої машини. Захиститися від такої атаки можна тільки шляхом використання "довірених" робочих машин (наприклад, власний ноутбук або КПК) і "незалежних" захищених, наприклад, за допомогою SSL, каналів виходу в Інтернет.


Якість реалізації


Надійність будь-якої системи безпеки значною мірою залежить від якості її реалізації. Тобто у практичних рішень є свої недоліки, які можуть бути використані зловмисниками в своїх цілях. Причому ці "дірки" часто не мають прямого відношення до реалізованої технології. Повною мірою це правило можна застосувати і до систем аутентифікації на базі одноразових паролів. Як вже говорилося вище, в їх основі лежить використання криптографічних алгоритмів. Це накладає певні зобов'язання на розробників таких продуктів. Адже неякісне виконання будь-якого алгоритму або, наприклад, генератора випадкових чисел, може поставити під загрозу безпеку інформації.

Генератори одноразових паролів можуть бути реалізовані двома способами: програмним і апаратним. Перший з них, природно, менш надійний. Справа в тому, що клієнтська утиліта повинна зберігати в собі секретний ключ користувача. Зробити це більш-менш безпечно можна тільки за допомогою шифрування самого ключа на основі персонального пароля. При цьому необхідно враховувати, що клієнтська утиліта повинна бути встановлена на комп'ютері (КПК, смартфон і т.п.), з якого в даний момент людина здійснює сесію. Таким чином, виходить, що аутентифікація співробітника залежить від одного пароля. Тим часом існує безліч способів дізнатися або підібрати його. І це далеко не єдина вразливість програмного генератора одноразових паролів.


Незрівнянно більшою надійністю має широкий спектр пристроїв для апаратної реалізації OTP-технологій. Наприклад, є пристрої, з вигляду нагадують калькулятор (на малюнку справа): при введенні в них набору цифр, надісланого сервером, на основі ушито секретного ключа вони генерують одноразовий пароль (реалізація методу "Запит-відповідь"). Головна вразливість подібних пристроїв полягає в можливості його втрати або злодійства. Якщо ваш "калькулятор" потрапить до рук зловмисникові, то останній зможе отримати бажаний доступ до віддаленої системи. Убезпечити систему від подібних дій можна тільки при умови використання надійного захисту пам'яті пристрою з секретним ключем.

Саме такий підхід реалізований у смарт-картах і USB-токен. Для доступу до їх пам'яті користувач повинен ввести свій PIN-код. Причому дані пристрої захищені від його підбору: при триразовому введенні неправильного значення вони блокуються. Надійне зберігання ключової інформації, апаратна генерація ключових пар і виконання криптографічних операцій у довіреній середовищі (на чіпі смарт-карти) роблять неможливим спроби зловмисника витягти секретний ключ і виготовити дублікат пристрою генерації одноразових паролів.


Приклад реалізації ОТР


Отже, ми визначилися з тим, що найбільш надійними генераторами одноразових паролів, захищеними практично від всіх вразливостей реалізації, є смарт-карти і USB-токени. Причому останні явно зручніше у використанні: застосовувати їх можна на будь-якому персональному комп'ютері або ноутбуці без використання додаткових пристроїв зчитування, як у випадку зі смарт-картами. Більш того, як парадоксально, на перший погляд, це звучить: існує реалізація USB-ключа з технологією OTP, який може працювати і без USB-порту. Прикладом такого електронного ключа може служити eToken NG-OTP від компанії Aladdin (На малюнку справа).


Варто відзначити, що компанія Aladdin бере активну участь у просуванні згаданої вище ініціативи OATH, а аналізований тут ключ був обраний як основного компонента рішення VeriSign Unified Authentication. Щоправда, називається він у цій системі трохи інакше: eToken VeriSign. Головне призначення цього рішення – підвищити довіру до угод, укладених через Інтернет, а в основі його лежить сувора двофакторна аутентифікація на основі апаратного ключа. Такі OEM-поставки продукту eToken NG-OTP підтверджують його якість і відповідність усім специфікаціям OATH.

Пристрої серії eToken досить широко поширені в Росії. Такі провідні виробники як Microsoft, Cisco, Oracle, Novell та ін, забезпечують їх підтримку в своїх продуктах (у "послужному списку" eToken більше 200 реалізацій з додатками для інформаційної безпеки).

Отже, в основі eToken NG-OTP лежить інший апаратний ключ, найпопулярніша модель в лінійці – eToken PRO. Він являє собою повноцінний токен, виконаний на базі чіпа смарт-карти з захищеною пам'яттю, який може служити для безпечного зберігання ключової інформації, профілів користувачів і інших конфіденційних даних, для апаратного виконання криптографічних обчислень і роботи з асиметричними ключами та сертифікатами Х.509.







 


 
 
Рис. 4. Пристрій ключа eToken NG-OTP:
1 – мікросхема смарт-карти; 2 – захищений мікроконтролер;
3 – USB-роз'єм, 4 – світловий індикатор режимів роботи eToken;
5 – кнопка для генерації одноразових паролів; 6 – РК-дисплей;
7 – джерело живлення.

У ключі eToken NG-OTP крім модулів, що реалізують описані вище можливості, є апаратний генератор одноразових паролів (див. рис.4). Працює він за методом "синхронізація по події". Це найбільш надійна з синхронних варіантів реалізація технології OTP (з мінімальним ризиком рассинхронізациі). Алгоритм генерації одноразових паролів, реалізований в ключі eToken NG-OTP, розроблений у рамках ініціативи OATH (він заснований на технології HMAC). Суть його полягає в обчисленні значення HMAC-SHA-1, а потім виконання операції усічення (виділення) з отриманого 160-бітового значення 6-ти цифр. Саме вони і є тим самим одноразовим паролем.


Цікава особливість комбінованого ключа eToken NG-OTP – можливість використовувати одноразові паролі навіть без його підключення до комп'ютера. Процес генерації OTP може запускатися шляхом натискання на спеціальну кнопку, розміщену на корпусі пристрою (на малюнку справа), а його результат у цьому випадку буде відображатися на вбудованому рідкокристалічному дисплеї. Такий підхід дозволяє використовувати технологію OTP навіть на тих пристроях, на яких відсутні USB-порти (смартфони, КПК, стільникові телефони і т.п.), і на комп'ютерах, на яких вони заблоковані.

Найбільш надійний змішаний режим роботи розглянутого ключа. Для його використання пристрій має бути підключений до ПК. У цьому випадку мова йде вже про двофакторної аутентифікації, яка може бути реалізована кількома способами. В одному випадку для отримання доступу до мережі необхідно застосовувати власний пароль користувача для входу в неї, а також значення ОТР. Інший варіант – вимагає використання одноразового пароля і значення OTP PIN (відображається на екрані ключа).

Природно, ключ eToken NG-OTP може працювати в якості стандартного USB-токена – для аутентифікації користувачів за допомогою цифрових сертифікатів і технології PKI, для зберігання персональних ключів і т.п. Таким чином, розглянутий продукт доцільно використовувати для реалізації широкого спектру проектів, пов'язаних з необхідністю безпечного віддаленого доступу і двофакторної аутентифікації. Застосування таких ключів-гібридів у масштабі підприємства дозволить отримати можливість використовувати свої ключі як в офісі, так і поза його межами. Цей підхід зменшує витрати на створення системи інформаційної безпеки, не знижуючи її надійності.


Підбиваємо підсумки


Отже, концепція одноразових паролів укупі з сучасними криптографічними методами можуть використовуватися для реалізації надійних систем віддаленої аутентифікації. При цьому дана технологія має ряд серйозних достоїнств. По-перше, це, надійність. Сьогодні розроблено не так вже й багато способів дійсно "сильною" аутентифікації користувачів з передачею інформації по відкритих каналах зв'язку. Між тим таке завдання з'являється все частіше і частіше. І одноразові паролі – один з найперспективніших її рішень.

Друга перевага одноразових паролів – це використання "стандартних" криптографічних алгоритмів. Так що для реалізації системи аутентифікації з їх застосуванням чудово підходять вже існуючі розробки. Власне кажучи, це наочно доводить той же eToken NG-OTP, сумісний з вітчизняними криптопровайдера. Ну а це тягне за собою можливість використання таких токенів у вже існуючих системах корпоративної безпеки без їх перебудови. Таким чином, впровадження технології одноразових паролів можна провести з відносно невеликими витратами.

Ще один плюс одноразових паролів полягає в низькій залежності захисту від людського фактора. Правда, це відноситься не до всіх її реалізацій. Як ми вже говорили, надійність багатьох програм для створення одноразових паролів залежить від якості використовуваного користувачем PIN-коду. В апаратних генераторах на базі USB-токенів використовується повноцінна двофакторна автентифікація. І нарешті, четверте перевагу концепції OTP – зручність її для користувачів. Отримувати доступ до необхідної інформації за допомогою одноразових паролів не складніше ніж застосовувати для цієї мети статичні ключові слова. Особливо приємно те, що деякі апаратні реалізації розглянутої технології можна використовувати на будь-яких пристроях незалежно від існуючих на ньому портів і встановленого ПЗ.

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*