Abstract
The present work considers structural modification of the role hierarchy in a formal model of the role-based access control. The marked directed graph (the role graph), graphically representing an ordered set of roles, was analyzed to define the ordering relation in the role set and to distribute permissions according to the generated hierarchy. We constructed algorithms of the role graph’s transformations using different criteria of optimality and proved correctness of these algorithms. In the process, such characteristics as principles of permission distribution in the system, presence of role duplicates, the role graph’s peculiarities, e.g. how tree-like the graph is, were considered. The main result of the work is proof of possibility of constructing several role graphs corresponding to the same RBAC model. Thus, on the basis of relevant criteria, one can transform the role graph to make analysis and modification of a given RBAC model more effective.
Introduction
Role-based access control (RBAC) has been widely used for protection of computer systems in recent years. RBAC is most commonly used in different database management systems [1,2,33]. It is less common in operating systems [18,21,31]. The role-based security policy is based on mapping permissions onto actions in computer systems [23]. Using the RBAC is reasonable for implementing role permission inheritance mechanisms. In the absence of inheritance the role-based access control becomes not very different from the discretionary access control (DAC). Inheritance is implemented via authorizing one role for some other. In this case, the authorized role is said to dominate over the role it is authorized for [23]. Role dominance can be represented as a partial order, that is why a role set is partially ordered. The ordering relation in a role set can be graphically represented as a role graph [23].
The mathematical model of the role-based security policy was developed in several works [6,7,28,29]. So there is such a term as a family of role-based policy models. Model RBAC0 is a basic model with minimal system requirements that supports role-based access control. RBAC1 adds to RBAC0 the concept of role hierarchies, and RBAC2 includes RBAC0 requirements along with different model component restrictions. For example, the users are not permitted to be assigned with two mutually exclusive roles or there are roles with a limited number of owners. The concept of prerequisite roles or permissions also imposes some restrictions. Models RBAC1 and RBAC2 are incomparable to one another. The consolidated model, RBAC3, includes both RBAC1 and RBAC2 and, by transitivity, RBAC0. In addition to common roles, a system may also have administrative roles. Administrative roles can be used to describe systems with alterable protection [19].
Most works analyzing role hierarchies within the RBAC model are focused on the algorithms that either build a role graph or modify it by adding or removing roles. The paper [15] considers a visual graph-based representation of a security policy that opens new perspectives for computer system security examination. The work in [12] proves possibility of building a graph representation of a security system based on semantic rules if certain conditions are fulfilled. The proposed method is applied for DAC and RBAC analysis. The methods for constructing graphs on the basis of information about the roles and their relationships in a system are considered in [11,13]. The methodology for constructing role graphs for UNIX-based operating systems and relational databases is presented in [24]. The role graph transformations connected with role insertions as well as the “role–role” and “privilege–privilege” conflict avoiding algorithms are presented in [20]. The issues of role graph integration during integration of computer systems are considered in [22]. Possibility of combining role-based and mandatory access control using graphs to ensure confidentiality is considered in [36].
In the majority of computer systems, role hierarchy optimality is taken into account only at the moment of designing. Further system evolution introduces new roles created rather spontaneously and, as a result, the role relationships become tangled and duplicate roles appear. Role graphs often have a too complex structure in real systems, while a tree remains the simplest form for analysis. This article is focused on examination of the role graph’s transformations that preserve role connections, but result in a graph convenient for analyzing how permissions are distributed between the roles. The final goal is to find an equivalent graph that corresponds to the given RBAC model and allows to reveal role duplicates and to consider distributing permissions in an optimal way.
Related works
The problems of RBAC analysis based on a role graph as well as transforming the role graph itself for access control policy optimization were examined in a number of works. It should be noted, though, that the role graph optimality criteria are still a subject for discussion.
The graphical role hierarchy representation and the RBAC analysis based on it are presented in [34]. In this work the authors propose a sequential graphical formalism allowing us to consider the role hierarchy and the constraints applied to the roles. The suggested formalism makes it possible to detect constraint violations while configuring the roles and their hierarchy.
The issues of role graph transformations in terms of role administration are considered in [17]. The authors define three principles of role hierarchy optimization: flexibility and scalability, psychological acceptability and economy of mechanism. They also identify six main types of the role hierarchy. The designed methods are used to analyze models ARBAC97 [25–27] and SARBAC [4,5].
The graph-based formalization of RBAC is presented in [13]. The authors use the graphical specification technique based on generalization of classical string grammars to non-linear structures. This formalization is a basis for an intuitive description providing a way to manipulate the graph’s structures. The suggested approach allows us to optimize role administration.
Graph theory analysis was applied to RBAC in [35] to provide system security. The method proposed there is remarkable for using optimal data structures.
The construction and optimization of role hierarchies for spatial roles in distributed systems are examined in [32]. The paper is focused on the methods of solving disambiguation of role definitions.
Leitner [16] proposed delta-analysis that compares an expected RBAC model with the existing security policy.
The RBAC optimization as reducing the number of roles is considered in [37]. Several role graph building strategies are suggested for solving the problem.
The problem of the optimal role search is addressed in [3]. A strategy consisting of three steps is proposed: each role is weighed, each user gets a threshold value and is then assigned with a best fitting role considering the constraints.
The modules for the role graph’s modification and for designing the specifications allowing us to construct real role-based access control systems are presented in [9,14].
Distribution of permissions in a role-based security policy
The main issue of the role-based security policy construction is the assignment of permissions to a particular role. The basic problem here is considering the ordering relations between the roles in distributing the permissions. As one can see from [23], there are three possible approaches differing in the intersection of the roles.
Despite role-based security policies are widespread, some problems of the role hierarchy’s construction remain unsolved. In this section we examine distributing permissions between the roles in RBAC3 model.
Let us consider a basic model of role-based access control [8,10,30] that has constant security system parameters and highlight its main elements that will be used in the further description. Here are the main sets of the model:
U – the set of the system users. R – the set of the system roles. P – the set of the permissions that enable certain actions in the system.
Define two mappings that determine operation of a role-based security policy controlled system:
It should be noticed that there may be roles not assigned to any user.
A role hierarchy is a non-strict partial ordering relation over the set of roles R, and if
One more condition must be fulfilled here:
Basing on the given definition, the role hierarchy can be presented as a directed graph
In the notations of UML (Unified Modeling Language), a graphical modeling language that provides unified notations to represent various object-oriented projects, the arc must be directed from the subordinate role
In the majority of works on the role-based access control, it is assumed that the role hierarchy is presented by DAG (a directed acyclic graph). In the last part of this paper we will call it a role tree, denoted by
In the case of the hierarchical role relations special attention is paid to the process of A taxonomic leaf approach. The set of permissions is partitioned into non-intersecting subsets:
A non-taxonomic leaf approach. The permissions are also directly assigned only to the leaf roles, and the permissions of the other roles are calculated as the union of the child role permissions. The difference from the previous approach is that the intersection of the leaf role permissions can be non-empty:
A covering leaf approach. We assign directly (add) to the superior roles only those permissions that are not included in the permission sets of the subordinated roles.
In all the three cases, the resulting permission set includes all the permissions of all the subordinated roles due to the hierarchical structure.
Suppose the role hierarchy is given by a directed tree
Now consider class-based permission distribution. Let any pair of roles corresponding to the same equivalence class of leaf nodes have identical permissions:
From Fig. 1 it is obvious that the set of leaf nodes can be partitioned into three equivalence classes; the roles of the same class have identical permissions:

The role hierarchy that allows partitioning of the set of leaf nodes into equivalence classes.
As for the case of traditional permission distribution, mapping A taxonomic class-based approach. Suppose k is the number of equivalence classes of the role tree’s leaf nodes. Let us partition the set P into k non-intersecting subsets:
A non-taxonomic class-based approach. As in the previous case, the first step is distributing permissions between equivalence classes of leaf nodes. The difference is that the intersection of different equivalence classes’ permission sets can be non-empty. A covering class-based approach. Some permissions are distributed between the equivalence classes of the leaf nodes. The non-leaf nodes inherit the permissions of their children but can also have additional permissions assigned directly to them.
It is obvious that each of the three leaf approaches is a special case of a corresponding class-based approach under the condition:
The partition of the role tree leaf nodes and the rules of
We say that two roles are equivalent if the roles have the same permissions:
The equivalence relation
Label each node r of the role tree with the role’s set of permissions
So the
We denote the number of
An
For example, if we use the taxonomic class-based approach, then any unary
An
Note that an
Obviously, for an
Suppose we use the taxonomic leaf approach for permission distribution
Suppose the
Now suppose inequality (11) holds. Show that condition (12) holds and therefore the tree is optimal. Consider two different nodes
Suppose we use the non-taxonomic leaf approach for the permission distribution
The proof of necessity is similar to the proof of necessity for the previous theorem. To prove sufficiency replace condition (15) with condition (17). Suppose
Note that in the case of the covering approach an
From this moment we call the chosen approach to
Let T be an The tree T is called taxonomic (non-taxonomic, covering) if the taxonomic (non-taxonomic, covering) approach was used for the distribution of permissions. The tree T is called leaf (class-based) if it is important that leaf (class-based) distribution was used for that tree.
Expansion of the T is a subgraph of
Any
Let us construct a desired
Suppose each leaf node
Now, traversing the tree
As a result in the tree

A covering
Let the permission set of some system consist of 5 access permissions: “1” – Software usage, “2” – Software modification, “3” – Test task editing, “4” – Content editing, “5” – Requirements specification editing. Suppose the permissions are distributed using the covering class-based approach (Fig. 3(a)). According to Theorem 3, this role hierarchy can be expanded into a taxonomic class-based

Expansion of a role hierarchy.
In fact, by expanding the
According to Theorem 3, the class-based permission distribution has an advantage: it allows us to expand non-taxonomic or covering
One can consider an operation which is, in a sense, an inverse of
We say that the trees T and
For instance, if we delete the left edge and the leaf node incident to it from the tree T in Fig. 2, then we get an
Optimization of the T is equivalent to T. T is an optimal
Note that, because of optimality, the resulting
Let us try to answer the following questions. Can any
If an
We can get an optimal structure with the same
A directed graph defines a role hierarchy
Absence of directed cycles is necessary and sufficient for the relation given by the graph to be transitive and antisymmetric and therefore to be a partial ordering relation. □
Note that a digraph without directed cycles has at least one sink (a node with zero out-degree:
One can distribute permissions on a role digraph using one of the three approaches as in the case of a role tree. The process of
Any
For any pair of vertices that correspond to equivalent roles we contract the arc between them or contract the vertices themselves if there is no arc (edge contraction and vertex contraction are the standard operations of the graph theory). Then the set of

A taxonomic class-based
Suppose the system permissions are given by a taxonomic class-based

Optimization of a role hierarchy.
Combining the discussions from Examples 2 and 3 one can conclude that a covering class-based
It directly follows from the construction procedure of the optimal
G has one source s
For that graph the number of sinks
G is a leaf
If the original
By contracting the arc between the two vertices corresponding to equivalent roles one does not change the
If the original
If the original
In general, we can use the following steps to construct a role-based security policy: Thus, any role model of permission distribution can be expanded to such a policy such that
the role hierarchy is given by digraph without directed cycles,
the taxonomic leaf approach is used for the permission distribution,
the
It should be mentioned that the algorithm supposed in Theorem 5 is reversible: any
For any
Let us construct an equivalent
Further, traversing G from the lowest levels to the source we sequentially split each vertex. The “original” and the “copies” get the same permissions as the vertex they were generated by. After splitting a vertex we take already existing nodes of T that have no incoming arcs (T structure guarantees that such nodes always exist) and connect the “original” to them. In this way we restore children of the splitted vertex. For each “copy” we add a subtree that is identical to the subtree generated by the “original” and has the “copy” vertex as a root.
Obviously, the hierarchy T is an

An
Consider a role hierarchy. Figure 7(a) depicts the corresponding covering

Moving to a tree role hierarchy.
The number of the nodes of the
Let us use formula (21) to calculate the number of the nodes of the
Note that Theorem 6 allows us to reduce analysis of a role-based security policy defined on an arbitrary
Thus, to define a security policy on an arbitrary directed graph a model was developed in four following stages:
The “Ascending” principle of
We introduced the concept of an optimal role tree.
We described the expansion procedure that makes a role tree taxonomic.
Optimization of the obtained taxonomic role tree resulted in construction of the role hierarchy on the directed graph without directed cycles.
Thus, we have shown that one RBAC model can be equivalent to several role graphs. Moreover, it is possible to check the graph’s equivalence in the sense of permission distribution. This fact is essential for development of the graph theory as it allows to construct different role hierarchy representations that are optimal from different points of view. We have also shown that these transformations are reversible.
The role graph transformations described here allow making a tree from an arbitrary graph and vice versa without losing functionality and relationships between the roles. Such transformations can be useful for designing the algorithms able to recognize the permission distribution flows on role graphs or to find the duplicate roles.
The role graph’s transformations can also be useful for optimizing RBAC using different criteria. For instance, when one needs reduce the amount of roles in a system, he may start from dividing the roles into equivalence classes and optimizing the hierarchical structure by merging all the roles of each class into one role or finding close equivalence classes.
The series of transformations suggested in the present work cause the amount of roles in a system to increase, but it is not critical if the new roles are considered as the pseudoroles in the same sense as pseudousers in UNIX-systems. There are no users authorized for those pseudoroles, but they allow solving different problems from one universal point of view.
Hence, the results presented here are rather theoretical, some of them are even existence theorems, but they make it possible to design the algorithms enhancing flexibility of development and exploitation of RBAC-based security systems.
Footnotes
Acknowledgment
This work is sponsored in part by the Ministry of Education and Science of the Russian Federation within the framework of the state task for institutions of higher education for 2014–2016, project 2314.
