siderations in section 4. We also implemented a small
system to visualize the location constraints of model
instances and to run the analyzing algorithms; this im-
plementation will be sketched in section 5 before we
conclude in section 6.
2 ACCESS CONTROL MODELS
2.1 Basics
Access Control Models (ACM) are formal models
to describe under which conditions an information
system should grant access to resources. There are
three main groups of ACM (Samarati and di Vimer-
cati, 2001): mandatory access control (MAC), discre-
tionary access control (DAC) and role-based access
control (RBAC).
Using MAC systems subjects as well as objects
are classified according to their level of confidential-
ity (e.g. ”top secret”, ”secret”, ”confidential”, ”un-
classified”). Then there are rules that impose restric-
tions like ”a subject should only be allowed to read an
object if the subject’s classification (or clearance) is at
least as high as the one of the object.” One prominent
example for such MAC is the Bell-LaPadula-model.
DAC models follow the owner principle: each object
under protection of the access control model belongs
to an owner. This owner can grant rights to perform
certain operations on that object to other subjects. Ex-
amples for DAC-models are those used by operating
systems, e.g. on Unix a user can grant the right to read
a file he just created to users of a so called group. For
the article at hand the most important group of ACM
is RBAC (Ferraiolo et al., 2003). The basic notion
is to assign permissions not to individual subjects but
rather to so called roles. Roles represent job descrip-
tions or positions within an organization. So if Alice
is hired as new ”manager” the permissions required
for this job (e.g. read payroll file, approveorder) don’t
have to be assigned individually; we just have to as-
sign the ”manager” role to Alice’s user account.
Almost all location-aware access control mod-
els that can be found in literature are extensions of
RBAC. The basic idea to obtain a location-aware
RBAC model is to switch particular elements of the
RBAC on or off depending on the user’s location,
e.g. roles (Bertino et al., 2005), the role-permission-
assignment (Hansen and Oleshchuk, 2003) or the
user-role-assignment (Chandran and Joshi, 2005).
2.2 A Location-Aware Access Control
Model based on RBAC
In this subsection we will introduce an RBAC-based
model for location-aware access control which is de-
picted in figure 1 as entity-relationship diagram. The
cardinalities in the diagram are given in the form of
(min, max)-values. For example ”(1, ∗)” as cardinal-
ity of entity ”role” in the ”role-location”-relationship
means that each role entity occurs at least once in the
relation representing that assignment. Since ”max =
∗” a role entity may occur as many times as needed in
that relation.
Each user can be assigned to several roles. Roles
again are collections of permissions. Permissions in
RBAC-models are usually considered as symbols that
have to be interpreted for the respective deployment.
In the figure we interpret a permission as a set of oper-
ations (e.g. read, write, update) that can be performed
on a given class of objects. An object class might rep-
resent a class of documents like ”customer record”.
For each object class there might be several object in-
stances, e.g. ”customer record for Mr. Meyer” and
”customer record for Ms. Miller”. The entity location
represents a location like a city, a room or a country.
We will later give a formal definition for what a loca-
tion is.
Several components of the model have a relation
to at least one location. A component is only enabled
if the respective user stays at that location, e.g. if
the role ”manager” is restricted to the locations ”lo-
cal branch Munich” and ”local branch Lisbon” this
means the role can only be used when the user is in
Munich or Lisbon. If there should be no location re-
striction we just assign the location ”universe”(which
covers the whole reference space) to the respective
component. The remaining points for the assignment
of location restrictions are:
• Restricting a user to locations means that the user
can use the system only at certain locations, e.g.
we can restrict a user to ”southern Spain” because
he has only to work in this region for the organi-
zation or he bought a software licence that covers
only this part of the country.
• Restricting a permission to locations means that
this permission should only be accessible if the
user is at the specified locations, no matter how
powerful his role is. An example is that ”access
payroll” should only be allowed while being on
the company’s premises.
• It is also possible to assign location restrictions for
individual objects, e.g. the object ”research report
no. 123” is not allowed to be accessed outside a
ICE-B 2008 - International Conference on e-Business
186