КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Аутентифікація з використанням односторонніх функцій
Групи користувачів Облікові записи Для того щоб аутентифікація користувача була можлива, у системі має зберіга тись інформація про цього користувача. Таку інформацію називають обліковим записом (account). Із ним звичайно пов'язують такі дані: · ім'я користувача, яке він вказує для входу у систему; · ідентифікатор користувача, що зазвичай є чисельним значенням, унікальним у межах комп'ютера або групи комп'ютерів (цей ідентифікатор OC використовує під час аутентифікації і авторизації); · інформація про пароль користувача; · інформація про обмеження на вхід користувача у систему (термін легітимності облікового запису, періодичність зміни пароля, години і дні тижня, у які користувач може отримувати доступ у систему тощо); · інформація про групи, до яких належить цей користувач; · місце знаходження домашнього каталогу користувача (у якому він може створювати свої файли); · налаштування сесії користувача (шлях до його командного інтерпретатора тощо). Інформацію про облікові записи зберігають у базі даних облікових записів (account database). Адміністратор системи може змінювати будь-яку інформацію в цій базі, для інших користувачів звичайно доступна лише зміна їхнього власного пароля.
У сучасних OC для зручності адміністрування системи користувачі можуть об'єднуватись у групи. Користувач може одночасно належати до кількох груп. Під час авторизації доступу до об'єктів перевіряють не тільки права самого користувача, але й права груп, до яких він належить. Інформацію про групи також зберігають у базі даних облікових записів. Звичайно OC визначає кілька стандартних груп, які створюють під час її установки, зокрема, групу адміністраторів системи (які можуть виконувати в ній будь-які дії) і групу звичайних користувачів із обмеженим доступом.
Для перевірки пароля немає потреби знати цей пароль, досить уміти відрізняти правильний пароль від неправильного. Тому замість зберігання паролів доцільно зберігати односторонні функції цих паролів. Подивимося, як виглядатиме в даному випадку протокол аутентифікації. 1. Аліса посилає системі свої ім'я і пароль. 2. Система обчислює односторонню функцію від пароля. 3. Система порівнює результат обчислення односторонньої функції зі значенням, що зберігається у базі даних облікових записів. У результаті зменшуються втрати, які може задати зловмисник, коли отримає доступ до списку паролів, оскільки навіть у цьому разі за односторонньою функцією відновити паролі неможливо. Проте цей підхід не позбавлений недоліків.
Словникові атаки і сіль Якщо зловмисник володіє списком паролів, зашифрованих односторонньою функцією, можлива словникова атака. Зловмисник бере набір найпоширеніших паролів, застосовує до них односторонню функцію і зберігає всі зашифровані паролі. Потім він порівнює список зашифрованих паролів із цим файлом (словником) у пошуках збігів. Один зі способів боротьби із такою атакою пов'язаний із використанням солі (salt). Сіль - це випадковий рядок S, який додають до пароля перед шифруванням. У список шифрованих паролів заноситься рядок S + E(S + P), де P - пароль, E - функція шифрування, «+» - конкатенація рядків. Якщо кількість можливих значень солі достатньо велика, то це робить словникову атаку значно складнішою, оскільки у словник потрібно вносити результати шифрування паролів із усіма можливими значеннями солі. Солі потрібно досить багато. Наприклад, стандартний її обсяг, прийнятий в UNIX (12 біт, що дає 4096 можливих значень), є не зовсім достатнім (є словники найуживаніших паролів, об'єднані з усіма значеннями солі).
Аутентифікація за принципом «виклик-відповідь» Більш серйозна проблема, пов'язана із використанням описаного підходу, полягає в тому, що пароль передають мережею незашифрованим, і він може бути перехоплений зловмисником. Один зі способів вирішення цієї проблеми полягає в тому, щоб передавати мережею не паролі, а їх односторонні хеші (дайджести). Цей підхід називають аутентифікацією за принципом «виклик-відповідь» (challenge-response authentication) або дайджест-аутентифікацією. Протокол такої аутентифікації має такий вигляд. 1. Система зберігає значення односторонньої функції від пароля Аліси F1(Ps) у базі даних облікових записів. 2. Аліса передає системі своє вхідне ім'я (відкритим текстом) і значення F1(PA ), обчислене із використанням пароля РА, який вона ввела. 3. Система генерує випадкове число C, яке називають викликом (challenge), і передає його Алісі. 4. Аліса застосовує іншу односторонню функцію до значення виклику. Ha вхід цієї функції, крім виклику, передають значення F1(PA ) RA = F2(Ft(PA), С). 5. Аліса передає системі значення RA (відповідь, response). 6. Система обчислює аналогічне до RA значення Rs на підставі інформації із бази даних облікових записів Rs = F2(F1(P5), C). 7. Якщо значення RA і Rs, отримані системою на кроках 5 і 6, збігаються, аутентифікацію вважають успішною. Використання випадкового значення виклику в цьому разі зумовлене необхідністю запобігання атаці відтворенням (replay attack), під час якої зловмисник перехоплює інформацію, передану Алісою системі для того, щоб пізніше відіслати її самому, прикидаючись Алісою. Цей протокол був основним підходом до аутентифікації у системах лінії Windows XP до появи Windows 2000 і дотепер підтримується у цих системах (наприклад, для локальної аутентифікації). Його надійність залежить від надійності алгоритму, використаного для односторонньої функції (перехоплення зловмисником дайджесту дасть можливість здійснити на нього словникову атаку). Зазначимо також, що в цьому разі користувач не може бути впевнений, що система насправді є тією, до якої він запитує доступ. Більш складним протоколом аутентифікації є протокол Kerberos. Це розподілена система аутентифікації користувачів із можливістю аутентифікації клієнта і сервера. Протокол Kerberos є основним протоколом мережної аутентифікації у системах лінії Windows XP, починаючи із Windows 2000. Реалізація цього протоколу доступна і для UNIX-систем.
2. Для реалізації керування доступом операційна система має можливість визначати, що за дії і над якими об'єктами має право виконувати той чи інший користувач системи. Звичайний розподіл прав відображають у вигляді матриці доступу, у якій рядки відповідають суб'єктам авторизації (користувачам, групам користувачів тощо), стовпці - ресурсам (файлам, пристроям тощо), а на перетині рядка і стовпця зазначені права цього суб'єкта на виконання операцій над даним ресурсом (рис. 18.1). Зберігання повної матриці контролю доступу неефективне (вона займатиме багато місця), тому звичайно використовують два базові підходи для її компактного відображення. 1. У разі реалізації списків контролю доступу (Access Control Lists, ACL) зберігаються стовпці матриці. Для кожного ресурсу задано список суб'єктів, які можуть використовувати цей ресурс. 2. У разі реалізації можливостей (capabilities) зберігаються рядки матриці. Для кожного суб'єкта задано список ресурсів, які йому дозволено використовувати.
Дата добавления: 2014-10-23; Просмотров: 449; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |