we adopt Role-Based Access Control (RBAC) and
apply the NIST standard RBAC model (Sandhu
2000) to presence authorization.
Various RBAC models have been traditionally
used in business enterprises for access control to
resources. The basic RBAC model assigns a user to
roles which are associated with permissions. Such
model grants a user only to permissions associated
with the roles activated for him. Roles can be
organized into hierarchies in which the permissions
can be inherited. Constraints can also be added to
various RBAC components to prevent undesired
configurations. One typical constraint is to enforce
Separation of Duty (SOD) such that mutually
exclusive roles are not assigned to the same user at
the same time. RBAC is a natural fit for enterprises
where roles represent the tasks, responsibilities and
qualifications that users assume within an enterprise.
RBAC thus provides a valuable level of abstraction
and modularization to specify and enforce
authorization policies based on the Least Privilege
Principle that cannot be achieved by other access
control models.
These fundamental RBAC security concepts and
mechanisms are applicable to presence authorization
and we do not have to reinvent the wheel. However,
presence authorization cannot be regarded as a
special case of the standard RBAC models. The
differences are elaborated below.
First, the concept of role in presence
authorization is different from the standard RBAC
models. In presence system, roles represent relations
between two users (watcher and presentity), whereas
in standard RBAC model they represent functions of
users within an enterprise. This implies that role
assignment in presence system depends on both
participants, instead of on one user as in the standard
RBAC models. Furthermore, in presence system, the
role assignment may depend on other contextual
factors, such as the time and nature of the
engagement.
Second, the standard RBAC models do not
support cascaded authorization, where a central
authority establishes common authorization rules
and its subordinates can refine them. Cascaded
authority is necessary to assert certain global control
while permitting personal choices in organizational
and social environment. For instance, an enterprise
may have global presence rules that require or
prohibit disclosure of certain activities, but the
employees can exercise personal judgement within
the perimeters of these rules. An online community
may also mandate a minimal set of presence
requirements and leave the rest to its members.
Third, the standard NIST RBAC model only
defines the core concepts and semantics, but it
leaves the user authentication, permission
presentation and protocol integration to the
implementations. In particular, we need to
seamlessly integrate RBAC models with the web
services architecture which is based on the notion of
service contract. Since the contract exposes the data
model about the presentities, the RBAC model can
be used to grant contract access to only qualified
watchers. Another reason to incorporate contract
into RBAC model is to maintain data integrity such
that the contract (presence data model) discovered
by the watchers is identical to the one published and
updated by the presentity. For permission
representation, RBAC model should allow both
watchers and presentities to select presence states at
different level of granularity. Overall, the presence
protocols and RBAC models should be combined to
maximize symmetric information flow such that the
watchers and presentities have equal knowledge and
control over presence information.
To address these issues, we developed a secure
web service based rich presence architecture using
the extended RBAC model that we developed for
presence authorization. The proposed RBAC based
model extends the role assignment mechanism and
adds new features to support cascaded authority. It
emphasizes the importance of context and presence
data model in order to facilitate web service
discovery and invocations. In particular, we propose
an abstract presence data model by combining
Parlay X Web Service Presence (Parlay X 2007) and
RFC5025 authorization (Rosenberg 2007). In this
architecture, we use WS-Eventing (WS-Eventing
2006) as the presence protocol. We treat the
presentity as event source and presence information
that is sent to the watchers as events. WS-Eventing
is composed with WS-Security (WS-Security 2006)
for end-to-end user authentication, message integrity
and confidentiality. Using WS-Eventing instead of
the full-blown Parlay X Presence Web Service
allows us to limit the number of running web
services on communication endpoints, and in
addition, provide a generic methodology for
presence authorization in collaboration and social
networks.
The rest of the paper is organized as follows: In
Section 2, we survey some related work in RBAC,
presence authorization and web services. In section
3, we outline the presence protocol over the Web in
which the RBAC model operates. We then present
our extended RBAC models in two steps. First, the
basic model that incorporates the relation, context
and data models is described to address the specific
need of presence authorization. Second, we
formalize the special constraints for role hierarchy to
support cascaded RBAC models. In section 4, we
discuss a prototype presence architecture based on
WEBIST 2009 - 5th International Conference on Web Information Systems and Technologies
30