Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
TOKB.doc
Скачиваний:
312
Добавлен:
17.03.2015
Размер:
3.07 Mб
Скачать

Санкционированное получение прав доступа.

Данный способ характеризуется тем, что при передаче прав доступа не накладываются ограничения на кооперацию субъектов системы, участ­вующих в этом процессе.

Пусть х, уО - различные объекты графа доступа G0=(S0,O0,E0), R. Определим предикат "возможен доступ" (,х,у,G0), который будет истинным тогда и только тогда, когда существуют графы G1=(S1,O1,E1),.... GN=(SN,ON,EN), такие, что:

G0op1 G1op2…├opN GN и (x,y,)EN.

Определение 1. Говорят, что вершины графа доступов являются tg-связными или что они соединены tg-путем, если (без учета направле­ния дуг) в графе между ними существует такой путь, что каждая дуга этого пути помечена t или g. Будем говорить, что вершины непосредственно tg-связны, если tg-путъ между ними состоит из единственной дуги.

Теорема 1. Пусть G0=(S0,O0,E0) - граф доступов, содержащий толь­ко вершины-субъекты. Тогда предикат "возможен доступ" (,х,у,G0) исти­нен тогда и только тогда, когда выполняются следующие условия 1 и 2.

Условие 1. Существуют субъекты sl .... sm, такие, что

(si,y,i,)E0 для i=1,...,m и  = 1… m.

Условие 2. Субъект х соединен в графе G0 tg-путем с каждым субъ­ектом si, для i=1,...,m.

Доказательство. Проведем доказательство теоремы для m=1, так как схему доказательства для этого случая легко продолжить на случай

При m =1 условия 1 и 2 формулируются следующим образом:

Условие 1. Существует субъект s, такой, что справедливо (s,y,)E0.

Условие 2. Субъекты х и s соединены tg-путем в графе G0. Необходимость. Пусть истинен предикат "возможен доступ" (,x,y,G0). По определению истинности предиката существует последователь­ность графов доступов G1=(S1,O1,E1), ...., GN=(SN,ON,EN), такая, что: G0op1 G1op2…├opN GN и (x,y,)EN, при этом N является минимальным, т.е. (x,y,)EN-1. Докажем необходимость условий 1 и 2 индукцией по N.

При N=0 очевидно (x,y,)E0. Следовательно, условия 1, 2 выпол­нены.

Пусть N>0, и утверждение теоремы истинно для k<N. Тогда (x,y,)E0 и дуга (x,y,) появляется в графе доступов GN в результате применения к графу GN-1 некоторого правила opN. Очевидно, это не пра­вила "Создать" или "Удалить". Если opN правило "Брать" ("Давать"), то по его определению

s' EN-1: (x,s',t)  EN-1 ((s',x,g) EN-1 ), (s',y,) EN-1 и opN = take(,x,s',y)(opN= = grant(,s',x,y)).

Возможны два случая: s'S0 и s' S0.

Пусть s'S0. Тогда истинен предикат "возможен доступ" (,s',у,G0), при этом число преобразований графов меньше N. Следовательно, по предположению индукции sS0: (s,y,)E0 и s' соединен с s tg-путем в графе G0. Кроме этого, истинен предикат "возможен доступ" (t,x,s',G0) ("возможен доступ" (g,s',x,G0)), при этом число преобразований графов меньше N. Следовательно, по предположению индукции s"S0:(s",s',t)E0 и s" соединен с х tg-путем в графе G0((s",x,g)E0 и s" соединен с s' tg-путем в графе G0). Таким образом, sS0:(s,y,)E0 и субъекты х, s соединены tg-путем в графе G0. Выполнение условий 1 и 2 для случая s'E0 доказано.

Пусть s' S0. Заметим, что число преобразований графов N мини­мально, поэтому новые субъекты создаются только в тех случаях, когда без этого невозможна передача прав доступа. Следовательно, преобразо­вания графов отвечают следующим требованиям:

1) субъект-создатель берет на созданный субъект максимально не­обходимый набор прав {t,g};

2) каждый имеющийся в графе G0 субъект не создает более одного субъекта;

3) созданный субъект не создает новых субъектов;

4) созданный субъект не использует правило "Брать для получения прав доступа на другие субъекты.

Из перечисленных требований следует, что М<N-1, s"S0:opM =

= create ({g,f},s",s'), opN=take(,x,s',y) и истинен предикат "возможен доступ" (,s",y,G0). Отсюда - истинен предикат "возможен доступ" (t,x,s',GM), а так как s"-единственный субъект в графе GM, имеющий права на субъект s', то по предположению индукции s" соединен с х tg-путем в гра­фе G0. Из истинности предиката "возможен доступ" (,s",y,G0) и по пред­положению индукции sS0:(s,y,)E0 и s", s соединены tg-путем в гра­фе G0. Следовательно, sS0:(s,y,)E0 и х, s соединены tg-путем в графе G0. Выполнение условий 1 и 2 для случая s' S0 доказано. Индук­тивный шаг доказан.

Достаточность. Пусть выполнены условия 1 и 2. Доказательство прове­дем индукцией по длине tg-пути, соединяющего субъекты х и s.

Пусть N=0. Следовательно, x=s, (x,y,)E0 и предикат "возможен доступ" (a,x,y,G0) истинен.

Пусть N=1, т.е. существует (s,y,)E0 и субъекты х, s непосредст­венно tg-связны. Возможны четыре случая такого соединения х и s (рис.4.5), для каждого из которых указана последовательность преобразо­ваний графа, требуемая для передачи прав доступа.

Пусть N>1. Рассмотрим вершину z, находящуюся на tg-пути между х и s и являющуюся смежной с s в графе G0. Тогда по доказанному для слу­чая N=1 существует последовательность преобразований графов досту­пов

G0op1 G1op2…├opK GK (z,y,)EK и длина tg-пути между z и х равна N-1, что позволяет применить предположение индукции.

Теорема доказана.

Для определения истинности предиката "возможен доступ" в произ­вольном графе необходимо ввести ряд дополнительных понятий.

Определение 2. Островом в произвольном графе доступов G0 назы­вается его максимальный tg-связный подграф, состоящий только из вер­шин субъектов.

Определение 3. Мостом в графе доступов G0 называется tg-путь, концами которого являются вершины-субъекты; при этом словарная запись tg-пути должна иметь вид t*. t*, t*gt*, t*gt*,, где символ * означа­ет многократное (в том числе нулевое) повторение.

( идолжны быть над t и g ) .

Определение 4. Начальным пролетом моста в графе доступов G0 на­зывается tg-путь, началом которого является вершина-субъект; при этом словарная запись tg-пути должна иметь вид t*g.

Определение 5. Конечным пролетом моста в графе доступов G0 на­зывается tg-путь, началом которого является вершина-субъект; при этом словарная запись tg-пути должна иметь вид t*.

Теорема 2. Пусть G0=(S0,O0,E0) - произвольный граф доступов. Предикат "возможен доступ"(,х,у, G0) истинен тогда и только тогда, когда выполняются условия 3, 4 и 5 (рис. 4.6).

Условие 3. Существуют объекты s1,...,sm, такие, что (si,y,i)E0, i=1,...,m, и

 = 1… m.

Условие 4. Существуют вершины-субъекты x1,...,xm и s1,...,sm, та­кие, что:

  • х=хi или хi, соединен с х начальным пролетом моста для i=1,...,m;

  • si=si или si соединен с а конечным пролетом моста для i=1,.... m.

Условие 5. Для каждой пары (хi, si), i=1, ...,m, существуют острова li,1… li,ui, ui1, такие, что хi li,1, si li,ui и мосты между островами li,j и li,j+1,uij1.

Доказательство. Проведем доказательство теоремы для m=1, так как схему доказательства для этого случая легко продолжить на случай m>1.

При m=1 условия 3, 4, 5 формулируются следующим образом:

Условие 3. sO0: (s,y,) E0s.

Условие 4. х', s'S0:

• х =х' или х' соединен с х начальным пролетом моста;

• s = s' или s' соединен с s конечным пролетом моста.

Условие 5. Существуют острова li,...,lu, u>1, такие, что x'li, s'lu, и мосты между островами lj и lj+1 для j=1,...,u-1.

Необходимость. Пусть истинен предикат "возможен доступ" (,x,y,G0). По определению истинности предиката существует последователь­ность графов доступов G1=(S1,O1,E1),...,GN=(SN,ON,EN), такая, что, G0op1 G1op2…├opN GN (x,y,)EN при этом N является минимальным, т.е(x,y,)EN-1. Докажем необходимость условий 3, 4. 5 индукцией по N.

При N=0 очевидно (x,y,)E0. Следовательно, условия 3, 4, 5 вы­полнены.

Пусть N>0 и утверждение теоремы истинно для k<N. Тогда (x,y,)E0 и дуга (x,y,)появляется в графе доступов GN в результате применения к графу GN-1 некоторого правила орN. Возможны два случая xS0 и xS0

Если xS0, то x1SN-1= grant(,x1,x,y). С учетом минимально­сти N и замечаний, сделанных при доказательстве теоремы 1, можно счи­тать, что x1S0. Следовательно:

1. Истинен предикат "возможен доступ" (g, x1,x G0) с числом преобра­зований графов, меньшим N. Тогда по предположению индукции выполне­ны условия 3, 4, 5:

• x2O0:(х2,х,g) Е0;

• x'S0, соединенный с х2 конечным пролетом моста;

• существуют острова l1,…,lt t1, такие, что x1lt, x'l1, и мосты между островами lj и lj+1 для j=1,.... t-1;

2. Истинен предикат "возможен доступ" (,x1,y,G0) с числом преобра­зований графов, меньшим N. Тогда по предположению индукции выполне­ны условия 3, 4, 5:

• sO0: (s,y, )Е0;

• s'S0: s=s' или s' соединен с s конечным пролетом моста;

• существуют острова lt,...., lu,t-u1, такие, что x1lt, s'lu, и между ост­ровами lj и lj+1 для j=t,...., u-1.

Заметим, что путь, соединяющий вершины х',х2,х, есть начальный пролет моста. Таким образом, для случая xS0 условия 3, 4, 5 выполня­ются, и индуктивный шаг доказан.

Если xS0, то п.1 условия 4 теоремы 2 очевидно выполняется. Мно­гократно применяя технику доказательства, использованную выше, можно доказать индуктивный шаг и в данном случае. Достаточность. Условия 3,4, 5 конструктивны.

По условию 3 существует объект s, который обладает правами  на объект y. По п. 2 условия 4 существует субъект s', который, либо совпада­ет с s, либо по конечному пролету моста может забрать у субъекта s права  на объект у.

По теореме 1 права доступа, полученные одним субъектом, принад­лежащим острову, могут быть переданы любому другому субъекту остро­ва. По условию 5 между островами существуют мосты, по которым воз­можна передача прав доступа. В качестве примера на рис.4.7 разобрана последовательность преобразований графа доступов при передаче прав по мосту вида tgt. По п.1 условия 4 теоремы 2 существует субъект х', который или совпадает с х, или, получив права доступа, может передать их х по начальному пролету моста. Теорема доказана.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]