Модель RBAC не безопасна и не работает - PullRequest
0 голосов
/ 27 января 2019

Существует код RBAC, написанный в коде. Но это не работает, и есть проблема с безопасностью.

Let R = {own, read, write, exec} 

Это набор правил.

Итак, где-то на 3-й и 4-й строках есть проблемы. Не могли бы вы помочь мне разобраться?

command create(s, o) 
         create object o 
         enter own into A[s, o] 
end 
command assign own right(s, o, r) 
         if own in A[s, o] 
         then enter r into A[s, o] 
end 
command assign right(s1, s2, o, r) 
         if own in A[s1, o] and 
         r ≠ write 
         then enter r into A[s2, o]
end 
command transfer right(s1, s2, o, r) 
         if r in A[s1, o] and 
         own not in A[s1, o] 
         then enter r into A[s2, o] 
              delete r into A[s1, o] 
end 

Я ожидаю, что это сработает и будет на 100% безопасным. Где проблема в этом? Какую линию мне нужно исправить и почему?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...