
- •Базовая модель rbac
- •Для чего? Распространенные ограничения
- •Контрольные вопросы
- •Модель администрирования ролевого управления доступом.
- •Администрирование множеств авторизованных ролей пользователей
- •Рассмотрим пример. (в конце, если надо)
- •Администрирование множеств прав доступа, которыми обладает роли
- •Администрирование иерархии ролей
- •Модель мандатного ролевого управления доступом
- •Контрольные вопросы
Модель мандатного ролевого управления доступом
Защита от угрозы конфиденциальности информации
Ролевое управление доступом является развитием дискреционного управления доступом, в то же время оно является достаточно гибким и, используя механизм ролей, позволяет реализовать требования мандатной политики безопасности, ориентированной на защиту от угрозы конфиденциальности информации.
Рассмотрим подход, реализующий мандатное управление доступом на основе базовой модели ролевого управления доступом.
Используем следующие обозначения:
U множество пользователей (субъектов);
O множество объектов;
(L, ) решетка уровней конфиденциальности;
c: U L функция уровней доступа пользователей;
c: О L функция уровней конфиденциальности объектов;
A = {read, write} виды доступа.
Будем различать два вида мандатного управления доступом: либеральный и строгий (в смысле Белла-ЛаПадулы).
Определение 10.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’) (либеральное *-свойство).
Определение 10.12. Доступ (s, o, r) S P является безопасным для строгого мандатного управления доступом, если выполняется одной из условий:
r = read и c(user(s)) c(o) (ss-свойство);
r = write и, если существует доступ (s, (o’, read)) S P, то c(o) = c(o’) (строгое *-свойство).
Построим систему ролевого управления доступом. Пусть
R = {x_read | x L} {x_write | x L} множество ролей;
P = {(o, read) | o O} {(o, write) | o O} множество прав доступа.
Зададим на множестве ролей R иерархию, при этом иерархии ролей на множествах {x_read | x L} и {x_write | x L} будут независимы.
Определение 10.13. Иерархией на множестве ролей R в соответствии с требованиями либерального мандатного управления доступом называется отношение частичного порядка «≤», где для ролей r, r’ R справедливо неравенство r ≤ r’, если выполняется одно из условий:
r = x_read, r’ = x’_read и x ≤ x’;
r = x_write, r’ = x’_write и x’ ≤ x.
Определение 10.14. Иерархией на множестве ролей R в соответствии с требованиями строгого мандатного управления доступом называется отношение частичного порядка «≤», где для ролей r, r’ R справедливо неравенство r ≤ r’, если выполняется одно из условий:
r = x_read, r’ = x’_read и x ≤ x’;
r = x_write, r’ = x’_write и x = x’ (каждая роль вида x_write сравнима только сама с собой).
Определение 10.15. Модель ролевого управления доступом соответствует требованиям либерального мандатного управления доступом, если иерархия на множестве ролей R соответствует требованиям определения 10.14, и выполняются ограничения:
ограничение функции UA для каждого пользователя u U роль x_read = (UA(u) {y_read | y L}) UA(u) (здесь x = c(u)) и {y_write | y L} UA(u);
ограничение функции roles для каждой сессии s S справедливо равенство roles(s) = {y_ read | y L, y x} {x_write};
ограничение функции PA должно выполняться:
для каждого x L доступ (o, read) PA(x_read) тогда и только тогда, когда доступ (o, write) PA(x_write);
для каждого доступа (o, read) P существует единственная роль x_read: (o, read) PA(x_read) (здесь x = c(o)).
Определение 10.16. Модель ролевого управления доступом соответствует требованиям строгого мандатного управления доступом, если иерархия на множестве ролей R соответствует требованиям определения 10.15, и выполняются ограничения:
ограничение функции UA для каждого пользователя u U роль x_read = (UA(u) {y_read | y L}) UA(u) (здесь x = c(u)) и {y_write | y L} UA(u);
ограничение функции roles для каждой сессии s S справедливо равенство roles(s) = {x_read, x_write};
ограничение функции PA должно выполняться:
для каждого x L доступ (o, read) PA(x_read) тогда и только тогда, когда доступ (o, write) PA(x_write);
для каждого доступа (o, read) P существует единственная роль x_read: (o, read) PA(x_read) (здесь x = c(o)).
Таким образом, требования соответствия либеральному и строгому мандатному управлению доступом для моделей ролевого управления доступом совпадают во всем, кроме требований к соответствующей иерархии ролей и ограничениям на функцию roles.
В рамках модели мандатного ролевого управления доступом дадим определение информационного потока.
Определение 10.17. Будем считать, что существует информационный поток от объекта o O к объекту o’ O тогда и только тогда, когда существуют роли r, r’ R, сессия s S такие, что (o, read) PA(r), (o’, write) PA(r’) и r, r’ roles(s).
Обоснуем, что в модели ролевого управления доступом, соответствующей требованиям либерального или строгого мандатного управления доступом, невозможна реализация запрещенных информационных потоков от объектов с высоким уровнем конфиденциальности к объектам с низким уровнем диссертации.
Теорема 10.1. Если модель ролевого управления доступом соответствует требованиям либерального или строгого мандатного управления доступом, то в ней для любых объектов o, o’ O таких, что c(o) > c(o’), невозможно возникновение информационного потока от o к o’.
Доказательство. Докажем от противного. Пусть существуют объекты o, o’ O такие, что c(o) > c(o’), и возможно возникновение информационного потока от o к o’. По определению 4.24 существуют роли r, r’ R и сессия s S, такие что (o, read) PA(r), (o’, write) PA(r’) и r, r’ roles(s). Следовательно, выполняется одно из условий:
выполняются требования либерального мандатного управления доступом и по определению 10.16 выполняются условия r = с(o)_read, r’ = с(o’)_write и с(o) с(o’);
выполняются требования строгого мандатного управления доступом и по определению 10.17 выполняются условия r = с(o)_read, r’ = с(o’)_write и с(o) = с(o’).
Противоречие. Теорема доказана. ■
Защита от угроз конфиденциальности и целостности информации
Модель мандатного ролевого управления доступом в первую очередь ориентирована на обеспечение защиты от угрозы конфиденциальности информации. В то же время возможно доопределение свойств модели с целью анализа систем защиты от двух угроз: целостности информации и конфиденциальности информации.
Используем обозначения модели ролевого управления доступом защиты от угрозы конфиденциальности информации. Также используем обозначения:
(LI, ) решетка уровней целостности информации;
ci: U LI функция уровня целостности пользователя;
ci: О LI функция уровня целостности объекта.
По аналогии с моделью ролевого управления доступом защиты от угрозы конфиденциальности информации, будем различать два вида мандатного контроля целостности информации: либеральный и строгий.
Определение 10.18. Доступ (s, (o, r)) S P является безопасным для либерального мандатного контроля целостности, если выполняется одно из условий:
r = read и ci(user(s)) ci(o);
r = write и, если существует доступ (s, (o’, read)) S P, то ci(o) ci(o’).
Определение 10.190. Доступ (s, (o, r)) S P является безопасным для строгого мандатного контроля целостности, если выполняется одно из условий:
r = read и ci(user(s)) ci(o);
r = write и, если существует доступ (s, (o’, read)) S P, то ci(o) = ci(o’).
Рассмотрим иерархию ролей на множестве RI = {xi_read | xi LI} {xi_write | xi LI}. Иерархии ролей на множествах {xi_read | xi LI} и {xi_write | xi LI} независимы.
Определение 10.20. Иерархией на множестве ролей RI в соответствии с требованиями либерального мандатного контроля целостности называется отношение частичного порядка «≤», где для ролей r, r’ R справедливо неравенство r ≤ r’, если выполняется одно из условий:
r = xi_read, r’ = xi’_read и xi’ ≤ xi;
r = xi_write, r’ = xi’_write и xi ≤ xi’.
Определение 10.21. Иерархией на множестве ролей RI в соответствии с требованиями строгого мандатного контроля целостности называется отношение частичного порядка «≤», где для ролей r, r’ R справедливо неравенство r ≤ r’, если выполняется одно из условий:
r = xi_read, r’ = xi’_read и xi’ ≤ xi;
r = xi_write, r’ = xi’_write и xi = xi’ (каждая роль вида xi_write сравнима только сама с собой).
Определение 10.22. Модель ролевого управления доступом соответствует требованиям либерального мандатного контроля целостности, если иерархия на множестве ролей RI соответствует требованиям определения 10.20, и выполняются ограничения:
ограничение функции UA для каждого пользователя u U роль xi_read = (UA(u) {yi_read | yi LI}) UA(u) (здесь xi = ci(u)) и {yi_write | yi LI} UA(u);
ограничение функции roles для каждой сессии s S справедливо равенство roles(s) = {yi_ read | yi LI, yi xi} {xi_write};
ограничение функции PA должно выполняться:
для каждого xi LI доступ (o, read) PA(xi_read) тогда и только тогда, когда доступ (o, write) PA(xi_write);
для каждого доступа (o, read) P существует единственная роль xi_read: (o, read) PA(xi_read) (здесь xi = ci(o)).
Определение 10.22. Модель ролевого управления доступом соответствует требованиям строгого мандатного контроля целостности, если иерархия на множестве ролей RI соответствует требованиям определения 10.21, и выполняются ограничения:
ограничение функции UA для каждого пользователя u U роль xi_read = (UA(u) {yi_read | yi LI}) UA(u) (здесь xi = ci(u)) и {yi_write | yi LI} UA(u);
ограничение функции roles для каждой сессии s S справедливо равенство roles(s) = {xi_read, xi_write};
ограничение функции PA должно выполняться:
для каждого xi LI доступ (o, read) PA(xi_read) тогда и только тогда, когда доступ (o, write) PA(xi_write);
для каждого доступа (o, read) P существует единственная роль xi_read: (o, read) PA(xi_read) (здесь xi = ci(o)).
Теорема 10.2. Если модель ролевого управления доступом соответствует требованиям либерального или строгого мандатного контроля целостности, то в ней для любых объектов o, o’ O таких, что ci(o) < ci(o’), невозможно возникновение информационных потоков от o к o’.
Доказательство. Доказательство теоремы осуществляется аналогично доказательству теоремы 10.1. ■
Построим систему мандатного ролевого управления доступом, ориентированную на защиту от угроз конфиденциальности и целостности информации. Пусть
R = ({x_read | x L} {xi_read | xi LI}) ({x_write | x L}) {xi_write | xi LI}) множество ролей.
Зададим на множестве ролей R иерархию, при этом возможно произвольное сочетание иерархий ролей либерального или строгого мандатного управления доступом с либеральным или строгим контролем целостности. Иерархии ролей на множествах {x_read | x L} {xi_read | xi LI} и {x_write | x L}) {xi_write | xi LI} независимы.
В качестве примера рассмотрим требования либерального мандатного управления доступом и контроля целостности.
Определение 10.23. Иерархией на множестве ролей R в соответствии с требованиями либерального мандатного управления доступом и контроля целостности называется отношение частичного порядка «≤», где для r = (rc, ri), r’ = (rc’, ri’) R, при этом ролей rc, rc’ {x_read | x L} {x_write | x L}), ri, ri’ {xi_read | xi LI} {xi_write | xi LI}), справедливо неравенство r ≤ r’, если rc ≤ rc’ в иерархии ролей либерального мандатного управления доступом (в соответствии с определением 4.20) и ri ≤ ri’ в иерархии ролей либерального контроля целостности (в соответствии с определением 10.20).
Определение 10.24. Модель ролевого управления доступом соответствует требованиям либерального мандатного управления доступом и контроля целостности, если иерархия на множестве ролей R соответствует требованиям определения 10.23, и выполняются ограничения:
ограничение функции UA для каждого пользователя u U роль (x_read, xi_read) = (UA(u) ({y_read | y L} {yi_read | yi LI})) UA(u) (здесь x = c(u), xi = ci(u)) и {y_write | y L}) {yi_write | yi LI} UA(u);
ограничение функции roles для каждой сессии s S справедливо равенство roles(s) = {(y_read, yi_read) | y L, yi LI, y x, yi xi} {(x_write, xi_write)};
ограничение функции PA должно выполняться:
для каждых x L, xi LI доступ (o, read) PA((x_read, xi_read)) тогда и только тогда, когда доступ (o, write) PA((x_write, xi_write));
для каждого доступа (o, read) P существует единственная роль (x_read, xi_read): (o, read) PA((x_read, xi_read)) (здесь x = c(o), xi = ci(o)).
Для решеток уровней конфиденциальности (L, ) = {LS, HS} и уровней целостности (LI, ) = {LI, HI} на рис. 10.4-10.7 представлены иерархии ролей для четырех возможных сочетаний иерархий ролей либерального или строгого мандатного управления доступом с либеральным или строгим мандатным контролем целостности.