You are on page 1of 21

Available online at www.sciencedirect.

com

The Journal of Systems and Software 81 (2008) 1306–1326


www.elsevier.com/locate/jss

Role engineering: From design to evolution of security schemes


Gilles Goncalves a, Aneta Poniszewska-Maranda b,*
a
LGI2A – Universite d’Artois, Technoparc-Futura, Bethune, France
b
Institute of Computer Science, Technical University of Lodz, Poland

Received 30 March 2007; received in revised form 21 August 2007; accepted 2 November 2007
Available online 21 November 2007

Abstract

This paper presents a methodology to design the RBAC (Role-Based Access Control) scheme during the design phase of an Infor-
mation System. Two actors, the component developer and the security administrator, will cooperate to define and set up the minimal
set of roles in agreement with the application constraints and the organization constraints that guarantee the global security policy of
an enterprise. In order to maintain the global coherence of the existing access control scheme, an algorithm is proposed to detect the
possible inconsistencies before the integration of a new component in the Information System.
Ó 2007 Elsevier Inc. All rights reserved.

Keywords: Security of information system; Access control; Role engineering; Role-based access control model; Constraints; UML (Unified Modelling
Language)

1. Introduction secure the data against the threats identified earlier. Having
this policy defined, it is necessary to have the possibility to
Nowadays, with the world market development and the configure the components of security architecture in order
acceleration of information exchanges, the Information to apply the security rules. The security of an information
System (IS) of a company becomes increasingly strategic. system concerns all fields of information activity and all
In this situation it becomes clear that a security system spe- actors of the company. With respect to application
cific to the certain requirements needs to be developed to domain, all security measures should concern (Tipton
protect the Information System against the threats from and Krause, 2006; Tudor, 2006; Peltier et al., 2004):
the inside and outside of the organization.
The objective of information security is to reduce these – physical security: concerns all aspects of the material
risks to the admissible level for the organization function- components of a system and their environment,
ality. A financial compromise has to be found between – operating security: concerns the proper functionality of a
the price needed to pay to set up that level of safety in system, i.e. providing the availability and performance
the company and the loss caused by the absence or bad of a system,
functioning of any service given by the information system. – logical security: assures the confidentiality and integrity
Therefore, the first question that should be asked is: of data or services by controlling their accesses; concerns
which menaces this information system has to face? Risks the access control management based on the identifica-
analysis allows identifying the threats that press heavy on tion, authentication and authorization,
the information system. It is then necessary to define the – application security: concerns the protection of applica-
security policy to set up the efficacious protections to tions connected with the enterprise functionality and
the verification of a new applications introduced into
*
Corresponding author. Tel.: +48 42 632 80 65; fax: +48 42 630 34 14. the system as regards their integrity and safety for the
E-mail address: anetap@ics.p.lodz.pl (A. Poniszewska-Maranda). enterprise,

0164-1212/$ - see front matter Ó 2007 Elsevier Inc. All rights reserved.
doi:10.1016/j.jss.2007.11.003
G. Goncalves, A. Poniszewska-Maranda / The Journal of Systems and Software 81 (2008) 1306–1326 1307

– telecommunication and network security: the communica- the UML (Booch et al., 1998; OMG, 2000, 2004) allows
tion architecture should be evolutionary and safe for to specify clearly the information system needs and facili-
both the users and data stored in the system. tates the dialogue between different actors (i.e. user, devel-
oper, administrator) that interact in its design.
As shown above, the system security is a complex approach The objective of this paper is to present a security
that requires, at the same time, the structuring methodolo- schema of an information system basing on the RBAC
gies to make its realization easy, and a strong implication model. Such schema is created first of all during the design
of the management team and its staff to assure their phase of a system. In this creation process two actors
success. should cooperate with each other, the component devel-
The logical access of the authorized persons to different oper and the security administrator, to determine the min-
components (i.e. data, services) of an information system is imal set of user roles in agreement with the constraints that
in the focus of studies presented in this paper. Therefore, guarantee the global security coherence of the system. The
each identified user of a system does not have access to paper describes this creation process proposing in the last
all the functions and activities of the information system. part the coherence algorithm in the field of access control
In an information system, data protection against security of the information systems.
improper disclosure or modification is an important The paper is composed as follows: Section 2 presents
requirement. The access control regulates what a user can different models to control the logical access to the system
do directly and what the programs executed on behalf of components and Section 3 the design methods of the infor-
the user are allowed to do. The system administrators have mation systems. Section 4 gives the objective of our project
to implement access control mechanisms to protect the concerning the principal work about the role engineering.
confidentiality and integrity of applications and its data. Next, in Section 5 we present the general scheme of the pro-
In the past, the user access was granted by adding neces- posed approach to define and assign the roles to the infor-
sary permissions to each individual application, which mation system actors. The last Section 6 proposes more
made the administration, involving many users and several precisely the management of global coherence of security
different applications, complicated and ineffective. constraints in an evolutionary approach of the security
The alternative is not to assign users directly to permis- scheme (i.e. addition of new components to the existing
sions for each application but to assign users to roles and information system): the integration chain of constraints
the permissions to roles for each application. Then any in a coherent system, the definition of the system coherence
change in the user’s position or their needs can be solved and the verification of the security system coherence. This
by the administrator simply by assigning the user to verification is realized using a proposed algorithm to assure
another role. Since roles contain appropriate permissions, the system coherence.
the administrator does not have to update authorizations
for each user application. Such situation can be solved by 2. Access control models
using the role-based access control (RBAC) model as an
access control model in the security processes of an infor- The purpose of access control is to limit the actions or
mation system. The RBAC model is an interesting alterna- operations that a legitimate user of an information system
tive to the traditional access control models, like MAC can perform. The access control in information system is
(Mandatory Access Control) (Bell and La Padula, 1975; responsible for granting direct access to the system objects
Sandhu, 1994; Sandhu and Jajodia, 1993) or DAC (Discre- in accordance with the modes and principles defined by
tionary Access Control) (Harrison et al., 1976; Castaro security policies. An access control system defines:
et al., 1994; Sandhu, 1994; Sandhu and Jajodia, 1993).
The security administration in an information system is – Subject: the active entity of a system; very often it is a
a complex task. Numerous security constraints should be user or an application that will interact with the IS.
formulated in order to define the security policy in a proper – Object: the passive entity of the IS; it corresponds with
way. The security constraints specified for an application the information or the resources which the subjects
give the possibility to manage its complexity. The applica- can access.
tion developer can define the security constraints associated – Action: presents an activity realized during the access to
with this application. On the other hand, with his good an object, for example: somebody desires to read or
knowledge of the global security policy, the security admin- write information or to execute an operation.
istrator can set up the constraints on the global level. The
main difficulty is to assure the global coherence of all ele- It is possible to assure the confidentiality of the informa-
ments (applicative and organizational) when a new applica- tion (i.e. protection against the improper disclosure) and
tion with new elements, i.e. roles, functions, permissions is its integrity (i.e. protection against the improper modifica-
added into the existing information system. tion) by prohibiting the direct access carried out by the
The method developed in the project described in this non-authorized subjects. The flow control or inference con-
paper was supported by the object-oriented design trol should be set up to protect it against the indirect acces-
described in the UML. Owing to its high level diagrams, ses carried out by the authorized subjects abusing their
1308 G. Goncalves, A. Poniszewska-Maranda / The Journal of Systems and Software 81 (2008) 1306–1326

privileges. If it is not possible to set up this control, the cod- character (i.e. the absence of possibility to delegate the
ing or signature mechanisms can be used to make the infor- rights) and its rigid centralized management.
mation unintelligible or incoherent for the malicious The role-based access control model represents an inter-
subject (Tipton and Krause, 2006; Tudor, 2006; Peltier, esting alternative to these traditional models. The role-
2001). based access control model - RBAC model - was defined
The access control mechanism is composed of two com- in the nineties of 20th century (Sandhu et al., 1996; Ferra-
ponents (Fig. 1): iolo and Kuhn, 1992; Jajodia et al., 1998). This model
requires the identification of roles in a system. The role is
– the set of access policies and access rules: information properly viewed as a semantic construction around which
stored in the system is accessible via access modes that access control policy is formulated. The role can represent
determine the possibilities of accessing objects by competency to do a specific task, and it can embody the
subjects, authority and responsibility. Ferraiolo et al. have proposed
– the set of control procedures (security mechanisms) that in Ferraiolo et al. (2001) the NIST RBAC model and have
check queries (i.e. requests for access) in agreement with specified the functions to manage and maintain this model.
the suitable principles and rules; the access may be The RBAC model obtained the ANSI norm in March 2004
allowed, denied or modified, including the filtering out (ANSI INCITS, 2004).
of the unauthorized data. Since the work of Sandhu and Ferraiolo on the RBAC
model many other access control models were proposed
The security models have been defined in literature to to integrate other functional and organizational facilities
facilitate the process of setting up such architecture. The relative to the enterprise structures. The team notion pro-
discretionary model, DAC model (Discretionary Access posed in the TMAC model (Thomas, 1997; Georgiadis
Control model) (Harrison et al., 1976), manages the users’ et al., 2001), the task notion used in the TBAC model
access to information based on the user identification and (Coulourisand et al., 1998) or the organization notion of
on the rules defined for each user (i.e. subject) and each the ORBAC model (El Kalam et al., 2003) were created
object in the system using the access control matrix. For to better describe the cooperative enterprise activities.
each subject and object in a system there are authorization However, the RBAC model seems to be the most popular
rules that define the access modes of the subject to the and most stable and for these reasons it was chosen at
object. The access to an object in a specific mode is granted the beginning of our study.
only for subjects, for which an authorization rule exists and Recently, the arrival of the new trades joined with the
is verified, otherwise it is denied. The most common form Internet development (i.e. e-business, supply chain manage-
of access administration is the ownership policy based on ment, etc.) caused the necessity of new access protocols to
the ownership of an object, which allows the object owner the IS objects, which should be more complex and more dis-
to grant or deny another user the access rights to this tributed. Park and Sandhu defined in UCON ABC model (Park
object. The management of discretionary models is difficult and Sandhu, 2004) the usage control as an access control
because of the size of access control matrix and moreover generalization used for security policy evaluation before
they are poorly adapted to the flow control (Castaro the access (as usual) and during the access to information
et al., 1994; Sandhu, 1994; Sandhu and Jajodia, 1993). because security policy can dynamically vary. The security
For this reason, the mandatory model (MAC model - policy based on the UCON ABC model is a set of authoriza-
Mandatory Access Control model) (Bell and La Padula, tions (permissions), obligations and conditions to satisfy.
1975; Sandhu, 1994; Sandhu and Jajodia, 1993), was pro- The definition of roles in the RBAC model implies the
posed. In this model each subject has their own authoriza- determination of organizational roles of each person in a
tion level, which allows them the access to objects starting given organization. This model provides support for sev-
from the classification level, which has lower or equal eral important security principles (i.e. least privilege, privi-
range. The main inconvenience of this model is its static lege abstraction and separation of duties) but does not
dictate how they should be put into practice. How to set
up the model in a new or an existing information system?
How to define the role engineering?
Refused access
Access Control
request procedures Authorised access 3. Design methods of information systems
Moditification request
Attempting to answer the previous questions, we stud-
ied, on one hand, the design methods of the information
systems and, on the other hand, the design methods of
Security
Access rules information system security used in Europe. We tried to
policy
identify the aspects in relation with the access control for
each of these methods. Taking this approach into consider-
Fig. 1. Components of the access control system. ation, two distinct schools of design methods were
G. Goncalves, A. Poniszewska-Maranda / The Journal of Systems and Software 81 (2008) 1306–1326 1309

observed. However, no global method takes into account Considering that, the main objective of our work is to
both the design of information systems and the associated propose a global approach to simultaneously design both
security scheme. the Information System and its associated security scheme.
On the level of design methods of the information sys- The security scheme, which is being focused on here, is
tems the analytical approach (i.e. Cartesian approach) based on the access control model of RBAC type.
can be distinguished, for example by SADT (Structured
Analysis Design Technique) developed by Doug Ross in 4. Role engineering
1977 (Ross, 1977) which operates on the division of compli-
cated system into functional blocks, and the systematic The research of roles to set up in an organization is a
method based on the general theory of biologic systems complex task because very often the functions of actors
that analyses a complex system as a whole (Le Moigne, in an organization are few or badly formalized. Moreover,
1994). In practice, these two approaches are used together the role concept is an abstract approach – it does not cor-
in the methods like Merise or Ossad to analyze the systems respond to a particular physical reality and therefore it is
which are simultaneously complicated and complex. very difficult to give definitions that comprise the whole
The Merise method (Melese, 1972) is imposed as a stan- world. To conclude, the research of roles needs, like many
dard in design of information systems since the 80-ties in other scientific domains, a real engineering approach that
Europe and it evolved with the strong development of provides a guide to comprehend and maintain them.
the object-oriented methods (Gabay, 1998; Kettani et al., Historically, Coyne in (Coyne (1996)) defined the role
1998). Merise proposes different abstraction models to engineering as the process of defining roles, permissions,
describe the information system and methodological steps role hierarchies, constraints and assigning the permissions
to design these models. In the organizational model, it is to the roles. This is the preliminary stage before setting
possible to specify‘‘Who makes What, When and Where” up the access control system of RBAC type.
using the actor concept and the action/behavior concept. In order to explain the determination of roles and/or the
The Ossad method (Chappelet and Snella, 1997), the research of their associated permissions, many concepts
result of the ESPRIT project (European Strategic Program were proposed. Fernandez and Hawkins (1997) used
for Research in Information Technology), is principally the‘‘use case” formalism to define the permissions associ-
based on the evolution of the organization in an enterprise. ated to a given role.
In its descriptive model, the notions of role and action Thomsen et al. (1998) proposed the RBAC-FNE model
allow to specify‘‘Who makes What” using the graphs. (Role-Based Access Control Framework for Network
Considering the methods related to the security manage- Enterprises) based on seven layers that may be exploited
ment we examined the Marion method and the Mehari by various users (i.e. application developer or system
method currently used in Europe and in Quebec. They pro- administrator). The access to particular layers is connected
vide recommendations and the analysis of risks in the with functions and duties that a given user has obtained.
information systems (Lamere, 1991). The Marion method Among the seven layers, four are accessible to the applica-
invented and developed since 1990 by CLUSIF (Club de tion developer and the remaining three - to the system
la Scurit des Systmes d’Information Franais – French Club administrator. Epstein and Sandhu (1999) provided an
of Information System Security) allows defining three UML specification of the previous RBAC-FNE model.
schemes for the security of information systems. On the Rockle et al. (2000) proposed in their work the process-
local scheme, it is possible to specify the logic access con- oriented approach for role finding starting from the busi-
trol of an information system. The definition of general ness processes of the enterprise. Their approach provides
access control rights is realized on the level of preliminary the method to find the roles but does not address the prob-
scheme, which integrates the global policy of an enterprise. lem of how to find the permissions and how to assign per-
The Mehari method (Methode Harmonise d’Analyse de missions to roles.
Risques – Harmonized Method of Risk Analysis), the Schimpf (2000) proposed to organize the role engineer-
result of work on Melisa and Marion, is also realized by ing process and to follow a clearly defined life-cycle model
CLUSIF and replaces the Marion method. It is composed for roles. The maintenance and evolution of roles are taken
of guides, a set of knowledge database and motors. Logical into account.
access control can also be taken into account by this In his approach, Epstein and Sandhu (2001) proposed to
method. determine the roles and their associated permissions start-
To conclude our prospective work, there are not many ing from an extension of the RBAC model which includes
recommendations touching the access control on the level three new concepts between roles and permissions: jobs,
of design methods like the Merise method. Moreover, there workpatterns and tasks.
are no methodologies to specify and to set up a role-based Using a role classification, Crook et al. (2002) to identify
model. Many research works on the role engineering (Sec- the roles in connection with the organizational structure of
tion 4) are currently studied, but in many cases they are not an enterprise. Neumann and Strembeck (2002) proposed to
connected to the design and the evolution of Information determine functional roles (and their associated permis-
System, which they are supposed to make safe. sions) of an enterprise starting from the scenarios. A role
1310 G. Goncalves, A. Poniszewska-Maranda / The Journal of Systems and Software 81 (2008) 1306–1326

is depicted using a collection of scenarios and each scenario level given in the abstract model. Epstein and Sandhu
is associated with a set of particular access operations. (2001) also proposed the analogue extension but with a
In the work of He and Antn (2003) a goal-driven role finer role distribution that contains three supplement levels
engineering process is described, taking into account the (job, workpattern, task).
user privacy preferences. A‘‘Top-Down” approach allows Persons employed by a company can have many profes-
defining first the roles and next the permissions associated sional responsibilities. Therefore, a set of roles can be
with these roles. attached to them. Each role defined in the extended RBAC
As it was shown below, the problems arising from the model allows the realization of a specific task associated
installation of hierarchy of roles and constraints have been with an enterprise process. Since every role can contain
only superficially touched in these works. Moreover, many functions that a user can apply, it is possible to
whereas everyone agrees that safety must be taken into choose functions of the system that are necessary for it.
account as quickly as possible, the proposed role engineer- Consequently, a role can be viewed as a set of functions
ing approaches are often disconnected from the design and that this role can take to realize a specific job. Because each
the evolution of Information System for which they are function can perform one or more operations, a function
provided. needs to be associated with a set of related permissions.
To perform an operation one has the access to a required
5. The global method object, so necessary permissions should be assigned to the
corresponding function. This way all the tasks and required
In the presented project we decided to approach the permissions are identified and they can be assigned to the
access control problem of Information System by propos- users to give them the possibility to perform the responsi-
ing the associated RBAC model from its preliminary bilities involved when they play a particular role.
design to its future evolutions (i.e. additions of the new This supplement level (i.e. the function level) allows
components into the information systems). more flexibility in the security management and the parti-
The objectives are, on one side, to make the work of tion of responsibilities. For example, the necessity arises
security administrator easier and, on the other side, to have to set up a new organization in an enterprise or to integrate
better coherence between the global security constraints of a new application in the information system. This situation
an enterprise and the constraints related to different appli- generally causes the necessity to redistribute the functions
cations that compose the Information System. to different actors of this enterprise. In this case, the secu-
First, the extension of standard RBAC model is intro- rity administrator should only modify the allocations of
duced for the specification of access control in the informa- functions to the roles, with the new reorganization in mind.
tion system. Next, the methodology that helps to set up The users will always have the same roles but with new
such a model is discussed, together with the development assigned functions. Likewise, if a function should be chan-
and integration of a new component in the existing Infor- ged in the enterprise, it is possible to update the allocations
mation System. of its permissions without any changes for the roles that
use this function. In order to do that, three supplement
relations have been introduced into the RBAC model:
5.1. Extended RBAC model
– R–F relation, which assigns functions to roles,
The complexity of actual organizations (i.e. matrix – F–P relation, which realizes an association between per-
based organizational structure) has guided our proposition missions and functions
to extend the standard RBAC model by role management – F–F relation, which allows the inheritance relation between
facilities that allow a finer distribution of responsibilities in the functions.
an enterprise (Fig. 2). For this reason, the function concept
is introduced (Poniszewska-Maranda et al., 2005). Such In the presented approach, one or more permissions can be
distribution is also used in the OSSAD approach (Chapp- associated with each function. We consider an object-ori-
elet and Snella, 1997) with the function level and activity ented information system in which the properties of each
object are only accessible by the specific methods, like it
is in the IRIS model (Ahad et al., 1992). The hypothesis
* 0..* * 0..* of closed world allows to manage only the positive autho-
Users * Roles * Functions * Permissions rizations. Therefore, the principle of least privilege is
* * *
1 1..* * * adopted for the assignment of permission to the function.
1 1 Permission determines the right of particular method exe-
Method Object
cution on a particular object (Bhamidipati and Sandhu,
* *
1997). Thus the definition of permission can be formulated
* Session 1 1
1..*
Operation Class
as follows:
A permission is defined by a function p(m, o), where m is a
Fig. 2. Extension of RBAC model. method that can be executed on a set of object instances o
G. Goncalves, A. Poniszewska-Maranda / The Journal of Systems and Software 81 (2008) 1306–1326 1311

and the set o can be determined by a set of constraints cst(p) exchanged during the use case processing. There are two
concerning this permission. types of standard interaction diagram: sequence diagram
By default, the permission is given to all instances of the and collaboration diagram. Both of them are defined to
object class except the contrary specification. As a result, capture how objects collaborate with each other to realize
this permission has to be defined only on these instances the use case.
of object class that satisfy a particular constraint (Section The UML gives the possibility to present the system
6). This constraint precisely defines that the permission is using different models. We propose to use the properties
valid only for a subset of instances of the object class. of this language during the design phase of a whole Infor-
Distribution of roles can be exemplified by an applica- mation System or any part of it. This way we have the
tion found in a typical university information system. opportunity to produce the related RBAC model. The pur-
The user‘‘professor” can have two roles: Teacher and pose of this part of our study is to show how it is possible
Researcher, to perform his teaching activity and research- to implement and realize the extended RBAC model with
ing activity. The teaching role has a number of functions: the use of UML diagrams. To accomplish this, the con-
prepare lectures, give lectures, prepare exams, record cepts of UML and RBAC model (Fig. 4) should firstly
results, modify results, etc. The researching role contains be joined (Poniszewska-Maranda et al., 2005). Two types
functions like: create a theory, test the theory, document of UML diagrams have been chosen to provide the
the results, etc. These functions are mapped to sets of per- extended RBAC model: use case diagram and sequence
missions that grant the accesses to perform the works diagram. Relationships between the UML concepts and
required by each function. Fig. 3 presents the relations the RBAC concepts are presented below (Fig. 4).
between these elements.
5.2.1. Role-actor
5.2. Representation of extended RBAC model using the The UML supports the concept of use case, on which
UML concepts the entire developed system is based. This approach is real-
ized via use case diagram from which the concept of an
The Unified Modelling Language (UML) is a high-pro- actor very close to that of the role concept in the RBAC
file approach to model the information systems (Booch model is derived. In UML the actor defined as a role or
et al., 1998; OMG, 2000; OMG, 2004). Being a standard a set of roles played by a person or by a group of people
modelling language in the area of software engineering interacting with a system, represents a category of users
the UML has also become a support for object-oriented that share the same functions or the same activities in an
approaches. It contains a suite of diagrams for requirement organization. Thus each specific user or a group of users
analysis, design and implementation phases of the system can be treated as an actor. However, as users can play dif-
development. ferent roles, it is more correct to view a role as an UML
The use case diagram represents the functions of the sys- actor.
tem from the users’ point of view. It determines the behav-
iour of the system without defining the internal structure of 5.2.2. Function – use case
the functions. According to the definition of UML meta- A role is a set of functions represented in the UML by
model, each use case diagram contains some use cases means of the use cases. Each actor co-operates with one
and each use case represents a particular collaboration or more use cases representing the essential functions of a
(i.e. scenario) between the actors and the system. To deter- system. Use case can be viewed as a function of the
mine a given collaboration in detail an interaction diagram
should be defined. The interaction diagram describes the
UML RBAC
behaviour of one use case (Booch et al., 1998; OMG,
2000; OMG, 2004). It represents the objects and messages
1 Actor Role
Use Case *
Diagram 1
prepare lecture p p
give lecture
p * Use Case Function
Teacher prepare exams p
p 1
record results p *
modify results Sequence Diagram or
Professor p Permissions
p Collaboration Diagram
create theory
p
p 1 1
Researcher test theory Objects
p Operations
document results * *
p
Objects Operations

USER ROLES FUNCTIONS PERMISSIONS


Fig. 4. UML concepts and its relationships with the extended RBAC
Fig. 3. Example of roles-functions-permissions mapping. model.
1312 G. Goncalves, A. Poniszewska-Maranda / The Journal of Systems and Software 81 (2008) 1306–1326

extended RBAC model. For each role, the functions 5.2.5. Constraints
needed by this role in order to co-operate with the system The concept of constraints of the RBAC model is con-
can be chosen. This process is similar to that of connecting nected directly with that of the constraint concept existing
actors with their use cases. Thus, in the application realized in the UML.
using the UML, roles and their related functions can be
easily identified. 5.2.6. Relations
The relations that occur between the elements of the
5.2.3. Methods and objects RBAC model can also be found in the use case diagrams
Methods of extended RBAC model are represented in and in the interaction diagrams. A use case diagram
the UML by the methods executed in different types of dia- exploits four types of relations between its elements:
gram (i.e. sequence diagram, collaboration diagram), while
for the objects of RBAC model the UML object concept is – communication relation between an actor and a use
used. case, being a relation between a role and a function,
i.e. R–F relation,
5.2.4. Permissions – sequence diagram – generalization relation between actors, representing a
A use case contains a sequence of actions executed by an heritage relation between roles (R–R relation),
actor in a system. For the purpose of this study, sequence – two types of relations: extension relation and utilization
diagrams have been chosen to describe the use cases (the relation, both of them occurring between use cases, rep-
same results could be obtained with the use of collabora- resent relations between functions in RBAC model, i.e.
tion diagrams). A sequence diagram represents an interac- F–F relation.
tion of objects by means of a sequence of messages sent
between these objects. In each sequence diagram there is
one or more objects representing actors who in this way 5.3. Partition of responsibilities – process of role creation
participate directly in the process of sending messages
between the objects. Upon reception of a message the exe- Two types of actors cooperate in the design process of
cution of the corresponding method is triggered. an information system and its associated security scheme
A message sent to an object corresponds to a method (Goncalves et al., 2003; Poniszewska-Maranda et al.,
call. Access to the object is controlled with respect to the 2005): the information system developer who knows the
right of the method execution possessed by a subject over specifications of IS that need to be realized and, from the
an object. For each subject the access model allows specifi- other side, the security administrator who has the knowl-
cation of a list of methods that the subject can execute. edge of the general security constraints that should be
Thus, for each use case it is necessary to specify permissions respected on the enterprise level. The applied method
for the method execution. These permissions are assigned to answers for the partition of responsibilities between these
the functions by the function–permission (F–P) relation. two actors and for their cooperation to establish the global
The situation when the interaction diagram involve access control (i.e. security schema) using the extended
more than one actor is solved on the level of use case dia- RBAC model. This distribution is presented using the class
gram because this type of diagram shows all the actors diagram in Fig. 5.
taking part in the realization of the use case (described In the evolution process of an information system, a cli-
by the interaction diagram). If the actors are in relation ent may ask the developer to realize a new application (i.e.
with an use case on the use case diagram it seems that they to add a new component to the existing IS). The applica-
will appear in the interaction diagrams describing this use tion developer defines the elements of this application
case and in consequence they will have some permissions and its constraints corresponding to the client specifica-
existing in these interaction diagrams. The actors are con- tions. Next, the security administrator defines administra-
verted into the RBAC roles assigned to the functions tion rules and enterprise constraints according to the
received from the particular use cases. Of course, if for global security policy and application rules received from
example two actors exist in the same interaction diagram the developer. The security administrator should also ver-
is not mean that they both have the same permissions. ify if these new constraints remain in agreement with the
In most cases only one actor (the actor who initiates the constraints of existing information system in order to guar-
interaction) has the majority of the permissions. The sec- antee the coherence of new information system.
ond actor or the other actors participating in the same
interaction have only part of permissions from it. Such sit- 5.3.1. Conception level
uations concern only part of the use cases and their inter- The application developer realizes the stage of design.
action diagrams. The conversion from UML to RBAC He defines the application model that contains all the ele-
concepts in such situation is not quite automatic and ments expressing the user needs. From this model the
sometimes it should be determinated by appropriate con- developer generates the sets of following elements: roles,
straints that define the proper rights and permissions of functions, permissions and constraints. These sets of ele-
the actors. ments should be presented to the security administrator
G. Goncalves, A. Poniszewska-Maranda / The Journal of Systems and Software 81 (2008) 1306–1326 1313

1
User Session
* *
*

* * * * * *

*
Enterprise Role * Function * Permission

*
function * *

constraint
constraint

EXPLOITATION LEVEL CONCEPTION LEVEL


SECURITY ADMINISTRATOR DEVELOPER

Fig. 5. Stages of application developer and security administrator.

in a useful and legible form. The tasks of application devel- more persons this function is realized by these persons tak-
oper are as follows: ing into consideration the constraints defined on such func-
tion that specify the additional conditions for its execution.
– allocation of elements: permissions to functions and The security administrator should assign the roles to
functions to roles, users based on the relations between the enterprise func-
– setting up the constraints associated to this application. tions and the roles (Fig. 5). It is also possible to define
the hierarchy of the enterprise functions. This way one
Starting from the UML specification realized by the devel- enterprise function can inherit the rights of another enter-
oper of an information system component we have shown prise function.
in Goncalves and Hemery (2000) and Poniszewska-Maran- The security administrator should have the list of the
da et al. (2005) how to generate automatically the roles enterprise functions and the list of employees. He assigns
associated to a component of the information system using to them the rights to use different applications of the enter-
the UML meta-model. Section 5.4 gives the rules to pro- prise information system or parts of theses applications.
vide these roles. This process is based on the user responsibilities in an
organization.
Therefore, the tasks of security administrator are the
5.3.2. Exploitation level following:
In the second part, i.e. during the exploitation phase of
the information system, the security administrator assigns – allocation of elements: of roles to the enterprise func-
the previous roles to the users based on their responsibili- tions and of users to the enterprise functions,
ties and on global security policy defined for the enterprise. – setting up the constraints on three types of relations: user–
The security administrator should manage the set of enterprise Function, enterpriseFunction–enterpriseFunction
applications assuring the global coherence of the whole sys- and enterpriseFunction–role.
tem. Using the set of applications received from the devel-
oper he gives the system users different rights to use the The relation between a user and an enterprise function sig-
particular applications. However, before assigning the nifies the assignment process of the user to these functions.
users to the enterprise functions and the roles to the enter- There is also the relation between enterprise function and
prise functions, the security administrator should define UML’s role, which expresses the assignment of the roles
constraints on these assignments with respect to defined to these functions. We can also define the hierarchy of
security policies. enterprise functions, therefore one enterprise function can
The application that the security administrator receives inherit other enterprise function.
from the developer contains: a set of roles, a set of func-
tions, a set of permissions and a set of application con-
straints. These sets must be completed with two groups 5.4. Role engineering – automatic production of roles based
of elements important from the administrator’s point of on extended RBAC model
view; namely:
Access control mechanisms demand that for each user a
– persons working for the enterprise (users) and set of operations that he will be allowed to execute should
– functions realized in the enterprise (enterprise functions). be clearly defined. Consequently, for each user a set of per-
missions should be defined. It needs to specify the permis-
An enterprise function is a task or a set of tasks that can be sions for execution of certain methods on each object
realized in a system by the same person. If the tasks of an accessible for that user. This process is realized with the
enterprise function require the cooperation between two or use of sequence diagrams, where permissions are assigned
1314 G. Goncalves, A. Poniszewska-Maranda / The Journal of Systems and Software 81 (2008) 1306–1326

to the rights of execution of the methods realized in each Each message msgðo1 ; o2 ; mÞ in the interaction sent by
use case. object o1 to object o2 to execute method m on object o2
Based on the connection between the UML and the should be assigned to a suitable permission. This permis-
extended RBAC model given above, a definition of sion corresponds to the execution of method m on object
the security system access control (of the RBAC type) at o2 . On the addition of constraints (Section 6), the definition
the developer level is proposed, using the UML as a tool of the message is as follows: msgðo1 ; o2 ; m; cstÞ, where cst
(Poniszewska-Maranda et al., 2005). The UML meta- represents a set of constraints. Consequently, the set of per-
model is examined to define the roles of the corresponding missions for interaction i is defined as follows:
RBAC model, the functions that are used by these roles to
co-operate with the information system and the permis- P ðiÞ ¼ fpjuðmsgðo1 ; o2 ; m; cstÞÞ ¼ pðm; o2 Þ ^ cstðpÞ ¼ trueg
sions needed to realize these functions. Owing to the use
case diagrams a list of actors co-operating with the infor- where u is a function that assigns a permission to message
mation system is obtained. An analysis of these diagrams msg and o1 is an actor or class instance that can execute
allows automatic specification of relations of the following method m on object o2 .
types: R–R (role–role) relation (with the use of generaliza- An interaction diagram, in particular a sequence dia-
tion relation between the actors), R–F (role–function) rela- gram, is defined by the set of interactions. Thus, the set
tion (with the use of the association relation between the of permissions assigned to diagram d and described by
actors and the use cases) and F–F (function–function) rela- the set of interactions D is
tion (generalization relation between the use cases). [
The description of a use case using the interaction dia- P ðdÞ ¼ P ðiÞ
grams (e.g. sequence diagrams) presents activities needed i2D

to realize a particular function of a system. Each activity


The use case l described by set M of interaction diagrams
corresponds to the execution of a method on an object. It
d i has the following set of permissions assigned to it:
is possible to add the permission execute to each method
[
attached to a message sending in a sequence diagram and P ðlÞ ¼ P ðd i Þ
next make a union with the set of permissions. Therefore d i 2M
the F–P (function–permission) relations can also automat-
ically be produced and managed. The set P ðlÞ represents the set of permissions assigned to
the function specified by the use case l.
5.4.1. Creation of roles
A user of an information system is assigned to a user 5.4.3. Definition of functions assigned to a role
profile which is defined by the set of roles played by him. The use case diagram allows visualization of the set of
A user profile is defined by a pair (u, listRoles(u)): u is a functions of a system by examining the needs of each actor.
user, listRoles(u) is a set of roles assigned to this user. Thus, the use case diagram representing relations between
The production process of a set of roles in an informa- the actors and the use cases and specifying the set of func-
tion system with the use of UML diagrams contains two tions that should be assigned to the role, becomes the start-
stages (Poniszewska-Maranda et al., 2005): ing point.
The use case diagram ucd i contains the use cases (i.e.
– assignment of a set of privileges (i.e. permissions) to a functions) joined with some actors (i.e. roles). The set of
use case in order to define a function functions assigned to role r, described by one use case dia-
– assignment of a set of use cases (i.e. functions) to an gram, is defined by the functions that are in a direct or indi-
actor in order to define a role. rect relation with this role (i.e. by the heritage relation
between the functions) on this diagram:
5.4.2. Definition of permissions assigned to a function
A use case, which is a description of activities and needs F ðrucd i Þ ¼ ff j f ¼ uc; uc 2 ucd i ^ ðrucd i ; f Þ 2 R–Fg [ ff 0
of an actor, allows specification of the actor’s interactions j f 0 ¼ uc; uc 2 ucd i ^ ððf ; f 0 Þ 2 F–F ^ ðrucd i ; f Þ
and co-operations. Interactions between the objects are
represented by a sequence of actions that allow the defini- 2 R–FÞg
tion of a set of privileges. Therefore, in order to identify the
permissions assigned to a function it is necessary to start The set of functions of the role is defined by the union of
from the corresponding sequence diagram. use cases assigned to this role in all use case diagrams Duci
Thus, for each use case one should define a set of per- [
F ðrÞ ¼ F ðrucd i Þ
missions needed to activate the represented function. The ucd i 2Duc
interaction is defined as a set of messages and each message
is realized by an action that can change the state of the sys- In order to create a set of roles assigned to a user profile,
tem. For each message of the sequence diagram one has to users should be assigned to roles. The security administra-
assign a permission that gives the right to its execution. tor is responsible for this stage.
G. Goncalves, A. Poniszewska-Maranda / The Journal of Systems and Software 81 (2008) 1306–1326 1315

(Student), getExam(Lecture, Student), getGrade (Stu-


dent, Lecture, Exam), getValue( ), close( )
Student Secretary listObjects(uc) := :WShowGradeStudent, :WShowList-
Teacher
Student, :listStudent, :listLectures, :listExams, :Exam,
:Grade
<<extends>> listPermissions(uc) := (active( ), :WShowGradeStu-
visualization <<include>> dent), (active( ), :WShowListStudent), (content( ), :list-
edition
Student), (getLecture(Student), :listLecture), (getExam-
<<include>>
<<include>> Lecture, Student), :listExam),
presentation (getGrade(Student, Lecture, Exam), :Exam),...
of results
user

<<include>>
validation The next part of this paper presents more particularly
the maintenance process of global coherence based on the
configuration
security constraints. Starting from the global coherent
security scheme, the insertion of a new application should
Dean
respect the global coherence of a new security scheme being
Fig. 6. Example of use case diagram. the consequence of the fusion of two previous schemes.

6. Constraints and coherence


5.4.4. Example of role production
An application example,”Management of grades” to The process of security administration in an information
manage the results of students in the university information system is a complex task. Many security constraints should
system is presented in Fig. 6 using the use case diagram. be expressed in order to define the security policy in a
This diagram contains the actors (Teacher, Student, etc.) proper way.
representing the roles and the use cases (visualization, edi- A security constraint is an information assigned to the
tion, etc.) representing the functions of the extended RBAC system elements that specifies the conditions to be satis-
model. fied so that the security rules and global coherence be
Therefore, it is possible to obtain from this use case dia- guaranteed.
gram the list of roles: The security constraints can be classified into two
groups. On one side, it is possible to distinguish the con-
listRoles(ucd):= Dean, Teacher, Secretary, Student straints expressed in the application context (i.e. applica-
tion constraints). They are verified at the design level by
and the list of functions: the application developer. For example, taking the infor-
mation system of a university and, particularly, one of its
listFunctions (ucd):= visualization, edition, presentation applications – management of student grades – a student
of results, configuration, user validation can access this application only on the level of his own
grades. On the other hand, we can distinguish the global
Next, each use case can be presented by means of one or constraints or, in other words, organization constraints
more interaction diagrams (for example the sequence dia- that determine the global security policy of an information
gram in Fig. 7) to find the permissions of the RBAC model system. They are proposed at the organization level by the
associated to the functions represented by this use case. global security administrator (Chen and Sandhu, 1995;
The example of a sequence diagram presented in Fig. 7 Sandhu, 1990; Sandhu, 1996). For example, only the tea-
represents the behaviour of the use case”Visualization of cher responsible for a group of students can access their
Grades”. It contains the following elements: an actor – a school dossiers.
role (Student), seven objects (one of class WShowGradeStu- The security constraints specified for an application give
dent, one of class WShowListStudent, one of class listStu- the possibility to manage its complexity. The application
dent, one of class listLectures, one of class listExams, one developer can easily define the security constraints that
of class Exam and one of class Grade) and the messages should be associated with this application. On the other
sent from the actor or objects to another objects. It is pos- hand, the security administrator who knows well the global
sible to obtain from this diagram the set of permissions for security policy can set up the constraints at the global level.
the function”Visualization of Grades” and attach them to The main difficulty is to assure the global coherence of all
role”Student”: elements (applicative and organizational) during the addi-
tion of a new application with new roles and new permis-
role:= Student sions to the existing information system.
function:= Visualization of Grades The differences between the two types of actors in our
listMethods(uc):= active( ), content( ), chose( ), valide- approach led to the choice of two languages to express
Student( ), getLecture the security constraints:
1316 G. Goncalves, A. Poniszewska-Maranda / The Journal of Systems and Software 81 (2008) 1306–1326

:WShowGradeStudent :WShowListStudent :ListStudent :ListLecture :ListExam :Exam :Grade


:Student

active()
active() content()
chose()
valide(Student)
getLecture(Student)

getExam(Student, Lecture)

getGrade(Student, Lecture, Exam)

getValue() {Student can visualise only his own grades}


close()

Fig. 7. Example of sequence diagram.

– OCL (Object Constraint Language) (Wermer and Klep- – constraints from the developer’s point of view – con-
pe, 1999; OMG, 2000, 2004) that is associated with the straints at the application level, specified to create a
UML to express the constraints formulated in the model complex application,
during the phase of application design. The application – constraints from the administrator’s point of view –
developer uses this language to describe the security con- organization constraints defined at the global security
straints specified for the application. OCL is an expres- level of an enterprise.
sion language which gives the possibility to define the
constraints in object-oriented models. OCL expression The second level of classification represents the con-
can be used in each UML diagram to specify a condi- straints associated with an extended RBAC model:
tion, a specific object or a set of objects. Invariants
and preconditions in class diagrams and sequence dia- – constraints imposed on a permission: limit the set of
grams have been chosen as effective tools for presenta- objects accessible for a permission,
tion of security constraints. – separation of duty (SOD) constraints: represent the con-
– RCL 2000 (Role-based Constraint Language) (Ahn and cept of mutually exclusive roles and mutually exclusive
Sandhu, 1999; Ahn and Sandhu, 2000; Ahn, 2000) cre- permissions (Sandhu, 1990; Sandhu, 1996; Ahn and
ated for specification of constraints in RBAC model. Sandhu, 2000; Ahn, 2000),
The user of this language can be the security administra- – prerequisite constraints: based on the concept of prere-
tor who should define the administration constraints quisite roles or prerequisite permissions,
based on the roles. – cardinality constraints: numerical limitation on classes
in role-based system or numerical limitation on applica-
tion elements,
– session constraints and role hierarchy constraints in
6.1. Constraints classification RBAC model,
– administration constraints: constraints associated with
Our classification of constraints reflects the cycle of appli- ARBAC model (Sandhu et al., 1997).
cation life: analysis-development and exploitation-mainte-
nance. In the analysis-development phase the application The last level of the classification of constraints
developer composes the utilization constraints that guaran- comprises:
tee the confidentiality and integrity of the data manipulated
by this application. In the exploitation-maintenance phase – static constraints that exist before different types of data
the application is inserted into the existing information sys- access in a system are executed, e.g. the constraints on
tem. This insertion should respect the global coherence of the value domain taken by the data,
the system using the global security constraints. – dynamic constraints that appear during the activated
Therefore, the first classification level of constraints is session and are responsible for the necessity to possess
proposed as follows: certain types of access to the data in a system.
G. Goncalves, A. Poniszewska-Maranda / The Journal of Systems and Software 81 (2008) 1306–1326 1317

Based on these three types of constraints and on the where userðsi Þ returns a set of users (i.e. one user) of
responsibilities of both the application developer and the session si .
security administrator presented in the previous section, a 2. Prerequisite constraints – based on the prerequisite con-
global classification of the security constraints has been cept: a permission p can be assigned to a function only if
built as shown in Fig. 8. This classification does not take this function has a permission q, e.g. permission of
into account the constraints connected with temporal ‘‘read” some file asks the permission of ‘‘read” the direc-
aspects or spatial aspects that are necessary in the workflow tory in which this file is situated:
process. The access control models richer than RBAC context Permission inv :
model are developed in this direction (TRBAC model of self :method !
0
Bertino et al. (1997, 2001); Casati et al. (2001), ORBAC includesð read file0 Þ implies self :method ! includes
0
model (Cuppens and Miege, 2003)) with the possibility to ð read directory of this file0 Þ
define the security rules connected to the dynamic context, 3. Cardinality constraints – numeric limitation on applica-
i.e. evolutionary according to time, history or space. These tion elements, e.g. permission of ‘‘read” the file with
models allow setting up the security scheme in collabora- confidential information about the system users can be
tive environment as found in the workflow process. given only to one specific role:
Constraints from developer’s point of view The types of context Permission inv :
constraints on conception level are as follows: self :method ! includesð0 read 0 Þ and self :object !
0
includesð InfoConfidential0 Þ
1. Constraints on a permission: implies self :function:role ! size ¼ 1
static – constraint reduces a set of objects accessible Constraints from administrator’s point of view. The most
by a method independent of the user who executes important constraints on administrator level can be classi-
this method, e.g. permission of ‘‘write” the docu- fied as follows:
ments with name *.doc can be presented using OCL:
context Permission inv : 1. Separation of duty (SOD) constraints – represent con-
self.method ? includes(‘write’) and cept of mutually exclusive roles and mutually exclusive
Set(Objects) ? select(objjobj.oclIsTypeOf(File) and permissions. Separation of duty reduces the possibility
obj:getNameð Þ ¼ 0  :doc0 Þ for fraud or significant errors which can cause damage
dynamic – constraint reduces a set of objects accessi- to an organization by partitioning of tasks and associ-
ble during a session (in course of execution which ated privileges required to complete a task or set of
needs the particular access mode in a system), e.g. related tasks.Different types of SOD constraints can be
permission of ‘‘write” the documents for a user who defined in function of constraint concepts: constraints
is the owner of these documents: on conflict roles (CR), constraints on conflict users
context Permission inv : (CU) and constraints on conflict permissions (CP).
SetðObjectsÞ ! selectðobj j obj:oclIsTypeOf ðFileÞ SOD constraints can be divided into two groups:static
and obj:owner ¼ userðsi ÞÞ SOD – more simple, contains the constraints defined

CONSTRAINTS

APPLICATION CONSTRAINTS Developer point od view

constraints on a permission Static, Dynamic

prerequis constraints Static, Dynamic

cardinality constraints Static, Dynamic

ENTERPRISE CONSTRAINTS Security administrator point of view

SOD constraints Static, Dynamic

prerequis constraints Static, Dynamic

cardinality constraints Static, Dynamic

session constraints Dynamic

role hierarchy constraints Static

administration constraints Static, Dynamic

Fig. 8. Classification of constraints.


1318 G. Goncalves, A. Poniszewska-Maranda / The Journal of Systems and Software 81 (2008) 1306–1326

staticly, before the realization of different activities by a the system are in agreement with the application con-
user in a system, e.g. no user can be assigned to two con- straints. The security administrator is responsible for the
flicting roles (conflicting roles can not have common global coherence of constraints as well as the coherence
users)dynamic SOD – constraints respecting the roles in the assignment of users to roles. He works on the ele-
activated by a user in a session; based on the actions that ments received from the application developer in agree-
can not be realized simultaneously, e.g. there are no ment with the security policy.
users with two conflicting roles enabled (conflicting roles The confrontation of the two points of view relies on the
may have common users but users can not activate roles verification whether the developer’s job does not contain
which are conflicting with each other). incoherencies with regard to the work of the security
2. Prerequisite constraints – based on concept of prerequi- administrator. The confrontation of two points of view
site role; e.g. a user can be assigned to role r1 only if he makes it possible to find out incompatibilities that can be
is already assigned to role r2, (a user can be assigned to caused by:
role Teacher only if he was already assigned to role
Employee). – addition of a new enterprise function to the system by
3. Cardinality constraints – numeric limitation on classes the security administrator,
in role-based system; e.g. the number of users authorized – addition of a new application that uses elements (i.e.
to be assigned to a role is limited (in our application data) of another application existing in the system,
example there is only one person who can be assigned – addition of a new application with new roles, functions
to role Dean) or the number of sessions activated by a or/and permissions whose elements will be included in
user in the same time is limited (e.g. a user can open only the role hierarchy of the system,
three sessions at the same time). – addition of new elements, e.g. roles or functions, and
4. Constraints on session concept – e.g. a user can be the new relations between these elements and the elements
member of two roles r1; r2 but he can not activate them already existing in the system,
simultaneously in the same session. – removal of elements from the system, e.g. an applica-
5. Constraints on role hierarchy – e.g. a permission tion, enterprise functions, roles, etc. by the security
assigned to role child can not be assigned to role parent. administrator.

These problems have to be resolved either at the design


6.2. Confrontation of two viewpoints and detection of and/or the security administration level. The confrontation
incoherencies of the two points of view can reveal possible incoherencies
between these two levels and then enable their elimination.
The responsibilities of the application developer are dif- For example, an application”Management of students”
ferent from those of the security administrator. The devel- that already exists in the university information system
oper is expected to meet the needs of all future users of the (Fig. 9), contains information about the students (name,
information system. Moreover, he must ensure that the set surname, address, birth date, study year, chosen courses,
of roles, the set of functions and the set of permissions in etc.). A new application‘‘Management of grades” that

MANAGEMENT OF GRADES

List of Roles LFunctions


Teacher ...
Student
Dean
Secretary
LPermissions
...
MANAGEMENT OF STUDENTS

List of Roles LFunctions


Director
...
Student
TeacherSt
MANAGEMENT OF TEACHERS SecretarySt
LPermissions
List of Roles LFunctions ...
Director ...
ResponsibleTe
TeacherTe
SecretaryTe
LPermissions
...

Fig. 9. System applications and the new application.


G. Goncalves, A. Poniszewska-Maranda / The Journal of Systems and Software 81 (2008) 1306–1326 1319

manages the grades of students, added to the system, uses 6.3.1. Verification of coherence during the addition of a new
some data of the application‘‘Management of students”, application
for example: name, surname of a student. In this situation, The purpose of the verification of coherence is to guar-
the security administrator should eliminate possible inco- antee that addition of a new application to an information
herencies, by determining the data (i.e. objects) of the first system will not cause incoherencies and this verification
application that can be used by the second application, i.e. should be executed before its integration with the existing
by defining the constraints specifying the set of objects of security system.
the first application accessible by the second one. It might be interesting to see how the addition of a new
The global coherence should guarantee that the concepts application to an information system can be automated
shared between different applications respect the global and how the administrator can be assisted in detecting
security scheme. Such situation generally provokes modifi- the incoherencies or/and determining new relations
cations in the role hierarchy and/or introduction of the new between the elements already existing in a system (Goncal-
enterprise functions. ves et al., 2003).
Fig. 10 presents the flow diagram of verification of the two
6.3. Integration chain of constraints in coherent system points of view under consideration. The first part allows the
generation of the model specification. Application developer
The modifications in the information system can be uses the UML to define the new component containing all
caused by different situations: addition/removal of an elements that express the needs of the users. He also deter-
enterprise function, addition/removal of an application mines the application constraints using the OCL. The appli-
that needs the modifications in an attached role hierarchy cation developer establishes the relations between different
or permission hierarchy. This part of the paper presents elements and generates the UML Model that should be then
the stages that guarantee the integrity of security system translated for the security administrator.
during the application addition (Poniszewska, 2003). Next the parser analyses the UML model of the applica-
The objective of our studies is principally the determina- tion from the design viewpoint and preserves the concepts
tion of roles to help the security administrator in creating that can be used to make the coherence verification. The
and developing his RBAC model. We suppose that at time model representation is given according to the UML
t there exists a consistent RBAC system in the sense defined meta-model. Using rules defined in Section 5.4, the parser
by Gavrila and Barkley (1998) and the security administra- translates the Model from the UML (also from the OCL)
tor has an administration tool (addition/removal of role, into the RBAC concepts (and also into the RCL 2000) giv-
addition/removal of permission), which preserves the con- ing the lists of elements that contain roles, functions, per-
sistence of the initial RBAC model. Therefore, our studies missions (objects and methods) and constraints expressed
are not to provide a role management tool but to support in the OCL.
the process of role definition for information system and On the other hand, the security administrator, who has a
the solving of some preliminary incoherencies. list of users and a list of enterprise functions, receives the

CLIENT DEVELOPER ADMINISTRATOR STAFF MENAGER

Project Specification Security Policies


CONCEPTION

Specification
in UML and OCL

Parser

Application Model + Model of existing system +


constraints in RCL 2000 constraints in RCL 2000

constraints constraints
REALIZATION

verification correction

these stages are repeated till


the validation returns suitable results

certified
RBAC model

Fig. 10. Validation chain of modification for global security scheme.


1320 G. Goncalves, A. Poniszewska-Maranda / The Journal of Systems and Software 81 (2008) 1306–1326

existing system model and implements it by using the ES k ðeij Þ 2 ES ðeij Þ; ES k ðeij Þ ::¼ fU S ðeij ÞjS S ðeij ÞjRS ðeij Þj
RBAC concepts and the constraints defined in the RCL F S ðeij ÞjP S ðeij ÞjM S ðeij ÞjOS ðeij Þg
2000. He performs his work (definition of constraints and
assignment of elements) on the RBAC level. The following definition of coherence is proposed:
The second part is the stage of verification and correc- Definition. The extended RBAC model is coherent if and
tion of the elements and constraints defined by the devel- only if each element eij 2 Ei (user, role, function, permis-
oper and by the security administrator. It is necessary to sion, method or object) satisfies the following condition:
compare these two groups of constraints and eventually for each element eij 2 Ei the set of elements in relation with
apply the changes if they are not coherent. eij should be different than the empty set, i.e.
It is also necessary to iterate the previous stages up to
the final validation made by the security administrator. 8eij 2 Ei ; 8kðES k ðeij Þ 2 ES ðeij Þ ^ ES k ðeij Þ 6¼ ;Þ ð1Þ
At this moment, the new application can be really inte- in particular taking into consideration the elements from
grated in the existing global system. each set of extended RBAC model

8uj 2 U ; ðESk ðuj Þ ::¼ RS ðuj Þ ^ 8k ESk ðuj Þ 6¼ ;Þ


6.3.2. Definition of coherence 8rj 2 R; ðESk ðrj Þ ::¼ U S ðrj ÞjF S ðrj Þ ^ 8k ESk ðrj Þ 6¼ ;Þ
The information system used in an enterprise should be
coherent – all the elements defined in the system, their rela- 8fj 2 F ; ðESk ðfj Þ ::¼ RS ðfj ÞjP S ðfj Þ ^ 8k ESk ðfj Þ 6¼ ;Þ
tions and their constraints should be coherent. In the fol- 8pj 2 P ; ðESk ðpj Þ ::¼ F S ðpj ÞjM S ðpj ÞjOS ðpj Þ ^ 8k ESk ðpj Þ 6¼ ;Þ
lowing part, first a definition of the system coherence is 8mj 2 M; ðESk ðmj Þ ::¼ P S ðmj Þ ^ ESk ðmj Þ 6¼ ;Þ
given, then according to that definition, the integration of
8oj 2 O; ðESk ðoj Þ ::¼ P S ðoj Þ ^ ESk ðoj Þ 6¼ ;Þ
a new application in existing security system can be valid
or not.
To be in agreement with the above definition of coherence,
As it is marked above, the possible incoherencies can be
the extended RBAC model from Fig. 2 is now modified by
caused for example by the addition of a new application to
the cardinality of association relations between the model
a system. Therefore, the purpose of Model validation is to
elements (i.e. relations U–R, R–F, F–P) to 1    n (Fig. 11).
guarantee that the addition of a new application to an
information system will not produce incoherencies. It is
6.3.3. Justification
necessary to verify whether the set of elements (users, roles,
The set of roles RS ðuj Þ accessible to a user uj cannot be
functions, etc.) of a new application has common elements
empty. In consequence, a user who is not attached to any
with the set of the system elements.
role cannot work in the system.
Let E be a set of system elements and contains the fol-
The set of users U S ðrj Þ and the set of functions F S ðrj Þ
lowing subsets: users, sessions, roles, functions, permis-
accessible to a role rj in the system cannot be empty. A role
sions, methods and objects
should have at least one attached function to have the pos-
E ¼ fU ; S; R; F ; P ; M; Og; Ei 2 E and eij sibility to interact with the system. It also should be
attached to at least one user to have the possibility to be
2 Ei  an element j of set Ei activated.
The set of roles RS ðfj Þ and the set of permissions P S ðfj Þ
The constraint for an element eij 2 Ei in the information accessible to a function fj in the system cannot be empty. A
system limit the set of elements accessible directly or indi- function should be assigned to at least one role to be used
rectly to this element on the system level. Let: Es ðeij Þi be in the system. The function should have at least one
a set of the elements related to element eij by the constraint assigned permission to have the possibility to realize its
associations in the system: actions.

* * * *
1..* 1..* 1..*
Users Roles Functions Permissions
1..* 1..* 1..*
1 1..* 1..* 1..*

1 1..*

Method Object
* *
* 1 1
Session
*
Operation Class

Fig. 11. Coherence of extended RBAC model.


G. Goncalves, A. Poniszewska-Maranda / The Journal of Systems and Software 81 (2008) 1306–1326 1321

The set of functions F S ðpj Þ, the set of methods M S ðpj Þ Let EA be a set of elements of the new application that
and the set of objects OS ðpj Þ accessible to permission pj contains the subsets: users (U A ), sessions (S A ), roles (RA ),
in the system cannot be empty. Permission should be functions (F A ), permissions (P A ), methods (M A ) and objects
assigned to at least one function to be used in the system. (OA ) of the new application
The permission should have one assigned method and at
EA ¼ fU A ; RA ; F A ; P A ; M A ; OA g and EAi 2 EA
least one assigned object.
The set of permissions P S ðmj Þ accessible to a method mj It must be checked whether E0 ¼ E \ EA contains any ele-
cannot be empty because each method should be assigned ments or not, that is to say it is necessary to verify whether
to at least one permission to be used in the system. the new application has any elements common with the ele-
The set of permissions P S ðoj Þ accessible to an object oj in ments already existing in the system. The verification of
the system cannot be empty because each object should be coherence should be executed for each subset in the follow-
assigned to at least one permission to access their ing way:
information.
The concepts of role inheritance and function inheri- U 0 ¼ U \ U A; R0 ¼ R \ RA ; F 0 ¼ F \ F A;
tance (i.e. reflexive associations) are not taken into consid- P 0 ¼ P \ P A; M0 ¼ M \ MA and O0 ¼ O \ OA
eration. There are roles that do not inherit other roles,
therefore the set of roles RS ðeij Þ for eij 2 R can be empty. Let: E0i 2 E0 and E0i ::¼ fU 0 jS 0 jR0 jF 0 jP 0 jM 0 jO0 g; ecij 2 E0i be
Analogously, there are functions in the set of functions that an element of set E0i . Therefore, the calculation of set inter-
do not inherit other functions, therefore the set of functions section E0 can yield one of the following two results:
F S ðeij Þ for eij 2 R can be empty. In consequence, the verifi-
cation of role inheritance and function inheritance is not – E0 ¼ ;, i.e. E \ EA ¼ ; – there are no common elements
necessary during the verification of the model coherence. in the set of system elements and in the set of elements of
Moreover, the session concept is not considered either, the new application; consequently, there are no incoher-
because it represents the dynamic aspect of the model. A ences between the new application and the existing sys-
session becomes opened in the system by a user who is in tem (i.e. between the design and administration levels),
contact with it. Therefore, the analysis cannot be made – E0 6¼ ;, i.e. E \ EA 6¼ ; – common elements exist, and,
for U–S or S–R relations. consequently, they should be studied to identify and
The ‘‘a priori” coherence allows to guarantee that the eliminate the possible incoherences.
elements of a new application will be significant, i.e. they
will be in proper relations with other elements of the The constraints defined for a common element ecij 2 E0i
extended RBAC model. determine a set of elements accessible to it on both the
application level and the global system level. Let: ES ðecij Þ
6.3.4. Verification of security system coherence be a set of elements related to a common element ecij by
To provide that the system remains coherent after new constrained associations in the existing system and
elements have been added, the definition of coherence EA ðecij Þ be a set of elements being in relation with a com-
should continue to be satisfied. The case that is going to mon element ecij by constrained associations in the new
be considered is the addition of a new coherent application application.

ESk ðecij Þ 2 ES ðecij Þ and


ESk ðecij Þ ::¼ U S ðecij ÞjRS ðecij ÞjF S ðecij ÞjP S ðecij ÞjM S ðecij ÞjOS ðecij Þ

EAk ðecij Þ 2 EA ðecij Þ and


EAk ðecij Þ ::¼ U A ðecij ÞjRA ðecij ÞjF A ðecij ÞjP A ðecij ÞjM A ðecij ÞjOA ðecij Þ

as involves addition of new elements, new relations and The coherence is verified if Eq. (1) is verified, i.e. if
new constraints, which may give rise to incoherencies. In ES ðecij Þ \ EA ðecij Þ 6¼ ;.
order to find possible incoherencies it is necessary to verify
whether the set of elements (roles, functions, etc.) of the 6.3.5. Verification algorithm of system coherence
new application has any common elements with the set of If a new application is added to the existing system, it
existing elements. These common elements, their relations can have common elements with this system. It must be
with other elements and their constraints can lead to inco- verified that the constraints defined on these common ele-
herencies. Therefore, the conditions of coherence should be ments do not provoke incoherencies. To eliminate these
verified for each common element. incoherencies, the following stages of verification algorithm
1322 G. Goncalves, A. Poniszewska-Maranda / The Journal of Systems and Software 81 (2008) 1306–1326

rj
c9
r’
where Cðecij Þ is the set of constraints of an element ecij ,
c1 c8
C S ðecij Þ is the set of constraints of an element ecij that ex-
ists in the system and C A ðecij Þ is the set of constraints of
f1 f2 f3
that element defined in the new application.
c2
c7 The process of identification of constraints for common
p1 p2 p3 p4 p5 elements is realized by the passage of graph of constraints
c4 c6 defined for these elements (an example given in Fig. 12).
c3 c5
o1 o2 m2 o3 o4 m4
In particular, the set of constraints for common role
rj 2 R0 is defined by
Example of passage of graph of constraints to identify
the set of constraints for common role r
8rj 2 R0 ; Cðrj Þ ¼ C S ðrj Þ [ C A ðrj Þ
symbols: r, f, p, m, o signify: roles, functions, permissions, methods and objects
the lines signify the constraints defined for the elements
c1, c2, c3, c4, ... the constraints of the passage
and, analogously, for the elements of the other types

Fig. 12. Example of graph of constraints defined for the elements of the 8fj 2 F 0 ; Cðfj Þ ¼ C S ðfj Þ [ C A ðfj Þ
model.
8pj 2 P 0 ; Cðpj Þ ¼ C S ðpj Þ [ C A ðpj Þ
0
8mj 2 M ; Cðmj Þ ¼ C S ðmj Þ [ C A ðmj Þ
rj
a11
r’
8oj 2 O0 ; Cðoj Þ ¼ C S ðoj Þ [ C A ðoj Þ
a1 8uj 2 U 0 ; Cðuj Þ ¼ C S ðuj Þ [ C A ðuj Þ
a8
f1 f2 f3
Verify the global coherence of the common elements (3):
a2
a5
a9 verify whether these constraints do not provoke incoher-
p1 p2 p3 p4 p5 ences, i.e. verify if the common elements with their con-
a3 a6 a10 straints satisfy the definition of coherence:
a4 a7
o1m1 o2 m2 o3 m3 o4 m4 o5 m5 o6 m6 o7 m7 8ecij 2 E0i ^ 8k; ðESk ðecij Þ 2 ES ðecij Þ ^ ESk ðecij Þ 6¼ ;Þ
Example of passage of graph of relations to identify
thr relations between the common role rj and the other elements
If the common elements are coherent, it is not necessary to
set up changes in the new application; otherwise the con-
symbols: r, f, p, m, o signify: roles, functions, permissions, methods and objects
the lignes signify the relations between the elements straints provoking incoherences should be identified for
a1, a2, a3, a4, ... the relations of the passage each common element.
Fig. 13. Example of graph of relations defined for the elements of the Identify the constraints that provoke the incoherences (4)
model. – it is necessary to find the constraints of the common ele-
ment ecij 2 E0i , which are responsible for the incoherences
on this element. It should be determined which sets of con-
are proposed (Goncalves et al., 2003; Poniszewska-Maran- straints C S ðecij Þ and/or C A ðecij Þ do not satisfy the definition
da, 2006): of coherence:

1. find all common elements of each type of concept,


2. identify the constraints for each of common elements,
3. verify the global coherence of the common elements, Table 1
Verification of system coherence after the addition of a new application
4. identify the constraints that provoke incoherencies,
5. propose and realize the necessary modifications in the VerificationCoherence (E, EA)
Begin
definitions of the constraints that have provoked the
for each ðEi 2 E and EAi 2 EA Þ do
incoherencies. E0i ¼ Ei \ EAi
if E0i 6¼ ; then
Find all common elements of each type (1) means to find for each ecij 2 E0i do
common users (U0 ), common roles (R0 ), common functions C S ðecij Þ ¼ identifyConstraintsðecij Þ
C A ðecij Þ ¼ identifyConstraintsðecij Þ
(F0 ), common permissions (P0 ), common methods (M0 ) or/
coherence ¼ verifyCoherenceðecij ; C S ðecij Þ; C A ðecij ÞÞ
and common objects (O0 ) in the new application and the if (! coherence) then
actual system. CIðecij Þ ¼ findConstraintsIncoherentðecij ; C S ðecij Þ; C A ðecij ÞÞ
Identify the constraints for each common element (2) is showðCIðecij ÞÞ
carried out as follows: for an element ecij 2 E0i the set of return coherence
endIf
constraints contains the set of constraints already defined
done
in the system and the set of constraints defined in the endIf
new application: done
return true
8ecij 2 E0i ; Cðecij Þ ¼ C S ðecij Þ [ C A ðecij Þ End
G. Goncalves, A. Poniszewska-Maranda / The Journal of Systems and Software 81 (2008) 1306–1326 1323

Table 2
Verification of the global coherence of the common elements
verifyCoherence (elementij, CS(elementij), CA(elementij))
Begin
for each Ei 2 E do
for each elij 2 Ei do
setMarkðelij ; falseÞ
done
done
ES ðelementij Þ ¼ passageGraphRelationsðelementij ; C S ðelementij Þ; C A ðelementij ÞÞ
for each ESk ðelementij Þ 2 ES ðelementij Þ done
if ðESk ðelementij Þ ¼¼ ;Þ then
return false
endIf
done
return true
End

Table 3 Diagrams describing the application


Identification of constraints that provoke the incoherences of common 1. use case diagrams
Application in UML 2. interaction diagrams
element 3. class diagrams
4. ...
findConstraintsIncoherent (elementij, CS(elementij), CA(elementij))
Begin Generator of Code
for ðeach cS 2 C S ðelementij Þ ^ each cA 2 C A ðelementij ÞÞ do
EAccessS ðelementij Þ ¼ passageGraphRelationsðelementij ; cS ; cA Þ
for each EAccessSk ðelementij Þ 2 EAccessS ðelementij Þ do XMI file
Generated by CASE tool
based on UML application
if ðEAccessSk ðelementij Þ ¼ ;Þ then
CI S ðelementij Þ ¼ CI S ðelementij Þ [ cS
CI A ðelementij Þ ¼ CI A ðelementij Þ [ cA XMI/XML Parser
endIf
done
Based on DTD file that describes
CIðelementij Þ ¼ CI S ðelementij Þ [ CI A ðelementij Þ the syntax for extended RBAC model
XML file
return CIðelementij Þ Contains the list of application elements
e.g. the list of roles
End
Fig. 15. Role engineering process using the UML-XML tool.

Access Control UMLXMLJava


System Platform

Administration Role Engineering Conception


System System System
Session Packet
Regular
User

Using of Security Application


Establishment Administrator
Applications Developer
of Session
(Services)
Specification
Structure
of Constraints
of Role
Closing
Management Hierarchy
Of Sessions
of Users Organisation of
Roles/Functions/Permissions
Specification
Assurance of Constraints
of system
coherence

Modifications/
Addiotions in the system

Fig. 14. UML-XML-Java platform.


1324 G. Goncalves, A. Poniszewska-Maranda / The Journal of Systems and Software 81 (2008) 1306–1326

Definition
of Constraints
Structure
of Role
Hierarchies
Structure
of Constraint
Graph
Administration Structure
XMI File
Tool of Relation
Application Graph
Developer
Management of
User Profiles

Modifications/
Additions in the System
XML File
Assurance
Security
of System
Administrator
Coherence

Fig. 16. Tool of security administrator.

8ecij 2 E0i for which the incoherences are identified, find ities that assure the global coherence at access control level
the sets of constraints that are responsible for these incoher- in an information system.
ences, i.e. the sets C S ðecij Þ and/or C A ðecij Þ.
The process of verification of global coherence of the 7. Conclusion
common elements and the process of identification of con-
straints that provoke the incoherences are supported by the The development and complexity of functions that an
passage of graph of relations defined between these ele- information system is expected to perform not only
ments (an example given in Fig. 13). demand deep professional knowledge from an information
Propose and realize the necessary modifications in the def- system designer but also make the system designing an
initions of the constraints that provoke the incoherences (5): activity of great strategic importance for an enterprise. This
they must relax the constraints, preferably at the applica- engineering activity needs appropriate methods, techniques
tion level to have the minimal impact on the existing and tools to meet high requirements imposed on informa-
system. tion systems nowadays.
The algorithm 1 shows four first stages of the verifica- We proposed the cooperative approach of security
tion of system coherence for the addition of a new applica- scheme construction of RBAC type together with the
tion. The algorithms 2 and 3 describe the main functions of development of a new component of the information
the this algorithm. system.
The last stage is realized manually by the security The paper describes the process of role engineering in
administrator and/or application developer. These modifi- the information system security using extended RBAC
cations can be carried out at the security administration model. The presented process is based on implementation
level according to the constraints defined in the system of the extension of classic RBAC model using the UML.
and in the considered application. If this is not possible, The UML, a standard language of object analysis and
the application developer should also perform the modifi- design nowadays, has been chosen in view of the fact that
cations at the design level of the new application. it enables complex presentation of the information system
The different stages of this algorithm are described in and of important aspects of the information system secu-
Poniszewska (2003). rity in particular. On the other hand, the access control
To implement the concepts presented above an UML- based on roles allows simple management of information
XML-Java platform has been realized (Fig. 14) (Goncalves system for security administrator. The elaborated RBAC
and Hemery, 2001). Its purpose is to allow the cooperation extension gives the possibility to manage the system and
between the application developer and the security admin- to make the process of the role creation simpler, particu-
istrator to realize and integrate the access control concepts. larly in the design phase.
One of the components of this platform allows the realiza- Next, we integrated the constraint notion to specify, on
tion of role engineering process based on the extended one side, the application constraints assigned to using the
RBAC model (Fig. 15). Another one, the security adminis- information system component and, on the other side,
trator tool, allows the management of the information sys- the global constraints of an organization. The paper dis-
tem security at access control level by the creation of user cusses the security constraints of a security schema in an
profiles of this system (Fig. 16). information system of an enterprise based on the extended
The final result of this platform is a validation of appli- RBAC model. The proposed classification of security
cation developer activities and security administrator activ- constraints is carried out on three levels depending on
G. Goncalves, A. Poniszewska-Maranda / The Journal of Systems and Software 81 (2008) 1306–1326 1325

different aspects of creating the security in the information workflow management system. In: Proceedings of the 2nd ACM
system. Workshop on Role-Based Access Control.
Bertino, E., Bonatti, P.A., Ferrari, E., August 2001. TRBAC: a temporal
The discussed approach requires collaboration of the role-based access control model, A3.
system developer and the global security administrator Bhamidipati, V., Sandhu, R.S., 1997. The ARBAC97 model for role-based
since both of them define security elements and constraints administration of roles. In: Proceedings of the 2nd ACM Workshop on
for the system, though each one on a different level. The Role-Based Access.
issues of their activities have to be confronted and verified. Booch, G., Rumbaugh, J., Jacobson, I., 1998. The Unified Modelling
Language User Guide. Addison Wesley.
The confrontation of the two viewpoints consists of the Casati, F., Castano, S., Fugini, M., 2001. Managing workflow authori-
verification that the developer’s work does not cause inco- zation constraints through active technology. HP Labs Technical
herences in the global security of the information system Reports HPL-2000-156 20001206 External.
through identification of the problems that may have Castaro, S., Fugini, S., Martella, G., Samarati, P., 1994. Database
appeared between these two levels. Security. Addison-Wesley.
Chappelet, J.-L., Snella, J.-J., 1997. Language for organization, Ossad
The algorithm is proposed to maintain the minimal approach (Un langage pour l’organisation, L’approche Ossad), Presses
coherence of RBAC scheme during the addition of a new Polytechniques et Universitaires Romandes.
application. Starting from the global schema of coherent Chen, F., Sandhu, R.S., 1995. Constraints for role-based access control.
security, any insertion of a new application should respect In: Proceedings of the 1st ACM Workshop on Role-Based Access
the global coherence of new security schema. The informa- Control.
Coulourisand, G., Dollimore, J., Roberts, M., 1998. Role and task-based
tion system used in an enterprise should be coherent, which access control in the PerDiS groupware platform. In: Proceedings of
means all the elements defined in the system, their relations the ACM Workshop on Role-Based Access Control.
and their constraints should be coherent. After the defini- Coyne, E.J., 1996. Role engineering. In: Proceedings of the 1st ACM
tion of the system coherence is given the integration of a Workshop on Role-Based Access Control (RBAC96), USA.
new application in the existing security system can be per- Crook, R., Ince, D., Nuseibeh, B., 2002. Towards an analytical role
modelling framework for security requirements. In: Proceedings of the
formed taking into consideration the coherence of the 8th International Workshop on Requirements Engineering: Founda-
entire system. The paper proposes the algorithm for the tion for Software Quality (REFSQ02), Germany.
verification of system coherence after addition of a new Cuppens, F., Miege, A., 2003. Modelling contexts in the Or-BAC model.
application. This algorithm helps to introduce desired In: Proceedings of the 19th Annual Computer Security Applications
modifications into the information system, e.g. addition Conference, USA.
El Kalam, A., El Baida, R., Balbiani, P., Benferhat, S., Cuppens, F.,
of a new application with preserving the coherence of infor- Deswarte, Y., Miege, A., Saurel, C., Trouessin, G., 2003. Organization
mation system security. based access control. In: Proceedings of the IEEE 4th International
Our next research is concentrated on the notion of Workshop on Policies for Distributed Systems and Networks (Policy
strong coherence expressing each addition of a new RBAC 2003), Italy.
element by means of the set of constraints. Such work was Epstein, P., Sandhu, R.S., 1999. Towards a UML based approach to role
engineering. In: Proceedings of the 4th ACM Workshop on Role-
realized by Schaad and Moffett (2002) with the formal lan- Based Access Control, USA.
guage Alloy that allows the analysis of conflicts in ARBAC Epstein, P., Sandhu, R.S., 2001. Engineering of role/permission assign-
system. We think that with the CSP tool it will be possible, ments. In: Proceedings of the 17th Annual Computer Security
in a similar way, to quickly detect the incoherencies during Applications Conference, USA.
the integration of a new component in the existing RBAC Fernandez, E.B., Hawkins, J.C., 1997. Determining role rights from use
cases. In: Proceedings of the 2nd ACM Workshop on Role-Based
scheme. Access Control.
Ferraiolo, D., Kuhn, D.K., 1992. Role based access control. In:
References Proceedings of the 15th National Computer Security Conference,
NIST/NSA.
Ahad, R. et al., 1992. Supporting access control in an object-oriented Ferraiolo, D.F., Sandhu, R.S., Gavrila, S., Kuhn, D.R., Chandramouli,
database language. In: Proceedings of the 3rd International Confer- R., 2001. Proposed NIST standard for role-based access control. ACM
ence Extending Database Technology. Transactions on Information and Systems Security (TISSEC) 4 (3).
Ahn, G.-J., 1999. The RCL 2000 language for specifying role-based Gabay, J., 1998. Merise to OMT and UML, InterEditions.
authorization constraints. PhD thesis, George Mason University, Gavrila, S.I., Barkley, J.F., 1998. Formal specification for role based
USA. access control user/role and role/role relationship management. In:
Ahn, G.-J., Sandhu, R.S., 1999. The RSL99 language for role-based Proceedings of the ACM Workshop on Role-Based Access Control.
separation of duty constraints. ACM Transactions on RBAC. Georgiadis, Ch.K., Mavridis, I., Pangalos, G., Thomas, R.K., 2001.
Ahn, G.-J., Sandhu, R.S., 2000. Role-based authorization constraints Flexible team-based access control using contexts. In: Proceedings of
specification. ACM Transactions on Information and Systems the 6th ACM Symposium on Access Control Models and Technologies
Security. (SACMAT 2001).
ANSI INCITS 359-2004, American national standard for information Goncalves, G., Hemery, F., 2000. From use case in UML to management
technology, role based access control, http://csrc.nist.gov/rbac, of roles in information systems. In: Proceedings of the Conference
2004. Inforsid, France.
Bell, D.E., La Padula, L.J., 1975. Secure computer system: unified Goncalves, G., Hemery, F., 2001. UML-XML platform for management
exposition and multi interpretation. Technical Report MTIS of roles in information system. In: Proceedings of the Conference
ADA023588, MITRE Corporation. Inforsid.
Bertino, E., Ferrari, E., Atluri, V. November 1997. A flexible model for Goncalves, G., Hemery, F., Poniszewska, A., 2003. Verification of
the specification and enforcement of authorization constraints in access control coherence in information system during modifica-
1326 G. Goncalves, A. Poniszewska-Maranda / The Journal of Systems and Software 81 (2008) 1306–1326

tions. In: Proceedings of the 12th IEEE International WETICE, Sandhu, R. S., 1990. Separation of duties in computerized information
Austria. systems. In: Proceedings of the IFIP WG 11.3 Workshop on Database
Harrison, M.A., Ruzzo, W.L., Ullman, J.D., 1976. Protection in operating Security, Halifax.
systems. Communication of the ACM 19 (8). Sandhu, R.S., 1994. Handbook of Information Security Management.
He, Q., Antn, A.I., 2003. A framework for modeling privacy requirements Auerbach Publications.
in role engineering. In: Proceedings of the 9th International Workshop Sandhu, R.S., 1996. Role hierarchies and constraints for lattice-based
on Requirements Engineering: Foundation for Software Quality access control. In: Proceedings of the 4th European Symposium of
(REFSQ’03), Austria. Research in Computer Security, Italy.
Jajodia, S., Subrahmanian, V.S., Samarati, P., Bertino, E., 1998. An Sandhu, R.S., Jajodia, S., 1993. Handbook of Information Security
unified framework for enforcing multiple access control policies. In: Management. Auerbach Publications.
Proceedings of the ACM SIGMOD Conference of Management of Sandhu, R.S., Coyne, E.J., Feinstein, H.L., Youman, C.E., 1996. Role-
Data. based access control models. IEEE Computer 29 (2).
Kettani, N., Mignet, D., Par, P., Rosenthal-Sabroux, C., 1998. From Sandhu, R.S., Bhamidipati, V., Munawer, Q., 1997. The ARBAC97 model
Merise to UML, Eyrolles. for role-based administration of roles. ACM Transactions on Infor-
Lamere, J.M., 1991. Security of Information Systems: How to Organize mation and Systems Security.
the Security and Quality of Information Systems in Enterprise. Dunod. Schaad, A., Moffett, J.D., 2002. A lightweight approach to specification
Le Moigne, J.L., 1994. The Theory of General System: Conception and analysis of role based access control extensions. In: Proceedings of
Theory, PUF, Paris. the ACM SACMAT.
Melese, J., 1972. Component Analysis of systems, Editions Hommes et Schimpf, G., 2000. Role-engineering critical success factors for enterprise
Techniques. security administration. In: Proceedings of the 16th Annual Computer
Neumann, G., Strembeck, M., 2002. A scenario-driven role engineering Security Applications Conference (ACSAC00).
process for functional RBAC roles. In: Proceedings of the 7th ACM Thomas, R.K., 1997. Team-based access control (TMAC): a primitive for
Symposium on Access Control Models and Technologies applying role-based access controls in collaborative environments. In:
(SACMAT02). Proceedings of the 2nd ACM Workshop on Role-based Access
Object Management Group, OMG Unified Modeling Language Specifi- Control, USA.
cation, 2000. Thomsen, D., O’Brien, D., Bogle, J., 1998. Role based access control
Object Management Group, OMG Unified Modeling Language Specifi- framework for network enterprises. In: Proceedings of the 14th Annual
cation, 2004. Computer Security Application Conference.
Park, J., Sandhu, R.S., 2004. The UCONABC usage control model. ACM Tipton, H.F., Krause, M., 2006. Information Security. Management
Transactions on Information and System Security 1 (1). Handbook. Auerbach Publications.
Peltier, T., 2001. Information security policies. Procedures and Standards: Tudor, J.K., 2006. Information Security Architecture: An Integrated
Guidelines for Effective Information Security Management. Auerbach Approach to Security in the Organization. Auerbach Publications.
Publications. Wermer, J., Kleppe, A., 1999. OCL: the constraint language of the UML.
Peltier, T.R., Peltier, J., Blackley, J.A., 2004. Information Security Journal of Object-Oriented Programming.
Fundamentals. Auerbach Publications.
Poniszewska, A., 2003. UML specification of access control in informa- Gilles Goncalves is a full professor at the University of Artois since 1994.
tion systems: cooperative approach of role conception in RBAC He studied Computer Science at the University of Lille1 and obtained his
model. PhD thesis, Artois University, France, May. Ph.D. in 1985. During fourteen years, he was lecturer and his works
Poniszewska-Maranda, A., 2006. Access control coherence of information concerned parallel and distributed computing.
systems based on security constraints. In: Proceeding of the SafeComp His current research interests include information systems, security
2006: 25th International Conference on Computer Safety, Security and management, simulation modelling and discrete optimisation. He manages
Reliability. LNCS, Springer-Verlag. a research team named LGI2A whose main topics are organization and
Poniszewska-Maranda, A., Goncalves, G., Hemery, F., 2005. Represen- management of logistic processes.
tation of extended RBAC model using UML language. In: Proceedings
of the SOFSEM 2005: Theory and Practice of Computer Science,
LNCS, Springer-Verlag. Aneta Poniszewska-Maranda studied computer science at the Technical
Poniszewska-Maranda, A. 2005. Role engineering of information system University of Lodz where she obtained her M.Sc. in 1998. She obtained
using extended RBAC model. In: Proceedings of the 14th IEEE her Ph.D. in 2003 in the field of computer science from the University of
International WETICE, Sweden. Artois in France and from the Silesian University of Gliwice in Poland.
Rockle, H., Schimpf, G., Weidinger, R., 2000. Process-oriented approach She works at the Technical University of Lodz since 1998 and as a
for role-finding to implement role-based security administration in a assistant professor since 2004. During last years she give lectures in soft-
large industrial organization. In: Proceedings of the 5th ACM ware engineering, data bases and security of systems.
Workshop on Role-Based Access Control, Berlin, Germany. Her current research interests include software engineering, security of
Ross, D., 1977. Structured analysis (SA): a language for communicating information systems, analyze and design of information systems, artificial
ideas. IEEE Trans Soft Engineering, 16–34. intelligence and multi-agent systems.

You might also like