Abstract
1- Introduction
2- Background
3- Related work
4- IoT Frameworks
5- Discussion
6- Conclusion
Acknowledgment
Appendix A. Supplementary materials
References
Abstract
The Internet of Things (IoT) is heavily affecting our daily lives in many domains, ranging from tiny wearable devices to large industrial systems. Consequently, a wide variety of IoT applications have been developed and deployed using different IoT frameworks. An IoT framework is a set of guiding rules, protocols, and standards which simplify the implementation of IoT applications. The success of these applications mainly depends on the ecosystem characteristics of the IoT framework, with the emphasis on the security mechanisms employed in it, where issues related to security and privacy are pivotal. In this paper, we survey the security of the main IoT frameworks, a total of 8 frameworks are considered. For each framework, we clarify the proposed architecture, the essentials of developing third-party smart apps, the compatible hardware, and the security features. Comparing security architectures shows that the same standards used for securing communications, whereas different methodologies followed for providing other security properties.
Introduction
The Internet of Things (IoT) plays a remarkable role in all aspects of our daily lives. It covers many fields including healthcare, automobiles, entertainments, industrial appliances, sports, homes, etc. The pervasiveness of IoT eases some everyday activities, enriches the way people interact with the environment and surroundings, and augments our social interactions with other people and objects. This holistic vision, however, raises also some concerns, like which level of security the IoT could provide? and how it offers and protects the privacy of its users? Developing applications for the IoT could be a challenging task due to several reasons; (i) the high complexity of distributed computing, (ii) the lack of general guidelines or frameworks that handle low level communication and simplify high level implementation, (iii) multiple programming languages, and (iv) various communication protocols. It involves developers to manage the infrastructure and handle both software and hardware layers along with preserving all functional and non-functional software requirements. This complexity has led to a quick evolution in terms of introducing IoT programming frameworks that handle the aforementioned challenges.