ARTICLE IN PRESS
JID: INFSOF [m5G;August 10, 2017;19:56]
Information and Software Technology 000 (2017) 1–21
Contents lists available at ScienceDirect
Information and Software Technology
journal homepage: www.elsevier.com/locate/infsof
A formal approach to derive an aspect oriented programming-based
implementation of a secure access control filter
Amel Mammar
a,∗
, Thi Mai Nguyen
a
, Régine Laleau
b
a
SAMOVAR, Télécom SudParis, CNRS, Université Paris-Saclay, 9 rue Charles Fourier 91011 EVRY, France
b
Université Paris-Est, LACL, UPEC, IUT Sénart Fontainebleau, France
a r t i c l e i n f o
Article history:
Received 8 November 2016
Revised 3 July 2017
Accepted 7 August 2017
Available online xxx
a b s t r a c t
Context: Nowadays, Information Systems (IS) are at the heart of most companies and constitute then a
critical element that needs an adequate attention regarding security issues of sensitive data it manages.
Objective: This paper presents a formal approach for the development of a filter to secure access to sen-
sitive resources of information systems.
Method: The proposed approach consists of three complementary steps. Designers start by modeling the
functionalities of the system and its security requirements using dedicated UML diagrams. These dia-
grams are then automatically translated into a formal B specification suitable not only for reasoning about
data integrity checking but also for the derivation of a trustworthy implementation. Indeed, a formal re-
finement process is applied on the generated B specification to obtain a relational-like B implementation
which is then translated into an AspectJ implementation, connected to a SQL Server (release 2014)
relational database system. Such a generation is performed following the aspect oriented programming
paradigm which permits a separation of concerns by making a clear distinction between functional and
security aspects.
Results: A systematic formal approach to derive a secure filter that regulates access to the sensitive data
of an information system. The filter considers both static and dynamic access rules. A tool that supports
the proposed approach is also provided.
Conclusion: The approach has been applied on several case studies that demonstrate that the development
of a tool permits to free the developers from tedious and error-prone tasks since they have just to push
a button to generate the AspectJ code of an application.
© 2017 Elsevier B.V. All rights reserved.
1. Introduction
An Information System (IS) is the part of an organization re-
sponsible for collecting and manipulating all its relevant and sen-
sitive data. Nowadays, it is at the heart of most companies and
constitutes then a critical element that needs an adequate atten-
tion regarding security issues. Indeed, an information system often
interacts with humans or other systems by exchanging information
and any security breach may cause serious and even irreversible
consequences. To avoid such risks, a common way is to control
access to information systems by defining security rules. Roughly
speaking, a security rule specifies, for an authenticated user, which
actions are allowed/forbidden according to his/her current role and
context.
∗
Corresponding author.
E-mail addresses: amel.mammar@telecom-sudparis.eu, amel.mammar@gmail.
com (A. Mammar), thimai.nguyen@telecom-sudparis.eu (T.M. Nguyen), laleau@
u-pec.fr (R. Laleau).
To ensure the security of a system, many types of access rules
may be required. These rules can be classified into two main
classes: static and dynamic. Static access rules refer to a given sin-
gle moment of the system (i.e., the values of the data are taken at
the same moment) whereas dynamic access ones require to take
the execution history of the system into account, that is the ac-
tions already performed in the system in general or by a given user
in particular. For example in a hospital, a static access rule can be
“only a person with the role Doctor can make a diagnosis”, whereas
a dynamic access rule can be “the person who performs a laboratory
test cannot validate it”. In addition to these kinds of rules, usual
functional constraints, like for instance the maximum number of
patients each doctor can treat, need to be considered. In this paper,
we propose to use three UML-based languages: a class diagram to
describe the structure of the data manipulated in the system to-
gether with their functional constraints, SecureUML [6,28] to deal
with static access rules and adapted UML activity diagrams [42] for
dynamic access ones.
http://dx.doi.org/10.1016/j.infsof.2017.08.001
0950-5849/© 2017 Elsevier B.V. All rights reserved.
Please cite this article as: A. Mammar et al., A formal approach to derive an aspect oriented programming-based implementation of a
secure access control filter, Information and Software Technology (2017), http://dx.doi.org/10.1016/j.infsof.2017.08.001