1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
|
% Лекция 7 (03.11.23)
% 2.4 (9) Постройте графы создания для систем МТМД со следующими наборами команд.
%
% а)
% command a1(x: $\alpha$, y: $\beta$, z: $\beta$)
% <<создать>> субъект x с типом $\alpha$;
% end;
% command a2(x: $\alpha$, y: $\gamma$, z: $\beta$, s: $\delta$)
% <<создать>> субъект y с типом $\gamma$;
% <<создать>> субъект s с типом $\delta$;
% end;
% command a3(x: $\varepsilon$, y: $\delta$, z: $\beta$, s: $\gamma$, o: $\delta$)
% <<создать>> субъект o с типом $\delta$;
% <<создать>> субъект x с типом $\varepsilon$;
% end;
\emph{Начальным пролётом моста} в графе доступов $G_0$ называется $tg$-путь,
началом которого является вершина субъект, концом --- объект, проходящий
через вершины объекты, словарная запись которого имеет вид $\vec{t}^* \vec{g}$.
\emph{Конечным пролётом моста} в графе доступов $G_0$ называется $tg$-путь,
началом которого является вершина субъект, концом --- объект, проходящий через
вершины объекты, словарная запись которого имеет вид $\vec{t}^*$.
%% NOTE: 2.6
\begin{theorem}
Пусть $G_0 = (S_0, O_0, E_0)$ --- произвольный граф доступов, $x, y \in O_0,
x \neq y$. Предикат $\fn{can_share}(\alpha, x, y, G_0)$ истинен $\iff$ или
$(x, y, \alpha) \subset E_0$, или выполняются следующие три условия:
\begin{enumerate}
\item
существуют объекты $s_1, \dots, s_m \in O_0: (s_i, y, \gamma_i) \subset
E_0$ для $i = 1, \dots, m$ и $\alpha = \gamma_1 \cup \dots \cup \gamma_m$;
\item
существуют субъекты $x_1', \dots, x_m', s_1', \dots, s_m' \in S_0$ :
\begin{enumerate}
\item
$x = x_i'$ или $x_i'$ соединён с $s_i$ конечным пролётом моста в графе
$G_0$, где $i = 1, \dots, m$;
\item
$s_i = s_i'$ или $s_i'$ соединён с $s_i$ конечным пролётом моста в
$графе G_0$, где $i = 1, \dots, m$;
\end{enumerate}
\item
в графе $G_0$ для каждой пары $(x_i', s_i')$, $i = 1, \dots, m$,
существуют острова $I_{i,1}, \dots, I_{i,u_i}$, где $u_i \geq 1$, такие,
что $x_i' \in I_{i,1}, s_i' \in I_{i,u_i}$, и существуют мосты между
островами $I_{i,j}$ и $I_{i,j + 1}$, $j = 1, \dots, u_i - 1$.
\end{enumerate}
\end{theorem}
Смысл теоремы состоит в том, что если в системе разграничения доступа в
начальном состоянии между двумя какими-либо объектами имеется $tg$-путь,
включающий, в том числе, мосты между островами, то найдётся такая
последовательность команд вида <<take>>, <<grant>>, <<create>>, в результате
которой первый объект получит необходимые права доступа над другим объектом.
Существенным при этом является отсутствие каких-либо ограничений на кооперацию
субъектов и объектов доступа, в частности, отсутствие запретов на передачу прав
доступа к объекту субъектами, изначально обладающими необходимыми правами на
объект, представляющий интерес для других субъектов. Говоря иначе, подобный
порядок вещей характеризует идеальное сотрудничество и доверие между субъектами
доступа.
|