Ідентифікація та аутентифікація. Управління доступом.
Прізвище | Савула |
Ім'я | Вікторія |
По-батькові | Романівна |
Факультет | ФІС |
Група | СН-41 |
Залікова книжка | ПК-07-023 |
Презентація доповіді на тему Ідентифікація та аутентифікація. Управління доступом. є розміщеною в Репозиторії. |
Ідентифікація дозволяє суб'єктові (користувачеві, процесу, що діє від імені певного користувача, або іншому апаратно-програмному компоненту) назвати себе (повідомити своє ім'я). За допомогою аутентифікації друга сторона переконується, що суб'єкт дійсно той, за кого він себе видає. Як синонім слова "аутентифікація" іноді використовують словосполучення "перевірка достовірності".
Зміст
Основні поняття
Аутентифікація буває односторонньою (зазвичай клієнт доводить свою достовірність серверу) і двосторонньою (взаємною). Приклад односторонньої аутентифікації - процедура входу користувача у систему.
У мережевому середовищі, коли сторони ідентифікації/аутентифікації територіально рознесені, у даного сервісу є два основні аспекти:
- що служить аутентіфікатором (засобом підтвердження достовірності суб'єкта);
- як організований (і захищений) обмін даними ідентифікації/аутентифікації.
Суб'єкт може підтвердити свою достовірність, пред'явивши принаймні один з фактів:
- щось, відоме лише йому (пароль, ідентифікаційний номер криптографічний ключ і т.п.);
- щось, чим він володіє (особисту картку або інший пристрій аналогічного призначення);
- щось, що є частиною його самого (голос, відбитки пальців та інші свої біометричні дані).
У відкритому мережевому середовищі між сторонами ідентифікації/аутентифікації не існує довіреного маршруту; це означає, що в загальному випадку дані, передані суб'єктом, можуть не співпадати з даними, отриманими і використаними для перевірки достовірності. Необхідно забезпечити захист від пасивного і активного прослуховування мережі, тобто від перехоплення, зміни і/або відтворення даних. Передача паролів у відкритому вигляді, очевидно, незадовільна; не рятує положення і шифрування паролів, оскільки воно не захищає від відтворення. Потрібні складніші протоколи аутентифікації.
Надійна ідентифікація утруднена не тільки через мережеві загрози, але і з цілого ряду причин. По-перше, майже всю аутентифікаційну суть можна дізнатися, вкрасти або підробляти. По-друге, є суперечність між надійністю аутентифікації, з одного боку, і зручностями користувача і системного адміністратора з іншого. Так, з міркувань безпеки необхідно з певною частотою просити користувача повторно вводити аутентифікаційну інформацію (адже на його місце може сісти хтось інший), а це не тільки клопітно, але і підвищує імовірність того, що хтось може підглянути за вводом даних. По-третє, надійніший засіб захисту завжди дорожчий.
Парольна аутентифікація
Головна перевага парольної аутентифікації - простота і звичність. Паролі давно вбудовані в операційні системи та інші сервіси. При правильному використанні паролі можуть забезпечити прийнятний для багатьох організацій рівень безпеки. Проте, по сукупності характеристик їх слід визнати найслабкішим засобом перевірки достовірності.
Щоб пароль запам'ятовувався, його часто роблять простим (ім'я подруги, назва спортивної команди і т.п.). Проте простий пароль неважко вгадати, особливо якщо знати пристрасті даного користувача.
Проте, наступні заходи дозволяють значно підвищити надійність парольного захисту:
- накладення технічних обмежень (пароль повинен бути не дуже коротким, він повинен містити букви, цифри, знаки пунктуації і т.п.);
- управління терміном дії паролів, їх періодична зміна;
- обмеження доступу до файлу паролів;
- обмеження числа невдалих спроб входу в систему (це утруднить застосування "методу грубої сили");
- навчання користувачів;
- використання програмних генераторів паролів (така програма, ґрунтуючись на нескладних правилах, може генерувати тільки благозвучні паролі, що запам'ятовуються).
Одноразові паролі
Найвідомішим програмним генератором одноразових паролів є система S/KEY компанії Bellcore. Ідея цієї системи полягає в наступному. Хай є одностороння функція f (тобто функція, обчислити зворотну до якої за прийнятний час не є можливим). Ця функція відома і користувачеві, і серверу аутентифікації. Нехай, є секретний ключ K, відомий тільки користувачеві.
На етапі початкового адміністрування користувача функція f застосовується до ключа K n разів, після чого результат зберігається на сервері. Після цього процедура перевірки достовірності користувача виглядає таким чином:
- сервер присилає на призначену для користувача систему число (n-1);
- користувач застосовує функцію f до секретного ключа K (n-1) разів і відправляє результат по мережі на сервер аутентифікації;
- сервер застосовує функцію f до отриманого від користувача значення і порівнює результат з раніше збереженою величиною. У разі збігу достовірність користувача вважається встановленою, сервер запам'ятовує нове значення (прислане користувачем) і зменшує на одиницю лічильник (n).
Система S/KEY має статус Internet-стандарту (RFC 1938).
Сервер аутентифікації Kerberos
Kerberos - це програмний продукт, розроблений в середині 1980-х років в Масачусетському технологічному інституті і зазнав з тих пір низки принципових змін. Клієнтські компоненти Kerberos присутні в більшості сучасних операційних систем.
Kerberos призначений для вирішення наступного завдання. Є відкрита (незахищена) мережа, у вузлах якої зосереджені суб'єкти - користувачі, а також клієнтські і серверні програмні системи. Кожен суб'єкт володіє секретним ключем. Щоб суб'єкт C міг довести свою достовірність суб'єктові S (без цього S не стане обслуговувати C), він повинен не тільки назвати себе, але і продемонструвати знання секретного ключа. C не може просто послати S свій секретний ключ, по-перше, тому, що мережа відкрита (доступна для пасивного і активного прослуховування), а, по-друге, тому, що S не знає (і не повинен знати) секретний ключ C. Потрібний менш прямолінійний спосіб демонстрації знання секретного ключа.
Система Kerberos є довіреною третьою стороною (стороною, якій довіряють всі), що володіє секретними ключами обслуговуваних суб'єктів і допомагає їм у попарній перевірці достовірності.
Щоб за допомогою Kerberos дістати доступ до S (звичайно це сервер), C (як правило - клієнт) посилає Kerberos запит, що містить відомості про нього (клієнтові) і про запрошувану послугу. У відповідь Kerberos повертає так званий квиток, зашифрований секретним ключем сервера, і копію частини інформації з квитка, зашифровану секретним ключем клієнта. Клієнт повинен розшифрувати другу порцію даних і переслати її разом з квитком серверу. Сервер, розшифрувавши квиток, може порівняти його вміст з додатковою інформацією, присланою клієнтом. Співпадіння свідчить про те, що клієнт зміг розшифрувати призначені йому дані (адже вміст квитка нікому, окрім сервера і Kerberos, недоступний), тобто продемонстрував знання секретного ключа. Значить, клієнт - саме той, за кого себе видає. Підкреслимо, що секретні ключі в процесі перевірки достовірності не передавалися по мережі (навіть у зашифрованому вигляді) - вони тільки використовувалися для шифрування.
Ідентифікація/аутентифікація за допомогою біометричних даних
Біометрія це сукупність автоматизованих методів ідентифікації і/або аутентифікації людей на основі їх фізіологічних і поведінкових характеристик. До фізіологічних характеристик належать особливості відбитків пальців, сітківки і рогівки очей, геометрія руки та особи і т.п. До поведінкових характеристик відносяться динаміка підпису (ручний), стиль роботи з клавіатурою. На стику фізіології і поведінки знаходяться аналіз особливостей голосу і розпізнавання мови.
Біометрією у всьому світі займаються дуже давно, проте довгий час все, що було пов'язане з нею, відрізнялося складністю і дороговизною. Останнім часом попит на біометричні продукти, в першу чергу у зв'язку з розвитком електронної комерції, постійно та інтенсивно росте. Це зрозуміло, оскільки з погляду користувача набагато зручніше пред'явити себе самого, ніж щось запам'ятовувати. Попит народжує пропозицію, і на ринку з'явилися відносно недорогі апаратно-програмні продукти, орієнтовані в основному на розпізнавання відбитків пальців.
Робота з біометричними даними організована таким чином. Спочатку створюється і підтримується база даних характеристик потенційних користувачів. Для цього біометричні характеристики користувача знімаються, обробляються, і результат обробки (біометричний шаблон) заноситься в базу даних (початкові дані, такі як результат сканування пальця або рогівки, зазвичай не зберігаються).
Надалі для ідентифікації (і одночасно аутентифікації) користувача процес зняття і обробки повторюється, після чого проводиться пошук в базі даних шаблонів. У разі успішного пошуку особа користувача і її достовірність вважаються встановленими. Для аутентифікації досить провести порівняння з одним біометричним шаблоном, вибраним на основі попередніх введених даних.
Зазвичай біометрію застосовують разом з іншими аутентифікаторами, такими, наприклад, як інтелектуальні карти. Іноді біометрична аутентифікація є лише першим рубежем захисту і служить для активізації інтелектуальних карт, що зберігають криптографічні секрети; у такому разі біометричний шаблон зберігається на тій же карті.
Активність в області біометрії дуже велика. Організований відповідний консорціум (див. www.biometrics.org/), активно ведуться роботи по стандартизації різних аспектів технології (формату обміну даними, прикладного програмного інтерфейсу і т.п.), публікується маса рекламних статей, в яких біометрія підноситься як засіб забезпечення надбезпеки.
Управління доступом
Існує логічне і ролеве управління доступом.
Логічне управління доступом - це основний механізм багатокористувацьких систем, покликаний забезпечити конфіденційність і цілісність об'єктів і, до деякої міри, їх доступність (шляхом заборони обслуговування неавторизованих користувачів).
Тема логічного управління доступом - одна з найскладніших в області інформаційної безпеки. Річ у тому, що саме поняття об'єкту (а тим більше видів доступу) міняється від сервісу до сервісу. Для операційної системи до об'єктів відносяться файли, пристрої і процеси. Стосовно файлів і пристроїв зазвичай розглядаються права на читання, запис, виконання (для програмних файлів), іноді на видалення і додавання. Окремим правом може бути можливість передачі повноважень доступу іншим суб'єктам (так зване право володіння). Процеси можна створювати і знищувати. Сучасні операційні системи можуть підтримувати і інші об'єкти.
Ролеве управління доступом передбачає, що між користувачами і їх привілеями з'являються проміжні сутності - ролі. Для кожного користувача одночасно можуть бути активними декілька ролей, кожна з яких дає йому певні права.
Ролевий доступ нейтральний по відношенню до конкретних видів прав і способів їх перевірки; його можна розглядати як об'єктно-орієнтований каркас, що полегшує адміністрування, оскільки він дозволяє зробити підсистему розмежування доступу керованою при якому завгодно великому числі користувачів, перш за все за рахунок встановлення між ролями зв'язків, аналогічних спадкоємству в об'єктно-орієнтованих системах. Крім того, ролей повинно бути значно менше, ніж користувачів. В результаті число зв'язків, що адмініструються, стає пропорційним сумі (а не добутку) кількості користувачів і об'єктів, що по порядку величини зменшити вже неможливо.
Ролеве управління доступом оперує наступними основними поняттями:
- користувач (людина, інтелектуальний автономний агент і т.п.);
- сеанс роботи користувача;
- роль (зазвичай визначається відповідно до організаційної структури);
- об'єкт (суть, доступ до якої розмежовується; наприклад, файл ОС або таблиця СУБД);
- операція (залежить від об'єкту; для файлів ОС - читання, запис, виконання і т.п.; для таблиць СУБД - вставка, видалення і т.п., для прикладних об'єктів операції можуть бути складнішими);
- право доступу (дозвіл виконувати певні операції над певними об'єктами).
Існує статичне і динамічне розділення обов'язків.
Статичне розділення обов'язків накладає обмеження на приписування користувачів ролям. У простому випадку членство в деякій ролі забороняє приписування користувача певній множині інших ролей. У загальному випадку дане обмеження задається як пара "множина ролей - число" (де множина полягає, принаймні, з двох ролей, а число повинне бути більшим за 1), так що ніякий користувач не може бути приписаний вказаному (або більшому) числу ролей із заданої множини. Наприклад, може існувати п'ять бухгалтерських ролей, але політика безпеки допускає членство не більше ніж у двох таких ролях (тут число=3).
Динамічне розділення обов'язків відрізняється від статичного тільки тим, що розглядаються ролі, одночасно активні (мабуть, в різних сеансах) для даного користувача (а не ті, яким користувачі статично приписані). Наприклад, один користувач може грати роль і касира, і контролера, але не одночасно; щоб стати контролером, він повинен спочатку закрити касу. Тим самим реалізується так зване тимчасове обмеження довіри, що є аспектом мінімізації привілеїв.