Fog computing is an emerging paradigm in the Internet of Things (IoT) space, consisting of a middle computation layer, sitting between IoT devices and Cloud servers. Fog computing provides additional computing, storage, and networking resources in close proximity to where data is being generated and/or consumed. As the Fog layer has direct access to data streams generated by IoT devices and responses/commands sent from the Cloud, it is in a critical position in terms of security of the entire IoT system. Currently, there is no specific tool or methodology for analysing the security of Fog computing systems in a comprehensive way.Generic security evaluation procedures applicable to most information technology products are time consuming, costly, and badly suited to the Fog context. In this article, we introduce a methodology for evaluating the security of Fog computing systems in a systematic way. We also apply our methodology to a generic Fog computing system, showcasing how it can be purposefully used by security analysts and system designers.
K E Y W O R D Sattack, common criteria, fog computing, methodology, security
INTRODUCTIONFog computing is an emerging technology which enriches Cloud computing with additional compute, storage and networking resources in close proximity with the end-user devices which generate and/or consume data streams. 1 With the development of Internet of Things (IoT) systems and applications, increasing volumes of data are being produced by IoT devices at the edges of the network. In this situation, it is often not feasible to send all IoT data to a remote Cloud data center and expect acceptable Quality of Service, especially for applications with low-latency requirements such as augmented reality, industrial control systems, and video streaming. Moreover, many applications such as quantified self which use wearable sensors to monitor individuals life often deal with sensitive personal data. In solely Cloud-based approaches for these applications, all these sensitive data would be sent to the Cloud for processing, leaving the user with little control over the usage of their data.An IoT system architecture with support of Fog computing comprises at least the following three layers: 2 (a) An IoT device layer (comprising the actual sensors and actuators); (b) A Fog computing layer located very close to the IoT devices; and (c) A Cloud computing layer.Fog computing therefore acts as a middle layer, sitting between the Cloud and the IoT devices. Depending on the application, some parts of the computation may be delegated to the Fog layer, which prevents one from having to send Softw: Pract Exper. 2020;50:973-997. wileyonlinelibrary.com/journal/spe © 2020 John Wiley & Sons, Ltd. 973 974 FARHADI et al.raw data to the Cloud. As Fog computing servers process local data locally, we also expect a lower usage of long-distance network bandwidth as well as reduced response times. Also, the user data are now processed by computing elements which are geographically close to where data is generated, l...