Migrating IoT application specific data into the Cloud
offers great convenience, such as reduction of cost and complexity
related to direct hardware management. Accordingly,
the complex scenario of CloudIoT includes many aspects
related to several heterogeneous topics, each of them imposing
challenges when requiring specific capabilities to be
satisfied. For instance, the following capabilities are required
to guarantee trusted and efficient services: security, privacy,
reliability, availability, portability, and semantic interoperability
[19], [30]. When critical IoT applications move towards
the Cloud, new concerns arise due to the lack of some
essential properties: trust in the service provider, knowledge
about service level agreements (SLAs), and knowledge about
the physical location of the data storage. Accordingly, new
challenges require specific attention [19]: the distributed nature
of the system exposes several significant attacks (e.g., session
riding, SQL injection, cross site scripting, and side-channel)
and vulnerabilities (e.g., session hijacking and virtual machine
escape); multi-tenancy could compromise security and may
lead to sensitive information leakage; public key cryptography
cannot be applied at all layers due to the computing power
constraints imposed by the things. As summarized in Table II,
in the following we report how providing certain capabilities
has proved challenging in the recent literature when addressing
several main topics pertaining to CloudIoT.