1
Context-Aware Security Policy for the Service Discovery
Slim Trabelsi Laurent Gomez Yves Roudier
Institut Eurecom SAP Labs France Institut Eurecom
Slim.trabelsi@eurecom.fr laurent.gomez@sap.com yves.roudier@eurecom.fr
Abstract
Dynamic and self organizing systems like those
found in pervasive computing systems or semantic web
based scenarios raise numerous challenges regarding
security and privacy. Service discovery is a basic
feature of SOA deployment in such systems, given that
entities need to locate services they can describe
without an a priory knowledge. After inherent threats
to service discovery in ubiquitous networks, we
propose a registry based solution in which context-
aware security policies are enforced in order to ensure
privacy and access control for clients and services. We
offer the possibility for the users to specify their
security preferences that will be enforced during the
discovery process. Experimental results based on an
implementation of our approach are finally presented.
1. Introduction
Orchestration is becoming an essential feature for
developing software for increasingly pervasive
systems, in particular with the fast development of
ubiquitous computing. The orchestration technique
obviously comes at a cost: being able to locate
previously unknown services becomes mandatory. The
first orchestration technique applied generally is the
service discovery that allows a dynamic detection of
the available services in the network.
With the emergence of the Web Service technology,
the discovery process should address the heterogeneity
of services and platforms from a technical perspective,
the complex semantics of service descriptions (e.g.
resorting to terminology- or ontology-based
descriptions), specific security and trust requirements,
altogether with scalability. Web Service discovery
solutions like UDDI [1], WS-Discovery [2], were
developed to answer some of these requirements, yet
still do not address most security and trust issues. In
the WS-Discovery protocol for instance, security is
limited to the use of signatures for verifying the
integrity of messages. It is not sufficient to protect
sensitive information about services from becoming
available to rogue users; private information of a user
might also get revealed to a service without any
assessment of that service's potential maliciousness.
This paper discusses how WS-Discovery may be
extended to incorporate appropriate confidentiality and
privacy protections restricting the potential matching
between a client lookup request and a service profile.
In particular, this paper describes how XACML may
be used to implement such functionalities and how it
needs to be extended to incorporate an evaluation of
the context of a user or of the device hosting a service,
an essential feature for enabling service discovery in
ubiquitous computing.
This paper is organized as follows. In the section 2
we introduce the notion of service discovery and we
dress a threat model related to this mechanism. In the
section 3 we describe the proposed solution to
overcome these security failures. In the section 4 we
detail the architectural and the technical aspects of the
implementation. We also provide the performances
results obtained with our implementation. Finally we
compare our approach with related work.
2. Service Discovery and Security
This section introduces service discovery concepts and
goes on to discuss the threats attached to this
mechanism.
2.1. Service Discovery Definition
Communication devices in fixed networks like local
LANs traditionally are assigned a static network
configuration, or at worst use DHCP to dynamically
configure their IP address. With the emergence of new
dynamic networks and services where devices are
pervasive, the discovery techniques are being adapted
in order to find mobile services rather than devices.
This adaptation in particular addresses how to combine
services as a logical layer in such systems together
with the specification of environmental constraints.
Centralized discovery approaches rely on a registry
which plays the role of yellow pages, and which clients
can refer to. A service advertises its capabilities to the
registry, which will store them for a certain amount of
time. A client solicits the registry to find a service by
sending a request containing service preferences,