• No results found

Access Control Models for Enterprise Systems

Chapter 3 Authorization-function-based RBAC

3.2.2 Access Control Models for Enterprise Systems

One of the alternative approaches to traditional subject-operation-object paradigm is task-

based access control (TBAC) proposed by Thomas and Sandhu [THOM93]. TBAC views access

control and authorization not in terms of individual subject and objects, but in terms of long-lived

tasks that need to be authorized and managed in information systems. This approach has some

advantages over the subject-operation-object approach, because the term “task” is more generic

than the combination of operation and object. The TBAC model can very well model task-

oriented security policies like Separation of Duty (SoD) and the Chinese Wall, as well as carry

out work flow control effectively. However, this model is specifically designed to protect

business activities and transactions in a distributed environment. It does not provide generic

access control mechanisms for handling a variety of situations in enterprise-wide systems.

With the popularity of the Object-Oriented (OO) paradigm, an Object-Oriented access control

model was proposed for general OO-based systems [EVER00, EVER02]. This model uses per-

method access control based on the interface methods of an object. At the same time, constraints

can be imposed on user-to-system interactions, based on the parameters of the methods. This

allows the per-method access control to provide fine-grained semantic protection that the

traditional per-attribute (data item) access control models are unable to achieve. In the security

specification, the concept of method can describe user-to-system interaction more efficiently than

the traditional per-attribute access control. However, per-method access control is only

applicable to Object-Oriented database systems. Yet an enterprise access control system should

Although both models have improved object heterogeneity by using “task” or “method” as

the basic access control unit, they are still unable to manage large numbers of users in enterprise

systems. Both models fall short of generality as each of them targets at a specific problem or a

specific system in the area. Hence, they cannot be used to support a unified access control

framework that involves heterogeneous users and resources.

3.2.3 Role-based Access Control

The background chapter introduced the main components and contributions of Role-based

Access Control (RBAC) [SAND96]. Among all existing models, RBAC is considered to be the

most suitable for enterprise systems, due to its generality and expressiveness [AHN00, CHAN03].

This section will focus on how authorization is represented in RBAC and the concept of

constraints in RBAC. In RBAC96, a permission is described as an approval of a particular mode

of access to one or more objects in the system [SAND96]. Permissions are assigned to roles rather

than individual users, since the concept of role provides long-term identity for the system. For

instance, in a company, if a user is a system administrator and is assigned to the role “Sys

Admin”, then this user is more likely to hold this role as long as they work as a system

administrator in the company. Hence, the notion of role has modelled the position and privileges

of a user in an organisation concisely. Therefore, permissions assigned to each role are changed

less frequently than permissions assigned to individual users. Compared with the huge number of

users in a distributed system, the number of roles is much smaller and thus becomes more

manageable. This has significantly reduced the size of the authorization base and the level of

be established. In a role hierarchy, senior roles inherit all privileges from their junior roles. By

using role inheritance, only permissions that are specific to the role are defined; permissions that

are common to both senior roles and junior roles are specified for the junior roles only. This

structure avoids repetition of permission specifications and can further reduce the number of

authorizations stored in the authorization base.

Figure 3.2 RBAC model (modified from Figure 1 in [SAND96])

However, in RBAC96 [SAND96], a permission is still represented in the form of operation-

object which describes the traditional database access paradigm. In enterprise systems, there are

a large number and types of resources, such as database items, files, and heterogeneous hardware.

When authorizations are specified by operation-object paradigm, an enterprise system needs to

define a set of access modes for each type of resource, such as read, write, update for databases,

User Assignment Permission Assignment Permis -sion Role User Constraint Ses- sion

view element, view schema, destroy and create for documents – which is inefficient. With the

use of access rights hierarchy and object hierarchy, this paradigm becomes even more

complicated, hence is no longer suitable for describing heterogenous resources in distributed

systems.

RBAC96 uses the concept of constraint to specify conditions that must be satisfied in

authorizations. Constraints (as indicated by the Figure 3.2) can be applied virtually to any of the

concepts specified in the RBAC model. Yet when the concept of constraint is used in a user/role

assignment in an active session directly, it will affect authorization decisions. By using

constraints, the authors demonstrated that RBAC is capable of supporting some well-known

security policies such as Separation of Duty (SoD) and prerequisite role. However, constraints in

the context of RBAC did not receive enough attention in RBAC96, although they carry great

importance as they can be used in various situations to specify a wide range of security policies.