The Internet of Things (IoT) redefines the way how commodity and industrial tasks are performed every day. The integration of sensors, lightweight computation, and the proliferation of different wireless technologies on IoT platforms enable human beings to easily interact with their surrounding physical world thoroughly. With the recent rise of IoT, several different IoT platforms have been introduced for researchers and developers to ease the management and control of various IoT devices. In general, the IoT platforms act as a bridge between core IoT functionalities and users by providing APIs. Due to their wide variety of applications, IoT platforms are mostly unique in their architectures and designs. Thus, IoT administrators, developers, and researchers (i.e., IoT users) are challenged with substantial configuration differences in the proper configuration, implementation, and protection of the IoT solutions. In this survey, we conduct an in-depth analysis of popular IoT platforms from different application domains. More specifically, we define a comprehensive evaluation framework that considers seven different technical comparison criteria: (1) topology design, (2) programming languages, (3) third-party support, (4) extended protocol support, (5) event handling, (6) security, and (7) privacy. Then, we use the framework to evaluate the different IoT platforms highlighting their distinguishing attributes on communications, security, and privacy. First, we describe the communication protocols supported by the different IoT platforms surveyed. Then, rather than uncovering novel threats affecting IoT, we aim to analyze how the different IoT platforms handle security and privacy vulnerabilities affecting the most common security services of confidentiality, integrity, availability, and access control. Further, we present possible solutions that these platforms could implement to strengthen security and privacy within the IoT solution. Finally, we discuss the advantages and disadvantages of every IoT platform, so IoT administrators, developers, and researchers (i.e., IoT users) can make an informed decision on the use of specific platforms to implement their IoT solutions. To the best of our knowledge, this is the first comprehensive survey to evaluate different IoT platforms using the criteria defined in this work.
All Science Journal Classification (ASJC) codes
- Computer Networks and Communications