Научная статья на тему 'Теоретико-графовый анализ ролевой политики безопасности'

Теоретико-графовый анализ ролевой политики безопасности Текст научной статьи по специальности «Математика»

CC BY
329
41
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ТЕОРЕТИКО-ГРАФОВЫЙ АНАЛИЗ / ПОЛИТИКА БЕЗОПАСНОСТИ / ИЕРАРХИЯ РОЛЕЙ / РАЗГРОНИЧЕНИЕ ДОСТУПА

Аннотация научной статьи по математике, автор научной работы — Белим С. В., Белим С. Ю., Богаченко Н. Ф.

В работе рассматривается формальная модель ролевого разграничения доступа. Представлен классовый подход к построению иерархии ролей, являющийся обобщением классического листового принципа распределения полномочий в ролевой политике безопасности. Показана возможность построения данной политики на произвольном ориентированном графе ролей.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Теоретико-графовый анализ ролевой политики безопасности»

УДК 65.012.8

ТЕОРЕТИКО-ГРАФОВЫЙ АНАЛИЗ РОЛЕВОЙ ПОЛИТИКИ БЕЗОПАСНОСТИ

С.В. Белим, С.Ю. Белим, Н.Ф. Богаченко

В работе рассматривается формальная модель ролевого разграничения доступа. Представлен классовый подход к построению иерархии ролей, являющийся обобщением классического листового принципа распределения полномочий в ролевой политике безопасности. Показана возможность построения данной политики на произвольном ориентированном графе ролей.

Проблема разграничения доступа к данным является ключевым элементом систем безопасности компьютерной информации. Анализ теоретических исследований и программно-технических разработок в области информационной безопасности позволяет выделить четыре основных подхода в построении политики разграничения доступа [1]: дискреционные, мандатные, тематические и ролевые модели.

Особый интерес представляет ролевая политика безопасности. Это обусловлено тем, что на практике получила широкое распространение технология рабочих групп пользователей в системах разграничения доступа, являющаяся упрощенным вариантом ролевой политики, тогда как формальная ролевая модель изучена недостаточно полно.

1. Ролевая политика безопасности

Рассмотрим базовую модель ролевого разграничения доступа [1,2], характеризующуюся неизменными установками системы безопасности. Выделим основные элементы, которые понадобятся для дальнейшего описания.

Основные множества:

1. U - множество пользователей системы.

2. R - множество ролей, возможных в системе.

3. P - множество полномочий (прав) на действия в системе.

Copyright © 2009 С.В. Белим, С.Ю. Белим, Н.Ф. Богаченко.

Омский государственный университет.

E-mail: nfbogachenko@mail. ru

Зададим отображения, определяющие функционирование системы под управлением ролевой политики безопасности:

1, RP : R ^ 2Р - множество полномочий для рол и, при этом V p £ P 3 r £ R : p £ RP(r),

2, UR : U ^ 2r - множество ролей, на которые может быть авторизирован пользователь. Следует отметить, что возможно существование ролей, на которые не авторизирован ни один пользователь.

Определение 1. Иерархией ролей будем называть отношение частичного нестрогого порядка, заданное на множестве ролей R, При этом, если r2 < ri, то ri находится в иерархии ролей «выше», чем r2 1.

Исходя из определения, иерархию ролей можно представить в виде ориентированного графа G = (R, E). Множество вер шин R - это множество ролей. Дуга (r1, r2) £ E, если в иерархии ролей r2 < r1 2,

В большинстве работ, посвященных ролевому разграничению доступа, принято считать, что иерархия ролей имеет вид ориентированного дерева [1,2], в дальнейшем будем называть его деревом ролей и обозначать T = (R, E),

При иерархическом отношении ролей важным является вопрос построения RP

а именно, возможно ли назначение одного и того же набора полномочий двум ролям, находящимся в иерархическом подчинении. При этом применяется механизм наследования «снизу - вверх»: назначение полномочий начинается с листовых вершин листовое распределение прав доступа. Для этого слу-

RP

1. Строго таксономический листовой подход. Все множество полномочий разбивается на непересекающиеся подмножества:

k

P = U Pi, Vi, j £ {1, . . . , k} : Pi n Pj = 0. (1)

i=1

Здесь k - количество листовых вершин дерева ролей. Пусть Rl (Rl С R) -

ri

RP Pi

Vri £ Rl : RP (ri) = Pi. (2)

1 Необходимо также выполнение еще одного условия: Vu £ U : (r, r' £ R)Л(r £ UR(u))A(r' <

r) ^ (r' £ UR(u)). To есть вместе с заданной ролью пользователь должен быть авторизирован и на все роли, которые лежат в иерархии ниже.

2Если следовать системе обозначений графического языка моделирования UML (Unified Modeling Language), позволяющего представлять различные объектно-ориентированные про-

r' r

Чтобы сохранить терминологию теории графов, будем считать, что дуги направлены от старших ролей - к младшим. Очевидно, в обоих случаях отношение порядка, задающее иерархию ролей, и соответствующий неориентированный граф останутся неизменными.

Полномочия остальных (нелистовых) вершин дерева ролей определяются как объединение полномочий непосредственно подчиненных им ролей:

Уг / Яь : ЯР (г) = и ЯР (г'), (3)

г/€.ОН(г)

где СЛ,(г) - полный набор сыновей вершины г,

2. Нетаксономический листовой подход. Полномочия непосредственно получают также только листовые роли, а полномочия остальных ролей получаются объединением полномочий сыновей. Однако допускается непустое пересечение полномочий листовых ролей:

к

Р = У pi, Зг,] е {1, ..., к} : Рг П Р,- = 0. (4)

г=1

3. Иерархический охватный листовой подход. В набор полномочий старших ролей непосредственно включаются (добавляются) только те полномочия, которые не вошли в наборы полномочий подчиненных ролей.

За счет иерархической структуры, во всех трех случаях в итоговом наборе полномочий присутствуют все полномочия подчиненных ролей,

2. Разбиение ролей на классы эквивалентности

Пусть иерархия ролей задана в виде ориентированного дерева Т = (Я, Е), Определим разбиение множества листовых вершин Яь дерева ролей Т на к подмножеств:

к

Яь = и Я?, Ум е {1..к} : Я® П Я“ = 0. (5)

г=1

Данное разбиение задает отношение эквивалентности ^ на множестве листовых вершин.

Рассмотрим теперь классовое распределение прав доступа. Пусть две роли, относящиеся к одному классу эквивалентности листовых вершин, имеют одинаковые права:

Уг1, Г2 е Яь : (г 1 - Г2) ^ (ЯР(п) = ЯР(г2)). (6)

Как и для традиционного листового распределения полномочий, возможны три

ЯР Я

1. Строго таксономический классовый подход. Разобъем множество Рк

стовых вершин дерева ролей:

к

Р =и Рг, Уг,^ е{1,...,к} : Рг П Р, = 0. (7)

г=1

Распределение прав, определяющееся отображением ЯР : Я ^ 2Р, зададим для листовых вершин в следующем виде:

Уг е ЯЬ : ЯР (г) = Рг. (8)

Для нелистовых вершин множество прав будем определять как объединение

прав всех вершин, которые являются сыновьями данной вершины:

Уг е Яь : ЯР (г) = У ЯР (г'). (9)

г/€.ОН(г)

Здесь, как и прежде, через СЛ,(г) обозначено множество всех сыновей верши-г

2. Нетаксономический классовый подход. Аналогично предыдущему случаю, рапределение прав изначально производится только между листовыми вершинами, но множества прав различных классов эквивалентности листовых вершин могут перескаться,

3. Иерархический охватный классовый подход. Распределение прав производится между классами эквивалентности листовых вершин и передается по иерархическим принципам. Но, кроме того, нелистовые вершины, унаследовавшие одинаковые наборы прав, могут одновременно получать дополнительные права.

Очевидно, что каждый из трех листовых подходов распределения полномочий является частным случаем соответствующего классового подхода при условии: |Я(*)| = 1, где {Я^}^ - начальное разбиение множества листовых вершин, другими словами, каждая листовая вершина образует отдельный класс разбиения.

Оказывается, что разбиение листовых вершин дерева ролей вместе с прави-

ЯР

Определение 2. Будем считать две роли эквивалентными, если они наделены одинаковыми правами:

рр

Уг1 ,г2 е Я : (ЯР(п) = ЯР(г2)) ^ (г1 - г2). (10)

ЯР

Определение 3. Отношение эквивалентности — задает разбиение множества Я ЯР

сами.

г

ЯР(г)

ЯР

ЯР ЯР

и тем же набором полномочий.

Обозначим число ЯР-классов через К, а число классов эквивалентности

к

классового подхода К ^ к. При двух других подходах возможно получить К < к

наделяются одним и тем же набором полномочий.

3. Оптимальные ЯР-деревья

ЯР

ЯР К = 1

ЯР

актированную цепь в случае строго таксономического классового подхода,

ЯР

ЯР К = | Я|

ЯР

деревьям, полученным в результате классового распределения полномочий. Она

ЯР

ЯР

бы в начальном разбиении множества листовых вершин каждый лист составлял отдельный класс (использовалось листовое распределение полномочий). Далее рассмотрим необходимые и достаточные условия оптимальности.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Теорема 1. При строго 'таксономическом листовом, подходе распределения ЯР

степень исхода (число исходящих дуг) каждой нелистовой вершины не меньше двух:

Уг / Яь : д-(г) ^ 2. (11)

ЯР

Уг1, г2 е Я : (г1 = г2) ^ (ЯР(п) = ЯР(г2)). (12)

От противного. Пусть 3г1 / Яь : ^-(г1) < 2, следователь но, д- (г1) = 1, Тогда г1 г2

ЯР(г1) = ЯР(г2)

Пусть теперь выполнено неравенство (11). Рассмотрим две различные вершины г1,г2 е Я, Надо показать справедливость условия (12), Заметим, что требование (11) влечет выполнение следующего неравенства:

Уг1, г2 е Я : (г 1 = г2) ^ (Яь(г1) = Яь(г2)), (13)

где Яь(гг) - потомки вершины гг, являющиеся листовыми вершинами в случае, когда гг / Яь либо сама вер шина гг, если она листовая. Данное утверждение очевидным образом следует из ацикличности принятой иерархии ролей (Т -дерево). Согласно введенной системе обозначений, при строго таксономическом листовом подходе:

Уг е Я : ЯР (г) = У ЯР (г') (14)

г'еРь(г)

И

Уг', г'' е Яь : (г' = г'') ^ (ЯР (г') П ЯР (г'') = 0). (15)

Из (13) и (15) следует:

Уг 1, г2 е Я : (г1 = г2) У ЯР (г' )= У ЯР (г')| . (16)

\г'&Яь(г 1) г'еЯь (Г2) /

Принимая во внимание равенство (14), получаем условие (12), ■

Теорема 2. При нетаксономическом листовом, подходе распределения прав, ЯР

исхода, каждой нелистовой вершины, не меньше двух (выполнено условие (11)) и разбиение множества прав Р на подмножества Р. произведено таким образом, что

к

У, е {1.....к} : Р, % и Р.. (17)

.= 1,.=,

Доказательство. Необходимость доказывается аналогично предыдущей теореме, При доказательстве достаточности условие (15) заменяется условием (17), Пусть /1, /2 С {1,..., к} : (11 = /2), тогда 3, : (, е 11) Л (, / /2). Согласно (17): Р, С и.е/2 Р*> следовательно, и.е/1 Р. % и.е/2 Р.- ® результате:

У/, ,12 С{1,...,к} :(/! = /2) ^ (и Р. = и Р‘) ■ <18>

\г€/1 .е/2 /

Тогда, принимая во внимание неравенство (13) и то, что Уг. е Яь : ЯР (г.) = Р., получаем (16) и, как следствие, (12), ■

Отметим, что при иерархическом охватном листовом подходе оптимальным ЯР

цепь) за счет того, что нелистовые вершины не только наследуют права, но и получают их непосредственно,

ЯР

ЯР

ЯР

Т ЯР ЯР Т

спецификация, указывающая, какой именно подход был применен при постро-ЯР

Т

охватным), если при распределении прав был использован строго таксономический (или нетаксономический, или иерархический охватный) подход,

2, Если важно подчеркнуть, что было использовано листовое (классовое)

Т

Определение 8. Расширение ЯР-дерева Т - это процесс построения ЯР-дерева Т', такого, что

ТТ

2, Уг е Ят: ЯРТ(г) = ЯРт'(г) - множество ЯР-классов Т является подмно-

ЯР Т

ЯР

ЯР

Т ЯР ЯР

дерево Т', Все вершины, дуги и полномочия дерева Т перенесем в дерево Т', Тем самым условия определения 8 будут выполнены,

г. Р. =

{р.1,... ,р.т.}, Если |Р.| = т. > 1, то в дереве Т' к этой вершине присоединим т. листовых вершин, каждая го которых будет наделена правом р., (,' е {1,...,т.}).

Т г

ЯР(г)

Т

ствующее право),

Т

полномочия непосредственно, а лишь наследует их от сыновей:

Уг / Яь : ЯР (г) = У ЯР (г'). (19)

г'еС^(г)

Т

Объединяя листовые вершины с одним и тем же значением ЯР (г) = {р.} в один класс разбиения листовых вершин Я(*), получаем:

Уг е Я^ : ЯР (г) = {р.} = Р., Уг,, е {1,..., к} : Р. П Р, = 0. (20)

ЯР

Т ЯР

рис, 1), ■

ЯР

следующую все роли и их иерархию из исходной модели,

В силу теоремы 3, одним из преимуществ классового распределения полномочий является возможность расширения нетаксономических или охватных ЯР

ЯР

нию, при таком преобразовании, как правило, увеличивается количество ролей ЯР

ЯР

Рис. 1. Охватное классовое ДР-дерево Т (слева) расширено до таксономического классового

ДР-дерева Т' (справа)

содержащий несколько ролей, то дерево не оптимально, а это свидетельствует о наличии в политике безопасности «дублирующих» ролей. Естественно иоиы-

ЯР ЯР

ЯР Т Т

ЯР

щиеся в структуре).

ЯР Т

ЯР

исходному.

ЯР Т ЯР

Т

Т Т

Т ЯР

ЯР

стовым в силу оптимальности.

ЯР ЯР

ЯР ЯР

класса не связаны дугами (иначе достаточно произвести попарное стягивание таких вершин, как эта операция понимается в теории графов |3|), то добиться оптимальности в ряде случаев можно за счет перестройки древовидной струк-ЯР

тересен, так как, исходя из практических приложений, желательно получить

ЯР

5. Ролевая политика безопасности на произвольном ориентированном графе

ЯР

кой представляется возможным за счет отказа от древовндностн и построения эквивалентного ориентированного графа, задающего иерархию ролей.

Теорема 4. Ориентированный граф задает иерархию ролей (является орграфом ролей) тогда и только тогда, когда в нем, отсутствуют ориентированные циклы.

Доказательство. Отсутствие ориентированных циклов необходимо и достаточно для существования отношения частичного порядка, а именно свойств тран-

Заметим, что в орграфе без ориентированных циклов найдется как минимум один сток (вершина с нулевой полуетепеныо исхода: ^-(£.) = 0) и как минимум один источник (вершина с нулевой полуетепеныо захода: (в) = 0), Далее

будем рассматривать ориентированные графы с одним источником.

Распределение прав по произвольному орграфу ролей, так же как и по дереву ролей, может производиться одним из трех способов. При этом построение ЯР

классов эквивалентности, на которые разбиты стоки (классовое распределение). Определения оптимальности, расширяемости, эквивалентности и оптимиза-

ЯР

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

графа ролей),

ЯР ЯР

орграфа.

ЯР

щие эквивалентным ролям, если они не соединены дугами, либо попарно стянуть, если такие дуги имеются (операции склейки и стягивания вершин понимаются в соответствии с определениями теории графов [3]), В результате ЯР

Следствие 5.1. Из алгоритма построения эквивалентного оптимального ЯР-орграфа, С непосредственно следует ряд свойств этой структуры:

1. С имеет один источник в.

2. Число стоков и в С совпадает с числом классов разбиения Я^ листовых

ЯР Т

ЯР Т С = Т

Рис. 2. Таксономическое классовое ДР-дерево Т (слева) оптимизировано до листового таксономического ДР-орграфа О (справа)

ЯР

ЯР

;же таксономический.

Доказательство. Стягивание двух вершин, соответствующих эквивалентным

ЯР

ЯР

ЯР ЯР

ЯР

ЯР

также '11,етаксон,омический.

ЯР

ЯР

заться охватным, нетаксономическим или таксономическим.

Обобщая вышесказанное, получаем следующую возможную последовательность построения ролевой политики безопасности:

ЯР Т1

(листовое или классовое),

Т1 ЯР

дерева Т2 (см, теорему 3),

3, Преобразовать Т2 в эквивалентный оптимальный таксономический ЯР-орграф Т3 (см, теорему 5),

Таким образом, любую ролевую модель распределения полномочий можно расширить до политики, в которой иерархия ролей задана орграфом без ориентированных циклов, роли распределены в соответствии со строго таксопоми-

ЯР

Оказывается, предложенный в теореме 5 алгоритм обратим: но произволь-ЯР

ЯР ЯР

ЯР С

ЯР-структуру Т. На первом шаге каждому стоку орграф а С сопоставляем ^+(£.) листьев в Т («оригинал» и (^+(£.) — 1) «дублей»). Эта операция называется расщеплением вершины (если полустепепь захода равна единице, то имеется только «оригинал»),

С

телыю расщепляем все вершины, «Оригинал» и «дубли» наделяем теми же нравами, что были у вершины их образующей, К «оригиналу» присоединяем

Т

С

Т

и дуги так, чтобы подграф, порожденный «дублем», представлял собой копию поддерева, порожденного «оригиналом»,

Т ЯР

ЯР ЯР С

лентна (см, рис, 3), ■

ДР О ДР Т

ЯР Т ЯР

С

^ (1 + (^+ (г) — 1)|ЯГ(г}|) , (21)

где Яа - множество вершин орграфа С, ЯТ(Г) - множество вершин поддере-

Тг

С

Заметим, что теорема 6 дает возможность свести исследование ролевой но-

ЯР

Таким, образом, теоремы 5 и 6 позволяют выполнять различные эквивалентные преобразования иерархии ролей в завиемоети от того, какой признак более значим: древовидноеть или оптимальность.

Литература

1. Гайдамакин, Н.А. Разграничение доступа к информации в компьютерных системах / Н.А. Гайдамакин. - Екатеринбург: Изд-во Урал, ун-та, 2003. - 328 с.

2. Девянин, П.Н. Модели безопасности компьютерных систем / П.Н. Девянин. - М.: Издательский центр «Академия», 2005. - 144 с.

3. Новиков, Ф.А. Дискретная математика для программистов / Ф.А. Новиков - СПб.: Питер, 2001. - 304 с.

i Надоели баннеры? Вы всегда можете отключить рекламу.