[Docs] [txt|pdf] [Tracker] [Email] [Diff1] [Diff2] [Nits]

Versions: 00 01 02 03 04 05 06 draft-irtf-t2trg-iot-seccons

CoRE                                                   O. Garcia-Morchon
Internet-Draft                                                   S. Keoh
Intended status: Informational                                  S. Kumar
Expires: January 12, 2012                               Philips Research
                                                               R. Hummen
                                                             RWTH Aachen
                                                               R. Struik
                                                      Struik Consultancy
                                                           July 11, 2011


       Security Considerations in the IP-based Internet of Things
                     draft-garcia-core-security-02

Abstract

   A direct interpretation of the Internet of Things concept refers to
   the usage of standard Internet protocols to allow for human-to-thing
   or thing-to-thing communication.  Although the security needs are
   well-recognized, it is still not fully clear how existing IP-based
   security protocols can be applied to this new setting.  This
   Internet-Draft first provides an overview of security architecture,
   its deployment model and general security needs in the context of the
   lifecycle of a thing.  Then, it presents challenges and requirements
   for the successful roll-out of new applications and usage of standard
   IP-based security protocols when applied to get a functional Internet
   of Things.

Status of this Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at http://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   This Internet-Draft will expire on January 12, 2012.

Copyright Notice

   Copyright (c) 2011 IETF Trust and the persons identified as the



Garcia-Morchon, et al.  Expires January 12, 2012                [Page 1]


Internet-Draft     Security Considerations for the IoT         July 2011


   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (http://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.


Table of Contents

   1.  Conventions and Terminology Used in this Document  . . . . . .  4
   2.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  4
   3.  The Thing Lifecycle and Architectural Considerations . . . . .  5
     3.1.  Security Aspects . . . . . . . . . . . . . . . . . . . . .  6
   4.  State of the Art . . . . . . . . . . . . . . . . . . . . . . .  9
     4.1.  IP-based Security Solutions  . . . . . . . . . . . . . . .  9
     4.2.  Wireless Sensor Network Security and Beyond  . . . . . . . 11
   5.  Challenges for a Secure Internet of Things . . . . . . . . . . 12
     5.1.  Constraints and Heterogeneous Communication  . . . . . . . 12
       5.1.1.  Tight Resource Constraints . . . . . . . . . . . . . . 12
       5.1.2.  Denial-of-Service Resistance . . . . . . . . . . . . . 14
       5.1.3.  Protocol Translation and End-to-End Security . . . . . 14
     5.2.  Bootstrapping of a Security Domain . . . . . . . . . . . . 16
       5.2.1.  Distributed vs. Centralized Architecture and
               Operation  . . . . . . . . . . . . . . . . . . . . . . 16
       5.2.2.  Bootstrapping a thing's identity and keying
               materials  . . . . . . . . . . . . . . . . . . . . . . 17
       5.2.3.  Privacy-aware Identification . . . . . . . . . . . . . 18
     5.3.  Operation  . . . . . . . . . . . . . . . . . . . . . . . . 19
       5.3.1.  End-to-End Security  . . . . . . . . . . . . . . . . . 19
       5.3.2.  Group Membership and Security  . . . . . . . . . . . . 19
       5.3.3.  Mobility and IP Network Dynamics . . . . . . . . . . . 20
   6.  Security Suites for the IP-based Internet of Things  . . . . . 21
     6.1.  Security Architecture  . . . . . . . . . . . . . . . . . . 25
     6.2.  Thing's model  . . . . . . . . . . . . . . . . . . . . . . 26
     6.3.  Security Bootstrapping and Management  . . . . . . . . . . 27
     6.4.  Network Security . . . . . . . . . . . . . . . . . . . . . 29
     6.5.  Application Security . . . . . . . . . . . . . . . . . . . 30
   7.  Next Steps towards a Flexible and Secure Internet of Things  . 32
   8.  Security Considerations  . . . . . . . . . . . . . . . . . . . 34
   9.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 34
   10. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 35
   11. References . . . . . . . . . . . . . . . . . . . . . . . . . . 35



Garcia-Morchon, et al.  Expires January 12, 2012                [Page 2]


Internet-Draft     Security Considerations for the IoT         July 2011


     11.1. Normative References . . . . . . . . . . . . . . . . . . . 35
     11.2. Informative References . . . . . . . . . . . . . . . . . . 37
   Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 38
















































Garcia-Morchon, et al.  Expires January 12, 2012                [Page 3]


Internet-Draft     Security Considerations for the IoT         July 2011


1.  Conventions and Terminology Used in this Document

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in "Key words for use in
   RFCs to Indicate Requirement Levels" [RFC2119].


2.  Introduction

   The Internet of Things (IoT) denotes the interconnection of highly
   heterogeneous networked entities and networks following a number of
   communication patterns such as: human-to-human (H2H), human-to-thing
   (H2T), thing-to-thing (T2T), or thing-to-things (T2Ts).  The term IoT
   was first coined by the Auto-ID center [AUTO-ID] in 1999.  Since
   then, the development of the underlying concepts has ever increased
   its pace.  Nowadays, the IoT presents a strong focus of research with
   various initiatives working on the (re)design, application, and usage
   of standard Internet technology in the IoT.

   The introduction of IPv6 and web services as fundamental building
   blocks for IoT applications [ID-KIM] promises to bring a number of
   basic advantages including: (i) a homogeneous protocol ecosystem that
   allows simple integration with Internet hosts; (ii) simplified
   development of very different appliances; (iii) an unified interface
   for applications, removing the need for application-level proxies.
   Such features greatly simplify the deployment of the envisioned
   scenarios ranging from building automation to production environments
   to personal area networks, in which very different things such as a
   temperature sensor, a luminaire, or an RFID tag might interact with
   each other, with a human carrying a smart phone, or with backend
   services.

   This Internet Draft presents an overview of the security aspects of
   the envisioned all-IP architecture as well as of the lifecycle of an
   IoT device, a thing, within this architecture.  In particular, we
   review the most pressing aspects and functionalities that are
   required for a secure all-IP solution.

   With this, this Internet-Draft pursues several goals.  First, we aim
   at presenting a comprehensive view of the interactions and
   relationships between an IoT application and security.  Second, we
   aim at describing challenges for a secure IoT in the specific context
   of the lifecycle of a resource-constrained device.  The final goal of
   this draft is to discuss the next steps towards a secure IoT.

   The rest of the Internet-Draft is organized as follows.  Section 3
   depicts the lifecycle of a thing and gives general definitions for



Garcia-Morchon, et al.  Expires January 12, 2012                [Page 4]


Internet-Draft     Security Considerations for the IoT         July 2011


   the main security aspects within the IoT domain.  In Section 4, we
   review existing protocols and work done in the area of security for
   wireless sensor networks.  Section 5 identifies general challenges
   and needs for an IoT security protocol design and discusses existing
   protocols and protocol proposals against the identified requirements.
   Section 6 proposes a number of illustrative security suits describing
   how different applications involve distinct security needs.  Section
   7 includes final remarks and conclusions.


3.  The Thing Lifecycle and Architectural Considerations

   We consider the installation of a Building Automation and Control
   (BAC) system to illustrate the lifecycle of a thing in a BAC
   scenario.  A BAC system consists of a network of interconnected nodes
   that perform various functions in the domains of HVAC (Heating,
   Ventilating, and Air Conditioning), lighting, safety etc.  The nodes
   vary in functionality and a majority of them represent resource
   constrained devices such as sensors and luminaries.  Some devices may
   also be battery operated or battery-less nodes, demanding for a focus
   on low energy consumption and on sleeping devices.

   In our example, the life of a thing starts when it is manufactured.
   Due to the different application areas (i.e., HVAC, lighting, safety)
   nodes are tailored to a specific task.  It is therefore unlikely that
   one single manufacturer will create all nodes in a building.  Hence,
   interoperability as well as trust bootstrapping between nodes of
   different vendors is important.  The thing is later installed and
   commissioned within a network by an installer during the
   bootstrapping phase.  Specifically, the device identity and the
   secret keys used during normal operation are provided to the device
   during this phase.  Different subcontractors may install different
   IoT devices for different purposes.  Furthermore, the installation
   and bootstrapping procedures may not be a defined event but may
   stretch over an extended period of time.  After being bootstrapped,
   the device and the system of things are in operational mode and run
   the functions of the BAC system.  During this operational phase, the
   device is under the control of the system owner.  For devices with
   lifetimes spanning several years, occasional maintenance cycles may
   be required.  During each maintenance phase, the software on the
   device can be upgraded or applications running on the device can be
   reconfigured.  The maintenance tasks can thereby be performed either
   locally or from a backend system.  Depending on the operational
   changes of the device, it may be required to re-bootstrap at the end
   of a maintenance cycle.  The device continues to loop through the
   operational phase and the eventual maintenance phase until the device
   is decommissioned at the end of its lifecycle.  However, the end-of-
   life of a device does not necessarily mean that it is defective but



Garcia-Morchon, et al.  Expires January 12, 2012                [Page 5]


Internet-Draft     Security Considerations for the IoT         July 2011


   rather denotes a need to replace and upgrade the network to next-
   generation devices in order to provide additional functionality.
   Therefore the device can be removed and re-commissioned to be used in
   a different network under a different owner by starting the lifecycle
   over again.  Figure 1 shows the generic lifecycle of a thing.  This
   generic lifecycle is also applicable for IoT scenarios other than BAC
   systems.

   At present, BAC systems use legacy building control standards such as
   BACNet [BACNET] or DALI [DALI] with independent networks for each
   subsystem (HVAC, lighting, etc.).  However, this separation of
   functionality adds further complexity and costs to the configuration
   and maintenance of the different networks within the same building.
   As a result, more recent building control networks employ IP-based
   standards allowing seamless control over the various nodes with a
   single management system.  While allowing for easier integration,
   this shift towards IP-based standards results in new requirements
   regarding the implementation of IP security protocols on constrained
   devices and the bootstrapping of security keys for devices across
   multiple manufacturers.

    _Manufactured           _SW update          _Decommissioned
   /                       /                   /
   |   _Installed          |   _ Application   |   _Removed &
   |  /                    |  / reconfigured   |  /  replaced
   |  |   _Commissioned    |  |                |  |
   |  |  /                 |  |                |  |   _Reownership &
   |  |  |    _Application |  |   _Application |  |  / recommissioned
   |  |  |   /   running   |  |  / running     |  |  |
   |  |  |   |             |  |  |             |  |  |             \\
   +##+##+###+#############+##+##+#############+##+##+##############>>>
       \/  \______________/ \/  \_____________/ \___/         time //
       /           /         \          \          \
   Bootstrapping  /      Maintenance &   \     Maintenance &
                 /      re-bootstrapping  \   re-bootstrapping
           Operational                Operational

            The lifecycle of a thing in the Internet of Things.

                                 Figure 1

3.1.  Security Aspects

   The term security subsumes a wide range of different concepts.  In
   the first place, it refers to the basic provision of security
   services including confidentiality, authentication, integrity,
   authorization, non-repudiation, and availability, and some augmented
   services, such as duplicate detection and detection of stale packets



Garcia-Morchon, et al.  Expires January 12, 2012                [Page 6]


Internet-Draft     Security Considerations for the IoT         July 2011


   (timeliness).  These security services can be implemented by a
   combination of cryptographic mechanisms, such as block ciphers, hash
   functions, or signature algorithms, and non-cryptographic mechanisms,
   which implement authorization and other security policy enforcement
   aspects.  For each of the cryptographic mechanisms, a solid key
   management infrastructure is fundamental to handling the required
   cryptographic keys, whereas for security policy enforcement, one
   needs to properly codify authorizations as a function of device roles
   and a security policy engine that implements these authorization
   checks and that can implement changes hereto throughout the system's
   lifecycle.

   In the context of the IoT, however, the security must not only focus
   on the required security services, but also how these are realized in
   the overall system and how the security functionalities are executed.
   To this end, we use the following terminology to analyze and classify
   security aspects in the IoT:

   1   The security architecture refers to the system elements involved
       in the management of the security relationships between things
       and the way these security interactions are handled (e.g.,
       centralized or distributed) during the lifecycle of a thing.

   2   The security model of a node describes how the security
       parameters, processes, and applications are managed in a thing.
       This includes aspects such as process separation, secure storage
       of keying materials, etc.

   3   Security bootstrapping denotes the process by which a thing
       securely joins the IoT at a given location and point in time.
       Bootstrapping includes the authentication and authorization of a
       device as well as the transfer of security parameters allowing
       for its trusted operation in a given network.

   4   Network security describes the mechanisms applied within a
       network to ensure trusted operation of the IoT.  Specifically, it
       prevents attackers from endangering or modifying the expected
       operation of networked things.  Network security can include a
       number of mechanisms ranging from secure routing to data link
       layer and network layer security.

   5   Application security guarantees that only trusted instances of an
       application running in the IoT can communicate with each other,
       while illegitimate instances cannot interfere.







Garcia-Morchon, et al.  Expires January 12, 2012                [Page 7]


Internet-Draft     Security Considerations for the IoT         July 2011


              ..........................
              :           +-----------+:
              :       *+*>|Application|*****
              :       *|  +-----------+:   *
              :       *|  +-----------+:   *
              :       *|->| Transport |:   *
              :    * _*|  +-----------+:   *
              :    *|  |  +-----------+:   *
              :    *|  |->|  Network  |:   *
              :    *|  |  +-----------+:   *
              :    *|  |  +-----------+:   *    *** Bootstrapping
              :    *|  +->|     L2    |:   *    ~~~ Application Security
              :    *|     +-----------+:   *
              :+--------+              :   *
              :|Security| Configuration:   *
              :|Service |   Entity     :   *
              :+--------+              :   *
              :........................:   *
                                           *
  .........................                *  .........................
  :+--------+             :                *  :             +--------+:
  :|Security|   Node B    :                *  :   Node A    |Security|:
  :|Service |             :                *  :             |Service |:
  :+--------+             :                *  :             +--------+:
  :    |     +-----------+:                *  :+-----------+     |*   :
  :    |  +->|Application|:                ****|Application|<*+* |*   :
  :    |  |  +-----------+:                   :+-----------+  |* |*   :
  :    |  |  +-----------+:                   :+-----------+  |* |*   :
  :    |  |->| Transport |~~~~~~~~~~~~~~~~~~~~~| Transport |<-|* |*   :
  :    |__|  +-----------+: ................. :+-----------+  |*_|*   :
  :       |  +-----------+: : +-----------+ : :+-----------+  | *     :
  :       |->|  Network  |: : |  Network  | : :|  Network  |<-|       :
  :       |  +-----------+: : +-----------+ : :+-----------+  |       :
  :       |  +-----------+: : +-----------+ : :+-----------+  |       :
  :       +->|     L2    |: : |     L2    | : :|     L2    |<-+       :
  :          +-----------+: : +-----------+ : :+-----------+          :
  :.......................: :...............: :.......................:
                     Overview of Security Mechanisms.

                                 Figure 2

   We now discuss an exemplary security architecture relying on a
   configuration entity for the management of the system with regard to
   the introduced security aspects (see Figure 2).  Inspired by the
   security framework for routing over low power and lossy network
   [ID-Tsao], we show an example of security model and illustrates how
   different security concepts and the lifecycle phases map to the
   Internet communication stack.  Assume a centralized architecture in



Garcia-Morchon, et al.  Expires January 12, 2012                [Page 8]


Internet-Draft     Security Considerations for the IoT         July 2011


   which a configuration entity stores and manages the identities of the
   things associated with the system along with their cryptographic
   keys.  During the bootstrapping phase, each thing executes the
   bootstrapping protocol with the configuration entity, thus obtaining
   the required device identities and the keying material.  The security
   service on a thing in turn stores the received keying material for
   the network layer and application security mechanisms for secure
   communication.  Things can then securely communicate with each other
   during their operational phase by means of the employed network and
   application security mechanisms.


4.  State of the Art

   Nowadays, there exists a multitude of control protocols for the IoT.
   For BAC systems, the ZigBee standard [ZB], BACNet [BACNET], or DALI
   [DALI] play key roles.  Recent trends, however, focus on an all-IP
   approach for system control.

   In this setting, a number of IETF working groups are designing new
   protocols for resource constrained networks of smart things.  The
   6LoWPAN working group [WG-6LoWPAN] concentrates on the definition of
   methods and protocols for the efficient transmission and adaptation
   of IPv6 packets over IEEE 802.15.4 networks [RFC4944].  The CoRE
   working group [WG-CoRE] provides a framework for resource-oriented
   applications intended to run on constrained IP network (6LoWPAN).
   One of its main tasks is the definition of a lightweight version of
   the HTTP protocol, the Constrained Application Protocol (CoAP)
   [ID-CoAP], that runs over UDP and enables efficient application-level
   communication for things.

4.1.  IP-based Security Solutions

   In the context of the IP-based IoT solutions, consideration of TCP/IP
   security protocols is important as these protocols are designed to
   fit the IP network ideology and technology.  While a wide range of
   specialized as well as general-purpose key exchange and security
   solutions exist for the Internet domain, we discuss a number of
   protocols and procedures that have been recently discussed in the
   context of the above working groups.  The considered protocols are
   IKEv2/IPsec [RFC4306], TLS/SSL [RFC5246], DTLS [RFC5238], HIP
   [RFC5201][ID-Moskowitz], PANA [RFC5191], and EAP [RFC3748] in this
   Internet-Draft.  Application layer solutions such as SSH [RFC4251]
   also exist, however, these are currently not considered.  Figure 3
   depicts the relationships between the discussed protocols in the
   context of the security terminology introduced in Section 3.1.





Garcia-Morchon, et al.  Expires January 12, 2012                [Page 9]


Internet-Draft     Security Considerations for the IoT         July 2011


             ..........................
             :           +-----------+:
             :       *+*>|Application|*****     *** Bootstrapping
             :       *|  +-----------+:   *     ### Application Security
             :       *|  +-----------+:   *     === Network security
             :       *|->| Transport |:   *
             :    * _*|  +-----------+:   *
             :    *|  |  +-----------+:   *
             :    *|  |->|  Network  |:   *--> -PANA/EAP
             :    *|  |  +-----------+:   *    -HIP
             :    *|  |  +-----------+:   *
             :    *|  +->|     L2    |:   *     ## DTLS
             :    *|     +-----------+:   *     ##
             :+--------+              :   *
             :|Security| Configuration:   *     [] HIP,IKEv2
             :|Service |   Entity     :   *     [] ESP/AH
             :+--------+              :   *
             :........................:   *
                                          *
 .........................                *    .........................
 :+--------+             :                *    :             +--------+:
 :|Security|   Node B    :                *    :   Node A    |Security|:
 :|Service |             :                *    :             |Service |:
 :+--------+             :     Secure     *    :             +--------+:
 :    |     +-----------+:     routing    *    :+-----------+     |*   :
 :    |  +->|Application|:    framework   ******|Application|<*+* |*   :
 :    |  |  +----##-----+:        |            :+----##-----+  |* |*   :
 :    |  |  +----##-----+:        |            :+----##-----+  |* |*   :
 :    |  |->| Transport |#########|#############| Transport |<-|* |*   :
 :    |__|  +----[]-----+:  ......|..........  :+----[]-----+  |*_|*   :
 :       |  +====[]=====+=====+===========+=====+====[]=====+  | *     :
 :       |->|| Network  |:  : |  Network  | :  :|  Network ||<-|       :
 :       |  +|----------+:  : +-----------+ :  :+----------|+  |       :
 :       |  +|----------+:  : +-----------+ :  :+----------|+  |       :
 :       +->||    L2    |:  : |     L2    | :  :|     L2   ||<-+       :
 :          +===========+=====+===========+=====+===========+          :
 :.......................:  :...............:  :.......................:
            Relationships between IP-based security protocols.

                                 Figure 3

   The Internet Key Exchange (IKEv2)/IPsec and the Host Identity
   protocol (HIP) reside at or above the network layer in the OSI model.
   Both protocols are able to perform an authenticated key exchange and
   set up the IPsec transforms for secure payload delivery.  Currently,
   there are also ongoing efforts to create a HIP variant coined Diet
   HIP [ID-HIP] that takes lossy low-power networks into account at the
   authentication and key exchange level.



Garcia-Morchon, et al.  Expires January 12, 2012               [Page 10]


Internet-Draft     Security Considerations for the IoT         July 2011


   Transport Layer Security (TLS) and its datagram-oriented variant DTLS
   secure transport-layer connections.  TLS provides security for TCP
   and requires a reliable transport, while DTLS secures and uses
   datagram-oriented protocols such as UDP.  Both protocols are
   intentionally kept similar and share the same ideology and cipher
   suites.

   The Extensible Authentication Protocol (EAP) is an authentication
   framework supporting multiple authentication methods.  EAP runs
   directly over the data link layer and, thus, does not require the
   deployment of IP.  It supports duplicate detection and
   retransmission, but does not allow for packet fragmentation.  The
   Protocol for Carrying Authentication for Network Access (PANA) is a
   network-layer transport for EAP that enables network access
   authentication between clients and the network infrastructure.  In
   EAP terms, PANA is a UDP-based EAP lower layer that runs between the
   EAP peer and the EAP authenticator.

4.2.  Wireless Sensor Network Security and Beyond

   A variety of key agreement and privacy protection protocols that are
   tailored to IoT scenarios have been introduced in the literature.
   For instance, random key pre-distribution schemes [PROC-Chan] or more
   centralized solutions, such as SPINS [JOURNAL-Perrig], have been
   proposed for key establishment in wireless sensor networks.  The
   ZigBee standard [ZB] for sensor networks defines a security
   architecture based on an online trust center that is in charge of
   handling the security relationships within a ZigBee network.
   Personal privacy in ubiquitous computing has been studied
   extensively, e.g., in [THESIS-Langheinrich].  Due to resource
   constraints and the specialization to meet specific requirements,
   these solutions often implement a collapsed cross layer optimized
   communication stack (e.g., without task-specific network layers and
   layered packet headers).  Consequently, they cannot directly be
   adapted to the requirements of the Internet due to the nature of
   their design.

   Despite important steps done by, e.g., Gupta et al.  [PROC-Gupta], to
   show the feasibility of an end-to-end standard security architecture
   for the embedded Internet, the Internet and the IoT domain still do
   not fit together easily.  This is mainly due to the fact that IoT
   security solutions are often tailored to the specific scenario
   requirements without considering interoperability with Internet
   protocols.  On the other hand, the direct use of existing Internet
   security protocols in the IoT might lead to inefficient or insecure
   operation as we show in our discussion below.





Garcia-Morchon, et al.  Expires January 12, 2012               [Page 11]


Internet-Draft     Security Considerations for the IoT         July 2011


5.  Challenges for a Secure Internet of Things

   In this section, we take a closer look at the various security
   challenges in the operational and technical features of the IoT and
   then discuss how existing Internet security protocols cope with these
   technical and conceptual challenges through the lifecycle of a thing.
   Table 1 summarizes which requirements need to be met in the lifecycle
   phases as well as the considered protocols.  The structure of this
   section follows the structure of the table.  This discussion should
   neither be understood as a comprehensive evaluation of all protocols,
   nor can it cover all possible aspects of IoT security.  Yet, it aims
   at showing concrete limitations of existing Internet security
   protocols in some areas rather than giving an abstract discussion
   about general properties of the protocols.  In this regard, the
   discussion handles issues that are most important from the authors'
   perspectives.

5.1.  Constraints and Heterogeneous Communication

   Coupling resource constrained networks and the powerful Internet is a
   challenge because the resulting heterogeneity of both networks
   complicates protocol design and system operation.  In the following
   we briefly discuss the resource constraints of IoT devices and the
   consequences for the use of Internet Protocols in the IoT domain.

5.1.1.  Tight Resource Constraints

   The IoT is a resource-constrained network that relies on lossy and
   low-bandwidth channels for communication between small nodes,
   regarding CPU, memory, and energy budget.  These characteristics
   directly impact the threats to and the design of security protocols
   for the IoT domain.  First, the use of small packets, e.g., IEEE
   802.15.4 supports 127-byte sized packets at the physical layer, may
   result in fragmentation of larger packets of security protocols.
   This may open new attack vectors for state exhaustion DoS attacks,
   which is especially tragic, e.g., if the fragmentation is caused by
   large key exchange messages of security protocols.  Moreover, packet
   fragmentation commonly downgrades the overall system performance due
   to fragment losses and the need for retransmissions.  For instance,
   fate-sharing packet flight as implemented by DTLS might aggravate the
   resulting performance loss.










Garcia-Morchon, et al.  Expires January 12, 2012               [Page 12]


Internet-Draft     Security Considerations for the IoT         July 2011


              +--------------------------------------------------------+
              | Bootstrapping phase        | Operational Phase         |
 +------------+--------------------------------------------------------+
 |            |Incremental deployment      |End-to-End security        |
 |Requirements|Identity and key management |Mobility support           |
 |            |Privacy-aware identification|Group membership management|
 |            |Group creation              |                           |
 +------------+--------------------------------------------------------+
 |            |IKEv2                       |IKEv2/MOBIKE               |
 |Protocols   |TLS/DTLS                    |TLS/DTLS                   |
 |            |HIP/Diet-HIP                |HIP/Diet-HIP               |
 |            |PANA/EAP                    |                           |
 +---------------------------------------------------------------------+

            Relationships between IP-based security protocols.

                                 Figure 4

   The size and number of messages should be minimized to reduce memory
   requirements and optimize bandwidth usage.  In this context, layered
   approaches involving a number of protocols might lead to worse
   performance in resource-constrained devices since they combine the
   headers of the different protocols.  In some settings, protocol
   negotiation can increase the number of exchanged messages.  To
   improve performance during basic procedures such as, e.g.,
   bootstrapping, it might be a good strategy to perform those
   procedures at a lower layer.  This involves le

   Small CPUs and scarce memory limit the usage of resource-expensive
   cryptoprimitives such as public-key cryptography as used in most
   Internet security standards.  This is especially true, if the basic
   cryptoblocks need to be frequently used or the underlying application
   demands a low delay.

   Independently from the development in the IoT domain, all discussed
   security protocols show efforts to reduce the cryptographic cost of
   the required public-key-based key exchanges and signatures with
   ECC[RFC5246][RFC5903][ID-Moskowitz][ID-HIP].  Moreover, all protocols
   have been revised in the last years to enable crypto agility, making
   cryptographic primitives interchangeable.  Diet HIP takes the
   reduction of the cryptographic load one step further by focusing on
   cryptographic primitives that are to be expected to be enabled in
   hardware on IEEE 802.15.4 compliant devices.  For example, Diet HIP
   does not require cryptographic hash functions but uses a CMAC [NIST]
   based mechanism, which can directly use the AES hardware available in
   standard sensor platforms.  However, these improvements are only a
   first step in reducing the computation and communication overhead of
   Internet protocols.  The question remains if other approaches can be



Garcia-Morchon, et al.  Expires January 12, 2012               [Page 13]


Internet-Draft     Security Considerations for the IoT         July 2011


   applied to leverage key agreement in these heavily resource-
   constrained environments.

   A further fundamental need refers to the limited energy budget
   available to IoT nodes.  Careful protocol (re)design and usage is
   required to reduce not only the energy consumption during normal
   operation, but also under DoS attacks.  Since the energy consumption
   of IoT devices differs from other device classes, judgments on the
   energy consumption of a particular protocol cannot be made without
   tailor-made IoT implementations.

5.1.2.  Denial-of-Service Resistance

   The tight memory and processing constraints of things naturally
   alleviate resource exhaustion attacks.  Especially in unattended T2T
   communication, such attacks are difficult to notice before the
   service becomes unavailable (e.g., because of battery or memory
   exhaustion).  As a DoS countermeasure, DTLS, IKEv2, HIP, and Diet HIP
   implement return routability checks based on a cookie mechanism to
   delay the establishment of state at the responding host until the
   address of the initiating host is verified.  The effectiveness of
   these defenses strongly depends on the routing topology of the
   network.  Return routability checks are particularly effective if
   hosts cannot receive packets addressed to other hosts and if IP
   addresses present meaningful information as is the case in today's
   Internet.  However, they are less effective in broadcast media or
   when attackers can influence the routing and addressing of hosts
   (e.g., if hosts contribute to the routing infrastructure in ad-hoc
   networks and meshes).

   In addition, HIP implements a puzzle mechanism that can force the
   initiator of a connection (and potential attacker) to solve
   cryptographic puzzles with variable difficulties.  Puzzle-based
   defense mechanisms are less dependent on the network topology but
   perform poorly if CPU resources in the network are heterogeneous
   (e.g., if a powerful Internet host attacks a thing).  Increasing the
   puzzle difficulty under attack conditions can easily lead to
   situations, where a powerful attacker can still solve the puzzle
   while weak IoT clients cannot and are excluded from communicating
   with the victim.  Still, puzzle-based approaches are a viable option
   for sheltering IoT devices against unintended overload caused by
   misconfigured or malfunctioning things.

5.1.3.  Protocol Translation and End-to-End Security

   Even though 6LoWPAN and CoAP progress towards reducing the gap
   between Internet protocols and the IoT, they do not target protocol
   specifications that are identical to their Internet pendants due to



Garcia-Morchon, et al.  Expires January 12, 2012               [Page 14]


Internet-Draft     Security Considerations for the IoT         July 2011


   performance reasons.  Hence, more or less subtle differences between
   IoT protocols and Internet protocols will remain.  While these
   differences can easily be bridged with protocol translators at
   gateways, they become major obstacles if end-to-end security measures
   between IoT devices and Internet hosts are used.

   Cryptographic payload processing applies message authentication codes
   or encryption to packets.  These protection methods render the
   protected parts of the packets immutable as rewriting is either not
   possible because a) the relevant information is encrypted and
   inaccessible to the gateway or b) rewriting integrity-protected parts
   of the packet would invalidate the end-to-end integrity protection.

   There are essentially four solutions for this problem:

   1   Sharing symmetric keys with gateways enables gateways to
       transform (e.g., de-compress, convert, etc.) packets and re-apply
       the security measures after transformation.  This method abandons
       end-to-end security and is only applicable to simple scenarios
       with a rudimentary security model.

   2   Reusing the Internet wire format in the IoT makes conversion
       between IoT and Internet protocols unnecessary.  However, it
       leads to poor performance because IoT specific optimizations
       (e.g., stateful or stateless compression) are not possible.

   3   Selectively protecting vital and immutable packet parts with a
       MAC or with encryption requires a careful balance between
       performance and security.  Otherwise, this approach will either
       result in poor performance (protect as much as possible) or poor
       security (compress and transform as much as possible).

   4   Message authentication codes that sustain transformation can be
       realized by considering the order of transformation and
       protection (e.g., by creating a signature before compression so
       that the gateway can decompress the packet without recalculating
       the signature).  This enables IoT specific optimizations but is
       more complex and may require application-specific transformations
       before security is applied.  Moreover, it cannot be used with
       encrypted data because the lack of cleartext prevents gateways
       from transforming packets.

   To the best of our knowledge, none of the mentioned security
   protocols provides a fully customizable solution in this problem
   space.  In fact, they usually offer an end-to-end secured connection.
   An exception is the usage layered approach as might be PANA and EAP.
   In such a case, this configuration (i) allows for a number of
   configurations regarding the location of, e.g., the EAP authenticator



Garcia-Morchon, et al.  Expires January 12, 2012               [Page 15]


Internet-Draft     Security Considerations for the IoT         July 2011


   and authentication server and (ii) the layered architecture might
   allow for authentication at different places.  The drawback of this
   approach, however, lies in its high signaling traffic volume compared
   to other approaches.  Hence, future work is required to ensure
   security, performance and interoperability between IoT and the
   Internet.

5.2.  Bootstrapping of a Security Domain

   Creating a security domain from a set of previously unassociated IoT
   devices is a key operation in the lifecycle of a thing and in the IoT
   network.  In this section, we discuss general forms of network
   operation, how to communicate a thing's identity and the privacy
   implications arising from the communication of this identity.

5.2.1.  Distributed vs. Centralized Architecture and Operation

   Most things might be required to support both centralized and
   distributed operation patterns.  Distributed thing-to-thing
   communication might happen on demand, for instance, when two things
   form an ad-hoc security domain to cooperatively fulfill a certain
   task.  Likewise, nodes may communicate with a backend service located
   in the Internet without a central security manager.  The same nodes
   may also be part of a centralized architecture with a dedicated node
   being responsible for the security management for group communication
   between things in the IoT domain.  In today's IoT, most common
   architectures are fully centralized in the sense that all the
   security relationships within a segment are handled by a central
   party.  In the ZigBee standard, this entity is the trust center.
   Current proposals for 6LoWPAN/CoRE identify the 6LoWPAN Border Router
   (6LBR) as such a device.

   A centralized architecture allows for central management of devices
   and keying materials as well as for the backup of cryptographic keys.
   However, it also imposes some limitations.  First, it represents a
   single point of failure.  This is a major drawback, e.g., when key
   agreement between two devices requires online connectivity to the
   central node.  Second, it limits the possibility to create ad-hoc
   security domains without dedicated security infrastructure.  Third,
   it codifies a more static world view, where device roles are cast in
   stone, rather than a more dynamic world view that recognizes that
   networks and devices, and their roles and ownership, may change over
   time (e.g., due to device replacement and hand-over of control).

   Decentralized architectures, on the other hand, allow creating ad-hoc
   security domains that might not require a single online management
   entity and are operative in a much more stand-alone manner.  The ad-
   hoc security domains can be added to a centralized architecture at a



Garcia-Morchon, et al.  Expires January 12, 2012               [Page 16]


Internet-Draft     Security Considerations for the IoT         July 2011


   later point in time, allowing for central or remote management.

5.2.2.  Bootstrapping a thing's identity and keying materials

   Bootstrapping refers to the process by which a device is associated
   to another one, to a network, or to a system.  The way it is
   performed depends upon the architecture: centralized or distributed.
   It is important to realize that bootstrapping may involve different
   types of information, ranging from network parameters and information
   on device capabilities and their presumed functionality, to
   management information related to, e.g., resource scheduling and
   trust initialization/management.  Furthermore, bootstrapping may
   occur in stages during the lifecycle of a device and may include
   provisioning steps already conducted during device manufacturing
   (e.g., imprinting a unique identifier or a root certificate into a
   device during chip testing), further steps during module
   manufacturing (e.g., setting of application-based configurations,
   such as temperature read-out frequencies and push-thresholds), during
   personalization (e.g., fine-tuned settings depending on installation
   context), during hand-over (e.g., transfer of ownership from supplier
   to user), and, e.g., in preparation of operation in a specific
   network.  In what follows, we focus on bootstrapping of security-
   related information, since bootstrapping of all other information can
   be conducted as ordinary secured communications, once a secure and
   authentic channel between devices has been put in place.

   In a distributed approach, a Diffie-Hellman type of handshake can
   allow two peers to agree on a common secret.  In general, IKEv2, HIP,
   TLS, DTLS, can perform key exchanges and the setup of security
   associations without online connections to a trust center.  If we do
   not consider the resource limitations of things, certificates and
   certificate chains can be employed to securely communicate
   capabilities in such a decentralized scenario.  HIP and Diet HIP do
   not directly use certificates for identifying a host, however
   certificate handling capabilities exist for HIP and the same protocol
   logic could be used for Diet HIP.  It is noteworthy, that Diet HIP
   does not require a host to implement cryptographic hashes.  Hence,
   some lightweight implementations of Diet HIP might not be able to
   verify certificates unless a hash function is implemented by the
   host.

   In a centralized architecture, preconfigured keys or certificates
   held by a thing can be used for the distribution of operational keys
   in a given security domain.  A current proposal [ID-OFlynn] refers to
   the use of PANA for the transport of EAP messages between the PANA
   client (the joining thing) and the PANA Authentication Agent (PAA),
   the 6LBR.  EAP is thereby used to authenticate the identity of the
   joining thing.  After the successful authentication, the PANA PAA



Garcia-Morchon, et al.  Expires January 12, 2012               [Page 17]


Internet-Draft     Security Considerations for the IoT         July 2011


   provides the joining thing with fresh network and security
   parameters.

   IKEv2, HIP, TLS, and DTLS could be applied as well for the transfer
   of configuration parameters in a centralized scenario.  While HIP's
   cryptographic secret identifies the thing, the other protocols do not
   represent primary identifiers but are used instead to bind other
   identifiers such as the operation keys to the public-key identities.

   In addition to the protocols, operational aspects during
   bootstrapping are of key importance as well.  Many other standard
   Internet protocols assume that the identity of a host is either
   available by using secondary services like certificate authorities or
   secure name resolution (e.g., DNSsec) or can be provided over a side
   channel (entering passwords via screen and keyboard).  While these
   assumptions may hold in traditional networks, intermittent
   connectivity, localized communication, and lack of input methods
   complicate the situation for the IoT.

   The order in which the things within a security domain are
   bootstrapped plays an important role as well.  In [ID-Duffy], the
   PANA relay element is introduced, relaying PANA messages between a
   PaC (joining thing) and PAA of a segment [ID-OFlynn].  This approach
   forces commissioning based on distance to PAA, i.e., things can only
   be bootstrapped hop-by-hop starting from those closer to the PAA, all
   things that are 1-hop away are bootstrapped first, followed by those
   that are 2-hop away, and so on.  Such an approach might impose
   important limitations on actual use cases in which, e.g., an
   installer without technical background has to roll-out the system.

5.2.3.  Privacy-aware Identification

   During the last years, the introduction of RFID tags has raised
   privacy concerns because anyone might access and track tags.  As the
   IoT involves not only passive devices, but also includes active and
   sensing devices, the IoT might irrupt even deeper in people's privacy
   spheres.  Thus, IoT protocols should be designed to avoid these
   privacy threats during bootstrapping and operation where deemed
   necessary.  In H2T and T2T interactions, privacy-aware identifiers
   might be used to prevent unauthorized user tracking.  Similarly,
   authentication can be used to prove membership of a group without
   revealing unnecessary individual information.

   TLS and DTLS provide the option of only authenticating the responding
   host.  This way, the initiating host can stay anonymous.  If
   authentication for the initiating host is required as well, either
   public-key certificates or authentication via the established
   encrypted payload channel can be employed.  Such a setup allows to



Garcia-Morchon, et al.  Expires January 12, 2012               [Page 18]


Internet-Draft     Security Considerations for the IoT         July 2011


   only reveal the responder's identity to possible eavesdroppers.

   HIP and IKEv2 use public-key identities to authenticate the initiator
   of a connection.  These identities could easily be traced if no
   additional protection were in place.  IKEv2 transmits this
   information in an encrypted packet.  Likewise, HIP provides the
   option to keep the identity of the initiator secret from
   eavesdroppers by encrypting it with the symmetric key generated
   during the handshake.  However, Diet HIP cannot provide a similar
   feature because the identity of the initiator simultaneously serves
   as static Diffie-Hellman key.  Note that all discussed solutions
   could use anonymous public-key identities that change for each
   communication.  However, such identity cycling may require a
   considerable computational effort for generating new asymmetric key
   pairs.  In addition to the built-in privacy features of the here
   discussed protocols, a large body of anonymity research for key
   exchange protocols exists.  However, the comparison of these
   protocols and protocol extensions is out of scope for this work.

5.3.  Operation

   After the bootstrapping phase, the system enters the operational
   phase.  During the operational phase, things can relate to the state
   information created during the bootstrapping phase in order to
   exchange information securely and in an authenticated fashion.  In
   this section, we discuss aspects of communication patterns and
   network dynamics during this phase.

5.3.1.  End-to-End Security

   Providing end-to-end security is of great importance to address and
   secure individual T2T or H2T communication within one IoT domain.
   Moreover, end-to-end security associations are an important measure
   to bridge the gap between the IoT and the Internet.  IKEv2 and HIP,
   TLS and DTLS provide end-to end security services including peer
   entity authentication, end-to-end encryption and integrity protection
   above the network layer and the transport layer respectively.  Once
   bootstrapped, these functions can be carried out without online
   connections to third parties, making the protocols applicable for
   decentralized use in the IoT.  However, protocol translation by
   intermediary nodes may invalidate end-to-end protection measures (see
   Section 5.1).

5.3.2.  Group Membership and Security

   In addition to end-to-end security, group key negotiation is an
   important security service for the T2Ts and Ts2T communication
   patterns in the IoT as efficient local broadcast and multicast relies



Garcia-Morchon, et al.  Expires January 12, 2012               [Page 19]


Internet-Draft     Security Considerations for the IoT         July 2011


   on symmetric group keys.

   All discussed protocols only cover unicast communication and
   therefore do not focus on group-key establishment.  However, the
   Diffie-Hellman keys that are used in IKEv2 and HIP could be used for
   group Diffie-Hellman key-negotiations.  Conceptually, solutions that
   provide secure group communication at the network layer (IPsec/IKEv2,
   HIP/Diet HIP) may have an advantage regarding the cryptographic
   overhead compared to application-focused security solutions (TLS/
   DTLS).  This is due to the fact that application-focused solutions
   require cryptographic operations per group application, whereas
   network layer approaches may allow to share secure group associations
   between multiple applications (e.g., for neighbor discovery and
   routing or service discovery).  Hence, implementing shared features
   lower in the communication stack can avoid redundant security
   measures.

   A number of group key solutions have been developed in the context of
   the IETF working group MSEC in the context of the MIKEY architecture
   [WG-MSEC][RFC4738].  These are specifically tailored for multicast
   and group broadcast applications in the Internet and should also be
   considered as candidate solutions for group key agreement in the IoT.
   The MIKEY architecture describes a coordinator entity that
   disseminates symmetric keys over pair-wise end-to-end secured
   channels.  However, such a centralized approach may not be applicable
   in a distributed environment, where the choice of one or several
   coordinators and the management of the group key is not trivial.

5.3.3.  Mobility and IP Network Dynamics

   It is expected that many things (e.g., wearable sensors, and user
   devices) will be mobile in the sense that they are attached to
   different networks during the lifetime of a security association.
   Built-in mobility signaling can greatly reduce the overhead of the
   cryptographic protocols because unnecessary and costly re-
   establishments of the session (possibly including handshake and key
   agreement) can be avoided.  IKEv2 supports host mobility with the
   MOBIKE [RFC4555][RFC4621] extension.  MOBIKE refrains from applying
   heavyweight cryptographic extensions for mobility.  However, MOBIKE
   mandates the use of IPsec tunnel mode which requires to transmit an
   additional IP header in each packet.  This additional overhead could
   be alleviated by using header compression methods or the Bound End-
   to-End Tunnel (BEET) mode [ID-Nikander], a hybrid of tunnel and
   transport mode with smaller packet headers.

   HIP offers a simple yet effective mobility management by allowing
   hosts to signal changes to their associations [RFC5206].  However,
   slight adjustments might be necessary to reduce the cryptographic



Garcia-Morchon, et al.  Expires January 12, 2012               [Page 20]


Internet-Draft     Security Considerations for the IoT         July 2011


   costs, for example, by making the public-key signatures in the
   mobility messages optional.  Diet HIP does not define mobility yet
   but it is sufficiently similar to HIP to employ the same mechanisms.
   TLS and DTLS do not have standards for mobility support, however,
   work on DTLS mobility exists in the form of an Internet draft
   [ID-Williams].  The specific need for IP-layer mobility mainly
   depends on the scenario in which nodes operate.  In many cases,
   mobility support by means of a mobile gateway may suffice to enable
   mobile IoT networks, such as body sensor networks.  However, if
   individual things change their point of network attachment while
   communicating, mobility support may gain importance.


6.  Security Suites for the IP-based Internet of Things

   Different applications have different security requirements and needs
   and, depending on various factors, such as device capability,
   availability of network infrastructure, security services needed,
   usage, etc., the required security protection may vary from "no
   security" to "full-blown security".  For example, applications may
   have different needs regarding authentication and confidentiality.
   While some application might not require any authentication at all,
   others might require strong end-to-end authentication.  In terms of
   secure bootstrapping of keys, some applications might assume the
   existence and online availability of a central key-distribution-
   center (KDC) within the 6LoWPAN network to distribute and manage
   keys; while other applications cannot rely on such a central party or
   their availability.

   Thus, it is essential to define security profiles to better tailor
   security solutions for different applications with the same
   characteristics and requirements.  This provides a means of grouping
   applications into profiles and then defines the minimal required
   security primitives to enable and support the security needs of the
   profile.  The security elements in a security profile can be
   classified according to Section 3.1, namely:

   1   Security architecture,

   2   Security model,

   3   Security bootstrapping,

   4   Network security, and







Garcia-Morchon, et al.  Expires January 12, 2012               [Page 21]


Internet-Draft     Security Considerations for the IoT         July 2011


   5   Application security.

   In order to (i) guide the design process by identifying open gaps;
   (ii) allow for later interoperability; and (iii) prevent possible
   security misconfigurations, this section defines a number of generic
   security profiles with different security needs.  Each security
   profile is identified by:

   1   a short description,

   2   an exemplary application that might use/require such a security
       policy,

   3   the security requirements for each of the above security aspects
       according to our classification in Section 3.1.

   These security profiles can serve to guide the standardization
   process, since these explicitly describe the basic functionalities
   and protocols required to get different use cases up and running.  It
   can allow for later interoperability since different manufacturers
   can describe the implemented security profile in their products.
   Finally, the security profiles can avoid possible security
   misconfigurations, since each security profile can be bound to a
   different application area so that it can be clearly defined which
   security protocols and approaches can be applied where and under
   which circumstances.

   Note that each of these security profiles aim at summarizing the
   required security requirements for different applications and at
   providing a set of initial security features.  In other words, these
   profiles reflect the need for different security configurations,
   depending on the threat and trust models of the underlying
   applications.  In this sense, this section does not provide an
   overview of existing protocols as done in previous sections of the
   Internet Draft, but it rather explicitly describes what should be in
   place to ensure secure system operation.  Observe also that this list
   of security profiles is not exhaustive and that it should be
   considered just as an example not related to existing legal
   regulations for any existing application.  These security profiles
   are summarized in the table below:











Garcia-Morchon, et al.  Expires January 12, 2012               [Page 22]


Internet-Draft     Security Considerations for the IoT         July 2011


             +---------------------------------------------------------+
             | Application     |          Description                  |
  +----------+---------------------------------------------------------+
  |SecProf_0 |No security needs|6LoWPAN/CoAP is used without security  |
  +----------+-----------------+---------------------------------------+
  |SecProf_1 |Home usage       |Enables operation between home things  |
  |          |                 |without interaction with central device|
  +----------+-----------------+---------------------------------------+
  |SecProf_2 |Managed Home     |Enables operation between home things. |
  |          | usage           |Interaction with a central and local   |
  |          |                 |device is possible                     |
  +----------+-----------------+---------------------------------------+
  |SecProf_3 |Industrial usage |Enables operation between things.      |
  |          |                 |Relies on central (local or backend)   |
  |          |                 |device for security                    |
  +----------+-----------------+---------------------------------------+
  |SecProf_4 |Industrial usage |Enables ad-hoc operation between things|
  |          |                 |and relies on central device or        |
  |          |                 |on a collection of control devices     |
  +----------+-----------------+---------------------------------------+


                 Security profiles and application areas.

                                 Figure 5

   The classification in the table considers different potential
   applications and situations in which their security needs change due
   to different operational features (network size, existence of a
   central device, connectivity to the Internet, importance of the
   exchanged information, etc) or threat model (what are the assets that
   an attacker looks for).  As already pointed out, this set of
   scenarios is exemplary and they should be further discussed based on
   a broader consensus.

   SecProf_0 is meant for any application that does not require
   security.  Examples include applications during system development,
   system testing, or some very basic applications in which security is
   not required at all.

   The second security suite (SecProf_1) is catered for environments in
   which 6LoWPAN/CoAP can be used to enable communication between things
   in an ad-hoc manner and the security requirements are minimal.  An
   example, is a home application in which two devices should exchange
   information and no further connection with other devices (local or
   with a backend) is required.  In this scenario, value of the
   exchanged information is low and that it usually happen in a confined
   room, thus, it is possible to have a short period of time during



Garcia-Morchon, et al.  Expires January 12, 2012               [Page 23]


Internet-Draft     Security Considerations for the IoT         July 2011


   which initial secrets can be exchanged in the clear.  Due to this
   fact, there is no requirement to enable devices from different
   manufacturers to interoperate in a secure way (keys are just
   exchanged).  The expected network size of applications using this
   profile is expected to be small such that the provision of network
   security, e.g., secure routing, is of low importance.

   The next security suite (SecProf_2) represents an evolution of
   SecProf_1 in which, e.g., home devices, can be managed locally.  A
   first possibility for the securing domain management refers to the
   creation of a centrally managed security domain without any
   connectivity to the Internet.  The central device used for management
   can serve as, e.g., a key distribution center including policies for
   key update, storage, etc.  The presence of a central device can help
   in the management of larger networks.  Network security becomes more
   relevant in this scenario since the 6LoWPAN/CoAP network can be prone
   to Denial of Service attacks (e.g., flooding if L2 is not protected)
   or routing attacks.

   SecProf_3 considers that a central device is always required for
   network management.  Example applications of this profile include
   building control and automation, sensor networks for industrial use,
   environmental monitoring, etc.  As before, the network manager can be
   located in the 6LoWPAN/CoAP network and handle key management.  In
   this case, the first association of devices to the network is
   required to be done in a secure way.  In other words, the threat
   model requires measurements to protect against any vulterable period
   of time.  This step can involve the secure transmission of keying
   materials used for network security at different layers.  The
   information exchanged in the network is considered to be valuable and
   it should be protected in the sense of pairwise links.  Commands
   should be secured and broadcast should be secured with entity
   authentication [ID-CoAPMulticast].  Network should be protected from
   attacks.  A further extension to this use case is to allow for remote
   management.  A "backend manager" is in charge of managing SW or
   information exchanged or collected within the 6LoWPAN/CoAP network.
   This requires connection of devices to the Internet over a 6LBR
   involving a number of new threats that were not present before.  A
   list of potential attacks include: resource-exhaustion attacks from
   the Internet; amplification attacks; trust issues related a HTTP-CoAP
   proxy [ID-proHTTPCoAP], etc.  This use case requires protecting the
   communication from a device in the backend to a device in the
   6LoWPAN/CoAP network, end-to-end.  This use case also requires
   measures to provide the 6LBR with the capability of dropping fake
   requests coming from the Internet.  This becomes especially
   challenging when the 6LBR is not trusted and access to the exchanged
   information is limited; and even more in the case of a HTTP-CoAP
   proxy since protocol translation is required.  This use case should



Garcia-Morchon, et al.  Expires January 12, 2012               [Page 24]


Internet-Draft     Security Considerations for the IoT         July 2011


   take care of protecting information accessed from the backend due to
   privacy issues (e.g., information such as type of devices, location,
   usage, type and amount of exchanged information, or mobility patterns
   can be gathered at the backend threatening the privacy sphere of
   users) so that only required information is disclosed.

   The last security suite (SecProf_4) essentially represents
   interoperability of all the security profiles defined previously.  It
   considers applications with some additional requirements regarding
   operation such as: (i) ad-hoc establishment of security relationships
   between things (potentially from different manufacturers) in non-
   secure environments or (ii) dynamic roaming of things between
   different 6LoWPAN/CoAP security domains.  Such operational
   requirements pose additional security requirements, e.g., in addition
   to secure bootstrapping of a device within a 6LoWPAN/CoAP security
   domain and the secure transfer of network operational key, there is a
   need to enable inter-domains secure communication to facilitate data
   sharing.

   The above description illustrates how different applications of
   6LoWPAN/CoAP networks involve different security needs.  In the
   following sections, we summarize the expected security features or
   capabilities for each the security profile with regards to "Security
   Architecture", "Thing's Model", "Security Bootstrapping and
   Management", "Network Security", and "Application Security".

6.1.  Security Architecture

   As already pointed out, the term "Security Architecture" refers to
   the way security is handled.  This has many implications regarding
   key management, access control, or security scope.  A distributed (or
   ad-hoc) architecture means that security relationships between things
   are setup on the fly between a number of objects and kept in a
   decentralized fashion.  A locally centralized security architecture
   means that a central device, e.g., the 6LBR, handles the keys for all
   the devices in the security domain.  Alternatively, a central
   security architecture could also refer to the fact that smart objects
   are managed from the backend.  The security architecture for the
   different security profiles is as follows.












Garcia-Morchon, et al.  Expires January 12, 2012               [Page 25]


Internet-Draft     Security Considerations for the IoT         July 2011


             +---------------------------------------------------------+
             |                 Description                             |
  +----------+---------------------------------------------------------+
  |SecProf_0 |                     -                                   |
  +----------+---------------------------------------------------------+
  |SecProf_1 |                Distributed                              |
  +----------+---------------------------------------------------------+
  |SecProf_2 |     Distributed able to move centralized (local)        |
  +----------+---------------------------------------------------------+
  |SecProf_3 |         Centralized (local &/or backend)                |
  +----------+---------------------------------------------------------+
  |SecProf_4 |      Distributed & centralized (local &/or backend)     |
  +----------+---------------------------------------------------------+


          Security architectures in different security profiles.

                                 Figure 6

   In "SecProf_1", management mechanisms for the distributed assignment
   and management of keying materials is required.  Since this is a very
   simple use case, access control to the security domain can be enabled
   by means of a common secret known to all devices.  In the next
   security suite (SecProf_2), a central device can assume key
   management responsibilities and handle the access to the network.
   The last two security suites (SecProf_3 and SecProf_4) further allow
   for the management of devices or some keying materials from the
   backend.

6.2.  Thing's model

   The thing's model refers to the security requirements within a thing.
   While some applications might involve very resource-constrained
   things such as, e.g., a humidity, pollution sensor, other
   applications might target more powerful devices aimed at more exposed
   applications.  Security parameters such as keying materials,
   certificates, etc must be protected in the thing, for example by
   means of tamper-resistant hardware.  Keys may be shared across a
   thing's networking stack to provide authenticity and confidentiality
   in each networking layer.  This would minimize the number of key
   establishment/agreement handshake and incurs less overhead for
   constrained thing.  While more advance applications may require key
   separation at different networking layers, and possibly process
   separation and sandboxing to isolate one application from another.
   In this sense, this section reflects the fact that different
   applications require different sets of security mechanisms.





Garcia-Morchon, et al.  Expires January 12, 2012               [Page 26]


Internet-Draft     Security Considerations for the IoT         July 2011


             +---------------------------------------------------------+
             |Description                                              |
  +----------+---------------------------------------------------------+
  |SecProf_0 |  -                                                      |
  +----------+---------------------------------------------------------+
  |SecProf_1 |No tamper resistant                                      |
  |          |Sharing keys between layers                              |
  +----------+---------------------------------------------------------+
  |SecProf_2 |No tamper resistant                                      |
  |          |Sharing keys between layers                              |
  +----------+---------------------------------------------------------+
  |SecProf_3 |Tamper resistant                                         |
  |          |Key and process separation                               |
  +----------+---------------------------------------------------------+
  |SecProf_4 |(no) Tamper resistant                                    |
  |          |Sharing keys between layers/Key and process separation   |
  |          |Sandbox                                                  |
  +----------+---------------------------------------------------------+


           Thing security models in different security profiles.

                                 Figure 7

6.3.  Security Bootstrapping and Management

   Bootstrapping refers to the process by which a thing initiates its
   life within a security domain and includes the initialization of
   secure and/or authentic parameters bound to the thing and at least
   one other device in the network.  Here, different mechanisms may be
   used to achieve confidentiality and/or authenticity of these
   parameters, depending on deployment scenario assumptions and the
   communication channel(s) used for passing these parameters.  The
   simplest mechanism for initial set-up of secure and authentic
   parameters is via communication in the clear using a physical
   interface (USB, wire, chip contact, etc.).  Here, one commonly
   assumes this communication channel to be secure, since eavesdropping
   and/or manipulation of this interface would generally require access
   to the physical medium and, thereby, to one or both of the devices
   themselves.  This mechanism was used with the so-called original
   "resurrecting duckling" model, as introduced in [PROC-Stajano].  This
   technique may also be used securely in wireless, rather than wired,
   set-ups, if the prospect of eavesdropping and/or manipulating this
   channel are dim (a so-called "location-limited" channel [PROC-
   Smetters-04, PROC-Smetters-02]).  Examples hereof include the
   communication of secret keys in the clear using near field
   communication (NFC) - where the physical channel is purported to have
   very limited range (roughly 10cm), thereby thwarting eavesdropping by



Garcia-Morchon, et al.  Expires January 12, 2012               [Page 27]


Internet-Draft     Security Considerations for the IoT         July 2011


   far-away adversarial devices, and in-the-clear communication during a
   small time window (triggered by, e.g., a button-push) - where
   eavesdropping is presumed absent during this small time window.  With
   the use of public-key based techniques, assumptions on the
   communication channel can be relaxed even further, since then the
   cryptographic technique itself provides for confidentiality of the
   channel set-up and the location-limited channel - or use of
   certificates - rules out man-in-the-middle attacks, thereby providing
   authenticity [PROC-Smetters-02].  The same result can be obtained
   using password-based public-key protocols [SPEKE], where authenticity
   depends on the (weak) password not being guessed during execution of
   the protocol.  It should be noted that while most of these techniques
   realize a secure and authentic channel for passing parameters, these
   generally do not provide for explicit authorization.  As an example,
   with use of certificate-based public-key based techniques, one may
   obtain hard evidence on whom one shares secret and/or authentic
   parameters with, but this does not answer the question as to whether
   one wishes to share this information at all with this specifically
   identified device (the latter usually involves a human-decision
   element).  Thus, the bootstrapping mechanisms above should generally
   be complemented by mechanisms that regulate (security policies for)
   authorization.  Furthermore, the type of bootstrapping is very
   related to the required type of security architecture.  Distributed
   bootstrapping means that a pair of devices can setup a security
   relationship on the fly, without interaction with a central device
   elsewhere within the system.  In many cases, it is handy to have a
   distributed bootstrapping protocol based on existing security
   protocols (e.g., DTLS in CoAP) required for other purposes: this
   reduces the amount of required software.  A centralized boostrapping
   protocol is one in which a central device manages the security
   relationships within a network.  This can happen locally, e.g.,
   handled by the 6LBR, or remotely, e.g., from a server connected via
   the Internet.  The security bootstrapping for the different security
   profiles is as follows.

















Garcia-Morchon, et al.  Expires January 12, 2012               [Page 28]


Internet-Draft     Security Considerations for the IoT         July 2011


             +---------------------------------------------------------+
             |Description                                              |
  +----------+---------------------------------------------------------+
  |SecProf_0 |  -                                                      |
  +----------+---------------------------------------------------------+
  |SecProf_1 |* Distributed, (e.g., Resurrecting duckling)             |
  |          |* First key distribution happens in the clear            |
  +----------+---------------------------------------------------------+
  |SecProf_2 |* Distributed, (e.g., Resurrecting duckling )            |
  |          |* Centralized (local), 6LBR acts as KDC                  |
  |          |* First key distribution occurs in the clear, if the KDC |
  |          |  is available, the KDC can manage network access        |
  +----------+---------------------------------------------------------+
  |SecProf_3 |* 6LBR acts as KDC. It handles node joining, provides    |
  |          |them with keying material from L2 to application layers. |
  |          |* Bootstrapping occurs in a secure way - either in secure|
  |          |  environment or the security mechanisms ensure that     |
  |          |  eavesdropping is not possible.                         |
  |          |* KDC and backend can implement secure methods for       |
  |          |  network access                                         |
  +----------+---------------------------------------------------------+
  |SecProf_4 |* As for SecProf_3.                                      |
  +----------+---------------------------------------------------------+


       Security boostrapping methods in different security profiles

                                 Figure 8

6.4.  Network Security

   Network security refers to the mechanisms used to ensure the secure
   transport of 6LoWPAN frames.  This involves a multitude of issues
   ranging from secure discovery, frame authentication, routing
   security, detection of replay, secure group communication, etc.
   Network security is important to thwart potential attacks such as
   denial-of-service (e.g., through message flooding) or routing
   attacks.

   The Internet Draft [ID-Tsao] presents a very good overview of attacks
   and security needs classified according to the confidentiality,
   integrity, and availability needs.  A potential limitation is that
   there exist no differentiation in security between different use
   cases and the framework is limited to L3.  The security suites
   gathered in the present ID aim at solving this by allowing for a more
   flexible selection of security needs at L2 and L3.





Garcia-Morchon, et al.  Expires January 12, 2012               [Page 29]


Internet-Draft     Security Considerations for the IoT         July 2011


             +---------------------------------------------------------+
             |Description                                              |
  +----------+---------------------------------------------------------+
  |SecProf_0 |  -                                                      |
  +----------+---------------------------------------------------------+
  |SecProf_1 |* Network key creating a home security domain at L2      |
  |          |  ensuring authentication and freshness of exchanged data|
  |          |* Secure multicast does not ensure origin authentication |
  |          |* No need for secure routing at L3                       |
  +----------+---------------------------------------------------------+
  |SecProf_2 |* Network key creating a home security domain at L2      |
  |          |  ensuring authentication and freshness of exchanged data|
  |          |* Secure multicast does not ensure origin authentication |
  |          |* No need for secure routing at L3                       |
  +----------+---------------------------------------------------------+
  |SecProf_3 |* Network key creating an industry security domain at L2 |
  |          |  ensuring authentication and freshness of exchanged data|
  |          |* Secure routing needed (integrity & availability) at L3 |
  |          |  within 6LoWPAN/CoAP                                    |
  |          |* Secure multicast requires origin authentication        |
  +----------+---------------------------------------------------------+
  |SecProf_4 |* Network key creating an industry security domain at L2 |
  |          |  ensuring authentication and freshness of exchanged data|
  |          |* Inter-domain authentication/secure handoff             |
  |          |* Secure routing needed at L3                            |
  |          |* Secure multicast requires origin authentication        |
  |          |* 6LBR (HTTP-CoAP proxy) requires verification of        |
  |          |  forwarded messages and messages leaving or entering the|
  |          |  6LoWPAN/CoAP network.                                  |
  +----------+---------------------------------------------------------+


           Network security needs in different security profiles

                                 Figure 9

6.5.  Application Security

   Application security refers to the security mechanisms running at
   application layer.  In the context of 6LoWPAN/CoAP networks, this
   refers firstly to the configuration of DTLS used to protect the
   exchanged information.  It further refers to the measures required in
   potential translation points (e.g., a (HTTP-CoAP) proxy) where
   information can be collected and the privacy sphere of users in a
   given security domain is endangered.  Application security for the
   different security profiles is as follows.





Garcia-Morchon, et al.  Expires January 12, 2012               [Page 30]


Internet-Draft     Security Considerations for the IoT         July 2011


             +---------------------------------------------------------+
             |Description                                              |
  +----------+---------------------------------------------------------+
  |SecProf_0 |  -                                                      |
  +----------+---------------------------------------------------------+
  |SecProf_1 |  -                                                      |
  +----------+---------------------------------------------------------+
  |SecProf_2 |* DTLS is used for end-to-end application security       |
  |          |  between management device and things and between things|
  |          |* DTLS ciphersuites configurable to provide              |
  |          |  confidentiality and/or authentication and/or freshness |
  |          |* Key transport and policies for generation of session   |
  |          |  keys are required                                      |
  +----------+---------------------------------------------------------+
  |SecProf_3 |* Requirements as in SecProf_2 and                       |
  |          |* DTLS is used for end-to-end application security       |
  |          |  between management device and things and between things|
  |          |* Communication between KDC and each thing secured by    |
  |          |  pairwise keys                                          |
  |          |* Group keys for communication in a group distributed    |
  |          |  by KDC                                                 |
  |          |* Privacy protection should be provided in translation   |
  |          |  points                                                 |
  +----------+---------------------------------------------------------+
  |SecProf_4 |* Requirements as in SecProf_3 and                       |
  |          |* TLS or DTLS can be used to send commands from the      |
  |          |  backend to the 6LBR or things in a 6LoWPAN/CoAP network|
  |          |* End-to-end secure connectivity from backend required   |
  |          |* Secure broadcast in a network from backend required    |
  +----------+---------------------------------------------------------+


        Application security methods in different security profiles

                                 Figure 10

   The first two security profiles do not include any security at the
   application layer.  The reason is that, in the first case, security
   is not provided and, in the second case, it seems reasonable to
   provide basic security at L2.  In the third security profile
   (SecProf_2), DTLS becomes the way of protecting messages at
   application layer between things and with the KDC running on a 6LBR.
   A key option refers to the capability of easily configuring DTLS to
   provide a subset of security services (e.g., some applications do not
   require confidentiality) to reduce the impact of security in the
   system operation of resource-constrained things.  In addition to
   basic key management mechanisms running within the KDC, communication
   protocols for key transport or key update are required.  These



Garcia-Morchon, et al.  Expires January 12, 2012               [Page 31]


Internet-Draft     Security Considerations for the IoT         July 2011


   protocols could be based on DTLS.  The next security suite
   (SecProf_3) requires pairwise keys for communication between things
   within the security domain.  Furthermore, it can involve the usage of
   group keys for group communication.  If secure multicast is
   implemented, it should provide origin authentication.  Finally,
   privacy protection should be taken into account to limit access to
   valuable information -- such as identifiers, type of collected data,
   traffic patterns -- in potential translation points (proxies) or in
   the backend.  The last security suite (SecProf_4) further extends the
   previous set of requirements considering security mechanisms to deal
   with translations between TLS and DTLS or for the provision of secure
   multicast within a 6LoWPAN/CoAP network from the backend.


7.  Next Steps towards a Flexible and Secure Internet of Things

   As evident from the discussions of the lifecycle of a thing, the IP
   security challenges in the Internet of Things, and the security
   suits, it is important to define specific steps towards a feasible
   security concept for the IP-based IoT with special emphasis on the
   employed security protocols.  Due to the resource constraints of IoT
   devices and the specific limitations of IoT network scenarios, this
   security concept will differ from today's Internet security
   architectures.  Therefore, focusing on the protection of a single
   protocol such as CoAP will not suffice.  The aim is to put together
   the key security aspects of IoT, making clear how the architectural,
   operational, and technical aspects impact the protocol design and
   choices.  Next, we list the most important topics towards achieving
   this goal.

   1   Performance assessment of candidate IP security protocols on
       resource constrained devices in the context of the IoT and its
       requirements.  To the best of our knowledge, the implementation
       feasibility of existing protocols on constrained devices (e.g.,
       8-bit CPU and limited RAM budget) has not been fully assessed so
       far.  Hence, a performance evaluation of candidate security
       solutions is required in terms of CPU and communication overhead,
       energy consumption, and memory requirements for a better
       understanding of the impact of existing IP security solutions on
       the IoT ecosystem.  Such analysis should be carried out on a
       well-defined set of standard node platforms as a reference for
       the subsequent performance evaluation and comparison.  This
       benchmarking should not just involve cryptographic constructs and
       protocols, but also include implementation benchmarks for
       security policies, since these may impact overall system
       performance and network traffic (an example of this would be
       policies including frequent key updates, which would necessitate
       securely propagating these to all devices in the network).  These



Garcia-Morchon, et al.  Expires January 12, 2012               [Page 32]


Internet-Draft     Security Considerations for the IoT         July 2011


       results then serve as a basis for the design of a suitable
       security architecture for the IoT.

   2   In-depth evaluation of the security mechanisms employed in IP
       security protocols in order to design possible adaptations for
       these protocols fitting the IoT requirements.  Here, we focus on
       the discussion of the challenges for IP security solutions in the
       IoT and hint at IP security protocol properties that violate IoT
       requirements.  Possible adaptations should allow existing
       protocols to not only fulfill the performance requirements of the
       IoT, but also to provide the security properties they have been
       designed for in the context of the Internet architecture.  An
       example might be the incorporation of new security mechanisms for
       IoT-specific DoS protection.  This is due to the fact that
       Internet protocols have been designed with comparably high
       assumptions regarding MTU size.  However, IEEE 802.15.4 networks
       have physical packets of 127 B. Thus, IoT candidate security
       solutions should avoid prohibitively long messages in order to
       (i) prevent high resource usage in the network and individual
       nodes due to fragmentation, and (ii) mitigate attackers from
       launching fragmentation-based DoS attacks.

   3   Definition of a flexible security architecture matching the
       different operational scenarios during the lifecycle of a thing.
       IoT scenarios might comprise both centralized and ad-hoc security
       domains.  Hence, the IoT security architecture should incorporate
       the properties of a fully centralized architecture as well as
       allow devices to be paired together initially without the need
       for a trusted third party to create ad-hoc security domains
       comprising a number of nodes.  These ad-hoc security domains
       could then be added later to the Internet via a single, central
       node or via a collection of nodes (thus, facilitating
       implementation of a centralized or distributed architecture,
       respectively).  The architecture should also facilitate
       scenarios, where an operational network may be partitioned or
       merged, and where hand-over of control functionality of a single
       device or even of a complete subnetworks may occur over time may
       (if only to facilitate smooth device repair/replacement without
       the need for a hard "system reboot" or to realize ownership
       transfer).  Thus, the IoT can transparently and effortlessly move
       from an ad-hoc security domain to a centrally-managed single
       security domain or a heterogeneous collection of security domains
       and vice-versa.  We propose to further define the security suits
       included in Section 6, and focus first in simple deployment with
       basic security needs, extending them later to more complex
       deployments.





Garcia-Morchon, et al.  Expires January 12, 2012               [Page 33]


Internet-Draft     Security Considerations for the IoT         July 2011


   4   Selection and coordination of an IP security suite.  With a good
       understanding of IP security in the IoT and adapted candidate
       solutions, a security protocol suite can be chosen that fulfills
       the IoT requirements during the different phases in the lifecycle
       of a thing.  Such a protocol suite must be closely interconnected
       across layers to ensure security efficiency as resource
       limitations make it challenging to secure all layers
       individually.  In this regard, securing only the application
       layer leaves the network open to attacks, while security focused
       only at the network and link layer might introduce possible
       inter-application security threats.  Hence, the limited resources
       of things may require sharing of keying material and common
       security mechanisms between layers.  It is required that the data
       format of the keying material is standardized to facilitate cross
       layer interaction.  Additionally, cross layer concepts should be
       considered for an IoT-driven re-design of Internet security
       protocols.  To our knowledge, such a "holistic approach to
       security architectural design is still a nascent area.

   5   Definition of a standard lightweight bootstrapping protocol for
       the commissioning of devices with keying materials, addresses,
       and network parameters in order to allow for secure network
       communication.  The bootstrapping protocol should be reusable and
       lightweight to fit into small devices.  Such a standard
       bootstrapping protocol must allow for commissioning of devices
       from different manufacturers in both centralized and ad-hoc
       scenarios and facilitate transitions of control devices during
       the device's and system's lifecycle.  Examples of the latter
       include scenarios that involve hand-over of control, e.g., from a
       configuration device to an operational management console and
       involving replacement of such a control device.  A key challenge
       for secure bootstrapping of a device in a centralized
       architecture is that it is currently not feasible to commission a
       device when the adjacent devices have not been commissioned yet.


8.  Security Considerations

   This document reflects upon the requirements and challenges of the
   security architectural framework for Internet of Things.


9.  IANA Considerations

   This document contains no request to IANA.






Garcia-Morchon, et al.  Expires January 12, 2012               [Page 34]


Internet-Draft     Security Considerations for the IoT         July 2011


10.  Acknowledgements

   We gratefully acknowledge feedback and fruitful discussion with
   Tobias Heer and Robert Moskowitz.


11.  References

11.1.  Normative References

   [ID-CoAP]  Shelby, Z., Hartke, K., Bormann, C., and B. Frank,
              "Constrained Application Protocol (CoAP)",
              draft-ietf-core-coap-04 (work in progress), Jan 2011.

   [ID-CoAPMulticast]
              Rahman, A. and E. Dijk, "Group Communication for CoAP",
              draft-rahman-core-groupcomm-05 (work in progress),
              May 2011.

   [ID-Duffy]
              Duffy, P., Chakrabarti, S., Cragie, R., Ohba, Y., and A.
              Yegin, "Protocol for Carrying Authentication for Network
              Access (PANA) Relay Element", draft-ohba-pana-relay-03
              (work in progress), Nov 2010.

   [ID-HIP]   Moskowitz, R., "HIP Diet EXchange (DEX)",
              draft-moskowitz-hip-rg-dex-02 (work in progress),
              Jul 2010.

   [ID-KIM]   Kim, E., Kaspar, D., and J. Vasseur, "Design and
              Application Spaces for 6LoWPANs",
              draft-ietf-6lowpan-usecases-09 (work in progress),
              January 2011.

   [ID-Moskowitz]
              Moskowitz, R., Jokela, P., Henderson, T., and T. Heer,
              "Host Identity Protocol Version 2",
              draft-ietf-hip-rfc5201-bis-03 (work in progress),
              Oct 2010.

   [ID-Nikander]
              Nikander, P. and J. Melen, "A Bound End-to-End Tunnel
              (BEET) mode for ESP", Internet
              Draft draft-nikander-esp-beet-mode-09, Feb 2009.

   [ID-OFlynn]
              O'Flynn, C., Sarikaya, B., Ohba, Y., Cao, Z., and R.
              Cragie, "Security Bootstrapping of Resource-Constrained



Garcia-Morchon, et al.  Expires January 12, 2012               [Page 35]


Internet-Draft     Security Considerations for the IoT         July 2011


              Devices", draft-oflynn-core-bootstrapping-03 (work in
              progress), Nov 2010.

   [ID-Tsao]  Tsao, T., Alexander, R., Dohler, M., Daza, V., and A.
              Lozano, "A Security Framework for Routing over Low Power
              and Lossy Networks", Internet
              Draft draft-ietf-roll-security-framework-04, Jan 2011.

   [ID-Williams]
              Williams, M. and J. Barrett, "Mobile DTLS", Internet
              Draft draft-barrett-mobile-dtls-00, Sept 2009.

   [ID-proHTTPCoAP]
              Castellani, A., Loreto, S., Rahman, A., Fossati, T., and
              E. Dijk, "Best practices for HTTP-CoAP mapping
              implementation", draft-castellani-core-http-mapping-00
              (work in progress), July 2011.

   [RFC3748]  Aboba, B., Blunk, L., Vollbrecht, J., Carlson, J., and H.
              Levkowetz, "Extensible Authentication Protocol (EAP)",
              RFC 3748, June 2004.

   [RFC4246]  Dierks, T. and E. Rescorla, "The Transport Layer Security
              (TLS) Protocol version 1.2", RFC 5246, Aug 2008.

   [RFC4251]  Ylonen, T. and C. Lonvick, "The Secure Shell (SSH)
              Protocol Architecture", RFC 4251, Jan 2006.

   [RFC4306]  Kaufman, C., "Internet Key Exchange (IKEv2) Protocol
              (updated by RFC5282)", RFC 4306, Aug 2008.

   [RFC4555]  Eronen, P., "IKEv2 Mobility and Multihoming Protocol
              (MOBIKE)", RFC 4555, Jun 2006.

   [RFC4621]  Kivinen, T. and H. Tschofenig, "Design of the IKEv2
              Mobility and Multihoming (MOBIKE) Protocol", RFC 4621,
              Aug 2006.

   [RFC4738]  Arkko, J., Carrara, E., Lindholm, F., Naslund, M., and K.
              Norrman, "MIKEY: Multimedia Internet KEYing", RFC 4738,
              Aug 2004.

   [RFC4944]  Montenegro, G., Kushalnagar, N., Hui, J., and D. Culler,
              "Transmission of IPv6 Packets over IEEE 802.15.4
              Networks", RFC 4944, Sept 2007.

   [RFC5191]  Forsberg, D., Ohba, Y., Patil, B., Tschofenig, H., and A.
              Yegin, "Protocol for Carrying Authentication for Network



Garcia-Morchon, et al.  Expires January 12, 2012               [Page 36]


Internet-Draft     Security Considerations for the IoT         July 2011


              Access (PANA)", RFC 5191, May 2008.

   [RFC5201]  Moskowitz, R., Nikander, P., Jokela, P., and T. Henderson,
              "Host Identity Protocol", RFC 5201, Apr 2008.

   [RFC5206]  Nikander, P., Henderson, T., Vogt, C., and J. Arkko, "End-
              Host Mobility and Multi-homing with the Host Identity
              Protocol", RFC 5206, Aug 2006.

   [RFC5238]  Phelan, T., "Datagram Transport Layer Security (DTLS) over
              the Datagram Congestion Control Protocol (DCCP)",
              RFC 5238, May 2008.

   [RFC5246]  Blake-Wilson, S., Bolyard, N., Gupta, V., Hawk, C., and B.
              Moeller, "Elliptic Curve Cryptography (ECC) Cipher Suites
              for Transport Layer Security (TLS)", RFC 5246, May 2006.

   [RFC5903]  Fu, D. and J. Solinas, "Elliptic Curve Groups Modulo a
              Prime (ECP Groups) for IKE and IKEv2", RFC 5903,
              June 2010.

11.2.  Informative References

   [AUTO-ID]  "AUTO-ID LABS", Web http://www.autoidlabs.org/, Sept 2010.

   [BACNET]   "BACnet", Web http://www.bacnet.org/, Feb 2011.

   [DALI]     "DALI", Web http://www.dalibydesign.us/dali.html,
              Feb 2011.

   [JOURNAL-Perrig]
              Perrig, A., Szewczyk, R., Wen, V., Culler, D., and J.
              Tygar, "SPINS: Security protocols for Sensor Networks",
              Journal Wireless Networks, Sept 2002.

   [NIST]     Dworkin, M., "NIST Specification Publication 800-38B",
              2005.

   [PROC-Chan]
              Chan, H., Perrig, A., and D. Song, "Random Key
              Predistribution Schemes for Sensor Networks",
              Proceedings IEEE Symposium on Security and Privacy, 2003.

   [PROC-Gupta]
              Gupta, V., Wurm, M., Zhu, Y., Millard, M., Fung, S., Gura,
              N., Eberle, H., and S. Shantz, "Sizzle: A Standards-based
              End-to-End Security Architecture for the Embedded
              Internet", Proceedings Pervasive Computing and



Garcia-Morchon, et al.  Expires January 12, 2012               [Page 37]


Internet-Draft     Security Considerations for the IoT         July 2011


              Communications (PerCom), 2005.

   [PROC-Smetters-02]
              Balfanz, D., Smetters, D., Steward, P., and H. Chi Wong,
              "Talking To Strangers: Authentication in Ad-Hoc Wireless
              Networks", Paper NDSS, 2002.

   [PROC-Smetters-04]
              Balfanz, D., Durfee, G., Grinter, R., Smetters, D., and P.
              Steward, "Network-in-a-Box: How to Set Up a Secure
              Wireless Network in Under a Minute", Paper USENIX 2004,
              2004.

   [PROC-Stajano-99]
              Stajano, F. and R. Anderson, "Resurrecting Duckling -
              Security Issues for Adhoc Wireless Networks",
              Paper Security Protocols, 7th International Workshop
              Proceedings, Nov 1999.

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119, March 1997.

   [THESIS-Langheinrich]
              Langheinrich, M., "Personal Privacy in Ubiquitous
              Computing", PhD Thesis ETH Zurich, 2005.

   [WG-6LoWPAN]
              "IETF 6LoWPAN Working Group",
              Web http://tools.ietf.org/wg/6lowpan/, Feb 2011.

   [WG-CoRE]  "IETF Constrained RESTful Environment (CoRE) Working
              Group", Web https://datatracker.ietf.org/wg/core/charter/,
              Feb 2011.

   [WG-MSEC]  "MSEC Working Group",
              Web http://datatracker.ietf.org/wg/msec/.

   [ZB]       "ZigBee Alliance", Web http://www.zigbee.org/, Feb 2011.













Garcia-Morchon, et al.  Expires January 12, 2012               [Page 38]


Internet-Draft     Security Considerations for the IoT         July 2011


Authors' Addresses

   Oscar Garcia-Morchon
   Philips Research
   High Tech Campus
   Eindhoven,   5656 AA
   The Netherlands

   Email: oscar.garcia@philips.com


   Sye Loong Keoh
   Philips Research
   High Tech Campus
   Eindhoven,   5656 AA
   The Netherlands

   Email: sye.loong.keoh@philips.com


   Sandeep S. Kumar
   Philips Research
   High Tech Campus
   Eindhoven,   5656 AA
   The Netherlands

   Email: sandeep.kumar@philips.com


   RenA(C) Hummen
   RWTH Aachen University
   Templergraben 55
   Aachen,   52056
   Germany

   Email: rene.hummen@cs.rwth-aachen.de


   Rene Struik
   Struik Security Consultancy
   Toronto,
   Canada

   Email: rstruik.ext@gmail.com







Garcia-Morchon, et al.  Expires January 12, 2012               [Page 39]


Html markup produced by rfcmarkup 1.129b, available from https://tools.ietf.org/tools/rfcmarkup/