Система S / KEY має статус Internet-стандарту (RFC 1938)

Професор В.Горицький

Лекція 10: Ідентифікація та аутентифікація, управління доступом

1. Ідентифікація і аутентифікація ………………………………………….. 1

2. Управління доступом …………………………………………………….. 8

Основні поняття

2.2. Рольове управління доступом ……………………………..…. 11

2.3. Управління доступом в Java-середовищі ……………………. 14

2.4. Можливий підхід до управління доступом в розподіленому об'єктному середовищі ………… …… ……………………… 18

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

Ідентифікація і аутентифікація

Основні поняття

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

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

(Зауважимо в дужках, що походження російськомовного терміна " аутентифікація " не зовсім зрозуміло. Англійське "authentication" скоріше можна прочитати як " аутентикації ";важко сказати, звідки в середині взялося ще "фе" - може, з ідентифікації? Тим не менше, термін устоявся, він закріплений в Керівних документах Держтехкомісії Росії, використаний у численних публікаціях, тому виправити його вже неможливо.)

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

В мережевому середовищі, коли сторони ідентифікації/аутентифікації територіально рознесені, у аналізованого сервісу є два основних аспекти:

· що служить аутентифікатором (тобто використовується для підтвердження автентичності суб'єкта);

· як організований (і захищений) обмін даними ідентифікації/аутентифікації.

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

· щось, що він знає (пароль, особистий ідентифікаційний номер, криптографічний ключ і т.п.);

· щось, чим він володіє (особисту картку або інший пристрій аналогічного призначення);

· щось, що є частина його самого (голос, відбитки пальців тощо, тобто свої біометричні характеристики).

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

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

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

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

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

Автентифікація

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

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

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

Введення пароля можна підглянути. Іноді для підглядання використовуються навіть оптичні прилади.

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

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

Тим не менш, такі заходи дозволяють значно підвищити надійність парольного захисту:

· накладення технічних обмежень (пароль повинен бути не дуже коротким, він повинен містити букви, цифри, знаки пунктуації і т.п.);

· управління терміном дії паролів, їх періодична зміна;

· обмеження доступу до файлу паролів;

· обмеження числа невдалих спроб входу в систему (це ускладнить застосування "методу грубої сили");

· навчання користувачів;

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

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

Одноразові паролі

Розглянуті вище паролі можна назвати багаторазовими; їх розкриття дозволяє зловмисникові діяти від імені легального користувача. Набагато більш сильним засобом, стійким до пасивного прослуховування мережі, є одноразові паролі.

Найбільш відомим програмним генератором одноразових паролів є система S/KEY компанії Bellcore. Ідея цієї системи полягає в наступному. Нехай є одностороння функція f (тобто функція, обчислити зворотний якої за прийнятний час не представляється можливим). Ця функція відома і користувачеві, і серверу аутентифікації. Нехай, далі, є секретний ключ K, відомий тільки користувачу.

На етапі початкового адміністрування користувача функція f застосовується до ключа K n разів, після чого результат зберігається на сервері. Після цього процедура перевірки автентичності користувача виглядає наступним чином:

· сервер надсилає на користувальницьку систему число (n-1);

· користувач застосовує функцію f до секретного ключа K (n-1) раз і відправляє результат по мережі на сервер аутентифікації;

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

Насправді реалізація влаштована трохи складніше (крім лічильника, сервер посилає затравочне значення, яке використовується функцією f), але для нас зараз це не важливо. Оскільки функція f незворотна, перехоплення пароля, так само як і отримання доступу до сервера аутентифікації, не дозволяють дізнатися секретний ключ K і передбачити наступний одноразовий пароль.

Система S / KEY має статус Internet-стандарту (RFC 1938).

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: