Sie sind auf Seite 1von 6

The VIRTUS Middleware: an XMPP based

architecture for secure IoT communications


Davide Conzon, Thomas Bolognesi, Paolo Brizzi, Antonio Lotito, Riccardo Tomasi, Maurizio A. Spirito
Istituto Superiore Mario Boella
Torino, Italy
{conzon, bolognesi, brizzi, lotito, tomasi, spirito}@ismb.it

Abstract— Before a wider adoption of the Internet of Things Regarding communication and networking features,
(IoT) vision occurs, many urgent technological and social middleware solutions mostly deal with the goal of supporting
challenging issues still need to be addressed, including device seamless communication among devices, based on various and
interoperability, systems autonomy, privacy and security often unreliable communication channels (with intermittent
concerns, which could have a significant impact on several connectivity due to mobility or interference). From the
aspects of everyday-life or potential end-user. Due to the very transport point of view, middleware solutions need to cope with
large number of technologies normally in place within the IoT non-traditional communication models and opportunistic
paradigm, some type of middleware layer is employed to enforce techniques to provide services like data time-stamping, data
seamless integration of devices and data within the same
sorting, caching or flow-oriented information management.
information network. Within such middleware, data must be
Middleware solutions satisfy the need for interoperability,
exchanged respecting strict protection constraints. Both the
networking and security issues have driven the design and the
providing unified data models and enabling resource sharing
development of the VIRTUS Middleware, an IoT middleware between data providers and consumers. This is normally
relying on the open XMPP protocol to provide secure event- achieved through open interfaces and protocols, usually with
driven communications within an IoT scenario. Leveraging the links to technology-neutral standards such as XML or web
standard security features provided by XMPP, the middleware services. This issue also involves the need to support a variety
offers a reliable and secure communication channel for of programming languages, running on different hardware.
distributed applications, protected with both authentication Communication support and enhanced interoperability are
(through TLS protocol) and encryption (SASL protocol) normally exploited to support both data-oriented and service-
mechanisms. The proposed architecture provides the possibility oriented communication paradigms, which can be both used to
to isolate an instance of VIRTUS, allowing the exchange of data support context management and more advanced features in the
only within a private network. This paper presents an overview area of artificial intelligence (e.g.: context reasoning, pattern
of VIRTUS, providing an overall platform description and details recognition, planning, semantic mapping or discovery). Among
regarding its security features. the horizontal issues assurance of trust among devices and
infrastructures and proper access control to resources must be
Keywords-component;Internet of Things, VIRTUS Middleware, provided. Contextually, as indicated by Fabian, B. et al. [3],
XMPP, OSGi, Security, TLS(SASL). data-sensitive operations must be handled in a privacy-savvy
manner.
I. INTRODUCTION
In order to address some of the aforementioned challenges,
Current research roadmaps ([1], [2]) define the IoT as a this paper discusses both the VIRTUS architecture (as an
physical and logical extension of the current internet, populated event-driven middleware leveraging on existing open standard
by billions of intelligent networked devices or “things”. Within such as XMPP [4] and OSGi [5]) and its security aspects. The
this vision, devices will cooperate through open standards security in IoT is essential, indeed, as analyzed by Atzori et al.
providing ubiquitous and pervasive services, useful in many [6] there is general reluctance to adopt the IoT paradigm as
application scenarios such as electronic payments, monitoring, long as there are reliability risks that could represent serious
industrial applications, e-health solutions, and many more. threats to security and privacy of data. In order to tackle this
Due to the heterogeneity of existing networked devices in double problem, the section II introduces main security issues
terms of communication protocols and hardware features, as in IoT and, for the completeness of the whole discussion, it
well as computational models and exposed services, the IoT briefly treats the main privacy issues. Section III introduces the
concept is commonly associated with the idea of an VIRTUS architecture, while section IV describes details about
intermediate middleware layer handling miscellaneous data. the VIRTUS security approach. The last two sections provide a
The term “middleware” is mostly tied to integration tasks and practical sample application and draw conclusions.
covers a broad spectrum of roles, including networking and
communication, authentication, encryption, interoperability, A. Security & Privacy
data processing, service support, context management as well IoT applications are vulnerable to security attacks for
as horizontal issues (like security and privacy management) several reasons: first, devices are physically vulnerable and are
[1]. often left unattended; second, is difficult to implement any
This article is part of the work carried out within the regional project
“Piattaforma Tecnologica Innovativa per l’Internet of Things”, co-funded by
the Regione Piemonte (2009-2012).

978-1-4673-1544-9/12/$31.00 ©2012 IEEE


security countermeasure due to the large scale and the necessary. Furthermore, to control the level of personal details
decentralized paradigm; finally, most of the IoT components made public, the user should configure his preferences about
are devices with limited resources, that can’t support complex privacy, but this is not always feasible.
security schemes. The main security problems concern
authentication and data integrity. Authentication approaches B. Existing solutions
are difficult to implement, since they usually require In the last few years, many different middleware solutions,
appropriate infrastructure and several exchanged messages for Internet of Things environment, have been designed and
(unfeasible in most resource-constrained devices). Existing IoT developed, as the result of different research initiatives.
security solutions can be applied when a group of sensor nodes
are considered as unique entity (part of a more complex sensor UBIWARE [15] aims at integrating all types of resources
network), connected to the Internet through some gateways [7], found in an enterprise: smart devices, web services and
but, in the ideal scenario, a single sensor must be seen as a humans. UBIROAD [16], an extension of UBIWARE,
single node of the entire IoT network. Finally, the existing addresses interoperability between the in-car and roadside
solutions don’t help to address the proxy attack problem [6]. devices. Both use Semantic Web and agent technologies to
define reusable security and privacy policies. SAI (Service
Regarding data integrity protection, some preliminary Application Integration) [17] is a message-oriented middleware
results exist for sensor networks (e.g., [8]), but new problem supporting context-aware application development, which
should be raised: data can be modified by adversaries while it validates system’s components identity, controlling the access
is stored in the node, or when it travels through the network. To to SAI-managed resources and guaranteeing messages integrity
protect data against the first type of attack, the solution is to and privacy. The SOCRADES project [18] uses SOA to enable
protect devices’ memory (e.g. EPCglobal Class-1 Generation-2 enterprise-level applications to interact with and consume data
and ISO/IEC 18000-3 tags protect read and write operations from a wide range of networked devices, using a high-level
with a password). To address the second type of attack, abstraction that features web services standards. It provides
messages may be protected using some encryption method. devices authentication and access control. The SMEPP [20]
Although existing standards, such as AES, are already project develops a secure and general purpose middleware,
implemented in some IoT devices, researchers are designing based on a network centric abstract model for Embedded Peer-
new faster cryptographic mechanisms for constrained devices. to-Peer Systems (EP2P), which deals authentication,
Sony’s CLEFIA is a block cipher that supports 128-bit keys encryption, decryption, digital signature and infrastructure
and the eSTREAM project has studied the robustness of stream security. The Hydra middleware [13] (also known as
ciphers such as Salsa20/12 and Trivium. There is also research LinkSmart) aims the Context-Awareness [14] through a
on lightweight dedicated hash functions, as evidenced by the Service-Oriented Architecture (SOA). Hydra architecture
SHA-3 competition [42]. An alternative to hash simplification handles security features at application level, including as core
is offered by existing optimizations in operational modes, components the Network Manager, the Crypto Manager and
which help to make data processing more efficient (e.g. data the Trust Manager (for secure networking), and an Access
integrity and confidentiality provided by AES-CCM and AES- Control Policy Framework (for resource control) [41]. The
GCM). Another open point is to implement internet standards Sensor Andrew project [19], the closest to the proposed
security features: 6LowPAN and ROLL can be used for IP solution, provides a middleware designed to host a wide range
connectivity, CoRE for lightweight web service and CoAP as of sensors, actuators and distributed applications in the campus
web protocol, but O. Garcia-Morchon et al. [9] stated the of the Carnegie Mellon University. Devices are modeled as
difficulty in achieving security using Internet standards. The event nodes within a publish-subscribe architecture adopting
IPsec protocol can be adapted to provide network-layer security the XMPP protocol, using encryption, authentication and
between Internet hosts and the devices with constrained access control for security and privacy. Other interesting IoT
resources (S. Raza et al. [10]), but many other challenges are oriented middleware (such as Aspire, ubiSOAP, GSN or
hardly addressable [11]. It is necessary to underline that this WhereX) do not provide enough in-depth details regarding the
paper doesn’t treat low level security (e.g. ZigBee node to node security issue.
communication protection), supposing to rely on both
proprietary communication features and, when those features
are lacking, on other higher level technique (e.g. on algorithms C. Architectural Requirements in IoT
based on filters or reputation). The main distinguishing features of the aforementioned
solutions have been identified in the orientation of middleware
Privacy is recognized in most of all legislations and to either services or data/events. Many solutions leverage on
worries about its protection represent a barrier against the Service Oriented Architectures. Although introducing clear
diffusion of the IoT paradigm. Many new occasions for advantages, the SOA approach forces developers to focus on
collecting personal information exist, considering that the cost features of each specific device. This makes the harmonization
of information storage decreases constantly and the amount of that is needed to better support seamless autonomous
“attractive” private data increases. Hence, privacy must be coordination among multiple entities more complicated.
protected by ensuring that persons can control which of their Additionally, web-service driven architectures could introduce
data is being collected, from who, and when this is happening. a number of limitations, including stricter link with the physical
Moreover, the personal data collected should support only location of the devices/services, or at least their IP address and
authorized services by authorized providers (e.g.: relying on high processing overhead, when large number of services must
privacy broker [12]) and data must be stored only while strictly be coordinated together. For such a reason, middleware
solutions such as [13] usually overcome limitations of proven and mature: after more than 10 years of development,
traditional SOA approaches by introducing additional there are thousands of Jabber servers on internet and millions
paradigms in conjunction. Middleware solutions, which are users (e.g. while using Google Talk) and a large number of
focused on data and events, are instead usually more applications have been developed using the IM functionalities,
lightweight and scalable, but underestimate more complex in very different application fields. XMPP is fully
features (including both the security, the discovery and the decentralized: everyone can use its XMPP server and manages
services orchestration). Beyond this classification, assuming to independently its network. XMPP is extensible: using the
respect the basic IoT requirements (regarding complex potential of the XML, everyone can add features to the core
environment, heterogeneity in data representation, data functions. XMPP offers interoperability features, such as:
structure and semantic, operating systems and programming HTTP binding, service discovery, file transfer, server
abstractions), some capabilities are considered necessary: the federation. Finally, XMPP natively provides a number of
unique authentication of every single sensor/data source, the security features, better discussed in section IV.
communications encryption to ensure data integrity and the
existence of mechanisms to protect nodes’ memory when left B. VIRTUS Architecture
unattended. The first two have been taken into account while The choice of the XMPP protocol provides VIRTUS with a
designing VIRTUS, the third one has been skipped because seamless communication layer to support its operations.
considered as node-level constraint. VIRTUS combines XMPP features with OSGi as a reference
framework (specifically using Knopflerfish [24]). OSGi
II. INTRODUCING THE VIRTUS MIDDLEWARE technology is a dynamic module management system for Java
VIRTUS is characterized by a number of architectural and provides standardized primitives that allow applications to
choices: the adoption of an existing Instant Messaging protocol be composed of small, reusable and collaborative components
(easy-to-manage, large-scale and secure communication), the (bundles or modules). OSGi provides functionalities for run-
use of Java-based architecture as core (portability issue) and the time modules management and has been exploited in VIRTUS
use of OSGi (ensuring modular and dynamic architecture). in order to support the dynamic modules combination, to deal
with automatic management of dependencies and updates and,
A. Instant messaging protocol analysis finally, to simplify the configuration and the deployment. For
scalability reasons, the standard OSGi bundles communication
Analysing the identified requirements, it has been observed methods, based on Service Registry, have been considered not
that the adoption of standard Instant Messaging protocols could suitable for IoT application and so replaced with XMPP and its
provide relevant support, concerning easy data and system extensions. In particular the following communication
management and due to implicit security mechanisms offered. primitives have been used in the Middleware implementation:
A number of Instant Messaging protocols currently available <Message/> for getting information asynchronously from one
have been analyzed, including SIMPLE, JMS, IMPS and place to another; InfoQuery (or <IQ/>), for request-response
XMPP. interactions, and <Presence/> to share the entities network
SIMPLE, managed by IETF, is an open extension of SIP availability. In addition to these primitives, VIRTUS uses some
(Session Initiation Protocol), the signaling protocol through XMPP Extensions (XEPs) [25], including: the XEP-0030
which is possible to start, configure and manage many (Service Discovery), needed to discover what entities are on the
multimedia sessions (including voice and video). SIP offers network and exactly which XMPP features those entities
limited built-in security, but many recommended security implement; the XEP-0050 (Ad-Hoc Command), which
aspects of the protocol are lacking in existing implementations provides workflow capabilities for any structured interaction
[21]. It uses not only TCP but also UDP, and this can lead to between two XMPP entities; the XEP-0060 (Publish-
data loss and security problems. JMS [22] is a messaging Subscribe), that allows to subscribe to an information node and
standard (extension of the JEE platform) that enables then to receive a notification, only when an entity publishes an
applications to create, send, receive and read messages, item to that node, providing a scalable and real-time alternative
handling a loose-coupled, reliable and asynchronous to constant and expensive polling for updates. Each module is
communication, but doesn’t provide features for controlling or associated with an application logic and an XMPP account,
configuring message integrity and privacy. IMPS, defined by enabling each module to share its availability (through
Open Mobile Alliance, is widely distributed and tested presence) and to communicate with other modules (through
(although not used as messaging protocol) but doesn’t define a Message, InfoQuery, Pub/Sub and Ad-hoc Commands). This
security model and for this reason different implementations account is used to authenticate, uniquely identify and
vary greatly [23]. The IETF standard XMPP (eXtensible dynamically address every entity in the middleware, regardless
Messaging and Presence Protocol), also known as Jabber, is its physical location.
based on XML for the real-time messaging, for the exchange of The core entities of a VIRTUS Middleware based solution
presence information and for request-response services. XMPP are (Fig. 1): an XMPP server (in the presented solution,
supports a wide range of applications: instant messaging, VIRTUS has been validated with the OpenFire [26] server, a
presence notification, multi-party chat, audio-video call and, real time collaboration server, licensed under the Open Source
most generally, XML routing. XMPP is an open protocol and, GPL license). A Manager module, which has the complete
thus, is free and open-source, over the long period an open knowledge of all the modules inside an instance (via its roster)
standard provides stronger security, greater extensibility, and and is able to appropriately connect the different bundles. The
more open to innovations than legacy technologies. XMPP is Manager provides a list of available modules (filtering by
namespace) and manages dependences. A Gateway module
acts as an interface to remote instances of the middleware and
to any external software requiring connection with local
instance. Any external communication has to pass through the
services provided by this entity. Because of its role of
“intermediary”, it has two active connections: one on the local
XMPP server, to communicate with internal modules, and one
to a public XMPP server, to communicate with other
middleware instances. Any other “custom” modules could be
developed to handle specific task (e.g. to manage an RFID Figure 2. Simple Devices Management principle
reader, to interface with a specific sensor), to implement ad-hoc
algorithms (e.g. for filtering purpose) or to connect to
databases, etc. This approach enables to flexibly build a III. THE VIRTUS SECURITY APPROACH
customized deployment of the middleware, adapted for each The XMPP communications security has been formalized
specific purpose and context. In the VIRTUS architecture, there with the publication of the core XMPP specifications plus RFC
are three different types of devices: 3920 and RFC 3921 [29], where main relevant extensions are
security, authentication, privacy and access control. The
• Resource rich devices (like PC): can host the entire SW VIRTUS middleware security approach, aimed at obtain a
architecture (OSGi, XMPP Server, SW modules). secure decentralized client-server architecture, exploits these
• Resource-constrained devices (like Smartphones): use relevant built-in security policies (such as user authentication,
the XMPP client library to connect to the XMPP channel encryption and prevention of address spoofing), and
Server, interacting with other modules. achieves an intrinsic safety due to the chosen architecture.
• Simple devices (like sensors or RFID reader): use a A. Session Negotiation and client to server XML Stream
“custom entry module”, hosted on a less poor device, security
to encapsulate their data in an XMPP message. In
typical IoT platforms like TinyOS and Contiki, or The negotiation actually starts after the DNS XMPP
sensor middleware like LooCI, RUNES or Gridkit, Service lookup and the opening of a TCP (duplex) connection.
interacting with simple devices, means to develop The client sends an initial stream header and the server opens a
some specific bundle to handle a specific interface response stream by sending an opening tag, containing unique
(Fig. 2). stream ID specifically generated for the session. Then, the
server sends a list of supported features for securing and
Concerning this hierarchical architecture, sensors nodes are compressing the connection. After the authentication and
not able to autonomously interact with other entities in the IoT, further negotiations, the communication starts. The client, to be
but need to encapsulate their XMPP messages through less compliant, must support both TLS and SASL (Fig. 3).
resource constrained devices. In the future, when sensors will
be more performing, they may directly communicate via TLS (Transport Layer Security – RFC 2246 [30]) provides
XMPP (as already developed for Contiki OS devices in [27]), a reliable mechanism to ensure the confidentiality and data
breaking down this partial limitation. integrity, encrypting XML streams as defined along a
"STARTTLS" extension (RFC 2595 [31]). The extension
VIRTUS uses only XMPP for the entire communication allows: to prove the identity of the server, to prove the identity
both intra-domain and inter-domain, but, to preserve of the user (optional), stream encryption and data integrity
interoperability with other solutions (a very important aspect in transmission. SASL (Simple Authentication and Security Layer
the world of distribute applications), mechanisms allowing to - RFC 4422 [32] and RFC 2222 [33]) guarantees server
exchange data with application using different communication validation through an XMPP-specific profile, by means of
protocol have been developed (e.g. for traditional SOA authentication, optional encryption (rarely used) and pluggable
architectures using web services). VIRTUS, according to the (e.g.: passwords, Kerberos, X.509, SAML, etc.). General steps
Hurwitz’s classification [28], fits into the group of in TLS/SASL negotiation are: 1) XML streams are opened and
publish/subscribe middleware, but its architecture allows to TLS is negotiated, 2) a new stream is opened, and SASL is
address most of the problems identified for these solutions (like negotiated and 3) a new stream is opened for the application-
messages ack and device presence). domain specific communications.

Figure 3. TLS and SASL connection

Figure 1. Virtus MW Architecture Layers


B. Multidomain Server Federation In fact, each middleware module (each OSGI bundle) can
In order to allow systems interconnections XMPP provides be configured through an XML file, specifying (besides other
a server federation support. One of the issues of these parameters) if produced data and ad-hoc commands offered are
interconnections is the resource accesses control, thereby available or not, outside of the VIRTUS instance, where the
implying the identity management interoperability. XMPP bundle is deployed. In this way, the user can choose which data
offers a solution to connect identity management system of is available from other domains (or software). This
different information systems, but, being service provisioning a configuration can be changed at run-time, without restarting the
matter of policy, federation support is optional. Depending on module or the entire solution. For example, the manager of an
the type of application and security requirements, the federation instance of VIRTUS can configure a temperature sensor to
could be Weak or Strong. The first one provides only fragile publish periodically its data, also to other domains, and make
identity verification of a peer server, without confidentiality or publically available an ad-hoc command to force a detection; at
integrity support (as defined in XEP 0220 [25] - Server the same time, he can provide, only locally, a set of commands
Dialback). This widespread practice allows the downgrade to manage the sensor (stop/restart of the sensor, change of the
attack, if an attacker can gain control of the channel and, period of detection). In this way, the sensor has two interfaces:
therefore, convince the initiating server that the receiving one public that can be used to access to its data and one private,
server doesn’t support TLS or does not have an appropriate available only for local users, who can manage the sensor
certificate. To prevent this attack, the parties must protect the configuration. Another sensor can be configured to publish data
channel using TLS even if the presented certificates are self- and to provide ad-hoc command only locally, making its data
signed or otherwise untrusted. Instead, we talk about strong available only within the instance of VIRTUS, where the
federation if server enables full federation, guaranteeing both sensor is deployed.
authentication and confidentiality through TLS + SASL
EXTERNAL, as defined by Saint-Andre [29]. IV. CASE STUDY
VIRTUS has been validated in several application scenarios,
C. Architectural Security ranging from energy consumption monitoring, to logistics, to
Despite all the security features offered by the XMPP protocol intelligent mobility. The case study here analyzed is a
(including the upon mentioned servers federation), when data is homecare solution developed inside the project “Piattaforma
exchanged over the internet, the risk that it may be intercepted Tecnologica Innovativa per l’Internet of Things” (Innovative
or modified by malicious entities is always present. For this technology platform for the Internet of Things). This
reason, the VIRTUS architecture has been designed to allow development brings out the full potential of VIRTUS,
the insulation of one or more instances from internet in the case leveraging on its feature to design a modular, secure and high-
of higher security requirements (Fig. 4). Keeping sensible data scalable homecare system. Within the project, VIRTUS has
inside the private network is a way to reduce security and been integrated with a different web-service based middleware.
privacy risks. Another reason of this choice is that usually, in Namely the Hi Reply system [34]. The resulting solution uses
some "sensible application", the third party operator (the actual different medical instruments to detect the patients’ vital signs;
service provider) doesn’t want to circulate his data outside his every instrument measures a different parameter and has a
private network, simply to totally reset attack risks. The proprietary communication protocol. Through the middleware
insulation is possible because, in the VIRTUS architecture, bundles, all data is encoded in a XML format and included in
every instance uses a different XMPP server. If this server is standard XMPP messages. In this way, data can be received
located inside a private network, all the modules of the and parsed from all the others middleware bundles. The system
instance, connected to that server, can communicate with each can be remodeled for every instance, installing only the drivers
other, without exposing their data on internet. In this special for the devices needed by the patient. Thanks to the XMPP
case, the architecture of the solution is different than the protocol, the solution can scale, managing a high number of
original described in section III, because the Gateway is not patients. Those XMPP scalability performances were measured
needed (no connections with external entities exist) and for this by the Openfire developers’ team (as shown by tests analysis
reason, it can be not installed in the instance. In case of less [35]). Finally, the data can be exchanged over the internet, in a
strict security requirements, the VIRTUS architecture enables reliable way, and are available only for authorized people. The
to choose what data must be available from outside of a solution uses the following modules: a set of wireless medical
VIRTUS instance, and what data must be hidden. devices to detect vital signs of the patients (Fig. 5) with their
driver bundles, a module that controls an embedded database to
store the data, and an interface used by the caregivers to
monitor the patients. As explained in section III, there are two
possible levels of security and privacy provided by VIRTUS: in
case of multi-domain solutions, with the patients located in
their homes and the caregivers that monitor them from remote,
the architecture guarantees that: only the patients data,
configured as public, is published over the internet, all the other
data remains in the local instance; the data exchanged is
available only by authorized people, that must be authenticated
before to access to the resources.
Figure 4. Multi-instances VIRTUS architecture
[11] Rodrigo Roman, Pablo Najera, and Javier Lopez, Securing the Internet
of Things, IEEE Computer, vol. 44, no. 9, pp. 51-58, September 2011
[12] Lioudakis, G.,V at all, “A proxy for privacy: the discreet box”, in:
EUROCON 2007, Poland, 2007.
[13] Project Hydra. [Online] http://www.hydramiddleware.eu/news.php.
Figure 5. Medical devices used [14] Hoffmann M. at al., “Trust and Privacy supported by Context-Aware
Middleware”, in: 18th WWRF Meeting, Finland, 2007.
All the internet communications use the XMPP protocol [15] University of Jyväskylä, FINLAND. UBIWARE. [Online]
and its security features. Instead, in other systems, like the http://www.cs.jyu.fi/ai/OntoGroup/UBIWARE_details.htm.
monitoring of the patients of a nursing home, is possible to [16] Terziyan, V., Kaykova, O., Zhovtobryukh, D., “UbiRoad: Semantic
“isolate” the instance, making data available only inside the Middleware for Context-Aware Smart Road Environments”, in: ICIW
private network of the structure, with higher levels of security naFifth International Conference, 2010.
and privacy. [17] Parlanti, D., Paganelli, F., Giuli, D., Longo, A., “A Scalable Grid and
Service-Oriented Middleware for Distributed Heterogeneous Data and
System Integration in Context-Awareness-Oriented Domains”, The
V. CONCLUSION Internet of Things - part 2. 2010.
The paper has presented VIRTUS, a middleware solution [18] SOCRADES Project.[Online] http://www.socrades.eu.
for management of applications in Internet of Things [19] Carnagie Mellon University. Sensor Andrew. [Online]
http://www.ices.cmu.edu/censcir/sensor-andrew.
environments adopting open standards such as XMPP and
[20] SMEPP. [Online] http://www.nics.uma.es/projects/smepp.
OSGi. The use of the “publish & subscribe” paradigm and the
native XMPP security features (instead of other typical [21] Mark Collier, 2005, “Basic Vulnerability Issues for SIP Security”
middleware approach, based on SOAP-WS mechanisms and [22] Java Message Service, [Online]
http://www.oracle.com/technetwork/java/jms.
custom security capabilities), simplify the IoT deployment.
[23] Mäkeläinen, S., I., Michael, M., P., “Instant Messaging and Presence-
Furthermore, the possibility to totally isolate a VIRTUS seminar”, OMA IMPS, Helsinki, 2005
instance adds another built-in network security level. The
[24] Knopflerfish Project, [Online] http://www.knopflerfish.org/.
VIRTUS development has been inspired by previous research
[25] XMPP Extenstions, [Online] http://xmpp.org/xmpp-protocols/xmpp-
works ([36], [37]); it has been already employed in a number of extensions.
practical application scenarios [38] and is objective of current [26] Ignite Realtime. Openfire Project. [Online]
national (see section IV) and international research project [39]. http://www.igniterealtime.org/projects/openfire.
Ongoing activities are covering integration with other [27] XMPP for Contiki. [Online] freaklabs.org/index.php/Blog/News/XMPP-
platforms (e.g.: ICE [40]), while future research will be focused for-Contiki.html
on reasoning and filtering features, objects’ discovery and [28] Hurwitz, J., “Sorting Out Middleware”, DBMS magazine 11.1, 1998
semantic addressing. [29] Saint-Andre, P., Ed., “Extensible Messaging and Presence Protocol
(XMPP): Instant Messaging and Presence,” [RFC3920-3921], 2004.
REFERENCES [30] Dierks, T., Allen, C., Treese, W., Karlton, P., Freier, A., and P. Kocher,
“The TLS Protocol Version 1.0”, [RFC 2246], January 1999.
[1] Vermesan, O., Friess, P., Guillemin, P., Gusmeroli, S., Sundmaeker, H.,
[31] Newman, C., “Using TLS with IMAP, POP3 and ACAP”, [RFC 2595],
Bassi, A., Jubert, I., S., Mazura, M., Harrison, M., Eisenhauer,M.,
June 1999.
Doody, P., “Internet of Things Strategic Research Roadmap. s.l.”,
European Commission, 2009. [32] Melnikov, A. and Zeilenga, K., “Simple Authentication and Security
Layer (SASL)”, [RFC 4422], June 2006
[2] Cooperating Objects NoE. “Research Roadmap on Cooperating
Objects”, Bruxelles, European Commission, 2009. [33] Myers, J., “Simple Authentication and Security Layer (SASL),” [RFC
2222], October 1997
[3] Fabian, B., Gunther, O., “Distributed ONS and its Impact on Privacy”, in
ICC 2007 proceedings, Scotland, 2007. [34] The Reply Research and Development centre for the Internet of Things, ,
[Online] http://www.reply.it/en/practices/iot/.
[4] XMPP Standards Foundation. XMPP. [Online] http://xmpp.org/.
[35] Ignite Realtime. Openfire Scalability [online]
[5] OSGi Alliance. OSGi main. [Online] http://www.osgi.org
http://www.igniterealtime.org/about/OpenfireScalability.pdf
[6] Atzori, L., Iera, A., B., Morabito, G., “The Internet of Things: A survey
[36] Pastrone,C., Spirito, A., M., Tomasi, R., Rizzo, F., “A Jabber-Based
Computer Networks”, in: The International Journal of Computer and
Management Framework for Heterogeneous Sensor”, in: International
Telecommunications Networking. Volume 54 Issue 15, October, 2010.
Journal of Software Engineering and Its Applications, July, 2008.
[7] Eschenauer, L., Gligor, V., D., “A key-management scheme for
[37] Forno, F., Sciarappa, A., “RFID in the Internet of Things: from Static to
distributed sensor networks”, in: Proceedings of the Ninth ACM
the Real-Time”, in: RFIDDays 08 Proceedings. s.l., 2008.
Conference on Computer and Communications Security, USA, 2002.
[38] Brizzi, P., Lotito, A., Ferrera, E.,, Conzon, D., Tomasi, R., Spirito, A.,
[8] R. Acharya, K. Asha, Data integrity and intrusion detection in wireless
M., “Enhancing traceability and industrial process automation through
sensor networks, in: Proceedings of IEEE ICON 2008, New Delhi, India,
the VIRTUS middleware”, Middleware ‘11, Portugal, 2011.
December 2008.
[39] The PigWise Project, [Online] www.pigwise.eu.
[9] O. Garcia-Morchon et al., “Security Considerations in the IP-Based
Internet of Things,” IETF, Mar. 2011. [40] ICE, Internet Communications Engine, [Online] http://www.zeroc.com
[10] S. Raza, T. Voigt, and U. Roedig, “6LoWPAN Extension for IPsec,” [41] Badii, A., “Future Internet Architectural Layers to Support Secure
Proc. Workshop Interconnecting Smart Objects with the Internet, Pervasive Technologies”, in: proceedings of IoT2010, Japan, 2010
Internet Architecture Board, Mar. 2011. [42] SHA-3 competition, [Online] csrc.nist.gov/groups/ST/hash/sha-3

Das könnte Ihnen auch gefallen