Service Discovery and Delivery System based on Trust

advertisement
2008 International Conference on Information Science and Security
Service Discovery and Delivery System based on Trust
in Mobile Ad-Hoc Network
In-Sung Han1, Jin-Mook Kim2, Hwang-Bin Ryou1, Woo-Hyun Ahn1
1
Dept. Of Computer Science, Kwang Woon University, Korea
1
{ishan78,ryou,whahn}@kw.ac.kr
2
Dept. Of Computer Information, Sun Moon University, Korea
2
calf0425@sunmoon.ac.kr
service discovery is a prerequisite for good utilization
of shared resources in the network. In a mobile ad-hoc
network, any node may in principle operate as a server
and provide its services to other mobile ad-hoc
network node[4]. Any node may also operate as a
client and use the service discovery protocol to detect
available services in the network. The service
attributes discovered include IP addresses, port
numbers and protocols that enable the client to initiate
the selected service on the appropriate server.
In ad-hoc networks nodes composed of limited
devices, it is very important to minimize the total
number of transmissions, in order to reduce battery
consume of the devices. It is also important to
implement mechanisms to detect, as soon as possible,
both the availability and unavailability of services
produced when a device joins or leaves the network.
Security in these networks is also critical because there
are many chances of misuse both from fraudulent
servers and from misbehaving clients.
In this paper, we propose a service discovery
protocol with Trust-level of devices in mobile ad-hoc
networks. Our scheme is a fully distributed protocol in
which services offered by devices can be discovered
by others, without a central server. It provides location
of trusted services, protection confidential information,
secure communications, identification between devices,
and service access control by forming a reliable ad-hoc
network.
The remainder of this paper is organized as follows.
In Section 2, we summarize the related work for the
service discovery mechanism. Continuously we
introduce service discovery mechanism based on trust
in Section 3 and describe our implementation result in
Section 4. Finally, we conclude this paper in Section 5.
Abstract
Traditional service discovery protocols cannot be
applied directly to mobile ad hoc networks because of
their heterogeneity and mobility. It is also important to
implement mechanisms to detect, as soon as possible,
both the availability and unavailability of services
produced when a device joins or leaves the network.
Security in these networks is also critical because
there are many chances of misuse both from fraudulent
servers and from misbehaving clients. So, trust of
devices and service discovery security is an important
concern for mobile ad hoc network. In this paper, we
propose the service discovery middleware with Trust
of devices for the reliable service discovery and
delivery between the devices in mobile ad-hoc network.
The proposed system could discover and deliver stable
service based on Trust of devices in the network
because it avoided the security threat.
1. Introduction
The last few years have seen a rapid increase in the
usage of mobile devices such as laptops, cell-phones,
and PDA(Personal Data Assistants)[1]. The
accompanied maturity in wireless technologies(802.11,
bluetooth or IrDA) has made wireless networks almost
as ubiquitous as traditional wired networks. An
important consequence of such developments has been
the concept of ad-hoc networks. These networks are
characterized by their lack of required infrastructure
and ease of formation; each participating device is
mobile and the networks are formed temporarily.
Discovery of services and other named resources
is anticipated to be a crucial feature for the usability of
mobile ad-hoc networks in this dynamic environment,
different nodes offering different services may enter
and leave the network at any time. Efficient and timely
0-7695-3080-X/08 $25.00 © 2008 IEEE
DOI 10.1109/ICISS.2008.25
171
factors must be taken into account when selecting
between a push solution or a pull solution.
The DEAPspace algorithm is the only service
discovery protocol, listed above, that tries to minimise
the total number of transmissions. It uses a pure “push”
solution and each device periodically broadcast its
“world view” although none of them has to request a
service.
Kozat and Tassiulas proposed a service discovery
mechanism targeted at mobile ad-hoc networks. A
virtual backbone is constructed dynamically, assuring
that all nodes are part of this backbone or at least one
hop away. Here again, the service discovery system
does not provide mechanisms for service selection
when multiple service instances of the same type
coexist.
Konark is a middleware designed to support service
discovery and delivery in ad-hoc networks. Services
are expressed using XML. The service delivery itself is
based on SOAP. Unlike our approach, Konark requires
a multicast protocol for the actual discovery process.
2. Related Work
Dynamic service discovery is not a new problem.
There are several solutions proposed for fixed
networks, with different levels of acceptance, like
SLP[11], Jini [10] and Salutation [3]. Recently, other
protocols for dynamic environments have appeared:
UPnP ’ s SSDP [12], DEAPspace [5], Kozat and
Tassiulas’SDP [6] and Kornak[7]. Only a few
protocols have built-in security, the most important are
SSDS [8] and Splendor [2]. However, these solutions
can not be directly applied to an ad-hoc network,
because they were designed for and are more suitable
for (fixed) wired networks. We see three main
problems in the solutions enumerated:
First, many of them use a central server, such as
SLP1, Jini and Salutation. It maintains the directory of
services in the network and it is also a reliable entity
the security of the system is based on. An ad-hoc
network cannot rely upon to have any single device
permanently present in order to act as central server,
and furthermore, maybe none of the devices present at
any moment may be suitable to act as the server.
Second, the solutions that may work without a
central server, like SSDP, are designed without
considering the power constraints typical in wireless
networks. They make an extensive use of multicast or
broadcast transmissions which are almost costless in
wired networks but are power hungry in wireless
networks.
Third, security issues are not well covered. SSDS
provides security in enterprise environments but may
not work in ad-hoc networks with mobile services.
Splendor does not provide certificate revocation and
trust models of PKIs. They both depend on trustworthy
servers and they propose solutions which are provided
at the IP level. Accepting that alternatives to the
centralized approach are required, we consider two
alternative approaches to distributing service
announcements: The "Push" solution, in which a
device that offers a service sends unsolicited
advertisements, and the other devices listen to these
advertisements selecting those services they are
interested in. The "Pull" solution, in which a device
requests a service when it needs it, and devices that
offer that service answer the request, perhaps with
third devices taking note of the reply for future use. In
ad-hoc networks, it is very important to minimize the
total number of transmissions, in order to reduce
battery consume. It is also important to implement
mechanisms to detect as soon as possible both the
availability and unavailability of services produced
when a device joins or leaves the network. These
3. Proposed Architecture
In this section, we introduce our authorization
service discovery system architecture and describe
each module. Our system enables also each device to
act as a server, a client and intermediate
simultaneously. We use the term “client node" for any
device that is interested in using services being offered
by nodes in the network. We use the term “server
node” for any device whose service is being used by
nodes in the network. Our system defines components
that allow devices to assume such a dual role. Each
device includes our application that facilitates human
interaction to initiate and control advertising,
discovery, and service usage. It also includes service
discovery and delivery managers and trust level
managers that together maintain service objects and
information about services offered by nodes in the
network. A small-HTTP server present to handle
service delivery requests. Our’s two main parts is
service discovery-delivery and trust level.
3.1. Our Scheme
Proposed our system enables also each device to act
as a server, intermediate router and client
simultaneously. Fig 1 shows our authentication service
discovery and delivery system architecture for role of
client node, intermediate node and server node.
172
3.1.2. Role of Intermediate Node. For the role of
intermediate node, each node is using Cache Manager
and Trust Manager. This Cache Manager structurally
saves and manages the service related information in
cache, in case it received the advertisement service
from the server nodes that provides the service, in case
it has ever used the same service and in case the
neighbor node has previously performed any event
through it.
The Trust Manager authorizes message for service
discovery and verifying the Trust Level of client. This
explores the services matching with the service
keyword through Cache Manager and available service
with its Trust Level authority of the verified
intermediate node. In case there is service identical to
service keyword in the cache, it delivers the reply
message to the client node through unicast, in order to
deliver the technical statement T-WSDL to connect
between the service provider information and server
node. If such service does not exist, it delivers again to
the neighbor node, while the packet is automatically
removed from the network when the lifetime passes.
Fig. 1. Proposed Service Discovery System Architecture
3.1.1. Role of Client Node. For the role of client ,
each node is using Service Request Sending Module in
Application Layer and Trust Manager. The application
of service discovery is implemented with GUI(Graphic
User Interface) to easily input required service key
word that the client tries to discover services. The
client inputs the service keyword to application and
then initializes the service discovery. In addition, the
client may easily receive the service when discovering
the service-providing server node will deliver the
URL(Uniform Resource Location) that can be
connected to the node providing the service to
application.
In performing the role of client, Trust Manager
manages the necessary own trust information. The trust
information is the property that controls the service
access provided by server node, and the trust
information is expressed in the level property value. In
this paper, such trust information is defined as Trust
Level. In order to ensure the differentiated service,
server node may high Trust Level. By using such Trust
Level value, it is possible to limit the access of the
malicious or non-reliable node, and therefore, to
provide the safe service continuously. In Session 3.2,
the decision and management of the Trust Level value
are described in detail.
Service Resource Discovery & Advertisement
Manager is the network tier that creates the message to
discover the service. This forms the information
necessary to discover the service requested by the
client, and manages the packet configuration so that
service discovery message may be delivered to server
node through intermediate nodes. In Session 3.3, the
service discovery message configuration and operation
in creation of service request message are specifically
described.
3.1.3. Role of Server Node. To take the role of server
node for the service providence, each node is using
mHTTP Server[7] and Requested Service Delivery
Interface Module. For the service delivery, server node
creates the T-SOAP message including the server
authorization information and the server Trust Level,
and then delivers them to the client node. The client
may receive the service through the necessary modules
according to the connecting method and authority, by
checking the T-WSDL.
The Policy Manager defines the property of the
service access authority according to the Trust Level of
the client node, and manages the limited service access.
In Session 3.4, the service authority management is
described in detail.
3.2. Trust Level Manager
Modern mobile devices can form ad-hoc networks
to autonomously share data and services. While such
self-organizing, peer-to-peer communities offer
exciting collaboration opportunities, deciding whether
to trust another peer can be challenging. In this work,
we use a decentralized trust management middleware
for ad-hoc networks, based on reputation. One of the
main difficulties in managing reputation-based trust in
ad-hoc networks is that information about node
interactions is spread across the network, and no single
node has a complete global view of the nodes
reputations. Furthermore, malicious nodes might
tamper with reputation information while it is stored
173
of this device travels, is responsible for adding the
reputation of Nr to the message-hit. Depending on the
topology of the network, Nr has several immediate
neighbors and all of them are responsible for piggybacking its reputation to its query-hit messages. The
node Ns that generated the service discovery message
compares all message-hits originating from the same
node Nr, to ensure that all report the same reputation
for it. The reputation R of node is associated at Ns with
a confidence value C, which is equal to the number of
nodes that have reported R. Honest nodes are
encouraged through C to maintain multiple neighbors,
which makes attacks riskier, due to the entropy
introduced by the unstructured topology.
locally or transmitted, or even try to defame other
nodes. A middleware solution to these challenges can
facilitate secure node interoperability without user
intervention[9].
In this work, we assume a logical network of nodes
that provide data or services to each other. We will use
the term object to collectively refer to both data and
services. Each node Ni is identified by a public/private
key pair, and maintains connections to other nodes.
The network is unstructured, decentralized and selforganized, meaning that nodes make their own
decisions as to which nodes to connect to or to query
for object services. For object service discovery, each
node make query message Mj that included nonce N ,
timestamp T, lifetime TTL. So, a node broadcast to
vicinity nodes, and a node receive the replay message
rj from vicinity nodes. A node’s reputation Ri is
defined as the sum of ratings it has received so far,
Ri=∑ j rj.
When a node acts as a client of an object service, its
goal is to identify the node with the highest reputation,
that is offering the particular object. Knowing the
node’s reputation the client can decide whether to trust
the provider, depending on the minimum Trust Level
Lj it requires for this particular type of object. For
example, a peer might have different required Trust
Levels for different types of transactions, depending
on their cost. While the minimum trust levels are set
once by the user, discovering the providers with the
highest reputation Ri and comparing Ri to Lj to decide
whether a node can be trusted (if Ri < Lj) are the
responsibilities of the Trust level Manager. When a
node acts as a provider of an service, its goal is to have
as many clients as possible.
For decide trust of each node, each node operates
like follow steps. A node Ns searches for a requiring
service by sending service discovery message to its
vicinity nodes. These messages are evaluated locally in
each node and in case a node Nr offers a matching
service, the positive reply (message-hit) is returned to
Ns. The messages are propagated further, until their
number of hops to travel lifetime expires. The service
discovery message id is the same for the message, and
the possible message-hit, and rating messages that are
produced as a result of this service discovery messages.
It is defined as a random number, generated by the
node Ns that produced the service discovery message,
together with its public key. The message-hits follow
the same path as the queries to reach Ns. This is easily
achieved by the nodes caching the message ID from a
service discovery message they have routed and using
the reverse route when routing the corresponding
query-hit, which has the same message ID. Every
vicinity neighbor of Nr, through which a message-hit
3.3. Service Discovery Operation
Fig 2 shows the process of the service discovery and
delivery operation between the client servers based on
the Trust Level in the Ad-Hoc network.
Fig. 2. Service Discovery and Delivery Operation
3.3.1. Service Advertisement Message. First of all, C
as server node delivers the service advertisement
message to the nodes next to the service provided by C.
It delivers the same information as described in Fig 3.2
for the service advertisement.
Fig. 3. T-Service Advertisement Message Format
Such service advertisement message is delivered
periodically to the neighbor node, and such
neighboring intermediate nodes structuralize the
service information through the SSC Manager, to save
and manage it.
174
3.3.2. Service Advertisement Message. Based on
Trust Level, the client node delivers the same service
discovery protocol as S-REQ Message described in Fig
3.4 to the neighbor node. SSC Manager of the
neighbor Ins explores the cache save structure to
deliver the service that fits the Trust Level authority of
the client. If any identical service exists, intermediate
node will deliver the S-REP Message containing the TWSDL to the client node, in order to connect to server
node, as S-REP Message in Fig. 4.
3.3.4. T-SOAP Message Structure for Service
Delivery Request. The SOAP[13] is the XML-based
protocol for the information exchange under the
distributed environment. The SOAP message is
comprised of two types of data structure, that is, of the
SOAP header and SOAP body, and SOAP envelope
containing the Name Space used to define such header
and body. The body contains the XML format web
service request or the response to such request, and it
is used to represent the method names and factor
values mainly for service calling. The header is
optional, and in case the header exists, it is used to
deliver the additional information on the request
irrelative to the method calling and defined in the
SOAP body. For example, it may contain the
transaction, security, context and user profile
information.
Fig. 4. Service Discovery Request and Reply Message
Format
3.3.3. Service Delivery Message. Each node proposed
in this paper takes the both roles of client and server, at
the same time. The client node, to receive the service
from the server node, attempts the connection to the
server by using the T-WSDL from expended
WSDL[14].
Fig. 6. T-SOAP: Structure and Example of Extended SOAP
In this paper, we applied the T-SOAP where the
credentials factor of the SOAP header is defined, in
order to describe the information necessary for the user
authentication and approval. Fig. 6 shows T-SOAP for
required service delivery. For the user authentication,
the public key authentication method is used, and for
the approval, the property certificate used under the
privilege management based structure is used. We
structured the credentials factors as the two fields of
PublicKeyCertificateID to contain the information on
the user’s public key certificate necessary for the
authentication, and AttributeCertificateID to contain
the information on the user’s property certificate
necessary for the approval. The information on both
user’s public key certificate and the property certificate,
was made to contain only certificate serial number and
the certificate issuer’s location information as the
minimum information that may identify the certificate
Fig. 5. T-WSDL: Structure and Example of Extended
WSDL
Fig. 5 shows T-WSDL for Trust Level Policy At
that time, After setting its own Trust Level as privilege
account according to T-WSDL, client node sends the
property certificate to server node. server node
authenticates the client node through the public key,
and after such authentication finishes, it performs the
approval process based on the property information in
the property certificate after verifying the effectiveness
of the approval module and the property certificate of
the server property access control filter. When all
authentication and approval process finish, server node
provides the service the client wants.
175
Academic Publishers. ISBN 0-7923-8610-8, October
1999.
[2] F. Zhu, M. Mutka, L. Ni, "Splendor: A secure, private,
and location-aware service discovery protocol supporting
mobile services," in Proceedings of the First IEEE
International Conference on Percom'03. IEEE Computer
Society, March 2003.
[3] Brent A. Miller, Robert A. Pascoe, "Salutation service
discovery in pervasive computing environments,"
Techical Report, IBM White Paper, Febrary. 2000.
[4] Pall E. Engelstad, Yan Zheng, Rajeev Koodli, Charles E.
Perkins,"Service Discovery Architectures for On-Demand
Ad Hoc Networks," Ad Hoc & Sensor Wireless Networks,
2006.
[5] Michael Nidd, "Service Discovery in DEAPspace", in
Proceedings of IEEE Personal Communications, August.
2001.
[6] U. Kozat, L. Tassiulas, "Network layer support for
service discovery in mobile ad hoc networks", in
Proceedings of IEEE INFOCOM, San Francisco, USA,
April 2003.
[7] S. Helal, N. Desai, V. Verma, C. Lee, "Konark—a
service discovery and delivery protocol for ad hoc
networks", in Proceedings of the third IEEE Conference
on WCNC, New Orleans, March 2003.
[8] Steven E. Czerwinski, Ben Y. Zhao, Todd D. Hodes,
Anthony D. Joseph, and Randy H. Katz, "An architecture
for a secure service discovery service" , in Proceedings of
Mobicom'99, 1999.
[9] Thomas Repantis, Vana Kalogeraki. "Decentralized Trust
Management for Ad-Hoc PeertoPeer Networks," in
Proceedings of the 4th international workshop on
MPAC'06, 2006.
[10] Sun Microsystems, "Jini architecture specification
version 2.0 ," http://www.sun.com/software/jini/specs/.
June 2003.
[11] J. Veizades, E. Guttman, C. Perkins, S. Kaplan, "Service
location protocol", Internet Engineering Task Force: RFC
2165, 1997.
[12] Microsoft, The universal plug and play (upnp) forum.
http://www.upnp.org, 2003.
[13] Martin Gudgin, et al., "SOAP Version 1.2 Part 1;
Messaging Framework," W3C Working Draft, June 2002.
[14] Roberto Chinnici, et al., "Web Services Description
Language(WSDL) Version 1.2," W3C Candidate
Recommendation, 2002.
considering the transmission efficiency of the SOAP
message.
4. Implementation
Our proposed system is operating system and
programming language independent, since it provides
a framework in which services are described and
delivered using open standard XML technology over
IP network connectivity like konark. We have
implemented our prototypes in Java(Personal Java 1.2)
Personal Java 1.2 is JDK1.1.8 compliant. For this
implementation, we used Window CE based HP iPAQ
hx4700 Pocket PC from Hewlett-Packard Company.
With integrated wireless capabilities such as integrated
Bluetooth and Wi-Fi (WLAN), you can access the
Internet, email, and corporate data at home, at work or
on the go.
We provide a set of APIs, so that actual services
can be built easily. The API set includes service
advertisement and discovery, service description and
invocation, service registry management, service lease
management, several utility, and user interface APIs..
5. Conclusion
In this paper, we design and implement
authorization service discovery and delivery system
that offer suited access control service in ad-hoc
network environment. We decide access authorization
using access control policy information and implement
the module for issue and verification of attribute
certificate. In addition, we defined extended WSDL
that is T-WSDL for the explanation of requirement
about security service in a stage of advertisement and
discovery of service. We can describe access control
policy information that are needed certification and
permission of user in the expanded field. Also we
redefined T-SOAP that defined the element of SOAP
header to attach the information of user certification
and permission along with the SOAP requirement
message on demand service. In the next study subject,
As we developed more efficient client system that have
the cache in access control filter for client access
authorization decision because it dose not request the
access authorization decision about frequent request ,
we expect the improvement of system performance.
References
[1] A. Helal, B. Haskell, J. Carter, R. Brice, D. Woelk, and
M. Rusinkiewicz, "Any Time Anywhere Computing:
Mobile Computing Concepts and Technology," Kluwer
176
Download