Авторизація
| |
Інокентій на кухні, він п'є молоко
Таргана углядівши в мороці
На душі його чисто, ясно і легко
Він не хоче впускати Полтораки
Б. Гребенщиков |
Механізми авторизації в різних ОС і прикладних системах
різні, але їх важко назвати всілякими. Два основні підходи до
авторизації — це ACL (Access Control List, список управління доступом)
або список контролю доступу і повноваження (capability).
Список контролю доступу асоціюється з об'єктом або групою об'єктів
і представлет собою таблицю, рядки якої відповідають обліковим записам
користувачів, а стовпці — окремим операціям, які можна здійснити
над об'єктом. Перед виконанням операції система шукає ідентифікатор користувача
в таблиці і перевіряє, чи вказана виконувана операція в списку його прав.
Реалізація
списків управління доступом сповна прямолінійна і не представляє непереборних
складнощів. Розробники системи безпеки, втім, можуть
(і часто бувають вимушені) робити досить складні заходи для
скорочення ACL, пропонуючи ті або інші явні і неявні способи об'єднання користувачів
і об'єктів, що захищаються, в групи.
Повноваження є абстрактним об'єктом, наявність
якого в контексті доступу завдання дозволяє виконувати ту або іншу операцію
над об'єктом, що захищається, або класом об'єктів, а відсутність — відповідно
не дозволяє. При реалізації такої системи розробник повинен гарантувати,
що користувач не зможе самостійно сформувати повноваження.
Наприклад, повноваження може бути
реалізоване у вигляді ключа шифрування або електронного підпису.
Неможливість формування таких повноважень забезпечується непомірними
обчислювальними витратами, які потрібні для підбору ключа.
|