роли при выполнении заданных предварительных условий;
• can-revoke
g
: AR → 2
UPR
– функция, определяющая для каждой административной
роли множество ролей-объединений, которые разрешено удалять из множества авторизо-
ванных ролей групп пользователей с использованием данной административной роли.
Необходимость определения иерархий возможностей и групп обусловлена также
тем, что построенные на их основе правила администрирования отличны друг от друга.
Предварительные условия, определенные в функции can-assign
a
(), используются анало-
гично предварительным условиям, определенным в функции can-assign
g
(), а предвари-
тельные условия, определенные в функции can-assign
g
(), используются аналогично пред-
варительным условиям, определенным в функции can-assign
a
(). Например, для того что-
бы в множество прав доступа роли-объединения была включена возможность, данная
возможность должна входить в множества прав доступа ролей, указанных в предвари-
тельном условии функции can-assign
а
(), а для того чтобы роль-объединение была вклю-
чена в множество авторизованных ролей группы пользователей, пользователи данной
группы должны уже обладать ролями в соответствии с предварительным условием функ-
ции can-assign
g
().
Включение возможности в множество прав доступа роли-объединения означает, что
соответствующая роль-возможность в иерархии ролей станет непосредственно «ниже»
роли-объединения. Наоборот, включение роли-объединения в множество авторизован-
ных ролей группы пользователей означает, что соответствующая роль-группа в иерархии
ролей станет непосредственно «выше» роли-объединения.
Для администрирования иерархии ролей (добавления и удаления ролей, включения
или удаления отношений иерархии) на множестве административных ролей задается can-
modify: AR → 2
UPR
– функция, определяющая для каждой административной роли интер-
вал ролей (исключая границы интервала), на котором возможно изменение иерархии ро-
лей с использованием данной административной роли.
5.2.6.3. Модель мандатного ролевого разграничения доступа
Защита от угрозы конфиденциальности информации. Ролевое разграничение дос-
тупа является развитием дискреционного разграничения доступа. В то же время оно
является достаточно гибким, и, используя механизм ролей, возможна реализация
мандатной политики безопасности, ориентированной на защиту от угрозы конфи-
денциальности информации.
Рассмотрим подход, реализующий мандатное разграничение доступа на основе ба-
зовой модели РРД.
Используем следующие обозначения:
U – множество пользователей (субъектов);
О – множество объектов;
(L, ≤) – решетка уровней конфиденциальности;
с: U → L – функция уровня доступа пользователя;
с: О→ L – функция уровня конфиденциальности объекта;
A = {read, write) – виды доступа.
Будем различать два вида мандатного разграничения доступа: либеральный и стро-
гий (Белла–ЛаПадула).
Доступ (и, о, r) является безопасным для либерального мандатного разграничения
доступа, если выполняется одно из условий:
r = read и с(и) ≥ с(о) (ss – свойство);
r = write и, если существует доступ (и, о', read), то с(о) ≥ с(о') (либеральное *– свой-
ство).
Доступ (и, о, r) является безопасным для строгого мандатного разграничения досту-
па, если выполняется одно из условий:
r = read и с(и) ≥ с(о) (ss – свойство);
r = write и, если существует доступ (и, о', read), то с(о) = с(о') (строгое *– свойство).
Построим систему РРД. Пусть
R = {x_read x ∈ L} ∪ {x_write x ∈ L} – множество ролей;
Р = {(о, read) | о ∈ 0} ∪ {(о, write) о ∈ О} – множество прав доступа.
Зададим на множестве ролей R иерархию; при этом иерархии ролей на множествах
{x_read x ∈ L} и {x_write x ∈ L} будут независимы.
Иерархией на множестве ролей R в соответствии с требованиями либерального ман-
датного разграничения доступа называется отношение частичного порядка «≤», где для r,
r' ∈ R справедливо неравенство r ≤ r', если выполняется одно из условий:
r = x_read, r' = x'_read и х ≤ х';