РОЛЬОВА МОДЕЛЬ БЕЗПЕКИ

Рольова модель безпеки з'явилася як результат розвитку дискреційної моделі. Однак вона має нові по відношенню до вихідної моделі властивостями: управління доступом в ній здійснюється як на основі визначення характеру доступу для ролей, гак і шляхом зіставлення ролей користувачам і установки правил, що регламентують використання ролей під час сеансів.

У рольової моделі поняття «суб'єкт» заміщається поняттями «користувач» і «роль» [5]. Користувач - людина, що працює з системою і виконує певні службові обов'язки. Роль - це активно діюча в системі абстрактна сутність, з якою пов'язаний набір повноважень, необхідних для виконання певної діяльності. Подібне розділення добре відображає особливості діяльності різних організацій, що призвело до поширення рольових політик безпеки. При цьому як один користувач може бути авторизований адміністратором на виконання однієї або кількох ролей, так і одна роль може бути порівняна одному або декільком користувачам.

При використанні рольової політики управління доступом здійснюється в дві стадії:

  • - для кожної ролі вказується набір повноважень (дозволів на доступ до різних об'єктів системи);
  • - кожному користувачеві зіставляється список доступних йому

ролей.

При визначенні рольової політики безпеки використовуються наступні множини:

U - безліч користувачів;

R - безліч ролей;

Р - безліч повноважень (дозволів) на доступ до об'єктів системи;

5 - безліч сеансів роботи користувача з системою.

Як вже зазначалося вище, ролям зіставляються повноваження, а користувачам - ролі. Це задається шляхом визначення наступних множин:

PAczPxR - визначає безліч повноважень, встановлених ролям (для наочності умовно може бути представлено у вигляді матриці доступу);

UA ^ U х /? - встановлює відповідність між користувачами і доступними їм ролями.

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

user: S -> U - для кожного сеансу s eS ця функція визначає користувача, який здійснює цей сеанс роботи з системою: user (s) = і I і е I );

roles - для кожного сеансу s е S дана функція визначає підмножина ролей, які можуть бути одночасно доступні користувачеві в ході цього сеансу: roles (s) = {/} I (user (sr { ) е UA };

permissions: S - » P - для кожного сеансу seS ця функція задає набір доступних в ньому повноважень, який визначається шляхом об'єднання повноважень всіх ролей, задіяних в цьому сеансі: permissions ^ ) = LUro / e ^ A 1 рк ) -

Як критерій безпеки рольової моделі використовується наступне правило: система вважається безпечною, якщо будь-який користувач системи, що працює в сеансі s е S , може здійснювати дії, що вимагають повноваження р е Р, тільки в тому випадку, якщо р е permissions ^).

Існує кілька різновидів рольових моделей управління доступом, що розрізняються видом функцій user, roles і permissions, а також обмеженнями, що накладаються на безлічі РАІ UA.

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

Можуть бути визначені взаємовиключні ролі (т. Е. Такі ролі, які не можуть бути одночасно призначені одному користувачеві). Також можег вводитися обмеження на одночасне використання ролей в рамках однієї сесії, кількісні обмеження при призначенні ролей і повноважень, може проводитися угруповання ролей і повноважень.

 
Переглянути оригінал
< Попер   ЗМІСТ   ОРИГІНАЛ   Наст >