Internet of Things: A Survey On The Security of Iot Frameworks
Internet of Things: A Survey On The Security of Iot Frameworks
Internet of Things: A Survey On The Security of Iot Frameworks
net/publication/322864555
CITATIONS READS
341 7,732
3 authors:
Bruno Crispo
Università degli Studi di Trento and KU Leuven
266 PUBLICATIONS 4,761 CITATIONS
SEE PROFILE
Some of the authors of this publication are also working on these related projects:
All content following this page was uploaded by Mahmoud Ammar on 05 November 2018.
a r t i c l e i n f o a b s t r a c t
Article history: The Internet of Things (IoT) is heavily affecting our daily lives in many domains, ranging from tiny wear-
able devices to large industrial systems. Consequently, a wide variety of IoT applications have been devel-
Keywords: oped and deployed using different IoT frameworks. An IoT framework is a set of guiding rules, protocols,
Internet of Things and standards which simplify the implementation of IoT applications. The success of these applications
IoT mainly depends on the ecosystem characteristics of the IoT framework, with the emphasis on the security
Framework mechanisms employed in it, where issues related to security and privacy are pivotal. In this paper, we sur-
Platform vey the security of the main IoT frameworks, a total of 8 frameworks are considered. For each framework,
Security we clarify the proposed architecture, the essentials of developing third-party smart apps, the compati-
ble 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.
© 2017 Elsevier Ltd. All rights reserved.
∗
Corresponding author.
E-mail addresses: [email protected] (M. Ammar),
1
[email protected] (G. Russello), [email protected] (B. Crispo). In this paper, the terms Framework and Platform are used interchangeably.
https://doi.org/10.1016/j.jisa.2017.11.002
2214-2126/© 2017 Elsevier Ltd. All rights reserved.
M. Ammar et al. / Journal of Information Security and Applications 38 (2018) 8–27 9
2. Background
3. Related work
2 3
Using Device Shadows as discussed later in the Architecture. This example has been taken from the online Amazon tutorials.
M. Ammar et al. / Journal of Information Security and Applications 38 (2018) 8–27 11
not have enough capacity to run secured HTTP sessions, they send
their data to the field gateway to aggregate, store, and forward it
securely to Azure IoT Hub.
The IoT solution backend layer represents a wide range of Azure
cloud services [57] (e.g. Azure Machine Learning, Azure Stream An-
alytics, etc.).
The top layer of Azure IoT architecture is the presentation layer.
Users are free to visualize their data as they want. Microsoft pro-
vides the Business Intelligence (BI) service to present data in an
effective and attractive way [58].
12
For the difference between MPU and MCU devices, please refer to refer-
11
Google Weave is totally different from NEST WEAVE protocol. ence [70].
M. Ammar et al. / Journal of Information Security and Applications 38 (2018) 8–27 17
not required and either IP (LAN, WiFi) or BLE is used as a transport to be uniquely identified and each one should points to its own
protocol. data. Everything in a home must have a unique name as well. Nar-
Since HomeKit speaks HAP, the backbone of the architecture is rowing the scope, the instance of the Room class lets users to add
the HAP layer. HAP is proprietary protocol mapped over HTTPs the number of rooms they have inside their homes. From a pro-
with discovery leveraging the Bonjour architecture16 [82]. JSON for- gramming point of view, each room is an array of accessories. Each
mat is used in HAP for exchanging messages between iOS apps and input of this array belongs to an instance of the Accessory class.
HomeKit compliant devices. An accessory corresponds to the physical IoT device. Accessories
The HomeKit API layer is responsible for providing interfaces to are assigned and distributed between rooms. The instance of the
third party developers to simplify the development of smart appli- accessory object allows users to access the device state. Also, ac-
cations and hide the complexity of the underlying layers. cessories have to be uniquely named within a home. Names of ac-
The application layer resides at the top of the architecture. It cessories can be recognized by Siri service too. An accessory is the
is responsible for providing a consistent user interface to all Apple whole object that the a user is referring to. So, an accessory has a
devices sharing the same account, by synchronizing the stored data pointer back to the room where it is located, and it has a pointer to
in the shared database using iCloud [83]. the array of services that represents its functionality. An accessory
With tvOS 10 [84], Apple extended the capabilities on the Ap- at any point of time may be reachable or not depending on the
ple TV and HomeKit by bringing the HomeKit framework to the state of connectivity. This should be reflected in the smart applica-
tvOS. Interestingly, Apple TV is able to run all home automations tion by maintaining the callback handler available to developers in
that users have set up inside their homes. Therefore, wherever the API [85].
users are, if they have an Internet connection, they can access their Services represent the functionality of accessories. A service is
home accessories remotely. In other words, Apple TV acts as a hub described as a collection of characteristics. Characteristics are spe-
or a gateway for home automations. cific parameters that the user could interact with. Not all of ser-
Apple TV also supports features for providing additional con- vices have names. The anonymous services are operational ones
trols to shared users. This enables the possibility of any user to and not designed for user interaction (e.g. a firmware update ser-
share the control of accessories with others, by inviting them us- vice). Named services should be unique and exposed within the
ing their Apple Id. It is also possible to grant administrative access user interface. An example of such services are the light bulb
to shared users. Shared users with an administrative access can and door bell. HomeKit does not only recognize names of services,
change the configurations in the home. They can add or remove but also takes into account Apple-defined service types. Therefore,
accessories as necessary. Also, they, in turn, can invite additional users can refer to the service by its name or type when using Siri
users to the home and let them control home accessories. Another to detect it. The Service class contains the name of the service,
possibility is controlling remote access per user. Using this func- an array of characteristics, service type, and a pointer back to the
tionality, the admin user can grant or deny remote access capabil- accessory. Characteristics provide some information and metadata
ities to the other shared users. about the state of the physical device. The characteristics can be of
a few varieties: Read-only, Read-write, or Write-only. A good ex-
4.6.2. Smart application specifications ample is the thermostat device, where users want to read its tem-
An important part of the HomeKit ecosystem is the Home appli- perature degree without writing privileges. This implies that the
cation. It is an Apple-designed app for HomeKit platform. It sets up characteristics of this service should be Read-only [85].
home accessories as well as controls their common functions. HomeKit objects are stored in a database residing in the user’ s
The Home app provides a very simple interface for users to set iOS device, which is synchronized over the iCloud to other involved
up, control, and configure accessories inside the home. The Home iOS devices. This common database contains all information about
app is supported in all iOS devices and in the Apple watch. Using homes and accessories that have been configured by users. It is
its user interface, the user can add a number of homes and de- available to all user’ s applications in a consistent way [85].
fine number of rooms in each home. Then, he start setting up and
detecting accessories in each room.
Due to the integration with Apple system, HomeKit allows users 4.6.3. Hardware specifications
to access their accessories when they are not at home. This re- HomeKit framework is compatible only with HomeKit-enabled
mote access enabled through iOS device connectivity, in which the devices. Thus, HomeKit supports all third-party hardware acces-
Apple TV acts as a gateway and intermediate layer between home- sories that use Apple’ s MFi licensed technology [86] to connect
connected accessories and Internet-connected Home app or even electronically to the iPhone, iPad, iPod or Apple Watch. By us-
third party apps. ing Apple’ s MFi license, Apple ensures that the produced hard-
Additionally, developers can implement iOS-based mobile ap- ware meets all key requirements and technical specifications of the
plications and bring their apps to the foreground by utilizing the HomeKit framework in terms of the supported communication pro-
HomeKit API provided by Apple [85]. Using this API, developers tocols, physical security, etc.
can implement their applications by creating instances of a lim- As stated earlier, in order to connect an accessory, that is not
ited number of classes, delegating them to their apps and then MFi-certified, to the HomeKit framework, A HomeKit bridge must
customizing them according to the requirements. The architecture be used to find a common language between the heterogeneous
of HomeKit API is hierarchical. The entry point is the Home Man- transport protocols. The bridge supports only ZigBee and Z-Wave
ager class which provides pointers to a common database shared protocols from the input side of the accessory.
among all user’ s homes and maintains their data. Being shared, From a low level point of view, HomeKit supports a wide range
such database ensures consistency between all authorized applica- of embedded microcontrollers including low-power, low-cost 32
tions in various devices. The Home Manager acts as a container of bit MCUs. Both ARM and MIPS architectures are supported. Gener-
multiple homes and lets the user to label the primary one. Also, it ally, the memory is the most critical resource in microcontrollers.
lets the user to add or remove homes as necessary. Each home has However, for HomeKit, there is no minimum requirements for the
size of memory since it mainly depends on the specific goal of the
16
Bonjour is Apple framework for networking purposes. It implements a number
MCU and the size of the code loaded.
of functionalities including: service discovery, address assignment, and hostname For users, HomeKit-enabled accessories can be controlled and
resolution. managed only by Apple smart devices such as iPhones and iPads.
20 M. Ammar et al. / Journal of Information Security and Applications 38 (2018) 8–27
vices and APIs in order to support the integration with third party
applications.
The SmartThings cloud backend has two important functionality.
First, it hosts and run SmartApps in a closed source environment.
Second, it runs the virtual software image of the physical Smart-
Device. In other words, it provides the abstraction and intelligence
layers as well as web services that support the application layer.
Table 1
Examples of capabilities in SmartThings.
name, is composed of a set of commands and their associ- protocol. For access control, they behave a little bit differently;
ated attributes. Commands are methods or functions to perform some of them implements sandboxing techniques and some oth-
some actions on the SmartDevice, whereas attributes are input ers propose their own models (e.g. capability model in SmartThings,
parameters representing the state of the device. Table 1 pro- configuration files in Calvin, etc.). Various cryptography primitives
vides some examples of some capabilities in the SmartThings and cipher suites are supported by each framework depending on
platform. As a consequence of applying this model, installing the availability of either supported software libraries or hardware
a battery-monitoring SmartApp will be authorized to use the modules. Techniques used to perform the mutual authentication
capability of battery and prevented from accessing other re- between the involved parties in each framework are limited to the
sources or capabilities supported by the SmartDevice. coverage domain and the capabilities of communication protocols.
All SmartApps are executed by the SmartThings ecosystem. This Theoretically, the presented security architectures seem to be ro-
means that these apps run either in the closed-source cloud or bust and immune against potential threats. However, design flaws
on the SmartThings hub. The SmartThings infrastructure environ- still exposes users to significant security risks if good practices
ment applies Kohsuke sandboxing technique [108] and isolates in both design and implementation are not followed. Fernandes
both SmartApps and SmartDevices (Device Handler instances) et al. [109] constructed four proof-of-concept attacks by exploit-
from each other [109]. In the sense of providing a highly con- ing two design flaws in SmartThings framework. On the other hand,
trolled environment by Groovy, Kohsuke sandbox is an efficient some security challenges are still not handled by the majority of
implementation that isolates untrusted running pieces of code IoT frameworks. The vast majority of IoT devices depend on the
and allows only method calls that are predefined in a white list, commercial of the shelf (COTS) microcontrollers, and these devices
stored in the restricted operating system. Developers can not are deployed without hardware security support. However, the de-
create their own classes or load external libraries in such envi- sign of the security models of the current frameworks does not
ronment and once they publish a SmartApp or a SmartDevice, consider these devices. Encryption techniques need higher com-
a private isolated data store is assigned. puting power than what the simplest type of IoT devices can pro-
• Secure communication: The SmartThings Hub is a security- vide. Some frameworks (e.g. HomeKit) create and inject the se-
enabled Z-Wave product. When a security-enabled Z-Wave de- cret key of the IoT device prior deployment to be used for the
vice is added to the Hub’s network, communication will be whole lifetime of the device. This key can’t be changed after de-
encrypted using 128-bit AES. As the hub also supports the ployment. This increases the overall on-boarding time and threat-
ZigBee protocol, it provides the same security guarantees for ens the privacy as, generally, IoT entities may not be owned by a
ZigBee-enabled products. In general, communications between single user (e.g. selling or exchanging this device between multiple
all building blocks of the SmartThings ecosystem is performed users). Moreover, the embedded device may outlive the encryption
over a SSL/TLS protocol. algorithm lifetime, causing a cavity in the security architecture. For
example, smart meters could last beyond 40 years, whereas crypto
algorithms have a limited lifetime before they are broken. There-
5. Discussion
fore, they need to be updated frequently. Physical protection is still
another security challenge couldn’t be handled easily in IoT frame-
The IoT is where the Internet meets the physical world, in
works. Deployed IoT devices can be stolen or moved from their lo-
which, a completely new dimensions to security should be inves-
cations. This requires a physical protection of the IoT device to se-
tigated as the attack threat moves from manipulating information
cure sensitive information in its memory. Addressing the privacy of
to controlling actuations. The frameworks, included in this survey,
the outlined frameworks was challenging due to the lack of infor-
approach IoT from the perspectives and priorities of their vendors.
mation in some of them. Privacy should be ensured in all levels of
At the hardware level, there is a gap between these frameworks
the architectures. SDKs offered to third party developers to imple-
in terms of compatibility. This issue is due to the requirements
ment their IoT apps should preserve privacy in terms of preventing
and dependencies of the other components of the ecosystem of
generating traceable signatures of the location and behavior of the
each framework (e.g. OS, security requirements). For example, IETF
individuals by applications. Finally, the flexibility of the security
Class-1 IoT devices can be integrated with AWS IoT framework, and
framework is a requirement. For example, If a cloud server is un-
they are not supported in Brillo/Weave because they do not have
dergoing a Denial of Service (DoS) attack, the secure availability of
sufficient memory to allocate the operating system. HomeKit con-
data for end-users should be verified by outsourcing it from a sec-
nects only to IoT devices that meet the minimum level of secu-
ondary server. For a critical industrial processes that rely on time,
rity by supporting Apple’ s MFi licensed technology. At the soft-
the availability of data is of paramount importance. This feature is
ware level, some frameworks support any programming language
not ensured by frameworks such as Kura as it is M2M framework
for apps development (e.g. AWS IoT), whereas some others are
and does not offer its own cloud system. The user of Kura has to
limited to specific programming languages (e.g. SmartThings sup-
handle it himself by choosing a cloud server that meet this prop-
ports only Groovy). At the security level, each framework encapsu-
erty.
lates its own security logic and applies the model that implements
Table 2 presents a comparison of the characteristics of each IoT
this logic. However, they follow the same trend and enforce the
framework.
same security standards in some aspects. For example, for secur-
ing communications between IoT elements, they all use SSL/TLS
24
Table 2
A brief summary of the characteristics of IoT frameworks.
IoT Framework SmartThings AWS IoT Calvin Brillo/Weave Kura ARM Mbed HomeKit Azure IoT
Company Samsung Amazon Ericsson Google Eclipse ARM Apple Microsoft
Architecture + Cloud Backend + Cloud services + Actors: smart + physical devices Java/OSGi based. + Mbed OS + + Home Conf. + Cloud backend
Components + Smart + Smart devices embedded with Mbed device D.B. + HAP + + Cloud
Devices + + Device devices, smart Brillo/Android Connector + HomeKit API + Services +
SmartThings Gateway + phones, cloud, as OS + OTA mbed Cloud + HomeKit- Cloud Gateway
Hub + Rules Engine + servers. + Flow servers + Cloud mbed Client + enabled + Smart
SmartThings Registry Unit + based Services ARM Cortex-M devices Devices
Home App. Device Shadow computing MCU
Programming Groovy Any language can + CalvinScript + Any Java + C++ for device + Swift + + C + Node.js +
Language use Restful API Python + others programming side + multiple Objective-C Java + Python +
language can for user side .Net
6. Conclusion [21] Fremantle P, Scott P. A survey of secure middleware for the internet of things.
Peer J Comput Sci 2017;3:e114.
[22] Amazon. Aws iot framework. https://aws.amazon.com/iot. Online; accessed:
The IoT market is growing rapidly and as a consequence the at- April 2017.
tention has shifted from proposing single IoT elements and pro- [23] Amazon. Amazon dynamodb. https://aws.amazon.com/dynamodb. Online; ac-
tocols towards application platforms in order to identify frame- cessed: April 2017.
[24] Amazon. Amazon s3. https://aws.amazon.com/s3. Online; accessed: April
works supporting the standard IoT suites of regulations and pro- 2017.
tocols. This study has covered a subset of commercially available [25] Amazon. Amazon machine learning. https://aws.amazon.com/
frameworks and platforms for developing industrial and consumer machine-learning. Online; accessed: April 2017.
[26] Amazon. Components of aws iot framework. https://aws.amazon.com/iot/
based IoT applications. The selected frameworks have the same de-
how- it- works/. Online; accessed: April 2017.
sign philosophy in terms of identifying cloud-based applications by [27] Hunkeler U, Truong HL, Stanford-Clark A. Mqtt-sa publish/subscribe protocol
centralizing distributed data sources. However, they followed var- for wireless sensor networks. In: Communication systems software and mid-
dleware and workshops, 2008. comsware 2008. 3rd international conference
ious approaches in order to apply this philosophy. A comparative
on. IEEE; 2008. p. 791–8.
analysis of the frameworks was conducted based on the architec- [28] Dierks T., Rescorla E. The transport layer security (tls) protocol version 1.2.
ture, hardware compatibility, software requirements, and security. https://www.ietf.org/rfc/rfc5246.txt. Online; accessed: April 2017.
We highlighted on the security measures of each framework as [29] Amazon. Amazon iot protocols. http://docs.aws.amazon.com/iot/latest/
developerguide/protocols.html. Online; accessed: April 2017.
verifying the various security features and immunity against at- [30] Amazon. Amazon lambda. https://aws.amazon.com/lambda. Online; accessed:
tacks is one of the most important contemporary issues facing the April 2017.
Internet of Things. [31] Amazon. Amazon management console. https://aws.amazon.com/console. On-
line; accessed: April 2017.
[32] Amazon. Amazon kinesis. https://aws.amazon.com/kinesis. Online; accessed:
Acknowledgment April 2017.
[33] Amazon. Amazon command line interface. https://aws.amazon.com/cli. On-
This research is supported by the research fund of KU Leuven line; accessed: April 2017.
[34] Cooper D. Internet x.509 public key infrastructure certificate and certifi-
and iMec, a research institute founded by the Flemish government. cate revocation list (crl) profile. https://tools.ietf.org/html/rfc5280. Online; ac-
cessed: April 2017.
Supplementary material [35] Amazon. Iam users, groups, and roles. http://docs.aws.amazon.com/iot/latest/
developerguide/iam- users- groups- roles.html. Online; accessed: April 2017.
[36] Amazon. Amazon cognito identities. http://docs.aws.amazon.com/iot/latest/
Supplementary material associated with this article can be developerguide/cognito-identities.html. Online; accessed: April 2017.
found, in the online version, at 10.1016/j.jisa.2017.11.002 [37] Amazon. X.509 certificates. http://docs.aws.amazon.com/iot/latest/
developerguide/x509-certs.html. Online; accessed: April 2017.
References [38] Amazon. Aws identity and access management (iam). https://aws.amazon.
com/iam/. Online; accessed: April 2017.
[1] Singh D, Tripathi G, Jara AJ. A survey of internet-of-things: Future vision, ar- [39] Amazon. Amazon cognito. https://aws.amazon.com/cognito/. Online; ac-
chitecture, challenges and services. In: Internet of things (WF-IoT), 2014 IEEE cessed: April 2017.
world forum on. IEEE; 2014. p. 287–92. [40] Amazon. Signature version 4 signing process. http://docs.aws.amazon.com/
[2] Derhamy H, Eliasson J, Delsing J, Priller P. A survey of commercial frame- general/latest/gr/signature-version-4.html. Online; accessed: April 2017.
works for the internet of things. In: 2015 IEEE 20th conference on emerging [41] Amazon. Aws authorization. http://docs.aws.amazon.com/iot/latest/
technologies & factory automation (ETFA). IEEE; 2015. p. 1–8. developerguide/authorization.html. Online; accessed: April 2017.
[3] Khan R, Khan SU, Zaheer R, Khan S. Future internet: the internet of things [42] ARM. Arm mbed iot device platform. http://www.arm.com/products/
architecture, possible applications and key challenges. In: Frontiers of infor- iot-solutions/mbed-iot-device-platform. Online; accessed: April 2017.
mation technology (FIT), 2012 10th international conference on. IEEE; 2012. [43] ARM. mbed device connector. https://www.mbed.com/en/platform/cloud/
p. 257–60. mbed- device- connector- service/. Online; accessed: April 2017.
[4] Specification Z. Zigbee alliance. URL: http://www.zigbee.org 2006; 558. [44] ARM. mbed os. https://www.mbed.com/en/platform/mbed-os/. Online; ac-
[5] Z-Wave. Z-wave public specification. http://z-wave.sigmadesigns.com/ cessed: April 2017.
design- z- wave/z-wave- public- specification/, Online; accessed: April 2017. [45] mbed A. mbed client. https://www.mbed.com/en/platform/mbed-client/. On-
[6] Gomez C, Oller J, Paradells J. Overview and evaluation of bluetooth line; accessed: April 2017.
low energy: an emerging low-power wireless technology. Sensors [46] mbed A. mbed device connector. https://docs.mbed.com/docs/
2012;12(9):11734–53. getting- started- with- mbed- device- connector/en/latest/Connector-intro/.
[7] Ghosh A, Ratasuk R, Mondal B, Mangalvedhe N, Thomas T. Lte-advanced: Online; accessed: April 2017.
next-generation wireless broadband technology [invited paper]. IEEE Wireless [47] mbed A. mbed cloud. https://cloud.mbed.com/. Online; accessed: April 2017.
Commun 2010;17(3):10–22. [48] mbed A. mbed documentation. https://docs.mbed.com/. Online; accessed:
[8] Rescorla E. Http over tls 20 0 0. April 2017.
[9] Shelby Z, Hartke K, Bormann C. The constrained application protocol (coap). [49] mbed A. mbed security. https://www.mbed.com/en/technologies/security/.
Tech. Rep.; 2014. Online; accessed: April 2017.
[10] Locke D. Mq telemetry transport (mqtt) v3.1 protocol specification. http:// [50] mbed A. mbed uvisor. https://www.mbed.com/en/technologies/security/
www.ibm.com/developerworks/webservices/library/ws-mqtt/index.html On- uvisor/. Online; accessed: April 2017.
line; accessed: April 2017. [51] mbed A. mbed tls. https://tls.mbed.org/core-features. Online; accessed: April
[11] Saint-Andre P. Extensible messaging and presence protocol (xmpp): 2017.
Core2011;. [52] Microsoft. Tap into the internet of your things with azure iot suite. https://
[12] Vinoski S. Advanced message queuing protocol. IEEE Internet Comput www.microsoft.com/en- us/cloud- platform/internet- of- things- azure- iot- suite.
2006;10(6):87. Online; accessed: April 2017.
[13] Group O.M. Data distribution service v1.2. http://www.omg.org/spec/DDS/1.2/. [53] Azure M. Microsoft azure iot reference architecture. https://azure.microsoft.
Online; accessed: April 2017. com/en- us/updates/microsoft- azure- iot- reference- architecture- available/.
[14] Al-Fuqaha A, Guizani M, Mohammadi M, Aledhari M, Ayyash M. Internet of Online; accessed: April 2017.
things: a survey on enabling technologies, protocols, and applications. IEEE [54] Azure M. Azure iot hub. https://azure.microsoft.com/en- us/services/iot- hub/.
Commun Surveys Tutorials 2015;17(4):2347–76. Online; accessed: April 2017.
[15] Sheng Z, Yang S, Yu Y, Vasilakos AV, McCann JA, Leung KK. A survey on the [55] Azure M. Communication protocols. https://azure.microsoft.
ietf protocol suite for the internet of things: standards, challenges, and op- com/en- us/documentation/articles/iot- hub- devguide- messaging/
portunities. IEEE Wireless Commun 2013;20(6):91–8. #communication-protocols. Online; accessed: April 2017.
[16] Yang Y, Wu L, Yin G, Li L, Zhao H. A survey on security and privacy issues in [56] Azure M. Azure iot protocol gateway. https://azure.microsoft.com/en-us/
internet-of-things. IEEE Internet Things J 2017. documentation/articles/iot- hub- protocol-gateway/. Online; accessed: April
[17] Kumar JS, Patel DR. A survey on internet of things: security and privacy is- 2017.
sues. Int J Comput Appl 2014;90(11). [57] Azure M. Azure products. https://azure.microsoft.com/services/. Online; ac-
[18] Vikas B. Internet of things (iot): A survey on privacy issues and security 2015. cessed: April 2017.
[19] Borgohain T., Kumar U., Sanyal S. Survey of security and privacy issues of in- [58] Microsoft. Power bi. https://powerbi.microsoft.com. Online; accessed: April
ternet of things. arXiv:150102211 2015. 2017.
[20] Bouij-Pasquier I, El Kalam AA, Ouahman AA, De Montfort M. A security frame- [59] Azure M. Azore iot sdks. https://github.com/Azure/azure- iot- sdks. Online; ac-
work for internet of things. In: International conference on cryptology and cessed: April 2017.
network security. Springer; 2015. p. 19–31.
26 M. Ammar et al. / Journal of Information Security and Applications 38 (2018) 8–27
[60] Microsoft. Security development lifecycle. https://www.microsoft.com/en-us/ [86] Apple. Mfi program. https://developer.apple.com/programs/mfi/. Online; ac-
sdl/default.aspx. Online; accessed: April 2017. cessed: April 2017.
[61] Microsoft. Operational security assurance. https://www.microsoft.com/en-us/ [87] Apple. ios security. http://www.apple.com/business/docs/iOS_Security_Guide.
SDL/OperationalSecurityAssurance. Online; accessed: April 2017. pdf. Online; accessed: April 2017.
[62] Azure M. Internet of things security from the ground up. https://azure. [88] Bernstein DJ, Duif N, Lange T, Schwabe P, Yang B-Y. High-speed high-security
microsoft.com/en- us/documentation/articles/iot- hub- security- ground- up/. signatures. J Cryptograph Eng 2012;2(2):77–89.
Online; accessed: April 2017. [89] Bernstein D. A state-of-the-art diffie-hellman function. https://cr.yp.to/ecdh.
[63] Azure M. What is azure active directory. https://azure.microsoft.com/en-us/ html. Online; accessed: April 2017.
documentation/articles/active-directory-whatis/. Online; accessed: April 2017. [90] Snow KZ, Monrose F, Davi L, Dmitrienko A, Liebchen C, Sadeghi A-R. Just-in–
[64] Azure M. Documentdb. https://azure.microsoft.com/en-us/services/ time code reuse: On the effectiveness of fine-grained address space layout
documentdb/. Online; accessed: April 2017. randomization. In: Security and privacy (SP), 2013 IEEE symposium on. IEEE;
[65] Google. Brillo. https://developers.google.com/brillo/. Online; accessed: April 2013. p. 574–88.
2017. [91] Barker E., Kelsey J. Recommendation for random number generation using de-
[66] Google. Weave. https://developers.google.com/weave/. Online; accessed: April terministic random bit generators. https://doi.org/10.6028/NIST.SP.800-90Ar1.
2017. Online; accessed: April 2017.
[67] Gargenta A. Deep dive into android ipc/binder framework. AnDevCon: The [92] Alliance O. Osgi architecture. https://www.osgi.org/developer/architecture/.
Android developer conference; 2012. Online; accessed: April 2017.
[68] Google. Ota updates. https://source.android.com/devices/tech/ota/. Online; ac- [93] Organization E. Kura framework. http://www.eclipse.org/kura/. Online; ac-
cessed: April 2017. cessed: April 2017.
[69] MSV J. Google brillo vs. apple homekit: The battleground [94] Organization E. Kura framework. http://wiki.eclipse.org/Kura. Online; ac-
shifts to iot. http://www.forbes.com/sites/janakirammsv/2015/10/ cessed: April 2017.
29/google- brillo- vs- apple- homekit- the- battleground- shifts- to- iot/ [95] Organization E. Kura - osgi-based application framework for m2m ser-
#484c33674cac. Online; accessed: April 2017. vice gateways. http://www.eclipse.org/proposals/technology.kura/. Online; ac-
[70] Gaillard F. Microprocessor (MPU) or Microcontroller (MCU)? What factors cessed: April 2017.
should you consider when selecting the right processing device for your next [96] Organization E. Kura - a gateway for the internet of things. http://www.
design. Technical report, Atmel Corporation, 2013. URL http://www.atmel. eclipse.org/community/eclipse_newsletter/2014/february/article3.php. Online;
com/images/mcu_vs_mpu_article.pdf. accessed: April 2017.
[71] CNXSoft. Brillo android based os for iot projects supports arm, in- [97] Organization E. Mqtt and coap, iot protocols. http://www.eclipse.org/
tel and mips platforms. http://www.cnx-software.com/2015/10/28/ community/eclipse_newsletter/2014/february/article2.php. Online; accessed:
brillo- android- based- os- for- iot- projects- support- arm- intel- and- mips- platforms/. April 2017.
Online; accessed: April 2017. [98] Organization E. Kura - hardware targets. http://eclipse.github.io/kura/ref/
[72] Intel. Getting started with brillo on the intel edi- hardware-targets.html. Online; accessed: April 2017.
son board. https://software.intel.com/en-us/articles/ [99] Organization E. Kura - raspberry pi quick start. http://eclipse.github.io/kura/
getting- started- with- brillo- on- the- intel- edison- board. Online; accessed: doc/raspberry- pi- quick- start.html. Online; accessed: April 2017.
April 2017. [100] Organization E. Kura - beaglebone quick start. http://eclipse.github.io/kura/
[73] Android. Hardware-backed keystore. https://source.android.com/security/ doc/beaglebone- quick- start.html. Online; accessed: April 2017.
keystore. Online; accessed: April 2017. [101] Eurotech. Eurotech. https://www.eurotech.com/en/about+eurotech/. Online;
[74] Ericsson. Open source release of iot app environment calvin. https: accessed: April 2017.
//www.ericsson.com/research- blog/cloud/open- source- calvin/. Online; ac- [102] Lawton G. How to put configurable security in ef-
cessed: April 2017. fect for an iot gateway. http://www.theserverside.com/tip/
[75] Morrison JP. Flow-based programming, 2Nd edition: a new approach to ap- How- to- put- configurable- security- in- effect- for- an- IoT- gateway. Online;
plication development. Paramount, CA: CreateSpace; 2010. ISBN 1451542321, accessed: April 2017.
9781451542325. [103] Organization E. Eclipse paho. http://www.eclipse.org/paho/. Online; accessed:
[76] Hewitt C. Actor model of computation: scalable robust information systems. April 2017.
arXiv:100814592010;. [104] SmartThings. Smartthings documentation. http://docs.smartthings.com/en/
[77] Ericsson. A closer look at calvin. https://www.ericsson.com/research-blog/ latest/. Online; accessed: April 2017.
cloud/closer- look- calvin/. Online; accessed: April 2017. [105] SmartThings. Cloud and lan-connected devices. http://docs.smartthings.
[78] Persson P, Angelsmark O. Calvin merging cloud and iot. Procedia Comput Sci com/en/latest/cloud- and- lan- connected- device- types- developers- guide/. On-
2015;52:210–17. https://doi.org/10.1016/j.procs.2015.05.059. line; accessed: April 2017.
[79] Ericsson. Security in calvin. https://github.com/EricssonResearch/calvin-base/ [106] SmartThings. Smartthings architecture. http://docs.smartthings.com/en/latest/
wiki/Security/. Online; accessed: April 2017. architecture/index.html. Online; accessed: April 2017.
[80] Apple. The smart home just got smarter. http://www.apple.com/ios/home/. [107] Groovy. Groovy programming language. http://www.groovy-lang.org. Online;
Online; accessed: April 2017. accessed: April 2017.
[81] Apple. Siri. http://www.apple.com/ios/siri/. Online; accessed: April 2017. [108] Kawaguchi K. Groovy sandbox. http://groovy-sandbox.kohsuke.org/. Online;
[82] Apple. About bonjour. https://developer.apple.com/library/content/ accessed: April 2017.
documentation/Cocoa/Conceptual/NetServices/Introduction.html. Online; [109] Fernandes E, Jung J, Prakash A. Security Analysis of Emerging Smart Home
accessed: April 2017. Applications. In: Proceedings of the 37th IEEE symposium on security and
[83] Apple. icloud. http://www.apple.com/lae/icloud/. Online; accessed: April 2017. privacy; 2016.
[84] Apple. tvos. http://www.apple.com/tvos/. Online; accessed: April 2017.
[85] Apple. Homekit developer guide. https://developer.apple.com/library/content/
documentation/NetworkingInternet/Conceptual/HomeKitDeveloperGuide/
Introduction/Introduction.html#//apple_ref/doc/uid/TP40015050. Online;
accessed: April 2017.
M. Ammar et al. / Journal of Information Security and Applications 38 (2018) 8–27 27
Mahmoud Ammar is a PhD researcher in the KU Leuven Computer Science Department, where he is a member of the imec-DistriNet research group. His research interests
lie in the field of the IoT security. He is particularly interested in issues concerning the physical layer security in IoT devices based on simple microcontrollers. Mahmoud
obtained a Master of computer science from La Sapienza University of Rome in late 2015.
Giovanni Russello is a senior lecturer and leader of the digital security programme at the university of Auckland, New Zealand. He received his Ph.D. from the Eindhoven
University of Technology, The Netherlands. After obtaining his Ph.D., he was a research associate in the department of computing at Imperial College London, UK. His research
interests include policy-based security systems, privacy and confidentiality in cloud computing, smartphone security and applied cryptography.
Bruno Crispo is a professor of computer science at KU Leuven, Belgium and at the University of Trento, Italy. His research interests focus on system and network security,
mobile platform security and privacy, and access control. Crispo has a PhD in security from the University of Cambridge, UK. He’s an associate editor of the ACM Transactions
on Privacy and Security and a senior member of IEEE.