Контроль доступа, базирующийся на ролях
Ролевую политику безопасности (контроль доступа, базирующийся на ролях – RBAC) нельзя отнести ни к дискреционным, ни к мандатным политикам, потому что управление доступом в ней осуществляется как на основе матрицы прав доступа для ролей, так и с помощью правил, регламентирующих назначение ролей пользователям и их активацию во время сеансов [27].
В ролевой модели классическое понятие «субъект» замещается понятиями пользователь и роль. Под пользователем понимается человек, работающий с системой и выполняющий определенные служебные обязанности. Под ролью понимается активно действующая в системе абстрактная сущность, с которой связан ограниченный, логически связанный набор полномочий, необходимых для осуществления определенной деятельности.
Ролевая политика безопасности очень близка к реальной жизни, так как работающие в компьютерной системе пользователи зачастую действуют не от своего личного имени, а осуществляют определенные служебные обязанности, то есть выполняют некоторые роли, которые никак не связаны с их личностью. Использование ролевой политики безопасности позволяет учесть разделение обязанностей и полномочий между участниками прикладного информационного процесса, так как с точки зрения данной политики имеет значение не личность пользователя, осуществляющего доступ к информации, а то, какие полномочия ему необходимы для выполнения его служебных обязанностей.
При использовании ролевой политики управление доступом осуществляется в две стадии: во-первых, для каждой роли указывается набор полномочий, представляющий набор прав доступа к объектам, и, во-вторых, каждому пользователю назначается список доступных ему ролей. Полномочия назначаются ролям в соответствии с принципом наименьших привилегий, из которого следует, что каждый пользователь должен обладать только минимально необходимым для выполнения своей работы набором полномочий.
Формализация ролевой модели осуществляется в рамках следующих множеств:
U – множество пользователей компьютерной системы.
R – множество ролей.
P – множество полномочий на доступ к объектам, представленное, например, в виде матрицы прав доступа.
S – множество сеансов работы пользователей с компьютерной системой.
Для этих множеств определяются следующие бинарные отношения (рис. 2.3):
- отображение множества полномочий на множество ролей путем установления для каждой роли набора присвоенных ей полномочий.
- отображение множества пользователей на множество ролей путем определения для каждого пользователя набора доступных ему ролей.
Основными функциями в ролевой политике безопасности являются следующие:
- для каждого сеанса s данная функция определяет пользователя, который осуществляет этот сеанс работы с компьютерной системой.
- для каждого сеанса s данная функция определяет набор ролей из множества R, которые могут быть одновременно доступны пользователю в этом сеансе.
- для каждого сеанса s эта функция задает набор доступных в нем полномочий, который определяется как совокупность полномочий всех ролей, задействованных в этом сеансе.
Критерий безопасности ролевой модели: компьютерная система считается безопасной, если любой пользователь системы, работающий в сеансе s, может осуществлять действия, требующие полномочия p только в том случае, если .
Рис. 2.3. Контроль доступа, базирующийся на ролях
В стандарте NIST 359 «Role Based Access Control» [9] представлены полные требования к функциональным возможностям ролевых политик безопасности.