Кроме того, переопределяется функция:
2R 2AR — функция, задающая для пользователя, множество ролей, на которые он авторизован в данной сессии, при этом в каждый момент времени для каждой
сессии |
s S |
выполняется |
условие |
roles (s) |
UA user(s) |
AUA user(s) . |
|
Как и в базовой модели, в модели администрирования ролевого управления доступом реализуются иерархия административных ролей и механизмы ограничений.
Определение 8. Иерархией административных ролей в модели администрирования ролевого управления доступом называется заданное на множестве ролей AR отношение частичного порядка «^». При этом выполняется условие: для u U , если r, r' AR, r AUA u
и r' r, то r' AUA u .
Задачи администрирования могут быть разделены на три группы:
1)администрирование множеств авторизованных ролей пользователей;
2)администрирование множеств прав доступа, которыми обладает роли;
3)администрирование иерархии ролей.
Как правило, каждой административной роли назначают подмножество иерархии ролей, параметры которых данная административная роль позволяет изменять. Рассмотрим каждую из задач администрирования подробнее.
Администрирование множеств авторизованных ролей пользователей
При администрировании множеств авторизованных ролей пользователей изменяются значения функции UA, для чего определяются специальные административные роли из множества AR. При этом cледует задать:
29
•для каждой административной роли множество ролей, множества авторизованных пользователей которых она позволяет изменять;
•для каждой роли предварительное условие, которому должны соответствовать пользователи, прежде чем они будут включены во множество ее авторизованных пользователей. Рассмотрим пример.
Пример 1. Пусть заданы иерархия ролей (рис. 2, а) и иерархия административных ролей (рис. 2, б).
Минимальная роль в иерархии — служащий (Е). Иерархия ролей разработчиков проектов имеет максимальную роль — директор (DIR) и минимальную роль — инженер (ED). В организации выполняются работы по двум проектам. В каждом проекте заданы максимальная роль — руководитель проекта (РL1, PL2 соответственно), минимальная роль — инженер проекта (E1, E2 соответственно) и несравнимые между собой роли — инженер по производству (РЕ1, РЕ2 соответственно) и инженер по контролю (QE1, QE2 соответственно).
Иерархия административных ролей состоит из четырех ролей с максимальной ролью — старший офицер безопасности
(SSO).
В рассматриваемом примере административная роль PSO1 позволяет включать во множества авторизованных ролей пользователя роли РЕ1, QE1, Е1. При этом для того чтобы любая из перечисленных ролей могла быть включена во множество авторизованных ролей пользователя, он уже должен обладать ролью ED.
Для роли x R обозначим:
х: U —> {false,true} — функция такая, что по определению для пользователя и е U справедливо равенство х(и) = true тогда и только тогда, когда х G UA(u).
30
|
Директор |
|
|
|
|
|
(DIR) |
|
|
|
|
Руководитель |
|
Руководитель |
|
|
|
проекта 1 (PL1) |
проекта 2 (PL2) |
|
|
||
Инженер по Инженер по контролю 1 |
|
Инженер по Инженер по контролю 2 |
|||
производству 1 (PE1) |
(QE1) |
|
производству 1 (PE1) |
(QE2) |
|
Инженер проекта 1 (E1) |
|
Инженер проекта 2 |
(E2) |
||
|
Инженер (ED) |
|
|
||
|
Служащий (E) |
|
|
||
|
а |
|
|
|
|
|
Старший офицер безопасности SSO |
|
|
||
|
Офицер безопасности DSO |
|
|
||
Офицер безопасности проекта 1 |
Офицер безопасности проекта 2 |
||||
|
PS1 |
б |
PS2 |
|
|
|
|
|
|
||
Рис. 2. Пример иерархии ролей (а) и административных ролей (б) пользователей
Определение 9. Предварительным условием для роли
r |
R называется функция cr : |
false,true |
такая, что по опре- |
|||
делению |
для пользователя |
x U справедливо равенство |
||||
cr |
u cr |
x1 u ,..., xk u |
, где |
x1,..., xk R |
и |
cr y1,..., yk — |
булева функция от k |
булевых переменных. |
При этом роль r |
||||
может быть включена во множество авторизованных ролей пользователя и, когда справедливо равенство cr(u)=true.
Обозначим через CR все предварительные условия для ролей из R.
Определение 10. Для администрирования множеств авторизованных ролей пользователей на множестве административных ролей задаются функции:
31
can assignr : AR - функция, задающая для каждой административной роли множество ролей, которые могут быть включены во множество авторизованных ролей пользователя с использованием данной административной роли при выполнении заданных предварительных условий;
can revoker : AR 2R — функция, задающая для каждой административной роли множество ролей, которые могут быть исключены из множества авторизованных ролей пользователя с использованием Данной административной роли.
Как правило, множество ролей, являющееся значением функций can assignr , или can revoker , задается интервалом ролей одного из четырех видов:
x, y |
x' |
R, |
где x |
x' и x' |
y ; |
x, y |
x' |
R, |
где x |
x' и x' |
y ; |
x, y |
x' |
R, |
где x |
x' и x' |
y ; |
x, y |
x' |
R, |
где x |
x' и x' |
y , |
где x, y R.
Модель мандатного ролевого управления доступом. Защита от угрозы конфиденциальности информации
Ролевое управление доступом является развитием дискреционного управления доступом, в то же время оно является достаточно гибким и, используя механизм ролей, позволяет реализовать требования мандатной политики безопасности, ориентированной на защиту от угрозы конфиденциальности информации.
Рассмотрим подход [13], реализующий мандатное управление доступом на основе базовой модели ролевого управления доступом.
32
Используем следующие обозначения: О — множество объектов;
L, — решетка уровней конфиденциальности;
c :U L — функция уровней доступа пользователей; c : O L — функция уровней конфиденциальности
объектов;
А = {read, write} — виды доступа.
Будем различать два вида мандатного управления доступом: либеральный и строгий (в смысле Белла-ЛаПадулы).
Определение 11. Доступ s, o, r
S P является безо-
пасным для либерального мандатного управления доступом, когда выполняется одной из условий:
• |
r |
read |
и |
c user s |
c o (ss-свойство); |
||
• |
r |
write и, если существует доступ |
|||||
( s, o' , read |
S |
P , то c o |
|
c o' (либеральное *-свойство). |
|||
Определение |
12. |
Доступ |
s, o, r S P является |
||||
безопасным для строгого мандатного управления доступом, когда выполняется одной из условий:
• |
r |
read и c user s c o (ss-свойство); |
||||||
• |
r |
write и, если существует доступ |
||||||
s, o' , read |
S P , то с(о) = с(о') (строгое *-свойство). |
|||||||
Построим систему ролевого управления доступом. |
||||||||
Пусть |
|
|
|
|
|
|
|
|
|
|
|
|
L x _ write |
|
|
||
R |
|
x _ read |
x |
x |
L — множество ролей; |
|||
|
|
|
O o, write |
|
|
|||
P |
|
(o, read |
o |
o |
O — множество прав |
|||
доступа. |
|
|
|
|
|
|
|
|
33