Beruflich Dokumente
Kultur Dokumente
Abstract: This paper address security in dynamic context in different sessions depending on the context aware data
aware systems. Context awareness is a emerging as an available at that point of time. This reduces the data storage
important element in wireless systems. Security challenges in and transmission for using only the bits making it very
context aware systems include integrity, confidentiality and much easy to complement in networks where the bandwidth
availability of context information as well as end user’s privacy. of the network is very low.
The paper addresses the dynamic changes happening in the The anytime, anywhere access infrastructures is to enable a
mapping between the roles and permissions depending on
new generation of applications that can leverage
context information. The paper presents a access control
method using artificial neural networks. It represents the data in
continuously manage, adapt and finally optimization is
terms of bits to express the roles and permissions which helps in required.
reducing the data transmission and is a good fit for wireless The major challenge faced in Wireless applications is
networks with lower bandwidth. It also introduces a novel managing the security of the system using Access Control
method for storing the information in a reduced format. Instead Lists. ACL's is a very common mechanism used in Access
of accessing the access control tables the machine is learning it, Control. It has been observed that the ACL's are used to
which in turn reduces the time required to access the tables. check for permission to access resources or services.
Being dynamic in nature there is no requirement for changes, Another point to be noted at this juncture is such type of
any change is taken care by the machine learning itself. approach is very inadequate for wireless applications, since
Further, the algorithm is simple and easy to implement in most proposed models do not take care of context
wireless networks.
information into consideration.
There is a need for giving control in a dynamic way as the
Keywords: Dynamic Context, Wireless Networks.
context changes according to location, time, system
resources, network security configuration etc., Therefore,
1. Introduction access control mechanism that changes the permission of a
user dynamically based on context information is very much
It has been proved that Dynamic Role Based Access Control essential.
can manage Access Control and security, more and more In this direction [3] have proposed a GRBAC Model and
mobile devices are incorporating this feature. Pervasive representing the system using State Machines. Using this
communication technology is becoming a everyday feature model, It is representing the information for the new
and it is changing the way of communicating with the algorithm proposed and show how it can be stored and
external world. This type of DRBAC requires the following retrieved. Then finally, show how this can be used to train
tables: 1. User Location Table 2. User Role Table 3. Role – the system without accessing the matrix.
Permission Table and 4. Mutual Exclusive role table.
Each time anybody accesses the system the first three tables
are searched.
2. Background
Further, there is a very complex mapping of Location, users,
Location, User, Role and Permission are the major
roles and permissions. It has been observed that frequently
components of a DRBAC which are represented as follows:
searching the tables reduces the efficiency of access control.
L = {L1, L2, ........................Li}
An disadvantage of wireless devices are that they have less
U = {U1, U2, .......................Ui}
power, storage, computing and transmission abilities.
R = {R1, R2, .......................Ri}
Hence, performing access control in wireless environments
P = {P1, P2, ........................Pi}
is actually more complex than that I wired environments.
T = {T1, T2, T3}
Therefore, any approach to access control must be relatively
The permission only directly maps to one role. In case many
simple and very efficient.
roles want to own the same permission, this need to be done
This paper addresses the following points:
using role inheritance. Since conflicted permissions also
It gives a access control algorithm and storage is reduced
needs to be addressed.
using the EAR decomposition and is retrieved accordingly.
It also uses a ANN to train the system so that this procedure
is learnt by the system, rather than searching the tables.
This algorithm assigns the user with different permissions
(IJCNS) International Journal of Computer and Network Security, 51
Vol. 2, No. 4, April 2010
Using the following information we try to ascertain whether Based on the permission rights for that user the access is
a user is permitted to login from a particular location or not allowed. These two matrix are represented in the form of a
using matrix1. If the said user has access rights from that graph and then use the open ear decomposition technique to
location the step 2 of the algorithm is executed i.e., is reduce this information and store it.
mapping the IP address to a role else the access right is
denied. 6. Performance test of the algorithm
Matrix1 The test bed was created as a kernel program in SeLinux. It
L1 L2 L3 L4 L5 is allowed to run with the same modules that Se Linux has
U1 1 1 1 1 1 in addition to the modules created for this purpose.
Whenever somebody logins into the system it uses the
U2 0 1 1 1 1 authentication methods presently provided by the operating
U3 0 1 1 1 1 system. Using this to our advantage we put our static
U4 0 0 0 1 0 addresses specific to the location based on the labeling of
IPSec object called labeled IPSec. This particular feature is
. 0 0 0 1 0 available in mainline Linux version 2.6.16 itself. This does
U5 1 1 1 1 1 the authorization process as described in [5] and also we use
the same information to determine the location of the user.
The function of the second matrix defines the relationship Once the user's location is ascertained the next step is to
between the Location and roles for the time the user logs in. look out for the time at which this login has been requested.
Depending on the time the user logs in the roles are This is done with the help of the system clock. With this
assigned. This is used to check whether a role has access context information that is generated, access roles are
rights at various locations are not. Further, the permission accordingly assigned.
for the roles are defined during the time the role is created. The SELinux user identities are different from UNIX
If the role column in the matrix is 1 it means that role can identities. Here, for experimentation the normal roles
be provided access for that location and further step 3 of the defined are R1, R2, R3, R4, ............R24 and the
algorithm is executed else the access to that role is denied. corresponding Selinux roles defined are R1_r, R2_r, R3_r,
R4_r, ......R24_r. These roles are associated with the user.
Matrix2 The normal user are U1, U2, U3, U4, ........Un and the
For Time T1 corresponding Selinux users defined are U1_u, U2_u, U3_u,
U4_u, ........... Un_u.
R1 R2 R3 R4 R5 R6 R7 R8
Here _r identifies the roles while _u identifies the user.
L1 1 0 0 0 0 0 0 0 SELinux user identities are different from UNIX identities.
L2 1 1 1 0 0 0 0 0 They are applied as part of the security
label and can be changed in real time under limited
L3 1 1 1 0 0 0 0 0 conditions. SELinux identities are not primarily
L4 1 1 1 1 0 0 0 0 used in the targeted policy. In the targeted policy, processes
and objects are system_u, and the default
L5 1 1 1 0 1 1 1 0 for Linux users is user_u. When identities are part of the
policy scheme, they are usually identical to
For Time T2 the Linux account name (UID), and are compiled into the
R9 R10 R11 R12 R13 R14 R15 R16 policy. In such a strict policy, some system
accounts may run under a generic, unprivileged user_u
L1 1 0 0 0 0 0 0 0 identity, while other accounts have direct
L2 1 1 1 0 0 0 0 0 identities in the policy database
L3 1 1 1 0 0 0 0 0 _t identifies type. SELINUX_SRC/rbac is the place in which
roles are allowed to attain which other roles.
L4 1 1 1 1 0 0 0 0 Types are the primary security attribute Selinux uses in
L5 1 1 1 0 1 1 1 0 making authorization decisions as defined in permissions
above. This is defined in /etc/security/selinux/src/policy.
For Time T3 Depending on this roles can be assigned.
R17 R18 R19 R20 R21 R22 R23 R24 7. Representation of the Matrix and
decomposition / retrieval
L1 1 0 0 0 0 0 0 0
Using the three Matrix defined in the above method, the
L2 1 1 1 0 0 0 0 0 next step is to apply the well known Hungarian Algorithm
L3 1 1 1 0 0 0 0 0 to represent the matrix in the form of a graph. The Steps in
the Hungarian Algorithm is as follows:
L4 1 1 1 1 0 0 0 0
L5 1 1 1 0 1 1 1 0
(IJCNS) International Journal of Computer and Network Security, 53
Vol. 2, No. 4, April 2010
Step 1 Similarly, the graphs for the other two matrix is drawn and
Generate initial labeling L and matching M in EL. reduced as shown.
Now, using the two graphs we apply the path ear
Step 2 decomposition algorithm. The steps of the path Ear
If M perfect, stop. decomposition algorithm is as follows:
Otherwise pick free vertex U such that it belongs to X. An ear decomposition D = [ P0 , P1 , P2 , ………., Pr-1 ] of an
Set S = { U } , T = Null. undirected graph G = (V, E) is a partition of E into an
ordered collection of edge-disjoint simple paths P0 , P1 , P2 ,
Step 3 ………., Pr-1 such that P0 is an edge, P0 U P1 is a simple
cycle, and each end point of Pi , for i > 1, is contained in
If NL (S) = T, Update labels (forcing NL(S) ≠ T) some Pj , j < i, and none of the internal vertices of Pj are
contained in any Pj , j < i. The paths in D are called ears. An
αl = mins € S, y does not belong to T. ear is open if it is non-cyclic and is closed otherwise. A
trivial ear is an ear containing a single edge. D is an open
l(v) – αl if v € S ear decomposition if all ears are open.
l’(v) = l(v) + αl if v € T Let D = [ P0 , P1 , P2 , ………., Pr-1 ] be an ear
l(v) otherwise decomposition for a graph G = (V, E). For a vertex v in V,
we denote by ear(v), the index of the lowest numbered ear
that contains v; for an edge e = (x,y) in E, we denote by
Step 4 ear(e) (or ear(x,y)), the index of the unique ear that contains
If Nl (S) ≠ T, Pick y € Nl (S) – T e. A vertex v belongs to Pear(v).
If y free, u – y is the augmenting path, The path ear decomposition algorithm:
Then Augment M and Go to step 2. Input: A connected graph G = (V, E) with a root r € V, and
Else with V = n.
If y matched, say to z, extend alternating tree: Output : A depth first search tree of G, together with a label
Such that, S = Su { z }, T = T U { y } on each edge in E, indicating its ear number.
Go to step 3. Set T of edges; integer count;
Procedure df s(vertex v);
Matrix1 and its graph representation G1 { * This is a recursive procedure. The call df s(v) of the
main program constructs a depth first search tree T of G
rooted at r; the recursive call df s(w) constructs the sub tree
of T rooted at w. The depth first search tree is constructed
by placing the tree edges in the set T and labeling the
vertices in the sub tree rooted at vertex v in pre-order
numbering, starting with count. The procedure assigns ear
labels to the edges of G while constructing the depth first
search tree. An edge that does not belong to any ear is given
the label (∞, ∞). Initially, all vertices are unmarked. * }
Vertex w;
‘mark’ v;
Pre-order(v) := count; count := count + 1; low(v) := n;
ear(v) := (n,n);
For each vertex w adjacent to v
{ * This for loop performs a depth forth search of each child
of v in turn and assigns ear labels to the tree and non tree
Matrix2 and its graph representation G2
edges incident on vertices in the sub trees rooted at the
children of v. * }
If w is not marked
Add (v,w) to T; parent(w) : = v; df s(w);
If low(w) ≥ pre-order(w)
ear(parent
(w), w) := (∞, ∞)
Low(w) < pre-order(w) ear(parent(w),w) := ear(w)
Fi;
Low(v) := min(low(v), low(w));
Ear(v) := lexmin(ear(v), ear(w))
If w is marked
If w ≠ parent (v)
Low(v) := min(low(v), pre-order(w));
54 (IJCNS) International Journal of Computer and Network Security,
Vol. 2, No. 4, April 2010
Acknowledgements
Mr. Nagarajan S is presently working
We Would like to thank Prof. K. A Venkatesh, HOD as Selection Grade Lecturer, at the
Department of Computer Applications, Alliance Business Alliance Business Academy, Bangalore.
Academy for all his support and discussions. We would also He is also a Research Scholar at
like to thank Mr. Mahesh M S for the experimental support Bharathiar University at Coimbatore. He
provided in the lab during the preparation of this algorithm has nearly about 13 years of Industry and
and module. teaching experience. He has published
one international paper in an
International Journal and 5 in various conferences.