Аутентифікація ( англ. Authentication ) - Процедура перевірки достовірності [1], наприклад: перевірка автентичності користувача шляхом порівняння введеного ним пароля з паролем в базі даних користувачів; підтвердження справжності електронного листа шляхом перевірки цифрового підпису листи по ключу перевірки підпису відправника; перевірка контрольної суми файлу на відповідність сумі, заявленій автором цього файлу. У російській мові термін застосовується в основному в сфері інформаційних технологій.

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

Аутентифікацію не слід плутати з авторизацією [2] (процедурою надання суб'єкту певних прав) та ідентифікацією (процедурою розпізнавання суб'єкта по його ідентифікатору).


1. Історія

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

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


1.1. Елементи системи аутентифікації

У будь-якій системі аутентифікації зазвичай можна виділити кілька елементів [3] :

  • суб'єкт, який проходитиме процедуру аутентифікації
  • характеристика суб'єкта - відмітна риса
  • господар системи аутентифікації, що несе відповідальність і контролює її роботу
  • сам механізм аутентифікації, тобто принцип роботи системи
  • механізм, що надає чи позбавляє суб'єкта певних прав доступу
Елемент аутентифікації Печера 40 розбійників Реєстрація в системі Банкомат
Суб'єкт Людина, що знає пароль Авторизований користувач Власник банківської карти
Характеристика Пароль "Сезам, відкрийся!" Секретний пароль Банківська карта і персональний ідентифікатор
Господар системи 40 розбійників Підприємство, якому належить система Банк
Механізм аутентифікації Чарівне пристрій, що реагує на слова Програмне забезпечення, що перевіряє пароль Програмне забезпечення, що перевіряє карту і ідентифікатор
Механізм управління доступом Механізм, відсуває камінь від входу в печеру Процес реєстрації, управління доступом Дозвіл на виконання банківських операцій

1.2. Фактори аутентифікації

Ще до появи комп'ютерів використовувалися різні відмінні риси суб'єкта, його характеристики. Зараз використання тієї чи іншої характеристики в системі залежить від необхідної надійності, захищеності і вартості впровадження. Виділяють 3 фактори аутентифікації [4] :

  • Щось, що ми знаємо - пароль. Це секретна інформація, якою повинен володіти тільки авторизований суб'єкт. Паролем може бути мовне слово, текстове слово, комбінація для замка або персональний ідентифікаційний номер ( PIN). Парольний механізм може бути досить легко реалізований і має низьку вартість. Але має суттєві мінуси: зберегти пароль у секреті часто буває проблематично, зловмисники постійно придумують нові методи крадіжки, злому і підбору пароля (див. бандитський криптоаналіз). Це робить парольний механізм слабозахищених.
  • Щось, що ми маємо - пристрій аутентифікації. Тут важливий факт володіння суб'єктом якимось унікальним предметом. Це може бути особиста печатка, ключ від замку, для комп'ютера це файл даних, що містять характеристику. Характеристика часто вбудовується в спеціальний пристрій аутентифікації, наприклад, пластикова карта, смарт-карта. Для зловмисника роздобути такий пристрій стає більш проблематично, ніж зламати пароль, а суб'єкт може відразу ж повідомити в разі крадіжки пристрою. Це робить даний метод більш захищеним, ніж парольний механізм, однак, вартість такої системи більш висока.
  • Щось, що є частиною нас - біометрика. Характеристикою є фізична особливість суб'єкта. Це може бути портрет, відбиток пальця або долоні, голос або особливість очі. З точки зору суб'єкта, даний метод є найбільш простим: не треба ні запам'ятовувати пароль, ні переносити з собою пристрій аутентифікації. Однак, біометрична система повинна володіти високою чутливістю, щоб підтверджувати авторизованого користувача, але відкидати зловмисника з схожими біометричними параметрами. Також вартість такої системи досить велика. Але незважаючи на свої мінуси, біометрика залишається досить перспективним чинником.

2. Способи аутентифікації

2.1. Аутентифікація за багаторазовим паролям

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

Проста аутентификация має наступний загальний алгоритм :

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

Введений суб'єктом пароль може передаватися в мережі двома способами:

  • Незашифрованому, у відкритому вигляді, на основі протоколу парольного аутентифікації ( Password Authentication Protocol, PAP)
  • З використанням шифрування або односпрямованих хеш-функцій. У цьому випадку унікальні дані, введені суб'єктом передаються по мережі захищено.

2.1.1. Захищеність

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

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


2.1.2. Бази облікових записів

На комп'ютерах з ОС сімейства UNIX, базою є файл / etc / master.passwd (в дистрибутивах Linux звичайно файл / etc / shadow, доступний для читання лише root), в якому паролі користувачів зберігаються у вигляді хеш-функцій від відкритих паролів, крім цього в цьому ж файлі зберігається інформація про права користувача. Спочатку в Unix-системах пароль (в зашифрованому вигляді) зберігався у файлі / Etc / passwd, доступному для читання всім користувачам, що було небезпечно.

На комп'ютерах з операційною системою Windows NT / 2000 / XP / 2003 (не входять до домен Windows) така база даних називається SAM ( Security Account Manager - Диспетчер захисту облікових записів). База SAM зберігає облікові записи користувачів, що включають в себе всі дані, необхідні системі захисту для функціонування. Знаходиться в директорії% windir% \ system32 \ config \.

У доменах Windows Server 2000 / 2003 такою базою є Active Directory.

Однак більш надійним способом зберігання аутентифікаційних даних визнано використання спеціальних апаратних засобів (компонентів).

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


2.2. Аутентифікація за одноразовими паролями

Роздобувши одного разу багаторазовий пароль суб'єкта, зловмисник має постійний доступ до зламаної конфіденційної інформації. Ця проблема вирішується застосуванням одноразових паролів ( OTP - One Time Password). Суть цього методу - пароль дійсний тільки для одного входу в систему, при кожному наступному запиті доступу - потрібен новий пароль. Реалізовано механізм аутентифікації по одноразових паролів може бути як апаратно, так і програмно.

Технології використання одноразових паролів можна розділити на:

  • Використання генератора псевдовипадкових чисел, єдиного для суб'єкта і системи
  • Використання тимчасових міток разом з системою єдиного часу
  • Використання бази випадкових паролів, єдиного для суб'єкта і для системи

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

У другому методі використовуються тимчасові мітки. Як приклад такої технології можна привести SecurID. Вона заснована на використанні апаратних ключів і синхронізації за часом. Аутентифікація заснована на генерації випадкових чисел через певні часові інтервали. Унікальний секретний ключ зберігається тільки в базі системи і в апаратному пристрої суб'єкта. Коли суб'єкт запитує доступ в систему, йому пропонується ввести PIN-код, а також випадково генерується число, відображуваного в цей момент на апаратному пристрої. Система зіставляє введений PIN-код і секретний ключ суб'єкта зі своєї бази і генерує випадкове число, грунтуючись на параметрах секретного ключа з бази і поточного часу. Далі перевіряється ідентичність згенерованого числа і числа, введеного суб'єктом.

Третій метод заснований на єдиній базі паролів для суб'єкта і системи і високоточної синхронізації між ними. При цьому кожен пароль з набору може бути використаний тільки один раз. Завдяки цьому, навіть якщо зловмисник перехопить використовуваний суб'єктом пароль, то він вже буде недійсний.

У порівнянні з використанням багаторазових паролів, одноразові паролі надають більш високий ступінь захисту.


2.3. Багатофакторна аутентифікація

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

В якості прикладу можна навести використання SIM-карт в мобільних телефонах. Суб'єкт вставляє апаратно свою карту (пристрій аутентифікації) в телефон і при включенні вводить свій PIN-код (пароль).

Також, до прикладу у деяких сучасних ноутбуках присутній сканер відбитка пальця. Таким чином, при вході в систему суб'єкт повинен пройти цю процедуру ( біометрика), а потім ввести пароль.

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

Можна навести порівняльну таблицю:

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

3. Протоколи аутентифікації

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

Найпростіший протокол аутентифікації - доступ по паролю ( Password Authentication Protocol, PAP). Його суть полягає в тому, що вся інформація про суб'єкта (ідентифікатор і пароль) передається по мережі у відкритому вигляді. Це і є головним недоліком PAP, оскільки зловмисник може легко отримати доступ до передающімся незашифрованим даними.

Більш складні протоколи аутентифікації засновані на принципі "запит-відповідь", наприклад, протокол CHAP (Challenge-Handshake Authentication Protocol). Робота протоколу типу "запит-відповідь" може складатися мінімум з чотирьох стадій:

  1. Суб'єкт відправляє системі запит, що містить його персональний ідентифікатор
  2. Система генерує випадкове число і відправляє його суб'єкту
  3. Суб'єкт зашифровує отримане число на основі свого унікального ключа і результат відправляє системі
  4. Система розшифровує отримане повідомлення на основі того ж унікального ключа. При збігу результату з вихідним випадковим числом, аутентифікація проходить успішно.

Сам унікальний ключ, на основі якого проводиться шифрування і з одного, і з іншого боку, не передається по мережі, отже, зловмисник не зможе його перехопити. Але суб'єкт повинен володіти власним обчислювальним шифрувальним пристроєм, наприклад, смарт-карта, мобільний телефон.

Принцип дії протоколів взаємної аутентифікації відрізняються від протоколів типу "запит-відповідь" незначно:

  1. Суб'єкт відправляє системі запит, що містить його персональний ідентифікатор і випадкове число N1
  2. Система зашифровує отримане число N1 на основі унікального ключа, генерує випадкове число N2, і відправляє їх обидва суб'єкту
  3. Cуб'ект розшифровує отримане число на основі свого унікального ключа і порівнює результат з N1. Ідентичність означає, що система володіє тим же унікальним ключем, що і суб'єкт
  4. Суб'єкт зашифровує отримане число N2 на основі свого унікального ключа і результат відправляє системі
  5. Система розшифровує отримане повідомлення на основі того ж унікального ключа. При збігу результату з вихідним числом N2, взаємна аутентифікація проходить успішно.

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

В операційних системах сімейства Windows NT 4 використовується протокол NTLM (NT LAN Manager - Диспетчер локальної мережі NT). А в доменах Windows 2000/2003 застосовується набагато більш досконалий протокол Kerberos.


Примітки