Ноу Інти, лекція, захисні механізми операційних систем

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

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

Зазвичай аутентифікація базується на одному або більше з трьох пунктів:

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

Паролі, вразливість паролів

Найбільш простий підхід до аутентифікації - застосування користувальницького пароля.

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

Є два загальних способу вгадати пароль. Один пов'язаний зі збором інформації про користувача. Люди зазвичай використовують як паролі очевидну інформацію (скажімо, імена тварин або номерні знаки автомобілів). Для ілюстрації важливості розумної політики призначення ідентифікаторів і паролів можна навести дані досліджень, проведених в ATT, що показують, що з 500 спроб несанкціонованого доступу близько 300 складають спроби вгадування паролів або беспарольного входу по призначених для користувача імен guest, demo і т. Д.

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

Незважаючи на все це, паролі поширені, оскільки вони зручні і легко реалізовані.

шифрування пароля

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

Наприклад, в ряді версій Unix в якості односторонньої функції використовується модифікований варіант алгоритму DES. Введений пароль довжиною до 8 знаків перетвориться в 56-бітове значення, яке служить вхідним параметром для процедури crypt (), заснованої на цьому алгоритмі. Результат шифрування залежить не тільки від введеного пароля, але і від випадкової послідовності бітів, званої прив'язкою (змінна salt). Це зроблено для того, щоб вирішити проблему співпадаючих паролів. Очевидно, що саму прив'язку після шифрування необхідно зберігати, інакше процес не вдасться повторити. Модифікований алгоритм DES виконується, маючи вхідний значення у вигляді 64-бітового блоку нулів, з використанням пароля в якості ключа, а на кожній наступній ітерації вхідним параметром служить результат попередньої ітерації. Всього процедура повторюється 25 разів. Отримане 64-бітове значення перетвориться в 11 символів і зберігається поряд з відкритою змінної salt.

В ОС Windows NT перетворення вихідного пароля також здійснюється багаторазовим застосуванням алгоритму DES і алгоритму MD4.

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

При віддаленому доступі до ОС небажана передача пароля по мережі у відкритому вигляді. Одним з типових рішень є використання криптографічних протоколів. Як приклад можна розглянути протокол впізнання з підтвердженням встановлення зв'язку шляхом виклику - CHAP (Challenge Handshake Authentication Protocol).

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

Схожі статті