3. Security services in the IoT
Security can be ensured by applying specific services to pro-
vide protection from attacks. Indeed, security services are dis-
tinguished according to the countermeasures required to face
threats. In the following of this section, some security services
that can be used in the IoT are presented 1. This section also
deals with the resource consumption related to the security ser-
vices.
3.1. Confidentiality
Data confidentiality is a security service which ensures that
contents of a given message cannot be available for an unau-
thorized party. It is performed by encrypting messages, using
symmetric or asymmetric cryptographies, so that it can be de-
crypted only by the authorized party.
Due to their low consumption cost, symmetric cryptography
schemes have been widely used in constrained networks such
as WSNs. Many evaluations, as [11, 12], show that symmetric
ciphers (like AES [13], RC5 [14] or Skipjack [15]) are fully
suitable for constrained objects. However, key management in
symmetric cryptography becomes a problem when the network
scales.
In the IoT, the scalability issue arises with more acuity. In-
deed, since 2006, authors such as Lopez [16] highlight the limit
of using symmetric cryptography for WSNs. In the other hand,
asymmetric cryptography provides efficient key management,
but induces more consumption compared to the symmetric one.
Protocols such as RSA [14] or IBE [17], which are widely
used in the Internet, are known to be very intensive in terms
of computation. Direct application of these protocols for the
IoT would be very heavy.
3.2. Authentication and access control
Authentication is a security service used to ensure that enti-
ties are who they claim to be (entity authentication), or that the
received message is as originated (message authentication). As
for access control, it is used to allow or deny entities to access
resources according to policies. Access control is generally per-
formed after authenticating the entities/data.
Because of its low cost computation, some access control and
authentication solutions proposed for constrained networks are
based on symmetric cryptography (e.g. [18–20]). This often
imposes using mechanisms for pre-distribution of keys. How-
ever, this also may make these solutions working only for appli-
cations they are designed for, and may not support large-scale
networks. In addition, it is difficult to ensure message authenti-
cation with non-repudiation when using symmetric cryptogra-
phy. Even if some solutions, such as SNEP and µTESLA [21],
achieve non-repudiation by emulating asymmetry (through de-
layed key disclosure and one-way function key chains), the em-
ulation of asymmetric cryptography requires time synchroniza-
1Note that other security services might be required for the IoT, such as
trust management. This section interests in energy consuming security services,
which are the target of this survey.
tion and key management with ample storage of keys and mes-
sages [22]. This becomes problematic for high-traffic and large-
scale networks, as the IoT.
On the other hand, authentication and access control solu-
tions based on asymmetric cryptography would eliminate the
need for complicated protocols and increase the security. How-
ever, public-key cryptography is considered to be very heavy
for constrained nodes, as it is mentioned previously. For in-
stance, Attribute Based Encryption (ABE) [23] and its related
protocols are widely considered to ensure fine-grained access
control with scalability management. The issue when consider-
ing these protocols for constrained networks, as the IoT, has to
do with their consumption cost.
3.3. Signature/verification
Digital signature is a security service that provide a means for
an entity to bind its identity to a piece of information. It ensures
authentication, integrity, and non-repudiation. One of the most
significant applications of digital signatures is the certification
of public keys.
Public-key cryptography is the most used for digital signa-
ture. Standards such X.509 and ISO/IEC 9796 are based on
public-key cryptography. RSA cryptosystem [14], or El-Gamal
scheme [24] are examples of the used asymmetric cryptogra-
phy. However, these asymmetric protocols are so heavy and
their direct application for the IoT would be inefficient.
Although one-time signature schemes (many of which arise
from symmetric-key cryptography) are computationally less
expensive, they require changing keys after each use; other-
wise, signatures can be forged [25]. This affects the storage
and the communication capacities in high-traffic networks, and
mitigates the use of these schemes for some applications.
3.4. Key establishment
Key establishment, or key bootstrapping, is the process that
allows transferring settings between two or more parties, for the
purpose of sharing cryptographic keys. It is basically required
to setup any secure communication channel between nodes (be-
fore the network can operate or when a re-keying is needed),
and enable them to perform other security services.
Pre-distribution key establishment schemes, commonly
known as symmetric-key schemes, involve low computation.
They are based on pre-shared credentials (before deployment).
Several pre-distribution solutions have been proposed in the lit-
erature, mainly for WSNs (such as [26–30]). However, these
schemes can work for the local networks they are designed for,
and do not address key establishing with a remote entity. Many
IoT applications require establishing secure communications
between entities without any initial knowledge of each other,
or any pre-shared keys.
In contrast, asymmetric-key schemes are the most widely
considered for the Internet, and do not require any initial knowl-
edge. However, the two categories of asymmetric-key schemes,
key transport and key agreement, involve high computations.
Key transport protocols (such as TLS handshake [31]) are based
on public-key cryptography which is commonly known to be
3