Role Based Access Control System Dr. Gregory Onwodi

advertisement
International Journal of Engineering Trends and Technology (IJETT) – Volume 26 Number 5- August 2015
Role Based Access Control System
Dr. Gregory Onwodi#1
#1
Lecturer I & CIT Unit & National Open University of Nigeria
14/16 Ahmadu Bello way V/I, Lagos, Nigeria
Abstract- The development of a Role-based access
control system proffers solution to the problem
being encountered in a non Role-based access
control system such as presence of errors, high rate
of fraudulent attack and all associated problems.
This research therefore introduces the concept of
a Role-based access control system (RBAC)
which is an improved alternative to the non role
based access control. With the concept of a Rolebased access control system, users do not have
unrestricted access to enterprise objects. Rather,
access permissions are administratively associated
with roles, and users are administratively made
members of appropriate roles. It is a two – tier
architecture software.
This notion greatly simplifies the four major
action lists: Create, read, Update and Delete
(CRUD). With the four system client privileges
(Insert, Update, Select and Delete) which have been
classified into three (Class A, Class B and Class C).
Class A have four privileges (Insert, Update, Select
and Delete); Class B has three privileges (Insert,
Update and Select); while Class C has two
privileges (Insert and Select). This Paper presents
a
developed
application
tha t
makes
a u t h o r i z a t i o n available t o s c r i p t s a n d
application for the system and also an Audit Trail
to keep track of activities done. This was
developed and achieved using PHP and MYSQL.
The system was built to override SQL injection
and to reset all session variables at the end of
each session. We conclude that an enterprise
should move to Role-based access control system
to maintain and keep tracks of activities in the
organisation and also to reduce exposure to fraud
and conflict interest.
Keywords RBAC, CRUD, PHP, MYSQL, Audit Trail
I. INTRODUCTION
Role-based access control is an access
control method that organizations implement to
ensure that access to data is performed by
authorized users. Unlike other access control
methods, Role-Based Access Control assigns users
to a specific roles and permission are granted to
each role based on the user‟s job requirements.
Users can be assigned any number of roles in
order to conduct day-to-day tasks. For example, a
user may need to have developer roles as well as an
analyst role. Each role would define the permissions
that are needed to access different objects. Role-
ISSN: 2231-5381
Based Access Control RBAC, is an approach
to restricting system access to authorized
users.[1] It is used by the majority of enterprises
with more than 500 employees,[2] and can be
implemented via Mandatory Access Control (MAC)
or Discretionary Access Control (DAC). RBAC is
sometimes referred to as role-based security.
Within an organization, roles are created for
various job functions. The permissions to perform
certain operations are assigned to specific roles.
Members of staff or other system users are
assigned particular roles, and through those role
assignments, acquire the computer permissions to
perform particular computer-system functions. Since
users are not assigned permissions directly, but only
acquire them through their role or roles,
management of individual user rights becomes a
matter of simply assigning appropriate roles to the
user's account; this simplifies common operations,
such as adding a user, or changing a user's
department,[3] . Access controls are security
features that control how users and systems
communicate and interact with other systems and
resources. Access is the flow of information
between a subject and an object. A subject is an
active entity that requests access to an object or the
data within an object. E.g User, Program, Process
etc. An object is a passive entity that contains the
information. E.g.: Computer, Database, File,
Program etc. Access controls give an organization
the ability to control, restrict, monitor, and protect
resource availability, integrity and confidentiality[4]
II. MODULES DESCRIPTION
The architecture below describes the
underline information system model for
the system.
Fig. 1 Systems Architecture
http://www.ijettjournal.org
Page 233
International Journal of Engineering Trends and Technology (IJETT) – Volume 26 Number 5- August 2015
The information system lies on role based
authentication where system clients‟ actions are
mapped to their various roles. During authentication
the system determines users‟ roles and routes the
user to the appropriate controller providing the
matching actions. The action list contains four (4)
major options (CRUD actions) as listed above (fig.1)
in the model.
A. SYSTEM CLIENT
Users are termed as the system client
according to the model above. Users are created by
the super administrator which is in charge of the
entire system. The super administrator assigns an
action class to an entity based on their role and level
in the system operational flow. The authentication
manager spool validates and authenticates users‟
actions based on their action class in the system data
backbone.
B. ROLE MANAGER
System client‟s roles are divided into four (4)
i.e. Insert, Update, Select and Delete. Every user class
contains roles unique to them, based on the users‟
action class. The system retrieves this information
about the action class at the point of entry into the
system (authentication). Class A process all four
roles of the role class i.e. They can insert new
record, update existing records, fetch records from
the database as well. Class B calls only three (3)
actions of the role class; select, update, insert. Finally
Class C references selection of records as well as
creating new records.
C. DATABASE
Authentication is done based on the action
class by the role manager, action flows from the role
manager to a transport module which maps actions
to the clients classes based on their privilege in the
data backbone.
There four system client privileges
Class A (Insert, Update, Select, Delete)
Class B (Insert, Update, Select)
Class C (Insert, Select)
III FRONT END DESIGN
A. ADMINISTRATORS LOGIN
This is the systems Administrators interface
where login credentials are entered to gain
access to the system after logging – in (fig. 2).
ISSN: 2231-5381
Fig. 2 System Administrator Login
B. STAFF REGISTRATION
This function is available to all user
classes i.e. (A, B, C). It validates inputs and
enforces the input of all required fields by
prompting and disabling the submit button until
this field are filled. Fig.3 shows the form where
administrator enters the data of a new staff to be
registered.
Fig.3 Staff Registration Form View
On a successful completion of this form, the
page prompts a message notifying the user of
a successful submission of the record to the
database.
C. RECORD UPDATES
This role is available only to users in
privilege classes „A‟ or „B‟. The Graphical
User Interface (GUI) of this action provides
the user with an input field where the user
enters the file number of the record to be
updated; the record is lifted from the database
and displayed to the user from where
appropriate fields can be modified as desired.
Fig. 4 shows the form where the user enters
the assigned file number of the record to be
updated.
http://www.ijettjournal.org
Page 234
International Journal of Engineering Trends and Technology (IJETT) – Volume 26 Number 5- August 2015
Fig. 4 Record Update Form
Fig. 6 Record Truncation Form
On modification, the submit button is clicked
and the user is notified on a successfully
update with a message notification on top of
the form.
The lift handle provides the capability of
reviewing the record to be deleted on
supplying a valid file number. When the delete
button is clicked, the record is taken off the
system permanently.
D. RECORD TRUNCATION
This action is only available to system
clients on the privilege class A, where a user is
authenticated again before data truncation can
occur. The users have to re-enter their login
credentials before the form which serves this
purpose is loaded. Fig.5 shows the form which
is loaded when the user clicks on the „delete
option‟ link.
E. ROLE PRIVILEGES
This function enables the administrator create
new system client as well as assign roles to
them. The administrator supplies the username
and password as well as defines a privilege
class to the new system client as described
below:
Fig.5 Data Truncation Window
When a user enters a valid username and
password which processes the privilege of
truncating records, the transport module of
the application loads the form containing
the data truncation controls as illustrated in fig. 6.
Fig.7 Administrators Privileges
F. USER AUDITING
The administrator queries the log of activities
using system client‟s username as a seed in the
audit as illustrated in Fig.8. Audit results are
attached to a section of the page as the event
which triggers the audit takes place („on
Change‟):
ISSN: 2231-5381
http://www.ijettjournal.org
Page 235
International Journal of Engineering Trends and Technology (IJETT) – Volume 26 Number 5- August 2015
B. CLASS B PRIVILEGE VIEW
Based on the actions available to this system
client role, the landing view of a user in this
class is populated with just three actions i.e.
record viewing, updating of record, and
inserting new staff record into the database
(figure 4.10).
Fig.8 Client Auditing Templates
IV. BACK END DESIGN
Authentication is done based on the action class
by the role manager, action flows from the role
manager to a transport module which maps
actions to the clients classes based on their
privilege in the data backbone.
There four system client privileges
Class A (Insert, Update, Select, Delete)
Class B (Insert, Update, Select)
Class C (Insert, Select)
A. CLASS A PRIVILEGE VIEW
On supplying login credentials to the
transport module, a user found in this
privilege class is stacked up with an interface
having all four property of the action class role
i.e. the ability to add new staff to the
current database, update staff record, fetch
staff‟s record and truncate staff‟s records(fig.
4.9).
Fig.10 Class B Privilege View
C. CLASS C PRIVILEGE VIEW
These privilege class processes the least
underlying list of actions on its view after a
successful authentication on login. The listed
actions include insertion of new records and
selection of existing records.
Fig.11 Class C Privilege View
V. DATABASE SCHEMA
A. TABLE “SYS_CLIENT
This holds system clients information such as,
username, password, action class (privilege)
and access levels. This table is affected by a
super administrator, who has the function to
add a new user and to drop an existing user.
Fig.9 Class A Privilege View
The swatch on the left switch between record
views and basic information to staff
specialization.
ISSN: 2231-5381
http://www.ijettjournal.org
Page 236
International Journal of Engineering Trends and Technology (IJETT) – Volume 26 Number 5- August 2015
Fig.12 Table Sys_Client
C. TABLE “TRAIL”
This holds a complete log of users‟ actions
starting from the point of entry into the system
(authentication) to exit (logout) as shown in
fig.13.
Fig.14 Table Basic_Info
The information contained on this table include
staff file number which is the main index of the
table (primary key), full-name, nationality, state
of origin, local government area, ward, date of
birth, his/her grade and level in the commission,
the current post he/she are holds, the primary
assignment and contact information.
D. TABLE “DATES”
This contains staff timeline information
including first appointment date, date of first
appointment,
date
posted
to
current
establishment/unit and last promotion date.
Fig.13 Table_Trial
C. TABLE “BASIC_INFO”
This table holds the data of the subject matter
of the system that is been implemented fig. 14.
Fig.15 Table Dates
E. TABLE SPECIALIZATION
Function information as to staff qualification are
contained on this page. These are information such
ISSN: 2231-5381
http://www.ijettjournal.org
Page 237
International Journal of Engineering Trends and Technology (IJETT) – Volume 26 Number 5- August 2015
as qualifications, subject(s) specialized in, and
subject(s) taught.
Role Based Access Control has being designed to
automate and simplify access control administration
and to make authorization available to script and
application implementing Mandatory Access Control.
It assigns users to specific roles and permission is
granted to each role based on the user‟s job
requirements. This application was implemented in a
virtual reality environment.
It is well known that there is a high rate of
fraudulent attack online and there is an everincreasing need to adapt to changing requirements.
Therefore, it is of a great importance for the
development and view of consideration that will
bring about an upgrade from a non-Role-Based
Access Control system to Role-Based Access Control
system to facilitate separation of duties, a more
secured system and a robust application.
Fig.16 Table Specialization
F. SECURITY ISSUES
Security is a major concern for the
modern age systems. In order to safeguard this
information system, the system has been tested
and optimized to override SQL injection and
other system vulnerabilities. Also, proper
measures were taken to ensure the proper
clean up of data by resetting all session
variables at the end of each session i.e. when a
logout action is called. A log of every user‟s
action is tagged in the audit trail of the
system.
V. CONCLUSIONS
Role-based access control is an access control
method that organizations implement to ensure that
access to data is performed by authorized users.
ISSN: 2231-5381
ACKNOWLEDGMENT
I wish to acknowledge Eyo Esther for typesetting
this work and Stephen Ariyo for the systems
development.
REFERENCES
[1] Sandmu. R, Ferraiolo, D.F & Kumn,D. R (2000)@The
NIST Model for Role Based Access Control: towards a
unified Standard @5@ ACM Workshop role Based
Access Control: 47-63.
[2] Sandhu, R. (1988):. “Role Based Access Control” In
Advances in
Computers, Vol. 46, M. Zelkowitz Eds .
Academic, 237-286. (1998).
[3] Anderson, A. O (2005):Core and Hierarchical Role Based
Access Contol (RBAC) rofile of XACML Version 2.0
(2005). ASIS Standard.
[4] Sylvia, Osborn, R. Sandhu, and Q. Munawer
(2000).”Configuring Role Based Access Control to
enforce
mandatory
and
discretionary
control
policies”.ACM Trans. Inf. Syst. 85-106. (2000).
http://www.ijettjournal.org
Page 238
Download